随着市场竞争环境日益激烈和以顾客为中心的定制化产品急剧增加,多品种小批量的生产模式逐渐成为了主流的生产模式之一.在这种情况下,产品往往由多个模块化的零部件组成,各个零部件先在柔性作业车间加工完成后,运输到装配车间装配成成品,满足个性化定制需求.即装配作业车间更加符合当前的生产环境.吕海利等[1]针对装配作业车间的准时制调度,设计了一种三阶段调整的启发式算法以生成调度方案,并采用遗传算法提高解的质量.Zhang等[2]以最大完工时间、总拖期和总加工时间为目标,采用分布式蚁群算法求解柔性装配作业车间调度.Ren等[3]研究考虑能耗的柔性装配作业车间调度,以提高生产效率和降低能耗为目标,提出了一种混合整数模型,并采用新型混合进化算法求解.由上可知,众多的学者重点研究静态环境下的装配作业车间调度问题[4-5],并已经取得丰富的成果.实际生产中订单到达时间不确定[6],零部件种类繁多,工艺流程复杂,加工时间也存在差异,难以用传统的方法控制各零部件的生产进度,装配过程易出现由于某个零部件没有加工完毕,致使产品无法完成装配[7],进而引起在制品积压、成品产出数量少、拖期严重等情形.因此,动态柔性装配作业车间调度问题(FAJSP)是具有装配工序的柔性作业车间调度问题的拓展,更加符合当前个性化需求的生产实际.当前针对动态环境下的装配作业车间调度策略主要有鲁棒调度、预-反应调度和完全反应调度[8].鲁棒调度充分考虑调度在执行过程中发生的动态事件,根据当前信息或未来部分可测信息预先生成一个调度方案,通过增加调度方案的冗余保证生产系统在动态环境下具有相对稳健性,但调度效率稍差.预-反应调度是根据已知或预测信息生成预调度方案,且在动态扰动因素出现后进行调度/重调度的过程.在调度事件频发的生产环境下,频繁的重调度不利于生产的稳定性[9].完全反应调度不生成完整的调度方案,根据当前的生产环境,安排生产任务,能够实时响应动态扰动事件.在多品种小批量的生产环境下,订单到达的频率较高,订单中包含的产品组合复杂多变,更适用于订单动态到达的柔性装配作业车间调度问题(DFAJSP).随着深度强化学习的不断发展[10-12],智能体通过与环境交互,在回报的引导下,学习到最优调度策略,具有较强的适应能力,在完全反应调度求解车间调度问题中取得了广泛的应用.肖鹏飞等[13]首次提出一种基于时序差分法的深度强化学习算法求解非置换流水车间调度问题.林时敬等[14]采用DQN算法构建动作价值网络模型求解天车调度问题.Liu等[15]提出Actor-Critic算法求解作业车间调度问题.贺俊杰等[16]提出了基于多智能体的近端策略优化算法求解纺织面料染色车间动态调度问题.现有基于深度强化学习的车间调度方法中大多数为独立的智能体,如何针对加工和装配两阶段的柔性装配作业车间调度使用多个智能体协作调度,并提升订单动态到达的响应能力是将深度强化学习算法应用于柔性装配作业车间调度问题的难点所在.本研究提出四个智能体分别对应加工机器分配智能体、加工工序排序智能体、装配站选择智能体和装配工序排序智能体,各智能体采用基于VDN的协作策略协同调度.每个智能体通过不断试错的方式学习到最优控制策略,能够根据车间环境选择最优的调度规则,从而实现动态环境下的柔性装配作业车间调度问题求解.综上所述,本研究主要贡献如下.a.以最小化总拖期为目标,通过引入事件点变量,为柔性装配作业车间调度问题构建了一种新型数学模型.b.设计加工机器分配、加工工序排序、装配站分配和装配工序排序四个具有自主感知车间环境的智能体.c.提出具有自学习、自组织和自适应环境的深度强化学习算法,通过与车间环境实时交互,学习最优调度策略,保证车间生产的高效和平稳.1 问题描述与模型建立1.1 问题描述动态柔性装配作业车间调度问题是指每个产品在生产过程中须经过加工和装配两个阶段,该问题可描述为:加工车间有m台加工机器M={M1,M2,⋯,Mm},装配车间有a个装配站A={A1,A2,⋯,Aa},p个产品P={P1,P2,⋯,Pp}陆续到达加工车间,产品Pi有qi个零部件Q={Qi,1, Qi,2, ⋯, Qi,qi}在加工车间加工,每个零部件有vi,j道加工工序O={Oi,j,1, Oi,j,2, ⋯, Oi,j,vi,j},每道加工工序至少有一台可选加工机器集Si,j,o⊆M,其中:i为产品号;j为零件号;o为零部件的工序号.每个产品有且仅有一道装配工序Bi,仅当产品的所有零部件在加工车间加工完毕后,才能在装配车间组装,装配工序可在任意可选装配站Ci⊆A上组装.该问题是在满足加工工艺、装配关联等约束条件下,寻找一组最优的加工机器分配,加工工序排序,装配站分配和装配工序排序的决策序列,使总拖期最小.1.2 数学模型本研究通过事先为机器或装配站分配预设长度的事件点构建数学模型[17].每一个事件点表示一个加工工序或装配工序在相应的机器或装配站上.每个加工任务和装配任务在满足工艺约束的前提下分配到相应的机器或者装配站的一个事件点上,每个事件点上至多安排一项加工任务或装配任务.当所有任务都安排到事件点上后,机器或装配站的加工或装配任务顺序即可按照事件点的先后进行.数学模型如下所示.G=∑i=1pmax(0,Di-Wi),(1)s.t.∑k∈Si,j,o∑t=1TXi,j,o,k,t=1 (∀i,j,o);(2)∑i=1p∑j=1qi∑o=1vi,jXi,j,o,k,t≤1 (∀k∈Si,j,o, t);(3)∑k∈Si,j,o∑t=1T-1Xi,j,o,k,t≥∑kϵSi,j,o∑t=1T-1Xi,j,o,k,t+1 (∀i,j,o);(4)Fk,t=Ek,t+∑i=1p∑j=1qi∑o=1vi,jXi,j,o,k,tpi,j,o,k (∀k∈Si,j,o, t) ;(5)Ek,t+∑i=1p∑j=1qi∑o=1vi,jXi,j,o,k,tpi,j,o,k≤Ek,t+1(∀k∈Si,j,o, t≤T-1); (6)Fk,t≤Ek',t'+Y(2-Xi,j,o,k,t-Xi,j,o+1,k',t')(∀i, j, o≤vi,j-1; k∈Si,j,o; k'∈Si,j,o, t, t'); (7)Ek,t+Y(1-Xi,j,o,k,t)≥Si    (∀k∈Si,j,o, t, i, j, o) ;(8)∑k∈Si,j,o∑t=1TZi,e,t=1    (∀i); (9)∑i=1pZi,e,t≤1    (∀e∈Si,j,o, t);(10)∑e∈Ci∑t=1T-1Zi,e,t≥∑eϵCi∑t=1T-1Zi,e,t+1    (∀i);(11)Le,t=Ue,t+∑i=1pZi,e,tai,e    (∀e∈Ci, t);(12)Le,t≤Ue,(t+1)    (∀e∈Ci,t≤T-1);(13)Ee,t+Y(1-Zi,e,t)≥Fk,tXi,j,vi,j,k,t(∀e∈Ci, t; i, j, k∈Si,j,o); (14)Wi=Ue,t+∑i=1pZi,e,tai,e    (∀e∈Ci, t),(15)式中:G为产品的总拖期;Di为产品i的交期;Wi为产品i的完工时间;Xi,j,o,k,t为0~1决策变量,当工序Oi,j,o在机器Mk第t个事件点加工时为1,否则为0;t,t'为事件点号;T为事件点的总数,在本研究等于总的工序数;k,k'为加工机器号;Fk,t为机器k的第t个事件点的结束时间;Ek,t为机器k的第t个事件点的开始时间;e,e'为事件点号;pi,j,o,k为工序Oi,j,o在加工机器Mk上的加工时间;Y为一个足够大的数;Zi,e,t为0~1决策变量,当装配工序Oi在装配站Ae第t个事件点加工时为1,否则为0;Le,t为装配站e的第t个事件点的结束时间;ai,e为产品Pi在装配站Ae的装配时间;Si为产品i的到达时间;Ue,t为装配站e的第t个事件点的开始时间.式(1)表示本研究的目标总拖期最小.式(2)表示每道加工工序必须被分到加工机器的一个事件点上.式(3)表示加工机器的每个事件点至多分配一个加工工序.式(4)表示同一个机器上前面的事件点比后面的事件点具有更高的优先权.式(5)表示事件点的结束时间约束.式(6)表示同一台机器优先关系约束.式(7)表示同一零部件优先关系约束.式(8)表示零部件的开始加工时间均大于其到达时间.式(9)表示每道装配工序必须分到装配站的某个事件点上.式(10)表示装配站的每个事件点至多分配一个装配工序.式(11)表示同一个装配站优先关系约束.式(12)表示事件点的结束时间约束.式(13)表示同一台装配站优先关系约束.式(14)表示产品的装配开始时间大于其零部件的结束时间.式(15)表示产品的完工时间等于产品装配工序的结束时间.2 多智能体深度强化学习算法基于四个智能体的深度强化学习方法(deep reinforcement learning based on multi-agent,MA-DRL)实时控制车间生产过程的框架如图1所示.当工厂接到订单后,车间根据订单转化为生产任务,即将产品分解为加工车间可执行的零部件.各零部件所需原材料进入待加工零部件缓存区,零部件在加工车间完工后进入待装配零部件缓冲区.随着时间推移,当任务到达或零部件完工等动态事件发生时,四个智能体实时获取车间状态数据,同步通信协作,确定当前时刻的加工工序排序规则、加工机器分配规则、装配工序排序规则和装配站分配规则.机器和装配站选择缓冲区具有高优先权的零部件或产品进行生产,从而保证车间实时不间断生产.10.13245/j.hust.230217.F001图1实时控制车间生产过程2.1 动态调度机制本研究所提的完全反应调度策略的流程如图2所示.当新产品到达或任务完工时,更新当前时刻,四个智能体从车间制造执行系统-云中心数据获取车间状态,提取全局状态特征,并进行协作调度,确定当前时刻的调度规则.车间按照任务指令生产,重复上述步骤直至所有生产任务全部完工.10.13245/j.hust.230217.F002图2DFAJSP的动态调度流程2.2 基于VDN的多智能协作策略当多智能体协作求解实际问题时,易发生单个智能体自治、懒惰和竞争等现象.本研究提出了基于VDN[18]的多智能协作策略.环境特征通过各智能体的策略网络正向传播,经过第一个Liner层后合并为新特征,新特征输入到相应策略网络中继续正向传播,各智能体做出相应的调度动作,即选择出适合当前环境的调度规则.新特征不仅包含环境特征,还包含四个智能体的策略信息,从而保证各个智能体在相互了解与熟知的前提下做出最优决策.2.3 全局特征设计智能体通过状态特征感知环境,从而做出相应的决策,状态特征是智能体制定决策的最重要依据.DFAJSP的生产系统由零部件、加工机器、产品和装配站四要素组成,本研究提取了包含四要素的全局特征V=[V1,V2,V3,V4]来表示当前环境特征,其中:V1为零部件特征;V2为加工机器特征;V3为产品特征;V4为装配站特征.V1指标有拖期、完工时间、剩余加工时间、预期完工时间和平均流程时间等;V2指标有机器利用率和机器完工时间等;V3指标有产品预期完工时间和产品的拖期等;V4指标有装配站的完工时间等.在实际生产中,例如拖期、完工时间等正规指标会不断变大,将这些指标直接当作当前特征输入到智能体的策略网络中,会使策略网络的输入过大,出现梯度爆炸等问题.本研究采用这些指标的数字特征来表示当前的状态.2.4 多智能体动作选取没有任何一个调度规则适应所有的环境,本研究根据生产状态,动态的选择调度规则,四个智能体调度规则设计如下.加工机器分配是指将待加工零部件分配到相应机器上加工.加工机器分配智能体的调度动作为加工时间最短(MSPT)、等待时间最短(MSWT)、结束时间最早(MSET)、负载最低(MLL)和机器利用率最低(MLR).加工工序排序是指从待加工集中选择最优零部件.加工工序排序智能的调度动作为加工时间最短(OSPT)、加工时间最长(OLPT)、剩余加工工序最多(OLRO)、剩余加工时间最多(OLRPT)和拖期最小(OEDD).装配站分配是指将待装配的零部件分配合适的装配站.装配站分配智能体的调度动作为加工时间最短(ASPT)、等待时间最短(ASWT)和结束时间最早(ASET).装配工序排序是指从待装配产品中选择最佳零部件.装配工序排序智能体的调度动作为加工时间最短(PSPT)、拖期最短(PEDD)和结束加工时间最短(PSED).2.5 复合回报函数定义当智能体做出动作后,环境会给出相应的回报,智能体根据回报调整自己的策略,从而获得更高的回报,以此学习到最优的策略.回报函数必须与目标值高度相关才能确保智能体学习到最优的策略.本研究的目标是总拖期最小,可以用t-1时刻的拖期Gt-1减去t时刻的拖期Gt作为第t时刻的即时回报.经过分析发现:部分动作并不会直接引起总拖期的发生变化,但会导致后面的动作引起总拖期发生变化.因此,基于势能函数设计回报函数,在获得总拖期的前提下,通过总拖期给每个动作附加额外的最终回报,即每个动作的回报不仅包含即时回报,还包含最终回报.复合回报函数为Rt=Gt-1-Gt-G/N, (16)式中:Gt为t时刻总拖期;N为总工序数.2.6 MA-DRL离线训练过程首先,初始化四个智能体的在线策略网络和目标策略网络,经验库和精英经验库,并设置训练次数为n.然后,在当前的训练下,初始化车间的状态s1和当前经验池d,从s1中提取全局特征V⃑(1).以ε概率随机选择当前时刻的调度动作a11,a21,a31和a41;四个智能体以1-ε的概率根据V⃑(1),通过在线策略网络选择当前时刻最优调度动作a11,a21,a31和a41,车间执行,反馈即时回报R1,并转移到下个时刻s2;从状态s2中提取全局特征V⃑(2),将智能体与车间交互产生的经验样本〈V⃑(1),a11,a21,a31,a41,R1,V⃑(2)〉保存到当前经验池d中;重复当前步骤,直到所有的生产任务结束.最后,根据生产任务的总拖期G修正当前经验池d中的R;将当前经验池d中经验存到经验库和精英经验库.从经验库和精英经验库中随机取得经验样本D˜,根据经验样本D˜更新四个智能体的策略网络.重复上述步骤,直到训练结束.3 实验结果3.1 实验设计为了验证MA-DRL的有效性,设计36个场景,每个场景105个案例,其中100个案例作为训练集,5个作为测试集.在每个场景下,装配时间、产品的零部件数量、零部件的工序数量、加工时间均服从均匀分布.其中产品数量∈{10,50};装配站数量∈{2,5};加工机器数量∈{5,10,20};产品的到达时间间隔∈B{0.125,0.5,1},B为泊松分布;装配时间∈U[1,20],U为均匀分布;产品的零部件数量∈U[1,10];零部件的工序数量∈U[1,8];加工时间∈U[1,5].产品交货期采用总工作量法[19]计算,即Di=Ai+λpi,(17)式中:λ为产品的松紧度,本研究取1;pi为产品的总加工时间.采用相对百分比偏差(H)[17]表征总拖期的差异性,计算公式为Hi,j=15∑o=15Fi,j,o-min Fj,omax Fj,o-min Fj,o×100, (18)式中:Hi,j为算法j在场景i下的H值;Fi,j,o为算法j在场景i案例o下的总拖期;max Fj,o和min Fj,o为所有对比算法在场景i案例o下的最大和最小总拖期.实验环境配置为Intel Core i5-9400 CPU@2.90 GHz,8 GiB RA,64-bit Windows10,所有算法均采用编程语言Python3.7,编程平台PyCharm2020,深度学习框架搭建模型Pytorch.通过一系列的参数校验实验,MA-DRL的学习速率设置为0.001,精英经验池容量为1×104,经验池容量为1×104,采样批量为512,回报折扣系数为0.9,目标网络升级场次为10,训练场次为1 000.3.2 算法性能对比选取4条经典调度规则和5条基于遗传规划和基因表达编程的调度规则进行对比.由2.4节可知,4条复合调度规则为MSPT+OEDD+ASPT+PEDD(简写为CDR1),MSWT+OEDD+ASPT+PEDD(简写为CDR2),MSPT+OEDD+ASWT+PEDD(简写为CDR3)和MSWT+OEDD+ASWT+PEDD(简写为CDR4).当前,5条基于遗传规划和基因表达编程的调度规则GP1[20],GP2[20],GEP1[17],GEP2[17],GEP3[17]作为加工工序排序规则,加工机器分配采用MSPT,装配站分配采用ASPT,装配工序排序选择PEDD.随机列出12个场景H值对比结果,如表1所示.10.13245/j.hust.230217.T001表1现有的经典/构造调度规则与本文方法的H值对比结果场景CDR1CDR2CDR3CDR4GP1GP2GEP1GEP2GEP3MA-DRL145.8646.7686.7882.7473.5865.4556.4352.7663.590.00266.1450.8391.3281.4355.1561.9166.0169.3862.034.58398.2890.5721.9123.0443.8551.8241.4226.4650.170.00499.6297.3115.4612.7747.7551.3643.2943.7062.110.00576.5262.76100.0081.7462.1857.6759.1866.6855.250.00655.7741.02100.0087.4655.3654.7450.5846.5561.490.00755.6340.9483.8540.0040.4930.1140.0144.4159.0016.77864.4262.1296.4094.7879.5786.4179.4687.1584.960.009100.0094.3878.9473.7746.7046.1645.8248.1546.860.001099.6899.2180.9978.7263.1461.8460.9163.8562.280.001199.8896.2275.0866.9136.8837.0038.2436.9236.934.511299.8499.3220.9019.3546.5544.2844.4644.6744.5920.55MA-DRL算法具有优良性能,其中14个场景的H值为零,取得绝对最优解.未获得最优解的场景中,MA-DRL的H值也较小,说明MA-DRL也取得了较好的解.MA-DRL在所有场景下的H值都小于50,在21个场景下的H值小于10.相比于现有调度规则,MA-DRL能够实时感知车间状态,自主选择最佳调度规则满足生产高效性.为了从统计分析的角度描述算法间的差异性,采用方差分析(ANOVA)分析实验结果.从ANOVA分析的结果可知,P值为0.0,明显小于显著性水平0.05,说明几种方法之间存在显著性的统计差异.采用H值在95%置信区间下的区间图说明算法之间的差异性.图3为区间图,由图可知:CDR1的均值最大,性能最差,CDR3的方差最大,鲁棒性最差.CDR1,CDR2,CDR3和CDR4的均值依次下降.五种元启发式调度规则的均值和方差大体相同,即五种元启发式调度规则在36个场景下的性能相似.五种元启发式算法的均值和方差都要小于四条复合调度规则,说明元启发式调度规则的性能要优于复合调度规则.MA-DRL算法的均值和方差显著小于其他算法,说明MA-DRL算法性能优于经典调度规则和元启发式方法.10.13245/j.hust.230217.F003图3区间图MA-DRL算法拥有如此优良的性能,主要在于智能体通过与车间环境交互中不断地学习来调整自己的策略,积累了大量的经验和知识,能够根据不同的环境选择合适的调度规则.3.3 敏感性分析产品数量和到达时间间隔可有效表征车间负荷水平.装配站数量和加工机器数量可有效表征车间的生产能力.本研究采用主效应图分析总拖期对上述四个参数的敏感程度.研究表明:随着产品数量增加和产品到达时间间隔的缩小,总拖期不断增加,说明随着产品数量增加和产品的到达时间间隔缩小,车间的生产任务安排越来越紧凑,因此产品的拖期不断增加,即总拖期对产品数量和产品到达时间间隔的敏感性较大,且总拖期对产品数量最为敏感.而装配站数量和机器数量的变化,没有引起总拖期明显的变化,说明总拖期对装配站数量和机器数量敏感性不强.4 结论针对产品动态到达的柔性装配作业车间调度问题,以最小化总拖期为目标,构建了基于事件点的数学模型.依据动态柔性装配作业车间调度的四个决策序列,设计了四个智能体对应决策序列,并提出了一种基于多智能体的深度强化学习算法进行求解,本研究的主要结论如下.a.面向多品种小批量的生产环境,考虑具有装配工序的柔性作业车间调度问题,构建基于事件点的数学规模模型,更加符合实际生产.b.设计了加工机器分配、加工工序排序、装配站分配和装配工序排序四个智能体,多智能体与车间环境实时通信协作,积累学习样本,快速选择调度规则,保证了生产高效且平稳运行.c.所提出的深度强化学习算法具有优良性能,通过自学习、自组织和自适应,能够实现不同场景下的柔性装配作业调度决策,丰富了调度领域的理论和实际应用.d.产品数量和产品时间间隔对总拖期具有显著性影响,装配站数量和机器数量影响相对较小.

使用Chrome浏览器效果最佳,继续浏览,你可能不会看到最佳的展示效果,

确定继续浏览么?

复制成功,请在其他浏览器进行阅读