针对带运输的柔性作业车间调度问题的一种多起点搜索法偏向随机密钥遗传算法

本文研究了带运输的柔性作业车间调度问题( FJSPT ),它可以看作是柔性作业车间调度问题( FJSP )和带运输的作业车间调度问题( JSPT )的扩展。对于前一种情况,FJSPT额外考虑了工件需要被运送到其上加工的机器上,而在后一种情况下,每个操作的具体加工机器也需要被决定。由于FJSPT扩展了NP - hard问题,因此是NP - hard问题。通过基于操作的多起点搜索法有偏随机密钥遗传算法( BRKGA )结合贪婪启发式来选择处理每个操作的机器和将作业运输到操作的车辆,从而高效地找到高质量的解。所提出的方法优于先进的解决方案,因为它在短时间内找到非常好的质量解决方案。这样的解对于大多数问题实例都是最优的。

本文研究柔性作业车间制造系统中生产和运输的联合调度问题。制造柔性已成为企业在当今市场竞争中取得竞争优势的关键因素。然而,较高的柔性导致运营管理的复杂程度更高。调度是随着时间的推移将稀缺资源分配给任务的过程。合理的调度是制造系统成功的因素之一,因为它可能对系统性能产生相当大的影响。

最近,Homayouni和Fontes ( 2019b )在没有明确考虑车辆的情况下,为FJSPT开发了一个MILP模型,该模型允许大量减少决策变量和约束的数量。模型使用了三组变量:( a )机器-操作分配;( b )生产作业排序;( c )运输任务排序,通过完成时间约束进行连接。除了Deroussi和Norre ( 2010 )中的一个问题外,所有的问题实例都被快速地求解到最优性。

本文提出了一种求解FJSPT问题的多起点搜索法有偏随机密钥遗传算法( BRKGA ),改进了现有元启发式算法的求解结果。此外,所提出的方法可以适应于寻找FJSPT的子问题,即JSP、JSPT和FJSP的高质量解决方案。当BRKGA应用于JSP时,它已经被证明可以改进最著名的解决方案( BKSs );参见Gon ç alves和雷森迪( 2011 )。本文的一个初步和较短的版本已在MIC ( Homayouni和Fontes , 2019a)上提出。

本文余下部分的结构安排如下。问题在第2节中被正式定义。第三节介绍了多起点搜索法BRKGA的提出,第四节报告了计算实验。最后,在第5节中得出了一些结论。

问题定义

柔性作业车间是一个制造环境,配备一组I型多用途机器,其中一组J型独立工件被生产。每个工件i∈J由制造工序的有序集合Ji = { 1,2,..,ni }组成。由于同一工件的不同操作可能在不同的机器上加工,因此工件需要在机器之间运输。此外,工件最初在加载/卸载( LU )区域可用,从那里需要将它们运送到其第一次操作的机器,并且在完成后必须返回到那里。在非抢占性行程中,在制造区域内和往返于LU区域的车辆上移动作业。车辆在调度周期开始时停放在LU区域。这种制造环境的一个例子如图1所示。每个操作Oij,i∈J,j∈Ji,可以在机器子集的任意一台机器上无抢占地处理,即m∈Iij

柔性作业车间的一种可能配置

每个操作Oij,其中i∈J,j∈Ji,可以在机器子集的任意机器上加工,不需要抢占,即m∈Iij∈I,加工时间pmij已知.

在FJSPT中,需要同时解决4个相互依赖的组合优化问题,即:确定哪些机器加工每个制造作业(作业路径),对每个机器上的作业进行排序(机器调度),确定哪些车辆执行每个运输任务(车辆分配),对每个车辆上的运输任务进行排序(车辆调度)。

机器和车辆可以一次分别执行一个操作和一个任务。每个作业一次可以由一个资源(机器或车辆)处理(加工或移动)。与JSP一样,机器假定有足够的缓冲空间,作业可以等待机器或车辆。在机器和它们的缓冲区之间移动作业不需要转移时间或资源。

车辆可能需要做一个空行程,从他们当前的位置(驻留点)到他们下一个分配的作业必须在哪里被拾取的位置,然后从那里载入旅行到机器处理作业的下一个操作。

车间布局是已知的,因此机器之间以及LU区域与机器之间的距离是已知的。所有的车辆都可以一次搬运一个作业,不管是装载还是空运都可以以相同的速度移动。由于不考虑拥堵问题,运输时间与距离相关且恒定。

现在让我们更详细地描述这个问题。车辆v∈V在完成上一次分配的时间tv和位置lv,可用于执行下一次任务。然后,车辆v从lv行驶到其下一个分配作业的位置。车辆当前位置lv要么是LU区域,要么是特定的机器。如果它的任何操作都没有被处理,被拣选的作业可能在LU区域,或者在特定的机器上,它的最后一个操作被处理。

令车辆v的下一个任务是运输工件i,在机器mi1上加工它的第一个作业。由于工件i已经在LU区域,准备运输,因此车辆v可以到达LU区域,即tv + T(lv到LU)时刻。(注意,如果车辆v的当前位置是LU区域lv = LU ,那么作业i可以立即被拾取,即在tv时刻。) 车辆 v然后将工件i送到机器mi1,其中工件被送到(要么到机器,要么到缓冲区)。因此,车辆v在时间tv + T (lv到LU)+ T(LU到mi1),LU和位置lmi1处可以继续进行下一次分配。因此,根据式( 1 )更新车辆v的可用时间和可用位置,其中T l2 l1表示位置l1和l2 (显然,若l1 = l2 ,则Tl2l1 = 0)之间的行驶时间:

多起点搜索法偏向随机密钥遗传算法

GAs是一种强大的随机全局搜索技术,由于其灵活性和良好的性能被提出来解决许多领域的优化问题。

遗传算法通过重组和变异来进化给定问题的一组解,从而模仿自然进化的原则。随机关键遗传算法( Random Key Genetic Algorithms,RKGAs )最初由Bean ( 1994 )专门针对涉及测序的问题提出。RKGAs将问题的解表示为随机密钥向量( RKs ),即区间[ 0 , 1]中的实数,需要将其解码为原问题的解。Bean ( 1994 )提出的解码器对RKs的向量进行排序,并利用排序向量的指标来寻找可行解。得到解后,计算相应的质量,即适应度值。为了获得新的种群,采用精英策略:( a )复制最优(精英)解;( b )随机产生少量解;( c )其余种群通过重组获得。

BRKGAs ( Roque et al . , 2014 ; Gonçalves等, 2016 ; Brandão等, 2017)与RKGAs的不同之处在于在重组过程中引入了偏差,因为父代中的一个总是从精英解集中选出。另一个父代可以从剩余的解中选择,也可以从整个种群中选择。此外,重组采用了参数化的均匀交叉,使得较好亲本的等位基因被传递的概率更高。由于优化问题的解空间是间接搜索的,因此该框架可以用来解决广泛的问题(科雷切尔和Alvarez - Valdes , 2017),并且只需要定义染色体表示和解码器。

算法1展示了所提出的BRKGA的主要步骤,它是BRKGA的多起点搜索法变体,因为多个种群按照( Gon alves和雷森迪, 2018)的顺序进化。

算法1 提出了多起点搜索法偏向随机密钥遗传算法

  1. BRKGA控制参数的初始化

  1. 而不满足停止条件则为

  1. 使用新的种子为随机数发生器生成随机种群,

  1. 而重启动判据则不满足

  1. 解码当前种群的解,

  1. 使用贪婪启发式算法为每个解分配机器和车辆。

  1. 评估解决方案(计算完工时间),

  1. 更新最优解,

  1. 根据makespan值将种群划分为精英和非精英。

  1. 将精英群体复制到下一个种群中,

  1. 生成突变体,

  1. 在新种群中加入突变体,

  1. 通过"参数化均匀交叉"产生子代,

  1. 将子代加入新种群,

  1. end while

  1. end while

  1. 终止算法并打印最佳解和最大完工时间。

每个种群进化(第5 ~ 13行),直到满足重启条件(第4行)。一旦发生这种情况,就会产生一个新的随机种群(第3行),并重复进化的过程。当达到停止条件时,算法停止(第2行)。

在随机生成Pmax染色体后,每个染色体被解码为一个可行的操作序列,然后通过一个贪婪的启发式分配车辆和机器。计算每个解的适应度(即, makespan)后,将种群划分为两组个体:由适应度值最好的Ne个染色体组成的精英群体和种群的其余部分( Pmax - Ne染色体)。将三组解连接起来得到一个新种群,即:精英群体,将其复制到新种群中;变异体组,以与初始种群相同的方式随机产生;以及通过交叉算子得到的子代群体。

解的编码与解码

FJSPT问题的解被编码为N = = ni个元素的向量,其中元素1到n1表示作业1的操作,元素n1 + 1到n1 + n2表示作业2的操作,依此类推。每个向量元素是一个RK,初始随机生成。

解码过程采用Bean ( 1994 )提出的最小位置值( SPV )规则来构造RK的置换表示。RK最小的位置决定了要测序的第1次操作,其次是RK次小的位置,以此类推。

我们用Kumar等( 2011 )设计的第一个工件集来说明解的表示和解码,其中有5个工件和13个制造操作,每个制造操作在3台备选机器中的一台上加工。进一步,考虑布局1,有4台机器和1个LU区。将该问题实例命名为EXF11(实例数据见附录B)。EXF11的一条染色体如图2a所示,其中N = 13RKs的向量表示操作序列。利用SPV规则得到的相应置换如图2b所示。根据Gon ç alves和雷森迪( 2011 )的工作,首先将操作序列转换为相应的工件序列,从而将该置换转换为可行的操作序列;因此每个作业出现的次数与操作的次数一样多,如图2c所示。然后通过操作Oij替换作业i的第j个外观(从左到右),将作业编号转换为有序操作编号,如图2d所示。注意,一个操作序列强加了一个工件移动序列,为了使操作Oij在机器mij处执行,工件i需要从机器mi ( j-1 )加工操作Oi ( j-1 ) ( 或者LU区域如果Oij是工件的第一个操作)移动到机器mij。

问题实例EXF11的解表示和解码过程。

指派启发式算法

一个解决方案还需要机器操作和车辆移动分配,由一个贪婪的启发式算法确定;具体参见算法2。

该算法首先得到调度序列Oij中每个车辆v∈V已经完成上一次分配的下一个操作,时间tv和位置lv,以及能够处理操作Oij的每台机器m∈Iij的完成时间cm。然后,该算法选择当前位置( mi ( j-1 )或j = 1的LU区域)的车辆装载工件i。最后选择加工操作Oij的机器。在进行下一个操作之前,更新所选车辆和机器可用于另一个任务的时间和位置。如此反复,直到所有操作都处理完为止。

由于BRKGA (算法1的第6行)中嵌入了指派启发式,因此通过移除部分或全部指派启发式,BRKGA可用于求解其他相关调度问题。例如,对于JSP,通过删除赋值启发式(算法1的第6行),对于JSPT,通过从算法2中删除所有与机器相关的指令,以及对于FJSP,通过从算法2中删除所有与车辆相关的指令,获得了高质量的解。这一点在4.5节和4.6节进一步探讨和说明。

资源分配的贪婪启发式算法

针对工件首次操作的机器操作和车辆移动分配的启发式规则

针对工件首次工序操作的机器操作和车辆移动分配的启发式规则

选择最早到达LU区域的车辆

选择最早可用的车辆

机器选择规则

选择最早完成Oij加工的机床

选择最早可用的机器

为了选择一个车辆来分配移动,以及选择一台机器来处理操作,我们提出了几个规则。特别地,如果被处理的操作是作业的第一个操作,我们为每个作业提出两个不同的规则( VF1和VF2与MF1和MF2)和五个不同的规则( V1 - V5和M1 - M5),如表1和表2所示。通过选择较低的索引,车辆和机器的连接都被打破。在4.2节中,我们通过考虑所有100种可能的组合来分析这些规则的性能。

针对工件的其他操作的机器操作和车辆移动分配的启发式规则

针对工件的其他操作的机器操作和车辆移动分配的启发式规则

选择最晚在ci ( j-1 )之前到达机器mi ( j-1 )的车辆,如果存在υ∈V:tv + Tmi ( j-1 ) lv≤ci ( j-1 ) υ * = arg max υ∈V { tv + Tmi ( j-1 ) lv:tv + Tmi ( j-1 ) lv≤ci ( j-1 ) };否则,选择最早到达mi ( j-1 )的车辆:

要注意的是,如果选择加工操作Oij的机器与分配给加工操作Oi ( j-1 )的机器相似,则不需要移动作业;因此,不需要进行车辆移动分配,所选车辆的可用时间和位置不更新(算法2中的步骤14)。

子代交替

为了进化种群,使用精英策略产生新一代,即( a )复制当前种群的所有精英解,从而产生单调改进的元启发式;( b )引入突变体(与生成初始解的方式相同,随机生成),使其能够逃脱局部捕获;( c )通过交叉产生子代。为了实现参数化均匀交叉,随机选择两个父代,一个来自精英解,另一个来自剩余解。偏向是通过给予精英解更高的匹配机会而引入的。此外,个体从精英父代继承其特征的概率也被设置为比非精英父代大的值。

考虑实例EXF11的交叉机制如图3所示;子部分( a )和( b )展示了2个分别含有13个基因的RK载体。不失一般性,假设子部分( a )是一个精英个体,子部分( b )是非精英个体。进一步地,令pe = 0.7为子代继承父代精英等位基因的概率。对每个等位基因产生一个[ 0 , 1]区间内的随机数,得到的映射向量如图3c所示。当某个元素的值小于或等于pe时,子代继承精英父代的等位基因;否则子代继承非精英亲本的等位基因。在本例中,子代仅在其第2、第5和第8个基因上继承了非优异亲本的等位基因;最接近精英家长;见图3d。

图3 . EXF11的参数化均匀交叉。

图4 . EXF11的最优解。

使用具有资源选择规则VF1、MF1、V4和M4的算法1和算法2为该实例找到最优解;见图4。相应的甘特图如图5所示,其中操作表示为OXY,X为作业编号,Y为操作编号。括号内为相应的处理时间。运输任务以"起讫点"对括号中对应的旅行时间显示。车辆的空行程被涂成灰色。

图4最优解的甘特图

结论

这项工作涉及FJSPT,不仅在科学上具有挑战性,而且在实践上也具有相关性,因为找到高质量的解决方案可以带来巨大的成本降低。本文提出了一个多起点搜索法BRKGA来解决FJSPT问题,它结合了4个不同但相互关联的组合问题,即:作业路由(机器-作业分配)、机器调度(每台机器上的操作顺序)、车辆分配(车辆-任务分配)和运输调度(每个车辆上的任务排序)。计算结果表明,多起点搜索法BRKGA能够快速地找到FJSPT的非常好的解。此外,由于其模块化的结构,它可以很容易地适应解决其他类似类型的调度问题,通过抑制一些模块。事实上,对于JSP,JSPT和FJSP,我们报告了非常好的结果。

对于FJSPT,BRKGA能够在9个算例中的5个算例中找到与最优时间跨度相匹配的解,而集合1中的问题实例的最优解是已知的。它优于现有的FJSPT元启发式求解方法,因为对于Set 1中的10个问题实例中的8个,它找到了比最先进的元启发式更好的解决方案。对于集合2中的57个问题实例,BRKGA在46个实例中能够找到优于或等于当前BKS的解,约占80 %。

此外,BRKGA发现这些解决方案非常快,因为它的运行时间总是在6秒以内。最后,BRKGA产生稳健解,这是一个非常重要的实践特征,因为最大完工时间百分比标准差在2.1 % (平均而言,第1组1.02 % ,第2组0.83 % ,第2组0.40 %)以下。不仅如此,将交通纳入"一带一路"战略的重要性和相关性已经得到了实证证明

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

朱佩棋(代码版)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值