Changeset 17544 for branches/2521_ProblemRefactoring/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/IntegerVectorProblem.cs
- Timestamp:
- 05/18/20 18:55:08 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2521_ProblemRefactoring/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/IntegerVectorProblem.cs
r17522 r17544 28 28 using HeuristicLab.Common; 29 29 using HeuristicLab.Core; 30 using HeuristicLab.Data; 30 31 using HeuristicLab.Optimization; 31 32 using HeuristicLab.Optimization.Operators; 33 using HeuristicLab.Parameters; 32 34 33 35 namespace HeuristicLab.Encodings.IntegerVectorEncoding { … … 36 38 [Storable] protected IResultParameter<IntegerVector> BestResultParameter { get; private set; } 37 39 public IResultDefinition<IntegerVector> BestResult { get => BestResultParameter; } 40 [Storable] protected ReferenceParameter<IntValue> DimensionRefParameter { get; private set; } 41 public IValueParameter<IntValue> DimensionParameter => DimensionRefParameter; 42 [Storable] protected ReferenceParameter<IntMatrix> BoundsRefParameter { get; private set; } 43 public IValueParameter<IntMatrix> BoundsParameter => BoundsRefParameter; 38 44 39 public int Length { 40 get { return Encoding.Length; } 41 set { Encoding.Length = value; } 45 public int Dimension { 46 get { return DimensionRefParameter.Value.Value; } 47 set { DimensionRefParameter.Value.Value = value; } 48 } 49 50 public IntMatrix Bounds { 51 get { return BoundsRefParameter.Value; } 52 set { BoundsRefParameter.Value = value; } 42 53 } 43 54 … … 52 63 : base(original, cloner) { 53 64 BestResultParameter = cloner.Clone(original.BestResultParameter); 65 DimensionRefParameter = cloner.Clone(original.DimensionRefParameter); 66 BoundsRefParameter = cloner.Clone(original.BoundsRefParameter); 54 67 RegisterEventHandlers(); 55 68 } … … 59 72 EncodingParameter.ReadOnly = true; 60 73 Parameters.Add(BestResultParameter = new ResultParameter<IntegerVector>("Best Solution", "The best solution.")); 74 Parameters.Add(DimensionRefParameter = new ReferenceParameter<IntValue>("Dimension", "The dimension of the integer vector problem.", Encoding.LengthParameter)); 75 Parameters.Add(BoundsRefParameter = new ReferenceParameter<IntMatrix>("Bounds", "The bounding box and step sizes of the values.", Encoding.BoundsParameter)); 61 76 62 77 Operators.Add(new HammingSimilarityCalculator()); … … 88 103 89 104 private void RegisterEventHandlers() { 90 Encoding.LengthParameter.Value.ValueChanged += LengthParameter_ValueChanged; 105 DimensionRefParameter.Value.ValueChanged += DimensionParameter_Value_ValueChanged; 106 BoundsRefParameter.ValueChanged += BoundsParameter_ValueChanged; 91 107 } 92 108 93 protected virtual void LengthParameter_ValueChanged(object sender, EventArgs e) { } 109 private void DimensionParameter_Value_ValueChanged(object sender, EventArgs e) { 110 DimensionOnChanged(); 111 } 112 113 private void BoundsParameter_ValueChanged(object sender, EventArgs e) { 114 BoundsOnChanged(); 115 } 116 117 protected virtual void DimensionOnChanged() { } 118 119 protected virtual void BoundsOnChanged() { } 94 120 } 95 121 }
Note: See TracChangeset
for help on using the changeset viewer.