本发明属于产品生产技术领域,特别涉及一种食品加工生产中的设备分配方法。
背景技术:
目前大多数生产企业都是在收到下游订单汇总后根据商品既定的生产工艺流程和原料构成采用原始的人工分配并记录在电子表格中的方式进行处理,在生产环节依然需要固定的模式通过人工分配的方式进行生产任务排序和设备分配数据,再将排列好的生产任务排程的数据交给实际的生产执行者,再根据生产执行者的历史工作经验对排程数据进行手工调整优化,这样的弊端一是人工分配耗时费力,准确度低,二是手工调整优化缺乏干预依据更多是依靠历史加工经验进行,准确度、可靠性较低。
技术实现要素:
本发明的目的在于克服现有技术的不足,提供一种能够有效的满足工厂在多个生产任务需要同时生产,并且存在依赖关系的情况进行自动的任务排序和设备分配,提高企业的生产效率和设备使用率,降低人工成本的食品加工生产中的设备分配方法。
本发明的目的是通过以下技术方案来实现的:一种食品加工生产中的设备分配方法,包括以下步骤:
s1、接收从第三方平台传递过来的食品采购订单并进行存储;
s2、根据订单中商品需求时间以及商品的加工流程和构成原料,按加工流程生成生产任务,并根据当前库存量和加工原料需求量之差生成采购任务;
s3、初始化生产任务;
s4、初始化生产设备;
s5、进行排产操作。
进一步地,所述步骤s3具体实现方法为:将任务表分为任务主表和任务明细表,并将2个任务表的任务数据按照以下规则拆分组装成任务结构:
a、如果一个任务主表下的任务明细都使用同一种设备,那么这个任务主表下的明细都合并为同一个任务;
b、如果一个任务主表下的明细使用了多种设备,则按执行序号排序,连续的使用同一种设备的明细划分为一个任务,并且为序号靠后的任务建立依赖关系指向前一个序号的任务;
划分好之后,给任务之间建立依赖关系;
排产时,将没有被任何任务依赖的任务作为根节点任务,先从根节点任务开始分配设备,并为根节点任务设置截止时间;
进一步地,所述步骤s4具体实现方法为:
s41、查询出所有可用设备,并为每种可用设备设置不同商品对应的单次产能:
s42、判断用户是否指定了设备数量,如果指定了则从每种设备类型中取出指定数量的设备放到待使用的集合里;如果用户没指定设备数量,则每种设备类型只取出一台,放到待使用的集合里。
进一步地,所述步骤s5具体实现方法为:
s51、在任务集合中,找出所有根节点任务,按任务截至时间倒序排列,然后依次为所有根节点任务分配设备;
s52、从根节点任务查找上一级被依赖的任务,计算被依赖任务的详细依赖时间和依赖产量,然后为依赖的任务分配设备;然后重复循环这一步,直到所有任务都分配完毕;
s53、判断排产计划是否已经满足指定的截止时间,如果满足了,并且排产类型选的是占用设备最少,则成功结束排产;
如果没在指定的截止时间内完成,或者排产类型选的是执行时间最短,则根据上一次的排产结果判断,筛选出缺少了哪一种设备,将缺少的设备增加一台,加入待使用设备集合里,重新进行一次排产。
进一步地,所述步骤s51中为根节点任务分配设备需满足以下两个条件:
a、任务要均匀的分布在所有可用设备上;
b、时间不冲突的情况下,优先使用已使用过的设备;
本步骤具体包括以下子步骤:
s511、利用任务总需求量除以设备单次产能,得到任务需要执行的次数,以一个任务在一台设备中执行一次作为最小的粒度,依次为根节点任务分配设备;
s512、在该设备类型的设备集合中,查找是否存在已经被其他任务使用过,但是其他任务占用时间和本次任务没有冲突的设备,若是则执行步骤s514,否则执行步骤s513;
s513、查找是否有新设备,若是则将新设备加入设备集合;
s514、在设备集合中查找开始占用时间最晚的设备,到开始占用时间最早的设备之间的时间差,是否足够执行当前任务;若是则执行步骤s516,否则执行步骤s515;
s515、查看是否存在能够替换的任务,若是则替换该任务并为被替换的任务重新分配设备;否则说明当前设备类型的产能不足;
s516、在最晚开始执行时间的设备上,直接添加任务。
进一步地,所述步骤s515中,任务替换的具体实现方法为:在已使用的设备集合中,找出与当前任务id一样的设备;如果之前的设备中没有执行过相同的任务,则查找执行了任务个数最多的设备;在查找出来的设备中,找出要替换的任务:先算同类型设备的最早开始时间到当前设备的最早开始时间的差值,用任务工时减去差值,就是需要替换的任务工时;从早到晚依次替换当前设备占用的其他类型的任务,直到替换出来的任务工时满足上一步计算出来的需求任务工时;将当前任务放到被替换掉的任务之前的位置,然后为被替换掉的任务重新分配设备。
进一步地,所述步骤s52具体实现方法为:
s521、通过根节点任务找出被根节点任务依赖的所有任务;
s522、标记每一个任务被哪几个下游任务所依赖;
s523、计算下游任务每一个时间点的依赖量;
s524、找出所有下游任务的最早开始执行时间和最晚截止时间;以被依赖任务的单次执行工时作为一段,从最早开始执行时间往后将这个时间段分隔为多个小段;
s525、计算下游任务在每一个时间段内的执行分钟数,再计算下游任务每分钟的产出量,从而得出下游任务在每一个时间段内的产出量;
s526、用产出量乘以任务初始化时算出的依赖比例,得出被依赖任务在每一个时间段内的需求量;
s527、将被依赖任务分割为多个子任务,然后为该子任务分配设备。
本发明的有益效果是:本发明能够有效的满足工厂在多个生产任务需要同时生产,并且存在依赖关系的情况进行自动的任务排序和设备分配,提高企业的生产效率和设备使用率,降低人工成本。
附图说明
图1为本发明的食品加工生产中的设备分配方法的流程图。
具体实施方式
下面结合附图进一步说明本发明的技术方案。
如图1所示,本发明的一种食品加工生产中的设备分配方法,包括以下步骤:
s1、接收从第三方平台(电商平台、erp系统等)传递过来的食品采购订单并进行存储;根据与三方平台约定好的数据对应方式,将三方平台上传的订单转换为本加工系统中能识别的订单数据格式;
s2、根据订单中商品需求时间以及商品的加工流程和构成原料,按加工流程生成生产任务(由于生产任务是按步骤生成所以生产任务之间是有相互依赖关系的),并根据当前库存量和加工原料需求量之差生成采购任务;
一个加工流程可以拆分为很多个加工步骤,例如:回锅肉的加工流程可以拆分为肉片加工(从整块肉加工成为肉片),青椒段加工(从整青椒加工为青椒段),菜品炒制(将加工后肉片、加工后青椒段合并制作为回锅肉这个菜),这样就是一个流程分为3个加工任务。
一个商品的加工流程需要生成几个生产任务,这是由商品bom单设置来决定的,例商品a由a1,a2,a3三个商品加工而成,商品a1由a11,a12,a13三个商品加工而成,商品a2由a21,a22,a23生产加工而成,同理类推。那么商品a、a1、a2、a3都是加工产出品,那么就会生成4个生产任务。而a1、a2、a3不仅仅可以加工为a这个商品,他们也可以出现在其他商品的bom单中,作为构成另外一个商品的组成部分。同一天的同一个产出品的加工任务时可以合并生产的。
s3、初始化生产任务;具体实现方法为:将任务表分为任务主表和任务明细表,并将2个任务表的任务数据按照以下规则拆分组装成任务结构:
a、如果一个任务主表下的任务明细都使用同一种设备,那么这个任务主表下的明细都合并为同一个任务;
b、如果一个任务主表下的明细使用了多种设备,则按执行序号排序,连续的使用同一种设备的明细划分为一个任务,并且为序号靠后的任务建立依赖关系指向前一个序号的任务;
划分好之后,给任务之间建立依赖关系;
排产时,将没有被任何任务依赖的任务作为根节点任务,先从根节点任务开始分配设备,并为根节点任务设置截止时间;
生产任务的主要信息包括:产出品、计划生产数量、计划产出时间、投入品、投入品量。
s4、初始化生产设备;具体实现方法为:
s41、查询出所有可用设备,并为每种可用设备设置不同商品对应的单次产能:
s42、判断用户是否指定了设备数量,如果指定了则从每种设备类型中取出指定数量的设备放到待使用的集合里;如果用户没指定设备数量,则每种设备类型只取出一台,放到待使用的集合里。
s5、进行排产操作;具体实现方法为:
s51、在任务集合中,找出所有根节点任务,按任务截至时间倒序排列,然后依次为所有根节点任务分配设备;为根节点任务分配设备需满足以下两个条件:
a、任务要均匀的分布在所有可用设备上;
b、时间不冲突的情况下,优先使用已使用过的设备;
本步骤具体包括以下子步骤:
s511、利用任务总需求量除以设备单次产能,得到任务需要执行的次数,以一个任务在一台设备中执行一次作为最小的粒度,依次为根节点任务分配设备;
s512、在该设备类型的设备集合中,查找是否存在已经被其他任务使用过,但是其他任务占用时间和本次任务没有冲突的设备,若是则执行步骤s514,否则执行步骤s513;
s513、查找是否有新设备,若是则将新设备加入设备集合;
s514、在设备集合中查找开始占用时间最晚的设备,到开始占用时间最早的设备之间的时间差,是否足够执行当前任务;若是则执行步骤s516,否则执行步骤s515;
s515、查看是否存在能够替换的任务,若是则替换该任务并为被替换的任务重新分配设备;否则说明当前设备类型的产能不足;
任务替换的具体实现方法为:在已使用的设备集合中,找出与当前任务id一样的设备;如果之前的设备中没有执行过相同的任务,则查找执行了任务个数最多的设备;在查找出来的设备中,找出要替换的任务:先算同类型设备的最早开始时间到当前设备的最早开始时间的差值,用任务工时减去差值,就是需要替换的任务工时;从早到晚依次替换当前设备占用的其他类型的任务,直到替换出来的任务工时满足上一步计算出来的需求任务工时;将当前任务放到被替换掉的任务之前的位置,然后为被替换掉的任务重新分配设备。
s516、在最晚开始执行时间的设备上,直接添加任务。
s52、从根节点任务查找上一级被依赖的任务,计算被依赖任务的详细依赖时间和依赖产量,然后为依赖的任务分配设备;然后重复循环这一步,直到所有任务都分配完毕;
具体实现方法为:
s521、通过根节点任务找出被根节点任务依赖的所有任务;
s522、标记每一个任务被哪几个下游任务所依赖;
s523、计算下游任务每一个时间点的依赖量;
s524、找出所有下游任务的最早开始执行时间和最晚截止时间;以被依赖任务的单次执行工时作为一段,从最早开始执行时间往后将这个时间段分隔为多个小段;
s525、计算下游任务(之前进行过排产的)在每一个时间段内的执行分钟数,再计算下游任务每分钟的产出量,从而得出下游任务在每一个时间段内的产出量;
s526、用产出量乘以任务初始化时算出的依赖比例,得出被依赖任务在每一个时间段内的需求量;
s527、将被依赖任务分割为多个子任务,然后为该子任务分配设备。
s53、判断排产计划是否已经满足指定的截止时间,如果满足了,并且排产类型选的是占用设备最少,则成功结束排产;
如果没在指定的截止时间内完成,或者排产类型选的是执行时间最短,则根据上一次的排产结果判断,筛选出缺少了哪一种设备,将缺少的设备增加一台,加入待使用设备集合里,重新进行一次排产。最终得到一个时间不重叠、设备占用不重叠、生产完成时间早于订单需求时间的生产任务排程数据。
本实施例生产任务排程详情页面呈现内容如下表所示:
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。
1.一种食品加工生产中的设备分配方法,其特征在于,包括以下步骤:
s1、接收从第三方平台传递过来的食品采购订单并进行存储;
s2、根据订单中商品需求时间以及商品的加工流程和构成原料,按加工流程生成生产任务,并根据当前库存量和加工原料需求量之差生成采购任务;
s3、初始化生产任务;
s4、初始化生产设备;
s5、进行排产操作。
2.根据权利要求1所述的一种食品加工生产中的设备分配方法,其特征在于,所述步骤s3具体实现方法为:将任务表分为任务主表和任务明细表,并将2个任务表的任务数据按照以下规则拆分组装成任务结构:
a、如果一个任务主表下的任务明细都使用同一种设备,那么这个任务主表下的明细都合并为同一个任务;
b、如果一个任务主表下的明细使用了多种设备,则按执行序号排序,连续的使用同一种设备的明细划分为一个任务,并且为序号靠后的任务建立依赖关系指向前一个序号的任务;
划分好之后,给任务之间建立依赖关系;
排产时,将没有被任何任务依赖的任务作为根节点任务,先从根节点任务开始分配设备,并为根节点任务设置截止时间。
3.根据权利要求2所述的一种食品加工生产中的设备分配方法,其特征在于,所述步骤s4具体实现方法为:
s41、查询出所有可用设备,并为每种可用设备设置不同商品对应的单次产能:
s42、判断用户是否指定了设备数量,如果指定了则从每种设备类型中取出指定数量的设备放到待使用的集合里;如果用户没指定设备数量,则每种设备类型只取出一台,放到待使用的集合里。
4.根据权利要求3所述的一种食品加工生产中的设备分配方法,其特征在于,所述步骤s5具体实现方法为:
s51、在任务集合中,找出所有根节点任务,按任务截至时间倒序排列,然后依次为所有根节点任务分配设备;
s52、从根节点任务查找上一级被依赖的任务,计算被依赖任务的详细依赖时间和依赖产量,然后为依赖的任务分配设备;然后重复循环这一步,直到所有任务都分配完毕;
s53、判断排产计划是否已经满足指定的截止时间,如果满足了,并且排产类型选的是占用设备最少,则成功结束排产;
如果没在指定的截止时间内完成,或者排产类型选的是执行时间最短,则根据上一次的排产结果判断,筛选出缺少了哪一种设备,将缺少的设备增加一台,加入待使用设备集合里,重新进行一次排产。
5.根据权利要求4所述的一种食品加工生产中的设备分配方法,其特征在于,所述步骤s51中为根节点任务分配设备需满足以下两个条件:
a、任务要均匀的分布在所有可用设备上;
b、时间不冲突的情况下,优先使用已使用过的设备;
本步骤具体包括以下子步骤:
s511、利用任务总需求量除以设备单次产能,得到任务需要执行的次数,以一个任务在一台设备中执行一次作为最小的粒度,依次为根节点任务分配设备;
s512、在该设备类型的设备集合中,查找是否存在已经被其他任务使用过,但是其他任务占用时间和本次任务没有冲突的设备,若是则执行步骤s514,否则执行步骤s513;
s513、查找是否有新设备,若是则将新设备加入设备集合;
s514、在设备集合中查找开始占用时间最晚的设备,到开始占用时间最早的设备之间的时间差,是否足够执行当前任务;若是则执行步骤s516,否则执行步骤s515;
s515、查看是否存在能够替换的任务,若是则替换该任务并为被替换的任务重新分配设备;否则说明当前设备类型的产能不足;
s516、在最晚开始执行时间的设备上,直接添加任务。
6.根据权利要求5所述的一种食品加工生产中的设备分配方法,其特征在于,所述步骤s515中,任务替换的具体实现方法为:在已使用的设备集合中,找出与当前任务id一样的设备;如果之前的设备中没有执行过相同的任务,则查找执行了任务个数最多的设备;在查找出来的设备中,找出要替换的任务:先算同类型设备的最早开始时间到当前设备的最早开始时间的差值,用任务工时减去差值,就是需要替换的任务工时;从早到晚依次替换当前设备占用的其他类型的任务,直到替换出来的任务工时满足上一步计算出来的需求任务工时;将当前任务放到被替换掉的任务之前的位置,然后为被替换掉的任务重新分配设备。
7.根据权利要求5所述的一种食品加工生产中的设备分配方法,其特征在于,所述步骤s52具体实现方法为:
s521、通过根节点任务找出被根节点任务依赖的所有任务;
s522、标记每一个任务被哪几个下游任务所依赖;
s523、计算下游任务每一个时间点的依赖量;
s524、找出所有下游任务的最早开始执行时间和最晚截止时间;以被依赖任务的单次执行工时作为一段,从最早开始执行时间往后将这个时间段分隔为多个小段;
s525、计算下游任务在每一个时间段内的执行分钟数,再计算下游任务每分钟的产出量,从而得出下游任务在每一个时间段内的产出量;
s526、用产出量乘以任务初始化时算出的依赖比例,得出被依赖任务在每一个时间段内的需求量;
s527、将被依赖任务分割为多个子任务,然后为该子任务分配设备。
技术总结