文章目录
-
- 一、问题背景
-
- [1.1 FJSP 是什么](#1.1 FJSP 是什么)
- [1.2 现实场景的复杂化](#1.2 现实场景的复杂化)
- [1.3 为什么引入多智能体](#1.3 为什么引入多智能体)
- [二、FJSP 变体:问题、方法与开源代码](#二、FJSP 变体:问题、方法与开源代码)
-
- [2.1 标准 FJSP + MARL(基线参考)](#2.1 标准 FJSP + MARL(基线参考))
- [2.2 多目标 FJSP(Multi-Target / Multi-Objective FJSP)](#2.2 多目标 FJSP(Multi-Target / Multi-Objective FJSP))
- [2.3 动态 FJSP(Dynamic FJSP)](#2.3 动态 FJSP(Dynamic FJSP))
- [2.4 含 AGV/运输约束的 FJSP(FJSP-T)](#2.4 含 AGV/运输约束的 FJSP(FJSP-T))
- [2.5 含机器故障的 FJSP(FJSP with Machine Breakdowns)](#2.5 含机器故障的 FJSP(FJSP with Machine Breakdowns))
- [2.6 绿色/低碳/能耗 FJSP(Green & Energy-Efficient FJSP)](#2.6 绿色/低碳/能耗 FJSP(Green & Energy-Efficient FJSP))
- [2.7 扩展 FJSP(Extended FJSP / FJSP-DT)](#2.7 扩展 FJSP(Extended FJSP / FJSP-DT))
- 三、通用工具库与基准环境
- 四、选型指南:如何根据研究目的选择仓库
- 五、研究趋势与技术演进
- 六、参考文献
摘要:本文系统梳理多智能体强化学习(MARL)在柔性作业车间调度问题(FJSP)七类现实变体上的研究进展,对每类变体给出问题定义、核心挑战、代表算法与可复现的开源代码,并附仓库技术栈与选型建议,适合调度优化与深度强化学习方向的研究者和工程师参考。
一、问题背景
1.1 FJSP 是什么
柔性作业车间调度问题(Flexible Job Shop Problem, FJSP)是经典 JSP 的扩展,形式化描述如下:
- 给定 n n n 个工件(Job)和 m m m 台机器(Machine)
- 每个工件由一组有序工序(Operation)组成
- 每道工序可在候选机器集合 M i j ⊆ M M_{ij} \subseteq M Mij⊆M 中的任意一台上加工(区别于 JSP 的固定机器)
- 目标:在满足工序顺序约束和机器互斥约束的前提下,最小化最大完工时间(Makespan)等目标
与 JSP 相比,FJSP 额外引入了机器选择决策,使问题从一维排序扩展为"机器分配 + 工序排序"的二维耦合优化,NP-hard 难度更高。
1.2 现实场景的复杂化
标准 FJSP 假设环境静态、机器可靠、只优化 Makespan。而真实制造场景远不止于此:
| 真实约束 | 标准 FJSP 的假设 | 实际情况 |
|---|---|---|
| 工件到达方式 | 所有工件提前已知 | 工件随机动态插入 |
| 机器状态 | 始终正常运行 | 随机故障、预防性维护 |
| 物料搬运 | 忽略运输时间 | AGV 负责工序间搬运 |
| 优化目标 | 单目标 Makespan | 拖期、能耗、碳排放多目标 |
| 车间范围 | 单工厂 | 多工厂分布式协同 |
这些约束催生了本文梳理的七类 FJSP 变体 ,也使集中式单智能体 DRL 在扩展性 和实时响应上面临瓶颈。
1.3 为什么引入多智能体
多智能体强化学习(MARL) 将调度问题自然解耦为多个并行决策主体:
| 智能体类型 | 观测空间 | 动作空间 |
|---|---|---|
| 工件智能体(Job Agent) | 本工件工序状态、等待队列 | 下一工序派发给哪台机器 |
| 机器智能体(Machine Agent) | 本机器负载、待处理工序列表 | 从队列中选择加工哪个工序 |
| 运输智能体(Transport Agent) | AGV 位置、搬运任务队列 | 接受哪个取/送任务、规划路径 |
主流训练范式为集中训练---分布执行(CTDE):训练时各智能体共享全局信息以学习协作策略,执行时每个智能体仅依赖本地观测独立决策,实现部署灵活性。代表算法:MAPPO、MADDPG、IPPO、QMIX。
二、FJSP 变体:问题、方法与开源代码
说明:标注 ✅ 代码公开可直接克隆;标注 ⚠️ 代码在论文 Supplementary 中或需联系作者;标注 📄 为重要参考论文但暂无公开仓库。
2.1 标准 FJSP + MARL(基线参考)
标准 FJSP 是所有变体的研究起点,以下仓库是入门和对比实验的必备基线:
| 仓库 | 框架 | 核心方法 | 论文来源 | 代码状态 |
|---|---|---|---|---|
| Lei-Kun/End-to-end-DRL-for-FJSP | PyTorch | multi-PPO + GIN | Expert Systems with Applications, 2022 | ✅ |
| songwenas12/fjsp-drl | PyTorch | HGN + PPO | IEEE TII, 2022 | ✅ |
| wrqccc/FJSP-DRL | PyTorch | 双注意力网络 + DRL | IEEE TNNLS, 2023 | ✅ |
| FARIDKH/Multi-agent-RL-for-FJSP | Python | 多智能体 Q-learning | 研究项目 | ✅ |
| zjc23/MultiAgentFJSP | Python | 多智能体调度仿真 | 研究项目 | ✅ |
| jhhom/fjsp-gnnrl | PyTorch | GNN + DRL 调度策略 | 研究项目 | ✅ |
这几个仓库的定位区别:
Lei-Kun和songwenas12是当前引用最多的两个标准 FJSP-DRL 基线,适合作为新方法的对比实验起点wrqccc/FJSP-DRL侧重注意力机制,适合研究特征提取模块FARIDKH和zjc23代码较轻量,适合快速理解多智能体调度逻辑
2.2 多目标 FJSP(Multi-Target / Multi-Objective FJSP)
问题描述:同时优化多个冲突目标(如 Makespan、总拖期、能耗),求解帕累托最优解集或加权综合最优解。
核心挑战:多目标之间存在权衡,单一奖励函数难以覆盖,需设计多智能体协同的多目标策略。
| 仓库 | 框架 | 核心方法 | 论文来源 | 代码状态 |
|---|---|---|---|---|
| RKWin93/E2E-MAPPO-for-MT-FJSP | PyTorch | E2E-MAPPO + GIN + GAT | IEEE Transactions, 2024 | ✅ |
方法亮点:将多目标 FJSP 建模为析取图,用图同构网络(GIN)编码工序节点、图注意力网络(GAT)编码机器节点,端到端 MAPPO 同时学习工序派发与机器选择两个子策略。实验表明在大规模和未见实例上均显著优于传统调度规则和单智能体 DRL。
2.3 动态 FJSP(Dynamic FJSP)
问题描述:调度执行过程中工件随机到达,或机器状态动态变化,要求调度策略实时响应而非离线预计算。
核心挑战:策略必须在部分可观测、非平稳的环境中在线决策,泛化能力要求高。
| 仓库 | 框架 | 核心方法 | 论文来源 | 代码状态 |
|---|---|---|---|---|
| RK0731/Deep-reinforcement-learning-for-dynamic-scheduling-of-a-flexible-job-shop | PyTorch | DRL 在线调度 | IJPR(International Journal of Production Research) | ✅ |
该仓库同时支持随机工件到达 和机器随机故障两类动态扰动,是动态 FJSP 方向少有的完整开源实现,也是本节唯一公开仓库,建议优先参考。
相关论文(暂无公开仓库):
| 论文 | 来源 | 特点 |
|---|---|---|
| Deep RL for Dynamic FJSP with Random Job Arrival | MDPI Processes, 2022 | 随机到达下最小化总拖期 |
| Scheduling for FJSP with a Dynamic Number of Machines Using DRL | MDPI Information, 2024 | 支持机器数量动态变化 |
2.4 含 AGV/运输约束的 FJSP(FJSP-T)
问题描述:在 FJSP 基础上引入自动导引车(AGV)负责工序间物料搬运,需联合优化机器调度与 AGV 路径分配,运输时间不可忽略。
核心挑战:机器调度与 AGV 路径规划强耦合,联合决策空间维度爆炸,且两者时间窗需精确对齐。
| 仓库 | 框架 | 核心方法 | 论文来源 | 代码状态 |
|---|---|---|---|---|
| ClouDaDaDa/DFJSPT_code | PyTorch | 三层分层 MARL | IJPR, 2025 | ✅ |
| aymengan/EDT_JSPTA | Python | 数字孪生 + 运输智能体 | 研究项目 | ✅ |
DFJSPT 分层架构:
高层智能体 ──→ 工件优先级排序(Job Prioritization)
↓
中层智能体 ──→ 机器分配(Machine Assignment)
↓
低层智能体 ──→ 运输机器人路径调度(Transbot Allocation)
三层决策按时间粒度由粗到细分解,各层独立训练后组合,有效降低联合动作空间维度。
2.5 含机器故障的 FJSP(FJSP with Machine Breakdowns)
问题描述:机器在执行中随机发生故障,需快速生成修复调度(Rescheduling),以最小化扰动对已有生产计划的影响。
核心挑战:故障时刻不可预测,策略需在极短时间内(实时)完成重调度,且对不同故障模式具备泛化能力。
| 论文 | 方法 | 来源 | 代码状态 |
|---|---|---|---|
| A MARL-based Scheduling Strategy for FJSP under Machine Breakdowns | 异构图 + 类型感知 MADRL | RCIM, 2024 | ⚠️ 需联系作者 |
| Dynamic Scheduling for Multi-Objective FJSP with Machine Breakdown by DRL | 多目标 DRL 重调度 | MDPI Processes, 2025 | 📄 论文链接 |
异构图建模思路(RCIM 2024):将机器节点与工序节点分别建模,通过边类型区分加工关系与竞争关系,类型感知 MADRL 能够捕捉故障传播对整体调度图的扰动影响。
2.6 绿色/低碳/能耗 FJSP(Green & Energy-Efficient FJSP)
问题描述:在传统调度目标(Makespan、拖期)基础上增加碳排放或能耗约束,实现生产效率与环境成本的协同优化。
核心挑战:能耗目标与时间目标往往冲突(降低功耗常需延长加工时间),多目标帕累托求解难度大。
| 仓库 | 框架 | 核心方法 | 论文来源 | 代码状态 |
|---|---|---|---|---|
| FutureIAI/HAD_DRL | PyTorch | 分层双智能体 DRL | MDPI Sustainability, 2025 | ✅ |
HAD-DRL 方法亮点 :针对绿色柔性装配车间(GFAJS),上层智能体负责工件优先级决策,下层智能体负责工位资源分配,同时引入学习遗忘效应(Learning-Forgetting Effect)建模工人技能随时间衰退的现象,更贴近 Industry 5.0 场景。
相关论文:
| 论文 | 来源 | 特点 |
|---|---|---|
| Low-Carbon FJSP Based on Deep Reinforcement Learning | MDPI Sustainability, 2024 | 低碳 GAT,减排 3%~8%,效率提升 5%~12% |
| RL-based Memetic Algorithm for Energy-Efficient Distributed Two-Stage FJSP | Scientific Reports, 2024 | 分时电价 + Q-learning 自适应选算子,混合进化 |
2.7 扩展 FJSP(Extended FJSP / FJSP-DT)
问题描述 :在工艺灵活性(机器选择)之外,同时引入路径灵活性 (工序顺序可调整)和时变运输时间,构成更接近真实生产的双重灵活模型(FJSP-DT)。
核心挑战:双重灵活性使决策空间指数级扩大,传统集中式方法无法处理;部分可观测环境下的 MARL 协作稳定性难以保证。
| 论文 | 方法 | 来源 | 代码状态 |
|---|---|---|---|
| MARL for Extended Flexible Job Shop Scheduling | DPOMDP + MARL | MDPI Machines, 2024 | 📄 论文链接 |
该工作将 FJSP-DT 建模为去中心化部分可观测 MDP(Dec-POMDP),每台机器视为独立智能体,仅依据本地观测(本机工序队列、相邻机器状态)做决策,具备良好的规模扩展性。
三、通用工具库与基准环境
以上研究的复现依赖统一的基准实例和仿真环境,以下工具库可作为公共基础:
| 仓库 | 框架 | 定位 | 支持变体 |
|---|---|---|---|
| ai-for-decision-making-tue/Job_Shop_Scheduling_Benchmark_Environments_and_Instances | Python | 标准化基准套件 | JSP、FSP、FJSP、装配 JSP,含序列相关准备时间和在线到达 |
| Pabloo22/job_shop_lib | Python | 通用建模库 | 多种 JSP 变体,支持多种求解器接入 |
| proto-lab-ro/jobshoplab | Python | 实验平台 | 多变体车间调度仿真,含可视化 |
| jolibrain/wheatley | PyTorch + DGL | GNN + RL 框架 | 不确定 JSP,CPAIOR 2024 |
| prosysscience/RL-Job-Shop-Scheduling | PyTorch + Gym | RL 训练环境 | OpenAI Gym 兼容,适合快速搭建 RL 调度实验 |
四、选型指南:如何根据研究目的选择仓库
你的研究目标是什么?
│
├─ 复现 FJSP 基线 / 做对比实验
│ └─ 推荐:Lei-Kun/End-to-end-DRL-for-FJSP 或 songwenas12/fjsp-drl
│
├─ 研究多智能体协作机制
│ └─ 推荐:RKWin93/E2E-MAPPO-for-MT-FJSP(MAPPO + 图神经网络)
│
├─ 研究动态/在线调度(工件随机到达)
│ └─ 推荐:RK0731/Deep-reinforcement-learning-for-dynamic-scheduling-...
│
├─ 研究 AGV 与机器联合调度
│ └─ 推荐:ClouDaDaDa/DFJSPT_code(分层 MARL,含完整代码)
│
├─ 研究绿色/多目标调度
│ └─ 推荐:FutureIAI/HAD_DRL(绿色装配车间,分层双智能体)
│
└─ 搭建标准化实验平台 / 需要基准实例
└─ 推荐:ai-for-decision-making-tue/Job_Shop_Scheduling_Benchmark_...
五、研究趋势与技术演进
| 演进方向 | 早期方案 | 近期方案 | 核心进步 |
|---|---|---|---|
| 状态表示 | 手工特征向量 | GNN 编码析取图 / 异构图 | 自动捕捉工序与机器的拓扑关系 |
| 策略架构 | 单一 Actor-Critic | 分层多智能体(H-MAPPO、HAD-DRL) | 分解决策层级,降低联合动作空间 |
| 优化目标 | 单目标 Makespan | 多目标帕累托 + 偏好学习 | 覆盖绿色制造、拖期等多维需求 |
| 环境真实性 | 静态离线 FJSP | 动态 + 故障 + AGV + 数字孪生 | 逐步向真实 Industry 4.0/5.0 靠拢 |
| 扩展性 | 固定规模训练 | 泛化到未见规模(零样本迁移) | GNN 的规模不变性是关键技术 |
六、参考文献
- Wang et al. Multi-agent reinforcement learning for flexible shop scheduling problem: a survey. Frontiers in Industrial Engineering , 2025. [链接]
- Song et al. Flexible Job Shop Scheduling via Graph Neural Network and Deep Reinforcement Learning. IEEE Transactions on Industrial Informatics, 2022.
- Wang et al. Flexible Job Shop Scheduling via Dual Attention Network Based Reinforcement Learning. IEEE Transactions on Neural Networks and Learning Systems, 2023.
- Lei et al. A Multi-action Deep Reinforcement Learning Framework for Flexible Job-shop Scheduling Problem. Expert Systems with Applications, 2022.
- Wang et al. Hierarchical multi-agent deep reinforcement learning for dynamic flexible job-shop scheduling with transportation. International Journal of Production Research, 2025.
- Luo et al. A multi-agent reinforcement learning based scheduling strategy for flexible job shops under machine breakdowns. Robotics and Computer-Integrated Manufacturing, 2024.
- Zhang et al. Preference-Guided RL for Dynamic Green Flexible Assembly Job Shop Scheduling with Learning--Forgetting Effects. MDPI Sustainability, 2025.
- Harik et al. Multi-Agent Reinforcement Learning for Extended Flexible Job Shop Scheduling. MDPI Machines, 2024.
- Li et al. Low-Carbon Flexible Job Shop Scheduling Problem Based on Deep Reinforcement Learning. MDPI Sustainability, 2024.
持续追踪新仓库 :
github.com/topics/fjsp · github.com/topics/flexible-job-shop-scheduling · github.com/topics/job-shop-scheduling-problem