基于强化学习的多智能体系统调度

313 阅读5分钟

基于强化学习的多智能体系统调度

Scheduling in Multiagent Systems Using Reinforcement Learning


摘要

  • 提出了一种新方法,新方法基于构建奖励函数来激励智能体遵守调度。模型的架构基于多智能体版本PPO学习的集中式批评。
  • Flatland 3竞赛中获得第一名,竞赛的主要目的是开发一种算法,根据给定的时间表有效控制复杂铁路网络中的密集交通。约束涉及到了时刻表、临时故障、各个agent的速度不一样的问题。

介绍

  • 竞赛的目标是设计和实现一种列车调度算法,使所有列车在规定的到达时间内以最小的延迟到达目的地。

  • 铁路问题的解决方案主要是使用带有集中批评的强化学习方法,但时刻表的概念带来新的困难。→适应问题新特征的一种常见方法是将新的领域知识转化为额外的奖励,并用原始奖励和新奖励相结合的方式训练智能体。


比赛环境参数

  • 环境:二维网格,其中每个单元都有自己的类型:转弯、道路、岔路或无关地形。每列火车占用网格的一个单元格,有目的地和方向。火车不以相同的速度行驶。每列火车都有自己的时间窗口,在这段时间内,它必须出发并到达目的地。如果火车相撞,就会发生交通堵塞。

  • 观察:1、全局视图。2、局部视图。3、(仅在铁路网是图的基础上能使用)树观测:每个agent从当前位置生成4分支的树来创建观察值,每个分支对应一个单元格允许的转移(上下左右),最后将从分支收集的信息存储为树中的一个节点。

  • 动作:向左转、向右转、向前、继续前一个操作、停止。

    故障机制:以一定频率出现故障:出站延误、火车或基础设施故障、甚至天气状况导致火车晚点等。采用泊松过程实现,即通过在随机时间段的随机时间停止agent来模拟延迟(阻塞后面的列车)。

  • agent行为度量:奖励只在每轮的最后才出现——使得默认奖励功能变得稀疏,决定通过列车与其时刻表的总偏差来评估。当所有列车到达目的地或达到最大时间步数时,一轮结束,每列火车都有以下选择:

    1.到达目的地:准时或提前到达:0;迟到:min(tlta,0)min(t_l-t_a,0),其中tlt_l为预计到达时间,tat_a为实际到达时间。

    2.没有到达目的地:tltatspt_l-t_a-t_{sp},其中tspt_{sp}是当前位置到目的地的最短路径时间。总之:奖励是负的,并且奖励与延迟及从当前位置到目的地的最短路径时间成比例。

    3.没有移动(火车被取消):(1)cancellation_factor(tsp+cancellation_time_buffer)(-1)*cancellation\_factor*(t_{sp}+cancellation\_time\_buffer),其中cancellation_factor和cancellation_time_buffer是比赛组织者配置的特殊参数。


问题及特征

  • 故障而导致的延误:故障迫使agent迅速改变他们的计划,有可能导致负面后果
  • 延误导致的堵塞问题:可能无法解决大量列车同时故障或同时启动
  • 列车速度不一致问题:快速列车跟在慢速列车后面
  • 原始奖励和新奖励相结合的方式也存在问题:它在许多方面干扰了学习。例如,它可能导致失去地标,经过目标,或故意陷入交通堵塞。

模型结构

  • 基本架构包含ppo的全连接网络结构;使用两个网络;不使用全局观测,而是将正在训练的agent的观测与其他agent的观测相结合:在评论家架构中加入转换器(transformer)

  • Actor预测agent的策略,即给定状态下动作的概率分布;Critic对agent的一个或另一个动作给出了环境奖励的近似值(Q值)。

  • (此模型未使用)替代模型将转换器移至Actor,Actor接收到关于agent最近邻居的观测结果的信息,并将它们转换为向量表示,以及agent自己的表示,将它们转移到多头注意力层。

    模型架构:模型架构

    替代模型(未使用):替代模型


总体方案

  • 改进观测值:除了关于列车路线、速度、网络基础设施和途中遇到的其他列车的基本信息外,还添加了时间表的临时偏差、关于有关分支可能冲突的信息。

  • 奖励结构:对训练数据进行过滤,重点得到agent在区间或区间附近的位置。使用“action masking”,消除训练中不可接受的动作。

    • 调整结构,使其应对稀疏结构:image-20230630103837602

    • 奖励函数 r=r+Fr'=r+F其中r'是修改后的奖励函数;r是原始奖励函数;F是适应奖励函数,包含图中的四个步骤,分别为FDR(Deadlock)FDR(Distance)FARFTRF_{DR}(Deadlock)、F_{DR}(Distance)、F_{AR}、F_{TR}。最终奖励函数为R=r+aFAR+bFTR+cFDRR=r+aF_{AR}+bF_{TR}+cF_{DR}

      • FTRF_{TR}逐步奖励,反映从时间表中延迟的程度。

        image-20230630112810400

        其中,dmaxd_{max}是根据其时刻表的最大可能延迟,PmaxP_{max}是最大惩罚,trt_r是到达剩余时间

      • FDR(Deadlock)F_{DR}(Deadlock)作用是检测和防止阻塞,处罚引起阻塞的agent。

      • FDR(Distance)F_{DR}(Distance)作用是促使agent不要在路上呆太久,同时遵守时刻表。FDR=σΔdNiPiF_{DR}=σΔd-N_iP_i,其中σ是用于归一化奖励的路径分量的系数;Δd是agent在当前步骤行进的距离;NiN_i是agent最后空闲步骤的数量;PiP_i是停顿惩罚,随着停顿时间的增加而增加。

      • FARF_{AR}防止避免迟到故意引起的阻塞image-20230630105045833

  • 学习策略:提高对不同复杂性程度的应对