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

求解带运输时间和调整时间的柔性作业车间调度方法与流程

2021-11-22 13:14:00 来源:中国专利 TAG:


1.本发明属于柔性作业车间调度技术领域,具体涉及求解带运输时间和调整时间的柔性作业车间调度方法。


背景技术:

2.随着制造、信息和网络技术的不断提高,新型制造系统需向着柔性化、信息化、数字化、智能化多方面发展。柔性作业车间调度问题(flexible job shop scheduling problem,fjsp)是一类重要的车间调度问题,是作业车间调度问题(job shop scheduling problem,jsp)的扩展,具有机器柔性,更贴合现代的生产模式;
3.在jsp问题中工件的工序与机器一一对应,这并不符合实际生产现状,而在fjsp问题中,每道工序的加工机器不唯一,且加工时间随机器不同而产生差异,在此基础上,带运输时间和调整时间的fjsp问题会考虑到工件在不同加工机器间的运输情况,以及机器在加工不同工件时的机器调整问题;
4.因此该问题的解空间更大,约束更多,更难求解,但是如果忽略这些客观条件,容易使加工计划与实际生产相违背,因此,求解带运输时间和调整时间的fjsp问题得到的调度结果更加贴近实际情况,符合实际生产的需求,从而更科学地指导实际生产;
5.故,提供一种高效率求解带运输时间和调整时间的柔性作业车间调度方法便显得较为迫切。


技术实现要素:

6.针对上述情况,为克服现有技术之缺陷,本发明提求解带运输时间和调整时间的柔性作业车间调度方法,可以有效求解带运输时间和调整时间的柔性作业车间调度方案,并同时优化最大完工时间、机器总负载、机器关键负载和工件的交货期惩罚值四个目标,实现了对带运输时间和调整时间的柔性作业车间调度方案的快速寻优。
7.求解带运输时间和调整时间的柔性作业车间调度方法,其特征在于,包括以下步骤:
8.s1:参数设置,设置混合多目标群智能算法求解带运输时间和调整时间的fjsp的相关参数,混合多目标群智能算法的终止条件为:运算循环的次数达到迭代次数n
iter
时停止;
9.s2:首先结合柔性作业车间调度问题特点进行信息编译,分为机器选择信息和工序排序信息,通过随机初始化方法产生初始机器选择种群,种群中的个体均代表一种机器选择方案;
10.s3:利用改进的蚁群算法依次对机器选择种群中的个体进行深入挖掘,确定其工序排序信息,分别根据最大完工时间、机器总负载、机器关键负载和工件的交货期惩罚值四个目标函数,确定当前机器选择下的最优工序排序,得到各目标最优调度方案集;
11.s4:将s3中的四个调度方案集合作为第一代种群,种群规模为4*n
pop
,进行非支配
排序选择,得出f1~f
n
层上共n
pop
个非支配解,并更新全局非支配解集;
12.s5:对f1层个体的机器选择信息进行突变操作,生成仅包含机器选择信息的个体;
13.s6:对f2~f
n
层个体的机器选择信息进行靠拢操作,生成仅包含机器选择信息的个体;
14.s7:将突变和靠拢操作得到的个体合并,得到有n
pop
个个体的新一代机器选择种群;
15.s8:判断算法是否终止,依据参数中对算法停止条件的设定,判断算法是否终止,若算法终止,则输出全局非支配解集,反之,算法还没有终止,则回到s3继续执行。
16.上述技术方案有益效果在于:
17.(1)有效的解决了现有的算法忽略工件在不同生产机器间的运输时间以及不同工件在机器上所需的调整时间,在一些特定的生产领域,影响到产品质量的问题;
18.(2)可以高效率的求解带运输时间和调整时间的柔性作业车间调度方案,并同时优化最大完工时间、机器总负载、机器关键负载和工件的交货期惩罚值四个目标,实现了对带运输时间和调整时间的柔性作业车间调度方案的快速寻优。
附图说明
19.图1为本发明算法流程示意图;
20.图2为本发明机器选择个体表达信息示意图;
21.图3为本发明信息素浓度表示意图;
22.图4为本发明突变操作示意图;
23.图5为本发明海明距离示意图;
24.图6为本发明靠拢操作示意图;
25.图7为本发明运算得到的pareto最优前沿面图;
26.图8为本发明运算结果甘特图;
27.图9为本发明运算收敛曲线示意图。
具体实施方式
28.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图1

9,对本发明的具体实施方式作进一步详细说明。
29.步骤1:参数设置,设置混合多目标群智能算法求解带运输时间和调整时间的fjsp的相关参数,包括:群体规模n
pop
、迭代次数n
iter
、突变概率p
mutr
、蚁群最大迭代次数n
aco

iter
、蚂蚁数量n
ant
、初始信息素浓度c
init
、信息素因子权重w
pe
、启发函数权重w
he
、蒸发率p
rho

30.混合多目标群智能算法的终止条件为:运算循环的次数达到迭代次数n
iter
时停止。
31.关于参数取值的说明:
32.群体规模n
pop
,影响运算速度与全局最优性,建议取值范围在[50,200],例如50;
[0033]
迭代次数n
iter
,迭代次数和群体规模的取值依据类似,建议取值范围在[50,200],例如50;
[0034]
突变概率p
mutr
,可在(0,1)间任意取值,例如0.5;
[0035]
蚁群最大迭代次数n
aco

iter
,建议取值范围在[1,100],例如20;
[0036]
蚂蚁数量n
ant
,建议取值范围在[1,50],例如10;
[0037]
初始信息素浓度c
init
,建议取值范围在[0,10],例如1;
[0038]
信息素因子权重w
pe
,反映信息素对蚁群的,参数过大会使算法搜素随机性减弱导致过早收敛,过小容易使种群陷入局部最优,建议取值范围在[1,4],例如1;
[0039]
启发函数权重w
he
,,参数过大会使搜素随机性减弱,过小会使算法搜素随机性过大,建议取值范围在[0,5],例如1;
[0040]
蒸发率p
rho
,可在(0,1)间任意取值,例如0.2;
[0041]
下表中给出一个实例,该实例包括10个工件,6台机器,是一个带运输时间和调整时间的柔性作业车间调度问题;
[0042]
[0043][0044][0045]
该实例中变量取值为:群体规模n
pop
为50,迭代次数n
iter
为50,突变概率p
mutr
为0.5,蚁群最大迭代次数n
aco

iter
为20,蚂蚁数量n
ant
为10,初始信息素浓度c
init
为1,信息素因子权重w
pe
为1,启发函数权重w
he
为1,蒸发率p
rho
为0.2。
[0046]
步骤2:通过随机初始化方法产生初始机器选择种群,种群个体仅包含机器选择信息,信息表达方式如图2所示,每个个体为一串整数,长度为l,l为所有工序的个数,o
i
表示工件i的工序数,每个整数表示对应工序的可选加工机器的排列序号,比如1号位置的数1表示实际加工机器2。
[0047]
在初始化时,对机器选择部分利用随机初始化方法,产生n
pop
个信息个体作为初始机器选择方案,随机初始化方法如下:个体机器选择部分,每个位置的整数为对应工序的可选加工机器集中随机选择的机器序号。
[0048]
步骤3:利用改进的蚁群算法,依次对机器选择种群中的个体进行搜索,找出该机器选择方案下,最大完工时间、机器总负载、机器关键负载和工件的交货期惩罚值四个目标上最优的工序排序方案,得到四个不同目标上的最优调度方案,遍历完机器选择种群,便会得到4n
pop
个调度方案。
[0049]
首先对机器选择进行解译,从左到右依次读取个体的机器选择信息,确定工序o
jh
的加工机器j
m
(j,h)、加工时间t1(j,h,k)、运输时间t2(j,i,k)和调整时间t3(j,h,k);
[0050]
j
m
(j,h)表示第j个工件的第h道工序的机器号;t1(j,h,k)表示第j个工件的第h道工序在机器k上的加工时间;t2(j,l,k)表示第j个工件从机器l被运输到机器k所花费的运输时间;t3(j,h,k)表示第j个工件的第h道工序在机器k上加工所花费的调整时间;
[0051]
利用改进的蚁群算法搜索工序排序方案,并在搜索的同时计算目标值,由于存在四个目标,因此设置了四个蚁群分别搜索不同的目标,单个蚁群主要步骤如下:
[0052]
1)首先初始化信息素浓度表,浓度全为c
init

[0053]
2)根据轮盘赌法确定各蚂蚁的工序排序;
[0054]
信息素浓度表如图3所示,行数为工件数、列数为工序数,每一格上的数值表示在加工对应工序时,选择工件的信息素,例如第(j,k)格上的数值为选择工件j为第k道加工的工件工序。
[0055]
在确定蚂蚁第k道加工工序时,先确定待加工工件集allowed
k
(所有工序均已确定的工件不再出现在allowed
k
集合里),然后计算各工件的适应度值p
kij
,将求得的各工件适应度值规划为一整个转盘,各工件按照适应度值分布在转盘上,转盘每转一次,箭头所指之处即为选择一个工件;
[0056]
工件的适应度值p
kij
,计算公式如下:
[0057][0058]
其中,i为上一个确定的工件,j为allowed
k
集合中的工件,τ
ij
(k)为k时由工件i到工件j的信息素浓度,η
ij
(k)为k时由工件i到工件j距离d
kij
的倒数。d
kij
的计算公式如下:
[0059][0060]
其中,s
m
为机器的允许开始时间,s
j
为工件的允许开始时间,t2为工件的运输时间,t3为工件的调整时间,实际上d
kij
反映的是k时加工工件j将产生的机器空闲间隙的大小,若间隙为0则说明此时安排加工工件j能够提升局部生产效率。由于0不能做分母,因此d
kij
最小取0.1。
[0061]
由于每个工件均有多道工序需要加工,因此令每个工件可被蚂蚁选择多次,达到最大选择次数(即该工件的工序数)时,将该工件从allowed
k
集合里剔除,这样便可保证当allowed
k
集合为空时,所有工序的加工顺序均被确定,从而得到完整的调度方案。
[0062]
3)在确定工序加工顺序的同时,还需计算加工该工序的开始时间和结束时间等信息,有了这些信息,调度方案才可指导实际生产,对于每个机器和每个工件,设置其初始的允许开始时间s
mk
和s
ji
为0(可根据实际情况更改)。每确定一道工序时,计算该工序的开始时间ts和结束时间te,并更新对应机器的允许开始时间s
m
和工件的允许开始时间s
j
等于te,ts和te的计算公式如下所示:
[0063]
ts=max(s
ji
t2,s
mk
t3)
[0064]
te=ts t1[0065]
4)蚂蚁选择完所有工件时,计算蚂蚁对应方案的目标值,各工件工序的时间信息
在选择过程同时已计算完毕,无需重复进行编码解码操作,最大完工时间f1、总负载f2、关键负载f3和工件的交货期惩罚值f4四个目标值计算公式如下:
[0066]
f1=max(s
ji
)
[0067]
f2=∑t1 t2 t3[0068][0069][0070]
其中f1为最后一道工序的加工结束时间,f2为整个生产过程所有机器上花费的加工时间、运输时间和调整时间总和,f3为花费时间最多的机器上花费的加工时间、运输时间和调整时间总和,f4为工件i完工时间cj
i
(cj
i
=max(s
ji
)根据实际情况设置,这里为1)不在规定交货期内[ds
i
,de
i
]造成的损失,若提前完工则需一定的存储费用,α
s
为提前每个单位时间花费的存储费(根据实际情况设置,这里取值为1),若拖期完工则需支付违约费用,α
e
为拖期每个单位时间花费的违约费(根据实际情况设置,这里取值为5)。
[0071]
5)记录蚁群中最优个体对应的调度方案;
[0072]
6)更新信息素c
t
;首先信息素挥发,信息素浓度表上所有值乘上(1

p
rho
),然后所有蚂蚁对应的工序排序在信息素浓度表上相应位置的值加1,最优蚂蚁对应的工序排序在信息素浓度表上相应位置的值加10。
[0073]
7)判断蚁群算法是否终止,依据参数中对算法终止条件的设定,判断算法是否终止,若算法终止,则输出当前最优解;反之,算法还没有终止,则回到2)继续执行;
[0074]
步骤4:依次收集四个最优蚂蚁与对应的机器选择个体组成的4个调度方案,机器选择种群将变为一个规模为4*n
pop
的调度方案集(解集),对该解集进行非支配排序选择;
[0075]
首先采用熵权法对目标值进行权重赋值,并计算该方案的综合得分,熵权法具体步骤为:
[0076]
1)对目标值进行标准化处理:
[0077][0078]
其中,x
ij
为第i个对象的第j个指标数据原始值,y
ij
为第i个对象的第j个指标值,i=1,2,

,n,n=4*n
pop
,j为目标值个数即为4;
[0079]
2)计算第j个指标下,第i个对象占该指标的比重y
ij

[0080][0081]
3)计算第j个指标的熵值e
j
和信息效用值d
j

[0082][0083]
d
j
=1

e
j
[0084]
4)可以求得j项指标值的权重w
j
为:
[0085][0086]
5)计算综合得分f:
[0087]
f=∑w
j
y
ij
[0088]
得到各解的综合得分后,再对各解进行非支配排序,将解集划分为不同的支配层如f1、f2、f3等,依次选择不同支配层的解,至到f
n
层时,选择解的个数大于等于n
pop
,如果选择的解的个数恰好等于n
pop
,则将f1中的解的机器选择信息提取出来组成种群f1,f2~f
n
中的解的机器选择信息提取出来组成种群f
2n
,否则,前n

1层的解(|f1| |f2| ... |f
n
‑1|<n
pop
,|f1| |f2|

|f
n
|>n
pop
)都被选中,并选择第n层中综合得分排名靠前的解,直到选择的解的个数达到n
pop
,再将选择的解的机器选择信息分别提取种群f1和种群f
2n
中。
[0089]
步骤5:对选出的种群f1中的个体进行突变操作,突变率p
mutr
=0.5,如图4突变操作示意图所示,随机选择个体的突变位置2和位置6,将其变换为该位置上可选机器数中的任一数字,将位置2中的3变换为1,位置6中2变换为3,生成新的信息个体。
[0090]
步骤6:对选出的种群f
2n
的个体执行向种群f1的靠拢操作,首先计算每个f
2n
中的个体与f1中个体的海明距离,海明距离为两个个体中对应位置不一样的个数,如图5所示,个体1和个体2的第1、2、4位的信息不一样,所以个体1和个体2的海明距离等于3;然后f
2n
层中的每个个体随机向1个最近的f1中个体靠拢,针对机器部分采用多点交叉变异的方式进行靠拢,具体步骤为:
[0091]
1)首先随机生成交叉的多个位置,生成l个互不相等的整数组成的序列post1,序列post1中的数字表示编码信息的位置;
[0092]
2)随机生成一个整数r,1≤r≤l;
[0093]
3)按照序列post1的前r个整数的位置,将f1层中个体信息替换到所要靠拢的对应f
2n
中的个体上,f1中个体其余位置上的信息保持不变;
[0094]
以图6所示,加工机器部分总长度l=6,随机生成的序列post1=[6,1,5,4,3,2],随机生成的整数r=3,因此将s2第6个、第1个和第5个位置的信息替换到s1中的对应位置,其余位置信息保持不变,从而产生为新的个体信息。
[0095]
步骤7:将进行突变和靠拢操作后的两个信息列表进行合并,得到有n
pop
个信息个体的新一代信息列表,并计算目标函数值,记录信息列表中个体的最优解,将列表中的最优个体与当前最优解进行比较,若目标函数值比当前最优解的小则替换当前最优解为列表最优个体,反之当前最优解不变。
[0096]
步骤8:判断算法是否终止,依据参数中对算法停止条件的设定,判断算法是否终止,若算法终止,则输出当前最优解;反之,算法还没有终止,则回到步骤3继续执行。
[0097]
对上述表格中的问题进行求解,以最大完工时间最小、机器总负载最小、机器关键负载最小和工件的交货期惩罚值最小四个目标值,作为成本函数,群体规模n
pop
为50,迭代次数n
iter
为50,突变概率p
mutr
为0.5,蚁群最大迭代次数n
aco

iter
为20,蚂蚁数量n
ant
为10,初始信息素浓度c
init
为1,信息素因子权重w
pe
为1,启发函数权重w
he
为1,蒸发率p
rho
为0.2,pareto前沿图如图7所示,其中一个非支配解的调度方案最大完工时间为70,甘特图如图8
所示,运算收敛曲线如图9所示。
[0098]
本发明将传统的文化基因算法经过改进将其应用领域扩展到了求解带运输时间柔性作业车间调度方案问题中,种群中每个个体采用两段式整数编码来表示一种可行调度方案,该编码方式简单易实现;
[0099]
可以高效率的求解带运输时间和调整时间的柔性作业车间调度方案,并同时优化最大完工时间、机器总负载、机器关键负载和工件的交货期惩罚值四个目标,实现了对带运输时间和调整时间的柔性作业车间调度方案的快速寻优。
[0100]
上面所述只是为了说明本发明,应该理解为本发明并不局限于以上实施例,符合本发明思想的各种变通形式均在本发明的保护范围之内。
再多了解一些

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

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

相关文献