1.本发明属于生产调度领域,具体涉及一种带准备时间的节能分布式零等待流水车间调度问题的元启发式知识融合方法。
技术背景
2.分布式零等待流水车间调度问题(dnwfsp)是一个典型的生产车间调度问题,广泛应用于塑料、化工和制药行业。当机器数量超过3时,该问题被证明是一个np-hard问题。在dnwfsp中需要完成两个任务,即确定每个工厂的工件分配和每个工厂的调度顺序。有n个工件分配给g个相同的工厂,并由m台机器加工,其中不允许在工厂之间进行工作转移。此外,在实际生产过程中,机器通常需要在两个连续工件的加工之间进行一些附加操作,如机器清洗、刀具更换、操作运输等。因此,还考虑了序列相关的准备时间(sdst)。对于分布式零等待流水车间调度问题(dnwfsp),lin等人开发了一种迭代鸡尾酒贪婪(icg)算法来解决该问题。shao等人研究了具有序列相关准备时间的多目标dnwfsp,并使用基于帕累托分布估计算法(peda)对其进行了求解。komaki和malakooti通过使用提出的通用变邻域搜索(gvns)解决了dnwfsp问题。shao等人提出了迭代贪婪(ig)算法。li等人使用离散人工蜂群算法(dabc)解决了分布式异构dnwfsp。其他文献也考虑了不同实际生产系统中的序列相关准备时间。
3.近年来,绿色制造越来越受到人们的重视,针对绿色车间调度的多目标优化问题,wang等人提出了一种基于知识的协同算法(kca)来解决分布式置换流水车间(eedpfsp)的节能调度问题。wang等人也使用了多目标鲸鱼群算法(mowsa)来解决这个问题。wu等人提出了一种考虑设备开关能耗和不同转速的生产调度算法,以解决柔性作业车间调度问题。jiang等人开发了一种有效的改进多目标分解进化算法(mmoea/d),用于解决节能分布式作业车间调度问题。li等人设计了一种能量感知多目标优化算法(ea-moa),用于解决具有准备能耗的混合流水车间调度问题。chen等人提出了一种基于问题特定性质的协同优化算法(coa),用于处理节能的分布式无空闲置换流水车间调度问题。
4.在本研究中,我们提取了问题特定的知识,设计了有效的调度启发式,以及相应的分布式neh启发式和独特的交叉变异算子嵌入经典的多目标优化算法nsga-ii中求解该带准备时间的分布式零等待置换流水车间调度问题。
技术实现要素:5.本发明的目的在于解决上述现有技术中存在的难题,提供一种基于问题特定知识提取的解决节能分布式零等待流水车间调度问题的元启发式知识融合方法,提高分布式置换流水车间的效率,减少完工时间和能耗。
6.本发明是通过以下技术方案实现的:
7.一种带准备时间分布式零等待流水车间调度方法与系统,包括:
8.s1:研究了考虑序列相关准备时间的分布式零等待流水车间调度问题,在这个问
题中同时考虑了对调度的最大完工时间和机器的加工能耗、待机能耗以及准备能耗的目标优化;
9.s2:确定优化的目标及约束条件;
10.s3:采用改进的非支配排序遗传算法(insga-ii)优化两个总目标;
11.s4:构造了两个邻域结构提高解的质量;
12.s5:提出四种变异算子和两种交叉算子提高算法的整体性能;
13.s6:所提出的算法对研究的问题进行了有效的验证。
14.所述s1考虑序列相关准备时间的节能分布式零等待流水车间调度问题中,有n个工件可以在g个工厂中加工,每个工厂都有m台机器。每个工件由h个独立的操作组成,按照相同的顺序进行加工,且连续的操作之间要无间断地进行,保证零等待的约束。每台机器都有几种不同的加工速度s,速度越高导致加工能耗越多。我们需要将工件分配给工厂,并确定分配工厂的调度顺序,然后选择适当的加工速度以同时优化最小化最大完工时间和总能耗。问题的约束条件是:不同工厂的机器数量和加工能力相同;所有机器在零时刻可用,所有工件都可以在这个时间开始加工;每个工件一次只能在同一工厂的一台机器上加工;每台机器一次只能加工一个工件;一个工件应在指定的机器上完成,且无任何中断;每台机器的加工速度可以调整,因此实际加工时间和机器能耗随速度变化;在工件加工过程中,机器的速度不能改变;对于同一台机器上的两个连续操作,后续操作的开始加工时间应该大于或等于前一操作的完成时间;在完成前一阶段后,工件要立即开始下一阶段加工,不能等待。
15.所述s2中的生产优化的目标为:
16.mincmax
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
17.mintec
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
18.cmax表示工件最大完工时间的一个连续变量。
19.tec表示所有工厂中的加工能耗、待机能耗和准备能耗总和。
20.所述s3其特征在于:
21.在改进的非支配排序遗传算法(insga-ii)中,在随机初始化的同时,使用了两个分布式neh启发式的变体用于产生良好的初始个体引导种群进化,然后执行原始的环境选择函数构造父代种群,接着利用遗传算法(ga)生成新的子代种群。在ga中,嵌入了基于问题特定知识设计的速度调整启发式,与考虑分布式特性设计的四种变异算子一起提高了算法的局部搜索能力;设计了基于帕累托知识利用的两种交叉算子,提高算法在全局上的搜索能力。然后进行快速非支配排序和拥挤度选择计算,选出优秀个体,最后得到一组较好的帕累托解。
22.所述s4是这样实现的:
23.通过深入思考研究问题特征,发现了问题特有的邻域结构,据此提出了基于动态速度缩放技术的调速启发式,能够有效降低总能耗,减少最大完工时间。首先找到含有可调空闲时间的工件,其中空闲时间分为左侧和右侧两种情况考虑,根据这两种不同的邻域结构分别从前往后和从后往前遍历所选中工件的操作,找到符合降速条件的操作并进行调速。显然,这种策略的主要思想是通过降速减少加工能耗,减少空闲时间降低待机能耗,以及符合特定条件时还能减小最大完工时间。这些方法的提出使研究的问题更符合实际。
24.所述s5是这样实现的:
25.变异算子:第一种方法是基于工厂间的分配。具体步骤如下:(1)从关键工厂(即含有最大完工时间的工厂)中随机删除一个工件,并将其插入另一工厂的随机位置。被插入工厂根据完工时间从小到大选择。(2)分别从两个工厂中随机选择两个工件i和i',然后交换这两个工件。首先,根据完工时间将工厂按降序排列。然后在交换时,第一个工厂与最后一个工厂交换,第二个工厂与倒数第二个工厂交换,依此类推。第二种方法是某一工厂内的分配。具体步骤如下:(1)从同一工厂中随机选择两个工件,然后将后面的工件插入前面的工件之前的位置。(2)从同一工厂中随机选择两个工件,然后交换它们。
26.交叉算子:第一种是基于非支配解信息的相同基因对保留策略,具体步骤如下:(1)对于每个工件,统计在当前非支配解集中后续工件的数量,找到出现次数最多的工件,由这些基因对组成了一个临时集合。(2)从父代种群中随机选出两个父代个体。(3)对每一父代,对于每个位置的工件,将与其后续工件一起形成一个基因对,并在临时集合中搜索该基因对。(4)如果父代和临时集合具有共同的基因对,则相同的基因对将被放置在子代的相同位置。(5)否则,比较处于相同位置的两个父代基因,并将共同基因分别置于相应后代的相同位置。(6)最后使用基于双亲的单点顺序交叉(op)填充后代空余的基因位。第二种是基于非支配解信息的相同基因位保留策略,具体步骤如下:(1)统计当前非支配解集中每个位置出现次数最多的工件,生成一个临时个体。(2)从父代种群中随机选出两个父代个体。(3)将每一父代的基因与处于同一位置的临时个体的基因进行对比,如果相同则将该基因置于子代的相同位置。(4)如果两个父代之间具有相同的基因,则该基因将被放置在子代的相同位置。(5)最后使用基于双亲的单点顺序交叉(op)填充后代空余的基因位。
27.所述s6是这样实现的:
28.首先我们将改进算法与之前算法进行对比。我们使用相同的实例,每个实例独立运行30次,使用同一迭代次数200次作为停止标准。我们选用最具代表性的多目标评价指标,反转世代距离和超体积指标的平均值进行比较,来验证改进算法的有效性。其次通过实验验证调速启发式和局部搜索策略的有效性。最后为了验证insgaii的良好性能,我们将其与两种最新的多目标算法armoea和hpaea以及经典的nsgaii进行了比较。我们对上述算法进行了编码,并在相同的环境下运行。对于每种比较算法,在考虑准备时间和机器速度可调的前提下,使用相同的例子在相同的条件下迭代200次并独立运行30次,得到每种算法的帕累托前沿和评价指标值。所有的比较算法都采用相同的停止准则,在实际生产系统中具有很强的实用性。对不同算法生成的数据进行了测试,通过多因素方差分析证明了算法的优越性,并通过帕累托前沿图可以看出我们的算法得到的解具有良好的收敛性和多样性。
附图说明
29.图1带准备时间的节能分布式零等待流水车间示例图
30.图2eednwfsp编码示例图
31.图3insga-ii流程图
32.图4(a)出现关键机器情况1
33.图4(b)出现关键机器情况2
34.图4(c)减少右侧空闲时间
35.图4(d)右侧空闲时间减少并导致整体左移
36.图4(e)减少左侧空闲时间
37.图4(f)左侧空闲时间减少并导致整体左移
38.图5改进的相似块顺序交叉ii示意图
39.图6改进的相似工件顺序交叉ii示意图
40.图7(a)pc的因子水平趋势
41.图7(b)pm的因子水平趋势
42.图8(a)带与不带扩展的neh启发式的比较示意图
43.图8(b)带与不带局部搜索策略的比较示意图
44.图8(c)带与不带交叉算子的比较示意图
45.图9(a)工厂数为2时各个对比算法的帕累托前沿图
46.图9(b)工厂数为3时各个对比算法的帕累托前沿图
47.图9(c)工厂数为4时各个对比算法的帕累托前沿图
48.图9(d)工厂数为5时各个对比算法的帕累托前沿图
49.图10cplex求解算例(g=2,m=8,j=20)的甘特图
具体实施方式
50.下面结合附图对本发明做进一步详细描述:
51.本发明提出了一种带准备时间分布式零等待流水车间调度方法与系统。算法采用经典的多目标求解算法—非支配排序遗传算法(nsgaii)并结合基于问题特性设计的动态调速启发式。为了解决这个问题,还建立了一个整数规划数学模型进行精确求解。在该元启发式算法中,首先利用两种不同的分布式neh启发式算法生成高质量的个体构造初始种群。然后,提出了两种针对问题特有结构的速度调整启发式算法,它们可以提高所获得的非支配解的质量。此外,设计了四个局部搜索算子和两个全局搜索算子,提高了算法的搜索和开发能力。实验结果验证了所提出的改进的非支配排序遗传算法的有效性。
52.1带准备时间的节能分布式零等待流水车间优化问题描述
53.一组n个工件随机分配给相同的g个工厂,其中每个工厂都有相同的m台机器,每个工件只能在一个工厂中加工,不可以中途转移,所有工厂都可以加工任一工件。此外,应按照相同的加工顺序进行加工,且每个工件的连续操作之间应该保证无中断,也就是说,一旦一个工件在一台机器上完成了它的加工,它必须立即被下一台机器加工。每台机器都有几种可选的加工速度s,但不能在加工过程中更改速度。每个工件都有一个基本的加工时间,这意味着是以最慢的速度来加工的。因此,工件的基本加工时间是固定的,实际加工时间是需要用基本加工时间除以实际加工速度得到的,另外还需要考虑与序列相关的准备时间。如图1所示,eednwfsp首先将工件分配给工厂,然后确定每个工厂中的工件加工顺序,并选择适当的加工速度来优化最大完工时间(makespan)和总能耗(tec)的目标。
54.提出了以下几个假设:
55.·
所有工厂具有相同的加工能力,即不同工厂的机器数量和加工能力相同。
56.·
所有机器在零时刻可用,所有工件都可以在这个时间开始加工。
57.·
每个工件一次只能在同一工厂的一台机器上加工。
58.·
每台机器一次只能加工一个工件。
59.·
不允许抢占,也就是说,一个工件应在指定的机器上完成,且无任何中断。
60.·
每台机器的加工速度可以调整,因此实际加工时间和机器能耗应随速度变化。
61.·
在工件加工过程中,每台机器的速度不能改变。
62.·
对于同一台机器上的两个连续操作,后续操作的开始加工时间应大于或等于前一操作的完成时间。
63.·
应保证零等待约束,即在完成前一阶段后,工件应立即开始下一阶段的加工。
64.·
与加工序列相关的准备时间也需要被考虑。
65.1.1带准备时间的节能分布式零等待流水车间优化问题建模参数和符号表示如下:
66.[0067][0068]
目标函数:
[0069]
[0070][0071]
约束:
[0072]
[0073][0074]
目标函数是最小化最大完工时间和总能耗。约束(6)和(7)确保每个工件必须仅分配给一个工厂中的一个位置。约束(8)要求工件必须分配到工厂中靠前的位置,即与已经被分配的工件相邻。约束(9)保证每个操作有且只有一个加工速度。方程(10)用于计算实际加工时间。约束(11)限制分配给工厂的第一个工件只能在准备完成后开始,而约束(12)限制工件(第一个位置的工件除外)只能在前一个位置的工件加工完和准备完成后开始加工。约束(13)确保每个工件的后一阶段的加工操作必须在前一阶段完成后立即开始。约束(14)限制工序的加工不能中断。定义约束条件(15)和(16)以计算某一工厂f的完工时间。约束条件(17)和(18)用于计算加工能耗。所有二进制变量在(19)和(20)中定义。
[0075]
1.2带准备时间的节能分布式零等待流水车间优化问题实例
[0076]
对于eednwfsp,其解由两个向量表示,即包含工厂分配的调度向量,以及在每台机器上加工每个工件的速度向量。调度向量包含n+g-1个元素,即π=(π1,π2,...,πi,...,π
n+g-1
),其中πi∈{0,1,2,...,n}。一个解中有n个工件索引,和g-1个值为“0”的分隔符。也就是说,由g-1个分隔符将∏划分为g个部分,每个部分包含部分工件的调度序列。每个操作的速度以一个m*n的矩阵列出。因此,一个解被编码为(π,v)=(π1,π2,...,πi,...,π
n+g-1
;v
1,1
,...,v
1,m
,...,v
n,1
,...v
n,m
)如图2所示。
[0077]
为了进一步了解eednwfsp,本发明设计了一个实例。有两个加工的工厂,每个工厂中有三台机器,每台机器有两种不同的加工速度可选。共有六个工件要加工。也就是说,g=2,m=3,n=6。表1列出了标准加工时间、每台机器在每种速度和待机模式下的能耗。表2中给出了序列相关的准备时间和准备能耗。
[0078]
表1标准加工时间和机器不同模式下的单位能耗
[0079][0080]
表2准备时间和单位准备能耗
[0081][0082][0083]
为了便于表示,速度向量v由下面的矩阵给出。
[0084][0085]
对于一个解π={2,5,4,0,6,3,1},解码过程如下:工件{2,5,4}和{6,3,1}分别在工厂1和工厂2中加工。对于工厂1,首先加工工件2,然后依次加工工件5和4。工件2在机器1上的实际加工时间为t
2,1
=p
2,1
/v
2,1
=21
÷
2=10.5,与序列相关的准备时间分别为st
1,2,2
=2,st
2,2,2
=9,st
3,2,2
=10。因此,工厂1的完工时间是机器3上工件4的完工时间,经过计算得c(1)=88.5。同样,工厂2的完工时间经计算得c(2)=66.5。因此,最大完工时间是88.5。接下来,进行对能耗计算的说明。例如,在工厂1中,机器1-3在加工工件2时分别以2、2和2的速
度运行。因此,工件2在加工状态和准备状态下的能耗计算如下:pec2=t
2,1
·
pe
1,2
+t
2,2
·
pe
2,2
+t
2,3
·
pe
3,2
=10.5
×
6+10
×
12+15.5
×
6=276;sec2=st
1,2,2
·
se
1,2,2
+st
2,2,2
·
se
2,2,2
+st
3,2,2
·
se
3,2,2
=2
×
2+9
×
2+10
×
2=42。每个工厂的待机能耗则由该工厂的完工时间减去总加工时间和总准备时间后再与单位待机能耗相乘得到。最后,累加每个工厂的加工能耗、待机能耗和准备能耗计算得到总能耗。
[0086]
2求解带准备时间的节能分布式零等待流水车间问题的优化算法
[0087]
2.1非支配排序遗传算法框架
[0088]
由deb等人提出的非支配排序遗传算法ii(nsga-ii)是解决多目标问题的一个经典算法。它有三个突出的贡献来解决nsga的缺点,即快速非支配排序、拥挤度比较方法和新颖的精英选择策略。虽然现有的nsga-ii在上述三个方面都做了创造性的改进,并显示出产生优秀个体的优越性,但两种经典的交叉和变异遗传算子尚未得到进一步的研究。传统的交叉和变异算子是随机的、无目的的,不能保证产生高质量的后代,影响算法的效果。因此,本发明基于问题特定知识的提取,研究问题特有的邻域结构,嵌入了两种有效的速度调整启发式,从而提出了一种改进的非支配排序遗传算法(insga-ii),算法总流程如图3所示。
[0089]
2.2问题编码
[0090]
采用一维向量的方式编码一个解,向量中的前n+g-1个元素表示工件调度部分,其中有g-1个虚拟工件“0”作为工厂分隔符,剩余元素是每个工件在每台机器上的加工速度。图2给出了两个工厂和6个工件的编码表示,为了便于查看,将调度和速度分成了两部分展示。其中{6,1,3}分配给了工厂1,{2,5,4}则属于工厂2,各个工件每道工序的加工速度则按工件1-6的顺序给出。
[0091]
2.3初始化阶段
[0092]
nawaz-enscore-ham(neh)启发式已被确定为是具有最大完工时间标准的pfsp最有效的构造性启发式之一。种群中的每个个体包含三个部分,即工件调度、工厂分配和速度选择,这三个部分对应三个不同的子问题。在本发明中,首先使用了随机初始化生成一定规模的种群,然后将其中两个个体用neh启发式变体(称为eneh和eneh2)生成的两个解所取代。其中eneh和eneh2的区别在于下述步骤5中用于比较的目标不同。
[0093]
具体流程如下:步骤1:计算每个工件在所有机器上的总标准加工时间之和,并按非增顺序排列各工件,得到初始排列π0=(π0(1),π0(2),...,π0(n))。
[0094]
步骤2:将前g个工件均分到每个工厂,令k=g+1。
[0095]
步骤3:取出第k个工件,将其插入所有可能的位置得到共g+k-1个候选排列,并计算它们的makespan和tec。
[0096]
步骤4:选出具有最小makespan(或tec)的所有候选排列。
[0097]
步骤5:如果有多个排列具有相同的makespan(或tec),则比较tec(或makespan)。
[0098]
步骤6:如果有多个排列具有相同的makespan和tec,则从中随机选择一个。
[0099]
步骤7:用选出的候选排列π
f'
替换相应工厂中的原排列πf,其他工厂的调度排列保持不变。
[0100]
步骤8:令k=k+1,如果k≤n,则转步骤3;否则,输出当前调度,算法结束。
[0101]
2.4基于动态速度缩放技术的速度调整启发式
[0102]
为了最大限度地减少总能耗,需要尽可能减少由高速加工和长时间待机带来的能
耗。在本研究中,分析问题所特有的邻域结构,设计了两种有效的基于动态速度缩放技术的速度调整启发式。
[0103]
第一种:减少右侧空闲时间。如图4(a)(c)所示,对于工件数超过1的工厂,从第一个工件开始,从后往前遍历每道工序,直到出现不存在空闲的情况就停止搜索,如果是最后一道工序则换下一个工件(最后一个工件不需要考虑),否则遍历当前工序到最后一道工序,计算可以增加的最小空闲时间,调整到合适的速度。特殊情况下(如图4(b)(d)),调速后会导致工件整体左移,能同时减小工厂的完工时间。
[0104]
第二种:减少左侧空闲时间。如图4(a)(e)所示,对于工件数超过1的工厂,从第二个工件开始,从前往后遍历每道工序,直到出现不存在空闲的情况就停止搜索,如果是第一道工序则换下一个工件,否则遍历当前工序到第一道工序,计算可以增加的最小空闲时间,调整到合适的速度。特殊情况下(如图4(b)(f)),调速后会导致后续工件整体左移,能同时减小工厂的完工时间。
[0105]
2.5变异算子
[0106]
第一种方法是基于工厂间的分配。具体步骤如下:(1)从关键工厂(即含有最大完工时间的工厂)中随机删除一个工件,并将其插入另一工厂的随机位置。被插入工厂根据完工时间从小到大选择。(2)分别从两个工厂中随机选择两个工件i和i',然后交换这两个工件。首先,根据完工时间将工厂按降序排列。然后在交换时,第一个工厂与最后一个工厂交换,第二个工厂与倒数第二个工厂交换,依此类推。
[0107]
第二种方法是某一工厂内的分配。具体步骤如下:(1)从同一工厂中随机选择两个工件,然后将后面的工件插入前面的工件之前的位置。(2)从同一工厂中随机选择两个工件,然后交换它们。
[0108]
2.6交叉策略
[0109]
第一种是基于非支配解信息的相同基因对保留策略(如图5所示),具体步骤如下:(1)对于每个工件,统计在当前非支配解集中后续工件的数量,找到出现次数最多的工件,由这些基因对组成了一个临时集合。(2)从父代种群中随机选出两个父代个体。(3)对每一父代,对于每个位置的工件,将与其后续工件一起形成一个基因对,并在临时集合中搜索该基因对。(4)如果父代和临时集合具有共同的基因对,则相同的基因对将被放置在子代的相同位置。(5)否则,比较处于相同位置的两个父代基因,并将共同基因分别置于相应后代的相同位置。(6)最后使用基于双亲的单点顺序交叉(op)填充后代空余的基因位。
[0110]
第二种是基于非支配解信息的相同基因位保留策略(如图6所示),具体步骤如下:(1)统计当前非支配解集中每个位置出现次数最多的工件,生成一个临时个体。(2)从父代种群中随机选出两个父代个体。(3)将每一父代的基因与处于同一位置的临时个体的基因进行对比,如果相同则将该基因置于子代的相同位置。(4)如果两个父代之间具有相同的基因,则该基因将被放置在子代的相同位置。(5)最后使用基于双亲的单点顺序交叉(op)填充后代空余的基因位。
[0111]
3实验结果与分析
[0112]
3.1仿真实验参数设置
[0113]
算例包括三个问题参数:(1)加工工件数(n);(2)工厂数量(g);和(3)机器数量(m)。一组实例包括工件数、工厂数和机器数的几种组合。其中工件数为n={20,40,60,80,
100},工厂数为g={2,3,4,5},机器数为m={4,8,16}。加工时间p
i,j
在[5h,50h]的范围内均匀分布,加工速度v设置为{1,2,3}。单位加工能耗由pe
j,v
=4
×
vkw计算所得,单位待机能耗固定为1kw,单位准备能耗在[1kw,2kw]内随机生成。准备时间为加工时间的50%,即,准备时间在[2h,25h]内均匀分布。
[0114]
3.2仿真实验评价指标
[0115]
由于所研究问题的精确帕累托前沿未知,我们使用所谓的参考集来近似它。具体地说,将比较算法获得的所有非支配解组合成一个集合,从该集合中去除支配解以获得参考集。在本发明中,每个实例由所有的比较算法独立迭代30000次来求解,并将得到的非支配解作为最终参考集。
[0116]
为了评估获得的解的质量,在收敛性和多样性方面使用了以下两个代表性指标:超体积(hv)和反转世代距离(igd)。这两个指标的具体计算过程如下。
[0117]
(1)超体积指标
[0118][0119]
勒贝格度量δ是一种用于测量体积的度量,其中|s|是非支配解的个数,vi表示参考解集中第i个解的超体积。本发明选择(1,1)作为参考点。非支配解集和参考点包围的目标空间中的区域体积越大,说明算法的综合性能越好。
[0120]
(2)反转世代距离
[0121][0122]
igd用于计算每个参考解到最近解的平均距离。其中p是由当前算法获得的解集,p*表示从参考解集中采样的一组均匀分布的参考解。dis(x,y)表示参考解集p*中的解x和当前解集p中的解y之间的欧氏距离。
[0123]
3.3仿真实验参数调优
[0124]
在insgaii算法中,交叉概率(pc)和变异概率(pm)是影响算法性能的两个主要参数。在本研究中,我们进行了试验设计(doe)测试,以选择两个参数的水平。具体说,我们使用这两个参数作为因子进行了全析因试验设计。每个参数考虑五个级别,如表3所示,总共产生了25个不同的组合进行校准,每个组合是两个因子中的一对。共使用60个不同规模(g、n、m)的实例进行实验,每个算例独立运行5次来校准每个组合。在选择参数pc和pm时,hv值的95%置信区间如图7所示。从图7(a)可以看出,pc=0.8时产生比其他值更好的适应值。根据图7(b),当pm=0.4时,获得最佳适应值。根据该测试结果,pc和pm的参数分别设置为0.8和0.4。
[0125]
表3参数值
[0126][0127][0128]
3.4策略的有效性验证
[0129]
为了研究所提的扩展的分布式neh启发法的有效性,我们将insgaii与随机初始化的insgaii(表示为g1)进行比较。采用多因素方差分析(anova)检验两种算法之间的性能差异是否显著,并将两种比较算法视为影响因素。
[0130]
用于anova比较的相对增加百分比(rpi)计算如下:
[0131][0132]
其中cb是所有比较算法的最佳适应度值,cc表示当前算法的适应度值。本发明中的适应度值就是上述的性能指标hv和igd。
[0133]
表4和表5展示了给定60个不同规模实例(每个实例独立运行10次)的hv和igd值的比较结果。并根据工厂数量将60个实例进一步分为4类。在表中,第一列给出了实例规模(n
×
m分别表示n个工件、m台机器)。然后,insgaii和g1在不同工厂g的评价指标结果分别在后面八列中给出。
[0134]
从比较结果可以看出:(1)考虑hv值,与g1相比,insgaii获得了59个更好的结果,仅有一个实例的结果稍差;(2)对于igd值,insgaii获得了49个较好的结果,其他小规模实例中的结果稍差;(3)从最后一行中给出的hv和igd的平均性能以及图8(a)中的anova结果可以看出,insgaii明显优于g1,这验证了所提的扩展的分布式neh启发法的有效性。
[0135]
表4 insgaii和g1之间hv值的比较
[0136][0137][0138]
表5 insgaii和g1之间igd值的比较
[0139][0140]
为了证明局部搜索策略和交叉算子的有效性,我们对有无提出的策略的算法进行了详细的比较。不带局部搜索策略的算法用g2表示,不带交叉算子的算法用g3表示。
[0141]
表6 insgaii和g2之间hv值的比较
[0142][0143]
表7 insgaii和g2之间igd值的比较
[0144][0145][0146]
表6和表7分别列出了insgaii与g2的比较结果,可以观察到:(1)与g2相比,insgaii获得了所有更好的结果;(2)图8(b)中的anova结果表明,所提局部搜索策略在解决该问题方面非常有效,insgaii显示了显著的优势;(3)从图8(c)可以看出,本文提出的交叉算子也非常有效。
[0147]
3.5仿真实验结果分析
[0148]
为了验证本发明所提insgaii算法的有效性,本发明选取改进的非支配排序遗传算法(insgaii),第二代非支配排序遗传算法(nsgaii),基于igd-ns的参考点自适应多目标进化算法(ar-moea)和超平面辅助算法(hpaea)作为对比算法,求解了扩展的15
×
4个算例。每个算法在同一台计算机上独立运行30次。根据不同工厂数量,实验对比的详细结果分别见表8、表9、表10和表11。
[0149]
表格具体信息如下:第一列是实例的规模,第二列显示了所有算法的hv指标值,最后一列是igd值。可以观察到:(1)对于给定的60个实例,所提出的insgaii算法获得了所有更好的指标值,显著优于其他比较算法;(2)最后一行的平均值进一步验证了insgaii算法的有效性,证明了insgaii算法得到的解具有良好的收敛性和分布性。
[0150]
表8算法对比结果(g=2)
[0151]
[0152][0153]
表9算法对比结果(g=3)
[0154][0155]
表10算法对比结果(g=4)
[0156]
[0157][0158]
表11算法对比结果(g=5)
[0159][0160]
图9(a)(b)(c)(d)展示了分别属于四个工厂的给定规模实例(即m=8,j=20)的帕累托前沿图。图中pf表示所有算法求解同一实例得到的非支配解集合,即近似帕累托前沿,并对四种比较算法进行不同的标记。从图中可以得出以下结论:(1)尽管出现了insgaii获得的几个解被其他算法的解所支配的情况,但其解总是更多的支配其他算法的解。(2)insgaii算法的种群多样性明显优于其他三种比较算法;(3)考虑到不同规模的情况,所提出的insgaii能最佳的平衡多样性和收敛性。
[0161]
此外,为了验证所建立的整数规划数学模型的正确性,用cplex求解器获得的解的甘特图如图10所示。具体而言,为了使两个目标具有相似的数量级,将tec的权重系数设置为0.01,最大完工时间的系数设置为0.99,然后求解了g=2,m=8,j=20的实例。显然,数学模型是正确的。