1 如何写出一个问题的对偶问题
1,对偶变量和原问题变量的对应性:
对于对原变量的每一个线性表达式,都对应一个对偶变量。
2.将该线性表达式的权值看成对偶变量yi,对于yi的约束为:
所有式子xj的系数按照权值yi相加,与原问题表达式xj系数比较。
注意: 以下都是假设原问题是max的条件,如果原问题是min,需要把x加上符号,因此x>0其实是x<0, x<0 其实是x>0
比较方法:
原问题条件 | 对偶问题限制 |
---|---|
x j ≥ 0 x_j\ge0 xj≥0 | ∑ a i y i ≥ 0 \sum a_iy_i\ge0 ∑aiyi≥0 |
x j ≤ 0 x_j\le0 xj≤0 | ∑ a i y i ≤ 0 \sum a_iy_i\le0 ∑aiyi≤0 |
x j x_j xj无限制 | ∑ a i y i = 0 \sum a_iy_i=0 ∑aiyi=0 |
总之就是和原问题相同。
对于对偶问题变量,和原问题的相反,具体如下:
原问题条件 | 对偶问题限制 |
---|---|
∑ a j x j ≥ 0 \sum a_jx_j\ge 0 ∑ajxj≥0 | y i ≤ 0 y_i\le 0 yi≤0 |
∑ a j x j ≤ 0 \sum a_jx_j\le 0 ∑ajxj≤0 | y i ≥ 0 y_i\ge 0 yi≥0 |
∑ a j x j \sum a_jx_j ∑ajxj无限制 | y i = 0 y_i= 0 yi=0 |
目标函数是常数系数乘以权值求和,
原来的max变为min,min变为max
例如: max z = c x 1 \max z=cx_{1} maxz=cx1
a
1
x
1
+
a
2
x
2
+
a
3
x
3
≤
b
1
a_{1}x_{1}+a_{2}x_{2}+a_{3}x_{3}\le b_1
a1x1+a2x2+a3x3≤b1
a
4
x
1
+
a
5
x
2
+
≤
b
2
a_{4}x_{1}+a_{5}x_{2}+\le b_2
a4x1+a5x2+≤b2
x
1
,
x
2
≥
0
x_{1},x_{2}\ge 0
x1,x2≥0
首先每个式子设置权值y1,y2
原式 | 权值 |
---|---|
a 1 x 1 + a 2 x 2 + a 3 x 3 ≤ b 1 a_{1}x_{1}+a_{2}x_{2}+a_{3}x_{3}\le b_1 a1x1+a2x2+a3x3≤b1 | y 1 y_1 y1 |
a 4 x 1 + a 5 x 2 ≤ b 2 a_{4}x_{1}+a_{5}x_{2}\le b_2 a4x1+a5x2≤b2 | y 2 y_2 y2 |
然后计算x1产生的约束,两个式子中x1系数乘权值之和与目标函数中x1系数比较,由于x1大于0, 因此大于目标函数系数:
a 1 y 1 + a 4 y 2 ≥ c a_1y_1+a_4y_2\ge c a1y1+a4y2≥c
然后计算x2产生的限制:
a 2 y 1 + a 5 y 2 ≥ 0 a_2y_1+a_5y_2\ge 0 a2y1+a5y2≥0
x3产生的限制:
a 3 y 1 = 0 a_3y_1=0 a3y1=0
计算对y的约束:由于两个式子都是小于号,因此 y 1 , y 2 ≥ 0 y_1,y_2\ge 0 y1,y2≥0
目标函数为: min z = y 1 b 1 + y 2 b 2 \min z=y_1b_1+y_2b_2 minz=y1b1+y2b2
2 关于强弱对偶的理解
一个问题有三种可能:
- 目标函数有界(max有上界,min有下界)
- 目标函数值无界(max无上界,min无下界)
- 无可行解(约束本身有矛盾)
其中前两种都是有可行解的,但是只有第一种有最优解。第二种可行但是没有可行解。
弱对偶性
原问题目标函数值一定小于对偶问题目标函数值。
推论
根据原问题的三种情况:
原问题的解情况 | 对偶问题解的情况 |
---|---|
有最优解 | 可行,且下界就是原问题最优解 |
目标函数无界 | 无可行解 |
没有可行解 | 无界或者无可行解 |
证明: c T x ≤ ( A T y ) T x ≤ y T A x ≤ y T b c^Tx\le(A^Ty)^Tx\le y^TAx\le y^Tb cTx≤(ATy)Tx≤yTAx≤yTb
强对偶性
如果原问题和对偶问题都有可行解,则
1: 它们均有最优解,
2: 最优解目标函数值相等
证明:
对于1,由弱对偶性推论可以得出
对于2,不妨设存在可行解为 x ^ , y ^ \hat x,\hat y x^,y^
则有:
c T x ^ = ( A T y ^ ) T x ^ = y ^ T b c^T\hat x=(A^T\hat y)^T\hat x=\hat y^Tb cTx^=(ATy^)Tx^=y^Tb
根据最优性可知,该可行解即是最优解,且目标函数值相等。(证明好像有点问题)
最优性
如果原问题和对偶问题都存在可行解,且目标函数值相等,则该可行解即最优解。
证明: 设该对可行解为 x ^ , y ^ \hat x,\hat y x^,y^
有: c T x ^ = b T y ^ c^T\hat x=b^T\hat y cTx^=bTy^
由弱对偶性可知, b T y ^ b^T\hat y bTy^是原问题目标函数上界,因此 b T y ^ b^T\hat y bTy^为原问题最优解的目标函数值。同理 c T x ^ c^T\hat x cTx^是对偶问题最优解的目标函数值。
问题
1.对偶问题的目标函数为什么是y的转置,而且是左乘b, 看起来很怪异。
目标函数最后是一个值(标量),因此转置以后值不变。
w = w T = ( y T b ) T = b T y w=w^T=(y^Tb)^T=b^Ty w=wT=(yTb)T=bTy,和原问题目标函数一致。
之所以写成这样,是为了和后面的定理匹配,如果写成 b T y b^Ty bTy完全可以。
2.如何记忆强弱对偶定理
原问题有最优解
根据弱对偶定理,可以推出 对偶问题可行
根据强对偶定理,可以推出对偶问题有最优解。
原问题可行,但是目标函数无界
根据弱对偶定理,可以推出对偶问题不可行。
原问题不可行,根据弱对偶定理,可以推出对偶问题无界或者不可行。