26 #include "qpoases_interface.hpp"
33 "Interface to QPOases Solver for quadratic programming \n"
37 " Extra doc: https://github.com/casadi/casadi/wiki/L_22o \n"
43 ">List of available options\n"
45 "+-------------------------------+-----------+------------------------------+\n"
46 "| Id | Type | Description |\n"
47 "+===============================+===========+==============================+\n"
48 "| CPUtime | OT_DOUBLE | The maximum allowed CPU time |\n"
49 "| | | in seconds for the whole |\n"
50 "| | | initialisation (and the |\n"
51 "| | | actually required one on |\n"
52 "| | | output). Disabled if unset. |\n"
53 "+-------------------------------+-----------+------------------------------+\n"
54 "| boundRelaxation | OT_DOUBLE | Initial relaxation of bounds |\n"
55 "| | | to start homotopy and |\n"
56 "| | | initial value for far |\n"
58 "+-------------------------------+-----------+------------------------------+\n"
59 "| boundTolerance | OT_DOUBLE | If upper and lower bounds |\n"
60 "| | | differ less than this |\n"
61 "| | | tolerance, they are regarded |\n"
62 "| | | equal, i.e. as equality |\n"
63 "| | | constraint. |\n"
64 "+-------------------------------+-----------+------------------------------+\n"
65 "| enableCholeskyRefactorisation | OT_INT | Specifies the frequency of a |\n"
66 "| | | full re-factorisation of |\n"
67 "| | | projected Hessian matrix: 0: |\n"
68 "| | | turns them off, 1: uses them |\n"
69 "| | | at each iteration etc. |\n"
70 "+-------------------------------+-----------+------------------------------+\n"
71 "| enableDriftCorrection | OT_INT | Specifies the frequency of |\n"
72 "| | | drift corrections: 0: turns |\n"
74 "+-------------------------------+-----------+------------------------------+\n"
75 "| enableEqualities | OT_BOOL | Specifies whether equalities |\n"
76 "| | | should be treated as always |\n"
77 "| | | active (True) or not (False) |\n"
78 "+-------------------------------+-----------+------------------------------+\n"
79 "| enableFarBounds | OT_BOOL | Enables the use of far |\n"
81 "+-------------------------------+-----------+------------------------------+\n"
82 "| enableFlippingBounds | OT_BOOL | Enables the use of flipping |\n"
84 "+-------------------------------+-----------+------------------------------+\n"
85 "| enableFullLITests | OT_BOOL | Enables condition-hardened |\n"
86 "| | | (but more expensive) LI |\n"
88 "+-------------------------------+-----------+------------------------------+\n"
89 "| enableInertiaCorrection | OT_BOOL | Should working set be |\n"
90 "| | | repaired when negative |\n"
91 "| | | curvature is discovered |\n"
92 "| | | during hotstart. |\n"
93 "+-------------------------------+-----------+------------------------------+\n"
94 "| enableNZCTests | OT_BOOL | Enables nonzero curvature |\n"
96 "+-------------------------------+-----------+------------------------------+\n"
97 "| enableRamping | OT_BOOL | Enables ramping. |\n"
98 "+-------------------------------+-----------+------------------------------+\n"
99 "| enableRegularisation | OT_BOOL | Enables automatic Hessian |\n"
100 "| | | regularisation. |\n"
101 "+-------------------------------+-----------+------------------------------+\n"
102 "| epsDen | OT_DOUBLE | Denominator tolerance for |\n"
103 "| | | ratio tests. |\n"
104 "+-------------------------------+-----------+------------------------------+\n"
105 "| epsFlipping | OT_DOUBLE | Tolerance of squared |\n"
106 "| | | Cholesky diagonal factor |\n"
107 "| | | which triggers flipping |\n"
109 "+-------------------------------+-----------+------------------------------+\n"
110 "| epsIterRef | OT_DOUBLE | Early termination tolerance |\n"
111 "| | | for iterative refinement. |\n"
112 "+-------------------------------+-----------+------------------------------+\n"
113 "| epsLITests | OT_DOUBLE | Tolerance for linear |\n"
114 "| | | independence tests. |\n"
115 "+-------------------------------+-----------+------------------------------+\n"
116 "| epsNZCTests | OT_DOUBLE | Tolerance for nonzero |\n"
117 "| | | curvature tests. |\n"
118 "+-------------------------------+-----------+------------------------------+\n"
119 "| epsNum | OT_DOUBLE | Numerator tolerance for |\n"
120 "| | | ratio tests. |\n"
121 "+-------------------------------+-----------+------------------------------+\n"
122 "| epsRegularisation | OT_DOUBLE | Scaling factor of identity |\n"
123 "| | | matrix used for Hessian |\n"
124 "| | | regularisation. |\n"
125 "+-------------------------------+-----------+------------------------------+\n"
126 "| finalRamping | OT_DOUBLE | Final value for ramping |\n"
127 "| | | strategy. |\n"
128 "+-------------------------------+-----------+------------------------------+\n"
129 "| growFarBounds | OT_DOUBLE | Factor to grow far bounds. |\n"
130 "+-------------------------------+-----------+------------------------------+\n"
131 "| hessian_type | OT_STRING | Type of Hessian - see |\n"
132 "| | | qpOASES documentation [UNKNO |\n"
133 "| | | WN|posdef|semidef|indef|zero |\n"
134 "| | | |identity]] |\n"
135 "+-------------------------------+-----------+------------------------------+\n"
136 "| initialFarBounds | OT_DOUBLE | Initial size for far bounds. |\n"
137 "+-------------------------------+-----------+------------------------------+\n"
138 "| initialRamping | OT_DOUBLE | Start value for ramping |\n"
139 "| | | strategy. |\n"
140 "+-------------------------------+-----------+------------------------------+\n"
141 "| initialStatusBounds | OT_STRING | Initial status of bounds at |\n"
142 "| | | first iteration. |\n"
143 "+-------------------------------+-----------+------------------------------+\n"
144 "| linsol_plugin | OT_STRING | Linear solver plugin |\n"
145 "+-------------------------------+-----------+------------------------------+\n"
146 "| maxDualJump | OT_DOUBLE | Maximum allowed jump in dual |\n"
147 "| | | variables in linear |\n"
148 "| | | independence tests. |\n"
149 "+-------------------------------+-----------+------------------------------+\n"
150 "| maxPrimalJump | OT_DOUBLE | Maximum allowed jump in |\n"
151 "| | | primal variables in nonzero |\n"
152 "| | | curvature tests. |\n"
153 "+-------------------------------+-----------+------------------------------+\n"
154 "| max_schur | OT_INT | Maximal number of Schur |\n"
155 "| | | updates [75] |\n"
156 "+-------------------------------+-----------+------------------------------+\n"
157 "| nWSR | OT_INT | The maximum number of |\n"
158 "| | | working set recalculations |\n"
159 "| | | to be performed during the |\n"
160 "| | | initial homotopy. Default is |\n"
161 "| | | 5(nx + nc) |\n"
162 "+-------------------------------+-----------+------------------------------+\n"
163 "| numRefinementSteps | OT_INT | Maximum number of iterative |\n"
164 "| | | refinement steps. |\n"
165 "+-------------------------------+-----------+------------------------------+\n"
166 "| numRegularisationSteps | OT_INT | Maximum number of successive |\n"
167 "| | | regularisation steps. |\n"
168 "+-------------------------------+-----------+------------------------------+\n"
169 "| printLevel | OT_STRING | Defines the amount of text |\n"
170 "| | | output during QP solution, |\n"
171 "| | | see Section 5.7 |\n"
172 "+-------------------------------+-----------+------------------------------+\n"
173 "| schur | OT_BOOL | Use Schur Complement |\n"
174 "| | | Approach [false] |\n"
175 "+-------------------------------+-----------+------------------------------+\n"
176 "| sparse | OT_BOOL | Formulate the QP using |\n"
177 "| | | sparse matrices. [false] |\n"
178 "+-------------------------------+-----------+------------------------------+\n"
179 "| terminationTolerance | OT_DOUBLE | Relative termination |\n"
180 "| | | tolerance to stop homotopy. |\n"
181 "+-------------------------------+-----------+------------------------------+\n"
static const std::string meta_doc
A documentation string.