Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
02/25/15 23:08:19 (9 years ago)
Author:
ascheibe
Message:

#2267 adapted branch to changes from #2332

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/VOSGA/HeuristicLab.Algorithms.VOffspringSelectionGeneticAlgorithm/Comparators/PopulationQualityComparator.cs

    r11845 r12079  
    2020#endregion
    2121
    22 using System;
    2322using System.Linq;
    2423using HeuristicLab.Analysis;
     
    3635  [Item("PopulationQualityComparator", "Compares the quality of the child to the population.")]
    3736  [StorableClass]
    38   public class PopulationQualityComparator : SingleSuccessorOperator, ISubScopesQualityComparatorOperator, ISimilarityBasedOperator {
     37  public class PopulationQualityComparator : SingleSuccessorOperator, ISubScopesQualityComparatorOperator {
    3938    [Storable]
    4039    public ISolutionSimilarityCalculator SimilarityCalculator { get; set; }
     40    public IValueLookupParameter<ISolutionSimilarityCalculator> SimilarityCalculatorParameter {
     41      get { return (IValueLookupParameter<ISolutionSimilarityCalculator>)Parameters["SimilarityCalculator"]; }
     42    }
    4143    public IValueLookupParameter<BoolValue> MaximizationParameter {
    4244      get { return (IValueLookupParameter<BoolValue>)Parameters["Maximization"]; }
     
    126128      Parameters.Add(new LookupParameter<IntValue>("Generations", "The current number of generations."));
    127129      Parameters.Add(new ValueParameter<BoolValue>("EnableDivCriteria", "Use diversity as additional offspring selection criteria.", new BoolValue(false)));
     130      Parameters.Add(new ValueLookupParameter<ISolutionSimilarityCalculator>("SimilarityCalculator", "The similarity calculator that should be used to calculate solution similarity."));
    128131
    129132      foreach (IDiscreteDoubleValueModifier modifier in ApplicationManager.Manager.GetInstances<IDiscreteDoubleValueModifier>().OrderBy(x => x.Name))
     
    136139    public override IDeepCloneable Clone(Cloner cloner) {
    137140      return new PopulationQualityComparator(this, cloner);
     141    }
     142
     143    [StorableHook(HookType.AfterDeserialization)]
     144    private void AfterDeserialization() {
     145      // BackwardsCompatibility3.3
     146      #region Backwards compatible code, remove with 3.4
     147      if (!Parameters.ContainsKey("SimilarityCalculator"))
     148        Parameters.Add(new ValueLookupParameter<ISolutionSimilarityCalculator>("SimilarityCalculator", "The similarity calculator that should be used to calculate solution similarity."));
     149      #endregion
    138150    }
    139151
Note: See TracChangeset for help on using the changeset viewer.