Changeset 9616 for branches/HivePerformance/sources/HeuristicLab.Algorithms.GeneticAlgorithm/3.3/IslandGeneticAlgorithmMainLoop.cs
- Timestamp:
- 06/12/13 15:02:47 (11 years ago)
- Location:
- branches/HivePerformance/sources
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HivePerformance/sources
- Property svn:mergeinfo changed
/trunk/sources merged: 9540,9542-9544,9552-9555,9568-9569,9587,9590-9592,9600,9607-9608,9610-9611,9613
- Property svn:mergeinfo changed
-
branches/HivePerformance/sources/HeuristicLab.Algorithms.GeneticAlgorithm/3.3/IslandGeneticAlgorithmMainLoop.cs
r9539 r9616 91 91 public ValueLookupParameter<IntValue> ElitesParameter { 92 92 get { return (ValueLookupParameter<IntValue>)Parameters["Elites"]; } 93 } 94 public IValueLookupParameter<BoolValue> ReevaluateElitesParameter { 95 get { return (IValueLookupParameter<BoolValue>)Parameters["ReevaluateElites"]; } 93 96 } 94 97 public ValueLookupParameter<ResultCollection> ResultsParameter { … … 144 147 Parameters.Add(new ValueLookupParameter<IOperator>("Evaluator", "The operator used to evaluate solutions.")); 145 148 Parameters.Add(new ValueLookupParameter<IntValue>("Elites", "The numer of elite solutions which are kept in each generation.")); 149 Parameters.Add(new ValueLookupParameter<BoolValue>("ReevaluateElites", "Flag to determine if elite individuals should be reevaluated (i.e., if stochastic fitness functions are used.)")); 146 150 Parameters.Add(new ValueLookupParameter<ResultCollection>("Results", "The results collection to store the results.")); 147 151 Parameters.Add(new ValueLookupParameter<IOperator>("Analyzer", "The operator used to the analyze the islands.")); … … 194 198 Placeholder analyzer2 = new Placeholder(); 195 199 ConditionalBranch generationsTerminationCondition = new ConditionalBranch(); 200 ConditionalBranch reevaluateElitesBranch = new ConditionalBranch(); 196 201 197 202 … … 305 310 generationsTerminationCondition.Name = "Terminate?"; 306 311 generationsTerminationCondition.ConditionParameter.ActualName = "TerminateGenerations"; 312 313 reevaluateElitesBranch.ConditionParameter.ActualName = "ReevaluateElites"; 314 reevaluateElitesBranch.Name = "Reevaluate elites ?"; 307 315 #endregion 308 316 … … 345 353 evaluator.Successor = null; 346 354 subScopesCounter.Successor = null; 347 subScopesCounter.Successor = null;348 355 subScopesProcessor2.Operators.Add(bestSelector); 349 356 subScopesProcessor2.Operators.Add(new EmptyOperator()); … … 351 358 mergingReducer.Successor = islandAnalyzer2; 352 359 bestSelector.Successor = rightReducer; 353 rightReducer.Successor = null; 360 rightReducer.Successor = reevaluateElitesBranch; 361 reevaluateElitesBranch.TrueBranch = uniformSubScopesProcessor3; 362 reevaluateElitesBranch.FalseBranch = null; 363 reevaluateElitesBranch.Successor = null; 354 364 islandAnalyzer2.Successor = islandGenerationsCounter; 355 365 islandGenerationsCounter.Successor = checkIslandGenerationsReachedMaximum; … … 369 379 } 370 380 381 [StorableHook(HookType.AfterDeserialization)] 382 private void AfterDeserialization() { 383 // BackwardsCompatibility3.3 384 #region Backwards compatible code, remove with 3.4 385 if (!Parameters.ContainsKey("ReevaluateElites")) { 386 Parameters.Add(new ValueLookupParameter<BoolValue>("ReevaluateElites", "Flag to determine if elite individuals should be reevaluated (i.e., if stochastic fitness functions are used.)")); 387 } 388 #endregion 389 } 390 371 391 public override IOperation Apply() { 372 392 if (CrossoverParameter.ActualValue == null)
Note: See TracChangeset
for help on using the changeset viewer.