- Timestamp:
- 09/10/12 17:10:27 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/RAPGA/HeuristicLab.Algorithms.RAPGA/3.3/RAPGAMainLoop.cs
r8400 r8622 166 166 ProgressiveOffspringPreserver progressiveOffspringSelector = new ProgressiveOffspringPreserver(); 167 167 SubScopesCounter subScopesCounter2 = new SubScopesCounter(); 168 Calculator calculator1 = new Calculator(); 169 ConditionalBranch conditionalBranch1 = new ConditionalBranch(); 168 170 Comparator comparator1 = new Comparator(); 169 ConditionalBranch conditionalBranch1 = new ConditionalBranch();170 Comparator comparator2 = new Comparator();171 171 ConditionalBranch conditionalBranch2 = new ConditionalBranch(); 172 172 LeftReducer leftReducer2 = new LeftReducer(); … … 175 175 RightReducer rightReducer2 = new RightReducer(); 176 176 ScopeCleaner scopeCleaner = new ScopeCleaner(); 177 OffspringRestorer offspringRestorer = new OffspringRestorer();177 ScopeRestorer scopeRestorer = new ScopeRestorer(); 178 178 MergingReducer mergingReducer = new MergingReducer(); 179 Assigner assigner2 = new Assigner();180 179 IntCounter intCounter3 = new IntCounter(); 181 180 SubScopesCounter subScopesCounter3 = new SubScopesCounter(); 182 ExpressionEvaluator expressionEvaluator = new ExpressionEvaluator(); 181 Calculator calculator2 = new Calculator(); 182 Comparator comparator2 = new Comparator(); 183 ConditionalBranch conditionalBranch3 = new ConditionalBranch(); 183 184 Placeholder analyzer2 = new Placeholder(); 184 185 Comparator comparator3 = new Comparator(); 185 ConditionalBranch conditionalBranch 3= new ConditionalBranch();186 ConditionalBranch conditionalBranch4 = new ConditionalBranch(); 186 187 Comparator comparator4 = new Comparator(); 187 ConditionalBranch conditionalBranch 4= new ConditionalBranch();188 ConditionalBranch conditionalBranch5 = new ConditionalBranch(); 188 189 Assigner assigner3 = new Assigner(); 189 190 Assigner assigner4 = new Assigner(); … … 192 193 variableCreator.CollectedValues.Add(new ValueParameter<IntValue>("Generations", new IntValue(0))); // Class RAPGA expects this to be called Generations 193 194 variableCreator.CollectedValues.Add(new ValueParameter<IntValue>("CurrentPopulationSize", new IntValue(0))); 194 variableCreator.CollectedValues.Add(new ValueParameter<IntValue>("LastPopulationSize", new IntValue(0)));195 195 variableCreator.CollectedValues.Add(new ValueParameter<IntValue>("NumberOfCreatedOffspring", new IntValue(0))); 196 196 variableCreator.CollectedValues.Add(new ValueParameter<IntValue>("NumberOfSuccessfulOffspring", new IntValue(0))); … … 258 258 subScopesCounter2.ValueParameter.ActualName = "NumberOfSuccessfulOffspring"; 259 259 260 comparator1.Name = "NumberOfSuccessfulOffspring >= MaximumPopulationSize"; 261 comparator1.Comparison = new Comparison(ComparisonType.GreaterOrEqual); 262 comparator1.LeftSideParameter.ActualName = "NumberOfSuccessfulOffspring"; 263 comparator1.RightSideParameter.ActualName = MaximumPopulationSizeParameter.Name; 264 comparator1.ResultParameter.ActualName = "Break"; 260 calculator1.Name = "NumberOfSuccessfulOffspring == MaximumPopulationSize - Elites"; 261 calculator1.CollectedValues.Add(new ValueLookupParameter<IntValue>("NumberOfSuccessfulOffspring")); 262 calculator1.CollectedValues.Add(new ValueLookupParameter<IntValue>("MaximumPopulationSize")); 263 calculator1.CollectedValues.Add(new ValueLookupParameter<IntValue>("Elites")); 264 calculator1.ExpressionParameter.Value = new StringValue("NumberOfSuccessfulOffspring MaximumPopulationSize Elites - =="); 265 calculator1.ExpressionResultParameter.ActualName = "Break"; 265 266 266 267 conditionalBranch1.Name = "Break?"; 267 268 conditionalBranch1.ConditionParameter.ActualName = "Break"; 268 269 269 comparator 2.Name = "NumberOfCreatedOffspring >= Effort";270 comparator 2.Comparison = new Comparison(ComparisonType.GreaterOrEqual);271 comparator 2.LeftSideParameter.ActualName = "NumberOfCreatedOffspring";272 comparator 2.RightSideParameter.ActualName = EffortParameter.Name;273 comparator 2.ResultParameter.ActualName = "Break";270 comparator1.Name = "NumberOfCreatedOffspring >= Effort"; 271 comparator1.Comparison = new Comparison(ComparisonType.GreaterOrEqual); 272 comparator1.LeftSideParameter.ActualName = "NumberOfCreatedOffspring"; 273 comparator1.RightSideParameter.ActualName = EffortParameter.Name; 274 comparator1.ResultParameter.ActualName = "Break"; 274 275 275 276 conditionalBranch2.Name = "Break?"; … … 281 282 bestSelector.QualityParameter.ActualName = QualityParameter.Name; 282 283 283 assigner2.Name = "Update LastPopulationSize";284 assigner2.LeftSideParameter.ActualName = "LastPopulationSize";285 assigner2.RightSideParameter.ActualName = "CurrentPopulationSize";286 287 284 intCounter3.Name = "Increment Generations"; 288 285 intCounter3.Increment = new IntValue(1); … … 293 290 subScopesCounter3.AccumulateParameter.Value = new BoolValue(false); 294 291 295 expressionEvaluator.Name = "Evaluate ActualSelectionPressure"; 296 expressionEvaluator.CollectedValues.Add(new ValueLookupParameter<IntValue>("CurrentPopulationSize")); 297 expressionEvaluator.CollectedValues.Add(new ValueLookupParameter<IntValue>("LastPopulationSize")); 298 expressionEvaluator.CollectedValues.Add(new ValueLookupParameter<IntValue>("NumberOfCreatedOffspring")); 299 expressionEvaluator.CollectedValues.Add(new ValueLookupParameter<IntValue>("NumberOfSuccessfulOffspring")); 300 expressionEvaluator.ExpressionParameter.Value = new StringValue("CurrentPopulationSize NumberOfCreatedOffspring NumberOfSuccessfulOffspring - + LastPopulationSize /"); 301 expressionEvaluator.ExpressionResultParameter.ActualName = "ActualSelectionPressure"; 292 calculator2.Name = "Evaluate ActualSelectionPressure"; 293 calculator2.CollectedValues.Add(new ValueLookupParameter<IntValue>("NumberOfCreatedOffspring")); 294 calculator2.CollectedValues.Add(new ValueLookupParameter<IntValue>("Elites")); 295 calculator2.CollectedValues.Add(new ValueLookupParameter<IntValue>("CurrentPopulationSize")); 296 calculator2.ExpressionParameter.Value = new StringValue("NumberOfCreatedOffspring Elites + CurrentPopulationSize /"); 297 calculator2.ExpressionResultParameter.ActualName = "ActualSelectionPressure"; 298 299 comparator2.Name = "CurrentPopulationSize < 1"; 300 comparator2.Comparison = new Comparison(ComparisonType.Less); 301 comparator2.LeftSideParameter.ActualName = "CurrentPopulationSize"; 302 comparator2.RightSideParameter.Value = new IntValue(1); 303 comparator2.ResultParameter.ActualName = "Terminate"; 304 305 conditionalBranch3.Name = "Terminate?"; 306 conditionalBranch3.ConditionParameter.ActualName = "Terminate"; 302 307 303 308 analyzer2.Name = "Analyzer"; … … 310 315 comparator3.RightSideParameter.ActualName = MaximumGenerationsParameter.Name; 311 316 312 conditionalBranch 3.Name = "Terminate?";313 conditionalBranch 3.ConditionParameter.ActualName = "Terminate";317 conditionalBranch4.Name = "Terminate?"; 318 conditionalBranch4.ConditionParameter.ActualName = "Terminate"; 314 319 315 320 comparator4.Name = "CurrentPopulationSize < MinimumPopulationSize"; … … 319 324 comparator4.ResultParameter.ActualName = "Terminate"; 320 325 321 conditionalBranch 4.Name = "Terminate?";322 conditionalBranch 4.ConditionParameter.ActualName = "Terminate";326 conditionalBranch5.Name = "Terminate?"; 327 conditionalBranch5.ConditionParameter.ActualName = "Terminate"; 323 328 324 329 assigner3.Name = "Reset NumberOfCreatedOffspring"; … … 344 349 subScopesProcessor1.Operators.Add(new EmptyOperator()); 345 350 subScopesProcessor1.Operators.Add(childrenCreator); 346 subScopesProcessor1.Successor = c omparator1;351 subScopesProcessor1.Successor = calculator1; 347 352 childrenCreator.Successor = uniformSubScopesProcessor; 348 353 uniformSubScopesProcessor.Operator = crossover; … … 362 367 leftReducer1.Successor = progressiveOffspringSelector; 363 368 progressiveOffspringSelector.Successor = subScopesCounter2; 364 c omparator1.Successor = conditionalBranch1;365 conditionalBranch1.FalseBranch = comparator 2;369 calculator1.Successor = conditionalBranch1; 370 conditionalBranch1.FalseBranch = comparator1; 366 371 conditionalBranch1.TrueBranch = subScopesProcessor2; 367 comparator 2.Successor = conditionalBranch2;372 comparator1.Successor = conditionalBranch2; 368 373 conditionalBranch2.FalseBranch = leftReducer2; 369 374 conditionalBranch2.TrueBranch = subScopesProcessor2; … … 374 379 bestSelector.Successor = rightReducer2; 375 380 rightReducer2.Successor = null; 376 scopeCleaner.Successor = offspringRestorer; 377 mergingReducer.Successor = assigner2; 378 assigner2.Successor = intCounter3; 381 scopeCleaner.Successor = scopeRestorer; 382 mergingReducer.Successor = intCounter3; 379 383 intCounter3.Successor = subScopesCounter3; 380 subScopesCounter3.Successor = expressionEvaluator; 381 expressionEvaluator.Successor = analyzer2; 384 subScopesCounter3.Successor = calculator2; 385 calculator2.Successor = comparator2; 386 comparator2.Successor = conditionalBranch3; 387 conditionalBranch3.FalseBranch = analyzer2; 388 conditionalBranch3.TrueBranch = null; 382 389 analyzer2.Successor = comparator3; 383 comparator3.Successor = conditionalBranch3; 384 conditionalBranch3.FalseBranch = comparator4; 385 conditionalBranch3.TrueBranch = null; 386 conditionalBranch3.Successor = null; 387 comparator4.Successor = conditionalBranch4; 388 conditionalBranch4.FalseBranch = assigner3; 390 comparator3.Successor = conditionalBranch4; 391 conditionalBranch4.FalseBranch = comparator4; 389 392 conditionalBranch4.TrueBranch = null; 390 393 conditionalBranch4.Successor = null; 394 comparator4.Successor = conditionalBranch5; 395 conditionalBranch5.FalseBranch = assigner3; 396 conditionalBranch5.TrueBranch = null; 397 conditionalBranch5.Successor = null; 391 398 assigner3.Successor = assigner4; 392 399 assigner4.Successor = assigner5;
Note: See TracChangeset
for help on using the changeset viewer.