Package pal.math

Class DifferentialEvolution

java.lang.Object
pal.math.MultivariateMinimum
pal.math.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 Details

    • 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 Details

    • 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 Details

    • 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)