具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
为了使本领域的技术人员更好的理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,在本领域普通技术人员没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明的保护范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。
根据本发明的实施例,提供了一种生产排程的数据处理装置,该生产排程的数据处理装置用于分工序地对整个生产计划进行排程。
图1是根据本发明第一实施例的生产排程的数据处理装置的示意图。
如图1所示,该装置包括:第一获取单元10、第一判断单元20、第二获取单元30、确定单元40和第一输出单元50。
需要说明的是,发明人发现,现有的生产排程结果不可执行的主要原因在于其忽略了生产工序中的零部件的批量生产,即忽略了零部件批量进生产设备和批量出生产设备。
在本发明实施例中,生产工序可以包括批量生产工序前的工序、批量生产工序和批量生产工序后的工序。其中,批量生产工序前的工序和批量生产工序后的工序可以分别包括一个或者多个子工序。在该一个或者多个子工序中,零部件生产可以为单个零部件或者少量零部件的生产。零部件的相关信息可以以工单为载体,并且零部件可以以工单为单位进行生产排程。
第一获取单元10用于获取批量生产工序前的工序的排程结果。
具体地,在获取批量生产工序前的工序的排程结果之前,可以根据每个工单的预设次序信息、批量生产工序前的工序中生产设备工作日历信息等进行生产计划排程。预设次序信息可以包括工单的优先级次序、交货单的时间和工单上零部件的生产周期等信息。
批量生产工序前的工序的排程工具可以是solver排程软件。在该排程阶段,输入信息可以包括第一输入信息和第二输入信息。第一输入信息可以是零部件工单的信息。其中,零部件工单可以包括一个或者多个,每个零部件工单的信息可以包括零部件的数量、体积、交货时间、可开始加工的时间和生产优先级等信息。第二输入信息可以包括批量生产工序前的工序中的生产设备资源能力、工艺工序约束条件和设备工作日历等信息,其中,设备资源能力可以包括设备数量和单个设备的容量等。在该阶段的排程过程中,可以根据第二输入信息对多个等待排程的零部件工单进行排程,得到排程结果。该排程结果可以按照工单上零部件的类型信息、并以工单为单位、分类地输入到排程软件的工单池中。工单池中的工单信息可以作为批量生产工序的输入信息,并且工单池中的工单信息以工单为单位输入到批量生产工序中。由于每个工单上的零部件为相同类型的零部件,因此工单信息以工单为单位输入到批量生产工序中可以保证相同类型的零部件在同一批次、同一生产设备中进行加工,进而可以保证加工后的零部件的质量相同。工单池中的工单信息可以包括零部件的数量、体积、类型、可开始加工的时间、可结束加工的时间和用于批量生产的设备资源等信息。其中,用于批量生产的设备资源可以包括设备的数量和设备的容量等,可开始加工的时间可以表示工单到达用于批量生产的设备的时间。
优选地,可以在工单池中的一个或者多个工单对应的零部件的总体积大于或者等于单个批量生产的设备的容量时开始获取批量生产工序前的工序的排程结果。这样,既可以保证单个批量生产的设备的产能的最大化,也可以保证排程结果的可执行性,即满足批量生产工序前的工序和批量生产工序在时间上的可执行性。
获取批量生产工序前的工序的排程结果可以是以工单为单位获取一个或者多个工单的信息,其中,批量生产工序前的工序的排程结果中可以包括待批量生产的零部件的总体积信息。待批量生产的零部件的总体积信息对应的体积可以通过每个工单上零部件的数量信息对应的数量和体积信息对应的体积进行运算得到。
优选地,获取一个或者多个工单的信息可以是按照工单的预设次序信息进行获取。预设次序信息可以包括工单的优先级次序、交货单的时间和工单上零部件的生产周期等信息。
优选地,当工单的信息被获取之后,工单的信息对应的工单可以从工单池中删除,这样,可以避免同一工单信息被重复排程。
第一判断单元20用于判断待批量生产的零部件的总体积信息对应的体积是否在预设容量范围内。
预设容量可以为批量生产设备的容量。由于批量生产设备可以包括一个或者多个,并且不同的批量生产设备的容量可以相同或者不同,因此预设容量与批量生产设备相对应,也可以包括一个或者多个。又由于批量生产设备的容量可以存在误差,因此预设容量范围与批量生产设备的容量的误差相关。
例如,批量生产设备的容量可以为1,并且预设容量范围可以是0.9-1.1,或者预设容量范围可以是1.6-1.8。
待批量生产的零部件可以为同一类型的零部件,并且待批量生产的零部件可以以工单为单位、其为来自一个或者多个工单的零部件,但是每个工单的零部件需要同时被加工。如表1所示,假设预设容量范围为0.9-1.1,在总体积0.9在预设容量范围内。
表1
零部件 |
装载量 |
数量 |
容积 |
容积累积 |
A |
1000 |
300 |
0.3 |
0.3 |
B |
500 |
100 |
0.2 |
0.5 |
C |
100 |
20 |
0.2 |
0.9 |
需要说明的是,零部件的装载量是指批量生产设备一次同时加工同种零部件时,可以装载的该种零部件的个数。待批量生产的零部件
第二获取单元30用于如果判断出待批量生产的零部件的总体积信息对应的体积在预设容量范围内,则获取批量生产工序的排程结果。
获取的批量生产工序的排程结果可以是待批量生产的零部件对应的工单按照预设次序排成的序列的信息。
需要说明的是,预设容量范围可以是单个批量生产设备的容量范围,每判断一次,并且该次判断满足预设条件,则获取一个批次的批量生产工序的排程结果,按照相同的方法,可以获取多个批次的批量生产工序的排程结果,所有批次的批量生产工序的排程结果按照获取的时间顺序排列可以得到整个批量生产工序的排程结果。
需要说明的是,批量生产可以包括多个类型的批量生产。这样,当工单上的零部件需要进行多种类型的批量生产时,在该工单的信息在批量生产工序中完成第一次排程之后,可以将该工单的信息重新输入工单池中等待下一次的生产排程。
确定单元40用于由批量生产工序的排程结果得到批量生产工序后的工序的排程结果。
优选地,获取批量生产工序的排程结果的时间可以是批量生产工序后的工序的排程开始时间。这样,避免了批量生产工序的排程结果和批量生产工序后的工序的排程结果在执行时间上的冲突,进而达到了其在时间上的可执行性。
批量生产工序的排程结果可以包括工单信息,该工单信息可以包括零部件的数量、体积、类型、可开始加工的时间、可结束加工的时间和用于批量生产的设备资源等信息。
具体地,批量生产工序后的工序的排程方式与批量生产工序前的工序的排程方式相同,在此不再赘述。
第一输出单元50用于依次输出批量生产工序前的工序的排程结果、批量生产工序的排程结果和批量生产工序后的工序的排程结果。
需要说明的是,依次输出的批量生产工序前的工序的排程结果、批量生产工序的排程结果和批量生产工序后的工序的排程结果可以显示在排程软件的界面上,同时可以依次将批量生产工序前的工序的排程结果、批量生产工序的排程结果和批量生产工序后的工序的排程结果存储到排程软件的存储单元中。
需要说明的是,对上述输出的排程结果可以按照预先设定的条件进行调整,并在排程软件的显示界面上显示调整后的排程结果,以及在排程软件的存储单元中存储调整后的排程结果。
通过本发明实施例,由于将生产排程分为三个阶段的排程,经过批量生产工序前的工序,可以得到其排程结果,并且该排程结果可以作为批量生产工序的输入信息,根据该输入信息可以确定需要在批量生产工序阶段排程的零部件的数量、体积、到达批量生产设备的时间等信息,基于上述输入信息对批量生产工序进行排程,可以得到批量生产工序的排程结果,并且在得到批量生产工序的排程结果的同时基于此结果可以对批量生产工序后的工序进行排程,并得到该阶段的排程结果,因此,达到了排程结果的可执行性的效果。
图2是根据本发明第二实施例的生产排程的数据处理装置的示意图。
如图2所示,该实施例可以作为图1所示实施例的优选实施方式,该实施例的生产排程的数据处理装置包括第一实施例的第一获取单元10、第一判断单元20、第二获取单元30、确定单元40和第一输出单元50,其中,第一获取单元10包括获取模块101和计算模块102。
确定单元40和第一输出单元50的作用与第一实施例中的相同,在此不再赘述。
优选地,批量生产工序前的工序可以为批量热处理前的工序,批量生产工序可以为批量热处理工序,批量生产工序后的工序可以为批量热处理后的工序。
获取模块101用于获取批量热处理前的工序中的工单的信息,工单的信息包括工单上待批量热处理的零部件的体积信息和数量信息。
优选地,工单可以包括多个工单,工单信息可以包括多个工单对应的信息。获取批量热处理前的工序中的工单的信息可以包括按照多个工单的预设次序依次获取多个工单的信息。多个工单的预设次序可以包括多个工单的优先级次序、交货单的时间和工单上零部件的生产周期等。
计算模块102用于通过待批量热处理的零部件的体积信息和数量信息进行计算,得到待批量热处理的零部件的总体积信息。
第一判断单元20用于判断待批量热处理的零部件的总体积信息对应的体积是否在预设容量范围内。
第二获取单元30用于如果判断出待批量热处理的零部件的总体积信息对应的体积在预设容量范围内,则获取批量热处理工序的排程结果。
优选地,在本发明实施例中,该数据处理装置还可以包括:删除单元用于在获取批量热处理工序的排程结果之前,如果判断出待批量热处理的零部件的总体积信息对应的体积不在预设容量范围内,并且大于预设容量范围的上限,则删除最后获取的工单的信息。
预设容量范围的上限可以为预设容量范围的最大值。优选地,删除的最后获取的工单的信息可以重新输入到工单池中。这样,可以在下一批次对该工单进行排程,从而避免因遗漏该工单而造成整个排程结果的不可执行性。
其中,第二获取单元30还用于在删除最后获取的工单的信息之后,可以获取按照预设次序获取的剩余多个工单的信息作为批量热处理工序的排程结果。
例如,获取的多个工单的顺序如下:A、B、C、D,其中,D为被删除的工单的信息对应的工单,则获取的批量热处理工序的排程结果为A、B、C。
进一步优选地,在删除最后获取的工单的信息之后,可以将被删除的最后获取的工单上的零部件的总体积V1从待批量热处理的零部件的总体积信息对应的体积V中减掉,得到修改后的体积(V-V1)。在得到修改后的体积(V-V1)之后,该数据处理方法可以通过以下方式调整修改后的体积(V-V1),使其在预设容量范围内:
步骤12,从工单池中重新获取一个工单及其对应的信息。其中,重新获取的工单上零部件的总体积小于被删除的最后获取的工单上的零部件的总体积,并且按照预设的次序信息重新获取该工单的信息。
步骤14,计算重新获取的工单上的零部件的总体积V2。
步骤16,将重新获取的工单上的零部件的总体积V2累加到修改后的体积(V-V1)上,得到再次修改后的体积(V-V1+V2)。
步骤18,判断再次修改后的体积(V-V1+V2)是否在预设容量范围内。
其中,如果判断出再次修改后的体积(V-V1+V2)在预设容量范围内,则获取批量热处理工序的排程结果。如果判断出再次修改后的体积(V-V1+V2)不在预设容量范围内,并且大于预设容量范围的上限,则重复上述过程。
进一步优选地,如果遍历工单池中所有的工单得到的最终的修改后的体积不在预设容量范围内,则输出警示信息。其中,不在预设容量范围内包括大于预设容量范围的上限和小于预设容量范围的下限。预设容量范围的下限可以为预设容量范围的最小值。
工单可以包括第一工单和第二工单。工单信息可以包括第一工单的信息和第二工单的信息。获取批量热处理前的工序中的工单的信息可以包括按照多个工单的预设次序依次获取上述第一工单的信息和第二工单的信息。预设次序可以包括工单的优先级次序、交货单的时间和工单上零部件的生产周期等。其中,第一工单的信息的预设次序在第二工单的信息的预设次序之前。
具体地,可以通过以下方式对热处理工序进行排程:
获取模块101按照预设次序首先获取第一工单的信息,第一工单的信息包括第一工单上待批量热处理的零部件的体积信息和数量信息。
计算模块102通过第一工单上待批量热处理的零部件的体积信息和数量信息进行计算,得到待批量热处理的零部件的第一总体积信息。
第一判断单元20还用于判断待批量热处理的零部件的第一总体积信息对应的第一体积是否在预设容量范围内。
添加单元用于如果判断出待批量热处理的零部件的第一总体积信息对应的第一体积不在预设容量范围内,且小于预设容量范围的下限,则添加第二工单的信息。第二工单的信息包括第二工单上待批量热处理的零部件的体积信息和数量信息。
计算单元用于通过第二工单上待批量热处理的零部件的体积信息和数量信息进行计算,得到计算结果。
累加单元用于将计算结果累加到第一体积上,得到待批量热处理的零部件的第二体积。
第二判断单元用于判断待批量热处理的零部件的第二体积是否在预设容量范围内。
第二判断单元30还用于如果判断出待批量热处理的零部件的第二体积在预设容量范围内,则按先后顺序获取第一工单的信息和第二工单的信息作为批量热处理工序的排程结果。
该热处理工序进行排程还可以包括:第二输出单元用于在判断待批量热处理的零部件的第二体积是否在预设容量范围内之后,如果判断出待批量热处理的零部件的第二体积不在预设容量范围内,则输出警示信息。其中,不在预设容量范围包括大于预设容量范围的上限和小于预设容量范围的下限。预设容量范围的下限可以为预设容量范围的最小值。
具体地,单个工单上的零部件在同一批次进行热处理,同一批次的热处理可以同时处理不同的工单上的零部件,并且单个工单可能仅能在部分熔炉(热处理设备)中进行热处理。待排程的工单不一定是同时到达的,即同一批次中各工单的到达时间可能有差别。待处理而未能处理的工单,可以在相当长时间后完工。在本发明实施例中,可以通过以下建模方式实现该数据处理装置:
其中,模型符号与参数可以为:m表示空闲熔炉台数,n表示待排程工单数,s表示排程时刻,Mi表示第i台熔炉,ci表示第i台熔炉的容积,wj表示第j个工单,Mj表示可处理第j个工单的熔炉集合,vj表示第j个工单的体积,rj表示第j个工单的到达时刻,pj表示第j个工单的处理时间,表示工单分配符号,表示工单Wj分配给熔炉Mi,∈为集合符号,表示“包含于”,i=1、2、……m,j=1、2、……n。
第一步,求解变量。
求解0-1变量xij,满足
第二步,建立数学模型。
0-1变量yij,满足
由于工单具有时效性,因此越早到达热处理设备或者交货单时间越早工单的优先级越高。以总加权流程时间(total flow time)最小为排程目标,以s-rj作为工单Wj的权重。由于待处理工单在s时刻难以全部投入处理,设不能投入处理的工单需要在T时间后才能处理完毕因此,总加权流程时间为
在上式中,由于是常数,因此,以总加权流程时间的排程目标等价于以下式作为排程目标:
又由于T>>pj,则上式等价于
那么,也等价于以下的排程目标
据此,建立这样的数学规划模型:
xijyij=0 (4)
xij={0,1} (5),
i=1,2,...,m;j=1,2,...,n (6),
在该模型中,式(1)表示等价的总加权流程时间排程目标,式(2)表示每个工单只能分配到一台熔炉,式(3)表示熔炉的产能约束,式(4)表示工单分配约束,只能分配给可处理的熔炉,式(5)表示变量xij是0-1变量。
通过本发明实施例,由于可以添加或者删除工单的信息,因此可以最大限度的使每批次的排程中的批量生产设备达到产能最大化。
根据本发明的实施例,提供了一种生产排程的数据处理方法,该生产排程的数据处理方法用于分工序地对整个生产计划进行排程。该生产排程的数据处理方法可以运行在计算机处理设备上。需要说明的是,本发明实施例所提供的生产排程的数据处理方法可以通过本发明实施例的生产排程的数据处理装置来执行,本发明实施例的生产排程的数据处理装置也可以用于执行本发明实施例的生产排程的数据处理方法。
图3是根据本发明第一实施例的生产排程的数据处理方法的流程图。
如图3所示,该方法包括如下的步骤S302至步骤S310:
需要说明的是,发明人发现,现有的生产排程结果不可执行的主要原因在于其忽略了生产工序中的零部件的批量生产,即忽略了零部件批量进生产设备和批量出生产设备。
在本发明实施例中,生产工序可以包括批量生产工序前的工序、批量生产工序和批量生产工序后的工序。其中,批量生产工序前的工序和批量生产工序后的工序可以分别包括一个或者多个子工序。在该一个或者多个子工序中,零部件生产可以为单个零部件或者少量零部件的生产。零部件的相关信息可以以工单为载体,并且零部件可以以工单为单位进行生产排程。
步骤S302,获取批量生产工序前的工序的排程结果。
具体地,在获取批量生产工序前的工序的排程结果之前,可以根据每个工单的预设次序信息、批量生产工序前的工序中生产设备工作日历信息等进行生产计划排程。预设次序信息可以包括工单的优先级次序、交货单的时间和工单上零部件的生产周期等信息。
批量生产工序前的工序的排程工具可以是solver排程软件。在该排程阶段,输入信息可以包括第一输入信息和第二输入信息。第一输入信息可以是零部件工单的信息。其中,零部件工单可以包括一个或者多个,每个零部件工单的信息可以包括零部件的数量、体积、交货时间、可开始加工的时间和生产优先级等信息。第二输入信息可以包括批量生产工序前的工序中的生产设备资源能力、工艺工序约束条件和设备工作日历等信息,其中,设备资源能力可以包括设备数量和单个设备的容量等。在该阶段的排程过程中,可以根据第二输入信息对多个等待排程的零部件工单进行排程,得到排程结果。该排程结果可以按照工单上零部件的类型信息、并以工单为单位、分类地输入到排程软件的工单池中。工单池中的工单信息可以作为批量生产工序的输入信息,并且工单池中的工单信息以工单为单位输入到批量生产工序中。由于每个工单上的零部件为相同类型的零部件,因此工单信息以工单为单位输入到批量生产工序中可以保证相同类型的零部件在同一批次、同一生产设备中进行加工,进而可以保证加工后的零部件的质量相同。工单池中的工单信息可以包括零部件的数量、体积、类型、可开始加工的时间、可结束加工的时间和用于批量生产的设备资源等信息。其中,用于批量生产的设备资源可以包括设备的数量和设备的容量等,可开始加工的时间可以表示工单到达用于批量生产的设备的时间。
优选地,可以在工单池中的一个或者多个工单对应的零部件的总体积大于或者等于单个批量生产的设备的容量时开始获取批量生产工序前的工序的排程结果。这样,既可以保证单个批量生产的设备的产能的最大化,也可以保证排程结果的可执行性,即满足批量生产工序前的工序和批量生产工序在时间上的可执行性。
获取批量生产工序前的工序的排程结果可以是以工单为单位获取一个或者多个工单的信息,其中,批量生产工序前的工序的排程结果中可以包括待批量生产的零部件的总体积信息。待批量生产的零部件的总体积信息对应的体积可以通过每个工单上零部件的数量信息对应的数量和体积信息对应的体积进行运算得到。
优选地,获取一个或者多个工单的信息可以是按照工单的预设次序信息进行获取。预设次序信息可以包括工单的优先级次序、交货单的时间和工单上零部件的生产周期等信息。
优选地,当工单的信息被获取之后,工单的信息对应的工单可以从工单池中删除,这样,可以避免同一工单信息被重复排程。
步骤S304,判断待批量生产的零部件的总体积信息对应的体积是否在预设容量范围内。
预设容量可以为批量生产设备的容量。由于批量生产设备可以包括一个或者多个,并且不同的批量生产设备的容量可以相同或者不同,因此预设容量与批量生产设备相对应,也可以包括一个或者多个。又由于批量生产设备的容量可以存在误差,因此预设容量范围与批量生产设备的容量的误差相关。
例如,批量生产设备的容量可以为1,并且预设容量范围可以是0.9-1.1,或者预设容量范围可以是1.6-1.8。
待批量生产的零部件可以为同一类型的零部件,并且待批量生产的零部件可以以工单为单位、其为来自一个或者多个工单的零部件,但是每个工单的零部件需要同时被加工。如表1所示,假设预设容量范围为0.9-1.1,在总体积0.9在预设容量范围内。
需要说明的是,零部件的装载量是指批量生产设备一次同时加工同种零部件时,可以装载的该种零部件的个数。待批量生产的零部件
步骤S306,如果判断出待批量生产的零部件的总体积信息对应的体积在预设容量范围内,则获取批量生产工序的排程结果。
获取的批量生产工序的排程结果可以是待批量生产的零部件对应的工单按照预设次序排成的序列的信息。
需要说明的是,预设容量范围可以是单个批量生产设备的容量范围,每判断一次,并且该次判断满足预设条件,则获取一个批次的批量生产工序的排程结果,按照相同的方法,可以获取多个批次的批量生产工序的排程结果,所有批次的批量生产工序的排程结果按照获取的时间顺序排列可以得到整个批量生产工序的排程结果。
需要说明的是,批量生产可以包括多个类型的批量生产。这样,当工单上的零部件需要进行多种类型的批量生产时,在该工单的信息在批量生产工序中完成第一次排程之后,可以将该工单的信息重新输入工单池中等待下一次的生产排程。
步骤S308,由批量生产工序的排程结果得到批量生产工序后的工序的排程结果。
优选地,获取批量生产工序的排程结果的时间可以是批量生产工序后的工序的排程开始时间。这样,避免了批量生产工序的排程结果和批量生产工序后的工序的排程结果在执行时间上的冲突,进而达到了其在时间上的可执行性。
批量生产工序的排程结果可以包括工单信息,该工单信息可以包括零部件的数量、体积、类型、可开始加工的时间、可结束加工的时间和用于批量生产的设备资源等信息。
具体地,批量生产工序后的工序的排程方法与批量生产工序前的工序的排程方法相同,在此不再赘述。
步骤S310,依次输出批量生产工序前的工序的排程结果、批量生产工序的排程结果和批量生产工序后的工序的排程结果。
需要说明的是,依次输出的批量生产工序前的工序的排程结果、批量生产工序的排程结果和批量生产工序后的工序的排程结果可以显示在排程软件的界面上,同时可以依次将批量生产工序前的工序的排程结果、批量生产工序的排程结果和批量生产工序后的工序的排程结果存储到排程软件的存储单元中。
需要说明的是,对上述输出的排程结果可以按照预先设定的条件进行调整,并在排程软件的显示界面上显示调整后的排程结果,以及在排程软件的存储单元中存储调整后的排程结果。
通过本发明实施例,由于将生产排程分为三个阶段的排程,经过批量生产工序前的工序,可以得到其排程结果,并且该排程结果可以作为批量生产工序的输入信息,根据该输入信息可以确定需要在批量生产工序阶段排程的零部件的数量、体积、到达批量生产设备的时间等信息,基于上述输入信息对批量生产工序进行排程,可以得到批量生产工序的排程结果,并且在得到批量生产工序的排程结果的同时基于此结果可以对批量生产工序后的工序进行排程,并得到该阶段的排程结果,因此,达到了排程结果的可执行性的效果。
图4是根据本发明第二实施例的生产排程的数据处理方法的流程图。
如图4所示,该生产排程的数据处理方法包括如下的步骤S402至步骤S412,该实施例可以作为图3所示实施例的优选实施方式。
优选地,批量生产工序前的工序可以为批量热处理前的工序,批量生产工序可以为批量热处理工序,批量生产工序后的工序可以为批量热处理后的工序。
步骤S402,获取批量热处理前的工序中的工单的信息,工单的信息包括工单上待批量热处理的零部件的体积信息和数量信息。
优选地,工单可以包括多个工单,工单信息可以包括多个工单对应的信息。获取批量热处理前的工序中的工单的信息可以包括按照多个工单的预设次序依次获取多个工单的信息。多个工单的预设次序可以包括多个工单的优先级次序、交货单的时间和工单上零部件的生产周期等。
步骤S404,通过待批量热处理的零部件的体积信息和数量信息进行计算,得到待批量热处理的零部件的总体积信息。
步骤S406,判断待批量热处理的零部件的总体积信息对应的体积是否在预设容量范围内。
步骤S408,如果判断出待批量热处理的零部件的总体积信息对应的体积在预设容量范围内,则获取批量热处理工序的排程结果。
优选地,在获取批量热处理工序的排程结果之前,该数据处理方法还可以包括:如果判断出待批量热处理的零部件的总体积信息对应的体积不在预设容量范围内,并且大于预设容量范围的上限,则删除最后获取的工单的信息。
预设容量范围的上限可以为预设容量范围的最大值。优选地,删除的最后获取的工单的信息可以重新输入到工单池中。这样,可以在下一批次对该工单进行排程,从而避免因遗漏该工单而造成整个排程结果的不可执行性。
其中,在删除最后获取的工单的信息之后,可以获取按照预设次序获取的剩余多个工单的信息作为批量热处理工序的排程结果。
例如,获取的多个工单的顺序如下:A、B、C、D,其中,D为被删除的工单的信息对应的工单,则获取的批量热处理工序的排程结果为A、B、C。
进一步优选地,在删除最后获取的工单的信息之后,可以将被删除的最后获取的工单上的零部件的总体积V1从待批量热处理的零部件的总体积信息对应的体积V中减掉,得到修改后的体积(V-V1)。在得到修改后的体积(V-V1)之后,该数据处理方法可以通过以下方式调整修改后的体积(V-V1),使其在预设容量范围内:
步骤12,从工单池中重新获取一个工单及其对应的信息。其中,重新获取的工单上零部件的总体积小于被删除的最后获取的工单上的零部件的总体积,并且按照预设的次序信息重新获取该工单的信息。
步骤14,计算重新获取的工单上的零部件的总体积V2。
步骤16,将重新获取的工单上的零部件的总体积V2累加到修改后的体积(V-V1)上,得到再次修改后的体积(V-V1+V2)。
步骤18,判断再次修改后的体积(V-V1+V2)是否在预设容量范围内。
其中,如果判断出再次修改后的体积(V-V1+V2)在预设容量范围内,则获取批量热处理工序的排程结果。如果判断出再次修改后的体积(V-V1+V2)不在预设容量范围内,并且大于预设容量范围的上限,则重复上述过程。
进一步优选地,如果遍历工单池中所有的工单得到的最终的修改后的体积不在预设容量范围内,则输出警示信息。其中,不在预设容量范围内包括大于预设容量范围的上限和小于预设容量范围的下限。预设容量范围的下限可以为预设容量范围的最小值。
步骤S410和步骤S412,分别与步骤S408和步骤S410类似,在此不再赘述。
工单可以包括第一工单和第二工单。工单信息可以包括第一工单的信息和第二工单的信息。获取批量热处理前的工序中的工单的信息可以包括按照多个工单的预设次序依次获取上述第一工单的信息和第二工单的信息。预设次序可以包括工单的优先级次序、交货单的时间和工单上零部件的生产周期等。其中,第一工单的信息的预设次序在第二工单的信息的预设次序之前。
具体地,可以通过以下方式对热处理工序进行排程:
步骤21,按照预设次序首先获取第一工单的信息,第一工单的信息包括第一工单上待批量热处理的零部件的体积信息和数量信息。
步骤22,通过第一工单上待批量热处理的零部件的体积信息和数量信息进行计算,得到待批量热处理的零部件的第一总体积信息。
步骤23,判断待批量热处理的零部件的第一总体积信息对应的第一体积是否在预设容量范围内。
步骤24,如果判断出待批量热处理的零部件的第一总体积信息对应的第一体积不在预设容量范围内,且小于预设容量范围的下限,则添加第二工单的信息。第二工单的信息包括第二工单上待批量热处理的零部件的体积信息和数量信息。
步骤25,通过第二工单上待批量热处理的零部件的体积信息和数量信息进行计算,得到计算结果。
步骤26,将计算结果累加到第一体积上,得到待批量热处理的零部件的第二体积。
步骤27,判断待批量热处理的零部件的第二体积是否在预设容量范围内。
步骤28,如果判断出待批量热处理的零部件的第二体积在预设容量范围内,则按先后顺序获取第一工单的信息和第二工单的信息作为批量热处理工序的排程结果。
在判断待批量热处理的零部件的第二体积是否在预设容量范围内之后,该热处理工序进行排程还可以包括:
如果判断出待批量热处理的零部件的第二体积不在预设容量范围内,则输出警示信息。其中,不在预设容量范围包括大于预设容量范围的上限和小于预设容量范围的下限。预设容量范围的下限可以为预设容量范围的最小值。
具体地,单个工单上的零部件在同一批次进行热处理,同一批次的热处理可以同时处理不同的工单上的零部件,并且单个工单可能仅能在部分熔炉(热处理设备)中进行热处理。待排程的工单不一定是同时到达的,即同一批次中各工单的到达时间可能有差别。待处理而未能处理的工单,可以在相当长时间后完工。在本发明实施例中,可以通过以下建模方式实现该数据处理方法:
其中,模型符号与参数可以为:m表示空闲熔炉台数,n表示待排程工单数,s表示排程时刻,Mi表示第i台熔炉,ci表示第i台熔炉的容积,wj表示第j个工单,Mj表示可处理第j个工单的熔炉集合,vj表示第j个工单的体积,rj表示第j个工单的到达时刻,pj表示第j个工单的处理时间,表示工单分配符号,表示工单Wj分配给熔炉Mi,∈为集合符号,表示“包含于”,i=1、2、……m,j=1、2、……n。
第一步,求解变量。
求解0-1变量xij,满足
第二步,建立数学模型。
0-1变量yij,满足
由于工单具有时效性,因此越早到达热处理设备或者交货单时间越早工单的优先级越高。以总加权流程时间(total flow time)最小为排程目标,以s-rj作为工单Wj的权重。由于待处理工单在s时刻难以全部投入处理,设不能投入处理的工单需要在T时间后才能处理完毕因此,总加权流程时间为
在上式中,由于是常数,因此,以总加权流程时间的排程目标等价于以下式作为排程目标:
又由于T>>pj,则上式等价于
那么,也等价于以下的排程目标
据此,建立这样的数学规划模型:
xijyij=0 (4),
xij={0,1} (5)
i=1,2,...,m;j=1,2,...,n(6),
在该模型中,式(1)表示等价的总加权流程时间排程目标,式(2)表示每个工单只能分配到一台熔炉,式(3)表示熔炉的产能约束,式(4)表示工单分配约束,只能分配给可处理的熔炉,式(5)表示变量xij是0-1变量。
通过本发明实施例,由于可以添加或者删除工单的信息,因此可以最大限度的使每批次的排程中的批量生产设备达到产能最大化。
从以上的描述中,可以看出,本发明实现了如下技术效果:由于将生产排程分为三个阶段的排程,经过批量生产工序前的工序,可以得到其排程结果,并且该排程结果可以作为批量生产工序的输入信息,根据该输入信息可以确定需要在批量生产工序阶段排程的零部件的数量、体积、到达批量生产设备的时间等信息,基于上述输入信息对批量生产工序进行排程,可以得到批量生产工序的排程结果,并且在得到批量生产工序的排程结果的同时基于此结果可以对批量生产工序后的工序进行排程,并得到该阶段的排程结果,因此,达到了排程结果的可执行性的效果。另外,由于可以添加或者删除工单的信息,因此可以最大限度的使每批次的排程中的批量生产设备达到产能最大化。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。