Package pal.math
Class DifferentialEvolution
java.lang.Object
pal.math.MultivariateMinimum
pal.math.DifferentialEvolution
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
FieldsModifier and TypeFieldDescriptiondouble
Crossing over factor (default 0.9)double
weight factor (default 0.7)int
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
ConstructorsConstructorDescriptionDifferentialEvolution
(int dim) construct DE optimization modul (population size is selected automatically)DifferentialEvolution
(int dim, int popSize) construct optimization modul -
Method Summary
Modifier and TypeMethodDescriptionvoid
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
-
Field Details
-
F
public double Fweight factor (default 0.7) -
CR
public double CRCrossing over factor (default 0.9) -
prin
public int prinvariable 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 vectorpopSize
- population size
-
-
Method Details
-
optimize
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)
-