File: optim.texi

package info (click to toggle)
octave 2.0.16-2
  • links: PTS
  • area: main
  • in suites: potato
  • size: 26,276 kB
  • ctags: 16,450
  • sloc: cpp: 67,548; fortran: 41,514; ansic: 26,682; sh: 7,361; makefile: 4,077; lex: 2,008; yacc: 1,849; lisp: 1,702; perl: 1,676; exp: 123
file content (207 lines) | stat: -rw-r--r-- 8,763 bytes parent folder | download | duplicates (9)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
@node Optimization, Quadrature, Nonlinear Equations, Top
@chapter Optimization
@cindex optimization

@menu
* Objective Functions::         
* Bounds::                      
* Linear Constraints::          
* Nonlinear Constraints::       
* Quadratic Programming::       
* Nonlinear Programming::       
@end menu

@node Objective Functions, Bounds, Optimization, Optimization
@section Objective Functions
@cindex objective functions

@deftypefn  {} {}Objective (void)
@deftypefnx  {} {}Objective (const @var{objective_fcn})
@deftypefnx  {} {}Objective (const @var{objective_fcn}, const @var{gradient_fcn})
@deftypefnx  {} {}Objective (const Objective &@var{a})
@end deftypefn

@deftypefn {} Objective& {operator =} (const Objective &@var{a})
@end deftypefn

@deftypefn {} objective_fcn objective_function (void) const;
@end deftypefn

@deftypefn {} Objective& set_objective_function (const @var{objective_fcn})
@end deftypefn

@deftypefn {} gradient_fcn gradient_function (void) const;
@end deftypefn

@deftypefn {} Objective& set_gradient_function (const @var{gradient_fcn})
@end deftypefn

@c ------------------------------------------------------------------------

@node Bounds, Linear Constraints, Objective Functions, Optimization
@section Bounds
@cindex bounds

@deftypefn  {} {}Bounds (void)
@deftypefnx  {} {}Bounds (int @var{n})
@deftypefnx  {} {}Bounds (const ColumnVector @var{lb}, const ColumnVector @var{ub})
@deftypefnx  {} {}Bounds (const Bounds &@var{a})
@end deftypefn

@deftypefn {} Bounds& {operator =} (const Bounds &@var{a})
@end deftypefn

@deftypefn {} Bounds& resize (int @var{n})
@end deftypefn

@deftypefn {} double lower_bound (int @var{index}) const;
@deftypefnx {} double upper_bound (int @var{index}) const;
@end deftypefn

@deftypefn {} ColumnVector lower_bounds (void) const;
@deftypefnx {} ColumnVector upper_bounds (void) const;
@end deftypefn

@deftypefn {} int size (void) const;
@end deftypefn

@deftypefn {} Bounds& set_bound (int @var{index}, double @var{low}, double @var{high})
@end deftypefn

@deftypefn {} Bounds& set_bounds (double @var{low}, double @var{high})
@deftypefnx {} Bounds& set_bounds (const ColumnVector @var{lb}, const ColumnVector @var{ub})
@end deftypefn

@deftypefn {} Bounds& set_lower_bound (int @var{index}, double @var{low})
@deftypefnx {} Bounds& set_upper_bound (int @var{index}, double @var{high})
@end deftypefn

@deftypefn {} Bounds& set_lower_bounds (double @var{low})
@deftypefnx {} Bounds& set_upper_bounds (double @var{high})
@end deftypefn

@deftypefn {} Bounds& set_lower_bounds (const ColumnVector @var{lb})
@deftypefnx {} Bounds& set_upper_bounds (const ColumnVector @var{ub})
@end deftypefn

@deftypefn {} {ostream&} {operator <<} (ostream &@var{os}, const Bounds &@var{b})
@end deftypefn

@c ------------------------------------------------------------------------

@node Linear Constraints, Nonlinear Constraints, Bounds, Optimization
@section Linear Constraints
@cindex linear Constraints

@deftypefn  {} {}LinConst (void)
@deftypefnx  {} {}LinConst (int @var{nclin}, int @var{nx})
@deftypefnx  {} {}LinConst (int @var{nclin_eq}, int @var{nclin_ineq}, int @var{nx})
@deftypefnx  {} {}LinConst (const ColumnVector &@var{lb}, const Matrix &@var{A}, const ColumnVector &@var{ub})
@deftypefnx  {} {}LinConst (const Matrix &@var{A_eq}, const ColumnVector &@var{b_eq}, const Matrix &@var{A_ineq}, const ColumnVector &@var{b_ineq})
@deftypefnx  {} {}LinConst (const LinConst &@var{a})
@end deftypefn

@deftypefn {} LinConst& {operator =} (const LinConst &@var{a})
@end deftypefn

@deftypefn {} LinConst& resize (int @var{nclin}, int @var{n})
@end deftypefn

@deftypefn {} Matrix constraint_matrix (void) const;
@end deftypefn

@deftypefn {} LinConst& set_constraint_matrix (const Matrix &@var{A})
@end deftypefn

@deftypefn {} Matrix eq_constraint_matrix (void) const;
@deftypefnx {} Matrix ineq_constraint_matrix (void) const;
@end deftypefn

@deftypefn {} ColumnVector eq_constraint_vector (void) const;
@deftypefnx {} ColumnVector ineq_constraint_vector (void) const;
@end deftypefn

@deftypefn {} {ostream&} {operator <<} (ostream &@var{os}, const LinConst &@var{b})
@end deftypefn

@c ------------------------------------------------------------------------

@node Nonlinear Constraints, Quadratic Programming, Linear Constraints, Optimization
@section Nonlinear Constraints
@cindex nonlinear Constraints

@deftypefn  {} {}NLConst (void)
@deftypefnx  {} {}NLConst (int @var{n})
@deftypefnx  {} {}NLConst (const ColumnVector @var{lb}, const NLFunc @var{f}, const ColumnVector @var{ub})
@deftypefnx  {} {}NLConst (const NLConst &@var{a})
@end deftypefn

@deftypefn {} NLConst& {operator =} (const NLConst &@var{a})
@end deftypefn

@node Quadratic Programming, Nonlinear Programming, Nonlinear Constraints, Optimization
@section Quadratic Programming
@cindex QP
@cindex quadratic programming

@deftypefn  {} {}QP (void)
@deftypefnx  {} {}QP (const ColumnVector &@var{x}, const Matrix &@var{H})
@deftypefnx  {} {}QP (const ColumnVector &@var{x}, const Matrix &@var{H}, const ColumnVector &@var{c})
@deftypefnx  {} {}QP (const ColumnVector &@var{x}, const Matrix &@var{H}, const Bounds &@var{b})
@deftypefnx  {} {}QP (const ColumnVector &@var{x}, const Matrix &@var{H}, const LinConst &@var{lc})
@deftypefnx  {} {}QP (const ColumnVector &@var{x}, const Matrix &@var{H}, const ColumnVector &@var{c}, const Bounds &@var{b})
@deftypefnx  {} {}QP (const ColumnVector &@var{x}, const Matrix &@var{H}, const ColumnVector &@var{c}, const LinConst &@var{lc})
@deftypefnx  {} {}QP (const ColumnVector &@var{x}, const Matrix &@var{H}, const Bounds &@var{b}, const LinConst &@var{lc})
@deftypefnx  {} {}QP (const ColumnVector &@var{x}, const Matrix &@var{H}, const ColumnVector &@var{c}, const Bounds &@var{b}, const LinConst &@var{lc})
@end deftypefn

@deftypefn {} {virtual ColumnVector} minimize (void)
@deftypefnx {} {virtual ColumnVector} minimize (double &@var{objf})
@deftypefnx {} {virtual ColumnVector} minimize (double &@var{objf}, int &@var{inform})
@deftypefnx {} {virtual ColumnVector} minimize (double &@var{objf}, int &@var{inform}, ColumnVector &@var{lambda}) = 0;
@end deftypefn

@deftypefn {} {virtual ColumnVector} minimize (const ColumnVector &@var{x})
@deftypefnx {} {virtual ColumnVector} minimize (const ColumnVector &@var{x}, double &@var{objf})
@deftypefnx {} {virtual ColumnVector} minimize (const ColumnVector &@var{x}, double &@var{objf}, int &@var{inform})
@deftypefnx {} {virtual ColumnVector} minimize (const ColumnVector &@var{x}, double &@var{objf}, int &@var{inform}, ColumnVector &@var{lambda})
@end deftypefn

@deftypefn {} ColumnVector minimize (double &@var{objf}, int &@var{inform}, ColumnVector &@var{lambda})
@end deftypefn

@c ------------------------------------------------------------------------

@node Nonlinear Programming,  , Quadratic Programming, Optimization
@section Nonlinear Programming
@cindex NLP
@cindex nonlinear programming

@deftypefn  {} {}NLP (void)
@deftypefnx  {} {}NLP (const ColumnVector &@var{x}, const Objective &@var{phi})
@deftypefnx  {} {}NLP (const ColumnVector &@var{x}, const Objective &@var{phi}, const Bounds &@var{b})
@deftypefnx  {} {}NLP (const ColumnVector &@var{x}, const Objective &@var{phi}, const Bounds &@var{b}, const LinConst &@var{lc})
@deftypefnx  {} {}NLP (const ColumnVector &@var{x}, const Objective &@var{phi}, const Bounds &@var{b}, const LinConst &@var{lc}, const NLConst &@var{nlc})
@deftypefnx  {} {}NLP (const ColumnVector &@var{x}, const Objective &@var{phi}, const LinConst &@var{lc})
@deftypefnx  {} {}NLP (const ColumnVector &@var{x}, const Objective &@var{phi}, const LinConst &@var{lc}, const NLConst &@var{nlc})
@deftypefnx  {} {}NLP (const ColumnVector &@var{x}, const Objective &@var{phi}, const NLConst &@var{nlc})
@deftypefnx  {} {}NLP (const ColumnVector &@var{x}, const Objective &@var{phi}, const Bounds &@var{b}, const NLConst &@var{nlc})
@end deftypefn

@deftypefn {} NLP& {operator =} (const NLP &@var{a})
@end deftypefn

@deftypefn {} int size (void) const
@end deftypefn

@deftypefn {} ColumnVector minimize (void)
@deftypefnx {} ColumnVector minimize (double &@var{objf})
@deftypefnx {} ColumnVector minimize (double &@var{objf}, int &@var{inform})
@deftypefnx {} ColumnVector minimize (double &@var{objf}, int &@var{inform}, ColumnVector &@var{lambda})
@end deftypefn

@deftypefn {} ColumnVector minimize (const ColumnVector &@var{x})
@deftypefnx {} ColumnVector minimize (const ColumnVector &@var{x}, double &@var{objf})
@deftypefnx {} ColumnVector minimize (const ColumnVector &@var{x}, double &@var{objf}, int &@var{inform})
@deftypefnx {} ColumnVector minimize (const ColumnVector &@var{x}, double &@var{objf}, int &@var{inform}, ColumnVector &@var{lambda})
@end deftypefn