本技术涉及车间机器调度领域,具体涉及一种车间机器的调度方法、装置、电子设备及存储介质。
背景技术:
1、随着现代制造业的快速发展,生产线的复杂性和动态性不断增加,导致生产调度成为一个具有挑战性的问题。柔性作业车间调度问题是生产调度领域的一个重要问题,其目标是确定各作业在不同机器上的加工顺序,以达到特定的优化目标。
2、如何快速有效的解决车间机器的调度问题,提高车间机器的工作效率,是本领域技术人员亟需解决的技术问题。
技术实现思路
1、本技术提供一种车间机器的调度方法、装置、电子设备及存储介质,以解决车间机器的调度问题。
2、根据本技术实施例的第一方面,提供了一种车间机器的调度方法,应用于,包括:
3、获得针对车间机器设置的调度约束矩阵,以及所述调度约束矩阵的基矩阵;所述调度约束矩阵,用于表示针对所述车间机器执行工件加工任务设置的约束条件;
4、基于所述调度约束矩阵的出基变量和所述基矩阵,获得用于构建对偶单纯形算法的特征向量;
5、根据所述特征向量的稀疏度和所述调度约束矩阵的稀疏度,选择串行计算方式或选择符合所述计算机的线程资源的并行计算方式,计算所述特征向量和所述调度约束矩阵的乘积,获得所述车间机器执行所述工件加工任务的调度方案。
6、在本技术的一种可选实施方式中,所述基于所述调度约束矩阵的出基变量和所述基矩阵,获得用于构建对偶单纯形算法的特征向量,包括:
7、根据所述调度约束矩阵的出基变量的位置,构建行向量;其中,所述行向量第p个元素为1,所述第p个元素在所述行向量中的位置与所述出基变量的位置相同;
8、基于所述行向量与所述基矩阵的逆矩阵,获得用于构建对偶单纯形算法的特征向量。
9、在本技术的一种可选实施方式中,所述特征向量的稀疏度和所述调度约束矩阵的稀疏度通过以下方式确定:
10、获得所述特征向量中的元素个数和所述特征向量中非零元素的个数;根据所述特征向量中的元素个数和所述特征向量中非零元素的个数,确定所述特征向量的稀疏度;
11、根据所述调度约束矩阵中非零元素的个数,确定所述调度约束矩阵的稀疏度。
12、在本技术的一种可选实施方式中,所述基于所述特征向量的稀疏度和所述调度约束矩阵的稀疏度,选择串行计算方式或选择符合所述计算机的线程资源的并行计算方式,计算所述特征向量和所述调度约束矩阵的乘积,获得所述车间机器执行所述工件加工任务的调度方案,包括:
13、在所述特征向量的稀疏度大于预设的第一阈值的情况下,判断所述调度约束矩阵的稀疏度是否小于预设的第三阈值;
14、若所述调度约束矩阵的稀疏度小于所述第三阈值,则调用预先设置的串行列稀疏算法,对所述特征向量和所述调度约束矩阵进行对偶单纯形计算,获得所述车间机器执行所述工件加工任务的调度方案;
15、若所述调度约束矩阵的稀疏度大于或等于所述第三阈值,则调用预先设置的并行列稀疏算法,对所述特征向量和所述调度约束矩阵进行对偶单纯形计算,获得所述车间机器执行所述工件加工任务的调度方案。
16、在本技术的一种可选实施方式中,还包括:
17、在所述特征向量的稀疏度处于预设的第二阈值至所述第一阈值之间时,判断所述调度约束矩阵的稀疏度是否大于预设的第三阈值;其中,所述第二阈值小于所述第一阈值;
18、若所述调度约束矩阵的稀疏度大于所述第三阈值,则调用预先设置的并行行稀疏算法,对所述特征向量和所述调度约束矩阵进行对偶单纯形计算,获得所述车间机器执行所述工件加工任务的调度方案;
19、若所述调度约束矩阵的稀疏度小于或等于所述第三阈值,或者在所述特征向量的稀疏度小于所述第二阈值的情况下,则调用预先设置的串行行稀疏算法,对所述特征向量和所述调度约束矩阵进行对偶单纯形计算,获得所述车间机器执行所述工件加工任务的调度方案。
20、在本技术的一种可选实施方式中,在所述特征向量的稀疏度大于预设的第一阈值的情况下,判断所述调度约束矩阵的稀疏度是否小于预设的第三阈值,所述调度约束矩阵通过以下方式存储:
21、构建第一数组,所述第一数组的长度为所述调度约束矩阵中非零元素的个数,所述第一数组中按照所述调度约束矩阵的列的顺序,依次存储有所述调度约束矩阵中的非零元素;
22、构建第二数组,所述第二数组的长度为所述调度约束矩阵中非零元素的个数,所述第二数组对应所述第一数组中的各元素,依次存储有各元素在所述调度约束矩阵中的行标;
23、构建第三数组,所述第三数组的长度为n+1,n为所述调度约束矩阵的列数;所述第三数组中依次记录有所述调度约束矩阵中各列的首个非零元素在所述第一数组和所述第二数组中的位置,以及所述调度约束矩阵中非零元素的个数;
24、构建第四数组,所述第四数组的长度为所述调度约束矩阵中非零元素的个数;所述第四数组中按照所述调度约束矩阵的列的顺序,依次记录各非零元素是否为各列的首个元素;
25、构建第五数组,所述第五数组记录有在基于计算线程数对所述调度约束矩阵进行列维度的分块后,各分块子矩阵的起始列标和终止列标;所述第五数组的长度为所述计算线程数的两倍;
26、构建第六数组,所述第六数组记录有在分块子矩阵的首个元素不是所述分块子矩阵的起始列的首个元素时,所述分块子矩阵的计算结果的合并列;
27、构建第七数组,所述第七数组记录在跨分块子矩阵进行列稀疏计算的过程中,由于分块子矩阵的计算位置与分块子矩阵在所述调度约束矩阵中的实际位置不同产生的计算误差。
28、在本技术的一种可选实施方式中,所述调用预先设置的串行列稀疏算法,对所述特征向量和所述调度约束矩阵进行对偶单纯形计算,获得所述车间机器执行所述工件加工任务的调度方案,包括:
29、基于所述第一数组至所述第三数组,遍历所述调度约束矩阵中的每一列非零元素;
30、按照所述调度约束矩阵的列的顺序,以所述调度约束矩阵中每一列的非零元素为基准,与所述特征向量进行特征向量与所述调度约束矩阵之间的点积计算,获得所述车间机器执行所述工件加工任务的调度方案。
31、在本技术的一种可选实施方式中,所述调用预先设置的并行列稀疏算法,对所述特征向量和所述调度约束矩阵进行对偶单纯形计算,获得所述车间机器执行所述工件加工任务的调度方案,包括:
32、基于所述第一数组至所述第五数组,确定所述调度约束矩阵中各分块子矩阵的元素;
33、并行计算所述特征向量与所述各个分块子矩阵之间的点积结果;
34、基于所述第六数组和所述第七数组,对所述点积结果进行合并和误差修正,获得所述车间机器执行所述工件加工任务的调度方案。
35、在本技术的一种可选实施方式中,若所述调度约束矩阵的稀疏度小于或等于所述第三阈值,或者在所述特征矩阵的稀疏度小于所述第二阈值的情况下,则调用预先设置的串行行稀疏算法,对所述特征向量和所述调度约束矩阵进行对偶单纯形计算,所述调度约束矩阵通过以下方式存储:
36、构建第八数组,所述第一数组的长度为所述调度约束矩阵中非零元素的个数,所述第一数组中按照所述调度约束矩阵的行的顺序,依次存储有所述调度约束矩阵中的非零元素;
37、构建第九数组,所述第二数组的长度为所述调度约束矩阵中非零元素的个数,所述第二数组对应所述第一数组中的各元素,依次存储有各元素在所述调度约束矩阵中的列标;
38、构建第十数组,所述第九数组的长度为m+1,m为所述调度约束矩阵的行数;所述第九数组中依次记录有所述调度约束矩阵中各行的首个非零元素在所述第一数组和所述第八数组中的位置,以及所述调度约束矩阵中非零元素的个数。
39、在本技术的一种可选实施方式中,所述调用预先设置的串行行稀疏算法,对所述特征向量和所述调度约束矩阵进行对偶单纯形计算,获得所述车间机器执行所述工件加工任务的调度方案,包括:
40、基于所述第八数组至所述第十数组,遍历所述调度约束矩阵中的每一行非零元素;
41、按照所述调度约束矩阵中的行的顺序,将所述调度约束矩阵中各行元素与所述特征向量中的各列元素相乘,其中,所述调度约束矩阵中的第i行元素与所述特征向量中的第i列元素相乘;
42、基于所述调度约束矩阵中各行元素与所述特征向量中的各列元素相乘的结果,获得所述车间机器执行所述工件加工任务的调度方案。
43、在本技术的一种可选实施方式中,若所述调度约束矩阵的稀疏度大于所述第三阈值,则调用预先设置的并行行系数算法,对所述特征向量和所述调度约束矩阵进行对偶单纯形计算,所述调度约束矩阵通过以下方式存储:
44、第十一数组,包括:p个第一子数组;其中,第q个第一子数组,按照所述调度约束矩阵的第q个分块子矩阵的行维度,依次记录有个所述第p个分块子中的非零元素;
45、第十二数组,包括:p个第二子数组;其中,第q个第二子数组对应所述第q各第一子数组中的各元素,依次存储有各元素在所述第q个分块子矩阵中的列标;
46、第十三数组,包括p个第三子数组,各第三子数组的长度为m+1,m为所述调度约束矩阵的行数,第q个第三子数组中存储有所述调度约束矩阵中各行的首个非零元素在所述第q个第一子数组和所述第q个第二子数组中的位置,以及所述第q个分块子矩阵中非零元素的个数;
47、其中,q∈p,p为计算线程数。
48、在本技术的一种可选实施方式中,所述调用预先设置的并行行稀疏算法,对所述特征向量和所述调度约束矩阵进行对偶单纯形计算,获得所述车间机器执行所述工件加工任务的调度方案,包括:
49、基于所述第十一数组至所述第十三数组,确定所述调度约束矩阵中各分块子矩阵的元素;
50、按照所述各分块子矩阵的行的顺序,并行计算各分块子矩阵中各行元素与所述特征向量中的各列元素之间的乘积;其中,所述分块子矩阵中的第i行元素与所述特征向量中的第i列元素相乘;
51、基于所述各分块子矩阵中各行元素与所述特征向量中的各列元素相乘的结果,获得所述车间机器执行所述工件加工任务的调度方案。
52、根据本技术实施例的第二方面,提供了一种车间机器的调度装置,应用于计算机,包括:
53、第一单元,用于获得针对车间机器设置的调度约束矩阵,以及所述调度约束矩阵的基矩阵;所述调度约束矩阵,用于表示针对所述车间机器执行工件加工任务设置的约束条件;
54、第二单元,用于基于所述调度约束矩阵的出基变量和所述基矩阵,获得用于构建对偶单纯形算法的特征向量;
55、第三单元,用于根据所述特征向量的稀疏度和所述调度约束矩阵的稀疏度,选择串行计算方式或选择符合所述计算机的线程资源的并行计算方式,计算所述特征向量和所述调度约束矩阵的乘积,获得所述车间机器执行所述工件加工任务的调度方案。
56、根据本技术实施例的第三方面,提供了一种电子设备,包括:
57、处理器;
58、用于存储所述处理器可执行指令的存储器;
59、所述处理器,用于通过运行所述存储器中的指令,执行上述车间机器的调度方法。
60、根据本技术实施例的第四方面,提供了一种计算机存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器运行时,执行上述车间机器的调度方法。
61、与现有技术相比,本技术具有以下优点:
62、本技术提供了一种车间机器的调度方法、装置、电子设备及存储介质,所述车间机器的调度方法,包括:获得针对车间机器设置的调度约束矩阵,以及所述调度约束矩阵的基矩阵;所述调度约束矩阵,用于表示针对所述车间机器执行工件加工任务设置的约束条件;基于所述调度约束矩阵的出基变量和所述基矩阵,获得用于构建对偶单纯形算法的特征向量;根据所述特征向量的稀疏度和所述调度约束矩阵的稀疏度,选择串行计算方式或选择符合所述计算机的线程资源的并行计算方式,计算所述特征向量和所述调度约束矩阵的乘积,获得所述车间机器执行所述工件加工任务的调度方案。
63、所述车间机器的调度方法,通过所述调度约束矩阵,以及与所述调度约束矩阵对应的特征向量的稀疏度,从而结合车间机器执行工件加工任务的实际情况,为车间机器的调度过程选择合适的串行或并行的计算方式,执行所述调度约束矩阵和特征向量之间的对偶单纯形算法,在解决车间机器调度问题的同时,提高了车间机器调度的效率以及车间机器工作效率。