生活垃圾管理系统优秀论文

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

承诺书
我们仔细阅读了中国大学生数学建模竞赛的竞赛规则.
我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。

我们知道,抄袭别人的成果是违反竞赛规则的, 如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。

我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。

如有违反竞赛规则的行为,我们将受到严肃处理。

我们参赛选择的题号是(从A/B/C中选择一项填写): C
我们的参赛报名号为(如果赛区设置报名号的话):
所属学院(请填写完整的全名):计算机科学与技术学院
参赛队员(打印并签名) :1.
2.
3.
日期: 2011 年 7 月 9 日
评阅编号(教师评阅时填写):
C题:生活垃圾管理系统
摘要
随着我国城市经济发展和人口的增加,城市生活垃圾产生量在迅速增加,垃圾的收集运输问题越来越受到关注,而收集运输工作的科学性和经济性的关键是合理的安排收集和运输路线。

本文将针对城市垃圾的收集与运输的优化过程进行讨论。

为了在垃圾收运过程中可以达到“路径短,时间少,车辆少”的目标,我们深入分析建立了两种模型:基于图论的最短路径模型和基于遗传算法的规划模型。

模型一:基于图论的最短路径模型。

首先假定一辆无限大载重的车能够跑完全程,利用图论知识,用C++编程求解出遍历50个站点的哈密顿回路,得到垃圾车收运的最短路线。

然后基于此哈密顿回路,某辆垃圾车从车库出发,逐步算出垃圾车在行驶过程中装载的垃圾量,当垃圾量达到垃圾车的最大装载量1吨时,垃圾车便开往中转站卸下所有垃圾,然后返回站点继续收集垃圾。

由此可得垃圾车前往中转站的次数为25次,即可将该条线路划分为25个子线路。

最后从第一条子路线开始,逐步求解出垃圾车在行驶过程中所用的时间,当收运垃圾时间总接近垃圾车工作总时间时,则另分配车辆继续按照已求出的最短路线来收运垃圾。

根据上述方法,计算可知需将任务分派给8辆车来完成,所有垃圾车在该线路上收集垃圾时所行驶的总里程为897752m,花费的总时间为59.6795h。

模型二:基于遗传算法的规划模型。

针对模型一中存在的不足,我们采用遗传算法进行改进。

首先将问题类比物流配送中的车辆调度问题;其次建立车辆路线安排的数学模型,把总运输距离最小作为目标函数,并结合车容量1吨、时间窗8小时等约束条件,得到车辆优化调度的规划模型;最后,根据上述规划模型并结合遗传算法中选择、交叉、变异等基本操作,使问题的解一代一代的优化,最终逼近最优解。

通过MATLAB软件编程计算,得到最终结果为:车辆数目为6辆,行驶的总里程为6225959m,花费的总时间为45.599h。

模型适用性和算法的稳健性:模型一利用了图论中的哈密顿回路,此模型可以解决类似TSP的一类问题;模型二利用了遗传算法,可以用于解决车辆优化调度等一类问题。

两个模型都具有广泛的适用性。

两个模型中分别用到的“求解哈密顿回路”算法和遗传算法,都是比较成熟的算法,具有良好的鲁棒性。

关键词: 图论哈密顿回路规划模型遗传算法
一、问题重述
1.1问题背景
随着人类生活水平的提高以及城市垃圾处理事业的发展,垃圾分类处理与清运的优化问题也开始受到了大家的重视。

城市生活垃圾的年增长速度达8-10%,严重污染环境。

城市垃圾管理包括计划、组织、行政、金融、法律和工程等多方面,并涉及到城市生活垃圾收集、运输和处置。

而中国目前处置水平低,管理办法不多,更是急待解决的问题。

在这方面,世界许多国家在谋求解决城市生活垃圾过程中,产生出许多好的办法,并在此过程中总结了经验和教训。

1.2涉及材料背景
某一车库拥有最大装载量为 1吨的垃圾收集车k辆,并且该区的垃圾收集点(待收集垃圾的点)有50个,该城市共有垃圾中转站1座。

每天k辆垃圾车从车库出发,经过收集点收集垃圾,当垃圾负载达到最大装载量时,垃圾车运往中转站,在中转站卸下所有收运的垃圾,然后再出站收集垃圾,如此反复,直到所有收集点的垃圾都被收集完,垃圾车返回车库。

以上收运过程均在车库的工作时间进行。

1.3 问题提出
1.根据所有的资料,建立垃圾收运路线的数学模型,设计出有效的算法,使垃圾收运车辆尽可能少,行车里程尽可能短或者垃圾收运时间尽可能少。

2.针对附录中给出的数据,求解模型,并对模型的结果做出合理分析和解释。

二、问题分析
本题是一个在城市生活垃圾收运过程中,构造一条“路径短,时间少,车辆少”收运路线的问题。

2.1不考虑垃圾车运往中转站,直接求出遍历各个垃圾站点的最短路径,并进一步求出最少的车辆和最短的时间
为达到城市垃圾的收运车辆尽可能少,行车里程尽可能短或者垃圾收运时间尽可能少的目标,我们首先考虑如何在满足工作时间和载重量限制的条件下,使垃圾车的行驶路径最短。

根据附录一中的站点坐标,假定一辆车可以跑完全程,并利用图论的知识,编程得到一条哈密顿回路,这样一来,便可得到遍历所有站点的最短路径,那么这条路径即为所有车辆行驶的最短路径。

在保证了最短路径之后,为了达到在行驶过程中车辆最少,时间最短的目标。

我们首先假定车辆必须在装满之后才运往转运站,从而使得每辆车的利用率可以达到最大,进而可以保证车辆达到最少。

2.2进一步优化模型一,并求出最短路径、最少车辆和最短时间
为了进一步优化模型,得到更优解。

仔细分析、研究问题可知,本题模型与物流配送中的车辆调度模型类似。

车辆路径问题是一个NP完全问题,只有在需求点和路段数较少时才可求得精确解。

而遗传算法可以很好解决这一问题,因此用遗传算法求解该问题是我们的一个思路。

建立基于遗传算法的规划模型,对车辆调度进行优化,即合理地进行垃圾收运优化,尤其是收运路线的优化,能够提高运行路线的利用率,减少行驶里程和行驶时间。

三、模型假设
1、每次垃圾车到达垃圾收集点时,该收集点的垃圾产量处于最大值。

2、每辆车只考虑在垃圾装满之后才开往中转站。

3、不考虑周围环境、气候等因素对垃圾运输过程中造成的影响。

4、假设垃圾车行驶的速度保持不变。

5、假设各个垃圾点与垃圾点和车库都是可达的。

四、符号说明
主要符号符号意义
c表示收集车量的序号
k表示运输车的量数
l表示每个收集点的垃圾量
i
Q表示每辆车的载重量
d表示i点到j点的距离
ij
A0-1变量,表示车c是否由i驶向j
ijc
B0-1变量,表示第i点的垃圾是否由车c来完成转运ic
Z表示垃圾车的总行驶距离
flag0-1变量,表示是否有垃圾从垃圾站驶向中转站
M一很大的正数,表示当一辆收集车的收集量超过其最大承载量时的惩罚
系数
Z表示遗传算法中第n次的适应度值
n
f表示染色体的适应度函数f=1/z
五、模型的建立与求解
模型一:基于图论的最短路径模型
5.1模型的建立
在垃圾收集的过程中,垃圾收运车每天早上四点从车库出发,前往各个垃圾站点收运垃圾并运往中转站。

由于每台垃圾收运车的载重有限,所以当其载重达到最大值时就要前往中转站,卸下所有垃圾,然后返回站点继续收集。

本问题的解决要达到三个目标:垃圾收运车数目尽可能少,行车里程尽可能短,垃圾收运时间尽可能少。

为了便于分析处理问题,我们首先假设所有的垃圾由一辆载重量无限大的收运车来收运,因此暂不考虑中转站问题,而让收运车直接从车库出发,经过每个垃圾收集点一次且仅一次,完成垃圾收运任务。

要使车辆行驶里程最短(在此先不考虑时间限制),就是找一条遍历所有收集站点的最短路径,即找一条以车库为起点的哈密顿回路。

哈密顿图的介绍:
设G=(V,E)是连通无向图.
(1)经过G的每个顶点正好一次的路径,称为G的一条哈密尔顿路径.
(2)经过G的每个顶点正好一次的圈,称为G的哈密顿圈或H圈.
(3)含H圈的图称为哈密尔顿图或H图.
现在我们构造一个加权的无向图,每个垃圾收集点和车库看做图中的一个节点,各垃圾收集点之间以及各垃圾收集点与车库之间的路径可以看做图中对应节点间的边,各条路径的长度看做对应边上的权,这样就构造出一个加权的网络图。

问题就转化为在上述构造的图中寻找从车库出发,行遍所有顶点一次且仅一次再回到车库的哈密顿回路,使得总权最小。

为了找到满足上述条件的哈密顿回路,我们采用matlab编程求解,其算法主要步骤如下:
(1)任取初始H圈: C
0=v
1
,v
2
,…,v
i
, ,…,v
j
,…,v
n
,v
1
图一示例图
(2)对所有的i ,j ,1<i+1<j<n,若w(v i , v j )+w(v i+1,v j+1)< w(v i ,v i+1)+w(v j ,v j+1)则在C 0中删去边(v i ,v i+1)和(v j ,v j+1)而加入边(v i , v j )和(v i+1,v j+1),形成新的H 圈C ,即C= v 1,v 2,… ,v i ,,v j , v j-1,… , v i+1,v j+1, …,v n ,v 1。

(3)对C 重复步骤(2),直到条件不满足为止,最后得到的C 即为所求。

现在我们考虑垃圾车的载重量和工作时间的限制。

垃圾车的载重量为1吨,且每辆垃圾车每天能够收集的总垃圾量为5吨,而垃圾总量大于5吨,所以收运任务不可能只由一辆车来完成,需要将任务分配给多辆车。

由于上面已经求出车辆行驶最短路线(04921420→→⋯⋯→→→→),这些垃圾车在完成任务的过程中,应该按照此路线来运行,才能保证总的行驶里程最短。

基于垃圾收运车载重量Q 的限制,将上述求出的最短路径划分为多个子路线。

主要求解过程如下:
(1)初始化垃圾车载重量为0。

(2)前往子路线的第一个站点收运垃圾,若离开该站点时的垃圾量Lki<1,则直接前往下一个站点继续收集。

否则前往中转站,卸下垃圾,再返回继续收集。

(3)循环步骤(2)。

(4)两个中转站之间的路线就构成一个子路线。

例如,第一个子路线求解过程如下:
垃圾车前往站点42(42为最短路径上的第一个站点,也就是第一个子路线的第一个站点),其垃圾量为0.2吨,此时Lki<1,直接前往下一个站点1收集垃圾,站点1的垃圾量为0.6吨,此时Lki<1,继续前往下一个站点2收集垃圾,站点2的垃圾量为
0.5吨,此时Lki>1,垃圾车前往中转站卸下垃圾。

所以42—1—2构成第一个子路线。

由上述方法可以求出各个子路线,设Sk 为第k 个子路线的总路程,v 表示垃圾车的行驶速度,结合题目中中给出的数据及距离的计算公式,我们可以算出垃圾收运车在各个子路线上所花费的时间:
v s t k k /=,(k=1,2, (25)
考虑到垃圾收运车的工作时间、每天最多经过的垃圾收集点个数和每天的总载重量的限制,需要将这些子路线分配给多辆车来完成,在保证每辆车都能规定时间内回到车库的前提下,每辆车的工作时间都尽量接近8小时的工作时长,这样就得到了垃圾收运车辆数目和每辆车的收运路线。

例如第一辆车的收运路线的分配过程如下:
第一个子路线的时间为1.7935小时,第二个子路线的时间为1.254小时,第三个子路线的时间为1.889小时,第四个子路线的时间为1.404小时,这四个子路线的总时间为1.7935+1.254+1.889+1.404=6.3405小时,而第五个子路线的时间为2.125小时,
6.3405+2.125=8.4655小时,这样就超过了垃圾收运车的工作时长,并且前四个子路线的总垃圾收集站点个数不超过10,所以将前四个子路线分配给第一辆车。

5.2 模型的求解
5.2.1站点坐标
首先根据附录一中的数据,用matlab编程(代码见附录二)可以得到车库、中转站、垃圾收集点的分布图如下:
图二站点坐标图
5.2.2遍历路径
根据如图所示站点的坐标,先假设垃圾车的载重量无限大,可一次将垃圾全部收集完,因此暂不考虑中转站问题,而直接从车库出发,找到一条遍历所有收集点的最短路径,从而将问题转化成求解哈密顿回路的问题,这样就可求得最短收集路线。

利用C++程序(代码见附录三)可得到最佳路径如下:
图三最佳路径
(注:此程序结果中的站点数为题目附录中给出的站点数加1,车库标号为1。


由此可知最短路径为:(0表示车库,其余为题目附录中的站点数)
12
171128101393182467526439321420→→→→→→→→→→→→→→→→→→→→35
3340322725442129203019182216151423→→→→→→→→→→→→→→→→→→0494748435041453738364634→→→→→→→→→→→→→
运用matlab
画出遍历路径如下:
图四 最短路径
根据上图的最佳路径,可列出如下数据表格:
表一 各站点信息
序号 经过站点号
站点垃圾量(kg ) 装卸时间(min ) 垃圾运往中转站后
该站点剩余垃圾量(kg ) flag 1 42 200 1 0 0 2 1 600 3 0 0 3 2 500 2 300 1 4 3 200 1 0 0 5 39 700 4 200 1 6 4 500 2 0 0 7
26
650
3
350
1
8 5 300 1 0 0
9 7 1300 6 950 1
10 6 300 1 250 1
11 24 300 1 0 0
12 8 200 2 0 0
13 31 200 1 0 0
14 9 200 1 150 1
15 13 1600 8 750 1
16 10 550 3 300 1
17 28 800 4 100 1
18 11 400 2 0 0
19 17 300 1 0 0
20 12 200 1 0 1
21 23 400 2 0 0
22 14 400 2 0 0
23 15 300 1 100 1
24 16 600 3 0 0
25 22 400 2 100 1
26 18 800 4 0 0
27 19 700 4 600 1
28 30 600 3 200 1
29 20 300 1 0 0
30 29 300 1 0 0
31 21 300 2 100 1
32 44 950 5 50 1
33 25 400 2 0 0
34 27 200 1 0 0
35 32 400 2 50 1
36 40 450 2 0 0
37 33 450 2 0 0
38 35 200 1 150 1
39 34 350 2 0 0
40 46 850 5 350 1
41 36 1400 6 750 1
42 38 900 5 650 1
43 37 300 1 0 0
44 45 200 1 150 1
45 41 400 2 0 0
46 50 1150 6 700 1
47 43 200 1 0 0
48 48 400 2 300 1
49 47 300 1 0 0
50 49 300 1 0 1
即用柱状图表示该站点的垃圾量和剩余垃圾量为:
图四站点垃圾与剩余垃圾量柱状图
5.2.3所用车辆及路径
根据表格一与图三,垃圾收运车沿求出的路线收集垃圾,考虑垃圾车的最大载重量
和工作时间,在上述求解出最短路径后,用一辆垃圾收运车按照图二中的遍历路径开始
收集垃圾,当载重量接近或达到1吨时,运往中转站,再接着收集余下的垃圾。

由此,
我们可以得出一辆垃圾车的收运路线。

从上述的最短路线的结果中,可以看出垃圾车要
去中转站25次,则最短路径被分成25个子线路。

由于有时间限制,所以需要多辆车去
收集垃圾,经过计算,我们得出需要8辆车来收集垃圾以及每辆车的收运路线。

以下是
每辆车的收运路线:
第一辆车:







车库
中转站

中转站
→中转站



39
39
4
26
7
26
3
5

2
42→

2
1

中转站
第二辆车:
9
9

→13
31
6

7
6
24
8


车库→
中转站


中转站




中转站
第三辆车:
17
→12

11

10
13
10
28
28

车库→
中转站
中转站
中转站






第四辆车:
22
18
→19

22
16

14
15
15
23
中转站

车库→
中转站


中转站





第五辆车:
21
21
→44

29
19

30
30
20


车库→
中转站
中转站

中转站




第六辆车:
35
35
33

→46
34 44
25

27
32
32
40

车库→

中转站
中转站→

中转站






第七辆车:
37
38
→45

46

36
36
38
中转站
车库→
中转站
中转站






第八辆车:
中转
中转站
中转站
中转站
车库→












→49
47
48
48
48
43
50
50
41
45

由子路线及每辆车所用的时间可得如下表格:
表二路线分布表
子路线

1 2 3 4 5 6 7 8
车号 1 1 1 1 2 2 2 3
路线*-42-1
-2-0
2-3-39
-0
39-4-2
6-0
26-5-7
-0
7-6-0
6-24-8
-31-9-
9-13-0
13-10-
运载量
(kg)
1000 1000 1000 1000 1000 1000 1000 1000
时间
(h)
1.7935 1.254 1.889 1.404
2.125
3.329 2.455 3.165
子线路

9 10 11 12 13 14 15 16
车号 3 3 4 4 4 5 5 5
路线10-28-
28-11-
17-12-
23-14-
15-0
15-16-
22-0
22-18-
19-0
19-30-
30-20-
29-21-
21-44-
运载量
(kg)
1000 1000 1000 1000 1000 1000 1000 1000
时间
(h)
2.157
3.004 2.394 2.014 2.689 1.846 3.249 2.846
子线
路号
17 18 19 20 21 22 23 24 25 车号 6 6 6 7 7 7 8 8 8
路线44-25
-27-3
2-0
32-40
-33-3
5-0
35-34
-46-0
46-36
-0
36-38
-0
38-37
-45-0
45-41
-50-0
50-43
-48-0
48-47-
49-0
运载

(kg)
1000 1000 1000 1000 1000 1000 1000 1000 1000
时间
(h)
3.447 2.551 1.465 2.528 2.638 2.26 2.197 2.041 2.939
模型二:基于遗传算法的规划模型
5.3模型的建立
对问题的求解,模型一是通过图论中的哈密顿回路来解决的。

在求解哈密顿回路的过程,因为事先未知前往中转站的次数,所以没有考虑中转站,这样就会造成一定的误差。

为了减小误差,进一步接近最优解,我们建立模型二。

收运垃圾的过程可以概述为:车辆从车库出发,按照一定的路线,将各个收集点的垃圾集中后运往统一的中转站处理。

现将问题反过来思考:收运车从中转站出发,将中转站的垃圾按一定的路线运往各收集点。

这样听起来似乎不合常理,但是,问题就转化为了物流配送中的车辆调度问题。

中转站即对应配送中心,收集点的垃圾量对应各个客户的需求量。

其目标函数和约束条件基本相同。

所以,借用“物流配送中的车辆调度问题”模型来求解。

而此模型较好而又成熟的方法则是遗传算法。

考虑到垃圾收运过程中,每辆垃圾车到从中转站到车库的次数是固定的(只有完成工作之后从中转站回到车库)为1次,建模过程中,垃圾车以中转站为起点,前往各收集站点收运垃圾。

下边将基于城市垃圾收集路径优化问题的特殊性,采用改进的遗传算法来建立改进后的模型,算法的主要步骤如下:
1.车辆调度数学模型
安排垃圾收运车的收运路线问题,使总运输距离最小作为目标函数,根据题中和基本假设所给的约束条件,建立如下线性规划模型:
为了使总距离最小,我们将总运输距离作为目标函数,
目标函数: ∑∑∑+=+===10100
min n i n j k
c ijc ij A
d z
(1)
由于每辆车都有载重量的限制,因此要将垃圾收集车的载重量作为一个约束条件。

Q B l ic n
i i ≤∑=0 c=1,2,……,n (2)
上半部分表示每个地点的任务只能有一辆车完成,下半部分表示所有的车从出发点行驶到终到点。

⎩⎨⎧+=⋯⋯==∑=)1n ,0()
n ,2,1(11i k i B k
c ic , (3)
因为到达每个收集点的车有且仅有一辆,所以
),,2,1;1,,2,1(10
k c n j B A jc n i jc i ⋯⋯=+⋯⋯==∑+= (4) 因为离开每个收集点的车有且仅有一辆,所以
)1,,,1,0(0+⋯⋯==∑=n n i B A ic n
j ijc (5)
因为A ijc 为0、1变量,所以
),,2,1;1,,,1,0,(10k c n n j i A ijc ⋯⋯=+⋯⋯==或 (6) 因为B ic 为0、1变量,所以
),,2,1;1,,,1,0(10k c n n i B ic ⋯⋯=+⋯⋯==或 (7)总的约束条件如下:
⎪⎪⎪⎪⎪⎪⎪⎩⎪⎪⎪⎪⎪⎪⎪⎨⎧⋯⋯=+⋯⋯==⋯⋯=+⋯⋯==+⋯⋯==⋯⋯=+⋯⋯==⎩⎨
⎧+=⋯⋯==⋯⋯=≤∑∑∑∑=+===)
7)(,2,1;1,,,1,0(10)6)(,2,1;1,,,1,0,(10)5)(1,,,1,0()
4)(,2,1;1,,2,1()3)(1,0(),,2,1(1)2()n ,,2,1(..0
1
01
0k c n n i B k c n n j i A n n i B A k c n j B A n i k n i B c Q B l t s ic ijc n
j ic ijc n i jc jc k c ic n
i ic i ,或,或,
其中对约束条件进行处理主要采取以下两种方法:
1)在编码过程中不考虑约束,而在遗传算法的计算过程中检测得到的染色体相应的解是否可行,若可行,则放入下一代群体中,否则将其舍弃。

2)采用惩罚的方法来处理约束。

如果一个染色体对应的解违反了某个约束,给予一定的惩罚(具体的惩罚即适应度函数见后文),使其具有较小的适应度。

这样,一些不
可行解也有可能进入到群体,以保证群体中染色体的数目,使遗传算法继续进行。

若干代后,不可行解在群体中所占的比例会越来越小,可行解所占的比例会越来越大,最终得到最优解。

遗传算法流程图如下:
2.构造染色体
采用自然数编码方式,解向量可编成一条长度为k+1+n+1的染色体,例如(0,1,2,n+1,3,4,0,5,,n,n+1)。

在整条染色体中,自然数1,2,3…n 代表n 个收集点,出发点为0,n+1为终止点。

初始化染色体时,先生成n 个收集点的一个全排列,再将k+1个0和n+1按0,n+1,0,n+1的顺序随机插入排列中。

把第一个0放在最前面,当k+1为奇数时,最后一位一定是0,当k+1为偶数时,最后一位一定是n+1,而且在排列中不能出现0,n+1连续的现象。

3.产生初始种群
在通过自然数编码产生的排列中随机选择n 个符合约束条件的排列作为初始个体,构成初始种群。

例如用4辆车向7个站点收集垃圾,设某个排列为1,3,8,2,6,9,4,7,10,5,它表示4条路径0-1-3-8-0,0-2-6-9-0,0-4-7-0,0-5-0,其中的0表示配送中心。

若每条路径上的垃圾量之和均小于车辆的最大载货量,则选择该排列作为一个个体;否则,不能选此排列作为个体。

并输入控制参数(交叉概率、变异概率、群体概率、群体模型、最大运行代数)。

4.确定适应度函数
将目标函数(1)和约束(2)结合作为测量染色体的成本函数,如下:
∑∑∑∑∑==+=+==⎥
⎦⎤
⎢⎣⎡-+k
i c n i ic i ijc i n j k c ij Q B l M A d 11n 01000,max
集团中个体适应度的检测评估
选择
交叉
变异
图五 遗传算法的基本流程 编码和初始集团生成
5. 基因重组操作
计算初始群体的个体的适应值保留最优个体,然后对剩余的n-1个个体采用基因换位、基因移位操作进行进化,比较每个个体的第n 次与n+1次的适应度值,若z n >=z n+1进行基因换位,若z n <z n+1则进行基因移位操作。

6.基因换位
可采用多对基因换位或单对基因换位。

单对基因换位为随机选取两个正整数i ,j (1<i ,j<n ),交换染色体A=(c 1,c 2,…,c n )中一对基因c i ,c j 的位置。

多对基因换位即选取多个随机数进行换位。

注意染色体第一位和最后一位不参与交换,也不能把0,n+1互换,当c i 与0或者n+1交换位置后,若出现0,0或者0,n+1或n+1,n+1像这样连续的情况,应该重新进行换位,最后再把染色体的0和n+1按0,n+1,0,n+1的顺序重新排列。

7.基因移位
单个基因段移位操作是随机取两个正整数i ,j ,在染色体A=(c 1,c 2,…,c n )中取一个基因段A 1 =(c i ,c i+1 ,…,c j )以一定的概率p ,依次向后移动基因段A 1中的各个基因,并把最右边的基因移到最左边的位置。

若出现0,0或者0,n+1或n+1,n+1像这样连续的情况,应该重新进行基因移位,最后再把染色体的0和n+1按0,n+1,0,n+1的顺序重新排列。

8.运算终止
根据初始设定的代数t ,判断是否满足终止条件,若不满足则返回到步骤5。

否则,满足终止条件,终止运算,并输出当前的最优解及对应的目标函数值。

5.4模型的求解
1. matlab 程序需要的数据
车库坐标:(0,0)
中转站坐标:(-7796,3062) 垃圾车每天最大负载量:5吨 平均车速:20km/h
车子最多经过的收集站数:10 各收集点数据:(附录一) 2.控制参数的选择
通过对遗传算法的分析,并对参数选择进行优化处理,得到以下控制参数:
初始种群规模:200 最大迭代次数:1000 交叉概率:0.85 变异概率:0.05 最大变异概率:0.2 车辆惩罚系数:6 3.运行结果
将以上数据通过程序处理,得到对应的输出结果,结果为染色体编码(…0‟代表中转站,…1‟—…50‟代表各收集点)。

由染色体编码可知,总共需要调配6辆车,车辆行驶路线为:
第一辆车:
46
34
35
33
39
3
2
1
0→











第二辆车:
43
38
50
41
49
47
37
45
48
0→












第三辆车:
27
21
44
36
42
32
40
0→










第四辆车:
6
17
11
23
16
25
20
29
18
8
0→













第五辆车:
30
12
31
24
19
14
13
0→










第六辆车:
5
4
12
15
16
9
28
32
10
0→












在上述路径的安排下,这6辆车进行垃圾收运时所行驶距离和工作的时间为下表:
表三行驶距离时间表
车号123456
行驶总
距离(m)
840311225341013021367988565495640
行驶总
时间(h)
7.4127.7317.6347.8027.4337.587
六、模型评价
模型适用性和算法的稳健性分析
模型一利用图论知识,遍历所有的点(车库和站点),找出权重最小的一条哈密顿回路,该方法可用于解决类似TSP的一类问题,具有广泛的适用性。

在求解出全局最短路径后再逐步细化优化,在车辆的分配上,每辆车每天的工作时间都基本上达到最大值,分析过程清晰明了。

但是在求解哈密顿回路过程中,由于中转站次数未定,也为了便于分析求解,所以没有考虑,而实际问题中,应该考虑,所以最终得到的最优路径有一定的误差。

模型二的建立是为了改进模型一中存在的不足。

首先是将模型转化为典型的“物流配送中车辆调度问题”模型,建立车辆优化调度的规划模型,并且利用遗传算法得到了全局最优的最短路径。

模型的建立过程中除系统算法固有误差外,不存在任何假设或简化的认为误差存在,基于上述分析可以看出,模型具有可操作性和实用性。

在利用遗传算法进行TSP模型全局求解的时候,将种群设为200,在大规模种群的情况下,可以使算法结果更加趋于稳定。

在保证尽可能地减少前往中转站次数的前提下,又给每次的运送量保留了一定的稳定裕量,如果某些垃圾收集点的垃圾某天由于特殊原因有一定的增长,也不会改变垃圾运送的线路设计,从这点看出,算法具有较好的稳健性。

七、参考文献
[1]李艳伟,吴育华,中国城市垃圾处理现状分析及研究[J],环境科学动态,2001。

[2]赵静,但琦,数学建模与数学试验(第三版),北京:高等教育出版社,2008。

[3]周翠红,路迈西,吴文伟等,北京市城市生活垃圾产量预测[J],中国矿业大学学报2003169—172。

[4]程芳,谷峰,中国城市垃圾现状及其产业化前景分[J],科技进步与对策,2002。

[5]朱道元等,数学建模案例精选,北京:科学出版社,2002。

[6]储理才,自然科学报,集美大学学报,第6卷:15-19,2000。

八、附录
附录一:
图中车站,中转站及各站点的坐标:
车站(0,0)中转站(-7796,3062)
1(-8260,1545) 2(-6395,1227)
3(-6328,1235) 4(6400,3764)
5(8034,7961) 6(9691,7240)
7(7415,8071) 8(4010,3924)
9(10163,3112) 10(5770,1143)
11(10510,5795) 12(5287,3096)
13(9842,3154) 14(7486,8588)
15(7418,8090) 16(7988,3081)
17(10736,3397) 18(8104,-1592)
19(7528,394) 20(10414,-2486)
21(4838,-5557) 22(7540,465)
23(6491,4299) 24(9998,7600)
25(10235,494) 26(6050,3825)
27(6802,-3844) 28(6192,1391)
29(9687,-2781) 30(7521,468)
31(4150,5260) 32(1895,-5548)
33(-4978,-966) 34(-4953,-1662)
35(-4990,-929) 36(2847,-6848)
37(-4473,-7832) 38(-1285,-4806)
39(-5243,-1087) 40(1237,-6936)
41(-2832,-5892) 42(1560,-2763)
43(-1303,-4798) 44(3439,-6932)
45(-6146,-6491) 46(-4154,-1775)。

相关文档
最新文档