原始-对偶的概念及写对偶问题的基本方法

原始-对偶:写对偶问题

1.什么是原始对偶

​ 字面理解:原始问题与对偶问题

假定原始问题为:
m i n    f ( x ) s . t . { g i ≤ 0 , i = 1 , . . . , m h i = 0 , i = 1 , . . . , p \begin{matrix} min \ \ f(x) \\ s.t. \begin {cases} g_i\leq 0 ,i=1,...,m\\ h_i=0 ,i=1,...,p \\ \end{cases} \end{matrix} min  f(x)s.t.{gi0,i=1,...,mhi=0,i=1,...,p
其对应的拉格朗日函数:
L ( x , λ , μ ) = f ( x ) + ∑ i = 1 n λ i g i ( x ) + ∑ i = 1 p λ i h i ( x ) L(x,\lambda,\mu)=f(x)+\sum_{i=1}^{n}\lambda_ig_i(x)+\sum_{i=1}^{p}\lambda_ih_i(x) L(x,λ,μ)=f(x)+i=1nλigi(x)+i=1pλihi(x)
其实原始问题就对应于拉格朗日函数取最大后最小,即:
m i n    f ( x ) = m i n    m a x    L ( x , λ , μ ) min\ \ f(x)=min\ \ max\ \ L(x,\lambda,\mu) min  f(x)=min  max  L(x,λ,μ)
那么其对偶问题其实就是对拉格朗日函数求最小后最大
m a x    θ ( λ , μ ) = m a x    m i n    L ( x , λ , μ ) max\ \ \theta(\lambda,\mu)=max\ \ min\ \ L(x,\lambda,\mu) max  θ(λ,μ)=max  min  L(x,λ,μ)

2. 原始问题与对偶问题的关系

假设原问题的最优解为:
p ∗    = f ( x ∗ ) p^* \ \ = f(x^*) p  =f(x)
对偶问题的最优解为:
d ∗ = θ ( λ ∗ , μ ∗ ) d^*=\theta(\lambda^*,\mu^*) d=θ(λ,μ)
则对偶问题的最优解是小于或等于原始问题的最优解的
d ∗    ≤ p ∗ d^*\ \ \leq p^* d  p
什么时候取等号呢?当然是满足KKT条件的时候。具体原因可以参考以下文章:

SVM原问题与对偶问题 - 简书 (jianshu.com)-

写出原始问题的对偶问题

假如存在如下优化问题(为原始问题):
m a x    Z = − 2 x 1 + 3 x 2 { s . t .    x 1 + x 2 ≤ 3    3 x 1 + 4 x 2 ≥ 10    x 1 , x 2 ≥ 0 \begin{aligned} max\ \ Z=-2x_1+3x_2 \\ \begin{cases} s.t.\ \ x_1+x_2 \leq 3 \\ \ \ 3x_1+4x_2 \geq 10 \\ \ \ x_1,x_2 \geq 0 \end{cases} \end{aligned} max  Z=2x1+3x2s.t.  x1+x23  3x1+4x210  x1,x20

相应的写出其对偶问题,首先看到问题为最大化问题,所以我们可以相应的写成最小化的问题,把约束条件的整数写成对偶问题的系数,即:
m i n    H = 3 y 1 + 10 y 2 min \ \ H= 3y_1+10y_2 \\ min  H=3y1+10y2
以原始问题最大化为例,关于对偶问题的约束一和二:将对偶问题的约束一等于 原始问题的约束条件一的x1的系数加上约束条件二的x1的系数,并将目标函数x1的系数作为约束一的整数,同理对偶问题的约束二进行相同处理,关于大小于号,根据原始问题的未知数x的约束进行判断,可以看到原始问题都是大于等于0(最后一个约束),故这里都使用大于等于。

注意:如果原始问题的约束条件如果是等式,表示对应的对偶问题的未知数没有约束 。

例如:如果原始问题x2无约束,则对偶问题的约束条件2取等号
m i n    H = 3 y 1 + 10 y 2 s . t .    y 1 + 3 y 2 ≥ − 2    y 1 + 4 y 2 ≥ 3 \begin{aligned} min \ \ H= 3y_1+10y_2 \\ s.t.\ \ y_1+3y_2 \geq -2 \\ \ \ y_1+4y_2 \geq 3 \\ \end{aligned} min  H=3y1+10y2s.t.  y1+3y22  y1+4y23
关于对偶问题的最后一个约束,观察原始问题的约束条件一和二,一个是大于等于,一个小于于等于(要与约束问题相反),即:
y 1 ≥ 0 , y 2 ≤ 0 y_1 \geq 0,y_2 \leq 0 y10,y20
至此我们得到了对偶问题:
m i n    H = 3 y 1 + 10 y 2 { s . t .    y 1 + 3 y 2 ≥ − 2    y 1 + 4 y 2 ≥ 3    y 1 ≥ 0 , y 2 ≤ 0 \begin{aligned} min \ \ H= 3y_1+10y_2 \\ \begin{cases} s.t.\ \ y_1+3y_2 \geq -2 \\ \ \ y_1+4y_2 \geq 3 \\ \ \ y_1 \geq 0,y_2 \leq 0 \end{cases} \end{aligned} min  H=3y1+10y2s.t.  y1+3y22  y1+4y23  y10,y20
原始问题为最小化,对偶问题一般为最大化,反之亦然。同理原始问题为最小化的问题可以根据这个情况进行逆推。

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值