Railcar Traffic Distribution and Route Optimization Model Based on Dynamic Penalty Function
-
摘要:
为解决铁路车流分配与径路优化模型中的难约束问题,避免群智能算法在应对该问题时难以求解的不足,提出了一种基于惩罚函数的约束优化方法. 首先,在车流分配及径路优化基本模型的基础上设置虚拟弧,在目标函数中增加惩罚项的方式松弛掉模型中的弧段能力约束,同时对惩罚项中的惩罚力度和惩罚因子设计动态更新的策略;然后,将改进灰狼算法(improved grey wolf algorithm,IGWO)应用于车流分配与径路优化模型的求解;最后,结合某一地区的路网数据,对改进前、后的模型和算法进行对比分析. 算例结果表明:与改进前的模型相比,引入惩罚项之后,IGWO可以在限定的范围内找到满足弧段能力约束的可行解;与灰狼算法(gray wolf algorithm,GWO)相比,IGWO计算所得的配流方案使OD (origin-destination)货流的平均绕行率和货物总走行公里数分别下降了2.6%和5.2%.
Abstract:In order to solve the constraint difficulty in the railway traffic distribution and route optimization model, and the inadequacy of swarm intelligence algorithm, a constraint optimization method based on penalty function is proposed. First, a virtual arc is set on the basis of the basic model of traffic distribution and route optimization, and the arc segment capability constraints in the model are relaxed by adding a penalty term to the objective function. Meanwhile, a dynamic update strategy is designed for the penalty intensity and penalty factor of the penalty term. Then, the improved grey wolf algorithm (IGWO) is applied to the solution of traffic distribution and route optimization models. Finally, combined with the road network data in a certain area, the models and algorithms before and after improvement are compared and analyzed. The results of case study show that, compared with the model before improvement, after introducing the penalty term, IGWO can find feasible solutions that satisfy the arc capacity constraints within a limited range; compared with the grey wolf algorithm (GWO), the distribution scheme calculated by IGWO reduces the average detour rate of the OD (origin-destination) cargo flow and the total cargo kilometers by 2.6% and 5.2%, respectively.
-
近年来高速铁路发展迅猛[1],列车伴山而行、穿山而过,缩短城市间时空距离的同时也加大了铁路沿线环境安全监测的难度. 隧道口上方山体和轨旁边坡面临崩塌和溜滑等风险,威胁列车的安全运行[2].无线传感器网络(wireless sensor network,WSN)因其自组织能力,可被应用于山体和边坡的安全监测报警系统[3-4]. 部署的传感器节点可以实时感知并收集山体崩塌和滑坡的触发参量,例如降雨量、土壤湿度、孔隙水压力等[5]. 节点部署策略直接影响WSN的监测效果,通过优化节点部署方案,可以提高安全监测报警系统的性能,从而保障列车的安全运营.
WSN节点部署的研究目标主要有提高网络覆盖率、网络连通性以及网络生命周期等[6]. 文献[7]中提出一种自适应多策略人工蜂群算法,使用模拟退火与动态搜索改进人工蜂群算法,增强算法跳出局部最优的能力,从而提高网络覆盖率. 文献[8]中提出一种基于快速非支配排序的改进蚁狮算法,通过提高算法求解精度、种群多样性以及全局搜索能力,优化节点部署方案. 以上研究适用于部署二维平面的WSN,起伏地形下节点部署问题更加复杂. 文献[9]分析起伏地形覆盖问题,证明该问题为NP-hard完全问题.
针对起伏地形下的WSN节点部署,学者们基于虚拟力方法、Voronoi图、智能优化算法等进行了研究[10]. 文献[11]提出一种适用于起伏地形的WSN确定性部署算法,使用Voronoi图将监测区域分区,结合Delaunay方法建立部署节点间连通性,在保证网络连通性的同时提高网络覆盖率,但算法性能受地形影响大. 文献[12]通过经典分水岭算法保持地形拓扑特征,将起伏地形映射到二维平面,再利用代价因子构造感知概率,节点均匀分布,该算法在不规则地形下采用均匀随机分布方式部署节点,易产生冗余覆盖,增多节点部署数目. 文献[13]采用数字高程模型(digital elevation model,DEM)对起伏地形表面进行建模,提出一种基于网格扫描的贪婪节点部署算法,根据节点覆盖面积,降序选择节点部署位置;该算法仅以网络覆盖率为优化目标未考虑节点部署方案对WSN应用性能的影响. 文献[14]提出一种适用于起伏地形下WSN节点部署的改进海洋捕食者算法(improved marine predator algorithm,IMPA),通过引入随机对立学习与差分进化算子提高IMPA的全局搜索能力,并结合混合蛙跳算法进行局部搜索,提高求解精度,优化节点部署方案;然而,当网络目标覆盖率提升或搜索维度增加时,该算法的求解精度可能会下降,导致需要部署的节点数量增多. 文献[15]中提出一种增强灰狼优化器(enhanced grey wolf optimizer,EGWO),将灰狼种群分为内、外层进行搜索,并引入Tent映射以增强算法的局部与全局搜索能力,从而提高问题求解精度,优化起伏地形下的WSN覆盖率;但同样,在搜索维度增加时,该算法也面临求解精度下降和节点部署数量增加的问题.
上述研究成果虽然可以实现起伏地形下的WSN节点部署,但仍存在一些不足,如节点部署数目多导致网络成本高、部署难度大,并且缺乏与典型路由算法结合的网络生命周期性能测试分析. 此外,由于铁路沿线起伏地形复杂多样,不同地形粗糙度下的节点部署算法性能也存在一定差异. 为解决这些问题,提出一种适用于铁路沿线起伏地形的WSN节点部署算法. 该算法基于DEM与Delaunay方法对起伏地形进行建模,确定节点部署的解空间,以网络连通性为约束、网络覆盖率为目标,通过迭代方式,结合IMPA及遗憾最小化为准则,利用筛选函数完成WSN节点的部署.
1. 模型分析
1.1 起伏地形表面建模
地理信息系统中,多采用DEM表示地形特征,使用规则网格模型建立地形特征点集合DEM[16],如式(1)所示.
DEM={Qv,h}V,H, (1) 式中:Qv,h为特征点,表示节点可部署位置,是规则网格第v行、第h列交点;V、H分别为行、列最大数目.
Qv,h的编号为H(v−1)+h,特征点编号集合为D, V×H为网格精度,如图1(a)所示.
使用Delaunay方法将地形表面划分为三角平面,如图1(b)所示. 三角平面集合表示为Φ,三角平面边集合表示为e,网格精度需满足任意边的长度小于等于节点感知半径rc.
1.2 节点连通性模型
定义1:当两个传感器节点通视,且欧式距离小于等于通信半径rd,则称节点连通.
采用ModSAF算法判断两点通视,当两点连线地表切面的高程值不高于两点间直线时,则两点通视. 以图2为例,A、B为地表上不相连两点,其水平面垂直映射点为A'、B'. e'为集合e水平面垂直映射集合; b为线段A'B'与集合e'的交点集合,bδ为集合b中第δ个交点;zbδ为bδ对应线段AB上的高程值,z′bδ为bδ对应地表高程值. 若∀z′bδ⩽,则A、B通视,记为 l_{{A,B }}=1 ;否则A、B非通视,记为 l_{{A,B }}=0 .当A、B符合定义1时,A、B连通,记为 L_{{A,B}}=1 ;否则,A、B非连通,记为 L_{{A,B }}=0 .
定义2:网络连通性是指网络中任意两个传感器节点间至少存在一条通信路径.
定义3:网络连通度 \lambda \left( \cdot \right) 是指网络中存在的通信路径总数与最大通信路径总数之比,如式(2)所示.
\lambda \left(N\right)=\left\{\begin{array}{l}\dfrac{{\displaystyle \sum _{I\in N}\varepsilon_I}}{{\left|N\right|}^{2}-\left|N\right|}\text{,}\quad \left|N\right| > 1,\\ 0\text{,}\quad \left|N\right|=1,\end{array}\right. (2) 式中:N为WSN部署节点集合,节点编号即部署位置编号, \varepsilon_I ( 0 \leqslant \varepsilon_I \leqslant \left| N \right| - 1 )为节点I的通信路径数目,|∙|表示集合中元素数目.
1.3 节点覆盖模型
节点采用球形布尔感知模型,当节点I与点J间欧式距离 d_{I,J} \leqslant r_{\text{c}} ,且 l_{I,J} = 1 时,节点I覆盖点J,记为 C_{I,J} = 1 ;否则,未覆盖,记为 C_{I,J} = 0 .
S_I = \{\, \varphi \,|\,C_{I,\,a\varphi ,\,1} = 1,\;\,C_{I,\,a\varphi ,\,2} = 1,\,C_{I,\,a\varphi ,\,3 }= 1 ,\;\varphi \,\in\, \varPhi , \varphi \notin K \} ,为节点I覆盖三角平面中的集合. 其中: a_{\varphi ,1} 、 a_{\varphi ,2} 、 a_{\varphi ,3} 为三角平面φ的顶点; K = \bigcup\nolimits_{I \in N} {S_I} ,为WSN覆盖集合.
网络覆盖率η是指WSN覆盖面积与起伏地形表面总面积之比[19],如式(3)所示.
\eta \left( N \right) = {\frac{{\displaystyle\sum\limits_{\varphi \in K} {q_\varphi } }}{{\displaystyle\sum\limits_{\varphi \in \Phi } {q_\varphi } }}} \times {\text{100\% }} , (3) 式中: q_\varphi 为三角平面φ的面积.
2. 改进海洋捕食者算法
海洋捕食者算法(MPA)是一种模拟海洋生物捕食的群智能算法,捕食策略分为莱维飞行与布朗运动[20],具有寻优能力强、调整参数少的特点. 但MPA在3个搜索阶段(高速比阶段、等速比阶段、低速比阶段)的搜索次数均固定为 {{t_{\text{max}}} \mathord{\left/ {\vphantom {{t{\text{max}}} 3}} \right. } 3} ,易导致过早进入局部搜索或局部搜索不充分. 本节提出根据相邻搜索最优解适应度差值与最大搜索次数tmax联合控制各搜索阶段搜索次数的IMPA.
2.1 初始种群
种群初始解X0随机均匀分布在搜索空间上,如式(4)所示.
{\boldsymbol{X}}_{\text{0}} = x_{\text{b}} + {\boldsymbol{r}}_{\text{and}}\left( {x_{\text{a}} - x_{\text{b}}} \right), (4) 式中: x_{\text{a}} 、 x_{\text{b}} 分别为解空间上、下界, {\boldsymbol{r}}_{\text{and}} 为(0,1)区间中均匀随机数向量.
猎物矩阵Y由n个维度为dm的猎物构成,如式(5)所示. 初始捕食者矩阵 {\boldsymbol{E}} = \left[ {\boldsymbol{X}}_{\text{top}}\;{\boldsymbol{X}}_{\text{top}}\; \cdots \;\right. \left.{\boldsymbol{X}}_{\text{top}} \right]_{n \times d{\text{m}}} ,由顶级捕食者 {\boldsymbol{X}}_{\text{top}} 构成.
{\boldsymbol{Y}} = {\left[ {\begin{array}{*{20}{c}} {X_{1,1}}&{X_{1,2}}& \cdots &{X_{{1,d}{\text{m}}}} \\ {X_{2,1}}&{X_{2,2}}& \cdots &{X_{{2,d}{\text{m}}}} \\ \vdots & \vdots & {} & \vdots \\ {X_{n,1}}&{X_{n,2}}& \cdots &{X_{{n,d}{\text{m}}}} \end{array}} \right]_{n \times d{\text{m}.}}} (5) 2.2 搜索策略
步骤1 高速比阶段. 通过布朗运动更新猎物,如式(6)所示.
{\boldsymbol{Y}}_i^{\left( t \right)} = {\boldsymbol{Y}}_i^{\left( {t-1} \right)}{\text{ + }}p{\boldsymbol{R}}_{\text{A}} \otimes {\boldsymbol{s}}_i, (6) {\boldsymbol{s}}_i = {\boldsymbol{R}}_{\text{B}} \otimes \left( {{\boldsymbol{E}}_i - {\boldsymbol{R}}_{\text{B}} \otimes {\boldsymbol{Y}}_i^{\left( {t - {\text{1}}} \right)}} \right), (7) 式中: {\boldsymbol{Y}}_i^{\left( t \right)} 为第t次搜索中第i个猎物, {\boldsymbol{s}}_i 为第i个猎物移动步长, {\boldsymbol{E}}_i 为第i个捕食者, p = {\text{0}}{\text{.5}} , {\boldsymbol{R}}_{\text{A}} 为[0,1]区间内随机数向量, \otimes 表示向量中元素依次相乘, {\boldsymbol{R}}_{\text{B}} 为基于布朗运动的随机数向量.
第t次搜索的最优解适应度差值为
{\boldsymbol{F}}_{\text{C}}\left( t \right) = \left\{ \begin{gathered} {\boldsymbol{F}}_{\text{top}}\left( t \right),t{\text{ = 1}}, \\ {\boldsymbol{F}}_{\text{top}}\left( t \right) - {\boldsymbol{F}}_{\text{top}}\left( {t - 1} \right),t{\text{ > 1}}, \\ \end{gathered} \right. (8) 式中: {\boldsymbol{F}}_{\text{top}}\left( t \right) 为第t次搜索的最优解适应度.
当 {\boldsymbol{F}}_{\text{C}} 满足式(9),即搜索过程中连续M次 {\boldsymbol{F}}_{\text{C}}=0 时,进入步骤2,并更新 {\boldsymbol{F}}_{\text{C}} = \left[ {1\;1\; \cdots \;1} \right] .
{\displaystyle \sum _{j=t-M + 1}^{t}{\boldsymbol{F}}_\text{C}\left(j\right)}=0\text{,}\quad t > M. (9) 步骤2 等速比阶段. 通过布朗运动与莱维飞行更新猎物,如式(10)所示.
{{\boldsymbol{Y}}}_{i}^{\left(t\right)}=\left\{\begin{array}{l}{{\boldsymbol{Y}}}_{i}^{\left(t-1\right)}\text{ + }p{\boldsymbol{R}}_\text{A}\otimes {\boldsymbol{s}}_i\text{,}\text{1}\leqslant i\leqslant \dfrac{n}{2},\\ {\boldsymbol{E}}_i\text{ + }pC_\text{F}\otimes {\boldsymbol{s}}_i\text{,}\dfrac{n}{2}\text{ < }i\leqslant n,\end{array}\right. (10) {\boldsymbol{s}}_i=\left\{\begin{array}{l}{\boldsymbol{R}}_\text{L}\otimes \left({\boldsymbol{E}}_i-{\boldsymbol{R}}_\text{L}\otimes {{\boldsymbol{Y}}}_{i}^{\left(t-1\right)}\right)\text{,}\text{1}\leqslant i\leqslant \dfrac{n}{2},\\ {\boldsymbol{R}}_\text{B}\otimes \left({\boldsymbol{R}}_\text{B}\otimes {\boldsymbol{E}}_i-{{\boldsymbol{Y}}}_{i}^{\left(t-1\right)}\right)\text{,}\dfrac{n}{2}\text{ < }i\leqslant n,\end{array}\right. (11) 式中: C{\text{F}} = {( {1 - t / {t_{\text{max}}}}} )^{( {{{2t} {t{\text{max}}}}} )} ,为控制捕食者步长的自适应参数; {\boldsymbol{R}}_{\text{L}} 为基于莱维飞行的随机数向量. 通过式(8)求解 {\boldsymbol{F}}_{\text{C}} ,当 {\boldsymbol{F}}_{\text{C}} 满足式(9)时,进入步骤3,并更新 {\boldsymbol{F}}_{\text{C}} = \left[ {1\;1\; \cdots \;1} \right] .
步骤3 低速比阶段. 通过莱维飞行更新猎物,如式(12)所示. 通过式(8)求解 {\boldsymbol{F}}_{\text{C}} ,当 {\boldsymbol{F}}_{\text{C}} 满足式(9),终止搜索. 搜索过程中, t = t_{\text{max}} 时终止搜索.
{\boldsymbol{Y}}_i^{\left( t \right)} = {\boldsymbol{E}}_i{\text{ + }}pC_{\text{F}} \otimes {\boldsymbol{s}}_i, (12) {\boldsymbol{s}}_i = {\boldsymbol{R}}_{\text{L}} \otimes \left( {{\boldsymbol{R}}_{\text{L}} \otimes {\boldsymbol{E}}_i - {\boldsymbol{Y}}_i^{\left( {t - 1} \right)}} \right). (13) 搜索过程中进行海洋记忆存储,保存优秀猎物;使用涡流或鱼类聚集装置效扰动猎物矩阵Y,使算法跳出局部最优[20].
3. WSN节点部署算法
综合考虑网络覆盖率、网络连通性以及网络生命周期部署传感器节点. 基于所提IMPA建立候选个体集,在IMPA搜索过程中对猎物进行取整. 以收益函数遗憾最小化为准则[21]衍生新个体,将最佳新个体并入集合N,通过迭代方式确定达到目标覆盖率 \eta {\text{t}} 的节点部署方案.
3.1 基于IMPA构建候选个体集
节点部署问题解空间为集合D,基于所提IMPA建立候选个体集,搜索维度 d_{\text{m}} 随η增加而减小,如式(14)所示.
d_{\text{m}} = \left\lceil {\left( {1 - \frac{{\eta \left( N \right)}}{{\eta _{\text{t}}}}} \right)\left\lfloor {\frac{{C_{\text{L}}}}{{2r_{\text{c}}}}} \right\rfloor \left\lfloor {\frac{{C_{\text{W}}}}{{2r_{\text{c}}}}} \right\rfloor } \right\rceil, (14) 式中: C_{\text{L}} 、 C_{\text{W}} 分别为起伏地形长、宽.
适应度函数F(\cdot) 如式(15)所示,适应度值最大的个体为最优解.
\left\{\begin{gathered} F\left( {{\boldsymbol{Y}}_i} \right) = \eta \left( {N \cup {\boldsymbol{Y}}_i} \right), \\ {\text{s}}.{\text{t}}.{\text{ }}\lambda \left( {N \cup {\boldsymbol{Y}}_i} \right){\text{ = }}1. \\ \end{gathered}\right. (15) IMPA通过式(4) ~(13)求解最优解,并逐次提取最优解 {\boldsymbol{g}}_{{\text{top}}}^{\left( t \right)} ,建立矩阵G=[ {\boldsymbol{g}}_{{\text{top}}}^{\left( 1 \right)}\;{\boldsymbol{g}}_{{\text{top}}}^{\left( 2 \right)}\; \cdots \;{\boldsymbol{g}}_{{\text{top}}}^{\left( t \right)} ],通过式(16)建立候选个体集Z.
{\textit{Z}} = \left\{ {{\boldsymbol{G}}_{j1}|\rho \left( {N \cup {\boldsymbol{G}}_{j1}} \right) \geqslant \rho {\text{m}}} \right\} \cup \left\{ {{\boldsymbol{G}}_{j1}|F\left( {{\boldsymbol{G}}_{j1}} \right) \geqslant F_{\text{m}}} \right\}, (16) \rho \left( N \right) = \frac{{\displaystyle\sum\limits_{I \in N} {\xi_I} }}{{{{\left| N \right|}^2} - \left| N \right|}}, (17) 式中: \rho \left( \cdot \right) 为网络密度即网络中实际存在的连通边数目与最大可能边数目之比; {\boldsymbol{G}}_{j1} 为G中第j1个个体; \rho_{\text{m}} = {{\displaystyle\sum\nolimits_{j1 = 1}^{|{\boldsymbol{G}}|} {\rho \left( {N \cup {\boldsymbol{G}}_{j1}} \right)} }/ {\left| {\boldsymbol{G}} \right|}} ,为个体平均网络密度; F_{\text{m}} = {{\displaystyle\sum\nolimits_{j1 = 1}^{|{\boldsymbol{G}}|} {F\left( {{\boldsymbol{G}}_{j1}} \right)} } /{\left| {\boldsymbol{G}} \right|}} ,为个体平均适应度; \xi_I 为节点I的连通边数目.
3.2 基于遗憾最小化衍生新个体
IMPA求解维度固定,易导致冗余节点增加,为优化节点部署数目、提高IMPA搜索结果利用率,基于遗憾最小化衍生新个体. 任取集合Z中两个个体 Z_{j2} 与 Z_{j3} ,生成节点候选集合 W = \{ Z_{j2} \cup Z_{j3}\} . W中节点为博弈参与者,策略空间 \varOmega = \{ \omega_1,\omega_2\} . \omega_1 = 0 ,表示节点不加入新个体; \omega_2 = 1 ,表示节点加入新个体. 第k个参与者的策略 \sigma_k \in \varOmega ,策略组 \sigma = \left( {\sigma_1,\sigma_2, \cdots ,\sigma_{\left| W \right|}} \right) ,收益和函数如式(18)所示.
\begin{split} &\mu \left(\sigma \right)=\\&\left\{\begin{array}{l}{\displaystyle \sum _{k=1}^{\left|\sigma \right|}\left|\beta_k\right|}-\frac{\left|{\displaystyle \underset{\begin{smallmatrix} k,\alpha =1 \\ k\ne \alpha \end{smallmatrix}}{\overset{\left|\sigma \right|}{\cup }}\left(S_{Wk}\cap S_{W\alpha} \right)}\right|}{\left|\sigma \right|}\text{,}\beta_\text{m}=1,\\ {\displaystyle \sum _{k=1}^{\left|\sigma \right|}\left(\left|\beta_k\right|-2\left|{\displaystyle \underset{\begin{smallmatrix} \alpha =1 \\ \alpha \ne k \end{smallmatrix}}{\overset{\left|\sigma \right|}{\cup }}\left(\beta_k\cap \beta_\alpha \right)}\right|\right)}\text{,}\beta_\text{m} > 1,\end{array}\right. \end{split} (18) 式中: \beta_{\text{m}} = \displaystyle\sum\nolimits_{k = 1}^{|\sigma |} {\sigma_k} ,为新个体中节点数目; \beta_k 、 \beta_\alpha 分别为第k、α个参与者的覆盖集合; S_{Wk} 、 S_{W\alpha} 分别为节点 W_{k} 、 W_{\alpha} 的三角平面覆盖集合.
\sigma_k = 1 时, \beta_k = S_{Wk} ;否则 \beta_k = \varnothing . \mu_k\left( \sigma \right) = \mu \left( \sigma \right)/ |\sigma | ,表示第k个参与者收益.
生成 2|\sigma | 个不重复策略组,第k个参与者在第T个策略组 \mathop \sigma \nolimits^{\left( T \right)} 中采取策略 \sigma_k 的遗憾如式(19)所示.
\mathop r\nolimits_k^{\left( T \right)} \left( {\mathop \sigma \nolimits_k } \right) = {\left[ {\mathop \mu \nolimits_k \left( {\mathop \sigma \nolimits_k ,\mathop \sigma \nolimits_{ - k}^{\left( T \right)} } \right) - \mathop \mu \nolimits_k \left( {\mathop \sigma \nolimits^{\left( T \right)} } \right)} \right]^ + }, (19) 式中: \mathop \sigma \nolimits_{ - k}^{\left( T \right)} 为 \mathop \sigma \nolimits^{\left( T \right)} 中除 \mathop \sigma \nolimits_k^{\left( T \right)} 以外的策略, {\left[ x \right]^ + } = \max \left\{ {x,0} \right\} .
第k个参与者采用策略 \omega_\gamma ( \gamma \in \left[ {1,2} \right] )的概率为
P_k\left( {\omega _\gamma } \right) = \frac{{R_k\left( {\omega _\gamma } \right)}}{{\displaystyle\sum\limits_{\gamma 0 = 1}^2 {R_k\left( {\omega _{\gamma {\text{0}}}} \right)} }} , (20) 式中: R_k\left( {\omega _\gamma } \right) = \displaystyle\sum\nolimits_{T = 1}^{2|\sigma |} {\mathop r\nolimits_k^{\left( T \right)} \left( {\omega _\gamma } \right)} ,为第k个参与者在策略 \sigma_k = \omega _\gamma 时的累积遗憾.
参数者根据 P_k 选择策略, P_k\left( {\omega _1} \right) = P_k\left( {\omega _2} \right) 时,生成多个策略组; P_k\left( {\omega _1} \right) > P_k\left( {\omega _2} \right) 时,策略组 {\sigma ^ * } 中第k个参与者的策略 \mathop \sigma \nolimits_k^* = \omega _1 ; P_k\left( {\omega _1} \right) < P_k\left( {\omega _2} \right) 时, \mathop \sigma \nolimits_k^* = \omega _2 . 当策略组 {\sigma ^ * } 满足式(21)时, {\sigma ^ * } 达到纳什均衡,为最佳策略组;否则,更改 {\sigma ^ * } 中遗憾最大的参与者策略,直至 {\sigma ^ * } 达到纳什均衡. 最佳策略组 {\sigma ^ * } 衍生出新个体 {g^ * } = \left\{ {W \otimes {\sigma ^ * }} \right\} ,构建新个体集合 {G^ * } .
\mu _k\left( {{\sigma ^ * }} \right) \geqslant \mathop {\max }\limits_{{\sigma _k} \in \Omega } \left( {\mu _k\left( {{\sigma _k},\sigma _{ - k}^ * } \right)} \right). (21) 3.3 筛选函数
以网络覆盖率与网络密度的线性函数归一化值 \eta _{\text{no}}\left( \cdot \right) 、 \rho _{\text{no}}\left( \cdot \right) 为指标,构建筛选函数为
\begin{split} F_1\left( {G_{j4}^ * } \right) = &\;\theta _{t{\text{A}}}\eta _{\text{no}}\left( {N \cup G_{j4}^ * } \right) + \\&\left( {1 - \theta _{t{\text{A}}}} \right)\rho _{\text{no}}\left( {N \cup G_{j4}^ * } \right), \end{split} (22) 式中: G_{j4}^ * 为新个体集合 G_{j4}^ * 中第j4个个体; \theta_{t_{\text{A}}} 为第 t_{\text{A}} 次迭代中网络覆盖率的权重, \theta _{t{\text{A}}} 随 t_{\text{A}} 增大而增大,如式(23)所示.
\theta _{t\text{A}}=\left\{ \begin{array}{l}\theta _{t\text{A}}-1 + \left(1-\theta _{t\text{A}}-1\right){{\displaystyle \left(\frac{\eta \left(N\right)}{\eta _\text{t}}\right)}}^{{d_{\text{m}}-1}}\text{,}t_{\text{A}} > 1,\\ \theta _0\text{,}t_{\text{A}}=1.\end{array}\right. (23) 选择F1值最大的新个体并入集合N,即 N = N \cup \mathop {{{\mathrm{argmax}}} }\nolimits_{G_{j4}^ * } \left( {{F_1}\left( {G_{j4}^ * } \right)} \right) . 当 \eta \left( N \right) < \eta _{\text{t}} 时,更新覆盖集合 S_I ,进入下一次迭代, t_{\text{A}}=t_{\text{A}} + 1 ;否则,终止迭代,得到节点部署方案. 初始时,集合N中仅包含Sink节点所在特征点编号. 算法流程如下:
算法名称:WSN节点部署算法
输入:部署节点集合N,目标覆盖率 \eta _{\text{t}} , t_{\text{A}}=1
输出:部署节点集合N
1: while \eta \left( N \right) < \eta _{\text{t}} do
2: 基于IMPA建立候选个体集合Z;
3: for j2=1:|Z|−1 do
4: for j3= j2 + 1:|Z| do
5: W = \{ Z_{j_{\text{2}}} \cup Z_{j_{\text{3}}}\} ,并生成 2|\sigma | 个策略组;
6: while \mu _k\left( {{\sigma ^ * }} \right) < \mathop {\max }\limits_{{\sigma _k} \in \Omega } \left( {\mu _k\left( {{\sigma _k},\sigma _{ - k}^ * } \right)} \right) do
7: 通过式(19) ~ (21)更新 \mathop \sigma \nolimits^* ;
8: end while
9: 根据最佳策略组衍生出新个体
10: end for
11: end for
12: 根据式(22)选择最佳新个体,更新集合N、S;
13: 更新 t_{\text{A }}=t_{\text{A}} + 1 ,计算权重 \theta _{t{\text{A}}} ;
14: end while
4. 仿真分析
在Window 10系统上,使用MATLAB 2022a对算法进行仿真,CPU为Intel(R) Core(TM) i7-13700F,内存32 GB. 仿真参数如表1所示[22].
表 1 仿真参数及取值Table 1. Simulation parameters and values参数 取值 起伏地形:长/宽/高 m 100/100/50 DEM网格精度 21 × 21 IMPA种群大小 50 权重 \theta _0 0.9 节点初始能量/J 1 数据包大小/bit 3200 电路能耗 E_{\text{elec}} /(nJ•bit−1) 50 功放参数 \varepsilon _{\text{fs}} /( pJ•bit−1•m−2) 10 功放参数 \varepsilon _{\text{amp}} /(pJ•bit−1•m−4) 0.0013 距离阈值 d_0 /m 87 将本文算法( t_{\text{max}} = 500 次, M = 35 次)与IMPA[14]( t_{\text{max}} = 100 次)、EGWO[15]( t_{\text{max}} = 100 次)、IMPA-FD(improved marine predator algorithm-fixed dimensions)( t_{\text{max}} = 500 次)、IMPA-AD(improved marine predator algorithm-adjustable dimensions)( t_{\text{max}} = 500 次, M = 35 次)进行对比分析. IMPA-FD是基于文献[11]的IMPA、维度 d_{\text{m}} = \left\lfloor {{{C_{\text{L}}} \mathord{\left/ {\vphantom {{C_{\text{L}}} {\left( {2r_{\text{c}}} \right)}}} \right. } {\left( {2r_{\text{c}}} \right)}}} \right\rfloor \left\lfloor {C_{\text{W}}} \mathord{\left/ {\vphantom {{C{\text{W}}} {\left( {2r_{\text{c}}} \right)}}} \right. } {\left( {2r_{\text{c}}} \right)} \right\rfloor 的迭代部署算法. IMPA-AD是基于本文IMPA、维度函数的迭代部署算法. r_{\text{c}}=25 m, r_{\text{d}}=2r_{\text{c}} . 分析目标覆盖率 \eta _{\text{t}} 与地形粗糙度τ对算法性能的影响. 地形粗糙度τ即地表面积与其垂直投影面积之比[23],如式(24)所示. 图3为不同τ下的地形示意. 为降低偶然性,以测试场景独立执行20次的均值表示结果.
\tau = \frac{{\displaystyle\sum\limits_{\varphi \in \varPhi } {q_\varphi } }}{{C_{\text{L}}C_{\text{W}}}}. (24) 1)目标覆盖率 \eta _{\text{t}} 对算法性能的影响
测试地形图3(d), \eta _{\text{t}} 以2.5%为增量从80%递增至100%,分析 \eta _{\text{t}} 对节点部署数目与算法运行时长的影响,结果如图4所示. 由图4(a)可见,随 \eta _{\text{t}} 递增,节点部署问题求解复杂度增大,节点部署数目及其增量逐渐增加;IMPA、EGWO部署节点数目最高、增长幅度最大,这是因为随 \eta _{\text{t}} 提高搜索维度增大,算法求解精度降低;IMPA-FD部署节点数目次高,这是因为维度固定,但增加了冗余节点数目;本文算法、IMPA-AD部署节点数目较少,是因为维度函数提高了算法求解精度;相比于IMPA-AD,本文算法中衍生新个体的过程优化了节点部署与网络覆盖率之间的关系,有助于剔除冗余节点,进一步降低节点部署数目. 与对比算法相比,本文算法的节点部署数目降低2.9%~69.1%. 由图4(b)可见,随 \eta _{\text{t}} 递增,算法运行时长呈上升趋势,IMPA-AD、本文算法的运行时长上升幅度低于其他算法,受 \eta _{\text{t}} 影响小;IMPA-AD运行时长最短,这是因为本文提出的IMPA减少了搜索次数,且维度函数降低了问题求解复杂度. 本文算法因新个体衍生过程使其运行时长略高于IMPA-AD.
2)地形粗糙度τ对算法性能的影响
设置地形高度一定, \eta _{\text{t}} =100%,从节点部署数目、网络密度、网络生命周期以及算法运行时长方面分析算法在不同τ下的性能,结果如图5所示. WSN周期性收集数据,节点均需将感知数据发送至Sink节点[24]. 网络生命周期为首个节点能量耗尽时的网络运行轮次(单位:round). Sink节点坐标(50,0,25),采用DGABT路由算法进行数据传输[25].
图5(a)中,节点部署数目随τ递增,呈下降趋势. 这是因为地形高度一定时,τ增大后节点间空间关联性增强;与其他算法相比,本文算法节点部署数目降低3.1%~74.0%. 由图5(b)可见,随τ递增,本文算法、IMPA-AD的ρ呈上升趋势;IMPA-FD的ρ呈波动趋势;IMPA、EGWO的ρ呈下降趋势. 这是因为随τ递增,本文算法、IMPA-AD节点部署数目略有下降对最大可能边数目影响较大;IMPA-FD节点部署数目减少对网络边数目、最大可能边数目影响相近;IMPA、EGWO节点部署数目锐减对网络边数目影响较大. 由图5(c)可见,τ对网络生命周期具有一定的影响;本文算法对应的网络生命周期高出其他算法13.3%~286.5%,这是因为本文算法综合考虑η与ρ部署节点,使靠近Sink节点的网络密度高,提高节点能量利用率,且节点部署数目少,网络中需转发数据量小,降低数据传输能耗. 由图5(d)可见,算法运行时长随τ递增,呈下降趋势,且本文算法、IMPA-AD因τ增大后节点间空间关联性增强、搜索次数少,故而运行时长短于其他算法,EGWO、IMPA、IMPA-FD、IMPA-AD以及本文算法的运行时长方差分别为563.3、571.4、531.9、154.9、171.1 s2,可见本文算法、IMPA-AD受τ影响小.
5. 结 论
针对起伏地形下WSN节点部署数目多的问题,提出一种节点迭代部署算法,从仿真结果可见本文算法具有如下优点:
1) 有效降低节点部署数目. 相比于其他算法,本文算法在起伏地形一定时,不同 \eta _{\text{t}} ,节点部署数目降低2.9%~69.1%;在地形高度一定, \eta _{\text{t}} = 100\% 时,不同τ,节点部署数目降低3.1%~74.0%.
2) 网络生命周期长. 当 \eta _{\text{t}} = 100\% ,不同τ时,本文算法的网络生命周期高出其他算法13.3%~286.5%.
3) 算法运行时长受 \eta _{\text{t}} 、τ影响较小.
综上所述,在不同测试地形下本文算法均表现出良好的性能,但仍存在算法运行时长高的缺点.
致谢:北京市高速铁路宽带移动通信工程技术研究中心(北京交通大学)开放课题基金资助(BHRC-2022-1).
-
表 1 路网相关参数
Table 1. Railway network parameters
弧段 里程/km 线路容量/
( × 104 车)弧段 里程/km 线路容量/
( × 104 车)(1,2) 210 300 (6,10) 246 300 (1,4) 265 300 (6,11) 280 300 (2,3) 232 300 (9,12) 503 300 (2,6) 123 300 (10,11) 130 300 (3,9) 480 380 (10,13) 115 300 (4,5) 109 300 (11,12) 336 300 (4,7) 190 300 (11,14) 218 300 (5,6) 172 300 (13,14) 158 300 (5,8) 149 380 (7,8) 117 380 (6,9) 368 380 (8,10) 220 400 表 2 年车流OD量
Table 2. Annual OD volume of cargo flow
发站 到站 年 OD 量/
(× 104 车)发站 到站 年 OD 量/
( × 104 车)3 7 55 3 11 52 7 9 35 10 3 40 7 14 50 2 12 50 12 7 45 4 9 45 8 9 64 11 4 46 8 12 52 5 13 70 1 8 60 5 12 68 1 14 40 14 5 62 12 1 50 3 13 50 3 8 65 10 1 45 表 3 车流径路的优化方案
Table 3. Optimization scheme of cargo flow route
发站 到站 优化后的车流径路 3 7 3→2→1→4→5→8→7 7 9 7→8→5→6→2→3→9 7 14 7→8→10→13→14 12 7 12→11→6→2→1→4→7 8 9 8→5→4→1→2→6→9 8 12 8→5→6→9→12 1 8 1→4→7→8 1 14 1→4→5→8→10→13→14 12 1 12→9→3→2→1 3 8 3→9→6→10→8 3 11 3→9→6→10→11 10 3 10→6→2→3 2 12 2→6→11→12 4 9 4→7→8→10→6→9 11 4 11→14→13→10→8→7→4 5 13 5→8→10→11→14→13 5 12 5→8→10→13→14→11→12 14 5 14→11→6→5 3 13 3→9→6→11→10→13 10 1 10→6→2→1 表 4 区间通过流量统计
Table 4. Interval traffic statistics
弧段 区间车流量/( × 104 车) 线路利用率/% (1,2) 256 86.33 (1,4) 264 88.00 (2,3) 180 60.00 (2,6) 279 93.00 (3,9) 252 66.32 (4,5) 119 39.67 (4,7) 236 78.67 (5,6) 149 49.67 (5,8) 344 90.53 (6,9) 328 86.31 (6,10) 247 82.33 (6,11) 207 69.00 (9,12) 102 34.00 (10,11) 172 57.33 (0,13) 254 84.67 (11,12) 163 54.33 (11,14) 246 82.00 (13,14) 274 91.33 (7,8) 331 87.11 (8,10) 384 96.00 表 5 改进前后模型的车流总走行公里
Table 5. Cargo flow kilometers before and after improving model
模型 算法 车流总走行数/
(车 • km)模型 P GWO 无法在限定范围内找
到可行解IGWO 模型 Q GWO 1132405 IGWO 1073973 表 6 两种算法的质量指标
Table 6. Quality metrics for two algorithms
算法 平均绕
行率选择最短路径的
OD 数/个车流总走行数/
(车 • km)GWO 1.55 3 1132405 IGWO 1.51 6 1073973 -
[1] 纪丽君,林柏梁,乔国会,等. 基于多商品流模型的铁路网车流分配和径路优化模型[J]. 中国铁道科学,2011,32(3): 107-110.JI Lijun, LIN Boliang, QIAO Guohui, et al. Car flow assignment and routing optimization model of railway network based on multi-commodity flow model[J]. China Railway Science, 2011, 32(3): 107-110. [2] 温旭红,林柏梁,王龙,等. 基于多商品网络流理论的铁路车流分配及径路优化模型[J]. 北京交通大学学报,2013,37(3): 117-121. doi: 10.3969/j.issn.1673-0291.2013.03.022WEN Xuhong, LIN Boliang, WANG Long, et al. Optimization model for railway car flow assignment and routing plan based on multi-commodity network flow theory[J]. Journal of Beijing Jiaotong University, 2013, 37(3): 117-121. doi: 10.3969/j.issn.1673-0291.2013.03.022 [3] 温旭红,林柏梁,陈雷. 基于树形结构的铁路车流径路优化模型[J]. 铁道学报,2016,38(4): 1-6. doi: 10.3969/j.issn.1001-8360.2016.04.001WEN Xuhong, LIN Boliang, CHEN Lei. Optimization model of railway vehicle flow routing based on tree form[J]. Journal of the China Railway Society, 2016, 38(4): 1-6. doi: 10.3969/j.issn.1001-8360.2016.04.001 [4] 严余松,户佐安,李宵寅. 基于车流量波动的列车编组计划与车流径路综合优化[J]. 交通运输系统工程与信息,2017,17(4): 124-131. doi: 10.16097/j.cnki.1009-6744.2017.04.019YAN Yusong, HU Zuoan, LI Xiaoyin. Comprehensive optimization of train formation plan and wagon-flow path based on fluctuating wagon-flow[J]. Journal of Transportation Systems Engineering and Information Technology, 2017, 17(4): 124-131. doi: 10.16097/j.cnki.1009-6744.2017.04.019 [5] 王文宪,柏伟,邓鹏. 考虑换重条件的重载直达车流组织研究[J]. 交通运输工程与信息学报,2013,11(1): 68-73. doi: 10.3969/j.issn.1672-4747.2013.01.013WANG Wenxian, BAI Wei, DENG Peng. Study on optimized organization scheme for through heavy haul trains based on changing-for-weight[J]. Journal of Transportation Engineering and Information, 2013, 11(1): 68-73. doi: 10.3969/j.issn.1672-4747.2013.01.013 [6] UPADHYAY A, BOLIA N. Combined empty and loaded train scheduling for dedicated freight railway corridors[J]. Computers & Industrial Engineering, 2014, 76: 23-31. [7] BORNDÖRFER R, KLUG T, SCHLECHTE T, et al. The freight train routing problem for congested railway networks with mixed traffic[J]. Transportation Science, 2016, 50(2): 408-423. doi: 10.1287/trsc.2015.0656 [8] YAGHINI M, MOMENI M, SARMADI M. An improved local branching approach for train formation planning[J]. Applied Mathematical Modelling, 2013, 37(4): 2300-2307. doi: 10.1016/j.apm.2012.05.016 [9] KHALED A A, JIN M Z, CLARKE D B, et al. Train design and routing optimization for evaluating criticality of freight railroad infrastructures[J]. Transportation Research Part B:Methodological, 2015, 71: 71-84. doi: 10.1016/j.trb.2014.10.002 [10] 温旭红. 铁路车流分配优化模型与拉格朗日松弛算法求解研究[D]. 北京: 北京交通大学, 2016. [11] MIRJALILI S, MIRJALILI S M, LEWIS A. Grey wolf optimizer[J]. Advances in Engineering Software, 2014, 69: 46-61. doi: 10.1016/j.advengsoft.2013.12.007 [12] FARIS H, ALJARAH I, AL-BETAR M A, et al. Grey wolf optimizer:a review of recent variants and applications[J]. Neural Computing and Applications, 2018, 30(2): 413-435. doi: 10.1007/s00521-017-3272-5 [13] ZHU E D, CRAINIC T G, GENDREAU M. Scheduled service network design for freight rail transportation[J]. Operations Research, 2014, 62(2): 383-400. doi: 10.1287/opre.2013.1254 [14] 黄戈文,蔡延光,戚远航,等. 自适应遗传灰狼优化算法求解带容量约束的车辆路径问题[J]. 电子学报,2019,47(12): 2602-2610.HUANG Gewen, CAI Yanguang, QI Yuanhang, et al. Adaptive genetic grey wolf optimizer algorithm for capacitated vehicle routing problem[J]. Acta Electronica Sinica, 2019, 47(12): 2602-2610. [15] WANG C Y, MA C, ZHOU J C. A new class of exact penalty functions and penalty algorithms[J]. Journal of Global Optimization, 2014, 58(1): 51-73. doi: 10.1007/s10898-013-0111-9 [16] 甘敏,彭辉. 一种新的自适应惩罚函数算法求解约束优化问题[J]. 信息与控制,2009,38(1): 24-28. doi: 10.3969/j.issn.1002-0411.2009.01.004GAN Min, PENG Hui. A new adaptive penalty function based algorithm for solving constrained optimization problems[J]. Information and Control, 2009, 38(1): 24-28. doi: 10.3969/j.issn.1002-0411.2009.01.004 [17] 吴亮红,王耀南,周少武,等. 采用非固定多段映射罚函数的非线性约束优化差分进化算法[J]. 系统工程理论与实践,2007,27(3): 128-133,160. doi: 10.3321/j.issn:1000-6788.2007.03.019WU Lianghong, WANG Yaonan, ZHOU Shaowu, et al. Differential evolution for nonlinear constrained optimization using non-stationary multi-stage assignment penalty function[J]. Systems Engineering—Theory & Practice, 2007, 27(3): 128-133,160. doi: 10.3321/j.issn:1000-6788.2007.03.019 [18] 肖赤心,蔡自兴,王勇,等. 一种基于佳点集原理的约束优化进化算法[J]. 控制与决策,2009,24(2): 249-253,258. doi: 10.3321/j.issn:1001-0920.2009.02.018XIAO Chixin, CAI Zixing, WANG Yong, et al. Constrained optimization evolutionary algorithm based on good lattice points principle[J]. Control and Decision, 2009, 24(2): 249-253,258. doi: 10.3321/j.issn:1001-0920.2009.02.018 [19] 张文胜,郝孜奇,朱冀军,等. 基于改进灰狼算法优化BP神经网络的短时交通流预测模型[J]. 交通运输系统工程与信息,2020,20(2): 196-203. doi: 10.16097/j.cnki.1009-6744.2020.02.029ZHANG Wensheng, HAO Ziqi, ZHU Jijun, et al. BP neural network model for short-time traffic flow forecasting based on transformed grey wolf optimizer algorithm[J]. Journal of Transportation Systems Engineering and Information Technology, 2020, 20(2): 196-203. doi: 10.16097/j.cnki.1009-6744.2020.02.029 -