Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
04/01/15 15:44:13 (9 years ago)
Author:
mkommend
Message:

#2321: Merged r12123, r12124 and r12144 into stable.

Location:
stable
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • stable

  • stable/HeuristicLab.Algorithms.NSGA2/3.3/NSGA2.cs

    r12009 r12276  
    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);
  • stable/HeuristicLab.Algorithms.NSGA2/3.3/NSGA2MainLoop.cs

    r12009 r12276  
    7979      get { return (LookupParameter<IntValue>)Parameters["EvaluatedSolutions"]; }
    8080    }
     81    public IValueLookupParameter<BoolValue> DominateOnEqualQualitiesParameter {
     82      get { return (ValueLookupParameter<BoolValue>)Parameters["DominateOnEqualQualities"]; }
     83    }
    8184    #endregion
    8285
    8386    [StorableConstructor]
    8487    protected NSGA2MainLoop(bool deserializing) : base(deserializing) { }
     88    [StorableHook(HookType.AfterDeserialization)]
     89    private void AfterDeserialization() {
     90      // BackwardsCompatibility3.3
     91      #region Backwards compatible code, remove with 3.4
     92      if (!Parameters.ContainsKey("DominateOnEqualQualities"))
     93        Parameters.Add(new ValueLookupParameter<BoolValue>("DominateOnEqualQualities", "Flag which determines wether solutions with equal quality values should be treated as dominated."));
     94      #endregion
     95    }
     96
    8597    protected NSGA2MainLoop(NSGA2MainLoop original, Cloner cloner) : base(original, cloner) { }
    8698    public NSGA2MainLoop()
     
    105117      Parameters.Add(new ValueLookupParameter<IOperator>("Analyzer", "The operator used to analyze each generation."));
    106118      Parameters.Add(new LookupParameter<IntValue>("EvaluatedSolutions", "The number of times solutions have been evaluated."));
     119      Parameters.Add(new ValueLookupParameter<BoolValue>("DominateOnEqualQualities", "Flag which determines wether solutions with equal quality values should be treated as dominated."));
    107120      #endregion
    108121
     
    171184      subScopesCounter.ValueParameter.ActualName = EvaluatedSolutionsParameter.Name;
    172185
     186      rankAndCrowdingSorter.DominateOnEqualQualitiesParameter.ActualName = DominateOnEqualQualitiesParameter.Name;
    173187      rankAndCrowdingSorter.CrowdingDistanceParameter.ActualName = "CrowdingDistance";
    174188      rankAndCrowdingSorter.RankParameter.ActualName = "Rank";
Note: See TracChangeset for help on using the changeset viewer.