Index: /trunk/sources/HeuristicLab.ES/ESEditor.Designer.cs
===================================================================
--- /trunk/sources/HeuristicLab.ES/ESEditor.Designer.cs	(revision 1111)
+++ /trunk/sources/HeuristicLab.ES/ESEditor.Designer.cs	(revision 1112)
@@ -80,4 +80,5 @@
       this.problemInitializationTextBox = new System.Windows.Forms.TextBox();
       this.setRandomSeedRandomlyCheckBox = new System.Windows.Forms.CheckBox();
+      this.problemDimensionTextBox = new System.Windows.Forms.TextBox();
       this.initialMutationStrengthVectorTextBox = new System.Windows.Forms.TextBox();
       this.evaluationLabel = new System.Windows.Forms.Label();
@@ -85,4 +86,5 @@
       this.solutionGenerationLabel = new System.Windows.Forms.Label();
       this.problemInitializationLabel = new System.Windows.Forms.Label();
+      this.problemDimensionLabel = new System.Windows.Forms.Label();
       this.initialMutationStrengthLabel = new System.Windows.Forms.Label();
       this.mutationRateLabel = new System.Windows.Forms.Label();
@@ -106,6 +108,4 @@
       this.cloneEngineButton = new System.Windows.Forms.Button();
       this.toolTip = new System.Windows.Forms.ToolTip(this.components);
-      this.problemDimensionLabel = new System.Windows.Forms.Label();
-      this.problemDimensionTextBox = new System.Windows.Forms.TextBox();
       this.tabControl.SuspendLayout();
       this.parametersTabPage.SuspendLayout();
@@ -215,4 +215,6 @@
       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
@@ -233,4 +235,6 @@
       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
@@ -494,4 +498,13 @@
       this.setRandomSeedRandomlyCheckBox.UseVisualStyleBackColor = true;
       // 
+      // problemDimensionTextBox
+      // 
+      this.problemDimensionTextBox.Anchor = System.Windows.Forms.AnchorStyles.None;
+      this.problemDimensionTextBox.Location = new System.Drawing.Point(168, 172);
+      this.problemDimensionTextBox.Name = "problemDimensionTextBox";
+      this.problemDimensionTextBox.Size = new System.Drawing.Size(186, 20);
+      this.problemDimensionTextBox.TabIndex = 13;
+      this.problemDimensionTextBox.Validated += new System.EventHandler(this.problemDimensionTextBox_Validated);
+      // 
       // initialMutationStrengthVectorTextBox
       // 
@@ -543,4 +556,14 @@
       this.problemInitializationLabel.TabIndex = 19;
       this.problemInitializationLabel.Text = "&Problem Initialization:";
+      // 
+      // problemDimensionLabel
+      // 
+      this.problemDimensionLabel.Anchor = System.Windows.Forms.AnchorStyles.None;
+      this.problemDimensionLabel.AutoSize = true;
+      this.problemDimensionLabel.Location = new System.Drawing.Point(7, 175);
+      this.problemDimensionLabel.Name = "problemDimensionLabel";
+      this.problemDimensionLabel.Size = new System.Drawing.Size(100, 13);
+      this.problemDimensionLabel.TabIndex = 12;
+      this.problemDimensionLabel.Text = "Problem Dimension:";
       // 
       // initialMutationStrengthLabel
@@ -694,5 +717,5 @@
       this.scopesTabPage.Name = "scopesTabPage";
       this.scopesTabPage.Padding = new System.Windows.Forms.Padding(3);
-      this.scopesTabPage.Size = new System.Drawing.Size(493, 461);
+      this.scopesTabPage.Size = new System.Drawing.Size(493, 495);
       this.scopesTabPage.TabIndex = 2;
       this.scopesTabPage.Text = "Scopes";
@@ -706,5 +729,5 @@
       this.scopeView.Name = "scopeView";
       this.scopeView.Scope = null;
-      this.scopeView.Size = new System.Drawing.Size(487, 455);
+      this.scopeView.Size = new System.Drawing.Size(487, 489);
       this.scopeView.TabIndex = 0;
       // 
@@ -749,23 +772,4 @@
       this.toolTip.InitialDelay = 200;
       this.toolTip.ReshowDelay = 40;
-      // 
-      // problemDimensionLabel
-      // 
-      this.problemDimensionLabel.Anchor = System.Windows.Forms.AnchorStyles.None;
-      this.problemDimensionLabel.AutoSize = true;
-      this.problemDimensionLabel.Location = new System.Drawing.Point(7, 175);
-      this.problemDimensionLabel.Name = "problemDimensionLabel";
-      this.problemDimensionLabel.Size = new System.Drawing.Size(100, 13);
-      this.problemDimensionLabel.TabIndex = 12;
-      this.problemDimensionLabel.Text = "Problem Dimension:";
-      // 
-      // problemDimensionTextBox
-      // 
-      this.problemDimensionTextBox.Anchor = System.Windows.Forms.AnchorStyles.None;
-      this.problemDimensionTextBox.Location = new System.Drawing.Point(168, 172);
-      this.problemDimensionTextBox.Name = "problemDimensionTextBox";
-      this.problemDimensionTextBox.Size = new System.Drawing.Size(186, 20);
-      this.problemDimensionTextBox.TabIndex = 13;
-      this.problemDimensionTextBox.Validated += new System.EventHandler(this.problemDimensionTextBox_Validated);
       // 
       // ESEditor
Index: /trunk/sources/HeuristicLab.ES/ESEditor.cs
===================================================================
--- /trunk/sources/HeuristicLab.ES/ESEditor.cs	(revision 1111)
+++ /trunk/sources/HeuristicLab.ES/ESEditor.cs	(revision 1112)
@@ -61,4 +61,6 @@
       : this() {
       ES = es;
+      int dimension = es.ShakingFactors.Length;
+      problemDimensionTextBox.Text = dimension.ToString();
     }
 
@@ -268,4 +270,5 @@
       if (ES.ShakingFactors.Length != dim) {
         problemDimensionTextBox.Text = ES.ShakingFactors.Length.ToString();
+        UpdateLearningRates();
       }
       Refresh();
@@ -287,5 +290,14 @@
         }
         ES.ShakingFactors = shakingFactors;
+        UpdateLearningRates();
         Refresh();
+      }
+    }
+
+    private void UpdateLearningRates() {
+      if (ES != null) {
+        int dimension = int.Parse(problemDimensionTextBox.Text);
+        ES.GeneralLearningRate = 1 / Math.Sqrt(2 * dimension);
+        ES.LearningRate = 1 / Math.Sqrt(2 * Math.Sqrt(dimension));
       }
     }
Index: /trunk/sources/HeuristicLab.ES/ESEditor.resx
===================================================================
--- /trunk/sources/HeuristicLab.ES/ESEditor.resx	(revision 1111)
+++ /trunk/sources/HeuristicLab.ES/ESEditor.resx	(revision 1112)
@@ -121,4 +121,7 @@
     <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">
     <value>Enter a pattern that is used to generate the initial strategy vector.
