随机攻击策略下的城市群交通网络可靠性修复方法与流程

文档序号:11216987阅读:311来源:国知局
随机攻击策略下的城市群交通网络可靠性修复方法与流程

本发明涉及交通网络领域,尤其是随机攻击策略下的城市群交通网络可靠性修复方法。



背景技术:

随着城市群的不断发展,在城市群内的各种交通网络日益复杂,交通网络可靠性面临的挑战不断增多。城市群交通网络中的站点,一旦面对重大自然灾害,节点的负荷发生变化,使得站点内的客货流向其他站点流动,进而导致其余站点的负荷过大致使站点失效,以此形成恶性循环。致使运输效率将大幅度下降,严重影响着人民正常生产生活安全。因此,如何利用有限的资源对网络进行快速、有效地修复,及时恢复网络功能,是本方法着重解决的问题。本方法能够找寻随机异常事件发生后较优的修复策略,以最大程度恢复网络可靠性。此外,本方法存在着较强的实用价值,可以减少因部分站点失效而影响城市群正常运转所带来的经济损失,提高网络抵御异常事件影响的能力。

近年来,学者们对交通网络的可靠性研究越来越多。王云琴在硕士学位论文中,以两种测度指标,网络效率和最大连通子图的相对大小研究了北京轨道交通网络的可靠性。种鹏云等将级联失效平均规模作为网络抗毁性的评估测度指标,对危险品运输关联网络的级联失效机理进行了仿真。赵渺希等基于网络中的点权,提出了轨道交通网络测度指标的方法。随着交通网络可靠性研究的不断深入,程杰等人基于级联失效原理,提出了一种城市交通网络的修复方法,并与普通的复杂网络修复策略进行了对比。王正武等人基于网络中节点的修复效果,依据节点的重要性排序提出了一种城市道路交通的修复方法。

目前城市群发展迅速,而对于城市群交通网络的修复方法还未存在相关研究。在城市交通网络修复方面,程杰等人提出的修复方法其算法效率偏低。而城市群节点众多,节点之间的连边关系错综复杂,该方法将难以适用于城市群交通网络之中。王正武等人提出的修复方法,没有考虑边的权重,即认为所有边的权重均是一样的。而在城市群交通网络中,部分线路承担的客货流较大,则相应边的权重就较高。此外,以上方法均认为负荷超过其容量,则该节点就失效。但是,在实际的交通网络中,节点往往还存在着一定的冗余能力。在此时刻节点的运行效率低下,节点的状态即对应为暂停状态,但目前关于交通网络修复的研究均没有考虑到该情况。并且没有研究修复一个节点而使得暂停节点恢复正常的情况。

因此,对于上述问题有必要提出随机攻击策略下的城市群交通网络可靠性修复方法。



技术实现要素:

针对上述现有技术中存在的不足,本发明的目的在于提供随机攻击策略下的城市群交通网络可靠性修复方法,以最大化恢复可靠性为目标,为交通网络的修复提出科学、高效的方案。

随机攻击策略下的城市群交通网络可靠性修复方法,其特征在于:其方法步骤为:步骤1为构建城市群交通网络模型;步骤2为城市群交通网络级联失效仿真;步骤3为基于改进二进制粒子群算法的城市群交通网络可靠性修复方法,所述步骤1还包括:

步骤1.1:根据城市群交通网络存在的类别,构建单种交通网络模型,如城市群内存在四种运输方式,则需分别构建道路交通网络模型、轨道交通网络模型、航空运输网络模型、水路运输网络模型;

步骤1.2:在各种交通网络模型中,若汽车站、火车站、机场、港口的地理位置较近,则对节点进行叠加,在城市群交通网络中视其为一个节点;

步骤1.3:以汽车的发车频率、火车的开行列车数、飞机的航班班次、船舶的航线班次分别作为道路交通网络、轨道交通网络、航空运输网络、水路运输网络中边的权重。运用熵权法求得每种运输方式的重要程度,最终在城市群交通网络中边ij的权重ew(i,j)为重要程度与单一交通网络中边权重的乘积;

步骤1.4:依据汽车站、火车站、机场、港口的旅客最高集聚人数,确定网络中节点i的容量c(i)。则叠加后的节点容量为叠加前节点容量之和。

步骤1.1进一步包括:步骤1.1.1:以城市群内的汽车站为道路交通网络中的节点,若汽车站之间通车,则节点之间存在一条边相连,以此构建道路交通网络模型;

步骤1.1.2:以城市群内的火车站为轨道交通网络中的节点,若火车站之间有轨道线路相连,则节点之间存在一条边相连,以此构建轨道交通网络模型;

步骤1.1.3:以城市群内的机场为航空运输网络中的节点,若机场之间有航班飞行,则节点之间存在一条边相连,以此构建航空运输网络模型;

步骤1.1.4:以城市群内的港口为水路运输网络中的节点,若港口之间存在通航船舶,则节点之间存在一条边相连,以此构建水路运输网络模型。

步骤2进一步包括:步骤2.1:根据容量系数α,可确定节点i在未攻击时刻的负荷l(i)如式(1);

l(i)=α×c(i)(1)

步骤2.2:以随机攻击的策略攻击节点i;

步骤2.3:节点i失效,判断是否存在正常状态且相连的节点j,若存在则负荷l(i)分配给与其相连的节点j,节点j的负荷如式(2)。若不存在则转至步骤2.5;

其中,d(j)为节点j的节点度,即节点所连的边数,φ为与节点i相连正常节点的集合。

步骤2.4:判断相连节点j的状态;

其中,β为过载系数。若节点失效,则转至步骤2.3,否则转至步骤2.5;

步骤2.5:判断暂停节点是否存在状态正常的相连节点,如果存在则进行负荷分配;

步骤2.6:判断是否遍历所有暂停节点,若是则依据式(3)判断所有节点状态,并转至步骤2.7,否则转至步骤2.5;

步骤2.7:更新迭代次数,并判断迭代次数是否小于攻击次数,如迭代次数小于攻击次数,则返回步骤2.2,否则结束级联失效仿真。

步骤3进一步包括:步骤3.1:设种群内有若干粒子,每个粒子则是一种修复方案,粒子的维度均相同,即失效节点数n。对速度以及位置进行初始化,并计算出每个粒子的适应度;

步骤3.2:对适应度排序,从初始化的种群中选择出优势粒子、普通粒子以及劣势粒子;

步骤3.3:每个粒子的位置均对应一个速度,则粒子i中第j个维度的速度为vij,更新速度如式(4);

vij=w×vij+rand×c1×(pibij-pij)+rand×c2×(pgbj-pij)(4)

其中,w为惯性权重,rand为0至1的随机数,c1,c2分别为自我学习因子与社会学习因子,pibij为第i个粒子最优适应度第j个维度的取值,pgbj为所有粒子历史最优适应度第j个维度的取值;

步骤3.4:运用精细扰动算子对优势粒子的速度进行扰动;

步骤3.5:运用速度混沌搜索算子对劣势粒子的速度进行更新;

步骤3.6:依据粒子的速度,则粒子i位置j的更新公式如式(5);

步骤3.7:运用修复约束算子对每个粒子的位置进行约束;

步骤3.8:计算每个粒子i的适应度f(i),若f(i)>fib(i),则将粒子i的位置赋值于粒子i最优适应度时的位置,更新粒子i的最优适应度。若f(i)>fgb,则将粒子i的位置赋值于所有粒子中历史最优适应度时的位置,更新所有粒子历史最优适应度、位置及速度。其中,fib(i)为粒子i最优的适应度,fgb为所有粒子历史最优的适应度;

步骤3.9:对适应度排序,从种群中选择出优势粒子、普通粒子以及劣势粒子;

步骤3.10:更新迭代次数,判断是否已达到最大迭代数,若未满足则转向步骤3.3,若满足则将种群中历史最优适应度及其位置输出。将其位置对应为修复的节点,即该方案则是城市群交通网络较优的修复方案。

本发明根据节点的三种状态,考虑了交通网络中存在的级联失效现象,可以在仿真、修复中体现出节点与节点之间的影响。依据网络中边的重要性为边赋予了权重,能够准确的度量城市群交通网络可靠性受到的影响。考虑负荷随修复节点状态变化的特性,即每修复一个失效节点,网络中正常节点均会分担暂停节点负荷的过程,能够更加客观的描述城市群交通流现象。改进了二进制粒子群算法,提出了精细扰动算子以及速度混沌搜索算子,通过优势粒子与劣势粒子协同配合一方面提高了解的精细程度,另一方面增加了粒子在解空间的搜索能力。此外修复约束算子使得所有粒子均是可行解以保证算法的高效、简便,并将其运用在了城市群交通网络修复中,能够提供较优的修复方案,最大程度的恢复城市群交通网络的可靠性。

附图说明

图1为城市群交通网络构建示意图;

图2为城市群交通网络级联失效机理示意图;

图3为改进二进制粒子群算法示意图;

图4为节点修复后所有节点的负荷以及状态变化示意图;

图5为呼包鄂城市群交通网络边的权重示意图;

图6为呼包鄂城市群交通网络邻接矩阵示意图;

图7为呼包鄂城市群交通网络受到随机攻击下可靠性测度指标变化示意图;

图8为基于改进二进制粒子群算法下,种群历史最优适应度的变化图像。

具体实施方式

以下结合附图对本发明的实施例进行详细说明,但是本发明可以由权利要求限定和覆盖的多种不同方式实施。

如图1并结合图2至图8所示,随机攻击策略下的城市群交通网络可靠性修复方法,其特征在于:其方法步骤为:步骤1为构建城市群交通网络模型;步骤2为城市群交通网络级联失效仿真;步骤3为基于改进二进制粒子群算法的城市群交通网络可靠性修复方法,所述步骤1还包括:

步骤1.1:根据城市群交通网络存在的类别,构建单种交通网络模型,如城市群内存在四种运输方式,则需分别构建道路交通网络模型、轨道交通网络模型、航空运输网络模型、水路运输网络模型;

步骤1.2:在各种交通网络模型中,若汽车站、火车站、机场、港口的地理位置较近,则对节点进行叠加,在城市群交通网络中视其为一个节点;

步骤1.3:以汽车的发车频率、火车的开行列车数、飞机的航班班次、船舶的航线班次分别作为道路交通网络、轨道交通网络、航空运输网络、水路运输网络中边的权重。运用熵权法求得每种运输方式的重要程度,最终在城市群交通网络中边ij的权重ew(i,j)为重要程度与单一交通网络中边权重的乘积;

步骤1.4:依据汽车站、火车站、机场、港口的旅客最高集聚人数,确定网络中节点i的容量c(i)。则叠加后的节点容量为叠加前节点容量之和。

步骤1.1进一步包括:步骤1.1.1:以城市群内的汽车站为道路交通网络中的节点,若汽车站之间通车,则节点之间存在一条边相连,以此构建道路交通网络模型;

步骤1.1.2:以城市群内的火车站为轨道交通网络中的节点,若火车站之间有轨道线路相连,则节点之间存在一条边相连,以此构建轨道交通网络模型;

步骤1.1.3:以城市群内的机场为航空运输网络中的节点,若机场之间有航班飞行,则节点之间存在一条边相连,以此构建航空运输网络模型;

步骤1.1.4:以城市群内的港口为水路运输网络中的节点,若港口之间存在通航船舶,则节点之间存在一条边相连,以此构建水路运输网络模型。

步骤2进一步包括:步骤2.1:根据容量系数α,可确定节点i在未攻击时刻的负荷l(i)如式(1);

l(i)=α×c(i)(1)

步骤2.2:以随机攻击的策略攻击节点i;

步骤2.3:节点i失效,判断是否存在正常状态且相连的节点j,若存在则负荷l(i)分配给与其相连的节点j,节点j的负荷如式(2)。若不存在则转至步骤2.5;

其中,d(j)为节点j的节点度,即节点所连的边数,φ为与节点i相连正常节点的集合。

步骤2.4:判断相连节点j的状态;

其中,β为过载系数。若节点失效,则转至步骤2.3,否则转至步骤2.5;

步骤2.5:判断暂停节点是否存在状态正常的相连节点,如果存在则进行负荷分配;

步骤2.6:判断是否遍历所有暂停节点,若是则依据式(3)判断所有节点状态,并转至步骤2.7,否则转至步骤2.5;

步骤2.7:更新迭代次数,并判断迭代次数是否小于攻击次数,如迭代次数小于攻击次数,则返回步骤2.2,否则结束级联失效仿真。

步骤3进一步包括:步骤3.1:设种群内有若干粒子,每个粒子则是一种修复方案,粒子的维度均相同,即失效节点数n。对速度以及位置进行初始化,并计算出每个粒子的适应度;

步骤3.2:对适应度排序,从种群中选择出优势粒子、普通粒子以及劣势粒子;

步骤3.3:每个粒子的位置均对应一个速度,则粒子i中第j个维度的速度为vij,更新速度如式(4);

vij=w×vij+rand×c1×(pibij-pij)+rand×c2×(pgbj-pij)(4)

其中,w为惯性权重,rand为0至1的随机数,c1,c2分别为自我学习因子与社会学习因子,pibij为第i个粒子最优适应度第j个维度的取值,pgbj为所有粒子历史最优适应度第j个维度的取值;

步骤3.4:运用精细扰动算子对优势粒子的速度进行扰动;

步骤3.5:运用速度混沌搜索算子对劣势粒子的速度进行更新;

步骤3.6:依据粒子的速度,则粒子i位置j的更新公式如式(5);

步骤3.7:运用修复约束算子对每个粒子的位置进行约束;

步骤3.8:计算每个粒子i的适应度f(i),若f(i)>fib(i),则将粒子i的位置赋值于粒子i最优适应度时的位置,更新粒子i的最优适应度。若f(i)>fgb,则将粒子i的位置赋值于所有粒子历史最优适应度时的位置,更新所有粒子历史最优适应度及速度。其中,fib(i)为粒子i最优的适应度,fgb为所有粒子历史最优的适应度;

步骤3.9:对种群中的粒子进行评价,选择出优势粒子、普通粒子以及劣势粒子;

步骤3.10:更新迭代次数,判断是否已达到最大迭代数,若未满足则转向步骤3.3,若满足则将种群中历史最优适应度及其位置输出。将其位置对应为修复的节点,即该方案则是城市群交通网络较优的修复方案。

实施案例一:

以下结合呼包鄂城市群实例对发明方法进行详细描述。

步骤1:在呼包鄂城市群中,汽车站与火车站众多,道路运输方式与轨道运输方式承担客货比例较大。因此,构建道路交通网络模型与轨道交通网络模型,对两者叠加构建呼包鄂城市群交通网络模型。

步骤1.1:根据互联网以及呼包鄂三市的运管局,对呼包鄂城市群内的汽车站、汽车线路、发车频率、站点最高集聚人数进行获取与统计。将汽车站抽象为节点,若两汽车站之间有线路相连则对应节点存在一条边相连,将发车频率记为道路交通网络中边的权重,将站点的最高集聚人数记为节点的容量,以此构建道路交通网络模型。

步骤1.2:根据互联网以及呼包鄂三市的火车站,对呼包鄂城市群内的火车站、火车线路、火车的开行列车数、站点最高集聚人数进行获取与统计。将火车站抽象为节点,若火车站之间有线路相连则对应节点存在一条边相连,将火车的开行列车数记为轨道交通网络中边的权重,将站点的最高集聚人数记为节点的容量,以此构建轨道交通网络模型。

步骤1.3:根据呼包鄂三市的运管局、火车站,调查得出道路运输方式、轨道运输方式的客货运量、周转量。根据熵权法可得出道路运输方式的重要程度为0.6627,轨道运输方式的重要程度为0.3373。则在城市群交通网络中边的权重为重要程度与单一交通网络中边的权重乘积。最终,城市群交通网络边的权重如图5所示。

步骤1.4:对较近的节点进行叠加,在城市群交通网络中将其视为一个节点,对容量求和则得出叠加后节点的容量。若两节点之间存在多条边相连,则还需对边的权重进行求和,将其视为一条边相连,以此构建呼包鄂城市群交通网络模型。

步骤1.5:由呼包鄂城市群交通网络可得出其邻接矩阵am,如图6。若节点i与节点j之间存在边相连,则邻接矩阵am中第i行的第j列以及第j行的第i列数字为1,否则为0。

步骤2:呼包鄂城市群级联失效可靠性仿真,步骤2.1:令容量系数α=0.7,根据式(1)即可确定每个节点的初始负荷,随机攻击50个节点,迭代次数t=0,并计算网络中的节点度。

步骤2.2:在呼包鄂城市群中随机选择节点k进行攻击。

步骤2.3:节点k失效,则在邻接矩阵am中,使得第k行与第k列的数字均为0。

步骤2.4:找出与失效节点相连的正常节点。若存在,则根据(2)式将负荷进行分配,否则转至步骤2.6。

步骤2.5:令过载系数β=1.2,根据(3)式,对相连节点的状态进行判断,若节点为失效状态,则转至步骤2.3,否则转至步骤2.6。步骤2.6:判断暂停节点是否存在状态正常的相连节点,如果存在则进行负荷分配,运行负荷分配算子。

负荷分配算子

步骤(a):判断状态为暂停的节点h,是否存在与其相连且状态为正常的节点s。若不存在,则转至步骤(e)。若存在,转至步骤(b)。

步骤(b):将暂停节点h部分负荷分配于节点s。则负荷分配量δl计算如式(8)。

δl=min{l(h)-c(h),c(s)-l(s)}(8)

其中,min{l(h)-c(h),c(s)-l(s)}表示从l(h)-c(h)与c(s)-l(s)中选择较小的值。

步骤(c):根据负荷分配量δl,更新节点的负荷,如式(9)、式(10)。

l(s)=l(s)+δl(9)

l(h)=l(h)-δl(10)

步骤(d):根据式(3)更新所有节点的状态。

步骤(e):判断是否遍历所有状态为暂停的节点,如果是则算子结束;否则转至步骤(a)。

步骤2.7:依据式(3)判断所有节点状态。

步骤2.8:计算可靠性测度指标e。

步骤2.8.1:根据边与边之间的权重,为任意节点o、q之间的距离disoq赋值如式(6)。

步骤2.8.2:运用folyd最短路算法,计算出状态为正常节点o、q之间的最短距离dis′oq,以此计算可靠性测度指标e,计算公式如式(7)。

其中,n为网络中节点的个数,ω为网络中节点的集合。

步骤2.9:t=t+1。判断迭代次数t是否小于攻击次数。如迭代次数小于攻击次数,则返回步骤2.2。反之,结束级联失效仿真,并将节点的状态、负荷、容量进行输出。受攻击后节点的状态、网络的可靠性如表1、表2所示,可靠性测度指标变化如图7所示。

步骤3:基于改进二进制粒子群算法的城市群交通网络可靠性修复方法。

步骤3.1:在级联失效仿真过程中有n个节点失效,n=56,修复节点数rn=30。令种群内有100个粒子,每个粒子的维度为56,迭代次数200次,当前迭代次数t=0。粒子的位置与节点的对应关系如表3所示。

步骤3.2:初始化粒子的速度与位置。由于粒子的速度过大或者过小均难以找到最优解,因此,所有粒子每个维度的速度均在[vmin,vmax]中随机取值。在本方法中vmin=-4,vmax=4,并且令hdjs=0。粒子的位置则随机取0或者1。

步骤3.3:计算初始化粒子的适应度。

步骤3.3.1:将粒子i的位置j对应于失效节点k,若粒子i的位置j为1,则节点k修复,其负荷l(k)=0,节点状态为正常,在邻接矩阵am中失效节点所在的第k行,第k列恢复未失效前的值。如位置为0,否则未修复。

步骤3.3.2:待节点修复后,由于其状态为正常,因此会承担相连暂停节点的一部分负荷,为了描述该现象,运行负荷分配算子。

步骤3.3.3:计算粒子i的适应度f(i),即可靠性测度指标e。由于暂停节点与失效节点不能正常运转,因此只计算状态为正常的节点,计算公式如式(7)。

步骤3.4:对适应度进行排序,选择初始化粒子中适应度前y%个粒子为优势粒子,选择y%个适应度靠后的粒子为劣势粒子,其余则为普通粒子,在本方法中y取20。

步骤3.5:根据(4)式对粒子i的速度j进行更新,令c1=2,c2=2。其中,wmax,wmin分别为惯性权重的最大值和惯性权重的最小值,本方法中wmax=1,wmin=0.5。

步骤3.6:种群中优势粒子在很大程度上决定着算法性能,而优势粒子的位置依赖着其速度。从式(4)可以发现,在迭代后期优势粒子由于相似从而失去了对于自我以及种群的学习,并且速度在惯性权重的影响下越来越小,导致优势粒子难以对问题的解进行精细搜索,因此本方法采用精细扰动算子进行搜索。

精细扰动算子

步骤(1):根据优势粒子r的b维速度与种群历史最优适应度粒子的速度vgb,可以计算其扰动量rdrb,如式(11)。

在本方法中,δ=0.1。

步骤(2):根据速度的扰动量更新优势粒子的速度,更新公式如(12)。

vrb=vrb(1+rdrb)(12)

步骤(3):若优势粒子的速度超过边界,则对其进行限制。

步骤(4):判断是否更新所有优势粒子所有维度的速度,若是则算子结束,否则返回步骤(1)。

步骤3.7:在种群中优势粒子往往位于局部最优解,而在进行精细搜索时则难以找到全局最优解。因此,这就需要劣势粒子对解空间进行全局搜索。由于混沌原理具有着很好的遍历性,能够不重复的对解空间进行搜索,提高了种群逃离局部最优解的可能性,因此利用速度混沌搜索算子对劣势粒子的速度进行更新。

速度混沌搜索算子

目前大部分文献运用logistic映射进行混沌搜索,但是通过研究已经表明logistic映射所产生的混沌变量其分布并非均匀,存在着边界值分布较多的缺点。而kent映射所产生的混沌变量分布均匀,适用于本方法的需要,因此本方法采取kent映射进行混沌搜索,其迭代公式如式(13)。

步骤(1):将历史最优适应度粒子的速度vgb映射至(0,1)的区间内,映射公式如式(14)。

步骤(2):判断历史最优适应度粒子的速度vgb是否被更新,若被更新则hdjs=0,否则hdjs=hdjs+1。

步骤(3):由归一后历史最优适应度粒子的速度vgbb′(b=1,2,···,56)带入到kent映射产生混沌序列zmb(m=1,2,···,20hdjs+20),kent映射如式(13),在本方法中,φ取值为0.3。

步骤(4):将混沌序列后20个zmb(m=20hdjs+1,20hdjs+2,···,20hdjs+20)载波到原解空间中,公式如式(15)。

v′mb=vmin+(vmax-vmin)zmb(15)

步骤(5):根据kent映射产生的新解以及原解进行劣势粒子u速度b的更新,如式(16),则算子结束。

vub=λvub+(1-λ)v′mb(16)

其中,

步骤3.8:依据(5)式更新所有粒子i的位置j,其中g(vij)函数如式(17)。

若vij>vmax,则vij=vmax。若vij<vmin,则vij=vmin。

步骤3.9:统计粒子i中位置为1的个数,如果等于rn转至步骤3.10,否则使用修复约束算子对粒子的位置进行约束。

修复约束算子

随着迭代次数的不断增加,为使劣势粒子遍历解空间。并且为满足修复个数rn的要求,使得所有粒子均是可行解以提高算法的效率,即采取以下步骤。若粒子i中位置为1的个数之和gs(i)大于rn,则转至步骤(1),否则转至步骤(2)。

步骤(1):若粒子为优势粒子则转至步骤(a);若粒子为普通粒子且则转至步骤(a)。否则,转至步骤(b);若粒子为劣势粒子,则转至步骤(b)。

步骤(a):令粒子i中取值为1的位置随机变为0,若粒子i中取值为1的位置个数之和gs(i)等于rn,则算子终止,转至步骤3.10,否则重复步骤(a)。

步骤(b):为增加种群的多样性,使得在种群中出现1次数较多的位置变为0,令出现1次数较少的位置保存下来,以增加跳出局部极大值的可能性。采取以下步骤:

①计算种群中所有位置j为1的次数og(j)。

②将种群中位置出现1的次数归一至[-1,1]。则位置j归一后的数据os(j)计算如式(18)。

其中ogmin,ogmax为种群中所有粒子位置出现1次数的最小值与最大值。

③令j=0,js=0。

④j=j+1,计算op(j)如式(19)。

op(j)=f(os(j))(19)

其中

⑤如果rand<op(j)且p(i,j)=1,则p(i,j)=0,js=js+1。

⑥如果j=n,则j=0。

⑦如果js=gs(i)-rn,则结束修复约束算子并转至步骤3.10,否则转至④。

步骤(2):若粒子为优势粒子则转至步骤(a);若粒子为普通粒子且则转至步骤(a)。否则,转至步骤(b);若粒子为劣势粒子,则转至步骤(b)。

步骤(a):令粒子i中取值为0的位置随机变为1,若粒子i中取值为1的位置个数之和等于rn,则算子终止,转至步骤3.10,否则重复步骤(a)。

步骤(b):

①计算种群中所有位置j为1的次数og(j)。

②将种群中位置出现1的次数归一至[-1,1]。则位置j归一后的数据os(j)计算如式(18)。

③令j=0,js=0。

④j=j+1,计算op(j)如式(19)。

⑤如果rand>op(j)且p(i,j)=0,则p(i,j)=1,js=js+1。

⑥如果j=n,则j=0。

⑦如果js=rn-gs(i),则结束修复约束算子并转至步骤3.10,否则转至④。

步骤3.10:计算每个粒子i的适应度f(i),计算过程如步骤3.3。

步骤3.11:对适应度排序,选择粒子中适应度前20%个粒子为优势粒子,选择20%个适应度靠后的粒子为劣势粒子,其余则为普通粒子。

步骤3.12:若f(i)>fib(i),则将粒子i的位置赋值于粒子i最优适应度时的位置,更新粒子i的最优适应度。若f(i)>fgb,则将粒子i的位置赋值于所有粒子历史最优适应度时的位置,更新所有粒子的历史最优适应度以及种群中历史最优适应度的速度vgb。

步骤3.13:更新迭代次数t,判断是否t>200,若未满足则转向步骤3.5,若满足则转至步骤3.14。每次迭代种群的历史最优适应度如图8所示。

步骤3.14:将种群中历史最优适应度及其位置输出。则种群中历史最优适应度时的位置,即可对应为城市群交通网络级联失效较优的修复方案,修复后节点状态的变化如表4所示,种群历史最优适应度位置取值如表5所示。

本方法中以汽车站为道路交通网络的节点,以火车站为轨道交通网络的节点,以机场为航空运输网络的节点,以港口为水路运输网络的节点。其他方案可能以城市为网络中的节点,也可构建城市群交通网络模型;本方法以多种交通网络模型为基础构建了城市群交通网络模型,其他方案则可能构建单一交通网络模型。本方法以随机攻击的策略对交通网络进行攻击,其他方案也可以运用蓄意攻击、基于介数攻击、或其他攻击方式同样可以使得节点失效,在步骤3中,本方法采用改进二进制粒子群算法对城市群交通网络可靠性修复方案进行优化。替代技术方案采用其他优化算法也可以完成相同目的,例如二进制遗传算法、模拟退火算法、二进制蚁群算法、免疫粒子群算法等。

本发明根据节点的三种状态,考虑了交通网络中存在的级联失效现象,可以在仿真、修复中体现出节点与节点之间的影响。依据网络中边的重要性为边赋予了权重,能够准确的度量城市群交通网络可靠性受到的影响。考虑负荷随修复节点状态变化的特性,即每修复一个失效节点,网络中正常节点均会分担暂停节点负荷的过程,能够更加客观的描述城市群交通流现象。改进了二进制粒子群算法,提出了精细扰动算子以及速度混沌搜索算子,通过优势粒子与劣势粒子协同配合一方面提高了解的精细程度,另一方面增加了粒子在解空间的搜索能力。此外修复约束算子使得所有粒子均是可行解以保证算法的高效、简便,并将其运用在了城市群交通网络修复中,能够提供较优的修复方案,最大程度的恢复城市群交通网络的可靠性。

表1.攻击后节点的状态

表2.攻击后网络可靠性的变化

表3.粒子位置序号与节点序号对应关系

表4.修复后节点的状态

表5.种群历史最优适应度位置的取值

以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1