企业的生产类型主要分为备库生产和按订单生产。 出货量较大的通用产品通常采用备库生产方式,例如服装、建筑材料、家电、家具、日用品等。部分接单生产的企业,也会对消耗量大的半品做备库,接单后按客户要求进行包装。本文讨论备库生产的算法和APS在优化库存管理和生产计划方面的应用。
市场预测数据:
按备库方式生产的企业首先需要对未来的市场需求做出预测,可以借助过去的销售数据、人工经验和一些预测软件帮助实现需求预测。
本文不探讨需求预测的方式和工具。 我们假设在有了合理的预测后,如何制定生产计划,维持合理的库存水平,平衡出货和周转率,使得企业得到最大的利益。
我们假定通过市场预测分析,得到以下三个基本数据,作为后续计算的依据:
安全库存管理可以采用两种计算方式:维持安全库存数量或者维持安全可销天数。
依据安全库存方式触发生产:
对于每种产品,我们定义以下参数:
大部分ERP的库存管理模块都有按照安全库存水平触发产生生产工单的功能。
缺陷:按照安全库存方式生产, ERP仅依据当前库存量触发一次生产,不能产生远期工单。 对于长提前期的物料采购不能提供精确的计算依据。
我们可以按照将每月的总需求数下采购单,但是按照月累积数量需求下单,无法给出每种物料精确的交货日期和数量,供应商的送货时间随意,难以做到与生产时间吻合。为避免欠料,企业只能增大库存量,让供应商提前交货,这样就造成了库存过高,占用资金并且容易产生呆料。
依据可销天数方式触发生产:
可销天数原则上与安全库存的原理相同,需要为每种产品定义:
当库存总量/日均出货量 < 安全可销天数时, 触发生产,产生一笔生产工单
如果仅触发一次生产,与安全库存方式就没有区别。我们假设实际的出货与所定义的日均出货量一致,在APS系统的帮助下,可以创建一系列的生产订单。
示例:
假设产品A有如下参数:
日均出货 | 5000 |
当前库存 | 17000 |
安全可销天数 | 5 |
最低生产量 | 10000 |
订单周期 | 3天 |
假设当前为10/27日
以此参数, 当前欠料 25000 – 17000 = 8000, 系统创建的工单应如下
工单 | 数量 | 需求日期 |
1 | 10000 | 10/27 |
2 | 13000 | 10/28 |
3 | 15000 | 10/31 |
4 | 15000 | 11/3 |
从上可见, 按照可销天数方式计算,可以创建未来一段时间的工单。ERP根据订单表可以计算出各种原材料的需求数量和日期。
产品可销天数波动曲线
按实际出库数量调整计划:
以上为理论数据,实际的出货量不会与日均出货量完全一致, 库存数量一定会有变化,生产计划需要滚动调整。 如果一个产品出货多于理论值,后续工单生产时间要提前或增加数量。如果实际出货少于理论值,要延迟生产或降低数量。
虽然原理不复杂,但是在产品多的时候,计算的逻辑复杂,工作量大。手工方式计算困难,需要借助软件工具。PlanMateAPS中的需求管理模块,可以实现自动计算的功能,帮助用户实现库存管理和制定合理的生产计划。
调整周期可以根据库存水平而定。维持低库存水平的企业,例如可销天数在7天之内, 则每1-2天就需要调整工作计划。高库存水平的客户,可以每3天或一周做一次调整。
时间轴宽度: APS自动创建的生产工单时间轴长度,主要考虑物料采购的提前期需求,因ERP依据工单的数量和开工日期,根据BOM展开产生采购订单。 按计划生产时间采购和交货,可以大大降低物料库存水平,提高周转率,降低库存成本。
按总库存容量自动调整:
为每个产品定义可销天数有可能造成整体库存超标。另一种更加合理的方式是设定总的库存容量,所有产品分享库存, 按比例增加或降低各工单的生产数量,将总的库存维持在设定的水平上。
在PlanMateAPS的算法中,支持设定总库存容量,根据总容量自动创建每个产品的生产计划。以下为PlanMate的算法产生的库存曲线
库存波动曲线如下: