Interactive Educational Modules in
Scientific Computing

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