一种确定排产计划的方法及系统与流程

文档序号:27511501发布日期:2021-11-22 17:24阅读:244来源:国知局
一种确定排产计划的方法及系统与流程

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.图1为本发明实施例提供的一种确定排产计划的方法的流程图;
54.图2为本发明实施例提供的确定产能估算模型的流程图;
55.图3为本发明实施例提供的确定产能估算模型的另一流程图;
56.图4为本发明实施例提供的对目标函数进行求解的流程图;
57.图5为本发明实施例提供的调整后的分支定界算法的计算流程示意图;
58.图6为本发明实施例提供的一种确定排产计划的系统的结构框图。
具体实施方式
59.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
60.在本技术中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没
有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
61.由背景技术可知,由于目前生产线的自动化程度越来越高,为使生产线带来更大化的经济效益,需在资源有限的前提下,使生产线能稳定运行且带来最大化的生产效益。因此如何制定一个能够使生产线稳定运行且能产生最大效益的排产计划,是现如今亟需解决的问题。
62.故,本发明实施例提供一种确定排产计划的方法及系统,通过预设的产能估算模型预估待处理产线的生产效率,并制定多个用于避免计划冲突的约束条件。根据生产效率构建目标函数,将约束条件添加至目标函数中,对目标函数进行求解得到待处理产线的排产计划,以在保证生产线稳定运行的前提下获取最大效益的排产计划。
63.参见图1,示出了本发明实施例提供的一种确定排产计划的方法的流程图,该方法包括:
64.步骤s101:获取待处理产线的静态数据和实时数据。
65.需要说明的是,静态数据至少包含:待处理产线所生产的产品的产品特征、操作人员的评级、历史生产数据(如历史订单、历史排班信息、历史生产计划和历史生产效率等)、产线数据、物料清单(bill of materials,bom)、工艺路线和设备等数据;实时数据至少包含:库存信息、排班信息、订单信息和开停工信息等数据。
66.可以理解的是,在获取待处理产线的产品特征时,通常选择对待处理产线的产能有影响的因素作为产品特征,具体实现中,对待处理产线的生产过程进行步骤分解,并对该待处理产线的产品类型进行特征提取和分类,得到相应的产品特征。
67.例如:假设对包装产线进行步骤分解,分别得到理瓶、灌装、理盖、旋盖、封口、贴码、喷码、装箱、打包堆垛、绕膜和卸装等,并且产品的规格有“一箱几瓶”、“一瓶多大”和“瓶盖瓶身的形状”等,包装产线的步骤的多少和产品的规格都会影响该包装产线的产能,按照包装产线的生产步骤和产品规格对产品进行分类,可将箱规格和瓶规格作为包装产线的产品特征(也可根据实际情况选择产品特征)。
68.需要说明的是,操作人员的评级用于指示:操作人员操作待处理产线上的机器生产产品时的产能;相同评级(或者说相同等级)的两个操作人员操作机器生产相同产品时,该两个操作人员的产能可被认为是相同的。
69.在实际生产过程中,待处理产线的实际产能还与操作人员相关,待处理产线存在一个基准产能(以p0表示),待处理产线的实际产能(以p表示)可视为基准产能和操作人员的评级(以v表示)的函数,即p=f(p0,v)。
70.步骤s102:根据产品特征、操作人员的评级和排班信息,结合预设的产能估算模型,确定待处理产线的生产效率。
71.需要说明的是,产能估算模型由预先根据产品特征、操作人员的评级和历史生产数据确定得到。可以理解的是,在确定产能估算模型的过程中,所利用的操作人员的评级并不一定准确,因此若在确定产能估算模型的过程中确定操作人员的评级不准确时,需对操作人员的评级进行调整后再次确定产能估算模型直至得到最终的产能估算模型。
72.可以理解的是,通过排班信息可确定哪一天由哪些操作人员操作待处理生产线,在具体实现步骤s102的过程中,将待处理生产线对应的产品特征和每天排班的操作人员的
评级代入产能估算模型中,可得到待处理产线每天的生产效率。其中,某天的生产效率=某天的产能/某天的排班时间。
73.步骤s103:利用订单信息、库存信息、生产效率和产线数据,确定第一约束条件、第二约束条件、第三约束条件和第四约束条件。
74.需要说明的是,第一约束条件表示所述待处理产线的产品对应的库存、生产和需求的平衡关系,第二约束条件表示所述待处理产线的机器的每日生产上限,第三约束条件表示一个产品由待处理产线的多个机器生产的生产上限,第四约束条件表示待处理产线计划生产的上限。
75.在具体实现步骤s103的过程中,利用订单信息和库存信息,确定第一约束条件,该第一约束条件如公式(1)。
76.s
i,t
‑1+x
i,t
=d
i,t
+s
i,t
ꢀꢀ
(1)
77.在公式(1)中,s
i,t
‑1表示t时间产品i的库存,s
i,0
可表示产品i的初始库存,x
i,t
表示t时间产品i的计划生产量,d
i,t
表示t时间产品i的需求量。
78.可以理解的是,若待处理产线在多层级工序和交货时间的情况下,第一约束条件如公式(2)
[0079][0080]
在公式(2)中,r
i,j
表示生产单位产品j需要的产品i的数量,γ
j
表示产品j生产完成到交货的时间,j∈d
i
表示产品j是产品i的直接原料。
[0081]
根据生产效率和产线数据,确定第二约束条件和第三约束条件,第二约束条件如公式(3),第三约束条件如公式(4)。
[0082][0083]
在公式(3)中,α
i,k,t
表示机器k在时间t生产产品i的单位耗时,β
i,k,t
表示机器k在时间t生产产品i的固定耗时,y
i,t
表示产品i在时间t是否有计划生产,i∈f
k
表示产品i需要由机器k生产,l
k,t
表示机器k在时间t的可用总时间。其中,α
i,k,t
和β
i,k,t
即为生产效率,具体通过产能估算模型得到。
[0084][0085]
在公式(4)中,x

i,k,t
和y

i,k,t
分别表示机器k在时间t生产产品i的数量和是否生产,(i,k)∈f
i,k
表示机器k可以生产产品。其中,y

i,k,t
<y
i,t

[0086]
通过订单信息,确定第四约束条件,第四约束条件如公式(5)。
[0087][0088]
步骤s104:根据生产效率,确定待处理产线的最大化产能和最小化库存成本。
[0089]
在具体实现步骤s104的过程中,通过上述步骤s102所确定的待处理产线的生产效率,确定待处理产线的最大化产能和最小化库存成本。其中,最大化产能total_cap如公式(6),最小化库存成本stock_cost如公式(7)。
[0090]
[0091][0092]
在公式(7)中,h
i,t
表示产品i在时间t的库存成本。
[0093]
步骤s105:通过最大化产能和最小化库存成本,构建目标函数。
[0094]
在具体实现步骤s105的过程中,通过上述公式(6)和公式(7)所确定的最大化产能和最小化库存成本,构建待处理产线的目标函数,该目标函数如公式(8)。
[0095]
min objective=c1total_cap+c2stock_cost
ꢀꢀ
(8)
[0096]
在公式(8)中,c1和c2表示目标权重系数。
[0097]
步骤s106:将第一约束条件、第二约束条件、第三约束条件和第四约束条件作为目标函数的约束条件,结合预设的校验约束和订单信息中指定目标的优先度,对目标函数进行求解,得到待处理产线的排产计划。
[0098]
需要说明的是,指定目标为订单信息中的订单、客户和产品中任意一项或多项。在确定待处理产线的排产计划时,可根据指定目标的优先度,使优先度高的指定目标优先排产。
[0099]
可以理解的是,该第一约束条件可使待处理生产线的生产计划满足交货期,即在交货期当天,产品的库存量要大于需求量(也就是满足第一约束条件)。预先设置校验约束,该校验约束如公式(9)。
[0100]
smin
i,t
≤s
i,t
≤smax
i,t
ꢀꢀ
(9)
[0101]
在具体实现步骤s106的过程中,将第一约束条件、第二约束条件、第三约束条件和第四约束条件作为目标函数(即公式(8))的约束条件(相当于将第一约束条件至第四约束条件添加至目标函数对应的数学模型中),结合预设的校验约束和订单信息中指定目标的优先度,利用分支定界算法对该目标函数进行求解,得到待处理产线的排产计划。
[0102]
可以理解的是,在对如上述公式(8)所示出的目标函数进行求解时,相当于解一个混合整数规划(mixed integer programming,mip)问题,因此可利用分支定界算法(branch and bound,b&b)对该目标函数进行求解。
[0103]
需要说明的是,在本发明实施例中,针对产线的排产计划问题,对分支定界算法进行如下调整:
[0104]
经发明人研究发现,排产计划问题的特点在于按照时间顺序进行排产,在利用分支定界算法对目标函数进行求解的过程中,利用松弛固定法逐步收紧整数变量,也就是说,将排产时间段分为若干区间,按照区间顺序固定之前区间的整数变量,只优化当前区间内的整数变量,松弛之后的区间内的整数变量,然后根据优化结果固定当前区间的整数变量。
[0105]
在利用分支定界算法对目标函数进行求解的过程中,按照时间顺序和节点权重进行分支选择,也就是说,在进行下一个分支节点的选择时,依次按照时间顺序和节点权重来选择,可确保高权重的可行解优先被找到。
[0106]
可以理解的是,在对目标函数进行求解得到待处理产线的排产计划之后,可能会存在新增订单(相当于增加需求,即修改了上述提及的d
i,t
)和变更排产计划的情况。
[0107]
优先的,若获取到新的订单,根据新的订单的内容,确定新约束条件;将第一约束条件、第二约束条件、第三约束条件、第四约束条件和新约束条件作为目标函数的约束条件,结合校验约束和订单信息中指定目标的优先度,对目标函数进行求解,得到待处理产线
的新排产计划。也就是说,若新增订单,根据新的订单的内容将相应的新约束条件添加至目标函数的约束条件中,并重新对目标函数进行求解。
[0108]
可以理解的是,在对目标函数进行求解时,求解完成所得到的x
i,t
和y
i,t
即为排产计划,例如:x
1,1
=20,y
1,1
=1,表示产品1在第1天计划生产20。
[0109]
优先的,若变更排产计划,将排产计划的变更内容、第一约束条件、第二约束条件、第三约束条件和第四约束条件作为目标函数的约束条件,结合预设的校验约束和订单信息中指定目标的优先度,对目标函数进行求解,得到待处理产线的新排产计划。也就是说,若变更排产计划,将已完成的计划和确定执行的计划所对应的相关变量(即上述提及的x
i,t
和y
i,t
)的值进行固定,并重新对目标函数进行求解。例如:假设将排产计划的变更内容为:将x
1,10
=10修改为x
1,10
=25,此时前两天已经执行完成的x
1,1
=20被固定,所修改的计划x
1,10
=25也会被固定,在求解目标函数的过程中不会被修改,将x
1,10
=25、第一约束条件、第二约束条件、第三约束条件和第四约束条件作为目标函数的约束条件,重新对目标函数进行求解,得到待处理产线的新排产计划。也就是说,若变更排产计划,将x
1,10
=25作为约束条件添加至目标函数的约束条件中,并重新对目标函数进行求解。
[0110]
在本发明实施例中,通过预设的产能估算模型预估待处理产线的生产效率,并制定多个用于避免计划冲突的约束条件。根据生产效率构建目标函数,将约束条件添加至目标函数中,利用调整后的分支定界算法对目标函数进行求解得到待处理产线的排产计划,在保证生产线稳定运行的前提下获取最大效益的排产计划。
[0111]
上述本发明实施例图1步骤s102中涉及的确定产能估算模型的过程,参见图2,示出了本发明实施例提供的确定产能估算模型的流程图,包括以下步骤:
[0112]
步骤s201:利用产品特征和操作人员的评级对历史生产数据中的历史生产效率进行回归,得到第一模型。
[0113]
可以理解的是,由上述本发明实施例图1步骤s101的内容可知,待处理产线的实际产能可视为基准产能和操作人员的评级的函数p=f(p0,v)。由于所获取的待处理产线的静态数据中没有基准产能,但可通过对待处理产线的生产过程进行分析可得到影响基准产能的因素(也就是产品特征),以a、b和c来表示产品特征,故上述“p=f(p0,v)”可表示为p=f(a,b,c,v),a、b、c和v对应的内容即构成了特征集。
[0114]
在具体实现步骤s201的过程中,以产品特征和操作人员的评级作为预测变量,以待处理产线的生产效率作为响应变量,利用产品特征和操作人员的评级对历史生产数据中的历史生产效率进行回归,得到第一模型,例如:通过automl工具,利用产品特征和操作人员的评级对历史生产数据中的历史生产效率进行回归。
[0115]
需要说明的是,在获取第一模型的过程中,所利用的操作人员的评级并不一定准确,因此在获取得到第一模型后,需对各个操作人员的评级进行校正(具体通过操作人员的预估产能和实际产能进行校正),具体校正方式参见以下步骤。
[0116]
步骤s202:从历史生产数据中获取每个操作人员的实际产能。
[0117]
可以理解的是,历史生成数据中存在各个操作人员的实际产能,在具体实现步骤s202的过程中,从历史生产数据中获取每个操作人员的实际产能(以p_k表示)。
[0118]
步骤s203:根据第一模型,确定每个操作人员的预估产能。
[0119]
在具体实现步骤s203的过程中,利用上述所确定的第一模型,确定每个操作人员
的预估产能(以p_k’表示)。
[0120]
步骤s204:确定每个操作人员的实际产能与预估产能之间的产能偏差。
[0121]
在具体实现步骤s204的过程中,比较每个操作人员的实际产能与预估产能,确定得到每个操作人员的实际产能与预估产能之间的产能偏差。
[0122]
可以理解的是,在正常情况下,操作人员的预估产能与实际产能之间的产能偏差应在偏差阈值范围内(相当于p_k’与p_k相近),当操作人员的预估产能小于实际产能一定值(产能偏差均在偏差阈值范围外),表示第一模型低估了操作人员的评级,当操作人员的预估产能大于实际产能一定值(产能偏差均在偏差阈值范围外),表示第一模型高估了操作人员的评级。
[0123]
前述两种产能偏差均在偏差阈值范围外的情况,均表示操作人员的评级不准确,需对操作人员的评级进行调整。
[0124]
步骤s205:若每个操作人员的产能偏差均在偏差阈值范围内,确定第一模型为产能估算模型。
[0125]
在具体实现步骤s205的过程中,若每个操作人员的产能偏差均在偏差阈值范围内,也就是每个操作人员的评级均准确,则确定所得到的第一模型为最终的产能估算模型。
[0126]
步骤s206:若存在产能偏差在偏差阈值范围外的操作人员,根据产能偏差,对产能偏差在偏差阈值范围外的操作人员的评级进行调整,返回执行步骤s201。
[0127]
在具体实现步骤s206的过程中,若存在产能偏差在偏差阈值范围外的操作人员,针对产能偏差在偏差阈值范围外的操作人员,根据该操作人员的产能偏差,调整该操作人员的评级,例如:若产能偏差指示低估了操作人员的评级,则将该操作人员的评级上调,若产能偏差指示高估了操作人员的评级,则将该操作人员的评级下调。将每个产能偏差在偏差阈值范围外的操作人员的评级进行调整后,根据调整后的操作人员的评级,返回执行步骤s201再次对历史生产数据中的历史生产效率进行回归得到新的第一模型。
[0128]
在本发明实施例中,利用产品特征和操作人员的评级对历史生产数据中的历史生产效率进行回归,并在回归过程中调整不准确的操作人员的评级,进而得到最终的产能估算模型,保证产能估算模型估算待处理产线的生产效率的精度。
[0129]
为更好解释说明上述本发明实施例图2中的内容,通过图3示出的确定产能估算模型的另一流程图进行举例说明,图3中的内容包括以下步骤:
[0130]
步骤s301:获取待处理产线的静态数据。
[0131]
步骤s302:从静态数据中获取产品特征、操作人员的评级和历史生产数据中的历史生产效率。
[0132]
步骤s303:利用产品特征和操作人员的评级对历史生产效率进行回归,得到第一模型。
[0133]
步骤s304:利用第一模型和历史数据验证每个操作人员的评级。
[0134]
在具体实现步骤s304的过程中,利用第一模型确定每个操作人员的预估产能,及从历史生产数据中获取每个操作人员的实际产能。确定每个操作人员的实际产能与预估产能之间的产能偏差,通过该产能偏差确定出评级偏差较大(产能偏差在偏差阈值范围外)的操作人员。
[0135]
步骤s305:确定是否存在评级偏差较大的操作人员。若存在,执行步骤s306,若不
存在,执行步骤s307。
[0136]
步骤s306:调整评级偏差较大的操作人员的评级,并返回执行步骤s303。
[0137]
步骤s307:确定第一模型为产能估算模型。
[0138]
上述本发明实施例图1步骤s106中涉及的对目标函数进行求解的过程,参见图4,示出了本发明实施例提供的对目标函数进行求解的流程图,包括以下步骤:
[0139]
步骤s401:将第一约束条件、第二约束条件、第三约束条件和第四约束条件作为目标函数的约束条件,结合订单信息中指定目标的优先度,利用分支定界算法对目标函数进行求解。
[0140]
在具体实现步骤s401的过程中,将第一约束条件、第二约束条件、第三约束条件和第四约束条件作为目标函数的约束条件,结合订单信息中指定目标的优先度,采用调整后的分支定界算法对目标函数进行求解,并判断该目标函数是否有解(也就是判断是否得到求解结果)。
[0141]
第一约束条件、第二约束条件、第三约束条件和第四约束条件的具体内容参见上述本发明实施例图1步骤s103中的内容,在此不再赘述。
[0142]
步骤s402:若对目标函数进行求解后未得到求解结果,修正第一约束条件,返回执行步骤s401。
[0143]
在具体实现步骤s402的过程中,若对目标函数进行求解后未得到求解结果,以延期或增加产能的方式修正第一约束条件,返回执行步骤s401,也就是修正第一约束条件之后,将修正后的第一约束条件、第二约束条件、第三约束条件和第四约束条件作为目标函数的约束条件,结合订单信息中指定目标的优先度,采用调整后的分支定界算法对目标函数进行求解。
[0144]
步骤s403:若对目标函数进行求解后得到求解结果,确定库存信息是否满足预设的校验约束。
[0145]
在具体实现步骤s403的过程中,若对目标函数进行求解后得到求解结果,判断待处理产线的库存信息是否满足预设的校验约束(即上述公式(9))。
[0146]
步骤s404:若库存信息满足校验约束,将求解结果作为待处理产线的排产计划。
[0147]
在具体实现步骤s404的过程中,若对目标函数进行求解后得到求解结果且库存信息满足校验约束,输出求解结果,将该求解结果作为待处理产线的排产计划
[0148]
步骤s405:若库存信息不满足校验约束,将校验约束、第一约束条件、第二约束条件、第三约束条件和第四约束条件作为目标函数的约束条件,返回执行步骤s401对目标函数进行求解。
[0149]
在具体实现步骤s405的过程中,若对目标函数进行求解后得到求解结果,但库存信息不满足校验约束,将校验约束作为目标函数的约束条件(相当于将校验约束添加至目标函数对应的数学模型中),返回执行步骤s401,也就是将校验约束、第一约束条件、第二约束条件、第三约束条件和第四约束条件作为目标函数的约束条件,结合订单信息中指定目标的优先度,采用调整后的分支定界算法对目标函数进行求解。
[0150]
在本发明实施例中,根据排产计划问题的特点调整支定界算法,利用调整后的分支定界算法对目标函数进行求解得到待处理产线的排产计划,提升确定排产计划的效率。
[0151]
为更好解释说明上述本发明实施例图4中关于利用调整后的分支定界算法对目标
函数进行求解的内容,通过图5示出的调整后的分支定界算法的计算流程示意图进行举例说明。
[0152]
参见图5,示出了本发明实施例提供的调整后的分支定界算法的计算流程示意图,包括以下步骤:
[0153]
步骤s501:去除校验约束。
[0154]
需要说明的是,图5中的mip问题即为上述本发明实施例所构建的目标函数与各个约束条件。
[0155]
步骤s502:判断t0是否大于nt。若t0大于nt,执行步骤s503,若t0小于等于nt,执行步骤s504。
[0156]
需要说明的是,t0为未被松弛和固定的整数变量的结束时间索引,nt为排程结束的时间索引。
[0157]
步骤s503:判断是否有解。若有解,确定库存信息是否满足校验约束(可参见上述本发明实施例图4中的内容),若无解,修正第一约束条件(可参见上述本发明实施例图4中的内容)。
[0158]
步骤s504:松弛t大于t0的变量,得到子问题mipt0。
[0159]
需要说明的是,t为时间索引。
[0160]
步骤s505:初始化切割池lt0,初始化问题上界zut0。
[0161]
步骤s506:判断子问题是否终止。若子问题终止,执行步骤s507,若子问题未终止,执行步骤s512及后续步骤。
[0162]
步骤s507:判断是否有解。若有解,执行步骤s509,若无解,执行步骤s508。
[0163]
步骤s508:t0=t0+dt,并返回执行步骤s501。
[0164]
需要说明的是,dt为松弛变量每次进行的时间区间长度。
[0165]
步骤s509:判断是否满足校验约束。若满足,执行步骤s510,若不满足,执行步骤s511。
[0166]
步骤s510:固定t小于t0的变量,t0=t0+t0,并返回执行步骤s501。
[0167]
步骤s511:插入校验约束,并返回执行步骤s505。
[0168]
步骤s512:根据指定目标的优先度选择节点v并从切割池中移除v。
[0169]
步骤s513:求解节点v松弛问题,得到zv、xv和yv。
[0170]
需要说明的是,zv为节点v代表的线性松弛问题的最小目标值,xv为和yv为该线性松弛问题的解。
[0171]
步骤s514:判断zv是否大于zu。若zv大于zu,返回执行步骤s506,若zv小于等于zu,执行步骤s515。
[0172]
步骤s515:判断yv是否为整数。若yv为整数,使zu=zv并返回执行步骤s506,若yv不为整数,执行步骤s516。
[0173]
步骤s516:根据指定目标的优先度,选择yv进行分支并添加至切割池,返回执行步骤s506。
[0174]
为更好解释上述本发明实施例提供的确定排产计划的方法的相关内容,以包装产线(也就是待处理产线)为示例,通过示例内容来对如何确定包装产线的排产计划的过程进行举例说明,详见以下内容。
[0175]
包装产线的订单信息的内容如表1。
[0176]
表1:
[0177][0178]
需要说明的是,在本示例的包装产线中只有一个工序,因此不需要考虑bom层级问题;假设该包装产线由a产线和b产线构成,a产线包装规格小于1kg的产品,b产线包装规格大于1kg的产品;该包装产线总共有6名操作人员,a产线和b产线每天均安排两名操作人员,所有操作人员的评级分为三个级别;历史生产数据至少包含历史排班信息、每日安排生产的订单信息和数量。
[0179]
可以理解的是,包装产线在包装过程中的步骤主要划分为:理瓶、灌装、理盖、旋盖、封口、贴码、喷码、装箱、打包堆垛、绕膜和卸装等。其中,步骤耗时与产品特征相关,打包堆垛、绕膜和卸装由操作人员操作,打包堆垛、绕膜和卸装的耗时还与操作人员的评级有关。产品特征为瓶规格和箱规格。以瓶规格、箱规格和操作人员的评级对历史生产数据中的历史生产效率进行回归。需要说明的是,由于该包装产线的历史数据中没有记录生产时间,因此无法以“产量/时间”来作为生产效率,因此通过效率系数α、固定系数β和基准日产能l
k,t
(a产线为10吨,b产线为40吨)替代历史生产效率进行回归。通过以下过程a1至a6所示出的内容进行回归处理得到产能估算模型。
[0180]
a1、a产线的基准产能和操作人员的评级的函数关系如公式(10),b产线的基准产能和操作人员的评级的函数关系如公式(11)。
[0181]
a=f1(产线、瓶规格、箱规格、操作人员1评级、操作人员2评级)
ꢀꢀ
(10)
[0182]
b=f2(产线、瓶规格、箱规格、操作人员1评级、操作人员2评级)
ꢀꢀ
(11)
[0183]
可以理解的是,上述公式(10)与公式(11)即为待回归的广义函数,回归目标为公式(12)。
[0184][0185]
a2、获取产品特征和操作人员的平均,及获取历史生产效率。
[0186]
a3、利用automl工具进行回归。
[0187]
a4、假设公式(10)和公式(11)与操作人员的评级、箱规格和瓶规格正相关,筛选违背该假设内容的记录,并统计操作人员出现违背记录的比例,若存在超过10%的操作人员则执行过程a5,否则执行过程a6。
[0188]
a5、对出现违背记录的操作人员的评级进行调整,返回执行过程a1重新进行回归处理。
[0189]
a6、完成回归处理,得到产能估算模型(也就是回归后得到的广义函数a和广义函数b,如公式(10)和公式(11))。
[0190]
由于包装产线不需要考虑bom层级问题,确定如上述公式(1)所示的第一约束条件,及确定如上述公式(3)所示的第二约束条件。对于第二约束条件中的α
i,k,t
和β
i,k,t
的具体数值,可通过将相应的产线(a产线和b产线)、瓶规格、箱规格和当天排班的操作人员的评级分别代入公式(10)和公式(11)得到。l
k,t
为基准日产能,若当日存在加班则将基准日产能根据时长增加,基准日产能的数据如表2。
[0191]
表2:
[0192][0193]
订单1的效率系数数据如表3。
[0194]
表3:
[0195][0196]
确定如上述公式(5)所示的第四约束条件。构建如上述公式(8)所示的目标函数,
及确定如上述公式(9)所示的校验约束。
[0197]
因此,整个mip问题由公式(8)、公式(1)、公式(3)、公式(5)和公式(9)构成,利用调整后的分支定界算法对该mip问题进行求解得到包装产线的排产计划,该排产计划所包含的每日计划内容如表4。
[0198]
表4:
[0199][0200]
与上述本发明实施例提供的一种确定排产计划的方法相对应,参见图6,本发明实施例还提供了一种确定排产计划的系统的结构框图,该系统包括:获取单元601、第一确定单元602、第二确定单元603、第三确定单元604、构建单元605和处理单元606;
[0201]
获取单元601,用于获取待处理产线的静态数据和实时数据,静态数据至少包含:产品特征、操作人员的评级、历史生产数据和产线数据,实时数据至少包含:库存信息、排班信息和订单信息。
[0202]
第一确定单元602,用于根据产品特征、操作人员的评级和排班信息,结合预设的产能估算模型,确定待处理产线的生产效率,产能估算模型由根据产品特征、操作人员的评级和历史生产数据确定得到。
[0203]
第二确定单元603,用于利用订单信息、库存信息、生产效率和产线数据,确定第一约束条件、第二约束条件、第三约束条件和第四约束条件,第一约束条件表示待处理产线的产品对应的库存、生产和需求的平衡关系,第二约束条件表示待处理产线的机器的每日生产上限,第三约束条件表示一个产品由待处理产线的多个机器生产的生产上限,第四约束条件表示待处理产线计划生产的上限。
[0204]
在具体实现中,第二确定单元603具体用于:利用订单信息和库存信息,确定第一约束条件;根据生产效率和产线数据,确定第二约束条件和第三约束条件;通过订单信息,确定第四约束条件。
[0205]
第三确定单元604,用于根据生产效率,确定待处理产线的最大化产能和最小化库存成本。
[0206]
构建单元605,用于通过最大化产能和最小化库存成本,构建目标函数。
[0207]
处理单元606,用于将第一约束条件、第二约束条件、第三约束条件和第四约束条件作为目标函数的约束条件,结合预设的校验约束和订单信息中指定目标的优先度,对目标函数进行求解,得到待处理产线的排产计划,指定目标为订单信息中的订单、客户和产品
中任意一项或多项。
[0208]
在具体实现中,处理单元606具体用于:将第一约束条件、第二约束条件、第三约束条件和第四约束条件作为目标函数的约束条件,结合预设的校验约束和订单信息中指定目标的优先度,利用分支定界算法对目标函数进行求解,得到待处理产线的排产计划;其中,在利用分支定界算法对目标函数进行求解的过程中,利用松弛固定法逐步收紧整数变量,及按照时间顺序和节点权重进行分支选择。
[0209]
优选的,处理单元606还用于:若获取到新的订单,根据新的订单的内容,确定新约束条件;将第一约束条件、第二约束条件、第三约束条件、第四约束条件和新约束条件作为目标函数的约束条件,结合校验约束和订单信息中指定目标的优先度,对目标函数进行求解,得到待处理产线的新排产计划。
[0210]
优选的,处理单元606还用于:若变更排产计划,将排产计划的变更内容、第一约束条件、第二约束条件、第三约束条件和第四约束条件作为目标函数的约束条件,结合预设的校验约束和订单信息中指定目标的优先度,对目标函数进行求解,得到待处理产线的新排产计划。
[0211]
在本发明实施例中,通过预设的产能估算模型预估待处理产线的生产效率,并制定多个用于避免计划冲突的约束条件。根据生产效率构建目标函数,将约束条件添加至目标函数中,利用调整后的分支定界算法对目标函数进行求解得到待处理产线的排产计划,在保证生产线稳定运行的前提下获取最大效益的排产计划。
[0212]
优选的,结合图6示出的内容,用于确定产能估算模型的第一确定单元包括:回归模块、获取模块、确定模块和处理模块,各个模块的执行原理为:
[0213]
回归模块,用于利用产品特征和操作人员的评级对历史生产数据中的历史生产效率进行回归,得到第一模型。
[0214]
获取模块,用于从历史生产数据中获取每个操作人员的实际产能。
[0215]
确定模块,用于根据第一模型,确定每个操作人员的预估产能,及确定每个操作人员的实际产能与预估产能之间的产能偏差。
[0216]
处理模块,用于若每个操作人员的产能偏差均在偏差阈值范围内,确定第一模型为产能估算模型;若存在产能偏差在偏差阈值范围外的操作人员,根据产能偏差,对产能偏差在偏差阈值范围外的操作人员的评级进行调整,返回执行回归模块。
[0217]
在本发明实施例中,利用产品特征和操作人员的评级对历史生产数据中的历史生产效率进行回归,并在回归过程中调整不准确的操作人员的评级,进而得到最终的产能估算模型,保证产能估算模型估算待处理产线的生产效率的精度。
[0218]
优选的,结合图6示出的内容,处理单元包括:求解模块、修正模块和处理模块,各个模块的执行原理如下:
[0219]
求解模块,用于将第一约束条件、第二约束条件、第三约束条件和第四约束条件作为目标函数的约束条件,结合订单信息中指定目标的优先度,利用分支定界算法对目标函数进行求解。
[0220]
修正模块,用于若对目标函数进行求解后未得到求解结果,修正第一约束条件,返回执行求解模块;
[0221]
处理模块,用于若对目标函数进行求解后得到求解结果,确定库存信息是否满足
预设的校验约束;若库存信息满足校验约束,将求解结果作为待处理产线的排产计划;若库存信息不满足校验约束,将校验约束作为目标函数的约束条件,返回执行求解模块利用分支定界算法对目标函数进行求解。
[0222]
在本发明实施例中,根据排产计划问题的特点调整支定界算法,利用调整后的分支定界算法对目标函数进行求解得到待处理产线的排产计划,提升确定排产计划的效率。
[0223]
综上所述,本发明实施例提供一种确定排产计划的方法及系统,通过预设的产能估算模型预估待处理产线的生产效率,并制定多个用于避免计划冲突的约束条件。根据生产效率构建目标函数,将约束条件添加至目标函数中,对目标函数进行求解得到待处理产线的排产计划,在保证生产线稳定运行的前提下获取最大效益的排产计划。
[0224]
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0225]
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0226]
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1