Optional plotting as post process parameter.
This commit is contained in:
parent
676fbb8498
commit
8bdafeb957
@ -31,4 +31,7 @@ public interface InterfacePostProcessParams {
|
|||||||
public void setPPMethod(PostProcessMethod meth);
|
public void setPPMethod(PostProcessMethod meth);
|
||||||
public PostProcessMethod getPPMethod();
|
public PostProcessMethod getPPMethod();
|
||||||
public String PPMethodTipText();
|
public String PPMethodTipText();
|
||||||
|
|
||||||
|
public boolean isWithPlot();
|
||||||
|
public void setWithPlot(boolean withPlot);
|
||||||
}
|
}
|
||||||
|
@ -51,7 +51,6 @@ import eva2.tools.Pair;
|
|||||||
public class PostProcess {
|
public class PostProcess {
|
||||||
protected static InterfaceDistanceMetric metric = new PhenotypeMetric();
|
protected static InterfaceDistanceMetric metric = new PhenotypeMetric();
|
||||||
private static final boolean TRACE = false;
|
private static final boolean TRACE = false;
|
||||||
private static final boolean DRAW_PPPOP = true;
|
|
||||||
|
|
||||||
// the default mutation step size for HC post processing
|
// the default mutation step size for HC post processing
|
||||||
private static double defaultMutationStepSize = 0.01;
|
private static double defaultMutationStepSize = 0.01;
|
||||||
@ -888,8 +887,8 @@ public class PostProcess {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (listener != null) listener.println("Post processing: " + stepsDone + " steps done.");
|
if (listener != null) listener.println("Post processing: " + stepsDone + " steps done.");
|
||||||
if (DRAW_PPPOP) {
|
if (params.isWithPlot()) {
|
||||||
plot = draw("After " + stepsDone + " steps", null, stateBeforeLS, clusteredPop, problem);
|
plot = draw("After " + stepsDone + " steps ("+ params.getPPMethod() + ")", null, stateBeforeLS, clusteredPop, problem);
|
||||||
}
|
}
|
||||||
// some individuals may have now converged again
|
// some individuals may have now converged again
|
||||||
if (params.getPostProcessClusterSigma() > 0) {
|
if (params.getPostProcessClusterSigma() > 0) {
|
||||||
@ -901,8 +900,8 @@ public class PostProcess {
|
|||||||
} else outputPop = clusteredPop;
|
} else outputPop = clusteredPop;
|
||||||
} else outputPop = clusteredPop;
|
} else outputPop = clusteredPop;
|
||||||
|
|
||||||
if (DRAW_PPPOP) {
|
if (params.isWithPlot()) {
|
||||||
plot = draw("After " + stepsDone + " steps" + ((params.getPostProcessClusterSigma()>0) ? " and second clustering" : ""), null, outputPop, null, problem);
|
plot = draw("After " + stepsDone + " steps (" + params.getPPMethod() + ")" + ((params.getPostProcessClusterSigma()>0) ? " and second clustering" : ""), null, outputPop, null, problem);
|
||||||
}
|
}
|
||||||
double upBnd = PhenotypeMetric.norm(outputPop.getWorstEAIndividual().getFitness())*1.1;
|
double upBnd = PhenotypeMetric.norm(outputPop.getWorstEAIndividual().getFitness())*1.1;
|
||||||
upBnd = Math.pow(10,Math.floor(Math.log10(upBnd)+1));
|
upBnd = Math.pow(10,Math.floor(Math.log10(upBnd)+1));
|
||||||
|
@ -13,6 +13,7 @@ public class PostProcessParams implements InterfacePostProcessParams, Serializab
|
|||||||
protected double postProcessClusterSigma = 0.05;
|
protected double postProcessClusterSigma = 0.05;
|
||||||
protected int printNBest = 10;
|
protected int printNBest = 10;
|
||||||
protected PostProcessMethod method = PostProcessMethod.nelderMead;
|
protected PostProcessMethod method = PostProcessMethod.nelderMead;
|
||||||
|
private boolean withPlot = false;
|
||||||
|
|
||||||
public PostProcessParams() {
|
public PostProcessParams() {
|
||||||
postProcessSteps = 5000;
|
postProcessSteps = 5000;
|
||||||
@ -65,6 +66,7 @@ public class PostProcessParams implements InterfacePostProcessParams, Serializab
|
|||||||
GenericObjectEditor.setShowProperty(this.getClass(), "postProcessClusterSigma", postProcess);
|
GenericObjectEditor.setShowProperty(this.getClass(), "postProcessClusterSigma", postProcess);
|
||||||
GenericObjectEditor.setShowProperty(this.getClass(), "printNBest", postProcess);
|
GenericObjectEditor.setShowProperty(this.getClass(), "printNBest", postProcess);
|
||||||
GenericObjectEditor.setShowProperty(this.getClass(), "PPMethod", postProcess);
|
GenericObjectEditor.setShowProperty(this.getClass(), "PPMethod", postProcess);
|
||||||
|
GenericObjectEditor.setShowProperty(this.getClass(), "withPlot", postProcess);
|
||||||
}
|
}
|
||||||
public String doPostProcessingTipText() {
|
public String doPostProcessingTipText() {
|
||||||
return "Toggle post processing of the solutions.";
|
return "Toggle post processing of the solutions.";
|
||||||
@ -125,4 +127,12 @@ public class PostProcessParams implements InterfacePostProcessParams, Serializab
|
|||||||
public void setPPMethod(PostProcessMethod meth) {
|
public void setPPMethod(PostProcessMethod meth) {
|
||||||
method=meth;
|
method=meth;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isWithPlot() {
|
||||||
|
return withPlot;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setWithPlot(boolean withPlot) {
|
||||||
|
this.withPlot = withPlot;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user