一种基于混合启发式算法的智能公交调度方法
【专利摘要】本发明公开了一种基于混合启发式算法的智能公交调度方法。本发明将模拟退火算法和遗传算法结合在一起,并且加入精英保留策略和适应度拉伸函数。将每一代种群中适应度最大的个体直接保留到下一代,避免它被交叉和变异操作破坏。适应度拉伸函数在算法的初期阶段,削减个体之间的差异,从而增加种群的多样性,避免遗传算法陷入局部最优解;在算法的后期阶段,增大个体间的差异,从而增加优秀个体被选择的概率,加快收敛速度。本发明运算速度快,能在较短时间内在给定发车时间频率条件下,得到优化后的调度计划,使乘客的等待时间大幅度减少;能动态调整发车频率,使发车频率符合客流总量的变化规律;能动态调整发车间隔,大幅度减少乘客的等待时间。
【专利说明】-种基于混合启发式算法的智能公交调度方法
【技术领域】
[0001] 本发明属于城市智能公共交通系统【技术领域】,设及一种基于混合启发式算法的智 能公交调度方法,特别是一种对快速公交的发车计划进行调度的方法。
【背景技术】
[0002] 随着城市的快速发展,城市人口不断增加,私家车的数量也随着大量增长,造成了 交通拥堵和环境污染问题日益严峻。充分发挥城市公共交通系统的作用,能够缓解该些问 题。但是目前公共交通也有乘客等待时间较长和乘客满意度较低的问题。如何有效的解决 现有的问题,是增加公共交通吸引力的关键。公交调度是公交企业日常运营活动的中屯、,它 直接影响到运营成本和乘客满意度。符合客流规律的公交调度方案能够根据客流量的变化 调整发车间隔,加强了公交服务的针对性,减少了乘客的等车时间,提高了公交服务质量, 增加公共交通的吸引力。
[0003] 公交调度的目的就是在满足乘客出行需求的情况下,尽量节省运营成本。该两个 相互矛盾的要求导致该是一个多目标优化问题。同时,公交调度要受到公交企业运营成本、 车队规模等多方面的约束。怎样在同时满足客流量需求和约束条件下,找到合适的方法在 合理的时间内确定公交调度方案,是实现智能化公交调度的关键。公交调度分为静态调度 和动态调度两个部分,静态调度主要是指制订每条线路的发车时刻表,动态调度主要完成 当出现车辆、客流等突发情况时对已有的发车时刻表进行调整。在日常运营中,静态调度为 主,动态调度为辅。本发明主要设及如何使用改进的混合启发式算法来解决快速公交的静 态调度问题。
[0004] 目前,国内外在此领域的研究有很多,但是每个城市公交系统的具体情况都不同, 没有一种较为通用的能够结合历史运营数据进行公交调度的方法。在该些研究中有很多人 使用遗传算法等启发式算法,或者它们的改进算法用于公交调度的优化。遗传算法能够在 合理的时间内找到公交调度问题的最优解或者近似最优解,该也是许多研究者使用它来解 决公交调度的原因。但是遗传算法存在容易过早收敛,效率低等缺点。
【发明内容】
[0005] 本发明的目的是为了克服遗传算法自身的不足,并提出了一种新颖的方法来解决 乘客和公交运营企业之间的利益冲突。本发明设及的方法将模拟退火算法和遗传算法结合 在一起,并且加入精英保留策略和适应度拉伸函数。将每一代种群中适应度最大的个体直 接保留到下一代,避免它被交叉和变异操作破坏。适应度拉伸函数在算法的初期阶段,削减 个体之间的差异,从而增加种群的多样性,避免遗传算法陷入局部最优解;在算法的后期阶 段,增大个体间的差异,从而增加优秀个体被选择的概率,加快收敛速度。模拟退火算法能 够增加遗传算法的局部捜索能力,从而加快遗传算法的收敛速度。
[0006] 本发明的方法的具体步骤如下:
[0007] 步骤(1)读取乘客的刷卡记录,统计每天乘车总人数和每个时间段I内的人数,获 取每天的历史天气状况和节假日情况;使用层次聚类方法,对获取的历史数据进行聚类分 析;即将一天当中的乘车总人数、不同时间段内的乘车人数、天气情况和节假日情况组合成 一个向量,然后对该向量进行归一化操作,使用系统聚类算法中的Ward法进行聚类操作, 根据聚类的结果提取每个类别的特征;
[000引所述的刷卡记录包括上车刷卡时间、上车站点、下车刷卡时间和下车站点;
[0009] 所述的获取的历史数据包括乘客的刷卡记录、历史天气状况和节假日情况;
[0010] 步骤(2)根据第二天的天气预报信息和节假日情况,从步骤1的聚类结果中匹配 到一个类,并从该类中抽取一个向量作为预测值;
[0011] 步骤(3)根据预测值,结合公交企业期望的满载率,两者相除,得到第二天的总发 车班次;
[001引步骤(4)随机生成N个向量,向量的维度与总发车班次相等海个分量代表对应班 次的发车时间,发车时间W分钟为单位,设定第一个分量等于0,最后一个分量等于末班车 发车时间与首班车发车时间之间的分钟数;向量中的分量按从小到大的顺序排列,该N个 向量组成初始解的集合P。,并设定迭代次数g为0 ;其中N为偶数;
[0013] 步骤(5)建立公交调度的数学模型,W乘客的等待时间最短为目标设定适应度函 数,计算每个初始解的适应度,然后通过混合启发式算法进行求解;
[0014] 5-1.使用适应度拉伸函数进行适应度拉伸操作,用拉伸后的值替换掉原来的适应 度;
[0015] 5-2.按照轮盘赌选择策略从集合Pg中选择任意两个解,按照设定的交叉概率进 行交叉操作,即随机选择一个交叉位置,交换两个解交叉点前后的部分,得到两个交叉后的 解;然后对两个交叉后解进行模拟退火操作;计算交叉后的解的适应度,如果适应度增大, 接受新的解,否则W当前的接受概率接受新的解;从而获取两个新的解;
[0016] 5-3.按照设定的变异概率,对步骤5-2中获取的两个新解的每一个分量进行变异 操作,即随机生成一个大小位于前后两个分量之间的自然数,替换掉原来的值,得到两个变 异后的解;然后进行模拟退火操作;计算变异后的解的适应度,如果适应度增大,接受新的 解,否则W当前的接受概率接受新的解;从而获取两个新的解,并将获取的两个新的解放 入解集Pg+i;
[0017] 5-4.重复步骤5-2和5-3,直至解集Pg+冲解的个数与N相等;
[001引步骤做更新迭代次数g= g+1,若已经达到最大的迭代次数Gm。,,则输出解集Pg 中适应度最高的解,即为优化后的发车时刻表;否则,转到步骤5-1 ;
[0019] 所述的迭代次数Gmax为正整数。
[0020] 步骤5所述的公交调度数学模型的建立具体如下:
[0021] (1)所述的公交调度数学模型有W下前提条件:
[0022] BRT车辆停站后,等待乘客全部上车,不存在滞留现象;
[0023] BRT全线采用车外收费的方式,不存在投币或刷卡对车辆行驶时间的影响;
[0024] BRT全线采用相同的车辆型号,座位数量和最大载客数量相同;
[0025] 不考虑线路的配车,认为车辆足够多;
[0026] BRT车辆按调度时间表发车;
[0027] BRT车辆在道路上顺序和发车顺序一致,不存在超车现象;
[002引 W分钟作为调度的最小单位;
[0029] (2)所述的公交调度数学模型中使用的变量及其含义如下:
[0030] m为整个调度周期内的发车次数;
[0031] n为线路指定方向上总的站点数量;
[0032] ti为一个调度周期中第i次车的发车时间,W分钟为单位,i = 1,2,...,m ;
[003引 rj为线路指定方向上第j个站点随时间变化的到达率,单位为人/分钟,j = 1, 2,. . . , n ;
[0034] T为调度周期内乘客的总等待时间;
[00对则
[0036]
【权利要求】
1. 一种基于混合启发式算法的智能公交调度方法,其特征在于包括如下步骤: 步骤(1)读取乘客的刷卡记录,统计每天乘车总人数和每个时间段I内的人数,获取 每天的历史天气状况和节假日情况;使用层次聚类方法,对获取的历史数据进行聚类分析; 即将一天当中的乘车总人数、不同时间段内的乘车人数、天气情况和节假日情况组合成一 个向量,然后对该向量进行归一化操作,使用系统聚类算法中的Ward法进行聚类操作,根 据聚类的结果提取每个类别的特征; 所述的刷卡记录包括上车刷卡时间、上车站点、下车刷卡时间和下车站点; 所述的获取的历史数据包括乘客的刷卡记录、历史天气状况和节假日情况; 步骤(2)根据第二天的天气预报信息和节假日情况,从步骤1的聚类结果中匹配到一 个类,并从该类中抽取一个向量作为预测值; 步骤(3)根据预测值,结合公交企业期望的满载率,两者相除,得到第二天的总发车班 次; 步骤(4)随机生成N个向量,向量的维度与总发车班次相等;每个分量代表对应班次的 发车时间,发车时间以分钟为单位,设定第一个分量等于〇,最后一个分量等于末班车发车 时间与首班车发车时间之间的分钟数;向量中的分量按从小到大的顺序排列,这N个向量 组成初始解的集合Ptl,并设定迭代次数g为0 ;其中N为偶数; 步骤(5)建立公交调度的数学模型,以乘客的等待时间最短为目标设定适应度函数, 计算每个初始解的适应度,然后通过混合启发式算法进行求解; 5-1.使用适应度拉伸函数进行适应度拉伸操作,用拉伸后的值替换掉原来的适应度; 5-2.按照轮盘赌选择策略从集合Pg中选择任意两个解,按照设定的交叉概率进行交叉 操作,即随机选择一个交叉位置,交换两个解交叉点前后的部分,得到两个交叉后的解;然 后对两个交叉后解进行模拟退火操作:计算交叉后的解的适应度,如果适应度增大,接受新 的解,否则以当前的接受概率接受新的解;从而获取两个新的解; 5-3.按照设定的变异概率,对步骤5-2中获取的两个新解的每一个分量进行变异操 作,即随机生成一个大小位于前后两个分量之间的自然数,替换掉原来的值,得到两个变 异后的解;然后进行模拟退火操作:计算变异后的解的适应度,如果适应度增大,接受新的 解,否则以当前的接受概率接受新的解;从而获取两个新的解,并将获取的两个新的解放入 解集Pg+1; 5-4?重复步骤5-2和5-3,直至解集Pg+1中解的个数与N相等; 步骤(6)更新迭代次数g=g+1,若已经达到最大的迭代次数Gmax,则输出解集Pg中适 应度最高的解,即为优化后的发车时刻表;否则,转到步骤5-1 ; 所述的迭代次数Gmax为正整数。
2. 如权利要求1所述的一种基于混合启发式算法的智能公交调度方法,其特征在于步 骤5所述的公交调度数学模型的建立具体如下: (1)所述的公交调度数学模型有以下前提条件: BRT车辆停站后,等待乘客全部上车,不存在滞留现象; BRT全线采用车外收费的方式,不存在投币或刷卡对车辆行驶时间的影响; BRT全线采用相同的车辆型号,座位数量和最大载客数量相同; 不考虑线路的配车,认为车辆足够多; BRT车辆按调度时间表发车; BRT车辆在道路上顺序和发车顺序一致,不存在超车现象; 以分钟作为调度的最小单位; (2)所述的公交调度数学模型中使用的变量及其含义如下:m为整个调度周期内的发车次数; n为线路指定方向上总的站点数量; h为一个调度周期中第i次车的发车时间,以分钟为单位,i= 1,2,. ..,m;h为线路指定方向上第j个站点随时间变化的到达率,单位为人/分钟,j= 1,2,? ? ?,n ; T为调度周期内乘客的总等待时间; 则
公交运营的成本分为不变成本和可变成本,公交调度和不变成本之间不存在直接的关 系;设一个调度周期内公交运营收益为R,P为人均乘车费用(元),L为指定方向线路总长 度(km),C为公交车辆的可变成本(元/km),则公交公司的收益为总收入减去总的可变成 本,具体如下:
设U为乘客等待时间权系数,V为公交公司收益权系数;根据二次惩罚法,公交调度 优化模型的目标函数为: minz=uXT-VXR 设1"为最大车容量,P为期望满载率,则有约束条件I:
为了保证规律到达乘客和随机到达乘客都能在较短的时间内等到所候车辆,设Hmin和 11_分别为公交公司要求的最小和最大发车间隔,则发车间隔应满足下面的约束条件II: Hmin<t厂1:厂1 <Hmaxi= 2, 3, ? --,m 同时为避免造成发车的不连续现象,设T为公交公司允许的最大发车间隔差值,则约 束条件III: (ti+1-ti) - I^Ti= 2, 3,. . . ,m-1 通过罚函数法来保证产生的解不违反调度问题的约束条件;基于以上的描述,调度问 题的目标函数minf(X)形式如下:
其中minf⑴为加入罚函数后的目标函数值,Op?2、《3、《4分别为约束条件I、约 束条件II最小发车间隔、约束条件II最大发车间隔、约束条件III对应的惩罚系数;调度问题 的解X是长度为m的向量,每个分量Xi代表调度周期内第i次车距首班车的发车时间,以 分钟为单位; 为了保证每个个体的适应度均大于0,同时也为了方便运用轮盘赌选择策略,对目标函 数进行变换得到适应度函数的最终形式为:
3. 如权利要求1所述的一种基于混合启发式算法的智能公交调度方法,其特征在于所 述的模拟退火算法能够加强遗传算法的局部搜索能力,在遗传算法中每次完成交叉操作和 变异操作以后,比较前后两个个体的适应度,进行模拟退火操作;模拟退火算法中需要设定 初始温度Ttl,当前温度的计算公式为: T* =T0X〇n 其中〇表示温度降低的速度,其取值为〇< 〇 <1,其值越大,温度降低的越慢,值越 小,温度降低的越快;g为算法当前迭代的次数;当新产生的个体的适应度减小时,接受新 个体的概率为:
其中F(Xmw)W(Xtjld)分别为新个体和原个体的适应度; 同时为了保证每个种群中最有优秀的个体能顺利进入下一代产生新的个体,在模拟退 火和遗传算法的融合算法中,加入精英保留策略;每产生新的一代种群后,比较新一代种群 和上一代种群中最佳个体的适应度值;如果新一代种群的最佳个体的适应度小于上一代的 最佳个体,则用上一代的最佳个体替换新一代中适应度最小的个体;否则直接进入下一次 迭代。
4. 如权利要求1所述的一种基于混合启发式算法的智能公交调度方法,其特征在于步 骤5-1中所述的拉伸函数的形式为:
其中F(Xi)代表个体Xi的适应度,F(Xi) '是拉伸后的适应度,T*指模拟退火算法中当 前的温度,N代表种群中个体的数量,X代表拉伸系数; 为了能够进行适应度拉伸,要在拉伸前对种群中所有的个体进行适应度标准化,令
其中fitness指个体的适应度,fitness'指标准化后的适应度,maxfitness指当前种 群中最佳个体的适应度。
5.如权利要求1所述的一种基于混合启发式算法的智能公交调度方法,其特征在于步 骤5中所述的混合启发式算法的基本步骤如下: 1) .设定如下参数的值:种群大小N,染色体长度L。,交叉概率P。,变异概率Pm,最大进化 代数Gmax,初始温度Ttl,退火速度c,拉伸系数A; 2) .初始化种群Ptl,即随机产生N个可行解构成初始化种群Pci;计算初始种群中个体的 适应度,进行标准化,对适应度进行拉伸操作;设定迭代次数g为〇 ; 3) .按照拉伸后的适应度进行轮盘赌选择,从种群匕中随机选取两个个体; 4) .交叉和模拟退火操作;采用单点交叉策略,将被选择的两个个体Pl、P2按概率P。 进行交叉操作产生两个新的个体Cl、C2;如果F(cD>F(Pi),则接受个体C1,否则以概率 exp((F(Ci)-F(Pi)) /T*)接受新个体; 5) .变异和模拟退火操作;对新产生的个体(^、C2逐位进行变异操作,如果变异后的个 体C1'适应度增大,则接受变异,否则以概率exp((F(Ci')_F(Ci))/T*)接受新个体; 6) .把新产生的两个个体加入新种群Pg+1中,如果Pg+1中个体数量小于N,则转到步骤 3),否则进行下一步; 7) .计算新种群中每个个体的适应度,并进行标准化操作; 8) .对新种群中的个体进行适应度拉伸; 9) .实施精英保留策略,用新种群替换原种群; 10) .降温操作; 11) .更新迭代次数g=g+1,如果达到最大迭代次数Gmax,则输出种群Pg中的最优解, 否则转到步骤3)。
【文档编号】G08G1/00GK104504229SQ201410481840
【公开日】2015年4月8日 申请日期:2014年9月19日 优先权日:2014年9月19日
【发明者】郑宁, 陈涛, 徐海涛, 林菲 申请人:杭州电子科技大学