线性规划运输问题

线性规划运输问题
线性规划运输问题

第四章 运输问题

Chapter 4

Transportation Problem

§4.1 运输问题的定义

设有同一种货物从m 个发地1,2,…,m 运往n 个收地1,2,…,n 。第i 个发地的供应量(Supply )为s i (s i ≥0),第j 个收地的需求量(Demand )为d j (d j ≥0)。每单位货物从发地i 运到收地j 的运价为c ij 。求一个使总运费最小的运输方案。我们假定从任一发地到任一收地都有道路通行。如果总供应量等于总需求量,这样的运输问题称为供求平衡的运输问题。我们先只考虑这一类问题。

图4.1.1是运输问题的网络表示形式。 运输问题也可以用线性规划表示。设x ij 为从发地i 运往收地j 的运量,则总运费最小的线性规划问题如下页所示。运输问题线性规划变量个数为nm 个,每个变量与运输网络的一条边对应,所有的变量都是非负的。约束个数为m+n 个,全部为等式约束。前m 个约束是发地的供应量约束,后n 个约束是收地的需求量约束。运输问题约束的特点是约束左边所有的系数都是

0或1,而且每一列中恰有两个系数是1,其他都是0。

运输问题是一种线性规划问题,当然可以用第一章中的单纯形法求解。但由于它有特殊的结构,因而有特殊的算法。在本章中,我们将在单纯形法原理的基础上,根据运输问题的特点,给出特殊的算法。

图4.1

x x x x x x x x x d x x x d x x x d x x x s x x x s x x x s x x x .t .s x c x c x c x c x c x c x c x c x c z min mn

2

m 1

m n

222

21

n

112

11n mn

n 2n

122

m 22

12

11

m 21

11

m mn

2m 1m 2n

222

21

1n

11211mn mn 2m 2m 1m 1m n 2n 222222121n 1n 112121111≥

=++=++=

++=++=+++=++=+++++++++++++=

在运输问题线性规划模型中,令

X =(x 11,x 12,…,x 1n ,x 21,x 22,…,x 2n ,……,x m1,x m2,…,x mn )T

C =(c 11,c 12,…,c 1n ,c 21,c 22,…,c 2n ,……,c m1,c m2,…,c mn )T A =[a 11,a 12,…,a 1n ,a 21,a 22,…,a 2n ,……,a m1,a m2,…,a mn ]T

=???

??

?

???????????????????????????????

?行行n m 111

111

1

1

11111

11

1

11

b =(s 1,s 2,…,s m ,d 1,d 2,…,d n )T

则运输问题的线性规划可以写成:

min z=C T

X s.t. AX =b X ≥0

其中A 矩阵的列向量

a ij =e i +e m+j

e i 和e m+j 是m+n 维单位向量,元素1分别在在第i 个分量和第m+j 个分量的位置上。A 矩阵中的行与运输网络中的节点对应,前m 行对应于发地,后n 行对应于收地;A 矩阵的列与运输网络中的边对应。

运输问题除了用网络表示及线性规划表示外,还可以用运输表表示:

1 s1

2 s2

……

m s m

12n

表 4.1

表的行与发地对应,列与收地对应。第i行与第j列交叉的一格与网络的一条边对应(也就是与线性规划约束矩阵的一列对应),每一格的左上角小方格内的数字表明从相应的发地i到收地j的运价c ij,每一格右下角表明从相应的发地i到收地j的运量x ij。表右方表明各发地的供应量s i,表下方表明各需求第的需求量d j。每一行运量之和表示从该发地运往各收地的运量之和,它应该等于该发地的供应量;同样,每一列运量之和表示从各发地运往该收地的运量之和,它应该等于该收地的需求量。

例4.1以下的运输问题线性规划、网络图和运输表表示同一运输问题。

min z= 8x11+5x12+6x13+7x21+4x22+9x23

s.t. x11+x12+x13=15

x21+x22+x23=25

x11+x21=10

x12+x22=20

x13+x23=10

x11, x12, x13, x21, x22, x23≥0

1

15

2 25

10 20 10

表 4.215

10

20

10

§4.2 运输问题约束矩阵的性质

4.2.1 约束矩阵的秩

运输问题约束矩阵A 的秩为m+n-1。

证明:因为A 矩阵的前m 行和后n 行之和分别等于向量(1,1,…,1),因此秩A

考虑A 的一个子矩阵A ’=[a 1n ,a 2n ,…,a mn ,a 11,a 12,…,a 1n ],即

A’=列

列行行

n m n m 111111111111

???

?

??

?

?

???

?????????????

删除A ’中的第m+n 行和第m+n 列,得到

A ’’=列

列行行

1n m 1n m 111111111--?

??

?

??

?

?

????????????????

容易看出,秩A ’’=m+n -1。由此

m+n-1=秩A ’’≤秩A’≤秩A

秩A =m+n-1。

在线性规划问题中,约束的系数矩阵要求行满秩的,为了使运输问题系数矩阵行满秩,在A 矩阵中增加一个列向量e m+n 形成增广矩阵

[]???????

?

????

?

??

?==+1000n m A

e A A 这样增广矩阵A 的秩就等于m+n ,因而是行满秩的。并且A 中任何一个基矩阵,都

必定包含单位向量e m+n 。

例4.2.1 设一个运输网络如右图,它的系数矩阵为

3

2121

23

x 22

x 21

x 13

x 12

x 11

x

d d d s s 10

1

01001000100111100000011

1???????

??????

???=A

增广矩阵为

3

2121

e

x

23

x

22

x

21x

13

x 12

x 11

x d d d s s 11

00100

001001000010010111000000011

1?????????????

???=A

增加的单位列向量e m+n =e 5相当于在在网络图中增加一条边,它与收点3关联,但不与任何发点关联,这条边称为人工边。设这条边上的运输量为x a ,增广运输问题对应于第三个收点的约束称为

x 13+x 23+x a =d 3

由于

x13+x23=d3

因此,对运输问题的任何一个可行解,都有

x a=0。

4.2.2 A矩阵的单位模性质

运输问题的系数矩阵A具有以下性质:A矩阵中任何一个k阶子矩阵A k(k=1,2,…m+n),都有det A k=0或±1。

证明:在A中任取一个k阶方阵A k,有以下三种情况:

1、A k中任何一列都有两个1,这时A k上部的行属于A矩阵的前m行,而下部

的行属于A矩阵的后n行,A k上部的各行之和以及A k下部各行之和都等于

向量(1,1,…,1),因而A k的行线性相关,即det A k=0。

2、A k中至少有一列元素全为0,这时显然有det A k=0。

3、A k中至少有一列,其中只有一个1。这时可以将det A k按这一列展开,设

对应于这个1的代数余子式为A k-1,则有

det A k=±det A k-1

其中A k-1是k-1阶方阵。对A k-1同样有

det A k-1=0

或者

det A k-1=±det A k-2

最后有

det A k=0

或者

det A k=±det A k-1=±det A k-2=…=±det A1=0或±1。

4.2.3基矩阵的三角性

设B是A的一个基,B中至少有一列只包含一个1,否则,det B=0不成为一个基。将B的行列交换,总可以使B成为

??

???

?

???

???=-+1n m T '

01B P B 其中det B m+n-1≠0,因而Bm+n-1中也至少有一列只有一个1,对Bm+n-1再

进行行列交换,得到 ??

???

?

????????=-+2n m T T

'

'0

010

01B Q P B

依次不断对剩下的方阵进行行列交换,最后可以得到

???????

?????????=10

10

101

R B 是一个上三角矩阵。

例4.2 设一个运输问题的系数增广矩阵为

A =????

????

?

???????=????????????????=?????????????

???2510152030d d d s s 11

1

001001000010010111000000011132121e

x 23

x 22

x 21

x 13

x 12

x 11

x

b 取其中一个基

????

????

?

???????=????????????????=???????

??????

???=2510152030d d d s s 10

011

0100000100000100110

1

32121a

x

12

x 11

x 23x

13

x b B

对B 进行行列交换,成为以下上三角矩阵

????

????

?

???????=????????????????=?????????????

???=1015203025d d s s d 10000

0100000100010100011

12121312

x 11

x 23

x 13

x a

x b B 求解相应的方程组

????????

?

???????=????????????????????????????????1015203025x x x x x 10

001000001001101000111

12112313a 10

x 15x 20x 30x x x 25x x x 1211231211132313a ====++=++

由此得到

x 12=10,x 11=15, x 23=20,x 13=5,x a =0

由A 的基矩阵的三角性以及A 矩阵中仅含有元素0和1,可以知道,如果运输问题各发地的供应量和收地的需求量都是整数,运输问题的任何基础可行解都是整数,因而最优解也是整数。

§4.3 基在网络图和运输表中的表示

从前一节已经知道,运输问题的一个基是由m+n 个列向量组成的,其中包括一个单位向量e m+n 。在网络图上,这m+n 个列向量对应m+n 条边,其中与单位向量对应的是从最后一个收地出发的人工边。网络图中的一个基具有以下性质:

1、 一个基由m+n 条边组成,其中一条是人工

边,其余m+n-1条边是原网络中的边。 2、 组成基的边不能形成闭合回路。若不然,

如果组成一个基的若干条边(i ,j ),(k ,

j ),(i ,l ),(k ,l )组成一个闭合回路,则这些边对应的系数矩阵中的列向量a ij ,a kj ,a il ,a kl 的线性组合

a ij -a kj +a il -a kl =(e i +e m+j )-(e k +e m+k )-(e i +e m+l )+(e k +e m+l )=0

这些列向量线性相关,显然不能包含在一个基中。

3、 组成基的m+n 条边必须到达网络的每一个节点。若不然,这m+n 条边都不与

某一节点k 关联,那么相应的基矩阵

k 0000B 节点?????

???????????= 与节点k 对应的一行全为0,即det B =0。B 不可能成为一个基。

例4.3 对于2个发点3个收点的运输问题,网络图如图4.5(a )所示。图4.5(b )、(c )、(d )都是这个问题的基,这些基都由m+n-1=2+3-1=4条边组成,都不构成回路,并且与每一个节点关联。

正如线性规划矩阵的列向量组成的基一样,一个网络的基的个数是非常多的,以上只是这些基中的几个例子。

图4.4

(a)网络图

(c)第二个基 (d)第三个基

图 4.5

§4.4 基在运输表中的表示

我们已经知道,运输表中的一行对应于一个发地,一列对应于一个收地,表中i 行j 列相交的格子表示网络从发地节点i 到收地节点j 的一条边。运输表中同一行i 而不同列j 和k 的两个格子(i ,j )(i ,k ),分别表示网络中从同一发地节点i 出发到达不同收地节点j 和节点k 的两条边;同样,运输表中位于同一列k 而不同行i 和l 的两个格子(i ,k )和(l ,k )分别表示从不同的发地节点出发,到达同一收地节点j 的两条边(见下表和图)。

i l

表 4.3

如果运输表中有若干个格子,他们中相邻的两个都分别位于同一行或同一列,例如在下表中六个格子(i ,j ),(i ,k ),(l ,k ),(l ,n ),(m ,n )和(m ,j ),将位于同一行和同一列的两个格子连结起来,在运输表中构成一个闭回路。在相应的网络图中,这六个格子对应的六条边也组成一个闭回路。

i

l m

表 4.4

运输表中的闭回路还可以出现更复杂的情况,如下表和下图所示。

图4.6 图4.7

i

l m

表 4.5

综上所述,总结运输表中一个基必须具备的特点: 1、 一个基应占表中的m+n-1格;

2、 构成基的同行同列格子不能构成闭回路;

3、 一个基在表中所占的m+n-1个格子应包括表的每一行和每一列。 例4.4 在例4.3.1中的运输网络的几个基分别用网络和运输表的表示如下: (a)系数矩阵、网络图和运输表

???????

??????

???=11

01

001001000010010111000000011

1A a

x 23

x 22

x 21

x 13

x 12

x 11

x

1

2

3

1 2

(b)第一个基的矩阵、网络图和运输表

???????

??????

???=10

1

0001001001010000011

1B a

x 21

x 13

x 12

x 11

x 1

2

3

1

2

(c) 第二个基的矩阵、网络图和运输表

???????

??????

???=11

0011000001011000001

1

B a

x 23

x 22

x 12

x 11

x 1

2

3

1 2

(d)第三个基的矩阵、网络图和运输表

???????

?

?????

???=11

010

0010000

001011000001

1B a

x 23

x 22

x 13

x 11

x

1 2 3

1

2

§4.5 非基列向量用基向量表示

在线性规划中,设B 是A 矩阵的一个基,且B =[a B1,a B2,…,a Bm ],则A 中的任一非基向量a j (j ∈R )必定可以用基向量a B1,a B2,…,a Bm 唯一地线性表出,其线性组合的系数就是Y j ,这是因为

Y j =B -1

a j

[

]

m

21m

21

B mj B j 2B j 1mj j 2j 1B B B j j y y y y y y a a a a a a BY a +++=?????

???????== 这就是说,向量Y j 就是用基向量表出一个非基向量a j 的系数。

在运输问题中如果确定了一个基,非基向量a ij 也可以由基向量唯一地表出,由于运输问题的特殊性,表出系数Y ij 可以很方便地确定。请看下一例子。 例4.5 以具有2个发地,3个收地的运输问题为例子,这个运输问题的网络图和系数矩阵如下:

???????

??????

???=11

00100

001001000010010111000000011

1A a

e )3,2()2,2()1,2()3,1()2,1()1,1(

取基B =[a 11,a 12,a 13,a 23,e a ],非基向量为a 21,基矩阵、网络图中的非基边(用虚线表示)、基边(用实线表示),并取从发地到收地的方向为各边的方向。

???????

??????

???=11

100

0001000001010000011

1B a

e

)3,2()3,1()2,1()1,1(

由于任何一个非基向量总是与基向量实线性相关的,因此在网络图中任一条非基边必定与若干条基边形成闭回路。根据运输矩阵的结构,对任何一个列向量a ij ,有a ij =e i +e m+j 。在上面的问题中,非基向量a 21可以表示为:

a 21=e 2+e 2+1=e 2+e 3

基向量a 11,a 12,a 13,a 23可以表示为:

a 11=e 1+e 2+1=e 1+e 3 a 12=e 1+e 2+2=e 1+e 4 a 13=e 1+e 2+3=e 1+e 5 a 23=e 2+e 2+3=e 2+e 5

因此

a 21-a 11+a 13-a 23=(e 2+e 3)-(e 1+e 3)+(e 1+e 5)-(e 2+e 5)=0

a 21=a 11-a 13+a 23

由于基向量a 12和e a 不在这个回路中,它在a 12的表达式中的系数是0,因此非基向量a 21用所有基向量的表出形式为:

[]21

a 23131211a 23131211210110101)1(01By e a a a a e a a a a a =?????

??

?????????-=?+?+?-+?+?=

由此可以看出

???????

?????????-=0110121Y

从这个例子可以看出,非基向量由基向量表出的方法和表出的系数可以由该非基向量与有关的基向量形成的回路来确定(见上图)。选定该非基边的方向作为闭回路的方向,如果一个基边出现在该回路中,并且与回路的方向相同,则表出系数为-1,如果基边的方向和回路的方向相反,则表出系数为+1,如果基边不在回路中,表出系数为0。

从给定非基边的起点(发地)出发,沿着回路方向前进,第一次遇到的基边的方向一定和回路方向相反,第二次遇到的基边方向一定和回路方向相同,同向和反向交替出现,因此,各基边的表出系数一定是+1,-1交替出现。

与网络图对应,在运输表中非基向量用基向量表示的方法也可以相应得到。例如以上的运输问题,相应的运输表如下左表所示。

1

2

3

1 2 3 1

1

2

2

表 4.6

对应于基B =[a 11,a 12,a 13,a 23,e a ]的格子为用B 表示,非基向量a 21相应的格子用N 表示,见上面右表。

运输表中非基向量用用基向量表出的系数是这样确定的:(按任一方向)沿着表中的闭回路前进,在第一个转角处基向量的表出系数为+1,下一个转角处基向量的表出系数为-1,以后依次交替变化,由于沿闭回路回到出发的非基向量以前一定要经过奇数次转角,因此最后一个转角处的基向量的表出系数一定也是+1。凡是不在闭回路上或不在闭回路转角处的基向量的表出系数均为0。

在上面的表中,非基向量N (2,1)与基向量B (1,1)、B (1,3)、B (2,3)构成一个闭回路,相应的表出系数依次为+1、-1和+1;基向量B (1,2)不在闭回

路的转角处,表出系数为0。因此,非基向量a 21的表出形式为:

23131211211)1(01a a a a a ?+?-+?+?=

例4.6 设有4个发地,5个收地的运输问题,运输表和网络图如下:

1

2

3 4

表 4.7

取其中m+n-1=4+5=9个基向量a 11,a 12,a 14,a 21,a 31,a 33,a 34,a 35和a 45,非基向量a 42与基向量构成的闭回路 如右图。根据基向量的表出系数由+1开始,+1、-1交替的原则,以上非基向量用这些基向量表出的形式为:

a 42=(+1)a 12+(-1)a 11+(+1)a 31+(-1)a 35+(+1)a 45+0e a

如果所有基向量按以下次序排列

B =[a 11,a 12,a 21,a 31,a 33,a 34,a 35,a 45,e a ] 因而a 42用这些基向量表示的表出系数

Y 42=[-1,+1,0,+1,0,0,-1,+1,0]T

图4.17

§4.6 运输问题单纯形法

运输问题单纯形法的基本步骤和线性规划一样,包括以下步骤,但具体实施是在运输表上实现。

1、求得一个初始基础可行解;

2、对非基变量x ij计算检验数z ij-c ij,根据各非基变量的检验数z ij-c ij值,确

定最优性或选择进基变量;

3、当进基变量x ij进基时,根据基变量的变化,求出最先降为0的基变量确定

为离基变量;

4、进行基变换,获得新的基础可行解并转步骤2。

4.6.1 确定初始基础可行解

1、西北角法

西北角法是按发地和收地的编号为序,依次顺序供给的原则获得初始基础可行解的一种方法。它是从确定发地1到收地1的运量开始。这个位置按地图的方位来说是西北角,因而得名。从发地1到收地1的运量取发地1的供应量(30)和收地1的需求量(15)两者中小的一个安排,如果发地1的供应量没有用完,则将剩余的供应量向收地2发送,…,依次类推,直到最后一个发地的供应量全部运出,最后一个收地的需求量全部满足为止。

例4.7给出运输表如下。发地1的供应量为30,收地1的需求量为15,在(1,1)上安排运量15。发地1和收地1的供应量和需求量分别变为15和0。

1 30-15

2 45

3 50

4 25

15-15 20 31 84

发地1的供应量为15,收地2的需求量为20,在(1,2)上安排运量15,发

相关主题
相关文档
最新文档