一种基于可变时间窗的数字孪生柔性车间实时调度方法

文档序号:30699356发布日期:2022-07-09 19:02阅读:225来源:国知局
一种基于可变时间窗的数字孪生柔性车间实时调度方法

1.本发明属于制造业中的车间生产技术领域,具体地涉及一种基于可变时间窗的数字孪生柔性车间实时调度方法。


背景技术:

2.随着物联网、云计算、大数据、移动互联网、人工智能等新一代信息通信技术的快速发展,作为国民经济主体的制造业面临着新的机遇与挑战。面对多元化的市场竞争和多样化的客户需求,制造企业必须采取更加先进科学的方式来经营企业,以便提高自身的市场竞争力,其中,车间生产是制造过程中的关键环节。由于实际车间生产过程中存在着许多不可预见的异常扰动,如紧急插单、机器故障、人员缺勤和工件质量缺陷等,使得车间实际生产情况与生产计划不符。如果这些异常扰动不能被及时处理,不但会对生产效率产生影响,而且最终会导致企业竞争力的下降。因此,如何在动态的生产环境中高效地应对各种异常扰动,如何在有限的生产资源条件下最大限度地提升生产效率,已经成为当前制造业关注的重点和难点。
3.在实际车间生产中,传统的动态调度方法非常容易受异常扰动的影响而需要频繁求解,造成动态调度系统效率低下、车间在一段时间内陷入停滞等问题。因此,在当前扰动事件频发、不确定因素愈发增多的生产环境下,研究数字孪生柔性车间的实时调度方法,对实际生产具有重要意义。
4.近年来,在车间实时调度方面的研究主要有:
5.中国专利《面向离散车间的实时调度控制方法》(cn110687875b)提出了一种面向离散车间的实时调度控制方法。该方法包括主控单元、第一控制单元、第二控制单元、第三控制单元、备料区、第一加工区、第二加工区、第三加工区、验收区、主输送系统、第一输送系统、第二输送系统、第三输送系统,通过以上系统实现离散型车间的实时控制。
6.中国专利《一种基于孪生智能工件的物联车间实时调度方法》(cn113222224a)公开了一种基于孪生智能工件的物联车间实时调度方法,通过将任务信息输入到孪生智能工件中,实现任务的评定、分析、决策,从而形成实时调度方案。
7.上述发明都通过实时数据提高车间调度的效率起到了一定的推动作用,但在实时调度过程中应对异常扰动的影响还存在以下缺陷:1)如何在物联网环境下进一步实现物理车间和虚拟车间的实时交互和提高实时数据的处理能力,进而提高柔性车间的调度效率,保证生产的顺利进行;2)如何开发一种基于实时制造数据的柔性车间实时调度策略,以提高实时调度系统的灵活性,减少异常干扰对生产过程的不利影响;3)如何设计一种基于改进匈牙利算法的柔性车间实时调度方法,以提高计算效率,降低计算复杂度,保证实时决策的快速性和可靠性。


技术实现要素:

8.本发明提供了一种基于可变时间窗的数字孪生柔性车间实时调度方法,目的之一
在于提供一种能够实现物理车间和虚拟车间的实时交互和提高实时数据的处理能力,进而提高柔性车间的调度效率,保证生产的顺利进行的方法;目的之二在于提供一种能够提高实时调度系统的灵活性,减少异常干扰对生产过程不利影响的方法;目的之三在于提供一种能够提高计算效率,降低计算复杂度,保证实时决策的快速性和可靠性的方法。
9.为了实现上述目的,本发明采用的技术方案是:
10.一种基于可变时间窗的数字孪生柔性车间实时调度方法,包括如下步骤,
11.步骤一:构建数字孪生柔性车间
12.构建基于边缘计算的包括物理车间和虚拟车间的数字孪生柔性车间,通过数字孪生柔性车间的实时交互,实现数字孪生柔性车间的实时调度;
13.步骤二:生成相应时间窗内的预调度
14.以δt为时间跨度,将生产过程分为多个时间窗,并在tn的初始时刻生成相应时间窗内的预调度;
15.其中,tn表示第n个时间窗;
16.步骤三:工序的实时调度
17.根据物理车间的实时制造数据和tn内预调度结果,在tn内的每个时刻t进行工序的实时调度,并输出实时调度结果;
18.步骤四:对时间窗内异常事件进行判断
19.根据步骤三输出的实时调度结果,判断t时刻及t时刻之前是否有异常事件发生,若有异常事件发生,进入步骤五,否则进入步骤六;
20.步骤五:判断当前预调度是否可用
21.若当前预调度可用,进入步骤六,否则进入步骤七;
22.步骤六:对tn内的t时刻进行判断
23.判断tn内的时刻t是否是最后一个时刻t,如果是最后一个时刻t则进入步骤七,否则进入步骤三;
24.步骤七:判断是否到达最后一个时间窗
25.如果到达最后一个时间窗,则调度结束,否则返回步骤二。
26.所述的步骤一中数字孪生柔性车间包括物理车间、虚拟车间和数据管理模块,物理车间和虚拟车间之间通过数据管理模块实现实时交互;物理车间用于根据虚拟车间的优化结果执行调度方案,同时,物理车间的实时数据通过数据管理模块发送到虚拟车间;虚拟车间是物理车间的重构和数字映射,用于根据物理车间的实时数据生成实时调度方案,并反馈给物理车间执行;数据管理模块用于连接物理车间和虚拟车间,它接收物理车间的实时数据和虚拟车间的优化结果。
27.所述的物理车间模块包括生产系统单元、智能制造资源单元和智能传感器单元;所述的生产系统单元与数据管理模块及智能制造资源单元电信号连接;所述的智能传感器单元与智能制造资源单元及数据管理模块电信号连接;所述的生产系统单元至少包括企业资源计划模块和制造执行系统,用于收集订单数据、制造资源数据以及生产过程中工序的加工数据;所述的智能制造资源单元包括机器、射频识别模块和边缘设备;机器分别与射频识别模块和边缘设备电信号连接;智能制造资源单元用于通过射频识别模块采集机器的实时制造数据,并在边缘设备中进行预处理;所述的智能传感器单元至少包括压力传感器和
速度传感器,用于获取压力数据和速度数据。
28.所述的数据管理模块包括数据存储单元、数据处理单元和数据可视化单元;数据存储单元由结构化数据元素和非结构化数据元素构成;数据处理单元由数据压缩元素、数据分析元素和数据挖掘元素构成;数据可视化单元通过可视化技术对数据进行可视化解释;数据存储单元通过数据处理单元与数据可视化单元电信号连接。
29.所述的虚拟车间模块包括实时调度策略单元和实时调度运行单元;实时调度策略单元用于根据获取的数据管理单元中的实时工件数据、实时机器数据和实时加工数据的状态信息进行异常扰动的判断之后得出实施决策,并将实施决策发送给实时调度运行单元,实时调度运行单元依次通过调度优化目标模型、改进匈牙利算法模型、调度求解和调度仿真将优化后的结果通过数据管理模型发送给物理车间模块。
30.所述步骤一中的数字孪生柔性车间实现数字孪生柔性车间的实时调度,具体包括如下步骤,
31.步骤1.1:对物理车间中的各种制造资源配置数据采集设备,同时在每台机器旁放置边缘设备,对采集到的实时制造数据进行预处理,去除冗余、误导性和不一致的信息,然后将预处理后的数据发送到数据管理模块;
32.步骤1.2:对采集的实时制造数据,通过数据管理模块进行数据压缩、数据分析、数据挖掘和数据映射,对采集的数据进行简化和分析,为后续实时决策提供信息支持;
33.步骤1.3:在虚拟车间中构建实时调度策略部分和实时调度方法部分;虚拟车间根据物理车间的实时数据生成实时调度,并将其反馈给物理车间执行;从而,通过物理车间和虚拟车间的实时交互,虚拟车间能够及时、快速地响应物理车间的异常干扰。
34.所述的步骤二生成相应时间窗内的预调度的具体方法如下:
35.以δt为时间跨度,将生产过程分为多个时间窗,并且在tn的初始时刻生成该时间窗内的预调度,即在每个tn的初始时刻,根据t
n-1
的实时调度结果,将每个工件的第一道未分配工序放入预调度工序池;接下来考虑最小化总流经时间、最小化总机器负荷和最小化总能耗三个优化目标,利用改进匈牙利算法将其中一道工序加入到机器的预加工队列中;重复以上过程,将所有能够在tn内开始加工的工序都加入到机器的预加工队列中,生产一个tn内预调度;此时,表示第n个时间窗的开始时间;具体包括以下步骤:
36.步骤2.1:根据t
n-1
的实时调度结果,将每个工件的第一道未分配工序加入预调度工序池,然后对预调度工序池中的工序进行排序;
37.步骤2.2:根据第一步中对工序排序的结果,记预调度工序池中的工序数为p,此外,记车间中的机器数为q;
38.步骤2.3:根据三个优化目标,建立一个p
×
q阶的工序分配成本矩阵l,并运用改进匈牙利算法计算最优解,根据最优解将工序分配到相应的机器上;
39.步骤2.4:将最短加工时间规则、剩余最多工序规则、最早完成加工规则、最小负荷规则和随机分配规则进行组合,将分配到机器上的工序分为确定性工序和不确定性工序,最终将不确定性工序放回预调度工序池;
40.步骤2.5:重复以上步骤2.1至步骤2.4,直到所有能够在tn内开始加工的工序都加入到机器的预加工队列中。
41.所述的步骤2.3的具体过程如下,
42.步骤2.3.1:建立三个优化目标,具体步骤如下:
43.三个优化目标为:
44.1)最小化总流经时间:
[0045][0046]
2)最小化总机器负荷:
[0047][0048]
3)最小化总能耗:
[0049][0050]
约束为:
[0051][0052][0053]
式中,n表示工件总数;m表示机器总数;ni表示任务i的工序总数,c
sum
表示所有分配工序的总流经时间;表示工序o
ij
在机器mk上的准备时间;表示工序o
ij
在机器mk上的切削时间;表示机器mk的空闲时间;wl
all
表示机器的总负荷;表示机器mk的准备功率;表示工序o
ij
在机器mk上的切削功率;表示机器mk的空闲功率;x
ijk
表示若o
ij
在机器mk上加工,则值为1;反之则值为0;c
ijk
表示工序o
ij
在机器mk上的完成时间;
[0054]
步骤2.3.2:建立p
×
q阶的工序分配成本矩阵l,具体步骤如下;
[0055]
(1)令成本矩阵l为:
[0056][0057]
式中,l
sh
表示第s个工序分配到第h个机器上的成本;
[0058]
(2)建立l
sh
的各个分量:
[0059]
为了实现f1,令
[0060]
为了实现f2,令
[0061]
为了实现f3,令
[0062]
式中,表示第s道工序在第h台机器上的准备时间;表示第s道工序在第h台机器上的切削时间;表示第h台机器完成上一道工序和开始加工下一道工序之间的空闲时间;表示第s道工序分配到第h台机器之前,第h台机器上工序的总流经时间;表示第s
道工序分配到第h台机器之前,第h台机器的总负荷;表示第h台机器的准备功率;表示第s道工序在第h台机器上的切削功率;表示第h台机器的空闲功率;表示第s道工序分配到第h台机器之前,第h台机器的总能耗;f1表示优化目标1,表示与l
sh
相关的第一个分量;f2表示优化目标2,表示与l
sh
相关的第二个分量;f3表示优化目标1,表示与l
sh
相关的第三个分量;
[0063]
若第h台机器没有加工第s道工序,则将和设为一个足够大的数
[0064]
(3)将所建立l
sh
的各个分量进行归一化处理:
[0065]

[0066][0067]
其中,x表示和x'表示和
[0068]
(4)建立l
sh
[0069][0070]
ω1+ω2+ω3=1,0≤ω1,ω2,ω3≤1;
[0071]
其中,为归一化处理后的值;为归一化处理后的值;为归一化处理后的值。
[0072]
所述的步骤2.4是基于工序分配成本矩阵l,运用改进匈牙利算法计算最优解,根据最优解将工序分配到相应的机器上,具体步骤为:
[0073]
步骤2.4.1:通过以下方法修改成本矩阵l,使成本矩阵l的行数和列数相等;
[0074]
(1)若所建立的成本矩阵l,工序数p小于机器数q时,将虚拟工序添加到成本矩阵l中,使成本矩阵l为q阶方阵;所添加的虚拟工序数为q-p;虚拟工序在每台机器上的准备时间、切削时间和切削功率为足够大的数ε;
[0075]
(2)若所建立的成本矩阵l,工序数p大于机器数q时,将虚拟机器添加到成本矩阵l中,使成本矩阵l为p阶方阵;所添加的虚拟工序数为p-q;工序在每台虚拟机器上的准备时间、切削时间和切削功率为足够大的数ε;
[0076]
(3)若所建立的成本矩阵l,工序数p等于机器数q时,则不用进行操作;
[0077]
通过此步骤,得到一个k阶方阵l1,k=max(p,q);
[0078]
步骤2.4.2:通过以下步骤,对k阶方阵l1进行求解;
[0079]
第一步:方阵l1的每一行减去该行的最小值,得到一个新的方阵l2;
[0080]
第二步:方阵l2的每一列减去该列的最小值,得到一个新的方阵l3;
[0081]
第三步:用最少的直线覆盖方阵l3中的所有零元素;如果所有的零元素都被一条直线覆盖,转到步骤2.4.2.5;否则,请执行步骤2.4.2.4;
[0082]
第四步:找出没有被直线覆盖的最小元素;所有没有被直线覆盖的元素减去这个最小值,所有被两条直线覆盖的元素加上这个最小值,从而得到方阵l4;令l1=l4,返回步骤2.4.2.1;
[0083]
第五步:根据零元素在方阵l3中的位置,可以得到最优分配结果。
[0084]
所述的步骤三工序的实时调度的方法如下:
[0085]
在属于tn的t时刻,根据物理车间的实时数据和tn内的预调度结果,将可用机器加入到实时调度机器池;然后根据物理车间实时制造信息和机器的预加工队列,将可加工工序加入到实时调度工序池;接下来利用改进匈牙利算法,考虑要优化的三个目标,将实时调度工序池中的工序分配到最优的机器上;具体步骤如下:
[0086]
步骤3.1:根据物理车间的实时数据和tn内的预调度结果,将可用机器加入到实时调度机器池,然后将这些机器进行排序;
[0087]
步骤3.2:根据物理车间实时制造信息和机器的预加工队列,将可加工工序加入到实时调度工序池,并对这些工序进行排序;
[0088]
步骤3.3:基于步骤3.1和步骤3.2,记实时调度工序池中的工序数为p,实时调度机器池中的机器数为q,考虑三个优化目标,建立一个p
×
q阶的工序分配的成本矩阵l;
[0089]
步骤3.4:根据步骤二中的步骤2.4的方法,将可加工工序分配到匹配的机器上;
[0090]
步骤3.5:根据t时刻以及t时刻之前的时刻有无异常事件发生,确定是继续进行下一时刻t的实时调度,还是结束tn内的实时调度过程,并返回步骤2;具体步骤如下:
[0091]
步骤3.5.1:若在t时刻以及t时刻之前的时刻没有异常事件发生,则进入下一个t,t=t+1时刻,并返回步骤3.1;此时若则说明tn内的实时调度完成,令n=n+1,进入下一个时间窗,并返回步骤2;
[0092]
步骤3.5.2:若在t时刻以及t时刻之前的时刻有异常事件发生,则在t时刻的实时调度完成之后,利用预调度评估机制判断后续实时调度中当前的预调度是否继续可用;具体判断规则如下所示:
[0093]
(1)若当前预调度可以继续使用,则进入下一个t时刻,此时t=t+1,并返回步骤3.1;此时若则说明tn内的实时调度完成,令n=n+1,进入下一个时间窗,并返回步骤2;
[0094]
(2)若当前预调度不可继续使用,则返回步骤2,此时令n=n+1,
[0095]
有益效果:
[0096]
(1)本发明将基于边缘计算的数字孪生技术应用于柔性车间,有效提高了制造资源实时数据的存储容量、计算效率和传输速度,从而满足实时调度系统的实时性要求,为车间的实时决策提供依据。
[0097]
(2)本发明提出了一种基于可变时间窗的实时调度策略,该策略能够根据对应时间窗的预调度结果和物理车间的实时状态信息,在每个时刻t对工序进行实时分配。因此,提高了生产过程中对异常扰动的响应能力,快速消除了异常扰动带来的不良影响。
[0098]
(3)本发明提出了一种基于改进匈牙利算的实时数据驱动的工序分配方法,该方法在每个t时刻只将可加工操作分配给最优机器,降低了实时调度计算的复杂度,提高了计算效率,保证了实时调度系统的平稳可靠运行。
[0099]
上述说明仅是本发明技术方案的概述,为了能够更清楚的了解本发明的技术手段,并可依照说明书的内容予以实施,以下以本发明的较佳实施例进行详细说明。
附图说明
[0100]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0101]
图1是本发明方法的总体流程图;
[0102]
图2是本发明的数字孪生柔性车间构建图;
[0103]
图3是本发明的tn内生成预调度的过程;
[0104]
图4是本发明的tn内时刻t的实时调度过程。
[0105]
图2中:erp为企业资源计划;mes为制造执行系统;rfid为射频识别技术。
[0106]
上述说明仅是本发明技术方案的概述,为了能够更清楚的了解本发明的技术手段,并可依照说明书的内容予以实施,以下通过本发明的较佳实施例进行详细说明。
具体实施方式
[0107]
下面将结合实施例,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0108]
实施例一:
[0109]
参照图1所示的一种基于可变时间窗的数字孪生柔性车间实时调度方法,包括如下步骤,
[0110]
步骤一:构建数字孪生柔性的物理车间和虚拟车间
[0111]
构建基于边缘计算的包括物理车间和虚拟车间的数字孪生柔性车间,通过数字孪生柔性车间的实时交互,实现数字孪生柔性车间的实时调度;
[0112]
步骤二:生成相应时间窗内的预调度
[0113]
以δt为时间跨度,将生产过程分为多个时间窗,并在tn的初始时刻生成相应时间窗内的预调度;
[0114]
其中,tn表示第n个时间窗;
[0115]
步骤三:工序的实时调度
[0116]
根据物理车间的实时制造数据和tn内预调度结果,在tn内的每个时刻t进行工序的实时调度,并输出实时调度结果;
[0117]
步骤四:对时间窗内异常事件进行判断
[0118]
根据步骤三输出的实时调度结果,判断t时刻及t时刻之前是否有异常事件发生,若有异常事件发生,进入步骤五,否则进入步骤六;
[0119]
步骤五:判断当前预调度是否可用
[0120]
若当前预调度可用,进入步骤六,否则进入步骤七;
[0121]
步骤六:对tn内的t时刻进行判断
[0122]
判断tn内的时刻t是否是最后一个时刻t,如果是最后一个时刻t则进入步骤七,否则进入步骤三;
[0123]
步骤七:判断是否到达最后一个时间窗
[0124]
如果到达最后一个时间窗,则调度结束,否则返回步骤二。
[0125]
本发明通过将物联网、边缘计算、数字孪生技术应用到柔性车间制造过程,实现物理车间和虚拟车间的实时交互;进而,通过一种基于可变时间窗的实时调度策略,对柔性车间进行实时调度;并且,通过改进匈牙利算法,实现工序的实时分配。因此,与传统实时调度方法相比,具有以下优势:
[0126]

将基于边缘计算的数字孪生技术应用于柔性车间。因此,可有效提高制造资源实时数据的存储容量、计算效率和传输速度,从而满足实时调度系统的实时性要求,为车间的实时决策提供依据。
[0127]

提出一种基于可变时间窗的实时调度策略,该策略能够根据对应时间窗的预调度结果和物理车间的实时状态信息,在每个时刻t对工序进行实时分配。因此,可以提高生产过程中对异常扰动的响应能力,快速消除异常扰动带来的不良影响。
[0128]

提出一种基于改进匈牙利算的实时数据驱动的工序分配方法,该方法在每个t时刻只将可加工操作分配给最优机器。因此,可以降低实时调度计算的复杂度,提高计算效率,保证了实时调度系统的平稳可靠运行。
[0129]
实施例二:
[0130]
参照图1-图4所示的一种基于可变时间窗的数字孪生柔性车间实时调度方法,在实施例一的基础上,所述的步骤一中数字孪生柔性车间包括物理车间、虚拟车间和数据管理模块,物理车间和虚拟车间之间通过数据管理模块实现实时交互;物理车间用于根据虚拟车间的优化结果执行调度方案,同时,物理车间的实时数据通过数据管理模块发送到虚拟车间;虚拟车间是物理车间的重构和数字映射,用于根据物理车间的实时数据生成实时调度方案,并反馈给物理车间执行;数据管理模块用于连接物理车间和虚拟车间,它接收物理车间的实时数据和虚拟车间的优化结果。
[0131]
其中,物理车间是由真实世界的物体实体组成,其功能是根据虚拟车间的优化结果执行调度方案。同时,物理车间的实时数据通过数据管理模块发送到虚拟车间,为虚拟车间的实时决策奠定数据基础。拟车间是物理车间的重构和数字映射,其功能是根据物理车间的实时数据生成实时调度方案,并反馈给物理车间执行。在该模式下,通过与物理车间的实时交互,虚拟车间能够快速地应对物理车间的异常扰动,增强实时调度的快速性和稳定性。数据管理模块的功能是连接物理车间和虚拟车间,它接收物理车间的实时数据和虚拟车间的优化结果。通过数据管理模块,实现物理车间和虚拟车间的无缝集成、实时交互与融合。
[0132]
更进一步的,所所述的物理车间模块包括生产系统单元、智能制造资源单元和智能传感器单元;所述的生产系统单元与数据管理模块及智能制造资源单元电信号连接;所述的智能传感器单元与智能制造资源单元及数据管理模块电信号连接;所述的生产系统单元至少包括企业资源计划模块和制造执行系统,用于收集订单数据、制造资源数据以及生产过程中工序的加工数据;所述的智能制造资源单元包括机器、射频识别模块和边缘设备,机器分别与射频识别模块和边缘设备电信号连接,智能制造资源单元用于通过射频识别模块采集机器的实时制造数据,并在边缘设备中进行预处理;所述的智能传感器单元至少包括压力传感器和速度传感器,用于获取压力数据和速度数据。
[0133]
更进一步的,所述的数据管理模块包括数据存储单元、数据处理单元和数据可视化单元;数据存储单元由结构化数据元素和非结构化数据元素构成;数据处理单元由数据压缩元素、数据分析元素和数据挖掘元素构成;数据可视化单元通过可视化技术对数据进行可视化解释;数据存储单元通过数据处理单元与数据可视化单元电信号连接。
[0134]
更进一步的,所述的虚拟车间模块包括实时调度策略单元和实时调度运行单元;实时调度策略单元用于根据获取的数据管理单元中的实时工件数据、实时机器数据和实时加工数据的状态信息进行异常扰动的判断之后得出实施决策,并将实施决策发送给实时调度运行单元,实时调度运行单元依次通过调度优化目标模型、改进匈牙利算法模型、调度求解和调度仿真将优化后的结果通过数据管理模型发送给物理车间模块。
[0135]
进一步的,所述步骤一中的数字孪生柔性车间实现数字孪生柔性车间的实时调度,具体包括如下步骤,
[0136]
步骤1.1:对物理车间中的各种制造资源配置数据采集设备,同时在每台机器旁放置边缘设备,对采集到的实时制造数据进行预处理,去除冗余、误导性和不一致的信息,然后将预处理后的数据发送到数据管理模块;
[0137]
步骤1.2:对采集的实时制造数据,通过数据管理模块进行数据压缩、数据分析、数据挖掘和数据映射,对采集的数据进行简化和分析,为后续实时决策提供信息支持;
[0138]
步骤1.3:在虚拟车间中构建实时调度策略部分和实时调度方法部分;虚拟车间根据物理车间的实时数据生成实时调度,并将其反馈给物理车间执行;从而,通过物理车间和虚拟车间的实时交互,虚拟车间能够及时、快速地响应物理车间的异常干扰。
[0139]
进一步的,所述的步骤二生成相应时间窗内的预调度的具体方法如下:
[0140]
以δt为时间跨度,将生产过程分为多个时间窗,并且在tn的初始时刻生成该时间窗内的预调度,即在每个tn的初始时刻,根据t
n-1
的实时调度结果,将每个工件的第一道未分配工序放入预调度工序池;接下来考虑最小化总流经时间、最小化总机器负荷和最小化总能耗三个优化目标,利用改进匈牙利算法将其中一道工序加入到机器的预加工队列中;重复以上过程,将所有能够在tn内开始加工的工序都加入到机器的预加工队列中,生产一个tn内预调度;此时,表示第n个时间窗的开始时间;具体包括以下步骤:
[0141]
步骤2.1:根据t
n-1
的实时调度结果,将每个工件的第一道未分配工序加入预调度工序池,然后对预调度工序池中的工序进行排序;
[0142]
步骤2.2:根据第一步中对工序排序的结果,记预调度工序池中的工序数为p,此外,记车间中的机器数为q;
[0143]
步骤2.3:根据三个优化目标,建立一个p
×
q阶的工序分配成本矩阵l,并运用改进匈牙利算法计算最优解,根据最优解将工序分配到相应的机器上;
[0144]
步骤2.4:将最短加工时间规则、剩余最多工序规则、最早完成加工规则、最小负荷规则和随机分配规则进行组合,将分配到机器上的工序分为确定性工序和不确定性工序,最终将不确定性工序放回预调度工序池;
[0145]
步骤2.5:重复以上步骤2.1至步骤2.4,直到所有能够在tn内开始加工的工序都加入到机器的预加工队列中。
[0146]
更进一步的,所述的步骤2.3的具体过程如下,
[0147]
步骤2.3.1:建立三个优化目标,具体步骤如下:
[0148]
三个优化目标为:
[0149]
1)最小化总流经时间:
[0150][0151]
2)最小化总机器负荷:
[0152][0153]
3)最小化总能耗:
[0154][0155]
约束为:
[0156][0157][0158]
式中,n表示工件总数;m表示机器总数;ni表示任务i的工序总数,c
sum
表示所有分配工序的总流经时间;表示工序o
ij
在机器mk上的准备时间;表示工序o
ij
在机器mk上的切削时间;表示机器mk的空闲时间;wl
all
表示机器的总负荷;表示机器mk的准备功率;表示工序o
ij
在机器mk上的切削功率;表示机器mk的空闲功率;x
ijk
表示若o
ij
在机器mk上加工,则值为1;反之则值为0;c
ijk
表示工序o
ij
在机器mk上的完成时间;
[0159]
步骤2.3.2:建立p
×
q阶的工序分配成本矩阵l,具体步骤如下;
[0160]
(1)令成本矩阵l为:
[0161][0162]
式中,l
sh
表示第s个工序分配到第h个机器上的成本;
[0163]
(2)建立l
sh
的各个分量:
[0164]
为了实现f1,令
[0165]
为了实现f2,令
[0166]
为了实现f3,令
[0167]
式中,表示第s道工序在第h台机器上的准备时间;表示第s道工序在第h台机器上的切削时间;表示第h台机器完成上一道工序和开始加工下一道工序之间的空闲时间;表示第s道工序分配到第h台机器之前,第h台机器上工序的总流经时间;表示第s道工序分配到第h台机器之前,第h台机器的总负荷;表示第h台机器的准备功率;表示
第s道工序在第h台机器上的切削功率;表示第h台机器的空闲功率;表示第s道工序分配到第h台机器之前,第h台机器的总能耗;f1表示优化目标1,表示与l
sh
相关的第一个分量;f2表示优化目标2,表示与l
sh
相关的第二个分量;f3表示优化目标1,表示与l
sh
相关的第三个分量;
[0168]
若第h台机器没有加工第s道工序,则将和设为一个足够大的数
[0169]
(3)将所建立l
sh
的各个分量进行归一化处理:
[0170]

[0171][0172]
其中,x表示和x'表示和
[0173]
(4)建立l
sh
[0174][0175]
ω1+ω2+ω3=1,0≤ω1,ω2,ω3≤1;
[0176]
其中,为归一化处理后的值;为归一化处理后的值;为归一化处理后的值。
[0177]
更进一步的,述的步骤2.4是基于工序分配成本矩阵l,运用改进匈牙利算法计算最优解,根据最优解将工序分配到相应的机器上,具体步骤为:
[0178]
步骤2.4.1:通过以下方法修改成本矩阵l,使成本矩阵l的行数和列数相等;
[0179]
(1)若所建立的成本矩阵l,工序数p小于机器数q时,将虚拟工序添加到成本矩阵l中,使成本矩阵l为q阶方阵;所添加的虚拟工序数为q-p;虚拟工序在每台机器上的准备时间、切削时间和切削功率为足够大的数ε;
[0180]
(2)若所建立的成本矩阵l,工序数p大于机器数q时,将虚拟机器添加到成本矩阵l中,使成本矩阵l为p阶方阵;所添加的虚拟工序数为p-q;工序在每台虚拟机器上的准备时间、切削时间和切削功率为足够大的数ε;
[0181]
(3)若所建立的成本矩阵l,工序数p等于机器数q时,则不用进行操作;
[0182]
通过此步骤,得到一个k阶方阵l1,k=max(p,q);
[0183]
步骤2.4.2:通过以下步骤,对k阶方阵l1进行求解;
[0184]
步骤2.4.2.1:方阵l1的每一行减去该行的最小值,得到一个新的方阵l2;
[0185]
步骤2.4.2.2:方阵l2的每一列减去该列的最小值,得到一个新的方阵l3;
[0186]
步骤2.4.2.3:用最少的直线覆盖方阵l3中的所有零元素;如果所有的零元素都被一条直线覆盖,转到步骤2.4.2.5;否则,请执行步骤2.4.2.4;
[0187]
步骤2.4.2.4:找出没有被直线覆盖的最小元素;所有没有被直线覆盖的元素减去这个最小值,所有被两条直线覆盖的元素加上这个最小值,从而得到方阵l4;令l1=l4,返回步骤2.4.2.1;
[0188]
步骤2.4.2.5:根据零元素在方阵l3中的位置,可以得到最优分配结果。
[0189]
进一步的,所述的步骤三工序的实时调度的方法如下:
[0190]
在t(t∈tn)时刻,根据物理车间的实时数据和tn内的预调度结果,将可用机器加入到实时调度机器池;然后根据物理车间实时制造信息和机器的预加工队列,将可加工工序加入到实时调度工序池;接下来利用改进匈牙利算法,考虑要优化的三个目标,将实时调度工序池中的工序分配到最优的机器上;在t(t∈tn)时刻,具体步骤如下:
[0191]
步骤3.1:根据物理车间的实时数据和tn内的预调度结果,将可用机器加入到实时调度机器池,然后将这些机器进行排序;
[0192]
步骤3.2:根据物理车间实时制造信息和机器的预加工队列,将可加工工序加入到实时调度工序池,并对这些工序进行排序;
[0193]
步骤3.3:基于步骤3.1和步骤3.2,记实时调度工序池中的工序数为p,实时调度机器池中的机器数为q,考虑三个优化目标,建立一个p
×
q阶的工序分配的成本矩阵l;
[0194]
步骤3.4:根据步骤二中的步骤2.4的方法,将可加工工序分配到匹配的机器上;
[0195]
步骤3.5:根据t时刻以及t时刻之前的时刻有无异常事件发生,确定是继续进行下一时刻t的实时调度,还是结束tn内的实时调度过程,并返回步骤2;具体步骤如下:
[0196]
步骤3.5.1:若在t时刻以及t时刻之前的时刻没有异常事件发生,则进入下一个t,t=t+1时刻,并返回步骤3.1;此时若则说明tn内的实时调度完成,令n=n+1,进入下一个时间窗,并返回步骤2;
[0197]
步骤3.5.2:若在t时刻以及t时刻之前的时刻有异常事件发生,则在t时刻的实时调度完成之后,利用预调度评估机制判断后续实时调度中当前的预调度是否继续可用;具体判断规则如下所示:
[0198]
(1)若当前预调度可以继续使用,则进入下一个t时刻,此时t=t+1,并返回步骤3.1;此时若则说明tn内的实时调度完成,令n=n+1,进入下一个时间窗,并返回步骤2;
[0199]
(2)若当前预调度不可继续使用,则返回步骤2,此时令n=n+1,实施例三:
[0200]
参见图1,一种基于可变时间窗的数字孪生柔性车间实时调度方法,目的是在数字孪生柔性车间中,通过基于可变时间窗的实时调度策略,并运用改进匈牙利算法进行工序的实时分配。具体实施步骤如下:
[0201]
步骤1:参照图2,将边缘计算和数字孪生技术应用于柔性车间实时调度中,构建基于边缘计算的数字孪生柔性车间,通过数据管理模块的连接,使得物理车间和虚拟车间进行实时交互,进而实现数字孪生柔性车间的实时调度,具体包括以下步骤:
[0202]
步骤1.1:对物理车间中的各种制造资源配置数据采集设备,例如将射频识别设备布置于机器、agv、托盘以及货架上;将智能传感器,包括压力传感器、速度传感器、温度传感器等布置于制造资源内,对制造资源的实时数据进行采集。同时,在每台机器旁放置边缘设备,对生产系统数据和所采集数据进行预处理,去除冗余、误导性和不一致的信息。最后,将预处理后的数据发送到数据管理模块。
[0203]
步骤1.2:对物理车间中的实时制造数据,分别将其中的结构化数据和非结构化数据进行存储;然后对数据进行数据压缩、数据分析、数据挖掘和数据映射等处理,从大量的数据中发现和挖掘有用的信息,为后续实时决策提供信息支持;最后,通过可视化技术,对
数据进行可视化解释,从而可以展示实时数据,并实现可视化交互。
[0204]
步骤1.3:在虚拟车间中构建实时调度策略部分和实时调度方法部分。
[0205]
(1)实时调度策略部分给出了实时调度的具体思想。即根据物理车间实时状态信息(如实时工件数据、实时机器数据、实时加工时间等),在每一时刻t将可加工工序分配给最优的机器。然后,重复以上过程,直到所有工序分配完成。
[0206]
(2)实时调度方法部分给出了基于改进匈牙利算法的实时调度基本流程。首先,建立了调度优化目标模型;然后,基于实时调度策略的思想,建立了改进匈牙利算法的数学模型;进而,在上述模型的基础上,通过求解改进匈牙利算法得到实时调度结果并进行仿真;最后,将实时调度结果下达至物理车间执行。
[0207]
步骤2:参照图3,以δt为时间跨度,将生产过程分为多个时间窗,并且在tn的初始时刻生成该时间窗内的预调度。此处,表示第n个时间窗的开始时间。也就是说在每个tn的初始时刻,根据t
n-1
的实时调度结果,将每个工件的第一道未分配工序放入预调度工序池。接下来考虑优化的三个目标,利用改进匈牙利算法将其中一道工序加入到机器的预加工队列中。重复以上过程,将所有能够在tn内开始加工的工序都加入到机器的预加工队列中,生产一个tn内预调度。具体包括以下步骤:
[0208]
步骤2.1:根据t
n-1
的实时调度结果,将每个工件的第一道未分配工序加入预调度工序池,然后对预调度工序池中的工序进行排序;
[0209]
步骤2.2:根据步骤2.1中对预调度工序池中工序排序的结果,记预调度工序池中的工序数为p,此外,对车间中的机器进行排序,记车间中的机器数为q;
[0210]
步骤2.3:基于步骤2.1和步骤2.2,根据三个优化目标,建立一个p
×
q阶的工序分配成本矩阵l,具体步骤为:
[0211]
步骤2.3.1:建立三个优化目标,具体步骤如下:
[0212]
三个优化目标为:
[0213]
1)最小化总流经时间:
[0214][0215]
2)最小化总机器负荷:
[0216][0217]
3)最小化总能耗:
[0218][0219]
约束为:
[0220][0221][0222]
式中,n表示工件总数;m表示机器总数;ni表示任务i的工序总数,c
sum
表示所有分配工序的总流经时间;表示工序o
ij
在机器mk上的准备时间;表示工序o
ij
在机器mk上的
切削时间;表示机器mk的空闲时间;wl
all
表示机器的总负荷;表示机器mk的准备功率;表示工序o
ij
在机器mk上的切削功率;表示机器mk的空闲功率;x
ijk
表示若o
ij
在机器mk上加工,则值为1;反之则值为0;c
ijk
表示工序o
ij
在机器mk上的完成时间;
[0223]
步骤2.3.2:建立p
×
q阶的工序分配成本矩阵l,具体步骤如下;
[0224]
(1)令成本矩阵l为:
[0225][0226]
式中,l
sh
表示第s个工序分配到第h个机器上的成本;
[0227]
(2)建立l
sh
的各个分量:
[0228]
为了实现f1,令
[0229]
为了实现f2,令
[0230]
为了实现f3,令
[0231]
式中,表示第s道工序在第h台机器上的准备时间;表示第s道工序在第h台机器上的切削时间;表示第h台机器完成上一道工序和开始加工下一道工序之间的空闲时间;表示第s道工序分配到第h台机器之前,第h台机器上工序的总流经时间;表示第s道工序分配到第h台机器之前,第h台机器的总负荷;表示第h台机器的准备功率;表示第s道工序在第h台机器上的切削功率;表示第h台机器的空闲功率;表示第s道工序分配到第h台机器之前,第h台机器的总能耗。
[0232]
若第h台机器没有加工第s道工序,则将和设为一个足够大的数
[0233]
(3)将所建立l
sh
的各个分量进行归一化处理:
[0234]

[0235][0236]
其中,x表示和x'表示和
[0237]
(4)建立l
sh
[0238][0239]
ω1+ω2+ω3=1,0≤ω1,ω2,ω3≤1。
[0240]
步骤2.4:基于工序分配成本矩阵l,运用改进匈牙利算法计算最优解,根据最优解将工序分配到相应的机器上,具体步骤为:
[0241]
步骤2.4.1:通过以下方法修改成本矩阵l,使成本矩阵l的行数和列数相等;
[0242]
(1)若所建立的成本矩阵l,工序数小于机器数(p《q)时,将虚拟工序添加到成本矩阵l中,使成本矩阵l为q阶方阵;所添加的虚拟工序数为q-p;虚拟工序在每台机器上的准备时间、切削时间和切削功率为足够大的数ε;
[0243]
(2)若所建立的成本矩阵l,工序数大于机器数(q《p)时,将虚拟机器添加到成本矩阵l中,使成本矩阵l为p阶方阵;所添加的虚拟工序数为p-q;工序在每台虚拟机器上的准备时间、切削时间和切削功率为足够大的数ε;
[0244]
(3)若所建立的成本矩阵l,工序数等于机器数(q=p)时,则不用进行操作;
[0245]
通过此步骤,得到一个k阶方阵l1,k=max(p,q);
[0246]
步骤2.4.2:通过以下步骤,对k阶方阵l1进行求解;
[0247]
步骤2.4.2.1:方阵l1的每一行减去该行的最小值,得到一个新的方阵l2;
[0248]
步骤2.4.2.2:方阵l2的每一列减去该列的最小值,得到一个新的方阵l3;
[0249]
步骤2.4.2.3:用最少的直线覆盖方阵l3中的所有零元素;如果所有的零元素都被一条直线覆盖,转到步骤2.4.2.5;否则,请执行步骤2.4.2.4;
[0250]
步骤2.4.2.4:找出没有被直线覆盖的最小元素;所有没有被直线覆盖的元素减去这个最小值,所有被两条直线覆盖的元素加上这个最小值,从而得到方阵l4;令l1=l4,返回步骤2.4.2.1;
[0251]
步骤2.4.2.5:根据零元素在方阵l3中的位置,可以得到最优分配结果。
[0252]
步骤2.4.2:通过以下步骤,对k阶方阵l1进行求解;
[0253]
步骤2.4.2.1:方阵l1的每一行减去该行的最小值,得到一个新的方阵l2;
[0254]
步骤2.4.2.2:方阵l2的每一列减去该列的最小值,得到一个新的方阵l3;
[0255]
步骤2.4.2.3:用最少的直线覆盖方阵l3中的所有零元素;如果所有的零元素都被一条直线覆盖,转到步骤2.4.2.5;否则,请执行步骤2.4.2.4;
[0256]
步骤2.4.2.4:找出没有被直线覆盖的最小元素;所有没有被直线覆盖的元素减去这个最小值,所有被两条直线覆盖的元素加上这个最小值,从而得到方阵l4;令l1=l4,返回步骤2.4.2.1;
[0257]
步骤2.4.2.5:根据零元素在方阵l3中的位置,可以得到最优分配结果。
[0258]
步骤2.5:将最短加工时间规则、剩余最多工序规则、最早完成加工规则、最小负荷规则和随机分配规则进行组合,将分配到机器上的工序分为确定性工序和不确定性工序,最终将不确定性工序放回预调度工序池;具体选取确定性工序的方法为:
[0259][0260]
步骤2.6:重复步骤2.1-步骤2.5,直到所有能够在tn内开始加工的工序分配完成为止。
[0261]
步骤3:参照图4,在t(t∈tn)时刻,根据物理车间的实时数据和tn内的预调度结果,将可用机器加入到实时调度机器池。然后根据物理车间实时制造信息和机器的预加工队列,将可加工工序加入到实时调度工序池。接下来利用改进匈牙利算法,考虑要优化的三个目标,将实时调度工序池中的工序分配到最优的机器上。在t(t∈tn)时刻,具体包括以下步骤:
[0262]
步骤3.1:根据物理车间的实时数据和tn内的预调度结果,将可用机器加入到实时调度机器池,然后将这些机器进行排序;
[0263]
步骤3.2:根据物理车间实时制造信息和机器的预加工队列,将可加工工序加入到实时调度工序池,并对这些工序进行排序;可加工工序的选择满足以下条件:
[0264]
(1)满足机器预加工队列的顺序约束,即只有在前一道工序完成后,后一道工序才能够人为是可加工工序;这里的特殊情况是,如果一个工序在预调度中分配给机器ma,而在实时调度中分配给机器mb,那么即使在实时调度中没有完成该工序,该工序也被认为已经完成。
[0265]
(2)满足工序本身的顺序约束。
[0266]
步骤3.3:基于步骤3.1和步骤3.2,记实时调度工序池中的工序数为p,实时调度机器池中的机器数为q,类似步骤2.3,考虑三个优化目标,建立一个p
×
q阶的工序分配的成本矩阵l;
[0267]
步骤3.4:类似步骤2.4,根据改进匈牙利算法求解最优解,并根据最优解的结果,将可加工工序分配到最优的机器上;
[0268]
步骤3.5:根据t时刻以及t时刻之前的时刻有无异常事件发生,确定后续操作,具体步骤如下:
[0269]
步骤3.5.1:若在t时刻以及t时刻之前的时刻没有异常事件发生,且
[0270]
(1)若没有到达tn的最后一个时刻t,则进入下一个t(t=t+1)时刻,并返回步骤3.1;
[0271]
(2)若则说明tn内的实时调度完成,结束该时间窗内的实时调度;
[0272]
步骤3.5.2:若在t时刻以及t时刻之前的时刻有异常事件发生,则在t时刻的实时调度完成之后,利用预调度评估机制判断后续实时调度中当前的预调度是否继续可用。
[0273]
预调度评估机制为:
[0274]
将t时刻预调度和实时调度的偏差设为ξ,则
[0275][0276]
式中,表示预调度中t时刻分配到机器mk上的工序的完成时间;表示实时调度中t时刻分配到机器mk上的工序的完成时间。
[0277]
根据车间的历史数据,将β设为预调度与实时调度的一致度。
[0278]
若ξ<β,则认为预调度可以继续使用;若ξ>β,则认为预调度不能继续使用。
[0279]
因此,按照以下步骤继续执行:
[0280]
步骤3.5.2.1:若当前预调度可以继续使用,则进行类似步骤3.5.1的操作。
[0281]
步骤3.5.2.2:若当前预调度不能继续使用,则结束tn内的实时调度。
[0282]
本发明通过数字孪生柔性车间中物理车间和虚拟车间的实时交互,实现柔性车间的智能决策。首先构建基于边缘计算的数字孪生柔性车间;然后,以δt为时间跨度,将生产过程分为多个时间窗,并在tn的初始时刻生成相应时间窗内的预调度,其中tn表示第n个时间窗;最后,根据物理车间的实时制造数据和tn内预调度结果,在tn内的每个时刻t进行工序的实时调度。若在t时刻或t时刻之前有异常扰动发生,则根据异常扰动对生产影响的程度,对时间窗的长短进行动态控制,即:若在t时刻或t时刻之前有异常扰动发生,会通过预调度评估机制判断是否结束当前时间窗内的实时调度过程,以重新划分时间窗,并生成相应时间窗内的预调度。
[0283]
本发明将物联网、边缘计算、数字孪生技术应用到柔性车间制造过程,实现了物理车间和虚拟车间的实时交互。本发明通过基于可变时间窗的实时调度策略,对柔性车间进行实时调度,实现了工序的实时分配,提高了柔性车间的调度效率,保证了生产的顺利进行。本发明减少了异常干扰对生产过程的不利影响,保证了实时决策的快速性和可靠性。
[0284]
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
[0285]
在不冲突的情况下,本领域的技术人员可以根据实际情况将上述各示例中相关的技术特征相互组合,以达到相应的技术效果,具体对于各种组合情况在此不一一赘述。
[0286]
需要说明,本发明实施例中所有方向性指示(诸如上、下、左、右、前、后
……
)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
[0287]
以上所述,只是本发明的较佳实施例而已,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖性特点相一致的最宽的范围。依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术
方案的范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1