An effective hybrid genetic algorithm and tabu search for flexible job shop scheduling problem
有效求解柔性作业车间调度问题的混合遗传算法和禁忌搜索算法
【0】Li X, Gao L. An effective hybrid genetic algorithm and tabu search for flexible job shop scheduling problem. International Journal of Production Economics. 2016;174:93-110. doi:10.1016/j.ijpe.2016.01.016
0. 摘要(Abstract)
柔性作业车间调度问题(FJSP)是经典作业车间调度问题的扩展,是现代制造系统中一个非常重要的问题。它允许一个操作被给定集合中的任何机器处理。它已被证明是一个NP-hard问题。本文以最大完工时间最小化为目标,提出了一种有效的混合算法(HA),该算法将遗传算法(GA)和禁忌搜索算法(TS)相结合。利用具有强大全局搜索能力的遗传算法进行搜索,利用具有良好局部搜索能力的TS进行开发。因此,本文提出的HA具有很好的搜索能力,能够很好地平衡集约化和多样化。为了有效地求解FJSP问题,该方法采用了有效的编码方法、遗传算子和邻域结构。使用FJSP的六个著名的基准实例(包括201个开放问题)来评估所提出的HA的性能。还提供了所提出的HA和其他最新报告算法之间的比较,以显示所提出方法的有效性和效率。并与其他算法的计算时间进行了比较。实验结果表明,在不考虑求解精度和计算时间的情况下,所提出的HA在求解FJSP方面取得了显著的进步。并对若干基准问题给出了新的最优解。
0.1. 关键词(Keywords)
原文 | 中文 |
---|---|
Flexible job | 柔性作业车间调度 |
Hybrid algorithm | 混合算法 |
Makespan | 最大完工时间 |
Genetic algorithm | 遗传算法 |
Computational time | 计算时间 |
1. 引言(Introduction)
生产调度是现代制造系统计划调度中最重要的问题之一(Chen et al, 1999)。生产调度优化技术可以通过消除或减少调度冲突、减少流程时间和在制品时间、提高生产资源利用率和适应不规律的车间扰动,显著提高制造设施的效率。在制造系统中有几种车间格调(包括作业车间调度问题,JSP) (Wang and Cheng, 2015;Liou and Hsieh, 2015)。经典的JSP问题是该领域最困难的问题之一,已被证明是NP-hard问题(gray et al, 1976)。假设每个作业的每个操作都没有灵活性的资源(包括机器和工具)。它可以满足传统制造系统的要求。然而,在现代制造企业中,为了提高生产效率,引入了许多柔性制造系统和数控机床(Seebacher and Winkler, 2014)。这些系统和机器可以处理几种类型的操作。这意味着假设一台机器只处理一个类型的操作在JSP不能匹配这种情况。在这种情况下,柔性作业车间调度问题(FJSP)越来越受到研究人员和工程师的关注(Chaudhry和Khan, 2016)。
笔记:
介绍背景,从JSP问题着手分析其是np-hard问题,并根据显示情况,引出FJSP。**
FJSP是经典JSP的扩展,它允许给定集合中的任何机器处理一个操作。FJSP可以分解为两个子问题:机器选择问题(MS)和操作排序问题(OS)。JSP只包含操作系统问题。因此,在相同的规模下,FJSP比JSP更复杂。所以它也是NP-hard问题。在Brucker和Schile(1990)于1990年首次提出这个问题之后,已经提出了许多方法来解决这个问题。
目前求解FJSP的方法主要有精确算法、调度规则、进化算法(EA) ,基于群体智能(SI)的方法,局部搜索(LS)算法等。FJSP的研究成果也被用于一些实际应用中。
每种算法都有自己的优点。然而,它也缺乏一些能力。没有一种算法能够解决基于no Free Lunch定理的所有类型的优化问题(Wolpert And Macready, 1997)。为此,本文提出了一种将全局搜索和局部搜索相结合的混合算法(HA),利用遗传算法(GA)进行搜索,利用引导LS算法(禁忌搜索,TS)进行开发。遗传算法具有强大的全局搜索能力,而TS算法具有宝贵的局部搜索能力。该方法结合了遗传算法和TS算法的优点。因此,它具有非常有效的搜索能力,能够很好地平衡集约化和多样化。为了有效地求解FJSP问题,该方法采用了有效的编码方法、遗传算子和邻域结构。使用FJSP的6个著名的基准测试实例(包括201个开放问题)来评估所提出的HA的性能。通过实验研究,可以清楚地证明该方法的优点。
本文的其余部分结构如下。第2节介绍了文献综述。问题的表述将在第3节讨论。第4节提出了基于ha的FJSP方法。实验研究报告在第5节。第6节描述了结论和未来的工作。
笔记:
提出解决FJSP问题的痛点,引出本文的算法,结合了遗传算法和TS算法的优点,并说明验证其有效性
2. 文献综述(Literature review)
所报道的FJSP方法可以分为两类。第一个是精确法,另一个是近似法。精确方法包含数学规划(MP)方法。该近似方法包含一些调度规则和基于人工智能的方法。
- Brucker和Schile(1990)首先提出了FJSP,并提出了一种多项式图形算法(PGA)来求解双作业FJSP。
- Torabi等(2005)针对确定性柔性作业车间中常见周期多产品批量调度问题,提出了一种混合整数非线性规划,该规划需要同时确定机器分配、排序、批量和调度决策。
- Gomes等(2005)提出了一种新的FJSP整数线性规划模型,并使用商用混合整数线性规划(MILP)软件来解决这一问题。
- Demir和Isleyen(2013)评估了FJSP的几个数学模型。
- Roshanaei等人(2013)为FJSP开发了两个新的MILP模型。精确方法可以得到精确的最优解。
然而,精确的算法对于解决大规模的FJSP实例(操作总数超过200)是无效的(Pezzella et al, 2008)。因此,目前大多数关于FJSP的方法都集中在近似方法上,包括调度规则和基于人工智能的方法。
- Paulli(1995)应用了一些现有的dr来解决MS子问题,并使用了几种不同的TS方法来处理OS子问题。
- Tay和Ho(2008)利用遗传规划发现的dr来求解多目标FJSP。
- Baykasoglu和Ozbakir(2010)分析了DRs对不同灵活性水平作业车间调度绩效的影响。
- Ziaee(2014)提出了一种基于构建过程的求解FJSP的启发式方法。dr的优点是简单,可以解决大规模的问题。然而,dr的结果质量不是很好。
因此,FJSP的许多方法都是基于人工智能的方法,如人工免疫算法,滤波光束搜索、差异搜索、和谐搜索,进化算法(EA),基于群体智能(SI)的方法,局部搜索(LS)算法,混合算法(HA)等。
进化算法(EA)是一种有效的元启发式方法,包括遗传算法(GA)、遗传规划、进化策略和进化规划。
-
Jensen(2003)考虑了FJSP健壮和灵活的解决方案问题。Ho等人(2007)提出了FJSP学习和进化的架构,称为可学习遗传架构(LEGA)。
-
Pezzella等人(2008)开发了一种遗传算法,该算法集成了产生初始种群、选择繁殖个体和繁殖新个体的不同策略,以解决FJSP问题。
-
Giovanni and Pezzella(2010)提出了一种改进的遗传算法来解决分布式FJSP问题。
-
Zhang等(2011)提出了一种针对FJSP的改进遗传算法,并取得了良好的效果。
-
Chen等(2012)开发了一种基于遗传算法和分组遗传算法的FJSP算法。
-
蒋和林(2013)提出了一种多目标EA,该EA利用了有效的遗传算子,并仔细保持了多目标FJSP的种群多样性。
-
Xiong et al .(2013)提出了一种多目标EA,用于具有随机机器故障的FJSP鲁棒调度。
-
Demir和Isleyen(2014)开发了一种有效的遗传算法,用于操作重叠的FJSP。
-
Driss等人(2015)开发了一种遗传算法,该算法采用了一种新的染色体表示和一些不同的FJSP交叉和突变策略。但是,它在MK01问题上的实验结果是错误的。作者还将提议的遗传算法应用于一家制药公司。
上述已发表的研究表明,ea具有强大的全局搜索能力,对调度问题是有效的。然而,由于缺乏邻域搜索程序,它们不具备良好的局部搜索能力。它们可以通过与其他本地搜索算法相结合而得到改进。
群智能(Swarm intelligence, SI)方法是另一种有效的元启发式方法,包括蚁群优化(ant colony optimization, ACO)算法、粒子群优化(particle Swarm optimization, PSO)算法和人工蜂群(artificial bee colony, ABC)算法等。蚁群算法擅长解决一般和组合优化问题(Girish and Jawahar, 2009)。
- Rossi和Dini(2007)提出了一个基于蚁群算法的软件系统,用于解决作业车间环境中的FJSP问题,该环境具有路由灵活性、顺序依赖的设置和运输时间。
- Girish和Jawahar(2009)提出了FJSP在makespan准则下的蚁群算法,并使用ILOG Solver来评估所提出算法的性能。
- Huang等人(2013)为FJSP开发了一种双信息素蚁群算法,考虑了作业的到期窗口和顺序依赖的设置时间。
- Rossi(2014)提出了一种基于析取图模型的蚁群算法,该算法具有增强的费洛蒙关系,该模型考虑了序列依赖的设置和运输时间。
- Gao等人(2006)为FJSP开发了一种有效的通用粒子群算法。
- Li等人(2011a)为多目标FJSP开发了一种基于pareto的ABC算法。
- Wang等(2012)提出了一种考虑完工时间的FJSP ABC算法。
- Gao等人(2015)提出了一种带有新作业插入的FJSP两阶段ABC算法。SI方法与ea具有相似的搜索特性。
局部搜索(LS)方法包括禁忌搜索(TS)、模拟退火(SA)、变邻域搜索(VNS)等。其有效性主要取决于邻域结构的设计。由于它的特性,它是解决调度问题最有效的方法之一。Hurink等(1994)采用TS技术求解FJSP。Peres和Paulli(1997)开发了一个TS来解决FJSP。Mastrolilli和Gambardella(2000)提出了一种具有两个有效邻域函数的TS程序来求解FJSP,并获得了良好的结果。Bozejko等人
(2010)提出了一种并行的双级元启发式方法,该方法基于在更高级别上实现的两种方法:TS和基于人口的方法。
- 维尔科特和比劳特(2011)为考虑完工时间和最大延迟的多标准FJSP开发了一个TS。
- Jia and Hu(2014)针对多目标FJSP提出了一种基于TS算法的反向跳跃跟踪路径链接算法。
VNS是一种著名的元启发式算法,已成功地应用于求解多个优化问题。
- Amiri等人(2010)提出了一种VNS算法来求解FJSP以最小化完工时间。
- Yazdani等人(2010)开发了一种并行VNS算法来解决最小化完工时间的FJSP问题。
- Karimi等(2012)提出了一种基于知识的FJSP VNS算法。
基于以上分析,大多数LS方法都是基于单点的方法。这一特点使得它们缺乏全局搜索能力。因此,它们应该与其他全局搜索算法相结合。
一些研究者也尝试将几种算法混合在一起,构建一些有效的FJSP混合算法(HA)。
- Zribi等人(2007)提出了FJSP的分层方法。在该方法中,针对MS子问题,他们提出了两种方法;对于操作系统子问题,他们使用混合遗传算法来处理它。
- Gao等人(2008)为FJSP开发了一种混合遗传和可变邻域下降算法。
- Ho and Tay(2008)结合进化算法,引导LS求解多目标FJSP。
- Li等(2011b)针对FJSP提出了一种具有高效邻域结构的混合TS算法。
- Moslehi和Mahnam(2011)提出了一种基于粒子群算法和局部搜索的多目标FJSP Pareto方法。
- Zhang等(2012)具有运输约束和有限处理时间的FJSP的混合遗传算法和TS。
- Yuan and Xu (2013c)将差分进化与基于关键路径的局部搜索算法相结合,用于FJSP。
- 帕拉西奥斯et al (2015 b)开发了一种混合遗传禁忌搜索算法的模糊FJSP。
- Yuan and Xu(2015)提出了将非支配排序遗传算法(NSGAII)与一种新的局部搜索算法相结合的多目标FJSP模因算法。
综上所述,不同的算法各有优缺点。表1分析了为FJSP开发的不同算法(包括MP、dr、EA、SI、LS和HA)的特性(Chaudhry and Khan, 2016)。研究应根据不同算法的特性开发出有效的方法。在分析上述方法的基础上,本研究提出了一种新的基于ha的FJSP方法。