Karush–Kuhn–Tucker conditions

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

In mathematical optimization, the Karush–Kuhn–Tucker (KKT) conditions (also known as the Kuhn–Tucker conditions) are first order necessary conditions for a solution in nonlinear programming to be optimal, provided that some regularity conditions are satisfied. Allowing inequality constraints, the KKT approach to nonlinear programming generalizes the method of Lagrange multipliers, which allows only equality constraints. The system of equations corresponding to the KKT conditions is usually not solved directly, except in the few special cases where a closed-form solution can be derived analytically. In general, many optimization algorithms can be interpreted as methods for numerically solving the KKT system of equations.[1]

The KKT conditions were originally named after Harold W. Kuhn, and Albert W. Tucker, who first published the conditions in 1951.[2] Later scholars discovered that the necessary conditions for this problem had been stated by William Karush in his master's thesis in 1939.[3][4]

Nonlinear optimization problem

Consider the following nonlinear optimization problem:

Maximize f(x)
subject to
 g_i(x) \leq 0 , h_j(x) = 0

where x is the optimization variable, f is the objective or utility function, g_i \ (i = 1, \ldots,m) are the inequality constraint functions, and h_j \ (j = 1,\ldots,l) are the equality constraint functions. The numbers of inequality and equality constraints are denoted m and l, respectively.

Necessary conditions

Suppose that the objective function f : \mathbb{R}^n \rightarrow \mathbb{R} and the constraint functions g_i : \,\!\mathbb{R}^n \rightarrow \mathbb{R} and h_j : \,\!\mathbb{R}^n \rightarrow \mathbb{R} are continuously differentiable at a point x^*. If x^* is a local optimum and the optimization problem satisfies some regularity conditions (see below), then there exist constants \mu_i\ (i = 1,\ldots,m) and \lambda_j\ (j = 1,\ldots,l), called KKT multipliers, such that

File:Inequality constraint diagram.svg
Inequality constraint diagram for optimization problems
Stationarity
For maximizing f(x): \nabla f(x^*) = \sum_{i=1}^m \mu_i \nabla g_i(x^*) + \sum_{j=1}^l \lambda_j \nabla h_j(x^*),
For minimizing f(x): -\nabla f(x^*) = \sum_{i=1}^m \mu_i \nabla g_i(x^*) + \sum_{j=1}^l \lambda_j \nabla h_j(x^*),
Primal feasibility
g_i(x^*) \le 0, \mbox{ for all } i = 1, \ldots, m
h_j(x^*) = 0, \mbox{ for all } j = 1, \ldots, l \,\!
Dual feasibility
\mu_i \ge 0, \mbox{ for all } i = 1, \ldots, m
Complementary slackness
\mu_i g_i (x^*) = 0, \mbox{for all}\; i = 1,\ldots,m.

In the particular case m=0, i.e., when there are no inequality constraints, the KKT conditions turn into the Lagrange conditions, and the KKT multipliers are called Lagrange multipliers.

If some of the functions are non-differentiable, subdifferential versions of Karush–Kuhn–Tucker (KKT) conditions are available.[5]

Regularity conditions (or constraint qualifications)

In order for a minimum point x^* to satisfy the above KKT conditions, the problem should satisfy some regularity conditions; the most used ones are listed below:

(v_1,\ldots,v_n) is positive-linear dependent if there exists a_1\geq 0,\ldots,a_n\geq 0 not all zero such that a_1v_1+\cdots+a_nv_n=0.

It can be shown that LICQ⇒MFCQ⇒CPLD⇒QNCQ, LICQ⇒CRCQ⇒CPLD⇒QNCQ (and the converses are not true), although MFCQ is not equivalent to CRCQ.[6] In practice weaker constraint qualifications are preferred since they provide stronger optimality conditions.

Sufficient conditions

In some cases, the necessary conditions are also sufficient for optimality. In general, the necessary conditions are not sufficient for optimality and additional information is necessary, such as the Second Order Sufficient Conditions (SOSC). For smooth functions, SOSC involve the second derivatives, which explains its name.

The necessary conditions are sufficient for optimality if the objective function f of a maximization problem is a concave function, the inequality constraints g_j are continuously differentiable convex functions and the equality constraints h_i are affine functions.

It was shown by Martin in 1985 that the broader class of functions in which KKT conditions guarantees global optimality are the so-called Type 1 invex functions.[7][8]

Second Order Sufficient Conditions

For smooth, non-linear optimisation problems, a second order sufficient condition is given as follows. Consider x^*, \lambda^*, \rho^* that find a local minimum using the Karush-Kuhn-Tucker conditions above. With \rho^* such that strict complementarity is held at x^*(i.e. all \mathbb{\rho}_i > 0), then for all s \ne 0 such that

\left[ \frac{\partial g(x^*)}{\partial x},  \frac{\partial h(x^*)}{\partial x}  \right]^T s = 0

the following equation must hold;

s'\nabla ^2_{xx}L(x^*,\lambda^*,\rho^*)s > 0

If the above condition is strictly met, the function is a strict constrained local minimum.

Economics

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

Often in mathematical economics the KKT approach is used in theoretical models in order to obtain qualitative results. For example, consider a firm that maximizes its sales revenue subject to a minimum profit constraint. Letting Q be the quantity of output produced (to be chosen), R(Q) be sales revenue with a positive first derivative and with a zero value at zero output, C(Q) be production costs with a positive first derivative and with a non-negative value at zero output, and G_{min} be the positive minimal acceptable level of profit, then the problem is a meaningful one if the revenue function levels off so it eventually is less steep than the cost function. The problem expressed in the previously given minimization form is

Minimize  -R(Q)
subject to
 G_{min} \le R(Q) - C(Q)
 Q \ge 0,

and the KKT conditions are

 (\text{d} R / \text{d} Q) (1+\mu ) - \mu (\text{d} C / \text{d} Q) \le 0,
Q \ge 0,
Q[(\text{d} R / \text{d} Q) (1+\mu ) - \mu(\text{d} C / \text{d} Q)] = 0,
R(Q) - C(Q) - G_{min} \ge 0,
\mu \ge 0,
\mu [R(Q) - C(Q) - G_{min}] = 0.

Since Q=0 would violate the minimum profit constraint, we have Q>0 and hence the third condition implies that the first condition holds with equality. Solving that equality gives

\text{d} R / \text{d} Q = \frac{\mu}{1+ \mu}(\text{d} C / \text{d} Q).

Because it was given that \text{d} R / \text{d} Q and \text{d} C / \text{d} Q are strictly positive, this inequality along with the non-negativity condition on \mu guarantees that \mu is positive and so the revenue-maximizing firm operates at a level of output at which marginal revenue  \text{d} R / \text{d} Q is less than marginal cost  \text{d} C / \text{d} Q — a result that is of interest because it contrasts with the behavior of a profit maximizing firm, which operates at a level at which they are equal.

Value function

If we reconsider the optimization problem as a maximization problem with constant inequality constraints,v.

 \text{Maximize }\; f(x)
 \text{subject to }\
 g_i(x) \le a_i , h_j(x) = 0.

The value function is defined as

V(a_1, \ldots, a_n) = \sup\limits_x f(x)
 \text{subject to }\
 g_i(x) \le a_i , h_j(x) = 0
 j\in\{1,\ldots, l\}, i\in\{1,\ldots,m\}.

(So the domain of V is \{a \in \mathbb{R}^m | \text{for some }x\in X, g_i(x) \leq a_i, i \in \{1,\ldots,m\}.)

Given this definition, each coefficient, \mu_i, is the rate at which the value function increases as a_i increases. Thus if each a_i is interpreted as a resource constraint, the coefficients tell you how much increasing a resource will increase the optimum value of our function f. This interpretation is especially important in economics and is used, for instance, in utility maximization problems.

Generalizations

With an extra constant multiplier \mu_0, which may be zero, in front of \nabla f(x^*) the KKT stationarity conditions turn into

\mu_0 \nabla f(x^*) + \sum_{i=1}^m \mu_i \nabla g_i(x^*) + \sum_{j=1}^l \lambda_j \nabla h_j(x^*) = 0,

which are called the Fritz John conditions.

The KKT conditions belong to a wider class of the First Order Necessary Conditions (FONC), which allow for non-smooth functions using subderivatives.

See also

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found. MR 47303
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.

Further reading

  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.

External links