class HCL_LineSearch_DS_d : public HCL_LineSearch_d

An implementation of a backtracking line search algorithm using cubic interpolation (See Dennis and Schnabel, "Numerical Methods for Unconstrained Optimization and Nonlinear Equations", Prentice-Hall (1983))

Inheritance:


Public Methods

HCL_LineSearch_DS_d ( char *fname = NULL )
Usual constructor
virtual Table& Parameters () const
Access to the parameter table
virtual void SetScaling ( const HCL_LinearOp_d * S )
SetScaling allows the specification of a different inner product (and hence norm)
virtual void UnSetScaling ()
UnSetScaling causes the line search to use the default inner product
virtual HCL_EvaluateFunctional_d* Search ( HCL_Functional_d & fptr, const HCL_Vector_d & xcur, HCL_Vector_d & xnext, HCL_Vector_d & dir, HCL_EvaluateFunctional_d * xinit_eval)
LineSearch algorithm
virtual ostream& Write ( ostream & str ) const
Prints description of the object

Inherited from HCL_LineSearch_d:

Public

Term codes


Inherited from HCL_Base:

Public Methods

void IncCount() const
void DecCount() const
int Count() const

Documentation

An implementation of a backtracking line search algorithm using cubic interpolation (See Dennis and Schnabel, "Numerical Methods for Unconstrained Optimization and Nonlinear Equations", Prentice-Hall (1983)).

The description of this class differs from the description of the base class HCL_LineSearch_d in only one regard: the second criteria for defining an acceptable step is This prevents short steps by requiring that the slope be increased from its initial (negative) value, although it does not require that the step reach an approximate minimizer. This criterion is sufficient to allow a positive definite update in a BFGS algorithm.

double SlopeDecreaseTol
(9e-1) Slope at approximate minimizer must be positive or be reduced by a factor of SlopeDecreaseTol

double MinStep
(1e-20) minimum step length

double MaxStep
(1e20) maximum step length

int MaxSample
(8) Maximum number of function evaluations to perform

double ZeroDivideTol
(1e-40) Tolerance for divide-by-zero

int DispFlag
(0) DispFlag controls the amount of output sent to the screen during execution of the Search method. The usual choices are 0 --- no output 1 --- a summary at the end of execution 2 --- a summary at each iteration In addition, values of DispFlag greater than 2 may send increasing amount of detail to the screen (this is intended primarily for development use, i.e. for debugging).

int DumpFlag
(0) DumpFlag has exactly the same purpose as DispFlag, except the information is sent to a file, whose name is defined by DumpFile

char DumpFile[81]
(HCL_LineSearch_DS.DumpFile) DumpFile is the name of the file to which results are written (if DumpFlag is positive).

int DispPrecision
(6) DispPrecision gives the number of digits in numbers sent to the screen

int DumpPrecision
(DispPrecision) DumpPrecision gives the number of digits in numbers sent to the file

double BracketIncrease
(2) factor by which to increase step length if initial step is too small

int TermCode
exit status (<0 = no reduction, 0 = success, >0 = reduction, but failed)

int MaxTkn
maximum step size taken? (1 = taken, 0 = not taken)

HCL_LineSearch_DS_d( char *fname = NULL )
Usual constructor
Parameters:
fname - Parameter file name or NULL

virtual Table& Parameters() const
Access to the parameter table

virtual void SetScaling( const HCL_LinearOp_d * S )
SetScaling allows the specification of a different inner product (and hence norm). Instead of , the scaled inner product will be used, where is a symmetric positive definite operator. Through this method, a line search can be made consistent with a minimization algorithm which scales the norm.

virtual void UnSetScaling()
UnSetScaling causes the line search to use the default inner product

virtual HCL_EvaluateFunctional_d* Search( HCL_Functional_d & fptr, const HCL_Vector_d & xcur, HCL_Vector_d & xnext, HCL_Vector_d & dir, HCL_EvaluateFunctional_d * xinit_eval)
LineSearch algorithm. Returns an evaluation object for the final point or NULL, depending on whether the line search was successful or not. The Parameter TermCode contains the exit status.

Parameters:
fptr - function
xcur - starting point, on successful completion, this will hold the computed minimum
dir - starting direction
xinit_eval - evaluation object for starting point

virtual ostream& Write( ostream & str ) const
Prints description of the object


This class has no child classes.

alphabetic index hierarchy of classes


this page has been generated automatically by doc++

(c)opyright by Malte Zöckler, Roland Wunderling
contact: doc++@zib.de