Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
05/18/20 18:55:08 (4 years ago)
Author:
abeham
Message:

#2521: worked on refactoring, worked a lot on binary encoding / problems

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2521_ProblemRefactoring/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/IntegerVectorMultiObjectiveProblem.cs

    r17522 r17544  
    2828using HeuristicLab.Common;
    2929using HeuristicLab.Core;
     30using HeuristicLab.Data;
    3031using HeuristicLab.Optimization;
     32using HeuristicLab.Parameters;
    3133
    3234namespace HeuristicLab.Encodings.IntegerVectorEncoding {
     
    3537    [Storable] protected IResultParameter<ParetoFrontScatterPlot<IntegerVector>> BestResultParameter { get; private set; }
    3638    public IResultDefinition<ParetoFrontScatterPlot<IntegerVector>> BestResult { get { return BestResultParameter; } }
     39    [Storable] protected ReferenceParameter<IntValue> DimensionRefParameter { get; private set; }
     40    public IValueParameter<IntValue> DimensionParameter => DimensionRefParameter;
    3741
    38     public int Length {
    39       get { return Encoding.Length; }
    40       set { Encoding.Length = value; }
     42    public int Dimension {
     43      get { return DimensionRefParameter.Value.Value; }
     44      set { DimensionRefParameter.Value.Value = value; }
    4145    }
    4246
     
    5155      : base(original, cloner) {
    5256      BestResultParameter = cloner.Clone(original.BestResultParameter);
     57      DimensionRefParameter = cloner.Clone(original.DimensionRefParameter);
    5358      RegisterEventHandlers();
    5459    }
     
    5863      EncodingParameter.ReadOnly = true;
    5964      Parameters.Add(BestResultParameter = new ResultParameter<ParetoFrontScatterPlot<IntegerVector>>("Best Pareto Front", "The best Pareto front found."));
     65      Parameters.Add(DimensionRefParameter = new ReferenceParameter<IntValue>("Dimension", "The dimension of the integer vector problem.", Encoding.LengthParameter));
    6066
    6167      Operators.Add(new HammingSimilarityCalculator());
     
    8894
    8995    private void RegisterEventHandlers() {
    90       Encoding.LengthParameter.Value.ValueChanged += LengthParameter_ValueChanged;
     96      DimensionRefParameter.Value.ValueChanged += DimensionParameter_Value_ValueChanged;
    9197    }
    9298
    93     protected virtual void LengthParameter_ValueChanged(object sender, EventArgs e) { }
     99    private void DimensionParameter_Value_ValueChanged(object sender, EventArgs e) {
     100      DimensionOnChanged();
     101    }
     102
     103    protected virtual void DimensionOnChanged() { }
    94104  }
    95105}
Note: See TracChangeset for help on using the changeset viewer.