VMCWD: a Fortran subroutine for constrained optimization. A listing is given of a Fortran subroutine that calculates the least value of a function of several variables subject to general equality and inequality constraints. The user must provide an auxiliary subroutine that computes the objective and constraint functions and their gradients for any vector of variables. The underlying algorithm is a variable Metric method for Constrained optimization that includes the Watch-Dog technique, which gives the acronym VMCWD. This method is particularly efficient in terms of the number of function and gradient evaluations, but the overheads per iteration are expensive when the time to calculate functions and gradients is negligible.

This software is also peer reviewed by journal TOMS.