Package pal.math

Class DifferentialEvolution


  • public class DifferentialEvolution
    extends MultivariateMinimum
    global minimization of a real-valued function of several variables without using derivatives using a genetic algorithm (Differential Evolution)
    Author:
    Korbinian Strimmer
    • Field Detail

      • F

        public double F
        weight factor (default 0.7)
      • CR

        public double CR
        Crossing over factor (default 0.9)
      • prin

        public int prin
        variable controlling print out, default value = 0 (0 -> no output, 1 -> print final value, 2 -> detailed map of optimization process)
    • Constructor Detail

      • DifferentialEvolution

        public DifferentialEvolution​(int dim)
        construct DE optimization modul (population size is selected automatically)

        DE web page: http://www.icsi.berkeley.edu/~storn/code.html

        Parameters:
        dim - dimension of optimization vector
      • DifferentialEvolution

        public DifferentialEvolution​(int dim,
                                     int popSize)
        construct optimization modul
        Parameters:
        dim - dimension of optimization vector
        popSize - population size
    • Method Detail

      • optimize

        public void optimize​(MultivariateFunction func,
                             double[] xvec,
                             double tolfx,
                             double tolx)
        Description copied from class: MultivariateMinimum
        The actual optimization routine (needs to be implemented in a subclass of MultivariateMinimum). It finds a minimum close to vector x when the absolute tolerance for each parameter is specified.
        Specified by:
        optimize in class MultivariateMinimum
        Parameters:
        func - multivariate function
        xvec - initial guesses for the minimum (contains the location of the minimum on return)
        tolfx - absolute tolerance of function value
        tolx - absolute tolerance of each parameter
      • optimize

        public void optimize​(MultivariateFunction func,
                             double[] xvec,
                             double tolfx,
                             double tolx,
                             MinimiserMonitor monitor)
        Description copied from class: MultivariateMinimum
        The actual optimization routine It finds a minimum close to vector x when the absolute tolerance for each parameter is specified.
        Overrides:
        optimize in class MultivariateMinimum
        Parameters:
        func - multivariate function
        xvec - initial guesses for the minimum (contains the location of the minimum on return)
        tolfx - absolute tolerance of function value
        tolx - absolute tolerance of each parameter
        monitor - A monitor object that receives information about the minimising process (for display purposes)