求解凸优化问题的对偶上升法

考虑优化问题:
min x f ( x ) s . t . c 1 ( x ) = 0 c 2 ( x ) 0 \begin{array}{ll} \min_x & f(x) \\\\ s.t. & c_1(x) = 0 \\\\ & c_2(x) \geq 0 \end{array}

构造拉格朗日函数:
L ( x , λ ) = f ( x ) λ 1 c 1 ( x ) λ 2 c 2 ( x ) L(x,\lambda) = f(x) -\lambda_1 c_1(x) - \lambda_2 c_2(x)
等式约束的对偶变量 λ 1 \lambda_1 在拉格朗日函数中取正取负都行,但不等式约束的对偶变量 λ 2 \lambda_2 在这里取正。

因此在可行域 D = { x c 1 ( x ) = 0 , c 2 ( x ) 0 } D=\{x| c_1(x) = 0, c_2(x) \geq0\} 内,原目标函数 f ( x ) f(x) 是拉格朗日函数的一个上界,即
max λ L ( x , λ ) = { f ( x ) , x D , + , o t h e r w i s e . \max_{\lambda} L(x,\lambda) = \left\{ \begin{array}{lr} f(x), & x \in D, \\ +\infty, & otherwise. \end{array} \right.

所以原优化问题等价于:
min x f ( x ) = min x max λ L ( x , λ ) \min_x f(x) = \min_x \max_\lambda L(x,\lambda)

原来的约束优化问题转成了一个 min max \min \max 问题。

对偶问题

要引出对偶问题,就需要用到一个非常重要的不等式:
min x max λ L ( x , λ ) max λ min x L ( x , λ ) (1) \min_x \max_\lambda L(x,\lambda) \geq \max_\lambda \min_x L(x,\lambda) \tag{1}

证明起来非常容易,因为: max λ L ( x , λ ) L ( x , λ ) min x L ( x , λ ) \max_\lambda L(x,\lambda) \geq L(x,\lambda) \geq \min_x L(x,\lambda)

那么上式左端的最小值也会大于右端的最大值,如(1)所示。

max min \max \min 问题称为原问题的对偶问题,对偶问题的最优值小于等于原问题的最优值,两者之差(绝对值)称为对偶间隙。当对偶间隙为零时,对偶问题的最优解就是原问题的最优解。所以有时候对偶问题比原问题更容易求解时,可以选择求解对偶问题。

对偶上升法

当凸优化问题满足强对偶条件,对偶间隙为零,即
min x max λ L ( x , λ ) = max λ min x L ( x , λ ) \min_x \max_\lambda L(x,\lambda) = \max_\lambda \min_x L(x,\lambda)

这就意味着先找最优的 x x 还是先找最优的 λ \lambda 没有区别,那么我们自然想到交替优化的方法:

  • 随机初始化 x 0 , λ 0 x_0, \lambda_0
  • 更新 x x ,使得 x t + 1 = arg min x L ( x , λ t 1 ) x_{t+1} = \arg \min_x L(x,\lambda_{t-1})
  • 更新 λ \lambda ,使得 λ t + 1 = arg max λ L ( x t + 1 , λ ) \lambda_{t+1} = \arg \max_\lambda L(x_{t+1},\lambda) ,甚至为了方便可以直接用梯度上升法 λ t + 1 = λ t + η t λ L ( x t + 1 , λ ) \lambda_{t+1} = \lambda_{t} + \eta_t \nabla_\lambda L(x_{t+1},\lambda)

是不是非常简单!!!最重要的是,拉格朗日函数对对偶变量的梯度实在是太简单了!!!!
λ 1 L ( x , λ ) = c 1 ( x ) λ 2 L ( x , λ ) = c 2 ( x ) \begin{array}{ll} \nabla_{\lambda_1} L(x^*, \lambda) &=& -c_1(x^*) \\ \nabla_{\lambda_2} L(x^*, \lambda) &= &-c_2(x^*) \end{array}

对偶上升法中迭代的停止条件:

  1. 对偶间隙足够小
  2. 原问题的约束条件满足
原创文章 338 获赞 621 访问量 50万+

猜你喜欢

转载自blog.csdn.net/itnerd/article/details/105064933
今日推荐