Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
11/05/15 16:20:55 (9 years ago)
Author:
pfleck
Message:

#2269

  • Implemented full wiring of ALPS.
  • Created new AlpsGeneticAlgorithmMainOperator instead of using a modified GeneticAlgorithmMainLoop because of wiring issues.
  • Separated LayerCreator into generic LastScopeCloner and ResultsHistoryWiper.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/ALPS/HeuristicLab.Algorithms.ALPS/3.3/AlpsGeneticAlgorithm.cs

    r13117 r13124  
    114114      get { return (IValueParameter<IntValue>)Parameters["MatingPoolRange"]; }
    115115    }
     116    private IValueParameter<BoolValue> ReduceToPopulationSizeParameter {
     117      get { return (IValueParameter<BoolValue>)Parameters["ReduceToPopulationSize"]; }
     118    }
    116119
    117120    private IValueParameter<MultiTerminator> TerminatorParameter {
     
    290293      Parameters.Add(new ValueParameter<IntValue>("AgeGap", "The frequency of reseeding the lowest layer and scaling factor for the age-limits for the layers", new IntValue(20)));
    291294      Parameters.Add(new ValueParameter<DoubleValue>("AgeInheritance", "A weight that determines the age of a child after crossover based on the older (1.0) and younger (0.0) parent.", new DoubleValue(1.0)) { Hidden = true });
    292       Parameters.Add(new ValueParameter<IntArray>("AgeLimits", new IntArray(new int[0])) { Hidden = true });
     295      Parameters.Add(new ValueParameter<IntArray>("AgeLimits", "The maximum ages for the Layers.", new IntArray(new int[0])) { Hidden = true });
    293296
    294297      Parameters.Add(new ValueParameter<IntValue>("MatingPoolRange", "The range of layers used for creating a mating pool. (1 = current + previous layer)", new IntValue(1)) { Hidden = true });
     
    357360      resultsCollector.CollectedValues.Add(new LookupParameter<IntValue>("Evaluated Solutions", null, "EvaluatedSolutions"));
    358361      resultsCollector.Successor = mainLoop;
     362
     363      mainLoop.GlobalRandomParameter.ActualName = "GlobalRandom";
     364      mainLoop.LocalRandomParameter.ActualName = "LocalRandom";
     365      mainLoop.EvaluatedSolutionsParameter.ActualName = "EvaluatedSolutions";
     366      mainLoop.AnalyzerParameter.ActualName = AnalyzerParameter.Name;
     367      mainLoop.LayerAnalyzerParameter.ActualName = LayerAnalyzerParameter.Name;
     368      mainLoop.NumberOfLayersParameter.ActualName = NumberOfLayersParameter.Name;
     369      mainLoop.PopulationSizeParameter.ActualName = PopulationSizeParameter.Name;
     370      mainLoop.CurrentPopulationSizeParameter.ActualName = "CurrentPopulationSize";
     371      mainLoop.SelectorParameter.ActualName = SelectorParameter.Name;
     372      mainLoop.CrossoverParameter.ActualName = CrossoverParameter.Name;
     373      mainLoop.MutatorParameter.ActualName = MutatorParameter.Name;
     374      mainLoop.MutationProbabilityParameter.ActualName = MutationProbabilityParameter.Name;
     375      mainLoop.ElitesParameter.ActualName = ElitesParameter.Name;
     376      mainLoop.ReevaluateElitesParameter.ActualName = ReevaluateElitesParameter.Name;
     377      mainLoop.PlusSelectionParameter.ActualName = PlusSelectionParameter.Name;
     378      mainLoop.AgeParameter.ActualName = "Age";
     379      mainLoop.AgeInheritanceParameter.ActualName = AgeInheritanceParameter.Name;
     380      mainLoop.AgeLimitsParameter.ActualName = AgeLimitsParameter.Name;
     381      mainLoop.MatingPoolRangeParameter.ActualName = MatingPoolRangeParameter.Name;
     382      mainLoop.ReduceToPopulationSizeParameter.ActualName = ReduceToPopulationSizeParameter.Name;
    359383      #endregion
    360384
     
    364388      var defaultSelector = SelectorParameter.ValidValues.OfType<GeneralizedRankSelector>().FirstOrDefault();
    365389      if (defaultSelector != null) {
    366         defaultSelector.PressureParameter.Value = new DoubleValue(4);
     390        defaultSelector.PressureParameter.Value = new DoubleValue(4.0);
    367391        SelectorParameter.Value = defaultSelector;
    368392      }
     
    546570    }
    547571    private void ParameterizeMainLoop() {
     572      MainLoop.EvaluatorParameter.ActualName = Problem.EvaluatorParameter.Name;
     573      MainLoop.QualityParameter.ActualName = Problem.Evaluator.QualityParameter.ActualName;
    548574      MainLoop.MaximizationParameter.ActualName = Problem.MaximizationParameter.Name;
    549       MainLoop.QualityParameter.ActualName = Problem.Evaluator.QualityParameter.ActualName;
    550       MainLoop.MainOperator.EvaluatorParameter.ActualName = Problem.EvaluatorParameter.Name;
    551       MainLoop.MainOperator.MaximizationParameter.ActualName = Problem.MaximizationParameter.Name;
    552       MainLoop.MainOperator.QualityParameter.ActualName = Problem.Evaluator.QualityParameter.ActualName;
    553575    }
    554576    private void ParameterizeAnalyzers() {
Note: See TracChangeset for help on using the changeset viewer.