diff doc/interpreter/optim.txi @ 6741:00116015904d

[project @ 2007-06-18 16:07:14 by jwe]
author jwe
date Mon, 18 Jun 2007 16:07:14 +0000
parents 6ab0a8767780
children 083721ae3dfa
line wrap: on
line diff
--- a/doc/interpreter/optim.txi	Sat Jun 16 15:51:49 2007 +0000
+++ b/doc/interpreter/optim.txi	Mon Jun 18 16:07:14 2007 +0000
@@ -5,6 +5,11 @@
 @node Optimization
 @chapter Optimization
 
+Octave comes with support for solving various kinds of optimization
+problems. Specifically Octave can solve problems in Linear Programming,
+Quadratic Programming, Nonlinear Programming, and Linear Least Squares
+Minimization.
+
 @menu
 * Linear Programming::       
 * Quadratic Programming::       
@@ -23,21 +28,98 @@
 @node Linear Programming
 @section Linear Programming
 
+Octave can solve Linear Programming problems using the @code{glpk}
+function.  That is, Octave can solve
+
+@iftex
+@tex
+$$
+  \min_x c^T x
+$$
+@end tex
+@end iftex
+@ifnottex
+@example
+min C'*x
+@end example
+@end ifnottex
+subject to the linear constraints
+@iftex
+@tex
+$Ax = b$ where $x \geq 0$.
+@end tex
+@end iftex
+@ifnottex
+@math{A*x = b} where @math{x >= 0}.
+@end ifnottex
+
+@noindent
+The @code{glpk} function also supports variations of this problem.
+
 @DOCSTRING(glpk)
 
 @node Quadratic Programming
 @section Quadratic Programming
 
+Octave can also solve Quadratic Programming problems, this is
+@iftex
+@tex
+$$
+ \min_x {1 \over 2} x^T H x + x^T q
+$$
+@end tex
+@end iftex
+@ifnottex
+@example
+min 0.5 x'*H*x + x'*q
+@end example
+@end ifnottex
+subject to
+@iftex
+@tex
+$$
+ Ax = b \qquad lb \leq x \leq ub \qquad A_{lb} \leq A_{in} \leq A_{ub}
+$$
+@end tex
+@end iftex
+@ifnottex
+@example
+     A*x = b
+     lb <= x <= ub
+     A_lb <= A_in*x <= A_ub
+@end example
+@end ifnottex
+
 @DOCSTRING(qp)
 
 @node Nonlinear Programming
 @section Nonlinear Programming
 
+Octave can also perform general nonlinear minimization using a
+successive quadratic programming solver.
+
 @DOCSTRING(sqp)
 
 @node Linear Least Squares
 @section Linear Least Squares
 
+Octave also supports linear least squares minimization.  That is,
+Octave can find the parameter @math{b} such the the model
+@iftex
+@tex
+$y = xb$
+@end tex
+@end iftex
+@ifnottex
+@math{y = x*b}
+@end ifnottex
+fits data @math{(x,y)} as good as possible, assuming zero-mean
+Gaussian noise.  If the noise is assumed to be isotropic the problem
+can be solved using the @samp{\} or @samp{/} operators, or the @code{ols}
+function.  In the general case where the noise is assumed to be anisotropic
+the @code{gls} is needed.
+
+@DOCSTRING(ols)
+
 @DOCSTRING(gls)
 
-@DOCSTRING(ols)