一种集成工人和AGV的多要素柔性作业车间调度方法
- 国知局
- 2024-07-31 23:54:38
本发明涉及生产制造调度,特别涉及一种集成工人和agv的多要素柔性作业车间调度方法。
背景技术:
1、经典柔性作业车间调度问题(flexible job-shop scheduling problem,fjsp)涉及工件排序和加工机器分配,是指通过合理的调度工件的加工顺序和工件各工序的加工机器来实现某些生产目标,如提高生产效率、降低生产成本以及实现资源的合理分配等等。该问题是一种典型的组合优化问题,具有高度的复杂性和不确定性。
2、对于该问题,世界各地学者对其进行了广泛的研究。如pezzella等人通过使用遗传算法中的编解码实现柔性作业车间调度模型的构建,然后利用选择、交叉和变异来实现目标优化。张国辉等人设计了一种全局、局部和随机初始化相结合方法,提高初始种群的质量,加快算法收敛速度。brandimarte等人首次提出将启发式智能优化算法混合禁忌搜索算法用于求解单目标的柔性作业车间调度问题。
3、近年来,也有部分学者开始研究工件、机器和agv联合调度的柔性作业车间调度问题。该类调度问题在经典柔性作业车间调度问题上添加了运输资源的约束,考虑了工件在各加工机器之间的运输距离,工件的运输任务由agv来负责完成。通过合理的调度工件、机器和agv来实现目标的优化。郦仕云等人公开了一种集成多agv柔性作业车间调度多目标优化方法,构建了集成多agv运输机器的柔性作业车间调度决策模型,使用改进nsga-ii算法进行求解,实现多目标优化。刘娇娇等人发明一种带agv的柔性作业车间稳定的反应性动态调度方法,通过多目标离散人工蜂群算法,求解确定性初始调度模型和反应性重调度模型来获得初始调度方案和重调度方案。钱晓明等人公开一种agv与加工装备的协同优化调度方法,通过多种群混合遗传算法实现对agv和加工装备的联合调度。付建林等人发明了一种基于改进合同网协议和混合仿真的车间机床与agv调度方法,采用混合仿真方法构建智能体决策子模型,然后结合改进合同网协议实现柔性生产车间机床和agv的集成调度。
4、虽然目前针对柔性作业车间调度问题所提出的算法越来越多,算法的复杂程度也越来越高,但是大多数研究只针对于工件和机器的联合调度,少部分人考虑工件、加工机器和agv的联合调度、模型的复杂程度不高。因此提高模型的复杂程度可能将成为未来的研究方向、具有较好的研究前景。
技术实现思路
1、本发明提供了一种集成工人和agv的多要素柔性作业车间调度方法,以解决背景技术所提的技术问题。
2、为达到上述目的,本发明的技术方案是这样实现的:
3、本发明提供了一种集成工人和agv的多要素柔性作业车间调度方法,具体包括如下步骤:
4、s1、面向同时具有工件、加工机器、agv及工人的柔性作业车间生产场景,构建多要素柔性作业车间调度模型;
5、s2、基于遗传算法框架求解多要素柔性作业车间调度模型,对四类决策变量以四层结构的形式进行编码;
6、s3、通过全局、局部以及随机初始化相结合的方式,生成遗传算法的初始种群;
7、s4、设计一种基于启发式规则的解码方式,获取每个个体所代表调度方案的最大完工时间,并将其倒数作为个体的适应度值;
8、s5、依据个体的适应度值,并通过轮盘赌选择合适的个体,设计优先工序交叉方式,构建针对变量的特定变异方式,生成下一代种群;
9、s6、判断生成的下一代种群中的个体的最大完工时间是否小于第一阈值或者迭代次数是否大于第二阈值,如果满足,则在生成的下一代种群中求得适应度最高个体,如果不满足,则循环s5,直至生成的下一代种群中的个体的最大完工时间小于第一阈值或者迭代次数大于第二阈值;通过对适应度最高的个体进行启发式解码,形成代表多要素柔性作业车间调度方案的甘特图,并应用于车间生产。
10、进一步地,所述s1具体包括如下步骤:
11、s11、面向同时具有工件、加工机器、agv及工人的柔性作业车间生产场景,定义模型参数;
12、s12、设定模型约束条件和决策变量;
13、s13、设置模型目标函数,得到多要素柔性作业车间调度模型。
14、进一步地,所述s12中的模型约束条件具体如下:
15、(a)、同一工件在同一工序只能在一台机器上加工;
16、
17、其中,m表示机器的总数,k表示第几台机器;xijk的取值为0或者1,如果取值为1,则表示工序oij在第k个设备上加工,如果取值为0,则表示工序oij在其他机器上加工;
18、(b)、一个工件的一道工序oij的运输任务只由一辆agv来完成;
19、
20、其中,v表示第几辆agv,v表示agv的总辆数;yijv的取值为0或者1,如果取值为1,则表示工序oij运输任务由第v辆agv完成,取值为0,则表示工序oij运输任务由其他agv完成;
21、(c)、一个工件的一道工序oij的预加工任务只由一个工人完成;
22、
23、其中,p表示第几个工人,h表示工人的总数;zijp取值为0或者1,如果取值为1,则表示工序oij的预加工任务由第p个工人完成,取值为0,则表示工序oij的预加工任务由其他工人完成;
24、(d)、机器加工过程不允许中断;
25、
26、其中,分别表示第i个工件的第j道工序在第k个机器的开始加工时间和结束加工时间;ptijk表示工件i第j道工序在第k个机器上的加工时间;
27、(e)、agv运输工件的过程不允许中断;
28、
29、其中,分别表示agv运输工件i至第k个机器去完成第j道工序的负载开始时间和结束时间,ltijkv表示agv运输第i个工件至第k台机器进行第j道工序的负载运输时间;
30、(f)、工人对工件的预加工过程不能中断;
31、
32、其中,分别表示工件工序oij由第p个工人预加工的开始时间和结束时间;htijp表示第p个工人对工件i第j道工序进行预加工的时间;
33、(g)、工件工序oij开始运输时间受agv空载到达时间和机器加工结束时间共同影响;
34、
35、其中,表示agv空载运输至第k个机器的结束时间,表示第i个工件的第j-1道工序在第k个机器结束加工时间;
36、(h)、工件工序oij开始预加工时间受agv负载到达时间和工人上一道预加工任务结束时间共同影响;
37、
38、其中,表示第p个工人加工上一道工序oi′j′的结束时间;
39、(i)、不同工件工序之间相互独立,同一工件工序之间有先后约束;
40、
41、其中,表示第i个工件的第j道工序的开始加工时间;表示第i个工件的第j-1道工序的开始加工时间;
42、(j)、agv的电量消耗和agv运输时间成线性关系;
43、eijv=(utijkv+ltijkv)ervyijv
44、其中,eijv表示第v辆agv运输工件i去进行j道工序所消耗的电量,erv表示第v辆agv的耗电速率。
45、进一步地,所述s13中的模型目标函数具体如下:
46、以最小化最大完工时间为模型目标函数,具体公式为f=min{max(d1,d2......dn)},其中d是各工件被agv运输至最终卸载点的时间,模型的最大完工时间即为最后一道运输任务的结束时间。
47、进一步地,所述s2中四类决策变量具体为工件顺序、机器分配、agv调度和工人安排;
48、通过四类决策变量编码来确定各工件的加工顺序、每个工序所分配的加工机器、每道运输任务所调度的小车以及每个预加工任务所安排的工人;一个四层编码就表示多要素柔性作业车间调度模型的一个解。
49、进一步地,所述s3中的随机初始化的具体方式为:
50、先根据工件顺序编码规则来随机生成相应的工序编码;然后进行机器分配编码,对加工机器进行编码时,会根据工序编码中相应位置的元素来确定工件顺序,在工件工序的可加工机器集中随机挑选一个机器来编码;之后再对agv调度进行编码,agv调度编码将在在v辆agv小车随机挑选进行编码,生成长度为工序总数的agv调度编码;最后对工人安排进行编码,工人安排编码也是从p个工人中随机挑选形成工人进行编码,生成长度为工序总数的工人安排编码。
51、所述s3中的局部初始化具体方式为:
52、对于工件顺序编码依然是通过随机初始化的方式生成工序编码;对于机器分配编码首先会设置一个长度为加工机器总数的数组,数组中所有元素初始值为0,元素的值代表机器加工累计时间;将第一个工件第一道工序的可加工机器集所对应的加工时间和数组相加但不更新数组,选取时间最小的机器加工该工件工序,然后将数组中选取机器的加工时间进行更新,对该工件以后的工序以相同的方式挑选加工机器,直至该工件的所有工序完成;在为一个工件的所有工序分配完机器之后,会将数组所有元素值更新为0,然后对其他工件的工序也以同样方式挑选加工机器;对于agv调度编码和工人安排编码则与随机初始化一致;
53、所述s3中的全局初始化具体方式为:
54、全局初始化方法和局部初始化方法只在机器编码上存在不同,其余的工序编码、agv编码以及工人编码都与局部初始化一致;在全局初始化方法中,同样会生成一个代表机器加工累计时间的数组,机器分配规则也和局部初始化相同,不同点在于数组中的机器累计加工时间在一个工件的所有工序完成之后不会更新为0,会一直累计到最后。
55、进一步地,所述s4具体包括如下步骤:
56、s41、获取四层编码结构中的第一列元素,确定第一道任务的加工工件、加工机器、调度的agv以及安排的工人;
57、s42、确定工件位置、加工机器位置以及agv小车位置,同时获取agv电量状态;
58、s43、判断工件和机器是否在同一位置,如果是,则进入s44中,如果否,则进入s45中;
59、s44、如果在同一位置则该任务不需要调度agv小车;比较工人上一个任务的结束时间和工件上道工序的结束时间,选取结束晚的时间作为工件预加工的开始时间;之后对工件进行预加工,预加工时间受工人工作熟练度和工人疲劳度共同影响,预加工完成之后使用机器进行工件加工,最后记录工人、工件以及加工机器的信息;并进入s46中;
60、s45、如果工件和机器不在同一位置,则先判断agv电量是否能完成这次运输任务,能完成则直接调度agv执行运输任务,如不能则先调度agv前往充电区充电,充电完成之后再来执行运输任务;agv完成运输任务之后,记录并更新agv的相关信息;之后和上述一样安排工人对工件进行预加工,调度加工机器进行工件工序加工,最后记录并更新相关信息;并进入s46中;
61、s46、依次获取四层编码结构之后的其他列元素,确定接下来的任务安排,然后循环执行s42至s45,直至所有的任务完成,即所有工件的工序都加工完成,并通过agv小车运输至卸载点;
62、s47、至此,整个多要素柔性作业车间调度模型的启发式解码流程全部完成,通过记录的数据可以获得最后一道任务的最大完工时间,将其倒数作为适应度值。
63、进一步地,所述s5具体包括如下步骤:
64、s51、依据个体的适应度值,采用轮盘赌对种群中的每个个体进行选择;
65、s52、保留种群中适应度最高的前五个个体,让它们不参与交叉变异遗传到下一代种群中,然后依次选择个体,s52首次运行时,设置交叉概率pc和变异概率pm,交叉概率pc和变异概率pm的取值在(0,1)之间;
66、s53、从[0,1]中随机产生一个数c,如果c<pc,则将该个体和种群中随机选取的一个个体进行优先工序交叉,交叉后的子代将以变异概率pm进行变异;如果c≥pc,则该个体不进行优先工序交叉,直接以变异概率pm进行变异;
67、s54、通过s51中的轮盘赌选择、s52至s53中的优先工序交叉、以及针对变量的特定变异,生成下一代种群。
68、进一步地,所述s51具体包括如下步骤:
69、s511、通过解码获得种群中每个个体的适应度值f(i=1、2、...、n),n为种群大小,i代表相应的个体;
70、s512、计算种群中个体被选择到下一代种群的概率其中f(xi)为个体的适应度值;
71、s513、计算种群中每个个体的累积概率令q0=0;
72、s514、在(0,1]区间产生一位随机数r,当qi-1<r≤qi时,则选中个体i在初始化种群中选取n个个体进行下一步骤的交叉变异,其中qi-1表示上一个个体的累积概率。
73、进一步地,所述s6具体包括如下步骤:
74、s61、针对初始化种群进行轮盘赌选择、优先工序交叉和特定变异产生的下一代种群,通过启发式解码计算下一代种群中每个个体的适应度值,对每个个体的适应度值进行求倒,得到每个个体的最大完工时间,然后从每个个体的最大完工时间选择最大完工时间最小的,得到下一代种群中的最大完工时间最小的个体;
75、s62、判断s61中最后所选个体的最大完工时间是否小于第一阈值或迭代次数是否大于第二阈值;如果满足,则在生成的下一代种群中求得适应度最高的个体,如果不满足,则循环s5,对种群进行优化更新,直至生成的下一代种群中的个体的最大完工时间小于第一阈值或者迭代次数大于第二阈值;输出种群中适应度值最高的个体;
76、s63、通过对种群中适应度值最高的个体进行启发式解码,获取整个车间各时间段的生产调度安排,最终得到生产车间整个加工流程的调度甘特图,得到最终调度方案。
77、本发明的有益效果:
78、本发明主要研究工件、机器、agv和工人联合调度的多要素柔性作业车间优化调度问题,在经典的只考虑工件和机器联合调度的柔性作业车间调度问题上添加agv约束和工人约束。针对agv,主要考虑agv运输工件的时间和agv的电量状态。在工件加工过程中会调度agv运输工件至各加工机器进行工序加工,各加工机器位置之间有不同的运输距离,因此agv有不同的运输时间。在agv运输过程中会考虑电量状态,当agv电量低于特定值则会前往充电区充电。针对于工人,主要考虑工人工作熟练度和疲劳度对工作效率的共同影响。工人熟练度越高,对工件的加工时间越短。此外工人的疲劳度会随工作时间的增加而升高,疲劳值越高,工作效率越低,对工件的加工时间越长。当工人的工作时长累积到一定程度,就会进行一段时间的休息。情景设计更加贴近于真实,更加符合实际生产;
79、同时本发明利用建模和优化算法生成合理的调度方案,然后通过生成的调度方案来合理调度车间的工件、机器、agv和工人等进行工件加工和车间运作,提高了车间的生产效率。
本文地址:https://www.jishuxx.com/zhuanli/20240730/199118.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。