26 #include "ipopt_interface.hpp"
33 "When in warmstart mode, output NLPSOL_LAM_X may be used as input\n"
35 "NOTE: Even when max_iter == 0, it is not guaranteed that \n"
36 "input(NLPSOL_X0) == output(NLPSOL_X). Indeed if bounds on X or \n"
37 "constraints are unmet, they will differ.\n"
39 "For a good tutorial on IPOPT, see https://drops.dagstuhl.de/storage/16dagstuhl-seminar-proceedings/dsp-\n"
40 "vol09061/DagSemProc.09061.16/DagSemProc.09061.16.pdf \n"
42 "A good resource about the algorithms in IPOPT is: Wachter and L. T. \n"
43 "Biegler, On the Implementation of an Interior-Point Filter Line-Search\n"
44 " Algorithm for Large-Scale Nonlinear Programming, Mathematical \n"
45 "Programming 106(1), pp. 25-57, 2006 (As Research Report RC 23149, IBM \n"
46 "T. J. Watson Research Center, Yorktown, USA\n"
49 "with default options, multipliers for the decision variables are wrong\n"
50 " for equality constraints. Change the 'fixed_variable_treatment' to \n"
51 "'make_constraint' or 'relax_bounds' to obtain correct results.\n"
53 "Extra doc: https://github.com/casadi/casadi/wiki/L_21y \n"
57 ">List of available options\n"
59 "+--------------------------+---------------+-------------------------------+\n"
60 "| Id | Type | Description |\n"
61 "+==========================+===============+===============================+\n"
62 "| clip_inactive_lam | OT_BOOL | Explicitly set Lagrange |\n"
63 "| | | multipliers to 0 when bound |\n"
64 "| | | is deemed inactive (default: |\n"
66 "+--------------------------+---------------+-------------------------------+\n"
67 "| con_integer_md | OT_DICT | Integer metadata (a |\n"
68 "| | | dictionary with lists of |\n"
69 "| | | integers) about constraints |\n"
70 "| | | to be passed to IPOPT |\n"
71 "+--------------------------+---------------+-------------------------------+\n"
72 "| con_numeric_md | OT_DICT | Numeric metadata (a |\n"
73 "| | | dictionary with lists of |\n"
74 "| | | reals) about constraints to |\n"
75 "| | | be passed to IPOPT |\n"
76 "+--------------------------+---------------+-------------------------------+\n"
77 "| con_string_md | OT_DICT | String metadata (a dictionary |\n"
78 "| | | with lists of strings) about |\n"
79 "| | | constraints to be passed to |\n"
81 "+--------------------------+---------------+-------------------------------+\n"
82 "| convexify_margin | OT_DOUBLE | When using a convexification |\n"
83 "| | | strategy, make sure that the |\n"
84 "| | | smallest eigenvalue is at |\n"
85 "| | | least this (default: 1e-7). |\n"
86 "+--------------------------+---------------+-------------------------------+\n"
87 "| convexify_strategy | OT_STRING | NONE|regularize|eigen- |\n"
88 "| | | reflect|eigen-clip. Strategy |\n"
89 "| | | to convexify the Lagrange |\n"
90 "| | | Hessian before passing it to |\n"
91 "| | | the solver. |\n"
92 "+--------------------------+---------------+-------------------------------+\n"
93 "| grad_f | OT_FUNCTION | Function for calculating the |\n"
94 "| | | gradient of the objective |\n"
95 "| | | (column, autogenerated by |\n"
97 "+--------------------------+---------------+-------------------------------+\n"
98 "| hess_lag | OT_FUNCTION | Function for calculating the |\n"
99 "| | | Hessian of the Lagrangian |\n"
100 "| | | (autogenerated by default) |\n"
101 "+--------------------------+---------------+-------------------------------+\n"
102 "| inactive_lam_strategy | OT_STRING | Strategy to detect if a bound |\n"
103 "| | | is inactive. RELTOL: use |\n"
104 "| | | solver-defined constraint |\n"
105 "| | | tolerance * |\n"
106 "| | | inactive_lam_value|abstol: |\n"
107 "| | | use inactive_lam_value |\n"
108 "+--------------------------+---------------+-------------------------------+\n"
109 "| inactive_lam_value | OT_DOUBLE | Value used in |\n"
110 "| | | inactive_lam_strategy |\n"
111 "| | | (default: 10). |\n"
112 "+--------------------------+---------------+-------------------------------+\n"
113 "| ipopt | OT_DICT | Options to be passed to IPOPT |\n"
114 "+--------------------------+---------------+-------------------------------+\n"
115 "| jac_g | OT_FUNCTION | Function for calculating the |\n"
116 "| | | Jacobian of the constraints |\n"
117 "| | | (autogenerated by default) |\n"
118 "+--------------------------+---------------+-------------------------------+\n"
119 "| max_iter_eig | OT_DOUBLE | Maximum number of iterations |\n"
120 "| | | to compute an eigenvalue |\n"
121 "| | | decomposition (default: 50). |\n"
122 "+--------------------------+---------------+-------------------------------+\n"
123 "| nonlinear_variables | OT_BOOLVECTOR | Which decision variables |\n"
124 "| | | enter nonlinearly? (detected |\n"
125 "| | | automatically by default) |\n"
126 "+--------------------------+---------------+-------------------------------+\n"
127 "| pass_nonlinear_variables | OT_BOOL | Pass list of variables |\n"
128 "| | | entering nonlinearly to IPOPT |\n"
129 "+--------------------------+---------------+-------------------------------+\n"
130 "| var_integer_md | OT_DICT | Integer metadata (a |\n"
131 "| | | dictionary with lists of |\n"
132 "| | | integers) about variables to |\n"
133 "| | | be passed to IPOPT |\n"
134 "+--------------------------+---------------+-------------------------------+\n"
135 "| var_numeric_md | OT_DICT | Numeric metadata (a |\n"
136 "| | | dictionary with lists of |\n"
137 "| | | reals) about variables to be |\n"
138 "| | | passed to IPOPT |\n"
139 "+--------------------------+---------------+-------------------------------+\n"
140 "| var_string_md | OT_DICT | String metadata (a dictionary |\n"
141 "| | | with lists of strings) about |\n"
142 "| | | variables to be passed to |\n"
144 "+--------------------------+---------------+-------------------------------+\n"
static const std::string meta_doc
A documentation string.