최적화 이론에서 쌍대성(Duality)은 최적화 문제를 원초 문제(Primal problem)와 듀얼 문제(Dual problem)로 바라볼 수 있다는 원칙입니다. 예를 들어 아래와 같이 제약식 fi(x)와 hi(x)를 만족하는 목적함수 f0(x)의 최솟값을 찾으려고 합니다.
xmin subject to f0(x)fi(x)≤0(i=1,...,m)hi(x)=0(i=1,...,p)
위와 같은 원초 문제의 듀얼 문제를 라그랑주 승수법을 이용해 찾을 수 있습니다. 위 식의 목적 함수와 제약식을 라그랑주 승수법의 보조 함수 형태로 바꾸어 보겠습니다.
L(x,λ,μ)=f0(x)+i∑λifi(x)+i∑μihi(x) (λ≥0)
보조함수 L의 형태를 자세히 보면 목적함수 f0(x)에 나머지 항들을 더하는 형태를 가집니다. 나머지 항들 ∑iλifi(x)+∑iμihi(x)을 살펴보겠습니다. ∑iλifi(x)의 경우 fi(x)는 항상 0보다 작고 λ는 0보다 크므로 ∑iλifi(x) 는 0보다 작습니다. ∑iμihi(x) 항은 hi(x)가 항상 0이므로 ∑iμihi(x) 역시 0입니다. 따라서 f0의 최솟값을 만족하는 미지수 x를 x∗라 할 때 다음이 성립합니다.
f(x∗)≥L(x∗,λ,μ)≥xinf L(x,λ,μ)
위 부등식에서 inf는 정해진 범위내에서의 최대 하한(infimum)을 뜻합니다. xinf L(x,λ,μ)을 g(λ,μ)라 하면 목적 함수의 최솟값을 찾는 문제는 g(λ,μ)의 최댓값을 찾는 문제로 바뀝니다. 이 때 g(λ,μ)를 듀얼 문제라 합니다. 제약식 중 부등식은 항상 0보다 작거나 같은 형태를 갖고 대응하는 라그랑주 승수(λ)는 0보다 크거나 같습니다. 듀얼 문제는 다음과 같이 쓸 수 있습니다.
xmax subject to g(λ,μ)λi≥0(i=1,...,m)
듀얼 문제를 선형 계획법에 적용시켜 보겠습니다. 아래와 같은 원초 문제가 있습니다.
xmin subject to cTxAx+b≤0Gx+h=0
원초 문제의 듀얼 문제를 만들기 위해 라그랑주 승수법을 이용하겠습니다.
L(x,λ,μ)=cTx+λT(Ax+b)+μT(Gx+h)
보조 함수에 대한 식 xinf L을 만들기 위해 L을 x에 대한 식으로 바꾸어 보겠습니다.
L(x,λ,μ)=cTx+λT(Ax+b)+μT(Gx+h)=λTb+μTh+(λTA+μTG+cT)x=bTλ+hTμ+(ATλ+GTμ+c)Tx
구하고 싶은 듀얼문제는 xinf L이므로 듀얼 문제 g(λ,μ)를 아래와 같이 쓸 수 있습니다.
g(λ,μ)=xinf L(x,λ,μ)=bTλ+hTμ+xinf (ATλ+GTμ+c)Tx
이 때 x와 관련된 항 xinf (ATλ+GTμ+c)Tx은 계수 벡터 ATλ+GTμ+c가 양수일 경우 x값이 무한히 작아지면 음의 무한으로 발산합니다. 계수 벡터가 음수일 경우 x값이 무한히 커질 때 음의 무한으로 발산합니다. 따라서 계수 벡터에 대한 식 ATλ+GTμ+c=0 이어야 하는 듀얼 문제의 제약식을 얻습니다. 그리고 bTλ+hTμ 는 원초 문제의 목적 함수의 최대 하한입니다. 아래는 위의 선형계획법 문제로 부터 구한 듀얼 문제입니다.
xmax subject to bTλ+hTμλ≥0ATλ+GTμ+c=0
출처 및 참고