Index: /trunk/sources/HeuristicLab.ES/ES.cs
===================================================================
--- /trunk/sources/HeuristicLab.ES/ES.cs	(revision 1221)
+++ /trunk/sources/HeuristicLab.ES/ES.cs	(revision 1222)
@@ -22,15 +22,12 @@
 using System;
 using System.Collections.Generic;
-using System.Text;
 using System.Xml;
 using HeuristicLab.Core;
 using HeuristicLab.Data;
-using HeuristicLab.SequentialEngine;
 using HeuristicLab.Operators;
 using HeuristicLab.Random;
 using HeuristicLab.Logging;
 using HeuristicLab.Selection;
-using HeuristicLab.Selection.OffspringSelection;
-using HeuristicLab.Evolutionary;
+using HeuristicLab.RealVector;
 
 namespace HeuristicLab.ES {
@@ -132,8 +129,11 @@
       vi.AddVariable(new Variable("EvaluatedSolutions", new IntData()));
       vi.AddVariable(new Variable("PlusNotation", new BoolData(true)));
+      vi.AddVariable(new Variable("ProblemDimension", new IntData(1)));
+      vi.AddVariable(new Variable("ShakingFactorsMin", new DoubleData(0.1)));
+      vi.AddVariable(new Variable("ShakingFactorsMax", new DoubleData(5.0)));
       vi.AddVariable(new Variable("Generations", new IntData()));
       vi.AddVariable(new Variable("MaximumGenerations", new IntData(1000)));
-      vi.AddVariable(new Variable("GeneralLearningRate", new DoubleData(0.1)));
-      vi.AddVariable(new Variable("LearningRate", new DoubleData(0.1)));
+      vi.AddVariable(new Variable("GeneralLearningRate", new DoubleData(1.0 / Math.Sqrt(2))));
+      vi.AddVariable(new Variable("LearningRate", new DoubleData(1.0 / Math.Sqrt(2))));
       op.OperatorGraph.AddOperator(vi);
       sp.AddSubOperator(vi);
@@ -177,8 +177,11 @@
       sp2.AddSubOperator(c);
 
-      VariableInjector vi = new VariableInjector();
-      vi.AddVariable(new Variable("ShakingFactors", new DoubleArrayData(new double[] { 5.0 })));
-      op.OperatorGraph.AddOperator(vi);
-      sp2.AddSubOperator(vi);
+      UniformRandomRealVectorGenerator urrvg = new UniformRandomRealVectorGenerator();
+      urrvg.GetVariableInfo("Length").ActualName = "ProblemDimension";
+      urrvg.GetVariableInfo("Minimum").ActualName = "ShakingFactorsMin";
+      urrvg.GetVariableInfo("Maximum").ActualName = "ShakingFactorsMax";
+      urrvg.GetVariableInfo("RealVector").ActualName = "ShakingFactors";
+      op.OperatorGraph.AddOperator(urrvg);
+      sp2.AddSubOperator(urrvg);
 
       Sorter s = new Sorter();
@@ -456,13 +459,39 @@
       }
     }
-    private DoubleArrayData myShakingFactors;
-    /// <summary>
-    /// Gets or sets the initial strategy vector s(0).
+    private IntData myProblemDimension;
+    /// <summary>
+    /// Gets or sets the problem dimension which determines the length of the strategy vector.
     /// </summary>
     /// <remarks>Calls <see cref="ItemBase.OnChanged"/> of base class <see cref="ItemBase"/> 
     /// in the setter.</remarks>
-    public double[] ShakingFactors {
-      get { return myShakingFactors.Data; }
-      set { myShakingFactors.Data = value; }
+    public int ProblemDimension {
+      get { return myProblemDimension.Data; }
+      set { myProblemDimension.Data = value; }
+    }
+    private DoubleData myShakingFactorsMin;
+    /// <summary>
+    /// Gets or sets the minimal value for each dimension of the strategy vector.
+    /// </summary>
+    /// <remarks>Calls <see cref="ItemBase.OnChanged"/> of base class <see cref="ItemBase"/> 
+    /// in the setter.</remarks>
+    public double ShakingFactorsMin {
+      get { return myShakingFactorsMin.Data; }
+      set {
+        myShakingFactorsMin.Data = value;
+        OnChanged();
+      }
+    }
+    private DoubleData myShakingFactorsMax;
+    /// <summary>
+    /// Gets or sets the maximal value for each dimension of the strategy vector.
+    /// </summary>
+    /// <remarks>Calls <see cref="ItemBase.OnChanged"/> of base class <see cref="ItemBase"/> 
+    /// in the setter.</remarks>
+    public double ShakingFactorsMax {
+      get { return myShakingFactorsMax.Data; }
+      set {
+        myShakingFactorsMax.Data = value;
+        OnChanged();
+      }
     }
     private DoubleData myGeneralLearningRate;
@@ -633,4 +662,7 @@
       myMaximumGenerations = vi.GetVariable("MaximumGenerations").GetValue<IntData>();
       myPlusNotation = vi.GetVariable("PlusNotation").GetValue<BoolData>();
+      myProblemDimension = vi.GetVariable("ProblemDimension").GetValue<IntData>();
+      myShakingFactorsMin = vi.GetVariable("ShakingFactorsMin").GetValue<DoubleData>();
+      myShakingFactorsMax = vi.GetVariable("ShakingFactorsMax").GetValue<DoubleData>();
       myGeneralLearningRate = vi.GetVariable("GeneralLearningRate").GetValue<DoubleData>();
       myLearningRate = vi.GetVariable("LearningRate").GetValue<DoubleData>();
@@ -638,7 +670,4 @@
       CombinedOperator co3 = (CombinedOperator)sp1.SubOperators[1];
       myPopulationInitialization = co3;
-      // Variable Injector
-      VariableInjector vi2 = (VariableInjector)co3.OperatorGraph.InitialOperator.SubOperators[1].SubOperators[0].SubOperators[3];
-      myShakingFactors = vi2.GetVariable("ShakingFactors").GetValue<DoubleArrayData>();
       // ES Main
       CombinedOperator co4 = (CombinedOperator)sp1.SubOperators[2];
Index: /trunk/sources/HeuristicLab.ES/ESEditor.Designer.cs
===================================================================
--- /trunk/sources/HeuristicLab.ES/ESEditor.Designer.cs	(revision 1221)
+++ /trunk/sources/HeuristicLab.ES/ESEditor.Designer.cs	(revision 1222)
@@ -51,11 +51,15 @@
       this.tabControl = new System.Windows.Forms.TabControl();
       this.parametersTabPage = new System.Windows.Forms.TabPage();
+      this.leftBracketLabelRight = new System.Windows.Forms.Label();
+      this.semicolonLabel = new System.Windows.Forms.Label();
+      this.leftBracketLabelLeft = new System.Windows.Forms.Label();
+      this.shakingFactorsUpperBoundTextBox = new System.Windows.Forms.TextBox();
       this.successRuleGroupBox = new System.Windows.Forms.GroupBox();
       this.learningRateTextBox = new System.Windows.Forms.TextBox();
-      this.label1 = new System.Windows.Forms.Label();
+      this.learningRateLabel = new System.Windows.Forms.Label();
       this.generalLearningRateTextBox = new System.Windows.Forms.TextBox();
-      this.targetSuccessRateLabel = new System.Windows.Forms.Label();
-      this.label8 = new System.Windows.Forms.Label();
-      this.label7 = new System.Windows.Forms.Label();
+      this.generalLearningRateLabel = new System.Windows.Forms.Label();
+      this.learningRateVariableNameLabel = new System.Windows.Forms.Label();
+      this.generalLearningRateVariableNameLabel = new System.Windows.Forms.Label();
       this.parentSelectionGroupBox = new System.Windows.Forms.GroupBox();
       this.commaRadioButton = new System.Windows.Forms.RadioButton();
@@ -81,5 +85,5 @@
       this.setRandomSeedRandomlyCheckBox = new System.Windows.Forms.CheckBox();
       this.problemDimensionTextBox = new System.Windows.Forms.TextBox();
-      this.initialMutationStrengthVectorTextBox = new System.Windows.Forms.TextBox();
+      this.shakingFactorsLowerBoundTextBox = new System.Windows.Forms.TextBox();
       this.evaluationLabel = new System.Windows.Forms.Label();
       this.mutationLabel = new System.Windows.Forms.Label();
@@ -87,5 +91,5 @@
       this.problemInitializationLabel = new System.Windows.Forms.Label();
       this.problemDimensionLabel = new System.Windows.Forms.Label();
-      this.initialMutationStrengthLabel = new System.Windows.Forms.Label();
+      this.mutationStrengthLabel = new System.Windows.Forms.Label();
       this.mutationRateLabel = new System.Windows.Forms.Label();
       this.maximumGenerationsTextBox = new System.Windows.Forms.TextBox();
@@ -95,9 +99,10 @@
       this.setRandomSeedRandomlyLabel = new System.Windows.Forms.Label();
       this.randomSeedLabel = new System.Windows.Forms.Label();
-      this.label6 = new System.Windows.Forms.Label();
-      this.label5 = new System.Windows.Forms.Label();
-      this.label4 = new System.Windows.Forms.Label();
-      this.label3 = new System.Windows.Forms.Label();
-      this.label2 = new System.Windows.Forms.Label();
+      this.problemDimensionVariableNameLabel = new System.Windows.Forms.Label();
+      this.shakingFactorsVariableNameLabel = new System.Windows.Forms.Label();
+      this.maximumGenerationsVariableNameLabel = new System.Windows.Forms.Label();
+      this.esLambdaVariableNameLabel = new System.Windows.Forms.Label();
+      this.esRhoVariableNameLabel = new System.Windows.Forms.Label();
+      this.esMuVariableNameLabel = new System.Windows.Forms.Label();
       this.populationSizeLabel = new System.Windows.Forms.Label();
       this.lambdaTextBox = new System.Windows.Forms.TextBox();
@@ -141,4 +146,8 @@
       // parametersTabPage
       // 
+      this.parametersTabPage.Controls.Add(this.leftBracketLabelRight);
+      this.parametersTabPage.Controls.Add(this.semicolonLabel);
+      this.parametersTabPage.Controls.Add(this.leftBracketLabelLeft);
+      this.parametersTabPage.Controls.Add(this.shakingFactorsUpperBoundTextBox);
       this.parametersTabPage.Controls.Add(this.successRuleGroupBox);
       this.parametersTabPage.Controls.Add(this.parentSelectionGroupBox);
@@ -163,5 +172,5 @@
       this.parametersTabPage.Controls.Add(this.setRandomSeedRandomlyCheckBox);
       this.parametersTabPage.Controls.Add(this.problemDimensionTextBox);
-      this.parametersTabPage.Controls.Add(this.initialMutationStrengthVectorTextBox);
+      this.parametersTabPage.Controls.Add(this.shakingFactorsLowerBoundTextBox);
       this.parametersTabPage.Controls.Add(this.evaluationLabel);
       this.parametersTabPage.Controls.Add(this.mutationLabel);
@@ -169,5 +178,5 @@
       this.parametersTabPage.Controls.Add(this.problemInitializationLabel);
       this.parametersTabPage.Controls.Add(this.problemDimensionLabel);
-      this.parametersTabPage.Controls.Add(this.initialMutationStrengthLabel);
+      this.parametersTabPage.Controls.Add(this.mutationStrengthLabel);
       this.parametersTabPage.Controls.Add(this.mutationRateLabel);
       this.parametersTabPage.Controls.Add(this.maximumGenerationsTextBox);
@@ -177,9 +186,10 @@
       this.parametersTabPage.Controls.Add(this.setRandomSeedRandomlyLabel);
       this.parametersTabPage.Controls.Add(this.randomSeedLabel);
-      this.parametersTabPage.Controls.Add(this.label6);
-      this.parametersTabPage.Controls.Add(this.label5);
-      this.parametersTabPage.Controls.Add(this.label4);
-      this.parametersTabPage.Controls.Add(this.label3);
-      this.parametersTabPage.Controls.Add(this.label2);
+      this.parametersTabPage.Controls.Add(this.problemDimensionVariableNameLabel);
+      this.parametersTabPage.Controls.Add(this.shakingFactorsVariableNameLabel);
+      this.parametersTabPage.Controls.Add(this.maximumGenerationsVariableNameLabel);
+      this.parametersTabPage.Controls.Add(this.esLambdaVariableNameLabel);
+      this.parametersTabPage.Controls.Add(this.esRhoVariableNameLabel);
+      this.parametersTabPage.Controls.Add(this.esMuVariableNameLabel);
       this.parametersTabPage.Controls.Add(this.populationSizeLabel);
       this.parametersTabPage.Controls.Add(this.lambdaTextBox);
@@ -192,17 +202,56 @@
       this.parametersTabPage.UseVisualStyleBackColor = true;
       // 
+      // leftBracketLabelRight
+      // 
+      this.leftBracketLabelRight.Anchor = System.Windows.Forms.AnchorStyles.None;
+      this.leftBracketLabelRight.AutoSize = true;
+      this.leftBracketLabelRight.Location = new System.Drawing.Point(344, 175);
+      this.leftBracketLabelRight.Name = "leftBracketLabelRight";
+      this.leftBracketLabelRight.Size = new System.Drawing.Size(10, 13);
+      this.leftBracketLabelRight.TabIndex = 21;
+      this.leftBracketLabelRight.Text = "[";
+      // 
+      // semicolonLabel
+      // 
+      this.semicolonLabel.Anchor = System.Windows.Forms.AnchorStyles.None;
+      this.semicolonLabel.AutoSize = true;
+      this.semicolonLabel.Location = new System.Drawing.Point(254, 175);
+      this.semicolonLabel.Name = "semicolonLabel";
+      this.semicolonLabel.Size = new System.Drawing.Size(10, 13);
+      this.semicolonLabel.TabIndex = 19;
+      this.semicolonLabel.Text = ";";
+      // 
+      // leftBracketLabelLeft
+      // 
+      this.leftBracketLabelLeft.Anchor = System.Windows.Forms.AnchorStyles.None;
+      this.leftBracketLabelLeft.AutoSize = true;
+      this.leftBracketLabelLeft.Location = new System.Drawing.Point(165, 175);
+      this.leftBracketLabelLeft.Name = "leftBracketLabelLeft";
+      this.leftBracketLabelLeft.Size = new System.Drawing.Size(10, 13);
+      this.leftBracketLabelLeft.TabIndex = 17;
+      this.leftBracketLabelLeft.Text = "[";
+      // 
+      // shakingFactorsUpperBoundTextBox
+      // 
+      this.shakingFactorsUpperBoundTextBox.Anchor = System.Windows.Forms.AnchorStyles.None;
+      this.shakingFactorsUpperBoundTextBox.Location = new System.Drawing.Point(273, 172);
+      this.shakingFactorsUpperBoundTextBox.Name = "shakingFactorsUpperBoundTextBox";
+      this.shakingFactorsUpperBoundTextBox.Size = new System.Drawing.Size(65, 20);
+      this.shakingFactorsUpperBoundTextBox.TabIndex = 20;
+      this.toolTip.SetToolTip(this.shakingFactorsUpperBoundTextBox, resources.GetString("shakingFactorsUpperBoundTextBox.ToolTip"));
+      // 
       // successRuleGroupBox
       // 
       this.successRuleGroupBox.Anchor = System.Windows.Forms.AnchorStyles.None;
       this.successRuleGroupBox.Controls.Add(this.learningRateTextBox);
-      this.successRuleGroupBox.Controls.Add(this.label1);
+      this.successRuleGroupBox.Controls.Add(this.learningRateLabel);
       this.successRuleGroupBox.Controls.Add(this.generalLearningRateTextBox);
-      this.successRuleGroupBox.Controls.Add(this.targetSuccessRateLabel);
-      this.successRuleGroupBox.Controls.Add(this.label8);
-      this.successRuleGroupBox.Controls.Add(this.label7);
+      this.successRuleGroupBox.Controls.Add(this.generalLearningRateLabel);
+      this.successRuleGroupBox.Controls.Add(this.learningRateVariableNameLabel);
+      this.successRuleGroupBox.Controls.Add(this.generalLearningRateVariableNameLabel);
       this.successRuleGroupBox.Location = new System.Drawing.Point(9, 230);
       this.successRuleGroupBox.Name = "successRuleGroupBox";
       this.successRuleGroupBox.Size = new System.Drawing.Size(476, 74);
-      this.successRuleGroupBox.TabIndex = 40;
+      this.successRuleGroupBox.TabIndex = 26;
       this.successRuleGroupBox.TabStop = false;
       this.successRuleGroupBox.Text = "Mutation Strength Adjustment";
@@ -214,17 +263,17 @@
       this.learningRateTextBox.Name = "learningRateTextBox";
       this.learningRateTextBox.Size = new System.Drawing.Size(186, 20);
-      this.learningRateTextBox.TabIndex = 17;
-      this.toolTip.SetToolTip(this.learningRateTextBox, @"Automatically updates when Problem Dimension (dim) is changed.
-The used formula is: tau = 1 / Sqrt(2*Sqrt(dim))");
-      // 
-      // label1
-      // 
-      this.label1.Anchor = System.Windows.Forms.AnchorStyles.Top;
-      this.label1.AutoSize = true;
-      this.label1.Location = new System.Drawing.Point(7, 48);
-      this.label1.Name = "label1";
-      this.label1.Size = new System.Drawing.Size(92, 13);
-      this.label1.TabIndex = 16;
-      this.label1.Text = "Learning Rate (τ):";
+      this.learningRateTextBox.TabIndex = 4;
+      this.toolTip.SetToolTip(this.learningRateTextBox, "Automatically updates when Problem Dimension (dim) is changed.\r\nThe used formula " +
+              "is: tau = 1 / Sqrt(2*Sqrt(dim))");
+      // 
+      // learningRateLabel
+      // 
+      this.learningRateLabel.Anchor = System.Windows.Forms.AnchorStyles.Top;
+      this.learningRateLabel.AutoSize = true;
+      this.learningRateLabel.Location = new System.Drawing.Point(7, 48);
+      this.learningRateLabel.Name = "learningRateLabel";
+      this.learningRateLabel.Size = new System.Drawing.Size(92, 13);
+      this.learningRateLabel.TabIndex = 3;
+      this.learningRateLabel.Text = "Learning Rate (τ):";
       // 
       // generalLearningRateTextBox
@@ -234,37 +283,37 @@
       this.generalLearningRateTextBox.Name = "generalLearningRateTextBox";
       this.generalLearningRateTextBox.Size = new System.Drawing.Size(186, 20);
-      this.generalLearningRateTextBox.TabIndex = 15;
-      this.toolTip.SetToolTip(this.generalLearningRateTextBox, @"Automatically updates when Problem Dimension (dim) is changed.
-The used formula is: tau0 = 1 / Sqrt(2*dim)");
-      // 
-      // targetSuccessRateLabel
-      // 
-      this.targetSuccessRateLabel.Anchor = System.Windows.Forms.AnchorStyles.Top;
-      this.targetSuccessRateLabel.AutoSize = true;
-      this.targetSuccessRateLabel.Location = new System.Drawing.Point(7, 22);
-      this.targetSuccessRateLabel.Name = "targetSuccessRateLabel";
-      this.targetSuccessRateLabel.Size = new System.Drawing.Size(138, 13);
-      this.targetSuccessRateLabel.TabIndex = 14;
-      this.targetSuccessRateLabel.Text = "General Learning Rate (τ0):";
-      // 
-      // label8
-      // 
-      this.label8.Anchor = System.Windows.Forms.AnchorStyles.None;
-      this.label8.AutoSize = true;
-      this.label8.Location = new System.Drawing.Point(348, 48);
-      this.label8.Name = "label8";
-      this.label8.Size = new System.Drawing.Size(77, 13);
-      this.label8.TabIndex = 4;
-      this.label8.Text = "(LearningRate)";
-      // 
-      // label7
-      // 
-      this.label7.Anchor = System.Windows.Forms.AnchorStyles.None;
-      this.label7.AutoSize = true;
-      this.label7.Location = new System.Drawing.Point(348, 22);
-      this.label7.Name = "label7";
-      this.label7.Size = new System.Drawing.Size(114, 13);
-      this.label7.TabIndex = 4;
-      this.label7.Text = "(GeneralLearningRate)";
+      this.generalLearningRateTextBox.TabIndex = 1;
+      this.toolTip.SetToolTip(this.generalLearningRateTextBox, "Automatically updates when Problem Dimension (dim) is changed.\r\nThe used formula " +
+              "is: tau0 = 1 / Sqrt(2*dim)");
+      // 
+      // generalLearningRateLabel
+      // 
+      this.generalLearningRateLabel.Anchor = System.Windows.Forms.AnchorStyles.Top;
+      this.generalLearningRateLabel.AutoSize = true;
+      this.generalLearningRateLabel.Location = new System.Drawing.Point(7, 22);
+      this.generalLearningRateLabel.Name = "generalLearningRateLabel";
+      this.generalLearningRateLabel.Size = new System.Drawing.Size(138, 13);
+      this.generalLearningRateLabel.TabIndex = 0;
+      this.generalLearningRateLabel.Text = "General Learning Rate (τ0):";
+      // 
+      // learningRateVariableNameLabel
+      // 
+      this.learningRateVariableNameLabel.Anchor = System.Windows.Forms.AnchorStyles.None;
+      this.learningRateVariableNameLabel.AutoSize = true;
+      this.learningRateVariableNameLabel.Location = new System.Drawing.Point(348, 48);
+      this.learningRateVariableNameLabel.Name = "learningRateVariableNameLabel";
+      this.learningRateVariableNameLabel.Size = new System.Drawing.Size(77, 13);
+      this.learningRateVariableNameLabel.TabIndex = 5;
+      this.learningRateVariableNameLabel.Text = "(LearningRate)";
+      // 
+      // generalLearningRateVariableNameLabel
+      // 
+      this.generalLearningRateVariableNameLabel.Anchor = System.Windows.Forms.AnchorStyles.None;
+      this.generalLearningRateVariableNameLabel.AutoSize = true;
+      this.generalLearningRateVariableNameLabel.Location = new System.Drawing.Point(348, 22);
+      this.generalLearningRateVariableNameLabel.Name = "generalLearningRateVariableNameLabel";
+      this.generalLearningRateVariableNameLabel.Size = new System.Drawing.Size(114, 13);
+      this.generalLearningRateVariableNameLabel.TabIndex = 2;
+      this.generalLearningRateVariableNameLabel.Text = "(GeneralLearningRate)";
       // 
       // parentSelectionGroupBox
@@ -276,5 +325,5 @@
       this.parentSelectionGroupBox.Name = "parentSelectionGroupBox";
       this.parentSelectionGroupBox.Size = new System.Drawing.Size(186, 38);
-      this.parentSelectionGroupBox.TabIndex = 39;
+      this.parentSelectionGroupBox.TabIndex = 27;
       this.parentSelectionGroupBox.TabStop = false;
       this.parentSelectionGroupBox.Text = "Parent Selection";
@@ -310,5 +359,5 @@
       this.setRecombinationButton.Name = "setRecombinationButton";
       this.setRecombinationButton.Size = new System.Drawing.Size(43, 20);
-      this.setRecombinationButton.TabIndex = 38;
+      this.setRecombinationButton.TabIndex = 47;
       this.setRecombinationButton.Text = "Set...";
       this.setRecombinationButton.UseVisualStyleBackColor = true;
@@ -321,5 +370,5 @@
       this.viewRecombinationButton.Name = "viewRecombinationButton";
       this.viewRecombinationButton.Size = new System.Drawing.Size(53, 20);
-      this.viewRecombinationButton.TabIndex = 37;
+      this.viewRecombinationButton.TabIndex = 46;
       this.viewRecombinationButton.Text = "View...";
       this.viewRecombinationButton.UseVisualStyleBackColor = true;
@@ -333,5 +382,5 @@
       this.recombinationTextBox.ReadOnly = true;
       this.recombinationTextBox.Size = new System.Drawing.Size(186, 20);
-      this.recombinationTextBox.TabIndex = 36;
+      this.recombinationTextBox.TabIndex = 45;
       // 
       // recombinationLabel
@@ -342,5 +391,5 @@
       this.recombinationLabel.Name = "recombinationLabel";
       this.recombinationLabel.Size = new System.Drawing.Size(81, 13);
-      this.recombinationLabel.TabIndex = 35;
+      this.recombinationLabel.TabIndex = 44;
       this.recombinationLabel.Text = "Recombination:";
       // 
@@ -351,5 +400,5 @@
       this.rhoTextBox.Name = "rhoTextBox";
       this.rhoTextBox.Size = new System.Drawing.Size(186, 20);
-      this.rhoTextBox.TabIndex = 7;
+      this.rhoTextBox.TabIndex = 8;
       // 
       // rhoLabel
@@ -361,5 +410,5 @@
       this.rhoLabel.Name = "rhoLabel";
       this.rhoLabel.Size = new System.Drawing.Size(45, 13);
-      this.rhoLabel.TabIndex = 6;
+      this.rhoLabel.TabIndex = 7;
       this.rhoLabel.Text = "Rho (ρ):";
       // 
@@ -370,5 +419,5 @@
       this.setEvaluationButton.Name = "setEvaluationButton";
       this.setEvaluationButton.Size = new System.Drawing.Size(43, 20);
-      this.setEvaluationButton.TabIndex = 34;
+      this.setEvaluationButton.TabIndex = 43;
       this.setEvaluationButton.Text = "Set...";
       this.setEvaluationButton.UseVisualStyleBackColor = true;
@@ -381,5 +430,5 @@
       this.setMutationButton.Name = "setMutationButton";
       this.setMutationButton.Size = new System.Drawing.Size(43, 20);
-      this.setMutationButton.TabIndex = 30;
+      this.setMutationButton.TabIndex = 39;
       this.setMutationButton.Text = "Set...";
       this.setMutationButton.UseVisualStyleBackColor = true;
@@ -392,5 +441,5 @@
       this.setSolutionGenerationButton.Name = "setSolutionGenerationButton";
       this.setSolutionGenerationButton.Size = new System.Drawing.Size(43, 20);
-      this.setSolutionGenerationButton.TabIndex = 26;
+      this.setSolutionGenerationButton.TabIndex = 35;
       this.setSolutionGenerationButton.Text = "Set...";
       this.setSolutionGenerationButton.UseVisualStyleBackColor = true;
@@ -403,5 +452,5 @@
       this.viewEvaluationButton.Name = "viewEvaluationButton";
       this.viewEvaluationButton.Size = new System.Drawing.Size(53, 20);
-      this.viewEvaluationButton.TabIndex = 33;
+      this.viewEvaluationButton.TabIndex = 42;
       this.viewEvaluationButton.Text = "View...";
       this.viewEvaluationButton.UseVisualStyleBackColor = true;
@@ -414,5 +463,5 @@
       this.viewMutationButton.Name = "viewMutationButton";
       this.viewMutationButton.Size = new System.Drawing.Size(53, 20);
-      this.viewMutationButton.TabIndex = 29;
+      this.viewMutationButton.TabIndex = 38;
       this.viewMutationButton.Text = "View...";
       this.viewMutationButton.UseVisualStyleBackColor = true;
@@ -425,5 +474,5 @@
       this.viewSolutionGenerationButton.Name = "viewSolutionGenerationButton";
       this.viewSolutionGenerationButton.Size = new System.Drawing.Size(53, 20);
-      this.viewSolutionGenerationButton.TabIndex = 25;
+      this.viewSolutionGenerationButton.TabIndex = 34;
       this.viewSolutionGenerationButton.Text = "View...";
       this.viewSolutionGenerationButton.UseVisualStyleBackColor = true;
@@ -436,5 +485,5 @@
       this.viewProblemInitializationButton.Name = "viewProblemInitializationButton";
       this.viewProblemInitializationButton.Size = new System.Drawing.Size(53, 20);
-      this.viewProblemInitializationButton.TabIndex = 21;
+      this.viewProblemInitializationButton.TabIndex = 30;
       this.viewProblemInitializationButton.Text = "View...";
       this.viewProblemInitializationButton.UseVisualStyleBackColor = true;
@@ -447,5 +496,5 @@
       this.setProblemInitializationButton.Name = "setProblemInitializationButton";
       this.setProblemInitializationButton.Size = new System.Drawing.Size(43, 20);
-      this.setProblemInitializationButton.TabIndex = 22;
+      this.setProblemInitializationButton.TabIndex = 31;
       this.setProblemInitializationButton.Text = "Set...";
       this.setProblemInitializationButton.UseVisualStyleBackColor = true;
@@ -459,5 +508,5 @@
       this.evaluationTextBox.ReadOnly = true;
       this.evaluationTextBox.Size = new System.Drawing.Size(186, 20);
-      this.evaluationTextBox.TabIndex = 32;
+      this.evaluationTextBox.TabIndex = 41;
       // 
       // mutationTextBox
@@ -468,5 +517,5 @@
       this.mutationTextBox.ReadOnly = true;
       this.mutationTextBox.Size = new System.Drawing.Size(186, 20);
-      this.mutationTextBox.TabIndex = 28;
+      this.mutationTextBox.TabIndex = 37;
       // 
       // solutionGenerationTextBox
@@ -477,5 +526,5 @@
       this.solutionGenerationTextBox.ReadOnly = true;
       this.solutionGenerationTextBox.Size = new System.Drawing.Size(186, 20);
-      this.solutionGenerationTextBox.TabIndex = 24;
+      this.solutionGenerationTextBox.TabIndex = 33;
       // 
       // problemInitializationTextBox
@@ -486,5 +535,5 @@
       this.problemInitializationTextBox.ReadOnly = true;
       this.problemInitializationTextBox.Size = new System.Drawing.Size(186, 20);
-      this.problemInitializationTextBox.TabIndex = 20;
+      this.problemInitializationTextBox.TabIndex = 29;
       // 
       // setRandomSeedRandomlyCheckBox
@@ -501,19 +550,18 @@
       // 
       this.problemDimensionTextBox.Anchor = System.Windows.Forms.AnchorStyles.None;
-      this.problemDimensionTextBox.Location = new System.Drawing.Point(168, 172);
+      this.problemDimensionTextBox.Location = new System.Drawing.Point(168, 198);
       this.problemDimensionTextBox.Name = "problemDimensionTextBox";
       this.problemDimensionTextBox.Size = new System.Drawing.Size(186, 20);
-      this.problemDimensionTextBox.TabIndex = 13;
+      this.problemDimensionTextBox.TabIndex = 24;
       this.problemDimensionTextBox.Validated += new System.EventHandler(this.problemDimensionTextBox_Validated);
       // 
-      // initialMutationStrengthVectorTextBox
-      // 
-      this.initialMutationStrengthVectorTextBox.Anchor = System.Windows.Forms.AnchorStyles.None;
-      this.initialMutationStrengthVectorTextBox.Location = new System.Drawing.Point(168, 198);
-      this.initialMutationStrengthVectorTextBox.Name = "initialMutationStrengthVectorTextBox";
-      this.initialMutationStrengthVectorTextBox.Size = new System.Drawing.Size(186, 20);
-      this.initialMutationStrengthVectorTextBox.TabIndex = 13;
-      this.toolTip.SetToolTip(this.initialMutationStrengthVectorTextBox, resources.GetString("initialMutationStrengthVectorTextBox.ToolTip"));
-      this.initialMutationStrengthVectorTextBox.Validated += new System.EventHandler(this.initialMutationStrengthVectorTextBox_Validated);
+      // shakingFactorsLowerBoundTextBox
+      // 
+      this.shakingFactorsLowerBoundTextBox.Anchor = System.Windows.Forms.AnchorStyles.None;
+      this.shakingFactorsLowerBoundTextBox.Location = new System.Drawing.Point(181, 172);
+      this.shakingFactorsLowerBoundTextBox.Name = "shakingFactorsLowerBoundTextBox";
+      this.shakingFactorsLowerBoundTextBox.Size = new System.Drawing.Size(65, 20);
+      this.shakingFactorsLowerBoundTextBox.TabIndex = 18;
+      this.toolTip.SetToolTip(this.shakingFactorsLowerBoundTextBox, resources.GetString("shakingFactorsLowerBoundTextBox.ToolTip"));
       // 
       // evaluationLabel
@@ -524,5 +572,5 @@
       this.evaluationLabel.Name = "evaluationLabel";
       this.evaluationLabel.Size = new System.Drawing.Size(60, 13);
-      this.evaluationLabel.TabIndex = 31;
+      this.evaluationLabel.TabIndex = 40;
       this.evaluationLabel.Text = "&Evaluation:";
       // 
@@ -534,5 +582,5 @@
       this.mutationLabel.Name = "mutationLabel";
       this.mutationLabel.Size = new System.Drawing.Size(51, 13);
-      this.mutationLabel.TabIndex = 27;
+      this.mutationLabel.TabIndex = 36;
       this.mutationLabel.Text = "&Mutation:";
       // 
@@ -544,5 +592,5 @@
       this.solutionGenerationLabel.Name = "solutionGenerationLabel";
       this.solutionGenerationLabel.Size = new System.Drawing.Size(103, 13);
-      this.solutionGenerationLabel.TabIndex = 23;
+      this.solutionGenerationLabel.TabIndex = 32;
       this.solutionGenerationLabel.Text = "&Solution Generation:";
       // 
@@ -554,5 +602,5 @@
       this.problemInitializationLabel.Name = "problemInitializationLabel";
       this.problemInitializationLabel.Size = new System.Drawing.Size(105, 13);
-      this.problemInitializationLabel.TabIndex = 19;
+      this.problemInitializationLabel.TabIndex = 28;
       this.problemInitializationLabel.Text = "&Problem Initialization:";
       // 
@@ -561,19 +609,19 @@
       this.problemDimensionLabel.Anchor = System.Windows.Forms.AnchorStyles.None;
       this.problemDimensionLabel.AutoSize = true;
-      this.problemDimensionLabel.Location = new System.Drawing.Point(7, 175);
+      this.problemDimensionLabel.Location = new System.Drawing.Point(6, 201);
       this.problemDimensionLabel.Name = "problemDimensionLabel";
       this.problemDimensionLabel.Size = new System.Drawing.Size(100, 13);
-      this.problemDimensionLabel.TabIndex = 12;
+      this.problemDimensionLabel.TabIndex = 23;
       this.problemDimensionLabel.Text = "Problem Dimension:";
       // 
-      // initialMutationStrengthLabel
-      // 
-      this.initialMutationStrengthLabel.Anchor = System.Windows.Forms.AnchorStyles.None;
-      this.initialMutationStrengthLabel.AutoSize = true;
-      this.initialMutationStrengthLabel.Location = new System.Drawing.Point(6, 201);
-      this.initialMutationStrengthLabel.Name = "initialMutationStrengthLabel";
-      this.initialMutationStrengthLabel.Size = new System.Drawing.Size(155, 13);
-      this.initialMutationStrengthLabel.TabIndex = 12;
-      this.initialMutationStrengthLabel.Text = "Initial Mutation Strength Vector:";
+      // mutationStrengthLabel
+      // 
+      this.mutationStrengthLabel.Anchor = System.Windows.Forms.AnchorStyles.None;
+      this.mutationStrengthLabel.AutoSize = true;
+      this.mutationStrengthLabel.Location = new System.Drawing.Point(6, 175);
+      this.mutationStrengthLabel.Name = "mutationStrengthLabel";
+      this.mutationStrengthLabel.Size = new System.Drawing.Size(128, 13);
+      this.mutationStrengthLabel.TabIndex = 16;
+      this.mutationStrengthLabel.Text = "Mutation Strength Vector:";
       // 
       // mutationRateLabel
@@ -585,5 +633,5 @@
       this.mutationRateLabel.Name = "mutationRateLabel";
       this.mutationRateLabel.Size = new System.Drawing.Size(62, 13);
-      this.mutationRateLabel.TabIndex = 8;
+      this.mutationRateLabel.TabIndex = 10;
       this.mutationRateLabel.Text = "Lambda (λ):";
       // 
@@ -594,5 +642,5 @@
       this.maximumGenerationsTextBox.Name = "maximumGenerationsTextBox";
       this.maximumGenerationsTextBox.Size = new System.Drawing.Size(186, 20);
-      this.maximumGenerationsTextBox.TabIndex = 11;
+      this.maximumGenerationsTextBox.TabIndex = 14;
       // 
       // maximumGenerationsLabel
@@ -603,5 +651,5 @@
       this.maximumGenerationsLabel.Name = "maximumGenerationsLabel";
       this.maximumGenerationsLabel.Size = new System.Drawing.Size(114, 13);
-      this.maximumGenerationsLabel.TabIndex = 10;
+      this.maximumGenerationsLabel.TabIndex = 13;
       this.maximumGenerationsLabel.Text = "Maximum &Generations:";
       // 
@@ -642,53 +690,63 @@
       this.randomSeedLabel.Text = "&Random Seed:";
       // 
-      // label6
-      // 
-      this.label6.Anchor = System.Windows.Forms.AnchorStyles.None;
-      this.label6.AutoSize = true;
-      this.label6.Location = new System.Drawing.Point(357, 201);
-      this.label6.Name = "label6";
-      this.label6.Size = new System.Drawing.Size(87, 13);
-      this.label6.TabIndex = 4;
-      this.label6.Text = "(ShakingFactors)";
-      // 
-      // label5
-      // 
-      this.label5.Anchor = System.Windows.Forms.AnchorStyles.None;
-      this.label5.AutoSize = true;
-      this.label5.Location = new System.Drawing.Point(357, 149);
-      this.label5.Name = "label5";
-      this.label5.Size = new System.Drawing.Size(114, 13);
-      this.label5.TabIndex = 4;
-      this.label5.Text = "(MaximumGenerations)";
-      // 
-      // label4
-      // 
-      this.label4.Anchor = System.Windows.Forms.AnchorStyles.None;
-      this.label4.AutoSize = true;
-      this.label4.Location = new System.Drawing.Point(356, 123);
-      this.label4.Name = "label4";
-      this.label4.Size = new System.Drawing.Size(61, 13);
-      this.label4.TabIndex = 4;
-      this.label4.Text = "(ESlambda)";
-      // 
-      // label3
-      // 
-      this.label3.Anchor = System.Windows.Forms.AnchorStyles.None;
-      this.label3.AutoSize = true;
-      this.label3.Location = new System.Drawing.Point(357, 97);
-      this.label3.Name = "label3";
-      this.label3.Size = new System.Drawing.Size(42, 13);
-      this.label3.TabIndex = 4;
-      this.label3.Text = "(ESrho)";
-      // 
-      // label2
-      // 
-      this.label2.Anchor = System.Windows.Forms.AnchorStyles.None;
-      this.label2.AutoSize = true;
-      this.label2.Location = new System.Drawing.Point(357, 71);
-      this.label2.Name = "label2";
-      this.label2.Size = new System.Drawing.Size(41, 13);
-      this.label2.TabIndex = 4;
-      this.label2.Text = "(ESmu)";
+      // problemDimensionVariableNameLabel
+      // 
+      this.problemDimensionVariableNameLabel.Anchor = System.Windows.Forms.AnchorStyles.None;
+      this.problemDimensionVariableNameLabel.AutoSize = true;
+      this.problemDimensionVariableNameLabel.Location = new System.Drawing.Point(357, 201);
+      this.problemDimensionVariableNameLabel.Name = "problemDimensionVariableNameLabel";
+      this.problemDimensionVariableNameLabel.Size = new System.Drawing.Size(100, 13);
+      this.problemDimensionVariableNameLabel.TabIndex = 25;
+      this.problemDimensionVariableNameLabel.Text = "(ProblemDimension)";
+      // 
+      // shakingFactorsVariableNameLabel
+      // 
+      this.shakingFactorsVariableNameLabel.Anchor = System.Windows.Forms.AnchorStyles.None;
+      this.shakingFactorsVariableNameLabel.AutoSize = true;
+      this.shakingFactorsVariableNameLabel.Location = new System.Drawing.Point(357, 175);
+      this.shakingFactorsVariableNameLabel.Name = "shakingFactorsVariableNameLabel";
+      this.shakingFactorsVariableNameLabel.Size = new System.Drawing.Size(87, 13);
+      this.shakingFactorsVariableNameLabel.TabIndex = 22;
+      this.shakingFactorsVariableNameLabel.Text = "(ShakingFactors)";
+      // 
+      // maximumGenerationsVariableNameLabel
+      // 
+      this.maximumGenerationsVariableNameLabel.Anchor = System.Windows.Forms.AnchorStyles.None;
+      this.maximumGenerationsVariableNameLabel.AutoSize = true;
+      this.maximumGenerationsVariableNameLabel.Location = new System.Drawing.Point(357, 149);
+      this.maximumGenerationsVariableNameLabel.Name = "maximumGenerationsVariableNameLabel";
+      this.maximumGenerationsVariableNameLabel.Size = new System.Drawing.Size(114, 13);
+      this.maximumGenerationsVariableNameLabel.TabIndex = 15;
+      this.maximumGenerationsVariableNameLabel.Text = "(MaximumGenerations)";
+      // 
+      // esLambdaVariableNameLabel
+      // 
+      this.esLambdaVariableNameLabel.Anchor = System.Windows.Forms.AnchorStyles.None;
+      this.esLambdaVariableNameLabel.AutoSize = true;
+      this.esLambdaVariableNameLabel.Location = new System.Drawing.Point(357, 123);
+      this.esLambdaVariableNameLabel.Name = "esLambdaVariableNameLabel";
+      this.esLambdaVariableNameLabel.Size = new System.Drawing.Size(61, 13);
+      this.esLambdaVariableNameLabel.TabIndex = 12;
+      this.esLambdaVariableNameLabel.Text = "(ESlambda)";
+      // 
+      // esRhoVariableNameLabel
+      // 
+      this.esRhoVariableNameLabel.Anchor = System.Windows.Forms.AnchorStyles.None;
+      this.esRhoVariableNameLabel.AutoSize = true;
+      this.esRhoVariableNameLabel.Location = new System.Drawing.Point(357, 97);
+      this.esRhoVariableNameLabel.Name = "esRhoVariableNameLabel";
+      this.esRhoVariableNameLabel.Size = new System.Drawing.Size(42, 13);
+      this.esRhoVariableNameLabel.TabIndex = 9;
+      this.esRhoVariableNameLabel.Text = "(ESrho)";
+      // 
+      // esMuVariableNameLabel
+      // 
+      this.esMuVariableNameLabel.Anchor = System.Windows.Forms.AnchorStyles.None;
+      this.esMuVariableNameLabel.AutoSize = true;
+      this.esMuVariableNameLabel.Location = new System.Drawing.Point(357, 71);
+      this.esMuVariableNameLabel.Name = "esMuVariableNameLabel";
+      this.esMuVariableNameLabel.Size = new System.Drawing.Size(41, 13);
+      this.esMuVariableNameLabel.TabIndex = 6;
+      this.esMuVariableNameLabel.Text = "(ESmu)";
       // 
       // populationSizeLabel
@@ -709,5 +767,5 @@
       this.lambdaTextBox.Name = "lambdaTextBox";
       this.lambdaTextBox.Size = new System.Drawing.Size(186, 20);
-      this.lambdaTextBox.TabIndex = 9;
+      this.lambdaTextBox.TabIndex = 11;
       // 
       // scopesTabPage
@@ -810,6 +868,6 @@
     private System.Windows.Forms.TextBox maximumGenerationsTextBox;
     private System.Windows.Forms.Label maximumGenerationsLabel;
-    private System.Windows.Forms.TextBox initialMutationStrengthVectorTextBox;
-    private System.Windows.Forms.Label initialMutationStrengthLabel;
+    private System.Windows.Forms.TextBox shakingFactorsLowerBoundTextBox;
+    private System.Windows.Forms.Label mutationStrengthLabel;
     private System.Windows.Forms.TextBox randomSeedTextBox;
     private System.Windows.Forms.Label setRandomSeedRandomlyLabel;
@@ -835,5 +893,5 @@
     private System.Windows.Forms.Button viewProblemInitializationButton;
     private System.Windows.Forms.TextBox generalLearningRateTextBox;
-    private System.Windows.Forms.Label targetSuccessRateLabel;
+    private System.Windows.Forms.Label generalLearningRateLabel;
     private System.Windows.Forms.Button setRecombinationButton;
     private System.Windows.Forms.Button viewRecombinationButton;
@@ -847,15 +905,20 @@
     private System.Windows.Forms.GroupBox successRuleGroupBox;
     private System.Windows.Forms.TextBox learningRateTextBox;
-    private System.Windows.Forms.Label label1;
-    private System.Windows.Forms.Label label5;
-    private System.Windows.Forms.Label label4;
-    private System.Windows.Forms.Label label3;
-    private System.Windows.Forms.Label label2;
-    private System.Windows.Forms.Label label6;
-    private System.Windows.Forms.Label label8;
-    private System.Windows.Forms.Label label7;
+    private System.Windows.Forms.Label learningRateLabel;
+    private System.Windows.Forms.Label maximumGenerationsVariableNameLabel;
+    private System.Windows.Forms.Label esLambdaVariableNameLabel;
+    private System.Windows.Forms.Label esRhoVariableNameLabel;
+    private System.Windows.Forms.Label esMuVariableNameLabel;
+    private System.Windows.Forms.Label shakingFactorsVariableNameLabel;
+    private System.Windows.Forms.Label learningRateVariableNameLabel;
+    private System.Windows.Forms.Label generalLearningRateVariableNameLabel;
     private System.Windows.Forms.ToolTip toolTip;
     private System.Windows.Forms.TextBox problemDimensionTextBox;
     private System.Windows.Forms.Label problemDimensionLabel;
+    private System.Windows.Forms.Label leftBracketLabelRight;
+    private System.Windows.Forms.Label semicolonLabel;
+    private System.Windows.Forms.Label leftBracketLabelLeft;
+    private System.Windows.Forms.TextBox shakingFactorsUpperBoundTextBox;
+    private System.Windows.Forms.Label problemDimensionVariableNameLabel;
   }
 }
Index: /trunk/sources/HeuristicLab.ES/ESEditor.cs
===================================================================
--- /trunk/sources/HeuristicLab.ES/ESEditor.cs	(revision 1221)
+++ /trunk/sources/HeuristicLab.ES/ESEditor.cs	(revision 1222)
@@ -52,5 +52,4 @@
     public ESEditor() {
       InitializeComponent();
-      problemDimensionTextBox.Text = "1";
     }
     /// <summary>
@@ -61,6 +60,4 @@
       : this() {
       ES = es;
-      int dimension = es.ShakingFactors.Length;
-      problemDimensionTextBox.Text = dimension.ToString();
     }
 
@@ -114,5 +111,6 @@
         evaluationTextBox.Text = ES.Evaluator.GetType().Name;
         recombinationTextBox.Text = ES.Recombinator.GetType().Name;
-        initialMutationStrengthVectorTextBox.Text = ArrayToString<double>(ES.ShakingFactors);
+        plusRadioButton.Checked = ES.PlusNotation;
+        commaRadioButton.Checked = !ES.PlusNotation;
       }
     }
@@ -125,4 +123,7 @@
       lambdaTextBox.DataBindings.Add("Text", ES, "Lambda");
       maximumGenerationsTextBox.DataBindings.Add("Text", ES, "MaximumGenerations");
+      shakingFactorsLowerBoundTextBox.DataBindings.Add("Text", ES, "ShakingFactorsMin");
+      shakingFactorsUpperBoundTextBox.DataBindings.Add("Text", ES, "ShakingFactorsMax");
+      problemDimensionTextBox.DataBindings.Add("Text", ES, "ProblemDimension");
       generalLearningRateTextBox.DataBindings.Add("Text", ES, "GeneralLearningRate");
       learningRateTextBox.DataBindings.Add("Text", ES, "LearningRate");
@@ -241,56 +242,7 @@
     #endregion
 
-    private string ArrayToString<T>(T[] array) {
-      StringBuilder s = new StringBuilder();
-      foreach (T element in array)
-        s.Append(element + "; ");
-      s.Remove(s.Length - 2, 2);
-      return s.ToString();
-    }
-
-    private double[] StringToDoubleArray(string str) {
-      
-      string[] s = str.Split(new char[] { ';' });
-      double[] tmp = new double[s.Length];
-      try {
-        for (int i = 0; i < s.Length; i++) {
-          tmp[i] = double.Parse(s[i]);
-        }
-      } catch (FormatException) {        
-        return null;
-      }
-      return tmp;
-    }
-
-    private void initialMutationStrengthVectorTextBox_Validated(object sender, EventArgs e) {
-      double[] tmp = StringToDoubleArray(initialMutationStrengthVectorTextBox.Text);
-      if (tmp != null) ES.ShakingFactors = tmp;
-      else MessageBox.Show("Please use colons \";\" (without the quotes) to delimite the items like this: " + (1.2).ToString() + ";" + (1.1).ToString() + ";" + (3.453).ToString());
-      int dim = int.Parse(problemDimensionTextBox.Text);
-      if (ES.ShakingFactors.Length != dim) {
-        problemDimensionTextBox.Text = ES.ShakingFactors.Length.ToString();
-        UpdateLearningRates();
-      }
+    private void problemDimensionTextBox_Validated(object sender, EventArgs e) {
+      UpdateLearningRates();
       Refresh();
-    }
-
-    private void problemDimensionTextBox_Validated(object sender, EventArgs e) {
-      double[] tmp = StringToDoubleArray(initialMutationStrengthVectorTextBox.Text);
-      if (tmp != null) {
-        int dim = 0;
-        try {
-          dim = int.Parse(problemDimensionTextBox.Text);
-          if (dim < 1) throw new FormatException();
-        } catch (FormatException) {
-          MessageBox.Show("Problem Dimension must contain an integer > 0");
-        }
-        double[] shakingFactors = new double[dim];
-        for (int i = 0; i < dim; i++) {
-          shakingFactors[i] = tmp[i % tmp.Length];
-        }
-        ES.ShakingFactors = shakingFactors;
-        UpdateLearningRates();
-        Refresh();
-      }
     }
 
Index: /trunk/sources/HeuristicLab.ES/ESEditor.resx
===================================================================
--- /trunk/sources/HeuristicLab.ES/ESEditor.resx	(revision 1221)
+++ /trunk/sources/HeuristicLab.ES/ESEditor.resx	(revision 1222)
@@ -121,8 +121,10 @@
     <value>7, 3</value>
   </metadata>
-  <metadata name="toolTip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>7, 3</value>
-  </metadata>
-  <data name="initialMutationStrengthVectorTextBox.ToolTip" xml:space="preserve">
+  <data name="shakingFactorsUpperBoundTextBox.ToolTip" xml:space="preserve">
+    <value>Enter a pattern that is used to generate the initial strategy vector.
+This can be a single number, or a pattern of numbers which is used until the dimension is reached.
+Use the colon ; to separate two numbers.</value>
+  </data>
+  <data name="shakingFactorsLowerBoundTextBox.ToolTip" xml:space="preserve">
     <value>Enter a pattern that is used to generate the initial strategy vector.
 This can be a single number, or a pattern of numbers which is used until the dimension is reached.
Index: /trunk/sources/HeuristicLab.ES/HeuristicLab.ES.csproj
===================================================================
--- /trunk/sources/HeuristicLab.ES/HeuristicLab.ES.csproj	(revision 1221)
+++ /trunk/sources/HeuristicLab.ES/HeuristicLab.ES.csproj	(revision 1222)
@@ -90,8 +90,4 @@
       <Name>HeuristicLab.Data</Name>
     </ProjectReference>
-    <ProjectReference Include="..\HeuristicLab.Evolutionary\HeuristicLab.Evolutionary.csproj">
-      <Project>{F5614C53-153C-4A37-A608-121E1C087F07}</Project>
-      <Name>HeuristicLab.Evolutionary</Name>
-    </ProjectReference>
     <ProjectReference Include="..\HeuristicLab.Logging\HeuristicLab.Logging.csproj">
       <Project>{4095C92C-5A4C-44BC-9963-5F384CF5CC3F}</Project>
@@ -110,7 +106,7 @@
       <Name>HeuristicLab.Random</Name>
     </ProjectReference>
-    <ProjectReference Include="..\HeuristicLab.Selection.OffspringSelection\HeuristicLab.Selection.OffspringSelection.csproj">
-      <Project>{205898D3-2717-4686-AF17-52409B7EC0C6}</Project>
-      <Name>HeuristicLab.Selection.OffspringSelection</Name>
+    <ProjectReference Include="..\HeuristicLab.RealVector\HeuristicLab.RealVector.csproj">
+      <Project>{2D4E4565-3ED9-4BEB-AE75-39D871843D24}</Project>
+      <Name>HeuristicLab.RealVector</Name>
     </ProjectReference>
     <ProjectReference Include="..\HeuristicLab.Selection\HeuristicLab.Selection.csproj">
Index: /trunk/sources/HeuristicLab.ES/HeuristicLabESPlugin.cs
===================================================================
--- /trunk/sources/HeuristicLab.ES/HeuristicLabESPlugin.cs	(revision 1221)
+++ /trunk/sources/HeuristicLab.ES/HeuristicLabESPlugin.cs	(revision 1222)
@@ -33,11 +33,10 @@
   [Dependency(Dependency = "HeuristicLab.Core-3.2")]
   [Dependency(Dependency = "HeuristicLab.Data-3.2")]
-  [Dependency(Dependency = "HeuristicLab.Evolutionary-3.2")]
   [Dependency(Dependency = "HeuristicLab.Logging-3.2")]
   [Dependency(Dependency = "HeuristicLab.Operators-3.2")]
   [Dependency(Dependency = "HeuristicLab.Random-3.2")]
   [Dependency(Dependency = "HeuristicLab.Selection-3.2")]
-  [Dependency(Dependency = "HeuristicLab.Selection.OffspringSelection-3.2")]
   [Dependency(Dependency = "HeuristicLab.SequentialEngine-3.2")]
+  [Dependency(Dependency = "HeuristicLab.RealVector-3.2")]
   public class HeuristicLabESPlugin : PluginBase {
   }
