Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
03/04/15 14:07:38 (10 years ago)
Author:
pfleck
Message:

#2350

  • Implemented AlpsSsGeneticAlgorithm.
  • Created empty AlpsSsGeneticAlgorithmMainLoop.
Location:
branches/ALPS/HeuristicLab.Algorithms.ALPS/3.3
Files:
2 edited

Legend:

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

    r12119 r12120  
    6666      get { return (IValueParameter<IntValue>)Parameters["NumberOfLayers"]; }
    6767    }
    68 
    6968    private IValueParameter<AgingScheme> AgingSchemeParameter {
    7069      get { return (IValueParameter<AgingScheme>)Parameters["AgingScheme"]; }
     
    106105      set { NumberOfLayersParameter.Value = value; }
    107106    }
    108 
    109107    public AgingScheme AgingScheme {
    110108      get { return AgingSchemeParameter.Value; }
     
    166164      Parameters.Add(new FixedValueParameter<MultiAnalyzer>("LayerAnalyzer", "The operator used to analyze each layer.", new MultiAnalyzer()));
    167165      Parameters.Add(new ValueParameter<IntValue>("NumberOfLayers", "The number of layers.", new IntValue(10)));
    168 
    169166      Parameters.Add(new ValueParameter<AgingScheme>("AgingScheme", "The aging scheme for setting the age-limits for the layers.", new AgingScheme(AgingSchemes.Polynomial)));
    170167      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)));
     
    193190
    194191    #region Events
    195 
    196192    protected override void OnProblemChanged() {
    197193      base.OnProblemChanged();
     
    202198      ParameterizeSolutionsCreator();
    203199      ParameterizeAnalyzers();
    204       ParameterizeIterationBasedOperators();
    205200      UpdateAnalyzers();
    206201      Problem.Evaluator.QualityParameter.ActualNameChanged += Evaluator_QualityParameter_ActualNameChanged;
     
    222217      foreach (var @operator in Problem.Operators.OfType<IOperator>())
    223218        ParameterizeStochasticOperator(@operator);
    224       ParameterizeIterationBasedOperators();
    225219      UpdateAnalyzers();
    226220      base.Problem_OperatorsChanged(sender, e);
     
    312306      }
    313307    }
    314     private void ParameterizeIterationBasedOperators() {
    315       if (Problem != null) {
    316         foreach (var @operator in Problem.Operators.OfType<IIterationBasedOperator>()) {
    317           @operator.IterationsParameter.ActualName = "Generations";
    318           @operator.IterationsParameter.Hidden = true;
    319           @operator.MaximumIterationsParameter.ActualName = "MaximumGenerations";
    320           @operator.MaximumIterationsParameter.Hidden = true;
    321         }
    322       }
    323     }
    324     protected void ParameterizeStochasticOperator(IOperator @operator) {
     308    protected virtual void ParameterizeStochasticOperator(IOperator @operator) {
    325309      var stochasticOperator = @operator as IStochasticOperator;
    326310      if (stochasticOperator != null) {
     
    329313      }
    330314    }
    331     protected void ParameterizeStochasticOperatorForLayer(IOperator @operator) {
     315    protected virtual void ParameterizeStochasticOperatorForLayer(IOperator @operator) {
    332316      var stochasticOperator = @operator as IStochasticOperator;
    333317      if (stochasticOperator != null) {
  • branches/ALPS/HeuristicLab.Algorithms.ALPS/3.3/AlpsGeneticAlgorithm.cs

    r12119 r12120  
    4646      get { return (IValueParameter<IntValue>)Parameters["MaximumGenerations"]; }
    4747    }
    48 
    4948    public IConstrainedValueParameter<ISelector> SelectorParameter {
    5049      get { return (IConstrainedValueParameter<ISelector>)Parameters["Selector"]; }
     
    101100      set { ReevaluateElitesParameter.Value.Value = value; }
    102101    }
    103 
    104102
    105103    private AlpsGeneticAlgorithmMainLoop MainLoop {
     
    204202      ParameterizeMainLoop();
    205203      ParameterizeSelectors();
     204      ParameterizeIterationBasedOperators();
    206205      UpdateCrossovers();
    207206      UpdateMutators();
     
    219218    protected override void Problem_OperatorsChanged(object sender, EventArgs e) {
    220219      base.Problem_OperatorsChanged(sender, e);
     220      ParameterizeIterationBasedOperators();
    221221      UpdateCrossovers();
    222222      UpdateMutators();
     
    227227      ParameterizeSelectors();
    228228    }
    229     void PopulationSizeParameter_ValueChanged(object sender, EventArgs e) {
    230       PopulationSizeParameter.ValueChanged += PopulationSize_ValueChanged;
    231       ParameterizeSelectors();
    232     }
    233     void PopulationSize_ValueChanged(object sender, EventArgs e) {
    234       ParameterizeSelectors();
    235     }
    236     void ElitesParameter_ValueChanged(object sender, EventArgs e) {
    237       Elites.ValueChanged += ElitesParameter_ValueChanged;
    238       ParameterizeSelectors();
    239     }
    240     void Elites_ValueChanged(object sender, EventArgs e) {
    241       ParameterizeSelectors();
    242     }
    243229    #endregion
    244230
    245231    #region Parameterization
    246232    private void Initialize() {
    247       PopulationSizeParameter.ValueChanged += PopulationSizeParameter_ValueChanged;
    248       ElitesParameter.ValueChanged += ElitesParameter_ValueChanged;
    249       Elites.ValueChanged += Elites_ValueChanged;
    250233    }
    251234    private void ParameterizeSolutionsCreator() {
     
    275258          selector.QualityParameter.ActualName = Problem.Evaluator.QualityParameter.ActualName;
    276259          selector.QualityParameter.Hidden = true;
     260        }
     261      }
     262    }
     263    private void ParameterizeIterationBasedOperators() {
     264      if (Problem != null) {
     265        foreach (var @operator in Problem.Operators.OfType<IIterationBasedOperator>()) {
     266          @operator.IterationsParameter.ActualName = "Generations";
     267          @operator.IterationsParameter.Hidden = true;
     268          @operator.MaximumIterationsParameter.ActualName = MaximumGenerationsParameter.Name;
     269          @operator.MaximumIterationsParameter.Hidden = true;
    277270        }
    278271      }
Note: See TracChangeset for help on using the changeset viewer.