CN116011726A - 一种解决带交付的分布式无等待车间调度优化方法与系统 - Google Patents
一种解决带交付的分布式无等待车间调度优化方法与系统 Download PDFInfo
- Publication number
- CN116011726A CN116011726A CN202211462171.7A CN202211462171A CN116011726A CN 116011726 A CN116011726 A CN 116011726A CN 202211462171 A CN202211462171 A CN 202211462171A CN 116011726 A CN116011726 A CN 116011726A
- Authority
- CN
- China
- Prior art keywords
- workpiece
- workpieces
- factory
- sequence
- distributed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- General Factory Administration (AREA)
Abstract
本发明公开了一种解决带交付的分布式无等待车间调度优化方法与系统,该方法包括:提出了混合鲸鱼群优化算法解决具有交付的分布式无等待车间调度问题,问题的目标是最小化最大完工时间和最小化总能量消耗。因此,我们提出了一种混合整数线性规划模型用来描述多目标的带交付的分布式无等待车间调度问题。首先,我们使用四个数组来表示一个解。其次,为了生成高质量和多样性的初始解,我们提出了先根据最大处理时间对工件排序,在使用NEH的启发式算法把工件分配给工厂。最后,混合鲸鱼群优化算法是在原始鲸鱼群优化算法中加入插入颠倒块操作、路径链接策略和可变领域下降算法。
Description
技术领域
本发明属于生产调度领域,具体涉及一种解决带交付的分布式无等待车间调度优化方法。
背景技术
本部分的陈述仅仅是提供了与本公开相关的背景技术信息,不必然构成在先技术。
在流水车间调度问题(flow shop-scheduling problem,FSP)中,作业需要经过m道工序,所有工件在m台机器上具有相同的加工顺序。传统的FSP假设所有作业只在一个工厂加工,但是由于全球市场竞争激烈,传统的集中式工厂无法满足客户的不同需要,所以出现了分布式工厂。在分布式流水车间调度问题(distributed flow shop-schedulingproblem,DFSP)中,有多个工厂相互协作,高效有序地进行加工过程。Naderi和Ruiz首先提出了分布式置换流水车间调度,为了解决这个问题,他们采用了两种工厂分配规划和可变邻域下降策略。Li等人设计了一种混合ABC算法来处理并行批处理的分布式流水车间调度问题,算法中包含了五种类型的局部搜索和两种类型的特定问题的启发式操作。Hatami等人将装配约束添加到分布式流水车间调度问题中。Ribas等人研究了带阻塞约束的DFSP,并将迭代局部搜索和可变邻域搜索结合起来解决该问题。Gao等人提出了一种禁忌搜索算法来解决分布式置换流水车间调度问题,该算法通过交换子序列生成邻域。Zhao等人针对带装配的分布式无空闲流水车间调度问题,以最小化完工时间为目标,提出了一种协同水波优化算法。许多关于DFSP的研究已经证明,分布式工厂比单个工厂有更高的生产质量、更低的生产成本和更低的管理风险。
在实际的制造调度问题中通常包含多个优化目标,甚至有的目标之间互相冲突,解决多目标的优化问题引起人们的兴趣,得到广泛的研究。本文讨论了一个多目标的带交付的分布式无等待车间调度问题(distributed no-wait flow shop-scheduling problemwith batch delivery,DNWFSP-BD),优化目标分别是最小化最大完工时间和总能量消耗(total energy consumption,TEC),最大完工时间包括生产阶段的工件加工时间和批次交付阶段的产品运输时间。完工时间是一个关注效率的目标,而TEC则是一个关注经济的目标。在能源短缺的压力下,重视能源保护并制定有效的节能方法十分重要。Jiang和Wang用一种基于分解的多目标方法来求解具有序列相关准备时间的节能置换流水车间调度,目标是最小化完工时间和TEC。Zhang等人介绍一种节能混合型FSP,考虑了具有不同能源利用率的机器、序列相关设置时间和机器之间的运输操作。一些研究给工厂中的机器安排不同的速度进行加工,在不同的加工速度下机器的单位能耗是不一样的,对制造过程的影响也是不同的。
本文同时考虑了两种类型的约束,分别是无等待约束和批次交付约束。无等待约束是指工件的两个连续工序加工过程中,不允许有中断。这种调度约束可以用于多种实际生产和依赖时间的行业。举个简单的例子,在炼钢连铸过程中,钢液应该在高温条件下处理,为了防止温度急剧下降,无等待是一个不可或缺的约束。批处理问题首先是由Santos等人提出,批次的概念是一组已经完工的产品一次性运输给相应的客户。Mazden等人建立一个非线性规划模型来处理单机批次交付调度问题,其目标是最小化最大拖延时间和交付成本。由于技术创新和客户不断变化的需求,批次调度的研究不在局限于单机,而是致力于多机批量交付调度,Guo等人提出了一种双层进化算法,将模因算法和启发式规则一起用于解决并行机生产的批次交付问题。
近几十年来,很多专家对流水车间调度问题的求解算法进行了大量研究。这些算法大概分为两类:启发式算法和智能优化算法。启发式算法是基于某种特定规则构造问题的一个优良解,其优点是速度快和稳定。常见算法有最早交货时间法、加工时间与交货时间平衡法、NEH等。我们采用NEH启发式算法来生成高质量的初始解,其中首先使用最大处理时间策略获得初始工件序列。智能优化算法是在关键参数的控制下经过一系列操作,最终得到问题的优化结果。常见的有遗传算法、粒子群优化算法、迭代贪婪算法等。尽管已经有多种算法来求解DFSP,但在求解大规模问题时仍然存在计算量大和容易陷入局部最优的缺点。鲸鱼优化算法(whale optimization algorithm,WOA)作为一种新的智能优化算法,最初是由Mirjalili和Lewis提出,现在已经用于解决各种优化问题,如电力系统、图像分割、0-1背包问题等。本发明提出了一种混合鲸鱼优化算法(hybrid whale optimizationalgorithm,HWOA),即在原始鲸鱼优化算法上混合了插入颠倒块操作、路径重链接策略和改进的VND,以尽快收敛到最优解。
主要贡献如下:(1)建立了MILP模型和提出了混合鲸鱼群算法来解决DNWFSP-BD。(2)编码时使用四个向量,分别是作业调度向量、工厂分配向量、批次向量和速度档位。(3)基于关键工厂的六种搜索操作加入到VND中,提高局部搜索的搜索能力。(4)使用路径链接策略,即当前解经过交换操作或者插入操作到最优解的过程中会生成临时解,这些临时解可能会优于最优解。
发明内容
本发明的目的在于克服上述现有技术的不足,提供一种解决带交付的分布式无等待车间调度优化方法与系统,提高分布式无等待车间调度的效率,缩小完工时间和能耗。
S1:研究了分布式车间调度问题,在这个问题中同时考虑了工序之间的无等待约束和完工产品批次运输给客户;
带批次交付的分布式无等待流水车间调度问题中,有n个工件和f个工厂,一旦将工件分配给特定的工厂f,工件只能在工厂f中加工。每个工厂有m台相同的并行机器,并且工件在m台机器上加工顺序是相同的。为了满足无等待约束,工件的所有工序之间不允许有时间间隔。在批次交付阶段,将加工完成的产品,根据客户的需要进行分批,同一批次的产品一起运输给相应客户。问题的约束条件是:所有作业在时间零都可用且准备就绪;每个操作每次只能在一台机器上处理且每个机器同一时间只能处理一个操作;工件各个工序的加工时间是提前已知的非负数,运输时间和工件之间的切换时间可以忽略不计,并包含加工时间内;属于同一工件的所有工序应按照固定顺序依次处理,工序之间不允许中断;每个批次没有产品数量和运输距离的限制。
S2:目标是最小化一个线性函数,即先分别给最大完工时间和总能量消耗乘以权重值在相加,得到函数,并建立带交付的分布式无等待车间调度优化问题模型;
目标函数为:
min:w*Cmax+(1-w)*EC
Cmax表示最大完工时间,EC表示表示总能量消耗,w表示权重系数
S3:利用混合鲸鱼优化算法对带交付的分布式无等待车间优化问题模型进行求解优化;
混合鲸鱼优化算法的步骤如下:
步骤1,初始化
步骤2,鲸鱼优化
步骤3,插入颠倒块操作
步骤4,路径链接策略
步骤5,局部搜索策略
所述步骤1是这样实现的。为了生成高质量和多样性的初始解,使用了一种启发式算法:首先根据最大处理时间对工件排序得到一个工件序列;然后从序列第一个位置的工件开始,逐个分配给工厂,分配的原则是工件分配给插入该工件后完工时间最小的工厂;最后在使用NEH调整每个工厂中的工件序列。
所述步骤2是这样实现的。鲸鱼优化算法是模拟座头鲸追逐猎物时的搜索方法和围捕机制,主要包括:围捕猎物、起泡网捕食、搜索猎物三个阶段。每个座头鲸的位置代表了一个潜在解,通过在解空间中不断更新鲸鱼的位置,最终获得全局最优解。
所述步骤3是这样实现的。从工件序列中随机挑选两个位置,将这两个位置中的工件全部进行逆序,得到一个颠倒的工件序列块,把这个颠倒的工件序列块从原始的工作序列中切割下来之后,剩余的工件工件组成一个子序列,然后将颠倒的工件块插入到子序列的所有可能的位置。判断每个新序列是否优于原始序列,如果新序列优于原始序列,则将新序列替代原始序列。
所述步骤4是这样实现的。路径重链接策略是通过搜索两个给定解的邻域来生成一个新的有价值的解。在当前解逐渐接近最优解的过程中,当前解每执行一次插入操作或者交换操作便生成一个中间解,对所有的中间解进行评估,并保留使目标函数值最小的解。
所述步骤5是这样实现的。在可变邻域下降的框架中加入六种基于关键工厂的交换操作和插入操作,六种邻域操作分别是:交换关键工厂中的两个工件;在关键工厂中随机选择两个工件,将一个工件插入到另一个工件之后;选择关键工厂中的一个位置,该位置将关键工厂的工件序列分成两个独立的子序列,交换两个子序列;选择关键工厂中的一个位置,该位置将关键工厂的工件序列分成两个独立的子序列,将子序列中的工件序列先倒序,在交换两个子序列;随机选择工厂f中的一个工件将该工件与工厂f+1中的随机选中的一个工件交换,换句话说,工厂1中的工件与工厂2中的工件交换,工厂2中的工件与工厂3中的工件交换,以此类推,工厂F中的工件与工厂1中的工件交换;随机选择工厂f中的工件将该工件插入到工厂f+1中,使得工件f+1插入该工件后,得到的目标函数最小。
S4:采用四个数组对带交付的分布式无等待车间的问题进行编码;
编码时使用四个数组,他们分别是:作业调度二维数组,对每个工厂创建一个数组,每个数组包含工件在工厂中的加工顺序;工厂分配一维数组,数组长度为工件的个数,用来表明工件分配给哪个工厂;批次交付二维数组,对每个批次创建一个数组,一个批次的所有工件放在一个数组中;速度档位一维数组,数组长度等于工件的个数加上批次的个数,给出了所有的工件和批次在运作时的机器速度。
S5:所提出的算法对于解决带交付的分布式无等待车间调度问题的有效性。
该算法在Visual Studio 2019中编码,首先进行调参实验,选定了合适的权重系数。其次通过CPLEX对混合整数线性规划数学模型进行了验证。接着为了证明策略的有效性,构建了HWOA的四个变体,HWOA-NEH中的内容不包含初始化启发式策略,但其余内容仍与HWOA一致。HWOA-IRB和HWOA的不同之处在于从HWOA中去除了插入颠倒块操作。HWOA-PR是保留HWOA中除路径重链接之外的策略。HWOA去掉VND就得到了HWOA-VND算法。最后为了进一步测试所提算法的性能,我们将HWOA与人工蜂群算法(artificial bee colony,ABC)、人工免疫算法(artificial immune algorithm,AIA)进行了比较,证明了HWOA在解决带交付的分布式无等待车间调度问题上的优越性。
附图说明
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
图1为本发明实施例中DNWFSP-BD示意图;
图2为本发明实施例中算法流程图;
图3为本发明实施例中解的表示示意图;
图4为本发明实施例中插入颠倒块示意图;
图5为本发明实施例中路径重链接过程示意图;
图6为本发明实施例中单点交叉示意图;
图7为本发明实施例中单点颠倒交叉示意图;
图8为本发明实施例中HWOA和HWOA-NEH的ARPD比较区间示意图;
图9为本发明实施例中HWOA和HWOA-IRB的ARPD比较区间示意图;
图10为本发明实施例中HWOA和HWOA-PR的ARPD比较区间示意图;
图11为本发明实施例中HWOA和HWOA-VND的ARPD比较区间示意图;
图12为本发明实施例中HWOA算法与其他算法的ARPD比较示意图;
图13为本发明实施例中解的甘特图示意图;
具体实施方式
应该指出,以下详细说明都是示例性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式。在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
下面结合附图对本发明做进一步详细描述:
图1是带交付的分布式无等待车间调度的示意图,在实例中包含了7个工件、2个工厂、2台机器和4个批次,工件1、3、5、6在工厂1中加工,在工厂2中加工的工件有工件2、4、7,工件1和工件4放在同一个批次中,根据客户的需求运输给指定的客户。在分布式流水车间的基础上,增加了批次交付和无等待约束。在本实施例中有两个阶段:工件加工阶段将工件合理的分配给分布式工厂和批次交付阶段将加工机床上完成的产品批次运输给客户。目标是最小化两个阶段的总能量消耗和完工时间。提出了一种混合鲸鱼优化算法HWOA,其中鲸鱼优化算法作为主干,插入颠倒块操作、路径重链接策略和改进的VND算法用来提高算法的性能。首先,建立一个混合整数线性规划模型并通过CPLEX对模型进行验证。其次,每个解决方案由四部分组成,即作业调度、工厂分配、批次交付和速度档位。然后,用路径重链接策略在当前最优解的邻域进行搜索,用基于关键工厂交换和插入的六种局部搜索方法增强VND搜索能力。最后,生成了30个算例来评估算法性能。进行对比实验分别证明了初始化策略、插入颠倒块操作、路径链接和VND的有效性,并且通过与另两种算法详细比较,验证了混合鲸鱼群优化算法在求解DNWFSP-BD的优越性。
S101:带交付的分布式无等待车间调度优化问题描述;
在带交付的分布式无等待车间调度问题中,有一组工件和一组工厂,每个工厂有m台并行机器,在每个工厂中,工件在m台机器上处理顺序是一样的。工件一旦分配给某一工厂,就只能在该工厂加工,不允许在工厂之间进行工作转移,为了满足无等待约束,每一工厂中工件所有工序之间连续加工。在批次交付阶段,根据客户的需要把完工产品分成多个批次,同一批次的所有产品一起运输给指定客户。在提出的模型中,做了如下假设:
(1)所有作业在时间零都可用且准备就绪。
(2)每个操作每次只能在一台机器上处理,每个机器每次只能处理一个操作。
(3)机器一旦开始执行任务,在任务完成之前不能中断。
(4)工件在机器上的加工时间是预定的非负数,运输时间和切换时间可以忽略不计,认为包含在加工时间中。
(5)属于同一工件的所有工序应按照顺序依次处理,不得中断。
(6)每个批次都没有数量或者距离的限制。
S102:带交付的分布式无等待车间调度优化问题建模;
表1参数和符号表示
表2决策变量表示
基于上述声明和多个目标,本实施例DNWFSP-BD建模如下:
最小化:
w*Cmax+(1-w)*EC (1)
约束:
cj,1,f≥pj,1-M(1-Yj,f),f=1,2,...,F,j=1,2,...,n (11)
cj,i,f≥ck,i,f+pj,i-M(1-Xk,j,f),i=1,2,...,m,f=1,2,...,F,k=1,2,...,n,j=1,2,...,n,k≠j (12)
sj,i,f=cj,i-1,f,j=1,2,...,n,i=2,3,...,m,f=1,2,...,F (13)
cj,i,f=sj,i,f+pj,i,j=1,2,...,n,i=1,2,...,m,f=1,2,...,F (14)
cj,i,f≥ck,i+1,f-M(1-Xk,j,f),i=1,2,...,m-1,f=1,2,...,F,j=1,2,...,n,k=1,2,...,n,k≠j (15)
cff≥cj,m,f-M(1-Yj,f),j=1,2,...,n,f=1,2,...,F (16)
Zl,s+Zs,l≤1,l=1,2,...,p,s=1,2,...,p,l≠s (19)
CAs≥cj,m,f+pps-M(1-Gj,s)-M(1-Yj,f),j=1,2,...,n,f=1,2,...,F,s=1,2,...,p (20)
CAs≥CAl+pps-M(1-Zl,s),s=1,2,...,p,l=1,2,...,p,l≠s (21)
sj,i,f≥0 (22)
cj,i,f≥0 (23)
EC=PEC+SEC (26)
目标函数如方程(1)所示。约束(2)表示工件的工序只能选择一个速度进行加工,约束(3)意味着运输批次s的机器速度是唯一的。等式(4)和等式(5)分别计算了工序的实际加工时间和批次的运输的时间。约束(6)-(8)规定了属于同一工厂的两个工件的有且仅有一个处理顺序,即不允许一个工件既在另一个工件的前面加工,又在其后面加工。约束(9)表示每个工厂至少有一个工件。约束(10)表示任一工件只能在一个工厂中处理。约束(11)计算每个工件第一道工序的完成时间。约束(12)给出了两个相邻工序的计算方法。约束(13)-(15)满足无等待约束。约束(16)计算每个工厂的完工时间。约束(17)-(19)限制批次运输时一次性完成该批次所有产品的运输。约束(21)表明只有当属于批次的所有产品都加工完成时,才开始运输该批次。约束(22)和约束(23)定义决策变量的范围。约束(24)-(26)用来计算两个阶段的总能量消耗。
S103:邻域迁移和加速方法;
Li等人指出在调度问题中有三种常见的移动,所有其他的复杂的移动都可以分解为这三个简单的移动:(1)将新工件插入到工件序列中;(2)将工件序列中的工件重新插入另一个位置;(3)交换工件。由于我们考虑的问题是分布式流水车间调度,因此可以将第二种移动分成两种类型,即将工件重新插入到所在工厂中和将工件插入到其他工厂中。类似的,交换工件也有在同一工厂之内交换和在工厂之间交换两种。
假设工件序列为π=(π1,π2,…,πF),其中πf=[πf(1),πf(2),…,πf(nf)]是工厂f中的工件序列,用nf表示在工厂f中加工的工件数量。因为考虑了无等待约束,所以要确保工件的所有操作要连续加工,这就要求工件在第一台机器上开始时间应延迟。表示工件πf(i-1)和πf(i)完工时间在第一台机器上的最小延迟时间,计算公式如(27)所示:
在加工阶段工厂的完工时间cfπ的计算公式如(28)和(29)所示:
cf(π)=max{cf(πf)}(29)
定义1(将新工件插入到工件序列中):加工件j插入到工厂f中的位置k,生成的新工件序列的最大完工时间πf(k)计算公式如(30)所示:
定义2(将工件序列中的工件重新插入另一个位置):在分布式无等待流水车间调度中,将工件重新插入到另一个位置分两种情况讨论,工件重新插入到工件原本所在工厂和将工件插入到其他工厂。
工厂内的重新插入移动是将工厂f中位置x的工件放到位置y处,将工件πf(x)从工厂f中移出之后的完工时间可通过公式(31)计算,公式(32)用于计算将工件重新插入到工件f的y位置之后的完工时间cf(πf(i,x,y))。
工厂之间的重新插入移动是指从工厂f中删除位置x处的工件πf(x),并将其重新插入工件g中的y位置上,用公式(31)和(33)计算生成序列的完工时间π(i,x,y,f,g)。
定义3(交换工件):工厂内的交换移动是指交换工厂f中处在位置x上的工件πf(x)和位置y上的工件πf(y),得到的序列用公式(34)计算完工时间cf(πf(s,x,y));工厂之间的交换移动是指将工厂f中位置为x的工件πf(x)与工厂g中位置为y的工件πg(y)交换,得到的序列用公式(35)计算完工时间cf(π(s,x,y,f,g))。
S104:基于多目标优化函数,采用改进的鲸鱼优化算法求解DNWFSP-BD;
为了克服WOA中存在的收敛精度差和容易陷入局部最优问题,我们提出了混合鲸鱼优化算法,即在WOA中嵌入插入颠倒块操作、路径重链接策略和改进的VND,形成HWOA。图2是算法的框架,算法1是HWOA的伪代码。
(1)编码方案:在本文中,我们提出了用四个矩阵来表示一个解决方案,如图3所示:作业调度二维数组,对每个工厂创建一个数组,每个数组包含工件在工厂中的加工顺序;工厂分配一维数组,数组长度为工件的个数,用来表明工件分配给哪个工厂;批次交付二维数组,对每个批次创建一个数组,一个批次的所有工件放在一个数组中;速度档位一维数组,数组长度等于工件的个数加上批次的个数,给出了所有的工件和批次在运作时的机器速度。
(2)初始化:构造性启发式算法是求解调度优化问题的有效方法,启发式可以用于解决大规模的问题,并能够快速获得高质量的解决方案。Naderi和Ruiz设计了两种方法合理的给工厂分配工件:第一种方法是将工件分配给插入该工件之前,完工时间最小的工厂;第二中方法是将工件分配给插入该工件之后,完工时间最小的工厂。
基于第二种方法,我没提出了一种启发式算法,该算法综合了最大处理时间规则和NEH启发式算法:首先根据最大处理时间对工件排序得到一个工件序列;然后从序列第一个位置的工件开始,逐个分配给工厂,分配的原则是工件分配给插入该工件后完工时间最小的工厂;最后在使用NEH调整每个工厂中的工件序列,具体的实现步骤在算法2中给出。
(3)插入颠倒块操作:插入反向块操作如图4所示,在所有可能的位置插入一个反向作业排列块,每插入一个位置得到一个新解,检查是否生成更好的解决方案。从工件序列中随机挑选两个位置,将这两个位置中的工件全部进行逆序,得到一个颠倒的工件序列块,把这个颠倒的工件序列块从原始的工作序列中切割下来之后,剩余的工件工件组成一个子序列,然后将颠倒的工件块插入到子序列的所有可能的位置。判断每个新序列是否优于原始序列,如果新序列优于原始序列,则将新序列替代原始序列。
(4)路径重链接策略:路径重链接策略通过搜索两个给定解的邻域来生成一个新的有价值的解,其步骤如下所示:首先,选择最优个体S_best和当前个体S_i进行比较;其次,通过交换或者插入S_i中的工件,将S_i逐步转换为S_best,其中选择插入操作还是交换操作,是由当前S_i中的工件是否在关键工厂中决定,当S_i中的工件不在关键工厂中执行交换操作;否则执行插入操作,并且每执行一次操作获得一个中间解。最后,根据函数(1)计算中间解的目标函数值,保留值最低的中间解,路径重链接的伪代码在算法3中给出。图5例举了一个长度为6的工件序列执行路径重链接的过程,当前解的工件序列为{1,2,6,5,4,3},最优解的工件序列为{3,2,1,6,4,5}。当前解向最优解转换过程中如果连续执行两次插入操作,便获得{3,1,2,6,5,4}和{3,2,1,6,5,4}两个中间解;如果连续执行两次交换操作,便获得{3,2,6,5,4,1}和{3,2,1,5,4,6}两个中间解。
(5)基于局部搜索的VND:VND能够有序的选择已经定义好的邻域结构Nmax,从第一个邻域N1开始运行,直至找到所有邻域结构的局部最优值。当无法对邻域结构Nk进一步改进时,将跳到下一个邻域结构Nk+1进行搜索;如果在邻域结构Nk找到更好的解,将跳到第一个邻域结构N1进行搜索。N1是一个简单的邻域结构,注重搜索的深度,随着算法的跳转,邻域结构变得越来越复杂,因此即可以注重搜索的深度,也关注搜索的广度,VND的伪代码如算法3所示。本发明使用了六个有效的局部搜索方法来提高算法性能,用之前介绍的加速方法评估局部搜索过程中的解,下面将逐个介绍六个局部搜索方法。
1)在单工厂交换:首先找到关键工厂,然后从关键工厂的工件序列中随机选择两个位置,最后交换两个位置上的工件。
2)在单工厂插入:随机选择关键工厂中的两个工件,将第一个工件插入到第二个工件之后。
3)单点交叉:从关键工厂随机选择一个点,该点将关键工厂的工件序列分成两个子序列,交换两个子序列生成新的工件序列。假设关键工厂有7个工件,以点3为分界将工件序列分成两个子序列,交换过程如图6所示。
4)单点逆序交叉:从关键工厂随机选择一个点,该点将关键工厂的工件序列分成两个子序列,先分别将两个子序列逆序,在交换两个子序列,示意图如图7所示。
5)循环交换:从工厂f中随机选择一个工件将该工件与工厂f+1中随机一个工件交换。也就是说,工厂1随机选择的工件与工厂2中的工件交换,工厂2随机选择的工件与工厂3中的工件交换,工厂F中的工件与工厂1中的工件交换。
6)循环插入:从工厂f中随机选择一个工件插入到工厂f+1中随机一个位置。也就是说,工厂1的工件插入到工厂2中,工厂2的工件插入到工厂3中,工厂F中的工件插入到工厂1中。
实验对比
为了测试所提出的HWOA的性能,我们模拟了调度过程。在Visual Studio中编码,所有的数值实验都是在运行Windows10的2.50GHz频率的Inter Core i5-7300 HQ处理器和8GB内存的HP PC上进行的。
总共有30个算例用于以下实验,其中工件的个数可以为20,50,80,100和200个,机器数量可以为2,5和8台,工件可以有2个或者是5个。我们采用的性能指标是相对百分比增加(RPI)和平均相对百分比偏差(ARPD),其中公式中的R代表实验运行的次数,Ci表示某一算法在第i次实验中得到的结果,Copt意外着由全部算法得到的最优解。
本节主要是通过实验选择合适的实验参数,并进行了五组对比实验,验证了HWOA的有效性。
(1)实验参数
目标函数中参数的取值对最终解有很大的影响,参数调整的目的是在综合考虑最大完工时间和总能量消耗的情况下选择一个相对合适的权重参数,权重是在0.1~0.9之间取值,每个权重参数独立运行五次实验,实验结果如表3所示。表3的第一列给出了每个算例中包含的作业、工厂和机器数量,其余几列表示不同权重下目标函数的值。我们从表3中可以得到当权重等于0.4时,30个算例最优解的个数占15个,是0.1~0.9这9个数中获得最优解个数最多的值。因此,在下面的对比实验中,以0.4作为权重参数。
表3调参结果
(2)与精确求解器CPLEX的性能比较
我们使用精确求解器IBM ILOG CPLEX 12.7.1来计算提出的MILP模型。精度求解器的设置配置如下:最大线程数为3,时间限制为3h。然后随机生成8个小规模实例:作业数n∈{5,8},机器数m∈{4,5},工厂数f∈{2,3}。对HWOA和CPLEX的比较结果整理并总结在表4中,其中第一列给出了每个算例的大小,第二列记录了HWOA和CPLEX中解更好的那一个,两种比较算法的适应度值分别记录在第三列和第四列,由两个比较算法获得的RPI值分别列在最后两列中。从表4中可以得到以下结论:(1)对于给定的8个算例,HWOA的适应度值都小于或等于CPLEX获得的值;(2)从表2最后一行的平均值和最后两列RPI值的两种算法比较结果验证了所提算法的性能优于CPLEX。
表4 CPLEX和HWOA的比较
(3)HWOA组成部分的有效性分析
我们在鲸鱼优化算法中加入LPT-NEH初始化策略、插入颠倒块操作、路径重链接策略和基于局部搜索的邻域结构,为了验证这四个组成部分能提高HWOA的性能,我们设计了四组对比实验,每个实验在30个算例上独立执行五次。
1)初始化启发式的有效性分析
为了测试所提出的LPT-NEH对HWOA的影响,我们将HWOA的性能与采用随机初始化而不是LPT-NEH的HWOA-NEH算法性能进行了比较。除了采用不同的初始化策略外,两个对比算法的其他方面保持一致。表5和图8是HWOA和HWOA-NEH的比较结果,从中可以得到:(1)对于具有不同问题规模的30个实例,HWOA获得了22个较好的结果,优于HWOA-NEH;(2)图8的ARPI结果验证了所提出的初始化启发式的有效性。
表5 HWOA和HWOA-NEH的比较
2)插入颠倒块操作的有效性分析
我们将没有加入插入颠倒块操作的HWOA定义为HWOA-IRB,为了保持实验的公平性,两个对比算法的其他三个组成部分是相同的。30个算例的适应度值和RPI值汇总在表6中,同时,图9使实验结果可视化。结果表明:(1)HWOA获得的平均RPI值为0.04,明显小于HWOA-NEH获得的平均RPI值;(2)图9中HWOA的ARPD位于HWOA-IRB下面,证明插入反向块操作能够提高HWOA的性能。
表6 HWOA和HWOA-IRB的比较
3)路径重链接策略的有效性分析
本小节讨论了路径重链接策略的性能,我们比较了没有路径重链接策略的HWOA-PR和包含四个组成部分的HWOA。表7中HWOA在30个算例中获得了29个更好的解,明显优于HWOA-PR获得的结果。从图10可以看出,HWOA的ARPD值位于HWOA-PR的下方,并且两个算法之间没有重叠。
表7 HWOA和HWOA-PR的比较
4)VND的有效性分析
没使用VND策略的算法表示为HWOA-VND,表8和图11给出了30个算例的结果。(1)从表8平均RPI的值和最优解的个数的角度进行分析,HWOA明显优于HWOA-VND;(2)图11说明了VND能够有效提高解的质量。
表8 HWOA和HWOA-VND的比较
(4)与其他算法的比较
为了进一步评估所提算法的性能,我们将HWOA与其他算法进行了比较,包括ABC和AIA。我们对这三种算法进行了编码,并在相同的环境中运行了每一种算法。每个实例运行了五次,并且所有比较算法都使用相同的停止标准。表9和图12显示了各种算法的性能比较结果,可以得到以下结论:(1)在这三种算法中,HWOA的平均ARPD值为6.28,比ABC和AIA小2倍;(2)总体而言,HWOA的性能明显好于其他两种算法。
表9 HWOA、AIA、ABC的比较
经过详细的比较和分析,我们得出结论与其他两种算法相比,HWOA更适合求解DNWFSP-BD。主要原因可以归纳为:(1)提出的LPT-NEH启发式来生成高质量的潜在初始解;(2)插入反向块操作在保持部分初始序列不变的同时,通过插入颠倒块操作增加了种群的多样性;(3)路径重链接策略在当前最优解的邻域进行搜索,可以充分利用最优解更快的找到全局最优解;(4)改进的VND不仅可以防止陷入局部最优,还可以生成更好的候选解。
我们使用MATLAB绘制甘特图,如图13所示,其中包括20个作业、8台机器、5个工厂和4个批次,客户所需的产品全部放在一个批次运输,只有当该批次所需的全部产品都已经完工后,这个批次才开始运输。
本发明解决了一个带有交付的分布式无等待车间调度问题,最小化的目标函数是由最大完工时间和总能量消耗乘以加权系数得到。为了有效解决这个问题,定义了一个混合整数线性规划模型,并采用了一些启发式和元启发式算法。其中将原始的鲸鱼优化算法与LPT_NEH初始化策略、插入颠倒块操作、路径重链接策略和改进的VND想结合,提高搜索的深度和广度。最后在CPLEX执行几个小规模算例来证明所提出的混合整数线性规划模型的准确性,HWOA通过与ABC和AIA算法进行对比和分析,验证了所提算法的有效性。
在未来的研究中,我们将重点关注以下方面:(1)分析分布式调度问题中可能包括的一些不确定的因素,例如故障或者工件之间的切换、准备时间;(2)在批次交付阶段可以设计得更加灵活,比如客户所需的产品不是预知的;(3)基于帕累托的多目标算法可以用于解决动态环境下的调度问题。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
Claims (6)
1.一种带交付的分布式无等待车间调度优化问题,其特征在于,所述方法包括:
S1:研究了分布式车间调度问题,在这个问题中同时考虑了工序之间的无等待约束和完工产品批次运输给客户;
S2:目标是最小化一个线性函数,即先分别给最大完工时间和总能量消耗乘以权重值在相加,得到函数,并建立带交付的分布式无等待车间调度优化问题模型;
S3:利用混合鲸鱼优化算法对带交付的分布式无等待车间优化问题模型进行求解优化;
S4:采用四个数组对带交付的分布式无等待车间的问题进行编码;
S5:所提出的算法对于解决带交付的分布式无等待车间调度问题的有效性。
2.根据权利要求1所述的带交付的分布式无等待车间调度优化问题,其特征在于,所述S1带批次交付的分布式无等待流水车间调度问题中,有n个工件和f个工厂,一旦将工件分配给特定的工厂f,工件只能在工厂f中加工,每个工厂有m台相同的并行机器,并且工件在m台机器上加工顺序是相同的,为了满足无等待约束,工件的所有工序之间不允许有时间间隔,在批次交付阶段,将加工完成的产品,根据客户的需要进行分批,同一批次的产品一起运输给相应客户,问题的约束条件是:所有作业在时间零都可用且准备就绪;每个操作每次只能在一台机器上处理且每个机器同一时间只能处理一个操作;工件各个工序的加工时间是提前已知的非负数,运输时间和工件之间的切换时间可以忽略不计,并包含加工时间内;属于同一工件的所有工序应按照固定顺序依次处理,工序之间不允许中断;每个批次没有产品数量和运输距离的限制。
3.根据权利要求2所述的一种解决带交付的分布式无等待车间调度优化方法与系统,其特征在于,所述S2中目标函数为:
min:w*Cmax+(1-w)*EC
Cmax表示最大完工时间,EC表示表示总能量消耗,w表示权重系数。
4.根据权利要求3所述的一种解决带交付的分布式无等待车间调度优化方法与系统,其特征在于,所述S3是这样实现的,混合鲸鱼优化算法的步骤如下:
步骤1,初始化
步骤2,鲸鱼优化
步骤3,插入颠倒块操作
步骤4,路径链接策略
步骤5,局部搜索策略
所述步骤1是这样实现的:为了生成高质量和多样性的初始解,使用了一种启发式算法:首先根据最大处理时间对工件排序得到一个工件序列;然后从序列第一个位置的工件开始,逐个分配给工厂,分配的原则是工件分配给插入该工件后完工时间最小的工厂;最后在使用NEH调整每个工厂中的工件序列,
所述步骤2是这样实现的:鲸鱼优化算法是模拟座头鲸追逐猎物时的搜索方法和围捕机制,主要包括:围捕猎物、起泡网捕食、搜索猎物三个阶段,每个座头鲸的位置代表了一个潜在解,通过在解空间中不断更新鲸鱼的位置,最终获得全局最优解,
所述步骤3是这样实现的:从工件序列中随机挑选两个位置,将这两个位置中的工件全部进行逆序,得到一个颠倒的工件序列块,把这个颠倒的工件序列块从原始的工作序列中切割下来之后,剩余的工件工件组成一个子序列,然后将颠倒的工件块插入到子序列的所有可能的位置,判断每个新序列是否优于原始序列,如果新序列优于原始序列,则将新序列替代原始序列,
所述步骤4是这样实现的:路径重链接策略是通过搜索两个给定解的邻域来生成一个新的有价值的解,在当前解逐渐接近最优解的过程中,当前解每执行一次插入操作或者交换操作便生成一个中间解,对所有的中间解进行评估,并保留使目标函数值最小的解,
所述步骤5是这样实现的:在可变邻域下降的框架中加入六种基于关键工厂的交换操作和插入操作,六种邻域操作分别是:交换关键工厂中的两个工件;在关键工厂中随机选择两个工件,将一个工件插入到另一个工件之后;选择关键工厂中的一个位置,该位置将关键工厂的工件序列分成两个独立的子序列,交换两个子序列;选择关键工厂中的一个位置,该位置将关键工厂的工件序列分成两个独立的子序列,将子序列中的工件序列先倒序,在交换两个子序列;随机选择工厂f中的一个工件将该工件与工厂f+1中的随机选中的一个工件交换,换句话说,工厂1中的工件与工厂2中的工件交换,工厂2中的工件与工厂3中的工件交换,以此类推,工厂F中的工件与工厂1中的工件交换;随机选择工厂f中的工件将该工件插入到工厂f+1中。
5.根据权利要求4所述的一种解决带交付的分布式无等待车间调度优化方法与系统,其特征在于,所述S4是这样实现的:编码时使用四个数组,他们分别是:作业调度二维数组,对每个工厂创建一个数组,每个数组包含工件在工厂中的加工顺序;工厂分配一维数组,数组长度为工件的个数,用来表明工件分配给哪个工厂;批次交付二维数组,对每个批次创建一个数组,一个批次的所有工件放在一个数组中;速度档位一维数组,数组长度等于工件的个数加上批次的个数,给出了所有的工件和批次在运作时的机器速度。
6.根据权利要求5所述的一种解决带交付的分布式无等待车间调度优化方法与系统,其特征在于,所述S5是这样实现的:该算法在Visual Studio 2019中编码,首先进行调参实验,选定了合适的权重系数,其次通过CPLEX对混合整数线性规划数学模型进行了验证,接着为了证明策略的有效性,构建了HWOA的四个变体,HWOA-NEH中的内容不包含初始化启发式策略,但其余内容仍与HWOA一致,HWOA-IRB和HWOA的不同之处在于从HWOA中去除了插入颠倒块操作,HWOA-PR是保留HWOA中除路径重链接之外的策略,HWOA去掉VND就得到了HWOA-VND算法,最后为了进一步测试所提算法的性能,我们将HWOA与人工蜂群算法、人工免疫算法进行了比较,证明了HWOA在解决带交付的分布式无等待车间调度问题上的优越性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211462171.7A CN116011726A (zh) | 2022-11-21 | 2022-11-21 | 一种解决带交付的分布式无等待车间调度优化方法与系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211462171.7A CN116011726A (zh) | 2022-11-21 | 2022-11-21 | 一种解决带交付的分布式无等待车间调度优化方法与系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116011726A true CN116011726A (zh) | 2023-04-25 |
Family
ID=86021927
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211462171.7A Pending CN116011726A (zh) | 2022-11-21 | 2022-11-21 | 一种解决带交付的分布式无等待车间调度优化方法与系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116011726A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117371769A (zh) * | 2023-12-08 | 2024-01-09 | 聊城大学 | 一种分布式阻塞流水车间调度加速评估方法 |
-
2022
- 2022-11-21 CN CN202211462171.7A patent/CN116011726A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117371769A (zh) * | 2023-12-08 | 2024-01-09 | 聊城大学 | 一种分布式阻塞流水车间调度加速评估方法 |
CN117371769B (zh) * | 2023-12-08 | 2024-03-12 | 聊城大学 | 一种分布式阻塞流水车间调度加速评估方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Liu et al. | A multi-objective genetic algorithm for optimisation of energy consumption and shop floor production performance | |
Son et al. | Multiheuristic approach for resource leveling problem in construction engineering: Hybrid approach | |
CN110543953B (zh) | 基于狼群算法的空间约束下多目标拆卸线设置方法 | |
Rahimi-Vahed et al. | A novel hybrid multi-objective shuffled frog-leaping algorithm for a bi-criteria permutation flow shop scheduling problem | |
CN107168267A (zh) | 基于改进粒子群与启发式策略的生产排产方法及系统 | |
CN110969362B (zh) | 一种云计算系统下多目标任务调度方法及系统 | |
CN112286152B (zh) | 具有批量交付约束的分布式流水车间调度方法及系统 | |
Teekeng et al. | A combination of shuffled frog leaping and fuzzy logic for flexible job-shop scheduling problems | |
CN111783254B (zh) | 一种基于多目标混合整数规划的钢材切割控制方法及装置 | |
CN112561225B (zh) | 一种基于标杆协同进化算法的柔性作业车间调度方法 | |
CN113341889B (zh) | 带装配阶段和能耗的分布式阻塞流水车间调度方法及系统 | |
CN110458326B (zh) | 一种分布式阻塞型流水线调度的混合群智能优化方法 | |
CN116011726A (zh) | 一种解决带交付的分布式无等待车间调度优化方法与系统 | |
CN111353646A (zh) | 带切换时间的炼钢柔性调度优化方法、系统、介质及设备 | |
JP5256939B2 (ja) | 加熱炉装入順・圧延順決定方法、その決定装置および鋼板製造方法、加熱炉装入順・圧延順決定プログラム | |
CN114519455A (zh) | 一种带运输过程的分布式柔性车间调度方法及系统 | |
CN116466659A (zh) | 一种基于深度强化学习的分布式装配流水车间调度方法 | |
CN116933939A (zh) | 基于改进浣熊优化算法的柔性车间协同生产方法及系统 | |
CN115249113A (zh) | 一种带准备时间分布式零等待流水车间调度方法与系统 | |
CN115935616A (zh) | 一种一致批次的序列依赖流水车间组调度多目标优化方法 | |
Mhasawade et al. | A survey of hybrid metaheuristics to minimize makespan of job shop scheduling problem | |
Alzaqebah et al. | Self-adaptive bee colony optimisation algorithm for the flexible job-shop scheduling problem | |
CN116360355A (zh) | 基于nsga-iii算法求解车间调度问题的方法 | |
Khalouli et al. | An ant colony system algorithm for the hybrid flow-shop scheduling problem | |
CN114386843A (zh) | 一种基于改进深度强化学习算法的柔性车间调度方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |