本發(fā)明涉及車間調(diào)度,特別涉及一種基于遺傳算法的矩陣式車間調(diào)度方法。
背景技術(shù):
1、隨著工業(yè)水平的不斷提高,傳統(tǒng)制造模式已難以滿足市場變化的需求,同時,市場動態(tài)需求、大規(guī)模批量定制、高性能質(zhì)量等因素均推動著企業(yè)從傳統(tǒng)制造系統(tǒng)向下一代制造系統(tǒng)過渡,具有柔性、可重構(gòu)特點的制造系統(tǒng)成為滿足當(dāng)下需求的重要途徑之一,如德國寶馬慕尼黑工廠rms(reconfigurable?manufacturing?systems,?rms)系統(tǒng)和費斯托(festo)的rms車間。
2、矩陣式生產(chǎn)具有高靈活性、強適應(yīng)性等特點,可根據(jù)訂單的變化快速做出響應(yīng),合理地調(diào)配資源,提升資源利用率。近年來,隨著信息技術(shù)的發(fā)展,這一概念也在不斷地更新中,如何進行矩陣式車間調(diào)度是當(dāng)下亟需要解決的問題。
技術(shù)實現(xiàn)思路
1、為解決上述問題,本發(fā)明提供了一種基于遺傳算法的矩陣式車間調(diào)度方法,具體技術(shù)方案如下:
2、s1:根據(jù)矩陣式車間特點,通過用例生成器生成相關(guān)數(shù)據(jù)用例;
3、s2:通過msosas編碼,生成染色體,所述染色體包括機器選擇、工序排序和能力預(yù)置;
4、s3:對種群進行初始化設(shè)置,根據(jù)預(yù)設(shè)比例進行全局選擇、局部選擇和隨機選擇,得到選擇后的初始解;
5、進行全局選擇、局部選擇和隨機選擇的具體過程如下:
6、首先ms段中,全局選擇以隨機工件順序,選擇可選機器集中累計加工時間與對應(yīng)機器加工該工序的加工時間之和最小的機器,生成種群;
7、其次ms段中,局部選擇以工件為單位,從第一個工件到最后一個工件順序進行,選擇可選機器集中累計加工時間與對應(yīng)機器加工該工序的加工時間之和最小的機器,生成種群;
8、最后ms段中,根據(jù)預(yù)設(shè)比例,隨機選擇生成種群;
9、s4:對多個染色體進行適應(yīng)度計算;
10、s5:根據(jù)適應(yīng)度和交叉概率,選取預(yù)設(shè)數(shù)量的種群進行機器交叉和工序交叉;
11、根據(jù)適應(yīng)度值和變異概率,選取預(yù)設(shè)數(shù)量的種群進行機器變異和工序變異,生成最優(yōu)的染色體;
12、s6:對所述最優(yōu)的染色體進行解碼,生成工件在加工時的機器選擇、工序排序、預(yù)置能力和加工時間。
13、進一步的,所述相關(guān)數(shù)據(jù)用例包括機器及其預(yù)置能力、工序及其所需能力、加工時間、預(yù)置能力配置時間。
14、進一步的,所述用例生成器在生成用例時,設(shè)置的超參數(shù)包括:工件數(shù)量、機器數(shù)量、工序數(shù)量、機器預(yù)置能力、工件工序需求能力、機器加工時間。
15、進一步的,步驟s2中,編碼生成染色體,具體如下:
16、ms段依次按照工件和工件的工序進行排列,每個整數(shù)表示當(dāng)前工序選擇的加工機器在可選機器集的順序;
17、os段中每個基因用工件號直接編碼,工件號出現(xiàn)的順序表示該工件工序間的先后加工順序,工件號的總出現(xiàn)次數(shù)等于該工件的工序總數(shù);
18、as段中每個基因由ms上的機器提供的預(yù)置能力和os上工序需求的能力相匹配確定。
19、進一步的,步驟s4中,將最大完工時間作為適應(yīng)度函數(shù),對多個染色體進行適應(yīng)度計算。
20、進一步的,步驟s5中,生成獲取最優(yōu)的染色體,具體過程如下:
21、隨機生成一個數(shù),判斷是否需要交叉或變異;
22、若是,則隨機選取預(yù)設(shè)數(shù)量的種群,再生成一個數(shù),判斷進行機器交叉/變異或工序交叉變異;
23、基于判斷結(jié)果,進行適應(yīng)度計算,根據(jù)適應(yīng)度值和交叉概率或變異概率,篩選保留優(yōu)秀種群,獲得最優(yōu)的染色體。
24、進一步的,步驟s7中,對所述最優(yōu)的染色體進行解碼包括從msosas編碼中讀取機器、配置能力、工序,從機器和工序矩陣中讀取機器當(dāng)前狀態(tài);
25、所述機器當(dāng)前狀態(tài)包括給定作業(yè)的上道工序結(jié)束時間t_last0_end,機器完成上道工序的結(jié)束時間t_m_end,當(dāng)前工序加工時間pt,當(dāng)前機器重新配置能力時間ast。
26、進一步的,從機器和工序矩陣中讀取機器當(dāng)前狀態(tài),具體過程如下:
27、m1:判斷當(dāng)前機器是否需要重新配置能力,若是,更新加工時間pt=pt+ast,并執(zhí)行m2,否則執(zhí)行m6;
28、m2:判斷當(dāng)前機器是否存在空閑時間窗并且不小于更新后的加工時間pt,若是,則執(zhí)行m3,否則執(zhí)行m5;
29、m3:判斷時間槽的開始時間是否大于t_last0_end+ast,若是,則置當(dāng)前工序開始時間t_start為t_last0_end,并執(zhí)行m4,否則,執(zhí)行m5;
30、m4:判斷時間槽的結(jié)束時間減去t_last_end是否不小于pt-ast,若是,則置t_start=max(時間槽開始時間,?t_last0_end?-?ast),并執(zhí)行m6,否則,執(zhí)行m5;
31、m5:置當(dāng)前工序開始時間t_start?=?max(t_lasto_end?–?ast,t_m_end),執(zhí)行m6;
32、m6:判斷當(dāng)前機器是否存在空閑時間窗并且大于pt,若是,執(zhí)行m7;否則,執(zhí)行m8;
33、m7:判斷時間槽的開始時間是否大于t_las0_end,若是,則置當(dāng)前工序開始時間t_start為t_lasto_end,并執(zhí)行m8,否則,執(zhí)行m9;
34、m8:判斷時間槽的結(jié)束時間減去t_last0_end是否不小于pt,若是,則置t_start=max(時間槽開始時間,t_last0_end),并執(zhí)行m10;否則,執(zhí)行m9;
35、m9:置當(dāng)前工序開始時間t_start?=?max(t_last0_end,t_m_end),并執(zhí)行m10;
36、m10:更新t_end?=?t_start+pt,并更新機器狀態(tài);
37、m11:進入下一個工序,直到所有工序都解碼完成;
38、m12:計算最大完工時間并繪制甘特圖。
39、本發(fā)明的有益效果如下:
40、本發(fā)明通過對車間數(shù)據(jù)進行分段編碼,生成染色體,對種群進行初始化,按預(yù)設(shè)比例進行全局選擇、局部選擇和隨機選擇得到優(yōu)秀的初始解,接著對多個染色體進行適應(yīng)度計算,根據(jù)適應(yīng)度值和交叉概率,選取預(yù)設(shè)數(shù)量的種群進行機器交叉、工序交叉,根據(jù)適應(yīng)度值和變異概率,選取預(yù)設(shè)數(shù)量的種群進行機器變異、工序變異,以生成最優(yōu)的染色體,最后對所述最優(yōu)的染色體進行解碼,以生成工件在加工時的機器選擇、工序排序、能力預(yù)置和加工時間,能夠根據(jù)訂單的變化快速做出響應(yīng),解決了矩陣式車間的調(diào)度問題,實現(xiàn)了高靈活性、強適應(yīng)性矩陣式車間的生產(chǎn)調(diào)度,實現(xiàn)了對資源的合理調(diào)配,提升了資源利用率。
1.一種基于遺傳算法的矩陣式車間調(diào)度方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的基于遺傳算法的矩陣式車間調(diào)度方法,其特征在于,所述相關(guān)數(shù)據(jù)用例包括機器及其預(yù)置能力、工序及其所需能力、加工時間、預(yù)置能力配置時間。
3.根據(jù)權(quán)利要求2所述的基于遺傳算法的矩陣式車間調(diào)度方法,其特征在于,所述用例生成器在生成用例時,設(shè)置的超參數(shù)包括:工件數(shù)量、機器數(shù)量、工序數(shù)量、機器預(yù)置能力、工件工序需求能力、機器加工時間。
4.根據(jù)權(quán)利要求1所述的基于遺傳算法的矩陣式車間調(diào)度方法,其特征在于,步驟s2中,編碼生成染色體,具體如下:
5.根據(jù)權(quán)利要求1所述的基于遺傳算法的矩陣式車間調(diào)度方法,其特征在于,步驟s4中,將最大完工時間作為適應(yīng)度函數(shù),對多個染色體進行適應(yīng)度計算。
6.根據(jù)權(quán)利要求1所述的基于遺傳算法的矩陣式車間調(diào)度方法,其特征在于,步驟s5中,生成獲取最優(yōu)的染色體,具體過程如下:
7.根據(jù)權(quán)利要求1所述的基于遺傳算法的矩陣式車間調(diào)度方法,其特征在于,步驟s7中,對所述最優(yōu)的染色體進行解碼包括從msosas編碼中讀取機器、配置能力、工序,從機器和工序矩陣中讀取機器當(dāng)前狀態(tài);
8.根據(jù)權(quán)利要求7所述的基于遺傳算法的矩陣式車間調(diào)度方法,其特征在于,從機器和工序矩陣中讀取機器當(dāng)前狀態(tài),具體過程如下: