octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Contribution to the optimization toolbox


From: Jaroslav Hajek
Subject: Re: Contribution to the optimization toolbox
Date: Fri, 4 Sep 2009 10:33:48 +0200

On Fri, Sep 4, 2009 at 1:06 AM, Leonardo
Martins<address@hidden> wrote:
> Hello there,
>
> I'm an experienced MATLAB user who has been working on applied
> optimization for the last 6+ years and have recently been introduced
> to the latest developments in Octave. Although many impressive
> improvements have been done in several areas since last time I played
> with Octave, from my very own perspective quite a few things could be
> done for the optimization toolbox. I believe many MATLAB Optimization
> Toolbox users would love to switch to Octave, and that's why I'm
> writing to you.
>
> I'm willing to help on the implementation of algorithms I have worked
> on for the Octave base, but first would like to know from the
> maintainers what the current development status is, and also what are
> the plans for future improvements. I have experience with interior
> point algorithms for nonlinear programming, as well C and MATLAB
> programming.
>
> Bottomline is: I would like to help but don't know how and where to start.
>
> Thanks for your attention.
>
> Regards,
>
>  -- L.M.
> Ph.D Student
> School of Electrical and Computer Engineering
> University of Campinas, Brazil
>

Regarding the status of Octave core, it currently includes
fzero (1d nonlinear equation),
fsolve (n-d nonl. eqn.), fminunc (n-d unc. min.)

lsqnonneg (least squares with non-negative variables)
glpk (linear programming, wrapper over GNU GLPK),
qp (quadratic programming)
sqp (general nonlinear programming)

what logically belongs amongst the first four, and is missing, is
fminbnd - 1d minimization solver. It should probably implement Brent's
or any similar method combining golden section search with inverse
interpolation (quadratic or higher), and should be patterned after
fzero, including the optimget/optimset support. I intend to eventually
do that myself, but I would be grateful for any help. Of course, the
1D algorithm is relatively simple and well-known, but it could be a
good start for you.

qp and sqp are more elaborate. qp could probably benefit from the QR
and Cholesky updating classes recently introduced into Octave, to
avoid matrix factorizations in each step. I guess that would be a big
project, though.

regarding the optim package of OctaveForge, as Michael said, there is
currently no organization or development direction; it's just a
collection of optimization codes from various authors. You can
contribute virtually anything here now. In the future, I'd like to
make the package more orthogonal to Octave core and reuse some of its
mechanisms, in particular optimget/optimset.

In any case, if you'd like to contribute to Octave, it's vital you
start working with the development sources.

if you have further questions, don't suppress them :)

regards

-- 
RNDr. Jaroslav Hajek
computing expert & GNU Octave developer
Aeronautical Research and Test Institute (VZLU)
Prague, Czech Republic
url: www.highegg.matfyz.cz



reply via email to

[Prev in Thread] Current Thread [Next in Thread]