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