摘要
对柔性作业车间调度问题的研究可以令实际生产加工过程更加贴合当今人们对商品个性化和定制化方面的需求。在对柔性作业车间调度问题中的多个性能评价指标进行研究后,巧妙利用它们间的矛盾点,在自创的问题编、解码方案的基础之上,建立了博弈解集,并对传统粒子群算法的寻优机制进行改进,提出了改进博弈粒子群算法。运用该算法对一组标准问题调度算例进行求解, 验证了该算法良好的求解性能。同时,通过与其他粒子群算法结果和耗时等的比对显示该算法可以更有效地求解以最小化最大完工时间作为唯一优化目标的柔性作业车间调度问题。
关键词
调度是一个决策过程,是在规定的时间内进行有限资源的合理化配置,其目的是优化一个或多个目
随着研究的深入,大量元启发式算法被用于对FJSP进行求
对生产调度问题的研究涉及多个调度指标,其中因最大完工时间指标可以有效表达为其他常规调度指标的函数而最常被作为FJSP的目标进行研究。本文同样以该调度指标作为研究FJSP的唯一目标,采用一种字符数串编码方式对FJSP进行编码,同时采用一种基于有效空闲时段插入工序生成活动调度方案的解码方
为方便对FJSP的数学模型进行描述,本文定义了如
优化目标:
约束条件:
FJSP的数学模型中,作业内部的工序加工次序为满足特定的约束条件而进行了预先的排定,因此加工时必须给予保障;但是由于每个作业间的相互对等和独立,不同作业的工序之间优先级相等,其加工次序不受约束,只要相应的加工机器空闲,即可进行加工,但是已经开始进行加工的工序中途不能被取消,也不能被其他作业的工序抢占。同时,FJSP还遵循以下的假定,所有参数均为非负整数;所有作业(第1道工序)在开始时刻(0时刻)均可被加工;每个作业由一个或多个排定的连续工序组成,每个工序至少有一台机器可以对其进行加工,且加工过程不能间断执行;一旦一个工序被加工完成,包含该工序的作业即被立刻转入到其下一个工序所分派的机器等待加工,直到该作业结束,而中间的存储环节被假定为无穷大,可以存储所有待加工的作业。
从机器加工工序的角度(解码问题的角度)看FJSP的约束式,易知每台机器在对所分配到的工序进行加工时,只需保证同属一个作业的工序是按其内部预排的次序进行加工即可。此外,本文对机器故障等其他不确定因素未予考虑;但即使如此,由上述介绍可知,从组合优化角度看,FJSP模型的解(调度方案)随着作业在不同机器上的排布加工可以有多种不同的方案,是NP-hard问题较难求解的一类。如对于一个简单的10个作业分配给10台机器加工的问题,其可能的调度方案就有(10!
博弈粒子群算法在处理FJSP时,使用了一种新的字符数串编码方案,该编码方案采用整数字符数串进行编码,具体的实现过程通过
为配合算法程序使用此编码方案进行求解,编码方案设置了一个数组项数与工序数目相同的字符串数组,以对每种不断变化更新的调度情形进行存储。每次迭代时,一组更新了的工序排序次序码被按照当前工序的顺序,重新赋给每个待加工的工序;同时,根据每个工序所分派的备选机器号,对应的作业、工序和机器信息码被赋给相应的工序,最终形成一个新的调度解,即一个新的可行调度方案。

图1 算法迭代中字符数串编码更新过程
Fig.1 Updating process of the character-number string encoding in iteration
算法求解过程中,需要不断地对新生成的解进行适应度值的评估,因此需要将其解码成为一个可行的调度方案。根据文献[
具体解码时,考察每个工序所分派的机器上已安排的待加工工序情况:如果其上待加工工序间存在符合约束条件的、足够的空闲时段,则将工序尽可能早的安排到此空闲时段内等待加工;否则,就在满足约束条件的情况下,将工序尽量早地安排在该机器上待加工工序队列的队尾。
传统的粒子群算法(particle swarm optimization algorithm, PSO)由Kennedy在考察鸟群协同觅食等行为之后,于1995年提出,算法最终总结了如下的速度、位移迭代公
(1) |
(2) |
式中:、和分别表示惯性系数、个体认知系数和社会认知系数,是维持迭代进行的基本参数;和表示当前的速度值和位移值;和表示下一步的速度值和位移值;表示个体经历过的最好位置;表示当前代中所有个体所经历过的最好位置中最优的一个位置,即,全局最优位置;和为一组内的随机数,用以维系元启发式算法的随机性。其中,每个工序分量的值被用作所有工序排定次序时的比较依据。
当要使最大完工时间()指标最小时,需要令每台加工机器的负载()尽可能的饱满和平衡,因每台机器对各工序的加工性能(处理时间)不同,这种安排不可能将每个工序都安排在使其加工时间最小的机器之上,根据总机器负载()的定义,这将令该指标值增加;同理,要使总机器负载指标值最小,则需要将各个工序都尽量安排在使其加工时间最小的机器之上,这种安排常常会造成工序被集中分派给某些加工性能强的机器,即对大多数工序有较短的加工处理时间的机器(如
因此,当同时考虑优化最大完工时间、总机器负载和个体最大机器负载三个指标时,必然会产生需要调和的矛盾,本文充分利用这些矛盾,为每个粒子构建了个体博弈解集,同时为整个群构建了一个群体博弈解集,然后分别随机使用个体博弈解集和群体博弈解集中的一个解代替传统粒子群公式(
(3) |
(4) |
式中:表示随机地从粒子的个体博弈解集中选出的一个博弈解;而表示随机地从群体博弈解集中选出的一个博弈解。
博弈即一些个人、对、组或者其他组织,面对一堆的环境条件,在一定的规则下,同时或先后,一次或多次,从各自允许选择的行为或策略中进行选择并加以实施,从而获得各自结果的过
本文制定的博弈规则如下:
(1)博弈成功规则:依次取出个体博弈解集中的一个解与当前的新解进行博弈,当新解对应的调度方案中至少有1个指标优于正与之博弈的个体博弈解集中的某个解的对应指标,且另2个指标均不劣于正与之博弈的解的对应指标,则用当前的新解替换正与之博弈的个体博弈解集中的解;同时触发下一级的博弈,即使用当前的新解继续与群体博弈解集中的所有解进行逐个博弈,同样,当新解对应的调度方案中至少有1个指标优于当前正与之博弈的群体博弈解集中的某个解的对应指标,且另2个指标均不劣于当前与之博弈的解的对应指标,则用新解继续替换群体博弈解集中正与之博弈的解。
(2)博弈相持规则:不论在哪一级博弈中,当新解中至少1个指标优于当前正与之博弈的解的对应指标,而又未达替换正与之博弈的解的条件时,将当前的新解加入到正与之博弈的解所在的解集中。即,当前新解若处于与个体博弈解集中的所有解进行逐个博弈的阶段,则仅增添至个体博弈解集中;若处于与群体博弈解集中的所有解进行逐个博弈的阶段,则仅增添入群体博弈解集中,而此时,个体博弈解集中的某个解应已被当前新解所替代。
(3)博弈失败规则:不论在哪一级的博弈中,当新解中所有的指标均不优于正与之博弈的解的所有对应指标,则放弃该新解,停止博弈,各博弈解集维持不变。
特别需要说明的是,算法开始运行时,当每个粒子被用随机位置完成初始化后,此粒子所对应的解即为每个粒子个体博弈解集中的初始解,并直接与群体博弈解集中所有的解进行逐个博弈,以维护群体博弈解集;而群体博弈解集中的初始解,则默认为第一个被随机位置初始化的粒子所对应的解。
新的改进算法在本文中被命名为博弈粒子群算法(Gaming PSO)。为方便算法流程的阐述,假设粒子编号为pno,种群规模数为N,迭代计数为r,算法的总迭代次数为R, 算法流程如

图2 博弈粒子群算法流程
Fig.2 Flow of gaming PSO algorithm
关键工序是确定关键路径的核心要素,关键路径法由Kelly和Walker共同研究提出。该方法为有效解决资源分配与平衡等问题提供了指导思路,在众多学科领域发挥了重要作用。具体在求解FJSP过程中,考察每一个可行的调度方案(调度解),那些不能提前也不能推迟的工序被称为关键工序,而由关键工序组成的每一条完工路径都是关键路径。
依据关键路径法中关键工序的定义,关键工序的确定就是考察当前正向安排的调度解中的所有工序,以正向调度安排的最大完工时间作为基准进行逆向调度安排,即将正向调度安排中的每个工序尽可能的延后加工。对比两种调度安排,找出那些在两种调度安排下,即不能提前也不能推迟的工序,从而确定出当前的关键工序。由关键工序确定的过程,可以看出关键工序是随调度解的不同而动态变化的。

图3 确定关键工序
Fig.3 Illustration of finding out critical operations
由
Brandimarte等设计了一组FJSP算
粒子群算法参数的选择主要根据Clerc的研究结果选
此外,通过对比
本文提出的博弈粒子群算法充分利用了问题各性能指标之间的矛盾,通过形成博弈解集对传统的粒子群算法的信息交流机制进行改良,最终在对研究的单目标调度问题求解过程中取得了更显著的效果。由于问题各性能指标的满足都需要在规定时间内分配到所需的有限资源(矛盾点),因此对矛盾博弈的过程间接为所设定的目标寻优提供了有效的探索方向和驱离局部极值点的动力。博弈粒子群算法利用了这种隐性特性,结合对关键工序备机再分派规则对问题求解,不仅提升了算法的求解速度,也增加了算法的求解精度,而通过用其测试结果与其他算法相应结果进行对比,进一步表明博弈粒子群算法对单目标FJSP问题求解具有良好的求解性能。
作者贡献声明
顾幸生:算法的前期规划和实现过程中的修正以及论文的统稿工作。
丁豪杰:算法的设计与编程实现,算例测试和结果比较及论文的撰写和修正工作。
参考文献
PINEDO L M. Scheduling theory, algorithms, and systems[M]. 5th ed. New York: Springer, 2016. [百度学术]
连志刚. 制造业信息化管控设计与优化[M]. 上海: 上海科学普及出版社, 2016. [百度学术]
LIANG Zhigang. Design and optimization of informationization management and control of manufacturing industry[M]. Shanghai: Shanghai Science Popularization Press, 2016. [百度学术]
ANDRADE-P J L, CANCA D, GONZALEZ-R P L, et al. Scheduling a dual-resource flexible job shop with makespan and due date-related criteria[J]. Annals of Operations Research, 2020, 291: 5. [百度学术]
PELLERIN R, PERRIER N, BERTHAUT F. A survey of hybrid metaheuristics for the resource-constrained project scheduling problem[J]. European Journal of Operational Research, 2020, 280(2): 395. [百度学术]
MESGHOUNI K, HAMMADI S, BORNE P. Evolution programs for job-shop scheduling[C]//IEEE International Conference on Systems, Man, and Cybernetics. Computational Cybernetics and Simulation.[S.l.]:IEEE,1997: 720-725. [百度学术]
ONG Z X, TAY J C, KWOH C K. Applying the clonal selection principle to find flexible job-shop schedules[C]// Artificial Immune Systems, ICARIS 2005. Berlin:Springer, 2005, 3627:442-455. [百度学术]
ZRIBI N, KACEM I, KAMEL A E, et al. Assignment and scheduling in flexible job-shops by hierarchical optimization[J]. IEEE Transactions on Systems, Man and Cybernetics, Part C (Applications and Reviews), 2007, 37(4): 652. [百度学术]
TAY J C, HO N B. Evolving dispatching rules using genetic programming for solving multi-objective flexible job-shop problems[J]. Computers & Industrial Engineering, 2008, 54(3): 453. [百度学术]
LIOUANE N, SAAD I, HAMMADI S, et al. Ant systems and local search optimization for flexible job shop scheduling production[J]. International Journal of Computers, Communications & Control, 2007, 2(2): 174. [百度学术]
GIRISH B S, JAWAHAR N. A particle swarm optimization algorithm for flexible job shop scheduling problem[C]// IEEE International Conference on Automation Science and Engineering. Bangalore: IEEE, 2009: 298-303. [百度学术]
NOUIRI M, BEKRAR A, JEMAI A, et al. An effective and distributed particle swarm optimization algorithm for flexible job-shop scheduling problem[J]. Journal of Intelligent Manufacturing, 2018, 29: 603 [百度学术]
LU Chao, LI Xinyu, GAO Liang, et al. An effective multi-objective discrete virus optimization algorithm for flexible job-shop scheduling problem with controllable processing times[J]. Computers & Industrial Engineering, 2017, 104: 156. [百度学术]
ZHOU Yanping, GU Xingsheng. One machine sequencing game with lateness penalties[J]. International Journal on Information, 2012, 15(11): 4429. [百度学术]
顾幸生, 潘晔, 卢胜利. 基于改进支持向量机的作物叶水势软测量建模[J]. 同济大学学报(自然科学版), 2010, 38(11): 1669. [百度学术]
GU Xingsheng, PAN Ye, LU Shengli. Modeling of crop leaf water potential soft sensor based on improved support vector machine[J]. Journal of Tongji University (Natural Science), 2010, 38(11): 1669. [百度学术]
BRANDIMARTE P. Routing and scheduling in a flexible job shop by tabu search[J]. Annals of Operations Research, 1993, 41(3): 157. [百度学术]
CLERC M. Particle swarm optimization[M]. London: ISTE Ltd, 2006. [百度学术]
DING Haojie, GU Xingsheng. Improved particle swarm optimization algorithm based novel encoding and decoding schemes for flexible job shop scheduling problem[J]. Computers & Operations Research, 2020, 121(9): 104951. [百度学术]