Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
02/12/15 15:39:28 (9 years ago)
Author:
abeham
Message:

#2282:

  • Renamed BinaryVectorProblem to BinaryProblem
  • Removed IBinaryVectorProblem interface
  • Derived BinaryProblem from SingleObjectiveBasicProblem
  • Changed bool[] datatype to BinaryVector
Location:
trunk/sources/HeuristicLab.Problems.Binary
Files:
1 copied
1 moved

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Problems.Binary/3.3/BinaryProblem.cs

    r11983 r11987  
    2525using HeuristicLab.Core;
    2626using HeuristicLab.Data;
     27using HeuristicLab.Encodings.BinaryVectorEncoding;
    2728using HeuristicLab.Optimization;
    2829using HeuristicLab.Parameters;
    2930using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    3031
    31 namespace HeuristicLab.Problems.BinaryVector {
     32namespace HeuristicLab.Problems.Binary {
    3233  [StorableClass]
    33   public abstract class BinaryVectorProblem : Problem, IBinaryVectorProblem {
    34     private const string LengthParameterName = "Length";
     34  public abstract class BinaryProblem : SingleObjectiveBasicProblem<BinaryVectorEncoding> {
    3535
    36     public IFixedValueParameter<IntValue> LengthParameter {
    37       get { return (IFixedValueParameter<IntValue>)Parameters[LengthParameterName]; }
    38     }
    39 
    40     public int Length {
    41       get { return LengthParameter.Value.Value; }
    42       set { LengthParameter.Value.Value = value; }
    43     }
    44 
    45     public abstract bool Maximization {
    46       get;
     36    public virtual int Length {
     37      get { return Encoding.Length; }
     38      set { Encoding.Length = value; }
    4739    }
    4840
    4941    [StorableConstructor]
    50     protected BinaryVectorProblem(bool deserializing) : base(deserializing) { }
    51     protected BinaryVectorProblem(BinaryVectorProblem original, Cloner cloner) : base(original, cloner) { }
    52     public bool IsBetter(double quality, double bestQuality) {
     42    protected BinaryProblem(bool deserializing) : base(deserializing) { }
     43    protected BinaryProblem(BinaryProblem original, Cloner cloner) : base(original, cloner) { }
     44    protected BinaryProblem() : base() { }
     45
     46    public virtual bool IsBetter(double quality, double bestQuality) {
    5347      return (Maximization && quality > bestQuality || !Maximization && quality < bestQuality);
    5448    }
    5549
    56     public BinaryVectorProblem()
    57       : base() {
    58       Parameters.Add(new FixedValueParameter<IntValue>(LengthParameterName, "", new IntValue(20)));
     50    public sealed override double Evaluate(Individual individual, IRandom random) {
     51      return Evaluate(individual.BinaryVector(), random);
    5952    }
    6053
    61     public abstract double Evaluate(bool[] individual);
    62 
    63 
     54    public abstract double Evaluate(BinaryVector vector, IRandom random);
    6455  }
    6556}
Note: See TracChangeset for help on using the changeset viewer.