Changeset 5212 for branches/HeuristicLab.MetaOptimization/HeuristicLab.Problems.MetaOptimization/3.3/Encoding/ParameterConfigurationTree.cs
- Timestamp:
- 01/05/11 02:03:20 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HeuristicLab.MetaOptimization/HeuristicLab.Problems.MetaOptimization/3.3/Encoding/ParameterConfigurationTree.cs
r5207 r5212 14 14 [StorableClass] 15 15 public class ParameterConfigurationTree : ValueConfiguration, IEnumerable { 16 [Storable] 17 private DoubleValue bestQuality; 18 public DoubleValue BestQuality { 19 get { return bestQuality; } 16 17 [Storable] 18 private DoubleValue averageQualityNormalized; 19 public DoubleValue AverageQualityNormalized { 20 get { return averageQualityNormalized; } 20 21 set { 21 if (bestQuality != value) { 22 if (bestQuality != null) DeregisterQualityEvents(); 23 bestQuality = value; 24 if (bestQuality != null) RegisterQualityEvents(); 22 if (averageQualityNormalized != value) { 23 averageQualityNormalized = value; 25 24 OnQualityChanged(); 26 25 } … … 29 28 30 29 [Storable] 31 private DoubleValue averageQuality; 32 public DoubleValue AverageQuality { 33 get { return averageQuality; } 34 set { averageQuality = value; } 35 } 36 37 [Storable] 38 private DoubleValue worstQuality; 39 public DoubleValue WorstQuality { 40 get { return worstQuality; } 41 set { worstQuality = value; } 42 } 43 44 [Storable] 45 private DoubleValue qualityVariance; 46 public DoubleValue QualityVariance { 47 get { return qualityVariance; } 48 set { qualityVariance = value; } 49 } 50 51 [Storable] 52 private DoubleValue qualityStandardDeviation; 53 public DoubleValue QualityStandardDeviation { 54 get { return qualityStandardDeviation; } 55 set { qualityStandardDeviation = value; } 56 } 57 58 [Storable] 59 private TimeSpanValue averageExecutionTime; 60 public TimeSpanValue AverageExecutionTime { 61 get { return averageExecutionTime; } 62 set { averageExecutionTime = value; } 30 private DoubleArray qualitiesNormalized; 31 public DoubleArray QualitiesNormalized { 32 get { return qualitiesNormalized; } 33 set { 34 if (qualitiesNormalized != value) { 35 qualitiesNormalized = value; 36 } 37 } 38 } 39 40 [Storable] 41 private DoubleArray bestQualities; 42 public DoubleArray BestQualities { 43 get { return bestQualities; } 44 set { 45 if (bestQualities != value) { 46 bestQualities = value; 47 } 48 } 49 } 50 51 [Storable] 52 private DoubleArray averageQualities; 53 public DoubleArray AverageQualities { 54 get { return averageQualities; } 55 set { averageQualities = value; } 56 } 57 58 [Storable] 59 private DoubleArray worstQualities; 60 public DoubleArray WorstQualities { 61 get { return worstQualities; } 62 set { worstQualities = value; } 63 } 64 65 [Storable] 66 private DoubleArray qualityVariances; 67 public DoubleArray QualityVariances { 68 get { return qualityVariances; } 69 set { qualityVariances = value; } 70 } 71 72 [Storable] 73 private DoubleArray qualityStandardDeviations; 74 public DoubleArray QualityStandardDeviations { 75 get { return qualityStandardDeviations; } 76 set { qualityStandardDeviations = value; } 77 } 78 79 [Storable] 80 private ItemList<TimeSpanValue> averageExecutionTimes; 81 public ItemList<TimeSpanValue> AverageExecutionTimes { 82 get { return averageExecutionTimes; } 83 set { averageExecutionTimes = value; } 63 84 } 64 85 … … 88 109 : base(null, algorithm.GetType()) { 89 110 this.Optimize = true; // root must always be optimized 90 this.BestQuality = new DoubleValue();91 111 this.parameters = new Dictionary<string, IItem>(); 92 112 93 113 PopulateParameterConfigurations(algorithm); 94 Initialize();95 114 } 96 115 public ParameterConfigurationTree() { 97 Initialize();98 116 } 99 117 [StorableConstructor] … … 101 119 protected ParameterConfigurationTree(ParameterConfigurationTree original, Cloner cloner) 102 120 : base(original, cloner) { 103 this.bestQualit y = cloner.Clone(original.BestQuality);104 this.averageQualit y = cloner.Clone(original.averageQuality);105 this.worstQualit y = cloner.Clone(original.worstQuality);106 this.qualityStandardDeviation = cloner.Clone(original.qualityStandardDeviation);107 this.qualityVariance = cloner.Clone(original.qualityVariance);108 this.averageExecutionTime = cloner.Clone(original.averageExecutionTime);121 this.bestQualities = cloner.Clone(original.BestQualities); 122 this.averageQualities = cloner.Clone(original.averageQualities); 123 this.worstQualities = cloner.Clone(original.worstQualities); 124 this.qualityStandardDeviations = cloner.Clone(original.qualityStandardDeviations); 125 this.qualityVariances = cloner.Clone(original.qualityVariances); 126 this.averageExecutionTimes = cloner.Clone(original.averageExecutionTimes); 109 127 this.repetitions = cloner.Clone(original.repetitions); 110 128 this.runs = cloner.Clone(original.runs); … … 113 131 this.parameters.Add(p.Key, cloner.Clone(p.Value)); 114 132 } 115 Initialize();116 133 } 117 134 public override IDeepCloneable Clone(Cloner cloner) { … … 120 137 [StorableHook(HookType.AfterDeserialization)] 121 138 private void AfterDeserialization() { 122 Initialize();123 139 } 124 140 #endregion 125 141 126 private void Initialize() {127 //if (algorithm != null) RegisterAlgorithmEvents();128 if (bestQuality != null) RegisterQualityEvents();129 }130 131 142 public virtual void CollectResultValues(IDictionary<string, IItem> values) { 132 values.Add("RunsAverageExecutionTime ", AverageExecutionTime);143 values.Add("RunsAverageExecutionTimes", AverageExecutionTimes); 133 144 values.Add("Repetitions", Repetitions); 134 values.Add("RunsBestQuality", BestQuality); 135 values.Add("RunsAverageQuality", AverageQuality); 136 values.Add("RunsWorstQuality", WorstQuality); 137 values.Add("RunsQualityVariance", QualityVariance); 138 values.Add("RunsQualityStandardDeviation", QualityStandardDeviation); 145 values.Add("RunsBestQualities", BestQualities); 146 values.Add("RunsAverageQualities", AverageQualities); 147 values.Add("RunsWorstQualities", WorstQualities); 148 values.Add("RunsQualityVariances", QualityVariances); 149 values.Add("RunsQualityStandardDeviations", QualityStandardDeviations); 150 values.Add("QualitiesNormalized", QualitiesNormalized); 151 values.Add("AverageQualityNormalized", AverageQualityNormalized); 139 152 values.Add("Runs", Runs); 140 153 } … … 147 160 148 161 #region Events 149 //public event EventHandler AlgorithmChanged;150 //private void OnAlgorithmChanged() {151 // var handler = AlgorithmChanged;152 // if (handler != null) handler(this, EventArgs.Empty);153 //}154 162 public event EventHandler QualityChanged; 155 163 private void OnQualityChanged() { 156 164 var handler = QualityChanged; 157 165 if (handler != null) handler(this, EventArgs.Empty); 158 }159 160 //private void RegisterAlgorithmEvents() {161 162 //}163 //private void DeregisterAlgorithmEvents() {164 165 //}166 private void RegisterQualityEvents() {167 BestQuality.ValueChanged += new EventHandler(Quality_ValueChanged);168 }169 private void DeregisterQualityEvents() {170 BestQuality.ValueChanged -= new EventHandler(Quality_ValueChanged);171 166 } 172 167
Note: See TracChangeset
for help on using the changeset viewer.