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 TypeFieldDescriptiondoubleCrossing over factor (default 0.9)doubleweight factor (default 0.7)intvariable 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 TypeMethodDescriptionvoidoptimize(MultivariateFunction func, double[] xvec, double tolfx, double tolx) The actual optimization routine (needs to be implemented in a subclass of MultivariateMinimum).voidoptimize(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:MultivariateMinimumThe 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:
optimizein 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:MultivariateMinimumThe actual optimization routine It finds a minimum close to vector x when the absolute tolerance for each parameter is specified.- Overrides:
optimizein 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)
-