Volume 9, Issue 4
Tricks of the Trade
In and Out
Download This Issue
Staff and Contributors
Tricks of the Trade
Using Reduce To Solve The Kuhn-Tucker Equations
Frank J. Kampas
The functions Maximize and Minimize give exact solutions to simple nonlinear optimization problems with equality and inequality constraints. Another approach is to set up Lagrange multipliers for equality constraints and the Kuhn-Tucker equations for inequality constraints (see mathworld.wolfram.com/Kuhn-TuckerTheorem.html) and solve using Reduce. In some cases, this approach can solve problems which cannot directly be solved with Maximize and Minimize. The following function demonstrates this approach.
Here is an example with an equality constraint in which both the maximum and minimum are obtained. Defining the objective function with a constraint and listing it first in the list of variables places the objective function first in the results.
Equivalent results are obtained by using Maximize and Minimize.
KuhnTucker can solve the problem when the righthand side of the constraint is changed from a number to a symbol.
Maximize and Minimize give an error message in this situation.
In the following example, the constraint is only active if is less than 1. Therefore, the solution obtained covers and separately.
When the solution is degenerate, all the results can be obtained.
The following problem can be solved quite easily if the objective function is not defined as a constraint. Adding the extra constraint greatly increases the solution time. The problem cannot be solved by Minimize or NMinimize unless a change of variables is used to eliminate the square roots.
Using Reduce with domain specified eliminates complex solution candidates.
Note, however, that using Lagrange multipliers and the Kuhn-Tucker equations relies on assumptions that the code does not check. For instance, the solution set of equational constraints should be a manifold of dimension , where is the number of variables and is the number of equations. If this is not satisfied, KuhnTucker may not find the extremum.
Maximize and Minimize work in this situation.
About Mathematica | Download Mathematica Player
© 2005 Wolfram Media, Inc. All rights reserved.