(二)所用算法

對於含多功能機床的HFS重構問題,由於各階段的設備數可能發生變化,難以采用ACO類算法求解,因此,本書采用GA算法進行含多功能機床的HFS重構問題求解。

染色體編碼

染色體編碼采用整數與實數相結合的方式。產生初始染色體時,先隨機產生代表HFS第i階段並行機數量的整數編碼mi,並滿足Mi=1mi=mli,(i=1,2,…,M),然後產生第i階段N個整數部分不大於mi的實數編碼。當完成M階段編碼後,即產生了一條以向量形式表達的初始染色體,記為:A=[m1a11a12…a1Nm2a21a22…a2N…mMaM1aM2…aMN]。每條染色體共有(N+1)×M位基因,其中aij(i=1,2,…,M;j=1,2,…,N)為大於1、小於(mi+1)的實數,其涵義為第i階段j工件在第Int(aij)台並行機上加工及工件的加工順序,Int(aij)指aij的整數部分。對於i階段,存在

max{Int(aij)}=mi(i=1,2,…,M;j∈{1,2,…,N})(4.3)

若Int(aij)=Int(aik)(j≠k),表示在i階段工件j和工件k在同一台設備上加工,它們的加工順序按aij、aik的小數部分從小到大排列。若aij=aik,則按輪盤賭方法確定其加工順序,並相應減小先加工工件對應的基因值,或增大後加工工件對應的基因值,但這些基因值的變化不應改變原定的工件加工順序。上述規則使工件在所有階段並行機上的分配及加工順序都有隨機性,可以實現全局尋優。

上述編碼方法舉例如下:一個具有2個階段的HFS用於加工2個工件。隨機產生各階段的並行機數分別為2,1。其中一條染色體A=[2251311216],其表示在第一階段工件1在並行機2上加工,工件2在並行機1上加工;第二階段工件1先於工件2加工,其對應的作業計劃。

生產係統的優化指標主要有:一批工件的流程時間或平均流程時間、生產係統的投資、生產係統的設備利用率等。從縮短工件流程時間的角度分析,並行機越多越好,但這將帶來設備和廠房的占用增加,同時使部分設備發生閑置,造成投資浪費。反之,如果並行機數量少,則設備占用少,設備利用率高,但工件流程時間將被延長,導致生產的中間品庫存增加,產品加工周期變長。