MoochoPack : Framework for Large-Scale Optimization Algorithms
Version of the Day
|
Set options for LineSearch2ndOrderCorrect_Step from an OptionsFromStream object. More...
#include <MoochoPack_LineSearch2ndOrderCorrect_StepSetOptions.hpp>
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... | |
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.
MoochoPack::LineSearch2ndOrderCorrect_StepSetOptions::LineSearch2ndOrderCorrect_StepSetOptions | ( | LineSearch2ndOrderCorrect_Step * | target = 0 , |
const char | opt_grp_name[] = "LineSearch2ndOrderCorrect" |
||
) |
|
protectedvirtual |
Overridden from SetOptionsFromStreamNode.
Implements OptionsFromStreamPack::SetOptionsFromStreamNode.