一种物料的分配方法及装置
技术领域
本发明涉及智能制造技术领域,尤其涉及一种物料的分配方法及装置。
背景技术
在制造业中,由于某些特殊的原因,例如配合需求商进行备货增加库存,交付优先级比较高的指定订单等。通常在某些指定时间对一些比较紧缺的物料进行指定比例划分给不同父项的业务要求,包括自身、直接父项以及其间接父项的比例。在常规的生产制造过程中,这些定向分配的物料将始终保持比例,以在发生特殊情况下进行及时供应。
但是,目前直接基于原有的物料清单进行定向分配物料时,容易形成混合生产导致被定向分配的物料不能进行精确控制,难以在满足定向分配物料的同时得到一个较优的生产配比。
发明内容
鉴于上述问题,本发明提出了一种物料的分配方法及装置,解决了现有的物料定向分配中,容易形成混合生产导致被定向分配的物料不能进行精确控制,难以在满足定向分配物料的同时得到一个较优的生产配比的问题。
第一方面,本申请通过本申请的一实施例提供如下技术方案:
一种物料分配方法,所述方法包括:
基于系统中各产品的物料清单,构造有向无环的产品关系网络图,其中,所述产品关系网络图的底层节点表示原始物料,中间节点以及顶层节点表示由所述原始物料直接或间接形成的产品,所述产品关系网络图的有向边基于产品间的组成关系构建,有向边方向表示当前节点由下一节点组成;基于所述产品关系网络图中的出度不为0的节点至所述产品关系网络图中底层节点的路径,对所述产品关系网络图进行分解,获得多个产品子网络图;其中,每个所述产品子网络图中的底层节点与中间节点均用于定向组成顶层节点,所述顶层节点表示最终产品;基于每个所述产品子网络图中的底层节点与中间节点对顶层节点的供应关系,构建所述产品子网络图的每个中间节点以及底层节点的当期库存平衡方程;其中,所述当期库存平衡方程表示当期的中间节点或底层节点用于定向生产的库存变化;基于预设的定向分配规则,并根据每个所述产品子网络图中的每个节点的流动来源与流动去向,获得每个产品以及原始物料的当期库存流动方程;其中,所述当期库存流动方程表示当期的原始物料或产品的非定向生产库存变化;根据所述当期库存平衡方程以及所述当期库存流动方程,获得所述原始物料和/或所述中间节点对应的产品的最优分配比例;其中,所述最优分配比例满足所述定向分配规则。
优选地,所述基于所述产品关系网络图中的出度不为0的节点至所述产品关系网络图中底层节点的路径,对所述产品关系网络图进行分解,获得多个产品子网络图,包括:
对所述产品关系网络图进行遍历,获得出度不为0的节点;分别将每个所述出度不为0的节点作为顶层节点,并向下搜索由所述顶层节点到达所述产品关系网络图的底层节点的所有路径,获得所述顶层节点对应的所述产品子网络图。
优选地,所述获得所述顶层节点对应的所述产品子网络图,还包括:
对所述顶层节点所在路径上的所有中间节点与底层节点均标记相同的标识信息;其中,所述标识信息用于表示被标记节点向所述被标记节点所在路径的顶层节点进行定向供应。
优选地,所述基于每个所述产品子网络图中的底层节点与中间节点对顶层节点的供应关系,构建所述产品子网络图的每个中间节点以及底层节点的当期库存平衡方程,包括:
获取当前节点的当期决策入库量,与所述当前节点的相邻父节点的当期启动制造量;其中,所述当前节点为携带有标识信息的节点;获取当前节点向所述当前节点的相邻父节点制造时的制造配比;其中,所述当前节点为所述产品子网络图中的中间节点或底层节点,所述制造配比为制造一单位的所述当前节点所在路径的顶层节点时消耗所述当前节点的库存量;根据所述制造配比与所述当前节点的相邻父节点的当期启动制造量,获得所述当前节点的库存消耗量;根据所述库存消耗量与所述当前节点的当期决策入库量,获得所述当前节点的所述当期库存平衡方程。
优选地,所述基于预设的定向分配规则,并根据每个所述产品子网络图中的每个节点的流动来源与流动去向,获得每个产品以及原始物料的当期库存流动方程,包括:
根据所述定向分配规则与每个所述产品子网络图,获得携带有标识信息的节点的定向生产消耗量;分别获取所述物料清单中每个产品的以及每个原始物料的交付量、供应量、在制量以及当期决策入库量;根据当前产品或原始物料的所述定向生产消耗量、所述交付量、所述供应量、所述在制量以及所述当期决策入库量中的一种或多种,获得每个产品以及每个原始物料的当期库存流动方程。
优选地,所述根据所述当期库存平衡方程以及所述当期库存流动方程,获得所述原始物料和/或所述中间节点对应的产品的最优分配比例;其中,所述最优分配比例满足所述定向分配规则,包括:
对所述产品关系网络图中的中间节点对应的产品的进行转移限制;其中,所述转移限制表示限制当前的所述中间节点的不含当期决策入库量的库存大于等于定向生产消耗量与交付量之和;根据所述转移限制、所述当期库存平衡方程以及所述当期库存流动方程,获得满足所述定向分配的原始物料的最优分配比例和/或中间节点对应的产品的最优分配比例。
第二方面,基于同一发明构思,本申请通过本申请的一实施例提供如下技术方案:
一种物料分配装置,所述装置包括:
构造模块,用于基于系统中各产品的物料清单,构造有向无环的产品关系网络图,其中,所述产品关系网络图的底层节点表示原始物料,中间节点以及顶层节点表示由所述原始物料直接或间接形成的产品,所述产品关系网络图的有向边基于产品间的组成关系构建,有向边方向表示当前节点由下一节点组成;分解模块,用于基于所述产品关系网络图中的出度不为0的节点至所述产品关系网络图中底层节点的路径,对所述产品关系网络图进行分解,获得多个产品子网络图;其中,每个所述产品子网络图中的底层节点与中间节点均用于定向组成顶层节点,所述顶层节点表示最终产品;第一构建模块,基于每个所述产品子网络图中的底层节点与中间节点对顶层节点的供应关系,构建所述产品子网络图的每个中间节点以及底层节点的当期库存平衡方程;其中,所述当期库存平衡方程表示当期的中间节点或底层节点用于定向生产的库存变化;第二构建模块,基于预设的定向分配规则,并根据每个所述产品子网络图中的每个节点的流动来源与流动去向,获得每个产品以及原始物料的当期库存流动方程;其中,所述当期库存流动方程表示当期的原始物料或产品的非定向生产库存变化;分配比例获取模块,用于根据所述当期库存平衡方程以及所述当期库存流动方程,获得所述原始物料和/或所述中间节点对应的产品的最优分配比例;其中,所述最优分配比例满足所述定向分配规则。
优选地,所述分解模块,还用于:
对所述产品关系网络图进行遍历,获得出度不为0的节点;分别将每个所述出度不为0的节点作为顶层节点,并向下搜索由所述顶层节点到达所述产品关系网络图的底层节点的所有路径,获得所述顶层节点对应的所述产品子网络图。
优选地,所述分解模块,还用于:
对所述顶层节点所在路径上的所有中间节点与底层节点均标记相同的标识信息;其中,所述标识信息用于表示被标记节点向所述被标记节点所在路径的顶层节点进行定向供应。
第三方面,基于同一发明构思,本申请通过本申请的一实施例提供如下技术方案:
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现权利要求第一方面中所述方法的任一步骤。
本发明提供的一种物料分配方法及装置,其中方法通过对系统中各产品的物料清单,构造有向无环的产品关系网络图,其中,产品关系网络图的底层节点表示原始物料,中间节点以及顶层节点表示由原始物料直接或间接形成的产品,产品关系网络图的有向边方向为原始物料的流动的反方向。然后,对然后对该产品关系网络图进行基于产品关系网络图中的出度不为0的节点至产品关系网络图中底层节点的路径的分解,就可得到多个产品子网络图;其中,每个所述产品子网络图中的底层节点与中间节点均用于定向组成顶层节点,所述顶层节点表示最终产品;分解后,按照新形成的产品子网络图进行生产,每个产品子网络图之间的顶层节点的生产将互不影响。由此,再基于每个产品子网络图中的底层节点与中间节点对顶层节点的供应关系,构建产品子网络图的每个中间节点以及底层节点的当期库存平衡方程;其中,所述当期库存平衡方程表示当期的中间节点或底层节点用于定向生产的库存变化;再基于预设的定向分配规则,并根据每个产品子网络图中的每个节点的流动来源与流动去向,获得每个产品以及原始物料的当期库存流动方程;其中,所述当期库存流动方程表示当期的原始物料或产品的非定向生产库存变化。通过当期库存平衡方程以及当期库存流动方程的约束就可保证各物料(原始物料或中间节点对应的产品)定向生产的库存不被混用,最终得到的最优分配比例是满足定向分配规则的分配比例。因此,本发明解决了现有物料清单进行定向分配物料时,容易形成混合生产导致被定向分配的物料不能进行精确控制,实现了定向生产于非定向生产互不影响,能够在满足定向分配物料的同时得到一个较优的生产配比。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明第一实施例提供的一种物料分配方法的流程图;
图2示出了本发明第一实施例提供的第一种物料清单的产品关系网络图;
图3示出了本发明第一实施例提供的第二种物料清单的产品关系网络图;
图4示出了本发明第一实施例提供的第二种物料清单的产品关系网络图分解后得到的多个产品子网络图;
图5示出了本发明第二实施例提供的一种物料分配装置的功能模块框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
请参见图1,图1示出了本发明第一实施例提供的一种物料分配方法,所述方法包括:
步骤S10:基于系统中各产品的物料清单,构造有向无环的产品关系网络图,其中,所述产品关系网络图的底层节点表示原始物料,中间节点以及顶层节点表示由所述原始物料直接或间接形成的产品,所述产品关系网络图的有向边基于产品间的组成关系构建,有向边方向表示当前节点由下一节点组成;
步骤S20:基于所述产品关系网络图中的出度不为0的节点至所述产品关系网络图中底层节点的路径,对所述产品关系网络图进行分解,获得多个产品子网络图;其中,每个所述产品子网络图中的底层节点与中间节点均用于定向组成顶层节点,所述顶层节点表示最终产品;
步骤S30:基于每个所述产品子网络图中的底层节点与中间节点对顶层节点的供应关系,构建所述产品子网络图的每个中间节点以及底层节点的当期库存平衡方程;其中,所述当期库存平衡方程表示当期的中间节点或底层节点用于定向生产的库存变化;
步骤S40:基于预设的定向分配规则,并根据每个所述产品子网络图中的每个节点的流动来源与流动去向,获得每个产品以及原始物料的当期库存流动方程;其中,所述当期库存流动方程表示当期的原始物料或产品的非定向生产库存变化;
步骤S50:根据所述当期库存平衡方程以及所述当期库存流动方程,获得所述原始物料和/或所述中间节点对应的产品的最优分配比例;其中,所述最优分配比例满足所述定向分配规则。
本实施例中的物料分配方法主要应用于制造业领域,主要是针对生产系统中的各原始物料或产品存在定向分配的情况下,避免定向分配的物料与非定向的物料产生混合生产,同时确定一个较优的生产配比,使得生产计划更加符合实际生产的需求。
首先,本实施例通过步骤S10构建系统中的产品关系网络图。具体的,制造链中存在相互关联的各种产品。比如:汽车制造链包括汽车、发动机、油箱等等。又如:手机制造链中包括手机、外壳、电池、处理器等等。产品的物料清单BOM(Bill of Materials)是制造业常用的核心文件资料,它表明了产品的总装件、分装件、组件、部件、零件、直到原材料之间的结构关系,以及所需的数量等信息,所以,可根据物料清单来构建产品关系网络图,产品关系网络图为与物料清单等价的另一种表现形式。
具体的,产品关系网络图中的底层节点表示原始物料,中间节点以及顶层节点表示由原始物料直接或间接形成的产品。产品关系网络图的有向边基于产品间的组成关系构建,有向边方向表示当前节点由下一节点组成,也即产品关系网络图的方向为原始物料的流动方向;例如,在物料清单中第一产品由第二产品制成,第二产品由原始物料制成,则在产品关系网络图中存在第一产品的节点至第二产品的节点的有向边以及第二产品至原始物料的有向边。需要说明的是,本实施例构建的产品关系网络图的有向边的权重值为正数。比如:第一产品是手机,对应节点1,第二产品是电池,对应节点2,由于制造手机需要一个电池,所以,产品关系网络图存在节点1指向节点2的有向边。在本实施例中,产品关系网络图中出度为0的节点为底层节点,入度为0的节点为顶层节点,其余节点均为中间节点。
进一步的,以图2为例,图2为一个产品关系网络图,在该产品关系网络图中,A(包括A1、A2、A3)、B(包括B1、B2)、C(包括C1、C2、C3、C4、C5)三层为组装件,其中A为顶层节点,B、C为中间节点;D(包括D1、D2、D3、D4、D5、D6)为原始物料,即底层节点。由该图可知,节点间的父子项关系是严格单向的,这保证了所有节点构成的有向图中一定不存在环,所以,产品关系网络图是一种有向无环的图。
步骤S20:基于所述产品关系网络图中的出度不为0的节点至所述产品关系网络图中底层节点的路径,对所述产品关系网络图进行分解,获得多个产品子网络图。
在步骤S20中,出度不为0的节点即中间节点或顶层节点,也即非底层节点。按照中间节点或顶层节点将至底层节点的路径将产品关系网络图分解成多个产品子网络图。具体的一种实施方式,可通过如下步骤进行:
步骤S21:对所述产品关系网络图进行遍历,获得出度不为0的节点;
步骤S22:分别将每个所述出度不为0的节点作为顶层节点,并向下搜索由所述顶层节点到达所述产品关系网络图的底层节点的所有路径,获得所述顶层节点对应的所述产品子网络图。
举例说明,请参阅图3、图4,图3为一产品关系网络图(需要说明的是图3与图4中的各个节点关系与图2无关,并且后文阐述均以图3或图4为例进行说明),在图3中出度不为0的节点有A、B、C、D四个节点,分别以A、B、C、D四个节点作为分解后的产品子网络图的顶层节点。具体的,以A作为顶层节点并向下搜索时可得到路径:A→B、B→E、A→C、C→E,即可得到图4(a)所示的产品子网络图结构;以B作为顶层节点并向下搜索时可得到路径B→E,即可得到图4(b)所示的产品子网络图结构;以C作为顶层节点并向下搜索时可得到路径C→E,即可得到图4(c)所示的产品子网络图结构;以D作为顶层节点并向下搜索时可得到路径:D→C,C→E,即可得到图4(d)所示的产品子网络图结构。
在步骤S20中,对产品关系网络图进行分解后得到产品子网络图中的各个节点之间的有向关系,表示定向供应关系。具体,每个产品子网络图中的底层节点与中间节点均用于定向组成顶层节点。通过对原有的产品关系网络图的分解,切断了原始物料或非顶层节点对应的中间产品混合生产,可精确的对不同产品进行定量分配原始物料。在进行生产时,定量分配的原始物料各自按照自己所在的产品子网络图进行生产以及供应,互不干扰。
在具体实施定向供应关系时,可针对每个产品子网络图中的各个非顶层节点进行标记,以确定原始物料或产品的定向供应关系,例如:
对每个顶层节点所在路径上的所有中间节点与底层节点均标记相同的标识信息;其中,标识信息用于表示被标记节点向该被标记节点所在路径的顶层节点进行定向供应。通过标记可进一步的对定向生产使用的原始物料以及定向生产的产品进行区分,切断与非定向生产的产品的联系。
例如,对图3所示的产品关系网络图进行分解后再进行顶层节点标记即可得到图4所示的产品子网络图,其中,图4(a)中的B(A)表示B产品用于定向供应生产A产品,以此类推;需要说明的是,B(A)只是一种标记形式,在本发明中不局限于此,另外还可采用文字标记、符号标记、代码标记等。
步骤S30:基于每个所述产品子网络图中的底层节点与中间节点对顶层节点的供应关系,构建所述产品子网络图的每个中间节点以及底层节点的当期库存平衡方程;其中,所述当期库存平衡方程表示当期的中间节点或底层节点用于定向生产的库存变化。
在步骤S30中,每个中间节点或底层节点的当期库存,均为用于定向生产当前节点所在产品子网络图的顶层节点的库存。具体的,步骤S30包括:
步骤S31:获取当前节点的当期决策入库量与所述当前节点的相邻父节点的当期启动制造量;其中,所述当前节点为携带有标识信息的节点;
在步骤S31中,当前节点的当期决策入库量,即为在当期之前的某一时间段进行启动生产当前节点并在当期进行入库作为定向生产的库存入库;所述当前节点的相邻父节点的当期启动制造量,即为在当期进行启动生产,并消耗当前节点的当期库存用于生产该当前节点对应的相邻父节点。携带有标识信息的节点为产品子网络图中的非顶层节点。
例如:假设某第一产品(当前节点)的生产周期为两天,在无节假日情况下决策需要在第N天入库一定量(即当期决策入库量)的该第一产品,则需要在第N-2天进行开工启动制造;假设某第二产品(当前节点的父节点)的生产周期为两天,在无节假日情况下需要在第N天启动制造一定量(当期启动制造量)的第二产品,那么启动制造时就会对当前节点的库存进行消耗,在第N+2天进行入库。当期决策入库量为构建的平衡方程的主要决策变量之一。
步骤S32:获取当前节点向所述当前节点的相邻父节点制造时的制造配比;其中,所述当前节点为所述产品子网络图中的中间节点或底层节点,所述制造配比为制造一单位的所述当前节点所在路径的顶层节点时消耗所述当前节点的库存量;
步骤S33:根据所述制造配比与所述当前节点的相邻父节点的当期启动制造量,获得所述当前节点的库存消耗量;
步骤S34:根据所述库存消耗量与所述当前节点的当期决策入库,获得所述当前节点的所述当期库存平衡方程。
以图3、图4为例,构建的当期库存平衡方程包括:
NB(A),t=NB(A),t-1-XA,t*uAB+XB(A),t′;
NC(A),t=NC(A),t-1-XA,t*uAC+XC(A),t′;
NC(D),t=NC(D),t-1-XD,t*uDC+XC(D),t′;
NE(A),t=NE(A),t-1-XB(A),t*uBE-XC(A),t*uCE;
NE(B),t=NE(B),t-1-XB,t*uBE;
NE(C),t=NE(C),t-1-XC,t*uCE;
NE(D),t=NE(D),t-1-XC(D),t*uCE;
其中,N表示物料(产品或原始物料)在某时间段的库存,如:NB(A),t表示用于定向生产A的B的当期库存,NB(A),t-1表示用于定向生产A的B的上期库存,以此类推。X表示物料在某时间段的产量,如:XA,t表示需要生产并在当期入库的A的产量,XB(A),t′表示在某一t’时刻启动制造并在当期入库的用于定向生产A的B的产量,以此类推。u表示物料清单中的制造配比,如:uAB表示制造一单位A时需要消耗B的量,以此类推。
通过上述的当期库存平衡方程即可对每个定向生产节点的库存进行控制,从而将定向生产的库存与非定向生产的库存进行区分,避免混合生产,难以控制。
步骤S40:基于预设的定向分配规则,并根据每个所述产品子网络图中的每个节点的流动来源与流动去向,获得每个产品以及原始物料的当期库存流动方程;其中,所述当期库存流动方程表示当期的原始物料或产品的非定向生产库存变化。
在步骤S40中,需要将定向分配的物料(及定向分配的原始物料以及产品)进行固定,避免这个定向分配的物料随着非定向生产而流动产生混合生产,因此需要切断定向分配的物料向非定向生产的方向流动。具体的,可对携带有标识信息的节点的定向生产消耗量进行固定,保证其定向分配的库存不被非定向生产所消耗。预设的定向分配规则为企业根据实施的需求进行制定,如,对原始物料进行指定比例的约束生产。
具体的,步骤S40的以具体实施方式如下:
步骤S41:根据所述定向分配规则与每个所述产品子网络图,获得携带有标识信息的节点的定向生产消耗量。其中,定向生产消耗量表示需要保证的用于定向生产标识信息对应的顶层节点的库存量。
步骤S42:分别获取所述物料清单中每个产品的以及每个原始物料的交付量、供应量、在制量以及当期决策入库量;需要说明的是,在某些应用场景中,可能存在不含交付量、供应量、在制量以及当期决策入库量中的一种或多种的情况,此时可以0表示不存在。
步骤S43:根据当前产品或原始物料的所述定向生产消耗量、所述交付量、所述供应量、所述在制量以及所述当期决策入库量中的一种或多种,获得每个产品以及每个原始物料的当期库存流动方程。
以图3、图4为例,构建的当期库存流动方程,如下:
NE,t=NE,t-1-DE,t+POE-SE,E(A),t-SE,E(B),t-SE,E(C),t-SE,E(D),t;
NB,t=NB,t-1-DB,t+WIPB+XB,t′-SB,B(A),t;
NC,t=NC,t-1-DC,t+WIPC+XC,t′-SC,C(A),t-SC,C(D),t;
NA,t=NA,t-1-DA,t+WIPA+XA,t′;
ND,t=ND,t-1-DD,t+WIPD+XD,t′;
其中,NE,t表示当期E的非定向生产的库存,如:NE,t-1表示上期E的非定向生产的库存,以此类推;D表示物料在某时间段的交付量,如:DE,t表示当期E作为产品的交付量,以此类推;PO表示已经买入的并在当期到达入库的供应量,如:POE表示已经买入的E会在当期到达入库的供应量,以此类推;WIP表示之前已经释放的会在当期入库的在制量,如WIPB为正在生产中的B,并且将在当期入库,以此类推;S表示当前库存中被定向分配的转移量,如:SE,E(A),t表示当期库存中被定向分配用于生产A的E的库存量,以此类推。
当企业在特殊的时间段需要进行定向分配的时候,可制定定向分配规则对底层物料的比例进行约束分配,以图3、图4为例,定向分配规则具体可如下:
SE,E(A),t=propA*(InitialInvE+POE,t);
SE,E(B),t=propB*(InitialInvE+POE,t);
SE,E(C),t=propC*(InitialInvE+POE,t);
SE,E(D),t=propD*(InitialInvE+POE,t);
其中,prop表示约束比例,propA表示原始物料E中用于生产A的比例,以此类推。InitialInvE表示E的原始库存。
作为对比,以图3为例,其原始的库存流动方程可表示为:
NE,t=NE,t-1-XB,t*uBE-XC,t*uCE-DE,t+POE;
NB,t=NB,t-1-XA,t*uAB-DB,t+WIPB+XB,t′;
NC,t=NC,t-1-XA,t*uAC-XD,t*uDC-DC,t+WIPC+XC,t′;
NA,t=NA,t-1-DA,t+WIPA+XA,t′;
ND,t=ND,t-1-DD,t+WIPD+XD,t′;
可以看出在原始的实际库存流动过程中,原始的库存流动方程中的E的原始的库存流动方程为例,通过参数XB,t*uBE、XC,t*uCE可以看出E的库存流动是没有任何标记,并且均流向生产B或C。当继续生产D或A时,或将B或C作为产品交付时,是从B、C的库存中随机消耗,无法将用于定向生产的物料(定向分配的物料)和非定向生产的物料进行区分,这样进行产品生产时将会产生混合生产。当在生产父项产品时,无法得知所消耗的库存为原始库存还是定向分配的原始物料生产过来的库存,这样难以同时兼顾定向分配和最优化分配。
在步骤S40中,通过对定向分配的物料进行预留(在上述例子中为变量S),切断了定向分配的物料向非定向生产的流动,在进行非定向生产的交付时可首先将定向直接将定向生产消耗量的库存排除在外后,再进行库存的消耗,可保证满足定向分配要求的情况下对剩余物料进行最优化分配。
步骤S50:根据所述当期库存平衡方程以及所述当期库存流动方程,获得所述原始物料和/或所述中间节点对应的产品的最优分配比例;其中,所述最优分配比例满足所述定向分配规则。
需要说明的是,在步骤S50中进行最优化求解时还需要对产品关系网络图中的中间节点对应的产品的进行转移限制。其中,所述转移限制表示限制当前的所述中间节点的不含当期决策入库量的库存大于等于定向生产消耗量与交付量之和。以图3、图4为例,有:
N′B,t=NB,t-1-DB,t+WIPB-SB,B(A),t≥0;
N′C,t=NC,t-1-DC,t+WIPC-SC,C(A),t-SC,C(D),t≥0;
当企业在管理物料时,需要考虑到各种生产因素。例如产品敏感度,与供应商或工厂协议等复杂因素,在此基础上需要为物料定向划分比例,而又想保证在此基础上的计划最优性。计划最优性例如,最大化使用分配到的比例满足需求,最小化订单的延迟等;此时,可根据转移限制、当期库存平衡方程以及当期库存流动方程约束进行最优化的求解,得到原始物料的最优分配比例或中间节点对应的产品的最优分配比例。而在,定向分配的规定时间结束之后,可方便的取消对应的约束,将这些定向生产的物料进行从新分配使用。
在本发明中提供的一种物料分配方法,通过对系统中各产品的物料清单,构造有向无环的产品关系网络图,其中,产品关系网络图的底层节点表示原始物料,中间节点以及顶层节点表示由原始物料直接或间接形成的产品,产品关系网络图的有向边方向为原始物料的流动的反方向。然后,对然后对该产品关系网络图进行基于产品关系网络图中的出度不为0的节点至产品关系网络图中底层节点的路径的分解,就可得到多个产品子网络图;其中,每个所述产品子网络图中的底层节点与中间节点均用于定向组成顶层节点,所述顶层节点表示最终产品;分解后,按照新形成的产品子网络图进行生产,每个产品子网络图之间的顶层节点的生产将互不影响。由此,再基于每个产品子网络图中的底层节点与中间节点对顶层节点的供应关系,构建产品子网络图的每个中间节点以及底层节点的当期库存平衡方程;其中,所述当期库存平衡方程表示当期的中间节点或底层节点用于定向生产的库存变化;再基于预设的定向分配规则,并根据每个产品子网络图中的每个节点的流动来源与流动去向,获得每个产品以及原始物料的当期库存流动方程;其中,所述当期库存流动方程表示当期的原始物料或产品的非定向生产库存变化。通过当期库存平衡方程以及当期库存流动方程的约束就可保证各物料(原始物料或中间节点对应的产品)定向生产的库存不被混用,最终得到的最优分配比例是满足定向分配规则的分配比例。因此,本发明解决了现有物料清单进行定向分配物料时,容易形成混合生产导致被定向分配的物料不能进行精确控制,实现了定向生产于非定向生产互不影响,能够在满足定向分配物料的同时得到一个较优的生产配比。
第二实施例
请参照图5,基于同一发明构思,在本实施例中提供一种物料分配装置300,所述装置300包括:
构造模块301,用于基于系统中各产品的物料清单,构造有向无环的产品关系网络图,其中,所述产品关系网络图的底层节点表示原始物料,中间节点以及顶层节点表示由所述原始物料直接或间接形成的产品,所述产品关系网络图的有向边基于产品间的组成关系构建,有向边方向表示当前节点由下一节点组成;
分解模块302,用于基于所述产品关系网络图中的出度不为0的节点至所述产品关系网络图中底层节点的路径,对所述产品关系网络图进行分解,获得多个产品子网络图;其中,每个所述产品子网络图中的底层节点与中间节点均用于定向组成顶层节点,所述顶层节点表示最终产品;
第一构建模块303,基于每个所述产品子网络图中的底层节点与中间节点对顶层节点的供应关系,构建所述产品子网络图的每个中间节点以及底层节点的当期库存平衡方程;其中,所述当期库存平衡方程表示当期的中间节点或底层节点用于定向生产的库存变化;
第二构建模块304,基于预设的定向分配规则,并根据每个所述产品子网络图中的每个节点的流动来源与流动去向,获得每个产品以及原始物料的当期库存流动方程;其中,所述当期库存流动方程表示当期的原始物料或产品的非定向生产库存变化;
分配比例获取模块305,用于根据所述当期库存平衡方程以及所述当期库存流动方程,获得所述原始物料和/或所述中间节点对应的产品的最优分配比例;其中,所述最优分配比例满足所述定向分配规则。
作为一种可选的实施方式,所述分解模块302,还用于:
对所述产品关系网络图进行遍历,获得出度不为0的节点;分别将每个所述出度不为0的节点作为顶层节点,并向下搜索由所述顶层节点到达所述产品关系网络图的底层节点的所有路径,获得所述顶层节点对应的所述产品子网络图。
作为一种可选的实施方式,所述分解模块302,还用于:
对所述顶层节点所在路径上的所有中间节点与底层节点均标记相同的标识信息;其中,所述标识信息用于表示被标记节点向所述被标记节点所在路径的顶层节点进行定向供应。
作为一种可选的实施方式,所述第一构建模块303,具体用于:
获取当前节点的当期决策入库量,与所述当前节点的相邻父节点的当期启动制造量;其中,所述当前节点为携带有标识信息的节点;获取当前节点向所述当前节点的相邻父节点制造时的制造配比;其中,所述当前节点为所述产品子网络图中的中间节点或底层节点,所述制造配比为制造一单位的所述当前节点所在路径的顶层节点时消耗所述当前节点的库存量;根据所述制造配比与所述当前节点的相邻父节点的当期启动制造量,获得所述当前节点的库存消耗量;根据所述库存消耗量与所述当前节点的当期决策入库量,获得所述当前节点的所述当期库存平衡方程。
作为一种可选的实施方式,所述第二构建模块304,具体用于:
根据所述定向分配规则与每个所述产品子网络图,获得携带有标识信息的节点的定向生产消耗量;分别获取所述物料清单中每个产品的以及每个原始物料的交付量、供应量、在制量以及当期决策入库量;根据当前产品或原始物料的所述定向生产消耗量、所述交付量、所述供应量、所述在制量以及所述当期决策入库量中的一种或多种,获得每个产品以及每个原始物料的当期库存流动方程。
作为一种可选的实施方式,所述分配比例获取模块305,具体用于:
对所述产品关系网络图中的中间节点对应的产品的进行转移限制;其中,所述转移限制表示限制当前的所述中间节点的不含当期决策入库量的库存大于等于定向生产消耗量与交付量之和;根据所述转移限制、所述当期库存平衡方程以及所述当期库存流动方程,获得满足所述定向分配的所述原始物料及所述中间节点对应的产品的最优分配比例。
需要说明的是,本发明实施例所提供的一种物料分配装置300,其具体实现及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
第三实施例
基于同一发明构思,本发明第三实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如下步骤:
基于系统中各产品的物料清单,构造有向无环的产品关系网络图,其中,所述产品关系网络图的底层节点表示原始物料,中间节点以及顶层节点表示由所述原始物料直接或间接形成的产品,所述产品关系网络图的有向边基于产品间的组成关系构建,有向边方向表示当前节点由下一节点组成;基于所述产品关系网络图中的出度不为0的节点至所述产品关系网络图中底层节点的路径,对所述产品关系网络图进行分解,获得多个产品子网络图;其中,每个所述产品子网络图中的底层节点与中间节点均用于定向组成顶层节点,所述顶层节点表示最终产品;基于每个所述产品子网络图中的底层节点与中间节点对顶层节点的供应关系,构建所述产品子网络图的每个中间节点以及底层节点的当期库存平衡方程;其中,所述当期库存平衡方程表示当期的中间节点或底层节点用于定向生产的库存变化;基于预设的定向分配规则,并根据每个所述产品子网络图中的每个节点的流动来源与流动去向,获得每个产品以及原始物料的当期库存流动方程;其中,所述当期库存流动方程表示当期的原始物料或产品的非定向生产库存变化;根据所述当期库存平衡方程以及所述当期库存流动方程,获得所述原始物料和/或所述中间节点对应的产品的最优分配比例;其中,所述最优分配比例满足所述定向分配规则。
本发明提供的装置集成的功能模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例的方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的网关、代理服务器、系统中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。