*
VMACO, the Variable Metric Algorithm for Constrained Optimization, is a
non-linear program developed to calculate the least value of a function
of n variables subject to general constraints (both equality and inequality).
Generally, the first set of constraints is an equality (the target)
and the remaining constraints are inequalities (boundaries). The VMACO
program utilizes an iterative method in seeking the optimal solution. It
can be "hooked" into a driver program (examples are provided) which can
calculate the values for the real function, constraints, and their first
order partials with respect to the controls.*

*
It is assumed that the objective function is convex and unimodal in nature.
The user should be familiar enough with his simulation so that local
maxima and minima can be recognized.*

*
The algorithm is based upon a variable metric method presented by
M.J.D. Powell and a quadratic programming method by R. Fletcher. This
implementation requires more overhead in calculating each new control
variable, but fewer iterations are required for convergence. In comparison
with other algorithms, it has been found that VMACO handles test cases with
constraints particularly well, and that less execution time is necessary
for convergence.*

This program was released by NASA through COSMIC as MSC-21275. The italicized text above is from the official NASA release.

- Go to the page of references for the VMACO program.
- Download vmaco.zip, containing the original source code, the source code converted to modern Fortran, and several test cases.