Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
06/19/20 16:38:33 (4 years ago)
Author:
mkommend
Message:

#2521: Added first version of problem results.

Location:
branches/2521_ProblemRefactoring/HeuristicLab.Encodings.BinaryVectorEncoding/3.3
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/2521_ProblemRefactoring/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/BinaryVectorMultiObjectiveProblem.cs

    r17594 r17612  
    3333  public abstract class BinaryVectorMultiObjectiveProblem : MultiObjectiveProblem<BinaryVectorEncoding, BinaryVector> {
    3434    [Storable] protected IResultParameter<ParetoFrontScatterPlot<BinaryVector>> BestResultParameter { get; private set; }
    35     //public IResultDefinition<ParetoFrontScatterPlot<BinaryVector>> BestResult { get { return BestResultParameter; }}
    3635    [Storable] protected ReferenceParameter<IntValue> DimensionRefParameter { get; private set; }
    3736
  • branches/2521_ProblemRefactoring/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/BinaryVectorProblem.cs

    r17594 r17612  
    3333  [StorableType("2F6FEB34-BD19-47AF-9484-7F48565C0C43")]
    3434  public abstract class BinaryVectorProblem : SingleObjectiveProblem<BinaryVectorEncoding, BinaryVector> {
    35     [Storable] protected IResultParameter<ISingleObjectiveSolutionContext<BinaryVector>> BestResultParameter { get; private set; }
    36     //public IResultDefinition<ISingleObjectiveSolutionContext<BinaryVector>> BestResult => BestResultParameter;
    3735    [Storable] protected ReferenceParameter<IntValue> DimensionRefParameter { get; private set; }
     36    [Storable] public IResult<ISingleObjectiveSolutionContext<BinaryVector>> BestSolutionResult { get; private set; }
     37
     38    private ISingleObjectiveSolutionContext<BinaryVector> BestSolution {
     39      get => BestSolutionResult.Value;
     40      set => BestSolutionResult.Value = value;
     41    }
    3842
    3943    public int Dimension {
     
    5155    protected BinaryVectorProblem(BinaryVectorProblem original, Cloner cloner)
    5256      : base(original, cloner) {
    53       BestResultParameter = cloner.Clone(original.BestResultParameter);
    5457      DimensionRefParameter = cloner.Clone(original.DimensionRefParameter);
     58      BestSolutionResult = cloner.Clone(original.BestSolutionResult);
    5559      RegisterEventHandlers();
    5660    }
     
    5963    protected BinaryVectorProblem(BinaryVectorEncoding encoding) : base(encoding) {
    6064      EncodingParameter.ReadOnly = true;
    61       Parameters.Add(BestResultParameter = new ResultParameter<ISingleObjectiveSolutionContext<BinaryVector>>("Best Solution", "The best solution."));
    6265      Parameters.Add(DimensionRefParameter = new ReferenceParameter<IntValue>("Dimension", "The dimension of the binary vector problem.", Encoding.LengthParameter));
     66      Results.Add(BestSolutionResult = new Result<ISingleObjectiveSolutionContext<BinaryVector>>("Best Solution"));
    6367
    6468      Operators.Add(new HammingSimilarityCalculator());
     
    7377      base.Analyze(solutionContexts, results, random);
    7478      var best = GetBest(solutionContexts);
    75       var currentBest = BestResultParameter.ActualValue;
    76       if (currentBest == null || IsBetter(best.EvaluationResult.Quality, currentBest.EvaluationResult.Quality))
    77         BestResultParameter.ActualValue = best.Clone() as SingleObjectiveSolutionContext<BinaryVector>;
     79      if (BestSolution == null || IsBetter(best, BestSolution))
     80        BestSolution = best.Clone() as SingleObjectiveSolutionContext<BinaryVector>;
    7881    }
    7982
Note: See TracChangeset for help on using the changeset viewer.