技术新讯 > 计算推算,计数设备的制造及其应用技术 > 一种基于DQN实现公交上下行动态均衡时刻表生成方法与流程  >  正文

一种基于DQN实现公交上下行动态均衡时刻表生成方法与流程

  • 国知局
  • 2024-11-18 18:13:53

本发明涉及公交运行系统,具体为一种基于深度强化学习(dqn)实现公交上下行动态均衡时刻表生成方法。

背景技术:

1、优化公交发车时刻表可有效提高公交服务质量和运营效率,在实际应用中根据乘客客流对公交时刻表发车时间点进行优化。

2、目前对公交时刻表进行优化的方法有遗传算法、图形启发式算法、穷举方法等,该方法都可以根据历史客流以离线方式生成公交时刻表。在公交系统的实际运行过程中,会面临各种各样的的突发情况,包括因突发事件导致的客流突增、道路拥堵导致的公交行程时间、道路封闭施工等导致的站点变更等等情况。基于历史数据生成的时刻表无法满足乘客的出行需求。此外公交系统的实际发车需要线路双向发车且车辆不能空载,已有基于强化学习对单向的线路的发车时刻表进行优化,生成的发车时刻表不能动态适应客流与交通状况变化,不能同时对一条公交线路的两个方向进行调度,导致排班不符合实际要求而不能应用问题。

技术实现思路

1、本发明的目的在于提供一种基于dqn实现公交上下行动态均衡时刻表生成方法,基于公交车辆运行的交通状况与公交客流信息,通过直接与仿真环境交互来训练,在实时仿真环境中进行决策,生成公交上下行动态均衡时刻表,当客流发生突发事件发生变化时,可基于变化后的客流推理生成新的发车时刻表,当公交行程时间突发变化时,可基于变化后的行程时间推理生成新的发车时刻表,当公交站点临时调整与变更,可基于变化后的站点信息推理生成新的发车时刻表,以解决上述背景技术中提出的问题。

2、为实现上述目的,本发明提供如下技术方案:

3、一种基于dqn实现公交上下行动态均衡时刻表生成方法,包括以下步骤:

4、s1:初始化公交线路信息,包括设置线路编号id、车辆的最短发车间隔tmin、最长发车间隔tmax、车辆核载人数cmax、首班时间starttime、末班时间endtime;

5、s2:获取线路上下行的历史交通状况与客流信息;

6、s3:初始化强化学习dqn模型参数,输入维度minput,输出维度moutput,隐层数量mhidden,隐层神经元个数nhidden,激活函数为relu,学习率lr,批次大小batch_size,经验回放容量cer;

7、s4:构建可生成公交上下行动态均衡时刻表的dqn模型;

8、s5:可生成公交上下行动态均衡时刻表的dqn模型推理,基于完成训练的模型,使用当前线路的交通情况与客流数据进行推理,得到上下行动态均衡的时刻表,当客流发生突发事件发生变化时,可基于变化后的客流推理生成新的发车时刻表,当公交行程时间突发变化时,可基于变化后的行程时间推理生成新的发车时刻表,当公交站点临时调整与变更,可基于变化后的站点信息推理生成新的发车时刻表;

9、s6:公交上下行动态均衡时刻表结果输出,分别输出线路上下行方向计划的每一次发车时间点,且包含当前发车时间距离上一次发车之间的间隔、此发车计划每特定间隔时间所提供的客运容量、总发车次数、由于车辆满载而无法上车的乘客数量、乘客的平均等待时间。

10、更进一步地,s2中具体方法为:

11、s201:基于公交车进出站的数据计算出每辆公交车两两相邻站点之间的通行时间;

12、s202:基于每辆公交车两两相邻站点之间的通行时间计算出一天每15分钟内两两相邻站点之间的通行时间,作为历史交通状况数据;

13、s203:基于公交车刷卡数据推导出乘客下车站点的数据,再结合公交车进出站数据,计算出乘客上下站点信息与时间信息,作为客流信息。

14、更进一步地,s4中具体方法为:

15、s401:建立可生成公交上下行动态均衡时刻表的dqn模型的状态变量;

16、s402:建立可生成公交上下行动态均衡时刻表的dqn模型的动作状态;

17、s403:建立可生成公交上下行动态均衡时刻表的dqn模型的奖励函数;

18、s404:对可生成公交上下行动态均衡时刻表的dqn模型进行训练,在训练过程中,对于每一天进行完全的模拟,首先在首班车时间强制发出一班车后更新环境状态,此后对于每一分钟,dqn智能体会做出决策,得到一个动作,此动作有pm的概率为模型生成的结果,1-pm的概率为随机取值的结果;若当前时刻距离上一次发车的时间小于最短发车间隔tmin则强制不进行发车;若当前时刻距离上一次发车的时间大于最长发车间隔tmax则强制进行发车;

19、s405:对可生成公交上下行动态均衡时刻表的dqn模型进行仿真,在s404训练完后将此动作应用于仿真环境中,得到下一个状态向量与做出当前动作得到的奖励值,并在经验回放中存入当前状态、当前奖励、当前动作与下一个状态;当经验回放被存满后,dqn模型会在每5次模拟后进行一次训练,并且在每训练100次后更新一次dqn算法中的目标网络,并且保存得到的模型。

20、更进一步地,s401中的状态变量将考虑时间状态、上下行车辆载客状态、上下行客流状态、上下行发车状态。定义其中,m为一天不同的时间,xmu和xmd分别表示公交上行状态、下行状态,定义

21、xmu=[xu_h,xu_min,xu_pn,xu_wmin,xu_tpn,xu_vn],

22、xmd=[xd_h,xd_min,xd_pn,xd_wmin,xd_tpn,xd_vn],xu_h和xd_h分别表示上下行在m时刻的小时数,xu_min和xd_min分别表示上下行在m时刻的分钟数,xu_pn和xd_pn分别表示上下行在m时刻车辆的在车人数,xu_wmin和xd_wmin分别表示上下行在m时刻乘客的等待时长,xu_tpn和xd_tpn分别表示上下行在m时刻车辆上车客流量,xu_vn和xd_vn分别表示上下行在m时刻线路的发车次数。

23、更进一步地,s402中动作状态的动作向量定义4个动作元素:上下行均不发车、仅上行发车、仅下行发车、上下行均进行发车,定义a=[0,1,2,3],若智能体选择动作0,代表当前时刻上下行均不发车;若选择动作1,代表当前时刻仅上行发车;若选择动作2,代表当前时刻仅下行发车;若选择动作3,代表当前时刻上下行均进行发车。

24、更进一步地,s403中的奖励函数包含两个部分,reward=rewardup+rewarddown-rewarddeparture_std;对于上行,若当前时刻不进行发车rewardup=1-(om/em)-(ω×wm)-(β×dsm)+γ(c1-c2),其中,om为若在第m分钟发出一辆车的上车乘客量,em为车辆的核载人数,ω可取若干值,若该值较大,则模型偏向于进行更多发车数,若该值较小,则模型偏向于更少发车数,该值可取1/1000;β为一常量,取0.2,dsm表示若在第m分钟时有多少乘客会因当前到站车辆满载而无法上车;γ为一常量,取γ=1e-3×200,当模拟时间距离末班车时间小于两个小时时,取γ=5e-3×200,若当前时刻进行发车rewardup=(om/em)-(β×dsm)-γ(c1-c2),对于下行若当前时刻不进行发车rewarddown=1-(om/em)-(ω×wm)-(β×dsm)-γ(c1-c2);若当前时刻进行发车rewarddown=(om/em)-(β×dsm)+γ(c1-c2);rewarddeparture_std为发车间隔的标准差。

25、与现有技术相比,本发明的有益效果是:

26、本发明的基于dqn实现公交上下行动态均衡时刻表生成方法,基于公交车辆运行的交通状况与公交客流信息,设计基于dqn实现公交上下行动态均衡时刻表生成模型,包括设计可生成公交上下行动态均衡时刻表的dqn模型的状态变量、动作状态、奖励函数,通过直接与仿真环境交互来训练,在实时仿真环境中进行决策,实现实时方式生成公交上下行动态均衡时刻表,当客流发生突发事件发生变化时,可基于变化后的客流推理生成新的发车时刻表,当公交行程时间突发变化时,可基于变化后的行程时间推理生成新的发车时刻表,当公交站点临时调整与变更,可基于变化后的站点信息推理生成新的发车时刻表,解决现有技术中生成的发车时刻表不能动态适应客流与交通状况变化,不能同时对一条公交线路的两个方向进行调度,导致排班不符合实际要求而不能应用问题。

本文地址:https://www.jishuxx.com/zhuanli/20241118/327708.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。