本发明涉及计算机领域,尤其涉及一种排产方法、装置、电子设备、计算机可读存储介质及计算机程序产品。
背景技术:
1、随着生产模式及软件技术的不断发展,企业对于计划排产要求越来越高。例如,同一个订单不同机型需要同步生产及交付,同时计划排产要能够考虑瓶颈约束,以提升排产准确率。另外,一些场景下,用户希望排产能满足n小时(n通常为12,16,24小时等)齐套要求,以达成下线直发要求。因此,亟待一种排产方法,以同时满足瓶颈约束及齐套要求。
技术实现思路
1、本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明的一个目的在于提出一种排产方法,具有在排产时同时满足瓶颈约束及齐套要求的优点。
2、根据本发明实施例的第一方面,提供一种排产方法,包括:
3、根据各日期对应的第一瓶颈类型以及瓶颈产能依次确定各待排产工单的待定排产日期;
4、生成初始抛单序列种群,所述初始抛单序列种群中包括多个抛单序列;
5、循环执行第一预设步骤,直至循环次数到达预设次数,将各所述抛单序列中分值最高的目标抛单序列作为排产结果,所述第一预设步骤包括:
6、针对每个所述抛单序列,按照所述待定排产日期对所述抛单序列进行齐套抛单调整,得到齐套抛单调整序列;
7、针对每个所述齐套抛单调整序列,对所述齐套抛单调整序列进行变异,并将变异结果作为所述抛单序列。
8、在本发明的一种示例性实施例中,所述根据各日期对应的第一瓶颈类型以及瓶颈产能依次确定各待排产工单的待定排产日期包括:
9、获取各所述待排产工单以及各所述待排产工单的第二瓶颈类型和第二瓶颈占用量;
10、采用第一预设规则对所述待排产工单进行排序,得到工单序列;
11、根据各所述日期对应的所述第一瓶颈类型、所述瓶颈产能、所述第二瓶颈类型和所述第二瓶颈占用量依次确定所述工单序列中各所述待排产工单的待定排产日期。
12、在本发明的一种示例性实施例中,所述根据各日期对应的第一瓶颈类型以及瓶颈产能依次确定各待排产工单的待定排产日期,所述方法还包括:
13、获取不排产工单以及所述不排产工单的工单日期、第三瓶颈类型以及第三瓶颈占用量;
14、根据各所述日期对应的所述第一瓶颈类型、所述瓶颈产能、所述第三瓶颈类型和所述第三瓶颈占用量确定各所述日期对应的可排产瓶颈类型以及可排产瓶颈产能;
15、根据各所述日期对应的所述可排产瓶颈类型、所述可排产瓶颈产能、所述第二瓶颈类型和所述第二瓶颈占用量依次确定所述工单序列中各所述待排产工单的待定排产日期。
16、在本发明的一种示例性实施例中,所述生成初始抛单序列种群包括:
17、采用第一预设规则对所述待排产工单进行排序,得到第一抛单序列;
18、采用第二预设规则对所述待排产工单进行排序,得到多个第二抛单序列;
19、将所述第一抛单序列和多个所述第二抛单序列作为所述初始抛单序列种群。
20、在本发明的一种示例性实施例中,所述按照所述待定排产日期对所述抛单序列进行齐套抛单调整,得到齐套抛单调整序列包括:
21、根据所述待定排产日期确定各排产时区的齐套抛单序列;
22、将所述齐套抛单序列按照所述排产时区的时间先后顺序进行排序,得到齐套抛单调整序列。
23、在本发明的一种示例性实施例中,所述根据所述待定排产日期确定各排产时区的齐套抛单序列包括:
24、将各所述排产时区中时间最早的排产时区作为当前排产时区,并将所述当前排产时区对应的当前齐套抛单序列的首位置作为所述当前齐套抛单序列的目标位置;
25、循环执行第二预设步骤,直至所述当前抛单序列中的工单均已抛单,所述第二预设步骤包括:
26、从所述当前抛单序列中获取所述待定排产日期在所述当前排产时区内的齐套组集合;
27、循环执行第三预设步骤,直至所述当前排产时区内所有产线均已排满,将与所述当前排产时区相邻的下一排产时区作为所述当前排产时区,所述第二预设步骤包括:
28、从所述齐套组集合中获取在所述当前抛单序列最靠前的目标齐套组,并从所述目标齐套组中获取在所述当前抛单序列最靠前的目标齐套工单;
29、获取所述目标齐套工单在所述当前排产时区的可选产线,并将所述目标齐套工单从所述目标齐套组中移除;
30、从所述可选产线中内选择优先级最高的第一目标产线,并将目标齐套工单排至所述第一目标产线,以在所述当前排产时区对所述目标齐套工单进行抛单;
31、将所述目标齐套工单以及所述目标产线加入所述当前齐套抛单序列中的目标位置,并将与所述目标位置相邻的下一位置作为目标位置。
32、在本发明的一种示例性实施例中,所述方法还包括:
33、若所述目标齐套组内的所有齐套工单均已抛单,则将所述目标齐套组从所述当前抛单序列中移除。
34、在本发明的一种示例性实施例中,所述在所述当前排产时区对所述目标齐套工单进行抛单后,所述方法还包括:
35、若所述目标齐套组的其他齐套工单在所述当前排产时区内没有可选产线,则从与所述当前排产时区相邻的下一排产时区获取所述其他齐套工单的下一可选产线,所述其他齐套工单为所述目标齐套组中除所述目标齐套工单外的齐套工单;
36、从所述下一可选产线中内选择优先级最高的第二目标产线,并将其他齐套工单排至所述第二目标产线,以在所述下一排产时区将所述其他齐套工单进行抛单。
37、在本发明的一种示例性实施例中,所述方法还包括:
38、若所述其他齐套工单在所述下一排产时区内没有所述下一可选产线,则从所述当前抛单序列重新获取所述目标齐套组;
39、将所述目标齐套组作为目标排产时区的齐套组,所述目标排产时区为与所述下一排产时区相邻且时间在所述下一排产时区之后的目标排产时区。
40、在本发明的一种示例性实施例中,所述对所述齐套抛单调整序列进行变异包括:
41、对所述齐套抛单调整序列进行集约排序调整,得到集约排序调整序列;
42、对所述集约排序调整序列进行变异,得到所述变异结果。
43、在本发明的一种示例性实施例中,所述对所述集约排序调整序列进行变异,得到所述变异结果包括:
44、从所述集约排序调整序列中确定变异范围;
45、在所述变异范围内按照变异概率随机选取待变异齐套组;
46、将各所述待变异齐套组在所述集约排序调整序列中的次序进行变换,得到所述变异结果。
47、在本发明的一种示例性实施例中,所述将各所述抛单序列中分值最高的目标抛单序列作为排产结果前,所述包括:
48、针对每个所述抛单序列,获取与所述抛单序列对应的理论转产次数以及实际转产次数;
49、计算所述理论转产次数与所述实际转产次数的第一比值;
50、从所述抛单序列中确定完工时间小于或者等于需求时间的目标工单;
51、计算所述目标工单的第一数量与所述抛单序列中工单总数量的第二比值;
52、计算所述第一比值以及所述第二比值的加权值,并将所述加权值作为所述抛单序列的分值。
53、根据本发明的第二方面,提供一种排产装置,包括:
54、待定排产日期确定模块,用于根据各日期对应的第一瓶颈类型以及瓶颈产能依次确定各待排产工单的待定排产日期;
55、初始抛单序列种群生成模块,用于生成初始抛单序列种群,所述初始抛单序列种群中包括多个抛单序列;
56、第一预设步骤执行模块,用于循环执行第一预设步骤,直至循环次数到达预设次数,将各所述抛单序列中分值最高的目标抛单序列作为排产结果,所述第一预设步骤执行模块包括:
57、齐套抛单调整序列生成单元,用于针对每个所述抛单序列,按照所述待定排产日期对所述抛单序列进行齐套抛单调整,得到齐套抛单调整序列;
58、齐套抛单调整序列变异单元,用于针对每个所述齐套抛单调整序列,对所述齐套抛单调整序列进行变异,并将变异结果作为所述抛单序列。
59、根据本发明的第三方面,提供一种电子设备,包括:
60、处理器;
61、用于存储所述处理器可执行指令的存储器;
62、其中,所述处理器被配置为执行所述指令,以实现如第一方面中任一项所述的排产方法。
63、根据本发明的第四方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如第一方面中任一项所述的排产方法。
64、根据本发明的第五方面,提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如第一方面中任一项所述的排产方法。
65、综上所述,本发明提供的方法,通过根据各日期对应的第一瓶颈类型以及瓶颈产能依次确定各待排产工单的待定排产日期;生成初始抛单序列种群,所述初始抛单序列种群中包括多个抛单序列;循环执行第一预设步骤,直至循环次数到达预设次数,将各所述抛单序列中分值最高的目标抛单序列作为排产结果,所述第一预设步骤包括:针对每个所述抛单序列,按照所述待定排产日期对所述抛单序列进行齐套抛单调整,得到齐套抛单调整序列;针对每个所述齐套抛单调整序列,对所述齐套抛单调整序列进行变异,并将变异结果作为所述抛单序列,在排产时能够同时瓶颈约束及齐套要求,大大提高了排产结果的准确性。
66、本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。