Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
03/09/15 10:32:47 (9 years ago)
Author:
pfleck
Message:

#2350

  • Changed the SteadyStateMatingPoolCreator to put the mating pool in the working scope.
  • Added the ScopeIndexAssigner for setting the correct layer number.
  • Adapted the AlpsSsGeneticAlgorithmMainLoop.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/ALPS/HeuristicLab.Algorithms.ALPS.SteadyState/3.3/AlpsSsGeneticAlgorithmMainLoop.cs

    r12150 r12159  
    7171
    7272      var variableCreator = new VariableCreator() { Name = "Initialize" };
     73      var layersProcessor = new NamedSubScopeProcessor() { Name = "Process Layers" };
    7374      var randomScopeProcessor = new RandomLayerProcessor() { Name = "Select a layer" };
    74       var layerPopulationSizeCounter = new SubScopesCounter() { Name = "Count LayerPopulationSize" };
    7575      var isLayerZeroComperator = new Comparator() { Name = "IsLayerZero = Layer == 0" };
    7676      var isLayerZeroBranch = new ConditionalBranch() { Name = "IsLayerZero?" };
     
    8585      var initializeAge = new Assigner() { Name = "Initialize Age" };
    8686      var selectRandomTargetIndex = new RandomIntAssigner();
    87       var copyLayer = new BestSelector();
    88       var copyLayerProcessor = new SubScopesProcessor();
    8987      var matingPoolCreator = new SteadyStateMatingPoolCreator() { Name = "Create MatingPool" };
     88      var matingPoolProcessor = new NamedSubScopeProcessor() { Name = "Process MatingPool" };
    9089      var matingPoolSize = new SubScopesCounter() { Name = "MatingPoolSize" };
    9190      var matingPoolSizeMin2 = new Comparator() { Name = "ValidParents = MatingPoolSize >= 2" };
     
    116115      variableCreator.CollectedValues.Add(new ValueParameter<IntValue>("MatingPoolSize", new IntValue(0)));
    117116      variableCreator.CollectedValues.Add(new ValueParameter<BoolValue>("ValidParents", new BoolValue(false)));
    118       variableCreator.Successor = randomScopeProcessor;
    119 
    120       randomScopeProcessor.Operator = layerPopulationSizeCounter;
     117      variableCreator.CollectedValues.Add(new ValueParameter<BoolValue>("IsLayerZero", new BoolValue(false)));
     118      variableCreator.Successor = layersProcessor;
     119
     120      layersProcessor.Operator = randomScopeProcessor;
     121      layersProcessor.TargetScopeParameter.ActualName = "Layers";
     122
     123      randomScopeProcessor.Operator = isLayerZeroComperator;
    121124      randomScopeProcessor.Successor = incrIterations;
    122 
    123       layerPopulationSizeCounter.ValueParameter.ActualName = "LayerPopulationSize";
    124       layerPopulationSizeCounter.AccumulateParameter.Value =  new BoolValue(false);
    125       layerPopulationSizeCounter.Successor = isLayerZeroComperator;
    126125
    127126      isLayerZeroComperator.LeftSideParameter.ActualName = "Layer";
     
    171170      selectRandomTargetIndex.LeftSideParameter.ActualName = "TargetIndex";
    172171      selectRandomTargetIndex.MinimumParameter.Value = new IntValue(0);
    173       selectRandomTargetIndex.MaximumParameter.ActualName = "LayerPopulationSize";
     172      selectRandomTargetIndex.MaximumParameter.ActualName = "LayerSize";
    174173      selectRandomTargetIndex.MaximumParameter.Value = null;
    175       selectRandomTargetIndex.Successor = copyLayer;
    176 
    177       copyLayer.NumberOfSelectedSubScopesParameter.ActualName = "LayerPopulationSize";
    178       copyLayer.CopySelected = new BoolValue(true);
    179       copyLayer.Successor = copyLayerProcessor;
    180 
    181       copyLayerProcessor.Operators.Add(new EmptyOperator());
    182       copyLayerProcessor.Operators.Add(matingPoolCreator);
    183 
    184       matingPoolCreator.Successor = matingPoolSize;
     174      selectRandomTargetIndex.Successor = matingPoolCreator;
     175
     176      matingPoolCreator.Successor = matingPoolProcessor;
     177
     178      matingPoolProcessor.Operator = matingPoolSize;
     179      matingPoolProcessor.TargetScopeParameter.ActualName = "WorkingScope";
    185180
    186181      matingPoolSize.ValueParameter.ActualName = "MatingPoolSize";
Note: See TracChangeset for help on using the changeset viewer.