垃圾运输问题的解决.docx
《垃圾运输问题的解决.docx》由会员分享,可在线阅读,更多相关《垃圾运输问题的解决.docx(12页珍藏版)》请在冰豆网上搜索。
![垃圾运输问题的解决.docx](https://file1.bdocx.com/fileroot1/2022-10/24/c722e8f2-e0ce-496e-bac4-024aa3d5a0c5/c722e8f2-e0ce-496e-bac4-024aa3d5a0c51.gif)
垃圾运输问题的解决
垃圾运输问题的解决
陈惠史慧慧王霞
摘要
该题我们的主要解题思路分三阶段:
第一阶段,我们先根据题设条件和基本假设画出该题的图。
第二阶段,我们根据图和点的位置关系结合题设,归纳出一些最基本的确定路线的原则:
在仔细分析该题后,我们认为该题为一个单目标规划题。
我们先抛开空载费用,若要把所有的垃圾运回处理站,这部分有效工的费用为Σ1.8*|Xi|*Yi(|Xi|为垃圾点Xi到原点的距离,Yi为垃圾点的垃圾量),是恒定不变的。
只要我们能保证空载路线最小,则所花的时间和费用都最小。
因此解题的关键在于找出一个调度方案,使空载行驶的路线最小。
第三阶段,编制程序阶段。
我们结合下山法逐点搜索,并引入随机生成器。
在出现后继点权值相等难以判断以哪点继续搜索时,由随机生成器确定。
为了让算法更接近人的思维,我们让更靠近父点的子点有更高的几率被作为下一个将去的垃圾点,这也与我们的算法原则对应。
问题的解决如下:
第一问,求得所需总费用为2338元,所需总时间为21.6小时,路线分配图见正文;
第二问,求得需3辆铲车,铲车费用为81.6元,分配图及运输车调度表见正文;
第三问,8吨、4吨运输车各需一辆。
垃圾运输问题的解决
(一)问题重述
某城区有36个垃圾集中点,每天都要从垃圾处理厂(第37号节点)出发将垃圾运回。
现有一种载重6吨的运输车。
每个垃圾点需要用10分钟的时间装车,运输车平均速度为40公里/小时(夜里运输,不考虑塞车现象);每台车每日平均工作4小时。
运输车重载运费1.8元/吨公里;运输车和装垃圾用的铲车空载费用0.4元/公里;并且假定纵、横整公里处均有街道,方向平行于坐标轴。
请你给出满意的运输调度方案以及计算程序。
问题:
1.运输车应如何调度(需要投入多少台运输车,每台车的调度方案,总运营费用)?
2.铲车应如何调度(需要多少台铲车,每台铲车的行走路线,总运营费用)?
3.如果有载重量为4吨、6吨、8吨三种运输车,又如何调度?
垃圾点地理坐标数据表
序号
垃圾量T
坐标(km)
序号
垃圾量T
坐标(km)
x
y
x
y
1
1.50
3
2
20
1.40
19
9
2
1.50
1
5
21
1.20
22
5
3
0.55
5
4
22
1.80
21
0
4
1.20
4
7
23
1.40
27
9
5
0.85
0
8
24
1.60
15
19
6
1.30
3
11
25
1.60
15
14
7
1.20
7
9
26
1.00
20
17
8
2.30
9
6
27
2.00
21
13
9
1.40
10
2
28
1.00
24
20
10
1.50
14
0
29
2.10
25
16
11
1.10
17
3
30
1.20
28
18
12
2.70
14
6
31
1.90
5
12
13
1.80
12
9
32
1.30
17
16
14
1.80
10
12
33
1.60
25
7
15
0.60
7
14
34
1.20
9
20
16
1.50
2
16
35
1.50
9
15
17
0.80
6
18
36
1.30
30
12
18
1.50
11
17
37
0.00
0
0
19
0.80
15
12
(二)基本假设
1、运输车行走拐弯的时间(路上的意外事故的耽误时间忽略)。
2、各垃圾点的垃圾必须当天及时清除完,不允许滞留。
3、晚上9:
00后部堵车。
4、每天各垃圾点的垃圾量基本相同。
5、每个垃圾点无论其中垃圾是否清理完全都需要10分钟装车时间。
6、每个垃圾点都在路口,便于垃圾的集中运输。
7、垃圾只在晚上运输,基本保证运完后,当天不会再有新的垃圾产生。
(三)基本变量,符号和用语
|A|表示A点到原点的距离,恒正
|B|表示B点到原点的距离,恒正
|A-B|表示A,B亮点之间的距离,恒正
Ta表示A点所在地的垃圾量
Spend花费钱的数量
Time花费的时间
装的足够多运输车当前的载重离限载不大于0.55吨(垃圾点的最小垃圾量)
序数号:
所在点的编号
父点:
本点的上一点
子点:
本点的下一点
(四)问题分析和数学模型的建立
垃圾运输问题最终可以归结为最优路径搜索问题,但注意到此图为森林而不是树,不能直接套用Krusal,Prim等现成算法,于是根据具体问题设计出随机下山法,用计算模拟搜索,可以搜寻到令人满意的可行解。
先注意到两点的情况,设两点分别为A(X1,Y1),B(X2,Y2)
主要有以下两种情况:
一、A,B有明显先后次序。
——递减状态(如图1)
不妨设X1>X2,Y1>Y2,不难看出A在B的后方,即A比B远。
对于前方参考点O,要将A,B对应垃圾点的垃圾全部取回再返回O,一共有三种方式:
1、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|)∕40+1∕6*2
2、O→A→B→O
先近点在近点,即先空载至最远处,装完A点垃圾后再返回之B点,再回O点,有:
Spend=0.4*|A|+1.8*|A-B|*Ta+1.8*|AB|*(Ta+Tb)
=0.4*|A|+1.8|A|*Ta+1.8*|B|*Tb
Time=2*|A|∕40+1∕6*2
3、O→B→A→O
先近点在远点,即先装B点垃圾,然后载着B点的垃圾奔至A点,再回O点,有:
Spend=0.4*|B|+1.8*|A-B|*Tb+1.8*|A|*(Ta+Tb)
=0.4*|B|+1.8|A|*Ta+1.8*|B|*Tb+1.8*|A-B|*2*Tb
Time=2*|A|∕40+1∕6*2
比较以下三种情况,远近点的遍历顺序,可以看出,“先远后近”绝对比“先近后远”在花费数量上要少的多,省出1.8*|A-B|*2*Tb这部分的钱主要是车载着B点的垃圾奔到A点再返回B点,而又注意到两者的时间花费是相等的,所以在其余同等的情况下选择“先远后近”。
考虑到时间上单独运输比其余的两种运输要大的多,多一倍,而且花费的钱仍不比“先远后近”省,还多了0.4*|B|,所以一般情况下,不采用单独运输。
(二)AB两点没有先后顺序,--并临状态如图
(二)
(五)问题的搜索结果
(六)问题的搜索结果
(七)模型的优缺点
该算法是模型简单容易实现,精度特别是后两个模型的精度不是很高,前两问只要无穷就能得到最优解,第三问的处理原则不是很精确有待改进。