MoochoPack : Framework for Large-Scale Optimization Algorithms  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | Protected Member Functions | List of all members
MoochoPack::LineSearch2ndOrderCorrect_StepSetOptions Class Reference

Set options for LineSearch2ndOrderCorrect_Step from an OptionsFromStream object. More...

#include <MoochoPack_LineSearch2ndOrderCorrect_StepSetOptions.hpp>

Inheritance diagram for MoochoPack::LineSearch2ndOrderCorrect_StepSetOptions:
Inheritance graph
[legend]

Public Member Functions

 LineSearch2ndOrderCorrect_StepSetOptions (LineSearch2ndOrderCorrect_Step *target=0, const char opt_grp_name[]="LineSearch2ndOrderCorrect")
 

Protected Member Functions

void setOption (int option_num, const std::string &option_value)
 Overridden from SetOptionsFromStreamNode. More...
 

Detailed Description

Set options for LineSearch2ndOrderCorrect_Step from an OptionsFromStream object.

The default options group name is LineSearch2ndOrderCorrect.

The options group is:

{verbatim} options_group LineSearch2ndOrderCorrect { newton_olevel = PRINT_NOTHING; constr_norm_threshold = 1e-3; constr_incr_ratio = 5.0; after_k_iter = 3; forced_constr_reduction = LESS_X_D; forced_reduct_ratio = 1.0; max_step_ratio = 0.7; max_newton_iter = 3; } {verbatim}

{description} [newton_olevel] This is the output level for the internal newton iterations that compute the second order correction. The value of this is usually determined by default to be compatable with the output level for the whole algorithm. This option does not effect the rest of the output in the LinSearch2ndOrderCorrect step. The output level can be set specifically to the values of: {description} [PRINT_USE_DEFAULT] Let it be determined by overall algorithm print level. [PRINT_NOTHING] No output about the newton iterations is performed. [PRINT_SUMMARY_INFO] A compact summary table is created. [PRINT_STEPS] Print more detailed info about the steps. [PRINT_VECTORS] Also print out calculated vectors. Careful, this could produced a lot of output for large problems. {description} [constr_norm_threshold] See after_k_iter. [after_k_iter] When ||c_k||inf < |constr_norm_threshold| and k >= |after_k_iter| then the second order correction will be considered if full steps are not taken. Having a dual test allows an initail nonoptimal ||c(x)|| = 0 to force a second order correction too early. [forced_constr_reduction] Determines how much the constraint error should be reduced for each SQP iteration. The legal values are: {description} [LESS_X_D] Just find a point where ||c(x_k+d_k+w)|| < ||c(x_k+d_k)||. The algorithm should be able to compute this point in one iteration unless it can't compute a descent direction for ||c(x)||. [LESS_X] Find a point where ||c(x_k+d_k+w)|| < ||c(x_k)||. This is a much more difficult test requirement. If the algorithm can not find an acceptable point in the alotted iterations (see max_newton_iter) then a point ||c(x_k+d_k+w)|| < ||c(x_k+d_k)|| will be accepted if possible. {description} [max_step_ratio] This limits the size of the correction term to be: w = min( 1, |max_step_ratio|/(||w||inf/||d_k||) ) * w. This option keeps the x_k+d_k+w from getting too far away from x_k+d_k in case bad corrections are computed. A value less than one is probably best. [max_newton_iter] Limits the number of newton iterations performed. It may be best to keep this a small number. {description}

Definition at line 111 of file MoochoPack_LineSearch2ndOrderCorrect_StepSetOptions.hpp.

Constructor & Destructor Documentation

MoochoPack::LineSearch2ndOrderCorrect_StepSetOptions::LineSearch2ndOrderCorrect_StepSetOptions ( LineSearch2ndOrderCorrect_Step target = 0,
const char  opt_grp_name[] = "LineSearch2ndOrderCorrect" 
)

Member Function Documentation

void MoochoPack::LineSearch2ndOrderCorrect_StepSetOptions::setOption ( int  option_num,
const std::string &  option_value 
)
protectedvirtual

Overridden from SetOptionsFromStreamNode.

Implements OptionsFromStreamPack::SetOptionsFromStreamNode.


The documentation for this class was generated from the following file: