基于聚类强化学习的城市道路交叉口交通信号优化方法

文档序号:9397692阅读:451来源:国知局
基于聚类强化学习的城市道路交叉口交通信号优化方法
【技术领域】
[0001] 本发明涉及智能优化技术领域。
【背景技术】
[0002] 城市道路交通是城市交通的重要组成部分,承载了越来越多的人类活动。随着国 民经济的发展,我国城市车辆占有率逐年上升,虽然道路长度和道路面积也在逐年增长,但 依然无法满足人们的出行需求。一个重要原因是传统的交通信号控制方案没有使现有道路 得到充分利用。
[0003] 强化学习是一种基于数据和反馈的优化方法,适用于对模型不易建立的问题进行 优化。使用强化学习方法,可以设计对交通状态进行实时反馈、自动调整交通信号的自适应 控制器。然而,强化学习需要的存储空间和收敛速度受到状态空间和动作空间的影响。交通 信号优化问题的状态空间比较大,对其进行强化学习需要大量存储空间,并且收敛速度较 低。因此,可以使用聚类算法把近似的交通状态归为同一个离散状态,从而减小状态空间, 节省存储空间,并且提高学习速度。

【发明内容】

[0004] 本发明以交通信号控制器为学习的主体,先采集一段时间样本数据进行聚类,然 后每隔一段较短的单位时间间隔,交通信号控制器接收路口机检测到的交通状态,根据聚 类得到的质心求出对应的离散状态,再根据离散状态和Q值函数得到控制动作,然后根据 与这段时间间隔内通过车辆数和车辆等待时间有关的实数一一回报值来更新Q值函数,如 此反复进行学习,直到指定的学习时间结束,停止更新Q值函数。此时得到优化后的自适应 控制策略。在学习过程中,根据回报值的标准差决定是否增加或减少质心数。每当结束一 段指定的学习时间后,对这个期间内采集到的所有交通状态进行k-均值聚类,得到指定数 目的质心。学习停止后,终止聚类步骤,质心的数目和位置不再改变。采用动态增减质心数 的方法,可以使得在学习过程中,在回报值标准差处于限定范围内的条件下尽可能地减少 质心数,从而减少强化学习需要的存储空间,也提高了收敛速度。相比传统配时控制方案, 强化学习得到的策略可以提高单位时间内通过道路交叉口的车辆数,并且降低车辆延误。
[0005] 本发明提出的基于聚类强化学习的城市道路交叉口交通信号优化方法,包括以下 步骤:
[0006] 步骤1,把城市道路交叉口的交通信号控制器看作学习的主体,定义交通状态为车 辆排队长度,定义控制动作为保持当前相位或切换到下一相位,定义回报为一个与单位时 间间隔内通过交叉口的车辆数和处于红灯相位所有车辆的总等待时间有关的变量,定义状 态-动作对为离散的交通状态和控制动作组成的数据向量,定义每个状态-动作对的Q值 表示处于相应离散状态下执行控制动作后的获得的期望累积回报;
[0007] 步骤2,进行一段时间的传统强化学习以采集交通数据供聚类使用,初始化Q值函 数,每隔一段较短的单位时间间隔,交通信号控制器接收路口机采集的交通状态,并计算对 应的离散状态,依据离散状态查询Q值函数得到控制动作并发送至路口机执行,检测单位 时间间隔内通过交叉口的车辆数和处于红灯相位所有车辆的总等待时间,使用这两个变量 计算回报值,使用状态-动作对和回报值更新Q值函数,记录每个决策时间间隔开始时的交 通状态;
[0008] 步骤3,经过指定时间的传统强化学习后,对目前为止采集到的交通状态进行聚 类,设定初始质心数,第一次聚类按照预设的初始质心数进行k-均值聚类,使用步骤2中学 习得到的Q值函数初始化一个新的Q值函数,之后不再使用步骤2中的Q值函数;
[0009] 步骤4,每隔一段较短的单位时间间隔,交通信号控制器接收路口机采集的交通状 态,计算交通状态到每个质心的距离,求出距离最近的质心,根据质心对应的离散状态查询 Q值函数得到控制动作并发送至路口机执行,检测此单位时间间隔内通过交叉口的车辆数 和处于红灯相位所有车辆的总等待时间,使用这两个变量计算回报值,使用状态-动作对 和回报值更新Q值函数,记录单位时间间隔开始时的交通状态,控制动作和每个状态-动作 对下获得的回报值;
[0010] 步骤5,若到达指定的学习时间,则执行步骤8,否则执行步骤6 ;
[0011] 步骤6,如果到达重新聚类的时间,执行步骤7,否则返回步骤4 :
[0012] 步骤7,保存Q值函数,对上一次聚类之后采集到的交通状态进行聚类,首先确定 质心数,计算所有状态-动作对所得回报的标准差,根据标准差决定是否增加或减少质心 数,进行k-均值聚类,得到新的质心,如果质心数不变则Q值函数也不变,否则生成新的Q 值函数并且使用原先的Q值函数进行初始化,返回步骤4 ;
[0013] 步骤8,每隔一段较短的单位时间间隔,交通信号控制器接收路口机采集的交通状 态,计算交通状态到每个质心的距离,求出距离最近的质心,根据质心对应的离散状态查询 Q值函数得到控制动作并发送至路口机执行。
[0014] 本发明较现有技术所具有的优点:
[0015] 本发明提出的基于聚类强化学习的城市道路交叉口交通信号优化方法能够根据 交叉口的交通状态自动选择合适的相位动作,以适应交叉口交通状况的变化,能够提高单 位时间内通过交叉口的车辆数,减少车辆延误。与其他聚类强化学习方法的不同之处在于, 本发明在学习过程中,能够根据回报值的标准差动态地增加或减少质心数,能在保证强化 学习收敛的前提下尽可能地减少质心数,从而尽可能减少Q值函数存储空间、提高收敛速 度;
【附图说明】
[0016] 图1为城市道路交叉口交通信号控制原理图;
[0017] 图2为基于聚类强化学习的城市道路交叉口交通信号优化方法流程图;
[0018] 图3为交通信号相位时序图。
【具体实施方式】
[0019] 为使本发明的目的、技术方案和优点更加清楚,下面参照附图,对本发明作进一步 详细说明。
[0020] 图1中的前置检测器检测通过停车线的车辆数,后置检测器检测通过路段上游指 定断面的车辆数,通过前置检测器和后置检测器检测到的车辆数可以计算得到任意时刻位 于两断面之间的车辆数,进而估算车辆排队长度,即交通状态。后置检测器的安装位置决定 了所能检测的车辆排队长度的上限值。前置检测器和后置检测器把测量信号发送至路口 机,由路口机进行处理后将交通状态发送至交通信号控制器。交通信号控制器按照固定的 相位次序选择相位信号并发送至路口机执行,将单位时间间隔设置为15秒,每隔15秒,交 通信号控制器根据当前交通状态决策控制动作,然后把控制动作发送至路口机执行。
[0021] 图2所示的基于聚类强化学习的城市道路交叉口交通信号优化方法流程图包含 如下步骤:
[0022] 步骤1,定义强化学习的主体、交通状态、控制动作和回报:
[0023] 定义强化学习的主体为城市道路交叉口的交通信号控制器,交通信号控制器每隔 15秒接收路口机采集到的交通状态,并产生控制动作供路口机执行,然后根据回报值更新 Q值函数。定义交通状态为当前相位的排队长度和下一相位的排队长度,例如,若当前相位 为东西直行车道绿灯,其他车道红灯,则当前交通状态由东西直行车道和东西左转车道的 车辆排队长度这两个变量组成的数据向量表示。
[0024] 信号控制方案采用四相位固定相序控制方案,图3示出了交通信号相位时序图, 相位1 :东西方向直行;相位2 :东西方向左转;相位3 :南北方向直行;相位4 :南北方向左 转。尽管相位顺序是固定的,每个相位的绿灯时长却不必固定。定义控制动作为保持当前 相位或切换到下一相位,如果当前相位为相位1,则经过15秒后,交通信号控制器需要决策 控制动作:保持相位1,或者切换到相位2,如果选择相位2,再过15秒又需要执行一次控制 动作:保持相位2,或者切换到相位3……如此循环往复。定义所有相位的最小绿灯时间为 15秒,最大绿灯时间为60秒。
[0025] 回报r代表路口机执行控制动作后获得的直接利益,其定义如下:
[0027] np表示最近两次控制动作决策间隔的15秒内通过停车线的车辆数,可由前置检测 器检测得到,1表示同一 15秒内处于红灯相位所有车辆的总等待时间,可由车辆排队长度 估算出来,^用于调节η p对回报贡献的大小,w 2用于调节t w对回报贡献的大小,w JP w 2可 设置为〇. 5。回报公式中的常数系数根据仿真数据得到,目的在于使回报r维持在[-1,1] 之间。
[0028] 定义状态-动作对为离散的交通状态和控制动作组成的数据向量,交通信号控 制器每次接收交通状态,求出对应的离散状态,并决策控制动作,15秒后就会得到一个回 报值,因此每经历一个状态-动作对都会计算得到一个回报值,随着学习的进行,每个状 态-动作对会经历多次,因此每个状态-动作对会对应多个回报值,定义每个状态-动作对 的Q值是从一个状态-动作对开始,直到一段时间之后的累积回报值之和,表示处于相应交 通状态下采取控制动作后获得的长远利益。
[0029] 步骤2,采集交通数据供聚类使用:
[0030] 在指定的典型时段,如早高峰或晚高峰时段,进行传统强化学习,采集数据供聚类 分析使用。传统强化学习首先对交通状态进行离散化处理,并计算离散化后的每个区域的 质心,例如,能检测到的最大车辆排队长度是120米,以30米为单位把120米划分为4段, 按照交通状态是两个相邻相位车辆排队长度组成的向量这一定义,将交通状态空间划分为 16个区域。每个区域的几何中心即为质心。每个区域对应一个离散状态。
[0031] 离散化之后,初始化Q值函数,把每一个状态-动作对的Q值初始化为0。每隔15 秒,交通信号控制器接收路口机采集到的交通状态,依照离散化后的交通状态空间划分计 算出对应的离散状态s。
[0032] 因交通信号控制器内的计时器以秒为单位进行计时,故每经过一秒都需要判断是 否到达决策控制动作的时刻,若距离上次决策的时间等于15秒,则判断当前绿灯时间是否 超过最小绿灯时间,若没有超过则控制动作a为继续保持当前相位,否则判断当前绿灯时 间是否超过最大绿灯时间,若超过则控制动作a为切换到下一相位,如果当前
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1