Class DEOptim

  • All Implemented Interfaces:
    Minimizer<OptimProblem,​IterativeSolution<Vector>>, IterativeMinimizer<OptimProblem>, MultivariateMinimizer<OptimProblem,​IterativeSolution<Vector>>, Optimizer<OptimProblem,​IterativeSolution<Vector>>

    public class DEOptim
    extends SimpleGridMinimizer
    Differential Evolution (DE) is a global optimization method. It is a genetic algorithm that iteratively tries to improve a candidate solution with regard to a given measure of quality. DE is used for multidimensional real-valued functions but does not use the gradient of the problem being optimized, which means DE does not require for the optimization problem to be differentiable as is required by classic optimization methods such as gradient descent and quasi-newton methods. DE can therefore also be used on optimization problems that are not even continuous, are noisy, change over time, etc. Comparing to other genetic algorithm optimization methods, the breakthrough of DE is the idea of using vector differences for perturbing the vector population.

    The R equivalent function is DEoptim in package DEoptim.

    See Also:
    • Constructor Detail

      • DEOptim

        public DEOptim​(DEOptim.NewCellFactory factoryCtor,
                       RandomLongGenerator uniform,
                       double epsilon,
                       int maxIterations,
                       int nStableIterations)
        Construct a DEOptim to solve unconstrained minimization problems.
        Parameters:
        factoryCtor - a factory that constructs a new instance of SimpleCellFactory for each problem
        uniform - a uniform random number generator
        epsilon - a precision parameter: when a number |x| ≤ ε, it is considered 0
        maxIterations - the maximum number of iterations
        nStableIterations - The solution is considered converged if the minimum does not change over this many iterations.
      • DEOptim

        public DEOptim​(double Cr,
                       double F,
                       RandomLongGenerator uniform,
                       double epsilon,
                       int maxIterations,
                       int nStableIterations)
        Construct a DEOptim to solve unconstrained minimization problems.
        Parameters:
        Cr - the crossover probability
        F - the scaling factor
        uniform - a uniform random number generator
        epsilon - a precision parameter: when a number |x| ≤ ε, it is considered 0
        maxIterations - the maximum number of iterations
        nStableIterations - The solution is considered converged if the minimum does not change over this many iterations.
      • DEOptim

        public DEOptim​(double Cr,
                       double F,
                       double epsilon,
                       int maxIterations,
                       int nStableIterations)
        Construct a DEOptim to solve unconstrained minimization problems.
        Parameters:
        Cr - the crossover probability
        F - the scaling factor
        epsilon - a precision parameter: when a number |x| ≤ ε, it is considered 0
        maxIterations - the maximum number of iterations
        nStableIterations - The solution is considered converged if the minimum does not change over this many iterations.