아주 간단한 equivalent reformulation만으로도 매우 다른 dual problem을 도출할 수 있다. 기존 문제를 보다 쉽게 풀거나 해석하기 위한 방법이다. 크게 3가지의 대표적인 reformulation 방법이 존재하는데, 이번 포스트를 통해 각각에 대해 자세히 살펴보자.
1. Introducing new variables and equality constraints
다음과 같이 제약조건이 없는 primal problem이 있다고 가정하자.
minimize f0(Ax+b)
이것의 Lagrangian은 L(x)=f0(Ax+b) 로, Lagrange dual function 값이 p∗와 완전히 동일한 형태의 상수가 되므로 strong duality 하에서 어떠한 의미도 같지 못한다. 그러나 해당 식에 새로운 변수 y=Ax+b를 도입할 경우 이 problem은 다음과 같이 재정리 된다.
minimize f0(y)subject to Ax+b=y
이때 objective function과 하나의 equality constraint를 가진 Lagrangian과 Lagrange dual function은 다음과 같이 reformulated된다. Infimum이 −∞이 되지 않으려면 ATν=0이어야 한다.
L(x,y,ν)=f0(y) + νT(Ax+b−y)g(ν)=bTν + yinf(f0(y)−νTy)=bTν − f0∗(ν)
이때, f0∗는 f0의 conjugate이다(형태 참고). 따라서 이것의 dual problem은 다음과 같이 표현된다.
maximize bTν − f0∗(ν)subject to ATν=0
따라서 이러한 reformulated problem의 dual은 original problem의 dual보다 유용할 수 있다. 이처럼 새로운 변수와 등식 제약을 도입한 식 변형은 objective function 뿐만 아니라 constraint function에도 적용될 수 있다. 다음의 예시(Ai와 fi는 convex)에 대해 생각해보자.
minimize f0(A0x+b0)subject to fi(Aix+bi)≤0, i=1,...,m
해당 식에 새로운 변수 yi=Aix+bi를 도입할 경우 다음과 같이 변형된다.
minimize subject to f0(y0)fi(yi)≤0, i=1,...,m≤0,Aix+b=yi, i=0,...,m
이 문제의 Lagrangian은 f0(y0)+Σi=1mλifi(yi)+Σi=0mνiT(Aix+bi−yi)로 표현된다. 이때, x에 대한 infimum이 −∞이 되지 않으려면 Σi=0mAiTνi=0이어야 한다. 따라서 다음과 같은 식 정리가 가능하다.
g(λ,ν0,...,νm)=i=0∑mνiTbi+y0,...,yminf(f0(y0)+i=1∑mλifi(yi)−i=0∑mνiTyi)=i=0∑mνiTbi+y0inf(f0(y0)−ν0Ty0)+i=1∑mλiyiinf(fi(yi)−(νi/λi)Tyi)=i=0∑mνiTbi−f0∗(ν0)−i=1∑mλifi∗(νi/λi)
이때의 dual problem은 다음과 같이 정리된다.
maximize i=1∑mνiTbi−f0∗(ν0)−i=1∑mλifi∗(νi/λi)subject to λ≥0, i=0∑mAiTνi=0
앞서 교재 4.1.3장에서, objective function f0를 이에 대한 increasing function으로 대체하여도 original problem과 equivalent하다는 사실을 다뤘다. 그러나 이 두 문제에 대한 dual은 매우 다르게 정의된다.
minimize ∣∣Ax−b∣∣
다음과 같은 문제에 새로운 변수 y=Ax−b를 도입하고 y에 대한 증가 함수로 objective function을 대체한다면, 아래와 같이 표현할 수 있을 것이다. 이 문제는 original problem과 equivalent하다.
minimize (1/2)∣∣y∣∣2subject to Ax−b=y
이제 각 problem에 대한 dual을 도출해보자.
L(x,y,ν)=∥y∥+νT(b+y−Ax)g(ν)=yinf(∥y∥+νTy)+νTb−xinf(ATνx)
이때 ATν=0이 성립하면 dual function은 g(ν)=bTν−f∗(ν)가 된다. Conjugate function f∗(ν)의 dual norm이 1보다 같거나 작으면 0이 되고, 그렇지 않으면 무한대의 값을 가지므로 첫 번째 문제의 dual problem은 아래와 같다.
maximize bTν subject to f∗(ν)=0, ATν=0
이번엔 두 번째 문제의 dual problem을 구해보자.
L(x,y,ν)=(1/2)∥y∥2+νT(y−Ax+b)g(ν)=x,yinf((1/2)∥y∥+νTy−νTAx+bTν)
ATν=0가 안된다면 unbounded below가 되므로 ATν=0가 보장되어야 한다. 따라서 이를 dual function에 대입하여 정리하면 아래와 같다.
g(ν)={bTν+infy((1/2)∥y∥2+νTy)if ATν=0−∞otherwise
이때 infy((1/2)∥y∥2+νTy)를 conjugate 형태인 (−f∗(ν))로 대체할 수 있으며 norm의 conjugate function이 dual norm임을 고려했을 때 다음과 같이 식이 정리된다.
maximize −(1/2)∣∣ν∣∣∗2+bTνsubject to ATν=0
즉 첫번째 문제의 dual problem과 두번째 문제의 dual problem이 다른 것을 확인할 수 있다.
3. Implicit constraints
마지막으로, explicit constraints를 objective function의 domain에 대한 implicit constraints로 표현하는 예시를 다뤄보자. 명시적으로 표현된 조건이 objective function 안에 내장되도록 objective function을 재표현함으로써 dual problem을 단순화하는 것이다.
minimize subject to cTxAx=bl⪯x⪯u
이와 같은 문제의 dual은 원래 다음과 같이 정의된다.
maximize subject to −bTν−λ1Tu+λ2TlATν+λ1−λ2+c=0λ1⪰0, λ2⪰0
그러나 inequality constraint를 없애고 이를 objective function이 함축(?)할 수 있도록 표현한다면,
minimize f0(x)subject to Ax=bf0(x)={cTxl⪯x⪯u∞otherwise
다음과 같은 형태로 정리될 것이다. 이 문제는 original problem과 equivalent하다. 다만 해당 문제의 dual은 원 문제의 dual과 상당히 다른 형태를 띈다.
g(ν)=l⪯x⪯uinf(cTx+νT(Ax−b)=−bTν−uT(ATν+c)−+lT(ATν+c)+
위의 식에서 (ATν+c)+=max{(ATν+c),0}, (ATν+c)−=max{(−ATν−c),0} 이다. 최종적으로 도출되는 dual problem은 아래와 같다.
maximize −bTν−uT(ATν+c)−+lT(ATν+c)+
Box constraint를 objective function의 바운더리로 넣어버리면서 기존 식보다 조건이 오히려 줄어들었다. 다양한 최적화 문제 풀이에 이러한 방법을 유용하게 사용할 수 있을 것이다.
4. Weak alternatives
현실의 문제들을 다루는 데에 있어서 가장 중요한 것 중 하나가 바로 feasibility이다. 우리는 이 feasibility 여부를 알아내기 위한 방법으로써 alternatives의 개념에 대해 다뤄볼 것이다.
Weak alternative : 두 inequality system 중 많아봐야 한 개의 inequality system만 feasible하다. 즉, 둘다 feasible할 수 는 없다는 것을 의미한다.
아래의 식처럼 제약을 설정할 때, constraint f와 h를 만족하는 영역이 항상 존재한다고 가정하였다.
fi(x)≤0,i=1,...,mhi(x)=0,i=1,...,p(A)
이제 feasibility의 확인을 위해 다음과 같이 목적함수가 0인 문제를 정의해보자.
minimize subject to 0fi(x)≤0,i=1,...,mhi(x)=0,i=1,...,p
만약 (A)가 feasible 하다면 p∗값은 0이 되고, 그렇지 않다면 ∞을 가진다. 이때의 dual functiong(λ,ν)=infx∈D(∑i=1mλifi(x)+∑i=1pνihi(x))은 positive homogeneous하기 때문에 아래와 같은 형태의 d∗값을 가진다.
d∗={∞0λ⪰0,g(λ,ν)>0 is feasibleλ⪰0,g(λ,ν)>0 is infeasible
(B)를 다음과 같이 정의하자.
λ⪰0,g(λ,ν)>0(B)
우리는 만약 (B)가 feasible 하다면 (A)는 infeasible함을 알 수 있다. (B)가 feasible 하면 d∗는 무한대로 정의되며, weak duality p∗≥d∗에 의해 p∗도 무한대가 되어야한다. 이때 p∗가 무한대인 경우는 (A)가 not feasible한 경우이다. 반대로 (A)가 feasible 하다면 p∗는 0이 되고, d∗도 0이 되어 (B)는 infeasible 하다.
이러한 식 (A)와 (B)를 weak alternatives라고 부르며, 둘 중 최대 하나의 식만 feasible한 관계라고 볼 수 있다. Weak alternatives 하에서 우리는 하나의 system의 feasibility를 보임으로써 나머지 system의 infeasibility를 증명할 수 있다.
이번에는 등호가 빠진 Strict inequality의 case를 살펴보자.
fi(x)<0, i=1,...,m hi(x)=0, i=1,...,p(A)
이때의 weak alternatives는 아래와 같다.
λ⪰0,λ=0,g(λ,ν)≥0(B)
두 식이 weak alternatives 임은 간단히 증명할 수 있다. 첫 번째 식이 feasible 하고 λ 역시 조건을 만족한다고 가정하면 L=λ1f1(x~)+⋯+λmfm(x~)+ν1h1(x~)+⋯+νmhm(x~)<0 가 항상 성립한다.
g(λ,ν)=x∈Dinf(i=1∑mλifi(x)+i=1∑pνihi(x))≤i=1∑mλifi(x~)+i=1∑pνihi(x~)<0
그러나 위의 결과가 (B)와 모순되는 것을 확인할 수 있다.
5. Strong alternatives
Weak alternatives 관계에서의 두 식은 모두 infeasible할 수도 있다. Strong alternatives는 여기서 한 단계 더 나아가, 둘 중 하나는 반드시 feasible, 나머지 하나는 반드시 infeasible한 관계를 의미한다.
Strong alternative : Inequality system이 feasible 하다면, 그것의 alternative inequality system은 반드시 infeasible하다.
다음의 조건들을 만족하는 convex한 original inequality system에서 (마지막 조건은 Ax=b의 해가 D space에 있음을 의미한다) 아래의 식들은 strong alternative을 만족한다. 이는 Slater’s condition과 strong duality를 이용해 보일 수 있다.
- fi가 convex
- hi가 affine
- x∈relintDwithAx=b
fi(x)<0,i=1,...,m,Ax=b(A)λ⪰0 ,λ=0,g(λ,ν)≥0(B)
(A)와 (B), (C)와 (D)는 strong alternative 쌍으로 둘 중 하나만 feasible 하다.
Ax⪯0,cTx<0(E)ATy+c=0,y⪰0(F)
마지막으로 살펴볼 Farkas' lemma는 Strict + Non-strict inequalities 가 혼합된 Strong alternative의 예시이다. LP duality를 이용해 증명해보일 수 있다.
경제학적 쓰임새를 알아보자. p를 투자 당시의 가격, x를 투자자의 포트폴리오 목록이라고 하자. 그리고 vTx를 특정 시점 이후의 자산가치라고 정의하자. 포트폴리오 구성을 위해 초기 비용이 발생하므로, 이를 pTx<0이라고 설정할 수 있다. 모든 상황에서 특정 시점 이후의 자산가치가 늘어나는 경우는 일반적으로 불가능하다고 가정 (no Arbitrage) 하므로, 이를 inequality system으로 간략히 표현하면 아래와 같다.
Vx⪰0,pTx<0
이때 위 조건의 infeasibility를 Farkas’ lemma를 이용하여 다음 조건의 feasibility로 치환할 수 있다.
−VTy+p=0,y⪰0
따라서 no Arbitrage의 제약을 만족하는 특정 상품의 가격 pn의 상한, 혹은 하한을 아래의 최적화 문제를 통해 제시할 수 있게 된다.
minimizepnsubject to VTy=p, y⪰0
이상으로 포스트를 마무리하도록 하겠다.