@@ -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) {
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user