pal.math
Class ConjugateDirectionSearch

java.lang.Object
  |
  +--pal.math.MultivariateMinimum
        |
        +--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)


Field Summary
 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.
 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. 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.
 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
 
Fields inherited from class pal.math.MultivariateMinimum
maxFun, numFun, numFuncStops
 
Constructor Summary
ConjugateDirectionSearch()
          constructor
 
Method Summary
 void optimize(MultivariateFunction f, double[] xvector, double tolfx, double tolx)
          The actual optimization routine (needs to be implemented in a subclass of MultivariateMinimum).
 
Methods inherited from class pal.math.MultivariateMinimum
copy, 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.
Overrides:
optimize in class MultivariateMinimum
Following copied from class: pal.math.MultivariateMinimum
Parameters:
f - multivariate function
xvec - 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