- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
垃圾运输问题的建模及其求解——东南大学第一届数学建模竞赛A题
PAGE
6 -
垃圾运输问题模型及其求解
Modeling and Solution of Litter Transportation Problem
A
庄晓波 张 坤 余 翔 2007年5月27日
[标题]垃圾运运输问题的建模及其求解
[关键词]垃圾运输问题、优化、搜索
[摘要]
这是一个求解最优路径的优化问题。通过简单分析求得所需最少运输车辆数,从而解决问题一。在题设基础上,进行合理假设,简化问题。根据运筹学原理提出运输的基本原则,并以此作为条件,运用Visual C++进行编程,搜索可能最优路径,从而获得问题的解决方案。
该题中至少需要5辆车,在此基础上的我们所寻找出的最优路径如下图所示,所用经费为1726.04元。每台车的调度方案如表1所示(假设零点整开始发车)。
图1
车
T11
T12
所经过点
T21
T22
所经过点
A
0:00
3:08
22,21,20
N/A
N/A
N/A
B
0:00
2:38
19,15,9
2:39
3:02
12,2
C
0:00
2:37
17,18,14,10
2:38
3:50
6,1
D
0:00
2:37
25,13,26,11,5
2:38
N/A
N/A
E
0:00
2:30
24,16,8,7
2:31
4:00
23,4,3
表1
注释:T11:第一次出发时刻;T12:第一次回来时刻;
T21:第二次出发时刻;T22:第二次回来时刻;
[正文]
问题分析
该问题是一个关于路径选择的优化问题。
问题一较易解决,通过适当地分析并找出一个合理解即可解决。
问题二,由于涉用运输点多且分散无规律,必须采用计算机辅助处理。受目前所学知识
及时间限制,只能在简化模型并提出合理约束条件的基础上,采用随机搜索,以期获得理想的最优解。
问题三限制条件较少,则在可能的情况下,尽可能地使用载重为8吨的运输车,方能减少车辆使用及运费支出。
变量说明
父点:本点的上一点;
子点:本点的下一点;
Spend:运费;
Time:时间消耗;
|A|:A点横纵坐标之和;
模型假设
只要平行于坐标轴即有街道存在;
无论垃圾量多少,都能在10分钟内装上运输车;
运输车匀速行驶且不计一切拐弯损耗时间;
不允许将同一个中转站的垃圾分两次运输;
模型建立
将中转站抽象成坐标平面上的点,该点具有两个属性,即位置属性和重量属性;城市抽
象成一个30*20的一个方格网络。该模型假设如第二项中所述。垃圾运输问题最终可以归结为最优路径搜索问题,但注意到此图为森林而不是树,不能直接套用Krusal,Prim等现成算法,于是根据具体问题设计出随机下山法,用计算模拟搜索,可以搜寻到令人满意的可行解。
先注意到两点的情况,设两点分别为A(x1,y1),B(x2,y2)。主要有以下两种情况:
A,B明显有先后次序。--递减状态(如图2)
不妨设x1x2, y1y2,不难看出A在B的后方,即A比B远。对于前方参考点O,要将A,B对应垃圾点的垃圾全部取回再返回O,一共有三种方式:
O?A?O, O?B?O
单独运输。这种情况下,总的路程消费等于空载运行费用(0.4元/公里)与装载时运行费用(1.8元/公里吨)的总和。所需的总时间等于车辆所走过的总路程与速度(40公里/小时)的比值再加上在A,B两点停留的时间(每个垃圾点上停留了10分钟,1/6小时),于是有:
Spend = 0.4*|A| + 1.8*|A|*Ta + 0.4*|B| + 1.8*|B|*Tb
Time = (2*|A| + 2*|B|)/35 + 1/6*2
2. O?A?B?O
先远点再近点,即先空载至最远处,装完A点垃圾后再返回至B,再回O点,有:
Spend = 0.4*|A| + 1.8*|A-B|*Ta +1.8*|B|*(Ta+Tb)
= 0.4*|A| + 1.8*|A|*Ta + 1.8*|B|*Tb
Time = 2*|A|/35 + 1/6*2
3. O?B?A?O
先近点在远点,即先装B点垃
文档评论(0)