厦门大学运筹学3
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
m
对于产销不平衡的情况,我们将另行处理。
这就是运输问题的数学模型,它包含 m· 变量, m + n n 个约束条件。如果用单纯形法求解,先得在各约束条件 上加入一个人工变量(以便求出初始基可行解)。因此, 即使是 m = 3, n = 4 这样的简单问题,变量数就有19个之 多,计算起来非常复杂。因此,我们有必要针对运输问
例1:设 m = 3,n = 4,如表2—2所示。
表2—2 销地 产地 A1 A2 B1 x11 x21 B2 x12 x24 B3 B4
A3
x32
x34
x11, x12, x32, x34, x24, x21 构成一个闭回路.这里有: i1 = 1, i2 = 3, i3 = 2;j1 = 1, j2 = 2, j3 = 4. 若把闭回路
如此,一步步进行下去,直到单位运价表中所有元素
都划去为止,最终在产销平衡表上就可以得到一个初始
调运方案。这个方案的总运费为 86 元,如表2—7所示。
B1
B2
B3
B4
A1
A2 A3 表2—7 销地 产地 A1 A2
3
1 7
11
9 4
3
2 10
10
8 5
B1
B2
B3
B4
产量 7
3 6
3 6
4 1
5
3
用的作用,具有广泛的应用。
第一节 运输问题的数学模型
在经济建设中,经常会遇到大宗物资调拨中的运输问题。
如煤炭、钢铁、木材、粮食等物资,在全国有若干生产基 地,根据已有的交通网,应如何制定调运方案,将这些物 资运到各消费地点,而使总运费最小。这类问题可用以 下数学语言来描述: 运输问题 :假设有 m 个生产地点,可以供应某种物资(以
c1n
c2n cmn bn
a1
a2 am
解: 假设 xij 表示从 Ai 到 Bj 的运量,则所求的数学模型为
Min Z cij xij
i 1 j 1
m
n
xij b j j 1,2, , n i 1 n xij ai i 1,2, , m j 1 x 0 i 1,2, , m ; j 1,2, , n ij
8
4
9 4
7
4
在这个例子中,当在填入第三数字的格 ( A1, B4 ) 时, 在填入 4 之后,恰好产销平衡,就必须在单位运价表中 同时划去第一行和第四列。为了使有数字的格不减少, (有数字的格的总数应为m + n –1个)可以在空格( A1, B1 ) 、 ( A1, B3 ) 、 ( A2, B4 ) 、( A3, B4 )中任选一个格添加一个
题的某些特点,来寻求更为简单方便的求解方法。
第二节 表上作业法
1. 表上作业法的基本概念与重要结论
针对运输问题的数学模型结构的特殊性,它的约束方
程组的系数矩阵具有如下形式( 具体见下一张幻灯片 ),
在该矩阵中,每列只有两个元素为1,其余都是0。根据 这个特点,在单纯形法的基础上,创造出一种专门用来 求解运输问题的方法,这种方法我们称为表上作业法。 运输问题也是一个线性规划问题,当用单纯形法进 行求解时,我们首先应当知道它的基变量的个数;其次,
伏格尔法的具体实施过程,步骤如下:
第一步:在单位运价表中增加一行和一列,列的格位置
相应填入该行的次小运费与最小运费之差,我们称之为
行差额。行的格位置相应填入该列的次小运费与最小运
费之差,我们称之为列差额。如此可得表2—8:
表2—8
销地 产地 A1 A2 A3 列差额 B1 B2 B3 B4 行差额
第一步:从单位运价表中找出最小运价为1,这表示先将 A2 的产品供应 B1 。由于A2 每天生产4吨,B1 每天只需要 3吨,即 A2 除每日能满足B1 的需要外还余1吨。因此在产 销平衡表 (A2 , B1) 交叉处填上3,表示 A2 调运3 吨给B1 , 再在单位运价表中将B1 这一列运价划去,表示 B1 的需求
3
6
4
9
A3
销量
应当注意的是,在用最小元素法确定初始基可行 解的时候,有可能出现以下的两种特殊情况: (1)若运输方案已给出,但是,单位运价表中尚有一 个元素未划去,这时只要在对应于未划去元素的产销 平衡表的空格出填上“0”即可。这个填“0”的格与 其他 也填有数字的格同等看待,也是基变量,只不过取值 为0罢了。 可参见如下例4:
为此我们需要引入一些基本概念,通过对这些基本概念 的分析和讨论,结合单纯形算法的基本结果,便可得出 我们所需要的结论。 定义1: 凡是能排成xi
1 j1
, xi1 j2 , xi2 j2 , xi2 j3 , , xis js ,
xis j1 , (i1 , , is , 互不相同, 且1 ik m, k 1, s, j1 , , js 互不相同, 且1 jl n, l 1,, s )形成 的变量的集合称之为一个闭回路, 而把出现 在闭回路中的变量称为这个闭回路的顶点.
B3 x12 x12
B4
A1
A2 A3
表2— 4
销地 产地
A1 A2 A3
B1
x11
B2
x12 x22
B3
B4
x24 x34
x31
从上面的几个例子中不难看出,如果把一个闭回路的 所有顶点都在表中画出,并且把相邻的顶点都用一条直 线连接起来,就可以得到一条封闭的折线,折线的每一 条边或者是水平的,或者是垂直的。另外,在表中的每 一行或每一列中,至多只有两个闭回路的顶点。
(2)求各非基变量的检验数即在表上求空格的检验数,
判别是否达到最优解。如果达到最优解,则停止计算,
否则转入下一步;
(3)确定换入变量和换出变量,找出新的基可行解,在
表上用闭回路法进行调整。
(4)重复(2)、(3)步,直到求得最优解为止。
以下我们就具体给出求解运输问题表上作业法的 计算步骤。 2.1 确定初始基可行解 确定初始基可行解即首先给出初始的调运方案, 共有两种方法就是: 1. 方法一、最小元素法:
最小元素法的基本思想就是就近供应。即从单位
运价表中最小的运价开始确定产销关系,依次类推,直
到给出初始方案为止。举例如下:
例2:某公司经销甲产品,它下设三个加工厂,每日 的产量分别为:A1—7吨、 A2—4吨、 A3—9吨。该公 司把这些产品分别运往四个销售点. 各销售点每日销 售量为:B1—3吨、 B2—6吨、 B3—5吨、B4—6吨。已 知从各工厂到各销售点的单位产品的运价如表2—5所
后称为产地),用 Ai 表示,i = 1,2,,m;有 n 个销售地,
用 Bj 表示,j = 1,2, ,n;产地的产量和销售地的销售量分
别为 ai , i = 1,2,,m 和 bj j = 1,2, ,n,从 Ai 到 Bj 运输单
位物资的运价为 cij ,这些数据可汇总于如下表2—1。在
假设产销平衡的条件下,即
a
i 1
m
i
bj
j 1
n
要求得总运费最小的调运方案。
表2—1
销地 产地
产销平衡表与单位运价表
B1 B2 Bn 产量
A1
A2 Am 销量
c11
c21 cm1 b1
c12
c22 cm2 b2
“0”;同样,这个添加的“0”格当 作基变量,取值为 0。
我们这里是在 ( A1, B3 ) 处填0(即初始调运方案是一个退 化的基可行解)。 2. 方法二、伏格尔法: 最小元素法的缺点是,为了节省一处的费用,有时造
成在其它地方要花多几倍的运费。伏格尔法考虑到,一 产地的产品,假如不能按最小运费就近供应,就考虑次 小运费。这就有一个差额,差额越大,说明不能按最小 运费调运时,运费增加就越多。因此,对于差额最大处 ,就优先采用最小运费调运。我们还是用例 1 来说明
定理: m+n-1个变量 xi j , xi j ,, xi j ( s m n 1) 构成 1 1 2 2 s s 基变量的充分和必要条件是它不包含有任何闭回路。 以上的结果给出了运输问题的基的一个特征,这个结
论是非常重要的,因为利用它来判断 m+n-1个变量是否
构成基变量比直接判断这些变量所对应的系数列向量组
的产品已分配完毕。 第三步: 从上述第二步所得的单位运价表未划去的元素中 找出最小元素为 3。这表示将 A1 的产品供应 B3 , A1 每 天生产7 吨,B3 尚缺 4 吨,因此在产销平衡表的(A1 , B3) 交叉处填上 4,由于B3 的需求已满足,将第二步的单位
运价表中的 B3 这一列运价划去。
B1
B2
B3பைடு நூலகம்
B4
A1 A2
A3
3 7
1
11 7
2
4 3
10
5 8
6
销地 产地 A1
A2 A3
B1
B2
B3
B4
产量 7
4 9
3
3
0 6
6
1 4
5
6
销量
6
(2)当在中间步骤的未划去的单位运价表中寻找最小 元素时,发现该元素所在行的剩余产量等于该元素所 在列的剩余销售量。这时在产销平衡表相应的位置填 上一个数,而在单位运价表中就要同时划去一行和一 列。为了使调运方案中有数字的格仍为(m + n –1)个
示。问该公司应如何调运产品,在满足各销售点的需
要量的前提下,使总的运费为最小。
解:先画出这个问题的产销平衡表2—6。
表2—5 销地 产地
单位:元/吨
B1
B2
B3
B4
A1 A2
A3
3 1
7
11 9
4
3 2
10
10 8
5
表2—6
销地 B1 B2 B3
单位:吨
B4 产量
产地
A1 A2 A3 销量
7 4 9 3 6 5 6
,需要在同时划去的行或列的任一空格位置添上一个
“0”,这个“0”表示该变量是基变量, 只不过它取值 为0, 即此时的调运方案是一个退化的基可行解。见如下 例 5:
B1
B2 3
B3 10
B4 4
A1 A2
A3 销地 产地
5
1
20
6
10
9
5
6
7
B1
B2
B3
B4
产量
A1 A2
A3 销量 3
5
3
5
0 1 7
第三章
运输问题
前面讨论了一般线性规划问题的数学模型的建立和求 解的方法,但在实际工作中,往往碰到有些线性规划问题 ,它们的约束条件的系数矩阵具有特殊的结构,这就使我 们有可能找到比单纯形法更为简单的求解方法, 从而节
约大量的计算时间和费用。本章所讨论的运输问题就是
属于这样一类特殊的线性规划问题,它在实践中具有重
已满足,不需要继续调运 (即x21 =3=min(a2,b1)=min(4 , 3).
第二步: 从上述未划去的单位运价表的元素中找出最小
的运价2 ,即A2 把剩余的产品供应给B3 ;B3 每天需要5
吨 ,A2 只剩余 1 吨,因此在上述产销平衡表的 (A2 , B3) 交
叉处填上 1,划去上述运价表中A2 这一行运价,表示 A2
的顶点在表中画出,并且把相邻两个变量用一条直线相连
(今后就称这些直线为闭回路的边)。而表2—3,即顶 点为{ x12、 x13、 x23、 x22 }和表2—4,即顶点为 { x11、 x12、 x22、 x24、 x34、 x31 } 也分别构成两个闭回路。 表2—3
销地
产地
B1
B2 x12 x12
要知道这样一组基变量应当是由哪些变量来组成。由运
输问题系数矩阵的形式并结合第一章单纯形算法的讨论
可以知道: 运输问题的每一组基变量应由 m+n-1个变量组
成.(即基变量的个数=产地个数 + 销售地个数 – 1) 进一
步我们想知道,怎样的 m+n-1个变量会构成一组基变量?
x11,, x1n , x21,, x2 n ,, xm1 ,, xmn 1 0 A 0 1 0 1 0 0 0 0 0 1 1 0 0 0 0 0 1 1 0 1 0 1 0 1 0 1 0 1
是否线性无关要简单和直观。另外,在以后还将看到利
用基的这个特征可以导出求运输问题的第一个基可行解
的一种 简便的方法。
2. 表上作业法
表上作业法是单纯形法在求解运输问题时的一种简化
方法,其实质是单纯形算法。只是具体计算和术语有所 不同,可归纳为: (1)找出初始基可行解,即在 (mn) 产销平衡表上给出 m+n-1个有数字的格,这些有数字的格不能构成闭回路, 且行和等于产量,列和等于销售量;
对于产销不平衡的情况,我们将另行处理。
这就是运输问题的数学模型,它包含 m· 变量, m + n n 个约束条件。如果用单纯形法求解,先得在各约束条件 上加入一个人工变量(以便求出初始基可行解)。因此, 即使是 m = 3, n = 4 这样的简单问题,变量数就有19个之 多,计算起来非常复杂。因此,我们有必要针对运输问
例1:设 m = 3,n = 4,如表2—2所示。
表2—2 销地 产地 A1 A2 B1 x11 x21 B2 x12 x24 B3 B4
A3
x32
x34
x11, x12, x32, x34, x24, x21 构成一个闭回路.这里有: i1 = 1, i2 = 3, i3 = 2;j1 = 1, j2 = 2, j3 = 4. 若把闭回路
如此,一步步进行下去,直到单位运价表中所有元素
都划去为止,最终在产销平衡表上就可以得到一个初始
调运方案。这个方案的总运费为 86 元,如表2—7所示。
B1
B2
B3
B4
A1
A2 A3 表2—7 销地 产地 A1 A2
3
1 7
11
9 4
3
2 10
10
8 5
B1
B2
B3
B4
产量 7
3 6
3 6
4 1
5
3
用的作用,具有广泛的应用。
第一节 运输问题的数学模型
在经济建设中,经常会遇到大宗物资调拨中的运输问题。
如煤炭、钢铁、木材、粮食等物资,在全国有若干生产基 地,根据已有的交通网,应如何制定调运方案,将这些物 资运到各消费地点,而使总运费最小。这类问题可用以 下数学语言来描述: 运输问题 :假设有 m 个生产地点,可以供应某种物资(以
c1n
c2n cmn bn
a1
a2 am
解: 假设 xij 表示从 Ai 到 Bj 的运量,则所求的数学模型为
Min Z cij xij
i 1 j 1
m
n
xij b j j 1,2, , n i 1 n xij ai i 1,2, , m j 1 x 0 i 1,2, , m ; j 1,2, , n ij
8
4
9 4
7
4
在这个例子中,当在填入第三数字的格 ( A1, B4 ) 时, 在填入 4 之后,恰好产销平衡,就必须在单位运价表中 同时划去第一行和第四列。为了使有数字的格不减少, (有数字的格的总数应为m + n –1个)可以在空格( A1, B1 ) 、 ( A1, B3 ) 、 ( A2, B4 ) 、( A3, B4 )中任选一个格添加一个
题的某些特点,来寻求更为简单方便的求解方法。
第二节 表上作业法
1. 表上作业法的基本概念与重要结论
针对运输问题的数学模型结构的特殊性,它的约束方
程组的系数矩阵具有如下形式( 具体见下一张幻灯片 ),
在该矩阵中,每列只有两个元素为1,其余都是0。根据 这个特点,在单纯形法的基础上,创造出一种专门用来 求解运输问题的方法,这种方法我们称为表上作业法。 运输问题也是一个线性规划问题,当用单纯形法进 行求解时,我们首先应当知道它的基变量的个数;其次,
伏格尔法的具体实施过程,步骤如下:
第一步:在单位运价表中增加一行和一列,列的格位置
相应填入该行的次小运费与最小运费之差,我们称之为
行差额。行的格位置相应填入该列的次小运费与最小运
费之差,我们称之为列差额。如此可得表2—8:
表2—8
销地 产地 A1 A2 A3 列差额 B1 B2 B3 B4 行差额
第一步:从单位运价表中找出最小运价为1,这表示先将 A2 的产品供应 B1 。由于A2 每天生产4吨,B1 每天只需要 3吨,即 A2 除每日能满足B1 的需要外还余1吨。因此在产 销平衡表 (A2 , B1) 交叉处填上3,表示 A2 调运3 吨给B1 , 再在单位运价表中将B1 这一列运价划去,表示 B1 的需求
3
6
4
9
A3
销量
应当注意的是,在用最小元素法确定初始基可行 解的时候,有可能出现以下的两种特殊情况: (1)若运输方案已给出,但是,单位运价表中尚有一 个元素未划去,这时只要在对应于未划去元素的产销 平衡表的空格出填上“0”即可。这个填“0”的格与 其他 也填有数字的格同等看待,也是基变量,只不过取值 为0罢了。 可参见如下例4:
为此我们需要引入一些基本概念,通过对这些基本概念 的分析和讨论,结合单纯形算法的基本结果,便可得出 我们所需要的结论。 定义1: 凡是能排成xi
1 j1
, xi1 j2 , xi2 j2 , xi2 j3 , , xis js ,
xis j1 , (i1 , , is , 互不相同, 且1 ik m, k 1, s, j1 , , js 互不相同, 且1 jl n, l 1,, s )形成 的变量的集合称之为一个闭回路, 而把出现 在闭回路中的变量称为这个闭回路的顶点.
B3 x12 x12
B4
A1
A2 A3
表2— 4
销地 产地
A1 A2 A3
B1
x11
B2
x12 x22
B3
B4
x24 x34
x31
从上面的几个例子中不难看出,如果把一个闭回路的 所有顶点都在表中画出,并且把相邻的顶点都用一条直 线连接起来,就可以得到一条封闭的折线,折线的每一 条边或者是水平的,或者是垂直的。另外,在表中的每 一行或每一列中,至多只有两个闭回路的顶点。
(2)求各非基变量的检验数即在表上求空格的检验数,
判别是否达到最优解。如果达到最优解,则停止计算,
否则转入下一步;
(3)确定换入变量和换出变量,找出新的基可行解,在
表上用闭回路法进行调整。
(4)重复(2)、(3)步,直到求得最优解为止。
以下我们就具体给出求解运输问题表上作业法的 计算步骤。 2.1 确定初始基可行解 确定初始基可行解即首先给出初始的调运方案, 共有两种方法就是: 1. 方法一、最小元素法:
最小元素法的基本思想就是就近供应。即从单位
运价表中最小的运价开始确定产销关系,依次类推,直
到给出初始方案为止。举例如下:
例2:某公司经销甲产品,它下设三个加工厂,每日 的产量分别为:A1—7吨、 A2—4吨、 A3—9吨。该公 司把这些产品分别运往四个销售点. 各销售点每日销 售量为:B1—3吨、 B2—6吨、 B3—5吨、B4—6吨。已 知从各工厂到各销售点的单位产品的运价如表2—5所
后称为产地),用 Ai 表示,i = 1,2,,m;有 n 个销售地,
用 Bj 表示,j = 1,2, ,n;产地的产量和销售地的销售量分
别为 ai , i = 1,2,,m 和 bj j = 1,2, ,n,从 Ai 到 Bj 运输单
位物资的运价为 cij ,这些数据可汇总于如下表2—1。在
假设产销平衡的条件下,即
a
i 1
m
i
bj
j 1
n
要求得总运费最小的调运方案。
表2—1
销地 产地
产销平衡表与单位运价表
B1 B2 Bn 产量
A1
A2 Am 销量
c11
c21 cm1 b1
c12
c22 cm2 b2
“0”;同样,这个添加的“0”格当 作基变量,取值为 0。
我们这里是在 ( A1, B3 ) 处填0(即初始调运方案是一个退 化的基可行解)。 2. 方法二、伏格尔法: 最小元素法的缺点是,为了节省一处的费用,有时造
成在其它地方要花多几倍的运费。伏格尔法考虑到,一 产地的产品,假如不能按最小运费就近供应,就考虑次 小运费。这就有一个差额,差额越大,说明不能按最小 运费调运时,运费增加就越多。因此,对于差额最大处 ,就优先采用最小运费调运。我们还是用例 1 来说明
定理: m+n-1个变量 xi j , xi j ,, xi j ( s m n 1) 构成 1 1 2 2 s s 基变量的充分和必要条件是它不包含有任何闭回路。 以上的结果给出了运输问题的基的一个特征,这个结
论是非常重要的,因为利用它来判断 m+n-1个变量是否
构成基变量比直接判断这些变量所对应的系数列向量组
的产品已分配完毕。 第三步: 从上述第二步所得的单位运价表未划去的元素中 找出最小元素为 3。这表示将 A1 的产品供应 B3 , A1 每 天生产7 吨,B3 尚缺 4 吨,因此在产销平衡表的(A1 , B3) 交叉处填上 4,由于B3 的需求已满足,将第二步的单位
运价表中的 B3 这一列运价划去。
B1
B2
B3பைடு நூலகம்
B4
A1 A2
A3
3 7
1
11 7
2
4 3
10
5 8
6
销地 产地 A1
A2 A3
B1
B2
B3
B4
产量 7
4 9
3
3
0 6
6
1 4
5
6
销量
6
(2)当在中间步骤的未划去的单位运价表中寻找最小 元素时,发现该元素所在行的剩余产量等于该元素所 在列的剩余销售量。这时在产销平衡表相应的位置填 上一个数,而在单位运价表中就要同时划去一行和一 列。为了使调运方案中有数字的格仍为(m + n –1)个
示。问该公司应如何调运产品,在满足各销售点的需
要量的前提下,使总的运费为最小。
解:先画出这个问题的产销平衡表2—6。
表2—5 销地 产地
单位:元/吨
B1
B2
B3
B4
A1 A2
A3
3 1
7
11 9
4
3 2
10
10 8
5
表2—6
销地 B1 B2 B3
单位:吨
B4 产量
产地
A1 A2 A3 销量
7 4 9 3 6 5 6
,需要在同时划去的行或列的任一空格位置添上一个
“0”,这个“0”表示该变量是基变量, 只不过它取值 为0, 即此时的调运方案是一个退化的基可行解。见如下 例 5:
B1
B2 3
B3 10
B4 4
A1 A2
A3 销地 产地
5
1
20
6
10
9
5
6
7
B1
B2
B3
B4
产量
A1 A2
A3 销量 3
5
3
5
0 1 7
第三章
运输问题
前面讨论了一般线性规划问题的数学模型的建立和求 解的方法,但在实际工作中,往往碰到有些线性规划问题 ,它们的约束条件的系数矩阵具有特殊的结构,这就使我 们有可能找到比单纯形法更为简单的求解方法, 从而节
约大量的计算时间和费用。本章所讨论的运输问题就是
属于这样一类特殊的线性规划问题,它在实践中具有重
已满足,不需要继续调运 (即x21 =3=min(a2,b1)=min(4 , 3).
第二步: 从上述未划去的单位运价表的元素中找出最小
的运价2 ,即A2 把剩余的产品供应给B3 ;B3 每天需要5
吨 ,A2 只剩余 1 吨,因此在上述产销平衡表的 (A2 , B3) 交
叉处填上 1,划去上述运价表中A2 这一行运价,表示 A2
的顶点在表中画出,并且把相邻两个变量用一条直线相连
(今后就称这些直线为闭回路的边)。而表2—3,即顶 点为{ x12、 x13、 x23、 x22 }和表2—4,即顶点为 { x11、 x12、 x22、 x24、 x34、 x31 } 也分别构成两个闭回路。 表2—3
销地
产地
B1
B2 x12 x12
要知道这样一组基变量应当是由哪些变量来组成。由运
输问题系数矩阵的形式并结合第一章单纯形算法的讨论
可以知道: 运输问题的每一组基变量应由 m+n-1个变量组
成.(即基变量的个数=产地个数 + 销售地个数 – 1) 进一
步我们想知道,怎样的 m+n-1个变量会构成一组基变量?
x11,, x1n , x21,, x2 n ,, xm1 ,, xmn 1 0 A 0 1 0 1 0 0 0 0 0 1 1 0 0 0 0 0 1 1 0 1 0 1 0 1 0 1 0 1
是否线性无关要简单和直观。另外,在以后还将看到利
用基的这个特征可以导出求运输问题的第一个基可行解
的一种 简便的方法。
2. 表上作业法
表上作业法是单纯形法在求解运输问题时的一种简化
方法,其实质是单纯形算法。只是具体计算和术语有所 不同,可归纳为: (1)找出初始基可行解,即在 (mn) 产销平衡表上给出 m+n-1个有数字的格,这些有数字的格不能构成闭回路, 且行和等于产量,列和等于销售量;