收藏 分享(赏)

城市生活垃圾年产量及垃圾收运问题的研究.doc

上传人:精品资料 文档编号:11233305 上传时间:2020-02-21 格式:DOC 页数:24 大小:432KB
下载 相关 举报
城市生活垃圾年产量及垃圾收运问题的研究.doc_第1页
第1页 / 共24页
城市生活垃圾年产量及垃圾收运问题的研究.doc_第2页
第2页 / 共24页
城市生活垃圾年产量及垃圾收运问题的研究.doc_第3页
第3页 / 共24页
城市生活垃圾年产量及垃圾收运问题的研究.doc_第4页
第4页 / 共24页
城市生活垃圾年产量及垃圾收运问题的研究.doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

1、B 题组员高菊红陈虹锦郭东海城市生活垃圾年产量及垃圾收运问题的研究摘要随着经济的快速发展和人民生活水平的普遍提高,生活和生产过程中产生的日益增多的生活垃圾,已成为困扰城市发展、污染环境、影响市容、影响市民生活的社会问题。生活垃圾的收集、运输和处理问题越来越受到关注,而收运工作的科学性和经济性的关键是合理的安排收集和运输路线。第一问,本文选取上海市作为研究对象,通过对上海市生活垃圾产量的分析。选用 19902005 年的数据建立灰色预测 模型,并利用残差百分比1,GM进行精度检验。运用 MATLAB 编写程序,得到: 0 0.5190.51918426()ttXte 通过精度检验,发现各年的残差

2、百分比相差较大,仅在原点附近精确度较好,因此该模型的预测稳定性不高。因此本文选取总人口、地区生产总值、人均消费性支出和可支配收入作为主要影响因素,将生活垃圾产量看作因变量,建立多元回归分析模型: 1234210.387.420.5.04.250yxx并进行 F 检验,概率 ,显著性较高。利用该模型预测各年垃圾产量的数5P值与真实值更为接近,历史数据拟合度较好,稳定性优于灰色预测模型。最后预测出 2008 到 2012 年的垃圾产量,如下:年份 2008 2009 2010 2011 2012垃圾产量(万吨) 763.0 762.4 804.7 848.9 895.1第二问,针对城市生活垃圾收集

3、路径优化问题,以路径最短作为目标函数建立线性规划模型: 10minnkijcijczdA将所有垃圾收集点分为左、中、右三个区域,根据各区域的垃圾量安排相应的车辆数,分别为 3、5、3 辆,共 11 条路线。然后依据单亲遗传算法的基本思想得出了每条路线的最优路径和最短距离,并应用 MATLAB 数学软件进行编程运算,得到全程的距离为 2326800 英尺。关键词:灰色预测、多元线性回归分析、线性规划、单亲遗传算法1 问题重述城市是以人口为主体的有机体,城市的发展是衡量一个国家现代化程度的指标 【1】 。目前世界各国的城市数量和垃圾产量都处于不断增长之中 【2】 。中国自改革开放以来,城市数目和人

4、口有了很大增长,人民生活水平也有了很大提高,因此作为城市公害的生活垃圾产量也有了很大增长 。据统计中国现有670座大城市,城市生活垃圾年产量以7%9%的速度增长,中国近2 /3的城市陷入垃圾包围之中 【3】 。城市生活垃圾侵占了大量土地,影响城市景观,对土地资源造成破坏;垃圾处理过程中产生大量污染物污染水体和大气,威胁人们健康,成为严重的社会问题垃圾问题如此严重,城市生活垃圾的处理又是环境保护与治理的重中之重,因此,垃圾的处理与清运更应该被重视。城市生活垃圾的收集与清运是一项大工程,因此进行处理之前应该对生活垃圾产量进行科学的预测。本文中利用数学方法建立以下问题的数学模型,并求解模型,对模型的

5、结果做出合理分析和解释。1. 查阅相关文献,搜集垃圾产量数据,在此基础上建立城市生活垃圾产量中短期预测模型,并且分析模型的准确性和实用性。2. 在收运过程已知下述(1)(2)(3)(4)等条件下,如何安排垃圾收运车的收运路线,使在垃圾收运车的行车里程尽可能的少,或者垃圾收运时间尽可能短?(1)车库和收集点、收集点与中转站、中转站与车库的距离;(2)各收集点每天的垃圾产量;(3)每辆垃圾收运车的最大载荷;(4)垃圾收集点、车库、中转站的工作区间a,b。请给出规划以上垃圾收运路线的数学模型,并设计出有效的算法,针对附录中给出的数据,求解模型。并且对模型的适用性、算法的稳定性和鲁棒性做出分析。2 问

6、题分析与基本假设2.1 问题分析2.1.1 背景分析随着我国城市经济发展和人口的增加,城市生活垃圾产生量在迅速增加。尤其是近 20 年间,我国城市数量及城市居住人口显著增加,城市规模和范围不断扩大,促使城市垃圾产量不断增长。近年来,城市垃圾的年增长速度达到5%-9%,其中尤以上海市最为突出。上海是我国最大的工业城市,随着经济的快速增长,城市居民生活水平有了较大的提高,城市生活垃圾的产生量也在同步增长,连年居全国各城市之首。 【4】 因此本文选取上海市作为研究对象。2.1.2 生活垃圾年产量预测问题分析第一步,根据附表所给的数据,以年份为横坐标,上海市生活垃圾年产量为纵坐标,利用 MATLAB

7、作图进行二维作图,所得图形如 图 2.1-1 所示:1990 1992 1994 1996 1998 2000 2002 2004 2006 2008250300350400450500550600650700万万万万万万万万万万图 2.1-1 上海市生活垃圾年产量变化曲线从 图 2.1-1 可以看出城市垃圾年产量具有以下特征:单调递增,并且非负,变化率不均匀,符合灰色理论的建模条件 【5】 。因此本文采用灰色系统 模型(1,)GM进行预测未来几年垃圾总产量。第二步,考虑到城市生活垃圾产量的变化受到多种因素的制约或影响。其影响因素包括地理位置、人口、经济发展水平(生产总值) 、居民收入以及消费

8、水平、居民家庭能源结构等等。一般情况下,这些影响因素难以分清主次,需进行多因素分析。而多元回归是两个或两个以上的自变量与一个因变量的变动分析。本文选取总人口、地区生产总值、人均消费性支出和可支配收入作为影响因素,将生活垃圾产量看作因变量,进行多元回归分析 【6】 。2.1.3 垃圾收集与运输问题分析已有学者研究表明城市生活垃圾收运系统是一种物流系统 【7】 。垃圾收运过程是垃圾从分散到集中的过程,是一个产生源高度分散、处置相对集中、产生量随季节变化的“倒物流”系统。垃圾收集车辆的路径选择是收集车辆从出发点出发,在满足垃圾量和车辆容量的限制条件下,完成对每个收集点的垃圾收集工作后运往垃圾中转站的

9、过程。遗传算法为其提供了工具,其中的单亲遗传算法对于解决该问题更加具有优势 【8】 。本文基于城市垃圾收集路径优化问题的特殊性,采用改进的单亲遗传算法进行求解,用 MATLAB 软件编程计算。2.2 基本假设假设一:城市生活垃圾年产量与城市生活垃圾年清运量相等。假设二:城市生活垃圾产量仅受城市总人口、地区生产总值、人均年消费性支出和城市人均可支配收入的影响。假设三:预测数据允许有 5%的相对误差。假设四:假设每次垃圾车到达垃圾收集点时,该收集点的垃圾产量处于最大值。假设五:每个收集点的任务只能由一台车完成,且该车一次性运走该收集点的全部垃圾。假设六:3 符号定义与说明符号 说明(0)X垃圾产量

10、原始数据1垃圾产量累加数据0垃圾产量预测数据(灰色预测模型)发展灰度内生控制灰度(0)g残差y垃圾产量预测模型(多元线性回归模型)1x上海市人口总数2上海地区生产总值3上海市人均年消费支出4x上海市人均可支配收入c收集车的序号k收集车辆数il第 个收集点的垃圾量iQ收集车的最大运载量ijd点到 点的距离ijijcA车 是否由 使向cijiB第 点的货是否由车 来完成ic4 模型建立4.1 灰色预测(GM (1,1) )模型第一步:对原始数据作一次 AGO ( accumulated generating operation)累加生成,目的在于为建模提供中间信息,使原始时间序列的随机性弱化。设时

11、间序列有 n 个观察值:0X00001,2,XXn通过 AGO 累加生成新序列:,1 1,其中, 10,2ittin则 GM (1, 1)模型相应的微分方程为: 11dXt第二步:构造累加数据矩阵 B 和常数向量 :nY, 11112232Xn 0012nX第三步:用最小二乘法求得发展灰数 和内生控制灰数 :1TnBY第四步:将灰数代入时间微分方程 ,解微分方程求得时间函数:1dXt10,01,2tXten第五步:递减还原: 011tXtt第六步:精度检验,利用残差检验,求出残差百分比。若精度达到要求,则可利用所建模型进行预测。若精度达不到要求,则仍需建立残差修正模型以提高精度,然后利用修改后

12、的模型进行预测。建立残差模型,原始数列采用残差: 101gttXt残差模型与 合并,即为修正后的模型:01Xt 1 0 0 11t tXtetige 4.2 多元回归分析模型以上海市生活垃圾年产量作为预测目标,选取上海市总人口、地区生产总值(GDP) 、城市人均年消费性支出、城市人均可支配收入为城市生活垃圾清运量的主要影响因子,建立多元线性回归模型: 1234yabxxb利用 MATLAB 软件进行多元线性回归分析,求出各影响因素的参数,得到多元线性回归方程,并进行 F 检验,做出残差图,检验显著性。最后预测出近期几年的生活垃圾年产量。4.3 线性规划模型安排垃圾收运车的收运路线问题,使总运输

13、距离最小作为目标函数,根据题中和基本假设所给的约束条件,建立如下线性规划模型:* MERGEFORMAT (1)10minnkijcijczdA目 标 函 数 : 010,223,12,1,24. 0, 51,6,127ickcnijjcijcijiclBQniAnckSTBjckin 或 或上述模型中, 代表收集车的序号,共有 辆车。这些车从出发点(车库)k即 0 点出发把 1 至 n 个收集点的垃圾收集后运输至 n+1 地(中转站) 。每个收集点的垃圾的量是 ,每台车的运量是 。 表示从 点到 点的距离, 表示车ilQijdijijcA是否由 使向 ,如果是则为 1,否则为 0。 表示第

14、点的货是否由车 来完cij icB成,是则为 1,不是为 0。式(1):目标函数,总运输距离最小;式(2):车 装运的所有地点的垃圾不能超过他的载重 ;Q式(3):上半部分表示每个地点的任务只能由一台车完成,下半部分表示所有的车都从出发点行驶到终到点;式(4):到达每个收集点的车有且仅有一台;式(5):离开每个收集点的车有且仅有一台;式(6): 为 01 变量;ijcA式(7): 为 01 变量。iB然后运用单亲遗传算法,利用 MATLAB 软件进行求解。5 模型求解5.1 生活垃圾年产量的预测5.1.1 灰色预测模型的求解利用上海市 19902005 年的生活垃圾年产量的数据(参见附表一)作

15、为建立模型的基础,用 2006、2007 年的数据来检验模型预测能力的好坏,利用MATLAB 进行灰色预测(程序见附录一),通过逐步计算可得到上海市生活垃圾年产生量的时间响应函数: 10.51984264.tXte进行递减还原,得到 GM (1, 1)预测模型: 0 0.5190.519()ttt 预测出 19912008 年的生活垃圾年产量,用模型计算出的预测值与实际的比较值 表 1 所示。年份 实际年产量 预测值 残差 0g残差百分比%1990 278.6 278.61991 295.6 308.6 13.0 4.41992 300.4 325.5 25.1 8.41993 335.1 3

16、43.3 8.2 2.41994 333.7 362.1 28.4 8.51995 372.1 381.9 9.8 2.61996 418.3 402.7 -15.6 -3.71997 453.8 424.8 -29.0 -6.41998 470.1 448.0 -22.1 -4.71999 499.8 472.5 -27.3 -5.52000 506.2 498.3 -7.9 -1.62001 531.9 525.6 -6.3 -1.22002 551.4 554.3 2.9 0.52003 585.3 584.6 -0.7 -0.12004 609.7 616.6 6.9 1.12005

17、622.3 650.3 28.0 4.52006 658.3 685.9 27.6 4.22007 690.7 723.4 32.7 4.7表 1 生活垃圾产量预测数据及残差由上表可见,最近五年的残差百分比较小,在 5%以内,且由 2006、2007 年的预测数据来看,较实际数据偏大,但误差在允许范围内,因此得到的预测模型不需要做修正。5.1.2 多元线性回归分析模型的求解以 19952005 年的数据作为建立模型的基础(2006、2007 年的数据留作模型分析) ,其中上海市人口、上海市生产总值(GDP) 、城市人均消费性支出、居民家庭人均可支配收入为城市生活垃圾清运量的主要影响因子,利用

18、MATLAB 软件进行多元线性回归分析(程序见附录二) ,得到多元线性回归方程:1234210.387.420.5.04.250yxx相关系数: F 值: 概率:.9r .1.9P,可知该回归模型成立。残差图如 图 5.1-1 所示:0.5P1 2 3 4 5 6 7 8 9 10 11-80-60-40-200204060Residual Case Order PlotResidualsCase Number图 5.1-1 残差图从残差图可以看出,除第一个数据外,其余数据的残差离零点均较近,且残差的置信区间均包含零点,这说明回归模型 y=-16.073+0.7194x 能较好的符合原始数据,

19、而第一个数据可视为异常点. 利用该多元线性回归模型,预测 1995-2007 年的生活垃圾总产量,与实际数据比较。年份 生活垃圾年产量实际值(万吨)生活垃圾年产量预测值(万吨)残差 残差百分比(%)1995 372.1 412.2 40.1 10.81996 418.3 431.0 12.7 3.01997 453.8 436.5 -17.3 -3.81998 470.1 443.3 -26.8 -5.71999 499.8 490.0 -9.8 -2.02000 506.2 512.8 6.6 1.32001 531.9 532.8 0.9 0.22002 551.4 537.8 -13.6

20、 -2.52003 585.3 572.8 -12.5 -2.12004 609.7 605.7 -4.0 -0.72005 622.3 645.8 23.5 3.82006 658.3 687.6 29.3 4.52007 690.7 724.3 43.3 4.9由上表可见,该模型所作的预测数据与实际数值更为接近,且残差百分都比较小(第一个数据视为异常点) ,预测的稳定性优于灰色预测系统所作出的结果。由 2006、2007 年的预测数据来看,较实际数据也偏大,但误差在允许范围内。利用该模型预测 20082012 年五年的生活垃圾年产量,得到如下结果:年份 2008 2009 2010 201

21、1 2012垃圾产量(万吨) 763.0 762.4 804.7 848.9 895.15.2 垃圾运输问题的求解将题中所给的垃圾收集点、车库及垃圾中转站的坐标标在图中,如 图 5.2-1 所示:图 5.2-1由上图可见,垃圾收集点可以分为左、中、右三个区,如图中虚线框所示,又由于左、中、右三个区域垃圾量分别为 536、997.5、599(yard) 。所以安排车辆分别为 3、5、3 辆。每辆车有共同的起点、终点和中转站,但走不同的路线,那么左区域有 3 条路线,中区域有 5 条路线,右区域有 3 条路线,各路线所经过的垃圾收集点见附表二。在求解时,由于数据复杂,本文采用单亲遗传算法。垃圾收集

22、路线优化问题的单亲遗传算法步骤如下 【9】 :5.2.1 构造染色体,产生初始种群采用序号编码方式,解向量可编成一条长度为 k+1+n+1 的染色体,例如。在整条染色体中,自然数 1,2,3n 代表 n 个收集0,12n+,3405,n+1点,出发点为 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 连续的现象。5.2.2 确定适应度函

23、数将目标函数(1)和约束(2)结合作为测量染色体的成本函数,如下: 10 1minmax,0nkknijcicijcizdAMlBQM 为一很大的正数,表示当一辆收集车的收集量超过其最大承载量时的惩罚系数。将 作为染色体的适应度函数。1/fz5.2.3 基因重组操作计算初始群体的个体的适应值保留最优个体,然后对剩余的 n-1 个个体采用基因换位、基因移位操作进行进化,比较每个个体的第 n 次与 n+1 次的适应度值,若 进行基因换位,若 则进行基因移位操作。1nz1nz5.2.4 基因换位可采用多对基因换位或单对基因换位。单对基因换位为随机选取两个正整数 ,交换染色体 中一对基因 , 的位置。

24、多对,(1,)ijn12(,)nAc icj基因换位即选取多个随机数进行换位。注意染色体第一位和最后一位不参与交换,也不能把 0,n+1 互换,当 与 0 或者 n+1 交换位置后,若出现 0,0 或者i0,n+1 或 n+1,n+1 像这样连续的情况,应该重新进行换位,最后再把染色体的0 和 n+1 按 0,n+1,0,n+1 的顺序重新排列。5.2.5 基因移位单个基因段移位操作是随机取两个正整数 ,在染色体,(1,)ijn中取一个基因段 以一定的概率 ,依次向后12(,)nAc 1(,)iAc p移动基因段 中的各个基因,并把最右边的基因移到最左边的位置。若出现10,0 或者 0,n+1

25、 或 n+1,n+1 像这样连续的情况,应该重新进行基因移位,最后再把染色体的 0 和 n+1 按 0,n+1,0,n+1 的顺序重新排列。5.2.6 运算终止根据初始设定的代数 t,判断是否满足终止条件,若不满足则返回到步骤5.2.3。否则,满足终止条件,终止运算,并输出当前的最优解及对应的目标函数值。根据上述步骤,对 图 5.2-1 所示的三个区域 11 条路线分别求解出结果,以中区域为例:中区域第一辆车的最短路径为 169550 英尺,经过第1、13、24、15、17、26、20、21、9、6、25、22、19、7、4、18、2、11、23、27、14、3、12、16、8、10、28、5

26、、1 点。-4.85 -4.845 -4.84 -4.835 -4.83 -4.825 -4.82 -4.815x 1064.134.144.154.164.174.184.194.24.21x 106中区域第二辆车的最短路径为 254890 英尺,经过第1、25、23、22、24、16、2818、20、26、11、5、6、7、10、8、15、9、12、13、2、3、4、14、27、21 、17、19、1 点。-4.865 -4.86 -4.855 -4.85 -4.845 -4.84 -4.835 -4.83 -4.825 -4.82 -4.815x 1064.134.144.154.164

27、.174.184.194.24.214.22x 106中区域第三辆车的最短路径为 192340 英尺,经过第1、24、11、27、17、4、16、26、14、3、6、22、18、23、7、15、28、19、25、10、13、21、2、9、8、20、5、12、1 点。-4.855 -4.85 -4.845 -4.84 -4.835 -4.83 -4.825 -4.82 -4.815x 1064.134.144.154.164.174.184.194.2x 106中区域第四辆车的最短路径为 182030 英尺,经过第1、27、3、17、19、20、18、10、28、22、21、15、6、8、11、

28、12、16、13、25、23、24、9、7、4、2、14、5、26、1 点。-4.85 -4.845 -4.84 -4.835 -4.83 -4.825 -4.82 -4.815x 1064.134.144.154.164.174.184.194.2x 106中区域第五辆车的最短路径为 187990 英尺,经过第1、27、9、21、7、23、6、18、14、11、8、10、5、17、2、28、26、15、12、3、22、25、16、19、24、4、20、13、1 点。-4.85 -4.845 -4.84 -4.835 -4.83 -4.825 -4.82 -4.815x 1064.134.14

29、4.154.164.174.184.194.24.21x 106左区域第一辆车最短路径为 222630 英尺,依次经过第1、18、17、12、26、23、22、13、19、21、25、24、14、15、20、16、11、10、8、6、2、5、7、4、9、3、1 点。第二辆车最短路径为 244860 英尺,依次经过第1、19、20、18、7、8、5、24、23、6、2、3、14、9、4、13、16、17、15、11、26、12、10、22、25、21、1 点。第三辆车最短路径为 218750 英尺,依次经过第1、17、8、7、20、11、2、14、3、19、18、6、21、23、4、9、22、1

30、6、12、13、15、10、5、1 点。右区域第一辆车最短路径为 198330 英尺,依次经过第1、16、8、3、10、12、6 14、13、15、7、9、4、11、17、2、5、1 点。第二辆车最短路径为 209740 英尺,依次经过第1、6、12、23、13、4、18、22、19、15、10、17、11、28、7、27、9、14、25、16、8、21、2、20、24、26 、5、3、1 点。第三辆车最短路径为 245690 英尺,依次经过第1、10、14、8、12、3、7、6、16、4、17、9、13、11、5、2、18、15 点。 (图例省略)6 模型评价利用灰色理论 G(1, 1)建立

31、的模型,可较好地预测近期城市垃圾的产生量,误差较小,但灰色预测模型对前期历史数据的拟合程度较差,未能把各因素的影响体现出来,预测稳定性不好。而多元回归分析模型可有效的解决上述问题,对前期历史数据的拟合程度高,整体预测稳定性好,但该模型只有在知道各影星因素的数值时,才能对因变量进行预测。对线性规划模型,采用单亲遗传算法求解,可得到较理想的结果。在MATLAB 环境下使用垃圾运输路径优化问题遗传算法程序, 能够利用其强大的矩阵运算能力,并且易与其它工具包结合进行算法仿真实现对其中参数进行优化方面的研究。但在对三个区域进一步分区时,不太精确,与最短路线有微小误差。参考文献:【1】 李艳伟,吴育华.

32、中国城市垃圾处理现状分析及研究J.环境科学动态 2001 7-9.【2】 周翠红,路迈西,吴文伟等. 北京市城市生活垃圾产量预测J.中国矿业大学学报 2003 169-172【3】 程芳,谷峰.中国城市垃圾现状及其产业化前景分J.科技进步与对策 2002 71-72.【4】 王震,齐玉梅,李雅芳.上海市生活垃圾减量化对策 环境卫生工程 第15卷第5期 2007.10 52-53【5】 舒莹.基于灰色预测模型的合肥市城市生活垃圾产量预测 环境科学与管理 第32卷第9期2007.9 5-8【6】 吴丽.我国城市生活垃圾清运量预测及垃圾处理技术发展趋势研究【7】 陶渊,黄兴华,邱江城市生活垃圾物流系

33、统研究J环境卫生工程 2004.12 52-55.【8】 郎茂祥用单亲遗传算法求解配送车辆调度问题的研究J 交通运输系统工程与信息,2006 119-121.【9】 弓晋丽,程志敏.基于MATLAB物流配送路径优化问题遗传算法的实现 物流科技 第29卷总第131期 103-105附录:附表:上海市生活垃圾年产量及其各影响因素相关数据附录一:灰色预测模型 MATLAB 软件实现程序附录二:多元线性回归模型 MATLAB 软件实现程序附录三:单亲遗传算法优化垃圾收集路线 MATLAB 软件实现程序附表:上海市生活垃圾年产量及其各影响因素相关数据年份 生活垃圾年产量(万吨)总人口(万人) 地区生产总

34、值(亿元)人均年消费性支出(元)城市人均可支配收入(元)1990 278.61991 295.61992 300.41993 335.11994 333.71995 372.1 1415 2462.6 5868.1 7191.81996 418.3 1419 2902.2 6763.1 8178.51997 453.8 1457 3360.2 6819.9 8438.91998 470.1 1464 3688.2 6866.4 8773.11999 499.8 1474 4034.9 8247.7 10931.62000 506.2 1674 4551.2 8868.2 11718.02001

35、 531.9 1614 4950.8 9936.1 12883.42002 551.4 1625 5408.8 10464.0 13249.82003 585.3 1711 6694.2 11040.3 14867.52004 609.7 1742 8072.8 12631.0 16682.82005 622.3 1778 9164.1 13773.4 18645.02006 658.3 1818 10366.4 14761.8 20667.92007 690.7 1858 12188.9 17255.4 23622.7附录一:clearclcn=16;x0=278.6 295.6 300.4

36、 335.1 333.7 372.1 418.3 453.8 470.1 499.8 .506.2 531.9 551.4 585.3 609.7 622.3;x1(1)=x0(1);for i=2:n,x1(i)=x1(i-1)+x0(i);endfor i=1:n-1,z1(i)=(x1(i+1)+x1(i)/(-2);endY=x0(1,2:16);B=z1,ones(15,1);a=(inv(B*B)*(B*Y)for k=0:22,x2(k+1)=(x0(1)-a(2,1)/a(1,1)*exp(-a(1,1)*k)+a(2,1)/a(1,1);endx3(1)=x0(1);for

37、k=1:22,x3(k+1)=x2(k+1)-x2(k);endw=x3(1:16)disp(对未来数据进行预测:)x3(17:23)e=x0-w%残差A=e./x0%残差百分比附录二:learclcA=xlsread(a.xls);x1=A(:,2);x2=A(:,3);x3=A(:,4);x4=A(:,5);y=A(:,1);x=ones(11,1),x1,x2,x3,x4;b,bint,r,rint,stats=regress(y,x)rcoplot(r,rint)附录三:function R,Rlength=GA_TSP(xyCity,dCity,Population,nPopulat

38、ion,pCrossover,percent,pMutation,generation,nR,rr,rangeCity,rR,moffspring,record,pi,Shock,maxShock)clear allA=load(d.txt);xyCity=A(2,:);A(x,y);A(1,:); %x,y 为各地点坐标figure(1)grid onhold onscatter(xyCity(:,1),xyCity(:,2),x)grid onnCity=size(xyCity,1);for i=1:nCity %计算城市间距离,假设距离为欧几里德范数for j=1:nCitydCity(

39、i,j)=(xyCity(i,1)-xyCity(j,1)2+(xyCity(i,2)-xyCity(j,2)2)0.5;endend %计算城市间距离,假设距离为欧几里德范数xyCity; %显示城市坐标dCity %显示城市距离矩阵%初始种群k=input(取点操作结束); %取点时对操作保护disp(-)nPopulation=input(种群个体数量:); %输入种群个体数量if size(nPopulation,1)=0nPopulation=20; %默认值endfor i=1:nPopulationPopulation(i,:)=randperm(nCity-1); %产生随机个

40、体endPopulation %显示初始种群pCrossover=input(交叉概率:); %输入交叉概率percent=input(交叉部分占整体的百分比:); %输入交叉比率pMutation=input(突变概率:); %输入突变概率nRemain=input(最优个体保留最大数量:);pi(1)=input(选择操作最优个体被保护概率:); %输入最优个体被保护概率pi(2)=input(交叉操作最优个体被保护概率:);pi(3)=input(突变操作最优个体被保护概率:);maxShock=input(最大突变概率:);if size(pCrossover,1)=0pCrossov

41、er=0.85;endif size(percent,1)=0percent=0.5;endif size(pMutation,1)=0pMutation=0.05;endShock=0;rr=0;Rlength=0;counter1=0;counter2=0;R=zeros(1,nCity-1);newPopulation,R,Rlength,counter2,rr=select(Population,nPopulation,nCity,dCity,Rlength,R,counter2,pi,nRemain);R0=R;record(1,:)=R;rR(1)=Rlength;Rlength0

42、=Rlength;generation=input(算法终止条件 A.最多迭代次数:); %输入算法终止条件if size(generation,1)=0generation=50;endnR=input(算法终止条件 B.最短路径连续保持不变代数:);if size(nR,1)=0nR=10;endwhile counter1generationelseif counter2nR*2/5Shock=maxShock*1/4-pMutation;elseif counter2nR*3/5Shock=maxShock*2/4-pMutation;elseif counter2nR*4/5Shoc

43、k=maxShock*3/4-pMutation;elseShock=maxShock-pMutation;endcounter1newPopulationoffspring=crossover(newPopulation,nCity,pCrossover,percent,nPopulation,rr,pi,nRemain);offspringmoffspring=Mutation(offspring,nCity,pMutation,nPopulation,rr,pi,nRemain,Shock);newPopulation,R,Rlength,counter2,rr=select(moffs

44、pring,nPopulation,nCity,dCity,Rlength,R,counter2,pi,nRemain);counter1=counter1+1;rR(counter1+1)=Rlength;record(counter1+1,:)=R;endR0;Rlength0;R;Rlength;minR=min(rR);disp(最短路经出现代数:)rr=find(rR=minR)disp(最短路经:)record(rr,:);mR=record(rr(1,1),:)disp(终止条件一:)counter1disp(终止条件二:)counter2disp(最短路经长度:)minRdis

45、p(最初路经长度:)rR(1)figure(2)plotaiwa(xyCity,mR,nCity)figure(3)i=1:counter1+1;plot(i,rR(i)grid onfunction newPopulation,R,Rlength,counter2,rr=select(Population,nPopulation,nCity,dCity,Rlength,R,counter2,pi,nRemain)Distance=zeros(nPopulation,1); %零化路径长度Fitness=zeros(nPopulation,1); %零化适应概率Sum=0; %路径长度for

46、i=1:nPopulation %计算个体路径长度for j=1:nCity-2Distance(i)=Distance(i)+dCity(Population(i,j),Population(i,j+1); end %对路径长度调整,增加起始点到路径首尾点的距离Distance(i)=Distance(i)+dCity(Population(i,1),nCity)+dCity(Population(i,nCity-1),nCity);Sum=Sum+Distance(i); %累计总路径长度end %计算个体路径长度if Rlength=min(Distance)counter2=count

47、er2+1;elsecounter2=0;endRlength=min(Distance); %更新最短路径长度Rlengthrr=find(Distance=Rlength);R=Population(rr(1,1),:); %更新最短路径Rfor i=1:nPopulationFitness(i)=(max(Distance)-Distance(i)+0.001)/(nPopulation*(max(Distance)+0.001)-Sum); %适应概率=个体/总和。 。 。已作调整,大小作了调换endFitness %显示适应概率sFitness=zeros(nPopulation,1); %累积概率sFitness(1)=Fitness(1);for i=2:nPopulationsFitness(i)=sFitness(i-1)+Fitness(i);endsFitness %显示累积概率newPopulation=zeros(nPopulation,nCity-1);

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报