Lecture 13: Quadratic Programming and KKT Conditions

Lecture 13: Quadratic Programming (QP) and KKT Conditions

1. Introduction

Quadratic Programming (QP) is a special type of optimization problem where the objective function is quadratic and the constraints are linear. It is one of the most important optimization frameworks in machine learning, especially in Support Vector Machines (SVMs), portfolio optimization, and control systems.

2. General Form of Quadratic Programming

Minimize:   f(x) = 1/2 xTQx + cTx
Subject to:   Ax ≤ b,   Ex = d

3. Types of Quadratic Programming

4. Properties of Quadratic Programming

5. Karush–Kuhn–Tucker (KKT) Conditions

The KKT conditions are first-order necessary conditions for a solution in nonlinear programming to be optimal, under certain regularity conditions.

L(x, λ, μ) = f(x) + λT(Ex - d) + μT(Ax - b)

Conditions:
1. Stationarity: ∇f(x) + ETλ + ATμ = 0
2. Primal feasibility: Ex = d,   Ax ≤ b
3. Dual feasibility: μ ≥ 0
4. Complementary slackness: μi(aix - bi) = 0

6. Example

Problem:
Minimize: f(x) = (1/2)(x12 + x22) - x1 - 2x2
Subject to: x1 + x2 ≤ 1,   x1, x2 ≥ 0

Solution Steps:
  1. Formulate Lagrangian with multipliers λ and μ.
  2. Apply KKT conditions for stationarity and feasibility.
  3. Solve system to find optimal x1, x2.
This is a convex QP since Q = I (identity matrix) is positive definite.

7. Applications in Machine Learning

8. Summary