diff --git a/src/eva2/optimization/strategies/BinaryScatterSearch.java b/src/eva2/optimization/strategies/BinaryScatterSearch.java index fed45030..07f4c06f 100644 --- a/src/eva2/optimization/strategies/BinaryScatterSearch.java +++ b/src/eva2/optimization/strategies/BinaryScatterSearch.java @@ -15,6 +15,7 @@ import eva2.optimization.problems.B1Problem; import eva2.optimization.problems.InterfaceOptimizationProblem; import eva2.tools.Pair; import eva2.tools.math.RNG; +import eva2.util.annotation.Description; import java.util.ArrayList; import java.util.BitSet; @@ -22,12 +23,12 @@ import java.util.BitSet; /** * A BinaryScatterSearch implementation taken mainly from [i]. * - * @author Alex *
* F. Gortazar, A. Duarte, M. Laguna and R. Marti: Black Box Scatter Search for * General Classes of Binary Optimization Problems Computers and Operations * research, vol. 37, no. 11, pp. 1977-1986 (2010) */ +@Description("A basic implementation of a Binary ScatterSearch") public class BinaryScatterSearch implements InterfaceOptimizer, java.io.Serializable, InterfacePopulationChangedEventListener { private static boolean TRACE = false; @@ -910,8 +911,4 @@ public class BinaryScatterSearch implements InterfaceOptimizer, java.io.Serializ public String perCentSecondGenMethodTipText() { return "The number of individuals generated with the second Generation Method. The percentage, that is not covered with the first and the second method will be covered with a third method"; } - - public static String globalInfo() { - return "A basic implementation of a Binary ScatterSearch"; - } } diff --git a/src/eva2/optimization/strategies/CBNPSO.java b/src/eva2/optimization/strategies/CBNPSO.java index 8354a052..f3a06a42 100644 --- a/src/eva2/optimization/strategies/CBNPSO.java +++ b/src/eva2/optimization/strategies/CBNPSO.java @@ -16,9 +16,11 @@ import eva2.optimization.problems.InterfaceOptimizationProblem; import eva2.optimization.problems.InterfaceProblemDouble; import eva2.tools.EVAERROR; import eva2.tools.ToolBox; +import eva2.util.annotation.Description; import java.io.Serializable; +@Description("A CBN-EA variant employing PSO and dynamic variation of the clustering parameter by default.") public class CBNPSO extends ClusterBasedNichingEA implements Serializable { private boolean forceUpperClustDist = true; @@ -158,10 +160,6 @@ public class CBNPSO extends ClusterBasedNichingEA implements Serializable { } } - public static String globalInfo() { - return "A CBN-EA variant employing PSO and dynamic variation of the clustering parameter by default."; - } - public void setForceUpperClustDist(boolean forceUpperClustDist) { this.forceUpperClustDist = forceUpperClustDist; } diff --git a/src/eva2/optimization/strategies/CHCAdaptiveSearchAlgorithm.java b/src/eva2/optimization/strategies/CHCAdaptiveSearchAlgorithm.java index dcb5152f..403275fd 100644 --- a/src/eva2/optimization/strategies/CHCAdaptiveSearchAlgorithm.java +++ b/src/eva2/optimization/strategies/CHCAdaptiveSearchAlgorithm.java @@ -22,15 +22,10 @@ import java.util.BitSet; * able to make it competitive to a standard GA.. *sigh* This is a * implementation of the CHC Adaptive Search Algorithm (Cross generational * elitist selection, Heterogeneous recombination and Cataclysmic mutation). - * Citation: - * - * Copyright: Copyright (c) 2003 Company: University of Tuebingen, Computer - * Architecture * - * @author Felix Streichert - * @version: $Revision: 307 $ $Date: 2007-12-04 14:31:47 +0100 (Tue, 04 Dec - * 2007) $ $Author: mkron $ + * ToDo: Check implementation for correctness. */ +@eva2.util.annotation.Description("This is an implementation of the CHC Adaptive Search Algorithm by Eselman.") public class CHCAdaptiveSearchAlgorithm implements InterfaceOptimizer, java.io.Serializable { private double initialDifferenceThreshold = 0.25; @@ -310,19 +305,6 @@ public class CHCAdaptiveSearchAlgorithm implements InterfaceOptimizer, java.io.S return this.identifier; } - /** - * ******************************************************************************************************************** - * These are for GUI - */ - /** - * This method returns a global info string - * - * @return description - */ - public static String globalInfo() { - return "This is an implementation of the CHC Adaptive Search Algorithm by Eselman."; - } - /** * This method will return a naming String * diff --git a/src/eva2/optimization/strategies/ClusterBasedNichingEA.java b/src/eva2/optimization/strategies/ClusterBasedNichingEA.java index 6bbdb31d..32ecf965 100644 --- a/src/eva2/optimization/strategies/ClusterBasedNichingEA.java +++ b/src/eva2/optimization/strategies/ClusterBasedNichingEA.java @@ -26,6 +26,7 @@ import eva2.optimization.problems.*; import eva2.tools.EVAERROR; import eva2.tools.chart2d.*; import eva2.tools.math.Mathematics; +import eva2.util.annotation.Description; import java.util.*; @@ -41,17 +42,13 @@ import java.util.*; * For the CBN-PSO remember to use the IndividualDataMetric so that the * remembered positions are used for clustering (which are rel. stable - so that * species clustering actually makes sense). - * - * Copyright: Copyright (c) 2010 Company: University of Tuebingen, Computer - * Architecture - * - * @author Felix Streichert, Marcel Kronfeld */ +@Description("This is a versatile species based niching EA method.") public class ClusterBasedNichingEA implements InterfacePopulationChangedEventListener, InterfaceAdditionalPopulationInformer, InterfaceOptimizer, java.io.Serializable { private static final long serialVersionUID = -3143069327594708609L; private Population population = new Population(); - private transient Population poulationArchive = new Population(); + private transient Population populationArchive = new Population(); private ArrayListTitle: EvA2
- * Description:
Copyright: Copyright (c) 2003
Company:
+ * local search will not be activated at all. * - * @author not attributable * @version 1.0 */ +@Description("This is a basic generational Memetic Algorithm. Local search steps are performed on a selected subset " + + "of individuals after certain numbers of global search iterations. Note " + + "that the problem class must implement InterfaceLocalSearchable.") public class MemeticAlgorithm implements InterfaceOptimizer, java.io.Serializable { @@ -259,22 +261,6 @@ public class MemeticAlgorithm implements InterfaceOptimizer, } - /* - * ======================================================================================== - * These are for GUI - */ - - /** - * This method returns a global info string - * - * @return description - */ - public static String globalInfo() { - return "This is a basic generational Memetic Algorithm. Local search steps are performed on a selected subset " - + "of individuals after certain numbers of global search iterations. Note " - + "that the problem class must implement InterfaceLocalSearchable."; - } - /** * This method will return a naming String * diff --git a/src/eva2/optimization/strategies/MultiObjectiveCMAES.java b/src/eva2/optimization/strategies/MultiObjectiveCMAES.java index 0d58a1ad..32e1f372 100644 --- a/src/eva2/optimization/strategies/MultiObjectiveCMAES.java +++ b/src/eva2/optimization/strategies/MultiObjectiveCMAES.java @@ -11,13 +11,15 @@ import eva2.optimization.population.Population; import eva2.optimization.population.SolutionSet; import eva2.optimization.problems.AbstractOptimizationProblem; import eva2.optimization.problems.InterfaceOptimizationProblem; +import eva2.util.annotation.Description; import java.io.Serializable; import java.util.HashMap; /** - * @author mkron + * ToDo: Document */ +@Description("A multi-objective CMA-ES variant after Igel, Hansen and Roth 2007 (EC 15(1),1-28).") public class MultiObjectiveCMAES implements InterfaceOptimizer, Serializable { /** @@ -131,10 +133,6 @@ public class MultiObjectiveCMAES implements InterfaceOptimizer, Serializable { return "(1+" + m_lambda + ") MO-CMA-ES"; } - public static String globalInfo() { - return "A multi-objective CMA-ES variant after Igel, Hansen and Roth 2007 (EC 15(1),1-28)."; - } - /* * (non-Javadoc) * diff --git a/src/eva2/optimization/strategies/MultiObjectiveEA.java b/src/eva2/optimization/strategies/MultiObjectiveEA.java index 85ac6051..e42a7c4f 100644 --- a/src/eva2/optimization/strategies/MultiObjectiveEA.java +++ b/src/eva2/optimization/strategies/MultiObjectiveEA.java @@ -14,6 +14,7 @@ import eva2.optimization.population.SolutionSet; import eva2.optimization.problems.AbstractOptimizationProblem; import eva2.optimization.problems.FM0Problem; import eva2.optimization.problems.InterfaceOptimizationProblem; +import eva2.util.annotation.Description; /** * A generic framework for multi-objecitve optimization, you need to specify an @@ -24,10 +25,9 @@ import eva2.optimization.problems.InterfaceOptimizationProblem; * optimizer instead of this MOEA, such an optimizer would randomly toggle * between the objective for each selection and thus explore at least the * extreme points of the objective space, but simpler methods like random search - * or hill-climbing might even fail on that. Created by IntelliJ IDEA. User: - * streiche Date: 05.06.2003 Time: 11:03:50 To change this template use Options - * | File Templates. + * or hill-climbing might even fail on that. */ +@Description("This is a general Multi-objective Evolutionary Optimization Framework.") public class MultiObjectiveEA implements InterfaceOptimizer, java.io.Serializable { private InterfaceOptimizer m_Optimizer = new GeneticAlgorithm(); @@ -230,19 +230,6 @@ public class MultiObjectiveEA implements InterfaceOptimizer, java.io.Serializabl return this.m_Identifier; } - /** - * ******************************************************************************************************************** - * These are for GUI - */ - /** - * This method returns a global info string - * - * @return description - */ - public static String globalInfo() { - return "This is a general Multi-objective Evolutionary Optimization Framework."; - } - /** * This method will return a naming String * diff --git a/src/eva2/optimization/strategies/NelderMeadSimplex.java b/src/eva2/optimization/strategies/NelderMeadSimplex.java index 48f28461..3ae77d9a 100644 --- a/src/eva2/optimization/strategies/NelderMeadSimplex.java +++ b/src/eva2/optimization/strategies/NelderMeadSimplex.java @@ -11,6 +11,7 @@ import eva2.optimization.problems.AbstractOptimizationProblem; import eva2.optimization.problems.AbstractProblemDouble; import eva2.optimization.problems.InterfaceOptimizationProblem; import eva2.tools.math.Mathematics; +import eva2.util.annotation.Description; import java.io.Serializable; import java.util.Vector; @@ -19,9 +20,8 @@ import java.util.Vector; * Nelder-Mead-Simplex does not guarantee an equal number of evaluations within * each optimize call because of the different step types. Range check is now * available by projection at the bounds. - * - * @author mkron */ +@Description("The Nelder-Mead simplex search algorithm for local search. Reflection on bounds may be used for constraint handling.") public class NelderMeadSimplex implements InterfaceOptimizer, Serializable, InterfacePopulationChangedEventListener { private int populationSize = 100; @@ -231,10 +231,6 @@ public class NelderMeadSimplex implements InterfaceOptimizer, Serializable, Inte return m_Identifier; } - public static String globalInfo() { - return "The Nelder-Mead simplex search algorithm for local search. Reflection on bounds may be used for constraint handling."; - } - @Override public Population getPopulation() { return m_Population; diff --git a/src/eva2/optimization/strategies/ParticleFilterOptimization.java b/src/eva2/optimization/strategies/ParticleFilterOptimization.java index 9eebc8a6..eb12b1fc 100644 --- a/src/eva2/optimization/strategies/ParticleFilterOptimization.java +++ b/src/eva2/optimization/strategies/ParticleFilterOptimization.java @@ -17,20 +17,15 @@ import eva2.optimization.population.SolutionSet; import eva2.optimization.problems.AbstractOptimizationProblem; import eva2.optimization.problems.F1Problem; import eva2.optimization.problems.InterfaceOptimizationProblem; +import eva2.util.annotation.Description; /** * This is a Particle Filter implemented by Frank Senke, only some documentation * here and not completely checked whether this works on arbitrary problem * instances. MK did some adaptations, this should work on real valued problems * now. - * - * This is a implementation of Genetic Algorithms. Copyright: Copyright (c) 2003 - * Company: University of Tuebingen, Computer Architecture - * - * @author Felix Streichert - * @version: $Revision: 307 $ $Date: 2007-12-04 14:31:47 +0100 (Tue, 04 Dec - * 2007) $ $Author: mkron $ */ +@Description("This is a Particle Filter Algorithm.") public class ParticleFilterOptimization implements InterfaceOptimizer, java.io.Serializable { /** @@ -41,7 +36,6 @@ public class ParticleFilterOptimization implements InterfaceOptimizer, java.io.S private Population m_Population = new Population(); private InterfaceOptimizationProblem m_Problem = new F1Problem(); private InterfaceSelection m_ParentSelection = new SelectParticleWheel(0.5); - //private boolean m_UseElitism = true; private String m_Identifier = ""; private boolean withShow = false; private double mutationSigma = 0.01; @@ -341,19 +335,6 @@ public class ParticleFilterOptimization implements InterfaceOptimizer, java.io.S return this.m_Identifier; } - /** - * ******************************************************************************************************************** - * These are for GUI - */ - /** - * This method returns a global info string - * - * @return description - */ - public static String globalInfo() { - return "This is a Particle Filter Algorithm."; - } - /** * This method will return a naming String * diff --git a/src/eva2/optimization/strategies/ParticleSwarmOptimization.java b/src/eva2/optimization/strategies/ParticleSwarmOptimization.java index b080522f..deb3c9c5 100644 --- a/src/eva2/optimization/strategies/ParticleSwarmOptimization.java +++ b/src/eva2/optimization/strategies/ParticleSwarmOptimization.java @@ -23,6 +23,7 @@ import eva2.tools.chart2d.DPointSet; import eva2.tools.math.Jama.Matrix; import eva2.tools.math.Mathematics; import eva2.tools.math.RNG; +import eva2.util.annotation.Description; import java.util.ArrayList; import java.util.Arrays; @@ -38,6 +39,7 @@ import java.util.Vector; * Possible topologies are: "Linear", "Grid", "Star", "Multi-Swarm", "Tree", * "HPSO", "Random" in that order starting by 0. */ +@Description("Particle Swarm Optimization by Kennedy and Eberhart.") public class ParticleSwarmOptimization implements InterfaceOptimizer, java.io.Serializable, InterfaceAdditionalPopulationInformer { /** @@ -1725,19 +1727,6 @@ public class ParticleSwarmOptimization implements InterfaceOptimizer, java.io.Se return this.m_Identifier; } - /** - * ******************************************************************************************************************** - * These are for GUI - */ - /** - * This method returns a global info string - * - * @return description - */ - public static String globalInfo() { - return "Particle Swarm Optimization by Kennedy and Eberhart."; - } - /** * This method will return a naming String * diff --git a/src/eva2/optimization/strategies/ParticleSwarmOptimizationGCPSO.java b/src/eva2/optimization/strategies/ParticleSwarmOptimizationGCPSO.java index 667d9239..b435a63c 100644 --- a/src/eva2/optimization/strategies/ParticleSwarmOptimizationGCPSO.java +++ b/src/eva2/optimization/strategies/ParticleSwarmOptimizationGCPSO.java @@ -2,6 +2,7 @@ package eva2.optimization.strategies; import eva2.optimization.individuals.AbstractEAIndividual; import eva2.tools.math.RNG; +import eva2.util.annotation.Description; /** * This extends the particle swarm optimization implementation @@ -9,6 +10,7 @@ import eva2.tools.math.RNG; * Franz van den Bergh in "An Analysis of Particle Swarm Optimizers". * In this modification the velocity of the global best particle is updated differently. */ +@Description("Guaranteed Convergence Particle Swarm Optimiser (GCPSO) as proposed by F. van den Bergh.") public class ParticleSwarmOptimizationGCPSO extends ParticleSwarmOptimization { // choosable parameters: protected boolean gcpso; @@ -71,16 +73,6 @@ public class ParticleSwarmOptimizationGCPSO extends ParticleSwarmOptimization { this.SetRhoDecreaseFactor(a.getRhoDecreaseFactor()); } - /** - * This method returns a global info string - * - * @return description - */ - public static String globalInfo() { - return "Guaranteed Convergence Particle Swarm Optimiser (GCPSO) " + - "as proposed by F. van den Bergh."; - } - /********************************************************************************************************************** * overwritten */ diff --git a/src/eva2/optimization/strategies/PopulationBasedIncrementalLearning.java b/src/eva2/optimization/strategies/PopulationBasedIncrementalLearning.java index 0a077d5a..ec83f752 100644 --- a/src/eva2/optimization/strategies/PopulationBasedIncrementalLearning.java +++ b/src/eva2/optimization/strategies/PopulationBasedIncrementalLearning.java @@ -12,6 +12,7 @@ import eva2.optimization.population.SolutionSet; import eva2.optimization.problems.AbstractOptimizationProblem; import eva2.optimization.problems.B1Problem; import eva2.optimization.problems.InterfaceOptimizationProblem; +import eva2.util.annotation.Description; /** * Population based incremental learning in the PSM by Monmarche version with @@ -22,14 +23,8 @@ import eva2.optimization.problems.InterfaceOptimizationProblem; * Nicolas Monmarché , Eric Ramat , Guillaume Dromel , Mohamed Slimane , Gilles * Venturini: On the similarities between AS, BSC and PBIL: toward the birth of * a new meta-heuristic. TecReport 215. Univ. de Tours, 1999. - * - * Copyright: Copyright (c) 2003 Company: University of Tuebingen, Computer - * Architecture - * - * @author Felix Streichert - * @version: $Revision: 307 $ $Date: 2007-12-04 14:31:47 +0100 (Tue, 04 Dec - * 2007) $ $Author: mkron $ */ +@Description("The Population based incremental learning is based on a statistical distribution of bit positions. Please note: This optimizer requires a binary genotype!") public class PopulationBasedIncrementalLearning implements InterfaceOptimizer, java.io.Serializable { // These variables are necessary for the simple testcase @@ -221,19 +216,6 @@ public class PopulationBasedIncrementalLearning implements InterfaceOptimizer, j return this.m_Identifier; } - /** - * ******************************************************************************************************************** - * These are for GUI - */ - /** - * This method returns a global info string - * - * @return description - */ - public static String globalInfo() { - return "The Population based incremental learning is based on a statistical distribution of bit positions. Please note: This optimizer requires a binary genotype!"; - } - /** * This method will return a naming String * diff --git a/src/eva2/optimization/strategies/SimulatedAnnealing.java b/src/eva2/optimization/strategies/SimulatedAnnealing.java index 2d0f6de3..57397166 100644 --- a/src/eva2/optimization/strategies/SimulatedAnnealing.java +++ b/src/eva2/optimization/strategies/SimulatedAnnealing.java @@ -9,15 +9,15 @@ import eva2.optimization.population.SolutionSet; import eva2.optimization.problems.B1Problem; import eva2.optimization.problems.InterfaceOptimizationProblem; import eva2.tools.math.RNG; +import eva2.util.annotation.Description; /** * Simulated Annealing by Nelder and Mead, a simple yet efficient local search * method. But to become less prone to premature convergence the cooling rate * has to be tuned to the optimization problem at hand. Again the population - * size gives the number of multi-starts. Created by IntelliJ IDEA. User: - * streiche Date: 13.05.2004 Time: 10:30:26 To change this template use File | - * Settings | File Templates. + * size gives the number of multi-starts. */ +@Description("The simulated annealing uses an additional cooling rate instead of a simple dominate criteria to accept worse solutions by chance.") public class SimulatedAnnealing implements InterfaceOptimizer, java.io.Serializable { // These variables are necessary for the simple testcase @@ -248,18 +248,6 @@ public class SimulatedAnnealing implements InterfaceOptimizer, java.io.Serializa return this.m_Identifier; } - /** - * ******************************************************************************************************************** - * These are for GUI - */ - /** - * This method returns a global info string - * - * @return description - */ - public static String globalInfo() { - return "The simulated annealing uses an additional cooling rate instead of a simple dominate criteria to accpect worse solutions by chance."; - } /** * This method will return a naming String diff --git a/src/eva2/optimization/strategies/SteadyStateGA.java b/src/eva2/optimization/strategies/SteadyStateGA.java index 6d4aacd0..f115af05 100644 --- a/src/eva2/optimization/strategies/SteadyStateGA.java +++ b/src/eva2/optimization/strategies/SteadyStateGA.java @@ -12,14 +12,14 @@ import eva2.optimization.population.Population; import eva2.optimization.population.SolutionSet; import eva2.optimization.problems.B1Problem; import eva2.optimization.problems.InterfaceOptimizationProblem; +import eva2.util.annotation.Description; /** * A simple implementation of the steady-state GA with variable replacement * schemes. To reduce the logging effort population.size() optimization steps - * are performed each time optimize() is called. Created by IntelliJ IDEA. User: - * streiche Date: 19.07.2005 Time: 14:30:20 To change this template use File | - * Settings | File Templates. + * are performed each time optimize() is called. */ +@Description("This is a Steady-State Genetic Algorithm.") public class SteadyStateGA implements InterfaceOptimizer, java.io.Serializable { private Population population = new Population(); @@ -191,19 +191,6 @@ public class SteadyStateGA implements InterfaceOptimizer, java.io.Serializable { return this.identifier; } - /** - * ******************************************************************************************************************** - * These are for GUI - */ - /** - * This method returns a global info string - * - * @return description - */ - public static String globalInfo() { - return "This is a Steady-State Genetic Algorithm."; - } - /** * This method will return a naming String * diff --git a/src/eva2/optimization/strategies/ThresholdAlgorithm.java b/src/eva2/optimization/strategies/ThresholdAlgorithm.java index 87e0d641..745fdd4d 100644 --- a/src/eva2/optimization/strategies/ThresholdAlgorithm.java +++ b/src/eva2/optimization/strategies/ThresholdAlgorithm.java @@ -8,12 +8,13 @@ import eva2.optimization.population.Population; import eva2.optimization.population.SolutionSet; import eva2.optimization.problems.B1Problem; import eva2.optimization.problems.InterfaceOptimizationProblem; +import eva2.util.annotation.Description; /** * Threshold accepting algorithm simliar strategy as the flood algorithm, - * similar problems. Created by IntelliJ IDEA. User: streiche Date: 01.10.2004 - * Time: 13:35:49 To change this template use File | Settings | File Templates. + * similar problems. */ +@Description("The threshold algorithm uses an declining threshold to accpect new solutions.") public class ThresholdAlgorithm implements InterfaceOptimizer, java.io.Serializable { // These variables are necessary for the simple testcase @@ -238,19 +239,6 @@ public class ThresholdAlgorithm implements InterfaceOptimizer, java.io.Serializa return this.m_Identifier; } - /** - * ******************************************************************************************************************** - * These are for GUI - */ - /** - * This method returns a global info string - * - * @return description - */ - public static String globalInfo() { - return "The threshold algorithm uses an declining threshold to accpect new solutions."; - } - /** * This method will return a naming String * diff --git a/src/eva2/optimization/strategies/Tribes.java b/src/eva2/optimization/strategies/Tribes.java index e82a5f52..b932e960 100644 --- a/src/eva2/optimization/strategies/Tribes.java +++ b/src/eva2/optimization/strategies/Tribes.java @@ -15,6 +15,7 @@ import eva2.optimization.strategies.tribes.TribesExplorer; import eva2.optimization.strategies.tribes.TribesParam; import eva2.optimization.strategies.tribes.TribesPosition; import eva2.optimization.strategies.tribes.TribesSwarm; +import eva2.util.annotation.Description; import java.util.Iterator; import java.util.List; @@ -130,6 +131,7 @@ import java.util.List; 2005-11-21. Check if it is possible to easily find just the _value_ of the global minimum (not the position). "Chinese shadow" method? */ +@Description("TRIBES: a parameter free PSO implementation by Maurice Clerc.") public class Tribes implements InterfaceOptimizer, java.io.Serializable { public static final boolean TRACE = false; @@ -667,12 +669,10 @@ public class Tribes implements InterfaceOptimizer, java.io.Serializable { @Override public String getStringRepresentation() { - return globalInfo(); + // ToDo: Implement properly (was globalInfo) + return "Not implemented"; } - public static String globalInfo() { - return "TRIBES: a parameter free PSO implementation by Maurice Clerc."; - } public void incEvalCnt() { population.incrFunctionCalls(); diff --git a/src/eva2/optimization/strategies/WingedMultiObjectiveEA.java b/src/eva2/optimization/strategies/WingedMultiObjectiveEA.java index d94750e8..607659d7 100644 --- a/src/eva2/optimization/strategies/WingedMultiObjectiveEA.java +++ b/src/eva2/optimization/strategies/WingedMultiObjectiveEA.java @@ -10,6 +10,7 @@ import eva2.optimization.population.SolutionSet; import eva2.optimization.problems.AbstractMultiObjectiveOptimizationProblem; import eva2.optimization.problems.FM0Problem; import eva2.optimization.problems.InterfaceOptimizationProblem; +import eva2.util.annotation.Description; /** * The winged MOEA was a nice idea, which didn't really work out. Here a @@ -17,9 +18,8 @@ import eva2.optimization.problems.InterfaceOptimizationProblem; * just one objective. The idea was that these local optimizers would span the * search space and would allow the MOEA to converge faster. But in the end the * performance of this algorithm strongly depends on the optimization problem. - * Created by IntelliJ IDEA. User: streiche Date: 16.02.2005 Time: 16:34:22 To - * change this template use File | Settings | File Templates. */ +@Description("This is Evolutionary Multi-Criteria Optimization Algorithm hybridized with Local Searchers to span the Pareto-Front.") public class WingedMultiObjectiveEA implements InterfaceOptimizer, java.io.Serializable { private InterfaceOptimizer m_MOOptimizer = new MultiObjectiveEA(); @@ -28,7 +28,6 @@ public class WingedMultiObjectiveEA implements InterfaceOptimizer, java.io.Seria private Population m_Population = new Population(); private int m_MigrationRate = 5; private int m_OutputDimension = 2; - private int m_NumberOfLocalOptimizers = 2; private InterfaceOptimizationProblem m_Problem = new FM0Problem(); private String m_Identifier = ""; transient private InterfacePopulationChangedEventListener m_Listener; @@ -285,19 +284,6 @@ public class WingedMultiObjectiveEA implements InterfaceOptimizer, java.io.Seria return this.m_Identifier; } - /** - * ******************************************************************************************************************** - * These are for GUI - */ - /** - * This method returns a global info string - * - * @return description - */ - public static String globalInfo() { - return "This is Evolutionary Multi-Criteria Optimization Algorithm hybridized with Local Searchers to span the Pareto-Front."; - } - /** * This method will return a naming String *