parent
93aff6d876
commit
1b8b77c52f
@ -254,12 +254,8 @@ public class OptimizerRunnable implements Runnable {
|
|||||||
*
|
*
|
||||||
* @param vLev
|
* @param vLev
|
||||||
*/
|
*/
|
||||||
public void setVerbosityLevel(int vLev) {
|
public void setVerbosityLevel(InterfaceStatisticsParameters.OutputVerbosity vLev) {
|
||||||
if (vLev >= 0 && vLev < proc.getStatistics().getStatisticsParameter().getOutputVerbosity().getTags().length) {
|
proc.getStatistics().getStatisticsParameter().setOutputVerbosity(vLev);
|
||||||
proc.getStatistics().getStatisticsParameter().getOutputVerbosity().setSelectedTag(vLev);
|
|
||||||
} else {
|
|
||||||
System.err.println("Invalid verbosity leveln in OptimizerRunnable.setVerbosityLevel!");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -267,7 +263,7 @@ public class OptimizerRunnable implements Runnable {
|
|||||||
*
|
*
|
||||||
* @param outp
|
* @param outp
|
||||||
*/
|
*/
|
||||||
public void setOutputTo(int outp) {
|
public void setOutputTo(InterfaceStatisticsParameters.OutputTo outp) {
|
||||||
((StatisticsParameters) proc.getStatistics().getStatisticsParameter()).setOutputTo(outp);
|
((StatisticsParameters) proc.getStatistics().getStatisticsParameter()).setOutputTo(outp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -23,6 +23,7 @@ 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.InterfaceStatisticsParameters;
|
||||||
import eva2.optimization.statistics.StatisticsParameters;
|
import eva2.optimization.statistics.StatisticsParameters;
|
||||||
import eva2.problems.*;
|
import eva2.problems.*;
|
||||||
import eva2.optimization.statistics.InterfaceTextListener;
|
import eva2.optimization.statistics.InterfaceTextListener;
|
||||||
@ -814,7 +815,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(StatisticsParameters.VERBOSITY_NONE);
|
rnbl.setVerbosityLevel(InterfaceStatisticsParameters.OutputVerbosity.NONE);
|
||||||
ppRunnables.add(rnbl);
|
ppRunnables.add(rnbl);
|
||||||
rnbl.run();
|
rnbl.run();
|
||||||
rnbl.getOptimizationParameters().setDoPostProcessing(true);
|
rnbl.getOptimizationParameters().setDoPostProcessing(true);
|
||||||
|
@ -200,7 +200,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() > StatisticsParameters.VERBOSITY_NONE)) { // verbosity accordingly high
|
&& (statisticsParameter.getOutputVerbosity() != InterfaceStatisticsParameters.OutputVerbosity.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;
|
||||||
@ -233,7 +233,7 @@ public abstract class AbstractStatistics implements InterfaceTextListener, Inter
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected boolean doFileOutput() {
|
protected boolean doFileOutput() {
|
||||||
return (statisticsParameter.getOutputTo().getSelectedTagID() != 1); // not "text-window only"
|
return (statisticsParameter.getOutputTo() != InterfaceStatisticsParameters.OutputTo.WINDOW); // not "text-window only"
|
||||||
}
|
}
|
||||||
|
|
||||||
private String makeOutputFileName(String prefix, String infoString, String startDate) {
|
private String makeOutputFileName(String prefix, String infoString, String startDate) {
|
||||||
@ -648,7 +648,7 @@ public abstract class AbstractStatistics implements InterfaceTextListener, Inter
|
|||||||
resultOut.print(s);
|
resultOut.print(s);
|
||||||
}
|
}
|
||||||
for (InterfaceTextListener l : textListeners) {
|
for (InterfaceTextListener l : textListeners) {
|
||||||
if (statisticsParameter.getOutputTo().getSelectedTagID() >= 1) {
|
if (statisticsParameter.getOutputTo() != InterfaceStatisticsParameters.OutputTo.FILE) {
|
||||||
l.print(s);
|
l.print(s);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1205,22 +1205,24 @@ public abstract class AbstractStatistics implements InterfaceTextListener, Inter
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
private boolean printLineByVerbosity(int iteration) {
|
private boolean printLineByVerbosity(int iteration) {
|
||||||
return (statisticsParameter.getOutputVerbosity().getSelectedTagID() > StatisticsParameters.VERBOSITY_KTH_IT)
|
return (statisticsParameter.getOutputVerbosity() == InterfaceStatisticsParameters.OutputVerbosity.ALL)
|
||||||
|| ((statisticsParameter.getOutputVerbosity().getSelectedTagID() == StatisticsParameters.VERBOSITY_KTH_IT)
|
|| ((statisticsParameter.getOutputVerbosity() == InterfaceStatisticsParameters.OutputVerbosity.KTH_IT)
|
||||||
&& (isKthRun(iteration, statisticsParameter.getOutputVerbosityK())));
|
&& (isKthRun(iteration, statisticsParameter.getOutputVerbosityK())));
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean printRunIntroVerbosity() {
|
private boolean printRunIntroVerbosity() {
|
||||||
return (statisticsParameter.getOutputVerbosity().getSelectedTagID() >= StatisticsParameters.VERBOSITY_KTH_IT)
|
return (statisticsParameter.getOutputVerbosity() == InterfaceStatisticsParameters.OutputVerbosity.ALL) ||
|
||||||
|| (optRunsPerformed == 0 && (statisticsParameter.getOutputVerbosity().getSelectedTagID() >= StatisticsParameters.VERBOSITY_FINAL));
|
(statisticsParameter.getOutputVerbosity() == InterfaceStatisticsParameters.OutputVerbosity.KTH_IT)
|
||||||
|
|| (optRunsPerformed == 0 && (statisticsParameter.getOutputVerbosity() != InterfaceStatisticsParameters.OutputVerbosity.NONE));
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean printRunStoppedVerbosity() {
|
private boolean printRunStoppedVerbosity() {
|
||||||
return (statisticsParameter.getOutputVerbosity().getSelectedTagID() >= StatisticsParameters.VERBOSITY_KTH_IT);
|
return statisticsParameter.getOutputVerbosity() == InterfaceStatisticsParameters.OutputVerbosity.KTH_IT ||
|
||||||
|
statisticsParameter.getOutputVerbosity() == InterfaceStatisticsParameters.OutputVerbosity.ALL;
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean printFinalVerbosity() {
|
private boolean printFinalVerbosity() {
|
||||||
return (statisticsParameter.getOutputVerbosity().getSelectedTagID() > StatisticsParameters.VERBOSITY_NONE);
|
return (statisticsParameter.getOutputVerbosity() != InterfaceStatisticsParameters.OutputVerbosity.NONE);
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean isKthRun(int i, int k) {
|
private boolean isKthRun(int i, int k) {
|
||||||
@ -1240,7 +1242,8 @@ public abstract class AbstractStatistics implements InterfaceTextListener, Inter
|
|||||||
}
|
}
|
||||||
|
|
||||||
private boolean printHeaderByVerbosity() {
|
private boolean printHeaderByVerbosity() {
|
||||||
return (statisticsParameter.getOutputVerbosity().getSelectedTagID() >= StatisticsParameters.VERBOSITY_KTH_IT);
|
return (statisticsParameter.getOutputVerbosity() == InterfaceStatisticsParameters.OutputVerbosity.ALL) ||
|
||||||
|
(statisticsParameter.getOutputVerbosity() == InterfaceStatisticsParameters.OutputVerbosity.KTH_IT);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void divideMean(Double[] mean, double d) {
|
private static void divideMean(Double[] mean, double d) {
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
package eva2.optimization.statistics;
|
package eva2.optimization.statistics;
|
||||||
|
|
||||||
import eva2.tools.SelectedTag;
|
|
||||||
import eva2.tools.StringSelection;
|
import eva2.tools.StringSelection;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -51,15 +50,43 @@ public interface InterfaceStatisticsParameters {
|
|||||||
|
|
||||||
void setOutputAllFieldsAsText(boolean bShowFullText);
|
void setOutputAllFieldsAsText(boolean bShowFullText);
|
||||||
|
|
||||||
void setOutputVerbosity(SelectedTag sTag);
|
void setOutputVerbosity(OutputVerbosity sTag);
|
||||||
|
|
||||||
SelectedTag getOutputVerbosity();
|
OutputVerbosity getOutputVerbosity();
|
||||||
|
|
||||||
int getOutputVerbosityK();
|
int getOutputVerbosityK();
|
||||||
|
|
||||||
void setOutputVerbosityK(int k);
|
void setOutputVerbosityK(int k);
|
||||||
|
|
||||||
void setOutputTo(SelectedTag sTag);
|
void setOutputTo(OutputTo sTag);
|
||||||
|
|
||||||
SelectedTag getOutputTo();
|
OutputTo getOutputTo();
|
||||||
|
|
||||||
|
public enum OutputVerbosity {
|
||||||
|
NONE, FINAL, KTH_IT, ALL;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
switch (this) {
|
||||||
|
case NONE: return "No output";
|
||||||
|
case FINAL: return "Final Results";
|
||||||
|
case KTH_IT: return "K-th iterations";
|
||||||
|
case ALL: return "All iterations";
|
||||||
|
default: return this.name();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public enum OutputTo {
|
||||||
|
FILE, WINDOW, BOTH;
|
||||||
|
|
||||||
|
public String toString() {
|
||||||
|
switch (this) {
|
||||||
|
case FILE: return "File (current dir.)";
|
||||||
|
case WINDOW: return "Text-window";
|
||||||
|
case BOTH: return "Both file and text-window";
|
||||||
|
default: return name();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
@ -21,13 +21,13 @@ public class StatisticsDummy implements InterfaceStatistics, InterfaceTextListen
|
|||||||
public StatisticsDummy() {
|
public StatisticsDummy() {
|
||||||
bestIndividualAllover = null;
|
bestIndividualAllover = null;
|
||||||
sParams = new StatisticsParameters();
|
sParams = new StatisticsParameters();
|
||||||
sParams.setOutputVerbosityK(StatisticsParameters.VERBOSITY_NONE);
|
sParams.setOutputVerbosityK(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
public StatisticsDummy(boolean doConsoleOut) {
|
public StatisticsDummy(boolean doConsoleOut) {
|
||||||
bestIndividualAllover = null;
|
bestIndividualAllover = null;
|
||||||
sParams = new StatisticsParameters();
|
sParams = new StatisticsParameters();
|
||||||
sParams.setOutputVerbosityK(StatisticsParameters.VERBOSITY_NONE);
|
sParams.setOutputVerbosityK(0);
|
||||||
consoleOut = doConsoleOut;
|
consoleOut = doConsoleOut;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -33,15 +33,9 @@ import java.util.logging.Logger;
|
|||||||
@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 StatisticsParameters implements InterfaceStatisticsParameters, InterfaceNotifyOnInformers, Serializable {
|
public class StatisticsParameters implements InterfaceStatisticsParameters, InterfaceNotifyOnInformers, Serializable {
|
||||||
private static final Logger LOGGER = Logger.getLogger(StatisticsParameters.class.getName());
|
private static final Logger LOGGER = Logger.getLogger(StatisticsParameters.class.getName());
|
||||||
public final static int VERBOSITY_NONE = 0;
|
|
||||||
public final static int VERBOSITY_FINAL = 1;
|
private OutputVerbosity outputVerbosity;
|
||||||
public final static int VERBOSITY_KTH_IT = 2;
|
private OutputTo outputTo;
|
||||||
public final static int VERBOSITY_ALL = 3;
|
|
||||||
SelectedTag outputVerbosity = new SelectedTag("No output", "Final results", "K-th iterations", "All iterations");
|
|
||||||
public final static int OUTPUT_FILE = 0;
|
|
||||||
public final static int OUTPUT_WINDOW = 1;
|
|
||||||
public final static int OUTPUT_FILE_WINDOW = 2;
|
|
||||||
SelectedTag outputTo = new SelectedTag("File (current dir.)", "Text-window", "Both file and text-window");
|
|
||||||
private int verbosityK = 10;
|
private int verbosityK = 10;
|
||||||
private int textOutput = 0;
|
private int textOutput = 0;
|
||||||
private int multiRuns = 1;
|
private int multiRuns = 1;
|
||||||
@ -88,8 +82,9 @@ public class StatisticsParameters implements InterfaceStatisticsParameters, Inte
|
|||||||
*/
|
*/
|
||||||
public StatisticsParameters() {
|
public StatisticsParameters() {
|
||||||
name = "Statistics";
|
name = "Statistics";
|
||||||
outputVerbosity.setSelectedTag(VERBOSITY_KTH_IT);
|
|
||||||
outputTo.setSelectedTag(1);
|
outputVerbosity = OutputVerbosity.KTH_IT;
|
||||||
|
outputTo = OutputTo.WINDOW;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -99,8 +94,8 @@ public class StatisticsParameters implements InterfaceStatisticsParameters, Inte
|
|||||||
public String toString() {
|
public String toString() {
|
||||||
String ret = "\r\nStatisticsParameter (" + super.toString() + "):\r\nmultiRuns=" + multiRuns
|
String ret = "\r\nStatisticsParameter (" + super.toString() + "):\r\nmultiRuns=" + multiRuns
|
||||||
+ ", textOutput=" + textOutput
|
+ ", textOutput=" + textOutput
|
||||||
+ ", verbosity= " + outputVerbosity.getSelectedString()
|
+ ", verbosity= " + outputVerbosity
|
||||||
+ "\nTo " + outputTo.getSelectedString()
|
+ "\nTo " + outputTo
|
||||||
+ ", " + BeanInspector.toString(graphSel.getStrings());
|
+ ", " + BeanInspector.toString(graphSel.getStrings());
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
@ -202,17 +197,17 @@ public class StatisticsParameters implements InterfaceStatisticsParameters, Inte
|
|||||||
@Override
|
@Override
|
||||||
public void setShowTextOutput(boolean show) {
|
public void setShowTextOutput(boolean show) {
|
||||||
// activate if not activated
|
// activate if not activated
|
||||||
if (show && outputTo.getSelectedTagID() == 0) {
|
if (show && outputTo == OutputTo.FILE) {
|
||||||
outputTo.setSelectedTag(2);
|
outputTo = OutputTo.BOTH;
|
||||||
} // deactivate if activated
|
} // deactivate if activated
|
||||||
else if (!show && outputTo.getSelectedTagID() > 0) {
|
else if (!show) {
|
||||||
outputTo.setSelectedTag(0);
|
outputTo = OutputTo.FILE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isShowTextOutput() {
|
public boolean isShowTextOutput() {
|
||||||
return outputTo.getSelectedTagID() > 0;
|
return outputTo == OutputTo.WINDOW || outputTo == OutputTo.BOTH;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -248,25 +243,17 @@ public class StatisticsParameters implements InterfaceStatisticsParameters, Inte
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setOutputVerbosity(SelectedTag sTag) {
|
@Parameter(description = "Set the data output level.")
|
||||||
|
public void setOutputVerbosity(OutputVerbosity sTag) {
|
||||||
outputVerbosity = sTag;
|
outputVerbosity = sTag;
|
||||||
GenericObjectEditor.setHideProperty(this.getClass(), "outputVerbosityK", sTag.getSelectedTagID() != VERBOSITY_KTH_IT);
|
GenericObjectEditor.setHideProperty(this.getClass(), "outputVerbosityK", sTag != OutputVerbosity.KTH_IT);
|
||||||
}
|
|
||||||
|
|
||||||
public void setOutputVerbosity(int i) {
|
|
||||||
outputVerbosity.setSelectedTag(i);
|
|
||||||
GenericObjectEditor.setHideProperty(this.getClass(), "outputVerbosityK", outputVerbosity.getSelectedTagID() != VERBOSITY_KTH_IT);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public SelectedTag getOutputVerbosity() {
|
public OutputVerbosity getOutputVerbosity() {
|
||||||
return outputVerbosity;
|
return outputVerbosity;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String outputVerbosityTipText() {
|
|
||||||
return "Set the data output level.";
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getOutputVerbosityK() {
|
public int getOutputVerbosityK() {
|
||||||
return verbosityK;
|
return verbosityK;
|
||||||
@ -279,21 +266,16 @@ public class StatisticsParameters implements InterfaceStatisticsParameters, Inte
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public SelectedTag getOutputTo() {
|
public OutputTo getOutputTo() {
|
||||||
return outputTo;
|
return outputTo;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setOutputTo(SelectedTag tag) {
|
@Parameter(description = "Set the output destination; to deactivate output, set verbosity to none.")
|
||||||
|
public void setOutputTo(OutputTo tag) {
|
||||||
outputTo = tag;
|
outputTo = tag;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Parameter(description = "Set the output destination; to deactivate output, set verbosity to none.")
|
|
||||||
public void setOutputTo(int i) {
|
|
||||||
outputTo.setSelectedTag(i);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public StringSelection getFieldSelection() {
|
public StringSelection getFieldSelection() {
|
||||||
return graphSel;
|
return graphSel;
|
||||||
|
@ -17,8 +17,6 @@ import java.util.List;
|
|||||||
* @see AbstractStatistics
|
* @see AbstractStatistics
|
||||||
*/
|
*/
|
||||||
public class StatisticsStandalone extends AbstractStatistics implements InterfaceStatistics, Serializable {
|
public class StatisticsStandalone extends AbstractStatistics implements InterfaceStatistics, Serializable {
|
||||||
private static final long serialVersionUID = -8451652609212653368L;
|
|
||||||
|
|
||||||
private ArrayList<ArrayList<Object[]>> resultData = null;
|
private ArrayList<ArrayList<Object[]>> resultData = null;
|
||||||
private ArrayList<String> resultHeaderStrings = null;
|
private ArrayList<String> resultHeaderStrings = null;
|
||||||
private boolean collectData = false;
|
private boolean collectData = false;
|
||||||
@ -30,19 +28,19 @@ public class StatisticsStandalone extends AbstractStatistics implements Interfac
|
|||||||
}
|
}
|
||||||
|
|
||||||
public StatisticsStandalone(String resultFileName) {
|
public StatisticsStandalone(String resultFileName) {
|
||||||
this(resultFileName, 1, resultFileName == null ? StatisticsParameters.VERBOSITY_NONE : StatisticsParameters.VERBOSITY_FINAL, false);
|
this(resultFileName, 1, resultFileName == null ? InterfaceStatisticsParameters.OutputVerbosity.NONE : InterfaceStatisticsParameters.OutputVerbosity.FINAL, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
public StatisticsStandalone(String resultFileName, int multiRuns, int verbosity, boolean outputAllFieldsAsText) {
|
public StatisticsStandalone(String resultFileName, int multiRuns, InterfaceStatisticsParameters.OutputVerbosity verbosity, boolean outputAllFieldsAsText) {
|
||||||
this(StatisticsParameters.getInstance(false));
|
this(StatisticsParameters.getInstance(false));
|
||||||
statisticsParameter.setMultiRuns(multiRuns);
|
statisticsParameter.setMultiRuns(multiRuns);
|
||||||
statisticsParameter.setOutputVerbosity(statisticsParameter.getOutputVerbosity().setSelectedTag(verbosity));
|
statisticsParameter.setOutputVerbosity(verbosity);
|
||||||
statisticsParameter.setResultFilePrefix(resultFileName);
|
statisticsParameter.setResultFilePrefix(resultFileName);
|
||||||
statisticsParameter.setOutputAllFieldsAsText(outputAllFieldsAsText);
|
statisticsParameter.setOutputAllFieldsAsText(outputAllFieldsAsText);
|
||||||
if (resultFileName == null) {
|
if (resultFileName == null) {
|
||||||
statisticsParameter.getOutputTo().setSelectedTag(StatisticsParameters.OUTPUT_WINDOW);
|
statisticsParameter.setOutputTo(InterfaceStatisticsParameters.OutputTo.WINDOW);
|
||||||
} else {
|
} else {
|
||||||
statisticsParameter.setOutputTo(statisticsParameter.getOutputTo().setSelectedTag(StatisticsParameters.OUTPUT_FILE));
|
statisticsParameter.setOutputTo(InterfaceStatisticsParameters.OutputTo.FILE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -14,6 +14,7 @@ import eva2.optimization.operator.selection.SelectBestIndividuals;
|
|||||||
import eva2.optimization.operator.terminators.EvaluationTerminator;
|
import eva2.optimization.operator.terminators.EvaluationTerminator;
|
||||||
import eva2.optimization.population.InterfaceSolutionSet;
|
import eva2.optimization.population.InterfaceSolutionSet;
|
||||||
import eva2.optimization.population.Population;
|
import eva2.optimization.population.Population;
|
||||||
|
import eva2.optimization.statistics.InterfaceStatisticsParameters;
|
||||||
import eva2.optimization.statistics.StatisticsStandalone;
|
import eva2.optimization.statistics.StatisticsStandalone;
|
||||||
import eva2.optimization.strategies.GeneticAlgorithm;
|
import eva2.optimization.strategies.GeneticAlgorithm;
|
||||||
import eva2.optimization.strategies.InterfaceOptimizer;
|
import eva2.optimization.strategies.InterfaceOptimizer;
|
||||||
@ -88,7 +89,7 @@ public class ERPStarter {
|
|||||||
if (startGUI) {
|
if (startGUI) {
|
||||||
Main.initClientGUI(params, null, null, null);
|
Main.initClientGUI(params, null, null, null);
|
||||||
} else {
|
} else {
|
||||||
OptimizerRunnable rnbl = new OptimizerRunnable(params, new StatisticsStandalone(outputFilePrefix, 1, 3, true), false);
|
OptimizerRunnable rnbl = new OptimizerRunnable(params, new StatisticsStandalone(outputFilePrefix, 1, InterfaceStatisticsParameters.OutputVerbosity.ALL, true), false);
|
||||||
// actually start the optimization
|
// actually start the optimization
|
||||||
OptimizerFactory.optimize(rnbl);
|
OptimizerFactory.optimize(rnbl);
|
||||||
|
|
||||||
|
@ -13,6 +13,7 @@ import eva2.optimization.operator.terminators.PopulationMeasureTerminator.Change
|
|||||||
import eva2.optimization.operator.terminators.PopulationMeasureTerminator.DirectionTypeEnum;
|
import eva2.optimization.operator.terminators.PopulationMeasureTerminator.DirectionTypeEnum;
|
||||||
import eva2.optimization.operator.terminators.PopulationMeasureTerminator.StagnationTypeEnum;
|
import eva2.optimization.operator.terminators.PopulationMeasureTerminator.StagnationTypeEnum;
|
||||||
import eva2.optimization.population.Population;
|
import eva2.optimization.population.Population;
|
||||||
|
import eva2.optimization.statistics.InterfaceStatisticsParameters;
|
||||||
import eva2.optimization.statistics.InterfaceTextListener;
|
import eva2.optimization.statistics.InterfaceTextListener;
|
||||||
import eva2.optimization.strategies.InterfaceOptimizer;
|
import eva2.optimization.strategies.InterfaceOptimizer;
|
||||||
import eva2.util.annotation.Description;
|
import eva2.util.annotation.Description;
|
||||||
@ -40,7 +41,7 @@ public class MatlabProblem extends AbstractOptimizationProblem implements Interf
|
|||||||
transient PrintStream dos = null;
|
transient PrintStream dos = null;
|
||||||
private double range[][] = null;
|
private double range[][] = null;
|
||||||
private static String defTestOut = "matlabproblem-debug.log";
|
private static String defTestOut = "matlabproblem-debug.log";
|
||||||
int verbosityLevel = 0;
|
InterfaceStatisticsParameters.OutputVerbosity verbosityLevel = InterfaceStatisticsParameters.OutputVerbosity.NONE;
|
||||||
boolean outputAllStatsField = true;
|
boolean outputAllStatsField = true;
|
||||||
private MatlabEvalMediator handler = null;
|
private MatlabEvalMediator handler = null;
|
||||||
private MatlabProblemDataTypeEnum dataType = MatlabProblemDataTypeEnum.typeDouble;
|
private MatlabProblemDataTypeEnum dataType = MatlabProblemDataTypeEnum.typeDouble;
|
||||||
@ -216,14 +217,6 @@ public class MatlabProblem extends AbstractOptimizationProblem implements Interf
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setStatsOutput(int verboLevel) {
|
|
||||||
if ((verboLevel >= 0) && (verboLevel <= 3)) {
|
|
||||||
verbosityLevel = verboLevel;
|
|
||||||
} else {
|
|
||||||
System.err.println("Error, invalid verbosity level for statistics output!");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public String jmiInterfaceNameTipText() {
|
public String jmiInterfaceNameTipText() {
|
||||||
return "Name of the JEInterface instance in Matlab";
|
return "Name of the JEInterface instance in Matlab";
|
||||||
}
|
}
|
||||||
@ -322,11 +315,11 @@ public class MatlabProblem extends AbstractOptimizationProblem implements Interf
|
|||||||
log("Setting text listener, verbo " + verbosityLevel + "\n");
|
log("Setting text listener, verbo " + verbosityLevel + "\n");
|
||||||
runnable.setTextListener(this);
|
runnable.setTextListener(this);
|
||||||
runnable.setVerbosityLevel(verbosityLevel);
|
runnable.setVerbosityLevel(verbosityLevel);
|
||||||
if (verbosityLevel > 0) {
|
if (verbosityLevel != InterfaceStatisticsParameters.OutputVerbosity.NONE) {
|
||||||
runnable.setOutputTo(2);
|
runnable.setOutputTo(InterfaceStatisticsParameters.OutputTo.BOTH);
|
||||||
} // both file + window
|
} // both file + window
|
||||||
else {
|
else {
|
||||||
runnable.setOutputTo(1);
|
runnable.setOutputTo(InterfaceStatisticsParameters.OutputTo.WINDOW);
|
||||||
} // only window
|
} // only window
|
||||||
runnable.setOutputFullStatsToText(outputAllStatsField);
|
runnable.setOutputFullStatsToText(outputAllStatsField);
|
||||||
|
|
||||||
@ -535,7 +528,7 @@ public class MatlabProblem extends AbstractOptimizationProblem implements Interf
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void print(String str) {
|
public void print(String str) {
|
||||||
if (verbosityLevel > 0) {
|
if (verbosityLevel != InterfaceStatisticsParameters.OutputVerbosity.NONE) {
|
||||||
// matlab displays sysout output in the command window, so we simply use this channel
|
// matlab displays sysout output in the command window, so we simply use this channel
|
||||||
System.out.print(str);
|
System.out.print(str);
|
||||||
}
|
}
|
||||||
|
@ -3,6 +3,7 @@ package eva2.problems;
|
|||||||
import eva2.OptimizerRunnable;
|
import eva2.OptimizerRunnable;
|
||||||
import eva2.gui.BeanInspector;
|
import eva2.gui.BeanInspector;
|
||||||
import eva2.optimization.individuals.AbstractEAIndividual;
|
import eva2.optimization.individuals.AbstractEAIndividual;
|
||||||
|
import eva2.optimization.statistics.InterfaceStatisticsParameters;
|
||||||
|
|
||||||
import java.io.PrintWriter;
|
import java.io.PrintWriter;
|
||||||
import java.io.StringWriter;
|
import java.io.StringWriter;
|
||||||
@ -45,7 +46,7 @@ final class WaitForEvARunnable implements Runnable {
|
|||||||
mp.log("reported results.\n");
|
mp.log("reported results.\n");
|
||||||
mp.notifyFinished();
|
mp.notifyFinished();
|
||||||
mp.log("notified finish.\n");
|
mp.log("notified finish.\n");
|
||||||
if (mp.verbosityLevel > 0) {
|
if (mp.verbosityLevel != InterfaceStatisticsParameters.OutputVerbosity.NONE) {
|
||||||
System.out.println("Optimization finished: " + mp.getInfoString());
|
System.out.println("Optimization finished: " + mp.getInfoString());
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user