From fb20da9657e28de943459fcdce1f85560bf0382c Mon Sep 17 00:00:00 2001 From: Marcel Kronfeld Date: Fri, 18 Apr 2008 14:36:52 +0000 Subject: [PATCH] Killed JavaEvA from comments and ressources, some maths refactored. --- ant/build.xml | 4 +- ant/check.xml | 16 +- resources/F6Problem.html | 2 +- resources/GO.html | 4 +- resources/GOParameters.html | 2 +- src/eva2/OptimizerFactory.java | 2 +- src/eva2/gui/BeanInspector.java | 2 +- src/eva2/gui/BigStringEditor.java | 9 +- src/eva2/gui/ComponentFilter.java | 2 +- src/eva2/gui/DataViewer.java | 2 +- src/eva2/gui/DataViewerInterface.java | 2 +- src/eva2/gui/Exp.java | 2 +- src/eva2/gui/ExtAction.java | 2 +- src/eva2/gui/ExtActionChangedListener.java | 2 +- src/eva2/gui/ExtDesktopManager.java | 2 +- src/eva2/gui/FunctionArea.java | 2 +- src/eva2/gui/GenericArrayEditor.java | 2 +- src/eva2/gui/GenericObjectEditor.java | 2 +- src/eva2/gui/Graph.java | 2 +- src/eva2/gui/GraphPointSet.java | 2 +- src/eva2/gui/GraphWindow.java | 2 +- src/eva2/gui/HtmlDemo.java | 2 +- src/eva2/gui/JClassTree.java | 2 +- src/eva2/gui/JDocFrame.java | 2 +- src/eva2/gui/JEFrame.java | 11 +- src/eva2/gui/JEFrameRegister.java | 2 +- src/eva2/gui/JExtDesktopPane.java | 2 +- src/eva2/gui/JExtFileChooser.java | 2 +- src/eva2/gui/JExtMenu.java | 2 +- src/eva2/gui/JExtToolBar.java | 2 +- src/eva2/gui/JModuleGeneralPanel.java | 2 +- src/eva2/gui/JParaPanel.java | 2 +- src/eva2/gui/JTabbedModuleFrame.java | 2 +- src/eva2/gui/JTextEditorInternalFrame.java | 2 +- src/eva2/gui/JTextoutputFrame.java | 2 +- src/eva2/gui/JTextoutputFrameInterface.java | 2 +- src/eva2/gui/LogPanel.java | 3 +- src/eva2/gui/MultiLineString.java | 4 - src/eva2/gui/MultiLineStringEditor.java | 2 +- src/eva2/gui/Plot.java | 2 +- src/eva2/gui/PlotInterface.java | 2 +- src/eva2/gui/PropertyBoolSelector.java | 2 +- src/eva2/gui/PropertyDialog.java | 2 +- src/eva2/gui/PropertyPanel.java | 2 +- src/eva2/gui/PropertyRemoteServers.java | 1 - src/eva2/gui/PropertySheetPanel.java | 2 +- src/eva2/gui/PropertySheetPanelStat.java | 2 +- src/eva2/gui/PropertySlider.java | 2 +- src/eva2/gui/PropertyText.java | 2 +- src/eva2/gui/PropertyValueSelector.java | 2 +- src/eva2/gui/SerializedObject.java | 2 +- src/eva2/gui/StatisticsEditor.java | 2 +- src/eva2/gui/TagEditor.java | 2 +- src/eva2/gui/TopoPlot.java | 2 +- src/eva2/gui/TreeElement.java | 2 +- src/eva2/gui/WindowCloseAction.java | 67 -- src/eva2/server/EvAMainAdapter.java | 2 +- src/eva2/server/EvAServer.java | 2 +- src/eva2/server/ModuleServer.java | 2 +- src/eva2/server/go/CrossoverInterface.java | 2 +- src/eva2/server/go/IndividualInterface.java | 2 +- src/eva2/server/go/InterfaceProcessor.java | 2 +- src/eva2/server/go/InterfaceTerminator.java | 2 +- src/eva2/server/go/MutationInterface.java | 24 - src/eva2/server/go/PopulationInterface.java | 2 +- src/eva2/server/go/SelectionInterface.java | 24 - .../go/individuals/AbstractEAIndividual.java | 20 + .../individuals/ESIndividualDoubleData.java | 1 - .../InterfaceDataTypePermutation.java | 2 +- .../individuals/InterfaceOBGAIndividual.java | 2 +- .../OBGAIndividualPermutationData.java | 2 +- src/eva2/server/go/mocco/MOCCOPhase.java | 4 +- .../go/mocco/MOCCOProblemInitialization.java | 1 - .../operators/archiving/ArchivingNSGAII.java | 2 +- .../operators/archiving/ArchivingSPEAII.java | 2 +- .../cluster/ClusteringDensityBased.java | 2 +- .../operators/cluster/ClusteringKMeans.java | 15 +- .../operators/cluster/ClusteringXMeans.java | 2 +- .../cluster/InterfaceClustering.java | 6 +- .../operators/crossover/CrossoverEAMixer.java | 25 - .../operators/crossover/CrossoverESPCX.java | 18 +- .../operators/crossover/CrossoverESSPX.java | 8 +- .../operators/crossover/CrossoverESUNDX.java | 18 +- .../operators/crossover/CrossoverOBGAPMX.java | 2 +- .../crossover/CrossoverOBGAPMXUniform.java | 2 +- .../migration/MOClusteringSeparation.java | 2 +- .../operators/migration/MOConeSeparation.java | 2 +- .../migration/MOXMeansSeparation.java | 2 +- .../server/go/operators/moso/MOSOMaxiMin.java | 2 +- .../operators/moso/MOSOUtilityFunction.java | 2 - .../go/operators/mutation/MutateEAMixer.java | 25 - .../operators/mutation/MutateESDefault.java | 2 +- .../operators/mutation/MutateESStandard.java | 5 +- .../mutation/MutateESSuccessRule.java | 69 +- .../go/operators/mutation/MutateOBGAFlip.java | 2 +- .../mutation/MutateOBGAInversion.java | 2 +- .../probability/AbstractSelProb.java | 4 +- .../InterfaceSelectionProbability.java | 6 +- .../probability/SelProbBoltzman.java | 2 +- .../probability/SelProbFitnessSharing.java | 2 +- .../probability/SelProbInvertByMax.java | 2 +- .../probability/SelProbLinearRanking.java | 2 +- .../probability/SelProbNonLinearRanking.java | 2 +- .../selection/probability/SelProbRanking.java | 2 +- .../probability/SelProbStandardScaling.java | 2 +- .../terminators/EvaluationTerminator.java | 2 +- .../FitnessConvergenceTerminator.java | 2 +- .../terminators/FitnessValueTerminator.java | 2 +- .../terminators/GenerationTerminator.java | 2 +- .../server/go/populations/Population.java | 69 +- .../go/problems/AbstractDynTransProblem.java | 2 +- ...ractMultiObjectiveOptimizationProblem.java | 2 +- ...bstractSynchronousOptimizationProblem.java | 8 +- .../go/problems/Interface2DBorderProblem.java | 2 +- .../InterfaceFirstOrderDerivableProblem.java | 2 +- .../go/problems/InterfaceLocalSearchable.java | 2 +- .../go/problems/MatlabEvalMediator.java | 2 +- .../go/strategies/ClusterBasedNichingEA.java | 22 +- .../strategies/EvolutionStrategiesEditor.java | 625 ---------- .../go/strategies/GeneticAlgorithmEditor.java | 531 --------- .../strategies/GradientDescentAlgorithm.java | 10 +- .../go/strategies/MemeticAlgorithm.java | 2 +- src/eva2/server/go/strategies/Tribes.java | 6 +- .../server/modules/AbstractModuleAdapter.java | 10 +- src/eva2/server/modules/DEModuleAdapter.java | 4 +- src/eva2/server/modules/DEParameters.java | 2 +- src/eva2/server/modules/EPModuleAdapter.java | 4 +- src/eva2/server/modules/EPParameters.java | 2 +- src/eva2/server/modules/GAModuleAdapter.java | 4 +- src/eva2/server/modules/GAParameters.java | 2 +- src/eva2/server/modules/HCModuleAdapter.java | 4 +- src/eva2/server/modules/HCParameters.java | 2 +- src/eva2/server/modules/MCModuleAdapter.java | 4 +- src/eva2/server/modules/MCParameters.java | 2 +- .../server/modules/MOEAModuleAdapter.java | 4 +- src/eva2/server/modules/MOEAParameters.java | 2 +- src/eva2/server/modules/ModuleAdapter.java | 2 +- .../server/modules/PBILModuleAdapter.java | 4 +- src/eva2/server/modules/PBILParameters.java | 2 +- src/eva2/server/modules/PSOModuleAdapter.java | 4 +- src/eva2/server/modules/PSOParameters.java | 2 +- src/eva2/server/modules/SAModuleAdapter.java | 4 +- src/eva2/server/modules/SAParameters.java | 2 +- .../server/modules/SSGAModuleAdapter.java | 4 +- src/eva2/server/modules/SSGAParameters.java | 2 +- src/eva2/server/stat/AbstractStatistics.java | 4 +- src/eva2/server/stat/GenericStatistics.java | 2 +- src/eva2/server/stat/InterfaceStatistics.java | 2 +- .../stat/InterfaceStatisticsParameter.java | 2 +- src/eva2/server/stat/MovingAverage.java | 2 +- .../server/stat/StatisticsStandalone.java | 2 +- src/eva2/server/stat/StatisticsWithGUI.java | 4 +- src/eva2/server/stat/StatsParameter.java | 2 +- src/eva2/tools/Cluster.java | 2 +- src/eva2/tools/EVAERROR.java | 8 +- src/eva2/tools/EVAHELP.java | 2 +- src/eva2/tools/EVAThread.java | 2 +- src/eva2/tools/JPasswordDialog.java | 2 +- src/eva2/tools/JarResources.java | 2 +- src/eva2/tools/KMEANSJAVA.java | 2 +- src/eva2/tools/LogProxy.java | 2 +- src/eva2/tools/Mathematics.java | 1030 +++++++++-------- src/eva2/tools/ReflectPackage.java | 6 +- src/eva2/tools/SelectedTag.java | 17 + src/eva2/tools/Serializer.java | 2 +- src/eva2/tools/ServerPingThread.java | 2 +- src/eva2/tools/Tag.java | 2 +- src/eva2/tools/TokenHolder.java | 2 +- src/eva2/tools/URLGetter.java | 2 +- src/jalopy.format.convention.xml | 6 +- src/simpleprobs/InterfaceSimpleProblem.java | 4 +- src/wsi/ra/math/RNG.java | 4 +- src/wsi/ra/tool/StatisticUtils.java | 105 +- 173 files changed, 918 insertions(+), 2221 deletions(-) delete mode 100644 src/eva2/gui/WindowCloseAction.java delete mode 100644 src/eva2/server/go/MutationInterface.java delete mode 100644 src/eva2/server/go/SelectionInterface.java delete mode 100644 src/eva2/server/go/strategies/EvolutionStrategiesEditor.java delete mode 100644 src/eva2/server/go/strategies/GeneticAlgorithmEditor.java diff --git a/ant/build.xml b/ant/build.xml index 0748174e..b76f5a6b 100644 --- a/ant/build.xml +++ b/ant/build.xml @@ -290,8 +290,8 @@ - - + + diff --git a/ant/check.xml b/ant/check.xml index f195fb0a..62f270a9 100644 --- a/ant/check.xml +++ b/ant/check.xml @@ -1,6 +1,6 @@ - - + + + @@ -97,6 +101,8 @@ "> + +
- JavaEVA header + EvA header 5 /////////////////////////////////////////////////////////////////////////////// // Filename: $RCSfile$ diff --git a/src/simpleprobs/InterfaceSimpleProblem.java b/src/simpleprobs/InterfaceSimpleProblem.java index 93f72d51..85e8fae3 100644 --- a/src/simpleprobs/InterfaceSimpleProblem.java +++ b/src/simpleprobs/InterfaceSimpleProblem.java @@ -2,7 +2,7 @@ package simpleprobs; /** * A simple interface to easily include new optimization problems in Java into the - * JavaEvA framework. + * EvA framework. * * @author mkron * @@ -11,7 +11,7 @@ package simpleprobs; public interface InterfaceSimpleProblem { /** * Evaluate a double vector representing a possible problem solution as - * part of an individual in the JavaEvA framework. This makes up the + * part of an individual in the EvA framework. This makes up the * target function to be evaluated. * * @param x a double vector to be evaluated diff --git a/src/wsi/ra/math/RNG.java b/src/wsi/ra/math/RNG.java index d3790cc0..f1f707ba 100644 --- a/src/wsi/ra/math/RNG.java +++ b/src/wsi/ra/math/RNG.java @@ -268,7 +268,7 @@ public class RNG extends Random { } /** - * Create a random vector with gaussian random double entries. + * Create a normalized random vector with gaussian random double entries. * * @param n * @return @@ -278,7 +278,7 @@ public class RNG extends Random { for (int i = 0; i < result.length; i++) { result[i] = RNG.gaussianDouble(dev); } - Mathematics.normalizeVector(result); + Mathematics.normVect(result, result); return result; } } diff --git a/src/wsi/ra/tool/StatisticUtils.java b/src/wsi/ra/tool/StatisticUtils.java index ac53ad67..0780173c 100644 --- a/src/wsi/ra/tool/StatisticUtils.java +++ b/src/wsi/ra/tool/StatisticUtils.java @@ -14,6 +14,7 @@ package wsi.ra.tool; + /** * Statistic utils. */ @@ -177,25 +178,6 @@ public class StatisticUtils return maxIndex; } - /** - * Computes the mean for an array of doubles. - * - * @param vector the array - * @return the mean - */ - public static double mean(double[] vector) { - - double sum = 0; - - if (vector.length == 0) { - return 0; - } - for (int i = 0; i < vector.length; i++) { - sum += vector[i]; - } - return sum / (double) vector.length; - } - /** * Returns index of minimum element in a given * array of integers. First minimum is returned. @@ -240,43 +222,6 @@ public class StatisticUtils return minIndex; } - /** - * Normalizes the doubles in the array by their sum. - * - * @param doubles the array of double - * @exception IllegalArgumentException if sum is Zero or NaN - */ - public static void normalize(double[] doubles) { - - double sum = 0; - for (int i = 0; i < doubles.length; i++) { - sum += doubles[i]; - } - normalize(doubles, sum); - } - - /** - * Normalizes the doubles in the array using the given value. - * - * @param doubles the array of double - * @param sum the value by which the doubles are to be normalized - * @exception IllegalArgumentException if sum is zero or NaN - */ - public static void normalize(double[] doubles, double sum) { - - if (Double.isNaN(sum)) { - throw new IllegalArgumentException("Can't normalize array. Sum is NaN."); - } - if (sum == 0) { - // Maybe this should just be a return. - throw new IllegalArgumentException("Can't normalize array. Sum is zero."); - } - for (int i = 0; i < doubles.length; i++) { - doubles[i] /= sum; - } - } - - /** * Computes the variance for an array of doubles. * @@ -305,54 +250,6 @@ public class StatisticUtils } } - /** - * Computes the sum of the elements of an array of doubles. - * - * @param doubles the array of double - * @return the sum of the elements - */ - public static double sum(double[] doubles) { - - double sum = 0; - - for (int i = 0; i < doubles.length; i++) { - sum += doubles[i]; - } - return sum; - } - - /** - * Computes the 2-norm of an array of doubles. - * - * @param doubles the array of double - * @return the 2-norm of the elements - */ - public static double norm(double[] doubles) { - - double sqSum = 0; - - for (int i = 0; i < doubles.length; i++) { - sqSum += doubles[i]*doubles[i]; - } - return Math.sqrt(sqSum); - } - - /** - * Computes the sum of the elements of an array of integers. - * - * @param ints the array of integers - * @return the sum of the elements - */ - public static int sum(int[] ints) { - - int sum = 0; - - for (int i = 0; i < ints.length; i++) { - sum += ints[i]; - } - return sum; - } - /** * Returns c*log2(c) for a given integer value c. *