注塑机自学习排程,遗传算法排程,注塑工单排计划,模具排单,注塑APS

2021年8月1日21:45:01
作为软件的第一个版本,我思考此种思路已有两三年,只是没有付诸实施,今年抽空,写出一个简单普遍适用的程序。

下载链接:链接: https://pan.baidu.com/s/1Ik04Toz9QkpU_2YVOghQgQ 提取码: qc4k (里面有数据库.bak文件与脚本,都可以用于自己建库)。
V1.1更新版本地址:https://blog.csdn.net/qq_34677276/article/details/120519242

这个问题大致可以理解为有1500张单,有7000套模具,有200台注塑机,用工单的料号可以找到多个模具,模具里面有压铸周期,有需要的注塑机吨位,如何分配模具和注塑机,以使所用的时间最短。

我在工厂工作多年,深感生产计划的任务繁重,特别在注塑厂,注塑工单很多,模具很多,注塑机很多,如何合理的分配模具,分配注塑机,以使工厂效率最高,在业界一直是一个难题,没有找到有效的方法。

本文的启发是作者在2017年左右,仔细考虑过圆周率的蒙特卡洛算法如何应用在排程上面(当然也有这几年随机算法在人工智能领域的突破性成功的启发),我思路就是产生很多种排程计划,然后在里面找最合适的。最合适就要有一种评估算法,此种评估算法的根本思想,就是所有的注塑机在最短的时间完成所有的工单。并且我想应该还有一些其他的评估项,应该加到此评估算法中来,就是评估得分是一个综合考虑的结果,至于每种因素占比多高,则要根据实际情况而定。

本算法实质是一种遗传算法。
先看一下数据库结构
在这里插入图片描述
程序主界面,随便起了个名字(来自于陶渊明的归去来兮辞,舟遥遥以轻飏)
在这里插入图片描述

运行时状况,这个是最开始的代数,可以看到标准差较大(后面用STDEV代表标准差),在单一的派单里面,存在分配不均的情况。
模具明细表里面存着每个模具可以做哪些产品,注塑机也是有吨位的,按照工单的料号找模具,按照模具找注塑机,一张单就排完了。
最大所需天数,代表一个排单计划里面单台注塑机完成所有分给他的工单所需要的天数。
进化算法会直接摒弃数台注塑机,以使得分最高(STDEV越低越好),这不符合最高开机率原则,后面设法修改。
请添加图片描述
大约一万代时的情况,此时最小所需天数已经到达6.09天。
请添加图片描述
算法在3.8万代时大致趋于收敛(STDEV所需天数改变很小),此时最小所需天数收敛于12.35天(还是比较满意的,因为我计算过此份模拟的数据,大多数完成天数集中在15-18天),这个是符合排单预期的。
在这里插入图片描述
在看一副图排单明细,就是可以直接推荐给生产计划排单的结果。
请添加图片描述
下面这幅图,有分配的模具,分配的机台等明细情况。
请添加图片描述
已知问题:

  1. 很多模具其实是有共模问题的,此处没有考虑,我在另外一个更验证版本里面,有处理2个共模的情况,就是共模具时候去找另外一个生产数量差不多的工单也分配过来,此时所需天数就要除以2。后面待有时间再更新。
  2. 模具没有考虑同时使用的问题,此问题需要思考如何设计评估算法。
  3. 有些参数还没有放出来,比如进化终止条件,计算时长等,后面会看具体情况放出来。

有问题请评论区告诉我,在有空的时候,我会考虑更新。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值