Mercurial > hg > octave-nkf
annotate doc/interpreter/optim.txi @ 9642:2ab5ace09d8b
doc/interpreter/optim.txi: document pqpnonneg
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Mon, 14 Sep 2009 22:24:43 -0400 |
parents | 923c7cb7f13f |
children | 322f43e0e170 |
rev | line source |
---|---|
8920 | 1 @c Copyright (C) 1996, 1997, 2007, 2008, 2009 John W. Eaton |
7018 | 2 @c |
3 @c This file is part of Octave. | |
4 @c | |
5 @c Octave is free software; you can redistribute it and/or modify it | |
6 @c under the terms of the GNU General Public License as published by the | |
7 @c Free Software Foundation; either version 3 of the License, or (at | |
8 @c your option) any later version. | |
9 @c | |
10 @c Octave is distributed in the hope that it will be useful, but WITHOUT | |
11 @c ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
12 @c FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
13 @c for more details. | |
14 @c | |
15 @c You should have received a copy of the GNU General Public License | |
16 @c along with Octave; see the file COPYING. If not, see | |
17 @c <http://www.gnu.org/licenses/>. | |
3294 | 18 |
4167 | 19 @node Optimization |
3294 | 20 @chapter Optimization |
21 | |
6741 | 22 Octave comes with support for solving various kinds of optimization |
9068
5d3059e2a34c
Cleanup documentation for optim.texi, set.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
23 problems. Specifically Octave can solve problems in Linear Programming, |
6741 | 24 Quadratic Programming, Nonlinear Programming, and Linear Least Squares |
25 Minimization. | |
26 | |
3294 | 27 @menu |
4246 | 28 * Linear Programming:: |
3294 | 29 * Quadratic Programming:: |
30 * Nonlinear Programming:: | |
31 * Linear Least Squares:: | |
32 @end menu | |
33 | |
34 @c @cindex linear programming | |
35 @cindex quadratic programming | |
36 @cindex nonlinear programming | |
37 @cindex optimization | |
38 @cindex LP | |
39 @cindex QP | |
40 @cindex NLP | |
41 | |
4246 | 42 @node Linear Programming |
43 @section Linear Programming | |
44 | |
6741 | 45 Octave can solve Linear Programming problems using the @code{glpk} |
46 function. That is, Octave can solve | |
47 | |
48 @tex | |
49 $$ | |
50 \min_x c^T x | |
51 $$ | |
52 @end tex | |
53 @ifnottex | |
54 @example | |
55 min C'*x | |
56 @end example | |
57 @end ifnottex | |
58 subject to the linear constraints | |
59 @tex | |
60 $Ax = b$ where $x \geq 0$. | |
61 @end tex | |
62 @ifnottex | |
63 @math{A*x = b} where @math{x >= 0}. | |
64 @end ifnottex | |
65 | |
66 @noindent | |
67 The @code{glpk} function also supports variations of this problem. | |
68 | |
6502 | 69 @DOCSTRING(glpk) |
70 | |
4167 | 71 @node Quadratic Programming |
3294 | 72 @section Quadratic Programming |
73 | |
6741 | 74 Octave can also solve Quadratic Programming problems, this is |
75 @tex | |
76 $$ | |
77 \min_x {1 \over 2} x^T H x + x^T q | |
78 $$ | |
79 @end tex | |
80 @ifnottex | |
81 @example | |
82 min 0.5 x'*H*x + x'*q | |
83 @end example | |
84 @end ifnottex | |
85 subject to | |
86 @tex | |
87 $$ | |
88 Ax = b \qquad lb \leq x \leq ub \qquad A_{lb} \leq A_{in} \leq A_{ub} | |
89 $$ | |
90 @end tex | |
91 @ifnottex | |
92 @example | |
9068
5d3059e2a34c
Cleanup documentation for optim.texi, set.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
93 @group |
6741 | 94 A*x = b |
95 lb <= x <= ub | |
96 A_lb <= A_in*x <= A_ub | |
9068
5d3059e2a34c
Cleanup documentation for optim.texi, set.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
97 @end group |
6741 | 98 @end example |
99 @end ifnottex | |
100 | |
6502 | 101 @DOCSTRING(qp) |
102 | |
9642
2ab5ace09d8b
doc/interpreter/optim.txi: document pqpnonneg
John W. Eaton <jwe@octave.org>
parents:
9209
diff
changeset
|
103 @DOCSTRING(pqpnonneg) |
2ab5ace09d8b
doc/interpreter/optim.txi: document pqpnonneg
John W. Eaton <jwe@octave.org>
parents:
9209
diff
changeset
|
104 |
4167 | 105 @node Nonlinear Programming |
3294 | 106 @section Nonlinear Programming |
107 | |
6741 | 108 Octave can also perform general nonlinear minimization using a |
109 successive quadratic programming solver. | |
110 | |
6502 | 111 @DOCSTRING(sqp) |
112 | |
4167 | 113 @node Linear Least Squares |
3294 | 114 @section Linear Least Squares |
115 | |
6741 | 116 Octave also supports linear least squares minimization. That is, |
6939 | 117 Octave can find the parameter @math{b} such that the model |
6741 | 118 @tex |
119 $y = xb$ | |
120 @end tex | |
121 @ifnottex | |
122 @math{y = x*b} | |
123 @end ifnottex | |
8828 | 124 fits data @math{(x,y)} as well as possible, assuming zero-mean |
6741 | 125 Gaussian noise. If the noise is assumed to be isotropic the problem |
126 can be solved using the @samp{\} or @samp{/} operators, or the @code{ols} | |
127 function. In the general case where the noise is assumed to be anisotropic | |
128 the @code{gls} is needed. | |
129 | |
130 @DOCSTRING(ols) | |
131 | |
3368 | 132 @DOCSTRING(gls) |
3294 | 133 |
7984
bbaa5d7d0143
Some documentation updates
David Bateman <dbateman@free.fr>
parents:
7018
diff
changeset
|
134 @DOCSTRING(lsqnonneg) |
8286
6f2d95255911
fix @seealso references to point to existing anchors
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7984
diff
changeset
|
135 |
6f2d95255911
fix @seealso references to point to existing anchors
Thorsten Meyer <thorsten.meyier@gmx.de>
parents:
7984
diff
changeset
|
136 @DOCSTRING(optimset) |
8817
03b7f618ab3d
include docstrings for new functions in the manual
John W. Eaton <jwe@octave.org>
parents:
8286
diff
changeset
|
137 |
03b7f618ab3d
include docstrings for new functions in the manual
John W. Eaton <jwe@octave.org>
parents:
8286
diff
changeset
|
138 @DOCSTRING(optimget) |