城市生活垃圾管理问题研究
摘要
近年来,随着垃圾产量的日益增加,人们已经逐渐意识到它对生态环境及人类生存带来的极大威胁。本文针对垃圾处理问题,先采用一元线性回归和最小二乘曲线拟合的方法,求出垃圾产量的预测模型,再采用图论法,得到垃圾最短收运路径以及最佳车辆分配方案。
对于第一问,我们根据题意找到影响垃圾产量的六个因素,查得相关数据后,运用一元线性回归的方法拟合出各个影响因素与年份的关系式,如下表: 生产总值(亿万元) 城市居民人均收入(元) 人均消费水平(元) y1345.5x 1331.3 y21003.6x5309.9 y3986.7x533.93 人口数量(万人) y419.6x3073.9 人均住房面积(平方米) 城市燃气普及率(%) 8.2554x28.856, x9y5 1.9191x 20.3513 y6 1 x9接着,我们采用最小二乘曲线拟合的方法得到垃圾产量与各个影响因素的关系式,如下:
Y38.2626y118.3874y28.0855y35.7036y42.9462y54.5376y6
这样,在已知年份的条件下,可以通过各个影响因素的值,预测出垃圾的产量。由于预测量考虑了实际中的各个影响因素,故具有准确性和较高的实用性。
对于第二问,我们经过数据预处理,画出以车库为原点的垃圾收集点、中转站分布图。接着,根据题中垃圾车的最大装载量与垃圾站的分布特点将数据分成十二区域,用图论法在每个区域中找到最小生成树,为了避免垃圾收运车走重复路线,我们通过观察,将最小生成树的树叶融入树中,形成一条链,即为垃圾收运车的最短收运路线。在得到12个区域的最短路径图后,我们将行驶时间、装车时间、卸车时间相加,得到在每个区域收集垃圾的总时间(h),如下表: 区域1 区域2 区域3 区域4 区域5 区域6 2.1054 2.035 1.9497 1.9664 1.7679 1.6508 区域7 区域8 区域9 区域10 区域11 区域12 1.6977 1.6683 1.7402 1.8511 1.8233 1.7050 由上表知:车库每天至少需要3辆垃圾收运车收运垃圾。故最佳的车辆分配方案为3辆垃圾收运车每辆每天前往4个区域收运垃圾。
运用以上方法得到的收运路线,不但满足题设条件(不超过垃圾车的最大装载量、日负载总量以及最多日收集点数),而且还能使垃圾的收运时间最短,另外该模型可以提出合理的车辆分配方案,提高了资源利用率。因此,本模型具有较好的实用性和可靠性。
关键词 垃圾预产量 线性回归 最小二乘曲线拟合 图论法 收运路线
1. 问题的重述
由于人类生产和生活的不断发展而产生的垃圾对生态环境及人类生存带来极大的威胁已逐步成为重要的社会问题。城市生活垃圾是居民生活、消费过程中产生的废弃物,其年增长速度达8-10%,因此导致城市垃圾的数量日益庞大,并且其组分复杂还处于不断变化中, 使处理费用慢慢升高。另一方面城市垃圾占用大量土地、污染水体、污染大气、破坏植被, 严重影响城市的市容景观和居民的生活环境[1]。城市垃圾已成为各国政府急需妥善解决的首要问题之一。
城市垃圾管理包括计划、组织、行政、金融、法律和工程等多方面,并涉及到城市生活垃圾收集、运输和处置。而中国目前处置水平低,管理办法不多,更是急待解决的问题。在这方面,世界许多国家在谋求解决城市生活垃圾过程中,产生出许多好的办法,并在此过程中总结了经验和教训。
一般认为城市生活垃圾的影响因素包括地理位置、人口、经济发展水平(生产总值)、居民收入以及消费水平、居民家庭能源结构等等。城市生活垃圾产量是垃圾管理系统的关键参数,城市在建造垃圾填埋场之前,必须对该地区的未来垃圾产量进行合理预测。若对城市垃圾产生量的估计过高,相应的填埋场库容设计必然增大,各种投资亦相应增加,将导致物力财力的巨大浪费;若对垃圾产量估计过低,在未达到填埋场设计使用年限时就将被迫关闭,不得不投资另行建造其他填埋场或对填埋场进行扩容,同样会导致物力财力的浪费[2]。因此对未来某段时间内垃圾产量的准确预测是相关垃圾管理的部门做出管理规划的前提。
另外,城市垃圾自其产生到最终被送到处置场处理,需要环卫部门对其进行收集与运输,这一过程称为城市垃圾的收运。收运过程可简述如下:
某城市有多个行政区,每个区内均有一个车库,假设某一车库拥有最大装载量为 w 的垃圾收集车 k 辆,并且该区的垃圾收集点(待收集垃圾的点)有 n个,该城市共有垃圾中转站 p 座。每天 k 辆垃圾车从车库出发,经过收集点收集垃圾,当垃圾负载达到最大装载量时,垃圾车运往中转站,在中转站卸下所有收运的垃圾,然后再出站收集垃圾,如此反复,直到所有收集点的垃圾都被收集完,垃圾车返回车库。以上收运过程均在各点的工作区间之内完成。(注:必须在收集点的工作区间之内,垃圾车才能在该点收集垃圾。)
请利用数学方法建立以下问题的数学模型并求解,对模型的结果做出合理分析和解释。
1. 在查阅相关文献,搜集垃圾产量数据的基础上建立城市生活垃圾产量中短期预测模型,并且分析模型的准确性和实用性。
2. 在收运过程已知下述(1)(2)(3)(4)等条件下,如何安排垃圾收运车的收运路线,使垃圾收运车的行车里程尽可能的少,或者垃圾收运时间尽可能短?
(1)车库和收集点、收集点与中转站、中转站与车库的距离; (2)各收集点每天的垃圾产量;
(3)每辆垃圾收运车的最大载荷;
(4)垃圾收集点、车库、中转站的工作区间[a,b]。
请给出规划以上垃圾收运路线的数学模型,并设计出有效的算法,针对题中给出的数据,求解模型。并且对模型的适用性、算法的稳定性和鲁棒性做出分析。
2. 问题的分析
2.1. 分析影响城市生活垃圾的因素
城市生活垃圾的影响因素决定了城市生活垃圾的总量,而这些影响因素包括城市规模、城市经济的发展程度、城市人口的多少及居民的收入、消费水平等诸多方面,故此处首先查阅相关资料[3],了解以往在解决此类问题时的标准,再根据近几年我国居民消费水平,生活方式能源结构等方面的变化规律进行分析,最终得到对城市生活垃圾总量影响显著的几个因素如下:
(1) 人口数量:随着人口的不断增加以及城市人口流动的不断加剧,在人均垃
圾产量稳定变化的基础上人口的变化必定造成城市生活垃圾产量的变化; (2) 生产总值:生产总值的变化意味着居民生活水平的改变, 居民生活水平的
好坏直接关系到其生活方式的调整,不同的生活方式会对城市生活垃圾产量的大小造成影响;
(3) 城市居民人均收入、人均消费水平:是居民生活水平的指标,人均收入关
系到消费水平,而消费增水平的改变导致购买力发生变化;
(4) 人均住房面积、城市燃气普及率:人均住房面积的波动关联到供暖面积,
而供暖需要消耗能源,故影响到垃圾的产生量;城市燃气普及率的高低意味着煤炭等产生固体垃圾的能源消耗量的多少。 2.2. 搜集城市生活垃圾产量数据
随机选定重庆市作为研究对象,在中国国家统计局网站上查到其2001~2006年人口数量、国内生产总值等各影响因素及垃圾产量的统计数据如表格 2.2-1:
表格 2.2-1
生产总城市居民人
年份
值/亿元 均收入/元 2001 2002 2003 2004 2005 2006
1765.68 1990.01 2272.82 2692.81 3070.49 3452.14
6572.3 7238.07 8093.67 9220.96 10243.99 11569.74
人均消费水平/元 1078.06 1228.89 1415.31 3596 4782 5417 人均住城市燃垃圾产
人口数
房面积/气普及量/万
量/万人
平方米 率/% 吨
3097.91 22.5 32.2 164.6 3113.83 23.9 46.6 211.7 3130.1 25.72 59.5 215.3 3144.23 28.25 63.52 237.2 3169.16 30.68 68.84 237.6 3198.87 31.36 75.84 243.9
2.3. 整体分析得城市生活垃圾产量中短期预测模
首先画出各个影响因素与年份之间的散点图,确定为线性关系,建立一元线
性回归模型,求解方程参数;再确定垃圾产量与各影响因素的近似拟合曲线,利用最小二乘原理得出精确的拟合方程;综上,将两次求得关系通过方程联立,即得最终预测模型。
2.4. 构建垃圾收运路线的模型
对题目所给的数据进行预处理,画出车库、中转站、垃圾收集点分布图,以不超过每辆车的最大装载量为依据将垃圾收集点分组,接着,利用图论法画出每组的最小生成树,将树叶融入树中,形成最优路线。根据最优路线算出从车库出发到收集完垃圾回车库所用的总时间,进一步确定合理安排车辆收运垃圾的方案。
3. 模型的假设
1. 假设影响垃圾产量的只有内在因素(如人口数量、居民生活水平等),不包
括社会因素(如社会行为准则、社会道德规范)和个体因素(人类本身个体的行为习惯、受教育程度)[4];
2. 假设垃圾产量只包括被清运的垃圾,散落的垃圾不予统计。查询垃圾产量统
计数据时即默认为生活垃圾清运量;
4. 符号说明
x 年份-2000 城市居民人均收入 人口数量 城市燃气普及率 y1 y3 y5 生产总值 人均消费水平 人均住房面积 垃圾产量 y2 y4 y6 Y
5. 模型的建立
5.1. 模型一:城市生活垃圾产量中短期预测模型 5.1.1. 建立城市生活垃圾产量的各影响因素与年份的关系
(1)初步判断年份与城市生活垃圾产量的影响因素 先根据年份x与影响因素y的试验值画出散点图,根据散点图确定须配曲线的类型。此处以生产总值为例,画出散点图,如图 5.1-1:
图 5.1-1
由图中散点知,数据点大致落在一条直线附近,故确定为一次函数曲线(其他几个因素均如此),建立一元线性回归模型:
y01x 2E0,D其中固定的未知参数0、1称为回归系数,自变量x也称为回归变量。 将Y01x,称为y对x的回归直线方程
(2)用n对试验值(xi,yi),i1,2,...,n对0、1和作最小二乘估计
yi0x1i,i1,2,...,n设 2Ei0,Di 且12,...,n相互独立记 QQ(0,1)yi01xi
2i2i1i1nnˆyˆx01ˆ解得 或 1xyxyˆ1x2x2xi1nnixyiyixi1x
21n1n1n21n2其中 xxi,yyi,xxi,xyxiyi
ni1ni1ni1ni1ˆˆxyˆ(xx) ˆ得回归方程 y011(3)检验回归方程Y01x的显著性
归结为对假设H0:10;H1:10 进行检验。假设H0:10被拒绝,则回归显著,认为y与x存在线性关系,所求的线性回归方程有意义;否则回归不显著,y与x的关系不能用一元线性回归模型来描述,所得的回归方程也无意义。 F检验法:当H0成立时,Fn2U~F1,n2
Qe/(n2)ˆiy(回归平方和)其中 Uy,当FF1(1,n2)时,拒绝H0,否则就
i1接受H0。
(4)判断回归系数0,1的置信区间
0和1置信水平为1-α的置信区间分别为:
221x1xˆt(n2)ˆt(n2)ˆeˆe, 0011nLnLxxxx22ˆˆˆˆ和 1t(n2)e/Lxx,1t(n2)e/Lxx 11225.1.2. 确定垃圾产量与其各影响因素的关系
(1)确定拟合函数
观测影响因素与垃圾产量的一系列数据集,考虑借助曲线拟合用一个相对简单的解析曲线去逼近所得到的数据集,但拟合的曲线往往不能完全符合给出的数据,因此需要对拟合的性能给出一个量度,这里使用最小二乘原理(极小化偏差的平方和)作为衡量曲线拟合优劣的准则,它不要求得到的曲线过所有的点(可消除误差的影响),只要求在给定点上的误差的平方和最小;并且能够尽可能表现数据的趋势,靠近原来的数据点。
这里选择形如Ysxa0y0xa1y1xa2y2x…anynx的式子作为拟合的曲线
式中y0x,y1x,…,ynxCa,b是线性无关的函数族 (2)根据最小二乘原理先求法方程系数
假定在a,b上给出一组数据
mx,Y,10,1,…,m,
iiaxib以及对应的一组权i0,这里i0为权系数,要求
sxspany0,y1,…,yn使Ia0,a1,…,an最小,其中
I(a0,a1,...,an)i[si(x)Yi]2
i0mIa0,a1,…,an实际上是关于a1,a2,…,an的多元函数,求I的最小值就是求多元函数I的极值,由极值必要条件,可得
mI2i[a0y0(xi)a1y1(xi)...anyn(xi)Yi]yk(xi)0,1,...,n aki0根据内积定义引入相应带权内积记号
m(yj,yk)iyj(xi)yk(xi)i0 m(Y,y)Yy(x)kiikii0则可改写为
y0,yka0y1,yka1yn,ykan这是关于参数
y,Yk,k0,1,,n
的线性方程组,用矩阵表示为
(y0,y0)(y0,y1)(y0,yn)a0(Y,y0)(y,y)(y,y)(y,y)a(Y,y)111n11 10 (y,y)(y,y)(y,y)a(Y,y)n1nnnnn0上式称为法方程。当
yx,j0,1,…,nj线性无关,且在点集
Xx0,x1,…,xmmn上至多只有n个不同零点,则称、y0,y1,……,yn在X上满足Haar条件,此时法方程的解存在唯一,其解为
*akak,k0,1,…,n
从而得到最小二乘拟合曲线
Ys*(x)a0*y0(x)a1*y1(x)...an*yn(x)
5.2. 模型二:垃圾收运路线规划模型
根据垃圾车最大装载量和数据分布将所给数据分成若干个区域,每个区域均
有若干个点,通过图论生成最小生成树,找到连接所有垃圾收集点的最小路径。 通过Prim算法[5]求所分区域的最小生成树,方法如下:
(1)建立以两点间距离为权值的权邻接矩阵[a(i,j)]nn,其中一两点间的Manhattan距离为权值,计算公式如下:
distance(x,y)x1y1x2y2 (x(x1,x2),y(y1,y2))
(2)建立初始候选边表B,T;
(3)从候选边中选出最短边(i,j),TT(i,j);
(4)调整候选边集B; (5)重复(2)、(3)直到T中含有n1条边。
通过上述算法得到的线路即为连接各点的最小生成树,其特点是边权和最小。但是,垃圾的收运不是简单的连接问题,而最小生成树形成的路线需要在树杈路线上回返,这样就会增加行程,故在最小生成树的基础上比较树杈与其相邻的权边,以边权增加最小为原则进行边替换,将树叶融入主干,这样便可以得到能将所分区域的所有垃圾收集点串联起来的一条“链”,且其权和最小,该“链”即为最佳的行车路线。
6. 模型的求解
6.1. 确定年份与城市生活垃圾产量各影响因素的关系式 6.1.1. 求解影响因素与年份的一元回归模型
以生产总值因素为例,假设变量x与y满足如下关系:yax b,运用MATLAB中一元线性回归程序处理数据分析得:a 345.5,b 1331.3,方程为y1345.5x 1331.3
由拟合结果知:a的置信区间为[297.7,393.4],b的置信区间为[1144.9,1517.7]。相关系数r2为0.9901,F的值为401.6431,与F 对应的概率p为0.0000。
由于相关系数r2越接近1,说明回归方程越显著;F越大,说明回归方程越显著;与F对应的概率p小于显著性水平(缺省时为0.05)时,回归模型成立。故回归方程及参数拟合准确。
根据上述步骤对其他指因素回归方程、相关系数r2、F的值以及F对应的概率p,如表格 6.1-1:
表格 6.1-1
指标 城市居民人均收入(元) 人均消费水平(元) 人口数量(万人) 指标 回归方程 y21003.6x5309.9 y3986.7x533.93 y419.6x3073.9 相关系数r2 0.9888 0.9123 0.9776 相关系F值 353.9929 41.6088 174.5917 F值 F对应的概率p 0.0000 0.0030 0.0002 F对应的回归方程
数r2 人均住房面积(平方米) 城市燃气普及率(%) y5 1.9191x 20.3513 概率p 228.0623 67.1404 0.0001 0.0012 0.9828 0.9438 8.2554x28.856, x9 y6 1 x9由表格中数据可以看出:每组数据模拟出方程的r2数值都接近于1,p的值也远小于0.05,故可认为模型假设正确
6.1.2. 求解垃圾产量与影响因素的多元回归模型
对于各个指标与垃圾清运量的关系我们借助调用MATLAB优化工具箱中最小二乘曲线拟合函数lsqlin(源程序见附录1)求解得:
Y38.2626y118.3874y28.0855y35.7036y42.9462y54.5376y6
综合上述两个模型,在已知年份的条件下,可以通过求解各个影响因素的值,预测出垃圾的产量。此模型即为垃圾产量预测模型。 6.2. 求解垃圾收运路线的规划模型 6.2.1. 数据预处理
分析题中已知数据发现有垃圾站点重复现象,我们将重复点的垃圾量相加,得到该点垃圾总量,并以车库为原点进行数据平移,画出中转站、垃圾收集点的相对位置,如图 6.2-1:
图 6.2-1
6.2.2. 确定垃圾收集分组区域
根据车库、中转站、垃圾收集点的相对位置图,从最左边的收集点开始,以不超过每辆垃圾车的最大装载量为依据,对收集点进行分组,得到12个垃圾收集分组区域。 6.2.3. 画最小生成树图
针对区域一的数据,利用图论法编程(源程序见附录2),得到最小生成树如图 6.2-2:
图 6.2-2
6.2.4. 画最短路径图,得最优路线
由上图可看出,如果按照上述路线进行收运垃圾,存在同一路线的往返问题,无疑增加了垃圾车的行程,使垃圾收运时间变长,故在此图的基础之上,根据权值比较对树杈进行修改,将其融入树干连成一条链,即得到此区域内经过所有点的最短路径(源程序见附录3),路线图如图 6.2-3:
图 6.2-3
在垃圾收运时,垃圾车从车库出发到达相对于中转站而言的最远点,沿上图路线收运垃圾,将垃圾送到中转站后再回到车库,此即为最优路线。 按照以上方法画出其他十一个区域的垃圾收运最优路线。(最小生成树图与最短路径图见附录4) 6.2.5. 提出车辆最佳分配方案
在得到12个区域的最短路径图后,依次对各个垃圾收集点之间的距离求和,将该值与车库到最远收集点的距离,以及中转站到最近收集点的距离相加,得行车里程。此时,行车里程与垃圾车的行车速度的比值,即为行驶时间。接着,我们将行驶时间、装车时间、卸车时间相加,得到在每个区域收集垃圾的总时间(h),如表格 6.2-1:
表格 6.2-1
行车里程 289196 275794 269512 268638 209118 199050 197228 204222 213524 232556 219346 219300 行驶时间(h) 装车时间(h) 卸车时间(h) 总时间(h) 1.3693 0.23611 0.5 2.1054 1.3058 0.22917 0.5 2.035 1.2761 0.17361 0.5 1.9497 1.272 0.19444 0.5 1.9664 0.99014 0.27778 0.5 1.7679 0.94247 0.20833 0.5 1.6508 0.93384 0.26389 0.5 1.6977 0.96696 0.20139 0.5 1.6683 1.011 0.22917 0.5 1.7402 1.1011 0.25 0.5 1.8511 1.0386 0.28472 0.5 1.8233 1.0384 0.16667 0.5 1.705
由上表总时间可以看出,只有区域一、二的时间略微超过两小时,可近似按两小时计算,其余十个区域均小于两小时。根据国家规定,每个工作日的工作时间为八小时,故每辆车每天可以收集四个区域的垃圾,所以车库每天至少需要3辆垃圾收运车,最佳的车辆分配方案为3辆车每天前往4个区域收运垃圾。
7. 模型的检验
以生产总值为例,检验城市生活垃圾产量影响因素与年份的一元回归模型。做残差图,如下:
从残差图可以看出,除第1个数据外,其余数据的残差离零点均较近,且残差的置信区间均包含零点,这说明回归模型y345.5x 1331.3能较好的符合原始数据,而第1个数据可视为异常点。
同上对其他影响因素作残差分析,结果如下: 城市居民人均人均消费水人口数量人均住房面城市燃气普指标 收入(元) 平(元) (万人) 积(平方米) 及率(%) 残插图第6个数第3个数据有无异无异常点 据为异常无异常点 无异常点 为异常点 常点 点 其中正常数据点的残差均离零点较近,置信区间包含零点,故回归模型能较好的反应原始数据,准确性较高。
8. 模型的评价
通过建立模型一,我们便可以在已知年份的条件下,借助各个影响因素的值,预测出垃圾的产量,便于相关垃圾管理的部门做出管理规划综合整治、处理垃圾,利于城市市容景观和居民生活环境的改善。此种预测方法考虑了实际中的各个影响因素,故具有准确性和较高的实用性。
通过模型二求得的最优收运路线,不但考虑到垃圾车的最大装载量、日负载总量和最多日收集点数,而且还能使垃圾的收运时间最短,另外该模型可以提出合理的车辆分配方案,提高了资源利用率。因此,本模型具有较好的实用性和可靠性。
9. 参考文献
[1]刘守芳,刘沙等.城市垃圾产量预测研究.云南环境科学.2006,25(1):28-30
[2] 廖智强等.基于指数趋势模型在城市垃圾产量预测中的应用.环境保护科学.2006,32(4),27-29
[3]王欢,王伟.城市生活垃圾产生量及组分的预测方法研究.环境卫生工程.2006,14(4):6-8
[4] 向盛斌.城市居民生活垃圾影响因素分析及产量预测.环境卫生工程.1998,6(1):7-12
[5]傅鹂、何中市等.数学实验.北京:科学出版社.2000.215-218
10. 附录
附录1 clear clc
b=load('shuju.txt'); A=zscore(b); Y=[A(:,8)]; x1=[A(:,2)]; x2=[A(:,3)]; x3=[A(:,4)]; x4=[A(:,5)]; x5=[A(:,6)]; x6=[A(:,7)];
X=[x1 x2 x3 x4 x5 x6];
[x,resnorm,residual,exitflag,output,lambda]=lsqlin(X,Y) 附录2 clear clc
B=[-39337,-38419,-38154,-38112,-37730,-37730,-37475,-37308,-37167,-36280,-35594,-35587,-35567,-35067,-34803,-34519,-34388,-34383,-34326,-34049,-33872,-33697;
19154,18370,19940,15957,23121,23121,23760,17139,23875,12596,16592,10230,19910,23446,19963,22756,14327,23362,20343,18801,19928,23018]'
a=mandist(B,B');
T=[];c=0;v=1;n=length(B(:,1));sb=2:n; for j=2:n
b(1,j-1)=1; b(2,j-1)=j; b(3,j-1)=a(1,j); end
while size(T,2) for i=1:length(x),text(A(1,i),A(2,i)+800,sprintf('%g',i)),end for j=1:size(T,2) k1=T(1:2,j); k=k1'; hold on plot(x(k),y(k)) end 附录3 clear clc A=[-39337,-38419,-38154,-38112,-37730,-37730,-37475,-37308,-37167,-36280,-35594,-35587,-35567,-35067,-34803,-34519,-34388,-34383,-34326,-34049,-33872,-33697;19154,18370,19940,15957,23121,23121,23760,17139,23875,12596,16592,10230,19910,23446,19963,22756,14327,23362,20343,18801,19928,23018]; x=A(1,:); y=A(2,:); plot(x,y,'.') for i=1:length(x),text(A(1,i),A(2,i)+200,sprintf('%g',i)),end k=[6 7 9 14 16 18 22 21 20 19 13 3 1 2 4 8 11 17 10 12]; hold on plot(x(k),y(k)) 附录4 区域二 区域四 区域六 区域三 区域五 区域七 区域八 区域十 区域十二 区域九 区域十一 因篇幅问题不能全部显示,请点此查看更多更全内容