原始问题:
minxf(x)\min\limits_xf(x)xminf(x)
s.t. g(x)≤0s.t.~g(x)\leq0s.t. g(x)≤0。
原始问题转化为对偶问题求解的整体思路就是构造原问题最优值的下界(即拉格朗日对偶函数)。然后考虑如何确定原问题最优值的最大下界(最大化拉格朗日对偶函数)即可。
构造拉格朗日函数:
L(x,λ)=f(x)+λg(x), λ≥0L(x,\lambda)=f(x)+\lambda g(x),~~~\lambda\geq0L(x,λ)=f(x)+λg(x), λ≥0
则有:
d∗=maxλminxL(x,λ)≤L(x,λ)≤minxmaxλL(x,λ)=p∗d_*=\max\limits_\lambda\min\limits_x L(x,\lambda)\leq L(x,\lambda)\leq \min\limits_x\max\limits_\lambda L(x,\lambda)=p_*d∗=λmaxxminL(x,λ)≤L(x,λ)≤xminλmaxL(x,λ)=p∗
或者
d∗=maxλminxL(x,λ)≤L(x,λ)≤minxf(x)=p∗d_*=\max\limits_\lambda\min\limits_x L(x,\lambda)\leq L(x,\lambda)\leq \min\limits_xf(x)=p_*d∗=λmaxxminL(x,λ)≤L(x,λ)≤xminf(x)=p∗
(因为f(x)=maxλL(x,λ)f(x)=\max\limits_\lambda L(x,\lambda)f(x)=λmaxL(x,λ))。
拉格朗日对偶函数θD(λ)=minxL(x,λ)\theta_D(\lambda)=\min\limits_x L(x,\lambda)θD(λ)=xminL(x,λ)。θD(λ)\theta_D(\lambda)θD(λ)为原始问题的最优值p∗p_*p∗的下界。
考虑求解对偶函数θD(λ)\theta_D(\lambda)θD(λ)的最好(优、大)下界即可得到对偶问题。
对偶问题:
maxλθD(λ)\max\limits_\lambda\theta_D(\lambda)λmaxθD(λ)
s.t. λ≥0s.t.~~\lambda\geq0s.t. λ≥0
需要注意到,目前为止,对偶问题的最优值d∗d_*d∗仅是原始问题的最优值p∗p_*p∗的一个下界。但是在一定条件下有d∗=p∗d_*=p_*d∗=p∗。此时对偶问题的解也是原问题的解,这样原问题得以求解。这个一定条件就是原目标函数f(x)f(x)f(x)是凸的,不等式约束函数g(x)是凸的g(x)是凸的g(x)是凸的并且严格可行,等式约束函数h(x)h(x)h(x)是仿射函数。
最终求解就是对拉格朗日函数的原变量xxx和对偶变量λ\lambdaλ求导。即可得到对偶变量λ\lambdaλ的解,以及原变量xxx和对偶变量λ\lambdaλ的关系,根据其关系的到原变量xxx的解。
注:之所以转化为对偶问题是因为,不论原问题的凸性如何,对偶问题始终是一个凸优化问题,更容易求解。另外转化为对偶问题可能导致优化变量的减少等。