短期计划排班算法修改
2021-09-17 12:21:24 6 举报
短期计划排班算法修改,新旧算法整理
作者其他创作
大纲/内容
新需求
设置优先级
设置近似性
设置互斥性
原计划排班算法:针对单产线单周进行排班
物料组内算法
业务规则
同一物料组内C类物料优先
算法规则
对物料组内排序施加三种随机扰动,计算生产时间,与原排序生产时间对比选择最短时间作为最后组内排序
物料组间算法
业务规则
接上个产程时,优先生产相同物料
算法规则
对物料组间排序施加三种随机扰动,计算生产时间,与原排序生产时间对比选择最短时间作为最后整体排序
不影响时间的业务:相同瓶型一起排产
最大产程和不可用时间条件
在算法排序后,计算最大产程和不可用时间条件,分割计划,记录产程开始时间和新CIP标识
新需求算法方案
原算法与新需求冲突点
原算法只考虑单线程单周,无法兼顾计算产线间物料的相似性和互斥性
原算法采用三种随机扰动(随机更改原有排序)来生成排序,本身就不是最优。
加入相似性和互斥性限制对三种随机扰动算法都要修改,且逻辑复杂。
新算法
物料组内算法【复用原有逻辑 ,去除随机扰动算法】
业务规则
同一物料组内C类物料优先
相同分组,同为C类,规格相同,sku不同;
相同规格,不同sku
相同分组,同为C类,规格不同;
同一物料组内非C类物料
算法规则:无,不需要算法——因物料组内换产时间固定,只要排序正确,生产时间必然最小
物料组间算法
物料组间排序最小时间问题本质:访问所有节点的最短路径
见leetcode算法:https://leetcode-cn.com/problems/shortest-path-visiting-all-nodes/
业务规则
设置优先级的物料优先生产
无优先级物料,接上个产程时,优先生产相同物料
算法规则
采用【访问所有节点的最短路径】的算法:预处理点对间最短路 + 状态压缩动态规划 获得最优排序
存在相似性物料计划时,计算固定时间段到达相似性物料的最优排序结果——现有算法难以实现
存在互斥性时,计算固定时间段集合(多个产线物料互斥)不可到达互斥物料的最优排序结果——现有算法难以实现
不影响时间的业务:相同瓶型一起排产【复用原有逻辑】
不改变已有物料组间排序,已有C类排序,依次更新每个物料组内各计划的相同瓶型一起排产需求
最大产程和不可用时间条件【复用原有逻辑】
在算法排序后,计算最大产程和不可用时间条件,分割计划,记录产程开始时间和新CIP标识
收藏
0 条评论
下一页