- Timestamp:
- 06/19/20 16:38:33 (4 years ago)
- 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 33 33 public abstract class BinaryVectorMultiObjectiveProblem : MultiObjectiveProblem<BinaryVectorEncoding, BinaryVector> { 34 34 [Storable] protected IResultParameter<ParetoFrontScatterPlot<BinaryVector>> BestResultParameter { get; private set; } 35 //public IResultDefinition<ParetoFrontScatterPlot<BinaryVector>> BestResult { get { return BestResultParameter; }}36 35 [Storable] protected ReferenceParameter<IntValue> DimensionRefParameter { get; private set; } 37 36 -
branches/2521_ProblemRefactoring/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/BinaryVectorProblem.cs
r17594 r17612 33 33 [StorableType("2F6FEB34-BD19-47AF-9484-7F48565C0C43")] 34 34 public abstract class BinaryVectorProblem : SingleObjectiveProblem<BinaryVectorEncoding, BinaryVector> { 35 [Storable] protected IResultParameter<ISingleObjectiveSolutionContext<BinaryVector>> BestResultParameter { get; private set; }36 //public IResultDefinition<ISingleObjectiveSolutionContext<BinaryVector>> BestResult => BestResultParameter;37 35 [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 } 38 42 39 43 public int Dimension { … … 51 55 protected BinaryVectorProblem(BinaryVectorProblem original, Cloner cloner) 52 56 : base(original, cloner) { 53 BestResultParameter = cloner.Clone(original.BestResultParameter);54 57 DimensionRefParameter = cloner.Clone(original.DimensionRefParameter); 58 BestSolutionResult = cloner.Clone(original.BestSolutionResult); 55 59 RegisterEventHandlers(); 56 60 } … … 59 63 protected BinaryVectorProblem(BinaryVectorEncoding encoding) : base(encoding) { 60 64 EncodingParameter.ReadOnly = true; 61 Parameters.Add(BestResultParameter = new ResultParameter<ISingleObjectiveSolutionContext<BinaryVector>>("Best Solution", "The best solution."));62 65 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")); 63 67 64 68 Operators.Add(new HammingSimilarityCalculator()); … … 73 77 base.Analyze(solutionContexts, results, random); 74 78 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>; 78 81 } 79 82
Note: See TracChangeset
for help on using the changeset viewer.