陈增强,高艺博,陈成功,汪艺萌
(北京石油化工学院 信息工程学院,北京 102617)
据统计,在化工产业中约80%的化学产品属于危化品。危化品在满足人们日益增长的物质需求同时,其固有的危险特性给人类带来较大安全隐患[1]。一旦危化品泄漏事故发生,及时准确地确定泄漏源源强和位置,能有效指导事故应急处置。
随着群智能算法兴起,目前有许多学者利用群智能算法研究泄漏源定位问题。群智能算法通过模拟简单个体组成的群落、环境以及个体之间的互动行为,利用群落中个体之间的信息交互和合作,实现复杂优化问题的求解。群智能算法具有理论简单、易实现等优点,但也存在求解精度不高、容易陷入局部最优等问题。因此,许多学者对标准群智能算法进行改进:1)在标准算法基础上改进。王吉等[2]在遗传算法基础上加入个体评价指标和淘汰者基因库,通过引入淘汰个体交配机制,提高算法全局搜索能力和搜索效率;文献[3-5]对粒子群算法进行改进,通过对算法中学习因子以及惯性权重的改进,提高搜索效率,及时确定事故源信息;2)将2种或2种以上的算法进行混合,通过算法之间优势互补,提高定位精度。张红红等[6]将粒子群算法和BP神经网络相结合,提出1种基于PSO-BP算法的毒气泄漏源定位模式;Wang等[7]将遗传算法、马尔科夫链蒙特卡罗抽样和粒子群算法在搜索的不同阶段相结合,实现泄漏源精确定位;蒋彦等[8]将差分进化算法和模式搜索算法结合,定位泄漏源位置;文献[9-10]将遗传算法与Nelder Mead单纯形算法结合,利用差分进化、遗传算法等群智能优化算法的全局搜索能力,结合模式搜索、单纯形算法的局部寻优能力,提高算法定位精度。以上改进方式在一定程度上提高了定位准确性及时效性。
萤火虫群优化(Glowworm Swarm Optimization,GSO)算法[11]是由Krishnanand和Ghose在IEEE群体智能会议上提出的群智能优化算法(通过模拟自然界萤火虫的发光特性,比较荧光素值的大小实现信息交互),具有理论简单、易实现、搜索效果好等优点。目前GSO算法被应用于函数优化[12]、医学诊断[13]、非线性方程组求解[14]、视频图像处理[15]等。本文采用萤火虫群优化算法对危化品泄漏源定位问题进行研究,对3种改进型萤火虫群优化算法的危化品泄漏源定位结果进行分析,研究结果能够为危化品泄漏事故的应急处置提供新的参考思路。
泄漏源源强及位置反算是指利用传感器监测的浓度数据,结合扩散模型,反向求解泄漏源源强及位置。本文选定1组泄漏源源强和位置,通过扩散模型得到某些位置的浓度计算值。假设已获取事故现场部分浓度监测信息,利用事故现场监测浓度与扩散模型计算浓度之间的差异,构建优化目标函数,如式(1)所示。利用优化算法进行迭代寻优,目标函数值最小的1组参数,即为最优泄漏源源强和位置。
(1)
萤火虫群优化算法中,每只萤火虫被视为解空间的1个解,萤火虫种群作为初始解随机分布在目标函数的定义空间内,每只萤火虫都拥有各自的荧光素以及视野范围(决策域半径)。荧光素越亮的萤火虫所在位置越好,对应目标函数值也更优。算法步骤如下:
1)设置算法参数:种群规模n,初始荧光素浓度l0,荧光素挥发因子ρ,信息素增强因子γ,邻域变化率β,感知半径r,决策半径r0,邻域阈值nt,最大迭代次数iter_max。
2)初始化种群,随机生成初始个体。
3)计算种群适应度值,选出当前最优个体及对应最优适应度值。
4)开始迭代,进行萤火虫的荧光素值更新。计算出第t代第i只萤火虫所处位置xi(t)所对应的适应度函数f(xi(t)),荧光素值li(t)的更新如式(2)所示:
li(t)=(1-ρ)li(t-1)+γf(xi(t))
(2)
(3)
(4)
6)选择移动位置,根据式(5)进行位置更新:
(5)
式中:s表示移动步长。
7)根据式(6)进行动态决策域半径更新:
(6)
8)计算新种群的适应度值,如果优于全局最优适应度值,则更新全局最优解以及最优适应度值;否则,不更新。
9)判断是否达到预先设定的最大迭代次数。若达到,则输出群体最优解;否则,返回步骤4)。
在标准萤火虫群优化算法中,步长是固定值,会造成萤火虫算法陷入局部最优,出现停滞现象。如果步长太小,萤火虫需要更多步数才能移动到全局最优的萤火虫附近;如果步长太大,可能会错过最优解。因此,文献[16]提出1种基于步长的改进萤火虫群优化算法,3种动态步长计算如式(7)~(9)所示:
s=d(i,j)/5
(7)
s=d(i,j)/5+0.03
(8)
(9)
式中:d(i,j)表示萤火虫i和萤火虫j之间的欧氏距离;r是(0,1)之间的随机数。
GSO算法的初始点是随机产生的,不依赖于初始点求解目标函数,但是随着萤火虫移动过程中决策域的动态变化,算法收敛速度变慢,迭代过程中局部搜索能力变差。文献[14]提出1种单纯形混合协同进化萤火虫群优化算法:先利用萤火虫群优化算法进行全局搜索,如果萤火虫的邻域集Ni(t)不为空,根据式(5)进行位置更新。如果邻域集Ni(t)为空,则表明其是局部最优的,将其作为单纯形搜索算法的初始值,进一步搜索优化。
为提高GSO算法的收敛性,设计步长随迭代次数动态衰减,动态步长如式(10)所示:
(10)
式中:s(t)是第t代的步长;s0是初始步长;t是当前迭代次数;iter_max是最大迭代次数。
因此,上文GSO算法中选择移动的位置更新如式(11)所示:
(11)
本文提出1种混合萤火虫-NelderMead单纯形算法(GSO-NM)。先执行基于动态步长改进GSO算法,由于GSO算法存在早熟收敛问题,得到的最优解可能是近似全局最优解,而不是真正的全局最优解;NM单纯形算法作为直接优化算法,通过给定的变量初值使得目标函数最小化,从而得到最优解。因此,将GSO算法得到的近似最优解作为NM算法初始值,进一步寻优得到最优解。GSO-NM算法流程如图1所示。
图1 GSO-NM算法流程Fig.1 Flow chart of GSO-NM algorithm
在源强及位置反算模型中,通过不断调整泄漏源源强及位置,扩散模型的计算浓度与现场测量浓度无限接近时,认为这组源强及位置值即为所要求的反算结果。仿真中采用高斯烟团模型[10]进行计算浓度的模拟,该模型适用于描述中性、瞬时泄漏气体的扩散情况;现场浓度通过模型仿真进行测量,并加入一定的噪声来模拟现场环境及设备引起的误差。
为验证本文提出的改进算法在危化品泄漏源源强及位置反算中的有效性,进行仿真实验。假设泄漏源源强Q0=2 000 g,泄漏位置x0=50 m,y0=15 m(考虑地面情况,取z0=0 m),大气稳定度为F级,平均风速为2 m/s,时间为100 s。
GSO算法的参数设置如表1所示。种群规模n主要影响算法收敛速度,设置过大会耗费较多时间,设置过小会干扰算法多样性导致错过最优解;初始荧光素浓度l0;荧光素挥发因子ρ反应萤火虫在路径上释放荧光素的挥发量;信息素增强因子γ用于控制迭代中搜索解经验比例;邻域变化率β主要影响萤火虫邻域范围变化率;感知半径rs和决策半径r0根据实际需要解决的问题确定;邻域阈值nt表示萤火虫邻域中萤火虫个体数量;最大迭代次数iter_max,作为算法的终止条件,设置过小可能找不到最优解,设置过大会消耗较多时间。
考虑到GSO算法对于初值选择的随机性,每次运行结果均有偏差。因此将各算法独立运行20次,对运行结果进行比较分析。
利用GSO算法和GSO-NM算法进行泄漏源定位仿真实验,结果对比如表2所示,20次独立运行结果分布如图2所示。
表1 GSO算法的参数设置Table 1 Parameters setting of GSO algorithm
表2 基于GSO和GSO-NM算法的泄漏源定位结果对比Table 2 Results of leakage source location based on GSO and GSO-NM algorithms
表2记录GSO算法和GSO-NM算法独立运行20次的平均值、相对误差以及标准差,结果表明本文提出的GSO-NM算法相对标准GSO算法在源强Q0,位置x0,位置y0的定位结果更精确。
由图2可知,GSO算法得到的反算结果波动较大,部分结果偏离期望值,误差较大;而GSO-NM算法得到的反算结果与期望值较为接近,波动较小,结果较为稳定。因此,相较于标准GSO算法,基于GSO-NM算法得到的泄漏源定位结果更稳定。
分别应用3种改进的GSO算法(MGSO算法、HCG-SOSSM算法、GSO-NM算法)进行泄漏源源强及位置反算的仿真实验,得到反算参数对比结果如表3~5所示。
图2 GSO-NM算法和标准GSO算法20次运行结果分布Fig.2 Distribution of 20 times operation results with GSO-NM and standard GSO algorithms
表3 3种改进的GSO算法反算结果源强Q0比较Table 3 Comparison on inverse calculation results of source intensity Q0 by 3 improved GSO algorithms
表4 3种改进的GSO算法反算结果位置x0比较Table 4 Comparison on inverse calculation results of location x0 by 3 improved GSO algorithms
表5 3种改进的GSO算法反算结果位置y0比较Table 5 Comparison on inverse calculation results of location y0 by 3 improved GSO algorithms
从表3~5分析可知:MGSO算法反算的源强Q0、位置y0与期望值的相对误差都超过30%,误差较大。MGSO算法反算结果误差小于5%的实验次数都在5次及5次以下。HCGSOSSM算法反算的源强Q0、位置变量x0的误差分别约为2.68%和2.39%,位置变量y0的误差约为39.84%。而GSO-NM算法反算的源强Q0、位置变量x0和位置变量y0与期望值的误差分别约为0.001%、0.26%、1.74%,误差较小,反算参数误差小于5%的实验次数分别为20次、20次、17次,反算结果较为精确。对比结果表明:GSO-NM算法反算优于MGSO算法和HCGSOSSM算法反算,在危化品泄漏源源强及位置反算中更具优势。
3种改进型萤火虫算法独立运行20次得到的泄漏源反算结果源强Q0,位置x0及位置y0分布如图3所示。GSO-NM算法的反算结果与期望值最为接近,波动幅度较小,在搜索过程中3个参数都能够较为快速收敛到期望值。而其他3种改进算法的反算结果皆与期望值相差较大,且波动也较大。
图3 3种改进的GSO算法20次运行结果分布Fig.3 Distribution of 20 times operation results with 3 improved GSO algorithms
分析结果说明GSO-NM算法的反算结果与期望值较接近,误差较小,稳定性好,在危化品泄漏源源强及位置反算中具有较好的应用效果。
1)GSO-NM算法可以避免GSO算法后期过早收敛以及NM算法对初值敏感的问题,结合2种算法各自的优势,提高泄漏源的定位精度,在危化品泄漏源源强及位置反算中具有一定可行性。
2)GSO-NM算法较几种改进的GSO算法(MGSO算法、HCGSOSSM算法)在危化品泄漏源反算问题上具备一定优势,其反算结果与期望值误差较小,算法稳定性较好,能够较为精确地反算出泄漏源源强及位置。