ImageVerifierCode 换一换
格式:DOCX , 页数:29 ,大小:609.01KB ,
资源ID:17585512      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/17585512.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(送货路线设计经典版Word文件下载.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

送货路线设计经典版Word文件下载.docx

1、设计最快完成路线与方式。给出结果。要求标出送货线路。2. 假定该送货员从早上8点上班开始送货,要将130号货物的送达时间不能超过指定时间,请设计最快完成路线与方式。3. 若不需要考虑所有货物送达时间限制(包括前30件货物),现在要将100件货物全部送到指定地点并返回。要求标出送货线路,给出送完所有快件的时间。由于受重量和体积限制,送货员可中途返回取货。可不考虑中午休息时间。二问题分析在路线中,每个目的地看作图中的一个节点,各目的地之间的路看作图中连通节点的边,各条路的长度或行驶时间看作对应边上的权所给的线路网就转化为加权网络图,而所求问题就转化为在给定的加权网络图中寻找从给定点O出发行遍所有顶

2、点至少一次再回到O点,使得总权即时间最短。对于第一道题前三十个货到达的目的地的节点看作点集V,连接任意两点的路线所需时间作为权值赋给对应边,形成边集E得到加权图G(V,E)(因为32和38两地点通过35的路线比其他路都短所以可以两点直接连起而权值为32的权值和)。 我们可以采用最小生成树法算出0点到 任意一点的最短距离,然后根据最短路线逐次加边加权得到从0点出发回到0点的最短路线。问题二我们将22个节点按时间限制划分为四个阶段,分别为:最后得出总距离最短的具体路径问题三;我们将50个节点按路程近似三等分将区域分为3个区域,在对每个区域运用最小生成树法进行求解。三问题假设第一问;1.假设重复的送

3、货地点仍按一件货物的停留时间算,所以不用考虑主要与次要因素问题。2.经过某一点停留时,才可以加权,否则不能加权。3. 假设送货员非常熟悉地理位置,送货中途不间断,不考虑中午休息时间。同时也不考虑装货时间。4.假设用平均速度代表他的行驶速度。5。针对第二问;定义;两点间最短距离。就是在连通的所有路上选最短的路程。如0-13两地的最短距离即为0-18-13的距离和6.针对第三问;(1)以上可大胆假设送货员中途返回两次,即三次送完。(2)又因为每次送货都不超过50公斤,且货物总重148公斤,总体积为2.98立方米,所以三次送货每次携带的货物总重和总体积必须尽量均衡。(3)可假设有三个送货员同时送货,

4、结果只需把这三个的总时间加起来即可。四模型的符号说明m表示货物的重量v表示货物的体积t表示到达两个地点的时间T表示总的时间五模型的建立与求解问题一 若将130号货物送到指定地点并返回 设计最短时间路线方式经计算得前30号货物的重量是 =49.5公斤 50公斤体积为 0.9立方米 1立方米 所以送货员可以一次送完,而不用考虑是否返回取货。本题是图上点的行遍性问题。只取30个点得到路线图如下所示图(1)(前30号货物的目的地除35号地点外)本题可用最小生成树法求的最小生成树,然后再用模型的改进方案进行初选路线图,最小生成树图如下所示(程序见附录):图(1.2)最小生成树图 但由于有些连通路线未考虑

5、在内从而走了很多重复路线,所以很可能有比这更短的路径,现在对其改进如下:(1)最小生成树法的改进模型对图1的区域采用最小生成树法求出最佳送货路线,但由于其不是完全图所以不一定是最佳解,所以对该算法得到的解需要进一步修正。在原来算法的基础上改进如下:当两点之间没有直线连接时,应改进为使其两点的距离最短(两点之间可以经过若干个点).通过上述修正,可以运用改进的最小生成树算法得到一个不是完全图的最优解H设送货路线为总长为,则我们要达到目标可以表示为min,为0或者1,即符合01规划模型。这是一个目标规划模型,下面考虑求解模型的方法:(28为所走的28条路线的路程)(28为所走的28条路线的时间)/6

6、0计算结果如下表所示:路线所需时间(h)路线长度(km) O-18-13-19-24-31-27-39-27-31-34-40-45-42-49-42-43-38-36-38-35-32-23-16-14-17-21-26-O.3.32654.619路线图(1.3)针对问题二。我们将22个节点按时间限制划分为四个阶段,分别为:依据各分区域“路径均较短,则总路径较短”的原则。各个阶段用最小生成树法求出最短路径。 第一阶段(9:00以前必须完成)的目的地有(13,18,39,27,24)五个,从O点出发。一共六个点.算出每两点之间的最短距离.(如0-13两地的最短距离即为0-18-13的距离和.)

7、由最小生成树得到的路线o-18-13-18-31-24-31-27-39;实际上通过计算有13-18-31-24的路程6997m大于13-19-24的路程5715m。经过改进得到最优路线为;O-18-13-19-24-27-39最短路程为15558 m 花费的时间为(38.895+15)=53.89560分钟。故第一阶段能按时完成。同理第二阶段(9:30以前必须完成)的目的地有(31,45,34,40)四个。最优路线为;39-31-34-40-45最短路程为10049 m 花费的时间为(25.1225+12)=37.1225到达地点45的时间为9:29.按时到达。第三阶段(10:15以前必须完

8、成)的目的地有(43,42,49,38)四个。45-42-49-42-43-38最短路程为 8056m 花费的时间为32.14min到达最后目的地的时间是10;0310;15第四阶段(12:00以前必须完成)的目的地有(32,23,16,36,26,21,14,17)八个。38-36-38-35-32-23-16-14-17-21-26最短路程为 19220(m ) 花费的时间为(48.05+24)=72.05(min)到达的时间为11;16、故行走路线为;O-18-13-19-24-27-39-31-34-40-45-42-49-42-43-38-36-38-35-32-23-16-14-1

9、7-21-26其路程为 53226.59m 花费时间为3.27h针对第三问;用最小生成树法可得如下图所示的结果物体的总重量为 148kg 150kg 总体积为 2.98 m3 3m3所以我们假设三次送完。将其分为三部分。再对其分组:按实际工作的经验以及以上生成树图有以下准则: 准则一:尽量使同一干支及其分支上的点分在同一组; 准则二:应将相邻的干支上的点分成一组; 准则三:尽量将长的干枝与短的干支分在同一组。由以上分组原则,我们找到两组分组形式 分组一:(1,2)(3,4)(5,6) 分组二:(6,1)(2,3)(4,5)显然第二种分组不可能为最优解,首先从路线上将其排除,从而得到一种近似最优

10、解,路线如图3.3在各个子区域内,运用最小生成树法,找出该区域的最佳送货路线,近似解如下表所示:分组货物总重货物总体积路线总长度总长度 总时间1,20-26-31-34-40-47-40-37-41-44-48-46-33-28-30-22-20-22-29-25-19-24-31-26-049.520.836044.557 122.407 行走时间5.1+交货时间2.5 =7.63,40-26-31-27-39-27-31-18-13-11-12-15-5-2-4-3-8-1-6-1-7-10-9-14-21-048.780.989044.3855,60-2-17-23-16-23-32-3

11、5-38-43-42-49-50-45-36-21-049.700.975033.465六 模型检验 对于上述结果,分三个路线三次送货把整个图划分为三个区域比较均横非常符合模型假设;且由每个路线货物的总重与货物总体积与所给总货物和总体积的限制范围的相对误差为: 因为总货物的总重量与所限制的总重量的相对误差很小,总体积与所限制的总体积的相对误差也很小,所以三中路线比较均横,检验可通过。 所以上述方案可为最优解,我们假设顺利通。七 模型的评价与推广模型的优点;(1) 运用上述最小生成树法可得到一个图表,可以一目了然的的确定大概路线。而在实际生活中,即需要这样的粗略路径来达到实际的目的。(2) 使用

12、了准确的算法和适当的假设,使模型的准确性和实用性到达统一.(3)对最小生成树法进行了改进.使模型更接近最优化.模型的缺点;(1)由于数据较多,没法使用工具进行模型的验证,只能一步一步的精化模型. (2)本题采用最小生成树法,得出基本的路线图,得出具体情况 确实费了一番功夫,运算量相对也较大。(3)所求的最佳送货路线是近似最优解,而类似的近似最优解可以不止一个,未能在理论上证明本问题最优解得情况模型的推广;可充分使用到最短路的一系列问题的求解中。对运输公司实现最优化和节约能源具有现实的意义。同时也可运用到旅游方面。八 参考文献(1)运筹学 刘桂真等 高等教育出版社(2)数学模型 姜启源 谢金星

13、高等教育出版社附录;MATLAB 求距离的程序ShapeX = 918514457270373526201008010025716013845119357850658576301340521251536514165882558557801277022001476577904435108601038556525801565939514835125072801530512390641013915951083454930132651418030301091523307735885115758010;ShapeY = 500560570670995143522802525268030503545418

14、552005325597570457385807581658355856088359055933095259635105009765986599551010010365109001106511375114151151011610120501230013650141451421515060142351450014550148801516015325N=length(ShapeX);for i=1:N for j=1:Distance(i,j)=sqrt(ShapeX(i)-ShapeX(j)2+(ShapeY(i)-ShapeY(j)2);end Distance A=zeros(N);Max_

15、Value=zeros(N);for k=1:max_line,column=max(Distance(k,:);A(k,column)=max_line;Max_Value(k,column)=max(max(A) I,J=find(Max_Value)point_start=ShapeX(I) ShapeY(I)point_end=ShapeX(J) ShapeY(J)问题1最小生成树法#include #include graph.h#define INF 32767 /INF表示#define MAXE 100 /最多边数typedef struct int u; /边的起始顶点 in

16、t v; /边的终止顶点 int w; /边的权值 Edge;void DispMat(MGraph g)/输出邻接矩阵g int i,j; for (i=0;ig.vexnum;i+) for (j=0;jj+) if (g.edgesij=INF) printf(%3s,); else%3d,g.edgesij); printf(n void SortEdge(MGraph g,Edge E) /从邻接矩阵产生权值递增的边集 int i,j,k=0; Edge temp; if (g.edgesij=0 & temp.wEj.w) Ej+1=Ej; /将权值大于Ei.w的记录后移 j-;

17、Ej+1=temp; /在j+1处插入Eivoid Kruskal(Edge E,int n,int e) int i,j,m1,m2,sn1,sn2,k; int vsetMAXE;n;i+) vseti=i; /初始化辅助数组 k=1; /k表示当前构造最小生成树的第几条边,初值为1 j=0; /E中边的下标,初值为0 while (kn) /生成的边数小于n时循环 m1=Ej.u;m2=Ej.v; /取一条边的头尾顶点 sn1=vsetm1;sn2=vsetm2; /分别得到两个顶点所属的集合编号 if (sn1!=sn2) /两顶点属于不同的集合,该边是最小生成树的一条边 printf

18、( (%d,%d):%dn,m1,m2,Ej.w); k+; /生成边数增1 for (i=0;i+) /两个集合统一编号 if (vseti=sn2) /集合编号为sn2的改为sn1 vseti=sn1; j+; /扫描下一条边void main() int i,j,u=3; MGraph g; Edge EMAXE; int AMAXV50; g.vexnum=22;g.arcnum=25; Aij=INF; A01=1296;A02=2182;A03=1392; A16=1823; A210=2103;A24=3113;A25=5342; A310=1537; A56=2195;A57=

19、2607; A68=1771; A78=2097; A89=1311; A1011=1780;A1012=1067;A1020=2324; A1213=2203;A1218=1779; A1314=1537; A1317=3182; A1415=2618; A1516=917; A1617=2351;A1621=1971; A1719=3217; A1920=1630; Aji=Aij; g.edgesij=Aij; SortEdge(g,E); printf(图G的邻接矩阵: DispMat(g);克鲁斯卡尔算法求解结果: Kruskal(E,g.vexnum,g.arcnum); while (k

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1