python - 多智能体强化学习环境公共交通问题
问题描述
对于我的硕士论文,我想将多智能体 RL 应用于总线控制问题。这个想法是公共汽车在给定的线路上运行,但没有时间表。公共汽车应该有公共汽车站,乘客随着时间的推移而聚集并接他们,公共汽车之间的间隔越长,在车站等候的乘客就越多(平均而言,这是一个随机过程)。我还想实施一些公共汽车必须等待绿灯的十字路口。
我还不确定我的奖励功能会是什么样子,但这将类似于保持公共汽车之间的间隔尽可能有规律或最大限度地减少乘客的总旅行时间。
问题的代理将是公共汽车,但也是红绿灯。红绿灯可以选择何时为哪条道路亮绿灯:除了公共汽车,他们还有其他需要处理的需求。公共汽车可以选择加速、减速、在停靠站等待更长时间或以正常速度继续行驶。
为了能够将这个问题放在 RL 框架中,我需要一个环境和合适的 RL 算法。理想情况下,我将拥有一个灵活的仿真环境来重新创建我的案例研究总线并将其连接到现成的 RL 算法。但是,到目前为止我还没有找到这个。这意味着我可能必须自己将模拟环境连接到 OpenAI 健身房之类的东西。
有没有人建议哪种模拟环境可能适合?如果有可能将其与现成的 RL 算法联系起来?
我觉得用 Python 编程最舒服,但其他语言也是一种选择(但这意味着我需要付出相当大的额外努力)。
到目前为止,我发现了以下可能适合的模拟环境:
NetLogo
SimPy
Mesa
MATSim ( https://www.matsim.org )
Matlab
CityFlow ( https://cityflow-project.github.io/#about )
Flatland ( https://www.aicrowd.com/challenges/neurips-2020 -平地挑战/)
对于 RL 算法,选项似乎是:
- 自己编码
- 根据 OpenAI gym API 指南创建环境并使用 OpenAI 基线算法。
我很想听听一些关于哪些环境可能最适合我的问题的建议和建议!
解决方案
推荐阅读
- google-calendar-api - 谷歌日历嵌入代码不呈现
- threadpool - C#如何加速ThreadPool.QueueUserWorkItem?
- php - 表单数据未发送到 SQL 数据库
- c# - .NET 5 HttpClient 异常:无法建立 SSL 连接,内部:从传输流接收到意外的 EOF 或 0 字节
- seaborn - 如何删除seaborn热图中的颜色条?
- json - Postgres:计算 jsonb 中特定键的行数
- css - 为什么 CSS 文件在 readthedocs 中不起作用?
- algorithm - 计算一个项目可以分配到多个类别时的百分比
- javascript - 如何在字符串中的每个逗号后添加一个空格?
- http-live-streaming - 在没有 Jibri 和 Docker Lib Jitsi-meet 的情况下,有没有办法从 Jitsi Meet 直播到 youtube 或 facebook?