From c79d2e893faa4baeb549810dcb0b82d2411bc09b Mon Sep 17 00:00:00 2001 From: Fabian Becker Date: Sun, 19 Oct 2014 16:28:56 +0200 Subject: [PATCH] Performance improvements. Cleanup. --- src/eva2/OptimizerFactory.java | 6 ++-- src/eva2/cli/Main.java | 10 +++--- src/eva2/gui/AboutDialog.java | 2 +- src/eva2/gui/BeanInspector.java | 14 ++++---- src/eva2/gui/EvATabbedFrameMaker.java | 2 +- src/eva2/gui/JEFrameRegister.java | 6 ++-- src/eva2/gui/JExtToolBar.java | 2 +- src/eva2/gui/Main.java | 2 +- src/eva2/gui/Mnemonic.java | 2 +- src/eva2/gui/OptimizationEditorPanel.java | 6 ++-- src/eva2/gui/PropertyDoubleArray.java | 12 ++----- .../gui/PropertyOptimizationObjectives.java | 4 +-- ...opertyOptimizationObjectivesWithParam.java | 8 ++--- src/eva2/gui/PropertySelectableList.java | 2 +- src/eva2/gui/editor/EnumEditor.java | 2 +- src/eva2/gui/editor/GenericArrayEditor.java | 21 ++++++----- .../gui/editor/GenericDoubleArrayEditor.java | 2 +- .../GenericEpsilonConstraintEditor.java | 2 +- .../editor/GenericEpsilonThresholdEditor.java | 4 +-- .../gui/editor/GenericIntArrayEditor.java | 2 +- src/eva2/gui/editor/GenericObjectEditor.java | 6 ++-- .../GenericOptimizationObjectivesEditor.java | 4 +-- ...OptimizationObjectivesWithParamEditor.java | 6 ++-- .../GenericWeigthedLPTchebycheffEditor.java | 6 ++-- .../gui/editor/StringSelectionEditor.java | 2 +- src/eva2/gui/plot/DPointSetMultiIcon.java | 4 +-- src/eva2/gui/plot/FunctionArea.java | 2 +- src/eva2/gui/plot/GraphPointSet.java | 2 +- src/eva2/gui/plot/GraphPointSetLegend.java | 4 +-- src/eva2/json/OptimizationRun.java | 2 +- src/eva2/optimization/ModuleServer.java | 4 +-- .../go/StandaloneOptimization.java | 2 +- .../individuals/AbstractEAIndividual.java | 16 +++------ .../individuals/ESIndividualBinaryData.java | 8 ++--- .../individuals/ESIndividualDoubleData.java | 8 ++--- .../individuals/ESIndividualIntegerData.java | 8 ++--- .../ESIndividualPermutationData.java | 8 ++--- .../GAESIndividualBinaryDoubleData.java | 8 ++--- .../individuals/GAIndividualBinaryData.java | 8 ++--- .../individuals/GAIndividualDoubleData.java | 8 ++--- .../individuals/GAIndividualIntegerData.java | 8 ++--- .../individuals/GAPIndividualProgramData.java | 8 ++--- .../individuals/GEIndividualProgramData.java | 8 ++--- .../individuals/GIIndividualIntegerData.java | 16 +++------ ...IOBGAIndividualIntegerPermutationData.java | 8 ++--- .../individuals/GPIndividualProgramData.java | 8 ++--- .../OBGAIndividualPermutationData.java | 8 ++--- .../codings/gp/AbstractGPNode.java | 14 ++++---- .../individuals/codings/gp/GPArea.java | 24 ++++++------- .../mocco/MOCCOChooseReferencePoint.java | 2 +- .../mocco/MOCCOInitialPopulationSize.java | 2 +- .../mocco/MOCCOParameterizeGDF.java | 4 +-- .../mocco/MOCCOParameterizeRefPoint.java | 4 +-- .../mocco/MOCCOParameterizeSTEP.java | 4 +-- .../mocco/MOCCOParameterizeTchebycheff.java | 6 ++-- src/eva2/optimization/mocco/MOCCOState.java | 4 +-- .../modules/AbstractModuleAdapter.java | 2 +- .../AbstractOptimizationParameters.java | 4 +-- src/eva2/optimization/modules/Processor.java | 4 +-- .../ClassificationSelfOrganizingMaps.java | 8 ++--- .../cluster/ClusteringDensityBased.java | 10 ++---- .../operator/cluster/ClusteringKMeans.java | 4 +-- .../cluster/ClusteringNearestBetter.java | 7 ++-- .../operator/crossover/CrossoverESUNDX.java | 8 ++--- .../crossover/CrossoverGAGINPoint.java | 1 - .../crossover/PropertyCrossoverMixer.java | 13 ++----- .../PropertyCrossoverMixerEditor.java | 6 ++-- .../operator/mutation/MutateESCorrVector.java | 3 +- .../operator/mutation/MutateESCorrolated.java | 8 ++--- .../MutateESCovarianceMatrixAdaptionPlus.java | 4 +-- .../operator/mutation/MutateESGlobal.java | 2 +- .../operator/mutation/MutateESLocal.java | 4 +-- .../mutation/MutateESMainVectorAdaption.java | 1 - .../operator/mutation/MutateESRankMuCMA.java | 1 - .../mutation/MutateGITranslocate.java | 16 +++------ .../operator/mutation/MutateGPAdaptive.java | 1 - .../mutation/PropertyMutationMixer.java | 13 ++----- .../mutation/PropertyMutationMixerEditor.java | 6 ++-- .../ImprovementDeactivationStrategy.java | 2 +- .../paramcontrol/ConstraintBasedAdaption.java | 2 +- .../paramcontrol/ParameterControlManager.java | 8 ++--- .../MetricD1ApproxParetoFront.java | 10 ++---- .../MetricD1TrueParetoFront.java | 10 ++---- .../paretofrontmetrics/MetricErrorRatio.java | 10 ++---- .../MetricMaximumParetoFrontError.java | 10 ++---- .../operator/paretofrontmetrics/MetricS.java | 13 ++----- .../MetricSWithReference.java | 14 +++----- .../operator/postprocess/PostProcess.java | 17 +++++---- .../PopulationMeasureTerminator.java | 3 +- .../population/PBILPopulation.java | 4 +-- .../optimization/population/Population.java | 32 ++++++++--------- .../optimization/stat/AbstractStatistics.java | 35 +++++++++---------- .../stat/EvAStatisticalEvaluation.java | 8 ++--- .../stat/OptimizationJobList.java | 2 +- .../stat/StatisticsParameter.java | 4 +-- .../stat/StatisticsStandalone.java | 4 +-- .../optimization/stat/StatisticsWithGUI.java | 6 ++-- src/eva2/optimization/strategies/ANPSO.java | 8 ++--- src/eva2/optimization/strategies/BOA.java | 20 ++++------- .../strategies/BinaryScatterSearch.java | 8 ++--- .../strategies/ClusterBasedNichingEA.java | 8 ++--- .../strategies/ClusteringHillClimbing.java | 2 +- .../strategies/DifferentialEvolution.java | 2 +- .../optimization/strategies/EsDpiNiching.java | 6 ++-- .../strategies/EvolutionStrategies.java | 2 +- .../strategies/EvolutionStrategyIPOP.java | 2 +- .../strategies/GeneticAlgorithm.java | 2 +- .../strategies/IslandModelEA.java | 3 +- src/eva2/optimization/strategies/LTGA.java | 16 ++++----- src/eva2/optimization/strategies/MLTGA.java | 16 ++++----- .../strategies/MultiObjectiveCMAES.java | 2 +- .../strategies/NelderMeadSimplex.java | 2 +- .../optimization/strategies/NicheGraph.java | 10 +++--- .../optimization/strategies/NichePSO.java | 29 +++++++-------- .../ParticleFilterOptimization.java | 2 -- .../ParticleSubSwarmOptimization.java | 6 ++-- .../strategies/ParticleSwarmOptimization.java | 10 +++--- .../strategies/ScatterSearch.java | 4 +-- .../strategies/tribes/TribesExplorer.java | 2 +- .../strategies/tribes/TribesPosition.java | 2 +- .../strategies/tribes/TribesSwarm.java | 7 ++-- .../AbstractMultiModalProblemKnown.java | 1 - .../problems/AbstractOptimizationProblem.java | 2 +- src/eva2/problems/AbstractProblemBinary.java | 2 +- src/eva2/problems/AbstractProblemDouble.java | 4 +-- src/eva2/problems/AbstractProblemInteger.java | 2 +- src/eva2/problems/BKnapsackProblem.java | 2 +- .../problems/ConstrHimmelblauProblem.java | 2 +- src/eva2/problems/ConstrPressureVessel.java | 2 +- src/eva2/problems/ExternalRuntimeProblem.java | 21 +++++------ src/eva2/problems/F1Problem.java | 2 +- src/eva2/problems/MatlabEvalMediator.java | 27 ++------------ src/eva2/problems/MatlabProblem.java | 12 +++---- src/eva2/problems/PSymbolicRegression.java | 8 ++--- src/eva2/problems/SimpleProblemWrapper.java | 2 +- src/eva2/tools/BasicResourceLoader.java | 2 +- src/eva2/tools/EVAERROR.java | 2 +- src/eva2/tools/EVAHELP.java | 4 +-- src/eva2/tools/JarResources.java | 2 +- src/eva2/tools/MultirunRefiner.java | 2 +- src/eva2/tools/Pair.java | 2 +- src/eva2/tools/ReflectPackage.java | 6 ++-- src/eva2/tools/StringSelection.java | 12 +++---- src/eva2/tools/StringTools.java | 6 ++-- src/eva2/tools/ToolBox.java | 8 ++--- src/eva2/tools/URLGetter.java | 2 +- src/eva2/tools/chart2d/DContainer.java | 4 +-- src/eva2/tools/chart2d/DPointSet.java | 2 +- src/eva2/tools/math/BayNet.java | 22 ++++++------ src/eva2/tools/math/BayNode.java | 8 ++--- .../math/Jama/EigenvalueDecomposition.java | 16 +++------ src/eva2/tools/math/Jama/LUDecomposition.java | 4 +-- src/eva2/tools/math/Jama/Matrix.java | 26 +++++--------- src/eva2/tools/math/RNG.java | 2 +- src/eva2/tools/math/StatisticUtils.java | 4 +-- .../math/interpolation/BasicDataSet.java | 2 +- .../interpolation/LinearInterpolation.java | 2 +- .../math/interpolation/PolyInterpolation.java | 2 +- test/eva2/tools/StringToolsTest.java | 17 +++++---- 159 files changed, 424 insertions(+), 670 deletions(-) diff --git a/src/eva2/OptimizerFactory.java b/src/eva2/OptimizerFactory.java index 7bcf27be..b24790d5 100644 --- a/src/eva2/OptimizerFactory.java +++ b/src/eva2/OptimizerFactory.java @@ -1018,7 +1018,7 @@ public class OptimizerFactory { public static List postProcessBinVec(OptimizerRunnable runnable, InterfacePostProcessParams ppp) { Population resPop = postProcess(runnable, ppp); - List ret = new ArrayList(resPop.size()); + List ret = new ArrayList<>(resPop.size()); for (Object o : resPop) { if (o instanceof InterfaceDataTypeBinary) { InterfaceDataTypeBinary indy = (InterfaceDataTypeBinary) o; @@ -1058,7 +1058,7 @@ public class OptimizerFactory { public static List postProcessDblVec( OptimizerRunnable runnable, InterfacePostProcessParams ppp) { Population resPop = postProcess(runnable, ppp); - List ret = new ArrayList(resPop.size()); + List ret = new ArrayList<>(resPop.size()); for (Object o : resPop) { if (o instanceof InterfaceDataTypeDouble) { InterfaceDataTypeDouble indy = (InterfaceDataTypeDouble) o; @@ -1098,7 +1098,7 @@ public class OptimizerFactory { public static List postProcessIndVec( OptimizerRunnable runnable, InterfacePostProcessParams ppp) { Population resPop = postProcess(runnable, ppp); - List ret = new ArrayList( + List ret = new ArrayList<>( resPop.size()); for (Object o : resPop) { if (o instanceof AbstractEAIndividual) { diff --git a/src/eva2/cli/Main.java b/src/eva2/cli/Main.java index c1f11727..7680bae2 100644 --- a/src/eva2/cli/Main.java +++ b/src/eva2/cli/Main.java @@ -156,7 +156,7 @@ public class Main implements OptimizationStateListener, InterfacePopulationChang } public static Map> createOptimizerList() { - Map> optimizerList = new TreeMap>(); + Map> optimizerList = new TreeMap<>(); Reflections reflections = new Reflections("eva2.optimization.strategies"); Set> optimizers = reflections.getSubTypesOf(InterfaceOptimizer.class); @@ -171,7 +171,7 @@ public class Main implements OptimizationStateListener, InterfacePopulationChang } public static Map> createProblemList() { - Map> problemList = new TreeMap>(); + Map> problemList = new TreeMap<>(); Reflections reflections = new Reflections("eva2.problems"); Set> problems = reflections.getSubTypesOf(AbstractProblemDoubleOffset.class); for (Class problem : problems) { @@ -185,7 +185,7 @@ public class Main implements OptimizationStateListener, InterfacePopulationChang } public static Map> createMutatorList() { - Map> mutationList = new TreeMap>(); + Map> mutationList = new TreeMap<>(); Reflections reflections = new Reflections("eva2.optimization.operator.mutation"); Set> mutators = reflections.getSubTypesOf(InterfaceMutation.class); for (Class mutator : mutators) { @@ -199,7 +199,7 @@ public class Main implements OptimizationStateListener, InterfacePopulationChang } public static Map> createCrossoverList() { - Map> crossoverList = new TreeMap>(); + Map> crossoverList = new TreeMap<>(); Reflections reflections = new Reflections("eva2.optimization.operator.crossover"); Set> crossovers = reflections.getSubTypesOf(InterfaceCrossover.class); for (Class crossover : crossovers) { @@ -213,7 +213,7 @@ public class Main implements OptimizationStateListener, InterfacePopulationChang } public static Map> createSelectionList() { - Map> selectionList = new TreeMap>(); + Map> selectionList = new TreeMap<>(); Reflections reflections = new Reflections("eva2.optimization.operator.selection"); Set> selections = reflections.getSubTypesOf(InterfaceSelection.class); for (Class selection : selections) { diff --git a/src/eva2/gui/AboutDialog.java b/src/eva2/gui/AboutDialog.java index 3612be6e..f0def4f3 100644 --- a/src/eva2/gui/AboutDialog.java +++ b/src/eva2/gui/AboutDialog.java @@ -16,7 +16,7 @@ import java.awt.event.ActionListener; /** * @author becker */ -public class AboutDialog extends JDialog { +class AboutDialog extends JDialog { private JLabel imageLabel; private JEditorPane infoEditorPane; private JTextArea aboutTextArea; diff --git a/src/eva2/gui/BeanInspector.java b/src/eva2/gui/BeanInspector.java index cf8b5a2e..2abfe572 100644 --- a/src/eva2/gui/BeanInspector.java +++ b/src/eva2/gui/BeanInspector.java @@ -157,7 +157,7 @@ public class BeanInspector { Class type = obj.getClass(); if (type.isArray()) { // handle the array case - StringBuffer sbuf = new StringBuffer(); + StringBuilder sbuf = new StringBuilder(); sbuf.append("["); if (!tight) { sbuf.append(" "); @@ -270,7 +270,7 @@ public class BeanInspector { if (indentDepth < 1) { return ""; } else { - StringBuffer sbuf = new StringBuffer(indentStr); + StringBuilder sbuf = new StringBuilder(indentStr); for (int i = 2; i <= indentDepth; i++) { sbuf.append(indentStr); } @@ -346,7 +346,7 @@ public class BeanInspector { System.err.println("BeanTest ERROR +" + e.getMessage()); } } - Pair nameVals = new Pair(nameArray, valArray); + Pair nameVals = new Pair<>(nameArray, valArray); return nameVals; } @@ -597,7 +597,7 @@ public class BeanInspector { * @return an info string about class and members of the given object */ public static String getDescription(Object obj, boolean withValues) { - StringBuffer sbuf = new StringBuffer(getClassDescription(obj)); + StringBuilder sbuf = new StringBuilder(getClassDescription(obj)); sbuf.append("\n"); String[] mems = getMemberDescriptions(obj, withValues); for (String str : mems) { @@ -614,7 +614,7 @@ public class BeanInspector { * @return String information about the object's class */ public static String getClassDescription(Object obj) { - StringBuffer infoBf = new StringBuffer("Type: "); + StringBuilder infoBf = new StringBuilder("Type: "); infoBf.append(obj.getClass().getName()); infoBf.append("\t"); @@ -659,7 +659,7 @@ public class BeanInspector { return null; } PropertyDescriptor[] propertyDescriptors = bi.getPropertyDescriptors(); - ArrayList memberInfoList = new ArrayList(); + ArrayList memberInfoList = new ArrayList<>(); for (int i = 0; i < propertyDescriptors.length; i++) { if (propertyDescriptors[i].isExpert()) { @@ -689,7 +689,7 @@ public class BeanInspector { continue; } - StringBuffer memberInfoBf = new StringBuffer(40); + StringBuilder memberInfoBf = new StringBuilder(40); memberInfoBf.append("Member:\t"); memberInfoBf.append(name); diff --git a/src/eva2/gui/EvATabbedFrameMaker.java b/src/eva2/gui/EvATabbedFrameMaker.java index 5e2d5e67..2b4b0a75 100644 --- a/src/eva2/gui/EvATabbedFrameMaker.java +++ b/src/eva2/gui/EvATabbedFrameMaker.java @@ -30,7 +30,7 @@ public class EvATabbedFrameMaker implements Serializable, PanelMaker, InterfaceN public void addPanelMaker(PanelMaker pm) { if (pmContainer == null) { - pmContainer = new ArrayList(2); + pmContainer = new ArrayList<>(2); } pmContainer.add(pm); } diff --git a/src/eva2/gui/JEFrameRegister.java b/src/eva2/gui/JEFrameRegister.java index be1c0d55..bbe1f90b 100644 --- a/src/eva2/gui/JEFrameRegister.java +++ b/src/eva2/gui/JEFrameRegister.java @@ -29,7 +29,7 @@ public final class JEFrameRegister { private JDesktopPane desktopPane; private JEFrameRegister() { - this.frameList = new ArrayList(); + this.frameList = new ArrayList<>(); } public static JEFrameRegister getInstance() { @@ -81,8 +81,8 @@ public final class JEFrameRegister { * @return List of prefixes */ public String[] getCommonPrefixes(final int prefLen) { - List prefixes = new ArrayList(); - List count = new ArrayList(); + List prefixes = new ArrayList<>(); + List count = new ArrayList<>(); for (int i = 0; i < frameList.size(); i++) { String title = frameList.get(i).getTitle(); String titPref = title.substring(0, Math.min(prefLen, title.length())); diff --git a/src/eva2/gui/JExtToolBar.java b/src/eva2/gui/JExtToolBar.java index 5440dc72..4dc3b550 100644 --- a/src/eva2/gui/JExtToolBar.java +++ b/src/eva2/gui/JExtToolBar.java @@ -37,7 +37,7 @@ public class JExtToolBar extends JToolBar { } private String getKeyText(KeyStroke k) { - StringBuffer result = new StringBuffer(); + StringBuilder result = new StringBuilder(); if (k != null) { int modifiers = k.getModifiers(); diff --git a/src/eva2/gui/Main.java b/src/eva2/gui/Main.java index 6b7edbc1..0d888d03 100644 --- a/src/eva2/gui/Main.java +++ b/src/eva2/gui/Main.java @@ -79,7 +79,7 @@ public class Main extends JFrame implements OptimizationStateListener { public void addOptimizationStateListener(OptimizationStateListener l) { if (superListenerList == null) { - superListenerList = new ArrayList(); + superListenerList = new ArrayList<>(); } superListenerList.add(l); } diff --git a/src/eva2/gui/Mnemonic.java b/src/eva2/gui/Mnemonic.java index 63761f1a..43d5f7e4 100644 --- a/src/eva2/gui/Mnemonic.java +++ b/src/eva2/gui/Mnemonic.java @@ -27,7 +27,7 @@ class Mnemonic { * */ public void setString(String s) { - StringBuffer buf = new StringBuffer(s); + StringBuilder buf = new StringBuilder(s); for (int i = 0; i < buf.length(); i++) { if (buf.charAt(i) == '&') { buf.deleteCharAt(i); diff --git a/src/eva2/gui/OptimizationEditorPanel.java b/src/eva2/gui/OptimizationEditorPanel.java index bc3b1862..7ea62dce 100644 --- a/src/eva2/gui/OptimizationEditorPanel.java +++ b/src/eva2/gui/OptimizationEditorPanel.java @@ -311,15 +311,15 @@ public class OptimizationEditorPanel extends JPanel implements ItemListener { */ public void updateClassType() { List classesLongNames; - ArrayList> instances = new ArrayList>(5); + ArrayList> instances = new ArrayList<>(5); classesLongNames = GenericObjectEditor.getClassesFromProperties(genericObjectEditor.getClassType().getName(), instances); LOGGER.finest("Selected type for OptimizationEditorPanel: " + genericObjectEditor.getClassType().getName()); if (classesLongNames.size() > 1) { - classNameMap = new HashMap(); + classNameMap = new HashMap<>(); for (String className : classesLongNames) { classNameMap.put(EVAHELP.cutClassName(className), className); } - Vector classesList = new Vector(classesLongNames); + Vector classesList = new Vector<>(classesLongNames); objectChooser.setModel(new DefaultComboBoxModel(classesList)); if (withComboBoxToolTips) { objectChooser.setRenderer(new ToolTipComboBoxRenderer(collectComboToolTips(instances, tipMaxLen))); diff --git a/src/eva2/gui/PropertyDoubleArray.java b/src/eva2/gui/PropertyDoubleArray.java index aad466c2..e6a6c29c 100644 --- a/src/eva2/gui/PropertyDoubleArray.java +++ b/src/eva2/gui/PropertyDoubleArray.java @@ -144,9 +144,7 @@ public class PropertyDoubleArray implements java.io.Serializable { if (i == k) { inc = 1; } - for (int j = 0; j < getNumCols(); j++) { - newDD[i][j] = doubleArray[i + inc][j]; - } + System.arraycopy(doubleArray[i + inc], 0, newDD[i], 0, getNumCols()); } setDoubleArray(newDD); } @@ -164,14 +162,10 @@ public class PropertyDoubleArray implements java.io.Serializable { double[][] newDD = new double[getNumRows() + 1][getNumCols()]; for (int i = 0; i < getNumRows(); i++) { - for (int j = 0; j < getNumCols(); j++) { - newDD[i][j] = doubleArray[i][j]; - } + System.arraycopy(doubleArray[i], 0, newDD[i], 0, getNumCols()); } if (k >= 0) { - for (int j = 0; j < getNumCols(); j++) { - newDD[newDD.length - 1][j] = newDD[k][j]; - } + System.arraycopy(newDD[k], 0, newDD[newDD.length - 1], 0, getNumCols()); } else { for (int j = 0; j < getNumCols(); j++) { newDD[newDD.length - 1][j] = 1.; diff --git a/src/eva2/gui/PropertyOptimizationObjectives.java b/src/eva2/gui/PropertyOptimizationObjectives.java index 82e3b832..4f59cc88 100644 --- a/src/eva2/gui/PropertyOptimizationObjectives.java +++ b/src/eva2/gui/PropertyOptimizationObjectives.java @@ -85,9 +85,7 @@ public class PropertyOptimizationObjectives implements java.io.Serializable { */ public void addTarget(InterfaceOptimizationObjective optTarget) { InterfaceOptimizationObjective[] newList = new InterfaceOptimizationObjective[this.selectedObjectives.length + 1]; - for (int i = 0; i < this.selectedObjectives.length; i++) { - newList[i] = this.selectedObjectives[i]; - } + System.arraycopy(this.selectedObjectives, 0, newList, 0, this.selectedObjectives.length); newList[this.selectedObjectives.length] = optTarget; this.selectedObjectives = newList; } diff --git a/src/eva2/gui/PropertyOptimizationObjectivesWithParam.java b/src/eva2/gui/PropertyOptimizationObjectivesWithParam.java index bf9b954a..c1d16482 100644 --- a/src/eva2/gui/PropertyOptimizationObjectivesWithParam.java +++ b/src/eva2/gui/PropertyOptimizationObjectivesWithParam.java @@ -64,15 +64,11 @@ public class PropertyOptimizationObjectivesWithParam implements java.io.Serializ if (d.length > this.weights.length) { double[] newWeights = new double[d.length]; - for (int i = 0; i < this.weights.length; i++) { - newWeights[i] = this.weights[i]; - } + System.arraycopy(this.weights, 0, newWeights, 0, this.weights.length); this.weights = newWeights; } else { double[] newWeights = new double[d.length]; - for (int i = 0; i < d.length; i++) { - newWeights[i] = this.weights[i]; - } + System.arraycopy(this.weights, 0, newWeights, 0, d.length); this.weights = newWeights; } } diff --git a/src/eva2/gui/PropertySelectableList.java b/src/eva2/gui/PropertySelectableList.java index 1ab75142..4907d7d5 100644 --- a/src/eva2/gui/PropertySelectableList.java +++ b/src/eva2/gui/PropertySelectableList.java @@ -36,7 +36,7 @@ public class PropertySelectableList implements java.io.Serializable { @Override public Object clone() { - return new PropertySelectableList(this); + return new PropertySelectableList<>(this); } public void setObjects(T[] o) { diff --git a/src/eva2/gui/editor/EnumEditor.java b/src/eva2/gui/editor/EnumEditor.java index eca63f2b..d936f072 100644 --- a/src/eva2/gui/editor/EnumEditor.java +++ b/src/eva2/gui/editor/EnumEditor.java @@ -92,4 +92,4 @@ public class EnumEditor extends PropertyEditorSupport { } } -enum TestEnum {asdf, sdf, asdfa}; \ No newline at end of file +enum TestEnum {asdf, sdf, asdfa} \ No newline at end of file diff --git a/src/eva2/gui/editor/GenericArrayEditor.java b/src/eva2/gui/editor/GenericArrayEditor.java index 56d009bc..3e9f8a6b 100644 --- a/src/eva2/gui/editor/GenericArrayEditor.java +++ b/src/eva2/gui/editor/GenericArrayEditor.java @@ -57,13 +57,13 @@ public class GenericArrayEditor extends JPanel implements PropertyEditor { /** * list of additional buttons above the list */ - private List upperButtonList = new LinkedList(); + private List upperButtonList = new LinkedList<>(); /** * list of additional buttons below the list */ - private List lowerButtonList = new LinkedList(); + private List lowerButtonList = new LinkedList<>(); private JComponent additionalCenterComp = null; - private List popupItemList = new LinkedList(); + private List popupItemList = new LinkedList<>(); private JButton addButton = new JButton("Add"); private JButton setButton = new JButton("Set"); private JButton setAllButton = new JButton("Set all"); @@ -272,11 +272,11 @@ public class GenericArrayEditor extends JPanel implements PropertyEditor { /** * Creates a cell rendering component. * - * @param JList the list that will be rendered in - * @param Object the cell value - * @param int which element of the list to render - * @param boolean true if the cell is selected - * @param boolean true if the cell has the focus + * @param list the list that will be rendered in + * @param value the cell value + * @param index which element of the list to render + * @param isSelected true if the cell is selected + * @param cellHasFocus true if the cell has the focus * @return the rendering component */ @Override @@ -417,6 +417,7 @@ public class GenericArrayEditor extends JPanel implements PropertyEditor { JPanel combiUpperPanel = new JPanel(getButtonLayout(1, upperButtonList)); // ToDo Figure out how to now show this on Job Pane combiUpperPanel.add(view); + view.setVisible(withAddButton); for (JButton but : upperButtonList) { combiUpperPanel.add(but); @@ -760,6 +761,10 @@ public class GenericArrayEditor extends JPanel implements PropertyEditor { public void setWithAddButton(boolean withAddButton) { this.withAddButton = withAddButton; + // Hide/Show view based on whether we show the add button + if (this.view != null) { + this.view.setVisible(withAddButton); + } } public boolean isWithSetButton() { diff --git a/src/eva2/gui/editor/GenericDoubleArrayEditor.java b/src/eva2/gui/editor/GenericDoubleArrayEditor.java index 1a5c3c05..5e20d428 100644 --- a/src/eva2/gui/editor/GenericDoubleArrayEditor.java +++ b/src/eva2/gui/editor/GenericDoubleArrayEditor.java @@ -177,7 +177,7 @@ public class GenericDoubleArrayEditor extends JPanel implements PropertyEditor { for (int j = 0; j < tmpDD[0].length; j++) { try { double d = 0; - d = new Double(inputTextFields[i][j].getText()).doubleValue(); + d = Double.parseDouble(inputTextFields[i][j].getText()); tmpDD[i][j] = d; } catch (Exception e) { } diff --git a/src/eva2/gui/editor/GenericEpsilonConstraintEditor.java b/src/eva2/gui/editor/GenericEpsilonConstraintEditor.java index 01afaed1..2a7c3cc1 100644 --- a/src/eva2/gui/editor/GenericEpsilonConstraintEditor.java +++ b/src/eva2/gui/editor/GenericEpsilonConstraintEditor.java @@ -117,7 +117,7 @@ public class GenericEpsilonConstraintEditor extends JPanel implements PropertyEd try { double d = 0; - d = new Double(targetTextField[i].getText()).doubleValue(); + d = Double.parseDouble(targetTextField[i].getText()); tmpT[i] = d; } catch (Exception e) { diff --git a/src/eva2/gui/editor/GenericEpsilonThresholdEditor.java b/src/eva2/gui/editor/GenericEpsilonThresholdEditor.java index 956c5030..527963c1 100644 --- a/src/eva2/gui/editor/GenericEpsilonThresholdEditor.java +++ b/src/eva2/gui/editor/GenericEpsilonThresholdEditor.java @@ -114,14 +114,14 @@ public class GenericEpsilonThresholdEditor extends JPanel implements PropertyEdi try { double d = 0; - d = new Double(targetTextField[i].getText()).doubleValue(); + d = Double.parseDouble(targetTextField[i].getText()); tmpT[i] = d; } catch (Exception e) { } try { double d = 0; - d = new Double(punishTextField[i].getText()).doubleValue(); + d = Double.parseDouble(punishTextField[i].getText()); tmpP[i] = d; } catch (Exception e) { diff --git a/src/eva2/gui/editor/GenericIntArrayEditor.java b/src/eva2/gui/editor/GenericIntArrayEditor.java index 302f53a7..ec6a50e2 100644 --- a/src/eva2/gui/editor/GenericIntArrayEditor.java +++ b/src/eva2/gui/editor/GenericIntArrayEditor.java @@ -93,7 +93,7 @@ public class GenericIntArrayEditor extends JPanel implements PropertyEditor { for (int i = 0; i < tmpD.length; i++) { try { int d = 0; - d = new Integer(inputTextField[i].getText()).intValue(); + d = Integer.parseInt(inputTextField[i].getText()); tmpD[i] = d; } catch (Exception e) { diff --git a/src/eva2/gui/editor/GenericObjectEditor.java b/src/eva2/gui/editor/GenericObjectEditor.java index aa9dd5a8..f8f50399 100644 --- a/src/eva2/gui/editor/GenericObjectEditor.java +++ b/src/eva2/gui/editor/GenericObjectEditor.java @@ -38,7 +38,7 @@ public class GenericObjectEditor implements PropertyEditor { return getClassesFromClassPath(className, instances); } else { StringTokenizer st = new StringTokenizer(typeOptions, ", "); - ArrayList classes = new ArrayList(); + ArrayList classes = new ArrayList<>(); while (st.hasMoreTokens()) { String current = st.nextToken().trim(); try { @@ -67,7 +67,7 @@ public class GenericObjectEditor implements PropertyEditor { * @see ReflectPackage.getAssignableClassesInPackage */ public static ArrayList getClassesFromClassPath(String className, ArrayList> instances) { - ArrayList classes = new ArrayList(); + ArrayList classes = new ArrayList<>(); Class[] classArray; classArray = ReflectPackage.getAssignableClasses(className, true, true); if (classArray == null) { @@ -271,7 +271,7 @@ public class GenericObjectEditor implements PropertyEditor { } Vector v = null; - v = new Vector(getClassesFromProperties(classType.getName(), null)); + v = new Vector<>(getClassesFromProperties(classType.getName(), null)); try { if (v.size() > 0) { diff --git a/src/eva2/gui/editor/GenericOptimizationObjectivesEditor.java b/src/eva2/gui/editor/GenericOptimizationObjectivesEditor.java index 7a2c9bb7..3a4a6a03 100644 --- a/src/eva2/gui/editor/GenericOptimizationObjectivesEditor.java +++ b/src/eva2/gui/editor/GenericOptimizationObjectivesEditor.java @@ -205,9 +205,7 @@ public class GenericOptimizationObjectivesEditor extends JPanel implements Prope optimizationObjectives.addTarget((InterfaceOptimizationObjective) optimizationObjectives.getAvailableTargets()[0].clone()); int l = optimizationObjectives.getSelectedTargets().length; GeneralOptimizationEditorProperty[] newEdit = new GeneralOptimizationEditorProperty[l]; - for (int i = 0; i < editors.length; i++) { - newEdit[i] = editors[i]; - } + System.arraycopy(editors, 0, newEdit, 0, editors.length); InterfaceOptimizationObjective[] list = optimizationObjectives.getSelectedTargets(); l--; newEdit[l] = new GeneralOptimizationEditorProperty(); diff --git a/src/eva2/gui/editor/GenericOptimizationObjectivesWithParamEditor.java b/src/eva2/gui/editor/GenericOptimizationObjectivesWithParamEditor.java index 09fdf0eb..54426510 100644 --- a/src/eva2/gui/editor/GenericOptimizationObjectivesWithParamEditor.java +++ b/src/eva2/gui/editor/GenericOptimizationObjectivesWithParamEditor.java @@ -228,9 +228,7 @@ public class GenericOptimizationObjectivesWithParamEditor extends JPanel impleme optimizationObjectivesWithWeights.addTarget((InterfaceOptimizationObjective) optimizationObjectivesWithWeights.getAvailableTargets()[0].clone()); int l = optimizationObjectivesWithWeights.getSelectedTargets().length; GeneralOptimizationEditorProperty[] newEdit = new GeneralOptimizationEditorProperty[l]; - for (int i = 0; i < editors.length; i++) { - newEdit[i] = editors[i]; - } + System.arraycopy(editors, 0, newEdit, 0, editors.length); InterfaceOptimizationObjective[] list = optimizationObjectivesWithWeights.getSelectedTargets(); l--; newEdit[l] = new GeneralOptimizationEditorProperty(); @@ -319,7 +317,7 @@ public class GenericOptimizationObjectivesWithParamEditor extends JPanel impleme for (int i = 0; i < newW.length; i++) { try { double d = 0; - d = new Double(weights[i].getText()).doubleValue(); + d = Double.parseDouble(weights[i].getText()); newW[i] = d; } catch (Exception e) { } diff --git a/src/eva2/gui/editor/GenericWeigthedLPTchebycheffEditor.java b/src/eva2/gui/editor/GenericWeigthedLPTchebycheffEditor.java index e884b231..9b4b3366 100644 --- a/src/eva2/gui/editor/GenericWeigthedLPTchebycheffEditor.java +++ b/src/eva2/gui/editor/GenericWeigthedLPTchebycheffEditor.java @@ -97,7 +97,7 @@ public class GenericWeigthedLPTchebycheffEditor extends JPanel implements Proper @Override public void keyReleased(KeyEvent event) { try { - int d = new Integer(pvalueTextField.getText()).intValue(); + int d = Integer.parseInt(pvalueTextField.getText()); propertyWeightedLPTchebycheff.p = d; } catch (Exception e) { @@ -126,14 +126,14 @@ public class GenericWeigthedLPTchebycheffEditor extends JPanel implements Proper try { double d = 0; - d = new Double(idealTextField[i].getText()).doubleValue(); + d = Double.parseDouble(idealTextField[i].getText()); tmpT[i] = d; } catch (Exception e) { } try { double d = 0; - d = new Double(weightTextField[i].getText()).doubleValue(); + d = Double.parseDouble(weightTextField[i].getText()); tmpP[i] = d; } catch (Exception e) { diff --git a/src/eva2/gui/editor/StringSelectionEditor.java b/src/eva2/gui/editor/StringSelectionEditor.java index ca9ebb7a..e0920c31 100644 --- a/src/eva2/gui/editor/StringSelectionEditor.java +++ b/src/eva2/gui/editor/StringSelectionEditor.java @@ -59,7 +59,7 @@ public class StringSelectionEditor extends AbstractListSelectionEditor { @Override public String getAsText() { - StringBuffer sbuf = new StringBuffer("{"); + StringBuilder sbuf = new StringBuilder("{"); boolean first = true; for (int i = 0; i < getElementCount(); i++) { if (isElementSelected(i)) { diff --git a/src/eva2/gui/plot/DPointSetMultiIcon.java b/src/eva2/gui/plot/DPointSetMultiIcon.java index 11bcc3cd..6d3ec6b7 100644 --- a/src/eva2/gui/plot/DPointSetMultiIcon.java +++ b/src/eva2/gui/plot/DPointSetMultiIcon.java @@ -22,7 +22,7 @@ public class DPointSetMultiIcon extends DComponent { */ class JumpManager { protected int index = -1; - protected ArrayList jumps = new ArrayList(); + protected ArrayList jumps = new ArrayList<>(); public void addJump() { jumps.add(getSize()); @@ -72,7 +72,7 @@ public class DPointSetMultiIcon extends DComponent { protected boolean connectedMI; protected DPointIcon iconMI = null; protected DPointSetMultiIcon.JumpManager jumperMI = new DPointSetMultiIcon.JumpManager(); - protected ArrayList iconsMI = new ArrayList(); + protected ArrayList iconsMI = new ArrayList<>(); protected Stroke strokeMI = new BasicStroke(); protected DIntDoubleMap xMI; diff --git a/src/eva2/gui/plot/FunctionArea.java b/src/eva2/gui/plot/FunctionArea.java index 77b4c416..58dabf4c 100644 --- a/src/eva2/gui/plot/FunctionArea.java +++ b/src/eva2/gui/plot/FunctionArea.java @@ -82,7 +82,7 @@ public class FunctionArea extends DArea implements Serializable { setBorder(scaledBorder); setAutoGrid(true); setGridVisible(true); - pointSetContainer = new ArrayList(20); + pointSetContainer = new ArrayList<>(20); // new DMouseZoom( this ); addPopup(); repaint(); diff --git a/src/eva2/gui/plot/GraphPointSet.java b/src/eva2/gui/plot/GraphPointSet.java index f3751484..3dd2c2c8 100644 --- a/src/eva2/gui/plot/GraphPointSet.java +++ b/src/eva2/gui/plot/GraphPointSet.java @@ -97,7 +97,7 @@ public class GraphPointSet { private DPointIcon icon; private String infoString = "Incomplete_Run"; private boolean isStatisticsGraph = false; - private ArrayList pointSetContainer = new ArrayList(); + private ArrayList pointSetContainer = new ArrayList<>(); private float stroke = (float) 1.0; diff --git a/src/eva2/gui/plot/GraphPointSetLegend.java b/src/eva2/gui/plot/GraphPointSetLegend.java index d4e01dd1..032afe6b 100644 --- a/src/eva2/gui/plot/GraphPointSetLegend.java +++ b/src/eva2/gui/plot/GraphPointSetLegend.java @@ -49,7 +49,7 @@ public class GraphPointSetLegend { * @param appendIndex if true, the string entries are enumerated according to the index */ public GraphPointSetLegend(List pointSetContainer, boolean appendIndex) { - legendEntries = new TreeSet>(comparator); + legendEntries = new TreeSet<>(comparator); for (int i = 0; i < pointSetContainer.size(); i++) { GraphPointSet pointset = pointSetContainer.get(i); if (pointset.getPointSet().getSize() > 0) { @@ -59,7 +59,7 @@ public class GraphPointSetLegend { } else { entryStr = pointset.getInfoString(); } - legendEntries.add(new Pair(entryStr, pointset.getColor())); + legendEntries.add(new Pair<>(entryStr, pointset.getColor())); } } } diff --git a/src/eva2/json/OptimizationRun.java b/src/eva2/json/OptimizationRun.java index 7f2a1c79..30ba0519 100644 --- a/src/eva2/json/OptimizationRun.java +++ b/src/eva2/json/OptimizationRun.java @@ -10,7 +10,7 @@ public class OptimizationRun { List fitness; public OptimizationRun() { - this.fitness = new ArrayList(); + this.fitness = new ArrayList<>(); } public void addFitnessValue(double value) { diff --git a/src/eva2/optimization/ModuleServer.java b/src/eva2/optimization/ModuleServer.java index 480509f0..1ea98bcd 100644 --- a/src/eva2/optimization/ModuleServer.java +++ b/src/eva2/optimization/ModuleServer.java @@ -32,7 +32,7 @@ public class ModuleServer { if (instanceCounter > 0) { EVAERROR.EXIT("ModuleServer created twice"); } - moduleClassList = new ArrayList>(); + moduleClassList = new ArrayList<>(); String modulePckg = null; Class filterBy = null; @@ -63,7 +63,7 @@ public class ModuleServer { * @return Array of available modules */ public String[] getModuleNameList() { - List moduleNameList = new ArrayList(); + List moduleNameList = new ArrayList<>(); for (Class module : moduleClassList) { try { Method[] methods = module.getDeclaredMethods(); diff --git a/src/eva2/optimization/go/StandaloneOptimization.java b/src/eva2/optimization/go/StandaloneOptimization.java index 8b06d3d6..e28dc9f3 100644 --- a/src/eva2/optimization/go/StandaloneOptimization.java +++ b/src/eva2/optimization/go/StandaloneOptimization.java @@ -557,7 +557,7 @@ public class StandaloneOptimization implements InterfaceStandaloneOptimization, // data to be stored in file double tmpd = 0; - StringBuffer tmpLine = new StringBuffer(""); + StringBuilder tmpLine = new StringBuilder(""); tmpLine.append(population.getFunctionCalls()); tmpLine.append("\t"); tmpLine.append(population.getBestEAIndividual().getFitness(0)); diff --git a/src/eva2/optimization/individuals/AbstractEAIndividual.java b/src/eva2/optimization/individuals/AbstractEAIndividual.java index defac850..ebb6a8e1 100644 --- a/src/eva2/optimization/individuals/AbstractEAIndividual.java +++ b/src/eva2/optimization/individuals/AbstractEAIndividual.java @@ -46,7 +46,7 @@ public abstract class AbstractEAIndividual implements IndividualInterface, java. protected InterfaceMutation mutationOperator = new NoMutation(); protected InterfaceCrossover crossoverOperator = new NoCrossover(); protected InterfaceInitialization initializationOperator = new DefaultInitialization(); - protected HashMap dataHash = new HashMap(); + protected HashMap dataHash = new HashMap<>(); // introduced for the nichingPSO/ANPSO (M.Aschoff) private int individualIndex = -1; @@ -156,9 +156,7 @@ public abstract class AbstractEAIndividual implements IndividualInterface, java. parentIDs = new Long[individual.parentIDs.length]; System.arraycopy(individual.parentIDs, 0, parentIDs, 0, parentIDs.length); parentTree = new AbstractEAIndividual[individual.parentTree.length]; - for (int i = 0; i < parentTree.length; i++) { - parentTree[i] = individual.parentTree[i]; - } + System.arraycopy(individual.parentTree, 0, parentTree, 0, parentTree.length); } } @@ -406,7 +404,7 @@ public abstract class AbstractEAIndividual implements IndividualInterface, java. } public String getHeritageTree(int depth) { - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); sb.append(getIndyID()); sb.append(" "); if ((depth > 0) && (parentTree != null)) { @@ -596,9 +594,7 @@ public abstract class AbstractEAIndividual implements IndividualInterface, java. this.fitness[index] = fitness; } else { double[] tmpD = new double[index + 1]; - for (int i = 0; i < this.fitness.length; i++) { - tmpD[i] = this.fitness[i]; - } + System.arraycopy(this.fitness, 0, tmpD, 0, this.fitness.length); this.fitness = tmpD; this.fitness[index] = fitness; } @@ -833,9 +829,7 @@ public abstract class AbstractEAIndividual implements IndividualInterface, java. this.selectionProbability[index] = sel; } else { double[] tmpD = new double[index + 1]; - for (int i = 0; i < this.selectionProbability.length; i++) { - tmpD[i] = this.selectionProbability[i]; - } + System.arraycopy(this.selectionProbability, 0, tmpD, 0, this.selectionProbability.length); this.selectionProbability = tmpD; this.selectionProbability[index] = sel; } diff --git a/src/eva2/optimization/individuals/ESIndividualBinaryData.java b/src/eva2/optimization/individuals/ESIndividualBinaryData.java index b568ca35..42473f78 100644 --- a/src/eva2/optimization/individuals/ESIndividualBinaryData.java +++ b/src/eva2/optimization/individuals/ESIndividualBinaryData.java @@ -53,13 +53,9 @@ public class ESIndividualBinaryData extends AbstractEAIndividual implements Inte this.mutationOperator = (InterfaceMutation) individual.mutationOperator.clone(); this.mutationProbability = individual.mutationProbability; this.selectionProbability = new double[individual.selectionProbability.length]; - for (int i = 0; i < this.selectionProbability.length; i++) { - this.selectionProbability[i] = individual.selectionProbability[i]; - } + System.arraycopy(individual.selectionProbability, 0, this.selectionProbability, 0, this.selectionProbability.length); this.fitness = new double[individual.fitness.length]; - for (int i = 0; i < this.fitness.length; i++) { - this.fitness[i] = individual.fitness[i]; - } + System.arraycopy(individual.fitness, 0, this.fitness, 0, this.fitness.length); cloneAEAObjects(individual); } diff --git a/src/eva2/optimization/individuals/ESIndividualDoubleData.java b/src/eva2/optimization/individuals/ESIndividualDoubleData.java index 9bab8cdc..90d1f0fd 100644 --- a/src/eva2/optimization/individuals/ESIndividualDoubleData.java +++ b/src/eva2/optimization/individuals/ESIndividualDoubleData.java @@ -54,13 +54,9 @@ public class ESIndividualDoubleData extends AbstractEAIndividual implements Inte this.mutationOperator = (InterfaceMutation) individual.mutationOperator.clone(); this.mutationProbability = individual.mutationProbability; this.selectionProbability = new double[individual.selectionProbability.length]; - for (int i = 0; i < this.selectionProbability.length; i++) { - this.selectionProbability[i] = individual.selectionProbability[i]; - } + System.arraycopy(individual.selectionProbability, 0, this.selectionProbability, 0, this.selectionProbability.length); this.fitness = new double[individual.fitness.length]; - for (int i = 0; i < this.fitness.length; i++) { - this.fitness[i] = individual.fitness[i]; - } + System.arraycopy(individual.fitness, 0, this.fitness, 0, this.fitness.length); cloneAEAObjects(individual); } diff --git a/src/eva2/optimization/individuals/ESIndividualIntegerData.java b/src/eva2/optimization/individuals/ESIndividualIntegerData.java index 6e7a1108..ebb5b36b 100644 --- a/src/eva2/optimization/individuals/ESIndividualIntegerData.java +++ b/src/eva2/optimization/individuals/ESIndividualIntegerData.java @@ -49,13 +49,9 @@ public class ESIndividualIntegerData extends AbstractEAIndividual implements Int this.mutationOperator = (InterfaceMutation) individual.mutationOperator.clone(); this.mutationProbability = individual.mutationProbability; this.selectionProbability = new double[individual.selectionProbability.length]; - for (int i = 0; i < this.selectionProbability.length; i++) { - this.selectionProbability[i] = individual.selectionProbability[i]; - } + System.arraycopy(individual.selectionProbability, 0, this.selectionProbability, 0, this.selectionProbability.length); this.fitness = new double[individual.fitness.length]; - for (int i = 0; i < this.fitness.length; i++) { - this.fitness[i] = individual.fitness[i]; - } + System.arraycopy(individual.fitness, 0, this.fitness, 0, this.fitness.length); cloneAEAObjects(individual); } diff --git a/src/eva2/optimization/individuals/ESIndividualPermutationData.java b/src/eva2/optimization/individuals/ESIndividualPermutationData.java index d5fe6910..1a1d9267 100644 --- a/src/eva2/optimization/individuals/ESIndividualPermutationData.java +++ b/src/eva2/optimization/individuals/ESIndividualPermutationData.java @@ -65,13 +65,9 @@ public class ESIndividualPermutationData extends AbstractEAIndividual implements this.mutationOperator = (InterfaceMutation) individual.mutationOperator.clone(); this.mutationProbability = individual.mutationProbability; this.selectionProbability = new double[individual.selectionProbability.length]; - for (int i = 0; i < this.selectionProbability.length; i++) { - this.selectionProbability[i] = individual.selectionProbability[i]; - } + System.arraycopy(individual.selectionProbability, 0, this.selectionProbability, 0, this.selectionProbability.length); this.fitness = new double[individual.fitness.length]; - for (int i = 0; i < this.fitness.length; i++) { - this.fitness[i] = individual.fitness[i]; - } + System.arraycopy(individual.fitness, 0, this.fitness, 0, this.fitness.length); cloneAEAObjects(individual); } diff --git a/src/eva2/optimization/individuals/GAESIndividualBinaryDoubleData.java b/src/eva2/optimization/individuals/GAESIndividualBinaryDoubleData.java index 271b6bd3..bdbdc59f 100644 --- a/src/eva2/optimization/individuals/GAESIndividualBinaryDoubleData.java +++ b/src/eva2/optimization/individuals/GAESIndividualBinaryDoubleData.java @@ -36,13 +36,9 @@ public class GAESIndividualBinaryDoubleData extends AbstractEAIndividual impleme this.mutationOperator = (InterfaceMutation) individual.mutationOperator.clone(); this.mutationProbability = individual.mutationProbability; this.selectionProbability = new double[individual.selectionProbability.length]; - for (int i = 0; i < this.selectionProbability.length; i++) { - this.selectionProbability[i] = individual.selectionProbability[i]; - } + System.arraycopy(individual.selectionProbability, 0, this.selectionProbability, 0, this.selectionProbability.length); this.fitness = new double[individual.fitness.length]; - for (int i = 0; i < this.fitness.length; i++) { - this.fitness[i] = individual.fitness[i]; - } + System.arraycopy(individual.fitness, 0, this.fitness, 0, this.fitness.length); cloneAEAObjects(individual); } diff --git a/src/eva2/optimization/individuals/GAIndividualBinaryData.java b/src/eva2/optimization/individuals/GAIndividualBinaryData.java index 9da0d4a4..1b5ab46c 100644 --- a/src/eva2/optimization/individuals/GAIndividualBinaryData.java +++ b/src/eva2/optimization/individuals/GAIndividualBinaryData.java @@ -51,13 +51,9 @@ public class GAIndividualBinaryData extends AbstractEAIndividual implements Inte this.mutationOperator = (InterfaceMutation) individual.mutationOperator.clone(); this.mutationProbability = individual.mutationProbability; this.selectionProbability = new double[individual.selectionProbability.length]; - for (int i = 0; i < this.selectionProbability.length; i++) { - this.selectionProbability[i] = individual.selectionProbability[i]; - } + System.arraycopy(individual.selectionProbability, 0, this.selectionProbability, 0, this.selectionProbability.length); this.fitness = new double[individual.fitness.length]; - for (int i = 0; i < this.fitness.length; i++) { - this.fitness[i] = individual.fitness[i]; - } + System.arraycopy(individual.fitness, 0, this.fitness, 0, this.fitness.length); cloneAEAObjects(individual); } diff --git a/src/eva2/optimization/individuals/GAIndividualDoubleData.java b/src/eva2/optimization/individuals/GAIndividualDoubleData.java index f8165e5e..4f9c6fca 100644 --- a/src/eva2/optimization/individuals/GAIndividualDoubleData.java +++ b/src/eva2/optimization/individuals/GAIndividualDoubleData.java @@ -59,15 +59,11 @@ public class GAIndividualDoubleData extends AbstractEAIndividual implements Inte this.mutationOperator = (InterfaceMutation) individual.mutationOperator.clone(); this.mutationProbability = individual.mutationProbability; this.selectionProbability = new double[individual.selectionProbability.length]; - for (int i = 0; i < this.selectionProbability.length; i++) { - this.selectionProbability[i] = individual.selectionProbability[i]; - } + System.arraycopy(individual.selectionProbability, 0, this.selectionProbability, 0, this.selectionProbability.length); this.precision = individual.precision; this.doubleCoding = individual.doubleCoding; this.fitness = new double[individual.fitness.length]; - for (int i = 0; i < this.fitness.length; i++) { - this.fitness[i] = individual.fitness[i]; - } + System.arraycopy(individual.fitness, 0, this.fitness, 0, this.fitness.length); cloneAEAObjects(individual); } diff --git a/src/eva2/optimization/individuals/GAIndividualIntegerData.java b/src/eva2/optimization/individuals/GAIndividualIntegerData.java index ff0470c2..e323fe6a 100644 --- a/src/eva2/optimization/individuals/GAIndividualIntegerData.java +++ b/src/eva2/optimization/individuals/GAIndividualIntegerData.java @@ -59,14 +59,10 @@ public class GAIndividualIntegerData extends AbstractEAIndividual implements Int this.mutationOperator = (InterfaceMutation) individual.mutationOperator.clone(); this.mutationProbability = individual.mutationProbability; this.selectionProbability = new double[individual.selectionProbability.length]; - for (int i = 0; i < this.selectionProbability.length; i++) { - this.selectionProbability[i] = individual.selectionProbability[i]; - } + System.arraycopy(individual.selectionProbability, 0, this.selectionProbability, 0, this.selectionProbability.length); this.intergerCoding = individual.intergerCoding; this.fitness = new double[individual.fitness.length]; - for (int i = 0; i < this.fitness.length; i++) { - this.fitness[i] = individual.fitness[i]; - } + System.arraycopy(individual.fitness, 0, this.fitness, 0, this.fitness.length); cloneAEAObjects(individual); } diff --git a/src/eva2/optimization/individuals/GAPIndividualProgramData.java b/src/eva2/optimization/individuals/GAPIndividualProgramData.java index 903a5909..c924e35d 100644 --- a/src/eva2/optimization/individuals/GAPIndividualProgramData.java +++ b/src/eva2/optimization/individuals/GAPIndividualProgramData.java @@ -33,13 +33,9 @@ public class GAPIndividualProgramData extends AbstractEAIndividual implements In this.mutationOperator = (InterfaceMutation) individual.mutationOperator.clone(); this.mutationProbability = individual.mutationProbability; this.selectionProbability = new double[individual.selectionProbability.length]; - for (int i = 0; i < this.selectionProbability.length; i++) { - this.selectionProbability[i] = individual.selectionProbability[i]; - } + System.arraycopy(individual.selectionProbability, 0, this.selectionProbability, 0, this.selectionProbability.length); this.fitness = new double[individual.fitness.length]; - for (int i = 0; i < this.fitness.length; i++) { - this.fitness[i] = individual.fitness[i]; - } + System.arraycopy(individual.fitness, 0, this.fitness, 0, this.fitness.length); cloneAEAObjects(individual); } diff --git a/src/eva2/optimization/individuals/GEIndividualProgramData.java b/src/eva2/optimization/individuals/GEIndividualProgramData.java index fa3e1685..86586431 100644 --- a/src/eva2/optimization/individuals/GEIndividualProgramData.java +++ b/src/eva2/optimization/individuals/GEIndividualProgramData.java @@ -97,13 +97,9 @@ public class GEIndividualProgramData extends AbstractEAIndividual implements Int this.mutationOperator = (InterfaceMutation) individual.mutationOperator.clone(); this.mutationProbability = individual.mutationProbability; this.selectionProbability = new double[individual.selectionProbability.length]; - for (int i = 0; i < this.selectionProbability.length; i++) { - this.selectionProbability[i] = individual.selectionProbability[i]; - } + System.arraycopy(individual.selectionProbability, 0, this.selectionProbability, 0, this.selectionProbability.length); this.fitness = new double[individual.fitness.length]; - for (int i = 0; i < this.fitness.length; i++) { - this.fitness[i] = individual.fitness[i]; - } + System.arraycopy(individual.fitness, 0, this.fitness, 0, this.fitness.length); cloneAEAObjects(individual); } diff --git a/src/eva2/optimization/individuals/GIIndividualIntegerData.java b/src/eva2/optimization/individuals/GIIndividualIntegerData.java index ca83899e..8460507b 100644 --- a/src/eva2/optimization/individuals/GIIndividualIntegerData.java +++ b/src/eva2/optimization/individuals/GIIndividualIntegerData.java @@ -59,13 +59,9 @@ public class GIIndividualIntegerData extends AbstractEAIndividual implements Int this.mutationOperator = (InterfaceMutation) individual.mutationOperator.clone(); this.mutationProbability = individual.mutationProbability; this.selectionProbability = new double[individual.selectionProbability.length]; - for (int i = 0; i < this.selectionProbability.length; i++) { - this.selectionProbability[i] = individual.selectionProbability[i]; - } + System.arraycopy(individual.selectionProbability, 0, this.selectionProbability, 0, this.selectionProbability.length); this.fitness = new double[individual.fitness.length]; - for (int i = 0; i < this.fitness.length; i++) { - this.fitness[i] = individual.fitness[i]; - } + System.arraycopy(individual.fitness, 0, this.fitness, 0, this.fitness.length); cloneAEAObjects(individual); } @@ -184,9 +180,7 @@ public class GIIndividualIntegerData extends AbstractEAIndividual implements Int @Override public int[] getIntegerData() { this.phenotype = new int[this.initializationRange.length]; - for (int i = 0; i < this.phenotype.length; i++) { - this.phenotype[i] = this.genotype[i]; - } + System.arraycopy(this.genotype, 0, this.phenotype, 0, this.phenotype.length); return this.phenotype; } @@ -221,9 +215,7 @@ public class GIIndividualIntegerData extends AbstractEAIndividual implements Int public void setIntGenotype(int[] doubleData) { this.setIntPhenotype(doubleData); this.genotype = new int[this.initializationRange.length]; - for (int i = 0; i < doubleData.length; i++) { - this.genotype[i] = doubleData[i]; - } + System.arraycopy(doubleData, 0, this.genotype, 0, doubleData.length); } /************************************************************************************ diff --git a/src/eva2/optimization/individuals/GIOBGAIndividualIntegerPermutationData.java b/src/eva2/optimization/individuals/GIOBGAIndividualIntegerPermutationData.java index ad1f292e..2dc12cdd 100644 --- a/src/eva2/optimization/individuals/GIOBGAIndividualIntegerPermutationData.java +++ b/src/eva2/optimization/individuals/GIOBGAIndividualIntegerPermutationData.java @@ -33,13 +33,9 @@ public class GIOBGAIndividualIntegerPermutationData extends AbstractEAIndividual this.mutationOperator = (InterfaceMutation) individual.mutationOperator.clone(); this.mutationProbability = individual.mutationProbability; this.selectionProbability = new double[individual.selectionProbability.length]; - for (int i = 0; i < this.selectionProbability.length; i++) { - this.selectionProbability[i] = individual.selectionProbability[i]; - } + System.arraycopy(individual.selectionProbability, 0, this.selectionProbability, 0, this.selectionProbability.length); this.fitness = new double[individual.fitness.length]; - for (int i = 0; i < this.fitness.length; i++) { - this.fitness[i] = individual.fitness[i]; - } + System.arraycopy(individual.fitness, 0, this.fitness, 0, this.fitness.length); cloneAEAObjects(individual); } diff --git a/src/eva2/optimization/individuals/GPIndividualProgramData.java b/src/eva2/optimization/individuals/GPIndividualProgramData.java index a4c6cb80..de4dc335 100644 --- a/src/eva2/optimization/individuals/GPIndividualProgramData.java +++ b/src/eva2/optimization/individuals/GPIndividualProgramData.java @@ -68,13 +68,9 @@ public class GPIndividualProgramData extends AbstractEAIndividual implements Int this.mutationOperator = (InterfaceMutation) individual.mutationOperator.clone(); this.mutationProbability = individual.mutationProbability; this.selectionProbability = new double[individual.selectionProbability.length]; - for (int i = 0; i < this.selectionProbability.length; i++) { - this.selectionProbability[i] = individual.selectionProbability[i]; - } + System.arraycopy(individual.selectionProbability, 0, this.selectionProbability, 0, this.selectionProbability.length); this.fitness = new double[individual.fitness.length]; - for (int i = 0; i < this.fitness.length; i++) { - this.fitness[i] = individual.fitness[i]; - } + System.arraycopy(individual.fitness, 0, this.fitness, 0, this.fitness.length); cloneAEAObjects(individual); } diff --git a/src/eva2/optimization/individuals/OBGAIndividualPermutationData.java b/src/eva2/optimization/individuals/OBGAIndividualPermutationData.java index 116bdef0..b3e0d0ed 100644 --- a/src/eva2/optimization/individuals/OBGAIndividualPermutationData.java +++ b/src/eva2/optimization/individuals/OBGAIndividualPermutationData.java @@ -52,13 +52,9 @@ public class OBGAIndividualPermutationData extends AbstractEAIndividual implemen this.mutationOperator = (InterfaceMutation) individual.mutationOperator.clone(); this.mutationProbability = individual.mutationProbability; this.selectionProbability = new double[individual.selectionProbability.length]; - for (int i = 0; i < this.selectionProbability.length; i++) { - this.selectionProbability[i] = individual.selectionProbability[i]; - } + System.arraycopy(individual.selectionProbability, 0, this.selectionProbability, 0, this.selectionProbability.length); this.fitness = new double[individual.fitness.length]; - for (int i = 0; i < this.fitness.length; i++) { - this.fitness[i] = individual.fitness[i]; - } + System.arraycopy(individual.fitness, 0, this.fitness, 0, this.fitness.length); this.cloneAEAObjects(individual); } diff --git a/src/eva2/optimization/individuals/codings/gp/AbstractGPNode.java b/src/eva2/optimization/individuals/codings/gp/AbstractGPNode.java index 0da90404..7652e043 100644 --- a/src/eva2/optimization/individuals/codings/gp/AbstractGPNode.java +++ b/src/eva2/optimization/individuals/codings/gp/AbstractGPNode.java @@ -144,7 +144,7 @@ public abstract class AbstractGPNode implements InterfaceProgram, java.io.Serial ((GPNodeInput) currentNode).setIdentifier(currentNode.getOpIdentifier()); } } - return new Pair(currentNode, restStr); + return new Pair<>(currentNode, restStr); } else { restStr = str.substring(cutFront + 1).trim(); // cut this op and front brace currentNode.nodes = new AbstractGPNode[currentNode.getArity()]; @@ -159,7 +159,7 @@ public abstract class AbstractGPNode implements InterfaceProgram, java.io.Serial e.printStackTrace(); } } - return new Pair(currentNode, restStr); + return new Pair<>(currentNode, restStr); } } } @@ -175,7 +175,7 @@ public abstract class AbstractGPNode implements InterfaceProgram, java.io.Serial */ public static Vector getNodeTypes() { ArrayList cls = GenericObjectEditor.getClassesFromClassPath(AbstractGPNode.class.getCanonicalName(), null); - Vector nodeTypes = new Vector(cls.size()); + Vector nodeTypes = new Vector<>(cls.size()); for (int i = 0; i < cls.size(); i++) { try { AbstractGPNode node = (AbstractGPNode) Class.forName((String) cls.get(i)).newInstance(); @@ -206,7 +206,7 @@ public abstract class AbstractGPNode implements InterfaceProgram, java.io.Serial } try { Double d = Double.parseDouble(firstArg); - return new Pair(d, str.substring(firstArg.length())); + return new Pair<>(d, str.substring(firstArg.length())); } catch (NumberFormatException e) { if (expect) { System.err.println("String has unknown prefix: " + str); @@ -246,7 +246,7 @@ public abstract class AbstractGPNode implements InterfaceProgram, java.io.Serial */ private static Vector match( Vector nodeTypes, String str, boolean firstLongestOnly, boolean ignoreCase) { - Vector matching = new Vector(); + Vector matching = new Vector<>(); for (int i = 0; i < nodeTypes.size(); i++) { String reqPrefix = nodeTypes.get(i).getOpIdentifier(); if (nodeTypes.get(i).getArity() > 0) { @@ -261,7 +261,7 @@ public abstract class AbstractGPNode implements InterfaceProgram, java.io.Serial if (matching.size() > 1 && firstLongestOnly) { // allow only the longest match (or first longest) int maxLen = matching.get(0).getOpIdentifier().length(); AbstractGPNode longest = matching.get(0); - Vector longestList = new Vector(); + Vector longestList = new Vector<>(); longestList.add(longest); for (int i = 1; i < matching.size(); i++) { if (matching.get(i).getOpIdentifier().length() > maxLen) { @@ -338,7 +338,7 @@ public abstract class AbstractGPNode implements InterfaceProgram, java.io.Serial * @return */ public static String createNodeList() { - String ret = new String(); + String ret = ""; Class cls = AbstractGPNode.class; Class[] nodes = ReflectPackage.getAssignableClassesInPackage(cls.getPackage().getName(), AbstractGPNode.class, true, false); diff --git a/src/eva2/optimization/individuals/codings/gp/GPArea.java b/src/eva2/optimization/individuals/codings/gp/GPArea.java index 7b0fa4bb..3839bdc6 100644 --- a/src/eva2/optimization/individuals/codings/gp/GPArea.java +++ b/src/eva2/optimization/individuals/codings/gp/GPArea.java @@ -18,9 +18,9 @@ public class GPArea implements java.io.Serializable { */ private transient PropertyChangeSupport propertyChangeSupport = new PropertyChangeSupport(this); - private ArrayList completeList = new ArrayList(); - private ArrayList reducedList = new ArrayList(); - private ArrayList blackList = new ArrayList(); + private ArrayList completeList = new ArrayList<>(); + private ArrayList reducedList = new ArrayList<>(); + private ArrayList blackList = new ArrayList<>(); public GPArea() { @@ -50,7 +50,7 @@ public class GPArea implements java.io.Serializable { */ public void add2CompleteList(AbstractGPNode n) { this.completeList.add(n); - this.blackList.add(new Boolean(true)); + this.blackList.add(Boolean.TRUE); } /** @@ -61,7 +61,7 @@ public class GPArea implements java.io.Serializable { */ public void add2CompleteList(AbstractGPNode n, boolean b) { this.completeList.add(n); - this.blackList.add(new Boolean(b)); + this.blackList.add(Boolean.valueOf(b)); } /** @@ -89,7 +89,7 @@ public class GPArea implements java.io.Serializable { * @param b the boolean value */ public void setBlackListElement(int i, boolean b) { - this.blackList.set(i, new Boolean(b)); + this.blackList.set(i, Boolean.valueOf(b)); } /** @@ -124,7 +124,7 @@ public class GPArea implements java.io.Serializable { * This method compiles the Complete List to the allowed list using the BlackList */ public void compileReducedList() { - this.reducedList = new ArrayList(); + this.reducedList = new ArrayList<>(); for (int i = 0; i < this.completeList.size(); i++) { if (this.blackList.get(i).booleanValue()) { this.reducedList.add(this.completeList.get(i)); @@ -139,7 +139,7 @@ public class GPArea implements java.io.Serializable { * @param targetarity The target arity. */ public AbstractGPNode getRandomNodeWithArity(int targetarity) { - ArrayList tmpArray = new ArrayList(); + ArrayList tmpArray = new ArrayList<>(); for (int i = 0; i < this.reducedList.size(); i++) { if (this.reducedList.get(i).getArity() == targetarity) { tmpArray.add(this.reducedList.get(i)); @@ -167,7 +167,7 @@ public class GPArea implements java.io.Serializable { * This method will return a non terminal */ public AbstractGPNode getRandomNonTerminal() { - ArrayList tmpArray = new ArrayList(); + ArrayList tmpArray = new ArrayList<>(); for (int i = 0; i < this.reducedList.size(); i++) { if (this.reducedList.get(i).getArity() > 0) { tmpArray.add(this.reducedList.get(i)); @@ -185,9 +185,9 @@ public class GPArea implements java.io.Serializable { } public void clear() { - completeList = new ArrayList(); - reducedList = new ArrayList(); - blackList = new ArrayList(); + completeList = new ArrayList<>(); + reducedList = new ArrayList<>(); + blackList = new ArrayList<>(); propertyChangeSupport.firePropertyChange("GPArea", null, this); } diff --git a/src/eva2/optimization/mocco/MOCCOChooseReferencePoint.java b/src/eva2/optimization/mocco/MOCCOChooseReferencePoint.java index 7285f1a0..c2429d0a 100644 --- a/src/eva2/optimization/mocco/MOCCOChooseReferencePoint.java +++ b/src/eva2/optimization/mocco/MOCCOChooseReferencePoint.java @@ -99,7 +99,7 @@ public class MOCCOChooseReferencePoint extends MOCCOPhase implements InterfacePr @Override public void actionPerformed(ActionEvent event) { for (int i = 0; i < textField.length; i++) { - mocco.view.referencePoint[i] = new Double(textField[i].getText()).doubleValue(); + mocco.view.referencePoint[i] = Double.parseDouble(textField[i].getText()); } mocco.view.problemChanged(false); } diff --git a/src/eva2/optimization/mocco/MOCCOInitialPopulationSize.java b/src/eva2/optimization/mocco/MOCCOInitialPopulationSize.java index 240ac63d..446ebf1a 100644 --- a/src/eva2/optimization/mocco/MOCCOInitialPopulationSize.java +++ b/src/eva2/optimization/mocco/MOCCOInitialPopulationSize.java @@ -69,7 +69,7 @@ public class MOCCOInitialPopulationSize extends MOCCOPhase implements InterfaceP public void actionPerformed(ActionEvent event) { String s = textField.getText(); try { - int t = new Integer(s).intValue(); + int t = Integer.parseInt(s); mocco.state.initialPopulationSize = t; } catch (java.lang.NumberFormatException e) { diff --git a/src/eva2/optimization/mocco/MOCCOParameterizeGDF.java b/src/eva2/optimization/mocco/MOCCOParameterizeGDF.java index ed3cd87e..e718c520 100644 --- a/src/eva2/optimization/mocco/MOCCOParameterizeGDF.java +++ b/src/eva2/optimization/mocco/MOCCOParameterizeGDF.java @@ -204,7 +204,7 @@ public class MOCCOParameterizeGDF extends MOCCOPhase implements InterfaceProcess double[] w = new double[tradeOffTextFields.length]; double sum = 0; for (int i = 0; i < tradeOffTextFields.length; i++) { - w[i] = new Double(tradeOffTextFields[i][i].getText()).doubleValue(); + w[i] = Double.parseDouble(tradeOffTextFields[i][i].getText()); sum += w[i]; } if (new Double(sum).isNaN()) { @@ -226,7 +226,7 @@ public class MOCCOParameterizeGDF extends MOCCOPhase implements InterfaceProcess public void actionPerformed(ActionEvent event) { double[] w = new double[tradeOffTextFields.length]; for (int i = 0; i < tradeOffTextFields.length; i++) { - w[i] = new Double(tradeOffTextFields[i][i].getText()).doubleValue(); + w[i] = Double.parseDouble(tradeOffTextFields[i][i].getText()); } MOSOWeightedFitness wf = new MOSOWeightedFitness(); // I've to set this before I change the parameters, because the problem sets the diff --git a/src/eva2/optimization/mocco/MOCCOParameterizeRefPoint.java b/src/eva2/optimization/mocco/MOCCOParameterizeRefPoint.java index fc00c08f..72eaebbb 100644 --- a/src/eva2/optimization/mocco/MOCCOParameterizeRefPoint.java +++ b/src/eva2/optimization/mocco/MOCCOParameterizeRefPoint.java @@ -217,12 +217,12 @@ public class MOCCOParameterizeRefPoint extends MOCCOPhase implements InterfacePr public void actionPerformed(ActionEvent event) { // first read the values try { - perturbations = new Integer(numPerTextField.getText()).intValue(); + perturbations = Integer.parseInt(numPerTextField.getText()); } catch (java.lang.NumberFormatException e) { System.out.println("Can't read k."); } try { - perturbation = new Double(sizePerTextField.getText()).doubleValue(); + perturbation = Double.parseDouble(sizePerTextField.getText()); } catch (java.lang.NumberFormatException e) { System.out.println("Can't read amount of perturbation."); } diff --git a/src/eva2/optimization/mocco/MOCCOParameterizeSTEP.java b/src/eva2/optimization/mocco/MOCCOParameterizeSTEP.java index 36f0db69..2b5b4ca7 100644 --- a/src/eva2/optimization/mocco/MOCCOParameterizeSTEP.java +++ b/src/eva2/optimization/mocco/MOCCOParameterizeSTEP.java @@ -263,8 +263,8 @@ public class MOCCOParameterizeSTEP extends MOCCOPhase implements InterfaceProces weights = new double[refSolTextField.length]; relax = new double[refSolTextField.length]; for (int i = 0; i < refSolTextField.length; i++) { - weights[i] = new Double(weightTextField[i].getText()).doubleValue(); - relax[i] = new Double(relaxTextField[i].getText()).doubleValue(); + weights[i] = Double.parseDouble(weightTextField[i].getText()); + relax[i] = Double.parseDouble(relaxTextField[i].getText()); if ((satisfied[i].isSelected()) && (obj[i].getOptimizationMode().contains("Objective"))) { weights[i] = 0; if (obj[i].is2BMinimized()) { diff --git a/src/eva2/optimization/mocco/MOCCOParameterizeTchebycheff.java b/src/eva2/optimization/mocco/MOCCOParameterizeTchebycheff.java index 401a3c81..991e157a 100644 --- a/src/eva2/optimization/mocco/MOCCOParameterizeTchebycheff.java +++ b/src/eva2/optimization/mocco/MOCCOParameterizeTchebycheff.java @@ -219,7 +219,7 @@ public class MOCCOParameterizeTchebycheff extends MOCCOPhase implements Interfac public void actionPerformed(ActionEvent event) { // first read the values try { - perturbations = new Integer(numPer.getText()).intValue(); + perturbations = Integer.parseInt(numPer.getText()); } catch (NumberFormatException e) { System.out.println("Can't read k."); } @@ -251,11 +251,11 @@ public class MOCCOParameterizeTchebycheff extends MOCCOPhase implements Interfac sum = 0; for (int j = 0; j < tmpD.length; j++) { try { - l = new Double(lowerLimit[j].getText()).doubleValue(); + l = Double.parseDouble(lowerLimit[j].getText()); } catch (NumberFormatException e) { } try { - u = new Double(upperLimit[j].getText()).doubleValue(); + u = Double.parseDouble(upperLimit[j].getText()); } catch (NumberFormatException e) { } if (l < 0) { diff --git a/src/eva2/optimization/mocco/MOCCOState.java b/src/eva2/optimization/mocco/MOCCOState.java index 52983df9..5e284e42 100644 --- a/src/eva2/optimization/mocco/MOCCOState.java +++ b/src/eva2/optimization/mocco/MOCCOState.java @@ -95,9 +95,7 @@ public class MOCCOState { } Population[] newPop = new Population[this.populationHistory.length + 1]; - for (int i = 0; i < this.populationHistory.length; i++) { - newPop[i] = this.populationHistory[i]; - } + System.arraycopy(this.populationHistory, 0, newPop, 0, this.populationHistory.length); newPop[newPop.length - 1] = (Population) pop.clone(); newPop[newPop.length - 1].addPopulation(newPop[newPop.length - 1].getArchive()); newPop[newPop.length - 1].SetArchive(null); diff --git a/src/eva2/optimization/modules/AbstractModuleAdapter.java b/src/eva2/optimization/modules/AbstractModuleAdapter.java index 105e6996..5872b093 100644 --- a/src/eva2/optimization/modules/AbstractModuleAdapter.java +++ b/src/eva2/optimization/modules/AbstractModuleAdapter.java @@ -23,7 +23,7 @@ abstract public class AbstractModuleAdapter implements ModuleAdapter, Serializab protected AbstractModuleAdapter() { instanceCounter++; instanceNumber = instanceCounter; - optimizationStateListeners = new ArrayList(); + optimizationStateListeners = new ArrayList<>(); } /** diff --git a/src/eva2/optimization/modules/AbstractOptimizationParameters.java b/src/eva2/optimization/modules/AbstractOptimizationParameters.java index 344a52d9..1cf06a81 100644 --- a/src/eva2/optimization/modules/AbstractOptimizationParameters.java +++ b/src/eva2/optimization/modules/AbstractOptimizationParameters.java @@ -157,7 +157,7 @@ public abstract class AbstractOptimizationParameters implements InterfaceOptimiz @Override public void addInformableInstance(InterfaceNotifyOnInformers o) { if (toInformAboutInformers == null) { - toInformAboutInformers = new LinkedList(); + toInformAboutInformers = new LinkedList<>(); } if (!toInformAboutInformers.contains(o)) { toInformAboutInformers.add(o); @@ -193,7 +193,7 @@ public abstract class AbstractOptimizationParameters implements InterfaceOptimiz } private List getInformerList() { - LinkedList ret = new LinkedList(); + LinkedList ret = new LinkedList<>(); if (problem instanceof InterfaceAdditionalPopulationInformer) { ret.add(problem); } diff --git a/src/eva2/optimization/modules/Processor.java b/src/eva2/optimization/modules/Processor.java index 9cdde24e..20f6787c 100644 --- a/src/eva2/optimization/modules/Processor.java +++ b/src/eva2/optimization/modules/Processor.java @@ -9,12 +9,10 @@ import eva2.optimization.operator.paramcontrol.ConstantParameters; import eva2.optimization.operator.paramcontrol.InterfaceParameterControl; import eva2.optimization.operator.postprocess.PostProcess; import eva2.optimization.operator.postprocess.PostProcessParams; -import eva2.optimization.operator.postprocess.SolutionHistogram; import eva2.optimization.operator.terminators.EvaluationTerminator; import eva2.optimization.operator.terminators.GenerationTerminator; import eva2.optimization.operator.terminators.InterfaceTerminator; import eva2.optimization.population.Population; -import eva2.optimization.population.PopulationInterface; import eva2.problems.AbstractOptimizationProblem; import eva2.problems.InterfaceAdditionalPopulationInformer; import eva2.optimization.stat.InterfaceStatistics; @@ -398,7 +396,7 @@ public class Processor extends Thread implements InterfaceProcessor, InterfacePo } protected List getInformerList() { - List informerList = new ArrayList(2); + List informerList = new ArrayList<>(2); informerList.add(this.optimizationParameters.getProblem()); if (this.optimizationParameters.getOptimizer() instanceof InterfaceAdditionalPopulationInformer) { informerList.add((InterfaceAdditionalPopulationInformer) this.optimizationParameters.getOptimizer()); diff --git a/src/eva2/optimization/operator/classification/ClassificationSelfOrganizingMaps.java b/src/eva2/optimization/operator/classification/ClassificationSelfOrganizingMaps.java index 4bcb343f..197580f0 100644 --- a/src/eva2/optimization/operator/classification/ClassificationSelfOrganizingMaps.java +++ b/src/eva2/optimization/operator/classification/ClassificationSelfOrganizingMaps.java @@ -45,9 +45,7 @@ public class ClassificationSelfOrganizingMaps implements java.io.Serializable, I this.SOM = new double[a.SOM.length][a.SOM[0].length][a.SOM[0][0].length]; for (int i = 0; i < a.SOM.length; i++) { for (int j = 0; j < a.SOM[0].length; j++) { - for (int k = 0; k < a.SOM[0][0].length; k++) { - this.SOM[i][j][k] = a.SOM[i][j][k]; - } + System.arraycopy(a.SOM[i][j], 0, this.SOM[i][j], 0, a.SOM[0][0].length); } } } @@ -55,9 +53,7 @@ public class ClassificationSelfOrganizingMaps implements java.io.Serializable, I this.SOMClass = new int[a.SOMClass.length][a.SOMClass[0].length][a.SOMClass[0][0].length]; for (int i = 0; i < a.SOMClass.length; i++) { for (int j = 0; j < a.SOMClass[0].length; j++) { - for (int k = 0; k < a.SOMClass[0][0].length; k++) { - this.SOMClass[i][j][k] = a.SOMClass[i][j][k]; - } + System.arraycopy(a.SOMClass[i][j], 0, this.SOMClass[i][j], 0, a.SOMClass[0][0].length); } } } diff --git a/src/eva2/optimization/operator/cluster/ClusteringDensityBased.java b/src/eva2/optimization/operator/cluster/ClusteringDensityBased.java index ae0b0d14..eefeab1f 100644 --- a/src/eva2/optimization/operator/cluster/ClusteringDensityBased.java +++ b/src/eva2/optimization/operator/cluster/ClusteringDensityBased.java @@ -64,16 +64,12 @@ public class ClusteringDensityBased implements InterfaceClusteringDistanceParam, this.minimumGroupSize = a.minimumGroupSize; if (a.clustered != null) { this.clustered = new boolean[a.clustered.length]; - for (int i = 0; i < this.clustered.length; i++) { - this.clustered[i] = a.clustered[i]; - } + System.arraycopy(a.clustered, 0, this.clustered, 0, this.clustered.length); } if (a.connectionMatrix != null) { this.connectionMatrix = new boolean[a.connectionMatrix.length][a.connectionMatrix[0].length]; for (int i = 0; i < this.connectionMatrix.length; i++) { - for (int j = 0; j < this.connectionMatrix[i].length; j++) { - this.connectionMatrix[i][j] = a.connectionMatrix[i][j]; - } + System.arraycopy(a.connectionMatrix[i], 0, this.connectionMatrix[i], 0, this.connectionMatrix[i].length); } } } @@ -95,7 +91,7 @@ public class ClusteringDensityBased implements InterfaceClusteringDistanceParam, clustered = new boolean[pop.size()]; AbstractEAIndividual tmpIndy1, tmpIndy2; Population PopulationOfUnclustered, Cluster, template; - ArrayList ClusteredPopulations = new ArrayList(); + ArrayList ClusteredPopulations = new ArrayList<>(); template = (Population) pop.clone(); template.clear(); diff --git a/src/eva2/optimization/operator/cluster/ClusteringKMeans.java b/src/eva2/optimization/operator/cluster/ClusteringKMeans.java index 1e982212..159782bf 100644 --- a/src/eva2/optimization/operator/cluster/ClusteringKMeans.java +++ b/src/eva2/optimization/operator/cluster/ClusteringKMeans.java @@ -123,9 +123,7 @@ public class ClusteringKMeans implements InterfaceClustering, java.io.Serializab numbOfAssigned = new int[this.k]; for (int i = 0; i < newC.length; i++) { numbOfAssigned[i] = 1; - for (int j = 0; j < newC[i].length; j++) { - newC[i][j] = this.c[i][j]; - } + System.arraycopy(this.c[i], 0, newC[i], 0, newC[i].length); } for (int i = 0; i < assignment.length; i++) { numbOfAssigned[assignment[i]]++; diff --git a/src/eva2/optimization/operator/cluster/ClusteringNearestBetter.java b/src/eva2/optimization/operator/cluster/ClusteringNearestBetter.java index 8fc11107..51d712ef 100644 --- a/src/eva2/optimization/operator/cluster/ClusteringNearestBetter.java +++ b/src/eva2/optimization/operator/cluster/ClusteringNearestBetter.java @@ -1,6 +1,5 @@ package eva2.optimization.operator.cluster; -import eva2.gui.BeanInspector; import eva2.gui.editor.GenericObjectEditor; import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.individuals.AbstractEAIndividualComparator; @@ -258,7 +257,7 @@ public class ClusteringNearestBetter implements InterfaceClustering, Serializabl // Mark them as clustered and start with the next best unclustered. int current = 0; // top indy is first boolean[] clustered = new boolean[pop.size()]; - LinkedList allClusters = new LinkedList(); + LinkedList allClusters = new LinkedList<>(); while (current < sorted.size()) { Population currentClust = pop.cloneWithoutInds(); currentClust.add(sorted.get(current)); @@ -270,7 +269,7 @@ public class ClusteringNearestBetter implements InterfaceClustering, Serializabl while (current < sorted.size() && (clustered[current])) current++; } - ArrayList finalClusts = new ArrayList(allClusters.size()); + ArrayList finalClusts = new ArrayList<>(allClusters.size()); finalClusts.add(pop.cloneWithoutInds()); for (Population clust : allClusters) { if (clust.size() < minimumGroupSize) { // add to loner population @@ -322,7 +321,7 @@ public class ClusteringNearestBetter implements InterfaceClustering, Serializabl } // the closest best for indy i is now known. connect them in the graph. if (children[uplink[i]] == null) { - children[uplink[i]] = new Vector(); + children[uplink[i]] = new Vector<>(); } children[uplink[i]].add(i); edgeLengthSum += uplinkDist[i]; diff --git a/src/eva2/optimization/operator/crossover/CrossoverESUNDX.java b/src/eva2/optimization/operator/crossover/CrossoverESUNDX.java index dc47e749..229c0abf 100644 --- a/src/eva2/optimization/operator/crossover/CrossoverESUNDX.java +++ b/src/eva2/optimization/operator/crossover/CrossoverESUNDX.java @@ -92,9 +92,7 @@ public class CrossoverESUNDX implements InterfaceCrossover, java.io.Serializable } double[][] nParents = new double[parents.length - 1][]; - for (int i = 1; i < parents.length; i++) { - nParents[i - 1] = parents[i]; - } + System.arraycopy(parents, 1, nParents, 0, parents.length - 1); double[] g = Mathematics.meanVect(nParents), tmpD; double w, v; ArrayList givenCoordinates = this.getGivenCoordinates(g, nParents); @@ -103,9 +101,7 @@ public class CrossoverESUNDX implements InterfaceCrossover, java.io.Serializable // now determine the offsprings for (int i = 0; i < children.length; i++) { // first the mean - for (int j = 0; j < g.length; j++) { - children[i][j] = g[j]; - } + System.arraycopy(g, 0, children[i], 0, g.length); // then the given coordinates for (int j = 0; j < givenCoordinates.size(); j++) { tmpD = (double[]) givenCoordinates.get(j); diff --git a/src/eva2/optimization/operator/crossover/CrossoverGAGINPoint.java b/src/eva2/optimization/operator/crossover/CrossoverGAGINPoint.java index daf23db1..efd1da9d 100644 --- a/src/eva2/optimization/operator/crossover/CrossoverGAGINPoint.java +++ b/src/eva2/optimization/operator/crossover/CrossoverGAGINPoint.java @@ -1,7 +1,6 @@ package eva2.optimization.operator.crossover; -import eva2.gui.BeanInspector; import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.individuals.InterfaceGAIndividual; import eva2.optimization.individuals.InterfaceGIIndividual; diff --git a/src/eva2/optimization/operator/crossover/PropertyCrossoverMixer.java b/src/eva2/optimization/operator/crossover/PropertyCrossoverMixer.java index 5893516d..f9bf12de 100644 --- a/src/eva2/optimization/operator/crossover/PropertyCrossoverMixer.java +++ b/src/eva2/optimization/operator/crossover/PropertyCrossoverMixer.java @@ -26,10 +26,7 @@ public class PropertyCrossoverMixer implements java.io.Serializable { this.weightsLabel = d.weightsLabel; this.normalizationEnabled = d.normalizationEnabled; this.availableTargets = new InterfaceCrossover[d.availableTargets.length]; - for (int i = 0; i < this.availableTargets.length; i++) { - //this.availableTargets[i] = (InterfaceMutation)d.availableTargets[i].clone(); - this.availableTargets[i] = d.availableTargets[i]; - } + System.arraycopy(d.availableTargets, 0, this.availableTargets, 0, this.availableTargets.length); this.selectedTargets = new InterfaceCrossover[d.selectedTargets.length]; for (int i = 0; i < this.selectedTargets.length; i++) { this.selectedTargets[i] = (InterfaceCrossover) d.selectedTargets[i].clone(); @@ -67,15 +64,11 @@ public class PropertyCrossoverMixer implements java.io.Serializable { if (d.length > this.weights.length) { double[] newWeights = new double[d.length]; - for (int i = 0; i < this.weights.length; i++) { - newWeights[i] = this.weights[i]; - } + System.arraycopy(this.weights, 0, newWeights, 0, this.weights.length); this.weights = newWeights; } else { double[] newWeights = new double[d.length]; - for (int i = 0; i < d.length; i++) { - newWeights[i] = this.weights[i]; - } + System.arraycopy(this.weights, 0, newWeights, 0, d.length); this.weights = newWeights; } } diff --git a/src/eva2/optimization/operator/crossover/PropertyCrossoverMixerEditor.java b/src/eva2/optimization/operator/crossover/PropertyCrossoverMixerEditor.java index 3aef5417..dc83dd0c 100644 --- a/src/eva2/optimization/operator/crossover/PropertyCrossoverMixerEditor.java +++ b/src/eva2/optimization/operator/crossover/PropertyCrossoverMixerEditor.java @@ -229,9 +229,7 @@ public class PropertyCrossoverMixerEditor extends JPanel implements PropertyEdit crossoverMixer.addCrossers((InterfaceCrossover) crossoverMixer.getAvailableCrossers()[0].clone()); int l = crossoverMixer.getSelectedCrossers().length; GeneralOptimizationEditorProperty[] newEdit = new GeneralOptimizationEditorProperty[l]; - for (int i = 0; i < editors.length; i++) { - newEdit[i] = editors[i]; - } + System.arraycopy(editors, 0, newEdit, 0, editors.length); InterfaceCrossover[] list = crossoverMixer.getSelectedCrossers(); l--; newEdit[l] = new GeneralOptimizationEditorProperty(); @@ -310,7 +308,7 @@ public class PropertyCrossoverMixerEditor extends JPanel implements PropertyEdit for (int i = 0; i < newW.length; i++) { try { double d = 0; - d = new Double(weights[i].getText()).doubleValue(); + d = Double.parseDouble(weights[i].getText()); newW[i] = d; } catch (Exception e) { } diff --git a/src/eva2/optimization/operator/mutation/MutateESCorrVector.java b/src/eva2/optimization/operator/mutation/MutateESCorrVector.java index f2f7c9b7..92bff8e0 100644 --- a/src/eva2/optimization/operator/mutation/MutateESCorrVector.java +++ b/src/eva2/optimization/operator/mutation/MutateESCorrVector.java @@ -1,6 +1,5 @@ package eva2.optimization.operator.mutation; -import eva2.gui.BeanInspector; import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.individuals.InterfaceESIndividual; import eva2.optimization.population.Population; @@ -178,7 +177,7 @@ public class MutateESCorrVector implements InterfaceMutation, java.io.Serializab */ @Override public void crossoverOnStrategyParameters(AbstractEAIndividual indy1, Population partners) { - ArrayList tmpList = new ArrayList(); + ArrayList tmpList = new ArrayList<>(); if (indy1.getMutationOperator() instanceof MutateESCorrVector) { tmpList.add(((MutateESCorrVector) indy1.getMutationOperator()).scalingDev); } diff --git a/src/eva2/optimization/operator/mutation/MutateESCorrolated.java b/src/eva2/optimization/operator/mutation/MutateESCorrolated.java index f734df84..dedef3f4 100644 --- a/src/eva2/optimization/operator/mutation/MutateESCorrolated.java +++ b/src/eva2/optimization/operator/mutation/MutateESCorrolated.java @@ -30,16 +30,12 @@ public class MutateESCorrolated implements InterfaceMutation, java.io.Serializab public MutateESCorrolated(MutateESCorrolated mutator) { if ((mutator.sigmas != null)) { this.sigmas = new double[mutator.sigmas.length]; - for (int i = 0; i < this.sigmas.length; i++) { - this.sigmas[i] = mutator.sigmas[i]; - } + System.arraycopy(mutator.sigmas, 0, this.sigmas, 0, this.sigmas.length); } if (mutator.alphas != null) { this.alphas = new double[mutator.alphas.length]; - for (int i = 0; i < this.alphas.length; i++) { - this.alphas[i] = mutator.alphas[i]; - } + System.arraycopy(mutator.alphas, 0, this.alphas, 0, this.alphas.length); } diff --git a/src/eva2/optimization/operator/mutation/MutateESCovarianceMatrixAdaptionPlus.java b/src/eva2/optimization/operator/mutation/MutateESCovarianceMatrixAdaptionPlus.java index a89c9065..1454d49a 100644 --- a/src/eva2/optimization/operator/mutation/MutateESCovarianceMatrixAdaptionPlus.java +++ b/src/eva2/optimization/operator/mutation/MutateESCovarianceMatrixAdaptionPlus.java @@ -92,9 +92,7 @@ public class MutateESCovarianceMatrixAdaptionPlus extends public void updateCovariance() { double[] step = new double[D]; - for (int i = 0; i < D; i++) { - step[i] = Bz[i]; - } + System.arraycopy(Bz, 0, step, 0, D); updateCovariance(step); } diff --git a/src/eva2/optimization/operator/mutation/MutateESGlobal.java b/src/eva2/optimization/operator/mutation/MutateESGlobal.java index 1cf3f3be..c08c577d 100644 --- a/src/eva2/optimization/operator/mutation/MutateESGlobal.java +++ b/src/eva2/optimization/operator/mutation/MutateESGlobal.java @@ -134,7 +134,7 @@ public class MutateESGlobal implements InterfaceMutation, java.io.Serializable, @Override public void crossoverOnStrategyParameters(AbstractEAIndividual indy1, Population partners) { if (crossoverType != MutateESCrossoverTypeEnum.none) { - ArrayList tmpList = new ArrayList(); + ArrayList tmpList = new ArrayList<>(); if (indy1.getMutationOperator() instanceof MutateESGlobal) { tmpList.add(new Double(((MutateESGlobal) indy1.getMutationOperator()).mutationStepSize)); } diff --git a/src/eva2/optimization/operator/mutation/MutateESLocal.java b/src/eva2/optimization/operator/mutation/MutateESLocal.java index ae7578d8..35710e51 100644 --- a/src/eva2/optimization/operator/mutation/MutateESLocal.java +++ b/src/eva2/optimization/operator/mutation/MutateESLocal.java @@ -37,9 +37,7 @@ public class MutateESLocal implements InterfaceMutation, InterfaceAdditionalPopu public MutateESLocal(MutateESLocal mutator) { if (mutator.sigmas != null) { this.sigmas = new double[mutator.sigmas.length]; - for (int i = 0; i < this.sigmas.length; i++) { - this.sigmas[i] = mutator.sigmas[i]; - } + System.arraycopy(mutator.sigmas, 0, this.sigmas, 0, this.sigmas.length); } this.mutationStepSize = mutator.mutationStepSize; this.tau1 = mutator.tau1; diff --git a/src/eva2/optimization/operator/mutation/MutateESMainVectorAdaption.java b/src/eva2/optimization/operator/mutation/MutateESMainVectorAdaption.java index 9c8938ef..1c890d3c 100644 --- a/src/eva2/optimization/operator/mutation/MutateESMainVectorAdaption.java +++ b/src/eva2/optimization/operator/mutation/MutateESMainVectorAdaption.java @@ -125,7 +125,6 @@ public class MutateESMainVectorAdaption implements InterfaceMutation, java.io.Se this.dN[i] = 0; this.mainV[i] = 0; } - ; this.xi_dach = Math.sqrt(this.N - 0.5); for (int i = 0; i < this.N; i++) { this.Z[i] = RNG.gaussianDouble(1.0); diff --git a/src/eva2/optimization/operator/mutation/MutateESRankMuCMA.java b/src/eva2/optimization/operator/mutation/MutateESRankMuCMA.java index ffbb8789..298db5fb 100644 --- a/src/eva2/optimization/operator/mutation/MutateESRankMuCMA.java +++ b/src/eva2/optimization/operator/mutation/MutateESRankMuCMA.java @@ -1,6 +1,5 @@ package eva2.optimization.operator.mutation; -import eva2.gui.BeanInspector; import eva2.gui.editor.GenericObjectEditor; import eva2.optimization.enums.ESMutationInitialSigma; import eva2.optimization.individuals.AbstractEAIndividual; diff --git a/src/eva2/optimization/operator/mutation/MutateGITranslocate.java b/src/eva2/optimization/operator/mutation/MutateGITranslocate.java index a30a9d98..6d1cfcc4 100644 --- a/src/eva2/optimization/operator/mutation/MutateGITranslocate.java +++ b/src/eva2/optimization/operator/mutation/MutateGITranslocate.java @@ -103,9 +103,7 @@ public class MutateGITranslocate implements InterfaceMutation, java.io.Serializa int[] tmp = new int[x.length]; int[] without = new int[x.length - length]; int[] insert = new int[length]; - for (int i = 0; i < length; i++) { - insert[i] = x[i + from]; - } + System.arraycopy(x, 0 + from, insert, 0, length); for (int i = 0; i < without.length; i++) { if (i < from) { without[i] = x[i]; @@ -113,15 +111,9 @@ public class MutateGITranslocate implements InterfaceMutation, java.io.Serializa without[i] = x[i + length]; } } - for (int i = 0; i < to; i++) { - tmp[i] = without[i]; - } - for (int i = to; i < to + length; i++) { - tmp[i] = insert[i - to]; - } - for (int i = to + length; i < x.length; i++) { - tmp[i] = without[i - length]; - } + System.arraycopy(without, 0, tmp, 0, to); + System.arraycopy(insert, to - to, tmp, to, to + length - to); + System.arraycopy(without, to + length - length, tmp, to + length, x.length - (to + length)); // System.out.println(""+from+"/"+to+"/"+length); // this.printInt("After ", tmp); ((InterfaceGIIndividual) individual).setIGenotype(tmp); diff --git a/src/eva2/optimization/operator/mutation/MutateGPAdaptive.java b/src/eva2/optimization/operator/mutation/MutateGPAdaptive.java index b8509fc3..fc692e30 100644 --- a/src/eva2/optimization/operator/mutation/MutateGPAdaptive.java +++ b/src/eva2/optimization/operator/mutation/MutateGPAdaptive.java @@ -2,7 +2,6 @@ package eva2.optimization.operator.mutation; import eva2.optimization.individuals.AbstractEAIndividual; -import eva2.optimization.individuals.IndividualInterface; import eva2.optimization.individuals.InterfaceGPIndividual; import eva2.optimization.population.Population; import eva2.problems.InterfaceOptimizationProblem; diff --git a/src/eva2/optimization/operator/mutation/PropertyMutationMixer.java b/src/eva2/optimization/operator/mutation/PropertyMutationMixer.java index 68722a5b..674c1443 100644 --- a/src/eva2/optimization/operator/mutation/PropertyMutationMixer.java +++ b/src/eva2/optimization/operator/mutation/PropertyMutationMixer.java @@ -30,10 +30,7 @@ public class PropertyMutationMixer implements java.io.Serializable { this.weightsLabel = d.weightsLabel; this.normalizationEnabled = d.normalizationEnabled; this.availableTargets = new InterfaceMutation[d.availableTargets.length]; - for (int i = 0; i < this.availableTargets.length; i++) { - //this.availableTargets[i] = (InterfaceMutation)d.availableTargets[i].clone(); - this.availableTargets[i] = d.availableTargets[i]; - } + System.arraycopy(d.availableTargets, 0, this.availableTargets, 0, this.availableTargets.length); this.selectedTargets = new InterfaceMutation[d.selectedTargets.length]; for (int i = 0; i < this.selectedTargets.length; i++) { this.selectedTargets[i] = (InterfaceMutation) d.selectedTargets[i].clone(); @@ -71,15 +68,11 @@ public class PropertyMutationMixer implements java.io.Serializable { if (d.length > this.weights.length) { double[] newWeights = new double[d.length]; - for (int i = 0; i < this.weights.length; i++) { - newWeights[i] = this.weights[i]; - } + System.arraycopy(this.weights, 0, newWeights, 0, this.weights.length); this.weights = newWeights; } else { double[] newWeights = new double[d.length]; - for (int i = 0; i < d.length; i++) { - newWeights[i] = this.weights[i]; - } + System.arraycopy(this.weights, 0, newWeights, 0, d.length); this.weights = newWeights; } } diff --git a/src/eva2/optimization/operator/mutation/PropertyMutationMixerEditor.java b/src/eva2/optimization/operator/mutation/PropertyMutationMixerEditor.java index 8c0e8456..308cb781 100644 --- a/src/eva2/optimization/operator/mutation/PropertyMutationMixerEditor.java +++ b/src/eva2/optimization/operator/mutation/PropertyMutationMixerEditor.java @@ -231,9 +231,7 @@ public class PropertyMutationMixerEditor extends JPanel implements PropertyEdito mutatorsWithWeights.addMutator((InterfaceMutation) mutatorsWithWeights.getAvailableMutators()[0].clone()); int l = mutatorsWithWeights.getSelectedMutators().length; GeneralOptimizationEditorProperty[] newEdit = new GeneralOptimizationEditorProperty[l]; - for (int i = 0; i < editors.length; i++) { - newEdit[i] = editors[i]; - } + System.arraycopy(editors, 0, newEdit, 0, editors.length); InterfaceMutation[] list = mutatorsWithWeights.getSelectedMutators(); l--; newEdit[l] = new GeneralOptimizationEditorProperty(); @@ -312,7 +310,7 @@ public class PropertyMutationMixerEditor extends JPanel implements PropertyEdito for (int i = 0; i < newW.length; i++) { try { double d = 0; - d = new Double(weights[i].getText()).doubleValue(); + d = Double.parseDouble(weights[i].getText()); newW[i] = d; } catch (Exception e) { } diff --git a/src/eva2/optimization/operator/nichepso/deactivation/ImprovementDeactivationStrategy.java b/src/eva2/optimization/operator/nichepso/deactivation/ImprovementDeactivationStrategy.java index d2ce9957..64665606 100644 --- a/src/eva2/optimization/operator/nichepso/deactivation/ImprovementDeactivationStrategy.java +++ b/src/eva2/optimization/operator/nichepso/deactivation/ImprovementDeactivationStrategy.java @@ -63,7 +63,7 @@ public class ImprovementDeactivationStrategy implements InterfaceDeactivationStr return false; } else { List lst = bests.subList(bests.size() - haltingWindow, bests.size()); - bests = new Vector(haltingWindow); + bests = new Vector<>(haltingWindow); bests.addAll(lst); for (int i = 1; i < pop.size(); i++) { for (int k = 0; k < haltingWindow; k++) { diff --git a/src/eva2/optimization/operator/paramcontrol/ConstraintBasedAdaption.java b/src/eva2/optimization/operator/paramcontrol/ConstraintBasedAdaption.java index f7c48975..1669accb 100644 --- a/src/eva2/optimization/operator/paramcontrol/ConstraintBasedAdaption.java +++ b/src/eva2/optimization/operator/paramcontrol/ConstraintBasedAdaption.java @@ -28,7 +28,7 @@ public class ConstraintBasedAdaption implements ParamAdaption, Serializable { private double currentFactor = 1.; private int genGap = 5; - LinkedList lastBestSatisfactionState = new LinkedList(); + LinkedList lastBestSatisfactionState = new LinkedList<>(); private static String target = "penaltyFactor"; diff --git a/src/eva2/optimization/operator/paramcontrol/ParameterControlManager.java b/src/eva2/optimization/operator/paramcontrol/ParameterControlManager.java index 5386df78..57027111 100644 --- a/src/eva2/optimization/operator/paramcontrol/ParameterControlManager.java +++ b/src/eva2/optimization/operator/paramcontrol/ParameterControlManager.java @@ -131,7 +131,7 @@ public class ParameterControlManager implements InterfaceParameterControl, Seria */ public String[] getControlledParameters() { if (singleAdapters != null) { - Vector names = new Vector(singleAdapters.length); + Vector names = new Vector<>(singleAdapters.length); for (ParamAdaption singleAdapter : singleAdapters) { String prm = singleAdapter.getControlledParam(); if (prm != null) { @@ -183,9 +183,7 @@ public class ParameterControlManager implements InterfaceParameterControl, Seria setSingleAdapters(new ParamAdaption[]{pa}); } else { ParamAdaption[] newP = new ParamAdaption[singleAdapters.length + 1]; - for (int i = 0; i < singleAdapters.length; i++) { - newP[i] = singleAdapters[i]; - } + System.arraycopy(singleAdapters, 0, newP, 0, singleAdapters.length); newP[newP.length - 1] = pa; setSingleAdapters(newP); } @@ -210,7 +208,7 @@ public class ParameterControlManager implements InterfaceParameterControl, Seria public static List listOfControllables( Object target) { Pair propsNamesVals = BeanInspector.getPublicPropertiesOf(target, true, true); - ArrayList controllables = new ArrayList(); + ArrayList controllables = new ArrayList<>(); // Object ownParamCtrl = BeanInspector.callIfAvailable(target, "getParameterControl", null); // if the target itself has a ParameterControlManager, add it to the list of controllables. // if (ownParamCtrl!=null) controllables.add(ownParamCtrl); Object[] objs = propsNamesVals.tail; diff --git a/src/eva2/optimization/operator/paretofrontmetrics/MetricD1ApproxParetoFront.java b/src/eva2/optimization/operator/paretofrontmetrics/MetricD1ApproxParetoFront.java index 05e2a116..3e344359 100644 --- a/src/eva2/optimization/operator/paretofrontmetrics/MetricD1ApproxParetoFront.java +++ b/src/eva2/optimization/operator/paretofrontmetrics/MetricD1ApproxParetoFront.java @@ -27,16 +27,12 @@ public class MetricD1ApproxParetoFront implements eva2.optimization.operator.par public MetricD1ApproxParetoFront(MetricD1ApproxParetoFront b) { if (b.titles != null) { this.titles = new String[b.titles.length]; - for (int i = 0; i < this.titles.length; i++) { - this.titles[i] = b.titles[i]; - } + System.arraycopy(b.titles, 0, this.titles, 0, this.titles.length); } if (b.reference != null) { this.reference = new double[b.reference.length][b.reference[0].length]; for (int i = 0; i < this.reference.length; i++) { - for (int j = 0; j < this.reference[i].length; j++) { - this.reference[i][j] = b.reference[i][j]; - } + System.arraycopy(b.reference[i], 0, this.reference[i], 0, this.reference[i].length); } } } @@ -75,7 +71,7 @@ public class MetricD1ApproxParetoFront implements eva2.optimization.operator.par lines[i].trim(); tmpS = lines[i].split("\t"); for (int j = 0; (j < tmpD.length) && (j < tmpS.length); j++) { - tmpD[j] = new Double(tmpS[j]).doubleValue(); + tmpD[j] = Double.parseDouble(tmpS[j]); } tmpA.add(tmpD); } diff --git a/src/eva2/optimization/operator/paretofrontmetrics/MetricD1TrueParetoFront.java b/src/eva2/optimization/operator/paretofrontmetrics/MetricD1TrueParetoFront.java index dd0d4b2c..9193b80d 100644 --- a/src/eva2/optimization/operator/paretofrontmetrics/MetricD1TrueParetoFront.java +++ b/src/eva2/optimization/operator/paretofrontmetrics/MetricD1TrueParetoFront.java @@ -28,16 +28,12 @@ public class MetricD1TrueParetoFront implements eva2.optimization.operator.paret public MetricD1TrueParetoFront(MetricD1TrueParetoFront b) { if (b.titles != null) { this.titles = new String[b.titles.length]; - for (int i = 0; i < this.titles.length; i++) { - this.titles[i] = b.titles[i]; - } + System.arraycopy(b.titles, 0, this.titles, 0, this.titles.length); } if (b.reference != null) { this.reference = new double[b.reference.length][b.reference[0].length]; for (int i = 0; i < this.reference.length; i++) { - for (int j = 0; j < this.reference[i].length; j++) { - this.reference[i][j] = b.reference[i][j]; - } + System.arraycopy(b.reference[i], 0, this.reference[i], 0, this.reference[i].length); } } } @@ -76,7 +72,7 @@ public class MetricD1TrueParetoFront implements eva2.optimization.operator.paret lines[i].trim(); tmpS = lines[i].split("\t"); for (int j = 0; (j < tmpD.length) && (j < tmpS.length); j++) { - tmpD[j] = new Double(tmpS[j]).doubleValue(); + tmpD[j] = Double.parseDouble(tmpS[j]); } tmpA.add(tmpD); } diff --git a/src/eva2/optimization/operator/paretofrontmetrics/MetricErrorRatio.java b/src/eva2/optimization/operator/paretofrontmetrics/MetricErrorRatio.java index dafc034b..983647e9 100644 --- a/src/eva2/optimization/operator/paretofrontmetrics/MetricErrorRatio.java +++ b/src/eva2/optimization/operator/paretofrontmetrics/MetricErrorRatio.java @@ -30,16 +30,12 @@ public class MetricErrorRatio implements eva2.optimization.operator.paretofrontm this.epsilon = b.epsilon; if (b.titles != null) { this.titles = new String[b.titles.length]; - for (int i = 0; i < this.titles.length; i++) { - this.titles[i] = b.titles[i]; - } + System.arraycopy(b.titles, 0, this.titles, 0, this.titles.length); } if (b.reference != null) { this.reference = new double[b.reference.length][b.reference[0].length]; for (int i = 0; i < this.reference.length; i++) { - for (int j = 0; j < this.reference[i].length; j++) { - this.reference[i][j] = b.reference[i][j]; - } + System.arraycopy(b.reference[i], 0, this.reference[i], 0, this.reference[i].length); } } } @@ -78,7 +74,7 @@ public class MetricErrorRatio implements eva2.optimization.operator.paretofrontm lines[i].trim(); tmpS = lines[i].split("\t"); for (int j = 0; (j < tmpD.length) && (j < tmpS.length); j++) { - tmpD[j] = new Double(tmpS[j]).doubleValue(); + tmpD[j] = Double.parseDouble(tmpS[j]); } tmpA.add(tmpD); } diff --git a/src/eva2/optimization/operator/paretofrontmetrics/MetricMaximumParetoFrontError.java b/src/eva2/optimization/operator/paretofrontmetrics/MetricMaximumParetoFrontError.java index 3616395e..21bcb3e2 100644 --- a/src/eva2/optimization/operator/paretofrontmetrics/MetricMaximumParetoFrontError.java +++ b/src/eva2/optimization/operator/paretofrontmetrics/MetricMaximumParetoFrontError.java @@ -26,16 +26,12 @@ public class MetricMaximumParetoFrontError implements eva2.optimization.operator public MetricMaximumParetoFrontError(MetricMaximumParetoFrontError b) { if (b.titles != null) { this.titles = new String[b.titles.length]; - for (int i = 0; i < this.titles.length; i++) { - this.titles[i] = b.titles[i]; - } + System.arraycopy(b.titles, 0, this.titles, 0, this.titles.length); } if (b.reference != null) { this.reference = new double[b.reference.length][b.reference[0].length]; for (int i = 0; i < this.reference.length; i++) { - for (int j = 0; j < this.reference[i].length; j++) { - this.reference[i][j] = b.reference[i][j]; - } + System.arraycopy(b.reference[i], 0, this.reference[i], 0, this.reference[i].length); } } } @@ -74,7 +70,7 @@ public class MetricMaximumParetoFrontError implements eva2.optimization.operator lines[i].trim(); tmpS = lines[i].split("\t"); for (int j = 0; (j < tmpD.length) && (j < tmpS.length); j++) { - tmpD[j] = new Double(tmpS[j]).doubleValue(); + tmpD[j] = Double.parseDouble(tmpS[j]); } tmpA.add(tmpD); } diff --git a/src/eva2/optimization/operator/paretofrontmetrics/MetricS.java b/src/eva2/optimization/operator/paretofrontmetrics/MetricS.java index 08a209a4..e4c09a37 100644 --- a/src/eva2/optimization/operator/paretofrontmetrics/MetricS.java +++ b/src/eva2/optimization/operator/paretofrontmetrics/MetricS.java @@ -1,6 +1,5 @@ package eva2.optimization.operator.paretofrontmetrics; -import eva2.gui.BeanInspector; import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.individuals.ESIndividualDoubleData; import eva2.optimization.operator.archiving.ArchivingAllDominating; @@ -102,14 +101,10 @@ public class MetricS implements InterfaceParetoFrontMetric, java.io.Serializable double[] tmpF, redF; for (int i = 0; i < f.length; i++) { tmpF = ((AbstractEAIndividual) archive.get(i)).getFitness(); - for (int j = 0; j < dim; j++) { - f[i][j] = tmpF[j]; - } + System.arraycopy(tmpF, 0, f[i], 0, dim); if (smPop != null) { redF = new double[tmpF.length - 1]; - for (int j = 0; j < redF.length; j++) { - redF[j] = tmpF[j]; - } + System.arraycopy(tmpF, 0, redF, 0, redF.length); tmpIndy = new ESIndividualDoubleData(); tmpIndy.setFitness(redF); smPop.add(i, tmpIndy); @@ -172,9 +167,7 @@ public class MetricS implements InterfaceParetoFrontMetric, java.io.Serializable tmpS = this.calculateSMetric(tmpPop, tmpBorder, dim - 1); result += (f[tmpIndex][dim - 1] - lastValue[dim - 1]) * tmpS; } - for (int j = 0; j < f[tmpIndex].length; j++) { - lastValue[j] = f[tmpIndex][j]; - } + System.arraycopy(f[tmpIndex], 0, lastValue, 0, f[tmpIndex].length); } else { // no smallest found break i = f.length + 1; diff --git a/src/eva2/optimization/operator/paretofrontmetrics/MetricSWithReference.java b/src/eva2/optimization/operator/paretofrontmetrics/MetricSWithReference.java index ff0c64e1..d2faa094 100644 --- a/src/eva2/optimization/operator/paretofrontmetrics/MetricSWithReference.java +++ b/src/eva2/optimization/operator/paretofrontmetrics/MetricSWithReference.java @@ -86,7 +86,7 @@ public class MetricSWithReference implements InterfaceParetoFrontMetric, java.io lines[i].trim(); tmpS = lines[i].split("\t"); for (int j = 0; (j < tmpD.length) && (j < tmpS.length); j++) { - tmpD[j] = new Double(tmpS[j]).doubleValue(); + tmpD[j] = Double.parseDouble(tmpS[j]); } tmpA.add(tmpD); } @@ -151,14 +151,10 @@ public class MetricSWithReference implements InterfaceParetoFrontMetric, java.io double[] tmpF, redF; for (int i = 0; i < f.length; i++) { tmpF = ((AbstractEAIndividual) archive.get(i)).getFitness(); - for (int j = 0; j < dim; j++) { - f[i][j] = tmpF[j]; - } + System.arraycopy(tmpF, 0, f[i], 0, dim); if (smPop != null) { redF = new double[tmpF.length - 1]; - for (int j = 0; j < redF.length; j++) { - redF[j] = tmpF[j]; - } + System.arraycopy(tmpF, 0, redF, 0, redF.length); tmpIndy = new ESIndividualDoubleData(); tmpIndy.setFitness(redF); smPop.add(i, tmpIndy); @@ -220,9 +216,7 @@ public class MetricSWithReference implements InterfaceParetoFrontMetric, java.io tmpS = this.calculateSMetric(tmpPop, tmpBorder, dim - 1); result += (f[tmpIndex][dim - 1] - lastValue[dim - 1]) * tmpS; } - for (int j = 0; j < f[tmpIndex].length; j++) { - lastValue[j] = f[tmpIndex][j]; - } + System.arraycopy(f[tmpIndex], 0, lastValue, 0, f[tmpIndex].length); } else { // no smallest found break i = f.length + 1; diff --git a/src/eva2/optimization/operator/postprocess/PostProcess.java b/src/eva2/optimization/operator/postprocess/PostProcess.java index 44e75c71..7fad6f2c 100644 --- a/src/eva2/optimization/operator/postprocess/PostProcess.java +++ b/src/eva2/optimization/operator/postprocess/PostProcess.java @@ -35,7 +35,6 @@ import eva2.tools.math.Mathematics; import java.util.ArrayList; import java.util.Arrays; -import java.util.Collection; import java.util.Vector; @@ -52,7 +51,7 @@ public class PostProcess { // lower limit mutation step size for HC post processing private static double minMutationStepSize = 0.0000000000000001; // used for hill climbing post processing and only alive during that period - private static Vector ppRunnables = new Vector(); + private static Vector ppRunnables = new Vector<>(); public static final String movedDistanceKey = "PostProcessingMovedBy"; public static final String movedToPositionKey = "PostProcessingMovedTo"; @@ -347,7 +346,7 @@ public class PostProcess { bestDist = tmpDist; } } - return new Pair(bestDist, bestIndex); + return new Pair<>(bestDist, bestIndex); } /** @@ -466,7 +465,7 @@ public class PostProcess { int funCallsDone = pop.getFunctionCalls() - baseEvals; pop.setFunctionCalls(funCallsBefore); - return new Pair(funCallsDone, ppRunnable.wasAborted()); + return new Pair<>(funCallsDone, ppRunnable.wasAborted()); } /** @@ -510,7 +509,7 @@ public class PostProcess { int funCallsDone = es.getPopulation().getFunctionCalls() - baseEvals; pop.setFunctionCalls(funCallsBefore); - return new Pair(funCallsDone, ppRunnable.wasAborted()); + return new Pair<>(funCallsDone, ppRunnable.wasAborted()); } private static boolean checkRange(AbstractEAIndividual indy) { @@ -538,7 +537,7 @@ public class PostProcess { pop.add(cand); int evalsDone = processSingleCandidates(PostProcessMethod.nelderMead, pop, hcSteps, initPerturbation, prob, null); - return new Pair(pop.getBestEAIndividual(), evalsDone); + return new Pair<>(pop.getBestEAIndividual(), evalsDone); } /** @@ -659,7 +658,7 @@ public class PostProcess { * @see #processWithNMS(Population, AbstractOptimizationProblem, InterfaceTerminator, int) */ public static int processSingleCandidatesNMCMA(PostProcessMethod method, Population candidates, InterfaceTerminator term, double maxRelativePerturbation, AbstractOptimizationProblem prob) { - ArrayList nmPops = new ArrayList(); + ArrayList nmPops = new ArrayList<>(); int stepsPerf = 0; Population subPop; @@ -906,7 +905,7 @@ public class PostProcess { Population found = getFoundOptima(pop, mmp.getRealOptima(), 0.05, true); System.out.println("all found (" + found.size() + "): " + BeanInspector.toString(found)); - Pair popD = new Pair(pop, 1.); + Pair popD = new Pair<>(pop, 1.); int i = 0; int evalCnt = 0; while (popD.tail() > 0.001) { @@ -947,7 +946,7 @@ public class PostProcess { clust.setFunctionCalls(evalsBefore + evalsDone); double improvement = EuclideanMetric.euclideanDistance(meanFit, clust.getMeanFitness()); - return new Pair(clust, improvement); + return new Pair<>(clust, improvement); } /** diff --git a/src/eva2/optimization/operator/terminators/PopulationMeasureTerminator.java b/src/eva2/optimization/operator/terminators/PopulationMeasureTerminator.java index 09f8f865..b79df581 100644 --- a/src/eva2/optimization/operator/terminators/PopulationMeasureTerminator.java +++ b/src/eva2/optimization/operator/terminators/PopulationMeasureTerminator.java @@ -1,6 +1,5 @@ package eva2.optimization.operator.terminators; -import eva2.gui.BeanInspector; import eva2.optimization.population.InterfaceSolutionSet; import eva2.optimization.population.PopulationInterface; import eva2.problems.InterfaceOptimizationProblem; @@ -129,7 +128,7 @@ public abstract class PopulationMeasureTerminator implements InterfaceTerminator * @return */ protected String getTerminationMessage() { - StringBuffer sb = new StringBuffer(getMeasureName()); + StringBuilder sb = new StringBuilder(getMeasureName()); // if (convergenceCondition.isSelectedString("Relative")) sb.append(" converged relatively "); switch (changeType) { case absoluteChange: diff --git a/src/eva2/optimization/population/PBILPopulation.java b/src/eva2/optimization/population/PBILPopulation.java index d6652e92..60ad2522 100644 --- a/src/eva2/optimization/population/PBILPopulation.java +++ b/src/eva2/optimization/population/PBILPopulation.java @@ -27,9 +27,7 @@ public class PBILPopulation extends Population implements Cloneable, java.io.Ser super(population); this.probabilityVector = new double[population.probabilityVector.length]; - for (int i = 0; i < this.probabilityVector.length; i++) { - this.probabilityVector[i] = population.probabilityVector[i]; - } + System.arraycopy(population.probabilityVector, 0, this.probabilityVector, 0, this.probabilityVector.length); } @Override diff --git a/src/eva2/optimization/population/Population.java b/src/eva2/optimization/population/Population.java index 81be69e7..3d13e158 100644 --- a/src/eva2/optimization/population/Population.java +++ b/src/eva2/optimization/population/Population.java @@ -56,7 +56,7 @@ public class Population extends ArrayList implements PopulationInterface, Clonea */ PopulationInitMethod initMethod = PopulationInitMethod.individualDefault; private double[] seedPos = new double[10]; - private Pair seedCardinality = new Pair(5, 1); + private Pair seedCardinality = new Pair<>(5, 1); private double aroundDist = 0.1; transient private ArrayList listeners = null; @@ -80,7 +80,7 @@ public class Population extends ArrayList implements PopulationInterface, Clonea /** * Best n Individuals in the history. */ - private transient LinkedList historyList = new LinkedList(); + private transient LinkedList historyList = new LinkedList<>(); /** * Remember when the last sorted queue was prepared. @@ -150,7 +150,7 @@ public class Population extends ArrayList implements PopulationInterface, Clonea this(allSolutions.getCurrentPopulation().size() + allSolutions.getSolutions().size()); LOGGER.log(Level.FINER, "New population has been created."); addPopulation(allSolutions.getCurrentPopulation(), false); - HashMap checkCols = new HashMap(size()); + HashMap checkCols = new HashMap<>(size()); for (int i = 0; i < size(); i++) { checkCols.put(getEAIndividual(i).getIndyID(), 1); } @@ -173,7 +173,7 @@ public class Population extends ArrayList implements PopulationInterface, Clonea */ public Population(int targetSize, int binCard, int binStdDev) { this(targetSize); - this.setSeedCardinality(new Pair(binCard, binStdDev)); + this.setSeedCardinality(new Pair<>(binCard, binStdDev)); this.setInitMethod(PopulationInitMethod.binCardinality); } @@ -231,7 +231,7 @@ public class Population extends ArrayList implements PopulationInterface, Clonea listeners = null; } if (population.additionalPopData != null) { - additionalPopData = new HashMap(); + additionalPopData = new HashMap<>(); Set keys = additionalPopData.keySet(); for (String key : keys) { additionalPopData.put(key, population.additionalPopData.get(key)); @@ -302,7 +302,7 @@ public class Population extends ArrayList implements PopulationInterface, Clonea public void putData(String key, Object value) { if (additionalPopData == null) { - additionalPopData = new HashMap(); + additionalPopData = new HashMap<>(); } additionalPopData.put(key, value); } @@ -364,7 +364,7 @@ public class Population extends ArrayList implements PopulationInterface, Clonea * been inited by a problem */ public void init() { - this.historyList = new LinkedList(); + this.historyList = new LinkedList<>(); this.generationCount = 0; this.functionCallCount = 0; double[] popSeed = null; @@ -749,7 +749,7 @@ public class Population extends ArrayList implements PopulationInterface, Clonea public void addPopulationChangedEventListener(InterfacePopulationChangedEventListener ea) { if (ea != null) { if (listeners == null) { - listeners = new ArrayList(3); + listeners = new ArrayList<>(3); } if (!listeners.contains(ea)) { listeners.add(ea); @@ -836,11 +836,11 @@ public class Population extends ArrayList implements PopulationInterface, Clonea * @return */ public List> findSamePositions() { - ArrayList> dupes = new ArrayList>(); + ArrayList> dupes = new ArrayList<>(); for (int i = 0; i < size() - 1; i++) { int nextIndex = indexByPosition(i + 1, getEAIndividual(i)); if (nextIndex >= 0) { - dupes.add(new Pair(i, nextIndex)); + dupes.add(new Pair<>(i, nextIndex)); } } return dupes; @@ -1288,16 +1288,16 @@ public class Population extends ArrayList implements PopulationInterface, Clonea */ protected ArrayList sortBy(Comparator comp) { if (super.isEmpty()) { - return new ArrayList(); + return new ArrayList<>(); } - PriorityQueue sQueue = new PriorityQueue(super.size(), comp); + PriorityQueue sQueue = new PriorityQueue<>(super.size(), comp); for (int i = 0; i < super.size(); i++) { AbstractEAIndividual indy = getEAIndividual(i); if (indy != null) { sQueue.add(indy); } } - ArrayList sArr = new ArrayList(this.size()); + ArrayList sArr = new ArrayList<>(this.size()); AbstractEAIndividual indy; while ((indy = sQueue.poll()) != null) { sArr.add(indy); @@ -2040,7 +2040,7 @@ public class Population extends ArrayList implements PopulationInterface, Clonea sel = i; } } - return new Pair(sel, dist); + return new Pair<>(sel, dist); } /** @@ -2067,7 +2067,7 @@ public class Population extends ArrayList implements PopulationInterface, Clonea } } } - return new Pair(sel, dist); + return new Pair<>(sel, dist); } /** @@ -2205,7 +2205,7 @@ public class Population extends ArrayList implements PopulationInterface, Clonea PhenotypeMetric metric = new PhenotypeMetric(); ArrayList distances = null; if (calcVariance) { - distances = new ArrayList(size()); + distances = new ArrayList<>(size()); } double sum = 0; double d = 0; diff --git a/src/eva2/optimization/stat/AbstractStatistics.java b/src/eva2/optimization/stat/AbstractStatistics.java index 1809d7e3..d7171e68 100644 --- a/src/eva2/optimization/stat/AbstractStatistics.java +++ b/src/eva2/optimization/stat/AbstractStatistics.java @@ -3,7 +3,6 @@ package eva2.optimization.stat; import eva2.gui.BeanInspector; import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.individuals.IndividualInterface; -import eva2.optimization.operator.distancemetric.InterfaceDistanceMetric; import eva2.optimization.population.Population; import eva2.optimization.population.PopulationInterface; import eva2.problems.InterfaceAdditionalPopulationInformer; @@ -110,13 +109,13 @@ public abstract class AbstractStatistics implements InterfaceTextListener, Inter convergenceCnt = 0; optRunsPerformed = 0; iterationCounter = 0; - textListeners = new ArrayList(); + textListeners = new ArrayList<>(); } @Override public void addDataListener(InterfaceStatisticsListener l) { if (dataListeners == null) { - dataListeners = new LinkedList(); + dataListeners = new LinkedList<>(); } if (l != null && !dataListeners.contains(l)) { dataListeners.add(l); @@ -142,7 +141,7 @@ public abstract class AbstractStatistics implements InterfaceTextListener, Inter private void fireDataListenersFinalize() { if (dataListeners != null) { - LinkedList toRemove = new LinkedList(); + LinkedList toRemove = new LinkedList<>(); for (InterfaceStatisticsListener l : dataListeners) { boolean rm = l.notifyMultiRunFinished(currentStatHeader, finalObjectData); if (rm) { @@ -277,12 +276,12 @@ public abstract class AbstractStatistics implements InterfaceTextListener, Inter bestFeasibleAllRuns = null; // meanBestOfRunFitness = null; // meanBestFeasibleFit = null; - runBestFeasibleList = new ArrayList(); - runBestFitList = new ArrayList(); + runBestFeasibleList = new ArrayList<>(); + runBestFitList = new ArrayList<>(); // if (refineMultiRuns) meanCollection = new ArrayList(); // else meanCollection = null; if (refineMultiRuns) { - sumDataCollection = new ArrayList(); + sumDataCollection = new ArrayList<>(); } else { sumDataCollection = null; } @@ -393,7 +392,7 @@ public abstract class AbstractStatistics implements InterfaceTextListener, Inter } } if (finalObjectData == null) { - finalObjectData = new ArrayList(); + finalObjectData = new ArrayList<>(); } finalObjectData.add(currentStatObjectData); @@ -571,7 +570,7 @@ public abstract class AbstractStatistics implements InterfaceTextListener, Inter // String header = getOutputHeader(lastInformerList, bestPop); List vals = getOutputValues(lastInformerList, bestPop); - StringBuffer sbuf = new StringBuffer("Overall best statistical data: "); + StringBuilder sbuf = new StringBuilder("Overall best statistical data: "); sbuf.append(additionalFields); sbuf.append('\n'); sbuf.append(StringTools.concatValues(vals, textFieldDelimiter)); @@ -610,7 +609,7 @@ public abstract class AbstractStatistics implements InterfaceTextListener, Inter } public static double[] calcMedianFit(List list) { - ArrayList dblAList = new ArrayList(list.size()); + ArrayList dblAList = new ArrayList<>(list.size()); for (int i = 0; i < list.size(); i++) { dblAList.add(list.get(i).getFitness()); } @@ -702,7 +701,7 @@ public abstract class AbstractStatistics implements InterfaceTextListener, Inter * @return */ protected List getOutputHeaderFieldNames(List informerList) { - ArrayList headlineFields = new ArrayList(5); + ArrayList headlineFields = new ArrayList<>(5); headlineFields.addAll(Arrays.asList(getSimpleOutputHeader())); if (informerList != null) { headlineFields.addAll(getAdditionalHeaderMetaInfo(informerList, null)); @@ -718,8 +717,8 @@ public abstract class AbstractStatistics implements InterfaceTextListener, Inter * @return */ protected List getOutputMetaInfo(List informerList) { - ArrayList infoStrings = new ArrayList(5); - ArrayList addStrings = new ArrayList(5); + ArrayList infoStrings = new ArrayList<>(5); + ArrayList addStrings = new ArrayList<>(5); infoStrings.addAll(Arrays.asList(getSimpleOutputMetaInfo())); if (informerList != null) { getAdditionalHeaderMetaInfo(informerList, addStrings); @@ -745,7 +744,7 @@ public abstract class AbstractStatistics implements InterfaceTextListener, Inter protected String[] getSimpleOutputHeader() { // collect the full header by using the entries of the GraphSelectionEnum GraphSelectionEnum[] vals = GraphSelectionEnum.values(); - ArrayList headerEntries = new ArrayList(); + ArrayList headerEntries = new ArrayList<>(); headerEntries.add("FunctionCalls"); for (GraphSelectionEnum val : vals) { if (isRequestedField(val)) { @@ -765,7 +764,7 @@ public abstract class AbstractStatistics implements InterfaceTextListener, Inter */ protected String[] getSimpleOutputMetaInfo() { GraphSelectionEnum[] vals = GraphSelectionEnum.values(); - ArrayList headerInfo = new ArrayList(); + ArrayList headerInfo = new ArrayList<>(); headerInfo.add("The number of function evaluations"); for (int i = 0; i < vals.length; i++) { if (isRequestedField(vals[i])) { @@ -872,7 +871,7 @@ public abstract class AbstractStatistics implements InterfaceTextListener, Inter * @see #getOutputHeaderFieldNames(java.util.List) (List) */ protected List getOutputValues(List informerList, PopulationInterface pop) { - LinkedList values = new LinkedList(); + LinkedList values = new LinkedList<>(); values.addAll(Arrays.asList(getSimpleOutputValues())); if (informerList != null) { for (InterfaceAdditionalPopulationInformer informer : informerList) { @@ -906,7 +905,7 @@ public abstract class AbstractStatistics implements InterfaceTextListener, Inter * @return */ protected List getAdditionalHeaderMetaInfo(List informerList, List metaInfo) { - LinkedList headers = new LinkedList(); + LinkedList headers = new LinkedList<>(); if (metaInfo != null && (metaInfo.size() > 0)) { System.err.println("Warning, metaInfo list should be empty in AbstractStatistics.getAdditionalHeaderMetaInfo"); } @@ -949,7 +948,7 @@ public abstract class AbstractStatistics implements InterfaceTextListener, Inter List statValues = getOutputValues(informerList, pop); String statValuesString = StringTools.concatValues(statValues, textFieldDelimiter); - return new Pair(statValuesString, statValues.toArray(new Object[statValues.size()])); + return new Pair<>(statValuesString, statValues.toArray(new Object[statValues.size()])); } // /** diff --git a/src/eva2/optimization/stat/EvAStatisticalEvaluation.java b/src/eva2/optimization/stat/EvAStatisticalEvaluation.java index bd3e680c..454b7767 100644 --- a/src/eva2/optimization/stat/EvAStatisticalEvaluation.java +++ b/src/eva2/optimization/stat/EvAStatisticalEvaluation.java @@ -23,7 +23,7 @@ public class EvAStatisticalEvaluation { public static void evaluate(InterfaceTextListener textout, OptimizationJob[] jobList, int[] selectedIndices, StatsOnSingleDataSetEnum[] singleStats, StatsOnTwoSampledDataEnum[] twoSampledStats) { - ArrayList jobsToWorkWith = new ArrayList(); + ArrayList jobsToWorkWith = new ArrayList<>(); for (int i = 0; i < jobList.length; i++) { // remove jobs which are not finished or not selected if (jobList[i] != null && (Mathematics.contains(selectedIndices, i)) && (jobList[i].isFinishedAndComplete())) { @@ -299,10 +299,10 @@ public class EvAStatisticalEvaluation { * @return */ private static List getCommonFields(List jobList) { - List lSoFar = null, tmpL = new LinkedList(); + List lSoFar = null, tmpL = new LinkedList<>(); for (OptimizationJob j : jobList) { if (lSoFar == null) { - lSoFar = new LinkedList(); + lSoFar = new LinkedList<>(); for (String f : j.getFieldHeaders()) { lSoFar.add(f); } @@ -313,7 +313,7 @@ public class EvAStatisticalEvaluation { } } lSoFar = tmpL; - tmpL = new LinkedList(); + tmpL = new LinkedList<>(); } } return lSoFar; diff --git a/src/eva2/optimization/stat/OptimizationJobList.java b/src/eva2/optimization/stat/OptimizationJobList.java index 1bfa4973..931f7960 100644 --- a/src/eva2/optimization/stat/OptimizationJobList.java +++ b/src/eva2/optimization/stat/OptimizationJobList.java @@ -243,7 +243,7 @@ public class OptimizationJobList extends PropertySelectableList public void addTextListener(InterfaceTextListener tListener) { if (listeners == null) { - listeners = new LinkedList(); + listeners = new LinkedList<>(); } if (!listeners.contains(tListener)) { listeners.add(tListener); diff --git a/src/eva2/optimization/stat/StatisticsParameter.java b/src/eva2/optimization/stat/StatisticsParameter.java index 12ac7aa4..ffc1ea6e 100644 --- a/src/eva2/optimization/stat/StatisticsParameter.java +++ b/src/eva2/optimization/stat/StatisticsParameter.java @@ -351,8 +351,8 @@ public class StatisticsParameter implements InterfaceStatisticsParameter, Interf */ @Override public void setInformers(List informers) { - ArrayList headerFields = new ArrayList(); - ArrayList infoFields = new ArrayList(); + ArrayList headerFields = new ArrayList<>(); + ArrayList infoFields = new ArrayList<>(); // parse list of header elements, show additional Strings according to names. for (InterfaceAdditionalPopulationInformer inf : informers) { String[] dataHeader = inf.getAdditionalDataHeader(); diff --git a/src/eva2/optimization/stat/StatisticsStandalone.java b/src/eva2/optimization/stat/StatisticsStandalone.java index 69e32293..03ad1457 100644 --- a/src/eva2/optimization/stat/StatisticsStandalone.java +++ b/src/eva2/optimization/stat/StatisticsStandalone.java @@ -53,9 +53,9 @@ public class StatisticsStandalone extends AbstractStatistics implements Interfac @Override protected void initPlots(PopulationInterface pop, List informerList) { if (collectData) { - resultData = new ArrayList>(statisticsParameter.getMultiRuns()); + resultData = new ArrayList<>(statisticsParameter.getMultiRuns()); List description = getOutputHeaderFieldNames(informerList); - resultHeaderStrings = new ArrayList(); + resultHeaderStrings = new ArrayList<>(); for (String str : description) { resultHeaderStrings.add(str); } diff --git a/src/eva2/optimization/stat/StatisticsWithGUI.java b/src/eva2/optimization/stat/StatisticsWithGUI.java index bc212b0a..4ab35a34 100644 --- a/src/eva2/optimization/stat/StatisticsWithGUI.java +++ b/src/eva2/optimization/stat/StatisticsWithGUI.java @@ -206,8 +206,8 @@ public class StatisticsWithGUI extends AbstractStatistics implements Serializabl public void plotSpecificData(PopulationInterface pop, List informer) { double[] specificData = pop.getSpecificData(); int calls = pop.getFunctionCalls(); - ArrayList description = new ArrayList(); - ArrayList temp = new ArrayList(); + ArrayList description = new ArrayList<>(); + ArrayList temp = new ArrayList<>(); String[] ss = pop.getSpecificDataNames(); for (int i = 0; i < ss.length; i++) { if (ss[i].lastIndexOf("*") == -1) { @@ -216,7 +216,7 @@ public class StatisticsWithGUI extends AbstractStatistics implements Serializabl String[] line = new String[temp.size()]; temp.toArray(line); description.add(line); - temp = new ArrayList(); + temp = new ArrayList<>(); temp.add(ss[i]); } } diff --git a/src/eva2/optimization/strategies/ANPSO.java b/src/eva2/optimization/strategies/ANPSO.java index 20a996a7..17872ed9 100644 --- a/src/eva2/optimization/strategies/ANPSO.java +++ b/src/eva2/optimization/strategies/ANPSO.java @@ -70,7 +70,7 @@ public class ANPSO extends NichePSO implements InterfaceOptimizer, InterfaceAddi */ // for ANPSO it is necessary to keep an own archiv of inactive subswarms, because the standard set of // subswarms is completely renewed every iteration. - public Vector inactiveSubSwarms = new Vector(); + public Vector inactiveSubSwarms = new Vector<>(); // the s matrix keeps track of how long particles are close to each other int[][] s = new int[mainSwarmSize][mainSwarmSize]; @@ -215,7 +215,7 @@ public class ANPSO extends NichePSO implements InterfaceOptimizer, InterfaceAddi initSTo(0); initNicheGraph(); - inactiveSubSwarms = new Vector(); // dont want to use subswarms from old optimization run (especially not in multiruns)... + inactiveSubSwarms = new Vector<>(); // dont want to use subswarms from old optimization run (especially not in multiruns)... } /** @@ -466,7 +466,7 @@ public class ANPSO extends NichePSO implements InterfaceOptimizer, InterfaceAddi * @param setOfSubswarms */ public void useAsSubSwarms(Vector setOfSubswarms) { - Vector newSubSwarms = new Vector(); + Vector newSubSwarms = new Vector<>(); for (int i = 0; i < setOfSubswarms.size(); ++i) { Population pop = setOfSubswarms.get(i); @@ -521,7 +521,7 @@ public class ANPSO extends NichePSO implements InterfaceOptimizer, InterfaceAddi List> connectedComps = nicheGraph.getConnectedComponents(); Population tmpPop = new Population(), newMainPop = new Population(); - Vector setOfSubswarms = new Vector(); + Vector setOfSubswarms = new Vector<>(); boolean reinitSuperfl = true; for (Set connSet : connectedComps) { diff --git a/src/eva2/optimization/strategies/BOA.java b/src/eva2/optimization/strategies/BOA.java index ad84b572..5261d833 100644 --- a/src/eva2/optimization/strategies/BOA.java +++ b/src/eva2/optimization/strategies/BOA.java @@ -101,9 +101,7 @@ public class BOA implements InterfaceOptimizer, java.io.Serializable { this.scoringMethod = b.scoringMethod; this.edgeRate = new int[b.edgeRate.length][b.edgeRate.length]; for (int i = 0; i < this.edgeRate.length; i++) { - for (int j = 0; j < this.edgeRate[i].length; j++) { - this.edgeRate[i][j] = b.edgeRate[i][j]; - } + System.arraycopy(b.edgeRate[i], 0, this.edgeRate[i], 0, this.edgeRate[i].length); } this.scoringMethod = b.scoringMethod; // this.printExtraOutput = b.printExtraOutput; @@ -242,7 +240,7 @@ public class BOA implements InterfaceOptimizer, java.io.Serializable { this.network.initScoreArray(pop); double score = this.network.getNewScore(pop, -1); double score1 = score; - List> bestNetworks = new LinkedList>(); + List> bestNetworks = new LinkedList<>(); while (improvement) { improvement = false; for (int i = 0; i < this.probDim; i++) { @@ -263,7 +261,7 @@ public class BOA implements InterfaceOptimizer, java.io.Serializable { if (tmpScore == score) { // add the edge to the list of possible new edges bestNetworks - .add(new Pair(i, + .add(new Pair<>(i, j)); // if we have a better score } else { @@ -271,7 +269,7 @@ public class BOA implements InterfaceOptimizer, java.io.Serializable { bestNetworks.clear(); // add the edge to the list fo possible new edges bestNetworks - .add(new Pair(i, + .add(new Pair<>(i, j)); // adapt the score score = tmpScore; @@ -369,7 +367,6 @@ public class BOA implements InterfaceOptimizer, java.io.Serializable { private void printEdgeRate() { String filename = this.netFolder + "/edgeRate.m"; Writer w = null; - PrintWriter out = null; String message = "edgeRate" + this.scoringMethod + " = ["; createDirectoryIfNeeded(this.netFolder); for (int i = 0; i < this.edgeRate.length; i++) { @@ -384,14 +381,12 @@ public class BOA implements InterfaceOptimizer, java.io.Serializable { } } message += "];"; - try { + try (PrintWriter out = new PrintWriter(w)) { w = new FileWriter(filename); - out = new PrintWriter(w); out.write(message); } catch (IOException e) { e.printStackTrace(); } finally { - out.close(); try { w.close(); } catch (IOException e) { @@ -403,17 +398,14 @@ public class BOA implements InterfaceOptimizer, java.io.Serializable { private void printNetworkToFile(String i) { String filename = this.netFolder + "/network_" + i + ".graphml"; Writer w = null; - PrintWriter out = null; String message = this.network.generateYFilesCode(); createDirectoryIfNeeded(this.netFolder); - try { + try (PrintWriter out = new PrintWriter(w)) { w = new FileWriter(filename); - out = new PrintWriter(w); out.write(message); } catch (Exception e) { e.printStackTrace(); } finally { - out.close(); try { w.close(); } catch (IOException e) { diff --git a/src/eva2/optimization/strategies/BinaryScatterSearch.java b/src/eva2/optimization/strategies/BinaryScatterSearch.java index 85d750b9..c1e798ce 100644 --- a/src/eva2/optimization/strategies/BinaryScatterSearch.java +++ b/src/eva2/optimization/strategies/BinaryScatterSearch.java @@ -511,7 +511,7 @@ public class BinaryScatterSearch implements InterfaceOptimizer, java.io.Serializ // delete the worst half of refSet this.refSet.removeMembers(this.refSet.getWorstNIndividuals(this.refSet.size() - this.refSetSize / 2, this.fitCrit), false); while (this.refSet.size() < this.refSetSize) { - ArrayList> list = new ArrayList>(); + ArrayList> list = new ArrayList<>(); for (int i = 0; i < this.refSet.size(); i++) { AbstractEAIndividual indy = this.refSet.getEAIndividual(i); list.add(Population.getClosestFarthestIndy(indy, rest, new GenotypeMetricBitSet(), false)); @@ -547,7 +547,7 @@ public class BinaryScatterSearch implements InterfaceOptimizer, java.io.Serializ * @return the ordered List */ private ArrayList order(ArrayList list) { - ArrayList result = new ArrayList(); + ArrayList result = new ArrayList<>(); for (Integer s : list) { boolean done = false; if (result.isEmpty()) { @@ -576,7 +576,7 @@ public class BinaryScatterSearch implements InterfaceOptimizer, java.io.Serializ private AbstractEAIndividual improve(AbstractEAIndividual indy) { AbstractEAIndividual tmpIndy = (AbstractEAIndividual) indy.clone(); BitSet data = ((InterfaceDataTypeBinary) tmpIndy).getBinaryData(); - ArrayList cl = new ArrayList(); + ArrayList cl = new ArrayList<>(); int localIter = 0; for (int i = 0; i < data.size(); i++) { if (data.get(i)) { @@ -638,7 +638,7 @@ public class BinaryScatterSearch implements InterfaceOptimizer, java.io.Serializ * @return the List with all the combinations */ public ArrayList generateSubsets() { - ArrayList result = new ArrayList(); + ArrayList result = new ArrayList<>(); for (int i = 0; i < this.refSet.size(); i++) { for (int j = i + 1; j < this.refSet.size(); j++) { Population tmp = new Population(); diff --git a/src/eva2/optimization/strategies/ClusterBasedNichingEA.java b/src/eva2/optimization/strategies/ClusterBasedNichingEA.java index bfbcae34..52ba789c 100644 --- a/src/eva2/optimization/strategies/ClusterBasedNichingEA.java +++ b/src/eva2/optimization/strategies/ClusterBasedNichingEA.java @@ -49,7 +49,7 @@ public class ClusterBasedNichingEA implements InterfacePopulationChangedEventLis private static final long serialVersionUID = -3143069327594708609L; private Population population = new Population(); private transient Population populationArchive = new Population(); - private ArrayList species = new ArrayList(); + private ArrayList species = new ArrayList<>(); private Population undifferentiatedPopulation = new Population(); private transient Population doomedPopulation = new Population(); private InterfaceOptimizationProblem optimizationProblem = new B1Problem(); @@ -194,7 +194,7 @@ public class ClusterBasedNichingEA implements InterfacePopulationChangedEventLis private void initDefaults(boolean evalPop) { this.optimizer.addPopulationChangedEventListener(this); this.undifferentiatedPopulation.setTargetSize(this.populationSize); - this.species = new ArrayList(); + this.species = new ArrayList<>(); this.populationArchive = undifferentiatedPopulation.cloneWithoutInds(); // if (useDistraction) distraction = new Distraction(distrDefaultStrength, Distraction.METH_BEST); convergedCnt = 0; @@ -559,7 +559,7 @@ public class ClusterBasedNichingEA implements InterfacePopulationChangedEventLis if (this.useSpeciesDifferentiation) { Population[] clusters; - ArrayList newSpecies = new ArrayList(); + ArrayList newSpecies = new ArrayList<>(); //cluster the undifferentiated population clusters = this.caForSpeciesDifferentation.cluster(this.undifferentiatedPopulation, population); for (int j = 1; j < clusters.length; j++) { // loop new clusters @@ -614,7 +614,7 @@ public class ClusterBasedNichingEA implements InterfacePopulationChangedEventLis Population spec1, spec2; // test if species are close to already archived solutions - deactivate them if so assocSpec = caForSpeciesMerging.associateLoners(populationArchive, species.toArray(new Population[species.size()]), population); - PriorityQueue specToRemove = new PriorityQueue(5, Collections.reverseOrder()); // backwards sorted or DIE! + PriorityQueue specToRemove = new PriorityQueue<>(5, Collections.reverseOrder()); // backwards sorted or DIE! for (int i = populationArchive.size() - 1; i >= 0; i--) { if (assocSpec[i] >= 0) { AbstractEAIndividual aIndy = populationArchive.getEAIndividual(i); diff --git a/src/eva2/optimization/strategies/ClusteringHillClimbing.java b/src/eva2/optimization/strategies/ClusteringHillClimbing.java index 9799d5e8..41513523 100644 --- a/src/eva2/optimization/strategies/ClusteringHillClimbing.java +++ b/src/eva2/optimization/strategies/ClusteringHillClimbing.java @@ -294,7 +294,7 @@ public class ClusteringHillClimbing implements InterfacePopulationChangedEventLi */ @Override public String getStringRepresentation() { - StringBuffer sbuf = new StringBuffer("Clustering Hill Climbing"); + StringBuilder sbuf = new StringBuilder("Clustering Hill Climbing"); sbuf.append(", initial pop size: "); sbuf.append(getPopulation().getTargetSize()); sbuf.append("Optimization Problem: "); diff --git a/src/eva2/optimization/strategies/DifferentialEvolution.java b/src/eva2/optimization/strategies/DifferentialEvolution.java index 06768547..d511041e 100644 --- a/src/eva2/optimization/strategies/DifferentialEvolution.java +++ b/src/eva2/optimization/strategies/DifferentialEvolution.java @@ -305,7 +305,7 @@ public class DifferentialEvolution implements InterfaceOptimizer, java.io.Serial InterfaceDataTypeDouble esIndy; if (doLogParents) { - parents = new Vector(); + parents = new Vector<>(); } else { parents = null; } diff --git a/src/eva2/optimization/strategies/EsDpiNiching.java b/src/eva2/optimization/strategies/EsDpiNiching.java index deab42dc..c70e8ba7 100644 --- a/src/eva2/optimization/strategies/EsDpiNiching.java +++ b/src/eva2/optimization/strategies/EsDpiNiching.java @@ -631,9 +631,7 @@ public class EsDpiNiching implements InterfaceOptimizer, Serializable, Interface newClusters[i] = initRandomPeakPop(cntPerNewSpecies); } } - for (int i = 0; i < origClusters.length; i++) { - newClusters[i] = origClusters[i]; - } + System.arraycopy(origClusters, 0, newClusters, 0, origClusters.length); return newClusters; } } @@ -960,7 +958,7 @@ public class EsDpiNiching implements InterfaceOptimizer, Serializable, Interface @Override public String getStringRepresentation() { - StringBuffer sb = new StringBuffer("EsDpiNiching:\n"); + StringBuilder sb = new StringBuilder("EsDpiNiching:\n"); sb.append("Optimization Problem: "); sb.append(this.problem.getStringRepresentationForProblem(this)); sb.append("\n"); diff --git a/src/eva2/optimization/strategies/EvolutionStrategies.java b/src/eva2/optimization/strategies/EvolutionStrategies.java index 601d4b7a..cab948e6 100644 --- a/src/eva2/optimization/strategies/EvolutionStrategies.java +++ b/src/eva2/optimization/strategies/EvolutionStrategies.java @@ -251,7 +251,7 @@ public class EvolutionStrategies implements InterfaceOptimizer, java.io.Serializ @Override public void addPopulationChangedEventListener(InterfacePopulationChangedEventListener ea) { if (this.changeListener == null) { - this.changeListener = new Vector(); + this.changeListener = new Vector<>(); } this.changeListener.add(ea); } diff --git a/src/eva2/optimization/strategies/EvolutionStrategyIPOP.java b/src/eva2/optimization/strategies/EvolutionStrategyIPOP.java index d41a9980..89298ec4 100644 --- a/src/eva2/optimization/strategies/EvolutionStrategyIPOP.java +++ b/src/eva2/optimization/strategies/EvolutionStrategyIPOP.java @@ -166,7 +166,7 @@ public class EvolutionStrategyIPOP extends EvolutionStrategies implements Interf setForceOrigPopSize(false); getPopulation().setNotifyEvalInterval(Math.max(initialLambda, 100)); super.initialize(); - bestList = new LinkedList(); + bestList = new LinkedList<>(); best = getPopulation().getBestEAIndividual(); dim = AbstractEAIndividual.getDoublePositionShallow(getPopulation().getEAIndividual(0)).length; fitConvTerm = new FitnessConvergenceTerminator(stagThreshold, (isStagnationTimeUserDef()) ? stagTimeArbitrary : calcDefaultStagnationTime(), StagnationTypeEnum.generationBased, ChangeTypeEnum.absoluteChange, DirectionTypeEnum.decrease); // gen. based, absolute diff --git a/src/eva2/optimization/strategies/GeneticAlgorithm.java b/src/eva2/optimization/strategies/GeneticAlgorithm.java index d3631c53..06b99068 100644 --- a/src/eva2/optimization/strategies/GeneticAlgorithm.java +++ b/src/eva2/optimization/strategies/GeneticAlgorithm.java @@ -166,7 +166,7 @@ public class GeneticAlgorithm implements InterfaceOptimizer, java.io.Serializabl @Override public void addPopulationChangedEventListener(InterfacePopulationChangedEventListener ea) { if (this.changeListener == null) { - this.changeListener = new Vector(); + this.changeListener = new Vector<>(); } this.changeListener.add(ea); } diff --git a/src/eva2/optimization/strategies/IslandModelEA.java b/src/eva2/optimization/strategies/IslandModelEA.java index 0edef4ab..17d5598a 100644 --- a/src/eva2/optimization/strategies/IslandModelEA.java +++ b/src/eva2/optimization/strategies/IslandModelEA.java @@ -1,6 +1,5 @@ package eva2.optimization.strategies; -import eva2.gui.BeanInspector; import eva2.gui.plot.Plot; import eva2.optimization.go.InterfacePopulationChangedEventListener; import eva2.optimization.individuals.ESIndividualDoubleData; @@ -435,7 +434,7 @@ public class IslandModelEA implements InterfacePopulationChangedEventListener, I @Override public void registerPopulationStateChanged(Object source, String name) { InterfaceOptimizer opt = (InterfaceOptimizer) source; - int sourceID = new Integer(opt.getIdentifier()).intValue(); + int sourceID = Integer.parseInt(opt.getIdentifier()); double cFCOpt = opt.getPopulation().getFunctionCalls(); double plotValue = (this.optimizationProblem.getDoublePlotValue(opt.getPopulation())).doubleValue(); diff --git a/src/eva2/optimization/strategies/LTGA.java b/src/eva2/optimization/strategies/LTGA.java index 07456510..af229016 100644 --- a/src/eva2/optimization/strategies/LTGA.java +++ b/src/eva2/optimization/strategies/LTGA.java @@ -155,13 +155,13 @@ public class LTGA implements InterfaceOptimizer, java.io.Serializable, Interface private Stack> buildLinkageTree() { // the final tree - Stack> linkageTree = new Stack>(); + Stack> linkageTree = new Stack<>(); // the stack to cluster here clusters can be removed - Stack> workingTree = new Stack>(); + Stack> workingTree = new Stack<>(); // add the problem variables to the stacks for (int i = 0; i < this.probDim; i++) { - Set s1 = new HashSet(); - Set s2 = new HashSet(); + Set s1 = new HashSet<>(); + Set s2 = new HashSet<>(); s1.add(i); s2.add(i); linkageTree.add(s1); @@ -182,8 +182,8 @@ public class LTGA implements InterfaceOptimizer, java.io.Serializable, Interface } private Pair, Set> findNearestClusters(Stack> stack) { - Set bestI = new HashSet(); - Set bestJ = new HashSet(); + Set bestI = new HashSet<>(); + Set bestJ = new HashSet<>(); double bestScore = Double.MAX_VALUE; for (int i = 0; i < stack.size(); i++) { Set s1 = stack.get(i); @@ -199,13 +199,13 @@ public class LTGA implements InterfaceOptimizer, java.io.Serializable, Interface } } // return the best pair - return new Pair, Set>(bestI, bestJ); + return new Pair<>(bestI, bestJ); } private double calculateDistance(Set s1, Set s2) { double entropy1 = calculateEntropy(s1); double entropy2 = calculateEntropy(s2); - Set combined = new HashSet(); + Set combined = new HashSet<>(); combined.addAll(s1); combined.addAll(s2); double entropy3 = calculateEntropy(combined); diff --git a/src/eva2/optimization/strategies/MLTGA.java b/src/eva2/optimization/strategies/MLTGA.java index 6e74634d..f17fb3c8 100644 --- a/src/eva2/optimization/strategies/MLTGA.java +++ b/src/eva2/optimization/strategies/MLTGA.java @@ -157,13 +157,13 @@ public class MLTGA implements InterfaceOptimizer, java.io.Serializable, Interfac private Stack> buildLinkageTree() { // the final tree - Stack> linkageTree = new Stack>(); + Stack> linkageTree = new Stack<>(); // the stack to cluster here clusters can be removed - Stack> workingTree = new Stack>(); + Stack> workingTree = new Stack<>(); // add the problem variables to the stacks for (int i = 0; i < this.probDim; i++) { - Set s1 = new HashSet(); - Set s2 = new HashSet(); + Set s1 = new HashSet<>(); + Set s2 = new HashSet<>(); s1.add(i); s2.add(i); linkageTree.add(s1); @@ -184,8 +184,8 @@ public class MLTGA implements InterfaceOptimizer, java.io.Serializable, Interfac } private Pair, Set> findNearestClusters(Stack> stack) { - Set bestI = new HashSet(); - Set bestJ = new HashSet(); + Set bestI = new HashSet<>(); + Set bestJ = new HashSet<>(); double bestScore = Double.MAX_VALUE; for (int i = 0; i < stack.size(); i++) { Set s1 = stack.get(i); @@ -201,13 +201,13 @@ public class MLTGA implements InterfaceOptimizer, java.io.Serializable, Interfac } } // return the best pair - return new Pair, Set>(bestI, bestJ); + return new Pair<>(bestI, bestJ); } private double calculateDistance(Set s1, Set s2) { double entropy1 = calculateEntropy(s1); double entropy2 = calculateEntropy(s2); - Set combined = new HashSet(); + Set combined = new HashSet<>(); combined.addAll(s1); combined.addAll(s2); double entropy3 = calculateEntropy(combined); diff --git a/src/eva2/optimization/strategies/MultiObjectiveCMAES.java b/src/eva2/optimization/strategies/MultiObjectiveCMAES.java index 2b108c61..a3dfe8a2 100644 --- a/src/eva2/optimization/strategies/MultiObjectiveCMAES.java +++ b/src/eva2/optimization/strategies/MultiObjectiveCMAES.java @@ -219,7 +219,7 @@ public class MultiObjectiveCMAES implements InterfaceOptimizer, Serializable { @Override public void optimize() { - HashMap SuccessCounterMap = new HashMap(); + HashMap SuccessCounterMap = new HashMap<>(); // Eltern markieren und f�r die Z�hlung vorbereiten for (int j = 0; j < lambdaMO && j < population.size(); j++) { diff --git a/src/eva2/optimization/strategies/NelderMeadSimplex.java b/src/eva2/optimization/strategies/NelderMeadSimplex.java index aee16c8d..6c444bac 100644 --- a/src/eva2/optimization/strategies/NelderMeadSimplex.java +++ b/src/eva2/optimization/strategies/NelderMeadSimplex.java @@ -86,7 +86,7 @@ public class NelderMeadSimplex implements InterfaceOptimizer, Serializable, Inte InterfacePopulationChangedEventListener ea) { if (ea != null) { if (populationChangedEventListeners == null) { - populationChangedEventListeners = new Vector(); + populationChangedEventListeners = new Vector<>(); } if (!populationChangedEventListeners.contains(ea)) { populationChangedEventListeners.add(ea); diff --git a/src/eva2/optimization/strategies/NicheGraph.java b/src/eva2/optimization/strategies/NicheGraph.java index ed3ae101..49f553cb 100644 --- a/src/eva2/optimization/strategies/NicheGraph.java +++ b/src/eva2/optimization/strategies/NicheGraph.java @@ -24,8 +24,8 @@ public class NicheGraph implements java.io.Serializable { * ctor */ public NicheGraph() { - graphTable = new TreeMap>(); - set = new HashSet(); + graphTable = new TreeMap<>(); + set = new HashSet<>(); } @@ -90,10 +90,10 @@ public class NicheGraph implements java.io.Serializable { */ // run BFS from given root vertex r public void runBFS(String r) { - set = new HashSet(); + set = new HashSet<>(); // put root on the queue - java.util.Queue q = new LinkedList(); + java.util.Queue q = new LinkedList<>(); q.offer(r); set.add(r); @@ -113,7 +113,7 @@ public class NicheGraph implements java.io.Serializable { * @return connected components of the graph */ public List> getConnectedComponents() { - ArrayList> l = new ArrayList>(); + ArrayList> l = new ArrayList<>(); for (String v : getVertexIterator()) { if (!isComponent(v, l)) { diff --git a/src/eva2/optimization/strategies/NichePSO.java b/src/eva2/optimization/strategies/NichePSO.java index 337ab718..5ab563e7 100644 --- a/src/eva2/optimization/strategies/NichePSO.java +++ b/src/eva2/optimization/strategies/NichePSO.java @@ -109,7 +109,7 @@ public class NichePSO implements InterfaceAdditionalPopulationInformer, Interfac protected transient String dirForCurrentExperiment = "unset"; // the main swarm and the subswarms protected ParticleSubSwarmOptimization mainSwarm = new ParticleSubSwarmOptimization(); - protected Vector subSwarms = new Vector(); + protected Vector subSwarms = new Vector<>(); protected ParticleSubSwarmOptimization subswarmOptimizerTemplate = new ParticleSubSwarmOptimization(); // individuals to be reinitialized in the next iteration protected Vector indicesToReinit = null; @@ -412,21 +412,21 @@ public class NichePSO implements InterfaceAdditionalPopulationInformer, Interfac // reset flags etc for: // deactivation deactivationOccured = false; - deactivatedSwarm = new Vector(); + deactivatedSwarm = new Vector<>(); // reinitedSwarm = new Vector(); // merging mergingOccurd = false; - borg = new Vector(); - others = new Vector(); - borgbest = new Vector(); - othersbest = new Vector(); + borg = new Vector<>(); + others = new Vector<>(); + borgbest = new Vector<>(); + othersbest = new Vector<>(); // absorbtion absorbtionOccurd = false; - indytoabsorb = new Vector(); + indytoabsorb = new Vector<>(); // subswarmcreation creationOccurd = false; - indyconverged = new Vector(); - convergedneighbor = new Vector(); + indyconverged = new Vector<>(); + convergedneighbor = new Vector<>(); } /** @@ -452,7 +452,7 @@ public class NichePSO implements InterfaceAdditionalPopulationInformer, Interfac public void scheduleNewParticlesToPopulation(int[] particleIndices) { if (particleIndices != null) { if (indicesToReinit == null) { - indicesToReinit = new Vector(); + indicesToReinit = new Vector<>(); } indicesToReinit.add(particleIndices); } @@ -471,7 +471,7 @@ public class NichePSO implements InterfaceAdditionalPopulationInformer, Interfac } else { try { Thread.sleep(1000); - } catch (InterruptedException e) { + } catch (InterruptedException ignored) { } } } @@ -479,9 +479,6 @@ public class NichePSO implements InterfaceAdditionalPopulationInformer, Interfac synchronized (topoPlot.getClass()) { plotMainSwarm(false); plotSubSwarms(); - //plotAdditionalInfo(); - //plotAllStdDevsInMainSwarm(); - //plotBoundStdDevInMainSwarm(0.03); } if (savePlots) { String gen = String.valueOf(getMainSwarm().getPopulation().getGeneration()); @@ -1482,7 +1479,7 @@ public class NichePSO implements InterfaceAdditionalPopulationInformer, Interfac } public String getReport() { - String result = new String(); + String result = ""; result = "Generations: " + getPopulation().getGeneration(); result += " FunctionCalls: " + getPopulation().getFunctionCalls(); result += " MainSwarmSize: " + getMainSwarm().getPopulation().size(); @@ -1989,7 +1986,7 @@ public class NichePSO implements InterfaceAdditionalPopulationInformer, Interfac AbstractEAIndividual indy = getIndyByParticleIndex(new Integer(particleIndex)); // collect Information to be printed - String text = new String(); + String text = ""; double[] vel = (double[]) indy.getData("velocity"); //beware: curVel -> newPos -> plot (not curVel -> plot -> newPos) String xv = String.format("%6.2f", vel[0]); String yv = String.format("%6.2f", vel[1]); diff --git a/src/eva2/optimization/strategies/ParticleFilterOptimization.java b/src/eva2/optimization/strategies/ParticleFilterOptimization.java index 247700d5..e64e835a 100644 --- a/src/eva2/optimization/strategies/ParticleFilterOptimization.java +++ b/src/eva2/optimization/strategies/ParticleFilterOptimization.java @@ -1,12 +1,10 @@ package eva2.optimization.strategies; -import eva2.gui.BeanInspector; import eva2.gui.editor.GenericObjectEditor; import eva2.gui.plot.Plot; import eva2.optimization.go.InterfacePopulationChangedEventListener; import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.individuals.InterfaceDataTypeDouble; -import eva2.optimization.operator.distancemetric.EuclideanMetric; import eva2.optimization.operator.mutation.MutateESCorrVector; import eva2.optimization.operator.mutation.MutateESFixedStepSize; import eva2.optimization.operator.selection.InterfaceSelection; diff --git a/src/eva2/optimization/strategies/ParticleSubSwarmOptimization.java b/src/eva2/optimization/strategies/ParticleSubSwarmOptimization.java index 83be23e2..986ae8a4 100644 --- a/src/eva2/optimization/strategies/ParticleSubSwarmOptimization.java +++ b/src/eva2/optimization/strategies/ParticleSubSwarmOptimization.java @@ -128,7 +128,7 @@ public class ParticleSubSwarmOptimization extends ParticleSwarmOptimizationGCPSO } public static void initFitnessArchiveOf(AbstractEAIndividual indy) { - Vector vec = new Vector(); + Vector vec = new Vector<>(); double scalarFitness = sum(indy.getFitness()); // if multiobjective, use the sum of all fitnessvalues (dont use the norm because fitnessvalues may be negative) vec.add(new Double(scalarFitness)); indy.putData(NichePSO.fitArchiveKey, vec); @@ -289,7 +289,7 @@ public class ParticleSubSwarmOptimization extends ParticleSwarmOptimizationGCPSO double scalarFitness = sum(indy.getFitness()); // if multiobjective, use the sum of all fitnessvalues (dont use the norm because fitnessvalues may be negative) Double fitness = new Double(scalarFitness); - Vector fitArchive_new = new Vector(); + Vector fitArchive_new = new Vector<>(); int end = fitArchive_old.size(); int start = 0; if (end >= fitnessArchiveSize) { @@ -502,7 +502,7 @@ public class ParticleSubSwarmOptimization extends ParticleSwarmOptimizationGCPSO for (int i = 0; i < tmpopt.getPopulation().size(); ++i) { AbstractEAIndividual indy = tmpopt.getPopulation().getEAIndividual(i); indy.setIndividualIndex(particleIndices[i]);//SetData("particleIndex", new Integer(particleIndices[i])); - indy.putData("newParticleFlag", new Boolean(true)); // for plotting + indy.putData("newParticleFlag", Boolean.TRUE); // for plotting } } diff --git a/src/eva2/optimization/strategies/ParticleSwarmOptimization.java b/src/eva2/optimization/strategies/ParticleSwarmOptimization.java index dfd50ecd..66b23b9c 100644 --- a/src/eva2/optimization/strategies/ParticleSwarmOptimization.java +++ b/src/eva2/optimization/strategies/ParticleSwarmOptimization.java @@ -248,9 +248,7 @@ public class ParticleSwarmOptimization implements InterfaceOptimizer, java.io.Se double[][] range = ((InterfaceDataTypeDouble) population.get(0)).getDoubleRange(); if (tracedVelocity == null) { tracedVelocity = new double[((InterfaceDataTypeDouble) population.get(0)).getDoubleData().length]; - for (int i = 0; i < tracedVelocity.length; i++) { - tracedVelocity[i] = curAvVelAndSpeed[i]; - } + System.arraycopy(curAvVelAndSpeed, 0, tracedVelocity, 0, tracedVelocity.length); } else { if (population.getGeneration() < emaPeriods) {// if less than emaPeriods have passed, use larger alpha addMovingAverage(tracedVelocity, curAvVelAndSpeed, 2. / (population.getGeneration() + 1)); @@ -773,7 +771,7 @@ public class ParticleSwarmOptimization implements InterfaceOptimizer, java.io.Se if (true) { return (double[]) population.getEAIndividual(index).getData(lastSuccessKey); } else { // random one - ArrayList successes = new ArrayList(); + ArrayList successes = new ArrayList<>(); for (int i = 0; i < this.population.size(); i++) { double[] succVel = (double[]) population.getEAIndividual(i).getData(lastSuccessKey); if (succVel != null) { @@ -1329,7 +1327,7 @@ public class ParticleSwarmOptimization implements InterfaceOptimizer, java.io.Se if (topology == PSOTopologyEnum.multiSwarm) { // prepare multi swarm topology PhenotypeMetric metric = new PhenotypeMetric(); - Vector leaders = new Vector(pop.size()); + Vector leaders = new Vector<>(pop.size()); int cur = 0; boolean found = false, superfluous = false; double dist; @@ -1433,7 +1431,7 @@ public class ParticleSwarmOptimization implements InterfaceOptimizer, java.io.Se int numGroups = pop.size() / groupSize; // truncated integer: last group is larger int[] perm = RNG.randomPerm(pop.size()); - Vector links = new Vector(numGroups); + Vector links = new Vector<>(numGroups); for (int i = 0; i < numGroups; i++) { if (i < numGroups - 1) { links.add(new int[groupSize]); diff --git a/src/eva2/optimization/strategies/ScatterSearch.java b/src/eva2/optimization/strategies/ScatterSearch.java index 650feac2..267fb505 100644 --- a/src/eva2/optimization/strategies/ScatterSearch.java +++ b/src/eva2/optimization/strategies/ScatterSearch.java @@ -255,7 +255,7 @@ public class ScatterSearch implements InterfaceOptimizer, java.io.Serializable, int h = newRefSet.size(); - ArrayList distVects = new ArrayList(); + ArrayList distVects = new ArrayList<>(); for (int i = 1; i < h; i++) { distVects.add(getDiffVect(newRefSet.getEAIndividual(0), newRefSet.getEAIndividual(i))); } @@ -382,7 +382,7 @@ public class ScatterSearch implements InterfaceOptimizer, java.io.Serializable, Population hcPop = new Population(1); hcPop.add(cand); int stepsDone = PostProcess.processWithHC(hcPop, optimizationProblem, hcSteps); - return new Pair(hcPop.getEAIndividual(0), stepsDone); + return new Pair<>(hcPop.getEAIndividual(0), stepsDone); } private int getClosestIndy(AbstractEAIndividual indy, Population refSet) { diff --git a/src/eva2/optimization/strategies/tribes/TribesExplorer.java b/src/eva2/optimization/strategies/tribes/TribesExplorer.java index a9973f7a..9be3c417 100644 --- a/src/eva2/optimization/strategies/tribes/TribesExplorer.java +++ b/src/eva2/optimization/strategies/tribes/TribesExplorer.java @@ -943,7 +943,7 @@ v[d] = cmin * v[d]; @Override public String getStringRepresentation() { - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); sb.append("TribesExplorer ["); for (int i = 0; i < position.x.length; i++) { sb.append(position.x[i]); diff --git a/src/eva2/optimization/strategies/tribes/TribesPosition.java b/src/eva2/optimization/strategies/tribes/TribesPosition.java index 3f0d7b90..1ffddee8 100644 --- a/src/eva2/optimization/strategies/tribes/TribesPosition.java +++ b/src/eva2/optimization/strategies/tribes/TribesPosition.java @@ -880,7 +880,7 @@ public class TribesPosition implements java.io.Serializable { @Override public String toString() { - StringBuffer sb = new StringBuffer("TribesMemory at ["); + StringBuilder sb = new StringBuilder("TribesMemory at ["); for (int i = 0; i < x.length; i++) { sb.append(x[i]); sb.append(","); diff --git a/src/eva2/optimization/strategies/tribes/TribesSwarm.java b/src/eva2/optimization/strategies/tribes/TribesSwarm.java index eedccfe6..3e58a99d 100644 --- a/src/eva2/optimization/strategies/tribes/TribesSwarm.java +++ b/src/eva2/optimization/strategies/tribes/TribesSwarm.java @@ -6,6 +6,7 @@ import eva2.optimization.strategies.Tribes; import eva2.tools.math.RNG; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; @@ -63,9 +64,7 @@ public class TribesSwarm implements java.io.Serializable { public Population toPopulation() { Population pop = new Population(numExplorers()); for (int n = 0; n < tribeNb; n++) { - for (int i = 0; i < tribes[n].explorerNb; i++) { - pop.add(tribes[n].explorer[i]); - } + pop.addAll(Arrays.asList(tribes[n].explorer).subList(0, tribes[n].explorerNb)); } pop.add(getBestMemory().asDummyExplorer(range, masterTribe.getObjectiveFirstDim())); pop.synchSize(); @@ -209,7 +208,7 @@ public class TribesSwarm implements java.io.Serializable { * @return */ public List collectMem() { - ArrayList bestList = new ArrayList(); + ArrayList bestList = new ArrayList<>(); for (int n = 0; n < tribeNb; n++) { for (int m = 0; m < tribes[n].memoryNb; m++) { diff --git a/src/eva2/problems/AbstractMultiModalProblemKnown.java b/src/eva2/problems/AbstractMultiModalProblemKnown.java index d56d38bc..d5b3b4f0 100644 --- a/src/eva2/problems/AbstractMultiModalProblemKnown.java +++ b/src/eva2/problems/AbstractMultiModalProblemKnown.java @@ -34,7 +34,6 @@ public abstract class AbstractMultiModalProblemKnown extends AbstractProblemDoub if (b.listOfOptima != null) { this.listOfOptima = (Population) b.listOfOptima.clone(); } - ; this.globalOptimum = b.globalOptimum; this.epsilon = b.epsilon; } diff --git a/src/eva2/problems/AbstractOptimizationProblem.java b/src/eva2/problems/AbstractOptimizationProblem.java index c5f18d7c..9b095bde 100644 --- a/src/eva2/problems/AbstractOptimizationProblem.java +++ b/src/eva2/problems/AbstractOptimizationProblem.java @@ -124,7 +124,7 @@ public abstract class AbstractOptimizationProblem implements InterfaceOptimizati evaluatePopulationStart(population); if (this.parallelthreads > 1) { - Vector queue = new Vector(population.size()); + Vector queue = new Vector<>(population.size()); Semaphore sema = new Semaphore(0); ExecutorService pool = Executors.newFixedThreadPool(parallelthreads); int cntIndies = 0; diff --git a/src/eva2/problems/AbstractProblemBinary.java b/src/eva2/problems/AbstractProblemBinary.java index e8b595dc..9ad14a15 100644 --- a/src/eva2/problems/AbstractProblemBinary.java +++ b/src/eva2/problems/AbstractProblemBinary.java @@ -115,7 +115,7 @@ public abstract class AbstractProblemBinary extends AbstractOptimizationProblem */ @Override public String getStringRepresentationForProblem(InterfaceOptimizer opt) { - StringBuffer sb = new StringBuffer(200); + StringBuilder sb = new StringBuilder(200); sb.append("A binary valued problem:\n"); sb.append(globalInfo()); sb.append("Dimension : "); diff --git a/src/eva2/problems/AbstractProblemDouble.java b/src/eva2/problems/AbstractProblemDouble.java index 9dc58526..a5c85975 100644 --- a/src/eva2/problems/AbstractProblemDouble.java +++ b/src/eva2/problems/AbstractProblemDouble.java @@ -513,7 +513,7 @@ public abstract class AbstractProblemDouble extends AbstractOptimizationProblem */ @Override public String getStringRepresentationForProblem(InterfaceOptimizer opt) { - StringBuffer sb = new StringBuffer(200); + StringBuilder sb = new StringBuilder(200); sb.append("A double valued problem: "); sb.append(this.getName()); sb.append("\n"); @@ -616,7 +616,7 @@ public abstract class AbstractProblemDouble extends AbstractOptimizationProblem } sum += v; } - return new Pair(numViol, sum); + return new Pair<>(numViol, sum); } public boolean isShowPlot() { diff --git a/src/eva2/problems/AbstractProblemInteger.java b/src/eva2/problems/AbstractProblemInteger.java index 63416f90..564813b1 100644 --- a/src/eva2/problems/AbstractProblemInteger.java +++ b/src/eva2/problems/AbstractProblemInteger.java @@ -105,7 +105,7 @@ public abstract class AbstractProblemInteger extends AbstractOptimizationProblem */ @Override public String getStringRepresentationForProblem(InterfaceOptimizer opt) { - StringBuffer sb = new StringBuffer(200); + StringBuilder sb = new StringBuilder(200); sb.append("An integer valued problem:\n"); sb.append(globalInfo()); sb.append("Dimension : "); diff --git a/src/eva2/problems/BKnapsackProblem.java b/src/eva2/problems/BKnapsackProblem.java index f29ff100..3ded8659 100644 --- a/src/eva2/problems/BKnapsackProblem.java +++ b/src/eva2/problems/BKnapsackProblem.java @@ -326,7 +326,7 @@ public class BKnapsackProblem extends AbstractProblemBinary implements java.io.S */ @Override public String getStringRepresentationForProblem(InterfaceOptimizer opt) { - StringBuffer result = new StringBuffer(100); + StringBuilder result = new StringBuilder(100); result.append("Knapsack Problem:\n"); result.append("The task is to find a packing for a knapsack with limited size("); diff --git a/src/eva2/problems/ConstrHimmelblauProblem.java b/src/eva2/problems/ConstrHimmelblauProblem.java index a9981742..02d6587d 100644 --- a/src/eva2/problems/ConstrHimmelblauProblem.java +++ b/src/eva2/problems/ConstrHimmelblauProblem.java @@ -34,7 +34,7 @@ public class ConstrHimmelblauProblem extends AbstractProblemDouble implements Se } public static AbstractConstraint[] makeDefaultConstraints() { - Vector constraints = new Vector(); + Vector constraints = new Vector<>(); constraints.add(new IntervalConstraint("+(+(85.334407,*(0.0056858,*(x1,x4))), +(*(0.00026,*(x0,x3)),*(-0.0022053,*(x2,x4))))", 0, 92)); constraints.add(new IntervalConstraint("+(+(80.51249,*(0.0071317,*(x1,x4))), +(*(0.0029955,*(x0,x1)),*(0.0021813,*(x2,x2))))", 90, 110)); constraints.add(new IntervalConstraint("+(+(9.300961,*(0.0047026,*(x2,x4))), +(*(0.0012547,*(x0,x2)),*(0.0019085,*(x2,x3))))", 20, 25)); diff --git a/src/eva2/problems/ConstrPressureVessel.java b/src/eva2/problems/ConstrPressureVessel.java index d4f988ef..ffd78d7d 100644 --- a/src/eva2/problems/ConstrPressureVessel.java +++ b/src/eva2/problems/ConstrPressureVessel.java @@ -30,7 +30,7 @@ public class ConstrPressureVessel extends AbstractProblemDouble { } public static AbstractConstraint[] makeDefaultConstraints() { - Vector constraints = new Vector(); + Vector constraints = new Vector<>(); constraints.add(new GenericConstraint("-(*(0.0193,x2),x0)", ConstraintRelationEnum.lessEqZero)); constraints.add(new GenericConstraint("-(*(0.00954,x2),x1)", ConstraintRelationEnum.lessEqZero)); constraints.add(new GenericConstraint("-(1296000, +(*(pi, *(pow2(x2),x3)),*(/(4,3),*(pi,pow3(x2))))))", ConstraintRelationEnum.lessEqZero)); diff --git a/src/eva2/problems/ExternalRuntimeProblem.java b/src/eva2/problems/ExternalRuntimeProblem.java index c4721773..18028f39 100644 --- a/src/eva2/problems/ExternalRuntimeProblem.java +++ b/src/eva2/problems/ExternalRuntimeProblem.java @@ -14,6 +14,7 @@ import eva2.util.annotation.Description; import java.io.*; import java.util.ArrayList; +import java.util.Collections; import java.util.List; /** @@ -235,10 +236,8 @@ public class ExternalRuntimeProblem extends AbstractOptimizationProblem } public static List runProcess(String[] parameters, String workingDir) { - List params = new ArrayList(parameters.length); - for (String str : parameters) { - params.add(str); - } + List params = new ArrayList<>(parameters.length); + Collections.addAll(params, parameters); return runProcess(params, workingDir); } @@ -254,7 +253,7 @@ public class ExternalRuntimeProblem extends AbstractOptimizationProblem String colSepRegExp = "[\\s;:|]"; // \s for whitespaces, double quoting necessary! Process process; ProcessBuilder pb; - List results = new ArrayList(); + List results = new ArrayList<>(); try { pb = new ProcessBuilder(parameters); pb.directory(new File(workingDir)); @@ -266,9 +265,7 @@ public class ExternalRuntimeProblem extends AbstractOptimizationProblem while ((line = br.readLine()) != null) { line = line.trim(); String[] parts = line.split(colSepRegExp); - for (String str : parts) { - results.add(str); - } + Collections.addAll(results, parts); // results.add(line); } br.close(); @@ -286,9 +283,9 @@ public class ExternalRuntimeProblem extends AbstractOptimizationProblem if (x == null) { throw new RuntimeException("Error, x=null value received in ExternalRuntimeProblem.evaluate"); } - ArrayList fitList = new ArrayList(); + ArrayList fitList = new ArrayList<>(); - List parameters = new ArrayList(); + List parameters = new ArrayList<>(); parameters.add(this.command); if (additionalArg != null && (additionalArg.length() > 0)) { parameters.add(additionalArg); @@ -323,7 +320,7 @@ public class ExternalRuntimeProblem extends AbstractOptimizationProblem * @return */ protected String prepareParameter(double[] x, int i) { - return new String("" + x[i]); + return "" + x[i]; } /** @@ -334,7 +331,7 @@ public class ExternalRuntimeProblem extends AbstractOptimizationProblem */ @Override public String getStringRepresentationForProblem(InterfaceOptimizer opt) { - StringBuffer sb = new StringBuffer(200); + StringBuilder sb = new StringBuilder(200); sb.append("External Runtime Problem:\n"); sb.append("Here the individual codes a vector of real number x is to be minimized on a user given external problem.\nParameters:\n"); sb.append("Dimension : "); diff --git a/src/eva2/problems/F1Problem.java b/src/eva2/problems/F1Problem.java index 1583ced2..4c4de10e 100644 --- a/src/eva2/problems/F1Problem.java +++ b/src/eva2/problems/F1Problem.java @@ -66,7 +66,7 @@ public class F1Problem extends AbstractProblemDoubleOffset implements Interface2 */ @Override public String getStringRepresentationForProblem(InterfaceOptimizer opt) { - StringBuffer sb = new StringBuffer(200); + StringBuilder sb = new StringBuilder(200); sb.append("F1 Sphere model:\n"); sb.append("Here the individual codes a vector of real number x and F1(x)= x^2 is to be minimized.\nParameters:\n"); sb.append("Dimension : "); diff --git a/src/eva2/problems/MatlabEvalMediator.java b/src/eva2/problems/MatlabEvalMediator.java index 9c56be0d..c9eec40c 100644 --- a/src/eva2/problems/MatlabEvalMediator.java +++ b/src/eva2/problems/MatlabEvalMediator.java @@ -15,11 +15,11 @@ import java.util.concurrent.Semaphore; * However, the mediator object remains persistent, and the optimization thread keeps running * and waits for the mediator to signal that there is a result, which happens if Matlab calls setAnswer(). * Then the optimizer thread resumes, while Matlab has to restart the mediator thread, so that it may - * be informed about the next question, and so on. I havent checked how much performance is lost compared - * to the earlier, asynchronous version, but it feels similar, a difference being that both cpu's + * be informed about the next question, and so on. I haven't checked how much performance is lost compared + * to the earlier, asynchronous version, but it feels similar, a difference being that both CPU's * are now at 100% load, which is because two threads are running (and always at least waiting actively). * Adding sleep time reduces CPU load a lot but reduces efficiency badly at the same time, probably because - * theres so much going on. For cases where the evaluation function is very time-consuming, adding sleep time + * there's so much going on. For cases where the evaluation function is very time-consuming, adding sleep time * might be an option. * * @author mkron @@ -174,15 +174,7 @@ public class MatlabEvalMediator { } private void logMPOrSysOut(String msg) { -// System.out.println("Hurz OR"); logMP(msg); -// else System.out.println("MEM has no MP! " + msg); - } - - private void logMPAndSysOut(String msg) { -// System.out.println("Hurz AND"); -// logMP(msg + "\n"); -// System.out.println(msg); } private void logMP(String msg) { @@ -195,7 +187,6 @@ public class MatlabEvalMediator { * Cancel waiting in any case. */ public void quit() { -// System.out.println("IN QUIT!"); quit = true; } @@ -224,15 +215,12 @@ public class MatlabEvalMediator { * @param y */ public void setAnswer(double[] y) { -// logMPAndSysOut("Synch requesting B setAnswer " + getState()); synchronized (requesting) { -// logMPAndSysOut("In Synch requesting B setAnswer " + getState()); if (!requesting) { String msg = "Error: not in requesting state when answer arrived!!"; System.err.println(msg); logMP(msg); } -// System.err.println("answer is " + BeanInspector.toString(y)); if (y == null) { System.err.println("Error: Matlab function returned null array - this is bad."); System.err.println("X-value was " + BeanInspector.toString(getQuestion())); @@ -242,11 +230,9 @@ public class MatlabEvalMediator { requests.release(); logMP("-- setAnswer: " + BeanInspector.toString(y) + ", req state is " + requesting + "\n"); } -// logMPAndSysOut("Synch requesting B done " + getState()); } void setFinished(boolean val) { -// logMPAndSysOut("Synch fin " + getState()); synchronized (fin) { if (fin && val) { String msg = "Error: already finished when setFinished(true) was called!"; @@ -256,7 +242,6 @@ public class MatlabEvalMediator { fin = val; logMPOrSysOut("MEM setFinished ok"); } -// logMPAndSysOut("Synch fin done " + getState()); } /** @@ -269,22 +254,18 @@ public class MatlabEvalMediator { } void setSolution(Object sol) { -// System.err.println("setting obj Sol " + BeanInspector.toString(sol)); optSolution = sol; } void setSolutionSet(double[][] solSet) { -// System.err.println("setting dbl SolSet " + ((solSet != null) ? solSet.length : 0)); optSolSet = solSet; } void setSolutionSet(BitSet[] solSet) { -// System.err.println("setting bs SolSet " + ((solSet != null) ? solSet.length : 0)); optSolSet = solSet; } void setSolutionSet(int[][] solSet) { -// System.err.println("setting int SolSet " + ((solSet != null) ? solSet.length : 0)); optSolSet = solSet; } @@ -294,7 +275,6 @@ public class MatlabEvalMediator { * @return */ public Object getSolution() { -// System.err.println("getting Sol " + BeanInspector.toString(optSolution)); return optSolution; } @@ -304,7 +284,6 @@ public class MatlabEvalMediator { * @return */ public Object getSolutionSet() { -// System.err.println("getting SolSet " + ((optSolSet != null) ? optSolSet.length : 0)); return optSolSet; } } \ No newline at end of file diff --git a/src/eva2/problems/MatlabProblem.java b/src/eva2/problems/MatlabProblem.java index e2ead187..f1b60b80 100644 --- a/src/eva2/problems/MatlabProblem.java +++ b/src/eva2/problems/MatlabProblem.java @@ -191,9 +191,7 @@ public class MatlabProblem extends AbstractOptimizationProblem implements Interf if (globalRange != null) { // these may be Matlab objects, so I do it by foot, just to be sure not to clone them within Matlab instead of here this.range = new double[globalRange.length][globalRange[0].length]; for (int i = 0; i < this.range.length; i++) { - for (int j = 0; j < this.range[0].length; j++) { - this.range[i][j] = globalRange[i][j]; - } + System.arraycopy(globalRange[i], 0, this.range[i], 0, this.range[0].length); } } else { this.range = null; @@ -202,9 +200,7 @@ public class MatlabProblem extends AbstractOptimizationProblem implements Interf if (initRange != null) { // these may be Matlab objects, so I do it by foot, just to be sure not to clone them within Matlab instead of here this.initialRange = new double[initRange.length][initRange[0].length]; for (int i = 0; i < this.initialRange.length; i++) { - for (int j = 0; j < this.initialRange[0].length; j++) { - this.initialRange[i][j] = initRange[i][j]; - } + System.arraycopy(initRange[i], 0, this.initialRange[i], 0, this.initialRange[0].length); } } else { this.initialRange = null; @@ -476,7 +472,7 @@ public class MatlabProblem extends AbstractOptimizationProblem implements Interf if (runnable == null) { return ""; } - StringBuffer sb = new StringBuffer(""); + StringBuilder sb = new StringBuilder(""); sb.append(runnable.terminatedBecause()); return sb.toString(); } @@ -605,7 +601,7 @@ public class MatlabProblem extends AbstractOptimizationProblem implements Interf @Override public String getStringRepresentationForProblem(InterfaceOptimizer opt) { - StringBuffer sb = new StringBuffer(200); + StringBuilder sb = new StringBuilder(200); sb.append("A general Matlab problem"); sb.append(this.getName()); //sb.append("\n"); diff --git a/src/eva2/problems/PSymbolicRegression.java b/src/eva2/problems/PSymbolicRegression.java index 7b1bab2d..f9a0dd3a 100644 --- a/src/eva2/problems/PSymbolicRegression.java +++ b/src/eva2/problems/PSymbolicRegression.java @@ -60,15 +60,11 @@ public class PSymbolicRegression extends AbstractOptimizationProblem implements } if (b.x != null) { this.x = new double[b.x.length]; - for (int i = 0; i < this.x.length; i++) { - this.x[i] = b.x[i]; - } + System.arraycopy(b.x, 0, this.x, 0, this.x.length); } if (b.constants != null) { this.constants = new double[b.constants.length]; - for (int i = 0; i < this.constants.length; i++) { - this.constants[i] = b.constants[i]; - } + System.arraycopy(b.constants, 0, this.constants, 0, this.constants.length); } this.noise = b.noise; this.useInnerConst = b.useInnerConst; diff --git a/src/eva2/problems/SimpleProblemWrapper.java b/src/eva2/problems/SimpleProblemWrapper.java index 0b5226c5..cc3136f1 100644 --- a/src/eva2/problems/SimpleProblemWrapper.java +++ b/src/eva2/problems/SimpleProblemWrapper.java @@ -264,7 +264,7 @@ public class SimpleProblemWrapper extends AbstractOptimizationProblem { */ @Override public String getStringRepresentationForProblem(InterfaceOptimizer opt) { - StringBuffer sb = new StringBuffer(200); + StringBuilder sb = new StringBuilder(200); sb.append("A wrapped simple problem based on "); sb.append(simProb.getClass().getName()); sb.append(", Dimension : "); diff --git a/src/eva2/tools/BasicResourceLoader.java b/src/eva2/tools/BasicResourceLoader.java index a07c728b..c1212e90 100644 --- a/src/eva2/tools/BasicResourceLoader.java +++ b/src/eva2/tools/BasicResourceLoader.java @@ -128,7 +128,7 @@ public class BasicResourceLoader implements ResourceLoader { sReader)); String line; - ArrayList lineData = new ArrayList(100); + ArrayList lineData = new ArrayList<>(100); int lineCnt = 0; try { diff --git a/src/eva2/tools/EVAERROR.java b/src/eva2/tools/EVAERROR.java index 6dc2ebb8..6aa7dc59 100644 --- a/src/eva2/tools/EVAERROR.java +++ b/src/eva2/tools/EVAERROR.java @@ -52,7 +52,7 @@ public class EVAERROR { */ public static void errorMsgOnce(String message) { if (errorMap == null) { - errorMap = new HashMap(); + errorMap = new HashMap<>(); } if (!errorMap.containsKey(message)) { diff --git a/src/eva2/tools/EVAHELP.java b/src/eva2/tools/EVAHELP.java index 4b89c86e..782062db 100644 --- a/src/eva2/tools/EVAHELP.java +++ b/src/eva2/tools/EVAHELP.java @@ -19,7 +19,7 @@ public class EVAHELP { * */ public static String getmyRUP() { - String Out = new String(); + String Out = ""; String HostName = ""; try { HostName = InetAddress.getLocalHost().getHostName(); @@ -75,7 +75,7 @@ public class EVAHELP { * */ public static String getSystemPropertyString() { - StringBuffer sBuf = new StringBuffer(); + StringBuilder sBuf = new StringBuilder(); Properties prop = System.getProperties(); Enumeration list = prop.propertyNames(); while (list.hasMoreElements()) { diff --git a/src/eva2/tools/JarResources.java b/src/eva2/tools/JarResources.java index 3bba8361..309150a5 100644 --- a/src/eva2/tools/JarResources.java +++ b/src/eva2/tools/JarResources.java @@ -131,7 +131,7 @@ public final class JarResources { * @param ze a ZipEntry */ private String dumpZipEntry(ZipEntry ze) { - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); if (ze.isDirectory()) { sb.append("d "); } else { diff --git a/src/eva2/tools/MultirunRefiner.java b/src/eva2/tools/MultirunRefiner.java index 0fea521d..59caf984 100644 --- a/src/eva2/tools/MultirunRefiner.java +++ b/src/eva2/tools/MultirunRefiner.java @@ -238,7 +238,7 @@ public class MultirunRefiner { double[] tmp; double[] mean = new double[3]; int numExp = 0, iteration = 0, lineCnt = 0; - ArrayList result = new ArrayList(); + ArrayList result = new ArrayList<>(); String line; String runHeader = "Fun.calls Best Mean Worst Solution"; String runFinalizer = " Best solution: "; diff --git a/src/eva2/tools/Pair.java b/src/eva2/tools/Pair.java index 58e5d890..15006514 100644 --- a/src/eva2/tools/Pair.java +++ b/src/eva2/tools/Pair.java @@ -48,7 +48,7 @@ public class Pair implements Serializable { */ @Override public Pair clone() { - return new Pair(head, tail); + return new Pair<>(head, tail); } /* diff --git a/src/eva2/tools/ReflectPackage.java b/src/eva2/tools/ReflectPackage.java index 7219c226..ca882c84 100644 --- a/src/eva2/tools/ReflectPackage.java +++ b/src/eva2/tools/ReflectPackage.java @@ -127,7 +127,7 @@ public class ReflectPackage { } public static ArrayList filterAssignableClasses(ArrayList classes, Class reqSuperCls) { - ArrayList assClasses = new ArrayList(); + ArrayList assClasses = new ArrayList<>(); for (Class aClass : classes) { if (reqSuperCls.isAssignableFrom(aClass)) { assClasses.add(aClass); @@ -322,7 +322,7 @@ public class ReflectPackage { public static ArrayList getValidCPEntries() { String[] pathElements = getClassPathElements(); File f; - ArrayList valids = new ArrayList(pathElements.length); + ArrayList valids = new ArrayList<>(pathElements.length); for (String pathElement : pathElements) { f = new File(pathElement); if (f.exists() && f.canRead()) { @@ -384,7 +384,7 @@ public class ReflectPackage { System.out.println("1: " + cld.getResource("/eva2/optimization")); System.out.println("2: " + cld.getResource("eva2/optimization")); - HashSet h = new HashSet(20); + HashSet h = new HashSet<>(20); for (int i = 0; i < 20; i++) { h.add("String " + (i % 10)); diff --git a/src/eva2/tools/StringSelection.java b/src/eva2/tools/StringSelection.java index d0c876c2..639cd929 100644 --- a/src/eva2/tools/StringSelection.java +++ b/src/eva2/tools/StringSelection.java @@ -183,7 +183,7 @@ public class StringSelection implements Serializable { */ public boolean isSelected(String str) { if (stringToIndexHash == null) { // for some time efficiency... - stringToIndexHash = new HashMap(2 * strObjects.length); + stringToIndexHash = new HashMap<>(2 * strObjects.length); for (int i = 0; i < strObjects.length; i++) { stringToIndexHash.put(strObjects[i], i); } @@ -209,7 +209,7 @@ public class StringSelection implements Serializable { */ public int stringToIndex(String str) { if (stringToIndexHash == null) { // for some time efficiency... - stringToIndexHash = new HashMap(2 * strObjects.length); + stringToIndexHash = new HashMap<>(2 * strObjects.length); for (int i = 0; i < strObjects.length; i++) { stringToIndexHash.put(strObjects[i], i); } @@ -298,7 +298,7 @@ public class StringSelection implements Serializable { * @return */ public String[] getSelected() { - ArrayList ret = new ArrayList(); + ArrayList ret = new ArrayList<>(); for (int i = 0; i < getLength(); i++) { if (isSelected(i)) { ret.add(getElement(i)); @@ -314,10 +314,10 @@ public class StringSelection implements Serializable { * @return */ public List> getSelectedWithIndex() { - ArrayList> ret = new ArrayList>(); + ArrayList> ret = new ArrayList<>(); for (int i = 0; i < getLength(); i++) { if (isSelected(i)) { - ret.add(new Pair(getElement(i), i)); + ret.add(new Pair<>(getElement(i), i)); } } return ret; @@ -330,7 +330,7 @@ public class StringSelection implements Serializable { * @return */ public Enum[] getSelectedEnum(Enum[] e) { - LinkedList selectedList = new LinkedList(); + LinkedList selectedList = new LinkedList<>(); for (int i = 0; i < e.length; i++) { if (isSelected(e[i])) { selectedList.add(i); diff --git a/src/eva2/tools/StringTools.java b/src/eva2/tools/StringTools.java index e6260e86..4fae35ca 100644 --- a/src/eva2/tools/StringTools.java +++ b/src/eva2/tools/StringTools.java @@ -126,7 +126,7 @@ public final class StringTools { * @return */ public static Integer[] parseArguments(String[] args, String[] keys, int[] arities, Object[] values, boolean ignoreCase) { - LinkedList unrecogs = new LinkedList(); + LinkedList unrecogs = new LinkedList<>(); //for (String string : argsArr) args.add(string); // create a linked list copy for (int i = 0; i < args.length; i++) { // loop all arguments boolean found = false; @@ -190,7 +190,7 @@ public final class StringTools { } } } - HashMap map = new HashMap(); + HashMap map = new HashMap<>(); for (int i = 0; i < keys.length; i++) { map.put(keys[i], values[i]); } @@ -410,7 +410,7 @@ public final class StringTools { public static String humaniseCamelCase(final String word) { Pattern pattern = Pattern.compile("([A-Z]|[a-z])[a-z]*"); - List tokens = new ArrayList(); + List tokens = new ArrayList<>(); Matcher matcher = pattern.matcher(word); String acronym = ""; while (matcher.find()) { diff --git a/src/eva2/tools/ToolBox.java b/src/eva2/tools/ToolBox.java index 14100fd5..7e369657 100644 --- a/src/eva2/tools/ToolBox.java +++ b/src/eva2/tools/ToolBox.java @@ -32,9 +32,7 @@ public final class ToolBox { ret[i] = fields[i].toString(); } - for (int i = enumLen; i < ret.length; i++) { - ret[i] = additionals[i - enumLen]; - } + System.arraycopy(additionals, enumLen - enumLen, ret, enumLen, ret.length - enumLen); return ret; } @@ -89,7 +87,7 @@ public final class ToolBox { * @see BeanInspector.toString(Object) */ public static Double[] parseDoubles(List l) { - ArrayList vals = new ArrayList(); + ArrayList vals = new ArrayList<>(); for (Object o : l) { vals.add(toDouble(o)); // null if unsuccessfull } @@ -151,7 +149,7 @@ public final class ToolBox { if (i >= dat[0].length) { System.err.println("Error, invalid column index " + i + " for data array with " + dat[0].length + " columns!"); } - ArrayList matching = new ArrayList(5); + ArrayList matching = new ArrayList<>(5); for (double[] row : dat) { if (row[i] <= upper && row[i] >= lower) { matching.add(row); diff --git a/src/eva2/tools/URLGetter.java b/src/eva2/tools/URLGetter.java index 32a70fe9..40620d25 100644 --- a/src/eva2/tools/URLGetter.java +++ b/src/eva2/tools/URLGetter.java @@ -26,7 +26,7 @@ public class URLGetter { "www-cache.informatik.uni-tuebingen.de"); System.getProperties().put("proxyPort", "3128"); - StringBuffer res = new StringBuffer(); + StringBuilder res = new StringBuilder(); try { URL url = new URL(urlstr); URLConnection conn = url.openConnection(); diff --git a/src/eva2/tools/chart2d/DContainer.java b/src/eva2/tools/chart2d/DContainer.java index 7350b66d..8d965d3d 100644 --- a/src/eva2/tools/chart2d/DContainer.java +++ b/src/eva2/tools/chart2d/DContainer.java @@ -36,8 +36,8 @@ public class DContainer extends DComponent implements DParent { public DContainer(int initial_capacity) { super(); - elements = new Vector(initial_capacity); - keys = new Vector(initial_capacity); + elements = new Vector<>(initial_capacity); + keys = new Vector<>(initial_capacity); } @Override diff --git a/src/eva2/tools/chart2d/DPointSet.java b/src/eva2/tools/chart2d/DPointSet.java index e2c38a69..5fb210d2 100644 --- a/src/eva2/tools/chart2d/DPointSet.java +++ b/src/eva2/tools/chart2d/DPointSet.java @@ -338,7 +338,7 @@ public class DPointSet extends DComponent { */ class JumpManager { - protected ArrayList jumps = new ArrayList(); + protected ArrayList jumps = new ArrayList<>(); protected int index = -1; public void addJump() { diff --git a/src/eva2/tools/math/BayNet.java b/src/eva2/tools/math/BayNet.java index c32f6be0..89114b23 100644 --- a/src/eva2/tools/math/BayNet.java +++ b/src/eva2/tools/math/BayNet.java @@ -15,7 +15,7 @@ public class BayNet { private boolean[][] network = null; private int dimension = 3; private BayNode[] nodes = null; - private List rootNodes = new LinkedList(); + private List rootNodes = new LinkedList<>(); private double upperProbLimit = 0.9; private double lowerProbLimit = 0.1; private BOAScoringMethods scoringMethod = BOAScoringMethods.BDM; @@ -36,7 +36,7 @@ public class BayNet { for (int i = 0; i < this.nodes.length; i++) { this.nodes[i] = (BayNode) b.nodes[i].clone(); } - this.rootNodes = new LinkedList(); + this.rootNodes = new LinkedList<>(); for (Integer node : b.rootNodes) { this.rootNodes.add(node); } @@ -104,7 +104,7 @@ public class BayNet { // } // } // return result; - LinkedList result = new LinkedList(); + LinkedList result = new LinkedList<>(); for (Integer i : this.rootNodes) { result.add(this.nodes[i]); } @@ -137,7 +137,7 @@ public class BayNet { // } // return result; List ids = n.getChildren(); - List result = new ArrayList(); + List result = new ArrayList<>(); for (int i : ids) { result.add(this.nodes[i]); } @@ -163,7 +163,7 @@ public class BayNet { // } // return result; List ids = n.getParents(); - List result = new LinkedList(); + List result = new LinkedList<>(); for (int i : ids) { result.add(this.nodes[i]); } @@ -177,7 +177,7 @@ public class BayNet { * @return the children of the nodes */ public List getChildren(List n) { - ArrayList result = new ArrayList(); + ArrayList result = new ArrayList<>(); for (BayNode node : n) { List children = getChildren(node); for (BayNode nod : children) { @@ -284,10 +284,10 @@ public class BayNet { private List removeDuplicate(List nodes) { //Create a HashSet which allows no duplicates - HashSet hashSet = new HashSet(nodes); + HashSet hashSet = new HashSet<>(nodes); //Assign the HashSet to a new ArrayList - ArrayList arrayList2 = new ArrayList(hashSet); + ArrayList arrayList2 = new ArrayList<>(hashSet); return arrayList2; } @@ -467,7 +467,7 @@ public class BayNet { * @return is the net acyclic */ public boolean isACyclic() { - List> deletedEdges = new LinkedList>(); + List> deletedEdges = new LinkedList<>(); List nodes = getRootNodes(); boolean res = false; for (int i = 0; i <= this.dimension; i++) { @@ -476,7 +476,7 @@ public class BayNet { for (int j = 0; j < this.dimension; j++) { if (this.network[id][j]) { this.network[id][j] = false; - deletedEdges.add(new Pair(id, j)); + deletedEdges.add(new Pair<>(id, j)); } } } @@ -1053,7 +1053,7 @@ public class BayNet { line = line + ": " + pTable[j]; result += line; } - Pair p = new Pair(); + Pair p = new Pair<>(); p.setHead(length); p.setTail(result); return p; diff --git a/src/eva2/tools/math/BayNode.java b/src/eva2/tools/math/BayNode.java index f4303003..7bf3c406 100644 --- a/src/eva2/tools/math/BayNode.java +++ b/src/eva2/tools/math/BayNode.java @@ -9,8 +9,8 @@ public class BayNode { private int numberOfParents = 0; private double[] pTable = {0.5}; private boolean calculated = false; - private List parents = new LinkedList(); - private List children = new LinkedList(); + private List parents = new LinkedList<>(); + private List children = new LinkedList<>(); public BayNode(int id) { this.id = id; @@ -20,8 +20,8 @@ public class BayNode { this.id = b.id; this.numberOfParents = b.numberOfParents; this.pTable = b.pTable.clone(); - this.parents = new LinkedList(); - this.children = new LinkedList(); + this.parents = new LinkedList<>(); + this.children = new LinkedList<>(); for (int i : b.parents) { this.parents.add(i); } diff --git a/src/eva2/tools/math/Jama/EigenvalueDecomposition.java b/src/eva2/tools/math/Jama/EigenvalueDecomposition.java index 0c7b31f4..5be55a0c 100644 --- a/src/eva2/tools/math/Jama/EigenvalueDecomposition.java +++ b/src/eva2/tools/math/Jama/EigenvalueDecomposition.java @@ -81,9 +81,7 @@ public class EigenvalueDecomposition implements java.io.Serializable { // Auto. Comp., Vol.ii-Linear Algebra, and the corresponding // Fortran subroutine in EISPACK. - for (int j = 0; j < n; j++) { - d[j] = V[n - 1][j]; - } + System.arraycopy(V[n - 1], 0, d, 0, n); // Householder reduction to tridiagonal form. @@ -198,9 +196,7 @@ public class EigenvalueDecomposition implements java.io.Serializable { // Auto. Comp., Vol.ii-Linear Algebra, and the corresponding // Fortran subroutine in EISPACK. - for (int i = 1; i < n; i++) { - e[i - 1] = e[i]; - } + System.arraycopy(e, 1, e, 0, n - 1); e[n - 1] = 0.0; double f = 0.0; @@ -846,9 +842,7 @@ public class EigenvalueDecomposition implements java.io.Serializable { for (int i = 0; i < nn; i++) { if (i < low | i > high) { - for (int j = i; j < nn; j++) { - V[i][j] = H[i][j]; - } + System.arraycopy(H[i], i, V[i], i, nn - i); } } @@ -893,9 +887,7 @@ public class EigenvalueDecomposition implements java.io.Serializable { if (issymmetric) { for (int i = 0; i < n; i++) { - for (int j = 0; j < n; j++) { - V[i][j] = A[i][j]; - } + System.arraycopy(A[i], 0, V[i], 0, n); } // Tridiagonalize. diff --git a/src/eva2/tools/math/Jama/LUDecomposition.java b/src/eva2/tools/math/Jama/LUDecomposition.java index 1c08531c..9b02d698 100644 --- a/src/eva2/tools/math/Jama/LUDecomposition.java +++ b/src/eva2/tools/math/Jama/LUDecomposition.java @@ -260,9 +260,7 @@ public class LUDecomposition implements java.io.Serializable { public int[] getPivot() { int[] p = new int[m]; - for (int i = 0; i < m; i++) { - p[i] = piv[i]; - } + System.arraycopy(piv, 0, p, 0, m); return p; } diff --git a/src/eva2/tools/math/Jama/Matrix.java b/src/eva2/tools/math/Jama/Matrix.java index 6ec2c52f..6ce8d6c3 100644 --- a/src/eva2/tools/math/Jama/Matrix.java +++ b/src/eva2/tools/math/Jama/Matrix.java @@ -235,9 +235,7 @@ public class Matrix implements Cloneable, Serializable { throw new IllegalArgumentException ("All rows must have the same length."); } - for (int j = 0; j < n; j++) { - C[i][j] = A[i][j]; - } + System.arraycopy(A[i], 0, C[i], 0, n); } return X; } @@ -250,9 +248,7 @@ public class Matrix implements Cloneable, Serializable { Matrix X = new Matrix(m, n); double[][] C = X.getArray(); for (int i = 0; i < m; i++) { - for (int j = 0; j < n; j++) { - C[i][j] = A[i][j]; - } + System.arraycopy(A[i], 0, C[i], 0, n); } return X; } @@ -362,9 +358,7 @@ public class Matrix implements Cloneable, Serializable { public double[] getRowPackedCopy() { double[] vals = new double[m * n]; for (int i = 0; i < m; i++) { - for (int j = 0; j < n; j++) { - vals[i * n + j] = A[i][j]; - } + System.arraycopy(A[i], 0, vals, i * n + 0, n); } return vals; } @@ -417,9 +411,7 @@ public class Matrix implements Cloneable, Serializable { double[][] B = X.getArray(); try { for (int i = i0; i <= i1; i++) { - for (int j = j0; j <= j1; j++) { - B[i - i0][j - j0] = A[i][j]; - } + System.arraycopy(A[i], j0, B[i - i0], j0 - j0, j1 + 1 - j0); } } catch (ArrayIndexOutOfBoundsException e) { throw new ArrayIndexOutOfBoundsException("Submatrix indices"); @@ -491,9 +483,7 @@ public class Matrix implements Cloneable, Serializable { double[][] B = X.getArray(); try { for (int i = 0; i < r.length; i++) { - for (int j = j0; j <= j1; j++) { - B[i][j - j0] = A[r[i]][j]; - } + System.arraycopy(A[r[i]], j0, B[i], j0 - j0, j1 + 1 - j0); } } catch (ArrayIndexOutOfBoundsException e) { throw new ArrayIndexOutOfBoundsException("Submatrix indices"); @@ -996,7 +986,7 @@ public class Matrix implements Cloneable, Serializable { @Override public String toString() { - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); for (int i = 0; i < m; i++) { sb.append(BeanInspector.toString(A[i])); sb.append("\n"); @@ -1252,7 +1242,7 @@ public class Matrix implements Cloneable, Serializable { } double v = get(0, 0); - Pair ret = new Pair(v, v); + Pair ret = new Pair<>(v, v); for (int i = 1; i < Math.min(m, n); i++) { v = get(i, i); ret.head = Math.min(ret.head, v); @@ -1366,7 +1356,7 @@ public class Matrix implements Cloneable, Serializable { tokenizer.wordChars(0, 255); tokenizer.whitespaceChars(0, ' '); tokenizer.eolIsSignificant(true); - Vector v = new Vector(); + Vector v = new Vector<>(); // Ignore initial empty lines while (tokenizer.nextToken() == StreamTokenizer.TT_EOL) ; diff --git a/src/eva2/tools/math/RNG.java b/src/eva2/tools/math/RNG.java index aaff37e9..48f0b156 100644 --- a/src/eva2/tools/math/RNG.java +++ b/src/eva2/tools/math/RNG.java @@ -115,7 +115,7 @@ public class RNG { * @return The permutation [0-length-1] */ public static int[] randomPerm(int length) { - ArrayList intList = new ArrayList(length); + ArrayList intList = new ArrayList<>(length); int[] result = new int[length]; for (int i = 0; i < length; i++) { intList.add(new Integer(i)); diff --git a/src/eva2/tools/math/StatisticUtils.java b/src/eva2/tools/math/StatisticUtils.java index e2243a46..65e363d9 100644 --- a/src/eva2/tools/math/StatisticUtils.java +++ b/src/eva2/tools/math/StatisticUtils.java @@ -509,7 +509,7 @@ public class StatisticUtils { // Pre-allocate memory Matrix X = new Matrix(samples, dim); - ArrayList indices = new ArrayList(samples); + ArrayList indices = new ArrayList<>(samples); for (int i = 0; i < samples; ++i) { indices.add(i); } @@ -574,7 +574,7 @@ public class StatisticUtils { * @return */ public static ArrayList rlhPoints(int samples, int dim, double lb, double ub, boolean edges) { - ArrayList samplePoints = new ArrayList(samples); + ArrayList samplePoints = new ArrayList<>(samples); Matrix p = rlh(samples, dim, lb, ub, edges); for (int i = 0; i < samples; ++i) { diff --git a/src/eva2/tools/math/interpolation/BasicDataSet.java b/src/eva2/tools/math/interpolation/BasicDataSet.java index 2512d8d2..ccb43fc9 100644 --- a/src/eva2/tools/math/interpolation/BasicDataSet.java +++ b/src/eva2/tools/math/interpolation/BasicDataSet.java @@ -59,6 +59,6 @@ public class BasicDataSet extends AbstractDataSet { } public String getAdditionalInformation(String parm1) { - return new String(); + return ""; } } diff --git a/src/eva2/tools/math/interpolation/LinearInterpolation.java b/src/eva2/tools/math/interpolation/LinearInterpolation.java index 0b6af8e6..e830f555 100644 --- a/src/eva2/tools/math/interpolation/LinearInterpolation.java +++ b/src/eva2/tools/math/interpolation/LinearInterpolation.java @@ -454,7 +454,7 @@ public class LinearInterpolation { @Override public String toString() { - StringBuffer sb = new StringBuffer(1000); + StringBuilder sb = new StringBuilder(1000); sb.append("Regression Statistics for " + yName + " = a + b*" + xName); sb.append(""); diff --git a/src/eva2/tools/math/interpolation/PolyInterpolation.java b/src/eva2/tools/math/interpolation/PolyInterpolation.java index cd823490..b94dde04 100644 --- a/src/eva2/tools/math/interpolation/PolyInterpolation.java +++ b/src/eva2/tools/math/interpolation/PolyInterpolation.java @@ -250,7 +250,7 @@ public class PolyInterpolation { PolynomialInterpolationResult result = new PolynomialInterpolationResult(); - dif = Math.abs(x - xa[01 - 1]); + dif = Math.abs(x - xa[0]); for (i = 1; i <= xa.length; i++) { if ((dift = Math.abs(x - xa[i - 1])) < dif) { ns = i; diff --git a/test/eva2/tools/StringToolsTest.java b/test/eva2/tools/StringToolsTest.java index ff3f2693..daf3b350 100644 --- a/test/eva2/tools/StringToolsTest.java +++ b/test/eva2/tools/StringToolsTest.java @@ -30,7 +30,7 @@ public class StringToolsTest { */ @Test public void testHumaniseCamelCase() { - HashMap map = new HashMap(); + HashMap map = new HashMap<>(); map.put("camelCase", "Camel Case"); map.put("Camel Case", "Camel Case"); map.put("thisIsAwesome", "This Is Awesome"); @@ -38,14 +38,13 @@ public class StringToolsTest { map.put("iLikeABC", "I Like ABC"); String key, value; - Iterator iter = map.entrySet().iterator(); - while (iter.hasNext()) { - Map.Entry pairs = (Map.Entry) iter.next(); - key = (String) pairs.getKey(); - value = (String) pairs.getValue(); - String result = StringTools.humaniseCamelCase(key); - assertEquals(value, result); - } + for (Object o : map.entrySet()) { + Map.Entry pairs = (Map.Entry) o; + key = (String) pairs.getKey(); + value = (String) pairs.getValue(); + String result = StringTools.humaniseCamelCase(key); + assertEquals(value, result); + } } /**