Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
11/26/13 09:45:11 (10 years ago)
Author:
mkommend
Message:

#1997: Added possibility to reevaluate immigrants to the IslandGA and IslandOSGA.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/DataAnalysis.IslandAlgorithms/HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm/3.3/IslandOffspringSelectionGeneticAlgorithmMainLoop.cs

    r9756 r10155  
    129129    public LookupParameter<IntValue> EvaluatedSolutionsParameter {
    130130      get { return (LookupParameter<IntValue>)Parameters["EvaluatedSolutions"]; }
     131    }
     132    public ValueLookupParameter<BoolValue> ReevaluateImmigrants {
     133      get { return (ValueLookupParameter<BoolValue>)Parameters["ReevaluateImmigrants"]; }
    131134    }
    132135    #endregion
     
    174177      Parameters.Add(new ValueLookupParameter<IOperator>("IslandAnalyzer", "The operator used to analyze each island."));
    175178      Parameters.Add(new LookupParameter<IntValue>("EvaluatedSolutions", "The number of times solutions have been evaluated."));
     179      Parameters.Add(new ValueLookupParameter<BoolValue>("ReevaluateImmigrants", "Flag which indicates if inviduals should be reevaluated before they are immigrated."));
    176180      #endregion
    177181
     
    204208      Placeholder emigrantsSelector = new Placeholder();
    205209      Placeholder migrator = new Placeholder();
     210      ConditionalBranch reevaluateImmigrantsBranch = new ConditionalBranch();
    206211      UniformSubScopesProcessor uniformSubScopesProcessor3 = new UniformSubScopesProcessor();
     212      SubScopesProcessor subScopesProcessor = new SubScopesProcessor();
     213      UniformSubScopesProcessor uniformSubScopesProcessor4 = new UniformSubScopesProcessor();
     214      Placeholder evaluator = new Placeholder();
     215      SubScopesCounter subScopesCounter = new SubScopesCounter();
     216      UniformSubScopesProcessor uniformSubScopesProcessor5 = new UniformSubScopesProcessor();
    207217      Placeholder immigrationReplacer = new Placeholder();
    208218      Comparator generationsComparator = new Comparator();
     
    324334      migrator.Name = "Migrator (placeholder)";
    325335      migrator.OperatorParameter.ActualName = MigratorParameter.Name;
     336
     337      reevaluateImmigrantsBranch.ConditionParameter.ActualName = "ReevaluateImmigrants";
     338      reevaluateImmigrantsBranch.Name = "Reevaluate Immigrants ?";
     339
     340      evaluator.Name = "Evaluator (placeholder)";
     341      evaluator.OperatorParameter.ActualName = EvaluatorParameter.Name;
     342
     343      subScopesCounter.Name = "Increment EvaluatedSolutions";
     344      subScopesCounter.ValueParameter.ActualName = EvaluatedSolutionsParameter.Name;
    326345
    327346      immigrationReplacer.Name = "Immigration Replacer (placeholder)";
     
    398417      reviveIslandAssigner.Successor = emigrantsSelector;
    399418      emigrantsSelector.Successor = null;
    400       migrator.Successor = uniformSubScopesProcessor3;
    401       uniformSubScopesProcessor3.Operator = immigrationReplacer;
    402       uniformSubScopesProcessor3.Successor = null;
     419      migrator.Successor = reevaluateImmigrantsBranch;
     420      reevaluateImmigrantsBranch.FalseBranch = null;
     421      reevaluateImmigrantsBranch.Successor = uniformSubScopesProcessor5;
     422      reevaluateImmigrantsBranch.TrueBranch = uniformSubScopesProcessor3;
     423      uniformSubScopesProcessor3.Operator = subScopesProcessor;
     424      subScopesProcessor.Operators.Add(new EmptyOperator());
     425      subScopesProcessor.Operators.Add(uniformSubScopesProcessor4);
     426      uniformSubScopesProcessor4.Operator = evaluator;
     427      uniformSubScopesProcessor4.Successor = subScopesCounter;
     428      evaluator.Successor = null;
     429      uniformSubScopesProcessor5.Operator = immigrationReplacer;
     430      uniformSubScopesProcessor5.Successor = null;
    403431      immigrationReplacer.Successor = null;
    404432      generationsComparator.Successor = terminatedIslandsComparator;
Note: See TracChangeset for help on using the changeset viewer.