欢迎关注我的APS仓库:https://github.com/yuetan1988/python-lekin
APS系列入门
- APS入门1-综述
- APS入门2-ortools
- APS入门3-从源码解读一个C# APS项目
- APS入门4: 供应链与APS
- APS入门5:工厂管理
- APS入门6-LEKIN学习与复现
- APS入门7-数字化车间智能排产调度实战
- APS入门8-C++开发-从源码解读一个APS项目
搜集了一些APS的资料,便于自主研发一套APS方案
1 首先看一些视频资料,掌握一下直观的big picture
Excel 版本
其实很多工厂实际还是excel排产的,甚至一些复杂的厂。
- 基本逻辑还是一样的,由订单或备货驱动。产生总需求
- 其他基础数据有物料、节拍
- 把需求中的不同产品,分配给日期和产线
第一个视频
这里的公式表明:
定义历史剩余待生产: 生产任务 - 日产能 * 天数,
如果 待生产 > 日产能, 那就是按计划日产能进行排
否则,就只剩不到一天的或者0了,也就是0和(日生产-待生产)的最大值。结果就是最后一天生产一点点,剩余为0
这是一个最基础的场景,看到所有产品都是从第一天开始生产,无限产能
所以,加深一点
- 需求:从订单数量和良率99%考虑,
- 产能:日产能
排产公式:
由于表中定义了开始日期,因此只有实际日期大于O列的实际排产日期才行。另一个条件就是需生产数量已得到满足,这两种情况不排产
否则,如果待排产大于日产能,继续按最大日产能排,否则剩下的差值排最后一天
同时计算产线符合率,这里根据产线负荷率自动调整了。也就是第一排确实优先考虑,之后会根据负荷率、开始日期综合自动考虑
我们再看这个公式
不排的条件增加了一个:如果按列的负荷率已经100%时,也不排产了。
而能排产的天数里,排多少也需要考虑负荷的限制
第2个视频
第一个视频非常适合初学者有个基本概念。这个视频就更贴近实际情况了。
这个是BOM信息,根据第一个sheet计划,计算每天的缺料。产品ID,名称,生产数量,物料,属性,可生产数量,库存,然后是每天的情况
这是生产计划,这里就有了物料齐套 数量,BOM检查。
2 看一些代码,了解下具体
- https://gurobi.github.io/modeling-examples/factory_planning_1_2/factory_planning_1.html
- https://zhuanlan.zhihu.com/p/55872183
- https://blog.csdn.net/weixin_42608414/article/details/110447228
2.1 fexible-job-shop-scheduling
2.1.1 parse data
3 看一些博客
想找一些通俗的博客了解。
4 看完整的APS书籍
- 01-Planning and Scheduling in Manufacturing and Services by Michael L. Pinedo
- 02-Scheduling theory algorithms and systems-Springer
主要看了这两本书。
5 设计文档
6 解决方案
首先可以参考一下其他系统
截图来自这里
商业软件
- 西门子智能排产系统软件 APS Preactor
- ASProva
- Planet together
- SAP
参考资料
- https://bbs.huaweicloud.com/blogs/195974
- https://github.com/Gurobi/modeling-examples
- https://blog.csdn.net/weixin_42608414/article/details/110447228
- https://zhuanlan.zhihu.com/p/55872183
- https://docs.python-mip.com/en/latest/quickstart.html
- https://github.com/yuetan1988/APS/blob/master/Model/DBCache.cs