sqpmethod_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 "sqpmethod.hpp"
27  #include <string>
28 
29  const std::string casadi::Sqpmethod::meta_doc=
30  "\n"
31 "\n"
32 "\n"
33 "A textbook SQPMethod\n"
34 "\n"
35 "Extra doc: https://github.com/casadi/casadi/wiki/L_22x \n"
36 "\n"
37 "\n"
38 ">List of available options\n"
39 "\n"
40 "+--------------------------+-------------+---------------------------------+\n"
41 "| Id | Type | Description |\n"
42 "+==========================+=============+=================================+\n"
43 "| beta | OT_DOUBLE | Line-search parameter, |\n"
44 "| | | restoration factor of stepsize |\n"
45 "+--------------------------+-------------+---------------------------------+\n"
46 "| c1 | OT_DOUBLE | Armijo condition, coefficient |\n"
47 "| | | of decrease in merit |\n"
48 "+--------------------------+-------------+---------------------------------+\n"
49 "| convexify_margin | OT_DOUBLE | When using a convexification |\n"
50 "| | | strategy, make sure that the |\n"
51 "| | | smallest eigenvalue is at least |\n"
52 "| | | this (default: 1e-7). |\n"
53 "+--------------------------+-------------+---------------------------------+\n"
54 "| convexify_strategy | OT_STRING | NONE|regularize|eigen- |\n"
55 "| | | reflect|eigen-clip. Strategy to |\n"
56 "| | | convexify the Lagrange Hessian |\n"
57 "| | | before passing it to the |\n"
58 "| | | solver. |\n"
59 "+--------------------------+-------------+---------------------------------+\n"
60 "| elastic_mode | OT_BOOL | Enable the elastic mode which |\n"
61 "| | | is used when the QP is |\n"
62 "| | | infeasible (default: false). |\n"
63 "+--------------------------+-------------+---------------------------------+\n"
64 "| gamma_0 | OT_DOUBLE | Starting value for the penalty |\n"
65 "| | | parameter of elastic mode |\n"
66 "| | | (default: 1). |\n"
67 "+--------------------------+-------------+---------------------------------+\n"
68 "| gamma_1_min | OT_DOUBLE | Minimum value for gamma_1 |\n"
69 "| | | (default: 1e-5). |\n"
70 "+--------------------------+-------------+---------------------------------+\n"
71 "| gamma_max | OT_DOUBLE | Maximum value for the penalty |\n"
72 "| | | parameter of elastic mode |\n"
73 "| | | (default: 1e20). |\n"
74 "+--------------------------+-------------+---------------------------------+\n"
75 "| hess_lag | OT_FUNCTION | Function for calculating the |\n"
76 "| | | Hessian of the Lagrangian |\n"
77 "| | | (autogenerated by default) |\n"
78 "+--------------------------+-------------+---------------------------------+\n"
79 "| hessian_approximation | OT_STRING | limited-memory|exact |\n"
80 "+--------------------------+-------------+---------------------------------+\n"
81 "| init_feasible | OT_BOOL | Initialize the QP subproblems |\n"
82 "| | | with a feasible initial value |\n"
83 "| | | (default: false). |\n"
84 "+--------------------------+-------------+---------------------------------+\n"
85 "| jac_fg | OT_FUNCTION | Function for calculating the |\n"
86 "| | | gradient of the objective and |\n"
87 "| | | Jacobian of the constraints |\n"
88 "| | | (autogenerated by default) |\n"
89 "+--------------------------+-------------+---------------------------------+\n"
90 "| lbfgs_memory | OT_INT | Size of L-BFGS memory. |\n"
91 "+--------------------------+-------------+---------------------------------+\n"
92 "| max_iter | OT_INT | Maximum number of SQP |\n"
93 "| | | iterations |\n"
94 "+--------------------------+-------------+---------------------------------+\n"
95 "| max_iter_eig | OT_DOUBLE | Maximum number of iterations to |\n"
96 "| | | compute an eigenvalue |\n"
97 "| | | decomposition (default: 50). |\n"
98 "+--------------------------+-------------+---------------------------------+\n"
99 "| max_iter_ls | OT_INT | Maximum number of linesearch |\n"
100 "| | | iterations |\n"
101 "+--------------------------+-------------+---------------------------------+\n"
102 "| merit_memory | OT_INT | Size of memory to store history |\n"
103 "| | | of merit function values |\n"
104 "+--------------------------+-------------+---------------------------------+\n"
105 "| min_iter | OT_INT | Minimum number of SQP |\n"
106 "| | | iterations |\n"
107 "+--------------------------+-------------+---------------------------------+\n"
108 "| min_step_size | OT_DOUBLE | The size (inf-norm) of the step |\n"
109 "| | | size should not become smaller |\n"
110 "| | | than this. |\n"
111 "+--------------------------+-------------+---------------------------------+\n"
112 "| print_header | OT_BOOL | Print the header with problem |\n"
113 "| | | statistics |\n"
114 "+--------------------------+-------------+---------------------------------+\n"
115 "| print_iteration | OT_BOOL | Print the iterations |\n"
116 "+--------------------------+-------------+---------------------------------+\n"
117 "| print_status | OT_BOOL | Print a status message after |\n"
118 "| | | solving |\n"
119 "+--------------------------+-------------+---------------------------------+\n"
120 "| qpsol | OT_STRING | The QP solver to be used by the |\n"
121 "| | | SQP method [qpoases] |\n"
122 "+--------------------------+-------------+---------------------------------+\n"
123 "| qpsol_options | OT_DICT | Options to be passed to the QP |\n"
124 "| | | solver |\n"
125 "+--------------------------+-------------+---------------------------------+\n"
126 "| second_order_corrections | OT_BOOL | Enable second order |\n"
127 "| | | corrections. These are used |\n"
128 "| | | when a step is considered bad |\n"
129 "| | | by the merit function and |\n"
130 "| | | constraint norm (default: |\n"
131 "| | | false). |\n"
132 "+--------------------------+-------------+---------------------------------+\n"
133 "| tol_du | OT_DOUBLE | Stopping criterion for dual |\n"
134 "| | | infeasability |\n"
135 "+--------------------------+-------------+---------------------------------+\n"
136 "| tol_pr | OT_DOUBLE | Stopping criterion for primal |\n"
137 "| | | infeasibility |\n"
138 "+--------------------------+-------------+---------------------------------+\n"
139 "\n"
140 "\n"
141 "\n"
142 "\n"
143 ;
static const std::string meta_doc
A documentation string.
Definition: sqpmethod.hpp:232