Changeset 3661 for trunk/sources
- Timestamp:
- 05/06/10 02:00:55 (15 years ago)
- Location:
- trunk/sources
- Files:
-
- 1 deleted
- 5 edited
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Problems.TestFunctions.Views/3.3/SingleObjectiveTestFunctionSolutionView.Designer.cs
r3647 r3661 29 29 this.groupBox4 = new System.Windows.Forms.GroupBox(); 30 30 this.realVectorView = new HeuristicLab.MainForm.WindowsForms.ViewHost(); 31 this.tabControl1 = new System.Windows.Forms.TabControl(); 32 this.textualTabPage = new System.Windows.Forms.TabPage(); 33 this.graphicalTabPage = new System.Windows.Forms.TabPage(); 34 this.label1 = new System.Windows.Forms.Label(); 35 this.pictureBox = new System.Windows.Forms.PictureBox(); 31 36 this.splitContainer1.Panel1.SuspendLayout(); 32 37 this.splitContainer1.Panel2.SuspendLayout(); … … 34 39 this.groupBox3.SuspendLayout(); 35 40 this.groupBox4.SuspendLayout(); 41 this.tabControl1.SuspendLayout(); 42 this.textualTabPage.SuspendLayout(); 43 this.graphicalTabPage.SuspendLayout(); 44 ((System.ComponentModel.ISupportInitialize)(this.pictureBox)).BeginInit(); 36 45 this.SuspendLayout(); 37 46 // … … 44 53 this.qualityView.Name = "qualityView"; 45 54 this.qualityView.ReadOnly = false; 46 this.qualityView.Size = new System.Drawing.Size( 386, 31);55 this.qualityView.Size = new System.Drawing.Size(485, 31); 47 56 this.qualityView.TabIndex = 1; 48 57 this.qualityView.ViewType = null; … … 66 75 this.splitContainer1.Panel2.Controls.Add(this.groupBox4); 67 76 this.splitContainer1.Panel2MinSize = 30; 68 this.splitContainer1.Size = new System.Drawing.Size( 392, 265);77 this.splitContainer1.Size = new System.Drawing.Size(491, 304); 69 78 this.splitContainer1.TabIndex = 7; 70 79 // … … 75 84 this.groupBox3.Location = new System.Drawing.Point(0, 0); 76 85 this.groupBox3.Name = "groupBox3"; 77 this.groupBox3.Size = new System.Drawing.Size( 392, 50);86 this.groupBox3.Size = new System.Drawing.Size(491, 50); 78 87 this.groupBox3.TabIndex = 6; 79 88 this.groupBox3.TabStop = false; … … 86 95 this.groupBox4.Location = new System.Drawing.Point(0, 0); 87 96 this.groupBox4.Name = "groupBox4"; 88 this.groupBox4.Size = new System.Drawing.Size( 392, 211);97 this.groupBox4.Size = new System.Drawing.Size(491, 250); 89 98 this.groupBox4.TabIndex = 6; 90 99 this.groupBox4.TabStop = false; … … 99 108 this.realVectorView.Name = "realVectorView"; 100 109 this.realVectorView.ReadOnly = false; 101 this.realVectorView.Size = new System.Drawing.Size( 386, 192);110 this.realVectorView.Size = new System.Drawing.Size(485, 231); 102 111 this.realVectorView.TabIndex = 1; 103 112 this.realVectorView.ViewType = null; 104 113 // 114 // tabControl1 115 // 116 this.tabControl1.Controls.Add(this.textualTabPage); 117 this.tabControl1.Controls.Add(this.graphicalTabPage); 118 this.tabControl1.Dock = System.Windows.Forms.DockStyle.Fill; 119 this.tabControl1.Location = new System.Drawing.Point(0, 0); 120 this.tabControl1.Name = "tabControl1"; 121 this.tabControl1.SelectedIndex = 0; 122 this.tabControl1.Size = new System.Drawing.Size(505, 336); 123 this.tabControl1.TabIndex = 2; 124 // 125 // textualTabPage 126 // 127 this.textualTabPage.Controls.Add(this.splitContainer1); 128 this.textualTabPage.Location = new System.Drawing.Point(4, 22); 129 this.textualTabPage.Name = "textualTabPage"; 130 this.textualTabPage.Padding = new System.Windows.Forms.Padding(3); 131 this.textualTabPage.Size = new System.Drawing.Size(497, 310); 132 this.textualTabPage.TabIndex = 0; 133 this.textualTabPage.Text = "Textual"; 134 this.textualTabPage.UseVisualStyleBackColor = true; 135 // 136 // graphicalTabPage 137 // 138 this.graphicalTabPage.Controls.Add(this.pictureBox); 139 this.graphicalTabPage.Controls.Add(this.label1); 140 this.graphicalTabPage.Location = new System.Drawing.Point(4, 22); 141 this.graphicalTabPage.Name = "graphicalTabPage"; 142 this.graphicalTabPage.Padding = new System.Windows.Forms.Padding(3); 143 this.graphicalTabPage.Size = new System.Drawing.Size(497, 310); 144 this.graphicalTabPage.TabIndex = 1; 145 this.graphicalTabPage.Text = "Graphical"; 146 this.graphicalTabPage.UseVisualStyleBackColor = true; 147 // 148 // label1 149 // 150 this.label1.Anchor = System.Windows.Forms.AnchorStyles.None; 151 this.label1.AutoSize = true; 152 this.label1.Location = new System.Drawing.Point(118, 131); 153 this.label1.Name = "label1"; 154 this.label1.Size = new System.Drawing.Size(253, 13); 155 this.label1.TabIndex = 0; 156 this.label1.Text = "The graphical view is only available for 2 dimensions"; 157 // 158 // pictureBox 159 // 160 this.pictureBox.BackColor = System.Drawing.Color.White; 161 this.pictureBox.Dock = System.Windows.Forms.DockStyle.Fill; 162 this.pictureBox.Location = new System.Drawing.Point(0, 0); 163 this.pictureBox.Name = "pictureBox"; 164 this.pictureBox.Size = new System.Drawing.Size(491, 304); 165 this.pictureBox.TabIndex = 1; 166 this.pictureBox.TabStop = false; 167 // 105 168 // SingleObjectiveTestFunctionSolutionView 106 169 // 107 170 this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); 108 this.Controls.Add(this. splitContainer1);171 this.Controls.Add(this.tabControl1); 109 172 this.Name = "SingleObjectiveTestFunctionSolutionView"; 110 this.Size = new System.Drawing.Size( 392, 265);173 this.Size = new System.Drawing.Size(505, 336); 111 174 this.splitContainer1.Panel1.ResumeLayout(false); 112 175 this.splitContainer1.Panel2.ResumeLayout(false); … … 114 177 this.groupBox3.ResumeLayout(false); 115 178 this.groupBox4.ResumeLayout(false); 179 this.tabControl1.ResumeLayout(false); 180 this.textualTabPage.ResumeLayout(false); 181 this.graphicalTabPage.ResumeLayout(false); 182 this.graphicalTabPage.PerformLayout(); 183 ((System.ComponentModel.ISupportInitialize)(this.pictureBox)).EndInit(); 116 184 this.ResumeLayout(false); 117 185 … … 125 193 private System.Windows.Forms.GroupBox groupBox3; 126 194 protected HeuristicLab.MainForm.WindowsForms.ViewHost realVectorView; 195 private System.Windows.Forms.TabControl tabControl1; 196 private System.Windows.Forms.TabPage textualTabPage; 197 private System.Windows.Forms.TabPage graphicalTabPage; 198 private System.Windows.Forms.Label label1; 199 private System.Windows.Forms.PictureBox pictureBox; 127 200 128 201 -
trunk/sources/HeuristicLab.Problems.TestFunctions.Views/3.3/SingleObjectiveTestFunctionSolutionView.cs
r3649 r3661 31 31 namespace HeuristicLab.Problems.TestFunctions.Views { 32 32 /// <summary> 33 /// A view for a OneMaxsolution.33 /// A view for a SingleObjectiveTestFunctions solution. 34 34 /// </summary> 35 [View(" OneMaxView")]35 [View("Single Objective Test Functions View")] 36 36 [Content(typeof(SingleObjectiveTestFunctionSolution), true)] 37 37 public partial class SingleObjectiveTestFunctionSolutionView : HeuristicLab.Core.Views.ItemView { … … 64 64 else { 65 65 qualityView.ViewType = null; 66 qualityView.Content = Content. Quality;66 qualityView.Content = Content.BestQuality; 67 67 } 68 68 } … … 73 73 else { 74 74 realVectorView.ViewType = null; 75 realVectorView.Content = Content.RealVector; 75 realVectorView.Content = Content.BestRealVector; 76 pictureBox.Visible = Content.BestRealVector.Length == 2; 76 77 } 77 78 } … … 85 86 } else { 86 87 qualityView.ViewType = null; 87 qualityView.Content = Content. Quality;88 qualityView.Content = Content.BestQuality; 88 89 89 90 realVectorView.ViewType = null; 90 realVectorView.Content = Content.RealVector; 91 realVectorView.Content = Content.BestRealVector; 92 93 pictureBox.Visible = Content.BestRealVector.Length == 2; 91 94 } 92 95 -
trunk/sources/HeuristicLab.Problems.TestFunctions/3.3/Analyzers/BestSingleObjectiveTestFunctionSolutionAnalyzer.cs
r3660 r3661 36 36 /// An operator for analyzing the best solution for a SingleObjectiveTestFunction problem. 37 37 /// </summary> 38 [Item(" PopulationBestSingleObjectiveTestFunctionSolutionAnalyzer", "An operator for analyzing the best solution for a SingleObjectiveTestFunction problem.")]38 [Item("BestSingleObjectiveTestFunctionSolutionAnalyzer", "An operator for analyzing the best solution for a SingleObjectiveTestFunction problem.")] 39 39 [StorableClass] 40 class PopulationBestSingleObjectiveTestFunctionSolutionAnalyzer : SingleSuccessorOperator, IBestSingleObjectiveTestFunctionSolutionAnalyzer, IAnalyzer {40 class BestSingleObjectiveTestFunctionSolutionAnalyzer : SingleSuccessorOperator, IBestSingleObjectiveTestFunctionSolutionAnalyzer, IAnalyzer { 41 41 42 public ILookupParameter<ItemArray<RealVector>> RealVectorParameter {43 get { return ( ILookupParameter<ItemArray<RealVector>>)Parameters["RealVector"]; }42 public ScopeTreeLookupParameter<RealVector> RealVectorParameter { 43 get { return (ScopeTreeLookupParameter<RealVector>)Parameters["RealVector"]; } 44 44 } 45 45 ILookupParameter IBestSingleObjectiveTestFunctionSolutionAnalyzer.RealVectorParameter { 46 46 get { return RealVectorParameter; } 47 47 } 48 public ILookupParameter<ItemArray<DoubleValue>> QualityParameter {49 get { return ( ILookupParameter<ItemArray<DoubleValue>>)Parameters["Quality"]; }48 public ScopeTreeLookupParameter<DoubleValue> QualityParameter { 49 get { return (ScopeTreeLookupParameter<DoubleValue>)Parameters["Quality"]; } 50 50 } 51 51 ILookupParameter IBestSingleObjectiveTestFunctionSolutionAnalyzer.QualityParameter { … … 58 58 get { return (IValueLookupParameter<ResultCollection>)Parameters["Results"]; } 59 59 } 60 public IValueLookupParameter<ISingleObjectiveTestFunctionProblemEvaluator> EvaluatorParameter { 61 get { return (IValueLookupParameter<ISingleObjectiveTestFunctionProblemEvaluator>)Parameters["Evaluator"]; } 62 } 60 63 61 public PopulationBestSingleObjectiveTestFunctionSolutionAnalyzer()64 public BestSingleObjectiveTestFunctionSolutionAnalyzer() 62 65 : base() { 63 66 Parameters.Add(new ScopeTreeLookupParameter<RealVector>("RealVector", "The SingleObjectiveTestFunction solutions from which the best solution should be visualized.")); 64 65 67 Parameters.Add(new ScopeTreeLookupParameter<DoubleValue>("Quality", "The qualities of the SingleObjectiveTestFunction solutions which should be visualized.")); 66 68 Parameters.Add(new LookupParameter<SingleObjectiveTestFunctionSolution>("BestSolution", "The best SingleObjectiveTestFunction solution.")); 67 69 Parameters.Add(new ValueLookupParameter<ResultCollection>("Results", "The result collection where the SingleObjectiveTestFunction solution should be stored.")); 70 Parameters.Add(new ValueLookupParameter<ISingleObjectiveTestFunctionProblemEvaluator>("Evaluator", "The evaluator with which the solution is evaluated.")); 68 71 } 69 72 70 73 public override IOperation Apply() { 71 ItemArray<RealVector> RealVectors = RealVectorParameter.ActualValue;74 ItemArray<RealVector> realVectors = RealVectorParameter.ActualValue; 72 75 ItemArray<DoubleValue> qualities = QualityParameter.ActualValue; 73 76 ResultCollection results = ResultsParameter.ActualValue; 77 ISingleObjectiveTestFunctionProblemEvaluator evaluator = EvaluatorParameter.ActualValue; 74 78 75 79 int i = qualities.Select((x, index) => new { index, x.Value }).OrderBy(x => x.Value).First().index; 76 80 SingleObjectiveTestFunctionSolution solution = BestSolutionParameter.ActualValue; 77 81 if (solution == null) { 78 solution = new SingleObjectiveTestFunctionSolution(RealVectors[i], QualityParameter.ActualValue[i]); 82 solution = new SingleObjectiveTestFunctionSolution(realVectors[i], qualities[i], evaluator); 83 solution.Population = realVectors; 79 84 BestSolutionParameter.ActualValue = solution; 80 85 81 86 results.Add(new Result("Best SingleObjectiveTestFunction Solution", solution)); 82 87 } else { 83 solution.RealVector = RealVectors[i]; 84 solution.Quality = QualityParameter.ActualValue[i]; 88 if (evaluator.Maximization && qualities[i].Value > solution.BestQuality.Value 89 || !evaluator.Maximization && qualities[i].Value < solution.BestQuality.Value) { 90 solution.BestRealVector = realVectors[i]; 91 solution.BestQuality = qualities[i]; 92 } 93 solution.Population = realVectors; 85 94 86 results["Best SingleObjectiveTestFunction Solution"].Value = solution;95 //results["Best SingleObjectiveTestFunction Solution"].Value = solution; 87 96 } 88 97 -
trunk/sources/HeuristicLab.Problems.TestFunctions/3.3/HeuristicLab.Problems.TestFunctions-3.3.csproj
r3647 r3661 84 84 </ItemGroup> 85 85 <ItemGroup> 86 <Compile Include="Analyzers\BestSingleObjectiveTestFunctionSolutionAnalyzer.cs" />87 <Compile Include="Analyzers\MultiPopulationBestSingleObjectiveTestFunctionSolutionAnalyzer.cs" />88 < Compile Include="Analyzers\PopulationBestSingleObjectiveTestFunctionSolutionAnalyzer.cs" />86 <Compile Include="Analyzers\BestSingleObjectiveTestFunctionSolutionAnalyzer.cs"> 87 <SubType>Code</SubType> 88 </Compile> 89 89 <Compile Include="Evaluators\AckleyEvaluator.cs" /> 90 90 <Compile Include="Evaluators\BealeEvaluator.cs" /> -
trunk/sources/HeuristicLab.Problems.TestFunctions/3.3/SingleObjectiveTestFunctionProblem.cs
r3647 r3661 286 286 operators = new List<IOperator>(); 287 287 operators.Add(new BestSingleObjectiveTestFunctionSolutionAnalyzer()); 288 operators.Add(new PopulationBestSingleObjectiveTestFunctionSolutionAnalyzer());289 operators.Add(new MultiPopulationBestSingleObjectiveTestFunctionSolutionAnalyzer());290 288 ParameterizeAnalyzers(); 291 289 operators.AddRange(ApplicationManager.Manager.GetInstances<IRealVectorOperator>().Cast<IOperator>()); -
trunk/sources/HeuristicLab.Problems.TestFunctions/3.3/SingleObjectiveTestFunctionSolution.cs
r3647 r3661 21 21 22 22 using System; 23 using System. Collections.Generic;24 using System.Linq;25 using System.Text;23 using System.Drawing; 24 using HeuristicLab.Collections; 25 using HeuristicLab.Common; 26 26 using HeuristicLab.Core; 27 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;28 using System.Drawing;29 27 using HeuristicLab.Data; 30 28 using HeuristicLab.Encodings.RealVectorEncoding; 31 using HeuristicLab. Common;29 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 32 30 33 31 namespace HeuristicLab.Problems.TestFunctions { … … 43 41 44 42 [Storable] 45 private RealVector realVector; 46 public RealVector RealVector { 47 get { return realVector; } 48 set { 49 if (realVector != value) { 50 if (realVector != null) DeregisterRealVectorEvents(); 51 realVector = value; 52 if (realVector != null) RegisterRealVectorEvents(); 43 private RealVector bestKnownRealVector; 44 public RealVector BestKnownRealVector { 45 get { return bestKnownRealVector; } 46 set { 47 if (bestKnownRealVector != value) { 48 if (bestKnownRealVector != null) DeregisterBestKnownRealVectorEvents(); 49 bestKnownRealVector = value; 50 if (bestKnownRealVector != null) RegisterBestKnownRealVectorEvents(); 51 OnBestKnownRealVectorChanged(); 52 } 53 } 54 } 55 56 [Storable] 57 private RealVector bestRealVector; 58 public RealVector BestRealVector { 59 get { return bestRealVector; } 60 set { 61 if (bestRealVector != value) { 62 if (bestRealVector != null) DeregisterRealVectorEvents(); 63 bestRealVector = value; 64 if (bestRealVector != null) RegisterRealVectorEvents(); 53 65 OnRealVectorChanged(); 54 66 } … … 57 69 58 70 [Storable] 59 private DoubleValue quality;60 public DoubleValue Quality {61 get { return quality; }62 set { 63 if ( quality != value) {64 if ( quality != null) DeregisterQualityEvents();65 quality = value;66 if ( quality != null) RegisterQualityEvents();71 private DoubleValue bestQuality; 72 public DoubleValue BestQuality { 73 get { return bestQuality; } 74 set { 75 if (bestQuality != value) { 76 if (bestQuality != null) DeregisterQualityEvents(); 77 bestQuality = value; 78 if (bestQuality != null) RegisterQualityEvents(); 67 79 OnQualityChanged(); 68 80 } … … 70 82 } 71 83 84 [Storable] 85 private ItemArray<RealVector> population; 86 public ItemArray<RealVector> Population { 87 get { return population; } 88 set { 89 if (population != value) { 90 if (population != null) DeregisterPopulationEvents(); 91 population = value; 92 if (population != null) RegisterPopulationEvents(); 93 OnPopulationChanged(); 94 } 95 } 96 } 97 98 [Storable] 99 private ISingleObjectiveTestFunctionProblemEvaluator evaluator; 100 public ISingleObjectiveTestFunctionProblemEvaluator Evaluator { 101 get { return evaluator; } 102 set { 103 if (evaluator != value) { 104 evaluator = value; 105 OnEvaluatorChanged(); 106 } 107 } 108 } 109 110 private Image fitnessLandscape; 111 public Image FitnessLandscape { 112 get { return fitnessLandscape; } 113 set { fitnessLandscape = value; } 114 } 115 72 116 public SingleObjectiveTestFunctionSolution() : base() { } 73 public SingleObjectiveTestFunctionSolution(RealVector realVector, DoubleValue quality )117 public SingleObjectiveTestFunctionSolution(RealVector realVector, DoubleValue quality, ISingleObjectiveTestFunctionProblemEvaluator evaluator) 74 118 : base() { 75 this.realVector = realVector; 76 this.quality = quality; 119 this.bestRealVector = realVector; 120 this.bestQuality = quality; 121 this.evaluator = evaluator; 77 122 Initialize(); 78 123 } … … 82 127 [StorableHook(HookType.AfterDeserialization)] 83 128 private void Initialize() { 84 if (realVector != null) RegisterRealVectorEvents(); 85 if (quality != null) RegisterQualityEvents(); 129 if (bestKnownRealVector != null) RegisterBestKnownRealVectorEvents(); 130 if (bestRealVector != null) RegisterRealVectorEvents(); 131 if (bestQuality != null) RegisterQualityEvents(); 132 if (population != null) RegisterPopulationEvents(); 86 133 } 87 134 … … 89 136 SingleObjectiveTestFunctionSolution clone = new SingleObjectiveTestFunctionSolution(); 90 137 cloner.RegisterClonedObject(this, clone); 91 clone.realVector = (RealVector)cloner.Clone(realVector); 92 clone.quality = (DoubleValue)cloner.Clone(quality); 138 clone.bestKnownRealVector = (RealVector)cloner.Clone(bestKnownRealVector); 139 clone.bestRealVector = (RealVector)cloner.Clone(bestRealVector); 140 clone.bestQuality = (DoubleValue)cloner.Clone(bestQuality); 141 clone.population = (ItemArray<RealVector>)cloner.Clone(population); 142 clone.evaluator = (ISingleObjectiveTestFunctionProblemEvaluator)cloner.Clone(evaluator); 143 clone.fitnessLandscape = null; 93 144 clone.Initialize(); 94 145 return clone; … … 96 147 97 148 #region Events 149 public event EventHandler BestKnownRealVectorChanged; 150 private void OnBestKnownRealVectorChanged() { 151 var changed = BestKnownRealVectorChanged; 152 if (changed != null) 153 changed(this, EventArgs.Empty); 154 } 155 98 156 public event EventHandler RealVectorChanged; 99 157 private void OnRealVectorChanged() { … … 110 168 } 111 169 170 public event EventHandler PopulationChanged; 171 private void OnPopulationChanged() { 172 var changed = PopulationChanged; 173 if (changed != null) 174 changed(this, EventArgs.Empty); 175 } 176 177 public event EventHandler EvaluatorChanged; 178 private void OnEvaluatorChanged() { 179 var changed = EvaluatorChanged; 180 if (changed != null) 181 changed(this, EventArgs.Empty); 182 } 183 184 private void RegisterBestKnownRealVectorEvents() { 185 BestKnownRealVector.ItemChanged += new EventHandler<EventArgs<int>>(BestKnownRealVector_ItemChanged); 186 BestKnownRealVector.Reset += new EventHandler(BestKnownRealVector_Reset); 187 } 188 private void DeregisterBestKnownRealVectorEvents() { 189 BestKnownRealVector.ItemChanged -= new EventHandler<EventArgs<int>>(BestKnownRealVector_ItemChanged); 190 BestKnownRealVector.Reset -= new EventHandler(BestKnownRealVector_Reset); 191 } 112 192 private void RegisterRealVectorEvents() { 113 RealVector.ItemChanged += new EventHandler<EventArgs<int>>(RealVector_ItemChanged); 114 RealVector.Reset += new EventHandler(RealVector_Reset); 115 } 116 193 BestRealVector.ItemChanged += new EventHandler<EventArgs<int>>(RealVector_ItemChanged); 194 BestRealVector.Reset += new EventHandler(RealVector_Reset); 195 } 117 196 private void DeregisterRealVectorEvents() { 118 RealVector.ItemChanged -= new EventHandler<EventArgs<int>>(RealVector_ItemChanged);119 RealVector.Reset -= new EventHandler(RealVector_Reset);197 BestRealVector.ItemChanged -= new EventHandler<EventArgs<int>>(RealVector_ItemChanged); 198 BestRealVector.Reset -= new EventHandler(RealVector_Reset); 120 199 } 121 200 private void RegisterQualityEvents() { 122 Quality.ValueChanged += new EventHandler(Quality_ValueChanged);201 BestQuality.ValueChanged += new EventHandler(Quality_ValueChanged); 123 202 } 124 203 private void DeregisterQualityEvents() { 125 Quality.ValueChanged -= new EventHandler(Quality_ValueChanged); 126 } 127 204 BestQuality.ValueChanged -= new EventHandler(Quality_ValueChanged); 205 } 206 private void RegisterPopulationEvents() { 207 Population.CollectionReset += new CollectionItemsChangedEventHandler<IndexedItem<RealVector>>(Population_CollectionReset); 208 Population.ItemsMoved += new CollectionItemsChangedEventHandler<IndexedItem<RealVector>>(Population_ItemsMoved); 209 Population.ItemsReplaced += new CollectionItemsChangedEventHandler<IndexedItem<RealVector>>(Population_ItemsReplaced); 210 } 211 private void DeregisterPopulationEvents() { 212 Population.CollectionReset -= new CollectionItemsChangedEventHandler<IndexedItem<RealVector>>(Population_CollectionReset); 213 Population.ItemsMoved -= new CollectionItemsChangedEventHandler<IndexedItem<RealVector>>(Population_ItemsMoved); 214 Population.ItemsReplaced -= new CollectionItemsChangedEventHandler<IndexedItem<RealVector>>(Population_ItemsReplaced); 215 } 216 217 private void BestKnownRealVector_ItemChanged(object sender, EventArgs<int> e) { 218 OnBestKnownRealVectorChanged(); 219 } 220 private void BestKnownRealVector_Reset(object sender, EventArgs e) { 221 OnBestKnownRealVectorChanged(); 222 } 128 223 private void RealVector_ItemChanged(object sender, EventArgs<int> e) { 129 224 OnRealVectorChanged(); … … 134 229 private void Quality_ValueChanged(object sender, EventArgs e) { 135 230 OnQualityChanged(); 231 } 232 private void Population_ItemsReplaced(object sender, CollectionItemsChangedEventArgs<IndexedItem<RealVector>> e) { 233 OnPopulationChanged(); 234 } 235 private void Population_ItemsMoved(object sender, CollectionItemsChangedEventArgs<IndexedItem<RealVector>> e) { 236 OnPopulationChanged(); 237 } 238 private void Population_CollectionReset(object sender, CollectionItemsChangedEventArgs<IndexedItem<RealVector>> e) { 239 OnPopulationChanged(); 136 240 } 137 241 #endregion
Note: See TracChangeset
for help on using the changeset viewer.