On Thu, Jan 19, 2012 at 6:13 PM, Olaf Till
<address@hidden> wrote:
On Thu, Jan 19, 2012 at 10:29:38AM -0500, Jonathan Lalande wrote:
> Hi Olaf,
>
> I definitely need more speed. In fact, it's not really important to
> me if the optimizer is stochastic, deterministic, or can use
> multicore processor. Since I am able to visually accept or reject
> the outcome of the optimization routine, I only need a function that
> can converge to an acceptable solution, as fast as possible.
>
> Of all the functions that I found in the optim package (or anywhere
> else in the Octave function list), samin seems to be the only one to
> do constrained optimization for more than one variable.
Please keep the list CCed.
The following optimization functions feature linear and nonlinear
constraints:
1. 'sqp', which is in core Octave minimizes a single-valued objective
function of an arbitrary number of variables (constraints are
honoured for the result, but not for intermediate results),
2. 'nonlin_residmin', 'nonlin_curvefit', and 'leasqr', which are in
the optim package minimize (sum of squares of) residuals of a model
function of an arbitrary number of variables (constraints are
honoured even for intermediate results).
AFAIK there is not yet a minimizer of a single-valued objective
function of many variables which honours constraints even for
intermediate results in Octave or Octave Forge. The functions in item
(2.) above can be disused for this, i.e. they should be stable enough,
but are not made for this and so are probably not very efficient for
this purpouse.
You could use the C++ API of Octave and the GLPK library with the
modelling language MathProg to easily build and solve LPs with as many
constraints and variables as you wish.