在FMS的刀具管理中,刀具流的路径决策是最关键也是最复杂的控制问题,除了保障正确选用刀具外,它还关系到能否减少装卸刀具的时间,最大限度地利用刀具的使用寿命,降低生产成本,提高生产效率。然而该问题的复杂性高,目前的优化控制主要采用启发式算法,计算比较繁琐,难以把握优化效果,另外在多目标、在线控制方法上还有许多值得改进的地方。本文提出一种均值优化控制策略解决上述问题。
1 均值控制
均值控制是对待优化元素的整体平均选优方法。其基本思想是:存在被排序元素A={a1、a2、…、an},已排成的元素序列为 face=symbol>a=a(1) a(2)…a(k),ai∈A,i∈[1,k];正在排序元素a△∈A,未排序元素序列b=b(1)b(2)…b(p),b(j)∈A,j∈[1,p],p+k=n-1。
存在评价函数F(a,aΔ,b,C),其中C是( face=symbol>a,aΔ,b)和其它对象的函数。由于 face=symbol>a和b的排列方式的总数是其各自包含的元素总数的阶乘倍,而目标函数F又是a和b的排列方式的函数,这样 face=symbol>a和b的元素数量稍大一点,要以穷举方式找到最优F及其a、aΔ、b,就存在计算量过大的问题。如果把 face=symbol>a和b的各元素及其对F的影响平均看待,如同 face=symbol>a只是由k个相同的“平均”元素构成,b只是由p个相同的“平均”元素构成,则求F就只考虑a、aΔ、b由什么元素构成就行了,不必考虑其排列方式。在b中选遍所有的元素作为aΔ,找其中一个最好的F,其对应的aΔ就被固定下来了。依此类推可将b的元素依次排列完毕。
可以证明,这种算法是一种多项式算法。
2 刀具流的控制机制
2.1 评价函数
在FMS中根据多个零件的加工顺序和每个零件的工艺要求形成零件,由此选择不同类型的刀具。同一类型的刀具可有多个,这些具有完全相同的加工功能的姊妹刀具的选择是本文讨论的对象。
尽管姊妹刀具的加工功能相同,但它们的使用寿命却不一定相同,总是希望每把刀具都竭尽其寿命,“边角余料”尽量少。按此目标建立评价函数F。在零件对一种刀具需求序列中,将a作为已经排好的元素集合,aΔ作为正在试排的元素,b作为没有排列的元素集合。
式中
gj——第j把姊妹刀具的均值剩余寿命,它是ti整除后的余数
ti——第j把姊妹刀具的余留使用寿命
——未排序的零件对刀具的需求序列中每次需求的平均使用时间
τi——未排序的零件对刀具的需求序列中第i次需求使用时间
p——未排序的零件对刀具的总需求次数,也即b的长度,i∈b
2.2 递推计算过程
先选一个b中的元素作为aΔ1,此时b′= face=symbol>b-aΔ1,用式(1)和(2)求出F(1)并记下,随后将aΔ1放回 face=symbol>b中,另选一个b中的元素作为aΔ2,此时 face=symbol>b′=b-aΔ2,求出F(2)并记下,依此方法将b中的p个元素都作为aΔ试排一次,直到求出F(p),从中选一个最小的F(*),固定aΔ*的顺序,并把aΔ*作为a的最后一个元素,然后从余下的b中进行新一轮的aΔ选择,直到把b中的元素全部排完。
在比较和选择F(*)时,有时会出现多个相等的最小F(i),可以任选其中一个,也可乘机进行微调:如果希望无用剩余寿命都集中在少数刀具上,就选F的gj的均方差较大的F;如果希望无用剩余寿命都分散在多把刀具上,就选F的gj的均方差较小的F。
3 全局决策
3.1 刀具迟滞时间
刀具迟滞时间就是机床停工等待该刀具的时间,它直接影响FMS的生产效率。刀具的控制应设法使刀具迟滞时间减少到最小。定性地说,刀具在机床需要时所处的位置决定刀具迟滞时间的大小,该时间的大小位置关系是:在其它机床的使用位置>在其它机床的局部刀库>在中央刀库>在本地局部刀库。
设:LTij为第i台机床停工等待第j把刀具的迟滞时间,Pk为刀具正在第k台机床加工零件时对该零件的剩余加工时间,tpkj为刀具j从其它第k台机床的使用位置到本地局部刀库的传输时间,takj为刀具j从其它第k台机床的局部刀库到本地局部刀库的传输时间,tcj为刀具j从中央刀库到本地局部刀库的传输时间。于是有
LTij=Pk+tpkj(当刀具j在第k台机床的使用位置时)
LTij=takj(当刀具j在第k台机床的局部刀库时) LTij=tcj(当刀具j在中央刀库时)
上述式子忽略采用任何刀具都存在的刀具在即将使用位置和本地局部刀库之间的上下刀时间。
3.2 总评价函数
刀具流的总评价函数应该既要考虑刀具的利用率,又要保障FMS有较高的生产效率。因此
Gj=lF(j)+LTij
式中 | Gj----刀具j的总评价函数 |
| l----调节系数,l≥1 |
这样在线控制时,每一轮都要计算每一把刀具的Gj,选用具有最小Gj的刀具。对所有类型的姊妹刀都可用上述方法进行选配,完成全部刀具流的控制。
4 实例及结论
以下实例采用均值控制方法进行优化。每个例子都给出若干零件对一种类型的姊妹刀的需求序列,该序列的长度就是零件对该类刀具的需求次数,每一次需求都有一段使用时间。每把刀具都有使用寿命。例中总的零件对刀具的使用时间略大于刀具的总使用寿命。均值控制刀具流优化实例和结果
例 号 | 1 | 2 | 3 | 4 | 5 |
刀具数量 | 3 | 3 | 19 | 30 | 30 |
刀具最大使用寿命(min) | 40 | 85 | 91 | 91 | 440 |
刀具最小使用寿命(min) | 25 | 21 | 20 | 20 | 24 |
刀具平均使用寿命(min) | 33.667 | 51 | 51.15 | 56.4 | 120 |
刀具使用寿命均方差 | 120 | 2072 | 9924 | 15471 | 219807 |
刀具使用寿命总和(min) | 101 | 153 | 972 | 1692 | 3602 |
零件对刀具的需求次数(次) | 10 | 10 | 46 | 76 | 200 |
最大使用时间(min) | 13 | 23 | 40 | 43 | 37 |
最小使用时间(min) | 8 | 11 | 10 | 10 | 10 |
平均使用时间(min) | 10.4 | 16.6 | 20.24 | 20.842 | 20.16 |
使用时间均方差 | 0.6517 | 1.5 | 0.9769 | 0.7761 | 0.4865 |
刀具最大剩余寿命(min) | 5 | 4 | 13 | 15 | 13 |
刀具最小剩余寿命(min) | 0 | 2 | 0 | 0 | 0 |
刀具平均剩余寿命(min) | 3 | 3.33 | 4.632 | 4.8 | 4.2667 |
总剩余寿命(min) | 9 | 10 | 88 | 144 | 128 |
计算时间(s) | 19 | 20 | 32 | 36 | 36 |
总刀具寿命利用率 | 0.911 | 0.935 | 0.905 | 0.915 | 0.9645 |
本计算采用奔腾P155计算机,内存为16M,用Visual Basic 5.0编程实现。由于总的刀具需求使用时间大于总的刀具使用寿命,对刀具的需求遵循事先确定的序列,经计算和分派后例中每一把刀具的剩余寿命都无法再完成零件对刀具的下一个需求,也即刀具此时已竭尽其所能。
通过这些实例发现:
(1)在计算选择刀具时,如果多把刀具的评价函数F都相等,并为最小值,采用具有无用剩余寿命
gj的均方差最大的刀具,所得总的刀具使用寿命利用率明显优于任选一个具有最小F的刀具的使用寿命利用率,并且前者的无用剩余寿命向少数刀具集中,有利于以后再加利用。表中显示的是第一种方法的结果。但是在运用时除了使用寿命利用率还应考虑刀具的迟滞时间,这一目标有时与第一种方法有矛盾。究竟采用什么方法要根据具体情况来定。
(2)算法的计算时间随零件对刀具的需求次数增多的增长慢于随刀具数量增多的增长。影响计算时间的主要因素是刀具数量。
(3)例4和例5都采用了30把姊妹刀,对刀具的需求次数为76和200,计算时间都为36s。在FMS中多达30把姊妹刀具同时装于一个系统是比较少见的。因此该算法的计算时间完全可以满足要求。
(4)总刀具寿命利用率是刀具总使用时间与刀具使用寿命总和的比值,例子均达到90%以上。
FMS的刀具管理的控制采用均值控制算法对以减少刀具无用剩余寿命为目标的优化有令人满意的效果。
这种方法从全局着眼选aΔ有较大的可能找到全局最优路线,计算方法简单,适合作在线或非在线控制或优化。