基于混沌理论的改进模糊神经网络公交车智能调度方法与流程

文档序号:12365997阅读:428来源:国知局
基于混沌理论的改进模糊神经网络公交车智能调度方法与流程

本发明属于智能交通领域,涉及利用改进的模糊神经网络算法对公交车进行智能调度,为车辆调度提供了一种新的技术方法。



背景技术:

城市交通问题是困扰城市发展制约城市经济建设的重要因素。近十年来,世界各国都非常重视日益严重的交通问题,并投入大量的人力物力和财力对城市交通运输系统的管理和控制技术进行研究。相继出现了许多不同的交通控制手段和系统,为缓解交通拥挤发挥了巨大的作用。近年来中国的汽车消费正以30%的比例增长,交通拥挤已经成为许多大中城市所面临的越来越严重的问题。采用城市区域交通协调控制解决目前城市交通系统所面临而且将来越来越严重的诸多问题已成为人们的共识。

随着智能计算技术的发展,一些智能算法纷纷尝试应用于城市交通协调控制的信号配时。通过多种智能识别的方法的融合提高了目标的识别率,越来越多的基于目标识别的智能识别算法被提出,模糊神经网络(FNN:Fuzzy Neural Network)也随之出现。模糊神经网络由模糊逻辑和神经网络结合而成,具有处理不确定信息的能力、知识存储和自我学习能力,在目标识别和分类中具有特别的优势,因此如何更好的在目标识别领域应用模糊神经网络技术已经得到各方面的重视,成为了目前目标识别研究中的一个热点。但是模糊神经网络技术有其固有的缺陷。对于传统的学习算法,因为数据中区分度比较高的数据占大部分,为了满足学习效率的要求,学习率和步长多数满足区分度较高的数据训练;因为传统的模糊神经网络算法中学习率和步长是不能改变的,当其对类间距离接近的数据进行学习训练的时候,会因为训练的梯度下降速度过快导致对这类数据的学习不充分,甚至会导致误学习,而且梯度下降速度过快也会导致网络训练中振荡的出现,这个是无法通过其他方法消除的,所以提出针对的传统模糊神经网络的优化算法就势在必行了。

粒子群优化(PSO:Particle Swarm Optimization)算法是一种基于群智能方法的演化计算技术,最早由Kennedy和Eberhart于1996年提出。受到人工生命的研究结果启发,粒子群的基本思想源于对鸟群捕食行为的研究。粒子群算法是一种基于群体的优化算法,既具有进化算法的全局寻优能力,又避免了复杂的遗传操作,其参数调整简单,训练收敛速度快。在粒子群算法中,由于每次迭代粒子总是通过跟踪两个最优位置到目前为止的群体最优位置和个体最优位置来更新自己。因此这种算法收敛速度快,可以用来优化传统的模糊神经网络参数。但也正是因为这个原因,基本的粒子群算法存在极易陷入局部最优解和易发散等缺点。而神经网络具有很强的自适应学习能力、并行处理能力和泛化能力,能够以任意精度逼近非线性函数。因此,将两者结合起来将使构建的模型兼有粒子群的全局优化能力和神经网络的自学习能力。



技术实现要素:

技术问题:车辆的智能调度是智能交通领域的一项关键问题。传统的模糊神经网络算法的学习算法存在着固有缺陷,如学习周期长、学习率和步长不能改变等问题,以至于不能很好地对那些维数大且模糊度较高的数据进行识别,不能胜任公交车实时、安全、高效的智能调度。采用基本粒子群算法优化模糊神经网络的参数,往往又会陷入局部最优解和易发散等缺点的困扰。

技术方案:本发明提出一种改进的粒子群算法,去优化传统的模糊神经网络算法的参数,结合混沌理论,研发出一种基于混沌理论的改进模糊神经网络公交车智能调度方法。运用该算法可以高效、安全的实现公交车的智能调度,有效解决了PSO算法所具有的很容易陷入局部最优解和易发散等缺陷并能保持良好的收敛特性,与PSO算法相比计算时间也没有增加,同时兼顾了模糊神经网络自主学习的能力。仿真结果表明,采用这种优化算法所获得的控制信号来控制城市区域交通系统,能有效地降低车辆的平均延误提高城市道路的通行效率。

本发明所采用的技术方案如下:

一种基于混沌理论的改进模糊神经网络公交车智能调度方法,包括如下步骤:

第一步,实际问题需求分析与调研;包括:

已知某一总里程为L的公交路线共有J个车站,公交公司的车辆一天的运营时间为[t,t],运营时间可分成K个时段,第K个时段的发车间隔为Δtk,此路线的公交车辆型号是相同的,假设按时到达各站,每个车站的乘客服从均匀分布,每个乘客全程的公交票价为n,现从公交公司的运行盈利和公交公司的服务水平两方面出发,根据一天各个站点的乘客流量以及运营条件,求解此路线的车辆运行时刻表;

第二步,利用凸优化理论,将实际问题转化为数学模型,建立目标函数和约束条件;建立目标函数:

<mrow> <mi>min</mi> <mi>f</mi> <mrow> <mo>(</mo> <msub> <mi>&Delta;t</mi> <mi>k</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <msub> <mi>&alpha;C</mi> <mn>1</mn> </msub> <mi>L</mi> <munderover> <mo>&Sigma;</mo> <mrow> <mi>k</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>K</mi> </munderover> <mfrac> <msub> <mi>T</mi> <mi>k</mi> </msub> <mrow> <msub> <mi>&Delta;t</mi> <mi>k</mi> </msub> </mrow> </mfrac> <mo>+</mo> <msub> <mi>&beta;C</mi> <mn>2</mn> </msub> <munderover> <mo>&Sigma;</mo> <mrow> <mi>k</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>K</mi> </munderover> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <msub> <mi>m</mi> <mi>k</mi> </msub> </munderover> <munderover> <mo>&Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>J</mi> </munderover> <mrow> <mo>(</mo> <mfrac> <mrow> <msub> <mi>&rho;</mi> <mrow> <mi>k</mi> <mi>j</mi> </mrow> </msub> <msup> <msub> <mi>&Delta;t</mi> <mi>k</mi> </msub> <mn>2</mn> </msup> </mrow> <mn>2</mn> </mfrac> <mo>)</mo> </mrow> </mrow>

式中:Δtk表示第k个时段的发车间隔,k∈K={1…K},

约束条件:

<mrow> <mi>n</mi> <mo>&times;</mo> <mfrac> <mrow> <msubsup> <mo>&Sigma;</mo> <mrow> <mi>k</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>K</mi> </msubsup> <msubsup> <mo>&Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>J</mi> </msubsup> <msub> <mi>&mu;</mi> <mrow> <mi>k</mi> <mi>j</mi> </mrow> </msub> </mrow> <mrow> <msubsup> <mo>&Sigma;</mo> <mrow> <mi>k</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>K</mi> </msubsup> <mfrac> <msub> <mi>T</mi> <mi>k</mi> </msub> <mrow> <msub> <mi>&Delta;t</mi> <mi>k</mi> </msub> </mrow> </mfrac> </mrow> </mfrac> <mo>&gt;</mo> <msub> <mi>C</mi> <mn>1</mn> </msub> <mi>L</mi> <mo>,</mo> <msub> <mi>&Delta;t</mi> <mi>k</mi> </msub> <mo>&gt;</mo> <mn>0</mn> </mrow>

其中:K为时段集K={1…K},k表示第k个时段;J为车站集J={1…J},j表示第j个车站;Tk表示第k时段的时间长度;μkj表示第k时段第j站的上车乘客数;表示第k时段第j站的乘客到达率;C1为每公里每辆公交车辆消耗的费用;C2为每个乘客每等待一个单位时间所相当的损失费用;α表示公交公司消耗费用的加权系数;β表示乘客等待时间所损失费用的加权系数;加权系数的关系为α+β=1;n为全程公交票价;L为线路的总公里数;表示第k时段的总发车车次于该时段的时间长度与发车间隔的比值;

第三步,采用RBF神经网络构建模糊系统;

包括输入层、径向基层和输出层,设X=[x1,x2,…,xn]T为输入矢量,n为输入样本个数,W=[w1,w2,…,wn]T为输出矢量,m为隐层节点数,b为偏移量,f(x)为网络输出,为径向基函数:

其中,||·||为欧式范数,Ci是网络中第i个数据中心,则神经网络的输出为:

第四步,利用改进的粒子群算法优化模糊系统参数;

第五步,建立好基于混沌理论的改进的粒子群模糊系统后,进行公交车智能调度。

进一步的,所述第四步包括:

步骤1:初始化基本粒子群,在D维目标搜索空间中,有m个粒子组成一个群落,第i个粒子在D维空间的位置是:xi=(xi1,xi2,…,xiD),i=1,2,…,m,第i个粒子的“飞翔”速度是:vi=(vi1,vi2,…,viD),i=1,2,…,m,第i个粒子到目前为止搜索到的最优位置Pi=(Pi1,Pi2,…,PiD),i=1,2,…,m,整个粒子群目前为止搜索到的最优位置是:Pg=(Pg1,Pg2,…,PgD),所述粒子群寻优的位置更新方程是:

xid=xid+vid,vid=vid+c1γ1(Pid-xid)+c2γ2(Pgd-xid)

其中:i=1,2,…,m,d=1,2,…,D,c1和c2分别称为认知学习因子和社会学习因子,通常取大于零的常数,γ1和γ2是介于[0,1]之间的随机数,vid∈[-vmax,vmax],vmax设定为常数,设定最大迭代次数L和阈值ε,设定粒子群算法的收敛条件:

|f(XR,K+1)-f(XR,K)|<ε;

步骤2:计算每个粒子的适应度f(Xi),找出每个粒子到目前为止搜索到的最优位置:Pi=(Pi1,Pi2,…,PiD),i=1,2,…,m,整个粒子群目前为止搜索到的最优位置是:Pg=(Pg1,Pg2,…,PgD),每个粒子当前在D维空间的位置:Xi=(Xi1,Xi2,…,XiD),每个粒子当前的“飞翔”速度:vi=(vi1,vi2,…,viD),i=1,2,…,m,采用粒子群寻优的位置更新方程进行搜索,如果每个粒子通过搜索产生的下一个位置不在可行域,则该粒子位置不变;

步骤3:更新算法迭代次数N,最后再次计算适应度,进行迭代终止条件判断:若满足|f(XR,K+1)-f(XR,K)|<ε,则跳转至结束,输出最优最优解;若不满足|f(XR,K+1)-f(XR,K)|<ε,则跳转至步骤4;

步骤4:判断算法迭代次数是否达到最大迭代次数L,若满足N<L,则跳转至步骤2,继续进行粒子群迭代;若满足N≥L,则跳转至结束,输出最优最优解。

进一步的,所述步骤1还包括:增加惯性因子ω约束因子γ和修改粒子群寻优的位置更新方程:

xid=xid+γvid,vid=ωvid+c1γ1(Pid-xid)+c2γ2(Pgd-xid)

所述步骤3包括:采用修改后的粒子群寻优的位置更新方程进行搜索,如果每个粒子通过搜索产生的下一个位置不在可行域,则该粒子位置不变。

进一步的,其特征在于,所述步骤1还包括:设定最大灾变次数N1

所述步骤3包括:更新算法迭代次数N,最后再次计算适应度,进行迭代终止条件判断:若满足|f(XR,K+1)-f(XR,K)|<ε,则跳转步骤5;若不满足|f(XR,K+1)-f(XR,K)|<ε,则跳转至步骤4;

所述步骤5包括:判断是否满足灾变条件且灾变次数N<N1,若满足,则跳转至步骤6;若不满足,则跳转至步骤跳转至结束,输出最优最优解;

所述步骤6包括:启用灾变机制,N=N+1,选取当前群体中最好的粒子,并记为X1,接着在D维搜索空间随机选取m-1个粒子,记为Xi=(xi1,xi2,…,xiD),i=2,3,…,m.,跳转至步骤2。

进一步的,所述步骤4包括:判断算法迭代次数是否达到最大迭代次数L,若满足N<L,则跳转至步骤2,继续进行粒子群迭代;若满足N≥L,则跳转至步骤7;

所述步骤5包括:判断是否满足灾变条件且灾变次数N<N1,若满足,则跳转至步骤6;若不满足,则跳转至步骤7;

所述步骤7包括:早熟判断机制,当σ2小于某一给定的常数λ(早熟收敛判断阈值),如果此时算法不满足结束的条件,则判断粒子群由于失去多样性过早的进入收敛状态,从而启动早熟处理操作;若满足,则跳转至步骤8;若不满足,则跳转至步骤跳转至结束,输出最优最优解;

所述步骤8包括:启用混沌搜索算法,随机选择一个搜索方向,并随机选择一个步长,跳入到一个新的搜索位置然后跳转至步骤2。

进一步的,步骤4包括:判断算法迭代次数是否达到最大迭代次数L,若满足N<L,则跳转至步骤2,继续进行粒子群迭代;若满足N≥L,则跳转至步骤9;

所述步骤9包括:

步骤A1:初始化算法基本参数,包括鸟巢数量、算法参数以及鸟巢的初始位置等,利用优化算法上一次的解作为本次鸟巢的初始位置;

步骤A2:计算各鸟巢位置相应的适应度值,确定当前的最佳鸟巢位置及其适应度值;

步骤A3:利用Lévy飞行机制对鸟巢位置进行更新,得到一组新的鸟巢位置;

步骤A4:评价各鸟巢位置相应的适应度值,经过比较后更新鸟巢的历史最佳位置;

步骤A5:用服从均匀分布的随机数r∈[0,1]与Pa对比,保留被发现概率较小的鸟巢位置,同时随机改变被发现概率较大的鸟巢位置,从而得到一组新的鸟巢位置;

步骤A6:以每一个鸟巢位置为初始点进行局部寻优,得到新的鸟巢位置;

步骤A7:评价各鸟巢位置相应的适应度值,经过比较后更新鸟巢的历史最佳位置;

步骤A8:判断算法的终止条件,若满足则获得结果,否则重复步骤A3-步骤A8。

进一步的,所述步骤9布谷鸟搜素算法是基于共轭梯度的布谷鸟搜索算法,包括:在每一次的迭代过程中,经过更新(进化)后的鸟巢位置不是直接进入下一次迭代,而是把处的梯度乘以共轭因子βk后加到该点的负梯度上,通过线性组合构造出一组共轭方向并沿这组共轭方向搜索,在规定的迭代次数内使鸟巢位置充分下降,得到新的鸟巢位置后,再进行(j+1)次迭代,继续按Lévy飞行机制进行搜索和位置更新。

有益效果:

(1)本发明从实际问题出发,针对特殊的应用场景,来源实际应用,问题描述和设置细致、合理,更有实践指导意义;

(2)本发明提出一种基于混沌理论的改进粒子群公交车智能调度方法,结合混沌理论,利用改进的粒子群算法去优化模糊神经网络算法的参数。运用该算法可以高效、安全的实现公交车的智能调度,有效解决了PSO算法所具有的很容易陷入局部最优解和易发散等缺陷并能保持良好的收敛特性;

(3)本发明改进常见的PSO算法,增加考虑惯性因子和约束因子,使粒子保持运动惯性,使其有扩展搜索空间的趋势,有能力探索新的区域既提高了收敛速度,又避免的早熟收敛;

(4)本发明将灾变理论引入PSO算法中用于改进算法的鲁棒性,与PSO算法相比计算时间也没有增加,同时兼顾了模糊神经网络自主学习的能力;

(5)本发明引入早熟收敛机制和混沌搜索方法来进一步改进算法,使量子粒子群算法跳出局部最优,保持群体多样性,改善算法的搜索效率,提高算法全局寻优能力;

(6)本发明为防止算法寻优陷入全局最小,引入布谷鸟搜索算法,更进一步提出基于共轭梯度的布谷鸟搜索算法,使得算法在优化后期收敛速度快、收敛精度高;

(7)计算机仿真结果表明,采用这种优化算法所获得的控制信号来控制城市区域交通系统,能有效地降低车辆的平均延误提高城市道路的通行效率。

附图说明

图1是公交车智能调度的系统流程图。

图2是实施例一的算法流程图。

图3是实施例二增加考虑惯性因子和约束因子的算法流程图。

图4是实施例三增加考虑灾变因素的算法流程图。

图5是实施例四增加考虑混沌搜素的算法流程图。

图6是实施例五增加考虑布谷鸟搜索的算法流程图。

图7是实施例二增加考虑共轭布谷鸟搜索的算法流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

实施例一:

公交车智能调度的系统流程如图1所示。具体步骤如下:

第一步,实际问题需求分析与调研,在相关假设条件下,描述问题如下:已知某一总里程为L的公交路线总共有J个车站。公交公司的车辆一天的运营时间为[t,t],并且运营时间可分成K个时段,第K个时段的发车间隔为Δtk。假设此路线的公交车辆型号是相同的,并且按时到达各站。每个车站的乘客服从均匀分布,每个乘客全程的公交票价为n。现从公交公司的运行盈利和公交公司的服务水平(乘客的等待时间最短)两方面出发,展开考虑根据一天各个站点的乘客流量以及运营条件,希望获得此路线最佳的车辆运行时刻表,即运营时间各个时段最佳的发车时间间隔。

第二步,利用凸优化理论,将实际问题转化为数学模型,建立目标函数和约束条件,公交车辆调度既要考虑公交公司的利益也要充分考虑乘客的利益,因此设定公交车辆调度问题的目标函数时应从以下两个方面考虑:

1)从公交公司的角度出发,使公交公司的发车次数最少来保证公司的利益,也即公交公司的运营成本最低。

2)从乘客的角度出发,使得全天所有乘客的等车时间最小来保证乘客的利益,也即乘客等车所损失的费用最低。

于是建立目标函数:

<mrow> <mi>min</mi> <mi>f</mi> <mrow> <mo>(</mo> <msub> <mi>&Delta;t</mi> <mi>k</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <msub> <mi>&alpha;C</mi> <mn>1</mn> </msub> <msubsup> <mi>L&Sigma;</mi> <mrow> <mi>k</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>K</mi> </msubsup> <mfrac> <msub> <mi>T</mi> <mi>k</mi> </msub> <mrow> <msub> <mi>&Delta;t</mi> <mi>k</mi> </msub> </mrow> </mfrac> <mo>+</mo> <msub> <mi>&beta;C</mi> <mn>2</mn> </msub> <msubsup> <mi>&Sigma;</mi> <mrow> <mi>k</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>K</mi> </msubsup> <msubsup> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <msub> <mi>m</mi> <mi>k</mi> </msub> </msubsup> <msubsup> <mi>&Sigma;</mi> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>J</mi> </msubsup> <mrow> <mo>(</mo> <mfrac> <mrow> <msub> <mi>&rho;</mi> <mrow> <mi>k</mi> <mi>j</mi> </mrow> </msub> <msup> <msub> <mi>&Delta;t</mi> <mi>k</mi> </msub> <mn>2</mn> </msup> </mrow> <mn>2</mn> </mfrac> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow>

约束条件如下:

<mrow> <mi>n</mi> <mo>&times;</mo> <mfrac> <mrow> <msubsup> <mo>&Sigma;</mo> <mrow> <mi>k</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>K</mi> </msubsup> <msubsup> <mo>&Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>J</mi> </msubsup> <msub> <mi>&mu;</mi> <mrow> <mi>k</mi> <mi>j</mi> </mrow> </msub> </mrow> <mrow> <msubsup> <mo>&Sigma;</mo> <mrow> <mi>k</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>K</mi> </msubsup> <mfrac> <msub> <mi>T</mi> <mi>k</mi> </msub> <mrow> <msub> <mi>&Delta;t</mi> <mi>k</mi> </msub> </mrow> </mfrac> </mrow> </mfrac> <mo>&gt;</mo> <msub> <mi>C</mi> <mn>1</mn> </msub> <mi>L</mi> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow>

Δtk>0 (3)

α+β=1 (4)

其中(2)表示因为公交公司要盈利,所以必须是公交公司所得的票钱总和要大于公交公司最低的消耗成本;(3)表示发车的最小间隔和最大间隔要满足有关部门的规定,根据实际情况还有个隐藏的约束就是Δtk>0,且为正整数,这等于是要在受限制的种群中建立搜素空间求解;(4)表示加权系数的关系。

其中各符号说明如下:

(1)K为时段集K={1,k表示第k个时段;

(2)J为车站集J={:,j表示第j个车站;

(3)表示第k时段的时间长度;

(4)表示第k时段第j站的上车乘客数;

(5)ρkj=表示第k时段第j站的乘客到达率(假设乘客到达车站服从均匀分布,则为第k时段乘客的平均等车时间);

(6)为每公里每辆公交车辆消耗的费用;

(7)为每个乘客每等待一个单位时间所相当的损失费用;

(8)表示公交公司消耗费用的加权系数;

(9)表示乘客等待时间所损失费用的加权系数;

(10)表示第k个时段的发车间隔,k∈K={1;

(11)n为全程公交票价;

(12)L为线路的总公里数;

(13)mk表示第k时段的总发车车次于该时段的时间长度与发车间隔的比值。

第三步,模糊系统构建,采用RBF神经网络,即径向基函数神经网络(Radical Basis Function)。径向基函数神经网络是一种高效的前馈式神经网络,它具有其他前向网络所不具有的最佳逼近性能和全局最优特性,并且结构简单,训练速度快。同时,它也是一种可以广泛应用于模式识别、非线性函数逼近等领域的神经网络模型。

RBF神经网络包括输入层、径向基层和输出层。设X=[x1,x2,…,xn]T为输入矢量,n为输入样本个数,W=[w1,w2,…,wn]T为输出矢量,m为隐层节点数,b为偏移量,f(x)为网络输出,为径向基函数,通常采用高斯函数:

其中,||·||为欧式范数,Ci是网络中第i个数据中心,则神经网络的输出为:

RBF网络的学习就是找到最优的一组数据中心及相应的一组权值,使样本输入下的网络输出能以给定的进度逼近目标信号。

第四步,构造改进的粒子群优化算法,然后利用改进的粒子群算法优化模糊系统参数。

RBF神经网络的缺点是难于确定隐层单元的个数和有效的数据中心。因此,本发明采样改进的粒子群算法优化RBF神经网络的结构和参数。

粒子群算法是一种基于群体的优化算法,既具有进化算法的全局寻优能力,又避免了复杂的遗传操作,其参数调整简单,训练收敛速度快;而神经网络具有很强的自适应学习能力、并行处理能力和泛化能力,能够以任意精度逼近非线性函数。因此,将两者结合起来将使构建的模型兼有粒子群的全局优化能力和神经网络的自学习能力。

进一步的,改进的粒子群算法的流程如图2所示,具体步骤如下:

步骤1:初始化基本粒子群,设在D维目标搜索空间中,有m个粒子组成一个群落,第i个粒子在D维空间的位置是:xi=(xi1,xi2,…,xiD),i=1,2,…,m,位置即潜在解,第i个粒子的“飞翔”速度是:vi=(vi1,vi2,…,viD),i=1,2,…,m,第i个粒子到目前为止搜索到的最优位置Pi=(Pi1,Pi2,…,PiD),i=1,2,…,m,整个粒子群目前为止搜索到的最优位置是:Pg=(Pg1,Pg2,…,PgD)。Kennedy和Eberhart提出的PSO算法如下:

xid=xid+vid (7)

vid=vid+c1γ1(Pid-xid)+c2γ2(Pgd-xid) (8)

这里i=1,2,…,m,d=1,2,…,D,c1和c2分别称为认知学习因子和社会学习因子,通常取大于零的常数,两者的相对大小反映了在演变过程中Pi和Pg的相对重要性。γ1和γ2是介于[0,1]之间的随机数,vid∈[-vmax,vmax],vmax由用户设定。

设定最大迭代次数L、最大灾变次数N1和阈值ε。设定粒子群算法的收敛条件:

|f(XR,K+1)-f(XR,K) (9)

步骤2:分别计算每个粒子的适应度f(Xi),找出每个粒子到目前为止搜索到的最优位置:Pi=(Pi1,Pi2,…,PiD),i=1,2,…,m,整个粒子群目前为止搜索到的最优位置是:Pg=(Pg1,Pg2,…,PgD),每个粒子当前在D维空间的位置:Xi=(Xi1,Xi2,…,XiD),每个粒子当前的“飞翔”速度:vi=(vi1,vi2,…,viD),i=1,2,…,m。

采用迭代公式(7)和(8)进行搜索,如果每个粒子通过搜索产生的下一个位置不在可行域,则该粒子位置不变。

步骤3:更新算法迭代次数N,最后再次计算适应度,进行迭代终止判断:

判断灾变粒子群优化是否成功,迭代终止判定。如果到当前为止,性能函数最好的第R个粒子满足如下条件:

若满足|f(XR,K+1)-f(XR,K)|<ε,则跳转至结束,输出最优最优解;

若不满足|f(XR,K+1)-f(XR,K)|<ε,则跳转至步骤4。

步骤4:判断算法迭代次数是否达到最大迭代次数L,

若满足N<L,则跳转至步骤2,继续进行粒子群迭代;

若满足N<L,则跳转至结束,输出最优最优解。

第五步,建立好基于混沌理论的改进的粒子群模糊系统后,可以获得此路线最佳的车辆运行时刻表,即运营时间各个时段最佳的发车时间间隔,从而进行公交车智能调度。运用该算法可以高效、安全的实现公交车的智能调度,有效解决了PSO算法所具有的很容易陷入局部最优解和易发散等缺陷并能保持良好的收敛特性,与-PSO算法相比计算时间也没有增加,同时兼顾了模糊神经网络自主学习的能力。仿真结果表明,采用这种优化算法所获得的控制信号来控制城市区域交通系统,能有效地降低车辆的平均延误提高城市道路的通行效率。

实施例二:

在实施例一的基础上,进一步改进,增加考虑惯性因子和约束因子,如图3所示,为了使粒子保持运动惯性,使其有扩展搜索空间的趋势,有能力探索新的区域。但是,固定参数的PSO算法的惯性权重w通常小于1,粒子的速度将会越来越小,甚至停止运动,发生早熟收敛。收缩因子法控制系统行为最终收敛,且可以有效搜索不同的区域,该法能得到高质量的解。将这两种改进策略综合到一起形成带收缩因子和线性递减惯性权重的粒子群优化算法,既提高了收敛速度,又避免的早熟收敛。

对(8)式做如下改进,增加惯性因子ω,

vid=ωvid+c1γ1(Pid-xid)+c2γ2(Pgd-xid) (10)

再对(7)式做如下改进,增加约束因子γ,

xid=xid+γvid (11)

在前述实施例一的基础上,其步骤2中采用新的迭代公式(10)和(11)进行搜索,如果每个粒子通过搜索产生的下一个位置不在可行域,则该粒子位置不变。

实施例三:

粒子群算法是从一组分散于解空间的初始解起步来寻优的算法,这一特点使得粒子群算法有良好的全局收敛性能。通常,当随机产生的初始解在解空间中散布开来,粒子群算法能以较大的概率收敛到全局最优解。但是,实际中如果解空间非常大,随机初始解往往可能只占有小小的一个角落,通过飞翔-操作往往在找到局部最优解后便停滞不前了。这与粒子群算法在粒子群规模较小时多样性有限有关,制约了跳出局部最优解的能力。一般我们会通过增大粒子群规模来提高多样性,从而摆脱局部最优解的限制。但往往也会带来巨大的求解复杂度。

在生物进化过程中,“灾变”就是外部环境的巨大变化,如冰河期、森林大火、大地震和瘟疫等,是对绝大多数生物的灭顶之灾,造成了大量物种或者个体的灭绝。只有个别适应能力特别强的物种或者个体得以生存,在“灾变”过后重新繁衍后代。显然“灾变”后幸存的物种或个体的生存能力更强,这对PSO算法有很大启发,在获得某个最优解后,除了最优解留下来,其他个体重新随机产生,进入下一阶段的操作,使得在较小的群落规模下获得较大规模的多样性,则易于摆脱原先的局部最优解了。

在实施例一和实施例二的基础上,增加考虑灾变的因素,如图4所示,其特征在于,所述步骤1还包括:设定最大灾变次数N1

所述步骤3包括:更新算法迭代次数N,最后再次计算适应度,进行迭代终止判断:判断灾变粒子群优化是否成功,迭代终止判定。如果到当前为止,性能函数最好的第R个粒子满足如下条件:

若满足|f(XR,K+1)-f(XR,K)|<ε,则跳转步骤5;

若不满足|f(XR,K+1)-f(XR,K)|<ε,则跳转至步骤4;

还包括步骤5和步骤6,

步骤5包括:判断是否满足公式(17)的灾变条件,且灾变次数N<N1

PSO算法是从一组分散于解空间的初始解起步来寻优的,这一特点使得PSO有良好的全局收敛性能。通常,当随机产生的初始解在解空间中散布开来,则PSO能以较大的概率收敛到全局最优解。但是,实际中如果解空间非常大,随机初始解往往可能只占有小小的一个角落通过飞翔,操作往往在找到局部最优解后便停滞不前了。这与PSO在粒子群规模较小时多样性有限有关,制约了跳出局部最优解的能力。如果通过增大粒子群规模来提高多样性则需要付出很大的时间代价。

为了克服PSO算法易陷入局部极小点的缺陷,引入“灾变”模型和策略到粒子群算法中。构造“灾变粒子群优化算法(CPSO)”,其基本思想是:先按PSO算法搜索,搜索结束时,判断是否满足式(10),不满足则输出优化结果,满足则实行灾变,即保留当前最好的粒子,而随机产生其他粒子,重新进行PSO搜索,可以设定灾变次数。

在生物进化过程中,“灾变”就是外部环境的巨大变化,如冰河期、森林大火、大地震和瘟疫等,是对绝大多数生物的灭顶之灾,造成了大量物种或者个体的灭绝。只有个别适应能力特别强的物种或者个体得以生存,在灾变过后重新繁衍后代。显然,灾变后幸存的物种或个体的生存能力更强。这对PSO算法有很大启发:在获得某个最优解后,除了最优解留下来,其他个体重新随机产生,进入下一阶段的操作,使得在较小的群落规模下获得较大规模的多样性,则易于摆脱原先的局部最优解。因为现在的候选解往往不再局限于以前的某个角落了。

导致某个生物群落灾变的主要因素是:一是该群落当前的相对进化程度太慢;二是该群落进化速率太慢甚至停止。因此,我们采用一种余维数是2的灾变模型—尖点灾变模型:

<mrow> <mi>V</mi> <msub> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> <mn>4</mn> </msub> <mo>=</mo> <mfrac> <mn>1</mn> <mn>4</mn> </mfrac> <msup> <mi>x</mi> <mn>4</mn> </msup> <mo>+</mo> <mfrac> <mn>1</mn> <mn>2</mn> </mfrac> <msup> <mi>ux</mi> <mn>2</mn> </msup> <mo>+</mo> <mi>v</mi> <mi>x</mi> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>12</mn> <mo>)</mo> </mrow> </mrow>

式中:x为状态变量,u和v是两个控制变量,V(x)可以看作状态x的势(或能量函数)。由于相空间是三维的,极值曲面M满足:

x3+ux+v=0 (13)

奇点满足:

3x2+u=0 (14)

由式(13)、(14)消去x,得到分歧曲线方程:

4u3+27v2=0 (15)

设fm(Pg,K)和分别表示m维搜索空间内的第K代群落的最优适应度和平均适应度。

用表示相对进化程度(u≤0),用表示近期S代平均进化速率(K≥S),把u和v看作两个控制变量,x是与当前群落进化有关的状态变量(如进化机制、算子等),则根据灾变模型的分歧曲线方程(15)得到灾变临界条件为:

<mrow> <mover> <mrow> <msub> <mi>f</mi> <mi>m</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>P</mi> <mi>i</mi> </msub> <mo>,</mo> <mi>K</mi> <mo>)</mo> </mrow> </mrow> <mo>&OverBar;</mo> </mover> <mo>-</mo> <mover> <mrow> <msub> <mi>f</mi> <mi>m</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>P</mi> <mi>i</mi> </msub> <mo>,</mo> <mi>K</mi> <mo>-</mo> <mi>S</mi> <mo>)</mo> </mrow> </mrow> <mo>&OverBar;</mo> </mover> <mo>=</mo> <mo>&PlusMinus;</mo> <mi>c</mi> <msup> <mrow> <mo>&lsqb;</mo> <mfrac> <mrow> <msub> <mi>f</mi> <mi>m</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>P</mi> <mi>g</mi> </msub> <mo>,</mo> <mi>K</mi> <mo>)</mo> </mrow> </mrow> <mrow> <msub> <mi>f</mi> <mi>m</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>P</mi> <mi>g</mi> </msub> <mo>,</mo> <mi>K</mi> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>-</mo> <mn>1</mn> <mo>&rsqb;</mo> </mrow> <mfrac> <mn>3</mn> <mn>2</mn> </mfrac> </msup> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>16</mn> <mo>)</mo> </mrow> </mrow>

其中:

根据尖点灾变模型性质,当满足下述条件,我们采用灾变PSO算法:

<mrow> <mover> <mrow> <msub> <mi>f</mi> <mi>m</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>P</mi> <mi>i</mi> </msub> <mo>,</mo> <mi>K</mi> <mo>)</mo> </mrow> </mrow> <mo>&OverBar;</mo> </mover> <mo>-</mo> <mover> <mrow> <msub> <mi>f</mi> <mi>m</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>P</mi> <mi>i</mi> </msub> <mo>,</mo> <mi>K</mi> <mo>-</mo> <mi>S</mi> <mo>)</mo> </mrow> </mrow> <mo>&OverBar;</mo> </mover> <mo>&le;</mo> <mo>-</mo> <mi>c</mi> <mo>&lsqb;</mo> <mfrac> <mrow> <msub> <mi>r</mi> <mi>m</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>P</mi> <mi>g</mi> </msub> <mo>,</mo> <mi>K</mi> <mo>)</mo> </mrow> </mrow> <mrow> <msub> <mi>f</mi> <mi>m</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>P</mi> <mi>g</mi> </msub> <mo>,</mo> <mi>K</mi> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>17</mn> <mo>)</mo> </mrow> </mrow>

在其它条件下,保持原有的进化算法。

若满足,则跳转至步骤6;若不满足,则跳转至步骤跳转至结束,输出最优最优解;

步骤6包括:启用灾变机制,N=N+1,区别于完全的随机重新生成新的粒子重新优化,本发明中的灾变粒子群算法,将适应度差的寻优能力弱的粒子淘汰掉,保留适应度强的寻优能力好的粒子,具体来说,选取当前群体中最好的粒子,并记为X1,接着在D维搜索空间随机选取m-1个粒子,记为Xi=(xi1,xi2,…,xiD),i=2,3,…,m.;跳转至步骤2。

实施例四:

在实施例一、二、三的基础上,进一步增加考虑混沌搜索,充分利用灾变粒子群算法和混沌搜索相结合的优势,算法流程图如图5所示。具体来说,

所述步骤4包括:判断算法迭代次数是否达到最大迭代次数L,若满足N<L,则跳转至步骤2,继续进行粒子群迭代;若满足N≥L,则跳转至步骤7。

所述步骤5包括:判断是否满足公式(17)的灾变条件,且灾变次数N<N1,若满足,则跳转至步骤6;若不满足,则跳转至7。

还包括步骤7和步骤8,

所述步骤7包括:引入早熟收敛判断机制,当判断量子粒子群由于失去多样性过早的进入收敛状态,则启动早熟收敛处理操作;若满足,则跳转至步骤8;若不满足,则跳转至步骤跳转至结束,输出最优最优解。

具体来说,本发明中量子粒子群早熟收敛判断机制为:设粒子群的粒子数为m,fi为第i个粒子的适应度,favg为群体适应度的平均值,σ2为粒子群的群体适应度方差,定义为:

<mrow> <msup> <mi>&sigma;</mi> <mn>2</mn> </msup> <mo>=</mo> <mfrac> <mn>1</mn> <mi>n</mi> </mfrac> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>m</mi> </munderover> <msup> <mrow> <mo>(</mo> <mfrac> <mrow> <msub> <mi>f</mi> <mi>i</mi> </msub> <mo>-</mo> <msub> <mi>f</mi> <mrow> <mi>a</mi> <mi>v</mi> <mi>e</mi> </mrow> </msub> </mrow> <mi>f</mi> </mfrac> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>18</mn> <mo>)</mo> </mrow> </mrow>

式中:f为归一化定标因子,其作用是限制的σ2大小。在本文算法中,f的取值如下:

群体适应度方差σ2反映的是粒子群中所有粒子的“收敛”程度。由于量子粒子群的原理可知,随着种群的不断进化,粒子都会出现“聚集”现象,即个体之间的差异越来越小,而个体位置决定着个体的适应度大小。因此,根据种群中所有个体的适应度的整体变化可以判断种群的状态。σ2越大,粒子群处于随机搜索阶段;反之,粒子群趋于收敛。当σ2小于某一给定的常数λ(早熟收敛判断阈值),如果此时算法不满足结束的条件,则判断粒子群由于失去多样性过早的进入收敛状态,从而启动早熟处理操作。

本发明中当判断量子粒子群算法陷入早熟收敛状态后,启动早熟处理操作。首先根据适应值函数对粒子进行排序,粒子的适应度值越大,表示该粒子越差,被选择变异的概率也就越大,将种群中适应度值比较低的粒子按照一定的比例进行变异操作的同时,也对部分极值点也引入变异机制,重新分配到可行解空间中继续搜索,但是如果粒子在跳出局部极值点之后又进入了另一个极值点,甚至是会出现变异后的群体极值点的适应度比变异前更差的现象,因此提出“主导全局最优粒子”的概念,即在进化历史过程中,利用主导全局最优粒子记忆种群最佳极值点的位置和适应度,引领群体的搜索方向,决定搜索到最终解的优劣程度,有效避免了种群退化现象。同时如果重新分配到可行解空间的粒子没有位于全局最优解的位置,反倒由于现今群体极值点的吸引,会迅速回到先前群体极值点的附近,造成遗传变异操作失效,因此在进遗传操作的同时对种群中群体极值点进行混沌搜索,利用混沌变量具有遍历性、规律性和随机性的特点,使量子粒子群算法跳出局部最优,保持群体多样性,改善算法的搜索效率,提高算法全局寻优能力。

所述步骤8包括:

启用混沌搜索算法,然后跳转至步骤2。

所述的混沌搜索算法,具体来说,跳出常见的利用位置更新方程进行搜索的限制,随机选择一个搜索方向,并随机选择一个步长,跳入到一个新的搜索位置。这种做法的好处是可以充分发挥混沌变量具有遍历性、规律性和随机性的特点,利用混沌搜索机制优化量子粒子群算法,对全局极值点进行混沌操作,使量子粒子群算法跳出局部最优,保持群体多样性,改善算法的搜索效率,提高算法全局寻优能力。

实施例五:

在前面四个实施例的基础上,进一步改进,增加布谷鸟搜索算法,如图6所示,具体来说:

所述步骤4包括:判断算法迭代次数是否达到最大迭代次数L,若满足N<L,则跳转至步骤2,继续进行粒子群迭代;若满足N≥L,则跳转至步骤9;

所述步骤5还包括:判断是否达到最大迭代次数,即判断N=L,若相等,说明粒子群优化失败,则跳转至步骤6,启用布谷鸟搜索算法;若不相等,说明迭代尚未结束,则N=N+1,跳转至步骤3。

所述步骤6还包括:当启用改进后的粒子群算法,判断优化失败,说明算法极有可能陷入局部极小值。此时改进后的粒子群算法难有好的效果。转而启动改进的布谷鸟搜素算法。

剑桥大学的Yang X S和Deb S受布谷鸟的繁殖行为和昆虫等动物的Lévy飞行特性的启发,于2009年创立了布谷鸟搜索算法(Cuckoo Search,CS)。CS算法具有控制参数少、搜索路径优、全局寻优能力强等优点,在很多优化问题上较粒子群算法(PSO)和遗传算法(GA)更具潜力和高效。在CS算法中,由于布谷鸟每次按Lévy飞行机制搜索新鸟巢的路径长短和方向都是高度随机改变的,很容易从一个区域跃入另一个区域,这有利于算法在优化前期进行全局搜索,使得CS算法的全局寻优能力很强。

具体算法步骤如下:还包括步骤9,所述步骤9包括:

步骤A1:初始化算法基本参数,包括鸟巢数量、算法参数以及鸟巢的初始位置等,利用优化算法上一次的解作为本次鸟巢的初始位置;

步骤A2:计算各鸟巢位置相应的适应度值,确定当前的最佳鸟巢位置及其适应度值;

步骤A3:利用Lévy飞行机制的公式(20)对鸟巢位置进行更新,得到一组新的鸟巢位置;

步骤A4:评价各鸟巢位置相应的适应度值,经过比较后更新鸟巢的历史最佳位置;

步骤A5:用服从均匀分布的随机数r∈[0,1]与Pa对比,保留被发现概率较小的鸟巢位置,同时随机改变被发现概率较大的鸟巢位置,从而得到一组新的鸟巢位置;

步骤A6:采用共轭梯度法以每一个鸟巢位置为初始点进行局部寻优,得到新的鸟巢位置;

步骤A7:评价各鸟巢位置相应的适应度值,经过比较后更新鸟巢的历史最佳位置;

步骤A8:判断算法的终止条件,若满足则获得结果,否则重复步骤A3-步骤A8。

布谷鸟是典型的巢寄生鸟类,自己从不筑巢而是将自己的蛋产于其它相似鸟类的巢中,并且会通过伪装或移去巢内宿主鸟蛋,以提高自己的蛋被孵化的可能性。若宿主鸟发现布谷鸟蛋,则就会将布谷鸟蛋推出鸟巢之外或者在别的地方新建一个鸟巢繁殖后代。另外,一旦巢寄生的雏鸟孵出,它有将宿主鸟的鸟蛋推出巢外的习性,从而独享宿主鸟的孵育。巢寄生行为主要表现为孵育寄生、协同进化和接管鸟巢。布谷鸟搜索算法的原理来源于模拟布谷鸟这一巢寄生行为和昆虫的莱维飞行(Lévy Flights)习性。研究己经表明:动物的觅食路线实际上就是一种高效的随机游走过程,并且将这种行为运用到工程优化问题上展现出了潜在的能力。在布谷鸟搜索算法中,为了模拟布谷鸟寻巢的方式,需做出如下3个理想假设:

(1)每只布谷鸟只产一个蛋,并且随机地放在某一个鸟巢中;

(2)放置在宿主鸟巢中的高质量的布谷鸟蛋将会被孵化出来产生下一代布谷鸟;

(3)布谷鸟可以利用的宿主鸟巢的数量n是确定的,布谷鸟放置在宿主鸟巢中的布谷鸟蛋被发现的概率是Pa∈[0,1]。

在以上假设的前提下,布谷鸟寻巢根据Lévy Flights模式进行,鸟巢路径和鸟巢位置的更新公式如下:

上式中和分别表示第i个鸟巢在第j代和第(j+1)代时的位置向量(xi=(xi1,xi2,…,xid),d为每个鸟巢的维数);*为点对点乘法;Lévy(λ)为Lévy飞行随机搜索的跳跃路径,该路径长短和方向都是不确定的,有时跳跃路径Lévy(λ)相当大,为使其能成功地应用于CS算法,引入一个路径长短的调节量α,α是大于零的常数,对于不同的情况α可以选取不同的值,一般取α=0.01。

由于Lévy飞行的连续跳跃路径与时间t的关系服从Lévy分布,我们可以将Lévy分布函数经过简化和傅里叶变换后得到其幂次形式的概率密度函数:

Lévy~u=t,(1<λ<3) (21)

式(21)中λ为幂次系数。式(21)是一个带有重尾的概率分布,虽然能够从本质上描述布谷鸟的随机游走过程,但尚未能进一步用更简洁易编程的数学语言描述这一分布,以实现C S算法,进一步改进优化后,给出模拟Lévy飞行跳跃路径的公式(22):

式(22)中s即为Lévy飞行跳跃路径Lévy(λ);参数β同式(21)中λ的关系为λ=1+β,β的取值范围为0<β<2,在CS算法中取β=1.5;参数μ和γ为正态分布随机数,服从式(23)所示的正态分布;式(4)所对应的正态分布的标准差σμ和σY的取值见式(24):

<mrow> <mi>&mu;</mi> <mo>~</mo> <mi>N</mi> <mrow> <mo>(</mo> <mn>0</mn> <mo>,</mo> <msubsup> <mi>&sigma;</mi> <mi>&mu;</mi> <mn>2</mn> </msubsup> <mo>)</mo> </mrow> <mo>,</mo> <mi>&gamma;</mi> <mo>~</mo> <mi>N</mi> <mrow> <mo>(</mo> <mn>0</mn> <mo>,</mo> <msubsup> <mi>&sigma;</mi> <mi>&gamma;</mi> <mn>2</mn> </msubsup> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>23</mn> <mo>)</mo> </mrow> </mrow>

<mrow> <msub> <mi>&sigma;</mi> <mi>&mu;</mi> </msub> <mo>=</mo> <msup> <mrow> <mo>{</mo> <mfrac> <mrow> <mi>&Gamma;</mi> <mrow> <mo>(</mo> <mn>1</mn> <mo>+</mo> <mi>&beta;</mi> <mo>)</mo> </mrow> <mi>sin</mi> <mrow> <mo>(</mo> <mi>&pi;</mi> <mi>&beta;</mi> <mo>/</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow> <mrow> <mi>&Gamma;</mi> <mo>&lsqb;</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>+</mo> <mi>&beta;</mi> <mo>)</mo> </mrow> <mo>/</mo> <mn>2</mn> <mo>&rsqb;</mo> <mi>&beta;</mi> <msup> <mn>2</mn> <mrow> <mo>(</mo> <mi>&beta;</mi> <mo>-</mo> <mn>1</mn> <mo>)</mo> <mo>/</mo> <mn>2</mn> </mrow> </msup> </mrow> </mfrac> <mo>}</mo> </mrow> <mrow> <mn>1</mn> <mo>/</mo> <mi>&beta;</mi> </mrow> </msup> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>24</mn> <mo>)</mo> </mrow> </mrow>

令Step=α*Lévy(λ)=α*s,则Step即为布谷鸟在解空间中每次按式(20)从旧鸟巢位置出发随机搜索新鸟巢位置时所经历的路径。因s即Lévy(λ)取决于由式(23)和式(24)产生的2个正态分布随机数μ和γ,μ和γ可大可小,可正可负,故布谷鸟每次按Lévy(λ)飞行机制随机搜索的路径长短和方向都是高度随机改变的,很容易从一个区域跃入另一个区域,这有利于算法在优化前期进行全局搜索,使得CS算法的全局寻优能力特别强。正因为CS算法在解空间搜索时表现出很强的随机跳跃性,才使其在每个鸟巢附近的局部区域搜索不仔细、不完全、不彻底,许多局部区域的优化信息没有得到充分利用,造成CS算法局部搜索能力相对较弱,在优化后期收敛速度慢、收敛精度不高。欲提高CS算法的收敛速度,须强化其局部搜索即局部寻优能力。

在实际的优化问题中,鸟巢的位置代表所有变量的有效取值空间,而鸟巢的适应度代表变量取不同值所对应的目标函数。

实施例六:

CS算法的全局寻优能力很强,然而,布谷鸟在每个鸟巢附件的局部区域搜索能力较弱,使得CS算法在优化后期收敛速度较慢、收敛精度不够高。为了提高CS算法的局部搜索能力我们考虑将局部搜索能力很强的共轭梯度法(Conjugate Gradient,CG)与CS算法有机的结合起来,形成一种新的基于共轭梯度的布谷鸟搜索算法(CGCS),尝试让布谷鸟种群既按照Lévy飞行机制随机游走,又沿共轭梯度快速下降,使改进后的算法既保持强大的全局搜索即全局寻优能力,又能大幅提高局部搜索即局部寻优能力、快速收敛。

共轭梯度法是介于最速下降法与牛顿法之间的一个方法,它克服了最速下降法收敛慢的缺点,又避免了牛顿法需要存储和计算Hessen矩阵并求逆的缺点,具有较快的收敛速度和二次终止性等优点,目前该法己经广泛地应用于工程实际问题的求解中。共轭梯度法的基本思想是把共轭性与最速下降法相结合,利用已知点处的梯度构造一组共轭方向(即当函数维数为d时,需产生d个线性无关相互共轭的搜索方向),并沿这组共轭方向进行搜索,这种方法具有二次终止性(即用于二次凸函数时,经有限次迭代必达极小点)。

共轭梯度法步骤如下:给出初始向量Xi(Xi=Xi1,Xi2,…,xim,…,xid,d为维数)中的分向量值及梯度信息分别为和迭代次数k=0;根据Goldstein-Armijo原则确定步长满足约束条件,令若达到设定迭代次数则终止算法,否则其中共轭因子令k=k+1,继续迭代,直至收敛。

因共轭梯度法是沿着己知点附近的一组共轭方向进行搜索,能够利用的局部区域的优化信息丰富,具有很强的局部搜索能力,故拟将其引入到C S算法中,以提高C S算法的局部搜索能力,进而提高C S算法的收敛速度和收敛精度。在实现共轭梯度法时,若函数的一阶偏导数难求,可用差分方法近似取代一阶偏导数信息,对算法的寻优性能影响不大。

具体来说,所述步骤9布谷鸟搜素算法是基于共轭梯度的布谷鸟搜索算法,如图7所示,包括:

基于共轭梯度的布谷鸟搜索算法(CGCS)与布谷鸟搜索算法(CS)相比,两者的共同之处是布谷鸟群体在解空间进行搜索时,每一次迭代群体均是按Lévy飞行路径进行高度随机游走搜索、按布谷鸟蛋被发现的概率Pa进行鸟巢位置的更新,以保证算法具有很强的全局寻优能力;不同之处是CGCS算法在每一次的迭代过程中,经过更新(进化)后的鸟巢位置不是直接进入下一次迭代,而是把处的梯度乘以共轭因子βk后加到该点的负梯度上,通过线性组合构造出一组共轭方向并沿这组共轭方向搜索,在规定的迭代次数内使鸟巢位置充分下降,得到新的鸟巢位置后,再进行(j+1)次迭代,继续按Lévy飞行机制进行搜索和位置更新,使算法的局部搜索即局部寻优能力得到极大提升。

综上所述,C G C S算法将共轭梯度法和布谷鸟搜索算法各自的优点有机地结合在一起,使算法不仅具有强大的全局寻优能力,而且也具有强大的局部搜索能力,从而克服了C S算法收敛速度慢、收敛精度不高的缺点。

本发明研发的基于混沌理论的改进粒子群公交车智能调度方法,将混沌搜索机制、布谷鸟搜素算法、灾变理论、粒子群算法和模糊系统理论有机融合,充分发挥各种算法各自的优势和互补性,同时引入一系列的改进措施,如共轭梯度优化、粒子群算法的惯性因子和约束因子等,从理论和实际两方面研究其机理与寻优性能,从根本上解决目前优化算法中存在的全局搜索能力差、早熟收敛等问题,能够显著增加种群的多样性,显著提高了全局寻优能力,可以有效处理模糊信息问题,并且具有较快的收敛速度,给公交车智能调度提供了一种新的高效的方法。

上面结合附图对本发明进行了示例性描述,显然本发明具体实现并不受上述方式的限制,只要采用了本发明的方法构思和技术方案进行的各种非实质性的改进,或未经改进将本发明的构思和技术方案直接应用于其它场合的,均在本发明的保护范围之内。本发明的保护范围应该以权利要求书所限定的保护范围为准。

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