- Timestamp:
- 11/26/14 17:22:19 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/ALPS/HeuristicLab.Algorithms.ALPS/3.3/LayerUpdator.cs
r11586 r11590 20 20 #endregion 21 21 22 using System.Linq; 22 23 using HeuristicLab.Common; 23 24 using HeuristicLab.Core; 24 25 using HeuristicLab.Data; 25 26 using HeuristicLab.Operators; 27 using HeuristicLab.Optimization; 26 28 using HeuristicLab.Optimization.Operators; 27 29 using HeuristicLab.Parameters; … … 32 34 [StorableClass] 33 35 public class LayerUpdator : AlgorithmOperator { 36 37 public SolutionsCreator SolutionsCreator { 38 get { return OperatorGraph.Iterate().OfType<SolutionsCreator>().First(); } 39 } 34 40 35 41 [StorableConstructor] … … 50 56 var openNewLayerCalculator = new OpenNewLayerCalculator(); 51 57 var openNewLayerBranch = new ConditionalBranch() { Name = "OpenNewLayer?" }; 58 var layerCloner = new LastSubScopeCloner() { Name = "Copy Lower Layer" }; 52 59 var incrOpenLayers = new IntCounter() { Name = "Incr. OpenLayers" }; 53 var layerScopeCreator = new SubScopesCreator();54 60 var newLayerProsessor = new LastSubScopeProcessor(); 55 var localRandomCreator = new LocalRandomCreator(); 56 var layerVariableCreator = new Assigner() { Name = "Init Layer" }; 57 var copyPrevSubScope = new CombinedOperator() { Name = "Copy lower layer" }; 58 //var mainOperator = new CombinedOperator() { Name = "Create Offsprings" }; 61 var layerInitializer = new Assigner() { Name = "Init Layer" }; 62 var incrEvaluatedSolutionsForNewLayer = new SubScopesCounter() { Name = "Update EvaluatedSolutions" }; 63 var newResultCollectionAssigner = new Assigner() { Name = "Empty Results" }; 59 64 var regenerateLayerZeroProsessor = new FirstSubScopeProcessor(); 60 65 var subScopesRemover = new SubScopesRemover(); … … 62 67 var initializeAgeProsessor = new UniformSubScopesProcessor(); 63 68 var initializeAge = new VariableCreator() { Name = "Initialize Age" }; 64 var incrEvaluatedSolutions = new SubScopesCounter() { Name = "Update EvaluatedSolutions" };69 var incrEvaluatedSolutionsAfterReseeding = new SubScopesCounter() { Name = "Update EvaluatedSolutions" }; 65 70 var resetGenSlr = new Assigner() { Name = "Reset GenerationsSinceLastRefresh" }; 66 71 … … 77 82 genSlrEqAgeGap.Successor = updateLayersBranch; 78 83 79 updateLayersBranch.ConditionParameter.ActualName = "Update layers";84 updateLayersBranch.ConditionParameter.ActualName = "UpdateLayers"; 80 85 updateLayersBranch.TrueBranch = openNewLayerCalculator; 81 86 … … 89 94 90 95 openNewLayerBranch.ConditionParameter.ActualName = "OpenNewLayer"; 91 openNewLayerBranch.TrueBranch = incrOpenLayers;96 openNewLayerBranch.TrueBranch = layerCloner; 92 97 openNewLayerBranch.Successor = regenerateLayerZeroProsessor; 98 99 layerCloner.Successor = newLayerProsessor; 100 101 newLayerProsessor.Operator = layerInitializer; 102 newLayerProsessor.Successor = incrOpenLayers; 103 104 layerInitializer.LeftSideParameter.ActualName = "Layer"; 105 layerInitializer.RightSideParameter.ActualName = "OpenLayers"; 106 layerInitializer.Successor = incrEvaluatedSolutionsForNewLayer; 107 108 incrEvaluatedSolutionsForNewLayer.ValueParameter.ActualName = "EvaluatedSolutions"; 109 incrEvaluatedSolutionsForNewLayer.AccumulateParameter.Value = new BoolValue(true); 110 incrEvaluatedSolutionsForNewLayer.Successor = newResultCollectionAssigner; 111 112 newResultCollectionAssigner.LeftSideParameter.ActualName = "Results"; 113 newResultCollectionAssigner.RightSideParameter.Value = new ResultCollection(); 114 newResultCollectionAssigner.Successor = mainOperator; 115 // TODO mainOperator increment age 93 116 94 117 incrOpenLayers.ValueParameter.ActualName = "OpenLayers"; 95 118 incrOpenLayers.Increment = new IntValue(1); 96 incrOpenLayers.Successor = layerScopeCreator; 97 98 layerScopeCreator.NumberOfSubScopesParameter.Value = new IntValue(1); 99 layerScopeCreator.Successor = newLayerProsessor; 100 101 newLayerProsessor.Operator = localRandomCreator; 102 103 localRandomCreator.Successor = layerVariableCreator; 104 105 layerVariableCreator.LeftSideParameter.ActualName = "Layer"; 106 layerVariableCreator.RightSideParameter.ActualName = "Layer"; 107 layerVariableCreator.Successor = copyPrevSubScope; 108 109 copyPrevSubScope.Successor = mainOperator; 119 incrOpenLayers.Successor = null; 110 120 111 121 regenerateLayerZeroProsessor.Operator = subScopesRemover; … … 117 127 118 128 initializeAgeProsessor.Operator = initializeAge; 119 initializeAgeProsessor.Successor = incrEvaluatedSolutions ;129 initializeAgeProsessor.Successor = incrEvaluatedSolutionsAfterReseeding; 120 130 121 131 initializeAge.CollectedValues.Add(new ValueParameter<IntValue>("Age", new IntValue(0))); 122 132 initializeAge.Successor = null; 123 133 124 incrEvaluatedSolutions.ValueParameter.ActualName = "EvaluatedSolutions"; 125 incrEvaluatedSolutions.Successor = null; 134 incrEvaluatedSolutionsAfterReseeding.ValueParameter.ActualName = "EvaluatedSolutions"; 135 incrEvaluatedSolutionsAfterReseeding.AccumulateParameter.Value = new BoolValue(true); 136 incrEvaluatedSolutionsAfterReseeding.Successor = null; 126 137 127 138 resetGenSlr.LeftSideParameter.ActualName = "GenerationsSinceLastRefresh";
Note: See TracChangeset
for help on using the changeset viewer.