本篇我们讨论一下一般的优化问题:这里我们对不做任何要求。
并记:
- 的定义域为和满足约束的的交集。
- 最优值:
拉格朗日对偶问题
对偶问题的描述
为什么要引入拉格朗日对偶问题,首先我们注意到
- 原问题的目标函数的凹凸性未知,对此我们没有很好的办法去求得最优值。
- 且原问题的约束数量较多时,求解的难度很大。
那原问题的拉格朗日对偶有什么优势呢? - 首先对偶问题的目标函数一定是凹函数,这在很大程度上带来了优化的便利。
- 对偶问题的约束只有一个。
为引入拉格朗日对偶问题,我们先给出原问题的拉格朗日函数:
于是原问题的对偶问题为:
这里inf表示对取下界。
可以证明,对偶之后的函数,一定是一个凹函数。
对偶问题与原问题的关系
对偶函数的一个十分重要的性质是:。也就是说,的值一定不会超过原问题的最优值。即对偶函数给出了原问题最优解的下界。于是,对于很多我们无法直接获取最优值的问题,我们可以用其最优下界去逼近原问题的最优值。那么最优下界是什么呢?很显然,在这里是,也就是对偶问题的最优值,我们记为。
现在我们找到了的逼近,满足。现在我们想知道,是否存在一种情况,使得,在这种十分理想的情况下,我们能够直接得到原问题的最优值。
为此我们引入另一个概念:强对偶。
强对偶
- 条件1:当原问题为凸优化问题,且满足(强或弱)Slater条件。为强对偶。这意味着:
1.1,为凸函数。
1.2,为仿射函数。
2.1,
值得注意的是,2.1给出的是强Slater条件,弱Slater条件允许,前提是这个是个仿射函数。 - 当条件1被满足时,为强对偶,此时有。此时我们运用常规的凸优化问题的解法解对偶问题就可以得到了。
KKT条件
对于非凸优化问题:
假设
- 原问题的函数都可导
- 强对偶成立
-
,为原问题和对偶问题的最优解。
那么满足KKT条件为:
对于凸优化问题:
如果存在,满足KKT条件,那么为原始问题和对偶问题的最优解。