多智能体强化学习求解 FJSP 变体全景:动态调度、AGV 运输、绿色制造与开源代码导航

文章目录

    • 一、问题背景
      • [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-Kunsongwenas12 是当前引用最多的两个标准 FJSP-DRL 基线,适合作为新方法的对比实验起点
  • wrqccc/FJSP-DRL 侧重注意力机制,适合研究特征提取模块
  • FARIDKHzjc23 代码较轻量,适合快速理解多智能体调度逻辑

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 的规模不变性是关键技术

六、参考文献

  1. Wang et al. Multi-agent reinforcement learning for flexible shop scheduling problem: a survey. Frontiers in Industrial Engineering , 2025. [链接]
  2. Song et al. Flexible Job Shop Scheduling via Graph Neural Network and Deep Reinforcement Learning. IEEE Transactions on Industrial Informatics, 2022.
  3. Wang et al. Flexible Job Shop Scheduling via Dual Attention Network Based Reinforcement Learning. IEEE Transactions on Neural Networks and Learning Systems, 2023.
  4. Lei et al. A Multi-action Deep Reinforcement Learning Framework for Flexible Job-shop Scheduling Problem. Expert Systems with Applications, 2022.
  5. Wang et al. Hierarchical multi-agent deep reinforcement learning for dynamic flexible job-shop scheduling with transportation. International Journal of Production Research, 2025.
  6. Luo et al. A multi-agent reinforcement learning based scheduling strategy for flexible job shops under machine breakdowns. Robotics and Computer-Integrated Manufacturing, 2024.
  7. Zhang et al. Preference-Guided RL for Dynamic Green Flexible Assembly Job Shop Scheduling with Learning--Forgetting Effects. MDPI Sustainability, 2025.
  8. Harik et al. Multi-Agent Reinforcement Learning for Extended Flexible Job Shop Scheduling. MDPI Machines, 2024.
  9. 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

相关推荐
机器之心2 小时前
DeepSeek V4 双版本正式上线!
人工智能·openai
机器之心2 小时前
机器人马拉松超越人类之后:本体走到尽头,智能成为下半场
人工智能·openai
可观测性用观测云2 小时前
观测云 Obsy AI Copilot:带上你的 AI 副驾,进入你的观测现场
人工智能
风兮雨露2 小时前
一建学习流程以及计划(附资料)
学习
小明的IT世界2 小时前
Agent系列3:改变你做 AI Agent 的方式
人工智能
AI科技摆渡2 小时前
三步极速对接 Grok-Video-3 视频生成 API
人工智能·音视频
是大强2 小时前
NCNN简介
人工智能
数字游民95272 小时前
gpt image 2怎么用?3个案例+使用方法
人工智能·ai·数字游民9527
minhuan2 小时前
大模型反向优化传统算法:用大模型学习传统算法的缺陷,反向迭代算法逻辑.152
人工智能·大模型算法应用·大模型反向优化传统算法·算法优化方案