一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种工艺规划与调度集成的再制造决策方法

2022-06-22 22:07:18 来源:中国专利 TAG:


1.本技术属于再制造技术领域,尤其涉及一种工艺规划与调度集成的再制造决策方法。


背景技术:

2.近年来,再制造因具有良好的环境效益和经济效益而日益流行,作为可持续发展的重要组成部分,面向生命周期末(eol)产品的再制造近年来受到广泛关注。在再制造系统中,eol产品通过完全拆卸、再加工和重新组装等一系列操作恢复到像新产品一样的状态。
3.在实际再制造系统中,再制造工艺规划和调度问题是操作层面上的两个关键问题。再制造工艺规划根据资源约束为车间的全局调度提供指导。车间调度根据工艺规划约束确定机器在指定时间内的操作顺序。这两个关键问题在传统再制造系统中分别依次处理,这阻碍了再制造生产效率和性能的提高,并可能导致再制造工艺规划和调度目标之间的冲突。例如,在调度阶段,预定义的工艺规划可能变得不可行了。
4.与传统制造环境相比,再制造系统具有更多的内在不确定性,如高度不确定的加工时间,不确定的缺陷零件质量和不确定的再加工操作路径。目前已有一些学者对再制造系统中的再制造工艺规划与调度的集成(irpps)模型进行了研究,再制造工艺规划与调度的集成模型为研究者和实践者提供了一个改善再制造系统性能的方向。但目前的研究往往忽略了缺陷零件质量的不确定性或加工时间的不确定性。此外,目前的研究也没有合理地考虑与资源约束的整合,不利于节能再制造。


技术实现要素:

5.本技术的目的是提供一种工艺规划与调度集成的再制造决策方法,不仅考虑了用区间数表示加工时间的不确定性,而且考虑了与缺陷零件质量不确定性相关的工艺规划的选择,从而在不确定性的再制造环境下更全面地协调工艺规划和调度。
6.为了实现上述目的,本技术技术方案如下:
7.一种工艺规划与调度集成的再制造决策方法,包括:
8.以区间数表示加工时间,构建总区间加工能耗、总区间空闲能耗、区间完工时间和最大机器负载的目标函数,然后以最小化能耗、最小化最大完工时间和最小化最大机器负载建立再制造工艺规划与调度的集成模型;
9.对所述再制造工艺规划与调度的集成模型求解,得到最优再制造工艺规划与调度方案,按照得到的最优再制造工艺规划与调度方案进行再制造。
10.进一步的,所述总区间加工能耗目标函数如下:
[0011][0012]
所述总区间空闲能耗目标函数如下:
[0013][0014][0015]
总区间能耗表示为:
[0016][0017]
所述区间完工时间目标函数如下:
[0018][0019][0020]
所述最大机器负载目标函数如下:
[0021][0022]
所述再制造工艺规划与调度的集成模型,表示为:
[0023][0024]
其中,表示总区间能耗,表示总区间加工能耗,表示总区间空闲能耗,f1为总区间能耗目标函数,f2为区间完工时间目标函数,f3为最大机器负载目标函数;表示ms的单位加工功率,ms表示第s个机器,s=1,...,s,s是机器总数;为0-1决策变量,1表示o
nj
在机器ms上执行,否则为0;表示在机器ms上执行o
nj
的区间完成时间,o
nj
表示pn的第j个的操作,j=1,...,jn,其中jn是零件pn中需要再加工的特征数量,pn表示第n个零件,n=1,...,n,其中n是零件的总个数;表示在机器ms上执行o
nj
的区间开始时间;表示ms的单位空闲功率,表示0-1决策变量,1表示机器ms在相邻操作o
n'j'
和o
nj
之间关闭,否则为0;p
n’表示不同于pn的一个零件,j
n’是零件p
n’中需要再加工的特征数量;o
n’j’表示p
n’的第j’个的操作,j'=1,...,j
n'
;表示在ms上执行的o
nj
的前一个操作o
n'j'
的区间完成时间;表示在ms上执行的操作的区间完成时间,表示pn的第jn个的操作;表示0-1决策变量,1表示机器ms在相邻操作o
n'j'
和o
nj
之间关闭,否则为0;hs表示关闭ms的时间阈值;表示在机器ms上执行o
nj
的区间加工时间。
[0025]
进一步的,所述工艺规划与调度集成的再制造决策方法,还包括:
[0026]
对总区间能耗目标函数、区间完工时间目标函数和最大机器负载目标函数进行等价变换,将区间目标值转换为实值,采用公式如下:
[0027][0028]
其中,表示等价变换后的实值,ωm为目标函数fm的不确定性程度的权重,表示第m个目标函数值fm的区间数形式。
[0029]
进一步的,所述对所述再制造工艺规划与调度的集成模型求解,采用改进的第二代非支配排序遗传算法,包括:
[0030]
步骤f1、初始化,使用多维编码方法随机产生新种群pg(n);
[0031]
步骤f2、执行遗传操作产生子代种群q
g1
(n);
[0032]
步骤f3、将pg(n)和q
g1
(n)合并,使用快速非支配排序和拥挤距离方法产生下一子代种群q
g2
(n);
[0033]
步骤f4、在q
g2
(n)上执行局部搜索策略产生用于下一次迭代的新种群p
g 1
(n);
[0034]
步骤f5、迭代次数g等于g 1;
[0035]
步骤f6、判断g是否达到最大迭代次数,如果是则输出pg(n)中的近似帕累托最优解集,否则返回步骤f2进行下一次迭代。
[0036]
进一步的,所述多维编码方法包括两层:特征层和再加工层,特征层表示零件索引、特征和失效模式信息,再加工层表示候选操作索引和候选机器索引,特征层为第一维度,再加工层候选操作索引为第二维度,候选机器索引为第三维度。
[0037]
进一步的,所述执行遗传操作产生子代种群,包括执行交叉算子和变异算子,其中:
[0038]
所述交叉算子采用扩展型优先操作交叉pox,所述扩展型优先操作交叉pox执行如下操作:
[0039]
将所有零件随机分为两给非空集为零件集1和零件集2;
[0040]
对于参与交叉操作的两个染色体,将零件编号属于零件1的基因分别复制到两个子代染色体中,并保留其先后顺序;
[0041]
对于参与交叉操作的两个染色体,将零件编号属于零件2的基因分别交叉复制到两个子代染色体中,并保留其先后顺序;
[0042]
或,所述交叉算子采用扩展型基于作业的顺序交叉jox,所述扩展型基于作业的顺序交叉jox执行如下操作:
[0043]
将所有零件随机分为两给非空集为零件集1和零件集2;
[0044]
对于参与交变异操作的两个染色体,将第一个染色体中零件编号属于零件集1的基因复制到第一个染色体对应的子代中,将第二个染色体中零件编号属于零件集2的基因复制到第二个染色体对应的子代中,并保留位置相同;
[0045]
对于参与交叉操作的两个染色体,将第一个染色体中零件编号属于零件集1的基因复制到第二个染色体对应的子代中,将第二个染色体中零件编号属于零件集2的基因复制到第一个染色体对应的子代中,并保留其先后顺序;
[0046]
所述变异算子包括将两点交换算子用于变异特征层,将单点变异算子用于变异再加工层,其中两点交换算子即随机选择两个位置并交换相应基因,单点变异算子即随机选择一个基因并用候选集中的不同基因替换该基因。
[0047]
进一步的,所述交叉算子的自适应交叉率计算公式如下:
[0048][0049]
其中,pc表示自适应交叉率,p
c_initial
为初始交叉率,iter_max和iter_current分别表示最大迭代次数和当前迭代次数。
[0050]
进一步的,所述变异算子的自适应变异率pm计算公式如下:
[0051][0052]
其中p
m_initial
表示初始变异率,iter_max和iter_current分别表示最大迭代次数和当前迭代次数。
[0053]
进一步的,所述局部搜索策略包括:
[0054]
按概率执行第一个局部搜索算子,或第二个局部搜索算子,或第三个局部搜索算子;
[0055]
所述第一个局部搜索算子执行如下操作:
[0056]
从帕累托前沿中随机选择一个染色体p,对于要进行局部搜索的染色体i,比较染色体之间每个零件的特征顺序,对于特征顺序相同的零件,将染色体i中相应的基因复制到新染色体中,并保留其先后顺序;对于特征顺序不同的零件,将染色体i中预设部分的基因复制到新染色体中,并保留其先后顺序;对于特征顺序不同的零件,将染色体p中剩余部分的基因复制到新染色体中,并保留其先后顺序;
[0057]
所述第二个局部搜索算子执行如下操作:
[0058]
随机选择种群中的一个染色体,生成一个长度与所选择染色体相同的字符串向量h,字符串向量h由随机的0或1组成;
[0059]
在再加工层中,保留h中为1的相对应位置的基因至新染色体,并保留其先后顺序;
[0060]
在再加工层中,选择另一个候选操作和候选机器替换h中为0的相对应位置的基因至新染色体,选择的候选操作和候选机器分别对应候选集中所需加工时间最短的候选操作以及候选机器;
[0061]
所述第三个局部搜索算子执行如下操作:
[0062]
随机选择两个不同的基因,将前者插入到后者的前面,使其相邻。
[0063]
进一步的,所述第三个局部搜索算子之后,还执行第四个局部搜索算子来修复不可行解,所述第四个局部搜索算子,执行如下操作:
[0064]
检查每个零件的特征顺序是否满足特征约束,如果不满足,则根据该零件的特征约束随机重组特征基因并替换原位置;
[0065]
检查操作是否能完成相应特征的加工,机器是否能完成相应的操作,如果不满足,则在相应的候选集中随机选择一个可行的操作或机器基因,以满足相应特征的加工要求。
[0066]
本技术提出的一种工艺规划与调度集成的再制造决策方法,提出了一种新的不确定性环境下的irpps模型,并使用ensga-ii算法进行求解。irpps模型使用区间数来表示加工时间的不确定性,并集成了与不确定的缺陷零件质量相关的工艺规划选择方法,以获得更实用和有效的工艺规划和调度方案。本发明不仅考虑了以区间数表示的加工时间的不确定性,而且还考虑了与缺陷零件质量不确定性相关的工艺规划的选择,在不确定性的再制
造环境下更全面地协调工艺规划和调度。
附图说明
[0067]
图1为本技术工艺规划与调度集成的再制造决策方法流程图;
[0068]
图2为一个具有区间加工时间甘特图的调度示例;
[0069]
图3为本技术实施例ensga-ii算法流程图;
[0070]
图4为本技术实施例多维编码示意图;
[0071]
图5为本技术一种交叉算子示意图;
[0072]
图6为本技术另一种交叉算子示意图;
[0073]
图7为本技术实施例局部搜索算子示意图;
[0074]
图8为本技术实施例另一种局部搜索算子示意图。
具体实施方式
[0075]
为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅用以解释本技术,并不用于限定本技术。
[0076]
在一个实施例中,如图1所示,提供了一种工艺规划与调度集成的再制造决策方法,包括:
[0077]
步骤s1、以区间数表示加工时间,构建总区间加工能耗、总区间空闲能耗、区间完工时间和最大机器负载的目标函数,然后以最小化能耗、最小化最大完工时间和最小化最大机器负载建立再制造工艺规划与调度的集成模型。
[0078]
在之前的许多研究中,基于不确定性的数学分析理论(例如粗糙集理论、模糊理论、灰色系统理论等)已被用于描述再制造系统的不确定性。然而,在建立不确定性模型之前,很难确定隶属度和概率分布函数。区间数理论和不确定性建模的结合可以克服这些困难。
[0079]
本技术将加工时间表示为区间数,以构建合理的不确定性模型。区间数的基本运算规则如公式(1)

(3)所示。
[0080]
例如,设a=[a
l
,ar](或a={ac,aw})和b=[b
l
,br](或b={bc,bw})为两个区间数。
[0081][0082][0083][0084]
其中a
l
和ar分别表示区间数a的下界和上界,λ是标量。如果a
l
=ar,则a是实数。ac和aw分别表示区间数a的中点和半径,其中ac=(a
l
ar)/2和aw=(a
r-a
l
)/2。
[0085]
最小化问题的两个区间数a和b之间的顺序关系如公式(4)所示:
[0086][0087]
其中≤
min
表示两个区间数之间的顺序关系,和分别为区间数加减运算符。
[0088]
不确定性环境下的再制造工艺规划与调度的集成模型(irpps)可描述如下:对于一批eol产品的一组相同零件(如曲轴),每个零件都有一个或多个需要重新加工的特征。每个特征都有一个或多个不同程度或类型的失效模式。例如,“表面”特征的失效模式包括“轻微磨损”、“严重磨损”、“轻微裂纹”和“严重裂纹”,需要通过不同的操作进行再加工。因此,具有不同失效模式的特征将影响缺陷零件工艺规划的选择。
[0089]
表1给出了一个示例:irpps模型通过若干个集合进行描述,包括机器集合m={m1,m2,

,m4},操作集合o={o1,o2,

,o
10
},零件集合p={p1,p2,p3}以及特征集合f={f1,f2,

,f5}。例如:p1中的三个特征(即f1、f3和f4),p2中的两个特征(即f1和f2)和p3中的一个特征(即f5)需要再加工。f1有四种可能的失效模式:fm1={fm
11
,fm
12
,fm
13
,fm
14
}。如果特征f1因失效模式fm
12
而失效,可通过操作o2或o4恢复。操作o2可在机器m1或m4上执行,区间加工时间分别为[5,9]或[8,13]。操作o4可在机器m2或m3上执行,区间加工时间分别为[4,9]或[9,12]。其它特征f2、f3、f4和f5同理。根据相应的特征约束,再加工特征f1需要优先于其它所有特征。
[0090][0091]
表1柔性工艺规划的一个示例
[0092]
假设零件p1的特征f1、f3和f4分别由于失效模式fm
11
、fm
32
和fm
41
而失效;零件p2的特征f1和f2分别由于失效模式fm
12
和fm
21
而失效;零件p3的特征f5由于失效模式fm
51
而失效。零件p1、p2和p3的候选工艺规划集分别为{o1–
o7–
o8,o1–
o8–
o7,o1–
o7–
o9,o1–
o9–
o7},{o2–o10
,o4–o10
}和{o4,o6}。
[0093]
各零件的工艺规划通过合理的机器分配后,得到各零件的近似最优调度方案。例如:零件p1、p2和p3的一个可行工艺规划分别为o1(m1)

o7(m3)

o8(m2),o2(m4)
–o10
(m1)和o4(m2)。根据该工艺规划,获得了近似最优的调度方案,如图2中的甘特图所示。开始时间标记
在时间轴下方,结束时间标记在时间轴上方。不同零件的调度方案由不同粗度和到时间轴的不同距离的实线表示。对于部件p1,以开始时间[0,0]和结束时间[1,4]在机器m1上执行操作o1;以开始时间[1,4]和结束时间[5,17]在机器m3上执行操作o7;以开始时间[5,17]和结束时间[13,29]在机器m2上执行操作o8;其它零件p2和p3同理。
[0094]
本技术提出的irpps模型研究并权衡了三个相互冲突的目标,即最小化能耗、最小化最大完工时间和最小化最大机器负载。为了求解irpps模型,使用以下符号和假设来描述irpps模型:
[0095]
pn第n个零件,n=1,...,n,其中n是零件的总个数;
[0096]fi
第i个特征,i=1,...,i,其中i是零件特征的总个数;
[0097]
fm
ikfi
的第k个失效模式,k=1,...,ki,其中ki是fi的失效模式总个数;
[0098]onj pn的第j个的操作,j=1,...,jn,其中jn是零件pn中需要再加工的特征数量,也等于对pn的操作数量;
[0099]ol
第l个操作,l=1,...,l,其中l是操作总数;
[0100]ms
第s个机器,s=1,...,s,其中s是机器总数;
[0101]
p
n’表示不同于pn的一个零件,j
n’是零件p
n’中需要再加工的特征数量;
[0102]on’j’p
n’的第j’个的操作,j'=1,...,j
n'

[0103]
表示在ms上执行的o
nj
的前一个操作o
n'j'
的区间完成时间;
[0104]
表示在ms上执行的操作的区间完成时间,表示pn的第jn个的操作;
[0105]
表示第m个目标函数值fm的区间数形式,m=1为总区间能耗目标函数值;m=2为区间完工时间目标函数值;m=2为最大机器负载目标函数值;
[0106]
总区间能耗;
[0107]
总区间加工能耗;
[0108]
总区间空闲能耗;
[0109]
在机器ms上执行o
nj
的区间加工时间;
[0110]
在机器ms上执行o
nj
的区间开始时间;
[0111]
在机器ms上执行o
nj
的区间完成时间;
[0112]ms
的单位加工功率;
[0113]ms
的单位空闲功率;
[0114]hs
关闭ms的时间阈值;
[0115]
0-1决策变量,1表示零件pn的特征fi由于失效模式fm
ik
而失效,否则为0;
[0116]
0-1决策变量,1表示零件pn的特征fi由操作o
l
重新再加工,否则为0;
[0117]
0-1决策变量,1表示选择o
l
作为o
nj
来加工pn,否则为0;
[0118]
0-1决策变量,1表示o
nj
在机器ms上执行,否则为0;
[0119]
0-1决策变量,1表示o
n'j'
和o
nj
是在ms上执行的相邻操作,且o
n'j'
在o
nj
之前,否则为0;
[0120]
0-1决策变量,1表示机器ms在相邻操作o
n'j'
和o
nj
之间关闭(o
n'j'
在o
nj
之前),否则为0;
[0121]
0-1决策变量,1表示o
nj
是机器ms上执行的第一个操作,否则为0。
[0122]
本实施例在描述irpps模型时,为了简单起见认为所有零件和特征相互独立,所有零件都没有优先权,所有零件和机器在开始时都可用,所有中断都被忽略,所有运输时间都被忽略,每台机器一次只能加工一个零件,不能同时加工同一零件的多个特征,机器的设置时间忽略不计,辅助设备的能耗忽略不计。当然也可以考虑上述因素,在相应的目标函数中加入这些因素。
[0123]
本实施例以区间数表示加工时间,构建总区间加工能耗、总区间空闲能耗、区间完工时间和最大机器负载的目标函数,如下:
[0124]
1、总区间能耗的目标函数,包括总区间加工能耗、总区间空闲能耗。
[0125]
在irpps模型中,总能耗由两部分组成:总区间加工能耗和总区间空闲能耗。此外,该模型还采用了开/关策略以降低能耗。为了降低模型的复杂性,本技术简化了开/关策略。如果机器的空闲时间超过给定的时间阈值,则需要关闭机器。例如,hs=7表示如果机器的空闲时间超过7小时,则需要关闭机器ms。
[0126]
使用公式(5)计算总区间加工能耗:
[0127][0128]
用于确定总区间空闲能耗的变量使用公式(6),并使用公式(7)计算空闲能耗
[0129][0130][0131]
其中,公式(6)用于检查在机器ms上的两个相邻操作之间是否需要将其关闭。
[0132]
使用公式(8)计算总区间能耗的目标函数:
[0133][0134]
2、区间完工时间的目标函数。
[0135]
用于确定区间完工时间使用公式(9)和(10),具体如下:
[0136][0137][0138]
其中公式(9)和(10)分别表示机器ms上的操作o
nj
的区间开始时间和区间完成时间,表示操作o
n(j-1)
在机器ms′
的区间完成时间,ms′
表示第s'个机器,s'=1,2,...s,其中s是机器总数,表示在机器ms上执行且为操作o
nj
的前一个操作o
n'j'
的区间完成时间。
[0139]
区间完工时间的目标函数由公式(11)计算:
[0140][0141]
其中是操作在机器ms上的区间完成时间。
[0142]
3、最大机器负载的目标函数。
[0143]
在irpps模型中,使用公式(12)计算最大机器负载:
[0144][0145]
在构建好上述目标函数后,就可以最小化能耗、最小化最大完工时间和最小化最大机器负载建立再制造工艺规划与调度的集成模型,本技术再制造工艺规划与调度的集成模型为多目标优化模型,如公式(13)所示:
[0146][0147]
上述目标受到以下约束:
[0148][0149][0150][0151][0152]
公式(14)确保零件中的每个缺陷特征由于一种失效模式而失效,公式(15)表示每
个缺陷特征只能通过一个操作进行再加工,公式(16)表示每个操作只能在一台机器上执行,公式(17)表示操作集中只有一个操作o
l
被选择为操作o
nj
以加工零件pn。
[0153]
在一个具体的实施例中,本技术还对上述目标函数进行等价变换,将区间目标值转换为实值:
[0154]
区间数的平均值和方差可使用公式(18)和(19)计算,然后使用公式(20)将区间目标值转换为实值:
[0155][0156][0157][0158]
其中表示等价变换后的实值,且ωm(该值介于0和1之间)为目标函数m的不确定性程度(即方差)的权重。ωm可根据实际再制造环境的要求进行调整。m为上述目标函数的标号,分别为1、2和3。
[0159]
步骤s2、对所述再制造工艺规划与调度的集成模型求解,得到最优再制造工艺规划与调度方案,按照得到的最优再制造工艺规划与调度方案进行再制造。
[0160]
本技术再制造工艺规划与调度的集成模型是一种多目标优化问题,可以采用第二代非支配排序遗传算法(nsga-ii算法),nsga-ii算法在过去二十年中已成为一种受到广泛认可的多目标问题优化方法。或采用spea2、mopso等算法来求解。
[0161]
通过对再制造工艺规划与调度的集成模型的求解,可以得到最优再制造工艺规划与调度方案,应用于实际的再制造任务进行再制造。
[0162]
在一个具体的实施例中,本技术采用改进的第二代非支配排序遗传算法(ensga-ii算法),进行求解。
[0163]
如图3所示,其中n表示初始种群大小。pg和og分别代表第g代的父代和子代种群。本实施例ensga-ii算法,包括:
[0164]
步骤f1、初始化,使用多维编码方法随机产生新种群pg(n);
[0165]
步骤f2、执行遗传操作产生子代种群q
g1
(n);
[0166]
步骤f3、将pg(n)和q
g1
(n)合并,使用快速非支配排序和拥挤距离方法产生下一子代种群q
g2
(n);
[0167]
步骤f4、在q
g2
(n)上执行局部搜索策略产生用于下一次迭代的新种群p
g 1
(n);
[0168]
步骤f5、迭代次数g等于g 1;
[0169]
步骤f6、判断g是否达到最大迭代次数,如果是则输出pg(n)中的近似帕累托最优解集,否则返回步骤f2进行下一次迭代。
[0170]
在上述ensga-ii算法中,所述多维编码方法包括两层:特征层和再加工层,特征层表示零件索引、特征和失效模式信息,再加工层表示候选操作索引和候选机器索引。
[0171]
本实施例中,一条染色体需要同时表示零件的信息和加工柔性,如图4所示,特征层为第一维度,再加工层候选操作索引为第二维度,候选机器索引为第三维度。
[0172]
第一个维度中的每个值表示某个零件的某个缺陷特征由于某个失效模式而失效,第一维度的长度表示需要再加工的所有零件的所有缺陷特征的总个数。例如,第一维的最后一个基因[4,5,1]表示零件4的缺陷特征5由于失效模式1(fm
51
)而失效。
[0173]
第二个维度中的每个值表示选择第r个候选操作来再加工相应的缺陷特征。例如,第二维的最后一个基因2表示选择第2个候选操作(即o6)来再加工相应的缺陷特征[4,5,1]。
[0174]
第三个维度中的每个值表示在第q台候选机器上执行相应操作。例如,第三维的最后一个基因1表示在第1台候选机器(即m3)上执行操作o6。
[0175]
在一个具体的实施例中,执行遗传操作产生子代种群,包括执行交叉算子和变异算子。
[0176]
本实施例将优先操作交叉pox和基于作业的顺序交叉jox与本技术提出的多维编码表示方法相结合,得到扩展型的pox和扩展型的jox,然后随机选择其中一个作为当前交叉算子来产生子代。
[0177]
其中,扩展型优先操作交叉pox执行如下操作:
[0178]
将所有零件随机分为两给非空集为零件集1和零件集2;
[0179]
对于参与交叉操作的两个染色体,将零件编号属于零件1的基因分别复制到两个子代染色体中,并保留其先后顺序;
[0180]
对于参与交叉操作的两个染色体,将零件编号属于零件2的基因分别交叉复制到两个子代染色体中,并保留其先后顺序。
[0181]
图5示出了一个扩展型优先操作交叉pox的实例,先将零件分为零件集1和零件集2,零件集1包括零件1和3,零件集2包括零件2和4。
[0182]
对于参与交叉操作的两个染色体pa1和pa2,零件编号属于零件集1的基因为灰色部分,分别复制到各自对应的子代q1和q2中。零件编号属于零件集2的基因为白色部分,交叉复制到各自对应的子代q1和q2中,pa1的白色部分复制到q2,pa2的白色部分复制到q1。
[0183]
本实施例扩展型基于作业的顺序交叉jox执行如下操作:
[0184]
将所有零件随机分为两给非空集为零件集1和零件集2;
[0185]
对于参与交变异操作的两个染色体,将第一个染色体中零件编号属于零件集1的基因复制到第一个染色体对应的子代中,将第二个染色体中零件编号属于零件集2的基因复制到第二个染色体对应的子代中,并保留位置相同;
[0186]
对于参与交叉操作的两个染色体,将第一个染色体中零件编号属于零件集1的基因复制到第二个染色体对应的子代中,将第二个染色体中零件编号属于零件集2的基因复制到第一个染色体对应的子代中,并保留其先后顺序。
[0187]
图6示出了一个扩展型基于作业的顺序交叉jox的实例,先将零件分为零件集1和零件集2,零件集1包括零件1和3,零件集2包括零件2和4。
[0188]
对于参与交叉操作的两个染色体pa1和pa2,将pa1中零件编号属于零件集1的基因(灰色部分),复制到对应的子代q1中,将pa2中零件编号属于零件集2的基因(灰色部分),复制到对应的子代q2中;将pa1中零件编号属于零件集1的基因(灰色部分),复制到子代q2中(变为白色部分),将pa2中零件编号属于零件集2的基因(灰色部分),复制到子代q1中(变为白色部分)。
[0189]
本实施例针对交叉操作提出了自适应交叉率pc,如公式(21)所示,其中p
c_initial
为初始交叉率,iter_max和iter_current分别表示最大迭代次数和当前迭代次数:
[0190][0191]
本实施例变异算子包括将两点交换算子用于变异特征层,将单点变异算子用于变异再加工层。
[0192]
两点交换算子即随机选择两个位置并交换相应基因,单点变异算子即随机选择一个基因并用候选集中的不同基因替换该基因,如果候选集中只有一个基因,则不执行任何操作。
[0193]
本实施例针对变异操作提出了自适应变异率pm,如公式(22)所示,其中p
m_initial
表示初始变异率。
[0194][0195]
在一个具体的实施例中,为了提高算法性能,本技术局部搜索策略采用了四个局部搜索算子ls1、ls2、ls3和ls4的局部搜索策略来扩展基础型的nsga-ii算法。按概率执行局部搜索算子ls1或ls2或ls3,ls4是在ls3执行之后执行,用于修复ls3可能产生的不可行解。
[0196]
第一个局部搜索算子(ls1)旨在为每个零件找到更好的工艺规划。第二个局部搜索算子(ls2)的目标是找到一个新的工艺规划,并生成一个比当前更好的调度方案。第三个局部搜索算子(ls3)旨在跳出局部最优解。第四个局部搜索算子(ls4)旨在修复由ls3生成的不可行解。
[0197]
四个局部搜索算子的详细介绍如下:
[0198]
局部搜索算子ls1:每个零件的工艺规划取决于特征层中缺陷特征的顺序。局部搜索算子ls1执行如下操作:
[0199]
从帕累托前沿中随机选择一个染色体p,对于要进行局部搜索的染色体i,比较染色体之间每个零件的特征顺序,对于特征顺序相同的零件,将染色体i中相应的基因复制到新染色体中,并保留其先后顺序;对于特征顺序不同的零件,将染色体i中预设部分的基因复制到新染色体中,并保留其先后顺序;对于特征顺序不同的零件,将染色体p中剩余部分的基因复制到新染色体中,并保留其先后顺序。
[0200]
如图7所示,比较染色体i和p之间每个零件的特征顺序。零件p1(即先特征f1后特征f3)和零件p2(即先特征f1后特征f2)的特征顺序在染色体i和p之间相同,将相应的基因复制到新染色体i'(即四个白色基因)中,并保留其先后顺序。零件p3和p4的特征顺序在染色体i和p之间不同,将约一半特征顺序不同的零件(即零件p4先特征f3后特征f5)复制到新染色体i'(即两个灰色基因)中,并保留其先后顺序。将剩余零件(即零件p3先特征f4后特征f2)从染色体p复制到新的染色体i'(即两个斜纹基因)中,并保留其先后顺序。
[0201]
局部搜索算子ls2:ls2作用于再加工层,目标是找到新的工艺规划并产生新的调度方案。执行如下操作:
[0202]
随机选择种群中的一个染色体,生成一个长度与所选择染色体相同的字符串向量h,字符串向量h由随机的0或1组成;
[0203]
在再加工层中,保留h中为1的相对应位置的基因至新染色体,并保留其先后顺序;
[0204]
在再加工层中,选择另一个候选操作和候选机器替换h中为0的相对应位置的基因至新染色体,选择的候选操作和候选机器分别对应候选集中所需加工时间最短的候选操作以及候选机器。
[0205]
图8示出了一个局部搜索算子ls2的实例,染色体i中白色部分基因直接保留到新染色体i'中,灰色部分基因重新从候选操和候选机器中选择,在新染色体i'中替换h中为0的相应位置的基因。
[0206]
局部搜索算子ls3:ls3为插入算子。对于当前种群中的染色体,随机选择两个不同的基因,将前者插入到后者的前面,使其相邻,生成新的染色体。
[0207]
局部搜索算子ls4:执行局部搜索算子ls3可能会产生不可行的解决方案,如特征层可能无法满足特征约束,或者选定的操作或机器可能无法完成相应的零件或操作。因此,局部搜索算子ls4旨在修复不可行解,具体步骤如下:
[0208]
检查每个零件的特征顺序是否满足特征约束,如果不满足,则根据该零件的特征约束随机重组特征基因并替换原位置;
[0209]
检查操作是否能完成相应特征的加工,机器是否能完成相应的操作,如果不满足,则在相应的候选集中随机选择一个可行的操作或机器基因,以满足相应特征的加工要求。
[0210]
具体的,第四个局部搜索算子用于修复特征层,修复时根据特征约束,也就是特征加工的其先后顺序的约束,检查每个零件的特征顺序是否满足特征约束。如果不满足,则根据该零件的特征约束随机重组特征基因并替换原位置。还用于修复再加工层,根据修复后的特征,检查相应的操作是否能够完成相应特征的加工,机器是否能够完成相应的操作。如果不满足,则在相应的候选集中随机选择一个可行的操作或机器基因,以满足相应的要求。
[0211]
以下通过实验数据对本技术再制造工艺规划与调度的集成模型的效果进行进一步的阐述。通过仿真实验对ensga-ii算法性能进行评估,然后将其与其它三种多目标对比算法进行比较,即nsga-ii、mopso和spea2。所有实验都使用python语言编程实现,并在操作系统为64位windows 10、处理器为intel(r)核3.10ghz、内存为16gb ram的电脑上运行。
[0212]
为模拟真实的再制造环境,实验数据和仿真参数定义如下:在每个实例中,零件数量在范围为4-30个之间随机生成,机器数量在范围为6-12台之间随机生成。零件的基准数据如表2所示,包括特征数量范围和总操作数量。对于每一个特征,其可能存在的失效模式数量范围为1-4种,每种失效模式的候选操作数量范围为1-3个,每个操作的候选机器数量范围为1-3台。其它仿真参数在表3所示的范围内随机生成。数据库中每个实例的名称由零件总数、基准数据集id和机器总数等三个数字组成。例如,实例“exp(4/1/6)”表示零件总数为4个,基准数据集为#1,机器总数为6个。
[0213]
为减少实验中误差,所有实验均独立运行10次并取平均值作为实验结果。
[0214][0215]
表2
[0216][0217]
表3
[0218]
在实验中采用三个多目标算法评价指标,即set coverage(sc)、spacing indicator(si)和hypervolume(hv)。所有算法的最大迭代次数均设定为300次。由于hv指标可以综合评估了算法的性能,本技术用hv指标对提出的ensga-ii算法中的参数进行灵敏度分析,包括执行局部搜索算子的选择概率和群体大小。
[0219]
第一个实验在实例exp(15/1/8)上测试了在不同局部搜索算子(ls1、ls2和ls3)的选择概率组合下的ensga-ii算法性能,且所有算法的初始种群大小设置为40。表4显示了本实验中使用的局部搜索算子的13种选择概率组合。
[0220][0221]
表4
[0222]
实验结果表明,c06的hv值高于其它组合。因此,在接下来的实验中,局部搜索算子的选择概率组合分别被设定为0.1、0.6和0.3。
[0223]
第二个实验在不同规模数据集上测试了不同初始种群下的ensga-ii算法性能。实验表明当初始种群规模超过40时,hv值变化缓慢。由于大的种群规模增加了仿真实验的计算成本,在接下来的实验中,初始种群规模被设定为40。这个种群规模也确保了算法之间的公平比较。
[0224]
为了让ensga-ii算法和其它算法进行公平比较,ensga-ii算法和nsga-ii算法中执行局部搜索操作的次数,以及mopso算法中的邻域数都被设定为10。根据试运行的实验结果,多目标算法的其它参数如表5所示:
[0225][0226]
表5
[0227]
在下面的实验中,通过比较性能指标来综合评估ensga-ii算法与其它对比算法(包括nsga-ii、spea2和mopso)的性能。表6、7和8分别展示了各算法的sc、si和hv指标的实验比较结果。
[0228]
四种算法获得的sc指标比较结果如表6所示:
[0229][0230]
表6
[0231]
四种算法获得的si指标比较结果如表7所示:
[0232][0233][0234]
表7
[0235]
四种算法的hv指标比较结果如表8所示:
[0236][0237]
表8
[0238]
基于sc指标的ensga-ii算法和其它算法的比较结果如表5所示,可以发现ensga-ii算法在所有实验中都明显优于其它对比算法。第二列和第三列显示,在大多数实验中ensga-ii算法获得的至少一个解支配了nsga-ii算法获得的所有解,而nsga-ii算法获得的解不能支配ensga-ii算法获得的任何解。第四列和第五列显示,ensga-ii算法获得的至少一个解支配了所有spea2算法获得的所有解,而spea2算法获得的解不能支配任何ensga-ii算法获得的任何解。第六列和第七列显示,在大多数实验中ensga-ii算法获得的至少有一个解支配了mopso算法获得的部分解,而mopso算法获得的解不能支配ensga-ii算法获得的任何解。
[0239]
基于si指标的ensga-ii算法和其它算法的比较结果如表6所示。在大多数实验中,ensga-ii算法获得的解集比其它算法获得的解集具有更好的分布性和广泛性。
[0240]
基于hv指标的ensga-ii算法和其它算法的比较结果如表7所示。其中参考点r=(r1,r2,r3)
t
被设定为(1,1,1)
t
。在大多数实验中,ensga-ii算法产生的hv值都明显高于对比算法。实验结果表明,ensga-ii算法获得的解集比其它算法获得的解集具有更好的收敛性和分布性。
[0241]
实验结果表明,对比算法产生的大多数解都被ensga-ii算法产生的解所支配。在不同规模的实例中,ensga-ii算法得到的解集在收敛性和分布性上都优于对比算法。此外,随着测试实例规模增加时,ensga-ii算法比其它对比算法更容易达到近似的帕累托最优解集。
[0242]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献