混合共生生物搜索算法求解置换流水车间调度问题
Hybrid symbiotic organisms search algorithm for permutation flow shop scheduling problem
收稿日期: 2019-04-7
Received: 2019-04-7
作者简介 About authors
秦旋(1969—),女,教授,从事建筑业可持续发展研究.orcid.org/0000-0001-6416-0837.E-mail:
为了求解置换流水车间调度问题,提出基于共生生物搜索(SOS)算法与局部搜索策略结合的混合共生生物搜索算法. 采用最大排序值的优先规则,处理离散的搜索空间. 在初始化阶段结合NEH启发式算法以提高初始种群的质量. 在优化过程中引入交换变异来改善种群内的多样性,插入-倒转区增加算法跳出局部最优的能力;采用局部搜索策略提升算法的全局探索能力,有效避免了共生生物搜索算法易早熟、后期搜索效率低、易陷入局部最优等缺陷. 通过3个最常用、最专业的标准测试集Carlier、Rec和Taillard对算法性能进行测试. 与其他多种算法进行比较,验证了提出的混合SOS算法的优越性和稳定性.
关键词:
A hybrid algorithm based on the combination of symbiotic organism search algorithm (SOS) and local search strategy was proposed in order to solve the permutation flow shop scheduling problem. The largest rank value was adopted to deal with the discrete search space of the problem. The Nawaz Enscore Ham (NEH) heuristic algorithm was combined during initialization stage to improve the quality of the initial population. The diversity within the population was improved using a swap mutation operation during the optimization stage, and the insert-reversed block operation was adopted to escape from the local optima. The local search strategy was used to enhance the ability of global search which effectively avoids the drawbacks of the symbiotic organism search algorithm such as ease of premature convergence, low convergence rate and falling into local optimum easily in the later stage. The performance of the proposed algorithm was tested by three most commonly used and professional standard test sets, Carlier, Rec and Taillard. The effectiveness and superiority of the proposed hybrid SOS algorithm was verified by comparing with other algorithms.
Keywords:
本文引用格式
秦旋, 房子涵, 张赵鑫.
QIN Xuan, FANG Zi-han, ZHANG Zhao-xin.
置换流水车间调度问题(permutation flow shop scheduling problem,PFSP)作为最典型的流水车间问题,具有很高的工程应用价值. 自1975年计算复杂理论提出后,验证了3台机器以上的PFSP问题属于NP-hard难题. 目前尚未发现有效的多项式时间优化算法,PFSP一直是工业和学术研究的重点关注课题. Johnson[1]最早提出流水车间调度问题,采用动态规划、分支定界等精确算法解决了双机问题的最优调度以及有限条件下多机问题的最优调度. 随着问题规模的增加,精确算法的计算时间和计算量成指数增长,难以求得精确解. 为了求解大规模问题,NEH法、CDS法、Gupta法等启发式算法应运而生,其中Nawaz等[2]引入的NEH启发式算法(Nawaz Enscore Ham,NEH)成为处理m台机器和n个工件流水车间调度问题的最常用方法. 利用启发式算法处理PFSP问题,虽然求解时间大幅减少,但是解的准确性无法保障. 近年来,越来越多结合NEH算法和优先规则的元启发式算法用来求解PFSP问题成为新方向:如改进布谷鸟搜索算法[3](improved Cuckoo search algorithm,ICS)、混合猴群搜索算法[4](hybrid monkey search algorithm,HMSA)、差分进化算法[5](DE)等,与贪心局部搜索不同,Kumar[6]等结合NEH法提出改进的引力仿真局部搜索算法,Tseng等[7]开发采用插入搜索(insertion search,IS)和修复剪切的插入搜索(insertion search repair and cut,ISRC)的局部搜索方法. 可见,目前该领域的最新研究方向是采用新颖算法并结合局部搜索策略提升算法的效率和质量.
共生生物搜索算法[8](symbiotic organisms search,SOS)作为一种新颖的元启发式优化算法,已被证明在解决数值优化和工程设计等方面非常稳定有效. Tran等[9]将该算法应用到项目调度,解决了时间-成本-劳动力的权衡问题,Ezugwu等[10-11]将SOS算法运用于旅行商问题(traveling salesman problem,TSP). Cheng等[12]将SOS算法用于求解多重资源调配. Panda等[13]利用SOS算法,结合自适应惩罚函数,求解多目标约束的优化问题. Yu等[14]结合SOS算法与局部搜索,求解带有能力约束的车辆路径调度问题. 流水车间调度问题具有不同于上述工程优化问题的特征,因此基于SOS算法求解PFSP具有挑战性以及较高的应用价值.
本文提出用于求解置换流水车间调度问题最小完工时间的SOS算法. 结合多种技术(如局部搜索策略、交换变异、插入-倒转区操作以及NEH法)保持种群多样性,提升算法跳出局部最优的能力,增加了全局的探索能力,有效避免了SOS算法易早熟、后期搜索效率低、易陷入局部最优等缺陷. 利用3种最常用、最专业的标准测试集:Carlier、Reeves和Taillard,测试所提出的算法性能.
1. 置换流水车间调度问题
置换流水车间调度问题(PFSP)是流水车间调度中最重要的问题之一. 最经典的PFSP指在m台机器上按相同顺序排列加工n个工作,以求最小化完工时间. 该问题的特征如下.
1)每个工作jk只能在每台机器上运行一次,其中k=1,2,···,n.
2)每台机器ih同一时间只能处理一个工作,其中h=1,2,···,m.
3)每个工作j在每台机器上加工需要一定的时间,即加工时间.
4)每个工作在不同机器上的加工时间不同,每个工件将在机器1~m上顺序运行.
5)每个工作的完工时间包括加工时间加上机器上的运行时间.
6)假定开始时间为零.
7)工作jk在机器ih上的完成时间
8)工作jk在机器ih上的加工时间
PFSP的目标是找到一组最佳的工作排列顺序使得完工时间C*最小化,其中C*为最后一个工作在最后一台机器上的完工时间.
经典置换流水车间调度问题(PFSP)的计算公式如下.
完工时间是最后一台机器加工完最后一个工作的完成时间:
最佳工作排序是所有工作排序中完工时间最小的排序.
2. 共生生物搜索算法
2.1. SOS算法的原理
Cheng等[8]受到自然界生物体之间合作、竞争等交互行为的启发提出SOS算法. 共生可以定义为多种不同物种的生物体之间的长期相互作用. 一般来说,自然界发现的最普遍的共生关系包括互惠关系、共栖关系和寄生关系.
互惠关系是生物学或社会学中描述的一种对相互作用的2种生物均有益的关系,例如蜜蜂和花朵,蜜蜂靠花粉花蜜为食而维持生存,花朵依靠蜜蜂身上的绒毛传播花粉得以繁衍. SOS算法的第1个优化阶段仿照了这种互惠关系,提出互惠阶段.
共栖关系描述了相互作用的2个生物体之间,一种生物体从中受益,另一种生物体虽不受益但不会产生负面影响. 类似于鮣鱼和鲨鱼之间的关系,鮣鱼可以附着在鲨鱼身上吃鲨鱼进食后剩下的残羹剩饭,鲨鱼既不受益,也无损害. SOS算法的第2个优化阶段仿照了这种关系,提出共栖阶段.
寄生关系描述了一种生物体(寄生体)的获益以另一种生物体(宿主)受到损害为代价的情况. 寄生体比宿主小,得以更快地繁殖,对宿主造成更多伤害,如人类和蚊子. 这个阶段的灵感来自于寄生虫、疟原虫和人类宿主之间的寄生共生关系. 其中人类作为宿主受到伤害,疟原虫寄生体(即寄生虫携带者)在人体内传播寄生虫,寄生虫大量繁殖,从而获得收益.
2.2. SOS算法的特色
SOS算法具有与大多数基于种群的算法(遗传算法、粒子群算法等)类似的特征,在一组候选解上执行特定算子(互惠、共栖、寄生)进行迭代,逐步改进候选解的质量以寻找全局最优解. 互惠阶段通过计算2种生物体的平均值与最优生物体之间的差异(MV),改善候选解决方案;共栖阶段通过计算随机2个解之间的差异来改善解的质量,以当前最优解作为参考点来探索附近区域,提高算法的收敛速度;寄生阶段通过随机改变生物体维度得到新的解决方案,改变部分维度表示局部搜索特征,改变整个维度可以增加生态系统扰动,有助于维持多样性并且可以防止过早收敛.
SOS算法在每个阶段结束时使用贪心选择方式决定在生态系统中存活的生物体,确保了进化后生物体的质量. 仅使用最大迭代数和种群数量的2个参数,诸如遗传算法、差分进化算法、粒子群算法等算法至少需要调整1个以上的特定算法参数(如遗传算法的交叉率和变异率,粒子群算法中的惯性权重、认知因素和社会因素等),SOS算法设计简单,避免了复杂、不确定的参数调整而导致算法性能受损的风险,具有较强的稳定性,是优于其他算法的最大竞争优势[10]. 与其他智能算法相似,在实际运用中SOS算法出现了求解复杂问题时精度低、搜索后期种群多样性受损、容易陷入局部最优等缺陷. 在应用SOS算法求解实际问题时,应根据问题的特征对算法进行进一步的改进.
3. 混合共生生物搜索算法求解置换流水车间生产调度问题
为了解决置换流水车间生产调度问题,结合局部搜索策略、交换变异操作、插入-倒转区等多种技术与SOS算法,提出混合SOS算法(hybrid symbiotic organisms search,HSOS),以提高SOS算法在求解PFSP时的性能. HSOS算法通过NEH启发式算法与随机生成的方式,生成一组质量较高的初始种群,识别出种群中的最优生物体. 对种群中的每个生物体依次经过互惠、共栖、寄生阶段. 对每个生物体采用交换变异来提高种群的多样性,避免算法早熟,过早地收敛;采用插入-倒转区操作,利用强力的突变帮助算法跳出局部最优. 对更新后种群中的最优生物体进行局部搜索,增强算法的探索能力,以在全局搜索中寻找更优的解决方案. 如图1所示为HSOS的框架,由4个主要步骤组成:编码方式与初始化、生物体适应度评估、共生过程、改进技术与局部搜索策略.
图 1
3.1. 编码方式与初始化
置换流水车间调度问题属于离散的NP-hard难题. 由于SOS算法用于解决连续性问题,提出HSOS算法解决该问题. 通过生成(0,1)不同的随机数构建初始生态系统种群(population),如图2所示.
图 2
图 3
NEH是一种有效解决调度问题的启发式算法[2]. 采用NEH法生成初始种群中的生物体,可以有效地提高初始种群的质量,保证在初始种群中得到一个较高质量的解,提升了进化迭代过程的效率,提高了算法性能. NEH启发式算法的优化步骤如下.
1)计算每个工作的总加工时间.
2)对工作j=1,2,···,n,按照每个工作在所有工序上的总加工时间以不递增的顺序排列.
3)选择排列中前2个工作. 计算工作之间的排列组合,选择总时间最短的排序.
4)将第3个工作插入步骤2)中获得的最优排列中(插入后存在3个可能的排序). 计算所有可能的排列组合,选择最短时间的排序.
5)将下一个工作插入到上一步得到的最短时间排序中. 考虑所有可插入的位置并计算完成时间,选择完成时间最短工作排序作为最佳排序.
6)重复步骤5),直到所有工作均被安排完毕.
初始种群中只有少量生物体(初始种群个体的10%)采用NEH法生成[16],以求获得高质量的个体;种群中剩余生物体采用随机方式生成,既保证了初始种群的质量,又不影响初始种群的多样性,避免算法过早收敛.
3.2. 生物体适应度评估
表 1 置换流水车间调度例子
Tab.1
构件 | M1 | M2 | M3 | M4 | M5 |
J1 | 5 | 9 | 8 | 10 | 1 |
J2 | 9 | 3 | 10 | 1 | 8 |
J3 | 9 | 4 | 5 | 8 | 6 |
J4 | 4 | 8 | 8 | 7 | 2 |
表 2 不同工作序列的计算
Tab.2
组合 | 工作排列 | 完成时间 |
1 | 4-3-1-2 | 54 |
2 | 3-1-4-2 | 58 |
3 | 3-1-2-4 | 58 |
4 | 3-4-1-2 | 57 |
3.3. 共生过程
互惠关系描述了一种对相互作用的2种生物均有益的关系. 在生态系统中,生物体xi(代表一组工作排序)与生物体xj(另一组工作排序)之间发生的互惠关系按式(6)、(7)进行,以提高两者在生态系统中的生存率,维持生态系统稳定.
式中:MV称为交互矢量(表示xi和xj之间的相互关系);rand(0,1)为(0,1)的随机数向量;BF1和BF2为2种生物体的收益因子(取值为1或2),根据从相互关系中的受益程度,在1或2中随机选取.
在共栖阶段,随机选择生态系统中生物体xj与xi相互作用. 其中xj既不受益但也不会受到不利影响,xi在相互作用中受益,通过式(9)产生新的解
式中:
寄生关系类似于蚊子、疟原虫和人类宿主之间的关系. 在寄生阶段,xi表示寄生体,通过随机截取生物体xi的维度生成寄生载体Xpar,随机选择另一种生物体xj作为宿主. 若寄生物载体比宿主xj具有更高的适应度,则会感染且取代宿主;否则,宿主将对寄生物产生免疫力,且寄生物载体将从生态系统中消失.
3.4. 改进技术与局部搜索测量
与其他智能算法相似,SOS算法在处理复杂问题时,表现出了搜索精度低、迭代后期种群多样性不足、容易陷入局部最优等缺点. 为了改善这些缺陷,提高算法的性能,采用以下3种手段进行改进.
交换变异是选择生物体中的2个随机的不同位置. 将这2个随机位置中的工作进行交换(即交换2个位置的优先值)生成新的排列,如图4所示. 计算交换后的适应度进行比较,保留适应度高的排序. 通过交换变异,可以使SOS算法在迭代过程中保持较高水平的种群多样性.
图 4
插入-倒转区是在维度为d的生物体中,将2个随机位置之间的工作顺序倒转形成的倒转区剪切出来,并插入所有(d−1)个可能的位置,形成新的(d−1)种工作排序. 若新排序的适应度优于原排列,则用新排列替换原排列. 如图5所示,通过采用插入-倒转区操作,可以在种群中产生强有力的变异以增强算法跳出局部最优的能力.
图 5
采用局部搜索策略对得到的最佳工作排序W*进行局部搜索,以提高解决方案的质量. 局部搜索策略是对于维度为d的W*中的每个工作,将每个工作移至所有(d−1)的位置,同时保持其余工作不变. 对于每一次移动产生的新工作排序,计算完工时间;当新排序的完工时间小于最佳工作排序W*的完工时间时,将该排序替换更新成为最佳工作排列W*. 利用局部搜索策略提高了算法的全局探索能力,可以改善算法易陷入局部最优的缺点,提升算法性能. 为了尽量减少对算法效率和计算时间的影响,通过设置局部搜索概率(local search probability,LSP)控制是否进行局部搜索.
4. 实验结果与分析
4.1. Carlier测试集
表 3 Car测试集的最优解比较
Tab.3
实验组 | 问题规模 | 最优解 | 实验组 | 问题规模 | 最优解 | |
Car01 | 11×5 | 7 038 | Car05 | 10×6 | 7 720 | |
Car02 | 13×4 | 7 166 | Car06 | 8×9 | 8 505 | |
Car03 | 12×5 | 7 312 | Car07 | 7×7 | 6 950 | |
Car04 | 14×4 | 8 003 | Car08 | 8×8 | 8 366 |
表 4 Car测试集的计算结果误差比较
Tab.4
实验组 | BRE | ARE | WRE | ||||||||||||||
HBA | PSOVNS | HBSA | SOS | HSOS | HBA | PSOVNS | HBSA | SOS | HSOS | HBA | PSOVNS | HBSA | SOS | HSOS | |||
Car01 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||
Car02 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||
Car03 | 0 | 0 | 0 | 0 | 0 | 0.397 | 0.420 | 0.06 | 0 | 0 | 1.190 | 1.189 | 1.19 | 0 | 0 | ||
Car04 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||
Car05 | 0 | 0 | 0 | 0 | 0 | 0 | 0.039 | 0 | 0.018 | 0 | 0 | 0.389 | 0 | 0.375 | 0 | ||
Car06 | 0 | 0 | 0 | 0 | 0 | 0 | 0.076 | 0 | 0.114 | 0 | 0 | 0.764 | 0 | 0.764 | 0 | ||
Car07 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||
Car08 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
使用最佳相对误差(best relative error,BRE)、平均相对误差(average relative error,ARE)和最差相对误差(worst relative error,WRE)来进行算法的比较. BRE、ARE、WRE的计算公式如下:
式中:Z*为目前已知的该问题的最佳完成时间,Zbest为规定运行次数内的最短完成时间,Zavg为规定运行次数内的平均完成时间,Zworst为规定运行次数内的最长完成时间.
相比于其他算法均会出现偏差的情况,HSOS算法在Car测试集的8个算例上的BRE、ARE、WRE均为0,即HSOS算法在Car的测试中每次优化均找到了问题的最优解,不仅体现了HSOS算法的强大性能,还展示出了算法的稳定性. 与未经改进的SOS算法相比,HSOS算法具有更小的ARE和WRE,这是因为HSOS算法的交换变异操作改善了种群内的多样性,插入-倒转区操作增加了算法跳出局部最优的能力,利用局部搜索策略提升了算法的全局探索能力,因此优化结果减小了误差,提高了算法的精度和稳定性. 可见,利用提出的改进措施有效改进了SOS算法的性能.
为了针对更多规模的问题进行验证,测试HSOS的性能,分别测试Rec测试集和Taillard测试集.
4.2. Rec测试集
表 5 Rec测试集的最优解比较
Tab.5
实验组 | 问题规模 | 最优解 | 实验组 | 问题规模 | 最优解 | |
Rec01 | 20×5 | 1 247 | Rec23 | 30×10 | 2 011 | |
Rec03 | 20×5 | 1 109 | Rec25 | 30×15 | 2 513 | |
Rec05 | 20×5 | 1 242 | Rec27 | 30×15 | 2 373 | |
Rec07 | 20×10 | 1 566 | Rec29 | 30×15 | 2 287 | |
Rec09 | 20×10 | 1 537 | Rec31 | 50×10 | 3 045 | |
Rec11 | 20×10 | 1 431 | Rec33 | 50×10 | 3 114 | |
Rec13 | 20×15 | 1 930 | Rec35 | 50×10 | 3 277 | |
Rec15 | 20×15 | 1 950 | Rec37 | 75×20 | 4 951 | |
Rec17 | 20×15 | 1 902 | Rec39 | 75×20 | 5 087 | |
Rec19 | 30×10 | 2 093 | Rec41 | 75×20 | 4 960 | |
Rec21 | 30×10 | 2 017 | − | − | − |
表 6 Rec测试集的计算结果误差比较
Tab.6
实验组 | BRE | ARE | WRE | ||||||||||||||
PSOVNS | MPSO | DBA | HGA | HSOS | PSOVNS | MPSO | DBA | HGA | HSOS | PSOVNS | MPSO | DBA | HGA | HSOS | |||
Rec01 | 0.160 | 0 | 0 | 0 | 0 | 0.168 | 0.144 | 0.080 | 0.14 | 0 | 0.321 | 0.160 | 0.160 | − | 0 | ||
Rec03 | 0 | 0 | 0 | 0 | 0 | 0.158 | 0.189 | 0.081 | 0.09 | 0 | 0.180 | 0.721 | 0.180 | − | 0 | ||
Rec05 | 0.242 | 0.242 | 0.242 | 0 | 0 | 0.249 | 0.249 | 0.242 | 0.29 | 0 | 0.420 | 0.402 | 0.242 | − | 0 | ||
Rec07 | 0.702 | 0 | 0 | 0 | 0 | 1.095 | 0.986 | 0.575 | 0.69 | 0 | 1.405 | 1.149 | 1.149 | − | 0 | ||
Rec09 | 0 | 0 | 0 | 0 | 0 | 0.651 | 0.621 | 0.638 | 0.64 | 0 | 1.366 | 1.691 | 2.407 | − | 0 | ||
Rec11 | 0.071 | 0 | 0 | 0 | 0 | 1.153 | 0.129 | 1.167 | 1.1 | 0 | 2.656 | 0.978 | 2.655 | − | 0 | ||
Rec13 | 1.036 | 0.259 | 0.415 | 0.36 | 0 | 1.790 | 0.839 | 1.461 | 1.68 | 0.273 | 2.643 | 1.502 | 3.782 | − | 0.777 | ||
Rec15 | 0.769 | 0.051 | 0.154 | 0.56 | 0 | 1.487 | 0.628 | 1.226 | 1.12 | 0.523 | 2.256 | 1.076 | 2.103 | − | 1.020 | ||
Rec17 | 0.999 | 0 | 0.368 | 0.95 | 0 | 2.453 | 1.330 | 1.277 | 2.32 | 1.388 | 3.365 | 2.155 | 2.154 | − | 2.154 | ||
Rec19 | 1.529 | 0.430 | 0.573 | 0.62 | 0.620 | 2.099 | 1.313 | 0.929 | 1.32 | 1.274 | 2.532 | 2.102 | 2.023 | − | 2.099 | ||
Rec21 | 1.487 | 1.437 | 1.438 | 1.44 | 1.437 | 1.671 | 1.596 | 1.671 | 1.57 | 1.537 | 2.033 | 1.636 | 2.231 | − | 2.033 | ||
Rec23 | 1.343 | 0.596 | 0.796 | 0.4 | 0.348 | 2.106 | 1.310 | 1.173 | 0.87 | 1.280 | 2.884 | 2.038 | 2.381 | − | 3.050 | ||
Rec25 | 2.388 | 0.835 | 1.632 | 1.27 | 0.835 | 3.166 | 2.085 | 2.921 | 2.54 | 2.067 | 3.168 | 3.233 | 3.940 | − | 2.850 | ||
Rec27 | 1.728 | 1.348 | 1.011 | 1.1 | 0.969 | 2.463 | 1.605 | 1.419 | 1.83 | 1.432 | 3.203 | 2.402 | 2.298 | − | 2.570 | ||
Rec29 | 1.968 | 1.442 | 1.049 | 1.4 | 0.831 | 3.109 | 1.888 | 2.580 | 2.7 | 2.488 | 4.067 | 2.492 | 3.935 | − | 2.970 | ||
Rec31 | 2.594 | 1.510 | 2.299 | 0.43 | 0.427 | 3.232 | 2.254 | 3.392 | 1.34 | 0.644 | 4.237 | 2.692 | 4.532 | − | 0.920 | ||
Rec33 | 0.835 | 0 | 0.610 | 0 | 0 | 1.007 | 0.645 | 0.728 | 0.78 | 0.565 | 1.477 | 0.834 | 1.734 | − | 0.835 | ||
Rec35 | 0 | 0 | 0 | 0 | 0 | 0.038 | 0 | 0.037 | 0 | 0 | 0.092 | 0 | 0.092 | − | 0 | ||
Rec37 | 4.383 | 2.101 | 3.373 | 3.75 | 2.565 | 4.949 | 3.537 | 4.872 | 4.9 | 3.001 | 5.736 | 4.039 | 5.979 | − | 3.555 | ||
Rec39 | 2.850 | 1.553 | 2.280 | 2.2 | 1.828 | 3.371 | 2.426 | 3.851 | 2.79 | 2.222 | 3.951 | 2.830 | 5.347 | − | 3.380 | ||
Rec41 | 4.173 | 2.641 | 3.810 | 3.64 | 2.388 | 4.867 | 3.684 | 5.095 | 4.92 | 3.350 | 5.585 | 4.052 | 6.532 | − | 3.770 |
如图6~8所示为HSOS算法与其他算法在Rec测试集上得到的BRE、ARE和WRE. 如图9所示,对几种算法在Rec基准测试集上的BRE、ARE和WRE的平均值进行比较. 图中,
图 6
图 7
图 8
图 9
图 9 Rec测试集的BRE、ARE、WRE平均值比较
Fig.9 Comparison of BRE,ARE,and WRE averages of Rec benchmark
4.3. Taillard测试集
表 7 Taillard测试集的计算结果比较
Tab.7
实验组 | 问题规模 | 最优解 | HGA | HSOS | TMIIG | DWWO | NEH | IIGA |
Ta010 | 20×5 | 1 108 | 1 345.5 | 1 108 | 1 377 | 1 377 | 1 127 | 1 377 |
Ta020 | 20×10 | 1 591 | 2 019.3 | 1 601 | 2 051 | 2 051 | 1 656 | 2 051 |
Ta030 | 20×20 | 2 178 | 2 956.3 | 2 205 | 2 979 | 2 979 | 2 257 | 2 979 |
Ta040 | 50×5 | 2 782 | 3 341.5 | 2 782 | 3 327.2 | 3 336.5 | 2 822 | 3 377.2 |
Ta050 | 50×10 | 3 065 | 4 279.0 | 3 140 | 4 286.2 | 4 286.2 | 3 267 | 4 301 |
Ta060 | 50×20 | 3 756 | 5 963.5 | 3 887 | 5 959 | 5 958.8 | 4 036 | 5 982 |
Ta070 | 100×5 | 5 322 | 6 542.5 | 5326 | 6 401.6 | 6 427.2 | 5 342 | 6 561 |
Ta080 | 100×10 | 5 845 | 8 255.3 | 5 898 | 8 148.8 | 8 141 | 8 186 | 8 263.6 |
Ta090 | 100×20 | 6 434 | 10 928.8 | 6 650 | 10 817.2 | 10 808.5 | 10 794 | 10 944.6 |
Ta100 | 200×10 | 10 675 | 15 869.1 | 10 798 | 15 410.8 | 15 412.2 | 15 803 | 15 754.4 |
Ta110 | 200×20 | 11 288 | 20 587.6 | 11 698 | 19 968.6 | 19 946.3 | 20 437 | 20 284 |
Ta120 | 500×20 | 26 457 | 49 545.6 | 26 780.8 | 47 402.4 | 47 183.2 | 49 092 | 48 483.4 |
如图10所示为Taillard基准测试中的平均错误率(average error,AE),其中AE的计算公式为
图 10
式中:Zi为算法i求得的平均完工时间,Zopt为目前已知的算例上界值,k为算例的数量. HSOS算法在12个算例中的平均错误率AE为1.51,远远低于其他算法,表明了HSOS算法相对于其他5种算法具有更好的稳定性.
为了验证HSOS算法的性能,如图11所示为基于HSOS的改进百分比(improvement percentage,IP)的性能测量比较. 改进百分比的定义为
图 11
图 11 基于HSOS对其他算法的改进百分比
Fig.11 Percentage improvement based on HSOS for other algorithms
式中:IP为HSOS算法对其他算法的改进百分比,Cx为改进算法在不同规模算例下的平均完工时间,CHSOS为不同规模算例下HSOS算法的平均完工时间. IP可以用于确定HSOS为每种算法实现的改进百分比. 可以看出,与HGA、TMIIG、DWWO、IIGA、NEH算法相比,HSOS算法的性能得到了很大提升.
综上所述,在Taillard测试集上,HSOS算法在平均完工时间、平均错误率、改进百分比3个指标上均超过其他算法,证明了HSOS算法的高效和稳定性.
5. 结 语
本文提出结合NEH启发式算法、局部搜索策略、交换变异和插入-倒转区的HSOS算法. 将HSOS在Carlier、Rec和Taillard 3个不同的基准测试集上进行性能测试,选取最小完工时间W*、相对误差(BRE、ARE、WRE)、平均错误率AE、改进百分比IP等计算指标进行比较. 计算结果显示:HSOS在解决置换流水车间问题上的表现优于HGA、DBA、PSOVNS、PSOMA等算法,具有更好的稳定性. 变异算子在优化过程中对解决方案的改进,使得算法在处理高维度大规模的案例研究时具备稳定、高效的性能. 利用提出的局部搜索策略提高了SOS算法的探索能力.
下一步的研究重点是将提出的HSOS应用于实际的预制构件生产调度问题中,根据实际生产情况的特征和约束对算法进行改进调整,实现对实际装配式建筑预制构件生产调度问题的建模与优化. 这部分的研究目前正在逐步深入展开.
参考文献
Optimal two- and three-stage production schedules with setup times included
[J].DOI:10.1002/nav.3800010110 [本文引用: 1]
A heuristic algorithm for the m -machine, n -job flow-shop sequencing problem
[J].DOI:10.1016/0305-0483(83)90088-9 [本文引用: 3]
Improved cuckoo search algorithm for hybrid flow shop scheduling problems to minimize makespan
[J].
Hybrid monkey search algorithm for flow shop scheduling problem under makespan and total flow time
[J].
An effective differential evolution algorithm for permutation flow shop scheduling problem
[J].
Minimizing makespan and total flow time in permutation flow shop scheduling problems using modified gravitational emulation local search algorithm
[J].DOI:10.1177/0954405416645775 [本文引用: 1]
A hybrid genetic algorithm for no-wait flowshop scheduling problem
[J].DOI:10.1016/j.ijpe.2010.06.006 [本文引用: 3]
Symbiotic organisms search: a new metaheuristic optimization algorithm
[J].
A novel multiple objective symbiotic organisms search (MOSOS) for time-cost-labor utilization tradeoff problem
[J].
Discrete symbiotic organisms search algorithm for travelling salesman problem
[J].
Simulated annealing based symbiotic organisms search optimization algorithm for traveling salesman problem
[J].
Optimizing multiple-resources leveling in multiple projects using discrete symbiotic organisms search
[J].
A symbiotic organisms search algorithm with adaptive penalty function to solve multi-objective constrained optimization problems
[J].
Symbiotic organisms search and two solution representations for solving the capacitated vehicle routing problem
[J].
An opposition-based differential evolution algorithm for permutation flow shop scheduling based on diversity measure
[J].
A hybrid whale optimization algorithm based on local search strategy for the permutation flow shop scheduling problem
[J].
Ordonnancements à contraintes disjonctives
[J].
A genetic algorithm for flowshop sequencing
[J].DOI:10.1016/0305-0548(93)E0014-K [本文引用: 1]
Benchmarks for basic scheduling problems
[J].DOI:10.1016/0377-2217(93)90182-M [本文引用: 2]
Hybrid bat algorithm for flow shop scheduling problems
[J].DOI:10.1504/IJMOR.2016.077560 [本文引用: 1]
A hybrid backtracking search algorithm for permutation flow-shop scheduling problem
[J].
A particle swarm optimization algorithm for makespan and total flowtime minimization in the permutation flowshop sequencing problem
[J].DOI:10.1016/j.ejor.2005.12.024 [本文引用: 2]
An effective PSO-based memetic algorithm for flow shop scheduling
[J].DOI:10.1109/TSMCB.2006.883272 [本文引用: 1]
An improved iterated greedy algorithm with a Tabu-based reconstruction strategy for the no-wait flowshop scheduling problem
[J].
A discrete water wave optimization algorithm for no-wait flow shop scheduling problem
[J].
An improved iterated greedy algorithm for the no-wait flow shop scheduling problem with makespan criterion
[J].
/
〈 |
|
〉 |
