1.一種基于離散螢火蟲算法的多目標柔性作業(yè)車間調(diào)度方法,其特征在于:具體包括以下幾個步驟:
針對多目標柔性作業(yè)車間調(diào)度問題建立數(shù)學模型;
采用分段編碼方式對螢火蟲進行編碼,包括機器選擇部分和工序排序部分;
使用離散螢火蟲算法,優(yōu)化上述模型得到Pareto最優(yōu)解集;
從Pareto最優(yōu)解集里選擇符合實際需求的解,并進行解碼輸出機器選擇位置信息、工序排序位置信息。
2.根據(jù)權利要求1所述的一種基于離散螢火蟲算法的多目標柔性作業(yè)車間調(diào)度方法,其特征在于,所述模型為:n個工件{J1,J2,…,Jn}在m臺機器{M1,M2,…,Mm}上進行加工,每個工件包含一道或多道工序,每個工件的工序順序以及在不同機器的加工時間確定,在加工過程中滿足各項約束條件,其中:
hj為j號工件的總工序數(shù);Ojh表示工件j的第h道工序;Cj表示工件j的加工完成時間;Mijh表示工件j的第h道工序在機器i上加工,當Xijh=1時表示工序Ojh選擇機器i,否則不選擇在機器i上加工;Pijh表示工件j的第h道工序在機器i上加工所需的時間;Yijhkl表示工序Ojh和工序Okl的加工選后順序,當Yijhkl=1時,表示工序Ojh先于工序Okl在機器i上加工。
3.根據(jù)權利要求1所述的一種基于離散螢火蟲算法的多目標柔性作業(yè)車間調(diào)度方法,其特征在于,編碼的方法為:
工序排序部分:序號代表工件號,數(shù)字出現(xiàn)的次數(shù)代表對應工件的工序數(shù),數(shù)字的第幾次出現(xiàn)代表工件的第幾道工序;
機器選擇部分:對應編碼長度與工序排序部分相等,從左到右按順序排列工件的工序,出現(xiàn)的序號代表所選機器號。
4.根據(jù)權利要求2所述的一種基于離散螢火蟲算法的多目標柔性作業(yè)車間調(diào)度方法,其特征在于,所述模型的優(yōu)化目標有三個,分別為:最大完工時間、瓶頸機器負荷量、機器負荷總量。
5.根據(jù)權利要求1所述的一種基于離散螢火蟲算法的多目標柔性作業(yè)車間調(diào)度方法,其特征在于,所述螢火蟲算法的具體過程為:
1)適用于離散問題的離散螢火蟲算法參數(shù)初始化:螢火蟲總數(shù)N,最大迭代次數(shù)Iter,隨機步長因子,螢火蟲之間吸引力,光照吸收率,每個螢火蟲的位置信息;
2)采用快速非支配排序方法將種群分層,記螢火蟲i在第ifloor層,對其進行機器選擇序列的位置矢量更新和工序排序序列的位置矢量更新,以相同概率向三個方向移動;
3)分別尋找最大完工時間、瓶頸機器負荷、機器負荷總量最優(yōu)的螢火蟲ibest_f、ibest_zf、ibest_zdf,并更新螢火蟲位置信息;
4)對ifloor≠1且任一子目標最優(yōu)的螢火蟲,不向其他支配它的螢火蟲移動并作小范圍移動,更新ibest_f、ibest_zf、ibest_zdf;
5)重復步驟2)到步驟4),進行下一次螢火蟲的移動,尋找全局最優(yōu)和迭代最優(yōu)的螢火蟲,直到滿足終止條件;
6)輸出ifloor=1層中所有螢火蟲序列的最大完工時間、瓶頸機器負荷、機器負荷總量,并輸出螢火蟲的機器信息、工序信息。
6.根據(jù)權利要求1所述的一種基于離散螢火蟲算法的多目標柔性作業(yè)車間調(diào)度方法,其特征在于,解碼規(guī)則如下:
1)獲取工序排序序列中的一個元素,轉換為工序信息Ojh,獲取Ojh的g號加工機器為Mg=JMi(j,h),所用時間為Ti(j,h);
2)如果工序Ojh是機器Mg上的第一道加工工序,則Ojh可以直接從Oj(h-1)加工完成時開始加工;如果Ojh是j號工件的第一道工序,則Ojh可以在機器Mg的零時刻開始加工;如果不滿足上面兩種情況,找到機器Mg上的所有空閑時段[TSg,TEg],TSg為機器Mg位置空閑時段開始時刻,TEg為機器Mg空閑時段結束時刻;通過下式判斷是否將工序插入當前空閑時間段:
;
其中;
如果不滿足上式,則在tb時刻開始加工,LMg表示機器Mg上當前最后一道工序的結束時刻,其中:
。