- Timestamp:
- 11/26/14 17:22:19 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/ALPS/HeuristicLab.Algorithms.ALPS/3.3/AlpsGeneticAlgorithmMainLoop.cs
r11586 r11590 55 55 get { return OperatorGraph.Iterate().OfType<EldersEmigrator>().First(); } 56 56 } 57 public LayerUpdator LayerUpdator { 58 get { return OperatorGraph.Iterate().OfType<LayerUpdator>().First(); } 59 } 57 60 58 61 [StorableConstructor] … … 74 77 var initAnalyzerPlaceholder = new Placeholder() { Name = "Analyzer (Placeholder)" }; 75 78 var initLayerAnalyzerProcessor = new SubScopesProcessor(); 79 var layerVariableCreator = new VariableCreator() { Name = "Initialize Layer" }; 76 80 var initLayerAnalyzerPlaceholder = new Placeholder() { Name = "LayerAnalyzer (Placeholder)" }; 77 81 var matingPoolCreator = new MatingPoolCreator() { Name = "Create Mating Pools" }; 78 82 var matingPoolProcessor = new UniformSubScopesProcessor(); 83 var initializeLayer = new Assigner() { Name = "Reset LayerEvaluatedSolutions" }; 79 84 var mainOperator = CreatePreparedGeneticAlgorithmMainLoop(); 80 85 var layerAnalyzerPlaceholder = new Placeholder() { Name = "LayerAnalyzer (Placeholder)" }; … … 101 106 initAnalyzerPlaceholder.Successor = initLayerAnalyzerProcessor; 102 107 103 initLayerAnalyzerProcessor.Operators.Add( initLayerAnalyzerPlaceholder);108 initLayerAnalyzerProcessor.Operators.Add(layerVariableCreator); 104 109 initLayerAnalyzerProcessor.Successor = matingPoolCreator; 110 111 layerVariableCreator.CollectedValues.Add(new ValueParameter<IntValue>("LayerEvaluatedSolutions")); 112 layerVariableCreator.CollectedValues.Add(new ValueParameter<ResultCollection>("Results")); 113 layerVariableCreator.Successor = initLayerAnalyzerPlaceholder; 105 114 106 115 initLayerAnalyzerPlaceholder.OperatorParameter.ActualName = LayerAnalyzerParameter.Name; … … 110 119 111 120 matingPoolProcessor.Parallel.Value = true; 112 matingPoolProcessor.Operator = mainOperator;121 matingPoolProcessor.Operator = initializeLayer; 113 122 matingPoolProcessor.Successor = generationsIcrementor; 123 124 initializeLayer.LeftSideParameter.ActualName = "LayerEvaluatedSolutions"; 125 initializeLayer.RightSideParameter.Value = new IntValue(0); 126 initializeLayer.Successor = mainOperator; 114 127 115 128 generationsIcrementor.ValueParameter.ActualName = "Generations"; … … 149 162 var selector = mainLoop.OperatorGraph.Iterate().OfType<Placeholder>().First(o => o.OperatorParameter.ActualName == "Selector"); 150 163 var crossover = mainLoop.OperatorGraph.Iterate().OfType<Placeholder>().First(o => o.OperatorParameter.ActualName == "Crossover"); 164 var subScopesCounter = mainLoop.OperatorGraph.Iterate().OfType<SubScopesCounter>().First(); 151 165 var elitesMerger = mainLoop.OperatorGraph.Iterate().OfType<MergingReducer>().First(); 152 166 … … 164 178 ageCalculator.Successor = crossoverSuccessor; 165 179 180 // When counting the evaluated solutions, write in LayerEvaluatedSolutions 181 subScopesCounter.ValueParameter.ActualName = "LayerEvaluatedSolutions"; 182 subScopesCounter.AccumulateParameter.Value = new BoolValue(false); 183 166 184 // Instead of generational loop after merging of elites, increment ages of all individuals 167 185 var processor = new UniformSubScopesProcessor();
Note: See TracChangeset
for help on using the changeset viewer.