




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2016年数学建模论文第 二 套论文题目: 蔬菜供应方案设计 组 别: 第38组 姓 名: 耿晨 闫思娜 王强 提交日期: 2016年7月13日 题目:蔬菜供应方案设计摘 要本次建模探究得是江平市蔬菜市场为满足不同条件的最优调配方案问题,模型求解时使用了Froyd算法,并用线性规划建立了一系列数学规划模型,采用MATLAB和LINGO软件编程计算出模型结果。关于问题一:为了实现蔬菜调运及预期的短缺损失为最小,我们建立了线性规划模型,用Froyd算法在MATLAB中编程,求出收购点至个菜市场的最短距离,并考虑每日各菜市场的需求量条件,用LINGO编程求得蔬菜调运及预期的短缺损失最小值为日均102
2、80元。关于问题二:在模型一的基础增加各菜市场短缺量一律不超过需求量的20%的约束条件,用LINGO编程求得最少日均费用最少为10628元,并设计最优供应方案见正文。关于问题三:在模型一的基础上,条件改为供货充足、需求调运与短缺损失的费用最小值。建立模型三时在模型一的基础上改变条件,并用LINGO编程求得日均最少费用为11200元,增产的蔬菜每天应分给C收购点7000Kg,分析过程见正文。关键词:蔬菜市场调配方案,Floyd算法,线性规划,MATLAB编程,LINGO一、问题重述江平市是一个人口不到20万人的小城市。根据该市的蔬菜种植情况,分别在菜市场(A),城乡路口(B)和南街口(C)设三个
3、收购点,再由各收购点分送到全市的8个菜市场,该市道路情况,各路段距离(单位:100m)及各收购点,菜市场到的具体位置见图1。图1:蔬菜供应网点图按常年情况,A、B、C三个收购点每天收购量分别为250,200和180(单位:100 kg),各菜市场的每天需求量及发生供应短缺时带来的损失(元/100kg)见表1。设从收购点至各菜市场蔬菜调运费为2元/(100kg.100m).表1:各蔬菜市场需求量表菜市场每天需求(100 kg)短缺损失(元/100kg)80107089058010120107081005908通过这次建模我们解决以下问题:1.为该市设计一个从收购点至个菜市场的定点供应方案,使用于
4、蔬菜调运及预期的短缺损失为最小; 2.若规定各菜市场短缺量一律不超过需求量的20%,重新设计定点供应方案;3.为满足城市居民的蔬菜供应,该市的领导规划增加蔬菜种植面积,试问增产的蔬菜每天应分别向A、B、C三个采购点供应多少最经济合理。二、问题分析2.1 问题一的分析要使用于蔬菜调运及预期的短缺损失为最小,即总费用R最小,也就是指调运费用P与缺货损失Q之和最小。首先考虑调运费用P,调运费用与距离与送货量成正比,因此考虑距离问题,我们须先求出A、B、C三个采购点至各个菜市场的最短距离。采用Froyd算法,结合MATLAB编程实现最短距离计算,确定出最短路线。其次考虑缺货造成的损失Q,以题中每天需求
5、量为约束条件,将损失最低作为目标建立线性规划模型,用LINGO编程求解缺货损失最小值。2.2 问题二的分析若按规定各菜市场短缺量一律不超过需求量的20%,也就是在模型一的基础上增加一个约束条件,即每个菜市场的供应量必须不低于需求量的80%。则可得到满足条件要求的模型二。2.3 问题三的分析本题的目标有二:首先要满足每个菜市场的供货量要充足的条件;其次要使得总费用最低。所以我们在模型一的基础上增加了上述两个限制条件,即得到模型三。使得在供货量充足的情况下日均费用最小化。三、问题假设1、各个路口以及蔬菜销售点都可以作为中转点。2、假设蔬菜种植基地直达某个销售地点,即销售点之间没有卸货的情况。3、假
6、设运输的蔬菜路途中没有损耗,也无意外发生。4、假设只考虑运输费用和短缺费用,不考虑装卸等其它费用。5、假设各蔬菜种植基地供应蔬菜同质且单位运价相同。6、假设新增产的蔬菜能够满足缺货量。7、日需求量与缺货损失费用不变。四、变量说明 从A到i(各个菜市场)的最短距离 从B到i(各个菜市场)的最短距离 从C到i(各个菜市场)的最短距离 从A到i(各个菜市场)的运货量 从B到i(各个菜市场)的运货量 从C到i(各个菜市场)的运货量 总调运费 短缺损失 总费用五、模型建立5.1 问题一模型的建立按照问题的分析,我们知道调运总费用P与调运距离和调运量乘积有关,也就是说总调运费用等于每阶段调运距离和调运量的
7、累计。首先就要求解各采购点到菜市场的最短距离。在图论里面关于最短路径问题比较常用的是Dijkstra算法,Dijkstra算法提供了从网络图中某一点到其他点的最短距离。主要特点是以起始点为中心向外层扩展,直到扩展到终点为止。但由于它遍历计算的节点很多,所以效率较低,实际问题中往往要求网络中任意两点之间的最短路距离。如果仍然采用Dijkstra算法对各点分别计算,就显得很麻烦。所以就可以使用网络各点之间的矩阵计算法,即Floyd算法。Floyd算法的基本思想是:从任意节点i到任意节点j的最短路径不外乎两种可能,一种是直接从i到j,另一种是从i经过若干个节点k到j。i到j的最短距离不外乎存在经过i
8、与j之间的k和不经过k两种可能,所以可以令k=1,2,3,n(n是菜市场的数目),再检查d(i,j)与d(i,k)+d(k,j)的值,在此d(i,k)与d(k,j)分别是目前为止所知道的i到k与k到j的最短距离。因此d(i,k)+d(k,j)就是i到j经过k的最短距离。所以,若有d(i,j)>d(i,k)+d(k,j),就表示从i出发经过k再到j的距离要比原来的i到j距离短,自然把i到j的d(i,j)重写为d(i,k)+d(k,j),每当一个k查完了,d(i,j)就是目前的i到j的最短距离。重复这一过程,最后当查完所有的k时,d(i,j)里面存放的就是i到j之间的最短距离了。5.2 问题
9、二模型的建立各菜市场短缺量一律不超过需求量的20%,为满足这一条件,现对方案一进行调整。只需在方案一中加一限制条件:同理可用LINGO编程求出调运方案。5.3 问题三模型的建立要足城市居民的蔬菜供应,增加蔬菜种植面积,则需要保证所有的菜市场都满足日需求量,且日均化费用要最小。在问题一得基础上作出以下调整:同理可用LINGO编程求出调运方案。六、模型求解6.1 问题一模型的求解由图1和表格1的信息,建立一个线性规划模型并经过Floyd算法,使得蔬菜调运及预期的短缺损失为最小。调运总费用P为: (1)若使调运总费用最少,则应保证A、B、C三个收购点到8个菜市场的路程最短,最短路线的求解过程如图2:
10、图2:最短路程求解过程图分析上图可知,该路线为无向网络,就该图而言,网络弧集为:E=(v1,v2),(v1,v4),(v1,v5),(v2,v1),(v2,v3),(v2,v5),(v2,v6),(v3,v2),.(v3,v6),(v3,v8),(v3,v9),(v4,v1),(v4,v5).(v4,v7),(v4,v10),(v5,v1),(v5,v2),(v5,v4),(v5,v6),(v5,v7),(v5,v8),(v6,v2),(v6,v3),(v6,v5),(v6,v8),(v7,v4),(v7,v5),(v7,v8),(v7,v11),(v8,v3),(v8,v5),(v8,v6)
11、,(v8,v7),(v8,v9),(v8,v11),(v9,v3),(v9,v8),(v9,v11),(v9,v13),(v9,v15),(v10,v4),(v10,v11),(v10,v12),(v10,v14),(v11,v7),(v11,v8),(v11,v9)(v11,v10),(v11,v12),(v12,v10),(v12,v11),(v12,v13),(v12,v14),(v13,v9),(v13,v12),(v13,v14),(v14,v10),(v14,v12),(v14,v13),(v15,v9)下面来确定网络权矩阵:W= (2)其中:当(,)属于E时,=,为弧(,)的权;
12、当(,)不属于E时,=inf。(inf为无穷大,n为网络结点个数)=0,i=1,2,3n按上述规定,该网络的权矩阵为:因为上述网络有15个结点,故网络的权矩阵均为15阶矩阵。用Floyd算法求解图2中任意两个顶点的最短路径及其长度,名为Floyd.m的程序文件见附录程序1。最终运行结果为:D =0 7 14 5 4 10 8 12 18 12 15 20 24 22 237 0 7 12 8 3 12 8 14 19 13 19 20 24 1914 7 0 16 13 6 11 7 11 18 12 18 17 23 165 12 16 0 6 13 5 9 15 7 12 15 21 17
13、 204 8 13 6 0 7 4 8 14 13 11 17 20 22 1910 3 6 13 7 0 9 5 11 16 10 16 17 21 168 12 11 5 4 9 0 4 10 12 7 13 16 18 1512 8 7 9 8 5 4 0 6 11 5 11 12 16 1118 14 11 15 14 11 10 6 0 9 3 9 6 14 512 19 18 7 13 16 12 11 9 0 6 8 15 10 1415 13 12 12 11 10 7 5 3 6 0 6 9 11 820 19 18 15 17 16 13 11 9 8 6 0 10 5 1
14、424 20 17 21 20 17 16 12 6 15 9 10 0 11 1122 24 23 17 22 21 18 16 14 10 11 5 11 0 1923 19 16 20 19 16 15 11 5 14 8 14 11 19 0path =1 2 2 4 5 2 5 5 5 4 5 4 5 4 51 2 3 1 5 6 5 6 6 1 6 6 6 6 62 2 3 8 6 6 8 8 9 8 8 8 9 8 91 1 7 4 5 5 7 7 7 10 7 10 7 10 71 2 6 4 5 6 7 8 8 4 7 7 8 7 82 2 3 5 5 6 8 8 8 8 8
15、 8 8 8 85 5 8 4 5 8 7 8 8 4 11 11 8 11 85 6 3 7 5 6 7 8 9 11 11 11 9 11 98 8 3 8 8 8 8 8 9 11 11 11 13 11 154 4 11 4 4 11 4 11 11 10 11 12 11 14 11 7 8 8 7 7 8 7 8 9 10 11 12 9 12 910 11 11 10 11 11 11 11 11 10 11 12 13 14 119 9 9 9 9 9 9 9 9 9 9 12 13 14 910 12 12 10 12 12 12 12 12 10 12 12 13 14 1
16、29 9 9 9 9 9 9 9 9 9 9 9 9 9 15根据上述矩阵,分别找出A、B、C到、的最短距离,见表2:表2:收购点到菜市场的最短距离最短距离(单位:100千米)A488191162220B14771612162317C20191114615510调运量的限制:短缺损失费为:总费用为:由以上约束条件,用LINGO软件进行线性规划求解(源程序及完整运行结果见附录程序2),部分运行结果如下:Objective value: 10280.00Total solver iterations: 14Variable Value Reduced CostP 9640.000 0.000000
17、Q 640.0000 0.000000SA1 80.00000 0.000000SA2 0.000000 2.000000SA3 0.000000 2.000000SA4 0.000000 6.000000SA5 100.0000 0.000000SA6 70.00000 0.000000SA7 0.000000 24.00000SA8 0.000000 10.00000SB1 0.000000 20.00000SB2 70.00000 0.000000SB3 90.00000 0.000000SB4 40.00000 0.000000SB5 0.000000 2.000000SB6 0.00
18、0000 20.00000SB7 0.000000 26.00000SB8 0.000000 4.000000SC1 0.000000 42.00000SC2 0.000000 34.00000SC3 0.000000 18.00000SC4 0.000000 6.000000SC5 20.00000 0.000000SC6 0.000000 28.00000SC7 100.0000 0.000000SC8 60.00000 0.000000从上述运行结果中可以得出调运方案为:在此种方案下,蔬菜调运及预期的短缺损失最小,最小金额为10280元。6.2 问题二模型的求解将调整后的方案用LINGO
19、编程(源程序及完整运行结果见附录程序3),部分运行结果如下:Objective value: 10628.00Total solver iterations: 20Variable Value Reduced CostP 10064.00 0.000000Q 564.0000 0.000000SA1 80.00000 0.000000SA2 0.000000 0.000000SA3 24.00000 0.000000SA4 0.000000 4.000000SA5 76.00000 0.000000SA6 70.00000 0.000000SA7 0.000000 24.00000SA8 0.
20、000000 10.00000SB1 0.000000 22.00000SB2 70.00000 0.000000SB3 66.00000 0.000000SB4 64.00000 0.000000SB5 0.000000 4.000000SB6 0.000000 22.00000SB7 0.000000 28.00000SB8 0.000000 6.000000SC1 0.000000 42.00000SC2 0.000000 32.00000SC3 0.000000 16.00000SC4 0.000000 4.000000SC5 28.00000 0.000000SC6 0.000000
21、 28.00000SC7 80.00000 0.000000SC8 72.00000 0.000000从上述运行结果中可以得出调运方案为:6.3 问题三模型的求解将调整后的方案用LINGO编程(源程序及完整运行结果见附录程序4),部分运行结果如下:Objective value: 11200.00Total solver iterations: 16Variable Value Reduced CostP 11200.00 0.000000Q 0.000000 0.000000SA1 80.00000 0.000000SA2 40.00000 0.000000SA3 0.000000 0.00
22、0000SA4 0.000000 4.000000SA5 60.00000 0.000000SA6 70.00000 0.000000SA7 0.000000 24.00000SA8 0.000000 10.00000SB1 0.000000 22.00000SB2 30.00000 0.000000SB3 90.00000 0.000000SB4 80.00000 0.000000SB5 0.000000 4.000000SB6 0.000000 22.00000SB7 0.000000 28.00000SB8 0.000000 6.000000SC1 0.000000 42.00000SC
23、2 0.000000 32.00000SC3 0.000000 16.00000SC4 0.000000 4.000000SC5 60.00000 0.000000SC6 0.000000 28.00000SC7 100.0000 0.000000SC8 90.00000 0.000000从上述运行结果中可以得出调运方案为:七、结果分析7.1模型的评价7.1.1模型的优点:模型简单易懂,主要用了Froyd算法与线性规划,使问题的求解变得十分方便,能适应更重新的要求。且计算结果能大致能反映蔬菜调运的最小损失要求,模型的建立成功实现了建模的目的。7.1.2模型的缺点:模型的建立中,采用了若干假设条
24、件,假设的条件使得特殊情况模型失效或者偏离实际情况,比如第三问只考虑了运输费用最小,却没有考虑到供过于求造成的货物积压问题等,考虑更多现实的因素,模型有待进一步改进和完善。7.2模型的改进:在第三问中由于模型只考虑了运输费用最小,却没有考虑到供过于求造成的货物积压问题。在计算时,应将货物堆积造成的损失计算进去,这样考虑结果将更加满足实际情况,使得模型更加完善。八、参考文献1 夏鸿鸣,魏艳华,王丙参. 数学建模. 成都:西南交通大学出版社,2014.2 张志涌,杨祖樱. MATLAB教程M. 北京:北京航空航天大学出版社, 2011.3 周品,赵新芬. 数学建模. 北京:国防工业出版社, 200
25、9.4 费培之,程中媛. 数学建模实用教程. 成都:四川大学出版社, 1998.5 陈如栋,于延荣. 数学模型与数学建模. 北京:国防工业出版社, 2006.九、附录程序1functionD,path=floyd(a)n=size(a,1);D=afor i=1:n for j=1:n path(i,j)=j; endendpathfor k=1:n for i=1:n for j=1:n if D(i,k)+D(k,j)<D(i,j) D(i,j)=D(i,k)+D(k,j);path(i,j)=path(i,k); end end end k D pathend在MATLAB命令窗口
26、输入命令:a=0 7 inf 5 4 inf inf inf inf inf inf inf inf inf inf;7 0 7 inf 8 3 inf inf inf inf inf inf inf inf inf;inf 7 0 inf inf 6 inf 7 11 inf inf inf inf inf inf; 5 inf inf 0 6 inf 5 inf inf 7 inf inf inf inf inf;4 8 inf 6 0 7 4 8 inf inf inf inf inf inf inf; inf 3 6 inf 7 0 inf 5 inf inf inf inf inf
27、inf inf;inf inf inf 5 4 inf 0 4 inf inf 7 inf inf inf inf;inf inf 7 inf 8 5 4 0 6 inf 5 inf inf inf inf;inf inf 11 inf inf inf inf 6 0 inf 3 inf 6 inf 5;inf inf inf 7 inf inf inf inf inf 0 6 8 inf 10 inf;inf inf inf inf inf inf 7 5 3 6 0 6 inf inf inf;inf inf inf inf inf inf inf inf inf 8 6 0 10 5 i
28、nf;inf inf inf inf inf inf inf inf 6 inf inf 10 0 11 inf;inf inf inf inf inf inf inf inf inf 10 inf 5 11 0 inf;inf inf inf inf inf inf inf inf 5 inf inf inf inf inf 0D,path=floyd(a)程序2min=P+Q;DA1=4; DA2=8;DA3=8;DA4=19;DA5=11;DA6=6;DA7=22;DA8=20;DB1=14; DB2=7;DB3=7;DB4=16;DB5=12;DB6=16;DB7=23;DB8=17;
29、DC1=20; DC2=19;DC3=11;DC4=14;DC5=6;DC6=15;DC7=5;DC8=10;SA1+SA2+SA3+SA4+SA5+SA6+SA7+SA8=250;SB1+SB2+SB3+SB4+SB5+SB6+SB7+SB8=200;SC1+SC2+SC3+SC4+SC5+SC6+SC7+SC8=180;p=2*(SA1*DA1+SA2*DA2+SA3*DA3+SA4*DA4+SA5*DA5+SA6*DA6+SA7*DA7+SA8*DA8)+2*(SB1*DB1+SB2*DB2+SB3*DB3+SB4*DB4+SB5*DB5+SB6*DB6+SB7*DB7+SB8*DB8)
30、+2*(SC1*DC1+SC2*DC2+SC3*DC3+SC4*DC4+SC5*DC5+SC6*DC6+SC7*DC7+SC8*DC8);Q=10*(80-(SA1+SB1+SC1)+8*(70-(SA2+SB2+SC2)+5*(90-(SA3+SB3+SC3)+10*(80-(SA4+SB4+SC4)+10*(120-(SA5+SB5+SC5)+8*(70-(SA6+SB6+SC6)+5*(100-(SA7+SB7+SC7)+8*(90-(SA8+SB8+SC8);10*(80-(SA1+SB1+SC1)>=0;8*(70-(SA2+SB2+SC2)>=0;5*(90-(SA3+
31、SB3+SC3)>=0;10*(80-(SA4+SB4+SC4)>=0;10*(120-(SA5+SB5+SC5)>=0;8*(70-(SA6+SB6+SC6)>=0;5*(100-(SA7+SB7+SC7)>=0;8*(90-(SA8+SB8+SC8)>=0;SA1+SB1+SC1<=80;SA2+SB2+SC2<=70;SA3+SB3+SC3<=90;SA4+SB4+SC4<=80;SA5+SB5+SC5<=120;SA6+SB6+SC6<=70;SA7+SB7+SC7<=100;SA8+SB8+SC8<=
32、90;end运行结果 Objective value: 10280.00 Total solver iterations: 14 Variable Value Reduced Cost P 9640.000 0.000000 Q 640.0000 0.000000 DA1 4.000000 0.000000 DA2 8.000000 0.000000 DA3 8.000000 0.000000 DA4 19.00000 0.000000 DA5 11.00000 0.000000 DA6 6.000000 0.000000 DA7 22.00000 0.000000 DA8 20.00000
33、0.000000 DB1 14.00000 0.000000 DB2 7.000000 0.000000 DB3 7.000000 0.000000 DB4 16.00000 0.000000 DB5 12.00000 0.000000 DB6 16.00000 0.000000 DB7 23.00000 0.000000 DB8 17.00000 0.000000 DC1 20.00000 0.000000 DC2 19.00000 0.000000 DC3 11.00000 0.000000 DC4 14.00000 0.000000 DC5 6.000000 0.000000 DC6 1
34、5.00000 0.000000 DC7 5.000000 0.000000 DC8 10.00000 0.000000 SA1 80.00000 0.000000 SA2 0.000000 2.000000 SA3 0.000000 2.000000 SA4 0.000000 6.000000 SA5 100.0000 0.000000 SA6 70.00000 0.000000 SA7 0.000000 24.00000 SA8 0.000000 10.00000 SB1 0.000000 20.00000 SB2 70.00000 0.000000 SB3 90.00000 0.000000 SB4 40.0000
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 IEC 63522-13:2024 EN-FR Electrical relays - Tests and measurements - Part 13: Corrosive atmospheres due to sulfur impact
- 【正版授权】 IEC 62309:2024 EN-FR Dependability of new products containing reused parts and life-extended products
- 2025-2030年中国降血脂药行业运营现状及发展规划分析报告
- 2025-2030年中国银矿石市场运行动态与发展趋势分析报告
- 2025-2030年中国铝合金防火门窗市场发展状况及营销战略研究报告
- 2025-2030年中国钢构件行业市场发展现状及前景趋势分析报告
- 2025-2030年中国远洋渔轮市场运行格局及发展趋势分析报告
- 2025-2030年中国轿车悬架弹簧行业发展前景及投资战略研究报告
- 2025-2030年中国美体塑身衣行业市场运行状况及发展趋势分析报告
- 2025-2030年中国绣花机市场运行动态及发展趋势分析报告
- 新生儿败血症(共22张课件)
- 颂钵疗愈师培训
- 2025蛇年春节习俗大赏体验感受家的温馨课件
- 投资居间协议合同模板
- 羽毛球课件教学课件
- 多重耐药菌的预防及护理课件
- 抽水蓄能电站课件
- GB/T 25052-2024连续热浸镀层钢板和钢带尺寸、外形、重量及允许偏差
- 河北科大项目实施计划书
- 消防设施操作和维护保养规程
- -精益与智能工厂三年规划
评论
0/150
提交评论