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)
Location:
trunk/sources/HeuristicLab.Problems.PTSP/3.3
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Problems.PTSP/3.3/HeuristicLab.Problems.PTSP-3.3.csproj

    r13484 r15069  
    7474  </PropertyGroup>
    7575  <ItemGroup>
     76    <ProjectReference Include="..\..\HeuristicLab.Analysis\3.3\HeuristicLab.Analysis-3.3.csproj">
     77      <Project>{887425B4-4348-49ED-A457-B7D2C26DDBF9}</Project>
     78      <Name>HeuristicLab.Analysis-3.3</Name>
     79      <Private>False</Private>
     80    </ProjectReference>
    7681    <ProjectReference Include="..\..\HeuristicLab.Collections\3.3\HeuristicLab.Collections-3.3.csproj">
    7782      <Project>{958B43BC-CC5C-4FA2-8628-2B3B01D890B6}</Project>
     
    107112      <Project>{23DA7FF4-D5B8-41B6-AA96-F0561D24F3EE}</Project>
    108113      <Name>HeuristicLab.Operators-3.3</Name>
     114      <Private>False</Private>
     115    </ProjectReference>
     116    <ProjectReference Include="..\..\HeuristicLab.Optimization.Operators\3.3\HeuristicLab.Optimization.Operators-3.3.csproj">
     117      <Project>{25087811-F74C-4128-BC86-8324271DA13E}</Project>
     118      <Name>HeuristicLab.Optimization.Operators-3.3</Name>
    109119      <Private>False</Private>
    110120    </ProjectReference>
  • trunk/sources/HeuristicLab.Problems.PTSP/3.3/PTSP.cs

    r14185 r15069  
    2222using System;
    2323using System.Linq;
     24using HeuristicLab.Analysis;
    2425using HeuristicLab.Common;
    2526using HeuristicLab.Core;
     
    2728using HeuristicLab.Encodings.PermutationEncoding;
    2829using HeuristicLab.Optimization;
     30using HeuristicLab.Optimization.Operators;
    2931using HeuristicLab.Parameters;
    3032using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     
    119121      Probabilities = new DoubleArray(Enumerable.Range(0, coordinates.Rows).Select(x => 0.5).ToArray());
    120122
     123      InitializeOperators();
     124      Parameterize();
    121125      RegisterEventHandlers();
     126    }
     127
     128    private void InitializeOperators() {
     129      Operators.Add(new HammingSimilarityCalculator());
     130      Operators.Add(new QualitySimilarityCalculator());
     131      Operators.Add(new PopulationSimilarityAnalyzer(Operators.OfType<ISolutionSimilarityCalculator>()));
    122132    }
    123133
     
    125135    private void AfterDeserialization() {
    126136      RegisterEventHandlers();
     137    }
     138
     139    protected override void OnEncodingChanged() {
     140      base.OnEncodingChanged();
     141      Encoding.Length = Coordinates.Rows;
     142      Parameterize();
    127143    }
    128144
     
    236252      return Coordinates != null ? Coordinates.Rows : DistanceMatrix.Rows;
    237253    }
     254
     255    private void Parameterize() {
     256      foreach (var similarityCalculator in Operators.OfType<ISolutionSimilarityCalculator>()) {
     257        similarityCalculator.SolutionVariableName = Encoding.SolutionCreator.PermutationParameter.ActualName;
     258        similarityCalculator.QualityVariableName = Evaluator.QualityParameter.ActualName;
     259      }
     260    }
    238261  }
    239262}
  • trunk/sources/HeuristicLab.Problems.PTSP/3.3/Plugin.cs.frame

    r14195 r15069  
    2525  [Plugin("HeuristicLab.Problems.PTSP", "Provides an implementation of the probabilistic traveling salesman problem (PTSP)", "3.3.14.$WCREV$")]
    2626  [PluginFile("HeuristicLab.Problems.PTSP-3.3.dll", PluginFileType.Assembly)]
     27  [PluginDependency("HeuristicLab.Analysis", "3.3")]
    2728  [PluginDependency("HeuristicLab.Collections", "3.3")]
    2829  [PluginDependency("HeuristicLab.Common", "3.3")]
     
    3334  [PluginDependency("HeuristicLab.Operators", "3.3")]
    3435  [PluginDependency("HeuristicLab.Optimization", "3.3")]
     36  [PluginDependency("HeuristicLab.Optimization.Operators", "3.3")]
    3537  [PluginDependency("HeuristicLab.Parameters", "3.3")]
    3638  [PluginDependency("HeuristicLab.Persistence", "3.3")]
Note: See TracChangeset for help on using the changeset viewer.