对于一般形式约束优化问题:
后面要讨论的都是假设函数(f(x),g_i(x),h_i(x))均为连续可微函数,有几类不可微函数是可以转化的。比如(f(x)=max {x, x^2})
(f(x))在两个交点的位置是不可微的,可以进行一些变换:
因为(t)最小时肯定是等于(f(x))的,所以上面两个问题是等价的。把(f(x))代入,更具体的形式:
这种形式各个函数都是连续可微的,就可以用后面的KKT条件等方法了。
KKT条件
假设(x^*)是问题((1))的局部最优解,且(x^*)处某种约束规范(Constrint Qualification, CQ)成立,则存在(lambda^*,mu^*)使得:
以上条件称为KKT条件,(lambda_i^*,mu_i^*)称为Lagrangian乘子。
对于目标函数和约束函数可微的任意优化问题,KKT条件是原问题最优解的必要条件。「最优解一定满足KKT条件,但满足KKT条件的点不一定是最优解。」
当问题((1))中满足:
- (f(x),g_i(x), i=1,cdots,m) 均为凸函数
- (h_i(x), i=1,cdots,l) 均为线性函数
即对于凸问题,满足KKT条件的点也是问题((1))的最优解,即KKT条件是一个充要条件。
关于约束规范的说明[1][2]:最常用的CQ是Slater's condition 和 Linearity constraint qualification。满足一条CQ就可以推出最优解处的KKT条件成立。
对偶理论
Lagrange对偶函数
考虑一般形式的约束优化问题:
记可行集为:(S=left{x in X mid g_{i}(x) leq 0, i=1, cdots, m ; h_{i}(x)=0, i=1, cdots, l ight})
注意这个(X)是(f(x),g_i(x),h_i(x))的定义域,而不是可行域。这里不再要求函数是连续可微的,也可以是离散的,取决于定义域。
所以这个优化问题其实是:
当这个原问题是非凸时,可以寻找一个与原问题紧密相关、简单的对偶问题。首先引入两个概念:
- 拉格朗日函数:
- 拉格朗日对偶函数(简称对偶函数):
其中 (lambda,mu) 称为Lagrange乘子,这里的 (x) 取自定义域 (X)。
对偶函数的两个性质:
-
对偶函数是凹函数
-
最优值的下界:当(lambda geq 0)时,对于(forall(lambda,mu)),其对偶函数的值小于等于原函数最优值:(d(lambda,mu)leq p^*) ,证明如下:
第2步到第3步是因为在可行集(S)上,(h_i(x)=0) 且 (g_i(x)leq0)。
Lagrange 对偶问题
对偶函数可以提供原问题最优值 (p^*) 的一个下界,但是可以发现当 (lambda geq 0) 时,对于 (forall(lambda,mu)) 都可以提供一个下界,这样满足的值有很多,我们希望可以找到最大的那个下界,即拉格朗日对偶问题。
则原优化问题的拉格朗日对偶问题(简称对偶问题):
把((3))式中的对偶函数带进来,可以写出对偶问题的完整形式:(maxlimits_{lambda geq 0,mu} minlimits_{x in X} left{f(x)+sumlimits_{i=1}^{m} lambda_{i} g_{i}(x)+sumlimits_{i=1}^{l} mu_{i} h_{i}(x) ight})
原问题与对偶问题存在以下的关系:
证明如下:
例:给出如下线性规划问题的对偶问题
其中,(c in R^{n}, A in R^{m imes n}, b in R^{m}).
-
写出对偶函数为:
[egin{align} d(mu)&=min_{x geq 0} left{c^Tx+mu^T(b-Ax) ight} \ &= min_{x geq 0} left{ (c-A^Tmu)^Tx+b^Tmu ight} \ &=left{egin{array}{ll} b^Tmu, & m{if} quad c-A^Tmu geq0 \ -infty, & m{otherwise} end{array} ight. end{align} ] -
所以对偶问题(max{d(mu)})为:
[egin{array}{cl} max & b^Tmu \ mathrm{s.t.} & A^Tmuleq c \ end{array} ]
弱对偶定理
设 (p^*) 是原问题的最优值,(d^*) 是对偶问题的最优值,则(d^* leq p^*),即使原问题不是凸问题这个不等式也成立。这个是若对偶性
任取(x in S, (lambda,mu),lambda geq 0),必定有(d(lambda, mu)leq f(x))。即(d(lambda, mu)leq d^* leq p^* leq f(x)),因为(d^*=max(d(lambda,mu)))、(p^*=min(f(x)))
强对偶定理
如果 (d^*=p^*) 则称强对偶性成立,强对偶的一个判断标准是Slater定理,对于下面的优化问题
当满足以下条件时强对偶成立:
-
问题是凸问题:定义域集合 (X) 为非空凸集,(f(x)) 及 (g_i(x),i=1,cdots m) 是凸函数,(h_i(x),i=1,cdots l) 均为线性函数;
-
Slater条件:存在一点 (x in relint X) (指定义域(X)的相对内部) 使得
[egin{array}{l} g_i(x)< 0, i=1,cdots,m\ h_i(x)=0,i=1,cdots,l end{array} ]
Slater定理是说,如果原问题是凸问题,而且至少存在一个绝对可行点「让所有不等式约束都不取等号的可行点」时,强对偶成立。