Class CMAESOptimizer.FitnessFunction

java.lang.Object
org.apache.commons.math3.optim.nonlinear.scalar.noderiv.CMAESOptimizer.FitnessFunction
Enclosing class:
CMAESOptimizer

private class CMAESOptimizer.FitnessFunction extends Object
Normalizes fitness values to the range [0,1]. Adds a penalty to the fitness value if out of range.
  • Field Details

    • isRepairMode

      private final boolean isRepairMode
      Flag indicating whether the objective variables are forced into their bounds if defined
  • Constructor Details

    • FitnessFunction

      FitnessFunction()
      Simple constructor.
  • Method Details

    • value

      public CMAESOptimizer.ValuePenaltyPair value(double[] point)
      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.