一种基于深度强化学习的列车运行调度方法及系统与流程

文档序号:11287813阅读:1992来源:国知局
一种基于深度强化学习的列车运行调度方法及系统与流程

本发明涉及铁路运输调度领域,尤其是涉及一种基于深度强化学习的列车运行调度技术。



背景技术:

列车运行调度是铁路行车调度指挥工作的重要内容,其计算机自动计算求解问题是我国铁路信息化建设的核心技术和难点。当前,不论是相关优化模型的建立还是对相应模型的求解均没有让人满意的符合实际需求的研究成果。而且,列车运行环境的复杂性决定了列车运行调度问题是一个大规模的复杂组合优化问题,这使得当前列车运行调度问题的研究具有一定的片面性。因此,对轨道交通列车运行调度优化问题做进一步研究无论在理论上还是实际上都有着重要的意义。

目前关于列车运行调度的方法已有较多的研究文献,具体可归纳为以下三类:(1)通过建立严格的数学模型,来设计列车运行调度的精确算法,如分支定界算法,或者利用商业优化软件,如cplex和gams,来求得问题的精确解;(2)对建立的数学模型,设计启发式算法(如粒子群算法,遗传算法,拉格朗日松弛等)求得问题的近似最优解;(3)合理设计列车运行规则,开发列车运行模拟算法(如元胞自动机)求得高质量的可行解。

上述现有方法虽然在一定程度上能够解决列车运行调度的问题,但是分别又存在着较多的局限性。其中,精确算法具有设计复杂,且算法难以满足复杂约束条件场景的问题;启发式算法虽然全局搜索能力较强、计算效率也比较高,但是其处理过程复杂,计算难度大,寻优的效率比较低;列车运行模拟算法能够较好的模拟真实列车运行调度场景,但是需要搭建模型运行平台,而且寻优效率也比较低。所以,现有列车运行调度的解决方案均在列车运行调度方面存在着各类弊端。



技术实现要素:

本发明的目的是针对现有技术存在的问题,提供一种基于深度强化学习的列车运行调度方法及系统,其不仅能够使得调度更加智能化,而且技术处理过程简单,灵活度高,寻优的效率高。

本发明的目的通过如下技术方案实现:

本发明提供一种基于深度强化学习的列车运行调度方法,其包括:

步骤s10,收集真实场景中一个车站的所有可调度列车及其时刻表信息以及所有可调度安排的司机信息,构成原始信息;

步骤s20,将收集的原始信息进行规则化处理;

步骤s30,利用规则化处理后的数据信息建立列车深度强化学习模型;所述列车深度强化学习模型给予强化学习智能体奖惩值和状态转移信息,并确定出可供智能体选择的动作空间;并通过车站内规则化处理的所有列车和司机的状态,抽象出列车和司机的状态对应的动作的价值,并根据该价值确定出最优调度动作;

步骤s40,利用深度强化学习模型进行离线训练和学习,得到训练好的列车深度强化学习模型;

步骤s50,利用训练好的深度强化学习模型进行列车运行调度。

更优选地,所述步骤s20具体包括:

将每辆列车抽象为一个多元组,该多元组包含的信息为:车次,列车类型,列车当前状态,列车当前所处位置,列车到站时间,列车发车时间,列车平均运行速度;其中列车类型指的是客运列车或货运列车,列车当前状态分为待调度状态,未到站状态,已调度状态,已出站状态;

将车站司机的信息规则化为二元组,该二元组包含的信息为:司机编号,司机状态;其中司机状态分为已分配任务,未分配任务,已请假。

更优选地,所述步骤s30中的列车深度强化学习模型包括:

列车运行调度环境模型模块和价值网络模块;

所述列车运行调度环境模型给予强化学习智能体奖惩值和状态转移信息,并确定出可供智能体选择的动作空间;

所述价值网络模块用于抽象车站内所有列车和司机的状态,并输出列车和司机在该状态下对应不同动作时的价值,根据抽象出的列车和司机的状态对应的动作的价值进行最优调度动作的选择,并将选择到的最优调度动作反馈到列车运行调度环境模型;其中所选择的最优动作在所述列车运行调度环境模型提供的动作空间中。

更优选地,所述列车运行调度环境模型模块包括:

状态转移单元、动作空间单元以及奖赏函数单元;

所述状态转移单元根据前一时刻的列车状态和价值网络模块输出的当前时刻的动作,来对当前时刻车站内的列车和司机的状态实施状态转移;其中车站内列车和司机的状态根据规则化处理的列车信息和司机信息来定义;

所述动作空间单元用于根据当前车站内列车的状态信息及司机的状态信息来确定可供智能体选择的动作范围;

所述奖赏函数单元用于针对列车运行调度情况利用设定的奖赏函数计算输出奖惩值,奖赏函数单元的输出端连接价值网络的输入端;所述奖赏函数根据列车运行调度的优化目标来确定。

更优选地,所述列车运行调度的优化目标包括:正点率。

更优选地,所述奖赏函数用如下公式表示:

r=w_1f_1(a)+w_2f_2(b)

其中r为奖惩值,f1(a)和f2(b)分别为调度的客运列车和货运列车的误点率评分,w1和w2为权重值;

对于客运列车,所述误点率评分表示为:

其中n为调度时间段内总的客运列车数量,a为误点的列车数量;

对于货运列车,所述误点率评分表示为:

其中n为调度时间段内总的货运列车数量,b为误点的列车数量。

更优选地,所述步骤s40具体包括:

价值网络根据列车信息和司机信息输入进行状态抽象,得到当前状态下最优的调度动作,价值网络可选择的动作范围由动作空间确定,价值网络选择的最优动作将发送给列车运行环境模型;

列车运行环境模型根据前一时刻的列车状态、司机状态和当前时刻的动作选择来进行状态转移,同时根据奖赏函数计算得出奖惩值,并将该奖惩值和改变后的状态信息反馈给价值网络;

如此不断迭代地进行训练和学习,最终使得深度强化学习模型得以收敛。

更优选地,所述步骤s50具体包括:

列车运行调度控制器根据实际真实的列车运行调度环境,首先输出当前时刻车站内的所有的列车信息和司机信息作为状态信息,将其传输给列车深度强化学习模型,该列车深度强化学习模型根据输入的状态信息输出最优的调度动作;将该最优调度动作返回列车运行调度控制器;

列车运行调度控制器收到最优调动动作,执行完该调度动作,随后监控等待时间达到设定的发车时间间隔时,则列车运行调度控制器继续根据当前列车运行调度环境,将当前时刻车站内所有列车和司机的状态信息发送到该列车深度强化学习模型,并获取新的最优调度动作,如此不断循环上述过程,最终使得所有的列车和司机得到调度。

更优选地,所述根据输入的状态信息输出最优的调度动作的过程具体包括:

列车深度强化学习模型中的价值网络模块根据列车运行调度控制器输入的状态信息,进行状态抽象,并结合动作空间提供的动作范围,得到当前状态下最优的调度动作。

本发明还提供一种基于深度强化学习的列车运行调度系统,其包括:

列车运行调度控制器和列车深度强化学习模型;其中所述列车深度强化学习模型为上述的基于深度强化学习的列车运行调度方法中的训练好的列车深度强化学习模型;

所述列车运行调度控制器根据实际真实的列车运行调度环境,输出当前时刻车站内的所有的列车信息和司机信息作为状态信息,将其传输给列车深度强化学习模型,该列车深度强化学习模型根据输入的状态信息输出最优调度动作;将该最优调度动作返回列车运行调度控制器;

列车运行调度控制器收到最优调动动作,执行该调度动作;监控等待时间达到设定的发车时间间隔时,则列车运行调度控制器根据当前列车运行调度环境,将当前时刻车站内所有列车和司机的状态信息发送到该列车深度强化学习模型,以获取新的最优调度动作。

由上述本发明的技术方案可以看出,本发明具有如下技术效果:

(1)其结合了深度学习和强化学习的优势,仅需要环境模型的信息进行自学习的模型训练,极少依赖人工经验和外界数据信息;

(2)深度强化学习模型中的深度神经网络具有极强的状态抽象表征能力,能有效抽象复杂的列车和司机的状态信息,在不同车站场景下的适应性更强;

(3)深度强化学习模型可根据列车运行调度的优化目标设计奖赏函数,能够满足多目标复杂优化问题的需求,其奖赏函数的设计具有较强的灵活性。

(4)通过训练好的深度强化学习模型进行列车调度应用,只需要根据实际真实的调度环境输入当前时刻车站内列车和司机的状态信息到训练好的深度强化学习模型中即可获得当次调度动作,使得列车调度更加智能化。

附图说明

图1为本发明中的一种基于深度强化学习的列车运行调度方法的实施流程图;

图2为本发明中列车运行调度的深度强化学习模型的结构框图;

图3为本发明中的一种基于深度强化学习的列车运行调度系统的结构框图。

具体实施方式

以下将结合附图对本发明的技术方案做进一步详细说明。

本发明提供一种基于深度强化学习的列车运行调度方法,其实施流程如图1所示,包括如下步骤:

步骤s10,收集真实场景中一个车站的所有可调度列车及其时刻表信息以及所有可调度安排的司机信息,构成原始信息。

需要对某个具体车站进行列车运行调度模型训练时,首先需要从该车站收集所有可调度的列车(即所有经过该车站,可能需要被调度的列车)信息以及相应的时刻表信息,这些信息构成了用于深度强化学习方法训练的原始信息。具体地,每个列车需要收集的数据信息包括:车次、列车类型、列车属性信息、列车当前所处位置、当前列车的状态信息以及列车的时刻表信息等。同时,收集该车站所有可调度安排的司机信息并对其进行统一编号,也作为原始数据信息。

步骤s20,将收集的原始信息进行规则化处理。

步骤s10中收集到的原始数据信息存在冗余以及格式不规范等问题,需要进一步进行规则化处理。具体规则化处理方法为:将每一辆可调度的列车抽象为一个多元组,该多元组包含的信息为<车次,列车类型,列车当前状态,列车当前所处位置,列车到站时间,列车发车时间,列车平均运行速度>。其中列车类型指的是客运列车或货运列车,列车当前状态分为待调度状态,未到站状态,已调度状态,已出站状态。车站司机的信息可规则化为二元组,包含信息为<司机编号,司机状态>,其中司机状态可分为已分配任务,未分配任务,已请假三种情况。

步骤s30,利用规则化处理后的数据信息建立列车深度强化学习模型。

本发明中,列车深度强化学习模型结合了深度学习和强化学习,是一种智能体基于环境模型的自学习方法。在本发明中,智能体指的是列车运行调度控制器,从待调度的列车中选择一个列车或不选择任何列车进行调度是智能体的动作。

该列车深度强化学习模型的结构组成如图2所示,可以看出,该列车深度强化学习模型包括:列车运行调度环境模型模块和价值网络模块。

以上各模块的功能如下:

列车运行调度环境模型模块:

列车运行调度环境模型给予强化学习智能体奖惩值和状态转移信息,并确定出可供智能体选择的动作空间。该列车运行环境模型模块由状态转移、动作空间以及奖赏函数三个单元组成。

状态转移单元:

状态转移单元根据前一时刻的列车状态和价值网络模块输出的当前时刻的动作,来对当前时刻车站内的列车和司机的状态实施状态转移。其中车站内列车和司机的状态根据规则化处理的列车信息和司机信息来定义。

因为列车的运行调度状态由列车时刻表信息和司机任务分配信息共同决定,所以列车运行调度状态使用规则化处理的列车信息和司机信息来定义。状态转移时,则根据前一时刻的状态值以及当前时刻的调度动作,得出下一个时刻的列车运行调度状态,从而实现状态转移功能。具体定义方式,举例来讲,如当到达列车时刻表的时间t时,有n辆车已经到了可发车状态,则修改该n辆车的状态,使其处于待调度状态;如果有m个司机被分配任务,则修改其状态为已分配任务状态,从而完成车站内列车和司机的状态转移。

列车运行调度环境模型将转移后的状态信息反馈给价值网络。

动作空间单元:

动作空间单元用于根据当前车站内列车的状态信息及司机的状态信息来确定可供智能体选择的动作范围。

其中动作是指智能体在某个状态下进行的可行操作,本发明中从待调度的列车中选择一个列车或不选择任何列车进行调度的过程属于一个动作。该动作空间根据处于可调度状态的列车信息和司机信息来确定,也就是说动作空间是由列车的状态信息及司机的状态信息共同决定的,比如只有当前时刻处于待调度状态的列车才能被调度,即作为一个动作被选择。只有当前时刻处在无调度任务的司机才能被分配给新的任务。本发明的应用场景中,动作空间会随着时间发生变化,即不同的时刻,可调度的列车和司机都是不同的,智能体可选择的动作范围是不同的。同时,列车调度过程中,需要考虑时间约束问题,即安全性方面,两列车不能同时从车站出发,需要满足一定的时间间隔。当不满足时间间隔时,当前不可调度任何列车,即此时动作空间为空。

奖赏函数单元

奖赏函数单元用于针对列车运行调度情况利用设定的奖赏函数计算输出奖惩值,奖赏函数单元的输出端连接价值网络的输入端。上述奖赏函数根据列车运行调度的优化目标来确定。

奖赏函数的确定在深度强化学习模型的整个学习和训练过程中至关重要,直接影响到学习的结果,具体确定奖赏函数时遵循的原则是当列车运行调度效果满足优化目标时计算得出一个奖赏值,否则计算得出一个惩罚值。奖赏函数可以通过键值对形式或函数表达式形式来表达,奖赏函数的计算结果能够直接反馈给价值网络。价值网络则根据该值是奖赏值还是惩罚值,进一步进行参数调整,执行自学习的训练过程。所以,奖赏函数需要根据优化目标进行详细设计。本发明中,列车运行调度的优化目标是正点率,提高列车的正点率意味着增加正点列车的数量。同时,考虑列车的类型包括客运列车和货运列车,不同类型的列车误点造成的影响不同,所以,奖赏函数的设计需要针对不同的列车类型误点情况给予不同的权重。此外,如果有其它优化目标(如考虑待调度列车的等待时间),也可以用同样的方法进行奖赏函数的设计。

具体地,本发明以一个实施例举例说明奖赏函数的设计如下:

r=w1f1(a)+w2f2(b)

其中r为奖赏值,f1(a)和f2(b)分别为调度的客运列车和货运列车的误点率评分,w1和w2为权重值,一般地,w1>w2,即客运列车误点带来的影响比货运列车误点影响大,深度强化学习模型优先考虑客运列车的调度问题。

误点率评分方法如下:

对于客运列车

其中n为调度时间段内总的客运列车数量,a为误点的列车数量,当有误点的列车时,即a>0时,为负值,即惩罚值,而且误点数越多该值越小,表示相应的惩罚越大。当没有误点的列车时,打分为1,即给予1的奖赏值。

同理,对于货运列车

其中n为调度时间段内总的货运列车数量,b为误点的列车数量,当有误点的列车时,即b>0时,为负值,即惩罚值,而且误点数越多该值越小,表示相应的惩罚越大。当没有误点的列车时,打分为1,即给予1的奖赏值。

所以,通过以上公式就能够进行奖赏函数的设计,本设计方案只是一个具体的实施例。如果有更多的优化目标,则同理添加更多的评分函数,并以不同的权重将各个评分函数组合在一起形成最终的奖赏函数。

价值网络模块

价值网络模块用于抽象车站内所有列车和司机的状态,并输出列车和司机在该状态下对应不同动作时的价值,根据抽象出的列车和司机的状态对应的动作的价值进行最优调度动作的选择,并将选择到的最优调度动作反馈到列车运行调度环境模型。

价值网络抽象出的列车状态和司机状态所对应动作的价值越大,则对应的调度动作也越优。因此可以根据每个调度动作价值输出的大小,选择最大价值对应的动作作为最优调度动作进行列车调度任务的执行。

通过价值网络不断将选择到的最优动作反馈到列车运行调度环境模型中,从而实现价值网络与列车运行调度环境模型不断迭代训练,使得模型学习到最优的列车运行调度方案。其中,价值网络的更新遵循强化学习中的bellman方程。

价值网络由深度神经网络构成,通过使用深度神经网络模型来抽象列车状态、司机状态和价值拟合。该深度神经网络模型可以需要根据列车的状态信息数据特点来选择,可选择的深度神经网络模型包括ann、cnn、rnn、lstm、autoencoder等网络模型及其组合或者变体。

上述价值网络是深度强化学习模型的核心,相比与现有的方法,使得深度强化学习模型具有极强的状态抽象与表征能力,使得强化学习方法得以应用于复杂的列车运行调度问题上。

步骤s40,利用深度强化学习模型进行离线训练和学习,得到训练好的列车深度强化学习模型。

深度强化学习模型的训练过程就是价值网络与列车运行调度环境模型的不断交互过程,价值网络根据列车的特征数据信息输入,进行状态抽象,得到当前状态下最优调度动作,价值网络可选择的动作范围由动作空间确定,价值网络选择的最优调度动作将发送给列车运行环境模型;列车运行环境模型根据前一时刻的列车状态、司机状态和当前时刻的动作选择来进行状态转移,同时根据奖赏函数计算得出奖惩值,并将该奖惩值和改变后的状态信息反馈给价值网络,如此不断迭代地进行模型训练和学习,最终使得深度强化学习模型得以收敛。

步骤s50,利用训练好的深度强化学习模型进行列车运行调度。

利用训练好的深度强化学习模型进行列车运行调度时,可以基于图3所示的一种基于深度强化学习的列车运行调度系统来实施。

由图3可以看出,该基于深度强化学习的列车运行调度系统包括:列车运行调度控制器和列车深度强化学习模型。其中该列车深度强化学习模型是经过上述步骤s40训练好的列车深度强化学习模型。

在具体应用时,列车运行调度控制器根据实际真实的列车运行调度环境,首先输出当前时刻车站内的所有的列车信息和司机信息作为状态信息,将其传输给列车深度强化学习模型,该列车深度强化学习模型根据输入的状态信息输出最优的调度动作(如使某一个列车搭配某一个司机可发车)。其中根据输入的状态信息输出最优的调度动作的过程具体为:列车深度强化学习模型中的价值网络模块根据列车运行调度控制器输入的状态信息,进行状态抽象,并结合动作空间提供的动作范围,得到当前状态下最优的调度动作。

之后该列车深度强化学习模型将该最优调度动作返回列车运行调度控制器。

列车运行调度控制器收到最优调动动作,执行完该调度动作,随后监控等待时间达到设定的发车时间间隔时,则列车运行调度控制器继续根据当前列车运行调度环境,将当前时刻车站内所有列车和司机的状态信息发送到该列车深度强化学习模型,并获取新的最优调度动作,如此不断循环上述过程,最终使得所有的列车和司机得到调度。

虽然本发明已以较佳实施例公开如上,但实施例并不限定本发明。在不脱离本发明之精神和范围内,所做的任何等效变化或润饰,同样属于本发明之保护范围。因此本发明的保护范围应当以本申请的权利要求所界定的内容为标准。

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