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
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class pal.math.MultivariateMinimum
MultivariateMinimum.Factory
-
-
Field Summary
Fields Modifier and Type Field Description 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
Constructors Constructor Description DifferentialEvolution(int dim)
construct DE optimization modul (population size is selected automatically)DifferentialEvolution(int dim, int popSize)
construct optimization modul
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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
-
-
-
-
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 vectorpopSize
- 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 classMultivariateMinimum
- Parameters:
func
- multivariate functionxvec
- initial guesses for the minimum (contains the location of the minimum on return)tolfx
- absolute tolerance of function valuetolx
- 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 classMultivariateMinimum
- Parameters:
func
- multivariate functionxvec
- initial guesses for the minimum (contains the location of the minimum on return)tolfx
- absolute tolerance of function valuetolx
- absolute tolerance of each parametermonitor
- A monitor object that receives information about the minimising process (for display purposes)
-
-