Index: /trunk/sources/HeuristicLab.CEDMA.Server/3.3/DispatcherView.Designer.cs
===================================================================
--- /trunk/sources/HeuristicLab.CEDMA.Server/3.3/DispatcherView.Designer.cs	(revision 2377)
+++ /trunk/sources/HeuristicLab.CEDMA.Server/3.3/DispatcherView.Designer.cs	(revision 2378)
@@ -51,4 +51,5 @@
       this.testLabel = new System.Windows.Forms.Label();
       this.setAllButton = new System.Windows.Forms.Button();
+      this.setAlgorithmDefault = new System.Windows.Forms.Button();
       this.splitContainer.Panel1.SuspendLayout();
       this.splitContainer.Panel2.SuspendLayout();
@@ -129,4 +130,5 @@
       // 
       this.learningTaskGroupBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
+      this.learningTaskGroupBox.Controls.Add(this.setAlgorithmDefault);
       this.learningTaskGroupBox.Controls.Add(this.autoregressiveLabel);
       this.learningTaskGroupBox.Controls.Add(this.classificationRadioButton);
@@ -178,5 +180,5 @@
       this.algorithmsListBox.Location = new System.Drawing.Point(6, 155);
       this.algorithmsListBox.Name = "algorithmsListBox";
-      this.algorithmsListBox.Size = new System.Drawing.Size(331, 154);
+      this.algorithmsListBox.Size = new System.Drawing.Size(331, 124);
       this.algorithmsListBox.TabIndex = 4;
       this.algorithmsListBox.ItemCheck += new System.Windows.Forms.ItemCheckEventHandler(this.algorithmsListBox_ItemCheck);
@@ -367,4 +369,15 @@
       this.setAllButton.UseVisualStyleBackColor = true;
       this.setAllButton.Click += new System.EventHandler(this.setAllButton_Click);
+      // 
+      // setAlgorithmDefault
+      // 
+      this.setAlgorithmDefault.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
+      this.setAlgorithmDefault.Location = new System.Drawing.Point(6, 292);
+      this.setAlgorithmDefault.Name = "setAlgorithmDefault";
+      this.setAlgorithmDefault.Size = new System.Drawing.Size(96, 23);
+      this.setAlgorithmDefault.TabIndex = 36;
+      this.setAlgorithmDefault.Text = "Use as default";
+      this.setAlgorithmDefault.UseVisualStyleBackColor = true;
+      this.setAlgorithmDefault.Click += new System.EventHandler(this.setAlgorithmDefault_Click);
       // 
       // DispatcherView
@@ -417,4 +430,5 @@
     private System.Windows.Forms.RadioButton timeSeriesRadioButton;
     private System.Windows.Forms.CheckBox autoregressiveCheckBox;
+    private System.Windows.Forms.Button setAlgorithmDefault;
   }
 }
Index: /trunk/sources/HeuristicLab.CEDMA.Server/3.3/DispatcherView.cs
===================================================================
--- /trunk/sources/HeuristicLab.CEDMA.Server/3.3/DispatcherView.cs	(revision 2377)
+++ /trunk/sources/HeuristicLab.CEDMA.Server/3.3/DispatcherView.cs	(revision 2378)
@@ -125,4 +125,18 @@
           }
         }
+      }
+    }
+
+    
+    private void setAlgorithmDefault_Click(object sender, EventArgs e) {
+      foreach (string targetVar in dispatcher.TargetVariables) {
+        ProblemSpecification spec = dispatcher.GetProblemSpecification(targetVar);
+        spec.LearningTask = selectedSpec.LearningTask;
+        spec.MinTimeOffset = selectedSpec.MinTimeOffset;
+        spec.MaxTimeOffset = selectedSpec.MaxTimeOffset;
+        spec.AutoRegressive = selectedSpec.AutoRegressive;
+        var allowedAlgos = dispatcher.GetAllowedAlgorithms(selectedSpec.TargetVariable);
+        foreach(var algo in allowedAlgos)
+          dispatcher.EnableAlgorithm(spec.TargetVariable, algo);
       }
     }
@@ -226,4 +240,5 @@
       return y0 > x1;
     }
+
   }
 }
Index: /trunk/sources/HeuristicLab.CEDMA.Server/3.3/SimpleDispatcher.cs
===================================================================
--- /trunk/sources/HeuristicLab.CEDMA.Server/3.3/SimpleDispatcher.cs	(revision 2377)
+++ /trunk/sources/HeuristicLab.CEDMA.Server/3.3/SimpleDispatcher.cs	(revision 2378)
@@ -189,4 +189,5 @@
         timeSeriesAlgo.MinTimeOffset = spec.MinTimeOffset;
         timeSeriesAlgo.MaxTimeOffset = spec.MaxTimeOffset;
+        timeSeriesAlgo.TrainingSamplesStart = spec.TrainingSamplesStart - spec.MinTimeOffset +1 ; // first possible index is 1 because of differential symbol
         if (spec.AutoRegressive) {
           allowedFeatures.Add(spec.Dataset.GetVariableIndex(spec.TargetVariable));
@@ -224,4 +225,5 @@
     public void EnableAlgorithm(string targetVariable, HeuristicLab.Modeling.IAlgorithm algo) {
       if (!algorithms.ContainsKey(targetVariable)) algorithms.Add(targetVariable, new List<HeuristicLab.Modeling.IAlgorithm>());
+      if(!algorithms[targetVariable].Contains(algo))
       algorithms[targetVariable].Add(algo);
     }
