Changeset 17544 for branches/2521_ProblemRefactoring/HeuristicLab.Encodings.PermutationEncoding/3.3/PermutationProblem.cs
- Timestamp:
- 05/18/20 18:55:08 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2521_ProblemRefactoring/HeuristicLab.Encodings.PermutationEncoding/3.3/PermutationProblem.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.PermutationEncoding { 34 36 [StorableType("aceff7a2-0666-4055-b698-6ea3628713b6")] 35 37 public abstract class PermutationProblem : SingleObjectiveProblem<PermutationEncoding, Permutation> { 36 public int Length { 37 get { return Encoding.Length; } 38 set { Encoding.Length = value; } 39 } 38 [Storable] protected ReferenceParameter<IntValue> DimensionRefParameter { get; private set; } 39 public IValueParameter<IntValue> DimensionParameter => DimensionRefParameter; 40 40 41 public PermutationTypes Type{42 get { return Encoding.Type; }43 set { Encoding.Type = value; }41 public int Dimension { 42 get { return DimensionRefParameter.Value.Value; } 43 set { DimensionRefParameter.Value.Value = value; } 44 44 } 45 45 … … 53 53 protected PermutationProblem(PermutationProblem original, Cloner cloner) 54 54 : base(original, cloner) { 55 DimensionRefParameter = cloner.Clone(original.DimensionRefParameter); 55 56 RegisterEventHandlers(); 56 57 } … … 59 60 protected PermutationProblem(PermutationEncoding encoding) : base(encoding) { 60 61 EncodingParameter.ReadOnly = true; 62 Parameters.Add(DimensionRefParameter = new ReferenceParameter<IntValue>("Dimension", "The dimension of the permutation problem.", Encoding.LengthParameter)); 61 63 62 64 Operators.Add(new HammingSimilarityCalculator()); … … 87 89 88 90 private void RegisterEventHandlers() { 89 Encoding.LengthParameter.Value.ValueChanged += LengthParameter_ValueChanged; 90 Encoding.PermutationTypeParameter.Value.ValueChanged += TypeParameter_ValueChanged; 91 DimensionRefParameter.Value.ValueChanged += DimensionParameter_Value_ValueChanged; 91 92 } 92 93 93 protected virtual void LengthParameter_ValueChanged(object sender, EventArgs e) { } 94 protected virtual void TypeParameter_ValueChanged(object sender, EventArgs e) { } 94 private void DimensionParameter_Value_ValueChanged(object sender, EventArgs e) { 95 DimensionOnChanged(); 96 } 97 98 protected virtual void DimensionOnChanged() { } 95 99 } 96 100 }
Note: See TracChangeset
for help on using the changeset viewer.