pal.math
Class DifferentialEvolution

java.lang.Object
  extended bypal.math.MultivariateMinimum
      extended bypal.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)


Nested Class Summary
 
Nested classes inherited from class pal.math.MultivariateMinimum
MultivariateMinimum.Factory
 
Field Summary
 double CR
          Crossing over factor (default 0.9)
 double F
          weight factor (default 0.7)
 int prin
          variable controlling print out, default value = 0 (0 -> no output, 1 -> print final value, 2 -> detailed map of optimization process)
 
Fields inherited from class pal.math.MultivariateMinimum
maxFun, numFun, numFuncStops
 
Constructor Summary
DifferentialEvolution(int dim)
          construct DE optimization modul (population size is selected automatically)
DifferentialEvolution(int dim, int popSize)
          construct optimization modul
 
Method Summary
 void optimize(MultivariateFunction func, double[] xvec, double tolfx, double tolx)
          The actual optimization routine (needs to be implemented in a subclass of MultivariateMinimum).
 void optimize(MultivariateFunction func, double[] xvec, double tolfx, double tolx, MinimiserMonitor monitor)
          The actual optimization routine It finds a minimum close to vector x when the absolute tolerance for each parameter is specified.
 
Methods inherited from class pal.math.MultivariateMinimum
copy, findMinimum, findMinimum, findMinimum, stopCondition
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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)