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:

  1. Lagrangian:

  2. Stationarity:

  3. Primal Feasibility:

  4. Dual Feasibility:

  5. 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:

  1. Linear Independence Constraint Qualification (LICQ): The gradients of all active constraints are linearly independent.

  2. Mangasarian-Fromovitz Constraint Qualification (MFCQ): The gradients of active inequality constraints are positively linearly independent.

  3. Slater’s Condition: For convex problems, there exists a strictly feasible point (a point satisfying all inequality constraints strictly).