1.本技术属于工业生产管理技术领域,尤其涉及一种处理方法、系统和电子设备。
背景技术:2.在工业生产管理领域,高级计划与排程(advanced planning and scheduling,aps)系统中的需求计划决策是供应链计划中的重要组成部分。
3.实际生产制造过程中,受到诸如需求时间跨度大,需求批次多,各批次所对应的需求量较大,需求内bom(bill of material,物料清单)结构复杂等诸多因素的影响,导致在复杂的业务场景中不能快速、合理地确定物料的相关需求计划,难以准确、高效的为供应链上产品的生产制造提供物料准备,拖慢了产品的生产制造进度与效率。
技术实现要素: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.图1是本技术实施例提供的一种处理方法的流程图;
41.图2是本技术实施例提供的一种合法性检验和数据处理的方法的流程图;
42.图3是本技术实施例提供的另一种处理方法的流程图;
43.图4是本技术实施例提供的一种子对象清单树的示意图;
44.图5是本技术实施例提供的一种子对象清单树中一个子树的需求满足情况示例图;
45.图6是本技术实施例提供的一种需求数量和数据处理所需时间的关系示意图;
46.图7是本技术实施例提供的一种需求数量和模组计算所需时间的关系示意图;
47.图8是本技术实施例提供的一种需求数量和结果整理所需时间的关系示意图;
48.图9是本技术实施例提供的一种处理系统的结构示意图;
49.图10是本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
50.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
51.实施例一
52.本实施例提供一种处理方法,请参见图1,为该方法的流程图,该方法可以包括如下步骤。
53.s101,执行预设的数据获取处理,以至少得到对象需求数据和子对象供应数据。
54.对象需求数据用于指征对多个对象中目标对象的需求情况,子对象供应数据用于指征当前对用来生成多个对象的各个子对象的供应情况。
55.本实施例中,对象用于指代生产商最终对外交付的产品,目标对象指代多款不同产品中特定的某一款产品。
56.示例性的,终端生产商可以提供a型号和b型号两款不同型号的手机,以及c型号和d型号两款不同型号的电脑,上述多个对象,可以指代这两款手机和电脑,目标对象则指代其中某一具体产品,例如指代a型号的手机。
57.对象需求数据至少可以包括特定的计划周期内需要交付的目标对象的数量。其中计划周期可以根据实际情况设定,不做限定,例如计划周期可以是从当天开始的未来一个月内,或者可以是,用t0表示当前日期,从t0+30天开始,到t0+90天结束的一个周期。
58.示例性的,目标对象为a型号的手机,对象需求数据至少可以包括如下信息:未来三个月内,需要交付5000台a型号的手机。
59.子对象,在生产制造上述产品时所需的组件,例如生产a型号的手机需要用到处理器a1,屏幕a2,生产b型号的手机需要用到处理器b1和屏幕b2,则处理器a1,屏幕a2,处理器b1和屏幕b2都属于上述子对象。
60.子对象供应数据,可以包括子对象库存数据和已下采购单子对象的在途数据。其中,子对象库存数据反映当前每一种子对象的库存数量,已下采购单子对象的在途数据反映每一种子对象当前正在采购的数量。其中,子对象当前正在采购的数量可以用当前已经发出且尚未结束(即尚未完成采购)的采购单中购买的子对象的总数表示。
61.续接前述示例,处理器a1的供应数据至少可以包括如下信息:库存处理器a1数量为2000件,当前正在采购的处理器a1数量为1500件。
62.可选的,执行预设的数据获取处理可以包括:
63.将对象需求数据、子对象供应数据和多个对象分别对应的子对象清单进行合法性检验和数据处理;
64.在处理后的数据中获得对象需求数据、子对象供应数据和多个对象分别对应的子对象清单。
65.对于每一个对象,该对象的子对象清单,可以包括生产一件该对象所需基于的子对象的类型和数量。示例性的,生产一台a型号的手机需要用到一件处理器a1,一块屏幕a2,两个摄像头a3,则a型号的手机的子对象清单至少可以包括如下信息:处理器a1,消耗数量1;屏幕a2,消耗数量1;摄像头a3,消耗数量2。
66.在合法性检验和数据处理环节中,可以将已经获得的对象需求数据,子对象供应数据和子对象清单进行无效数据和无关字段剔除,业务逻辑合理性修正,必要字段填充和数据结构转换等操作。
67.下面分别对前述不同数据的合法性检验和数据处理过程进行说明。
68.针对对象需求数据的合法性检验和数据处理过程。
69.对象需求数据中,指定的必要字段可以包括要生产的对象的种类和型号,以及计
划周期内需求的数量(即计划周期内要交付多少)。
70.对对象需求数据进行合法性检验时,可以检验对象需求数据中是否包含必要字段,以及在确定包含必要字段后,检验必要字段的字段值是否为非法值,具体的,空值,异常大值和异常小值都可以定义为非法值,另外还可以检验必要字段是否存在多行重复值,也就是检验是否存在多行对象需求数据的必要字段的字段值相同的情况。
71.对于未包含必要字段,增加必要字段并填充对应的字段值;对于必要字段包含非法值的,剔除非法值并填充合理的字段值;对于存在多行重复值的,将必要字段的字段值重复的多行数据合并为一行数据。
72.对对象需求数据进行数据处理时,首先将对象需求数据中的必要字段进行类型转换,使其字段值转换为指定的数据类型,比如将对象需求数据的bom根节点号,产品类型,需求日期和需求工厂号等字段的字段值转换为字符串类型,将需求数量的字段值转换为整数类型。需求日期,指完成对应数量的产品交付的日期。
73.将对象需求数据中的bom根节点号,需求日期进行索引号编码,经过编码后,每一条对象需求数据中的bom根节点号都唯一对应一个索引号编码,该索引号编码具体可以是bom根节点号的摘要;每一条对象需求数据中的需求日期都唯一对应一个索引号编码,该索引号编码可以是需求日期的摘要。
74.将各对象需求数据进行汇总,并将汇总的对象需求数据转换为字典类型存储。需要说明的是,对象需求数据包括计划周期内每个客户对目标对象的需求情况,例如未来6个月内需要分别向10个客户交付a型号手机,则a型号手机的对象需求数据包括需要向这10个客户交付的总数量。
75.可选的,上述合法性检验和数据处理过程可以对每一对象的需求数据执行,也就是说,可以读取每一对象的对象需求数据并将其加载到内存,然后按上述合法性检验和数据处理过程对加载的对象需求数据进行处理,处理后的数据按字典类型存储。当后续确定了目标对象,例如确定了a型号手机后,再读取目标对象的对象需求数据。
76.针对子对象清单的合法性检验和数据处理过程。
77.子对象清单中,指定的必要字段可以包括要生产的对象的种类和型号,生产该对象所需的子对象类型和数量,子对象是否需要用其他子对象生产,子对象属于替换组还是非替换组。
78.对子对象清单进行合法性检验时,可以检验是否包含必要字段,是否包含非法值以及是否存在多行重复值,具体检验方式和发现对应情况的处理方式参见对象需求数据的合法性检验,不再赘述。
79.将子对象清单进行数据处理,具体包括:
80.对子对象清单进行清理,只保留和目标对象匹配的子对象清单。
81.将子对象清单的必要字段进行类型转换,包括将bom根节点号,子节点物料号,物料有效期,所在工厂标识,物料节点所在路径,节点是否存在子节点标识,是否为替换组标识等字段的字段值转换为字符串类型,节点对应层级转换为整数类型,构造bom根节点的当前节点所需物料量转换为浮点类型。可选的,可以将上述完成类型转换后的部分基本不会发生变化的字段值(例如bom根节点号)进行编码,然后以编码状态存储。
82.根据必要字段物料有效期对子对象清单进行有效性过滤。
83.删除子对象清单中的非必要字段。
84.在子对象清单中增加必要字段:父节点路径,父节点路径具体可以是子对象清单树中从根节点至父节点的节点号序列,父节点路径可以用于追踪子对象清单中各节点所对应父节点。
85.增加必要字段节点数量,该字段用于追踪子对象清单树中,对于一个节点,制造该节点的父节点所对应的一个对象(或子对象),所需该节点对应的子对象的数量。例如,制造一部a型号手机需要一个处理器a1,a型号手机对应的节点为处理器a1对应的节点的父节点,则处理器a1对应的节点的节点数量为1。
86.增加必要字段根节点标识,用于标识子对象清单树中的根节点,子对象清单树的根节点对应目标对象。
87.增加必要字段节点类型,用于标识各节点为根节点(对应目标对象),中间节点(对应可以用其他目标子对象制造的目标子对象)和叶子节点(对应原材料,即不可制造的目标子对象)。
88.增加必要字段节点物料价格,用于标识各节点所对应子对象的实际价格。
89.增加必要字段子节点路径,用于追踪子对象清单树各节点的所有子节点。
90.对各子对象清单树进行汇总,并将汇总的数据转换为字典类型存储。
91.子对象清单树根据子对象清单生成。
92.针对子对象库存数据的合法性检验和数据处理过程。
93.子对象库存数据的必要字段包括库存的各子对象类型、不同类型子对象的库存数量,不同类型子对象所属的工厂(具体可以用库房号或工厂号表示)。
94.对子对象库存数据进行合法性检验时,可以检验是否包含必要字段,是否包含非法值以及是否存在多行重复值,具体检验方式和发现对应情况的处理方式参见对象需求数据的合法性检验,不再赘述。
95.将子对象库存数据进行数据处理,具体包括:
96.对于必要字段,进行对应类型转换,包括将子对象的编号号,子对象所在工厂号转换为字符串类型,将子对象的库存量转换为浮点数类型。
97.将子对象的编号和所在工厂号进行索引号编码,具体可以将子对象的编号的摘要和所在工厂号的摘要作为对应的索引编码。
98.将每种子对象当前的库存数据汇总并将汇总的数据转换为字典类型存储。
99.针对已下采购单子对象的在途数据的合法性检验和数据处理过程。
100.已下采购单子对象的在途数据的必要字段包括已采购在途的子对象类型、不同类型的子对象的在途量(即已经发出采购单但尚未收货的子对象的数量),子对象预计达到时间,子对象所属的供应商等。
101.对已下采购单子对象的在途数据进行合法性检验时,可以检验是否包含必要字段,是否包含非法值以及是否存在多行重复值,具体检验方式和发现对应情况的处理方式参见对象需求数据的合法性检验,不再赘述。
102.将子对象库存数据进行数据处理,具体包括:
103.对于必要字段,进行对应类型转换,包括将子对象编号,子对象所在工厂号,采购在途的子对象预计到达时间转换为为字符串类型,采购在途的子对象到达数量转换为浮点
数类型。
104.将子对象编号,子对象所在工厂号,子对象预计到达时间进行索引号编码。
105.将每一种子对象的已下采购单子对象的在途数据进行汇总,并将汇总的完整数据转换为字典类型存储。
106.对于每一个对象,该对象对应的子对象清单包括:生成该对象需基于的各个子对象的类型和数量。
107.在一些可选的实施例中,上述合法性检验和数据处理过程可以由合法性检验和数据处理模块执行。其中,针对对象需求数据的合法性检验和数据处理过程,可以由需求数据子模块执行,针对子对象清单的合法性检验和数据处理过程可以由物料清单数据子模块执行,针对子对象库存数据的合法性检验和数据处理过程可以由库存数据子模块执行,针对已下采购单子对象的在途数据的合法性检验和数据处理过程可以由采购数据子模块执行。各子模块的连接关系可以参见图2。
108.s102,确定生成目标对象需基于的各个目标子对象的目标子对象数据。
109.可选的,子对象数据,可以包括前述子对象清单,目标子对象数据,可以包括目标子对象清单。
110.对应的,确定生成目标对象需基于的各个目标子对象的目标子对象数据,可以包括:
111.从预先获得的各个子对象清单中确定与对象需求数据指征的目标对象匹配的目标对象清单,作为目标子对象数据。
112.比如,预先获得了a型号手机的子对象清单和b型号手机的子对象清单,根据对象需求数据确定目标对象为a型号手机,于是将a型号手机的子对象清单确定为目标子对象清单,或者确定为目标子对象数据。
113.或者,确定生成目标对象需基于的各个目标子对象的目标子对象数据,可以包括:
114.确定生成目标对象需基于的各个目标子对象的目标子对象清单;
115.其中,目标子对象清单包括:生成目标对象需基于的各个目标子对象的类型和数量。
116.目标子对象,指代生产目标对象所需用到的子对象。例如,目标对象为a型号手机,生产a型号手机所需的处理器a1就是一种目标子对象。
117.在确定目标子对象清单时,可以逐一确定生产一件目标对象需要哪些目标子对象,以及需要的目标子对象的数量,由此构建出目标子对象清单。
118.s103,将目标子对象数据处理为预设数据结构形式,得到目标子对象的结构化数据。
119.结构化数据至少能用于反映生成目标对象的过程中,各个相应目标子对象之间以及目标子对象与目标对象之间的供需关系,和各供需关系分别对应的供需信息。
120.上述结构化数据可以是树型结构的数据,也就是子对象清单树。或者可以是其他结构的结构化数据,本实施例不做限定。
121.s104,基于子对象供应数据和结构化数据,确定对生成目标对象需基于的目标子对象的采购计划,和/或对当前所对应供应的消耗计划。
122.在步骤s104中,可以根据子对象供应数据中每一种目标子对象当前的库存量,和
采购在途的数量,以及结构化数据中各种目标子对象和目标对象的供需关系和供需信息,分析确定当前库存的和采购在途的目标子对象是否足以生产对象需求数据中指定数量的目标对象。
123.针对每一种目标子对象,如果该目标子对象的库存量和采购在途量相加足以满足生产,则确定在生产过程中使用多少库存的目标子对象和多少采购的目标子对象,即确定消耗计划。
124.针对每一种目标子对象,如果该目标子对象的库存量和采购在途量相加不足以满足生产,则确定需要新增购买多少目标子对象才足以满足生产需求,即确定采购计划。
125.可以理解,由于目标对象的生产需要用到多种目标子对象,所以在步骤s104中,可能仅输出各种目标子对象的消耗计划,或者仅输出各种目标子对象的采购计划,或者输出一部分目标子对象的消耗计划和一部分目标子对象的采购计划。
126.本技术公开一种处理方法,方法包括:获得指征对目标对象的需求情况的对象需求数据,指征当前对用来生成多个对象的各个子对象的供应情况的子对象供应数据,和生成目标对象所需的目标子对象的目标子对象数据;将目标子对象数据处理为目标子对象的结构化数据;结构化数据反映生成目标对象的过程中,目标子对象之间以及目标子对象与目标对象之间的供需关系和对应的供需信息;基于子对象供应数据和结构化数据,确定对目标子对象的采购计划,和/或消耗计划。本方案通过分析目标子对象的子对象供应数据和结构化数据,获得目标子对象的采购计划和/或消耗计划,从而准确地为目标对象的生产制造提供物料准备,有助于加快目标对象的生产进度和效率。
127.实施例二
128.下面以树形结构的结构化数据为例,说明本技术提供的处理方法的一种具体实施方式。
129.请参见图3,为实施例提供的一种处理方法的流程图,该方法可以包括如下步骤。
130.s301,执行预设的数据获取处理,以至少得到对象需求数据和子对象供应数据。
131.s302,确定生成目标对象需基于的各个目标子对象的目标子对象数据。
132.步骤s301和s302的具体实施方式请参见实施例一的步骤s101和s102,不再赘述。
133.s303,将目标子对象清单中的数据处理为树型结构,得到对应的子对象清单树。
134.子对象清单树的根节点对应目标对象、各个子节点分别对应目标对象需基于的各个目标子对象,节点间的父子关系表示所对应对象或子对象间的供需关系。
135.也就是说,若目标对象由两种目标子对象制造得到,则这两种目标子对象在子对象清单树中对应的节点就是目标对象对应的根节点的两个子节点,若这两种目标子对象又由另外四种目标子对象制造,则另外四种目标子对象对应的节点又是这两种目标子对象对应的节点的子节点,以此类推。
136.示例性的,假设目标子对象清单中记录有如下信息:
137.制造目标对象a需要基于目标子对象b1和b2,制造目标子对象b1又需要基于目标子对象c1,c2和c3,制造目标子对象c1需要基于目标子对象e,制造目标子对象c2需要基于目标子对象f,制造目标子对象c3需要基于目标子对象g,制造目标子对象b2需要基于目标子对象d1和d2,制造目标子对象d2需要基于目标子对象h1和h2。
138.则根据上述目标子对象清单,在步骤s303中可以处理得到如图4所示的子对象清
单树。
139.s304,为子对象清单树的节点增设如下信息中的至少部分信息:供需关系对应的对象和/或子对象间的供需数量、用于表示所对应子对象可替换的替换组标识、父节点路径、子节点路径、所对应子对象的价格、节点类型。
140.对于子对象清单树中的每一个节点,该节点的供需数量,可以理解为,制造一件目标对象所需的该节点对应的目标子对象的数量。
141.以图4为示例,制造一件目标对象a需要一件目标子对象b1和二件目标子对象b2,同时制造一件b2又需要用到2件d1和1件d2,故制造两件b2需要4件d1和2件d2,于是在图4所示的子对象清单树中,目标子对象b2对应的节点b2的供需数量为2,目标子对象d1对应的节点d1的供需数量为4,目标子对象d2对应的节点d2的供需数量为2。
142.用于表示所对应子对象可替换的替换组标识,对应子对象清单树的每一个节点,如果该节点的子节点属于替换组,说明该节点对应的目标对象(或目标子对象),可以由该节点的任意一个或多个子节点对应的目标子对象制造得到,各个子节点对应的目标子对象可以相互替换;如果该节点的子节点属于非替换组,说明该节点对应的目标对象,必须用该节点的所有子节点对应的目标子对象共同制造得到。
143.以图4为示例,为便于理解,以虚线连接表示替换组,以实线连接表示非替换组。图4中,节点c1至c3均以实线连接至其子节点e至g,说明节点c1至c3属于非替换组,节点c1对应的目标子对象必须由其子节点e对应的目标子对象制造得到,节点c2和c3同理。
144.节点d2通过虚线连接至其子节点h1和h2,说明节点d2对应的目标子对象d2,可以用子节点h1对应的目标子对象h1制造得到,也可以用子节点h2对应的目标子对象h2制造得到,还可以用两者共同制造得到。
145.父节点路径。对于子对象清单树的每一个节点,该节点的父节点路径,用于表示该节点的父节点到子对象清单树的根节点的路径。在一些可选的实施例中,父节点路径可以是从根节点至该节点的父节点的节点号序列。当然,也可以用其他结构的数据表示父节点路径,不做限定。
146.子节点路径,用于追踪子对象清单树各节点的所有子节点。可选的,对于子对象清单树的任意一个节点,这个节点的子节点路径,可以表示该节点的子节点到树的根节点的路径,在具体实施时,可以采用从根节点至该节点的子节点的节点号序列来表示该节点的子节点路径。
147.子节点所对应子对象的价格,即采购子节点对应的目标子对象时的单价。
148.节点类型,用于标识每一个节点为根节点(对应目标对象),中间节点(对应可以用其他目标子对象制造的目标子对象)和叶子节点(对应原材料,即不可制造的目标子对象)。其中,叶子节点,是指没有子节点的节点,以图4为例,其中的节点e,f和g没有子节点,因此属于叶子节点,中间节点,则包括除了根节点和叶子节点以外的所有节点。
149.在图4所示的子对象清单树中,目标对象和目标子对象之间,或者目标子对象之间的供需关系,就是指,制造一种目标对象或者目标子对象需要用到其他哪几种目标子对象;供需关系对应的供需信息,就是指,制造一件目标对象或者目标子对象,需要消耗其他每种目标子对象各多少件。
150.其中,步骤s303和s304相当于实施例一中步骤s103的一种具体实施方式。
151.305,利用决策模型,基于子对象供应数据,确定在最优化满足子对象清单树中各节点的目标对象、目标子对象需求量情况下,对相应目标子对象的采购信息,和/或对当前所对应供应的消耗信息。
152.对子对象清单树中各节点的目标对象或目标子对象需求量的满足情况,可以采用多种指标来表征。
153.作为一种示例,本实施例中引入节点的总齐套量的概念,来表示节点中目标对象或目标子对象的需求量的被满足情况。
154.对于子对象清单树的每一个节点,该节点的总齐套量的定义为:
155.若该节点为叶子节点,则该节点的总齐套量为节点所对应目标子对象的供应满足量与采购满足量之和;
156.若节点为中间节点,则该节点的总齐套量为节点所对应目标对象或目标子对象的供应满足量、采购满足量和生成满足量之和;
157.若节点为子对象清单树的根节点,则该节点的总齐套量为节点所对应目标对象或目标子对象的供应满足量和生成满足量之和。
158.其中,节点对应的目标对象或目标子对象的生成满足量,表示在计划周期内交付目标对象的过程中,计划利用该节点的子节点所对应目标子对象制造多少该节点对应的目标对象或目标子对象。
159.以图4中的节点b1为例,如果该节点的生成满足量为1000,表示计划利用目标子对象c1至c3制造1000件目标子对象b1。
160.采购满足量,表示在计划周期内交付目标对象的过程中,计划消耗多少采购的该节点对应的目标子对象。对于每一节点,该节点的采购满足量,就是s305所述的,对该节点相应目标子对象的采购信息。
161.库存满足量,表示在计划周期内交付目标对象的过程中,计划消耗多少件库存的该节点对应的目标子对象。对于每一节点,该节点的库存满足量,就是s305所述的对当前所对应供应的消耗信息。
162.每一个节点的供应满足量,采购满足量和生成满足量,为需要利用决策模型计算得到的结果,即步骤s305中,需要利用决策模型计算得到子对象清单树的每一节点的库存满足量和采购满足量,另外对于中间节点,还需要计算得到生成满足量。
163.另外,为便于说明,引入节点的需求量的概念。对于子对象清单树中每一节点,该节点的需求量,表示为了交付对象需求数据中指定数量的目标对象,需要消耗的该节点对应的目标子对象的总数量。
164.特别的,对于根节点,根节点的需求量,就是对象需求数据中指定要交付的总数量。
165.示例性的,假设对象需求数据中指定要交付图4中目标对象a共计5000件,由于库存有1000件a,为满足该需求,需要制造4000件a,根据图4可以看出每制造一件a需要消耗一件b1,于是交付5000件a需要消耗4000件b1,于是b1节点的需求量为4000。
166.基于上文引入的总齐套量和需求量的概念,步骤s305可以按如下方式实施。
167.首先,将子对象清单树拆分为多个子树,每一个子树仅包括子对象清单树中相邻的两层。以图4为示例,图4中根节点a和子节点b1,b2,构成一个两层的子树,记为子树1;节
点b2,及其子节点d1和d2构成一个两层的子树,记为子树2。
168.然后,确定总约束条件和每一子树的约束条件。
169.总约束条件包括,总体物料约束包括:第一,针对每一个子树的每一个节点,该节点对应的总齐套量应当等于该节点对应的需求量;第二,针对每一子树的每一节点,该节点的库存满足量应当小于或等于该节点对应子对象的子对象库存数据中记录的库存量;第三,针对每一子树的每一节点,该节点的采购满足量应当小于或等于已下采购单子对象的在途数据中,采购的该节点对应的目标子对象的总数量。
170.对于子树的约束条件:
171.如果一个子树属于替换组,则该子树的约束条件为,父节点的生成满足量,和子树中所有子节点的总齐套量,应当满足子树中所有子节点的总齐套量按对应的权重加权求和后的总和大于或等于父节点的生成满足量。
172.其中,每一子节点的权重,可以是,仅使用该子节点对应的目标子对象制造一件父节点的目标对象或目标子对象时,需要消耗的该子节点对应的目标子对象的数量的倒数。
173.以图4中d2,h1和h2构成的子树,制造一件d2,要消耗1件h1和1件h2,或者消耗2件h1,或者消耗2件h2,所以h1的权重为1/2,同理h2的权重为1/2。该子树的约束条件为,h1的总齐套量的1/2加上h2的总齐套量的1/2,得到的总和不小于d2的生成满足量。
174.如果一个子树属于非替换组,则该子树的约束条件为,子树中父节点的生成满足量,和子树中每一子节点的总齐套量,应当满足父节点和每一子节点的供需关系。
175.以图5为例,图5为从图4中分割出的一个子树,根据图4,该子树属于非替换组,其中包括父节点b2,以及子节点d1和d2,父节点的生成满足量为1,根据图4可知,该子树中父节点和子节点之间的供需信息为,制造一件b2需要两件d1和一件d2,所以根据上述约束条件,d2的总齐套量应当大于1,d1的总齐套量应当大于2,这样才能满足制造一件b2的需求。
176.为了评估决策模型输出的决策结果,针对每一节点引入辅助变量惩罚项(简称惩罚项),惩罚项可以取非负整数。
177.惩罚项定义如下:
178.对于每一节点,决策模型输出的决策结果中,如果该节点的总齐套量(根据决策结果中该节点的库存满足量,采购满足量和生成满足量计算得到)大于或等于该节点的需求量,则确定该节点的惩罚值为0,表示基于当前的决策结果该节点的需求可以满足,如果该节点的总齐套量小于该节点的需求量,表示该节点的需求无法满足,此时确定该节点的惩罚值为正整数,具体数值可以按照阶梯函数的形式确定。
179.当节点的需求无法满足时,按照阶梯函数确定该节点的惩罚项的数值的方式可以是,预先设定由低到高递增的多个惩罚值区间,每一惩罚值区间对应的惩罚值也由低到高递增,例如最低的惩罚值区间对应1,较高的惩罚值区间对应2,更高的对应3,以此类推。然后,对于需求无法满足的节点,计算需求量减去总齐套量的差值,将该差值所属的惩罚值区间对应的惩罚值,确定为该节点的惩罚值。由此,惩罚值的大小可以反映节点需求不被满足的情况。
180.也就是说,子对象清单树中的各个节点分别对应一辅助变量惩罚项,辅助变量惩罚项用于在所对应节点的对象或子对象需求量不能被满足情况下给出相应惩罚值。
181.基于上述惩罚项的定义,可以将决策模型的求解目标设定为对当前所对应供应的
消耗总量最大化,也就是所有节点的库存满足量的总和尽可能大;采购总量最小化,也就是所有节点的采购满足量的总和尽可能小;辅助变量惩罚项之和最小化,也就是所有节点的惩罚值的总和尽可能小。
182.也就是说,决策模型可以在前述约束条件的基础上,根据目标函数进行所需处理,目标函数以对当前所对应供应的消耗总量最大化、采购总量最小化及辅助变量惩罚项之和最小化为总体目标。
183.通过决策模型求解,获得子对象清单树中每一节点的采购信息(即采购满足量)和消耗信息(即库存满足量),以及获得中间节点和根节点的生成满足量。
184.s306,根据采购信息和/或消耗信息,生成对应的采购计划和/或消耗计划。
185.在步骤s306中,首先可以对决策模型求解后输出的决策结果进行数据规范化整理,包括整理各节点的库存满足量,生成满足量,采购满足量和总齐套量等数据。然后对整理好的数据进行校验,具体的校验逻辑可以按需设定,本实施例不做限定。
186.示例性的,校验逻辑可以包括以下任意一条或多条:
187.节点的总齐套量是否大于或等于该节点的需求量;替换组内各个节点的总齐套量之和是否大于或等于当前替换组内所有节点的需求量之和;对于根节点,总齐套量是否大于或等于对象需求数据中指定的需要交付的目标对象的总数;各子对象每天消耗的库存的总量是否等于该子对象的初始库存数量加上已下采购单在途量减去当天剩余的该子对象的数量。
188.采购计划,用于指征需要购买哪些种类的目标子对象以及需要购买的数量。在步骤s306中,采购计划的生成方式可以是:
189.针对决策结果中,每一需求未被满足,并且总齐套量中包含采购满足量的节点,即惩罚值大于或等于1的节点,用决策结果中该节点的需求量减去决策结果中该节点的总齐套量,获得该节点的新增购买量。由此,可以基于子对象清单树中所有需求未被满足的节点对应的目标子对象,以及这些节点的新增购买量,形成采购计划。
190.其中,限定总齐套量中包含采购满足量,是因为部分节点对应的目标对象或目标子对象可能不可采购,只能用库存的对象或者用其他目标子对象制造,这类不可采购的目标对象或目标子对象显然不应加入采购计划,因此通过限定总齐套量中包含采购满足量,将这类不可采购的目标对象排除在采购计划外。
191.消耗计划,用于指征计划周期内预计消耗哪几种库存的目标子对象,以及每种子对象消耗的库存的数量。在步骤s306中,消耗计划的生成方式可以是,统计决策结果中,子对象清单树每一节点的库存满足量,将这些节点对应的目标对象或目标子对象,以及这些节点的库存满足量汇总,得到消耗计划。
192.步骤s305和s306相当于实施例一中的步骤s104的具体实施方式。
193.请参见图6至图8,依次为需求数量(即需要交付的目标对象的数量)和数据处理,模组计算和结果整理环节所需时间的关系示意图。可以看出,随着需求数量的增加,上述几个步骤所需时间基本呈线性地缓慢增加,不会出现当需求数量较大时求解的耗时急剧增大的情况,因此,本实施例提供的处理方法有助于加快为目标对象的生产制造提供物料准备,以及有助于加快目标对象的生产进度和效率。
194.其中,数据处理,可以包括图3所示实施例的步骤s301和s302,模组计算可以包括
s303至s305,结果整理,可以包括步骤s306。
195.综上,本技术实施例的处理方法,获得指征对目标对象的需求情况的对象需求数据,指征当前对用来生成多个对象的各个子对象的供应情况的子对象供应数据,和生成目标对象所需的目标子对象的目标子对象数据;将目标子对象数据处理为目标子对象的结构化数据;结构化数据反映生成目标对象的过程中,目标子对象之间以及目标子对象与目标对象之间的供需关系和对应的供需信息;基于子对象供应数据和结构化数据,确定对目标子对象的采购计划,和/或消耗计划。本方案通过分析目标子对象的子对象供应数据和结构化数据,获得目标子对象的采购计划和/或消耗计划,从而准确地为目标对象的生产制造提供物料准备,有助于加快目标对象的生产进度和效率。
196.实施例三
197.本实施例提供一种处理系统,请参见图9,为该系统的结构示意图。该系统包括:
198.获取模块901,用于执行预设的数据获取处理,以至少得到对象需求数据和子对象供应数据,对象需求数据用于指征对多个对象中目标对象的需求情况,子对象供应数据用于指征当前对用来生成多个对象的各个子对象的供应情况。
199.确定模块902,用于确定生成目标对象需基于的各个目标子对象的目标子对象数据。
200.数据结构转换模块903,用于将目标子对象数据处理为预设数据结构形式,得到目标子对象的结构化数据;结构化数据至少能用于反映生成目标对象的过程中,各个相应目标子对象之间以及目标子对象与目标对象之间的供需关系,和各供需关系分别对应的供需信息。
201.决策模块904,用于基于子对象供应数据和结构化数据,确定对生成目标对象需基于的目标子对象的采购计划,和/或对当前所对应供应的消耗计划。
202.可选的,决策模块904利用构建的决策模型,基于子对象供应数据和结构化数据,确定对生成目标对象需基于的目标子对象的采购计划,和/或对当前所对应供应的消耗计划;
203.其中,决策模型根据目标函数进行所需处理,目标函数以对当前所对应供应的消耗总量最大化、采购总量最小化及辅助变量惩罚项之和最小化为总体目标;目标对象及生成目标对象所需的各个目标子对象分别对应一辅助变量惩罚项,辅助变量惩罚项用于在所对应对象或子对象需求量不能被满足情况下给出相应惩罚值。
204.可选的,决策模块904通过节点的总齐套量,表示节点中目标对象或目标子对象的需求量的被满足情况;
205.若节点为叶节点,则节点的总齐套量为节点所对应目标子对象的供应满足量与采购满足量之和;若节点为非叶节点,则节点的总齐套量为节点所对应目标对象或目标子对象的供应满足量、采购满足量与基于所包含子节点的目标子对象生成该节点的目标对象或目标子对象所对应的生成满足量之和。
206.可选的,子对象供应数据包括现有子对象库存数据和已下采购单子对象的在途数据。
207.可选的,确定模块902确定生成目标对象需基于的各个目标子对象的目标子对象清单;
208.其中,目标子对象清单包括:生成目标对象需基于的各个目标子对象的类型和数量。
209.可选的,获取模块901获得对象需求数据、子对象供应数据和多个对象分别对应的子对象清单;其中,各个对象分别对应的子对象清单包括:生成相应对象需基于的各个子对象的类型和数量。
210.确定生成目标对象需基于的各个目标子对象的目标子对象数据,包括:
211.从获得的各个子对象清单中确定与对象需求数据指征的目标对象匹配的目标对象清单,作为目标子对象数据。
212.可选的,数据结构转换模块903将目标子对象清单中的数据处理为树型结构,得到对应的子对象清单树;子对象清单树的根节点对应目标对象、各个子节点分别对应目标对象需基于的各个目标子对象,节点间的父子关系表示所对应对象或子对象间的供需关系;
213.为子对象清单树的节点增设如下信息中的至少部分信息:供需关系对应的对象和/或子对象间的供需数量、用于表示所对应子对象可替换的替换组标识、父节点路径、子节点路径、所对应子对象的价格、节点类型。
214.本实施例提供的处理系统,其具体工作原理可以参见本技术任一实施例提供的处理方法中的相关步骤,不再赘述。
215.实施例四
216.本实施例提供一种电子设备,该电子设备的组成结构如图10所示,至少包括:
217.存储器10,用于存放计算机指令集;
218.计算机指令集可以通过计算机程序的形式实现。
219.处理器20,用于通过执行计算机指令集,实现如上文任一方法实施例公开的处理方法。
220.处理器20可以为中央处理器(central processing unit,cpu),特定应用集成电路(application-specific integrated circuit,asic),数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其他可编程逻辑器件等。
221.电子设备具备显示装置和/或具备显示接口、能外接显示装置。
222.可选的,电子设备还包括摄像头组件,和/或连接有外置摄像头组件。
223.除此之外,电子设备还可以包括通信接口、通信总线等组成部分。存储器、处理器和通信接口通过通信总线完成相互间的通信。
224.通信接口用于电子设备与其他设备之间的通信。通信总线可以是外设部件互连标准(peripheral component interconnect,pci)总线或扩展工业标准结构(extended industry standard architecture,eisa)总线等,该通信总线可以分为地址总线、数据总线、控制总线等。
225.综上所述,本技术实施例公开的处理方法、系统和电子设备,至少具备以下技术优势:
226.a、避免了传统bom树逻辑的复杂性,可有效降低物料组合量爆炸式增长情况,从而降低了计算复杂度;
227.b、通过将bom树拆分为多个子树的情况建立模型约束,通过使得每棵子树单元均满足需求,而实现完整bom树满足总需求方式,能够使得完整计划决策的制定达到全局最
优;
228.c、通过引入辅助变量惩罚项,能够在保持线性规划快速性的条件下实现部分整数优化的功能。
229.需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
230.为了描述的方便,描述以上系统或装置时以功能分为各种模块或单元分别描述。当然,在实施本技术时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
231.通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例或者实施例的某些部分所述的方法。
232.最后,还需要说明的是,在本文中,诸如第一、第二、第三和第四等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
233.以上所述仅是本技术的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。