20200812-拉格朗日对偶函数为什么是凹的呢?

最近在写一个非凸转为凸的问题,就想起来拉格朗日对偶了。之前一直都不明白为什么原问题是非凸的,它的拉格朗日对偶函数依旧是凹的。于是再看到相关资料和博客之后,终于弄明白了,现在拿出来分享一下。

参考资料:

为什么拉格朗日对偶函数一定是凹函数(逐点下确界)

Convex Optimization: Chapter-5


考虑一个问题:

\begin{array}{*{20}{l}} {\mathop {\min }\limits_x }&{​{f_0}(x)}\\ {s.t.}&\begin{array}{l} {f_i}(x) \le 0,{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} i = 1,2, \ldots ,m\\ {h_i}(x) = 0,{\kern 1pt} {\kern 1pt} {\kern 1pt} i = 1,2, \ldots ,p \end{array} \end{array}

拉格朗日函数为

L(x,\lambda,v)=f_0(x)+\sum^m_{i=1}\lambda_if_i(x)+\sum^p_{i=1}v_ih_i(x)

这里想提醒一下,拉格朗日函数的基本思想就是将约束通过加权和的形式添加到目标函数中,将问题变为无约束问题。

拉格朗日对偶函数为

g(\lambda,v)=\inf\limits_{x\in\mathcal{D}}L(x,\lambda,v)=\inf\limits_{x\in\mathcal{D}}\left(f_0(x)+\sum^m_{i=1}\lambda_if_i(x)+\sum^p_{i=1}v_ih_i(x) \right )

Convex Optimization的第五章中说到,因为对偶函数是仿射函数的逐点下确界,所以无论原问题是否为凸 ,其对偶函数必定为凹。看到这我是蒙的,尽管可以直观的感受这是对的,但是我依旧没法说服自己。

不过在这里还是要注意一点的是,函数g(\lambda,v)是关于参数\lambdav的仿射函数,这点十分重要。

正是因为函数g(\lambda,v)为仿射函数,因此其是凸的。因此按照凸函数的定义,有下面的不等式。

g(\alpha(\lambda_1,v_1)+(1-\alpha)(\lambda_2,v_2))\leq\alpha g(\lambda_1,v_1)+(1-\alpha)g(\lambda_2,v_2)

其实,到这里就应该弄清楚我们的问题了。但是,我仍然对这个过程有点疑惑。于是参照第一个博客的写法,可以得到一下的证明。

{g(\alpha ({\lambda ^1},{v^1}) + (1 - \alpha )({\lambda ^2},{v^2}))}={g(\alpha {\lambda ^1} + (1 - \alpha ){\lambda ^2},\alpha {v^1} + (1 - \alpha ){v^2})}

= \mathop {\inf }\limits_{x \in {\rm{​{\cal D}}}} \left( {​{f_0}(x) + \sum\limits_{i = 1}^m {(\alpha \lambda _i^1 + (1 - \alpha )\lambda _i^2)} {f_i}(x) + \sum\limits_{i = 1}^p {(\alpha v_i^1 + (1 - \alpha )v_i^2)} {h_i}(x)} \right)

\le \mathop {\inf }\limits_{x \in {\rm{​{\cal D}}}} \left( {​{f_0}(x) + \sum\limits_{i = 1}^m {\alpha \lambda _i^1} {f_i}(x) + \sum\limits_{i = 1}^p {\alpha v_i^1} {h_i}(x) + \sum\limits_{i = 1}^m {(1 - \alpha )\lambda _i^2} {f_i}(x) + \sum\limits_{i = 1}^p {(1 - \alpha )v_i^2} {h_i}(x)} \right)

= \mathop {\inf }\limits_{x \in {\rm{​{\cal D}}}} \left( {(\alpha + (1 - \alpha )){f_0}(x) + \sum\limits_{i = 1}^m {\alpha \lambda _i^1} {f_i}(x) + \sum\limits_{i = 1}^p {\alpha v_i^1} {h_i}(x) + \sum\limits_{i = 1}^m {(1 - \alpha )\lambda _i^2} {f_i}(x) + \sum\limits_{i = 1}^p {(1 - \alpha )v_i^2} {h_i}(x)} \right)

= \mathop {\inf }\limits_{x \in {\rm{​{\cal D}}}} \left( {\alpha {f_0}(x) + \sum\limits_{i = 1}^m {\alpha \lambda _i^1} {f_i}(x) + \sum\limits_{i = 1}^p {\alpha v_i^1} {h_i}(x)} \right) + \mathop {\inf }\limits_{x \in {\rm{​{\cal D}}}} \left( {(1 - \alpha ){f_0}(x) + \sum\limits_{i = 1}^m {(1 - \alpha )\lambda _i^2} {f_i}(x) + \sum\limits_{i = 1}^p {(1 - \alpha )v_i^2} {h_i}(x)} \right)

= \alpha g({\lambda ^1},{v^1}) + (1 - \alpha )g({\lambda ^2},{v^2})

证毕。

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值