Changeset 10142 for branches/DataAnalysis.IslandAlgorithms/HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm/3.3/IslandOffspringSelectionGeneticAlgorithm.cs
- Timestamp:
- 11/20/13 10:52:38 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/DataAnalysis.IslandAlgorithms/HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm/3.3/IslandOffspringSelectionGeneticAlgorithm.cs
r9756 r10142 41 41 [Creatable("Algorithms")] 42 42 [StorableClass] 43 public sealedclass IslandOffspringSelectionGeneticAlgorithm : HeuristicOptimizationEngineAlgorithm, IStorableContent {43 public class IslandOffspringSelectionGeneticAlgorithm : HeuristicOptimizationEngineAlgorithm, IStorableContent { 44 44 public string Filename { get; set; } 45 45 … … 55 55 56 56 #region Parameter Properties 57 pr ivateValueParameter<IntValue> SeedParameter {57 protected ValueParameter<IntValue> SeedParameter { 58 58 get { return (ValueParameter<IntValue>)Parameters["Seed"]; } 59 59 } 60 pr ivateValueParameter<BoolValue> SetSeedRandomlyParameter {60 protected ValueParameter<BoolValue> SetSeedRandomlyParameter { 61 61 get { return (ValueParameter<BoolValue>)Parameters["SetSeedRandomly"]; } 62 62 } 63 pr ivateValueParameter<IntValue> NumberOfIslandsParameter {63 protected ValueParameter<IntValue> NumberOfIslandsParameter { 64 64 get { return (ValueParameter<IntValue>)Parameters["NumberOfIslands"]; } 65 65 } 66 pr ivateValueParameter<IntValue> MigrationIntervalParameter {66 protected ValueParameter<IntValue> MigrationIntervalParameter { 67 67 get { return (ValueParameter<IntValue>)Parameters["MigrationInterval"]; } 68 68 } 69 pr ivateValueParameter<PercentValue> MigrationRateParameter {69 protected ValueParameter<PercentValue> MigrationRateParameter { 70 70 get { return (ValueParameter<PercentValue>)Parameters["MigrationRate"]; } 71 71 } … … 79 79 get { return (IConstrainedValueParameter<IReplacer>)Parameters["ImmigrationReplacer"]; } 80 80 } 81 pr ivateValueParameter<IntValue> PopulationSizeParameter {81 protected ValueParameter<IntValue> PopulationSizeParameter { 82 82 get { return (ValueParameter<IntValue>)Parameters["PopulationSize"]; } 83 83 } 84 pr ivateValueParameter<IntValue> MaximumGenerationsParameter {84 protected ValueParameter<IntValue> MaximumGenerationsParameter { 85 85 get { return (ValueParameter<IntValue>)Parameters["MaximumGenerations"]; } 86 86 } … … 91 91 get { return (IConstrainedValueParameter<ICrossover>)Parameters["Crossover"]; } 92 92 } 93 pr ivateValueParameter<PercentValue> MutationProbabilityParameter {93 protected ValueParameter<PercentValue> MutationProbabilityParameter { 94 94 get { return (ValueParameter<PercentValue>)Parameters["MutationProbability"]; } 95 95 } … … 97 97 get { return (IConstrainedValueParameter<IManipulator>)Parameters["Mutator"]; } 98 98 } 99 pr ivateValueParameter<IntValue> ElitesParameter {99 protected ValueParameter<IntValue> ElitesParameter { 100 100 get { return (ValueParameter<IntValue>)Parameters["Elites"]; } 101 101 } 102 pr ivateIFixedValueParameter<BoolValue> ReevaluateElitesParameter {102 protected IFixedValueParameter<BoolValue> ReevaluateElitesParameter { 103 103 get { return (IFixedValueParameter<BoolValue>)Parameters["ReevaluateElites"]; } 104 104 } 105 pr ivateValueLookupParameter<DoubleValue> SuccessRatioParameter {105 protected ValueLookupParameter<DoubleValue> SuccessRatioParameter { 106 106 get { return (ValueLookupParameter<DoubleValue>)Parameters["SuccessRatio"]; } 107 107 } 108 pr ivateValueLookupParameter<DoubleValue> ComparisonFactorLowerBoundParameter {108 protected ValueLookupParameter<DoubleValue> ComparisonFactorLowerBoundParameter { 109 109 get { return (ValueLookupParameter<DoubleValue>)Parameters["ComparisonFactorLowerBound"]; } 110 110 } 111 pr ivateValueLookupParameter<DoubleValue> ComparisonFactorUpperBoundParameter {111 protected ValueLookupParameter<DoubleValue> ComparisonFactorUpperBoundParameter { 112 112 get { return (ValueLookupParameter<DoubleValue>)Parameters["ComparisonFactorUpperBound"]; } 113 113 } … … 115 115 get { return (IConstrainedValueParameter<IDiscreteDoubleValueModifier>)Parameters["ComparisonFactorModifier"]; } 116 116 } 117 pr ivateValueLookupParameter<DoubleValue> MaximumSelectionPressureParameter {117 protected ValueLookupParameter<DoubleValue> MaximumSelectionPressureParameter { 118 118 get { return (ValueLookupParameter<DoubleValue>)Parameters["MaximumSelectionPressure"]; } 119 119 } 120 pr ivateValueLookupParameter<BoolValue> OffspringSelectionBeforeMutationParameter {120 protected ValueLookupParameter<BoolValue> OffspringSelectionBeforeMutationParameter { 121 121 get { return (ValueLookupParameter<BoolValue>)Parameters["OffspringSelectionBeforeMutation"]; } 122 122 } 123 pr ivateValueLookupParameter<IntValue> SelectedParentsParameter {123 protected ValueLookupParameter<IntValue> SelectedParentsParameter { 124 124 get { return (ValueLookupParameter<IntValue>)Parameters["SelectedParents"]; } 125 125 } 126 pr ivateValueParameter<MultiAnalyzer> AnalyzerParameter {126 protected ValueParameter<MultiAnalyzer> AnalyzerParameter { 127 127 get { return (ValueParameter<MultiAnalyzer>)Parameters["Analyzer"]; } 128 128 } 129 pr ivateValueParameter<MultiAnalyzer> IslandAnalyzerParameter {129 protected ValueParameter<MultiAnalyzer> IslandAnalyzerParameter { 130 130 get { return (ValueParameter<MultiAnalyzer>)Parameters["IslandAnalyzer"]; } 131 131 } 132 pr ivateValueParameter<IntValue> MaximumEvaluatedSolutionsParameter {132 protected ValueParameter<IntValue> MaximumEvaluatedSolutionsParameter { 133 133 get { return (ValueParameter<IntValue>)Parameters["MaximumEvaluatedSolutions"]; } 134 134 } … … 236 236 set { MaximumEvaluatedSolutionsParameter.Value = value; } 237 237 } 238 pr ivateRandomCreator RandomCreator {238 protected RandomCreator RandomCreator { 239 239 get { return (RandomCreator)OperatorGraph.InitialOperator; } 240 240 } 241 pr ivateUniformSubScopesProcessor IslandProcessor {241 protected UniformSubScopesProcessor IslandProcessor { 242 242 get { return ((RandomCreator.Successor as SubScopesCreator).Successor as UniformSubScopesProcessor); } 243 243 } 244 pr ivateSolutionsCreator SolutionsCreator {244 protected SolutionsCreator SolutionsCreator { 245 245 get { return (SolutionsCreator)IslandProcessor.Operator; } 246 246 } 247 pr ivateIslandOffspringSelectionGeneticAlgorithmMainLoop MainLoop {247 protected IslandOffspringSelectionGeneticAlgorithmMainLoop MainLoop { 248 248 get { return FindMainLoop(IslandProcessor.Successor); } 249 249 } … … 261 261 262 262 [StorableConstructor] 263 pr ivateIslandOffspringSelectionGeneticAlgorithm(bool deserializing) : base(deserializing) { }263 protected IslandOffspringSelectionGeneticAlgorithm(bool deserializing) : base(deserializing) { } 264 264 [StorableHook(HookType.AfterDeserialization)] 265 265 private void AfterDeserialization() { … … 275 275 Initialize(); 276 276 } 277 pr ivateIslandOffspringSelectionGeneticAlgorithm(IslandOffspringSelectionGeneticAlgorithm original, Cloner cloner)277 protected IslandOffspringSelectionGeneticAlgorithm(IslandOffspringSelectionGeneticAlgorithm original, Cloner cloner) 278 278 : base(original, cloner) { 279 279 islandQualityAnalyzer = cloner.Clone(original.islandQualityAnalyzer); … … 456 456 base.Problem_OperatorsChanged(sender, e); 457 457 } 458 pr ivatevoid ElitesParameter_ValueChanged(object sender, EventArgs e) {458 protected virtual void ElitesParameter_ValueChanged(object sender, EventArgs e) { 459 459 Elites.ValueChanged += new EventHandler(Elites_ValueChanged); 460 460 ParameterizeSelectors(); 461 461 } 462 pr ivatevoid Elites_ValueChanged(object sender, EventArgs e) {463 ParameterizeSelectors(); 464 } 465 pr ivatevoid PopulationSizeParameter_ValueChanged(object sender, EventArgs e) {462 protected virtual void Elites_ValueChanged(object sender, EventArgs e) { 463 ParameterizeSelectors(); 464 } 465 protected virtual void PopulationSizeParameter_ValueChanged(object sender, EventArgs e) { 466 466 NumberOfIslands.ValueChanged += new EventHandler(PopulationSize_ValueChanged); 467 467 ParameterizeSelectors(); 468 468 } 469 pr ivatevoid PopulationSize_ValueChanged(object sender, EventArgs e) {469 protected virtual void PopulationSize_ValueChanged(object sender, EventArgs e) { 470 470 ParameterizeSelectors(); 471 471 } … … 475 475 ParameterizeAnalyzers(); 476 476 } 477 pr ivatevoid MigrationRateParameter_ValueChanged(object sender, EventArgs e) {477 protected virtual void MigrationRateParameter_ValueChanged(object sender, EventArgs e) { 478 478 MigrationRate.ValueChanged += new EventHandler(MigrationRate_ValueChanged); 479 479 ParameterizeSelectors(); 480 480 } 481 pr ivatevoid MigrationRate_ValueChanged(object sender, EventArgs e) {482 ParameterizeSelectors(); 483 } 484 pr ivatevoid MaximumMigrationsParameter_ValueChanged(object sender, EventArgs e) {481 protected virtual void MigrationRate_ValueChanged(object sender, EventArgs e) { 482 ParameterizeSelectors(); 483 } 484 protected virtual void MaximumMigrationsParameter_ValueChanged(object sender, EventArgs e) { 485 485 MaximumGenerations.ValueChanged += new EventHandler(MaximumMigrations_ValueChanged); 486 486 ParameterizeComparisonFactorModifiers(); 487 487 } 488 pr ivatevoid MaximumMigrations_ValueChanged(object sender, EventArgs e) {488 protected virtual void MaximumMigrations_ValueChanged(object sender, EventArgs e) { 489 489 ParameterizeComparisonFactorModifiers(); 490 490 } 491 pr ivatevoid MigrationIntervalParameter_ValueChanged(object sender, EventArgs e) {491 protected virtual void MigrationIntervalParameter_ValueChanged(object sender, EventArgs e) { 492 492 MigrationInterval.ValueChanged += new EventHandler(MigrationInterval_ValueChanged); 493 493 ParameterizeComparisonFactorModifiers(); 494 494 } 495 pr ivatevoid MigrationInterval_ValueChanged(object sender, EventArgs e) {495 protected virtual void MigrationInterval_ValueChanged(object sender, EventArgs e) { 496 496 ParameterizeComparisonFactorModifiers(); 497 497 } … … 514 514 } 515 515 } 516 pr ivatevoid ParameterizeSolutionsCreator() {516 protected virtual void ParameterizeSolutionsCreator() { 517 517 SolutionsCreator.EvaluatorParameter.ActualName = Problem.EvaluatorParameter.Name; 518 518 SolutionsCreator.SolutionCreatorParameter.ActualName = Problem.SolutionCreatorParameter.Name; 519 519 } 520 pr ivatevoid ParameterizeMainLoop() {520 protected virtual void ParameterizeMainLoop() { 521 521 MainLoop.BestKnownQualityParameter.ActualName = Problem.BestKnownQualityParameter.Name; 522 522 MainLoop.EvaluatorParameter.ActualName = Problem.EvaluatorParameter.Name; … … 524 524 MainLoop.QualityParameter.ActualName = Problem.Evaluator.QualityParameter.ActualName; 525 525 } 526 pr ivatevoid ParameterizeStochasticOperator(IOperator op) {526 protected virtual void ParameterizeStochasticOperator(IOperator op) { 527 527 if (op is IStochasticOperator) 528 528 ((IStochasticOperator)op).RandomParameter.ActualName = RandomCreator.RandomParameter.ActualName; 529 529 } 530 pr ivatevoid ParameterizeSelectors() {530 protected virtual void ParameterizeSelectors() { 531 531 foreach (ISelector selector in SelectorParameter.ValidValues) { 532 532 selector.CopySelected = new BoolValue(true); … … 558 558 } 559 559 } 560 pr ivatevoid ParameterizeAnalyzers() {560 protected virtual void ParameterizeAnalyzers() { 561 561 islandQualityAnalyzer.ResultsParameter.ActualName = "Results"; 562 562 islandQualityAnalyzer.QualityParameter.Depth = 1; … … 591 591 } 592 592 } 593 pr ivatevoid ParameterizeComparisonFactorModifiers() {593 protected virtual void ParameterizeComparisonFactorModifiers() { 594 594 foreach (IDiscreteDoubleValueModifier modifier in ComparisonFactorModifierParameter.ValidValues) { 595 595 modifier.IndexParameter.ActualName = "Generations"; … … 601 601 } 602 602 } 603 pr ivatevoid ParameterizeIterationBasedOperators() {603 protected virtual void ParameterizeIterationBasedOperators() { 604 604 if (Problem != null) { 605 605 foreach (IIterationBasedOperator op in Problem.Operators.OfType<IIterationBasedOperator>()) { … … 609 609 } 610 610 } 611 pr ivatevoid UpdateCrossovers() {611 protected virtual void UpdateCrossovers() { 612 612 ICrossover oldCrossover = CrossoverParameter.Value; 613 613 ICrossover defaultCrossover = Problem.Operators.OfType<ICrossover>().FirstOrDefault(); … … 623 623 CrossoverParameter.Value = defaultCrossover; 624 624 } 625 pr ivatevoid UpdateMutators() {625 protected virtual void UpdateMutators() { 626 626 IManipulator oldMutator = MutatorParameter.Value; 627 627 MutatorParameter.ValidValues.Clear(); … … 649 649 Analyzer.Operators.Add(successfulOffspringAnalyzer, successfulOffspringAnalyzer.EnabledByDefault); 650 650 } 651 pr ivateIslandOffspringSelectionGeneticAlgorithmMainLoop FindMainLoop(IOperator start) {651 protected virtual IslandOffspringSelectionGeneticAlgorithmMainLoop FindMainLoop(IOperator start) { 652 652 IOperator mainLoop = start; 653 653 while (mainLoop != null && !(mainLoop is IslandOffspringSelectionGeneticAlgorithmMainLoop))
Note: See TracChangeset
for help on using the changeset viewer.