4线性规划的基本理论
第四章 线性规划
本章主要内容:线性规划的基本理论 线性规划的单纯形法 线性规划的对偶理
论 线性规划的对偶单纯形法
教学目的及要求:理解线性规划的基本理论;掌握线性规划的单纯形法;理解线
性规划的对偶理论;掌握线性规划的对偶单纯形法。
教学重点:线性规划的单纯形法. 教学难点:线性规划的对偶单纯形法. 教学方法:启发式.
教学手段:多媒体演示、演讲与板书相结合. 教学时间:6学时. 教学内容:
§4.1 线性规划的基本理论
考虑线性规划问题
1
1min ;
,1,2,,,0,1,2,,.n
j j j n ij j i j j c x a x b i m x j n ==?
??
?
==???≥=??
∑∑s.t. (LP)
或
min ;,0.T c x Ax b x ??
=??≥?
s.t. 其中 121212(,,
,),(,,,),(,,,),(),T T T n n m ij m n x x x x c c c c b b b b A a ?====
A 称为约束矩阵,Ax b =称为约束方程组,0x ≥称为非负约束.假定:
rank()A m =.
定义 在(LP )中,满足约束方程组及非负约束的向量x 称为可行解或可行点;所有可行解的全体称为可行解集或可行域,记作K ,即
{,0}K Ax b x ==≥.
使目标函数在K 上取到最小值的可行解称为最优解;最优解对应的目标函数值称为最优值.
定义 在(LP )中,约束矩阵A 的任意一个m 阶满秩子方阵B 称为基,B 中
m 个线性无关的列向量称为基向量,x 中与B 的列对应的分量称为关于B 的基变
量,其余的变量称为关于B 的非基变量.
任取(LP )的一个基12(,,
,)m j j j B p p p =,记12(,,
,)m T B j j j x x x x =,若令关
于B 的非基变量都取0,则约束方程Ax b =变为B Bx b =.由于B 是满秩方阵,因此B Bx b =有唯一解1B x B b -=.
记121(,,
,)m T j j j B b x x x -=,则由
12,1,2,,,0,{1,2,
,}{,,
,}
k k j j j m x x k m x j n j j j ===?∈-
所构成的n 维向量x 是Ax b =的一个解,称之为(LP )的关于B 的基本解.
基本解满足约束方程组,但不一定满足非负约束,所以不一定是可行解.若
10B b -≥,即基本解x 也是可行解,则称x 为(LP )的关于基B 的基本可行解,
相应的基B 称为(LP )的可行基;当10B b ->时,称此基本可行解x 是非退化的,否则,称之为退化的.若一个(LP )的所有基本可行解都是非退化的,则称该(LP )是非退化的,否则,称它是退化的.
例1 求下列线性规划问题的所有基本可行解.
12123
124min 44;
4,2,0,1,2,3,4.j x x x x x x x x x j -??-+=??
-++=??≥=?
s.t. 解 约束矩阵的4个列向量依次为
12341110,,,1101p p p p -????????==== ? ? ? ?-????????.
全部基为
113214323424534(,),(,),(,),(,),(,),B p p B p p B p p B p p B p p =====
对于1B ,1x 和3x 为基变量,2x 和4x 为非基变量.令2x =4x =0,有
131
4,
2,x x x +=??
-=? 得到关于1B 的基本解(1)(2,0,6,0)T x =-,它不是可行解.
对于2B ,1x 和4x 为基变量,2x 和3x 为非基变量.令2x =3x =0,有
1
144,2,
x x x =??
-+=? 得到关于2B 的基本解(2)(4,0,0,6)T x =,它是一个非退化的基本可行解.
同理,可求得关于345,,B B B 的基本解分别为
(3)(4)(5)(0,2,6,0),(0,4,0,6),(0,0,4,2)T T T x x x ==-=,
显然,(3)x 和(5)x 均是非退化的基本可行解,而(4)x 不是可行解.因此,该问题的所有基本可行解为(2)(3)(5),,x x x .此外,因为这些基本可行解都是非退化的,所以该问题是非退化的.
定理1 设x 为(LP )的可行解,则x 为(LP )的基本可行解的充要条件是它的非零分量所对应的列向量线性无关.
证明 不妨设x 的前r 个分量为正分量,即
12(,,,,0,
,0),0(1,2,
,).T r j x x x x x j r =>=
若x 是基本可行解,则取正值的变量12,,,r x x x 必定是基变量,而这些基变量对
应的列向量12,,,r p p p 是基向量.故必定线性相关.
反之,若12,,
,r p p p 线性无关,则必有0r m ≤≤.当r m =时,12(,,,)
r B p p p =就是一个基;当r m <时,一定可以从约束矩阵A 的后n r -个列向量中选出m r -个,不妨设为12,,
,r r m p p p ++,使121(,,
,,,,)r r m B p p p p p +=成为一个基.由
于x 是可行解,因此1
r
j j j x p b ==∑,从而必有1
m
j j j x p b ==∑.由此可知x 是关于B 的
基本可行解.
定理2 x 是(LP )的基本可行解的充要条件是x 为(LP )的可行域的极点. 证明 由定理4.1.1和定理2.2.2知结论成立. 例2 求下列线性规划问题的可行域的极点.
12123
14min ;22,2,0,1,2,3,4.j x x x x x x x x j -??++=??
+=??≥=?
s.t. 解 因为约束矩阵的4个列向量依次为
12341210,,,1001p p p p ????????==== ? ? ? ?????????.
全部基为
112213314424534(,),(,),(,),(,),(,),B p p B p p B p p B p p B p p =====
求得关于基12345,,,,B B B B B 的基本解分别为
(1)(2)(3)(4)(5)(2,0,0,0),(2,0,0,0),(2,0,0,0),(0,1,0,2),(0,0,2,2)T T T T T
x x x x x =====显然,(1)(2)(3),,x x x 均为退化的基本可行解,(4)(5),x x 是非退化的基本可行解.可行域有三个极点:(2,0,0,0)T ,(0,1,0,2)T ,(0,0,2,2)T .
定理3 若(LP )有可行解,则它必有基本可行解. 证明 由定理2.2.1及定理4.1.2知结论成立.
定理4 若(LP )的可行域K 非空有界,则(LP )必存在最优解,且其中至少有一个基本可行解为最优解.
证明 根据推论 2.2.6,(LP )的任一可行解x 都可表示为(LP )的全部基本可行解12,,
,k x x x 的凸组合,即 1
,k
i i i x x x K λ==?∈∑,其中
1
0(1,2,
,),1k
i i i i k λλ=≥==∑.
设s x 是使(LP )中目标函数值达到最小的基本可行解,即 1min T T s i i k
c x c x ≤≤=,
则
1
1
,k
k
T
T
T T i i i s s i i c x c x c x c x x K λλ===≥=?∈∑∑.
这表明,基本可行解s x 为(LP )的最优解.
定理5 设(LP )的可行域K 无界,则(LP )存在最优解的充要条件是对K 的任一极方向d ,均有0T c d ≥.
证明 根据定理2.2.10,(LP )的任一可行解x 都可写成1
1
k
l
i i j j i j x x d λμ===+∑∑,
其中12,,,k x x x 为(LP )的全部基本可行解,12,,,l d d d 为K 的全部极方向,且
1
0(1,2,
,),1,0(1,2,
,)k
i i j i i k j l λλμ=≥==≥=∑.
于是,(LP )等价于下面以0(1,2,,)0(1,2,
,)i j i k j l λμ≥=≥=和为决策变量
的线性规划问题
11
1min ()();1,
0,1,2,,,0,1,2,,.k l
T T i i j j i j k i i i j c x c d i k j l λμλλμ===?+?
?
??
=???≥=?
≥=??
∑∑∑s.t. 由于j μ可以任意大,因此若存在某个j d ,使0T j c d <,则上述问题的目标函数无下界,从而不存在最优解,从而(LP )不存在最优解.
若1,2,
,j l ?=,均有0T j c d ≥,设1min T T s i i k
c x c x ≤≤=,则
1
1
()(),k l
T
T
T T i i j j s i j c x c x c d c x x K λμ===+≥?∈∑∑.
所以基本可行解s x 是(LP )的最优解.
推论6 若(LP )的可行域K 无界,且(LP )存在最优解,则至少存在一个基本可行解为最优解.
证明 由定理4.1.5的证明过程可知结论成立. 定理7 设在(LP )的全部基本可行解12,,
,k x x x 中,使目标函数值最小者
为12,,
,s i i i x x x ;在K 的全部极方向12,,
,l d d d 中,满足0T j c d =者为
12,,
,t j j j d d d .若(LP )存在最优解,则x 为(LP )的最优解的充要条件是存在
1
0(1,2,
,),1,0(1,2,
,)p
p q s
i i j p p s q t λλμ=≥==≥=∑
使
1
1
p p q q s
t
i i j j p q x x d λμ===+∑∑. (*)
证明 因为(LP )存在最优解,所以由定理4.1.4和推论4.1.6及其证明知,基本可行解12,,
,s i i i x x x 是(LP )的最优解.
设x 具有(*)式的形式,则由推论2.2.6和定理2.2.10知,x 为(LP )的可行解,从而由(*)式知,
11
1
p p q q s
t
T
T
T T i i j j i p q c x c x c d c x λμ===+=∑∑
因此,x 为(LP )的最优解.
反之,设x 为(LP )的任一最优解,则x 为可行解,于是由推论2.2.6和定理2.2.10知,存在 10(1,2,
,),1,0(1,2,
,)k
i i j i i k j l λλμ=≥==≥=∑,
使 1
1
k
l
i i j j i j x x d λμ===+∑∑. (**)
根据定理1.1.5,有 0,1,2,,T j c d j l ≥=, 且由1i x 为最优解知1,1,2,
,T T i i c x c x i k ≥=.
从而由上述两式容易用反证法证明:若(**)式中某个0i λ>,则i x 必为(LP )的最优解;若(**)式中某个0j μ>,则必有0T j c d =。由此知,最优解x 必具有(*)式的形式.
(LP )的解有四种可能:
(1)(LP )有唯一最优解(此时,T c x 的最优值恰在K 的一个极点上达到); (2)(LP )有无穷多个最优解(此时,T c x 的最优值在K 的一段边界上达到);
(3)(LP )有可行解,但无最优解(此时,K 无界且T c x 在K 上无下界); (4)(LP )无可行解.
§4.2 单纯形法
需解决三个问题:
(1)求(LP)的初始基本可行解的方法;
(2)判别一个基本可行解是否为最优解的准则;
(3)从一个基本可行解转换到使目标函数值下降到另一个基本可行解的方法.
1、 最优性条件
设x 是(LP )的一个基本可行解,为了叙述上的方便,先设x 对应的基为
12(,,
,)m B p p p =,从而12,,
,m x x x 为基变量,12,,
,m m n x x x ++为非基变量.记
121212(,,,),(,,
,),(,,
,)T T m m n B m N m m n N p p p x x x x x x x x ++++===,
于是 (,),,B B N N x c A B N x c x c ????
=== ? ?????,即知 Ax b =等价于B N Bx Nx b +=.由此解
得
11B N x B b B Nx --=-. (4.2.1)
在(4.2.1)式中,令0N x =,即知1
B x B b -=,从而得基本解10B b x -??
= ???
.将
(4.2.1)式代入目标函数,有
1111()()T T T T T T T T
B B N N B N N N B B N N c x c x c x c B b B Nx c x c B b c B N c x ----=+=-+=--, 即11
()T T T B B N N f c B b c B N c x --=--.
以上推导表明,对于给定的一个基B ,(LP)可化为如下的等价形式:
11
11
min ();,
0.T T T B B N N B N f c B b c B N c x x B Nx B b x ----?=--?+=??≥?
s.t. (4.2.2) 称(4.2.2)式为(LP)关于基B (或基本可行解x )的典式.
如果x 对应的基B 为一般形式,即12(,,
,)m j j j B p p p =,则通过类似的推导,
可得关于一般基B 的典式仍具有(4.2.2)式的形式.只是此时,
12(,,
,)m T B j j j x x x x =,N x 为非基变量构成的n m -维向量,N 是非基变量对应的
列向量构成的()m n m ?-矩阵;12(,,,)m T B j j j c c c c =,N c 为目标函数中非基变量
的系数构成的n m -维向量.
下面把关于一般基B 的典式(4.2.2)用代数式来表示. 设12{1,2,
,}{,,
,}m R n j j j =-,它表示非基变量的指标集,并令
1011121202122211012
,n n m m m mn b b b b b b b b B b B A b b b b --????
? ? ? ?
== ? ? ? ?????
, 1
1
,,
T T j B j j B c B p c j R f c B b π--=-?∈=,
则(4.2.2)式等价于
0min ;
,1,2,
,,0,1,2,,.i j j j R j ij j i j R j f f x x b x b i m x j n π∈∈?=-??
+==??
?≥=?
∑∑s.t. (4.2.3)
记1()T T T B
c B A c π-=-,则基变量对应的部分1()0T T T
B B B c B B c π-=-=;而非基变量对应的部分1()T T T
N B N c B N c π-=-,它是由前面所定义的()j j R π∈构成的向量.
定理1 设x 是(LP )的关于B 的基本可行解,若0N π≤,则x 是(LP )的最优解;若x 是(LP )的非退化的最优解,则0N π≤.
j π称为变量j x 的检验数.
定理2 设B 是(LP )的一个基,若关于B 的典式(4.2.3)中存在r R ∈,使0,1,2,
,ir b i m ≤=,则存在可行域K 的一个极方向d ,使T r c d π=-.
定理 3 设x 为(LP )的基本可行解,若关于x 的典式(4.2.3)中有某个检验数0()r r R π>∈,且0,1,2,,ir b i m ≤=,则(LP )无最优解.
2、 基本可行解的改进
定理4 设12(,,,)m j j j B p p p =是(LP )的一个基,且r R ∈,
则111(,
,,,,,)s s m j j r j j B p p p p p -+=为(LP )的一个基的充要条件是关于B 的典式
(4.2.3)中0sr b ≠.
定理 5 设x 为(LP )的非退化的基本可行解,若关于x 的典式(4.2.3)中有0()r r R π>∈,且至少有一个0(1)ir b i m >≤≤,则必存在另一个基本可行解
x ,使T T c x c x <. 3、 单纯形法的算法步骤
改进基本可行解的方法:把对应于正检验数r π的非基变量r x 变成基变量,称它为进基变量,而从原基变量中按 00min{|0,1,2,,}s i ir sr ir
b b
b i m b b =>=确定s
j x 变为非基变量,称它为离基变量.
现在来讨论如何从关于基12(,,,)m j j j B p p p =的典式(4.2.3)式导出关于
新基111(,
,,,,,)s s m j j r j j B p p p p p -+=的典式.为此将典式(4.2.3)中的系数写
成表4.2.1的表格形式.
表4.2.1 单纯形表()T B
这个表称为(LP )关于基B 的单纯形表,记为()T B .于是只要说明怎样从原单纯形表()T B 导出新的单纯形表()T B 即可.按照解线性方程组的
Gauss-Jordan 消去法思想,要使r x 变成基变量,必须把()T B 中r x 所在的列变成单位向量.因此可得单纯形表的变换规则如下:
(1)把()T B 中第s 行同除以sr b 作为新的第s 行(这样把r x 所在的列中第s 个元素变成1),即 1
():()sr
s s b =
行行; (2)把表中新的第s 行乘以()ir b -加到第i 行()i s ≠,得到新的第i 行(把r
x 所在的列中第i 个元素变成0),即
():()(),{1,2,
,}{}ir i i b s i m s =-?∈-行行行;
(3)把表中新的第s 行乘以()r π-加到第1m +行,得到新的第1m +行(把r
x 的检验数变成0),即 (1):(1)()r m m s π+=+-行行行.
上述变换称为{,}s r 旋转变换,元素sr b 称为主元,主元所在的行和列分别称为主元行和主元列.
算法4-1(单纯形法)
Step1 对于一个已知的可行基12(,,,)m j j j B p p p =,求出关于B 的单纯形
表()T B .
Step2 如果所有0(1,2,
,)j j n π≤=,则关于B 的基本可行解x 便是(LP )
的最优解,f 是最优值,此时的()T B 称为最优单纯形表,算法结束;否则,转Step3.
Step3 如果有0r π>,使()T B 中r x 所在的列12(,,,)0T r r mr b b b ≤,则(LP )
无最优解,算法终止;否则,转Step4.
Step4 令r 为最大正检验数中指标最小者,即
min{|max }j l j r l πππ>==, (4.2.12)
取r x 为进基变量;令s j 为比值最小的行中指标最小者,即
000min{|
min }ir k i s k b kr ir
b b
j j b b >==, (4.2.13)