2. 中国科学院大学, 北京 100049;
3. 辽宁省沈阳生态环境监测中心, 沈阳 110167;
4. 辽宁省生态环境监测中心, 沈阳 110165
2. University of Chinese Academy of Sciences, Beijing 100049, China;
3. Shenyang Ecological Environment Monitoring Center of Liaoning Province, Shenyang 110167, China;
4. Liaoning Province Ecological Environment Monitoring Center, Shenyang 110165, China
随着工业的发展, 空气污染已经给人民群众的生活质量和我国经济的快速发展造成了很大的影响. 对于人类的影响包括造成了一系列疾病, 甚至缩短了人类的预期寿命[1, 2]. 对于城市经济发展的影响包括削弱了城市的集聚效应与规模, 减缓了城市的生产活动, 进而抑制了城市化进程[3]. 在空气污染超标事故发生时首要解决的就是如何寻找污染源. 传统的对于空气污染源反演的方法主要是通过对企业的源排放清单进行排查. 但在源清单的获取过程中, 由于监测区域空气污染物的开放性, 使得排放清单的获取难度过大, 数据不够完全. 即便是能够获取到完备的数据, 整个污染源清单的数据量也会过于庞大, 从而导致单纯通过人力排查十分困难且低效. 为了解决源清单排查法具有的低效和盲目性的问题, 国内外学者纷纷开始寻找更优质的方法来应用到污染源的反演工作中.
根据近些年来国内外学者对于污染源反演工作的相关研究, 可以把污染源反演的方法划分为两类: 基于数理概率统计理论的反演方法和基于全局优化搜索的方法. (1)基于数理统计理论的方法是利用概率论的推理来进行污染源问题的描述, 根据推理结果的分布情况来反映污染源的概率统计[4-6]. 郑情文[5]利用伴随概率定位法的计算策略, 以2 km×2 km的理想开放空间为研究区域, 理想化风向和风速, 利用风洞模型实现了污染源的追踪. 这种方法对于高维问题无法快速降维导致求解时间过长. (2)基于全局优化搜索的方法是根据气体扩散的特征、气象等条件, 利用气体扩散模型, 建立目标函数, 采取启发式搜索算法对目标函数进行求解, 从而得到污染源的相关参数[7-11]. 沈泽亚等[7]通过对遗传算法、粒子群算法和单纯形算法的两两耦合, 分别对污染源进行了反演, 最终得到遗传算法和单纯形算法耦合时, 污染源反演的效率最高, 但准确性无法保证, 粒子群与单纯形算法耦合时, 污染源反演的准确性最高, 但效率无法保证; Thomson等[8]采用模拟退火算法, 结合随机搜索算法对污染源进行了反演, 其反演效率较低; Ma等[9]提出了一种将粒子群算法同吉洪诺夫规则耦合的污染源反演方法, 但是目前无法在实际中投入使用.
相比于其他群智能算法, 蚁群算法采用的是正反馈并行机制, 具有鲁棒性强, 对初值依赖性不大等优点, 在最短路径规划问题上得到了很广泛的应用. 本文创新性地将蚁群算法应用到空气污染源反演的领域中来.
虽然蚁群算法相比于其他群智能算法存在着一些优势, 但仍然存在着一些缺陷, 包括初期收敛速度较慢以及容易陷入局部最优值. 本文将针对这两个缺陷进行改进, 从而对空气污染源反演的准确性和高效性进行保证.
1 反演情景对于污染源的参数反演需要确定污染源和监测站之间的污染物扩散关系, 这就需要一种合适的气体扩散模型来将污染物的扩散规律进行量化, 进而建立目标函数, 将空气污染源的反演问题转化为全局最优化问题.
1.1 气体扩散模型为了和先前学者的工作保持一定的延续性, 在污染源的下风向处, 可以利用点源连续扩散的高斯烟羽模型模拟出空气在三维空间中的扩散浓度变化情况[12]. 其表现形式如下:
$ \begin{split} C(x, y, {\textit{z}}) = & \frac{{{Q_0}}}{{2\pi u{\sigma _y}{\sigma _{\textit{z}}}}}\exp \left[ { - \frac{1}{2}{{\left( {\frac{{y - {y_0}}}{{{\sigma _y}}}} \right)}^2}} \right] \\ & \times \left\{ {{\text{exp}}\left[ { - \frac{1}{2}{{\left( {\frac{{{\textit{z}} - {H_0}}}{{{\sigma _{\textit{z}}}}}} \right)}^2}} \right] + \exp \left[ { - \frac{1}{2}{{\left( {\frac{{{\textit{z}} + {H_0}}}{{{\sigma _{\textit{z}}}}}} \right)}^2}} \right]} \right\} \\ \end{split} $ | (1) |
其中,
$ C(x, y, 0) = \frac{{{Q_0}}}{{\pi u{\sigma _y}{\sigma _{\textit{z}}}}}\exp \left\{ { - \frac{1}{2}\left[ {{{\left( {\frac{{y - {y_0}}}{{{\sigma _y}}}} \right)}^2} + {{\left( {\frac{{{H_0}}}{{{\sigma _{\textit{z}}}}}} \right)}^2}} \right]} \right\} $ | (2) |
式(2)即为我们建立污染源反演模型的基础,
$ \left\{ {\begin{split} & {\sigma _y} = {\gamma _1}x{(1 + {\lambda _1}x)^{ - 0.5}} \\ & {\sigma _{\textit{z}}} = {\gamma _2}x{(1 + {\lambda _2}x)^{ - 0.5}} \\ \end{split}} \right. $ | (3) |
其中,
在式(2)的基础上, 假定
$ \min {L_{tar}} = \sum\limits_{i = 1}^N {{{\left( {C_m^i - C_p^i} \right)}^2}} $ | (4) |
根据式(4)可知, 源参数反演的问题可以转化为对目标函数
以沈阳市浑南区部署的若干空气质量监测站的数据为本文的数据基础. 在
为了简化扩散模拟场景, 将整个监测的区域平面抽象成一个矩形平面, 并建立二维平面坐标系, 对每个监测站进行坐标转化, 每个监测站坐标可以以平面坐标
对于上述最优化问题, 本文采用改进后的ACO算法进行迭代求解, 即选取式(4)作为目标函数, 通过迭代求其最小值, 最终得到污染源的参数, 包括源强
传统的ACO算法是是由意大利学者Dorigo等[14]提出的一种人工仿生智能优化算法, 蚂蚁在觅食过程中, 会在经过的路径留下信息素, 信息素浓度高的路径会更大概率被其他蚂蚁选择, 整个种群会根据信息素的交流和传递来进行不断调整下一步的移动方向, 进而找到最佳的觅食路径.
然而传统ACO算法存在着容易陷入局部极值和收敛速度较慢的缺点. 本文设计一种机制用来对基本蚁群算法的正反馈机制进行制衡, 使其能够跳出局部极值. 同时对信息素更新机制进行调整, 使其在迭代初期能够进行更快速地收敛, 最终将其归纳为M-ACO算法.
2.2 引入选择交叉思想避免陷入局部极值传统的蚁群算法容易陷入局部极值是因为其正反馈机制会导致如果当前解不是最优解时, 依旧会吸引其他蚂蚁更大概率选择当前解, 从而逐渐丧失了种群的多样性, 导致算法陷入局部极值. 因此, 本文类比遗传算法中的选择淘汰和交叉操作, 在每次所有蚂蚁当前这代结果求解完成后, 对整个蚁群按照目标函数值从小到大进行排序, 将值最大的1/4个体舍去, 从剩下的3/4个体中随机选择值处于中间位置的1/3个体分为两个部分, 分别从两个部分中随机选择两个个体
$ \left\{ {\begin{split} & P_1^* = (A - B + 1){P_1} + (A - B){P_2} \\ & P_2^* = (A - B){P_1} + (A - B + 1){P_2} \\ \end{split}} \right. $ | (5) |
其中,
传统蚁群算法中, 蚂蚁的信息素越大, 表明该蚂蚁代表的可行解越优质, 在后续的迭代过程中能够吸引劣质蚂蚁向其靠近. 在每次迭代结束后, 每只蚂蚁都会根据解的优劣程度来更新自己的信息素, 信息素更新机制可如下表示:
$ {\tau ^i}(n + 1) = (1 - \rho ){\tau ^i}(n) + \Delta {\tau ^i}(n) $ | (6) |
其中,
$ \Delta {\tau ^i}\left( n \right) = \frac{K}{{L_{tar}^i(n)}} $ | (7) |
其中,
由式(6)可知, 在传统蚁群算法中, 每只蚂蚁的信息素更新虽然会根据其解的优劣程度来区分更新, 但是在解的优劣程度相差不明显的时候, 较优解被发现的概率下降, 劣质蚂蚁无法向优质蚂蚁进行靠拢, 使得收敛速度降低. 为了加快收敛速度, 本文对信息素更新机制进行改进, 在式(7)的基础上, 提出奖惩因子机制
$ \Delta {\tau ^i}\left( n \right) = m \frac{K}{{L_{tar}^i(n)}} $ | (8) |
$ m = \frac{{L_{tar}^i(n - 1)}}{{L_{tar}^i(n)}} $ | (9) |
其中,
式(8)和式(9)共同决定了第
M-ACO算法流程如图1所示, 其与传统蚁群算法流程中最大的区别在于: (1)每次迭代完毕后都需要进行选择淘汰交叉来维持种群多样性; (2)每次更新信息素时需要利用奖惩因子对每只蚂蚁的信息素增量进行放缩.整个算法过程中需要初始化的算法参数包括: 蚁群规模
3 实验验证 3.1 实例背景
以沈阳市浑南区某区域内在2019年某日因某工厂违规排放引起的颗粒物浓度超标事件为实验实例. 该区域内存在小范围部署的11个空气监测站, 其实际部署情况如图2所示.
此次污染物浓度超标事件一共使得6个监测站监测到颗粒物浓度超标, 根据当前其他常规气象参数确定大气稳定度等级为E. 那么根据文献[13]可以得知该时刻的
$\left\{ { \begin{split} & {\sigma _y} = 0.11x{(1 + 0.0004x)^{ - 0.5}} \\ & {\sigma _{\textit{z}}} = 0.08x{(1 + 0.0015x)^{ - 0.5}} \\ \end{split} } \right.$ | (10) |
已知风向为东偏北风, 为了方便确定污染源范围, 另给出上风向处一个未监测到颗粒物浓度超标的监测站作为参考监测站.
为了方便实验, 根据上述11个常规监测站以及另给出的1个参考监测站的实际部署情况, 以地图的某个点为原点, 按照监测站之间的实际距离等比例进行描点, 将其抽象成为二维平面图, 并且用圆圈框住上述监测到颗粒物浓度超标的6个监测站, 则当前整个区域内所有监测站的状态如图3所示.
将图3圆圈内的6个监测站的坐标以及此时的颗粒物监测浓度记录下来, 并将其代入式(4)中, 用来进行污染源的反演.
3.2 反演结果通过上述实验过程, 利用Matlab软件编写ACO算法和M-ACO算法分别进行求解. 经过反复调试, 结合程序的整体运行效率和运算结果的准确性进行综合考虑, 最终决定设置迭代次数为1000, 蚁群数量为200, 信息素挥发因子为0.8, 信息素重要程度因子为1, 启发函数重要程度因子为5. 最终可以得到两种算法运算的目标函数值对比变化情况如图4所示.
由图4可以看出, 目标函数在ACO算法中在615代后达到收敛状态, 并且此收敛状态并不是全局最优状态; 而在M-ACO算法中, 142代时, 目标函数的收敛速度急剧下降, 目标函数即将陷入局部极值, 此时通过不断地交叉操作扩大搜索范围, 在243代后进一步收敛, 在336代后基本达到全局最优.
从收敛速率上来看, 目标函数在M-ACO算法的迭代过程中, 收敛效率比ACO算法要高许多, 这是由于利用奖惩因子机制更新信息素的策略, 使得优质蚂蚁个体能够积累更多的信息素, 从而放大了其被选择的概率; 而在ACO算法中, 由于各个蚂蚁之间的信息素浓度差异不够明显, 导致优质蚂蚁无法被选择到, 因此收敛速度较慢.
3.3 结果评估通过对该次颗粒物浓度超标事件的历史记录和相关资料的进一步调查了解, 最终获得了真实污染源的4项相关参数数据, 如表1所示.
此时, 根据两种算法分别进行求解得到的反演源的4项参数值的变化情况, 同表1中真实污染源进行对比, 可以绘制出反演源中4项参数值的变化趋势, 进而直观地对比两种算法寻优结果的准确性和效率.
由图5可知, 在使用ACO算法迭代过程中, 目标函数收敛速度慢, 并且最终陷入了局部极值, 最终得到的反演源的4项参数结果与真实源4项参数结果偏差较大, 无法保证空气污染源反演的准确性和效率; 而在M-ACO算法迭代过程中, 最终得到的反演源4项参数结果更准确. 更接近真实污染源的4项参数值.
同时图5也验证了使用M-ACO算法在本次颗粒物浓度超标事件中, 可以快速准确地求出污染源的位置, 源强和排放高度等信息, 达到了空气污染源反演的目的, 证明了该算法在之后的污染源反演工作中可以进行实际应用.
由上述实验求得的每个参数的最终结果如表2所示.
根据表2中分别利用两种算法得到的反演源的4项参数值, 与真实源的4项参数值做对比, 计算出相对误差率, 如表3所示.
从表3可以看出, 使用M-ACO算法得到的反演结果的误差率明显低于使用ACO算法的误差率, 污染源反演的准确性得到了保证.
4 结论
通过上述实例, 可以发现M-ACO算法在污染源反演的准确性和效率上都比传统的ACO算法要优秀, 能够把单个空气污染源反演结果的相对误差率控制到2%以内; 同时解决了传统ACO算法因容易陷入局部极值而无法保证结果准确性的问题, 为实际的污染源定位排查工作提供有力的数据支持, 为空气污染的治理起到了关键的引导性作用, 促进了空气污染治理由凭感觉、凭经验管理转向精准化、靶向化管理, 保护了我们的空气环境.
[1] |
李志光, 贾仓仓. 空气污染对居民健康水平的影响研究. 现代经济探讨, 2021(7): 48-55. DOI:10.3969/j.issn.1009-2382.2021.07.006 |
[2] |
高斌. 城市空气污染对居民健康及经济影响概述. 环渤海经济瞭望, 2020(7): 164-165. |
[3] |
郭庆宾, 汪涌. 空气污染对城市化进程的反馈效应. 中国人口·资源与环境, 2021, 31(8): 62-69. |
[4] |
Keats A, Yee E, Lien FS. Bayesian inference for source determination with applications to a complex urban environment. Atmospheric Environment, 2007, 41(3): 465-479. DOI:10.1016/j.atmosenv.2006.08.044 |
[5] |
郑情文. 基于伴随概率法的工业园区空气污染溯源[硕士学位论文]. 大连: 大连理工大学, 2020.
|
[6] |
Yee E. Inverse dispersion for an unknown number of sources: Model selection and uncertainty analysis. International Scholarly Research Notices, 2012, 2012: 465320. |
[7] |
沈泽亚, 郎建垒, 程水源, 等. 典型耦合优化算法在源项反演中的对比研究. 中国环境科学, 2019, 39(8): 3207-3214. DOI:10.3969/j.issn.1000-6923.2019.08.010 |
[8] |
Thomson LC, Hirst B, Gibson G, et al. An improved algorithm for locating a gas source using inverse methods. Atmospheric Environment, 2007, 41(6): 1128-1134. DOI:10.1016/j.atmosenv.2006.10.003 |
[9] |
Ma DL, Tan W, Zhang ZX, et al. Parameter identification for continuous point emission source based on Tikhonov regularization method coupled with particle swarm optimization algorithm. Journal of Hazardous Materials, 2017, 325: 239-250. DOI:10.1016/j.jhazmat.2016.11.071 |
[10] |
张儒, 李俊明. 基于一种改进型遗传算法的源强反算. 中国安全科学学报, 2016, 26(6): 57-62. |
[11] |
Huang Y, Li L, Ji RX. A hybrid algorithm for gas source locating based on unmanned vehicles in dynamic gas environment. Mathematical Problems in Engineering, 2021, 2021: 8828148. |
[12] |
戴万瑞. 大气点源污染扩散模拟研究[硕士学位论文]. 武汉: 武汉大学, 2018.
|
[13] |
Mohan M, Siddiqui TA. An evaluation of dispersion coefficients for use in air quality models. Boundary-Layer Meteorology, 1997, 84(2): 177-205. DOI:10.1023/A:1000317704452 |
[14] |
Dorigo M, Gambardella LM. Ant colony system: A cooperative learning approach to the traveling salesman problem. IEEE Transactions on Evolutionary Computation, 1997, 1(1): 53-66. DOI:10.1109/4235.585892 |