Refactoring InterfaceGOParameters to the more generic InterfaceOptimizationParameters.
This commit is contained in:
parent
5297968fd2
commit
3b3c44ffc6
5
pom.xml
5
pom.xml
@ -37,6 +37,11 @@
|
|||||||
<artifactId>jchart2d</artifactId>
|
<artifactId>jchart2d</artifactId>
|
||||||
<version>3.3.2</version>
|
<version>3.3.2</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>commons-cli</groupId>
|
||||||
|
<artifactId>commons-cli</artifactId>
|
||||||
|
<version>1.2</version>
|
||||||
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package eva2;
|
package eva2;
|
||||||
|
|
||||||
|
import eva2.optimization.modules.OptimizationParameters;
|
||||||
import eva2.optimization.operators.mutation.InterfaceMutation;
|
import eva2.optimization.operators.mutation.InterfaceMutation;
|
||||||
import eva2.optimization.operators.mutation.NoMutation;
|
import eva2.optimization.operators.mutation.NoMutation;
|
||||||
import eva2.optimization.operators.mutation.MutateESFixedStepSize;
|
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.PBILPopulation;
|
||||||
import eva2.optimization.populations.Population;
|
import eva2.optimization.populations.Population;
|
||||||
import eva2.optimization.problems.AbstractOptimizationProblem;
|
import eva2.optimization.problems.AbstractOptimizationProblem;
|
||||||
import eva2.optimization.modules.GOParameters;
|
|
||||||
import eva2.optimization.stat.InterfaceStatistics;
|
import eva2.optimization.stat.InterfaceStatistics;
|
||||||
import eva2.tools.math.RNG;
|
import eva2.tools.math.RNG;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@ -290,8 +290,8 @@ public class OptimizerFactory {
|
|||||||
* @param problem
|
* @param problem
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static GOParameters standardMOGA(AbstractOptimizationProblem problem) {
|
public static OptimizationParameters standardMOGA(AbstractOptimizationProblem problem) {
|
||||||
GOParameters gaParams = standardGA(problem);
|
OptimizationParameters gaParams = standardGA(problem);
|
||||||
int archiveSize = 100;
|
int archiveSize = 100;
|
||||||
int popSize = 100;
|
int popSize = 100;
|
||||||
MultiObjectiveEA moga = createMultiObjectiveEA(gaParams.getOptimizer(), archiveSize, problem, null);
|
MultiObjectiveEA moga = createMultiObjectiveEA(gaParams.getOptimizer(), archiveSize, problem, null);
|
||||||
@ -563,7 +563,7 @@ public class OptimizerFactory {
|
|||||||
* @param optType optimizer identifier
|
* @param optType optimizer identifier
|
||||||
* @param problem corresponding optimization problem
|
* @param problem corresponding optimization problem
|
||||||
*/
|
*/
|
||||||
public static GOParameters getParams(final int optType,
|
public static OptimizationParameters getParams(final int optType,
|
||||||
AbstractOptimizationProblem problem) {
|
AbstractOptimizationProblem problem) {
|
||||||
switch (optType) {
|
switch (optType) {
|
||||||
case STD_ES:
|
case STD_ES:
|
||||||
@ -647,7 +647,7 @@ public class OptimizerFactory {
|
|||||||
AbstractOptimizationProblem problem, InterfaceTerminator terminator,
|
AbstractOptimizationProblem problem, InterfaceTerminator terminator,
|
||||||
String outputFilePrefix) {
|
String outputFilePrefix) {
|
||||||
OptimizerRunnable opt = null;
|
OptimizerRunnable opt = null;
|
||||||
GOParameters params = getParams(optType, problem);
|
OptimizationParameters params = getParams(optType, problem);
|
||||||
if (params != null) {
|
if (params != null) {
|
||||||
opt = new OptimizerRunnable(params, outputFilePrefix);
|
opt = new OptimizerRunnable(params, outputFilePrefix);
|
||||||
if (terminator != null) {
|
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.
|
* written to a file if the prefix String is given.
|
||||||
*
|
*
|
||||||
* @param params
|
* @param params
|
||||||
* @param outputFilePrefix
|
* @param outputFilePrefix
|
||||||
* @return a runnable optimizer
|
* @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);
|
return new OptimizerRunnable(params, outputFilePrefix);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -714,13 +714,13 @@ public class OptimizerFactory {
|
|||||||
|
|
||||||
// /////////////////////// Creating default strategies
|
// /////////////////////// 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 es
|
||||||
* @param problem
|
* @param problem
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static GOParameters makeESParams(EvolutionStrategies es,
|
public static OptimizationParameters makeESParams(EvolutionStrategies es,
|
||||||
AbstractOptimizationProblem problem) {
|
AbstractOptimizationProblem problem) {
|
||||||
return makeParams(es, es.getLambda(), problem, randSeed, getTerminator());
|
return makeParams(es, es.getLambda(), problem, randSeed, getTerminator());
|
||||||
}
|
}
|
||||||
@ -735,7 +735,7 @@ public class OptimizerFactory {
|
|||||||
* @param problem
|
* @param problem
|
||||||
* @return
|
* @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());
|
return makeParams(opt, popSize, problem, randSeed, getTerminator());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -749,7 +749,7 @@ public class OptimizerFactory {
|
|||||||
* @param problem
|
* @param problem
|
||||||
* @return
|
* @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);
|
return makeParams(opt, opt.getPopulation().getTargetSize(), problem, randSeed, term);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -766,7 +766,7 @@ public class OptimizerFactory {
|
|||||||
* @param term
|
* @param term
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static GOParameters makeParams(InterfaceOptimizer opt,
|
public static OptimizationParameters makeParams(InterfaceOptimizer opt,
|
||||||
int popSize, AbstractOptimizationProblem problem, long seed,
|
int popSize, AbstractOptimizationProblem problem, long seed,
|
||||||
InterfaceTerminator term) {
|
InterfaceTerminator term) {
|
||||||
Population pop = new Population(popSize);
|
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,
|
* The result can be modified and then used to create an OptimizerRunnable,
|
||||||
* which of course can simply be run.
|
* which of course can simply be run.
|
||||||
*
|
*
|
||||||
@ -788,10 +788,10 @@ public class OptimizerFactory {
|
|||||||
* @param term
|
* @param term
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static GOParameters makeParams(InterfaceOptimizer opt,
|
public static OptimizationParameters makeParams(InterfaceOptimizer opt,
|
||||||
Population pop, AbstractOptimizationProblem problem, long seed,
|
Population pop, AbstractOptimizationProblem problem, long seed,
|
||||||
InterfaceTerminator term) {
|
InterfaceTerminator term) {
|
||||||
GOParameters params = new GOParameters();
|
OptimizationParameters params = new OptimizationParameters();
|
||||||
params.setProblem(problem);
|
params.setProblem(problem);
|
||||||
opt.setProblem(problem);
|
opt.setProblem(problem);
|
||||||
opt.setPopulation(pop);
|
opt.setPopulation(pop);
|
||||||
@ -840,7 +840,7 @@ public class OptimizerFactory {
|
|||||||
* @param outputFilePrefix
|
* @param outputFilePrefix
|
||||||
* @return the OptimizerRunnable instance just started
|
* @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));
|
return optimizeInThread(new OptimizerRunnable(params, outputFilePrefix));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -859,7 +859,7 @@ public class OptimizerFactory {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// ///////////////////////////// Optimize a given parameter instance
|
// ///////////////////////////// Optimize a given parameter instance
|
||||||
public static BitSet optimizeToBinary(GOParameters params,
|
public static BitSet optimizeToBinary(OptimizationParameters params,
|
||||||
String outputFilePrefix) {
|
String outputFilePrefix) {
|
||||||
OptimizerRunnable runnable = optimize(new OptimizerRunnable(params,
|
OptimizerRunnable runnable = optimize(new OptimizerRunnable(params,
|
||||||
outputFilePrefix));
|
outputFilePrefix));
|
||||||
@ -886,20 +886,20 @@ public class OptimizerFactory {
|
|||||||
return (runnable != null) ? runnable.getBinarySolution() : null;
|
return (runnable != null) ? runnable.getBinarySolution() : null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static double[] optimizeToDouble(GOParameters params,
|
public static double[] optimizeToDouble(OptimizationParameters params,
|
||||||
String outputFilePrefix) {
|
String outputFilePrefix) {
|
||||||
OptimizerRunnable runnable = optimize(new OptimizerRunnable(params,
|
OptimizerRunnable runnable = optimize(new OptimizerRunnable(params,
|
||||||
outputFilePrefix));
|
outputFilePrefix));
|
||||||
return runnable.getDoubleSolution();
|
return runnable.getDoubleSolution();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static double[] optimizeToDouble(GOParameters params) {
|
public static double[] optimizeToDouble(OptimizationParameters params) {
|
||||||
OptimizerRunnable runnable = optimize(new OptimizerRunnable(params,
|
OptimizerRunnable runnable = optimize(new OptimizerRunnable(params,
|
||||||
false));
|
false));
|
||||||
return runnable.getDoubleSolution();
|
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,
|
OptimizerRunnable runnable = optimize(new OptimizerRunnable(params, stats,
|
||||||
false));
|
false));
|
||||||
return runnable.getDoubleSolution();
|
return runnable.getDoubleSolution();
|
||||||
@ -922,13 +922,13 @@ public class OptimizerFactory {
|
|||||||
return (runnable != null) ? runnable.getDoubleSolution() : null;
|
return (runnable != null) ? runnable.getDoubleSolution() : null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static IndividualInterface optimizeToInd(GOParameters params) {
|
public static IndividualInterface optimizeToInd(OptimizationParameters params) {
|
||||||
OptimizerRunnable runnable = optimize(new OptimizerRunnable(params,
|
OptimizerRunnable runnable = optimize(new OptimizerRunnable(params,
|
||||||
false));
|
false));
|
||||||
return runnable.getResult();
|
return runnable.getResult();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static IndividualInterface optimizeToInd(GOParameters params,
|
public static IndividualInterface optimizeToInd(OptimizationParameters params,
|
||||||
String outputFilePrefix) {
|
String outputFilePrefix) {
|
||||||
OptimizerRunnable runnable = optimize(new OptimizerRunnable(params,
|
OptimizerRunnable runnable = optimize(new OptimizerRunnable(params,
|
||||||
outputFilePrefix));
|
outputFilePrefix));
|
||||||
@ -952,7 +952,7 @@ public class OptimizerFactory {
|
|||||||
return (runnable != null) ? runnable.getResult() : null;
|
return (runnable != null) ? runnable.getResult() : null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Population optimizeToPop(GOParameters params,
|
public static Population optimizeToPop(OptimizationParameters params,
|
||||||
String outputFilePrefix) {
|
String outputFilePrefix) {
|
||||||
OptimizerRunnable runnable = optimize(new OptimizerRunnable(params,
|
OptimizerRunnable runnable = optimize(new OptimizerRunnable(params,
|
||||||
outputFilePrefix));
|
outputFilePrefix));
|
||||||
@ -1191,7 +1191,7 @@ public class OptimizerFactory {
|
|||||||
*
|
*
|
||||||
* @return a standard multi-start hill-climber
|
* @return a standard multi-start hill-climber
|
||||||
*/
|
*/
|
||||||
public static GOParameters hillClimbing(
|
public static OptimizationParameters hillClimbing(
|
||||||
AbstractOptimizationProblem problem) {
|
AbstractOptimizationProblem problem) {
|
||||||
return hillClimbing(problem, 50);
|
return hillClimbing(problem, 50);
|
||||||
}
|
}
|
||||||
@ -1202,12 +1202,12 @@ public class OptimizerFactory {
|
|||||||
*
|
*
|
||||||
* @return a standard multi-start hill-climber
|
* @return a standard multi-start hill-climber
|
||||||
*/
|
*/
|
||||||
public static GOParameters hillClimbing(
|
public static OptimizationParameters hillClimbing(
|
||||||
AbstractOptimizationProblem problem, int popSize) {
|
AbstractOptimizationProblem problem, int popSize) {
|
||||||
return makeParams(new HillClimbing(), popSize, problem, randSeed, getTerminator());
|
return makeParams(new HillClimbing(), popSize, problem, randSeed, getTerminator());
|
||||||
}
|
}
|
||||||
|
|
||||||
public static GOParameters monteCarlo(
|
public static OptimizationParameters monteCarlo(
|
||||||
AbstractOptimizationProblem problem) {
|
AbstractOptimizationProblem problem) {
|
||||||
return makeParams(new MonteCarloSearch(), 50, problem, randSeed, getTerminator());
|
return makeParams(new MonteCarloSearch(), 50, problem, randSeed, getTerminator());
|
||||||
}
|
}
|
||||||
@ -1225,7 +1225,7 @@ public class OptimizerFactory {
|
|||||||
* @param popSize
|
* @param popSize
|
||||||
* @return
|
* @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) {
|
double clusterSigma, int minClustSize, int maxSpecSize, int haltingWindowLength, double haltingWindowEpsilon, int popSize) {
|
||||||
return createCbn(problem, opt, new ClusteringDensityBased(clusterSigma, minClustSize), maxSpecSize,
|
return createCbn(problem, opt, new ClusteringDensityBased(clusterSigma, minClustSize), maxSpecSize,
|
||||||
new ClusteringDensityBased(clusterSigma, minClustSize), haltingWindowLength, haltingWindowEpsilon, popSize);
|
new ClusteringDensityBased(clusterSigma, minClustSize), haltingWindowLength, haltingWindowEpsilon, popSize);
|
||||||
@ -1238,14 +1238,14 @@ public class OptimizerFactory {
|
|||||||
* @param problem
|
* @param problem
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static GOParameters standardCbnPSO(AbstractOptimizationProblem problem) {
|
public static OptimizationParameters standardCbnPSO(AbstractOptimizationProblem problem) {
|
||||||
return createCbnPSO(problem, cbnDefaultClusterSigma, cbnDefaultMinGroupSize, cbnDefaultMaxGroupSize,
|
return createCbnPSO(problem, cbnDefaultClusterSigma, cbnDefaultMinGroupSize, cbnDefaultMaxGroupSize,
|
||||||
cbnDefaultHaltingWindowLength, cbnDefaultHaltingWindowEpsilon, 100);
|
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) {
|
int maxSpecSize, int haltingWindowLength, double haltingWindowEpsilon, int popSize) {
|
||||||
GOParameters psoParams = standardPSO(problem);
|
OptimizationParameters psoParams = standardPSO(problem);
|
||||||
ParticleSwarmOptimization pso = (ParticleSwarmOptimization) psoParams.getOptimizer();
|
ParticleSwarmOptimization pso = (ParticleSwarmOptimization) psoParams.getOptimizer();
|
||||||
ClusteringDensityBased clust = new ClusteringDensityBased(clusterSigma, minClustSize,
|
ClusteringDensityBased clust = new ClusteringDensityBased(clusterSigma, minClustSize,
|
||||||
new IndividualDataMetric(ParticleSwarmOptimization.partBestPosKey));
|
new IndividualDataMetric(ParticleSwarmOptimization.partBestPosKey));
|
||||||
@ -1265,7 +1265,7 @@ public class OptimizerFactory {
|
|||||||
* @param popSize
|
* @param popSize
|
||||||
* @return
|
* @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,
|
InterfaceClustering clustDifferentiate, int maxSpecSize, InterfaceClustering clustMerge, int haltingWindowLength,
|
||||||
double haltingWindowEpsilon, int popSize) {
|
double haltingWindowEpsilon, int popSize) {
|
||||||
ClusterBasedNichingEA cbn = new ClusterBasedNichingEA();
|
ClusterBasedNichingEA cbn = new ClusterBasedNichingEA();
|
||||||
@ -1289,7 +1289,7 @@ public class OptimizerFactory {
|
|||||||
* @param problem
|
* @param problem
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static GOParameters standardCbnES(AbstractOptimizationProblem problem) {
|
public static OptimizationParameters standardCbnES(AbstractOptimizationProblem problem) {
|
||||||
EvolutionStrategies es = new EvolutionStrategies();
|
EvolutionStrategies es = new EvolutionStrategies();
|
||||||
es.setMu(15);
|
es.setMu(15);
|
||||||
es.setLambda(50);
|
es.setLambda(50);
|
||||||
@ -1304,8 +1304,8 @@ public class OptimizerFactory {
|
|||||||
* @param problem
|
* @param problem
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static GOParameters standardCbnCmaES(AbstractOptimizationProblem problem) {
|
public static OptimizationParameters standardCbnCmaES(AbstractOptimizationProblem problem) {
|
||||||
GOParameters cmaEsParams = cmaES(problem);
|
OptimizationParameters cmaEsParams = cmaES(problem);
|
||||||
EvolutionStrategies cmaES = (EvolutionStrategies) cmaEsParams.getOptimizer();
|
EvolutionStrategies cmaES = (EvolutionStrategies) cmaEsParams.getOptimizer();
|
||||||
return createCbn(problem, cmaES, cbnDefaultClusterSigma, cbnDefaultMinGroupSize, cbnDefaultMaxGroupSize, cbnDefaultHaltingWindowLength, cbnDefaultHaltingWindowEpsilon, 100);
|
return createCbn(problem, cmaES, cbnDefaultClusterSigma, cbnDefaultMinGroupSize, cbnDefaultMaxGroupSize, cbnDefaultHaltingWindowLength, cbnDefaultHaltingWindowEpsilon, 100);
|
||||||
}
|
}
|
||||||
@ -1317,7 +1317,7 @@ public class OptimizerFactory {
|
|||||||
* @param problem
|
* @param problem
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static GOParameters standardCbnGA(AbstractOptimizationProblem problem) {
|
public static OptimizationParameters standardCbnGA(AbstractOptimizationProblem problem) {
|
||||||
GeneticAlgorithm ga = new GeneticAlgorithm();
|
GeneticAlgorithm ga = new GeneticAlgorithm();
|
||||||
return createCbn(problem, ga, cbnDefaultClusterSigma, cbnDefaultMinGroupSize, cbnDefaultMaxGroupSize, cbnDefaultHaltingWindowLength, cbnDefaultHaltingWindowEpsilon, 100);
|
return createCbn(problem, ga, cbnDefaultClusterSigma, cbnDefaultMinGroupSize, cbnDefaultMaxGroupSize, cbnDefaultHaltingWindowLength, cbnDefaultHaltingWindowEpsilon, 100);
|
||||||
}
|
}
|
||||||
@ -1327,7 +1327,7 @@ public class OptimizerFactory {
|
|||||||
* @param problem
|
* @param problem
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static GOParameters standardPBIL(AbstractOptimizationProblem problem) {
|
public static OptimizationParameters standardPBIL(AbstractOptimizationProblem problem) {
|
||||||
PopulationBasedIncrementalLearning pbil = createPBIL(0.04, 0.01, 0.5, 1,
|
PopulationBasedIncrementalLearning pbil = createPBIL(0.04, 0.01, 0.5, 1,
|
||||||
new SelectBestIndividuals(), 50, problem, null);
|
new SelectBestIndividuals(), 50, problem, null);
|
||||||
|
|
||||||
@ -1345,7 +1345,7 @@ public class OptimizerFactory {
|
|||||||
* @param problem
|
* @param problem
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static GOParameters stdClusteringHillClimbing(
|
public static OptimizationParameters stdClusteringHillClimbing(
|
||||||
AbstractOptimizationProblem problem) {
|
AbstractOptimizationProblem problem) {
|
||||||
return clusteringHillClimbing(problem, 1000, 100, 0.000001,
|
return clusteringHillClimbing(problem, 1000, 100, 0.000001,
|
||||||
PostProcessMethod.hillClimber, 0.05, 0.000001, 0.05);
|
PostProcessMethod.hillClimber, 0.05, 0.000001, 0.05);
|
||||||
@ -1363,7 +1363,7 @@ public class OptimizerFactory {
|
|||||||
* @param sigmaClust
|
* @param sigmaClust
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static GOParameters clusteringHillClimbingNM(AbstractOptimizationProblem problem,
|
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,
|
return clusteringHillClimbing(problem, evalCycle, popSize, minImprovement,
|
||||||
PostProcessMethod.nelderMead, 0.01, 0.00000001, sigmaClust);
|
PostProcessMethod.nelderMead, 0.01, 0.00000001, sigmaClust);
|
||||||
@ -1384,7 +1384,7 @@ public class OptimizerFactory {
|
|||||||
* @param sigmaClust
|
* @param sigmaClust
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static GOParameters clusteringHillClimbing(
|
public static OptimizationParameters clusteringHillClimbing(
|
||||||
AbstractOptimizationProblem problem, int evalCycle, int popSize, double minImprovement,
|
AbstractOptimizationProblem problem, int evalCycle, int popSize, double minImprovement,
|
||||||
PostProcessMethod method, double hcInitialStep, double hcStepThresh, double sigmaClust) {
|
PostProcessMethod method, double hcInitialStep, double hcStepThresh, double sigmaClust) {
|
||||||
ClusteringHillClimbing chc = new ClusteringHillClimbing();
|
ClusteringHillClimbing chc = new ClusteringHillClimbing();
|
||||||
@ -1401,7 +1401,7 @@ public class OptimizerFactory {
|
|||||||
return makeParams(chc, popSize, problem, randSeed, getTerminator());
|
return makeParams(chc, popSize, problem, randSeed, getTerminator());
|
||||||
}
|
}
|
||||||
|
|
||||||
public static GOParameters cmaES(AbstractOptimizationProblem problem) {
|
public static OptimizationParameters cmaES(AbstractOptimizationProblem problem) {
|
||||||
EvolutionStrategies es = new EvolutionStrategies();
|
EvolutionStrategies es = new EvolutionStrategies();
|
||||||
es.setMu(15);
|
es.setMu(15);
|
||||||
es.setLambda(50);
|
es.setLambda(50);
|
||||||
@ -1428,11 +1428,11 @@ public class OptimizerFactory {
|
|||||||
* @param problem the optimization problem
|
* @param problem the optimization problem
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static GOParameters cmaESIPOP(AbstractOptimizationProblem problem) {
|
public static OptimizationParameters cmaESIPOP(AbstractOptimizationProblem problem) {
|
||||||
return createCmaEsIPop(problem, 2.);
|
return createCmaEsIPop(problem, 2.);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static GOParameters createCmaEsIPop(AbstractOptimizationProblem problem, double incLambdaFact) {
|
public static OptimizationParameters createCmaEsIPop(AbstractOptimizationProblem problem, double incLambdaFact) {
|
||||||
EvolutionStrategies es = new EvolutionStrategyIPOP();
|
EvolutionStrategies es = new EvolutionStrategyIPOP();
|
||||||
|
|
||||||
AbstractEAIndividual indyTemplate = problem.getIndividualTemplate();
|
AbstractEAIndividual indyTemplate = problem.getIndividualTemplate();
|
||||||
@ -1460,7 +1460,7 @@ public class OptimizerFactory {
|
|||||||
return makeESParams(es, problem);
|
return makeESParams(es, problem);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static GOParameters standardNMS(AbstractOptimizationProblem problem) {
|
public static OptimizationParameters standardNMS(AbstractOptimizationProblem problem) {
|
||||||
NelderMeadSimplex nms = NelderMeadSimplex.createNelderMeadSimplex(problem, null);
|
NelderMeadSimplex nms = NelderMeadSimplex.createNelderMeadSimplex(problem, null);
|
||||||
return makeParams(nms, 50, problem, randSeed, getTerminator());
|
return makeParams(nms, 50, problem, randSeed, getTerminator());
|
||||||
}
|
}
|
||||||
@ -1472,7 +1472,7 @@ public class OptimizerFactory {
|
|||||||
* @param problem
|
* @param problem
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static GOParameters standardDE(
|
public static OptimizationParameters standardDE(
|
||||||
AbstractOptimizationProblem problem) {
|
AbstractOptimizationProblem problem) {
|
||||||
DifferentialEvolution de = new DifferentialEvolution();
|
DifferentialEvolution de = new DifferentialEvolution();
|
||||||
de.setDEType(DETypeEnum.DE2_CurrentToBest); // this sets current-to-best
|
de.setDEType(DETypeEnum.DE2_CurrentToBest); // this sets current-to-best
|
||||||
@ -1483,7 +1483,7 @@ public class OptimizerFactory {
|
|||||||
return makeParams(de, 50, problem, randSeed, getTerminator());
|
return makeParams(de, 50, problem, randSeed, getTerminator());
|
||||||
}
|
}
|
||||||
|
|
||||||
public static GOParameters standardES(
|
public static OptimizationParameters standardES(
|
||||||
AbstractOptimizationProblem problem) {
|
AbstractOptimizationProblem problem) {
|
||||||
EvolutionStrategies es = new EvolutionStrategies();
|
EvolutionStrategies es = new EvolutionStrategies();
|
||||||
es.setMu(15);
|
es.setMu(15);
|
||||||
@ -1499,7 +1499,7 @@ public class OptimizerFactory {
|
|||||||
return makeESParams(es, problem);
|
return makeESParams(es, problem);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static GOParameters standardGA(
|
public static OptimizationParameters standardGA(
|
||||||
AbstractOptimizationProblem problem) {
|
AbstractOptimizationProblem problem) {
|
||||||
GeneticAlgorithm ga = new GeneticAlgorithm();
|
GeneticAlgorithm ga = new GeneticAlgorithm();
|
||||||
ga.setElitism(true);
|
ga.setElitism(true);
|
||||||
@ -1515,7 +1515,7 @@ public class OptimizerFactory {
|
|||||||
* @param problem
|
* @param problem
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static GOParameters standardPSO(
|
public static OptimizationParameters standardPSO(
|
||||||
AbstractOptimizationProblem problem) {
|
AbstractOptimizationProblem problem) {
|
||||||
ParticleSwarmOptimization pso = new ParticleSwarmOptimization();
|
ParticleSwarmOptimization pso = new ParticleSwarmOptimization();
|
||||||
pso.setPhiValues(2.05, 2.05);
|
pso.setPhiValues(2.05, 2.05);
|
||||||
@ -1524,7 +1524,7 @@ public class OptimizerFactory {
|
|||||||
return makeParams(pso, 30, problem, randSeed, getTerminator());
|
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());
|
return makeParams(new Tribes(), 1, problem, randSeed, getTerminator());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1535,7 +1535,7 @@ public class OptimizerFactory {
|
|||||||
* @param problem
|
* @param problem
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static GOParameters standardNichingEs(AbstractOptimizationProblem prob) {
|
public static OptimizationParameters standardNichingEs(AbstractOptimizationProblem prob) {
|
||||||
// nichingEs(AbstractOptimizationProblem prob, double nicheRadius, int muPerPeak, int lambdaPerPeak,
|
// nichingEs(AbstractOptimizationProblem prob, double nicheRadius, int muPerPeak, int lambdaPerPeak,
|
||||||
return createNichingEs(prob, -1, 100, 100,
|
return createNichingEs(prob, -1, 100, 100,
|
||||||
// int expectedPeaks, int rndImmigrants, int explorerPeaks, int resetExplInterval, int etaPresel) {
|
// int expectedPeaks, int rndImmigrants, int explorerPeaks, int resetExplInterval, int etaPresel) {
|
||||||
@ -1548,7 +1548,7 @@ public class OptimizerFactory {
|
|||||||
* @param problem
|
* @param problem
|
||||||
* @return
|
* @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);
|
EsDpiNiching nes = new EsDpiNiching(nicheRadius, muPerPeak, lambdaPerPeak, expectedPeaks, rndImmigrants, explorerPeaks, resetExplInterval, etaPresel);
|
||||||
|
|
||||||
if (assertIndyType(prob, InterfaceESIndividual.class)) {
|
if (assertIndyType(prob, InterfaceESIndividual.class)) {
|
||||||
@ -1567,7 +1567,7 @@ public class OptimizerFactory {
|
|||||||
* @param prob
|
* @param prob
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static GOParameters standardNichingCmaEs(AbstractOptimizationProblem prob) {
|
public static OptimizationParameters standardNichingCmaEs(AbstractOptimizationProblem prob) {
|
||||||
return createNichingCmaEs(prob, -1, 10, 10, 0, 0, -1);
|
return createNichingCmaEs(prob, -1, 10, 10, 0, 0, -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1577,7 +1577,7 @@ public class OptimizerFactory {
|
|||||||
* @param prob
|
* @param prob
|
||||||
* @return
|
* @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);
|
return createNichingCmaEs(prob, nicheRad, 10, 10, 0, 0, -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1587,7 +1587,7 @@ public class OptimizerFactory {
|
|||||||
* @param prob
|
* @param prob
|
||||||
* @return
|
* @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);
|
return createNichingCmaEs(prob, nicheRad, 10, 10, 0, 0, stagnationEpsilon);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1597,7 +1597,7 @@ public class OptimizerFactory {
|
|||||||
* @param prob
|
* @param prob
|
||||||
* @return
|
* @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);
|
return createNichingCmaEs(prob, nicheRad, 10, nicheCount, 0, 0, stagnationEpsilon);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1612,7 +1612,7 @@ public class OptimizerFactory {
|
|||||||
* @param resetExplInterval
|
* @param resetExplInterval
|
||||||
* @return
|
* @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);
|
EsDpiNiching nes = new EsDpiNichingCma(nicheRadius, lambda, expectedPeaks, explorerPeaks, resetExplInterval);
|
||||||
if (stagnationEpsilon > 0) {
|
if (stagnationEpsilon > 0) {
|
||||||
nes.setEpsilonBound(stagnationEpsilon);
|
nes.setEpsilonBound(stagnationEpsilon);
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package eva2;
|
package eva2;
|
||||||
|
|
||||||
|
import eva2.optimization.go.InterfaceOptimizationParameters;
|
||||||
import eva2.optimization.stat.StatisticsDummy;
|
import eva2.optimization.stat.StatisticsDummy;
|
||||||
import eva2.optimization.stat.InterfaceStatistics;
|
import eva2.optimization.stat.InterfaceStatistics;
|
||||||
import eva2.optimization.stat.StatisticsParameter;
|
import eva2.optimization.stat.StatisticsParameter;
|
||||||
@ -8,7 +9,6 @@ import eva2.optimization.stat.StatisticsStandalone;
|
|||||||
import eva2.optimization.stat.InterfaceTextListener;
|
import eva2.optimization.stat.InterfaceTextListener;
|
||||||
import eva2.optimization.OptimizationStateListener;
|
import eva2.optimization.OptimizationStateListener;
|
||||||
import eva2.optimization.go.IndividualInterface;
|
import eva2.optimization.go.IndividualInterface;
|
||||||
import eva2.optimization.go.InterfaceGOParameters;
|
|
||||||
import eva2.optimization.go.InterfaceTerminator;
|
import eva2.optimization.go.InterfaceTerminator;
|
||||||
import eva2.optimization.individuals.InterfaceDataTypeBinary;
|
import eva2.optimization.individuals.InterfaceDataTypeBinary;
|
||||||
import eva2.optimization.individuals.InterfaceDataTypeDouble;
|
import eva2.optimization.individuals.InterfaceDataTypeDouble;
|
||||||
@ -17,7 +17,7 @@ import eva2.optimization.operators.postprocess.InterfacePostProcessParams;
|
|||||||
import eva2.optimization.operators.postprocess.PostProcessParams;
|
import eva2.optimization.operators.postprocess.PostProcessParams;
|
||||||
import eva2.optimization.populations.Population;
|
import eva2.optimization.populations.Population;
|
||||||
import eva2.optimization.populations.SolutionSet;
|
import eva2.optimization.populations.SolutionSet;
|
||||||
import eva2.optimization.modules.GOParameters;
|
import eva2.optimization.modules.OptimizationParameters;
|
||||||
import eva2.optimization.modules.Processor;
|
import eva2.optimization.modules.Processor;
|
||||||
import java.io.PrintWriter;
|
import java.io.PrintWriter;
|
||||||
import java.io.StringWriter;
|
import java.io.StringWriter;
|
||||||
@ -47,7 +47,7 @@ public class OptimizerRunnable implements Runnable {
|
|||||||
* @param params
|
* @param params
|
||||||
* @param outputFilePrefix
|
* @param outputFilePrefix
|
||||||
*/
|
*/
|
||||||
public OptimizerRunnable(GOParameters params, String outputFilePrefix) {
|
public OptimizerRunnable(OptimizationParameters params, String outputFilePrefix) {
|
||||||
this(params, outputFilePrefix, false);
|
this(params, outputFilePrefix, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -58,7 +58,7 @@ public class OptimizerRunnable implements Runnable {
|
|||||||
* @param params
|
* @param params
|
||||||
* @param restart
|
* @param restart
|
||||||
*/
|
*/
|
||||||
public OptimizerRunnable(GOParameters params, boolean restart) {
|
public OptimizerRunnable(OptimizationParameters params, boolean restart) {
|
||||||
this(params, new StatisticsDummy(), restart);
|
this(params, new StatisticsDummy(), restart);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -71,7 +71,7 @@ public class OptimizerRunnable implements Runnable {
|
|||||||
* @param outputFilePrefix
|
* @param outputFilePrefix
|
||||||
* @param restart
|
* @param restart
|
||||||
*/
|
*/
|
||||||
public OptimizerRunnable(GOParameters params, String outputFilePrefix, boolean restart) {
|
public OptimizerRunnable(OptimizationParameters params, String outputFilePrefix, boolean restart) {
|
||||||
this(params, new StatisticsStandalone(outputFilePrefix), restart);
|
this(params, new StatisticsStandalone(outputFilePrefix), restart);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -83,7 +83,7 @@ public class OptimizerRunnable implements Runnable {
|
|||||||
* @param outputFilePrefix
|
* @param outputFilePrefix
|
||||||
* @param restart
|
* @param restart
|
||||||
*/
|
*/
|
||||||
public OptimizerRunnable(GOParameters params, InterfaceStatistics stats, boolean restart) {
|
public OptimizerRunnable(OptimizationParameters params, InterfaceStatistics stats, boolean restart) {
|
||||||
rnblID = cntID;
|
rnblID = cntID;
|
||||||
cntID++;
|
cntID++;
|
||||||
|
|
||||||
@ -110,7 +110,7 @@ public class OptimizerRunnable implements Runnable {
|
|||||||
return rnblID;
|
return rnblID;
|
||||||
}
|
}
|
||||||
|
|
||||||
public InterfaceGOParameters getGOParams() {
|
public InterfaceOptimizationParameters getGOParams() {
|
||||||
return proc.getGOParams();
|
return proc.getGOParams();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -122,7 +122,7 @@ public class OptimizerRunnable implements Runnable {
|
|||||||
if (proc.isOptRunning()) {
|
if (proc.isOptRunning()) {
|
||||||
throw new RuntimeException("Error - cannot change statistics instance during optimization.");
|
throw new RuntimeException("Error - cannot change statistics instance during optimization.");
|
||||||
}
|
}
|
||||||
InterfaceGOParameters params = proc.getGOParams();
|
InterfaceOptimizationParameters params = proc.getGOParams();
|
||||||
proc = new Processor(stats, null, params);
|
proc = new Processor(stats, null, params);
|
||||||
if (proc.getStatistics() instanceof AbstractStatistics) {
|
if (proc.getStatistics() instanceof AbstractStatistics) {
|
||||||
((AbstractStatistics)proc.getStatistics()).setSaveParams(false);
|
((AbstractStatistics)proc.getStatistics()).setSaveParams(false);
|
||||||
|
@ -14,9 +14,9 @@ package eva2.client;
|
|||||||
import eva2.EvAInfo;
|
import eva2.EvAInfo;
|
||||||
import eva2.gui.*;
|
import eva2.gui.*;
|
||||||
import eva2.optimization.OptimizationStateListener;
|
import eva2.optimization.OptimizationStateListener;
|
||||||
import eva2.optimization.go.InterfaceGOParameters;
|
import eva2.optimization.go.InterfaceOptimizationParameters;
|
||||||
import eva2.optimization.modules.AbstractModuleAdapter;
|
import eva2.optimization.modules.AbstractModuleAdapter;
|
||||||
import eva2.optimization.modules.GOParameters;
|
import eva2.optimization.modules.OptimizationParameters;
|
||||||
import eva2.optimization.modules.GenericModuleAdapter;
|
import eva2.optimization.modules.GenericModuleAdapter;
|
||||||
import eva2.optimization.modules.ModuleAdapter;
|
import eva2.optimization.modules.ModuleAdapter;
|
||||||
import eva2.optimization.stat.AbstractStatistics;
|
import eva2.optimization.stat.AbstractStatistics;
|
||||||
@ -191,7 +191,7 @@ public class EvAClient extends JFrame implements OptimizationStateListener {
|
|||||||
* @param noSplash
|
* @param noSplash
|
||||||
* @param noGui
|
* @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);
|
this(hostName, null, null, goParams, autorun, noSplash, noGui, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -206,7 +206,7 @@ public class EvAClient extends JFrame implements OptimizationStateListener {
|
|||||||
* @param noSplash
|
* @param noSplash
|
||||||
* @param noGui
|
* @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);
|
this(hostName, parent, paramsFile, goParams, autorun, noSplash, noGui, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -226,7 +226,7 @@ public class EvAClient extends JFrame implements OptimizationStateListener {
|
|||||||
* @param noSplash
|
* @param noSplash
|
||||||
* @param noGui
|
* @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;
|
clientInited = false;
|
||||||
final SplashScreen splashScreen = new SplashScreen(EvAInfo.splashLocation);
|
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
|
* Sets given hostname and tries to load GOParamsters from given file if non
|
||||||
* null.
|
* 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();
|
useDefaultModule = EvAInfo.propDefaultModule();
|
||||||
this.parentWindow = parent;
|
this.parentWindow = parent;
|
||||||
|
|
||||||
@ -497,7 +497,7 @@ public class EvAClient extends JFrame implements OptimizationStateListener {
|
|||||||
* try to load parameters from file
|
* try to load parameters from file
|
||||||
*/
|
*/
|
||||||
if (goParams == null && (paramsFile != null && (paramsFile.length() > 0))) {
|
if (goParams == null && (paramsFile != null && (paramsFile.length() > 0))) {
|
||||||
goParams = GOParameters.getInstance(paramsFile, false);
|
goParams = OptimizationParameters.getInstance(paramsFile, false);
|
||||||
}
|
}
|
||||||
loadSpecificModule(useDefaultModule, goParams);//loadSpecificModule
|
loadSpecificModule(useDefaultModule, goParams);//loadSpecificModule
|
||||||
}
|
}
|
||||||
@ -643,7 +643,7 @@ public class EvAClient extends JFrame implements OptimizationStateListener {
|
|||||||
* optimization
|
* optimization
|
||||||
* @param windowListener additional window listener for client frame
|
* @param windowListener additional window listener for client frame
|
||||||
*/
|
*/
|
||||||
public static EvAClient initClientGUI(GOParameters goParams,
|
public static EvAClient initClientGUI(OptimizationParameters goParams,
|
||||||
InterfaceStatisticsListener statisticsListener,
|
InterfaceStatisticsListener statisticsListener,
|
||||||
WindowListener windowListener, final Window parent) {
|
WindowListener windowListener, final Window parent) {
|
||||||
EvAClient evaClient;
|
EvAClient evaClient;
|
||||||
@ -809,7 +809,7 @@ public class EvAClient extends JFrame implements OptimizationStateListener {
|
|||||||
*
|
*
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public InterfaceGOParameters getGOParameters() {
|
public InterfaceOptimizationParameters getGOParameters() {
|
||||||
if (currentModuleAdapter != null) {
|
if (currentModuleAdapter != null) {
|
||||||
if (currentModuleAdapter instanceof AbstractModuleAdapter) {
|
if (currentModuleAdapter instanceof AbstractModuleAdapter) {
|
||||||
return ((AbstractModuleAdapter) currentModuleAdapter).getGOParameters();
|
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;
|
ModuleAdapter newModuleAdapter = null;
|
||||||
//
|
//
|
||||||
try {
|
try {
|
||||||
@ -888,7 +888,7 @@ public class EvAClient extends JFrame implements OptimizationStateListener {
|
|||||||
/* ToDo: Find a way to properly add the TreeView to the GOPanel */
|
/* ToDo: Find a way to properly add the TreeView to the GOPanel */
|
||||||
if (withTreeView && (newModuleAdapter instanceof AbstractModuleAdapter)) {
|
if (withTreeView && (newModuleAdapter instanceof AbstractModuleAdapter)) {
|
||||||
JComponent tree = null;
|
JComponent tree = null;
|
||||||
tree = getEvATreeView(frameMaker.getGOPanel(), "GOParameters", ((AbstractModuleAdapter) newModuleAdapter).getGOParameters());
|
tree = getEvATreeView(frameMaker.getGOPanel(), "OptimizationParameters", ((AbstractModuleAdapter) newModuleAdapter).getGOParameters());
|
||||||
gbConstraints.gridx = 0;
|
gbConstraints.gridx = 0;
|
||||||
gbConstraints.gridy = 0;
|
gbConstraints.gridy = 0;
|
||||||
gbConstraints.fill = GridBagConstraints.BOTH;
|
gbConstraints.fill = GridBagConstraints.BOTH;
|
||||||
|
@ -10,13 +10,11 @@ package eva2.client;
|
|||||||
* $Date: 2007-12-06 16:05:11 +0100 (Thu, 06 Dec 2007) $
|
* $Date: 2007-12-06 16:05:11 +0100 (Thu, 06 Dec 2007) $
|
||||||
* $Author: mkron $
|
* $Author: mkron $
|
||||||
*/
|
*/
|
||||||
import eva2.EvAInfo;
|
|
||||||
import eva2.gui.LoggingPanel;
|
import eva2.gui.LoggingPanel;
|
||||||
import eva2.optimization.EvAMainAdapter;
|
import eva2.optimization.EvAMainAdapter;
|
||||||
import eva2.optimization.EvAMainAdapterImpl;
|
import eva2.optimization.EvAMainAdapterImpl;
|
||||||
import eva2.optimization.go.InterfaceGOParameters;
|
import eva2.optimization.go.InterfaceOptimizationParameters;
|
||||||
import eva2.optimization.modules.ModuleAdapter;
|
import eva2.optimization.modules.ModuleAdapter;
|
||||||
import java.rmi.RemoteException;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@ -50,7 +48,7 @@ public class EvAComAdapter {
|
|||||||
*
|
*
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public ModuleAdapter getModuleAdapter(String selectedModuleName, InterfaceGOParameters goParams, String noGuiStatsFile) {
|
public ModuleAdapter getModuleAdapter(String selectedModuleName, InterfaceOptimizationParameters goParams, String noGuiStatsFile) {
|
||||||
ModuleAdapter newModuleAdapter;
|
ModuleAdapter newModuleAdapter;
|
||||||
newModuleAdapter = getLocalMainAdapter().getModuleAdapter(selectedModuleName, goParams, noGuiStatsFile);
|
newModuleAdapter = getLocalMainAdapter().getModuleAdapter(selectedModuleName, goParams, noGuiStatsFile);
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@ import eva2.optimization.individuals.AbstractEAIndividual;
|
|||||||
import eva2.optimization.operators.postprocess.PostProcessParams;
|
import eva2.optimization.operators.postprocess.PostProcessParams;
|
||||||
import eva2.optimization.operators.terminators.EvaluationTerminator;
|
import eva2.optimization.operators.terminators.EvaluationTerminator;
|
||||||
import eva2.optimization.problems.FM0Problem;
|
import eva2.optimization.problems.FM0Problem;
|
||||||
import eva2.optimization.modules.GOParameters;
|
import eva2.optimization.modules.OptimizationParameters;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class TestingCbnPostProc {
|
public class TestingCbnPostProc {
|
||||||
@ -14,7 +14,7 @@ public class TestingCbnPostProc {
|
|||||||
AbstractEAIndividual best;
|
AbstractEAIndividual best;
|
||||||
List<AbstractEAIndividual> ppSols;
|
List<AbstractEAIndividual> ppSols;
|
||||||
|
|
||||||
GOParameters esParams = OptimizerFactory.standardCbnES(fm0);
|
OptimizationParameters esParams = OptimizerFactory.standardCbnES(fm0);
|
||||||
esParams.setTerminator(new EvaluationTerminator(2000));
|
esParams.setTerminator(new EvaluationTerminator(2000));
|
||||||
esParams.setSeed(0);
|
esParams.setSeed(0);
|
||||||
best = (AbstractEAIndividual)OptimizerFactory.optimizeToInd(esParams, null);
|
best = (AbstractEAIndividual)OptimizerFactory.optimizeToInd(esParams, null);
|
||||||
|
@ -5,7 +5,7 @@ import eva2.optimization.operators.terminators.EvaluationTerminator;
|
|||||||
import eva2.optimization.populations.Population;
|
import eva2.optimization.populations.Population;
|
||||||
import eva2.optimization.problems.B1Problem;
|
import eva2.optimization.problems.B1Problem;
|
||||||
import eva2.optimization.strategies.GeneticAlgorithm;
|
import eva2.optimization.strategies.GeneticAlgorithm;
|
||||||
import eva2.optimization.modules.GOParameters;
|
import eva2.optimization.modules.OptimizationParameters;
|
||||||
import java.util.BitSet;
|
import java.util.BitSet;
|
||||||
|
|
||||||
public class TestingGAB1 {
|
public class TestingGAB1 {
|
||||||
@ -13,7 +13,7 @@ public class TestingGAB1 {
|
|||||||
B1Problem b1 = new B1Problem();
|
B1Problem b1 = new B1Problem();
|
||||||
BitSet sol;
|
BitSet sol;
|
||||||
// default go-parameter instance with a GA
|
// default go-parameter instance with a GA
|
||||||
GOParameters gaParams = OptimizerFactory.standardGA(b1);
|
OptimizationParameters gaParams = OptimizerFactory.standardGA(b1);
|
||||||
// add an evaluation terminator
|
// add an evaluation terminator
|
||||||
gaParams.setTerminator(new EvaluationTerminator(1000));
|
gaParams.setTerminator(new EvaluationTerminator(1000));
|
||||||
// set a specific random seed
|
// set a specific random seed
|
||||||
|
@ -2,12 +2,12 @@ package eva2.examples;
|
|||||||
|
|
||||||
import eva2.OptimizerFactory;
|
import eva2.OptimizerFactory;
|
||||||
import eva2.optimization.individuals.AbstractEAIndividual;
|
import eva2.optimization.individuals.AbstractEAIndividual;
|
||||||
|
import eva2.optimization.modules.OptimizationParameters;
|
||||||
import eva2.optimization.operators.crossover.CrossoverESDefault;
|
import eva2.optimization.operators.crossover.CrossoverESDefault;
|
||||||
import eva2.optimization.operators.mutation.MutateESCovarianceMatrixAdaption;
|
import eva2.optimization.operators.mutation.MutateESCovarianceMatrixAdaption;
|
||||||
import eva2.optimization.operators.terminators.EvaluationTerminator;
|
import eva2.optimization.operators.terminators.EvaluationTerminator;
|
||||||
import eva2.optimization.problems.FM0Problem;
|
import eva2.optimization.problems.FM0Problem;
|
||||||
import eva2.optimization.strategies.EvolutionStrategies;
|
import eva2.optimization.strategies.EvolutionStrategies;
|
||||||
import eva2.optimization.modules.GOParameters;
|
|
||||||
|
|
||||||
public class TestingPlusCmaEs {
|
public class TestingPlusCmaEs {
|
||||||
|
|
||||||
@ -16,7 +16,7 @@ public class TestingPlusCmaEs {
|
|||||||
FM0Problem fm0 = new FM0Problem();
|
FM0Problem fm0 = new FM0Problem();
|
||||||
AbstractEAIndividual bestIndy;
|
AbstractEAIndividual bestIndy;
|
||||||
// create standard ES parameters
|
// create standard ES parameters
|
||||||
GOParameters esParams = OptimizerFactory.standardES(fm0);
|
OptimizationParameters esParams = OptimizerFactory.standardES(fm0);
|
||||||
esParams.setTerminator(new EvaluationTerminator(2000));
|
esParams.setTerminator(new EvaluationTerminator(2000));
|
||||||
// set a random seed based on system time
|
// set a random seed based on system time
|
||||||
esParams.setSeed(0);
|
esParams.setSeed(0);
|
||||||
|
@ -5,7 +5,7 @@ import javax.swing.tree.DefaultMutableTreeNode;
|
|||||||
/**
|
/**
|
||||||
* The node class for the EvA2 tree view panel. Each node contains a parameter object.
|
* The node class for the EvA2 tree view panel. Each node contains a parameter object.
|
||||||
* Typically, the tree hierarchy starts with a
|
* 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
|
* The tree is constructed using the reflection functionality of PropertySheetPanel
|
||||||
* which is also used to generate the nested panels for parameter configuration.
|
* which is also used to generate the nested panels for parameter configuration.
|
||||||
*
|
*
|
||||||
|
@ -8,7 +8,7 @@ package eva2.optimization;
|
|||||||
* $Date: 2007-11-16 17:25:09 +0100 (Fri, 16 Nov 2007) $
|
* $Date: 2007-11-16 17:25:09 +0100 (Fri, 16 Nov 2007) $
|
||||||
* $Author: mkron $
|
* $Author: mkron $
|
||||||
*/
|
*/
|
||||||
import eva2.optimization.go.InterfaceGOParameters;
|
import eva2.optimization.go.InterfaceOptimizationParameters;
|
||||||
import eva2.optimization.modules.ModuleAdapter;
|
import eva2.optimization.modules.ModuleAdapter;
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@ -20,5 +20,5 @@ public interface EvAMainAdapter {
|
|||||||
|
|
||||||
ModuleAdapter getModuleAdapter(String selectedModuleName);
|
ModuleAdapter getModuleAdapter(String selectedModuleName);
|
||||||
|
|
||||||
ModuleAdapter getModuleAdapter(String selectedModuleName, InterfaceGOParameters goParams, String noGuiStatsFile);
|
ModuleAdapter getModuleAdapter(String selectedModuleName, InterfaceOptimizationParameters goParams, String noGuiStatsFile);
|
||||||
}
|
}
|
||||||
|
@ -10,7 +10,7 @@ package eva2.optimization;
|
|||||||
* $Author: mkron $
|
* $Author: mkron $
|
||||||
*/
|
*/
|
||||||
import eva2.EvAInfo;
|
import eva2.EvAInfo;
|
||||||
import eva2.optimization.go.InterfaceGOParameters;
|
import eva2.optimization.go.InterfaceOptimizationParameters;
|
||||||
import eva2.optimization.modules.ModuleAdapter;
|
import eva2.optimization.modules.ModuleAdapter;
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@ -35,7 +35,7 @@ public class EvAMainAdapterImpl implements EvAMainAdapter {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@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);
|
return moduleServer.createModuleAdapter(selectedModule, goParams, noGuiStatsFile);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -10,7 +10,7 @@ package eva2.optimization;
|
|||||||
* $Date: 2007-12-06 16:05:11 +0100 (Thu, 06 Dec 2007) $
|
* $Date: 2007-12-06 16:05:11 +0100 (Thu, 06 Dec 2007) $
|
||||||
* $Author: mkron $
|
* $Author: mkron $
|
||||||
*/
|
*/
|
||||||
import eva2.optimization.go.InterfaceGOParameters;
|
import eva2.optimization.go.InterfaceOptimizationParameters;
|
||||||
import eva2.optimization.modules.GOModuleAdapter;
|
import eva2.optimization.modules.GOModuleAdapter;
|
||||||
import eva2.optimization.modules.ModuleAdapter;
|
import eva2.optimization.modules.ModuleAdapter;
|
||||||
import eva2.tools.EVAERROR;
|
import eva2.tools.EVAERROR;
|
||||||
@ -105,7 +105,7 @@ public class ModuleServer {
|
|||||||
*
|
*
|
||||||
* @return the loaded module adapter instance
|
* @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++;
|
moduleAdapterCounter++;
|
||||||
String adapterName = "ERROR MODULADAPTER !!";
|
String adapterName = "ERROR MODULADAPTER !!";
|
||||||
String moduleName = null;
|
String moduleName = null;
|
||||||
@ -147,7 +147,7 @@ public class ModuleServer {
|
|||||||
} else {
|
} else {
|
||||||
Object[] param = new Object[4];
|
Object[] param = new Object[4];
|
||||||
param[0] = (String) adapterName;
|
param[0] = (String) adapterName;
|
||||||
param[1] = (InterfaceGOParameters) goParams;
|
param[1] = (InterfaceOptimizationParameters) goParams;
|
||||||
param[2] = (String) noGuiLogFile;
|
param[2] = (String) noGuiLogFile;
|
||||||
while ((constructorArr[constrIndex].getParameterTypes().length != 4) && (constrIndex < constructorArr.length)) {
|
while ((constructorArr[constrIndex].getParameterTypes().length != 4) && (constrIndex < constructorArr.length)) {
|
||||||
constrIndex++;
|
constrIndex++;
|
||||||
|
@ -6,6 +6,7 @@ import eva2.optimization.individuals.AbstractEAIndividual;
|
|||||||
import eva2.optimization.individuals.ESIndividualDoubleData;
|
import eva2.optimization.individuals.ESIndividualDoubleData;
|
||||||
import eva2.optimization.individuals.GAIndividualDoubleData;
|
import eva2.optimization.individuals.GAIndividualDoubleData;
|
||||||
import eva2.optimization.individuals.InterfaceDataTypeDouble;
|
import eva2.optimization.individuals.InterfaceDataTypeDouble;
|
||||||
|
import eva2.optimization.modules.OptimizationParameters;
|
||||||
import eva2.optimization.operators.crossover.CrossoverGAGINPoint;
|
import eva2.optimization.operators.crossover.CrossoverGAGINPoint;
|
||||||
import eva2.optimization.operators.mutation.InterfaceMutation;
|
import eva2.optimization.operators.mutation.InterfaceMutation;
|
||||||
import eva2.optimization.operators.mutation.MutateESFixedStepSize;
|
import eva2.optimization.operators.mutation.MutateESFixedStepSize;
|
||||||
@ -17,7 +18,6 @@ import eva2.optimization.problems.F1Problem;
|
|||||||
import eva2.optimization.strategies.EvolutionStrategies;
|
import eva2.optimization.strategies.EvolutionStrategies;
|
||||||
import eva2.optimization.strategies.GeneticAlgorithm;
|
import eva2.optimization.strategies.GeneticAlgorithm;
|
||||||
import eva2.optimization.strategies.InterfaceOptimizer;
|
import eva2.optimization.strategies.InterfaceOptimizer;
|
||||||
import eva2.optimization.modules.GOParameters;
|
|
||||||
import eva2.tools.math.RNG;
|
import eva2.tools.math.RNG;
|
||||||
import java.awt.BorderLayout;
|
import java.awt.BorderLayout;
|
||||||
import java.awt.List;
|
import java.awt.List;
|
||||||
@ -58,7 +58,7 @@ public class GOStandaloneVersion implements InterfaceGOStandalone, InterfacePopu
|
|||||||
//transient private InterfaceOptimizer optimizer = new EvolutionaryMultiObjectiveOptimization();
|
//transient private InterfaceOptimizer optimizer = new EvolutionaryMultiObjectiveOptimization();
|
||||||
//transient private InterfaceOptimizationProblem problem = new TF1Problem();
|
//transient private InterfaceOptimizationProblem problem = new TF1Problem();
|
||||||
//transient private int functionCalls = 1000;
|
//transient private int functionCalls = 1000;
|
||||||
private GOParameters m_GO;
|
private OptimizationParameters m_GO;
|
||||||
transient private int m_MultiRuns = 1;
|
transient private int m_MultiRuns = 1;
|
||||||
transient private int m_RecentFC;
|
transient private int m_RecentFC;
|
||||||
transient private int currentExperiment = 0;
|
transient private int currentExperiment = 0;
|
||||||
@ -88,7 +88,7 @@ public class GOStandaloneVersion implements InterfaceGOStandalone, InterfacePopu
|
|||||||
// this.m_List.add("Test2");
|
// this.m_List.add("Test2");
|
||||||
// this.m_List.add("Test3");
|
// this.m_List.add("Test3");
|
||||||
// this.m_yself = this;
|
// 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_ExperimentName = this.m_GO.getOptimizer().getName() + "-" + this.m_PerformedRuns.size();
|
||||||
this.m_GO.addPopulationChangedEventListener(this);
|
this.m_GO.addPopulationChangedEventListener(this);
|
||||||
RNG.setRandomSeed(m_GO.getSeed());
|
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
|
* This method allows you to get the current GO parameters
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public GOParameters getGOParameters() {
|
public OptimizationParameters getGOParameters() {
|
||||||
return this.m_GO;
|
return this.m_GO;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -12,7 +12,7 @@ import eva2.optimization.strategies.InterfaceOptimizer;
|
|||||||
* Time: 13:14:06
|
* Time: 13:14:06
|
||||||
* To change this template use Options | File Templates.
|
* To change this template use Options | File Templates.
|
||||||
*/
|
*/
|
||||||
public interface InterfaceGOParameters {
|
public interface InterfaceOptimizationParameters {
|
||||||
|
|
||||||
/** This method returns a global info string
|
/** This method returns a global info string
|
||||||
* @return description
|
* @return description
|
@ -9,7 +9,7 @@ package eva2.optimization.modules;
|
|||||||
* $Date: 2007-12-04 14:22:52 +0100 (Tue, 04 Dec 2007) $
|
* $Date: 2007-12-04 14:22:52 +0100 (Tue, 04 Dec 2007) $
|
||||||
* $Author: mkron $
|
* $Author: mkron $
|
||||||
*/
|
*/
|
||||||
import eva2.optimization.go.InterfaceGOParameters;
|
import eva2.optimization.go.InterfaceOptimizationParameters;
|
||||||
import eva2.optimization.go.InterfaceProcessor;
|
import eva2.optimization.go.InterfaceProcessor;
|
||||||
import eva2.optimization.OptimizationStateListener;
|
import eva2.optimization.OptimizationStateListener;
|
||||||
import java.io.Serializable;
|
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)) {
|
if ((processor != null) && (processor instanceof Processor)) {
|
||||||
return ((Processor) processor).getGOParams();
|
return ((Processor) processor).getGOParams();
|
||||||
} else {
|
} 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)) {
|
if ((processor != null) && (processor instanceof Processor)) {
|
||||||
((Processor) processor).setGOParams(goParams);
|
((Processor) processor).setGOParams(goParams);
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
package eva2.optimization.modules;
|
package eva2.optimization.modules;
|
||||||
|
|
||||||
import eva2.gui.BeanInspector;
|
import eva2.gui.BeanInspector;
|
||||||
import eva2.optimization.go.InterfaceGOParameters;
|
import eva2.optimization.go.InterfaceOptimizationParameters;
|
||||||
import eva2.optimization.go.InterfaceNotifyOnInformers;
|
import eva2.optimization.go.InterfaceNotifyOnInformers;
|
||||||
import eva2.optimization.go.InterfacePopulationChangedEventListener;
|
import eva2.optimization.go.InterfacePopulationChangedEventListener;
|
||||||
import eva2.optimization.go.InterfaceTerminator;
|
import eva2.optimization.go.InterfaceTerminator;
|
||||||
@ -20,8 +20,8 @@ import java.util.logging.Level;
|
|||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
|
|
||||||
public abstract class AbstractGOParameters implements InterfaceGOParameters, Serializable {
|
public abstract class AbstractOptimizationParameters implements InterfaceOptimizationParameters, Serializable {
|
||||||
protected static final Logger LOGGER = Logger.getLogger(AbstractGOParameters.class.getName());
|
protected static final Logger LOGGER = Logger.getLogger(AbstractOptimizationParameters.class.getName());
|
||||||
protected long randomSeed = (long)0.0;
|
protected long randomSeed = (long)0.0;
|
||||||
|
|
||||||
// Opt. Algorithms and Parameters
|
// Opt. Algorithms and Parameters
|
||||||
@ -32,20 +32,20 @@ public abstract class AbstractGOParameters implements InterfaceGOParameters, Ser
|
|||||||
transient protected InterfacePopulationChangedEventListener populationChangedEventListener;
|
transient protected InterfacePopulationChangedEventListener populationChangedEventListener;
|
||||||
transient private List<InterfaceNotifyOnInformers> toInformAboutInformers = null;
|
transient private List<InterfaceNotifyOnInformers> toInformAboutInformers = null;
|
||||||
|
|
||||||
protected AbstractGOParameters() {
|
protected AbstractOptimizationParameters() {
|
||||||
}
|
}
|
||||||
|
|
||||||
protected AbstractGOParameters(AbstractGOParameters goParameters) {
|
protected AbstractOptimizationParameters(AbstractOptimizationParameters optimizationParameters) {
|
||||||
this();
|
this();
|
||||||
this.optimizer = goParameters.optimizer;
|
this.optimizer = optimizationParameters.optimizer;
|
||||||
this.problem = goParameters.problem;
|
this.problem = optimizationParameters.problem;
|
||||||
this.terminator = goParameters.terminator;
|
this.terminator = optimizationParameters.terminator;
|
||||||
this.optimizer.setProblem(this.problem);
|
this.optimizer.setProblem(this.problem);
|
||||||
this.randomSeed = goParameters.randomSeed;
|
this.randomSeed = optimizationParameters.randomSeed;
|
||||||
this.postProcessing = goParameters.postProcessing;
|
this.postProcessing = optimizationParameters.postProcessing;
|
||||||
}
|
}
|
||||||
|
|
||||||
public AbstractGOParameters(InterfaceOptimizer opt, InterfaceOptimizationProblem prob, InterfaceTerminator term) {
|
public AbstractOptimizationParameters(InterfaceOptimizer opt, InterfaceOptimizationProblem prob, InterfaceTerminator term) {
|
||||||
this();
|
this();
|
||||||
optimizer = opt;
|
optimizer = opt;
|
||||||
problem = prob;
|
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.
|
* Apply the given GO parameter settings to this instance. This maintains the listeners etc.
|
||||||
*
|
*
|
||||||
* @param src
|
* @param parameters
|
||||||
*/
|
*/
|
||||||
public void setSameParams(AbstractGOParameters src) {
|
public void setSameParams(AbstractOptimizationParameters parameters) {
|
||||||
setOptimizer(src.optimizer);
|
setOptimizer(parameters.optimizer);
|
||||||
setProblem(src.problem);
|
setProblem(parameters.problem);
|
||||||
setTerminator(src.terminator);
|
setTerminator(parameters.terminator);
|
||||||
this.optimizer.setProblem(this.problem);
|
this.optimizer.setProblem(this.problem);
|
||||||
setSeed(src.randomSeed);
|
setSeed(parameters.randomSeed);
|
||||||
setPostProcessParams(src.postProcessing);
|
setPostProcessParams(parameters.postProcessing);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
@ -1,7 +1,7 @@
|
|||||||
package eva2.optimization.modules;
|
package eva2.optimization.modules;
|
||||||
|
|
||||||
|
|
||||||
import eva2.optimization.go.InterfaceGOParameters;
|
import eva2.optimization.go.InterfaceOptimizationParameters;
|
||||||
import eva2.optimization.enums.DETypeEnum;
|
import eva2.optimization.enums.DETypeEnum;
|
||||||
import eva2.optimization.operators.terminators.EvaluationTerminator;
|
import eva2.optimization.operators.terminators.EvaluationTerminator;
|
||||||
import eva2.optimization.populations.Population;
|
import eva2.optimization.populations.Population;
|
||||||
@ -22,7 +22,7 @@ import java.util.logging.Level;
|
|||||||
* Time: 13:49:09
|
* Time: 13:49:09
|
||||||
* To change this template use File | Settings | File Templates.
|
* 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 {
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
package eva2.optimization.modules;
|
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.InterfaceSelection;
|
||||||
import eva2.optimization.operators.terminators.EvaluationTerminator;
|
import eva2.optimization.operators.terminators.EvaluationTerminator;
|
||||||
import eva2.optimization.populations.Population;
|
import eva2.optimization.populations.Population;
|
||||||
@ -23,7 +23,7 @@ import java.util.logging.Logger;
|
|||||||
* Time: 13:49:09
|
* Time: 13:49:09
|
||||||
* To change this template use File | Settings | File Templates.
|
* 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());
|
private static final Logger LOGGER = Logger.getLogger(EPParameters.class.getName());
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package eva2.optimization.modules;
|
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.InterfaceSelection;
|
||||||
import eva2.optimization.operators.terminators.EvaluationTerminator;
|
import eva2.optimization.operators.terminators.EvaluationTerminator;
|
||||||
import eva2.optimization.populations.Population;
|
import eva2.optimization.populations.Population;
|
||||||
@ -22,7 +22,7 @@ import java.util.logging.Logger;
|
|||||||
* Time: 21:29:34
|
* Time: 21:29:34
|
||||||
* To change this template use File | Settings | File Templates.
|
* 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());
|
private static final Logger LOGGER = Logger.getLogger(GAParameters.class.getName());
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package eva2.optimization.modules;
|
package eva2.optimization.modules;
|
||||||
|
|
||||||
import eva2.optimization.go.InterfaceGOParameters;
|
import eva2.optimization.go.InterfaceOptimizationParameters;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
|
||||||
@ -25,26 +25,26 @@ public class GOModuleAdapter extends GenericModuleAdapter implements ModuleAdapt
|
|||||||
* @param Client the client instance
|
* @param Client the client instance
|
||||||
*/
|
*/
|
||||||
public GOModuleAdapter(String adapterName) {
|
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 AdapterName the title of the ModulAdapter
|
||||||
* @param Client the client instance
|
* @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);
|
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 AdapterName the title of the ModulAdapter
|
||||||
// * @param Client the client instance
|
// * @param Client the client instance
|
||||||
// */
|
// */
|
||||||
// public GOModuleAdapter(String adapterName, String serParamsFile, String noGuiLogFile, MainAdapterClient client) {
|
// public GOModuleAdapter(String adapterName, String serParamsFile, String noGuiLogFile, MainAdapterClient client) {
|
||||||
// //super(adapterName, "", client, GOParameters.getInstance(serParamsFile, false), false);
|
// //super(adapterName, "", client, OptimizationParameters.getInstance(serParamsFile, false), false);
|
||||||
// super(adapterName, "", client, GOParameters.getInstance(serParamsFile, serParamsFile==null), false, noGuiLogFile);
|
// super(adapterName, "", client, OptimizationParameters.getInstance(serParamsFile, serParamsFile==null), false, noGuiLogFile);
|
||||||
// }
|
// }
|
||||||
}
|
}
|
@ -5,7 +5,7 @@ import eva2.gui.EvAModuleButtonPanelMaker;
|
|||||||
import eva2.gui.EvATabbedFrameMaker;
|
import eva2.gui.EvATabbedFrameMaker;
|
||||||
import eva2.gui.GenericObjectEditor;
|
import eva2.gui.GenericObjectEditor;
|
||||||
import eva2.gui.JParaPanel;
|
import eva2.gui.JParaPanel;
|
||||||
import eva2.optimization.go.InterfaceGOParameters;
|
import eva2.optimization.go.InterfaceOptimizationParameters;
|
||||||
import eva2.optimization.stat.AbstractStatistics;
|
import eva2.optimization.stat.AbstractStatistics;
|
||||||
import eva2.optimization.stat.EvAJob;
|
import eva2.optimization.stat.EvAJob;
|
||||||
import eva2.optimization.stat.EvAJobList;
|
import eva2.optimization.stat.EvAJobList;
|
||||||
@ -13,7 +13,6 @@ import eva2.optimization.stat.InterfaceStatisticsParameter;
|
|||||||
import eva2.optimization.stat.StatisticsStandalone;
|
import eva2.optimization.stat.StatisticsStandalone;
|
||||||
import eva2.optimization.stat.StatisticsWithGUI;
|
import eva2.optimization.stat.StatisticsWithGUI;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.lang.reflect.Proxy;
|
|
||||||
|
|
||||||
public class GenericModuleAdapter extends AbstractModuleAdapter implements Serializable {
|
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
|
* @param noGUIStatOut If null, statistics with GUI are used, else the standalone statistics
|
||||||
* with given output filename.
|
* 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;
|
remoteModuleAdapter = this;
|
||||||
this.adapterName = adapterName;
|
this.adapterName = adapterName;
|
||||||
helperFilename = helperFName;
|
helperFilename = helperFName;
|
||||||
@ -64,7 +63,7 @@ public class GenericModuleAdapter extends AbstractModuleAdapter implements Seria
|
|||||||
* @param params a parameter set describing the optimizer module
|
* @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
|
* @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);
|
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());
|
EvAModuleButtonPanelMaker ButtonPanel = new EvAModuleButtonPanelMaker(remoteModuleAdapter, ((Processor) processor).isOptRunning());
|
||||||
ButtonPanel.setHelperFilename(helperFilename);
|
ButtonPanel.setHelperFilename(helperFilename);
|
||||||
frmMkr.addPanelMaker(ButtonPanel);
|
frmMkr.addPanelMaker(ButtonPanel);
|
||||||
InterfaceGOParameters goParams = ((Processor) processor).getGOParams();
|
InterfaceOptimizationParameters goParams = ((Processor) processor).getGOParams();
|
||||||
|
|
||||||
frmMkr.addPanelMaker(paramPanel = new JParaPanel(goParams, goParams.getName()));
|
frmMkr.addPanelMaker(paramPanel = new JParaPanel(goParams, goParams.getName()));
|
||||||
|
|
||||||
@ -144,7 +143,7 @@ public class GenericModuleAdapter extends AbstractModuleAdapter implements Seria
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setGOParameters(InterfaceGOParameters goParams) {
|
public void setGOParameters(InterfaceOptimizationParameters goParams) {
|
||||||
super.setGOParameters(goParams);
|
super.setGOParameters(goParams);
|
||||||
paramPanel.getEditor().setValue(goParams);
|
paramPanel.getEditor().setValue(goParams);
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package eva2.optimization.modules;
|
package eva2.optimization.modules;
|
||||||
|
|
||||||
import eva2.optimization.go.InterfaceGOParameters;
|
import eva2.optimization.go.InterfaceOptimizationParameters;
|
||||||
import eva2.optimization.operators.terminators.EvaluationTerminator;
|
import eva2.optimization.operators.terminators.EvaluationTerminator;
|
||||||
import eva2.optimization.populations.Population;
|
import eva2.optimization.populations.Population;
|
||||||
import eva2.optimization.problems.B1Problem;
|
import eva2.optimization.problems.B1Problem;
|
||||||
@ -21,7 +21,7 @@ import java.util.logging.Level;
|
|||||||
* Time: 21:19:20
|
* Time: 21:19:20
|
||||||
* To change this template use File | Settings | File Templates.
|
* 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.
|
* Load or create a new instance of the class.
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package eva2.optimization.modules;
|
package eva2.optimization.modules;
|
||||||
|
|
||||||
import eva2.optimization.go.InterfaceGOParameters;
|
import eva2.optimization.go.InterfaceOptimizationParameters;
|
||||||
import eva2.optimization.operators.terminators.EvaluationTerminator;
|
import eva2.optimization.operators.terminators.EvaluationTerminator;
|
||||||
import eva2.optimization.populations.Population;
|
import eva2.optimization.populations.Population;
|
||||||
import eva2.optimization.problems.B1Problem;
|
import eva2.optimization.problems.B1Problem;
|
||||||
@ -20,7 +20,7 @@ import java.util.logging.Level;
|
|||||||
* Time: 21:07:40
|
* Time: 21:07:40
|
||||||
* To change this template use File | Settings | File Templates.
|
* 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.
|
* Load or create a new instance of the class.
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package eva2.optimization.modules;
|
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.InterfaceArchiving;
|
||||||
import eva2.optimization.operators.archiving.InterfaceInformationRetrieval;
|
import eva2.optimization.operators.archiving.InterfaceInformationRetrieval;
|
||||||
import eva2.optimization.operators.terminators.EvaluationTerminator;
|
import eva2.optimization.operators.terminators.EvaluationTerminator;
|
||||||
@ -22,7 +22,7 @@ import java.util.logging.Level;
|
|||||||
* Time: 13:49:09
|
* Time: 13:49:09
|
||||||
* To change this template use File | Settings | File Templates.
|
* 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.
|
* Load or create a new instance of the class.
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package eva2.optimization.modules;
|
package eva2.optimization.modules;
|
||||||
|
|
||||||
import eva2.optimization.go.InterfaceGOParameters;
|
import eva2.optimization.go.InterfaceOptimizationParameters;
|
||||||
import eva2.optimization.go.InterfaceTerminator;
|
import eva2.optimization.go.InterfaceTerminator;
|
||||||
import eva2.optimization.operators.terminators.EvaluationTerminator;
|
import eva2.optimization.operators.terminators.EvaluationTerminator;
|
||||||
import eva2.optimization.problems.F1Problem;
|
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) $
|
* $Date: 2007-12-04 14:22:52 +0100 (Tue, 04 Dec 2007) $
|
||||||
* $Author: mkron $
|
* $Author: mkron $
|
||||||
*/
|
*/
|
||||||
public class GOParameters extends AbstractGOParameters implements InterfaceGOParameters, Serializable {
|
public class OptimizationParameters extends AbstractOptimizationParameters implements InterfaceOptimizationParameters, Serializable {
|
||||||
|
|
||||||
public static GOParameters getInstance() {
|
public static OptimizationParameters getInstance() {
|
||||||
return getInstance("GOParameters.ser", true);
|
return getInstance("OptimizationParameters.ser", true);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -34,36 +34,36 @@ public class GOParameters extends AbstractGOParameters implements InterfaceGOPar
|
|||||||
*
|
*
|
||||||
* @param serParamFile
|
* @param serParamFile
|
||||||
* @param casually if true, standard parameters are used quietly if the params cannot be loaded
|
* @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) {
|
public static OptimizationParameters getInstance(String serParamFile, final boolean casually) {
|
||||||
GOParameters instance = null;
|
OptimizationParameters instance = null;
|
||||||
try {
|
try {
|
||||||
FileInputStream fileStream = new FileInputStream(serParamFile);
|
FileInputStream fileStream = new FileInputStream(serParamFile);
|
||||||
instance = (GOParameters) Serializer.loadObject(fileStream, casually);
|
instance = (OptimizationParameters) Serializer.loadObject(fileStream, casually);
|
||||||
} catch (FileNotFoundException ex) {
|
} catch (FileNotFoundException ex) {
|
||||||
LOGGER.log(Level.WARNING, "Could not load instance object.", ex);
|
LOGGER.log(Level.WARNING, "Could not load instance object.", ex);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (instance == null) {
|
if (instance == null) {
|
||||||
instance = new GOParameters();
|
instance = new OptimizationParameters();
|
||||||
}
|
}
|
||||||
return instance;
|
return instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
public GOParameters() {
|
public OptimizationParameters() {
|
||||||
super(new GeneticAlgorithm(), new F1Problem(), new EvaluationTerminator(1000));
|
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);
|
super(opt, prob, term);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
private GOParameters(GOParameters Source) {
|
private OptimizationParameters(OptimizationParameters parameters) {
|
||||||
super(Source);
|
super(parameters);
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@ -77,7 +77,7 @@ public class GOParameters extends AbstractGOParameters implements InterfaceGOPar
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Object clone() {
|
public Object clone() {
|
||||||
return new GOParameters(this);
|
return new OptimizationParameters(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** This method returns a global info string.
|
/** This method returns a global info string.
|
@ -1,6 +1,6 @@
|
|||||||
package eva2.optimization.modules;
|
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.InterfaceSelection;
|
||||||
import eva2.optimization.operators.terminators.EvaluationTerminator;
|
import eva2.optimization.operators.terminators.EvaluationTerminator;
|
||||||
import eva2.optimization.populations.Population;
|
import eva2.optimization.populations.Population;
|
||||||
@ -22,7 +22,7 @@ import java.util.logging.Level;
|
|||||||
* Time: 21:53:29
|
* Time: 21:53:29
|
||||||
* To change this template use File | Settings | File Templates.
|
* 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.
|
* Load or create a new instance of the class.
|
||||||
|
@ -2,7 +2,7 @@ package eva2.optimization.modules;
|
|||||||
|
|
||||||
|
|
||||||
import eva2.gui.GenericObjectEditor;
|
import eva2.gui.GenericObjectEditor;
|
||||||
import eva2.optimization.go.InterfaceGOParameters;
|
import eva2.optimization.go.InterfaceOptimizationParameters;
|
||||||
import eva2.optimization.enums.PSOTopologyEnum;
|
import eva2.optimization.enums.PSOTopologyEnum;
|
||||||
import eva2.optimization.operators.terminators.EvaluationTerminator;
|
import eva2.optimization.operators.terminators.EvaluationTerminator;
|
||||||
import eva2.optimization.populations.Population;
|
import eva2.optimization.populations.Population;
|
||||||
@ -24,7 +24,7 @@ import java.util.logging.Level;
|
|||||||
* Time: 17:58:37
|
* Time: 17:58:37
|
||||||
* To change this template use File | Settings | File Templates.
|
* 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.
|
* Load or create a new instance of the class.
|
||||||
|
@ -1,11 +1,7 @@
|
|||||||
package eva2.optimization.modules;
|
package eva2.optimization.modules;
|
||||||
|
|
||||||
import eva2.optimization.go.InterfaceNotifyOnInformers;
|
import eva2.optimization.go.*;
|
||||||
import eva2.optimization.go.PopulationInterface;
|
import eva2.optimization.go.InterfaceOptimizationParameters;
|
||||||
import eva2.optimization.go.InterfaceProcessor;
|
|
||||||
import eva2.optimization.go.InterfaceTerminator;
|
|
||||||
import eva2.optimization.go.InterfaceGOParameters;
|
|
||||||
import eva2.optimization.go.InterfacePopulationChangedEventListener;
|
|
||||||
import eva2.gui.BeanInspector;
|
import eva2.gui.BeanInspector;
|
||||||
import eva2.optimization.OptimizationStateListener;
|
import eva2.optimization.OptimizationStateListener;
|
||||||
import eva2.optimization.operators.paramcontrol.ConstantParameters;
|
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 static final Logger LOGGER = Logger.getLogger(Processor.class.getName());
|
||||||
private volatile boolean isOptimizationRunning;
|
private volatile boolean isOptimizationRunning;
|
||||||
private InterfaceStatistics m_Statistics;
|
private InterfaceStatistics m_Statistics;
|
||||||
private InterfaceGOParameters goParams;
|
private InterfaceOptimizationParameters goParams;
|
||||||
private boolean m_createInitialPopulations = true;
|
private boolean m_createInitialPopulations = true;
|
||||||
private boolean saveParams = true;
|
private boolean saveParams = true;
|
||||||
private OptimizationStateListener optimizationStateListener;
|
private OptimizationStateListener optimizationStateListener;
|
||||||
@ -76,7 +72,7 @@ public class Processor extends Thread implements InterfaceProcessor, InterfacePo
|
|||||||
*
|
*
|
||||||
* @see InterfaceNotifyOnInformers
|
* @see InterfaceNotifyOnInformers
|
||||||
*/
|
*/
|
||||||
public Processor(InterfaceStatistics Stat, ModuleAdapter moduleAdapter, InterfaceGOParameters params) {
|
public Processor(InterfaceStatistics Stat, ModuleAdapter moduleAdapter, InterfaceOptimizationParameters params) {
|
||||||
goParams = params;
|
goParams = params;
|
||||||
m_Statistics = Stat;
|
m_Statistics = Stat;
|
||||||
optimizationStateListener = moduleAdapter;
|
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.getOptimizer(), "init", new Object[]{goParams.getOptimizer(), goParams.getOptimizer().getPopulation()});
|
||||||
iterateParamCtrl(goParams.getProblem(), "init", new Object[]{goParams.getProblem(), 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.getOptimizer(), "finish", new Object[]{goParams.getOptimizer(), goParams.getOptimizer().getPopulation()});
|
||||||
iterateParamCtrl(goParams.getProblem(), "finish", new Object[]{goParams.getProblem(), 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;
|
Object[] args;
|
||||||
InterfaceTerminator terminator = goParams.getTerminator();
|
InterfaceTerminator terminator = goParams.getTerminator();
|
||||||
InterfaceOptimizer optimizer = goParams.getOptimizer();
|
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.
|
* These methods allow you to get and set the Module Parameters.
|
||||||
*/
|
*/
|
||||||
public InterfaceGOParameters getGOParams() {
|
public InterfaceOptimizationParameters getGOParams() {
|
||||||
return goParams;
|
return goParams;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setGOParams(InterfaceGOParameters params) {
|
public void setGOParams(InterfaceOptimizationParameters params) {
|
||||||
if (params != null) {
|
if (params != null) {
|
||||||
goParams = params;
|
goParams = params;
|
||||||
} else {
|
} else {
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package eva2.optimization.modules;
|
package eva2.optimization.modules;
|
||||||
|
|
||||||
import eva2.optimization.go.InterfaceGOParameters;
|
import eva2.optimization.go.InterfaceOptimizationParameters;
|
||||||
import eva2.optimization.go.InterfacePopulationChangedEventListener;
|
import eva2.optimization.go.InterfacePopulationChangedEventListener;
|
||||||
import eva2.optimization.go.InterfaceTerminator;
|
import eva2.optimization.go.InterfaceTerminator;
|
||||||
import eva2.optimization.operators.terminators.EvaluationTerminator;
|
import eva2.optimization.operators.terminators.EvaluationTerminator;
|
||||||
@ -23,7 +23,7 @@ import java.util.logging.Level;
|
|||||||
* Time: 21:25:12
|
* Time: 21:25:12
|
||||||
* To change this template use File | Settings | File Templates.
|
* 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
|
// Opt. Algorithms and Parameters
|
||||||
private InterfaceOptimizer m_Optimizer = new SimulatedAnnealing();
|
private InterfaceOptimizer m_Optimizer = new SimulatedAnnealing();
|
||||||
private InterfaceOptimizationProblem m_Problem = new B1Problem();
|
private InterfaceOptimizationProblem m_Problem = new B1Problem();
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package eva2.optimization.modules;
|
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.InterfaceSelection;
|
||||||
import eva2.optimization.operators.selection.replacement.InterfaceReplacement;
|
import eva2.optimization.operators.selection.replacement.InterfaceReplacement;
|
||||||
import eva2.optimization.operators.terminators.EvaluationTerminator;
|
import eva2.optimization.operators.terminators.EvaluationTerminator;
|
||||||
@ -22,7 +22,7 @@ import java.util.logging.Level;
|
|||||||
* Time: 15:44:34
|
* Time: 15:44:34
|
||||||
* To change this template use File | Settings | File Templates.
|
* 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.
|
* Load or create a new instance of the class.
|
||||||
|
@ -37,7 +37,7 @@ import eva2.optimization.strategies.EvolutionStrategies;
|
|||||||
import eva2.optimization.strategies.GradientDescentAlgorithm;
|
import eva2.optimization.strategies.GradientDescentAlgorithm;
|
||||||
import eva2.optimization.strategies.HillClimbing;
|
import eva2.optimization.strategies.HillClimbing;
|
||||||
import eva2.optimization.strategies.NelderMeadSimplex;
|
import eva2.optimization.strategies.NelderMeadSimplex;
|
||||||
import eva2.optimization.modules.GOParameters;
|
import eva2.optimization.modules.OptimizationParameters;
|
||||||
import eva2.optimization.stat.InterfaceTextListener;
|
import eva2.optimization.stat.InterfaceTextListener;
|
||||||
import eva2.optimization.stat.StatisticsParameter;
|
import eva2.optimization.stat.StatisticsParameter;
|
||||||
import eva2.tools.Pair;
|
import eva2.tools.Pair;
|
||||||
@ -526,7 +526,7 @@ public class PostProcess {
|
|||||||
}
|
}
|
||||||
es.initByPopulation(pop, false);
|
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();
|
int funCallsBefore = pop.getFunctionCalls();
|
||||||
pop.SetFunctionCalls(baseEvals);
|
pop.SetFunctionCalls(baseEvals);
|
||||||
|
@ -5,6 +5,7 @@ import eva2.OptimizerRunnable;
|
|||||||
import eva2.client.EvAClient;
|
import eva2.client.EvAClient;
|
||||||
import eva2.gui.BeanInspector;
|
import eva2.gui.BeanInspector;
|
||||||
import eva2.optimization.individuals.AbstractEAIndividual;
|
import eva2.optimization.individuals.AbstractEAIndividual;
|
||||||
|
import eva2.optimization.modules.OptimizationParameters;
|
||||||
import eva2.optimization.operators.crossover.CrossoverESDefault;
|
import eva2.optimization.operators.crossover.CrossoverESDefault;
|
||||||
import eva2.optimization.operators.moso.MOSONoConvert;
|
import eva2.optimization.operators.moso.MOSONoConvert;
|
||||||
import eva2.optimization.operators.moso.MOSOWeightedFitness;
|
import eva2.optimization.operators.moso.MOSOWeightedFitness;
|
||||||
@ -15,7 +16,6 @@ import eva2.optimization.populations.InterfaceSolutionSet;
|
|||||||
import eva2.optimization.populations.Population;
|
import eva2.optimization.populations.Population;
|
||||||
import eva2.optimization.strategies.GeneticAlgorithm;
|
import eva2.optimization.strategies.GeneticAlgorithm;
|
||||||
import eva2.optimization.strategies.InterfaceOptimizer;
|
import eva2.optimization.strategies.InterfaceOptimizer;
|
||||||
import eva2.optimization.modules.GOParameters;
|
|
||||||
import eva2.optimization.stat.StatisticsStandalone;
|
import eva2.optimization.stat.StatisticsStandalone;
|
||||||
import eva2.tools.BasicResourceLoader;
|
import eva2.tools.BasicResourceLoader;
|
||||||
import eva2.tools.StringTools;
|
import eva2.tools.StringTools;
|
||||||
@ -83,7 +83,7 @@ public class ERPStarter {
|
|||||||
System.out.println("Optimizer instance: " + BeanInspector.toString(opt));
|
System.out.println("Optimizer instance: " + BeanInspector.toString(opt));
|
||||||
System.out.println("Problem instance: " + BeanInspector.toString(erp));
|
System.out.println("Problem instance: " + BeanInspector.toString(erp));
|
||||||
// Instantiate optimization
|
// Instantiate optimization
|
||||||
GOParameters params = new GOParameters(opt, erp, new EvaluationTerminator(maxEvals));
|
OptimizationParameters params = new OptimizationParameters(opt, erp, new EvaluationTerminator(maxEvals));
|
||||||
if (startGUI) {
|
if (startGUI) {
|
||||||
EvAClient.initClientGUI(params, null, null, null);
|
EvAClient.initClientGUI(params, null, null, null);
|
||||||
} else {
|
} else {
|
||||||
|
@ -5,9 +5,9 @@ import eva2.optimization.go.GOStandaloneVersion;
|
|||||||
import eva2.optimization.individuals.AbstractEAIndividual;
|
import eva2.optimization.individuals.AbstractEAIndividual;
|
||||||
import eva2.optimization.individuals.ESIndividualDoubleData;
|
import eva2.optimization.individuals.ESIndividualDoubleData;
|
||||||
import eva2.optimization.individuals.InterfaceDataTypeDouble;
|
import eva2.optimization.individuals.InterfaceDataTypeDouble;
|
||||||
|
import eva2.optimization.modules.OptimizationParameters;
|
||||||
import eva2.optimization.populations.Population;
|
import eva2.optimization.populations.Population;
|
||||||
import eva2.optimization.strategies.InterfaceOptimizer;
|
import eva2.optimization.strategies.InterfaceOptimizer;
|
||||||
import eva2.optimization.modules.GOParameters;
|
|
||||||
import eva2.tools.math.RNG;
|
import eva2.tools.math.RNG;
|
||||||
import java.awt.BasicStroke;
|
import java.awt.BasicStroke;
|
||||||
import java.awt.BorderLayout;
|
import java.awt.BorderLayout;
|
||||||
@ -475,7 +475,7 @@ implements InterfaceOptimizationProblem, InterfaceHasSolutionViewer, java.io.Ser
|
|||||||
FLensProblem f = new FLensProblem();
|
FLensProblem f = new FLensProblem();
|
||||||
System.out.println("Working Dir " +System.getProperty("user.dir"));
|
System.out.println("Working Dir " +System.getProperty("user.dir"));
|
||||||
GOStandaloneVersion program = new GOStandaloneVersion();
|
GOStandaloneVersion program = new GOStandaloneVersion();
|
||||||
GOParameters GO = program.getGOParameters();
|
OptimizationParameters GO = program.getGOParameters();
|
||||||
GO.setProblem(f);
|
GO.setProblem(f);
|
||||||
RNG.setRandomSeed(1);
|
RNG.setRandomSeed(1);
|
||||||
program.initFrame();
|
program.initFrame();
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
package eva2.optimization.stat;
|
package eva2.optimization.stat;
|
||||||
|
|
||||||
import eva2.gui.BeanInspector;
|
import eva2.gui.BeanInspector;
|
||||||
import eva2.optimization.go.InterfaceGOParameters;
|
import eva2.optimization.go.InterfaceOptimizationParameters;
|
||||||
import eva2.tools.StringSelection;
|
import eva2.tools.StringSelection;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -19,7 +19,7 @@ import java.util.List;
|
|||||||
public class EvAJob implements Serializable, InterfaceStatisticsListener {
|
public class EvAJob implements Serializable, InterfaceStatisticsListener {
|
||||||
private static final boolean TRACE = false;
|
private static final boolean TRACE = false;
|
||||||
|
|
||||||
private InterfaceGOParameters params = null;
|
private InterfaceOptimizationParameters params = null;
|
||||||
private String[] fieldHeaders = null;
|
private String[] fieldHeaders = null;
|
||||||
private List<Object[]> multiRunFinalObjectData = null;
|
private List<Object[]> multiRunFinalObjectData = null;
|
||||||
private int jobID=0;
|
private int jobID=0;
|
||||||
@ -36,7 +36,7 @@ public class EvAJob implements Serializable, InterfaceStatisticsListener {
|
|||||||
jobIDCounter++;
|
jobIDCounter++;
|
||||||
}
|
}
|
||||||
|
|
||||||
public EvAJob(InterfaceGOParameters params, InterfaceStatistics sts) {
|
public EvAJob(InterfaceOptimizationParameters params, InterfaceStatistics sts) {
|
||||||
this();
|
this();
|
||||||
this.params = params;
|
this.params = params;
|
||||||
if (sts instanceof AbstractStatistics) {
|
if (sts instanceof AbstractStatistics) {
|
||||||
@ -58,7 +58,7 @@ public class EvAJob implements Serializable, InterfaceStatisticsListener {
|
|||||||
multiRunFinalObjectData=null;
|
multiRunFinalObjectData=null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public InterfaceGOParameters getParams() {
|
public InterfaceOptimizationParameters getParams() {
|
||||||
return params;
|
return params;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -67,7 +67,7 @@ public class EvAJob implements Serializable, InterfaceStatisticsListener {
|
|||||||
*
|
*
|
||||||
* @param params
|
* @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
|
// how should this be treated? In case the run is already finished, changing
|
||||||
// the parameters will be evil, so avoid that case.
|
// the parameters will be evil, so avoid that case.
|
||||||
if (state==StateEnum.complete) {
|
if (state==StateEnum.complete) {
|
||||||
@ -134,7 +134,7 @@ public class EvAJob implements Serializable, InterfaceStatisticsListener {
|
|||||||
return multiRunFinalObjectData;
|
return multiRunFinalObjectData;
|
||||||
}
|
}
|
||||||
|
|
||||||
public InterfaceGOParameters getGOParams() {
|
public InterfaceOptimizationParameters getGOParams() {
|
||||||
return params;
|
return params;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3,9 +3,9 @@ package eva2.optimization.stat;
|
|||||||
import eva2.gui.GenericArrayEditor;
|
import eva2.gui.GenericArrayEditor;
|
||||||
import eva2.gui.JParaPanel;
|
import eva2.gui.JParaPanel;
|
||||||
import eva2.gui.PropertySelectableList;
|
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.tools.FileTools;
|
||||||
import eva2.optimization.modules.AbstractGOParameters;
|
|
||||||
import eva2.optimization.modules.AbstractModuleAdapter;
|
import eva2.optimization.modules.AbstractModuleAdapter;
|
||||||
import eva2.optimization.modules.GenericModuleAdapter;
|
import eva2.optimization.modules.GenericModuleAdapter;
|
||||||
import eva2.optimization.modules.ModuleAdapter;
|
import eva2.optimization.modules.ModuleAdapter;
|
||||||
@ -24,7 +24,7 @@ import javax.swing.JFileChooser;
|
|||||||
import javax.swing.JOptionPane;
|
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.
|
* statistical data.
|
||||||
*
|
*
|
||||||
* @author mkron
|
* @author mkron
|
||||||
@ -53,8 +53,8 @@ public class EvAJobList extends PropertySelectableList<EvAJob> implements Serial
|
|||||||
* @param params
|
* @param params
|
||||||
* @param stats
|
* @param stats
|
||||||
*/
|
*/
|
||||||
public EvAJob addJob(InterfaceGOParameters params, AbstractStatistics stats) {
|
public EvAJob addJob(InterfaceOptimizationParameters params, AbstractStatistics stats) {
|
||||||
EvAJob job = new EvAJob((InterfaceGOParameters) Serializer.deepClone(params), stats);
|
EvAJob job = new EvAJob((InterfaceOptimizationParameters) Serializer.deepClone(params), stats);
|
||||||
stats.addDataListener(job);
|
stats.addDataListener(job);
|
||||||
addJob(job, true);
|
addJob(job, true);
|
||||||
return job;
|
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
|
* 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.
|
* matching job is found, null is returned.
|
||||||
*
|
*
|
||||||
* @param params
|
* @param params
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public EvAJob getJobOf(InterfaceGOParameters params) {
|
public EvAJob getJobOf(InterfaceOptimizationParameters params) {
|
||||||
for (EvAJob job : getObjects()) {
|
for (EvAJob job : getObjects()) {
|
||||||
if (job.getGOParams() == params) {
|
if (job.getGOParams() == params) {
|
||||||
return job;
|
return job;
|
||||||
@ -212,8 +212,8 @@ public class EvAJobList extends PropertySelectableList<EvAJob> implements Serial
|
|||||||
List<EvAJob> jobs = jobList.getSelectedJobs();
|
List<EvAJob> jobs = jobList.getSelectedJobs();
|
||||||
if (jobs.size() == 1) {
|
if (jobs.size() == 1) {
|
||||||
EvAJob job = jobs.get(0);
|
EvAJob job = jobs.get(0);
|
||||||
AbstractGOParameters curParams = (AbstractGOParameters) ((AbstractModuleAdapter) jobList.module).getGOParameters();
|
AbstractOptimizationParameters curParams = (AbstractOptimizationParameters) ((AbstractModuleAdapter) jobList.module).getGOParameters();
|
||||||
curParams.setSameParams((AbstractGOParameters) job.getGOParams());
|
curParams.setSameParams((AbstractOptimizationParameters) job.getGOParams());
|
||||||
((GenericModuleAdapter) jobList.module).setGOParameters(curParams);
|
((GenericModuleAdapter) jobList.module).setGOParameters(curParams);
|
||||||
((GenericModuleAdapter) jobList.module).getStatistics().getStatisticsParameter().setMultiRuns(job.getNumRuns());
|
((GenericModuleAdapter) jobList.module).getStatistics().getStatisticsParameter().setMultiRuns(job.getNumRuns());
|
||||||
((GenericModuleAdapter) jobList.module).getStatistics().getStatisticsParameter().setFieldSelection(job.getFieldSelection(((GenericModuleAdapter) jobList.module).getStatistics().getStatisticsParameter().getFieldSelection()));
|
((GenericModuleAdapter) jobList.module).getStatistics().getStatisticsParameter().setFieldSelection(job.getFieldSelection(((GenericModuleAdapter) jobList.module).getStatistics().getStatisticsParameter().getFieldSelection()));
|
||||||
|
@ -7,6 +7,7 @@ import eva2.optimization.go.PopulationInterface;
|
|||||||
import eva2.optimization.enums.PSOTopologyEnum;
|
import eva2.optimization.enums.PSOTopologyEnum;
|
||||||
import eva2.optimization.individuals.AbstractEAIndividual;
|
import eva2.optimization.individuals.AbstractEAIndividual;
|
||||||
import eva2.optimization.individuals.InterfaceDataTypeDouble;
|
import eva2.optimization.individuals.InterfaceDataTypeDouble;
|
||||||
|
import eva2.optimization.modules.OptimizationParameters;
|
||||||
import eva2.optimization.operators.nichepso.deactivation.StandardDeactivationStrategy;
|
import eva2.optimization.operators.nichepso.deactivation.StandardDeactivationStrategy;
|
||||||
import eva2.optimization.operators.paramcontrol.LinearParamAdaption;
|
import eva2.optimization.operators.paramcontrol.LinearParamAdaption;
|
||||||
import eva2.optimization.operators.paramcontrol.ParamAdaption;
|
import eva2.optimization.operators.paramcontrol.ParamAdaption;
|
||||||
@ -15,7 +16,6 @@ import eva2.optimization.populations.Population;
|
|||||||
import eva2.optimization.problems.AbstractOptimizationProblem;
|
import eva2.optimization.problems.AbstractOptimizationProblem;
|
||||||
import eva2.optimization.problems.Interface2DBorderProblem;
|
import eva2.optimization.problems.Interface2DBorderProblem;
|
||||||
import eva2.optimization.problems.InterfaceAdditionalPopulationInformer;
|
import eva2.optimization.problems.InterfaceAdditionalPopulationInformer;
|
||||||
import eva2.optimization.modules.GOParameters;
|
|
||||||
import eva2.tools.ToolBox;
|
import eva2.tools.ToolBox;
|
||||||
import eva2.tools.chart2d.DPoint;
|
import eva2.tools.chart2d.DPoint;
|
||||||
import eva2.tools.chart2d.DPointSet;
|
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";
|
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 anpso = new ANPSO();
|
||||||
anpso.setMainSwarmSize(75);
|
anpso.setMainSwarmSize(75);
|
||||||
|
|
||||||
@ -966,7 +966,7 @@ public class ANPSO extends NichePSO implements InterfaceOptimizer, InterfaceAddi
|
|||||||
* @param evalCnt
|
* @param evalCnt
|
||||||
* @return
|
* @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();
|
ANPSO anpso = new ANPSO();
|
||||||
NichePSO.stdNPSO(anpso, problem, randSeed, evalCnt);
|
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));
|
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();
|
ANPSO anpso = new ANPSO();
|
||||||
NichePSO.starNPSO(anpso, problem, randSeed, evalCnt);
|
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));
|
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();
|
ANPSO anpso = new ANPSO();
|
||||||
NichePSO.starNPSO(anpso, problem, randSeed, evalCnt);
|
NichePSO.starNPSO(anpso, problem, randSeed, evalCnt);
|
||||||
|
|
||||||
@ -1036,7 +1036,7 @@ public class ANPSO extends NichePSO implements InterfaceOptimizer, InterfaceAddi
|
|||||||
* @param evalCnt
|
* @param evalCnt
|
||||||
* @return
|
* @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);
|
return starTopoANPSO(problem, randSeed, evalCnt, 1, 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1050,8 +1050,8 @@ public class ANPSO extends NichePSO implements InterfaceOptimizer, InterfaceAddi
|
|||||||
* @param topologyRange
|
* @param topologyRange
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static final GOParameters starTopoANPSO(AbstractOptimizationProblem problem, long randSeed, int evalCnt, int topology, int topologyRange) {
|
public static final OptimizationParameters starTopoANPSO(AbstractOptimizationProblem problem, long randSeed, int evalCnt, int topology, int topologyRange) {
|
||||||
GOParameters params = starANPSO(problem, randSeed, evalCnt);
|
OptimizationParameters params = starANPSO(problem, randSeed, evalCnt);
|
||||||
((ANPSO)params.getOptimizer()).SetMainSwarmTopologyTag(topology);
|
((ANPSO)params.getOptimizer()).SetMainSwarmTopologyTag(topology);
|
||||||
((ANPSO)params.getOptimizer()).setMainSwarmTopologyRange(topologyRange);
|
((ANPSO)params.getOptimizer()).setMainSwarmTopologyRange(topologyRange);
|
||||||
((ANPSO)params.getOptimizer()).getMainSwarm().setInertnessOrChi(0.73);
|
((ANPSO)params.getOptimizer()).getMainSwarm().setInertnessOrChi(0.73);
|
||||||
|
@ -18,6 +18,8 @@ import eva2.optimization.problems.InterfaceOptimizationProblem;
|
|||||||
import eva2.tools.EVAERROR;
|
import eva2.tools.EVAERROR;
|
||||||
import eva2.tools.math.Mathematics;
|
import eva2.tools.math.Mathematics;
|
||||||
import eva2.tools.math.RNG;
|
import eva2.tools.math.RNG;
|
||||||
|
import eva2.util.annotation.Parameter;
|
||||||
|
|
||||||
import java.util.Vector;
|
import java.util.Vector;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -35,9 +37,16 @@ public class DifferentialEvolution implements InterfaceOptimizer, java.io.Serial
|
|||||||
protected transient Population children = null;
|
protected transient Population children = null;
|
||||||
protected AbstractOptimizationProblem m_Problem = new F1Problem();
|
protected AbstractOptimizationProblem m_Problem = new F1Problem();
|
||||||
private DETypeEnum m_DEType;
|
private DETypeEnum m_DEType;
|
||||||
|
|
||||||
|
@Parameter(name = "F", description = "Differential Weight")
|
||||||
private double m_F = 0.8;
|
private double m_F = 0.8;
|
||||||
|
|
||||||
|
@Parameter(name = "CR", description = "Crossover Rate")
|
||||||
private double m_k = 0.6; // AKA CR
|
private double m_k = 0.6; // AKA CR
|
||||||
|
|
||||||
|
@Parameter(name = "Lambda", description = "Lambda")
|
||||||
private double m_Lambda = 0.6;
|
private double m_Lambda = 0.6;
|
||||||
|
|
||||||
private double m_Mt = 0.05;
|
private double m_Mt = 0.05;
|
||||||
private int maximumAge = -1;
|
private int maximumAge = -1;
|
||||||
private boolean reEvaluate = false;
|
private boolean reEvaluate = false;
|
||||||
|
@ -9,6 +9,7 @@ import eva2.optimization.go.PopulationInterface;
|
|||||||
import eva2.optimization.enums.PSOTopologyEnum;
|
import eva2.optimization.enums.PSOTopologyEnum;
|
||||||
import eva2.optimization.individuals.AbstractEAIndividual;
|
import eva2.optimization.individuals.AbstractEAIndividual;
|
||||||
import eva2.optimization.individuals.InterfaceDataTypeDouble;
|
import eva2.optimization.individuals.InterfaceDataTypeDouble;
|
||||||
|
import eva2.optimization.modules.OptimizationParameters;
|
||||||
import eva2.optimization.operators.nichepso.absorption.EuclideanDiversityAbsorptionStrategy;
|
import eva2.optimization.operators.nichepso.absorption.EuclideanDiversityAbsorptionStrategy;
|
||||||
import eva2.optimization.operators.nichepso.absorption.InterfaceAbsorptionStrategy;
|
import eva2.optimization.operators.nichepso.absorption.InterfaceAbsorptionStrategy;
|
||||||
import eva2.optimization.operators.nichepso.absorption.StandardAbsorptionStrategy;
|
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.InterfaceMultimodalProblem;
|
||||||
import eva2.optimization.problems.InterfaceMultimodalProblemKnown;
|
import eva2.optimization.problems.InterfaceMultimodalProblemKnown;
|
||||||
import eva2.optimization.problems.InterfaceOptimizationProblem;
|
import eva2.optimization.problems.InterfaceOptimizationProblem;
|
||||||
import eva2.optimization.modules.GOParameters;
|
|
||||||
import eva2.tools.SelectedTag;
|
import eva2.tools.SelectedTag;
|
||||||
import eva2.tools.chart2d.Chart2DDPointIconCircle;
|
import eva2.tools.chart2d.Chart2DDPointIconCircle;
|
||||||
import eva2.tools.chart2d.Chart2DDPointIconContent;
|
import eva2.tools.chart2d.Chart2DDPointIconContent;
|
||||||
@ -2140,7 +2140,7 @@ public class NichePSO implements InterfaceAdditionalPopulationInformer, Interfac
|
|||||||
return date;
|
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();
|
NichePSO npso = new NichePSO();
|
||||||
npso.setMainSwarmSize(75);
|
npso.setMainSwarmSize(75);
|
||||||
|
|
||||||
@ -2154,7 +2154,7 @@ public class NichePSO implements InterfaceAdditionalPopulationInformer, Interfac
|
|||||||
*
|
*
|
||||||
* The evaluation count is required currently due to the
|
* The evaluation count is required currently due to the
|
||||||
* generation-dependent intertness decay used by the std. variant. To alter
|
* 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
|
* behavior of the NichePSO, which can be altered by using
|
||||||
* getMainSwarm().setInertnessAging(InterfaceParameteraging)
|
* getMainSwarm().setInertnessAging(InterfaceParameteraging)
|
||||||
*
|
*
|
||||||
@ -2163,11 +2163,11 @@ public class NichePSO implements InterfaceAdditionalPopulationInformer, Interfac
|
|||||||
* @param evalCnt
|
* @param evalCnt
|
||||||
* @return
|
* @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);
|
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);
|
return starNPSO(null, problem, randSeed, evalCnt);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2183,7 +2183,7 @@ public class NichePSO implements InterfaceAdditionalPopulationInformer, Interfac
|
|||||||
* @param evalCnt
|
* @param evalCnt
|
||||||
* @return
|
* @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) {
|
if (npso == null) {
|
||||||
npso = new NichePSO();
|
npso = new NichePSO();
|
||||||
}
|
}
|
||||||
@ -2233,7 +2233,7 @@ public class NichePSO implements InterfaceAdditionalPopulationInformer, Interfac
|
|||||||
* @param evalCnt
|
* @param evalCnt
|
||||||
* @return
|
* @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);
|
starNPSO(npso, evalCnt);
|
||||||
return OptimizerFactory.makeParams(npso, npso.getMainSwarmSize(), problem, randSeed, new EvaluationTerminator(evalCnt));
|
return OptimizerFactory.makeParams(npso, npso.getMainSwarmSize(), problem, randSeed, new EvaluationTerminator(evalCnt));
|
||||||
}
|
}
|
||||||
|
@ -8,6 +8,7 @@ import eva2.optimization.go.InterfacePopulationChangedEventListener;
|
|||||||
import eva2.optimization.go.InterfaceTerminator;
|
import eva2.optimization.go.InterfaceTerminator;
|
||||||
import eva2.optimization.individuals.AbstractEAIndividual;
|
import eva2.optimization.individuals.AbstractEAIndividual;
|
||||||
import eva2.optimization.individuals.InterfaceDataTypeDouble;
|
import eva2.optimization.individuals.InterfaceDataTypeDouble;
|
||||||
|
import eva2.optimization.modules.OptimizationParameters;
|
||||||
import eva2.optimization.operators.distancemetric.PhenotypeMetric;
|
import eva2.optimization.operators.distancemetric.PhenotypeMetric;
|
||||||
import eva2.optimization.operators.postprocess.PostProcess;
|
import eva2.optimization.operators.postprocess.PostProcess;
|
||||||
import eva2.optimization.operators.terminators.EvaluationTerminator;
|
import eva2.optimization.operators.terminators.EvaluationTerminator;
|
||||||
@ -17,7 +18,6 @@ import eva2.optimization.populations.SolutionSet;
|
|||||||
import eva2.optimization.problems.AbstractOptimizationProblem;
|
import eva2.optimization.problems.AbstractOptimizationProblem;
|
||||||
import eva2.optimization.problems.F1Problem;
|
import eva2.optimization.problems.F1Problem;
|
||||||
import eva2.optimization.problems.InterfaceOptimizationProblem;
|
import eva2.optimization.problems.InterfaceOptimizationProblem;
|
||||||
import eva2.optimization.modules.GOParameters;
|
|
||||||
import eva2.tools.Pair;
|
import eva2.tools.Pair;
|
||||||
import eva2.tools.SelectedTag;
|
import eva2.tools.SelectedTag;
|
||||||
import eva2.tools.math.Mathematics;
|
import eva2.tools.math.Mathematics;
|
||||||
@ -883,18 +883,18 @@ public class ScatterSearch implements InterfaceOptimizer, java.io.Serializable,
|
|||||||
|
|
||||||
// problem.initializeProblem();
|
// 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);
|
OptimizerRunnable rnbl = new OptimizerRunnable(params, dataPrefix);
|
||||||
return rnbl;
|
return rnbl;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static final GOParameters standardSS(
|
public static final OptimizationParameters standardSS(
|
||||||
AbstractOptimizationProblem problem) {
|
AbstractOptimizationProblem problem) {
|
||||||
return specialSS(0, 0, 0.1, true, 10, problem, new EvaluationTerminator(10000));
|
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,
|
int localSearchSteps, double localSearchFitnessFilter,
|
||||||
double nmInitPerturb, boolean relativeFitCrit,
|
double nmInitPerturb, boolean relativeFitCrit,
|
||||||
int refSetSize,
|
int refSetSize,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user