## org.apache.commons.math3.optimization.direct
Class CMAESOptimizer.FitnessFunction

    java.lang.Object
      org.apache.commons.math3.optimization.direct.CMAESOptimizer.FitnessFunction

Enclosing class:
  CMAESOptimizer

    private class CMAESOptimizer.FitnessFunction

extends java.lang.Object

Normalizes fitness values to the range [0,1]. Adds a penalty to the fitness value if out of range. The penalty is adjusted by calling setValueRange().

Field Summary
`private boolean` `isRepairMode` Flag indicating whether the objective variables are forced into their bounds if defined
`private double` `valueRange` Determines the penalty for boundary violations

Constructor Summary
`CMAESOptimizer.FitnessFunction()` Simple constructor.

Method Summary
`boolean` `isFeasible(double[] x)`
`private double` `penalty(double[] x, double[] repaired)`
`private double[]` `repair(double[] x)`
`void` `setValueRange(double valueRange)`
`double` `value(double[] point)`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### valueRange

    private double valueRange

  Determines the penalty for boundary violations

### isRepairMode

    private final boolean isRepairMode

  Flag indicating whether the objective variables are forced into their bounds if defined

Constructor Detail

### CMAESOptimizer.FitnessFunction

    public CMAESOptimizer.FitnessFunction()

  Simple constructor.

Method Detail

### value

    public double 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.

### setValueRange

    public void setValueRange(double valueRange)

  Parameters:
    `valueRange` - Adjusts the penalty computation.

### 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.

Copyright (c) 2003-2013 Apache Software Foundation