From 9651b3cea548aba94f6e9225249d76c700be07e9 Mon Sep 17 00:00:00 2001 From: swagner Date: Wed, 5 May 2010 21:27:50 +0000 Subject: [PATCH] Worked on refactoring of algorithm analysis and tracing (#999) * removed specific analyzer interfaces * adapted !MultiAnalyzer git-svn-id: https://src.heuristiclab.com/svn/core/trunk/sources@3658 2abd9481-f8db-48e9-bd25-06bc13291c1b --- .../3.3/EvolutionStrategy.cs | Bin 49224 -> 48974 bytes .../3.3/GeneticAlgorithm.cs | 10 +++---- .../3.3/IslandGeneticAlgorithm.cs | 20 +++++++------- .../3.3/LocalSearch.cs | 18 ++++++------- .../IslandOffspringSelectionGeneticAlgorithm.cs | 20 +++++++------- .../3.3/OffspringSelectionGeneticAlgorithm.cs | 10 +++---- .../3.3/SASEGASA.cs | 20 +++++++------- .../3.3/SASEGASAMainLoop.cs | 4 +-- .../3.3/SimulatedAnnealing.cs | 10 +++---- .../3.3/TabuNeighborhoodAnalyzer.cs | 2 +- .../3.3/TabuSearch.cs | 18 ++++++------- HeuristicLab.Analysis/3.3/MultiAnalyzer.cs | 6 ++--- .../PopulationBestAverageWorstQualityAnalyzer.cs | 2 +- .../3.3/PopulationMinAverageMaxValueAnalyzer.cs | 2 +- .../3.3/PopulationQualityAnalyzer.cs | 2 +- .../3.3/PopulationValueAnalyzer.cs | 2 +- .../3.3/SolutionQualityAnalyzer.cs | 2 +- HeuristicLab.Analysis/3.3/SolutionValueAnalyzer.cs | 2 +- .../Interfaces/ISymbolicExpressionTreeAnalyzer.cs | 2 +- ...ymbolicExpressionTreeMultiPopulationAnalyzer.cs | 2 +- .../ISymbolicExpressionTreePopulationAnalyzer.cs | 2 +- .../3.3/ViewHost.Designer.cs | 1 - .../3.3/HeuristicLab.Optimization-3.3.csproj | 3 --- .../3.3/Interfaces/IMultiPopulationAnalyzer.cs | 29 --------------------- .../3.3/Interfaces/IPopulationAnalyzer.cs | 29 --------------------- .../3.3/Interfaces/ISolutionAnalyzer.cs | 29 --------------------- .../3.3/HeuristicLab.Optimizer-3.3.csproj | 6 ----- .../3.3/Analyzers/IAntTrailPopulationAnalyzer.cs | 2 +- ...SymbolicRegressionSolutionPopulationAnalyzer.cs | 2 +- .../3.3/Analyzers/BestKnapsackSolutionAnalyzer.cs | 2 +- .../MultiPopulationBestKnapsackSolutionAnalyzer.cs | 2 +- .../PopulationBestKnapsackSolutionAnalyzer.cs | 2 +- .../3.3/Analyzers/BestOneMaxSolutionAnalyzer.cs | 2 +- .../MultiPopulationBestOneMaxSolutionAnalyzer.cs | 2 +- .../PopulationBestOneMaxSolutionAnalyzer.cs | 2 +- ...tSingleObjectiveTestFunctionSolutionAnalyzer.cs | 2 +- ...tSingleObjectiveTestFunctionSolutionAnalyzer.cs | 2 +- ...tSingleObjectiveTestFunctionSolutionAnalyzer.cs | 2 +- .../3.3/Analyzers/BestTSPSolutionAnalyzer.cs | 2 +- .../MultiPopulationBestTSPSolutionAnalyzer.cs | 2 +- .../Analyzers/PopulationBestTSPSolutionAnalyzer.cs | 2 +- 41 files changed, 92 insertions(+), 189 deletions(-) delete mode 100644 HeuristicLab.Optimization/3.3/Interfaces/IMultiPopulationAnalyzer.cs delete mode 100644 HeuristicLab.Optimization/3.3/Interfaces/IPopulationAnalyzer.cs delete mode 100644 HeuristicLab.Optimization/3.3/Interfaces/ISolutionAnalyzer.cs diff --git a/HeuristicLab.Algorithms.EvolutionStrategy/3.3/EvolutionStrategy.cs b/HeuristicLab.Algorithms.EvolutionStrategy/3.3/EvolutionStrategy.cs index c6aff5e194a1b07499cf3d6ed8ed5bc210481728..cd07f031b20b0c9494c30cd7633b2cb9a754813e 100644 GIT binary patch delta 72 zcwPZW0Js0hfCJ9{0ns_`Xb&SikV=;2iG& delta 133 zcwRgAkLg4M^M(*9W*Y|2$sd(PCts2hVzisgt)n{mfPmlR3oa-!n;%KN5kMB090nA8 opv@(TBKXQ>0SdohAIoGBbFs}!Tw^LGe^M5iv@Z@sLFMiN0HMb+f&c&j diff --git a/HeuristicLab.Algorithms.GeneticAlgorithm/3.3/GeneticAlgorithm.cs b/HeuristicLab.Algorithms.GeneticAlgorithm/3.3/GeneticAlgorithm.cs index 22f7f94094..40fd78e779 100644 --- a/HeuristicLab.Algorithms.GeneticAlgorithm/3.3/GeneticAlgorithm.cs +++ b/HeuristicLab.Algorithms.GeneticAlgorithm/3.3/GeneticAlgorithm.cs @@ -77,8 +77,8 @@ namespace HeuristicLab.Algorithms.GeneticAlgorithm { private ValueParameter ElitesParameter { get { return (ValueParameter)Parameters["Elites"]; } } - private ValueParameter> AnalyzerParameter { - get { return (ValueParameter>)Parameters["Analyzer"]; } + private ValueParameter AnalyzerParameter { + get { return (ValueParameter)Parameters["Analyzer"]; } } private ValueParameter MaximumGenerationsParameter { get { return (ValueParameter)Parameters["MaximumGenerations"]; } @@ -118,7 +118,7 @@ namespace HeuristicLab.Algorithms.GeneticAlgorithm { get { return ElitesParameter.Value; } set { ElitesParameter.Value = value; } } - public MultiAnalyzer Analyzer { + public MultiAnalyzer Analyzer { get { return AnalyzerParameter.Value; } set { AnalyzerParameter.Value = value; } } @@ -152,7 +152,7 @@ namespace HeuristicLab.Algorithms.GeneticAlgorithm { Parameters.Add(new ValueParameter("MutationProbability", "The probability that the mutation operator is applied on a solution.", new PercentValue(0.05))); Parameters.Add(new OptionalConstrainedValueParameter("Mutator", "The operator used to mutate solutions.")); Parameters.Add(new ValueParameter("Elites", "The numer of elite solutions which are kept in each generation.", new IntValue(1))); - Parameters.Add(new ValueParameter>("Analyzer", "The operator used to analyze each generation.", new MultiAnalyzer())); + Parameters.Add(new ValueParameter("Analyzer", "The operator used to analyze each generation.", new MultiAnalyzer())); Parameters.Add(new ValueParameter("MaximumGenerations", "The maximum number of generations which should be processed.", new IntValue(1000))); RandomCreator randomCreator = new RandomCreator(); @@ -352,7 +352,7 @@ namespace HeuristicLab.Algorithms.GeneticAlgorithm { Analyzer.Operators.Clear(); Analyzer.Operators.Add(qualityAnalyzer); if (Problem != null) { - foreach (IPopulationAnalyzer analyzer in Problem.Operators.OfType().OrderBy(x => x.Name)) + foreach (IAnalyzer analyzer in Problem.Operators.OfType().OrderBy(x => x.Name)) Analyzer.Operators.Add(analyzer); } } diff --git a/HeuristicLab.Algorithms.GeneticAlgorithm/3.3/IslandGeneticAlgorithm.cs b/HeuristicLab.Algorithms.GeneticAlgorithm/3.3/IslandGeneticAlgorithm.cs index e659dc241b..ef3f8ace2b 100644 --- a/HeuristicLab.Algorithms.GeneticAlgorithm/3.3/IslandGeneticAlgorithm.cs +++ b/HeuristicLab.Algorithms.GeneticAlgorithm/3.3/IslandGeneticAlgorithm.cs @@ -103,11 +103,11 @@ namespace HeuristicLab.Algorithms.GeneticAlgorithm { private ValueParameter ParallelParameter { get { return (ValueParameter)Parameters["Parallel"]; } } - private ValueParameter> AnalyzerParameter { - get { return (ValueParameter>)Parameters["Analyzer"]; } + private ValueParameter AnalyzerParameter { + get { return (ValueParameter)Parameters["Analyzer"]; } } - private ValueParameter> IslandAnalyzerParameter { - get { return (ValueParameter>)Parameters["IslandAnalyzer"]; } + private ValueParameter IslandAnalyzerParameter { + get { return (ValueParameter)Parameters["IslandAnalyzer"]; } } #endregion @@ -176,11 +176,11 @@ namespace HeuristicLab.Algorithms.GeneticAlgorithm { get { return ParallelParameter.Value; } set { ParallelParameter.Value = value; } } - public MultiAnalyzer Analyzer { + public MultiAnalyzer Analyzer { get { return AnalyzerParameter.Value; } set { AnalyzerParameter.Value = value; } } - public MultiAnalyzer IslandAnalyzer { + public MultiAnalyzer IslandAnalyzer { get { return IslandAnalyzerParameter.Value; } set { IslandAnalyzerParameter.Value = value; } } @@ -227,8 +227,8 @@ namespace HeuristicLab.Algorithms.GeneticAlgorithm { Parameters.Add(new OptionalConstrainedValueParameter("Mutator", "The operator used to mutate solutions.")); Parameters.Add(new ValueParameter("Elites", "The numer of elite solutions which are kept in each generation.", new IntValue(1))); Parameters.Add(new ValueParameter("Parallel", "True if the islands should be run in parallel (also requires a parallel engine)", new BoolValue(false))); - Parameters.Add(new ValueParameter>("Analyzer", "The operator used to analyze the islands.", new MultiAnalyzer())); - Parameters.Add(new ValueParameter>("IslandAnalyzer", "The operator used to analyze each island.", new MultiAnalyzer())); + Parameters.Add(new ValueParameter("Analyzer", "The operator used to analyze the islands.", new MultiAnalyzer())); + Parameters.Add(new ValueParameter("IslandAnalyzer", "The operator used to analyze each island.", new MultiAnalyzer())); RandomCreator randomCreator = new RandomCreator(); SubScopesCreator populationCreator = new SubScopesCreator(); @@ -512,10 +512,10 @@ namespace HeuristicLab.Algorithms.GeneticAlgorithm { IslandAnalyzer.Operators.Add(islandQualityAnalyzer); //Analyzer.Operators.Add(qualityAnalyzer); if (Problem != null) { - foreach (IPopulationAnalyzer analyzer in Problem.Operators.OfType().OrderBy(x => x.Name)) { + foreach (IAnalyzer analyzer in Problem.Operators.OfType().OrderBy(x => x.Name)) { IslandAnalyzer.Operators.Add(analyzer); } - foreach (IMultiPopulationAnalyzer analyzer in Problem.Operators.OfType().OrderBy(x => x.Name)) + foreach (IAnalyzer analyzer in Problem.Operators.OfType().OrderBy(x => x.Name)) Analyzer.Operators.Add(analyzer); } } diff --git a/HeuristicLab.Algorithms.LocalSearch/3.3/LocalSearch.cs b/HeuristicLab.Algorithms.LocalSearch/3.3/LocalSearch.cs index 7173ddab97..a827575be1 100644 --- a/HeuristicLab.Algorithms.LocalSearch/3.3/LocalSearch.cs +++ b/HeuristicLab.Algorithms.LocalSearch/3.3/LocalSearch.cs @@ -71,11 +71,11 @@ namespace HeuristicLab.Algorithms.LocalSearch { private ValueParameter SampleSizeParameter { get { return (ValueParameter)Parameters["SampleSize"]; } } - private ValueParameter> MoveAnalyzerParameter { - get { return (ValueParameter>)Parameters["MoveAnalyzer"]; } + private ValueParameter MoveAnalyzerParameter { + get { return (ValueParameter)Parameters["MoveAnalyzer"]; } } - private ValueParameter> AnalyzerParameter { - get { return (ValueParameter>)Parameters["Analyzer"]; } + private ValueParameter AnalyzerParameter { + get { return (ValueParameter)Parameters["Analyzer"]; } } #endregion @@ -108,11 +108,11 @@ namespace HeuristicLab.Algorithms.LocalSearch { get { return SampleSizeParameter.Value; } set { SampleSizeParameter.Value = value; } } - public MultiAnalyzer MoveAnalyzer { + public MultiAnalyzer MoveAnalyzer { get { return MoveAnalyzerParameter.Value; } set { MoveAnalyzerParameter.Value = value; } } - public MultiAnalyzer Analyzer { + public MultiAnalyzer Analyzer { get { return AnalyzerParameter.Value; } set { AnalyzerParameter.Value = value; } } @@ -139,8 +139,8 @@ namespace HeuristicLab.Algorithms.LocalSearch { Parameters.Add(new ConstrainedValueParameter("MoveEvaluator", "The operator used to evaluate a move.")); Parameters.Add(new ValueParameter("MaximumIterations", "The maximum number of generations which should be processed.", new IntValue(1000))); Parameters.Add(new ValueParameter("SampleSize", "Number of moves that MultiMoveGenerators should create. This is ignored for Exhaustive- and SingleMoveGenerators.", new IntValue(100))); - Parameters.Add(new ValueParameter>("MoveAnalyzer", "The operator used to analyze the moves.", new MultiAnalyzer())); - Parameters.Add(new ValueParameter>("Analyzer", "The operator used to analyze the solution.", new MultiAnalyzer())); + Parameters.Add(new ValueParameter("MoveAnalyzer", "The operator used to analyze the moves.", new MultiAnalyzer())); + Parameters.Add(new ValueParameter("Analyzer", "The operator used to analyze the solution.", new MultiAnalyzer())); RandomCreator randomCreator = new RandomCreator(); SolutionsCreator solutionsCreator = new SolutionsCreator(); @@ -318,7 +318,7 @@ namespace HeuristicLab.Algorithms.LocalSearch { MoveAnalyzer.Operators.Clear(); MoveAnalyzer.Operators.Add(moveQualityAnalyzer); if (Problem != null) { - foreach (ISolutionAnalyzer analyzer in Problem.Operators.OfType().OrderBy(x => x.Name)) + foreach (IAnalyzer analyzer in Problem.Operators.OfType().OrderBy(x => x.Name)) Analyzer.Operators.Add(analyzer); } } diff --git a/HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm/3.3/IslandOffspringSelectionGeneticAlgorithm.cs b/HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm/3.3/IslandOffspringSelectionGeneticAlgorithm.cs index f81469305e..07a922538b 100644 --- a/HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm/3.3/IslandOffspringSelectionGeneticAlgorithm.cs +++ b/HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm/3.3/IslandOffspringSelectionGeneticAlgorithm.cs @@ -120,11 +120,11 @@ namespace HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm { private ValueLookupParameter OffspringSelectionBeforeMutationParameter { get { return (ValueLookupParameter)Parameters["OffspringSelectionBeforeMutation"]; } } - private ValueParameter> AnalyzerParameter { - get { return (ValueParameter>)Parameters["Analyzer"]; } + private ValueParameter AnalyzerParameter { + get { return (ValueParameter)Parameters["Analyzer"]; } } - private ValueParameter> IslandAnalyzerParameter { - get { return (ValueParameter>)Parameters["IslandAnalyzer"]; } + private ValueParameter IslandAnalyzerParameter { + get { return (ValueParameter)Parameters["IslandAnalyzer"]; } } #endregion @@ -217,11 +217,11 @@ namespace HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm { get { return OffspringSelectionBeforeMutationParameter.Value; } set { OffspringSelectionBeforeMutationParameter.Value = value; } } - public MultiAnalyzer Analyzer { + public MultiAnalyzer Analyzer { get { return AnalyzerParameter.Value; } set { AnalyzerParameter.Value = value; } } - public MultiAnalyzer IslandAnalyzer { + public MultiAnalyzer IslandAnalyzer { get { return IslandAnalyzerParameter.Value; } set { IslandAnalyzerParameter.Value = value; } } @@ -275,8 +275,8 @@ namespace HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm { Parameters.Add(new OptionalConstrainedValueParameter("ComparisonFactorModifier", "The operator used to modify the comparison factor.", new ItemSet(new IDiscreteDoubleValueModifier[] { new LinearDiscreteDoubleValueModifier() }), new LinearDiscreteDoubleValueModifier())); Parameters.Add(new ValueLookupParameter("MaximumSelectionPressure", "The maximum selection pressure that terminates the algorithm.", new DoubleValue(100))); Parameters.Add(new ValueLookupParameter("OffspringSelectionBeforeMutation", "True if the offspring selection step should be applied before mutation, false if it should be applied after mutation.", new BoolValue(false))); - Parameters.Add(new ValueParameter>("Analyzer", "The operator used to analyze the islands.", new MultiAnalyzer())); - Parameters.Add(new ValueParameter>("IslandAnalyzer", "The operator used to analyze each island.", new MultiAnalyzer())); + Parameters.Add(new ValueParameter("Analyzer", "The operator used to analyze the islands.", new MultiAnalyzer())); + Parameters.Add(new ValueParameter("IslandAnalyzer", "The operator used to analyze each island.", new MultiAnalyzer())); RandomCreator randomCreator = new RandomCreator(); SubScopesCreator populationCreator = new SubScopesCreator(); @@ -612,10 +612,10 @@ namespace HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm { IslandAnalyzer.Operators.Add(islandQualityAnalyzer); //Analyzer.Operators.Add(qualityAnalyzer); if (Problem != null) { - foreach (IPopulationAnalyzer analyzer in Problem.Operators.OfType().OrderBy(x => x.Name)) { + foreach (IAnalyzer analyzer in Problem.Operators.OfType().OrderBy(x => x.Name)) { IslandAnalyzer.Operators.Add(analyzer); } - foreach (IMultiPopulationAnalyzer analyzer in Problem.Operators.OfType().OrderBy(x => x.Name)) + foreach (IAnalyzer analyzer in Problem.Operators.OfType().OrderBy(x => x.Name)) Analyzer.Operators.Add(analyzer); } } diff --git a/HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm/3.3/OffspringSelectionGeneticAlgorithm.cs b/HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm/3.3/OffspringSelectionGeneticAlgorithm.cs index 1155c2ba34..641e89f339 100644 --- a/HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm/3.3/OffspringSelectionGeneticAlgorithm.cs +++ b/HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm/3.3/OffspringSelectionGeneticAlgorithm.cs @@ -100,8 +100,8 @@ namespace HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm { private ValueLookupParameter SelectedParentsParameter { get { return (ValueLookupParameter)Parameters["SelectedParents"]; } } - private ValueParameter> AnalyzerParameter { - get { return (ValueParameter>)Parameters["Analyzer"]; } + private ValueParameter AnalyzerParameter { + get { return (ValueParameter)Parameters["Analyzer"]; } } #endregion @@ -170,7 +170,7 @@ namespace HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm { get { return SelectedParentsParameter.Value; } set { SelectedParentsParameter.Value = value; } } - public MultiAnalyzer Analyzer { + public MultiAnalyzer Analyzer { get { return AnalyzerParameter.Value; } set { AnalyzerParameter.Value = value; } } @@ -210,7 +210,7 @@ namespace HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm { Parameters.Add(new ValueLookupParameter("MaximumSelectionPressure", "The maximum selection pressure that terminates the algorithm.", new DoubleValue(100))); Parameters.Add(new ValueLookupParameter("OffspringSelectionBeforeMutation", "True if the offspring selection step should be applied before mutation, false if it should be applied after mutation.", new BoolValue(false))); Parameters.Add(new ValueLookupParameter("SelectedParents", "Should be about 2 * PopulationSize, for large problems use a smaller value to decrease memory footprint.", new IntValue(200))); - Parameters.Add(new ValueParameter>("Analyzer", "The operator used to analyze each generation.", new MultiAnalyzer())); + Parameters.Add(new ValueParameter("Analyzer", "The operator used to analyze each generation.", new MultiAnalyzer())); RandomCreator randomCreator = new RandomCreator(); SolutionsCreator solutionsCreator = new SolutionsCreator(); @@ -435,7 +435,7 @@ namespace HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm { Analyzer.Operators.Clear(); //Analyzer.Operators.Add(qualityAnalyzer); if (Problem != null) { - foreach (IPopulationAnalyzer analyzer in Problem.Operators.OfType().OrderBy(x => x.Name)) + foreach (IAnalyzer analyzer in Problem.Operators.OfType().OrderBy(x => x.Name)) Analyzer.Operators.Add(analyzer); } } diff --git a/HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm/3.3/SASEGASA.cs b/HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm/3.3/SASEGASA.cs index cd8f7be95c..5b8f3c9196 100644 --- a/HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm/3.3/SASEGASA.cs +++ b/HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm/3.3/SASEGASA.cs @@ -112,11 +112,11 @@ namespace HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm { private ValueLookupParameter SelectedParentsParameter { get { return (ValueLookupParameter)Parameters["SelectedParents"]; } } - private ValueParameter> AnalyzerParameter { - get { return (ValueParameter>)Parameters["Analyzer"]; } + private ValueParameter AnalyzerParameter { + get { return (ValueParameter)Parameters["Analyzer"]; } } - private ValueParameter> VillageAnalyzerParameter { - get { return (ValueParameter>)Parameters["VillageAnalyzer"]; } + private ValueParameter VillageAnalyzerParameter { + get { return (ValueParameter)Parameters["VillageAnalyzer"]; } } #endregion @@ -197,11 +197,11 @@ namespace HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm { get { return SelectedParentsParameter.Value; } set { SelectedParentsParameter.Value = value; } } - public MultiAnalyzer Analyzer { + public MultiAnalyzer Analyzer { get { return AnalyzerParameter.Value; } set { AnalyzerParameter.Value = value; } } - public MultiAnalyzer VillageAnalyzer { + public MultiAnalyzer VillageAnalyzer { get { return VillageAnalyzerParameter.Value; } set { VillageAnalyzerParameter.Value = value; } } @@ -249,8 +249,8 @@ namespace HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm { Parameters.Add(new ValueLookupParameter("FinalMaximumSelectionPressure", "The maximum selection pressure used when there is only one village left.", new DoubleValue(100))); Parameters.Add(new ValueLookupParameter("OffspringSelectionBeforeMutation", "True if the offspring selection step should be applied before mutation, false if it should be applied after mutation.", new BoolValue(false))); Parameters.Add(new ValueLookupParameter("SelectedParents", "Should be about 2 * PopulationSize, for large problems use a smaller value to decrease memory footprint.", new IntValue(200))); - Parameters.Add(new ValueParameter>("Analyzer", "The operator used to analyze the villages.", new MultiAnalyzer())); - Parameters.Add(new ValueParameter>("VillageAnalyzer", "The operator used to analyze each village.", new MultiAnalyzer())); + Parameters.Add(new ValueParameter("Analyzer", "The operator used to analyze the villages.", new MultiAnalyzer())); + Parameters.Add(new ValueParameter("VillageAnalyzer", "The operator used to analyze each village.", new MultiAnalyzer())); RandomCreator randomCreator = new RandomCreator(); SubScopesCreator populationCreator = new SubScopesCreator(); @@ -522,10 +522,10 @@ namespace HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm { VillageAnalyzer.Operators.Add(villageQualityAnalyzer); //Analyzer.Operators.Add(qualityAnalyzer); if (Problem != null) { - foreach (IPopulationAnalyzer analyzer in Problem.Operators.OfType().OrderBy(x => x.Name)) { + foreach (IAnalyzer analyzer in Problem.Operators.OfType().OrderBy(x => x.Name)) { VillageAnalyzer.Operators.Add(analyzer); } - foreach (IMultiPopulationAnalyzer analyzer in Problem.Operators.OfType().OrderBy(x => x.Name)) + foreach (IAnalyzer analyzer in Problem.Operators.OfType().OrderBy(x => x.Name)) Analyzer.Operators.Add(analyzer); } } diff --git a/HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm/3.3/SASEGASAMainLoop.cs b/HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm/3.3/SASEGASAMainLoop.cs index 8eb206adde..b5bcb21c48 100644 --- a/HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm/3.3/SASEGASAMainLoop.cs +++ b/HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm/3.3/SASEGASAMainLoop.cs @@ -363,8 +363,8 @@ namespace HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm { resultsCollector2.CollectedValues.Add(new LookupParameter("Generations")); resultsCollector2.CollectedValues.Add(new LookupParameter("Evaluated Solutions", null, "EvaluatedSolutions")); - resultsCollector1.CollectedValues.Add(new LookupParameter("ComparisonFactor", null, "ComparisonFactor")); - resultsCollector1.CollectedValues.Add(new LookupParameter("Terminated Villages", null, "TerminatedVillages")); + resultsCollector2.CollectedValues.Add(new LookupParameter("ComparisonFactor", null, "ComparisonFactor")); + resultsCollector2.CollectedValues.Add(new LookupParameter("Terminated Villages", null, "TerminatedVillages")); resultsCollector2.CollectedValues.Add(new LookupParameter("Total Active Villages", null, "VillageCount")); resultsCollector2.ResultsParameter.ActualName = ResultsParameter.Name; diff --git a/HeuristicLab.Algorithms.SimulatedAnnealing/3.3/SimulatedAnnealing.cs b/HeuristicLab.Algorithms.SimulatedAnnealing/3.3/SimulatedAnnealing.cs index b847bb7482..d2ae7c125e 100644 --- a/HeuristicLab.Algorithms.SimulatedAnnealing/3.3/SimulatedAnnealing.cs +++ b/HeuristicLab.Algorithms.SimulatedAnnealing/3.3/SimulatedAnnealing.cs @@ -80,8 +80,8 @@ namespace HeuristicLab.Algorithms.SimulatedAnnealing { private ValueParameter EndTemperatureParameter { get { return (ValueParameter)Parameters["EndTemperature"]; } } - private ValueParameter> AnalyzerParameter { - get { return (ValueParameter>)Parameters["Analyzer"]; } + private ValueParameter AnalyzerParameter { + get { return (ValueParameter)Parameters["Analyzer"]; } } #endregion @@ -122,7 +122,7 @@ namespace HeuristicLab.Algorithms.SimulatedAnnealing { get { return EndTemperatureParameter.Value; } set { EndTemperatureParameter.Value = value; } } - public MultiAnalyzer Analyzer { + public MultiAnalyzer Analyzer { get { return AnalyzerParameter.Value; } set { AnalyzerParameter.Value = value; } } @@ -157,7 +157,7 @@ namespace HeuristicLab.Algorithms.SimulatedAnnealing { Parameters.Add(new ValueParameter("InnerIterations", "The amount of inner iterations (number of moves before temperature is adjusted again).", new IntValue(10))); Parameters.Add(new ValueParameter("StartTemperature", "The initial temperature.", new DoubleValue(100))); Parameters.Add(new ValueParameter("EndTemperature", "The final temperature which should be reached when iterations reaches maximum iterations.", new DoubleValue(1e-6))); - Parameters.Add(new ValueParameter>("Analyzer", "The operator used to analyze each generation.", new MultiAnalyzer())); + Parameters.Add(new ValueParameter("Analyzer", "The operator used to analyze each generation.", new MultiAnalyzer())); RandomCreator randomCreator = new RandomCreator(); SolutionsCreator solutionsCreator = new SolutionsCreator(); @@ -400,7 +400,7 @@ namespace HeuristicLab.Algorithms.SimulatedAnnealing { Analyzer.Operators.Clear(); Analyzer.Operators.Add(qualityAnalyzer); if (Problem != null) { - foreach (ISolutionAnalyzer analyzer in Problem.Operators.OfType().OrderBy(x => x.Name)) + foreach (IAnalyzer analyzer in Problem.Operators.OfType().OrderBy(x => x.Name)) Analyzer.Operators.Add(analyzer); } } diff --git a/HeuristicLab.Algorithms.TabuSearch/3.3/TabuNeighborhoodAnalyzer.cs b/HeuristicLab.Algorithms.TabuSearch/3.3/TabuNeighborhoodAnalyzer.cs index f18e4aa989..02f52a909c 100644 --- a/HeuristicLab.Algorithms.TabuSearch/3.3/TabuNeighborhoodAnalyzer.cs +++ b/HeuristicLab.Algorithms.TabuSearch/3.3/TabuNeighborhoodAnalyzer.cs @@ -27,7 +27,7 @@ using HeuristicLab.Data; using HeuristicLab.Core; namespace HeuristicLab.Algorithms.TabuSearch { - public class TabuNeighborhoodAnalyzer : SingleSuccessorOperator, IPopulationAnalyzer { + public class TabuNeighborhoodAnalyzer : SingleSuccessorOperator, IAnalyzer { public SubScopesLookupParameter IsTabuParameter { get { return (SubScopesLookupParameter)Parameters["IsTabu"]; } } diff --git a/HeuristicLab.Algorithms.TabuSearch/3.3/TabuSearch.cs b/HeuristicLab.Algorithms.TabuSearch/3.3/TabuSearch.cs index 59668cabd7..4f51e31401 100644 --- a/HeuristicLab.Algorithms.TabuSearch/3.3/TabuSearch.cs +++ b/HeuristicLab.Algorithms.TabuSearch/3.3/TabuSearch.cs @@ -80,11 +80,11 @@ namespace HeuristicLab.Algorithms.TabuSearch { private ValueParameter SampleSizeParameter { get { return (ValueParameter)Parameters["SampleSize"]; } } - private ValueParameter> MoveAnalyzerParameter { - get { return (ValueParameter>)Parameters["MoveAnalyzer"]; } + private ValueParameter MoveAnalyzerParameter { + get { return (ValueParameter)Parameters["MoveAnalyzer"]; } } - private ValueParameter> AnalyzerParameter { - get { return (ValueParameter>)Parameters["Analyzer"]; } + private ValueParameter AnalyzerParameter { + get { return (ValueParameter)Parameters["Analyzer"]; } } #endregion @@ -125,11 +125,11 @@ namespace HeuristicLab.Algorithms.TabuSearch { get { return MaximumIterationsParameter.Value; } set { MaximumIterationsParameter.Value = value; } } - public MultiAnalyzer MoveAnalyzer { + public MultiAnalyzer MoveAnalyzer { get { return MoveAnalyzerParameter.Value; } set { MoveAnalyzerParameter.Value = value; } } - public MultiAnalyzer Analyzer { + public MultiAnalyzer Analyzer { get { return AnalyzerParameter.Value; } set { AnalyzerParameter.Value = value; } } @@ -158,8 +158,8 @@ namespace HeuristicLab.Algorithms.TabuSearch { Parameters.Add(new ValueParameter("TabuTenure", "The length of the tabu list.", new IntValue(10))); Parameters.Add(new ValueParameter("MaximumIterations", "The maximum number of generations which should be processed.", new IntValue(1000))); Parameters.Add(new ValueParameter("SampleSize", "The neighborhood size for stochastic sampling move generators", new IntValue(100))); - Parameters.Add(new ValueParameter>("MoveAnalyzer", "The operator used to analyze the moves.", new MultiAnalyzer())); - Parameters.Add(new ValueParameter>("Analyzer", "The operator used to analyze the solution.", new MultiAnalyzer())); + Parameters.Add(new ValueParameter("MoveAnalyzer", "The operator used to analyze the moves.", new MultiAnalyzer())); + Parameters.Add(new ValueParameter("Analyzer", "The operator used to analyze the solution.", new MultiAnalyzer())); RandomCreator randomCreator = new RandomCreator(); SolutionsCreator solutionsCreator = new SolutionsCreator(); @@ -391,7 +391,7 @@ namespace HeuristicLab.Algorithms.TabuSearch { MoveAnalyzer.Operators.Add(moveQualityAnalyzer); MoveAnalyzer.Operators.Add(tabuNeighborhoodAnalyzer); if (Problem != null) { - foreach (ISolutionAnalyzer analyzer in Problem.Operators.OfType().OrderBy(x => x.Name)) + foreach (IAnalyzer analyzer in Problem.Operators.OfType().OrderBy(x => x.Name)) Analyzer.Operators.Add(analyzer); } } diff --git a/HeuristicLab.Analysis/3.3/MultiAnalyzer.cs b/HeuristicLab.Analysis/3.3/MultiAnalyzer.cs index 3ab3c4c28f..28294bdede 100644 --- a/HeuristicLab.Analysis/3.3/MultiAnalyzer.cs +++ b/HeuristicLab.Analysis/3.3/MultiAnalyzer.cs @@ -31,9 +31,9 @@ namespace HeuristicLab.Analysis { /// /// An analyzer which applies arbitrary many other analyzers. /// - [Item("MultiAnalyzer", "An analyzer which applies arbitrary many other analyzers.")] + [Item("MultiAnalyzer", "An analyzer which applies arbitrary many other analyzers.")] [StorableClass] - public class MultiAnalyzer : CheckedMultiOperator, IAnalyzer where T : class, IAnalyzer { + public class MultiAnalyzer : CheckedMultiOperator, IAnalyzer { public override bool CanChangeName { get { return false; } } @@ -68,7 +68,7 @@ namespace HeuristicLab.Analysis { if (counter.Value == interval.Value) { counter.Value = 0; OperationCollection next = new OperationCollection(); - foreach (IndexedItem item in Operators.CheckedItems) + foreach (IndexedItem item in Operators.CheckedItems) next.Add(ExecutionContext.CreateOperation(item.Value)); next.Add(base.Apply()); return next; diff --git a/HeuristicLab.Analysis/3.3/PopulationBestAverageWorstQualityAnalyzer.cs b/HeuristicLab.Analysis/3.3/PopulationBestAverageWorstQualityAnalyzer.cs index dac7dfcb2a..6d20b0423a 100644 --- a/HeuristicLab.Analysis/3.3/PopulationBestAverageWorstQualityAnalyzer.cs +++ b/HeuristicLab.Analysis/3.3/PopulationBestAverageWorstQualityAnalyzer.cs @@ -33,7 +33,7 @@ namespace HeuristicLab.Analysis { /// [Item("PopulationBestAverageWorstQualityAnalyzer", "An operator which analyzes the best, average and worst solution quality in the current population.")] [StorableClass] - public sealed class PopulationBestAverageWorstQualityAnalyzer : AlgorithmOperator, IPopulationAnalyzer { + public sealed class PopulationBestAverageWorstQualityAnalyzer : AlgorithmOperator, IAnalyzer { #region Parameter properties public ValueLookupParameter MaximizationParameter { get { return (ValueLookupParameter)Parameters["Maximization"]; } diff --git a/HeuristicLab.Analysis/3.3/PopulationMinAverageMaxValueAnalyzer.cs b/HeuristicLab.Analysis/3.3/PopulationMinAverageMaxValueAnalyzer.cs index e30f1f66f9..8cb55771a6 100644 --- a/HeuristicLab.Analysis/3.3/PopulationMinAverageMaxValueAnalyzer.cs +++ b/HeuristicLab.Analysis/3.3/PopulationMinAverageMaxValueAnalyzer.cs @@ -33,7 +33,7 @@ namespace HeuristicLab.Analysis { /// [Item("PopulationMinAverageMaxValueAnalyzer", "An operator which analyzes the minimum, average and maximum of a value in the current population.")] [StorableClass] - public sealed class PopulationMinAverageMaxValueAnalyzer : AlgorithmOperator, IPopulationAnalyzer { + public sealed class PopulationMinAverageMaxValueAnalyzer : AlgorithmOperator, IAnalyzer { #region Parameter properties public SubScopesLookupParameter ValueParameter { get { return (SubScopesLookupParameter)Parameters["Value"]; } diff --git a/HeuristicLab.Analysis/3.3/PopulationQualityAnalyzer.cs b/HeuristicLab.Analysis/3.3/PopulationQualityAnalyzer.cs index 89185f4590..6f821c577e 100644 --- a/HeuristicLab.Analysis/3.3/PopulationQualityAnalyzer.cs +++ b/HeuristicLab.Analysis/3.3/PopulationQualityAnalyzer.cs @@ -33,7 +33,7 @@ namespace HeuristicLab.Analysis { /// [Item("PopulationQualityAnalyzer", "An operator which analyzes the solution qualities in the current population.")] [StorableClass] - public sealed class PopulationQualityAnalyzer : AlgorithmOperator, IPopulationAnalyzer { + public sealed class PopulationQualityAnalyzer : AlgorithmOperator, IAnalyzer { #region Parameter properties public ValueLookupParameter MaximizationParameter { get { return (ValueLookupParameter)Parameters["Maximization"]; } diff --git a/HeuristicLab.Analysis/3.3/PopulationValueAnalyzer.cs b/HeuristicLab.Analysis/3.3/PopulationValueAnalyzer.cs index 47890dc7ae..55c05b3674 100644 --- a/HeuristicLab.Analysis/3.3/PopulationValueAnalyzer.cs +++ b/HeuristicLab.Analysis/3.3/PopulationValueAnalyzer.cs @@ -33,7 +33,7 @@ namespace HeuristicLab.Analysis { /// [Item("PopulationValueAnalyzer", "An operator which analyzes a value in the current population.")] [StorableClass] - public sealed class PopulationValueAnalyzer : AlgorithmOperator, IPopulationAnalyzer { + public sealed class PopulationValueAnalyzer : AlgorithmOperator, IAnalyzer { #region Parameter properties public SubScopesLookupParameter ValueParameter { get { return (SubScopesLookupParameter)Parameters["Value"]; } diff --git a/HeuristicLab.Analysis/3.3/SolutionQualityAnalyzer.cs b/HeuristicLab.Analysis/3.3/SolutionQualityAnalyzer.cs index 47302033c1..61a67d8c8b 100644 --- a/HeuristicLab.Analysis/3.3/SolutionQualityAnalyzer.cs +++ b/HeuristicLab.Analysis/3.3/SolutionQualityAnalyzer.cs @@ -33,7 +33,7 @@ namespace HeuristicLab.Analysis { /// [Item("SolutionQualityAnalyzer", "An operator which analyzes the quality of the current solution.")] [StorableClass] - public sealed class SolutionQualityAnalyzer : AlgorithmOperator, ISolutionAnalyzer { + public sealed class SolutionQualityAnalyzer : AlgorithmOperator, IAnalyzer { #region Parameter properties public ValueLookupParameter MaximizationParameter { get { return (ValueLookupParameter)Parameters["Maximization"]; } diff --git a/HeuristicLab.Analysis/3.3/SolutionValueAnalyzer.cs b/HeuristicLab.Analysis/3.3/SolutionValueAnalyzer.cs index 76a5ebc036..7b41411616 100644 --- a/HeuristicLab.Analysis/3.3/SolutionValueAnalyzer.cs +++ b/HeuristicLab.Analysis/3.3/SolutionValueAnalyzer.cs @@ -33,7 +33,7 @@ namespace HeuristicLab.Analysis { /// [Item("SolutionValueAnalyzer", "An operator which analyzes a value of the current solution.")] [StorableClass] - public sealed class SolutionValueAnalyzer : AlgorithmOperator, ISolutionAnalyzer { + public sealed class SolutionValueAnalyzer : AlgorithmOperator, IAnalyzer { #region Parameter properties public LookupParameter ValueParameter { get { return (LookupParameter)Parameters["Value"]; } diff --git a/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.3/Interfaces/ISymbolicExpressionTreeAnalyzer.cs b/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.3/Interfaces/ISymbolicExpressionTreeAnalyzer.cs index 90c86a4471..4ce7ff9daa 100644 --- a/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.3/Interfaces/ISymbolicExpressionTreeAnalyzer.cs +++ b/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.3/Interfaces/ISymbolicExpressionTreeAnalyzer.cs @@ -33,7 +33,7 @@ namespace HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Interfaces { /// /// Interface for analyzers that can be applied to symbolic expression trees. /// - public interface ISymbolicExpressionTreeAnalyzer : ISolutionAnalyzer { + public interface ISymbolicExpressionTreeAnalyzer : IAnalyzer { ILookupParameter SymbolicExpressionTreeParameter { get; } } } diff --git a/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.3/Interfaces/ISymbolicExpressionTreeMultiPopulationAnalyzer.cs b/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.3/Interfaces/ISymbolicExpressionTreeMultiPopulationAnalyzer.cs index 2ef3a9be10..ac4f9a6cfb 100644 --- a/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.3/Interfaces/ISymbolicExpressionTreeMultiPopulationAnalyzer.cs +++ b/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.3/Interfaces/ISymbolicExpressionTreeMultiPopulationAnalyzer.cs @@ -33,7 +33,7 @@ namespace HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Interfaces { /// /// Interface for analyzers that can be applied to multiple populations of symbolic expression trees. /// - public interface ISymbolicExpressionTreeMultiPopulationAnalyzer : IMultiPopulationAnalyzer { + public interface ISymbolicExpressionTreeMultiPopulationAnalyzer : IAnalyzer { ILookupParameter>> SymbolicExpressionTreeParameter { get; } } } diff --git a/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.3/Interfaces/ISymbolicExpressionTreePopulationAnalyzer.cs b/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.3/Interfaces/ISymbolicExpressionTreePopulationAnalyzer.cs index 5b60b2a8b3..0ac727fd5a 100644 --- a/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.3/Interfaces/ISymbolicExpressionTreePopulationAnalyzer.cs +++ b/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.3/Interfaces/ISymbolicExpressionTreePopulationAnalyzer.cs @@ -33,7 +33,7 @@ namespace HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Interfaces { /// /// Interface for analyzers that can be applied to populations of symbolic expression trees. /// - public interface ISymbolicExpressionTreePopulationAnalyzer : IPopulationAnalyzer { + public interface ISymbolicExpressionTreePopulationAnalyzer : IAnalyzer { ILookupParameter> SymbolicExpressionTreeParameter { get; } } } diff --git a/HeuristicLab.MainForm.WindowsForms/3.3/ViewHost.Designer.cs b/HeuristicLab.MainForm.WindowsForms/3.3/ViewHost.Designer.cs index bb6da8879c..1ef46ec41e 100644 --- a/HeuristicLab.MainForm.WindowsForms/3.3/ViewHost.Designer.cs +++ b/HeuristicLab.MainForm.WindowsForms/3.3/ViewHost.Designer.cs @@ -45,7 +45,6 @@ namespace HeuristicLab.MainForm.WindowsForms { /// private void InitializeComponent() { this.components = new System.ComponentModel.Container(); - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ViewHost)); this.viewPanel = new HeuristicLab.MainForm.WindowsForms.ViewHostPanel(); this.messageLabel = new System.Windows.Forms.Label(); this.viewsLabel = new System.Windows.Forms.Label(); diff --git a/HeuristicLab.Optimization/3.3/HeuristicLab.Optimization-3.3.csproj b/HeuristicLab.Optimization/3.3/HeuristicLab.Optimization-3.3.csproj index 32f10b23b5..3090c6b42f 100644 --- a/HeuristicLab.Optimization/3.3/HeuristicLab.Optimization-3.3.csproj +++ b/HeuristicLab.Optimization/3.3/HeuristicLab.Optimization-3.3.csproj @@ -86,9 +86,6 @@ - - - diff --git a/HeuristicLab.Optimization/3.3/Interfaces/IMultiPopulationAnalyzer.cs b/HeuristicLab.Optimization/3.3/Interfaces/IMultiPopulationAnalyzer.cs deleted file mode 100644 index df8124df51..0000000000 --- a/HeuristicLab.Optimization/3.3/Interfaces/IMultiPopulationAnalyzer.cs +++ /dev/null @@ -1,29 +0,0 @@ -#region License Information -/* HeuristicLab - * Copyright (C) 2002-2010 Heuristic and Evolutionary Algorithms Laboratory (HEAL) - * - * This file is part of HeuristicLab. - * - * HeuristicLab is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * HeuristicLab is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with HeuristicLab. If not, see . - */ -#endregion - -using HeuristicLab.Core; - -namespace HeuristicLab.Optimization { - /// - /// An interface which represents an analysis operator for analyzing multi-populations. - /// - public interface IMultiPopulationAnalyzer : IAnalyzer { } -} diff --git a/HeuristicLab.Optimization/3.3/Interfaces/IPopulationAnalyzer.cs b/HeuristicLab.Optimization/3.3/Interfaces/IPopulationAnalyzer.cs deleted file mode 100644 index 9a20ce484f..0000000000 --- a/HeuristicLab.Optimization/3.3/Interfaces/IPopulationAnalyzer.cs +++ /dev/null @@ -1,29 +0,0 @@ -#region License Information -/* HeuristicLab - * Copyright (C) 2002-2010 Heuristic and Evolutionary Algorithms Laboratory (HEAL) - * - * This file is part of HeuristicLab. - * - * HeuristicLab is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * HeuristicLab is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with HeuristicLab. If not, see . - */ -#endregion - -using HeuristicLab.Core; - -namespace HeuristicLab.Optimization { - /// - /// An interface which represents an analysis operator for analyzing populations. - /// - public interface IPopulationAnalyzer : IAnalyzer { } -} diff --git a/HeuristicLab.Optimization/3.3/Interfaces/ISolutionAnalyzer.cs b/HeuristicLab.Optimization/3.3/Interfaces/ISolutionAnalyzer.cs deleted file mode 100644 index b0249da6c9..0000000000 --- a/HeuristicLab.Optimization/3.3/Interfaces/ISolutionAnalyzer.cs +++ /dev/null @@ -1,29 +0,0 @@ -#region License Information -/* HeuristicLab - * Copyright (C) 2002-2010 Heuristic and Evolutionary Algorithms Laboratory (HEAL) - * - * This file is part of HeuristicLab. - * - * HeuristicLab is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * HeuristicLab is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with HeuristicLab. If not, see . - */ -#endregion - -using HeuristicLab.Core; - -namespace HeuristicLab.Optimization { - /// - /// An interface which represents an analysis operator for analyzing solutions. - /// - public interface ISolutionAnalyzer : IAnalyzer { } -} diff --git a/HeuristicLab.Optimizer/3.3/HeuristicLab.Optimizer-3.3.csproj b/HeuristicLab.Optimizer/3.3/HeuristicLab.Optimizer-3.3.csproj index b62444f8ed..751e3d6d6c 100644 --- a/HeuristicLab.Optimizer/3.3/HeuristicLab.Optimizer-3.3.csproj +++ b/HeuristicLab.Optimizer/3.3/HeuristicLab.Optimizer-3.3.csproj @@ -178,24 +178,18 @@ - ResXFileCodeGenerator Resources.Designer.cs - - - - -