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:
2 edited

Legend:

Unmodified
Added
Removed
  • stable

  • stable/HeuristicLab.Optimization.Operators/3.3/MultiObjective/RankAndCrowdingSorter.cs

    r12009 r12276  
    3030namespace HeuristicLab.Optimization.Operators {
    3131  public class RankAndCrowdingSorter : AlgorithmOperator, IMultiObjectiveOperator {
     32    #region Parameter properties
    3233    public ValueLookupParameter<BoolArray> MaximizationParameter {
    3334      get { return (ValueLookupParameter<BoolArray>)Parameters["Maximization"]; }
     
    4243      get { return (ScopeTreeLookupParameter<DoubleValue>)Parameters["CrowdingDistance"]; }
    4344    }
     45    public IValueLookupParameter<BoolValue> DominateOnEqualQualitiesParameter {
     46      get { return (ValueLookupParameter<BoolValue>)Parameters["DominateOnEqualQualities"]; }
     47    }
     48    #endregion
    4449
    4550    [StorableConstructor]
     
    4954      : base() {
    5055      Parameters.Add(new ValueLookupParameter<BoolArray>("Maximization", "For each objective a value that is true if that objective should be maximized, or false if it should be minimized."));
     56      Parameters.Add(new ValueLookupParameter<BoolValue>("DominateOnEqualQualities", "Flag which determines wether solutions with equal quality values should be treated as dominated."));
    5157      Parameters.Add(new ScopeTreeLookupParameter<DoubleArray>("Qualities", "The vector of quality values."));
    5258      Parameters.Add(new ScopeTreeLookupParameter<IntValue>("Rank", "The rank of a solution (to which front it belongs)."));
     
    6066
    6167      fastNonDominatedSort.MaximizationParameter.ActualName = MaximizationParameter.Name;
     68      fastNonDominatedSort.DominateOnEqualQualitiesParameter.ActualName = DominateOnEqualQualitiesParameter.Name;
    6269      fastNonDominatedSort.QualitiesParameter.ActualName = QualitiesParameter.Name;
    6370      fastNonDominatedSort.RankParameter.ActualName = RankParameter.Name;
     
    8188      return new RankAndCrowdingSorter(this, cloner);
    8289    }
     90
     91    [StorableHook(HookType.AfterDeserialization)]
     92    private void AfterDeserialization() {
     93      // BackwardsCompatibility3.3
     94      #region Backwards compatible code, remove with 3.4
     95      if (!Parameters.ContainsKey("DominateOnEqualQualities"))
     96        Parameters.Add(new ValueLookupParameter<BoolValue>("DominateOnEqualQualities", "Flag which determines wether solutions with equal quality values should be treated as dominated."));
     97      #endregion
     98    }
    8399  }
    84100}
Note: See TracChangeset for help on using the changeset viewer.