首页 > 专利 > 杭州电子科技大学 > 一种基于混合启发式算法的智能公交调度方法专利详情

一种基于混合启发式算法的智能公交调度方法   0    0

有效专利 查看PDF
专利申请流程有哪些步骤?
专利申请流程图
申请
申请号:指国家知识产权局受理一件专利申请时给予该专利申请的一个标示号码。唯一性原则。
申请日:提出专利申请之日。
2014-09-19
申请公布
申请公布指发明专利申请经初步审查合格后,自申请日(或优先权日)起18个月期满时的公布或根据申请人的请求提前进行的公布。
申请公布号:专利申请过程中,在尚未取得专利授权之前,国家专利局《专利公报》公开专利时的编号。
申请公布日:申请公开的日期,即在专利公报上予以公开的日期。
2015-05-06
授权
授权指对发明专利申请经实质审查没有发现驳回理由,授予发明专利权;或对实用新型或外观设计专利申请经初步审查没有发现驳回理由,授予实用新型专利权或外观设计专利权。
2018-02-16
预估到期
发明专利权的期限为二十年,实用新型专利权期限为十年,外观设计专利权期限为十五年,均自申请日起计算。专利届满后法律终止保护。
2034-09-19
基本信息
有效性 有效专利 专利类型 发明专利
申请号 CN201410481840.4 申请日 2014-09-19
公开/公告号 CN104504229B 公开/公告日 2018-02-16
授权日 2018-02-16 预估到期日 2034-09-19
申请年 2014年 公开/公告年 2018年
缴费截止日
分类号 G06Q10/06G06Q50/30 主分类号 G06Q10/06
是否联合申请 独立申请 文献类型号 B
独权数量 1 从权数量 4
权利要求数量 5 非专利引证数量 1
引用专利数量 5 被引证专利数量 0
非专利引证 1、Li Liu etal“.Combined SimulatedAnnealing and Genetic Algorithm Approachto Bus Network Design”《.Transport systemstelematics-10th conference》.2010,第335-346页. 黄宏用.“改进的遗传—模拟退火算法在公交排班中的应用”《.中国优秀硕士论文全文数据库 信息科技辑》.2011,(第9期),第I140-89页. 王庆荣 等.“基于改进遗传—模拟退火算法的公交排班优化研究”《.计算机应用研究》.2012,第29卷(第7期),第2461-2462页.;
引用专利 CN101038700A、CN102722613A、CN103578267A、CN103646542A、CN103678917A 被引证专利
专利权维持 3 专利申请国编码 CN
专利事件 事务标签 公开、实质审查、授权
申请人信息
申请人 第一申请人
专利权人 杭州电子科技大学 当前专利权人 杭州电子科技大学
发明人 郑宁、陈涛、徐海涛、林菲 第一发明人 郑宁
地址 浙江省杭州市下沙高教园区2号大街 邮编 310018
申请人数量 1 发明人数量 4
申请人所在省 浙江省 申请人所在市 浙江省杭州市
代理人信息
代理机构
专利代理机构是经省专利管理局审核,国家知识产权局批准设立,可以接受委托人的委托,在委托权限范围内以委托人的名义办理专利申请或其他专利事务的服务机构。
杭州君度专利代理事务所 代理人
专利代理师是代理他人进行专利申请和办理其他专利事务,取得一定资格的人。
黄前泽
摘要
本发明公开了一种基于混合启发式算法的智能公交调度方法。本发明将模拟退火算法和遗传算法结合在一起,并且加入精英保留策略和适应度拉伸函数。将每一代种群中适应度最大的个体直接保留到下一代,避免它被交叉和变异操作破坏。适应度拉伸函数在算法的初期阶段,削减个体之间的差异,从而增加种群的多样性,避免遗传算法陷入局部最优解;在算法的后期阶段,增大个体间的差异,从而增加优秀个体被选择的概率,加快收敛速度。本发明运算速度快,能在较短时间内在给定发车时间频率条件下,得到优化后的调度计划,使乘客的等待时间大幅度减少;能动态调整发车频率,使发车频率符合客流总量的变化规律;能动态调整发车间隔,大幅度减少乘客的等待时间。
  • 摘要附图
    一种基于混合启发式算法的智能公交调度方法
  • 说明书附图:[转续页]
    一种基于混合启发式算法的智能公交调度方法
  • 说明书附图:图1
    一种基于混合启发式算法的智能公交调度方法
  • 说明书附图:图2
    一种基于混合启发式算法的智能公交调度方法
  • 说明书附图:图3
    一种基于混合启发式算法的智能公交调度方法
  • 说明书附图:图4
    一种基于混合启发式算法的智能公交调度方法
  • 说明书附图:图5
    一种基于混合启发式算法的智能公交调度方法
  • 说明书附图:图6
    一种基于混合启发式算法的智能公交调度方法
  • 说明书附图:图7
    一种基于混合启发式算法的智能公交调度方法
法律状态
序号 法律状态公告日 法律状态 法律状态信息
1 2018-02-16 授权
2 2015-05-06 实质审查的生效 IPC(主分类): G06F 19/00 专利申请号: 201410481840.4 申请日: 2014.09.19
3 2015-04-08 公开
权利要求
权利要求书是申请文件最核心的部分,是申请人向国家申请保护他的发明创造及划定保护范围的文件。
1.一种基于混合启发式算法的智能公交调度方法,其特征在于包括如下步骤:
步骤(1)读取乘客的刷卡记录,统计每天乘车总人数和每个时间段I内的人数,获取每天的历史天气状况和节假日情况;使用层次聚类方法,对获取的历史数据进行聚类分析;即将一天当中的乘车总人数、不同时间段内的乘车人数、天气情况和节假日情况组合成一个向量,然后对该向量进行归一化操作,使用系统聚类算法中的Ward法进行聚类操作,根据聚类的结果提取每个类别的特征;
所述的刷卡记录包括上车刷卡时间、上车站点、下车刷卡时间和下车站点;
所述的获取的历史数据包括乘客的刷卡记录、历史天气状况和节假日情况;
步骤(2)根据第二天的天气预报信息和节假日情况,从步骤1的聚类结果中匹配到一个类,并从该类中抽取一个向量作为预测值;
步骤(3)根据预测值,结合公交企业期望的满载率,两者相除,得到第二天的总发车班次;
步骤(4)随机生成N个向量,向量的维度与总发车班次相等;每个分量代表对应班次的发车时间,发车时间以分钟为单位,设定第一个分量等于0,最后一个分量等于末班车发车时间与首班车发车时间之间的分钟数;向量中的分量按从小到大的顺序排列,这N个向量组成初始解的集合P0,并设定迭代次数g为0;其中N为偶数;
步骤(5)建立公交调度的数学模型,以乘客的等待时间最短为目标设定适应度函数,计算每个初始解的适应度,然后通过混合启发式算法进行求解;
5-
1.使用适应度拉伸函数进行适应度拉伸操作,用拉伸后的值替换掉原来的适应度;
5-
2.按照轮盘赌选择策略从集合Pg中选择任意两个解,按照设定的交叉概率进行交叉操作,即随机选择一个交叉位置,交换两个解交叉点后的部分,得到两个交叉后的解;然后对两个交叉后解进行模拟退火操作:计算交叉后的解的适应度,如果适应度增大,接受新的解,否则以当前的接受概率接受新的解;从而获取两个新的解;
5-
3.按照设定的变异概率,对步骤5-2中获取的两个新解的每一个分量进行变异操作,即随机生成一个大小位于前后两个分量之间的自然数,替换掉原来的值,得到两个变异后的解;然后进行模拟退火操作:计算变异后的解的适应度,如果适应度增大,接受新的解,否则以当前的接受概率接受新的解;从而获取两个新的解,并将获取的两个新的解放入解集Pg+1;
5-
4.判断解集Pg+1中解的个数是否与N相等;如果相等,则实施精英保留策略,即当Pg+1中的最优解的适应度比Pg中的最优解的适应度小时使用解集Pg中适应度最大的解替换掉Pg+1中适应度最小的解;否则,重复步骤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为线路指定方向上总的站点数量;
ti为一个调度周期中第i次车的发车时间,以分钟为单位,i=1,2,...,m;
rj为线路指定方向上第j个站点随时间变化的到达率,单位为人/分钟,j=1,2,...,n;
T为调度周期内乘客的总等待时间;

公交运营的成本分为不变成本和可变成本,公交调度和不变成本之间不存在直接的关系;设一个调度周期内公交运营收益为R,P为人均乘车费用,单位为元,L为指定方向线路总长度,单位为km,C为公交车辆的可变成本,单位为元/km,则公交公司的收益为总收入减去总的可变成本,具体如下:
设μ为乘客等待时间权系数,ν为公交公司收益权系数;根据二次惩罚法,公交调度优化模型的目标函数为:
minz=μ×T-ν×R
设Nmax为最大车容量,ρ为期望满载率,则有约束条件Ⅰ:
为了保证规律到达乘客和随机到达乘客都能在较短的时间内等到所候车辆,设Hmin和Hmax分别为公交公司要求的最小和最大发车间隔,则发车间隔应满足下面的约束条件Ⅱ:
Hmin≤ti-ti-1≤Hmax i=2,3,...,m
同时为避免造成发车的不连续现象,设τ为公交公司允许的最大发车间隔差值,则约束条件Ⅲ:
|(ti+1-ti)-(ti-ti-1)|≤τ i=2,3,...,m-1
通过罚函数法来保证产生的解不违反调度问题的约束条件;基于以上的描述,调度问题的目标函数min f(X)形式如下:
其中min f(X)为加入罚函数后的目标函数值,ω1、ω2、ω3、ω4分别为约束条件Ⅰ、约束条件Ⅱ最小发车间隔、约束条件Ⅱ最大发车间隔、约束条件Ⅲ对应的惩罚系数;调度问题的解X是长度为m的向量,每个分量xi代表调度周期内第i次车距首班车的发车时间,以分钟为单位;
为了保证每个个体的适应度均大于0,同时也为了方便运用轮盘赌选择策略,对目标函数进行变换得到适应度函数的最终形式为:

3.如权利要求1所述的一种基于混合启发式算法的智能公交调度方法,其特征在于所述的模拟退火算法能够加强遗传算法的局部搜索能力,在遗传算法中每次完成交叉操作和变异操作以后,比较前后两个个体的适应度,进行模拟退火操作;模拟退火算法中需要设定初始温度T0,当前温度的计算公式为:
T*=T0×σg-1
其中σ表示温度降低的速度,其取值为0<σ<1,其值越大,温度降低的越慢,值越小,温度降低的越快;g为算法当前迭代的次数;当新产生的个体的适应度减小时,接受新个体的概率为:
其中F(Xnew)、F(Xold)分别为新个体和原个体的适应度;
同时为了保证每个种群中最有优秀的个体能顺利进入下一代产生新的个体,在模拟退火和遗传算法的融合算法中,加入精英保留策略;每产生新的一代种群后,比较新一代种群和上一代种群中最佳个体的适应度值;如果新一代种群的最佳个体的适应度小于上一代的最佳个体,则用上一代的最佳个体替换新一代中适应度最小的个体;否则直接进入下一次迭代。

4.如权利要求1所述的一种基于混合启发式算法的智能公交调度方法,其特征在于步骤5-1中所述的拉伸函数的形式为:
其中F(Xi)代表个体Xi的适应度,F(Xi)'是拉伸后的适应度,T*指模拟退火算法中当前的温度,N代表种群中个体的数量,λ代表拉伸系数;
为了能够进行适应度拉伸,要在拉伸前对种群中所有的个体进行适应度标准化,令其中fitness指个体的适应度,fitness'指标准化后的适应度,maxfitness指当前种群中最佳个体的适应度。

5.如权利要求1所述的一种基于混合启发式算法的智能公交调度方法,其特征在于步骤5中所述的混合启发式算法的基本步骤如下:
1).设定如下参数的值:种群大小N,染色体长度Lc,交叉概率Pc,变异概率Pm,最大进化代数Gmax,初始温度T0,退火速度σ,拉伸系数λ;
2).初始化种群P0,即随机产生N个可行解构成初始化种群P0;计算初始种群中个体的适应度,进行标准化,对适应度进行拉伸操作;设定迭代次数g为0;
3).按照拉伸后的适应度进行轮盘赌选择,从种群Pg中随机选取两个个体;
4).交叉和模拟退火操作;采用单点交叉策略,将被选择的两个个体p1、p2按概率Pc进行交叉操作产生两个新的个体c1、c2;如果F(ci)>F(pi),则接受个体c1,否则以概率exp((F(ci)-F(pi))/T*)接受新个体;
5).变异和模拟退火操作;对新产生的个体c1、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)。
说明书

技术领域

[0001] 本发明属于城市智能公共交通系统技术领域,涉及一种基于混合启发式算法的智能公交调度方法,特别是一种对快速公交的发车计划进行调度的方法。

背景技术

[0002] 随着城市的快速发展,城市人口不断增加,私家车的数量也随着大量增长,造成了交通拥堵和环境污染问题日益严峻。充分发挥城市公共交通系统的作用,能够缓解这些问题。但是目前公共交通也有乘客等待时间较长和乘客满意度较低的问题。如何有效的解决现有的问题,是增加公共交通吸引力的关键。公交调度是公交企业日常运营活动的中心,它直接影响到运营成本和乘客满意度。符合客流规律的公交调度方案能够根据客流量的变化调整发车间隔,加强了公交服务的针对性,减少了乘客的等车时间,提高了公交服务质量,增加公共交通的吸引力。
[0003] 公交调度的目的就是在满足乘客出行需求的情况下,尽量节省运营成本。这两个相互矛盾的要求导致这是一个多目标优化问题。同时,公交调度要受到公交企业运营成本、车队规模等多方面的约束。怎样在同时满足客流量需求和约束条件下,找到合适的方法在合理的时间内确定公交调度方案,是实现智能化公交调度的关键。公交调度分为静态调度和动态调度两个部分,静态调度主要是指制订每条线路的发车时刻表,动态调度主要完成当出现车辆、客流等突发情况时对已有的发车时刻表进行调整。在日常运营中,静态调度为主,动态调度为辅。本发明主要涉及如何使用改进的混合启发式算法来解决快速公交的静态调度问题。
[0004] 目前,国内外在此领域的研究有很多,但是每个城市公交系统的具体情况都不同,没有一种较为通用的能够结合历史运营数据进行公交调度的方法。在这些研究中有很多人使用遗传算法等启发式算法,或者它们的改进算法用于公交调度的优化。遗传算法能够在合理的时间内找到公交调度问题的最优解或者近似最优解,这也是许多研究者使用它来解决公交调度的原因。但是遗传算法存在容易过早收敛,效率低等缺点。

发明内容

[0005] 本发明的目的是为了克服遗传算法自身的不足,并提出了一种新颖的方法来解决乘客和公交运营企业之间的利益冲突。本发明涉及的方法将模拟退火算法和遗传算法结合在一起,并且加入精英保留策略和适应度拉伸函数。将每一代种群中适应度最大的个体直接保留到下一代,避免它被交叉和变异操作破坏。适应度拉伸函数在算法的初期阶段,削减个体之间的差异,从而增加种群的多样性,避免遗传算法陷入局部最优解;在算法的后期阶段,增大个体间的差异,从而增加优秀个体被选择的概率,加快收敛速度。模拟退火算法能够增加遗传算法的局部搜索能力,从而加快遗传算法的收敛速度。
[0006] 本发明的方法的具体步骤如下:
[0007] 步骤(1)读取乘客的刷卡记录,统计每天乘车总人数和每个时间段I内的人数,获取每天的历史天气状况和节假日情况;使用层次聚类方法,对获取的历史数据进行聚类分析;即将一天当中的乘车总人数、不同时间段内的乘车人数、天气情况和节假日情况组合成一个向量,然后对该向量进行归一化操作,使用系统聚类算法中的Ward法进行聚类操作,根据聚类的结果提取每个类别的特征;
[0008] 所述的刷卡记录包括上车刷卡时间、上车站点、下车刷卡时间和下车站点;
[0009] 所述的获取的历史数据包括乘客的刷卡记录、历史天气状况和节假日情况;
[0010] 步骤(2)根据第二天的天气预报信息和节假日情况,从步骤1的聚类结果中匹配到一个类,并从该类中抽取一个向量作为预测值;
[0011] 步骤(3)根据预测值,结合公交企业期望的满载率,两者相除,得到第二天的总发车班次;
[0012] 步骤(4)随机生成N个向量,向量的维度与总发车班次相等;每个分量代表对应班次的发车时间,发车时间以分钟为单位,设定第一个分量等于0,最后一个分量等于末班车发车时间与首班车发车时间之间的分钟数;向量中的分量按从小到大的顺序排列,这N个向量组成初始解的集合P0,并设定迭代次数g为0;其中N为偶数;
[0013] 步骤(5)建立公交调度的数学模型,以乘客的等待时间最短为目标设定适应度函数,计算每个初始解的适应度,然后通过混合启发式算法进行求解;
[0014] 5-1.使用适应度拉伸函数进行适应度拉伸操作,用拉伸后的值替换掉原来的适应度;
[0015] 5-2.按照轮盘赌选择策略从集合Pg中选择任意两个解,按照设定的交叉概率进行交叉操作,即随机选择一个交叉位置,交换两个解交叉点前后的部分,得到两个交叉后的解;然后对两个交叉后解进行模拟退火操作:计算交叉后的解的适应度,如果适应度增大,接受新的解,否则以当前的接受概率接受新的解;从而获取两个新的解;
[0016] 5-3.按照设定的变异概率,对步骤5-2中获取的两个新解的每一个分量进行变异操作,即随机生成一个大小位于前后两个分量之间的自然数,替换掉原来的值,得到两个变异后的解;然后进行模拟退火操作:计算变异后的解的适应度,如果适应度增大,接受新的解,否则以当前的接受概率接受新的解;从而获取两个新的解,并将获取的两个新的解放入解集Pg+1;
[0017] 5-4.重复步骤5-2和5-3,直至解集Pg+1中解的个数与N相等;
[0018] 步骤(6)更新迭代次数g=g+1,若已经达到最大的迭代次数Gmax,则输出解集Pg中适应度最高的解,即为优化后的发车时刻表;否则,转到步骤5-1;
[0019] 所述的迭代次数Gmax为正整数。
[0020] 步骤5所述的公交调度数学模型的建立具体如下:
[0021] (1)所述的公交调度数学模型有以下前提条件:
[0022] BRT车辆停站后,等待乘客全部上车,不存在滞留现象;
[0023] BRT全线采用车外收费的方式,不存在投币或刷卡对车辆行驶时间的影响;
[0024] BRT全线采用相同的车辆型号,座位数量和最大载客数量相同;
[0025] 不考虑线路的配车,认为车辆足够多;
[0026] BRT车辆按调度时间表发车;
[0027] BRT车辆在道路上顺序和发车顺序一致,不存在超车现象;
[0028] 以分钟作为调度的最小单位;
[0029] (2)所述的公交调度数学模型中使用的变量及其含义如下:
[0030] m为整个调度周期内的发车次数;
[0031] n为线路指定方向上总的站点数量;
[0032] ti为一个调度周期中第i次车的发车时间,以分钟为单位,i=1,2,...,m;
[0033] rj为线路指定方向上第j个站点随时间变化的到达率,单位为人/分钟,j=1,2,...,n;
[0034] T为调度周期内乘客的总等待时间;
[0035] 则
[0036]
[0037] 公交运营的成本分为不变成本和可变成本,公交调度和不变成本之间不存在直接的关系;设一个调度周期内公交运营收益为R,P为人均乘车费用(元),L为指定方向线路总长度(km),C为公交车辆的可变成本(元/km),则公交公司的收益为总收入减去总的可变成本,具体如下:
[0038]
[0039] 设μ为乘客等待时间权系数,ν为公交公司收益权系数;根据二次惩罚法,公交调度优化模型的目标函数为:
[0040] minz=μ×T-ν×R
[0041] 设Nmax为最大车容量,ρ为期望满载率,则有约束条件Ⅰ:
[0042]
[0043] 为了保证规律到达乘客和随机到达乘客都能在较短的时间内等到所候车辆,设Hmin和Hmax分别为公交公司要求的最小和最大发车间隔,则发车间隔应满足下面的约束条件Ⅱ:
[0044] Hmin≤ti-ti-1≤Hmax i=2,3,...,m
[0045] 同时为避免造成发车的不连续现象,设τ为公交公司允许的最大发车间隔差值,则约束条件Ⅲ:
[0046] |(ti+1-ti)-(ti-ti-1)|≤τ i=2,3,...,m-1
[0047] 通过罚函数法来保证产生的解不违反调度问题的约束条件;基于以上的描述,调度问题的目标函数min f(X)形式如下:
[0048]
[0049] 其中min f(X)为加入罚函数后的目标函数值,ω1、ω2、ω3、ω4分别为约束条件Ⅰ、约束条件Ⅱ最小发车间隔、约束条件Ⅱ最大发车间隔、约束条件Ⅲ对应的惩罚系数;调度问题的解X是长度为m的向量,每个分量xi代表调度周期内第i次车距首班车的发车时间,以分钟为单位;
[0050] 为了保证每个个体的适应度均大于0,同时也为了方便运用轮盘赌选择策略,对目标函数进行变换得到适应度函数的最终形式为:
[0051]
[0052] 所述的模拟退火算法能够加强遗传算法的局部搜索能力,在遗传算法中每次完成交叉操作和变异操作以后,比较前后两个个体的适应度,进行模拟退火操作;模拟退火算法中需要设定初始温度T0,当前温度的计算公式为:
[0053] T*=T0×σg-1
[0054] 其中σ表示温度降低的速度,其取值为0<σ<1,其值越大,温度降低的越慢,值越小,温度降低的越快;g为算法当前迭代的次数;当新产生的个体的适应度减小时,接受新个体的概率为:
[0055]
[0056] 其中F(Xnew)、F(Xold)分别为新个体和原个体的适应度;
[0057] 同时为了保证每个种群中最有优秀的个体能顺利进入下一代产生新的个体,在模拟退火和遗传算法的融合算法中,加入精英保留策略;每产生新的一代种群后,比较新一代种群和上一代种群中最佳个体的适应度值;如果新一代种群的最佳个体的适应度小于上一代的最佳个体,则用上一代的最佳个体替换新一代中适应度最小的个体;否则直接进入下一次迭代。
[0058] 步骤5-1中所述的拉伸函数的形式为:
[0059]
[0060] 其中F(Xi)代表个体Xi的适应度,F(Xi)'是拉伸后的适应度,T*指模拟退火算法中当前的温度,N代表种群中个体的数量,λ代表拉伸系数;
[0061] 为了能够进行适应度拉伸,要在拉伸前对种群中所有的个体进行适应度标准化,令
[0062]
[0063] 其中fitness指个体的适应度,fitness'指标准化后的适应度,max fitness指当前种群中最佳个体的适应度。
[0064] 步骤5中所述的混合启发式算法的基本步骤如下:
[0065] 1).设定如下参数的值:种群大小N,染色体长度Lc,交叉概率Pc,变异概率Pm,最大进化代数Gmax,初始温度T0,退火速度σ,拉伸系数λ;
[0066] 2).初始化种群P0,即随机产生N个可行解构成初始化种群P0;计算初始种群中个体的适应度,进行标准化,对适应度进行拉伸操作;设定迭代次数g为0;
[0067] 3).按照拉伸后的适应度进行轮盘赌选择,从种群Pg中随机选取两个个体;
[0068] 4).交叉和模拟退火操作;采用单点交叉策略,将被选择的两个个体p1、p2按概率Pc进行交叉操作产生两个新的个体c1、c2;如果F(ci)>F(pi),则接受个体c1,否则以概率exp((F(ci)-F(pi))/T*)接受新个体;
[0069] 5).变异和模拟退火操作;对新产生的个体c1、c2逐位进行变异操作,如果变异后的个体c1'适应度增大,则接受变异,否则以概率exp((F(ci')-F(ci))/T*)接受新个体;
[0070] 6).把新产生的两个个体加入新种群Pg+1中,如果Pg+1中个体数量小于N,则转到步骤3),否则进行下一步;
[0071] 7).计算新种群中每个个体的适应度,并进行标准化操作;
[0072] 8).对新种群中的个体进行适应度拉伸;
[0073] 9).实施精英保留策略,用新种群替换原种群;
[0074] 10).降温操作;
[0075] 11).更新迭代次数g=g+1,如果达到最大迭代次数Gmax,则输出种群Pg中的最优解,否则转到步骤3)。
[0076] 本发明有益效果如下:
[0077] 本发明将适应度拉伸方法加入到模拟退火遗传算法中,改善了原算法容易过早收敛的缺点。和原算法相比,改进后的算法对公交调度问题的目标函数优化效果更好。本发明涉及的方法将公交运营企业的运营成本优化,和乘客等待时间优化分在两个不同的阶段进行。公交运营成本分为不变成本和可变成本,公交调度主要和可变成本紧密相关,而可变成本主要由发车班次决定。运营成本的优化是基于大数据对客流量进行合理的预测,然后结合运营企业期望达到的车辆满载率计算出总的发车班次。本发明涉及的成本优化方法可以在“天”的层次上实现人多多发车,人少少发车的效果。乘客等待时间的优化是通过使用融合适应度拉伸方法的模拟退火遗传算法针对建立的目标函数进行优化,最终得到优化后的公交调度计划。
[0078] 具体来说实现了以下几个目标:
[0079] 能够将乘客的刷卡记录按照是否是节假日和天气情况进行聚类分析,提取出每个类别的特征。
[0080] 能够根据第二天的节假日和天气情况在历史数据的基础上,对客流量进行较为准确的预测。
[0081] 能够根据预测得到的客流量,计算出合理的发车班次,使发车班次根据客流量的多少进行相应的调整。
[0082] 能够在给定的发车班次条件下,根据一天当中客流量在不同时间段内的不同的分布情况,对发车间隔进行调整,实现在不同的时间段内人多多发车,人少少发车的目的。但最大发车间隔和最小发车间隔需满足一定的条件。
[0083] 综上所述,本发明实施效果如下:
[0084] (1)运算速度快,能在较短时间内在给定发车时间频率条件下,得到优化后的调度计划,使乘客的等待时间大幅度减少。(2)能够根据节假日和天气情况,动态调整发车频率,使发车频率符合客流总量的变化规律。(3)能够根据一天当中不同时间段客流量的变化,动态调整发车间隔,大幅度减少乘客的等待时间。

附图说明

[0085] 图1本发明流程图。
[0086] 图2历史最佳个体适应度变化曲线。
[0087] 图3历史种群平均适应度变化曲线。
[0088] 图4混合启发式算法历史最佳个体适应度变化与其他两种算法的对比。
[0089] 图5适应度拉伸操作流程图。
[0090] 图6交叉操作流程图。
[0091] 图7变异操作流程图。
[0092] 具体的实施方式
[0093] 下面结合附图和实施例对本发明作进一步说明。
[0094] 一种基于混合启发式算法的智能公交调度方法,具体包括如下步骤:
[0095] 步骤(1)读取乘客的刷卡记录,统计每天乘车总人数和每个时间段I内的人数。从2345天气预报网站和万年历中抓取每天的历史天气状况和节假日情况。使用层次聚类方法,对获取的历史数据进行聚类分析;即将一天当中的乘车总人数、不同时间段内的乘车人数、天气情况和节假日情况组合成一个向量,然后对该向量进行归一化操作,使用系统聚类算法中的Ward法进行聚类操作,根据聚类的结果提取每个类别的特征。经过这些操作之后,我们可以根据调度日的具体情况对客流量进行较为准确的预测。
[0096] 刷卡记录包括上车刷卡时间、上车站点、下车刷卡时间和下车站点。
[0097] 获取的历史数据包括乘客的刷卡记录、历史天气状况和节假日情况。
[0098] 步骤(2)根据第二天的天气预报信息和节假日情况,从步骤1的聚类结果中匹配到一个类,并从该类中抽取一个向量作为预测值;
[0099] 步骤(3)根据预测值,结合公交企业期望的满载率,两者相除,得到第二天的总发车班次;
[0100] 步骤(4)随机生成N个向量,向量的维度与总发车班次相等。每个分量代表对应班次的发车时间,发车时间以分钟为单位,设定第一个分量等于0,最后一个分量等于末班车发车时间与首班车发车时间之间的分钟数;向量中的分量按从小到大的顺序排列,这N个向量组成初始解的集合P0,并设定迭代次数g为0;其中N为偶数;
[0101] 步骤(5)建立公交调度的数学模型,以乘客的等待时间最短为目标设定适应度函数,计算每个初始解的适应度,然后通过混合启发式算法进行求解。
[0102] 5-1.使用适应度拉伸函数进行适应度拉伸操作,用拉伸后的值替换掉原来的适应度;
[0103] 5-2.按照轮盘赌选择策略从集合Pg中选择任意两个解,按照设定的交叉概率进行交叉操作,即随机选择一个交叉位置,交换两个解交叉点前后的部分,得到两个交叉后的解;然后对两个交叉后的解进行模拟退火操作:计算交叉后的解的适应度,如果适应度增大,接受新的解,否则以当前的接受概率接受新的解;从而获取两个新的解;
[0104] 5-3.按照设定的变异概率,对步骤5-2中获取的两个新解的每一个分量进行变异操作,即随机生成一个大小位于前后两个分量之间的自然数,替换掉原来的值,得到两个变异后的解。然后进行模拟退火操作:计算变异后的解的适应度,如果适应度增大,接受新的解,否则以当前的接受概率接受新的解;从而获取两个新的解,并将获取的两个新的解放入解集Pg+1;
[0105] 5-4.重复步骤5-2和5-3,直至解集Pg+1中解的个数与N相等;
[0106] 步骤(6)更新迭代次数g=g+1,若已经达到最大的迭代次数Gmax,则输出解集Pg中适应度最高的解,即为优化后的发车时刻表。否则,转到步骤5-1。
[0107] 所述的迭代次数Gmax为正整数。
[0108] 步骤5所述的公交调度数学模型的建立具体如下:
[0109] (1)所述的公交调度数学模型有以下前提条件:
[0110] BRT车辆停站后,等待乘客全部上车,不存在滞留现象。
[0111] BRT全线采用车外收费的方式,不存在投币或刷卡对车辆行驶时间的影响。
[0112] BRT全线采用相同的车辆型号,座位数量和最大载客数量相同。
[0113] 不考虑线路的配车,认为车辆足够多。
[0114] BRT车辆按调度时间表发车。
[0115] BRT车辆在道路上顺序和发车顺序一致,不存在超车现象。
[0116] 以分钟作为调度的最小单位。
[0117] (2)所述的公交调度数学模型中使用的变量及其含义如下:
[0118] m为整个调度周期内的发车次数;
[0119] n为线路指定方向上总的站点数量;
[0120] ti为一个调度周期中第i次车的发车时间,以分钟为单位,i=1,2,...,m;
[0121] rj为线路指定方向上第j个站点随时间变化的到达率,单位为人/分钟,j=1,2,...,n;
[0122] T为调度周期内乘客的总等待时间。
[0123] 则
[0124]
[0125] 公交运营的成本分为不变成本和可变成本,公交调度和不变成本之间不存在直接的关系,因此这里只考虑可变成本。设一个调度周期内公交运营收益为R,P为人均乘车费用(元),L为指定方向线路总长度(km),C为公交车辆的可变成本(元/km)。公交公司的收益为总收入减去总的可变成本,因此有
[0126]
[0127] 设μ为乘客等待时间权系数,ν为公交公司收益权系数。根据二次惩罚法,公交调度优化模型的目标函数为
[0128] minz=μ×T-ν×R
[0129] 为了充分利用公共交通资源,公交公司要求车辆满载率要高于期望满载率。设Nmax为最大车容量,ρ为期望满载率,则有约束条件Ⅰ:
[0130]
[0131] 为了保证规律到达乘客和随机到达乘客都能在较短的时间内等到所候车辆。假设Hmin和Hmax分别为公交公司要求的最小和最大发车间隔,则发车间隔应满足下面的约束条件Ⅱ:
[0132] Hmin≤ti-ti-1≤Hmax i=2,3,...,m
[0133] 同时,相邻两个班次车辆的发车间隔之差不宜太大,避免造成发车的不连续现象。假设τ为公交公司允许的最大发车间隔差值,则约束条件Ⅲ:
[0134] |(ti+1-ti)-(ti-ti-1)|≤τ i=2,3,...,m-1
[0135] 通过罚函数法来保证产生的解不违反调度问题的约束条件;基于以上的描述,调度问题的目标函数min f(X)形式如下:
[0136]
[0137] 其中min f(X)为加入罚函数后的目标函数值,ω1、ω2、ω3、ω4分别为约束条件Ⅰ、约束条件Ⅱ最小发车间隔、约束条件Ⅱ最大发车间隔、约束条件Ⅲ对应的惩罚系数。调度问题的解X是长度为m的向量,每个分量xi代表调度周期内第i次车距首班车的发车时间,以分钟为单位。
[0138] 公交调度的目标函数是最小化问题,为了保证每个个体(每个个体对应解集当中的一个解)的适应度均大于0,同时也为了方便运用轮盘赌选择策略,对目标函数进行变换得到适应度函数的最终形式为:
[0139]
[0140] 模拟退火算法能够加强遗传算法的局部搜索能力,在遗传算法中每次完成交叉操作和变异操作以后,比较前后两个个体的适应度,进行模拟退火操作。模拟退火算法中需要设定初始温度T0,当前温度的计算公式为:
[0141] T*=T0×σg-1
[0142] 其中σ表示温度降低的速度,其取值为0<σ<1,其值越大,温度降低的越慢,值越小,温度降低的越快;g为算法当前迭代的次数。当新产生的个体的适应度减小时,接受新个体的概率为:
[0143]
[0144] 其中F(Xnew)、F(Xold)分别为新个体和原个体的适应度。
[0145] 同时为了保证每个种群中最有优秀的个体能顺利进入下一代产生新的个体,在模拟退火和遗传算法的融合算法中,加入精英保留策略。每产生新的一代种群后,比较新一代种群和上一代种群中最佳个体的适应度值。如果新一代种群的最佳个体的适应度小于上一代的最佳个体,则用上一代的最佳个体替换新一代中适应度最小的个体。否则直接进入下一次迭代。
[0146] 步骤5-1中拉伸函数的形式为:
[0147]
[0148] 其中F(Xi)代表个体Xi的适应度,F(Xi)'是拉伸后的适应度,T*指模拟退火算法中当前的温度,N代表种群中个体的数量,λ代表拉伸系数。
[0149] 实施例1
[0150] 下面举例说明拉伸函数在遗传-模拟退火算法中的作用。当T*=5000,λ=200,假设有10个个体的适应度分别为0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0,拉伸前后个体被选择的概率的对比结果如表1所示。当T*=50,λ=200,假设有10个个体的适应度分别为0.71,0.72,0.73,0.74,0.75,0.76,0.77,0.78,0.79,0.80,拉伸前后个体被选择的概率的对比结果如表2所示。表格中No.代表个体编号,fitness代表个体的适应度,P1代表拉伸前个体被选择的概率,P2代表拉伸后个体被选择的概率。从对比结果中,明显可以得到以下结论:当温度较高时,经过拉伸后,个体之间的差异减小;当温度较低时,经过拉伸,个体之间的差异变大。
[0151] 表1T*=5000时拉伸前后个体被选择概率的对比
[0152]No. 1 2 3 4 5 6 7 8 9 10
fitness 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
P1 0.0182 0.0364 0.0545 0.0727 0.0909 0.1091 0.1273 0.1455 0.1636 0.1818P2 0.0982 0.0986 0.0990 0.0994 0.0998 0.1002 0.1006 0.1010 0.1014 0.1018[0153] 表2T*=50时拉伸前后个体被选择概率的对比
[0154]No. 1 2 3 4 5 6 7 8 9 10
fitness 0.71 0.72 0.73 0.74 0.75 0.76 0.77 0.78 0.79 0.80
P1 0.0940 0.0954 0.0967 0.0980 0.0993 0.1007 0.1020 0.1033 0.1046 0.1060P2 0.0830 0.0864 0.0899 0.0936 0.0974 0.1013 0.1055 0.1098 0.1143 0.1189[0155] 由于编程语言能够提供的基本数据类型所表达的数字范围是有限的,为了能够进行适应度拉伸,要在拉伸前对种群中所有的个体进行适应度标准化,令
[0156]
[0157] 其中fitness指个体的适应度,fitness′指标准化后的适应度,max fitness指当前种群中最佳个体的适应度。
[0158] 最后使用改进后的混合启发式算法进行求解。图1给出了该算法的流程图,从图中可以看出改进的混合启发式算法主要包含了选择、交叉、变异、模拟退火、精英保留、标准化和适应度拉伸操作,求解过程中这些操作一一作用于群体Pg,继而产生新一代种群Pg+1。图2、3、4分别是算法执行过程中历史最佳个体适应度变化曲线、历史种群平均适应度变化曲线以及该算法和其他两种算法的对比图。
[0159] 步骤5中所述的混合启发式算法的基本步骤如下:
[0160] 12).设定如下参数的值:种群大小N,染色体长度Lc,交叉概率Pc,变异概率Pm,最大进化代数Gmax,初始温度T0,退火速度σ,拉伸系数λ。
[0161] 13).初始化种群P0,即随机产生N个可行解构成初始化种群P0。计算初始种群中个体的适应度,进行标准化,对适应度进行拉伸操作。图5给出的拉伸操作的流程图。设定迭代次数g为0。
[0162] 14).按照拉伸后的适应度进行轮盘赌选择,从种群Pg中随机选取两个个体。
[0163] 15).交叉和模拟退火操作。采用单点交叉策略,将被选择的两个个体p1、p2按概率Pc进行交叉操作产生两个新的个体c1、c2。如果F(ci)>F(pi),则接受个体c1,否则以概率exp((F(ci)-F(pi))/T*)接受新个体。图6给出的是该步骤的流程图。
[0164] 16).变异和模拟退火操作。对新产生的个体c1、c2逐位进行变异操作,如果变异后的个体c1'适应度增大,则接受变异,否则以概率exp((F(ci')-F(ci))/T*)接受新个体。图7给出的是该步骤的流程图。
[0165] 17).把新产生的两个个体加入新种群Pg+1中,如果Pg+1中个体数量小于N,则转到步骤3),否则进行下一步。
[0166] 18).计算新种群中每个个体的适应度,并进行标准化操作。
[0167] 19).对新种群中的个体进行适应度拉伸。
[0168] 20).实施精英保留策略,用新种群替换原种群。
[0169] 21).降温操作。
[0170] 22).更新迭代次数g=g+1,如果达到最大迭代次数Gmax,则输出种群Pg中的最优解,否则转到步骤3)。
版权所有:盲专网 ©2023 zlpt.xyz  蜀ICP备2023003576号