org.apache.commons.math3.optimization.direct

## Class CMAESOptimizer

- java.lang.Object
- - org.apache.commons.math3.optimization.direct.BaseAbstractMultivariateOptimizer<FUNC>
  - - org.apache.commons.math3.optimization.direct.BaseAbstractMultivariateSimpleBoundsOptimizer<MultivariateFunction>
    - - org.apache.commons.math3.optimization.direct.CMAESOptimizer

- All Implemented Interfaces:
    BaseMultivariateOptimizer<MultivariateFunction>, BaseMultivariateSimpleBoundsOptimizer<MultivariateFunction>, BaseOptimizer<PointValuePair>, MultivariateOptimizer

  Deprecated.
  As of 3.1 (to be removed in 4.0).

      @Deprecated
      public class CMAESOptimizer
      extends BaseAbstractMultivariateSimpleBoundsOptimizer<MultivariateFunction>
      implements MultivariateOptimizer

  An implementation of the active Covariance Matrix Adaptation Evolution Strategy (CMA-ES) for non-linear, non-convex, non-smooth, global function minimization. The CMA-Evolution Strategy (CMA-ES) is a reliable stochastic optimization method which should be applied if derivative-based methods, e.g. quasi-Newton BFGS or conjugate gradient, fail due to a rugged search landscape (e.g. noise, local optima, outlier, etc.) of the objective function. Like a quasi-Newton method, the CMA-ES learns and applies a variable metric on the underlying search space. Unlike a quasi-Newton method, the CMA-ES neither estimates nor uses gradients, making it considerably more reliable in terms of finding a good, or even close to optimal, solution.

  In general, on smooth objective functions the CMA-ES is roughly ten times slower than BFGS (counting objective function evaluations, no gradients provided). For up to N=10 variables also the derivative-free simplex direct search method (Nelder and Mead) can be faster, but it is far less reliable than CMA-ES.

  The CMA-ES is particularly well suited for non-separable and/or badly conditioned problems. To observe the advantage of CMA compared to a conventional evolution strategy, it will usually take about 30 N function evaluations. On difficult problems the complete optimization (a single run) is expected to take roughly between 30 N and 300 N2 function evaluations.

  This implementation is translated and adapted from the Matlab version of the CMA-ES algorithm as implemented in module `cmaes.m` version 3.51.

  For more information, please refer to the following links:
  - Matlab code
  - Introduction to CMA-ES
  - Wikipedia
  Since:
    3.0
  Version:
    $Id: CMAESOptimizer.java 1422313 2012-12-15 18:53:41Z psteitz $

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `private static class` | `CMAESOptimizer.DoubleIndex` Deprecated. Used to sort fitness values.
    `private class` | `CMAESOptimizer.FitnessFunction` Deprecated. Normalizes fitness values to the range [0,1].
    `static class` | `CMAESOptimizer.PopulationSize` Deprecated. Population size.
    `static class` | `CMAESOptimizer.Sigma` Deprecated. Input sigma values.

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private RealMatrix` | `B` Deprecated. Coordinate system.
    `private RealMatrix` | `BD` Deprecated. B*D, stored for efficiency.
    `private RealMatrix` | `C` Deprecated. Covariance matrix.
    `private double` | `cc` Deprecated. Cumulation constant.
    `private double` | `ccov1` Deprecated. Learning rate for rank-one update.
    `private double` | `ccov1Sep` Deprecated. Learning rate for rank-one update - diagonalOnly
    `private double` | `ccovmu` Deprecated. Learning rate for rank-mu update'
    `private double` | `ccovmuSep` Deprecated. Learning rate for rank-mu update - diagonalOnly
    `private int` | `checkFeasableCount` Deprecated. Determines how often a new random offspring is generated in case it is not feasible / beyond the defined limits, default is 0.
    `private double` | `chiN` Deprecated. Expectation of ||N(0,I)|| == norm(randn(N,1)).
    `private double` | `cs` Deprecated. Cumulation constant for step-size.
    `private RealMatrix` | `D` Deprecated. Scaling.
    `private double` | `damps` Deprecated. Damping for step-size.
    `static int` | `DEFAULT_CHECKFEASABLECOUNT` Deprecated. Default value for `checkFeasableCount`: 0.
    `static int` | `DEFAULT_DIAGONALONLY` Deprecated. Default value for `diagonalOnly`: 0.
    `static boolean` | `DEFAULT_ISACTIVECMA` Deprecated. Default value for `isActiveCMA`: true.
    `static int` | `DEFAULT_MAXITERATIONS` Deprecated. Default value for `maxIterations`: 30000.
    `static RandomGenerator` | `DEFAULT_RANDOMGENERATOR` Deprecated. Default value for `random`.
    `static double` | `DEFAULT_STOPFITNESS` Deprecated. Default value for `stopFitness`: 0.0.
    `private RealMatrix` | `diagC` Deprecated. Diagonal of C, used for diagonalOnly.
    `private RealMatrix` | `diagD` Deprecated. Diagonal of sqrt(D), stored for efficiency.
    `private int` | `diagonalOnly` Deprecated. Defines the number of initial iterations, where the covariance matrix remains diagonal and the algorithm has internally linear time complexity.
    `private int` | `dimension` Deprecated. Number of objective variables/problem dimension
    `private double[]` | `fitnessHistory` Deprecated. History queue of best values.
    `private boolean` | `generateStatistics` Deprecated. Indicates whether statistic data is collected.
    `private int` | `historySize` Deprecated. Size of history queue of best values.
    `private double[]` | `inputSigma` Deprecated.
    `private boolean` | `isActiveCMA` Deprecated. Covariance update mechanism, default is active CMA.
    `private boolean` | `isMinimize` Deprecated. Number of objective variables/problem dimension
    `private int` | `iterations` Deprecated. Number of iterations already performed.
    `private int` | `lambda` Deprecated. Population size, offspring number.
    `private double` | `logMu2` Deprecated. log(mu + 0.5), stored for efficiency.
    `private int` | `maxIterations` Deprecated. Maximal number of iterations allowed.
    `private int` | `mu` Deprecated. Number of parents/points for recombination.
    `private double` | `mueff` Deprecated. Variance-effectiveness of sum w_i x_i.
    `private double` | `normps` Deprecated. Norm of ps, stored for efficiency.
    `private RealMatrix` | `pc` Deprecated. Evolution path.
    `private RealMatrix` | `ps` Deprecated. Evolution path for sigma.
    `private RandomGenerator` | `random` Deprecated. Random generator.
    `private double` | `sigma` Deprecated. Overall standard deviation - search volume.
    `private java.util.List<RealMatrix>` | `statisticsDHistory` Deprecated. History of D matrix.
    `private java.util.List<java.lang.Double>` | `statisticsFitnessHistory` Deprecated. History of fitness values.
    `private java.util.List<RealMatrix>` | `statisticsMeanHistory` Deprecated. History of mean matrix.
    `private java.util.List<java.lang.Double>` | `statisticsSigmaHistory` Deprecated. History of sigma values.
    `private double` | `stopFitness` Deprecated. Limit for fitness value.
    `private double` | `stopTolFun` Deprecated. Stop if fun-changes smaller stopTolFun.
    `private double` | `stopTolHistFun` Deprecated. Stop if back fun-changes smaller stopTolHistFun.
    `private double` | `stopTolUpX` Deprecated. Stop if x-changes larger stopTolUpX.
    `private double` | `stopTolX` Deprecated. Stop if x-change smaller stopTolX.
    `private RealMatrix` | `weights` Deprecated. Array for weighted recombination.
    `private RealMatrix` | `xmean` Deprecated. Objective variables.

    - ### Fields inherited from class org.apache.commons.math3.optimization.direct.BaseAbstractMultivariateOptimizer

      `evaluations`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `CMAESOptimizer()` Deprecated. As of version 3.1: Parameter `lambda` must be passed with the call to `optimize` (whereas in the current code it is set to an undocumented value).
    `CMAESOptimizer(int lambda)` Deprecated. As of version 3.1: Parameter `lambda` must be passed with the call to `optimize` (whereas in the current code it is set to an undocumented value)..
    `CMAESOptimizer(int lambda, double[] inputSigma)` Deprecated. As of version 3.1: Parameters `lambda` and `inputSigma` must be passed with the call to `optimize`.
    `CMAESOptimizer(int lambda, double[] inputSigma, int maxIterations, double stopFitness, boolean isActiveCMA, int diagonalOnly, int checkFeasableCount, RandomGenerator random, boolean generateStatistics)` Deprecated. See `SimpleValueChecker.SimpleValueChecker()`
    `CMAESOptimizer(int lambda, double[] inputSigma, int maxIterations, double stopFitness, boolean isActiveCMA, int diagonalOnly, int checkFeasableCount, RandomGenerator random, boolean generateStatistics, ConvergenceChecker<PointValuePair> checker)` Deprecated. As of version 3.1: Parameters `lambda` and `inputSigma` must be passed with the call to `optimize`.
    `CMAESOptimizer(int maxIterations, double stopFitness, boolean isActiveCMA, int diagonalOnly, int checkFeasableCount, RandomGenerator random, boolean generateStatistics, ConvergenceChecker<PointValuePair> checker)` Deprecated.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `private void` | `checkParameters()` Deprecated. Checks dimensions and values of boundaries and inputSigma if defined.
    `private static void` | `copyColumn(RealMatrix m1, int col1, RealMatrix m2, int col2)` Deprecated. Copies a column from m1 to m2.
    `private static RealMatrix` | `diag(RealMatrix m)` Deprecated.
    `private static RealMatrix` | `divide(RealMatrix m, RealMatrix n)` Deprecated.
    `protected PointValuePair` | `doOptimize()` Deprecated. Perform the bulk of the optimization algorithm.
    `private static RealMatrix` | `eye(int n, int m)` Deprecated.
    `java.util.List<RealMatrix>` | `getStatisticsDHistory()` Deprecated.
    `java.util.List<java.lang.Double>` | `getStatisticsFitnessHistory()` Deprecated.
    `java.util.List<RealMatrix>` | `getStatisticsMeanHistory()` Deprecated.
    `java.util.List<java.lang.Double>` | `getStatisticsSigmaHistory()` Deprecated.
    `private void` | `initializeCMA(double[] guess)` Deprecated. Initialization of the dynamic search parameters
    `private static int[]` | `inverse(int[] indices)` Deprecated.
    `private static RealMatrix` | `log(RealMatrix m)` Deprecated.
    `private static double` | `max(double[] m)` Deprecated.
    `private static double` | `max(RealMatrix m)` Deprecated.
    `private static double` | `min(double[] m)` Deprecated.
    `private static double` | `min(RealMatrix m)` Deprecated.
    `private static RealMatrix` | `ones(int n, int m)` Deprecated.
    `protected PointValuePair` | `optimizeInternal(int maxEval, MultivariateFunction f, GoalType goalType, OptimizationData... optData)` Deprecated. Optimize an objective function.
    `private void` | `parseOptimizationData(OptimizationData... optData)` Deprecated. Scans the list of (required and optional) optimization data that characterize the problem.
    `private static void` | `push(double[] vals, double val)` Deprecated. Pushes the current best fitness value in a history queue.
    `private double[]` | `randn(int size)` Deprecated.
    `private RealMatrix` | `randn1(int size, int popSize)` Deprecated.
    `private static RealMatrix` | `repmat(RealMatrix mat, int n, int m)` Deprecated.
    `private static int[]` | `reverse(int[] indices)` Deprecated.
    `private static RealMatrix` | `selectColumns(RealMatrix m, int[] cols)` Deprecated.
    `private static RealMatrix` | `sequence(double start, double end, double step)` Deprecated.
    `private int[]` | `sortedIndices(double[] doubles)` Deprecated. Sorts fitness values.
    `private static RealMatrix` | `sqrt(RealMatrix m)` Deprecated.
    `private static RealMatrix` | `square(RealMatrix m)` Deprecated.
    `private static RealMatrix` | `sumRows(RealMatrix m)` Deprecated.
    `private static RealMatrix` | `times(RealMatrix m, RealMatrix n)` Deprecated.
    `private static RealMatrix` | `triu(RealMatrix m, int k)` Deprecated.
    `private void` | `updateBD(double negccov)` Deprecated. Update B and D from C.
    `private void` | `updateCovariance(boolean hsig, RealMatrix bestArx, RealMatrix arz, int[] arindex, RealMatrix xold)` Deprecated. Update of the covariance matrix C.
    `private void` | `updateCovarianceDiagonalOnly(boolean hsig, RealMatrix bestArz)` Deprecated. Update of the covariance matrix C for diagonalOnly > 0
    `private boolean` | `updateEvolutionPaths(RealMatrix zmean, RealMatrix xold)` Deprecated. Update of the evolution paths ps and pc.
    `private static RealMatrix` | `zeros(int n, int m)` Deprecated.

    - ### Methods inherited from class org.apache.commons.math3.optimization.direct.BaseAbstractMultivariateSimpleBoundsOptimizer

      `getLowerBound, getUpperBound, optimize, optimize`

    - ### Methods inherited from class org.apache.commons.math3.optimization.direct.BaseAbstractMultivariateOptimizer

      `computeObjectiveValue, getConvergenceChecker, getEvaluations, getGoalType, getMaxEvaluations, getStartPoint, optimize, optimizeInternal`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface org.apache.commons.math3.optimization.BaseMultivariateOptimizer

      `optimize`

    - ### Methods inherited from interface org.apache.commons.math3.optimization.BaseOptimizer

      `getConvergenceChecker, getEvaluations, getMaxEvaluations`

- - ### Field Detail

    - #### DEFAULT_CHECKFEASABLECOUNT

          public static final int DEFAULT_CHECKFEASABLECOUNT

      Deprecated.
      Default value for `checkFeasableCount`: 0.
      See Also:
        Constant Field Values

    - #### DEFAULT_STOPFITNESS

          public static final double DEFAULT_STOPFITNESS

      Deprecated.
      Default value for `stopFitness`: 0.0.
      See Also:
        Constant Field Values

    - #### DEFAULT_ISACTIVECMA

          public static final boolean DEFAULT_ISACTIVECMA

      Deprecated.
      Default value for `isActiveCMA`: true.
      See Also:
        Constant Field Values

    - #### DEFAULT_MAXITERATIONS

          public static final int DEFAULT_MAXITERATIONS

      Deprecated.
      Default value for `maxIterations`: 30000.
      See Also:
        Constant Field Values

    - #### DEFAULT_DIAGONALONLY

          public static final int DEFAULT_DIAGONALONLY

      Deprecated.
      Default value for `diagonalOnly`: 0.
      See Also:
        Constant Field Values

    - #### DEFAULT_RANDOMGENERATOR

          public static final RandomGenerator DEFAULT_RANDOMGENERATOR

      Deprecated.
      Default value for `random`.

    - #### lambda

          private int lambda

      Deprecated.
      Population size, offspring number. The primary strategy parameter to play with, which can be increased from its default value. Increasing the population size improves global search properties in exchange to speed. Speed decreases, as a rule, at most linearly with increasing population size. It is advisable to begin with the default small population size.

    - #### isActiveCMA

          private boolean isActiveCMA

      Deprecated.
      Covariance update mechanism, default is active CMA. isActiveCMA = true turns on "active CMA" with a negative update of the covariance matrix and checks for positive definiteness. OPTS.CMA.active = 2 does not check for pos. def. and is numerically faster. Active CMA usually speeds up the adaptation.

    - #### checkFeasableCount

          private int checkFeasableCount

      Deprecated.
      Determines how often a new random offspring is generated in case it is not feasible / beyond the defined limits, default is 0.

    - #### inputSigma

          private double[] inputSigma

      Deprecated.
      See Also:
        `CMAESOptimizer.Sigma`

    - #### dimension

          private int dimension

      Deprecated.
      Number of objective variables/problem dimension

    - #### diagonalOnly

          private int diagonalOnly

      Deprecated.
      Defines the number of initial iterations, where the covariance matrix remains diagonal and the algorithm has internally linear time complexity. diagonalOnly = 1 means keeping the covariance matrix always diagonal and this setting also exhibits linear space complexity. This can be particularly useful for dimension > 100.
      See Also:
        A Simple Modification in CMA-ES

    - #### isMinimize

          private boolean isMinimize

      Deprecated.
      Number of objective variables/problem dimension

    - #### generateStatistics

          private boolean generateStatistics

      Deprecated.
      Indicates whether statistic data is collected.

    - #### maxIterations

          private int maxIterations

      Deprecated.
      Maximal number of iterations allowed.

    - #### stopFitness

          private double stopFitness

      Deprecated.
      Limit for fitness value.

    - #### stopTolUpX

          private double stopTolUpX

      Deprecated.
      Stop if x-changes larger stopTolUpX.

    - #### stopTolX

          private double stopTolX

      Deprecated.
      Stop if x-change smaller stopTolX.

    - #### stopTolFun

          private double stopTolFun

      Deprecated.
      Stop if fun-changes smaller stopTolFun.

    - #### stopTolHistFun

          private double stopTolHistFun

      Deprecated.
      Stop if back fun-changes smaller stopTolHistFun.

    - #### mu

          private int mu

      Deprecated.
      Number of parents/points for recombination.

    - #### logMu2

          private double logMu2

      Deprecated.
      log(mu + 0.5), stored for efficiency.

    - #### weights

          private RealMatrix weights

      Deprecated.
      Array for weighted recombination.

    - #### mueff

          private double mueff

      Deprecated.
      Variance-effectiveness of sum w_i x_i.

    - #### sigma

          private double sigma

      Deprecated.
      Overall standard deviation - search volume.

    - #### cc

          private double cc

      Deprecated.
      Cumulation constant.

    - #### cs

          private double cs

      Deprecated.
      Cumulation constant for step-size.

    - #### damps

          private double damps

      Deprecated.
      Damping for step-size.

    - #### ccov1

          private double ccov1

      Deprecated.
      Learning rate for rank-one update.

    - #### ccovmu

          private double ccovmu

      Deprecated.
      Learning rate for rank-mu update'

    - #### chiN

          private double chiN

      Deprecated.
      Expectation of ||N(0,I)|| == norm(randn(N,1)).

    - #### ccov1Sep

          private double ccov1Sep

      Deprecated.
      Learning rate for rank-one update - diagonalOnly

    - #### ccovmuSep

          private double ccovmuSep

      Deprecated.
      Learning rate for rank-mu update - diagonalOnly

    - #### xmean

          private RealMatrix xmean

      Deprecated.
      Objective variables.

    - #### pc

          private RealMatrix pc

      Deprecated.
      Evolution path.

    - #### ps

          private RealMatrix ps

      Deprecated.
      Evolution path for sigma.

    - #### normps

          private double normps

      Deprecated.
      Norm of ps, stored for efficiency.

    - #### B

          private RealMatrix B

      Deprecated.
      Coordinate system.

    - #### D

          private RealMatrix D

      Deprecated.
      Scaling.

    - #### BD

          private RealMatrix BD

      Deprecated.
      B*D, stored for efficiency.

    - #### diagD

          private RealMatrix diagD

      Deprecated.
      Diagonal of sqrt(D), stored for efficiency.

    - #### C

          private RealMatrix C

      Deprecated.
      Covariance matrix.

    - #### diagC

          private RealMatrix diagC

      Deprecated.
      Diagonal of C, used for diagonalOnly.

    - #### iterations

          private int iterations

      Deprecated.
      Number of iterations already performed.

    - #### fitnessHistory

          private double[] fitnessHistory

      Deprecated.
      History queue of best values.

    - #### historySize

          private int historySize

      Deprecated.
      Size of history queue of best values.

    - #### random

          private RandomGenerator random

      Deprecated.
      Random generator.

    - #### statisticsSigmaHistory

          private java.util.List<java.lang.Double> statisticsSigmaHistory

      Deprecated.
      History of sigma values.

    - #### statisticsMeanHistory

          private java.util.List<RealMatrix> statisticsMeanHistory

      Deprecated.
      History of mean matrix.

    - #### statisticsFitnessHistory

          private java.util.List<java.lang.Double> statisticsFitnessHistory

      Deprecated.
      History of fitness values.

    - #### statisticsDHistory

          private java.util.List<RealMatrix> statisticsDHistory

      Deprecated.
      History of D matrix.

  - ### Constructor Detail

    - #### CMAESOptimizer

          public CMAESOptimizer()

      Deprecated. As of version 3.1: Parameter `lambda` must be passed with the call to `optimize` (whereas in the current code it is set to an undocumented value).
      Default constructor, uses default parameters

    - #### CMAESOptimizer

          public CMAESOptimizer(int lambda)

      Deprecated. As of version 3.1: Parameter `lambda` must be passed with the call to `optimize` (whereas in the current code it is set to an undocumented value)..
      Parameters:
        `lambda` - Population size.

    - #### CMAESOptimizer

          @Deprecated
          public CMAESOptimizer(int lambda,
                                   double[] inputSigma)

      Deprecated. As of version 3.1: Parameters `lambda` and `inputSigma` must be passed with the call to `optimize`.
      Parameters:
        `lambda` - Population size.
        `inputSigma` - Initial standard deviations to sample new points around the initial guess.

    - #### CMAESOptimizer

          @Deprecated
          public CMAESOptimizer(int lambda,
                                   double[] inputSigma,
                                   int maxIterations,
                                   double stopFitness,
                                   boolean isActiveCMA,
                                   int diagonalOnly,
                                   int checkFeasableCount,
                                   RandomGenerator random,
                                   boolean generateStatistics)

      Deprecated. See `SimpleValueChecker.SimpleValueChecker()`
      Parameters:
        `lambda` - Population size.
        `inputSigma` - Initial standard deviations to sample new points around the initial guess.
        `maxIterations` - Maximal number of iterations.
        `stopFitness` - Whether to stop if objective function value is smaller than `stopFitness`.
        `isActiveCMA` - Chooses the covariance matrix update method.
        `diagonalOnly` - Number of initial iterations, where the covariance matrix remains diagonal.
        `checkFeasableCount` - Determines how often new random objective variables are generated in case they are out of bounds.
        `random` - Random generator.
        `generateStatistics` - Whether statistic data is collected.

    - #### CMAESOptimizer

          @Deprecated
          public CMAESOptimizer(int lambda,
                                   double[] inputSigma,
                                   int maxIterations,
                                   double stopFitness,
                                   boolean isActiveCMA,
                                   int diagonalOnly,
                                   int checkFeasableCount,
                                   RandomGenerator random,
                                   boolean generateStatistics,
                                   ConvergenceChecker<PointValuePair> checker)

      Deprecated. As of version 3.1: Parameters `lambda` and `inputSigma` must be passed with the call to `optimize`.
      Parameters:
        `lambda` - Population size.
        `inputSigma` - Initial standard deviations to sample new points around the initial guess.
        `maxIterations` - Maximal number of iterations.
        `stopFitness` - Whether to stop if objective function value is smaller than `stopFitness`.
        `isActiveCMA` - Chooses the covariance matrix update method.
        `diagonalOnly` - Number of initial iterations, where the covariance matrix remains diagonal.
        `checkFeasableCount` - Determines how often new random objective variables are generated in case they are out of bounds.
        `random` - Random generator.
        `generateStatistics` - Whether statistic data is collected.
        `checker` - Convergence checker.

    - #### CMAESOptimizer

          public CMAESOptimizer(int maxIterations,
                        double stopFitness,
                        boolean isActiveCMA,
                        int diagonalOnly,
                        int checkFeasableCount,
                        RandomGenerator random,
                        boolean generateStatistics,
                        ConvergenceChecker<PointValuePair> checker)

      Deprecated.
      Parameters:
        `maxIterations` - Maximal number of iterations.
        `stopFitness` - Whether to stop if objective function value is smaller than `stopFitness`.
        `isActiveCMA` - Chooses the covariance matrix update method.
        `diagonalOnly` - Number of initial iterations, where the covariance matrix remains diagonal.
        `checkFeasableCount` - Determines how often new random objective variables are generated in case they are out of bounds.
        `random` - Random generator.
        `generateStatistics` - Whether statistic data is collected.
        `checker` - Convergence checker.
      Since:
        3.1

  - ### Method Detail

    - #### getStatisticsSigmaHistory

          public java.util.List<java.lang.Double> getStatisticsSigmaHistory()

      Deprecated.
      Returns:
        History of sigma values.

    - #### getStatisticsMeanHistory

          public java.util.List<RealMatrix> getStatisticsMeanHistory()

      Deprecated.
      Returns:
        History of mean matrix.

    - #### getStatisticsFitnessHistory

          public java.util.List<java.lang.Double> getStatisticsFitnessHistory()

      Deprecated.
      Returns:
        History of fitness values.

    - #### getStatisticsDHistory

          public java.util.List<RealMatrix> getStatisticsDHistory()

      Deprecated.
      Returns:
        History of D matrix.

    - #### optimizeInternal

          protected PointValuePair optimizeInternal(int maxEval,
                                        MultivariateFunction f,
                                        GoalType goalType,
                                        OptimizationData... optData)

      Deprecated.
      Optimize an objective function.
      Overrides:
        `optimizeInternal` in class `BaseAbstractMultivariateOptimizer<MultivariateFunction>`
      Parameters:
        `maxEval` - Allowed number of evaluations of the objective function.
        `f` - Objective function.
        `goalType` - Optimization type.
        `optData` - Optimization data. The following data will be looked for:
        - `InitialGuess`
        - `CMAESOptimizer.Sigma`
        - `CMAESOptimizer.PopulationSize`
      Returns:
        the point/value pair giving the optimal value for objective function.

    - #### doOptimize

          protected PointValuePair doOptimize()

      Deprecated.
      Perform the bulk of the optimization algorithm.
      Specified by:
        `doOptimize` in class `BaseAbstractMultivariateOptimizer<MultivariateFunction>`
      Returns:
        the point/value pair giving the optimal value of the objective function.

    - #### parseOptimizationData

          private void parseOptimizationData(OptimizationData... optData)

      Deprecated.
      Scans the list of (required and optional) optimization data that characterize the problem.
      Parameters:
        `optData` - Optimization data. The following data will be looked for:
        - `CMAESOptimizer.Sigma`
        - `CMAESOptimizer.PopulationSize`

    - #### checkParameters

          private void checkParameters()

      Deprecated.
      Checks dimensions and values of boundaries and inputSigma if defined.

    - #### initializeCMA

          private void initializeCMA(double[] guess)

      Deprecated.
      Initialization of the dynamic search parameters
      Parameters:
        `guess` - Initial guess for the arguments of the fitness function.

    - #### updateEvolutionPaths

          private boolean updateEvolutionPaths(RealMatrix zmean,
                                     RealMatrix xold)

      Deprecated.
      Update of the evolution paths ps and pc.
      Parameters:
        `zmean` - Weighted row matrix of the gaussian random numbers generating the current offspring.
        `xold` - xmean matrix of the previous generation.
      Returns:
        hsig flag indicating a small correction.

    - #### updateCovarianceDiagonalOnly

          private void updateCovarianceDiagonalOnly(boolean hsig,
                                          RealMatrix bestArz)

      Deprecated.
      Update of the covariance matrix C for diagonalOnly > 0
      Parameters:
        `hsig` - Flag indicating a small correction.
        `bestArz` - Fitness-sorted matrix of the gaussian random values of the current offspring.

    - #### updateCovariance

          private void updateCovariance(boolean hsig,
                              RealMatrix bestArx,
                              RealMatrix arz,
                              int[] arindex,
                              RealMatrix xold)

      Deprecated.
      Update of the covariance matrix C.
      Parameters:
        `hsig` - Flag indicating a small correction.
        `bestArx` - Fitness-sorted matrix of the argument vectors producing the current offspring.
        `arz` - Unsorted matrix containing the gaussian random values of the current offspring.
        `arindex` - Indices indicating the fitness-order of the current offspring.
        `xold` - xmean matrix of the previous generation.

    - #### updateBD

          private void updateBD(double negccov)

      Deprecated.
      Update B and D from C.
      Parameters:
        `negccov` - Negative covariance factor.

    - #### push

          private static void push(double[] vals,
                  double val)

      Deprecated.
      Pushes the current best fitness value in a history queue.
      Parameters:
        `vals` - History queue.
        `val` - Current best fitness value.

    - #### sortedIndices

          private int[] sortedIndices(double[] doubles)

      Deprecated.
      Sorts fitness values.
      Parameters:
        `doubles` - Array of values to be sorted.
      Returns:
        a sorted array of indices pointing into doubles.

    - #### log

          private static RealMatrix log(RealMatrix m)

      Deprecated.
      Parameters:
        `m` - Input matrix
      Returns:
        Matrix representing the element-wise logarithm of m.

    - #### sqrt

          private static RealMatrix sqrt(RealMatrix m)

      Deprecated.
      Parameters:
        `m` - Input matrix.
      Returns:
        Matrix representing the element-wise square root of m.

    - #### square

          private static RealMatrix square(RealMatrix m)

      Deprecated.
      Parameters:
        `m` - Input matrix.
      Returns:
        Matrix representing the element-wise square of m.

    - #### times

          private static RealMatrix times(RealMatrix m,
                         RealMatrix n)

      Deprecated.
      Parameters:
        `m` - Input matrix 1.
        `n` - Input matrix 2.
      Returns:
        the matrix where the elements of m and n are element-wise multiplied.

    - #### divide

          private static RealMatrix divide(RealMatrix m,
                          RealMatrix n)

      Deprecated.
      Parameters:
        `m` - Input matrix 1.
        `n` - Input matrix 2.
      Returns:
        Matrix where the elements of m and n are element-wise divided.

    - #### selectColumns

          private static RealMatrix selectColumns(RealMatrix m,
                                 int[] cols)

      Deprecated.
      Parameters:
        `m` - Input matrix.
        `cols` - Columns to select.
      Returns:
        Matrix representing the selected columns.

    - #### triu

          private static RealMatrix triu(RealMatrix m,
                        int k)

      Deprecated.
      Parameters:
        `m` - Input matrix.
        `k` - Diagonal position.
      Returns:
        Upper triangular part of matrix.

    - #### sumRows

          private static RealMatrix sumRows(RealMatrix m)

      Deprecated.
      Parameters:
        `m` - Input matrix.
      Returns:
        Row matrix representing the sums of the rows.

    - #### diag

          private static RealMatrix diag(RealMatrix m)

      Deprecated.
      Parameters:
        `m` - Input matrix.
      Returns:
        the diagonal n-by-n matrix if m is a column matrix or the column matrix representing the diagonal if m is a n-by-n matrix.

    - #### copyColumn

          private static void copyColumn(RealMatrix m1,
                        int col1,
                        RealMatrix m2,
                        int col2)

      Deprecated.
      Copies a column from m1 to m2.
      Parameters:
        `m1` - Source matrix.
        `col1` - Source column.
        `m2` - Target matrix.
        `col2` - Target column.

    - #### ones

          private static RealMatrix ones(int n,
                        int m)

      Deprecated.
      Parameters:
        `n` - Number of rows.
        `m` - Number of columns.
      Returns:
        n-by-m matrix filled with 1.

    - #### eye

          private static RealMatrix eye(int n,
                       int m)

      Deprecated.
      Parameters:
        `n` - Number of rows.
        `m` - Number of columns.
      Returns:
        n-by-m matrix of 0 values out of diagonal, and 1 values on the diagonal.

    - #### zeros

          private static RealMatrix zeros(int n,
                         int m)

      Deprecated.
      Parameters:
        `n` - Number of rows.
        `m` - Number of columns.
      Returns:
        n-by-m matrix of zero values.

    - #### repmat

          private static RealMatrix repmat(RealMatrix mat,
                          int n,
                          int m)

      Deprecated.
      Parameters:
        `mat` - Input matrix.
        `n` - Number of row replicates.
        `m` - Number of column replicates.
      Returns:
        a matrix which replicates the input matrix in both directions.

    - #### sequence

          private static RealMatrix sequence(double start,
                            double end,
                            double step)

      Deprecated.
      Parameters:
        `start` - Start value.
        `end` - End value.
        `step` - Step size.
      Returns:
        a sequence as column matrix.

    - #### max

          private static double max(RealMatrix m)

      Deprecated.
      Parameters:
        `m` - Input matrix.
      Returns:
        the maximum of the matrix element values.

    - #### min

          private static double min(RealMatrix m)

      Deprecated.
      Parameters:
        `m` - Input matrix.
      Returns:
        the minimum of the matrix element values.

    - #### max

          private static double max(double[] m)

      Deprecated.
      Parameters:
        `m` - Input array.
      Returns:
        the maximum of the array values.

    - #### min

          private static double min(double[] m)

      Deprecated.
      Parameters:
        `m` - Input array.
      Returns:
        the minimum of the array values.

    - #### inverse

          private static int[] inverse(int[] indices)

      Deprecated.
      Parameters:
        `indices` - Input index array.
      Returns:
        the inverse of the mapping defined by indices.

    - #### reverse

          private static int[] reverse(int[] indices)

      Deprecated.
      Parameters:
        `indices` - Input index array.
      Returns:
        the indices in inverse order (last is first).

    - #### randn

          private double[] randn(int size)

      Deprecated.
      Parameters:
        `size` - Length of random array.
      Returns:
        an array of Gaussian random numbers.

    - #### randn1

          private RealMatrix randn1(int size,
                          int popSize)

      Deprecated.
      Parameters:
        `size` - Number of rows.
        `popSize` - Population size.
      Returns:
        a 2-dimensional matrix of Gaussian random numbers.

Copyright (c) 2003-2013 Apache Software Foundation