Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
07/12/17 21:02:01 (7 years ago)
Author:
abeham
Message:

#2666, #2706, #2730, #2736: merged revisions 14412, 14475, 14476, 14659, 14660, 14663, 14779, 14780, 14912, 15050, 15067, 15069, 15079, 15162, 15166, 15172, 15173 to stable

Location:
stable
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • stable

  • stable/HeuristicLab.Problems.PTSP/3.3/PTSP.cs

    r14186 r15217  
    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}
Note: See TracChangeset for help on using the changeset viewer.