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://www.math.ufl.edu/~hager/papers/CG/ and http://www.math.ufl.edu/~hager/papers/CG/Archive/) 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.
Links are dead. Could you give new ones? Thank you:)
The new mex file is compatible with a wider variety of compilers now
Making it more powerful by allowing extra options parameter, and showing an example with NNLS. Also incorporating suggestions by James Tursa.