Advertisement

基于深度强化学习的智能车间调度方法研究

阅读量:

摘要

工业物联网的发展态势为传统工业生产制造模式提供了全新机遇与变革方向。智能车间调度作为提升生产效率的关键技术之一,在实现全面自动化控制方面发挥着重要作用。具体而言,在多工序、多机器并行生产的背景下,如何优化生产流程以最大限度地减少完工时间已成为亟待解决的技术难题。为此研究者首先将车间调度问题建模为马尔可夫决策过程并成功构建了一个基于指针网络的车间调度模型其次从作业调度本质出发将其抽象为一种序列映射关系并提出了一种创新性的基于深度强化学习算法的新解决方案通过对模型不同参数组合下的收敛性进行全面分析最终确定了最优超参数配置这一方法不仅能在理论层面上提供新的研究视角更能有效指导实际生产系统的优化改进通过广泛的实验验证包括在大型公共数据集以及真实工厂数据集上的测试结果均表明所提出的深度强化学习算法相较于现有方案展现出显著的技术优势

关键词: 工业物联网 ; 智能车间调度 ; 柔性生产 ; 深度强化学习 ; 车间调度方法

0****引言

工业物联网(IIoT)作为一种新兴技术与制造业深度融合的产物,在推动传统工业生产模式变革方面发挥着关键作用。如图1所示为IIoT设想中的智能车间架构示意图,在该系统中采用了云-边-端三层架构设计。终端设备通过各种传感技术实时采集生产数据,并经由无线传感器网络将这些数据实时传输至边缘服务器。在边缘端,则整合云端预训练好的车间调度模型以及订单信息、物料库存等系统数据信息,在等待生产的作业中快速识别并生成最优排产方案,并通过生产指令的方式直接下发至生产线执行操作。这种全自动化、智能化的操作流程实现了生产过程的高度无人化管理。值得注意的是,在云端不断获取新数据并定期更新车间调度模型是确保整个生产计划性能的关键因素之一;然而目前所采用的传统车间调度方法尚无法充分满足工业物联网的发展愿景需求;因此开发高效、智能化的车间调度算法具有重要的理论意义和实际应用价值

图1

1 IIoT中设想的智能车间

车间调度问题本质上是从一个待调度作业的输入序列向一个调度结果的输出序列建立的一种映射关系。Vinyals等人提出了指针网络(PN模型),该模型通过循环神经网络(RNN)和注意力机制实现了序列到序列建模,并被成功应用于旅行商问题(TSP)求解中。然而,在这一过程中仍面临挑战:监督学习依赖高质量标签,在工业物联网场景下进行大规模数据的手工标注工作并不现实。相比之下,强化学习作为一种数据驱动的方法,则无需标签即可与环境交互并逐步优化策略。Nazari等人则提出了一种基于强化学习端到端框架来解决车辆路径问题(VRP),并通过策略梯度算法优化模型参数,在中等规模的问题上取得了显著的效果。不过,在复杂的车间调度场景中,每个作业都包含多维度动态特征这一特点使得强化学习方法难以有效应对。

近年来,在人工智能技术的快速发展推动下

将车间调度问题归类为马尔可夫决策过程,并开发了一个基于Petri网(PN)的车间调度模型。该模型由编码器和解码器构成,并通过工业物联网获取海量无监督数据来持续优化改进模型参数。

  1. 可将作业调度过程视为从一序列到另一序列的映射关系。在此基础上,我们提出了一种新型智能车间调度算法,该算法以深度强化学习(DRL)为理论基础,由演员网络与评论家网络两个关键组件构成,能够适应不同规模问题及多样化的应用场景。

基于公共数据集和实际运行中的数据构建仿真实验环境,并对多种算法进行了系统性比较研究。通过实验数据分析表明所提出的方法具有较高的适用性。

1****相关工作

流水车间调度问题(FSP, flow-shop scheduling problem)是一个典型的NP难(NP-hard)问题 [9], 它专注于每道工序仅有一台设备的情况。自1954年Johnson [10] 发表开创性关于FSP的研究以来,在过去近70年间这一领域取得了大量研究进展。Reza等 [11] 对Johnson从早期至2004年间基于最大完成时间(makespan)准则下的FSP研究进行了全面综述。Zhang 等 [12] 从工业4.0视角回顾了超过百篇相关论文,并探讨了新技术如何在传统调度向智能分布式调度转变中发挥重要作用

如果至少有一道工序包含有若干台并行作业设备,则该生产过程可被归类为混合流水车间调度问题(HFSP, hybrid flow-shop scheduling problem),这一分类同样属于NP难问题[13]。HFSP这一概念最初是由Arthanay等学者于1971年首次提出,并因其复杂性以及在工业生产中的重要应用而受到广泛关注 [14]。Ruiz 等研究者对20世纪初相关领域的文献综述工作进行了较为全面的分析 [15];他们不仅对HFSP的基本理论框架进行了深入探讨,并且系统梳理了近十年来发表的219篇相关文献 [16];其中大部分研究集中关注智能优化算法在解决HFSP问题中的应用 [17];此外Tosun等还重点考察了实际工程背景下的各种解决方案 [18];Li 等系统总结了当前HFSP领域的研究现状与发展趋势 [19];并指出了未来可能的研究方向与技术突破点 [20].

在过去的几十年里,在车间调度问题解决方案的发展历程中

Cunha等对作业车间调度、进化算法以及深度强化学习领域的研究现状进行了系统性综述,并提出了构建一种基于深度强化学习(DRL)的新体系架构来解决复杂的作业车间调度问题。刘等提出了采用异步更新机制与深度确定性策略梯度方法并行训练以优化演员-评论家网络模型的方法;Han 等基于析取图调度理论提出了一种DRL框架能够直接根据输入制造系统的动态状态来推导行为策略;Wang 等则通过近端策略优化算法成功求解了动态作业车间调度问题的理想解;Luo 将深度Q-网络与6种组合调度规则相结合的方法成功解决了新作业插入下的动态柔性作业车间调度问题;Zhang 等创新性地提出了基于图神经网络方案来求解实际规模的作业车间调度问题;验证结果表明所设计的DRL 智能体(agent)的学习所得策略网络具有普适性特征;能够有效支持大规模实例下的应用;王凌等则从理论优化的角度出发;提出了基于DRL 与迭代贪婪算法融合求解流水车间调度问题(FSP)的方法;Luo 等进一步创新地提出了包含勘探回路与开发回路双重循环机制的双环深度 Q-网络方法;以适应状态空间与动作空间更为复杂的多机器并行环境下的作业车间调度问题;研究表明现有的DRL 方法主要关注于单工序仅含一台机器或流水线式的简单场景下作业安排问题;对于工序包含多台并行机器的状态空间与动作空间更加复杂的高复杂度流水车间调度问题(HFSP)仍需进一步深入探索。

2****问题描述和数学表达

2.1 符号解释

(1)索引

i:作业索引,i∈ {1,2,…,N};

k:工序索引,k∈{1,2,…,K};

m:工序k 的机器索引,m∈{1,2,…,Mk}。

(2)参数

N:作业总数量;

K:工序总数量;

Mk:工序k的机器总数量;

rti:作业i到达系统的时间;

st ik:作业i在工序k的可开始加工时间;

st ikm:作业i在工序k的机器m上的开始加工时间;

变量说明:
pt_{ikm} 表示作业 i 在工序 k 通过机器 m 的加工所需时间为 t
ct_{ik} 表示作业 i 完成工序 k 的完工时间为 t

ct ikm:作业i在工序k的机器m上的完工时间;

Cmax:最大完工时间。

(3)决策变量

该变量表示第k个工序在第i时段作业的第m台设备上的加工情况为1或其他情况为0

Sikt={1, 在时间段t时段内,在流程k上的操作i正在进行中,并且完成时间为t时段的其他情况则不适用该定义}

Ojk,m =
\begin{cases}
1, & \text{如果作业} j \text{由工序} k \text{机器} m \text{处理其分配顺序的具体情况中,在作业} i \text{前完成}; \
0, & \text{其他情况下}
\end{cases}

maski = {1, 作业_i正在执行分配过程至某台机器并处于等待状态, 作业_i已经完成分配任务并进入待机状态}

2.2 问题描述

本文重点研究了工业物联网领域中一个典型车间调度问题,在多个关键行业如炼钢、纺织制造以及半导体生产等领域均有其应用价值。
具体而言,在FSP(单机流水车间调度问题)中涉及K个工序和Mk台独立设备的情况;而HFSP(多机流水车间调度问题)则要求至少存在一个工序拥有两台及以上设备以满足生产需求。
对于FSP场景下每个作业i(1≤i≤N),其需要依次经过所有工序k(1≤k≤K)进行加工;同样地,在HFSP情况下每个作业i也需依次经过所有工序k进行加工。
在FSP模型中只需关注各工序之间的加工顺序安排即可;而在HFSP模型中还需确定每个作业i应分配到哪些设备及其具体工作安排情况。
考虑到各作业i在不同设备m上的加工时间参数pt_ikm以及作业到达系统的初始入厂时间rt_i等因素的影响,
因此在FSP模型中我们可以通过优化各工序之间的加工顺序来实现资源的最佳利用;
而在HFSP模型中则需同时解决任务分配和排产计划两个关键环节以提高整体生产效率。

部分车间调度问题并不完全符合标准型(FSP)或广义型(HFSP)的定义,在这些情况下存在某些作业在加工过程中会发生工序跳过的情况。针对这一现象,在实际操作中我们可以通过假设这些需要跳过的工序仍需进行必要的处理,并将其所需的时间设定为零单位来实现统一的标准模式;同时为了防止由此产生的干扰因素影响到其他作业的整体流程安排,在此采用引入虚拟专用机器的方式来专门完成这些跳过环节的具体加工任务

2.3 问题的数学表达

基于假设条件下

sti1≥rti,∀i (1)sti1≥rti,∀i (1)

任何作业i仅能在前一工序k-1完成后才可投入下一工序k进行加工。同时假定缓冲区容量无限大,并允许作业在开始处理前排队等待。进而规定,在分配至同一台机器m时, 若该机器处于繁忙状态, 则该作业需等待处理。因此, 任一作业i在其所在的第k道工序上的起始加工时间st_ik则确定为其上一工序(k-1)完成时间和分配在同一台机器上的其他已完工作业完成时间中的最大值, 即

stik=max(cti(k−1),Ojikmctjk),∀i≠j,k=2,3,⋯,K (2)stik=max(cti(k−1),Ojikmctjk),∀i≠j,k=2,3,⋯,K (2)

基于本文假设作业i在相邻工序间不涉及转运及其他额外所需时间,并且必须连续进行加工;在每一道工序k上使用特定机器m进行加工的时间参数pt_ikm均为已知并精确确定。因此,在工位k上的作业i完成时间为ct_ik时等于该工位可开始处理的时间起点ct_ik与分配到该工位进行加工的时间之和,并可用以下公式表示:

ctik=stik+ptikm,∀i,k (3)ctik=stik+ptikm,∀i,k (3)

同时,在任何工序k上任意作业i仅能安排在一台设备上进行加工,并且最多仅能加工一次。若该作业在该工序存在工艺跳单,则采用虚拟设备完成所需时间的虚拟加工,并其影响可忽略不计。

∑m=1MkXikm=1,∀i,k (4)∑m=1MkXikm=1,∀i,k (4)

∑t=1TSikt=1,∀i,k (5)∑t=1TSikt=1,∀i,k (5)

最后,任一工序k的机器m在同一时刻最多只能加工一个作业,即

如累加从j=1到N以及t=1到T等情况下,该种算法的求解结果满足以下方程组: S_{ikt}X_{ikm} = \sum_{j=1}^{N}\sum_{t=1}^{T}s_{tik}c_{tik}S_{jk t}X_{jk m}=0,其中i,j,k,t,m为不同的整数且i≠j;类似的,在其他约束条件下也有S_{ikt}X_{ikm} = \sum_{j=1}^{N}\sum{t}s{tik}c{tik}S{jkt}X{jkm}=0,其中i,j,k,t,m为不同的整数且i≠j.

由此可知,在工序k分配到的机器m上加工完毕的时间ct_ik m 即为作业i在本道工序完成的时间。而开始加工时间st_ik m 则等同于ct_ik m 减去其所需加工时间pt_ik m ,即st_ik m = ct_ik m - pt_ik m

ctikm=ctik,∀i,k,m (7)ctikm=ctik,∀i,k,m (7)

stikm=ctikm−ptikm,∀i,k,m (8)stikm=ctikm−ptikm,∀i,k,m (8)

本文旨在通过优化流程使作业尽可能早地完成加工,并最终实现所有作业及时交货。具体而言, 该研究的目标即是将处理完最迟完工作业的时间进行最早安排, 从而最小化混合车间流水车间最后一道工序的最大完工时间, 因此, 整个问题可以表示为一个混合整数规划模型.

minCmax=max1≤i≤NctiKs.t. (1)∼(6) (9)minCmax=max1≤i≤NctiKs.t. (1)∼(6) (9)

3****车间调度模型和算法

3.1 马尔可夫决策过程

我们采用马尔可夫决策过程(MDP)作为车间调度问题的数学模型。其中S为状态集合,A为动作集合;其由四个要素构成:状态转移概率矩阵P_{s,a}∈[0,1]和奖励函数R(s,a,s′)∈ℝ。具体而言,在时间步t时,智能体通过观察当前环境的状态st并选择动作at执行。随后系统从当前状态st转移到下一时刻的状态st+1;通过持续交互和行动优化累积奖励总和。

3.1.1 状态

车间调度模型在时间步t的状态st被定义为元组(st_k,m,p_t_k,m,c_t_k,m),这也是DRL代理人的输入信息之一。对于特定的作业i,在工序k上机器m所需的加工时间p_t_k,m作为系统输入已知,并被视为该作业的静态属性参数,在任何情况下都不会发生变化。当作业i进入各工序k时,在初始状态下其工件投入时间和完工时间s_t_k,m和c_t_k,m可通过公式(7)和(8)进行计算获取。每个作业i被定义为一个包含静态与动态特性的实体集合ji={f_i,d_{it}} ,其中f_i表示该作业的静态属性参数;d_{it}则代表该作业在当前时间段内的动态属性参数。每当一个工序完成所有作业转移至下一工序时,则当前的状态集St将更新至下一个时间段的状态集合S't

3.1.2 动作

在车间调度模型中,在时刻t状态下,在状态St下有一动作at∈At作用于工序k上的作业i指定一台机器m进行加工操作。由此可知,在每一具体工序k处,则需对所有相应作业进行待机状态下的分配与安排工作;具体而言,则需为各台机器m分配相应的待加工作业及其顺序安排。由于任何作业i在时刻t只能选择一台机器且仅能在该工序上执行一次操作,则FSP与HFSP各自在各工序的动作空间最大容量分别设定为|N|²与|NMk|²的数量级。为了便于后续操作管理与调度优化,在本模型中我们特意引入了一个虚拟作业j₀(其持续时间为零且mask值初始设为1),并规定在各工序中各台机器按编号顺序依次执行动作指令;每次动作可以选择一个正常作业节点或虚拟作业节点参与操作,并记录动作次数统计指标;若所选节点为正常作业,则将其mask值设为零以标记已完成的状态;如此往复循环直至所有正常作业的状态mask值归零或动作次数达到预先设定的最大容量限制为止。此外如图2所示给出了具体的输入输出示例:当某道工序拥有两台并行机器时,并针对一个待处理的工作单元j₀、j₁、j₂、j₃、j₄、j₅、j₆等七个节点的情况进行了详细的操作流程描述

图2

2输入序列和输出序列的特定示例

3.1.3 奖励

该方法能有效表征 agent 在当前环境中所执行动作的质量状况。
本研究旨在通过逐步推进作业调度的学习过程来实现优化配置。
当目标值Cmax越小时, agent 能够做出更优的调度决策,因此赋予 agent 更高的奖励强度。
针对车间调度模型的设计原则是构建一个能够根据当前状态动态调整奖励机制以促进最优决策生成的系统框架。

R=⎧⎩⎨⎪⎪−Cmax,当所有作业均完成分配于最大动作空间时 −∞,其余情况 (10)

3.1.4 策略

在状态st下的一种随机策略π(at|st),为At中的各个动作分配概率分布。最佳行为策略π*(at|st)必然能够达到最大累积奖励值。因此,在本研究中我们的核心目标是使所设计的策略π(at|st)使其最接近于最佳行为策略π*(at|st)。

3.2 车间调度模型总体架构

改写说明

(1)编码器

在本文提出的PN架构中,编码器模块通过RNN模型完成特征提取。然而,在本文的设计方案中,并未依赖于输入序列的时间顺序信息。由于所有可能的排列均等价于原始输入的信息量,因此省略了RNN结构而直接采用了1D卷积层作为嵌入层。这种设计不仅有效降低了计算复杂度而不影响模型性能[5]。

(2)解码器

解码模块包含一个基于长短期记忆(LSTM, long short-term memory)的时间序列模型、一个注意力计算模块以及一个遮蔽矩阵。在每个时间段t中,LSTM接收上一时间段的状态h_{t-1}以及当前输入j_t(其中j_t代表时间段t-1的输出y_{t-1}),并生成新的状态h_t.随后,将编码模块输出的状态\overline{f}、作业节点的时间序列特征d_t以及LSTM的状态h_t传递给注意力计算模块.通过应用遮蔽矩阵,我们能够获得各作业节点的概率分布.最终确定概率最大的作业节点作为当前时间段t的结果输出.当agent在时间段t做出决策后,作业的时间序列特征更新为d_{t+1},遮蔽矩阵也随之改变,并成为时间段t+1的输入数据.

在时间步t处, 注意力机制通过基于输入序列中每个作业节点的概率分布来对应于输入序列中的各个作业节点. 该机制施加了一个与输入序列长度相同的掩膜矩阵约束 agent的行为. 此外, 抽象地将虚拟作业节点与真实作业节点区分开来, 并规定了其对应的掩码矩阵元素取值均为1. 这种设计使得agent在任何情况下都能选择虚拟作业节点作为候选选项. 当 agent 在时间步t选择了真实作业节点i后, 相应的位置会被设为不可选状态. 在此约束下, 使用式(11)对时间步t的所有作业节点进行概率分布计算, 其中va和wa均为可训练参数. 最终选取概率最大化的作业节点作为输出单元.

P(yt|Yt−1,St)=Softmax(vatanh(wa[f¯;ht])) (11)P(yt|Yt−1,St)=Softmax(vatanh(wa[f¯;ht])) (11)

3.3 基于DRL的车间调度算法

本文采用深度强化学习(DRL)方法中的作业调度策略对系统模型进行训练。该系统由两个关键组件构成:一个是作业调度决策者(演员网络),另一个是奖励评估器(评论家网络)。其中参数θ代表演员网络的学习参数。演员网络负责预测作业序列在时间步t时各节点的状态概率。评论家网络则用于计算整个作业序列的预期奖励值φ。

该车间调度问题采用深度强化学习(DRL)方法求解,并见算法1描述。初始化阶段包括以下步骤:首先对每个作业的静态特征数据进行归一化处理(见第2.1节所述),这有助于提升训练效率;随后随机初始化演员网络与评论家网络的关键参数值;接着在每一个训练周期中执行以下操作:重置当前梯度;设定每个作业首道工序开始加工的时间窗口;并从训练数据集中随机选取J个实例(其中每个实例包含N个作业)。在任何一个操作流程的第一时间点上:对于每一个实例j,在观察当前系统状态S_jt的基础上施加动作策略网络中的决策单元y_t;随后根据第4.2节中所定义的状态转移方程动态更新各作业i的可用开始时间和完成时间st_ik与ct_ik变量值;同时更新当前系统的环境状态信息以及作用域划分情况;当所有正常运行的任务都被合理分配至指定设备并满足最大动作空间限制条件时,则进入下一个操作阶段;直至所有操作流程全部完成任务分配为止。此时系统将根据第4.3节中所提出的奖励评估指标计算实际收益R_j与预期收益V(S_j0;φ)之间的差异值,并据此对演员网络与评论家网络进行联合优化以最小化总损失函数值。(见附录A中的具体实现细节)。重复上述过程直至达到预定的最大训练周期次数之后停止迭代运算;最终经过充分训练得到的任务调度模型可用于解决实际车间生产管理问题的各种场景分析任务。

图3

3车间调度模型总体架构

dθ←1J∑Jj=1(Rj−V(Sj0;φ))∇θlogP(Yj|Sj0) (12)dθ←1J∑j=1J(Rj−V(S0j;φ))∇θlogP(Yj|S0j) (12)

dφ←1J∑Jj=1∇φ(Rj−V(Sj0;φ))2 (13)dφ←1J∑j=1J∇φ(Rj−V(S0j;φ))2 (13)

其中,在时间步t_{}的初始时刻t = 0时的状态记为S^{}_{_{}ij};输出序列Y^{}_{_{}ij}则反映了关于初始状态的信息;每个实例的实际奖励值为R^{}_{_{}ij};而每个作业节点的概率分布分别为P^{}(Y^{}_{_{}ij}| S^{}_{_{}ij})V^{}(S^{}_{_{}ij}; \phi)

算法1基于DRL的车间调度算法

输入:所有作业的静态特征fi和动态特征dtidit

结果集包括对于每个作业i,在其所在的工序k上使用机器m时的起始加工时间和完成时间st_{ik}和ct_{ik}。

归一化输入的静态特征:xˆ=x−xminxmax−xminx^=x−xminxmax−xmin;

随机初始化演员网络的参数θ和和评论家网络的参数ϕ;

for epoch=1,2,"do

重置梯度:dθ←0,dϕ←0;

重置时间:sti1=rti,cti1=sti1+pti;

从训练集中随机抽取J个实例;

for k=1,2,",K do

初始化时间步t←0,掩膜矩阵

mask=[1,1,…,1],count=0;

利用式(2)和式(3)更新可开始加工

时间st ik和完工时间ct ik;

if (count≤NM k&&mask!=[1,0,…,0])

then

for m=1,2,…,Mk do

观察状态SjtStj,根据P(yt|Yt−1,St)P(yt|Yt−1,St)选择输出节点yt;

更新状态Sjt←Sjt+1Stj←St+1j ,maski =0,

时间步t←t+1,count++;

end for

end if

利用式(7)和式(8)计算每个作业i在分派到的机器m上的st ikm和ct ikm;

根据式(10)计算Rj,V(Sj0;φ)V(S0j;φ) ;

end for

计算dθ和dϕ并分别更新演员网络和评论家网络;

end for

3.4 时间复杂度分析

Agent由动作选择模块与网络训练模块构成,在算法1所述架构下可得单次动作的选择计算复杂度TCact被评估为O(K×N×Mk),其中K代表工序总数、N代表作业总量,并且每道工序可用的机器数量记为Mk(在FSP场景中,默认每道工序只有一台机器)。针对批量大小为b的任务批次而言,相应的计算复杂度则被评估为

TCNN=b(|S|nhid+nhid|A|)=O(N) (14)TCNN=b(|S|nhid+nhid|A|)=O(N) (14)

在本研究中,在状态空间|S||S| 和动作空间 |A||A|中所包含的数量分别为神经网络的输入层和输出层的节点数。而网络中的隐藏层则具有nhid个节点。

在环境中进行的计算主要涉及状态更新以及奖励反馈。根据算法1的分析可知,在环境中进行的计算时间复杂度TCenv与单步时间复杂度TCact相等。考虑了J个训练集以及经过e个epoch的训练后所得到的总时间复杂度为:

TCtrain=eJN(TCact+TCNN+TCenv)=O(eKN2Mk) (15)TCtrain=eJN(TCact+TCNN+TCenv)=O(eKN2Mk) (15)

由于测试过程仅在每一次选择动作时需利用网络计算结果进行操作,则测试过程的时间复杂度TCtest可表示为:

TCtest=N(TCact+1bTCNN+TCenv)=O(KN2Mk) (16)TCtest=N(TCact+1bTCNN+TCenv)=O(KN2Mk) (16)

算法的训练时间和测试时间与作业规模N、工序数K以及每道工序可用机器数M_k呈多项式增长关系。尽管参数b、nhid、J和e等常量会直接影响算法的训练时间分布特性,但这些细节并不会削弱算法在大规模场景中的扩展能力,特别地,在拥有充足计算资源的云计算环境中进行离线训练,仅需定期采集生产线数据进行模型更新即可。

在下一节中对基于优先权的传统调度规则与智能优化算法进行了详细对比分析(FCF, FLS, CLPT, SLPT等经典调度策略与ACO、GA、ABC及混合型人工蜂群-禁忌搜索算法(ABC-TS))。由于这些调度方法无需预先进行训练,并且能够自适应动态变化的工作环境特征因此我们专注于评估这些方法在车间调度问题中运行过程的时间复杂度

一种优先权调度算法根据作业到达时间和以及每道工序加工时间p t ikm的大小来依次安排作业到当前总完工时间最少的机器上。由于该算法在每道工序使用快速排序方法进行排序的时间复杂度为O(N log N),并且选择加工机器的时间复杂度为O(N log NM k),因此整体的时间复杂度计算结果为O(KN log NM k)。

智能优化算法借鉴生物界进化机制与群体协作模式构建问题解决方案,在模拟过程中通过信息素分布与正向反馈机制实现路径寻优。具体而言,在蚁群算法(ACO)中以信息素浓度变化为依据模拟蚂蚁的行为特征,并通过计算得到最优路径的时间复杂度表达式为O(IKAN²Mk),其中I代表迭代次数而A则指用于求解问题的蚂蚁数量;遗传算法(GA)采用染色体编码方式处理问题模型,在初始种群基础上按照适者生存原则筛选出较适应环境的个体进行繁殖运算;蚁群-禁忌搜索算法(ACO-TS)在此基础上增添了动态记忆表功能,在保持原有Aco特性的同时进一步提高了寻优效率

4****实验结果与分析

4.1 实验设置

基于Taillard的FSP公共基准数据集[34]进行了实验测试

本文基于NISCO的实际生产数据应用了HFSP方法。具体结构包括四个生产环节:前三道环节各配备三台并行设备,最后一道环节仅配置一台设备。在评估过程中,默认每道工序的处理时间取自过去一年的历史记录。通过模拟不同规模和配置的工作负载组合——包括50至200个作业以及不同机器部署方案(如3、3、3、1;2、2、2、1;以及全为单机运行的情况),我们能够更加贴近真实工厂环境下的运行规律。值得注意的是,在NISCO提供的数据中只包含了四个生产环节的信息因此,在实验设计中我们采用了固定工作流程数量的方式进行对比分析。

本研究采用开源Python框架TensorFlow开发车间调度算法,在一组由NVIDIA Tesla P100-PCIE显卡构成的高性能计算集群上进行模型开发,并将算法部署至联想ThinkPad T412服务器运行。针对不同生产规模的问题,在模型训练过程中生成5万组典型场景作为数据集,并利用这些数据集进行连续4千次迭代优化以获得最优调度策略。实验中采用了双曲正切函数(tanh)作为激活函数并取得了令人满意的收敛效果。选择5万组采样点是出于确保各生产规模下的系统表现一致性考虑;如果条件允许的话,则可以根据实际需求灵活调整采样数量或采用动态采样方法;关键是要保证各生产规模下的采样数据能够反映相同的运行规律。

4.2 收敛性分析

系统性地研究了多种因素(包括不同隐藏层神经元数量、学习率、批量大小以及作业数量)对基于FSP的模型收敛性的影响。

本文研究了不同数量神经元(包括8、32、64、128和256个)对模型收敛性的影响。其中Reward指标基于数据归一化处理后的结果,在一定范围内观察到的是:当人工网络包含过多的人工神经元(如本研究中的情况)时其收敛速度随之减慢甚至出现延迟现象。值得注意的是当人工网络包含过多的人工神经元(如本研究中的情况)时其收敛速度随之减慢甚至出现延迟现象经过详细分析我们发现最适宜的选择是将人工网络中人工神经元的数量定位于128个。

图4

4不同神经元数量下模型的收敛性

其次,在深入探讨不同学习率对模型性能的影响时,本研究分别考察了四个典型的学习率设置: learning\_rate = \{ 1e-2, 1e-3, 1e-4, 1e-5 \} 。实验结果表明,当设置为 learning\_rate = 1e-5 时,由于其过小而导致模型在整个486 epochs运行期间仍然未能完成训练任务;相反地,将 learning\_rate 设置为1e-2 显然过高,使得模型无法有效收敛;只有中间值 learning\_rate = 1e-4能够实现最佳平衡点

图5

5不同学习率下模型的收敛性

进一步探讨了不同批量大小(包括1、8、32、64和128)对模型收敛性的影响,并通过图6进行了可视化展示。研究表明,在较小批量规模下(如批量大小较小时),模型的梯度振荡幅度显著增大(即梯度振荡幅度增加),这不利于模型的有效收敛;而当批量规模较大时(如批量大小较大情况下),虽然梯度振荡幅度显著减小(即梯度振荡幅度降低),但其达到相同奖励值所需的训练周期会增加(即达到相同奖励值的时间增加)。具体而言,在批量规模设置为32的情况下(即在这种情况下),虽然梯度振荡幅度显著降低(即梯度振荡幅度明显降低),但其训练过程中的收敛速度明显加快(即训练速度加快)。因此,在综合考虑各方面因素后,默认选择批量规模设置为32更为合适。

图6

6不同批尺寸下模型的收敛性

最后, 本文探讨了作业总数量与机器总数量分别为20×1₀, 5₀×₁₀, 1₀²×₁₀²及2₀²×₁₀(注:此处应为2 × 1e+2)时FSP算法的收敛特性. 根据图7的具体可见, 随着问题规模的扩大, FSP算法的表现逐渐趋缓, 其收敛速度呈现显著下降趋势.

图7

7不同规模下模型的收敛性

4.3 与其他算法的性能对比

为了考察所提出的基于深度强化学习(DRL)的调度算法性能特征,本研究将该方法与现有的几种经典调度策略进行对比分析,包括基于优先权的规则调度算法[21]以及更为智能的优化策略.其中,FIFO、LIFO、LPT、SPT等基础调度机制作为基准指标被纳入评估范围.值得注意的是,针对复杂流水车间调度问题(FSP),本研究对现有研究中提出的DRL-IG方法进行了系统性对比分析.在保证计算效率的前提下,通过设置合理的运行次数并实施结果求取方案,本文对每个测试案例运行10次,并取其平均结果(仅保留整数部分)作为最终评测数据.

FSP实例结果显示见 1 ,在FSP场景下对比分析表明:DRL_IG算法与本文提出基于DRL的智能车间调度算法相较于基于优先权规则的调度算法及智能优化算法均表现出显著优势。特别是在作业总量及机器总量分别为50×10、100×10及200×10等中大型规模场景下,在处理复杂度上较其他方法具有明显优势。相较于DRL_IG算法而言,本文提出的调度方法尽管性能提升幅度有限,在实际应用中由于其离线训练阶段耗时较长(先将模型进行了离线训练48小时,并在迭代过程中执行8, 该方法在网络训练及运行过程中所消耗的时间成本相对较高)。

HFSP实例结果见表2,在作业总量为50的小规模HFSP场景中,本研究提出的方法显著优于基于优先权的规则调度算法,其性能与智能优化算法相当。值得注意的是,尽管当作业数量、工序数量以及各道工序可加工机器数量都不算太大时,智能优化算法也能达到较好的优化效果,但相比之下,本方法在数值上并未显著超越它。就作业总量为100及200的中大规模场景而言,本方法同样展现了显著的优势,并在多个对比实验中取得了更为优异的表现。特别地,通过对相同作业但不同加工机器数量进行对比的结果表明:当可用加工机器数量增加时,生产效率得到了明显提升

研究表明,在各种生产环境下解决不同作业类型、工序安排以及加工机器数量配置的车间调度问题方面,
该方法能够有效应对各种车间调度挑战,
无需人工干预即可自主学习相关参数并提取关键特征,
这解决了传统智能优化算法在应用于新场景时需大量人工调整的问题,
同时也消除了因计算资源与迭代次数限制而导致需多次运行以寻求最佳解的局限性,
从而避免了因局部最优而产生的额外计算开销带来的效率损失。

5****结束语

本研究构建了一个以指针网络为基础的智能车间调度系统模型,并在此基础上开发了一种新型的智能车间调度优化算法。该算法通过深度强化学习(DRL)技术实现了车间作业过程中的最优路径规划与资源分配管理。通过理论分析与数值模拟相结合的方式,研究了该模型在不同参数设置下的收敛特性,并对其实现效果进行了全面评估。实验结果表明,在不同规模和复杂度的问题场景下,所提出的算法均表现出了较高的性能水平,并且能够在较短时间内获得较好的解决方案。此外,在实际应用中发现,在某些特定条件下还需要进一步优化系统的响应效率以满足更高要求;未来的工作重点将致力于探索如何将深度强化学习技术与工业物联网中的作业批处理问题相结合,以期解决更多实际场景中的智能车间调度难题

N×K FIFO LIFO LPT SPT ACO GA ABC-TS DRL_IG Ours
20×5 1 404 1 513 1 681 1 339 1 190 1 212 1 187 1 108 1 108
20×10 2 051 2 103 2 059 1 833 1 709 1 741 1 654 1 601 1 594
50×5 3 188 3 397 3 869 3 089 2 869 2 864 2 805 2 782 2 782
50×10 3 845 3 945 4 088 3 927 3 450 3 436 3 426 3 100 3 091
100×5 6 157 5 897 6 440 5 821 5 558 5 563 5 453 5 322 5 328
100×10 6 930 6 915 7 494 6 564 6 313 6 288 6 256 5 864 5 845
200×10 12 274 12 379 13 359 12 155 11 361 11 899 11 336 10 716 10 976
平均统计 5 121 5 164 5 570 4 961 4 636 4 715 4 588 4 356 4 35

2 HFSP实例结果

N M k × K FIFO LIFO LPT SPT ACO GA ABC-TS Ours
50 (1, 1, 1, 1) 2 163 2 164 2 170 2 162 2 162 2 162 2 162 2 162
50 (2, 2, 2, 1) 1 122 1 117 1 118 1 123 1 109 1 109 1 109 1 109
50 (3, 3, 3, 1) 774 765 773 787 761 761 761 761
100 (1, 1, 1, 1) 6 514 6 508 6 544 6 537 6 475 6 474 6 474 6 454
100 (2, 2, 2, 1) 3 321 3 337 3 343 3 375 3 308 3 302 3 303 3 266
100 (3, 3, 3, 1) 2 278 2 251 2 269 2 301 2 217 2 226 2 213 2 204
200 (1, 1, 1, 1) 12 867 12 887 12 916 12 909 12 849 12 849 12 849 12 587
200 (2, 2, 2, 1) 6 578 6 492 6 516 6 522 6 472 6 464 6 463 6 415
200 (3, 3, 3, 1) 4 474 4 361 4 390 4 435 4 338 4 339 4 332 4 332
平均统计 4 455 4 431 4 449 4 461 4 410 4 409 4 407 4 365

全部评论 (0)

还没有任何评论哟~