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






