- 3.0.2 optimal control module.
|
GNMS Line Search Settings. More...
#include <NLOptConSettings.hpp>
Public Types | |
enum | TYPE { NONE = 0, SIMPLE, ARMIJO, GOLDSTEIN, NUM_TYPES } |
types of backtracking line-search More... | |
Public Member Functions | |
LineSearchSettings () | |
default constructor for the NLOptCon line-search settings More... | |
bool | parametersOk () const |
check if the currently set line-search parameters are meaningful More... | |
void | print () const |
print the current line search settings to console More... | |
void | load (const std::string &filename, bool verbose=true, const std::string &ns="line_search") |
load line search settings from file More... | |
Public Attributes | |
std::map< TYPE, std::string > | lineSearchTypeToString |
mappings for line-search types More... | |
std::map< std::string, TYPE > | stringToLineSearchType |
TYPE | type |
bool | adaptive |
size_t | maxIterations |
double | alpha_0 |
double | alpha_max |
double | n_alpha |
double | armijo_parameter |
bool | debugPrint |
GNMS Line Search Settings.
The Line Search Settings are part of the general settings struct and hold parameters to customize the line-search for the NLOptCon controller update.
|
inline |
default constructor for the NLOptCon line-search settings
|
inline |
check if the currently set line-search parameters are meaningful
References alpha_0, alpha_max, and n_alpha.
Referenced by ct::optcon::NLOptConSettings::parametersOk().
|
inline |
print the current line search settings to console
Referenced by load(), ct::optcon::NLOptConSettings::load(), and ct::optcon::NLOptConSettings::print().
|
inline |
load line search settings from file
References alpha_0, n_alpha, print(), and ct::optcon::example::verbose.
Referenced by ct::optcon::NLOptConSettings::load().
std::map<TYPE, std::string> ct::optcon::LineSearchSettings::lineSearchTypeToString |
std::map<std::string, TYPE> ct::optcon::LineSearchSettings::stringToLineSearchType |
TYPE ct::optcon::LineSearchSettings::type |
type of line search
Referenced by ct::optcon::NLOCBackendBase< STATE_DIM, CONTROL_DIM, P_DIM, V_DIM, SCALAR, CONTINUOUS >::acceptStep(), ct::optcon::NLOCBackendBase< STATE_DIM, CONTROL_DIM, P_DIM, V_DIM, SCALAR, CONTINUOUS >::changeCostFunction(), ct::optcon::NLOCBackendBase< STATE_DIM, CONTROL_DIM, P_DIM, V_DIM, SCALAR, CONTINUOUS >::changeGeneralConstraints(), ct::optcon::NLOCBackendBase< STATE_DIM, CONTROL_DIM, P_DIM, V_DIM, SCALAR, CONTINUOUS >::changeInputBoxConstraints(), ct::optcon::NLOCBackendBase< STATE_DIM, CONTROL_DIM, P_DIM, V_DIM, SCALAR, CONTINUOUS >::changeStateBoxConstraints(), generateSolver(), ct::optcon::NLOCBackendBase< STATE_DIM, CONTROL_DIM, P_DIM, V_DIM, SCALAR, CONTINUOUS >::lineSearch(), main(), ct::optcon::example::symplecticTest(), and ct::optcon::example::TEST().
bool ct::optcon::LineSearchSettings::adaptive |
Flag whether alpha_0 gets updated based on previous iteration
size_t ct::optcon::LineSearchSettings::maxIterations |
Maximum number of iterations during line search
Referenced by ct::optcon::NLOCBackendST< STATE_DIM, CONTROL_DIM, P_DIM, V_DIM, SCALAR, CONTINUOUS >::performLineSearch(), and ct::optcon::NLOCBackendMP< STATE_DIM, CONTROL_DIM, P_DIM, V_DIM, SCALAR, CONTINUOUS >::performLineSearch().
double ct::optcon::LineSearchSettings::alpha_0 |
Initial step size for line search. Use 1 for step size as suggested by NLOptCon
Referenced by load(), parametersOk(), ct::optcon::NLOCBackendST< STATE_DIM, CONTROL_DIM, P_DIM, V_DIM, SCALAR, CONTINUOUS >::performLineSearch(), and ct::optcon::NLOCBackendMP< STATE_DIM, CONTROL_DIM, P_DIM, V_DIM, SCALAR, CONTINUOUS >::performLineSearch().
double ct::optcon::LineSearchSettings::alpha_max |
Maximum step size for line search. This is the limit when adapting alpha_0.
Referenced by parametersOk().
double ct::optcon::LineSearchSettings::n_alpha |
Factor by which the step size alpha gets scaled after each iteration. Usually 0.5 is a good value.
Referenced by load(), parametersOk(), ct::optcon::NLOCBackendST< STATE_DIM, CONTROL_DIM, P_DIM, V_DIM, SCALAR, CONTINUOUS >::performLineSearch(), and ct::optcon::NLOCBackendMP< STATE_DIM, CONTROL_DIM, P_DIM, V_DIM, SCALAR, CONTINUOUS >::performLineSearch().
double ct::optcon::LineSearchSettings::armijo_parameter |
"Control Parameter" in Armijo line search condition.
Referenced by ct::optcon::NLOCBackendBase< STATE_DIM, CONTROL_DIM, P_DIM, V_DIM, SCALAR, CONTINUOUS >::acceptStep().
bool ct::optcon::LineSearchSettings::debugPrint |
Print out debug information during line-search
Referenced by ct::optcon::NLOCBackendBase< STATE_DIM, CONTROL_DIM, P_DIM, V_DIM, SCALAR, CONTINUOUS >::lineSearch(), main(), ct::optcon::NLOCBackendST< STATE_DIM, CONTROL_DIM, P_DIM, V_DIM, SCALAR, CONTINUOUS >::performLineSearch(), ct::optcon::NLOCBackendMP< STATE_DIM, CONTROL_DIM, P_DIM, V_DIM, SCALAR, CONTINUOUS >::performLineSearch(), and ct::optcon::example::TEST().