In many large engineering design problems, it is not computationally feasible or realistic to store Jacobians or Hessians explicitly. Matrix-free implementations of standard optimization methods - that do not explicitly form Jacobians and Hessians, and possibly use quasi-Newton derivative approximations - circumvent those restrictions but such implementations are virtually non-existent. We develop a matrix-free augmented-Lagrangian algorithm for nonconvex problems with both equality and inequality constraints. Our implementation is developed in the Python language, is available as an open-source package, and allows for approximating Hessian and Jacobian information. We show that it is competitive with existing state-of-the-art solvers on the CUTEr (Gould et al., 2003) and COPS (Bondarenko et al.) collections. We report numerical results on a structural design problem inspired by aircraft wing design. The matrix-free approach makes solving problems with thousands of design variables and constraints tractable, even if the function and gradient evaluations are costly.
Published September 2014 , 21 pages