Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
03/04/15 14:26:35 (9 years ago)
Author:
mkommend
Message:

#2321: Merged all changes from the NSGA2 branch to the trunk.

Location:
trunk/sources
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources

  • trunk/sources/HeuristicLab.Algorithms.NSGA2/3.3/NSGA2.cs

    r12012 r12123  
    8888      get { return (ValueParameter<IntValue>)Parameters["SelectedParents"]; }
    8989    }
     90
     91    private IFixedValueParameter<BoolValue> DominateOnEqualQualitiesParameter {
     92      get { return (IFixedValueParameter<BoolValue>)Parameters["DominateOnEqualQualities"]; }
     93    }
    9094    #endregion
    9195
     
    135139      set { SelectedParentsParameter.Value = value; }
    136140    }
     141    public bool DominateOnEqualQualities {
     142      get { return DominateOnEqualQualitiesParameter.Value.Value; }
     143      set { DominateOnEqualQualitiesParameter.Value.Value = value; }
     144    }
     145
    137146    private RandomCreator RandomCreator {
    138147      get { return (RandomCreator)OperatorGraph.InitialOperator; }
     
    171180      Parameters.Add(new ValueParameter<IntValue>("MaximumGenerations", "The maximum number of generations which should be processed.", new IntValue(1000)));
    172181      Parameters.Add(new ValueParameter<IntValue>("SelectedParents", "Each two parents form a new child, typically this value should be twice the population size, but because the NSGA-II is maximally elitist it can be any multiple of 2 greater than 0.", new IntValue(200)));
     182      Parameters.Add(new FixedValueParameter<BoolValue>("DominateOnEqualQualities", "Flag which determines wether solutions with equal quality values should be treated as dominated.", new BoolValue(false)));
    173183
    174184      RandomCreator randomCreator = new RandomCreator();
     
    195205      subScopesCounter.Successor = rankAndCrowdingSorter;
    196206
     207      rankAndCrowdingSorter.DominateOnEqualQualitiesParameter.ActualName = DominateOnEqualQualitiesParameter.Name;
    197208      rankAndCrowdingSorter.CrowdingDistanceParameter.ActualName = "CrowdingDistance";
    198209      rankAndCrowdingSorter.RankParameter.ActualName = "Rank";
     
    311322    [StorableHook(HookType.AfterDeserialization)]
    312323    private void AfterDeserialization() {
     324      // BackwardsCompatibility3.3
     325      #region Backwards compatible code, remove with 3.4
     326      if (!Parameters.ContainsKey("DominateOnEqualQualities"))
     327        Parameters.Add(new FixedValueParameter<BoolValue>("DominateOnEqualQualities", "Flag which determines wether solutions with equal quality values should be treated as dominated.", new BoolValue(false)));
     328      #endregion
     329
    313330      PopulationSizeParameter.ValueChanged += new EventHandler(PopulationSizeParameter_ValueChanged);
    314331      PopulationSize.ValueChanged += new EventHandler(PopulationSize_ValueChanged);
Note: See TracChangeset for help on using the changeset viewer.