陈宝林《最优化理论与算法》超详细学习笔记 (四)————第四章 对偶理论
1. 对偶问题的提出
什么是对偶?
对同一事物(或问题),从不同的角度(或立场)提出相对的两种不同的表述。
例如:在平面内,矩形的面积与其周长之间的关系,有两种不同的表述方法。
周长一定,面积最大的矩形是正方形。
面积一定,周长最短的矩形是正方形。
这种表述有利于加深对事物的认识和理解。
线性规划问题也有对偶关系。
2. 线性规划的对偶理论
2.1 原问题与对偶问题的关系
原问题(LP):
max z⎝⎜⎛a11⋮am1a12⋮am2⋯⋱⋯a1n⋮amn⎠⎟⎞⎝⎜⎜⎜⎛x1x2⋮xn⎠⎟⎟⎟⎞=⎝⎜⎛b1⋮bm⎠⎟⎞x1,x2,⋯,xn≥0=c1x1+c2x2+⋯+cnxn
对偶问题(DP)
minω=y1b1+y2b2+⋯+ymbm(y1,y2,⋯,ym)⎝⎜⎛a11⋮am1a12⋮am2⋯⋱⋯a1n⋮amn⎠⎟⎞≥(c1,c2,⋯,cn)y1,y2,⋯,yn≥0
变换关系分为对称关系与非对称关系,其中非对称形式的变换关系可以有以下两个步骤:
第一步:先将等式约束条件分解为两个不等式约束条件
第二步:按对称形式变换关系可写出它的对偶问题
2.2 对偶问题的基本性质
1)对称性:对偶问题的对偶是原问题 ;
证明:设原问题是
zmax=CX;AX≤b,X≥0
根据对偶问题的对称变换关系,可以找到它的对偶问题是
minw=Yb;YA≥C,Y≥0
若将上式两边取负号,又因
minw=max(−ω)可得到
max(−w)=Yb;−YA≤−C;Y≥0
根据对称变换关系,得到上式的对偶问题是
min(−w′)=−CX;−AX≥−b;X≥0
又因
min(−w′)=maxw′,可得
Maxw′=maxz=CX;AX≤b;X≥0
这就是原问题。
2)弱对偶性:若
Xˉ是原问题的可行解,
Yˉ是对偶问题的可行解。则存在CX≤Yb;
设原问题是
maxz=CX;AX≤b;X≥0
因
Xˉ是原问题的可行解,所以满足约束条件,即
AXˉ≤b
若
Yˉ是对偶问题的可行解, 将
Yˉ左乘上式,得到
YˉAXˉ≤Yˉb
原问题的对偶问题是:
minw=Yb;YA≥C;Y≥0
因
Yˉ是对偶问题的可行解,所以满足
YˉA≥C
将
Xˉ右乘上式,得到
YˉAXˉ≥C.
于是得到
CXˉ≤YˉAXˉ≤Yˉb
证毕.
3)无界性:若原问题(对偶问题)为无界解,则其对偶问题(原问题)无可行解;
由性质(2)可知,
Yˉb≥CXˉ→∞, 是不可能成立。
4)可行解是最优解时的性质 ;
设
X^是原问题的可行解,
Y^是对偶问题的可行解,
当
CX^=Y^b时,
X^,Y^ 是最优解。
设:
X^是原问题的可行解,
Y^ 是对偶问题的可行解
当
CX^=Y^b 时,
X^,Y^ 是最优解
证明:
若
CX^=Y^b, 根据性质2 可知,对偶问题的
所有可行解
Yˉ 都存在
Yˉb≥C^X; 因
CX^=Y^b
所以
Yˉb≥Y^b
可见是使目标函数取值最小的可行解,
因而是最优解
同理可证明,对原问题
存在
CX^=Y^b≥CXˉ,所以是最优解 .
证毕
5)对偶定理:若原问题有最优解,那么对偶问题也有最优解;且目标函数值相等;
证明:
设
X^是原问题的最优解,它对应的基矩阵B,
必存在
C−CBB−1A≤0即得到
Y^A≥C 其中
Y^=CBB−1
若
Y^是对偶问题的可行解,使得
w=Y^b=CBB−1b
因原问题的父是最优解,使目标函数取值
z=CX^=CBB−1b 由此,得到
Y^b=CBB−1b=CX^
可见
Y^是对偶问题的最优解。
6)互补松弛性 ;
若
X^, 分分别为原问题和对偶问题的可行解,
那么
Y^XS=0 和
YSX^=0;当且仅当,
X^,Y^ 为最优解。
证明:设原问题和对偶问题的标准关系为
原问题:
maxz=CXAX+XS=bX,XS≥0
对偶问题:
minω=YbYA−YS=CY,YS≥0
将原问题目标函数中的系数向量
C用
C=YA−Ys代替后,得到
z=(YA−YS)X=YAX−YSX
将对偶问题的目标函数中系数列向量b,用
b=AX+Xs代替后,
得到
w=Y(AX+XS)=YAX+YXS
t^YSX^=0,Y^XS=0 则
Y^b=Y^AX^=CX^
由性质(4),可知
X^,Y^ 是最优解。
又若分别是原问题和对偶问题的最优解, 根据性质(4),则有C
X=YAX=Yb
可知,必有
Y^XS=0,YSX^=0
** 7)原问题检验数与对偶问题解的关系**
设原问题是
maxz=CX;AX+XS=b;X,XS≥0
它的对偶问题是
minw=Yb;YA−YS=C;Y,YS≥0
则原问题单纯形表的检验数行对应其对偶问题的一个基解,其对应关系见表
YS1是对应原问题中基变量
XB的剩余变量,
YS2是对应原问题中非基变量
XN的剩余变量。
3. 对偶单纯形法
前节讲到原问题与对偶问题的解之间的对应关系时指出:在单纯形表中进行迭代时,在b列中得到的是原问题的基可行解,而在检验数行得到的是对偶问题的基解。
通过逐步迭代,当在检验数行得到对偶问题的解也是基可行解时,根据性质(2)、(3)可知,已得到最优解。即原问题与对偶问题都是最优解。
根据对偶问题的对称性,可以这样考虑:若保持对偶问题的解是基可行解,即
cj−CBB−1Pj≤0,而原问题在非可行解的基础上,通过逐步迭代达到基可行解,这样也得到了最优解。其优点是原问题的初始解不一定是基可行解,可从非基可行解开始迭代。
设原问题为:
maxz=CXAX=bX≥0
又设
B是一个基。不失一般性,令
B=(P1,P2,…,Pm),它对应的变量为
XB=(x1,x2,…,xm)。当非基变量都为零时,可以得到
XB=B−1b。若在
B−1b中至少有一个负分量,设
(XB=B−1b)i<0,并且在单纯形表的检验数行中的检验数都为非正,即对偶问题保持可行解,它的各分量是
(1) 对应基变量
x1,x2,…,xm的检验数是
σi=ci−zi=ci−CBB−1Pj=0,i=1,2,…,m
(2) 对应非基变量
xm+1,…,xn的检验数是
σj=cj−zj=cj−CBB−1Pj≤0,j=m+1,…,n
每次迭代是将基变量中的负分量
x1取出,去替换非基变量中的
xk,经基变换,所有检验数仍保持非正。从原问题来看,经过每次迭代,原问题由非可行解往可行解靠近。当原问题得到可行解时,便得到了最优解。
对偶单纯形法的计算步骤如下:
(1) 根据线性规划问题,列出初始单纯形表。检查
b列的数字,若都为非负,检验数都为非正,则已得到最优解。停止计算。若检查
b列的数字时,至少还有一个负分量,检验数保持非正,那么进行以下计算。
(2) 确定换出变量。按
min{(B−1b)i∣(B−1b)i<0=(B−1b)1对应的基变量
x1为换出变量
(3) 确定换入变量。在单纯形表中检查
x1所在行的各系数
α1j(j=1,2,…,n)。若所有
α1j≥0,则无可行解,停止计算。若存在
α1j<0(j=1,2,…,n), 计算
θ=jmin(aljcj−zj∣alj<0)=alkck−zk
按
θ规则所对应的列的非基变量
xk为换入变量,这样才能保持得到的对偶问题解仍为可行解。
(4) 以
α1k为主元素,按原单纯形法在表中进行迭代运算,得到新的计算表。
重复步骤(1)~(4)。
从以上求解过程可以看到对偶单纯形法有以下优点:
(1) 初始解可以是非可行解,当检验数都为负数时就可以进行基的变换,这时不需要加入人工变量,因此可以简化计算。
(2) 当变量多于约束条件,对这样的线性规划问题用对偶单纯形法计算可以减少计算工作量,因此对变量较少,而约束条件很多的线性规划问题,可先将它变换成对偶问题,然后用对偶单纯形法求解。
(3) 在灵敏度分析及求解整数规划的割平面法中,有时需要用对偶单纯形法,这样可使问题的处理简化。对偶单纯形法的局限性主要是,对大多数线性规划问题,很难找到一个初始可行基,因而这种方法在求解线性规划问题时很少单独应用。