任务6.2 基于人工蜂群算法的批量流柔性作业车间调度方法
1.任务引入
柔性作业车间调度问题是在传统车间调度问题上拓展而来的,其释放了机器的约束,增加了工件可加工的柔性,属于车间调度中的经典问题之一。批量流柔性作业车间调度问题是在柔性作业车间调度问题上拓展而来的,其解除了工件中零件数量为1的约束,主要增加了批量化调度的手段,适用于同一种工件含有一定数量规模完全相同的零件的加工情况。批量流柔性作业车间调度问题在现实工厂加工过程中越来越频繁,属于理论上较新的研究方向,同时具有实际意义和指导意义。
2.任务目标
1)知识目标
(1)了解批量流柔性作业车间调度问题理论基础。
(2)理解基于EC-ABC的一致分批批量流柔性作业车间调度方法。
(3)理解基于EI-ABC的不一致分批批量流柔性作业车间调度方法。
2)技能目标
通过调度方法的学习能够进行优化调度。
3)素养目标
(1)培养学生养成经常收集、整理、记录、归档资料的良好习惯。
(2)提升学生基于任务分析问题、解决问题的能力。
3.任务分析(https://www.daowen.com)
批量流柔性作业车间调度问题是指在一个加工车间中,包含n种待加工的工件,每一种工件含有各自不同数量规模{S1,S2,S3,…,Sn}的相同零件,放置于m台独立设备上进行加工。本问题与柔性作业车间调度问题的最大区别在于对相同零件划分后进行成批加工,利用机器柔性在多台机器上对同一种工件进行并行加工,发挥overlap方法的优势来缩短总体工件的加工时间。批量流柔性作业车间调度问题需要考虑子批划分、工序排序、机器选择和工件转运等一系列调度决策问题,最终使一项或者多项指标最优。
柔性作业车间调度问题可以看作批量流柔性作业车间调度问题中所有相同零件数量为1的特殊情况,在柔性作业车间调度问题的基础上可以总结使用批量流调度的3种优势:①减少算法求解的维度。如果不使用批量流调度,仍然将此问题处理为柔性作业车间调度问题,则问题规模巨大,导致算法求解缓慢。②缩短加工时间。若是大规模单个零件进行工件转运,则大量的时间被消耗在不同零件转运至目标机器上;批量流可以缩短转运时间,成批零件转运减小了无谓的时间损耗,缩短了产品的最大完工时间。③符合实际生产模式。随着生产需求的日益增加,柔性作业车间调度问题的发展方向越来越趋向于批量流和分布式等模式。
4.相关知识
1)4种分批模式
批量流柔性作业车间调度问题在进行批量流调度时,可以根据等量性与一致性这两种不同分批特性进行区分。在进行子批划分时,根据同一类工件的每一个子批数量是否相等可以分为等量分批与不等量分批;根据同一种工件的每一个加工阶段子批划分方式是否相同可以分为一致分批和不一致分批。因此,根据两种不同特性进行两两组合,将批量流柔性作业车间调度问题区分出4种分批模式:①等量一致分批;②不等量一致分批;③等量不一致分批;④不等量不一致分批。这使批量流柔性作业车间调度问题在真实的车间调度中可根据实际场景自由选择分批模式,使应用更加灵活。
批量流调度的内核是通过成批调度的方式,使用overlap方法使同一种工件的不同子批在不同机器上同时进行并行加工。但是,一致分批和不一致分批的overlap方法又有所区别。一致分批的overlap方法是指在加工之前,将原来的n种工件,通过预先分割的方式,拓展成多个独立且互不相关的子批,调度独立子批加工序列,实际上是拓展出一个新的柔性作业车间调度问题。在加工过程中,每一个子批内的所有相同零件的调度方法保持一致,利用工件内的overlap方法进行重叠加工。不一致分批的overlap方法是指在加工前,首先调度全体工件的加工序列,然后在处理每一道加工工序Oij时进行子批的划分,将同一类工件的所有零件分批安排在多台机器上,利用同一道工序内的overlap方法进行重叠加工,每一道工序内的工件划分方法和调度方法都是不一致的。
2)人工蜂群算法简介
人工蜂群(Artificial Bee Colony,ABC)算法是一种群体智能优化算法,是20世纪以来最具有代表性的算法之一,其主要的优化思想来源于自然界中蜜蜂的觅食行为。人工蜂群算法的主要特点是只需要对问题进行目标值大小的比较,通过每个蜜蜂个体的局部寻优行为,并且通过交流机制实现蜂群信息的共享。每一个单独个体向着更优的方向进化,最终个体的最优解可以在群体中使全局最优值突现出来。这种算法思想使人工蜂群算法有较快的收敛速度。整个蜂群系统由3个基本要素组成,分别是食物源(food source)、雇佣蜂(employed bee)和非雇佣蜂(unemployed Bee),具体介绍如下。
(1)食物源:食物源即蜜源。在自然场景中,食物源的价值由运输距离和花蜜产量等多种因素共同决定。在优化问题中,食物源的优劣即可行解的好坏是用蜜源花蜜量的大小即适应度值来评价的。在人工蜂群算法中,每一个食物源就是一个待求优化问题的可行解,是人工蜂群算法中要处理的基本对象。
(2)雇佣蜂:雇佣蜂也叫作引领蜂(leader bee),其与食物源的位置相对应,一个食物源对应一个引领蜂。在人工蜂群算法中,食物源的个数与引领蜂的个数相等。引领蜂的任务是发现食物源信息并以一定的概率与跟随蜂分享。概率的计算即人工蜂群算法中的选择策略,一般是根据适应度值以轮盘赌的方法计算。
(3)非雇佣蜂:非雇佣蜂分为跟随蜂(follower bee)和侦察蜂(scout bee)。跟随蜂根据引领蜂提供的蜜源信息来选择食物源,而侦察蜂是在蜂巢附近寻找新的食物源。在人工蜂群算法中,跟随蜂依据引领蜂传递的信息,在食物源附近搜索新食物源,并进行贪婪选择。若一个食物源在经过多次后仍未被更新,则此引领蜂变成侦察蜂,侦察蜂寻找新的食物源代替原来的食物源。
3)批量流柔性作业车间问题的研究
通过上述对批量流柔性作业车间调度问题以及其4种分批模式的介绍可以看出本问题的复杂度较高,属于一个比柔性作业车间调度问题更高维的NP-hard问题,其子问题包括子批划分、工件排序和机器选择,更多的子问题使批量流柔性作业车间调度问题的解空间大小呈现指数增长的趋势。传统的精确解法对此类问题存在求解速度慢和效果不理想等缺点,而目前处理此类问题的主流手段是采用高效的混合群体智能优化算法。人工蜂群算法在处理连续问题上具有良好的性能表现,在多种车间调度问题上都有广泛的应用,其收敛性好且控制参数较少。Levy飞行机制来源于布谷鸟算法,其具有十分优异的全局搜索能力,可以避免人工蜂群算法陷入局部最优解。综合考虑以后,本书使用改进的人工蜂群算法来求解批量流柔性作业车间调度问题。主要的算法步骤如下。首先,根据批量流柔性作业车间调度问题的特性设计合适的编码策略,并对可行解进行主动解码以获取目标值;然后,在局部搜索阶段设计多种合适的邻域结构和基于关键路径的邻域结构进行局部搜索,同时在全局搜索阶段采用Levy飞行机制完成个体的全局更新,防止算法陷入局部最优解,从而提高算法的综合求解能力。
首先,建立以最大完工时间为目标值的等量一致分批的批量流柔性作业车间调度问题数学模型,分析其模型特征,设计可变长编码结构,结合关键路径局部搜索等方法,使用改进的人工蜂群算法进行求解;接着,建立以最大完工时间为目标值的等量不一致分批的批量流柔性作业车间调度问题模型,结合子批二分迭代搜索等方法,使用改进的人工蜂群算法进行求解;最后,在上述问题的基础上,以最小化最大完工时间和最小化最大机器负载这两个目标建立多目标批量流柔性作业车间调度问题数学模型,设计基于多目标优化的MOABC算法对此问题进行求解。
4)基于EC-ABC的一致分批批量流柔性作业车间调度方法
(1)一致分批批量流柔性作业车间问题描述。
ECLS_柔性作业车间调度问题是在经典柔性作业车间调度问题的基础上添加了批量流调度方法拓展而来的。经典的柔性作业车间调度问题可以按照以下形式进行描述。在同一加工环境下,n个工件需要在m台机器上进行加工。每一种工件有独立的加工工序路线,其工序数量预先已知;工件之间相互独立,第i个工件的工序数量用集合Ji进行表示;机器之间相互独立,第k台机器的序号用Mk表示;每一道工序在可选机器集上进行加工,可选机器数量大于等于1,并且其加工时间由加工时间表可得。由此产生工件序列和机器选择两个子问题。
然而在实际工厂环境中,每一种工件的数量大于1,对应为一定批量的同种工件,此时需要使用批量流调度来解决此类问题。如果不考虑批量划分,则对同一种工件的全部批量连续加工,会严重占用机器加工时间,产生大量空闲时间,降低机器的利用率;如果考虑完全划分,把同种工件也当成独立个体,则失去了相同工件的加工优势,并且独立工件的数量会成倍增加,解空间数量增加,导致求解困难。批量流调度可以使用overlap方法缩短加工时间,很好地解决此类问题。
ECLS_FJSP在柔性作业车间调度问题的基础上增加了工件批量的设定,这就引入了第三个子问题:子批划分。批量流调度在等量性和一致性上存在细分。等量性是指子批划分的过程中,将同一类工件划分成多份数量相同的子批;一致性是指在同一类工件的每一道工序加工过程中是否保持一致,如果在每一类工件的加工工序阶段都重新进行子批划分,则此为不一致分批。ECLS_FJSP模型用于求解等量一致分批问题,求解目的是确定最佳的加工工序序列和机器选择,同时确定每一类工件的子批划分情况,来获得更优的等性能指标。
一般需要对ECLS_FJSP作出如下假设。
①同一类工件的分批设定为等量一致分批。
②同一类工件的各个子批内的工件保证连续加工,不可中断。
③各个子批之间相互独立,互不影响。
④单独考虑子批转运时间和机器准备时间,通过预先时间表设定。
⑤设备的缓冲区设定为无限大,即不考虑工件放置问题。
⑥同一设备在相同时间内只能加工同一类工件的一个子批的一道工序。
⑦同一类工件的一个子批在相同时间内只能被某一设备加工一道工序。
⑧同一类工件的所有子批工艺路线在加工过程中不变。
(2)基于EC-ABC的一致分批批量流柔性作业车间调度问题求解方法。
①编码与解码。
ECLS_FJSP问题是一个十分复杂的高维度组合优化问题,因此需要采用合理的编码设计方式,既要保证编码串可以完整表示一个可行解,又要保证编码串在算法过程中的可用性。不合理的编码方式会导致大量不可使用的非法解;过于简单的解向量表示会减小解空间的大小,影响算法的全局寻优能力,无法找到真正的最优解;表达过量的编码方式会导致编码层数过多,每个个体的邻域可搜索空间指数规模爆炸使大部分邻域操作对解空间的搜索能力较弱,从而降低了算法的执行效率、寻优能力和收敛速度等。
机器选择子问题会在解码阶段使用启发式算法将其解决。本算法采用FCFS(First Come First Serve)的算法思想处理机器选择子问题,保证一个子批在加工完毕以后可以最快地被机器集中的机器执行加工。同时ECLS_FJSP模型考虑子批转运时间,解码时需要将子批转运时间加到子批加工时间上。对于一个可行解来说,其计算的适应度值代表单目标最大完工时间的大小,且值越小越优。
②种群初始化。
在群体智能算法中,种群初始化的质量决定了每一个可行解的出发点,而每一个个体的质量和整体种群的分散程度对算法的进化方向影响重大。高质量的个体解和均匀分散的起点解有利于找到最优解,同时提高算法运行的速度。ECLS_FJSP的双层编码中OS编码串长度是由SS编码串决定的,因此在种群初始化时采用分阶段初始化的方式执行初始化。
首先,初始化种群的SS编码串,随机初始化前70%的个体,并记录这些个体的SS编码串,形成初始禁忌表(initial tabu list);其次,对后30%的个体逐一进行SS编码串初始化,如果随机生成SS编码串出现在初始禁忌表中,则丢弃且重新生成SS编码串,直至满足SS编码串不在初始禁忌表中的要求;最后,当种群中所有个体的SS编码串均完成初始化后,根据子批划分的情况,再对OS编码串执行随机生成。
这种种群初始化方式可以保证在ECLS_FJSP此类编码下的个体分散性,通过保证SS编码串的差异性,保证个体绝对差异,从而提高整个种群初始化的质量,使算法能够轻易地从不同的差异个体开启搜索,提高算法的搜索质量。
③引领蜂阶段。
在EC-ABC算法流程中,每一个个体都需要进行局部搜索来进行个体的更新操作。可行解由SS编码串和OS编码串组成,且OS编码串的长度是由SS编码串的数值以及对应的每一种工件的工序数量决定的。
本算法设计了4种个体局部搜索策略,策略一为浅层搜索,其他策略为深层搜索。
a.单层搜索。
SS编码串固定不动,仅对OS编码串进行局部邻域搜索。本策略下制定了4种搜索策略,分别是Swp交换邻域、Ins插入邻域、Rev逆序邻域以及关键路径搜索邻域,它们作用于当前个体。
OS编码串Swp交换邻域如图6-1所示。
Ins插入邻域如图6-2所示。

图6-1 OS编码串Swp交换邻域

图6-2 OS编码串Ins插入邻域
OS编码串Rev逆序邻域如图6-3所示。
在甘特图中,一个可行解的关键路径(critical path)是指一条起点加工时间为0,终点完工时间为最大完工时间,且中间由多个关键加工工序块衔接的长度等于最大完工时间的路径。因为关键路径对解码时的最大完工时间具有决定性的影响,所以在柔性作业车间调度问题类问题中通过移动或修改关键路径块的相关信息来减小最大完工时间是切实可行且高效的手段。ECLS_FJSP本质上是一个原柔性作业车间调度问题拓展出来的新柔性作业车间调度问题,因此在保证分批策略SS编码串不变的情况下,采用N5关键路径邻域搜索策略,对个体执行更优解搜索。N5关键路径搜索策略步骤如下。从个体解码甘特图的最大完工时间位置开始,反向递推出所有关键路径块。然后,遍历所有关键路径块,在满足前后工件约束的前提下,如果当前关键块是整体关键路径上的第一个关键块,则仅交换此关键块尾部两道加工工序;如果当前关键块是整体关键路径上的最后一个关键块,则仅交换此关键块首部两道加工工序;如果当前关键块属于中间关键路径块,则分别交换此关键块块首前两道工序和块尾后两道工序。

图6-3 OS编码串Rev逆序邻域
b.跳跃随机搜索。
SS编码串对每一个基因位进行随机修改,但是修改后的SS编码串求和数值未改变。这种情况表示,子批划分以后,独立加工单元的总数量不变,OS编码串的最大有效子批数值不变。但是每一个独立加工单元的工序是不一样的,因此OS编码串会根据SS编码串的变化情况动态修改,以原OS编码串为基础,增加缺少的子批序号工序,删除多余的子批序号工序。
c.跳跃增加搜索。
SS编码串对每一个基因位进行随机修改,但是修改后的SS编码串求和数值增多,需要根据每一个子批的工序数进行添加。
d.跳跃缩减搜索。
SS编码串对每一个基因位进行随机修改,但是修改后的SS编码串求和数值减少,需要根据工序数设定对相应的基因位进行删除操作。
根据以上所述的4种个体局部搜索策略,完成单个个体的邻域搜索。第一种邻域搜索策略在不变动SS编码串的前提下,仅执行了OS编码的邻域搜索。由于这种策略的解空间只有一层编码,所以比较适合多次局部搜索求解,且容易获得在SS编码串固定的情况下较优的OS编码串。第二、三、四种局部搜索策略会对SS编码串进行变动修改,这会使OS编码串的长度产生变化,且内部填充的数值也会根据数值的大小进行变动,使新解与原来解的结构差异较大,因此需要低频使用;或者在第一种搜索策略进行OS编码串搜索以后,搜索陷入局部最优解,无法继续深度搜索,使用第二、三、四种局部搜索策略完成SS编码串的变动,从一种SS编码串模式“跳跃”至另外一种SS编码串模式,再次进行搜索。此类多种SS编码串模式下的搜索策略才能充分发挥个体局部搜索的算法能力。
④跟随蜂阶段。
a.交叉方法。
在个体经过SS编码串引领蜂阶段以后,可以在自己的邻域范围内搜索到更优的解,此时的可行解内部含有优良基因段,这时需要使用蜂群引导机制,让精英蜜蜂引导普通蜂群,从而获得更优个体,促进整个蜂群向更优的方向搜索进化。本算法针对OS编码串的交叉引导,设计了POX和JBX两种交叉方法。
·POX:基于工件优先顺序的交叉引导(Precedence Preserving Order-based Crossover)。在两个相等长度的基因串OS1和OS2的基础上,随机生成一个子批序号优先顺序集,将所有子批序号分割成两个集合Set1和Set2。第一个OS1串保留Set1的数值和位置,将其他的位置置空,再利用OS2的基因信息数值按顺序填补所有置空信息;第二个OS2串同理可得。对通过POX操作获得的两个新的解进行适应度值计算,如果产生了更优的解,则对原始解进行替换。POX交叉引导操作示意如图6-4所示。

图6-4 POX交叉引导操作示意
·JOX:基于工件顺序的交叉(Job-based Order Crossover)。与POX类似,JOX将所有的子批序号分割成两个集合Set1和Set2。第一个OS1串保留Set1的数值和位置,将其他位置置空,再利用OS2的基因信息数值按顺序填补所有置空信息;第二个OS2串与之前的操作相反,保留Set2的数值和位置,再利用OS1的基因信息填补空缺。同理,如果JOX操作产生了更优的解,则对原始解进行替换。JOX交叉引导操作示意如图6-5所示。

图6-5 JOX交叉引导操作示意
b.引导机制。
在蜂群引导机制中,设定可行解S1为精英解,其适应度值更优;可行解S2为普通解,其适应度值略差。以上述的两种交叉方法为基础,按以下步骤完成两种引导机制的设计。
引导机制一:S1和S2的子批划分部分的数值大小相等,这表示两个解的最大子批数值是相等的。此时可以交换S1和S2的OS编码串部分,通过将对应的OS编码串动态修改,增加或者覆盖缺少的子批序号,删除多余的子批序号,使新解的OS编码串满足原解OS编码串的子批序号大小和个数,从而完成精英解对普通解的引导。
引导机制二:S1和S2的子批划分部分的数值大小不等,这表示两个解的最大子批数值也是不相等的。此时交换S1和S2的OS编码串部分,对于解S1的OS编码串来说,以S2为原型,按照OS编码串部分的子批顺序,删去多余的子批号,随机插入需要候补的子批序号。
上述蜂群引导策略,可以通过交叉方式保留精英蜜蜂的优势基因段,促进蜂群之间的信息交流,使整个蜂群朝更优的方向进化迭代。
⑤侦察蜂阶段。
在蜜蜂种群不断迭代的过程中,侦察蜂机制的目的是保证每一个蜜蜂个体可以在一定的阈值范围内不断进行更新,提高全局搜索能力,而不是使个体解长时间陷入一个局部最优解,出现过早收敛的情况。
综上所述,针对ECLS_FJSP,以人工蜂群算法为框架,结合多种搜索策略的EC-ABC算法具有更高的性能。实验数据和收敛图显示了EC-ABC算法具有更优的搜索能力和更快的跳出局部最优解能力,使其在迭代后期仍然可以进行更优解搜索。其主要原因有如下3点。第一,设计了基于关键路径邻域的单层搜索和子批划分编码跳跃搜索的深层混合搜索机制,提升了算法的局部搜索能力;第二,通过双种群划分机制,使种群间个体进行有效交流,并通过锦标赛选择法,在精英种群和普通种群中进行高效的交叉引导,使整个种群快速进行寻优搜索;第三,对于长期未更新的个体,通过全局初始化和Levy飞行的全局搜索能力对个体进行更新,防止算法处于局部最优的状态,这使EC-ABC算法表现出更好的寻优能力。
5.任务实施
1)不一致分批批量流柔性作业车间问题描述与数学模型
EILS_FJSP同样是在经典柔性作业车间调度问题的基础上添加了批量流调度方法拓展而来,每一类工件的数量大于1,对应为一定批量的同种工件,其加工工序和加工时间等属性都完全一致。不一致分批是指在加工过程中,工件每执行一道工序都会采用一种不同的分批方式,导致每一道工序内的子批划分方法都是不一致的。EILS_FJSP模型不是在加工前预先对每一类工件进行分批,而是随着一类工件的加工过程的执行,每进入下一道工序加工前就执行一次子批划分。其优势在于,每进入一个加工阶段就执行动态调整,保证了局部过程中的加工最优效果;其劣势在于同一类工件需要相互等待,直到当前工序内所有的工件全部加工完毕。EILS_FJSP模型的overlap加速的机制原理在于:一类工件执行到某一道工序时,利用柔性加工原理将多个相同工件分散在多台机器上同时进行加工,实现了多个相同工件并行加工的加速效果。综上所述,EILS_FJSP模型属于同一工序内overlap。
2)基于EC-ABC算法的不一致分批批量流柔性作业车间调度问题求解方法
(1)问题特性分析。
EILS_FJSP模型是一种较为新颖的调度模型,其调度的思路如下。
首先,以每一类工件的每一道工序Oij为基准,在未加工前预先安排好所有工序的加工顺序,也就是预先设计完成OS编码串。接着,每一次在安排同一类工件的某一道工序Oij加工之前,对此类工件进行子批划分,也就是设计完成SS编码串的一个基因位值SSk。这里设定为等量不一致分批,同一类工件的所有零件通过等量划分的方式,被分成SSk个大小相同的子批。然后,为划分的每一个子批分配一个可以放置加工的机器进行加工。等待同一类工件的所有零件的本道工序Oij全部加工完毕以后,进行统一聚合,随后再次按照OS编码串下一个基因位完成工序加工。最后,所有工序Oij照OS编码串调度每一个加工阶段,在每一个加工阶段按照SS编码串的SSk值进行子批划分和机器分配。全部加工完毕后,最后一个子批的加工完成时间被记录为最大完工时间。
①与经典的柔性作业车间调度问题相比,EILS_FJSP多了一个子批划分的子问题,理论上多了一层解空间。因此,在EILS_FJSP的编解码问题上需要重新考虑,编码需要完全表达整个问题,解码需要考虑主动式解码,以保证获取较优的目标值。
②3个子问题带来的解空间会引起指数爆炸,采用三层编码会导致算法求解速度慢;然而采用双层编码又有可能导致无法搜索到最优解,需要采取策略来平衡算法的求解速度和求解质量。
③EILS_FJSP模型在每一个加工阶段进行子批划分,各个加工阶段都期望处于局部最优的状态。但是各个阶段局部最优不一定是全局最优,还需要对EILS_FJSP模型的关键路径进行变动,获取最优调度。
(2)编码与解码。
①编码。由上述分析可知,EILS_FJSP模型可以被拆分为3个子问题,分别是工序序列(Operation Sequence,OS)、子批划分(Sublot Size,SS)和机器选择(Mechine Selection,MS)。求解本模型需要在加工前预先表达工序序列子问题,然后在每一个加工阶段分别表达子批划分和机器选择子问题,完成整个加工阶段的加工动作。假设采用3层编码串将3个子问题完全表达出来,则会导致解空间太大,算法容易产生搜索能力不足且计算时间过长的问题。因此,经过综合考虑,利用双层编码串来表达工序序列和子批划分这两个子问题,如图6-6所示。
OS编码串表示所有类型的工件的调度顺序,其调度顺序表示为O11-O31-O12-O41-O21-O32-O42-O22。每一次加工调度以某一种类型的工件i的某一道加工工序j为出发点进行,安排一堆相同零件的加工。
②解码。通过双层编码已经对EILS_FJSP模型的工序序列和子批划分两个子问题进行了描述,这里使用启发式规则解码完成第三个子问题。此处启发式规则设定为:将一批零件分成SSk个子批,对每一个子批选择一台机器安排加工。以最先完成加工时间为基准,依次将每一个子批放置在可以加工机器集中最先释放的机器。通过这种解码方式解决了机器选择问题,同时保证了子批安排完毕以后,本加工阶段处于一种分布平均且局部最优的状态。

图6-6 等量不一致编码示意
但是,常规启发式解码在每一个加工阶段Oij结束时必须等待一种工件的全部零件完成加工以后,再调度下一个阶段,这种方式会存在一个“延迟时间”,让已经完成加工的部分零件在下一阶段可以进行加工时,被迫放置在缓冲区等待,从而使总体的调度时间延长,甘特图中也存在大量空隙。本书提出一种主动解码机制,通过决策判断让可加工工件提前进入机器加工,压缩空闲状态,可以明显缩短最大完工时间,并且提高机器的整体利用率。
在引导蜂阶段,将EILS_FJSP模型的编码设计为双层编码,一个人工蜜蜂个体对应OS编码串和SS编码串,因此此处分别对两个编码串进行邻域搜索(Neighborhood Search,NS)设计。
6.任务评价
任务评价见表6-2。
表6-2 任务评价

续表
