- Timestamp:
- 03/16/10 21:29:10 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Algorithms.TS/3.3/TSMainLoop.cs
r3048 r3074 42 42 get { return (ValueLookupParameter<BoolValue>)Parameters["Maximization"]; } 43 43 } 44 public SubScopesLookupParameter<DoubleValue> QualityParameter { 45 get { return (SubScopesLookupParameter<DoubleValue>)Parameters["Quality"]; } 44 public LookupParameter<DoubleValue> QualityParameter { 45 get { return (LookupParameter<DoubleValue>)Parameters["Quality"]; } 46 } 47 public LookupParameter<DoubleValue> MoveQualityParameter { 48 get { return (LookupParameter<DoubleValue>)Parameters["MoveQuality"]; } 46 49 } 47 50 public ValueLookupParameter<IntValue> MaximumIterationsParameter { … … 57 60 get { return (ValueLookupParameter<IOperator>)Parameters["MoveGenerator"]; } 58 61 } 59 public ValueLookupParameter<IOperator> MoveQualityEvaluatorParameter { 60 get { return (ValueLookupParameter<IOperator>)Parameters["MoveQualityEvaluator"]; } 61 } 62 public ValueLookupParameter<IOperator> MoveTabuEvaluatorParameter { 63 get { return (ValueLookupParameter<IOperator>)Parameters["MoveTabuEvaluator"]; } 64 } 65 public ValueLookupParameter<IOperator> TabuSelectorParameter { 66 get { return (ValueLookupParameter<IOperator>)Parameters["TabuSelector"]; } 67 } 68 public ValueLookupParameter<IOperator> MoveTabuMakerParameter { 69 get { return (ValueLookupParameter<IOperator>)Parameters["MoveTabuMaker"]; } 62 public ValueLookupParameter<IOperator> MoveEvaluatorParameter { 63 get { return (ValueLookupParameter<IOperator>)Parameters["MoveEvaluator"]; } 70 64 } 71 65 public ValueLookupParameter<IOperator> MoveMakerParameter { 72 66 get { return (ValueLookupParameter<IOperator>)Parameters["MoveMaker"]; } 67 } 68 public ValueLookupParameter<IOperator> TabuMoveEvaluatorParameter { 69 get { return (ValueLookupParameter<IOperator>)Parameters["TabuMoveEvaluator"]; } 70 } 71 public ValueLookupParameter<IOperator> TabuMoveMakerParameter { 72 get { return (ValueLookupParameter<IOperator>)Parameters["TabuMoveMaker"]; } 73 73 } 74 74 … … 86 86 Parameters.Add(new ValueLookupParameter<IRandom>("Random", "A pseudo random number generator.")); 87 87 Parameters.Add(new ValueLookupParameter<BoolValue>("Maximization", "True if the problem is a maximization problem, otherwise false.")); 88 Parameters.Add(new SubScopesLookupParameter<DoubleValue>("Quality", "The value which represents the quality of a solution.")); 88 Parameters.Add(new LookupParameter<DoubleValue>("Quality", "The value which represents the quality of a solution.")); 89 Parameters.Add(new LookupParameter<DoubleValue>("MoveQuality", "The value which represents the quality of a move.")); 89 90 Parameters.Add(new ValueLookupParameter<IntValue>("MaximumIterations", "The maximum number of generations which should be processed.")); 90 91 Parameters.Add(new ValueLookupParameter<IntValue>("TabuTenure", "The length of the tabu list, and also means the number of iterations a move is kept tabu")); … … 92 93 93 94 Parameters.Add(new ValueLookupParameter<IOperator>("MoveGenerator", "The operator that generates the moves.")); 94 Parameters.Add(new ValueLookupParameter<IOperator>("MoveQualityEvaluator", "The operator that evaluates the quality of a move."));95 Parameters.Add(new ValueLookupParameter<IOperator>("MoveTabuEvaluator", "The operator that evaluates whether a move is tabu."));96 Parameters.Add(new ValueLookupParameter<IOperator>("MoveTabuMaker", "The operator that declares a move tabu."));97 95 Parameters.Add(new ValueLookupParameter<IOperator>("MoveMaker", "The operator that performs a move and updates the quality.")); 96 Parameters.Add(new ValueLookupParameter<IOperator>("MoveEvaluator", "The operator that evaluates a move.")); 97 Parameters.Add(new ValueLookupParameter<IOperator>("TabuMoveEvaluator", "The operator that evaluates whether a move is tabu.")); 98 Parameters.Add(new ValueLookupParameter<IOperator>("TabuMoveMaker", "The operator that declares a move tabu.")); 98 99 99 100 Parameters.Add(new ScopeParameter("CurrentScope", "The current scope which represents a population of solutions on which the TS should be applied.")); … … 108 109 Placeholder moveGenerator = new Placeholder(); 109 110 UniformSequentialSubScopesProcessor moveEvaluationProcessor = new UniformSequentialSubScopesProcessor(); 110 Placeholder move QualityEvaluator = new Placeholder();111 Placeholder moveTabuEvaluator = new Placeholder();111 Placeholder moveEvaluator = new Placeholder(); 112 Placeholder tabuMoveEvaluator = new Placeholder(); 112 113 SubScopesSorter moveQualitySorter = new SubScopesSorter(); 113 114 BestAverageWorstQualityCalculator bestAverageWorstMoveQualityCalculator = new BestAverageWorstQualityCalculator(); … … 115 116 RightReducer rightReducer = new RightReducer(); 116 117 UniformSequentialSubScopesProcessor moveMakingProcessor = new UniformSequentialSubScopesProcessor(); 117 Placeholder moveTabuMaker = new Placeholder();118 Placeholder tabuMoveMaker = new Placeholder(); 118 119 Placeholder moveMaker = new Placeholder(); 119 120 DataTableValuesCollector valuesCollector = new DataTableValuesCollector(); … … 143 144 moveGenerator.OperatorParameter.ActualName = "MoveGenerator"; 144 145 145 move QualityEvaluator.Name = "MoveQualityEvaluator (placeholder)";146 move QualityEvaluator.OperatorParameter.ActualName = "MoveQualityEvaluator";147 148 moveTabuEvaluator.Name = "MoveTabuEvaluator (placeholder)";149 moveTabuEvaluator.OperatorParameter.ActualName = "MoveTabuEvaluator";146 moveEvaluator.Name = "MoveEvaluator (placeholder)"; 147 moveEvaluator.OperatorParameter.ActualName = "MoveEvaluator"; 148 149 tabuMoveEvaluator.Name = "TabuMoveEvaluator (placeholder)"; 150 tabuMoveEvaluator.OperatorParameter.ActualName = "TabuMoveEvaluator"; 150 151 151 152 moveQualitySorter.DescendingParameter.ActualName = "Maximization"; … … 162 163 moveMakingProcessor.Name = "MoveMaking processor (UniformSequentialSubScopesProcessor)"; 163 164 164 moveTabuMaker.Name = "MoveTabuMaker (placeholder)";165 moveTabuMaker.OperatorParameter.ActualName = "MoveTabuMaker";165 tabuMoveMaker.Name = "TabuMoveMaker (placeholder)"; 166 tabuMoveMaker.OperatorParameter.ActualName = "TabuMoveMaker"; 166 167 167 168 moveMaker.Name = "MoveMaker (placeholder)"; … … 198 199 mainProcessor.Successor = valuesCollector; 199 200 moveGenerator.Successor = moveEvaluationProcessor; 200 moveEvaluationProcessor.Operator = move QualityEvaluator;201 moveEvaluationProcessor.Operator = moveEvaluator; 201 202 moveEvaluationProcessor.Successor = moveQualitySorter; 202 move QualityEvaluator.Successor = moveTabuEvaluator;203 moveEvaluator.Successor = tabuMoveEvaluator; 203 204 moveQualitySorter.Successor = bestAverageWorstMoveQualityCalculator; 204 205 bestAverageWorstMoveQualityCalculator.Successor = tabuSelector; 205 206 tabuSelector.Successor = rightReducer; 206 207 rightReducer.Successor = moveMakingProcessor; 207 moveMakingProcessor.Operator = moveTabuMaker;208 moveMakingProcessor.Operator = tabuMoveMaker; 208 209 moveMakingProcessor.Successor = subScopesRemover; 209 moveTabuMaker.Successor = moveMaker;210 tabuMoveMaker.Successor = moveMaker; 210 211 valuesCollector.Successor = iterationsCounter; 211 212 iterationsCounter.Successor = iterationsComparator;
Note: See TracChangeset
for help on using the changeset viewer.