Refactoring InterfaceGOParameters to the more generic InterfaceOptimizationParameters.

This commit is contained in:
Fabian Becker 2013-07-19 15:21:00 +02:00
parent 5297968fd2
commit 3b3c44ffc6
39 changed files with 225 additions and 218 deletions

View File

@ -37,6 +37,11 @@
<artifactId>jchart2d</artifactId>
<version>3.3.2</version>
</dependency>
<dependency>
<groupId>commons-cli</groupId>
<artifactId>commons-cli</artifactId>
<version>1.2</version>
</dependency>
</dependencies>

View File

@ -1,5 +1,6 @@
package eva2;
import eva2.optimization.modules.OptimizationParameters;
import eva2.optimization.operators.mutation.InterfaceMutation;
import eva2.optimization.operators.mutation.NoMutation;
import eva2.optimization.operators.mutation.MutateESFixedStepSize;
@ -54,7 +55,6 @@ import eva2.optimization.operators.terminators.EvaluationTerminator;
import eva2.optimization.populations.PBILPopulation;
import eva2.optimization.populations.Population;
import eva2.optimization.problems.AbstractOptimizationProblem;
import eva2.optimization.modules.GOParameters;
import eva2.optimization.stat.InterfaceStatistics;
import eva2.tools.math.RNG;
import java.util.ArrayList;
@ -290,8 +290,8 @@ public class OptimizerFactory {
* @param problem
* @return
*/
public static GOParameters standardMOGA(AbstractOptimizationProblem problem) {
GOParameters gaParams = standardGA(problem);
public static OptimizationParameters standardMOGA(AbstractOptimizationProblem problem) {
OptimizationParameters gaParams = standardGA(problem);
int archiveSize = 100;
int popSize = 100;
MultiObjectiveEA moga = createMultiObjectiveEA(gaParams.getOptimizer(), archiveSize, problem, null);
@ -563,7 +563,7 @@ public class OptimizerFactory {
* @param optType optimizer identifier
* @param problem corresponding optimization problem
*/
public static GOParameters getParams(final int optType,
public static OptimizationParameters getParams(final int optType,
AbstractOptimizationProblem problem) {
switch (optType) {
case STD_ES:
@ -647,7 +647,7 @@ public class OptimizerFactory {
AbstractOptimizationProblem problem, InterfaceTerminator terminator,
String outputFilePrefix) {
OptimizerRunnable opt = null;
GOParameters params = getParams(optType, problem);
OptimizationParameters params = getParams(optType, problem);
if (params != null) {
opt = new OptimizerRunnable(params, outputFilePrefix);
if (terminator != null) {
@ -660,14 +660,14 @@ public class OptimizerFactory {
}
/**
* Produce a runnable optimizer from a GOParameters instance. Output is
* Produce a runnable optimizer from a OptimizationParameters instance. Output is
* written to a file if the prefix String is given.
*
* @param params
* @param outputFilePrefix
* @return a runnable optimizer
*/
public static OptimizerRunnable getOptRunnable(GOParameters params, String outputFilePrefix) {
public static OptimizerRunnable getOptRunnable(OptimizationParameters params, String outputFilePrefix) {
return new OptimizerRunnable(params, outputFilePrefix);
}
@ -714,13 +714,13 @@ public class OptimizerFactory {
// /////////////////////// Creating default strategies
/**
* Use lambda, default random seed and terminator to produce GOParameters.
* Use lambda, default random seed and terminator to produce OptimizationParameters.
*
* @param es
* @param problem
* @return
*/
public static GOParameters makeESParams(EvolutionStrategies es,
public static OptimizationParameters makeESParams(EvolutionStrategies es,
AbstractOptimizationProblem problem) {
return makeParams(es, es.getLambda(), problem, randSeed, getTerminator());
}
@ -735,7 +735,7 @@ public class OptimizerFactory {
* @param problem
* @return
*/
public static GOParameters makeParams(InterfaceOptimizer opt, int popSize, AbstractOptimizationProblem problem) {
public static OptimizationParameters makeParams(InterfaceOptimizer opt, int popSize, AbstractOptimizationProblem problem) {
return makeParams(opt, popSize, problem, randSeed, getTerminator());
}
@ -749,7 +749,7 @@ public class OptimizerFactory {
* @param problem
* @return
*/
public static GOParameters makeParams(InterfaceOptimizer opt, AbstractOptimizationProblem problem, InterfaceTerminator term) {
public static OptimizationParameters makeParams(InterfaceOptimizer opt, AbstractOptimizationProblem problem, InterfaceTerminator term) {
return makeParams(opt, opt.getPopulation().getTargetSize(), problem, randSeed, term);
}
@ -766,7 +766,7 @@ public class OptimizerFactory {
* @param term
* @return
*/
public static GOParameters makeParams(InterfaceOptimizer opt,
public static OptimizationParameters makeParams(InterfaceOptimizer opt,
int popSize, AbstractOptimizationProblem problem, long seed,
InterfaceTerminator term) {
Population pop = new Population(popSize);
@ -776,7 +776,7 @@ public class OptimizerFactory {
}
/**
* Create a GOParameters instance and prepare it with the given arguments.
* Create a OptimizationParameters instance and prepare it with the given arguments.
* The result can be modified and then used to create an OptimizerRunnable,
* which of course can simply be run.
*
@ -788,10 +788,10 @@ public class OptimizerFactory {
* @param term
* @return
*/
public static GOParameters makeParams(InterfaceOptimizer opt,
public static OptimizationParameters makeParams(InterfaceOptimizer opt,
Population pop, AbstractOptimizationProblem problem, long seed,
InterfaceTerminator term) {
GOParameters params = new GOParameters();
OptimizationParameters params = new OptimizationParameters();
params.setProblem(problem);
opt.setProblem(problem);
opt.setPopulation(pop);
@ -840,7 +840,7 @@ public class OptimizerFactory {
* @param outputFilePrefix
* @return the OptimizerRunnable instance just started
*/
public static OptimizerRunnable optimizeInThread(GOParameters params, String outputFilePrefix) {
public static OptimizerRunnable optimizeInThread(OptimizationParameters params, String outputFilePrefix) {
return optimizeInThread(new OptimizerRunnable(params, outputFilePrefix));
}
@ -859,7 +859,7 @@ public class OptimizerFactory {
}
// ///////////////////////////// Optimize a given parameter instance
public static BitSet optimizeToBinary(GOParameters params,
public static BitSet optimizeToBinary(OptimizationParameters params,
String outputFilePrefix) {
OptimizerRunnable runnable = optimize(new OptimizerRunnable(params,
outputFilePrefix));
@ -886,20 +886,20 @@ public class OptimizerFactory {
return (runnable != null) ? runnable.getBinarySolution() : null;
}
public static double[] optimizeToDouble(GOParameters params,
public static double[] optimizeToDouble(OptimizationParameters params,
String outputFilePrefix) {
OptimizerRunnable runnable = optimize(new OptimizerRunnable(params,
outputFilePrefix));
return runnable.getDoubleSolution();
}
public static double[] optimizeToDouble(GOParameters params) {
public static double[] optimizeToDouble(OptimizationParameters params) {
OptimizerRunnable runnable = optimize(new OptimizerRunnable(params,
false));
return runnable.getDoubleSolution();
}
public static double[] optimizeToDouble(GOParameters params, InterfaceStatistics stats) {
public static double[] optimizeToDouble(OptimizationParameters params, InterfaceStatistics stats) {
OptimizerRunnable runnable = optimize(new OptimizerRunnable(params, stats,
false));
return runnable.getDoubleSolution();
@ -922,13 +922,13 @@ public class OptimizerFactory {
return (runnable != null) ? runnable.getDoubleSolution() : null;
}
public static IndividualInterface optimizeToInd(GOParameters params) {
public static IndividualInterface optimizeToInd(OptimizationParameters params) {
OptimizerRunnable runnable = optimize(new OptimizerRunnable(params,
false));
return runnable.getResult();
}
public static IndividualInterface optimizeToInd(GOParameters params,
public static IndividualInterface optimizeToInd(OptimizationParameters params,
String outputFilePrefix) {
OptimizerRunnable runnable = optimize(new OptimizerRunnable(params,
outputFilePrefix));
@ -952,7 +952,7 @@ public class OptimizerFactory {
return (runnable != null) ? runnable.getResult() : null;
}
public static Population optimizeToPop(GOParameters params,
public static Population optimizeToPop(OptimizationParameters params,
String outputFilePrefix) {
OptimizerRunnable runnable = optimize(new OptimizerRunnable(params,
outputFilePrefix));
@ -1191,7 +1191,7 @@ public class OptimizerFactory {
*
* @return a standard multi-start hill-climber
*/
public static GOParameters hillClimbing(
public static OptimizationParameters hillClimbing(
AbstractOptimizationProblem problem) {
return hillClimbing(problem, 50);
}
@ -1202,12 +1202,12 @@ public class OptimizerFactory {
*
* @return a standard multi-start hill-climber
*/
public static GOParameters hillClimbing(
public static OptimizationParameters hillClimbing(
AbstractOptimizationProblem problem, int popSize) {
return makeParams(new HillClimbing(), popSize, problem, randSeed, getTerminator());
}
public static GOParameters monteCarlo(
public static OptimizationParameters monteCarlo(
AbstractOptimizationProblem problem) {
return makeParams(new MonteCarloSearch(), 50, problem, randSeed, getTerminator());
}
@ -1225,7 +1225,7 @@ public class OptimizerFactory {
* @param popSize
* @return
*/
public static GOParameters createCbn(AbstractOptimizationProblem problem, InterfaceOptimizer opt,
public static OptimizationParameters createCbn(AbstractOptimizationProblem problem, InterfaceOptimizer opt,
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);
@ -1238,14 +1238,14 @@ public class OptimizerFactory {
* @param problem
* @return
*/
public static GOParameters standardCbnPSO(AbstractOptimizationProblem problem) {
public static OptimizationParameters standardCbnPSO(AbstractOptimizationProblem problem) {
return createCbnPSO(problem, cbnDefaultClusterSigma, cbnDefaultMinGroupSize, cbnDefaultMaxGroupSize,
cbnDefaultHaltingWindowLength, cbnDefaultHaltingWindowEpsilon, 100);
}
public static GOParameters createCbnPSO(AbstractOptimizationProblem problem, double clusterSigma, int minClustSize,
public static OptimizationParameters createCbnPSO(AbstractOptimizationProblem problem, double clusterSigma, int minClustSize,
int maxSpecSize, int haltingWindowLength, double haltingWindowEpsilon, int popSize) {
GOParameters psoParams = standardPSO(problem);
OptimizationParameters psoParams = standardPSO(problem);
ParticleSwarmOptimization pso = (ParticleSwarmOptimization) psoParams.getOptimizer();
ClusteringDensityBased clust = new ClusteringDensityBased(clusterSigma, minClustSize,
new IndividualDataMetric(ParticleSwarmOptimization.partBestPosKey));
@ -1265,7 +1265,7 @@ public class OptimizerFactory {
* @param popSize
* @return
*/
public static GOParameters createCbn(AbstractOptimizationProblem problem, InterfaceOptimizer opt,
public static OptimizationParameters createCbn(AbstractOptimizationProblem problem, InterfaceOptimizer opt,
InterfaceClustering clustDifferentiate, int maxSpecSize, InterfaceClustering clustMerge, int haltingWindowLength,
double haltingWindowEpsilon, int popSize) {
ClusterBasedNichingEA cbn = new ClusterBasedNichingEA();
@ -1289,7 +1289,7 @@ public class OptimizerFactory {
* @param problem
* @return
*/
public static GOParameters standardCbnES(AbstractOptimizationProblem problem) {
public static OptimizationParameters standardCbnES(AbstractOptimizationProblem problem) {
EvolutionStrategies es = new EvolutionStrategies();
es.setMu(15);
es.setLambda(50);
@ -1304,8 +1304,8 @@ public class OptimizerFactory {
* @param problem
* @return
*/
public static GOParameters standardCbnCmaES(AbstractOptimizationProblem problem) {
GOParameters cmaEsParams = cmaES(problem);
public static OptimizationParameters standardCbnCmaES(AbstractOptimizationProblem problem) {
OptimizationParameters cmaEsParams = cmaES(problem);
EvolutionStrategies cmaES = (EvolutionStrategies) cmaEsParams.getOptimizer();
return createCbn(problem, cmaES, cbnDefaultClusterSigma, cbnDefaultMinGroupSize, cbnDefaultMaxGroupSize, cbnDefaultHaltingWindowLength, cbnDefaultHaltingWindowEpsilon, 100);
}
@ -1317,7 +1317,7 @@ public class OptimizerFactory {
* @param problem
* @return
*/
public static GOParameters standardCbnGA(AbstractOptimizationProblem problem) {
public static OptimizationParameters standardCbnGA(AbstractOptimizationProblem problem) {
GeneticAlgorithm ga = new GeneticAlgorithm();
return createCbn(problem, ga, cbnDefaultClusterSigma, cbnDefaultMinGroupSize, cbnDefaultMaxGroupSize, cbnDefaultHaltingWindowLength, cbnDefaultHaltingWindowEpsilon, 100);
}
@ -1327,7 +1327,7 @@ public class OptimizerFactory {
* @param problem
* @return
*/
public static GOParameters standardPBIL(AbstractOptimizationProblem problem) {
public static OptimizationParameters standardPBIL(AbstractOptimizationProblem problem) {
PopulationBasedIncrementalLearning pbil = createPBIL(0.04, 0.01, 0.5, 1,
new SelectBestIndividuals(), 50, problem, null);
@ -1345,7 +1345,7 @@ public class OptimizerFactory {
* @param problem
* @return
*/
public static GOParameters stdClusteringHillClimbing(
public static OptimizationParameters stdClusteringHillClimbing(
AbstractOptimizationProblem problem) {
return clusteringHillClimbing(problem, 1000, 100, 0.000001,
PostProcessMethod.hillClimber, 0.05, 0.000001, 0.05);
@ -1363,7 +1363,7 @@ public class OptimizerFactory {
* @param sigmaClust
* @return
*/
public static GOParameters clusteringHillClimbingNM(AbstractOptimizationProblem problem,
public static OptimizationParameters clusteringHillClimbingNM(AbstractOptimizationProblem problem,
int evalCycle, int popSize, double minImprovement, double sigmaClust) {
return clusteringHillClimbing(problem, evalCycle, popSize, minImprovement,
PostProcessMethod.nelderMead, 0.01, 0.00000001, sigmaClust);
@ -1384,7 +1384,7 @@ public class OptimizerFactory {
* @param sigmaClust
* @return
*/
public static GOParameters clusteringHillClimbing(
public static OptimizationParameters clusteringHillClimbing(
AbstractOptimizationProblem problem, int evalCycle, int popSize, double minImprovement,
PostProcessMethod method, double hcInitialStep, double hcStepThresh, double sigmaClust) {
ClusteringHillClimbing chc = new ClusteringHillClimbing();
@ -1401,7 +1401,7 @@ public class OptimizerFactory {
return makeParams(chc, popSize, problem, randSeed, getTerminator());
}
public static GOParameters cmaES(AbstractOptimizationProblem problem) {
public static OptimizationParameters cmaES(AbstractOptimizationProblem problem) {
EvolutionStrategies es = new EvolutionStrategies();
es.setMu(15);
es.setLambda(50);
@ -1428,11 +1428,11 @@ public class OptimizerFactory {
* @param problem the optimization problem
* @return
*/
public static GOParameters cmaESIPOP(AbstractOptimizationProblem problem) {
public static OptimizationParameters cmaESIPOP(AbstractOptimizationProblem problem) {
return createCmaEsIPop(problem, 2.);
}
public static GOParameters createCmaEsIPop(AbstractOptimizationProblem problem, double incLambdaFact) {
public static OptimizationParameters createCmaEsIPop(AbstractOptimizationProblem problem, double incLambdaFact) {
EvolutionStrategies es = new EvolutionStrategyIPOP();
AbstractEAIndividual indyTemplate = problem.getIndividualTemplate();
@ -1460,7 +1460,7 @@ public class OptimizerFactory {
return makeESParams(es, problem);
}
public static GOParameters standardNMS(AbstractOptimizationProblem problem) {
public static OptimizationParameters standardNMS(AbstractOptimizationProblem problem) {
NelderMeadSimplex nms = NelderMeadSimplex.createNelderMeadSimplex(problem, null);
return makeParams(nms, 50, problem, randSeed, getTerminator());
}
@ -1472,7 +1472,7 @@ public class OptimizerFactory {
* @param problem
* @return
*/
public static GOParameters standardDE(
public static OptimizationParameters standardDE(
AbstractOptimizationProblem problem) {
DifferentialEvolution de = new DifferentialEvolution();
de.setDEType(DETypeEnum.DE2_CurrentToBest); // this sets current-to-best
@ -1483,7 +1483,7 @@ public class OptimizerFactory {
return makeParams(de, 50, problem, randSeed, getTerminator());
}
public static GOParameters standardES(
public static OptimizationParameters standardES(
AbstractOptimizationProblem problem) {
EvolutionStrategies es = new EvolutionStrategies();
es.setMu(15);
@ -1499,7 +1499,7 @@ public class OptimizerFactory {
return makeESParams(es, problem);
}
public static GOParameters standardGA(
public static OptimizationParameters standardGA(
AbstractOptimizationProblem problem) {
GeneticAlgorithm ga = new GeneticAlgorithm();
ga.setElitism(true);
@ -1515,7 +1515,7 @@ public class OptimizerFactory {
* @param problem
* @return
*/
public static GOParameters standardPSO(
public static OptimizationParameters standardPSO(
AbstractOptimizationProblem problem) {
ParticleSwarmOptimization pso = new ParticleSwarmOptimization();
pso.setPhiValues(2.05, 2.05);
@ -1524,7 +1524,7 @@ public class OptimizerFactory {
return makeParams(pso, 30, problem, randSeed, getTerminator());
}
public static GOParameters tribes(AbstractOptimizationProblem problem) {
public static OptimizationParameters tribes(AbstractOptimizationProblem problem) {
return makeParams(new Tribes(), 1, problem, randSeed, getTerminator());
}
@ -1535,7 +1535,7 @@ public class OptimizerFactory {
* @param problem
* @return
*/
public static GOParameters standardNichingEs(AbstractOptimizationProblem prob) {
public static OptimizationParameters standardNichingEs(AbstractOptimizationProblem prob) {
// nichingEs(AbstractOptimizationProblem prob, double nicheRadius, int muPerPeak, int lambdaPerPeak,
return createNichingEs(prob, -1, 100, 100,
// int expectedPeaks, int rndImmigrants, int explorerPeaks, int resetExplInterval, int etaPresel) {
@ -1548,7 +1548,7 @@ public class OptimizerFactory {
* @param problem
* @return
*/
public static GOParameters createNichingEs(AbstractOptimizationProblem prob, double nicheRadius, int muPerPeak, int lambdaPerPeak, int expectedPeaks, int rndImmigrants, int explorerPeaks, int resetExplInterval, int etaPresel) {
public static OptimizationParameters createNichingEs(AbstractOptimizationProblem prob, double nicheRadius, int muPerPeak, int lambdaPerPeak, int expectedPeaks, int rndImmigrants, int explorerPeaks, int resetExplInterval, int etaPresel) {
EsDpiNiching nes = new EsDpiNiching(nicheRadius, muPerPeak, lambdaPerPeak, expectedPeaks, rndImmigrants, explorerPeaks, resetExplInterval, etaPresel);
if (assertIndyType(prob, InterfaceESIndividual.class)) {
@ -1567,7 +1567,7 @@ public class OptimizerFactory {
* @param prob
* @return
*/
public static GOParameters standardNichingCmaEs(AbstractOptimizationProblem prob) {
public static OptimizationParameters standardNichingCmaEs(AbstractOptimizationProblem prob) {
return createNichingCmaEs(prob, -1, 10, 10, 0, 0, -1);
}
@ -1577,7 +1577,7 @@ public class OptimizerFactory {
* @param prob
* @return
*/
public static GOParameters createNichingCmaEs(AbstractOptimizationProblem prob, double nicheRad) {
public static OptimizationParameters createNichingCmaEs(AbstractOptimizationProblem prob, double nicheRad) {
return createNichingCmaEs(prob, nicheRad, 10, 10, 0, 0, -1);
}
@ -1587,7 +1587,7 @@ public class OptimizerFactory {
* @param prob
* @return
*/
public static GOParameters createNichingCmaEs(AbstractOptimizationProblem prob, double nicheRad, double stagnationEpsilon) {
public static OptimizationParameters createNichingCmaEs(AbstractOptimizationProblem prob, double nicheRad, double stagnationEpsilon) {
return createNichingCmaEs(prob, nicheRad, 10, 10, 0, 0, stagnationEpsilon);
}
@ -1597,7 +1597,7 @@ public class OptimizerFactory {
* @param prob
* @return
*/
public static GOParameters createNichingCmaEs(AbstractOptimizationProblem prob, double nicheRad, int nicheCount, double stagnationEpsilon) {
public static OptimizationParameters createNichingCmaEs(AbstractOptimizationProblem prob, double nicheRad, int nicheCount, double stagnationEpsilon) {
return createNichingCmaEs(prob, nicheRad, 10, nicheCount, 0, 0, stagnationEpsilon);
}
@ -1612,7 +1612,7 @@ public class OptimizerFactory {
* @param resetExplInterval
* @return
*/
public static GOParameters createNichingCmaEs(AbstractOptimizationProblem prob, double nicheRadius, int lambda, int expectedPeaks, int explorerPeaks, int resetExplInterval, double stagnationEpsilon) {
public static OptimizationParameters createNichingCmaEs(AbstractOptimizationProblem prob, double nicheRadius, int lambda, int expectedPeaks, int explorerPeaks, int resetExplInterval, double stagnationEpsilon) {
EsDpiNiching nes = new EsDpiNichingCma(nicheRadius, lambda, expectedPeaks, explorerPeaks, resetExplInterval);
if (stagnationEpsilon > 0) {
nes.setEpsilonBound(stagnationEpsilon);

View File

@ -1,5 +1,6 @@
package eva2;
import eva2.optimization.go.InterfaceOptimizationParameters;
import eva2.optimization.stat.StatisticsDummy;
import eva2.optimization.stat.InterfaceStatistics;
import eva2.optimization.stat.StatisticsParameter;
@ -8,7 +9,6 @@ import eva2.optimization.stat.StatisticsStandalone;
import eva2.optimization.stat.InterfaceTextListener;
import eva2.optimization.OptimizationStateListener;
import eva2.optimization.go.IndividualInterface;
import eva2.optimization.go.InterfaceGOParameters;
import eva2.optimization.go.InterfaceTerminator;
import eva2.optimization.individuals.InterfaceDataTypeBinary;
import eva2.optimization.individuals.InterfaceDataTypeDouble;
@ -17,7 +17,7 @@ import eva2.optimization.operators.postprocess.InterfacePostProcessParams;
import eva2.optimization.operators.postprocess.PostProcessParams;
import eva2.optimization.populations.Population;
import eva2.optimization.populations.SolutionSet;
import eva2.optimization.modules.GOParameters;
import eva2.optimization.modules.OptimizationParameters;
import eva2.optimization.modules.Processor;
import java.io.PrintWriter;
import java.io.StringWriter;
@ -47,7 +47,7 @@ public class OptimizerRunnable implements Runnable {
* @param params
* @param outputFilePrefix
*/
public OptimizerRunnable(GOParameters params, String outputFilePrefix) {
public OptimizerRunnable(OptimizationParameters params, String outputFilePrefix) {
this(params, outputFilePrefix, false);
}
@ -58,7 +58,7 @@ public class OptimizerRunnable implements Runnable {
* @param params
* @param restart
*/
public OptimizerRunnable(GOParameters params, boolean restart) {
public OptimizerRunnable(OptimizationParameters params, boolean restart) {
this(params, new StatisticsDummy(), restart);
}
@ -71,7 +71,7 @@ public class OptimizerRunnable implements Runnable {
* @param outputFilePrefix
* @param restart
*/
public OptimizerRunnable(GOParameters params, String outputFilePrefix, boolean restart) {
public OptimizerRunnable(OptimizationParameters params, String outputFilePrefix, boolean restart) {
this(params, new StatisticsStandalone(outputFilePrefix), restart);
}
@ -83,7 +83,7 @@ public class OptimizerRunnable implements Runnable {
* @param outputFilePrefix
* @param restart
*/
public OptimizerRunnable(GOParameters params, InterfaceStatistics stats, boolean restart) {
public OptimizerRunnable(OptimizationParameters params, InterfaceStatistics stats, boolean restart) {
rnblID = cntID;
cntID++;
@ -110,7 +110,7 @@ public class OptimizerRunnable implements Runnable {
return rnblID;
}
public InterfaceGOParameters getGOParams() {
public InterfaceOptimizationParameters getGOParams() {
return proc.getGOParams();
}
@ -122,7 +122,7 @@ public class OptimizerRunnable implements Runnable {
if (proc.isOptRunning()) {
throw new RuntimeException("Error - cannot change statistics instance during optimization.");
}
InterfaceGOParameters params = proc.getGOParams();
InterfaceOptimizationParameters params = proc.getGOParams();
proc = new Processor(stats, null, params);
if (proc.getStatistics() instanceof AbstractStatistics) {
((AbstractStatistics)proc.getStatistics()).setSaveParams(false);

View File

@ -14,9 +14,9 @@ package eva2.client;
import eva2.EvAInfo;
import eva2.gui.*;
import eva2.optimization.OptimizationStateListener;
import eva2.optimization.go.InterfaceGOParameters;
import eva2.optimization.go.InterfaceOptimizationParameters;
import eva2.optimization.modules.AbstractModuleAdapter;
import eva2.optimization.modules.GOParameters;
import eva2.optimization.modules.OptimizationParameters;
import eva2.optimization.modules.GenericModuleAdapter;
import eva2.optimization.modules.ModuleAdapter;
import eva2.optimization.stat.AbstractStatistics;
@ -191,7 +191,7 @@ public class EvAClient extends JFrame implements OptimizationStateListener {
* @param noSplash
* @param noGui
*/
public EvAClient(final String hostName, InterfaceGOParameters goParams, boolean autorun, boolean noSplash, boolean noGui) {
public EvAClient(final String hostName, InterfaceOptimizationParameters goParams, boolean autorun, boolean noSplash, boolean noGui) {
this(hostName, null, null, goParams, autorun, noSplash, noGui, false);
}
@ -206,7 +206,7 @@ public class EvAClient extends JFrame implements OptimizationStateListener {
* @param noSplash
* @param noGui
*/
public EvAClient(final String hostName, final Window parent, final String paramsFile, final InterfaceGOParameters goParams, final boolean autorun, final boolean noSplash, final boolean noGui) {
public EvAClient(final String hostName, final Window parent, final String paramsFile, final InterfaceOptimizationParameters goParams, final boolean autorun, final boolean noSplash, final boolean noGui) {
this(hostName, parent, paramsFile, goParams, autorun, noSplash, noGui, false);
}
@ -226,7 +226,7 @@ public class EvAClient extends JFrame implements OptimizationStateListener {
* @param noSplash
* @param noGui
*/
public EvAClient(final String hostName, final Window parent, final String paramsFile, final InterfaceGOParameters goParams, final boolean autorun, final boolean noSplash, final boolean noGui, final boolean showTreeView) {
public EvAClient(final String hostName, final Window parent, final String paramsFile, final InterfaceOptimizationParameters goParams, final boolean autorun, final boolean noSplash, final boolean noGui, final boolean showTreeView) {
clientInited = false;
final SplashScreen splashScreen = new SplashScreen(EvAInfo.splashLocation);
@ -352,7 +352,7 @@ public class EvAClient extends JFrame implements OptimizationStateListener {
* Sets given hostname and tries to load GOParamsters from given file if non
* null.
*/
private void init(String hostName, String paramsFile, InterfaceGOParameters goParams, final Window parent) {
private void init(String hostName, String paramsFile, InterfaceOptimizationParameters goParams, final Window parent) {
useDefaultModule = EvAInfo.propDefaultModule();
this.parentWindow = parent;
@ -497,7 +497,7 @@ public class EvAClient extends JFrame implements OptimizationStateListener {
* try to load parameters from file
*/
if (goParams == null && (paramsFile != null && (paramsFile.length() > 0))) {
goParams = GOParameters.getInstance(paramsFile, false);
goParams = OptimizationParameters.getInstance(paramsFile, false);
}
loadSpecificModule(useDefaultModule, goParams);//loadSpecificModule
}
@ -643,7 +643,7 @@ public class EvAClient extends JFrame implements OptimizationStateListener {
* optimization
* @param windowListener additional window listener for client frame
*/
public static EvAClient initClientGUI(GOParameters goParams,
public static EvAClient initClientGUI(OptimizationParameters goParams,
InterfaceStatisticsListener statisticsListener,
WindowListener windowListener, final Window parent) {
EvAClient evaClient;
@ -809,7 +809,7 @@ public class EvAClient extends JFrame implements OptimizationStateListener {
*
* @return
*/
public InterfaceGOParameters getGOParameters() {
public InterfaceOptimizationParameters getGOParameters() {
if (currentModuleAdapter != null) {
if (currentModuleAdapter instanceof AbstractModuleAdapter) {
return ((AbstractModuleAdapter) currentModuleAdapter).getGOParameters();
@ -839,7 +839,7 @@ public class EvAClient extends JFrame implements OptimizationStateListener {
}
}
private void loadSpecificModule(String selectedModule, InterfaceGOParameters goParams) {
private void loadSpecificModule(String selectedModule, InterfaceOptimizationParameters goParams) {
ModuleAdapter newModuleAdapter = null;
//
try {
@ -888,7 +888,7 @@ public class EvAClient extends JFrame implements OptimizationStateListener {
/* ToDo: Find a way to properly add the TreeView to the GOPanel */
if (withTreeView && (newModuleAdapter instanceof AbstractModuleAdapter)) {
JComponent tree = null;
tree = getEvATreeView(frameMaker.getGOPanel(), "GOParameters", ((AbstractModuleAdapter) newModuleAdapter).getGOParameters());
tree = getEvATreeView(frameMaker.getGOPanel(), "OptimizationParameters", ((AbstractModuleAdapter) newModuleAdapter).getGOParameters());
gbConstraints.gridx = 0;
gbConstraints.gridy = 0;
gbConstraints.fill = GridBagConstraints.BOTH;

View File

@ -10,13 +10,11 @@ package eva2.client;
* $Date: 2007-12-06 16:05:11 +0100 (Thu, 06 Dec 2007) $
* $Author: mkron $
*/
import eva2.EvAInfo;
import eva2.gui.LoggingPanel;
import eva2.optimization.EvAMainAdapter;
import eva2.optimization.EvAMainAdapterImpl;
import eva2.optimization.go.InterfaceGOParameters;
import eva2.optimization.go.InterfaceOptimizationParameters;
import eva2.optimization.modules.ModuleAdapter;
import java.rmi.RemoteException;
/**
*
@ -50,7 +48,7 @@ public class EvAComAdapter {
*
* @return
*/
public ModuleAdapter getModuleAdapter(String selectedModuleName, InterfaceGOParameters goParams, String noGuiStatsFile) {
public ModuleAdapter getModuleAdapter(String selectedModuleName, InterfaceOptimizationParameters goParams, String noGuiStatsFile) {
ModuleAdapter newModuleAdapter;
newModuleAdapter = getLocalMainAdapter().getModuleAdapter(selectedModuleName, goParams, noGuiStatsFile);

View File

@ -4,7 +4,7 @@ import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.operators.postprocess.PostProcessParams;
import eva2.optimization.operators.terminators.EvaluationTerminator;
import eva2.optimization.problems.FM0Problem;
import eva2.optimization.modules.GOParameters;
import eva2.optimization.modules.OptimizationParameters;
import java.util.List;
public class TestingCbnPostProc {
@ -14,7 +14,7 @@ public class TestingCbnPostProc {
AbstractEAIndividual best;
List<AbstractEAIndividual> ppSols;
GOParameters esParams = OptimizerFactory.standardCbnES(fm0);
OptimizationParameters esParams = OptimizerFactory.standardCbnES(fm0);
esParams.setTerminator(new EvaluationTerminator(2000));
esParams.setSeed(0);
best = (AbstractEAIndividual)OptimizerFactory.optimizeToInd(esParams, null);

View File

@ -5,7 +5,7 @@ import eva2.optimization.operators.terminators.EvaluationTerminator;
import eva2.optimization.populations.Population;
import eva2.optimization.problems.B1Problem;
import eva2.optimization.strategies.GeneticAlgorithm;
import eva2.optimization.modules.GOParameters;
import eva2.optimization.modules.OptimizationParameters;
import java.util.BitSet;
public class TestingGAB1 {
@ -13,7 +13,7 @@ public class TestingGAB1 {
B1Problem b1 = new B1Problem();
BitSet sol;
// default go-parameter instance with a GA
GOParameters gaParams = OptimizerFactory.standardGA(b1);
OptimizationParameters gaParams = OptimizerFactory.standardGA(b1);
// add an evaluation terminator
gaParams.setTerminator(new EvaluationTerminator(1000));
// set a specific random seed

View File

@ -2,12 +2,12 @@ package eva2.examples;
import eva2.OptimizerFactory;
import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.modules.OptimizationParameters;
import eva2.optimization.operators.crossover.CrossoverESDefault;
import eva2.optimization.operators.mutation.MutateESCovarianceMatrixAdaption;
import eva2.optimization.operators.terminators.EvaluationTerminator;
import eva2.optimization.problems.FM0Problem;
import eva2.optimization.strategies.EvolutionStrategies;
import eva2.optimization.modules.GOParameters;
public class TestingPlusCmaEs {
@ -16,7 +16,7 @@ public class TestingPlusCmaEs {
FM0Problem fm0 = new FM0Problem();
AbstractEAIndividual bestIndy;
// create standard ES parameters
GOParameters esParams = OptimizerFactory.standardES(fm0);
OptimizationParameters esParams = OptimizerFactory.standardES(fm0);
esParams.setTerminator(new EvaluationTerminator(2000));
// set a random seed based on system time
esParams.setSeed(0);

View File

@ -5,7 +5,7 @@ import javax.swing.tree.DefaultMutableTreeNode;
/**
* The node class for the EvA2 tree view panel. Each node contains a parameter object.
* Typically, the tree hierarchy starts with a
* GOParameters object, however this is not necessary.
* OptimizationParameters object, however this is not necessary.
* The tree is constructed using the reflection functionality of PropertySheetPanel
* which is also used to generate the nested panels for parameter configuration.
*

View File

@ -8,7 +8,7 @@ package eva2.optimization;
* $Date: 2007-11-16 17:25:09 +0100 (Fri, 16 Nov 2007) $
* $Author: mkron $
*/
import eva2.optimization.go.InterfaceGOParameters;
import eva2.optimization.go.InterfaceOptimizationParameters;
import eva2.optimization.modules.ModuleAdapter;
/**
*
@ -20,5 +20,5 @@ public interface EvAMainAdapter {
ModuleAdapter getModuleAdapter(String selectedModuleName);
ModuleAdapter getModuleAdapter(String selectedModuleName, InterfaceGOParameters goParams, String noGuiStatsFile);
ModuleAdapter getModuleAdapter(String selectedModuleName, InterfaceOptimizationParameters goParams, String noGuiStatsFile);
}

View File

@ -10,7 +10,7 @@ package eva2.optimization;
* $Author: mkron $
*/
import eva2.EvAInfo;
import eva2.optimization.go.InterfaceGOParameters;
import eva2.optimization.go.InterfaceOptimizationParameters;
import eva2.optimization.modules.ModuleAdapter;
/**
*
@ -35,7 +35,7 @@ public class EvAMainAdapterImpl implements EvAMainAdapter {
}
@Override
public ModuleAdapter getModuleAdapter(String selectedModule, InterfaceGOParameters goParams, String noGuiStatsFile) {
public ModuleAdapter getModuleAdapter(String selectedModule, InterfaceOptimizationParameters goParams, String noGuiStatsFile) {
return moduleServer.createModuleAdapter(selectedModule, goParams, noGuiStatsFile);
}
}

View File

@ -10,7 +10,7 @@ package eva2.optimization;
* $Date: 2007-12-06 16:05:11 +0100 (Thu, 06 Dec 2007) $
* $Author: mkron $
*/
import eva2.optimization.go.InterfaceGOParameters;
import eva2.optimization.go.InterfaceOptimizationParameters;
import eva2.optimization.modules.GOModuleAdapter;
import eva2.optimization.modules.ModuleAdapter;
import eva2.tools.EVAERROR;
@ -105,7 +105,7 @@ public class ModuleServer {
*
* @return the loaded module adapter instance
*/
public ModuleAdapter createModuleAdapter(String selectedModuleName, InterfaceGOParameters goParams, String noGuiLogFile) {
public ModuleAdapter createModuleAdapter(String selectedModuleName, InterfaceOptimizationParameters goParams, String noGuiLogFile) {
moduleAdapterCounter++;
String adapterName = "ERROR MODULADAPTER !!";
String moduleName = null;
@ -147,7 +147,7 @@ public class ModuleServer {
} else {
Object[] param = new Object[4];
param[0] = (String) adapterName;
param[1] = (InterfaceGOParameters) goParams;
param[1] = (InterfaceOptimizationParameters) goParams;
param[2] = (String) noGuiLogFile;
while ((constructorArr[constrIndex].getParameterTypes().length != 4) && (constrIndex < constructorArr.length)) {
constrIndex++;

View File

@ -6,6 +6,7 @@ import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.individuals.ESIndividualDoubleData;
import eva2.optimization.individuals.GAIndividualDoubleData;
import eva2.optimization.individuals.InterfaceDataTypeDouble;
import eva2.optimization.modules.OptimizationParameters;
import eva2.optimization.operators.crossover.CrossoverGAGINPoint;
import eva2.optimization.operators.mutation.InterfaceMutation;
import eva2.optimization.operators.mutation.MutateESFixedStepSize;
@ -17,7 +18,6 @@ import eva2.optimization.problems.F1Problem;
import eva2.optimization.strategies.EvolutionStrategies;
import eva2.optimization.strategies.GeneticAlgorithm;
import eva2.optimization.strategies.InterfaceOptimizer;
import eva2.optimization.modules.GOParameters;
import eva2.tools.math.RNG;
import java.awt.BorderLayout;
import java.awt.List;
@ -58,7 +58,7 @@ public class GOStandaloneVersion implements InterfaceGOStandalone, InterfacePopu
//transient private InterfaceOptimizer optimizer = new EvolutionaryMultiObjectiveOptimization();
//transient private InterfaceOptimizationProblem problem = new TF1Problem();
//transient private int functionCalls = 1000;
private GOParameters m_GO;
private OptimizationParameters m_GO;
transient private int m_MultiRuns = 1;
transient private int m_RecentFC;
transient private int currentExperiment = 0;
@ -88,7 +88,7 @@ public class GOStandaloneVersion implements InterfaceGOStandalone, InterfacePopu
// this.m_List.add("Test2");
// this.m_List.add("Test3");
// this.m_yself = this;
this.m_GO = GOParameters.getInstance();
this.m_GO = OptimizationParameters.getInstance();
this.m_ExperimentName = this.m_GO.getOptimizer().getName() + "-" + this.m_PerformedRuns.size();
this.m_GO.addPopulationChangedEventListener(this);
RNG.setRandomSeed(m_GO.getSeed());
@ -98,7 +98,7 @@ public class GOStandaloneVersion implements InterfaceGOStandalone, InterfacePopu
* This method allows you to get the current GO parameters
*
*/
public GOParameters getGOParameters() {
public OptimizationParameters getGOParameters() {
return this.m_GO;
}

View File

@ -12,7 +12,7 @@ import eva2.optimization.strategies.InterfaceOptimizer;
* Time: 13:14:06
* To change this template use Options | File Templates.
*/
public interface InterfaceGOParameters {
public interface InterfaceOptimizationParameters {
/** This method returns a global info string
* @return description

View File

@ -9,7 +9,7 @@ package eva2.optimization.modules;
* $Date: 2007-12-04 14:22:52 +0100 (Tue, 04 Dec 2007) $
* $Author: mkron $
*/
import eva2.optimization.go.InterfaceGOParameters;
import eva2.optimization.go.InterfaceOptimizationParameters;
import eva2.optimization.go.InterfaceProcessor;
import eva2.optimization.OptimizationStateListener;
import java.io.Serializable;
@ -108,7 +108,7 @@ abstract public class AbstractModuleAdapter implements ModuleAdapter, Serializab
}
}
public InterfaceGOParameters getGOParameters() {
public InterfaceOptimizationParameters getGOParameters() {
if ((processor != null) && (processor instanceof Processor)) {
return ((Processor) processor).getGOParams();
} else {
@ -116,7 +116,7 @@ abstract public class AbstractModuleAdapter implements ModuleAdapter, Serializab
}
}
public void setGOParameters(InterfaceGOParameters goParams) {
public void setGOParameters(InterfaceOptimizationParameters goParams) {
if ((processor != null) && (processor instanceof Processor)) {
((Processor) processor).setGOParams(goParams);
}

View File

@ -1,7 +1,7 @@
package eva2.optimization.modules;
import eva2.gui.BeanInspector;
import eva2.optimization.go.InterfaceGOParameters;
import eva2.optimization.go.InterfaceOptimizationParameters;
import eva2.optimization.go.InterfaceNotifyOnInformers;
import eva2.optimization.go.InterfacePopulationChangedEventListener;
import eva2.optimization.go.InterfaceTerminator;
@ -20,8 +20,8 @@ import java.util.logging.Level;
import java.util.logging.Logger;
public abstract class AbstractGOParameters implements InterfaceGOParameters, Serializable {
protected static final Logger LOGGER = Logger.getLogger(AbstractGOParameters.class.getName());
public abstract class AbstractOptimizationParameters implements InterfaceOptimizationParameters, Serializable {
protected static final Logger LOGGER = Logger.getLogger(AbstractOptimizationParameters.class.getName());
protected long randomSeed = (long)0.0;
// Opt. Algorithms and Parameters
@ -32,20 +32,20 @@ public abstract class AbstractGOParameters implements InterfaceGOParameters, Ser
transient protected InterfacePopulationChangedEventListener populationChangedEventListener;
transient private List<InterfaceNotifyOnInformers> toInformAboutInformers = null;
protected AbstractGOParameters() {
protected AbstractOptimizationParameters() {
}
protected AbstractGOParameters(AbstractGOParameters goParameters) {
protected AbstractOptimizationParameters(AbstractOptimizationParameters optimizationParameters) {
this();
this.optimizer = goParameters.optimizer;
this.problem = goParameters.problem;
this.terminator = goParameters.terminator;
this.optimizer = optimizationParameters.optimizer;
this.problem = optimizationParameters.problem;
this.terminator = optimizationParameters.terminator;
this.optimizer.setProblem(this.problem);
this.randomSeed = goParameters.randomSeed;
this.postProcessing = goParameters.postProcessing;
this.randomSeed = optimizationParameters.randomSeed;
this.postProcessing = optimizationParameters.postProcessing;
}
public AbstractGOParameters(InterfaceOptimizer opt, InterfaceOptimizationProblem prob, InterfaceTerminator term) {
public AbstractOptimizationParameters(InterfaceOptimizer opt, InterfaceOptimizationProblem prob, InterfaceTerminator term) {
this();
optimizer = opt;
problem = prob;
@ -57,15 +57,15 @@ public abstract class AbstractGOParameters implements InterfaceGOParameters, Ser
/**
* Apply the given GO parameter settings to this instance. This maintains the listeners etc.
*
* @param src
* @param parameters
*/
public void setSameParams(AbstractGOParameters src) {
setOptimizer(src.optimizer);
setProblem(src.problem);
setTerminator(src.terminator);
public void setSameParams(AbstractOptimizationParameters parameters) {
setOptimizer(parameters.optimizer);
setProblem(parameters.problem);
setTerminator(parameters.terminator);
this.optimizer.setProblem(this.problem);
setSeed(src.randomSeed);
setPostProcessParams(src.postProcessing);
setSeed(parameters.randomSeed);
setPostProcessParams(parameters.postProcessing);
}
/**

View File

@ -1,7 +1,7 @@
package eva2.optimization.modules;
import eva2.optimization.go.InterfaceGOParameters;
import eva2.optimization.go.InterfaceOptimizationParameters;
import eva2.optimization.enums.DETypeEnum;
import eva2.optimization.operators.terminators.EvaluationTerminator;
import eva2.optimization.populations.Population;
@ -22,7 +22,7 @@ import java.util.logging.Level;
* Time: 13:49:09
* To change this template use File | Settings | File Templates.
*/
public class DEParameters extends AbstractGOParameters implements InterfaceGOParameters, Serializable {
public class DEParameters extends AbstractOptimizationParameters implements InterfaceOptimizationParameters, Serializable {
/**

View File

@ -1,7 +1,7 @@
package eva2.optimization.modules;
import eva2.optimization.go.InterfaceGOParameters;
import eva2.optimization.go.InterfaceOptimizationParameters;
import eva2.optimization.operators.selection.InterfaceSelection;
import eva2.optimization.operators.terminators.EvaluationTerminator;
import eva2.optimization.populations.Population;
@ -23,7 +23,7 @@ import java.util.logging.Logger;
* Time: 13:49:09
* To change this template use File | Settings | File Templates.
*/
public class EPParameters extends AbstractGOParameters implements InterfaceGOParameters, Serializable {
public class EPParameters extends AbstractOptimizationParameters implements InterfaceOptimizationParameters, Serializable {
private static final Logger LOGGER = Logger.getLogger(EPParameters.class.getName());

View File

@ -1,6 +1,6 @@
package eva2.optimization.modules;
import eva2.optimization.go.InterfaceGOParameters;
import eva2.optimization.go.InterfaceOptimizationParameters;
import eva2.optimization.operators.selection.InterfaceSelection;
import eva2.optimization.operators.terminators.EvaluationTerminator;
import eva2.optimization.populations.Population;
@ -22,7 +22,7 @@ import java.util.logging.Logger;
* Time: 21:29:34
* To change this template use File | Settings | File Templates.
*/
public class GAParameters extends AbstractGOParameters implements InterfaceGOParameters, Serializable {
public class GAParameters extends AbstractOptimizationParameters implements InterfaceOptimizationParameters, Serializable {
private static final Logger LOGGER = Logger.getLogger(GAParameters.class.getName());

View File

@ -1,6 +1,6 @@
package eva2.optimization.modules;
import eva2.optimization.go.InterfaceGOParameters;
import eva2.optimization.go.InterfaceOptimizationParameters;
import java.io.Serializable;
@ -25,26 +25,26 @@ public class GOModuleAdapter extends GenericModuleAdapter implements ModuleAdapt
* @param Client the client instance
*/
public GOModuleAdapter(String adapterName) {
super(adapterName, "", GOParameters.getInstance(), false);
super(adapterName, "", OptimizationParameters.getInstance(), false);
}
/**
* Starts a statistics GUI and the GOProcessor thread with a given GOParameters file.
* Starts a statistics GUI and the GOProcessor thread with a given OptimizationParameters file.
*
* @param AdapterName the title of the ModulAdapter
* @param Client the client instance
*/
public GOModuleAdapter(String adapterName, InterfaceGOParameters goParams, String noGuiLogFile) {
public GOModuleAdapter(String adapterName, InterfaceOptimizationParameters goParams, String noGuiLogFile) {
super(adapterName, "", goParams, false, noGuiLogFile);
}
// /**
// * Starts a statistics GUI and the GOProcessor thread with a given GOParameters file.
// * Starts a statistics GUI and the GOProcessor thread with a given OptimizationParameters file.
// *
// * @param AdapterName the title of the ModulAdapter
// * @param Client the client instance
// */
// public GOModuleAdapter(String adapterName, String serParamsFile, String noGuiLogFile, MainAdapterClient client) {
// //super(adapterName, "", client, GOParameters.getInstance(serParamsFile, false), false);
// super(adapterName, "", client, GOParameters.getInstance(serParamsFile, serParamsFile==null), false, noGuiLogFile);
// //super(adapterName, "", client, OptimizationParameters.getInstance(serParamsFile, false), false);
// super(adapterName, "", client, OptimizationParameters.getInstance(serParamsFile, serParamsFile==null), false, noGuiLogFile);
// }
}

View File

@ -5,7 +5,7 @@ import eva2.gui.EvAModuleButtonPanelMaker;
import eva2.gui.EvATabbedFrameMaker;
import eva2.gui.GenericObjectEditor;
import eva2.gui.JParaPanel;
import eva2.optimization.go.InterfaceGOParameters;
import eva2.optimization.go.InterfaceOptimizationParameters;
import eva2.optimization.stat.AbstractStatistics;
import eva2.optimization.stat.EvAJob;
import eva2.optimization.stat.EvAJobList;
@ -13,7 +13,6 @@ import eva2.optimization.stat.InterfaceStatisticsParameter;
import eva2.optimization.stat.StatisticsStandalone;
import eva2.optimization.stat.StatisticsWithGUI;
import java.io.Serializable;
import java.lang.reflect.Proxy;
public class GenericModuleAdapter extends AbstractModuleAdapter implements Serializable {
@ -33,7 +32,7 @@ public class GenericModuleAdapter extends AbstractModuleAdapter implements Seria
* @param noGUIStatOut If null, statistics with GUI are used, else the standalone statistics
* with given output filename.
*/
public GenericModuleAdapter(String adapterName, String helperFName, InterfaceGOParameters params, boolean optimizerExpert, String noGUIStatOut) {
public GenericModuleAdapter(String adapterName, String helperFName, InterfaceOptimizationParameters params, boolean optimizerExpert, String noGUIStatOut) {
remoteModuleAdapter = this;
this.adapterName = adapterName;
helperFilename = helperFName;
@ -64,7 +63,7 @@ public class GenericModuleAdapter extends AbstractModuleAdapter implements Seria
* @param params a parameter set describing the optimizer module
* @param optimizerExpert set to true if setting the optimizer is an expert option being hidden from the gui
*/
public GenericModuleAdapter(String adapterName, String helperFName, InterfaceGOParameters params, boolean optimizerExpert) {
public GenericModuleAdapter(String adapterName, String helperFName, InterfaceOptimizationParameters params, boolean optimizerExpert) {
this(adapterName, helperFName, params, optimizerExpert, null);
}
@ -92,7 +91,7 @@ public class GenericModuleAdapter extends AbstractModuleAdapter implements Seria
EvAModuleButtonPanelMaker ButtonPanel = new EvAModuleButtonPanelMaker(remoteModuleAdapter, ((Processor) processor).isOptRunning());
ButtonPanel.setHelperFilename(helperFilename);
frmMkr.addPanelMaker(ButtonPanel);
InterfaceGOParameters goParams = ((Processor) processor).getGOParams();
InterfaceOptimizationParameters goParams = ((Processor) processor).getGOParams();
frmMkr.addPanelMaker(paramPanel = new JParaPanel(goParams, goParams.getName()));
@ -144,7 +143,7 @@ public class GenericModuleAdapter extends AbstractModuleAdapter implements Seria
}
@Override
public void setGOParameters(InterfaceGOParameters goParams) {
public void setGOParameters(InterfaceOptimizationParameters goParams) {
super.setGOParameters(goParams);
paramPanel.getEditor().setValue(goParams);
}

View File

@ -1,6 +1,6 @@
package eva2.optimization.modules;
import eva2.optimization.go.InterfaceGOParameters;
import eva2.optimization.go.InterfaceOptimizationParameters;
import eva2.optimization.operators.terminators.EvaluationTerminator;
import eva2.optimization.populations.Population;
import eva2.optimization.problems.B1Problem;
@ -21,7 +21,7 @@ import java.util.logging.Level;
* Time: 21:19:20
* To change this template use File | Settings | File Templates.
*/
public class HCParameters extends AbstractGOParameters implements InterfaceGOParameters, Serializable {
public class HCParameters extends AbstractOptimizationParameters implements InterfaceOptimizationParameters, Serializable {
/**
* Load or create a new instance of the class.

View File

@ -1,6 +1,6 @@
package eva2.optimization.modules;
import eva2.optimization.go.InterfaceGOParameters;
import eva2.optimization.go.InterfaceOptimizationParameters;
import eva2.optimization.operators.terminators.EvaluationTerminator;
import eva2.optimization.populations.Population;
import eva2.optimization.problems.B1Problem;
@ -20,7 +20,7 @@ import java.util.logging.Level;
* Time: 21:07:40
* To change this template use File | Settings | File Templates.
*/
public class MCParameters extends AbstractGOParameters implements InterfaceGOParameters, Serializable {
public class MCParameters extends AbstractOptimizationParameters implements InterfaceOptimizationParameters, Serializable {
/**
* Load or create a new instance of the class.

View File

@ -1,6 +1,6 @@
package eva2.optimization.modules;
import eva2.optimization.go.InterfaceGOParameters;
import eva2.optimization.go.InterfaceOptimizationParameters;
import eva2.optimization.operators.archiving.InterfaceArchiving;
import eva2.optimization.operators.archiving.InterfaceInformationRetrieval;
import eva2.optimization.operators.terminators.EvaluationTerminator;
@ -22,7 +22,7 @@ import java.util.logging.Level;
* Time: 13:49:09
* To change this template use File | Settings | File Templates.
*/
public class MOEAParameters extends AbstractGOParameters implements InterfaceGOParameters, Serializable {
public class MOEAParameters extends AbstractOptimizationParameters implements InterfaceOptimizationParameters, Serializable {
/**
* Load or create a new instance of the class.

View File

@ -1,6 +1,6 @@
package eva2.optimization.modules;
import eva2.optimization.go.InterfaceGOParameters;
import eva2.optimization.go.InterfaceOptimizationParameters;
import eva2.optimization.go.InterfaceTerminator;
import eva2.optimization.operators.terminators.EvaluationTerminator;
import eva2.optimization.problems.F1Problem;
@ -23,10 +23,10 @@ import java.util.logging.Level;
* $Date: 2007-12-04 14:22:52 +0100 (Tue, 04 Dec 2007) $
* $Author: mkron $
*/
public class GOParameters extends AbstractGOParameters implements InterfaceGOParameters, Serializable {
public class OptimizationParameters extends AbstractOptimizationParameters implements InterfaceOptimizationParameters, Serializable {
public static GOParameters getInstance() {
return getInstance("GOParameters.ser", true);
public static OptimizationParameters getInstance() {
return getInstance("OptimizationParameters.ser", true);
}
/**
@ -34,36 +34,36 @@ public class GOParameters extends AbstractGOParameters implements InterfaceGOPar
*
* @param serParamFile
* @param casually if true, standard parameters are used quietly if the params cannot be loaded
* @return a GOParameters instance
* @return a OptimizationParameters instance
*/
public static GOParameters getInstance(String serParamFile, final boolean casually) {
GOParameters instance = null;
public static OptimizationParameters getInstance(String serParamFile, final boolean casually) {
OptimizationParameters instance = null;
try {
FileInputStream fileStream = new FileInputStream(serParamFile);
instance = (GOParameters) Serializer.loadObject(fileStream, casually);
instance = (OptimizationParameters) Serializer.loadObject(fileStream, casually);
} catch (FileNotFoundException ex) {
LOGGER.log(Level.WARNING, "Could not load instance object.", ex);
}
if (instance == null) {
instance = new GOParameters();
instance = new OptimizationParameters();
}
return instance;
}
public GOParameters() {
public OptimizationParameters() {
super(new GeneticAlgorithm(), new F1Problem(), new EvaluationTerminator(1000));
}
public GOParameters(InterfaceOptimizer opt, InterfaceOptimizationProblem prob, InterfaceTerminator term) {
public OptimizationParameters(InterfaceOptimizer opt, InterfaceOptimizationProblem prob, InterfaceTerminator term) {
super(opt, prob, term);
}
/**
*
*/
private GOParameters(GOParameters Source) {
super(Source);
private OptimizationParameters(OptimizationParameters parameters) {
super(parameters);
}
/**
*
@ -77,7 +77,7 @@ public class GOParameters extends AbstractGOParameters implements InterfaceGOPar
*/
@Override
public Object clone() {
return new GOParameters(this);
return new OptimizationParameters(this);
}
/** This method returns a global info string.

View File

@ -1,6 +1,6 @@
package eva2.optimization.modules;
import eva2.optimization.go.InterfaceGOParameters;
import eva2.optimization.go.InterfaceOptimizationParameters;
import eva2.optimization.operators.selection.InterfaceSelection;
import eva2.optimization.operators.terminators.EvaluationTerminator;
import eva2.optimization.populations.Population;
@ -22,7 +22,7 @@ import java.util.logging.Level;
* Time: 21:53:29
* To change this template use File | Settings | File Templates.
*/
public class PBILParameters extends AbstractGOParameters implements InterfaceGOParameters, Serializable {
public class PBILParameters extends AbstractOptimizationParameters implements InterfaceOptimizationParameters, Serializable {
/**
* Load or create a new instance of the class.

View File

@ -2,7 +2,7 @@ package eva2.optimization.modules;
import eva2.gui.GenericObjectEditor;
import eva2.optimization.go.InterfaceGOParameters;
import eva2.optimization.go.InterfaceOptimizationParameters;
import eva2.optimization.enums.PSOTopologyEnum;
import eva2.optimization.operators.terminators.EvaluationTerminator;
import eva2.optimization.populations.Population;
@ -24,7 +24,7 @@ import java.util.logging.Level;
* Time: 17:58:37
* To change this template use File | Settings | File Templates.
*/
public class PSOParameters extends AbstractGOParameters implements InterfaceGOParameters, Serializable {
public class PSOParameters extends AbstractOptimizationParameters implements InterfaceOptimizationParameters, Serializable {
/**
* Load or create a new instance of the class.

View File

@ -1,11 +1,7 @@
package eva2.optimization.modules;
import eva2.optimization.go.InterfaceNotifyOnInformers;
import eva2.optimization.go.PopulationInterface;
import eva2.optimization.go.InterfaceProcessor;
import eva2.optimization.go.InterfaceTerminator;
import eva2.optimization.go.InterfaceGOParameters;
import eva2.optimization.go.InterfacePopulationChangedEventListener;
import eva2.optimization.go.*;
import eva2.optimization.go.InterfaceOptimizationParameters;
import eva2.gui.BeanInspector;
import eva2.optimization.OptimizationStateListener;
import eva2.optimization.operators.paramcontrol.ConstantParameters;
@ -51,7 +47,7 @@ public class Processor extends Thread implements InterfaceProcessor, InterfacePo
private static final Logger LOGGER = Logger.getLogger(Processor.class.getName());
private volatile boolean isOptimizationRunning;
private InterfaceStatistics m_Statistics;
private InterfaceGOParameters goParams;
private InterfaceOptimizationParameters goParams;
private boolean m_createInitialPopulations = true;
private boolean saveParams = true;
private OptimizationStateListener optimizationStateListener;
@ -76,7 +72,7 @@ public class Processor extends Thread implements InterfaceProcessor, InterfacePo
*
* @see InterfaceNotifyOnInformers
*/
public Processor(InterfaceStatistics Stat, ModuleAdapter moduleAdapter, InterfaceGOParameters params) {
public Processor(InterfaceStatistics Stat, ModuleAdapter moduleAdapter, InterfaceOptimizationParameters params) {
goParams = params;
m_Statistics = Stat;
optimizationStateListener = moduleAdapter;
@ -321,17 +317,17 @@ public class Processor extends Thread implements InterfaceProcessor, InterfacePo
}
}
private void maybeInitParamCtrl(InterfaceGOParameters goParams) {
private void maybeInitParamCtrl(InterfaceOptimizationParameters goParams) {
iterateParamCtrl(goParams.getOptimizer(), "init", new Object[]{goParams.getOptimizer(), goParams.getOptimizer().getPopulation()});
iterateParamCtrl(goParams.getProblem(), "init", new Object[]{goParams.getProblem(), goParams.getOptimizer().getPopulation()});
}
private void maybeFinishParamCtrl(InterfaceGOParameters goParams) {
private void maybeFinishParamCtrl(InterfaceOptimizationParameters goParams) {
iterateParamCtrl(goParams.getOptimizer(), "finish", new Object[]{goParams.getOptimizer(), goParams.getOptimizer().getPopulation()});
iterateParamCtrl(goParams.getProblem(), "finish", new Object[]{goParams.getProblem(), goParams.getOptimizer().getPopulation()});
}
private void maybeUpdateParamCtrl(InterfaceGOParameters goParams) {
private void maybeUpdateParamCtrl(InterfaceOptimizationParameters goParams) {
Object[] args;
InterfaceTerminator terminator = goParams.getTerminator();
InterfaceOptimizer optimizer = goParams.getOptimizer();
@ -451,11 +447,11 @@ public class Processor extends Thread implements InterfaceProcessor, InterfacePo
/**
* These methods allow you to get and set the Module Parameters.
*/
public InterfaceGOParameters getGOParams() {
public InterfaceOptimizationParameters getGOParams() {
return goParams;
}
public void setGOParams(InterfaceGOParameters params) {
public void setGOParams(InterfaceOptimizationParameters params) {
if (params != null) {
goParams = params;
} else {

View File

@ -1,6 +1,6 @@
package eva2.optimization.modules;
import eva2.optimization.go.InterfaceGOParameters;
import eva2.optimization.go.InterfaceOptimizationParameters;
import eva2.optimization.go.InterfacePopulationChangedEventListener;
import eva2.optimization.go.InterfaceTerminator;
import eva2.optimization.operators.terminators.EvaluationTerminator;
@ -23,7 +23,7 @@ import java.util.logging.Level;
* Time: 21:25:12
* To change this template use File | Settings | File Templates.
*/
public class SAParameters extends AbstractGOParameters implements InterfaceGOParameters, Serializable {
public class SAParameters extends AbstractOptimizationParameters implements InterfaceOptimizationParameters, Serializable {
// Opt. Algorithms and Parameters
private InterfaceOptimizer m_Optimizer = new SimulatedAnnealing();
private InterfaceOptimizationProblem m_Problem = new B1Problem();

View File

@ -1,6 +1,6 @@
package eva2.optimization.modules;
import eva2.optimization.go.InterfaceGOParameters;
import eva2.optimization.go.InterfaceOptimizationParameters;
import eva2.optimization.operators.selection.InterfaceSelection;
import eva2.optimization.operators.selection.replacement.InterfaceReplacement;
import eva2.optimization.operators.terminators.EvaluationTerminator;
@ -22,7 +22,7 @@ import java.util.logging.Level;
* Time: 15:44:34
* To change this template use File | Settings | File Templates.
*/
public class SSGAParameters extends AbstractGOParameters implements InterfaceGOParameters, Serializable {
public class SSGAParameters extends AbstractOptimizationParameters implements InterfaceOptimizationParameters, Serializable {
/**
* Load or create a new instance of the class.

View File

@ -37,7 +37,7 @@ import eva2.optimization.strategies.EvolutionStrategies;
import eva2.optimization.strategies.GradientDescentAlgorithm;
import eva2.optimization.strategies.HillClimbing;
import eva2.optimization.strategies.NelderMeadSimplex;
import eva2.optimization.modules.GOParameters;
import eva2.optimization.modules.OptimizationParameters;
import eva2.optimization.stat.InterfaceTextListener;
import eva2.optimization.stat.StatisticsParameter;
import eva2.tools.Pair;
@ -526,7 +526,7 @@ public class PostProcess {
}
es.initByPopulation(pop, false);
GOParameters cmaParams = OptimizerFactory.makeParams(es, pop, problem, 0, term);
OptimizationParameters cmaParams = OptimizerFactory.makeParams(es, pop, problem, 0, term);
int funCallsBefore = pop.getFunctionCalls();
pop.SetFunctionCalls(baseEvals);

View File

@ -5,6 +5,7 @@ import eva2.OptimizerRunnable;
import eva2.client.EvAClient;
import eva2.gui.BeanInspector;
import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.modules.OptimizationParameters;
import eva2.optimization.operators.crossover.CrossoverESDefault;
import eva2.optimization.operators.moso.MOSONoConvert;
import eva2.optimization.operators.moso.MOSOWeightedFitness;
@ -15,7 +16,6 @@ import eva2.optimization.populations.InterfaceSolutionSet;
import eva2.optimization.populations.Population;
import eva2.optimization.strategies.GeneticAlgorithm;
import eva2.optimization.strategies.InterfaceOptimizer;
import eva2.optimization.modules.GOParameters;
import eva2.optimization.stat.StatisticsStandalone;
import eva2.tools.BasicResourceLoader;
import eva2.tools.StringTools;
@ -83,7 +83,7 @@ public class ERPStarter {
System.out.println("Optimizer instance: " + BeanInspector.toString(opt));
System.out.println("Problem instance: " + BeanInspector.toString(erp));
// Instantiate optimization
GOParameters params = new GOParameters(opt, erp, new EvaluationTerminator(maxEvals));
OptimizationParameters params = new OptimizationParameters(opt, erp, new EvaluationTerminator(maxEvals));
if (startGUI) {
EvAClient.initClientGUI(params, null, null, null);
} else {

View File

@ -5,9 +5,9 @@ import eva2.optimization.go.GOStandaloneVersion;
import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.individuals.ESIndividualDoubleData;
import eva2.optimization.individuals.InterfaceDataTypeDouble;
import eva2.optimization.modules.OptimizationParameters;
import eva2.optimization.populations.Population;
import eva2.optimization.strategies.InterfaceOptimizer;
import eva2.optimization.modules.GOParameters;
import eva2.tools.math.RNG;
import java.awt.BasicStroke;
import java.awt.BorderLayout;
@ -475,7 +475,7 @@ implements InterfaceOptimizationProblem, InterfaceHasSolutionViewer, java.io.Ser
FLensProblem f = new FLensProblem();
System.out.println("Working Dir " +System.getProperty("user.dir"));
GOStandaloneVersion program = new GOStandaloneVersion();
GOParameters GO = program.getGOParameters();
OptimizationParameters GO = program.getGOParameters();
GO.setProblem(f);
RNG.setRandomSeed(1);
program.initFrame();

View File

@ -1,7 +1,7 @@
package eva2.optimization.stat;
import eva2.gui.BeanInspector;
import eva2.optimization.go.InterfaceGOParameters;
import eva2.optimization.go.InterfaceOptimizationParameters;
import eva2.tools.StringSelection;
import java.io.Serializable;
import java.util.List;
@ -19,7 +19,7 @@ import java.util.List;
public class EvAJob implements Serializable, InterfaceStatisticsListener {
private static final boolean TRACE = false;
private InterfaceGOParameters params = null;
private InterfaceOptimizationParameters params = null;
private String[] fieldHeaders = null;
private List<Object[]> multiRunFinalObjectData = null;
private int jobID=0;
@ -36,7 +36,7 @@ public class EvAJob implements Serializable, InterfaceStatisticsListener {
jobIDCounter++;
}
public EvAJob(InterfaceGOParameters params, InterfaceStatistics sts) {
public EvAJob(InterfaceOptimizationParameters params, InterfaceStatistics sts) {
this();
this.params = params;
if (sts instanceof AbstractStatistics) {
@ -58,7 +58,7 @@ public class EvAJob implements Serializable, InterfaceStatisticsListener {
multiRunFinalObjectData=null;
}
public InterfaceGOParameters getParams() {
public InterfaceOptimizationParameters getParams() {
return params;
}
@ -67,7 +67,7 @@ public class EvAJob implements Serializable, InterfaceStatisticsListener {
*
* @param params
*/
public void setParams(InterfaceGOParameters params) {
public void setParams(InterfaceOptimizationParameters params) {
// how should this be treated? In case the run is already finished, changing
// the parameters will be evil, so avoid that case.
if (state==StateEnum.complete) {
@ -134,7 +134,7 @@ public class EvAJob implements Serializable, InterfaceStatisticsListener {
return multiRunFinalObjectData;
}
public InterfaceGOParameters getGOParams() {
public InterfaceOptimizationParameters getGOParams() {
return params;
}

View File

@ -3,9 +3,9 @@ package eva2.optimization.stat;
import eva2.gui.GenericArrayEditor;
import eva2.gui.JParaPanel;
import eva2.gui.PropertySelectableList;
import eva2.optimization.go.InterfaceGOParameters;
import eva2.optimization.go.InterfaceOptimizationParameters;
import eva2.optimization.modules.AbstractOptimizationParameters;
import eva2.optimization.tools.FileTools;
import eva2.optimization.modules.AbstractGOParameters;
import eva2.optimization.modules.AbstractModuleAdapter;
import eva2.optimization.modules.GenericModuleAdapter;
import eva2.optimization.modules.ModuleAdapter;
@ -24,7 +24,7 @@ import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
/**
* A selectable list of EvAJobs. Each job contains a GOParameters instance and potentially
* A selectable list of EvAJobs. Each job contains a OptimizationParameters instance and potentially
* statistical data.
*
* @author mkron
@ -53,8 +53,8 @@ public class EvAJobList extends PropertySelectableList<EvAJob> implements Serial
* @param params
* @param stats
*/
public EvAJob addJob(InterfaceGOParameters params, AbstractStatistics stats) {
EvAJob job = new EvAJob((InterfaceGOParameters) Serializer.deepClone(params), stats);
public EvAJob addJob(InterfaceOptimizationParameters params, AbstractStatistics stats) {
EvAJob job = new EvAJob((InterfaceOptimizationParameters) Serializer.deepClone(params), stats);
stats.addDataListener(job);
addJob(job, true);
return job;
@ -138,13 +138,13 @@ public class EvAJobList extends PropertySelectableList<EvAJob> implements Serial
/**
* Search for a job in the list which has the given parameter structure assigned. This is tested
* by reference, so the exact same instance of InterfaceGOParameters must be known. If no
* by reference, so the exact same instance of InterfaceOptimizationParameters must be known. If no
* matching job is found, null is returned.
*
* @param params
* @return
*/
public EvAJob getJobOf(InterfaceGOParameters params) {
public EvAJob getJobOf(InterfaceOptimizationParameters params) {
for (EvAJob job : getObjects()) {
if (job.getGOParams() == params) {
return job;
@ -212,8 +212,8 @@ public class EvAJobList extends PropertySelectableList<EvAJob> implements Serial
List<EvAJob> jobs = jobList.getSelectedJobs();
if (jobs.size() == 1) {
EvAJob job = jobs.get(0);
AbstractGOParameters curParams = (AbstractGOParameters) ((AbstractModuleAdapter) jobList.module).getGOParameters();
curParams.setSameParams((AbstractGOParameters) job.getGOParams());
AbstractOptimizationParameters curParams = (AbstractOptimizationParameters) ((AbstractModuleAdapter) jobList.module).getGOParameters();
curParams.setSameParams((AbstractOptimizationParameters) job.getGOParams());
((GenericModuleAdapter) jobList.module).setGOParameters(curParams);
((GenericModuleAdapter) jobList.module).getStatistics().getStatisticsParameter().setMultiRuns(job.getNumRuns());
((GenericModuleAdapter) jobList.module).getStatistics().getStatisticsParameter().setFieldSelection(job.getFieldSelection(((GenericModuleAdapter) jobList.module).getStatistics().getStatisticsParameter().getFieldSelection()));

View File

@ -7,6 +7,7 @@ import eva2.optimization.go.PopulationInterface;
import eva2.optimization.enums.PSOTopologyEnum;
import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.individuals.InterfaceDataTypeDouble;
import eva2.optimization.modules.OptimizationParameters;
import eva2.optimization.operators.nichepso.deactivation.StandardDeactivationStrategy;
import eva2.optimization.operators.paramcontrol.LinearParamAdaption;
import eva2.optimization.operators.paramcontrol.ParamAdaption;
@ -15,7 +16,6 @@ import eva2.optimization.populations.Population;
import eva2.optimization.problems.AbstractOptimizationProblem;
import eva2.optimization.problems.Interface2DBorderProblem;
import eva2.optimization.problems.InterfaceAdditionalPopulationInformer;
import eva2.optimization.modules.GOParameters;
import eva2.tools.ToolBox;
import eva2.tools.chart2d.DPoint;
import eva2.tools.chart2d.DPointSet;
@ -951,7 +951,7 @@ public class ANPSO extends NichePSO implements InterfaceOptimizer, InterfaceAddi
return "sets the range of the neighborhood topology for the main swarm";
}
public static final GOParameters aNichePSO(AbstractOptimizationProblem problem, long randSeed, InterfaceTerminator term) {
public static final OptimizationParameters aNichePSO(AbstractOptimizationProblem problem, long randSeed, InterfaceTerminator term) {
ANPSO anpso = new ANPSO();
anpso.setMainSwarmSize(75);
@ -966,7 +966,7 @@ public class ANPSO extends NichePSO implements InterfaceOptimizer, InterfaceAddi
* @param evalCnt
* @return
*/
public static final GOParameters stdANPSO(AbstractOptimizationProblem problem, long randSeed, int evalCnt) {
public static final OptimizationParameters stdANPSO(AbstractOptimizationProblem problem, long randSeed, int evalCnt) {
ANPSO anpso = new ANPSO();
NichePSO.stdNPSO(anpso, problem, randSeed, evalCnt);
@ -985,7 +985,7 @@ public class ANPSO extends NichePSO implements InterfaceOptimizer, InterfaceAddi
return OptimizerFactory.makeParams(anpso, anpso.getMainSwarmSize(), problem, randSeed, new EvaluationTerminator(evalCnt));
}
public static final GOParameters starANPSO(AbstractOptimizationProblem problem, long randSeed, int evalCnt) {
public static final OptimizationParameters starANPSO(AbstractOptimizationProblem problem, long randSeed, int evalCnt) {
ANPSO anpso = new ANPSO();
NichePSO.starNPSO(anpso, problem, randSeed, evalCnt);
@ -1006,7 +1006,7 @@ public class ANPSO extends NichePSO implements InterfaceOptimizer, InterfaceAddi
return OptimizerFactory.makeParams(anpso, anpso.getMainSwarmSize(), problem, randSeed, new EvaluationTerminator(evalCnt));
}
public static final GOParameters gmakANPSO(AbstractOptimizationProblem problem, long randSeed, int evalCnt) {
public static final OptimizationParameters gmakANPSO(AbstractOptimizationProblem problem, long randSeed, int evalCnt) {
ANPSO anpso = new ANPSO();
NichePSO.starNPSO(anpso, problem, randSeed, evalCnt);
@ -1036,7 +1036,7 @@ public class ANPSO extends NichePSO implements InterfaceOptimizer, InterfaceAddi
* @param evalCnt
* @return
*/
public static final GOParameters sgANPSO(AbstractOptimizationProblem problem, long randSeed, int evalCnt) {
public static final OptimizationParameters sgANPSO(AbstractOptimizationProblem problem, long randSeed, int evalCnt) {
return starTopoANPSO(problem, randSeed, evalCnt, 1, 2);
}
@ -1050,8 +1050,8 @@ public class ANPSO extends NichePSO implements InterfaceOptimizer, InterfaceAddi
* @param topologyRange
* @return
*/
public static final GOParameters starTopoANPSO(AbstractOptimizationProblem problem, long randSeed, int evalCnt, int topology, int topologyRange) {
GOParameters params = starANPSO(problem, randSeed, evalCnt);
public static final OptimizationParameters starTopoANPSO(AbstractOptimizationProblem problem, long randSeed, int evalCnt, int topology, int topologyRange) {
OptimizationParameters params = starANPSO(problem, randSeed, evalCnt);
((ANPSO)params.getOptimizer()).SetMainSwarmTopologyTag(topology);
((ANPSO)params.getOptimizer()).setMainSwarmTopologyRange(topologyRange);
((ANPSO)params.getOptimizer()).getMainSwarm().setInertnessOrChi(0.73);

View File

@ -18,6 +18,8 @@ import eva2.optimization.problems.InterfaceOptimizationProblem;
import eva2.tools.EVAERROR;
import eva2.tools.math.Mathematics;
import eva2.tools.math.RNG;
import eva2.util.annotation.Parameter;
import java.util.Vector;
/**
@ -35,9 +37,16 @@ public class DifferentialEvolution implements InterfaceOptimizer, java.io.Serial
protected transient Population children = null;
protected AbstractOptimizationProblem m_Problem = new F1Problem();
private DETypeEnum m_DEType;
@Parameter(name = "F", description = "Differential Weight")
private double m_F = 0.8;
@Parameter(name = "CR", description = "Crossover Rate")
private double m_k = 0.6; // AKA CR
@Parameter(name = "Lambda", description = "Lambda")
private double m_Lambda = 0.6;
private double m_Mt = 0.05;
private int maximumAge = -1;
private boolean reEvaluate = false;

View File

@ -9,6 +9,7 @@ import eva2.optimization.go.PopulationInterface;
import eva2.optimization.enums.PSOTopologyEnum;
import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.individuals.InterfaceDataTypeDouble;
import eva2.optimization.modules.OptimizationParameters;
import eva2.optimization.operators.nichepso.absorption.EuclideanDiversityAbsorptionStrategy;
import eva2.optimization.operators.nichepso.absorption.InterfaceAbsorptionStrategy;
import eva2.optimization.operators.nichepso.absorption.StandardAbsorptionStrategy;
@ -32,7 +33,6 @@ import eva2.optimization.problems.InterfaceAdditionalPopulationInformer;
import eva2.optimization.problems.InterfaceMultimodalProblem;
import eva2.optimization.problems.InterfaceMultimodalProblemKnown;
import eva2.optimization.problems.InterfaceOptimizationProblem;
import eva2.optimization.modules.GOParameters;
import eva2.tools.SelectedTag;
import eva2.tools.chart2d.Chart2DDPointIconCircle;
import eva2.tools.chart2d.Chart2DDPointIconContent;
@ -2140,7 +2140,7 @@ public class NichePSO implements InterfaceAdditionalPopulationInformer, Interfac
return date;
}
public static final GOParameters nichePSO(AbstractOptimizationProblem problem, long randSeed, InterfaceTerminator term) {
public static final OptimizationParameters nichePSO(AbstractOptimizationProblem problem, long randSeed, InterfaceTerminator term) {
NichePSO npso = new NichePSO();
npso.setMainSwarmSize(75);
@ -2154,7 +2154,7 @@ public class NichePSO implements InterfaceAdditionalPopulationInformer, Interfac
*
* The evaluation count is required currently due to the
* generation-dependent intertness decay used by the std. variant. To alter
* the terminator, use GOParameters.setTerminator(), and mind the intertness
* the terminator, use OptimizationParameters.setTerminator(), and mind the intertness
* behavior of the NichePSO, which can be altered by using
* getMainSwarm().setInertnessAging(InterfaceParameteraging)
*
@ -2163,11 +2163,11 @@ public class NichePSO implements InterfaceAdditionalPopulationInformer, Interfac
* @param evalCnt
* @return
*/
public static final GOParameters stdNPSO(AbstractOptimizationProblem problem, long randSeed, int evalCnt) {
public static final OptimizationParameters stdNPSO(AbstractOptimizationProblem problem, long randSeed, int evalCnt) {
return stdNPSO(null, problem, randSeed, evalCnt);
}
public static final GOParameters starNPSO(AbstractOptimizationProblem problem, long randSeed, int evalCnt) {
public static final OptimizationParameters starNPSO(AbstractOptimizationProblem problem, long randSeed, int evalCnt) {
return starNPSO(null, problem, randSeed, evalCnt);
}
@ -2183,7 +2183,7 @@ public class NichePSO implements InterfaceAdditionalPopulationInformer, Interfac
* @param evalCnt
* @return
*/
public static final GOParameters stdNPSO(NichePSO npso, AbstractOptimizationProblem problem, long randSeed, int evalCnt) {
public static final OptimizationParameters stdNPSO(NichePSO npso, AbstractOptimizationProblem problem, long randSeed, int evalCnt) {
if (npso == null) {
npso = new NichePSO();
}
@ -2233,7 +2233,7 @@ public class NichePSO implements InterfaceAdditionalPopulationInformer, Interfac
* @param evalCnt
* @return
*/
public static final GOParameters starNPSO(NichePSO npso, AbstractOptimizationProblem problem, long randSeed, int evalCnt) {
public static final OptimizationParameters starNPSO(NichePSO npso, AbstractOptimizationProblem problem, long randSeed, int evalCnt) {
starNPSO(npso, evalCnt);
return OptimizerFactory.makeParams(npso, npso.getMainSwarmSize(), problem, randSeed, new EvaluationTerminator(evalCnt));
}

View File

@ -8,6 +8,7 @@ import eva2.optimization.go.InterfacePopulationChangedEventListener;
import eva2.optimization.go.InterfaceTerminator;
import eva2.optimization.individuals.AbstractEAIndividual;
import eva2.optimization.individuals.InterfaceDataTypeDouble;
import eva2.optimization.modules.OptimizationParameters;
import eva2.optimization.operators.distancemetric.PhenotypeMetric;
import eva2.optimization.operators.postprocess.PostProcess;
import eva2.optimization.operators.terminators.EvaluationTerminator;
@ -17,7 +18,6 @@ import eva2.optimization.populations.SolutionSet;
import eva2.optimization.problems.AbstractOptimizationProblem;
import eva2.optimization.problems.F1Problem;
import eva2.optimization.problems.InterfaceOptimizationProblem;
import eva2.optimization.modules.GOParameters;
import eva2.tools.Pair;
import eva2.tools.SelectedTag;
import eva2.tools.math.Mathematics;
@ -883,18 +883,18 @@ public class ScatterSearch implements InterfaceOptimizer, java.io.Serializable,
// problem.initializeProblem();
GOParameters params = specialSS(localSearchSteps, localSearchFitnessFilter, nmInitPerturb, relativeFitCrit, refSetSize, problem, term);
OptimizationParameters params = specialSS(localSearchSteps, localSearchFitnessFilter, nmInitPerturb, relativeFitCrit, refSetSize, problem, term);
OptimizerRunnable rnbl = new OptimizerRunnable(params, dataPrefix);
return rnbl;
}
public static final GOParameters standardSS(
public static final OptimizationParameters standardSS(
AbstractOptimizationProblem problem) {
return specialSS(0, 0, 0.1, true, 10, problem, new EvaluationTerminator(10000));
}
public static final GOParameters specialSS(
public static final OptimizationParameters specialSS(
int localSearchSteps, double localSearchFitnessFilter,
double nmInitPerturb, boolean relativeFitCrit,
int refSetSize,