class HCL_TrustRegionSolver_d : public HCL_Base

The class HCL_TrustRegionSolver_d is an abstract base clase for algorithms for solving the trust region subproblem:

min q(s) = <g,s> + 1/2<s,Bs> s


Inheritance:


Public Methods

virtual Table& Parameters ()
The method Parameters returns the parameter table of the algorithm
virtual void SetScaling ( HCL_LinearOpAdjInv_d * S )
Alternate version of SetScaling.
virtual void SetScaling ( HCL_LinearOpAdj_d * S, HCL_LinearSolver_d * lsolver )
SetScaling defines a new inner product in terms of a symmetric, positive definite operator S: <x,y> = (x,Sy)
virtual void Solve ( const HCL_LinearOp_d & B, const HCL_Vector_d & g, HCL_Vector_d & p )
The method Solve attempts to compute an approximate solution of the trust region subproblem defined by the inputs of the method
virtual void UnSetScaling ()
UnSetScaling returns the inner product to the default.

Private

Input parameters
double Delta
Initial trust region radius (1.0).
double MinStep
minimum step length, that is, minimum Delta (1.0e-6).
double MaxStep
maximum step length, that is, maximum Delta (1.0e6).
Required output parameters
int TermCode
Termination code
double Multiplier
Lagrange multiplier.
double Reduction
Reduction in the quadratic model.
double StepLength
Length of step taken.

Inherited from HCL_Base:

Public Methods

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

Private Fields

int ReferenceCount

Documentation

The class HCL_TrustRegionSolver_d is an abstract base clase for algorithms for solving the trust region subproblem:

min q(s) = <g,s> + 1/2<s,Bs> s.t. <s,Cs> <= Delta^2

where g is a given vector, B is a symmetric linear operator, and C is a symmetric and positive definite linear operator.

Input parameters

double Delta
Initial trust region radius (1.0).

double MinStep
minimum step length, that is, minimum Delta (1.0e-6).

double MaxStep
maximum step length, that is, maximum Delta (1.0e6).

Required output parameters

int TermCode
Termination code. Possible values are BOUNDARY_SOLUTION 101 INTERIOR_SOLUTION 102 Other values may be added by derived classes.

double Multiplier
Lagrange multiplier.

double Reduction
Reduction in the quadratic model.

double StepLength
Length of step taken.

virtual Table& Parameters()
The method Parameters returns the parameter table of the algorithm. Algorithmic parameters can be accessed via Parameters().GetValue( "name",val ) and changed via Parameters().PutValue( "name",val ).

virtual void SetScaling( HCL_LinearOpAdj_d * S, HCL_LinearSolver_d * lsolver )
SetScaling defines a new inner product in terms of a symmetric, positive definite operator S: <x,y> = (x,Sy)

virtual void SetScaling( HCL_LinearOpAdjInv_d * S )
Alternate version of SetScaling.

virtual void UnSetScaling()
UnSetScaling returns the inner product to the default.

virtual void Solve( const HCL_LinearOp_d & B, const HCL_Vector_d & g, HCL_Vector_d & p )
The method Solve attempts to compute an approximate solution of the trust region subproblem defined by the inputs of the method. Note that the trust region radius Delta must defined through the Parameter method.


Direct child classes:
HCL_TrustRegion_SS_d
HCL_TRCG_d

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