The Karush-Kuhn-Tucker (KKT) conditions are first-order necessary conditions for a solution in nonlinear programming to be optimal. Named after William Karush, Harold W. Kuhn, and Albert W. Tucker, these conditions generalize the method of Lagrange multipliers to handle inequality constraints.
Background
The KKT conditions apply to the general constrained optimization problem:
\begin{align} \min_{\theta} \quad & L(\theta)\ \text{subject to:} \quad & E_j(\theta) = 0, \quad j = 1,2,...,m\ & I_k(\theta) \geq 0, \quad k = 1,2,...,n \end{align}
where:
- is the objective function to be minimized
- are equality constraints
- are inequality constraints
- is the design vector
The KKT Conditions
For a solution to be a local optimum of the constrained problem, the following KKT conditions must be satisfied:
1. Stationarity
This can be written as the gradient of the Lagrangian equals zero:
where the Lagrangian is defined as:
2. Primal Feasibility
a) All equality constraints are satisfied:
b) All inequality constraints are satisfied:
3. Dual Feasibility
The Lagrange multipliers for inequality constraints are non-negative:
4. Complementary Slackness
This means that for each inequality constraint, either:
- The constraint is active (binding): and , or
- The constraint is inactive: and
Interpretation of the Conditions
The KKT conditions have important interpretations:
Stationarity
At the optimum, the gradient of the objective function must be in the span of the gradients of active constraints. This means that any attempt to improve the objective must violate at least one constraint.
Complementary Slackness
This condition embodies the idea that inequality constraints only influence the optimal solution when they are active (binding). If a constraint is not active, its corresponding multiplier is zero, meaning it has no effect on the solution.
Dual Feasibility
The non-negativity of multipliers for inequality constraints reflects that these constraints are one-sided. Relaxing an inequality constraint can only improve (or leave unchanged) the objective value.
Example
Consider the problem:
\begin{align} \min_{x,y} \quad & x^2 + y^2\ \text{subject to:} \quad & x + y \geq 2 \end{align}
Let’s apply the KKT conditions:
-
Lagrangian:
-
Stationarity:
-
Primal Feasibility:
-
Dual Feasibility:
-
Complementary Slackness:
From stationarity, . From complementary slackness, either or .
If , then , violating primal feasibility. If , then .
Therefore, is the solution, with .
Special Cases
Linear Programming
For linear programming problems (linear objective and constraints), the KKT conditions are both necessary and sufficient for optimality.
Convex Programming
For convex programming problems (convex objective, convex inequality constraints, and affine equality constraints), the KKT conditions are both necessary and sufficient for global optimality.
Constraint Qualifications
The KKT conditions are guaranteed to be necessary conditions for optimality only when certain constraint qualifications are satisfied. Common constraint qualifications include:
-
Linear Independence Constraint Qualification (LICQ): The gradients of all active constraints are linearly independent.
-
Mangasarian-Fromovitz Constraint Qualification (MFCQ): The gradients of active inequality constraints are positively linearly independent.
-
Slater’s Condition: For convex problems, there exists a strictly feasible point (a point satisfying all inequality constraints strictly).