맨위로가기

카루시-쿤-터커 조건

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

카루시-쿤-터커(KKT) 조건은 비선형 최적화 문제의 해가 되기 위한 필요 조건을 나타낸다. KKT 조건은 목적 함수, 부등식 제약 조건, 등식 제약 조건으로 구성된 최적화 문제에 적용되며, 정류성, 프라이멀 실행 가능성, 듀얼 실행 가능성, 상보적 완화 조건을 포함한다. KKT 조건이 성립하기 위해서는 특정 정규성 조건이 충족되어야 하며, 볼록 최적화 문제의 경우 충분 조건이 되기도 한다. KKT 조건은 경제학, 특히 효용 극대화 문제와 같은 분야에도 응용된다. 프리츠 존 조건은 KKT 조건을 일반화한 형태이다.

더 읽어볼만한 페이지

  • 수학적 최적화 - 제약된 최적화
    제약된 최적화는 제약 조건을 만족하는 해 중에서 목적 함수를 최적화하는 해를 찾는 문제로, 자원 할당, 스케줄링 등에 활용되며, 다양한 제약 조건과 해법을 통해 해결될 수 있습니다.
  • 수학적 최적화 - 모서리해
    모서리 해는 경제학에서 소비자가 예산 제약 하에 효용을 극대화할 때, 두 상품 중 하나만 소비하는 경우를 의미하며, 이는 소비자의 극단적인 선택이나 완전 대체재 관계에서 가격이 낮은 상품만 구매하는 경우 등에 나타나는 현상입니다.
카루시-쿤-터커 조건
개요
분야수학적 최적화
하위 분야비선형 계획법
이름의 유래윌리엄 카루시
해럴드 W. 쿤
앨버트 W. 터커
설명
목적최적화 문제의 해를 구하는 조건
제약 조건등식 제약 및 부등식 제약
활용경제학
공학
운영 연구
관련 개념
관련 개념라그랑주 승수법
쌍대성
슬랙 변수
역사
개발자윌리엄 카루시 (1939)
해럴드 W. 쿤 및 앨버트 W. 터커 (1951)

2. 비선형 최적화 문제

표준 형식의 비선형 최적화 문제는 다음과 같이 표현된다.[1]


  • 최소화: f(\mathbf{x})
  • 제약 조건:
  • g_i(\mathbf{x}) \leq 0
  • h_j(\mathbf{x}) =0


여기서 \mathbf{x} \in \mathbf{X}\mathbb{R}^{n}볼록 부분 집합에서 선택된 최적화 변수이고, f는 목적 또는 효용 함수이며, g_i \ (i = 1, \ldots, m) 는 부등식 제약 조건 함수이고, h_j \ (j = 1, \ldots, \ell) 는 등식 제약 조건 함수이다. 부등식 제약 조건의 수는 m, 등식 제약 조건의 수는 \ell이다.

KKT 조건이 국소 최적해의 필요조건이 되려면 몇 가지 정규 조건이 만족되어야 한다. 예를 들어, f볼록 함수이고, g_ih_j가 아핀 함수인 경우 등이 있다.[1]

부등식 제약 조건 \;g_i(x) \leq 0\; 은 무제약 슬랙 변수 s_i를 도입하여 등식 제약 조건 \;g_i(x) + s_i^2 = 0 으로 변환하여 다룰 수도 있다.[1]

2. 1. 라그랑지안 함수

다음과 같은 표준 형식의 비선형 최적화 문제를 고려한다.

:최소화 f(\mathbf{x})

:제약 조건

:: g_i(\mathbf{x}) \leq 0,

:: h_j(\mathbf{x}) =0.

여기서 \mathbf{x} \in \mathbf{X}\mathbb{R}^{n}볼록 부분 집합에서 선택된 최적화 변수이고, f는 목적 또는 효용 함수이며, g_i \ (i = 1, \ldots, m) 는 부등식 제약 조건 함수이고, h_j \ (j = 1, \ldots, \ell) 는 등식 제약 조건 함수이다. 부등식과 등식의 개수는 각각 m\ell로 표시한다. 제약된 최적화 문제에 해당하는 라그랑지안 함수를 구성할 수 있다.

\mathcal{L}(\mathbf{x},\mathbf{\mu},\mathbf{\lambda}) = f(\mathbf{x}) + \mathbf{\mu}^\top \mathbf{g}(\mathbf{x}) + \mathbf{\lambda}^\top \mathbf{h}(\mathbf{x})=L(\mathbf{x}, \mathbf{\alpha})=f(\mathbf{x})+\mathbf{\alpha}^\top \begin{pmatrix}

\mathbf{g}(\mathbf{x}) \\

\mathbf{h}(\mathbf{x})

\end{pmatrix}

여기서



\mathbf{g}\left(\mathbf{x}\right) = \begin{bmatrix}

g_{1}\left(\mathbf{x}\right) \\

\vdots \\

g_{i}\left(\mathbf{x}\right) \\

\vdots \\

g_{m}\left(\mathbf{x}\right)

\end{bmatrix},

\quad

\mathbf{h}\left(\mathbf{x}\right) = \begin{bmatrix}

h_{1}\left(\mathbf{x}\right) \\

\vdots \\

h_{j}\left(\mathbf{x}\right) \\

\vdots \\

h_{\ell}\left(\mathbf{x}\right)

\end{bmatrix},

\quad

\mathbf{\mu} = \begin{bmatrix}

\mu_{1} \\

\vdots \\

\mu_{i} \\

\vdots \\

\mu_{m} \\

\end{bmatrix},

\quad

\mathbf{\lambda} = \begin{bmatrix}

\lambda_{1} \\

\vdots \\

\lambda_{j} \\

\vdots \\

\lambda_{\ell}

\end{bmatrix}

\quad \text{및} \quad

\mathbf{\alpha} = \begin{bmatrix}

\mu \\

\lambda

\end{bmatrix}.

그러면 '''카루시-쿤-터커 정리'''는 다음을 명시한다.

(충분 조건) (\mathbf{x}^{\ast},\mathbf{\alpha}^\ast)\mathbf{x} \in \mathbf{X}에서 L(\mathbf{x},\mathbf{\alpha})안장점이고, \mathbf{\mu} \geq \mathbf{0}이면, \mathbf{x}^{\ast}는 위 최적화 문제에 대한 최적 벡터이다.

(필요 조건) f(\mathbf{x})g_i(\mathbf{x}), i = 1, \ldots, m\mathbf{X}에서 볼록이고, \mathbf{g}(\mathbf{x}_{0}) < \mathbf 0\mathbf{x}_{0} \in \operatorname{relint}(\mathbf{X})가 존재한다고 가정한다(즉, 슬레이터 조건이 성립한다). 그러면 위 최적화 문제에 대한 최적 벡터 \mathbf{x}^{\ast}에 벡터 \mathbf{\alpha}^\ast=\begin{bmatrix}\mu^* \\ \lambda^*\end{bmatrix}가 연관되어 있으며 \mathbf \mu^*\ge \mathbf 0을 만족하여 (\mathbf{x}^{\ast},\mathbf{\alpha}^\ast)L(\mathbf{x},\mathbf{\alpha})의 안장점이다.

이 접근 방식의 아이디어는 실행 가능한 집합 \mathbf{\Gamma} = \left\{ \mathbf{x} \in \mathbf{X} : g_i(\mathbf{x}) \leq 0, i = 1, \ldots, m \right\}에서 지지 초평면을 찾는 것이기 때문에, 카루시-쿤-터커 정리의 증명은 초평면 분리 정리를 사용한다.

3. KKT 조건 (필요 조건)

카루시-쿤-터커(KKT) 조건은 최적화 문제에서 국소 최적해(최소화 또는 최대화 문제)가 만족해야 하는 필요 조건이다. 라그랑주 승수법을 일반화하여 부등식 제약 조건을 다룰 수 있도록 확장한 것이다.

만약 x^*가 국소 최적해이고, 최적화 문제가 특정 정규성 조건을 만족한다면, 다음과 같은 네 가지 조건을 만족하는 KKT 승수 \mu_i\ (i = 1,\ldots,m)\lambda_j\ (j = 1,\ldots,\ell)가 존재한다.[8]

부등식 제약 조건 다이어그램

  • 정류성(Stationarity):
  • f(x)를 최소화하는 경우: \partial f(x^*) + \sum_{j=1}^\ell \lambda_j \partial h_j(x^*) + \sum_{i=1}^m \mu_i \partial g_i(x^*) \ni \mathbf 0
  • f(x)를 최대화하는 경우: -\partial f(x^*) + \sum_{j=1}^\ell \lambda_j \partial h_j(x^*) + \sum_{i=1}^m \mu_i \partial g_i(x^*) \ni \mathbf 0


이는 목적 함수 f의 변화가 제약 조건들의 변화와 균형을 이루어야 함을 의미한다. 최적점에서는 목적 함수를 더 이상 개선할 수 있는 방향이 없어야 한다.

  • 주 문제의 실행 가능 조건(Primal feasibility):
  • h_j(x^*) = 0, \text{ for } j = 1, \ldots, \ell \,\!
  • g_i(x^*) \le 0, \text{ for } i = 1, \ldots, m


이는 최적해가 모든 제약 조건을 만족해야 함을 의미한다.

  • 쌍대 문제의 실행 가능 조건(Dual feasibility):
  • \mu_i \ge 0, \text{ for } i = 1, \ldots, m


이는 부등식 제약 조건에 대한 라그랑주 승수(\mu_i)가 0보다 크거나 같아야 함을 의미한다. 부등식 제약 조건이 "느슨한" 경우(즉, g_i(x^*) < 0)에는 해당 제약 조건이 최적해에 영향을 미치지 않음을 뜻한다.

  • 상보적 완화 조건(Complementary slackness):
  • \sum_{i=1}^m \mu_i g_i (x^*) = 0.


이 조건은 \mu_ig_i(x^*) 둘 중 적어도 하나는 0이어야 함을 의미한다. 부등식 제약 조건이 활성화되지 않은 경우(g_i(x^*) < 0)에는 해당 라그랑주 승수가 0이 되고, 라그랑주 승수가 0이 아닌 경우(\mu_i > 0)에는 해당 부등식 제약 조건이 등식으로 만족되어야 한다(g_i(x^*) = 0).
경제학적 해석:제약 조건 g_i(x) \le a_i에서 각 a_i를 자원 제약 조건으로 해석하면, KKT 승수 \mu_i는 해당 자원이 증가함에 따라 목적 함수 f의 최적값이 얼마나 증가하는지를 나타낸다. 즉, \mu_i는 자원의 한계 가치를 의미한다.
참고:

  • m=0인 경우(부등식 제약 조건이 없는 경우), KKT 조건은 라그랑주 조건과 동일하며, KKT 승수는 라그랑주 승수라고 불린다.
  • 제약 조건이 특정 조건을 만족하지 않는 경우, KKT 조건을 만족하는 해가 반드시 최적해가 아닐 수 있다.

3. 1. 행렬 표현

야코비 행렬을 사용하여 KKT 조건을 간결하게 표현할 수 있다. \mathbf g(x) : \,\!\mathbb{R}^n \rightarrow \mathbb{R}^m\mathbf{g}(x) = \left( g_{1}(x), \ldots, g_{m}(x) \right)^\top로 정의하고, \mathbf h(x) : \,\!\mathbb{R}^n \rightarrow \mathbb{R}^{\ell}\mathbf{h}(x) = \left( h_{1}(x), \ldots, h_{\ell}(x) \right)^\top로 정의한다. \boldsymbol{\mu} = \left( \mu_1, \ldots, \mu_m \right)^\top\boldsymbol{\lambda} = \left( \lambda_1, \ldots, \lambda_{\ell} \right)^\top라고 하면, 필요 조건은 다음과 같이 나타낼 수 있다.[8]

  • '''정류성(Stationarity)'''
  • f(x)를 최대화하는 경우: \partial f(x^*) - D \mathbf g(x^*)^{\top} \boldsymbol{\mu} - D \mathbf h(x^*)^{\top} \boldsymbol{\lambda} = \mathbf 0
  • f(x)를 최소화하는 경우: \partial f(x^*) + D \mathbf g(x^*)^{\top} \boldsymbol{\mu} + D \mathbf h(x^*)^{\top} \boldsymbol{\lambda} = \mathbf 0

  • '''주 문제의 실행 가능 조건(Primal feasibility)'''
  • \mathbf g(x^*) \le \mathbf 0
  • \mathbf h(x^*) = \mathbf 0

  • '''쌍대 문제의 실행 가능 조건(Dual feasibility)'''
  • \boldsymbol \mu \ge \mathbf 0

  • '''상보적 완비성(Complementary slackness)'''
  • \boldsymbol \mu^{\top} \mathbf g (x^*) = 0.

4. 정규성 조건 (제약 조건)

KKT 조건이 국소 최적해의 필요조건이 되기 위해서는 몇 가지 정규성 조건(constraint qualification)을 만족해야 한다. 이러한 조건들은 최적화 문제의 제약 조건이 특정 성질을 만족하도록 보장한다. 주요 정규성 조건은 다음과 같다.

약어 | 설명
LCQ | g_i (부등식 제약) 및 h_j (등식 제약)가 아핀 함수이면, 다른 조건은 필요하지 않다.
LICQ | x^*에서 활성 부등식 제약 조건의 기울기(gradient)와 등식 제약 조건의 기울기가 선형 독립이다.
MFCQ | 등식 제약 조건의 기울기가 x^*에서 선형 독립이고, 모든 활성 부등식 제약 조건에 대해 \nabla g_i(x^*)^\top d < 0이고 모든 등식 제약 조건에 대해 \nabla h_j(x^*)^\top d = 0인 벡터 d \in \mathbb{R}^n이 존재한다.[10]
상수 랭크 제약 조건 (Constant rank constraint qualification) | CRCQ | 활성 부등식 제약 조건의 기울기와 등식 제약 조건의 기울기 각 부분 집합에 대해, x^* 근처에서 랭크(rank)가 일정하다.
CPLD | 활성 부등식 제약 조건의 기울기와 등식 제약 조건의 기울기의 각 부분 집합에 대해, 벡터의 부분 집합이 부등식 제약 조건과 관련된 음수가 아닌 스칼라를 사용하여 x^*에서 선형 종속적이면, x^* 근방에서 선형 종속성을 유지한다.
QNCQ | 활성 부등식 제약 조건의 기울기와 등식 제약 조건의 기울기가 등식에 대한 승수 \lambda_j와 부등식에 대한 \mu_i\geq0를 사용하여 x^*에서 선형 종속적이면, \lambda_j \neq 0 이면 \lambda_j h_j(x_k)>0 이고 \mu_i \neq 0 이면 \mu_i g_i(x_k)>0인 수열 x_k\to x^*이 없다.
슬레이터 조건 (Slater condition) | SC | 볼록 최적화 문제 (최소화 문제, fg_i는 볼록 함수, h_j는 아핀 함수)의 경우, 모든 j에 대해 h_j(x)=0이고 모든 i에 대해 g_i(x) < 0 인 점 x가 존재한다.



위 조건들 간의 관계는 다음과 같다.


  • LICQ ⇒ MFCQ ⇒ CPLD ⇒ QNCQ
  • LICQ ⇒ CRCQ ⇒ CPLD ⇒ QNCQ


LICQ가 가장 강한 조건(가장 좁은 범위에 적용)이고, QNCQ가 가장 약한 조건(가장 넓은 범위에 적용)이다. 따라서, 더 약한 제약 조건을 만족하면 더 광범위한 문제에 KKT 조건을 적용할 수 있다.

슬레이터 조건이 성립하는 경우, 주어진 문제와 쌍대 문제의 최적값 사이에 차이가 없는 강한 쌍대성(strong duality)이 성립한다.

5. 충분 조건

Karush–Kuhn–Tucker영어 조건 (KKT 조건)이 최적해에 대한 충분 조건이 되는 경우는 다음과 같다.

목적 함수 f와 부등식 제약 조건 g_j볼록 함수이고, 등식 제약 조건 h_i가 아핀 함수이며, 슬레이터 조건이 성립하는 최대화 문제의 경우, KKT 조건 (필요 조건)은 최적성에 대한 충분 조건이 된다.[11] 최소화 문제의 경우, 목적 함수 f볼록 함수이면 KKT 조건은 최적성에 대한 충분 조건이 된다.

일반적으로 KKT 조건은 최적성에 대한 충분 조건이 아니며, 이차 충분 조건 (SOSC)과 같은 추가 정보가 필요하다. 매끄러운 함수의 경우 SOSC에는 2차 도함수가 포함되며, 이 때문에 이름이 붙여졌다.

KKT 조건이 전역적 최적성을 보장하는 더 넓은 함수 집합은 1985년 Martin에 의해 Type 1 '''인벡스 함수'''로 밝혀졌다.[12][13]

매끄러운 비선형 최적화 문제에 대한 2차 충분 조건은 다음과 같다.

다음 라그랑지안

: L(x,\lambda,\mu) = f(x) + \sum_{i=1}^m \mu_i g_i(x) + \sum_{j=1}^\ell \lambda_j h_j(x)

에 대해, 다음이 성립하면 위 절에서 찾은 해 x^*, \lambda^*, \mu^*는 제약 조건이 있는 국소 최소값이다.

:s^T\nabla ^2_{xx}L(x^*,\lambda^*,\mu^*)s \ge 0

여기서 s \ne 0는 다음을 만족하는 벡터이다.

:\left[ \nabla_x g_i(x^*), \nabla_x h_j(x^*) \right]^T s = 0_{\mathbb{R}^{2}}

여기서 엄격한 상보성(즉, \mu_i > 0)에 해당하는 활성 부등식 제약 g_i(x)만 적용된다. 부등식이 엄격한 경우 해는 엄격한 제약 조건이 있는 국소 최소값이다.

6. 경제학에서의 응용

수리 경제학에서 카루시-쿤-터커(KKT) 접근 방식은 질적 결과를 얻기 위해 이론적 모델에 자주 사용된다.[14] 예를 들어, 최소 이윤 제약 조건 하에 매출을 극대화하는 기업을 생각해 보자.


  • `Q`: 생산량 (선택 대상)
  • `R(Q)`: 매출 (양의 1차 도함수를 가지며, 생산량이 0일 때 매출도 0)
  • `C(Q)`: 생산 비용 (양의 1차 도함수를 가지며, 생산량이 0일 때 비용은 0 이상)
  • `G_{\min}`: 이윤의 최소 허용 수준 (양수)
  • 수익 함수가 결국 비용 함수보다 덜 가파르게 증가


이 문제는 다음과 같이 최소화 문제로 표현할 수 있다.

:최소화 `-R(Q)`

:제약 조건

: G_{\min} \le R(Q) - C(Q)

: Q \ge 0,

이에 대한 KKT 조건은 다음과 같다.

:

\begin{align}

& \left(\frac{\text{d} R}{\text{d} Q} \right) (1+\mu ) - \mu \left( \frac{\text{d} C}{\text{d} Q} \right) \le 0, \\[5pt]

& Q \ge 0, \\[5pt]

& Q \left[ \left( \frac{\text{d} R}{\text{d} Q} \right) (1+\mu ) - \mu \left( \frac{\text{d} C}{\text{d} Q}\right) \right] = 0, \\[5pt]

& R(Q) - C(Q) - G_{\min} \ge 0, \\[5pt]

& \mu \ge 0, \\[5pt]

& \mu [R(Q) - C(Q) - G_{\min}] = 0.

\end{align}



`Q = 0`이면 최소 이윤 제약 조건을 위반하므로 `Q > 0`이다. 따라서 세 번째 조건에 의해 첫 번째 조건은 등식으로 성립한다. 이 등식을 풀면 다음과 같은 결과를 얻는다.

: \frac{\text{d} R}{\text{d} Q} = \frac{\mu}{1+ \mu} \left( \frac{\text{d} C}{\text{d} Q} \right).

\text{d} R / \text{d} Q (한계 수익)와 \text{d} C / \text{d} Q (한계 비용)가 모두 양수이고, \mu도 양수이므로, 위 식은 매출을 극대화하는 기업이 한계 수익이 한계 비용보다 작은 수준에서 운영됨을 의미한다. 이는 이윤 극대화 기업이 한계 수익과 한계 비용이 동일한 수준에서 운영되는 것과 대조적이다.

7. 일반화

프리츠 존 조건은 KKT 조건의 일반화된 형태이다. 이 조건은 추가 곱셈자 \mu_0\geq0를 사용하여 \nabla f(x^*) 앞에 위치시키며, KKT 정류성 조건을 다음과 같이 변경한다.

:

\begin{align}

& \mu_0 \,\nabla f(x^*) + \sum_{i=1}^m \mu_i \,\nabla g_i(x^*) + \sum_{j=1}^\ell \lambda_j \,\nabla h_j(x^*) = 0, \\[4pt]

& \mu_ig_i(x^*)=0, \quad i=1,\dots,m,

\end{align}



이때 (\mu_0,\mu,\lambda)\neq0이다. 이 최적성 조건은 제약 조건 없이 유지되며, "KKT 또는 (not-MFCQ)"와 동등하다.

또한, KKT 조건은 서브미분을 사용하여 비-매끄러운 함수를 허용하는 더 넓은 클래스의 1차 필요 조건(FONC)에 속한다.[8]

참조

[1] 서적 Optimal Control by Mathematical Programming Prentice-Hall
[2] 간행물 Nonlinear programming http://projecteuclid[...] University of California Press
[3] 학위논문 Minima of Functions of Several Variables with Inequalities as Side Constraints http://pi.lib.uchica[...] Dept. of Mathematics, Univ. of Chicago, Chicago, Illinois
[4] 논문 A contextualized historical analysis of the Kuhn-Tucker theorem in nonlinear programming: the impact of World War II
[5] 서적 Methods of Optimization John Wiley & Sons
[6] 서적 Introduction to Mathematical Economics https://archive.org/[...] Springer
[7] 서적 Convex Optimization Cambridge University Press
[8] 서적 Nonlinear Optimization Princeton University Press
[9] 웹사이트 Karush-Kuhn-Tucker conditions, Optimization 10-725 / 36-725 http://www.cs.cmu.ed[...] 2022-06-17
[10] 서적 Nonlinear Programming Athena Scientific
[11] 서적 Convex Optimization Cambridge University Press
[12] 논문 The Essence of Invexity
[13] 논문 Invexity and the Kuhn-Tucker Theorem
[14] 서적 Fundamental Methods of Mathematical Economics



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com