More cleanup.

This commit is contained in:
Fabian Becker 2014-10-19 19:08:48 +02:00
parent 2cd764776a
commit 75211cb769
20 changed files with 41 additions and 61 deletions

View File

@ -107,7 +107,7 @@ public class OptimizerRunnable implements Runnable {
} }
public InterfaceOptimizationParameters getGOParams() { public InterfaceOptimizationParameters getGOParams() {
return proc.getGOParams(); return proc.getOptimizationParameterss();
} }
public InterfaceStatistics getStats() { public InterfaceStatistics getStats() {
@ -118,7 +118,7 @@ public class OptimizerRunnable implements Runnable {
if (proc.isOptimizationRunning()) { if (proc.isOptimizationRunning()) {
throw new RuntimeException("Error - cannot change statistics instance during optimization."); throw new RuntimeException("Error - cannot change statistics instance during optimization.");
} }
InterfaceOptimizationParameters params = proc.getGOParams(); InterfaceOptimizationParameters params = proc.getOptimizationParameterss();
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);
@ -149,7 +149,7 @@ public class OptimizerRunnable implements Runnable {
try { try {
proc.setSaveParams(false); proc.setSaveParams(false);
if (postProcessOnly) { if (postProcessOnly) {
proc.performPostProcessing((PostProcessParams) proc.getGOParams().getPostProcessParams(), listener); proc.performPostProcessing((PostProcessParams) proc.getOptimizationParameterss().getPostProcessParams(), listener);
} else { } else {
if (doRestart) { if (doRestart) {
proc.restartOptimization(); proc.restartOptimization();
@ -199,15 +199,15 @@ public class OptimizerRunnable implements Runnable {
} }
public SolutionSet getSolutionSet() { public SolutionSet getSolutionSet() {
return (SolutionSet) proc.getGOParams().getOptimizer().getAllSolutions(); return (SolutionSet) proc.getOptimizationParameterss().getOptimizer().getAllSolutions();
} }
public void setPostProcessingParams(InterfacePostProcessParams ppp) { public void setPostProcessingParams(InterfacePostProcessParams ppp) {
proc.getGOParams().setPostProcessParams(ppp); proc.getOptimizationParameterss().setPostProcessParams(ppp);
} }
public int getProgress() { public int getProgress() {
return proc.getGOParams().getOptimizer().getPopulation().getFunctionCalls(); return proc.getOptimizationParameterss().getOptimizer().getPopulation().getFunctionCalls();
} }
public String terminatedBecause() { public String terminatedBecause() {
@ -215,7 +215,7 @@ public class OptimizerRunnable implements Runnable {
if (postProcessOnly) { if (postProcessOnly) {
return "Post processing finished"; return "Post processing finished";
} else { } else {
InterfaceTerminator term = proc.getGOParams().getTerminator(); InterfaceTerminator term = proc.getOptimizationParameterss().getTerminator();
return term.lastTerminationMessage(); return term.lastTerminationMessage();
} }
} else { } else {

View File

@ -37,11 +37,12 @@ public class EvAModuleButtonPanelMaker implements OptimizationStateListener, Ser
name = "GENERAL"; name = "GENERAL";
runningState = state; runningState = state;
moduleAdapter = adapter; moduleAdapter = adapter;
toolBar = new JToolBar();
} }
@Override @Override
public JToolBar makePanel() { public JToolBar makePanel() {
toolBar = new JToolBar();
toolBar.setFloatable(false); toolBar.setFloatable(false);
moduleAdapter.addOptimizationStateListener(this); moduleAdapter.addOptimizationStateListener(this);

View File

@ -791,7 +791,6 @@ public class Main extends JFrame implements OptimizationStateListener {
ReflectPackage.resetDynCP(); ReflectPackage.resetDynCP();
comAdapter.updateLocalMainAdapter(); comAdapter.updateLocalMainAdapter();
loadSpecificModule(selectedModule, optimizationParameters); // end recursive call! handle with care! loadSpecificModule(selectedModule, optimizationParameters); // end recursive call! handle with care!
return;
} }
} else { } else {
newModuleAdapter.addOptimizationStateListener(this); newModuleAdapter.addOptimizationStateListener(this);

View File

@ -297,8 +297,8 @@ public class ESIndividualBinaryData extends AbstractEAIndividual implements Inte
@Override @Override
public void defaultInit(InterfaceOptimizationProblem prob) { public void defaultInit(InterfaceOptimizationProblem prob) {
if ((prob != null) && (prob instanceof InterfaceHasInitRange) && (((InterfaceHasInitRange) prob).getInitRange() != null)) { if ((prob != null) && (prob instanceof InterfaceHasInitRange) && (((InterfaceHasInitRange) prob).getInitializationRange() != null)) {
ESIndividualDoubleData.defaultInit(genotype, (double[][]) ((InterfaceHasInitRange) prob).getInitRange()); ESIndividualDoubleData.defaultInit(genotype, (double[][]) ((InterfaceHasInitRange) prob).getInitializationRange());
} else { } else {
ESIndividualDoubleData.defaultInit(genotype, initializationRange); ESIndividualDoubleData.defaultInit(genotype, initializationRange);
} }

View File

@ -374,8 +374,8 @@ public class ESIndividualDoubleData extends AbstractEAIndividual implements Inte
@Override @Override
public void defaultInit(InterfaceOptimizationProblem prob) { public void defaultInit(InterfaceOptimizationProblem prob) {
if ((prob != null) && (prob instanceof InterfaceHasInitRange) && (((InterfaceHasInitRange) prob).getInitRange() != null)) { if ((prob != null) && (prob instanceof InterfaceHasInitRange) && (((InterfaceHasInitRange) prob).getInitializationRange() != null)) {
ESIndividualDoubleData.defaultInit(genotype, (double[][]) ((InterfaceHasInitRange) prob).getInitRange()); ESIndividualDoubleData.defaultInit(genotype, (double[][]) ((InterfaceHasInitRange) prob).getInitializationRange());
} else { } else {
ESIndividualDoubleData.defaultInit(genotype, range); ESIndividualDoubleData.defaultInit(genotype, range);
} }

View File

@ -335,8 +335,8 @@ public class ESIndividualIntegerData extends AbstractEAIndividual implements Int
@Override @Override
public void defaultInit(InterfaceOptimizationProblem prob) { public void defaultInit(InterfaceOptimizationProblem prob) {
int[][] range = this.range; int[][] range = this.range;
if ((prob != null) && (prob instanceof InterfaceHasInitRange) && (((InterfaceHasInitRange) prob).getInitRange() != null)) { if ((prob != null) && (prob instanceof InterfaceHasInitRange) && (((InterfaceHasInitRange) prob).getInitializationRange() != null)) {
range = (int[][]) ((InterfaceHasInitRange) prob).getInitRange(); range = (int[][]) ((InterfaceHasInitRange) prob).getInitializationRange();
} }
for (int i = 0; i < this.genotype.length; i++) { for (int i = 0; i < this.genotype.length; i++) {
this.genotype[i] = RNG.randomInt(range[i][0], range[i][1]); this.genotype[i] = RNG.randomInt(range[i][0], range[i][1]);

View File

@ -370,8 +370,8 @@ public class ESIndividualPermutationData extends AbstractEAIndividual implements
@Override @Override
public void defaultInit(InterfaceOptimizationProblem prob) { public void defaultInit(InterfaceOptimizationProblem prob) {
double[][][] range = initializationRange; double[][][] range = initializationRange;
if ((prob != null) && (prob instanceof InterfaceHasInitRange) && (((InterfaceHasInitRange) prob).getInitRange() != null)) { if ((prob != null) && (prob instanceof InterfaceHasInitRange) && (((InterfaceHasInitRange) prob).getInitializationRange() != null)) {
range = (double[][][]) ((InterfaceHasInitRange) prob).getInitRange(); range = (double[][][]) ((InterfaceHasInitRange) prob).getInitializationRange();
} }
for (int i = 0; i < this.genotype.length; i++) { for (int i = 0; i < this.genotype.length; i++) {

View File

@ -328,8 +328,8 @@ public class GIIndividualIntegerData extends AbstractEAIndividual implements Int
@Override @Override
public void defaultInit(InterfaceOptimizationProblem prob) { public void defaultInit(InterfaceOptimizationProblem prob) {
int[][] range = initializationRange; int[][] range = initializationRange;
if ((prob != null) && (prob instanceof InterfaceHasInitRange) && (((InterfaceHasInitRange) prob).getInitRange() != null)) { if ((prob != null) && (prob instanceof InterfaceHasInitRange) && (((InterfaceHasInitRange) prob).getInitializationRange() != null)) {
Object rng = ((InterfaceHasInitRange) prob).getInitRange(); Object rng = ((InterfaceHasInitRange) prob).getInitializationRange();
if (rng instanceof double[][]) { if (rng instanceof double[][]) {
double[][] dblRng = (double[][]) rng; double[][] dblRng = (double[][]) rng;
range = new int[dblRng.length][dblRng[0].length]; range = new int[dblRng.length][dblRng[0].length];

View File

@ -60,7 +60,7 @@ abstract public class AbstractModuleAdapter implements ModuleAdapter, Serializab
*/ */
@Override @Override
public boolean hasPostProcessing() { public boolean hasPostProcessing() {
return ((processor instanceof Processor) && ((Processor) processor).getGOParams().getPostProcessParams().isDoPostProcessing()); return ((processor instanceof Processor) && ((Processor) processor).getOptimizationParameterss().getPostProcessParams().isDoPostProcessing());
} }
/** /**
@ -70,7 +70,7 @@ abstract public class AbstractModuleAdapter implements ModuleAdapter, Serializab
*/ */
@Override @Override
public boolean startPostProcessing() { public boolean startPostProcessing() {
if (hasPostProcessing() && ((Processor) processor).getGOParams().getPostProcessParams().isDoPostProcessing()) { if (hasPostProcessing() && ((Processor) processor).getOptimizationParameterss().getPostProcessParams().isDoPostProcessing()) {
((Processor) processor).performPostProcessing(); ((Processor) processor).performPostProcessing();
return true; return true;
} else { } else {
@ -80,7 +80,7 @@ abstract public class AbstractModuleAdapter implements ModuleAdapter, Serializab
public InterfaceOptimizationParameters getOptimizationParameters() { public InterfaceOptimizationParameters getOptimizationParameters() {
if ((processor != null) && (processor instanceof Processor)) { if ((processor != null) && (processor instanceof Processor)) {
return ((Processor) processor).getGOParams(); return ((Processor) processor).getOptimizationParameterss();
} else { } else {
return null; return null;
} }

View File

@ -38,14 +38,4 @@ public class GOModuleAdapter extends GenericModuleAdapter implements ModuleAdapt
public GOModuleAdapter(String adapterName, InterfaceOptimizationParameters 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 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, OptimizationParameters.getInstance(serParamsFile, false), false);
// super(adapterName, "", client, OptimizationParameters.getInstance(serParamsFile, serParamsFile==null), false, noGuiLogFile);
// }
} }

View File

@ -78,18 +78,18 @@ public class GenericModuleAdapter extends AbstractModuleAdapter implements Seria
@Override @Override
public EvATabbedFrameMaker getModuleFrame() { public EvATabbedFrameMaker getModuleFrame() {
if (!(statisticsModule instanceof StatisticsWithGUI)) { if (!(statisticsModule instanceof StatisticsWithGUI)) {
System.err.println("Error: Unable to create Frame when startet with noGUI option (GenericModuleAdapter)!"); System.err.println("Error: Unable to create Frame when started with noGUI option (GenericModuleAdapter)!");
return null; return null;
} }
EvATabbedFrameMaker frmMkr = new EvATabbedFrameMaker(); EvATabbedFrameMaker frmMkr = new EvATabbedFrameMaker();
InterfaceStatisticsParameter Stat = statisticsModule.getStatisticsParameter(); InterfaceStatisticsParameter Stat = statisticsModule.getStatisticsParameter();
EvAModuleButtonPanelMaker ButtonPanel = new EvAModuleButtonPanelMaker(remoteModuleAdapter, ((Processor) processor).isOptimizationRunning()); EvAModuleButtonPanelMaker buttonPanel = new EvAModuleButtonPanelMaker(remoteModuleAdapter, ((Processor) processor).isOptimizationRunning());
ButtonPanel.setHelperFilename(helperFilename); buttonPanel.setHelperFilename(helperFilename);
frmMkr.addPanelMaker(ButtonPanel); frmMkr.addPanelMaker(buttonPanel);
InterfaceOptimizationParameters goParams = ((Processor) processor).getGOParams(); InterfaceOptimizationParameters optimizationParameters = ((Processor) processor).getOptimizationParameterss();
frmMkr.addPanelMaker(paramPanel = new JParaPanel(goParams, goParams.getName())); frmMkr.addPanelMaker(paramPanel = new JParaPanel(optimizationParameters, optimizationParameters.getName()));
frmMkr.addPanelMaker(new JParaPanel(Stat, Stat.getName())); frmMkr.addPanelMaker(new JParaPanel(Stat, Stat.getName()));
@ -102,7 +102,7 @@ public class GenericModuleAdapter extends AbstractModuleAdapter implements Seria
frmMkr.addPanelMaker(jobPanel); frmMkr.addPanelMaker(jobPanel);
((Processor) processor).getGOParams().addInformableInstance(frmMkr); ((Processor) processor).getOptimizationParameterss().addInformableInstance(frmMkr);
return frmMkr; return frmMkr;
} }
@ -133,7 +133,7 @@ public class GenericModuleAdapter extends AbstractModuleAdapter implements Seria
@Override @Override
public OptimizationJob scheduleJob() { public OptimizationJob scheduleJob() {
OptimizationJob job = jobList.addJob(((Processor) processor).getGOParams(), (AbstractStatistics) (((Processor) processor).getStatistics())); OptimizationJob job = jobList.addJob(((Processor) processor).getOptimizationParameterss(), (AbstractStatistics) (((Processor) processor).getStatistics()));
jobPanel.getEditor().setValue(jobList); jobPanel.getEditor().setValue(jobList);
return job; return job;
} }

View File

@ -3,6 +3,7 @@ package eva2.optimization.modules;
import eva2.optimization.go.InterfaceOptimizationParameters; import eva2.optimization.go.InterfaceOptimizationParameters;
import eva2.optimization.operator.terminators.EvaluationTerminator; import eva2.optimization.operator.terminators.EvaluationTerminator;
import eva2.optimization.operator.terminators.InterfaceTerminator; import eva2.optimization.operator.terminators.InterfaceTerminator;
import eva2.optimization.strategies.DifferentialEvolution;
import eva2.problems.F1Problem; import eva2.problems.F1Problem;
import eva2.problems.InterfaceOptimizationProblem; import eva2.problems.InterfaceOptimizationProblem;
import eva2.optimization.strategies.GeneticAlgorithm; import eva2.optimization.strategies.GeneticAlgorithm;
@ -34,7 +35,7 @@ public class OptimizationParameters extends AbstractOptimizationParameters imple
* @return * @return
*/ */
public static OptimizationParameters getInstance() { public static OptimizationParameters getInstance() {
return getInstance("OptimizationParameters.set", true); return getInstance("OptimizationParameters.ser", true);
} }
/** /**
@ -60,7 +61,7 @@ public class OptimizationParameters extends AbstractOptimizationParameters imple
} }
public OptimizationParameters() { public OptimizationParameters() {
super(new GeneticAlgorithm(), new F1Problem(), new EvaluationTerminator(1000)); super(new DifferentialEvolution(), new F1Problem(), new EvaluationTerminator(5000));
} }
public OptimizationParameters(InterfaceOptimizer opt, InterfaceOptimizationProblem prob, InterfaceTerminator term) { public OptimizationParameters(InterfaceOptimizer opt, InterfaceOptimizationProblem prob, InterfaceTerminator term) {

View File

@ -423,7 +423,7 @@ 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 InterfaceOptimizationParameters getGOParams() { public InterfaceOptimizationParameters getOptimizationParameterss() {
return optimizationParameters; return optimizationParameters;
} }

View File

@ -1,14 +1,4 @@
package eva2.optimization.population; package eva2.optimization.population;
/*
* Title: EvA2
* Description:
* Copyright: Copyright (c) 2003
* Company: University of Tuebingen, Computer Architecture
* @author Holger Ulmer, Felix Streichert, Hannes Planatscher
* @version: $Revision: 306 $
* $Date: 2007-12-04 14:22:52 +0100 (Tue, 04 Dec 2007) $
* $Author: mkron $
*/
import eva2.optimization.individuals.IndividualInterface; import eva2.optimization.individuals.IndividualInterface;

View File

@ -113,7 +113,6 @@ public class DifferentialEvolution implements InterfaceOptimizer, java.io.Serial
@Override @Override
public void initialize() { public void initialize() {
this.optimizationProblem.initializePopulation(this.population); this.optimizationProblem.initializePopulation(this.population);
// children = new Population(population.size());
this.evaluatePopulation(this.population); this.evaluatePopulation(this.population);
this.firePropertyChangedEvent(Population.NEXT_GENERATION_PERFORMED); this.firePropertyChangedEvent(Population.NEXT_GENERATION_PERFORMED);
} }
@ -754,11 +753,11 @@ public class DifferentialEvolution implements InterfaceOptimizer, java.io.Serial
*/ */
@Override @Override
public String getName() { public String getName() {
return "DE"; return "Differential Evolution";
} }
/** /**
* Assuming that all optimizer will store their data in a population we will * Assuming that all optimizers will store their data in a population we will
* allow access to this population to query to current state of the * allow access to this population to query to current state of the
* optimizer. * optimizer.
* *

View File

@ -202,7 +202,7 @@ public class Tribes implements InterfaceOptimizer, java.io.Serializable {
optimizationProblem = (AbstractOptimizationProblem) problem; optimizationProblem = (AbstractOptimizationProblem) problem;
range = null; range = null;
if (problem instanceof InterfaceHasInitRange) { if (problem instanceof InterfaceHasInitRange) {
initRange = (double[][]) ((InterfaceHasInitRange) problem).getInitRange(); initRange = (double[][]) ((InterfaceHasInitRange) problem).getInitializationRange();
} }
Population pop = new Population(1); Population pop = new Population(1);
problem.initializePopulation(pop); problem.initializePopulation(pop);

View File

@ -465,7 +465,7 @@ public class ExternalRuntimeProblem extends AbstractOptimizationProblem
// @Override // @Override
@Override @Override
public Object getInitRange() { public Object getInitializationRange() {
if (initializationRange == null) { if (initializationRange == null) {
if (range == null) { if (range == null) {
System.err.println("Warning, neither range nor initRange has been set in ExternalRuntimeProblem!"); System.err.println("Warning, neither range nor initRange has been set in ExternalRuntimeProblem!");

View File

@ -106,7 +106,7 @@ public class F1Problem extends AbstractProblemDoubleOffset implements Interface2
* If initialRangeRatio<1, produce a reduced initial range in the negative corner of the range. * If initialRangeRatio<1, produce a reduced initial range in the negative corner of the range.
*/ */
@Override @Override
public Object getInitRange() { public Object getInitializationRange() {
if (initialRangeRatio < 1.) { if (initialRangeRatio < 1.) {
double[][] gR = makeRange(); double[][] gR = makeRange();
double[][] initR = makeRange(); double[][] initR = makeRange();

View File

@ -16,5 +16,5 @@ public interface InterfaceHasInitRange {
* *
* @return An initial search range or null in case it is equal to the global search range. * @return An initial search range or null in case it is equal to the global search range.
*/ */
public Object getInitRange(); public Object getInitializationRange();
} }

View File

@ -609,7 +609,7 @@ public class MatlabProblem extends AbstractOptimizationProblem implements Interf
} }
@Override @Override
public Object getInitRange() { public Object getInitializationRange() {
log("retrieving initial range..., first entry: " + ((initialRange == null) ? "null" : BeanInspector.toString(initialRange[0]))); log("retrieving initial range..., first entry: " + ((initialRange == null) ? "null" : BeanInspector.toString(initialRange[0])));
return initialRange; return initialRange;
} }