2. 兰州交通大学 电子与信息工程学院,甘肃 兰州 730070
2. School of Electronic and Information Engineering, Lanzhou Jiaotong University, Lanzhou 730070, China
柔性作业车间调度问题(flexible job-shop sche- duling problem, FJSP)突破了资源唯一性限制,每个工序可由多个不同的机器完成,从而使作业车间调度问题更加符合生产实践[1]。随着计算机技术的高速发展,传统的FJSP问题可以用多种智能算法求解。如改进的人工蜂群算法、蚁群算法、人工鱼群算法、细菌觅食算法以及新型教学优化算法[2-6],相对来说用遗传算法求解柔性作业车间问题研究成果比较丰富。赵诗奎等[7]针对局部搜索能力提出基于工序编码和邻域搜索策略的遗传算法;I Driss 等[8]改进了交叉和变异策略,提高了遗传算法的收敛性;G Zhang等[9]利用全局选择和局部选择得到高质量的初始化种群。虽然运用改进的智能进化算法得到了良好的效果,但是鉴于求解模型目标函数较少,无法符合当今生产决策时的需求。
在求解多目标柔性作业车间调度问题时,由于存在多个彼此冲突的目标,如何获取问题的最优解,依然是车间调度关注的焦点问题。Kacem等[10]提出了基于局部优化方法和EA的混合Pareto方法优化工件完成时间和机器负载。张超勇等[11]设计改进的NSGA求解FJSP的Pareto解集,并运用层次分析法选出最优妥协解。Roohollah Javadi等[12]通过使用并行禁忌搜索算法对每个群集的最佳解决方案执行局部搜索,并且最终在其中获得最优解。
本文根据实际加工车间,在建立多目标模型的过程中,综合考虑了生产完工时间、交货期、机器负载以及机器运行成本,此模型更加符合当今生产决策需要。在求解多目标模型过程中,针对目标值的特征,设计一种改进的多目标优化进化算法,该算法不仅避免了处理不同目标函数值之间数量级和量纲的障碍,而且相对其他智能算法具有良好的性能,最后通过对实际加工实例的求解,验证了模型和算法的可行性及有效性,为实际生产中柔性作业车间调度提供参考。
1 柔性作业车间多目标调度模型 1.1 问题描述现代制造企业面临日益激烈的市场竞争,在生产过程中,既要求生产周期短、交货期短,又要求生产成本较低、机器负载小。忽略任何一部分要求对企业整体的发展都是不利的,如何建立调度模型,寻求合理的生产调度方案成为生产制造的关键。
假设有n个工件要在m台机器上加工,每个工件
本文研究对象为柔性作业车间调度问题,即从完成时间、交货期、机器负载以及生产成本等方面建立优化目标,提出制造企业的生产调度方案。现假设一个包括3工件、4台机器的柔性作业车间调度的加工时间表如表1所示。
![]() |
表 1 柔性作业车间调度加工时间 Tab. 1 Flexible job shop scheduling processing schedule |
目标函数为
$\quad\quad{f_1} = \min (\mathop {\max }\limits_{j = 1,2,...,n} {C_j}),$ | (1) |
$\quad\quad{f_2} = \mathop {\min (\max \left| {{C_j} - {d_j}} \right|}\limits_{j = 1,2,...,n} ),$ | (2) |
$\quad\quad{f_3} = \min \sum\limits_{j = 1}^n {\sum\limits_{i = 1}^{{h_j}} {\sum\limits_{k = 1}^m {{p_{jik}}} } } {X_{jik}},$ | (3) |
$\quad\quad{f_4} = \min (\max \sum\limits_{j = 1}^n {\sum\limits_{i = 1}^{{h_j}} {{p_{jik}}} } {X_{jik}}),$ | (4) |
$\quad\quad{f_5} = \min \sum\limits_{k = 1}^m {\left\{ {(\sum\limits_{j = 1}^n {\sum\limits_{i = 1}^{{h_i}} {{p_{ijk}}{X_{ijk}}} )F_k^v} } \right\}} ,$ | (5) |
$\quad\quad{f_6} = \min \sum\limits_{k = 1}^m {\left\{ {\left[ {{T^*} - (\sum\limits_{j = 1}^N {\sum\limits_{i = 1}^{{n_j}} {{p_{ijk}}} } {X_{ijk}})} \right]F_k^s} \right\}} {\text{。}}$ | (6) |
约束条件为
$\quad\quad\sum\limits_{k = 1}^m {{X_{jik}}} = 1,{X_{jik}} = 0\text{或}1;$ | (7) |
$\quad\quad{p_{jik}} {\text{≥}} 0,{p_{j0k}} = 0;$ | (8) |
$\quad\quad F_k^v {\text{>}} 0,F_0^v = 0;$ | (9) |
$\quad\quad F_k^s {\text{>}} 0,F_0^s = 0{\text{。}}$ | (10) |
式(1)~(6)为工件最大完工时间最小、最大延期时间最小、机器运行负载总和最小、瓶颈机器负载最小、机器负载运行成本最小以及机器空载运行成本最小。式中,
在多目标进化算法领域,研究人员采用不同的适应值分配策略、选择策略、多样性保持策略、精英策略及约束条件处理策略等,涌现出许多优秀的多目标进化算法[14]。2002年,DEB等[15]对NSGA算法进行了改进,提出了NSGA2算法。NSGA2具有运行速度快、鲁棒性好、收敛性好等优点,已经成为处理多目标优化问题的重要基础。但是在运用NSGA2求解多目标柔性作业车间调度问题时,一方面,选择操作会出现个体收敛在种群中大部分非支配解的等级都在等级为1的非支配曲面上,且拥挤距离为0的情况。鉴于此问题,在算法选择过程中引入免疫学原理,通过免疫自我调节功能,计算抗体和抗体之间的亲和度,优先选择等级小的个体,当等级相同,拥挤距离相同时选择抗体浓度大的个体,提高了种群间个体与个体的竞争,改善算法的局部搜索能力。另一方面,在精英保留策略上,出现大部分非支配解都在等级为1的非支配曲面上,而非支配曲面可能远离真正的Pareto最优边界,或者会使进化种群在选择的非支配解全是精英,这将导致种群的提前收敛或者收敛于局部最优解。为保持种群多样性和提高算法收敛性能,在父代种群中限制精英解的数目,适当地选取一些非精英解加入,具体处理方法就是引入一个分布函数来实现。该分布函数表示为
$\quad\quad{n_i} = E \cdot {F_i}{\text{。}}$ | (11) |
式中,
亲和度评价算子可以描述为函数
$ \quad\quad G = \{ X = {x_1},{x_2},\cdots,{x_l},{x_i} \in M,1 {\text{≤}} i {\text{≤}} l \} {\text{。}} $ | (12) |
种群中基因座为j的信息熵描述为[16]
$\quad\quad{H_j}(G,N) = \sum\limits_{i = 1}^m { - {p_{ij}}\log {p_{ij}}} {\text{。}}$ | (13) |
其中,
$\quad\quad H\left({G,N} \right) = \frac{1}{l}\sum\limits_{j = 1}^l {{H_j}(G,N)} {\text{。}}$ | (14) |
抗体i和抗体j的亲和度为
$\quad\quad{\rm{aff}}(i,j) = H(G,2),G = \{ i,j\} {\text{。}}$ | (15) |
抗体浓度评价算子可以描述为函数
$\quad\quad{\rm{den}}(i) = \frac{1}{N}\sum\limits_{j = 0}^{N - 1} {{\rm{aff}}(i,j)} {\text{。}}$ | (16) |
其中,N为种群规模;i为种群中的第i个抗体;
根据柔性作业车间的特点,编码方式采用一种扩展的基于工序的编码[17],前部分为基于工序的编码,根据工件的序号在染色体中出现的次序编译,第k次出现的工件序号表示该工件的第k道工序;后半部分为机器选择部分的编码,编码中序号代表相应工序的加工机器集合中的序号,此种编码方式操作简易,能产生可行解。如表1中的调度问题,基因串可表示为[2133112312112233],各工序的加工顺序为
本文采用Abdullah Konak等[18]提出的一种快速排序方法构造非支配解集。该方法使得计算复杂度比原来的NSGA算法有所降低,其计算复杂度为
本文采用二元锦标赛选择,优先选择快速排序过程中得到的个体的等级较低的个体,当个体等级相同时,选择拥挤距离较小的个体,当拥挤距离相同时,选择抗体浓度较小的个体。
3.4 交叉操作针对FJSP的特点,POX交叉操作能够很好地继承父代优良特征,并且相同条件下,此方法能够得到比其他交叉操作更好的结果,故本文对基于工序编码基因串采用POX交叉[18],对基于机器分配编码基因串采用多点交叉[19]。
3.5 变异操作对于基于机器分配这部分基因采用互换法进行变异。随机选取两道工序,两道工序的机器集合中选择加工时间少的机器,并将选择的机器号编入对应的基于机器分配编码的基因中,保证得出的解是可行解。在基于工序编码的基因串采用插入变异,即从染色体中随机选择一个基因插入一个随机的位置。
3.6 改进的精英保留策略根据非支配关系进行排序,先将支配等级低的个体填充到新的父代中,同一级的选择个体浓度小的个体加入,直到种群数量达到N。
算法具体的求解步骤如下,流程图见图1。
步骤1 初始化开始种群
步骤2 采用快速排序方法初始化每个个体的
步骤3 设
步骤4 基于抗体浓度的选择。
步骤4.1 根据抗体和熵原理,计算个体(抗体)的浓度。
步骤4.2 优先选择等级小的个体,当等级相同,选择抗体浓度大的个体。
步骤4.3 如果
步骤5 在
步骤6合并
步骤7 对
步骤8 如果
![]() |
图 1 改进的NSGA2算法流程图 Fig. 1 Improved NSGA2 algorithm flow chart |
为了方便算法测试,本文采用文献[18]中的标准实例(问题
通过表2可知,改进的NSGA2算法的最大完工时间最好值为14,比文献中启发式规则方法至少减少了5个单位,比GA减少了2个单位,和HGATS中最好值保持相同;瓶颈机器负载的最好值为11,相比启发式规则优势依旧明显,减少了4个单位,比文献中PSO+GA方法减少了1个单位,比PSO+GA和HGATS均少1个单位,优化性能均得到提高,由此可见,改进的NSGA2算法对求解多目标车间调度问题具有良好的效果。
![]() |
表 2 8工件8机器实例测试结果比较 Tab. 2 8 Workpiece 8 Machine example test results comparison |
某企业的配件制造车间主要承担汽车配件制造任务,通过对制造车间实际数据的整理,得到10工件6机器的柔性作业车间调度问题的数据。表3给出了各工件的加工机器、加工时间以及交货期,表4给出了机器运行时的负载成本和空载情况下运行成本。算法采用表2的算法,参数设置与表2保持相同。由于6个目标同时优化时,Pareto的解集构成一个超曲面,故无法用图直观地显示可行解,表5给出了一次运行中得到的50个Pareto最优解。决策者可根据车间现场实际情况,在后续的调度管理过程中,选择其中一种方案进行调度。限于篇幅,本文只对第1组数据做出调度控制的甘特图,如图2所示。
![]() |
表 3 问题原始数据 Tab. 3 Problem Raw Data |
![]() |
表 4 已知参数 Tab. 4 Known parameters |
![]() |
表 5 Pareto解集 Tab. 5 Pareto solution set |
![]() |
图 2 Pareto解集对应的方案1的甘特图 Fig. 2 Pareto solution set corresponding to a Gantt chart |
根据实际车间加工情况,建立了具有时间、成本以及机器负载等性能指标的多目标柔性作业车间的调度模型,更好符合实际生产需求。如何完善调度模型依然有待进一步研究,比如如何在生产过程中引入低碳和环保方面的优化目标。
基于NSGA2算法在解决多目标优化问题时选择策略和精英保留策略收敛于局部曲面上的问题,引入了一种基于免疫信息熵的选择策略和精英保留策略,建立改进的NSGA2算法。运用改进的NSGA2算法对测试数据和实际加工问题进行多目标优化求解,均能得到满意的Pareto解集,进一步验证了改进的NSGA2算法在求解此类问题的可行性及有效性。
[1] |
王凌. 车间调度及其遗传算法[M]. 北京: 清华大学出版社, 2003.
|
[2] |
Wang L, Zhou G, Xu Y, et al. An effective artificial bee colony algorithm for the flexible job-shop scheduling problem[J].
International Journal of Advanced Manufacturing Technology, 2012, 60(1-4): 303-315.
DOI: 10.1007/s00170-011-3610-1. |
[3] |
薛宏全, 魏生民, 张鹏, 等. 基于多种群蚁群算法的柔性作业车间调度研究[J].
计算机工程与应用, 2013, 49(24): 243-261.
XUE Hongquan, WEI Shengmin, ZHANG Peng, et al. Study on flexible job shop scheduling based on multi-group ant colony algorithm[J]. Journal of Computer Engineering and Applications, 2013, 49(24): 243-261. DOI: 10.3778/j.issn.1002-8331.1306-0315. |
[4] |
赵敏, 殷欢, 孙棣华, 等. 基于改进人工鱼群算法的柔性作业车间调度[J].
中国机械工程, 2016, 8(12): 1059-1065.
ZHAO Min, YIN Huan, SUN Dihua, et al. Fuzzy job shop scheduling based on improved artificial fish swarm algorithm[J]. China Mechanical Engineering, 2016, 8(12): 1059-1065. |
[5] |
WU Xiuli, ZHANG Zhiqiang, DU Yanhua, et al. An improved bacteria foraging algorithm for flexible job shop scheduling problem[J].
Computer Integrated Manufacturing Systems, 2015, 21(5): 1262-1270.
|
[6] |
雷德明. 基于新型教学优化算法的低碳柔性作业车间调度[J].
控制与决策, 2017, 32(9): 1621-1627.
LEI Deming. Low-carbon flexible job shop scheduling based on new teaching optimization algorithm[J]. Control & Decision, 2017, 32(9): 1621-1627. |
[7] |
赵诗奎, 方水良. 基于工序编码和邻域搜索策略的遗传算法优化作业车间调度[J].
机械工程学报, 2013, 49(16): 160-169.
ZHAO Shikui, FANG Shuiliang. Optimization of job shop scheduling based on genetic algorithm and process coding[J]. Journal of Mechanical Engineering, 2013, 49(16): 160-169. |
[8] |
I Driss, KN Mouss, A Laggoun, et al. A new genetic algorithm for flexible job-shop scheduling problems[J].
Journal of Mechanical Science & Technology, 2015, 29(3): 1273-1281.
|
[9] |
ZHANG G, GAO L, SHI Y, et al. An effective genetic algorithm for the flexible job-shop scheduling problem[J].
Expert Systems with Applications, 2011, 38(4): 3563-3573.
DOI: 10.1016/j.eswa.2010.08.145. |
[10] |
KACEM I, HAMMADIS, BORNEP. Approach by localization and muti-objective evolutionary optimization for flexible job-shop scheduling problems[J].
IEEE Transaction System, Man, and Cybernetics-Part C, 2002, 32(1): 1-13.
DOI: 10.1109/TSMCC.2002.1009117. |
[11] |
张超勇, 董星, 王晓娟, 等. 基于改进非支配排序遗传算法的多目标柔性作业车间调度[J].
机械工程学报, 2010, 46(11): 156-164.
ZHANG Chaoyong, DONG Xing, WANG Xiaojuan, et al. Multi-objective flexible job shop scheduling based on improved non-dominated ranking genetic algorithm[J]. Journal of Mechanical Engineering, 2010, 46(11): 156-164. |
[12] |
ROOHOLLAH Javadi, MARYAM Hasanzadeh. A new method for hybridizing metaheuristics for multi-objective flexible job shop scheduling[C]. International eConference on Computer and Knowledge Engineering. 2012.
|
[13] |
吴秀丽, 孙树栋, 杨展, 等. 多目标柔性Job Shop调度问题的技术现状和发展趋势[J].
计算机应用研究, 2007, 24(3): 1-5, 9.
WU Xiuli, SUN Shudong, YANG Zhan, et al. Status and development trend of multi-objective flexible Job Shop scheduling problem[J]. Application Research of Computers, 2007, 24(3): 1-5, 9. |
[14] |
雷德明, 严新平. 多目标智能优化算法及其应用[M]. 北京: 科学出版社, 2009.
|
[15] |
DEB K, PRATAP A, AGARWAL S, et al. A Fast and Elitist Multiobjective Genetic Algorithm: NSGA-Ⅱ[J].
IEEE Transactions on Evolutionary Computation, 2002, 6(2): 182-1997.
DOI: 10.1109/4235.996017. |
[16] |
莫宏伟, 左兴权. 人工免疫系统[M]. 北京: 科学出版社, 2009.
|
[17] |
魏巍, 谭建荣, 冯毅雄, 等. 柔性工作车间调度问题的多目标优化方法研究[J].
计算机集成制造系统, 2009, 15(8): 1592-1598.
WEI Wei, TAN Jianrong, FENG Yixiong, et al. Multi-objective optimization method for flexible work shop scheduling problem[J]. Computer Integrated Manufacturing Systems, 2009, 15(8): 1592-1598. |
[18] |
Abdullah Konak, David W, Coit, Alice E, Smith, et al. Multi-objective optimization using genetic algorithms: A tutorial[J].
Reliability Engineering and System Safety, 2006, 9: 992-1007.
|
[19] |
张国辉, 高亮, 李培根, 等. 改进遗传算法求解柔性作业车间调度问题[J].
机械工程学报, 2009, 45(7): 145-151.
Zhang Guohui, Gao Liang, Li Peigen, et al. An improved genetic algorithm to solve the problem of flexible job shop scheduling[J]. Journal of Mechanical Engineering, 2009, 45(7): 145-151. |