mex interface for bound constrained optimization via ASA

ASA solves bound constrained problems; the user provides routines to calculate the function and grad
901 descargas
Actualizado 23 ene 2018

Ver licencia

ASA (Active-Set Algorithm) is a bound constrained optimization program developed W. W. Hager and H. Zhang. In recent academic tests (e.g. "Evaluating bound-constrained minimization software" by E. Birgin and J. Gentil, 2011) it has been shown to be very fast (even faster than L-BFGS-B).
The original code (see http://users.clas.ufl.edu/hager/papers/CG/ and http://users.clas.ufl.edu/hager/papers/CG/asa.pdf) is written in C. This Matlab package is a mex gateway routine, along with a simple sample file that gets you started.
It requires you to compile with the mex compiler, but there are no necessary libraries, so if you have a C compiler, it should be very straightforward.

The test_ASA.m file installs everything: it downloads the C files, and it runs the mex compiler. The file also has a little test, and it shows how to make an example with non-negative least-squares (NNLS). For the NNLS problem, I include 3 driver routines that use an additional input of parameters so that you can re-use those functions even when parameters change; this trick should be useful for other problems.

The ASA method uses an active-set approach, and a state-of-the-art non-linear CG algorithm ("cg_descent") to solve the subproblems. Info available at http://www.math.ufl.edu/~hager/papers/CG/asa.pdf

This mex interface works with v2.2 of their code; there are no guarantees it will work with a future version. It should work with any version of Matlab.
Update (2018): the wrapper is adapted to work with v3.0 of their code, though it has not been extensively checked

Citar como

Stephen Becker (2024). mex interface for bound constrained optimization via ASA (https://www.mathworks.com/matlabcentral/fileexchange/35814-mex-interface-for-bound-constrained-optimization-via-asa), MATLAB Central File Exchange. Recuperado .

Compatibilidad con la versión de MATLAB
Se creó con R2010a
Compatible con cualquier versión
Compatibilidad con las plataformas
Windows macOS Linux
Categorías
Más información sobre Nonlinear Optimization en Help Center y MATLAB Answers.
Agradecimientos

Inspirado por: zeroSR1

Inspiración para: zeroSR1

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Versión Publicado Notas de la versión
1.3.0.0

Now gives user the option to download ASA-CG ver 3.0 (the default) rather than the older ver 2.2; also, updated links to Hager's new website.

1.2.0.0

The new mex file is compatible with a wider variety of compilers now

1.1.0.0

Making it more powerful by allowing extra options parameter, and showing an example with NNLS. Also incorporating suggestions by James Tursa.

1.0.0.0