- Timestamp:
- 03/23/10 01:31:17 (14 years ago)
- Location:
- trunk/sources
- Files:
-
- 2 deleted
- 7 edited
- 2 moved
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Algorithms.EvolutionStrategy/3.3/EvolutionStrategyMainLoop.cs
r3183 r3193 145 145 ResultsCollector resultsCollector = new ResultsCollector(); 146 146 WithoutRepeatingBatchedRandomSelector selector = new WithoutRepeatingBatchedRandomSelector(); 147 S equentialSubScopesProcessor sequentialSubScopesProcessor1 = new SequentialSubScopesProcessor();147 SubScopesProcessor subScopesProcessor1 = new SubScopesProcessor(); 148 148 Comparator useRecombinationComparator = new Comparator(); 149 149 ConditionalBranch useRecombinationBranch = new ConditionalBranch(); 150 150 ChildrenCreator childrenCreator = new ChildrenCreator(); 151 UniformS equentialSubScopesProcessor uniformSequentialSubScopesProcessor1 = new UniformSequentialSubScopesProcessor();151 UniformSubScopesProcessor uniformSubScopesProcessor1 = new UniformSubScopesProcessor(); 152 152 Placeholder recombinator = new Placeholder(); 153 153 StrategyVectorManipulator strategyMutator1 = new StrategyVectorManipulator(); … … 155 155 Placeholder evaluator1 = new Placeholder(); 156 156 SubScopesRemover subScopesRemover = new SubScopesRemover(); 157 UniformS equentialSubScopesProcessor uniformSequentialSubScopesProcessor2 = new UniformSequentialSubScopesProcessor();157 UniformSubScopesProcessor uniformSubScopesProcessor2 = new UniformSubScopesProcessor(); 158 158 StrategyVectorManipulator strategyMutator2 = new StrategyVectorManipulator(); 159 159 Placeholder mutator2 = new Placeholder(); … … 316 316 visualizer1.Successor = resultsCollector; 317 317 resultsCollector.Successor = selector; 318 selector.Successor = s equentialSubScopesProcessor1;319 s equentialSubScopesProcessor1.Operators.Add(new EmptyOperator());320 s equentialSubScopesProcessor1.Operators.Add(useRecombinationComparator);321 s equentialSubScopesProcessor1.Successor = plusOrCommaReplacementBranch;318 selector.Successor = subScopesProcessor1; 319 subScopesProcessor1.Operators.Add(new EmptyOperator()); 320 subScopesProcessor1.Operators.Add(useRecombinationComparator); 321 subScopesProcessor1.Successor = plusOrCommaReplacementBranch; 322 322 useRecombinationComparator.Successor = useRecombinationBranch; 323 323 useRecombinationBranch.TrueBranch = childrenCreator; 324 useRecombinationBranch.FalseBranch = uniformS equentialSubScopesProcessor2;324 useRecombinationBranch.FalseBranch = uniformSubScopesProcessor2; 325 325 useRecombinationBranch.Successor = null; 326 childrenCreator.Successor = uniformS equentialSubScopesProcessor1;327 uniformS equentialSubScopesProcessor1.Operator = recombinator;328 uniformS equentialSubScopesProcessor1.Successor = null;326 childrenCreator.Successor = uniformSubScopesProcessor1; 327 uniformSubScopesProcessor1.Operator = recombinator; 328 uniformSubScopesProcessor1.Successor = null; 329 329 recombinator.Successor = strategyMutator1; 330 330 strategyMutator1.Successor = mutator1; … … 332 332 evaluator1.Successor = subScopesRemover; 333 333 subScopesRemover.Successor = null; 334 uniformS equentialSubScopesProcessor2.Operator = strategyMutator2;335 uniformS equentialSubScopesProcessor2.Successor = null;334 uniformSubScopesProcessor2.Operator = strategyMutator2; 335 uniformSubScopesProcessor2.Successor = null; 336 336 strategyMutator2.Successor = mutator2; 337 337 mutator2.Successor = evaluator2; -
trunk/sources/HeuristicLab.Algorithms.LocalSearch/3.3/LocalSearchMainLoop.cs
r3145 r3193 116 116 Placeholder visualizer1 = new Placeholder(); 117 117 ResultsCollector resultsCollector = new ResultsCollector(); 118 UniformS equentialSubScopesProcessor mainProcessor = new UniformSequentialSubScopesProcessor();118 UniformSubScopesProcessor mainProcessor = new UniformSubScopesProcessor(); 119 119 Placeholder moveGenerator = new Placeholder(); 120 UniformS equentialSubScopesProcessor moveEvaluationProcessor = new UniformSequentialSubScopesProcessor();120 UniformSubScopesProcessor moveEvaluationProcessor = new UniformSubScopesProcessor(); 121 121 Placeholder moveEvaluator = new Placeholder(); 122 122 BestSelector bestSelector = new BestSelector(); 123 123 RightReducer rightReducer = new RightReducer(); 124 UniformS equentialSubScopesProcessor moveMakingProcessor = new UniformSequentialSubScopesProcessor();124 UniformSubScopesProcessor moveMakingProcessor = new UniformSubScopesProcessor(); 125 125 QualityComparator qualityComparator = new QualityComparator(); 126 126 ConditionalBranch improvesQualityBranch = new ConditionalBranch(); … … 167 167 resultsCollector.ResultsParameter.ActualName = ResultsParameter.Name; 168 168 169 mainProcessor.Name = "Solution processor (UniformS equentialSubScopesProcessor)";169 mainProcessor.Name = "Solution processor (UniformSubScopesProcessor)"; 170 170 171 171 moveGenerator.Name = "MoveGenerator (placeholder)"; … … 180 180 bestSelector.QualityParameter.ActualName = MoveQualityParameter.Name; 181 181 182 moveMakingProcessor.Name = "MoveMaking processor (UniformS equentialSubScopesProcessor)";182 moveMakingProcessor.Name = "MoveMaking processor (UniformSubScopesProcessor)"; 183 183 184 184 qualityComparator.LeftSideParameter.ActualName = MoveQualityParameter.Name; -
trunk/sources/HeuristicLab.Algorithms.SGA/3.3/SGAMainLoop.cs
r3160 r3193 124 124 ResultsCollector resultsCollector = new ResultsCollector(); 125 125 Placeholder selector = new Placeholder(); 126 S equentialSubScopesProcessor sequentialSubScopesProcessor1 = new SequentialSubScopesProcessor();126 SubScopesProcessor subScopesProcessor1 = new SubScopesProcessor(); 127 127 ChildrenCreator childrenCreator = new ChildrenCreator(); 128 UniformS equentialSubScopesProcessor uniformSequentialSubScopesProcessor = new UniformSequentialSubScopesProcessor();128 UniformSubScopesProcessor uniformSubScopesProcessor = new UniformSubScopesProcessor(); 129 129 Placeholder crossover = new Placeholder(); 130 130 StochasticBranch stochasticBranch = new StochasticBranch(); … … 132 132 Placeholder evaluator = new Placeholder(); 133 133 SubScopesRemover subScopesRemover = new SubScopesRemover(); 134 S equentialSubScopesProcessor sequentialSubScopesProcessor2 = new SequentialSubScopesProcessor();134 SubScopesProcessor subScopesProcessor2 = new SubScopesProcessor(); 135 135 BestSelector bestSelector = new BestSelector(); 136 136 RightReducer rightReducer = new RightReducer(); … … 263 263 visualizer1.Successor = resultsCollector; 264 264 resultsCollector.Successor = selector; 265 selector.Successor = s equentialSubScopesProcessor1;266 s equentialSubScopesProcessor1.Operators.Add(new EmptyOperator());267 s equentialSubScopesProcessor1.Operators.Add(childrenCreator);268 s equentialSubScopesProcessor1.Successor = sequentialSubScopesProcessor2;269 childrenCreator.Successor = uniformS equentialSubScopesProcessor;270 uniformS equentialSubScopesProcessor.Operator = crossover;271 uniformS equentialSubScopesProcessor.Successor = null;265 selector.Successor = subScopesProcessor1; 266 subScopesProcessor1.Operators.Add(new EmptyOperator()); 267 subScopesProcessor1.Operators.Add(childrenCreator); 268 subScopesProcessor1.Successor = subScopesProcessor2; 269 childrenCreator.Successor = uniformSubScopesProcessor; 270 uniformSubScopesProcessor.Operator = crossover; 271 uniformSubScopesProcessor.Successor = null; 272 272 crossover.Successor = stochasticBranch; 273 273 stochasticBranch.FirstBranch = mutator; … … 277 277 evaluator.Successor = subScopesRemover; 278 278 subScopesRemover.Successor = null; 279 s equentialSubScopesProcessor2.Operators.Add(bestSelector);280 s equentialSubScopesProcessor2.Operators.Add(new EmptyOperator());281 s equentialSubScopesProcessor2.Successor = mergingReducer;279 subScopesProcessor2.Operators.Add(bestSelector); 280 subScopesProcessor2.Operators.Add(new EmptyOperator()); 281 subScopesProcessor2.Successor = mergingReducer; 282 282 bestSelector.Successor = rightReducer; 283 283 rightReducer.Successor = null; -
trunk/sources/HeuristicLab.Algorithms.SimulatedAnnealing/3.3/SimulatedAnnealingMainLoop.cs
r3142 r3193 122 122 QualityDifferenceCalculator qualityDifferenceCalculator1 = new QualityDifferenceCalculator(); 123 123 Placeholder visualizer1 = new Placeholder(); 124 S equentialSubScopesProcessor sssp = new SequentialSubScopesProcessor();124 SubScopesProcessor sssp = new SubScopesProcessor(); 125 125 ResultsCollector resultsCollector = new ResultsCollector(); 126 126 Placeholder annealingOperator = new Placeholder(); 127 UniformS equentialSubScopesProcessor mainProcessor = new UniformSequentialSubScopesProcessor();127 UniformSubScopesProcessor mainProcessor = new UniformSubScopesProcessor(); 128 128 DataTableValuesCollector valuesCollector = new DataTableValuesCollector(); 129 129 Placeholder moveGenerator = new Placeholder(); 130 UniformS equentialSubScopesProcessor moveEvaluationProcessor = new UniformSequentialSubScopesProcessor();130 UniformSubScopesProcessor moveEvaluationProcessor = new UniformSubScopesProcessor(); 131 131 Placeholder moveEvaluator = new Placeholder(); 132 132 ProbabilisticQualityComparator qualityComparator = new ProbabilisticQualityComparator(); -
trunk/sources/HeuristicLab.Algorithms.TabuSearch/3.3/TabuSearchMainLoop.cs
r3145 r3193 123 123 Placeholder visualizer1 = new Placeholder(); 124 124 ResultsCollector resultsCollector = new ResultsCollector(); 125 UniformS equentialSubScopesProcessor mainProcessor = new UniformSequentialSubScopesProcessor();125 UniformSubScopesProcessor mainProcessor = new UniformSubScopesProcessor(); 126 126 Placeholder moveGenerator = new Placeholder(); 127 UniformS equentialSubScopesProcessor moveEvaluationProcessor = new UniformSequentialSubScopesProcessor();127 UniformSubScopesProcessor moveEvaluationProcessor = new UniformSubScopesProcessor(); 128 128 Placeholder moveEvaluator = new Placeholder(); 129 129 Placeholder tabuMoveEvaluator = new Placeholder(); … … 132 132 TabuSelector tabuSelector = new TabuSelector(); 133 133 RightReducer rightReducer = new RightReducer(); 134 UniformS equentialSubScopesProcessor moveMakingProcessor = new UniformSequentialSubScopesProcessor();134 UniformSubScopesProcessor moveMakingProcessor = new UniformSubScopesProcessor(); 135 135 Placeholder tabuMoveMaker = new Placeholder(); 136 136 Placeholder moveMaker = new Placeholder(); … … 179 179 resultsCollector.ResultsParameter.ActualName = "Results"; 180 180 181 mainProcessor.Name = "Solution processor (UniformS equentialSubScopesProcessor)";181 mainProcessor.Name = "Solution processor (UniformSubScopesProcessor)"; 182 182 183 183 moveGenerator.Name = "MoveGenerator (placeholder)"; … … 204 204 valuesCollector.DataTableParameter.ActualName = "MoveQualities"; 205 205 206 moveMakingProcessor.Name = "MoveMaking processor (UniformS equentialSubScopesProcessor)";206 moveMakingProcessor.Name = "MoveMaking processor (UniformSubScopesProcessor)"; 207 207 208 208 tabuMoveMaker.Name = "TabuMoveMaker (placeholder)"; -
trunk/sources/HeuristicLab.Operators/3.3/HeuristicLab.Operators-3.3.csproj
r2900 r3193 94 94 <Compile Include="MultipleCallsOperator.cs" /> 95 95 <Compile Include="Operator.cs" /> 96 <Compile Include="ParallelSubScopesProcessor.cs" />97 96 <Compile Include="Placeholder.cs" /> 98 97 <Compile Include="IntCounter.cs" /> 99 98 <Compile Include="ScopeCleaner.cs" /> 100 <Compile Include="SequentialSubScopesProcessor.cs" />101 99 <Compile Include="StochasticBranch.cs" /> 102 100 <Compile Include="SubScopesCreator.cs" /> 101 <Compile Include="SubScopesProcessor.cs" /> 103 102 <Compile Include="SubScopesRemover.cs" /> 104 103 <Compile Include="SubScopesSorter.cs" /> 105 104 <Compile Include="DoubleCounter.cs" /> 106 <Compile Include="UniformParallelSubScopesProcessor.cs" />107 <Compile Include="UniformSequentialSubScopesProcessor.cs" />108 105 <Compile Include="EmptyOperator.cs"> 109 106 <SubType>Code</SubType> … … 112 109 <Compile Include="Properties\AssemblyInfo.cs" /> 113 110 <Compile Include="SingleSuccessorOperator.cs" /> 111 <Compile Include="UniformSubScopesProcessor.cs" /> 114 112 <Compile Include="ValuesCollector.cs" /> 115 113 <Compile Include="VariableCreator.cs" /> -
trunk/sources/HeuristicLab.Operators/3.3/SubScopesProcessor.cs
r3186 r3193 21 21 22 22 using HeuristicLab.Core; 23 using HeuristicLab.Data; 24 using HeuristicLab.Parameters; 23 25 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 24 26 25 27 namespace HeuristicLab.Operators { 26 28 /// <summary> 27 /// An operator which contains multiple operators of which each is applied sequentiallyon one sub-scope of the current scope. The first operator is applied on the first sub-scope, the second on the second, and so on.29 /// An operator which contains multiple operators of which each is applied on one sub-scope of the current scope. The first operator is applied on the first sub-scope, the second on the second, and so on. 28 30 /// </summary> 29 [Item("S equentialSubScopesProcessor", "An operator which contains multiple operators of which each is applied sequentiallyon one sub-scope of the current scope. The first operator is applied on the first sub-scope, the second on the second, and so on.")]31 [Item("SubScopesProcessor", "An operator which contains multiple operators of which each is applied on one sub-scope of the current scope. The first operator is applied on the first sub-scope, the second on the second, and so on.")] 30 32 [StorableClass] 31 public sealed class SequentialSubScopesProcessor : MultipleCallsOperator { 32 public SequentialSubScopesProcessor() 33 public sealed class SubScopesProcessor : MultipleCallsOperator { 34 public ValueLookupParameter<BoolValue> ParallelParameter { 35 get { return (ValueLookupParameter<BoolValue>)Parameters["Parallel"]; } 36 } 37 38 public BoolValue Parallel { 39 get { return ParallelParameter.Value; } 40 set { ParallelParameter.Value = value; } 41 } 42 43 public SubScopesProcessor() 33 44 : base() { 45 Parameters.Add(new ValueLookupParameter<BoolValue>("Parallel", "True if the operators should be applied in parallel on the sub-scopes, otherwise false.", new BoolValue(false))); 34 46 } 35 47 36 48 public override IOperation Apply() { 49 BoolValue parallel = ParallelParameter.ActualValue; 37 50 OperationCollection next = new OperationCollection(base.Apply()); 38 51 if (Operators.Count > 0) { 39 52 OperationCollection inner = new OperationCollection(); 53 inner.Parallel = parallel == null ? false : parallel.Value; 40 54 for (int i = 0; (i < ExecutionContext.Scope.SubScopes.Count) && (i < Operators.Count); i++) 41 55 if (Operators[i] != null) inner.Add(ExecutionContext.CreateOperation(Operators[i], ExecutionContext.Scope.SubScopes[i])); -
trunk/sources/HeuristicLab.Operators/3.3/UniformSubScopesProcessor.cs
r3186 r3193 21 21 22 22 using HeuristicLab.Core; 23 using HeuristicLab.Data; 23 24 using HeuristicLab.Parameters; 24 25 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; … … 26 27 namespace HeuristicLab.Operators { 27 28 /// <summary> 28 /// An operator which applies a specified operator sequentiallyon all sub-scopes of the current scope.29 /// An operator which applies a specified operator on all sub-scopes of the current scope. 29 30 /// </summary> 30 [Item("UniformS equentialSubScopesProcessor", "An operator which applies a specified operator sequentiallyon all sub-scopes of the current scope.")]31 [Item("UniformSubScopesProcessor", "An operator which applies a specified operator on all sub-scopes of the current scope.")] 31 32 [StorableClass] 32 public sealed class UniformS equentialSubScopesProcessor : SingleSuccessorOperator {33 public sealed class UniformSubScopesProcessor : SingleSuccessorOperator { 33 34 private OperatorParameter OperatorParameter { 34 35 get { return (OperatorParameter)Parameters["Operator"]; } 35 36 } 37 public ValueLookupParameter<BoolValue> ParallelParameter { 38 get { return (ValueLookupParameter<BoolValue>)Parameters["Parallel"]; } 39 } 40 36 41 public IOperator Operator { 37 42 get { return OperatorParameter.Value; } 38 43 set { OperatorParameter.Value = value; } 39 44 } 45 public BoolValue Parallel { 46 get { return ParallelParameter.Value; } 47 set { ParallelParameter.Value = value; } 48 } 40 49 41 public UniformS equentialSubScopesProcessor()50 public UniformSubScopesProcessor() 42 51 : base() { 43 Parameters.Add(new OperatorParameter("Operator", "The operator which should be applied sequentially on all sub-scopes of the current scope.")); 52 Parameters.Add(new OperatorParameter("Operator", "The operator which should be applied on all sub-scopes of the current scope.")); 53 Parameters.Add(new ValueLookupParameter<BoolValue>("Parallel", "True if the operator should be applied in parallel on all sub-scopes, otherwise false.", new BoolValue(false))); 44 54 } 45 55 46 56 public override IOperation Apply() { 57 BoolValue parallel = ParallelParameter.ActualValue; 47 58 OperationCollection next = new OperationCollection(base.Apply()); 48 59 if (Operator != null) { 49 60 OperationCollection inner = new OperationCollection(); 61 inner.Parallel = parallel == null ? false : parallel.Value; 50 62 for (int i = 0; i < ExecutionContext.Scope.SubScopes.Count; i++) 51 63 inner.Add(ExecutionContext.CreateOperation(Operator, ExecutionContext.Scope.SubScopes[i]));
Note: See TracChangeset
for help on using the changeset viewer.