KKT Condition

이정훈·2026년 8월 25일

KKT Condition (Karush-Kuhn-Tucker Condition)

개념

  • 라그랑주 승수법은 등식 제약(equality constraint) g(x)=0g(x) = 0 만 다룸
  • 제약 조건이 부등식(inequality constraint) g(x)0g(x) \leq 0 형태이면, 기존의 L=0\nabla \mathcal{L} = 0 조건만으로는 부족하고 아래 조건들이 추가로 필요함:
    • μg(x)=0\mu \, g(x) = 0 (상보성 조건, complementary slackness)
    • μ0\mu \geq 0 (듀얼 실행가능 조건, dual feasibility)
  • 이 조건들을 통틀어 KKT 조건이라고 함

Auxiliary Function

L(x,μ)=f(x)+μg(x)\mathcal{L}(x, \mu) = f(x) + \mu \, g(x)

KKT 조건 정리

부등식 제약을 갖는 최적화 문제

minimize f(x)subject to g(x)0\text{minimize } f(x) \quad \text{subject to } g(x) \leq 0

에 대해, 최적점 xx^* 는 다음 조건들을 만족해야 함:

  1. 정상성 조건 (Stationarity)

    f(x)+μg(x)=0\nabla f(x^*) + \mu \nabla g(x^*) = 0
  2. 원 문제 실행가능 조건 (Primal Feasibility)

    g(x)0g(x^*) \leq 0
  3. 듀얼 실행가능 조건 (Dual Feasibility)

    μ0\mu \geq 0
  4. 상보성 조건 (Complementary Slackness)

    μg(x)=0\mu \, g(x^*) = 0

각 조건의 의미

μ=0\mu = 0 인 경우 — 제약이 "느슨함" (inactive)

  • 상보성 조건에 의해 μ=0\mu = 0 이면 g(x)<0g(x^*) < 0 이어도 무방함
  • 이는 곧 제약 조건 g(x)0g(x) \leq 0 이 최적점을 찾는 데 아무 영향을 주지 않는다는 뜻
  • 즉, 제약이 없어도 어차피 ff의 최적점이 실행가능 영역 내부에 존재하는 상황 → 그냥 f(x)=0\nabla f(x^*) = 0 인 일반적인 최적화와 동일

μ>0\mu > 0 인 경우 — 제약이 "활성화됨" (active)

  • 상보성 조건에 의해 μ>0\mu > 0 이면 반드시 g(x)=0g(x^*) = 0 이어야 함
  • 즉, 최적점이 실행가능 영역의 경계(boundary) 위, 정확히 g(x)=0g(x) = 0 인 지점에 위치함
  • 이 경우엔 등식 제약이 있을 때의 라그랑주 승수법과 동일하게, f\nabla fg\nabla g 가 서로 평행(스칼라배 관계)이 되는 지점을 찾는 문제로 환원됨
  • μ0\mu \geq 0 이라는 부호 조건은 f\nabla f 가 실행가능 영역을 벗어나는 방향(즉 gg가 증가하는 방향)과 반대 방향을 향해야 한다는 것을 보장 — 그래야 경계에서 더 이상 ff를 줄일 수 없는 최적점이 됨

기하학적 해석

  • 등식 제약: 최적점은 반드시 곡선(경계) 위에 있어야 함
  • 부등식 제약: 최적점은 경계 위에 있을 수도, 영역 내부에 있을 수도 있음
    • 내부에 있으면 (μ=0\mu = 0) → 제약이 없는 것과 동일한 상황
    • 경계 위에 있으면 (μ>0\mu > 0) → 등식 제약 문제로 환원되고, f\nabla fg\nabla g 가 반대 방향이 아니라 같은 방향(부호 일치) 으로 정렬됨

Multiple Inequality Constraints (추가 예정)

  • 부등식 제약이 여러 개인 경우, 각 제약마다 μi0, μigi(x)=0\mu_i \geq 0,\ \mu_i g_i(x) = 0 조건이 붙고
    f(x)+iμigi(x)=0\nabla f(x^*) + \sum_i \mu_i \nabla g_i(x^*) = 0
    형태로 확장됨 (등식 제약의 λi\lambda_i 와 함께 섞어 쓸 수도 있음)
profile
AngDDo

0개의 댓글