Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
10/30/15 17:10:35 (9 years ago)
Author:
pfleck
Message:

#2269

  • Added the possibility of continuous reseeding (percentage based reseeding of layer 0).
  • Restructured operator graph.
  • Deleted LayerUpdator (replaced by LayerOpener`)
  • Deleted LayerSorter.
  • Moved preparing of GeneticAlgorithmMainLoop to AlpsGeneticAlgorithmMainOperator.
File:
1 edited

Legend:

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

    r13046 r13095  
    114114      get { return (IValueParameter<IntValue>)Parameters["MatingPoolRange"]; }
    115115    }
     116    private IValueParameter<BoolValue> ContinuousReseedingParameter {
     117      get { return (IValueParameter<BoolValue>)Parameters["ContinuousReseeding"]; }
     118    }
    116119
    117120    private IValueParameter<MultiTerminator> TerminatorParameter {
     
    195198      get { return MatingPoolRangeParameter.Value; }
    196199      set { MatingPoolRangeParameter.Value = value; }
     200    }
     201    public BoolValue ContinuousReseeding {
     202      get { return ContinuousReseedingParameter.Value; }
     203      set { ContinuousReseedingParameter.Value = value; }
    197204    }
    198205
     
    296303
    297304      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 });
     305      Parameters.Add(new ValueParameter<BoolValue>("ContinuousReseeding", "Instead of replacing the lowest layer every AgeGap generations replace 1/AgeGap individuals every generation", new BoolValue(false)) { Hidden = true });
    298306
    299307      Parameters.Add(new ValueParameter<MultiTerminator>("Terminator", "The termination criteria which sould be checked.", new MultiTerminator()));
     
    546554      SolutionsCreator.EvaluatorParameter.ActualName = Problem.EvaluatorParameter.Name;
    547555      SolutionsCreator.SolutionCreatorParameter.ActualName = Problem.SolutionCreatorParameter.Name;
    548       MainLoop.LayerUpdator.SolutionsCreator.EvaluatorParameter.ActualName = Problem.EvaluatorParameter.Name;
    549       MainLoop.LayerUpdator.SolutionsCreator.SolutionCreatorParameter.ActualName = Problem.SolutionCreatorParameter.Name;
    550556    }
    551557    private void ParameterizeMainLoop() {
     
    555561      MainLoop.MainOperator.MaximizationParameter.ActualName = Problem.MaximizationParameter.Name;
    556562      MainLoop.MainOperator.QualityParameter.ActualName = Problem.Evaluator.QualityParameter.ActualName;
    557       MainLoop.LayerUpdator.SolutionsCreator.NumberOfSolutionsParameter.ActualName = PopulationSizeParameter.Name;
    558563    }
    559564    private void ParameterizeAnalyzers() {
     
    614619      int numberOfLayers = NumberOfLayers.Value;
    615620      AgeLimits = scheme.CalculateAgeLimits(ageGap, numberOfLayers);
     621      AgeLimits[AgeLimits.Length - 1] = int.MaxValue; // last layer infinite age limit
    616622    }
    617623
Note: See TracChangeset for help on using the changeset viewer.