摘要
为解决现有基于关键路径的邻域搜索存在无效移动多、盲目性大以及仅优化单一目标的问题,设计了更加明确精准有效的邻域结构,包括同机器移动和跨机器移动两步操作;在此基础上,给出相应的关键工序精确移动条件,并将其从优化最大完工时间推广到多目标优化;为兼顾算法局部搜索和全局搜索,将其与进化算法进行混合,实现局部与全局的优势互补,并给出相应的混合算法框架;最后,通过两个国际通用的案例集进行测试,并将测试结果与成熟的算法进行对比,验证了所设计算法的有效性和高效性。
生产调度优化是制造执行系统的核心功能模块,也是公认的Np-hard难
柔性作业车间调度问题(flexible job-shop scheduling problem, FJSP)是经典作业车间调度问题的扩展,由于其打破了工序单一设备资源的约束,使生产过程具备一定的柔性,因此,FJSP更加符合生产实际,同时问题求解也变得更加复杂,尤其是多目标FJSP(multi-objective FJSP, MOFJSP)。
近年来,以智能算法为代表的MOFJSP求解方法由于其优越的全局搜索能力和易于实现的特点得到了广泛的研究和应用。然而,仅仅使用智能算法求解问题的最优解仍有一定的局限性。混合算法已被多位学者证实往往能够得到更优越的解,尤其是混合智能算法和邻域搜索。例如:Gao
尽管混合邻域搜索的智能算法已有大量研究成果,然而在进行邻域搜索时盲目、随机、过多无效移动以及仅能优化单一目标的问题仍然存
为进一步提高邻域搜索的准确性和有效性,本文对基于关键路径的邻域结构进行深入研究,对已有的关键工序同机器移动和跨机器移动操作进行改进和扩展,使其更加精准有效的同时,适用于多目标邻域搜索。在此基础上,将其与进化算法进行混合求解MOFJSP,通过国际通用的基准案例进行测试,验证所提方法的有效性。
MOFJSP问题描述
本文采用多目标车间调度研究文献中最常用的三个优化目
(1) |
(2) |
(3) |
s.t.
(4) |
(5) |
(6) |
式中:Ci为工件i的完工时间;pijk为工序Oij在机器k上的加工时间;xijk为决策变量,如果工序Oij在机器k上加工,其值为1,否则为0。
基于析取图理论产生的关键路径邻域搜索是一种高效局部最优解求解方法,通常包括两步:同机器移动关键工序和跨机器移动关键工序。其核心思想是最大化利用机器上相邻工序间空闲时间,难点在于如何实现精准邻域搜索以减少无效移动。
文献[
(1) 同机器移动关键工序
长期试验发现,有效同机器关键工序移动往往存在于关键工序前移中,为此,该部分对工序前移进行深入研究,给出工序前移邻域结构和关键工序精确前移条件,与现有同机器关键工序移动操作相比,本文所设计方法更加精确,避免大量试探性无效移动,且只需对一种邻域结构进行精确移动,便可达到预期优化效果。
为介绍同机器精确移动关键工序操作,首先对一些符号进行解释说明:假设u为一道工序,则其工件前道工序表示为JP[u],其工件后续工序表示为JS[u],其机器前道工序表示为MP[u],其机器后续工序表示为MS[u];S(u)为工序u的开始加工时间(也是最早开始加工时间),

图1 同机器移动关键工序
Fig. 1 Critical operation on the same machine
由于同机器移动关键工序并不会改变工序在机器上的分配结果,因此,同机器移动关键工序可有效降低目标值F1,但对于目标值F2和F3并无影响。首先识别关键路径上的关键块以及关键块的后续工序。如果要减小F1,则关键块的后续工序的开始加工时间会因为关键块中关键工序的移动而提前,因此,工序块的后续工序之前必须要有可提前的空间,如
(7) |
证明:反证法,假设u不是工序块的块尾工序,v是工序块的块尾工序,u在v之前,由于JS[u]之前存在时间间隔,那么S(JS[u])不再是工序块块尾工序的完成时间,而是max{C(u),C(MP[JS[u]])},显然,这与关键路径的工序先后顺序约束关系矛盾,问题得证。
仅同时满足邻域结构条件1和2的工序块才会被考虑进行同机器移动关键工序操作,显然,该邻域结构可有效去除无效工序块,降低工序块选择的盲目性。如果工序块后续工序的工件前道工序u不包括在此时的关键块中,那么其必定属于其他的关键路径并与其他工序块或关键工序构成上述关系。
在满足上述邻域结构的情况下,要使S(JS[u])提前,有两种实现方案,第一,u位于块尾的位置不变,通过移动块内其他关键工序使得工序块整体开始加工时间提前;第二,移动块尾工序u到工序块的其他位置,使得u的完工时间C(u)提前。
针对第一种情况,采取将关键块中位于块首和块尾之间的关键工序分别移动到块首之前的移动操作。假设a为块首工序,b为块首和块尾之间的工序,e为b移动到块首位置的跨越工序,那么只有在b移动到块首位置之后,其开始加工时间小于原来块首a的开始加工时间,并且其跨越工序的移动后的开始加工时间要小于其移动前最晚开始加工时间才能降低F1的值。为此,该类移动需要满足式(
(8) |
(9) |
(10) |
式中:上标af,be分别表示工序移动之后和工序移动之前。
针对第二种情况,采取将块尾工序分别移动到块中非块尾工序前方的操作,假设u为块尾工序,g为块中任意一个非块尾工序,那么只有块尾工序的跨越工序移动后的开始加工时间小于其移动前的最晚开始加工时间才能降低F1的值,为此,该类移动需要满足
(11) |
仅当精确前移条件1和2至少满足其一时才进行同机器关键工序移动,该方法显然比传统试探性移动判别方法更加清楚、简洁以及运算量小,避免大量无效移动。
(2) 跨机器移动关键工序
文献[
跨机器移动关键工序示意图如
(12) |

图2 跨机器移动关键工序
Fig. 2 Critical operation across machines
然而,
(13) |
(14) |
(15) |
进行跨机器移动关键工序时,候选机器选择顺序也是要解决的难题,在现有文献报道中,都只提到要进行跨机器移动关键工序,但是对于候选机器选择顺序问题却很少提及,造成跨机器移动存在盲目性和大量无用试探性计算,为此,本文首次提出跨机器移动关键工序的机器选择方法:
在满足
(16) |
为保持设备间的负载平衡,提出最小机器负载优先原则,对剩余候选设备进行负载计算,并按负载大小进行排序,负载小的设备优先进行跨机器移动;如果负载相同,则进行信息度测量计算,信息度小的将被优先选择,即:
(17) |
式中:Oinf代表信息度。
与经典进化算法相比,由于本文将使用更为精确有效的邻域搜索,因此,在进化算法设计时重点在于扩大种群多样性,在解空间中获得更分散的点。同时为了便于复现算法以及保持论文结构完整性,该部分将对改进的进化算法框架进行简要介绍。
(1) 编码与解码
MOFJSP包括机器选择和工序排序两个子问题,即:首先为工序选择合适的加工机器,然后对每台机器上分配的工序进行排序以满足优化目标的要求。为便于编程实现,本文采用最常用的简洁的A-B链编码方式,A链为机器选择链,B链为工序链。如

图3 染色体编码方式
Fig. 3 Chromosome coding
解码采用基于主动调度理论的左移插空法解码方式。按照B链中的工序顺序在A链对应的机器上依次进行解码,解码过程中,总是在机器上寻找可用的时间间隔,从而使得生产过程更加紧凑,缩短加工完成时间。
(2) 种群初始化
为确保种群多样性,种群初始化采用混合策略生成法。机器选择混合随机、最小处理时间、局部最小处理时间、全局最小处理时间4种规则;工序排序混合随机、最多负荷剩余、最多工序剩余以及最短处理时间4种规则,详细解释可参考文献[
(3) 交叉操作
与经典遗传算法不同,为保持物种多样性,本文不再采用单一的交叉方式,混合交叉方法在本文中被设计并使用,A链交叉操作包括:MP
(4) 变异操作
为进一步增强种群多样性,在进化算法中设计并使用了较大扰动变异方式。A链变异采用双点替换法,从A链中随机选择两个基因位,分别从各自候选设备集中随机选择与当前机器不同的机器替换当前的机器;B链变异采用三点重置法,随机选择三个基因位,重新打乱三个基因位的位置关系。
(5) 选择操作
MOFJSP中染色体选择通常有两种方式:基于加权和的染色体适应度选择方法和基于支配关系的染色体选择方法。由于加权和求解方式中加权数的确定较为困难,而基于支配关系的选择方式不需要考虑加权数,因此,本文采用基于支配关系的染色体选择方法。基于支配关系的染色体选择具体操作流程可参考文献[
进化算法具有较强全局搜索能力,然而其局部求解能力较弱,邻域搜索具有较强局部寻优能力,然而其缺点是容易陷入局部最优解。因此,结合进化算法全局搜索能力以及邻域搜索局部寻优优势可以有效克服单一算法的弊端,提高算法的整体求解性能。
混合算法框架如

图4 混合算法框架图
Fig. 4 Framework of hybrid algorithm
采用Python编程语言实现所述混合算法。测试所用计算机为:Intel i5-6400 CPU,主频2.70 GHz,内存8.00 GB。算法参数设置如下:种群规模为10n,交叉概率为0.8,变异概率为0.3,最大迭代次数为150代。为了测试所提算法的性能,本文将使用两个国际通用的标准案例集进行测试并与其他成熟的算法进行对比。第一个案例集为Kace
首先测试Kacem案例集,并将测试结果与4个成熟的算法进行对比,包括:HTAB
为了更好地描述本文所提算法的优越性,对
为了进一步说明所提算法的优越性,采用综合评价指标反向世代距离IGD(inverted generational distance,IGD)进行分析,IGD计算方法如
(18) |
(19) |
此外,给出了NGA在10×7问题实例上最优解[11, 11, 61]的甘特图,如

图5 10×7问题实例解[11, 11, 61]的甘特图
Fig. 5 Gantt chart of the solution [11, 11, 61] of the 10×7 problem
对于BRdata案例集,得到的最优解不止一个,限于篇幅,无法通过列表的形式全部给出,因此采用两种方法来验证所设计算法的性能。第一,对比单个解的质量,从所设计算法的所有解中选择一个最优的解与其他成熟的多目标算法同规则选择的最优解进行对比,最优解选择规则为:F1最小的解优先被选中,如果F1值相同,则选择F2最小的解;第二,对比所有解的质量,基于支配关系对比解的总体特性。
对比单个解的质量,对比算法包括:AES
对比所有解的质量,对比算法包括:MG
(20) |
由
由
为了表明解在三维空间中的分布特性,给出了问题实例MK01、MK03、MK07和MK10的帕累托前沿图,如

图6 帕累托前沿面
Fig. 6 Pareto front
本文针对MOFJSP问题,提出了一种混合精确邻域搜索的多目标进化算法。首先,针对同机器移动关键工序设计了更为明确精准有效的邻域搜索结构,为了适应该邻域结构,给出了目标优化的两种关键工序精确移动条件,该设计有效避免了同机器移动关键工序中工序块选择和关键工序移动的盲目性;针对跨机器移动关键工序,将现有的单目标邻域搜索推广到多目标,并首次提出了精确的候选机器选择方法,该方法可有效降低跨机器移动关键工序中候选机器选择的盲目性,避免大量无效移动。其次,将精确邻域搜索与改进的进化算法混合,实现了局部搜索与全局搜索的优势互补。最后,通过国际基准案例测试以及与其他成熟算法的对比分析验证了所设计算法的有效性和高效性,结果表明,该算法性能优越。
作者贡献声明
王家海:提出研究方向,给予建设性建议;
李营力:完成实验并撰写文章;
刘铮玮:协助实验,分析数据;
刘江山:给出论文修改建议和格式检查。
参考文献
WANG X, GAO L, ZHANG C, et al. A multi-objective genetic algorithm based on immune and entropy principle for flexible job-shop scheduling problem[J]. The International Journal of Advanced Manufacturing Technology, 2010, 51(5/8): 757. [百度学术]
GAO J, SUN L, GEN M. A hybrid genetic and variable neighborhood descent algorithm for flexible job shop scheduling problems[J]. Computers & Operations Research, 2008, 35(9): 2892. [百度学术]
LI J Q, PAN Q K, GAO K Z. Pareto-based discrete artificial bee colony algorithm for multi-objective flexible job shop scheduling problems[J]. International Journal of Advanced Manufacturing Technology, 2011, 55(9/12): 1159. [百度学术]
GONG G, DENG Q, CHIONG R, et al. An effective memetic algorithm for multi-objective job-shop scheduling[J]. Knowledge Based Systems, 2019, 182: 104840. [百度学术]
GAO K Z, SUGANTHAN P N, PAN Q K, et al. Pareto-based grouping discrete harmony search algorithm for multi-objective flexible job shop scheduling[J]. Information Sciences, 2014, 289: 76. [百度学术]
LI J Q, PAN Q K, SUGANTHAN P N, et al. A hybrid tabu search algorithm with an efficient neighborhood structure for the flexible job shop scheduling problem[J]. International Journal of Advanced Manufacturing Technology, 2011, 52(5/8): 683. [百度学术]
VITAL-SOTO A, AZAB A, BAKI M F. Mathematical modeling and a hybridized bacterial foraging optimization algorithm for the flexible job-shop scheduling problem with sequencing flexibility[J]. Journal of Manufacturing Systems, 2020, 54: 74. [百度学术]
ZHANG G, SHAO X, LI P, et al. An effective hybrid particle swarm optimization algorithm for multi-objective flexible job-shop scheduling problem[J]. Computers & Industrial Engineering, 2009, 56(4): 1309. [百度学术]
CHIANG T C, LIN H J. A simple and effective evolutionary algorithm for multiobjective flexible job shop scheduling[J]. International Journal of Production Economics, 2013, 141(1): 87. [百度学术]
WANG L, ZHOU G, XU Y, et al. An enhanced Pareto-based artificial bee colony algorithm for the multi-objective flexible job-shop scheduling[J]. International Journal of Advanced Manufacturing Technology, 2012, 60(9/12): 1111. [百度学术]
赵诗奎. 柔性作业车间调度的改进邻域结构混合算法[J]. 计算机集成制造系统, 2018, 24(12): 144. [百度学术]
ZHAO Shikui. Hybrid algorithm based on improved neighborhood structure for flexible job shop scheduling[J]. Computer Integrated Manufacturing Systems, 2018, 24(12): 144. [百度学术]
赵诗奎. 求解柔性作业车间调度问题的两级邻域搜索混合算法[J]. 机械工程学报, 2015(14): 181. [百度学术]
ZHAO Shikui. Bilevel neighborhood search hybrid algorithm for the flexible job shop scheduling problem[J]. Journal of Mechanical Engineering, 2015(14): 181. [百度学术]
ZHANG C Y, LI P G, RAO Y Q, et al. A new hybrid GA/SA algorithm for the job shop scheduling problem[C]// European Conference on Evolutionary Computation in Combinatorial Optimization. Berlin: Springer, 2005:246-259. [百度学术]
KACEM I, HAMMADI S, BORNE P. Pareto-optimality approach for flexible job-shop scheduling problems: hybridization of evolutionary algorithms and fuzzy logic[J]. Mathematics & Computers in Simulation, 2002, 60(3/5): 245. [百度学术]
BRANDIMARTE P. Routing and scheduling in a flexible job shop by tabu search[J]. Annals of Operations Research, 1993, 41(3): 157. [百度学术]
孟冠军, 杨大春, 陶细佩. 基于混合人工蜂群算法的多目标柔性作业车间调度问题研究[J]. 计算机应用研究, 2019, 36(4): 972. [百度学术]
MENG Guanjun, YANG Dachun, TAO Xipei. Study on multi-objective flexible job-shop scheduling problem based on hybrid artificial bee colony algorithm[J]. Application Research of Computers, 2019, 36(4): 972. [百度学术]
吴贝贝, 张宏立, 王聪,等. 基于正态云模型的状态转移算法求解多目标柔性作业车间调度问题[J/OL]. [2020-06-05]. https://doi.org/10.13195/j.kzyjc.2019.1233. [百度学术]
WU Beibei, ZHANG Hongli, WANG Chong, et al. State transition algorithm based on normal cloud model for solving multi-objective flexible job shop scheduling problem. [2020-06-05]. https://doi.org/10.13195/j.kzyjc.2019.1233. [百度学术]
XING L N, CHEN Y W, YANG K W. An efficient search method for multi-objective flexible job shop scheduling problems[J]. Journal of Intelligent Manufacturing, 2009, 20(3): 283. [百度学术]
BAGHERI A, ZANDIEH M, MAHDAVI I, et al. An artificial immune algorithm for the flexible job-shop scheduling problem[J]. Future Generation Computer Systems, 2010, 26(4): 533. [百度学术]
裴小兵, 李依臻. 基于三方博弈的改进遗传算法求解多目标柔性作业车间调度[J]. 工业工程与管理, 2020, 25(4): 59. [百度学术]
PEI Xiaobing, LI Yizhen. Improved genetic algorithm based on three-party game for multiobjective flexible job shop scheduling[J]. Industrial Engineering and Management, 2020, 25(4): 59. [百度学术]
DENG Q W, GONG G L, GONG X R, et al. A bee evolutionary guiding nondominated sorting genetic algorithm II for multiobjective flexible job-shop scheduling[J]. Computational Intelligence and Neuroscience, 2017, 2017:1. [百度学术]