Class CMAESOptimizer.FitnessFunction
java.lang.Object
org.apache.commons.math3.optim.nonlinear.scalar.noderiv.CMAESOptimizer.FitnessFunction
- Enclosing class:
CMAESOptimizer
Normalizes fitness values to the range [0,1]. Adds a penalty to the
fitness value if out of range.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final boolean
Flag indicating whether the objective variables are forced into their bounds if defined -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionboolean
isFeasible
(double[] x) private double
penalty
(double[] x, double[] repaired) private double[]
repair
(double[] x) value
(double[] point)
-
Field Details
-
isRepairMode
private final boolean isRepairModeFlag indicating whether the objective variables are forced into their bounds if defined
-
-
Constructor Details
-
FitnessFunction
FitnessFunction()Simple constructor.
-
-
Method Details
-
value
- Parameters:
point
- Normalized objective variables.- Returns:
- the objective value + penalty for violated bounds.
-
isFeasible
public boolean isFeasible(double[] x) - Parameters:
x
- Normalized objective variables.- Returns:
true
if in bounds.
-
repair
private double[] repair(double[] x) - Parameters:
x
- Normalized objective variables.- Returns:
- the repaired (i.e. all in bounds) objective variables.
-
penalty
private double penalty(double[] x, double[] repaired) - Parameters:
x
- Normalized objective variables.repaired
- Repaired objective variables.- Returns:
- Penalty value according to the violation of the bounds.
-