一种考虑工时不确定性的人机双资源约束多目标生产调度方法

未命名 10-08 阅读:96 评论:0


1.本发明专利涉及人机双资源约束生产调度的研究领域,更具体地,涉及一种基于多目标模式算法的考虑工时不确定性的人机双资源约束生产调度求解方法。


背景技术:

2.复杂电子产品生产车间具备明显的半人工半自动化特征,在进行生产调度时需综合考虑员工和机器的双资源约束。然而,工序加工工时作为生产调度的重要条件,由于操作员工班制的不统一以及各工序加工方式和环境间的较大差异而难以直接确定。另外,为保证调度方案的可行性,在进行生产调度时还需要进一步考虑完工时间与员工负载均衡、员工雇佣成本三者之间的平衡。
3.当前针对复杂电子产品生产车间的研究较少,大多局限于理想状态的作业车间,未结合实际复杂电子产品的特殊约束,故排程模型简单、工序工时固定、目标单一、求解算法不注重收敛速度,导致排程结果的实用性差。
4.本发明提出一种针对复杂电子产品生产车间的多目标模因算法,该算法结合了复杂电子产品车间的生产特点与特殊约束,在进行多目标优化的同时具备较强的寻优能力,提高了排程效率和实用性。


技术实现要素:

5.本章针对复杂电子产品需综合考虑工时不确定性和多个优化目标间的平衡来进行生产调度的现实情况,提出了一种基于两阶段邻域搜索策略的多目标模因算法。该算法根据改进的优化目标是否与员工有关,进行了同员工和跨员工的两阶段关键工序移动操作,实现了新解相对于原解在各目标上的精准优化。然后,考虑复杂电子产品生产车间人机双资源约束的生产特点,对全局搜索算法进行了编解码改进及相应的遗传算子改进,将改进后的全局搜索算法与两阶段邻域搜索策略相结合,得到针对复杂电子产品生产车间的多目标模因算法。
6.本发明技术方案为一种考虑工时不确定性的人机双资源约束多目标生产调度方法,该方法包括:
7.步骤1:建立复杂电子产品车间人机双资源约束多目标生产调度模型;
8.步骤1.1:对复杂电子产品的实际生产调度场景进行描述,并对于生产过程做出相应约束;
9.步骤1.2:对实际生产调度场景中涉及的参数与变量进行符号定义,并基于这些符号,引入工时预测模型,同时对各类约束条件和优化目标进行公式定义,建立人机双资源约束多目标生产调度问题的数学模型;
10.步骤2:建立多目标模因算法求解框架;
11.步骤2.1:选择一种适合于求解复杂电子产品生产车间多目标生产调度模型的全
局搜索算法;
12.步骤2.2:在全局搜索算法中结合一种两阶段邻域搜索结构,组成多目标模因算法;
13.步骤3:根据所研究生产调度模型的双资源约束和多目标平衡的特性,对全局搜索算法进行改进与调整;
14.步骤3.1:基于人机双资源约束条件中,机器-工序-员工三者的匹配关系设计三向量编码方案;
15.步骤3.2:基于三向量编码方案和各工序的工时预测值,设计一种能够最大程度利用机器加工间的空闲时间段来进行调度安排的全主动解码方式;
16.步骤3.3:考虑不同目标函数,分别进行不同的策略选择,将随机生成与策略选择相结合,进行种群初始化;
17.步骤3.4:基于快速非支配排序和拥挤度比较算子对种群中的个体进行适应度排序;
18.步骤3.5:基于锦标赛选择和精英保留策略,依据个体适应度排序筛选出下一代种群;
19.步骤3.6:针对三向量编码个体,为每条染色体向量分别设计不同的交叉和变异方式;
20.步骤4:抽取全局搜索过程中的部分个体,进行基于关键路径的两阶段邻域搜索;
21.步骤4.1:将全局调度解转换为析取图,并通过计算析取图中的最长路径,从而得到调度解中的关键路径,并将关键路径分为多个关键工序块;
22.步骤4.2:对于关键工序块中的块首和块尾元素,分别进行同员工关键工序移动;
23.步骤4.3:根据多个目标函数,制定进行跨员工移动关键工序时的多层员工筛选策略,利用多层员工筛选策略对要跨的员工进行筛选,直接利用所选员工时长足够加工该工序的时窗来进行关键工序的跨员工移动;
24.步骤5:获取最优调度解,并进行结构呈现;
25.步骤5.1:当多个优化目标均在一定迭代次数内保持稳定时,停止迭代,获取一组优化解;
26.步骤5.2:根据目标偏好选择一个合适的优化解,并为该解分别绘制以机器为纵轴和以员工为纵轴的甘特图,以清晰地展示调度方案。
27.本发明提出一种针对复杂电子产品生产车间的多目标模因算法,该算法结合了复杂电子产品车间的生产特点与特殊约束,在进行多目标优化的同时具备较强的寻优能力,提高了排程效率和实用性。
附图说明
28.图1为本发明多目标模因算法的总体流程图;
29.图2为本发明中全主动解码过程流程图;
30.图3为本发明中的析取图样例;
31.图4为本发明中以机器为纵轴的调度甘特图样例;
32.图5为本发明中以员工为纵轴的调度甘特图样例;
33.图6为本发明中同员工移动关键工序时关键工序块块中工序的移动方式示意图;
34.图7为本发明中同员工移动关键工序时关键工序块块尾工序的移动方式示意图;
35.图8为本发明中跨员工移动关键工序的邻域结构示意图。
具体实施方式
36.下面结合附图对本发明作进一步详细描述。结合图1,一种考虑工时不确定性的人机双资源约束多目标生产调度方法包括以下步骤:
37.步骤1:建立复杂电子产品柔性车间人机双资源约束多目标生产调度模型;
38.步骤1.1:对复杂电子产品的实际生产调度场景进行描述,并对于生产过程做出相应约束;
39.在作业车间中有n个待加工工件j=(j1,j2,

,jn),m台机器m=(m1,m2,

,mm)和l名员工w=(w1,w2,

,w
l
);工件ji有预定义的ri道操作工序oi=(o
i1
,o
i2
,

,o
iri
),各工序只有在前置工序完成且相应生产资源均空闲的情况下才能进行加工,加工过程由机器集合m中一台匹配的空闲机器和员工集合w中一名匹配的空闲员工配合执行;每道工序的加工时间根据工序类型由工序标准工时决定或学习曲线模型、员工班制、员工加工该工序的历史次数共同决定,在员工集合w中有l1名正式员工和l2名外包员工,外包员工每次加工获得固定工资,每月按照累计加工次数支付总工资,正式员工工资与加工次数无关,每月发放固定数额;现以最大完工时间最小化为优化目标,对车间中的机器和员工资源进行合理分配,确定最优的生产调度方案;该问题模型分解为三个子任务:(1)安排各工序的加工顺序;(2)将机器与工序进行匹配;(3)将员工与工序进行匹配;
40.对问题进行如下约束:
41.(1)所有机器和员工在初始时间都处于可用状态;
42.(2)工件之间相互独立,且不存在优先级区分;
43.(3)同一时刻,每台机器只能处理一道工序;
44.(4)同厂商出产的同类型机器加工能力一致;
45.(5)同种班制员工的学习能力一致;
46.(6)对于所有工件,在上一道工序加工完成前,无法加工下一道工序;
47.(7)在工序加工时间中包含工件的安装、拆卸与传输时间;
48.(8)一旦工序开始加工就无法中断;
49.步骤1.2:进行符号及公式定义,建立人机双资源约束多目标生产调度问题的数学模型;(1)下标与集合
50.i,i

:工件下标
51.k,k

:机器下标
52.r,r

:员工下标
53.j,j

:工序下标
54.o
ij
:工件i的第j道工序
55.j:待加工工件集合
56.m:机器集合
57.w:员工集合
58.oi:工件i的加工工序集合
59.m
ij
:可加工工序o
ij
的机器集合
60.w
ij
:可加工工序o
ij
的员工集合
61.(2)参数定义
62.n:待加工工件数量
63.m:机器数量
64.l:员工总数量
65.l1:正式员工数量
66.l2:外包员工数量
67.tr:员工r的加工总次数
68.w1:正式员工的整体工资数额
69.w2:外包员工进行单次加工的工资数额
70.ri:工件ji的工序数量
71.rr:员工r的班制,当员工r为正式员工时为1,为外包员工时为0
72.tr:员工r的加工总时长
73.t
ij
:当p
ij
=0时,工序o
ij
的固定操作时间
74.t
ijr
:当p
ij
=1时,员工r首次加工工序o
ij
的时间
75.r
ijr
:当p
ij
=1时,员工r准备好加工工序o
ij
的时间
76.r
ijk
:当q
ij
=1时,机器k准备好加工工序o
ij
的时间
77.e
ijr
:当p
ij
=1时,在开始加工工序o
ij
前,员工r加工相同工序的累计次数
78.g
ij
:工序o
ij
的机械因子,属于[0,1],当o
ij
为全自动化工序时为1,当o
ij
为全手工工序时为0
[0079]
α
ijr
:当p
ij
=1时,员工r在加工工序o
ij
时的学习率
[0080]
l:一个无穷大的数
[0081]
(3)决策变量
[0082]sij
:工序o
ij
的加工开始时间
[0083]cij
:工序o
ij
的加工完成时间
[0084]hij
:工序o
ij
的加工时间预测值
[0085]ci
:工件i的加工完成时间
[0086]cmax
:所有工件中的最大加工完工时间
[0087]
p
ij
:二元变量,当工序o
ij
需要通过学习曲线进行工时预测时为1,反之为0
[0088]
x
ijr
:二元变量,当员工r具备加工工序o
ij
的能力时为1,反之为0
[0089]yijr
:二元变量,当工序o
ij
由员工r进行加工时为1,反之为0
[0090]
x
ijkr
:二元变量,当工序o
ij
在机器k上由员工r加工时为1,反之为0
[0091]aiji
′j′
:二元变量,若工序oi′j′
在工序o
ij
开始前完成则为1,反之为0
[0092]kiji
′j′
:二元变量,当工序o
ij
与工序oi′j′
相同时为1,反之为0
[0093]
ηi′j′
k-ijk
:二元变量,当工序oi′j′
为机器k处理工序o
ij
前的最后一道工序且已完成加工时为1,反之为0
[0094]
ξi′j′
r-ijr
:二元变量,当工序oi′j′
为员工r在处理工序o
ij
前处理的最后一道工序且
已操作完成时为1,反之为0
[0095]
基于上述问题描述与符号定义,能够建立人机双资源约束下的柔性作业车间生产调度数学模型:
[0096]
目标函数定义:
[0097]
(1)最大完工时间最小化;最大完工时间标致着车间的生产效率,为了不耽误后续的订单生产,缩短当前订单的生产周期,应尽可能使最大完工时间达到最小;第一个目标函数表示为公式(1):
[0098][0099]
其中,ci表示工件i的完工时间;
[0100]
(2)员工负载均衡度最大化;由于各员工掌握的技能数量存在差异,在进行调度的过程中会出现员工间工作量不均衡的问题,导致工作安排与薪资发放不合理的情况出现;为保证员工内部的加工强度均衡,采用各员工总加工时间的标准差作为衡量员工负载均衡度的标准,标准差越小表示员工间的负载均衡度越高;由于正式员工和外包员工的工资发放机制不同,因此需对这两种班制的员工分别计算负载均衡度,如公式(3)、(4)所示,将两者分别最小化之后求和作为第二个目标函数f2,如公式(2)所示;
[0101]
f2=minσ1+minσ2(2)
[0102][0103][0104]
其中,σ1、σ2分别表示正式员工和外包员工的负载均衡度,l1为正式员工数量,l2为外包员工数量,tr为员工r的加工总时长;
[0105]
(3)员工雇佣成本最小化;为维持公司的长远利益,需控制加工所需的员工雇佣成本;员工雇佣成本即雇佣正式员工和外包员工总费用,将其最小化作为第三个目标函数f3,如公式(5)所示;
[0106][0107]
其中,w1为正式员工的整体工资数额,w2为外包员工进行单次加工的工资数额,tr为员工r的加工总次数;
[0108]
综上所述,人机双资源约束下的车间生产与资源配置多目标协同调度问题的总体目标函数可表示为公式(6):
[0109]
f=min(f1,f2,f3)(6)
[0110]
约束条件为:
[0111][0112][0113]
公式(7)定义了每道工序的加工时间预测值:当工序o
ij
需要员工参与加工时,加工时间预测值由学习曲线模型计算得出,当工序o
ij
为全自动工序,不需要员工参与时,加工时间为固定值;公式(8)通过统计员工r在加工工序o
ij
之前加工过的相同工序的次数来计算eijr

[0114]si,(j+1)
≥s
i,j
+h
i,j
,i∈j,j=1,2,

,r
i-1(9)
[0115]rijk
+(1-ηi′j′
k-ijk
)
×
l≥s
i,j,
+hi′j′
,i,i

∈j,(10)
[0116]
j=1,2,

,ri,j

=1,2,

,ri′
,k∈m
[0117]rijr
+(1-ξi′j′
r-ijr
)
×
l≥si′j′
+hi′j′
,i,i

∈j,(11)
[0118]
j=1,2,...,ri,j

=1,2,...,ri′
,r∈(w
ij
∩wi′j′
)
[0119]
每道工序必须在它的前一道工序完成后才能开始加工,这种约束关系表示为公式(9);公式(10)表示了在机器完成当前工序前,不能准备开始加工下一道工序;公式(11)表示了在员工完成当前工序的操作前,不能准备开始下一道工序的操作;
[0120]
步骤2:建立多目标模因算法求解框架;
[0121]
为使求解算法具备较强的寻优能力和收敛性,将nsgaii算法与一种基于关键路径的两阶段邻域搜索策略相结合,设计了一种针对人机双资源约束下的多目标生产调度问题的模因算法。nsgaii算法具备较强的鲁棒性与收敛性,能够对多目标优化问题进行高效地全局搜索,而基于关键路径的两阶段邻域搜索策略能够对nsgaii算法得到的全局解在各目标上进行精确优化,提升整体算法的寻优能力。多目标模因算法总体流程如图1所示,具体描述如下:
[0122]
step1:初始化多目标模因算法中的基本参数,包括种群规模pop、迭代次数gen、交叉与变异概率等;
[0123]
step2:生成初代种群p
t
,种群个体数量为n,且迭代次数i=1;
[0124]
step3:对种群进行快速非支配排序并计算每个个体的拥挤距离;
[0125]
step4:利用锦标赛选择法筛选出父代种群p
t
,p
t
种群数量为g*n;
[0126]
step5:对种群p
t
进行交叉和变异操作,得到子代种群q
t

[0127]
step6:对子代种群q
t
进行两阶段邻域搜索;
[0128]
step7:将父代种群p
t
和子代种群q
t
合并后采用精英保留策略进行重新筛选,得到新的父代种群p
t+1
,同时i=i+1;
[0129]
step8:若i大于最大迭代次数,则输出p
t+1
,否则跳转至步骤3;
[0130]
步骤3:根据所研究生产调度模型的双资源约束和多目标平衡的特性,对全局搜索算法进行改进与调整;
[0131]
步骤3.1:建立三向量编码方案;
[0132]
由于该问题研究的是机器-工序-员工三者的匹配关系,所以不能采用传统生产调度问题中只考虑工序加工顺序和机器操作顺序的编码方式。这里提出了一种三向量编码机制,即每个个体由三条染色体组成,三条染色体分别对应工序加工序列向量pv、机器资源分配向量mv和员工资源分配向量wv,每条染色体的长度均为所有工件的工序数量之和由三条染色体组成的每一个个体都代表一种可行的解决方案;在工序加工序列向量中,用待加工的工件下标表示安排加工的工件,工件ji的第j次出现表示此时加工工件ji的第j道工序o
ij
,工件ji的出现次数应与该工件的总加工工序数量ri相同;机器资源分配向量与工序加工序列向量等长,用机器下标表示相应的机器,机器资源分配向量中的第g个机器下标表示为工序加工序列向量中第g道工序分配的机器,且该机器应当处于空闲可用的状态;与机器资源分配向量类似,员工资源分配向量也与工序加工序列向量等长,向量中用员工下
标代表相应的员工,第g个员工下标表示为工序加工序列向量中第g道工序分配的员工,且该员工应同样处于空闲可用的状态;
[0133]
步骤3.2:全主动解码;
[0134]
为了在进行邻域搜索时只考虑隐藏时窗的利用,此处选择全主动方式进行解码。由于针对的问题模型需要在考虑机器资源约束的基础上考虑到员工资源的约束,因此需对传统的全主动解码方式进行进一步补充完善,完善后的完整全主动解码流程如图2所示,其操作步骤描述如下:
[0135]
step 1:对工序加工序列向量pv、机器资源分配向量mv和员工资源分配向量wv进行反转,将反转后的向量分别表示为pv

、mv

和wv


[0136]
step 2:从左到右依次从pv

中提取工序o
ij
,并分别从mv

和wv

中获取与工序o
ij
匹配的机器mk和员工wr;
[0137]
step 3:判断工序o
ij
的工时预测方式,若需要通过学习曲线进行预测,则获取员工wr在加工工序o
ij
前累计加工同种工序的次数e
ijr
,根据公式7计算出加工时间预测值h
ij
,并更新e
ijr
为e
ijr
+1;若工序o
ij
的工时为固定值,则h
ij
=t
ij

[0138]
step 4:计算在加工工序o
ij
之前,机器mk所有相邻操作时间之间的时窗集合φk以及员工wr所有加工时间之间的时窗集合θr;另外,由于该过程是按照倒序进行的调度,因此需要获取工件后继工序o
i(j+1)
的完工时间c
i(j+1)

[0139]
step 5:获取φk与θr的交集,并从左到右遍历交集中的所有时窗,令当前所考虑的时窗为τ,其起始时间为τs,结束时间为τe;当时窗满足插入条件,即τ
e-max(τs,c
i(j+1)
)≥h
ij
时,工序o
ij
的开始加工时间s
ij
安排为max(τs,c
i(j+1)
),同时结束遍历;若在所有时窗中均没有找到可以插入的位置,则工序o
ij
不进行左移,s
ij
=max(m
kc
,w
rc
,c
i(j+1)
),其中m
kc
和w
rc
分别表示机器mk和员工wr当前操作工序的结束时间;
[0140]
step 6:当pv

中的所有工序都已完成调度时,水平反转甘特图,得到正向染色体向量的调度结果,解码结束;否则,跳转到step 1;
[0141]
步骤3.3:种群初始化;
[0142]
由于人机双资源约束下的复杂电子产品生产调度问题由三个子问题组成,因此针对三个子问题对应的三条染色体向量分别采取三种初始化策略;
[0143]
操作序列向量的初始化遵循如下两条策略:(1)随机选择加工工序;(2)优先选择未加工工序数量最多的工件;
[0144]
初始解中机器分配向量也由两条策略产生:(1)从工序对应的可操作机器集中随机选择一台机器;(2)优先选择工序对应可操作机器集中历史加工次数最少的机器;
[0145]
员工分配向量的初始化遵循两条策略:(1)从工序对应的可加工员工集中随机选择空闲员工;(2)优先选择工序对应可加工员工集中对于此工序历史加工次数最多的空闲员工;在初始化种群的过程中,每个向量按照两种策略生成的个体比例均为1∶1,这样既保证了初始种群的多样性,又兼顾了加工机器的负载均衡和算法的收敛速度;
[0146]
步骤3.4:个体适应度排序;
[0147]
为了保留种群中的优良个体,在nsgaii中通常利用快速非支配排序和拥挤度比较算子对种群中的个体进行适应度排序;
[0148]
快速非支配排序的目的是根据个体间的pareto支配关系对种群进行快速分层;所
谓pareto支配关系指的是,对于个体x1和x2,若x1在任意目标分量上均不比个体x2差,且个体x1至少在一个目标分量上严格比x2更优,则称个体x1支配x2,记作x1<x2;据此,可对快速非支配排序方法进行描述:首先,为种群中的每个个体i设置参数rank、ni和si,rank表示个体的非支配等级,ni表示种群中支配个体i的个体数,si表示个体i所支配的个体集合,将每个个体都与种群中的其他所有个体进行支配关系比较,从而获取各自的ni和si;然后,将种群中所有ni=0的个体放入集合f1中,记作第一级支配前沿,并对当前集合f1中的每个个体j,遍历其所支配的个体集合sj,将集合sj中每个个体k的支配个体数量nk减1,如果n
k-1=0,则将个体k放入集合f2,记作第二级支配前沿;接下来,对集合f2中的每个个体采取相同的步骤来获取下一个非支配前沿,重复这个操作,直到种群中的所有个体均完成分层排序;若m为目标函数个数,n为种群个体数量,则整个快速非支配排序过程的时间复杂度为o(mn2);
[0149]
快速非支配排序对种群个体的适应度进行了初步分层,然而对于同一层级中的个体,还需要基于个体在种群中周围的个体密度进行进一步排列;将个体密度用拥挤距离i
distance
表示,规定每个支配层中边界个体的拥挤距离为无穷大,其余个体i通过公式(12)对i
distance
进行计算。
[0150][0151]
式中,a为目标函数的下标,n为目标函数的个数,fa(x
max
)和fa(x
min
)为第a个目标函数的最大值和最小值,和为根据目标函数值排序后xi的后一个个体x
i+1
和前一个个体x
i-1
在第a个目标函数上的值。将拥挤距离i
distance
抽象理解为以同一支配层上与个体xi相邻的两个个体为定点构成的矩形的周长;计算种群中所有个体拥挤距离的时间复杂度为o(mnlgn);
[0152]
通过快速非支配排序和拥挤度计算,种群中的每个个体i都获得了非支配等级i
rank
和拥挤距离i
distance
两个属性,定义拥挤度比较算子<n为:当i
rank
<j
rank
或i
rank
=j
rank
∧i
distance
>j
distance
时,定义i<nj;即当两个个体的非支配等级不同时,等级越低的个体适应度排序越靠前;当两个个体的非支配等级相同时,拥挤距离越大的个体适应度排序越靠前,因为拥挤距离越大,说明该个体与相邻个体目标函数值的差异越大,优先选择该个体有利于种群多样性的维护;
[0153]
步骤3.5:选择算子;
[0154]
由于模因算法与经典的全局搜索进化算法相比将进行更为精准的两阶段邻域搜索,因此在对种群进行选择的同时需要特别注意保证选择个体的多样性,使优良个体在解空间中更为分散。为了同时保证算法的全局收敛性和种群多样性,此处采用锦标赛选择和精英保留策略结合的方式来对种群个体进行筛选。
[0155]
锦标赛选择相较于轮盘赌选择具有更小的计算复杂度,且不易陷入局部最优、更能维持种群的多样性。本节采用锦标赛规模为2的二元锦标赛选择模式,其具体的操作方式为:设置新种群中个体数量为n/2,从原种群中随机选取两个参赛个体i和j,根据拥挤度比较算子选择适应度更强的个体加入新种群;采取有放回的方式,直到选出大小为n/2的新种群;
[0156]
精英保留策略能够保证进化过程中出现的最优个体不会由于选择、交叉、变异操作而被丢失或破坏,能够迅速提高种群的个体水平并加块算法的收敛速度。精英保留策略
的具体操作为:将进行交叉、变异后的子代种群与父代种群进行合并,并重新计算合并后每个种群个体的非支配等级和拥挤距离,依据个体适应度排序再次筛选出下一代种群。
[0157]
步骤3.6:遗传算子;
[0158]
交叉操作通过在两个不同的亲本染色体之间交换良好的基因来产生新个体,是遗传算法的主要进化操作,对遗传算法的效率和有效性有着重要影响。此处针对三种向量分别采取不同的交叉算子。
[0159]
针对操作序列向量,采用pox交叉方式;首先,将种群集合随机分成两个子集;然后,从两个子集中分别抽取父代1和父代2,从两个父代中随机选取几个基因复制到子代1和子代2的相同位置;最后,从父代2和父代1中去除从另一个父代中选取的基因,将剩余基因依次填补到子代1和子代2的空余位置;
[0160]
针对机器分配向量和员工分配向量,采用均匀交叉方式;
[0161]
其主要过程与上述顺序交叉操作类似,主要的不同在于,两个父代在进行交叉时需要依据一个与父代向量等长的随机二进制向量,两个父代中的基因分别依据与二进制向量中0和1的对应关系分为两组不同的集合,然后将父代1中的基因集合1与父代2中的基因集合2组合为子代1,将父代1中的基因集合2与父代2中的基因集合1组合为子代2。新的机器分配向量和员工分配向量生成后,注意需要检查它们是否合法,即与操作序列向量结合后,新的子代向量中是否存在当前不可用的机器或员工,若存在这种不合法的基因,则将它们替换为可加工该工序的空闲机器或对该类工序累计操作次数最多的空闲员工。
[0162]
变异算子为种群提供额外的变异,从而增强种群的多样性和局部搜索能力;变异的过程可描述如下:
[0163]
step 1:生成一个0和1之间的随机数,如果随机数小于交叉概率,则进行step 2,否则结束变异过程;
[0164]
step 2:随机选取操作序列向量亲代中两个不同位置的基因,并将这两个基因进行交换,同时相应地调整机器分配向量和员工分配向量对应位置上的基因,使得为各工序分配的机器和工人保持不变;
[0165]
step 3:从机器分配向量中随机选择一个基因,若对应工序的可用机器集合大小不为1,则将该机器替换为机器集合中不同于当前所选机器的任意一台机器,否则不进行替换;同时,检查员工分配向量中对应位置的基因是否合法,若不合法,则将该员工基因替换为历史加工该类工序次数最多的空闲员工,以保证个体的合法性;
[0166]
step 4:从员工分配向量中随机选择一个基因,并将其变为历史加工该类工序次数最多的空闲员工;
[0167]
步骤4:基于关键路径的两阶段邻域搜索;
[0168]
步骤4.1:关键路径计算;
[0169]
以一组可行解pv=[1,2,2,2,1,1,3,3],mv=[1,2,3,3,3,2,2,1],wv=[4,4,4,2,1,4,2,3]为例,对其进行全主动解码后得到的机器甘特图和员工甘特图分别如图4和图5所示,甘特图对应的析取图为图3所示,析取图中的关键路径为s
→o11
→o21
→o22
→o23
→o31
→o32

e,其对应于甘特图中箭头标注的路径;将图3中关键路径上的连续工序按照所分配的员工,分割为相应的关键工序块,一个块中应当至少包含两道工序;
[0170]
步骤4.2:同员工关键工序移动;
[0171]
将关键路径上的连续工序按照所分配的员工,分割为相应的关键工序块,遍历每一个关键工序块;判断当前关键工序块是否满足邻域搜索条件1;即判断当前关键工序块的下一个工序块块首工序在机器甘特图和员工甘特图上是否有可前移的空间;设当前关键工序块的块尾工序为e,则该条件可表示为公式(13);
[0172]
s(js[e])-max(c(mp[js[e]]),c(wp[js[e]]))>0(13)
[0173]
进一步判断当前关键工序块是否满足邻域搜索条件2,将关键路径中处于工序o紧后位置的工序表示为js[o],判断js[e]的工件前继工序是否包含在当前关键工序块中;
[0174]
当关键工序块满足上述两个邻域搜索条件时,可进行如下邻域搜索操作:
[0175]
首先,考虑处于关键工序块块中的工序;设所考虑的块中工序为o
ij
,块首工序为h,通过公式(14)判断工序块前是否存在对于工序o
ij
长度不为0的隐藏时窗,式中,mp[h]表示机器在加工工序h前加工的上一道工序,s(h)表示工序的开始加工时间;
[0176]
[c
i(j-1)
,s
i(j+1)
]∩[c(mp[h]),s(h)]∩[c(wp[h]),s(h)]>0(14)
[0177]
若工序块前存在满足公式(14)的隐藏时窗,则进一步根据公式(15)判断工序o
ij
左移后相对于左移前增加的工时是否小于隐藏时窗长度,若小于,则移动工序o
ij
至隐藏时窗处,否则不发生移动。式中,上标af和be表示工序左移前和左移后的状态。关键工序块块中工序的移动过程如图6所示;
[0178][0179]
其次,考虑处于关键工序块块尾的工序,将工序块紧前的空隙以及工序块中每两个相邻工序间长度为0的空隙都看作隐藏时窗,将块尾工序e移动到[c
i(j-1)
,s
i(j+1)
]范围内满足公式(16)的最早的隐藏时窗处,同时,若在工序e和工序js(e)的移动过程中,其操作机器有其他加工任务,则另外安排可用机器加工工序e和工序js(e),若没有其他可用机器,则令原机器优先加工工序e,关键工序块块尾工序移动过程如图7所示。
[0180]cbe
(e)>c
af
(e)(16)
[0181]
步骤4.3:跨员工关键工序移动;
[0182]
首先,根据雇佣成本进行第一层员工筛选;由目标值f3的计算公式可知,若目标关键工序o
ij
的原操作员工为正式员工,则为使雇佣成本f3不增加,应在可加工工序o
ij
的员工集合w
ij
中选择同为正式班制的员工进行目标工序的移动,若w
ij
中没有其他正式员工,则跳过对于工序o
ij
的跨员工移动;若工序o
ij
的原操作员工为外包员工,则在w
ij
中同样选择外包员工进行工序移动能保持雇佣成本f3不变,而选择正式员工进行工序移动由于减少了一次外包员工的加工次数,能使雇佣成本f3减小,因此对于原操作员工为外包员工的关键工序,选择任何班制的员工进行移动均可。
[0183]
其次,根据时窗条件进行第二层员工筛选。遍历第一层筛选出的候选员工集,设当前所遍历的员工为wr,若该员工时窗集合θr与工序o
ij
所有可操作机器时窗集合的交集中存在能够容纳工序o
ij
的时窗,即满足公式(17)时,员工wr通过筛选,在候选员工集中继续保留。反之,将该员工从候选集中去除。
[0184][0185]
最后,根据负载均衡度进行第三层员工筛选。对候选集中所有员工的累计加工时间进行计算,并根据计算结果对候选员工排序,优先选择累计加工时间少的正式员工进行
关键工序的移动。
[0186]
步骤5:生成最优调度解;
[0187]
步骤5.1:获取一组优化解;
[0188]
当种群迭代次数足够且三个目标值保持稳定时,停止迭代,取种群中pareto层级为1的所有个体作为一组优化解,
[0189]
步骤5.2:最优解选择与展示;
[0190]
对于三个优化目标分别占最大权重的情况,可分别选择不同的优化解作为最优解,并将其分别以机器甘特图和员工甘特图的形式进行展示,展示形式如图4和图5所示。

技术特征:
1.一种考虑工时不确定性的人机双资源约束多目标生产调度方法,该方法包括:步骤1:建立复杂电子产品车间人机双资源约束多目标生产调度模型;步骤1.1:对复杂电子产品的实际生产调度场景进行描述,并对于生产过程做出相应约束;在作业车间中有n个待加工工件j=(j1,j2,

,j
n
),m台机器m=(m1,m2,

,m
m
)和l名员工w=(w1,w2,

,w
l
);工件j
i
有预定义的r
i
道操作工序o
i
=(o
i1
,o
i2
,

,o
iri
),各工序只有在前置工序完成且相应生产资源均空闲的情况下才能进行加工,加工过程由机器集合m中一台匹配的空闲机器和员工集合w中一名匹配的空闲员工配合执行;每道工序的加工时间根据工序类型由工序标准工时决定或学习曲线模型、员工班制、员工加工该工序的历史次数共同决定,在员工集合w中有l1名正式员工和l2名外包员工,外包员工每次加工获得固定工资,每月按照累计加工次数支付总工资,正式员工工资与加工次数无关,每月发放固定数额;现以最大完工时间最小化为优化目标,对车间中的机器和员工资源进行合理分配,确定最优的生产调度方案;该问题模型分解为三个子任务:(1)安排各工序的加工顺序;(2)将机器与工序进行匹配;(3)将员工与工序进行匹配;对问题进行如下约束:(1)所有机器和员工在初始时间都处于可用状态;(2)工件之间相互独立,且不存在优先级区分;(3)同一时刻,每台机器只能处理一道工序;(4)同厂商出产的同类型机器加工能力一致;(5)同种班制员工的学习能力一致;(6)对于所有工件,在上一道工序加工完成前,无法加工下一道工序;(7)在工序加工时间中包含工件的安装、拆卸与传输时间;(8)一旦工序开始加工就无法中断;步骤1.2:对实际生产调度场景中涉及的参数与变量进行符号定义,并基于这些符号,引入工时预测模型,同时对各类约束条件和优化目标进行公式定义,建立人机双资源约束多目标生产调度问题的数学模型;(1)下标与集合i,i

:工件下标k,k

:机器下标r,r

:员工下标j,j

:工序下标o
ij
:工件i的第j道工序j:待加工工件集合m:机器集合w:员工集合o
i
:工件i的加工工序集合m
ij
:可加工工序o
ij
的机器集合w
ij
:可加工工序o
ij
的员工集合(2)参数定义
n:待加工工件数量m:机器数量l:员工总数量l1:正式员工数量l2:外包员工数量t
r
:员工r的加工总次数w1:正式员工的整体工资数额w2:外包员工进行单次加工的工资数额r
i
:工件j
i
的工序数量r
r
:员工r的班制,当员工r为正式员工时为1,为外包员工时为0t
r
:员工r的加工总时长t
ij
:当p
ij
=0时,工序o
ij
的固定操作时间t
ijr
:当p
ij
=1时,员工r首次加工工序o
ij
的时间r
ijr
:当p
ij
=1时,员工r准备好加工工序o
ij
的时间r
ijk
:当q
ij
=1时,机器k准备好加工工序o
ij
的时间e
ijr
:当p
ij
=1时,在开始加工工序o
ij
前,员工r加工相同工序的累计次数g
ij
:工序o
ij
的机械因子,属于[0,1],当o
ij
为全自动化工序时为1,当o
ij
为全手工工序时为0α
ijr
:当p
ij
=1时,员工r在加工工序o
ij
时的学习率l:一个无穷大的数(3)决策变量s
ij
:工序o
ij
的加工开始时间c
ij
:工序o
ij
的加工完成时间h
ij
:工序o
ij
的加工时间预测值c
i
:工件i的加工完成时间c
max
:所有工件中的最大加工完工时间p
ij
:二元变量,当工序o
ij
需要通过学习曲线进行工时预测时为1,反之为0x
ijr
:二元变量,当员工r具备加工工序o
ij
的能力时为1,反之为0y
ijr
:二元变量,当工序o
ij
由员工r进行加工时为1,反之为0x
ijkr
:二元变量,当工序o
ij
在机器k上由员工r加工时为1,反之为0a
iji

j

:二元变量,若工序o
i

j

在工序o
ij
开始前完成则为1,反之为0k
iji

j

:二元变量,当工序o
ij
与工序o
i

j

相同时为1,反之为0η
i

j

k-ijk
:二元变量,当工序o
i

j

为机器k处理工序o
ij
前的最后一道工序且已完成加工时为1,反之为0ξ
i

j

r-ijr
:二元变量,当工序o
i

j

为员工r在处理工序o
ij
前处理的最后一道工序且已操作完成时为1,反之为0基于上述问题描述与符号定义,能够建立人机双资源约束下的柔性作业车间生产调度数学模型:目标函数定义:
(1)最大完工时间最小化;最大完工时间标致着车间的生产效率,为了不耽误后续的订单生产,缩短当前订单的生产周期,应尽可能使最大完工时间达到最小;第一个目标函数表示为公式(1):其中,c
i
表示工件i的完工时间;(2)员工负载均衡度最大化;采用各员工总加工时间的标准差作为衡量员工负载均衡度的标准,标准差越小表示员工间的负载均衡度越高;由于正式员工和外包员工的工资发放机制不同,因此需对这两种班制的员工分别计算负载均衡度,如公式(3)、(4)所示,将两者分别最小化之后求和作为第二个目标函数f2,如公式(2)所示;f2=minσ1+minσ2(2)(2)其中,σ1、σ2分别表示正式员工和外包员工的负载均衡度,l1为正式员工数量,l2为外包员工数量,t
r
为员工r的加工总时长;(3)员工雇佣成本最小化;为维持公司的长远利益,需控制加工所需的员工雇佣成本;员工雇佣成本即雇佣正式员工和外包员工总费用,将其最小化作为第三个目标函数f3,如公式(5)所示;其中,w1为正式员工的整体工资数额,w2为外包员工进行单次加工的工资数额,t
r
为员工r的加工总次数;综上所述,人机双资源约束下的车间生产与资源配置多目标协同调度问题的总体目标函数可表示为公式(6):f=min(f1,f2,f3)(6)约束条件为:约束条件为:公式(7)定义了每道工序的加工时间预测值:当工序o
ij
需要员工参与加工时,加工时间预测值由学习曲线模型计算得出,当工序o
ij
为全自动工序,不需要员工参与时,加工时间为固定值;公式(8)通过统计员工r在加工工序o
ij
之前加工过的相同工序的次数来计算e
ijr
;s
i,(j+1)
≥s
i,j
+h
i,j
,i∈j,j=1,2,

,r
i-1(9)r
ijk
+(1-η
i

j

k-ijk
)
×
l≥s
i

j

+h
i

j

,i,i

∈j,(10)j=1,2,...,r
i
,j

=1,2,...,r
i

,k∈mr
ijr
+(1-ξ
i

j

r-ijr
)
×
l≥s
i

j

+h
i

j

,i,i

∈j,(11)j=1,2,

,r
i
,j

=1,2,

,r
i

,r∈(w
ij
∩w
i

j

)
每道工序必须在它的前一道工序完成后才能开始加工,这种约束关系表示为公式(9);公式(10)表示了在机器完成当前工序前,不能准备开始加工下一道工序;公式(11)表示了在员工完成当前工序的操作前,不能准备开始下一道工序的操作;步骤2:建立多目标模因算法求解框架;步骤2.1:选择一种适合于求解复杂电子产品生产车间多目标生产调度模型的全局搜索算法;步骤2.2:在全局搜索算法中结合一种两阶段邻域搜索结构,组成多目标模因算法;步骤3:根据所研究生产调度模型的双资源约束和多目标平衡的特性,对全局搜索算法进行改进与调整;步骤3.1:基于人机双资源约束条件中,机器-工序-员工三者的匹配关系设计三向量编码方案;步骤3.2:基于三向量编码方案和各工序的工时预测值,设计一种能够最大程度利用机器加工间的空闲时间段来进行调度安排的全主动解码方式;步骤3.3:考虑不同目标函数,分别进行不同的策略选择,将随机生成与策略选择相结合,进行种群初始化;步骤3.4:基于快速非支配排序和拥挤度比较算子对种群中的个体进行适应度排序;步骤3.5:基于锦标赛选择和精英保留策略,依据个体适应度排序筛选出下一代种群;步骤3.6:针对三向量编码个体,为每条染色体向量分别设计不同的交叉和变异方式;步骤4:抽取全局搜索过程中的部分个体,进行基于关键路径的两阶段邻域搜索;步骤4.1:将全局调度解转换为析取图,并通过计算析取图中的最长路径,从而得到调度解中的关键路径,并将关键路径分为多个关键工序块;步骤4.2:对于关键工序块中的块首和块尾元素,分别进行同员工关键工序移动;步骤4.3:根据多个目标函数,制定进行跨员工移动关键工序时的多层员工筛选策略,利用多层员工筛选策略对要跨的员工进行筛选,直接利用所选员工时长足够加工该工序的时窗来进行关键工序的跨员工移动;步骤5:获取最优调度解,并进行结构呈现;步骤5.1:当多个优化目标均在一定迭代次数内保持稳定时,停止迭代,获取一组优化解;步骤5.2:根据目标偏好选择一个合适的优化解,并为该解分别绘制以机器为纵轴和以员工为纵轴的甘特图,以清晰地展示调度方案。2.如权利要求1所述的一种考虑工时不确定性的人机双资源约束多目标生产调度方法,其特征在于,所述步骤2的方法为:step 1:初始化多目标模因算法中的基本参数,包括种群规模pop、迭代次数gen、交叉与变异概率等;step 2:生成初代种群p
t
,种群个体数量为n,且迭代次数i=1;step 3:对种群进行快速非支配排序并计算每个个体的拥挤距离;step 4:利用锦标赛选择法筛选出父代种群p
t
,p
t
种群数量为g*n;step 5:对种群p
t
进行交叉和变异操作,得到子代种群q
t
;step 6:对子代种群q
t
进行两阶段邻域搜索;
step 7:将父代种群p
t
和子代种群q
t
合并后采用精英保留策略进行重新筛选,得到新的父代种群p
t+1
,同时i=i+1;step 8:若i大于最大迭代次数,则输出p
t+1
,否则跳转至步骤3。3.如权利要求1所述的一种考虑工时不确定性的人机双资源约束多目标生产调度方法,其特征在于,所述步骤3.1的编码方法为:一种三向量编码机制,即每个个体由三条染色体组成,三条染色体分别对应工序加工序列向量pv、机器资源分配向量mv和员工资源分配向量wv,每条染色体的长度均为所有工件的工序数量之和由三条染色体组成的每一个个体都代表一种可行的解决方案;在工序加工序列向量中,用待加工的工件下标表示安排加工的工件,工件j
i
的第j次出现表示此时加工工件j
i
的第j道工序o
ij
,工件j
i
的出现次数应与该工件的总加工工序数量r
i
相同;机器资源分配向量与工序加工序列向量等长,用机器下标表示相应的机器,机器资源分配向量中的第g个机器下标表示为工序加工序列向量中第g道工序分配的机器,且该机器应当处于空闲可用的状态;与机器资源分配向量类似,员工资源分配向量也与工序加工序列向量等长,向量中用员工下标代表相应的员工,第g个员工下标表示为工序加工序列向量中第g道工序分配的员工,且该员工应同样处于空闲可用的状态。4.如权利要求1所述的一种考虑工时不确定性的人机双资源约束多目标生产调度方法,其特征在于,步骤3.2的解码方法为:step 1:对工序加工序列向量pv、机器资源分配向量mv和员工资源分配向量wv进行反转,将反转后的向量分别表示为pv'、mv'和wv';step 2:从左到右依次从pv'中提取工序o
ij
,并分别从mv'和wv'中获取与工序o
ij
匹配的机器m
k
和员工w
r
;step 3:判断工序o
ij
的工时预测方式,若需要通过学习曲线进行预测,则获取员工w
r
在加工工序o
ij
前累计加工同种工序的次数e
ijr
,根据公式7计算出加工时间预测值h
ij
,并更新e
ijr
为e
ijr
+1;若工序o
ij
的工时为固定值,则h
ij
=t
ij
;step 4:计算在加工工序o
ij
之前,机器m
k
所有相邻操作时间之间的时窗集合φ
k
以及员工w
r
所有加工时间之间的时窗集合θ
r
;另外,由于该过程是按照倒序进行的调度,因此需要获取工件后继工序o
i(j+1)
的完工时间c
i(j+1)
;step 5:获取φ
k
与θ
r
的交集,并从左到右遍历交集中的所有时窗,令当前所考虑的时窗为τ,其起始时间为τ
s
,结束时间为τ
e
;当时窗满足插入条件,即τ
e-max(τ
s
,c
i(j+1)
)≥h
ij
时,工序o
ij
的开始加工时间s
ij
安排为max(τ
s
,c
i(j+1)
),同时结束遍历;若在所有时窗中均没有找到可以插入的位置,则工序o
ij
不进行左移,s
ij
=max(m
kc
,w
rc
,c
i(j+1)
),其中m
kc
和w
rc
分别表示机器m
k
和员工w
r
当前操作工序的结束时间;step 6:当pv'中的所有工序都已完成调度时,水平反转甘特图,得到正向染色体向量的调度结果,解码结束;否则,跳转到step 1。5.如权利要求1所述的一种考虑工时不确定性的人机双资源约束多目标生产调度方法,其特征在于,步骤3.3的方法为:操作序列向量的初始化遵循如下两条策略:(1)随机选择加工工序;(2)优先选择未加工工序数量最多的工件;初始解中机器分配向量也由两条策略产生:(1)从工序对应的可操作机器集中随机选
择一台机器;(2)优先选择工序对应可操作机器集中历史加工次数最少的机器;员工分配向量的初始化遵循两条策略:(1)从工序对应的可加工员工集中随机选择空闲员工;(2)优先选择工序对应可加工员工集中对于此工序历史加工次数最多的空闲员工;在初始化种群的过程中,每个向量按照两种策略生成的个体比例均为1:1,这样既保证了初始种群的多样性,又兼顾了加工机器的负载均衡和算法的收敛速度。6.如权利要求1所述的一种考虑工时不确定性的人机双资源约束多目标生产调度方法,其特征在于,步骤3.4的方法为:为了保留种群中的优良个体,在nsgaii中通常利用快速非支配排序和拥挤度比较算子对种群中的个体进行适应度排序;快速非支配排序的目的是根据个体间的pareto支配关系对种群进行快速分层;所谓pareto支配关系指的是,对于个体x1和x2,若x1在任意目标分量上均不比个体x2差,且个体x1至少在一个目标分量上严格比x2更优,则称个体x1支配x2,记作x1<x2;据此,可对快速非支配排序方法进行描述:首先,为种群中的每个个体i设置参数rank、n
i
和s
i
,rank表示个体的非支配等级,n
i
表示种群中支配个体i的个体数,s
i
表示个体i所支配的个体集合,将每个个体都与种群中的其他所有个体进行支配关系比较,从而获取各自的n
i
和s
i
;然后,将种群中所有n
i
=0的个体放入集合f1中,记作第一级支配前沿,并对当前集合f1中的每个个体j,遍历其所支配的个体集合s
j
,将集合s
j
中每个个体k的支配个体数量n
k
减1,如果n
k-1=0,则将个体k放入集合f2,记作第二级支配前沿;接下来,对集合f2中的每个个体采取相同的步骤来获取下一个非支配前沿,重复这个操作,直到种群中的所有个体均完成分层排序;若m为目标函数个数,n为种群个体数量,则整个快速非支配排序过程的时间复杂度为o(mn2);快速非支配排序对种群个体的适应度进行了初步分层,然而对于同一层级中的个体,还需要基于个体在种群中周围的个体密度进行进一步排列;将个体密度用拥挤距离i
distance
表示,规定每个支配层中边界个体的拥挤距离为无穷大,其余个体i通过公式(12)对i
distance
进行计算。式中,a为目标函数的下标,n为目标函数的个数,f
a
(x
max
)和f
a
(x
min
)为第a个目标函数的最大值和最小值,和为根据目标函数值排序后x
i
的后一个个体x
i+1
和前一个个体x
i-1
在第a个目标函数上的值。将拥挤距离i
distance
抽象理解为以同一支配层上与个体x
i
相邻的两个个体为定点构成的矩形的周长;计算种群中所有个体拥挤距离的时间复杂度为o(mnlgn);通过快速非支配排序和拥挤度计算,种群中的每个个体i都获得了非支配等级i
rank
和拥挤距离i
distance
两个属性,定义拥挤度比较算子<
n
为:当i
rank
<j
rank
或i
rank
=j
rank
∧i
distance
>j
distance
时,定义i<
n
j;即当两个个体的非支配等级不同时,等级越低的个体适应度排序越靠前;当两个个体的非支配等级相同时,拥挤距离越大的个体适应度排序越靠前,因为拥挤距离越大,说明该个体与相邻个体目标函数值的差异越大,优先选择该个体有利于种群多样性的维护。7.如权利要求1所述的一种考虑工时不确定性的人机双资源约束多目标生产调度方
法,其特征在于,步骤3.5和3.6的方法为:步骤3.5:采用锦标赛规模为2的二元锦标赛选择模式,其具体的操作方式为:设置新种群中个体数量为n/2,从原种群中随机选取两个参赛个体i和j,根据拥挤度比较算子选择适应度更强的个体加入新种群;采取有放回的方式,直到选出大小为n/2的新种群;步骤3.6:针对三种向量分别采取不同的交叉算子;针对操作序列向量,采用pox交叉方式;首先,将种群集合随机分成两个子集;然后,从两个子集中分别抽取父代1和父代2,从两个父代中随机选取几个基因复制到子代1和子代2的相同位置;最后,从父代2和父代1中去除从另一个父代中选取的基因,将剩余基因依次填补到子代1和子代2的空余位置;针对机器分配向量和员工分配向量,采用均匀交叉方式;变异的过程可描述如下:step1:生成一个0和1之间的随机数,如果随机数小于交叉概率,则进行step2,否则结束变异过程;step2:随机选取操作序列向量亲代中两个不同位置的基因,并将这两个基因进行交换,同时相应地调整机器分配向量和员工分配向量对应位置上的基因,使得为各工序分配的机器和工人保持不变;step3:从机器分配向量中随机选择一个基因,若对应工序的可用机器集合大小不为1,则将该机器替换为机器集合中不同于当前所选机器的任意一台机器,否则不进行替换;同时,检查员工分配向量中对应位置的基因是否合法,若不合法,则将该员工基因替换为历史加工该类工序次数最多的空闲员工,以保证个体的合法性;step4:从员工分配向量中随机选择一个基因,并将其变为历史加工该类工序次数最多的空闲员工。8.如权利要求1所述的一种考虑工时不确定性的人机双资源约束多目标生产调度方法,其特征在于,步骤4.1和步骤4.2的方法为:步骤4.1:关键路径计算;对pv、mv、wv进行全主动解码后得到的机器甘特图和员工甘特图析取图中的关键路径,其对应于甘特图中箭头标注的路径;将关键路径上的连续工序按照所分配的员工,分割为相应的关键工序块,一个块中应当至少包含两道工序;步骤4.2:同员工关键工序移动;将关键路径上的连续工序按照所分配的员工,分割为相应的关键工序块,遍历每一个关键工序块;判断当前关键工序块是否满足邻域搜索条件1;即判断当前关键工序块的下一个工序块块首工序在机器甘特图和员工甘特图上是否有可前移的空间;设当前关键工序块的块尾工序为e,则该条件可表示为公式(13);s(js[e])-max(c(mp[js[e]]),c(wp[js[e]]))>0(13)进一步判断当前关键工序块是否满足邻域搜索条件2,将关键路径中处于工序o紧后位置的工序表示为js[o],判断js[e]的工件前继工序是否包含在当前关键工序块中;当关键工序块满足上述两个邻域搜索条件时,可进行如下邻域搜索操作:首先,考虑处于关键工序块块中的工序;设所考虑的块中工序为o
ij
,块首工序为h,通过公式(14)判断工序块前是否存在对于工序o
ij
长度不为0的隐藏时窗,式中,mp[h]表示机器
在加工工序h前加工的上一道工序,s(h)表示工序的开始加工时间;[c
i(j-1)
,s
i(j+1)
]∩[c(mp[h]),s(h)]∩[c(wp[h]),s(h)]>0(14)若工序块前存在满足公式(14)的隐藏时窗,则进一步根据公式(15)判断工序o
ij
左移后相对于左移前增加的工时是否小于隐藏时窗长度,若小于,则移动工序o
ij
至隐藏时窗处,否则不发生移动。式中,上标af和be表示工序左移前和左移后的状态。关键工序块块中工序的移动过程如图6所示;其次,考虑处于关键工序块块尾的工序,将工序块紧前的空隙以及工序块中每两个相邻工序间长度为0的空隙都看作隐藏时窗,将块尾工序e移动到[c
i(j-1)
,s
i(j+1)
]范围内满足公式(16)的最早的隐藏时窗处,同时,若在工序e和工序js(e)的移动过程中,其操作机器有其他加工任务,则另外安排可用机器加工工序e和工序js(e),若没有其他可用机器,则令原机器优先加工工序e;c
be
(e)>c
af
(e)(16)。9.如权利要求1所述的一种考虑工时不确定性的人机双资源约束多目标生产调度方法,其特征在于,步骤4.3:跨员工关键工序移动的方法为:首先,根据雇佣成本进行第一层员工筛选;由目标值f3的计算公式可知,若目标关键工序o
ij
的原操作员工为正式员工,则为使雇佣成本f3不增加,应在可加工工序o
ij
的员工集合w
ij
中选择同为正式班制的员工进行目标工序的移动,若w
ij
中没有其他正式员工,则跳过对于工序o
ij
的跨员工移动;若工序o
ij
的原操作员工为外包员工,则在w
ij
中同样选择外包员工进行工序移动能保持雇佣成本f3不变,而选择正式员工进行工序移动由于减少了一次外包员工的加工次数,能使雇佣成本f3减小,因此对于原操作员工为外包员工的关键工序,选择任何班制的员工进行移动均可;其次,根据时窗条件进行第二层员工筛选。遍历第一层筛选出的候选员工集,设当前所遍历的员工为w
r
,若该员工时窗集合θ
r
与工序o
ij
所有可操作机器时窗集合的交集中存在能够容纳工序o
ij
的时窗,即满足公式(17)时,员工w
r
通过筛选,在候选员工集中继续保留;反之,将该员工从候选集中去除;最后,根据负载均衡度进行第三层员工筛选;对候选集中所有员工的累计加工时间进行计算,并根据计算结果对候选员工排序,优先选择累计加工时间少的正式员工进行关键工序的移动。

技术总结
本发明公开了一种考虑工时不确定性的人机双资源约束多目标生产调度方法,该方法为复杂电子产品生产车间的生产调度提供了科学依据,同时为有效提高该问题模型下调度算法的寻优能力提供了方法支持。本发明结合全局搜索算法与两阶段邻域搜索策略,提出了针对于复杂电子产品生产调度的多目标模因算法,其中,两阶段邻域搜索策略根据改进的优化目标是否与员工有关,进行了同员工和跨员工的两阶段关键工序移动操作,实现了新解相对于原解在各目标上的精准优化。的精准优化。的精准优化。


技术研发人员:李波 王嘉颍 刘民岷 陈敏 潘晓勇 史建成
受保护的技术使用者:电子科技大学
技术研发日:2023.06.30
技术公布日:2023/10/5
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐