[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Octave-bug-tracker] [bug #35333] [octave forge] (optim) implement fminc
From: |
Olaf Till |
Subject: |
[Octave-bug-tracker] [bug #35333] [octave forge] (optim) implement fmincon via a wrapper for sqp |
Date: |
Wed, 2 Jan 2019 06:40:23 -0500 (EST) |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0 |
Follow-up Comment #6, bug #35333 (project octave):
I pushed a new fmincon to optim yesterday:
https://sourceforge.net/p/octave/optim/ci/default/tree/inst/fmincon.m
Not a wrapper, but uses some of the same subfunctions as the other frontends
(after putting much code of these into subfunctions).
Contrary to nonlin_min, fmincon offers only 2 algorithms, Octaves sqp function
and optims "lm_feasible" algorithm. According to
https://de.mathworks.com/help/optim/ug/choosing-the-algorithm.html
, the default algorithm of fmincon "satisfies bounds at all iterations". So I
thought I make optims "lm_feasible" algorithm the default, which satisfies all
constraints (not only bounds) at all iterations. However, sqp performs better
than "lm_feasible" for problems with many constraints. Maybe the choice of the
default algorithm should be discussed.
Returning gradient, Hessian, and lambda is not implemented. The handling of
this is partially implemented in other frontends of optim, but needs
re-working. I think there should be an extra function for computing gradient,
Hessian, and lambda at the result, independently from the algorithm.
Currently, some frontends return a lambda which is not well usable for
assessing the influence of constraints onto the result.
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?35333>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Octave-bug-tracker] [bug #35333] [octave forge] (optim) implement fmincon via a wrapper for sqp,
Olaf Till <=