发明内容
本发明的发明目的是:为了解决现有技术上存在的以上问题,本发明提出了一种基于神经网络和遗传算法的干道相位差仿真优化方法,以期减少干道车辆平均延误时间,提高城市干道运行效率。
本发明的技术方案是:一种基于神经网络和遗传算法的干道相位差仿真优化方法,包括以下步骤:
A.获取干道交叉口的几何尺寸、渠化、间距和交通流量数据;
B.根据步骤A获取的数据在仿真软件中搭建对应的干道仿真模型;
C.利用步骤B搭建的干道仿真模型获取不同相位差情况下对应的干道车辆延误数据;
D.采用神经网络拟合多交叉口相互影响下的相位差和干道车辆延误数据;
E.采用真值编码方法对相位差参数进行处理,生成初始种群;
F.计算步骤E生成的群体中个体的适应度;
G.判断个体适应度是否满足预设终止条件;若满足,则操作结束,得到最优个体;若不满足,则进行下一步骤;
H.采用随机选择方法对群体进行选择处理;
I.采用自适应交叉概率方法对群体进行交叉、变异处理;
J.对群体实施最优保存策略,返回步骤F。
进一步地,所述步骤D采用神经网络拟合多交叉口相互影响下的相位差和干道车辆延误数据,具体包括以下分步骤:
D1、构建神经网络模型,表示为
其中,zi表示隐含层第i个节点输入,i=1,2,…,p,wij表示隐含层第i个节点到输入层第j个节点之间的权值,xj表示输入层第j个节点,j=1,2,…,n,θi表示隐含层第i个节点的阈值,yk表示输出层第k个节点,k=1,2,…,m,vki表示隐含层第i个节点到输出层第k个节点之间的权值,bk表示输出层第k个节点的阈值,ψ(x)表示输出层的激励函数;
D2、以交叉口的相位差作为输入变量,以对应相位差条件下的干道车辆延误数据作为输出变量,对神经网络模型进行训练;
D3、设定神经网络误差阈值,判断步骤D2得到的误差是否小于神经网络误差阈值,若是,则得到交叉口的相位差与干道车辆延误数据的映射关系,若否,则返回步骤D2。
进一步地,所述步骤D2中对神经网络模型进行训练具体为:
根据神经网络模型计算预测误差,建立对N个训练样本的总误差准则函数,表示为
其中,E表示总误差准则函数,和/>分别表示第c个训练样本输出层第k个节点的真实值和计算值;
再根据误差梯度下降法依次修正输出层权值的修正量Δvki,输出层阈值的修正量Δbk,隐含层权值的修正量Δwij,隐含层阈值的修正量Δθi,表示为
其中,η为学习率,φ(x)表示隐含层的激励函数。
进一步地,所述步骤E中采用真值编码方法对相位差参数进行处理,具体为:
将干道交叉口之间的相位差组合作为个体,个体染色体形式表示为λ={λ1,λ2,...,λd}e,其中e为相位差方案编号,λd为第d个相位差;设定最大进化代数为T、种群规模为M、最大交叉概率为Pcmax、最小交叉概率为Pcmin、最大变异概率为Pmmax、最小变异概率为Pmmin。
进一步地,所述步骤F计算步骤E生成的群体中个体的适应度,具体为:
将相位差组合作为输入参数,输入已经训练好的神经网络,输出为该相位差对应的干道车辆延误,将干道车辆延误的倒数作为适应度函数,计算个体的适应度。
进一步地,所述步骤H采用随机选择方法对群体进行选择处理,具体为:
每次随机选择群体中的2个个体,选取适应度高的对应个体到下一代群体中,迭代后得到下一代群体的M个个体。
进一步地,所述步骤I中采用自适应交叉概率方法对群体进行交叉处理,具体为:
在群体中的个体编码串中随机设定一个交叉点;
计算自适应异概率;
以自适应交叉概率在交叉点互相交换两个父代个体的部分染色体,生成两个新的个体。
进一步地,所述步骤I中采用自适应交叉概率方法对群体进行变异处理,具体为:
在群体中的个体编码串中随机设定一个交叉点;
计算自适应异概率;
以自适应变异概率对父代个体变异点基因进行非均匀变异,产生一个均匀变异的随机值,用以替换变异点上的原有基因值,生成新的个体。
进一步地,所述计算自适应异概率的计算公式为
其中,Pc表示交叉概率,Pcmax和Pcmin分别表示交叉概率的上限和下限,fmax和favg分别表示当前群体中的最大适应度值和平均适应度值,f'表示两个交叉个体中适应度较大值,A表示常数。
进一步地,所述步骤J中对群体实施最优保存策略,具体为:
遍历当代群体中适应度最高的个体和适应度最低的个体,判断当前群体中适应度最高个体的适应度是否高于所有代群体中个体的最高适应度;若是,则以当前群体中的最佳个体作为所有代群体中适应度最高的个体;若否,则将所有代群体中适应度最高的个体替换当代群体中适应度最低的个体。
本发明的有益效果是:本发明以干道车辆平均延误最少为优化目标,建立基于神经网络和遗传算法的干道相位差仿真优化方法,并采用自适应遗传算法对模型进行求解,从而减少干道车辆平均延误时间,提高交叉口的运行效率。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
如图1所示,为本发明的基于神经网络和遗传算法的干道相位差仿真优化方法的流程示意图。一种基于神经网络和遗传算法的干道相位差仿真优化方法,包括以下步骤:
A.获取干道交叉口的几何尺寸、渠化、间距和交通流量数据;
B.根据步骤A获取的数据在仿真软件中搭建对应的干道仿真模型;
C.利用步骤B搭建的干道仿真模型获取不同相位差情况下对应的干道车辆延误数据;
D.采用神经网络拟合多交叉口相互影响下的相位差和干道车辆延误数据;
E.采用真值编码方法对相位差参数进行处理,生成初始种群;
F.计算步骤E生成的群体中个体的适应度;
G.判断个体适应度是否满足预设终止条件;若满足,则操作结束,得到最优个体;若不满足,则进行下一步骤;
H.采用随机选择方法对群体进行选择处理;
I.采用自适应交叉概率方法对群体进行交叉、变异处理;
J.对群体实施最优保存策略,返回步骤F。
在步骤A中,如图2所示,为本发明实施例中一条主干道上的四个连续交叉口交通流量示意图,本发明获取干道交叉口的几何尺寸、渠化、间距和交通流量等数据。
在步骤B中,如图3所示,为本发明实施例中一条主干道上的四个连续交叉口的微观仿真示意图,本发明依据一条城市主干道,对道路的实际车道数量、交叉口形式、渠化和间距等物理几何特征进行数据收集后,在Vissim仿真软件中搭建微观仿真模型。
在步骤C中,本发明采用MATLAB编程对Vissim仿真平台进行二次开发,在Vissim仿真环境下,输入交通流量、信号周期和绿信比等基本参数,利用MATLAB编程对Vissim仿真软件进行二次开发,目的在于不断改变干道交叉口之间的相位差,通过对不同相位差方案下的车辆行驶状况进行仿真,可以获得该相位差方案对应的干道车辆延误数据。相邻交叉口之间的相位差取值范围为[0,C),其中C为干道交叉口之间的共同周期。若步距为1,则理论上可以生成Cn个相位差配时方案,n为交叉口数量。为了提高仿真效率,采用随机因子,借助编程随机仿真运行其中的1 000个相位差配时方案,即可以获得1 000组训练数据样本。
在步骤D中,如图4所示,为本发明实施例中神经网络结构示意图,本发明将一条干道上各交叉口的相位差作为输入变量,以干道车辆延误作为输出变量,设置神经网络的基本结构并给出期望的误差范围,然后依据样本数据对构建好的网络不断学习训练,直到满足误差要求,具体包括以下分步骤:
D1、构建神经网络模型,神经网络模型包括输入层、隐含层、输出层和各层之间连接权值,各层之间的存在一定关系,表示为
其中,zi表示隐含层第i个节点输入,i=1,2,…,p,wij表示隐含层第i个节点到输入层第j个节点之间的权值,xj表示输入层第j个节点,j=1,2,…,n,θi表示隐含层第i个节点的阈值,yk表示输出层第k个节点,k=1,2,…,m,vki表示隐含层第i个节点到输出层第k个节点之间的权值,bk表示输出层第k个节点的阈值,ψ(x)表示输出层的激励函数;
D2、以交叉口的相位差作为输入变量,以对应相位差条件下的干道车辆延误数据作为输出变量,对神经网络模型进行训练,具体为:
根据神经网络模型计算预测误差,即根据神经网络模型求得预测值后,与实际结果进行对比,得出预测误差,建立对N个训练样本的总误差准则函数,表示为
其中,E表示总误差准则函数,和/>分别表示第c个训练样本输出层第k个节点的真实值和计算值;
再根据误差梯度下降法依次修正输出层权值的修正量Δvki,输出层阈值的修正量Δbk,隐含层权值的修正量Δwij,隐含层阈值的修正量Δθi,表示为
其中,η为学习率,φ(x)表示隐含层的激励函数。
D3、设定神经网络误差阈值,判断步骤D2得到的误差是否小于神经网络误差阈值,若是,则得到交叉口的相位差与干道车辆延误数据的映射关系,若否,则返回步骤D2。
在设定好神经网络的结构后,通过输入和输出样本对网络进行训练,即周而复始地进行信号的正向传播与误差的反向传播两个过程,对网络的权值和阈值不断学习修正,直到网络输出的误差减少到可接受的程度,从而实现给定的输入/输出映射关系。其中输入为交叉口之间的相位差,输出为对应相位差条件下的车辆延误。
在步骤E中,本发明对交叉口之间的相位差参数采用真值编码方法进行处理,将干道交叉口之间的相位差组合作为个体,个体染色体形式表示为λ={λ1,λ2,...,λd}e,其中e为相位差方案编号,λd为第d个相位差;设定最大进化代数T为200、种群规模M位100、最大交叉概率Pcmax为0.8、最小交叉概率Pcmin为0.2、最大变异概率Pmmax为0.2、最小变异概率Pmmin为0.01。
在步骤F中,本发明以干道车辆平均延误为优化目标,采用神经网络构造个体的适应度函数模型,计算步骤E生成的群体中个体的适应度,具体为:
将相位差组合作为输入参数,输入已经训练好的神经网络,输出为该相位差对应的干道车辆延误,将干道车辆延误的倒数作为适应度函数,计算个体的适应度。
在步骤G中,本发明判断个体适应度是否满足预设终止条件,这里的预设终止条件是指达到最大进化代数;若满足,则操作结束,得到最优个体,完成相位差配时优化;若不满足,则进行下一步骤。
在步骤H中,本发明采用随机联赛选择方法对群体进行选择处理,具体为:
每次随机选择群体中的2个个体,选取适应度高的对应个体到下一代群体中,迭代后得到下一代群体的M个个体。
在步骤I中,本发明采用自适应交叉概率方法对群体进行交叉处理,具体为:
在群体中的个体编码串中随机设定一个交叉点;
计算自适应异概率,计算公式具体为:
其中,Pc为交叉概率,Pcmax和Pcmin分别为交叉概率的上限和下限,分别取0.8和0.2,fmax和favg分别为当前群体中的最大适应度值和平均适应度值,f'为两个交叉个体中适应度较大值,A为常数,取9.903438;
以自适应交叉概率在交叉点互相交换两个父代个体的部分染色体,生成两个新的个体。
本发明采用自适应交叉概率方法对群体进行变异处理,具体为:
在群体中的个体编码串中随机设定一个交叉点;
计算自适应异概率,计算公式具体为:
其中,Pm为变异概率,Pmmax和Pmmin分别为变异概率的上限和下限,分别取0.2和0.01,fmax和favg分别为当前群体中的最大适应度值和平均适应度值,f为该变异个体中适应度值,A为常数,取9.903438;
以自适应变异概率对父代个体变异点基因进行非均匀变异,产生一个均匀变异的随机值,用以替换变异点上的原有基因值,生成新的个体。
上述计算自适应异概率的计算公式为
其中,Pc表示交叉概率,Pcmax和Pcmin分别表示交叉概率的上限和下限,分别取0.2和0.01,fmax和favg分别表示当前群体中的最大适应度值和平均适应度值,f'表示两个交叉个体中适应度较大值,A表示常数。
在步骤G中,本发明对群体实施最优保存策略,具体为:
遍历当代群体中适应度最高的个体和适应度最低的个体,判断当前群体中适应度最高个体的适应度是否高于所有代群体中个体的最高适应度;若是,则以当前群体中的最佳个体作为所有代群体中适应度最高的个体;若否,则将所有代群体中适应度最高的个体替换当代群体中适应度最低的个体。
本发明克服了传统干道协调控制对多交口相互影响考虑不足问题,在交叉口仿真平台基础上,结合干道车辆平均延误时间,建立信号配时仿真优化模型。与传统信号配时优化方法相比,该模型更能有效描述实际交通流状态,有效减少了干道车辆平均延误,有效改善了干道交通运行状况。
以某市一条主干道上四个连续交叉口为例进行分析,实地调查了四个交叉口晚高峰流量数据,晚高峰流量如图1所示。
根据四个交叉口的实测交通量,分别使用基于神经网络和遗传算法的干道相位差仿真优化方法和Synchro软件模型对干道协交叉口进行相位差优化,以车辆平均延误为衡量指标,将两种模型的相位差方案进行对比。经过计算,四个连续交叉口应用两种相位差优化模型后的相位差方案如表1所示。
表1模型对比分析表
由表1可知,与Synchro优化的配时方案相比,本文模型获得的相位差配时方案效果更好,使车辆在干道的平均延误减少7.57s,控制效果提升22.27%。分由此可见,基于神经网络和遗传算法的干道相位差仿真优化方法考虑了连续交叉口中的多个相位差和延误的相关性,更符合实际的干道交通流特性;该发明的仿真优化模型的基于神经网络和遗传算法,对于相位差的优化不是单个滚动求解,而是直接对整体的相位差组合优化求解,执行效率和优化效果更好。因此,对于干道协调控制应用基于神经网络和遗传算法的干道相位差仿真优化方法效果更好。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。