Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
06/27/17 13:45:50 (7 years ago)
Author:
abeham
Message:

#2706:

  • Added or updated similarity calculators and population similarity analysis for several problems (BinPacking, LAP, Orienteering, Parameter optimization, PTSP, QAP, TF, TSP, VRP)
  • Made TSPSimilarityCalculator obsolete since it's essentially the same as the one in the permutation plugin
  • Made QAPPopulationDiversityAnalyzer obsolete as it is replaced by the newer PopulationSimilarityAnalyzer
  • Removed genotype specific similarity code in QAPPermutationProximityCalculator (again identical to the permutation plugin)
  • Changed QAPSimilarityCalculator to perform phenotype similarity instead of genotype similarity (has not been previously used)
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Problems.QuadraticAssignment/3.3/QuadraticAssignmentProblem.cs

    r14185 r15069  
    2424using System.Drawing;
    2525using System.Linq;
     26using HeuristicLab.Analysis;
    2627using HeuristicLab.Common;
    2728using HeuristicLab.Core;
     
    2930using HeuristicLab.Encodings.PermutationEncoding;
    3031using HeuristicLab.Optimization;
     32using HeuristicLab.Optimization.Operators;
    3133using HeuristicLab.Parameters;
    3234using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     
    301303      Operators.Add(new BestQAPSolutionAnalyzer());
    302304      Operators.Add(new QAPAlleleFrequencyAnalyzer());
    303       Operators.Add(new QAPPopulationDiversityAnalyzer());
    304305
    305306      Operators.Add(new QAPExhaustiveInsertionLocalImprovement());
     
    308309      Operators.Add(new QAPExhaustiveSwap2LocalImprovement());
    309310
     311      Operators.Add(new HammingSimilarityCalculator());
    310312      Operators.Add(new QAPSimilarityCalculator());
     313      Operators.Add(new QualitySimilarityCalculator());
     314      Operators.Add(new PopulationSimilarityAnalyzer(Operators.OfType<ISolutionSimilarityCalculator>()));
     315
    311316      ParameterizeAnalyzers();
    312317      ParameterizeOperators();
     
    393398      }
    394399
    395       QAPSimilarityCalculator similarityCalculator = Operators.OfType<QAPSimilarityCalculator>().SingleOrDefault();
    396       if (similarityCalculator != null) {
     400      foreach (var similarityCalculator in Operators.OfType<ISolutionSimilarityCalculator>()) {
    397401        similarityCalculator.SolutionVariableName = SolutionCreator.PermutationParameter.ActualName;
    398402        similarityCalculator.QualityVariableName = Evaluator.QualityParameter.ActualName;
     403        var qapsimcalc = similarityCalculator as QAPSimilarityCalculator;
     404        if (qapsimcalc != null) {
     405          qapsimcalc.Weights = Weights;
     406          qapsimcalc.Distances = Distances;
     407        }
    399408      }
    400409    }
Note: See TracChangeset for help on using the changeset viewer.