diff --git a/src/eva2/EvAInfo.java b/src/eva2/EvAInfo.java
index 8231ccf6..270a8654 100644
--- a/src/eva2/EvAInfo.java
+++ b/src/eva2/EvAInfo.java
@@ -1,107 +1,109 @@
package eva2;
import eva2.tools.BasicResourceLoader;
+
import java.io.InputStream;
import java.util.Properties;
-/**
+/**
* @author mkron
- *
*/
public class EvAInfo {
/**
* Product Name.
*/
- public static final String productName = "EvA2";
-
+ public static final String productName = "EvA2";
+
/**
* Long product name.
*/
- public static final String productLongName = "Evolutionary Algorithms Workbench 2";
-
+ public static final String productLongName = "Evolutionary Algorithms Workbench 2";
+
/**
* Website URL of EvA2.
*/
- public static final String url = "http://www.cogsys.cs.uni-tuebingen.de/software/EvA2";
+ public static final String url = "http://www.cogsys.cs.uni-tuebingen.de/software/EvA2";
/**
* Relative path to default properties.
*/
- public static final String propertyFile = "META-INF/EvA2.props";
-
- public static final String LGPLFile = "lgpl-3.0.txt";
- public static final String GPLFile= "gpl-3.0.txt";
-
+ public static final String propertyFile = "META-INF/EvA2.props";
+
+ public static final String LGPLFile = "lgpl-3.0.txt";
+ public static final String GPLFile = "gpl-3.0.txt";
+
/**
* Relative path to application icon.
*/
- public static final String iconLocation = "images/icon4.gif";
+ public static final String iconLocation = "images/icon4.gif";
/**
* Relative path to splash screen image.
*/
- public static final String splashLocation = "images/EvASplashScreen.png";
-
- public static final String infoTitle = productName+" Information";
- public static final String copyrightYear = "2010-2012";
+ public static final String splashLocation = "images/EvASplashScreen.png";
+
+ public static final String infoTitle = productName + " Information";
+ public static final String copyrightYear = "2010-2012";
+
+ ////////////// Property handling...
+
+ private static Properties evaProperties;
+
+ static {
+ try {
+ evaProperties = BasicResourceLoader.readProperties(EvAInfo.propertyFile);
+ } catch (Exception ex) {
+ System.err.println(resourceNotFoundErrorMessage(EvAInfo.propertyFile));
+ System.err.println(ex.getMessage());
+ System.exit(1);
+ }
+ InputStream istr = BasicResourceLoader.instance().getStreamFromResourceLocation(EvAInfo.iconLocation);
+ if (istr == null) {
+ throw new RuntimeException(resourceNotFoundErrorMessage(EvAInfo.iconLocation) + " (EvAInfo.static)");
+ }
+ }
- ////////////// Property handling...
-
- private static Properties evaProperties;
- static {
- try {
- evaProperties = BasicResourceLoader.readProperties(EvAInfo.propertyFile);
- } catch (Exception ex) {
- System.err.println(resourceNotFoundErrorMessage(EvAInfo.propertyFile));
- System.err.println(ex.getMessage());
- System.exit(1);
- }
- InputStream istr = BasicResourceLoader.instance().getStreamFromResourceLocation(EvAInfo.iconLocation);
- if (istr==null) {
- throw new RuntimeException(resourceNotFoundErrorMessage(EvAInfo.iconLocation) + " (EvAInfo.static)");
- }
- }
-
/**
* An eloquent error message in case a resource was not found - which was
* expected in the EvA2 resource directory.
+ *
* @param resourceName
* @return
*/
public static String resourceNotFoundErrorMessage(String resourceName) {
- String cp = System.getProperty("java.class.path");
- return "Could not find " + resourceName +
- "\nPlease make resources folder available on the class path! " +
- "Current class path is: " + cp +
- "\nYou may copy it there or add the parent folder of resources/ to the class path.";
+ String cp = System.getProperty("java.class.path");
+ return "Could not find " + resourceName +
+ "\nPlease make resources folder available on the class path! " +
+ "Current class path is: " + cp +
+ "\nYou may copy it there or add the parent folder of resources/ to the class path.";
}
-
- public static String getProperty(String key) {
- String myVal = evaProperties.getProperty(key);
- return myVal;
- }
- public static Properties getProperties() {
- return evaProperties;
- }
-
- private static void setProperty(String key, String value) {
- evaProperties.setProperty(key, value);
- }
+ public static String getProperty(String key) {
+ String myVal = evaProperties.getProperty(key);
+ return myVal;
+ }
- public static String getVersion() {
- String version = getProperty("EvA2Version");
- if (version==null) {
- System.err.println("ERROR, missing property EvA2Version!");
- }
- return version;
- }
+ public static Properties getProperties() {
+ return evaProperties;
+ }
- public static String propDefaultModule() {
- return getProperty("DefaultModule");
- }
+ private static void setProperty(String key, String value) {
+ evaProperties.setProperty(key, value);
+ }
- public static String propShowModules() {
- return getProperty("ShowModules");
- }
+ public static String getVersion() {
+ String version = getProperty("EvA2Version");
+ if (version == null) {
+ System.err.println("ERROR, missing property EvA2Version!");
+ }
+ return version;
+ }
+
+ public static String propDefaultModule() {
+ return getProperty("DefaultModule");
+ }
+
+ public static String propShowModules() {
+ return getProperty("ShowModules");
+ }
}
diff --git a/src/eva2/OptimizerFactory.java b/src/eva2/OptimizerFactory.java
index d67000ca..179dd875 100644
--- a/src/eva2/OptimizerFactory.java
+++ b/src/eva2/OptimizerFactory.java
@@ -1,41 +1,13 @@
package eva2;
-import eva2.optimization.modules.OptimizationParameters;
-import eva2.optimization.operator.mutation.InterfaceMutation;
-import eva2.optimization.operator.mutation.NoMutation;
-import eva2.optimization.operator.mutation.MutateESFixedStepSize;
-import eva2.optimization.operator.mutation.MutateESCovarianceMatrixAdaption;
-import eva2.optimization.operator.mutation.MutateESGlobal;
-import eva2.optimization.operator.mutation.MutateESRankMuCMA;
-import eva2.optimization.strategies.ParticleSwarmOptimization;
-import eva2.optimization.strategies.EvolutionStrategyIPOP;
-import eva2.optimization.strategies.GradientDescentAlgorithm;
-import eva2.optimization.strategies.NelderMeadSimplex;
-import eva2.optimization.strategies.DifferentialEvolution;
-import eva2.optimization.strategies.EsDpiNiching;
-import eva2.optimization.strategies.HillClimbing;
-import eva2.optimization.strategies.EvolutionStrategies;
-import eva2.optimization.strategies.PopulationBasedIncrementalLearning;
-import eva2.optimization.strategies.EsDpiNichingCma;
-import eva2.optimization.strategies.MultiObjectiveEA;
-import eva2.optimization.strategies.GeneticAlgorithm;
-import eva2.optimization.strategies.InterfaceOptimizer;
-import eva2.optimization.strategies.Tribes;
-import eva2.optimization.strategies.SimulatedAnnealing;
-import eva2.optimization.strategies.ClusteringHillClimbing;
-import eva2.optimization.strategies.ClusterBasedNichingEA;
-import eva2.optimization.strategies.MonteCarloSearch;
-import eva2.optimization.individuals.IndividualInterface;
-import eva2.optimization.go.InterfacePopulationChangedEventListener;
-import eva2.optimization.go.InterfaceTerminator;
import eva2.optimization.enums.DETypeEnum;
import eva2.optimization.enums.MutateESCrossoverTypeEnum;
import eva2.optimization.enums.PSOTopologyEnum;
import eva2.optimization.enums.PostProcessMethod;
-import eva2.optimization.individuals.AbstractEAIndividual;
-import eva2.optimization.individuals.InterfaceDataTypeBinary;
-import eva2.optimization.individuals.InterfaceDataTypeDouble;
-import eva2.optimization.individuals.InterfaceESIndividual;
+import eva2.optimization.go.InterfacePopulationChangedEventListener;
+import eva2.optimization.go.InterfaceTerminator;
+import eva2.optimization.individuals.*;
+import eva2.optimization.modules.OptimizationParameters;
import eva2.optimization.operator.archiving.ArchivingNSGAII;
import eva2.optimization.operator.archiving.InformationRetrievalInserting;
import eva2.optimization.operator.archiving.InterfaceArchiving;
@@ -46,6 +18,7 @@ import eva2.optimization.operator.crossover.CrossoverESDefault;
import eva2.optimization.operator.crossover.InterfaceCrossover;
import eva2.optimization.operator.crossover.NoCrossover;
import eva2.optimization.operator.distancemetric.IndividualDataMetric;
+import eva2.optimization.operator.mutation.*;
import eva2.optimization.operator.postprocess.InterfacePostProcessParams;
import eva2.optimization.operator.postprocess.PostProcessParams;
import eva2.optimization.operator.selection.InterfaceSelection;
@@ -56,7 +29,9 @@ import eva2.optimization.population.PBILPopulation;
import eva2.optimization.population.Population;
import eva2.optimization.problems.AbstractOptimizationProblem;
import eva2.optimization.stat.InterfaceStatistics;
+import eva2.optimization.strategies.*;
import eva2.tools.math.RNG;
+
import java.util.ArrayList;
import java.util.BitSet;
import java.util.List;
@@ -76,11 +51,11 @@ import java.util.List;
* while (!terminator.isTerminated(optimizer.getPopulation())) optimizer.optimize();
*
*
- * @version 0.1
- * @since 2.0
* @author mkron
* @author Andreas Dräger
+ * @version 0.1
* @date 17.04.2007
+ * @since 2.0
*/
public class OptimizerFactory {
@@ -150,22 +125,22 @@ public class OptimizerFactory {
*
* @param mu
* @param lambda
- * @param plus if true this operator uses elitism otherwise a comma
- * strategy.
+ * @param plus if true this operator uses elitism otherwise a comma
+ * strategy.
* @param mutationoperator
* @param pm
* @param crossoveroperator
* @param pc
- * @param selection environmental selection operator
+ * @param selection environmental selection operator
* @param problem
* @param listener
* @return An optimization algorithm that employs an evolution strategy.
*/
public static final EvolutionStrategies createEvolutionStrategy(int mu,
- int lambda, boolean plus, InterfaceMutation mutationoperator,
- double pm, InterfaceCrossover crossoveroperator, double pc,
- InterfaceSelection selection, AbstractOptimizationProblem problem,
- InterfacePopulationChangedEventListener listener) {
+ int lambda, boolean plus, InterfaceMutation mutationoperator,
+ double pm, InterfaceCrossover crossoveroperator, double pc,
+ InterfaceSelection selection, AbstractOptimizationProblem problem,
+ InterfacePopulationChangedEventListener listener) {
return createES(new EvolutionStrategies(mu, lambda, plus), mutationoperator, pm, crossoveroperator, pc, selection, problem, listener);
}
@@ -175,24 +150,24 @@ public class OptimizerFactory {
*
* @param mu
* @param lambda
- * @param plus if true this operator uses elitism otherwise a comma
- * strategy.
+ * @param plus if true this operator uses elitism otherwise a comma
+ * strategy.
* @param mutationoperator
* @param pm
* @param crossoveroperator
* @param pc
- * @param incPopSizeFact factor by which to inrease lambda ro restart,
- * default is 2
- * @param stagThresh if the fitness changes below this value during a
- * stagnation phase, a restart is initiated
+ * @param incPopSizeFact factor by which to inrease lambda ro restart,
+ * default is 2
+ * @param stagThresh if the fitness changes below this value during a
+ * stagnation phase, a restart is initiated
* @param problem
* @param listener
* @return An optimization algorithm that employs an IPOP-ES.
*/
public static final EvolutionStrategyIPOP createEvolutionStrategyIPOP(int mu,
- int lambda, boolean plus, InterfaceMutation mutationoperator,
- double pm, InterfaceCrossover crossoveroperator, double pc, double incPopSizeFact, double stagThresh,
- AbstractOptimizationProblem problem, InterfacePopulationChangedEventListener listener) {
+ int lambda, boolean plus, InterfaceMutation mutationoperator,
+ double pm, InterfaceCrossover crossoveroperator, double pc, double incPopSizeFact, double stagThresh,
+ AbstractOptimizationProblem problem, InterfacePopulationChangedEventListener listener) {
EvolutionStrategyIPOP esIPOP = (EvolutionStrategyIPOP) createES(new EvolutionStrategyIPOP(mu, lambda, plus), mutationoperator, pm, crossoveroperator, pc, new SelectBestIndividuals(), problem, listener);
esIPOP.setIncPopSizeFact(incPopSizeFact);
// esIPOP.setStagnationGenerations(stagTimeGens);
@@ -201,9 +176,9 @@ public class OptimizerFactory {
}
private static final EvolutionStrategies createES(EvolutionStrategies theES, InterfaceMutation mutationoperator,
- double pm, InterfaceCrossover crossoveroperator, double pc,
- InterfaceSelection selection, AbstractOptimizationProblem problem,
- InterfacePopulationChangedEventListener listener) {
+ double pm, InterfaceCrossover crossoveroperator, double pc,
+ InterfaceSelection selection, AbstractOptimizationProblem problem,
+ InterfacePopulationChangedEventListener listener) {
problem.initializeProblem();
@@ -267,12 +242,12 @@ public class OptimizerFactory {
* multi-objective selection method within the specific optimizer. This uses
* a standard archiving strategy (NSGAII) and InformationRetrievalInserting.
*
- * @param subOpt the specific optimizer to use
+ * @param subOpt the specific optimizer to use
* @param archiveSize maximum size of the archive
* @param problem
* @param listener
* @return An optimization algorithm that employs a multi-objective
- * optimizer
+ * optimizer
*/
public static MultiObjectiveEA createMultiObjectiveEA(
InterfaceOptimizer subOpt, int archiveSize,
@@ -302,14 +277,14 @@ public class OptimizerFactory {
* This method creates a multi-objective EA optimizer. Remember to set a
* multi-objective selection method within the specific optimizer.
*
- * @param subOpt the specific optimizer to use
- * @param archiving the archiving strategy collecting the pareto front
- * @param archiveSize maximum size of the archive
+ * @param subOpt the specific optimizer to use
+ * @param archiving the archiving strategy collecting the pareto front
+ * @param archiveSize maximum size of the archive
* @param infoRetrieval information retrieval strategy
* @param problem
* @param listener
* @return An optimization algorithm that employs a multi-objective
- * optimizer
+ * optimizer
*/
public static MultiObjectiveEA createMultiObjectiveEA(
InterfaceOptimizer subOpt, InterfaceArchiving archiving,
@@ -352,28 +327,28 @@ public class OptimizerFactory {
* This method creates a Hill Climber algorithm with a default fixed-size
* mutation.
*
- * @param pop The size of the population
- * @param problem The problem to be optimized
+ * @param pop The size of the population
+ * @param problem The problem to be optimized
* @param listener
* @return An optimization procedure that performs hill climbing.
*/
public static HillClimbing createHillClimber(int popSize,
- AbstractOptimizationProblem problem,
- InterfacePopulationChangedEventListener listener) {
+ AbstractOptimizationProblem problem,
+ InterfacePopulationChangedEventListener listener) {
return createHillClimber(popSize, new MutateESFixedStepSize(0.2), problem, listener);
}
/**
* This method creates a Hill Climber algorithm.
*
- * @param pop The size of the population
- * @param problem The problem to be optimized
+ * @param pop The size of the population
+ * @param problem The problem to be optimized
* @param listener
* @return An optimization procedure that performs hill climbing.
*/
public static HillClimbing createHillClimber(int popSize, InterfaceMutation mutator,
- AbstractOptimizationProblem problem,
- InterfacePopulationChangedEventListener listener) {
+ AbstractOptimizationProblem problem,
+ InterfacePopulationChangedEventListener listener) {
problem.initializeProblem();
@@ -434,9 +409,9 @@ public class OptimizerFactory {
* @param speedLim
* @param listener
* @param topology
- * @see ParticleSwarmOpimization
* @return An optimization algorithm that performs particle swarm
- * optimization.
+ * optimization.
+ * @see ParticleSwarmOpimization
*/
public static ParticleSwarmOptimization createParticleSwarmOptimization(
AbstractOptimizationProblem problem, int popsize, double phi1,
@@ -473,7 +448,7 @@ public class OptimizerFactory {
*
* @param problem
* @param popsize
- * @param alpha The parameter for the linear cooling
+ * @param alpha The parameter for the linear cooling
* @param temperature The initial temperature
* @param mut
* @param listener
@@ -556,15 +531,16 @@ public class OptimizerFactory {
}
// /////////////////////////// constructing a default OptimizerRunnable
+
/**
* For an optimizer identifier, return the corresponding default parameter
* set including initialization (thats why the problem is required).
*
- * @param optType optimizer identifier
- * @param problem corresponding optimization problem
+ * @param optType optimizer identifier
+ * @param problem corresponding optimization problem
*/
public static OptimizationParameters getParams(final int optType,
- AbstractOptimizationProblem problem) {
+ AbstractOptimizationProblem problem) {
switch (optType) {
case STD_ES:
return standardES(problem);
@@ -625,8 +601,8 @@ public class OptimizerFactory {
* @return a runnable optimizer
*/
public static OptimizerRunnable getOptRunnable(final int optType,
- AbstractOptimizationProblem problem, int fitCalls,
- String outputFilePrefix) {
+ AbstractOptimizationProblem problem, int fitCalls,
+ String outputFilePrefix) {
return getOptRunnable(optType, problem, new EvaluationTerminator(fitCalls), outputFilePrefix);
}
@@ -644,8 +620,8 @@ public class OptimizerFactory {
* @return a runnable optimizer
*/
public static OptimizerRunnable getOptRunnable(final int optType,
- AbstractOptimizationProblem problem, InterfaceTerminator terminator,
- String outputFilePrefix) {
+ AbstractOptimizationProblem problem, InterfaceTerminator terminator,
+ String outputFilePrefix) {
OptimizerRunnable opt = null;
OptimizationParameters params = getParams(optType, problem);
if (params != null) {
@@ -672,19 +648,20 @@ public class OptimizerFactory {
}
// /////////////////////////// constructing a default OptimizerRunnable
+
/**
* Produce a runnable optimizer from a strategy identifier, a problem
* instance and with the current static terminator in use. Output is written
* to a file if the prefix String is given.
*
- * @see #getOptRunnable(int, AbstractOptimizationProblem, int, String)
* @param optType
* @param problem
* @param outputFilePrefix
* @return a runnable optimizer
+ * @see #getOptRunnable(int, AbstractOptimizationProblem, int, String)
*/
public static OptimizerRunnable getOptRunnable(final int optType,
- AbstractOptimizationProblem problem, String outputFilePrefix) {
+ AbstractOptimizationProblem problem, String outputFilePrefix) {
return getOptRunnable(optType, problem, getTerminator(), outputFilePrefix);
}
@@ -713,6 +690,7 @@ public class OptimizerFactory {
}
// /////////////////////// Creating default strategies
+
/**
* Use lambda, default random seed and terminator to produce OptimizationParameters.
*
@@ -721,19 +699,19 @@ public class OptimizerFactory {
* @return
*/
public static OptimizationParameters makeESParams(EvolutionStrategies es,
- AbstractOptimizationProblem problem) {
+ AbstractOptimizationProblem problem) {
return makeParams(es, es.getLambda(), problem, randSeed, getTerminator());
}
/**
* Use default random seed and terminator for a parameter set.
*
- * @see #makeParams(InterfaceOptimizer, int, AbstractOptimizationProblem,
- * long, InterfaceTerminator)
* @param opt
* @param popSize
* @param problem
* @return
+ * @see #makeParams(InterfaceOptimizer, int, AbstractOptimizationProblem,
+ * long, InterfaceTerminator)
*/
public static OptimizationParameters makeParams(InterfaceOptimizer opt, int popSize, AbstractOptimizationProblem problem) {
return makeParams(opt, popSize, problem, randSeed, getTerminator());
@@ -742,12 +720,12 @@ public class OptimizerFactory {
/**
* Use default random seed and the population size of the optimizer.
*
- * @see #makeParams(InterfaceOptimizer, int, AbstractOptimizationProblem,
- * long, InterfaceTerminator)
* @param opt
* @param popSize
* @param problem
* @return
+ * @see #makeParams(InterfaceOptimizer, int, AbstractOptimizationProblem,
+ * long, InterfaceTerminator)
*/
public static OptimizationParameters makeParams(InterfaceOptimizer opt, AbstractOptimizationProblem problem, InterfaceTerminator term) {
return makeParams(opt, opt.getPopulation().getTargetSize(), problem, randSeed, term);
@@ -757,18 +735,18 @@ public class OptimizerFactory {
* Set the population size, initialize the population and return a parameter
* structure containing all given parts.
*
- * @see #makeParams(InterfaceOptimizer, Population,
- * AbstractOptimizationProblem, long, InterfaceTerminator)
* @param opt
* @param popSize
* @param problem
* @param seed
* @param term
* @return
+ * @see #makeParams(InterfaceOptimizer, Population,
+ * AbstractOptimizationProblem, long, InterfaceTerminator)
*/
public static OptimizationParameters makeParams(InterfaceOptimizer opt,
- int popSize, AbstractOptimizationProblem problem, long seed,
- InterfaceTerminator term) {
+ int popSize, AbstractOptimizationProblem problem, long seed,
+ InterfaceTerminator term) {
Population pop = new Population(popSize);
RNG.setRandomSeed(seed);
problem.initializePopulation(pop);
@@ -780,17 +758,17 @@ public class OptimizerFactory {
* The result can be modified and then used to create an OptimizerRunnable,
* which of course can simply be run.
*
- * @see OptimizerRunnable
* @param opt
* @param pop
* @param problem
* @param seed
* @param term
* @return
+ * @see OptimizerRunnable
*/
public static OptimizationParameters makeParams(InterfaceOptimizer opt,
- Population pop, AbstractOptimizationProblem problem, long seed,
- InterfaceTerminator term) {
+ Population pop, AbstractOptimizationProblem problem, long seed,
+ InterfaceTerminator term) {
OptimizationParameters params = new OptimizationParameters();
params.setProblem(problem);
opt.setProblem(problem);
@@ -802,7 +780,7 @@ public class OptimizerFactory {
}
public static OptimizerRunnable optimize(final int optType,
- AbstractOptimizationProblem problem, String outputFilePrefix) {
+ AbstractOptimizationProblem problem, String outputFilePrefix) {
return optimize(getOptRunnable(optType, problem, outputFilePrefix));
}
@@ -860,7 +838,7 @@ public class OptimizerFactory {
// ///////////////////////////// Optimize a given parameter instance
public static BitSet optimizeToBinary(OptimizationParameters params,
- String outputFilePrefix) {
+ String outputFilePrefix) {
OptimizerRunnable runnable = optimize(new OptimizerRunnable(params,
outputFilePrefix));
return runnable.getBinarySolution();
@@ -868,13 +846,13 @@ public class OptimizerFactory {
// ///////////////////////////// Optimize using a default strategy
public static BitSet optimizeToBinary(final int optType,
- AbstractOptimizationProblem problem) {
+ AbstractOptimizationProblem problem) {
return optimizeToBinary(optType, problem, null);
}
// ///////////////////////////// Optimize using a default strategy
public static BitSet optimizeToBinary(final int optType,
- AbstractOptimizationProblem problem, String outputFilePrefix) {
+ AbstractOptimizationProblem problem, String outputFilePrefix) {
OptimizerRunnable runnable = optimize(optType, problem,
outputFilePrefix);
return (runnable != null) ? runnable.getBinarySolution() : null;
@@ -887,7 +865,7 @@ public class OptimizerFactory {
}
public static double[] optimizeToDouble(OptimizationParameters params,
- String outputFilePrefix) {
+ String outputFilePrefix) {
OptimizerRunnable runnable = optimize(new OptimizerRunnable(params,
outputFilePrefix));
return runnable.getDoubleSolution();
@@ -906,12 +884,12 @@ public class OptimizerFactory {
}
public static double[] optimizeToDouble(final int optType,
- AbstractOptimizationProblem problem) {
+ AbstractOptimizationProblem problem) {
return optimizeToDouble(optType, problem, null);
}
public static double[] optimizeToDouble(final int optType,
- AbstractOptimizationProblem problem, String outputFilePrefix) {
+ AbstractOptimizationProblem problem, String outputFilePrefix) {
OptimizerRunnable runnable = optimize(optType, problem,
outputFilePrefix);
return (runnable != null) ? runnable.getDoubleSolution() : null;
@@ -929,19 +907,19 @@ public class OptimizerFactory {
}
public static IndividualInterface optimizeToInd(OptimizationParameters params,
- String outputFilePrefix) {
+ String outputFilePrefix) {
OptimizerRunnable runnable = optimize(new OptimizerRunnable(params,
outputFilePrefix));
return runnable.getResult();
}
public static IndividualInterface optimizeToInd(final int optType,
- AbstractOptimizationProblem problem) {
+ AbstractOptimizationProblem problem) {
return optimizeToInd(optType, problem, null);
}
public static IndividualInterface optimizeToInd(final int optType,
- AbstractOptimizationProblem problem, String outputFilePrefix) {
+ AbstractOptimizationProblem problem, String outputFilePrefix) {
OptimizerRunnable runnable = optimize(optType, problem,
outputFilePrefix);
return (runnable != null) ? runnable.getResult() : null;
@@ -953,14 +931,14 @@ public class OptimizerFactory {
}
public static Population optimizeToPop(OptimizationParameters params,
- String outputFilePrefix) {
+ String outputFilePrefix) {
OptimizerRunnable runnable = optimize(new OptimizerRunnable(params,
outputFilePrefix));
return runnable.getResultPopulation();
}
public static Population optimizeToPop(final int optType,
- AbstractOptimizationProblem problem, String outputFilePrefix) {
+ AbstractOptimizationProblem problem, String outputFilePrefix) {
OptimizerRunnable runnable = optimize(optType, problem,
outputFilePrefix);
return (runnable != null) ? runnable.getResultPopulation() : null;
@@ -992,7 +970,7 @@ public class OptimizerFactory {
* @return
*/
public static Population postProcess(OptimizerRunnable runnable, int steps,
- double sigma, int nBest) {
+ double sigma, int nBest) {
PostProcessParams ppp = new PostProcessParams(steps, sigma, nBest);
return postProcess(runnable, ppp);
}
@@ -1006,7 +984,7 @@ public class OptimizerFactory {
* @return
*/
public static Population postProcess(OptimizerRunnable runnable,
- InterfacePostProcessParams ppp) {
+ InterfacePostProcessParams ppp) {
runnable.setDoRestart(true);
runnable.setDoPostProcessOnly(true);
runnable.setPostProcessingParams(ppp);
@@ -1017,7 +995,7 @@ public class OptimizerFactory {
}
public static List postProcessBinVec(int steps, double sigma,
- int nBest) {
+ int nBest) {
return (lastRunnable != null) ? postProcessBinVec(lastRunnable,
new PostProcessParams(steps, sigma, nBest)) : null;
}
@@ -1029,7 +1007,7 @@ public class OptimizerFactory {
}
public static List postProcessBinVec(OptimizerRunnable runnable,
- int steps, double sigma, int nBest) {
+ int steps, double sigma, int nBest) {
return postProcessBinVec(runnable, new PostProcessParams(steps, sigma,
nBest));
}
@@ -1043,7 +1021,7 @@ public class OptimizerFactory {
* @return
*/
public static List postProcessBinVec(OptimizerRunnable runnable,
- InterfacePostProcessParams ppp) {
+ InterfacePostProcessParams ppp) {
Population resPop = postProcess(runnable, ppp);
List ret = new ArrayList(resPop.size());
for (Object o : resPop) {
@@ -1056,7 +1034,7 @@ public class OptimizerFactory {
}
public static List postProcessDblVec(int steps, double sigma,
- int nBest) {
+ int nBest) {
return (lastRunnable == null) ? null : postProcessDblVec(lastRunnable,
new PostProcessParams(steps, sigma, nBest));
}
@@ -1096,7 +1074,7 @@ public class OptimizerFactory {
}
public static List postProcessIndVec(int steps,
- double sigma, int nBest) {
+ double sigma, int nBest) {
return (lastRunnable != null) ? postProcessIndVec(lastRunnable,
new PostProcessParams(steps, sigma, nBest)) : null;
}
@@ -1137,6 +1115,7 @@ public class OptimizerFactory {
}
///////////////////////////// termination management
+
/**
* Replace the current user-defined terminator by the given one.
*
@@ -1154,7 +1133,7 @@ public class OptimizerFactory {
* the new one is used without conjunction.
*
* @param newTerm a new InterfaceTerminator instance
- * @param bAnd indicate the boolean combination
+ * @param bAnd indicate the boolean combination
*/
public static void addTerminator(InterfaceTerminator newTerm, boolean bAnd) {
if (OptimizerFactory.userTerm == null) {
@@ -1185,11 +1164,12 @@ public class OptimizerFactory {
}
///////////////////////////// default parameters
+
/**
* Create a standard multi-start hill-climber parameter set with 50 initial
* individuals.
*
- * @return a standard multi-start hill-climber
+ * @return a standard multi-start hill-climber
*/
public static OptimizationParameters hillClimbing(
AbstractOptimizationProblem problem) {
@@ -1200,7 +1180,7 @@ public class OptimizerFactory {
* Create a standard multi-start hill-climber parameter set with the given
* number of individuals.
*
- * @return a standard multi-start hill-climber
+ * @return a standard multi-start hill-climber
*/
public static OptimizationParameters hillClimbing(
AbstractOptimizationProblem problem, int popSize) {
@@ -1226,7 +1206,7 @@ public class OptimizerFactory {
* @return
*/
public static OptimizationParameters createCbn(AbstractOptimizationProblem problem, InterfaceOptimizer opt,
- double clusterSigma, int minClustSize, int maxSpecSize, int haltingWindowLength, double haltingWindowEpsilon, int popSize) {
+ double clusterSigma, int minClustSize, int maxSpecSize, int haltingWindowLength, double haltingWindowEpsilon, int popSize) {
return createCbn(problem, opt, new ClusteringDensityBased(clusterSigma, minClustSize), maxSpecSize,
new ClusteringDensityBased(clusterSigma, minClustSize), haltingWindowLength, haltingWindowEpsilon, popSize);
}
@@ -1244,7 +1224,7 @@ public class OptimizerFactory {
}
public static OptimizationParameters createCbnPSO(AbstractOptimizationProblem problem, double clusterSigma, int minClustSize,
- int maxSpecSize, int haltingWindowLength, double haltingWindowEpsilon, int popSize) {
+ int maxSpecSize, int haltingWindowLength, double haltingWindowEpsilon, int popSize) {
OptimizationParameters psoParams = standardPSO(problem);
ParticleSwarmOptimization pso = (ParticleSwarmOptimization) psoParams.getOptimizer();
ClusteringDensityBased clust = new ClusteringDensityBased(clusterSigma, minClustSize,
@@ -1266,8 +1246,8 @@ public class OptimizerFactory {
* @return
*/
public static OptimizationParameters createCbn(AbstractOptimizationProblem problem, InterfaceOptimizer opt,
- InterfaceClustering clustDifferentiate, int maxSpecSize, InterfaceClustering clustMerge, int haltingWindowLength,
- double haltingWindowEpsilon, int popSize) {
+ InterfaceClustering clustDifferentiate, int maxSpecSize, InterfaceClustering clustMerge, int haltingWindowLength,
+ double haltingWindowEpsilon, int popSize) {
ClusterBasedNichingEA cbn = new ClusterBasedNichingEA();
cbn.setOptimizer(opt);
cbn.setMergingCA(clustMerge);
@@ -1323,7 +1303,6 @@ public class OptimizerFactory {
}
/**
- *
* @param problem
* @return
*/
@@ -1364,7 +1343,7 @@ public class OptimizerFactory {
* @return
*/
public static OptimizationParameters clusteringHillClimbingNM(AbstractOptimizationProblem problem,
- int evalCycle, int popSize, double minImprovement, double sigmaClust) {
+ int evalCycle, int popSize, double minImprovement, double sigmaClust) {
return clusteringHillClimbing(problem, evalCycle, popSize, minImprovement,
PostProcessMethod.nelderMead, 0.01, 0.00000001, sigmaClust);
}
@@ -1637,7 +1616,7 @@ public class OptimizerFactory {
* @return
*/
private static boolean assertIndyType(AbstractOptimizationProblem prob,
- Class cls) {
+ Class cls) {
return cls.isAssignableFrom(prob.getIndividualTemplate().getClass());
}
diff --git a/src/eva2/OptimizerRunnable.java b/src/eva2/OptimizerRunnable.java
index a5aaeb1f..f381c9f3 100644
--- a/src/eva2/OptimizerRunnable.java
+++ b/src/eva2/OptimizerRunnable.java
@@ -1,24 +1,20 @@
package eva2;
-import eva2.optimization.go.InterfaceOptimizationParameters;
-import eva2.optimization.stat.StatisticsDummy;
-import eva2.optimization.stat.InterfaceStatistics;
-import eva2.optimization.stat.StatisticsParameter;
-import eva2.optimization.stat.AbstractStatistics;
-import eva2.optimization.stat.StatisticsStandalone;
-import eva2.optimization.stat.InterfaceTextListener;
import eva2.optimization.OptimizationStateListener;
-import eva2.optimization.individuals.IndividualInterface;
+import eva2.optimization.go.InterfaceOptimizationParameters;
import eva2.optimization.go.InterfaceTerminator;
+import eva2.optimization.individuals.IndividualInterface;
import eva2.optimization.individuals.InterfaceDataTypeBinary;
import eva2.optimization.individuals.InterfaceDataTypeDouble;
import eva2.optimization.individuals.InterfaceDataTypeInteger;
+import eva2.optimization.modules.OptimizationParameters;
+import eva2.optimization.modules.Processor;
import eva2.optimization.operator.postprocess.InterfacePostProcessParams;
import eva2.optimization.operator.postprocess.PostProcessParams;
import eva2.optimization.population.Population;
import eva2.optimization.population.SolutionSet;
-import eva2.optimization.modules.OptimizationParameters;
-import eva2.optimization.modules.Processor;
+import eva2.optimization.stat.*;
+
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.BitSet;
@@ -26,273 +22,274 @@ import java.util.BitSet;
/**
* This Runnable class just encapsulates the Processor class with some simple ways to access a solution.
- *
- * @author mkron
*
+ * @author mkron
*/
public class OptimizerRunnable implements Runnable {
- private Processor proc;
- private boolean isFinished = false;
- private boolean doRestart = false; // indicate whether start or restart should be done --> whether pop will be reinitialized.
- private boolean postProcessOnly = false;
- private InterfaceTextListener listener = null;
- private String ident="OptimizerRunnable";
- private static int cntID = 0;
- private int rnblID = -1;
-
- /**
- * Construct an OptimizerRunnable with given parameters and a StatisticsStandalone instance without restart,
- * meaning that the population will be initialized randomly.
- *
- * @param params
- * @param outputFilePrefix
- */
- public OptimizerRunnable(OptimizationParameters params, String outputFilePrefix) {
- this(params, outputFilePrefix, false);
- }
-
- /**
- * This constructor assumes that DummyStatistics are enough. This saves time e.g. for small populations.
- * If restart is true, the processor will not reinitialize the population allowing search on predefined populations.
- *
- * @param params
- * @param restart
- */
- public OptimizerRunnable(OptimizationParameters params, boolean restart) {
- this(params, new StatisticsDummy(), restart);
- }
-
- /**
- * Construct an OptimizerRunnable with given parameters and a StatisticsStandalone instance with optional restart.
- * If restart is true, the processor will not reinitialize the population allowing search on predefined populations.
- * The outputFilePrefix may be null.
- *
- * @param params
- * @param outputFilePrefix
- * @param restart
- */
- public OptimizerRunnable(OptimizationParameters params, String outputFilePrefix, boolean restart) {
- this(params, new StatisticsStandalone(outputFilePrefix), restart);
- }
-
- /**
- * Construct an OptimizerRunnable with given parameters and statistics instance with optional restart.
- * If restart is true, the processor will not reinitialize the population allowing search on predefined populations.
- *
- * @param params
- * @param outputFilePrefix
- * @param restart
- */
- public OptimizerRunnable(OptimizationParameters params, InterfaceStatistics stats, boolean restart) {
- rnblID = cntID;
- cntID++;
+ private Processor proc;
+ private boolean isFinished = false;
+ private boolean doRestart = false; // indicate whether start or restart should be done --> whether pop will be reinitialized.
+ private boolean postProcessOnly = false;
+ private InterfaceTextListener listener = null;
+ private String ident = "OptimizerRunnable";
+ private static int cntID = 0;
+ private int rnblID = -1;
- proc = new Processor(stats, null, params);
- if (proc.getStatistics() instanceof AbstractStatistics) {
- ((AbstractStatistics)proc.getStatistics()).setSaveParams(false);
- }
- doRestart = restart;
- }
-
- public void setIdentifier(String id) {
- ident=id;
- }
-
- public String getIdentifier() {
- return ident;
- }
-
- /**
- * A unique ID for the runnable.
- * @return
- */
- public int getID() {
- return rnblID;
- }
-
- public InterfaceOptimizationParameters getGOParams() {
- return proc.getGOParams();
- }
-
- public InterfaceStatistics getStats() {
- return proc.getStatistics();
- }
-
- public void setStats(InterfaceStatistics stats) {
- if (proc.isOptimizationRunning()) {
- throw new RuntimeException("Error - cannot change statistics instance during optimization.");
- }
- InterfaceOptimizationParameters params = proc.getGOParams();
- proc = new Processor(stats, null, params);
- if (proc.getStatistics() instanceof AbstractStatistics) {
- ((AbstractStatistics)proc.getStatistics()).setSaveParams(false);
- }
- }
-
- public void setTextListener(InterfaceTextListener lsnr) {
- proc.getStatistics().removeTextListener(listener);
- this.listener = lsnr;
- if (listener != null) {
- proc.getStatistics().addTextListener(listener);
- }
- }
-
- public void addOptimizationStateListener(OptimizationStateListener rsl) {
- if (proc != null) {
- proc.addListener(rsl);
- }
+ /**
+ * Construct an OptimizerRunnable with given parameters and a StatisticsStandalone instance without restart,
+ * meaning that the population will be initialized randomly.
+ *
+ * @param params
+ * @param outputFilePrefix
+ */
+ public OptimizerRunnable(OptimizationParameters params, String outputFilePrefix) {
+ this(params, outputFilePrefix, false);
}
-
- public void setDoRestart(boolean restart) {
- doRestart = restart;
- }
-
- @Override
- public void run() {
- isFinished = false;
- try {
- proc.setSaveParams(false);
- if (postProcessOnly) {
- proc.performPostProcessing((PostProcessParams)proc.getGOParams().getPostProcessParams(), listener);
- } else {
- if (doRestart) {
- proc.restartOptimization();
- }
- else {
- proc.startOptimization();
- }
- proc.runOptOnce();
- }
- } catch(Exception e) {
- proc.getStatistics().printToTextListener("Exception in OptimizeThread::run: " + e.getMessage() + "\n");
- StringWriter sw = new StringWriter();
- e.printStackTrace(new PrintWriter(sw));
- proc.getStatistics().printToTextListener(sw.toString());
- }
- isFinished = true;
- synchronized (this) {
- this.notifyAll();
- }
- }
-
- public void setDoPostProcessOnly(boolean poPO) {
- postProcessOnly = poPO;
- }
-
- public boolean isFinished() {
- return isFinished;
- }
-
- public boolean wasAborted() {
- return (proc!=null && (proc.wasAborted()));
- }
-
- public void restartOpt() {
- proc.restartOptimization();
- }
-
- public void stopOpt() {
- proc.stopOptimization();
- }
-
- public IndividualInterface getResult() {
- return proc.getStatistics().getBestSolution();
- }
-
- public Population getResultPopulation() {
- return proc.getResultPopulation();
- }
-
- public SolutionSet getSolutionSet() {
- return (SolutionSet)proc.getGOParams().getOptimizer().getAllSolutions();
- }
-
- public void setPostProcessingParams(InterfacePostProcessParams ppp) {
- proc.getGOParams().setPostProcessParams(ppp);
- }
-
- public int getProgress() {
- return proc.getGOParams().getOptimizer().getPopulation().getFunctionCalls();
- }
- public String terminatedBecause() {
- if (isFinished) {
- if (postProcessOnly) {
- return "Post processing finished";
- } else {
- InterfaceTerminator term = proc.getGOParams().getTerminator();
- return term.lastTerminationMessage();
- }
- } else {
- return "Not yet terminated";
+ /**
+ * This constructor assumes that DummyStatistics are enough. This saves time e.g. for small populations.
+ * If restart is true, the processor will not reinitialize the population allowing search on predefined populations.
+ *
+ * @param params
+ * @param restart
+ */
+ public OptimizerRunnable(OptimizationParameters params, boolean restart) {
+ this(params, new StatisticsDummy(), restart);
+ }
+
+ /**
+ * Construct an OptimizerRunnable with given parameters and a StatisticsStandalone instance with optional restart.
+ * If restart is true, the processor will not reinitialize the population allowing search on predefined populations.
+ * The outputFilePrefix may be null.
+ *
+ * @param params
+ * @param outputFilePrefix
+ * @param restart
+ */
+ public OptimizerRunnable(OptimizationParameters params, String outputFilePrefix, boolean restart) {
+ this(params, new StatisticsStandalone(outputFilePrefix), restart);
+ }
+
+ /**
+ * Construct an OptimizerRunnable with given parameters and statistics instance with optional restart.
+ * If restart is true, the processor will not reinitialize the population allowing search on predefined populations.
+ *
+ * @param params
+ * @param outputFilePrefix
+ * @param restart
+ */
+ public OptimizerRunnable(OptimizationParameters params, InterfaceStatistics stats, boolean restart) {
+ rnblID = cntID;
+ cntID++;
+
+ proc = new Processor(stats, null, params);
+ if (proc.getStatistics() instanceof AbstractStatistics) {
+ ((AbstractStatistics) proc.getStatistics()).setSaveParams(false);
+ }
+ doRestart = restart;
+ }
+
+ public void setIdentifier(String id) {
+ ident = id;
+ }
+
+ public String getIdentifier() {
+ return ident;
+ }
+
+ /**
+ * A unique ID for the runnable.
+ *
+ * @return
+ */
+ public int getID() {
+ return rnblID;
+ }
+
+ public InterfaceOptimizationParameters getGOParams() {
+ return proc.getGOParams();
+ }
+
+ public InterfaceStatistics getStats() {
+ return proc.getStatistics();
+ }
+
+ public void setStats(InterfaceStatistics stats) {
+ if (proc.isOptimizationRunning()) {
+ throw new RuntimeException("Error - cannot change statistics instance during optimization.");
+ }
+ InterfaceOptimizationParameters params = proc.getGOParams();
+ proc = new Processor(stats, null, params);
+ if (proc.getStatistics() instanceof AbstractStatistics) {
+ ((AbstractStatistics) proc.getStatistics()).setSaveParams(false);
+ }
+ }
+
+ public void setTextListener(InterfaceTextListener lsnr) {
+ proc.getStatistics().removeTextListener(listener);
+ this.listener = lsnr;
+ if (listener != null) {
+ proc.getStatistics().addTextListener(listener);
+ }
+ }
+
+ public void addOptimizationStateListener(OptimizationStateListener rsl) {
+ if (proc != null) {
+ proc.addListener(rsl);
+ }
+ }
+
+ public void setDoRestart(boolean restart) {
+ doRestart = restart;
+ }
+
+ @Override
+ public void run() {
+ isFinished = false;
+ try {
+ proc.setSaveParams(false);
+ if (postProcessOnly) {
+ proc.performPostProcessing((PostProcessParams) proc.getGOParams().getPostProcessParams(), listener);
+ } else {
+ if (doRestart) {
+ proc.restartOptimization();
+ } else {
+ proc.startOptimization();
+ }
+ proc.runOptOnce();
}
- }
-
- public double[] getDoubleSolution() {
- IndividualInterface indy = getResult();
- if (indy instanceof InterfaceDataTypeDouble) {
- return ((InterfaceDataTypeDouble)indy).getDoubleData();
- } else {
- return null;
+ } catch (Exception e) {
+ proc.getStatistics().printToTextListener("Exception in OptimizeThread::run: " + e.getMessage() + "\n");
+ StringWriter sw = new StringWriter();
+ e.printStackTrace(new PrintWriter(sw));
+ proc.getStatistics().printToTextListener(sw.toString());
+ }
+ isFinished = true;
+ synchronized (this) {
+ this.notifyAll();
+ }
+ }
+
+ public void setDoPostProcessOnly(boolean poPO) {
+ postProcessOnly = poPO;
+ }
+
+ public boolean isFinished() {
+ return isFinished;
+ }
+
+ public boolean wasAborted() {
+ return (proc != null && (proc.wasAborted()));
+ }
+
+ public void restartOpt() {
+ proc.restartOptimization();
+ }
+
+ public void stopOpt() {
+ proc.stopOptimization();
+ }
+
+ public IndividualInterface getResult() {
+ return proc.getStatistics().getBestSolution();
+ }
+
+ public Population getResultPopulation() {
+ return proc.getResultPopulation();
+ }
+
+ public SolutionSet getSolutionSet() {
+ return (SolutionSet) proc.getGOParams().getOptimizer().getAllSolutions();
+ }
+
+ public void setPostProcessingParams(InterfacePostProcessParams ppp) {
+ proc.getGOParams().setPostProcessParams(ppp);
+ }
+
+ public int getProgress() {
+ return proc.getGOParams().getOptimizer().getPopulation().getFunctionCalls();
+ }
+
+ public String terminatedBecause() {
+ if (isFinished) {
+ if (postProcessOnly) {
+ return "Post processing finished";
+ } else {
+ InterfaceTerminator term = proc.getGOParams().getTerminator();
+ return term.lastTerminationMessage();
}
- }
-
- public BitSet getBinarySolution() {
- IndividualInterface indy = getResult();
- if (indy instanceof InterfaceDataTypeBinary) {
- return ((InterfaceDataTypeBinary)indy).getBinaryData();
- } else {
- return null;
- }
- }
-
- public int[] getIntegerSolution() {
- IndividualInterface indy = getResult();
- if (indy instanceof InterfaceDataTypeInteger) {
- return ((InterfaceDataTypeInteger)indy).getIntegerData();
- } else {
- return null;
- }
- }
-
- /**
- * Set the verbosity level in the statistics module to the given value.
- *
- * @see StatsParameter
- * @param vLev
- */
- public void setVerbosityLevel(int vLev) {
- if (vLev >= 0 && vLev < proc.getStatistics().getStatisticsParameter().getOutputVerbosity().getTags().length) {
- proc.getStatistics().getStatisticsParameter().getOutputVerbosity().setSelectedTag(vLev);
- } else {
- System.err.println("Invalid verbosity leveln in OptimizerRunnable.setVerbosityLevel!");
- }
- }
-
- /**
- * Set the output direction in the statistics module.
- *
- * @see StatsParameter
- * @param outp
- */
- public void setOutputTo(int outp) {
- ((StatisticsParameter)proc.getStatistics().getStatisticsParameter()).setOutputTo(outp);
- }
-
- /**
- * Set the number of multiruns in the statistics module.
- * @param multis
- */
- public void setMultiRuns(int multis) {
- ((AbstractStatistics)proc.getStatistics()).getStatisticsParameter().setMultiRuns(multis);
- }
-
- /**
- * Indicate whether full stats should be printed as text (or only selected entries).
- * @see StatsParameter
- * @param addInfo
- */
- public void setOutputFullStatsToText(boolean addInfo) {
- ((AbstractStatistics)proc.getStatistics()).getStatisticsParameter().setOutputAllFieldsAsText(addInfo);
- }
+ } else {
+ return "Not yet terminated";
+ }
+ }
+
+ public double[] getDoubleSolution() {
+ IndividualInterface indy = getResult();
+ if (indy instanceof InterfaceDataTypeDouble) {
+ return ((InterfaceDataTypeDouble) indy).getDoubleData();
+ } else {
+ return null;
+ }
+ }
+
+ public BitSet getBinarySolution() {
+ IndividualInterface indy = getResult();
+ if (indy instanceof InterfaceDataTypeBinary) {
+ return ((InterfaceDataTypeBinary) indy).getBinaryData();
+ } else {
+ return null;
+ }
+ }
+
+ public int[] getIntegerSolution() {
+ IndividualInterface indy = getResult();
+ if (indy instanceof InterfaceDataTypeInteger) {
+ return ((InterfaceDataTypeInteger) indy).getIntegerData();
+ } else {
+ return null;
+ }
+ }
+
+ /**
+ * Set the verbosity level in the statistics module to the given value.
+ *
+ * @param vLev
+ * @see StatsParameter
+ */
+ public void setVerbosityLevel(int vLev) {
+ if (vLev >= 0 && vLev < proc.getStatistics().getStatisticsParameter().getOutputVerbosity().getTags().length) {
+ proc.getStatistics().getStatisticsParameter().getOutputVerbosity().setSelectedTag(vLev);
+ } else {
+ System.err.println("Invalid verbosity leveln in OptimizerRunnable.setVerbosityLevel!");
+ }
+ }
+
+ /**
+ * Set the output direction in the statistics module.
+ *
+ * @param outp
+ * @see StatsParameter
+ */
+ public void setOutputTo(int outp) {
+ ((StatisticsParameter) proc.getStatistics().getStatisticsParameter()).setOutputTo(outp);
+ }
+
+ /**
+ * Set the number of multiruns in the statistics module.
+ *
+ * @param multis
+ */
+ public void setMultiRuns(int multis) {
+ ((AbstractStatistics) proc.getStatistics()).getStatisticsParameter().setMultiRuns(multis);
+ }
+
+ /**
+ * Indicate whether full stats should be printed as text (or only selected entries).
+ *
+ * @param addInfo
+ * @see StatsParameter
+ */
+ public void setOutputFullStatsToText(boolean addInfo) {
+ ((AbstractStatistics) proc.getStatistics()).getStatisticsParameter().setOutputAllFieldsAsText(addInfo);
+ }
}
\ No newline at end of file
diff --git a/src/eva2/cli/Main.java b/src/eva2/cli/Main.java
index 557156a9..cd978959 100644
--- a/src/eva2/cli/Main.java
+++ b/src/eva2/cli/Main.java
@@ -1,21 +1,19 @@
package eva2.cli;
-import eva2.optimization.problems.InterfaceOptimizationProblem;
-import eva2.optimization.strategies.DifferentialEvolution;
-import eva2.optimization.strategies.InterfaceOptimizer;
-import eva2.util.annotation.Parameter;
-import org.apache.commons.cli.*;
import eva2.optimization.OptimizationStateListener;
+import eva2.optimization.problems.InterfaceOptimizationProblem;
+import eva2.optimization.strategies.InterfaceOptimizer;
+import org.apache.commons.cli.*;
import org.reflections.Reflections;
-import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
-import java.util.*;
+import java.util.Map;
+import java.util.Set;
+import java.util.TreeMap;
public class Main implements OptimizationStateListener {
-
private static Options createDefaultCommandLineOptions() {
Options opt = new Options();
@@ -56,15 +54,15 @@ public class Main implements OptimizationStateListener {
//To change body of implemented methods use File | Settings | File Templates.
}
- public static void printProgressBar(int percent){
+ public static void printProgressBar(int percent) {
StringBuilder bar = new StringBuilder("[");
- for(int i = 0; i < 50; i++){
- if( i < (percent/2)){
+ for (int i = 0; i < 50; i++) {
+ if (i < (percent / 2)) {
bar.append("=");
- }else if( i == (percent/2)){
+ } else if (i == (percent / 2)) {
bar.append(">");
- }else{
+ } else {
bar.append(" ");
}
}
@@ -78,9 +76,9 @@ public class Main implements OptimizationStateListener {
Reflections reflections = new Reflections("eva2.optimization.strategies");
Set> optimizers = reflections.getSubTypesOf(InterfaceOptimizer.class);
- for(Class extends InterfaceOptimizer> optimizer : optimizers) {
+ for (Class extends InterfaceOptimizer> optimizer : optimizers) {
// We only want instantiable classes.ya
- if(optimizer.isInterface() || Modifier.isAbstract(optimizer.getModifiers())) {
+ if (optimizer.isInterface() || Modifier.isAbstract(optimizer.getModifiers())) {
continue;
}
optimizerList.put(optimizer.getSimpleName(), optimizer);
@@ -92,9 +90,9 @@ public class Main implements OptimizationStateListener {
Map> problemList = new TreeMap>();
Reflections reflections = new Reflections("eva2.optimization.problems");
Set> problems = reflections.getSubTypesOf(InterfaceOptimizationProblem.class);
- for(Class extends InterfaceOptimizationProblem> problem : problems) {
+ for (Class extends InterfaceOptimizationProblem> problem : problems) {
// We only want instantiable classes
- if(problem.isInterface() || Modifier.isAbstract(problem.getModifiers())) {
+ if (problem.isInterface() || Modifier.isAbstract(problem.getModifiers())) {
continue;
}
problemList.put(problem.getSimpleName(), problem);
@@ -130,9 +128,9 @@ public class Main implements OptimizationStateListener {
/**
* Process help and help sub pages.
*/
- if(commandLine.hasOption("help")) {
+ if (commandLine.hasOption("help")) {
String helpOption = commandLine.getOptionValue("help");
- if("optimizer".equals(helpOption)) {
+ if ("optimizer".equals(helpOption)) {
showOptimizerHelp();
} else if ("problem".equals(helpOption)) {
showProblemHelp();
@@ -148,16 +146,16 @@ public class Main implements OptimizationStateListener {
Map> optimizerList = createOptimizerList();
System.out.println("Available Optimizers:");
- for(String name : optimizerList.keySet()) {
+ for (String name : optimizerList.keySet()) {
System.out.printf("\t%s\n", name);
}
}
private static void showProblemHelp() {
- Map> problemList= createProblemList();
+ Map> problemList = createProblemList();
System.out.println("Available Problems:");
- for(String name : problemList.keySet()) {
+ for (String name : problemList.keySet()) {
System.out.printf("\t%s\n", name);
}
}
diff --git a/src/eva2/client/ClassPreloader.java b/src/eva2/client/ClassPreloader.java
index bce2fea1..fc67d221 100644
--- a/src/eva2/client/ClassPreloader.java
+++ b/src/eva2/client/ClassPreloader.java
@@ -8,7 +8,6 @@ import eva2.gui.editor.GenericObjectEditor;
* done at startup time and accelerates later reloading.
*
* @author mkron
- *
*/
public class ClassPreloader implements Runnable {
diff --git a/src/eva2/client/EvAComAdapter.java b/src/eva2/client/EvAComAdapter.java
index 4801afb5..d5098838 100644
--- a/src/eva2/client/EvAComAdapter.java
+++ b/src/eva2/client/EvAComAdapter.java
@@ -36,7 +36,7 @@ public class EvAComAdapter {
public ModuleAdapter getModuleAdapter(String selectedModuleName, InterfaceOptimizationParameters goParams, String noGuiStatsFile) {
ModuleAdapter newModuleAdapter;
newModuleAdapter = getLocalMainAdapter().getModuleAdapter(selectedModuleName, goParams, noGuiStatsFile);
-
+
return newModuleAdapter;
}
diff --git a/src/eva2/examples/TestingCbnPostProc.java b/src/eva2/examples/TestingCbnPostProc.java
index 178b2027..12cf0895 100644
--- a/src/eva2/examples/TestingCbnPostProc.java
+++ b/src/eva2/examples/TestingCbnPostProc.java
@@ -1,39 +1,43 @@
package eva2.examples;
+
import eva2.OptimizerFactory;
import eva2.optimization.individuals.AbstractEAIndividual;
+import eva2.optimization.modules.OptimizationParameters;
import eva2.optimization.operator.postprocess.PostProcessParams;
import eva2.optimization.operator.terminators.EvaluationTerminator;
import eva2.optimization.problems.FM0Problem;
-import eva2.optimization.modules.OptimizationParameters;
+
import java.util.List;
public class TestingCbnPostProc {
- public static void main(String[] args) {
- // a simple bimodal target function, two optima near (1.7,0) and (-1.44/0)
- FM0Problem fm0 = new FM0Problem();
- AbstractEAIndividual best;
- List ppSols;
+ public static void main(String[] args) {
+ // a simple bimodal target function, two optima near (1.7,0) and (-1.44/0)
+ FM0Problem fm0 = new FM0Problem();
+ AbstractEAIndividual best;
+ List ppSols;
- OptimizationParameters esParams = OptimizerFactory.standardCbnES(fm0);
- esParams.setTerminator(new EvaluationTerminator(2000));
- esParams.setSeed(0);
- best = (AbstractEAIndividual)OptimizerFactory.optimizeToInd(esParams, null);
+ OptimizationParameters esParams = OptimizerFactory.standardCbnES(fm0);
+ esParams.setTerminator(new EvaluationTerminator(2000));
+ esParams.setSeed(0);
+ best = (AbstractEAIndividual) OptimizerFactory.optimizeToInd(esParams, null);
- System.out.println(esParams.getTerminator().lastTerminationMessage() + "\nFound solution: "
- + AbstractEAIndividual.getDefaultDataString(best));
+ System.out.println(esParams.getTerminator().lastTerminationMessage() + "\nFound solution: "
+ + AbstractEAIndividual.getDefaultDataString(best));
- // post-process with clustering only
- ppSols = OptimizerFactory.postProcessIndVec(new PostProcessParams(0, 0.1, 5));
- System.out.println("After clustering: ");
- for (AbstractEAIndividual indy : ppSols) {
- System.out.println(AbstractEAIndividual.getDefaultDataString(indy));
- }
+ // post-process with clustering only
+ ppSols = OptimizerFactory.postProcessIndVec(new PostProcessParams(0, 0.1, 5));
+ System.out.println("After clustering: ");
+ for (AbstractEAIndividual indy : ppSols) {
+ System.out.println(AbstractEAIndividual.getDefaultDataString(indy));
+ }
- // post-process with clustering and hill climbing
- ppSols = OptimizerFactory.postProcessIndVec(new PostProcessParams(1000, 0.1, 5));
- System.out.println("After clustering and local refinement: ");
- for (AbstractEAIndividual indy : ppSols) {
- System.out.println(AbstractEAIndividual.getDefaultDataString(indy));
- }
- };
+ // post-process with clustering and hill climbing
+ ppSols = OptimizerFactory.postProcessIndVec(new PostProcessParams(1000, 0.1, 5));
+ System.out.println("After clustering and local refinement: ");
+ for (AbstractEAIndividual indy : ppSols) {
+ System.out.println(AbstractEAIndividual.getDefaultDataString(indy));
+ }
+ }
+
+ ;
}
\ No newline at end of file
diff --git a/src/eva2/examples/TestingGAB1.java b/src/eva2/examples/TestingGAB1.java
index 73ba1a22..e79731e4 100644
--- a/src/eva2/examples/TestingGAB1.java
+++ b/src/eva2/examples/TestingGAB1.java
@@ -1,37 +1,41 @@
package eva2.examples;
+
import eva2.OptimizerFactory;
+import eva2.optimization.modules.OptimizationParameters;
import eva2.optimization.operator.selection.SelectXProbRouletteWheel;
import eva2.optimization.operator.terminators.EvaluationTerminator;
import eva2.optimization.population.Population;
import eva2.optimization.problems.B1Problem;
import eva2.optimization.strategies.GeneticAlgorithm;
-import eva2.optimization.modules.OptimizationParameters;
+
import java.util.BitSet;
public class TestingGAB1 {
- public static void main(String[] args) {
- B1Problem b1 = new B1Problem();
- BitSet sol;
- // default go-parameter instance with a GA
- OptimizationParameters gaParams = OptimizerFactory.standardGA(b1);
- // add an evaluation terminator
- gaParams.setTerminator(new EvaluationTerminator(1000));
- // set a specific random seed
- gaParams.setSeed(2342);
+ public static void main(String[] args) {
+ B1Problem b1 = new B1Problem();
+ BitSet sol;
+ // default go-parameter instance with a GA
+ OptimizationParameters gaParams = OptimizerFactory.standardGA(b1);
+ // add an evaluation terminator
+ gaParams.setTerminator(new EvaluationTerminator(1000));
+ // set a specific random seed
+ gaParams.setSeed(2342);
- // access the GA
- GeneticAlgorithm ga = (GeneticAlgorithm)gaParams.getOptimizer();
- ga.setElitism(false);
- ga.setParentSelection(new SelectXProbRouletteWheel()); // roulette wheel selection
- ga.setPopulation(new Population(150)); // population size 150
+ // access the GA
+ GeneticAlgorithm ga = (GeneticAlgorithm) gaParams.getOptimizer();
+ ga.setElitism(false);
+ ga.setParentSelection(new SelectXProbRouletteWheel()); // roulette wheel selection
+ ga.setPopulation(new Population(150)); // population size 150
- // run optimization and print intermediate results to a file with given prefix
- sol = OptimizerFactory.optimizeToBinary(gaParams, "ga-opt-results");
- System.out.println(OptimizerFactory.terminatedBecause() + "\nFound solution: ");
- for (int i=0; i, Serializable {
// flag whether a data field should be used.
private String indyDataKey = "";
diff --git a/src/eva2/optimization/individuals/ESIndividualBinaryData.java b/src/eva2/optimization/individuals/ESIndividualBinaryData.java
index 4ed7eb50..3da2407b 100644
--- a/src/eva2/optimization/individuals/ESIndividualBinaryData.java
+++ b/src/eva2/optimization/individuals/ESIndividualBinaryData.java
@@ -14,7 +14,7 @@ import java.util.BitSet;
* This individual uses a real-valued genotype to code for binary values, either
* by using a threshold value of by interpreting the double value as probability.
*/
-@eva2.util.annotation.Description(text="This is an ES individual adopted to optimize binary values.")
+@eva2.util.annotation.Description(text = "This is an ES individual adopted to optimize binary values.")
public class ESIndividualBinaryData extends AbstractEAIndividual implements InterfaceESIndividual, InterfaceDataTypeBinary, java.io.Serializable {
private BitSet m_Phenotype = new BitSet();
diff --git a/src/eva2/optimization/individuals/ESIndividualDoubleData.java b/src/eva2/optimization/individuals/ESIndividualDoubleData.java
index f9b450fd..a0887062 100644
--- a/src/eva2/optimization/individuals/ESIndividualDoubleData.java
+++ b/src/eva2/optimization/individuals/ESIndividualDoubleData.java
@@ -15,7 +15,7 @@ import eva2.util.annotation.Description;
/**
* This individual uses a real-valued genotype to code for double values.
*/
-@Description(text="This is an ES individual suited to optimize double values.")
+@Description(text = "This is an ES individual suited to optimize double values.")
public class ESIndividualDoubleData extends AbstractEAIndividual implements InterfaceESIndividual, InterfaceDataTypeDouble, java.io.Serializable {
private double[] genotype;
diff --git a/src/eva2/optimization/individuals/ESIndividualIntegerData.java b/src/eva2/optimization/individuals/ESIndividualIntegerData.java
index bb49fec4..57670bc2 100644
--- a/src/eva2/optimization/individuals/ESIndividualIntegerData.java
+++ b/src/eva2/optimization/individuals/ESIndividualIntegerData.java
@@ -11,7 +11,7 @@ import eva2.util.annotation.Description;
/**
* This individual uses a real-valued genotype to code for integer values.
*/
-@Description(text="This is an ES individual suited to optimize integer values.")
+@Description(text = "This is an ES individual suited to optimize integer values.")
public class ESIndividualIntegerData extends AbstractEAIndividual implements InterfaceESIndividual, InterfaceDataTypeInteger, java.io.Serializable {
private double[] genotype;
diff --git a/src/eva2/optimization/individuals/ESIndividualPermutationData.java b/src/eva2/optimization/individuals/ESIndividualPermutationData.java
index 05ebd112..68c21e51 100644
--- a/src/eva2/optimization/individuals/ESIndividualPermutationData.java
+++ b/src/eva2/optimization/individuals/ESIndividualPermutationData.java
@@ -12,7 +12,7 @@ import eva2.util.annotation.Description;
* This individual uses a real-valued genotype to code for a permutations,
* the sorting of the real-valued genotype gives the permutation.
*/
-@Description(text="This is an ES individual suited to optimize permutations.")
+@Description(text = "This is an ES individual suited to optimize permutations.")
public class ESIndividualPermutationData extends AbstractEAIndividual implements InterfaceESIndividual, InterfaceDataTypePermutation, java.io.Serializable {
private double[][] m_Genotype;
diff --git a/src/eva2/optimization/individuals/GAESIndividualBinaryDoubleData.java b/src/eva2/optimization/individuals/GAESIndividualBinaryDoubleData.java
index eef5428b..b608f427 100644
--- a/src/eva2/optimization/individuals/GAESIndividualBinaryDoubleData.java
+++ b/src/eva2/optimization/individuals/GAESIndividualBinaryDoubleData.java
@@ -12,7 +12,7 @@ import java.util.BitSet;
/**
* This individual combines a binary and a real-valued phenotype.
*/
-@Description(text="This is a mixed data type combining a BitSet and a real-valued vector.")
+@Description(text = "This is a mixed data type combining a BitSet and a real-valued vector.")
public class GAESIndividualBinaryDoubleData extends AbstractEAIndividual implements InterfaceDataTypeBinary, InterfaceDataTypeDouble, java.io.Serializable {
private InterfaceDataTypeDouble m_Numbers = new ESIndividualDoubleData();
diff --git a/src/eva2/optimization/individuals/GAIndividualBinaryData.java b/src/eva2/optimization/individuals/GAIndividualBinaryData.java
index ce752a57..99b80471 100644
--- a/src/eva2/optimization/individuals/GAIndividualBinaryData.java
+++ b/src/eva2/optimization/individuals/GAIndividualBinaryData.java
@@ -14,7 +14,7 @@ import java.util.BitSet;
/**
* This individual uses a binary genotype to code for binary values.
*/
-@Description(text="This is a GA individual suited to optimize binary values.")
+@Description(text = "This is a GA individual suited to optimize binary values.")
public class GAIndividualBinaryData extends AbstractEAIndividual implements InterfaceDataTypeBinary, InterfaceGAIndividual, java.io.Serializable {
protected BitSet m_Genotype = new BitSet();
diff --git a/src/eva2/optimization/individuals/GAIndividualDoubleData.java b/src/eva2/optimization/individuals/GAIndividualDoubleData.java
index 9413bb24..e4d77d70 100644
--- a/src/eva2/optimization/individuals/GAIndividualDoubleData.java
+++ b/src/eva2/optimization/individuals/GAIndividualDoubleData.java
@@ -17,7 +17,7 @@ import java.util.BitSet;
* This individual uses a binary genotype to code for double values
* using two alternative encodings.
*/
-@Description(text="This is a GA individual suited to optimize double values.")
+@Description(text = "This is a GA individual suited to optimize double values.")
public class GAIndividualDoubleData extends AbstractEAIndividual implements InterfaceGAIndividual, InterfaceDataTypeDouble, java.io.Serializable {
private double[] m_Phenotype;
diff --git a/src/eva2/optimization/individuals/GAIndividualIntegerData.java b/src/eva2/optimization/individuals/GAIndividualIntegerData.java
index 633cb086..5b31d328 100644
--- a/src/eva2/optimization/individuals/GAIndividualIntegerData.java
+++ b/src/eva2/optimization/individuals/GAIndividualIntegerData.java
@@ -16,7 +16,7 @@ import java.util.BitSet;
* This individual uses a binary genotype to code for binary values using
* two alternative encodings.
*/
-@Description(text="This is a GA individual suited to optimize int values.")
+@Description(text = "This is a GA individual suited to optimize int values.")
public class GAIndividualIntegerData extends AbstractEAIndividual implements InterfaceGAIndividual, InterfaceDataTypeInteger, java.io.Serializable {
private int[] phenotype;
diff --git a/src/eva2/optimization/individuals/GEIndividualProgramData.java b/src/eva2/optimization/individuals/GEIndividualProgramData.java
index 343bd40b..fc869328 100644
--- a/src/eva2/optimization/individuals/GEIndividualProgramData.java
+++ b/src/eva2/optimization/individuals/GEIndividualProgramData.java
@@ -18,7 +18,7 @@ import java.util.BitSet;
* This individual uses a binary genotype to code for a tree-based representation
* using a BNF grammar, see also Grammatical Evolution.
*/
-@Description(text="This is a GE individual suited to optimize programs.")
+@Description(text = "This is a GE individual suited to optimize programs.")
public class GEIndividualProgramData extends AbstractEAIndividual implements InterfaceGAIndividual, InterfaceDataTypeProgram, java.io.Serializable {
protected GPArea[] m_Area;
diff --git a/src/eva2/optimization/individuals/GIIndividualIntegerData.java b/src/eva2/optimization/individuals/GIIndividualIntegerData.java
index afb85824..7f28c716 100644
--- a/src/eva2/optimization/individuals/GIIndividualIntegerData.java
+++ b/src/eva2/optimization/individuals/GIIndividualIntegerData.java
@@ -11,7 +11,7 @@ import eva2.util.annotation.Description;
/**
* This individual uses a integer genotype to code for integer values.
*/
-@Description(text="This is a GI individual suited to optimize int values.")
+@Description(text = "This is a GI individual suited to optimize int values.")
public class GIIndividualIntegerData extends AbstractEAIndividual implements InterfaceGIIndividual, InterfaceDataTypeInteger, java.io.Serializable {
private int[] m_Phenotype;
diff --git a/src/eva2/optimization/individuals/GIOBGAIndividualIntegerPermutationData.java b/src/eva2/optimization/individuals/GIOBGAIndividualIntegerPermutationData.java
index 9930c5b6..2023c2a4 100644
--- a/src/eva2/optimization/individuals/GIOBGAIndividualIntegerPermutationData.java
+++ b/src/eva2/optimization/individuals/GIOBGAIndividualIntegerPermutationData.java
@@ -9,7 +9,7 @@ import eva2.util.annotation.Description;
/**
* This individual combines a binary and a real-valued phenotype.
*/
-@Description(text="This is a mixed data type combining an integer vector with a permutation vector.")
+@Description(text = "This is a mixed data type combining an integer vector with a permutation vector.")
public class GIOBGAIndividualIntegerPermutationData extends AbstractEAIndividual implements InterfaceDataTypeInteger, InterfaceDataTypePermutation, java.io.Serializable {
private InterfaceDataTypeInteger m_Integer = new GIIndividualIntegerData();
diff --git a/src/eva2/optimization/individuals/GPIndividualProgramData.java b/src/eva2/optimization/individuals/GPIndividualProgramData.java
index 2b53d2dd..f9d1f290 100644
--- a/src/eva2/optimization/individuals/GPIndividualProgramData.java
+++ b/src/eva2/optimization/individuals/GPIndividualProgramData.java
@@ -15,7 +15,7 @@ import eva2.util.annotation.Description;
/**
* This individual uses a tree-based genotype to code for program trees.
*/
-@Description(text="This is a GP individual suited to optimize Koza style program trees.")
+@Description(text = "This is a GP individual suited to optimize Koza style program trees.")
public class GPIndividualProgramData extends AbstractEAIndividual implements InterfaceGPIndividual, InterfaceDataTypeProgram, java.io.Serializable {
protected AbstractGPNode[] genotype;
diff --git a/src/eva2/optimization/individuals/OBGAIndividualPermutationData.java b/src/eva2/optimization/individuals/OBGAIndividualPermutationData.java
index 1810738b..61fefb6a 100644
--- a/src/eva2/optimization/individuals/OBGAIndividualPermutationData.java
+++ b/src/eva2/optimization/individuals/OBGAIndividualPermutationData.java
@@ -14,7 +14,7 @@ import java.util.ArrayList;
* This individual uses a permutation based genotype to code for
* permutations.
*/
-@Description(text="This is a GA individual coding permutations.")
+@Description(text = "This is a GA individual coding permutations.")
public class OBGAIndividualPermutationData extends AbstractEAIndividual implements InterfaceDataTypePermutation, InterfaceOBGAIndividual, java.io.Serializable {
int[][] phenotype;
diff --git a/src/eva2/optimization/mocco/MOCCOChooseMOStrategy.java b/src/eva2/optimization/mocco/MOCCOChooseMOStrategy.java
index 13247ec5..9a90f700 100644
--- a/src/eva2/optimization/mocco/MOCCOChooseMOStrategy.java
+++ b/src/eva2/optimization/mocco/MOCCOChooseMOStrategy.java
@@ -4,10 +4,10 @@ package eva2.optimization.mocco;
import eva2.optimization.go.MOCCOStandalone;
import eva2.tools.BasicResourceLoader;
+import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
-import javax.swing.*;
/**
diff --git a/src/eva2/optimization/mocco/MOCCOChooseReferencePoint.java b/src/eva2/optimization/mocco/MOCCOChooseReferencePoint.java
index 46fa4844..4184c37f 100644
--- a/src/eva2/optimization/mocco/MOCCOChooseReferencePoint.java
+++ b/src/eva2/optimization/mocco/MOCCOChooseReferencePoint.java
@@ -6,10 +6,10 @@ import eva2.optimization.mocco.paretofrontviewer.InterfaceRefPointListener;
import eva2.optimization.problems.InterfaceMultiObjectiveDeNovoProblem;
import eva2.optimization.problems.InterfaceOptimizationObjective;
+import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
-import javax.swing.*;
/**
* Created by IntelliJ IDEA.
diff --git a/src/eva2/optimization/mocco/MOCCOChooseReferenceSolution.java b/src/eva2/optimization/mocco/MOCCOChooseReferenceSolution.java
index 6b26933b..8ae4f5b4 100644
--- a/src/eva2/optimization/mocco/MOCCOChooseReferenceSolution.java
+++ b/src/eva2/optimization/mocco/MOCCOChooseReferenceSolution.java
@@ -8,10 +8,10 @@ import eva2.optimization.population.Population;
import eva2.optimization.problems.InterfaceMultiObjectiveDeNovoProblem;
import eva2.optimization.problems.InterfaceOptimizationObjective;
+import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
-import javax.swing.*;
/**
* Created by IntelliJ IDEA.
diff --git a/src/eva2/optimization/mocco/MOCCOInitialPopulationSize.java b/src/eva2/optimization/mocco/MOCCOInitialPopulationSize.java
index 78c2c535..670f684a 100644
--- a/src/eva2/optimization/mocco/MOCCOInitialPopulationSize.java
+++ b/src/eva2/optimization/mocco/MOCCOInitialPopulationSize.java
@@ -2,15 +2,10 @@ package eva2.optimization.mocco;
import eva2.optimization.go.MOCCOStandalone;
-import java.awt.BorderLayout;
-import java.awt.GridBagConstraints;
-import java.awt.GridBagLayout;
+import javax.swing.*;
+import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
-import javax.swing.JButton;
-import javax.swing.JLabel;
-import javax.swing.JPanel;
-import javax.swing.JTextField;
/**
* Created by IntelliJ IDEA.
diff --git a/src/eva2/optimization/mocco/MOCCOParameterizeGDF.java b/src/eva2/optimization/mocco/MOCCOParameterizeGDF.java
index d3eb2ffc..b925ed6a 100644
--- a/src/eva2/optimization/mocco/MOCCOParameterizeGDF.java
+++ b/src/eva2/optimization/mocco/MOCCOParameterizeGDF.java
@@ -1,9 +1,9 @@
package eva2.optimization.mocco;
-import eva2.gui.editor.GenericObjectEditor;
import eva2.gui.PropertyDoubleArray;
import eva2.gui.PropertyEditorProvider;
+import eva2.gui.editor.GenericObjectEditor;
import eva2.optimization.go.InterfaceTerminator;
import eva2.optimization.go.MOCCOStandalone;
import eva2.optimization.individuals.AbstractEAIndividual;
@@ -16,11 +16,11 @@ import eva2.optimization.strategies.InterfaceOptimizer;
import eva2.optimization.tools.AbstractObjectEditor;
import eva2.optimization.tools.GeneralOptimizationEditorProperty;
+import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
-import javax.swing.*;
/**
* Created by IntelliJ IDEA.
diff --git a/src/eva2/optimization/mocco/MOCCOParameterizeMO.java b/src/eva2/optimization/mocco/MOCCOParameterizeMO.java
index dcfe502b..ffeea2f3 100644
--- a/src/eva2/optimization/mocco/MOCCOParameterizeMO.java
+++ b/src/eva2/optimization/mocco/MOCCOParameterizeMO.java
@@ -1,8 +1,8 @@
package eva2.optimization.mocco;
-import eva2.gui.editor.GenericObjectEditor;
import eva2.gui.PropertyEditorProvider;
+import eva2.gui.editor.GenericObjectEditor;
import eva2.optimization.go.InterfaceTerminator;
import eva2.optimization.go.MOCCOStandalone;
import eva2.optimization.population.Population;
@@ -12,10 +12,10 @@ import eva2.optimization.strategies.MultiObjectiveEA;
import eva2.optimization.tools.AbstractObjectEditor;
import eva2.optimization.tools.GeneralOptimizationEditorProperty;
+import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
-import javax.swing.*;
/**
* Created by IntelliJ IDEA.
diff --git a/src/eva2/optimization/mocco/MOCCOParameterizeRefPoint.java b/src/eva2/optimization/mocco/MOCCOParameterizeRefPoint.java
index 76dcd0e2..bec9cc00 100644
--- a/src/eva2/optimization/mocco/MOCCOParameterizeRefPoint.java
+++ b/src/eva2/optimization/mocco/MOCCOParameterizeRefPoint.java
@@ -1,8 +1,8 @@
package eva2.optimization.mocco;
-import eva2.gui.editor.GenericObjectEditor;
import eva2.gui.PropertyEditorProvider;
+import eva2.gui.editor.GenericObjectEditor;
import eva2.optimization.go.InterfaceTerminator;
import eva2.optimization.go.MOCCOStandalone;
import eva2.optimization.operator.migration.SOBestMigration;
@@ -13,15 +13,10 @@ import eva2.optimization.tools.AbstractObjectEditor;
import eva2.optimization.tools.GeneralOptimizationEditorProperty;
import eva2.tools.math.RNG;
-import java.awt.BorderLayout;
-import java.awt.GridBagConstraints;
-import java.awt.GridBagLayout;
+import javax.swing.*;
+import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
-import javax.swing.JButton;
-import javax.swing.JLabel;
-import javax.swing.JPanel;
-import javax.swing.JTextField;
/**
* Created by IntelliJ IDEA.
diff --git a/src/eva2/optimization/mocco/MOCCOParameterizeSO.java b/src/eva2/optimization/mocco/MOCCOParameterizeSO.java
index 358a4f1c..6fdbc0f2 100644
--- a/src/eva2/optimization/mocco/MOCCOParameterizeSO.java
+++ b/src/eva2/optimization/mocco/MOCCOParameterizeSO.java
@@ -1,8 +1,8 @@
package eva2.optimization.mocco;
-import eva2.gui.editor.GenericObjectEditor;
import eva2.gui.PropertyEditorProvider;
+import eva2.gui.editor.GenericObjectEditor;
import eva2.optimization.go.InterfaceTerminator;
import eva2.optimization.go.MOCCOStandalone;
import eva2.optimization.strategies.GeneticAlgorithm;
@@ -11,15 +11,10 @@ import eva2.optimization.strategies.MultiObjectiveEA;
import eva2.optimization.tools.AbstractObjectEditor;
import eva2.optimization.tools.GeneralOptimizationEditorProperty;
-import java.awt.BorderLayout;
-import java.awt.GridBagConstraints;
-import java.awt.GridBagLayout;
+import javax.swing.*;
+import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
-import javax.swing.JButton;
-import javax.swing.JLabel;
-import javax.swing.JOptionPane;
-import javax.swing.JPanel;
/**
* Created by IntelliJ IDEA.
diff --git a/src/eva2/optimization/mocco/MOCCOParameterizeSTEP.java b/src/eva2/optimization/mocco/MOCCOParameterizeSTEP.java
index 1269a60e..939555f6 100644
--- a/src/eva2/optimization/mocco/MOCCOParameterizeSTEP.java
+++ b/src/eva2/optimization/mocco/MOCCOParameterizeSTEP.java
@@ -1,9 +1,9 @@
package eva2.optimization.mocco;
-import eva2.gui.editor.GenericObjectEditor;
import eva2.gui.PropertyDoubleArray;
import eva2.gui.PropertyEditorProvider;
+import eva2.gui.editor.GenericObjectEditor;
import eva2.optimization.go.InterfaceTerminator;
import eva2.optimization.go.MOCCOStandalone;
import eva2.optimization.individuals.AbstractEAIndividual;
@@ -16,18 +16,11 @@ import eva2.optimization.strategies.InterfaceOptimizer;
import eva2.optimization.tools.AbstractObjectEditor;
import eva2.optimization.tools.GeneralOptimizationEditorProperty;
-import java.awt.BorderLayout;
-import java.awt.GridBagConstraints;
-import java.awt.GridBagLayout;
+import javax.swing.*;
+import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
-import javax.swing.BorderFactory;
-import javax.swing.JButton;
-import javax.swing.JCheckBox;
-import javax.swing.JLabel;
-import javax.swing.JPanel;
-import javax.swing.JTextField;
/**
* Created by IntelliJ IDEA.
diff --git a/src/eva2/optimization/mocco/MOCCOParameterizeTchebycheff.java b/src/eva2/optimization/mocco/MOCCOParameterizeTchebycheff.java
index b700d205..539e6d37 100644
--- a/src/eva2/optimization/mocco/MOCCOParameterizeTchebycheff.java
+++ b/src/eva2/optimization/mocco/MOCCOParameterizeTchebycheff.java
@@ -1,8 +1,8 @@
package eva2.optimization.mocco;
-import eva2.gui.editor.GenericObjectEditor;
import eva2.gui.PropertyEditorProvider;
+import eva2.gui.editor.GenericObjectEditor;
import eva2.optimization.go.InterfaceTerminator;
import eva2.optimization.go.MOCCOStandalone;
import eva2.optimization.operator.migration.SOBestMigration;
@@ -13,17 +13,10 @@ import eva2.optimization.tools.AbstractObjectEditor;
import eva2.optimization.tools.GeneralOptimizationEditorProperty;
import eva2.tools.math.RNG;
-import java.awt.BorderLayout;
-import java.awt.GridBagConstraints;
-import java.awt.GridBagLayout;
+import javax.swing.*;
+import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
-import javax.swing.BorderFactory;
-import javax.swing.JButton;
-import javax.swing.JComponent;
-import javax.swing.JLabel;
-import javax.swing.JPanel;
-import javax.swing.JTextField;
/**
* Created by IntelliJ IDEA.
diff --git a/src/eva2/optimization/mocco/MOCCOPhase.java b/src/eva2/optimization/mocco/MOCCOPhase.java
index 893c1ae5..61d9608e 100644
--- a/src/eva2/optimization/mocco/MOCCOPhase.java
+++ b/src/eva2/optimization/mocco/MOCCOPhase.java
@@ -2,14 +2,10 @@ package eva2.optimization.mocco;
import eva2.optimization.go.MOCCOStandalone;
-import java.awt.BorderLayout;
-import java.awt.Font;
+import javax.swing.*;
+import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
-import javax.swing.BorderFactory;
-import javax.swing.JComponent;
-import javax.swing.JPanel;
-import javax.swing.JTextArea;
/**
* Created by IntelliJ IDEA.
diff --git a/src/eva2/optimization/mocco/MOCCOProblemInitialization.java b/src/eva2/optimization/mocco/MOCCOProblemInitialization.java
index 3d807d49..114ab89c 100644
--- a/src/eva2/optimization/mocco/MOCCOProblemInitialization.java
+++ b/src/eva2/optimization/mocco/MOCCOProblemInitialization.java
@@ -5,12 +5,10 @@ import eva2.optimization.go.MOCCOStandalone;
import eva2.optimization.problems.InterfaceOptimizationProblem;
import eva2.tools.ReflectPackage;
-import java.awt.BorderLayout;
-import java.awt.GridBagConstraints;
-import java.awt.GridBagLayout;
+import javax.swing.*;
+import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
-import javax.swing.*;
/**
* Created by IntelliJ IDEA.
diff --git a/src/eva2/optimization/mocco/MOCCOProblemRedefinition.java b/src/eva2/optimization/mocco/MOCCOProblemRedefinition.java
index 4d52248a..98c36a47 100644
--- a/src/eva2/optimization/mocco/MOCCOProblemRedefinition.java
+++ b/src/eva2/optimization/mocco/MOCCOProblemRedefinition.java
@@ -5,10 +5,10 @@ import eva2.gui.JParaPanel;
import eva2.optimization.go.MOCCOStandalone;
import eva2.optimization.problems.InterfaceOptimizationProblem;
+import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
-import javax.swing.*;
/**
* Created by IntelliJ IDEA.
diff --git a/src/eva2/optimization/mocco/MOCCOState.java b/src/eva2/optimization/mocco/MOCCOState.java
index f32d1995..abb3d7d5 100644
--- a/src/eva2/optimization/mocco/MOCCOState.java
+++ b/src/eva2/optimization/mocco/MOCCOState.java
@@ -12,7 +12,7 @@ import eva2.optimization.problems.InterfaceOptimizationProblem;
import eva2.optimization.strategies.InterfaceOptimizer;
import eva2.optimization.strategies.MultiObjectiveEA;
-import java.awt.Color;
+import java.awt.*;
import java.util.ArrayList;
/**
diff --git a/src/eva2/optimization/mocco/paretofrontviewer/MOCCOViewer.java b/src/eva2/optimization/mocco/paretofrontviewer/MOCCOViewer.java
index b9a652c7..fb593002 100644
--- a/src/eva2/optimization/mocco/paretofrontviewer/MOCCOViewer.java
+++ b/src/eva2/optimization/mocco/paretofrontviewer/MOCCOViewer.java
@@ -14,6 +14,7 @@ import eva2.tools.chart2d.DPoint;
import eva2.tools.chart2d.DPointIcon;
import eva2.tools.chart2d.ScaledBorder;
+import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
@@ -23,7 +24,6 @@ import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.text.SimpleDateFormat;
import java.util.Date;
-import javax.swing.*;
/**
diff --git a/src/eva2/optimization/mocco/paretofrontviewer/ParetoFrontView2D.java b/src/eva2/optimization/mocco/paretofrontviewer/ParetoFrontView2D.java
index a68e9a95..7fccc92c 100644
--- a/src/eva2/optimization/mocco/paretofrontviewer/ParetoFrontView2D.java
+++ b/src/eva2/optimization/mocco/paretofrontviewer/ParetoFrontView2D.java
@@ -8,18 +8,13 @@ import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.population.Population;
import eva2.optimization.problems.InterfaceMultiObjectiveDeNovoProblem;
import eva2.optimization.problems.InterfaceOptimizationObjective;
-import eva2.tools.chart2d.Chart2DDPointContentSelectable;
-import eva2.tools.chart2d.Chart2DDPointIconCross;
-import eva2.tools.chart2d.Chart2DDPointIconPoint;
-import eva2.tools.chart2d.DPoint;
-import eva2.tools.chart2d.DPointIcon;
-import eva2.tools.chart2d.ScaledBorder;
+import eva2.tools.chart2d.*;
+import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
-import javax.swing.*;
/**
diff --git a/src/eva2/optimization/mocco/paretofrontviewer/ParetoFrontViewScatterPlot.java b/src/eva2/optimization/mocco/paretofrontviewer/ParetoFrontViewScatterPlot.java
index 23873153..79d71952 100644
--- a/src/eva2/optimization/mocco/paretofrontviewer/ParetoFrontViewScatterPlot.java
+++ b/src/eva2/optimization/mocco/paretofrontviewer/ParetoFrontViewScatterPlot.java
@@ -13,10 +13,10 @@ import eva2.tools.chart2d.DPoint;
import eva2.tools.chart2d.DPointIcon;
import eva2.tools.chart2d.ScaledBorder;
+import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
-import javax.swing.*;
/**
* Created by IntelliJ IDEA.
diff --git a/src/eva2/optimization/modules/AbstractModuleAdapter.java b/src/eva2/optimization/modules/AbstractModuleAdapter.java
index b0026a41..961e638c 100644
--- a/src/eva2/optimization/modules/AbstractModuleAdapter.java
+++ b/src/eva2/optimization/modules/AbstractModuleAdapter.java
@@ -10,9 +10,9 @@ package eva2.optimization.modules;
* $Author: mkron $
*/
+import eva2.optimization.OptimizationStateListener;
import eva2.optimization.go.InterfaceOptimizationParameters;
import eva2.optimization.go.InterfaceProcessor;
-import eva2.optimization.OptimizationStateListener;
import java.io.Serializable;
import java.util.ArrayList;
diff --git a/src/eva2/optimization/modules/AbstractOptimizationParameters.java b/src/eva2/optimization/modules/AbstractOptimizationParameters.java
index 9788df92..076a51a7 100644
--- a/src/eva2/optimization/modules/AbstractOptimizationParameters.java
+++ b/src/eva2/optimization/modules/AbstractOptimizationParameters.java
@@ -1,8 +1,8 @@
package eva2.optimization.modules;
import eva2.gui.BeanInspector;
-import eva2.optimization.go.InterfaceOptimizationParameters;
import eva2.optimization.go.InterfaceNotifyOnInformers;
+import eva2.optimization.go.InterfaceOptimizationParameters;
import eva2.optimization.go.InterfacePopulationChangedEventListener;
import eva2.optimization.go.InterfaceTerminator;
import eva2.optimization.operator.postprocess.InterfacePostProcessParams;
diff --git a/src/eva2/optimization/modules/DEParameters.java b/src/eva2/optimization/modules/DEParameters.java
index 859af2e2..67e30908 100644
--- a/src/eva2/optimization/modules/DEParameters.java
+++ b/src/eva2/optimization/modules/DEParameters.java
@@ -1,8 +1,8 @@
package eva2.optimization.modules;
-import eva2.optimization.go.InterfaceOptimizationParameters;
import eva2.optimization.enums.DETypeEnum;
+import eva2.optimization.go.InterfaceOptimizationParameters;
import eva2.optimization.operator.terminators.EvaluationTerminator;
import eva2.optimization.population.Population;
import eva2.optimization.problems.F1Problem;
diff --git a/src/eva2/optimization/modules/GenericModuleAdapter.java b/src/eva2/optimization/modules/GenericModuleAdapter.java
index 87681bba..a3b57575 100644
--- a/src/eva2/optimization/modules/GenericModuleAdapter.java
+++ b/src/eva2/optimization/modules/GenericModuleAdapter.java
@@ -3,11 +3,10 @@ package eva2.optimization.modules;
import eva2.gui.EvAModuleButtonPanelMaker;
import eva2.gui.EvATabbedFrameMaker;
-import eva2.gui.editor.GenericObjectEditor;
import eva2.gui.JParaPanel;
+import eva2.gui.editor.GenericObjectEditor;
import eva2.optimization.go.InterfaceOptimizationParameters;
import eva2.optimization.stat.*;
-import eva2.optimization.stat.OptimizationJob;
import java.io.Serializable;
diff --git a/src/eva2/optimization/modules/OptimizationParameters.java b/src/eva2/optimization/modules/OptimizationParameters.java
index 1e93b84d..62926383 100644
--- a/src/eva2/optimization/modules/OptimizationParameters.java
+++ b/src/eva2/optimization/modules/OptimizationParameters.java
@@ -18,7 +18,7 @@ import java.util.logging.Level;
/**
* OptimizationParamers for configuration of an
* optimization run.
- *
+ *
* This class is used to generate the default GUI
* configuration panel for optimizations.
*/
diff --git a/src/eva2/optimization/modules/PSOParameters.java b/src/eva2/optimization/modules/PSOParameters.java
index 632841ee..8b6c03d8 100644
--- a/src/eva2/optimization/modules/PSOParameters.java
+++ b/src/eva2/optimization/modules/PSOParameters.java
@@ -2,8 +2,8 @@ package eva2.optimization.modules;
import eva2.gui.editor.GenericObjectEditor;
-import eva2.optimization.go.InterfaceOptimizationParameters;
import eva2.optimization.enums.PSOTopologyEnum;
+import eva2.optimization.go.InterfaceOptimizationParameters;
import eva2.optimization.operator.terminators.EvaluationTerminator;
import eva2.optimization.population.Population;
import eva2.optimization.problems.F1Problem;
diff --git a/src/eva2/optimization/modules/Processor.java b/src/eva2/optimization/modules/Processor.java
index c27ebf6a..93de926e 100644
--- a/src/eva2/optimization/modules/Processor.java
+++ b/src/eva2/optimization/modules/Processor.java
@@ -1,9 +1,8 @@
package eva2.optimization.modules;
-import eva2.optimization.go.*;
-import eva2.optimization.go.InterfaceOptimizationParameters;
import eva2.gui.BeanInspector;
import eva2.optimization.OptimizationStateListener;
+import eva2.optimization.go.*;
import eva2.optimization.operator.paramcontrol.ConstantParameters;
import eva2.optimization.operator.paramcontrol.InterfaceParameterControl;
import eva2.optimization.operator.postprocess.PostProcess;
@@ -15,20 +14,20 @@ import eva2.optimization.population.Population;
import eva2.optimization.population.PopulationInterface;
import eva2.optimization.problems.AbstractOptimizationProblem;
import eva2.optimization.problems.InterfaceAdditionalPopulationInformer;
-import eva2.optimization.strategies.InterfaceOptimizer;
import eva2.optimization.stat.InterfaceStatistics;
import eva2.optimization.stat.InterfaceTextListener;
import eva2.optimization.stat.StatisticsWithGUI;
+import eva2.optimization.strategies.InterfaceOptimizer;
import eva2.tools.EVAERROR;
import eva2.tools.EVAHELP;
import eva2.tools.StringTools;
import eva2.tools.math.RNG;
+import javax.swing.*;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
-import javax.swing.JOptionPane;
/**
* The Processor may run as a thread permanently (GenericModuleAdapter) and is
@@ -258,7 +257,8 @@ public class Processor extends Thread implements InterfaceProcessor, InterfacePo
if (popLog != null) {
EVAHELP.logString(this.optimizationParameters.getOptimizer().getPopulation().getIndyList(), popLog);
}
- } while (isOptimizationRunning() && !this.optimizationParameters.getTerminator().isTerminated(this.optimizationParameters.getOptimizer().getAllSolutions()));
+ }
+ while (isOptimizationRunning() && !this.optimizationParameters.getTerminator().isTerminated(this.optimizationParameters.getOptimizer().getAllSolutions()));
runCounter++;
maybeFinishParamCtrl(optimizationParameters);
diff --git a/src/eva2/optimization/operator/classification/ClassificationSelfOrganizingMaps.java b/src/eva2/optimization/operator/classification/ClassificationSelfOrganizingMaps.java
index 8a663a2e..20ce9973 100644
--- a/src/eva2/optimization/operator/classification/ClassificationSelfOrganizingMaps.java
+++ b/src/eva2/optimization/operator/classification/ClassificationSelfOrganizingMaps.java
@@ -3,10 +3,10 @@ package eva2.optimization.operator.classification;
import eva2.tools.chart2d.*;
import eva2.tools.math.RNG;
+import javax.swing.*;
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
-import javax.swing.*;
/**
* Self-organizing maps, a simple, but easy to visualize method
diff --git a/src/eva2/optimization/operator/constraint/AbstractConstraint.java b/src/eva2/optimization/operator/constraint/AbstractConstraint.java
index 05a0b027..49684849 100644
--- a/src/eva2/optimization/operator/constraint/AbstractConstraint.java
+++ b/src/eva2/optimization/operator/constraint/AbstractConstraint.java
@@ -1,12 +1,8 @@
package eva2.optimization.operator.constraint;
-import eva2.optimization.operator.paramcontrol.InterfaceParameterControl;
-import eva2.optimization.operator.paramcontrol.ParamAdaption;
-import eva2.optimization.operator.paramcontrol.ParameterControlManager;
-import eva2.optimization.operator.paramcontrol.GenericParamAdaption;
-import eva2.optimization.operator.paramcontrol.NoParamAdaption;
import eva2.gui.editor.GenericObjectEditor;
import eva2.optimization.individuals.AbstractEAIndividual;
+import eva2.optimization.operator.paramcontrol.*;
import eva2.optimization.problems.AbstractProblemDouble;
import eva2.tools.EVAERROR;
diff --git a/src/eva2/optimization/operator/crossover/PropertyCrossoverMixerEditor.java b/src/eva2/optimization/operator/crossover/PropertyCrossoverMixerEditor.java
index ed047bfb..4acfa0c5 100644
--- a/src/eva2/optimization/operator/crossover/PropertyCrossoverMixerEditor.java
+++ b/src/eva2/optimization/operator/crossover/PropertyCrossoverMixerEditor.java
@@ -1,24 +1,15 @@
package eva2.optimization.operator.crossover;
-import eva2.gui.editor.GenericObjectEditor;
import eva2.gui.PropertyEditorProvider;
+import eva2.gui.editor.GenericObjectEditor;
import eva2.optimization.tools.AbstractObjectEditor;
import eva2.optimization.tools.GeneralGEOFaker;
import eva2.optimization.tools.GeneralOptimizationEditorProperty;
import eva2.tools.BasicResourceLoader;
-import java.awt.BorderLayout;
-import java.awt.Component;
-import java.awt.Dimension;
-import java.awt.Font;
-import java.awt.FontMetrics;
-import java.awt.Graphics;
-import java.awt.GridBagConstraints;
-import java.awt.GridBagLayout;
-import java.awt.GridLayout;
-import java.awt.Rectangle;
-import java.awt.Toolkit;
+import javax.swing.*;
+import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
@@ -27,16 +18,6 @@ import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport;
import java.beans.PropertyEditor;
-import javax.swing.BorderFactory;
-import javax.swing.ImageIcon;
-import javax.swing.JButton;
-import javax.swing.JComponent;
-import javax.swing.JLabel;
-import javax.swing.JPanel;
-import javax.swing.JScrollPane;
-import javax.swing.JTextArea;
-import javax.swing.JTextField;
-import javax.swing.SwingConstants;
/**
diff --git a/src/eva2/optimization/operator/crossover/TestESCrossover.java b/src/eva2/optimization/operator/crossover/TestESCrossover.java
index b69668f2..d0aa72d7 100644
--- a/src/eva2/optimization/operator/crossover/TestESCrossover.java
+++ b/src/eva2/optimization/operator/crossover/TestESCrossover.java
@@ -10,12 +10,12 @@ import eva2.optimization.population.Population;
import eva2.optimization.problems.F1Problem;
import eva2.optimization.problems.InterfaceOptimizationProblem;
+import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
-import javax.swing.*;
/**
* Created by IntelliJ IDEA.
diff --git a/src/eva2/optimization/operator/distancemetric/PhenotypeMetric.java b/src/eva2/optimization/operator/distancemetric/PhenotypeMetric.java
index 4546946a..1a004f1a 100644
--- a/src/eva2/optimization/operator/distancemetric/PhenotypeMetric.java
+++ b/src/eva2/optimization/operator/distancemetric/PhenotypeMetric.java
@@ -2,12 +2,7 @@ package eva2.optimization.operator.distancemetric;
import eva2.gui.BeanInspector;
-import eva2.optimization.individuals.AbstractEAIndividual;
-import eva2.optimization.individuals.InterfaceDataTypeBinary;
-import eva2.optimization.individuals.InterfaceDataTypeDouble;
-import eva2.optimization.individuals.InterfaceDataTypeInteger;
-import eva2.optimization.individuals.InterfaceDataTypePermutation;
-import eva2.optimization.individuals.InterfaceDataTypeProgram;
+import eva2.optimization.individuals.*;
import java.util.BitSet;
diff --git a/src/eva2/optimization/operator/migration/MOXMeansSeparation.java b/src/eva2/optimization/operator/migration/MOXMeansSeparation.java
index 66179492..746bc474 100644
--- a/src/eva2/optimization/operator/migration/MOXMeansSeparation.java
+++ b/src/eva2/optimization/operator/migration/MOXMeansSeparation.java
@@ -17,7 +17,8 @@ import eva2.tools.chart2d.Chart2DDPointIconCircle;
import eva2.tools.chart2d.Chart2DDPointIconText;
import eva2.tools.chart2d.DPoint;
-import java.io.*;
+import java.io.BufferedWriter;
+import java.io.IOException;
/**
* This method implements the clustering based subdivision
diff --git a/src/eva2/optimization/operator/mutation/MutateDefault.java b/src/eva2/optimization/operator/mutation/MutateDefault.java
index fdfc1d8d..9df552c1 100644
--- a/src/eva2/optimization/operator/mutation/MutateDefault.java
+++ b/src/eva2/optimization/operator/mutation/MutateDefault.java
@@ -1,7 +1,7 @@
package eva2.optimization.operator.mutation;
-import eva2.optimization.individuals.IndividualInterface;
import eva2.optimization.individuals.AbstractEAIndividual;
+import eva2.optimization.individuals.IndividualInterface;
import eva2.optimization.population.Population;
import eva2.optimization.problems.InterfaceOptimizationProblem;
diff --git a/src/eva2/optimization/operator/mutation/MutateESGlobal.java b/src/eva2/optimization/operator/mutation/MutateESGlobal.java
index a3d7cfde..ccb4830b 100644
--- a/src/eva2/optimization/operator/mutation/MutateESGlobal.java
+++ b/src/eva2/optimization/operator/mutation/MutateESGlobal.java
@@ -1,10 +1,10 @@
package eva2.optimization.operator.mutation;
-import eva2.optimization.population.PopulationInterface;
import eva2.optimization.enums.MutateESCrossoverTypeEnum;
import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.individuals.InterfaceESIndividual;
import eva2.optimization.population.Population;
+import eva2.optimization.population.PopulationInterface;
import eva2.optimization.problems.InterfaceAdditionalPopulationInformer;
import eva2.optimization.problems.InterfaceOptimizationProblem;
import eva2.tools.math.RNG;
diff --git a/src/eva2/optimization/operator/mutation/MutateESLocal.java b/src/eva2/optimization/operator/mutation/MutateESLocal.java
index d832730d..bc243f7e 100644
--- a/src/eva2/optimization/operator/mutation/MutateESLocal.java
+++ b/src/eva2/optimization/operator/mutation/MutateESLocal.java
@@ -1,10 +1,10 @@
package eva2.optimization.operator.mutation;
-import eva2.optimization.population.PopulationInterface;
import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.individuals.InterfaceESIndividual;
import eva2.optimization.population.Population;
+import eva2.optimization.population.PopulationInterface;
import eva2.optimization.problems.InterfaceAdditionalPopulationInformer;
import eva2.optimization.problems.InterfaceOptimizationProblem;
import eva2.tools.SelectedTag;
diff --git a/src/eva2/optimization/operator/mutation/MutateESRankMuCMA.java b/src/eva2/optimization/operator/mutation/MutateESRankMuCMA.java
index 605e12cd..82ee5601 100644
--- a/src/eva2/optimization/operator/mutation/MutateESRankMuCMA.java
+++ b/src/eva2/optimization/operator/mutation/MutateESRankMuCMA.java
@@ -335,7 +335,7 @@ public class MutateESRankMuCMA implements InterfaceAdaptOperatorGenerational, In
}
/* Align (renormalize) scale C (and consequently sigma) */
- /* e.g. for infinite stationary state simulations (noise
+ /* e.g. for infinite stationary state simulations (noise
* handling needs to be introduced for that) */
double fac = 1.;
double minEig = 1e-12;
diff --git a/src/eva2/optimization/operator/mutation/MutateGPAdaptive.java b/src/eva2/optimization/operator/mutation/MutateGPAdaptive.java
index 381543d0..d3e4efe7 100644
--- a/src/eva2/optimization/operator/mutation/MutateGPAdaptive.java
+++ b/src/eva2/optimization/operator/mutation/MutateGPAdaptive.java
@@ -1,8 +1,8 @@
package eva2.optimization.operator.mutation;
-import eva2.optimization.individuals.IndividualInterface;
import eva2.optimization.individuals.AbstractEAIndividual;
+import eva2.optimization.individuals.IndividualInterface;
import eva2.optimization.individuals.InterfaceGPIndividual;
import eva2.optimization.population.Population;
import eva2.optimization.problems.InterfaceOptimizationProblem;
diff --git a/src/eva2/optimization/operator/mutation/MutateOBGAInversion.java b/src/eva2/optimization/operator/mutation/MutateOBGAInversion.java
index e5760030..a78f1219 100644
--- a/src/eva2/optimization/operator/mutation/MutateOBGAInversion.java
+++ b/src/eva2/optimization/operator/mutation/MutateOBGAInversion.java
@@ -21,9 +21,9 @@ import eva2.tools.math.RNG;
*
* Example:
*
- * 1 2 | 3 4 5 | 6 7 8 9 ->
- * 1 2 | 5 4 3 | 6 7 8 9
- *
+ * 1 2 | 3 4 5 | 6 7 8 9 ->
+ * 1 2 | 5 4 3 | 6 7 8 9
+ *
*/
diff --git a/src/eva2/optimization/operator/mutation/PropertyMutationMixerEditor.java b/src/eva2/optimization/operator/mutation/PropertyMutationMixerEditor.java
index 86be07ce..7a8739f1 100644
--- a/src/eva2/optimization/operator/mutation/PropertyMutationMixerEditor.java
+++ b/src/eva2/optimization/operator/mutation/PropertyMutationMixerEditor.java
@@ -1,19 +1,22 @@
package eva2.optimization.operator.mutation;
-import eva2.gui.*;
+import eva2.gui.PropertyEditorProvider;
import eva2.gui.editor.GenericObjectEditor;
import eva2.optimization.tools.AbstractObjectEditor;
import eva2.optimization.tools.GeneralGEOFaker;
import eva2.optimization.tools.GeneralOptimizationEditorProperty;
import eva2.tools.BasicResourceLoader;
+import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
-import java.beans.*;
-import javax.swing.*;
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+import java.beans.PropertyChangeSupport;
+import java.beans.PropertyEditor;
/**
* Created by IntelliJ IDEA.
diff --git a/src/eva2/optimization/operator/paramcontrol/ParameterControlManager.java b/src/eva2/optimization/operator/paramcontrol/ParameterControlManager.java
index 194188e1..43b8795b 100644
--- a/src/eva2/optimization/operator/paramcontrol/ParameterControlManager.java
+++ b/src/eva2/optimization/operator/paramcontrol/ParameterControlManager.java
@@ -1,8 +1,8 @@
package eva2.optimization.operator.paramcontrol;
import eva2.gui.BeanInspector;
-import eva2.optimization.population.Population;
import eva2.optimization.modules.Processor;
+import eva2.optimization.population.Population;
import eva2.tools.Pair;
import java.io.Serializable;
diff --git a/src/eva2/optimization/operator/postprocess/PostProcess.java b/src/eva2/optimization/operator/postprocess/PostProcess.java
index 3a5357ca..bb8c4cb9 100644
--- a/src/eva2/optimization/operator/postprocess/PostProcess.java
+++ b/src/eva2/optimization/operator/postprocess/PostProcess.java
@@ -1,25 +1,15 @@
package eva2.optimization.operator.postprocess;
-import eva2.optimization.problems.InterfaceInterestingHistogram;
-import eva2.optimization.problems.InterfaceMultimodalProblemKnown;
-import eva2.optimization.problems.InterfaceSolutionViewer;
-import eva2.optimization.problems.AbstractOptimizationProblem;
-import eva2.optimization.problems.Interface2DBorderProblem;
-import eva2.optimization.problems.InterfaceHasSolutionViewer;
-import eva2.optimization.problems.FM0Problem;
import eva2.OptimizerFactory;
import eva2.OptimizerRunnable;
import eva2.gui.BeanInspector;
import eva2.gui.plot.Plot;
import eva2.gui.plot.TopoPlot;
-import eva2.optimization.individuals.IndividualInterface;
-import eva2.optimization.go.InterfaceTerminator;
import eva2.optimization.enums.ESMutationInitialSigma;
import eva2.optimization.enums.PostProcessMethod;
-import eva2.optimization.individuals.AbstractEAIndividual;
-import eva2.optimization.individuals.ESIndividualDoubleData;
-import eva2.optimization.individuals.InterfaceDataTypeDouble;
-import eva2.optimization.individuals.InterfaceESIndividual;
+import eva2.optimization.go.InterfaceTerminator;
+import eva2.optimization.individuals.*;
+import eva2.optimization.modules.OptimizationParameters;
import eva2.optimization.operator.cluster.ClusteringDensityBased;
import eva2.optimization.operator.cluster.InterfaceClustering;
import eva2.optimization.operator.crossover.CrossoverESDefault;
@@ -33,13 +23,13 @@ import eva2.optimization.operator.mutation.MutateESRankMuCMA;
import eva2.optimization.operator.selection.SelectBestIndividuals;
import eva2.optimization.operator.terminators.EvaluationTerminator;
import eva2.optimization.population.Population;
+import eva2.optimization.problems.*;
+import eva2.optimization.stat.InterfaceTextListener;
+import eva2.optimization.stat.StatisticsParameter;
import eva2.optimization.strategies.EvolutionStrategies;
import eva2.optimization.strategies.GradientDescentAlgorithm;
import eva2.optimization.strategies.HillClimbing;
import eva2.optimization.strategies.NelderMeadSimplex;
-import eva2.optimization.modules.OptimizationParameters;
-import eva2.optimization.stat.InterfaceTextListener;
-import eva2.optimization.stat.StatisticsParameter;
import eva2.tools.Pair;
import eva2.tools.math.Mathematics;
diff --git a/src/eva2/optimization/operator/terminators/CombinedTerminator.java b/src/eva2/optimization/operator/terminators/CombinedTerminator.java
index 112f1ae0..358c9a20 100644
--- a/src/eva2/optimization/operator/terminators/CombinedTerminator.java
+++ b/src/eva2/optimization/operator/terminators/CombinedTerminator.java
@@ -1,8 +1,8 @@
package eva2.optimization.operator.terminators;
import eva2.optimization.go.InterfaceTerminator;
-import eva2.optimization.population.PopulationInterface;
import eva2.optimization.population.InterfaceSolutionSet;
+import eva2.optimization.population.PopulationInterface;
import eva2.optimization.problems.InterfaceOptimizationProblem;
import eva2.tools.SelectedTag;
diff --git a/src/eva2/optimization/operator/terminators/DiversityTerminator.java b/src/eva2/optimization/operator/terminators/DiversityTerminator.java
index 7ccbb2aa..a44f7714 100644
--- a/src/eva2/optimization/operator/terminators/DiversityTerminator.java
+++ b/src/eva2/optimization/operator/terminators/DiversityTerminator.java
@@ -1,10 +1,10 @@
package eva2.optimization.operator.terminators;
import eva2.optimization.go.InterfaceTerminator;
-import eva2.optimization.population.PopulationInterface;
import eva2.optimization.operator.distancemetric.InterfaceDistanceMetric;
import eva2.optimization.operator.distancemetric.PhenotypeMetric;
import eva2.optimization.population.Population;
+import eva2.optimization.population.PopulationInterface;
import java.io.Serializable;
diff --git a/src/eva2/optimization/operator/terminators/EvaluationTerminator.java b/src/eva2/optimization/operator/terminators/EvaluationTerminator.java
index d17d01f4..c7c325a2 100644
--- a/src/eva2/optimization/operator/terminators/EvaluationTerminator.java
+++ b/src/eva2/optimization/operator/terminators/EvaluationTerminator.java
@@ -14,8 +14,8 @@ package eva2.optimization.operator.terminators;
*==========================================================================*/
import eva2.optimization.go.InterfaceTerminator;
-import eva2.optimization.population.PopulationInterface;
import eva2.optimization.population.InterfaceSolutionSet;
+import eva2.optimization.population.PopulationInterface;
import eva2.optimization.problems.InterfaceOptimizationProblem;
import java.io.Serializable;
diff --git a/src/eva2/optimization/operator/terminators/FitnessValueTerminator.java b/src/eva2/optimization/operator/terminators/FitnessValueTerminator.java
index 4ef29af0..14c2b25a 100644
--- a/src/eva2/optimization/operator/terminators/FitnessValueTerminator.java
+++ b/src/eva2/optimization/operator/terminators/FitnessValueTerminator.java
@@ -15,8 +15,8 @@ package eva2.optimization.operator.terminators;
import eva2.gui.BeanInspector;
import eva2.optimization.go.InterfaceTerminator;
-import eva2.optimization.population.PopulationInterface;
import eva2.optimization.population.InterfaceSolutionSet;
+import eva2.optimization.population.PopulationInterface;
import eva2.optimization.problems.InterfaceOptimizationProblem;
import java.io.Serializable;
diff --git a/src/eva2/optimization/operator/terminators/GenerationTerminator.java b/src/eva2/optimization/operator/terminators/GenerationTerminator.java
index 62d25987..4b96d3fb 100644
--- a/src/eva2/optimization/operator/terminators/GenerationTerminator.java
+++ b/src/eva2/optimization/operator/terminators/GenerationTerminator.java
@@ -11,8 +11,8 @@ package eva2.optimization.operator.terminators;
*/
import eva2.optimization.go.InterfaceTerminator;
-import eva2.optimization.population.PopulationInterface;
import eva2.optimization.population.InterfaceSolutionSet;
+import eva2.optimization.population.PopulationInterface;
import eva2.optimization.problems.InterfaceOptimizationProblem;
import java.io.Serializable;
diff --git a/src/eva2/optimization/operator/terminators/HistoryConvergenceTerminator.java b/src/eva2/optimization/operator/terminators/HistoryConvergenceTerminator.java
index 584989b3..48f862b4 100644
--- a/src/eva2/optimization/operator/terminators/HistoryConvergenceTerminator.java
+++ b/src/eva2/optimization/operator/terminators/HistoryConvergenceTerminator.java
@@ -1,12 +1,12 @@
package eva2.optimization.operator.terminators;
import eva2.optimization.go.InterfaceTerminator;
-import eva2.optimization.population.PopulationInterface;
import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.individuals.AbstractEAIndividualComparator;
import eva2.optimization.operator.distancemetric.ObjectiveSpaceMetric;
import eva2.optimization.population.InterfaceSolutionSet;
import eva2.optimization.population.Population;
+import eva2.optimization.population.PopulationInterface;
import eva2.optimization.problems.InterfaceOptimizationProblem;
import java.io.Serializable;
diff --git a/src/eva2/optimization/operator/terminators/KnownOptimaFoundTerminator.java b/src/eva2/optimization/operator/terminators/KnownOptimaFoundTerminator.java
index 169c3cd9..c3525010 100644
--- a/src/eva2/optimization/operator/terminators/KnownOptimaFoundTerminator.java
+++ b/src/eva2/optimization/operator/terminators/KnownOptimaFoundTerminator.java
@@ -1,9 +1,9 @@
package eva2.optimization.operator.terminators;
import eva2.optimization.go.InterfaceTerminator;
-import eva2.optimization.population.PopulationInterface;
import eva2.optimization.population.InterfaceSolutionSet;
import eva2.optimization.population.Population;
+import eva2.optimization.population.PopulationInterface;
import eva2.optimization.problems.InterfaceMultimodalProblemKnown;
import eva2.optimization.problems.InterfaceOptimizationProblem;
import eva2.tools.EVAERROR;
diff --git a/src/eva2/optimization/operator/terminators/ParetoMetricTerminator.java b/src/eva2/optimization/operator/terminators/ParetoMetricTerminator.java
index 20777667..ef4e2844 100644
--- a/src/eva2/optimization/operator/terminators/ParetoMetricTerminator.java
+++ b/src/eva2/optimization/operator/terminators/ParetoMetricTerminator.java
@@ -1,10 +1,10 @@
package eva2.optimization.operator.terminators;
import eva2.gui.BeanInspector;
-import eva2.optimization.population.PopulationInterface;
import eva2.optimization.operator.paretofrontmetrics.InterfaceParetoFrontMetric;
import eva2.optimization.operator.paretofrontmetrics.MetricS;
import eva2.optimization.population.Population;
+import eva2.optimization.population.PopulationInterface;
import eva2.optimization.problems.AbstractMultiObjectiveOptimizationProblem;
import eva2.optimization.problems.InterfaceOptimizationProblem;
import eva2.tools.EVAERROR;
diff --git a/src/eva2/optimization/operator/terminators/PhenotypeConvergenceTerminator.java b/src/eva2/optimization/operator/terminators/PhenotypeConvergenceTerminator.java
index 845715f9..2ef34ea1 100644
--- a/src/eva2/optimization/operator/terminators/PhenotypeConvergenceTerminator.java
+++ b/src/eva2/optimization/operator/terminators/PhenotypeConvergenceTerminator.java
@@ -1,9 +1,9 @@
package eva2.optimization.operator.terminators;
import eva2.optimization.go.InterfaceTerminator;
-import eva2.optimization.population.PopulationInterface;
import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.operator.distancemetric.PhenotypeMetric;
+import eva2.optimization.population.PopulationInterface;
import eva2.optimization.problems.InterfaceOptimizationProblem;
public class PhenotypeConvergenceTerminator extends PopulationMeasureTerminator implements InterfaceTerminator {
diff --git a/src/eva2/optimization/operator/terminators/PopulationArchiveTerminator.java b/src/eva2/optimization/operator/terminators/PopulationArchiveTerminator.java
index fbf6a656..7338a5a8 100644
--- a/src/eva2/optimization/operator/terminators/PopulationArchiveTerminator.java
+++ b/src/eva2/optimization/operator/terminators/PopulationArchiveTerminator.java
@@ -1,8 +1,8 @@
package eva2.optimization.operator.terminators;
-import eva2.optimization.population.PopulationInterface;
import eva2.optimization.individuals.IndividualWeightedFitnessComparator;
import eva2.optimization.population.Population;
+import eva2.optimization.population.PopulationInterface;
/**
* Terminate if a score based on the archive of the population converges.
diff --git a/src/eva2/optimization/operator/terminators/PopulationMeasureTerminator.java b/src/eva2/optimization/operator/terminators/PopulationMeasureTerminator.java
index 06253cd9..211c5d0c 100644
--- a/src/eva2/optimization/operator/terminators/PopulationMeasureTerminator.java
+++ b/src/eva2/optimization/operator/terminators/PopulationMeasureTerminator.java
@@ -2,8 +2,8 @@ package eva2.optimization.operator.terminators;
import eva2.gui.BeanInspector;
import eva2.optimization.go.InterfaceTerminator;
-import eva2.optimization.population.PopulationInterface;
import eva2.optimization.population.InterfaceSolutionSet;
+import eva2.optimization.population.PopulationInterface;
import eva2.optimization.problems.InterfaceOptimizationProblem;
import java.io.Serializable;
diff --git a/src/eva2/optimization/population/Population.java b/src/eva2/optimization/population/Population.java
index d0c2e1a7..18435e9c 100644
--- a/src/eva2/optimization/population/Population.java
+++ b/src/eva2/optimization/population/Population.java
@@ -1,13 +1,8 @@
package eva2.optimization.population;
-import eva2.optimization.individuals.InterfaceDataTypeDouble;
-import eva2.optimization.individuals.AbstractEAIndividualComparator;
-import eva2.optimization.individuals.InterfaceESIndividual;
-import eva2.optimization.individuals.AbstractEAIndividual;
-import eva2.optimization.individuals.InterfaceGAIndividual;
import eva2.gui.editor.GenericObjectEditor;
-import eva2.optimization.individuals.IndividualInterface;
import eva2.optimization.go.InterfacePopulationChangedEventListener;
+import eva2.optimization.individuals.*;
import eva2.optimization.operator.distancemetric.EuclideanMetric;
import eva2.optimization.operator.distancemetric.InterfaceDistanceMetric;
import eva2.optimization.operator.distancemetric.PhenotypeMetric;
diff --git a/src/eva2/optimization/problems/AbstractDynTransProblem.java b/src/eva2/optimization/problems/AbstractDynTransProblem.java
index 4d547c0f..822aa84b 100644
--- a/src/eva2/optimization/problems/AbstractDynTransProblem.java
+++ b/src/eva2/optimization/problems/AbstractDynTransProblem.java
@@ -170,7 +170,7 @@ public abstract class AbstractDynTransProblem extends AbstractSynchronousOptimiz
public void setProblem(InterfaceOptimizationProblem prob) {
this.prob = prob;
- /* to get the right values for problemDimension and Range */
+ /* to get the right values for problemDimension and Range */
Population pop = new Population();
pop.setTargetSize(1);
prob.initializePopulation(pop);
diff --git a/src/eva2/optimization/problems/AbstractMultiModalProblemKnown.java b/src/eva2/optimization/problems/AbstractMultiModalProblemKnown.java
index 6240f212..c281e115 100644
--- a/src/eva2/optimization/problems/AbstractMultiModalProblemKnown.java
+++ b/src/eva2/optimization/problems/AbstractMultiModalProblemKnown.java
@@ -1,6 +1,5 @@
package eva2.optimization.problems;
-import eva2.optimization.population.PopulationInterface;
import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.individuals.ESIndividualDoubleData;
import eva2.optimization.individuals.InterfaceDataTypeDouble;
@@ -8,6 +7,7 @@ import eva2.optimization.operator.distancemetric.InterfaceDistanceMetric;
import eva2.optimization.operator.distancemetric.PhenotypeMetric;
import eva2.optimization.operator.postprocess.PostProcess;
import eva2.optimization.population.Population;
+import eva2.optimization.population.PopulationInterface;
import eva2.tools.EVAERROR;
import eva2.tools.ToolBox;
import eva2.tools.math.Mathematics;
diff --git a/src/eva2/optimization/problems/AbstractMultiObjectiveOptimizationProblem.java b/src/eva2/optimization/problems/AbstractMultiObjectiveOptimizationProblem.java
index f0799daf..13ed424e 100644
--- a/src/eva2/optimization/problems/AbstractMultiObjectiveOptimizationProblem.java
+++ b/src/eva2/optimization/problems/AbstractMultiObjectiveOptimizationProblem.java
@@ -2,7 +2,6 @@ package eva2.optimization.problems;
import eva2.gui.plot.GraphPointSet;
import eva2.gui.plot.Plot;
-import eva2.optimization.population.PopulationInterface;
import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.individuals.ESIndividualDoubleData;
import eva2.optimization.operator.archiving.ArchivingAllDominating;
@@ -12,17 +11,18 @@ import eva2.optimization.operator.moso.MOSONoConvert;
import eva2.optimization.operator.paretofrontmetrics.InterfaceParetoFrontMetric;
import eva2.optimization.operator.paretofrontmetrics.MetricS;
import eva2.optimization.population.Population;
+import eva2.optimization.population.PopulationInterface;
import eva2.optimization.strategies.InterfaceOptimizer;
import eva2.tools.ToolBox;
import eva2.tools.chart2d.Chart2DDPointIconCircle;
import eva2.tools.chart2d.Chart2DDPointIconText;
import eva2.tools.chart2d.DPoint;
-import java.awt.Color;
+import javax.swing.*;
+import java.awt.*;
import java.util.ArrayList;
import java.util.Vector;
import java.util.concurrent.Semaphore;
-import javax.swing.JFrame;
/**
* Created by IntelliJ IDEA.
diff --git a/src/eva2/optimization/problems/AbstractOptimizationProblem.java b/src/eva2/optimization/problems/AbstractOptimizationProblem.java
index 9177115c..1078800c 100644
--- a/src/eva2/optimization/problems/AbstractOptimizationProblem.java
+++ b/src/eva2/optimization/problems/AbstractOptimizationProblem.java
@@ -1,8 +1,7 @@
package eva2.optimization.problems;
-import eva2.optimization.go.InterfaceTerminator;
-import eva2.optimization.population.PopulationInterface;
import eva2.optimization.enums.PostProcessMethod;
+import eva2.optimization.go.InterfaceTerminator;
import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.individuals.InterfaceDataTypeDouble;
import eva2.optimization.operator.cluster.ClusteringDensityBased;
@@ -22,19 +21,17 @@ import eva2.optimization.operator.terminators.PopulationMeasureTerminator.Change
import eva2.optimization.operator.terminators.PopulationMeasureTerminator.DirectionTypeEnum;
import eva2.optimization.operator.terminators.PopulationMeasureTerminator.StagnationTypeEnum;
import eva2.optimization.population.Population;
+import eva2.optimization.population.PopulationInterface;
import eva2.optimization.strategies.InterfaceOptimizer;
import eva2.tools.ToolBox;
-import java.awt.BorderLayout;
+import javax.swing.*;
+import java.awt.*;
import java.io.Serializable;
import java.util.Vector;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Semaphore;
-import javax.swing.JComponent;
-import javax.swing.JPanel;
-import javax.swing.JScrollPane;
-import javax.swing.JTextArea;
/**
* Created by IntelliJ IDEA.
diff --git a/src/eva2/optimization/problems/AbstractProblemDouble.java b/src/eva2/optimization/problems/AbstractProblemDouble.java
index 8308065b..34589267 100644
--- a/src/eva2/optimization/problems/AbstractProblemDouble.java
+++ b/src/eva2/optimization/problems/AbstractProblemDouble.java
@@ -2,7 +2,6 @@ package eva2.optimization.problems;
import eva2.gui.editor.GenericObjectEditor;
import eva2.gui.plot.TopoPlot;
-import eva2.optimization.population.PopulationInterface;
import eva2.optimization.enums.PostProcessMethod;
import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.individuals.ESIndividualDoubleData;
@@ -15,6 +14,7 @@ import eva2.optimization.operator.terminators.PopulationMeasureTerminator.Change
import eva2.optimization.operator.terminators.PopulationMeasureTerminator.DirectionTypeEnum;
import eva2.optimization.operator.terminators.PopulationMeasureTerminator.StagnationTypeEnum;
import eva2.optimization.population.Population;
+import eva2.optimization.population.PopulationInterface;
import eva2.optimization.strategies.InterfaceOptimizer;
import eva2.tools.Pair;
import eva2.tools.ToolBox;
diff --git a/src/eva2/optimization/problems/ConstrPressureVessel.java b/src/eva2/optimization/problems/ConstrPressureVessel.java
index e2954ec2..5107d963 100644
--- a/src/eva2/optimization/problems/ConstrPressureVessel.java
+++ b/src/eva2/optimization/problems/ConstrPressureVessel.java
@@ -2,11 +2,7 @@ package eva2.optimization.problems;
import eva2.gui.editor.GenericObjectEditor;
import eva2.optimization.individuals.AbstractEAIndividual;
-import eva2.optimization.operator.constraint.AbstractConstraint;
-import eva2.optimization.operator.constraint.ConstraintCollection;
-import eva2.optimization.operator.constraint.ConstraintHandlingEnum;
-import eva2.optimization.operator.constraint.ConstraintRelationEnum;
-import eva2.optimization.operator.constraint.GenericConstraint;
+import eva2.optimization.operator.constraint.*;
import java.util.Vector;
diff --git a/src/eva2/optimization/problems/DynJumpProblem.java b/src/eva2/optimization/problems/DynJumpProblem.java
index 5f3412cf..19283753 100644
--- a/src/eva2/optimization/problems/DynJumpProblem.java
+++ b/src/eva2/optimization/problems/DynJumpProblem.java
@@ -76,7 +76,7 @@ public class DynJumpProblem extends AbstractDynTransProblem {
shift[i] = rand.nextGaussian();
norm += Math.pow(shift[i], 2);
}
- /* normalize */
+ /* normalize */
if (norm > 0.0) {
norm = getSeverity() / Math.sqrt(norm);
} else {
diff --git a/src/eva2/optimization/problems/ERPStarter.java b/src/eva2/optimization/problems/ERPStarter.java
index 64038c35..a2701888 100644
--- a/src/eva2/optimization/problems/ERPStarter.java
+++ b/src/eva2/optimization/problems/ERPStarter.java
@@ -2,8 +2,8 @@ package eva2.optimization.problems;
import eva2.OptimizerFactory;
import eva2.OptimizerRunnable;
-import eva2.gui.Main;
import eva2.gui.BeanInspector;
+import eva2.gui.Main;
import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.modules.OptimizationParameters;
import eva2.optimization.operator.crossover.CrossoverESDefault;
@@ -14,9 +14,9 @@ import eva2.optimization.operator.selection.SelectBestIndividuals;
import eva2.optimization.operator.terminators.EvaluationTerminator;
import eva2.optimization.population.InterfaceSolutionSet;
import eva2.optimization.population.Population;
+import eva2.optimization.stat.StatisticsStandalone;
import eva2.optimization.strategies.GeneticAlgorithm;
import eva2.optimization.strategies.InterfaceOptimizer;
-import eva2.optimization.stat.StatisticsStandalone;
import eva2.tools.BasicResourceLoader;
import eva2.tools.StringTools;
import eva2.tools.ToolBox;
diff --git a/src/eva2/optimization/problems/ExternalRuntimeProblem.java b/src/eva2/optimization/problems/ExternalRuntimeProblem.java
index bc6a0c1d..29c383e4 100644
--- a/src/eva2/optimization/problems/ExternalRuntimeProblem.java
+++ b/src/eva2/optimization/problems/ExternalRuntimeProblem.java
@@ -11,15 +11,7 @@ import eva2.optimization.population.Population;
import eva2.optimization.strategies.InterfaceOptimizer;
import eva2.tools.math.Mathematics;
-import java.io.BufferedInputStream;
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.OutputStreamWriter;
-import java.io.Reader;
-import java.io.Writer;
+import java.io.*;
import java.util.ArrayList;
import java.util.List;
diff --git a/src/eva2/optimization/problems/F8Problem.java b/src/eva2/optimization/problems/F8Problem.java
index 9a1b5b45..d302c9c0 100644
--- a/src/eva2/optimization/problems/F8Problem.java
+++ b/src/eva2/optimization/problems/F8Problem.java
@@ -1,10 +1,10 @@
package eva2.optimization.problems;
-import eva2.optimization.population.PopulationInterface;
import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.operator.distancemetric.EuclideanMetric;
import eva2.optimization.operator.postprocess.SolutionHistogram;
import eva2.optimization.population.Population;
+import eva2.optimization.population.PopulationInterface;
import eva2.tools.ToolBox;
import eva2.tools.math.Mathematics;
diff --git a/src/eva2/optimization/problems/FLensProblem.java b/src/eva2/optimization/problems/FLensProblem.java
index 03c9d31c..8601e5b3 100644
--- a/src/eva2/optimization/problems/FLensProblem.java
+++ b/src/eva2/optimization/problems/FLensProblem.java
@@ -10,21 +10,9 @@ import eva2.optimization.population.Population;
import eva2.optimization.strategies.InterfaceOptimizer;
import eva2.tools.math.RNG;
-import java.awt.BasicStroke;
-import java.awt.BorderLayout;
-import java.awt.Color;
-import java.awt.Dimension;
-import java.awt.Graphics;
-import java.awt.Graphics2D;
-import java.awt.Rectangle;
-import java.awt.Shape;
-import java.awt.Stroke;
+import javax.swing.*;
+import java.awt.*;
import java.awt.image.BufferedImage;
-import javax.swing.JComponent;
-import javax.swing.JFrame;
-import javax.swing.JPanel;
-import javax.swing.JScrollPane;
-import javax.swing.JTextArea;
class MyLensViewer extends JPanel implements InterfaceSolutionViewer {
diff --git a/src/eva2/optimization/problems/MatlabProblem.java b/src/eva2/optimization/problems/MatlabProblem.java
index b4be7f9d..f69edbd0 100644
--- a/src/eva2/optimization/problems/MatlabProblem.java
+++ b/src/eva2/optimization/problems/MatlabProblem.java
@@ -1,15 +1,9 @@
package eva2.optimization.problems;
-import eva2.optimization.individuals.InterfaceDataTypeInteger;
-import eva2.optimization.individuals.InterfaceDataTypeBinary;
-import eva2.optimization.individuals.ESIndividualDoubleData;
-import eva2.optimization.individuals.InterfaceDataTypeDouble;
-import eva2.optimization.individuals.GIIndividualIntegerData;
-import eva2.optimization.individuals.GAIndividualBinaryData;
-import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.OptimizerFactory;
import eva2.OptimizerRunnable;
import eva2.gui.BeanInspector;
+import eva2.optimization.individuals.*;
import eva2.optimization.operator.postprocess.InterfacePostProcessParams;
import eva2.optimization.operator.postprocess.PostProcess;
import eva2.optimization.operator.postprocess.PostProcessParams;
@@ -19,8 +13,8 @@ import eva2.optimization.operator.terminators.PopulationMeasureTerminator.Change
import eva2.optimization.operator.terminators.PopulationMeasureTerminator.DirectionTypeEnum;
import eva2.optimization.operator.terminators.PopulationMeasureTerminator.StagnationTypeEnum;
import eva2.optimization.population.Population;
-import eva2.optimization.strategies.InterfaceOptimizer;
import eva2.optimization.stat.InterfaceTextListener;
+import eva2.optimization.strategies.InterfaceOptimizer;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
diff --git a/src/eva2/optimization/problems/PSymbolicRegression.java b/src/eva2/optimization/problems/PSymbolicRegression.java
index 1004d53e..6395d914 100644
--- a/src/eva2/optimization/problems/PSymbolicRegression.java
+++ b/src/eva2/optimization/problems/PSymbolicRegression.java
@@ -1,30 +1,10 @@
package eva2.optimization.problems;
import eva2.gui.plot.Plot;
-import eva2.optimization.population.PopulationInterface;
-import eva2.optimization.individuals.AbstractEAIndividual;
-import eva2.optimization.individuals.GAPIndividualProgramData;
-import eva2.optimization.individuals.GPIndividualProgramData;
-import eva2.optimization.individuals.InterfaceDataTypeDouble;
-import eva2.optimization.individuals.InterfaceDataTypeProgram;
-import eva2.optimization.individuals.codings.gp.AbstractGPNode;
-import eva2.optimization.individuals.codings.gp.GPArea;
-import eva2.optimization.individuals.codings.gp.GPNodeAbs;
-import eva2.optimization.individuals.codings.gp.GPNodeAdd;
-import eva2.optimization.individuals.codings.gp.GPNodeCos;
-import eva2.optimization.individuals.codings.gp.GPNodeDiv;
-import eva2.optimization.individuals.codings.gp.GPNodeExp;
-import eva2.optimization.individuals.codings.gp.GPNodeInput;
-import eva2.optimization.individuals.codings.gp.GPNodeMult;
-import eva2.optimization.individuals.codings.gp.GPNodeOne;
-import eva2.optimization.individuals.codings.gp.GPNodePi;
-import eva2.optimization.individuals.codings.gp.GPNodePow2;
-import eva2.optimization.individuals.codings.gp.GPNodePow3;
-import eva2.optimization.individuals.codings.gp.GPNodeSin;
-import eva2.optimization.individuals.codings.gp.GPNodeSqrt;
-import eva2.optimization.individuals.codings.gp.GPNodeSub;
-import eva2.optimization.individuals.codings.gp.InterfaceProgram;
+import eva2.optimization.individuals.*;
+import eva2.optimization.individuals.codings.gp.*;
import eva2.optimization.population.Population;
+import eva2.optimization.population.PopulationInterface;
import eva2.optimization.problems.regression.InterfaceRegressionFunction;
import eva2.optimization.problems.regression.RFKoza_GPI_7_3;
import eva2.optimization.strategies.InterfaceOptimizer;
diff --git a/src/eva2/optimization/problems/SimpleProblemWrapper.java b/src/eva2/optimization/problems/SimpleProblemWrapper.java
index 376acec8..d02570df 100644
--- a/src/eva2/optimization/problems/SimpleProblemWrapper.java
+++ b/src/eva2/optimization/problems/SimpleProblemWrapper.java
@@ -3,22 +3,17 @@ package eva2.optimization.problems;
import eva2.gui.BeanInspector;
import eva2.gui.editor.GenericObjectEditor;
import eva2.gui.plot.Plot;
-import eva2.optimization.individuals.AbstractEAIndividual;
-import eva2.optimization.individuals.ESIndividualDoubleData;
-import eva2.optimization.individuals.GAIndividualBinaryData;
-import eva2.optimization.individuals.InterfaceDataTypeBinary;
-import eva2.optimization.individuals.InterfaceDataTypeDouble;
+import eva2.optimization.individuals.*;
import eva2.optimization.population.Population;
import eva2.optimization.strategies.InterfaceOptimizer;
import eva2.tools.math.RNG;
-
-import java.util.BitSet;
-
import simpleprobs.InterfaceSimpleProblem;
import simpleprobs.SimpleF1;
import simpleprobs.SimpleProblemBinary;
import simpleprobs.SimpleProblemDouble;
+import java.util.BitSet;
+
public class SimpleProblemWrapper extends AbstractOptimizationProblem {
InterfaceSimpleProblem> simProb = new SimpleF1();
protected double defaultRange = 10;
diff --git a/src/eva2/optimization/problems/TF1Problem.java b/src/eva2/optimization/problems/TF1Problem.java
index 5ce344b6..8c0d4792 100644
--- a/src/eva2/optimization/problems/TF1Problem.java
+++ b/src/eva2/optimization/problems/TF1Problem.java
@@ -1,7 +1,7 @@
package eva2.optimization.problems;
-import eva2.gui.plot.Plot;
import eva2.gui.PropertyFilePath;
+import eva2.gui.plot.Plot;
import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.individuals.InterfaceDataTypeDouble;
import eva2.optimization.operator.constraint.InterfaceConstraint;
diff --git a/src/eva2/optimization/stat/AbstractStatistics.java b/src/eva2/optimization/stat/AbstractStatistics.java
index ff704803..18e1383a 100644
--- a/src/eva2/optimization/stat/AbstractStatistics.java
+++ b/src/eva2/optimization/stat/AbstractStatistics.java
@@ -1,11 +1,11 @@
package eva2.optimization.stat;
import eva2.gui.BeanInspector;
-import eva2.optimization.individuals.IndividualInterface;
-import eva2.optimization.population.PopulationInterface;
import eva2.optimization.individuals.AbstractEAIndividual;
+import eva2.optimization.individuals.IndividualInterface;
import eva2.optimization.operator.distancemetric.InterfaceDistanceMetric;
import eva2.optimization.population.Population;
+import eva2.optimization.population.PopulationInterface;
import eva2.optimization.problems.InterfaceAdditionalPopulationInformer;
import eva2.optimization.strategies.InterfaceOptimizer;
import eva2.tools.Pair;
diff --git a/src/eva2/optimization/stat/EvAStatisticalEvaluationParams.java b/src/eva2/optimization/stat/EvAStatisticalEvaluationParams.java
index 76772dac..294bcd43 100644
--- a/src/eva2/optimization/stat/EvAStatisticalEvaluationParams.java
+++ b/src/eva2/optimization/stat/EvAStatisticalEvaluationParams.java
@@ -2,11 +2,11 @@ package eva2.optimization.stat;
import eva2.tools.StringSelection;
+import javax.swing.*;
import java.io.Serializable;
import java.util.List;
-import javax.swing.JButton;
-@eva2.util.annotation.Description(text="Select statistical values to be calculated and tests to be performed.")
+@eva2.util.annotation.Description(text = "Select statistical values to be calculated and tests to be performed.")
public class EvAStatisticalEvaluationParams implements Serializable {
private StringSelection singleStats = new StringSelection(StatsOnSingleDataSetEnum.mean, StatsOnSingleDataSetEnum.getInfoStrings());
diff --git a/src/eva2/optimization/stat/InterfaceStatistics.java b/src/eva2/optimization/stat/InterfaceStatistics.java
index a95f5377..5b48c7fb 100644
--- a/src/eva2/optimization/stat/InterfaceStatistics.java
+++ b/src/eva2/optimization/stat/InterfaceStatistics.java
@@ -1,8 +1,8 @@
package eva2.optimization.stat;
import eva2.optimization.individuals.IndividualInterface;
-import eva2.optimization.population.PopulationInterface;
import eva2.optimization.population.Population;
+import eva2.optimization.population.PopulationInterface;
import eva2.optimization.problems.InterfaceAdditionalPopulationInformer;
import eva2.optimization.strategies.InterfaceOptimizer;
diff --git a/src/eva2/optimization/stat/OptimizationJobList.java b/src/eva2/optimization/stat/OptimizationJobList.java
index d2b025ed..c5d52dc7 100644
--- a/src/eva2/optimization/stat/OptimizationJobList.java
+++ b/src/eva2/optimization/stat/OptimizationJobList.java
@@ -1,17 +1,18 @@
package eva2.optimization.stat;
-import eva2.gui.editor.GenericArrayEditor;
import eva2.gui.JParaPanel;
import eva2.gui.PropertySelectableList;
+import eva2.gui.editor.GenericArrayEditor;
import eva2.optimization.go.InterfaceOptimizationParameters;
-import eva2.optimization.modules.AbstractOptimizationParameters;
-import eva2.optimization.tools.FileTools;
import eva2.optimization.modules.AbstractModuleAdapter;
+import eva2.optimization.modules.AbstractOptimizationParameters;
import eva2.optimization.modules.GenericModuleAdapter;
import eva2.optimization.modules.ModuleAdapter;
+import eva2.optimization.tools.FileTools;
import eva2.tools.Serializer;
-import java.awt.Component;
+import javax.swing.*;
+import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.beans.PropertyEditor;
@@ -20,15 +21,12 @@ import java.io.Serializable;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
-import javax.swing.JComponent;
-import javax.swing.JFileChooser;
-import javax.swing.JOptionPane;
/**
* A selectable list of EvAJobs. Each job contains a OptimizationParameters instance and potentially
* statistical data.
*/
-@eva2.util.annotation.Description(text="Display a set of jobs consisting of a multi-run experiment.")
+@eva2.util.annotation.Description(text = "Display a set of jobs consisting of a multi-run experiment.")
public class OptimizationJobList extends PropertySelectableList implements Serializable, InterfaceTextListener {
List listeners = null;
@@ -41,6 +39,7 @@ public class OptimizationJobList extends PropertySelectableList
public String getName() {
return "Job Set";
}
+
/**
* This adds a new job to the list.
*
diff --git a/src/eva2/optimization/stat/StatisticsDummy.java b/src/eva2/optimization/stat/StatisticsDummy.java
index 6bc30406..90cdf101 100644
--- a/src/eva2/optimization/stat/StatisticsDummy.java
+++ b/src/eva2/optimization/stat/StatisticsDummy.java
@@ -1,9 +1,9 @@
package eva2.optimization.stat;
-import eva2.optimization.individuals.IndividualInterface;
-import eva2.optimization.population.PopulationInterface;
import eva2.optimization.individuals.AbstractEAIndividual;
+import eva2.optimization.individuals.IndividualInterface;
import eva2.optimization.population.Population;
+import eva2.optimization.population.PopulationInterface;
import eva2.optimization.problems.InterfaceAdditionalPopulationInformer;
import eva2.optimization.strategies.InterfaceOptimizer;
diff --git a/src/eva2/optimization/stat/StatisticsParameter.java b/src/eva2/optimization/stat/StatisticsParameter.java
index 4b6afc14..4fd3d1e7 100644
--- a/src/eva2/optimization/stat/StatisticsParameter.java
+++ b/src/eva2/optimization/stat/StatisticsParameter.java
@@ -29,7 +29,7 @@ import java.util.logging.Logger;
*
* @see AbstractStatistics
*/
-@Description(text="Configure statistics and output of the optimization run. Changes to the data selection state will not take effect during a run.")
+@Description(text = "Configure statistics and output of the optimization run. Changes to the data selection state will not take effect during a run.")
public class StatisticsParameter implements InterfaceStatisticsParameter, InterfaceNotifyOnInformers, Serializable {
private static final long serialVersionUID = -8681061379203108390L;
private static final Logger LOGGER = Logger.getLogger(StatisticsParameter.class.getName());
diff --git a/src/eva2/optimization/stat/StatisticsWithGUI.java b/src/eva2/optimization/stat/StatisticsWithGUI.java
index 36347352..4260dc29 100644
--- a/src/eva2/optimization/stat/StatisticsWithGUI.java
+++ b/src/eva2/optimization/stat/StatisticsWithGUI.java
@@ -1,10 +1,10 @@
package eva2.optimization.stat;
import eva2.gui.BeanInspector;
-import eva2.gui.plot.Graph;
-import eva2.gui.plot.GraphWindow;
import eva2.gui.JTextoutputFrame;
import eva2.gui.JTextoutputFrameInterface;
+import eva2.gui.plot.Graph;
+import eva2.gui.plot.GraphWindow;
import eva2.gui.plot.Plot;
import eva2.gui.plot.PlotInterface;
import eva2.optimization.population.PopulationInterface;
diff --git a/src/eva2/optimization/strategies/ANPSO.java b/src/eva2/optimization/strategies/ANPSO.java
index c0e91974..a9a5c266 100644
--- a/src/eva2/optimization/strategies/ANPSO.java
+++ b/src/eva2/optimization/strategies/ANPSO.java
@@ -2,9 +2,8 @@ package eva2.optimization.strategies;
import eva2.OptimizerFactory;
import eva2.gui.editor.GenericObjectEditor;
-import eva2.optimization.go.InterfaceTerminator;
-import eva2.optimization.population.PopulationInterface;
import eva2.optimization.enums.PSOTopologyEnum;
+import eva2.optimization.go.InterfaceTerminator;
import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.individuals.InterfaceDataTypeDouble;
import eva2.optimization.modules.OptimizationParameters;
@@ -13,6 +12,7 @@ import eva2.optimization.operator.paramcontrol.LinearParamAdaption;
import eva2.optimization.operator.paramcontrol.ParamAdaption;
import eva2.optimization.operator.terminators.EvaluationTerminator;
import eva2.optimization.population.Population;
+import eva2.optimization.population.PopulationInterface;
import eva2.optimization.problems.AbstractOptimizationProblem;
import eva2.optimization.problems.Interface2DBorderProblem;
import eva2.optimization.problems.InterfaceAdditionalPopulationInformer;
@@ -1104,7 +1104,7 @@ public class ANPSO extends NichePSO implements InterfaceOptimizer, InterfaceAddi
}
/*
- public String[] getAdditionalDataHeader(PopulationInterface pop) {
+ public String[] getAdditionalDataHeader(PopulationInterface pop) {
return new String[]{"mainSwarmSize","numActSpec","numArchived", "archivedMedCorr"};
}
diff --git a/src/eva2/optimization/strategies/BOA.java b/src/eva2/optimization/strategies/BOA.java
index c7ded507..b17ffbce 100644
--- a/src/eva2/optimization/strategies/BOA.java
+++ b/src/eva2/optimization/strategies/BOA.java
@@ -1,8 +1,8 @@
package eva2.optimization.strategies;
import eva2.gui.BeanInspector;
-import eva2.optimization.go.InterfacePopulationChangedEventListener;
import eva2.optimization.enums.BOAScoringMethods;
+import eva2.optimization.go.InterfacePopulationChangedEventListener;
import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.individuals.GAIndividualBinaryData;
import eva2.optimization.individuals.InterfaceDataTypeBinary;
@@ -18,12 +18,7 @@ import eva2.tools.math.BayNet;
import eva2.tools.math.RNG;
import eva2.util.annotation.Description;
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.io.Writer;
+import java.io.*;
import java.text.DateFormat;
import java.util.BitSet;
import java.util.Date;
@@ -42,7 +37,7 @@ import java.util.logging.Logger;
*
* @author seitz
*/
-@Description(text="Basic implementation of the Bayesian Optimization Algorithm based on the works by Martin Pelikan and David E. Goldberg.")
+@Description(text = "Basic implementation of the Bayesian Optimization Algorithm based on the works by Martin Pelikan and David E. Goldberg.")
public class BOA implements InterfaceOptimizer, java.io.Serializable {
private static final Logger LOGGER = Logger.getLogger(BOA.class.getName());
transient private InterfacePopulationChangedEventListener m_Listener = null;
diff --git a/src/eva2/optimization/strategies/BinaryScatterSearch.java b/src/eva2/optimization/strategies/BinaryScatterSearch.java
index 5699caf1..f1616af9 100644
--- a/src/eva2/optimization/strategies/BinaryScatterSearch.java
+++ b/src/eva2/optimization/strategies/BinaryScatterSearch.java
@@ -5,14 +5,7 @@ import eva2.optimization.go.InterfacePopulationChangedEventListener;
import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.individuals.InterfaceDataTypeBinary;
import eva2.optimization.individuals.InterfaceGAIndividual;
-import eva2.optimization.operator.crossover.AdaptiveCrossoverEAMixer;
-import eva2.optimization.operator.crossover.CM1;
-import eva2.optimization.operator.crossover.CM2;
-import eva2.optimization.operator.crossover.CM3;
-import eva2.optimization.operator.crossover.CM4;
-import eva2.optimization.operator.crossover.CM5;
-import eva2.optimization.operator.crossover.CM6;
-import eva2.optimization.operator.crossover.CM7;
+import eva2.optimization.operator.crossover.*;
import eva2.optimization.operator.distancemetric.GenotypeMetricBitSet;
import eva2.optimization.population.InterfaceSolutionSet;
import eva2.optimization.population.Population;
diff --git a/src/eva2/optimization/strategies/CBNPSO.java b/src/eva2/optimization/strategies/CBNPSO.java
index e2467996..8354a052 100644
--- a/src/eva2/optimization/strategies/CBNPSO.java
+++ b/src/eva2/optimization/strategies/CBNPSO.java
@@ -1,6 +1,5 @@
package eva2.optimization.strategies;
-import eva2.optimization.population.PopulationInterface;
import eva2.optimization.enums.PSOTopologyEnum;
import eva2.optimization.operator.cluster.ClusteringDensityBased;
import eva2.optimization.operator.distancemetric.IndividualDataMetric;
@@ -9,6 +8,7 @@ import eva2.optimization.operator.paramcontrol.LinearParamAdaption;
import eva2.optimization.operator.paramcontrol.ParamAdaption;
import eva2.optimization.operator.paramcontrol.SinusoidalParamAdaption;
import eva2.optimization.population.Population;
+import eva2.optimization.population.PopulationInterface;
import eva2.optimization.population.SolutionSet;
import eva2.optimization.problems.AbstractProblemDouble;
import eva2.optimization.problems.InterfaceInterestingHistogram;
diff --git a/src/eva2/optimization/strategies/ClusterBasedNichingEA.java b/src/eva2/optimization/strategies/ClusterBasedNichingEA.java
index 3d9c8d3b..9c6a0c16 100644
--- a/src/eva2/optimization/strategies/ClusterBasedNichingEA.java
+++ b/src/eva2/optimization/strategies/ClusterBasedNichingEA.java
@@ -7,7 +7,6 @@ import eva2.gui.plot.Plot;
import eva2.gui.plot.TopoPlot;
import eva2.optimization.go.InterfacePopulationChangedEventListener;
import eva2.optimization.go.InterfaceTerminator;
-import eva2.optimization.population.PopulationInterface;
import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.individuals.AbstractEAIndividualComparator;
import eva2.optimization.individuals.InterfaceDataTypeDouble;
@@ -21,26 +20,14 @@ import eva2.optimization.operator.paramcontrol.ParamAdaption;
import eva2.optimization.operator.paramcontrol.ParameterControlManager;
import eva2.optimization.operator.terminators.HistoryConvergenceTerminator;
import eva2.optimization.population.Population;
+import eva2.optimization.population.PopulationInterface;
import eva2.optimization.population.SolutionSet;
-import eva2.optimization.problems.B1Problem;
-import eva2.optimization.problems.Interface2DBorderProblem;
-import eva2.optimization.problems.InterfaceAdditionalPopulationInformer;
-import eva2.optimization.problems.InterfaceOptimizationProblem;
-import eva2.optimization.problems.InterfaceProblemDouble;
-import eva2.optimization.problems.TF1Problem;
+import eva2.optimization.problems.*;
import eva2.tools.EVAERROR;
-import eva2.tools.chart2d.Chart2DDPointIconCircle;
-import eva2.tools.chart2d.Chart2DDPointIconText;
-import eva2.tools.chart2d.DPoint;
-import eva2.tools.chart2d.DPointIcon;
-import eva2.tools.chart2d.DPointSet;
+import eva2.tools.chart2d.*;
import eva2.tools.math.Mathematics;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.PriorityQueue;
+import java.util.*;
/**
* The infamous clustering based niching EA, still under construction. It should
diff --git a/src/eva2/optimization/strategies/ClusteringHillClimbing.java b/src/eva2/optimization/strategies/ClusteringHillClimbing.java
index 46ab9cc6..d83b433a 100644
--- a/src/eva2/optimization/strategies/ClusteringHillClimbing.java
+++ b/src/eva2/optimization/strategies/ClusteringHillClimbing.java
@@ -1,13 +1,13 @@
package eva2.optimization.strategies;
import eva2.gui.editor.GenericObjectEditor;
-import eva2.optimization.go.InterfacePopulationChangedEventListener;
-import eva2.optimization.population.PopulationInterface;
import eva2.optimization.enums.PostProcessMethod;
+import eva2.optimization.go.InterfacePopulationChangedEventListener;
import eva2.optimization.operator.mutation.MutateESFixedStepSize;
import eva2.optimization.operator.postprocess.PostProcess;
import eva2.optimization.population.InterfaceSolutionSet;
import eva2.optimization.population.Population;
+import eva2.optimization.population.PopulationInterface;
import eva2.optimization.population.SolutionSet;
import eva2.optimization.problems.AbstractOptimizationProblem;
import eva2.optimization.problems.F1Problem;
diff --git a/src/eva2/optimization/strategies/DifferentialEvolution.java b/src/eva2/optimization/strategies/DifferentialEvolution.java
index 48a585f8..7013740d 100644
--- a/src/eva2/optimization/strategies/DifferentialEvolution.java
+++ b/src/eva2/optimization/strategies/DifferentialEvolution.java
@@ -2,8 +2,8 @@ package eva2.optimization.strategies;
import eva2.gui.BeanInspector;
import eva2.gui.editor.GenericObjectEditor;
-import eva2.optimization.go.InterfacePopulationChangedEventListener;
import eva2.optimization.enums.DETypeEnum;
+import eva2.optimization.go.InterfacePopulationChangedEventListener;
import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.individuals.InterfaceDataTypeDouble;
import eva2.optimization.operator.selection.replacement.ReplacementCrowding;
@@ -31,7 +31,7 @@ import java.util.Vector;
* dynamically changing problems. If an individual reaches the age limit, it is
* doomed and replaced by the next challenge vector, even if its worse.
*/
-@Description(text="Differential Evolution using a steady-state population scheme.")
+@Description(text = "Differential Evolution using a steady-state population scheme.")
public class DifferentialEvolution implements InterfaceOptimizer, java.io.Serializable {
protected Population population = new Population();
diff --git a/src/eva2/optimization/strategies/EsDpiNiching.java b/src/eva2/optimization/strategies/EsDpiNiching.java
index 528e46ab..aaa5b08d 100644
--- a/src/eva2/optimization/strategies/EsDpiNiching.java
+++ b/src/eva2/optimization/strategies/EsDpiNiching.java
@@ -3,7 +3,6 @@ package eva2.optimization.strategies;
import eva2.gui.editor.GenericObjectEditor;
import eva2.gui.plot.TopoPlot;
import eva2.optimization.go.InterfacePopulationChangedEventListener;
-import eva2.optimization.population.PopulationInterface;
import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.individuals.InterfaceDataTypeDouble;
import eva2.optimization.operator.cluster.ClusteringDynPeakIdent;
@@ -14,14 +13,11 @@ import eva2.optimization.operator.distancemetric.PhenotypeMetric;
import eva2.optimization.operator.mutation.InterfaceAdaptOperatorGenerational;
import eva2.optimization.operator.paramcontrol.ParamAdaption;
import eva2.optimization.operator.paramcontrol.ParameterControlManager;
-import eva2.optimization.operator.selection.InterfaceSelection;
-import eva2.optimization.operator.selection.SelectBestIndividuals;
-import eva2.optimization.operator.selection.SelectBestSingle;
-import eva2.optimization.operator.selection.SelectRandom;
-import eva2.optimization.operator.selection.SelectTournament;
+import eva2.optimization.operator.selection.*;
import eva2.optimization.operator.terminators.HistoryConvergenceTerminator;
import eva2.optimization.population.InterfaceSolutionSet;
import eva2.optimization.population.Population;
+import eva2.optimization.population.PopulationInterface;
import eva2.optimization.population.SolutionSet;
import eva2.optimization.problems.Interface2DBorderProblem;
import eva2.optimization.problems.InterfaceAdditionalPopulationInformer;
diff --git a/src/eva2/optimization/strategies/EvolutionStrategyIPOP.java b/src/eva2/optimization/strategies/EvolutionStrategyIPOP.java
index d3b14357..11daf62a 100644
--- a/src/eva2/optimization/strategies/EvolutionStrategyIPOP.java
+++ b/src/eva2/optimization/strategies/EvolutionStrategyIPOP.java
@@ -3,7 +3,6 @@ package eva2.optimization.strategies;
import eva2.gui.editor.GenericObjectEditor;
import eva2.optimization.go.InterfacePopulationChangedEventListener;
import eva2.optimization.go.InterfaceTerminator;
-import eva2.optimization.population.PopulationInterface;
import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.operator.mutation.MutateESRankMuCMA;
import eva2.optimization.operator.terminators.FitnessConvergenceTerminator;
@@ -11,6 +10,7 @@ import eva2.optimization.operator.terminators.PopulationMeasureTerminator.Change
import eva2.optimization.operator.terminators.PopulationMeasureTerminator.DirectionTypeEnum;
import eva2.optimization.operator.terminators.PopulationMeasureTerminator.StagnationTypeEnum;
import eva2.optimization.population.Population;
+import eva2.optimization.population.PopulationInterface;
import eva2.optimization.population.SolutionSet;
import eva2.optimization.problems.InterfaceAdditionalPopulationInformer;
diff --git a/src/eva2/optimization/strategies/GeneticAlgorithm.java b/src/eva2/optimization/strategies/GeneticAlgorithm.java
index f26436ef..7d337026 100644
--- a/src/eva2/optimization/strategies/GeneticAlgorithm.java
+++ b/src/eva2/optimization/strategies/GeneticAlgorithm.java
@@ -19,7 +19,7 @@ import eva2.util.annotation.Description;
* global to a more local search. But you have to be careful with that else the
* GA might not converge. This is a implementation of Genetic Algorithms.
*/
-@Description(text="This is a basic generational Genetic Algorithm.")
+@Description(text = "This is a basic generational Genetic Algorithm.")
public class GeneticAlgorithm implements InterfaceOptimizer, java.io.Serializable {
private Population population = new Population();
diff --git a/src/eva2/optimization/strategies/IslandModelEA.java b/src/eva2/optimization/strategies/IslandModelEA.java
index a29f8c92..1c1f4bbc 100644
--- a/src/eva2/optimization/strategies/IslandModelEA.java
+++ b/src/eva2/optimization/strategies/IslandModelEA.java
@@ -4,11 +4,7 @@ import eva2.gui.BeanInspector;
import eva2.gui.plot.Plot;
import eva2.optimization.go.InterfacePopulationChangedEventListener;
import eva2.optimization.individuals.ESIndividualDoubleData;
-import eva2.optimization.operator.migration.InterfaceMigration;
-import eva2.optimization.operator.migration.MOBestMigration;
-import eva2.optimization.operator.migration.MOClusteringSeparation;
-import eva2.optimization.operator.migration.MOConeSeparation;
-import eva2.optimization.operator.migration.SOBestMigration;
+import eva2.optimization.operator.migration.*;
import eva2.optimization.population.InterfaceSolutionSet;
import eva2.optimization.population.Population;
import eva2.optimization.population.SolutionSet;
diff --git a/src/eva2/optimization/strategies/NicheGraph.java b/src/eva2/optimization/strategies/NicheGraph.java
index 3b3447d3..c359b7cc 100644
--- a/src/eva2/optimization/strategies/NicheGraph.java
+++ b/src/eva2/optimization/strategies/NicheGraph.java
@@ -1,12 +1,6 @@
package eva2.optimization.strategies;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Set;
-import java.util.TreeMap;
-import java.util.TreeSet;
+import java.util.*;
/**
* This is a small implementation of an undirected graph which is able
diff --git a/src/eva2/optimization/strategies/NichePSO.java b/src/eva2/optimization/strategies/NichePSO.java
index 94719ced..c0f6a1a4 100644
--- a/src/eva2/optimization/strategies/NichePSO.java
+++ b/src/eva2/optimization/strategies/NichePSO.java
@@ -3,10 +3,9 @@ package eva2.optimization.strategies;
import eva2.OptimizerFactory;
import eva2.gui.editor.GenericObjectEditor;
import eva2.gui.plot.TopoPlot;
+import eva2.optimization.enums.PSOTopologyEnum;
import eva2.optimization.go.InterfacePopulationChangedEventListener;
import eva2.optimization.go.InterfaceTerminator;
-import eva2.optimization.population.PopulationInterface;
-import eva2.optimization.enums.PSOTopologyEnum;
import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.individuals.InterfaceDataTypeDouble;
import eva2.optimization.modules.OptimizationParameters;
@@ -25,32 +24,14 @@ import eva2.optimization.operator.paramcontrol.ParamAdaption;
import eva2.optimization.operator.paramcontrol.ParameterControlManager;
import eva2.optimization.operator.terminators.EvaluationTerminator;
import eva2.optimization.population.Population;
+import eva2.optimization.population.PopulationInterface;
import eva2.optimization.population.SolutionSet;
-import eva2.optimization.problems.AbstractOptimizationProblem;
-import eva2.optimization.problems.FM0Problem;
-import eva2.optimization.problems.Interface2DBorderProblem;
-import eva2.optimization.problems.InterfaceAdditionalPopulationInformer;
-import eva2.optimization.problems.InterfaceMultimodalProblem;
-import eva2.optimization.problems.InterfaceMultimodalProblemKnown;
-import eva2.optimization.problems.InterfaceOptimizationProblem;
+import eva2.optimization.problems.*;
import eva2.tools.SelectedTag;
-import eva2.tools.chart2d.Chart2DDPointIconCircle;
-import eva2.tools.chart2d.Chart2DDPointIconContent;
-import eva2.tools.chart2d.Chart2DDPointIconCross;
-import eva2.tools.chart2d.Chart2DDPointIconPoint;
-import eva2.tools.chart2d.Chart2DDPointIconText;
-import eva2.tools.chart2d.DElement;
-import eva2.tools.chart2d.DPoint;
-import eva2.tools.chart2d.DPointIcon;
-import eva2.tools.chart2d.DPointSet;
+import eva2.tools.chart2d.*;
import eva2.util.annotation.Description;
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.OutputStreamWriter;
+import java.io.*;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
@@ -94,7 +75,7 @@ import java.util.Vector;
* Yilmaz. Particle Swarms for Multimodal Optimization. In: ICANNGA (1), Seiten
* 366�375, 2007
*/
-@Description(text="A Niching Particle Swarm Optimizer")
+@Description(text = "A Niching Particle Swarm Optimizer")
public class NichePSO implements InterfaceAdditionalPopulationInformer, InterfaceOptimizer, java.io.Serializable {
/**
diff --git a/src/eva2/optimization/strategies/PDDifferentialEvolution.java b/src/eva2/optimization/strategies/PDDifferentialEvolution.java
index ba41cf5e..963d3562 100644
--- a/src/eva2/optimization/strategies/PDDifferentialEvolution.java
+++ b/src/eva2/optimization/strategies/PDDifferentialEvolution.java
@@ -2,8 +2,8 @@ package eva2.optimization.strategies;
import eva2.gui.BeanInspector;
import eva2.gui.editor.GenericObjectEditor;
-import eva2.optimization.go.InterfacePopulationChangedEventListener;
import eva2.optimization.enums.DETypeEnum;
+import eva2.optimization.go.InterfacePopulationChangedEventListener;
import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.individuals.InterfaceDataTypeDouble;
import eva2.optimization.operator.selection.replacement.ReplacementCrowding;
diff --git a/src/eva2/optimization/strategies/ParticleSubSwarmOptimization.java b/src/eva2/optimization/strategies/ParticleSubSwarmOptimization.java
index 7093b729..5d7cce23 100644
--- a/src/eva2/optimization/strategies/ParticleSubSwarmOptimization.java
+++ b/src/eva2/optimization/strategies/ParticleSubSwarmOptimization.java
@@ -1,8 +1,8 @@
package eva2.optimization.strategies;
-import eva2.optimization.individuals.IndividualInterface;
import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.individuals.ESIndividualDoubleData;
+import eva2.optimization.individuals.IndividualInterface;
import eva2.optimization.individuals.InterfaceDataTypeDouble;
import eva2.optimization.operator.distancemetric.EuclideanMetric;
import eva2.optimization.population.Population;
diff --git a/src/eva2/optimization/strategies/ParticleSwarmOptimization.java b/src/eva2/optimization/strategies/ParticleSwarmOptimization.java
index 2ef412b9..173d05e7 100644
--- a/src/eva2/optimization/strategies/ParticleSwarmOptimization.java
+++ b/src/eva2/optimization/strategies/ParticleSwarmOptimization.java
@@ -1,17 +1,11 @@
package eva2.optimization.strategies;
-import eva2.gui.plot.Plot;
-import eva2.optimization.problems.F1Problem;
-import eva2.optimization.problems.InterfaceOptimizationProblem;
-import eva2.optimization.problems.InterfaceProblemDouble;
-import eva2.optimization.problems.InterfaceAdditionalPopulationInformer;
-import eva2.optimization.problems.Interface2DBorderProblem;
import eva2.gui.BeanInspector;
import eva2.gui.editor.GenericObjectEditor;
+import eva2.gui.plot.Plot;
import eva2.gui.plot.TopoPlot;
-import eva2.optimization.go.InterfacePopulationChangedEventListener;
-import eva2.optimization.population.PopulationInterface;
import eva2.optimization.enums.PSOTopologyEnum;
+import eva2.optimization.go.InterfacePopulationChangedEventListener;
import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.individuals.AbstractEAIndividualComparator;
import eva2.optimization.individuals.InterfaceDataTypeDouble;
@@ -20,7 +14,9 @@ import eva2.optimization.operator.paramcontrol.ParamAdaption;
import eva2.optimization.operator.paramcontrol.ParameterControlManager;
import eva2.optimization.population.InterfaceSolutionSet;
import eva2.optimization.population.Population;
+import eva2.optimization.population.PopulationInterface;
import eva2.optimization.population.SolutionSet;
+import eva2.optimization.problems.*;
import eva2.tools.SelectedTag;
import eva2.tools.chart2d.DPoint;
import eva2.tools.chart2d.DPointSet;
diff --git a/src/eva2/optimization/strategies/tribes/TribesPosition.java b/src/eva2/optimization/strategies/tribes/TribesPosition.java
index 3b02bd8f..1e697a7f 100644
--- a/src/eva2/optimization/strategies/tribes/TribesPosition.java
+++ b/src/eva2/optimization/strategies/tribes/TribesPosition.java
@@ -880,7 +880,7 @@ public class TribesPosition implements java.io.Serializable {
public double calcTotalError(double objectiveFirstDim, double[] fitness) {
/*
- Take into account the objective value in the first dimension.
+ Take into account the objective value in the first dimension.
*/
double t = Math.abs(fitness[0] - objectiveFirstDim);
diff --git a/src/eva2/optimization/strategies/tribes/TribesSwarm.java b/src/eva2/optimization/strategies/tribes/TribesSwarm.java
index 6a524ee8..65cd15db 100644
--- a/src/eva2/optimization/strategies/tribes/TribesSwarm.java
+++ b/src/eva2/optimization/strategies/tribes/TribesSwarm.java
@@ -690,7 +690,7 @@ public class TribesSwarm implements java.io.Serializable {
}
if (option == 1) {
/* On the boundary of the search space
- For some dimensions, set the coordinate to the min or the max
+ For some dimensions, set the coordinate to the min or the max
*/
dmax = RNG.randomInt(D); // For a random number of dimensions
// dmax=D-1; // For all dimensions
diff --git a/src/eva2/optimization/tools/AbstractObjectEditor.java b/src/eva2/optimization/tools/AbstractObjectEditor.java
index 86fe811e..4d24ecca 100644
--- a/src/eva2/optimization/tools/AbstractObjectEditor.java
+++ b/src/eva2/optimization/tools/AbstractObjectEditor.java
@@ -1,16 +1,19 @@
package eva2.optimization.tools;
-import eva2.gui.*;
+import eva2.gui.BeanInspector;
+import eva2.gui.HtmlDemo;
+import eva2.gui.PropertyEditorProvider;
+import eva2.gui.PropertySheetPanel;
import eva2.gui.editor.GenericObjectEditor;
import eva2.tools.EVAHELP;
+import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.beans.*;
import java.util.Hashtable;
-import javax.swing.*;
/**
* TODO
diff --git a/src/eva2/optimization/tools/FileTools.java b/src/eva2/optimization/tools/FileTools.java
index 565fa209..b6ceb07f 100644
--- a/src/eva2/optimization/tools/FileTools.java
+++ b/src/eva2/optimization/tools/FileTools.java
@@ -4,21 +4,10 @@ import eva2.gui.BeanInspector;
import eva2.tools.BasicResourceLoader;
import eva2.tools.StringTools;
-import java.awt.Component;
-import java.io.BufferedInputStream;
-import java.io.BufferedOutputStream;
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.FileReader;
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
-import java.io.PrintWriter;
+import javax.swing.*;
+import java.awt.*;
+import java.io.*;
import java.util.ArrayList;
-import javax.swing.JFileChooser;
-import javax.swing.JOptionPane;
/**
diff --git a/src/eva2/optimization/tools/GeneralGEOFaker.java b/src/eva2/optimization/tools/GeneralGEOFaker.java
index 35626bbb..96f0626f 100644
--- a/src/eva2/optimization/tools/GeneralGEOFaker.java
+++ b/src/eva2/optimization/tools/GeneralGEOFaker.java
@@ -1,11 +1,11 @@
package eva2.optimization.tools;
+import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.beans.PropertyEditor;
import java.io.*;
-import javax.swing.*;
/**
* Created by IntelliJ IDEA.
diff --git a/src/eva2/optimization/tools/GeneralGenericObjectEditorPanel.java b/src/eva2/optimization/tools/GeneralGenericObjectEditorPanel.java
index 936706f5..b2fdd514 100644
--- a/src/eva2/optimization/tools/GeneralGenericObjectEditorPanel.java
+++ b/src/eva2/optimization/tools/GeneralGenericObjectEditorPanel.java
@@ -4,6 +4,7 @@ package eva2.optimization.tools;
import eva2.gui.editor.GenericObjectEditor;
import eva2.tools.EVAHELP;
+import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
@@ -13,7 +14,6 @@ import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.io.*;
import java.util.ArrayList;
-import javax.swing.*;
/**
* Created by IntelliJ IDEA.
diff --git a/src/eva2/optimization/tools/GeneralOptimizationEditorProperty.java b/src/eva2/optimization/tools/GeneralOptimizationEditorProperty.java
index 76ff1ae1..7ff95c47 100644
--- a/src/eva2/optimization/tools/GeneralOptimizationEditorProperty.java
+++ b/src/eva2/optimization/tools/GeneralOptimizationEditorProperty.java
@@ -1,8 +1,8 @@
package eva2.optimization.tools;
+import javax.swing.*;
import java.beans.PropertyEditor;
import java.lang.reflect.Method;
-import javax.swing.*;
/**
* Representation of an OptimizationEditor Property
diff --git a/src/eva2/optimization/tools/TestingDArea.java b/src/eva2/optimization/tools/TestingDArea.java
index e3d59a2d..36af5659 100644
--- a/src/eva2/optimization/tools/TestingDArea.java
+++ b/src/eva2/optimization/tools/TestingDArea.java
@@ -1,9 +1,12 @@
package eva2.optimization.tools;
-import eva2.tools.chart2d.*;
+import eva2.tools.chart2d.DArea;
+import eva2.tools.chart2d.DPointSet;
+import eva2.tools.chart2d.DRectangle;
+import eva2.tools.chart2d.ScaledBorder;
-import java.awt.*;
import javax.swing.*;
+import java.awt.*;
/**
*
diff --git a/src/eva2/tools/BasicResourceLoader.java b/src/eva2/tools/BasicResourceLoader.java
index 7ca35112..b8ce3700 100644
--- a/src/eva2/tools/BasicResourceLoader.java
+++ b/src/eva2/tools/BasicResourceLoader.java
@@ -28,14 +28,7 @@ package eva2.tools;
import eva2.EvAInfo;
-import java.io.BufferedInputStream;
-import java.io.ByteArrayInputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.LineNumberReader;
+import java.io.*;
import java.net.URL;
import java.util.ArrayList;
import java.util.Enumeration;
diff --git a/src/eva2/tools/JPasswordDialog.java b/src/eva2/tools/JPasswordDialog.java
index 53898590..cdea9282 100644
--- a/src/eva2/tools/JPasswordDialog.java
+++ b/src/eva2/tools/JPasswordDialog.java
@@ -1,11 +1,9 @@
package eva2.tools;
-import java.awt.Frame;
-import java.awt.GridBagConstraints;
-import java.awt.GridBagLayout;
+import javax.swing.*;
+import java.awt.*;
import java.awt.event.*;
import java.util.ResourceBundle;
-import javax.swing.*;
/**
* A modal dialog that asks the user for a user name and password.
diff --git a/src/eva2/tools/JarResources.java b/src/eva2/tools/JarResources.java
index 46ba8464..682e498a 100644
--- a/src/eva2/tools/JarResources.java
+++ b/src/eva2/tools/JarResources.java
@@ -13,9 +13,15 @@ package eva2.tools;
* IMPORTS
*==========================================================================*/
-import java.io.*;
-import java.util.*;
-import java.util.zip.*;
+import java.io.BufferedInputStream;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.util.Enumeration;
+import java.util.Hashtable;
+import java.util.zip.ZipEntry;
+import java.util.zip.ZipFile;
+import java.util.zip.ZipInputStream;
/**
* JarResources: JarResources maps all resources included in a
diff --git a/src/eva2/tools/MultirunRefiner.java b/src/eva2/tools/MultirunRefiner.java
index 89fde44a..e480e71e 100644
--- a/src/eva2/tools/MultirunRefiner.java
+++ b/src/eva2/tools/MultirunRefiner.java
@@ -6,11 +6,15 @@
package eva2.tools;
-import java.awt.*;
-import java.awt.event.*;
-import java.io.*;
-import java.util.*;
import javax.swing.*;
+import java.awt.*;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
+import java.io.*;
+import java.util.ArrayList;
+import java.util.Vector;
/**
* MultirunRefiner
diff --git a/src/eva2/tools/ReflectPackage.java b/src/eva2/tools/ReflectPackage.java
index 710c84da..1bf07e20 100644
--- a/src/eva2/tools/ReflectPackage.java
+++ b/src/eva2/tools/ReflectPackage.java
@@ -2,6 +2,8 @@ package eva2.tools;
import eva2.gui.BeanInspector;
+import javax.management.MBeanServer;
+import javax.management.ObjectName;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
@@ -10,15 +12,9 @@ import java.lang.management.ManagementFactory;
import java.lang.reflect.Constructor;
import java.net.URISyntaxException;
import java.net.URL;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Comparator;
-import java.util.HashSet;
-import java.util.List;
+import java.util.*;
import java.util.jar.JarEntry;
import java.util.jar.JarInputStream;
-import javax.management.MBeanServer;
-import javax.management.ObjectName;
/**
diff --git a/src/eva2/tools/SerializedObject.java b/src/eva2/tools/SerializedObject.java
index 6c0dd5f2..e580e5ec 100644
--- a/src/eva2/tools/SerializedObject.java
+++ b/src/eva2/tools/SerializedObject.java
@@ -1,15 +1,6 @@
package eva2.tools;
-import java.io.BufferedInputStream;
-import java.io.BufferedOutputStream;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
-import java.io.OutputStream;
-import java.io.Serializable;
+import java.io.*;
import java.util.zip.GZIPInputStream;
import java.util.zip.GZIPOutputStream;
diff --git a/src/eva2/tools/Serializer.java b/src/eva2/tools/Serializer.java
index 31036e77..12d361f7 100644
--- a/src/eva2/tools/Serializer.java
+++ b/src/eva2/tools/Serializer.java
@@ -4,8 +4,6 @@ import java.io.*;
import java.util.logging.Level;
import java.util.logging.Logger;
-import com.google.gson.*;
-
/**
* This class defines utility routines that use Java serialization. Any
* serializable object can be stored to a file, loaded, and cloned (returning a
diff --git a/src/eva2/tools/StringSelection.java b/src/eva2/tools/StringSelection.java
index 118ad131..d0c876c2 100644
--- a/src/eva2/tools/StringSelection.java
+++ b/src/eva2/tools/StringSelection.java
@@ -3,11 +3,7 @@ package eva2.tools;
import eva2.gui.BeanInspector;
import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
+import java.util.*;
/**
* An array of Strings that can be selected and deselected. May be created directly from an Enum.
diff --git a/src/eva2/tools/ToolBoxGui.java b/src/eva2/tools/ToolBoxGui.java
index dbe9110d..0ba416ef 100644
--- a/src/eva2/tools/ToolBoxGui.java
+++ b/src/eva2/tools/ToolBoxGui.java
@@ -1,8 +1,7 @@
package eva2.tools;
-import java.awt.Component;
-import java.awt.Toolkit;
import javax.swing.*;
+import java.awt.*;
/**
* Some helper methods connected to the GUI.
diff --git a/src/eva2/tools/URLGetter.java b/src/eva2/tools/URLGetter.java
index 34a1344b..32a70fe9 100644
--- a/src/eva2/tools/URLGetter.java
+++ b/src/eva2/tools/URLGetter.java
@@ -2,7 +2,8 @@ package eva2.tools;
import java.io.BufferedReader;
import java.io.InputStreamReader;
-import java.net.*;
+import java.net.URL;
+import java.net.URLConnection;
/**
* Title: EvA2
diff --git a/src/eva2/tools/chart2d/Chart2DDPointContentSelectable.java b/src/eva2/tools/chart2d/Chart2DDPointContentSelectable.java
index cebf17ee..2d40bc6b 100644
--- a/src/eva2/tools/chart2d/Chart2DDPointContentSelectable.java
+++ b/src/eva2/tools/chart2d/Chart2DDPointContentSelectable.java
@@ -1,16 +1,16 @@
package eva2.tools.chart2d;
-import eva2.gui.plot.InterfaceDPointWithContent;
import eva2.gui.InterfaceSelectablePointIcon;
+import eva2.gui.plot.InterfaceDPointWithContent;
import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.mocco.paretofrontviewer.InterfaceRefSolutionListener;
import eva2.optimization.problems.InterfaceOptimizationProblem;
+import javax.swing.*;
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
-import javax.swing.*;
/**
* Created by IntelliJ IDEA.
diff --git a/src/eva2/tools/chart2d/Chart2DDPointIconContent.java b/src/eva2/tools/chart2d/Chart2DDPointIconContent.java
index 5e33e522..396dafbc 100644
--- a/src/eva2/tools/chart2d/Chart2DDPointIconContent.java
+++ b/src/eva2/tools/chart2d/Chart2DDPointIconContent.java
@@ -5,10 +5,10 @@ import eva2.gui.plot.InterfaceDPointWithContent;
import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.problems.InterfaceOptimizationProblem;
+import javax.swing.*;
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
-import javax.swing.*;
/**
* Created by IntelliJ IDEA.
diff --git a/src/eva2/tools/chart2d/DArea.java b/src/eva2/tools/chart2d/DArea.java
index f31721e8..1c0b3a11 100644
--- a/src/eva2/tools/chart2d/DArea.java
+++ b/src/eva2/tools/chart2d/DArea.java
@@ -14,15 +14,11 @@ package eva2.tools.chart2d;
import eva2.tools.print.PagePrinter;
-import java.awt.Color;
-import java.awt.Dimension;
-import java.awt.FontMetrics;
-import java.awt.Graphics;
-import java.awt.Point;
+import javax.swing.*;
+import javax.swing.border.Border;
+import java.awt.*;
import java.awt.print.PageFormat;
import java.awt.print.Printable;
-import javax.swing.JComponent;
-import javax.swing.border.Border;
/**
* DArea is the crossing of the JComponent
s and the
diff --git a/src/eva2/tools/chart2d/DBorder.java b/src/eva2/tools/chart2d/DBorder.java
index 288064ee..31b427ea 100644
--- a/src/eva2/tools/chart2d/DBorder.java
+++ b/src/eva2/tools/chart2d/DBorder.java
@@ -11,7 +11,7 @@
*/
package eva2.tools.chart2d;
-import java.awt.Insets;
+import java.awt.*;
public class DBorder extends Insets {
diff --git a/src/eva2/tools/chart2d/DComponent.java b/src/eva2/tools/chart2d/DComponent.java
index 2880979c..2c763a14 100644
--- a/src/eva2/tools/chart2d/DComponent.java
+++ b/src/eva2/tools/chart2d/DComponent.java
@@ -16,7 +16,7 @@ package eva2.tools.chart2d;
* IMPORTS
*==========================================================================*/
-import java.awt.Color;
+import java.awt.*;
/*==========================================================================*
* CLASS DECLARATION
diff --git a/src/eva2/tools/chart2d/DContainer.java b/src/eva2/tools/chart2d/DContainer.java
index 4d5f93f4..4e2b995e 100644
--- a/src/eva2/tools/chart2d/DContainer.java
+++ b/src/eva2/tools/chart2d/DContainer.java
@@ -16,7 +16,7 @@ package eva2.tools.chart2d;
* IMPORTS
*==========================================================================*/
-import java.awt.Color;
+import java.awt.*;
import java.util.Vector;
/*==========================================================================*
diff --git a/src/eva2/tools/chart2d/DElement.java b/src/eva2/tools/chart2d/DElement.java
index c418bab4..70fb2302 100644
--- a/src/eva2/tools/chart2d/DElement.java
+++ b/src/eva2/tools/chart2d/DElement.java
@@ -16,7 +16,7 @@ package eva2.tools.chart2d;
* IMPORTS
*==========================================================================*/
-import java.awt.Color;
+import java.awt.*;
/*==========================================================================*
* INTERFACE DECLARATION
diff --git a/src/eva2/tools/chart2d/DFunction.java b/src/eva2/tools/chart2d/DFunction.java
index 15608c49..3e86e7a5 100644
--- a/src/eva2/tools/chart2d/DFunction.java
+++ b/src/eva2/tools/chart2d/DFunction.java
@@ -16,8 +16,7 @@ package eva2.tools.chart2d;
* IMPORTS
*==========================================================================*/
-import java.awt.Graphics;
-import java.awt.Point;
+import java.awt.*;
/*==========================================================================*
* ABSTRACT CLASS DECLARATION
diff --git a/src/eva2/tools/chart2d/DGrid.java b/src/eva2/tools/chart2d/DGrid.java
index 2bfa3709..fd318705 100644
--- a/src/eva2/tools/chart2d/DGrid.java
+++ b/src/eva2/tools/chart2d/DGrid.java
@@ -18,8 +18,7 @@ package eva2.tools.chart2d;
import eva2.tools.math.Mathematics;
-import java.awt.Color;
-import java.awt.Graphics;
+import java.awt.*;
/*==========================================================================*
* CLASS DECLARATION
diff --git a/src/eva2/tools/chart2d/DMeasures.java b/src/eva2/tools/chart2d/DMeasures.java
index 43318bff..b5d55ab7 100644
--- a/src/eva2/tools/chart2d/DMeasures.java
+++ b/src/eva2/tools/chart2d/DMeasures.java
@@ -1,10 +1,6 @@
package eva2.tools.chart2d;
-import java.awt.Component;
-import java.awt.Dimension;
-import java.awt.Graphics;
-import java.awt.Insets;
-import java.awt.Point;
+import java.awt.*;
import java.io.Serializable;
/**
diff --git a/src/eva2/tools/chart2d/DPointIcon.java b/src/eva2/tools/chart2d/DPointIcon.java
index f1b826a5..e66e6932 100644
--- a/src/eva2/tools/chart2d/DPointIcon.java
+++ b/src/eva2/tools/chart2d/DPointIcon.java
@@ -10,7 +10,7 @@ package eva2.tools.chart2d;
* Copyright (c) Dept. Computer Architecture, University of Tuebingen, Germany
*/
-import java.awt.Graphics;
+import java.awt.*;
/**
* A simple interface which can be used to paint certain icons at DPoints
diff --git a/src/eva2/tools/chart2d/ScaledBorder.java b/src/eva2/tools/chart2d/ScaledBorder.java
index c957706c..17ab86ff 100644
--- a/src/eva2/tools/chart2d/ScaledBorder.java
+++ b/src/eva2/tools/chart2d/ScaledBorder.java
@@ -2,20 +2,13 @@ package eva2.tools.chart2d;
import eva2.tools.math.Mathematics;
-import java.awt.Color;
-import java.awt.Component;
-import java.awt.Dimension;
-import java.awt.Font;
-import java.awt.FontMetrics;
-import java.awt.Graphics;
-import java.awt.Insets;
-import java.awt.Point;
+import javax.swing.*;
+import javax.swing.border.BevelBorder;
+import javax.swing.border.Border;
+import java.awt.*;
import java.awt.geom.AffineTransform;
import java.text.DecimalFormat;
import java.text.NumberFormat;
-import javax.swing.BorderFactory;
-import javax.swing.border.BevelBorder;
-import javax.swing.border.Border;
/**
* ScaledBorder puts a border around Components
diff --git a/src/eva2/tools/math/BayNet.java b/src/eva2/tools/math/BayNet.java
index 89206a42..c38da5ad 100644
--- a/src/eva2/tools/math/BayNet.java
+++ b/src/eva2/tools/math/BayNet.java
@@ -8,12 +8,7 @@ import eva2.optimization.individuals.InterfaceGAIndividual;
import eva2.optimization.population.Population;
import eva2.tools.Pair;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.BitSet;
-import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.List;
+import java.util.*;
public class BayNet {
diff --git a/src/eva2/tools/math/Jama/SingularValueDecomposition.java b/src/eva2/tools/math/Jama/SingularValueDecomposition.java
index 282c4bba..15507ff2 100644
--- a/src/eva2/tools/math/Jama/SingularValueDecomposition.java
+++ b/src/eva2/tools/math/Jama/SingularValueDecomposition.java
@@ -1,6 +1,6 @@
package eva2.tools.math.Jama;
-import eva2.tools.math.Jama.util.*;
+import eva2.tools.math.Jama.util.Maths;
/**
diff --git a/src/eva2/tools/math/interpolation/AbstractDataSet.java b/src/eva2/tools/math/interpolation/AbstractDataSet.java
index ae1f9deb..73139f72 100644
--- a/src/eva2/tools/math/interpolation/AbstractDataSet.java
+++ b/src/eva2/tools/math/interpolation/AbstractDataSet.java
@@ -28,7 +28,7 @@ public abstract class AbstractDataSet {
*-------------------------------------------------------------------------*/
/*--------------------------------------------------------------o-----------*
- * protected member variables
+ * protected member variables
*-------------------------------------------------------------------------*/
/**
* double array of X data.
diff --git a/src/eva2/tools/math/interpolation/PolynomialInterpolationResult.java b/src/eva2/tools/math/interpolation/PolynomialInterpolationResult.java
index eb23dedd..43bc81e2 100644
--- a/src/eva2/tools/math/interpolation/PolynomialInterpolationResult.java
+++ b/src/eva2/tools/math/interpolation/PolynomialInterpolationResult.java
@@ -34,7 +34,7 @@ public class PolynomialInterpolationResult {
public double yError = Double.NaN;
/*------------------------------------------------------------------------*
- * constructor
+ * constructor
*------------------------------------------------------------------------*/
public PolynomialInterpolationResult() {
diff --git a/src/eva2/tools/print/PagePrinter.java b/src/eva2/tools/print/PagePrinter.java
index e957d081..5c38da80 100644
--- a/src/eva2/tools/print/PagePrinter.java
+++ b/src/eva2/tools/print/PagePrinter.java
@@ -16,10 +16,11 @@ package eva2.tools.print;
* IMPORTS
*==========================================================================*/
+import javax.swing.*;
import java.awt.*;
import java.awt.image.BufferedImage;
-import java.awt.print.*;
-import javax.swing.*;
+import java.awt.print.PageFormat;
+import java.awt.print.Printable;
/*==========================================================================*
* CLASS DECLARATION
diff --git a/src/simpleprobs/InterfaceSimpleProblem.java b/src/simpleprobs/InterfaceSimpleProblem.java
index 85e8fae3..8f1c7bdb 100644
--- a/src/simpleprobs/InterfaceSimpleProblem.java
+++ b/src/simpleprobs/InterfaceSimpleProblem.java
@@ -3,28 +3,27 @@ package simpleprobs;
/**
* A simple interface to easily include new optimization problems in Java into the
* EvA framework.
- *
- * @author mkron
*
+ * @author mkron
*/
public interface InterfaceSimpleProblem {
- /**
- * Evaluate a double vector representing a possible problem solution as
- * part of an individual in the EvA framework. This makes up the
- * target function to be evaluated.
- *
- * @param x a double vector to be evaluated
- * @return the fitness vector assigned to x as to the target function
- */
- public double[] eval(T x);
-
- /**
- * Return the problem dimension.
- *
- * @return the problem dimension
- */
- public int getProblemDimension();
-
+ /**
+ * Evaluate a double vector representing a possible problem solution as
+ * part of an individual in the EvA framework. This makes up the
+ * target function to be evaluated.
+ *
+ * @param x a double vector to be evaluated
+ * @return the fitness vector assigned to x as to the target function
+ */
+ public double[] eval(T x);
+
+ /**
+ * Return the problem dimension.
+ *
+ * @return the problem dimension
+ */
+ public int getProblemDimension();
+
}
diff --git a/src/simpleprobs/SimpleB1.java b/src/simpleprobs/SimpleB1.java
index 834ed29b..11900e7d 100644
--- a/src/simpleprobs/SimpleB1.java
+++ b/src/simpleprobs/SimpleB1.java
@@ -3,27 +3,27 @@ package simpleprobs;
import java.util.BitSet;
public class SimpleB1 extends SimpleProblemBinary {
- public static String globalInfo() {
- return "A simple B1 implementation, minimize bits in a binary vector.";
- }
-
- @Override
- public double[] eval(BitSet b) {
- double[] result = new double[1];
- int fitness = 0;
+ public static String globalInfo() {
+ return "A simple B1 implementation, minimize bits in a binary vector.";
+ }
- for (int i = 0; i < getProblemDimension(); i++) {
- if (b.get(i)) {
- fitness++;
- }
+ @Override
+ public double[] eval(BitSet b) {
+ double[] result = new double[1];
+ int fitness = 0;
+
+ for (int i = 0; i < getProblemDimension(); i++) {
+ if (b.get(i)) {
+ fitness++;
}
- result[0] = fitness;
- return result;
- }
+ }
+ result[0] = fitness;
+ return result;
+ }
@Override
- public int getProblemDimension() {
- return 20;
- }
+ public int getProblemDimension() {
+ return 20;
+ }
}
diff --git a/src/simpleprobs/SimpleF1.java b/src/simpleprobs/SimpleF1.java
index 211b4b30..e8806e33 100644
--- a/src/simpleprobs/SimpleF1.java
+++ b/src/simpleprobs/SimpleF1.java
@@ -2,28 +2,28 @@ package simpleprobs;
public class SimpleF1 extends SimpleProblemDouble {
- public static String globalInfo() {
- return "A simple F1 implementation, find the minimum of a hyper parabola.";
- }
+ public static String globalInfo() {
+ return "A simple F1 implementation, find the minimum of a hyper parabola.";
+ }
@Override
- public double[] eval(double[] x) {
- double res[] = new double[1];
- // this defines the dimension of the fitness vector, which should be always the same
+ public double[] eval(double[] x) {
+ double res[] = new double[1];
+ // this defines the dimension of the fitness vector, which should be always the same
- double sum = 0;
- // calculate the fitness value
- for (int i=0; i, Serializable {
- public static String globalInfo() {
- return "A simple binary problem. Override globalInfo() to insert more information.";
- }
+ public static String globalInfo() {
+ return "A simple binary problem. Override globalInfo() to insert more information.";
+ }
}
\ No newline at end of file
diff --git a/src/simpleprobs/SimpleProblemDouble.java b/src/simpleprobs/SimpleProblemDouble.java
index be5cc311..c9d60dbb 100644
--- a/src/simpleprobs/SimpleProblemDouble.java
+++ b/src/simpleprobs/SimpleProblemDouble.java
@@ -3,7 +3,7 @@ package simpleprobs;
import java.io.Serializable;
public abstract class SimpleProblemDouble implements InterfaceSimpleProblem, Serializable {
- public static String globalInfo() {
- return "A simple double valued problem. Override globalInfo() to insert more information.";
- }
+ public static String globalInfo() {
+ return "A simple double valued problem. Override globalInfo() to insert more information.";
+ }
}