stevengj / nlopt

library for nonlinear optimization, wrapping many algorithms for global and local, constrained or unconstrained, optimization
Other
1.84k stars 567 forks source link

DFLS/DFBOLS algorithm #222

Open moritzdrechselgrau opened 5 years ago

moritzdrechselgrau commented 5 years ago

Hi Steven,

are there any plans to add the DFLS/DFBOLS algorithm by Zhang, Conn and Scheinberg (2010) in the SIAM Journal on Optimization to the list of available algorithms? DFLS and DFBOLS are modifications of the NEWUOA/BOBYQA algorithms that take advantage of the problem structure in order to improve performance. In particular, they improve performance by constructing individual models which interpolate each function contributing to the least-squares objective rather than to the objective itself.

The DFLS/DFBOLS algorithm is implemented in Fortran (available upon request from Hongchao Zhang, https://www.math.lsu.edu/~hozhang/) and is becoming popular in quantitative economics. Since I use Julia instead of Fortran, it would be great to have a C-version in Nlopt that I can call via the JuMP package.

Thanks a lot!

Link to the paper: https://www.math.lsu.edu/~hozhang/papers/GlobalDFLS.pdf

jschueller commented 5 years ago

can you post the fortran version ?

moritzdrechselgrau commented 5 years ago

Sorry for the late reply. Here is the code which is free for education and research purposes.

DFBOLS-Web.tar.gz

jschueller commented 5 years ago

"free for education and research purposes" so it's not free software ? where is the license ?

moritzdrechselgrau commented 5 years ago

In the file bobyqa_h.f

jschueller commented 5 years ago

oh so it's gpl, this is fine then, however this would make gpl too instead of lgpl

stevengj commented 5 years ago

NLopt does not have an API for specialized forms of the objective function like least-squares. It could be added, of course, but I always thought of this as being out of scope — something to implement in a different package.