From 7756ceac4e3fecdeaa14b77b1021f71f576f0dda Mon Sep 17 00:00:00 2001 From: Fabian Becker Date: Fri, 7 Nov 2014 23:43:17 +0100 Subject: [PATCH] Code cleanup through static analysis. --- src/eva2/OptimizerFactory.java | 4 +- src/eva2/OptimizerRunnable.java | 2 +- src/eva2/cli/OptimizationBuilder.java | 2 +- src/eva2/gui/BeanInspector.java | 2 +- src/eva2/gui/ExtDesktopManager.java | 4 +- src/eva2/gui/JExtMenu.java | 37 ++++++++++------- src/eva2/gui/JTextEditorInternalFrame.java | 8 ++-- src/eva2/gui/PropertySheetPanel.java | 1 - src/eva2/gui/PropertySlider.java | 6 +-- src/eva2/gui/editor/GenericAreaEditor.java | 2 +- src/eva2/gui/plot/GraphPointSetLegend.java | 2 +- src/eva2/optimization/enums/DEType.java | 41 ++++--------------- .../go/StandaloneOptimization.java | 12 +++--- .../individuals/AbstractEAIndividual.java | 2 +- .../codings/gp/AbstractGPNode.java | 2 +- .../individuals/codings/gp/GPArea.java | 6 +-- .../individuals/codings/gp/GPNodeAbs.java | 4 +- .../individuals/codings/gp/GPNodeConst.java | 2 +- .../individuals/codings/gp/GPNodeCos.java | 4 +- .../individuals/codings/gp/GPNodeDiv.java | 6 +-- .../individuals/codings/gp/GPNodeExp.java | 4 +- .../individuals/codings/gp/GPNodeInput.java | 2 +- .../individuals/codings/gp/GPNodeMult.java | 4 +- .../individuals/codings/gp/GPNodeNeg.java | 6 +-- .../individuals/codings/gp/GPNodePow2.java | 4 +- .../individuals/codings/gp/GPNodePow3.java | 4 +- .../individuals/codings/gp/GPNodeProd.java | 2 +- .../individuals/codings/gp/GPNodeSin.java | 4 +- .../individuals/codings/gp/GPNodeSqrt.java | 4 +- .../individuals/codings/gp/GPNodeSub.java | 6 +-- .../individuals/codings/gp/GPNodeSum.java | 2 +- .../mocco/MOCCOChooseReferenceSolution.java | 4 +- .../mocco/MOCCOParameterizeGDF.java | 2 +- .../mocco/MOCCOParameterizeSTEP.java | 8 ++-- src/eva2/optimization/mocco/MOCCOState.java | 15 ++++--- .../mocco/paretofrontviewer/MOCCOViewer.java | 16 ++++---- .../paretofrontviewer/ParetoFrontView2D.java | 11 +++-- .../ParetoFrontViewScatterPlot.java | 8 ++-- .../operator/archiving/AbstractArchiving.java | 8 ++-- .../archiving/ArchivingAllDominating.java | 8 ++-- .../operator/archiving/ArchivingMaxiMin.java | 5 +-- .../operator/archiving/ArchivingNSGA.java | 4 +- .../operator/archiving/ArchivingNSGAII.java | 11 +++-- .../archiving/ArchivingNSGAIISMeasure.java | 6 +-- .../operator/archiving/ArchivingPESAII.java | 22 +++++----- .../operator/archiving/ArchivingSPEAII.java | 30 +++++++------- ...oveSurplusIndividualsDynamicHyperCube.java | 3 +- .../RemoveSurplusIndividualsSMetric.java | 3 +- ...moveSurplusIndividualsStaticHyperCube.java | 9 ++-- .../cluster/ClusteringDensityBased.java | 4 +- .../cluster/ClusteringDynPeakIdent.java | 2 +- .../operator/cluster/ClusteringKMeans.java | 2 +- .../cluster/ClusteringNearestBetter.java | 2 +- .../operator/cluster/ClusteringXMeans.java | 3 +- .../crossover/CrossoverESArithmetical.java | 2 +- .../crossover/CrossoverESBLXAlpha.java | 2 +- .../crossover/CrossoverESDefault.java | 2 +- .../operator/crossover/CrossoverESFlat.java | 2 +- .../crossover/CrossoverESIntermediate.java | 2 +- .../crossover/CrossoverESNPointDiscrete.java | 2 +- .../CrossoverESNPointDiscreteDislocation.java | 2 +- .../operator/crossover/CrossoverESPCX.java | 2 +- .../operator/crossover/CrossoverESSBX.java | 2 +- .../operator/crossover/CrossoverESSPX.java | 2 +- .../operator/crossover/CrossoverESUNDX.java | 2 +- .../crossover/CrossoverESUniformDiscrete.java | 2 +- .../crossover/CrossoverGABitSimulated.java | 2 +- .../crossover/CrossoverGADefault.java | 4 +- .../crossover/CrossoverGAGINPoint.java | 2 +- .../crossover/CrossoverGAUniform.java | 2 +- .../crossover/CrossoverGIDefault.java | 2 +- .../operator/crossover/CrossoverGINPoint.java | 2 +- .../crossover/CrossoverGINPointVL.java | 2 +- .../crossover/CrossoverGIUniform.java | 2 +- .../crossover/CrossoverGPDefault.java | 2 +- .../operator/crossover/CrossoverOBGAPMX.java | 2 +- .../crossover/CrossoverOBGAPMXUniform.java | 2 +- .../operator/crossover/NoCrossover.java | 2 +- .../FitnessAdaptiveClustering.java | 5 +-- .../fitnessmodifier/FitnessSharing.java | 10 ++--- .../migration/MOClusteringSeparation.java | 2 +- .../operator/migration/MOConeSeparation.java | 32 +++++++-------- .../migration/MOXMeansSeparation.java | 2 +- .../moso/MOSODynamicallyWeightedFitness.java | 2 +- .../operator/moso/MOSOEpsilonConstraint.java | 2 +- .../operator/moso/MOSOEpsilonThreshold.java | 2 +- .../operator/moso/MOSOGoalProgramming.java | 2 +- .../operator/moso/MOSOLpMetric.java | 2 +- .../operator/moso/MOSOMOGARankBased.java | 6 +-- .../operator/moso/MOSOMaxiMin.java | 6 +-- .../operator/moso/MOSONoConvert.java | 2 +- .../operator/moso/MOSORandomChoice.java | 2 +- .../operator/moso/MOSORandomWeight.java | 2 +- .../operator/moso/MOSORankbased.java | 2 +- .../operator/moso/MOSOUtilityFunction.java | 2 +- .../operator/moso/MOSOWeightedFitness.java | 2 +- .../moso/MOSOWeightedLPTchebycheff.java | 2 +- .../operator/mutation/MutateDefault.java | 1 - .../MutateESCovarianceMatrixAdaptionPlus.java | 8 ++-- .../operator/mutation/MutateESGlobal.java | 8 ++-- .../operator/mutation/MutateESLocal.java | 6 +-- .../mutation/MutateESSuccessRule.java | 5 +-- .../StandardDeactivationStrategy.java | 2 +- .../StandardSubswarmCreationStrategy.java | 2 +- .../MetricD1ApproxParetoFront.java | 3 +- .../MetricD1TrueParetoFront.java | 3 +- .../paretofrontmetrics/MetricErrorRatio.java | 2 +- .../MetricMaximumParetoFrontError.java | 3 +- .../MetricOverallNonDominatedVectors.java | 5 +-- .../operator/paretofrontmetrics/MetricS.java | 6 +-- .../MetricSWithReference.java | 6 +-- .../operator/postprocess/PostProcess.java | 7 ++-- .../operator/selection/SelectAll.java | 2 +- .../operator/selection/SelectBestSingle.java | 20 ++++----- .../selection/SelectEPTournaments.java | 6 +-- .../selection/SelectHomologousMate.java | 2 +- .../SelectMOMAIIDominanceCounter.java | 6 +-- .../operator/selection/SelectMOMaxiMin.java | 4 +- .../SelectMONSGAIICrowedTournament.java | 24 +++++------ .../selection/SelectMONonDominated.java | 14 +++---- .../operator/selection/SelectMOPESA.java | 2 +- .../operator/selection/SelectMOPESAII.java | 6 +-- .../operator/selection/SelectMOSPEAII.java | 8 ++-- .../operator/selection/SelectRandom.java | 2 +- .../operator/selection/SelectTournament.java | 8 ++-- .../selection/SelectXProbRouletteWheel.java | 14 +++---- .../probability/AbstractSelProb.java | 12 +++--- .../probability/SelProbBoltzman.java | 17 ++++---- .../probability/SelProbFitnessSharing.java | 6 +-- .../probability/SelProbInvertByMax.java | 7 ++-- .../probability/SelProbLinearRanking.java | 13 +++--- .../probability/SelProbNonLinearRanking.java | 13 +++--- .../selection/probability/SelProbRanking.java | 9 ++-- .../probability/SelProbStandard.java | 13 +++--- .../probability/SelProbStandardScaling.java | 13 +++--- .../ReplaceDeterministicCrowding.java | 4 +- .../replacement/ReplacementCrowding.java | 4 +- .../population/PBILPopulation.java | 2 +- .../optimization/population/Population.java | 20 ++++----- .../statistics/EvAStatisticalEvaluation.java | 2 +- .../statistics/OptimizationJob.java | 1 - src/eva2/optimization/strategies/ANPSO.java | 4 +- .../AdaptiveDifferentialEvolution.java | 4 +- .../CHCAdaptiveSearchAlgorithm.java | 6 +-- .../strategies/ClusterBasedNichingEA.java | 6 +-- .../strategies/DifferentialEvolution.java | 36 ++++++++-------- .../DynamicParticleSwarmOptimization.java | 2 +- .../optimization/strategies/EsDpiNiching.java | 2 +- .../strategies/EvolutionStrategies.java | 2 +- .../strategies/EvolutionaryProgramming.java | 2 +- .../strategies/FloodAlgorithm.java | 4 +- .../strategies/GeneticAlgorithm.java | 2 +- .../strategies/GradientDescentAlgorithm.java | 18 ++++---- .../optimization/strategies/HillClimbing.java | 4 +- .../strategies/IslandModelEA.java | 2 +- .../strategies/MonteCarloSearch.java | 3 +- .../strategies/MultiObjectiveCMAES.java | 26 ++++++------ .../strategies/MultiObjectiveEA.java | 3 +- .../strategies/NelderMeadSimplex.java | 2 +- .../optimization/strategies/NichePSO.java | 24 +++++------ .../ParticleFilterOptimization.java | 2 +- .../ParticleSubSwarmOptimization.java | 20 ++++----- .../strategies/ParticleSwarmOptimization.java | 33 ++++++++------- .../strategies/SimulatedAnnealing.java | 6 +-- .../strategies/SteadyStateGA.java | 2 +- .../strategies/ThresholdAlgorithm.java | 4 +- .../strategies/WingedMultiObjectiveEA.java | 6 +-- .../strategies/tribes/TribesSwarm.java | 2 +- src/eva2/optimization/tools/DeNovofilter.java | 4 +- .../tools/ImpactOfDimensionOnMOEAs.java | 2 +- .../problems/AbstractDynTransProblem.java | 2 +- .../AbstractMultiModalProblemKnown.java | 2 +- ...ractMultiObjectiveOptimizationProblem.java | 20 ++++----- .../problems/AbstractOptimizationProblem.java | 4 +- src/eva2/problems/F22Problem.java | 1 - src/eva2/problems/F7Problem.java | 2 +- src/eva2/problems/GPFunctionProblem.java | 2 +- src/eva2/problems/PSymbolicRegression.java | 2 +- src/eva2/tools/EVAHELP.java | 4 +- src/eva2/tools/MultirunRefiner.java | 2 +- src/eva2/tools/StringSelection.java | 2 +- src/eva2/tools/math/Jama/Matrix.java | 4 +- src/eva2/tools/math/RNG.java | 2 +- src/eva2/tools/math/StatisticUtils.java | 2 +- 184 files changed, 534 insertions(+), 585 deletions(-) diff --git a/src/eva2/OptimizerFactory.java b/src/eva2/OptimizerFactory.java index 9fda3a73..90ffc9f8 100644 --- a/src/eva2/OptimizerFactory.java +++ b/src/eva2/OptimizerFactory.java @@ -102,7 +102,7 @@ public class OptimizerFactory { DifferentialEvolution de = new DifferentialEvolution(); de.setProblem(problem); de.getPopulation().setTargetSize(popsize); - de.setDEType(DEType.DE2_CurrentToBest); + de.setDEType(DEType.CurrentToBest); de.setDifferentialWeight(f); de.setCrossoverRate(CR); de.setLambda(lambda); @@ -1443,7 +1443,7 @@ public class OptimizerFactory { public static OptimizationParameters standardDE( AbstractOptimizationProblem problem) { DifferentialEvolution de = new DifferentialEvolution(); - de.setDEType(DEType.DE2_CurrentToBest); // this sets current-to-best + de.setDEType(DEType.CurrentToBest); // this sets current-to-best de.setDifferentialWeight(0.8); de.setCrossoverRate(0.6); de.setLambda(0.6); diff --git a/src/eva2/OptimizerRunnable.java b/src/eva2/OptimizerRunnable.java index 7e6c56bd..5710da26 100644 --- a/src/eva2/OptimizerRunnable.java +++ b/src/eva2/OptimizerRunnable.java @@ -264,7 +264,7 @@ public class OptimizerRunnable implements Runnable { * @param outp */ public void setOutputTo(InterfaceStatisticsParameters.OutputTo outp) { - ((StatisticsParameters) proc.getStatistics().getStatisticsParameter()).setOutputTo(outp); + proc.getStatistics().getStatisticsParameter().setOutputTo(outp); } /** diff --git a/src/eva2/cli/OptimizationBuilder.java b/src/eva2/cli/OptimizationBuilder.java index b1f4fe42..9a213768 100644 --- a/src/eva2/cli/OptimizationBuilder.java +++ b/src/eva2/cli/OptimizationBuilder.java @@ -72,7 +72,7 @@ public final class OptimizationBuilder { // Is the next a value? if (i < args.length - 1 && !args[i+1].startsWith("--")) { argumentMap.put(key, args[i + 1]); - i = i + 2; + i += 2; } else { argumentMap.put(key, null); i++; diff --git a/src/eva2/gui/BeanInspector.java b/src/eva2/gui/BeanInspector.java index 8a7b85b6..92a47167 100644 --- a/src/eva2/gui/BeanInspector.java +++ b/src/eva2/gui/BeanInspector.java @@ -386,7 +386,7 @@ public class BeanInspector { Object value = getter.invoke(obj, args); System.out.println("Inspecting name = " + name); if (value instanceof Integer) { - Object args2[] = {new Integer(999)}; + Object args2[] = {999}; setter.invoke(obj, args2); } showInfo(value); diff --git a/src/eva2/gui/ExtDesktopManager.java b/src/eva2/gui/ExtDesktopManager.java index d7adfb27..4427f8d5 100644 --- a/src/eva2/gui/ExtDesktopManager.java +++ b/src/eva2/gui/ExtDesktopManager.java @@ -44,13 +44,13 @@ public class ExtDesktopManager extends DefaultDesktopManager { public void closeFrame(JInternalFrame internalFrame) { LOGGER.log(Level.FINE, "Closing Internal Frame: {0}", internalFrame.getTitle()); super.closeFrame(internalFrame); - int index = ((Integer) internalFrame.getClientProperty(INDEX)).intValue() + WINDOW_LIST_START - 1; + int index = (Integer) internalFrame.getClientProperty(INDEX) + WINDOW_LIST_START - 1; int i; desktop.getWindowMenu().remove(index); for (i = index; i < Math.min(WINDOW_LIST_START + 9, desktop.getWindowMenu().getItemCount()); i++) { JMenuItem m = desktop.getWindowMenu().getItem(i); JInternalFrame frame = (JInternalFrame) m.getClientProperty(FRAME); - frame.putClientProperty(INDEX, new Integer(((Integer) frame.getClientProperty(INDEX)).intValue() - 1)); + frame.putClientProperty(INDEX, ((Integer) frame.getClientProperty(INDEX)).intValue() - 1); int winIndex = i - WINDOW_LIST_START + 1; m.setText((winIndex) + " " + frame.getTitle()); m.setMnemonic((char) (0x30 + winIndex)); diff --git a/src/eva2/gui/JExtMenu.java b/src/eva2/gui/JExtMenu.java index 8507d6a2..0952ea95 100644 --- a/src/eva2/gui/JExtMenu.java +++ b/src/eva2/gui/JExtMenu.java @@ -76,21 +76,28 @@ public class JExtMenu extends JMenu { return; } String propertyName = e.getPropertyName(); - if (propertyName.equals(Action.NAME)) { - menuItem.setText((String) e.getNewValue()); - } else if (propertyName.equals("enabled")) { - menuItem.setEnabled(((Boolean) e.getNewValue()).booleanValue()); - } else if (propertyName.equals(Action.SMALL_ICON)) { - Icon icon = (Icon) e.getNewValue(); - menuItem.setIcon(icon); - menuItem.invalidate(); - menuItem.repaint(); - } else if (propertyName.equals(ExtAction.MNEMONIC)) { - menuItem.setMnemonic(((Character) e.getNewValue()).charValue()); - } else if (propertyName.equals(ExtAction.TOOLTIP)) { - menuItem.setToolTipText((String) e.getNewValue()); - } else if (propertyName.equals(ExtAction.KEYSTROKE)) { - menuItem.setAccelerator((KeyStroke) e.getNewValue()); + switch (propertyName) { + case Action.NAME: + menuItem.setText((String) e.getNewValue()); + break; + case "enabled": + menuItem.setEnabled(((Boolean) e.getNewValue()).booleanValue()); + break; + case Action.SMALL_ICON: + Icon icon = (Icon) e.getNewValue(); + menuItem.setIcon(icon); + menuItem.invalidate(); + menuItem.repaint(); + break; + case ExtAction.MNEMONIC: + menuItem.setMnemonic(((Character) e.getNewValue()).charValue()); + break; + case ExtAction.TOOLTIP: + menuItem.setToolTipText((String) e.getNewValue()); + break; + case ExtAction.KEYSTROKE: + menuItem.setAccelerator((KeyStroke) e.getNewValue()); + break; } } }; diff --git a/src/eva2/gui/JTextEditorInternalFrame.java b/src/eva2/gui/JTextEditorInternalFrame.java index 0cd20aa0..ba2be0da 100644 --- a/src/eva2/gui/JTextEditorInternalFrame.java +++ b/src/eva2/gui/JTextEditorInternalFrame.java @@ -165,7 +165,7 @@ public class JTextEditorInternalFrame extends JDocFrame { } a.putValue(Action.SMALL_ICON, new ImageIcon("images/EditCut.gif")); a.putValue(ExtAction.CAPTION, "Ausschneiden"); - a.putValue(ExtAction.MNEMONIC, new Character('a')); + a.putValue(ExtAction.MNEMONIC, 'a'); a.putValue(ExtAction.TOOLTIP, "Schneidet den markierten Text aus und setzt ihn in die Zwischenablage"); mnuEdit.add(a); barEdit.add(a); @@ -177,7 +177,7 @@ public class JTextEditorInternalFrame extends JDocFrame { } a.putValue(Action.SMALL_ICON, new ImageIcon("images/EditCopy.gif")); a.putValue(ExtAction.CAPTION, "Kopieren"); - a.putValue(ExtAction.MNEMONIC, new Character('k')); + a.putValue(ExtAction.MNEMONIC, 'k'); a.putValue(ExtAction.TOOLTIP, "Kopiert den markierten Text in die Zwischenablage"); mnuEdit.add(a); barEdit.add(a); @@ -189,7 +189,7 @@ public class JTextEditorInternalFrame extends JDocFrame { } a.putValue(Action.SMALL_ICON, new ImageIcon("images/EditPaste.gif")); a.putValue(ExtAction.CAPTION, "Einf�gen"); - a.putValue(ExtAction.MNEMONIC, new Character('e')); + a.putValue(ExtAction.MNEMONIC, 'e'); a.putValue(ExtAction.TOOLTIP, "F�gt Text aus der Zwischenablage ein"); mnuEdit.add(a); barEdit.add(a); @@ -202,7 +202,7 @@ public class JTextEditorInternalFrame extends JDocFrame { a.putValue(ExtAction.KEYSTROKE, keyActions[0]); } a.putValue(ExtAction.CAPTION, "Alles markieren"); - a.putValue(ExtAction.MNEMONIC, new Character('m')); + a.putValue(ExtAction.MNEMONIC, 'm'); a.putValue(ExtAction.TOOLTIP, "Markiert das ganze Dokument"); mnuEdit.add(a); } diff --git a/src/eva2/gui/PropertySheetPanel.java b/src/eva2/gui/PropertySheetPanel.java index eabf7fca..7c8f3055 100644 --- a/src/eva2/gui/PropertySheetPanel.java +++ b/src/eva2/gui/PropertySheetPanel.java @@ -7,7 +7,6 @@ import eva2.util.annotation.Hidden; import eva2.util.annotation.Parameter; import javax.swing.*; -import javax.swing.plaf.InsetsUIResource; import javax.swing.table.DefaultTableModel; import javax.swing.table.TableCellEditor; import javax.swing.table.TableCellRenderer; diff --git a/src/eva2/gui/PropertySlider.java b/src/eva2/gui/PropertySlider.java index 0bd17a4b..153a9e21 100644 --- a/src/eva2/gui/PropertySlider.java +++ b/src/eva2/gui/PropertySlider.java @@ -32,7 +32,7 @@ class PropertySlider extends JPanel { //s.getAccessibleContext().setAccessibleName(getString("SliderDemo.plain")); //s.getAccessibleContext().setAccessibleDescription(getString("SliderDemo.a_plain_slider")); slider.addChangeListener(new SliderListener()); - slider.setValue(((Integer) propertyEditor.getValue()).intValue()); + slider.setValue((Integer) propertyEditor.getValue()); slider.setPaintTicks(true); slider.setMajorTickSpacing(20); slider.setMinorTickSpacing(5); @@ -68,7 +68,7 @@ class PropertySlider extends JPanel { protected void updateUs() { try { //String x = editor.getAsText(); - slider.setValue(((Integer) propertyEditor.getValue()).intValue()); + slider.setValue((Integer) propertyEditor.getValue()); } catch (IllegalArgumentException ex) { } } @@ -78,7 +78,7 @@ class PropertySlider extends JPanel { */ protected void updateEditor() { try { - propertyEditor.setValue(new Integer(slider.getValue())); + propertyEditor.setValue(slider.getValue()); } catch (IllegalArgumentException ex) { } } diff --git a/src/eva2/gui/editor/GenericAreaEditor.java b/src/eva2/gui/editor/GenericAreaEditor.java index 0c091966..32fa5a43 100644 --- a/src/eva2/gui/editor/GenericAreaEditor.java +++ b/src/eva2/gui/editor/GenericAreaEditor.java @@ -29,7 +29,7 @@ public class GenericAreaEditor extends AbstractListSelectionEditor { @Override protected boolean isElementSelected(int i) { - return areaObject.getBlackList().get(i).booleanValue(); + return areaObject.getBlackList().get(i); } @Override diff --git a/src/eva2/gui/plot/GraphPointSetLegend.java b/src/eva2/gui/plot/GraphPointSetLegend.java index 032afe6b..af7f2ac9 100644 --- a/src/eva2/gui/plot/GraphPointSetLegend.java +++ b/src/eva2/gui/plot/GraphPointSetLegend.java @@ -35,7 +35,7 @@ public class GraphPointSetLegend { int comp = o1.car().compareTo(o2.car()); // Same text; let us see if the color is also identical. return comp == 0 ? comp = Integer.valueOf(o1.cdr().getRGB()) - .compareTo(Integer.valueOf(o2.cdr().getRGB())) : comp; + .compareTo(o2.cdr().getRGB()) : comp; } } diff --git a/src/eva2/optimization/enums/DEType.java b/src/eva2/optimization/enums/DEType.java index e9dd1598..c64855d9 100644 --- a/src/eva2/optimization/enums/DEType.java +++ b/src/eva2/optimization/enums/DEType.java @@ -1,52 +1,25 @@ package eva2.optimization.enums; public enum DEType { - DE1_Rand_1, DE2_CurrentToBest, DE_Best_1, DE_Best_2, TrigonometricDE, DE_CurrentToRand; - //", "DE2 - DE/current-to-best/1", "DE/best/2", "Trigonometric DE"}; + RandOne, CurrentToBest, BestOne, BestTwo, Trigonometric, CurrentToRand; @Override public String toString() { switch(this) { - case DE1_Rand_1: + case RandOne: return "DE/rand/1"; - case DE2_CurrentToBest: + case CurrentToBest: return "DE/current-to-best/1"; - case DE_Best_1: + case BestOne: return "DE/best/1"; - case DE_Best_2: + case BestTwo: return "DE/best/2"; - case TrigonometricDE: + case Trigonometric: return this.name(); - case DE_CurrentToRand: + case CurrentToRand: return "DE/current-to-rand"; default: return this.name(); } } - - /** - * A method to translate the "old" integer tags into the enum type. - * - * @param id - * @return - */ - public static DEType getFromId(int id) { - switch (id) { - case 0: - return DE1_Rand_1; - case 1: - return DE2_CurrentToBest; - case 2: - return DE_Best_1; - case 3: - return DE_Best_2; - case 4: - return TrigonometricDE; - case 5: - return DE_CurrentToRand; - default: - System.err.println("Error: invalid old DEType ID in DEType getFromId! Using DE_Best_1."); - return DE_Best_1; - } - } } diff --git a/src/eva2/optimization/go/StandaloneOptimization.java b/src/eva2/optimization/go/StandaloneOptimization.java index 0094a952..d708ff30 100644 --- a/src/eva2/optimization/go/StandaloneOptimization.java +++ b/src/eva2/optimization/go/StandaloneOptimization.java @@ -476,8 +476,8 @@ public class StandaloneOptimization implements InterfaceStandaloneOptimization, singleRun = (ArrayList) multiRuns.get(j); for (int p = 0; p < data.length; p++) { tmpD = (Double[]) singleRun.get(p); - data[p][0] = tmpD[0].doubleValue(); - data[p][1] += tmpD[1].doubleValue() / multiRuns.size(); + data[p][0] = tmpD[0]; + data[p][1] += tmpD[1] / multiRuns.size(); } } // Second run to determine variance @@ -485,7 +485,7 @@ public class StandaloneOptimization implements InterfaceStandaloneOptimization, singleRun = (ArrayList) multiRuns.get(j); for (int p = 0; p < data.length; p++) { tmpD = (Double[]) singleRun.get(p); - data[p][2] += Math.pow(data[p][1] - tmpD[1].doubleValue(), 2) / multiRuns.size(); + data[p][2] += Math.pow(data[p][1] - tmpD[1], 2) / multiRuns.size(); } } // Now enter this stuff into the graph @@ -564,7 +564,7 @@ public class StandaloneOptimization implements InterfaceStandaloneOptimization, tmpLine.append(population.getBestEAIndividual().getFitness(0)); tmpLine.append("\t"); for (int i = 0; i < population.size(); i++) { - tmpd += ((AbstractEAIndividual) population.get(i)).getFitness(0) / (double) population.size(); + tmpd += population.get(i).getFitness(0) / (double) population.size(); } tmpLine.append("\t"); tmpLine.append(tmpd); @@ -575,12 +575,12 @@ public class StandaloneOptimization implements InterfaceStandaloneOptimization, this.writeToFile(tmpLine.toString()); Double[] tmpData = new Double[2]; - tmpData[0] = new Double(population.getFunctionCalls()); + tmpData[0] = (double) population.getFunctionCalls(); // instead of adding simply the best fitness value i'll ask the problem what to show tmpData[1] = this.optimizationParameters.getProblem().getDoublePlotValue(population); if (this.plot != null) { if (this.continueFlag) { - this.plot.setConnectedPoint(tmpData[0].doubleValue() + this.recentFunctionCalls, tmpData[1].doubleValue(), 1000 + this.currentRun); + this.plot.setConnectedPoint(tmpData[0] + this.recentFunctionCalls, tmpData[1].doubleValue(), 1000 + this.currentRun); } else { this.plot.setConnectedPoint(tmpData[0].doubleValue(), tmpData[1].doubleValue(), 1000 + this.currentRun); } diff --git a/src/eva2/optimization/individuals/AbstractEAIndividual.java b/src/eva2/optimization/individuals/AbstractEAIndividual.java index 7466e444..f65b3478 100644 --- a/src/eva2/optimization/individuals/AbstractEAIndividual.java +++ b/src/eva2/optimization/individuals/AbstractEAIndividual.java @@ -323,7 +323,7 @@ public abstract class AbstractEAIndividual implements IndividualInterface, java. result = new AbstractEAIndividual[partners.size() + 1]; result[0] = (AbstractEAIndividual) this.clone(); for (int i = 0; i < partners.size(); i++) { - result[i + 1] = (AbstractEAIndividual) ((AbstractEAIndividual) partners.get(i)).clone(); + result[i + 1] = (AbstractEAIndividual) partners.get(i).clone(); } if (logParents) { result[0].setParent(this); diff --git a/src/eva2/optimization/individuals/codings/gp/AbstractGPNode.java b/src/eva2/optimization/individuals/codings/gp/AbstractGPNode.java index 7652e043..08be86af 100644 --- a/src/eva2/optimization/individuals/codings/gp/AbstractGPNode.java +++ b/src/eva2/optimization/individuals/codings/gp/AbstractGPNode.java @@ -123,7 +123,7 @@ public abstract class AbstractGPNode implements InterfaceProgram, java.io.Serial // try to read constant Pair nextState = readDouble(str, true); if (nextState != null) { - return new Pair(new GPNodeConst(nextState.head().doubleValue()), nextState.tail()); + return new Pair(new GPNodeConst(nextState.head()), nextState.tail()); } else { System.err.println("String has unknown prefix: " + str); } diff --git a/src/eva2/optimization/individuals/codings/gp/GPArea.java b/src/eva2/optimization/individuals/codings/gp/GPArea.java index 3839bdc6..f9d2ee87 100644 --- a/src/eva2/optimization/individuals/codings/gp/GPArea.java +++ b/src/eva2/optimization/individuals/codings/gp/GPArea.java @@ -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(Boolean.valueOf(b)); + this.blackList.add(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, Boolean.valueOf(b)); + this.blackList.set(i, b); } /** @@ -126,7 +126,7 @@ public class GPArea implements java.io.Serializable { public void compileReducedList() { this.reducedList = new ArrayList<>(); for (int i = 0; i < this.completeList.size(); i++) { - if (this.blackList.get(i).booleanValue()) { + if (this.blackList.get(i)) { this.reducedList.add(this.completeList.get(i)); } } diff --git a/src/eva2/optimization/individuals/codings/gp/GPNodeAbs.java b/src/eva2/optimization/individuals/codings/gp/GPNodeAbs.java index c9c5a152..5b4df5de 100644 --- a/src/eva2/optimization/individuals/codings/gp/GPNodeAbs.java +++ b/src/eva2/optimization/individuals/codings/gp/GPNodeAbs.java @@ -57,9 +57,9 @@ public class GPNodeAbs extends AbstractGPNode implements java.io.Serializable { tmpObj = this.nodes[0].evaluate(environment); if (tmpObj instanceof Double) { - result += ((Double) tmpObj).doubleValue(); + result += (Double) tmpObj; } - Double ret = new Double(result); + Double ret = result; if (ret < 0) { return -ret; diff --git a/src/eva2/optimization/individuals/codings/gp/GPNodeConst.java b/src/eva2/optimization/individuals/codings/gp/GPNodeConst.java index 54770ddc..7d6cdae6 100644 --- a/src/eva2/optimization/individuals/codings/gp/GPNodeConst.java +++ b/src/eva2/optimization/individuals/codings/gp/GPNodeConst.java @@ -57,7 +57,7 @@ public class GPNodeConst extends AbstractGPNode implements java.io.Serializable */ @Override public Object evaluate(InterfaceProgramProblem environment) { - return new Double(value); + return value; } @Override diff --git a/src/eva2/optimization/individuals/codings/gp/GPNodeCos.java b/src/eva2/optimization/individuals/codings/gp/GPNodeCos.java index b2cd2d43..17b6ac12 100644 --- a/src/eva2/optimization/individuals/codings/gp/GPNodeCos.java +++ b/src/eva2/optimization/individuals/codings/gp/GPNodeCos.java @@ -56,9 +56,9 @@ public class GPNodeCos extends AbstractGPNode implements java.io.Serializable { tmpObj = this.nodes[0].evaluate(environment); if (tmpObj instanceof Double) { - result = Math.sin(((Double) tmpObj).doubleValue()); + result = Math.sin((Double) tmpObj); } - return new Double(result); + return result; } @Override diff --git a/src/eva2/optimization/individuals/codings/gp/GPNodeDiv.java b/src/eva2/optimization/individuals/codings/gp/GPNodeDiv.java index 6f9797dc..d0b41113 100644 --- a/src/eva2/optimization/individuals/codings/gp/GPNodeDiv.java +++ b/src/eva2/optimization/individuals/codings/gp/GPNodeDiv.java @@ -64,12 +64,12 @@ public class GPNodeDiv extends AbstractGPNode implements java.io.Serializable { tmpObj = this.nodes[0].evaluate(environment); if (tmpObj instanceof Double) { - result = ((Double) tmpObj).doubleValue(); + result = (Double) tmpObj; } for (int i = 1; i < this.nodes.length; i++) { tmpObj = this.nodes[i].evaluate(environment); if (tmpObj instanceof Double) { - tmpValue = ((Double) tmpObj).doubleValue(); + tmpValue = (Double) tmpObj; } if (Math.abs(tmpValue) < this.lowerBorderForSec) { if (tmpValue < 0) { @@ -80,7 +80,7 @@ public class GPNodeDiv extends AbstractGPNode implements java.io.Serializable { } result /= tmpValue; } - return new Double(result); + return result; } @Override diff --git a/src/eva2/optimization/individuals/codings/gp/GPNodeExp.java b/src/eva2/optimization/individuals/codings/gp/GPNodeExp.java index dce231b4..4d9e8b37 100644 --- a/src/eva2/optimization/individuals/codings/gp/GPNodeExp.java +++ b/src/eva2/optimization/individuals/codings/gp/GPNodeExp.java @@ -56,9 +56,9 @@ public class GPNodeExp extends AbstractGPNode implements java.io.Serializable { tmpObj = this.nodes[0].evaluate(environment); if (tmpObj instanceof Double) { - result = Math.exp(((Double) tmpObj).doubleValue()); + result = Math.exp((Double) tmpObj); } - return new Double(result); + return result; } @Override diff --git a/src/eva2/optimization/individuals/codings/gp/GPNodeInput.java b/src/eva2/optimization/individuals/codings/gp/GPNodeInput.java index 4c6e9fac..841a8b1f 100644 --- a/src/eva2/optimization/individuals/codings/gp/GPNodeInput.java +++ b/src/eva2/optimization/individuals/codings/gp/GPNodeInput.java @@ -96,7 +96,7 @@ public class GPNodeInput extends AbstractGPNode implements java.io.Serializable return this.identifier; } else { if (this.lastValue instanceof Double) { - double tmpD = ((Double) this.lastValue).doubleValue(); + double tmpD = (Double) this.lastValue; tmpD = ((long) (tmpD * 10000.0 + ((tmpD >= 0.0) ? 0.5 : -0.5))) / 10000.0; return ("S:" + this.identifier + " = " + tmpD); } else { diff --git a/src/eva2/optimization/individuals/codings/gp/GPNodeMult.java b/src/eva2/optimization/individuals/codings/gp/GPNodeMult.java index 00fead4f..973dc282 100644 --- a/src/eva2/optimization/individuals/codings/gp/GPNodeMult.java +++ b/src/eva2/optimization/individuals/codings/gp/GPNodeMult.java @@ -58,12 +58,12 @@ public class GPNodeMult extends AbstractGPNode implements java.io.Serializable { for (int i = 0; i < this.nodes.length; i++) { tmpObj = this.nodes[i].evaluate(environment); if (tmpObj instanceof Double) { - result *= ((Double) tmpObj).doubleValue(); + result *= (Double) tmpObj; } else { System.err.println("Unexpected type returned in evaluate for " + this.getClass().getSimpleName()); } } - return new Double(result); + return result; } @Override diff --git a/src/eva2/optimization/individuals/codings/gp/GPNodeNeg.java b/src/eva2/optimization/individuals/codings/gp/GPNodeNeg.java index cfb41841..bf5ea1f6 100644 --- a/src/eva2/optimization/individuals/codings/gp/GPNodeNeg.java +++ b/src/eva2/optimization/individuals/codings/gp/GPNodeNeg.java @@ -57,15 +57,15 @@ public class GPNodeNeg extends AbstractGPNode implements java.io.Serializable { tmpObj = this.nodes[0].evaluate(environment); if (tmpObj instanceof Double) { - result += ((Double) tmpObj).doubleValue(); + result += (Double) tmpObj; } for (int i = 1; i < this.nodes.length; i++) { tmpObj = this.nodes[i].evaluate(environment); if (tmpObj instanceof Double) { - result -= ((Double) tmpObj).doubleValue(); + result -= (Double) tmpObj; } } - return new Double(result); + return result; } @Override diff --git a/src/eva2/optimization/individuals/codings/gp/GPNodePow2.java b/src/eva2/optimization/individuals/codings/gp/GPNodePow2.java index 1f515d67..d3aa4b04 100644 --- a/src/eva2/optimization/individuals/codings/gp/GPNodePow2.java +++ b/src/eva2/optimization/individuals/codings/gp/GPNodePow2.java @@ -56,9 +56,9 @@ public class GPNodePow2 extends AbstractGPNode implements java.io.Serializable { tmpObj = this.nodes[0].evaluate(environment); if (tmpObj instanceof Double) { - result = Math.pow(((Double) tmpObj).doubleValue(), 2); + result = Math.pow((Double) tmpObj, 2); } - return new Double(result); + return result; } @Override diff --git a/src/eva2/optimization/individuals/codings/gp/GPNodePow3.java b/src/eva2/optimization/individuals/codings/gp/GPNodePow3.java index 9badb2d8..b7a34b79 100644 --- a/src/eva2/optimization/individuals/codings/gp/GPNodePow3.java +++ b/src/eva2/optimization/individuals/codings/gp/GPNodePow3.java @@ -56,9 +56,9 @@ public class GPNodePow3 extends AbstractGPNode implements java.io.Serializable { tmpObj = this.nodes[0].evaluate(environment); if (tmpObj instanceof Double) { - result = Math.pow(((Double) tmpObj).doubleValue(), 3); + result = Math.pow((Double) tmpObj, 3); } - return new Double(result); + return result; } @Override diff --git a/src/eva2/optimization/individuals/codings/gp/GPNodeProd.java b/src/eva2/optimization/individuals/codings/gp/GPNodeProd.java index 380db9e2..57a3c0cd 100644 --- a/src/eva2/optimization/individuals/codings/gp/GPNodeProd.java +++ b/src/eva2/optimization/individuals/codings/gp/GPNodeProd.java @@ -54,7 +54,7 @@ public class GPNodeProd extends AbstractGPNode implements java.io.Serializable { result = (Double) tmpObj; } } - return new Double(result); + return result; } @Override diff --git a/src/eva2/optimization/individuals/codings/gp/GPNodeSin.java b/src/eva2/optimization/individuals/codings/gp/GPNodeSin.java index 5b270cd7..3e8deaf8 100644 --- a/src/eva2/optimization/individuals/codings/gp/GPNodeSin.java +++ b/src/eva2/optimization/individuals/codings/gp/GPNodeSin.java @@ -56,9 +56,9 @@ public class GPNodeSin extends AbstractGPNode implements java.io.Serializable { tmpObj = this.nodes[0].evaluate(environment); if (tmpObj instanceof Double) { - result = Math.sin(((Double) tmpObj).doubleValue()); + result = Math.sin((Double) tmpObj); } - return new Double(result); + return result; } @Override diff --git a/src/eva2/optimization/individuals/codings/gp/GPNodeSqrt.java b/src/eva2/optimization/individuals/codings/gp/GPNodeSqrt.java index ea477cf4..f9d82cff 100644 --- a/src/eva2/optimization/individuals/codings/gp/GPNodeSqrt.java +++ b/src/eva2/optimization/individuals/codings/gp/GPNodeSqrt.java @@ -57,9 +57,9 @@ public class GPNodeSqrt extends AbstractGPNode implements java.io.Serializable { tmpObj = this.nodes[0].evaluate(environment); if (tmpObj instanceof Double) { - result = Math.sqrt(Math.abs(((Double) tmpObj).doubleValue())); + result = Math.sqrt(Math.abs((Double) tmpObj)); } - return new Double(result); + return result; } @Override diff --git a/src/eva2/optimization/individuals/codings/gp/GPNodeSub.java b/src/eva2/optimization/individuals/codings/gp/GPNodeSub.java index 54e7db8d..9213738e 100644 --- a/src/eva2/optimization/individuals/codings/gp/GPNodeSub.java +++ b/src/eva2/optimization/individuals/codings/gp/GPNodeSub.java @@ -57,15 +57,15 @@ public class GPNodeSub extends AbstractGPNode implements java.io.Serializable { tmpObj = this.nodes[0].evaluate(environment); if (tmpObj instanceof Double) { - result += ((Double) tmpObj).doubleValue(); + result += (Double) tmpObj; } for (int i = 1; i < this.nodes.length; i++) { tmpObj = this.nodes[i].evaluate(environment); if (tmpObj instanceof Double) { - result -= ((Double) tmpObj).doubleValue(); + result -= (Double) tmpObj; } } - return new Double(result); + return result; } @Override diff --git a/src/eva2/optimization/individuals/codings/gp/GPNodeSum.java b/src/eva2/optimization/individuals/codings/gp/GPNodeSum.java index 22ea9980..bdd01f74 100644 --- a/src/eva2/optimization/individuals/codings/gp/GPNodeSum.java +++ b/src/eva2/optimization/individuals/codings/gp/GPNodeSum.java @@ -69,7 +69,7 @@ public class GPNodeSum extends AbstractGPNode implements java.io.Serializable { result = (Double) tmpObj; } } - return new Double(result); + return result; } @Override diff --git a/src/eva2/optimization/mocco/MOCCOChooseReferenceSolution.java b/src/eva2/optimization/mocco/MOCCOChooseReferenceSolution.java index 9ab055a3..552bbbdd 100644 --- a/src/eva2/optimization/mocco/MOCCOChooseReferenceSolution.java +++ b/src/eva2/optimization/mocco/MOCCOChooseReferenceSolution.java @@ -100,7 +100,7 @@ public class MOCCOChooseReferenceSolution extends MOCCOPhase implements Interfac gbc.gridx = 2; gbc.gridy = i + 1; gbc.weightx = 1; - textA = new JTextField("" + ((Double) referenceSolution.getData(obj[i].getIdentName())).doubleValue()); + textA = new JTextField("" + (Double) referenceSolution.getData(obj[i].getIdentName())); textA.setEditable(false); tmpP.add(textA, gbc); @@ -145,7 +145,7 @@ public class MOCCOChooseReferenceSolution extends MOCCOPhase implements Interfac public void individualSelected(AbstractEAIndividual indy) { Population pop = this.mocco.state.paretoFront.getMarkedIndividuals(); if (pop.size() == 1) { - this.referenceSolution = (AbstractEAIndividual) pop.get(0); + this.referenceSolution = pop.get(0); } else { this.referenceSolution = null; } diff --git a/src/eva2/optimization/mocco/MOCCOParameterizeGDF.java b/src/eva2/optimization/mocco/MOCCOParameterizeGDF.java index b864f343..67ca4bde 100644 --- a/src/eva2/optimization/mocco/MOCCOParameterizeGDF.java +++ b/src/eva2/optimization/mocco/MOCCOParameterizeGDF.java @@ -259,7 +259,7 @@ public class MOCCOParameterizeGDF extends MOCCOPhase implements InterfaceProcess System.out.println("d.length = " + d.length); for (int i = 0; i < obj.length; i++) { if (obj[i].getOptimizationMode().contains("Objective")) { - tmpA.add(new Double(d[i])); + tmpA.add(d[i]); } } diff --git a/src/eva2/optimization/mocco/MOCCOParameterizeSTEP.java b/src/eva2/optimization/mocco/MOCCOParameterizeSTEP.java index 2b5b4ca7..9d7b3809 100644 --- a/src/eva2/optimization/mocco/MOCCOParameterizeSTEP.java +++ b/src/eva2/optimization/mocco/MOCCOParameterizeSTEP.java @@ -127,7 +127,7 @@ public class MOCCOParameterizeSTEP extends MOCCOPhase implements InterfaceProces } gbc.gridx = 2; gbc.gridy = i + 1; - this.refSolTextField[i] = new JTextField("" + ((Double) refSolution.getData(obj[i].getIdentName())).doubleValue()); + this.refSolTextField[i] = new JTextField("" + (Double) refSolution.getData(obj[i].getIdentName())); this.refSolTextField[i].setEditable(false); panelSTEP.add(this.refSolTextField[i], gbc); gbc.gridx = 3; @@ -269,10 +269,10 @@ public class MOCCOParameterizeSTEP extends MOCCOPhase implements InterfaceProces weights[i] = 0; if (obj[i].is2BMinimized()) { // check this sounds wierd => sounds correct if objectives are used above stupid! - relax[i] = ((Double) refSolution.getData(obj[i].getIdentName())).doubleValue() + relax[i] = (Double) refSolution.getData(obj[i].getIdentName()) + Math.abs(relax[i]); } else { - relax[i] = ((Double) refSolution.getData(obj[i].getIdentName())).doubleValue() + relax[i] = (Double) refSolution.getData(obj[i].getIdentName()) - Math.abs(relax[i]); } obj[i].SetConstraintGoal(relax[i]); @@ -330,7 +330,7 @@ public class MOCCOParameterizeSTEP extends MOCCOPhase implements InterfaceProces System.out.println("d.length = " + d.length); for (int i = 0; i < obj.length; i++) { if (obj[i].getOptimizationMode().contains("Objective")) { - tmpA.add(new Double(d[i])); + tmpA.add(d[i]); } } diff --git a/src/eva2/optimization/mocco/MOCCOState.java b/src/eva2/optimization/mocco/MOCCOState.java index 02998652..893411c1 100644 --- a/src/eva2/optimization/mocco/MOCCOState.java +++ b/src/eva2/optimization/mocco/MOCCOState.java @@ -1,6 +1,5 @@ package eva2.optimization.mocco; -import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.operator.archiving.ArchivingAllDominating; import eva2.optimization.operator.terminators.EvaluationTerminator; import eva2.optimization.operator.terminators.InterfaceTerminator; @@ -106,12 +105,12 @@ public class MOCCOState { if (tmpObj != null) { double[] tmoF = new double[tmpObj.length]; for (int k = 0; k < tmpObj.length; k++) { - tmoF[k] = ((Double) ((AbstractEAIndividual) newPop[newPop.length - 1].get(j)).getData(tmpObj[k].getIdentName())).doubleValue(); + tmoF[k] = (Double) newPop[newPop.length - 1].get(j).getData(tmpObj[k].getIdentName()); } objectives.add(tmoF); } - fitness.add(((AbstractEAIndividual) newPop[newPop.length - 1].get(j)).getFitness()); - constraint.add(new Double(((AbstractEAIndividual) newPop[newPop.length - 1].get(j)).getConstraintViolation())); + fitness.add(newPop[newPop.length - 1].get(j).getFitness()); + constraint.add(newPop[newPop.length - 1].get(j).getConstraintViolation()); } if (this.objectiveCache != null) { this.objectiveCache.add(objectives); @@ -218,15 +217,15 @@ public class MOCCOState { if (tmpObj[k] == null) { System.out.println("Objective " + k + " == null!"); } - if (((AbstractEAIndividual) this.populationHistory[i].get(j)).getData(tmpObj[k].getIdentName()) == null) { + if (this.populationHistory[i].get(j).getData(tmpObj[k].getIdentName()) == null) { System.out.println("User Data " + k + " " + tmpObj[k].getIdentName() + " == null!"); } - tmoF[k] = ((Double) ((AbstractEAIndividual) this.populationHistory[i].get(j)).getData(tmpObj[k].getIdentName())).doubleValue(); + tmoF[k] = (Double) this.populationHistory[i].get(j).getData(tmpObj[k].getIdentName()); } objectives.add(tmoF); } - fitness.add(((AbstractEAIndividual) this.populationHistory[i].get(j)).getFitness()); - constraint.add(new Double(((AbstractEAIndividual) this.populationHistory[i].get(j)).getConstraintViolation())); + fitness.add(this.populationHistory[i].get(j).getFitness()); + constraint.add(this.populationHistory[i].get(j).getConstraintViolation()); } if (this.objectiveCache != null) { this.objectiveCache.add(objectives); diff --git a/src/eva2/optimization/mocco/paretofrontviewer/MOCCOViewer.java b/src/eva2/optimization/mocco/paretofrontviewer/MOCCOViewer.java index ff160510..10b95df9 100644 --- a/src/eva2/optimization/mocco/paretofrontviewer/MOCCOViewer.java +++ b/src/eva2/optimization/mocco/paretofrontviewer/MOCCOViewer.java @@ -156,10 +156,10 @@ public class MOCCOViewer extends JPanel implements InterfaceRefSolutionListener, } catch (java.io.IOException e) { } for (int i = 0; i < pop.size(); i++) { - if (!((AbstractEAIndividual) pop.get(i)).violatesConstraint()) { + if (!pop.get(i).violatesConstraint()) { // write tmp = ""; - double[] fit = ((AbstractEAIndividual) pop.get(i)).getFitness(); + double[] fit = pop.get(i).getFitness(); for (int j = 0; j < fit.length; j++) { tmp += fit[j] + "\t"; } @@ -195,10 +195,10 @@ public class MOCCOViewer extends JPanel implements InterfaceRefSolutionListener, } catch (java.io.IOException e) { } for (int i = 0; i < pop.size(); i++) { - if (!((AbstractEAIndividual) pop.get(i)).violatesConstraint()) { + if (!pop.get(i).violatesConstraint()) { // write tmp = ""; - double[] fit = ((AbstractEAIndividual) pop.get(i)).getFitness(); + double[] fit = pop.get(i).getFitness(); for (int j = 0; j < fit.length; j++) { tmp += fit[j] + "\t"; } @@ -234,10 +234,10 @@ public class MOCCOViewer extends JPanel implements InterfaceRefSolutionListener, } catch (java.io.IOException e) { } for (int i = 0; i < pop.size(); i++) { - if (((AbstractEAIndividual) pop.get(i)).violatesConstraint()) { + if (pop.get(i).violatesConstraint()) { // write tmp = ""; - double[] fit = ((AbstractEAIndividual) pop.get(i)).getFitness(); + double[] fit = pop.get(i).getFitness(); for (int j = 0; j < fit.length; j++) { tmp += fit[j] + "\t"; } @@ -272,7 +272,7 @@ public class MOCCOViewer extends JPanel implements InterfaceRefSolutionListener, for (int i = 0; i < pop.size(); i++) { // write tmp = ""; - double[] fit = ((AbstractEAIndividual) pop.get(i)).getFitness(); + double[] fit = pop.get(i).getFitness(); for (int j = 0; j < fit.length; j++) { tmp += fit[j] + "\t"; } @@ -490,7 +490,7 @@ public class MOCCOViewer extends JPanel implements InterfaceRefSolutionListener, public void setRefPointSelectable(boolean t) { this.refPointSelectable = t; if (this.refPointSelectable) { - int dim = ((AbstractEAIndividual) this.moccoStandalone.state.paretoFront.get(0)).getFitness().length; + int dim = this.moccoStandalone.state.paretoFront.get(0).getFitness().length; this.referencePoint = new double[dim]; for (int i = 0; i < dim; i++) { this.referencePoint[i] = 0; diff --git a/src/eva2/optimization/mocco/paretofrontviewer/ParetoFrontView2D.java b/src/eva2/optimization/mocco/paretofrontviewer/ParetoFrontView2D.java index 30bb1e86..5227b145 100644 --- a/src/eva2/optimization/mocco/paretofrontviewer/ParetoFrontView2D.java +++ b/src/eva2/optimization/mocco/paretofrontviewer/ParetoFrontView2D.java @@ -3,7 +3,6 @@ package eva2.optimization.mocco.paretofrontviewer; import eva2.gui.plot.FunctionArea; import eva2.gui.plot.GraphPointSet; import eva2.gui.plot.InterfaceDPointWithContent; -import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.population.Population; import eva2.problems.InterfaceMultiObjectiveDeNovoProblem; import eva2.problems.InterfaceOptimizationObjective; @@ -200,7 +199,7 @@ public class ParetoFrontView2D extends JPanel implements InterfaceParetoFrontVie for (int j = 0; j < ((ArrayList) this.moccoViewer.moccoStandalone.state.fitnessCache.get(i)).size(); j++) { fitness = (double[]) ((ArrayList) this.moccoViewer.moccoStandalone.state.fitnessCache.get(i)).get(j); myPoint = new DPoint(fitness[indexX], fitness[indexY]); - if (((Double) ((ArrayList) this.moccoViewer.moccoStandalone.state.constraintCache.get(i)).get(j)).doubleValue() == 0) { + if ((Double) ((ArrayList) this.moccoViewer.moccoStandalone.state.constraintCache.get(i)).get(j) == 0) { myPoint.setIcon(new Chart2DDPointIconCross()); } else { myPoint.setIcon(new Chart2DDPointIconPoint()); @@ -223,7 +222,7 @@ public class ParetoFrontView2D extends JPanel implements InterfaceParetoFrontVie for (int j = 0; j < ((ArrayList) this.moccoViewer.moccoStandalone.state.objectiveCache.get(i)).size(); j++) { fitness = (double[]) ((ArrayList) this.moccoViewer.moccoStandalone.state.objectiveCache.get(i)).get(j); myPoint = new DPoint(fitness[indexX], fitness[indexY]); - if (((Double) ((ArrayList) this.moccoViewer.moccoStandalone.state.constraintCache.get(i)).get(j)).doubleValue() == 0) { + if ((Double) ((ArrayList) this.moccoViewer.moccoStandalone.state.constraintCache.get(i)).get(j) == 0) { myPoint.setIcon(new Chart2DDPointIconCross()); } else { myPoint.setIcon(new Chart2DDPointIconPoint()); @@ -256,12 +255,12 @@ public class ParetoFrontView2D extends JPanel implements InterfaceParetoFrontVie mySet.setColor(Color.BLACK); for (int i = 0; i < pf.size(); i++) { if (this.fitObjective.getSelectedIndex() == 0) { - fitness = ((AbstractEAIndividual) pf.get(i)).getFitness(); + fitness = pf.get(i).getFitness(); } else { InterfaceOptimizationObjective[] tmpObj = ((InterfaceMultiObjectiveDeNovoProblem) this.moccoViewer.moccoStandalone.state.currentProblem).getProblemObjectives(); fitness = new double[tmpObj.length]; for (int k = 0; k < tmpObj.length; k++) { - fitness[k] = (Double) ((AbstractEAIndividual) pf.get(i)).getData(tmpObj[k].getIdentName()); + fitness[k] = (Double) pf.get(i).getData(tmpObj[k].getIdentName()); } } point = new DPoint(fitness[indexX], fitness[indexY]); @@ -270,7 +269,7 @@ public class ParetoFrontView2D extends JPanel implements InterfaceParetoFrontVie ((Chart2DDPointContentSelectable) icon).addSelectionListener(this.moccoViewer); } ((InterfaceDPointWithContent) icon).setProblem(this.moccoViewer.moccoStandalone.state.currentProblem); - ((InterfaceDPointWithContent) icon).setEAIndividual((AbstractEAIndividual) pf.get(i)); + ((InterfaceDPointWithContent) icon).setEAIndividual(pf.get(i)); point.setIcon(icon); mySet.addDPoint(point); if (fitness[indexX] < xmin) { diff --git a/src/eva2/optimization/mocco/paretofrontviewer/ParetoFrontViewScatterPlot.java b/src/eva2/optimization/mocco/paretofrontviewer/ParetoFrontViewScatterPlot.java index dd5f6226..101d65ae 100644 --- a/src/eva2/optimization/mocco/paretofrontviewer/ParetoFrontViewScatterPlot.java +++ b/src/eva2/optimization/mocco/paretofrontviewer/ParetoFrontViewScatterPlot.java @@ -92,8 +92,8 @@ class SimpleView extends JComponent implements InterfaceRefPointListener { } } else { InterfaceOptimizationObjective[] tmpObj = ((InterfaceMultiObjectiveDeNovoProblem) this.paretoFrontViewScatterPlot.moccoViewer.moccoStandalone.state.currentProblem).getProblemObjectives(); - result[0] = ((Double) indy.getData(tmpObj[this.object1].getIdentName())).doubleValue(); - result[1] = ((Double) indy.getData(tmpObj[this.object2].getIdentName())).doubleValue(); + result[0] = (Double) indy.getData(tmpObj[this.object1].getIdentName()); + result[1] = (Double) indy.getData(tmpObj[this.object2].getIdentName()); } return result; } @@ -123,14 +123,14 @@ class SimpleView extends JComponent implements InterfaceRefPointListener { mySet.setConnectedMode(false); mySet.setColor(Color.BLACK); for (int i = 0; i < pf.size(); i++) { - plotValue = this.fetchPlotValueFor((AbstractEAIndividual) pf.get(i)); + plotValue = this.fetchPlotValueFor(pf.get(i)); point = new DPoint(plotValue[0], plotValue[1]); icon = new Chart2DDPointContentSelectable(); if (this.paretoFrontViewScatterPlot.moccoViewer.refSolutionSelectable) { ((Chart2DDPointContentSelectable) icon).addSelectionListener(this.paretoFrontViewScatterPlot.moccoViewer); } ((InterfaceDPointWithContent) icon).setProblem(this.paretoFrontViewScatterPlot.moccoViewer.moccoStandalone.state.currentProblem); - ((InterfaceDPointWithContent) icon).setEAIndividual((AbstractEAIndividual) pf.get(i)); + ((InterfaceDPointWithContent) icon).setEAIndividual(pf.get(i)); point.setIcon(icon); mySet.addDPoint(point); if (plotValue[0] < xmin) { diff --git a/src/eva2/optimization/operator/archiving/AbstractArchiving.java b/src/eva2/optimization/operator/archiving/AbstractArchiving.java index b7a1b8b8..2f694da0 100644 --- a/src/eva2/optimization/operator/archiving/AbstractArchiving.java +++ b/src/eva2/optimization/operator/archiving/AbstractArchiving.java @@ -38,13 +38,13 @@ public abstract class AbstractArchiving implements InterfaceArchiving, java.io.S public boolean isDominant(AbstractEAIndividual indy, Population pop) { if (this.obeyDebsConstViolationPrinciple) { for (int i = 0; i < pop.size(); i++) { - if (!(indy.equals(pop.get(i))) && (((AbstractEAIndividual) pop.get(i)).isDominatingDebConstraints(indy))) { + if (!(indy.equals(pop.get(i))) && (pop.get(i).isDominatingDebConstraints(indy))) { return false; } } } else { for (int i = 0; i < pop.size(); i++) { - if (!(indy.equals(pop.get(i))) && (((AbstractEAIndividual) pop.get(i)).isDominating(indy))) { + if (!(indy.equals(pop.get(i))) && (pop.get(i).isDominating(indy))) { return false; } } @@ -65,7 +65,7 @@ public abstract class AbstractArchiving implements InterfaceArchiving, java.io.S for (int i = 0; i < archive.size(); i++) { isDominating = true; - tmpFitness = ((AbstractEAIndividual) archive.get(i)).getFitness(); + tmpFitness = archive.get(i).getFitness(); try { for (int j = 0; j < indyFitness.length; j++) { isDominating &= indyFitness[j] <= tmpFitness[j]; @@ -120,7 +120,7 @@ public abstract class AbstractArchiving implements InterfaceArchiving, java.io.S // first prepare the tmpFit tmpFit = new double[pop.size()][]; for (int j = 0; j < pop.size(); j++) { - tmpIndy = ((AbstractEAIndividual) pop.get(j)); + tmpIndy = pop.get(j); if (tmpIndy.getFitness().length <= 1) { tmpD = (double[]) tmpIndy.getData("MOFitness"); tmpFit[j] = new double[tmpD.length]; diff --git a/src/eva2/optimization/operator/archiving/ArchivingAllDominating.java b/src/eva2/optimization/operator/archiving/ArchivingAllDominating.java index 76da0a42..48b078d8 100644 --- a/src/eva2/optimization/operator/archiving/ArchivingAllDominating.java +++ b/src/eva2/optimization/operator/archiving/ArchivingAllDominating.java @@ -42,9 +42,9 @@ public class ArchivingAllDominating extends AbstractArchiving implements java.io if (this.obeyDebsConstViolationPrinciple) { for (int i = 0; i < pop.size(); i++) { //System.out.println("i:"+ i+" "+pop.size()+"_"+((AbstractEAIndividual)pop.get(0)).getFitness().length); - if ((((AbstractEAIndividual) pop.get(i)).getConstraintViolation() == 0) && (this.isDominant((AbstractEAIndividual) pop.get(i), pop.getArchive()))) { + if ((pop.get(i).getConstraintViolation() == 0) && (this.isDominant(pop.get(i), pop.getArchive()))) { //System.out.println("Adding ("+((AbstractEAIndividual)pop.get(i)).getFitness()[0] +"/"+((AbstractEAIndividual)pop.get(i)).getFitness()[1]+") to archive."); - this.addIndividualToArchive((AbstractEAIndividual) ((AbstractEAIndividual) pop.get(i)).clone(), pop.getArchive()); + this.addIndividualToArchive((AbstractEAIndividual) pop.get(i).clone(), pop.getArchive()); } } if ((pop.getArchive().size() == 0) && (pop.size() > 0)) { @@ -57,9 +57,9 @@ public class ArchivingAllDominating extends AbstractArchiving implements java.io // is dominating a element in the archive for (int i = 0; i < pop.size(); i++) { //System.out.println("i:"+ i+" "+pop.size()+"_"+((AbstractEAIndividual)pop.get(0)).getFitness().length); - if (this.isDominant((AbstractEAIndividual) pop.get(i), pop.getArchive())) { + if (this.isDominant(pop.get(i), pop.getArchive())) { //System.out.println("Adding ("+((AbstractEAIndividual)pop.get(i)).getFitness()[0] +"/"+((AbstractEAIndividual)pop.get(i)).getFitness()[1]+") to archive."); - this.addIndividualToArchive((AbstractEAIndividual) ((AbstractEAIndividual) pop.get(i)).clone(), pop.getArchive()); + this.addIndividualToArchive((AbstractEAIndividual) pop.get(i).clone(), pop.getArchive()); } } } diff --git a/src/eva2/optimization/operator/archiving/ArchivingMaxiMin.java b/src/eva2/optimization/operator/archiving/ArchivingMaxiMin.java index 5d8ebe82..cf25b1bf 100644 --- a/src/eva2/optimization/operator/archiving/ArchivingMaxiMin.java +++ b/src/eva2/optimization/operator/archiving/ArchivingMaxiMin.java @@ -1,6 +1,5 @@ package eva2.optimization.operator.archiving; -import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.operator.moso.MOSOMaxiMin; import eva2.optimization.operator.selection.InterfaceSelection; import eva2.optimization.operator.selection.SelectBestIndividuals; @@ -65,8 +64,8 @@ public class ArchivingMaxiMin implements InterfaceArchiving, java.io.Serializabl // now unconvert from SO to MO for (int i = 0; i < archive.size(); i++) { - tmpD = (double[]) ((AbstractEAIndividual) archive.get(i)).getData("MOFitness"); - ((AbstractEAIndividual) archive.get(i)).setFitness(tmpD); + tmpD = (double[]) archive.get(i).getData("MOFitness"); + archive.get(i).setFitness(tmpD); } pop.SetArchive(archive); diff --git a/src/eva2/optimization/operator/archiving/ArchivingNSGA.java b/src/eva2/optimization/operator/archiving/ArchivingNSGA.java index 0d9ebf2a..4ec9a6e1 100644 --- a/src/eva2/optimization/operator/archiving/ArchivingNSGA.java +++ b/src/eva2/optimization/operator/archiving/ArchivingNSGA.java @@ -40,8 +40,8 @@ public class ArchivingNSGA extends AbstractArchiving implements java.io.Serializ // test for each element in population if it // is dominating a element in the archive for (int i = 0; i < pop.size(); i++) { - if (this.isDominant((AbstractEAIndividual) pop.get(i), pop.getArchive())) { - this.addIndividualToArchive((AbstractEAIndividual) ((AbstractEAIndividual) pop.get(i)).clone(), pop.getArchive()); + if (this.isDominant(pop.get(i), pop.getArchive())) { + this.addIndividualToArchive((AbstractEAIndividual) pop.get(i).clone(), pop.getArchive()); } } diff --git a/src/eva2/optimization/operator/archiving/ArchivingNSGAII.java b/src/eva2/optimization/operator/archiving/ArchivingNSGAII.java index b383b590..922c1d85 100644 --- a/src/eva2/optimization/operator/archiving/ArchivingNSGAII.java +++ b/src/eva2/optimization/operator/archiving/ArchivingNSGAII.java @@ -1,6 +1,5 @@ package eva2.optimization.operator.archiving; -import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.population.Population; import eva2.tools.chart2d.Chart2DDPointIconCross; import eva2.tools.chart2d.DPointIcon; @@ -111,8 +110,8 @@ public class ArchivingNSGAII extends ArchivingNSGA implements java.io.Serializab tmpDom = new Population(); tmpNonDom = new Population(); for (int i = 0; i < tmpPop.size(); i++) { - if (this.isDominant((AbstractEAIndividual) tmpPop.get(i), tmpPop)) { - ((AbstractEAIndividual) tmpPop.get(i)).putData("ParetoLevel", new Integer(level)); + if (this.isDominant(tmpPop.get(i), tmpPop)) { + tmpPop.get(i).putData("ParetoLevel", level); tmpDom.add(tmpPop.get(i)); } else { @@ -124,7 +123,7 @@ public class ArchivingNSGAII extends ArchivingNSGA implements java.io.Serializab System.out.println("Problem NSGA II at level " + level + "."); tmpDom.addPopulation(tmpNonDom); for (int i = 0; i < tmpDom.size(); i++) { - ((AbstractEAIndividual) tmpDom.get(i)).putData("ParetoLevel", new Integer(level)); + tmpDom.get(i).putData("ParetoLevel", level); } tmpPop.clear(); // System.out.println(""+tmpPop.getStringRepresentation()); @@ -154,11 +153,11 @@ public class ArchivingNSGAII extends ArchivingNSGA implements java.io.Serializab fitness = new double[fronts[i].size()][]; hyperCube = new double[fronts[i].size()]; for (int j = 0; j < fronts[i].size(); j++) { - fitness[j] = ((AbstractEAIndividual) fronts[i].get(j)).getFitness(); + fitness[j] = fronts[i].get(j).getFitness(); } hyperCube = heidi.calculateHyperCubeVolumes(fitness); for (int j = 0; j < fronts[i].size(); j++) { - ((AbstractEAIndividual) fronts[i].get(j)).putData("HyperCube", new Double(hyperCube[j])); + fronts[i].get(j).putData("HyperCube", hyperCube[j]); } } } diff --git a/src/eva2/optimization/operator/archiving/ArchivingNSGAIISMeasure.java b/src/eva2/optimization/operator/archiving/ArchivingNSGAIISMeasure.java index 8bfc4eb2..ebbabb1c 100644 --- a/src/eva2/optimization/operator/archiving/ArchivingNSGAIISMeasure.java +++ b/src/eva2/optimization/operator/archiving/ArchivingNSGAIISMeasure.java @@ -36,13 +36,13 @@ public class ArchivingNSGAIISMeasure extends ArchivingNSGAII { public boolean isDominant(AbstractEAIndividual indy, Population pop) { if (this.obeyDebsConstViolationPrinciple) { for (int i = 0; i < pop.size(); i++) { - if (!(indy.equals(pop.get(i)) || indy.equalFitness((AbstractEAIndividual) pop.get(i))) && (((AbstractEAIndividual) pop.get(i)).isDominatingDebConstraints(indy))) { + if (!(indy.equals(pop.get(i)) || indy.equalFitness(pop.get(i))) && (pop.get(i).isDominatingDebConstraints(indy))) { return false; } } } else { for (int i = 0; i < pop.size(); i++) { - if (!(indy.equals(pop.get(i)) || indy.equalFitness((AbstractEAIndividual) pop.get(i))) && (((AbstractEAIndividual) pop.get(i)).isDominating(indy))) { + if (!(indy.equals(pop.get(i)) || indy.equalFitness(pop.get(i))) && (pop.get(i).isDominating(indy))) { return false; } } @@ -99,7 +99,7 @@ public class ArchivingNSGAIISMeasure extends ArchivingNSGAII { } } assigned[minIndex] = true; - ((AbstractEAIndividual) frontArray[minIndex]).putData("HyperCube", new Double(e)); + ((AbstractEAIndividual) frontArray[minIndex]).putData("HyperCube", (double) e); } diff --git a/src/eva2/optimization/operator/archiving/ArchivingPESAII.java b/src/eva2/optimization/operator/archiving/ArchivingPESAII.java index 16742cd3..578f0104 100644 --- a/src/eva2/optimization/operator/archiving/ArchivingPESAII.java +++ b/src/eva2/optimization/operator/archiving/ArchivingPESAII.java @@ -46,8 +46,8 @@ public class ArchivingPESAII extends AbstractArchiving implements java.io.Serial // test for each element in population if it // is dominating a element in the archive for (int i = 0; i < pop.size(); i++) { - if (this.isDominant((AbstractEAIndividual) pop.get(i), pop.getArchive())) { - this.addIndividualToArchive((AbstractEAIndividual) ((AbstractEAIndividual) pop.get(i)).clone(), pop.getArchive()); + if (this.isDominant(pop.get(i), pop.getArchive())) { + this.addIndividualToArchive((AbstractEAIndividual) pop.get(i).clone(), pop.getArchive()); } } @@ -88,14 +88,14 @@ public class ArchivingPESAII extends AbstractArchiving implements java.io.Serial // boolean debug = true; // first calculate the bounds of the search space - bounds = new double[((AbstractEAIndividual) pop.get(0)).getFitness().length][2]; + bounds = new double[pop.get(0).getFitness().length][2]; for (int i = 0; i < bounds.length; i++) { bounds[i][0] = Double.POSITIVE_INFINITY; bounds[i][1] = Double.NEGATIVE_INFINITY; } // if (debug) System.out.println("The individuals:"); for (int i = 0; i < pop.size(); i++) { - tmpFit = ((AbstractEAIndividual) pop.get(i)).getFitness(); + tmpFit = pop.get(i).getFitness(); // if (debug) System.out.println("Individual "+i+": "+tmpFit[0] +"/"+tmpFit[1]); result[i] = 0; for (int j = 0; j < tmpFit.length; j++) { @@ -122,7 +122,7 @@ public class ArchivingPESAII extends AbstractArchiving implements java.io.Serial curGrid = new int[bounds.length]; // haven't calculated the squeeze factor for this guy yet // first i'll calculate the grid position this guy is in - tmpFit = ((AbstractEAIndividual) pop.get(i)).getFitness(); + tmpFit = pop.get(i).getFitness(); coll = new ArrayList(); for (int j = 0; j < tmpFit.length; j++) { grid[j] = (bounds[j][1] - bounds[j][0]) / this.gridSize; @@ -133,12 +133,12 @@ public class ArchivingPESAII extends AbstractArchiving implements java.io.Serial // System.out.println(""); // System.out.println("Checking for individuals in the same grid"); // } - coll.add(new Integer(i)); + coll.add(i); for (int j = i + 1; j < pop.size(); j++) { if (result[j] == 0) { // check whether this guy is in the same grid as the // first guy... - tmpFit = ((AbstractEAIndividual) pop.get(j)).getFitness(); + tmpFit = pop.get(j).getFitness(); sameGrid = true; for (int k = 0; k < tmpFit.length; k++) { tmpGrid[k] = (int) ((tmpFit[k] - bounds[k][0]) / grid[k]); @@ -149,7 +149,7 @@ public class ArchivingPESAII extends AbstractArchiving implements java.io.Serial } } if (sameGrid) { - coll.add(new Integer(j)); + coll.add(j); } // if (debug) { // System.out.println("Checking indy "+j+" ("+tmpFit[0] +"/"+tmpFit[1]+") in grid ["+tmpGrid[0]+"/"+tmpGrid[1]+"]"); @@ -159,9 +159,9 @@ public class ArchivingPESAII extends AbstractArchiving implements java.io.Serial // now i got all the boogies of the same grid element // lets assign them thier squeeze factor for (int j = 0; j < coll.size(); j++) { - result[((Integer) coll.get(j)).intValue()] = coll.size(); - tmpIndy = (AbstractEAIndividual) pop.get(((Integer) coll.get(j)).intValue()); - tmpIndy.putData("SqueezeFactor", new Integer(coll.size())); + result[((Integer) coll.get(j))] = coll.size(); + tmpIndy = pop.get(((Integer) coll.get(j)).intValue()); + tmpIndy.putData("SqueezeFactor", coll.size()); tmpIndy.putData("GridBox", curGrid); } } diff --git a/src/eva2/optimization/operator/archiving/ArchivingSPEAII.java b/src/eva2/optimization/operator/archiving/ArchivingSPEAII.java index e2988a9d..335d1fdf 100644 --- a/src/eva2/optimization/operator/archiving/ArchivingSPEAII.java +++ b/src/eva2/optimization/operator/archiving/ArchivingSPEAII.java @@ -126,7 +126,7 @@ public class ArchivingSPEAII extends AbstractArchiving implements java.io.Serial double[][] fitness = new double[tmp.size()][]; for (int i = 0; i < tmp.size(); i++) { - fitness[i] = ((AbstractEAIndividual) tmp.get(i)).getFitness(); + fitness[i] = tmp.get(i).getFitness(); } double[] minY, maxY; minY = fitness[0]; @@ -162,9 +162,9 @@ public class ArchivingSPEAII extends AbstractArchiving implements java.io.Serial for (int i = 0; i < pop.size(); i++) { result[i] = 0; SPEAStrength[i] = 0; - tmpIndy = (AbstractEAIndividual) pop.get(i); + tmpIndy = pop.get(i); for (int j = 0; j < pop.size(); j++) { - if ((i != j) && (!this.isEqualTo(tmpIndy, (AbstractEAIndividual) pop.get(j))) && (tmpIndy.isDominating((AbstractEAIndividual) pop.get(j)))) { + if ((i != j) && (!this.isEqualTo(tmpIndy, pop.get(j))) && (tmpIndy.isDominating(pop.get(j)))) { SPEAStrength[i]++; } } @@ -178,13 +178,13 @@ public class ArchivingSPEAII extends AbstractArchiving implements java.io.Serial // now calculate the SPEAFitness for (int i = 0; i < pop.size(); i++) { for (int j = 0; j < pop.size(); j++) { - if ((i != j) && (!this.isEqualTo((AbstractEAIndividual) pop.get(i), (AbstractEAIndividual) pop.get(j))) && (((AbstractEAIndividual) pop.get(i)).isDominating(((AbstractEAIndividual) pop.get(j))))) { + if ((i != j) && (!this.isEqualTo(pop.get(i), pop.get(j))) && (pop.get(i).isDominating(pop.get(j)))) { result[j] += SPEAStrength[i]; if (this.soutDebug) { if (i == 14) { double[] f1, f2; - f1 = ((AbstractEAIndividual) pop.get(i)).getFitness(); - f2 = ((AbstractEAIndividual) pop.get(j)).getFitness(); + f1 = pop.get(i).getFitness(); + f2 = pop.get(j).getFitness(); for (int n = 0; n < f1.length; n++) { System.out.println("" + Math.abs(f1[n] - f2[n])); } @@ -205,7 +205,7 @@ public class ArchivingSPEAII extends AbstractArchiving implements java.io.Serial double[][] trueFitness; trueFitness = new double[pop.size()][]; for (int i = 0; i < pop.size(); i++) { - trueFitness[i] = ((AbstractEAIndividual) pop.get(i)).getFitness(); + trueFitness[i] = pop.get(i).getFitness(); System.out.println("Fitness: (" + trueFitness[i][0] + "/" + trueFitness[i][1] + ")"); } DPoint myPoint; @@ -250,7 +250,7 @@ public class ArchivingSPEAII extends AbstractArchiving implements java.io.Serial for (int i = 0; i < pop.size(); i++) { distMatrix[i][i] = 0.0; for (int j = i + 1; j < pop.size(); j++) { - distMatrix[i][j] = this.metric.distance((AbstractEAIndividual) pop.get(i), (AbstractEAIndividual) pop.get(j)); + distMatrix[i][j] = this.metric.distance(pop.get(i), pop.get(j)); distMatrix[j][i] = distMatrix[i][j]; } } @@ -311,13 +311,13 @@ public class ArchivingSPEAII extends AbstractArchiving implements java.io.Serial // first calculate the SPEAStrength for (int i = 0; i < pop.size(); i++) { - tmpIndy = (AbstractEAIndividual) pop.get(i); + tmpIndy = pop.get(i); trueFitness[i] = tmpIndy.getFitness(); for (int j = i + 1; j < pop.size(); j++) { - if (tmpIndy.isDominating((AbstractEAIndividual) pop.get(j))) { + if (tmpIndy.isDominating(pop.get(j))) { SPEAStrength[i]++; } else { - if (((AbstractEAIndividual) pop.get(j)).isDominating(tmpIndy)) { + if (pop.get(j).isDominating(tmpIndy)) { SPEAStrength[j]++; } } @@ -328,7 +328,7 @@ public class ArchivingSPEAII extends AbstractArchiving implements java.io.Serial for (int i = 0; i < pop.size(); i++) { for (int j = 0; j < pop.size(); j++) { if (i != j) { - if (((AbstractEAIndividual) pop.get(i)).isDominating(((AbstractEAIndividual) pop.get(j)))) { + if (pop.get(i).isDominating(pop.get(j))) { SPEAFitness[j] += SPEAStrength[i]; } } @@ -342,7 +342,7 @@ public class ArchivingSPEAII extends AbstractArchiving implements java.io.Serial for (int i = 0; i < pop.size(); i++) { distMatrix[i][i] = 0.0; for (int j = i + 1; j < pop.size(); j++) { - distMatrix[i][j] = this.metric.distance((AbstractEAIndividual) pop.get(i), (AbstractEAIndividual) pop.get(j)); + distMatrix[i][j] = this.metric.distance(pop.get(i), pop.get(j)); distMatrix[j][i] = distMatrix[i][j]; } } @@ -373,8 +373,8 @@ public class ArchivingSPEAII extends AbstractArchiving implements java.io.Serial System.out.println("d " + 1 / (2 + D[i])); } SPEAResult[i] = SPEAFitness[i] + (1 / (2 + D[i])); - ((AbstractEAIndividual) pop.get(i)).putData("RawFit", new Double(SPEAFitness[i])); - ((AbstractEAIndividual) pop.get(i)).putData("SPEAFit", new Double(SPEAResult[i])); + pop.get(i).putData("RawFit", (double) SPEAFitness[i]); + pop.get(i).putData("SPEAFit", SPEAResult[i]); } // Puh! diff --git a/src/eva2/optimization/operator/archiving/RemoveSurplusIndividualsDynamicHyperCube.java b/src/eva2/optimization/operator/archiving/RemoveSurplusIndividualsDynamicHyperCube.java index 7e5e424a..5c9cc0f8 100644 --- a/src/eva2/optimization/operator/archiving/RemoveSurplusIndividualsDynamicHyperCube.java +++ b/src/eva2/optimization/operator/archiving/RemoveSurplusIndividualsDynamicHyperCube.java @@ -1,6 +1,5 @@ package eva2.optimization.operator.archiving; -import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.population.Population; import eva2.tools.math.RNG; @@ -41,7 +40,7 @@ public class RemoveSurplusIndividualsDynamicHyperCube implements InterfaceRemove fitness = new double[archive.size()][]; space = new double[archive.size()]; for (int i = 0; i < archive.size(); i++) { - fitness[i] = ((AbstractEAIndividual) archive.get(i)).getFitness(); + fitness[i] = archive.get(i).getFitness(); } space = this.calculateHyperCubeVolumes(fitness); // now find the individual with the smallest hypervolume diff --git a/src/eva2/optimization/operator/archiving/RemoveSurplusIndividualsSMetric.java b/src/eva2/optimization/operator/archiving/RemoveSurplusIndividualsSMetric.java index 844c64da..689b979e 100644 --- a/src/eva2/optimization/operator/archiving/RemoveSurplusIndividualsSMetric.java +++ b/src/eva2/optimization/operator/archiving/RemoveSurplusIndividualsSMetric.java @@ -1,6 +1,5 @@ package eva2.optimization.operator.archiving; -import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.population.Population; import eva2.tools.math.RNG; @@ -41,7 +40,7 @@ public class RemoveSurplusIndividualsSMetric implements InterfaceRemoveSurplusIn fitness = new double[archive.size()][]; space = new double[archive.size()]; for (int i = 0; i < archive.size(); i++) { - fitness[i] = ((AbstractEAIndividual) archive.get(i)).getFitness(); + fitness[i] = archive.get(i).getFitness(); } space = this.calculateContributingHypervolume(fitness); // now find the individual with the smallest hypervolume diff --git a/src/eva2/optimization/operator/archiving/RemoveSurplusIndividualsStaticHyperCube.java b/src/eva2/optimization/operator/archiving/RemoveSurplusIndividualsStaticHyperCube.java index 512e08a0..d5ab4927 100644 --- a/src/eva2/optimization/operator/archiving/RemoveSurplusIndividualsStaticHyperCube.java +++ b/src/eva2/optimization/operator/archiving/RemoveSurplusIndividualsStaticHyperCube.java @@ -1,6 +1,5 @@ package eva2.optimization.operator.archiving; -import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.population.Population; import eva2.tools.math.RNG; @@ -40,20 +39,20 @@ public class RemoveSurplusIndividualsStaticHyperCube extends RemoveSurplusIndivi fitness = new double[archive.size()][]; space = new double[archive.size()]; for (int i = 0; i < archive.size(); i++) { - fitness[i] = ((AbstractEAIndividual) archive.get(i)).getFitness(); + fitness[i] = archive.get(i).getFitness(); } space = this.calculateHyperCubeVolumes(fitness); for (int i = 0; i < archive.size(); i++) { - ((AbstractEAIndividual) archive.get(i)).putData("HyperCube", new Double(space[i])); + archive.get(i).putData("HyperCube", space[i]); } while (archive.targetSizeExceeded()) { // select the individual with the least space around him // to do this i got to find the next smaller and the next bigger one - smallestHyperCube = ((Double) ((AbstractEAIndividual) archive.get(0)).getData("HyperCube")).doubleValue(); + smallestHyperCube = (Double) archive.get(0).getData("HyperCube"); indexSmallHyperCube = 0; for (int i = 1; i < archive.size(); i++) { - tmpS = ((Double) ((AbstractEAIndividual) archive.get(i)).getData("HyperCube")).doubleValue(); + tmpS = (Double) archive.get(i).getData("HyperCube"); if (tmpS < smallestHyperCube) { smallestHyperCube = tmpS; indexSmallHyperCube = i; diff --git a/src/eva2/optimization/operator/cluster/ClusteringDensityBased.java b/src/eva2/optimization/operator/cluster/ClusteringDensityBased.java index 4ea24993..94e22701 100644 --- a/src/eva2/optimization/operator/cluster/ClusteringDensityBased.java +++ b/src/eva2/optimization/operator/cluster/ClusteringDensityBased.java @@ -102,10 +102,10 @@ public class ClusteringDensityBased implements InterfaceClusteringDistanceParam, // Build the connection Matrix for (int i = 0; i < pop.size(); i++) { - tmpIndy1 = (AbstractEAIndividual) pop.get(i); + tmpIndy1 = pop.get(i); connectionMatrix[i][i] = true; for (int j = i + 1; j < pop.size(); j++) { - tmpIndy2 = (AbstractEAIndividual) pop.get(j); + tmpIndy2 = pop.get(j); if (tmpIndy1 == null || (tmpIndy2 == null)) { System.err.println("Warning: Individual should not be null (ClusteringDensityBased)!"); } diff --git a/src/eva2/optimization/operator/cluster/ClusteringDynPeakIdent.java b/src/eva2/optimization/operator/cluster/ClusteringDynPeakIdent.java index cb68f13e..334abb24 100644 --- a/src/eva2/optimization/operator/cluster/ClusteringDynPeakIdent.java +++ b/src/eva2/optimization/operator/cluster/ClusteringDynPeakIdent.java @@ -178,7 +178,7 @@ public class ClusteringDynPeakIdent implements InterfaceClustering, java.io.Seri int i = 0; Population peaks = new Population(q); while (i < sortedPop.size() && (peaks.size() < q)) { - if ((peaks.size() == 0) || (!peaks.isWithinPopDist((AbstractEAIndividual) sortedPop.get(i), rho, metric))) { + if ((peaks.size() == 0) || (!peaks.isWithinPopDist(sortedPop.get(i), rho, metric))) { peaks.add(sortedPop.get(i)); } i++; diff --git a/src/eva2/optimization/operator/cluster/ClusteringKMeans.java b/src/eva2/optimization/operator/cluster/ClusteringKMeans.java index 077e24f0..ef9a684a 100644 --- a/src/eva2/optimization/operator/cluster/ClusteringKMeans.java +++ b/src/eva2/optimization/operator/cluster/ClusteringKMeans.java @@ -338,7 +338,7 @@ public class ClusteringKMeans implements InterfaceClustering, java.io.Serializab } } else { for (int i = 0; i < pop.size(); i++) { - data[i] = ((AbstractEAIndividual) pop.get(i)).getFitness(); + data[i] = pop.get(i).getFitness(); } } return data; diff --git a/src/eva2/optimization/operator/cluster/ClusteringNearestBetter.java b/src/eva2/optimization/operator/cluster/ClusteringNearestBetter.java index d1c70798..370e06ac 100644 --- a/src/eva2/optimization/operator/cluster/ClusteringNearestBetter.java +++ b/src/eva2/optimization/operator/cluster/ClusteringNearestBetter.java @@ -296,7 +296,7 @@ public class ClusteringNearestBetter implements InterfaceClustering, Serializabl Double refDat = (Double) referenceSet.getData(initializedRefData); if (refDat != null) { - currentMeanDistance = refDat.doubleValue(); + currentMeanDistance = refDat; return true; } else { System.err.println("Warning, missing reference data - forgot reference set initialization? " + this.getClass()); diff --git a/src/eva2/optimization/operator/cluster/ClusteringXMeans.java b/src/eva2/optimization/operator/cluster/ClusteringXMeans.java index e9013e03..a7458260 100644 --- a/src/eva2/optimization/operator/cluster/ClusteringXMeans.java +++ b/src/eva2/optimization/operator/cluster/ClusteringXMeans.java @@ -2,7 +2,6 @@ package eva2.optimization.operator.cluster; import eva2.gui.plot.GraphPointSet; import eva2.gui.plot.Plot; -import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.individuals.ESIndividualDoubleData; import eva2.optimization.individuals.InterfaceDataTypeDouble; import eva2.optimization.population.Population; @@ -228,7 +227,7 @@ public class ClusteringXMeans implements InterfaceClustering, java.io.Serializab } } else { for (int i = 0; i < pop.size(); i++) { - data[i] = ((AbstractEAIndividual) pop.get(i)).getFitness(); + data[i] = pop.get(i).getFitness(); } } return data; diff --git a/src/eva2/optimization/operator/crossover/CrossoverESArithmetical.java b/src/eva2/optimization/operator/crossover/CrossoverESArithmetical.java index f7faa3d2..e064a2dd 100644 --- a/src/eva2/optimization/operator/crossover/CrossoverESArithmetical.java +++ b/src/eva2/optimization/operator/crossover/CrossoverESArithmetical.java @@ -50,7 +50,7 @@ public class CrossoverESArithmetical implements InterfaceCrossover, java.io.Seri result = new AbstractEAIndividual[partners.size() + 1]; result[0] = (AbstractEAIndividual) (indy1).clone(); for (int i = 0; i < partners.size(); i++) { - result[i + 1] = (AbstractEAIndividual) ((AbstractEAIndividual) partners.get(i)).clone(); + result[i + 1] = (AbstractEAIndividual) partners.get(i).clone(); } //for (int i = 0; i < result.length; i++) System.out.println("Before Crossover: " +result[i].getSolutionRepresentationFor()); diff --git a/src/eva2/optimization/operator/crossover/CrossoverESBLXAlpha.java b/src/eva2/optimization/operator/crossover/CrossoverESBLXAlpha.java index 79b75ac9..da64f38e 100644 --- a/src/eva2/optimization/operator/crossover/CrossoverESBLXAlpha.java +++ b/src/eva2/optimization/operator/crossover/CrossoverESBLXAlpha.java @@ -51,7 +51,7 @@ public class CrossoverESBLXAlpha implements InterfaceCrossover, java.io.Serializ result = new AbstractEAIndividual[partners.size() + 1]; result[0] = (AbstractEAIndividual) (indy1).clone(); for (int i = 0; i < partners.size(); i++) { - result[i + 1] = (AbstractEAIndividual) ((AbstractEAIndividual) partners.get(i)).clone(); + result[i + 1] = (AbstractEAIndividual) partners.get(i).clone(); } //for (int i = 0; i < result.length; i++) System.out.println("Before Crossover: " +result[i].getSolutionRepresentationFor()); diff --git a/src/eva2/optimization/operator/crossover/CrossoverESDefault.java b/src/eva2/optimization/operator/crossover/CrossoverESDefault.java index 5807e002..94426383 100644 --- a/src/eva2/optimization/operator/crossover/CrossoverESDefault.java +++ b/src/eva2/optimization/operator/crossover/CrossoverESDefault.java @@ -48,7 +48,7 @@ public class CrossoverESDefault implements InterfaceCrossover, java.io.Serializa result = new AbstractEAIndividual[partners.size() + 1]; result[0] = (AbstractEAIndividual) (indy1).clone(); for (int i = 0; i < partners.size(); i++) { - result[i + 1] = (AbstractEAIndividual) ((AbstractEAIndividual) partners.get(i)).clone(); + result[i + 1] = (AbstractEAIndividual) partners.get(i).clone(); } //for (int i = 0; i < result.length; i++) System.out.println("Before Crossover: " +result[i].getSolutionRepresentationFor()); diff --git a/src/eva2/optimization/operator/crossover/CrossoverESFlat.java b/src/eva2/optimization/operator/crossover/CrossoverESFlat.java index 57064857..63d9fc17 100644 --- a/src/eva2/optimization/operator/crossover/CrossoverESFlat.java +++ b/src/eva2/optimization/operator/crossover/CrossoverESFlat.java @@ -54,7 +54,7 @@ public class CrossoverESFlat implements InterfaceCrossover, java.io.Serializable result = new AbstractEAIndividual[partners.size() + 1]; result[0] = (AbstractEAIndividual) (indy1).clone(); for (int i = 0; i < partners.size(); i++) { - result[i + 1] = (AbstractEAIndividual) ((AbstractEAIndividual) partners.get(i)).clone(); + result[i + 1] = (AbstractEAIndividual) partners.get(i).clone(); } //for (int i = 0; i < result.length; i++) System.out.println("Before Crossover: " +result[i].getSolutionRepresentationFor()); diff --git a/src/eva2/optimization/operator/crossover/CrossoverESIntermediate.java b/src/eva2/optimization/operator/crossover/CrossoverESIntermediate.java index 2f01802c..775f5b5f 100644 --- a/src/eva2/optimization/operator/crossover/CrossoverESIntermediate.java +++ b/src/eva2/optimization/operator/crossover/CrossoverESIntermediate.java @@ -46,7 +46,7 @@ public class CrossoverESIntermediate implements InterfaceCrossover, java.io.Seri result = new AbstractEAIndividual[partners.size() + 1]; result[0] = (AbstractEAIndividual) (indy1).clone(); for (int i = 0; i < partners.size(); i++) { - result[i + 1] = (AbstractEAIndividual) ((AbstractEAIndividual) partners.get(i)).clone(); + result[i + 1] = (AbstractEAIndividual) partners.get(i).clone(); } //for (int i = 0; i < result.length; i++) System.out.println("Before Crossover: " +result[i].getSolutionRepresentationFor()); diff --git a/src/eva2/optimization/operator/crossover/CrossoverESNPointDiscrete.java b/src/eva2/optimization/operator/crossover/CrossoverESNPointDiscrete.java index dc744a87..978fc31a 100644 --- a/src/eva2/optimization/operator/crossover/CrossoverESNPointDiscrete.java +++ b/src/eva2/optimization/operator/crossover/CrossoverESNPointDiscrete.java @@ -50,7 +50,7 @@ public class CrossoverESNPointDiscrete implements InterfaceCrossover, java.io.Se result = new AbstractEAIndividual[partners.size() + 1]; result[0] = (AbstractEAIndividual) (indy1).clone(); for (int i = 0; i < partners.size(); i++) { - result[i + 1] = (AbstractEAIndividual) ((AbstractEAIndividual) partners.get(i)).clone(); + result[i + 1] = (AbstractEAIndividual) partners.get(i).clone(); } //for (int i = 0; i < result.length; i++) System.out.println("Before Crossover: " +result[i].getSolutionRepresentationFor()); diff --git a/src/eva2/optimization/operator/crossover/CrossoverESNPointDiscreteDislocation.java b/src/eva2/optimization/operator/crossover/CrossoverESNPointDiscreteDislocation.java index 642c8900..84772568 100644 --- a/src/eva2/optimization/operator/crossover/CrossoverESNPointDiscreteDislocation.java +++ b/src/eva2/optimization/operator/crossover/CrossoverESNPointDiscreteDislocation.java @@ -50,7 +50,7 @@ public class CrossoverESNPointDiscreteDislocation implements InterfaceCrossover, result = new AbstractEAIndividual[partners.size() + 1]; result[0] = (AbstractEAIndividual) (indy1).clone(); for (int i = 0; i < partners.size(); i++) { - result[i + 1] = (AbstractEAIndividual) ((AbstractEAIndividual) partners.get(i)).clone(); + result[i + 1] = (AbstractEAIndividual) partners.get(i).clone(); } //for (int i = 0; i < result.length; i++) System.out.println("Before Crossover: " +result[i].getSolutionRepresentationFor()); diff --git a/src/eva2/optimization/operator/crossover/CrossoverESPCX.java b/src/eva2/optimization/operator/crossover/CrossoverESPCX.java index 842c3a6f..264bd0e3 100644 --- a/src/eva2/optimization/operator/crossover/CrossoverESPCX.java +++ b/src/eva2/optimization/operator/crossover/CrossoverESPCX.java @@ -59,7 +59,7 @@ public class CrossoverESPCX implements InterfaceCrossover, java.io.Serializable result = new AbstractEAIndividual[partners.size() + 1]; result[0] = (AbstractEAIndividual) (indy1).clone(); for (int i = 0; i < partners.size(); i++) { - result[i + 1] = (AbstractEAIndividual) ((AbstractEAIndividual) partners.get(i)).clone(); + result[i + 1] = (AbstractEAIndividual) partners.get(i).clone(); } //for (int i = 0; i < result.length; i++) System.out.println("Before Crossover: " +result[i].getSolutionRepresentationFor()); diff --git a/src/eva2/optimization/operator/crossover/CrossoverESSBX.java b/src/eva2/optimization/operator/crossover/CrossoverESSBX.java index 8454ad36..615bf951 100644 --- a/src/eva2/optimization/operator/crossover/CrossoverESSBX.java +++ b/src/eva2/optimization/operator/crossover/CrossoverESSBX.java @@ -58,7 +58,7 @@ public class CrossoverESSBX implements InterfaceCrossover, java.io.Serializable result = new AbstractEAIndividual[partners.size() + 1]; result[0] = (AbstractEAIndividual) (indy1).clone(); for (int i = 0; i < partners.size(); i++) { - result[i + 1] = (AbstractEAIndividual) ((AbstractEAIndividual) partners.get(i)).clone(); + result[i + 1] = (AbstractEAIndividual) partners.get(i).clone(); } //for (int i = 0; i < result.length; i++) System.out.println("Before Crossover: " +result[i].getSolutionRepresentationFor()); diff --git a/src/eva2/optimization/operator/crossover/CrossoverESSPX.java b/src/eva2/optimization/operator/crossover/CrossoverESSPX.java index 6e233820..3410b5d2 100644 --- a/src/eva2/optimization/operator/crossover/CrossoverESSPX.java +++ b/src/eva2/optimization/operator/crossover/CrossoverESSPX.java @@ -54,7 +54,7 @@ public class CrossoverESSPX implements InterfaceCrossover, java.io.Serializable result = new AbstractEAIndividual[partners.size() + 1]; result[0] = (AbstractEAIndividual) (indy1).clone(); for (int i = 0; i < partners.size(); i++) { - result[i + 1] = (AbstractEAIndividual) ((AbstractEAIndividual) partners.get(i)).clone(); + result[i + 1] = (AbstractEAIndividual) partners.get(i).clone(); } //for (int i = 0; i < result.length; i++) System.out.println("Before Crossover: " +result[i].getSolutionRepresentationFor()); diff --git a/src/eva2/optimization/operator/crossover/CrossoverESUNDX.java b/src/eva2/optimization/operator/crossover/CrossoverESUNDX.java index ecae3eb7..af0100ca 100644 --- a/src/eva2/optimization/operator/crossover/CrossoverESUNDX.java +++ b/src/eva2/optimization/operator/crossover/CrossoverESUNDX.java @@ -78,7 +78,7 @@ public class CrossoverESUNDX implements InterfaceCrossover, java.io.Serializable result = new AbstractEAIndividual[partners.size() + 1]; result[0] = (AbstractEAIndividual) (indy1).clone(); for (int i = 0; i < partners.size(); i++) { - result[i + 1] = (AbstractEAIndividual) ((AbstractEAIndividual) partners.get(i)).clone(); + result[i + 1] = (AbstractEAIndividual) partners.get(i).clone(); } //for (int i = 0; i < result.length; i++) System.out.println("Before Crossover: " +result[i].getSolutionRepresentationFor()); diff --git a/src/eva2/optimization/operator/crossover/CrossoverESUniformDiscrete.java b/src/eva2/optimization/operator/crossover/CrossoverESUniformDiscrete.java index 03269989..d9ba4820 100644 --- a/src/eva2/optimization/operator/crossover/CrossoverESUniformDiscrete.java +++ b/src/eva2/optimization/operator/crossover/CrossoverESUniformDiscrete.java @@ -48,7 +48,7 @@ public class CrossoverESUniformDiscrete implements InterfaceCrossover, java.io.S result = new AbstractEAIndividual[partners.size() + 1]; result[0] = (AbstractEAIndividual) (indy1).clone(); for (int i = 0; i < partners.size(); i++) { - result[i + 1] = (AbstractEAIndividual) ((AbstractEAIndividual) partners.get(i)).clone(); + result[i + 1] = (AbstractEAIndividual) partners.get(i).clone(); } //for (int i = 0; i < result.length; i++) System.out.println("Before Crossover: " +result[i].getSolutionRepresentationFor()); diff --git a/src/eva2/optimization/operator/crossover/CrossoverGABitSimulated.java b/src/eva2/optimization/operator/crossover/CrossoverGABitSimulated.java index 032cae49..c0ee1b14 100644 --- a/src/eva2/optimization/operator/crossover/CrossoverGABitSimulated.java +++ b/src/eva2/optimization/operator/crossover/CrossoverGABitSimulated.java @@ -48,7 +48,7 @@ public class CrossoverGABitSimulated implements InterfaceCrossover, java.io.Seri result = new AbstractEAIndividual[partners.size() + 1]; result[0] = (AbstractEAIndividual) (indy1).clone(); for (int i = 0; i < partners.size(); i++) { - result[i + 1] = (AbstractEAIndividual) ((AbstractEAIndividual) partners.get(i)).clone(); + result[i + 1] = (AbstractEAIndividual) partners.get(i).clone(); } if (partners.size() == 0) { return result; diff --git a/src/eva2/optimization/operator/crossover/CrossoverGADefault.java b/src/eva2/optimization/operator/crossover/CrossoverGADefault.java index 03010ad9..cb4762b8 100644 --- a/src/eva2/optimization/operator/crossover/CrossoverGADefault.java +++ b/src/eva2/optimization/operator/crossover/CrossoverGADefault.java @@ -50,8 +50,8 @@ public class CrossoverGADefault implements InterfaceCrossover, result = new AbstractEAIndividual[partners.size() + 1]; result[0] = (AbstractEAIndividual) (indy1).clone(); for (int i = 0; i < partners.size(); i++) { - result[i + 1] = (AbstractEAIndividual) ((AbstractEAIndividual) partners - .get(i)).clone(); + result[i + 1] = (AbstractEAIndividual) partners + .get(i).clone(); } // for (int i = 0; i < result.length; i++) System.out.println("Before // Crossover: " +result[i].getSolutionRepresentationFor()); diff --git a/src/eva2/optimization/operator/crossover/CrossoverGAGINPoint.java b/src/eva2/optimization/operator/crossover/CrossoverGAGINPoint.java index 58ba4f17..2a8e1eb4 100644 --- a/src/eva2/optimization/operator/crossover/CrossoverGAGINPoint.java +++ b/src/eva2/optimization/operator/crossover/CrossoverGAGINPoint.java @@ -60,7 +60,7 @@ public class CrossoverGAGINPoint implements InterfaceCrossover, java.io.Serializ result = new AbstractEAIndividual[partners.size() + 1]; result[0] = (AbstractEAIndividual) (individual).clone(); for (int i = 0; i < partners.size(); i++) { - result[i + 1] = (AbstractEAIndividual) ((AbstractEAIndividual) partners.get(i)).clone(); + result[i + 1] = (AbstractEAIndividual) partners.get(i).clone(); } if (partners.size() == 0) { diff --git a/src/eva2/optimization/operator/crossover/CrossoverGAUniform.java b/src/eva2/optimization/operator/crossover/CrossoverGAUniform.java index d2e64e74..a58a83d9 100644 --- a/src/eva2/optimization/operator/crossover/CrossoverGAUniform.java +++ b/src/eva2/optimization/operator/crossover/CrossoverGAUniform.java @@ -48,7 +48,7 @@ public class CrossoverGAUniform implements InterfaceCrossover, java.io.Serializa result = new AbstractEAIndividual[partners.size() + 1]; result[0] = (AbstractEAIndividual) (indy1).clone(); for (int i = 0; i < partners.size(); i++) { - result[i + 1] = (AbstractEAIndividual) ((AbstractEAIndividual) partners.get(i)).clone(); + result[i + 1] = (AbstractEAIndividual) partners.get(i).clone(); } if (partners.size() == 0) { return result; diff --git a/src/eva2/optimization/operator/crossover/CrossoverGIDefault.java b/src/eva2/optimization/operator/crossover/CrossoverGIDefault.java index 36f8f8dc..196916dd 100644 --- a/src/eva2/optimization/operator/crossover/CrossoverGIDefault.java +++ b/src/eva2/optimization/operator/crossover/CrossoverGIDefault.java @@ -49,7 +49,7 @@ public class CrossoverGIDefault implements InterfaceCrossover, java.io.Serializa result = new AbstractEAIndividual[partners.size() + 1]; result[0] = (AbstractEAIndividual) (indy1).clone(); for (int i = 0; i < partners.size(); i++) { - result[i + 1] = (AbstractEAIndividual) ((AbstractEAIndividual) partners.get(i)).clone(); + result[i + 1] = (AbstractEAIndividual) partners.get(i).clone(); } //for (int i = 0; i < result.length; i++) System.out.println("Before Crossover: " +result[i].getSolutionRepresentationFor()); diff --git a/src/eva2/optimization/operator/crossover/CrossoverGINPoint.java b/src/eva2/optimization/operator/crossover/CrossoverGINPoint.java index 14543e5e..238b3011 100644 --- a/src/eva2/optimization/operator/crossover/CrossoverGINPoint.java +++ b/src/eva2/optimization/operator/crossover/CrossoverGINPoint.java @@ -47,7 +47,7 @@ public class CrossoverGINPoint implements InterfaceCrossover, java.io.Serializab result = new AbstractEAIndividual[partners.size() + 1]; result[0] = (AbstractEAIndividual) (indy1).clone(); for (int i = 0; i < partners.size(); i++) { - result[i + 1] = (AbstractEAIndividual) ((AbstractEAIndividual) partners.get(i)).clone(); + result[i + 1] = (AbstractEAIndividual) partners.get(i).clone(); } if (partners.size() == 0) { return result; diff --git a/src/eva2/optimization/operator/crossover/CrossoverGINPointVL.java b/src/eva2/optimization/operator/crossover/CrossoverGINPointVL.java index 58b10863..26b0976e 100644 --- a/src/eva2/optimization/operator/crossover/CrossoverGINPointVL.java +++ b/src/eva2/optimization/operator/crossover/CrossoverGINPointVL.java @@ -49,7 +49,7 @@ public class CrossoverGINPointVL implements InterfaceCrossover, java.io.Serializ result = new AbstractEAIndividual[partners.size() + 1]; result[0] = (AbstractEAIndividual) (indy1).clone(); for (int i = 0; i < partners.size(); i++) { - result[i + 1] = (AbstractEAIndividual) ((AbstractEAIndividual) partners.get(i)).clone(); + result[i + 1] = (AbstractEAIndividual) partners.get(i).clone(); } if (partners.size() == 0) { return result; diff --git a/src/eva2/optimization/operator/crossover/CrossoverGIUniform.java b/src/eva2/optimization/operator/crossover/CrossoverGIUniform.java index 76576c4c..297c3fba 100644 --- a/src/eva2/optimization/operator/crossover/CrossoverGIUniform.java +++ b/src/eva2/optimization/operator/crossover/CrossoverGIUniform.java @@ -47,7 +47,7 @@ public class CrossoverGIUniform implements InterfaceCrossover, java.io.Serializa result = new AbstractEAIndividual[partners.size() + 1]; result[0] = (AbstractEAIndividual) (indy1).clone(); for (int i = 0; i < partners.size(); i++) { - result[i + 1] = (AbstractEAIndividual) ((AbstractEAIndividual) partners.get(i)).clone(); + result[i + 1] = (AbstractEAIndividual) partners.get(i).clone(); } if (partners.size() == 0) { return result; diff --git a/src/eva2/optimization/operator/crossover/CrossoverGPDefault.java b/src/eva2/optimization/operator/crossover/CrossoverGPDefault.java index 4ca0b785..85ffdd1e 100644 --- a/src/eva2/optimization/operator/crossover/CrossoverGPDefault.java +++ b/src/eva2/optimization/operator/crossover/CrossoverGPDefault.java @@ -54,7 +54,7 @@ public class CrossoverGPDefault implements InterfaceCrossover, java.io.Serializa result = new AbstractEAIndividual[partners.size() + 1]; result[0] = (AbstractEAIndividual) (indy1).clone(); for (int i = 0; i < partners.size(); i++) { - result[i + 1] = (AbstractEAIndividual) ((AbstractEAIndividual) partners.get(i)).clone(); + result[i + 1] = (AbstractEAIndividual) partners.get(i).clone(); } if (partners.size() == 0) { return result; diff --git a/src/eva2/optimization/operator/crossover/CrossoverOBGAPMX.java b/src/eva2/optimization/operator/crossover/CrossoverOBGAPMX.java index 73e3c019..6cb197a3 100644 --- a/src/eva2/optimization/operator/crossover/CrossoverOBGAPMX.java +++ b/src/eva2/optimization/operator/crossover/CrossoverOBGAPMX.java @@ -35,7 +35,7 @@ public class CrossoverOBGAPMX implements InterfaceCrossover, java.io.Serializabl result = new AbstractEAIndividual[partners.size() + 1]; result[0] = (AbstractEAIndividual) (indy1).clone(); for (int i = 0; i < partners.size(); i++) { - result[i + 1] = (AbstractEAIndividual) ((AbstractEAIndividual) partners.get(i)).clone(); + result[i + 1] = (AbstractEAIndividual) partners.get(i).clone(); } if ((indy1 instanceof InterfaceOBGAIndividual) && (partners.get(0) instanceof InterfaceOBGAIndividual)) { diff --git a/src/eva2/optimization/operator/crossover/CrossoverOBGAPMXUniform.java b/src/eva2/optimization/operator/crossover/CrossoverOBGAPMXUniform.java index 02d304c7..fbc810e9 100644 --- a/src/eva2/optimization/operator/crossover/CrossoverOBGAPMXUniform.java +++ b/src/eva2/optimization/operator/crossover/CrossoverOBGAPMXUniform.java @@ -35,7 +35,7 @@ public class CrossoverOBGAPMXUniform implements InterfaceCrossover, java.io.Seri result = new AbstractEAIndividual[partners.size() + 1]; result[0] = (AbstractEAIndividual) (indy1).clone(); for (int i = 0; i < partners.size(); i++) { - result[i + 1] = (AbstractEAIndividual) ((AbstractEAIndividual) partners.get(i)).clone(); + result[i + 1] = (AbstractEAIndividual) partners.get(i).clone(); } diff --git a/src/eva2/optimization/operator/crossover/NoCrossover.java b/src/eva2/optimization/operator/crossover/NoCrossover.java index 5216d9a3..847e91d3 100644 --- a/src/eva2/optimization/operator/crossover/NoCrossover.java +++ b/src/eva2/optimization/operator/crossover/NoCrossover.java @@ -42,7 +42,7 @@ public class NoCrossover implements InterfaceCrossover, java.io.Serializable { result = new AbstractEAIndividual[1 + partners.size()]; /// by MK result[0] = (AbstractEAIndividual) (indy1).clone(); for (int i = 0; i < partners.size(); i++) { - result[i + 1] = (AbstractEAIndividual) ((AbstractEAIndividual) partners.get(i)).clone(); + result[i + 1] = (AbstractEAIndividual) partners.get(i).clone(); } //in case the crossover was successful lets give the mutation operators a chance to mate the strategy parameters for (int i = 0; i < result.length; i++) { diff --git a/src/eva2/optimization/operator/fitnessmodifier/FitnessAdaptiveClustering.java b/src/eva2/optimization/operator/fitnessmodifier/FitnessAdaptiveClustering.java index e8815007..747e3322 100644 --- a/src/eva2/optimization/operator/fitnessmodifier/FitnessAdaptiveClustering.java +++ b/src/eva2/optimization/operator/fitnessmodifier/FitnessAdaptiveClustering.java @@ -1,6 +1,5 @@ package eva2.optimization.operator.fitnessmodifier; -import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.operator.cluster.ClusteringDensityBased; import eva2.optimization.operator.cluster.InterfaceClustering; import eva2.optimization.population.Population; @@ -26,7 +25,7 @@ public class FitnessAdaptiveClustering implements java.io.Serializable, Interfac // prepare the calculation double[][] data = new double[population.size()][]; for (int i = 0; i < data.length; i++) { - data[i] = ((AbstractEAIndividual) population.get(i)).getFitness(); + data[i] = population.get(i).getFitness(); } double min = Double.POSITIVE_INFINITY; double[] result = new double[data.length]; @@ -58,7 +57,7 @@ public class FitnessAdaptiveClustering implements java.io.Serializable, Interfac } for (int i = 0; i < population.size(); i++) { - ((AbstractEAIndividual) population.get(i)).SetFitness(x, result[i]); + population.get(i).SetFitness(x, result[i]); } } } diff --git a/src/eva2/optimization/operator/fitnessmodifier/FitnessSharing.java b/src/eva2/optimization/operator/fitnessmodifier/FitnessSharing.java index 73b70a36..610337bf 100644 --- a/src/eva2/optimization/operator/fitnessmodifier/FitnessSharing.java +++ b/src/eva2/optimization/operator/fitnessmodifier/FitnessSharing.java @@ -27,7 +27,7 @@ public class FitnessSharing implements java.io.Serializable, InterfaceFitnessMod // prepare the calculation double[][] data = new double[population.size()][]; for (int i = 0; i < data.length; i++) { - data[i] = ((AbstractEAIndividual) population.get(i)).getFitness(); + data[i] = population.get(i).getFitness(); } double min = Double.POSITIVE_INFINITY, fitnessSharing; double[] result = new double[data.length]; @@ -50,18 +50,18 @@ public class FitnessSharing implements java.io.Serializable, InterfaceFitnessMod } for (int i = 0; i < population.size(); i++) { - tmpIndy = (AbstractEAIndividual) population.get(i); + tmpIndy = population.get(i); fitnessSharing = 0; for (int j = 0; j < population.size(); j++) { - if (this.sharingDistance < this.distanceMetric.distance(tmpIndy, (AbstractEAIndividual) population.get(j))) { - fitnessSharing += 1 - (this.distanceMetric.distance(tmpIndy, (AbstractEAIndividual) population.get(j)) / this.sharingDistance); + if (this.sharingDistance < this.distanceMetric.distance(tmpIndy, population.get(j))) { + fitnessSharing += 1 - (this.distanceMetric.distance(tmpIndy, population.get(j)) / this.sharingDistance); } } result[i] /= fitnessSharing; } for (int i = 0; i < population.size(); i++) { - ((AbstractEAIndividual) population.get(i)).SetFitness(x, result[i]); + population.get(i).SetFitness(x, result[i]); } } } diff --git a/src/eva2/optimization/operator/migration/MOClusteringSeparation.java b/src/eva2/optimization/operator/migration/MOClusteringSeparation.java index e63f6f23..7630bcd3 100644 --- a/src/eva2/optimization/operator/migration/MOClusteringSeparation.java +++ b/src/eva2/optimization/operator/migration/MOClusteringSeparation.java @@ -156,7 +156,7 @@ public class MOClusteringSeparation implements InterfaceMigration, java.io.Seria mySet = new GraphPointSet(10 + 1, plot.getFunctionArea()); mySet.setConnectedMode(false); for (int j = 0; j < newIPOP[i].size(); j++) { - indy = (AbstractEAIndividual) newIPOP[i].get(j); + indy = newIPOP[i].get(j); myPoint = new DPoint(indy.getFitness()[0], indy.getFitness()[1]); tmp = new Chart2DDPointIconText("" + i); //if (i % 2 == 0) tmp.setIcon(new Chart2DDPointIconCircle()); diff --git a/src/eva2/optimization/operator/migration/MOConeSeparation.java b/src/eva2/optimization/operator/migration/MOConeSeparation.java index 1a3a225e..d4f4682d 100644 --- a/src/eva2/optimization/operator/migration/MOConeSeparation.java +++ b/src/eva2/optimization/operator/migration/MOConeSeparation.java @@ -96,13 +96,13 @@ public class MOConeSeparation implements InterfaceMigration, java.io.Serializabl } memory = (Population) collector.clone(); - if (((AbstractEAIndividual) collector.get(0)).getFitness().length == 2) { + if (collector.get(0).getFitness().length == 2) { this.coneSeparation2D(collector, newIPOP, islands); } else { - if (((AbstractEAIndividual) collector.get(0)).getFitness().length == 3) { + if (collector.get(0).getFitness().length == 3) { this.coneSeparation3D(collector, newIPOP, islands); } else { - if (((AbstractEAIndividual) collector.get(0)).getFitness().length >= 4) { + if (collector.get(0).getFitness().length >= 4) { System.out.println("*Pff*"); } } @@ -174,18 +174,18 @@ public class MOConeSeparation implements InterfaceMigration, java.io.Serializabl } for (int i = 1; i < ref.size(); i++) { - if (((AbstractEAIndividual) ref.get(i)).getFitness()[0] > ((AbstractEAIndividual) ref.get(y1Big)).getFitness()[0]) { + if (ref.get(i).getFitness()[0] > ref.get(y1Big).getFitness()[0]) { y1Big = i; } - if (((AbstractEAIndividual) ref.get(i)).getFitness()[1] > ((AbstractEAIndividual) ref.get(y2Big)).getFitness()[1]) { + if (ref.get(i).getFitness()[1] > ref.get(y2Big).getFitness()[1]) { y2Big = i; } } double[] r = new double[2]; double alpha = 90.0 / (double) islands.length; double[][] boundaries = new double[islands.length - 1][2]; - r[0] = ((AbstractEAIndividual) ref.get(y1Big)).getFitness()[0]; - r[1] = ((AbstractEAIndividual) ref.get(y2Big)).getFitness()[1]; + r[0] = ref.get(y1Big).getFitness()[0]; + r[1] = ref.get(y2Big).getFitness()[1]; for (int i = 0; i < boundaries.length; i++) { boundaries[i][0] = 1 / Math.tan(Math.toRadians(alpha * (i + 1))); boundaries[i][1] = r[1] - boundaries[i][0] * r[0]; @@ -197,7 +197,7 @@ public class MOConeSeparation implements InterfaceMigration, java.io.Serializabl // Now i got the cone's let's separate for (int i = 0; i < boundaries.length; i++) { for (int j = 0; j < collector.size(); j++) { - indy = (AbstractEAIndividual) collector.get(j); + indy = collector.get(j); if (indy.getFitness()[1] < boundaries[i][0] * indy.getFitness()[0] + boundaries[i][1]) { // this guy belongs to cone i newIPOP[i].add(indy); @@ -229,7 +229,7 @@ public class MOConeSeparation implements InterfaceMigration, java.io.Serializabl mySet = new GraphPointSet(10 + i, plot.getFunctionArea()); mySet.setConnectedMode(false); for (int j = 0; j < newIPOP[i].size(); j++) { - indy = (AbstractEAIndividual) newIPOP[i].get(j); + indy = newIPOP[i].get(j); myPoint = new DPoint(indy.getFitness()[0], indy.getFitness()[1]); tmp = new Chart2DDPointIconText("" + i); if (i % 2 == 0) { @@ -312,13 +312,13 @@ public class MOConeSeparation implements InterfaceMigration, java.io.Serializabl } for (int i = 1; i < ref.size(); i++) { - if (((AbstractEAIndividual) ref.get(i)).getFitness()[0] > ((AbstractEAIndividual) ref.get(y1Big)).getFitness()[0]) { + if (ref.get(i).getFitness()[0] > ref.get(y1Big).getFitness()[0]) { y1Big = i; } - if (((AbstractEAIndividual) ref.get(i)).getFitness()[1] > ((AbstractEAIndividual) ref.get(y2Big)).getFitness()[1]) { + if (ref.get(i).getFitness()[1] > ref.get(y2Big).getFitness()[1]) { y2Big = i; } - if (((AbstractEAIndividual) ref.get(i)).getFitness()[2] > ((AbstractEAIndividual) ref.get(y3Big)).getFitness()[2]) { + if (ref.get(i).getFitness()[2] > ref.get(y3Big).getFitness()[2]) { y3Big = i; } } @@ -327,9 +327,9 @@ public class MOConeSeparation implements InterfaceMigration, java.io.Serializabl double[][] normals = new double[islands.length][3]; double angIncr = 360.0 / (double) islands.length; - distopian[0] = ((AbstractEAIndividual) ref.get(y1Big)).getFitness()[0]; - distopian[1] = ((AbstractEAIndividual) ref.get(y2Big)).getFitness()[1]; - distopian[2] = ((AbstractEAIndividual) ref.get(y3Big)).getFitness()[2]; + distopian[0] = ref.get(y1Big).getFitness()[0]; + distopian[1] = ref.get(y2Big).getFitness()[1]; + distopian[2] = ref.get(y3Big).getFitness()[2]; zE[0] = 0; zE[1] = 0; @@ -362,7 +362,7 @@ public class MOConeSeparation implements InterfaceMigration, java.io.Serializabl // Now i got the cone's let's separate for (int i = 0; i < normals.length; i++) { for (int j = 0; j < collector.size(); j++) { - indy = (AbstractEAIndividual) collector.get(j); + indy = collector.get(j); fitness = indy.getFitness(); if ((this.getScalarProduct(curBoundingPlane[1], this.getVectorSub(fitness, curBoundingPlane[0])) < 0) && (this.getScalarProduct(lastBoundingPlane[1], this.getVectorSub(fitness, lastBoundingPlane[0])) >= 0)) { diff --git a/src/eva2/optimization/operator/migration/MOXMeansSeparation.java b/src/eva2/optimization/operator/migration/MOXMeansSeparation.java index 3cb5f7a9..6d6859d0 100644 --- a/src/eva2/optimization/operator/migration/MOXMeansSeparation.java +++ b/src/eva2/optimization/operator/migration/MOXMeansSeparation.java @@ -157,7 +157,7 @@ public class MOXMeansSeparation implements InterfaceMigration, java.io.Serializa mySet = new GraphPointSet(10 + 1, plot.getFunctionArea()); mySet.setConnectedMode(false); for (int j = 0; j < newIPOP[i].size(); j++) { - indy = (AbstractEAIndividual) newIPOP[i].get(j); + indy = newIPOP[i].get(j); myPoint = new DPoint(indy.getFitness()[0], indy.getFitness()[1]); tmp = new Chart2DDPointIconText("" + i); //if (i % 2 == 0) tmp.setIcon(new Chart2DDPointIconCircle()); diff --git a/src/eva2/optimization/operator/moso/MOSODynamicallyWeightedFitness.java b/src/eva2/optimization/operator/moso/MOSODynamicallyWeightedFitness.java index c45e4001..c51e9998 100644 --- a/src/eva2/optimization/operator/moso/MOSODynamicallyWeightedFitness.java +++ b/src/eva2/optimization/operator/moso/MOSODynamicallyWeightedFitness.java @@ -41,7 +41,7 @@ public class MOSODynamicallyWeightedFitness implements InterfaceMOSOConverter, j public void convertMultiObjective2SingleObjective(Population pop) { this.currentGeneration = pop.getGeneration(); for (int i = 0; i < pop.size(); i++) { - this.convertSingleIndividual((AbstractEAIndividual) pop.get(i)); + this.convertSingleIndividual(pop.get(i)); } } diff --git a/src/eva2/optimization/operator/moso/MOSOEpsilonConstraint.java b/src/eva2/optimization/operator/moso/MOSOEpsilonConstraint.java index 84872210..65c63413 100644 --- a/src/eva2/optimization/operator/moso/MOSOEpsilonConstraint.java +++ b/src/eva2/optimization/operator/moso/MOSOEpsilonConstraint.java @@ -46,7 +46,7 @@ public class MOSOEpsilonConstraint implements InterfaceMOSOConverter, java.io.Se @Override public void convertMultiObjective2SingleObjective(Population pop) { for (int i = 0; i < pop.size(); i++) { - this.convertSingleIndividual((AbstractEAIndividual) pop.get(i)); + this.convertSingleIndividual(pop.get(i)); } } diff --git a/src/eva2/optimization/operator/moso/MOSOEpsilonThreshold.java b/src/eva2/optimization/operator/moso/MOSOEpsilonThreshold.java index 31766a78..9a06ae56 100644 --- a/src/eva2/optimization/operator/moso/MOSOEpsilonThreshold.java +++ b/src/eva2/optimization/operator/moso/MOSOEpsilonThreshold.java @@ -51,7 +51,7 @@ public class MOSOEpsilonThreshold implements InterfaceMOSOConverter, java.io.Ser @Override public void convertMultiObjective2SingleObjective(Population pop) { for (int i = 0; i < pop.size(); i++) { - this.convertSingleIndividual((AbstractEAIndividual) pop.get(i)); + this.convertSingleIndividual(pop.get(i)); } } diff --git a/src/eva2/optimization/operator/moso/MOSOGoalProgramming.java b/src/eva2/optimization/operator/moso/MOSOGoalProgramming.java index fb3a0757..74d536c5 100644 --- a/src/eva2/optimization/operator/moso/MOSOGoalProgramming.java +++ b/src/eva2/optimization/operator/moso/MOSOGoalProgramming.java @@ -44,7 +44,7 @@ public class MOSOGoalProgramming implements InterfaceMOSOConverter, java.io.Seri @Override public void convertMultiObjective2SingleObjective(Population pop) { for (int i = 0; i < pop.size(); i++) { - this.convertSingleIndividual((AbstractEAIndividual) pop.get(i)); + this.convertSingleIndividual(pop.get(i)); } } diff --git a/src/eva2/optimization/operator/moso/MOSOLpMetric.java b/src/eva2/optimization/operator/moso/MOSOLpMetric.java index f1e7721e..2d11a690 100644 --- a/src/eva2/optimization/operator/moso/MOSOLpMetric.java +++ b/src/eva2/optimization/operator/moso/MOSOLpMetric.java @@ -46,7 +46,7 @@ public class MOSOLpMetric implements InterfaceMOSOConverter, java.io.Serializabl @Override public void convertMultiObjective2SingleObjective(Population pop) { for (int i = 0; i < pop.size(); i++) { - this.convertSingleIndividual((AbstractEAIndividual) pop.get(i)); + this.convertSingleIndividual(pop.get(i)); } } diff --git a/src/eva2/optimization/operator/moso/MOSOMOGARankBased.java b/src/eva2/optimization/operator/moso/MOSOMOGARankBased.java index 6b7f15fe..5e5fba98 100644 --- a/src/eva2/optimization/operator/moso/MOSOMOGARankBased.java +++ b/src/eva2/optimization/operator/moso/MOSOMOGARankBased.java @@ -38,17 +38,17 @@ public class MOSOMOGARankBased implements InterfaceMOSOConverter, java.io.Serial for (int i = 0; i < pop.size() - 1; i++) { for (int j = 0; j < pop.size(); j++) { if (i != j) { - if (((AbstractEAIndividual) pop.get(j)).isDominatingDebConstraints((AbstractEAIndividual) pop.get(i))) { + if (pop.get(j).isDominatingDebConstraints(pop.get(i))) { MOGARank[i] += 1; } } } } for (int i = 0; i < pop.size(); i++) { - ((AbstractEAIndividual) pop.get(i)).putData("MOGARank", new Integer(MOGARank[i])); + pop.get(i).putData("MOGARank", MOGARank[i]); } for (int i = 0; i < pop.size(); i++) { - this.convertSingleIndividual((AbstractEAIndividual) pop.get(i)); + this.convertSingleIndividual(pop.get(i)); } } diff --git a/src/eva2/optimization/operator/moso/MOSOMaxiMin.java b/src/eva2/optimization/operator/moso/MOSOMaxiMin.java index 66362382..f0e69d1c 100644 --- a/src/eva2/optimization/operator/moso/MOSOMaxiMin.java +++ b/src/eva2/optimization/operator/moso/MOSOMaxiMin.java @@ -41,13 +41,13 @@ public class MOSOMaxiMin implements InterfaceMOSOConverter, java.io.Serializable double[] result, tmpFit, resultFit; double tmpResult; - tmpIndy = (AbstractEAIndividual) pop.get(0); + tmpIndy = pop.get(0); fitnessArray = new double[pop.size()][tmpIndy.getFitness().length]; minArray = new double[pop.size()][tmpIndy.getFitness().length]; result = new double[pop.size()]; resultFit = new double[1]; for (int i = 0; i < pop.size(); i++) { - fitnessArray[i] = ((AbstractEAIndividual) pop.get(i)).getFitness(); + fitnessArray[i] = pop.get(i).getFitness(); } for (int i = 0; i < fitnessArray.length; i++) { result[i] = Double.NEGATIVE_INFINITY; @@ -61,7 +61,7 @@ public class MOSOMaxiMin implements InterfaceMOSOConverter, java.io.Serializable } } // write the result to the individuals - tmpIndy = (AbstractEAIndividual) pop.get(i); + tmpIndy = pop.get(i); tmpFit = tmpIndy.getFitness(); tmpIndy.putData("MOFitness", tmpFit); resultFit = new double[1]; diff --git a/src/eva2/optimization/operator/moso/MOSONoConvert.java b/src/eva2/optimization/operator/moso/MOSONoConvert.java index 0b92f16f..7dfd44ae 100644 --- a/src/eva2/optimization/operator/moso/MOSONoConvert.java +++ b/src/eva2/optimization/operator/moso/MOSONoConvert.java @@ -33,7 +33,7 @@ public class MOSONoConvert implements InterfaceMOSOConverter, java.io.Serializab @Override public void convertMultiObjective2SingleObjective(Population pop) { for (int i = 0; i < pop.size(); i++) { - this.convertSingleIndividual((AbstractEAIndividual) pop.get(i)); + this.convertSingleIndividual(pop.get(i)); } } diff --git a/src/eva2/optimization/operator/moso/MOSORandomChoice.java b/src/eva2/optimization/operator/moso/MOSORandomChoice.java index 787adfdb..02826e63 100644 --- a/src/eva2/optimization/operator/moso/MOSORandomChoice.java +++ b/src/eva2/optimization/operator/moso/MOSORandomChoice.java @@ -37,7 +37,7 @@ public class MOSORandomChoice implements InterfaceMOSOConverter, java.io.Seriali @Override public void convertMultiObjective2SingleObjective(Population pop) { for (int i = 0; i < pop.size(); i++) { - this.convertSingleIndividual((AbstractEAIndividual) pop.get(i)); + this.convertSingleIndividual(pop.get(i)); } } diff --git a/src/eva2/optimization/operator/moso/MOSORandomWeight.java b/src/eva2/optimization/operator/moso/MOSORandomWeight.java index 83a942b7..cf1a5ba1 100644 --- a/src/eva2/optimization/operator/moso/MOSORandomWeight.java +++ b/src/eva2/optimization/operator/moso/MOSORandomWeight.java @@ -33,7 +33,7 @@ public class MOSORandomWeight implements InterfaceMOSOConverter, java.io.Seriali @Override public void convertMultiObjective2SingleObjective(Population pop) { for (int i = 0; i < pop.size(); i++) { - this.convertSingleIndividual((AbstractEAIndividual) pop.get(i)); + this.convertSingleIndividual(pop.get(i)); } } diff --git a/src/eva2/optimization/operator/moso/MOSORankbased.java b/src/eva2/optimization/operator/moso/MOSORankbased.java index 2751d458..62b5eac8 100644 --- a/src/eva2/optimization/operator/moso/MOSORankbased.java +++ b/src/eva2/optimization/operator/moso/MOSORankbased.java @@ -35,7 +35,7 @@ public class MOSORankbased implements InterfaceMOSOConverter, java.io.Serializab ArchivingNSGAII arch = new ArchivingNSGAII(); arch.getNonDominatedSortedFronts(pop); for (int i = 0; i < pop.size(); i++) { - this.convertSingleIndividual((AbstractEAIndividual) pop.get(i)); + this.convertSingleIndividual(pop.get(i)); } } diff --git a/src/eva2/optimization/operator/moso/MOSOUtilityFunction.java b/src/eva2/optimization/operator/moso/MOSOUtilityFunction.java index 20cb82eb..04334f41 100644 --- a/src/eva2/optimization/operator/moso/MOSOUtilityFunction.java +++ b/src/eva2/optimization/operator/moso/MOSOUtilityFunction.java @@ -38,7 +38,7 @@ public class MOSOUtilityFunction implements InterfaceMOSOConverter, java.io.Seri @Override public void convertMultiObjective2SingleObjective(Population pop) { for (int i = 0; i < pop.size(); i++) { - this.convertSingleIndividual((AbstractEAIndividual) pop.get(i)); + this.convertSingleIndividual(pop.get(i)); } } diff --git a/src/eva2/optimization/operator/moso/MOSOWeightedFitness.java b/src/eva2/optimization/operator/moso/MOSOWeightedFitness.java index 46defdf0..d4042222 100644 --- a/src/eva2/optimization/operator/moso/MOSOWeightedFitness.java +++ b/src/eva2/optimization/operator/moso/MOSOWeightedFitness.java @@ -52,7 +52,7 @@ public class MOSOWeightedFitness implements InterfaceMOSOConverter, java.io.Seri @Override public void convertMultiObjective2SingleObjective(Population pop) { for (int i = 0; i < pop.size(); i++) { - this.convertSingleIndividual((AbstractEAIndividual) pop.get(i)); + this.convertSingleIndividual(pop.get(i)); } } diff --git a/src/eva2/optimization/operator/moso/MOSOWeightedLPTchebycheff.java b/src/eva2/optimization/operator/moso/MOSOWeightedLPTchebycheff.java index c4ab4877..7a2bb55e 100644 --- a/src/eva2/optimization/operator/moso/MOSOWeightedLPTchebycheff.java +++ b/src/eva2/optimization/operator/moso/MOSOWeightedLPTchebycheff.java @@ -51,7 +51,7 @@ public class MOSOWeightedLPTchebycheff implements InterfaceMOSOConverter, java.i @Override public void convertMultiObjective2SingleObjective(Population pop) { for (int i = 0; i < pop.size(); i++) { - this.convertSingleIndividual((AbstractEAIndividual) pop.get(i)); + this.convertSingleIndividual(pop.get(i)); } } diff --git a/src/eva2/optimization/operator/mutation/MutateDefault.java b/src/eva2/optimization/operator/mutation/MutateDefault.java index 600a8fae..23a133e4 100644 --- a/src/eva2/optimization/operator/mutation/MutateDefault.java +++ b/src/eva2/optimization/operator/mutation/MutateDefault.java @@ -1,7 +1,6 @@ package eva2.optimization.operator.mutation; import eva2.optimization.individuals.AbstractEAIndividual; -import eva2.optimization.individuals.IndividualInterface; import eva2.optimization.population.Population; import eva2.problems.InterfaceOptimizationProblem; import eva2.util.annotation.Description; diff --git a/src/eva2/optimization/operator/mutation/MutateESCovarianceMatrixAdaptionPlus.java b/src/eva2/optimization/operator/mutation/MutateESCovarianceMatrixAdaptionPlus.java index c93bfe19..9a09a304 100644 --- a/src/eva2/optimization/operator/mutation/MutateESCovarianceMatrixAdaptionPlus.java +++ b/src/eva2/optimization/operator/mutation/MutateESCovarianceMatrixAdaptionPlus.java @@ -171,8 +171,8 @@ public class MutateESCovarianceMatrixAdaptionPlus extends // population as // well in case of // plus strategy - MutateESCovarianceMatrixAdaptionPlus mutator = (MutateESCovarianceMatrixAdaptionPlus) ((AbstractEAIndividual) selectedPop - .get(i)).getMutationOperator(); + MutateESCovarianceMatrixAdaptionPlus mutator = (MutateESCovarianceMatrixAdaptionPlus) selectedPop + .get(i).getMutationOperator(); updateMutator(rate, mutator); if (selectedPop.getEAIndividual(i).getFitness(0) <= parentPop .getEAIndividual(0).getFitness(0)) { @@ -184,8 +184,8 @@ public class MutateESCovarianceMatrixAdaptionPlus extends } } for (int i = 0; i < newPop.size(); i++) { - MutateESCovarianceMatrixAdaptionPlus mutator = (MutateESCovarianceMatrixAdaptionPlus) ((AbstractEAIndividual) newPop - .get(i)).getMutationOperator(); + MutateESCovarianceMatrixAdaptionPlus mutator = (MutateESCovarianceMatrixAdaptionPlus) newPop + .get(i).getMutationOperator(); updateMutator(rate, mutator); if (newPop.getEAIndividual(i).getFitness(0) <= parentPop .getEAIndividual(0).getFitness(0)) { diff --git a/src/eva2/optimization/operator/mutation/MutateESGlobal.java b/src/eva2/optimization/operator/mutation/MutateESGlobal.java index 34acfecd..f91f340f 100644 --- a/src/eva2/optimization/operator/mutation/MutateESGlobal.java +++ b/src/eva2/optimization/operator/mutation/MutateESGlobal.java @@ -138,16 +138,16 @@ public class MutateESGlobal implements InterfaceMutation, java.io.Serializable, if (crossoverType != MutateESCrossoverType.none) { ArrayList tmpList = new ArrayList<>(); if (indy1.getMutationOperator() instanceof MutateESGlobal) { - tmpList.add(new Double(((MutateESGlobal) indy1.getMutationOperator()).mutationStepSize)); + tmpList.add(((MutateESGlobal) indy1.getMutationOperator()).mutationStepSize); } for (int i = 0; i < partners.size(); i++) { - if (((AbstractEAIndividual) partners.get(i)).getMutationOperator() instanceof MutateESGlobal) { - tmpList.add(new Double(((MutateESGlobal) ((AbstractEAIndividual) partners.get(i)).getMutationOperator()).mutationStepSize)); + if (partners.get(i).getMutationOperator() instanceof MutateESGlobal) { + tmpList.add(((MutateESGlobal) partners.get(i).getMutationOperator()).mutationStepSize); } } double[] list = new double[tmpList.size()]; for (int i = 0; i < tmpList.size(); i++) { - list[i] = tmpList.get(i).doubleValue(); + list[i] = tmpList.get(i); } if (list.length <= 1) { return; diff --git a/src/eva2/optimization/operator/mutation/MutateESLocal.java b/src/eva2/optimization/operator/mutation/MutateESLocal.java index 47fedcc8..7b254452 100644 --- a/src/eva2/optimization/operator/mutation/MutateESLocal.java +++ b/src/eva2/optimization/operator/mutation/MutateESLocal.java @@ -158,9 +158,9 @@ public class MutateESLocal implements InterfaceMutation, InterfaceAdditionalPopu tmpListB.add(((MutateESLocal) indy1.getMutationOperator()).sigmas); } for (int i = 0; i < partners.size(); i++) { - if (((AbstractEAIndividual) partners.get(i)).getMutationOperator() instanceof MutateESLocal) { - tmpListA.add(((MutateESLocal) ((AbstractEAIndividual) partners.get(i)).getMutationOperator()).mutationStepSize); - tmpListB.add(((MutateESLocal) ((AbstractEAIndividual) partners.get(i)).getMutationOperator()).sigmas); + if (partners.get(i).getMutationOperator() instanceof MutateESLocal) { + tmpListA.add(((MutateESLocal) partners.get(i).getMutationOperator()).mutationStepSize); + tmpListB.add(((MutateESLocal) partners.get(i).getMutationOperator()).sigmas); } } double[] listA = new double[tmpListA.size()]; diff --git a/src/eva2/optimization/operator/mutation/MutateESSuccessRule.java b/src/eva2/optimization/operator/mutation/MutateESSuccessRule.java index 306ec39e..ea8ab686 100644 --- a/src/eva2/optimization/operator/mutation/MutateESSuccessRule.java +++ b/src/eva2/optimization/operator/mutation/MutateESSuccessRule.java @@ -1,6 +1,5 @@ package eva2.optimization.operator.mutation; -import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.population.Population; import eva2.util.annotation.Description; @@ -163,13 +162,13 @@ public class MutateESSuccessRule extends MutateESFixedStepSize implements Interf if (updateSelected) { for (int i = 0; i < selectedPop.size(); i++) { // applied to the old population as well in case of plus strategy - MutateESSuccessRule mutator = (MutateESSuccessRule) ((AbstractEAIndividual) selectedPop.get(i)).getMutationOperator(); + MutateESSuccessRule mutator = (MutateESSuccessRule) selectedPop.get(i).getMutationOperator(); updateMutator(rate, mutator); // System.out.println("old pop step size " + mutator.getSigma()+ " (" + mutator+ ")"); } } for (int i = 0; i < newPop.size(); i++) { - MutateESSuccessRule mutator = (MutateESSuccessRule) ((AbstractEAIndividual) newPop.get(i)).getMutationOperator(); + MutateESSuccessRule mutator = (MutateESSuccessRule) newPop.get(i).getMutationOperator(); updateMutator(rate, mutator); // System.out.println("new pop step size " + mutator.getSigma()+ " (" + mutator+ ")"); } diff --git a/src/eva2/optimization/operator/nichepso/deactivation/StandardDeactivationStrategy.java b/src/eva2/optimization/operator/nichepso/deactivation/StandardDeactivationStrategy.java index 5cd3e8a9..41e1ffc9 100644 --- a/src/eva2/optimization/operator/nichepso/deactivation/StandardDeactivationStrategy.java +++ b/src/eva2/optimization/operator/nichepso/deactivation/StandardDeactivationStrategy.java @@ -58,7 +58,7 @@ public class StandardDeactivationStrategy implements InterfaceDeactivationStrate AbstractEAIndividual currentindy = pop.getEAIndividual(i); double value; if (stdDevHorizon == NichePSO.defaultFitStdDevHorizon) { - value = ((Double) currentindy.getData(NichePSO.stdDevKey)).doubleValue(); + value = (Double) currentindy.getData(NichePSO.stdDevKey); } else { Vector fitArch = (Vector) currentindy.getData(NichePSO.fitArchiveKey); value = ParticleSubSwarmOptimization.stdDev(fitArch, stdDevHorizon); diff --git a/src/eva2/optimization/operator/nichepso/subswarmcreation/StandardSubswarmCreationStrategy.java b/src/eva2/optimization/operator/nichepso/subswarmcreation/StandardSubswarmCreationStrategy.java index eb3c37bb..39554948 100644 --- a/src/eva2/optimization/operator/nichepso/subswarmcreation/StandardSubswarmCreationStrategy.java +++ b/src/eva2/optimization/operator/nichepso/subswarmcreation/StandardSubswarmCreationStrategy.java @@ -47,7 +47,7 @@ public class StandardSubswarmCreationStrategy implements InterfaceSubswarmCreati } // check for stddev < delta condition - double stddev = (((Double) indy.getData(NichePSO.stdDevKey))).doubleValue(); + double stddev = (Double) indy.getData(NichePSO.stdDevKey); if (stddev >= getDelta()) { return false; } diff --git a/src/eva2/optimization/operator/paretofrontmetrics/MetricD1ApproxParetoFront.java b/src/eva2/optimization/operator/paretofrontmetrics/MetricD1ApproxParetoFront.java index 2fbbb16b..79c3d72b 100644 --- a/src/eva2/optimization/operator/paretofrontmetrics/MetricD1ApproxParetoFront.java +++ b/src/eva2/optimization/operator/paretofrontmetrics/MetricD1ApproxParetoFront.java @@ -2,7 +2,6 @@ package eva2.optimization.operator.paretofrontmetrics; import eva2.gui.PropertyFilePath; -import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.operator.archiving.ArchivingAllDominating; import eva2.optimization.population.Population; import eva2.problems.AbstractMultiObjectiveOptimizationProblem; @@ -109,7 +108,7 @@ public class MetricD1ApproxParetoFront implements eva2.optimization.operator.par for (int i = 0; i < tmpPPO.size(); i++) { min = Double.POSITIVE_INFINITY; for (int j = 0; j < this.reference.length; j++) { - min = Math.min(min, distance(((AbstractEAIndividual) tmpPPO.get(i)).getFitness(), this.reference[j])); + min = Math.min(min, distance(tmpPPO.get(i).getFitness(), this.reference[j])); } result += min; } diff --git a/src/eva2/optimization/operator/paretofrontmetrics/MetricD1TrueParetoFront.java b/src/eva2/optimization/operator/paretofrontmetrics/MetricD1TrueParetoFront.java index e59f187b..4796887f 100644 --- a/src/eva2/optimization/operator/paretofrontmetrics/MetricD1TrueParetoFront.java +++ b/src/eva2/optimization/operator/paretofrontmetrics/MetricD1TrueParetoFront.java @@ -2,7 +2,6 @@ package eva2.optimization.operator.paretofrontmetrics; import eva2.gui.PropertyFilePath; -import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.operator.archiving.ArchivingAllDominating; import eva2.optimization.population.Population; import eva2.problems.AbstractMultiObjectiveOptimizationProblem; @@ -110,7 +109,7 @@ public class MetricD1TrueParetoFront implements eva2.optimization.operator.paret for (int j = 0; j < this.reference.length; j++) { min = Double.POSITIVE_INFINITY; for (int i = 0; i < tmpPPO.size(); i++) { - min = Math.min(min, distance(((AbstractEAIndividual) tmpPPO.get(i)).getFitness(), this.reference[j])); + min = Math.min(min, distance(tmpPPO.get(i).getFitness(), this.reference[j])); } result += min; } diff --git a/src/eva2/optimization/operator/paretofrontmetrics/MetricErrorRatio.java b/src/eva2/optimization/operator/paretofrontmetrics/MetricErrorRatio.java index be690430..a98698a4 100644 --- a/src/eva2/optimization/operator/paretofrontmetrics/MetricErrorRatio.java +++ b/src/eva2/optimization/operator/paretofrontmetrics/MetricErrorRatio.java @@ -108,7 +108,7 @@ public class MetricErrorRatio implements eva2.optimization.operator.paretofrontm dom.addElementsToArchive(tmpPPO); tmpPPO = tmpPPO.getArchive(); for (int i = 0; i < tmpPPO.size(); i++) { - if (this.inReference((AbstractEAIndividual) tmpPPO.get(i))) { + if (this.inReference(tmpPPO.get(i))) { result++; } } diff --git a/src/eva2/optimization/operator/paretofrontmetrics/MetricMaximumParetoFrontError.java b/src/eva2/optimization/operator/paretofrontmetrics/MetricMaximumParetoFrontError.java index a13d194e..2f29755d 100644 --- a/src/eva2/optimization/operator/paretofrontmetrics/MetricMaximumParetoFrontError.java +++ b/src/eva2/optimization/operator/paretofrontmetrics/MetricMaximumParetoFrontError.java @@ -2,7 +2,6 @@ package eva2.optimization.operator.paretofrontmetrics; import eva2.gui.PropertyFilePath; -import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.operator.archiving.ArchivingAllDominating; import eva2.optimization.population.Population; import eva2.problems.AbstractMultiObjectiveOptimizationProblem; @@ -108,7 +107,7 @@ public class MetricMaximumParetoFrontError implements eva2.optimization.operator for (int j = 0; j < this.reference.length; j++) { min = Double.POSITIVE_INFINITY; for (int i = 0; i < tmpPPO.size(); i++) { - min = Math.min(min, distance(((AbstractEAIndividual) tmpPPO.get(i)).getFitness(), this.reference[j])); + min = Math.min(min, distance(tmpPPO.get(i).getFitness(), this.reference[j])); } result = Math.max(result, min); } diff --git a/src/eva2/optimization/operator/paretofrontmetrics/MetricOverallNonDominatedVectors.java b/src/eva2/optimization/operator/paretofrontmetrics/MetricOverallNonDominatedVectors.java index ad622341..a2ec37e2 100644 --- a/src/eva2/optimization/operator/paretofrontmetrics/MetricOverallNonDominatedVectors.java +++ b/src/eva2/optimization/operator/paretofrontmetrics/MetricOverallNonDominatedVectors.java @@ -1,6 +1,5 @@ package eva2.optimization.operator.paretofrontmetrics; -import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.operator.archiving.ArchivingAllDominating; import eva2.optimization.population.Population; import eva2.problems.AbstractMultiObjectiveOptimizationProblem; @@ -52,8 +51,8 @@ public class MetricOverallNonDominatedVectors implements InterfaceParetoFrontMet tmpPPO.addPopulation(pop.getArchive()); } for (int i = 0; i < tmpPPO.size(); i++) { - if (this.dominating.isDominant((AbstractEAIndividual) tmpPPO.get(i), tmpPop)) { - this.dominating.addIndividualToArchive((AbstractEAIndividual) tmpPPO.get(i), tmpPop); + if (this.dominating.isDominant(tmpPPO.get(i), tmpPop)) { + this.dominating.addIndividualToArchive(tmpPPO.get(i), tmpPop); } } return tmpPop.size(); diff --git a/src/eva2/optimization/operator/paretofrontmetrics/MetricS.java b/src/eva2/optimization/operator/paretofrontmetrics/MetricS.java index d8bdd16f..b916a900 100644 --- a/src/eva2/optimization/operator/paretofrontmetrics/MetricS.java +++ b/src/eva2/optimization/operator/paretofrontmetrics/MetricS.java @@ -102,7 +102,7 @@ public class MetricS implements InterfaceParetoFrontMetric, java.io.Serializable double[][] f = new double[archive.size()][dim]; double[] tmpF, redF; for (int i = 0; i < f.length; i++) { - tmpF = ((AbstractEAIndividual) archive.get(i)).getFitness(); + tmpF = archive.get(i).getFitness(); System.arraycopy(tmpF, 0, f[i], 0, dim); if (smPop != null) { redF = new double[tmpF.length - 1]; @@ -155,7 +155,7 @@ public class MetricS implements InterfaceParetoFrontMetric, java.io.Serializable double[][] tmpBorder; double tmpS; for (int j = 0; j < archive.size(); j++) { - if (((AbstractEAIndividual) archive.get(j)).getFitness(dim - 1) < f[tmpIndex][dim - 1]) { + if (archive.get(j).getFitness(dim - 1) < f[tmpIndex][dim - 1]) { // this one is small enough to join the next level tmpPop.add(smPop.get(j)); } @@ -186,7 +186,7 @@ public class MetricS implements InterfaceParetoFrontMetric, java.io.Serializable double[][] tmpBorder; double tmpS; for (int j = 0; j < archive.size(); j++) { - if (((AbstractEAIndividual) archive.get(j)).getFitness(dim - 1) <= lastValue[dim - 1]) { + if (archive.get(j).getFitness(dim - 1) <= lastValue[dim - 1]) { // this one is small enough to join the next level tmpPop.add(smPop.get(j)); } diff --git a/src/eva2/optimization/operator/paretofrontmetrics/MetricSWithReference.java b/src/eva2/optimization/operator/paretofrontmetrics/MetricSWithReference.java index ac006041..d5394ff2 100644 --- a/src/eva2/optimization/operator/paretofrontmetrics/MetricSWithReference.java +++ b/src/eva2/optimization/operator/paretofrontmetrics/MetricSWithReference.java @@ -152,7 +152,7 @@ public class MetricSWithReference implements InterfaceParetoFrontMetric, java.io double[][] f = new double[archive.size()][dim]; double[] tmpF, redF; for (int i = 0; i < f.length; i++) { - tmpF = ((AbstractEAIndividual) archive.get(i)).getFitness(); + tmpF = archive.get(i).getFitness(); System.arraycopy(tmpF, 0, f[i], 0, dim); if (smPop != null) { redF = new double[tmpF.length - 1]; @@ -204,7 +204,7 @@ public class MetricSWithReference implements InterfaceParetoFrontMetric, java.io double[][] tmpBorder; double tmpS; for (int j = 0; j < archive.size(); j++) { - if (((AbstractEAIndividual) archive.get(j)).getFitness(dim - 1) < f[tmpIndex][dim - 1]) { + if (archive.get(j).getFitness(dim - 1) < f[tmpIndex][dim - 1]) { // this one is small enough to join the next level tmpPop.add(smPop.get(j)); } @@ -235,7 +235,7 @@ public class MetricSWithReference implements InterfaceParetoFrontMetric, java.io double[][] tmpBorder; double tmpS; for (int j = 0; j < archive.size(); j++) { - if (((AbstractEAIndividual) archive.get(j)).getFitness(dim - 1) <= lastValue[dim - 1]) { + if (archive.get(j).getFitness(dim - 1) <= lastValue[dim - 1]) { // this one is small enough to join the next level tmpPop.add(smPop.get(j)); } diff --git a/src/eva2/optimization/operator/postprocess/PostProcess.java b/src/eva2/optimization/operator/postprocess/PostProcess.java index 74f5d717..308f998f 100644 --- a/src/eva2/optimization/operator/postprocess/PostProcess.java +++ b/src/eva2/optimization/operator/postprocess/PostProcess.java @@ -24,7 +24,6 @@ import eva2.optimization.operator.terminators.EvaluationTerminator; import eva2.optimization.operator.terminators.InterfaceTerminator; import eva2.optimization.population.Population; import eva2.optimization.statistics.InterfaceStatisticsParameters; -import eva2.optimization.statistics.StatisticsParameters; import eva2.problems.*; import eva2.optimization.statistics.InterfaceTextListener; import eva2.optimization.strategies.EvolutionStrategies; @@ -89,9 +88,9 @@ public class PostProcess { } for (int i = 0; i < pop.size(); i++) { - candidate = (AbstractEAIndividual) pop.get(i); + candidate = pop.get(i); for (int j = 0; j < optima.size(); j++) { - opt = (AbstractEAIndividual) optima.get(j); + opt = optima.get(j); indDist = metric.distance(candidate, opt); if (found[j] == null) { // current optimum has not been found yet if (indDist < epsilon) { @@ -340,7 +339,7 @@ public class PostProcess { int bestIndex = -1; AbstractEAIndividual opt; for (int j = 0; j < pop.size(); j++) { - opt = (AbstractEAIndividual) pop.get(j); + opt = pop.get(j); tmpDist = metric.distance(indy, opt); // distance current indy to current optimum if (bestDist < 0 || (tmpDist < bestDist)) { // we have a better hit bestIndex = j; diff --git a/src/eva2/optimization/operator/selection/SelectAll.java b/src/eva2/optimization/operator/selection/SelectAll.java index fdf6ef9d..045bb0cb 100644 --- a/src/eva2/optimization/operator/selection/SelectAll.java +++ b/src/eva2/optimization/operator/selection/SelectAll.java @@ -55,7 +55,7 @@ public class SelectAll implements InterfaceSelection, java.io.Serializable { if (this.obeyDebsConstViolationPrinciple) { int index = 0; while (result.size() < size) { - if (!((AbstractEAIndividual) population.get(index % population.size())).violatesConstraint()) { + if (!population.get(index % population.size()).violatesConstraint()) { result.add(population.get(index % population.size())); } index++; diff --git a/src/eva2/optimization/operator/selection/SelectBestSingle.java b/src/eva2/optimization/operator/selection/SelectBestSingle.java index 48722afe..277e7c4d 100644 --- a/src/eva2/optimization/operator/selection/SelectBestSingle.java +++ b/src/eva2/optimization/operator/selection/SelectBestSingle.java @@ -65,7 +65,7 @@ public class SelectBestSingle implements InterfaceSelection, java.io.Serializabl if (population.size() == 0) { return population; } // trivial - critSize = ((AbstractEAIndividual) population.get(0)).getFitness().length; + critSize = population.get(0).getFitness().length; result.setTargetSize(size); if (this.obeyDebsConstViolationPrinciple) { for (int i = 0; i < size; i++) { @@ -73,18 +73,18 @@ public class SelectBestSingle implements InterfaceSelection, java.io.Serializabl currentBestValue = Double.POSITIVE_INFINITY; tmpIndy = null; for (int j = 0; j < population.size(); j++) { - if ((!((AbstractEAIndividual) population.get(j)).violatesConstraint()) && (((AbstractEAIndividual) population.get(j)).getFitness(currentCriteria) < currentBestValue)) { - currentBestValue = ((AbstractEAIndividual) population.get(j)).getFitness(currentCriteria); - tmpIndy = (AbstractEAIndividual) population.get(j); + if ((!population.get(j).violatesConstraint()) && (population.get(j).getFitness(currentCriteria) < currentBestValue)) { + currentBestValue = population.get(j).getFitness(currentCriteria); + tmpIndy = population.get(j); } } if (tmpIndy == null) { // darn all individuals violate the constraints // so select the guy with the least worst constraint violation for (int j = 0; j < population.size(); j++) { - if (((AbstractEAIndividual) population.get(j)).getConstraintViolation() < currentBestValue) { - currentBestValue = ((AbstractEAIndividual) population.get(j)).getConstraintViolation(); - tmpIndy = (AbstractEAIndividual) population.get(j); + if (population.get(j).getConstraintViolation() < currentBestValue) { + currentBestValue = population.get(j).getConstraintViolation(); + tmpIndy = population.get(j); } } } @@ -95,9 +95,9 @@ public class SelectBestSingle implements InterfaceSelection, java.io.Serializabl currentCriteria = RNG.randomInt(0, critSize - 1); currentBestValue = Double.POSITIVE_INFINITY; for (int j = 0; j < population.size(); j++) { - if (((AbstractEAIndividual) population.get(j)).getFitness(currentCriteria) < currentBestValue) { - currentBestValue = ((AbstractEAIndividual) population.get(j)).getFitness(currentCriteria); - tmpIndy = (AbstractEAIndividual) population.get(j); + if (population.get(j).getFitness(currentCriteria) < currentBestValue) { + currentBestValue = population.get(j).getFitness(currentCriteria); + tmpIndy = population.get(j); } } result.add(tmpIndy); diff --git a/src/eva2/optimization/operator/selection/SelectEPTournaments.java b/src/eva2/optimization/operator/selection/SelectEPTournaments.java index 01c0726d..1e11cc07 100644 --- a/src/eva2/optimization/operator/selection/SelectEPTournaments.java +++ b/src/eva2/optimization/operator/selection/SelectEPTournaments.java @@ -65,14 +65,14 @@ public class SelectEPTournaments implements InterfaceSelection, java.io.Serializ // perform tournament for (int k = 0; k < this.tournamentSize; k++) { rand = RNG.randomInt(0, population.size() - 1); - tmpIndy = ((AbstractEAIndividual) population.get(rand)); + tmpIndy = population.get(rand); for (int l = 0; l < best.length; l++) { if (this.obeyDebsConstViolationPrinciple) { - if ((!tmpIndy.violatesConstraint()) && (tmpIndy.getFitness(l) < ((AbstractEAIndividual) population.get(best[l])).getFitness(l))) { + if ((!tmpIndy.violatesConstraint()) && (tmpIndy.getFitness(l) < population.get(best[l]).getFitness(l))) { best[l] = rand; } } else { - if (tmpIndy.getFitness(l) < ((AbstractEAIndividual) population.get(best[l])).getFitness(l)) { + if (tmpIndy.getFitness(l) < population.get(best[l]).getFitness(l)) { best[l] = rand; } } diff --git a/src/eva2/optimization/operator/selection/SelectHomologousMate.java b/src/eva2/optimization/operator/selection/SelectHomologousMate.java index 7323c969..316a3095 100644 --- a/src/eva2/optimization/operator/selection/SelectHomologousMate.java +++ b/src/eva2/optimization/operator/selection/SelectHomologousMate.java @@ -58,7 +58,7 @@ public class SelectHomologousMate extends SelectTournament implements java.io.Se // first select all possible partners for daddy // to be honest daddy himself is not omitted.... for (int i = 0; i < availablePartners.size(); i++) { - if (this.metric.distance(dad, (AbstractEAIndividual) availablePartners.get(i)) < this.matingRadius) { + if (this.metric.distance(dad, availablePartners.get(i)) < this.matingRadius) { possibleMates.add(availablePartners.get(i)); } } diff --git a/src/eva2/optimization/operator/selection/SelectMOMAIIDominanceCounter.java b/src/eva2/optimization/operator/selection/SelectMOMAIIDominanceCounter.java index f4fd6fca..d252987c 100644 --- a/src/eva2/optimization/operator/selection/SelectMOMAIIDominanceCounter.java +++ b/src/eva2/optimization/operator/selection/SelectMOMAIIDominanceCounter.java @@ -46,7 +46,7 @@ public class SelectMOMAIIDominanceCounter implements InterfaceSelection, java.io // reset the stuff for (int i = 0; i < population.size(); i++) { - tmpIndy1 = (AbstractEAIndividual) population.get(i); + tmpIndy1 = population.get(i); tmpObj = tmpIndy1.getData("MOMAII"); if ((tmpObj != null) && (tmpObj instanceof MOMultipleSolutions)) { ((MOMultipleSolutions) tmpObj).reset(); @@ -55,14 +55,14 @@ public class SelectMOMAIIDominanceCounter implements InterfaceSelection, java.io // now check the stuff for (int i = 0; i < population.size(); i++) { - tmpIndy1 = (AbstractEAIndividual) population.get(i); + tmpIndy1 = population.get(i); tmpObj = tmpIndy1.getData("MOMAII"); if ((tmpObj != null) && (tmpObj instanceof MOMultipleSolutions)) { malta = (MOMultipleSolutions) tmpObj; //for (int j = i+1; j < population.size(); i++) { // MK: Im rather sure the i++ was intended to become a j++ for (int j = i + 1; j < population.size(); j++) { - tmpIndy2 = (AbstractEAIndividual) population.get(j); + tmpIndy2 = population.get(j); tmpObj = tmpIndy2.getData("MOMAII"); if ((tmpObj != null) && (tmpObj instanceof MOMultipleSolutions)) { tmpMalta = (MOMultipleSolutions) tmpObj; diff --git a/src/eva2/optimization/operator/selection/SelectMOMaxiMin.java b/src/eva2/optimization/operator/selection/SelectMOMaxiMin.java index f3134730..e4b79362 100644 --- a/src/eva2/optimization/operator/selection/SelectMOMaxiMin.java +++ b/src/eva2/optimization/operator/selection/SelectMOMaxiMin.java @@ -65,8 +65,8 @@ public class SelectMOMaxiMin implements InterfaceSelection, java.io.Serializable // now unconvert from SO to MO for (int i = 0; i < result.size(); i++) { - tmpD = (double[]) ((AbstractEAIndividual) result.get(i)).getData("MOFitness"); - ((AbstractEAIndividual) result.get(i)).setFitness(tmpD); + tmpD = (double[]) result.get(i).getData("MOFitness"); + result.get(i).setFitness(tmpD); } return result; } diff --git a/src/eva2/optimization/operator/selection/SelectMONSGAIICrowedTournament.java b/src/eva2/optimization/operator/selection/SelectMONSGAIICrowedTournament.java index 441611b0..5c6cc64f 100644 --- a/src/eva2/optimization/operator/selection/SelectMONSGAIICrowedTournament.java +++ b/src/eva2/optimization/operator/selection/SelectMONSGAIICrowedTournament.java @@ -80,8 +80,8 @@ public class SelectMONSGAIICrowedTournament implements InterfaceSelection, java. try { for (int i = 0; i < this.tournamentSize; i++) { - tmpIndy = (AbstractEAIndividual) population.get(RNG.randomInt(0, population.size() - 1)); - tmpL = ((Integer) tmpIndy.getData("ParetoLevel")).intValue(); + tmpIndy = population.get(RNG.randomInt(0, population.size() - 1)); + tmpL = (Integer) tmpIndy.getData("ParetoLevel"); if (tmpL < smallestLevel) { smallestLevel = tmpL; } @@ -95,39 +95,39 @@ public class SelectMONSGAIICrowedTournament implements InterfaceSelection, java. // choose the least infeasible one int best = 0; for (int i = 1; i < infeasiblePop.size(); i++) { - if (((AbstractEAIndividual) infeasiblePop.get(i)).getConstraintViolation() < ((AbstractEAIndividual) infeasiblePop.get(best)).getConstraintViolation()) { + if (infeasiblePop.get(i).getConstraintViolation() < infeasiblePop.get(best).getConstraintViolation()) { best = i; } } - return (AbstractEAIndividual) infeasiblePop.get(best); + return infeasiblePop.get(best); } // recalculate the smallest level for the feasible solutions smallestLevel = Integer.MAX_VALUE; for (int i = 0; i < feasiblePop.size(); i++) { - tmpIndy = (AbstractEAIndividual) feasiblePop.get(i); - tmpL = ((Integer) tmpIndy.getData("ParetoLevel")).intValue(); + tmpIndy = feasiblePop.get(i); + tmpL = (Integer) tmpIndy.getData("ParetoLevel"); if (tmpL < smallestLevel) { smallestLevel = tmpL; } } // first remove all individual from tmpPop which are not of smallestLevel for (int i = 0; i < feasiblePop.size(); i++) { - if (((Integer) ((AbstractEAIndividual) feasiblePop.get(i)).getData("ParetoLevel")).intValue() > smallestLevel) { + if ((Integer) feasiblePop.get(i).getData("ParetoLevel") > smallestLevel) { feasiblePop.remove(i); i--; } } if (feasiblePop.size() == 1) { - return (AbstractEAIndividual) feasiblePop.get(0); + return feasiblePop.get(0); } else { // now find the one with the biggest crowding distance - result = (AbstractEAIndividual) feasiblePop.get(0); - curCrowdingDistance = ((Double) (result.getData("HyperCube"))).doubleValue(); + result = feasiblePop.get(0); + curCrowdingDistance = (Double) (result.getData("HyperCube")); for (int i = 1; i < feasiblePop.size(); i++) { - tmpCrowdingDistance = ((Double) ((AbstractEAIndividual) feasiblePop.get(i)).getData("HyperCube")).doubleValue(); + tmpCrowdingDistance = (Double) feasiblePop.get(i).getData("HyperCube"); if (tmpCrowdingDistance > curCrowdingDistance) { curCrowdingDistance = tmpCrowdingDistance; - result = (AbstractEAIndividual) feasiblePop.get(i); + result = feasiblePop.get(i); } } } diff --git a/src/eva2/optimization/operator/selection/SelectMONonDominated.java b/src/eva2/optimization/operator/selection/SelectMONonDominated.java index 33decc9f..8080a33b 100644 --- a/src/eva2/optimization/operator/selection/SelectMONonDominated.java +++ b/src/eva2/optimization/operator/selection/SelectMONonDominated.java @@ -57,7 +57,7 @@ public class SelectMONonDominated implements InterfaceSelection, java.io.Seriali if (this.obeyDebsConstViolationPrinciple) { boolean feasible = false; for (int i = 0; i < population.size(); i++) { - if (((AbstractEAIndividual) population.get(i)).getConstraintViolation() == 0) { + if (population.get(i).getConstraintViolation() == 0) { feasible = true; } } @@ -69,8 +69,8 @@ public class SelectMONonDominated implements InterfaceSelection, java.io.Seriali System.out.println("Pop.Size(): " + population.size()); tmpI = 0; } - if ((((AbstractEAIndividual) population.get(tmpI)).getConstraintViolation() == 0) && (this.isDominant((AbstractEAIndividual) population.get(tmpI), population))) { - result.addIndividual((AbstractEAIndividual) population.get(index % population.size())); + if ((population.get(tmpI).getConstraintViolation() == 0) && (this.isDominant(population.get(tmpI), population))) { + result.addIndividual(population.get(index % population.size())); } index++; } @@ -86,8 +86,8 @@ public class SelectMONonDominated implements InterfaceSelection, java.io.Seriali System.out.println("Pop.Size(): " + population.size()); tmpI = 0; } - if (this.isDominant((AbstractEAIndividual) population.get(tmpI), population)) { - result.addIndividual((AbstractEAIndividual) population.get(index % population.size())); + if (this.isDominant(population.get(tmpI), population)) { + result.addIndividual(population.get(index % population.size())); } index++; } @@ -119,13 +119,13 @@ public class SelectMONonDominated implements InterfaceSelection, java.io.Seriali public boolean isDominant(AbstractEAIndividual indy, Population pop) { if (this.obeyDebsConstViolationPrinciple) { for (int i = 0; i < pop.size(); i++) { - if (!(indy.equals(pop.get(i))) && (((AbstractEAIndividual) pop.get(i)).isDominatingDebConstraintsEqual(indy))) { + if (!(indy.equals(pop.get(i))) && (pop.get(i).isDominatingDebConstraintsEqual(indy))) { return false; } } } else { for (int i = 0; i < pop.size(); i++) { - if (!(indy.equals(pop.get(i))) && (((AbstractEAIndividual) pop.get(i)).isDominatingEqual(indy))) { + if (!(indy.equals(pop.get(i))) && (pop.get(i).isDominatingEqual(indy))) { return false; } } diff --git a/src/eva2/optimization/operator/selection/SelectMOPESA.java b/src/eva2/optimization/operator/selection/SelectMOPESA.java index 36ca6315..cdbea7d1 100644 --- a/src/eva2/optimization/operator/selection/SelectMOPESA.java +++ b/src/eva2/optimization/operator/selection/SelectMOPESA.java @@ -80,7 +80,7 @@ public class SelectMOPESA implements InterfaceSelection, java.io.Serializable { winner = tmp; } } - resultIndy = (AbstractEAIndividual) population.get(winner); + resultIndy = population.get(winner); } catch (java.lang.IndexOutOfBoundsException e) { System.out.println("Tournament Selection produced IndexOutOfBoundsException!"); resultIndy = population.getBestEAIndividual(); diff --git a/src/eva2/optimization/operator/selection/SelectMOPESAII.java b/src/eva2/optimization/operator/selection/SelectMOPESAII.java index 4114302f..cd8b8ff4 100644 --- a/src/eva2/optimization/operator/selection/SelectMOPESAII.java +++ b/src/eva2/optimization/operator/selection/SelectMOPESAII.java @@ -57,7 +57,7 @@ public class SelectMOPESAII implements InterfaceSelection, java.io.Serializable // first build the hashtable for (int i = 0; i < population.size(); i++) { - tmpIndy = (AbstractEAIndividual) population.get(i); + tmpIndy = population.get(i); gridBox = (int[]) tmpIndy.getData("GridBox"); tmpString = ""; for (int j = 0; j < gridBox.length; j++) { @@ -111,8 +111,8 @@ public class SelectMOPESAII implements InterfaceSelection, java.io.Serializable try { box1 = (ArrayList) this.gridBoxes.get(RNG.randomInt(0, this.gridBoxes.size() - 1)); box2 = (ArrayList) this.gridBoxes.get(RNG.randomInt(0, this.gridBoxes.size() - 1)); - if (((Integer) ((AbstractEAIndividual) box1.get(0)).getData("SqueezeFactor")).intValue() - < ((Integer) ((AbstractEAIndividual) box2.get(0)).getData("SqueezeFactor")).intValue()) { + if ((Integer) ((AbstractEAIndividual) box1.get(0)).getData("SqueezeFactor") + < (Integer) ((AbstractEAIndividual) box2.get(0)).getData("SqueezeFactor")) { resultIndy = (AbstractEAIndividual) (box1.get(RNG.randomInt(0, box1.size() - 1))); } else { resultIndy = (AbstractEAIndividual) (box2.get(RNG.randomInt(0, box2.size() - 1))); diff --git a/src/eva2/optimization/operator/selection/SelectMOSPEAII.java b/src/eva2/optimization/operator/selection/SelectMOSPEAII.java index 29ad392e..3fd79b9d 100644 --- a/src/eva2/optimization/operator/selection/SelectMOSPEAII.java +++ b/src/eva2/optimization/operator/selection/SelectMOSPEAII.java @@ -64,10 +64,10 @@ public class SelectMOSPEAII implements InterfaceSelection, java.io.Serializable double[][] orgFit = new double[population.size()][]; double[] newFit = new double[1]; for (int i = 0; i < population.size(); i++) { - orgFit[i] = ((AbstractEAIndividual) population.get(i)).getFitness(); + orgFit[i] = population.get(i).getFitness(); newFit = new double[1]; newFit[0] = this.SPEAFitness[i]; - ((AbstractEAIndividual) population.get(i)).setFitness(newFit); + population.get(i).setFitness(newFit); } // then select @@ -75,7 +75,7 @@ public class SelectMOSPEAII implements InterfaceSelection, java.io.Serializable // finally replace the fitness with the original for (int i = 0; i < population.size(); i++) { - ((AbstractEAIndividual) population.get(i)).setFitness(orgFit[i]); + population.get(i).setFitness(orgFit[i]); } if (false) { @@ -103,7 +103,7 @@ public class SelectMOSPEAII implements InterfaceSelection, java.io.Serializable // Now plot the selection for (int i = 0; i < result.size(); i++) { - tmpD = ((AbstractEAIndividual) result.get(i)).getFitness(); + tmpD = result.get(i).getFitness(); plot.setUnconnectedPoint(tmpD[0], tmpD[1], 11); } } diff --git a/src/eva2/optimization/operator/selection/SelectRandom.java b/src/eva2/optimization/operator/selection/SelectRandom.java index 29e74fc5..112ba851 100644 --- a/src/eva2/optimization/operator/selection/SelectRandom.java +++ b/src/eva2/optimization/operator/selection/SelectRandom.java @@ -64,7 +64,7 @@ public class SelectRandom implements InterfaceSelection, java.io.Serializable { int index = 0, rand; while (result.size() < size) { rand = RNG.randomInt(0, population.size() - 1); - if (!((AbstractEAIndividual) population.get(rand)).violatesConstraint()) { + if (!population.get(rand).violatesConstraint()) { result.add(population.get(rand)); } index++; diff --git a/src/eva2/optimization/operator/selection/SelectTournament.java b/src/eva2/optimization/operator/selection/SelectTournament.java index 4f28eddc..3859cdca 100644 --- a/src/eva2/optimization/operator/selection/SelectTournament.java +++ b/src/eva2/optimization/operator/selection/SelectTournament.java @@ -78,7 +78,7 @@ public class SelectTournament implements InterfaceSelection, java.io.Serializabl int currentCriteria = 0, critSize = 0; try { - critSize = ((AbstractEAIndividual) population.get(0)).getFitness().length; + critSize = population.get(0).getFitness().length; currentCriteria = RNG.randomInt(0, critSize - 1); if (this.obeyDebsConstViolationPrinciple) { Population tournamentGroup = new Population(); @@ -87,11 +87,11 @@ public class SelectTournament implements InterfaceSelection, java.io.Serializabl } SelectBestIndividuals best = new SelectBestIndividuals(); best.setObeyDebsConstViolationPrinciple(true); - result = (AbstractEAIndividual) best.selectFrom(tournamentGroup, 1).get(0); + result = best.selectFrom(tournamentGroup, 1).get(0); } else { - result = (AbstractEAIndividual) population.get(RNG.randomInt(0, population.size() - 1)); + result = population.get(RNG.randomInt(0, population.size() - 1)); for (int i = 1; i < this.tournamentSize; i++) { - tmpIndy = (AbstractEAIndividual) population.get(RNG.randomInt(0, population.size() - 1)); + tmpIndy = population.get(RNG.randomInt(0, population.size() - 1)); if (tmpIndy.getFitness(currentCriteria) < result.getFitness(currentCriteria)) { result = tmpIndy; } diff --git a/src/eva2/optimization/operator/selection/SelectXProbRouletteWheel.java b/src/eva2/optimization/operator/selection/SelectXProbRouletteWheel.java index 3c300c2b..c58ab0e4 100644 --- a/src/eva2/optimization/operator/selection/SelectXProbRouletteWheel.java +++ b/src/eva2/optimization/operator/selection/SelectXProbRouletteWheel.java @@ -78,8 +78,8 @@ public class SelectXProbRouletteWheel implements InterfaceSelection, java.io.Ser double[][] tmpList = new double[p.size()][]; for (int i = 0; i < p.size(); i++) { - tmpList[i] = new double[((AbstractEAIndividual) (p.get(i))).getSelectionProbability().length]; - System.arraycopy(((AbstractEAIndividual) (p.get(i))).getSelectionProbability(), 0, tmpList[i], 0, tmpList[i].length); + tmpList[i] = new double[p.get(i).getSelectionProbability().length]; + System.arraycopy(p.get(i).getSelectionProbability(), 0, tmpList[i], 0, tmpList[i].length); if (i > 0) { for (int j = 0; j < tmpList[i].length; j++) { tmpList[i][j] += tmpList[i - 1][j]; @@ -107,12 +107,12 @@ public class SelectXProbRouletteWheel implements InterfaceSelection, java.io.Ser private AbstractEAIndividual selectTree(Population population) { int currentCriteria = 0, critSize; - critSize = ((AbstractEAIndividual) population.get(0)).getSelectionProbability().length; + critSize = population.get(0).getSelectionProbability().length; currentCriteria = RNG.randomInt(0, critSize - 1); double d = RNG.randomDouble(); int index = this.treeRoot[currentCriteria].getIndexFor(d); //System.out.println("Looking for: " + d + " found " +index); - return ((AbstractEAIndividual) (population.get(index))); + return population.get(index); } private AbstractEAIndividual selectStandard(Population population) { @@ -120,17 +120,17 @@ public class SelectXProbRouletteWheel implements InterfaceSelection, java.io.Ser double sum = 1, random, tmpD; int currentCriteria = 0, critSize; - critSize = ((AbstractEAIndividual) population.get(0)).getSelectionProbability().length; + critSize = population.get(0).getSelectionProbability().length; currentCriteria = RNG.randomInt(0, critSize - 1); String logger = ""; while (sum > 0) { sum = 0; random = RNG.randomDouble(); for (int i = 0; i < population.size(); i++) { - tmpD = ((AbstractEAIndividual) (population.get(i))).getSelectionProbability(currentCriteria); + tmpD = population.get(i).getSelectionProbability(currentCriteria); logger += tmpD + "; "; if (random < (sum + tmpD)) { - return ((AbstractEAIndividual) (population.get(i))); + return population.get(i); } else { sum += tmpD; } diff --git a/src/eva2/optimization/operator/selection/probability/AbstractSelProb.java b/src/eva2/optimization/operator/selection/probability/AbstractSelProb.java index 7cec214e..ee2dbb03 100644 --- a/src/eva2/optimization/operator/selection/probability/AbstractSelProb.java +++ b/src/eva2/optimization/operator/selection/probability/AbstractSelProb.java @@ -77,7 +77,7 @@ public abstract class AbstractSelProb implements InterfaceSelectionProbability, result = new double[population.size()][]; for (int i = 0; i < population.size(); i++) { - tmpIndy = (AbstractEAIndividual) population.get(i); + tmpIndy = population.get(i); tmpList = new ArrayList(); for (int j = 0; j < inputs.length; j++) { obj = tmpIndy.getData(inputs[j]); @@ -86,7 +86,7 @@ public abstract class AbstractSelProb implements InterfaceSelectionProbability, } if (obj instanceof double[]) { for (int m = 0; m < ((double[]) obj).length; m++) { - tmpList.add(new Double(((double[]) obj)[m])); + tmpList.add(((double[]) obj)[m]); } continue; } @@ -96,7 +96,7 @@ public abstract class AbstractSelProb implements InterfaceSelectionProbability, } if (obj instanceof float[]) { for (int m = 0; m < ((float[]) obj).length; m++) { - tmpList.add(new Double(((float[]) obj)[m])); + tmpList.add((double) ((float[]) obj)[m]); } continue; } @@ -106,7 +106,7 @@ public abstract class AbstractSelProb implements InterfaceSelectionProbability, } if (obj instanceof long[]) { for (int m = 0; m < ((long[]) obj).length; m++) { - tmpList.add(new Double(((long[]) obj)[m])); + tmpList.add((double) ((long[]) obj)[m]); } continue; } @@ -116,7 +116,7 @@ public abstract class AbstractSelProb implements InterfaceSelectionProbability, } if (obj instanceof int[]) { for (int m = 0; m < ((int[]) obj).length; m++) { - tmpList.add(new Double(((int[]) obj)[m])); + tmpList.add((double) ((int[]) obj)[m]); } continue; } @@ -127,7 +127,7 @@ public abstract class AbstractSelProb implements InterfaceSelectionProbability, // now we got a complete ArrayList tmpD = new double[tmpList.size()]; for (int j = 0; j < tmpD.length; j++) { - tmpD[j] = ((Double) tmpList.get(j)).doubleValue(); + tmpD[j] = (Double) tmpList.get(j); } result[i] = tmpD; } diff --git a/src/eva2/optimization/operator/selection/probability/SelProbBoltzman.java b/src/eva2/optimization/operator/selection/probability/SelProbBoltzman.java index 8951db6e..14506319 100644 --- a/src/eva2/optimization/operator/selection/probability/SelProbBoltzman.java +++ b/src/eva2/optimization/operator/selection/probability/SelProbBoltzman.java @@ -1,6 +1,5 @@ package eva2.optimization.operator.selection.probability; -import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.population.Population; import eva2.util.annotation.Description; @@ -47,7 +46,7 @@ public class SelProbBoltzman extends AbstractSelProb implements java.io.Serializ // first check if anyone holds the constraints boolean isFeasible = false; for (int i = 0; i < population.size(); i++) { - if (!((AbstractEAIndividual) population.get(i)).violatesConstraint()) { + if (!population.get(i).violatesConstraint()) { isFeasible = true; } } @@ -66,7 +65,7 @@ public class SelProbBoltzman extends AbstractSelProb implements java.io.Serializ } } for (int i = 0; i < data.length; i++) { - if (!((AbstractEAIndividual) population.get(i)).violatesConstraint()) { + if (!population.get(i).violatesConstraint()) { result[i] = -data[i][x]; } else { result[i] = -worst; @@ -84,7 +83,7 @@ public class SelProbBoltzman extends AbstractSelProb implements java.io.Serializ } sum = 0; for (int i = 0; i < data.length; i++) { - if (!((AbstractEAIndividual) population.get(i)).violatesConstraint()) { + if (!population.get(i).violatesConstraint()) { result[i] = Math.exp((this.q * -data[i][x]) / dev); } else { result[i] = Math.exp((this.q * -worst) / dev); @@ -120,7 +119,7 @@ public class SelProbBoltzman extends AbstractSelProb implements java.io.Serializ } for (int i = 0; i < population.size(); i++) { - ((AbstractEAIndividual) population.get(i)).setSelectionProbability(x, result[i]); + population.get(i).setSelectionProbability(x, result[i]); } } } else { @@ -129,7 +128,7 @@ public class SelProbBoltzman extends AbstractSelProb implements java.io.Serializ mean = 0; dev = 0; for (int i = 0; i < data.length; i++) { - result[i] = -((AbstractEAIndividual) population.get(i)).getConstraintViolation(); + result[i] = -population.get(i).getConstraintViolation(); sum += result[i]; } mean = sum / ((double) data.length); @@ -142,7 +141,7 @@ public class SelProbBoltzman extends AbstractSelProb implements java.io.Serializ } sum = 0; for (int i = 0; i < data.length; i++) { - result[i] = Math.exp((this.q * -((AbstractEAIndividual) population.get(i)).getConstraintViolation()) / dev); + result[i] = Math.exp((this.q * -population.get(i).getConstraintViolation()) / dev); sum += result[i]; } @@ -171,7 +170,7 @@ public class SelProbBoltzman extends AbstractSelProb implements java.io.Serializ for (int i = 0; i < population.size(); i++) { double[] tmpD = new double[1]; tmpD[0] = result[i] / sum; - ((AbstractEAIndividual) population.get(i)).setSelectionProbability(tmpD); + population.get(i).setSelectionProbability(tmpD); } } } else { @@ -221,7 +220,7 @@ public class SelProbBoltzman extends AbstractSelProb implements java.io.Serializ } for (int i = 0; i < population.size(); i++) { - ((AbstractEAIndividual) population.get(i)).setSelectionProbability(x, result[i]); + population.get(i).setSelectionProbability(x, result[i]); } } } diff --git a/src/eva2/optimization/operator/selection/probability/SelProbFitnessSharing.java b/src/eva2/optimization/operator/selection/probability/SelProbFitnessSharing.java index 724e5441..392e8b8a 100644 --- a/src/eva2/optimization/operator/selection/probability/SelProbFitnessSharing.java +++ b/src/eva2/optimization/operator/selection/probability/SelProbFitnessSharing.java @@ -51,12 +51,12 @@ public class SelProbFitnessSharing extends AbstractSelProb implements java.io.Se double distance, sharing, sum = 0; AbstractEAIndividual tmpIndy1, tmpIndy2; for (int i = 0; i < population.size(); i++) { - tmpIndy1 = ((AbstractEAIndividual) population.get(i)); + tmpIndy1 = population.get(i); selProb[i] = tmpIndy1.getSelectionProbability()[0]; sharing = 0; for (int j = 0; j < population.size(); j++) { if (i != j) { - distance = this.distanceMetric.distance(tmpIndy1, ((AbstractEAIndividual) population.get(i))); + distance = this.distanceMetric.distance(tmpIndy1, population.get(i)); if (distance < this.sharingDistance) { sharing += (1 - distance / this.sharingDistance); } @@ -66,7 +66,7 @@ public class SelProbFitnessSharing extends AbstractSelProb implements java.io.Se sum += selProb[i]; } for (int i = 0; i < population.size(); i++) { - tmpIndy1 = ((AbstractEAIndividual) population.get(i)); + tmpIndy1 = population.get(i); tmpIndy1.setSelectionProbability(0, (selProb[i] / sum)); } } diff --git a/src/eva2/optimization/operator/selection/probability/SelProbInvertByMax.java b/src/eva2/optimization/operator/selection/probability/SelProbInvertByMax.java index 80cf5d7e..7c6315ae 100644 --- a/src/eva2/optimization/operator/selection/probability/SelProbInvertByMax.java +++ b/src/eva2/optimization/operator/selection/probability/SelProbInvertByMax.java @@ -1,6 +1,5 @@ package eva2.optimization.operator.selection.probability; -import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.population.Population; import eva2.util.annotation.Description; @@ -71,7 +70,7 @@ public class SelProbInvertByMax extends AbstractSelProb { } for (int i = 0; i < population.size(); i++) { - ((AbstractEAIndividual) population.get(i)).setSelectionProbability(x, result[i] / sum); + population.get(i).setSelectionProbability(x, result[i] / sum); } } } else { @@ -80,7 +79,7 @@ public class SelProbInvertByMax extends AbstractSelProb { sum = 0; // iterating over the individuals for (int i = 0; i < data.length; i++) { - result[i] = Math.exp(-((AbstractEAIndividual) population.get(i)).getConstraintViolation()); + result[i] = Math.exp(-population.get(i).getConstraintViolation()); } for (int i = 0; i < data.length; i++) { sum += result[i]; @@ -88,7 +87,7 @@ public class SelProbInvertByMax extends AbstractSelProb { for (int i = 0; i < population.size(); i++) { double[] tmpD = new double[1]; tmpD[0] = result[i] / sum; - ((AbstractEAIndividual) population.get(i)).setSelectionProbability(tmpD); + population.get(i).setSelectionProbability(tmpD); } } } diff --git a/src/eva2/optimization/operator/selection/probability/SelProbLinearRanking.java b/src/eva2/optimization/operator/selection/probability/SelProbLinearRanking.java index e41859a5..b3de4af5 100644 --- a/src/eva2/optimization/operator/selection/probability/SelProbLinearRanking.java +++ b/src/eva2/optimization/operator/selection/probability/SelProbLinearRanking.java @@ -1,6 +1,5 @@ package eva2.optimization.operator.selection.probability; -import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.population.Population; import eva2.util.annotation.Description; @@ -44,7 +43,7 @@ public class SelProbLinearRanking extends AbstractSelProb implements java.io.Ser // first check if anyone holds the constraints boolean isFeasible = false; for (int i = 0; i < population.size(); i++) { - if (!((AbstractEAIndividual) population.get(i)).violatesConstraint()) { + if (!population.get(i).violatesConstraint()) { isFeasible = true; } } @@ -64,7 +63,7 @@ public class SelProbLinearRanking extends AbstractSelProb implements java.io.Ser result[i] = 0; } for (int i = 0; i < data.length; i++) { - if (!(((AbstractEAIndividual) population.get(i)).violatesConstraint())) { + if (!(population.get(i).violatesConstraint())) { fitness[i] = data[i][x]; } else { fitness[i] = worst; @@ -92,7 +91,7 @@ public class SelProbLinearRanking extends AbstractSelProb implements java.io.Ser // set the selection propability for (int i = 0; i < data.length; i++) { temp = (1 / (double) size) * (this.nappaPlus - ((this.nappaPlus - this.nappaMinus) * ((double) (i) / (double) (size - 1)))); - ((AbstractEAIndividual) population.get(rank_index[i])).setSelectionProbability(x, temp); + population.get(rank_index[i]).setSelectionProbability(x, temp); } } } else { @@ -103,7 +102,7 @@ public class SelProbLinearRanking extends AbstractSelProb implements java.io.Ser result[i] = 0; } for (int i = 0; i < data.length; i++) { - fitness[i] = -((AbstractEAIndividual) population.get(i)).getConstraintViolation(); + fitness[i] = -population.get(i).getConstraintViolation(); rank_index[i] = i; } @@ -128,7 +127,7 @@ public class SelProbLinearRanking extends AbstractSelProb implements java.io.Ser for (int i = 0; i < data.length; i++) { double[] tmpD = new double[1]; tmpD[0] = (1 / (double) size) * (this.nappaPlus - ((this.nappaPlus - this.nappaMinus) * ((double) (i) / (double) (size - 1)))); - ((AbstractEAIndividual) population.get(rank_index[i])).setSelectionProbability(tmpD); + population.get(rank_index[i]).setSelectionProbability(tmpD); } } } else { @@ -163,7 +162,7 @@ public class SelProbLinearRanking extends AbstractSelProb implements java.io.Ser // set the selection propability for (int i = 0; i < data.length; i++) { temp = (1 / (double) size) * (this.nappaPlus - ((this.nappaPlus - this.nappaMinus) * ((double) (i) / (double) (size - 1)))); - ((AbstractEAIndividual) population.get(rank_index[i])).setSelectionProbability(x, temp); + population.get(rank_index[i]).setSelectionProbability(x, temp); } } } diff --git a/src/eva2/optimization/operator/selection/probability/SelProbNonLinearRanking.java b/src/eva2/optimization/operator/selection/probability/SelProbNonLinearRanking.java index 6098cac9..92a62409 100644 --- a/src/eva2/optimization/operator/selection/probability/SelProbNonLinearRanking.java +++ b/src/eva2/optimization/operator/selection/probability/SelProbNonLinearRanking.java @@ -1,6 +1,5 @@ package eva2.optimization.operator.selection.probability; -import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.population.Population; import eva2.util.annotation.Description; @@ -47,7 +46,7 @@ public class SelProbNonLinearRanking extends AbstractSelProb implements java.io. // first check if anyone holds the constraints boolean isFeasible = false; for (int i = 0; i < population.size(); i++) { - if (!((AbstractEAIndividual) population.get(i)).violatesConstraint()) { + if (!population.get(i).violatesConstraint()) { isFeasible = true; } } @@ -67,7 +66,7 @@ public class SelProbNonLinearRanking extends AbstractSelProb implements java.io. result[i] = 0; } for (int i = 0; i < data.length; i++) { - if (!(((AbstractEAIndividual) population.get(i)).violatesConstraint())) { + if (!(population.get(i).violatesConstraint())) { fitness[i] = data[i][x]; } else { fitness[i] = worst; @@ -99,7 +98,7 @@ public class SelProbNonLinearRanking extends AbstractSelProb implements java.io. sum += result[i]; } for (int i = 0; i < data.length; i++) { - ((AbstractEAIndividual) population.get(rank_index[i])).setSelectionProbability(x, result[i] / sum); + population.get(rank_index[i]).setSelectionProbability(x, result[i] / sum); } } } else { @@ -110,7 +109,7 @@ public class SelProbNonLinearRanking extends AbstractSelProb implements java.io. result[i] = 0; } for (int i = 0; i < data.length; i++) { - fitness[i] = -((AbstractEAIndividual) population.get(i)).getConstraintViolation(); + fitness[i] = -population.get(i).getConstraintViolation(); rank_index[i] = i; } @@ -140,7 +139,7 @@ public class SelProbNonLinearRanking extends AbstractSelProb implements java.io. for (int i = 0; i < data.length; i++) { double[] tmpD = new double[1]; tmpD[0] = result[i] / sum; - ((AbstractEAIndividual) population.get(rank_index[i])).setSelectionProbability(tmpD); + population.get(rank_index[i]).setSelectionProbability(tmpD); } } } else { @@ -179,7 +178,7 @@ public class SelProbNonLinearRanking extends AbstractSelProb implements java.io. sum += result[i]; } for (int i = 0; i < data.length; i++) { - ((AbstractEAIndividual) population.get(rank_index[i])).setSelectionProbability(x, result[i] / sum); + population.get(rank_index[i]).setSelectionProbability(x, result[i] / sum); } } } diff --git a/src/eva2/optimization/operator/selection/probability/SelProbRanking.java b/src/eva2/optimization/operator/selection/probability/SelProbRanking.java index 4926853f..609bab63 100644 --- a/src/eva2/optimization/operator/selection/probability/SelProbRanking.java +++ b/src/eva2/optimization/operator/selection/probability/SelProbRanking.java @@ -1,6 +1,5 @@ package eva2.optimization.operator.selection.probability; -import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.population.Population; import eva2.util.annotation.Description; @@ -46,7 +45,7 @@ public class SelProbRanking extends AbstractSelProb implements java.io.Serializa } for (int i = 0; i < data.length; i++) { for (int j = i + 1; j < data.length; j++) { - if (!(((AbstractEAIndividual) population.get(i)).violatesConstraint()) && (!((AbstractEAIndividual) population.get(j)).violatesConstraint())) { + if (!(population.get(i).violatesConstraint()) && (!population.get(j).violatesConstraint())) { // no one violates, therefore it is up to the data to decied if (data[j][x] < data[i][x]) { result[i]++; @@ -55,7 +54,7 @@ public class SelProbRanking extends AbstractSelProb implements java.io.Serializa } } else { // at least one violates, so the constraint violation is to decide - if (((AbstractEAIndividual) population.get(j)).getConstraintViolation() < ((AbstractEAIndividual) population.get(i)).getConstraintViolation()) { + if (population.get(j).getConstraintViolation() < population.get(i).getConstraintViolation()) { result[j]++; } else { result[i]++; @@ -69,7 +68,7 @@ public class SelProbRanking extends AbstractSelProb implements java.io.Serializa } for (int i = 0; i < population.size(); i++) { - ((AbstractEAIndividual) population.get(i)).setSelectionProbability(x, result[i] / sum); + population.get(i).setSelectionProbability(x, result[i] / sum); } } } else { @@ -96,7 +95,7 @@ public class SelProbRanking extends AbstractSelProb implements java.io.Serializa } for (int i = 0; i < population.size(); i++) { - ((AbstractEAIndividual) population.get(i)).setSelectionProbability(x, result[i] / sum); + population.get(i).setSelectionProbability(x, result[i] / sum); } } } diff --git a/src/eva2/optimization/operator/selection/probability/SelProbStandard.java b/src/eva2/optimization/operator/selection/probability/SelProbStandard.java index 8aa0451a..5dc5c889 100644 --- a/src/eva2/optimization/operator/selection/probability/SelProbStandard.java +++ b/src/eva2/optimization/operator/selection/probability/SelProbStandard.java @@ -1,6 +1,5 @@ package eva2.optimization.operator.selection.probability; -import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.population.Population; import eva2.util.annotation.Description; @@ -41,7 +40,7 @@ public class SelProbStandard extends AbstractSelProb implements java.io.Serializ // first check if anyone holds the constraints boolean isFeasible = false; for (int i = 0; i < population.size(); i++) { - if (!((AbstractEAIndividual) population.get(i)).violatesConstraint()) { + if (!population.get(i).violatesConstraint()) { isFeasible = true; break; } @@ -53,7 +52,7 @@ public class SelProbStandard extends AbstractSelProb implements java.io.Serializ sum = 0; // iterating over the individuals for (int i = 0; i < data.length; i++) { - if (!((AbstractEAIndividual) population.get(i)).violatesConstraint()) { + if (!population.get(i).violatesConstraint()) { result[i] = Math.exp(-data[i][x]); } else { result[i] = 0; @@ -61,7 +60,7 @@ public class SelProbStandard extends AbstractSelProb implements java.io.Serializ sum += result[i]; } for (int i = 0; i < population.size(); i++) { - ((AbstractEAIndividual) population.get(i)).setSelectionProbability(x, result[i] / sum); + population.get(i).setSelectionProbability(x, result[i] / sum); } } } else { @@ -69,7 +68,7 @@ public class SelProbStandard extends AbstractSelProb implements java.io.Serializ sum = 0; // iterating over the individuals for (int i = 0; i < data.length; i++) { - result[i] = Math.exp(-((AbstractEAIndividual) population.get(i)).getConstraintViolation()); + result[i] = Math.exp(-population.get(i).getConstraintViolation()); } for (int i = 0; i < data.length; i++) { sum += result[i]; @@ -77,7 +76,7 @@ public class SelProbStandard extends AbstractSelProb implements java.io.Serializ for (int i = 0; i < population.size(); i++) { double[] tmpD = new double[1]; tmpD[0] = result[i] / sum; - ((AbstractEAIndividual) population.get(i)).setSelectionProbability(tmpD); + population.get(i).setSelectionProbability(tmpD); } } } else { @@ -92,7 +91,7 @@ public class SelProbStandard extends AbstractSelProb implements java.io.Serializ sum += result[i]; } for (int i = 0; i < population.size(); i++) { - ((AbstractEAIndividual) population.get(i)).setSelectionProbability(x, result[i] / sum); + population.get(i).setSelectionProbability(x, result[i] / sum); } } } diff --git a/src/eva2/optimization/operator/selection/probability/SelProbStandardScaling.java b/src/eva2/optimization/operator/selection/probability/SelProbStandardScaling.java index 521465eb..93c24ee6 100644 --- a/src/eva2/optimization/operator/selection/probability/SelProbStandardScaling.java +++ b/src/eva2/optimization/operator/selection/probability/SelProbStandardScaling.java @@ -1,6 +1,5 @@ package eva2.optimization.operator.selection.probability; -import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.population.Population; import eva2.util.annotation.Description; @@ -46,7 +45,7 @@ public class SelProbStandardScaling extends AbstractSelProb implements java.io.S boolean isFeasible = false; int k = 0; while ((k < population.size()) && !isFeasible) { - if (!((AbstractEAIndividual) population.get(k)).violatesConstraint()) { + if (!population.get(k).violatesConstraint()) { isFeasible = true; } k++; @@ -65,7 +64,7 @@ public class SelProbStandardScaling extends AbstractSelProb implements java.io.S } } for (int i = 0; i < data.length; i++) { - if (!((AbstractEAIndividual) population.get(i)).violatesConstraint()) { + if (!population.get(i).violatesConstraint()) { result[i] = -data[i][x]; } else { result[i] = -worst; @@ -91,7 +90,7 @@ public class SelProbStandardScaling extends AbstractSelProb implements java.io.S } for (int i = 0; i < population.size(); i++) { - ((AbstractEAIndividual) population.get(i)).setSelectionProbability(x, result[i] / sum); + population.get(i).setSelectionProbability(x, result[i] / sum); } } } else { @@ -99,7 +98,7 @@ public class SelProbStandardScaling extends AbstractSelProb implements java.io.S sum = 0; min = Double.POSITIVE_INFINITY; for (int i = 0; i < data.length; i++) { - result[i] = -((AbstractEAIndividual) population.get(i)).getConstraintViolation(); + result[i] = -population.get(i).getConstraintViolation(); } for (int i = 0; i < data.length; i++) { if (result[i] < min) { @@ -122,7 +121,7 @@ public class SelProbStandardScaling extends AbstractSelProb implements java.io.S for (int i = 0; i < population.size(); i++) { double[] tmpD = new double[1]; tmpD[0] = result[i] / sum; - ((AbstractEAIndividual) population.get(i)).setSelectionProbability(tmpD); + population.get(i).setSelectionProbability(tmpD); } } } else { @@ -152,7 +151,7 @@ public class SelProbStandardScaling extends AbstractSelProb implements java.io.S } for (int i = 0; i < population.size(); i++) { - ((AbstractEAIndividual) population.get(i)).setSelectionProbability(x, result[i] / sum); + population.get(i).setSelectionProbability(x, result[i] / sum); } } } diff --git a/src/eva2/optimization/operator/selection/replacement/ReplaceDeterministicCrowding.java b/src/eva2/optimization/operator/selection/replacement/ReplaceDeterministicCrowding.java index c291ede6..c3e090aa 100644 --- a/src/eva2/optimization/operator/selection/replacement/ReplaceDeterministicCrowding.java +++ b/src/eva2/optimization/operator/selection/replacement/ReplaceDeterministicCrowding.java @@ -36,13 +36,13 @@ public class ReplaceDeterministicCrowding implements InterfaceReplacement, java. double distance = Double.POSITIVE_INFINITY, tmpD; for (int i = 0; i < sub.size(); i++) { - tmpD = this.metric.distance(indy, (AbstractEAIndividual) sub.get(i)); + tmpD = this.metric.distance(indy, sub.get(i)); if (tmpD < distance) { index = i; distance = tmpD; } } - if (indy.isDominatingDebConstraints((AbstractEAIndividual) sub.get(index))) { + if (indy.isDominatingDebConstraints(sub.get(index))) { if (pop.remove(sub.get(index))) { pop.addIndividual(indy); } diff --git a/src/eva2/optimization/operator/selection/replacement/ReplacementCrowding.java b/src/eva2/optimization/operator/selection/replacement/ReplacementCrowding.java index 2dad1902..a64a04d4 100644 --- a/src/eva2/optimization/operator/selection/replacement/ReplacementCrowding.java +++ b/src/eva2/optimization/operator/selection/replacement/ReplacementCrowding.java @@ -53,13 +53,13 @@ public class ReplacementCrowding implements InterfaceReplacement, java.io.Serial double distance = Double.POSITIVE_INFINITY, tmpD; Population tmp = random.selectFrom(pop, this.C); for (int i = 0; i < tmp.size(); i++) { - tmpD = this.metric.distance(indy, (AbstractEAIndividual) tmp.get(i)); + tmpD = this.metric.distance(indy, tmp.get(i)); if (tmpD < distance) { index = i; distance = tmpD; } } - if (indy.isDominatingDebConstraints((AbstractEAIndividual) tmp.get(index))) { + if (indy.isDominatingDebConstraints(tmp.get(index))) { if (pop.remove(tmp.get(index))) { pop.addIndividual(indy); } diff --git a/src/eva2/optimization/population/PBILPopulation.java b/src/eva2/optimization/population/PBILPopulation.java index bbf0d88b..838fc689 100644 --- a/src/eva2/optimization/population/PBILPopulation.java +++ b/src/eva2/optimization/population/PBILPopulation.java @@ -79,7 +79,7 @@ public class PBILPopulation extends Population implements Cloneable, java.io.Ser * This method creates a new population based on the bit probability vector. */ public void initPBIL() { - InterfaceGAIndividual tmpIndy, template = (InterfaceGAIndividual) ((AbstractEAIndividual) this.get(0)).clone(); + InterfaceGAIndividual tmpIndy, template = (InterfaceGAIndividual) this.get(0).clone(); BitSet tmpBitSet; this.clear(); diff --git a/src/eva2/optimization/population/Population.java b/src/eva2/optimization/population/Population.java index fccc33ad..c600566d 100644 --- a/src/eva2/optimization/population/Population.java +++ b/src/eva2/optimization/population/Population.java @@ -784,7 +784,7 @@ public class Population extends ArrayList implements Popul public Population addPopulation(Population pop, boolean avoidDuplicatePointers) { if (pop != null) { for (int i = 0; i < pop.size(); i++) { - AbstractEAIndividual indy = (AbstractEAIndividual) pop.get(i); + AbstractEAIndividual indy = pop.get(i); if (avoidDuplicatePointers && this.contains(indy)) { System.err.println("Warning, duplicate indy avoided in Population.addPopulation! Index of " + this.indexOf(indy)); } else { @@ -813,7 +813,7 @@ public class Population extends ArrayList implements Popul int[] perm = RNG.randomPerm(fromPop.size()); int i = 0; while ((i < perm.length) && (this.size() < upTo)) { // until instance is filled or no more indys can be selected - AbstractEAIndividual indy = (AbstractEAIndividual) fromPop.get(perm[i]); + AbstractEAIndividual indy = fromPop.get(perm[i]); // System.out.println("checking " + indy.getStringRepresentation()); if ((indy != null) && (!containsByPosition(indy))) { this.add(indy); @@ -1136,7 +1136,7 @@ public class Population extends ArrayList implements Popul System.err.println("This shouldnt happen!"); return null; } else { - AbstractEAIndividual result = (AbstractEAIndividual) this.get(best); + AbstractEAIndividual result = this.get(best); if (result == null) { System.err.println("Serious Problem! Population Size: " + this.size()); } @@ -1499,7 +1499,7 @@ public class Population extends ArrayList implements Popul public void removeRedundantIndiesUsingFitness() { for (int i = 0; i < this.size(); i++) { for (int j = i + 1; j < this.size(); j++) { - if (((AbstractEAIndividual) this.get(i)).equalFitness((AbstractEAIndividual) this.get(j))) { + if (this.get(i).equalFitness(this.get(j))) { this.remove(j); j--; } @@ -1515,7 +1515,7 @@ public class Population extends ArrayList implements Popul public Population getMarkedIndividuals() { Population result = new Population(); for (int i = 0; i < this.size(); i++) { - if (((AbstractEAIndividual) this.get(i)).isMarked()) { + if (this.get(i).isMarked()) { result.add(this.get(i)); } } @@ -1527,7 +1527,7 @@ public class Population extends ArrayList implements Popul */ public void unmarkAllIndividuals() { for (int i = 0; i < this.size(); i++) { - ((AbstractEAIndividual) this.get(i)).unmark(); + this.get(i).unmark(); } } @@ -1586,7 +1586,7 @@ public class Population extends ArrayList implements Popul strB.append(this.generationCount); strB.append("\n"); for (int i = 0; i < this.size(); i++) { - strB.append(((AbstractEAIndividual) this.get(i)).getStringRepresentation()); + strB.append(this.get(i).getStringRepresentation()); strB.append("\n"); } return strB.toString(); @@ -1651,7 +1651,7 @@ public class Population extends ArrayList implements Popul } public AbstractEAIndividual getEAIndividual(int i) { - return (AbstractEAIndividual) this.get(i); + return this.get(i); } /** @@ -1662,7 +1662,7 @@ public class Population extends ArrayList implements Popul } public IndividualInterface getIndividual(int i) { - return (IndividualInterface) this.get(i); + return this.get(i); } public boolean add(IndividualInterface o) { @@ -1794,7 +1794,7 @@ public class Population extends ArrayList implements Popul tmp = this.getBestFitness(); result = new double[tmp.length]; for (int i = 0; i < this.size(); i++) { - tmp = ((AbstractEAIndividual) this.get(i)).getFitness(); + tmp = this.get(i).getFitness(); for (int j = 0; j < result.length; j++) { result[j] += tmp[j]; } diff --git a/src/eva2/optimization/statistics/EvAStatisticalEvaluation.java b/src/eva2/optimization/statistics/EvAStatisticalEvaluation.java index 7db8162f..e5d5cab3 100644 --- a/src/eva2/optimization/statistics/EvAStatisticalEvaluation.java +++ b/src/eva2/optimization/statistics/EvAStatisticalEvaluation.java @@ -299,7 +299,7 @@ public class EvAStatisticalEvaluation { Collections.sort(sortedValues); double tA = 0.0; for (Double value : dat1) { - tA += (sortedValues.indexOf(value) + 1.0 + sortedValues.lastIndexOf(value) + 1.0) / 2.0;; + tA += (sortedValues.indexOf(value) + 1.0 + sortedValues.lastIndexOf(value) + 1.0) / 2.0; } double tB = 0.0; for (Double value : dat2) { diff --git a/src/eva2/optimization/statistics/OptimizationJob.java b/src/eva2/optimization/statistics/OptimizationJob.java index f06c5674..6a4b20fb 100644 --- a/src/eva2/optimization/statistics/OptimizationJob.java +++ b/src/eva2/optimization/statistics/OptimizationJob.java @@ -1,6 +1,5 @@ package eva2.optimization.statistics; -import eva2.gui.BeanInspector; import eva2.optimization.go.InterfaceOptimizationParameters; import eva2.tools.StringSelection; diff --git a/src/eva2/optimization/strategies/ANPSO.java b/src/eva2/optimization/strategies/ANPSO.java index fa322109..c1971582 100644 --- a/src/eva2/optimization/strategies/ANPSO.java +++ b/src/eva2/optimization/strategies/ANPSO.java @@ -528,7 +528,7 @@ public class ANPSO extends NichePSO implements InterfaceAdditionalPopulationInfo Population pop = new Population(connSet.size()); for (String indexStr : connSet) { Integer index = Integer.valueOf(indexStr); - AbstractEAIndividual indy = getIndyByParticleIndex(index.intValue()); // may be taken from a main swarm or current subwarm + AbstractEAIndividual indy = getIndyByParticleIndex(index); // may be taken from a main swarm or current subwarm if (indy == null) { System.err.println("createNichesFromNicheGraph problem -> getIndyByParticleIndex returned null"); } @@ -555,7 +555,7 @@ public class ANPSO extends NichePSO implements InterfaceAdditionalPopulationInfo } else { // move particles corresponding to unconnected vertices to the mainswarm Iterator it = connSet.iterator(); Integer index = Integer.valueOf(it.next()); - AbstractEAIndividual indy = getIndyByParticleIndex(index.intValue()); + AbstractEAIndividual indy = getIndyByParticleIndex(index); newMainPop.add(indy); } } diff --git a/src/eva2/optimization/strategies/AdaptiveDifferentialEvolution.java b/src/eva2/optimization/strategies/AdaptiveDifferentialEvolution.java index 837ea6fc..6d1e5f31 100644 --- a/src/eva2/optimization/strategies/AdaptiveDifferentialEvolution.java +++ b/src/eva2/optimization/strategies/AdaptiveDifferentialEvolution.java @@ -115,8 +115,8 @@ public class AdaptiveDifferentialEvolution extends AbstractOptimizer { * Compare each individual in the child population with the corresponding * one from the parent population. */ - indy = (AbstractEAIndividual) this.children.get(i); - orig = (AbstractEAIndividual) this.population.get(i); + indy = this.children.get(i); + orig = this.population.get(i); if (indy.isDominatingDebConstraints(orig)) { this.population.replaceIndividualAt(i, indy); } diff --git a/src/eva2/optimization/strategies/CHCAdaptiveSearchAlgorithm.java b/src/eva2/optimization/strategies/CHCAdaptiveSearchAlgorithm.java index 5fd3fa47..e4b47028 100644 --- a/src/eva2/optimization/strategies/CHCAdaptiveSearchAlgorithm.java +++ b/src/eva2/optimization/strategies/CHCAdaptiveSearchAlgorithm.java @@ -57,7 +57,7 @@ public class CHCAdaptiveSearchAlgorithm extends AbstractOptimizer implements jav @Override public void initialize() { this.optimizationProblem.initializePopulation(this.population); - AbstractEAIndividual tmpIndy = ((AbstractEAIndividual) (this.population.get(0))); + AbstractEAIndividual tmpIndy = this.population.get(0); if (tmpIndy instanceof InterfaceGAIndividual) { this.differenceThreshold = (int) (((InterfaceGAIndividual) tmpIndy).getGenotypeLength() * this.initialDifferenceThreshold); } else { @@ -80,7 +80,7 @@ public class CHCAdaptiveSearchAlgorithm extends AbstractOptimizer implements jav if (reset) { this.population.initialize(); } - AbstractEAIndividual tmpIndy = ((AbstractEAIndividual) (this.population.get(0))); + AbstractEAIndividual tmpIndy = this.population.get(0); if (tmpIndy instanceof InterfaceGAIndividual) { this.differenceThreshold = (int) (((InterfaceGAIndividual) tmpIndy).getGenotypeLength() * this.initialDifferenceThreshold); } else { @@ -119,7 +119,7 @@ public class CHCAdaptiveSearchAlgorithm extends AbstractOptimizer implements jav //System.out.println("Parents:"+parents.getSolutionRepresentationFor()); for (int i = 0; i < parents.size(); i++) { - tmpIndy = ((AbstractEAIndividual) parents.get(i)); + tmpIndy = parents.get(i); if (tmpIndy == null) { System.out.println("Individual null " + i); } diff --git a/src/eva2/optimization/strategies/ClusterBasedNichingEA.java b/src/eva2/optimization/strategies/ClusterBasedNichingEA.java index 54b503bf..55fe0a14 100644 --- a/src/eva2/optimization/strategies/ClusterBasedNichingEA.java +++ b/src/eva2/optimization/strategies/ClusterBasedNichingEA.java @@ -247,7 +247,7 @@ public class ClusterBasedNichingEA extends AbstractOptimizer implements Interfac DPoint point; mySet.setConnectedMode(false); for (int i = 0; i < this.undifferentiatedPopulation.size(); i++) { - AbstractEAIndividual indy = (AbstractEAIndividual) this.undifferentiatedPopulation.get(i); + AbstractEAIndividual indy = this.undifferentiatedPopulation.get(i); double[] d = indy.getFitness(); point = new DPoint(d[0], d[1]); point.setIcon(new Chart2DDPointIconCircle()); @@ -260,7 +260,7 @@ public class ClusterBasedNichingEA extends AbstractOptimizer implements Interfac // ArchivingAllDomiating arch = new ArchivingAllDomiating(); // arch.plotParetoFront(pop, plot); for (int j = 0; j < pop.size(); j++) { - AbstractEAIndividual indy = (AbstractEAIndividual) pop.get(j); + AbstractEAIndividual indy = pop.get(j); double[] d = indy.getFitness(); point = new DPoint(d[0], d[1]); point.setIcon(new Chart2DDPointIconText("P" + j)); @@ -601,7 +601,7 @@ public class ClusterBasedNichingEA extends AbstractOptimizer implements Interfac for (int i = undifferentiatedPopulation.size() - 1; i >= 0; i--) { // backwards or die! if (assocSpec[i] >= 0) { // loner i should be merged to species assocSpec[i] - AbstractEAIndividual tmpIndy = (AbstractEAIndividual) this.undifferentiatedPopulation.get(i); + AbstractEAIndividual tmpIndy = this.undifferentiatedPopulation.get(i); if (topologyPlot != null) { plotLine(topologyPlot, tmpIndy, species.get(assocSpec[i]).getBestEAIndividual()); } diff --git a/src/eva2/optimization/strategies/DifferentialEvolution.java b/src/eva2/optimization/strategies/DifferentialEvolution.java index c47ee987..9f56a600 100644 --- a/src/eva2/optimization/strategies/DifferentialEvolution.java +++ b/src/eva2/optimization/strategies/DifferentialEvolution.java @@ -57,7 +57,7 @@ public class DifferentialEvolution extends AbstractOptimizer implements java.io. */ public DifferentialEvolution() { // sets DE2 as default - DEType = eva2.optimization.enums.DEType.DE2_CurrentToBest; + DEType = eva2.optimization.enums.DEType.CurrentToBest; } public DifferentialEvolution(int popSize, eva2.optimization.enums.DEType type, double f, double cr, double lambda, double mt) { @@ -310,7 +310,7 @@ public class DifferentialEvolution extends AbstractOptimizer implements java.io. vX = oX.clone(); nX = new double[oX.length]; switch (this.DEType) { - case DE1_Rand_1: { + case RandOne: { // this is DE1 or DE/rand/1 double[] delta = this.fetchDeltaRandom(population); if (parents != null) { @@ -321,7 +321,7 @@ public class DifferentialEvolution extends AbstractOptimizer implements java.io. } break; } - case DE_CurrentToRand: { + case CurrentToRand: { // this is DE/current-to-rand/1 double[] rndDelta = this.fetchDeltaRandom(population); double[] bestDelta = this.fetchDeltaCurrentRandom(population, esIndy); @@ -333,7 +333,7 @@ public class DifferentialEvolution extends AbstractOptimizer implements java.io. } break; } - case DE2_CurrentToBest: { + case CurrentToBest: { // this is DE2 or DE/current-to-best/1 double[] rndDelta = this.fetchDeltaRandom(population); double[] bestDelta = this.fetchDeltaBest(population, esIndy); @@ -345,7 +345,7 @@ public class DifferentialEvolution extends AbstractOptimizer implements java.io. } break; } - case DE_Best_1: { + case BestOne: { // DE/best/1 AbstractEAIndividual bestIndy = getBestIndy(population); oX = getGenotype(bestIndy); @@ -358,7 +358,7 @@ public class DifferentialEvolution extends AbstractOptimizer implements java.io. } break; } - case DE_Best_2: { + case BestTwo: { // DE/best/2 AbstractEAIndividual bestIndy = getBestIndy(population); oX = getGenotype(bestIndy); @@ -372,7 +372,7 @@ public class DifferentialEvolution extends AbstractOptimizer implements java.io. } break; } - case TrigonometricDE: { + case Trigonometric: { // this is trigonometric mutation if (parents != null) { parents.add(population.getEAIndividual(parentIndex)); @@ -533,9 +533,9 @@ public class DifferentialEvolution extends AbstractOptimizer implements java.io. if (isReEvaluate()) { for (int i = 0; i < this.population.size(); i++) { - if (((AbstractEAIndividual) population.get(i)).getAge() >= maximumAge) { - this.optimizationProblem.evaluate(((AbstractEAIndividual) population.get(i))); - ((AbstractEAIndividual) population.get(i)).setAge(0); + if (population.get(i).getAge() >= maximumAge) { + this.optimizationProblem.evaluate(population.get(i)); + population.get(i).setAge(0); population.incrFunctionCalls(); } } @@ -560,7 +560,7 @@ public class DifferentialEvolution extends AbstractOptimizer implements java.io. if (!compareToParent) { parentIndex = RNG.randomInt(0, this.population.size() - 1); } - AbstractEAIndividual orig = (AbstractEAIndividual) this.population.get(parentIndex); + AbstractEAIndividual orig = this.population.get(parentIndex); if (indy.isDominatingDebConstraints(orig)) { this.population.replaceIndividualAt(parentIndex, indy); } @@ -588,9 +588,9 @@ public class DifferentialEvolution extends AbstractOptimizer implements java.io. nextDoomed = -1; for (int i = 0; i < this.population.size(); i++) { - if (((AbstractEAIndividual) population.get(i)).getAge() >= maximumAge) { - this.optimizationProblem.evaluate(((AbstractEAIndividual) population.get(i))); - ((AbstractEAIndividual) population.get(i)).setAge(0); + if (population.get(i).getAge() >= maximumAge) { + this.optimizationProblem.evaluate(population.get(i)); + population.get(i).setAge(0); population.incrFunctionCalls(); } } @@ -622,7 +622,7 @@ public class DifferentialEvolution extends AbstractOptimizer implements java.io. if (!compareToParent) { index = RNG.randomInt(0, this.population.size() - 1); } - orig = (AbstractEAIndividual) this.population.get(index); + orig = this.population.get(index); if (indy.isDominatingDebConstraints(orig)) { this.population.replaceIndividualAt(index, indy); } @@ -648,7 +648,7 @@ public class DifferentialEvolution extends AbstractOptimizer implements java.io. protected int getNextDoomed(Population pop, int startIndex) { if (maximumAge > 0) { for (int i = startIndex; i < pop.size(); i++) { - if (((AbstractEAIndividual) pop.get(i)).getAge() >= maximumAge) { + if (pop.get(i).getAge() >= maximumAge) { return i; } } @@ -778,8 +778,8 @@ public class DifferentialEvolution extends AbstractOptimizer implements java.io. public void setDEType(eva2.optimization.enums.DEType s) { this.DEType = s; // show mt for trig. DE only - GenericObjectEditor.setShowProperty(this.getClass(), "lambda", s == eva2.optimization.enums.DEType.DE2_CurrentToBest); - GenericObjectEditor.setShowProperty(this.getClass(), "mt", s == eva2.optimization.enums.DEType.TrigonometricDE); + GenericObjectEditor.setShowProperty(this.getClass(), "lambda", s == eva2.optimization.enums.DEType.CurrentToBest); + GenericObjectEditor.setShowProperty(this.getClass(), "mt", s == eva2.optimization.enums.DEType.Trigonometric); } public eva2.optimization.enums.DEType getDEType() { diff --git a/src/eva2/optimization/strategies/DynamicParticleSwarmOptimization.java b/src/eva2/optimization/strategies/DynamicParticleSwarmOptimization.java index 84ef5958..d476aac1 100644 --- a/src/eva2/optimization/strategies/DynamicParticleSwarmOptimization.java +++ b/src/eva2/optimization/strategies/DynamicParticleSwarmOptimization.java @@ -357,7 +357,7 @@ public class DynamicParticleSwarmOptimization extends ParticleSwarmOptimization // do what the usual function does plus announce quantum particles if (quantumRatio > 0.) { for (int i = 0; i < this.population.size(); i++) { - AbstractEAIndividual indy = (AbstractEAIndividual) population.get(i); + AbstractEAIndividual indy = population.get(i); if (i >= quantumCount) { indy.putData(partTypeKey, quantumType); quantumCount += 1. / quantumRatio; diff --git a/src/eva2/optimization/strategies/EsDpiNiching.java b/src/eva2/optimization/strategies/EsDpiNiching.java index dc7fa744..2e8ddac4 100644 --- a/src/eva2/optimization/strategies/EsDpiNiching.java +++ b/src/eva2/optimization/strategies/EsDpiNiching.java @@ -787,7 +787,7 @@ public class EsDpiNiching extends AbstractOptimizer implements Serializable, Int pop.clear(); for (int i = 0; i < esses.length; i++) { Population pi = esses[i].getPopulation(); - pi.putDataAllIndies(originalPeakPop, new Integer(i)); + pi.putDataAllIndies(originalPeakPop, i); // (few) duplicates may happen because parents are copied to another peak population // if a cluster had a size of 1 AND parents may survive due to elitism. pop.addPopulation(pi, false); diff --git a/src/eva2/optimization/strategies/EvolutionStrategies.java b/src/eva2/optimization/strategies/EvolutionStrategies.java index 16a96c8b..04dd29d9 100644 --- a/src/eva2/optimization/strategies/EvolutionStrategies.java +++ b/src/eva2/optimization/strategies/EvolutionStrategies.java @@ -161,7 +161,7 @@ public class EvolutionStrategies extends AbstractOptimizer implements java.io.Se parents = this.parentSelection.selectFrom(fromPopulation, lambda); for (int i = 0; i < parents.size(); i++) { - tmpIndy = (AbstractEAIndividual) parents.get(i); + tmpIndy = parents.get(i); offSprings = tmpIndy.mateWith(this.partnerSelection.findPartnerFor(tmpIndy, fromPopulation, this.numberOfPartners)); offSprings[0].mutate(); result.add(i, offSprings[0]); diff --git a/src/eva2/optimization/strategies/EvolutionaryProgramming.java b/src/eva2/optimization/strategies/EvolutionaryProgramming.java index d002d80a..9887c5d1 100644 --- a/src/eva2/optimization/strategies/EvolutionaryProgramming.java +++ b/src/eva2/optimization/strategies/EvolutionaryProgramming.java @@ -85,7 +85,7 @@ public class EvolutionaryProgramming extends AbstractOptimizer implements java.i result.clear(); for (int i = 0; i < this.population.size(); i++) { - mutant = (AbstractEAIndividual) ((AbstractEAIndividual) this.population.get(i)).clone(); + mutant = (AbstractEAIndividual) this.population.get(i).clone(); double tmpD = mutant.getMutationProbability(); mutant.setMutationProbability(1.0); mutant.mutate(); diff --git a/src/eva2/optimization/strategies/FloodAlgorithm.java b/src/eva2/optimization/strategies/FloodAlgorithm.java index 0641626d..1acdb31a 100644 --- a/src/eva2/optimization/strategies/FloodAlgorithm.java +++ b/src/eva2/optimization/strategies/FloodAlgorithm.java @@ -82,7 +82,7 @@ public class FloodAlgorithm extends AbstractOptimizer implements java.io.Seriali double[] fitness; for (int i = 0; i < this.population.size(); i++) { - indy = ((AbstractEAIndividual) this.population.get(i)); + indy = this.population.get(i); double tmpD = indy.getMutationProbability(); indy.setMutationProbability(1.0); indy.mutate(); @@ -90,7 +90,7 @@ public class FloodAlgorithm extends AbstractOptimizer implements java.io.Seriali } this.optimizationProblem.evaluate(this.population); for (int i = 0; i < this.population.size(); i++) { - fitness = ((AbstractEAIndividual) this.population.get(i)).getFitness(); + fitness = this.population.get(i).getFitness(); if (fitness[0] > this.currentFloodPeak) { this.population.remove(i); this.population.add(i, original.get(i)); diff --git a/src/eva2/optimization/strategies/GeneticAlgorithm.java b/src/eva2/optimization/strategies/GeneticAlgorithm.java index 5b971eca..12cef102 100644 --- a/src/eva2/optimization/strategies/GeneticAlgorithm.java +++ b/src/eva2/optimization/strategies/GeneticAlgorithm.java @@ -99,7 +99,7 @@ public class GeneticAlgorithm extends AbstractOptimizer implements java.io.Seria } for (int i = 0; i < parents.size(); i++) { - tmpIndy = ((AbstractEAIndividual) parents.get(i)); + tmpIndy = parents.get(i); if (tmpIndy == null) { System.out.println("Individual null " + i + " Population size: " + parents.size()); } diff --git a/src/eva2/optimization/strategies/GradientDescentAlgorithm.java b/src/eva2/optimization/strategies/GradientDescentAlgorithm.java index dfb81137..4f7586c0 100644 --- a/src/eva2/optimization/strategies/GradientDescentAlgorithm.java +++ b/src/eva2/optimization/strategies/GradientDescentAlgorithm.java @@ -112,7 +112,7 @@ public class GradientDescentAlgorithm extends AbstractOptimizer implements java. // if ((this.indyhash == null) || (this.indyhash.size() <1)) initialize(); for (int i = 0; i < this.population.size(); i++) { - indy = ((AbstractEAIndividual) this.population.get(i)); + indy = this.population.get(i); if (!indy.hasData(gradientKey)) { //System.out.println("new indy to hash"); // Hashtable history = new Hashtable(); @@ -126,8 +126,8 @@ public class GradientDescentAlgorithm extends AbstractOptimizer implements java. } double fitness = 0; indy.putData(lockKey, lock); - indy.putData(lastFitnessKey, new Double(fitness)); - indy.putData(stepSizeKey, new Double(globalinitstepsize)); + indy.putData(lastFitnessKey, fitness); + indy.putData(stepSizeKey, globalinitstepsize); indy.putData(wStepSizeKey, wstepsize); // indyhash.put(indy, history); } else { @@ -137,13 +137,13 @@ public class GradientDescentAlgorithm extends AbstractOptimizer implements java. // System.out.println("hashtable built"); for (int i = 0; i < this.population.size(); i++) { - indy = ((AbstractEAIndividual) this.population.get(i)); + indy = this.population.get(i); double[][] range = ((InterfaceDataTypeDouble) indy).getDoubleRange(); double[] params = ((InterfaceDataTypeDouble) indy).getDoubleData(); indy.putData(oldParamsKey, params); int[] lock = (int[]) indy.getData(lockKey); - double indystepsize = ((Double) indy.getData(stepSizeKey)).doubleValue(); + double indystepsize = (Double) indy.getData(stepSizeKey); if ((this.optimizationProblem instanceof InterfaceFirstOrderDerivableProblem) && (indy instanceof InterfaceDataTypeDouble)) { for (int iterations = 0; iterations < this.iterations; iterations++) { @@ -233,7 +233,7 @@ public class GradientDescentAlgorithm extends AbstractOptimizer implements java. if (this.recovery) { for (int i = 0; i < this.population.size(); i++) { - indy = ((AbstractEAIndividual) this.population.get(i)); + indy = this.population.get(i); if (indy.getFitness()[0] > recoverythreshold) { ((InterfaceDataTypeDouble) indy).setDoublePhenotype((double[]) indy.getData(oldParamsKey)); @@ -261,11 +261,11 @@ public class GradientDescentAlgorithm extends AbstractOptimizer implements java. //System.out.println("gsa main"); for (int i = 0; i < this.population.size(); i++) { - indy = ((AbstractEAIndividual) this.population.get(i)); + indy = this.population.get(i); if (indy.getData(lastFitnessKey) != null) { - double lastfit = ((Double) indy.getData(lastFitnessKey)).doubleValue(); - double indystepsize = ((Double) indy.getData(stepSizeKey)).doubleValue(); + double lastfit = (Double) indy.getData(lastFitnessKey); + double indystepsize = (Double) indy.getData(stepSizeKey); if (lastfit < indy.getFitness()[0]) { // GLOBAL adaption indystepsize *= wDecreaseStepSize; diff --git a/src/eva2/optimization/strategies/HillClimbing.java b/src/eva2/optimization/strategies/HillClimbing.java index 2c8e91f5..8d6e15a7 100644 --- a/src/eva2/optimization/strategies/HillClimbing.java +++ b/src/eva2/optimization/strategies/HillClimbing.java @@ -67,7 +67,7 @@ public class HillClimbing extends AbstractOptimizer implements java.io.Serializa InterfaceMutation tmpMut; for (int i = 0; i < this.population.size(); i++) { - indy = ((AbstractEAIndividual) this.population.get(i)); + indy = this.population.get(i); tmpD = indy.getMutationProbability(); indy.setMutationProbability(1.0); if (mutator == null) { @@ -79,7 +79,7 @@ public class HillClimbing extends AbstractOptimizer implements java.io.Serializa } this.optimizationProblem.evaluate(this.population); for (int i = 0; i < this.population.size(); i++) { - if (((AbstractEAIndividual) original.get(i)).isDominatingDebConstraints(((AbstractEAIndividual) this.population.get(i)))) { + if (original.get(i).isDominatingDebConstraints(this.population.get(i))) { // throw away mutated one and replace by old one this.population.set(i, original.get(i)); } else { diff --git a/src/eva2/optimization/strategies/IslandModelEA.java b/src/eva2/optimization/strategies/IslandModelEA.java index 71ef30e0..3ca15c85 100644 --- a/src/eva2/optimization/strategies/IslandModelEA.java +++ b/src/eva2/optimization/strategies/IslandModelEA.java @@ -254,7 +254,7 @@ public class IslandModelEA implements InterfacePopulationChangedEventListener, I } // System.out.println("Fitnesscalls :" + this.population.getFunctionCalls()); this.firePropertyChangedEvent(Population.NEXT_GENERATION_PERFORMED, this.optimizer.getPopulation()); - double plotValue = (this.optimizationProblem.getDoublePlotValue(this.population)).doubleValue(); + double plotValue = this.optimizationProblem.getDoublePlotValue(this.population); if (this.show) { this.plot.setConnectedPoint(this.population.getFunctionCalls(), plotValue, 0); } diff --git a/src/eva2/optimization/strategies/MonteCarloSearch.java b/src/eva2/optimization/strategies/MonteCarloSearch.java index 3f2368e1..5aae89a6 100644 --- a/src/eva2/optimization/strategies/MonteCarloSearch.java +++ b/src/eva2/optimization/strategies/MonteCarloSearch.java @@ -1,6 +1,5 @@ package eva2.optimization.strategies; -import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.individuals.GAIndividualBinaryData; import eva2.optimization.population.InterfaceSolutionSet; import eva2.optimization.population.Population; @@ -79,7 +78,7 @@ public class MonteCarloSearch extends AbstractOptimizer implements java.io.Seria this.population.setFunctionCalls(original.getFunctionCalls()); this.optimizationProblem.evaluate(this.population); for (int i = 0; i < this.population.size(); i++) { - if (((AbstractEAIndividual) original.get(i)).isDominatingDebConstraints(((AbstractEAIndividual) this.population.get(i)))) { + if (original.get(i).isDominatingDebConstraints(this.population.get(i))) { this.population.remove(i); this.population.add(i, original.get(i)); } diff --git a/src/eva2/optimization/strategies/MultiObjectiveCMAES.java b/src/eva2/optimization/strategies/MultiObjectiveCMAES.java index 38a42de8..15b13cec 100644 --- a/src/eva2/optimization/strategies/MultiObjectiveCMAES.java +++ b/src/eva2/optimization/strategies/MultiObjectiveCMAES.java @@ -187,14 +187,13 @@ public class MultiObjectiveCMAES extends AbstractOptimizer implements Serializab if (population.getEAIndividual(j) != parent) { // Eltern nicht mit // sich selber // vergleichen - int parentParetoLevel = ((Integer) parent - .getData("ParetoLevel")).intValue(); - double parentSMeasure = ((Double) parent.getData("HyperCube")) - .doubleValue(); - int childParetoLevel = ((Integer) population.getEAIndividual( - j).getData("ParetoLevel")).intValue(); - double childSMeasure = ((Double) population - .getEAIndividual(j).getData("HyperCube")).doubleValue(); + int parentParetoLevel = (Integer) parent + .getData("ParetoLevel"); + double parentSMeasure = (Double) parent.getData("HyperCube"); + int childParetoLevel = (Integer) population.getEAIndividual( + j).getData("ParetoLevel"); + double childSMeasure = (Double) population + .getEAIndividual(j).getData("HyperCube"); if (childParetoLevel < parentParetoLevel || ((childParetoLevel == parentParetoLevel) && childSMeasure > parentSMeasure)) { SuccessCounterMap.get(parent.getIndyID()).value++; @@ -218,15 +217,14 @@ public class MultiObjectiveCMAES extends AbstractOptimizer implements Serializab } else { // die besten aus der aktuellen Front heraussuchen bis voll while (store[i].size() > 0 && population.size() < lambdaMO) { AbstractEAIndividual indy = store[i].getEAIndividual(0); - double bestMeasure = ((Double) indy.getData("HyperCube")) - .doubleValue(); // TODO mal noch effizient machen + double bestMeasure = (Double) indy.getData("HyperCube"); // TODO mal noch effizient machen // (sortieren und die besten n // herausholen) for (int j = 1; j < store[i].size(); j++) { - if (bestMeasure < ((Double) store[i].getEAIndividual(j) - .getData("HyperCube")).doubleValue()) { - bestMeasure = ((Double) store[i].getEAIndividual(j) - .getData("HyperCube")).doubleValue(); + if (bestMeasure < (Double) store[i].getEAIndividual(j) + .getData("HyperCube")) { + bestMeasure = (Double) store[i].getEAIndividual(j) + .getData("HyperCube"); indy = store[i].getEAIndividual(j); } } diff --git a/src/eva2/optimization/strategies/MultiObjectiveEA.java b/src/eva2/optimization/strategies/MultiObjectiveEA.java index 5fba3487..6a8e9791 100644 --- a/src/eva2/optimization/strategies/MultiObjectiveEA.java +++ b/src/eva2/optimization/strategies/MultiObjectiveEA.java @@ -1,7 +1,6 @@ package eva2.optimization.strategies; import eva2.optimization.population.InterfacePopulationChangedEventListener; -import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.individuals.EAIndividualComparator; import eva2.optimization.operator.archiving.ArchivingNSGAII; import eva2.optimization.operator.archiving.InformationRetrievalInserting; @@ -136,7 +135,7 @@ public class MultiObjectiveEA implements InterfaceOptimizer, java.io.Serializabl double[][] fitness = new double[tmp.size()][]; for (int i = 0; i < tmp.size(); i++) { - fitness[i] = ((AbstractEAIndividual) tmp.get(i)).getFitness(); + fitness[i] = tmp.get(i).getFitness(); } double[] minY, maxY; minY = fitness[0]; diff --git a/src/eva2/optimization/strategies/NelderMeadSimplex.java b/src/eva2/optimization/strategies/NelderMeadSimplex.java index b4c085c2..15659578 100644 --- a/src/eva2/optimization/strategies/NelderMeadSimplex.java +++ b/src/eva2/optimization/strategies/NelderMeadSimplex.java @@ -54,7 +54,7 @@ public class NelderMeadSimplex extends AbstractOptimizer implements Serializable public boolean setProblemAndPopSize(InterfaceOptimizationProblem problem) { setProblem(problem); if (optimizationProblem instanceof AbstractProblemDouble) { - setPopulationSize(((AbstractProblemDouble) problem).getProblemDimension() + 1); + setPopulationSize(problem.getProblemDimension() + 1); return true; } else { Object ret = BeanInspector.callIfAvailable(problem, "getProblemDimension", null); diff --git a/src/eva2/optimization/strategies/NichePSO.java b/src/eva2/optimization/strategies/NichePSO.java index 22532b1e..e8047857 100644 --- a/src/eva2/optimization/strategies/NichePSO.java +++ b/src/eva2/optimization/strategies/NichePSO.java @@ -1218,7 +1218,7 @@ public class NichePSO extends AbstractOptimizer implements InterfaceAdditionalPo double[] res = new double[getMainSwarm().getPopulation().size()]; for (int i = 0; i < getMainSwarm().getPopulation().size(); ++i) { AbstractEAIndividual indy = getMainSwarm().getPopulation().getEAIndividual(i); - res[i] = ((Double) indy.getData(NichePSO.stdDevKey)).doubleValue(); + res[i] = (Double) indy.getData(NichePSO.stdDevKey); } return res; } @@ -1462,7 +1462,7 @@ public class NichePSO extends AbstractOptimizer implements InterfaceAdditionalPo AbstractEAIndividual indy = pop.getEAIndividual(i); //Integer tmp = (Integer)indy.getData("particleIndex"); // here getData was a cpu-time hotspot -> AbstractEAIndividual now has an index as "direct member" //if (index.equals(tmp)) return indy; - if (index.intValue() == indy.getIndividualIndex()) { + if (index == indy.getIndividualIndex()) { return indy; } } @@ -1504,14 +1504,14 @@ public class NichePSO extends AbstractOptimizer implements InterfaceAdditionalPo int minindex = 0; AbstractEAIndividual tmpIndy1; for (int i = 0; i < mainpop.size(); ++i) { - tmpIndy1 = (AbstractEAIndividual) mainpop.get(i); + tmpIndy1 = mainpop.get(i); Double da = (Double) ((tmpIndy1).getData(NichePSO.stdDevKey)); - if (da.doubleValue() < min) { - min = da.doubleValue(); + if (da < min) { + min = da; minindex = i; } } - return (AbstractEAIndividual) mainpop.get(minindex); + return mainpop.get(minindex); } /** @@ -1564,7 +1564,7 @@ public class NichePSO extends AbstractOptimizer implements InterfaceAdditionalPo tmpIndy1 = (InterfaceDataTypeDouble) mainpop.get(i); DPoint point = new DPoint(tmpIndy1.getDoubleData()[0], tmpIndy1.getDoubleData()[1]); Double da = (Double) (((AbstractEAIndividual) tmpIndy1).getData(NichePSO.stdDevKey)); - double d = da.doubleValue(); + double d = da; String ds = String.format("%6.2f", d); DPointIcon icon = new Chart2DDPointIconText(id + ds); ((Chart2DDPointIconText) icon).setIcon(new Chart2DDPointIconCircle()); @@ -1582,7 +1582,7 @@ public class NichePSO extends AbstractOptimizer implements InterfaceAdditionalPo AbstractEAIndividual indy = getIndyWithMinStdDev(); tmpIndy1 = (InterfaceDataTypeDouble) indy; Double da = (Double) ((indy).getData(NichePSO.stdDevKey)); - double min = da.doubleValue(); + double min = da; DPoint point = new DPoint(tmpIndy1.getDoubleData()[0], tmpIndy1.getDoubleData()[1]); String ds = String.format("%6.2f", min); DPointIcon icon = new Chart2DDPointIconText(ds); @@ -1607,7 +1607,7 @@ public class NichePSO extends AbstractOptimizer implements InterfaceAdditionalPo tmpIndy1 = (InterfaceDataTypeDouble) mainpop.get(i); DPoint point = new DPoint(tmpIndy1.getDoubleData()[0], tmpIndy1.getDoubleData()[1]); Double da = (Double) (((AbstractEAIndividual) tmpIndy1).getData(NichePSO.stdDevKey)); - double d = da.doubleValue(); + double d = da; String ds = String.format("%6.2f", d); DPointIcon icon = new Chart2DDPointIconText(id + ds); ((Chart2DDPointIconText) icon).setIcon(new Chart2DDPointIconCircle()); @@ -1624,7 +1624,7 @@ public class NichePSO extends AbstractOptimizer implements InterfaceAdditionalPo * @tested plots a circle around the individual and adds some information */ protected void plotCircleForIndy(int index, String text) { - AbstractEAIndividual indy = getIndyByParticleIndex(new Integer(index)); + AbstractEAIndividual indy = getIndyByParticleIndex(index); InterfaceDataTypeDouble tmpIndy1 = (InterfaceDataTypeDouble) indy; DPoint point = new DPoint(tmpIndy1.getDoubleData()[0], tmpIndy1.getDoubleData()[1]); DPointIcon icon = new Chart2DDPointIconText(text); @@ -1818,7 +1818,7 @@ public class NichePSO extends AbstractOptimizer implements InterfaceAdditionalPo for (int i = 0; i < swarm.getPopulation().size(); ++i) { AbstractEAIndividual currentindy = swarm.getPopulation().getEAIndividual(i); Double da = (Double) ((currentindy).getData(NichePSO.stdDevKey)); - double d = da.doubleValue(); + double d = da; if (d > max) { max = d; } @@ -1880,7 +1880,7 @@ public class NichePSO extends AbstractOptimizer implements InterfaceAdditionalPo * @tested @param particleIndex */ protected void plotTraceIndy(int particleIndex) { - AbstractEAIndividual indy = getIndyByParticleIndex(new Integer(particleIndex)); + AbstractEAIndividual indy = getIndyByParticleIndex(particleIndex); // collect Information to be printed String text = ""; diff --git a/src/eva2/optimization/strategies/ParticleFilterOptimization.java b/src/eva2/optimization/strategies/ParticleFilterOptimization.java index bb27222c..e5376c92 100644 --- a/src/eva2/optimization/strategies/ParticleFilterOptimization.java +++ b/src/eva2/optimization/strategies/ParticleFilterOptimization.java @@ -167,7 +167,7 @@ public class ParticleFilterOptimization extends AbstractOptimizer implements jav drawPop(pop, 0, false); } for (int i = 0; i < pop.getTargetSize(); i++) { - applyMotionModel((AbstractEAIndividual) pop.get(i), 0.); + applyMotionModel(pop.get(i), 0.); indCount++; } if (withShow) { diff --git a/src/eva2/optimization/strategies/ParticleSubSwarmOptimization.java b/src/eva2/optimization/strategies/ParticleSubSwarmOptimization.java index b719175b..30e2d760 100644 --- a/src/eva2/optimization/strategies/ParticleSubSwarmOptimization.java +++ b/src/eva2/optimization/strategies/ParticleSubSwarmOptimization.java @@ -124,7 +124,7 @@ public class ParticleSubSwarmOptimization extends ParticleSwarmOptimizationGCPSO public static void initFitnessArchiveOf(AbstractEAIndividual indy) { 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)); + vec.add(scalarFitness); indy.putData(NichePSO.fitArchiveKey, vec); } @@ -135,11 +135,11 @@ public class ParticleSubSwarmOptimization extends ParticleSwarmOptimizationGCPSO */ public static void initFitnessStdDevOf(AbstractEAIndividual indy) { // initialize stddev to inf, dont want immediate convergence... - indy.putData(NichePSO.stdDevKey, new Double(Double.POSITIVE_INFINITY)); + indy.putData(NichePSO.stdDevKey, Double.POSITIVE_INFINITY); } public static void initPBestImprInARowOf(AbstractEAIndividual indy) { - indy.putData("PBestImprovementsInARow", new Integer(0)); + indy.putData("PBestImprovementsInARow", 0); } /** @@ -206,7 +206,7 @@ public class ParticleSubSwarmOptimization extends ParticleSwarmOptimizationGCPSO AbstractEAIndividual indy = pop.getEAIndividual(i); // Integer tmp = (Integer)indy.getData("particleIndex"); // CPU-Time Hotspot // if (index.equals(tmp)) return indy; - if (index.intValue() == indy.getIndividualIndex()) { + if (index == indy.getIndividualIndex()) { return indy; } } @@ -226,7 +226,7 @@ public class ParticleSubSwarmOptimization extends ParticleSwarmOptimizationGCPSO // population does not necessarily match the individual index) origIndex = ((AbstractEAIndividual) sortedPopulation[i]).getIndividualIndex(); AbstractEAIndividual indy = getIndyByParticleIndexAndPopulation(pop, origIndex); - indy.putData(sortedIndexKey, new Integer(i)); + indy.putData(sortedIndexKey, i); } } @@ -281,7 +281,7 @@ public class ParticleSubSwarmOptimization extends ParticleSwarmOptimizationGCPSO AbstractEAIndividual indy = population.getEAIndividual(i); Vector fitArchive_old = (Vector) (indy.getData(NichePSO.fitArchiveKey)); 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); + Double fitness = scalarFitness; Vector fitArchive_new = new Vector<>(); int end = fitArchive_old.size(); @@ -310,7 +310,7 @@ public class ParticleSubSwarmOptimization extends ParticleSwarmOptimizationGCPSO // the stddev is computed over 3 values as suggested in // "a niching particle swarm optimizer" by Brits et al. double sd = stdDev(fitnessArchive, NichePSO.defaultFitStdDevHorizon); - currentindy.putData(NichePSO.stdDevKey, new Double(sd)); + currentindy.putData(NichePSO.stdDevKey, sd); } } @@ -327,7 +327,7 @@ public class ParticleSubSwarmOptimization extends ParticleSwarmOptimizationGCPSO //PBestImprovementsInARow Integer counter = (Integer) currentindy.getData("PBestImprovementsInARow"); - counter = new Integer(counter.intValue() + 1); + counter = counter.intValue() + 1; currentindy.putData("PBestImprovementsInARow", counter); } else { initPBestImprInARowOf(currentindy); @@ -407,7 +407,7 @@ public class ParticleSubSwarmOptimization extends ParticleSwarmOptimizationGCPSO } double sum = 0; for (int i = vec.size() - range; i < vec.size(); ++i) { - sum += vec.get(i).doubleValue(); + sum += vec.get(i); } return sum / range; } @@ -426,7 +426,7 @@ public class ParticleSubSwarmOptimization extends ParticleSwarmOptimizationGCPSO } // not enough values, dont risk early convergence double mean = mean(vec, range); for (int i = vec.size() - range; i < vec.size(); ++i) { - ssum += Math.pow(vec.get(i).doubleValue() - mean, 2); + ssum += Math.pow(vec.get(i) - mean, 2); } double result = Math.sqrt(ssum / (range - 1)); return result; diff --git a/src/eva2/optimization/strategies/ParticleSwarmOptimization.java b/src/eva2/optimization/strategies/ParticleSwarmOptimization.java index 96e5a5cb..80933e7d 100644 --- a/src/eva2/optimization/strategies/ParticleSwarmOptimization.java +++ b/src/eva2/optimization/strategies/ParticleSwarmOptimization.java @@ -5,7 +5,6 @@ import eva2.gui.editor.GenericObjectEditor; import eva2.gui.plot.Plot; import eva2.gui.plot.TopoPlot; import eva2.optimization.enums.PSOTopology; -import eva2.optimization.population.InterfacePopulationChangedEventListener; import eva2.optimization.individuals.AbstractEAIndividual; import eva2.optimization.individuals.EAIndividualComparator; import eva2.optimization.individuals.InterfaceDataTypeDouble; @@ -288,7 +287,7 @@ public class ParticleSwarmOptimization extends AbstractOptimizer implements java * @see AbstractEAIndividual#getData(String) */ public static double[] getPopulationVelSpeed(Population pop, int calcModeSwitch, final String velocityKey, final String typeString, final Object requiredType) { - AbstractEAIndividual indy = (AbstractEAIndividual) pop.get(0); + AbstractEAIndividual indy = pop.get(0); if (!(indy instanceof InterfaceDataTypeDouble)) { System.err.println("error, PSO needs individuals with double data!"); } @@ -323,7 +322,7 @@ public class ParticleSwarmOptimization extends AbstractOptimizer implements java int indCnt = 0; for (int i = 0; i < pop.size(); i++) { - indy = (AbstractEAIndividual) pop.get(i); + indy = pop.get(i); if (indy.hasData(velocityKey)) { velocity = (double[]) (indy.getData(velocityKey)); @@ -374,7 +373,7 @@ public class ParticleSwarmOptimization extends AbstractOptimizer implements java } protected boolean isParticleTypeByIndex(int index, int type) { - return isParticleType((AbstractEAIndividual) population.get(index), type); + return isParticleType(population.get(index), type); } protected boolean isParticleType(AbstractEAIndividual indy, int type) { @@ -431,7 +430,7 @@ public class ParticleSwarmOptimization extends AbstractOptimizer implements java } for (int i = 0; i < this.population.size(); i++) { - indy = (AbstractEAIndividual) this.population.get(i); + indy = this.population.get(i); if (indy instanceof InterfaceDataTypeDouble) { initIndividualMemory(indy); } @@ -473,7 +472,7 @@ public class ParticleSwarmOptimization extends AbstractOptimizer implements java protected void initDefaults(Population pop) { AbstractEAIndividual indy; for (int i = 0; i < pop.size(); i++) { - indy = (AbstractEAIndividual) pop.get(i); + indy = pop.get(i); if (indy instanceof InterfaceDataTypeDouble) { if (!externalInitialPop || (!defaultsDone(indy))) { initIndividualDefaults(indy, initialVelocity); @@ -658,7 +657,7 @@ public class ParticleSwarmOptimization extends AbstractOptimizer implements java */ protected void updateSwarmMemory(Population pop) { for (int i = 0; i < pop.size(); i++) { - AbstractEAIndividual indy = (AbstractEAIndividual) pop.get(i); + AbstractEAIndividual indy = pop.get(i); if (isIndividualToUpdate(indy)) { updateIndProps(indy, indy); indy.putData(lastSuccessKey, indy.getData(partVelKey)); @@ -876,7 +875,7 @@ public class ParticleSwarmOptimization extends AbstractOptimizer implements java } if ((x != 0) && (tmpIndex >= 0) && (tmpIndex < pop.size())) { - this.compareAndSetAttractor(localBestFitness, localBestPosition, (AbstractEAIndividual) pop.get(tmpIndex), useHistoric); + this.compareAndSetAttractor(localBestFitness, localBestPosition, pop.get(tmpIndex), useHistoric); } } break; @@ -890,7 +889,7 @@ public class ParticleSwarmOptimization extends AbstractOptimizer implements java tmpIndex = (tmpIndex + pop.size()) % pop.size(); // wrap the grid toroidal } if ((x != index) && (tmpIndex >= 0) && (tmpIndex < pop.size())) { - this.compareAndSetAttractor(localBestFitness, localBestPosition, (AbstractEAIndividual) pop.get(tmpIndex), useHistoric); + this.compareAndSetAttractor(localBestFitness, localBestPosition, pop.get(tmpIndex), useHistoric); } } } @@ -954,7 +953,7 @@ public class ParticleSwarmOptimization extends AbstractOptimizer implements java if (index >= 0) { k = getParentIndex(topologyRange, index, pop.size()); // compareAndSet(localBestFitness, localBestPosition, (AbstractEAIndividual)pop.get(k), useHistoric); - indy = (AbstractEAIndividual) pop.get(k); + indy = pop.get(k); System.arraycopy(indy.getData(partBestFitKey), 0, localBestFitness, 0, localBestFitness.length); System.arraycopy(indy.getData(partBestPosKey), 0, localBestPosition, 0, localBestPosition.length); @@ -963,7 +962,7 @@ public class ParticleSwarmOptimization extends AbstractOptimizer implements java case random: // topologyRange random informants, may be the same several times for (int i = 0; i < topologyRange; i++) { // select random informant - indy = (AbstractEAIndividual) pop.get(RNG.randomInt(0, pop.size() - 1)); + indy = pop.get(RNG.randomInt(0, pop.size() - 1)); // set local values compareAndSetAttractor(localBestFitness, localBestPosition, indy, useHistoric); } @@ -1264,7 +1263,7 @@ public class ParticleSwarmOptimization extends AbstractOptimizer implements java updateTopology(this.population); for (int i = 0; i < this.population.size(); i++) { - this.updateIndividual(i, (AbstractEAIndividual) population.get(i), this.population); + this.updateIndividual(i, population.get(i), this.population); } if (show) { @@ -1296,7 +1295,7 @@ public class ParticleSwarmOptimization extends AbstractOptimizer implements java for (int i = 0; i < pop.size(); i++) { // cross-link the sorted list for faster access origIndex = (Integer) ((AbstractEAIndividual) sortedPopulation[i]).getData(indexKey); - ((AbstractEAIndividual) pop.get(origIndex)).putData(sortedIndexKey, new Integer(i)); + pop.get(origIndex).putData(sortedIndexKey, i); } } @@ -1339,7 +1338,7 @@ public class ParticleSwarmOptimization extends AbstractOptimizer implements java found = true; // assign to leader, update swarm size ((AbstractEAIndividual) sortedPop[cur]).putData(multiSwTypeKey, leaders.get(i)); - ((AbstractEAIndividual) sortedPop[cur]).putData(multiSwSizeKey, new Integer(-1)); + ((AbstractEAIndividual) sortedPop[cur]).putData(multiSwSizeKey, -1); leaders.get(i).putData(multiSwSizeKey, 1 + sSize); break; } @@ -1348,12 +1347,12 @@ public class ParticleSwarmOptimization extends AbstractOptimizer implements java if (!found) { // new leader is found leaders.add(((AbstractEAIndividual) sortedPop[cur])); ((AbstractEAIndividual) sortedPop[cur]).putData(multiSwTypeKey, sortedPop[cur]); - ((AbstractEAIndividual) sortedPop[cur]).putData(multiSwSizeKey, new Integer(1)); + ((AbstractEAIndividual) sortedPop[cur]).putData(multiSwSizeKey, 1); } else if (superfluous) { //System.out.println("reinitializing " + cur); ((AbstractEAIndividual) sortedPop[cur]).putData(partTypeKey, resetType); ((AbstractEAIndividual) sortedPop[cur]).putData(multiSwTypeKey, sortedPop[cur]); - ((AbstractEAIndividual) sortedPop[cur]).putData(multiSwSizeKey, new Integer(1)); + ((AbstractEAIndividual) sortedPop[cur]).putData(multiSwSizeKey, 1); } cur++; } @@ -1378,7 +1377,7 @@ public class ParticleSwarmOptimization extends AbstractOptimizer implements java parentIndex = getParentIndex(topologyRange, i, pop.size()); if (comp.compare(pop.get(i), pop.get(parentIndex)) < 0) { // sibling is dominant! // so switch them - indy = (AbstractEAIndividual) pop.get(i); + indy = pop.get(i); pop.set(i, pop.get(parentIndex)); pop.set(parentIndex, indy); } diff --git a/src/eva2/optimization/strategies/SimulatedAnnealing.java b/src/eva2/optimization/strategies/SimulatedAnnealing.java index d43a87fd..cfd7266e 100644 --- a/src/eva2/optimization/strategies/SimulatedAnnealing.java +++ b/src/eva2/optimization/strategies/SimulatedAnnealing.java @@ -80,7 +80,7 @@ public class SimulatedAnnealing extends AbstractOptimizer implements java.io.Ser double delta; for (int i = 0; i < this.population.size(); i++) { - indy = ((AbstractEAIndividual) this.population.get(i)); + indy = this.population.get(i); double tmpD = indy.getMutationProbability(); indy.setMutationProbability(1.0); indy.mutate(); @@ -88,11 +88,11 @@ public class SimulatedAnnealing extends AbstractOptimizer implements java.io.Ser } this.optimizationProblem.evaluate(this.population); for (int i = 0; i < this.population.size(); i++) { - if (((AbstractEAIndividual) original.get(i)).isDominatingDebConstraints(((AbstractEAIndividual) this.population.get(i)))) { + if (original.get(i).isDominatingDebConstraints(this.population.get(i))) { this.population.remove(i); this.population.add(i, original.get(i)); } else { - delta = this.calculateDelta(((AbstractEAIndividual) original.get(i)), ((AbstractEAIndividual) this.population.get(i))); + delta = this.calculateDelta(original.get(i), this.population.get(i)); //System.out.println("delta: " + delta); if (Math.exp(-delta / this.currentTemperature) > RNG.randomInt(0, 1)) { this.population.remove(i); diff --git a/src/eva2/optimization/strategies/SteadyStateGA.java b/src/eva2/optimization/strategies/SteadyStateGA.java index f840f520..1c9b122e 100644 --- a/src/eva2/optimization/strategies/SteadyStateGA.java +++ b/src/eva2/optimization/strategies/SteadyStateGA.java @@ -100,7 +100,7 @@ public class SteadyStateGA extends AbstractOptimizer implements java.io.Serializ this.parentSelection.prepareSelection(this.population); this.partnerSelection.prepareSelection(this.population); Population parents = this.parentSelection.selectFrom(this.population, 1); - AbstractEAIndividual mother = (AbstractEAIndividual) parents.get(0); + AbstractEAIndividual mother = parents.get(0); parents = this.partnerSelection.findPartnerFor(mother, this.population, this.numberOfPartners); AbstractEAIndividual[] offSprings = mother.mateWith(parents); offSprings[0].mutate(); diff --git a/src/eva2/optimization/strategies/ThresholdAlgorithm.java b/src/eva2/optimization/strategies/ThresholdAlgorithm.java index dd4c0123..91cd5aa5 100644 --- a/src/eva2/optimization/strategies/ThresholdAlgorithm.java +++ b/src/eva2/optimization/strategies/ThresholdAlgorithm.java @@ -77,7 +77,7 @@ public class ThresholdAlgorithm extends AbstractOptimizer implements java.io.Ser double delta; for (int i = 0; i < this.population.size(); i++) { - indy = ((AbstractEAIndividual) this.population.get(i)); + indy = this.population.get(i); double tmpD = indy.getMutationProbability(); indy.setMutationProbability(1.0); indy.mutate(); @@ -85,7 +85,7 @@ public class ThresholdAlgorithm extends AbstractOptimizer implements java.io.Ser } this.optimizationProblem.evaluate(this.population); for (int i = 0; i < this.population.size(); i++) { - delta = this.calculateDelta(((AbstractEAIndividual) original.get(i)), ((AbstractEAIndividual) this.population.get(i))); + delta = this.calculateDelta(original.get(i), this.population.get(i)); if (delta < this.currentT) { this.population.remove(i); this.population.add(i, original.get(i)); diff --git a/src/eva2/optimization/strategies/WingedMultiObjectiveEA.java b/src/eva2/optimization/strategies/WingedMultiObjectiveEA.java index cac15e6c..e61643d6 100644 --- a/src/eva2/optimization/strategies/WingedMultiObjectiveEA.java +++ b/src/eva2/optimization/strategies/WingedMultiObjectiveEA.java @@ -180,12 +180,12 @@ public class WingedMultiObjectiveEA extends AbstractOptimizer implements java.io double tmpF1, tmpF2; // for each dimension find the best for (int i = 0; i < this.outputDimension; i++) { - bestIndys[i] = (AbstractEAIndividual) ((AbstractEAIndividual) this.population.get(0)).clone(); + bestIndys[i] = (AbstractEAIndividual) this.population.get(0).clone(); tmpF1 = bestIndys[i].getFitness(i); // for each individual find the best for (int j = 0; j < this.population.size(); j++) { - if (((AbstractEAIndividual) this.population.get(j)).getFitness(i) < tmpF1) { - bestIndys[i] = (AbstractEAIndividual) ((AbstractEAIndividual) this.population.get(j)).clone(); + if (this.population.get(j).getFitness(i) < tmpF1) { + bestIndys[i] = (AbstractEAIndividual) this.population.get(j).clone(); tmpF1 = bestIndys[i].getFitness(i); } } diff --git a/src/eva2/optimization/strategies/tribes/TribesSwarm.java b/src/eva2/optimization/strategies/tribes/TribesSwarm.java index 3e58a99d..ce087cb0 100644 --- a/src/eva2/optimization/strategies/tribes/TribesSwarm.java +++ b/src/eva2/optimization/strategies/tribes/TribesSwarm.java @@ -319,7 +319,7 @@ public class TribesSwarm implements java.io.Serializable { int size = 0; int n; for (n = 0; n < tribeNb; n++) { - size = size + tribes[n].getNumExplorers() + tribes[n].getNumMemories(); + size += tribes[n].getNumExplorers() + tribes[n].getNumMemories(); } return size; } diff --git a/src/eva2/optimization/tools/DeNovofilter.java b/src/eva2/optimization/tools/DeNovofilter.java index d675ad03..255e5f9a 100644 --- a/src/eva2/optimization/tools/DeNovofilter.java +++ b/src/eva2/optimization/tools/DeNovofilter.java @@ -30,7 +30,7 @@ public class DeNovofilter { System.out.println("Archive " + a.size()); for (int i = 0; i < a.size(); i++) { String s = ""; - double[] d = ((AbstractEAIndividual) a.get(i)).getFitness(); + double[] d = a.get(i).getFitness(); for (int j = 0; j < d.length; j++) { s += "" + d[j]; if (j < d.length - 1) { @@ -59,7 +59,7 @@ public class DeNovofilter { String[] tmpS = currentLine.split(" "); double[] tmpD = new double[tmpS.length - 2]; for (int i = 2; i < tmpS.length; i++) { - tmpD[i - 2] = new Double(tmpS[i]).doubleValue(); + tmpD[i - 2] = new Double(tmpS[i]); } indy = new ESIndividualDoubleData(); indy.setFitness(tmpD); diff --git a/src/eva2/optimization/tools/ImpactOfDimensionOnMOEAs.java b/src/eva2/optimization/tools/ImpactOfDimensionOnMOEAs.java index d15c653c..c291761c 100644 --- a/src/eva2/optimization/tools/ImpactOfDimensionOnMOEAs.java +++ b/src/eva2/optimization/tools/ImpactOfDimensionOnMOEAs.java @@ -125,7 +125,7 @@ public class ImpactOfDimensionOnMOEAs { fitness[j] = 1 / fitness[j] + x[j % objectives] + x[(j + 1) % objectives]; } } - ((AbstractEAIndividual) pop.get(i)).setFitness(fitness); + pop.get(i).setFitness(fitness); } } diff --git a/src/eva2/problems/AbstractDynTransProblem.java b/src/eva2/problems/AbstractDynTransProblem.java index e847a488..7d9faf4f 100644 --- a/src/eva2/problems/AbstractDynTransProblem.java +++ b/src/eva2/problems/AbstractDynTransProblem.java @@ -158,7 +158,7 @@ public abstract class AbstractDynTransProblem extends AbstractSynchronousOptimiz Population pop = new Population(); pop.setTargetSize(1); prob.initializePopulation(pop); - AbstractEAIndividual indy = (AbstractEAIndividual) pop.get(0); + AbstractEAIndividual indy = pop.get(0); if (indy instanceof InterfaceDataTypeDouble) { problemDimension = ((InterfaceDataTypeDouble) indy).getDoubleRange().length; range = ((InterfaceDataTypeDouble) indy).getDoubleRange(); diff --git a/src/eva2/problems/AbstractMultiModalProblemKnown.java b/src/eva2/problems/AbstractMultiModalProblemKnown.java index 9e4f61df..d5a3590d 100644 --- a/src/eva2/problems/AbstractMultiModalProblemKnown.java +++ b/src/eva2/problems/AbstractMultiModalProblemKnown.java @@ -349,7 +349,7 @@ public abstract class AbstractMultiModalProblemKnown extends AbstractProblemDoub } // check if the opt. was found and store the corr. found fitness if (optsFound[i] != null) { - foundFits[i] = new Double(optsFound[i].getFitness(fitCrit)); + foundFits[i] = optsFound[i].getFitness(fitCrit); } else { foundFits[i] = fitThreshold; // note that it wasnt found -- will result in zero } diff --git a/src/eva2/problems/AbstractMultiObjectiveOptimizationProblem.java b/src/eva2/problems/AbstractMultiObjectiveOptimizationProblem.java index a967a3be..aa01b1f2 100644 --- a/src/eva2/problems/AbstractMultiObjectiveOptimizationProblem.java +++ b/src/eva2/problems/AbstractMultiObjectiveOptimizationProblem.java @@ -183,7 +183,7 @@ public abstract class AbstractMultiObjectiveOptimizationProblem extends Abstract } int bestFitLen = pop.getBestFitness().length, tmpFitLen; for (int i = 0; i < pop.size(); i++) { - tmpFitLen = ((AbstractEAIndividual) pop.get(i)).getFitness().length; + tmpFitLen = pop.get(i).getFitness().length; if (tmpFitLen <= 1) { return false; } @@ -217,7 +217,7 @@ public abstract class AbstractMultiObjectiveOptimizationProblem extends Abstract for (int i = 0; i < population.size(); i++) { // check and update border if necessary - AbstractEAIndividual tmpIndy = (AbstractEAIndividual) population.get(i); + AbstractEAIndividual tmpIndy = population.get(i); fitness = tmpIndy.getFitness(); // check and update border if necessary if (border == null) { @@ -331,12 +331,12 @@ public abstract class AbstractMultiObjectiveOptimizationProblem extends Abstract mySet.setConnectedMode(false); for (int i = 0; i < archive.size(); i++) { icon = new Chart2DDPointIconCircle(); - tmpD = ((AbstractEAIndividual) archive.get(i)).getFitness(); + tmpD = archive.get(i).getFitness(); if (tmpD.length < 2) { throw new RuntimeException("Error, problem seems not to be multi-objective, pareto front plot not possible!"); } myPoint = new DPoint(tmpD[0], tmpD[1]); - if (((AbstractEAIndividual) archive.get(i)).getConstraintViolation() > 0) { + if (archive.get(i).getConstraintViolation() > 0) { icon.setBorderColor(Color.RED); icon.setFillColor(Color.RED); } else { @@ -399,9 +399,9 @@ public abstract class AbstractMultiObjectiveOptimizationProblem extends Abstract // for example plot the current population plot.clearGraph(index); for (int i = 0; i < pop.size(); i++) { - tmpFitness = ((AbstractEAIndividual) pop.get(i)).getFitness(); + tmpFitness = pop.get(i).getFitness(); if (tmpFitness.length <= 1) { - tmpFitness = (double[]) ((AbstractEAIndividual) pop.get(i)).getData("MOFitness"); + tmpFitness = (double[]) pop.get(i).getData("MOFitness"); } plot.setUnconnectedPoint(tmpFitness[0], tmpFitness[1], index); } @@ -429,16 +429,16 @@ public abstract class AbstractMultiObjectiveOptimizationProblem extends Abstract trueFitness = new double[pop.size()][]; constraint = new double[pop.size()]; - if (((AbstractEAIndividual) pop.get(0)).hasData("MOFitness")) { + if (pop.get(0).hasData("MOFitness")) { moFitness = new double[pop.size()][]; } else { moFitness = null; } for (int i = 0; i < pop.size(); i++) { - constraint[i] = ((AbstractEAIndividual) pop.get(i)).getConstraintViolation(); - trueFitness[i] = ((AbstractEAIndividual) pop.get(i)).getFitness(); + constraint[i] = pop.get(i).getConstraintViolation(); + trueFitness[i] = pop.get(i).getFitness(); if (moFitness != null) { - moFitness[i] = (double[]) ((AbstractEAIndividual) pop.get(i)).getData("MOFitness"); + moFitness[i] = (double[]) pop.get(i).getData("MOFitness"); } } mySet.setConnectedMode(false); diff --git a/src/eva2/problems/AbstractOptimizationProblem.java b/src/eva2/problems/AbstractOptimizationProblem.java index f80f649b..ec6efb4e 100644 --- a/src/eva2/problems/AbstractOptimizationProblem.java +++ b/src/eva2/problems/AbstractOptimizationProblem.java @@ -124,7 +124,7 @@ public abstract class AbstractOptimizationProblem implements InterfaceOptimizati ExecutorService pool = Executors.newFixedThreadPool(parallelThreads); int cntIndies = 0; for (; cntIndies < population.size(); cntIndies++) { - AbstractEAIndividual tmpindy = (AbstractEAIndividual) population.get(cntIndies); + AbstractEAIndividual tmpindy = population.get(cntIndies); tmpindy.resetConstraintViolation(); EvalThread evalthread = new EvalThread(this, tmpindy, population, sema); pool.execute(evalthread); @@ -139,7 +139,7 @@ public abstract class AbstractOptimizationProblem implements InterfaceOptimizati } else { for (int i = 0; i < population.size(); i++) { - tmpIndy = (AbstractEAIndividual) population.get(i); + tmpIndy = population.get(i); tmpIndy.putData(OLD_FITNESS_KEY, tmpIndy.getFitness()); synchronized (tmpIndy) { tmpIndy.resetConstraintViolation(); diff --git a/src/eva2/problems/F22Problem.java b/src/eva2/problems/F22Problem.java index 85cbe11a..233ee789 100644 --- a/src/eva2/problems/F22Problem.java +++ b/src/eva2/problems/F22Problem.java @@ -1,7 +1,6 @@ package eva2.problems; import eva2.optimization.strategies.InterfaceOptimizer; -import eva2.tools.math.Mathematics; import eva2.util.annotation.Description; /** diff --git a/src/eva2/problems/F7Problem.java b/src/eva2/problems/F7Problem.java index a790abef..072755dd 100644 --- a/src/eva2/problems/F7Problem.java +++ b/src/eva2/problems/F7Problem.java @@ -56,7 +56,7 @@ public class F7Problem extends AbstractProblemDoubleOffset implements Serializab evaluatePopulationStart(population); for (int i = 0; i < population.size(); i++) { - tmpIndy = (AbstractEAIndividual) population.get(i); + tmpIndy = population.get(i); tmpIndy.resetConstraintViolation(); if (this.timeIntervalType == TimeIntervalType.FunctionCalls) { this.currentTimeStamp = population.getFunctionCalls(); diff --git a/src/eva2/problems/GPFunctionProblem.java b/src/eva2/problems/GPFunctionProblem.java index 57ce663f..a9ea20b2 100644 --- a/src/eva2/problems/GPFunctionProblem.java +++ b/src/eva2/problems/GPFunctionProblem.java @@ -89,7 +89,7 @@ public class GPFunctionProblem extends AbstractProblemDouble implements Interfac pos = x; Double res = (Double) gpProblem.evaluate(this); double[] fit = new double[1]; - fit[0] = scaleFit(res.doubleValue()); + fit[0] = scaleFit(res); return fit; } diff --git a/src/eva2/problems/PSymbolicRegression.java b/src/eva2/problems/PSymbolicRegression.java index 81b43df9..06de4bdf 100644 --- a/src/eva2/problems/PSymbolicRegression.java +++ b/src/eva2/problems/PSymbolicRegression.java @@ -190,7 +190,7 @@ public class PSymbolicRegression extends AbstractOptimizationProblem implements evaluatePopulationStart(population); for (int i = 0; i < population.size(); i++) { - tmpIndy = (AbstractEAIndividual) population.get(i); + tmpIndy = population.get(i); tmpIndy.resetConstraintViolation(); if ((this.useLocalHillClimbing) && (tmpIndy instanceof GAPIndividualProgramData)) { AbstractEAIndividual tmpBestConst = (AbstractEAIndividual) ((GAPIndividualProgramData) tmpIndy).getNumbers(); diff --git a/src/eva2/tools/EVAHELP.java b/src/eva2/tools/EVAHELP.java index 782062db..5c5d6ae4 100644 --- a/src/eva2/tools/EVAHELP.java +++ b/src/eva2/tools/EVAHELP.java @@ -108,12 +108,12 @@ public class EVAHELP { public static void freeMemory() { Runtime currR = Runtime.getRuntime(); long freeM = currR.freeMemory(); - freeM = freeM / 1024; + freeM /= 1024; //System.out.println("Available memory : "+freeM+" Kbytes"); System.gc(); currR = Runtime.getRuntime(); freeM = currR.freeMemory(); - freeM = freeM / 1024; + freeM /= 1024; //System.out.println("after gc:Available memory : "+freeM+" bytes"); } diff --git a/src/eva2/tools/MultirunRefiner.java b/src/eva2/tools/MultirunRefiner.java index 80e739b4..59d53614 100644 --- a/src/eva2/tools/MultirunRefiner.java +++ b/src/eva2/tools/MultirunRefiner.java @@ -376,7 +376,7 @@ public class MultirunRefiner { } output = new double[i]; for (int j = 0; j < i; j++) { - output[j] = ((Double) tmpOutput.elementAt(j)).doubleValue(); + output[j] = (Double) tmpOutput.elementAt(j); } return output; } diff --git a/src/eva2/tools/StringSelection.java b/src/eva2/tools/StringSelection.java index 639cd929..936c8461 100644 --- a/src/eva2/tools/StringSelection.java +++ b/src/eva2/tools/StringSelection.java @@ -218,7 +218,7 @@ public class StringSelection implements Serializable { if (selIndex == null) { return -1; } else { - return selIndex.intValue(); + return selIndex; } } diff --git a/src/eva2/tools/math/Jama/Matrix.java b/src/eva2/tools/math/Jama/Matrix.java index 2d6e3801..b585eb09 100644 --- a/src/eva2/tools/math/Jama/Matrix.java +++ b/src/eva2/tools/math/Jama/Matrix.java @@ -1353,7 +1353,7 @@ public class Matrix implements Cloneable, Serializable { int n = v.size(); // Now we've got the number of columns! double row[] = new double[n]; for (int j = 0; j < n; j++) { - row[j] = ((Double) v.elementAt(j)).doubleValue(); + row[j] = (Double) v.elementAt(j); } v.removeAllElements(); v.addElement(row); // Start storing rows instead of columns. @@ -1366,7 +1366,7 @@ public class Matrix implements Cloneable, Serializable { throw new java.io.IOException ("Row " + v.size() + " is too long."); } - row[j++] = Double.valueOf(tokenizer.sval).doubleValue(); + row[j++] = Double.valueOf(tokenizer.sval); } while (tokenizer.nextToken() == StreamTokenizer.TT_WORD); if (j < n) { throw new java.io.IOException diff --git a/src/eva2/tools/math/RNG.java b/src/eva2/tools/math/RNG.java index 0d5baacf..f97f964a 100644 --- a/src/eva2/tools/math/RNG.java +++ b/src/eva2/tools/math/RNG.java @@ -134,7 +134,7 @@ public final class RNG { ArrayList intList = new ArrayList<>(length); int[] result = new int[length]; for (int i = 0; i < length; i++) { - intList.add(new Integer(i)); + intList.add(i); } for (int i = 0; i < length - 1; i++) { int index = randomInt(intList.size()); diff --git a/src/eva2/tools/math/StatisticUtils.java b/src/eva2/tools/math/StatisticUtils.java index 8374ecea..87353147 100644 --- a/src/eva2/tools/math/StatisticUtils.java +++ b/src/eva2/tools/math/StatisticUtils.java @@ -490,7 +490,7 @@ public final class StatisticUtils { for (int i = 0; i < X.getRowDimension(); ++i) { for (int j = 0; j < X.getColumnDimension(); ++j) { double v = X.get(i, j); - v = (v) / (samples - 1); + v /= (samples - 1); X.set(i, j, v); } }