Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 4.2 自来水输送与货机装运 钢铁、煤炭、水电等生产、生活物资 从若干供应点运送到一些需求点,怎样安 排输送方案使运费最小,或者利润最大 ? 各种类型的货物装箱,由于受体积、重量 等的限制,如何相互搭配装载,使获利最 高,或者装箱数量最少 ? 本节将通过两个 例子讨论用数学规划模型解决这类问题的.

Similar presentations


Presentation on theme: "1 4.2 自来水输送与货机装运 钢铁、煤炭、水电等生产、生活物资 从若干供应点运送到一些需求点,怎样安 排输送方案使运费最小,或者利润最大 ? 各种类型的货物装箱,由于受体积、重量 等的限制,如何相互搭配装载,使获利最 高,或者装箱数量最少 ? 本节将通过两个 例子讨论用数学规划模型解决这类问题的."— Presentation transcript:

1 1 4.2 自来水输送与货机装运 钢铁、煤炭、水电等生产、生活物资 从若干供应点运送到一些需求点,怎样安 排输送方案使运费最小,或者利润最大 ? 各种类型的货物装箱,由于受体积、重量 等的限制,如何相互搭配装载,使获利最 高,或者装箱数量最少 ? 本节将通过两个 例子讨论用数学规划模型解决这类问题的 方法.

2 2 例 1 自来水输送问题 问题 某市有甲、乙、丙、丁四个居民区, 自来水由 A , B , C 三个水库供应. 四个区每天必 须得到保证的基本生活用水量分别为 30 , 70 , 10 , 10 千吨,但由于水源紧张,三个水库每天 最多只能分别供应 50 , 60 , 50 千吨自来水. 由于 地理位置的差别,自来水公司从各水库向各区 送水所需付出的引水管理费不同 ( 见表 1 ,其中 C 水库与丁区之间没有输水管道 ) ,其他管理费用 都是 450 元/千吨. 根据公司规定,各区用户按 照统一标准 900 元/千吨收费.此外,四个区都 向公司申请了额外用水量,分别为每天 50 , 70 , 20 , 40 千吨.该公司应如何分配供水量,才能 获利最多 ?

3 3 为了增加供水量,自来水公司正在考虑进 行水库改造,使三个水库每天的最大供水量都 提高一倍,问那时供水方案应如何改变 ? 公司 利润可增加到多少 ? 引水管理费 ( 元 / 千吨 ) 甲 乙 丙丁 A 160130220170 B 140130190150 C 190200230/ 表 1 从水库向各区送水的引水管理费

4 4 问题分析 分配供水量就是安排从三个水库 向四个区送水的方案,目标是获利最多.而从 题目给出的数据看, A, B, C 三个水库的供水量 160 千吨,不超过四个区的基本生活用水量与 额外用水量之和 300 千吨,因而总能全部卖出 并获利,于是自来水公司每天的总收入是 900  (50 + 60 + 50) = 144000 元,与送水方案无关. 同样,公司每天的其它管理费用 450  (50 + 60 + 50) = 72000 元也与送水方案无关. 所以,要 使利润最大,只需使引水管理费最小即可. 另 外,送水方案自然要受三个水库的供应量和四 个区的需求量的限制.

5 5 模型建立 很明显,决策变量为 A, B, C 三个水库 (i = 1, 2, 3) 分别向甲、乙、丙、丁四个区 (j = 1, 2, 3, 4) 的供水量. 设水库 i 向 j 区的日供水量为 x ij ,由于 C 水库与丁区之间没有输水管道,即 x 34 = 0 ,因 此只有 11 个决策变量. 由上分析,问题的目标可以从获利最多转 化为引水管理费最少,于是有 Min Z = 160x 11 + 130x 12 + 220x 13 + 170x 14 + 140x 21 + 130x 22 + 190x 23 + 150x 24 + 190x 31 + 200x 32 + 230x 33 (1)

6 6 约束条件有两类 : 一类是水库的供应量 限制,另一类是各区的需求量限制. 由于供水量总能卖出并获利,水库的 供应量限制可以表示为 x 11 + x 12 + x 13 + x 14 = 50 (2) x 21 + x 22 + x 23 + x 24 = 60 (3) x 31 + x 32 + x 33 = 50 (4)

7 7 考虑到各区的基本生活用水量与额外 用水量,需求量限制可以表示为 30  x 11 + x 21 + x 31  80 (5) 70  x 12 + x 22 + x 32  140 (6) 10  x 13 + x 23 + x 33  30 (7) 10  x 14 + x 24  50 (8)

8 8 模型求解 (1) ~ (8) 构成一个线性规划模型 ( 当然要 加上 x ij 的非负约束 ). 输入 LINDO 求解,得 到如下输出 :

9 9 OBJECTIVE FUNCTION VALUE 1) 24400 . 00 VARIABLE VALUE REDUCED COST X11 0.000000 30.000000 X12 50.000000 0.000000 X13 0.000000 50.000000 X14 0.000000 20.000000 X21 0.000000 10.000000 X22 50.000000 0.000000 X23 0.000000 20.000000 X24 10.000000 0.000000 X31 40.000000 0.000000 X32 0.000000 10.000000 X33 10.000000 0.000000

10 10 ( 注: REDUCED COST 为各变量下界 约束的影子价格. 例如对 X11 ,若其下界从 0 提高到  ,则目标 Z 的最优值会提高 30  , 其 “ 价格 ” 为 30  /  = 30.) 送水方案为 : A 水库向乙区供水 50 千吨, B 水库向乙、丁区分别供水 50, 10 千吨, C 水库向甲、丙分别供水 40, 10 千吨. 引水管 理费为 24400 元. 利润为 144000  72000  24400 = 47600 元.

11 11 讨论 如果 A, B, C 三个水库每天的最大供水量都提 高一倍,则公司总供 水能力为 320 千吨,大于总需求 量 300 千吨,水库供水量不能全部卖出,因而不能像 前面那样,将获利最多转化为引水管理费最少. 此时 我们首先需要计算 A, B, C 三个水库分别向甲、乙、丙、 丁四个区供应每千吨水的净利润,即从收入 900 元中 减去其它管理费 450 元,再减去表 1 中的引水管理费, 得表 2 . 净利润 ( 元 / 千吨 ) 甲乙丙丁 A 290320230280 B 310320260300 C 260250220/ 表 2 从水库向各区送水的净利润

12 12 于是决策目标为 Max Z = 290x 11 + 320x 12 + 230x 13 + 280x l4 + 310x 21 + 320x 22 + 260x 23 + 300x 24 + 260x 31 + 250x 32 + 220x 33 (9) 由于水库供水量不能全部卖出,所以上面约束 (2) ~ (4) 的右端增加一倍的同时,应将等号改成小于、 等于号,即 x 11 + x 12 + x 13 + x 14  100 (10) x 21 + x 22 + x 23 + x 24  120 (11) x 31 + x 32 + x 33  100 (12) 约束 (5) ~ (8) 不变.将 (5) ~ (12) 构成的线性规划 模型输入 LINDO 求解得到 :

13 13 OBJECTIVE FUNCTION VALUE 1) 88700.00 VARIABLE VALUE REDUCED COST X11 0.000000 20.000000 X12 100.000000 0.000000 X13 0.000000 40.000000 X14 0.000000 20.000000 X21 30.000000 0.000000 X22 40.000000 0.000000 X23 0.000000 10.000000 X24 50.000000 0.000000 X31 50.000000 0.000000 X32 0.000000 20.000000 X33 30.000000 0.000000

14 14 送水方案为: A 水库向乙区供水 100 千 吨, B 水库向甲、乙、丁区分别供水 30, 40, 50 千吨, C 水库向甲、丙区分别供水 50 , 30 千吨.总利润为 88700 元. 其实,由于每个区的供水量都能完全 满足,所以上面 (5) ~ (8) 每个式子左边的约 束可以去掉,右边的小于、等于号可以改 写成等号. 作这样的简化后得到的解没有 任何变化.

15 15 评注 本题考虑的是将某种物质从若干供 应点运往一些需求点,在供需量约束条件 下使总费用最小,或总利润最大. 这类问 题一般称为运输问题,是线性规划应用最 广泛的领域之一. 在标准的运输问题中, 供需量通常是平衡的,即供应点的总供应 量等于需求点的总需求量. 本题中供需量 不平衡,但这并不会引起本质的区别,一 样可以方便地建立线性规划模型求解.

16 16 例 2 货机装运 问题 某架货机有三个货舱:前仓、中仓、 后仓. 三个货舱所能装载的货物的最大重量和 体积都有限制,如表 3 所示. 并且,为了保持 飞机的平衡,三个货舱中实际装载货物的重 量必须与其最大容许重量成比例. 前仓中仓后仓 重量限制 ( 吨 ) 10168 体积限制 ( 米 3 ) 680087005300 表 3 三个货仓装载货物的最大允许重量和体积

17 17 现有四类货物供该货机本次飞行装运, 其有关信息如表 4 ,最后一列指装运后所获 得的利润. 重量 ( 吨 ) 空间 ( 米 3 / 吨 ) 利润 ( 元 / 吨 ) 货物 1 184803100 货物 2 156503800 货物 3 235803500 货物 4 123902850 表 4 四类装运货物的信息 应如何安排装运,使该货机本次飞行获 利最大 ?

18 18 模型假设 问题中没有对货物装运提出其它要求, 我们可作如下假设: 1) 每种货物可以分割到任意小; 2) 每种货物可以在一个或多个货舱中任意分布; 3) 多种货物可以混装,并保证不留空隙。 模型建立 决策变量:用 x ij 表示第 i 种货物装入第 j 个货舱的重 量 ( 吨 ) ,货舱 j = l, 2, 3 分别表示前仓、中仓、后仓. 决策目标是最大化总利润,即 Max Z = 3100(x 11 + x 12 + x 13 ) + 3800(x 21 + x 22 + x 23 ) + 3500(x 3l + x 32 + x 33 ) + 2850(x 41 + x 42 + x 43 ) (13)

19 19 约束条件包括以下 4 个方面: 1) 供装载的四种货物的总重量约束,即 x 11 + x 12 + x 13  18 (14) x 21 + x 22 + x 23  15 (15) x 31 + x 32 + x 33  23 (16) x 41 + x 42 + x 43  12 (17) 2) 三个货舱的重量限制,即 x 11 + x 21 + x 31 + x 41  10 (18) x 12 + x 22 + x 32 + x 42  16 (19) x 13 + x 23 + x 33 + x 43  8 (20)

20 20 3) 三个货舱的空间限制,即 480x 11 + 650x 2l + 580x 31 + 390x 41  6800 (21) 480x 12 + 650x 22 + 580x 32 + 390x 42  8700 (22) 480x 13 + 650x 23 + 580x 33 + 390x 43  5300 (23) 4) 三个货舱装入重量的平衡约束,即

21 21 模型求解 将以上模型输入 LINDO 求解,可以得 到: OBJECTIVE FUNCTION VALUE 1) 121515.8

22 22 VARIABLE VALUE REDUCED COST X11 0.000000 400.000000 X12 0.000000 57.894737 X13 0.000000 400.000000 X21 10.000000 0.000000 X22 0.000000 239.473679 X23 5.000000 0.000000 X31 0.000000 0.000000 X32 12.947369 0.000000 X33 3.000000 0.000000 X41 0.000000 650.000000 X42 3.052632 0.000000 X43 0.000000 650.000000

23 23 实际上,不妨将所得最优解作四舍五入, 结果为货物 2 装入前仓 10 吨、装入后仓 5 吨;货 物 3 装人中仓 13 吨、装入后仓 3 吨;货物 4 装人 中仓 3 吨.最大利润约 121516 元. 评注 初步看来,本例与运输问题类似, 似乎可以把 4 种货物看成 4 个供应点, 3 个货舱 看成 3 个需求点 ( 或者反过来,把货舱看成供应 点,货物看成需求点 ). 但是,这里对供需量的 限制包括两个方面:重量限制和空间限制,且 有装载均匀要求. 因此它只能看成是运输问题 的一种变形和扩展.

24 24 附例 1 的 matlab 程序: (n4_2ex01.m in Matlab/work) %4.2,p93,example 1, 2004/7/18 f=[160 130 220 170 140 130 190 150 190 200 230]; % Both f=[…] or f=[…]' are OK! Aeq=[1 1 1 1 0 0 0 0 0 0 0; 0 0 0 0 1 1 1 1 0 0 0; 0 0 0 0 0 0 0 0 1 1 1]; beq=[50 60 50]';

25 25 A=[1 0 0 0 1 0 0 0 1 0 0; 0 1 0 0 0 1 0 0 0 1 0; 0 0 1 0 0 0 1 0 0 0 1; 0 0 0 1 0 0 0 1 0 0 0]; A=[A;-A]; b=[80 140 30 50 -30 -70 -10 -10]; lb=zeros(11,1); [x,fval,exitflag,output,lambda]=linprog(f,A,b, Aeq,beq,lb)

26 26 说明: 线性规划为 min fval = f *x ( 输入时 f 为行向量或列向量都行 ) s.t A*x  b, Aeq*x = beq, lb  x  ub 设置 linprog(f, A, b, Aeq, beq, lb, ub) 中参 数时,若后面全空缺可不写,中间有空缺 时用 [] 代替,如 linprog(f, A, b, [], [],lb), linprog(f, A, b) 等. 运行后,要知道结果,则

27 27 x = 0.0000 50.0000 0.0000 50.0000 0.0000 10.0000 40.0000 0.0000 10.0000 lambda.lower = ans = 30.0000 0.0000 50.0000 20.0000 10.0000 0.0000 20.0000 0.0000 10.0000 0.0000 fval = 2.4400e+004

28 28 lambda.ineqlin = ans = 0.0000 40.0000 20.0000 lambda.eqlin = ans = -130.0000 -190.0000 (lambda 中为各约束的 影子价格 ) 作业:对本节的其它数值例, 用 Matlab 编程计算.


Download ppt "1 4.2 自来水输送与货机装运 钢铁、煤炭、水电等生产、生活物资 从若干供应点运送到一些需求点,怎样安 排输送方案使运费最小,或者利润最大 ? 各种类型的货物装箱,由于受体积、重量 等的限制,如何相互搭配装载,使获利最 高,或者装箱数量最少 ? 本节将通过两个 例子讨论用数学规划模型解决这类问题的."

Similar presentations


Ads by Google