基于混合教学优化算法的多车间协作综合调度

廖不凡1 雷 琦1 吴文烈2 宋豫川1 郭伟飞1

1.重庆大学机械传动国家重点实验室,重庆,4000442.复旦大学科学技术研究院,上海,200433

摘要目前在处理加工属性类似的多车间协作综合调度问题时,几乎都是采用调度规则,对产品加工工艺结构的依赖度过高,降低了算法对同一类问题不同实例的适应性,并且对大型实例的求解结果普遍欠佳,为此提出了一种混合教学优化算法。该算法在基本教学优化算法的基础上加入采用变异操作模拟的自学习阶段,提高其局部搜索能力,并且在教学、互学和自学三个阶段均按照模拟退火算法中Metropolis准则计算的概率,随机接受学生群体中某一个较差个体作为新个体,进一步提高算法跳出局部最优解的能力;教学、互学和自学三个阶段设计的变换操作均考虑综合调度问题中各虚拟工序之间的顺序约束关系,保证生成的解均是可行解。通过测试以往该类问题实例,得到的结果验证了所提算法的可行性和有效性。

关键词多车间协作;综合调度;教学优化算法;自学习;Metropolis准则

0 引言

产品制造调度问题一直是生产领域和组合优化领域研究的热点问题,同时也是典型的NP-Hard问题。传统车间调度主要解决的是各工件之间不存在顺序约束关系的纯加工问题,主要包括流水车间(flow-shop)调度问题和作业车间(job-shop)调度问题等。钟祾充等[1]针对多目标置换流水线车间调度问题提出了一种混合布谷鸟算法,有效解决了两台设备以上的多目标置换流水车间调度问题;朱传军等[2]以调度稳定性和鲁棒性为优化目标,建立了多目标柔性作业车间动态调度问题模型,并设计了一种改进的多目标差分进化算法有效求解了该调度问题。但是在产品的需求不断向个性化、多样化发展的今天,定制化、小批量产品的订单越来越多,传统车间调度方法将产品的加工与装配一分为二,分别进行调度不但割裂了产品原本存在的加工与装配的并行关系,而且影响了产品的精度质量,一般比将加工和装配同时处理的综合调度所用的生产时间长[3],所以对零件加工和组件装配混合生产的车间综合调度问题的研究显得不可或缺。

目前国内外研究者对综合调度问题的研究主要集中于单车间综合调度问题,如文献[4]提出的基于设备驱动和实质路径的复杂单产品动态并行综合柔性调度算法。由于组件装配所需的子组件或零件可能由加工属性类似的不同车间进行协作生产,所以在进行计划调度时必须同时考虑车间协作对调度结果的影响[5]。而目前对同一家企业拥有加工属性类似的多个车间或者不同企业拥有加工属性类似的车间相互合作进行生产的多车间协作综合调度问题的研究较少。文献[6]针对存在多工序同时结束的单件复杂产品的多车间制造问题,提出了存在多工序同时结束的多车间逆序综合调度算法;文献[7]采用邻域渲染的二车间调度思想,提出关键设备均衡策略,将关键设备上的所有加工工序预先按并行加工时间最长方案均衡地分配到二车间,但是该策略没有充分考虑已调度的并行工序抢占加工设备等制约因素的影响,从而导致串行工序之间的紧密度较差;文献[8]采用择时的二车间调度思想,提出了工序序列排序策略和二车间择时调度策略,计算出使当前部分产品加工总时长最小的调度方案,但是该策略只考虑了当前所有已调度工序的理想状态且策略的复杂度较高,不适合大型实例的实际应用。

综上所述,目前关于多车间协作综合调度主要存在以下几个问题:①几乎都是采用调度规则算法解决该类问题,对产品加工工艺结构的依赖度过高,对该类问题的不同实例适应性不强;②调度规则方法由于适应性上的不足造成它比较适合产品规模结构较小的综合调度问题,不适应于实际生产中较大规模的综合调度问题,求解大规模综合调度问题时在求解结果上普遍欠佳;③针对同一个综合调度问题大多数调度规则只能求得单一的最优调度方案,解的多样性较差。

教学优化(teaching-learning-based optimization,TLBO)算法是一种基于群体的新型智能优化算法,主要包括教师的教学阶段和学生之间的交互学习阶段,该算法由RAO等[9]于2010年提出,目前已广泛应用于生产调度[10]、二次分配[11]和神经网络[12]等领域。

本文针对目前多车间协作综合调度领域存在的主要问题,提出一种混合TLBO算法。该算法在基本TLBO算法的基础上加入学生的自学习阶段,学生可以对自身所学知识进行扩展,提高其局部搜索能力,并且在教学、互学和自学三个阶段均按照模拟退火算法中Metropolis准则[13]计算的概率,随机接受个体中某一个较差个体作为新个体,进一步提高算法跳出局部最优解的能力。

1 问题描述

多车间协作复杂产品综合调度问题需在一般车间调度问题的基础上综合考虑加工工序和装配工序,同时考虑车间协作对调度结果的影响,因此调度的协调复杂度增大了。复杂产品综合调度问题中产品的加工工艺图呈树状结构,其中各节点代表加工或装配工序,每个工序可能有一个或一个以上的紧前工序,但至多只能有一个紧后工序,若某个工序的紧前工序大于或等于2个,则该工序被称为装配工序,否则该工序为加工工序[14]。为了便于设计算法,本文将多车间的加工和装配工序统称为加工工序,加工设备和装配设备统称为加工设备。

由于每个车间加工负载不同,产品的某些工序如果全都在同一个车间内加工完成会造成某些车间设备资源空闲,某些车间设备负载过大,因此为了提高设备资源利用率并使各车间设备负载均衡,同时缩短产品加工总用时,产品的某些工序需要委托到其他车间进行加工,本文将这些工序称为委托工序。加工属性类似的多个车间中设备种类存在一个交集,处于交集中的设备存在于每个车间,委托工序的加工设备需要从设备交集中选取。本文针对的是船舶柴油机关键配套件的加工,主要考虑的是热处理后的精加工阶段。像这类企业,在精加工阶段,会按照零件种类去组织生产,这些零件都需要传统机械加工过程,如车、铣、磨等,根据加工精度和加工尺寸,多个车间会存在类似的加工设备,这就是本文所提及的车间设备交集。这些加工设备存在类似的加工方法,某一车间里的某一道工序可能会由于加工任务量大,任务过重,无法及时完工,可能会让其他车间委托加工,这就是所谓的委托工序。车间设备交集如图1所示。

图1 车间设备交集
Fig.1 Workshop equipment intersection

由于实际车间生产现场可能出现设备故障、加工时间延误等异常,所以本文首先确定该工序的加工设备集,然后选定加工车间并确定具体的加工设备,这样做可以提高调度方案的容错性和柔性,尽可能减小异常事件发生情况下必须进行重调度对调度结果的影响。

针对本文研究的多车间协作调度问题,仅委托工序需要进行多车间调度,即所需的加工设备处于设备交集中的工序,其他工序不涉及多车间调度。本文研究的是加工属性类似的多车间协作综合调度问题,并且只考虑多车间设备集的交集部分,问题就简化成具有相同设备资源且不在同一位置的多车间调度,并且问题须满足以下条件[15]:①同一时刻同一设备只能加工一道工序;② 工序开始加工以后不允许被中断;③工序的加工不允许违背加工工艺树中的偏序关系;④同一工序在同一车间中只有一台设备加工该工序;⑤同一工序可以在多个车间中任选某一车间中的指定设备进行加工;⑥工序之间允许等待,设备可以在没有加工工序时闲置;⑦假如某工序的紧前工序与该工序不在同一车间中加工,则该工序产生一次迁移;⑧同一台设备加工不同的对象,不考虑工装等需要更换和调整的时间。

设某产品共有N道工序,需要在M台设备上加工,由上述约束条件可知,产品每道工序的开始加工时间必须在该工序的紧前工序加工完成之后,产品加工的总用时与该产品各工序加工完工时间最大的工序的完工时间相等,不仅要使产品尽早完工,而且要保证工序总迁移次数尽可能少。该问题的目标函数如下:

T=min (max(Tij+Pij))

(1)

约束函数如下:

min Tij

(2)

(3)

Tci(j+1)Tcij+Pcij

(4)

Txy≥max (Tij+Pij)

(5)

xc,j=1

(6)

式中,Tij为设备i(i=1,2,…,M)上加工的第j(j=1,2,…,N)个工序的开工时间;Pij为设备i上加工的第j个工序的连续加工时间;c代表车间号;Tcij为在车间c中设备i上加工的第j个工序的开工时间;Pcij为在车间c中设备i上加工的第j个工序的连续加工时间;TxyTij的紧后工序的开工时间;xc,j=1表示第j个工序在车间c中加工,xc,j=0表示第j个工序不在车间c中加工;Vj为每道工序确定所在的加工车间后的迁移次数;V为某产品所有工序加工完成后的总迁移次数。

式(1)为使产品尽早完工的目标函数;式(2)表示使每个工序的开工时间尽量小;式(3)表示工序的总迁移次数应该尽量小;式(4)表示每个工序的开工时间必须在同一车间同一设备的紧前工序的完工时间之后;式(5)表示每个工序必须满足加工工艺树中的偏序关系,即每个工序的开工时间应在该工序所有紧前工序的完工时间之后;式(6)表明一道工序只能选择一个车间里的一台加工设备来加工。

2 混合教学优化算法设计

2.1 算法流程

在传统教学优化算法中,学生仅通过向老师和其余学生学习获得新知识,并不能体现学生的自我学习能力,并且将所有较差解全都舍弃,算法逃离局部最优解的能力较差。本文提出的混合教学优化算法将改进的教学优化算法与模拟退火算法中的Metropolis准则相结合,在传统教学优化算法的基础上加入学生的自学习阶段,学生可以通过自学提高自我,并且在教学阶段和学习阶段(包括互学和自学阶段)均采用模拟退火算法中的Metropolis准则计算的概率随机接受较劣解作为新的解,该算法的流程如图2所示。

图2 混合教学优化算法流程图
Fig.2 The flow chart of hybrid teaching-learning-based
optimization algorithms

2.2 编码分析与设计

采用文献[16]中的虚拟工序的剪枝查找方法对产品工艺树进行分解、剪枝,然后将产品工艺树所对应的有向图分解成一系列的虚拟工序,产品工艺树中各条边表示产品工艺约束的偏序关系,叶节点为初始可加工工序,根节点为最后可加工工序。当根节点加工完成时,也就表明此产品加工完毕[17]。如图3所示,每个节点矩形框内依次表示实际工序名称、对应的加工设备及加工时间。如A1/2/3表示产品的第1道工序在2号设备上加工,加工时间为3工时,矩形框上方的数字表示虚拟工序号。

图3 某复杂产品的加工工艺树
Fig.3 The processing operation tree of a
complex product

首先,根据图3工艺树分解对应的虚拟工序,将虚拟工序之间的顺序约束关系用邻接矩阵A=[aij]n×n表示:

矩阵最右边和最上边的数字代表图3工艺树分解后对应的虚拟工序号,分别用xiyj表示。邻接矩阵A中,若第j列的元素全为0,则工序yj是起始工序,对应工艺树的叶子节点;若第i行元素全为0,则工序xi是产品的最后一道工序,对应工艺树的根节点。邻接矩阵中,每列所有元素之和为该列对应工序的约束度。约束度大于0,代表该工序有一道或多道紧前工序。

本文以两个车间为例,分别为车间S1和车间S2。种群中每个个体对应问题的一个调度解,每个个体的编码包括工序列表和设备列表,其中工序列表表示工序的加工先后顺序,而设备列表表示每个工序选取的加工设备,假设每个车间都有M台设备,则车间S1中设备号分别为(1,2…,M),车间S2中设备号分别为(M+1,M+2,…,M+M),两个车间中相同型号的设备编号相差M

工序列表的编码具体步骤如下:

(1)对邻接矩阵A进行识别,得到可调度工序集S(即约束度为0的工序(排除已调度工序))。

(2)从可调度工序集S中随机选取一个工序i作为此次的调度工序,同时更新邻接矩阵A并把工序i标记为已调度工序。更新邻接矩阵A的具体方法为:令邻接矩阵A的第i行的值全为0,这样可以解除工序i对其紧后工序的约束。

(3)重复步骤(1),对重新得到的可调度工序集进行判断,若为空集,则终止操作,否则继续步骤(2)操作。

通过以上步骤可以得到满足综合调度各零部件间顺序约束关系的工序列表,图4为一条工序列表编码示意图。

图4 工序列表与对应实际工序
Fig.4 The process list and the actual process

设备列表的编码具体步骤如下:

(1)确定工序i的加工设备mi,从产品工艺树中可以对应确定。

(2)确定工序i的加工车间,取随机数1或2,若取到1则表示工序i在车间1加工,对应的加工设备编号不变;若取到2则表示工序i在车间2加工,对应的加工设备编号加上设备总数M,即此时工序i的加工设备为mi+M

(3)重复步骤(1)和步骤(2),直到所有工序的加工设备和车间号都已确定。

通过以上步骤可得到各工序对应的设备列表。

2.3 教学阶段

在本阶段,学生通过与教师之间的交互来提升自我,教师是每一次迭代中的最优个体,教师的教学水平好坏直接影响学生的水平,老师教得越好,学生获得的知识越多[18]。在TLBO算法关于调度问题的现有应用中,教师和学生之间的交互主要通过交叉操作来实现,在这个问题中,交叉是通过交换现有的优良染色体携带的基因来获得性能更好的染色体,同时保证后代的可行性的。本文针对工序列表和设备列表分别设计两种交叉操作,两种交叉操作均考虑综合调度问题中各虚拟工序之间的顺序约束关系,保证产生的解均是可行解。

针对工序列表的交叉,本文采用文献[19]中使用的优先保护交叉(precedence preservative crossover,PPX)方法来改变工序列表,在优先保护交叉中,设计两个和父代工序列表相同长度的附加列表a1和a2。a1和a2中的元素是个数随机并打乱次序的1和2,1代表选择父代工序列表1中的虚拟工序,2代表选择父代工序列表2中的虚拟工序。

图5分别提供了两个父代工序列表和附加列表。如图5所示,附加列表a1的第一个元素是2,这意味着选择工序列表2最左边的虚拟工序(即虚拟工序4)作为子代工序列表1的第1部分。然后在两个父代工序列表中删除虚拟工序4,避免重复选取已选虚拟工序。a1的第二个元素是1,选择工序列表1的最左边的虚拟工序(即虚拟工序2)成为子代工序列表1的第2部分,以此类推。最后,子代工序列表1如图6所示。同样,从附加列表a2中可以得到子代工序列表2,见图6。

图5 父代工序列表和附加列表
Fig.5 Parent process list and additional list

图6 子代工序列表
Fig.6 Child process list

针对设备列表的交叉,本文采用多点交叉操作方法来改变设备列表,在多点交叉中,设计一个和父代设备列表相同长度的附加列表a,a中的元素是个数随机并打乱次序的0和1,0代表保留两个父代设备列表对应位置的设备号,1代表交换两个父代设备列表对应位置的设备号。图7分别提供了两个父代设备列表和附加列表a。如图7所示,附加列表a的第一个元素是0,这意味着保留两个父代设备列表第一个位置的设备号,附加列表a的第二个元素是1,这意味着交换两个父代设备列表第二个位置的设备号,以此类推。最后,得到经过多点交叉后的子代设备列表如图8所示。

图7 父代设备列表和附加列表
Fig.7 Parent equipment list and additional list

图8 子代设备列表
Fig.8 Child equipment list

2.4 互学阶段

在本阶段,学生通过讨论、交流等方式与其余学生进行互动,如果其余学生的知识比自己多,那么学生就会学到新的东西,随机挑选出两个学生进行相互学习和改进。在TLBO算法关于调度问题的现有应用中,学生和学生之间的交互同样也是通过交叉操作来实现的,互学阶段的工序列表和设备列表的交叉方法均和2.3节中教学阶段使用的方法一致,不过互学阶段后代个体的替换原则和更新策略和教学阶段不同,具体不同将在替换原则和更新策略一节阐述。

2.5 自学阶段

传统TLBO算法只考虑了教师教学和学生互学,并没有考虑学生自学,在实际中,学生个体其实更多地是通过自学使自身能力得到提高,考虑学习者之间相互影响共同进步的因素,本文提出一种加入自学习的改进TLBO算法。自学习的过程中,学生可以对自身所学知识进行扩展,提高其局部搜索能力。学生的自学习主要通过变异操作来实现,在本文中针对工序列表和设备列表分别设计了两种变异操作。

针对工序列表的变异本文设计一种剪枝重排变异(cutting reset aberrance,CRA)方法来改变工序列表,在CRA方法中,随机选取工序列表的一个位置作为变异位(保证变异位后虚拟工序数大于等于二),直接保留变异位前的虚拟工序到后代工序列表,并将变异位前的虚拟工序从产品工艺树上剪枝得到残余工艺树,并更新邻接矩阵A,变异位后的虚拟工序使用前文中针对工序列表的编码操作重排放入后代工序列表。

图9所示为一父代工序列表,变异点选取为第8个和第9个虚拟工序之间,保留前8个虚拟工序到后代工序列表,剪枝前产品工艺树如图10所示,剪枝后得到残余工艺树如图11所示。

图9 父代工序列表与变异点
Fig.9 Parent process list and the aberrance points

图10 剪枝前产品工艺树
Fig.10 The processing tree before cutting

图11 残余工艺树
Fig.11 Residual process tree

使用前文中针对工序列表的编码操作将残余工艺树上的虚拟工序重排,然后与保留的变异点前的虚拟工序拼接组成后代工序列表,如图12所示。

图12 后代工序列表
Fig.12 Posterity process list

针对设备列表的变异,采取随机选取设备列表某几个位置作为变异位置,在这些位置对应工序的加工设备集中任意选取某一设备作为对应工序的加工设备,生成后代设备列表。

2.6 替换原则和更新策略

个体的替换和更新是本文算法求解结果不断改进必不可少的一部分,主要采用保留较优个体的思想。在教学阶段,某个体与老师学习产生的两个个体分别与该个体进行比较,较好的个体将得到保留;在互学阶段,随机选出的两个个体交互学习产生的两个个体分别与父代两个个体进行比较,较好的两个个体将得到保留;在自学阶段,某个体通过自学习产生的一个个体与该个体进行比较,较好的个体将得到保留。但是为了提高算法逃离局部最优的能力,在三个阶段均按照模拟退火算法中Metropolis准则计算的概率,随机接受个体中某一个较差个体作为新个体。

3 实例对比分析

本文设计的模拟退火教学优化算法不依赖产品加工工艺结构,对同一类问题不同实例的适应性很强。为了验证本文设计的算法解决多车间协作综合调度问题的性能,使用文献[7]和文献[8]中的两个不同实例分别进行测试。算法参数设置为:学生个体规模Sp=100,最大迭代次数Im=200,目标函数数量g=2,算法采用MATLAB进行编程,每个实例独立运行10次。

实例1选用文献[7]中的实例,该实例的产品工艺图见图13,该产品共有30道工序(包括加工工序与装配工序),在加工属性类似的两个车间中加工,两个车间的设备种类交集中有4台设备。

图13 实例1产品工艺图
Fig.13 The processing operation diagram of example 1

用本文提出的混合教学优化算法求解该实例,并且与已有文献中的三种算法所得的求解结果进行比较,四种算法的优化目标均为最大完工时间最小和迁移次数最少,求解结果如表1所示。

表1 四种算法对于实例1的求解结果

Tab.1 The results of four algorithms for example 1

算法1算法2算法3本文算法最大完工时间29212020迁移次数121064

注:算法1为文献[20]中的两车间可调度工序均衡处理的综合调度算法;算法2为文献[21]中的基于拟关键路径的二车间综合调度算法;算法3为文献[7]中的基于邻域渲染的二车间综合调度算法。

由表1可以看出,对于实例1的两个性能指标,本文采用的模拟退火教学优化算法取得的最优值均优于或者等于其余三种算法的最优值。由此可知,本文算法对求解多车间协作综合调度问题能够得到优良结果,验证了算法的有效性。同时相比以上三种算法,本文采用的算法不再采用调度规则,而是采用智能优化算法,得到的最优解不会单一,保证了解的多样性,因此本文算法相较已有文献中的算法具有一定的优越性。

本文算法对于实例1得到的最优解的调度甘特图见图14。

实例2选用文献[8]中的实例,该实例的产品工艺图见图15,该产品共有24道工序(包括加工与装配),在加工属性类似的两个车间中加工,两个车间设备种类交集中有4台设备。将本文算法与已有文献中的四种算法所得的求解结果进行比较,五种算法的优化目标均为最大完工时间最小,均采用工序迁移时间代替迁移次数,迁移时间默认取1工时,具体取值视车间实际情况而定,求解结果如表2所示。

(a)车间S1的调度甘特图

(b)车间S2的调度甘特图
图14 本文算法调度实例1所得甘特图
Fig.14 The Gantt chart of example 1

图15 实例2产品工艺图
Fig.15 The processing operation diagram of example 2

表2 五种算法对于实例2的求解结果

Tab.2 The results of five algorithms for example 2

算法1算法2算法3算法4本文算法最大完工时间2423232222

注:算法1~算法3同表1;算法4为文献[8]中基于择时的二车间综合调度算法。

由表2可以看出本文算法能够取得比算法1、2、3更优的解,取得和算法4结果相同的解,验证了本文算法的有效性。本文算法对于实例2得到的最优解的调度甘特图见图16。

本文设计的混合教学优化算法不受产品规模结构的影响,不论产品规模结构是否增大,该算法的求解结果普遍较好,而且不受求解时间的制约,对同一类问题不同实例的适应性很强。为了验证本文设计的算法在解决复杂大规模多车间协作综合调度问题的性能,使用包含67道工序(包括加工与装配)的某复杂产品的生产过程进行验证,该产品的产品工艺图见图17,在加工属性类似的两个车间中加工,两个车间设备种类交集中有4台设备,用本文提出的混合教学优化算法求解该实例。

(a)车间S1的调度甘特图

(b)车间S2的调度甘特图
图16 调度实例2所得甘特图
Fig.16 The Gantt chart of example 2

求解实例3优化目标为最大完工时间最小和迁移次数最少,本文算法的参数设置为种群规模Sp=100,最大迭代次数Im=200时求得的相对最优解为:最大完工时间等于46工时,迁移次数为3。从求得的结果可以看出,本文所提算法在求解大规模实例时仍然能够取得较好解,验证了本文算法求解大型实例的有效性和适应性。

本文算法对于实例3得到的最优解的调度甘特图见图18,图18a和图18b分别是车间S1S2的调度甘特图。

图17 实例3产品工艺图
Fig.17 The processing operation diagram of example 3

(a)车间S1的调度甘特图 (b)车间S2的调度甘特图

图18 调度实例3所得甘特图

Fig.18 The Gantt chart of example 3

4 结论

本文针对多车间协作综合调度问题进行了研究,提出一种加入自学习阶段的模拟退火教学优化算法,并针对三个不同实例分别进行测试,得到以下结论:

(1)本文设计的模拟退火教学优化算法对多车间协作综合调度问题的不同实例具有很强的适应性,并且对于大型实例的求解结果优良。

(2)本文在基本教学优化算法的基础上加入自学习阶段,采用变异操作模拟个体的自学习,提高了其局部搜索能力,并且在教学、互学和自学三个阶段均按照模拟退火算法中Metropolis准则计算的概率,随机接受个体中某一个较差个体作为新个体,进一步提高算法跳出局部最优解的能力。在三个阶段设计的变换操作均考虑综合调度问题中各虚拟工序之间的顺序约束关系,保证产生的解均是可行解,避免了对解进行不必要的修复操作。

(3)通过测试多车间协作综合调度问题的两个实例可知,本文算法所得结果相较已有文献中的算法结果取得了更优或者相同的结果,验证了本文算法的有效性和可行性。相较以往文献针对多车间协作调度问题均采用一次通过固定规则,本文采用智能优化算法解决该类问题,得到的最优解不唯一,保证了解的多样性,因此本文算法相较已有文献中的算法具有一定的优越性。

参考文献

[1] 钟祾充,钱斌,胡蓉,等. 混合布谷鸟算法求解绿色流水车间调度问题[J]. 中国机械工程, 2018, 29(22):2674-2681.

ZHONG Lingchong, QIAN Bin, HU Rong, et al. HCS Algorithm for Multi-objective Flow Shop Scheduling Problems with Energy Consumption[J] China Mechanical Engineering, 2018, 29(22):2674-2681.

[2] 朱传军,邱文,张超勇,等. 多目标柔性作业车间稳健性动态调度研究[J]. 中国机械工程, 2017, 28(2):173-182.

ZHU Chuanjun, QIU Wen, ZHANG Chaoyong, et al. Multi-objective Flexible Job Shop Dynamic Scheduling Strategy Aiming at Scheduling Stability and Robustness[J]. China Mechanical Engineering, 2017, 28(2):173-182.

[3] 谢志强. 工件间有约束的复杂产品工序调度研究[D].哈尔滨:哈尔滨理工大学,2009.

XIE Zhiqiang. Study on Operation Scheduling of Complex Product with Constraint among Jobs[D]. Harbin:Harbin University of Science and Technology, 2009.

[4] 谢志强,桂忠艳,杨静. 基于设备驱动和实质路径的动态并行综合柔性调度算法[J]. 机械工程学报, 2014, 50(18):203-212.

XIE Zhiqiang, GUI Zhongyan, YANG Jing. Dynamic Parallel Integrated Flexible Scheduling Algorithm Based on Device Driver and Essential Path[J]. Journal of Mechanical Engineering, 2014, 50(18):203-212.

[5] 于晓义,孙树栋,褚崴. 基于并行协同进化遗传算法的多协作车间计划调度[J]. 计算机集成制造系统, 2008,14(5):991-1000.

YU Xiaoyi, SUN Shudong, CHU Wei, et al. Parallel Collaborative Evolutionary Genetic Algorithm for Multi-workshop Planning and Scheduling Problems [J]. Computer Integrated Manufacturing Systems, 2008,14(5):991-1000.

[6] 谢志强,郭禾,苏文秀,等. 存在多工序同时结束的多车间逆序综合调度算法[J]. 吉林大学学报(工学版), 2018, 48(2):578-587.

XIE Zhiqiang, GUO He, SU Wenxiu, et al. Reversal Sequence Integrated Scheduling Algorithm of Multiple Workshop with Multi-procedures Ended Together[J]. Journal of Jilin University(Engineering and Technology Edition), 2018, 48(2):578-587.

[7] 谢志强,于洁,陈德运,等. 基于邻域渲染的二车间综合调度算法[J]. 机械工程学报, 2016, 52(1):149-159.

XIE Zhiqiang, YU Jie, CHEN Deyun, et al. Integrated Scheduling Algorithm of Two Workshops Based on the Principle of the Neighborhood Rendering[J]. Journal of Mechanical Engineering, 2016, 52(1):149-159.

[8] 张晓欢,谢志强,辛宇,等. 基于择时的二车间综合调度算法[J]. 计算机集成制造系统, 2017, 23(9):1938-1949.

ZHANG Xiaohuan, XIE Zhiqiang, XIN Yu, et al. Integrated Scheduling Algorithm of Two Workshops Based on Optimal Time[J] Computer Integrated Manufacturing Systems, 2017, 23(9):1938-1949.

[9] RAO R V, SAVSANI V J, VAKHARIA D P. Teaching-learning-based Optimization:a Novel Method for Constrained Mechanical Design Optimization Problems[J]. Computer-Aided Design, 2011, 43(3):303-315.

[10] LIN W W, YU D Y, ZHANG C Y, et al. A Multi-objective Teaching-learning-based Optimization Algorithm to Scheduling in Turning Processes for Minimizing Makespan and Carbon Footprint[J]. Journal of Cleaner Production, 2015, 101:337-347.

[11] DOKEROGLU T. Hybrid Teaching-learning-based Optimization Algorithms for the Quadratic Assignment Problem[J]. Computers & Industrial Engineering, 2015, 85:86-101.

[12] 李瑞国,张宏立,范文慧,等. 基于改进教学优化算法的Hermite正交基神经网络混沌时间序列预测[J]. 物理学报, 2015, 64(20):108-120.

LI Ruiguo, ZHANG Hongli, FAN Wenhui, et al. Hermite Orthogonal Basis Neural Network Based on Improved Teaching-learning-based Optimization Algorithm for Chaotic Time Series Prediction[J]Acta Physica Sinica, 2015, 64(20):108-120.

[13] 潘全科,王文宏,朱剑英. 一类解决Job Shop问题的改进遗传算法[J]. 中国机械工程, 2006,17(8):866-869.

PAN Quanke, WANG Wenhong, ZHU Jianying. An Enhanced Genetic Algorithm for Job Shop Scheduling[J]. China Mechanical Engineering, 2006,17(8):866-869.

[14] 杨婷婷,吕海利,董明望,等. 一种装配产品调度问题的粒子群算法实现[J]. 武汉理工大学学报,2015,37(11):93-100.

YANG Tingting, LYU Haili, DONG Mingwang, et al. Realization of Assembly Job Shop Scheduling Problem with Particle Swarm Optimization Algorithm[J]. Journal of Wuhan University of Technology, 2015, 37(11):93-100.

[15] 吴秀丽,孙树栋,杨展,等. 多目标柔性Job Shop调度问题的技术现状和发展趋势[J]. 计算机应用研究, 2007, 24(3):1-5.

WU Xiuli, SUN Shudong, YANG Zhan, et al. Survey on Multi-objective Flexible Job-shop Scheduling Problem[J]. Application Research of Computers, 2007, 24(3):1-5.

[16] 赵诗奎,韩青,王桂从. 基于虚拟零部件级别分区编码的产品综合调度算法[J]. 计算机集成制造系统, 2015, 20(9):2435-2445.

ZHAO Shikui, HAN Qing, WANG Guicong. Product Comprehensive Scheduling Algorithm Based on Virtual Component Level Division Coding[J]. Computer Integrated Manufacturing Systems, 2015, 20(9):2435-2445.

[17] 谢志强,刘长海,杨静. 考虑后续工序且批处理工序数为2的批综合调度算法[J]. 上海交通大学学报, 2012, 46(11):1746-1752.

XIE Zhiqiang, LIU Changhai, YANG Jing. Batch Integrated Scheduling Algorithm Considering Posterior Operations and with Constraint of 2 Operations Batches Processing[J]. Journal of Shanghai Jiao Tong University, 2012, 46(11):1746-1752.

[18] PERL M. STEINER M. 3-D Stress Intensity Factors due to Full Autofrettage for Inner Radial or Coplanar Crack Arrays and Ring Cracks in a Spherical PressureVessel[J]. Engineering Fracture Mechanics, 2015, 138:233-249.

[19] REN Y P, ZHANG C Y, ZHAO F, et al. An Asynchronous Parallel Disassembly Planning Based on Genetic Algorithm[J]. European Journal of Operational Research, 2018, 269(2):647-660.

[20] 谢志强,郑付萍,朱天浩,等. 两车间可调度工序均衡处理的综合调度算法[J]. 计算机工程, 2014, 40(1):295-300.

XIE Zhiqiang, ZHENG Fuping, ZHU Tianhao, et al. Integrated Scheduling Algorithm with Equalization Processing of Schedulable Processes in Two Workshops[J]. Computer Engineering, 2014, 40(1):295-300.

[21] 谢志强,周含笑,桂忠艳,等. 基于拟关键路径的二车间综合调度算法[J]. 计算机科学, 2013, 40(4):193-198.

XIE Zhiqiang, ZHOU Hanxiao, GUI Zhongyan, et al. Integrated Scheduling Algorithm of Two Workshop Based on ACPM[J]. Computer Science, 2013, 40(4):193-198.

Hybrid Teaching-learning-based Optimization Algorithms for IntegratedScheduling of Multi-workshop Collaborations

LIAO Bufan1 LEI Qi1 WU Wenlie2 SONG Yuchuan1 GUO Weifei1

1.State Key Laboratory of Mechanical Transmission,Chongqing University,Chongqing,400044 2.Institute of Science and Technology,Fudan University,Shanghai,200433

Abstract: Aiming at the current integrated scheduling problems of multi-workshop collaborations with similar processing properties, where almost using the scheduling rules, relying too heavily on the processing structures of the products, reducing the algorithm adaptability to different instances on the same type of problems, and the poor results of solving large instances, a hybrid teaching-learning-based optimization algorithm was proposed. A self-learning phase was added, the mutation operators were executed in the individual self-learning phase to improve the local search ability. In the three phases of teaching, mutual-learning and self-learning, the probability calculated by the Metropolis procedure in the simulated annealing algorithm was adopted to accept randomly a bad individual as a new one, further improving the ability of running away from local optima. The transformation operations designed in the three phases taken into account the sequential constraint relations among the virtual processes in the integrated scheduling problems and ensure that the solutions generated were all feasible solutions. The feasibility and validity of the proposed algorithm were verified by testing the previous examples.

Key words: multi-workshop collaboration; integrated scheduling; teaching-learning-based optimization algorithm; self-learning; Metropolis procedure

中图分类号TH186

DOI:10.3969/j.issn.1004-132X.2020.16.006

开放科学(资源服务)标识码(OSID):

收稿日期2019-07-02

基金项目国家自然科学基金资助项目(512045429);国家工信部资助项目(CDGC01-KT0603)

(编辑 王艳丽)

作者简介廖不凡,男,1994年生,硕士研究生。研究方向为生产运作管理、智能优化算法。E-mail:1247817743@qq.com。雷 琦(通信作者),女,1976年生,副教授。研究方向为制造系统工程、生产运作管理、绿色设计与制造。E-mail:leiqi@cqu.edu.cn。