Changeset 3650 for trunk/sources/HeuristicLab.Algorithms.GeneticAlgorithm
- Timestamp:
- 05/05/10 18:54:00 (14 years ago)
- Location:
- trunk/sources/HeuristicLab.Algorithms.GeneticAlgorithm/3.3
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Algorithms.GeneticAlgorithm/3.3/IslandGeneticAlgorithm.cs
r3616 r3650 34 34 using HeuristicLab.Random; 35 35 using HeuristicLab.Selection; 36 using HeuristicLab.Analysis; 36 37 37 38 namespace HeuristicLab.Algorithms.GeneticAlgorithm { … … 103 104 get { return (ValueParameter<BoolValue>)Parameters["Parallel"]; } 104 105 } 106 private ValueParameter<MultiAnalyzer<IMultiPopulationAnalyzer>> AnalyzerParameter { 107 get { return (ValueParameter<MultiAnalyzer<IMultiPopulationAnalyzer>>)Parameters["Analyzer"]; } 108 } 109 private ValueParameter<MultiAnalyzer<IPopulationAnalyzer>> IslandAnalyzerParameter { 110 get { return (ValueParameter<MultiAnalyzer<IPopulationAnalyzer>>)Parameters["IslandAnalyzer"]; } 111 } 105 112 #endregion 106 113 … … 169 176 get { return ParallelParameter.Value; } 170 177 set { ParallelParameter.Value = value; } 178 } 179 public MultiAnalyzer<IMultiPopulationAnalyzer> Analyzer { 180 get { return AnalyzerParameter.Value; } 181 set { AnalyzerParameter.Value = value; } 182 } 183 public MultiAnalyzer<IPopulationAnalyzer> IslandAnalyzer { 184 get { return IslandAnalyzerParameter.Value; } 185 set { IslandAnalyzerParameter.Value = value; } 171 186 } 172 187 private List<ISelector> selectors; … … 189 204 get { return (IslandGeneticAlgorithmMainLoop)IslandProcessor.Successor; } 190 205 } 206 private PopulationBestAverageWorstQualityAnalyzer islandQualityAnalyzer; 207 //private MultipopulationBestAverageWorstQualityAnalyzer qualityAnalyzer; 191 208 #endregion 192 209 … … 211 228 Parameters.Add(new ValueParameter<IntValue>("Elites", "The numer of elite solutions which are kept in each generation.", new IntValue(1))); 212 229 Parameters.Add(new ValueParameter<BoolValue>("Parallel", "True if the islands should be run in parallel (also requires a parallel engine)", new BoolValue(false))); 213 230 Parameters.Add(new ValueParameter<MultiAnalyzer<IMultiPopulationAnalyzer>>("Analyzer", "The operator used to analyze the islands.", new MultiAnalyzer<IMultiPopulationAnalyzer>())); 231 Parameters.Add(new ValueParameter<MultiAnalyzer<IPopulationAnalyzer>>("IslandAnalyzer", "The operator used to analyze each island.", new MultiAnalyzer<IPopulationAnalyzer>())); 232 214 233 RandomCreator randomCreator = new RandomCreator(); 215 234 SubScopesCreator populationCreator = new SubScopesCreator(); … … 251 270 mainLoop.RandomParameter.ActualName = randomCreator.RandomParameter.ActualName; 252 271 mainLoop.ResultsParameter.ActualName = "Results"; 272 mainLoop.AnalyzerParameter.ActualName = AnalyzerParameter.Name; 273 mainLoop.IslandAnalyzerParameter.ActualName = IslandAnalyzerParameter.Name; 253 274 254 275 mainLoop.Successor = null; … … 275 296 ParameterizeMainLoop(); 276 297 ParameterizeSelectors(); 298 ParameterizeAnalyzers(); 277 299 UpdateCrossovers(); 278 300 UpdateMutators(); 301 UpdateAnalyzers(); 279 302 Problem.Evaluator.QualityParameter.ActualNameChanged += new EventHandler(Evaluator_QualityParameter_ActualNameChanged); 280 303 base.OnProblemChanged(); … … 291 314 ParameterizeMainLoop(); 292 315 ParameterizeSelectors(); 316 ParameterizeAnalyzers(); 293 317 Problem.Evaluator.QualityParameter.ActualNameChanged += new EventHandler(Evaluator_QualityParameter_ActualNameChanged); 294 318 base.Problem_EvaluatorChanged(sender, e); … … 298 322 UpdateCrossovers(); 299 323 UpdateMutators(); 324 UpdateAnalyzers(); 300 325 base.Problem_OperatorsChanged(sender, e); 301 326 } … … 317 342 ParameterizeMainLoop(); 318 343 ParameterizeSelectors(); 344 ParameterizeAnalyzers(); 319 345 } 320 346 private void MigrationRateParameter_ValueChanged(object sender, EventArgs e) { … … 331 357 private void Initialize() { 332 358 InitializeSelectors(); 359 InitializeAnalyzers(); 333 360 UpdateSelectors(); 361 UpdateAnalyzers(); 334 362 InitializeMigrators(); 335 363 UpdateMigrators(); … … 368 396 immigrationReplacers.AddRange(ApplicationManager.Manager.GetInstances<IReplacer>().OrderBy(x => x.Name)); 369 397 ParameterizeSelectors(); 398 } 399 private void InitializeAnalyzers() { 400 islandQualityAnalyzer = new PopulationBestAverageWorstQualityAnalyzer(); 401 //qualityAnalyzer = new MultipopulationBestAverageWorstQualityAnalyzer(); 402 ParameterizeAnalyzers(); 370 403 } 371 404 private void InitializeMigrators() { … … 403 436 } 404 437 } 438 private void ParameterizeAnalyzers() { 439 islandQualityAnalyzer.ResultsParameter.ActualName = "Results"; 440 //qualityAnalyzer.ResultsParameter.ActualName = "Results"; 441 if (Problem != null) { 442 islandQualityAnalyzer.MaximizationParameter.ActualName = Problem.MaximizationParameter.Name; 443 islandQualityAnalyzer.QualityParameter.ActualName = Problem.Evaluator.QualityParameter.ActualName; 444 islandQualityAnalyzer.BestKnownQualityParameter.ActualName = Problem.BestKnownQualityParameter.Name; 445 } 446 } 405 447 private void UpdateSelectors() { 406 448 ISelector oldSelector = SelectorParameter.Value; … … 465 507 } 466 508 } 509 private void UpdateAnalyzers() { 510 IslandAnalyzer.Operators.Clear(); 511 Analyzer.Operators.Clear(); 512 IslandAnalyzer.Operators.Add(islandQualityAnalyzer); 513 //Analyzer.Operators.Add(qualityAnalyzer); 514 if (Problem != null) { 515 foreach (IPopulationAnalyzer analyzer in Problem.Operators.OfType<IPopulationAnalyzer>().OrderBy(x => x.Name)) { 516 IslandAnalyzer.Operators.Add(analyzer); 517 } 518 foreach (IMultiPopulationAnalyzer analyzer in Problem.Operators.OfType<IMultiPopulationAnalyzer>().OrderBy(x => x.Name)) 519 Analyzer.Operators.Add(analyzer); 520 } 521 } 467 522 #endregion 468 523 } -
trunk/sources/HeuristicLab.Algorithms.GeneticAlgorithm/3.3/IslandGeneticAlgorithmMainLoop.cs
r3616 r3650 102 102 public ValueLookupParameter<IOperator> AnalyzerParameter { 103 103 get { return (ValueLookupParameter<IOperator>)Parameters["Analyzer"]; } 104 } 105 public ValueLookupParameter<IOperator> IslandAnalyzerParameter { 106 get { return (ValueLookupParameter<IOperator>)Parameters["IslandAnalyzer"]; } 104 107 } 105 108 #endregion … … 129 132 Parameters.Add(new ValueLookupParameter<IntValue>("Elites", "The numer of elite solutions which are kept in each generation.")); 130 133 Parameters.Add(new ValueLookupParameter<ResultCollection>("Results", "The results collection to store the results.")); 131 Parameters.Add(new ValueLookupParameter<IOperator>("Analyzer", "The operator used to analyze each island.")); 134 Parameters.Add(new ValueLookupParameter<IOperator>("Analyzer", "The operator used to the analyze the islands.")); 135 Parameters.Add(new ValueLookupParameter<IOperator>("IslandAnalyzer", "The operator used to analyze each island.")); 132 136 #endregion 133 137 … … 136 140 UniformSubScopesProcessor uniformSubScopesProcessor0 = new UniformSubScopesProcessor(); 137 141 VariableCreator islandVariableCreator = new VariableCreator(); 138 BestQualityMemorizer islandBestQualityMemorizer1 = new BestQualityMemorizer();139 BestAverageWorstQualityCalculator islandBestAverageWorstQualityCalculator1 = new BestAverageWorstQualityCalculator();140 DataTableValuesCollector islandDataTableValuesCollector1 = new DataTableValuesCollector();141 QualityDifferenceCalculator islandQualityDifferenceCalculator1 = new QualityDifferenceCalculator();142 142 Placeholder islandAnalyzer1 = new Placeholder(); 143 ResultsCollector islandResultsCollector = new ResultsCollector(); 144 BestQualityMemorizer bestQualityMemorizer1 = new BestQualityMemorizer(); 145 BestQualityMemorizer bestQualityMemorizer2 = new BestQualityMemorizer(); 146 BestAverageWorstQualityCalculator bestAverageWorstQualityCalculator1 = new BestAverageWorstQualityCalculator(); 147 DataTableValuesCollector dataTableValuesCollector1 = new DataTableValuesCollector(); 148 QualityDifferenceCalculator qualityDifferenceCalculator1 = new QualityDifferenceCalculator(); 149 ResultsCollector resultsCollector = new ResultsCollector(); 143 Placeholder analyzer1 = new Placeholder(); 144 ResultsCollector resultsCollector1 = new ResultsCollector(); 145 ResultsCollector resultsCollector2 = new ResultsCollector(); 150 146 UniformSubScopesProcessor uniformSubScopesProcessor1 = new UniformSubScopesProcessor(); 151 147 Placeholder selector = new Placeholder(); … … 162 158 RightReducer rightReducer = new RightReducer(); 163 159 MergingReducer mergingReducer = new MergingReducer(); 164 BestQualityMemorizer islandBestQualityMemorizer2 = new BestQualityMemorizer();165 BestAverageWorstQualityCalculator islandBestAverageWorstQualityCalculator2 = new BestAverageWorstQualityCalculator();166 DataTableValuesCollector islandDataTableValuesCollector2 = new DataTableValuesCollector();167 QualityDifferenceCalculator islandQualityDifferenceCalculator2 = new QualityDifferenceCalculator();168 160 Placeholder islandAnalyzer2 = new Placeholder(); 169 161 IntCounter generationsCounter = new IntCounter(); … … 179 171 Placeholder immigrationReplacer = new Placeholder(); 180 172 Comparator generationsComparator = new Comparator(); 181 BestQualityMemorizer bestQualityMemorizer3 = new BestQualityMemorizer(); 182 BestQualityMemorizer bestQualityMemorizer4 = new BestQualityMemorizer(); 183 BestAverageWorstQualityCalculator bestAverageWorstQualityCalculator2 = new BestAverageWorstQualityCalculator(); 184 DataTableValuesCollector dataTableValuesCollector2 = new DataTableValuesCollector(); 185 QualityDifferenceCalculator qualityDifferenceCalculator2 = new QualityDifferenceCalculator(); 173 Placeholder analyzer2 = new Placeholder(); 174 ResultsCollector resultsCollector3 = new ResultsCollector(); 186 175 ConditionalBranch generationsTerminationCondition = new ConditionalBranch(); 187 176 … … 190 179 variableCreator.CollectedValues.Add(new ValueParameter<IntValue>("Generations", new IntValue(0))); 191 180 192 islandVariableCreator.CollectedValues.Add(new ValueParameter<ResultCollection>("IslandResults", new ResultCollection())); 193 194 islandBestQualityMemorizer1.BestQualityParameter.ActualName = "BestQuality"; 195 islandBestQualityMemorizer1.MaximizationParameter.ActualName = MaximizationParameter.Name; 196 islandBestQualityMemorizer1.QualityParameter.ActualName = QualityParameter.Name; 197 198 islandBestAverageWorstQualityCalculator1.AverageQualityParameter.ActualName = "CurrentAverageQuality"; 199 islandBestAverageWorstQualityCalculator1.BestQualityParameter.ActualName = "CurrentBestQuality"; 200 islandBestAverageWorstQualityCalculator1.MaximizationParameter.ActualName = MaximizationParameter.Name; 201 islandBestAverageWorstQualityCalculator1.QualityParameter.ActualName = QualityParameter.Name; 202 islandBestAverageWorstQualityCalculator1.WorstQualityParameter.ActualName = "CurrentWorstQuality"; 203 204 islandDataTableValuesCollector1.CollectedValues.Add(new LookupParameter<DoubleValue>("Current Best Quality", null, "CurrentBestQuality")); 205 islandDataTableValuesCollector1.CollectedValues.Add(new LookupParameter<DoubleValue>("Current Average Quality", null, "CurrentAverageQuality")); 206 islandDataTableValuesCollector1.CollectedValues.Add(new LookupParameter<DoubleValue>("Current Worst Quality", null, "CurrentWorstQuality")); 207 islandDataTableValuesCollector1.CollectedValues.Add(new LookupParameter<DoubleValue>("Best Quality", null, "BestQuality")); 208 islandDataTableValuesCollector1.CollectedValues.Add(new LookupParameter<DoubleValue>("Best Known Quality", null, "BestKnownQuality")); 209 islandDataTableValuesCollector1.DataTableParameter.ActualName = "Qualities"; 210 211 islandQualityDifferenceCalculator1.AbsoluteDifferenceParameter.ActualName = "AbsoluteDifferenceBestKnownToBest"; 212 islandQualityDifferenceCalculator1.FirstQualityParameter.ActualName = BestKnownQualityParameter.Name; 213 islandQualityDifferenceCalculator1.RelativeDifferenceParameter.ActualName = "RelativeDifferenceBestKnownToBest"; 214 islandQualityDifferenceCalculator1.SecondQualityParameter.ActualName = "BestQuality"; 215 216 islandAnalyzer1.Name = "Analyzer"; 217 islandAnalyzer1.OperatorParameter.ActualName = "Analyzer"; 218 219 islandResultsCollector.CollectedValues.Add(new LookupParameter<IntValue>("Generations")); 220 islandResultsCollector.CollectedValues.Add(new LookupParameter<DoubleValue>("Current Best Quality", null, "CurrentBestQuality")); 221 islandResultsCollector.CollectedValues.Add(new LookupParameter<DoubleValue>("Current Average Quality", null, "CurrentAverageQuality")); 222 islandResultsCollector.CollectedValues.Add(new LookupParameter<DoubleValue>("Current Worst Quality", null, "CurrentWorstQuality")); 223 islandResultsCollector.CollectedValues.Add(new LookupParameter<DoubleValue>("Best Quality", null, "BestQuality")); 224 islandResultsCollector.CollectedValues.Add(new LookupParameter<DoubleValue>("Best Known Quality", null, "BestKnownQuality")); 225 islandResultsCollector.CollectedValues.Add(new LookupParameter<DoubleValue>("Absolute Difference of Best Known Quality to Best Quality", null, "AbsoluteDifferenceBestKnownToBest")); 226 islandResultsCollector.CollectedValues.Add(new LookupParameter<DoubleValue>("Relative Difference of Best Known Quality to Best Quality", null, "RelativeDifferenceBestKnownToBest")); 227 islandResultsCollector.CollectedValues.Add(new LookupParameter<DataTable>("Qualities")); 228 islandResultsCollector.ResultsParameter.ActualName = "IslandResults"; 229 230 bestQualityMemorizer1.BestQualityParameter.ActualName = "BestQuality"; 231 bestQualityMemorizer1.MaximizationParameter.ActualName = MaximizationParameter.Name; 232 bestQualityMemorizer1.QualityParameter.ActualName = "BestQuality"; 233 234 bestQualityMemorizer2.BestQualityParameter.ActualName = BestKnownQualityParameter.Name; 235 bestQualityMemorizer2.MaximizationParameter.ActualName = MaximizationParameter.Name; 236 bestQualityMemorizer2.QualityParameter.ActualName = "BestQuality"; 237 238 bestAverageWorstQualityCalculator1.AverageQualityParameter.ActualName = "CurrentAverageBestQuality"; 239 bestAverageWorstQualityCalculator1.BestQualityParameter.ActualName = "CurrentBestBestQuality"; 240 bestAverageWorstQualityCalculator1.MaximizationParameter.ActualName = MaximizationParameter.Name; 241 bestAverageWorstQualityCalculator1.QualityParameter.ActualName = "CurrentBestQuality"; 242 bestAverageWorstQualityCalculator1.WorstQualityParameter.ActualName = "CurrentWorstBestQuality"; 243 244 dataTableValuesCollector1.CollectedValues.Add(new LookupParameter<DoubleValue>("Current Best BestQuality", null, "CurrentBestBestQuality")); 245 dataTableValuesCollector1.CollectedValues.Add(new LookupParameter<DoubleValue>("Current Average BestQuality", null, "CurrentAverageBestQuality")); 246 dataTableValuesCollector1.CollectedValues.Add(new LookupParameter<DoubleValue>("Current Worst BestQuality", null, "CurrentWorstBestQuality")); 247 dataTableValuesCollector1.CollectedValues.Add(new LookupParameter<DoubleValue>("Best Quality", null, "BestQuality")); 248 dataTableValuesCollector1.CollectedValues.Add(new LookupParameter<DoubleValue>("Best Known Quality", null, BestKnownQualityParameter.Name)); 249 dataTableValuesCollector1.DataTableParameter.ActualName = "BestQualities"; 250 251 qualityDifferenceCalculator1.AbsoluteDifferenceParameter.ActualName = "AbsoluteDifferenceBestKnownToBest"; 252 qualityDifferenceCalculator1.FirstQualityParameter.ActualName = BestKnownQualityParameter.Name; 253 qualityDifferenceCalculator1.RelativeDifferenceParameter.ActualName = "RelativeDifferenceBestKnownToBest"; 254 qualityDifferenceCalculator1.SecondQualityParameter.ActualName = "BestQuality"; 255 256 resultsCollector.CollectedValues.Add(new LookupParameter<IntValue>("Migrations")); 257 resultsCollector.CollectedValues.Add(new LookupParameter<DoubleValue>("Current Best BestQuality", null, "CurrentBestBestQuality")); 258 resultsCollector.CollectedValues.Add(new LookupParameter<DoubleValue>("Current Average BestQuality", null, "CurrentAverageBestQuality")); 259 resultsCollector.CollectedValues.Add(new LookupParameter<DoubleValue>("Current Worst BestQuality", null, "CurrentWorstBestQuality")); 260 resultsCollector.CollectedValues.Add(new LookupParameter<DoubleValue>("Best Quality", null, "BestQuality")); 261 resultsCollector.CollectedValues.Add(new LookupParameter<DoubleValue>("Best Known Quality", null, BestKnownQualityParameter.Name)); 262 resultsCollector.CollectedValues.Add(new LookupParameter<DoubleValue>("Absolute Difference of Best Known Quality to Best Quality", null, "AbsoluteDifferenceBestKnownToBest")); 263 resultsCollector.CollectedValues.Add(new LookupParameter<DoubleValue>("Relative Difference of Best Known Quality to Best Quality", null, "RelativeDifferenceBestKnownToBest")); 264 resultsCollector.CollectedValues.Add(new LookupParameter<DataTable>("BestQualities")); 265 resultsCollector.CollectedValues.Add(new SubScopesLookupParameter<ResultCollection>("IslandResults", "Result set for each island")); 266 resultsCollector.ResultsParameter.ActualName = ResultsParameter.Name; 181 islandVariableCreator.CollectedValues.Add(new ValueParameter<ResultCollection>("Results", new ResultCollection())); 182 183 islandAnalyzer1.Name = "Island Analyzer (placeholder)"; 184 islandAnalyzer1.OperatorParameter.ActualName = IslandAnalyzerParameter.Name; 185 186 analyzer1.Name = "Analyzer (placeholder)"; 187 analyzer1.OperatorParameter.ActualName = AnalyzerParameter.Name; 188 189 resultsCollector1.CollectedValues.Add(new LookupParameter<IntValue>("Migrations")); 190 resultsCollector1.CollectedValues.Add(new LookupParameter<IntValue>("Generations")); 191 resultsCollector1.ResultsParameter.ActualName = ResultsParameter.Name; 192 193 resultsCollector2.Name = "Reference Island Results"; 194 resultsCollector2.CopyValue = new BoolValue(false); 195 resultsCollector2.CollectedValues.Add(new SubScopesLookupParameter<ResultCollection>("IslandResults", "Result set for each island", "Results")); 196 resultsCollector2.ResultsParameter.ActualName = ResultsParameter.Name; 267 197 268 198 selector.Name = "Selector (placeholder)"; … … 290 220 bestSelector.QualityParameter.ActualName = QualityParameter.Name; 291 221 292 islandBestQualityMemorizer2.BestQualityParameter.ActualName = "BestQuality"; 293 islandBestQualityMemorizer2.MaximizationParameter.ActualName = MaximizationParameter.Name; 294 islandBestQualityMemorizer2.QualityParameter.ActualName = QualityParameter.Name; 295 296 islandBestAverageWorstQualityCalculator2.AverageQualityParameter.ActualName = "CurrentAverageQuality"; 297 islandBestAverageWorstQualityCalculator2.BestQualityParameter.ActualName = "CurrentBestQuality"; 298 islandBestAverageWorstQualityCalculator2.MaximizationParameter.ActualName = MaximizationParameter.Name; 299 islandBestAverageWorstQualityCalculator2.QualityParameter.ActualName = QualityParameter.Name; 300 islandBestAverageWorstQualityCalculator2.WorstQualityParameter.ActualName = "CurrentWorstQuality"; 301 302 islandDataTableValuesCollector2.CollectedValues.Add(new LookupParameter<DoubleValue>("Current Best Quality", null, "CurrentBestQuality")); 303 islandDataTableValuesCollector2.CollectedValues.Add(new LookupParameter<DoubleValue>("Current Average Quality", null, "CurrentAverageQuality")); 304 islandDataTableValuesCollector2.CollectedValues.Add(new LookupParameter<DoubleValue>("Current Worst Quality", null, "CurrentWorstQuality")); 305 islandDataTableValuesCollector2.CollectedValues.Add(new LookupParameter<DoubleValue>("Best Quality", null, "BestQuality")); 306 islandDataTableValuesCollector2.CollectedValues.Add(new LookupParameter<DoubleValue>("Best Known Quality", null, BestKnownQualityParameter.Name)); 307 islandDataTableValuesCollector2.DataTableParameter.ActualName = "Qualities"; 308 309 islandQualityDifferenceCalculator2.AbsoluteDifferenceParameter.ActualName = "AbsoluteDifferenceBestKnownToBest"; 310 islandQualityDifferenceCalculator2.FirstQualityParameter.ActualName = BestKnownQualityParameter.Name; 311 islandQualityDifferenceCalculator2.RelativeDifferenceParameter.ActualName = "RelativeDifferenceBestKnownToBest"; 312 islandQualityDifferenceCalculator2.SecondQualityParameter.ActualName = "BestQuality"; 313 314 islandAnalyzer2.Name = "Analyzer"; 315 islandAnalyzer2.OperatorParameter.ActualName = "Analyzer"; 222 islandAnalyzer2.Name = "Island Analyzer (placeholder)"; 223 islandAnalyzer2.OperatorParameter.ActualName = IslandAnalyzerParameter.Name; 316 224 317 225 generationsCounter.Name = "Generations + 1"; … … 355 263 generationsComparator.RightSideParameter.ActualName = MaximumGenerationsParameter.Name; 356 264 357 bestQualityMemorizer3.BestQualityParameter.ActualName = "BestQuality"; 358 bestQualityMemorizer3.MaximizationParameter.ActualName = MaximizationParameter.Name; 359 bestQualityMemorizer3.QualityParameter.ActualName = "BestQuality"; 360 361 bestQualityMemorizer4.BestQualityParameter.ActualName = BestKnownQualityParameter.Name; 362 bestQualityMemorizer4.MaximizationParameter.ActualName = MaximizationParameter.Name; 363 bestQualityMemorizer4.QualityParameter.ActualName = "BestQuality"; 364 365 bestAverageWorstQualityCalculator2.AverageQualityParameter.ActualName = "CurrentAverageBestQuality"; 366 bestAverageWorstQualityCalculator2.BestQualityParameter.ActualName = "CurrentBestBestQuality"; 367 bestAverageWorstQualityCalculator2.MaximizationParameter.ActualName = MaximizationParameter.Name; 368 bestAverageWorstQualityCalculator2.QualityParameter.ActualName = "CurrentBestQuality"; 369 bestAverageWorstQualityCalculator2.WorstQualityParameter.ActualName = "CurrentWorstBestQuality"; 370 371 dataTableValuesCollector2.CollectedValues.Add(new LookupParameter<DoubleValue>("Current Best BestQuality", null, "CurrentBestBestQuality")); 372 dataTableValuesCollector2.CollectedValues.Add(new LookupParameter<DoubleValue>("Current Average BestQuality", null, "CurrentAverageBestQuality")); 373 dataTableValuesCollector2.CollectedValues.Add(new LookupParameter<DoubleValue>("Current Worst BestQuality", null, "CurrentWorstBestQuality")); 374 dataTableValuesCollector2.CollectedValues.Add(new LookupParameter<DoubleValue>("Best Quality", null, "BestQuality")); 375 dataTableValuesCollector2.CollectedValues.Add(new LookupParameter<DoubleValue>("Best Known Quality", null, BestKnownQualityParameter.Name)); 376 dataTableValuesCollector2.DataTableParameter.ActualName = "BestQualities"; 377 378 qualityDifferenceCalculator2.AbsoluteDifferenceParameter.ActualName = "AbsoluteDifferenceBestKnownToBest"; 379 qualityDifferenceCalculator2.FirstQualityParameter.ActualName = BestKnownQualityParameter.Name; 380 qualityDifferenceCalculator2.RelativeDifferenceParameter.ActualName = "RelativeDifferenceBestKnownToBest"; 381 qualityDifferenceCalculator2.SecondQualityParameter.ActualName = "BestQuality"; 265 analyzer2.Name = "Analyzer (placeholder)"; 266 analyzer2.OperatorParameter.ActualName = AnalyzerParameter.Name; 267 268 resultsCollector3.CollectedValues.Add(new LookupParameter<IntValue>("Migrations")); 269 resultsCollector3.CollectedValues.Add(new LookupParameter<IntValue>("Generations")); 270 resultsCollector3.ResultsParameter.ActualName = ResultsParameter.Name; 382 271 383 272 generationsTerminationCondition.Name = "Terminate?"; … … 389 278 variableCreator.Successor = uniformSubScopesProcessor0; 390 279 uniformSubScopesProcessor0.Operator = islandVariableCreator; 391 uniformSubScopesProcessor0.Successor = bestQualityMemorizer1; 392 islandVariableCreator.Successor = islandBestQualityMemorizer1; 393 islandBestQualityMemorizer1.Successor = islandBestAverageWorstQualityCalculator1; 394 islandBestAverageWorstQualityCalculator1.Successor = islandDataTableValuesCollector1; 395 islandDataTableValuesCollector1.Successor = islandQualityDifferenceCalculator1; 396 islandQualityDifferenceCalculator1.Successor = islandAnalyzer1; 397 islandAnalyzer1.Successor = islandResultsCollector; 398 bestQualityMemorizer1.Successor = bestQualityMemorizer2; 399 bestQualityMemorizer2.Successor = bestAverageWorstQualityCalculator1; 400 bestAverageWorstQualityCalculator1.Successor = dataTableValuesCollector1; 401 dataTableValuesCollector1.Successor = qualityDifferenceCalculator1; 402 qualityDifferenceCalculator1.Successor = resultsCollector; 403 resultsCollector.Successor = uniformSubScopesProcessor1; 280 uniformSubScopesProcessor0.Successor = analyzer1; 281 islandVariableCreator.Successor = islandAnalyzer1; 282 islandAnalyzer1.Successor = null; 283 analyzer1.Successor = resultsCollector1; 284 resultsCollector1.Successor = resultsCollector2; 285 resultsCollector2.Successor = uniformSubScopesProcessor1; 404 286 uniformSubScopesProcessor1.Operator = selector; 405 287 uniformSubScopesProcessor1.Successor = generationsCounter; … … 423 305 bestSelector.Successor = rightReducer; 424 306 rightReducer.Successor = null; 425 mergingReducer.Successor = islandBestQualityMemorizer2; 426 islandBestQualityMemorizer2.Successor = islandBestAverageWorstQualityCalculator2; 427 islandBestAverageWorstQualityCalculator2.Successor = islandDataTableValuesCollector2; 428 islandDataTableValuesCollector2.Successor = islandQualityDifferenceCalculator2; 429 islandQualityDifferenceCalculator2.Successor = islandAnalyzer2; 307 mergingReducer.Successor = islandAnalyzer2; 430 308 islandAnalyzer2.Successor = null; 431 309 generationsCounter.Successor = generationsSinceLastMigrationCounter; … … 442 320 uniformSubScopesProcessor4.Operator = immigrationReplacer; 443 321 uniformSubScopesProcessor4.Successor = null; 444 generationsComparator.Successor = bestQualityMemorizer3; 445 bestQualityMemorizer3.Successor = bestQualityMemorizer4; 446 bestQualityMemorizer4.Successor = bestAverageWorstQualityCalculator2; 447 bestAverageWorstQualityCalculator2.Successor = dataTableValuesCollector2; 448 dataTableValuesCollector2.Successor = qualityDifferenceCalculator2; 449 qualityDifferenceCalculator2.Successor = generationsTerminationCondition; 322 generationsComparator.Successor = analyzer2; 323 analyzer2.Successor = resultsCollector3; 324 resultsCollector3.Successor = generationsTerminationCondition; 450 325 generationsTerminationCondition.TrueBranch = null; 451 326 generationsTerminationCondition.FalseBranch = uniformSubScopesProcessor1;
Note: See TracChangeset
for help on using the changeset viewer.