Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
07/25/13 13:39:13 (11 years ago)
Author:
mkommend
Message:

#1997: Merged trunk changes in data analysis island GA branch.

Location:
branches/DataAnalysis.IslandAlgorithms/HeuristicLab.Algorithms.GeneticAlgorithm
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/DataAnalysis.IslandAlgorithms/HeuristicLab.Algorithms.GeneticAlgorithm

  • branches/DataAnalysis.IslandAlgorithms/HeuristicLab.Algorithms.GeneticAlgorithm/3.3/GeneticAlgorithm.cs

    r8351 r9756  
    11#region License Information
    22/* HeuristicLab
    3  * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     3 * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
    44 *
    55 * This file is part of HeuristicLab.
     
    7979      get { return (ValueParameter<IntValue>)Parameters["Elites"]; }
    8080    }
     81    private IFixedValueParameter<BoolValue> ReevaluateElitesParameter {
     82      get { return (IFixedValueParameter<BoolValue>)Parameters["ReevaluateElites"]; }
     83    }
    8184    private ValueParameter<MultiAnalyzer> AnalyzerParameter {
    8285      get { return (ValueParameter<MultiAnalyzer>)Parameters["Analyzer"]; }
     
    119122      get { return ElitesParameter.Value; }
    120123      set { ElitesParameter.Value = value; }
     124    }
     125    public bool ReevaluteElites {
     126      get { return ReevaluateElitesParameter.Value.Value; }
     127      set { ReevaluateElitesParameter.Value.Value = value; }
    121128    }
    122129    public MultiAnalyzer Analyzer {
     
    151158      Parameters.Add(new OptionalConstrainedValueParameter<IManipulator>("Mutator", "The operator used to mutate solutions."));
    152159      Parameters.Add(new ValueParameter<IntValue>("Elites", "The numer of elite solutions which are kept in each generation.", new IntValue(1)));
     160      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 });
    153161      Parameters.Add(new ValueParameter<MultiAnalyzer>("Analyzer", "The operator used to analyze each generation.", new MultiAnalyzer()));
    154162      Parameters.Add(new ValueParameter<IntValue>("MaximumGenerations", "The maximum number of generations which should be processed.", new IntValue(1000)));
     
    182190      mainLoop.CrossoverParameter.ActualName = CrossoverParameter.Name;
    183191      mainLoop.ElitesParameter.ActualName = ElitesParameter.Name;
     192      mainLoop.ReevaluateElitesParameter.ActualName = ReevaluateElitesParameter.Name;
    184193      mainLoop.MaximumGenerationsParameter.ActualName = MaximumGenerationsParameter.Name;
    185194      mainLoop.MutatorParameter.ActualName = MutatorParameter.Name;
     
    207216    [StorableHook(HookType.AfterDeserialization)]
    208217    private void AfterDeserialization() {
     218      // BackwardsCompatibility3.3
     219      #region Backwards compatible code, remove with 3.4
     220      if (!Parameters.ContainsKey("ReevaluateElites")) {
     221        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 });
     222      }
     223      #endregion
     224
    209225      Initialize();
    210226    }
     227
     228
    211229
    212230    private GeneticAlgorithm(GeneticAlgorithm original, Cloner cloner)
Note: See TracChangeset for help on using the changeset viewer.