【发布时间】:2020-09-23 11:15:57
【问题描述】:
对于我的硕士论文,我想将多智能体 RL 应用于总线控制问题。这个想法是公共汽车在给定的线路上运行,但没有时间表。公共汽车应该有公共汽车站,乘客随着时间的推移而聚集并接他们,公共汽车之间的间隔越长,在车站等候的乘客就越多(平均而言,这是一个随机过程)。我还想实现一些公共汽车必须等待绿灯的十字路口。
我还不确定我的奖励功能会是什么样子,但它会类似于保持公共汽车之间的间隔尽可能规律或最大限度地减少乘客的总旅行时间。
问题中的代理将是公共汽车,还有红绿灯。红绿灯可以选择何时为哪条道路亮绿灯:除了公共汽车,他们还有其他需要处理的需求。公共汽车可以选择加速、减速、在停靠站等待更长时间或以正常速度继续行驶。
为了能够将这个问题放在 RL 框架中,我需要一个环境和合适的 RL 算法。理想情况下,我将拥有一个灵活的仿真环境来重新创建我的案例研究总线并将其连接到现成的 RL 算法。但是,到目前为止我还没有找到这个。这意味着我可能必须自己将模拟环境连接到 OpenAI 健身房之类的东西。
有没有人建议哪种模拟环境可能适合?如果可以将其与现成的 RL 算法联系起来?
我觉得用 Python 编程最舒服,但其他语言也是一种选择(但这意味着我需要付出相当大的额外努力)。
到目前为止,我找到了以下可能适合的模拟环境:
NetLogo
模拟
台面
MATSim (https://www.matsim.org)
MATLAB
CityFlow (https://cityflow-project.github.io/#about)
平地 (https://www.aicrowd.com/challenges/neurips-2020-flatland-challenge/)
对于 RL 算法,选项似乎是:
- 自己编码
- 根据 OpenAI gym API 指南创建环境并使用 OpenAI 基线算法。
我很想听听关于哪些环境可能最适合我的问题的一些建议和建议!
【问题讨论】:
-
如果您已经熟悉 Python,可以查看一个特定的框架 - GAMA,gama-platform.github.io。我在你的名单上看到了 Mesa,这是另一个 python 项目。你可能也对 RePast 感兴趣(它有一个 python 版本)
-
感谢@JenB,GAMA 项目似乎很有趣!
标签: python reinforcement-learning openai-gym agent-based-modeling multi-agent