Take the 2-minute tour ×
Computational Science Stack Exchange is a question and answer site for scientists using computers to solve scientific problems. It's 100% free, no registration required.

Do you know some good free Matlab LBFGS implementations?

The only one I know (and use for the moment) is Liam Stewart's (it can be found at the following link: http://www.cs.toronto.edu/~liam/software.shtml)

My interest is using these algorithms in shape optimization problems, where the sizes of the problems tend to get very large.

Do you have any other suggestions of good and fast packages that can be used for optimizatioin problems?

share|improve this question
1  
Hi BeniBogosel, and welcome to Scicomp! You may want to look the answers to this question as well: scicomp.stackexchange.com/questions/2393/… –  Paul Jan 11 '13 at 14:51

2 Answers 2

up vote 6 down vote accepted

The 'minFunc' MATLAB package (by Mark Schmidt) is one of the best available: http://www.di.ens.fr/~mschmidt/Software/minFunc.html

This package is fairly mature and has been widely used in the ML community. It contains a stable L-BFGS implementation as well as related Newton and quasi-Newton optimization methods.

share|improve this answer
    
Thank you for the info. I'll try it :) –  Beni Bogosel Jan 25 '13 at 23:05

A good Matlab implementation of limited-memory BFGS is the one accompanying Tim Kelley's book Iterative Methods for Optimization (SIAM, 1999; PDF freely downloadable from the publisher's website). You can find his Matlab codes here.

Regarding your second question: I would suggest implementing the algorithm yourself, since it is then much easier to adapt to the special structure of your specific problem (parameter tuning, exploiting derivative information, etc.).

share|improve this answer
    
Thank you. I'll give it a try. :) –  Beni Bogosel Jan 11 '13 at 16:33

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.