基于遗传算法的混线生产控制

作者:张云卿 杜正春 陈 振 文章来源:上海交通大学 上海大众汽车有限公司 发布时间:2014-05-07
分享到

本文从遗传算法入手,通过对生产序列的优化及作息时间的改变,在保证输出要求的前提下,能够实现产能利用最大化,同时对于储存线优化前后的混线配比也有很大的改善。

为了满足消费者越来越高的“私人定制”要求,面向订单的生产方式成为主流,更柔性化的精益生产模式将更大程度上适应多变的市场。混线生产,既是一种潮流,更是一种逐步走向主流的生产模式。一个合理的生产顺序不仅可以使产品品种、产量和设备负荷达到全面均衡,确保生产线稳定运行,还能够降低制造成本。混线生产控制问题是混线生产系统能否正常有效运转的核心问题,也是不少国内企业迫切需要解决的问题。面对突发情况,诸如销售需求变更、设备故障和物流缺料等,如何在最短时间内进行最优决策,制定最精益的生产计划,将考验企业的综合实力。

混线生产模式

混线生产,指将多种产品放在一条生产线上进行的生产活动,它是一个可以及时应对市场需求变化而生产出符合市场需要的柔性生产系统。

一般而言,混线生产分为“小混线生产”和“大混线生产”两类。小混线生产,指的是两种或两种以上产品在一条生产线按照一定的生产序列进行生产组织的方式,输入、输出逻辑方式较为固定,便于生产调度;大混线生产,指的是基于小混线生产方式之上的两条或两条生产线以上的生产组织模式,如将A、B、C和D 四种车型放在一条生产线上,即为小混线生产;而A、B、C和D 四种车型分别或交叉放在两条生产线上时,即为大混线生产。两者的区别如图1所示。显而易见,大混线生产随着生产控制自由度的增加,生产变化将呈几何倍数增长。本文所讨论的混线生产模式多为“大混线生产”模式。


图1  混线生产模式区别

突发情况下的问题

由于储存线规划的先天不足,造成了在大混线生产模式下的刚性储存线生产控制模式。我们无法避免生产中突发情况的发生,如何有效地应对,并快速而精益地从突发事件的影响中恢复到常态是我们需要解决的问题。

据统计,由于混线生产造成的车身至油漆储存线阻塞和无车现象而造成的累积停线时间约为3771min/年。以上海大众三厂运营成本920元/min进行核算,全年经济损失接近350万元。因此,将车身至油漆储存线控制好,将极大地弥补不必要的产能损失。

为了准确描述混线生产问题,我们首先将储存线模型进行简化(见图2):假设常态情况下,储存线各段比例为50%,当油漆一线(P1)发生故障时,储存线的状态会随着故障时间的增加而恶化。故障1h后,R7点到P1的车位基本占满,此时对于储存线来说压力不大,其他车间还能正常生产;故障2h后,R7点回程线车位占满,B2到R7点的占位量也有上升;故障3h后,除了R7点到P2的储存线尚有部分空位外,其余各条储存线均已占满,整条储存线无法盘活,如果P1继续故障,将影响其余车间的正常生产。针对这种情况,我们需要考虑两个问题:如何进行生产调整,使各车间生产恢复;如何进行生产优化,使储存线的占比情况恢复到常态。


图2  混线生产问题描述

所有的生产调整和优化,都将归结到两个指标,即做什么和做多久的老问题上来。我们需要明确生产作息变更量和车型计划数量,才能将生产控制工作做好。作息的变更容易确定,但变更量的多少,是增加油漆车间的作息还是减少车身车间的作息,以什么生产配比上线生产最为精益,上线的车辆如何保证互不影响等,这一系列问题将此储存线遇到突发情况下的生产控制问题升级为了NP问题。

建模求解

针对上述实际生产问题,我们通过基于遗传算法的生产控制,在获得最优生产序列的先决条件下,首先以累积无车小时数作为作息更改与否的评价指标,通过三轮次的作息优化。为了将产能利用最大化,我们将各节点的车辆过点时间信息进行统计,并将无车时间汇总出来作为评判生产控制方案的优劣。我们将累计无车时间定义为dift变量,函数定义为车间工作小时数与累计产量/1h累计产量的偏差值取整,公式如下:

dift=∑int(HOUR-SUM/JPH)

式中 HOUR——车间工作小时数;

SUM——累计产量;

JPH——1h累计产量。

为了使生产控制工作贴近实际生产,我们将dift的单位定义为小时,通过不断的生产序列和作息优化,使dift值尽量趋近或等于0。而当累计无车时间小于30min时,理论上认为这类停线不会对混线生产总体控制工作产生影响,此类影响不在本文优化工作讨论范围之内。

其次,将周转量的变化量作为新的评价指标进行作息优化,这时将会遇到两种极端情况,即在制品量过多或在制品量过少。当处于过多情况时,我们要求每班最终优化结果需要将周转量变化值为负;而处于过少情况时,我们认为相对逻辑控制关系比较简单,即前道车间造成后道车间无车,可以通过简单的增加前道车间或减少后道车间作息两种方法进行控制。需要明确的一点是,每进行一次作息更改后,都需要重新进行最优生产序列的计算以保证整体控制方案最优。为了在最短时间内获得最优解,我们引入遗传算法进行计算,以期在每一次子代运算中都是在父代基础上获得更优结果,达到运行循环次数降低的目的。基于遗传算法的生产控制程序定义为在一定循环次数genumber内,通过储存线仿真模拟,不断优化后获得的最优生产序列,以最大输出为适应度函数作为判别条件并最终获得当前状态下最优生产序列,具体算法流程如图3所示。


图3  基于遗传算法的混线生产控制算法

为了计算简便,我们忽略了混线生产中品种繁多的车型定义,而以车辆的后道车间作为车辆代码,这样,在简单的2对2生产模式中,我们的车辆代码只有两种选择,即去油漆一线或是去油漆二线的车辆。我们将去往油漆一线的车辆定义为1,去往油漆二线的车辆定义为0,假设车身一线和车身二线的输出均按规划JPH进行,则我们可以定义出车身一线和二线的各两组初始解作为算法的初始化群体。我们用B代表车身车间,第一个数字标记为车间序号,第二个数字标记为序列序号,这样我们可以将初始解表示为:

B11:10101010101010101010101010

B12:11001100110011001100110011

B21:10101010101010101010101010101010101

B22:11001100110011001100110011001100110

然后,我们进行交叉算子运算,将B1中奇数位、B2中偶数位进行交叉互换,得到新的生产序列为:

B13:10001000100010001000100010

B14:11101110111011101110111011

B23:11101110111011101110111011101110111

B24:10001000100010001000100010001000100

进行完交叉算子运算后,我们再各在序列中取到随机位数上的数字进行变异,由于只有0和1状态,故只需将0和1进行反运算即可。

假设获得的随机数分别为11、15、3和21,则得到的新的生产序列为:

B15:10001000101010001000100010

B16:11101110111011111110111011

B25:11001110111011101110111011101110111

B26:10001000100010001000000010001000100

最后,分别将(B11,B21)、(B12,B22)、(B15,B25)和(B16,B26)四组生产序列放入特定的车身至油漆储存线运行程序中进行运算,将总输出定义为适应度函数,这样,将得到的4个总输出值中的两个较大值对应的生产序列作为新的初始序列进行循环计算,当运算循环完成后,获得的即为最优生产序列。

算例验证

我们选取2013年某车间预处理双摆链特大故障进行仿真模拟。该故障时间为150min,时间从凌晨1点至凌晨3点30分,造成储存线去往油漆一线车辆大量积压,当时面临的白天开班情况是储存线上共有车辆97,其中去往油漆一线(L1)车辆多达92台,去往油漆二线(L2)车辆为5台。

我们分别仿真运行不做任何调整和采用基于遗传算法的混线生产控制两种方案,运行结果如表所示。

由表可以看出,优化前(不做任何调整)的情况下,输出将产生约1?h的无车时间,储存线周转量将从97台增加至119台,混线比没有得到改善。可以预见,储存线的状态没有得到优化,稍有新的突发事件产生,将对混线生产造成更加广泛的影响。

而优化后(采取遗传算法混线生产控制)的情况则要乐观很多,在不浪费产能的情况下,通过增加1h的作息,使得输出较原来增加67台,累计无车小时数为0,周转量从97台下降到79台,储存线混线比也向着均衡的方向发展。

结语

在混线生产模式的行业大背景下,如何针对突发情况,做出最快速、准确的决策,是所有汽车生产企业面临的课题。本文从遗传算法入手,通过生产序列的优化及作息时间的改变,在保证输出要求的前提下,能够做到产能利用最大化,同时对于储存线优化前后的混线配比也有很大的改善。算例证明,优化的生产序列及作息更改,对于突发情况下的混线生产控制具有十分重要的指导作用。

收藏
赞一下
0
/
正在提交,请稍候…
相关文章