一种基于强化学习的铁路机车运行操控系统混合任务调度方法与流程

文档序号:12549516阅读:333来源:国知局
一种基于强化学习的铁路机车运行操控系统混合任务调度方法与流程
本发明涉及铁路机车运行操控系统混合任务调度,尤其涉及一种基于强化学习的铁路机车运行操控系统混合任务调度方法。
背景技术
:实时系统指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统做出快速响应,调度一切可利用的资源完成实时任务,并控制所有实时任务协调一致运行的系统。该类系统广泛应用于社会生活的各个领域,常见的有车间实时调度系统,列车运行节能优化控制系统,飞行模拟器等。铁路机车运行操控系统是典型的实时系统,且该系统在运行中会产生大量周期性和非周期性任务,任务之间相互耦合,具有不同的调度目标,系统的调度问题十分复杂。但是系统运行在实时控车的环境中,所以系统任务必须要实时、准确地得到完成。对于任务的合理调度,降低系统延迟对保障系统正常稳定运行有着至关重要的作用。现有系统混合任务集的调度方法主要有基于静态表驱动策略的调度算法、基于优先级驱动策略的调度算法、基于比例共享的调度算法、动态基于规划的调度算法、基于自适应控制的调度算法等。比如,申请号为201210524335.4的“一种强实时混合任务调度方法”发明专利就公开了一种基于静态表驱动策略的调度算法。该类方法具有以下两个缺点:第一,不够灵活,一旦调度表确定了,在调度过程中就无法更改调度顺序;第二,它要求在系统运行前,就获取所有任务的到达时间,截止期,运行时间等信息,所以该策略很难运用到非周期性实时任务调度当中。上述基于优先级驱动策略的调度算法分为静态优先级驱动策略和动态优先级驱动策略,分别具有灵活性差和执行开销大的缺点。上述基于比例共享的调度算法存在的缺点是无法保证某些实时任务及时完成,不能应用到硬实时系统当中。上述动态基于规划的调度算法适合于在系统执行过程中随机到达的非周期性实时任务。上述基于自适应控制的调度算法是一类利用系统反馈调整任务执行顺序的调度算法,该算法的计算开销较大,不适用于硬实时系统。由于机车运行环境的动态多变性,单一规则在处理实时调度问题上具有一定的局限。但是上述所有算法,目前在复杂的动态变化环境下,均不能实时选择合适的调度规则,而且适应性较强的算法通常也具有较大的时间和计算开销。所以,针对铁路机车运行操控系统混合任务集的调度算法具有较大的提升和优化空间,实现一个自适应的混合任务调度规则具有较强的现实意义。技术实现要素:本发明的目的是提供一种基于强化学习的铁路机车运行操控系统混合任务调度方法,应用强化学习系统进行调度规则的离线学习和生成,能够显著降低任务调度的计算开销;同时能够较灵活地根据系统的动态负载变化,实时匹配调度规则表,选择恰当的调度规则进行任务调度。本发明通过如下技术方案实现:一种基于强化学习的铁路机车运行操控系统混合任务调度方法,其特征在于,所述的混合任务包括:周期性实时任务、非周期性实时任务以及非实时任务;所述的混合任务调度方法包括:步骤(1)、采集铁路机车运行操控系统实际运行或仿真实验中的混合任务集数据,形成混合任务集合;步骤(2)、将混合任务集合中的每个任务进行规则化标记;步骤(3)、将规则化标记后的任务集合作为强化学习系统的输入,构成强化学习环境,强化学习系统应用强化学习算法,根据机车运行操控系统的调度目标进行迭代学习过程;步骤(4)、强化学习系统生成对应机车运行操控系统混合任务集合的多个<状态-规则>关系表,并将该多个<状态-规则>关系表保存在数据库中;步骤(5)、针对数据库中保存的多个<状态-规则>表,对于每个状态,挑选出现频率最高的规则作为当前状态的最优规则,形成最优<状态-规则>对应关系表;步骤(6)、根据最优<状态-规则>对应关系表,指导生成机车运行操控系统混合任务的实时调度序列,实现任务调度。在一种优选实现方式中,所述步骤(2)中所采用的规则化方法为:规则化每个任务为7元组,元组的元素分别为:任务类型、任务提交时刻、任务执行时刻、任务执行中断时刻链表、任务结束时刻、任务截止期和任务提交周期。在另一种优选实现方式中,所述7元组中任务类型指铁路机车运行操控系统中周期性实时任务、非周期性实时任务和非实时任务;所述7元组中任务执行中断时刻链表指任务执行过程中每一次被中断时刻组成的链表或数组结构。在另一种优选实现方式中,所述强化学习系统包括强化学习环境及状态集合空间、动作集合空间、奖惩函数和智能主体。在另一种优选实现方式中,在所述强化学习系统中,所述强化学习环境及状态集合空间中的状态由多种特征参数共同描述,所述特征参数至少包括CPU利用率和待调度任务属性;所述动作集合空间中的动作为现有的调度规则的一元组合规则或多元组合的规则集合,一元组合规则包括最短截止期优先规则、最小最坏执行时间优先规则、最早调度执行时间优先规则、最小剩余空闲时间优先规则、最短周期优先规则和先进先出规则;所述奖惩函数根据任务调度目标以键值对或函数形式表达。在另一种优选实现方式中,所述奖惩函数为:r=w1F(A)+w2F(B)+w3F(C)其中,A、B、C分别为铁路机车运行操控系统中周期性实时任务集合、非周期性实时任务集合以及非实时任务集合;F函数是针对每种类型任务调度情况的量化函数;w1、w2、w3分别指每种任务类型的调度效果对调度优化目标的贡献权重,可以通过改变该权重值来获取不同的调度优化目标。在另一种优选实现方式中,铁路机车运行操纵系统中的周期性任务包括:LKJ实时通信任务、实时优化计算任务、执行信息反馈任务,非周期实时任务包括临时优化任务、信号灯信息接收任务和自适应控制任务,非实时任务包括执行信息显示任务和日志记录任务。在另一种优选实现方式中,所述步骤(4)包括根据铁路机车运行操控系统的调度目标进行离线调度学习过程。在另一种优选实现方式中,所述混合任务调度方法还包括步骤(7)在每完成一次任务调度之后,生成相应的系统运行日志,并转入步骤(1)进行下一轮的调度规则的离线学习过程。下面详细对比本发明采用上述技术方案与现有技术相比的有益效果:(1)现有的任务调度规则使用方式有以下几类。单一规则:对所有的任务调度采用单一的规则进行序列排序;有序规则:在调度过程中,采用两个或多个规则先后排序确定任务的优先级;组合规则:在调度过程中,采用两个或多个规则共同影响任务的优先级,与有序规则的区别在于,规则的作用并没有先后顺序;混合规则:针对不同的任务类型,采用不同的规则进行调度,但是对于其中某一个任务类型来说,调度规则是确定的;自适应规则:根据系统当前状态和任务集的特性,灵活地选择规则进行调度,与混合规则不同的是,它不仅考虑了任务集本身特点,同时还与系统状态息息相关。本发明提出的基于强化学习的混合任务调度方法属于自适应规则使用方式。所述的单一规则、有序规则、组合规则和混合规则,它们的特点在于规则的选择是与静态任务集相关的,而与系统的动态调度状态无关。这些规则的制定与选择建立在:第一,具有相当丰富的专家领域经验和系统开发经验,才能给出合适的规则需求描述;第二,系统运行环境相对简单,不具有复杂的动态变化环境。所以在复杂环境的实时调度过程中,采用这些调度方式往往需要考虑到规则作用的盲点,比如单一规则虽然实现简单,但无法精细化地根据不同任务类型进行调度。所以,本发明提出的自适应规则是最灵活的一种规则使用方式。(2)本发明提出的基于强化学习的铁路机车运行操控系统混合任务调度规则学习属于离线学习过程,离线学习的优势在于:第一,可以在拥有强大的计算能力平台上进行训练学习,并不受限于铁路机车运行操控系统的固有平台,机车运行操控系统平台属于嵌入式平台,其往往受限于硬件运算能力,无法进行复杂的任务调度计算;第二,强化学习系统拥有采集到的铁路机车运行操控系统实际运行的环境数据,利用这些数据进行离线学习,能够充分地发现适用于该系统的任务调度规律,得出任务调度规则。本发明采用了独创的任务规则化方式将机车运行操控系统的任务数据进行巧妙的规则化,减少任务数据量存储大小的同时保证任务的准确匹配和调度执行。此外,本发明采用了全新设计的奖惩函数,通过将任务分成周期实时任务、非周期实时任务和非实时任务,针对不同任务类型选取不同的函数形式,同时根据不同的调度优化目标确定每种任务类型不同的贡献权重,能够更准确地为机车运行操控系统提供量化的奖惩指标。此外,本发明针对机车运行操控系统设计的强化学习方法,能够将学习到的任务调度数据不断的添加到训练任务数据集合中,递进地生更优的<状态-规则>关系表,实现持续优化的效果。附图说明图1为本发明基于强化学习的自适应铁路机车运行操控系统混合任务调度的离线学习流程图;图2为本发明强化学习系统的结构图。具体实施方式以下结合附图及其实施例对本发明进行详细说明,但并不因此将本发明的保护范围限制在实施例描述的范围之中。本发明提供一种基于强化学习的铁路机车运行操控系统混合任务调度方法,其调度规则的学习属于离线学习过程,本发明的具体实施流程如图1所示,包括:步骤S101,采集铁路机车运行操控系统实际运行或仿真实验中的混合任务集数据,形成混合任务集合。铁路机车运行操控系统实际运行的任务集数据可以从铁路机车中的LKJ(列车运行控制记录装置)获得。铁路机车运行操控系统仿真实验的数据则从实验中系统的运行日志和实验设计数据中收集。每个任务需要收集的信息数据包括:任务id、任务提交时刻、任务开始执行时刻、任务被中断时刻、任务结束时刻、周期任务的提交周期、实时任务的截止期等信息。步骤S102,将混合任务集合中的每个任务进行规则化标记。步骤S101中将某个特定的铁路机车运行操控系统混合任务数据收集结束后,数据中包含较多的冗余信息,需要对任务集数据进一步进行规则化处理。规则化处理的方法为:规则化每个任务为7元组,元组的元素分别为任务类型、任务提交时刻、任务执行时刻、任务执行中断时刻链表、任务结束时刻、任务截止期、任务提交周期。任务规则化后的7元组中任务类型指铁路机车运行操控系统中周期实时任务、非周期实时任务和非实时任务三种任务类型;铁路机车运行操纵系统中常见的周期性任务包括但不限于LKJ实时通信任务、实时优化计算任务、执行信息反馈任务等,非周期实时任务包括但不限于临时优化任务、信号灯信息接收任务、自适应控制任务等,非实时任务包括但不限于执行信息显示任务、日志记录任务等。执行中断时刻链表指任务执行过程中每一次被中断的时刻按时序关系链接组成的链表或数组结构;任务提交周期指混合任务中周期性任务的提交周期,其他类型的任务该元组元素可以作为缺省值。步骤S103,将规则化后的混合任务集合输入到强化学习系统中,构成强化学习环境。强化学习又叫增强学习,是一种基于环境的学习方法。其灵感来源于行为主义理论,即在环境给予奖励或惩罚的刺激下,智能主体agent如何逐步形成对刺激的预期,产生能够获得最大化利益的行为。强化学习系统是本发明方法的核心内容,本发明中智能主体是调度器,以某个调度规则选择任务进行执行的过程是智能主体的动作,从学习环境中获得当前任务集执行状态,并根据任务集执行的奖惩函数来获取规则选择的奖惩值,最终指导生成铁路机车运行操控系统的混合任务调度<状态-规则>对应关系表。强化学习系统的结构图如图2所示,具体包括:强化学习环境及状态集合空间、动作集合空间、奖惩函数以及强化学习智能主体。本发明中强化学习系统具体实施时以上各要素说明如下:(1)强化学习环境及状态集合空间:强化学习环境状态及状态集合状态空间的划分对强化学习算法的效果影响很大。理想状态下,状态划分得越细,越能够囊括复杂的情况,对问题的描述越全面。但是也会导致搜索空间变大,算法效率变低。状态空间的划分有多种形式,针对本发明的混合任务集调度问题,可以采用任务集的平均延迟时间、待调度任务的平均最坏执行时间、待调度任务个数、待调度任务中过期任务数量、CPU的利用率等多种特征参数去描述环境状态。根据各类实时系统调度优化目标的不同,有针对地进行选择。用一维或者二维的特征参数进行状态划分比较容易实现,而高于二维的多维特征参数的状态划分则会困难很多。(2)动作集合空间:动作是指智能主体在某个状态下进行的可行操作。在本发明中,动作即可以表示成为采用某个调度规则选取任务进行执行的过程。可以将上文中阐述的众多单一规则通过一元和多元组合的形式形成一个动作集合空间,每个组合规则对应一个动作,操作的对象是混合任务集当中待调度的任务集。与状态空间类似,动作的设计同时兼顾问题的收敛和学习的效果。(3)奖惩函数:奖惩函数的设计在整个学习过程中至关重要,直接影响到学习的结果。奖惩函数可以用键值对形式或函数表达式来表达。在本发明中,奖惩函数的设计涉及到铁路机车运行操控系统的调度优化目标,铁路机车运行操控系统的调度目标在于:周期性任务必须要完成调度,非周期性任务调度的延迟要尽量小,在剩余的时间片内再进行非实时任务的执行。具体设计时,如果某个动作会造成周期性实时任务过期,那么函数将给予这个动作较大的惩罚值;某个动作会在成功调度周期性实时任务的同时,降低非周期性任务的延迟时间,那么函数将给予该状态下这个动作一个正的奖励值。通过奖励来引导学习的方向。最终通过奖励来不断更新估值函数,达到学习的目的。(4)智能主体:智能主体是强化学习系统的学习者,具体执行时它从学习环境及状态集合空间中获取实时的系统状态,然后从动作集合空间中选择一个规则进行当前任务的序列排序和任务调度,根据奖惩函数获取规则选择的奖惩值,该奖惩值用于判断规则的选择是否有益于调度优化目标的实现。智能主体将选择能最优化铁路机车运行操控系统调度优化目标的规则作为当前系统状态下的调度规则。步骤S104,强化学习系统根据铁路机车运行操控系统的调度目标进行一次离线调度学习过程。强化学习实现算法目前有很多,包括但不限于:动态规划算法、蒙特卡罗算法、瞬时差分算法、Q学习算法。本发明将Q学习算法与铁路机车的操控过程相结合,提出了用于铁路机车操控系统的Q学习算法。本实施例中的基于Q学习算法的强化学习过程如下:(1)初始化矩阵Q:该矩阵为二维矩阵,其中每一行对应一种铁路机车运行操控系统状态,每一列则对应一种动作,动作包括单一调度规则和两元组合的调度规则,初始时将矩阵Q的值设为0;(2)从强化学习环境中获取铁路机车运行操控系统的当前状态,该状态可以是一维或者二维特征参数划分,根据系统优化目标来设定;(3)根据搜索策略选择动作。常见的搜索策略包括ε-贪婪策略和Boltzamann分布策略,动作即调度规则,从动作集合空间中选择;(4)执行动作并获得奖惩函数返回奖励值。奖励值的设定和系统优化目标相关,即某个调度规则调度了任务,然后这个动作产生了系统状态的变化,而这个变化对应一个奖励值,奖励值的设定区分了周期性实时任务、非周期性实时任务以及非实时任务,对于周期性实时任务来说,是否过期是衡量奖励值的一个重要因素;对于非周期性实时任务来说,可通过延迟时间来确定奖励值;而对于非实时任务可根据调度成功率以及等待时间作为奖惩值的量化指标,本发明对奖惩函数的设计形式如下:r=w1F(A)+w2F(B)+w3F(C)其中,A、B、C分别为铁路机车运行操控系统当前状态下周期性实时任务集合、非周期性实时任务集合以及非实时任务集合。F函数是上述的针对每种类型任务调度情况的量化函数。w1、w2、w3分别指每种任务类型的调度效果对调度优化目标的贡献权重,通过改变该权重值可以获取不同的调度优化目标。针对不同任务类型的F函数设计如下:其中ei为周期性任务i的执行结束时间,di为周期性任务i的截止时间,ci为周期性任务i的执行时间,γ为常量且大于0。周期性任务超截止期时间越长,对应的F(A)函数值越大,设置w1<0,则惩罚值也越大。其中ai为非周期性实时任务的到达时间,si为非周期性实时任务的开始执行时间,ci为非周期性实时任务i的执行时间,α与γ为常量且均大于0。非周期性实时任务等待时间和任务完成后超截止期时间越长则F(B)的函数值越大,相应给予越大的惩罚值。其中ai为非实时任务的到达时间,si为实时任务的开始执行时间,ci为非实时任务i的执行时间,α为常量且大于0。对于非实时任务,本函数设计主要考虑其延迟时间,延迟时间越长则F(C)的函数值越大,相应给予越大的惩罚值。采用该奖惩函数能够显著提升优化效率,缩短优化时间和所需的计算量。(5)根据即时的奖励值,更新Q矩阵和当前状态迁移;对Q矩阵的状态更新可根据以下公式实现:s=st+1其中Q(s,a)指系统状态为s选择动作为a的Q值,ri,t为奖惩值,0<γ≤1是折扣率。智能主体重复地感知当前状态s,从允许动作集合空间中选择某个动作a,执行此动作,获得奖励值,并观察下一个动作,同时更新Q矩阵。算法迭代次数越高,得到的Q值表越真实合理,从而得到较优解。(6)任务结束条件是完成铁路机车运行操控系统混合任务集里所有任务的调度或者系统任务集进入不可调度的情形。步骤S105,强化学习系统生成对应该铁路机车运行操控系统和混合任务集合的<状态-规则>表,并将该结果记录在数据库中。本发明的强化学习系统生成<状态-规则>对应关系表,该关系表的对应关系如表1所示,其中一个状态对应单一规则或组合规则,组合规则中的多个规则具有顺序关系,具体实施时,调度器先按照单一规则进行任务序列排序,在该排序的基础上再按照后续规则进一步排序,最终得到任务序列。状态规则状态1基于最短截止期优先规则状态2基于最小最坏执行时间规则状态3先基于最小周期调度规则,再基于最短截止期优先规则状态4先基于最小周期调度规则,再基于FIFO调度规则……状态n…表1步骤S106,从数据库中保存的<状态-规则>表中挑选出现频率最高的规则作为当前状态的最优规则,形成最终的<状态-规则>对应关系表。为进一步提升算法的学习效果,强化学习系统可针对一个混合任务集进行多次离线学习,并生成多份<状态-规则>对应关系表。针对多份冗余的结果,每个状态可选择出现频率最高的规则作为当前状态的最优规则,从而最优化强化学习效果。步骤S107,根据<状态-规则>对应关系表,指导铁路机车运行操控系统混合任务调度序列的生成,实现任务调度。通过步骤S101至步骤S107即可实现铁路机车运行操控系统混合任务集的<状态-规则>对应关系表学习。具体应用中将<状态-规则>对应关系表存储在系统存储空间中,系统运行时每一次执行任务调度前,实时计算当前系统所处的状态,然后查找关系表,获取对应该系统状态的调度规则,应用该规则进行任务序列的排序,从而实现任务调度。铁路机车运行操控系统应用<状态-规则>关系表实现任务调度后,会生成相应的系统运行日志,可继续转入步骤S101,进行下一轮的调度规则的离线学习过程,从而不断优化混合任务调度规则的学习效果。由上述发明的技术方案可以看出,本发明是一种不需要先验知识的调度规则学习方法,可根据铁路机车运行操控系统的调度目标和系统的不同状态实时选择最优的任务调度规则,具有较强的灵活性;该学习过程是一个离线学习过程,能够不局限于系统平台的计算资源,进行循环多次的算法迭代和学习过程,得到最优的任务调度规则。虽然上面结合本发明的优选实施例对本发明的原理进行了详细的描述,本领域技术人员应该理解,上述实施例仅仅是对本发明的示意性实现方式的解释,并非对本发明包含范围的限定。实施例中的细节并不构成对本发明范围的限制,在不背离本发明的精神和范围的情况下,任何基于本发明技术方案的等效变换、简单替换等显而易见的改变,均落在本发明保护范围之内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1