From 6f72d70f94ed5cfc4ca0ee6fe066122296e24361 Mon Sep 17 00:00:00 2001 From: Fabian Becker Date: Tue, 10 Dec 2013 20:25:22 +0100 Subject: [PATCH] Changed Description annotation. Added @Description to all F-Functions --- src/eva2/gui/BeanInspector.java | 2 +- src/eva2/gui/OptimizationEditorPanel.java | 2 +- .../go/StandaloneOptimization.java | 2 +- .../AbstractEAIndividualComparator.java | 2 +- .../individuals/ESIndividualBinaryData.java | 2 +- .../individuals/ESIndividualDoubleData.java | 2 +- .../individuals/ESIndividualIntegerData.java | 2 +- .../ESIndividualPermutationData.java | 2 +- .../GAESIndividualBinaryDoubleData.java | 2 +- .../individuals/GAIndividualBinaryData.java | 2 +- .../individuals/GAIndividualDoubleData.java | 2 +- .../individuals/GAIndividualIntegerData.java | 2 +- .../individuals/GEIndividualProgramData.java | 2 +- .../individuals/GIIndividualIntegerData.java | 2 +- ...IOBGAIndividualIntegerPermutationData.java | 2 +- .../individuals/GPIndividualProgramData.java | 2 +- .../OBGAIndividualPermutationData.java | 2 +- .../operator/archiving/ArchivingNSGA.java | 2 +- .../terminators/CombinedTerminator.java | 2 +- .../terminators/EvaluationTerminator.java | 2 +- .../terminators/GenerationTerminator.java | 2 +- .../optimization/problems/F10Problem.java | 20 +----- .../optimization/problems/F11Problem.java | 20 +----- .../optimization/problems/F12Problem.java | 22 ++---- .../optimization/problems/F13Problem.java | 15 +--- .../optimization/problems/F14Problem.java | 20 +----- .../optimization/problems/F15Problem.java | 8 +-- .../optimization/problems/F16Problem.java | 8 +-- .../optimization/problems/F17Problem.java | 6 +- .../optimization/problems/F18Problem.java | 10 +-- .../optimization/problems/F19Problem.java | 7 +- src/eva2/optimization/problems/F1Problem.java | 11 +-- .../optimization/problems/F20Problem.java | 7 ++ .../optimization/problems/F21Problem.java | 9 +-- src/eva2/optimization/problems/F2Problem.java | 22 +----- src/eva2/optimization/problems/F3Problem.java | 17 +---- src/eva2/optimization/problems/F4Problem.java | 22 ++---- src/eva2/optimization/problems/F5Problem.java | 21 ++---- src/eva2/optimization/problems/F6Problem.java | 14 +--- src/eva2/optimization/problems/F7Problem.java | 20 +----- src/eva2/optimization/problems/F8Problem.java | 72 +------------------ src/eva2/optimization/problems/F9Problem.java | 17 ++--- .../optimization/problems/FLensProblem.java | 2 +- .../stat/EvAStatisticalEvaluationParams.java | 2 +- .../stat/OptimizationJobList.java | 2 +- .../stat/StatisticsParameter.java | 4 +- .../strategies/ArtificialBeeColony.java | 2 +- src/eva2/optimization/strategies/BOA.java | 2 +- .../strategies/DifferentialEvolution.java | 2 +- .../strategies/GeneticAlgorithm.java | 2 +- .../optimization/strategies/NichePSO.java | 2 +- src/eva2/util/annotation/Description.java | 2 +- 52 files changed, 100 insertions(+), 332 deletions(-) diff --git a/src/eva2/gui/BeanInspector.java b/src/eva2/gui/BeanInspector.java index 51593522..85f33892 100644 --- a/src/eva2/gui/BeanInspector.java +++ b/src/eva2/gui/BeanInspector.java @@ -638,7 +638,7 @@ public class BeanInspector { Description description = obj.getClass().getAnnotation(Description.class); if (description != null) { infoBf.append("\t"); - infoBf.append(description.text()); + infoBf.append(description.value()); } } diff --git a/src/eva2/gui/OptimizationEditorPanel.java b/src/eva2/gui/OptimizationEditorPanel.java index bcc8df0c..d7af029c 100644 --- a/src/eva2/gui/OptimizationEditorPanel.java +++ b/src/eva2/gui/OptimizationEditorPanel.java @@ -356,7 +356,7 @@ public class OptimizationEditorPanel extends JPanel implements ItemListener { if (tip == null || tip.isEmpty()) { Description description = instances.get(i).getAnnotation(Description.class); if (description != null) { - tip = description.text(); + tip = description.value(); } } diff --git a/src/eva2/optimization/go/StandaloneOptimization.java b/src/eva2/optimization/go/StandaloneOptimization.java index 4a79c13d..6d2e27cc 100644 --- a/src/eva2/optimization/go/StandaloneOptimization.java +++ b/src/eva2/optimization/go/StandaloneOptimization.java @@ -33,7 +33,7 @@ import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; -@eva2.util.annotation.Description(text = "This is a simple example framework for Evolutionary Algorithms.") +@eva2.util.annotation.Description(value = "This is a simple example framework for Evolutionary Algorithms.") public class StandaloneOptimization implements InterfaceStandaloneOptimization, InterfacePopulationChangedEventListener, java.io.Serializable { // Interface GUI Stuff diff --git a/src/eva2/optimization/individuals/AbstractEAIndividualComparator.java b/src/eva2/optimization/individuals/AbstractEAIndividualComparator.java index 1288e730..c6da50bd 100644 --- a/src/eva2/optimization/individuals/AbstractEAIndividualComparator.java +++ b/src/eva2/optimization/individuals/AbstractEAIndividualComparator.java @@ -19,7 +19,7 @@ import java.util.Comparator; * @author mkron * @see #AbstractEAIndividual().isDominatingFitness(double[], double[]) */ -@eva2.util.annotation.Description(text = "A comparator class for general EA individuals. Compares individuals based on their fitness in context of minimization.") +@eva2.util.annotation.Description(value = "A comparator class for general EA individuals. Compares individuals based on their fitness in context of minimization.") public class AbstractEAIndividualComparator implements Comparator, Serializable { // flag whether a data field should be used. private String indyDataKey = ""; diff --git a/src/eva2/optimization/individuals/ESIndividualBinaryData.java b/src/eva2/optimization/individuals/ESIndividualBinaryData.java index 3da2407b..51b0b1e2 100644 --- a/src/eva2/optimization/individuals/ESIndividualBinaryData.java +++ b/src/eva2/optimization/individuals/ESIndividualBinaryData.java @@ -14,7 +14,7 @@ import java.util.BitSet; * This individual uses a real-valued genotype to code for binary values, either * by using a threshold value of by interpreting the double value as probability. */ -@eva2.util.annotation.Description(text = "This is an ES individual adopted to optimize binary values.") +@eva2.util.annotation.Description(value = "This is an ES individual adopted to optimize binary values.") public class ESIndividualBinaryData extends AbstractEAIndividual implements InterfaceESIndividual, InterfaceDataTypeBinary, java.io.Serializable { private BitSet m_Phenotype = new BitSet(); diff --git a/src/eva2/optimization/individuals/ESIndividualDoubleData.java b/src/eva2/optimization/individuals/ESIndividualDoubleData.java index a0887062..69437004 100644 --- a/src/eva2/optimization/individuals/ESIndividualDoubleData.java +++ b/src/eva2/optimization/individuals/ESIndividualDoubleData.java @@ -15,7 +15,7 @@ import eva2.util.annotation.Description; /** * This individual uses a real-valued genotype to code for double values. */ -@Description(text = "This is an ES individual suited to optimize double values.") +@Description(value = "This is an ES individual suited to optimize double values.") public class ESIndividualDoubleData extends AbstractEAIndividual implements InterfaceESIndividual, InterfaceDataTypeDouble, java.io.Serializable { private double[] genotype; diff --git a/src/eva2/optimization/individuals/ESIndividualIntegerData.java b/src/eva2/optimization/individuals/ESIndividualIntegerData.java index 57670bc2..c9002a1c 100644 --- a/src/eva2/optimization/individuals/ESIndividualIntegerData.java +++ b/src/eva2/optimization/individuals/ESIndividualIntegerData.java @@ -11,7 +11,7 @@ import eva2.util.annotation.Description; /** * This individual uses a real-valued genotype to code for integer values. */ -@Description(text = "This is an ES individual suited to optimize integer values.") +@Description(value = "This is an ES individual suited to optimize integer values.") public class ESIndividualIntegerData extends AbstractEAIndividual implements InterfaceESIndividual, InterfaceDataTypeInteger, java.io.Serializable { private double[] genotype; diff --git a/src/eva2/optimization/individuals/ESIndividualPermutationData.java b/src/eva2/optimization/individuals/ESIndividualPermutationData.java index 68c21e51..1005f101 100644 --- a/src/eva2/optimization/individuals/ESIndividualPermutationData.java +++ b/src/eva2/optimization/individuals/ESIndividualPermutationData.java @@ -12,7 +12,7 @@ import eva2.util.annotation.Description; * This individual uses a real-valued genotype to code for a permutations, * the sorting of the real-valued genotype gives the permutation. */ -@Description(text = "This is an ES individual suited to optimize permutations.") +@Description(value = "This is an ES individual suited to optimize permutations.") public class ESIndividualPermutationData extends AbstractEAIndividual implements InterfaceESIndividual, InterfaceDataTypePermutation, java.io.Serializable { private double[][] m_Genotype; diff --git a/src/eva2/optimization/individuals/GAESIndividualBinaryDoubleData.java b/src/eva2/optimization/individuals/GAESIndividualBinaryDoubleData.java index b608f427..946b24fc 100644 --- a/src/eva2/optimization/individuals/GAESIndividualBinaryDoubleData.java +++ b/src/eva2/optimization/individuals/GAESIndividualBinaryDoubleData.java @@ -12,7 +12,7 @@ import java.util.BitSet; /** * This individual combines a binary and a real-valued phenotype. */ -@Description(text = "This is a mixed data type combining a BitSet and a real-valued vector.") +@Description(value = "This is a mixed data type combining a BitSet and a real-valued vector.") public class GAESIndividualBinaryDoubleData extends AbstractEAIndividual implements InterfaceDataTypeBinary, InterfaceDataTypeDouble, java.io.Serializable { private InterfaceDataTypeDouble m_Numbers = new ESIndividualDoubleData(); diff --git a/src/eva2/optimization/individuals/GAIndividualBinaryData.java b/src/eva2/optimization/individuals/GAIndividualBinaryData.java index 99b80471..b853a53b 100644 --- a/src/eva2/optimization/individuals/GAIndividualBinaryData.java +++ b/src/eva2/optimization/individuals/GAIndividualBinaryData.java @@ -14,7 +14,7 @@ import java.util.BitSet; /** * This individual uses a binary genotype to code for binary values. */ -@Description(text = "This is a GA individual suited to optimize binary values.") +@Description(value = "This is a GA individual suited to optimize binary values.") public class GAIndividualBinaryData extends AbstractEAIndividual implements InterfaceDataTypeBinary, InterfaceGAIndividual, java.io.Serializable { protected BitSet m_Genotype = new BitSet(); diff --git a/src/eva2/optimization/individuals/GAIndividualDoubleData.java b/src/eva2/optimization/individuals/GAIndividualDoubleData.java index e4d77d70..752d0045 100644 --- a/src/eva2/optimization/individuals/GAIndividualDoubleData.java +++ b/src/eva2/optimization/individuals/GAIndividualDoubleData.java @@ -17,7 +17,7 @@ import java.util.BitSet; * This individual uses a binary genotype to code for double values * using two alternative encodings. */ -@Description(text = "This is a GA individual suited to optimize double values.") +@Description(value = "This is a GA individual suited to optimize double values.") public class GAIndividualDoubleData extends AbstractEAIndividual implements InterfaceGAIndividual, InterfaceDataTypeDouble, java.io.Serializable { private double[] m_Phenotype; diff --git a/src/eva2/optimization/individuals/GAIndividualIntegerData.java b/src/eva2/optimization/individuals/GAIndividualIntegerData.java index 5b31d328..e89cd399 100644 --- a/src/eva2/optimization/individuals/GAIndividualIntegerData.java +++ b/src/eva2/optimization/individuals/GAIndividualIntegerData.java @@ -16,7 +16,7 @@ import java.util.BitSet; * This individual uses a binary genotype to code for binary values using * two alternative encodings. */ -@Description(text = "This is a GA individual suited to optimize int values.") +@Description(value = "This is a GA individual suited to optimize int values.") public class GAIndividualIntegerData extends AbstractEAIndividual implements InterfaceGAIndividual, InterfaceDataTypeInteger, java.io.Serializable { private int[] phenotype; diff --git a/src/eva2/optimization/individuals/GEIndividualProgramData.java b/src/eva2/optimization/individuals/GEIndividualProgramData.java index fc869328..7ef5bcd4 100644 --- a/src/eva2/optimization/individuals/GEIndividualProgramData.java +++ b/src/eva2/optimization/individuals/GEIndividualProgramData.java @@ -18,7 +18,7 @@ import java.util.BitSet; * This individual uses a binary genotype to code for a tree-based representation * using a BNF grammar, see also Grammatical Evolution. */ -@Description(text = "This is a GE individual suited to optimize programs.") +@Description(value = "This is a GE individual suited to optimize programs.") public class GEIndividualProgramData extends AbstractEAIndividual implements InterfaceGAIndividual, InterfaceDataTypeProgram, java.io.Serializable { protected GPArea[] m_Area; diff --git a/src/eva2/optimization/individuals/GIIndividualIntegerData.java b/src/eva2/optimization/individuals/GIIndividualIntegerData.java index 7f28c716..cb2b9ac1 100644 --- a/src/eva2/optimization/individuals/GIIndividualIntegerData.java +++ b/src/eva2/optimization/individuals/GIIndividualIntegerData.java @@ -11,7 +11,7 @@ import eva2.util.annotation.Description; /** * This individual uses a integer genotype to code for integer values. */ -@Description(text = "This is a GI individual suited to optimize int values.") +@Description(value = "This is a GI individual suited to optimize int values.") public class GIIndividualIntegerData extends AbstractEAIndividual implements InterfaceGIIndividual, InterfaceDataTypeInteger, java.io.Serializable { private int[] m_Phenotype; diff --git a/src/eva2/optimization/individuals/GIOBGAIndividualIntegerPermutationData.java b/src/eva2/optimization/individuals/GIOBGAIndividualIntegerPermutationData.java index 2023c2a4..9f5c85da 100644 --- a/src/eva2/optimization/individuals/GIOBGAIndividualIntegerPermutationData.java +++ b/src/eva2/optimization/individuals/GIOBGAIndividualIntegerPermutationData.java @@ -9,7 +9,7 @@ import eva2.util.annotation.Description; /** * This individual combines a binary and a real-valued phenotype. */ -@Description(text = "This is a mixed data type combining an integer vector with a permutation vector.") +@Description(value = "This is a mixed data type combining an integer vector with a permutation vector.") public class GIOBGAIndividualIntegerPermutationData extends AbstractEAIndividual implements InterfaceDataTypeInteger, InterfaceDataTypePermutation, java.io.Serializable { private InterfaceDataTypeInteger m_Integer = new GIIndividualIntegerData(); diff --git a/src/eva2/optimization/individuals/GPIndividualProgramData.java b/src/eva2/optimization/individuals/GPIndividualProgramData.java index f9d1f290..73aa4b39 100644 --- a/src/eva2/optimization/individuals/GPIndividualProgramData.java +++ b/src/eva2/optimization/individuals/GPIndividualProgramData.java @@ -15,7 +15,7 @@ import eva2.util.annotation.Description; /** * This individual uses a tree-based genotype to code for program trees. */ -@Description(text = "This is a GP individual suited to optimize Koza style program trees.") +@Description(value = "This is a GP individual suited to optimize Koza style program trees.") public class GPIndividualProgramData extends AbstractEAIndividual implements InterfaceGPIndividual, InterfaceDataTypeProgram, java.io.Serializable { protected AbstractGPNode[] genotype; diff --git a/src/eva2/optimization/individuals/OBGAIndividualPermutationData.java b/src/eva2/optimization/individuals/OBGAIndividualPermutationData.java index 61fefb6a..a11c46a1 100644 --- a/src/eva2/optimization/individuals/OBGAIndividualPermutationData.java +++ b/src/eva2/optimization/individuals/OBGAIndividualPermutationData.java @@ -14,7 +14,7 @@ import java.util.ArrayList; * This individual uses a permutation based genotype to code for * permutations. */ -@Description(text = "This is a GA individual coding permutations.") +@Description(value = "This is a GA individual coding permutations.") public class OBGAIndividualPermutationData extends AbstractEAIndividual implements InterfaceDataTypePermutation, InterfaceOBGAIndividual, java.io.Serializable { int[][] phenotype; diff --git a/src/eva2/optimization/operator/archiving/ArchivingNSGA.java b/src/eva2/optimization/operator/archiving/ArchivingNSGA.java index 11fe130a..c42b2ac1 100644 --- a/src/eva2/optimization/operator/archiving/ArchivingNSGA.java +++ b/src/eva2/optimization/operator/archiving/ArchivingNSGA.java @@ -6,7 +6,7 @@ import eva2.optimization.population.Population; /** * The non dominated sorting GA archiving method, based on dominace sorting. */ -@eva2.util.annotation.Description(text="Non-dominating sorting GA revision 1.0.") +@eva2.util.annotation.Description(value ="Non-dominating sorting GA revision 1.0.") public class ArchivingNSGA extends AbstractArchiving implements java.io.Serializable { public InterfaceRemoveSurplusIndividuals m_Cleaner = new RemoveSurplusIndividualsDynamicHyperCube(); diff --git a/src/eva2/optimization/operator/terminators/CombinedTerminator.java b/src/eva2/optimization/operator/terminators/CombinedTerminator.java index 63779a89..85b96fff 100644 --- a/src/eva2/optimization/operator/terminators/CombinedTerminator.java +++ b/src/eva2/optimization/operator/terminators/CombinedTerminator.java @@ -8,7 +8,7 @@ import eva2.util.annotation.Description; import java.io.Serializable; -@Description(text = "Boolean combination of two terminators.") +@Description(value = "Boolean combination of two terminators.") public class CombinedTerminator implements InterfaceTerminator, Serializable { /** * diff --git a/src/eva2/optimization/operator/terminators/EvaluationTerminator.java b/src/eva2/optimization/operator/terminators/EvaluationTerminator.java index 2e46f700..35a0d7ab 100644 --- a/src/eva2/optimization/operator/terminators/EvaluationTerminator.java +++ b/src/eva2/optimization/operator/terminators/EvaluationTerminator.java @@ -13,7 +13,7 @@ import java.io.Serializable; * the exact number of fitness calls, since terminators are only once per * generation. */ -@Description(text = "Terminates after the given number of fitness calls.") +@Description(value = "Terminates after the given number of fitness calls.") public class EvaluationTerminator implements InterfaceTerminator, Serializable { private String msg = "Not terminated."; diff --git a/src/eva2/optimization/operator/terminators/GenerationTerminator.java b/src/eva2/optimization/operator/terminators/GenerationTerminator.java index ccab2bec..e050ac09 100644 --- a/src/eva2/optimization/operator/terminators/GenerationTerminator.java +++ b/src/eva2/optimization/operator/terminators/GenerationTerminator.java @@ -10,7 +10,7 @@ import java.io.Serializable; /** * */ -@Description(text = "Terminate after the given number of generations") +@Description(value = "Terminate after the given number of generations") public class GenerationTerminator implements InterfaceTerminator, Serializable { /** diff --git a/src/eva2/optimization/problems/F10Problem.java b/src/eva2/optimization/problems/F10Problem.java index 4d218970..b550d97e 100644 --- a/src/eva2/optimization/problems/F10Problem.java +++ b/src/eva2/optimization/problems/F10Problem.java @@ -1,14 +1,12 @@ package eva2.optimization.problems; import eva2.optimization.individuals.ESIndividualDoubleData; +import eva2.util.annotation.Description; /** - * Created by IntelliJ IDEA. - * User: streiche - * Date: 30.06.2005 - * Time: 14:33:07 - * To change this template use File | Settings | File Templates. + * Weierstrass-Mandelbrot Fractal Function */ +@Description("Weierstrass-Mandelbrot Fractal Function") public class F10Problem extends AbstractProblemDoubleOffset implements InterfaceMultimodalProblem, java.io.Serializable { private double m_D = 1.5; @@ -82,9 +80,6 @@ public class F10Problem extends AbstractProblemDoubleOffset implements Interface return result; } -/********************************************************************************************************************** - * These are for GUI - */ /** * This method allows the CommonJavaObjectEditorPanel to read the * name to the current object. @@ -96,15 +91,6 @@ public class F10Problem extends AbstractProblemDoubleOffset implements Interface return "F10 Problem"; } - /** - * This method returns a global info string - * - * @return description - */ - public static String globalInfo() { - return "Weierstrass-Mandelbrot Fractal Function"; - } - /** * This method allows you to set/get d. * diff --git a/src/eva2/optimization/problems/F11Problem.java b/src/eva2/optimization/problems/F11Problem.java index 143f1170..0ffa7fbf 100644 --- a/src/eva2/optimization/problems/F11Problem.java +++ b/src/eva2/optimization/problems/F11Problem.java @@ -1,14 +1,12 @@ package eva2.optimization.problems; import eva2.optimization.individuals.ESIndividualDoubleData; +import eva2.util.annotation.Description; /** - * Created by IntelliJ IDEA. - * User: streiche - * Date: 30.06.2005 - * Time: 14:59:23 - * To change this template use File | Settings | File Templates. + * Griewank Function */ +@Description("Griewank Function") public class F11Problem extends AbstractProblemDoubleOffset implements InterfaceMultimodalProblem, java.io.Serializable { private double m_D = 4000; @@ -71,9 +69,6 @@ public class F11Problem extends AbstractProblemDoubleOffset implements Interface return result; } -/********************************************************************************************************************** - * These are for GUI - */ /** * This method allows the CommonJavaObjectEditorPanel to read the * name to the current object. @@ -85,15 +80,6 @@ public class F11Problem extends AbstractProblemDoubleOffset implements Interface return "F11-Problem"; } - /** - * This method returns a global info string - * - * @return description - */ - public static String globalInfo() { - return "Griewank Function"; - } - /** * This method allows you to set/get d. * diff --git a/src/eva2/optimization/problems/F12Problem.java b/src/eva2/optimization/problems/F12Problem.java index ad71bc7e..789d70f9 100644 --- a/src/eva2/optimization/problems/F12Problem.java +++ b/src/eva2/optimization/problems/F12Problem.java @@ -1,14 +1,13 @@ package eva2.optimization.problems; +import eva2.util.annotation.Description; + import java.io.Serializable; /** - * Created by IntelliJ IDEA. - * User: streiche - * Date: 30.06.2005 - * Time: 14:59:33 - * To change this template use File | Settings | File Templates. + * Galar Function */ +@Description("Galar Function") public class F12Problem extends AbstractProblemDoubleOffset implements Serializable { private final static double f12range = 5.; @@ -66,9 +65,6 @@ public class F12Problem extends AbstractProblemDoubleOffset implements Serializa return result; } -/********************************************************************************************************************** - * These are for GUI - */ /** * This method allows the CommonJavaObjectEditorPanel to read the * name to the current object. @@ -79,14 +75,4 @@ public class F12Problem extends AbstractProblemDoubleOffset implements Serializa public String getName() { return "F12 Problem"; } - - /** - * This method returns a global info string - * - * @return description - */ - public static String globalInfo() { - return "Galar Function"; - } - } \ No newline at end of file diff --git a/src/eva2/optimization/problems/F13Problem.java b/src/eva2/optimization/problems/F13Problem.java index 8bfb360d..1d7c4478 100644 --- a/src/eva2/optimization/problems/F13Problem.java +++ b/src/eva2/optimization/problems/F13Problem.java @@ -3,11 +3,13 @@ package eva2.optimization.problems; import eva2.gui.editor.GenericObjectEditor; import eva2.optimization.individuals.ESIndividualDoubleData; import eva2.optimization.operator.postprocess.SolutionHistogram; +import eva2.util.annotation.Description; /** * Schwefels sine root function (1981) with a minimum at 420.9687^n of value 0. * Function f(x) = (418.9829 * n) - sum_n(x_i * sin(sqrt(abs(x_i)))) + (418.9829 * n); */ +@Description("Schwefel's sine-root Function (multimodal, 1981). Remember to use range check! Note that rotating the function may make it easier because new, and better, minima may enter the search space.") public class F13Problem extends AbstractProblemDoubleOffset implements InterfaceMultimodalProblem, InterfaceInterestingHistogram { public F13Problem() { @@ -101,9 +103,7 @@ public class F13Problem extends AbstractProblemDoubleOffset implements Interface return new SolutionHistogram(0, 3200, 12); } } -/********************************************************************************************************************** - * These are for GUI - */ + /** * This method allows the CommonJavaObjectEditorPanel to read the * name to the current object. @@ -115,15 +115,6 @@ public class F13Problem extends AbstractProblemDoubleOffset implements Interface return "F13-Problem"; } - /** - * This method returns a global info string - * - * @return description - */ - public static String globalInfo() { - return "Schwefels sine-root Function (multimodal, 1981). Remember to use range check! Note that rotating the function may make it easier because new, and better, minima may enter the search space."; - } - @Override public void setDefaultAccuracy(double v) { super.SetDefaultAccuracy(v); diff --git a/src/eva2/optimization/problems/F14Problem.java b/src/eva2/optimization/problems/F14Problem.java index f7284adb..d975638f 100644 --- a/src/eva2/optimization/problems/F14Problem.java +++ b/src/eva2/optimization/problems/F14Problem.java @@ -1,14 +1,12 @@ package eva2.optimization.problems; import eva2.optimization.individuals.ESIndividualDoubleData; +import eva2.util.annotation.Description; /** - * Created by IntelliJ IDEA. - * User: mkron - * Date: 01.09.2007 - * Time: 19:15:03 - * To change this template use File | Settings | File Templates. + * F14 function: numerous optima in linear order which may be rotated. */ +@Description("F14 function: numerous optima in linear order which may be rotated") public class F14Problem extends AbstractProblemDoubleOffset implements InterfaceMultimodalProblem, java.io.Serializable { double rotation = 0.; double rotationDX = 2; @@ -79,9 +77,6 @@ public class F14Problem extends AbstractProblemDoubleOffset implements Interface return result; } -/********************************************************************************************************************** - * These are for GUI - */ /** * This method allows the CommonJavaObjectEditorPanel to read the * name to the current object. @@ -92,13 +87,4 @@ public class F14Problem extends AbstractProblemDoubleOffset implements Interface public String getName() { return "F14-Problem"; } - - /** - * This method returns a global info string - * - * @return description - */ - public static String globalInfo() { - return "F14 function: numerous optima in linear order which may be rotated."; - } } diff --git a/src/eva2/optimization/problems/F15Problem.java b/src/eva2/optimization/problems/F15Problem.java index 821d7a83..ff909ce9 100644 --- a/src/eva2/optimization/problems/F15Problem.java +++ b/src/eva2/optimization/problems/F15Problem.java @@ -1,6 +1,7 @@ package eva2.optimization.problems; import eva2.optimization.operator.postprocess.SolutionHistogram; +import eva2.util.annotation.Description; import java.io.Serializable; @@ -8,7 +9,7 @@ import java.io.Serializable; * The Levy-function, from Levy, A., and Montalvo, A. (1985). Also described in * "A Trust-Region Algorithm for Global Optimization", Bernardetta Addisy and Sven Leyfferz, 2004/2006. */ - +@Description("The Levy-function, from Levy, A., and Montalvo, A. (1985)") public class F15Problem extends AbstractProblemDouble implements Serializable, InterfaceInterestingHistogram { private int problemDimension = 10; @@ -75,9 +76,4 @@ public class F15Problem extends AbstractProblemDouble implements Serializable, I public String getName() { return "F15-Problem"; } - - public static String globalInfo() { - return "The Levy-function, from Levy, A., and Montalvo, A. (1985)"; - } - } diff --git a/src/eva2/optimization/problems/F16Problem.java b/src/eva2/optimization/problems/F16Problem.java index 80bd6587..893eb94e 100644 --- a/src/eva2/optimization/problems/F16Problem.java +++ b/src/eva2/optimization/problems/F16Problem.java @@ -1,13 +1,13 @@ package eva2.optimization.problems; import eva2.optimization.operator.postprocess.SolutionHistogram; +import eva2.util.annotation.Description; /** * The Vincent function: Multiple optima with increasing density near the lower bounds, * therefore decreasing attractor size. All have an equal best fitness of zero. - * - * @author mkron */ +@Description("Vincent function: Multiple optima with increasing densitiy near the lower bounds, therefore decreasing attractor size. All have an equal best fitness of zero") public class F16Problem extends AbstractProblemDouble implements InterfaceMultimodalProblem, Interface2DBorderProblem, InterfaceInterestingHistogram { int dim = 10; @@ -66,10 +66,6 @@ public class F16Problem extends AbstractProblemDouble implements InterfaceMultim return "Vincent"; } - public static String globalInfo() { - return "The Vincent function: Multiple optima with increasing densitiy near the lower bounds, therefore decreasing attractor size. All have an equal best fitness of zero."; - } - @Override public SolutionHistogram getHistogram() { return new SolutionHistogram(-0.001, 0.599, 15); diff --git a/src/eva2/optimization/problems/F17Problem.java b/src/eva2/optimization/problems/F17Problem.java index 223fa663..7c92030c 100644 --- a/src/eva2/optimization/problems/F17Problem.java +++ b/src/eva2/optimization/problems/F17Problem.java @@ -1,6 +1,7 @@ package eva2.optimization.problems; import eva2.optimization.operator.postprocess.SolutionHistogram; +import eva2.util.annotation.Description; /** * Bohachevsky function, numerous optima on an oval hyperparabola with similar attractor sizes @@ -8,6 +9,7 @@ import eva2.optimization.operator.postprocess.SolutionHistogram; * "Niche radius adaption in the CMA-ES Niching Algorithm". * f_B(\vec{x})=\sum_{i=1}^{n-1} x_i^2+2(x_{i+1}^2)+0.7-0.3 cos (3 \pi x_i)-0.4 cos (4 \pi x_{i+1}) */ +@Description("Bohachevsky function, numerous optima on an oval hyperparabola with similar attractor sizes but decreasing fitness towards the bounds") public class F17Problem extends AbstractProblemDouble implements InterfaceMultimodalProblem, InterfaceInterestingHistogram { int dim = 10; @@ -59,10 +61,6 @@ public class F17Problem extends AbstractProblemDouble implements return "F17-Problem"; } - public static String globalInfo() { - return "Bohachevsky function, numerous optima on an oval hyperparabola with similar attractor sizes but decreasing fitness towards the bounds."; - } - @Override public SolutionHistogram getHistogram() { if (getProblemDimension() < 15) { diff --git a/src/eva2/optimization/problems/F18Problem.java b/src/eva2/optimization/problems/F18Problem.java index 838e8ab1..b2c933b6 100644 --- a/src/eva2/optimization/problems/F18Problem.java +++ b/src/eva2/optimization/problems/F18Problem.java @@ -1,5 +1,11 @@ package eva2.optimization.problems; +import eva2.util.annotation.Description; + +/** + * N-Function from Shir&Baeck, PPSN 2006. + */ +@Description("N-Function from Shir&Baeck, PPSN 2006") public class F18Problem extends AbstractProblemDouble implements InterfaceMultimodalProblem { int dim = 10; @@ -54,10 +60,6 @@ public class F18Problem extends AbstractProblemDouble implements return "F18-Problem"; } - public static String globalInfo() { - return "N-Function from Shir&Baeck, PPSN 2006."; - } - /** * @return the alpha */ diff --git a/src/eva2/optimization/problems/F19Problem.java b/src/eva2/optimization/problems/F19Problem.java index c955632c..77371c8e 100644 --- a/src/eva2/optimization/problems/F19Problem.java +++ b/src/eva2/optimization/problems/F19Problem.java @@ -2,6 +2,7 @@ package eva2.optimization.problems; import eva2.optimization.operator.postprocess.SolutionHistogram; import eva2.tools.math.RNG; +import eva2.util.annotation.Description; import java.util.Arrays; import java.util.Random; @@ -10,8 +11,8 @@ import java.util.Random; * Fletcher-Powell function with up to 2^n optima from Shir&Baeck, PPSN 2006, * after Bäck 1996. Alphas and Matrices A and B are randomly created with a fixed seed. * - * @author mkron */ +@Description("Fletcher-Powell function") public class F19Problem extends AbstractProblemDouble implements InterfaceMultimodalProblem, InterfaceInterestingHistogram, InterfaceFirstOrderDerivableProblem { int dim = 10; @@ -121,10 +122,6 @@ public class F19Problem extends AbstractProblemDouble implements return "F19-Problem"; } - public static String globalInfo() { - return "Fletcher-Powell function with up to 2^n optima from Shir&Baeck, PPSN 2006, after Bäck 1996. Alphas and Matrices A and B are randomly created with a fixed seed."; - } - @Override public SolutionHistogram getHistogram() { if (getProblemDimension() < 15) { diff --git a/src/eva2/optimization/problems/F1Problem.java b/src/eva2/optimization/problems/F1Problem.java index c3ee86f5..391f44e7 100644 --- a/src/eva2/optimization/problems/F1Problem.java +++ b/src/eva2/optimization/problems/F1Problem.java @@ -7,7 +7,7 @@ import eva2.util.annotation.Description; /** * F1 Sphere Problem */ -@Description(text="Sphere Problem") +@Description(value ="Sphere Problem") public class F1Problem extends AbstractProblemDoubleOffset implements Interface2DBorderProblem, InterfaceHasInitRange, java.io.Serializable, InterfaceFirstOrderDerivableProblem { private double initialRangeRatio = 1.; // reduce to initialize in a smaller subrange of the original range (in the corner box) @@ -91,15 +91,6 @@ public class F1Problem extends AbstractProblemDoubleOffset implements Interface2 return "F1-Problem"; } - /** - * This method returns a global info string - * - * @return description - */ - public static String globalInfo() { - return "F1: multidimensional parabola problem"; - } - @Override public double[] getFirstOrderGradients(double[] x) { x = rotateMaybe(x); diff --git a/src/eva2/optimization/problems/F20Problem.java b/src/eva2/optimization/problems/F20Problem.java index 2d1459bc..cc7f6fd8 100644 --- a/src/eva2/optimization/problems/F20Problem.java +++ b/src/eva2/optimization/problems/F20Problem.java @@ -1,15 +1,22 @@ package eva2.optimization.problems; import eva2.optimization.operator.postprocess.SolutionHistogram; +import eva2.util.annotation.Description; import java.io.Serializable; /** * The multi-modal, multi-funnel Rana function, f_rana = sum_{i=0}^{n-2} (g(x_i, x_{i+1}) * with g(x,y) = x sin(a)cos(b)+(y+1)cos(a)sin(b), a=sqrt(|-x+y+1|), b=sqrt(|x+y+1|). + * + * The Rana function is non-separable, highly multi-modal and multi-funnel. + * There are diagonal ridges across the search space and the optima are close to the bounds. + * The minimum fitness f(x*) is close to (n-1)*r for dimension n and default range r, by which + * this implementation may be shifted to the positive domain. *

* For gnuplot: x *sin(sqrt(abs(-x+y+1)))*cos(sqrt(abs(x+y+1)))+(y+1)*cos(sqrt(abs(-x+y+1)))*sin(sqrt(abs(x+y+1))) */ +@Description("Rana function") public class F20Problem extends AbstractProblemDouble implements Serializable, InterfaceInterestingHistogram { private int dim = 10; private boolean shiftFit = false; diff --git a/src/eva2/optimization/problems/F21Problem.java b/src/eva2/optimization/problems/F21Problem.java index ee9d272c..99d3bd19 100644 --- a/src/eva2/optimization/problems/F21Problem.java +++ b/src/eva2/optimization/problems/F21Problem.java @@ -1,6 +1,7 @@ package eva2.optimization.problems; import eva2.optimization.operator.postprocess.SolutionHistogram; +import eva2.util.annotation.Description; import java.util.Random; @@ -9,8 +10,8 @@ import java.util.Random; * The number of optima is equal to the number of dimensions. * The positions and height values of the peaks are initialized randomly with a fixed seed for reproducibility. * - * @author mkron */ +@Description("Langerman function") public class F21Problem extends AbstractProblemDouble implements InterfaceMultimodalProblem, InterfaceInterestingHistogram { private double[] heights = null; // will receive random positions within the range private double[][] peaks = null; // will receive values in [0,1] as peak height values @@ -29,10 +30,6 @@ public class F21Problem extends AbstractProblemDouble implements InterfaceMultim return "Langerman-Function"; } - public static String globalInfo() { - return "The Langerman function, with n peaks each of which surrounded by circular ridges."; - } - @Override public double getRangeLowerBound(int dim) { return 0; @@ -56,8 +53,6 @@ public class F21Problem extends AbstractProblemDouble implements InterfaceMultim peaks[i][j] = getRangeLowerBound(i) + rnd.nextDouble() * (getRangeUpperBound(i) - getRangeLowerBound(i)); } } -// System.out.println("peaks is " + BeanInspector.toString(peaks)); -// System.out.println("heights is " + BeanInspector.toString(heights)); } @Override diff --git a/src/eva2/optimization/problems/F2Problem.java b/src/eva2/optimization/problems/F2Problem.java index 1e525f86..57ce8498 100644 --- a/src/eva2/optimization/problems/F2Problem.java +++ b/src/eva2/optimization/problems/F2Problem.java @@ -3,14 +3,10 @@ package eva2.optimization.problems; import eva2.optimization.individuals.ESIndividualDoubleData; import eva2.optimization.population.Population; import eva2.optimization.strategies.GradientDescentAlgorithm; +import eva2.util.annotation.Description; -/** - * Created by IntelliJ IDEA. - * User: streiche - * Date: 01.09.2004 - * Time: 19:03:09 - * To change this template use File | Settings | File Templates. - */ +@Description(value ="Generalized Rosenbrock's function.") +@SuppressWarnings("unused") public class F2Problem extends AbstractProblemDoubleOffset implements InterfaceLocalSearchable, InterfaceMultimodalProblem, java.io.Serializable, InterfaceFirstOrderDerivableProblem { private transient GradientDescentAlgorithm localSearchOptimizer = null; @@ -96,9 +92,6 @@ public class F2Problem extends AbstractProblemDoubleOffset implements InterfaceL return result; } -/********************************************************************************************************************** - * These are for GUI - */ /** * This method allows the CommonJavaObjectEditorPanel to read the * name to the current object. @@ -110,15 +103,6 @@ public class F2Problem extends AbstractProblemDoubleOffset implements InterfaceL return "F2-Problem"; } - /** - * This method returns a global info string - * - * @return description - */ - public static String globalInfo() { - return "Generalized Rosenbrock's function."; - } - @Override public void doLocalSearch(Population pop) { if (localSearchOptimizer == null) { diff --git a/src/eva2/optimization/problems/F3Problem.java b/src/eva2/optimization/problems/F3Problem.java index d27dc9b3..4a8f3ac2 100644 --- a/src/eva2/optimization/problems/F3Problem.java +++ b/src/eva2/optimization/problems/F3Problem.java @@ -1,14 +1,12 @@ package eva2.optimization.problems; import eva2.optimization.individuals.ESIndividualDoubleData; +import eva2.util.annotation.Description; /** - * Created by IntelliJ IDEA. - * User: streiche - * Date: 01.09.2004 - * Time: 19:15:03 - * To change this template use File | Settings | File Templates. + * */ +@Description("Step function.") public class F3Problem extends AbstractProblemDoubleOffset implements java.io.Serializable { public F3Problem() { @@ -77,13 +75,4 @@ public class F3Problem extends AbstractProblemDoubleOffset implements java.io.Se public String getName() { return "F3 Problem"; } - - /** - * This method returns a global info string - * - * @return description - */ - public static String globalInfo() { - return "Step function."; - } } diff --git a/src/eva2/optimization/problems/F4Problem.java b/src/eva2/optimization/problems/F4Problem.java index ceb92d92..3b7d7950 100644 --- a/src/eva2/optimization/problems/F4Problem.java +++ b/src/eva2/optimization/problems/F4Problem.java @@ -1,14 +1,14 @@ package eva2.optimization.problems; +import eva2.util.annotation.Description; + import java.io.Serializable; /** - * Created by IntelliJ IDEA. - * User: streiche - * Date: 01.09.2004 - * Time: 19:28:33 - * To change this template use File | Settings | File Templates. + * */ +@SuppressWarnings("unused") +@Description("Quadratic Function with noise.") public class F4Problem extends AbstractProblemDoubleOffset implements Serializable { final static double f4range = 1.28; @@ -65,9 +65,6 @@ public class F4Problem extends AbstractProblemDoubleOffset implements Serializab return result; } -/********************************************************************************************************************** - * These are for GUI - */ /** * This method allows the CommonJavaObjectEditorPanel to read the * name to the current object. @@ -78,13 +75,4 @@ public class F4Problem extends AbstractProblemDoubleOffset implements Serializab public String getName() { return "F4 Problem"; } - - /** - * This method returns a global info string - * - * @return description - */ - public static String globalInfo() { - return "Quadratic Function with noise."; - } } \ No newline at end of file diff --git a/src/eva2/optimization/problems/F5Problem.java b/src/eva2/optimization/problems/F5Problem.java index b306ad5c..5159b1cb 100644 --- a/src/eva2/optimization/problems/F5Problem.java +++ b/src/eva2/optimization/problems/F5Problem.java @@ -1,14 +1,13 @@ package eva2.optimization.problems; +import eva2.util.annotation.Description; + import java.io.Serializable; /** - * Created by IntelliJ IDEA. - * User: streiche - * Date: 01.09.2004 - * Time: 19:30:52 - * To change this template use File | Settings | File Templates. + * */ +@Description("Schwefel's Function.") public class F5Problem extends AbstractProblemDoubleOffset implements Serializable { final static double f5range = 65.536; @@ -70,9 +69,6 @@ public class F5Problem extends AbstractProblemDoubleOffset implements Serializab return result; } -/********************************************************************************************************************** - * These are for GUI - */ /** * This method allows the CommonJavaObjectEditorPanel to read the * name to the current object. @@ -83,13 +79,4 @@ public class F5Problem extends AbstractProblemDoubleOffset implements Serializab public String getName() { return "F5 Problem"; } - - /** - * This method returns a global info string - * - * @return description - */ - public static String globalInfo() { - return "Schwefel's Function."; - } } \ No newline at end of file diff --git a/src/eva2/optimization/problems/F6Problem.java b/src/eva2/optimization/problems/F6Problem.java index c3362c81..40627d12 100644 --- a/src/eva2/optimization/problems/F6Problem.java +++ b/src/eva2/optimization/problems/F6Problem.java @@ -4,12 +4,14 @@ import eva2.optimization.individuals.ESIndividualDoubleData; import eva2.optimization.operator.postprocess.SolutionHistogram; import eva2.optimization.population.Population; import eva2.optimization.strategies.GradientDescentAlgorithm; +import eva2.util.annotation.Description; import java.io.Serializable; /** * Generalized Rastrigin's function. */ +@Description("Generalized Rastrigins's function.") public class F6Problem extends AbstractProblemDoubleOffset implements InterfaceMultimodalProblem, InterfaceFirstOrderDerivableProblem, InterfaceLocalSearchable, Serializable, InterfaceInterestingHistogram { private double m_A = 10; @@ -87,9 +89,6 @@ public class F6Problem extends AbstractProblemDoubleOffset return result; } -/********************************************************************************************************************** - * These are for GUI - */ /** * This method allows the CommonJavaObjectEditorPanel to read the * name to the current object. @@ -101,15 +100,6 @@ public class F6Problem extends AbstractProblemDoubleOffset return "F6-Problem"; } - /** - * This method returns a global info string - * - * @return description - */ - public static String globalInfo() { - return "Generalized Rastrigins's function."; - } - /** * This method allows you to set/get an offset for decision variables. * diff --git a/src/eva2/optimization/problems/F7Problem.java b/src/eva2/optimization/problems/F7Problem.java index cb609e6b..648b3e07 100644 --- a/src/eva2/optimization/problems/F7Problem.java +++ b/src/eva2/optimization/problems/F7Problem.java @@ -5,16 +5,14 @@ import eva2.optimization.individuals.ESIndividualDoubleData; import eva2.optimization.population.Population; import eva2.tools.SelectedTag; import eva2.tools.Tag; +import eva2.util.annotation.Description; import java.io.Serializable; /** - * Created by IntelliJ IDEA. - * User: streiche - * Date: 30.06.2005 - * Time: 13:23:43 - * To change this template use File | Settings | File Templates. + * */ +@Description("Sphere Model, changing Environment.") public class F7Problem extends AbstractProblemDoubleOffset implements Serializable { private double m_t = 250; @@ -112,9 +110,6 @@ public class F7Problem extends AbstractProblemDoubleOffset implements Serializab return result; } -/********************************************************************************************************************** - * These are for GUI - */ /** * This method allows the CommonJavaObjectEditorPanel to read the * name to the current object. @@ -126,15 +121,6 @@ public class F7Problem extends AbstractProblemDoubleOffset implements Serializab return "F7 Problem"; } - /** - * This method returns a global info string - * - * @return description - */ - public static String globalInfo() { - return "Sphere Model, changing Environment."; - } - /** * Set the lower limit for the mutation step size with this method. * diff --git a/src/eva2/optimization/problems/F8Problem.java b/src/eva2/optimization/problems/F8Problem.java index 446364d8..c4a5f237 100644 --- a/src/eva2/optimization/problems/F8Problem.java +++ b/src/eva2/optimization/problems/F8Problem.java @@ -7,17 +7,15 @@ import eva2.optimization.population.Population; import eva2.optimization.population.PopulationInterface; import eva2.tools.ToolBox; import eva2.tools.math.Mathematics; +import eva2.util.annotation.Description; import java.util.Arrays; /** - * Created by IntelliJ IDEA. - * User: streiche - * Date: 01.09.2004 - * Time: 19:40:28 - * To change this template use File | Settings | File Templates. + * Ackley's function. */ +@Description("Ackley's function.") public class F8Problem extends AbstractProblemDoubleOffset implements InterfaceInterestingHistogram, InterfaceMultimodalProblem, //InterfaceFirstOrderDerivableProblem, InterfaceMultimodalProblemKnown, java.io.Serializable { @@ -106,9 +104,6 @@ public class F8Problem extends AbstractProblemDoubleOffset initListOfOptima(); } - /********************************************************************************************************************** - * These are for GUI - */ /** * This method allows the CommonJavaObjectEditorPanel to read the * name to the current object. @@ -120,15 +115,6 @@ public class F8Problem extends AbstractProblemDoubleOffset return "F8-Problem"; } - /** - * This method returns a global info string - * - * @return description - */ - public static String globalInfo() { - return "Ackley's function."; - } - @Override public SolutionHistogram getHistogram() { if (getProblemDimension() < 15) { @@ -140,27 +126,6 @@ public class F8Problem extends AbstractProblemDoubleOffset } } -// public double[] getFirstOrderGradients(double[] x) { -// double sum1=0, sum2=0; -// double[] derivs = new double[x.length]; -// x = rotateMaybe(x); -// double dim = (double)this.problemDimension; -// -// for (int i = 0; i < x.length; i++) { -// double xi = x[i]-xOffset; -// sum1 += (xi)*(xi); -// sum2 += Math.cos(c * (xi)); -// } -// -// for (int i=0; i1e-20) { -// listOfOptima.clear(); -// return true; -// } -// } -// return false; -// } -// } } private void addOptimum(double[] pos) { AbstractProblemDouble.addUnrotatedOptimum(m_ListOfOptima, this, pos); } - -// private double[] refineSolution(double[] pos) { -// Population population = new Population(); -// InterfaceDataTypeDouble tmpIndy; -// tmpIndy = (InterfaceDataTypeDouble)((AbstractEAIndividual)this.template).clone(); -// tmpIndy.setDoubleGenotype(pos); -// ((AbstractEAIndividual)tmpIndy).SetFitness(evaluate(pos)); -// population.add(tmpIndy); -// FitnessConvergenceTerminator convTerm = new FitnessConvergenceTerminator(1e-15, 10, false, true); -// int calls = PostProcess.processWithGDA(population, this, convTerm, 0, 0.0000000000000001, 0.01); -// return ((InterfaceDataTypeDouble)population.getBestEAIndividual()).getDoubleData(); -// } } \ No newline at end of file diff --git a/src/eva2/optimization/problems/F9Problem.java b/src/eva2/optimization/problems/F9Problem.java index 56c8ffb1..7e0594bc 100644 --- a/src/eva2/optimization/problems/F9Problem.java +++ b/src/eva2/optimization/problems/F9Problem.java @@ -1,7 +1,12 @@ package eva2.optimization.problems; import eva2.optimization.individuals.ESIndividualDoubleData; +import eva2.util.annotation.Description; +/** + * Weighted Sphere Model + */ +@Description("Weighted Sphere Model") public class F9Problem extends AbstractProblemDoubleOffset implements java.io.Serializable { public F9Problem() { @@ -56,9 +61,6 @@ public class F9Problem extends AbstractProblemDoubleOffset implements java.io.Se return result; } -/********************************************************************************************************************** - * These are for GUI - */ /** * This method allows the CommonJavaObjectEditorPanel to read the * name to the current object. @@ -69,13 +71,4 @@ public class F9Problem extends AbstractProblemDoubleOffset implements java.io.Se public String getName() { return "F9 Problem"; } - - /** - * This method returns a global info string - * - * @return description - */ - public static String globalInfo() { - return "Weighted Sphere Model"; - } } \ No newline at end of file diff --git a/src/eva2/optimization/problems/FLensProblem.java b/src/eva2/optimization/problems/FLensProblem.java index 6d414ace..17e60478 100644 --- a/src/eva2/optimization/problems/FLensProblem.java +++ b/src/eva2/optimization/problems/FLensProblem.java @@ -195,7 +195,7 @@ class MyLensViewer extends JPanel implements InterfaceSolutionViewer { /** * */ -@eva2.util.annotation.Description(text="Focussing of a lens is to be optimized.") +@eva2.util.annotation.Description("Focusing of a lens is to be optimized.") public class FLensProblem extends AbstractOptimizationProblem implements InterfaceOptimizationProblem, InterfaceHasSolutionViewer, java.io.Serializable { diff --git a/src/eva2/optimization/stat/EvAStatisticalEvaluationParams.java b/src/eva2/optimization/stat/EvAStatisticalEvaluationParams.java index 294bcd43..d3522557 100644 --- a/src/eva2/optimization/stat/EvAStatisticalEvaluationParams.java +++ b/src/eva2/optimization/stat/EvAStatisticalEvaluationParams.java @@ -6,7 +6,7 @@ import javax.swing.*; import java.io.Serializable; import java.util.List; -@eva2.util.annotation.Description(text = "Select statistical values to be calculated and tests to be performed.") +@eva2.util.annotation.Description(value = "Select statistical values to be calculated and tests to be performed.") public class EvAStatisticalEvaluationParams implements Serializable { private StringSelection singleStats = new StringSelection(StatsOnSingleDataSetEnum.mean, StatsOnSingleDataSetEnum.getInfoStrings()); diff --git a/src/eva2/optimization/stat/OptimizationJobList.java b/src/eva2/optimization/stat/OptimizationJobList.java index c5d52dc7..b19dce28 100644 --- a/src/eva2/optimization/stat/OptimizationJobList.java +++ b/src/eva2/optimization/stat/OptimizationJobList.java @@ -26,7 +26,7 @@ import java.util.List; * A selectable list of EvAJobs. Each job contains a OptimizationParameters instance and potentially * statistical data. */ -@eva2.util.annotation.Description(text = "Display a set of jobs consisting of a multi-run experiment.") +@eva2.util.annotation.Description(value = "Display a set of jobs consisting of a multi-run experiment.") public class OptimizationJobList extends PropertySelectableList implements Serializable, InterfaceTextListener { List listeners = null; diff --git a/src/eva2/optimization/stat/StatisticsParameter.java b/src/eva2/optimization/stat/StatisticsParameter.java index 4fd3d1e7..ad2a8180 100644 --- a/src/eva2/optimization/stat/StatisticsParameter.java +++ b/src/eva2/optimization/stat/StatisticsParameter.java @@ -29,7 +29,7 @@ import java.util.logging.Logger; * * @see AbstractStatistics */ -@Description(text = "Configure statistics and output of the optimization run. Changes to the data selection state will not take effect during a run.") +@Description(value = "Configure statistics and output of the optimization run. Changes to the data selection state will not take effect during a run.") public class StatisticsParameter implements InterfaceStatisticsParameter, InterfaceNotifyOnInformers, Serializable { private static final long serialVersionUID = -8681061379203108390L; private static final Logger LOGGER = Logger.getLogger(StatisticsParameter.class.getName()); @@ -272,7 +272,7 @@ public class StatisticsParameter implements InterfaceStatisticsParameter, Interf } public String outputAllFieldsAsTextTipText() { - return "Output all available data fields or only the selected entries as text."; + return "Output all available data fields or only the selected entries as value."; } public void hideHideable() { diff --git a/src/eva2/optimization/strategies/ArtificialBeeColony.java b/src/eva2/optimization/strategies/ArtificialBeeColony.java index 8805cd91..a9085aab 100644 --- a/src/eva2/optimization/strategies/ArtificialBeeColony.java +++ b/src/eva2/optimization/strategies/ArtificialBeeColony.java @@ -11,7 +11,7 @@ import eva2.util.annotation.Description; /** * */ -@Description(text = "Artificial Bee Colony Optimizer") +@Description(value = "Artificial Bee Colony Optimizer") public class ArtificialBeeColony implements InterfaceOptimizer { protected AbstractOptimizationProblem optimizationProblem = new F1Problem(); diff --git a/src/eva2/optimization/strategies/BOA.java b/src/eva2/optimization/strategies/BOA.java index b17ffbce..5bd1cf8b 100644 --- a/src/eva2/optimization/strategies/BOA.java +++ b/src/eva2/optimization/strategies/BOA.java @@ -37,7 +37,7 @@ import java.util.logging.Logger; * * @author seitz */ -@Description(text = "Basic implementation of the Bayesian Optimization Algorithm based on the works by Martin Pelikan and David E. Goldberg.") +@Description(value = "Basic implementation of the Bayesian Optimization Algorithm based on the works by Martin Pelikan and David E. Goldberg.") public class BOA implements InterfaceOptimizer, java.io.Serializable { private static final Logger LOGGER = Logger.getLogger(BOA.class.getName()); transient private InterfacePopulationChangedEventListener m_Listener = null; diff --git a/src/eva2/optimization/strategies/DifferentialEvolution.java b/src/eva2/optimization/strategies/DifferentialEvolution.java index ac533977..0fb7585c 100644 --- a/src/eva2/optimization/strategies/DifferentialEvolution.java +++ b/src/eva2/optimization/strategies/DifferentialEvolution.java @@ -31,7 +31,7 @@ import java.util.Vector; * dynamically changing problems. If an individual reaches the age limit, it is * doomed and replaced by the next challenge vector, even if its worse. */ -@Description(text = "Differential Evolution using a steady-state population scheme.") +@Description(value = "Differential Evolution using a steady-state population scheme.") public class DifferentialEvolution implements InterfaceOptimizer, java.io.Serializable { @Parameter(name = "Population", description = "Edit the properties of the population used.") diff --git a/src/eva2/optimization/strategies/GeneticAlgorithm.java b/src/eva2/optimization/strategies/GeneticAlgorithm.java index 7d337026..5352f90e 100644 --- a/src/eva2/optimization/strategies/GeneticAlgorithm.java +++ b/src/eva2/optimization/strategies/GeneticAlgorithm.java @@ -19,7 +19,7 @@ import eva2.util.annotation.Description; * global to a more local search. But you have to be careful with that else the * GA might not converge. This is a implementation of Genetic Algorithms. */ -@Description(text = "This is a basic generational Genetic Algorithm.") +@Description(value = "This is a basic generational Genetic Algorithm.") public class GeneticAlgorithm implements InterfaceOptimizer, java.io.Serializable { private Population population = new Population(); diff --git a/src/eva2/optimization/strategies/NichePSO.java b/src/eva2/optimization/strategies/NichePSO.java index 912b97ff..5c1997b5 100644 --- a/src/eva2/optimization/strategies/NichePSO.java +++ b/src/eva2/optimization/strategies/NichePSO.java @@ -75,7 +75,7 @@ import java.util.Vector; * Yilmaz. Particle Swarms for Multimodal Optimization. In: ICANNGA (1), Seiten * 366�375, 2007 */ -@Description(text = "A Niching Particle Swarm Optimizer") +@Description(value = "A Niching Particle Swarm Optimizer") public class NichePSO implements InterfaceAdditionalPopulationInformer, InterfaceOptimizer, java.io.Serializable { /** diff --git a/src/eva2/util/annotation/Description.java b/src/eva2/util/annotation/Description.java index da62bad5..5487d6e1 100644 --- a/src/eva2/util/annotation/Description.java +++ b/src/eva2/util/annotation/Description.java @@ -8,5 +8,5 @@ import java.lang.annotation.RetentionPolicy; */ @Retention(RetentionPolicy.RUNTIME) public @interface Description { - String text(); + String value(); }