pal.math
Class ConjugateDirectionSearch

java.lang.Object
  extended by pal.math.MultivariateMinimum
      extended by pal.math.ConjugateDirectionSearch

public class ConjugateDirectionSearch
extends MultivariateMinimum

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
 boolean illc
          illc should be set to true if the problem is known to be ill-conditioned.
 int prin
          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 0
 double scbd
          scbd is a scaling parameter.
 double step
          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
ConjugateDirectionSearch()
          constructor
 
Method Summary
static MultivariateMinimum.Factory generateFactory()
          Generate a MultivariateMinimum.Factory for a ConjugateDirectionSearch
 void 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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

prin

public int prin
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 0


step

public double step
step 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 scbd
scbd 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 illc
illc 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 Detail

ConjugateDirectionSearch

public ConjugateDirectionSearch()
constructor

Method Detail

optimize

public void optimize(MultivariateFunction f,
                     double[] xvector,
                     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:
f - multivariate function
xvector - 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 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 class MultivariateMinimum
Parameters:
f - multivariate function
xvector - 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)

generateFactory

public static final MultivariateMinimum.Factory generateFactory()
Generate a MultivariateMinimum.Factory for a ConjugateDirectionSearch