Karush-Kuhn-Tucker conditions
KKT conditions, Karush–Kuhn–Tucker optimality conditions, KKT optimality conditions, Kuhn–Tucker conditions
Consider the general mathematical programming problem: \begin{equation} \begin{array}{lll} \mbox{minimize} & f(x), & x\in\mathbb{R}^n \\ \mbox{subject to} & g_i(x)\leq 0, & i=1,\ldots,p,\\ & h_j(x)=0, & j=1,\ldots,q, \end{array} \end{equation} with $f$, $g_i$, $h_j$ all continuously differentiable, and form the Lagrangian function \begin{equation} L(x,\lambda,\mu)=f(x)+\sum_{i=1}^{p}\lambda_i g_i(x) + \sum_{j=1}^{q}\mu_j h_j(x). \end{equation} The Karush–Kuhn–Tucker optimality conditions now are: \begin{equation} \begin{array}{rl} \dfrac{\partial}{\partial x_k}L(x,\lambda,\mu)=0, & k=1,\ldots,n,\\ \lambda_i\geq 0, & i=1,\ldots,p,\\ \lambda_i g_i(x)=0, & i=1,\ldots,p,\\ g_i(x)\leq 0, & i=1,\ldots,p,\\ h_j(x)=0, & j=1,\ldots,q. \end{array} \end{equation} Note that the two last conditions just say that $x$ is feasible and that the third conditions could be replaced by $\sum\lambda_i g_i(x)=0$ (given the second and fourth). Under suitable constraint qualifications, the KKT optimality conditions are necessary conditions for a local solution $x^*$ of the general mathematical programming problem, in the following sense.
If $x^*$ is a local minimum, then there are corresponding $\lambda^*$, $\mu^*$ such that the triple $(x^*,\lambda^*,\mu^*)$ satisfies the KKT optimality conditions. A triple satisfying the KKT optimality conditions is sometimes called a KKT-triple.
This generalizes the familiar Lagrange multipliers rule to the case where there are also inequality constraints.
The result was obtained independently by Karush in 1939, by F. John in 1948, and by H.W. Kuhn and J.W. Tucker in 1951, see [a1].
One suitable constraint qualification (for the case where there are no equality constraints) is $\overline{D}(x^*)=D(x^*)$, where $\overline{D}(x^*)$ is the closure of \begin{equation} D(x^*)=\left\{d\colon\exists\sigma > 0\colon\sigma\geq\tau\geq 0 \Rightarrow x^*+\tau d \quad\text{feasible}\right\} \end{equation} and \begin{equation} D(x^*)=\left\{d\colon\nabla g_i(x^*)^T d\geq 0,\quad i=1,\ldots,p\right\}, \end{equation} where $\nabla g_i(x^*)$ is the gradient vector of $g_i$ at $x^*$, \begin{equation} \nabla g_i(x^*)^T=\left(\dfrac{\partial g_i}{\partial x_1}(x^*),\ldots,\dfrac{\partial g_i}{\partial x_n}(x^*)\right), \end{equation} see [a2].
Given a KKT-triple $(x^*,\lambda^*,\mu^*)$, there are also (as in the case of Lagrange multipliers) second-order sufficient conditions that ensure local optimality of $x^*$.
References
[a1] | A.V. Fiacco, G.P. McCormick, "Nonlinear programming, sequential unconstrained minimization techniques" , SIAM (1968) (Edition: Reprinted) |
[a2] | W.I. Zangwill, "Nonlinear programming" , Prentice-Hall (1969) |
[a3] | O.L. Mangasarian, "Nonlinear programming" , McGraw-Hill (1969) |
[a4] | G.P. McCormick, "Nonlinear programming: theory, algorithms, and applications" , Wiley (1983) |
[a5] | Jong-Shi Pang, "Complementarity problems" R. Horst (ed.) P.M. Pardalos (ed.) , Handbook of Global Optimization , Kluwer Acad. Publ. (1995) pp. 271–338 |
Karush-Kuhn-Tucker conditions. Encyclopedia of Mathematics. URL: http://encyclopediaofmath.org/index.php?title=Karush-Kuhn-Tucker_conditions&oldid=38762