ConstrainedOptPack: C++ Tools for Constrained (and Unconstrained) Optimization
Version of the Day
|
Performs a line search using the Armijo condition and uses quadratic interpolation to select each new alpha. More...
#include <ConstrainedOptPack_DirectLineSearchArmQuad_Strategy.hpp>
Public Member Functions | |
STANDARD_MEMBER_COMPOSITION_MEMBERS (value_type, eta) | |
Set the Armijo cord test fractional reduction parameter. More... | |
STANDARD_MEMBER_COMPOSITION_MEMBERS (value_type, min_frac) | |
The minimum fraction that alpha is reduced for each line search iteration. More... | |
STANDARD_MEMBER_COMPOSITION_MEMBERS (value_type, max_frac) | |
The maximum fraction that alpha is reduced for each line search iteration. More... | |
STANDARD_MEMBER_COMPOSITION_MEMBERS (bool, max_out_iter) | |
Deterimine if the line search iterations are maxed out or not. More... | |
DirectLineSearchArmQuad_Strategy (int max_iter=20, value_type eta=1.0e-4, value_type min_frac=0.1, value_type max_frac=0.5, bool max_out_iter=false) | |
Constructs with default settings. More... | |
Public Member Functions inherited from ConstrainedOptPack::DirectLineSearch_Strategy | |
virtual | ~DirectLineSearch_Strategy () |
Overridden from DirectLineSearch_Strategy | |
void | set_max_iter (int max_iter) |
int | max_iter () const |
int | num_iterations () const |
bool | do_line_search (const MeritFuncCalc1D &phi, value_type phi_k, value_type *alpha_k, value_type *phi_kp1, std::ostream *out) |
Performs the following line search: More... | |
void | print_algorithm (std::ostream &out, const std::string &leading_str) const |
Performs a line search using the Armijo condition and uses quadratic interpolation to select each new alpha.
Definition at line 53 of file ConstrainedOptPack_DirectLineSearchArmQuad_Strategy.hpp.
ConstrainedOptPack::DirectLineSearchArmQuad_Strategy::DirectLineSearchArmQuad_Strategy | ( | int | max_iter = 20 , |
value_type | eta = 1.0e-4 , |
||
value_type | min_frac = 0.1 , |
||
value_type | max_frac = 0.5 , |
||
bool | max_out_iter = false |
||
) |
Constructs with default settings.
Definition at line 59 of file ConstrainedOptPack_DirectLineSearchArmQuad_Strategy.cpp.
ConstrainedOptPack::DirectLineSearchArmQuad_Strategy::STANDARD_MEMBER_COMPOSITION_MEMBERS | ( | value_type | , |
eta | |||
) |
Set the Armijo cord test fractional reduction parameter.
ConstrainedOptPack::DirectLineSearchArmQuad_Strategy::STANDARD_MEMBER_COMPOSITION_MEMBERS | ( | value_type | , |
min_frac | |||
) |
The minimum fraction that alpha is reduced for each line search iteration.
ConstrainedOptPack::DirectLineSearchArmQuad_Strategy::STANDARD_MEMBER_COMPOSITION_MEMBERS | ( | value_type | , |
max_frac | |||
) |
The maximum fraction that alpha is reduced for each line search iteration.
ConstrainedOptPack::DirectLineSearchArmQuad_Strategy::STANDARD_MEMBER_COMPOSITION_MEMBERS | ( | bool | , |
max_out_iter | |||
) |
Deterimine if the line search iterations are maxed out or not.
This option is really only used for debugging and requires changing the other parameters to make it useful.
|
virtual |
Implements ConstrainedOptPack::DirectLineSearch_Strategy.
Definition at line 73 of file ConstrainedOptPack_DirectLineSearchArmQuad_Strategy.cpp.
|
virtual |
Implements ConstrainedOptPack::DirectLineSearch_Strategy.
Definition at line 78 of file ConstrainedOptPack_DirectLineSearchArmQuad_Strategy.cpp.
|
virtual |
Implements ConstrainedOptPack::DirectLineSearch_Strategy.
Definition at line 83 of file ConstrainedOptPack_DirectLineSearchArmQuad_Strategy.cpp.
|
virtual |
Performs the following line search:
num_iter = 0; while( phi.value(alpha_k) > phi_k + eta * alpha_k * phi.deriv() ) { if(num_iter >= max_iter) return true; num_iter = num_iter + 1; alpha_k = [ min_frac * alpha_k <= quadradic interpolation for alpha <= max_frac * alpha_k ]; } return true;<br>
If the maximum number of iterations is exceeded then false will be returned.
The default values for the adjustable parameters (from D&S A6.3.1) are:
max_iter = 20
eta = 1.0e-4
min_frac = 0.1
max_frac = 0.5
Implements ConstrainedOptPack::DirectLineSearch_Strategy.
Definition at line 88 of file ConstrainedOptPack_DirectLineSearchArmQuad_Strategy.cpp.
|
virtual |
Reimplemented from ConstrainedOptPack::DirectLineSearch_Strategy.
Definition at line 214 of file ConstrainedOptPack_DirectLineSearchArmQuad_Strategy.cpp.