Package pal.math
Class ConjugateDirectionSearch
java.lang.Object
pal.math.MultivariateMinimum
pal.math.ConjugateDirectionSearch
methods for minimization of a real-valued function of
several variables without using derivatives (Brent's modification
of a conjugate direction search method proposed by Powell)
- Author:
- Korbinian Strimmer
-
Nested Class Summary
Nested classes/interfaces inherited from class pal.math.MultivariateMinimum
MultivariateMinimum.Factory
-
Field Summary
FieldsModifier and TypeFieldDescriptionboolean
illc should be set to true if the problem is known to be ill-conditioned.int
controls the printed output from the routine (0 -> no output, 1 -> print only starting and final values, 2 -> detailed map of the minimization process, 3 -> print also eigenvalues and vectors of the search directions), the default value is 0double
scbd is a scaling parameter.double
step is a steplength parameter and should be set equal to the expected distance from the solution.Fields inherited from class pal.math.MultivariateMinimum
maxFun, numFun, numFuncStops
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic final MultivariateMinimum.Factory
Generate a MultivariateMinimum.Factory for a ConjugateDirectionSearchvoid
optimize
(MultivariateFunction f, double[] xvector, double tolfx, double tolx) The actual optimization routine (needs to be implemented in a subclass of MultivariateMinimum).void
optimize
(MultivariateFunction f, double[] xvector, 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
-
prin
public int princontrols the printed output from the routine (0 -> no output, 1 -> print only starting and final values, 2 -> detailed map of the minimization process, 3 -> print also eigenvalues and vectors of the search directions), the default value is 0 -
step
public double stepstep is a steplength parameter and should be set equal to the expected distance from the solution. exceptionally small or large values of step lead to slower convergence on the first few iterations the default value for step is 1.0 -
scbd
public double scbdscbd is a scaling parameter. 1.0 is the default and indicates no scaling. if the scales for the different parameters are very different, scbd should be set to a value of about 10.0. -
illc
public boolean illcillc should be set to true if the problem is known to be ill-conditioned. the default is false. this variable is automatically set, when the problem is found to to be ill-conditioned during iterations.
-
-
Constructor Details
-
ConjugateDirectionSearch
public ConjugateDirectionSearch()constructor
-
-
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:
f
- multivariate functionxvector
- 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 f, double[] xvector, 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:
f
- multivariate functionxvector
- 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)
-
generateFactory
Generate a MultivariateMinimum.Factory for a ConjugateDirectionSearch
-