组合优化与凸优化 学习笔记5 对偶拉格朗日函数

有的时候约束条件有点难搞,我们可以把它放到目标函数里面。

记得之前凸函数的时候的结论吗?一大堆函数,每一段都取最大的,最后会得到一个凸函数。同理,每一段都取最小的,得到的是一个凹函数。就这样,我们强行把问题变成了一个凹函数,就算原本的f(x)既不凸也不凹。

可以看到之前的对偶函数是最优值的下界,毕竟加了一大堆0或者比0还小的东西。

一个例题:

其实就是和高数里面求给定条件的极大极小值用的方法,一模一样。

拉格朗日对偶问题

拉格朗日函数是原本问题的下界,现在我们要求这个函数最大是多少,这样就可以尽量靠近原始函数了。

弱对偶性

这是一个非常强的条件:

Slater条件

但显然这个条件不总是成立。那要怎么样才能保证成立呢?

假如对偶问题得到的那个原问题的下界对应的x,放在原问题中是严格可行的(不是一般的可行,要是不等式约束都小于0,不能刚好相等的那种),并且原问题是一个凸问题,那么原问题的下界就是对偶问题求出来的上界,没有任何水分。

当然这是一个充分条件但是不必要。

比如像这个例子,虽然不符合slater条件,但其实是强对偶的。

鞍点解释:

记住:inf是下确界,sup是上确界。

左边是先固定z,w任意,要求最小,因此w的行动方向是顺着马鞍的。

右边是先固定w,z任意,要求最大,因此z的行动方向是横着马鞍的。

可以注意到,强对偶下的对偶函数上界与原函数下界其实就是对应鞍点的。

L(x,l)有鞍点,那么这个点对应的就是最优点,对偶函数和原函数强对偶。

存在强对偶,那也可以证明强对偶是存在的。下图是证明:

注意:在对偶问题中,只有与原来的不等式约束对应的加权系数是有大于等于零的限制的,等式约束对应的加权系数没有限制。

KKT条件

可以看到这些条件其实和对偶函数息息相关。前两个其实就是原始函数的限制,第三个就是对偶函数的限制,第四个则是取到最优值的限制,最后一个是用来证明这个就是最优值的。

可以看到1和4条件好像有点关系。事实上这两个条件一般会导致求解过程中出现分类讨论的情况。

这样,我们要求最优解的话就不用那么麻烦,直接找到符合KKT条件的点就可以了。只要是符合KKT条件的就一定强对偶,一定有各种各样美好的条件并且符合的那个点就是我们要的那个点。

举个例子:灌水问题

通过KKT求解出x*(可能会有多种情况)就可以了。

迭代算法

强凸性:

强凸要求更高一点,不允许有线性的地方。注意是二阶导要大于m,也就是梯度要一直变化,不能有线性的部位。

这个是在说什么呢?就是说有时候我们没有办法求导最好的那个最优解,只有一个相近的,我们可以用这个式子估计误差。可以看到最后可以用x点的导数和二阶导下限m得到x与最优解的距离。

可以看到,m越大一阶导变化越快,越快到0,那么x距离最优解距离就短

有二阶导下界,当然也有上界。结论类似。

另一边是典中典之梯度下降法,阿尔法决定了下降的方向,d决定了大小

可以看到,随着迭代次数增加,误差上界会越来越小。

但有时候找不到这么好的阿尔法怎么办?还有非精确法,回溯法

这个精确法与非精确法没太搞懂,回去查一下

M和m查得越多,条件数越大,函数图像的等高线就会越扁,越椭。假如在这样的函数上用梯度下降的话,搜索路径就成了z字形,效率低。

最速下降法

不仅仅是确定方向,还要自己确定步长。

坐标轮换法:

就是类似于先优化x轴,然后是y轴……这样。当然也存在分块的坐标轮换法(x,y一起优化,然后再是轴之类的)

可以看到假如出现了不可微分的情况,那就在左右梯度中随便选一个出来。

牛顿法

现在,我们回到最开始的有约束的优化问题

有约束的优化问题,本质上就是求解KKT条件

拉格朗日法

这种方法有点类似坐标轮换法,x,v一步一步优化。归根结底还是求KKT条件,只是用近似的方法求。注意到,x是要向让目标函数变小的方向发展的,v是向着符合约束条件的方向发展的。

增广拉格朗日法:

总结一下:

可以看到常规拉格朗日法x和v可以一起更新,增广版本的则是x先更,v会依据x的新值更新。

这个性质就是说,假如V已经是最优值了,那么x的最优值就可以直接用上面这个式子取到,一直优化x就好。

如果C趋近于无穷,那么不用管V,一直优化x就可以直接得到最优值了。

可以看到,利用性质2,我们不用管V的事,直接找x最优值,可以发现v在c面前不值一提。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值