Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
06/04/20 18:16:58 (4 years ago)
Author:
abeham
Message:

#2521: refactoring in progress

File:
1 edited

Legend:

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

    r17544 r17587  
    2222#endregion
    2323
    24 using System;
    2524using System.Linq;
    2625using HEAL.Attic;
     
    3837    public IResultDefinition<ParetoFrontScatterPlot<IntegerVector>> BestResult { get { return BestResultParameter; } }
    3938    [Storable] protected ReferenceParameter<IntValue> DimensionRefParameter { get; private set; }
    40     public IValueParameter<IntValue> DimensionParameter => DimensionRefParameter;
     39    [Storable] protected ReferenceParameter<IntMatrix> BoundsRefParameter { get; private set; }
    4140
    4241    public int Dimension {
    4342      get { return DimensionRefParameter.Value.Value; }
    4443      set { DimensionRefParameter.Value.Value = value; }
     44    }
     45
     46    public IntMatrix Bounds {
     47      get { return BoundsRefParameter.Value; }
     48      set { BoundsRefParameter.Value = value; }
    4549    }
    4650
     
    5660      BestResultParameter = cloner.Clone(original.BestResultParameter);
    5761      DimensionRefParameter = cloner.Clone(original.DimensionRefParameter);
     62      BoundsRefParameter = cloner.Clone(original.BoundsRefParameter);
    5863      RegisterEventHandlers();
    5964    }
     
    6469      Parameters.Add(BestResultParameter = new ResultParameter<ParetoFrontScatterPlot<IntegerVector>>("Best Pareto Front", "The best Pareto front found."));
    6570      Parameters.Add(DimensionRefParameter = new ReferenceParameter<IntValue>("Dimension", "The dimension of the integer vector problem.", Encoding.LengthParameter));
     71      Parameters.Add(BoundsRefParameter = new ReferenceParameter<IntMatrix>("Bounds", "The bounds of the integer vector problem.", Encoding.BoundsParameter));
    6672
    6773      Operators.Add(new HammingSimilarityCalculator());
     
    94100
    95101    private void RegisterEventHandlers() {
    96       DimensionRefParameter.Value.ValueChanged += DimensionParameter_Value_ValueChanged;
    97     }
    98 
    99     private void DimensionParameter_Value_ValueChanged(object sender, EventArgs e) {
    100       DimensionOnChanged();
     102      IntValueParameterChangeHandler.Create(DimensionRefParameter, DimensionOnChanged);
     103      IntMatrixParameterChangeHandler.Create(BoundsRefParameter, BoundsOnChanged);
    101104    }
    102105
    103106    protected virtual void DimensionOnChanged() { }
     107
     108    protected virtual void BoundsOnChanged() { }
    104109  }
    105110}
Note: See TracChangeset for help on using the changeset viewer.