Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
09/15/20 13:53:11 (4 years ago)
Author:
mkommend
Message:

#2971: Added first draft of results implementation and problem adaptation.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2521_ProblemRefactoring/HeuristicLab.Problems.TravelingSalesman/3.3/TSP.cs

    r17697 r17745  
    9999    }
    100100
    101     public override void Analyze(Permutation[] solutions, double[] qualities, ResultCollection results, IRandom random) {
    102       base.Analyze(solutions, qualities, results, random);
    103       int i = -1;
    104       if (!Maximization)
    105         i = qualities.Select((x, index) => new { index, Fitness = x }).OrderBy(x => x.Fitness).First().index;
    106       else i = qualities.Select((x, index) => new { index, Fitness = x }).OrderByDescending(x => x.Fitness).First().index;
    107 
    108       if (double.IsNaN(BestKnownQuality) ||
    109           Maximization && qualities[i] > BestKnownQuality ||
    110           !Maximization && qualities[i] < BestKnownQuality) {
    111         var bestKnown = TSPData.GetSolution(solutions[i], qualities[i]);
    112         BestKnownQualityParameter.Value = new DoubleValue(qualities[i]);
    113         BestKnownSolutionParameter.Value = bestKnown;
    114       }
    115 
    116       var bestSolution = BestTSPSolutionParameter.ActualValue;
    117       if (bestSolution == null || IsBetter(qualities[i], bestSolution.TourLength.Value)) {
    118         BestTSPSolutionParameter.ActualValue = TSPData.GetSolution(solutions[i], qualities[i]);
    119       }
     101    public override void Analyze(ISingleObjectiveSolutionContext<Permutation>[] solutionContexts, IRandom random) {
     102      base.Analyze(solutionContexts, random);
     103
     104      //TODO reimplement code below using results directly
     105      //int i = -1;
     106      //if (!Maximization)
     107      //  i = qualities.Select((x, index) => new { index, Fitness = x }).OrderBy(x => x.Fitness).First().index;
     108      //else i = qualities.Select((x, index) => new { index, Fitness = x }).OrderByDescending(x => x.Fitness).First().index;
     109
     110      //if (double.IsNaN(BestKnownQuality) ||
     111      //    Maximization && qualities[i] > BestKnownQuality ||
     112      //    !Maximization && qualities[i] < BestKnownQuality) {
     113      //  var bestKnown = TSPData.GetSolution(solutions[i], qualities[i]);
     114      //  BestKnownQualityParameter.Value = new DoubleValue(qualities[i]);
     115      //  BestKnownSolutionParameter.Value = bestKnown;
     116      //}
     117
     118      //var bestSolution = BestTSPSolutionParameter.ActualValue;
     119      //if (bestSolution == null || IsBetter(qualities[i], bestSolution.TourLength.Value)) {
     120      //  BestTSPSolutionParameter.ActualValue = TSPData.GetSolution(solutions[i], qualities[i]);
     121      //}
    120122    }
    121123
Note: See TracChangeset for help on using the changeset viewer.