optimization



On 1/17/06, Daniel Lakeland <dlakelan at street-artists.org> wrote:

> Is there a way to make the routines in the "optmiz" library find an
> alternate point?

not so far as i know.

if i understand optmiz correctly, it formulates an augmented lagrangian
(to reduce the problem to an unconstrained optimization) and then
it calls the built-in solve function. so if solve returns multiple solutions,
i guess optmiz has the opportunity to choose among them.
maybe it wouldn't be too hard to modify optmiz to do that;
maybe optmiz is already doing that.

> Is there a canned numerical constrained optimizer routine?

the only one that i know of is augmented_lagrangian.mac
(which i wrote), which you can find here --
http://cvs.sf.net/viewcvs.py/maxima/maxima/share/contrib/

that script, like optmiz, forms an augmented lagrangian, but
then it uses a numerical method to solve it.
(the numerical method is to apply mnewton to grad L = 0;
that is very weak. however, maxima doesn't have a numerical
method for unconstrained optimization, which is a great lack.)

(i started to port a quasi-newton minimizer from fortran to lisp,
but i got sidetracked ... i should get back to that.)

> I recently used mnewton to do optimization with lagrange multipliers
> so I know it can be done that way. but I don't want to reinvent the
> wheel again if there's a better way.

what did you do? it may well be an improvement over augmented_lagrangian.

sorry i can't be more helpful. it is certainly possible i've
overlooked something.

robert dodier