Changeset 3658
- Timestamp:
- 05/05/10 23:27:50 (15 years ago)
- Location:
- trunk/sources
- Files:
-
- 3 deleted
- 38 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Algorithms.GeneticAlgorithm/3.3/GeneticAlgorithm.cs
r3618 r3658 78 78 get { return (ValueParameter<IntValue>)Parameters["Elites"]; } 79 79 } 80 private ValueParameter<MultiAnalyzer <IPopulationAnalyzer>> AnalyzerParameter {81 get { return (ValueParameter<MultiAnalyzer <IPopulationAnalyzer>>)Parameters["Analyzer"]; }80 private ValueParameter<MultiAnalyzer> AnalyzerParameter { 81 get { return (ValueParameter<MultiAnalyzer>)Parameters["Analyzer"]; } 82 82 } 83 83 private ValueParameter<IntValue> MaximumGenerationsParameter { … … 119 119 set { ElitesParameter.Value = value; } 120 120 } 121 public MultiAnalyzer <IPopulationAnalyzer>Analyzer {121 public MultiAnalyzer Analyzer { 122 122 get { return AnalyzerParameter.Value; } 123 123 set { AnalyzerParameter.Value = value; } … … 153 153 Parameters.Add(new OptionalConstrainedValueParameter<IManipulator>("Mutator", "The operator used to mutate solutions.")); 154 154 Parameters.Add(new ValueParameter<IntValue>("Elites", "The numer of elite solutions which are kept in each generation.", new IntValue(1))); 155 Parameters.Add(new ValueParameter<MultiAnalyzer <IPopulationAnalyzer>>("Analyzer", "The operator used to analyze each generation.", new MultiAnalyzer<IPopulationAnalyzer>()));155 Parameters.Add(new ValueParameter<MultiAnalyzer>("Analyzer", "The operator used to analyze each generation.", new MultiAnalyzer())); 156 156 Parameters.Add(new ValueParameter<IntValue>("MaximumGenerations", "The maximum number of generations which should be processed.", new IntValue(1000))); 157 157 … … 353 353 Analyzer.Operators.Add(qualityAnalyzer); 354 354 if (Problem != null) { 355 foreach (I PopulationAnalyzer analyzer in Problem.Operators.OfType<IPopulationAnalyzer>().OrderBy(x => x.Name))355 foreach (IAnalyzer analyzer in Problem.Operators.OfType<IAnalyzer>().OrderBy(x => x.Name)) 356 356 Analyzer.Operators.Add(analyzer); 357 357 } -
trunk/sources/HeuristicLab.Algorithms.GeneticAlgorithm/3.3/IslandGeneticAlgorithm.cs
r3650 r3658 104 104 get { return (ValueParameter<BoolValue>)Parameters["Parallel"]; } 105 105 } 106 private ValueParameter<MultiAnalyzer <IMultiPopulationAnalyzer>> AnalyzerParameter {107 get { return (ValueParameter<MultiAnalyzer <IMultiPopulationAnalyzer>>)Parameters["Analyzer"]; }108 } 109 private ValueParameter<MultiAnalyzer <IPopulationAnalyzer>> IslandAnalyzerParameter {110 get { return (ValueParameter<MultiAnalyzer <IPopulationAnalyzer>>)Parameters["IslandAnalyzer"]; }106 private ValueParameter<MultiAnalyzer> AnalyzerParameter { 107 get { return (ValueParameter<MultiAnalyzer>)Parameters["Analyzer"]; } 108 } 109 private ValueParameter<MultiAnalyzer> IslandAnalyzerParameter { 110 get { return (ValueParameter<MultiAnalyzer>)Parameters["IslandAnalyzer"]; } 111 111 } 112 112 #endregion … … 177 177 set { ParallelParameter.Value = value; } 178 178 } 179 public MultiAnalyzer <IMultiPopulationAnalyzer>Analyzer {179 public MultiAnalyzer Analyzer { 180 180 get { return AnalyzerParameter.Value; } 181 181 set { AnalyzerParameter.Value = value; } 182 182 } 183 public MultiAnalyzer <IPopulationAnalyzer>IslandAnalyzer {183 public MultiAnalyzer IslandAnalyzer { 184 184 get { return IslandAnalyzerParameter.Value; } 185 185 set { IslandAnalyzerParameter.Value = value; } … … 228 228 Parameters.Add(new ValueParameter<IntValue>("Elites", "The numer of elite solutions which are kept in each generation.", new IntValue(1))); 229 229 Parameters.Add(new ValueParameter<BoolValue>("Parallel", "True if the islands should be run in parallel (also requires a parallel engine)", new BoolValue(false))); 230 Parameters.Add(new ValueParameter<MultiAnalyzer <IMultiPopulationAnalyzer>>("Analyzer", "The operator used to analyze the islands.", new MultiAnalyzer<IMultiPopulationAnalyzer>()));231 Parameters.Add(new ValueParameter<MultiAnalyzer <IPopulationAnalyzer>>("IslandAnalyzer", "The operator used to analyze each island.", new MultiAnalyzer<IPopulationAnalyzer>()));230 Parameters.Add(new ValueParameter<MultiAnalyzer>("Analyzer", "The operator used to analyze the islands.", new MultiAnalyzer())); 231 Parameters.Add(new ValueParameter<MultiAnalyzer>("IslandAnalyzer", "The operator used to analyze each island.", new MultiAnalyzer())); 232 232 233 233 RandomCreator randomCreator = new RandomCreator(); … … 513 513 //Analyzer.Operators.Add(qualityAnalyzer); 514 514 if (Problem != null) { 515 foreach (I PopulationAnalyzer analyzer in Problem.Operators.OfType<IPopulationAnalyzer>().OrderBy(x => x.Name)) {515 foreach (IAnalyzer analyzer in Problem.Operators.OfType<IAnalyzer>().OrderBy(x => x.Name)) { 516 516 IslandAnalyzer.Operators.Add(analyzer); 517 517 } 518 foreach (I MultiPopulationAnalyzer analyzer in Problem.Operators.OfType<IMultiPopulationAnalyzer>().OrderBy(x => x.Name))518 foreach (IAnalyzer analyzer in Problem.Operators.OfType<IAnalyzer>().OrderBy(x => x.Name)) 519 519 Analyzer.Operators.Add(analyzer); 520 520 } -
trunk/sources/HeuristicLab.Algorithms.LocalSearch/3.3/LocalSearch.cs
r3636 r3658 72 72 get { return (ValueParameter<IntValue>)Parameters["SampleSize"]; } 73 73 } 74 private ValueParameter<MultiAnalyzer <IPopulationAnalyzer>> MoveAnalyzerParameter {75 get { return (ValueParameter<MultiAnalyzer <IPopulationAnalyzer>>)Parameters["MoveAnalyzer"]; }76 } 77 private ValueParameter<MultiAnalyzer <ISolutionAnalyzer>> AnalyzerParameter {78 get { return (ValueParameter<MultiAnalyzer <ISolutionAnalyzer>>)Parameters["Analyzer"]; }74 private ValueParameter<MultiAnalyzer> MoveAnalyzerParameter { 75 get { return (ValueParameter<MultiAnalyzer>)Parameters["MoveAnalyzer"]; } 76 } 77 private ValueParameter<MultiAnalyzer> AnalyzerParameter { 78 get { return (ValueParameter<MultiAnalyzer>)Parameters["Analyzer"]; } 79 79 } 80 80 #endregion … … 109 109 set { SampleSizeParameter.Value = value; } 110 110 } 111 public MultiAnalyzer <IPopulationAnalyzer>MoveAnalyzer {111 public MultiAnalyzer MoveAnalyzer { 112 112 get { return MoveAnalyzerParameter.Value; } 113 113 set { MoveAnalyzerParameter.Value = value; } 114 114 } 115 public MultiAnalyzer <ISolutionAnalyzer>Analyzer {115 public MultiAnalyzer Analyzer { 116 116 get { return AnalyzerParameter.Value; } 117 117 set { AnalyzerParameter.Value = value; } … … 140 140 Parameters.Add(new ValueParameter<IntValue>("MaximumIterations", "The maximum number of generations which should be processed.", new IntValue(1000))); 141 141 Parameters.Add(new ValueParameter<IntValue>("SampleSize", "Number of moves that MultiMoveGenerators should create. This is ignored for Exhaustive- and SingleMoveGenerators.", new IntValue(100))); 142 Parameters.Add(new ValueParameter<MultiAnalyzer <IPopulationAnalyzer>>("MoveAnalyzer", "The operator used to analyze the moves.", new MultiAnalyzer<IPopulationAnalyzer>()));143 Parameters.Add(new ValueParameter<MultiAnalyzer <ISolutionAnalyzer>>("Analyzer", "The operator used to analyze the solution.", new MultiAnalyzer<ISolutionAnalyzer>()));142 Parameters.Add(new ValueParameter<MultiAnalyzer>("MoveAnalyzer", "The operator used to analyze the moves.", new MultiAnalyzer())); 143 Parameters.Add(new ValueParameter<MultiAnalyzer>("Analyzer", "The operator used to analyze the solution.", new MultiAnalyzer())); 144 144 145 145 RandomCreator randomCreator = new RandomCreator(); … … 319 319 MoveAnalyzer.Operators.Add(moveQualityAnalyzer); 320 320 if (Problem != null) { 321 foreach (I SolutionAnalyzer analyzer in Problem.Operators.OfType<ISolutionAnalyzer>().OrderBy(x => x.Name))321 foreach (IAnalyzer analyzer in Problem.Operators.OfType<IAnalyzer>().OrderBy(x => x.Name)) 322 322 Analyzer.Operators.Add(analyzer); 323 323 } -
trunk/sources/HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm/3.3/IslandOffspringSelectionGeneticAlgorithm.cs
r3654 r3658 121 121 get { return (ValueLookupParameter<BoolValue>)Parameters["OffspringSelectionBeforeMutation"]; } 122 122 } 123 private ValueParameter<MultiAnalyzer <IMultiPopulationAnalyzer>> AnalyzerParameter {124 get { return (ValueParameter<MultiAnalyzer <IMultiPopulationAnalyzer>>)Parameters["Analyzer"]; }125 } 126 private ValueParameter<MultiAnalyzer <IPopulationAnalyzer>> IslandAnalyzerParameter {127 get { return (ValueParameter<MultiAnalyzer <IPopulationAnalyzer>>)Parameters["IslandAnalyzer"]; }123 private ValueParameter<MultiAnalyzer> AnalyzerParameter { 124 get { return (ValueParameter<MultiAnalyzer>)Parameters["Analyzer"]; } 125 } 126 private ValueParameter<MultiAnalyzer> IslandAnalyzerParameter { 127 get { return (ValueParameter<MultiAnalyzer>)Parameters["IslandAnalyzer"]; } 128 128 } 129 129 #endregion … … 218 218 set { OffspringSelectionBeforeMutationParameter.Value = value; } 219 219 } 220 public MultiAnalyzer <IMultiPopulationAnalyzer>Analyzer {220 public MultiAnalyzer Analyzer { 221 221 get { return AnalyzerParameter.Value; } 222 222 set { AnalyzerParameter.Value = value; } 223 223 } 224 public MultiAnalyzer <IPopulationAnalyzer>IslandAnalyzer {224 public MultiAnalyzer IslandAnalyzer { 225 225 get { return IslandAnalyzerParameter.Value; } 226 226 set { IslandAnalyzerParameter.Value = value; } … … 276 276 Parameters.Add(new ValueLookupParameter<DoubleValue>("MaximumSelectionPressure", "The maximum selection pressure that terminates the algorithm.", new DoubleValue(100))); 277 277 Parameters.Add(new ValueLookupParameter<BoolValue>("OffspringSelectionBeforeMutation", "True if the offspring selection step should be applied before mutation, false if it should be applied after mutation.", new BoolValue(false))); 278 Parameters.Add(new ValueParameter<MultiAnalyzer <IMultiPopulationAnalyzer>>("Analyzer", "The operator used to analyze the islands.", new MultiAnalyzer<IMultiPopulationAnalyzer>()));279 Parameters.Add(new ValueParameter<MultiAnalyzer <IPopulationAnalyzer>>("IslandAnalyzer", "The operator used to analyze each island.", new MultiAnalyzer<IPopulationAnalyzer>()));278 Parameters.Add(new ValueParameter<MultiAnalyzer>("Analyzer", "The operator used to analyze the islands.", new MultiAnalyzer())); 279 Parameters.Add(new ValueParameter<MultiAnalyzer>("IslandAnalyzer", "The operator used to analyze each island.", new MultiAnalyzer())); 280 280 281 281 RandomCreator randomCreator = new RandomCreator(); … … 613 613 //Analyzer.Operators.Add(qualityAnalyzer); 614 614 if (Problem != null) { 615 foreach (I PopulationAnalyzer analyzer in Problem.Operators.OfType<IPopulationAnalyzer>().OrderBy(x => x.Name)) {615 foreach (IAnalyzer analyzer in Problem.Operators.OfType<IAnalyzer>().OrderBy(x => x.Name)) { 616 616 IslandAnalyzer.Operators.Add(analyzer); 617 617 } 618 foreach (I MultiPopulationAnalyzer analyzer in Problem.Operators.OfType<IMultiPopulationAnalyzer>().OrderBy(x => x.Name))618 foreach (IAnalyzer analyzer in Problem.Operators.OfType<IAnalyzer>().OrderBy(x => x.Name)) 619 619 Analyzer.Operators.Add(analyzer); 620 620 } -
trunk/sources/HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm/3.3/OffspringSelectionGeneticAlgorithm.cs
r3650 r3658 101 101 get { return (ValueLookupParameter<IntValue>)Parameters["SelectedParents"]; } 102 102 } 103 private ValueParameter<MultiAnalyzer <IPopulationAnalyzer>> AnalyzerParameter {104 get { return (ValueParameter<MultiAnalyzer <IPopulationAnalyzer>>)Parameters["Analyzer"]; }103 private ValueParameter<MultiAnalyzer> AnalyzerParameter { 104 get { return (ValueParameter<MultiAnalyzer>)Parameters["Analyzer"]; } 105 105 } 106 106 #endregion … … 171 171 set { SelectedParentsParameter.Value = value; } 172 172 } 173 public MultiAnalyzer <IPopulationAnalyzer>Analyzer {173 public MultiAnalyzer Analyzer { 174 174 get { return AnalyzerParameter.Value; } 175 175 set { AnalyzerParameter.Value = value; } … … 211 211 Parameters.Add(new ValueLookupParameter<BoolValue>("OffspringSelectionBeforeMutation", "True if the offspring selection step should be applied before mutation, false if it should be applied after mutation.", new BoolValue(false))); 212 212 Parameters.Add(new ValueLookupParameter<IntValue>("SelectedParents", "Should be about 2 * PopulationSize, for large problems use a smaller value to decrease memory footprint.", new IntValue(200))); 213 Parameters.Add(new ValueParameter<MultiAnalyzer <IPopulationAnalyzer>>("Analyzer", "The operator used to analyze each generation.", new MultiAnalyzer<IPopulationAnalyzer>()));213 Parameters.Add(new ValueParameter<MultiAnalyzer>("Analyzer", "The operator used to analyze each generation.", new MultiAnalyzer())); 214 214 215 215 RandomCreator randomCreator = new RandomCreator(); … … 436 436 //Analyzer.Operators.Add(qualityAnalyzer); 437 437 if (Problem != null) { 438 foreach (I PopulationAnalyzer analyzer in Problem.Operators.OfType<IPopulationAnalyzer>().OrderBy(x => x.Name))438 foreach (IAnalyzer analyzer in Problem.Operators.OfType<IAnalyzer>().OrderBy(x => x.Name)) 439 439 Analyzer.Operators.Add(analyzer); 440 440 } -
trunk/sources/HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm/3.3/SASEGASA.cs
r3656 r3658 113 113 get { return (ValueLookupParameter<IntValue>)Parameters["SelectedParents"]; } 114 114 } 115 private ValueParameter<MultiAnalyzer <IMultiPopulationAnalyzer>> AnalyzerParameter {116 get { return (ValueParameter<MultiAnalyzer <IMultiPopulationAnalyzer>>)Parameters["Analyzer"]; }117 } 118 private ValueParameter<MultiAnalyzer <IPopulationAnalyzer>> VillageAnalyzerParameter {119 get { return (ValueParameter<MultiAnalyzer <IPopulationAnalyzer>>)Parameters["VillageAnalyzer"]; }115 private ValueParameter<MultiAnalyzer> AnalyzerParameter { 116 get { return (ValueParameter<MultiAnalyzer>)Parameters["Analyzer"]; } 117 } 118 private ValueParameter<MultiAnalyzer> VillageAnalyzerParameter { 119 get { return (ValueParameter<MultiAnalyzer>)Parameters["VillageAnalyzer"]; } 120 120 } 121 121 #endregion … … 198 198 set { SelectedParentsParameter.Value = value; } 199 199 } 200 public MultiAnalyzer <IMultiPopulationAnalyzer>Analyzer {200 public MultiAnalyzer Analyzer { 201 201 get { return AnalyzerParameter.Value; } 202 202 set { AnalyzerParameter.Value = value; } 203 203 } 204 public MultiAnalyzer <IPopulationAnalyzer>VillageAnalyzer {204 public MultiAnalyzer VillageAnalyzer { 205 205 get { return VillageAnalyzerParameter.Value; } 206 206 set { VillageAnalyzerParameter.Value = value; } … … 250 250 Parameters.Add(new ValueLookupParameter<BoolValue>("OffspringSelectionBeforeMutation", "True if the offspring selection step should be applied before mutation, false if it should be applied after mutation.", new BoolValue(false))); 251 251 Parameters.Add(new ValueLookupParameter<IntValue>("SelectedParents", "Should be about 2 * PopulationSize, for large problems use a smaller value to decrease memory footprint.", new IntValue(200))); 252 Parameters.Add(new ValueParameter<MultiAnalyzer <IMultiPopulationAnalyzer>>("Analyzer", "The operator used to analyze the villages.", new MultiAnalyzer<IMultiPopulationAnalyzer>()));253 Parameters.Add(new ValueParameter<MultiAnalyzer <IPopulationAnalyzer>>("VillageAnalyzer", "The operator used to analyze each village.", new MultiAnalyzer<IPopulationAnalyzer>()));252 Parameters.Add(new ValueParameter<MultiAnalyzer>("Analyzer", "The operator used to analyze the villages.", new MultiAnalyzer())); 253 Parameters.Add(new ValueParameter<MultiAnalyzer>("VillageAnalyzer", "The operator used to analyze each village.", new MultiAnalyzer())); 254 254 255 255 RandomCreator randomCreator = new RandomCreator(); … … 523 523 //Analyzer.Operators.Add(qualityAnalyzer); 524 524 if (Problem != null) { 525 foreach (I PopulationAnalyzer analyzer in Problem.Operators.OfType<IPopulationAnalyzer>().OrderBy(x => x.Name)) {525 foreach (IAnalyzer analyzer in Problem.Operators.OfType<IAnalyzer>().OrderBy(x => x.Name)) { 526 526 VillageAnalyzer.Operators.Add(analyzer); 527 527 } 528 foreach (I MultiPopulationAnalyzer analyzer in Problem.Operators.OfType<IMultiPopulationAnalyzer>().OrderBy(x => x.Name))528 foreach (IAnalyzer analyzer in Problem.Operators.OfType<IAnalyzer>().OrderBy(x => x.Name)) 529 529 Analyzer.Operators.Add(analyzer); 530 530 } -
trunk/sources/HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm/3.3/SASEGASAMainLoop.cs
r3656 r3658 364 364 resultsCollector2.CollectedValues.Add(new LookupParameter<IntValue>("Generations")); 365 365 resultsCollector2.CollectedValues.Add(new LookupParameter<IntValue>("Evaluated Solutions", null, "EvaluatedSolutions")); 366 resultsCollector 1.CollectedValues.Add(new LookupParameter<DoubleValue>("ComparisonFactor", null, "ComparisonFactor"));367 resultsCollector 1.CollectedValues.Add(new LookupParameter<IntValue>("Terminated Villages", null, "TerminatedVillages"));366 resultsCollector2.CollectedValues.Add(new LookupParameter<DoubleValue>("ComparisonFactor", null, "ComparisonFactor")); 367 resultsCollector2.CollectedValues.Add(new LookupParameter<IntValue>("Terminated Villages", null, "TerminatedVillages")); 368 368 resultsCollector2.CollectedValues.Add(new LookupParameter<IntValue>("Total Active Villages", null, "VillageCount")); 369 369 resultsCollector2.ResultsParameter.ActualName = ResultsParameter.Name; -
trunk/sources/HeuristicLab.Algorithms.SimulatedAnnealing/3.3/SimulatedAnnealing.cs
r3626 r3658 81 81 get { return (ValueParameter<DoubleValue>)Parameters["EndTemperature"]; } 82 82 } 83 private ValueParameter<MultiAnalyzer <ISolutionAnalyzer>> AnalyzerParameter {84 get { return (ValueParameter<MultiAnalyzer <ISolutionAnalyzer>>)Parameters["Analyzer"]; }83 private ValueParameter<MultiAnalyzer> AnalyzerParameter { 84 get { return (ValueParameter<MultiAnalyzer>)Parameters["Analyzer"]; } 85 85 } 86 86 #endregion … … 123 123 set { EndTemperatureParameter.Value = value; } 124 124 } 125 public MultiAnalyzer <ISolutionAnalyzer>Analyzer {125 public MultiAnalyzer Analyzer { 126 126 get { return AnalyzerParameter.Value; } 127 127 set { AnalyzerParameter.Value = value; } … … 158 158 Parameters.Add(new ValueParameter<DoubleValue>("StartTemperature", "The initial temperature.", new DoubleValue(100))); 159 159 Parameters.Add(new ValueParameter<DoubleValue>("EndTemperature", "The final temperature which should be reached when iterations reaches maximum iterations.", new DoubleValue(1e-6))); 160 Parameters.Add(new ValueParameter<MultiAnalyzer <ISolutionAnalyzer>>("Analyzer", "The operator used to analyze each generation.", new MultiAnalyzer<ISolutionAnalyzer>()));160 Parameters.Add(new ValueParameter<MultiAnalyzer>("Analyzer", "The operator used to analyze each generation.", new MultiAnalyzer())); 161 161 162 162 RandomCreator randomCreator = new RandomCreator(); … … 401 401 Analyzer.Operators.Add(qualityAnalyzer); 402 402 if (Problem != null) { 403 foreach (I SolutionAnalyzer analyzer in Problem.Operators.OfType<ISolutionAnalyzer>().OrderBy(x => x.Name))403 foreach (IAnalyzer analyzer in Problem.Operators.OfType<IAnalyzer>().OrderBy(x => x.Name)) 404 404 Analyzer.Operators.Add(analyzer); 405 405 } -
trunk/sources/HeuristicLab.Algorithms.TabuSearch/3.3/TabuNeighborhoodAnalyzer.cs
r3636 r3658 28 28 29 29 namespace HeuristicLab.Algorithms.TabuSearch { 30 public class TabuNeighborhoodAnalyzer : SingleSuccessorOperator, I PopulationAnalyzer {30 public class TabuNeighborhoodAnalyzer : SingleSuccessorOperator, IAnalyzer { 31 31 public SubScopesLookupParameter<BoolValue> IsTabuParameter { 32 32 get { return (SubScopesLookupParameter<BoolValue>)Parameters["IsTabu"]; } -
trunk/sources/HeuristicLab.Algorithms.TabuSearch/3.3/TabuSearch.cs
r3636 r3658 81 81 get { return (ValueParameter<IntValue>)Parameters["SampleSize"]; } 82 82 } 83 private ValueParameter<MultiAnalyzer <IPopulationAnalyzer>> MoveAnalyzerParameter {84 get { return (ValueParameter<MultiAnalyzer <IPopulationAnalyzer>>)Parameters["MoveAnalyzer"]; }85 } 86 private ValueParameter<MultiAnalyzer <ISolutionAnalyzer>> AnalyzerParameter {87 get { return (ValueParameter<MultiAnalyzer <ISolutionAnalyzer>>)Parameters["Analyzer"]; }83 private ValueParameter<MultiAnalyzer> MoveAnalyzerParameter { 84 get { return (ValueParameter<MultiAnalyzer>)Parameters["MoveAnalyzer"]; } 85 } 86 private ValueParameter<MultiAnalyzer> AnalyzerParameter { 87 get { return (ValueParameter<MultiAnalyzer>)Parameters["Analyzer"]; } 88 88 } 89 89 #endregion … … 126 126 set { MaximumIterationsParameter.Value = value; } 127 127 } 128 public MultiAnalyzer <IPopulationAnalyzer>MoveAnalyzer {128 public MultiAnalyzer MoveAnalyzer { 129 129 get { return MoveAnalyzerParameter.Value; } 130 130 set { MoveAnalyzerParameter.Value = value; } 131 131 } 132 public MultiAnalyzer <ISolutionAnalyzer>Analyzer {132 public MultiAnalyzer Analyzer { 133 133 get { return AnalyzerParameter.Value; } 134 134 set { AnalyzerParameter.Value = value; } … … 159 159 Parameters.Add(new ValueParameter<IntValue>("MaximumIterations", "The maximum number of generations which should be processed.", new IntValue(1000))); 160 160 Parameters.Add(new ValueParameter<IntValue>("SampleSize", "The neighborhood size for stochastic sampling move generators", new IntValue(100))); 161 Parameters.Add(new ValueParameter<MultiAnalyzer <IPopulationAnalyzer>>("MoveAnalyzer", "The operator used to analyze the moves.", new MultiAnalyzer<IPopulationAnalyzer>()));162 Parameters.Add(new ValueParameter<MultiAnalyzer <ISolutionAnalyzer>>("Analyzer", "The operator used to analyze the solution.", new MultiAnalyzer<ISolutionAnalyzer>()));161 Parameters.Add(new ValueParameter<MultiAnalyzer>("MoveAnalyzer", "The operator used to analyze the moves.", new MultiAnalyzer())); 162 Parameters.Add(new ValueParameter<MultiAnalyzer>("Analyzer", "The operator used to analyze the solution.", new MultiAnalyzer())); 163 163 164 164 RandomCreator randomCreator = new RandomCreator(); … … 392 392 MoveAnalyzer.Operators.Add(tabuNeighborhoodAnalyzer); 393 393 if (Problem != null) { 394 foreach (I SolutionAnalyzer analyzer in Problem.Operators.OfType<ISolutionAnalyzer>().OrderBy(x => x.Name))394 foreach (IAnalyzer analyzer in Problem.Operators.OfType<IAnalyzer>().OrderBy(x => x.Name)) 395 395 Analyzer.Operators.Add(analyzer); 396 396 } -
trunk/sources/HeuristicLab.Analysis/3.3/MultiAnalyzer.cs
r3618 r3658 32 32 /// An analyzer which applies arbitrary many other analyzers. 33 33 /// </summary> 34 [Item("MultiAnalyzer <T>", "An analyzer which applies arbitrary many other analyzers.")]34 [Item("MultiAnalyzer", "An analyzer which applies arbitrary many other analyzers.")] 35 35 [StorableClass] 36 public class MultiAnalyzer <T> : CheckedMultiOperator<T>, IAnalyzer where T : class, IAnalyzer {36 public class MultiAnalyzer : CheckedMultiOperator<IAnalyzer>, IAnalyzer { 37 37 public override bool CanChangeName { 38 38 get { return false; } … … 69 69 counter.Value = 0; 70 70 OperationCollection next = new OperationCollection(); 71 foreach (IndexedItem< T> item in Operators.CheckedItems)71 foreach (IndexedItem<IAnalyzer> item in Operators.CheckedItems) 72 72 next.Add(ExecutionContext.CreateOperation(item.Value)); 73 73 next.Add(base.Apply()); -
trunk/sources/HeuristicLab.Analysis/3.3/PopulationBestAverageWorstQualityAnalyzer.cs
r3623 r3658 34 34 [Item("PopulationBestAverageWorstQualityAnalyzer", "An operator which analyzes the best, average and worst solution quality in the current population.")] 35 35 [StorableClass] 36 public sealed class PopulationBestAverageWorstQualityAnalyzer : AlgorithmOperator, I PopulationAnalyzer {36 public sealed class PopulationBestAverageWorstQualityAnalyzer : AlgorithmOperator, IAnalyzer { 37 37 #region Parameter properties 38 38 public ValueLookupParameter<BoolValue> MaximizationParameter { -
trunk/sources/HeuristicLab.Analysis/3.3/PopulationMinAverageMaxValueAnalyzer.cs
r3623 r3658 34 34 [Item("PopulationMinAverageMaxValueAnalyzer", "An operator which analyzes the minimum, average and maximum of a value in the current population.")] 35 35 [StorableClass] 36 public sealed class PopulationMinAverageMaxValueAnalyzer : AlgorithmOperator, I PopulationAnalyzer {36 public sealed class PopulationMinAverageMaxValueAnalyzer : AlgorithmOperator, IAnalyzer { 37 37 #region Parameter properties 38 38 public SubScopesLookupParameter<DoubleValue> ValueParameter { -
trunk/sources/HeuristicLab.Analysis/3.3/PopulationQualityAnalyzer.cs
r3623 r3658 34 34 [Item("PopulationQualityAnalyzer", "An operator which analyzes the solution qualities in the current population.")] 35 35 [StorableClass] 36 public sealed class PopulationQualityAnalyzer : AlgorithmOperator, I PopulationAnalyzer {36 public sealed class PopulationQualityAnalyzer : AlgorithmOperator, IAnalyzer { 37 37 #region Parameter properties 38 38 public ValueLookupParameter<BoolValue> MaximizationParameter { -
trunk/sources/HeuristicLab.Analysis/3.3/PopulationValueAnalyzer.cs
r3623 r3658 34 34 [Item("PopulationValueAnalyzer", "An operator which analyzes a value in the current population.")] 35 35 [StorableClass] 36 public sealed class PopulationValueAnalyzer : AlgorithmOperator, I PopulationAnalyzer {36 public sealed class PopulationValueAnalyzer : AlgorithmOperator, IAnalyzer { 37 37 #region Parameter properties 38 38 public SubScopesLookupParameter<DoubleValue> ValueParameter { -
trunk/sources/HeuristicLab.Analysis/3.3/SolutionQualityAnalyzer.cs
r3623 r3658 34 34 [Item("SolutionQualityAnalyzer", "An operator which analyzes the quality of the current solution.")] 35 35 [StorableClass] 36 public sealed class SolutionQualityAnalyzer : AlgorithmOperator, I SolutionAnalyzer {36 public sealed class SolutionQualityAnalyzer : AlgorithmOperator, IAnalyzer { 37 37 #region Parameter properties 38 38 public ValueLookupParameter<BoolValue> MaximizationParameter { -
trunk/sources/HeuristicLab.Analysis/3.3/SolutionValueAnalyzer.cs
r3623 r3658 34 34 [Item("SolutionValueAnalyzer", "An operator which analyzes a value of the current solution.")] 35 35 [StorableClass] 36 public sealed class SolutionValueAnalyzer : AlgorithmOperator, I SolutionAnalyzer {36 public sealed class SolutionValueAnalyzer : AlgorithmOperator, IAnalyzer { 37 37 #region Parameter properties 38 38 public LookupParameter<DoubleValue> ValueParameter { -
trunk/sources/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.3/Interfaces/ISymbolicExpressionTreeAnalyzer.cs
r3651 r3658 34 34 /// Interface for analyzers that can be applied to symbolic expression trees. 35 35 /// </summary> 36 public interface ISymbolicExpressionTreeAnalyzer : I SolutionAnalyzer {36 public interface ISymbolicExpressionTreeAnalyzer : IAnalyzer { 37 37 ILookupParameter<SymbolicExpressionTree> SymbolicExpressionTreeParameter { get; } 38 38 } -
trunk/sources/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.3/Interfaces/ISymbolicExpressionTreeMultiPopulationAnalyzer.cs
r3651 r3658 34 34 /// Interface for analyzers that can be applied to multiple populations of symbolic expression trees. 35 35 /// </summary> 36 public interface ISymbolicExpressionTreeMultiPopulationAnalyzer : I MultiPopulationAnalyzer {36 public interface ISymbolicExpressionTreeMultiPopulationAnalyzer : IAnalyzer { 37 37 ILookupParameter<ItemArray<ItemArray<SymbolicExpressionTree>>> SymbolicExpressionTreeParameter { get; } 38 38 } -
trunk/sources/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.3/Interfaces/ISymbolicExpressionTreePopulationAnalyzer.cs
r3651 r3658 34 34 /// Interface for analyzers that can be applied to populations of symbolic expression trees. 35 35 /// </summary> 36 public interface ISymbolicExpressionTreePopulationAnalyzer : I PopulationAnalyzer {36 public interface ISymbolicExpressionTreePopulationAnalyzer : IAnalyzer { 37 37 ILookupParameter<ItemArray<SymbolicExpressionTree>> SymbolicExpressionTreeParameter { get; } 38 38 } -
trunk/sources/HeuristicLab.MainForm.WindowsForms/3.3/ViewHost.Designer.cs
r3657 r3658 46 46 private void InitializeComponent() { 47 47 this.components = new System.ComponentModel.Container(); 48 System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ViewHost));49 48 this.viewPanel = new HeuristicLab.MainForm.WindowsForms.ViewHostPanel(); 50 49 this.messageLabel = new System.Windows.Forms.Label(); -
trunk/sources/HeuristicLab.Optimization/3.3/HeuristicLab.Optimization-3.3.csproj
r3618 r3658 87 87 <Compile Include="Algorithm.cs" /> 88 88 <Compile Include="BatchRun.cs" /> 89 <Compile Include="Interfaces\IMultiPopulationAnalyzer.cs" />90 <Compile Include="Interfaces\IPopulationAnalyzer.cs" />91 <Compile Include="Interfaces\ISolutionAnalyzer.cs" />92 89 <Compile Include="RunCollectionConstraints\RunCollectionComparisonConstraint.cs" /> 93 90 <Compile Include="RunCollectionConstraints\RunCollectionConstraintCollection.cs" /> -
trunk/sources/HeuristicLab.Optimizer/3.3/HeuristicLab.Optimizer-3.3.csproj
r3529 r3658 179 179 </ItemGroup> 180 180 <ItemGroup> 181 <EmbeddedResource Include="Documents\GA_TSP.hl" />182 181 <EmbeddedResource Include="Properties\Resources.resx"> 183 182 <Generator>ResXFileCodeGenerator</Generator> … … 186 185 </ItemGroup> 187 186 <ItemGroup> 188 <EmbeddedResource Include="Documents\ES_Griewank.hl" />189 187 <None Include="Documents\Images\New.png" /> 190 188 <None Include="Documents\Images\Open.png" /> … … 193 191 <None Include="Documents\Images\Restart.png" /> 194 192 <None Include="Documents\Images\Stop.png" /> 195 <EmbeddedResource Include="Documents\IslandGA_TSP.hl" />196 <EmbeddedResource Include="Documents\LS_OneMax.hl" />197 <EmbeddedResource Include="Documents\SA_Rastrigin.hl" />198 <EmbeddedResource Include="Documents\TS_TSP.hl" />199 193 </ItemGroup> 200 194 <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> -
trunk/sources/HeuristicLab.Problems.ArtificialAnt/3.3/Analyzers/IAntTrailPopulationAnalyzer.cs
r3631 r3658 28 28 29 29 namespace HeuristicLab.Problems.ArtificialAnt.Analyzers { 30 public interface IAntTrailPopulationAnalyzer : I PopulationAnalyzer {30 public interface IAntTrailPopulationAnalyzer : IAnalyzer { 31 31 ILookupParameter<ItemArray<DoubleValue>> QualityParameter { get; } 32 32 ILookupParameter<ItemArray<SymbolicExpressionTree>> SymbolicExpressionTreeParameter { get; } -
trunk/sources/HeuristicLab.Problems.DataAnalysis.Regression/3.3/Symbolic/Analyzers/ISymbolicRegressionSolutionPopulationAnalyzer.cs
r3651 r3658 37 37 38 38 namespace HeuristicLab.Problems.DataAnalysis.Regression.Symbolic.Analyzers { 39 public interface ISymbolicRegressionSolutionPopulationAnalyzer : I PopulationAnalyzer {39 public interface ISymbolicRegressionSolutionPopulationAnalyzer : IAnalyzer { 40 40 ILookupParameter<ItemArray<SymbolicExpressionTree>> SymbolicExpressionTreeParameter { get; } 41 41 ILookupParameter<ResultCollection> ResultsParameter { get; } -
trunk/sources/HeuristicLab.Problems.Knapsack/3.3/Analyzers/BestKnapsackSolutionAnalyzer.cs
r3641 r3658 38 38 [Item("BestKnapsackSolutionAnalyzer", "An operator for analyzing the best solution for a knapsack problem.")] 39 39 [StorableClass] 40 class BestKnapsackSolutionAnalyzer : SingleSuccessorOperator, IBestKnapsackSolutionAnalyzer, I SolutionAnalyzer {40 class BestKnapsackSolutionAnalyzer : SingleSuccessorOperator, IBestKnapsackSolutionAnalyzer, IAnalyzer { 41 41 42 42 public ILookupParameter<BinaryVector> BinaryVectorParameter { -
trunk/sources/HeuristicLab.Problems.Knapsack/3.3/Analyzers/MultiPopulationBestKnapsackSolutionAnalyzer.cs
r3641 r3658 38 38 [Item("MultiPopulationBestKnapsackSolutionAnalyzer", "An operator for analyzing the best solution for a knapsack problem.")] 39 39 [StorableClass] 40 class MultiPopulationBestKnapsackSolutionAnalyzer : SingleSuccessorOperator, IBestKnapsackSolutionAnalyzer, I MultiPopulationAnalyzer {40 class MultiPopulationBestKnapsackSolutionAnalyzer : SingleSuccessorOperator, IBestKnapsackSolutionAnalyzer, IAnalyzer { 41 41 42 42 public ILookupParameter<ItemArray<ItemArray<BinaryVector>>> BinaryVectorParameter { -
trunk/sources/HeuristicLab.Problems.Knapsack/3.3/Analyzers/PopulationBestKnapsackSolutionAnalyzer.cs
r3641 r3658 38 38 [Item("PopulationBestKnapsackSolutionAnalyzer", "An operator for analyzing the best solution for a knapsack problem.")] 39 39 [StorableClass] 40 class PopulationBestKnapsackSolutionAnalyzer : SingleSuccessorOperator, IBestKnapsackSolutionAnalyzer, I PopulationAnalyzer {40 class PopulationBestKnapsackSolutionAnalyzer : SingleSuccessorOperator, IBestKnapsackSolutionAnalyzer, IAnalyzer { 41 41 42 42 public ILookupParameter<ItemArray<BinaryVector>> BinaryVectorParameter { -
trunk/sources/HeuristicLab.Problems.OneMax/3.3/Analyzers/BestOneMaxSolutionAnalyzer.cs
r3642 r3658 38 38 [Item("BestOneMaxSolutionAnalyzer", "An operator for analyzing the best solution for a OneMax problem.")] 39 39 [StorableClass] 40 class BestOneMaxSolutionAnalyzer : SingleSuccessorOperator, IBestOneMaxSolutionAnalyzer, I SolutionAnalyzer {40 class BestOneMaxSolutionAnalyzer : SingleSuccessorOperator, IBestOneMaxSolutionAnalyzer, IAnalyzer { 41 41 42 42 public ILookupParameter<BinaryVector> BinaryVectorParameter { -
trunk/sources/HeuristicLab.Problems.OneMax/3.3/Analyzers/MultiPopulationBestOneMaxSolutionAnalyzer.cs
r3642 r3658 38 38 [Item("MultiPopulationBestOneMaxSolutionAnalyzer", "An operator for analyzing the best solution for a OneMax problem.")] 39 39 [StorableClass] 40 class MultiPopulationBestOneMaxSolutionAnalyzer : SingleSuccessorOperator, IBestOneMaxSolutionAnalyzer, I MultiPopulationAnalyzer {40 class MultiPopulationBestOneMaxSolutionAnalyzer : SingleSuccessorOperator, IBestOneMaxSolutionAnalyzer, IAnalyzer { 41 41 42 42 public ILookupParameter<ItemArray<ItemArray<BinaryVector>>> BinaryVectorParameter { -
trunk/sources/HeuristicLab.Problems.OneMax/3.3/Analyzers/PopulationBestOneMaxSolutionAnalyzer.cs
r3642 r3658 38 38 [Item("PopulationBestOneMaxSolutionAnalyzer", "An operator for analyzing the best solution for a OneMax problem.")] 39 39 [StorableClass] 40 class PopulationBestOneMaxSolutionAnalyzer : SingleSuccessorOperator, IBestOneMaxSolutionAnalyzer, I PopulationAnalyzer {40 class PopulationBestOneMaxSolutionAnalyzer : SingleSuccessorOperator, IBestOneMaxSolutionAnalyzer, IAnalyzer { 41 41 42 42 public ILookupParameter<ItemArray<BinaryVector>> BinaryVectorParameter { -
trunk/sources/HeuristicLab.Problems.TestFunctions/3.3/Analyzers/BestSingleObjectiveTestFunctionSolutionAnalyzer.cs
r3647 r3658 38 38 [Item("BestSingleObjectiveTestFunctionSolutionAnalyzer", "An operator for analyzing the best solution for a SingleObjectiveTestFunction problem.")] 39 39 [StorableClass] 40 class BestSingleObjectiveTestFunctionSolutionAnalyzer : SingleSuccessorOperator, IBestSingleObjectiveTestFunctionSolutionAnalyzer, I SolutionAnalyzer {40 class BestSingleObjectiveTestFunctionSolutionAnalyzer : SingleSuccessorOperator, IBestSingleObjectiveTestFunctionSolutionAnalyzer, IAnalyzer { 41 41 42 42 public ILookupParameter<RealVector> RealVectorParameter { -
trunk/sources/HeuristicLab.Problems.TestFunctions/3.3/Analyzers/MultiPopulationBestSingleObjectiveTestFunctionSolutionAnalyzer.cs
r3647 r3658 38 38 [Item("MultiPopulationBestSingleObjectiveTestFunctionSolutionAnalyzer", "An operator for analyzing the best solution for a SingleObjectiveTestFunction problem.")] 39 39 [StorableClass] 40 class MultiPopulationBestSingleObjectiveTestFunctionSolutionAnalyzer : SingleSuccessorOperator, IBestSingleObjectiveTestFunctionSolutionAnalyzer, I MultiPopulationAnalyzer {40 class MultiPopulationBestSingleObjectiveTestFunctionSolutionAnalyzer : SingleSuccessorOperator, IBestSingleObjectiveTestFunctionSolutionAnalyzer, IAnalyzer { 41 41 42 42 public ILookupParameter<ItemArray<ItemArray<RealVector>>> RealVectorParameter { -
trunk/sources/HeuristicLab.Problems.TestFunctions/3.3/Analyzers/PopulationBestSingleObjectiveTestFunctionSolutionAnalyzer.cs
r3647 r3658 38 38 [Item("PopulationBestSingleObjectiveTestFunctionSolutionAnalyzer", "An operator for analyzing the best solution for a SingleObjectiveTestFunction problem.")] 39 39 [StorableClass] 40 class PopulationBestSingleObjectiveTestFunctionSolutionAnalyzer : SingleSuccessorOperator, IBestSingleObjectiveTestFunctionSolutionAnalyzer, I PopulationAnalyzer {40 class PopulationBestSingleObjectiveTestFunctionSolutionAnalyzer : SingleSuccessorOperator, IBestSingleObjectiveTestFunctionSolutionAnalyzer, IAnalyzer { 41 41 42 42 public ILookupParameter<ItemArray<RealVector>> RealVectorParameter { -
trunk/sources/HeuristicLab.Problems.TravelingSalesman/3.3/Analyzers/BestTSPSolutionAnalyzer.cs
r3635 r3658 36 36 [Item("BestTSPSolutionAnalyzer", "An operator for analyzing the best solution of Traveling Salesman Problems given in path representation using city coordinates.")] 37 37 [StorableClass] 38 public sealed class BestTSPSolutionAnalyzer : SingleSuccessorOperator, IBestTSPSolutionAnalyzer, I SolutionAnalyzer {38 public sealed class BestTSPSolutionAnalyzer : SingleSuccessorOperator, IBestTSPSolutionAnalyzer, IAnalyzer { 39 39 public ILookupParameter<DoubleMatrix> CoordinatesParameter { 40 40 get { return (ILookupParameter<DoubleMatrix>)Parameters["Coordinates"]; } -
trunk/sources/HeuristicLab.Problems.TravelingSalesman/3.3/Analyzers/MultiPopulationBestTSPSolutionAnalyzer.cs
r3635 r3658 38 38 [Item("MultiPopulationBestTSPSolutionAnalyzer", "An operator for analyzing the best solution of Traveling Salesman Problems given in path representation using city coordinates.")] 39 39 [StorableClass] 40 public sealed class MultiPopulationBestTSPSolutionAnalyzer : SingleSuccessorOperator, IBestTSPSolutionAnalyzer, I MultiPopulationAnalyzer {40 public sealed class MultiPopulationBestTSPSolutionAnalyzer : SingleSuccessorOperator, IBestTSPSolutionAnalyzer, IAnalyzer { 41 41 public ILookupParameter<DoubleMatrix> CoordinatesParameter { 42 42 get { return (ILookupParameter<DoubleMatrix>)Parameters["Coordinates"]; } -
trunk/sources/HeuristicLab.Problems.TravelingSalesman/3.3/Analyzers/PopulationBestTSPSolutionAnalyzer.cs
r3635 r3658 36 36 [Item("PopulationBestTSPSolutionAnalyzer", "An operator for analyzing the best solution of Traveling Salesman Problems given in path representation using city coordinates.")] 37 37 [StorableClass] 38 public sealed class PopulationBestTSPSolutionAnalyzer : SingleSuccessorOperator, IBestTSPSolutionAnalyzer, I PopulationAnalyzer {38 public sealed class PopulationBestTSPSolutionAnalyzer : SingleSuccessorOperator, IBestTSPSolutionAnalyzer, IAnalyzer { 39 39 public ILookupParameter<DoubleMatrix> CoordinatesParameter { 40 40 get { return (ILookupParameter<DoubleMatrix>)Parameters["Coordinates"]; }
Note: See TracChangeset
for help on using the changeset viewer.