More @Parameters and a fix for empty getters.
This commit is contained in:
parent
9efebe8b4b
commit
2a2162c5da
@ -155,8 +155,14 @@ public final class OptimizationBuilder {
|
|||||||
} else {
|
} else {
|
||||||
// The subtree has the name of the class
|
// The subtree has the name of the class
|
||||||
String className = (String)((ArgumentTree)tree.get(name)).getValue();
|
String className = (String)((ArgumentTree)tree.get(name)).getValue();
|
||||||
// Try to get the actual class from its name
|
|
||||||
Class subType = getClassFromName(className, type);
|
Class subType;
|
||||||
|
if (className != null) {
|
||||||
|
// Try to get the actual class from its name
|
||||||
|
subType = getClassFromName(className, type);
|
||||||
|
} else {
|
||||||
|
subType = type;
|
||||||
|
}
|
||||||
|
|
||||||
// Here the recursion starts
|
// Here the recursion starts
|
||||||
obj = constructFromArgumentTree(subType, (ArgumentTree) tree.get(name));
|
obj = constructFromArgumentTree(subType, (ArgumentTree) tree.get(name));
|
||||||
|
@ -87,13 +87,11 @@ public abstract class AbstractOptimizationProblem implements InterfaceOptimizati
|
|||||||
return parallelThreads;
|
return parallelThreads;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Parameter(name = "parallel", description = "Set the number of threaded parallel function evaluations - interesting for slow functions and generational optimizers.")
|
||||||
public void setParallelThreads(int parallelThreads) {
|
public void setParallelThreads(int parallelThreads) {
|
||||||
this.parallelThreads = parallelThreads;
|
this.parallelThreads = parallelThreads;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String parallelThreadsTipText() {
|
|
||||||
return "Set the number of threaded parallel function evaluations - interesting for slow functions and generational optimizers.";
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method initializes the problem instance.
|
* This method initializes the problem instance.
|
||||||
@ -406,10 +404,6 @@ public abstract class AbstractOptimizationProblem implements InterfaceOptimizati
|
|||||||
return template;
|
return template;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String individualTemplateTipText() {
|
|
||||||
return "Choose the individual representation to use.";
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method extracts the individuals from a given population that are assumed to correspond to local or global optima.
|
* This method extracts the individuals from a given population that are assumed to correspond to local or global optima.
|
||||||
* Similar individuals are clustered together with a density based clustering method
|
* Similar individuals are clustered together with a density based clustering method
|
||||||
|
@ -22,6 +22,7 @@ import eva2.tools.diagram.ColorBarCalculator;
|
|||||||
import eva2.tools.math.Jama.Matrix;
|
import eva2.tools.math.Jama.Matrix;
|
||||||
import eva2.tools.math.Mathematics;
|
import eva2.tools.math.Mathematics;
|
||||||
import eva2.tools.math.RNG;
|
import eva2.tools.math.RNG;
|
||||||
|
import eva2.util.annotation.Parameter;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* For a double valued problem, there are two main methods to implement:
|
* For a double valued problem, there are two main methods to implement:
|
||||||
@ -285,6 +286,7 @@ public abstract class AbstractProblemDouble extends AbstractOptimizationProblem
|
|||||||
*
|
*
|
||||||
* @param noise The sigma for a gaussian random number.
|
* @param noise The sigma for a gaussian random number.
|
||||||
*/
|
*/
|
||||||
|
@Parameter(description = "Gaussian noise level on the fitness value.")
|
||||||
public void setNoise(double noise) {
|
public void setNoise(double noise) {
|
||||||
if (noise < 0) {
|
if (noise < 0) {
|
||||||
noise = 0;
|
noise = 0;
|
||||||
@ -301,15 +303,12 @@ public abstract class AbstractProblemDouble extends AbstractOptimizationProblem
|
|||||||
return this.noise;
|
return this.noise;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String noiseTipText() {
|
|
||||||
return "Gaussian noise level on the fitness value.";
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method allows you to choose the EA individual used by the problem.
|
* This method allows you to choose the EA individual used by the problem.
|
||||||
*
|
*
|
||||||
* @param indy The EAIndividual type
|
* @param indy The EAIndividual type
|
||||||
*/
|
*/
|
||||||
|
@Parameter(name = "individual", description = "Base individual type defining the data representation and mutation/crossover operators")
|
||||||
public void setEAIndividual(InterfaceDataTypeDouble indy) {
|
public void setEAIndividual(InterfaceDataTypeDouble indy) {
|
||||||
this.template = (AbstractEAIndividual) indy;
|
this.template = (AbstractEAIndividual) indy;
|
||||||
}
|
}
|
||||||
@ -324,10 +323,6 @@ public abstract class AbstractProblemDouble extends AbstractOptimizationProblem
|
|||||||
return (InterfaceDataTypeDouble) this.template;
|
return (InterfaceDataTypeDouble) this.template;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String EAIndividualTipText() {
|
|
||||||
return "Set the base individual type defining the data representation and mutation/crossover operators";
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A (symmetric) absolute range limit.
|
* A (symmetric) absolute range limit.
|
||||||
*
|
*
|
||||||
@ -351,6 +346,7 @@ public abstract class AbstractProblemDouble extends AbstractOptimizationProblem
|
|||||||
return "Absolute limit for the symmetric range in any dimension";
|
return "Absolute limit for the symmetric range in any dimension";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Parameter(name = "rotate", description = "If marked, the function is rotated by 22.5 degrees along every axis.")
|
||||||
public void setDoRotation(boolean doRotation) {
|
public void setDoRotation(boolean doRotation) {
|
||||||
this.doRotation = doRotation;
|
this.doRotation = doRotation;
|
||||||
if (!doRotation) {
|
if (!doRotation) {
|
||||||
@ -362,10 +358,6 @@ public abstract class AbstractProblemDouble extends AbstractOptimizationProblem
|
|||||||
return doRotation;
|
return doRotation;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String doRotationTipText() {
|
|
||||||
return "If marked, the function is rotated by 22.5 degrees along every axis.";
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* *******************************************************************************************************************
|
* *******************************************************************************************************************
|
||||||
* These are for InterfaceParamControllable
|
* These are for InterfaceParamControllable
|
||||||
|
Loading…
x
Reference in New Issue
Block a user