Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
10/03/19 17:43:11 (5 years ago)
Author:
abeham
Message:

#2521: Refactored maximization property for multi-objective problems

Location:
branches/2521_ProblemRefactoring/HeuristicLab.Problems.Programmable/3.3
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/2521_ProblemRefactoring/HeuristicLab.Problems.Programmable/3.3/CompiledProblemDefinition.cs

    r17226 r17309  
    2323using System.Collections.Generic;
    2424using HeuristicLab.Core;
    25 using HeuristicLab.Data;
    2625using HeuristicLab.Optimization;
    2726
     
    7877
    7978    #region ISingleObjectiveProblemDefinition<TEncoding,TEncodedSolution> Members
    80     public int Objectives => Maximization.Length;
    81     public abstract bool[] Maximization { get; }
     79    public int Objectives => Maximization.Count;
     80    public abstract IReadOnlyList<bool> Maximization { get; }
    8281    public abstract IReadOnlyList<double[]> BestKnownFront { get; }
    8382    public abstract double[] ReferencePoint { get; }
  • branches/2521_ProblemRefactoring/HeuristicLab.Problems.Programmable/3.3/MultiObjectiveProblemDefinitionScript.cs

    r17226 r17309  
    2424using HeuristicLab.Common;
    2525using HeuristicLab.Core;
    26 using HeuristicLab.Data;
    2726using HeuristicLab.Optimization;
    2827
     
    5251    public IReadOnlyList<double[]> BestKnownFront => CompiledProblemDefinition.BestKnownFront;
    5352    public double[] ReferencePoint => CompiledProblemDefinition.ReferencePoint;
    54     public bool[] Maximization => CompiledProblemDefinition.Maximization;
     53    public IReadOnlyList<bool> Maximization => CompiledProblemDefinition.Maximization;
    5554
    5655
  • branches/2521_ProblemRefactoring/HeuristicLab.Problems.Programmable/3.3/MultiObjectiveProgrammableProblem.cs

    r17226 r17309  
    9494
    9595    private void OnProblemDefinitionChanged() {
    96       Parameters.Remove("Maximization");
    97       Parameters.Add(new ValueParameter<BoolArray>("Maximization", "Set to false if the problem should be minimized.", (BoolArray)new BoolArray(Maximization).AsReadOnly()) {Hidden = true});
     96      Maximization = new BoolArray(ProblemDefinition.Maximization);
    9897      Encoding = (TEncoding)ProblemScript.Encoding.Clone();
    9998
     
    107106    private void OnProblemScriptNameChanged() {
    108107      Name = ProblemScript.Name;
    109     }
    110 
    111     public override bool[] Maximization {
    112       get { return Parameters.ContainsKey("ProblemScript") ? ProblemDefinition.Maximization : new[] {false}; }
    113108    }
    114109
  • branches/2521_ProblemRefactoring/HeuristicLab.Problems.Programmable/3.3/Templates/MultiObjectiveCombinedEncodingProblem_Template.cs

    r17225 r17309  
    1616namespace HeuristicLab.Problems.Programmable {
    1717  public class CompiledMultiObjectiveProblemDefinition : CompiledMultiObjectiveProblemDefinition<CombinedEncoding, CombinedSolution> {
    18     public override bool[] Maximization { get { return new[] { true, false }; } }
     18    public override IReadOnlyList<bool> Maximization { get { return new[] { true, false }; } }
    1919    public override double[] ReferencePoint { get { return null; } }
    2020    public override IReadOnlyList<double[]> BestKnownFront { get { return null; } }
Note: See TracChangeset for help on using the changeset viewer.