Changeset 11996 for trunk/sources/HeuristicLab.Optimization
- Timestamp:
- 02/12/15 21:49:06 (9 years ago)
- Location:
- trunk/sources/HeuristicLab.Optimization/3.3/BasicProblems
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Optimization/3.3/BasicProblems/BasicProblem.cs
r11982 r11996 67 67 Parameters.Add(new ValueParameter<TEncoding>("Encoding", "Describes the configuration of the encoding, what the variables are called, what type they are and their bounds if any.")); 68 68 oldEncoding = Encoding; 69 Parameterize(); 69 70 RegisterEvents(); 70 71 } … … 91 92 92 93 protected virtual void OnEncodingChanged() { 94 Parameterize(); 95 96 OnOperatorsChanged(); 97 OnReset(); 98 } 99 100 private void Parameterize() { 93 101 if (oldEncoding != null) { 94 102 AdaptEncodingOperators(oldEncoding, Encoding); … … 107 115 Encoding.SolutionCreator); 108 116 Parameters.Remove(SolutionCreatorParameter); 109 Parameters.Add(solutionCreatorParam); 110 ((IValueParameter)solutionCreatorParam).ValueChanged += SolutionCreatorParameter_ValueChanged; 117 Parameters.Add(solutionCreatorParam); 118 ((IValueParameter)solutionCreatorParam).ValueChanged += SolutionCreatorParameter_ValueChanged; 111 119 112 120 var multiEncoding = Encoding as MultiEncoding; 113 121 if (multiEncoding != null) multiEncoding.EncodingsChanged += MultiEncodingOnEncodingsChanged; 114 115 OnOperatorsChanged();116 OnReset();117 122 } 118 123 -
trunk/sources/HeuristicLab.Optimization/3.3/BasicProblems/MultiObjectiveBasicProblem.cs
r11970 r11996 41 41 protected MultiObjectiveBasicProblem() 42 42 : base() { 43 Parameters.Add(new ValueParameter<BoolArray>("Maximization", "Set to false if the problem should be minimized.", new BoolArray()));43 Parameters.Add(new ValueParameter<BoolArray>("Maximization", "Set to false if the problem should be minimized.", (BoolArray)new BoolArray(Maximization).AsReadOnly())); 44 44 45 45 Operators.Add(Evaluator); … … 57 57 public abstract double[] Evaluate(Individual individual, IRandom random); 58 58 public virtual void Analyze(Individual[] individuals, double[][] qualities, ResultCollection results, IRandom random) { } 59 60 protected override void OnEncodingChanged() {61 base.OnEncodingChanged();62 Parameters["Maximization"].ActualValue = new BoolArray(Maximization);63 }64 59 65 60 protected override void OnOperatorsChanged() { -
trunk/sources/HeuristicLab.Optimization/3.3/BasicProblems/SingleObjectiveBasicProblem.cs
r11990 r11996 59 59 protected SingleObjectiveBasicProblem() 60 60 : base() { 61 Parameters.Add(new FixedValueParameter<BoolValue>("Maximization", "Set to false if the problem should be minimized.", new BoolValue()));61 Parameters.Add(new FixedValueParameter<BoolValue>("Maximization", "Set to false if the problem should be minimized.", (BoolValue)new BoolValue(Maximization).AsReadOnly()) { Hidden = true }); 62 62 Parameters.Add(new OptionalValueParameter<DoubleValue>("BestKnownQuality", "The quality of the best known solution of this problem.")); 63 63 … … 82 82 public virtual IEnumerable<Individual> GetNeighbors(Individual individual, IRandom random) { 83 83 return Enumerable.Empty<Individual>(); 84 }85 86 87 protected override void OnEncodingChanged() {88 base.OnEncodingChanged();89 var max = (BoolValue)Parameters["Maximization"].ActualValue;90 max.Value = Maximization;91 84 } 92 85
Note: See TracChangeset
for help on using the changeset viewer.