关于拉格朗日对偶问题中对偶性的理解
2015-03-29 19:17
127 查看
首先说明本文讨论用的符号,拉格朗日函数:
L(x,λ,ν)=f0(x)+∑λifi(x)+∑νihi(x)L(x,\lambda,\nu)=f_0(x)+\sum\lambda_if_i(x)+\sum \nu_ih_i(x)
“我们注意到标准形式线性规划和不等式形式线性规划以及它们的对偶问题之间的有趣的对称性:标准形式线性规划的对偶问题是只含有不等式约束的线性规划问题,反之亦然。”
为了完整性,下面列出以上提到的两个线性规划问题。
标准形式线性规划:
mins.t.cTxAx=bx≥0\begin{array}\\
&\min &c^Tx\\
&s.t. &Ax=b\\
& &x\ge 0
\end{array}
不等式形式线性规划:
maxs.t.−bTνATν+c≥0\begin{array}\\
&\max &-b^T\nu\\
&s.t. &A^T\nu+c\ge 0
\end{array}
该理解说明了对偶问题真的具有对偶性,但是并没有说明对偶问题具有对偶性的原因。接下来将说明这一点。
一句话总结:调换对偶问题中对拉格朗日函数取最大化、最小化的顺序即可得到与原问题等价的优化问题。即,对偶问题是对拉格朗日函数先取最小化,再取最大化;而原问题则是对拉格朗日函数先取最大化,再取最小化。
为了对比两优化问题之间的对偶性,我先列出对偶问题的形式:
gd(λ,ν)=minxL(x,λ,ν)d∗=maxλ≥0,νgd(λ,ν)g_d(\lambda,\nu)=\underset{x}\min L(x,\lambda,\nu)\\
d^*=\underset{\lambda\ge 0,\nu}\max g_d(\lambda,\nu)
其中下标dd表示对偶问题。考虑对换取最小化和最大化的顺序:
gp(x)=maxλ≥0,νL(x,λ,ν)p∗=minxgp(x)g_p(x)=\underset{\lambda\ge 0,\nu}\max L(x,\lambda,\nu)\\
p^*=\underset{x}\min g_p(x)
其中下标pp表示原问题。
定理:上式中p∗p^*就是原问题的最优解。
证明:当xx不满足约束条件时:
fi(x)>0⇒gp(x)=∞f_i(x)>0\Rightarrow g_p(x)=\infty
只要对应的λi\lambda_i取无穷大即可。
hi(x)≠0⇒gp(x)=∞h_i(x)\ne 0\Rightarrow g_p(x)=\infty
只要对应的νi\nu_i取无穷大或无穷小即可。
当xx满足约束条件时:
hi(x)=0h_i(x)=0,所以∑νihi(x)=0\sum\nu_ih_i(x)=0;fi(x)≤0f_i(x)\le0,所以为了使gp(x)g_p(x)最大化,则必须有∑λifi(x)=0\sum\lambda_if_i(x)=0,因此gp(x)=f0(x)g_p(x)=f_0(x)。总结得:
gp(x)={∞f0(x)x不满足约束条件elseg_p(x)=\begin{cases}
\infty & x不满足约束条件\\
f_0(x) & else
\end{cases}
因此p∗p^*为原问题最优解。以上,证毕。
L(x,λ,ν)=f0(x)+∑λifi(x)+∑νihi(x)L(x,\lambda,\nu)=f_0(x)+\sum\lambda_if_i(x)+\sum \nu_ih_i(x)
对偶问题的对偶性体现
这个理解来自于斯坦福的课程——凸优化:“我们注意到标准形式线性规划和不等式形式线性规划以及它们的对偶问题之间的有趣的对称性:标准形式线性规划的对偶问题是只含有不等式约束的线性规划问题,反之亦然。”
为了完整性,下面列出以上提到的两个线性规划问题。
标准形式线性规划:
mins.t.cTxAx=bx≥0\begin{array}\\
&\min &c^Tx\\
&s.t. &Ax=b\\
& &x\ge 0
\end{array}
不等式形式线性规划:
maxs.t.−bTνATν+c≥0\begin{array}\\
&\max &-b^T\nu\\
&s.t. &A^T\nu+c\ge 0
\end{array}
该理解说明了对偶问题真的具有对偶性,但是并没有说明对偶问题具有对偶性的原因。接下来将说明这一点。
对偶问题具有对偶性的原因
这个理解同样来自于斯坦福的课程——机器学习:一句话总结:调换对偶问题中对拉格朗日函数取最大化、最小化的顺序即可得到与原问题等价的优化问题。即,对偶问题是对拉格朗日函数先取最小化,再取最大化;而原问题则是对拉格朗日函数先取最大化,再取最小化。
为了对比两优化问题之间的对偶性,我先列出对偶问题的形式:
gd(λ,ν)=minxL(x,λ,ν)d∗=maxλ≥0,νgd(λ,ν)g_d(\lambda,\nu)=\underset{x}\min L(x,\lambda,\nu)\\
d^*=\underset{\lambda\ge 0,\nu}\max g_d(\lambda,\nu)
其中下标dd表示对偶问题。考虑对换取最小化和最大化的顺序:
gp(x)=maxλ≥0,νL(x,λ,ν)p∗=minxgp(x)g_p(x)=\underset{\lambda\ge 0,\nu}\max L(x,\lambda,\nu)\\
p^*=\underset{x}\min g_p(x)
其中下标pp表示原问题。
定理:上式中p∗p^*就是原问题的最优解。
证明:当xx不满足约束条件时:
fi(x)>0⇒gp(x)=∞f_i(x)>0\Rightarrow g_p(x)=\infty
只要对应的λi\lambda_i取无穷大即可。
hi(x)≠0⇒gp(x)=∞h_i(x)\ne 0\Rightarrow g_p(x)=\infty
只要对应的νi\nu_i取无穷大或无穷小即可。
当xx满足约束条件时:
hi(x)=0h_i(x)=0,所以∑νihi(x)=0\sum\nu_ih_i(x)=0;fi(x)≤0f_i(x)\le0,所以为了使gp(x)g_p(x)最大化,则必须有∑λifi(x)=0\sum\lambda_if_i(x)=0,因此gp(x)=f0(x)g_p(x)=f_0(x)。总结得:
gp(x)={∞f0(x)x不满足约束条件elseg_p(x)=\begin{cases}
\infty & x不满足约束条件\\
f_0(x) & else
\end{cases}
因此p∗p^*为原问题最优解。以上,证毕。
相关文章推荐
- 关于拉格朗日对偶问题中对偶性的理解
- 关于拉格朗日对偶问题中对偶性的理解
- 拉格朗日对偶问题中对偶性的理解
- 【机器学习】支持向量机(三)----拉格朗日对偶性与对偶问题
- 关于问号文章“理解H.264 SVC的MGS 之 结构篇”中的一点问题
- 关于SQL中的两个问题的理解
- 关于大家对SOA理解的问题(刘立恒)
- 要想进外企,英语当然要硬,其他的要看你对数据结构的理解,先总结一下。问题三,关于数据结构
- (转)关于接口的理解问题
- 关于SOA几个问题的理解
- 关于接口的理解问题
- 关于$query=mysql_query($query);返回的是什么类型的值的问题的理解
- 关于编码问题的理解
- 关于mysql导入中文乱码问题的理解
- 关于JSP乱码问题的初步理解和解决
- 关于流和缓冲区的理解以及一般标准输入问题的解决方法小结
- 关于好多继承的问题,我们应该如何去理解
- 理解io端口和io内存--关于驱动开发的问题
- 关于C#3.0和.net一些问题的理解
- 菜鸟发问,请各位不吝赐教啊! 关于一个简单的程序的理解问题