Rename InterfaceStatisticsParameter to InterfaceStatisticsParameters for

consistentcy with OptimizationParameters
This commit is contained in:
Fabian Becker 2014-11-01 18:18:58 +01:00
parent d676e78f61
commit d0268527b0
12 changed files with 52 additions and 53 deletions

View File

@ -268,7 +268,7 @@ public class OptimizerRunnable implements Runnable {
* @param outp * @param outp
*/ */
public void setOutputTo(int outp) { public void setOutputTo(int outp) {
((StatisticsParameter) proc.getStatistics().getStatisticsParameter()).setOutputTo(outp); ((StatisticsParameters) proc.getStatistics().getStatisticsParameter()).setOutputTo(outp);
} }
/** /**

View File

@ -2,14 +2,13 @@ package eva2.gui;
import eva2.EvAInfo; import eva2.EvAInfo;
import eva2.optimization.modules.*; import eva2.optimization.modules.*;
import eva2.problems.InterfaceOptimizationProblem; import eva2.optimization.statistics.InterfaceStatisticsParameters;
import eva2.util.ClassPreloader; import eva2.util.ClassPreloader;
import eva2.util.EvAComAdapter; import eva2.util.EvAComAdapter;
import eva2.optimization.OptimizationStateListener; import eva2.optimization.OptimizationStateListener;
import eva2.optimization.go.InterfaceOptimizationParameters; import eva2.optimization.go.InterfaceOptimizationParameters;
import eva2.optimization.statistics.AbstractStatistics; import eva2.optimization.statistics.AbstractStatistics;
import eva2.optimization.statistics.InterfaceStatisticsListener; import eva2.optimization.statistics.InterfaceStatisticsListener;
import eva2.optimization.statistics.InterfaceStatisticsParameter;
import eva2.tools.BasicResourceLoader; import eva2.tools.BasicResourceLoader;
import eva2.tools.EVAERROR; import eva2.tools.EVAERROR;
import eva2.tools.ReflectPackage; import eva2.tools.ReflectPackage;
@ -759,7 +758,7 @@ public class Main extends JFrame implements OptimizationStateListener {
return ((GenericModuleAdapter) currentModuleAdapter).getStatistics(); return ((GenericModuleAdapter) currentModuleAdapter).getStatistics();
} }
public InterfaceStatisticsParameter getStatisticsParameter() { public InterfaceStatisticsParameters getStatisticsParameter() {
return ((GenericModuleAdapter) currentModuleAdapter).getStatistics().getStatisticsParameter(); return ((GenericModuleAdapter) currentModuleAdapter).getStatistics().getStatisticsParameter();
} }

View File

@ -83,7 +83,7 @@ public class GenericModuleAdapter extends AbstractModuleAdapter implements Seria
} }
EvATabbedFrameMaker frmMkr = new EvATabbedFrameMaker(); EvATabbedFrameMaker frmMkr = new EvATabbedFrameMaker();
InterfaceStatisticsParameter Stat = statisticsModule.getStatisticsParameter(); InterfaceStatisticsParameters 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);

View File

@ -23,9 +23,9 @@ import eva2.optimization.operator.selection.SelectBestIndividuals;
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.population.Population; import eva2.optimization.population.Population;
import eva2.optimization.statistics.StatisticsParameters;
import eva2.problems.*; import eva2.problems.*;
import eva2.optimization.statistics.InterfaceTextListener; import eva2.optimization.statistics.InterfaceTextListener;
import eva2.optimization.statistics.StatisticsParameter;
import eva2.optimization.strategies.EvolutionStrategies; import eva2.optimization.strategies.EvolutionStrategies;
import eva2.optimization.strategies.GradientDescentAlgorithm; import eva2.optimization.strategies.GradientDescentAlgorithm;
import eva2.optimization.strategies.HillClimbing; import eva2.optimization.strategies.HillClimbing;
@ -814,7 +814,7 @@ public class PostProcess {
*/ */
private static void runPP(OptimizerRunnable rnbl) { private static void runPP(OptimizerRunnable rnbl) {
rnbl.getOptimizationParameters().setDoPostProcessing(false); rnbl.getOptimizationParameters().setDoPostProcessing(false);
rnbl.setVerbosityLevel(StatisticsParameter.VERBOSITY_NONE); rnbl.setVerbosityLevel(StatisticsParameters.VERBOSITY_NONE);
ppRunnables.add(rnbl); ppRunnables.add(rnbl);
rnbl.run(); rnbl.run();
rnbl.getOptimizationParameters().setDoPostProcessing(true); rnbl.getOptimizationParameters().setDoPostProcessing(true);

View File

@ -41,7 +41,7 @@ import java.util.*;
*/ */
public abstract class AbstractStatistics implements InterfaceTextListener, InterfaceStatistics { public abstract class AbstractStatistics implements InterfaceTextListener, InterfaceStatistics {
private transient PrintWriter resultOut; private transient PrintWriter resultOut;
protected InterfaceStatisticsParameter statisticsParameter; protected InterfaceStatisticsParameters statisticsParameter;
/** /**
* Keep track of all intermediate fitness values, best, avg. and worst, averaging over all runs * Keep track of all intermediate fitness values, best, avg. and worst, averaging over all runs
@ -199,7 +199,7 @@ public abstract class AbstractStatistics implements InterfaceTextListener, Inter
String startDate = getDateString(); String startDate = getDateString();
// open the result file: // open the result file:
if (doFileOutput() // not "text-window only" if (doFileOutput() // not "text-window only"
&& (statisticsParameter.getOutputVerbosity().getSelectedTagID() > StatisticsParameter.VERBOSITY_NONE)) { // verbosity accordingly high && (statisticsParameter.getOutputVerbosity().getSelectedTagID() > StatisticsParameters.VERBOSITY_NONE)) { // verbosity accordingly high
//!resFName.equalsIgnoreCase("none") && !resFName.equals("")) { //!resFName.equalsIgnoreCase("none") && !resFName.equals("")) {
String fnameBase = makeOutputFileName(statisticsParameter.getResultFilePrefix(), infoString, startDate); String fnameBase = makeOutputFileName(statisticsParameter.getResultFilePrefix(), infoString, startDate);
int cnt = 0; int cnt = 0;
@ -672,7 +672,7 @@ public abstract class AbstractStatistics implements InterfaceTextListener, Inter
} }
@Override @Override
public InterfaceStatisticsParameter getStatisticsParameter() { public InterfaceStatisticsParameters getStatisticsParameter() {
return statisticsParameter; return statisticsParameter;
} }
@ -1209,22 +1209,22 @@ public abstract class AbstractStatistics implements InterfaceTextListener, Inter
* @return * @return
*/ */
private boolean printLineByVerbosity(int iteration) { private boolean printLineByVerbosity(int iteration) {
return (statisticsParameter.getOutputVerbosity().getSelectedTagID() > StatisticsParameter.VERBOSITY_KTH_IT) return (statisticsParameter.getOutputVerbosity().getSelectedTagID() > StatisticsParameters.VERBOSITY_KTH_IT)
|| ((statisticsParameter.getOutputVerbosity().getSelectedTagID() == StatisticsParameter.VERBOSITY_KTH_IT) || ((statisticsParameter.getOutputVerbosity().getSelectedTagID() == StatisticsParameters.VERBOSITY_KTH_IT)
&& (isKthRun(iteration, statisticsParameter.getOutputVerbosityK()))); && (isKthRun(iteration, statisticsParameter.getOutputVerbosityK())));
} }
private boolean printRunIntroVerbosity() { private boolean printRunIntroVerbosity() {
return (statisticsParameter.getOutputVerbosity().getSelectedTagID() >= StatisticsParameter.VERBOSITY_KTH_IT) return (statisticsParameter.getOutputVerbosity().getSelectedTagID() >= StatisticsParameters.VERBOSITY_KTH_IT)
|| (optRunsPerformed == 0 && (statisticsParameter.getOutputVerbosity().getSelectedTagID() >= StatisticsParameter.VERBOSITY_FINAL)); || (optRunsPerformed == 0 && (statisticsParameter.getOutputVerbosity().getSelectedTagID() >= StatisticsParameters.VERBOSITY_FINAL));
} }
private boolean printRunStoppedVerbosity() { private boolean printRunStoppedVerbosity() {
return (statisticsParameter.getOutputVerbosity().getSelectedTagID() >= StatisticsParameter.VERBOSITY_KTH_IT); return (statisticsParameter.getOutputVerbosity().getSelectedTagID() >= StatisticsParameters.VERBOSITY_KTH_IT);
} }
private boolean printFinalVerbosity() { private boolean printFinalVerbosity() {
return (statisticsParameter.getOutputVerbosity().getSelectedTagID() > StatisticsParameter.VERBOSITY_NONE); return (statisticsParameter.getOutputVerbosity().getSelectedTagID() > StatisticsParameters.VERBOSITY_NONE);
} }
private boolean isKthRun(int i, int k) { private boolean isKthRun(int i, int k) {
@ -1244,7 +1244,7 @@ public abstract class AbstractStatistics implements InterfaceTextListener, Inter
} }
private boolean printHeaderByVerbosity() { private boolean printHeaderByVerbosity() {
return (statisticsParameter.getOutputVerbosity().getSelectedTagID() >= StatisticsParameter.VERBOSITY_KTH_IT); return (statisticsParameter.getOutputVerbosity().getSelectedTagID() >= StatisticsParameters.VERBOSITY_KTH_IT);
} }
private static void divideMean(Double[] mean, double d) { private static void divideMean(Double[] mean, double d) {

View File

@ -36,7 +36,7 @@ public interface InterfaceStatistics {
void createNextGenerationPerformed(double[] bestFit, double[] worstFit, int calls); void createNextGenerationPerformed(double[] bestFit, double[] worstFit, int calls);
InterfaceStatisticsParameter getStatisticsParameter(); // called from moduleadapter InterfaceStatisticsParameters getStatisticsParameter(); // called from moduleadapter
IndividualInterface getRunBestSolution(); // return the best fitness of the last run (may not be equal to the last population) IndividualInterface getRunBestSolution(); // return the best fitness of the last run (may not be equal to the last population)

View File

@ -7,7 +7,7 @@ import java.util.List;
* *
* @author mkron * @author mkron
* @see AbstractStatistics * @see AbstractStatistics
* @see InterfaceStatisticsParameter * @see InterfaceStatisticsParameters
*/ */
public interface InterfaceStatisticsListener { public interface InterfaceStatisticsListener {
/** /**
@ -44,7 +44,7 @@ public interface InterfaceStatisticsListener {
* *
* @param header * @param header
* @param multiRunFinalObjectData * @param multiRunFinalObjectData
* @see InterfaceStatisticsParameter * @see InterfaceStatisticsParameters
* @see AbstractStatistics * @see AbstractStatistics
*/ */
public void finalMultiRunResults(String[] header, List<Object[]> multiRunFinalObjectData); public void finalMultiRunResults(String[] header, List<Object[]> multiRunFinalObjectData);

View File

@ -6,9 +6,9 @@ import eva2.tools.StringSelection;
/** /**
* An interface to encapsulate statistics parameters. * An interface to encapsulate statistics parameters.
* *
* @see StatisticsParameter * @see StatisticsParameters
*/ */
public interface InterfaceStatisticsParameter { public interface InterfaceStatisticsParameters {
String getName(); String getName();
void saveInstance(); void saveInstance();

View File

@ -15,19 +15,19 @@ import java.util.List;
*/ */
public class StatisticsDummy implements InterfaceStatistics, InterfaceTextListener { public class StatisticsDummy implements InterfaceStatistics, InterfaceTextListener {
private boolean consoleOut = false; private boolean consoleOut = false;
private StatisticsParameter sParams = null; private StatisticsParameters sParams = null;
private AbstractEAIndividual bestCurrentIndividual, bestRunIndy, bestIndividualAllover; private AbstractEAIndividual bestCurrentIndividual, bestRunIndy, bestIndividualAllover;
public StatisticsDummy() { public StatisticsDummy() {
bestIndividualAllover = null; bestIndividualAllover = null;
sParams = new StatisticsParameter(); sParams = new StatisticsParameters();
sParams.setOutputVerbosityK(StatisticsParameter.VERBOSITY_NONE); sParams.setOutputVerbosityK(StatisticsParameters.VERBOSITY_NONE);
} }
public StatisticsDummy(boolean doConsoleOut) { public StatisticsDummy(boolean doConsoleOut) {
bestIndividualAllover = null; bestIndividualAllover = null;
sParams = new StatisticsParameter(); sParams = new StatisticsParameters();
sParams.setOutputVerbosityK(StatisticsParameter.VERBOSITY_NONE); sParams.setOutputVerbosityK(StatisticsParameters.VERBOSITY_NONE);
consoleOut = doConsoleOut; consoleOut = doConsoleOut;
} }
@ -73,7 +73,7 @@ public class StatisticsDummy implements InterfaceStatistics, InterfaceTextListen
} }
@Override @Override
public InterfaceStatisticsParameter getStatisticsParameter() { public InterfaceStatisticsParameters getStatisticsParameter() {
return sParams; return sParams;
} }

View File

@ -30,9 +30,9 @@ import java.util.logging.Logger;
* @see AbstractStatistics * @see AbstractStatistics
*/ */
@Description(value = "Configure statistics and output of the optimization run. Changes to the data selection state will not take effect during a run.") @Description(value = "Configure statistics and output of the optimization run. Changes to the data selection state will not take effect during a run.")
public class StatisticsParameter implements InterfaceStatisticsParameter, InterfaceNotifyOnInformers, Serializable { public class StatisticsParameters implements InterfaceStatisticsParameters, InterfaceNotifyOnInformers, Serializable {
private static final long serialVersionUID = -8681061379203108390L; private static final long serialVersionUID = -8681061379203108390L;
private static final Logger LOGGER = Logger.getLogger(StatisticsParameter.class.getName()); private static final Logger LOGGER = Logger.getLogger(StatisticsParameters.class.getName());
public final static int VERBOSITY_NONE = 0; public final static int VERBOSITY_NONE = 0;
public final static int VERBOSITY_FINAL = 1; public final static int VERBOSITY_FINAL = 1;
public final static int VERBOSITY_KTH_IT = 2; public final static int VERBOSITY_KTH_IT = 2;
@ -55,11 +55,11 @@ public class StatisticsParameter implements InterfaceStatisticsParameter, Interf
/** /**
* *
*/ */
public static StatisticsParameter getInstance(boolean loadDefaultSerFile) { public static StatisticsParameters getInstance(boolean loadDefaultSerFile) {
if (loadDefaultSerFile) { if (loadDefaultSerFile) {
return getInstance("Statistics.ser"); return getInstance("Statistics.ser");
} else { } else {
return new StatisticsParameter(); return new StatisticsParameters();
} }
} }
@ -68,17 +68,17 @@ public class StatisticsParameter implements InterfaceStatisticsParameter, Interf
* *
* @return A loaded (from file) or new instance of the class. * @return A loaded (from file) or new instance of the class.
*/ */
public static StatisticsParameter getInstance(String serFileName) { public static StatisticsParameters getInstance(String serFileName) {
StatisticsParameter instance = null; StatisticsParameters instance = null;
try { try {
FileInputStream fileStream = new FileInputStream(serFileName); FileInputStream fileStream = new FileInputStream(serFileName);
instance = (StatisticsParameter) Serializer.loadObject(fileStream); instance = (StatisticsParameters) Serializer.loadObject(fileStream);
} catch (FileNotFoundException ex) { } catch (FileNotFoundException ex) {
LOGGER.log(Level.WARNING, "Could not store instance object.", ex); LOGGER.log(Level.WARNING, "Could not store instance object.", ex);
} }
if (instance == null) { if (instance == null) {
instance = new StatisticsParameter(); instance = new StatisticsParameters();
} }
return instance; return instance;
} }
@ -86,7 +86,7 @@ public class StatisticsParameter implements InterfaceStatisticsParameter, Interf
/** /**
* *
*/ */
public StatisticsParameter() { public StatisticsParameters() {
name = "Statistics"; name = "Statistics";
outputVerbosity.setSelectedTag(VERBOSITY_KTH_IT); outputVerbosity.setSelectedTag(VERBOSITY_KTH_IT);
outputTo.setSelectedTag(1); outputTo.setSelectedTag(1);
@ -121,20 +121,20 @@ public class StatisticsParameter implements InterfaceStatisticsParameter, Interf
/** /**
* *
*/ */
private StatisticsParameter(StatisticsParameter statisticsParameter) { private StatisticsParameters(StatisticsParameters statisticsParameters) {
convergenceRateThreshold = statisticsParameter.convergenceRateThreshold; convergenceRateThreshold = statisticsParameters.convergenceRateThreshold;
useStatPlot = statisticsParameter.useStatPlot; useStatPlot = statisticsParameters.useStatPlot;
textOutput = statisticsParameter.textOutput; textOutput = statisticsParameters.textOutput;
multiRuns = statisticsParameter.multiRuns; multiRuns = statisticsParameters.multiRuns;
resultFilePrefix = statisticsParameter.resultFilePrefix; resultFilePrefix = statisticsParameters.resultFilePrefix;
verbosityK = statisticsParameter.verbosityK; verbosityK = statisticsParameters.verbosityK;
} }
/** /**
* *
*/ */
public Object getClone() { public Object getClone() {
return new StatisticsParameter(this); return new StatisticsParameters(this);
} }
/** /**

View File

@ -24,30 +24,30 @@ public class StatisticsStandalone extends AbstractStatistics implements Interfac
private boolean collectData = false; private boolean collectData = false;
public StatisticsStandalone(InterfaceStatisticsParameter statParams) { public StatisticsStandalone(InterfaceStatisticsParameters statParams) {
super(); super();
statisticsParameter = statParams; statisticsParameter = statParams;
} }
public StatisticsStandalone(String resultFileName) { public StatisticsStandalone(String resultFileName) {
this(resultFileName, 1, resultFileName == null ? StatisticsParameter.VERBOSITY_NONE : StatisticsParameter.VERBOSITY_FINAL, false); this(resultFileName, 1, resultFileName == null ? StatisticsParameters.VERBOSITY_NONE : StatisticsParameters.VERBOSITY_FINAL, false);
} }
public StatisticsStandalone(String resultFileName, int multiRuns, int verbosity, boolean outputAllFieldsAsText) { public StatisticsStandalone(String resultFileName, int multiRuns, int verbosity, boolean outputAllFieldsAsText) {
this(StatisticsParameter.getInstance(false)); this(StatisticsParameters.getInstance(false));
statisticsParameter.setMultiRuns(multiRuns); statisticsParameter.setMultiRuns(multiRuns);
statisticsParameter.setOutputVerbosity(statisticsParameter.getOutputVerbosity().setSelectedTag(verbosity)); statisticsParameter.setOutputVerbosity(statisticsParameter.getOutputVerbosity().setSelectedTag(verbosity));
statisticsParameter.setResultFilePrefix(resultFileName); statisticsParameter.setResultFilePrefix(resultFileName);
statisticsParameter.setOutputAllFieldsAsText(outputAllFieldsAsText); statisticsParameter.setOutputAllFieldsAsText(outputAllFieldsAsText);
if (resultFileName == null) { if (resultFileName == null) {
statisticsParameter.getOutputTo().setSelectedTag(StatisticsParameter.OUTPUT_WINDOW); statisticsParameter.getOutputTo().setSelectedTag(StatisticsParameters.OUTPUT_WINDOW);
} else { } else {
statisticsParameter.setOutputTo(statisticsParameter.getOutputTo().setSelectedTag(StatisticsParameter.OUTPUT_FILE)); statisticsParameter.setOutputTo(statisticsParameter.getOutputTo().setSelectedTag(StatisticsParameters.OUTPUT_FILE));
} }
} }
public StatisticsStandalone() { public StatisticsStandalone() {
this(new StatisticsParameter()); this(new StatisticsParameters());
} }
@Override @Override

View File

@ -45,7 +45,7 @@ public class StatisticsWithGUI extends AbstractStatistics implements Serializabl
* *
*/ */
public StatisticsWithGUI() { public StatisticsWithGUI() {
statisticsParameter = StatisticsParameter.getInstance(true); statisticsParameter = StatisticsParameters.getInstance(true);
proxyPrinter = new JTextoutputFrame("Optimization Log"); proxyPrinter = new JTextoutputFrame("Optimization Log");
addTextListener(proxyPrinter); addTextListener(proxyPrinter);
} }
@ -113,7 +113,7 @@ public class StatisticsWithGUI extends AbstractStatistics implements Serializabl
@Override @Override
protected void initPlots(PopulationInterface pop, List<InterfaceAdditionalPopulationInformer> informerList) { protected void initPlots(PopulationInterface pop, List<InterfaceAdditionalPopulationInformer> informerList) {
if (statisticsParameter instanceof StatisticsParameter) { if (statisticsParameter instanceof StatisticsParameters) {
graphDesc = lastFieldSelection.getSelectedWithIndex(); graphDesc = lastFieldSelection.getSelectedWithIndex();
} else { } else {
graphDesc = null; graphDesc = null;