Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
06/28/13 16:56:21 (11 years ago)
Author:
mkommend
Message:

#2038: Merged r9553:9555, r9569, r9591:r9592, r9618 into the stable branch.

Location:
stable
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • stable

  • stable/HeuristicLab.Algorithms.GeneticAlgorithm/3.3/IslandGeneticAlgorithm.cs

    r9456 r9673  
    100100      get { return (ValueParameter<IntValue>)Parameters["Elites"]; }
    101101    }
     102    private IFixedValueParameter<BoolValue> ReevaluateElitesParameter {
     103      get { return (IFixedValueParameter<BoolValue>)Parameters["ReevaluateElites"]; }
     104    }
    102105    private ValueParameter<MultiAnalyzer> AnalyzerParameter {
    103106      get { return (ValueParameter<MultiAnalyzer>)Parameters["Analyzer"]; }
     
    168171      get { return ElitesParameter.Value; }
    169172      set { ElitesParameter.Value = value; }
     173    }
     174    public bool ReevaluteElites {
     175      get { return ReevaluateElitesParameter.Value.Value; }
     176      set { ReevaluateElitesParameter.Value.Value = value; }
    170177    }
    171178    public MultiAnalyzer Analyzer {
     
    199206    [StorableHook(HookType.AfterDeserialization)]
    200207    private void AfterDeserialization() {
     208      // BackwardsCompatibility3.3
     209      #region Backwards compatible code, remove with 3.4
     210      if (!Parameters.ContainsKey("ReevaluateElites")) {
     211        Parameters.Add(new FixedValueParameter<BoolValue>("ReevaluateElites", "Flag to determine if elite individuals should be reevaluated (i.e., if stochastic fitness functions are used.)", (BoolValue)new BoolValue(false).AsReadOnly()) { Hidden = true });
     212      }
     213      #endregion
     214
    201215      Initialize();
    202216    }
     
    228242      Parameters.Add(new OptionalConstrainedValueParameter<IManipulator>("Mutator", "The operator used to mutate solutions."));
    229243      Parameters.Add(new ValueParameter<IntValue>("Elites", "The numer of elite solutions which are kept in each generation.", new IntValue(1)));
     244      Parameters.Add(new FixedValueParameter<BoolValue>("ReevaluateElites", "Flag to determine if elite individuals should be reevaluated (i.e., if stochastic fitness functions are used.)", new BoolValue(false)) { Hidden = true });
    230245      Parameters.Add(new ValueParameter<MultiAnalyzer>("Analyzer", "The operator used to analyze the islands.", new MultiAnalyzer()));
    231246      Parameters.Add(new ValueParameter<MultiAnalyzer>("IslandAnalyzer", "The operator used to analyze each island.", new MultiAnalyzer()));
     
    301316      mainLoop.CrossoverParameter.ActualName = CrossoverParameter.Name;
    302317      mainLoop.ElitesParameter.ActualName = ElitesParameter.Name;
     318      mainLoop.ReevaluateElitesParameter.ActualName = ReevaluateElitesParameter.Name;
    303319      mainLoop.MutatorParameter.ActualName = MutatorParameter.Name;
    304320      mainLoop.MutationProbabilityParameter.ActualName = MutationProbabilityParameter.Name;
Note: See TracChangeset for help on using the changeset viewer.