天天看点

像“狼”一样工作?车间调度问题的解决方案,灰狼算法究竟是啥?

作者:南柯归洵
像“狼”一样工作?车间调度问题的解决方案,灰狼算法究竟是啥?

阅读文章前辛苦您点下“关注”,方便讨论和分享,为了回馈您的支持,我将每日更新优质内容。

前言

生产调度是现代制造系统的重要组成部分,高效的调度方法可以提高工业生产效率,增加企业的经济盈利能力,提高客户满意度。

但是作业车间调度问题(JSP)也是生产调度中最复杂的问题之一,而灵活作业车间调度问题(FJSP)是JSP的扩展,除了考虑操作顺序外,它还需要为每个操作分配适当的机器。

像“狼”一样工作?车间调度问题的解决方案,灰狼算法究竟是啥?

由于FJSP更符合现代制造企业的实际,所以这个问题在过去几十年中得到了许多专家学者的广泛研究,而且这个问题越来越多地用于不同的环境,例如起重机运输,电池包装和印刷生产。

究竟有没有一种方法,能够解决车间工作时的调度问题?“灰狼优化算法”又是否是解决方案?

像“狼”一样工作?车间调度问题的解决方案,灰狼算法究竟是啥?

灵活作业车间调度问题

最早提出灵活作业车间调度问题的学者,选择使用多项式图算法来解决这个问题,并且随着时间的推进,其他学者也针对该问题开发了各种解决方案。

到目前为止,求解FJSP的方法可以分为两大类:精确算法和近似算法。

像“狼”一样工作?车间调度问题的解决方案,灰狼算法究竟是啥?

精确算法(拉格朗日松弛、分支和绑定算法以及混合整数线性规划)具有寻求FJSP最优解的优势,然而它们只对小规模的FJSP有效,一旦问题的规模增加,所需的计算时间是无法承受的。

第二种则是一个大类,在最近的研究中受到更多关注,因为它能够在更短的时间内找到更好的解决方案,目前这种算法是一种已成功应用于求解FJSP的近似算法,如灰狼优化算法(GWO)、遗传算法(GA)、粒子群算法(PSO)、蚁群算法(ACO)等。

像“狼”一样工作?车间调度问题的解决方案,灰狼算法究竟是啥?

在最一开始的时候,对解决FJSP的元启发式算法的研究,主要在于提出新的邻域结构并采用禁忌搜索或模拟退火算法(SA),为此有学者基于FJSP的特点,设计了一种基于禁忌搜索的分层算法来求解FJSP。

也有一些学者为了最小化最大完成时间,提出了一种改进的SA来解决问题,同时还有人提出了两种邻域结构(Nopt1,Nopt2)并将它们与TS相结合,结果验证了所提方法的有效性。

像“狼”一样工作?车间调度问题的解决方案,灰狼算法究竟是啥?

最近的研究表明,通过改善邻里结构来优化问题的目标是一种有效的方法,国内的一位学者提出了一种混合算法,其中包含改进的邻域结构。

他将邻域结构分为两个层次:第一级用于跨机器移动流程,第二级用于在同一台机器内移动流程。

像“狼”一样工作?车间调度问题的解决方案,灰狼算法究竟是啥?

然而随着FJSP规模的扩大,仅依靠改善邻域结构的方法在求解过程中往往缺乏多样性,进而导致陷入局部最优,所以目前大多数研究人员通过将群体智能算法与调度问题的约束规则混合来解决FJSP。

其中前者用于增强人口的多样性,而后者用于利用更优化解决方案的邻域,对于GA一位学者提出了一种混合算法(HA),该算法将GA与禁忌搜索(TS)相结合来解决FJSP。

像“狼”一样工作?车间调度问题的解决方案,灰狼算法究竟是啥?

寻找解决方案

虽然这位学者的研究虽然最后失败了,但是的方法中关于GA的参数设置,对于后续的研究有着非常重大的意义,因为合理的参数组合可以更好地提高算法的性能。

有学者在前人的基础上,提出了一种混合遗传算法(HGA),并采用田口方法对GA的参数进行了优化。

同时也提出了一种自学习遗传算法(SLGA)来解决FJSP,并基于强化学习(RL)动态调整其关键参数。

像“狼”一样工作?车间调度问题的解决方案,灰狼算法究竟是啥?

之后有人设计了一种自适应种群非支配排名遗传算法III,该算法将双重控制策略与GA相结合,以解决考虑能耗的FJSP。

同时针对ACO,另一批学者提出了一种基于三维分离图模型的多目标FJSP混合蚁群算法,其中优化目标是制作跨度、生产持续时间、平均闲置时间和生产成本。

像“狼”一样工作?车间调度问题的解决方案,灰狼算法究竟是啥?

还有人提出了一种改进的蚁群算法(IACO)来优化FJSP的制造跨度,并通过一个真实的生产示例和两组著名的基准测试示例对其进行了测试,以验证其有效性,为了在动态环境中解决FJSP。

也有一部分学者选择将多智能体系统(MAS)协商与ACO相结合,并将ACO的特性引入协商机制中,以提高调度性能,用于解决装配操作的灵活作业车间调度问题。

像“狼”一样工作?车间调度问题的解决方案,灰狼算法究竟是啥?

灰狼优化算法

灰狼优化(GWO)算法则是一位澳大利亚学者,在2014年提出的一种基于群体的进化元启发式算法,最初用于解决连续函数优化问题。

这位学者在GWO中,模拟了自然界中灰狼种群的等级机制和狩猎行为。

像“狼”一样工作?车间调度问题的解决方案,灰狼算法究竟是啥?

与其他元启发式算法相比,GWO算法具有结构简单、控制参数少、能够实现局部搜索和全局搜索平衡的优点。

近年来已成功应用于路径规划、SVM模型、图像处理、功率调度、信号处理等多个领域,但是该算法却很少用于FJSP。

像“狼”一样工作?车间调度问题的解决方案,灰狼算法究竟是啥?

这是主要由于算法是连续的,而FJSP是一个离散问题,因此考虑如何将算法与问题相匹配非常重要。

目前常见的有两种主流的解决方案方法,第一种方法采用变换机制,将连续的单个位置向量与离散调度解相互转换,这种方法具有实现简单、保留算法更新迭代公式的优点。

但是一些学者提出了一种通过灰狼优化算法改进的鲸鱼优化算法,来解决FJSP问题,其中ROV规则用于转换操作序列。

像“狼”一样工作?车间调度问题的解决方案,灰狼算法究竟是啥?

这个举动就像是打开了潘多拉的魔盒,一下子冒出来大量的其他算法,其中就有一个学者提出了一种混合和谐搜索(HHS)算法,并开发了一种变换技术。

这种算法通过将连续和谐向量转换为FJSP的离散双向量代码,来解决机器分配,速度分配和操作序列等问题。

然而这些方法都有一定的局限性,比如在转换过程中会错过一些优秀的解,浪费大量的计算时间。

像“狼”一样工作?车间调度问题的解决方案,灰狼算法究竟是啥?

离散化算法

但是在第二种方法中,离散更新算子旨在实现算法与问题之间的对应关系,针对多目标柔性作业车间调度问题,有学者提出了一种混合离散萤火虫算法(HDFA),这种算法通过离散化提高了算法的搜索精度和信息共享能力。

还有学者提出了一种离散粒子群优化(DPSO)算法,并利用交叉和变分算子设计了该算法的离散更新过程。

像“狼”一样工作?车间调度问题的解决方案,灰狼算法究竟是啥?

最终大量实验结果表明,这种算法并不是解决问题的有效方法,一位国内的学者提出了一种将化学反应算法和TS相结合的混合算法,并设计了四种基本操作来保证数据的多样性。

并且在之后提出了一种离散猫群优化算法,以求解低碳柔性作业车间调度问题,目的是最小化能源成本和延迟成本的总和,并设计了算法中查找和跟踪模式的离散形式来拟合问题。

像“狼”一样工作?车间调度问题的解决方案,灰狼算法究竟是啥?

车间生产理想化组合

FJSP是从实际车间生产中产生的理想化组合优化问题,最初FJSP派生自JSP,在JSP中,要生成的项目被统一定义为具有一个或多个步骤的作业。

用于处理作业的设备统一定义为流程中的机器,JSP具有作业排序的约束,即每个作业按照一定的处理流程在其对应的机器上进行处理,直到所有作业都处理完毕。

像“狼”一样工作?车间调度问题的解决方案,灰狼算法究竟是啥?

因此FJSP可以被视为JSP的扩展版本,因为它消除了一些机器约束,并且为每个操作可以选择的机器数量不限于一个。

在解决FJSP之前,还有一个更重要的分类需要澄清,可以根据可以为操作选择的计算机数量对其进行分类:总FJSP(T-FJSP)和部分FJSP(P-FJSP)。

像“狼”一样工作?车间调度问题的解决方案,灰狼算法究竟是啥?

从上面可以看出,FJSP其实突破了可以为操作选择的机器数量的奇异性,如果所有操作都可以由任何机器处理,这种情况定义为T-FJSP。

同时如果存在无法在某些计算机上处理的操作,则可以将这种情况归类为P-FJSP,与T-FJSP相比,P-FJSP更具普遍性,因此我们也更加侧重于P-FJSP。

像“狼”一样工作?车间调度问题的解决方案,灰狼算法究竟是啥?

考虑到双目标FJSP,其主要目的是根据处理约束将每个作业分配给相应的机器,最终获得确保最小制造跨度和最小临界机器负载的调度表。

目标函数可以用方程(1)和(2)表示,但有一些约束,为了更好地理解,我们给出了下面问题模型中提到的符号和变量,以及我们常用的一些缩写。

像“狼”一样工作?车间调度问题的解决方案,灰狼算法究竟是啥?

文章中的符号定义和缩写

GWO的灵感来自灰狼群的习性,而灰狼生活在群体中,平均每群有5到12只狼,该算法通过模仿狼群内的分层和猎物攻击行为来工作。

GWO的特征如下所述,在等级分层机制中,群体中的所有个体都可以根据自己的地位分为四类,α、β、δ 和ω狼按从上到下的顺序排列。

像“狼”一样工作?车间调度问题的解决方案,灰狼算法究竟是啥?

α是第一级,负责对人群中的群体行动做出决策。

第二个层次是β,这一关负责协助α狼,当α狼死亡或变老时,β狼会晋升为α狼的地位。

δ狼在狼群中扮演α狼的训练家角色,负责加强α狼对底层狼的命令。

狼群的最后一关是ω狼,他们需要按照前三级狼的命令来完成自己需要的任务。

像“狼”一样工作?车间调度问题的解决方案,灰狼算法究竟是啥?

根据这些我们就能够看出,灰狼优化算法其实有着非常强大的优势,在车间的调动当中如果使用灰狼算法的话,一方面不用担心程序没有主导,因为就算α狼倒下,也会有β狼顶上。

同时因为有δ狼来训练α狼,所以α狼在大多数情况下都不会出现失误,即便是出错了也会及时被δ狼给纠正。

像“狼”一样工作?车间调度问题的解决方案,灰狼算法究竟是啥?

虽然灰狼优化算法分为了四个部分,但是这其中占据数量最多的部分还是负责实际工作的ω狼,这样就可以做到在不断的自我修正的同时,不会过多的耽误本身应该完成的任务。

从这点来看,灰狼优化算法虽然是从动物身上找到的灵感,但是却非常适合用来解决车间调度问题。

像“狼”一样工作?车间调度问题的解决方案,灰狼算法究竟是啥?

结论

通过灰狼优化算法来求解FJSP,目的是最小化制造跨度和关键机器负载,GWO算法具有参数少、实现方便的优点。

但是它可能会过早结束,为此我们设计了几种改进策略来增强FJSP算法的搜索能力,通过与近年来的研究进行对比实验,验证了该算法的有效性,实验和对比结果表明,该算法能够得到大多数问题。

像“狼”一样工作?车间调度问题的解决方案,灰狼算法究竟是啥?
像“狼”一样工作?车间调度问题的解决方案,灰狼算法究竟是啥?

如果你喜欢我的写的文章,麻烦请点个“关注”,欢迎在评论区与我一同探讨,谢谢。

END

继续阅读