Changeset 7724 for branches/ScatterSearch/HeuristicLab.Algorithms.ScatterSearch/3.3/ScatterSearchMainLoop.cs
- Timestamp:
- 04/12/12 16:42:17 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/ScatterSearch/HeuristicLab.Algorithms.ScatterSearch/3.3/ScatterSearchMainLoop.cs
r7722 r7724 47 47 get { return (LookupParameter<IntValue>)Parameters["MaximumIterations"]; } 48 48 } 49 internal LookupParameter<BoolValue> MaximizationParameter { 50 get { return (LookupParameter<BoolValue>)Parameters["Maximization"]; } 51 } 49 52 internal LookupParameter<IntValue> SampleSizeParameter { 50 53 get { return (LookupParameter<IntValue>)Parameters["SampleSize"]; } … … 59 62 get { return (LookupParameter<IntValue>)Parameters["NumberOfHighQualitySolutions"]; } 60 63 } 64 internal LookupParameter<DoubleValue> QualityParameter { 65 get { return (LookupParameter<DoubleValue>)Parameters["Quality"]; } 66 } 67 internal LookupParameter<DoubleValue> BestKnownQualityParameter { 68 get { return (LookupParameter<DoubleValue>)Parameters["BestKnownQuality"]; } 69 } 70 internal LookupParameter<DoubleValue> MoveQualityParameter { 71 get { return (LookupParameter<DoubleValue>)Parameters["MoveQuality"]; } 72 } 61 73 internal LookupParameter<VariableCollection> ResultsParameter { 62 74 get { return (LookupParameter<VariableCollection>)Parameters["Results"]; } 75 } 76 internal LookupParameter<IOperator> MoveEvaluatorParameter { 77 get { return (LookupParameter<IOperator>)Parameters["MoveEvaluator"]; } 78 } 79 internal LookupParameter<IOperator> MoveGeneratorParameter { 80 get { return (LookupParameter<IOperator>)Parameters["MoveGenerator"]; } 81 } 82 internal LookupParameter<IOperator> MoveMakerParameter { 83 get { return (LookupParameter<IOperator>)Parameters["MoveMaker"]; } 63 84 } 64 85 internal LookupParameter<IMultiAnalyzer> AnalyzerParameter { … … 80 101 set { MaximumIterationsParameter.ActualValue = value; } 81 102 } 103 public BoolValue Maximization { 104 get { return MaximizationParameter.ActualValue; } 105 set { MaximizationParameter.ActualValue = value; } 106 } 82 107 public IntValue SampleSize { 83 108 get { return SampleSizeParameter.ActualValue; } … … 96 121 set { NumberOfHighQualitySolutionsParameter.ActualValue = value; } 97 122 } 123 public DoubleValue Quality { 124 get { return QualityParameter.ActualValue; } 125 set { QualityParameter.ActualValue = value; } 126 } 127 public DoubleValue BestKnownQuality { 128 get { return BestKnownQualityParameter.ActualValue; } 129 set { BestKnownQualityParameter.ActualValue = value; } 130 } 131 public DoubleValue MoveQuality { 132 get { return MoveQualityParameter.ActualValue; } 133 set { MoveQualityParameter.ActualValue = value; } 134 } 98 135 public VariableCollection Results { 99 136 get { return ResultsParameter.ActualValue; } 100 137 set { ResultsParameter.ActualValue = value; } 138 } 139 public IOperator MoveEvaluator { 140 get { return MoveEvaluatorParameter.ActualValue; } 141 set { MoveEvaluatorParameter.ActualValue = value; } 142 } 143 public IOperator MoveGenerator { 144 get { return MoveGeneratorParameter.ActualValue; } 145 set { MoveGeneratorParameter.ActualValue = value; } 146 } 147 public IOperator MoveMaker { 148 get { return MoveMakerParameter.ActualValue; } 149 set { MoveMakerParameter.ActualValue = value; } 101 150 } 102 151 public IMultiAnalyzer Analyzer { … … 120 169 Parameters.Add(new LookupParameter<IntValue>("Iterations", "The number of iterations performed.")); 121 170 Parameters.Add(new LookupParameter<IntValue>("MaximumIterations", "The maximum number of generations which should be processed.")); 171 Parameters.Add(new LookupParameter<BoolValue>("Maximization", "True if the problem is a maximization problem, otherwise false.")); 122 172 Parameters.Add(new LookupParameter<IntValue>("SampleSize", "Number of moves that MultiMoveGenerators should create. This is ignored for Exhaustive- and SingleMoveGenerators.")); 123 173 Parameters.Add(new LookupParameter<IntValue>("PopulationSize", "The size of the population.")); 124 174 Parameters.Add(new LookupParameter<IntValue>("ReferenceSetSize", "The size of the reference set.")); 125 175 Parameters.Add(new LookupParameter<IntValue>("NumberOfHighQualitySolutions", "The number of high quality solutions that should be added to the reference set.")); 176 Parameters.Add(new LookupParameter<DoubleValue>("Quality", "The value which represents the quality of a solution.")); 177 Parameters.Add(new LookupParameter<DoubleValue>("BestKnownQuality", "The problem's best known quality value found so far.")); 178 Parameters.Add(new LookupParameter<DoubleValue>("MoveQuality", "The value which represents the quality of a move.")); 126 179 Parameters.Add(new LookupParameter<IOperator>("SolutionCreator", "The operator which is used to create new solutions.")); 127 180 Parameters.Add(new LookupParameter<IOperator>("Evaluator", "The operator which is used to evaluate new solutions. This operator is executed in parallel, if an engine is used which supports parallelization.")); … … 143 196 IntCounter interationsCounter = new IntCounter(); 144 197 LocalSearchImprovementOperator localImprovementOperator = new LocalSearchImprovementOperator(); 198 Placeholder analyzer = new Placeholder(); 145 199 Placeholder solutionImprover = new Placeholder(); 146 200 Placeholder solutionEvaluator = new Placeholder(); … … 204 258 interationsCounter.Successor = resultsCollector; 205 259 260 analyzer.Name = "Analyzer"; 261 analyzer.OperatorParameter.ActualName = "Analyzer"; 262 206 263 solutionImprover.Name = "SolutionImprover"; 207 264 solutionImprover.OperatorParameter.ActualName = "LocalImprovementOperator"; … … 214 271 populationRebuildMethod.Successor = subScopesProcessor3; 215 272 273 resultsCollector.CopyValue = new BoolValue(false); 216 274 resultsCollector.CollectedValues.Add(new LookupParameter<IntValue>(IterationsParameter.Name)); 275 resultsCollector.CollectedValues.Add(new LookupParameter<DoubleValue>(BestKnownQualityParameter.Name, null, BestKnownQualityParameter.Name)); 217 276 resultsCollector.ResultsParameter.ActualName = ResultsParameter.Name; 218 277 resultsCollector.Successor = iterationsChecker; … … 221 280 222 281 solutionCombinationMethod.Successor = subScopesProcessor2; 282 283 solutionPoolUpdateMethod.Successor = analyzer; 223 284 224 285 solutionsCreator.Name = "DiversificationGenerationMethod"; … … 257 318 258 319 public override IOperation Apply() { 320 if (MoveGeneratorParameter.ActualValue == null || MoveEvaluatorParameter.ActualValue == null || MoveMakerParameter.ActualValue == null) 321 return null; 259 322 return base.Apply(); 260 323 }
Note: See TracChangeset
for help on using the changeset viewer.