Changeset 17544 for branches/2521_ProblemRefactoring/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/LinearLinkageProblem.cs
- Timestamp:
- 05/18/20 18:55:08 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2521_ProblemRefactoring/HeuristicLab.Encodings.LinearLinkageEncoding/3.4/LinearLinkageProblem.cs
r16950 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.LinearLinkageEncoding { 34 36 [StorableType("fb4cfc7c-dc7c-4da6-843f-0dad7d3d7981")] 35 37 public abstract class LinearLinkageProblem : SingleObjectiveProblem<LinearLinkageEncoding, LinearLinkage> { 36 public int Length { 37 get { return Encoding.Length; } 38 set { Encoding.Length = value; } 38 [Storable] protected ReferenceParameter<IntValue> DimensionRefParameter { get; private set; } 39 public IValueParameter<IntValue> DimensionParameter => DimensionRefParameter; 40 41 public int Dimension { 42 get { return DimensionRefParameter.Value.Value; } 43 set { DimensionRefParameter.Value.Value = value; } 39 44 } 40 45 … … 48 53 protected LinearLinkageProblem(LinearLinkageProblem original, Cloner cloner) 49 54 : base(original, cloner) { 55 DimensionRefParameter = cloner.Clone(original.DimensionRefParameter); 50 56 RegisterEventHandlers(); 51 57 } … … 54 60 protected LinearLinkageProblem(LinearLinkageEncoding encoding) : base(encoding) { 55 61 EncodingParameter.ReadOnly = true; 62 Parameters.Add(DimensionRefParameter = new ReferenceParameter<IntValue>("Dimension", "The dimension of the linear linkage problem.", Encoding.LengthParameter)); 56 63 57 64 Operators.Add(new HammingSimilarityCalculator()); … … 83 90 84 91 private void RegisterEventHandlers() { 85 Encoding.LengthParameter.Value.ValueChanged += LengthParameter_ValueChanged;92 DimensionRefParameter.Value.ValueChanged += DimensionParameter_Value_ValueChanged; 86 93 } 87 94 88 protected virtual void LengthParameter_ValueChanged(object sender, EventArgs e) { } 95 private void DimensionParameter_Value_ValueChanged(object sender, EventArgs e) { 96 DimensionOnChanged(); 97 } 98 99 protected virtual void DimensionOnChanged() { } 89 100 } 90 101 }
Note: See TracChangeset
for help on using the changeset viewer.