Changeset 1091 for trunk/sources
- Timestamp:
- 01/08/09 10:19:30 (16 years ago)
- Location:
- trunk/sources/HeuristicLab.ES
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.ES/ES.cs
r896 r1091 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-200 8Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2009 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. … … 48 48 49 49 CombinedOperator co = CreateES(); 50 co.Name = " ES";50 co.Name = "σSA-ES"; 51 51 engine.OperatorGraph.AddOperator(co); 52 52 engine.OperatorGraph.InitialOperator = co; … … 134 134 vi.AddVariable(new Variable("Generations", new IntData())); 135 135 vi.AddVariable(new Variable("MaximumGenerations", new IntData(1000))); 136 vi.AddVariable(new Variable("GeneralLearningRate", new DoubleData(0.1))); 136 137 vi.AddVariable(new Variable("LearningRate", new DoubleData(0.1))); 137 vi.AddVariable(new Variable("DampeningFactor", new DoubleData(10.0)));138 vi.AddVariable(new Variable("ShakingFactor", new DoubleData(5.0)));139 vi.AddVariable(new Variable("TargetSuccessProbability", new DoubleData(0.2)));140 vi.AddVariable(new Variable("SuccessProbability", new DoubleData(0.2)));141 vi.AddVariable(new Variable("UseSuccessRule", new BoolData(true)));142 138 op.OperatorGraph.AddOperator(vi); 143 139 sp.AddSubOperator(vi); … … 180 176 op.OperatorGraph.AddOperator(c); 181 177 sp2.AddSubOperator(c); 178 179 VariableInjector vi = new VariableInjector(); 180 vi.AddVariable(new Variable("ShakingFactors", new DoubleArrayData(new double[] { 5.0 }))); 181 op.OperatorGraph.AddOperator(vi); 182 sp2.AddSubOperator(vi); 182 183 183 184 Sorter s = new Sorter(); … … 285 286 op.OperatorGraph.InitialOperator = sp1; 286 287 287 ConditionalBranch cb = new ConditionalBranch();288 cb.GetVariableInfo("Condition").ActualName = "UseSuccessRule";289 op.OperatorGraph.AddOperator(cb);290 sp1.AddSubOperator(cb);291 292 SequentialProcessor sp2 = new SequentialProcessor();293 op.OperatorGraph.AddOperator(sp2);294 cb.AddSubOperator(sp2);295 296 OffspringAnalyzer oa = new OffspringAnalyzer();297 oa.Name = "Offspring Analyzer";298 oa.GetVariable("ParentsCount").Value = new IntData(1);299 oa.GetVariable("ComparisonFactor").Value = new DoubleData(0.0);300 op.OperatorGraph.AddOperator(oa);301 sp2.AddSubOperator(oa);302 303 SequentialProcessor sp3 = new SequentialProcessor();304 op.OperatorGraph.AddOperator(sp3);305 oa.AddSubOperator(sp3);306 cb.AddSubOperator(sp3);307 308 288 OperatorExtractor oe1 = new OperatorExtractor(); 309 289 oe1.Name = "Recombinator"; 310 290 oe1.GetVariableInfo("Operator").ActualName = "Recombinator"; 311 291 op.OperatorGraph.AddOperator(oe1); 312 sp 3.AddSubOperator(oe1);292 sp1.AddSubOperator(oe1); 313 293 314 294 UniformSequentialSubScopesProcessor ussp = new UniformSequentialSubScopesProcessor(); 315 295 op.OperatorGraph.AddOperator(ussp); 316 sp 3.AddSubOperator(ussp);317 318 SequentialProcessor sp 4= new SequentialProcessor();319 op.OperatorGraph.AddOperator(sp 4);320 ussp.AddSubOperator(sp 4);296 sp1.AddSubOperator(ussp); 297 298 SequentialProcessor sp2 = new SequentialProcessor(); 299 op.OperatorGraph.AddOperator(sp2); 300 ussp.AddSubOperator(sp2); 321 301 322 302 OperatorExtractor oe2 = new OperatorExtractor(); … … 324 304 oe2.GetVariableInfo("Operator").ActualName = "Mutator"; 325 305 op.OperatorGraph.AddOperator(oe2); 326 sp 4.AddSubOperator(oe2);306 sp2.AddSubOperator(oe2); 327 307 328 308 OperatorExtractor oe3 = new OperatorExtractor(); … … 330 310 oe3.GetVariableInfo("Operator").ActualName = "Evaluator"; 331 311 op.OperatorGraph.AddOperator(oe3); 332 sp 4.AddSubOperator(oe3);312 sp2.AddSubOperator(oe3); 333 313 334 314 Counter c = new Counter(); 335 315 c.GetVariableInfo("Value").ActualName = "EvaluatedSolutions"; 336 316 op.OperatorGraph.AddOperator(c); 337 sp4.AddSubOperator(c); 338 339 SuccessRuleMutationStrengthAdjuster srmsa = new SuccessRuleMutationStrengthAdjuster(); 340 srmsa.Name = "SuccessRuleMutationStrengthAdjuster"; 341 op.OperatorGraph.AddOperator(srmsa); 342 sp2.AddSubOperator(srmsa); 317 sp2.AddSubOperator(c); 343 318 344 319 Sorter s = new Sorter(); … … 411 386 /// Gets or sets the µ value of the current instance. 412 387 /// </summary> 413 /// <remarks>Sets also the lambda and the rho value. Calls <see cref="ItemBase.OnChanged"/> of388 /// <remarks>Sets also the λ and the ρ value if necessary. Using the comma notation it must hold that λ >= µ and generally µ >= ρ must hold as well. Calls <see cref="ItemBase.OnChanged"/> of 414 389 /// base class <see cref="ItemBase"/>.</remarks> 415 390 public int Mu { … … 426 401 private IntData myRho; 427 402 /// <summary> 428 /// Gets or sets the rhovalue of the current instance.429 /// </summary> 430 /// <remarks>Sets also the µ value . Calls <see cref="ItemBase.OnChanged"/> of403 /// Gets or sets the ρ value of the current instance. 404 /// </summary> 405 /// <remarks>Sets also the µ value to be as large as the new ρ value if it was smaller before. Calls <see cref="ItemBase.OnChanged"/> of 431 406 /// base class <see cref="ItemBase"/>.</remarks> 432 407 public int Rho { … … 442 417 private IntData myLambda; 443 418 /// <summary> 444 /// Gets or sets the lambdavalue of the current instance.445 /// </summary> 446 /// <remarks> May also change the µ value under certain circumstances.419 /// Gets or sets the λ value of the current instance. 420 /// </summary> 421 /// <remarks>If the comma notation is used, it also changes the µ value to be as large as the new λ value if it was larger before. Note that in general for good optimization results it needs to be fairly larger than mu. 447 422 /// Calls <see cref="ItemBase.OnChanged"/> of base class <see cref="ItemBase"/>.</remarks> 448 423 public int Lambda { … … 452 427 if (PlusNotation) myLambda.Data = value; 453 428 else { 454 if (value > 1 && value < Mu) {429 if (value >= 1 && value < Mu) { 455 430 myLambda.Data = value; 456 myMu.Data = value - 1; 457 } else if (value == 1) { 458 myMu.Data = 1; 459 myLambda.Data = 2; 431 myMu.Data = value; 460 432 } else if (value > Mu) { 461 433 myLambda.Data = value; … … 468 440 private BoolData myPlusNotation; 469 441 /// <summary> 470 /// Gets or sets the boolean flag whether it is a plus notation or not.471 /// </summary> 472 /// <remarks> May also set the lambda value under certain circumstances.442 /// Gets or sets the boolean flag whether the plus notation is used (true) or the comma notation (false). 443 /// </summary> 444 /// <remarks>If set to false (comma notation) it sets λ to be as large as µ if is lower. Note that in general for good optimization results it needs to be fairly larger than µ. 473 445 /// Calls <see cref="ItemBase.OnChanged"/> of base class <see cref="ItemBase"/>.</remarks> 474 446 public bool PlusNotation { … … 476 448 set { 477 449 if (!value && myPlusNotation.Data) { // from plus to point 478 if (Lambda < =Mu) {479 myLambda.Data = Mu + 1;450 if (Lambda < Mu) { 451 myLambda.Data = Mu; 480 452 } 481 453 } … … 484 456 } 485 457 } 486 private DoubleData myShakingFactor; 487 /// <summary> 488 /// Gets or sets the shaking factor of the current instance. 489 /// </summary> 490 public double ShakingFactor { 491 get { return myShakingFactor.Data; } 492 set { myShakingFactor.Data = value; } 493 } 494 private DoubleData mySuccessProbability; 495 496 private DoubleData myTargetSuccessProbability; 497 /// <summary> 498 /// Gets or sets the success probability. 499 /// </summary> 500 /// <remarks>Gets the target success probability and sets also the target success probability.</remarks> 501 public double SuccessProbability { 502 get { return myTargetSuccessProbability.Data; } 503 set { 504 myTargetSuccessProbability.Data = value; 505 mySuccessProbability.Data = value; 458 private DoubleArrayData myShakingFactors; 459 /// <summary> 460 /// Gets or sets the initial strategy vector s(0). 461 /// </summary> 462 /// <remarks>Calls <see cref="ItemBase.OnChanged"/> of base class <see cref="ItemBase"/> 463 /// in the setter.</remarks> 464 public double[] ShakingFactors { 465 get { return myShakingFactors.Data; } 466 set { myShakingFactors.Data = value; } 467 } 468 private DoubleData myGeneralLearningRate; 469 /// <summary> 470 /// Gets or sets the general learning rate (tau0). 471 /// </summary> 472 /// <remarks>Calls <see cref="ItemBase.OnChanged"/> of base class <see cref="ItemBase"/> 473 /// in the setter.</remarks> 474 public double GeneralLearningRate { 475 get { return myGeneralLearningRate.Data; } 476 set { 477 if (value > 0.0 && value <= 1.0) { 478 myGeneralLearningRate.Data = value; 479 OnChanged(); 480 } 506 481 } 507 482 } 508 483 private DoubleData myLearningRate; 509 484 /// <summary> 510 /// Gets or sets the learning rate .485 /// Gets or sets the learning rate (tau). 511 486 /// </summary> 512 487 /// <remarks>Calls <see cref="ItemBase.OnChanged"/> of base class <see cref="ItemBase"/> … … 521 496 } 522 497 } 523 private DoubleData myDampeningFactor;524 /// <summary>525 /// Gets or sets the dampening factor.526 /// </summary>527 /// <remarks>Calls <see cref="ItemBase.OnChanged"/> of base class <see cref="ItemBase"/>528 /// in the setter.</remarks>529 public double DampeningFactor {530 get { return myDampeningFactor.Data; }531 set {532 if (value >= 1.0) {533 myDampeningFactor.Data = value;534 OnChanged();535 }536 }537 }538 498 private IntData myMaximumGenerations; 539 499 /// <summary> … … 543 503 get { return myMaximumGenerations.Data; } 544 504 set { myMaximumGenerations.Data = value; } 545 }546 private BoolData myUseSuccessRule;547 /// <summary>548 /// Gets or sets the boolean flag whether to use the success rule or not.549 /// </summary>550 public bool UseSuccessRule {551 get { return myUseSuccessRule.Data; }552 set { myUseSuccessRule.Data = value; }553 505 } 554 506 private CombinedOperator myES; … … 681 633 myMaximumGenerations = vi.GetVariable("MaximumGenerations").GetValue<IntData>(); 682 634 myPlusNotation = vi.GetVariable("PlusNotation").GetValue<BoolData>(); 683 myShakingFactor = vi.GetVariable("ShakingFactor").GetValue<DoubleData>(); 684 myTargetSuccessProbability = vi.GetVariable("TargetSuccessProbability").GetValue<DoubleData>(); 685 mySuccessProbability = vi.GetVariable("SuccessProbability").GetValue<DoubleData>(); 635 myGeneralLearningRate = vi.GetVariable("GeneralLearningRate").GetValue<DoubleData>(); 686 636 myLearningRate = vi.GetVariable("LearningRate").GetValue<DoubleData>(); 687 myDampeningFactor = vi.GetVariable("DampeningFactor").GetValue<DoubleData>();688 myUseSuccessRule = vi.GetVariable("UseSuccessRule").GetValue<BoolData>();689 637 // Population Initialization 690 638 CombinedOperator co3 = (CombinedOperator)sp1.SubOperators[1]; 691 639 myPopulationInitialization = co3; 640 // Variable Injector 641 VariableInjector vi2 = (VariableInjector)co3.OperatorGraph.InitialOperator.SubOperators[1].SubOperators[0].SubOperators[3]; 642 myShakingFactors = vi2.GetVariable("ShakingFactors").GetValue<DoubleArrayData>(); 692 643 // ES Main 693 644 CombinedOperator co4 = (CombinedOperator)sp1.SubOperators[2]; -
trunk/sources/HeuristicLab.ES/ESEditor.Designer.cs
r98 r1091 1 #region License Information1 #region License Information 2 2 /* HeuristicLab 3 3 * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL) … … 46 46 /// </summary> 47 47 private void InitializeComponent() { 48 this.components = new System.ComponentModel.Container(); 49 System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ESEditor)); 48 50 this.executeButton = new System.Windows.Forms.Button(); 49 51 this.tabControl = new System.Windows.Forms.TabControl(); 50 52 this.parametersTabPage = new System.Windows.Forms.TabPage(); 51 53 this.successRuleGroupBox = new System.Windows.Forms.GroupBox(); 52 this.dampeningFactorTextBox = new System.Windows.Forms.TextBox();53 this.dampeningFactorLabel = new System.Windows.Forms.Label();54 54 this.learningRateTextBox = new System.Windows.Forms.TextBox(); 55 55 this.label1 = new System.Windows.Forms.Label(); 56 this. targetSuccessRateTextBox = new System.Windows.Forms.TextBox();56 this.generalLearningRateTextBox = new System.Windows.Forms.TextBox(); 57 57 this.targetSuccessRateLabel = new System.Windows.Forms.Label(); 58 this.label8 = new System.Windows.Forms.Label(); 59 this.label7 = new System.Windows.Forms.Label(); 58 60 this.parentSelectionGroupBox = new System.Windows.Forms.GroupBox(); 59 61 this.commaRadioButton = new System.Windows.Forms.RadioButton(); … … 65 67 this.rhoTextBox = new System.Windows.Forms.TextBox(); 66 68 this.rhoLabel = new System.Windows.Forms.Label(); 67 this.useSuccessRuleCheckBox = new System.Windows.Forms.CheckBox();68 69 this.setEvaluationButton = new System.Windows.Forms.Button(); 69 70 this.setMutationButton = new System.Windows.Forms.Button(); … … 79 80 this.problemInitializationTextBox = new System.Windows.Forms.TextBox(); 80 81 this.setRandomSeedRandomlyCheckBox = new System.Windows.Forms.CheckBox(); 81 this.initialMutationStrength TextBox = new System.Windows.Forms.TextBox();82 this.initialMutationStrengthVectorTextBox = new System.Windows.Forms.TextBox(); 82 83 this.evaluationLabel = new System.Windows.Forms.Label(); 83 84 this.mutationLabel = new System.Windows.Forms.Label(); … … 92 93 this.setRandomSeedRandomlyLabel = new System.Windows.Forms.Label(); 93 94 this.randomSeedLabel = new System.Windows.Forms.Label(); 95 this.label6 = new System.Windows.Forms.Label(); 96 this.label5 = new System.Windows.Forms.Label(); 97 this.label4 = new System.Windows.Forms.Label(); 98 this.label3 = new System.Windows.Forms.Label(); 99 this.label2 = new System.Windows.Forms.Label(); 94 100 this.populationSizeLabel = new System.Windows.Forms.Label(); 95 101 this.lambdaTextBox = new System.Windows.Forms.TextBox(); … … 99 105 this.resetButton = new System.Windows.Forms.Button(); 100 106 this.cloneEngineButton = new System.Windows.Forms.Button(); 107 this.toolTip = new System.Windows.Forms.ToolTip(this.components); 108 this.problemDimensionLabel = new System.Windows.Forms.Label(); 109 this.problemDimensionTextBox = new System.Windows.Forms.TextBox(); 101 110 this.tabControl.SuspendLayout(); 102 111 this.parametersTabPage.SuspendLayout(); … … 109 118 // 110 119 this.executeButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); 111 this.executeButton.Location = new System.Drawing.Point(0, 52 9);120 this.executeButton.Location = new System.Drawing.Point(0, 527); 112 121 this.executeButton.Name = "executeButton"; 113 122 this.executeButton.Size = new System.Drawing.Size(75, 23); … … 127 136 this.tabControl.Name = "tabControl"; 128 137 this.tabControl.SelectedIndex = 0; 129 this.tabControl.Size = new System.Drawing.Size(5 26, 523);138 this.tabControl.Size = new System.Drawing.Size(501, 521); 130 139 this.tabControl.TabIndex = 0; 131 140 // … … 140 149 this.parametersTabPage.Controls.Add(this.rhoTextBox); 141 150 this.parametersTabPage.Controls.Add(this.rhoLabel); 142 this.parametersTabPage.Controls.Add(this.useSuccessRuleCheckBox);143 151 this.parametersTabPage.Controls.Add(this.setEvaluationButton); 144 152 this.parametersTabPage.Controls.Add(this.setMutationButton); … … 154 162 this.parametersTabPage.Controls.Add(this.problemInitializationTextBox); 155 163 this.parametersTabPage.Controls.Add(this.setRandomSeedRandomlyCheckBox); 156 this.parametersTabPage.Controls.Add(this.initialMutationStrengthTextBox); 164 this.parametersTabPage.Controls.Add(this.problemDimensionTextBox); 165 this.parametersTabPage.Controls.Add(this.initialMutationStrengthVectorTextBox); 157 166 this.parametersTabPage.Controls.Add(this.evaluationLabel); 158 167 this.parametersTabPage.Controls.Add(this.mutationLabel); 159 168 this.parametersTabPage.Controls.Add(this.solutionGenerationLabel); 160 169 this.parametersTabPage.Controls.Add(this.problemInitializationLabel); 170 this.parametersTabPage.Controls.Add(this.problemDimensionLabel); 161 171 this.parametersTabPage.Controls.Add(this.initialMutationStrengthLabel); 162 172 this.parametersTabPage.Controls.Add(this.mutationRateLabel); … … 167 177 this.parametersTabPage.Controls.Add(this.setRandomSeedRandomlyLabel); 168 178 this.parametersTabPage.Controls.Add(this.randomSeedLabel); 179 this.parametersTabPage.Controls.Add(this.label6); 180 this.parametersTabPage.Controls.Add(this.label5); 181 this.parametersTabPage.Controls.Add(this.label4); 182 this.parametersTabPage.Controls.Add(this.label3); 183 this.parametersTabPage.Controls.Add(this.label2); 169 184 this.parametersTabPage.Controls.Add(this.populationSizeLabel); 170 185 this.parametersTabPage.Controls.Add(this.lambdaTextBox); … … 172 187 this.parametersTabPage.Name = "parametersTabPage"; 173 188 this.parametersTabPage.Padding = new System.Windows.Forms.Padding(3); 174 this.parametersTabPage.Size = new System.Drawing.Size( 518, 497);189 this.parametersTabPage.Size = new System.Drawing.Size(493, 495); 175 190 this.parametersTabPage.TabIndex = 0; 176 191 this.parametersTabPage.Text = "Parameters"; … … 180 195 // 181 196 this.successRuleGroupBox.Anchor = System.Windows.Forms.AnchorStyles.None; 182 this.successRuleGroupBox.Controls.Add(this.dampeningFactorTextBox);183 this.successRuleGroupBox.Controls.Add(this.dampeningFactorLabel);184 197 this.successRuleGroupBox.Controls.Add(this.learningRateTextBox); 185 198 this.successRuleGroupBox.Controls.Add(this.label1); 186 this.successRuleGroupBox.Controls.Add(this. targetSuccessRateTextBox);199 this.successRuleGroupBox.Controls.Add(this.generalLearningRateTextBox); 187 200 this.successRuleGroupBox.Controls.Add(this.targetSuccessRateLabel); 188 this.successRuleGroupBox.Location = new System.Drawing.Point(68, 201); 201 this.successRuleGroupBox.Controls.Add(this.label8); 202 this.successRuleGroupBox.Controls.Add(this.label7); 203 this.successRuleGroupBox.Location = new System.Drawing.Point(9, 230); 189 204 this.successRuleGroupBox.Name = "successRuleGroupBox"; 190 this.successRuleGroupBox.Size = new System.Drawing.Size( 336, 100);205 this.successRuleGroupBox.Size = new System.Drawing.Size(476, 74); 191 206 this.successRuleGroupBox.TabIndex = 40; 192 207 this.successRuleGroupBox.TabStop = false; 193 this.successRuleGroupBox.Text = "Success Rule Mutation Strength Adjustment"; 194 // 195 // dampeningFactorTextBox 196 // 197 this.dampeningFactorTextBox.Anchor = System.Windows.Forms.AnchorStyles.Top; 198 this.dampeningFactorTextBox.Location = new System.Drawing.Point(150, 71); 199 this.dampeningFactorTextBox.Name = "dampeningFactorTextBox"; 200 this.dampeningFactorTextBox.Size = new System.Drawing.Size(180, 20); 201 this.dampeningFactorTextBox.TabIndex = 19; 202 // 203 // dampeningFactorLabel 204 // 205 this.dampeningFactorLabel.Anchor = System.Windows.Forms.AnchorStyles.Top; 206 this.dampeningFactorLabel.AutoSize = true; 207 this.dampeningFactorLabel.Location = new System.Drawing.Point(7, 74); 208 this.dampeningFactorLabel.Name = "dampeningFactorLabel"; 209 this.dampeningFactorLabel.Size = new System.Drawing.Size(97, 13); 210 this.dampeningFactorLabel.TabIndex = 18; 211 this.dampeningFactorLabel.Text = "Dampening Factor:"; 208 this.successRuleGroupBox.Text = "Mutation Strength Adjustment"; 212 209 // 213 210 // learningRateTextBox 214 211 // 215 212 this.learningRateTextBox.Anchor = System.Windows.Forms.AnchorStyles.Top; 216 this.learningRateTextBox.Location = new System.Drawing.Point(15 0, 45);213 this.learningRateTextBox.Location = new System.Drawing.Point(159, 45); 217 214 this.learningRateTextBox.Name = "learningRateTextBox"; 218 this.learningRateTextBox.Size = new System.Drawing.Size(18 0, 20);215 this.learningRateTextBox.Size = new System.Drawing.Size(186, 20); 219 216 this.learningRateTextBox.TabIndex = 17; 220 217 // … … 225 222 this.label1.Location = new System.Drawing.Point(7, 48); 226 223 this.label1.Name = "label1"; 227 this.label1.Size = new System.Drawing.Size( 77, 13);224 this.label1.Size = new System.Drawing.Size(92, 13); 228 225 this.label1.TabIndex = 16; 229 this.label1.Text = "Learning Rate :";230 // 231 // targetSuccessRateTextBox232 // 233 this. targetSuccessRateTextBox.Anchor = System.Windows.Forms.AnchorStyles.Top;234 this. targetSuccessRateTextBox.Location = new System.Drawing.Point(150, 19);235 this. targetSuccessRateTextBox.Name = "targetSuccessRateTextBox";236 this. targetSuccessRateTextBox.Size = new System.Drawing.Size(180, 20);237 this. targetSuccessRateTextBox.TabIndex = 15;226 this.label1.Text = "Learning Rate (τ):"; 227 // 228 // generalLearningRateTextBox 229 // 230 this.generalLearningRateTextBox.Anchor = System.Windows.Forms.AnchorStyles.Top; 231 this.generalLearningRateTextBox.Location = new System.Drawing.Point(159, 19); 232 this.generalLearningRateTextBox.Name = "generalLearningRateTextBox"; 233 this.generalLearningRateTextBox.Size = new System.Drawing.Size(186, 20); 234 this.generalLearningRateTextBox.TabIndex = 15; 238 235 // 239 236 // targetSuccessRateLabel … … 243 240 this.targetSuccessRateLabel.Location = new System.Drawing.Point(7, 22); 244 241 this.targetSuccessRateLabel.Name = "targetSuccessRateLabel"; 245 this.targetSuccessRateLabel.Size = new System.Drawing.Size(1 11, 13);242 this.targetSuccessRateLabel.Size = new System.Drawing.Size(138, 13); 246 243 this.targetSuccessRateLabel.TabIndex = 14; 247 this.targetSuccessRateLabel.Text = "Target Success Rate:"; 244 this.targetSuccessRateLabel.Text = "General Learning Rate (τ0):"; 245 // 246 // label8 247 // 248 this.label8.Anchor = System.Windows.Forms.AnchorStyles.None; 249 this.label8.AutoSize = true; 250 this.label8.Location = new System.Drawing.Point(348, 48); 251 this.label8.Name = "label8"; 252 this.label8.Size = new System.Drawing.Size(77, 13); 253 this.label8.TabIndex = 4; 254 this.label8.Text = "(LearningRate)"; 255 // 256 // label7 257 // 258 this.label7.Anchor = System.Windows.Forms.AnchorStyles.None; 259 this.label7.AutoSize = true; 260 this.label7.Location = new System.Drawing.Point(348, 22); 261 this.label7.Name = "label7"; 262 this.label7.Size = new System.Drawing.Size(114, 13); 263 this.label7.TabIndex = 4; 264 this.label7.Text = "(GeneralLearningRate)"; 248 265 // 249 266 // parentSelectionGroupBox … … 252 269 this.parentSelectionGroupBox.Controls.Add(this.commaRadioButton); 253 270 this.parentSelectionGroupBox.Controls.Add(this.plusRadioButton); 254 this.parentSelectionGroupBox.Location = new System.Drawing.Point( 218, 307);271 this.parentSelectionGroupBox.Location = new System.Drawing.Point(168, 310); 255 272 this.parentSelectionGroupBox.Name = "parentSelectionGroupBox"; 256 273 this.parentSelectionGroupBox.Size = new System.Drawing.Size(186, 38); … … 286 303 // 287 304 this.setRecombinationButton.Anchor = System.Windows.Forms.AnchorStyles.None; 288 this.setRecombinationButton.Location = new System.Drawing.Point(4 69, 465);305 this.setRecombinationButton.Location = new System.Drawing.Point(419, 458); 289 306 this.setRecombinationButton.Name = "setRecombinationButton"; 290 307 this.setRecombinationButton.Size = new System.Drawing.Size(43, 20); … … 297 314 // 298 315 this.viewRecombinationButton.Anchor = System.Windows.Forms.AnchorStyles.None; 299 this.viewRecombinationButton.Location = new System.Drawing.Point( 410, 465);316 this.viewRecombinationButton.Location = new System.Drawing.Point(360, 458); 300 317 this.viewRecombinationButton.Name = "viewRecombinationButton"; 301 318 this.viewRecombinationButton.Size = new System.Drawing.Size(53, 20); … … 308 325 // 309 326 this.recombinationTextBox.Anchor = System.Windows.Forms.AnchorStyles.None; 310 this.recombinationTextBox.Location = new System.Drawing.Point( 218, 465);327 this.recombinationTextBox.Location = new System.Drawing.Point(168, 458); 311 328 this.recombinationTextBox.Name = "recombinationTextBox"; 312 329 this.recombinationTextBox.ReadOnly = true; … … 318 335 this.recombinationLabel.Anchor = System.Windows.Forms.AnchorStyles.None; 319 336 this.recombinationLabel.AutoSize = true; 320 this.recombinationLabel.Location = new System.Drawing.Point(6 5, 468);337 this.recombinationLabel.Location = new System.Drawing.Point(6, 461); 321 338 this.recombinationLabel.Name = "recombinationLabel"; 322 339 this.recombinationLabel.Size = new System.Drawing.Size(81, 13); … … 327 344 // 328 345 this.rhoTextBox.Anchor = System.Windows.Forms.AnchorStyles.None; 329 this.rhoTextBox.Location = new System.Drawing.Point( 218, 94);346 this.rhoTextBox.Location = new System.Drawing.Point(168, 94); 330 347 this.rhoTextBox.Name = "rhoTextBox"; 331 348 this.rhoTextBox.Size = new System.Drawing.Size(186, 20); … … 336 353 this.rhoLabel.Anchor = System.Windows.Forms.AnchorStyles.None; 337 354 this.rhoLabel.AutoSize = true; 338 this.rhoLabel.Location = new System.Drawing.Point(65, 97); 355 this.rhoLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); 356 this.rhoLabel.Location = new System.Drawing.Point(6, 97); 339 357 this.rhoLabel.Name = "rhoLabel"; 340 this.rhoLabel.Size = new System.Drawing.Size( 30, 13);358 this.rhoLabel.Size = new System.Drawing.Size(45, 13); 341 359 this.rhoLabel.TabIndex = 6; 342 this.rhoLabel.Text = "Rho:"; 343 // 344 // useSuccessRuleCheckBox 345 // 346 this.useSuccessRuleCheckBox.Anchor = System.Windows.Forms.AnchorStyles.None; 347 this.useSuccessRuleCheckBox.AutoSize = true; 348 this.useSuccessRuleCheckBox.Checked = true; 349 this.useSuccessRuleCheckBox.CheckState = System.Windows.Forms.CheckState.Checked; 350 this.useSuccessRuleCheckBox.Location = new System.Drawing.Point(410, 248); 351 this.useSuccessRuleCheckBox.Name = "useSuccessRuleCheckBox"; 352 this.useSuccessRuleCheckBox.Size = new System.Drawing.Size(51, 17); 353 this.useSuccessRuleCheckBox.TabIndex = 16; 354 this.useSuccessRuleCheckBox.Text = "Use?"; 355 this.useSuccessRuleCheckBox.UseVisualStyleBackColor = true; 356 this.useSuccessRuleCheckBox.CheckedChanged += new System.EventHandler(this.useSuccessRuleCheckBox_CheckedChanged); 360 this.rhoLabel.Text = "Rho (ρ):"; 357 361 // 358 362 // setEvaluationButton 359 363 // 360 364 this.setEvaluationButton.Anchor = System.Windows.Forms.AnchorStyles.None; 361 this.setEvaluationButton.Location = new System.Drawing.Point(4 69, 439);365 this.setEvaluationButton.Location = new System.Drawing.Point(419, 432); 362 366 this.setEvaluationButton.Name = "setEvaluationButton"; 363 367 this.setEvaluationButton.Size = new System.Drawing.Size(43, 20); … … 370 374 // 371 375 this.setMutationButton.Anchor = System.Windows.Forms.AnchorStyles.None; 372 this.setMutationButton.Location = new System.Drawing.Point(4 69, 413);376 this.setMutationButton.Location = new System.Drawing.Point(419, 406); 373 377 this.setMutationButton.Name = "setMutationButton"; 374 378 this.setMutationButton.Size = new System.Drawing.Size(43, 20); … … 381 385 // 382 386 this.setSolutionGenerationButton.Anchor = System.Windows.Forms.AnchorStyles.None; 383 this.setSolutionGenerationButton.Location = new System.Drawing.Point(4 69, 387);387 this.setSolutionGenerationButton.Location = new System.Drawing.Point(419, 380); 384 388 this.setSolutionGenerationButton.Name = "setSolutionGenerationButton"; 385 389 this.setSolutionGenerationButton.Size = new System.Drawing.Size(43, 20); … … 392 396 // 393 397 this.viewEvaluationButton.Anchor = System.Windows.Forms.AnchorStyles.None; 394 this.viewEvaluationButton.Location = new System.Drawing.Point( 410, 439);398 this.viewEvaluationButton.Location = new System.Drawing.Point(360, 432); 395 399 this.viewEvaluationButton.Name = "viewEvaluationButton"; 396 400 this.viewEvaluationButton.Size = new System.Drawing.Size(53, 20); … … 403 407 // 404 408 this.viewMutationButton.Anchor = System.Windows.Forms.AnchorStyles.None; 405 this.viewMutationButton.Location = new System.Drawing.Point( 410, 413);409 this.viewMutationButton.Location = new System.Drawing.Point(360, 406); 406 410 this.viewMutationButton.Name = "viewMutationButton"; 407 411 this.viewMutationButton.Size = new System.Drawing.Size(53, 20); … … 414 418 // 415 419 this.viewSolutionGenerationButton.Anchor = System.Windows.Forms.AnchorStyles.None; 416 this.viewSolutionGenerationButton.Location = new System.Drawing.Point( 410, 387);420 this.viewSolutionGenerationButton.Location = new System.Drawing.Point(360, 380); 417 421 this.viewSolutionGenerationButton.Name = "viewSolutionGenerationButton"; 418 422 this.viewSolutionGenerationButton.Size = new System.Drawing.Size(53, 20); … … 425 429 // 426 430 this.viewProblemInitializationButton.Anchor = System.Windows.Forms.AnchorStyles.None; 427 this.viewProblemInitializationButton.Location = new System.Drawing.Point( 410, 361);431 this.viewProblemInitializationButton.Location = new System.Drawing.Point(360, 354); 428 432 this.viewProblemInitializationButton.Name = "viewProblemInitializationButton"; 429 433 this.viewProblemInitializationButton.Size = new System.Drawing.Size(53, 20); … … 436 440 // 437 441 this.setProblemInitializationButton.Anchor = System.Windows.Forms.AnchorStyles.None; 438 this.setProblemInitializationButton.Location = new System.Drawing.Point(4 69, 361);442 this.setProblemInitializationButton.Location = new System.Drawing.Point(419, 354); 439 443 this.setProblemInitializationButton.Name = "setProblemInitializationButton"; 440 444 this.setProblemInitializationButton.Size = new System.Drawing.Size(43, 20); … … 447 451 // 448 452 this.evaluationTextBox.Anchor = System.Windows.Forms.AnchorStyles.None; 449 this.evaluationTextBox.Location = new System.Drawing.Point( 218, 439);453 this.evaluationTextBox.Location = new System.Drawing.Point(168, 432); 450 454 this.evaluationTextBox.Name = "evaluationTextBox"; 451 455 this.evaluationTextBox.ReadOnly = true; … … 456 460 // 457 461 this.mutationTextBox.Anchor = System.Windows.Forms.AnchorStyles.None; 458 this.mutationTextBox.Location = new System.Drawing.Point( 218, 413);462 this.mutationTextBox.Location = new System.Drawing.Point(168, 406); 459 463 this.mutationTextBox.Name = "mutationTextBox"; 460 464 this.mutationTextBox.ReadOnly = true; … … 465 469 // 466 470 this.solutionGenerationTextBox.Anchor = System.Windows.Forms.AnchorStyles.None; 467 this.solutionGenerationTextBox.Location = new System.Drawing.Point( 218, 387);471 this.solutionGenerationTextBox.Location = new System.Drawing.Point(168, 380); 468 472 this.solutionGenerationTextBox.Name = "solutionGenerationTextBox"; 469 473 this.solutionGenerationTextBox.ReadOnly = true; … … 474 478 // 475 479 this.problemInitializationTextBox.Anchor = System.Windows.Forms.AnchorStyles.None; 476 this.problemInitializationTextBox.Location = new System.Drawing.Point( 218, 361);480 this.problemInitializationTextBox.Location = new System.Drawing.Point(168, 354); 477 481 this.problemInitializationTextBox.Name = "problemInitializationTextBox"; 478 482 this.problemInitializationTextBox.ReadOnly = true; … … 484 488 this.setRandomSeedRandomlyCheckBox.Anchor = System.Windows.Forms.AnchorStyles.None; 485 489 this.setRandomSeedRandomlyCheckBox.AutoSize = true; 486 this.setRandomSeedRandomlyCheckBox.Location = new System.Drawing.Point( 218, 12);490 this.setRandomSeedRandomlyCheckBox.Location = new System.Drawing.Point(168, 12); 487 491 this.setRandomSeedRandomlyCheckBox.Name = "setRandomSeedRandomlyCheckBox"; 488 492 this.setRandomSeedRandomlyCheckBox.Size = new System.Drawing.Size(15, 14); … … 490 494 this.setRandomSeedRandomlyCheckBox.UseVisualStyleBackColor = true; 491 495 // 492 // initialMutationStrengthTextBox 493 // 494 this.initialMutationStrengthTextBox.Anchor = System.Windows.Forms.AnchorStyles.None; 495 this.initialMutationStrengthTextBox.Location = new System.Drawing.Point(218, 172); 496 this.initialMutationStrengthTextBox.Name = "initialMutationStrengthTextBox"; 497 this.initialMutationStrengthTextBox.Size = new System.Drawing.Size(186, 20); 498 this.initialMutationStrengthTextBox.TabIndex = 13; 496 // initialMutationStrengthVectorTextBox 497 // 498 this.initialMutationStrengthVectorTextBox.Anchor = System.Windows.Forms.AnchorStyles.None; 499 this.initialMutationStrengthVectorTextBox.Location = new System.Drawing.Point(168, 198); 500 this.initialMutationStrengthVectorTextBox.Name = "initialMutationStrengthVectorTextBox"; 501 this.initialMutationStrengthVectorTextBox.Size = new System.Drawing.Size(186, 20); 502 this.initialMutationStrengthVectorTextBox.TabIndex = 13; 503 this.toolTip.SetToolTip(this.initialMutationStrengthVectorTextBox, resources.GetString("initialMutationStrengthVectorTextBox.ToolTip")); 504 this.initialMutationStrengthVectorTextBox.Validated += new System.EventHandler(this.initialMutationStrengthVectorTextBox_Validated); 499 505 // 500 506 // evaluationLabel … … 502 508 this.evaluationLabel.Anchor = System.Windows.Forms.AnchorStyles.None; 503 509 this.evaluationLabel.AutoSize = true; 504 this.evaluationLabel.Location = new System.Drawing.Point(6 5, 442);510 this.evaluationLabel.Location = new System.Drawing.Point(6, 435); 505 511 this.evaluationLabel.Name = "evaluationLabel"; 506 512 this.evaluationLabel.Size = new System.Drawing.Size(60, 13); … … 512 518 this.mutationLabel.Anchor = System.Windows.Forms.AnchorStyles.None; 513 519 this.mutationLabel.AutoSize = true; 514 this.mutationLabel.Location = new System.Drawing.Point(6 5, 416);520 this.mutationLabel.Location = new System.Drawing.Point(6, 409); 515 521 this.mutationLabel.Name = "mutationLabel"; 516 522 this.mutationLabel.Size = new System.Drawing.Size(51, 13); … … 522 528 this.solutionGenerationLabel.Anchor = System.Windows.Forms.AnchorStyles.None; 523 529 this.solutionGenerationLabel.AutoSize = true; 524 this.solutionGenerationLabel.Location = new System.Drawing.Point(6 5, 390);530 this.solutionGenerationLabel.Location = new System.Drawing.Point(6, 383); 525 531 this.solutionGenerationLabel.Name = "solutionGenerationLabel"; 526 532 this.solutionGenerationLabel.Size = new System.Drawing.Size(103, 13); … … 532 538 this.problemInitializationLabel.Anchor = System.Windows.Forms.AnchorStyles.None; 533 539 this.problemInitializationLabel.AutoSize = true; 534 this.problemInitializationLabel.Location = new System.Drawing.Point(6 5, 364);540 this.problemInitializationLabel.Location = new System.Drawing.Point(6, 357); 535 541 this.problemInitializationLabel.Name = "problemInitializationLabel"; 536 542 this.problemInitializationLabel.Size = new System.Drawing.Size(105, 13); … … 542 548 this.initialMutationStrengthLabel.Anchor = System.Windows.Forms.AnchorStyles.None; 543 549 this.initialMutationStrengthLabel.AutoSize = true; 544 this.initialMutationStrengthLabel.Location = new System.Drawing.Point(6 5, 175);550 this.initialMutationStrengthLabel.Location = new System.Drawing.Point(6, 201); 545 551 this.initialMutationStrengthLabel.Name = "initialMutationStrengthLabel"; 546 this.initialMutationStrengthLabel.Size = new System.Drawing.Size(1 21, 13);552 this.initialMutationStrengthLabel.Size = new System.Drawing.Size(155, 13); 547 553 this.initialMutationStrengthLabel.TabIndex = 12; 548 this.initialMutationStrengthLabel.Text = "Initial Mutation Strength :";554 this.initialMutationStrengthLabel.Text = "Initial Mutation Strength Vector:"; 549 555 // 550 556 // mutationRateLabel … … 552 558 this.mutationRateLabel.Anchor = System.Windows.Forms.AnchorStyles.None; 553 559 this.mutationRateLabel.AutoSize = true; 554 this.mutationRateLabel.Location = new System.Drawing.Point(65, 123); 560 this.mutationRateLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); 561 this.mutationRateLabel.Location = new System.Drawing.Point(6, 123); 555 562 this.mutationRateLabel.Name = "mutationRateLabel"; 556 this.mutationRateLabel.Size = new System.Drawing.Size( 48, 13);563 this.mutationRateLabel.Size = new System.Drawing.Size(62, 13); 557 564 this.mutationRateLabel.TabIndex = 8; 558 this.mutationRateLabel.Text = "Lambda :";565 this.mutationRateLabel.Text = "Lambda (λ):"; 559 566 // 560 567 // maximumGenerationsTextBox 561 568 // 562 569 this.maximumGenerationsTextBox.Anchor = System.Windows.Forms.AnchorStyles.None; 563 this.maximumGenerationsTextBox.Location = new System.Drawing.Point( 218, 146);570 this.maximumGenerationsTextBox.Location = new System.Drawing.Point(168, 146); 564 571 this.maximumGenerationsTextBox.Name = "maximumGenerationsTextBox"; 565 572 this.maximumGenerationsTextBox.Size = new System.Drawing.Size(186, 20); … … 570 577 this.maximumGenerationsLabel.Anchor = System.Windows.Forms.AnchorStyles.None; 571 578 this.maximumGenerationsLabel.AutoSize = true; 572 this.maximumGenerationsLabel.Location = new System.Drawing.Point(6 5, 149);579 this.maximumGenerationsLabel.Location = new System.Drawing.Point(6, 149); 573 580 this.maximumGenerationsLabel.Name = "maximumGenerationsLabel"; 574 581 this.maximumGenerationsLabel.Size = new System.Drawing.Size(114, 13); … … 579 586 // 580 587 this.randomSeedTextBox.Anchor = System.Windows.Forms.AnchorStyles.None; 581 this.randomSeedTextBox.Location = new System.Drawing.Point( 218, 32);588 this.randomSeedTextBox.Location = new System.Drawing.Point(168, 32); 582 589 this.randomSeedTextBox.Name = "randomSeedTextBox"; 583 590 this.randomSeedTextBox.Size = new System.Drawing.Size(186, 20); … … 587 594 // 588 595 this.muTextBox.Anchor = System.Windows.Forms.AnchorStyles.None; 589 this.muTextBox.Location = new System.Drawing.Point( 218, 68);596 this.muTextBox.Location = new System.Drawing.Point(168, 68); 590 597 this.muTextBox.Name = "muTextBox"; 591 598 this.muTextBox.Size = new System.Drawing.Size(186, 20); … … 596 603 this.setRandomSeedRandomlyLabel.Anchor = System.Windows.Forms.AnchorStyles.None; 597 604 this.setRandomSeedRandomlyLabel.AutoSize = true; 598 this.setRandomSeedRandomlyLabel.Location = new System.Drawing.Point(6 5, 12);605 this.setRandomSeedRandomlyLabel.Location = new System.Drawing.Point(6, 12); 599 606 this.setRandomSeedRandomlyLabel.Name = "setRandomSeedRandomlyLabel"; 600 607 this.setRandomSeedRandomlyLabel.Size = new System.Drawing.Size(147, 13); … … 606 613 this.randomSeedLabel.Anchor = System.Windows.Forms.AnchorStyles.None; 607 614 this.randomSeedLabel.AutoSize = true; 608 this.randomSeedLabel.Location = new System.Drawing.Point(6 5, 35);615 this.randomSeedLabel.Location = new System.Drawing.Point(6, 35); 609 616 this.randomSeedLabel.Name = "randomSeedLabel"; 610 617 this.randomSeedLabel.Size = new System.Drawing.Size(78, 13); … … 612 619 this.randomSeedLabel.Text = "&Random Seed:"; 613 620 // 621 // label6 622 // 623 this.label6.Anchor = System.Windows.Forms.AnchorStyles.None; 624 this.label6.AutoSize = true; 625 this.label6.Location = new System.Drawing.Point(357, 201); 626 this.label6.Name = "label6"; 627 this.label6.Size = new System.Drawing.Size(87, 13); 628 this.label6.TabIndex = 4; 629 this.label6.Text = "(ShakingFactors)"; 630 // 631 // label5 632 // 633 this.label5.Anchor = System.Windows.Forms.AnchorStyles.None; 634 this.label5.AutoSize = true; 635 this.label5.Location = new System.Drawing.Point(357, 149); 636 this.label5.Name = "label5"; 637 this.label5.Size = new System.Drawing.Size(114, 13); 638 this.label5.TabIndex = 4; 639 this.label5.Text = "(MaximumGenerations)"; 640 // 641 // label4 642 // 643 this.label4.Anchor = System.Windows.Forms.AnchorStyles.None; 644 this.label4.AutoSize = true; 645 this.label4.Location = new System.Drawing.Point(356, 123); 646 this.label4.Name = "label4"; 647 this.label4.Size = new System.Drawing.Size(61, 13); 648 this.label4.TabIndex = 4; 649 this.label4.Text = "(ESlambda)"; 650 // 651 // label3 652 // 653 this.label3.Anchor = System.Windows.Forms.AnchorStyles.None; 654 this.label3.AutoSize = true; 655 this.label3.Location = new System.Drawing.Point(357, 97); 656 this.label3.Name = "label3"; 657 this.label3.Size = new System.Drawing.Size(42, 13); 658 this.label3.TabIndex = 4; 659 this.label3.Text = "(ESrho)"; 660 // 661 // label2 662 // 663 this.label2.Anchor = System.Windows.Forms.AnchorStyles.None; 664 this.label2.AutoSize = true; 665 this.label2.Location = new System.Drawing.Point(357, 71); 666 this.label2.Name = "label2"; 667 this.label2.Size = new System.Drawing.Size(41, 13); 668 this.label2.TabIndex = 4; 669 this.label2.Text = "(ESmu)"; 670 // 614 671 // populationSizeLabel 615 672 // 616 673 this.populationSizeLabel.Anchor = System.Windows.Forms.AnchorStyles.None; 617 674 this.populationSizeLabel.AutoSize = true; 618 this.populationSizeLabel.Location = new System.Drawing.Point(65, 71); 675 this.populationSizeLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); 676 this.populationSizeLabel.Location = new System.Drawing.Point(6, 71); 619 677 this.populationSizeLabel.Name = "populationSizeLabel"; 620 this.populationSizeLabel.Size = new System.Drawing.Size( 25, 13);678 this.populationSizeLabel.Size = new System.Drawing.Size(40, 13); 621 679 this.populationSizeLabel.TabIndex = 4; 622 this.populationSizeLabel.Text = "Mu :";680 this.populationSizeLabel.Text = "Mu (µ):"; 623 681 // 624 682 // lambdaTextBox 625 683 // 626 684 this.lambdaTextBox.Anchor = System.Windows.Forms.AnchorStyles.None; 627 this.lambdaTextBox.Location = new System.Drawing.Point( 218, 120);685 this.lambdaTextBox.Location = new System.Drawing.Point(168, 120); 628 686 this.lambdaTextBox.Name = "lambdaTextBox"; 629 687 this.lambdaTextBox.Size = new System.Drawing.Size(186, 20); … … 636 694 this.scopesTabPage.Name = "scopesTabPage"; 637 695 this.scopesTabPage.Padding = new System.Windows.Forms.Padding(3); 638 this.scopesTabPage.Size = new System.Drawing.Size( 518, 497);696 this.scopesTabPage.Size = new System.Drawing.Size(493, 461); 639 697 this.scopesTabPage.TabIndex = 2; 640 698 this.scopesTabPage.Text = "Scopes"; … … 648 706 this.scopeView.Name = "scopeView"; 649 707 this.scopeView.Scope = null; 650 this.scopeView.Size = new System.Drawing.Size( 512, 491);708 this.scopeView.Size = new System.Drawing.Size(487, 455); 651 709 this.scopeView.TabIndex = 0; 652 710 // … … 655 713 this.abortButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); 656 714 this.abortButton.Enabled = false; 657 this.abortButton.Location = new System.Drawing.Point(81, 52 9);715 this.abortButton.Location = new System.Drawing.Point(81, 527); 658 716 this.abortButton.Name = "abortButton"; 659 717 this.abortButton.Size = new System.Drawing.Size(75, 23); … … 666 724 // 667 725 this.resetButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); 668 this.resetButton.Location = new System.Drawing.Point(162, 52 9);726 this.resetButton.Location = new System.Drawing.Point(162, 527); 669 727 this.resetButton.Name = "resetButton"; 670 728 this.resetButton.Size = new System.Drawing.Size(75, 23); … … 677 735 // 678 736 this.cloneEngineButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); 679 this.cloneEngineButton.Location = new System.Drawing.Point( 420, 529);737 this.cloneEngineButton.Location = new System.Drawing.Point(395, 527); 680 738 this.cloneEngineButton.Name = "cloneEngineButton"; 681 739 this.cloneEngineButton.Size = new System.Drawing.Size(106, 23); … … 684 742 this.cloneEngineButton.UseVisualStyleBackColor = true; 685 743 this.cloneEngineButton.Click += new System.EventHandler(this.cloneEngineButton_Click); 744 // 745 // toolTip 746 // 747 this.toolTip.AutomaticDelay = 200; 748 this.toolTip.AutoPopDelay = 10000; 749 this.toolTip.InitialDelay = 200; 750 this.toolTip.ReshowDelay = 40; 751 // 752 // problemDimensionLabel 753 // 754 this.problemDimensionLabel.Anchor = System.Windows.Forms.AnchorStyles.None; 755 this.problemDimensionLabel.AutoSize = true; 756 this.problemDimensionLabel.Location = new System.Drawing.Point(7, 175); 757 this.problemDimensionLabel.Name = "problemDimensionLabel"; 758 this.problemDimensionLabel.Size = new System.Drawing.Size(100, 13); 759 this.problemDimensionLabel.TabIndex = 12; 760 this.problemDimensionLabel.Text = "Problem Dimension:"; 761 // 762 // problemDimensionTextBox 763 // 764 this.problemDimensionTextBox.Anchor = System.Windows.Forms.AnchorStyles.None; 765 this.problemDimensionTextBox.Location = new System.Drawing.Point(168, 172); 766 this.problemDimensionTextBox.Name = "problemDimensionTextBox"; 767 this.problemDimensionTextBox.Size = new System.Drawing.Size(186, 20); 768 this.problemDimensionTextBox.TabIndex = 13; 769 this.problemDimensionTextBox.Validated += new System.EventHandler(this.problemDimensionTextBox_Validated); 686 770 // 687 771 // ESEditor … … 695 779 this.Controls.Add(this.executeButton); 696 780 this.Name = "ESEditor"; 697 this.Size = new System.Drawing.Size(5 26, 552);781 this.Size = new System.Drawing.Size(501, 550); 698 782 this.tabControl.ResumeLayout(false); 699 783 this.parametersTabPage.ResumeLayout(false); … … 722 806 private System.Windows.Forms.TextBox maximumGenerationsTextBox; 723 807 private System.Windows.Forms.Label maximumGenerationsLabel; 724 private System.Windows.Forms.TextBox initialMutationStrength TextBox;808 private System.Windows.Forms.TextBox initialMutationStrengthVectorTextBox; 725 809 private System.Windows.Forms.Label initialMutationStrengthLabel; 726 810 private System.Windows.Forms.TextBox randomSeedTextBox; … … 746 830 private System.Windows.Forms.Button viewSolutionGenerationButton; 747 831 private System.Windows.Forms.Button viewProblemInitializationButton; 748 private System.Windows.Forms.TextBox targetSuccessRateTextBox;832 private System.Windows.Forms.TextBox generalLearningRateTextBox; 749 833 private System.Windows.Forms.Label targetSuccessRateLabel; 750 private System.Windows.Forms.CheckBox useSuccessRuleCheckBox;751 834 private System.Windows.Forms.Button setRecombinationButton; 752 835 private System.Windows.Forms.Button viewRecombinationButton; … … 761 844 private System.Windows.Forms.TextBox learningRateTextBox; 762 845 private System.Windows.Forms.Label label1; 763 private System.Windows.Forms.TextBox dampeningFactorTextBox; 764 private System.Windows.Forms.Label dampeningFactorLabel; 846 private System.Windows.Forms.Label label5; 847 private System.Windows.Forms.Label label4; 848 private System.Windows.Forms.Label label3; 849 private System.Windows.Forms.Label label2; 850 private System.Windows.Forms.Label label6; 851 private System.Windows.Forms.Label label8; 852 private System.Windows.Forms.Label label7; 853 private System.Windows.Forms.ToolTip toolTip; 854 private System.Windows.Forms.TextBox problemDimensionTextBox; 855 private System.Windows.Forms.Label problemDimensionLabel; 765 856 } 766 857 } -
trunk/sources/HeuristicLab.ES/ESEditor.cs
r896 r1091 52 52 public ESEditor() { 53 53 InitializeComponent(); 54 problemDimensionTextBox.Text = "1"; 54 55 } 55 56 /// <summary> … … 93 94 lambdaTextBox.Text = ES.Lambda.ToString(); 94 95 learningRateTextBox.Text = ES.LearningRate.ToString(); 96 generalLearningRateTextBox.Text = ES.GeneralLearningRate.ToString(); 95 97 } 96 98 … … 110 112 evaluationTextBox.Text = ES.Evaluator.GetType().Name; 111 113 recombinationTextBox.Text = ES.Recombinator.GetType().Name; 114 initialMutationStrengthVectorTextBox.Text = ArrayToString<double>(ES.ShakingFactors); 112 115 } 113 116 } … … 120 123 lambdaTextBox.DataBindings.Add("Text", ES, "Lambda"); 121 124 maximumGenerationsTextBox.DataBindings.Add("Text", ES, "MaximumGenerations"); 122 initialMutationStrengthTextBox.DataBindings.Add("Text", ES, "ShakingFactor"); 123 targetSuccessRateTextBox.DataBindings.Add("Text", ES, "SuccessProbability"); 125 generalLearningRateTextBox.DataBindings.Add("Text", ES, "GeneralLearningRate"); 124 126 learningRateTextBox.DataBindings.Add("Text", ES, "LearningRate"); 125 dampeningFactorTextBox.DataBindings.Add("Text", ES, "DampeningFactor");126 useSuccessRuleCheckBox.DataBindings.Add("Checked", ES, "UseSuccessRule");127 127 } 128 128 … … 229 229 #endregion 230 230 231 #region CheckBox Events232 private void useSuccessRuleCheckBox_CheckedChanged(object sender, EventArgs e) {233 targetSuccessRateTextBox.Enabled = useSuccessRuleCheckBox.Checked;234 learningRateTextBox.Enabled = useSuccessRuleCheckBox.Checked;235 dampeningFactorTextBox.Enabled = useSuccessRuleCheckBox.Checked;236 }237 #endregion238 239 231 #region RadioButton Events 240 232 private void plusRadioButton_CheckedChanged(object sender, EventArgs e) { … … 246 238 } 247 239 #endregion 240 241 private string ArrayToString<T>(T[] array) { 242 StringBuilder s = new StringBuilder(); 243 foreach (T element in array) 244 s.Append(element + "; "); 245 s.Remove(s.Length - 2, 2); 246 return s.ToString(); 247 } 248 249 private double[] StringToDoubleArray(string str) { 250 251 string[] s = str.Split(new char[] { ';' }); 252 double[] tmp = new double[s.Length]; 253 try { 254 for (int i = 0; i < s.Length; i++) { 255 tmp[i] = double.Parse(s[i]); 256 } 257 } catch (FormatException) { 258 return null; 259 } 260 return tmp; 261 } 262 263 private void initialMutationStrengthVectorTextBox_Validated(object sender, EventArgs e) { 264 double[] tmp = StringToDoubleArray(initialMutationStrengthVectorTextBox.Text); 265 if (tmp != null) ES.ShakingFactors = tmp; 266 else MessageBox.Show("Please use colons \";\" (without the quotes) to delimite the items like this: " + (1.2).ToString() + ";" + (1.1).ToString() + ";" + (3.453).ToString()); 267 int dim = int.Parse(problemDimensionTextBox.Text); 268 if (ES.ShakingFactors.Length != dim) { 269 problemDimensionTextBox.Text = ES.ShakingFactors.Length.ToString(); 270 } 271 Refresh(); 272 } 273 274 private void problemDimensionTextBox_Validated(object sender, EventArgs e) { 275 double[] tmp = StringToDoubleArray(initialMutationStrengthVectorTextBox.Text); 276 if (tmp != null) { 277 int dim = 0; 278 try { 279 dim = int.Parse(problemDimensionTextBox.Text); 280 if (dim < 1) throw new FormatException(); 281 } catch (FormatException) { 282 MessageBox.Show("Problem Dimension must contain an integer > 0"); 283 } 284 double[] shakingFactors = new double[dim]; 285 for (int i = 0; i < dim; i++) { 286 shakingFactors[i] = tmp[i % tmp.Length]; 287 } 288 ES.ShakingFactors = shakingFactors; 289 Refresh(); 290 } 291 } 248 292 } 249 293 } -
trunk/sources/HeuristicLab.ES/ESEditor.resx
r71 r1091 118 118 <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> 119 119 </resheader> 120 <metadata name="toolTip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> 121 <value>7, 3</value> 122 </metadata> 123 <data name="initialMutationStrengthVectorTextBox.ToolTip" xml:space="preserve"> 124 <value>Enter a pattern that is used to generate the initial strategy vector. 125 This can be a single number, or a pattern of numbers which is used until the dimension is reached. 126 Use the colon ; to separate two numbers.</value> 127 </data> 128 <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 129 <value>26</value> 130 </metadata> 120 131 </root>
Note: See TracChangeset
for help on using the changeset viewer.