Penalty Function Method
This module demonstrates the penalty function method for constrained
optimization. The penalty function method computes an approximate
solution to a constrained optimization problem by successive
unconstrained optimization of a weighted combination of the original
objective function and a function that penalizes violation of the
constraints. By varying the penalty parameter, the method converges
iteratively to an approximate solution of the original constrained
optimization problem.
The user begins by choosing either a preset example or typing in a
desired objective function f(x,
y), constraint function g(x,
y), and initial guess for the solution. The constraint
function is plotted in red, contours of the penalized objective
function are plotted in blue, and the current approximate solution is
shown by a green bullet. The steps of the penalty function method are
then carried out sequentially by repeatedly clicking on NEXT or on the
currently highlighted step. The penalty parameter ρ for
each iteration is chosen using the slider. To approach feasibility,
ρ should successively increase, weighting constraint
satisfaction more heavily. After the value for ρ has been
selected, the user clicks Done and moves on to the next step, in
which the unconstrained minimum of the current penalty function is
computed using the previous solution as starting point. The whole
process can be repeated until it converges to the approximate
constrained solution. Values for successive iterates are recorded in
the table below.
Reference: Michael T. Heath, Scientific Computing,
An Introductory Survey, 2nd edition, McGraw-Hill, New York,
2002. See Section 6.7.2, especially Example 6.16.
Developers: Jessica Schoen and Michael Heath