feasiblesqpmethod_meta.cpp
1 /*
2  * This file is part of CasADi.
3  *
4  * CasADi -- A symbolic framework for dynamic optimization.
5  * Copyright (C) 2010-2023 Joel Andersson, Joris Gillis, Moritz Diehl,
6  * KU Leuven. All rights reserved.
7  * Copyright (C) 2011-2014 Greg Horn
8  *
9  * CasADi is free software; you can redistribute it and/or
10  * modify it under the terms of the GNU Lesser General Public
11  * License as published by the Free Software Foundation; either
12  * version 3 of the License, or (at your option) any later version.
13  *
14  * CasADi is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17  * Lesser General Public License for more details.
18  *
19  * You should have received a copy of the GNU Lesser General Public
20  * License along with CasADi; if not, write to the Free Software
21  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
22  *
23  */
24 
25 
26  #include "feasiblesqpmethod.hpp"
27  #include <string>
28 
29  const std::string casadi::Feasiblesqpmethod::meta_doc=
30  "\n"
31 "\n"
32 "A textbook FeasibleSQPMethod\n"
33 "\n"
34 "Extra doc: https://github.com/casadi/casadi/wiki/L_241 \n"
35 "\n"
36 "\n"
37 ">List of available options\n"
38 "\n"
39 "+----------------------------+-----------------+---------------------------+\n"
40 "| Id | Type | Description |\n"
41 "+============================+=================+===========================+\n"
42 "| anderson_memory | OT_INT | Anderson memory. If |\n"
43 "| | | Anderson is used default |\n"
44 "| | | is 1, else default is 0. |\n"
45 "+----------------------------+-----------------+---------------------------+\n"
46 "| contraction_acceptance_val | OT_DOUBLE | If the empirical |\n"
47 "| ue | | contraction rate in the |\n"
48 "| | | feasibility iterations is |\n"
49 "| | | above this value in the |\n"
50 "| | | heuristics the iterations |\n"
51 "| | | are aborted. |\n"
52 "+----------------------------+-----------------+---------------------------+\n"
53 "| convexify_margin | OT_DOUBLE | When using a |\n"
54 "| | | convexification strategy, |\n"
55 "| | | make sure that the |\n"
56 "| | | smallest eigenvalue4 is |\n"
57 "| | | at least this (default: |\n"
58 "| | | 1e-7). |\n"
59 "+----------------------------+-----------------+---------------------------+\n"
60 "| convexify_strategy | OT_STRING | NONE|regularize|eigen- |\n"
61 "| | | reflect|eigen-clip. |\n"
62 "| | | Strategy to convexify the |\n"
63 "| | | Lagrange Hessian before |\n"
64 "| | | passing it to the solver. |\n"
65 "+----------------------------+-----------------+---------------------------+\n"
66 "| f | OT_FUNCTION | Function for calculating |\n"
67 "| | | the objective function |\n"
68 "| | | (autogenerated by |\n"
69 "| | | default) |\n"
70 "+----------------------------+-----------------+---------------------------+\n"
71 "| feas_tol | OT_DOUBLE | Feasibility tolerance. |\n"
72 "| | | Below this tolerance an |\n"
73 "| | | iterate is considered to |\n"
74 "| | | be feasible. |\n"
75 "+----------------------------+-----------------+---------------------------+\n"
76 "| g | OT_FUNCTION | Function for calculating |\n"
77 "| | | the constraints |\n"
78 "| | | (autogenerated by |\n"
79 "| | | default) |\n"
80 "+----------------------------+-----------------+---------------------------+\n"
81 "| grad_f | OT_FUNCTION | Function for calculating |\n"
82 "| | | the gradient of the |\n"
83 "| | | objective (autogenerated |\n"
84 "| | | by default) |\n"
85 "+----------------------------+-----------------+---------------------------+\n"
86 "| hess_lag | OT_FUNCTION | Function for calculating |\n"
87 "| | | the Hessian of the |\n"
88 "| | | Lagrangian (autogenerated |\n"
89 "| | | by default) |\n"
90 "+----------------------------+-----------------+---------------------------+\n"
91 "| hessian_approximation | OT_STRING | limited-memory|exact |\n"
92 "+----------------------------+-----------------+---------------------------+\n"
93 "| init_feasible | OT_BOOL | Initialize the QP |\n"
94 "| | | subproblems with a |\n"
95 "| | | feasible initial value |\n"
96 "| | | (default: false). |\n"
97 "+----------------------------+-----------------+---------------------------+\n"
98 "| jac_g | OT_FUNCTION | Function for calculating |\n"
99 "| | | the Jacobian of the |\n"
100 "| | | constraints |\n"
101 "| | | (autogenerated by |\n"
102 "| | | default) |\n"
103 "+----------------------------+-----------------+---------------------------+\n"
104 "| lbfgs_memory | OT_INT | Size of L-BFGS memory. |\n"
105 "+----------------------------+-----------------+---------------------------+\n"
106 "| max_inner_iter | OT_DOUBLE | Maximum number of inner |\n"
107 "| | | iterations. |\n"
108 "+----------------------------+-----------------+---------------------------+\n"
109 "| max_iter | OT_INT | Maximum number of SQP |\n"
110 "| | | iterations |\n"
111 "+----------------------------+-----------------+---------------------------+\n"
112 "| max_iter_eig | OT_DOUBLE | Maximum number of |\n"
113 "| | | iterations to compute an |\n"
114 "| | | eigenvalue decomposition |\n"
115 "| | | (default: 50). |\n"
116 "+----------------------------+-----------------+---------------------------+\n"
117 "| merit_memory | OT_INT | Size of memory to store |\n"
118 "| | | history of merit function |\n"
119 "| | | values |\n"
120 "+----------------------------+-----------------+---------------------------+\n"
121 "| min_iter | OT_INT | Minimum number of SQP |\n"
122 "| | | iterations |\n"
123 "+----------------------------+-----------------+---------------------------+\n"
124 "| optim_tol | OT_DOUBLE | Optimality tolerance. |\n"
125 "| | | Below this value an |\n"
126 "| | | iterate is considered to |\n"
127 "| | | be optimal. |\n"
128 "+----------------------------+-----------------+---------------------------+\n"
129 "| print_header | OT_BOOL | Print the header with |\n"
130 "| | | problem statistics |\n"
131 "+----------------------------+-----------------+---------------------------+\n"
132 "| print_iteration | OT_BOOL | Print the iterations |\n"
133 "+----------------------------+-----------------+---------------------------+\n"
134 "| print_status | OT_BOOL | Print a status message |\n"
135 "| | | after solving |\n"
136 "+----------------------------+-----------------+---------------------------+\n"
137 "| qpsol | OT_STRING | The QP solver to be used |\n"
138 "| | | by the SQP method |\n"
139 "| | | [qpoases] |\n"
140 "+----------------------------+-----------------+---------------------------+\n"
141 "| qpsol_options | OT_DICT | Options to be passed to |\n"
142 "| | | the QP solver |\n"
143 "+----------------------------+-----------------+---------------------------+\n"
144 "| solve_type | OT_STRING | The solver type: Either |\n"
145 "| | | SQP or SLP. Defaults to |\n"
146 "| | | SQP |\n"
147 "+----------------------------+-----------------+---------------------------+\n"
148 "| tol_du | OT_DOUBLE | Stopping criterion for |\n"
149 "| | | dual infeasability |\n"
150 "+----------------------------+-----------------+---------------------------+\n"
151 "| tol_pr | OT_DOUBLE | Stopping criterion for |\n"
152 "| | | primal infeasibility |\n"
153 "+----------------------------+-----------------+---------------------------+\n"
154 "| tr_acceptance | OT_DOUBLE | Is the trust-region ratio |\n"
155 "| | | above this value, the |\n"
156 "| | | step is accepted. |\n"
157 "+----------------------------+-----------------+---------------------------+\n"
158 "| tr_alpha1 | OT_DOUBLE | Lower alpha in trust- |\n"
159 "| | | region size criterion. |\n"
160 "+----------------------------+-----------------+---------------------------+\n"
161 "| tr_alpha2 | OT_DOUBLE | Upper alpha in trust- |\n"
162 "| | | region size criterion. |\n"
163 "+----------------------------+-----------------+---------------------------+\n"
164 "| tr_eta1 | OT_DOUBLE | Lower eta in trust-region |\n"
165 "| | | acceptance criterion. |\n"
166 "+----------------------------+-----------------+---------------------------+\n"
167 "| tr_eta2 | OT_DOUBLE | Upper eta in trust-region |\n"
168 "| | | acceptance criterion. |\n"
169 "+----------------------------+-----------------+---------------------------+\n"
170 "| tr_rad0 | OT_DOUBLE | Initial trust-region |\n"
171 "| | | radius. |\n"
172 "+----------------------------+-----------------+---------------------------+\n"
173 "| tr_rad_max | OT_DOUBLE | Maximum trust-region |\n"
174 "| | | radius. |\n"
175 "+----------------------------+-----------------+---------------------------+\n"
176 "| tr_rad_min | OT_DOUBLE | Minimum trust-region |\n"
177 "| | | radius. |\n"
178 "+----------------------------+-----------------+---------------------------+\n"
179 "| tr_scale_vector | OT_DOUBLEVECTOR | Vector that tells where |\n"
180 "| | | trust-region is applied. |\n"
181 "+----------------------------+-----------------+---------------------------+\n"
182 "| tr_tol | OT_DOUBLE | Trust-region tolerance. |\n"
183 "| | | Below this value another |\n"
184 "| | | scalar is equal to the |\n"
185 "| | | trust region radius. |\n"
186 "+----------------------------+-----------------+---------------------------+\n"
187 "| use_anderson | OT_BOOL | Use Anderson |\n"
188 "| | | Acceleration. (default |\n"
189 "| | | false) |\n"
190 "+----------------------------+-----------------+---------------------------+\n"
191 "| watchdog | OT_INT | Number of watchdog |\n"
192 "| | | iterations in feasibility |\n"
193 "| | | iterations. After this |\n"
194 "| | | amount of iterations, it |\n"
195 "| | | is checked with the |\n"
196 "| | | contraction acceptance |\n"
197 "| | | value, if iterations are |\n"
198 "| | | converging. |\n"
199 "+----------------------------+-----------------+---------------------------+\n"
200 "\n"
201 "\n"
202 "\n"
203 "\n"
204 ;
static const std::string meta_doc
A documentation string.