2025年JIM SCI2区,基于Q学习多目标粒子群算法+节能型分布式流水车间调度,深度解析+性能实测

目录


1.摘要

随着生态问题日益严峻,可持续发展与绿色制造成为研究热点。针对分布式流水车间调度问题(DFSP)包含工厂分配和工厂内排序两个高度耦合子问题的NP-hard问题,本文提出了一种基于Q学习多目标粒子群算法(QL-MoPSO),以最小化完工期和总能耗为目标,该方法通过将粒子划分为三个子群,加快在帕累托前沿不同区域的收敛;利用Q学习引导变邻域搜索(VNS)进行局部搜索,以平衡全局探索与局部开发;并采用交换序列更新作业排序向量、交叉与变异更新工厂分配向量,从而提升算法针对DFSP的适应性与效率。实验结果表明,该算法在收敛速度、解的分布性和多样性方面优于传统多目标进化算法。

2.问题描述

针对分布式流水车间调度问题(DFSP),本文建立了一个以最小化最大完工时间和最小化总能耗为目标的双目标数学模型。系统包含 N N N个作业和 F F F个工厂,每个工厂拥有相同的 M M M台机器。每个作业必须且只能被分配至一个工厂,并在该工厂内完成全部加工过程,期间不得转移;每台机器同一时刻仅能加工一个作业。

最小化最大完工时间:
min ⁡ C m a x = max ⁡ { c i , π k , j } \min C_{max}=\max\{c_{i,\pi_k,j}\} minCmax=max{ci,πk,j}

最小化系统总能耗:
min ⁡ T T E C = ∑ k = 1 F ( P E C k + S E C k ) \min TTEC=\sum_{k=1}^F(PEC_k+SEC_k) minTTEC=k=1∑F(PECk+SECk)

其中,加工能耗 P E C k PEC_k PECk与机器在不同加工速度下的功率消耗及实际加工时间相关,而空闲能耗 S E C k SEC_k SECk则由机器待机时间与单位空闲功率决定,从而构成完整的能耗评价体系。

3.QL-MoPSOa算法

QL-MoPSO算法通过混合采样策略(结合 VEGA 与 PDDR-FF)将种群划分为三个子群,使粒子分别向帕累托前沿不同区域收敛,从而提高收敛速度与解集分布均匀性。针对 DFSP 的双层决策结构采用交换序列、交叉与变异操作进行更新。在局部优化阶段,利用 Q-learning 引导多目标变邻域搜索(VNS),自适应选择优化工厂并执行局部搜索。

编解码方案

本文采用双向量编码表示 DFSP 解,每个粒子由作业排序向量(JS)和工厂分配向量(FA)构成,分别描述作业的加工顺序及其所属工厂。

解码时,首先根据工厂分配向量确定每个作业所属工厂,再依据作业排序向量对各工厂内部作业进行排序,最终形成完整调度方案。

改进MoPSO全局搜索策略

为增强多目标优化中的全局搜索能力,改进MoPSO 采用混合采样策略,将种群划分为三个子群b结合 VEGA 与 PDDR-FF 两种选择机制,对粒子进行分组与筛选,使算法在帕累托前沿的不同区域协同收敛。

其中,VEGA 将多目标问题分解为若干单目标子问题,使不同子群分别侧重优化不同目标,从而推动种群向 PF 的边界区域收敛;PDDR-FF 基于支配与被支配关系构建适应度函数:
e v a l ( x ) = q ( x ) + 1 p ( x ) + 1 \mathrm{eval}(x)=q(x)+\frac{1}{p(x)+1} eval(x)=q(x)+p(x)+11

其中, q ( x ) q(x) q(x)为支配个体 x x x的数量, p ( x ) p(x) p(x)为被个体 x x x支配的数量。通过选择较小 eval 值的

粒子,算法倾向保留非支配性更强的个体,从而促进种群向 PF 中心区域收敛。

基于Q学习多目标变邻域搜索局部搜索策

QL-MoPSO 在全局更新后引入 Q-learning 引导的多目标 VNS 作为局部搜索策略,通过 insert、flip 和 exchange 三种邻域结构对工厂内作业子序列进行调整。若新解优于当前解则更新,否则切换邻域继续搜索。

4.结果展示

5.参考文献

1 Zhang W, Geng H, Li C, et al. Q-learning-based multi-objective particle swarm optimization with local search within factories for energy-efficient distributed flow-shop scheduling problemJ. Journal of Intelligent Manufacturing, 2025, 36(1): 185-208.

6.代码获取

xx

7.算法辅导·应用定制·读者交流

xx

相关推荐
OPEN-F2 分钟前
C++11/14新特性精讲:移动语义与智能指针实战
开发语言·c++·算法
lisin-lee-cooper21 分钟前
【leetcode658】有序数组找出k个最接近x的数
java·数据结构·算法
sunburn-29 分钟前
Java堆(Heap)详解与实战教学
java·开发语言·数据结构·ide·算法
智碳能碳管理平台1 小时前
工业能耗台账标准化:能碳管理系统的数据口径怎么设计
算法·能碳管理系统·智碳能碳管理平台·企业能碳管理系统·碳排放核算软件·绿色工厂申报saas·能碳管理平台
带多刺的玫瑰2 小时前
Leecode#15刷题之三数之和
算法·leetcode·职场和发展
哭泣方源炼蛊2 小时前
并查集进阶 P1(带权并查集,并查集分类)
数据结构·c++·算法·二进制·带权并查集
牧羊人.3332 小时前
动手学深度学习 02 | 手写数字识别
图像处理·人工智能·深度学习·算法
武帝为此2 小时前
【InnoDB存储引擎介绍】
数据库·算法
shehuiyuelaiyuehao3 小时前
算法32,连续数组,前缀和+哈希表
算法·leetcode·职场和发展
程序员贺加贝3 小时前
报表大 IN 优化:一条 product_profile 超大 IN SQL 背后的报表任务治理
算法·性能优化