多主体强化学习环境公共交通问题

问题描述

对于我的Msc论文,我想将多主体RL应用于总线控制问题。想法是总线在给定的线路上运行,但没有时间表。公交车应该有公交车站,随着时间的推移乘客会聚集起来,接站时间越长,公交车站之间的等待时间就越长(平均而言,这是一个随机过程)。我也想实现一些交叉路口,公交车必须等待绿灯亮起。

我不确定我的奖励功能会是什么样子,但是这将使公交车之间的间隔尽可能规则,或者将乘客的总旅行时间减至最少。

问题中的代理商将是公共汽车,还有交通信号灯。红绿灯可以选择何时为哪条道路显示绿灯:除了公交车以外,它们还有其他需要处理的需求。公交车可以选择加速,减速,在停车处等待更长的时间或继续以正常速度行驶。

为了将这个问题放在RL框架中,我需要一个环境和合适的RL算法。理想情况下,我将拥有一个灵活的模拟环境来重新创建我的案例研究总线,并将其连接到现成的RL算法。但是,到目前为止,我还没有找到这个。这意味着我可能必须自己将模拟环境连接到OpenAI体育馆之类的地方。

有人针对哪种模拟环境提供建议吗?并且是否有可能将其与现成的RL算法联系起来?

我对使用Python编程最自在,但是也可以选择其他语言(但这意味着我要付出很多额外的努力)。

到目前为止,我已经找到了以下合适的仿真环境:

Netlogo
SimPy
梅萨
MATSim(https://www.matsim.org
Matlab
CityFlow(https://cityflow-project.github.io/#about
平地(https://www.aicrowd.com/challenges/neurips-2020-flatland-challenge/

对于RL算法,选项似乎是:

  1. 亲自给他们编码
  2. 根据OpenAI Gym API指南创建环境并使用OpenAI基线算法。

我很想听听有关哪些环境最适合我的问题的建议和建议!

解决方法

您还可以将SUMO用作流量模拟器,并检查RLLib library进行多主体强化学习。