2657
|
1 @node Optimization, Quadrature, Nonlinear Equations, Top |
2656
|
2 @chapter Optimization |
|
3 @cindex optimization |
|
4 |
2657
|
5 @menu |
|
6 * Objective Functions:: |
|
7 * Bounds:: |
|
8 * Linear Constraints:: |
|
9 * Nonlinear Constraints:: |
|
10 * Quadratic Programming:: |
|
11 * Nonlinear Programming:: |
|
12 @end menu |
|
13 |
|
14 @node Objective Functions, Bounds, Optimization, Optimization |
2656
|
15 @section Objective Functions |
2333
|
16 @cindex objective functions |
|
17 |
|
18 @deftypefn {} {}Objective (void) |
|
19 @deftypefnx {} {}Objective (const @var{objective_fcn}) |
|
20 @deftypefnx {} {}Objective (const @var{objective_fcn}, const @var{gradient_fcn}) |
|
21 @deftypefnx {} {}Objective (const Objective &@var{a}) |
|
22 @end deftypefn |
|
23 |
|
24 @deftypefn {} Objective& {operator =} (const Objective &@var{a}) |
|
25 @end deftypefn |
|
26 |
|
27 @deftypefn {} objective_fcn objective_function (void) const; |
|
28 @end deftypefn |
|
29 |
|
30 @deftypefn {} Objective& set_objective_function (const @var{objective_fcn}) |
|
31 @end deftypefn |
|
32 |
|
33 @deftypefn {} gradient_fcn gradient_function (void) const; |
|
34 @end deftypefn |
|
35 |
|
36 @deftypefn {} Objective& set_gradient_function (const @var{gradient_fcn}) |
|
37 @end deftypefn |
|
38 |
|
39 @c ------------------------------------------------------------------------ |
|
40 |
2657
|
41 @node Bounds, Linear Constraints, Objective Functions, Optimization |
2656
|
42 @section Bounds |
2333
|
43 @cindex bounds |
|
44 |
|
45 @deftypefn {} {}Bounds (void) |
|
46 @deftypefnx {} {}Bounds (int @var{n}) |
|
47 @deftypefnx {} {}Bounds (const ColumnVector @var{lb}, const ColumnVector @var{ub}) |
|
48 @deftypefnx {} {}Bounds (const Bounds &@var{a}) |
|
49 @end deftypefn |
|
50 |
|
51 @deftypefn {} Bounds& {operator =} (const Bounds &@var{a}) |
|
52 @end deftypefn |
|
53 |
|
54 @deftypefn {} Bounds& resize (int @var{n}) |
|
55 @end deftypefn |
|
56 |
|
57 @deftypefn {} double lower_bound (int @var{index}) const; |
|
58 @deftypefnx {} double upper_bound (int @var{index}) const; |
|
59 @end deftypefn |
|
60 |
|
61 @deftypefn {} ColumnVector lower_bounds (void) const; |
|
62 @deftypefnx {} ColumnVector upper_bounds (void) const; |
|
63 @end deftypefn |
|
64 |
|
65 @deftypefn {} int size (void) const; |
|
66 @end deftypefn |
|
67 |
|
68 @deftypefn {} Bounds& set_bound (int @var{index}, double @var{low}, double @var{high}) |
|
69 @end deftypefn |
|
70 |
|
71 @deftypefn {} Bounds& set_bounds (double @var{low}, double @var{high}) |
|
72 @deftypefnx {} Bounds& set_bounds (const ColumnVector @var{lb}, const ColumnVector @var{ub}) |
|
73 @end deftypefn |
|
74 |
|
75 @deftypefn {} Bounds& set_lower_bound (int @var{index}, double @var{low}) |
|
76 @deftypefnx {} Bounds& set_upper_bound (int @var{index}, double @var{high}) |
|
77 @end deftypefn |
|
78 |
|
79 @deftypefn {} Bounds& set_lower_bounds (double @var{low}) |
|
80 @deftypefnx {} Bounds& set_upper_bounds (double @var{high}) |
|
81 @end deftypefn |
|
82 |
|
83 @deftypefn {} Bounds& set_lower_bounds (const ColumnVector @var{lb}) |
|
84 @deftypefnx {} Bounds& set_upper_bounds (const ColumnVector @var{ub}) |
|
85 @end deftypefn |
|
86 |
|
87 @deftypefn {} {ostream&} {operator <<} (ostream &@var{os}, const Bounds &@var{b}) |
|
88 @end deftypefn |
|
89 |
|
90 @c ------------------------------------------------------------------------ |
|
91 |
2657
|
92 @node Linear Constraints, Nonlinear Constraints, Bounds, Optimization |
2656
|
93 @section Linear Constraints |
2333
|
94 @cindex linear Constraints |
|
95 |
|
96 @deftypefn {} {}LinConst (void) |
|
97 @deftypefnx {} {}LinConst (int @var{nclin}, int @var{nx}) |
|
98 @deftypefnx {} {}LinConst (int @var{nclin_eq}, int @var{nclin_ineq}, int @var{nx}) |
|
99 @deftypefnx {} {}LinConst (const ColumnVector &@var{lb}, const Matrix &@var{A}, const ColumnVector &@var{ub}) |
|
100 @deftypefnx {} {}LinConst (const Matrix &@var{A_eq}, const ColumnVector &@var{b_eq}, const Matrix &@var{A_ineq}, const ColumnVector &@var{b_ineq}) |
|
101 @deftypefnx {} {}LinConst (const LinConst &@var{a}) |
|
102 @end deftypefn |
|
103 |
|
104 @deftypefn {} LinConst& {operator =} (const LinConst &@var{a}) |
|
105 @end deftypefn |
|
106 |
|
107 @deftypefn {} LinConst& resize (int @var{nclin}, int @var{n}) |
|
108 @end deftypefn |
|
109 |
|
110 @deftypefn {} Matrix constraint_matrix (void) const; |
|
111 @end deftypefn |
|
112 |
|
113 @deftypefn {} LinConst& set_constraint_matrix (const Matrix &@var{A}) |
|
114 @end deftypefn |
|
115 |
|
116 @deftypefn {} Matrix eq_constraint_matrix (void) const; |
|
117 @deftypefnx {} Matrix ineq_constraint_matrix (void) const; |
|
118 @end deftypefn |
|
119 |
|
120 @deftypefn {} ColumnVector eq_constraint_vector (void) const; |
|
121 @deftypefnx {} ColumnVector ineq_constraint_vector (void) const; |
|
122 @end deftypefn |
|
123 |
|
124 @deftypefn {} {ostream&} {operator <<} (ostream &@var{os}, const LinConst &@var{b}) |
|
125 @end deftypefn |
|
126 |
|
127 @c ------------------------------------------------------------------------ |
|
128 |
2657
|
129 @node Nonlinear Constraints, Quadratic Programming, Linear Constraints, Optimization |
2656
|
130 @section Nonlinear Constraints |
2333
|
131 @cindex nonlinear Constraints |
|
132 |
|
133 @deftypefn {} {}NLConst (void) |
|
134 @deftypefnx {} {}NLConst (int @var{n}) |
|
135 @deftypefnx {} {}NLConst (const ColumnVector @var{lb}, const NLFunc @var{f}, const ColumnVector @var{ub}) |
|
136 @deftypefnx {} {}NLConst (const NLConst &@var{a}) |
|
137 @end deftypefn |
|
138 |
|
139 @deftypefn {} NLConst& {operator =} (const NLConst &@var{a}) |
|
140 @end deftypefn |
|
141 |
2657
|
142 @node Quadratic Programming, Nonlinear Programming, Nonlinear Constraints, Optimization |
2656
|
143 @section Quadratic Programming |
2333
|
144 @cindex QP |
|
145 @cindex quadratic programming |
|
146 |
|
147 @deftypefn {} {}QP (void) |
|
148 @deftypefnx {} {}QP (const ColumnVector &@var{x}, const Matrix &@var{H}) |
|
149 @deftypefnx {} {}QP (const ColumnVector &@var{x}, const Matrix &@var{H}, const ColumnVector &@var{c}) |
|
150 @deftypefnx {} {}QP (const ColumnVector &@var{x}, const Matrix &@var{H}, const Bounds &@var{b}) |
|
151 @deftypefnx {} {}QP (const ColumnVector &@var{x}, const Matrix &@var{H}, const LinConst &@var{lc}) |
|
152 @deftypefnx {} {}QP (const ColumnVector &@var{x}, const Matrix &@var{H}, const ColumnVector &@var{c}, const Bounds &@var{b}) |
|
153 @deftypefnx {} {}QP (const ColumnVector &@var{x}, const Matrix &@var{H}, const ColumnVector &@var{c}, const LinConst &@var{lc}) |
|
154 @deftypefnx {} {}QP (const ColumnVector &@var{x}, const Matrix &@var{H}, const Bounds &@var{b}, const LinConst &@var{lc}) |
|
155 @deftypefnx {} {}QP (const ColumnVector &@var{x}, const Matrix &@var{H}, const ColumnVector &@var{c}, const Bounds &@var{b}, const LinConst &@var{lc}) |
|
156 @end deftypefn |
|
157 |
|
158 @deftypefn {} {virtual ColumnVector} minimize (void) |
|
159 @deftypefnx {} {virtual ColumnVector} minimize (double &@var{objf}) |
|
160 @deftypefnx {} {virtual ColumnVector} minimize (double &@var{objf}, int &@var{inform}) |
|
161 @deftypefnx {} {virtual ColumnVector} minimize (double &@var{objf}, int &@var{inform}, ColumnVector &@var{lambda}) = 0; |
|
162 @end deftypefn |
|
163 |
|
164 @deftypefn {} {virtual ColumnVector} minimize (const ColumnVector &@var{x}) |
|
165 @deftypefnx {} {virtual ColumnVector} minimize (const ColumnVector &@var{x}, double &@var{objf}) |
|
166 @deftypefnx {} {virtual ColumnVector} minimize (const ColumnVector &@var{x}, double &@var{objf}, int &@var{inform}) |
|
167 @deftypefnx {} {virtual ColumnVector} minimize (const ColumnVector &@var{x}, double &@var{objf}, int &@var{inform}, ColumnVector &@var{lambda}) |
|
168 @end deftypefn |
|
169 |
|
170 @deftypefn {} ColumnVector minimize (double &@var{objf}, int &@var{inform}, ColumnVector &@var{lambda}) |
|
171 @end deftypefn |
|
172 |
|
173 @c ------------------------------------------------------------------------ |
|
174 |
2657
|
175 @node Nonlinear Programming, , Quadratic Programming, Optimization |
2656
|
176 @section Nonlinear Programming |
2333
|
177 @cindex NLP |
|
178 @cindex nonlinear programming |
|
179 |
|
180 @deftypefn {} {}NLP (void) |
|
181 @deftypefnx {} {}NLP (const ColumnVector &@var{x}, const Objective &@var{phi}) |
|
182 @deftypefnx {} {}NLP (const ColumnVector &@var{x}, const Objective &@var{phi}, const Bounds &@var{b}) |
|
183 @deftypefnx {} {}NLP (const ColumnVector &@var{x}, const Objective &@var{phi}, const Bounds &@var{b}, const LinConst &@var{lc}) |
|
184 @deftypefnx {} {}NLP (const ColumnVector &@var{x}, const Objective &@var{phi}, const Bounds &@var{b}, const LinConst &@var{lc}, const NLConst &@var{nlc}) |
|
185 @deftypefnx {} {}NLP (const ColumnVector &@var{x}, const Objective &@var{phi}, const LinConst &@var{lc}) |
|
186 @deftypefnx {} {}NLP (const ColumnVector &@var{x}, const Objective &@var{phi}, const LinConst &@var{lc}, const NLConst &@var{nlc}) |
|
187 @deftypefnx {} {}NLP (const ColumnVector &@var{x}, const Objective &@var{phi}, const NLConst &@var{nlc}) |
|
188 @deftypefnx {} {}NLP (const ColumnVector &@var{x}, const Objective &@var{phi}, const Bounds &@var{b}, const NLConst &@var{nlc}) |
|
189 @end deftypefn |
|
190 |
|
191 @deftypefn {} NLP& {operator =} (const NLP &@var{a}) |
|
192 @end deftypefn |
|
193 |
|
194 @deftypefn {} int size (void) const |
|
195 @end deftypefn |
|
196 |
|
197 @deftypefn {} ColumnVector minimize (void) |
|
198 @deftypefnx {} ColumnVector minimize (double &@var{objf}) |
|
199 @deftypefnx {} ColumnVector minimize (double &@var{objf}, int &@var{inform}) |
|
200 @deftypefnx {} ColumnVector minimize (double &@var{objf}, int &@var{inform}, ColumnVector &@var{lambda}) |
|
201 @end deftypefn |
|
202 |
|
203 @deftypefn {} ColumnVector minimize (const ColumnVector &@var{x}) |
|
204 @deftypefnx {} ColumnVector minimize (const ColumnVector &@var{x}, double &@var{objf}) |
|
205 @deftypefnx {} ColumnVector minimize (const ColumnVector &@var{x}, double &@var{objf}, int &@var{inform}) |
|
206 @deftypefnx {} ColumnVector minimize (const ColumnVector &@var{x}, double &@var{objf}, int &@var{inform}, ColumnVector &@var{lambda}) |
|
207 @end deftypefn |