多路口交通信号深度强化学习控制系统
1. 简介
本项目是一个基于 SUMO 仿真、Gymnasium 环境封装与 PyTorch 深度强化学习的多路口交通信号控制实验系统,旨在通过智能体学习自适应信号配时策略,降低车辆等待时间、提升道路通行效率并改善交通能耗指标。
2. 项目背景
该项目为大学生创新创业竞赛中的以“智慧交通 / 城市拥堵治理”为选题的项目,关注城市多路口场景下固定配时信号灯难以适应动态车流的问题。传统定时或感应式控制依赖人工规则和经验参数,在车流波动、相邻路口排队相互影响时,容易出现局部最优、排队外溢和通行效率下降。
本项目为**深度强化学习(Deep Reinforcement Learning, DRL)**方向:使用 DQN、Double DQN、Dueling DQN 等强化学习算法框架,并用 PyTorch 神经网络近似 Q 函数,让交通信号智能体在 SUMO 交通仿真环境中通过“状态-动作-奖励”的交互过程学习控制策略。
项目在原有独立 DQN 控制框架上尝试做轻量化算法改进:在不引入复杂集中式多智能体架构的前提下,结合动态利他奖励、Dueling DQN 网络结构和软更新目标网络,提高多路口协同控制效果,使方案更适合竞赛展示、工程复现和后续扩展。
该项目由多人共同完成。未经同意,先不放名字。在此致谢其余4位伙伴。
3. 核心功能及亮点
-
多路口交通信号强化学习训练闭环
项目将 SUMO 路网封装为 Gymnasium 风格的多交通灯环境,为每个路口创建独立 DQN 智能体,实现从状态观测、动作选择、相位切换、奖励反馈到经验回放学习的完整闭环。实际价值在于可以在仿真环境中低成本验证信号控制策略,避免直接在真实道路试错。 -
动态利他奖励机制
系统在局部路口奖励之外引入全局奖励,并根据路口拥堵饱和度动态调整局部收益与全局收益的权重。轻度拥堵时智能体更多考虑路网整体效率,重度拥堵时优先疏解本地排队。该机制有助于缓解多路口控制中“只顾本路口、把拥堵转移到下游”的问题。 -
Dueling DQN + Double DQN + Soft Update 的组合改进
项目支持 Dueling DQN,将状态价值和动作优势分开估计;使用 Double DQN 形式计算目标值,降低 Q 值过估计风险;同时通过软更新平滑目标网络参数。实际价值是提升训练稳定性,并让算法在多个相位收益差异不明显的交通状态下更稳健地学习。 -
可复现实验配置与论文级结果导出
项目提供 baseline / ours 两类实验 profile,并围绕双路口、四路口、低/中/高交通压力和不同随机种子生成实验配置;训练指标通过 TensorBoard 记录,并可转换为论文图表所需的 CSV 与中文标签。实际价值是让算法对比不只停留在代码实现,而能形成可展示、可复查的实验结果。 -
工程化训练支持
项目支持 libsumo 优先的无界面训练、traci 回退、模型 checkpoint、断点续训、按路口经验回放、训练/测试模式切换和交通排放指标统计。这些能力降低了长时间训练中断、仿真性能瓶颈和结果追踪混乱带来的风险。
4. 技术栈
| 技术 | 在项目中的作用 |
|---|---|
| Python | 项目主开发语言,负责训练入口、环境封装、智能体逻辑、实验配置解析和结果处理。 |
| SUMO / TraCI / libsumo | 构建微观交通仿真环境,提供车辆、车道、信号灯相位、等待时间、速度、排放等交通数据;libsumo 用于提升无界面训练性能。 |
| Gymnasium | 将 SUMO 多路口仿真封装成强化学习环境,定义动作空间、观测空间、reset 和 step 交互接口。 |
| PyTorch | 实现 DQN / Dueling DQN 神经网络、Q 值学习、目标网络更新和模型保存。 |
| DQN / Double DQN / Dueling DQN | 项目的核心深度强化学习算法,用于学习不同交通状态下的信号相位选择策略。 |
| TensorBoard | 记录训练奖励、损失、探索率、交通效率、排放与油耗等指标,支撑实验曲线分析和论文结果展示。 |
| YAML 配置 | 管理路网、车流、训练参数、奖励策略、算法 profile 和论文实验矩阵,便于复现实验与批量对比。 |
| Matplotlib / CSV 数据处理 | 根据 TensorBoard 导出的实验数据生成论文图表和统计表。 |
5. 项目成果
论文实验以四路口中等交通压力场景为主要展示样例,对比 Baseline 独立 DQN 与本项目改进方法 Ours。两组实验使用相同路网、车流、随机种子和训练流程;统计区间取 Baseline 与 Ours 共同覆盖训练步数中的末段 20 个数据点。
5.1 定量结果
| 指标 | Baseline(末20点均值±标准差) | Ours(末20点均值±标准差) | 相对变化 |
|---|---|---|---|
| 平均车辆等待时间 | 87.12 ± 13.28 s | 56.09 ± 3.98 s | 降低 35.6% |
| 平均车速 | 19.57 ± 1.47 km/h | 23.72 ± 0.67 km/h | 提升 21.3% |
| 系统总等待时间 | 301074 ± 45901 s | 193861 ± 13740 s | 降低 35.6% |
| 总二氧化碳排放 | 1154248698 ± 37256142 mg | 1070042934 ± 12697850 mg | 降低 7.3% |
| 总油耗 | 367235507 ± 11790910 ml | 340616850 ± 4025485 ml | 降低 7.2% |
从论文结果看,改进方法在交通效率指标上表现较明显:平均等待时间和系统总等待时间均降低 35.6%,平均车速提升 21.3%。同时,虽然奖励函数并未直接优化碳排放和油耗,但由于等待和启停减少,实验中的 CO2 排放和油耗也同步下降。
5.2 图表展示

图中汇总了 Ours 相对 Baseline 在末段统计窗口中的主要提升:等待时间类指标下降最明显,车速提升稳定,环境指标也有一定改善。

在平均车辆等待时间曲线中,Baseline 在部分训练区间出现较大波动,而 Ours 整体保持在更低、更稳定的等待时间水平,体现出动态利他奖励与稳定学习策略对多路口协同控制的帮助。

平均车速曲线显示,Ours 在大部分重叠训练区间保持高于 Baseline 的通行速度,说明车辆通过受控路口的流畅性有所改善。

系统总等待时间与平均车辆等待时间趋势一致,说明改进效果不仅体现在单车体验上,也体现在路网整体运行效率上。


排放和油耗结果表明,交通效率优化可以间接带来环境收益:车辆等待和频繁启停减少后,总 CO2 排放和燃油消耗均出现下降。