bonmin_interface_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 "bonmin_interface.hpp"
27  #include <string>
28 
29  const std::string casadi::BonminInterface::meta_doc=
30  "\n"
31 "\n"
32 "\n"
33 "When in warmstart mode, output NLPSOL_LAM_X may be used as input\n"
34 "\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"
38 "\n"
39 "For a good tutorial on BONMIN, see https://drops.dagstuhl.de/storage/16dagstuhl-seminar-proceedings/dsp-\n"
40 "vol09061/DagSemProc.09061.16/DagSemProc.09061.16.pdf \n"
41 "\n"
42 "A good resource about the algorithms in BONMIN 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"
47 "\n"
48 "Caveats:\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"
52 "\n"
53 "Extra doc: https://github.com/casadi/casadi/wiki/L_223 \n"
54 "\n"
55 "\n"
56 "\n"
57 ">List of available options\n"
58 "\n"
59 "+-------------------------+-----------------------+------------------------+\n"
60 "| Id | Type | Description |\n"
61 "+=========================+=======================+========================+\n"
62 "| bonmin | OT_DICT | Options to be passed |\n"
63 "| | | to BONMIN |\n"
64 "+-------------------------+-----------------------+------------------------+\n"
65 "| con_integer_md | OT_DICT | Integer metadata (a |\n"
66 "| | | dictionary with lists |\n"
67 "| | | of integers) about |\n"
68 "| | | constraints to be |\n"
69 "| | | passed to BONMIN |\n"
70 "+-------------------------+-----------------------+------------------------+\n"
71 "| con_numeric_md | OT_DICT | Numeric metadata (a |\n"
72 "| | | dictionary with lists |\n"
73 "| | | of reals) about |\n"
74 "| | | constraints to be |\n"
75 "| | | passed to BONMIN |\n"
76 "+-------------------------+-----------------------+------------------------+\n"
77 "| con_string_md | OT_DICT | String metadata (a |\n"
78 "| | | dictionary with lists |\n"
79 "| | | of strings) about |\n"
80 "| | | constraints to be |\n"
81 "| | | passed to BONMIN |\n"
82 "+-------------------------+-----------------------+------------------------+\n"
83 "| grad_f | OT_FUNCTION | Function for |\n"
84 "| | | calculating the |\n"
85 "| | | gradient of the |\n"
86 "| | | objective (column, |\n"
87 "| | | autogenerated by |\n"
88 "| | | default) |\n"
89 "+-------------------------+-----------------------+------------------------+\n"
90 "| grad_f_options | OT_DICT | Options for the |\n"
91 "| | | autogenerated gradient |\n"
92 "| | | of the objective. |\n"
93 "+-------------------------+-----------------------+------------------------+\n"
94 "| hess_lag | OT_FUNCTION | Function for |\n"
95 "| | | calculating the |\n"
96 "| | | Hessian of the |\n"
97 "| | | Lagrangian |\n"
98 "| | | (autogenerated by |\n"
99 "| | | default) |\n"
100 "+-------------------------+-----------------------+------------------------+\n"
101 "| hess_lag_options | OT_DICT | Options for the |\n"
102 "| | | autogenerated Hessian |\n"
103 "| | | of the Lagrangian. |\n"
104 "+-------------------------+-----------------------+------------------------+\n"
105 "| jac_g | OT_FUNCTION | Function for |\n"
106 "| | | calculating the |\n"
107 "| | | Jacobian of the |\n"
108 "| | | constraints |\n"
109 "| | | (autogenerated by |\n"
110 "| | | default) |\n"
111 "+-------------------------+-----------------------+------------------------+\n"
112 "| jac_g_options | OT_DICT | Options for the |\n"
113 "| | | autogenerated Jacobian |\n"
114 "| | | of the constraints. |\n"
115 "+-------------------------+-----------------------+------------------------+\n"
116 "| pass_nonlinear_constrai | OT_BOOL | Pass list of |\n"
117 "| nts | | constraints entering |\n"
118 "| | | nonlinearly to BONMIN |\n"
119 "+-------------------------+-----------------------+------------------------+\n"
120 "| pass_nonlinear_variable | OT_BOOL | Pass list of variables |\n"
121 "| s | | entering nonlinearly |\n"
122 "| | | to BONMIN |\n"
123 "+-------------------------+-----------------------+------------------------+\n"
124 "| sos1_groups | OT_INTVECTORVECTOR | Options for the |\n"
125 "| | | autogenerated gradient |\n"
126 "| | | of the objective. |\n"
127 "+-------------------------+-----------------------+------------------------+\n"
128 "| sos1_priorities | OT_INTVECTOR | Options for the |\n"
129 "| | | autogenerated gradient |\n"
130 "| | | of the objective. |\n"
131 "+-------------------------+-----------------------+------------------------+\n"
132 "| sos1_weights | OT_DOUBLEVECTORVECTOR | Options for the |\n"
133 "| | | autogenerated gradient |\n"
134 "| | | of the objective. |\n"
135 "+-------------------------+-----------------------+------------------------+\n"
136 "| var_integer_md | OT_DICT | Integer metadata (a |\n"
137 "| | | dictionary with lists |\n"
138 "| | | of integers) about |\n"
139 "| | | variables to be passed |\n"
140 "| | | to BONMIN |\n"
141 "+-------------------------+-----------------------+------------------------+\n"
142 "| var_numeric_md | OT_DICT | Numeric metadata (a |\n"
143 "| | | dictionary with lists |\n"
144 "| | | of reals) about |\n"
145 "| | | variables to be passed |\n"
146 "| | | to BONMIN |\n"
147 "+-------------------------+-----------------------+------------------------+\n"
148 "| var_string_md | OT_DICT | String metadata (a |\n"
149 "| | | dictionary with lists |\n"
150 "| | | of strings) about |\n"
151 "| | | variables to be passed |\n"
152 "| | | to BONMIN |\n"
153 "+-------------------------+-----------------------+------------------------+\n"
154 "\n"
155 "\n"
156 "\n"
157 "\n"
158 ;
static const std::string meta_doc
A documentation string.