본문 바로가기
AI 수학/최적화

[KKT 조건 - 3] 프라이멀 문제와 듀얼 문제

by 깊은대학 2021. 2. 17.

최적화 문제는 두 가지 관점에서 문제를 표현할 수 있는데 프라이멀 문제(primal problem)와 듀얼 문제(dual problem)가 그것이다. 어떤 문제에서는 프라이멀 문제보다도 듀얼 문제로 바꾸어 푸는 것이 더욱 효과적일 수 있다.

 

 

먼저 프라이멀 문제는 등식과 부등식 제약조건이 있는 본래의 최적화 문제를 말한다.

 

p=minxf(x)subject to:   gi(x)0,   i=1,...,mhj(x)=0,   j=1,...,k

 

이 문제에 대한 라그랑지안을 다음과 같이 정의한 바 있다.

 

L(x,μ,λ)=f(x)+μTg(x)+λTh(x)=f(x)+i=1mμigi(x)+j=1kλjhj(x)

 

이제 라그랑지 듀얼 함수(Lagrange dual function)를 다음과 같이 정의한다.

 

d(μ,λ)=minxL(x,μ,λ)=minx(f(x)+i=1mμigi(x)+j=1kλjhj(x))

 

여기서 xRn 을 프라이멀 변수, μRm,λRk 를 듀얼 변수라고 한다. 라그랑지 듀얼 함수는 프라이멀 변수에 대해서 라그랑지안이 최소값을 갖는 함수다.

라그랑지 듀얼 함수는 μ0일 때 프라이멀 최적화 문제의 해 p 보다 항상 같거나 작기 때문에 프라이멀 최적해의 하한선(lower bound)을 제공해 준다. 이에 대한 증명은 아래와 같다.

만약 x가 등식과 부등식 제약조건을 모두 만족한다면,

 

f(x)L(x,μ,λ)minxL(x,μ,λ)=d(μ,λ)

 

가 된다. 참고로 여기서 f(x)d(μ,λ)의 차이를 듀얼리티 갭(duality gap)이라고 한다. 위 부등식 관계식은 모든 실행 가능(feasible)한 x에 대해서 성립하므로

 

p=minxf(x)d(μ,λ)

 

가 됨을 알 수 있다.

프라이멀 문제에 대한 듀얼 문제는 다음과 같이 정의한다.

 

d=maxμ,λd(μ,λ)=maxμ,λ minxL(x,μ,λ)subject to:   μi0,   i=1,...,mor   μ0

 

듀얼 문제의 해 d는 라그랑지 듀얼 함수가 가질 수 있는 최대값이므로 프라이멀 최적해 p에 대한 최상의 하한선을 제공해 준다.

 

pd

 

 

 

예를 들어보자. 다음과 같은 최적화 문제가 있다.

 

minxxTxsubject to:   Ax=b

 

이 문제에 대한 라그랑지안은 다음과 같다.

 

L(x,λ)=xTx+λT(Axb)

 

x에 대한 라그랑지안의 최소값을 구하기 위해서 그래디언트를 0으로 놓는다.

 

xL(x,λ)=2x+ATλ=0  x=12ATλ

 

x를 라그랑지안에 대입하면 라그랑지 듀얼 함수를 구할 수 있다.

 

d(λ)=minxL(x,λ)=14λTAATλ12λTAATλλTb=14λTAATλλTb

 

결과적으로 라그랑지 듀얼 함수는 λ에 대해서 컨케이브(concave) 함수가 됐다. 그러면 최적해 p의 하한선(lower bound)은 다음과 같이 된다.

 

p14λTAATλλTb

 

 

예제에서 라그랑지 듀얼 함수가 컨케이브 함수가 됐는데 이는 특별한 결과가 아니고 라그랑지 듀얼 함수는 항상 컨케이브 함수다. 그리고 어떤 μ,λ 값에서는 듀얼 함수의 값이 가 될 수도 있다.

프라이멀 문제의 해 p가 듀얼 문제의 해 d 보다 항상 크거나 같지만 (pd) 어떤 조건(Slater's condition)을 만족한다면 두 해가 같아진다 (p=d). 이 경우를 일컬어 강한 듀얼리티(strong duality) 관계에 있다고 한다.

강한 듀얼리티가 성립하는 문제의 경우는 프라이멀 문제를 듀얼 문제로 바꾸어 풀 수도 있다. 일반적으로 컨벡스 최적화 문제에서는 강한 듀얼리티가 성립한다.

 

 

 

댓글