Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
04/01/15 17:06:17 (9 years ago)
Author:
mkommend
Message:

#2332: Merged all changes from this ticket into stable.

Location:
stable
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • stable

  • stable/HeuristicLab.Problems.TravelingSalesman/3.3/SimilarityCalculators/TSPSimilarityCalculator.cs

    r12009 r12280  
    3535  [Item("TSPSimilarityCalculator", "An operator that performs similarity calculation between two traveling salesman solutions. The operator calculates the similarity based on the number of edges the two solutions have in common.")]
    3636  public sealed class TSPSimilarityCalculator : SingleObjectiveSolutionSimilarityCalculator {
     37    protected override bool IsCommutative { get { return true; } }
     38
    3739    private TSPSimilarityCalculator(bool deserializing) : base(deserializing) { }
    3840    private TSPSimilarityCalculator(TSPSimilarityCalculator original, Cloner cloner) : base(original, cloner) { }
  • stable/HeuristicLab.Problems.TravelingSalesman/3.3/TravelingSalesmanProblem.cs

    r12009 r12280  
    3030using HeuristicLab.Encodings.PermutationEncoding;
    3131using HeuristicLab.Optimization;
     32using HeuristicLab.Optimization.Operators;
    3233using HeuristicLab.Parameters;
    3334using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     
    8182    private TSPAlleleFrequencyAnalyzer TSPAlleleFrequencyAnalyzer {
    8283      get { return Operators.OfType<TSPAlleleFrequencyAnalyzer>().FirstOrDefault(); }
    83     }
    84     private SingleObjectivePopulationDiversityAnalyzer SingleObjectivePopulationDiversityAnalyzer {
    85       get { return Operators.OfType<SingleObjectivePopulationDiversityAnalyzer>().FirstOrDefault(); }
    8684    }
    8785    #endregion
     
    236234      Operators.Add(new TSPSimultaneousPathRelinker());
    237235      Operators.Add(new TSPSimilarityCalculator());
     236      Operators.Add(new QualitySimilarityCalculator());
     237      Operators.Add(new NoSimilarityCalculator());
    238238
    239239      Operators.Add(new BestTSPSolutionAnalyzer());
    240240      Operators.Add(new TSPAlleleFrequencyAnalyzer());
    241       Operators.Add(new SingleObjectivePopulationDiversityAnalyzer());
     241      Operators.Add(new PopulationSimilarityAnalyzer(Operators.OfType<ISolutionSimilarityCalculator>()));
    242242      ParameterizeAnalyzers();
    243243      var operators = new HashSet<IPermutationOperator>(new IPermutationOperator[] {
     
    319319        TSPAlleleFrequencyAnalyzer.ResultsParameter.ActualName = "Results";
    320320      }
    321 
    322       if (SingleObjectivePopulationDiversityAnalyzer != null) {
    323         SingleObjectivePopulationDiversityAnalyzer.MaximizationParameter.ActualName = MaximizationParameter.Name;
    324         SingleObjectivePopulationDiversityAnalyzer.QualityParameter.ActualName = Evaluator.QualityParameter.ActualName;
    325         SingleObjectivePopulationDiversityAnalyzer.ResultsParameter.ActualName = "Results";
    326         SingleObjectivePopulationDiversityAnalyzer.SimilarityCalculator = Operators.OfType<TSPSimilarityCalculator>().SingleOrDefault();
    327       }
    328321    }
    329322    private void ParameterizeOperators() {
     
    366359        op.ParentsParameter.Hidden = true;
    367360      }
    368       foreach (TSPSimilarityCalculator op in Operators.OfType<TSPSimilarityCalculator>()) {
     361      foreach (ISolutionSimilarityCalculator op in Operators.OfType<ISolutionSimilarityCalculator>()) {
    369362        op.SolutionVariableName = SolutionCreator.PermutationParameter.ActualName;
    370363        op.QualityVariableName = Evaluator.QualityParameter.ActualName;
Note: See TracChangeset for help on using the changeset viewer.