数据导入
集成供应链计划 支持通过 Excel 文件导入数据。为了帮助您快速入手,请下载并填写 模板,然后将其上传至系统。
在填写数据时,请确保 Excel 文件不包含跨表的 VLOOKUP 等宏功能。
数据结构
导入的数据文件应包括以下主要数据表及字段:
模型参数
此表用于定义系统的参数。
- 参数名称: 系统参数的名称。
- 参数值: 对应的参数值。
当前支持的参数名称包括:
- 计划周期数
- 表示本次供应链计划所覆盖的业务周期个数,每个周期可以代表一个月、一个星期、或一天等时间单位,具体取决于业务需求。
- 此参数是一个正整数,若未填写,系统将默认设置为3。
- 需求计划 或 特殊需求 中的“周期”列必须包含在该计划周期数的范围内,超出此范围的需求将不会被考虑。系统会自动忽略计划周期外的需求。
- 例如,如果计划周期数设置为3,那么“周期”列的值只能为1、2或3。如果有需求的周期为4或更大,系统将不处理该需求。
- 需求满足目标
- 用户可以设置模型在制定供应链计划时的需求满足目标,模型会根据需求满足目标的输入来设置需求满足目标函数中需求的权重。
- 此参数是一个枚举的整数值,取值范围为0到2,含义如下:
- 0: 最大满足产品需求的数量。在导入后,在输入视图中显示为
Quantity
。 - 1: 最大满足产品需求的价值。在导入后,在输入视图中显示为
Amount
。 - 2: 在最大满足产品需求的数量的基础上,最小化采购成本。在导入后,在输入视图中显示为
Min-New-Buy-Amount
。
- 0: 最大满足产品需求的数量。在导入后,在输入视图中显示为
产品
此输入数据表定义了计划所考虑的产品,包括成品、半成品、原材料等。
所需字段:
- 产品名称:产品或物料的名称,必须是唯一的。
- 产品类型:用户自定义的类型标签,方便对产品分类管理。
- 单位价格:产品的单位价格。当该产品可被采购时,它将作为采购成本考虑。
- 允许采购: 指定是否允许采购该物品。
- 0表示不允许,1表示允许。
可选列:
- 产品编码: 如果此列出现在输入数据中,它必须是唯一的。如果此列缺失,系统将为每个产品自动生成一个唯一的编码。
注意:
- 产品类型用作描述性标签,以帮助用户对物品进行分类。它不会在系统内部使用。用户可以自定义产品类型, 例如成品、半成品、原材料等。系统根据BOM输入数据来建立产品之间在生产过程中的关系。
- 系统要求所有产品的单位保持一致。系统不对产品的单位施加限制,但要求所有产品的单位保持一致。例如,可以是吨、件或箱。
站点
此输入数据表定义了计划考虑的站点。用户可以在此表中定义需要考虑的站点,如工厂、仓库、物流中心等。
所需列:
- 站点名称: 站点的名称,必须唯一。
- 站点类型: 站点的类型,可以自定义。
- 存储成本: 站点的存储成本. 系统在优化时会考虑到站点的存储成本,进而指导产品在站点之间的流动。
- 区域: 站点所在的区域,可以自定义。系统会根据两个站点所属区域来判断对应链路是否属于跨区调拨链路。
- 纬度: 站点的地理纬度,用于地理计算。
- 经度: 站点的地理经度。
BOM
此输入表定义产品的BOM。
所需列:
- BOM编号: BOM的编号
- 具有相同BOM编号的行将被视为同一个BOM,用于定义生产过程的输入和输出,以及所需物料的数量和产出的产品数量。
- 产品名称: BOM的输入或者输出产品名称。
- 注意: 产品名称必须在产品列表中存在。
- 物料数量: 如果是输出,表示产出的产品数量;如果是输入,表示所需的产品数量。
- 输入/输出: 定义该行产品在生产过程中是输入还是输出。输入为1,输出为0。
- 在同一个BOM中,只能有一个输出产品,可以有一到多个输入产品。
注意:
- BOM编号+产品名构成主键,必须唯一。
- 对于具有相同BOM编号的行,必须确保至少存在一个输入和一个输出。系统在导入时会进行检查,如果不满足条件,将报错。 如果同一BOM编号包含多个输出,系统也将报错。
- 物料数量的单位必须与产品的单位一致。
示例:
BOM编号 | 产品名称 | 物料数量 | 输入/输出 |
---|---|---|---|
BOM-1 | 半成品1 | 1 | 0 |
BOM-1 | 物料1 | 2 | 1 |
BOM-1 | 物料2 | 1 | 1 |
上面表定义了BOM-1的生产过程: 消耗两个单位的物料1和1个单位的物料2,产出1个单位的半成品1。
通过组合BOM,以及在生产策略的输入表中定义生产流程,可以定义一个多级完整的生产流程网络。 比如,下面的BOM定义了产品之间的多级依赖关系:
BOM编号 | 产品名称 | 物料数量 | 输入/输出 |
---|---|---|---|
BOM-1 | 半成品1 | 1 | 0 |
BOM-1 | 物料1 | 2 | 1 |
BOM-1 | 物料2 | 1 | 1 |
BOM-2 | 半成品2 | 1 | 0 |
BOM-2 | 物料3 | 3 | 1 |
BOM-2 | 物料4 | 1 | 1 |
BOM-3 | 成品1 | 1 | 0 |
BOM-3 | 半成品1 | 1 | 1 |
BOM-3 | 半成品2 | 1 | 1 |
以及在生产策略的输入表格中定义生产流程:
站点名称 | 产品名称 | BOM编号 | 生产成本 | 生产线编号 |
---|---|---|---|---|
站点1 | 半成品1 | BOM-1 | 100 | 生产线1 |
站点1 | 半成品2 | BOM-2 | 100 | 生产线2 |
站点1 | 成品1 | BOM-3 | 100 | 生产线3 |
则代表站点1会有以下生产流程:
需求计划
此输入数据定义计划考虑的需求。
所需列:
- 站点名称
- 站点名称必须在站点列表中存在。
- 产品名称
- 产品名称必须在产品列表中存在。
- 周期
- 需求的对应周期,周期必须在计划周期数的范围内。周期值从1开始。
- 需求量
- 对应周期的需求量,必须大于0。
- 优先级
- 需求的优先级,为0到9的整数,0表示最高优先级,9表示最低优先级。
- 系统会优先满足优先级高的需求。如果优先级相同,并且供给小于需求,则根据当前需求量按同等比例分配,从而保持服务满足率相同。
- 默认优先级为9,即最低优先级。
注意:
- 站点名称+产品名称+周期构成主键,必须唯一。
特殊需求
此输入数据表定义了计划中考虑的特殊需求,其设置和需求计划完全相同,唯一不同之处在于特殊需求的优先级为0,表示最高优先级。用户可以使用特殊需求来处理紧急插单等业务场景。
所需列:
- 站点名称
- 站点名称必须在站点列表中存在。
- 产品名称
- 产品名称必须在产品列表中存在。
- 周期
- 需求的对应周期,周期必须在计划周期数的范围内。
- 需求量
- 对应周期的需求量,必须大于0。
- 优先级
- 特殊需求的优先级为0,即最高优先级。
注意:
- 站点名称+产品名称+周期为主键,必须唯一。
- 系统在考虑时空节点(站点,产品,周期)的需求时,需要满足需求计划中对应的需求量和特殊需求中对应的需求量之和。如果不能满足,则供给优先级分层考虑,并且在同等优先级下做比例分配。
期初库存
此输入数据表定义了产品在各个站点的期初库存(起始时间点的库存)。用户可以设置原料、半成品、成品的期初库存。
所需列:
- 站点名称
- 站点名称必须在站点列表中存在。
- 产品名称
- 产品名称必须在产品列表中存在。
- 期初库存
- 期初库存量,必须大于等于0。
注意:
- 站点名称+产品名称构成主键,必须唯一。
库存目标
此输入表格数据定义每个产品在每个站点于每个周期期末的库存目标。
所需列:
- 站点名称
- 站点名称必须在站点列表中存在。
- 产品名称
- 产品名称必须在产品列表中存在。
- 周期
- 期末库存目标对应的周期,周期必须在计划周期数的范围内。
- 期末库存目标
- 期末库存目标,必须大于等于0。
注意:
- 站点名称+产品名称+周期为主键,必须唯一。
- 系统在满足需求之后,会尽可能满足期末库存目标。也就是说,满足需求比满足库存目标有更高的优先级。
生产策略
定义每个站点、每条产线可以生产哪些产品,以及生产的效率和成本。
所需列:
- 站点名称
- 站点名称必须在站点列表中存在。
- 产品名称
- 产品名称必须在产品列表中存在。
- BOM编号
- BOM编号必须在BOM列表中存在。
- 生产成本
- 生产成本。必须大于或等于0。
- 生产线编号
- 生产线编号必须在生产线约束表中存在。
- 生产率
- 生产率为单位时间内的生产量。必须大于0。
- 比如,如果产品的单位为件,假设时间的单位为天,那么生产率就是每天生产该产品的件数。
- 生产率的单位为:产品单位/时间单位,所有生产率的时间单位需要保持一致。
- 系统使用生产率来表述产能的限制,生产线的产能限制单位和生产率相关。比如,如果产品的生产率单位为“件/天”, 那么生产线的产能上限就是计划单位周期内的最大可生产天数。
- 多个产品共用一条生产线时,系统会要求所有产品的生产时间总和必须在该生产线的产能限制之内。
- 例如:假设一条生产线可以同时生产产品A和B,产品A的生产率为10件/天,产品B的生产率为20件/天,此生产线在计划周期内可以生产20天。如果模型决策生产产品A
x
件,产品By
件,那么x/10+y/20
必须小于或等于20。
- 例如:假设一条生产线可以同时生产产品A和B,产品A的生产率为10件/天,产品B的生产率为20件/天,此生产线在计划周期内可以生产20天。如果模型决策生产产品A
- 生产率为单位时间内的生产量。必须大于0。
- 经济批量
- 经济批量,正整数,必须大于或等于0。
- 最终产品的生产量需要为经济批量的整数倍。如果经济批量为0,则不考虑经济批量约束。
- 经济批量的单位与产品单位相同。设置经济批量需要为最终的产品,不是中间产品。注意,设置经济批量会增加求解的时间。
注意:
- 站点名称+产品名称+生产线编号+BOM编号为主键,必须唯一。
- 生产策略输入表中的产品名称必须是对应BOM的输出产品名称,即对应于BOM表中的
输入/输出==0
的行。
生产线约束
定义每条生产线的产能约束。
所需列:
- 生产线编号
- 周期产能上限
- 周期产能上限。必须大于或等于0。
- 周期产能下限
- 周期产能下限。必须大于或等于0。
注意:
- 产能的单位和生产率定义相关。例如,如果生产率的单位是“件/天”,那么产能的单位就是“天”。
产品生产约束
定义产品的最小和最大生产量。未出现在此表中的产品,其生产量不受此表约束。
所需列:
- 产品名称
- 产品名称必须在产品列表中存在。
- 周期生产量上限
- 周期产量上限。必须大于或等于0。
- 周期生产量下限
- 周期产量下限。必须大于或等于0。
注意:
- 周期生产量上限必须大于或等于周期生产量下限。
- 产品名称在此表中必须唯一,不能重复定义限制。
站点产品生产约束
定义在特定站点上特定产品的最小和最大生产量。未出现在此表中的站点和产品组合,生产量不受此表约束。
所需列:
- 站点名称
- 站点名称必须在站点列表中存在。
- 产品名称
- 产品名称必须在产品列表中存在。
- 周期生产量上限
- 周期产量上限。必须大于或等于0。
- 周期生产量下限
- 周期产量下限。必须大于或等于0。
注意:
- 周期生产量上限必须大于或等于周期生产量下限。
- 站点名称和产品名称组合必须唯一,即不能重复定义约束。
运输策略
此输入数据表定义了站点之间的运输线路和运输成本。
所需列:
- 起始站点
- 起始站点必须在站点列表中存在。
- 目的站点
- 目的站点必须在站点列表中存在。
- 运输成本
- 运输成本,必须大于或等于0。
- 最小起运量
- 对应线路的最小起运量,必须大于等于0。若缺失,默认为0,即没有最小起运量限制。
- 若最小起运量大于0,则系统会在优化时,会对运输线路进行最小起运量的限制,即如果该运输线路上有运输量,那么运输量需要大于或等于最小起运量,否则系统会将该线路运输量设置为0。
- 最小起运量是对该线路上所有产品的运输量之和进行限制。
- 是否启用
- 是否启用此运输线路,1表示启用,0表示不启用。
注意:
- 起始站点+目的站点为主键,必须唯一。
区域运输约束
此表定义进出每个区域的运输量的限制。
所需列:
- 区域
- 区域名称,对应于站点子表中的区域。
- 进区域周期运输下限
- 在每个计划周期内,进入该区域的运输量的下限。大于或等于0,若缺失,默认为0。
- 进区域周期运输上限
- 在每个计划周期内,进入该区域的运输量的上限。大于或等于0,若缺失,默认为99999999。
- 出区域周期运输下限
- 在每个计划周期内,离开该区域的运输量的下限。大于或等于0,若缺失,默认为0。
- 出区域周期运输上限
- 在每个计划周期内,离开该区域的运输量的上限。大于或等于0,若缺失,默认为99999999。
注意:
- 如果某个区域没有出现在此表中,则代表该区域没有进出运输量的限制。
禁止运输线路
定义某些特定运输路径的禁用规则,控制从特定站点到目标站点之间是否允许运输某些产品。
所需列:
- 起始站点
- 起始站点必须在站点列表中存在。
- 目的站点
- 目的站点必须在站点列表中存在。
- 产品名称
- 产品名称必须在产品列表中存在。
- 是否生效
- 此项禁止规则是否生效。1表示生效,0表示不生效。
采购策略
此输入数据表定义了站点-产品维度的采购成本以及交货时长(Lead Time
)。该输入为对“产品”输入中被允许采购产品的采购策略信息补充。此输入表为可选表,未在表格中列出但在“产品”输入中被允许采购的站点-产品组合将被系统设置Lead Time
为0,采购价格为“产品”输入中的单位价格。
所需列:
- 站点名称
- 站点名称必须在站点列表中存在。
- 产品名称
- 产品名称必须在产品列表中存在。
- 采购成本
- 采购的单位价格,正浮点数,默认值为“产品”输入中该产品的单位价格。
- 交货时长
- 从订货到收到货物的周期数,单位与模型参数中的计划周期数单位一致。整数,必须大于等于0,默认值为0。
- 是否生效
- 该条采购策略是否生效,1表示生效,0表示不生效。
注意:
- 产品只有在“产品”输入中被允许采购,且对应的采购策略为生效,该条采购策略才能真正生效。如果仅勾选采购策略生效,但是该产品在“产品”输入中没有被允许采购,则产品在系统中依然不允许被采购。
- 站点名称和产品名称组合必须唯一,即不能重复定义采购策略。
- 系统会根据交货时长连接不同的时空节点,进行系统优化求解。比如交货时长为1,则在t周期进行采购产品的决策,而产品会在t+1周期到达站点。
外部流量
此输入表格数据定义模型考虑的外部流量,例如在途的采购订单,或者在途的调拨订单等。此输入表为可选表。
所需列:
- 站点名称
- 站点名称必须在站点列表中存在。
- 产品名称
- 产品名称必须在产品列表中存在。
- 周期
- 外部流量进入系统的对应周期,例如在途库存到达目的站点的周期,周期必须在计划周期数的范围内。
- 外部流量
- 对应周期到达的外部流量,可以为正数,也可以为负数。正数代表对时空节点(站点,产品,周期)的流入,例如入库,负数代表对时空节点(站点,产品,周期)的流入,例如出库。
- 是否生效
- 该条外部流量是否生效,1表示生效,0表示不生效。
注意:
- 站点名称+产品名称+周期为主键,必须唯一。
- 用户可以使用外部流量来自定义实现一些特定的策略,来控制时空节点的外部流量,例如模拟实际业务场景中的在途库存,或者在途订单等。
- 系统会将外部流量纳入网络流平衡方程。
上传数据
填写完数据后,您可以将 Excel 文件上传至系统。上传步骤如下:
- 登录系统:访问 https://flow.convect.cn 并使用您的账户登录。
- 打开应用:在控制台中找到 集成供应链计划 应用并点击进入。
- 上传文件:点击右上角的 新建文件 按钮,填写文件名称并上传您准备好的 Excel 文件。
- 确认并提交:点击 创建 按钮,系统将自动验证并处理您的数据。
- 检查数据:在 输入视图 中检查导入的数据,并确保其正确无误。
导入完成后,您可以开始使用 求解 功能来生成供应链计划。