《某大学数学建模作业应急运输调度方案设计模型.docx》由会员分享,可在线阅读,更多相关《某大学数学建模作业应急运输调度方案设计模型.docx(29页珍藏版)》请在三一办公上搜索。
1、2013年中央民族大学数学建模作业论文题目:应急运输调度方案设计模型参赛队员 :姓名:吴极 学院:理学院 专业:统计学 年级:11级姓名:刘超 学院:理学院 专业:统计学 年级:11级姓名:夏浩 学院:理学院 专业:统计学 年级:11级应急运输调度方案设计模型摘 要本题要求我们求出每个企业和储备库在不同情况下给发放地点运输救灾物资的最优调运方案,我们以每个企业和储备库给每个发放地点的调运量作为决策变量,以公路的长度和运输成本的乘积作为单位运费(价值系数)构造目标函数。所求问题即转化为最优路径问题和线性规划问题。在求解问题(1)(2)(3)(4)之前,我们首先对题目附件2中的图进行预处理。把公路
2、的交点看成顶点,每个点之间的公路看成线段,以公路的长度和运输成本的乘积作为一条线段的权重,做出赋权图。利用MATLAB软件使用Floyd算法计算出每个企业和储备库到每个发放地点的最优路径(最低单位运费和路线)(见表4-3-1),解决最优路径问题,求出了目标函数中的价值系数。求解问题(1)时,把时间因素放在第一位考虑,首先求得最快运输时间t。然后以运输成本最低为目标函数,以调运量小于等于企业和储备库储存量,接收量介于最低需求量与最大需求量之间等作为约束条件,利用Lingo软件求解此线性规划问题的最优解。由此得到物资的最佳调运方案,包括调运量和调运路线(见表4-3-2)。求解问题(2)时,已知时间
3、t,由实际情况可以修改约束条件,令调运量等于储存量,其他约束条件不变。同样,利用Lingo软件可以求出一个最优解(见表4-3-3)。求解问题(3)时,经过计算可知企业的生产能力不能够满足发放地点的实际需求,我们通过企业增产来满足实际需求。此时需要新增三个变量,把问题(1)中的约束条件增加几个约束条件,利用Lingo求解,得到最佳调运方案(见表4-3-4)。求解问题(4)时,主体思路不变。由于道路中断,我们只需要重新利用MATLAB软件求出最优路径和目标函数的价值系数(见表4-3-5),再利用Lingo软件求解线性规划问题即可(见表4-3-6、表4-3-7、表4-3-8)。最后,我们客观地评价了
4、该模型的优缺点,并且做出了相应的改进和推广。关键词:最优路径 Floyd算法 MATLAB 线性规划 Lingo 一、问题的提出与分析1.1 问题重述在某地区有生产某种救灾物质的企业有三家,设置物资发放点八个,储备仓库两个。在灾害发生时,企业、各物资发放地点、储备仓库的库存情况,及各发放点的最低需求和实际需求情况见附件1。企业、发放点、仓库及道路分布情况见附件2。设该种物资的运输成本为高等级公路20元/公里百件,普通公路12元/公里百件。(1)预案要求尽快满足各发放点对救灾物质的最低需求,并尽量使运输成本降低。建立数学模型,给出所需要的时间,物资的调运方案,包括调运量和调运路线。(2)在20天
5、内,按均衡配给的原则,各发放点可以得到多少物资?给出相应的调运方案。(3)能否在25天内满足各发放点的实际需求?怎样才能满足各发放点的实际需求?并给出相应的调运方案。(4)在灾害发生时可能造成交通中断,以中断路段:14-23,11-25,26-27,9-31为例,重新讨论上述三个问题。1.2 问题分析1.2.1 对问题(1)的分析要尽快满足各发放地点对救灾物资的最低需求,由现有总库存加上企业1,2,3t天的生产量大于等于8个发放点最低需求的不等式,可以解出满足题意的最小时间t为8天。接着在最小时间t=8的情况下,求最小的运输费用,以企业1,2,3及储存库向8个发放点运输的物资为决策变量,建立目
6、标函数.而建立目标函数需要知道决策变量对应的价值系数,我们根据附件2, 把公路的交点看成顶点,每个点之间的公路看成线段,从而把地理图转化为联通无向图.又由题目条件高等级公路和普通公路的运输费用不同,我们把每公里每百件的运费和路程的乘积作为每条线段的权数,根据图论知识,将求解价值系数的问题转化为最优路径问题。再根据赋权图制作权数矩阵,然后利用MATLAB使用Floyd算法求出企业1,2,3及储存库到8个发放点的最优路径,由此计算出价值系数,再利用Lingo软件在相关约束下求出目标函数的最优解,从而得到物资的调运方案。1.2.2 对问题(2)的分析按照均衡配给的原则,求20天后各发放点收到物资的情
7、况以及最佳运输方案,同样是线性规划问题,将模型中的t=20,再对约束条件进行修改,使“库存+生产量=发放点接收量”,得出最优答案。1.2.3 对问题(3)的分析要知道25天之内能否满足各发放点的实际需求,即计算25天的库存和生产量之和,与发放点的最大需求量进行比较,实际上并没有达到需求,解决办法是让企业增产,使之满足各发放点的最高需求,再用线性规划模型求出最优方案即可。1.2.4 对问题(4)的分析我们要知道指定路段中断后,上述建立的数学模型是否可用,也就是说只要检验到模型中所选取的路线是否经过该路段,如果不经过,则中断路线对模型没有影响,若经过,可将路段中断后的图采用第一步的方式重新处理计算
8、,分别求解出最佳运输方案。二、基本假设2.1 假设灾难发生时,企业1,2,3只向发放点运送物资,不向储备库运送物资,而储备库则是只出不进的向各个发放点运送物资。2.2 假设灾难发生当天企业是生产物资的,即从灾难发生第一天起,每天零点时每个企业的库存量都增加其日生产量。2.3 假设道路的运输能力足够大,没有运输限制。2.4 假设调运过程中没有衍生灾害,各个路段道路通畅,无意外发生。2.5 不考虑各点间的时间,假设所有物资瞬时到达。2.6 假设运输时走高等级公路和普通公路除了费用的差别外,在运输结果上没有其他差别。2.7 假设发放点,企业和储存库与公路的交点处是重合的。三、符号说明i=1,2,3,
9、4,5,当i=1,2,3时为企业1,2,3,当i=4,5时为储备库1,2j=1,2,3,4,5,6,7,8,都为发放点:从i运到发放点j的物资量:从i到j每百件的运费: 发放地点j的现有库存:发放地点j的最低需求:发放地点j的最大需求: i的现有库存,i=1,2,3,4,5:企业i的日生产量,i=1,2,3:企业i增产后的日生产量,其中,t:一个调运方案的所需时间Z:一个调运方案的总运费四、模型的建立与求解4.1 数据处理 将附件2中的公路的交点看成顶点,每个点之间的公路看成线段,形成一个联通无向图。并且以每公里每百件的运费和路程的乘积作为权重,做出如下赋权图:图4-1-1 赋权图4.2 模型
10、建立根据题意,建立目标函数Z表示从企业1,2,3和储备库1,2向8个发放点运送物资的总费用,根据各个发放点的物资需求量写出其约束条件,如下:目标函数:约束条件:s.t.4.3 模型求解4.3.1 求解最优路径,确定:利用MATLAB软件由Floyd算法(源程序见附录1、2)求出从发出地点i到发放地点j的每百件运费和最优路径,其结果如下表所示:表4-3-1 各发出地点与发放地点每百件运费和最优路径表 *企业1企业2企业3储备库1储备库2发放点11848,24,26,25,15,42,28696,41,42,282688,34,32,39,30,29,282272,27,40,6,41,42,28
11、1464,30,29,28发放点21500,24,26,19,18,231884,41,42,15,18,233740,34,1,2,7,27,26,19,18,231980,27,26,19,18,233420,30,29,28,42,15,18,23发放点34080,24,26,27,9,31,32,353672,41,6,40,9,31,32,351476,34,32,352880,27,9,31,32,352100,30,39,32,35发放点42304,24,26,27,9,311896,41,6,40,9,31900,34,32,311104,27,9,311524,30,39,3
12、2,31发放点51560,24,20,222472,41,42,15,18,19,223800,34,1,2,7,27,26,19,222040,27,26,19,224008,30,29,28,42,15,18,19,22发放点63444,24,26,27,9,2,3,363036,41,6,40,9,2,3,361740,34,1,33,362244,27,9,2,3,362964,30,39,32,34,1,33,36发放点72568,24,26,25,15,42,28,291416,41,42,28,291968,34,32,39,30,292160,27,40,6,4,29744,3
13、0,29发放点83720,24,26,27,9,31,32,383312,41,6,40,9,31,32,381116,34,32,382520,27,9,31,32,381740,30,39,32,38* 本表中 符号表示数组,例如1848,24,26,25,15,42,28,第一个元素1848表示该路径的每百件运费,后面的元素24,26,25,15,42,28表示该最优路径经过的节点序号(包括起点和终点)(见图4-1-1)。下同。4.3.2 求解问题(1)由于要使物资尽快到达发放地点,则应该首先生产出满足各发放地点最低需求的物资量,再进行运输规划。此时有:发放地点最低总需求量=3550发放
14、地点,企业与储备库现储存总量=+=2840则有:解得:所以,应该取最优调运时间,再将调运时间代入4.2的线性规划模型中,如下:目标函数:约束条件:s.t.利用Lingo软件(源程序见附录3)对其求解,得到最优解及调运路线为:表4-3-2 各发出地点向发放地点运送量和最优路径表 *企业1企业2企业3储备库1储备库2发放点10300(42)00160(29)发放点2140(26-19-18)00410(26-19-18)0发放点30000280(39-32)发放点4000320(9)0发放点5300(20)0000发放点6000260(9-2-3)0发放点70000470(直达)发放点800240
15、(32)0290(39-32)* 本表中()符号表示路径,例如140(26-19-18),括号外140表示该路径的运送量,(26-19-18)表示该路径经过的节点序号(即表4-3-1中对应的最优路径,不包括起点和终点)。下同。4.3.3 求解问题(2)发放地点最低总需求量=3550;发放地点实际总需求量=5600;而当时,有;即当时,企业和储备库的物资总量肯定能够满足各个发放地点的最低需求,而且不超过各个发放点的最高需求。从实际情况出发,不可能让物资堆积在企业之中,所以按照均匀配给的原则,将企业1,2,3和储备库1,2以及发放点原来所存的所有物资全部发放,得到新的规划模型如下:目标函数:约束条
16、件:s.t. 利用Lingo软件(源程序见附录4)解出此时的最优解以及各个发放点所得到的物资和调运方案。表4-3-3 20天内各发出地点向发放地点运送量和最优路径表 *企业1企业2企业3储备库1储备库2发放点10660(42)00100(29)发放点2480(26-19-18)00370(26-19-18)0发放点300280(32)00发放点4000370(9)0发放点5440(20)0000发放点6000260(9-2-3)0发放点70000570(直达)发放点800200(32)0530(39-32)4.3.4 求解问题(3)要知道25天之内能否满足各发放点的实际需求,即计算25天的库存
17、和生产量之和,与发放点的实际需求量进行比较。由题意:发放地点实际总需求量=5600;发放地点,企业与储备库现储存总量=+=2840;25天企业1,2,3的总产量=2250;由于2250+2840D(i,k)+D(k,j) D(i,j)=D(i,k)+D(k,j); path(i,j)=path(i,k); end end endend p=sp;mp=sp;for k=1:n if mp=ep d=path(mp,ep); p=p,d; mp=d; endendd=D(sp,ep);path=p;%=floyd.m文件结束=2. 问题(1)利用Floyd算法给出系数和各点间最优路径的Matla
18、b程序%=run01.m文件开始=load(lines0.mat);%“lines0.mat”为事先录入的42*42的权数矩阵,包含每点的 距离*单位路费 数据i1=1;j1=1;result=cell(5,8);for i=24,41,34,27,30 for j=28,23,35,31,22,36,29,38 d,path=floyd(lines0,i,j); %从“floyd.m”调用floyd算法 resulti1,j1=d,path; j1=j1+1; end i1=i1+1;j1=1;end%=run01.m文件结束=3. 问题(1)计算最低成本运输方案的Lingo命令model:
19、!5发点8收点运输问题;sets:warehouses/wh1.wh5/:capacity;!企业1,2,3与储备库1,2的储存量;vendors/v1.v8/:demand1,demand2;!发放地点的最低需求量和最高需求量;links(warehouses,vendors):cost,volume;!权数矩阵和决策变量;endsets!目标函数;min=sum(links:cost*volume);!需求约束(储存量在最低需求量和最高需求量之间);for(vendors(J): sum(warehouses(I):volume(I,J)=demand1(J); sum(warehouse
20、s(I):volume(I,J)=demand2(J); );!产量约束(发放量不超过储存量);for(warehouses(I): sum(vendors(J):volume(I,J)=capacity(I);!这里是数据;data: capacity=440 300 240 1000 1200; demand1=460 550 280 320 300 260 470 530; demand2=760 850 580 370 900 460 570 730; cost=1848 1500 4080 2304 1560 3444 2568 3720 696 1884 3672 1896 247
21、2 3036 1416 3312 2688 3984 1476 900 4044 1740 1968 1116 2272 1980 2880 1104 2040 2244 2160 2520 1464 3420 2100 1524 4008 2676 744 1740;enddataend最佳调运方案: Global optimal solution found. Objective value: 4579680. Total solver iterations: 15 Variable Value Reduced Cost CAPACITY( WH1) 440.0000 0.000000 C
22、APACITY( WH2) 300.0000 0.000000 CAPACITY( WH3) 240.0000 0.000000 CAPACITY( WH4) 1000.000 0.000000 CAPACITY( WH5) 1200.000 0.000000 DEMAND1( V1) 460.0000 0.000000 DEMAND1( V2) 550.0000 0.000000 DEMAND1( V3) 280.0000 0.000000 DEMAND1( V4) 320.0000 0.000000 DEMAND1( V5) 300.0000 0.000000 DEMAND1( V6) 2
23、60.0000 0.000000 DEMAND1( V7) 470.0000 0.000000 DEMAND1( V8) 530.0000 0.000000 DEMAND2( V1) 760.0000 0.000000 DEMAND2( V2) 850.0000 0.000000 DEMAND2( V3) 580.0000 0.000000 DEMAND2( V4) 370.0000 0.000000 DEMAND2( V5) 900.0000 0.000000 DEMAND2( V6) 460.0000 0.000000 DEMAND2( V7) 570.0000 0.000000 DEMA
24、ND2( V8) 730.0000 0.000000 COST( WH1, V1) 1848.000 0.000000 COST( WH1, V2) 1500.000 0.000000 COST( WH1, V3) 4080.000 0.000000 COST( WH1, V4) 2304.000 0.000000 COST( WH1, V5) 1560.000 0.000000 COST( WH1, V6) 3444.000 0.000000 COST( WH1, V7) 2568.000 0.000000 COST( WH1, V8) 3720.000 0.000000 COST( WH2
25、, V1) 696.0000 0.000000 COST( WH2, V2) 1884.000 0.000000 COST( WH2, V3) 3672.000 0.000000 COST( WH2, V4) 1896.000 0.000000 COST( WH2, V5) 2472.000 0.000000 COST( WH2, V6) 3036.000 0.000000 COST( WH2, V7) 1416.000 0.000000 COST( WH2, V8) 3312.000 0.000000 COST( WH3, V1) 2688.000 0.000000 COST( WH3, V2) 3984.000 0.000000 COST( WH3, V3) 1476.000 0.000000 COST( WH3, V4) 900.0000 0.000000 COST( WH3, V5) 4044.000 0.000000 COST( WH3, V6) 1740.000 0.000000 COST( WH3, V7) 1968.000 0.000000 COST( WH3, V8) 1116.000 0.000000 COST( WH4, V1) 2272.000
链接地址:https://www.31ppt.com/p-1711054.html