资源描述
资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。
光明市的菜篮子工程
摘要:
针对题目所提的问题, 本文结合题目所给的数据, 采取线性规划的方法, 将题目中所给的该市的道路情况, 路段距离, 及各收购点所画的图形转换为求目标函数的最小值问题。求解过程得到的限定条件中未知量的值即为所给的合理方案。
关键词: 线性规划, 约束条件, 运输问题
一、 问题背景及重述
1.1 问题的背景
光明市是一个人口不足15万的小城市, 该城市拥有3个蔬菜收购点和8个菜市场, 它们都分布在城市各个不同的地方。菜市场的蔬菜全部由收购点供应, 可是这中间会产生菜市场的短缺损失及运费的问题, 为了使二者最小, 提出一个经济合理的定点供应方案成为关键。
1.2 问题的重述
光明市是一个人口不到15万人的小城市。根据该市的蔬菜种植情况, 分别在花市( A) , 城乡路口( B) 和下塘街( C) 设三个收购点, 再由各收购点分送到全市的8个菜市场, 该市道路情况, 各路段距离( 单位: 100m) 及各收购点, 菜市场①⑧的具体位置见图3.2.按常年情况, A,B,C三个收购点每天收购量分别为200, 170和160( 单位: 100 kg) ,各菜市场的每天需求量及发生供应短缺时带来的损失( 元/100kg) 见表3.设从收购点至各菜市场蔬菜调运费为1元/(100kg.100m).
① 7 ②
5 4 8 3 7
A 7 6 B
⑥ 6 8 5
5 4 7 11
7 4 ③
7 5 6
6 ⑤ 3 5 ④
8 6 6
10 C 10 ⑧
5 11
⑦
表3
菜市场
每天需求( 100 kg)
短缺损失( 元/100kg)
①
75
10
②
60
8
③
80
5
④
70
10
⑤
100
10
⑥
55
8
⑦
90
5
⑧
80
8
(a) 为该市设计一个从收购点至个菜市场的定点供应方案, 使用于蔬菜调运及预期的短缺损失为最小;
(b) 若规定各菜市场短缺量一律不超过需求量的20%, 重新设计定点供应方案;
(c) 为满足城市居民的蔬菜供应, 光明市的领导规划增加蔬菜种植面积, 试问增产的蔬菜每天应分别向A,B,C三个采购点供应多少最经济合理。
二、 问题分析
a. 本问旨在解决如何减少菜篮子工程的开销, 即蔬菜调运费用和短缺损失两部分的费用总和。蔬菜调运费用主要取决于蔬菜调运路径的选取, 采用寻找到的最短路径, 再乘以各个路程的权重, 得出总运费为运输费用加上短缺损失, 根据题目所给的约束条件, 运用LINGO进行求解。
b. 本问在a问的基础上, 增加约束方程, 即增加约束条件, 然后再利用LINGO进行求解。
c. 由于a方案中已经考虑了经济的因素, 因此我们在此基础上进行改进, 只需要对需要增加供应的的菜市场的最近的收购点增加对应的供应即可。这时对收购点给各菜市场的运输量分析得到结果, 而且根据编程的结果验证我们的分析。
三、 模型假设
1、 只考虑蔬菜调运费用和短缺损失费用, 不考虑装卸或运输中的产生的损耗等其它费用;
2、 假设各菜市场蔬菜只来源于A、 B、 C三个收购站, 而无其它来源;
3、 假设各收购站供应蔬菜质量以及单位运价相同;
四、 符号说明
Xij
第i个收购点向第j个菜市场运输蔬菜的数量
Dij
调运路径中, 第i个收购点到第j个菜市场的最短距离
A
从收购点至各菜市场蔬菜调运费单价
P
蔬菜调运总费用
ai
第i个收购点的供应量
bj
第j个菜市场的需求量
B
第j个菜市场因供给小于需求量的单位短缺损失
Q
短缺损失总费用
W
蔬菜运输和短缺损失的总费用
Zi
增产的蔬菜向第i个收购点供应的数量
五、 模型的建立与求解
目标函数蔬菜运输和短缺损失的总费用W包括两部分: 蔬菜调运费用P, 短缺损失费用Q。
Xij: 第i个收购点向第j个菜市场运输蔬菜的数量( i=1,2,3;j=1,…,8) ;
Dij: 调运路径中, 第i个收购点到第j个菜市场的距离( i=1,2,3; j=1,…,8) ;
A: 从收购点至各菜市场蔬菜调运费单价;
则蔬菜调运总费用P为:
ai: 第i个收购点的供应量( i=1,2,3) ;
bj:第j个菜市场的需求量( j=1,…,8)
;
B:第j个菜市场因供给小于需求量的单位短缺损失;
则短缺损失总费用为Q:
则蔬菜运输和短缺损失的总费用W:
W=P+Q
问题( a) 的模型:
( 1) 3个收购点的蔬菜全部供给8个市场 ( i=1, 2, 3)
( 2) 3个收购点分别向每个市场供应的总量不超过每个市场的需求量
( j=1,…,8)
(3) 变量非负性限制( i=1, 2, 3; j=1,…,8)
综合以上结论, 得出问题(a)的数学模型如下:
目标函数: min W=
约束条件: ( i=1, 2, 3)
( j=1,…,8)
( i=1, 2, 3, j=1,…,8)
求解:
根据图论的遍历方法, 得出各个收购点到各个菜市场的最短距离如下( Dij) :
1
2
3
4
5
6
7
8
A
4
8
8
19
11
6
22
20
B
14
7
7
16
12
16
23
17
C
20
19
11
14
6
15
5
10
表1 三个收购点分别到菜市场的最短距离
根据建立的模型, 利用LINGO软件, 输入目标函数和约束条件, 求解模型的最优解。
1
2
3
4
5
6
7
8
A
75
0
40
0
30
55
0
0
B
0
60
40
70
0
0
0
0
C
0
0
0
0
70
0
90
0
总费用: 4610元
表2 各收购点向各菜市场供应量分配表及总费用(a)
问题( b) 的模型:
( 1) 3个收购点的蔬菜全部供给8个市场 ( i=1, 2, 3)
( 2) 每个菜市场短缺量不超过需求量的20%
( j=1,…,8)
(3)变量非负性限制( i=1, 2, 3; j=1,…,8)
综合以上结论, 得出问题(b)的数学模型如下:
目标函数: min W=
约束条件: ( i=1, 2, 3)
( j=1,…,8)
( i=1, 2, 3, j=1,…,8)
求解:
根据建立的模型, 利用LINGO软件, 输入目标函数和约束条件, 求解模型的最优解。
1
2
3
4
5
6
7
8
A
75
0
10
0
60
55
0
0
B
0
60
54
56
0
0
0
0
C
0
0
0
0
24
0
72
64
总费用: 4806元
表3 各收购点向各菜市场供应量分配表及总费用(b)
问题( c) 的模型:
Zi:增产的蔬菜向第i个收购点供应的数量( i=1,2,3)
( 1) 3个收购点的蔬菜全部供给8个市场 ( i=1, 2, 3)
( 2) 3个收购点分别向每个市场供应的总量满足每个市场的需求量
( j=1,…,8) ,
( 3) 变量非负性限制( i=1, 2, 3; j=1,…,8)
综合以上结论, 得出问题(c)的数学模型如下:
目标函数: min W=
约束条件: ( i=1, 2, 3)
( j=1,…,8)
( i=1, 2, 3, j=1,…,8)
求解:
根据建立的模型, 利用LINGO软件, 输入目标函数和约束条件, 求解模型的最优解。
1
2
3
4
5
6
7
8
A
75
0
40
0
30
55
0
0
B
0
60
40
70
0
0
0
0
C
0
0
0
0
70
0
90
80
总费用: 4770元
表4 各收购点向各菜市场供应量分配表及总费用(c)
即增产的蔬菜每天应向A,B,C分别供应0,0,8000kg, 而且将这些蔬菜全部由收购点C经过最短路径供给8号菜市场。
六、 模型的分析与评价
1. 模型的建立和分析简单明了, 模型的求解运用LINGO软件降低了求解难度。
2. 模型在建立的过程中只考虑降低运费和短缺费的问题, 忽略了好多因素, 比如运输过程中蔬菜的损耗, 实际路段运输中产生的问题等, 导致模型可能与实际问题稍有不符, 不过已经是考虑的主要因素在内的较好的模型。
3. 在考虑路径的问题上,模型采用的是分别将各个收购点直接向各个菜市场供应蔬菜, 考虑到如果将蔬菜一起装运再分别一条线运输到各个菜市场的路线耗费更大, 因而也没有建立这种路线的模型, 总之, 模型考虑比较全面, 主次分明, 较好地解决了实际问题。
七、 参考文献
[1] 姜启源、 谢金星、 叶俊, 数学模型, 北京:高等教育出版社, 。
[2] 王宏洲、 李学文、 董岩、 李炳照, 数学建模方法进阶, 北京:清华大学出版社, 。
附录:
代码1:
model:
min=4*x11+8*x12+8*x13+19*x14+11*x15+6*x16+23*x17+20*x18+14*x21+7*x22+7*x23+16*x24+12*x25+19*x26+23*x27+17*x28+20*x31+19*x32+11*x33+14*x34+6*x35+15*x36+5*x37+10*x38+
(75-x11-x21-x31)*10+(60-x12-x22-x32)*8+(80-x13-x23-x33)*5+(70-x14-x24-x34)*10+(100-x15-x25-x35)*10+(55-x16-x26-x36)*8+(90-x17-x27-x37)*5+(80-x18-x28-x38)*8;
x11+x21+x31<=75;
x12+x22+x32<=60;
x13+x23+x33<=80;
x14+x24+x34<=70;
x15+x25+x35<=100;
x16+x26+x36<=55;
x17+x27+x37<=90;
x18+x28+x38<=80;
x11+x21+x31>=0;
x12+x22+x32>=0;
x13+x23+x33>=0;
x14+x24+x34>=0;
x15+x25+x35>=0;
x16+x26+x36>=0;
x17+x27+x37>=0;
x18+x28+x38>=0;
x11+x12+x13+x14+x15+x16+x17+x18=200;
x21+x22+x23+x24+x25+x26+x27+x28=170;
x31+x32+x33+x34+x35+x36+x37+x38=160;
End
结果:
Global optimal solution found.
Objective value: 4610.000
Infeasibilities: 0.000000
Total solver iterations: 9
Variable Value Reduced Cost
X11 75.00000 0.000000
X12 0.000000 0.000000
X13 40.00000 0.000000
X14 0.000000 2.000000
X15 30.00000 0.000000
X16 55.00000 0.000000
X17 0.000000 13.00000
X18 0.000000 5.000000
X21 0.000000 11.00000
X22 60.00000 0.000000
X23 40.00000 0.000000
X24 70.00000 0.000000
X25 0.000000 2.000000
X26 0.000000 14.00000
X27 0.000000 14.00000
X28 0.000000 3.000000
X31 0.000000 21.00000
X32 0.000000 16.00000
X33 0.000000 8.000000
X34 0.000000 2.000000
X35 70.00000 0.000000
X36 0.000000 14.00000
X37 90.00000 0.000000
X38 0.000000 0.000000
Row Slack or Surplus Dual Price
1 4610.000 -1.000000
2 0.000000 13.00000
3 0.000000 7.000000
4 0.000000 4.000000
5 0.000000 0.000000
6 0.000000 6.000000
7 0.000000 9.000000
8 0.000000 2.000000
9 80.00000 0.000000
10 75.00000 0.000000
11 60.00000 0.000000
12 80.00000 0.000000
13 70.00000 0.000000
14 100.0000 0.000000
15 55.00000 0.000000
16 90.00000 0.000000
17 0.000000 0.000000
18 0.000000 -7.000000
19 0.000000 -6.000000
20 0.000000 -2.000000
代码2:
model:
min=4*x11+8*x12+8*x13+19*x14+11*x15+6*x16+23*x17+20*x18+14*x21+7*x22+7*x23+16*x24+12*x25+19*x26+23*x27+17*x28+20*x31+19*x32+11*x33+14*x34+6*x35+15*x36+5*x37+10*x38+
(75-x11-x21-x31)*10+(60-x12-x22-x32)*8+(80-x13-x23-x33)*5+(70-x14-x24-x34)*10+(100-x15-x25-x35)*10+(55-x16-x26-x36)*8+(90-x17-x27-x37)*5+(80-x18-x28-x38)*8;
x11+x21+x31<=75;
x12+x22+x32<=60;
x13+x23+x33<=80;
x14+x24+x34<=70;
x15+x25+x35<=100;
x16+x26+x36<=55;
x17+x27+x37<=90;
x18+x28+x38<=80;
x11+x21+x31>=0;
x12+x22+x32>=0;
x13+x23+x33>=0;
x14+x24+x34>=0;
x15+x25+x35>=0;
x16+x26+x36>=0;
x17+x27+x37>=0;
x18+x28+x38>=0;
x11+x12+x13+x14+x15+x16+x17+x18=200;
x21+x22+x23+x24+x25+x26+x27+x28=170;
x31+x32+x33+x34+x35+x36+x37+x38=160;
75-x11-x21-x31<=15;
60-x12-x22-x32<=12;
80-x13-x23-x33<=16;
70-x14-x24-x34<=14;
100-x15-x25-x35<=20;
55-x16-x26-x36<=11;
90-x17-x27-x37<=18;
80-x18-x28-x38<=16;
end
结果:
Global optimal solution found.
Objective value: 4806.000
Infeasibilities: 0.000000
Total solver iterations: 11
Variable Value Reduced Cost
X11 75.00000 0.000000
X12 0.000000 0.000000
X13 10.00000 0.000000
X14 0.000000 2.000000
X15 60.00000 0.000000
X16 55.00000 0.000000
X17 0.000000 13.00000
X18 0.000000 5.000000
X21 0.000000 11.00000
X22 60.00000 0.000000
X23 54.00000 0.000000
X24 56.00000 0.000000
X25 0.000000 2.000000
X26 0.000000 14.00000
X27 0.000000 14.00000
X28 0.000000 3.000000
X31 0.000000 21.00000
X32 0.000000 16.00000
X33 0.000000 8.000000
X34 0.000000 2.000000
X35 24.00000 0.000000
X36 0.000000 14.00000
X37 72.00000 0.000000
X38 64.00000 0.000000
Row Slack or Surplus Dual Price
1 4806.000 -1.000000
2 0.000000 7.000000
3 0.000000 1.000000
4 16.00000 0.000000
5 14.00000 0.000000
6 16.00000 0.000000
7 0.000000 3.000000
8 18.00000 0.000000
9 16.00000 0.000000
10 75.00000 0.000000
11 60.00000 0.000000
12 64.00000 0.000000
13 56.00000 0.000000
14 84.00000 0.000000
15 55.00000 0.000000
16 72.00000 0.000000
17 64.00000 0.000000
18 0.000000 -1.000000
19 0.000000 0.000000
20 0.000000 4.000000
21 15.00000 0.000000
22 12.00000 0.000000
23 0.000000 2.000000
24 0.000000 6.000000
25 4.000000 0.000000
26 11.00000 0.000000
27 0.000000 4.000000
28 0.000000 6.000000
代码3:
model:
min=4*x11+8*x12+8*x13+19*x14+11*x15+6*x16+23*x17+20*x18+14*x21+7*x22+7*x23+16*x24+12*x25+19*x26+23*x27+17*x28+20*x31+19*x32+11*x33+14*x34+6*x35+15*x36+5*x37+10*x38+
(75-x11-x21-x31)*10+(60-x12-x22-x32)*8+(80-x13-x23-x33)*5+(70-x14-x24-x34)*10+(100-x15-x25-x35)*10+(55-x16-x26-x36)*8+(90-x17-x27-x37)*5+(80-x18-x28-x38)*8;
x11+x21+x31<=75;
x12+x22+x32<=60;
x13+x23+x33<=80;
x14+x24+x34<=70;
x15+x25+x35<=100;
x16+x26+x36<=55;
x17+x27+x37<=90;
x18+x28+x38<=80;
x11+x21+x31>=0;
x12+x22+x32>=0;
x13+x23+x33>=0;
x14+x24+x34>=0;
x15+x25+x35>=0;
x16+x26+x36>=0;
x17+x27+x37>=0;
x18+x28+x38>=0;
x11+x12+x13+x14+x15+x16+x17+x18=200+x;
x21+x22+x23+x24+x25+x26+x27+x28=170+y;
x31+x32+x33+x34+x35+x36+x37+x38=160+z;
x+y+z=80;
end
结果:
Global optimal solution found.
Objective value: 4770.000
Infeasibilities: 0.000000
Total solver iterations: 12
Variable Value Reduced Cost
X11 75.00000 0.000000
X12 0.000000 0.000000
X13 40.00000 0.000000
X14 0.000000 2.000000
X15 30.00000 0.000000
X16 55.00000 0.000000
X17 0.000000 13.00000
展开阅读全文