基于路徑長度的工序串綜合調(diào)度方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種基于路徑長度的工序串綜合調(diào)度方法。
【背景技術(shù)】
[0002]對于樹狀結(jié)構(gòu)的復(fù)雜單產(chǎn)品,如果采取先加工后裝配的方式制造,必然割裂產(chǎn)品加工和裝配內(nèi)在可并行處理的關(guān)系,影響產(chǎn)品制造效率。于是,出現(xiàn)了樹狀結(jié)構(gòu)的復(fù)雜單產(chǎn)品加工和裝配一同處理的綜合調(diào)度方法。綜合調(diào)度方法采取同時(shí)加工和裝配的方式制造,能提尚廣品生廣的內(nèi)在并彳丁程度,使廣品制造效率提尚。
[0003]已有的綜合調(diào)度方法忽略了串行工序之間緊密度的問題。創(chuàng)新采取工序序列排序方法從加工工藝樹的整體出發(fā)將工序按其所在工序序列的長短進(jìn)行排序,之后按照該順序依次使用首次適應(yīng)策略調(diào)度工序,最終形成產(chǎn)品調(diào)度計(jì)劃,提高了串行工序的緊密度。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的是提供一種基于路徑長度的工序串綜合調(diào)度方法,該方法提出按工序串排序的方法,可以在保證并行性的同時(shí)提高串行工序的緊密度。并采用首次適應(yīng)的調(diào)度方法,選擇當(dāng)前情況下每個(gè)工序的最早開始加工時(shí)間,使產(chǎn)品整體完成時(shí)間提前。
[0005]上述的目的通過以下的技術(shù)方案實(shí)現(xiàn):
一種基于路徑長度的工序串綜合調(diào)度方法,該調(diào)度方法包括如下步驟:采用將加工工藝樹中加工工序的偏序關(guān)系取反,得到逆序加工工藝樹;計(jì)算逆序加工工藝樹中的每個(gè)葉節(jié)點(diǎn)的路徑長度;選取當(dāng)前路徑長度最大的葉節(jié)點(diǎn)所在路徑,以葉節(jié)點(diǎn)為起點(diǎn)依次尋找前序工序,直到該路徑上的最后一個(gè)工序i,然后從i工序開始依次將其與其后序工序加入到備選調(diào)度工序集合當(dāng)中等待調(diào)度,并在加工工藝樹中將這些串行工序刪除;依次計(jì)算加工工藝樹中其它葉節(jié)點(diǎn)并做上述處理至到加工工藝樹為空;按照備選調(diào)度工序集合中工序的待加工順序,依次選擇工序且按照首次適應(yīng)的方法將其安排到加工設(shè)備上,直到所有工序調(diào)度完畢。實(shí)現(xiàn)了在保證工序并行處理的基礎(chǔ)上,提高串行工序的緊密度,優(yōu)化了調(diào)度結(jié)果O
[0006]所述的基于路徑長度的工序串綜合調(diào)度方法,所述的調(diào)度方法具體實(shí)施步驟如下:
步驟I:判斷加工工藝樹是否為空,是則轉(zhuǎn)至7,否則轉(zhuǎn)至2;
步驟2:為加工工藝樹上的所有現(xiàn)存的葉子結(jié)點(diǎn)計(jì)算路徑長度;
步驟3:找到路徑長度最長的葉子結(jié)點(diǎn),判斷是否唯一,是則轉(zhuǎn)至5,否則轉(zhuǎn)至4;
步驟4:選擇路徑上工序最多的葉子結(jié)點(diǎn);
步驟5:從該葉子結(jié)點(diǎn)開始,將其和其當(dāng)前加工工藝樹中的全部前序工序依次入棧S,并在加工工藝樹中刪除;
步驟6:然后再將S棧中的結(jié)點(diǎn)依次出棧,入隊(duì)列Qu,轉(zhuǎn)至I;
步驟7:對Qu作出隊(duì)操作,取得當(dāng)前調(diào)度工序Wi ; 步驟8:判斷Wi是否為空,是轉(zhuǎn)至13,否則轉(zhuǎn)至9;
步驟9:設(shè)工序Wi的加工時(shí)間為ti,加工設(shè)備為Mi,其前序工序的加工結(jié)束時(shí)間為ET1-
1;
步驟10:以時(shí)間點(diǎn)ET1-1為起點(diǎn)在工序Wi的加工設(shè)備Mi上尋找第一個(gè)能安排工序Wi進(jìn)行加工的機(jī)器空閑時(shí)間STi;
步驟11:以STi為加工開始時(shí)間調(diào)度工序Wi ;
步驟12:轉(zhuǎn)至步驟7;
步驟13:輸出調(diào)度結(jié)果甘特圖。
[0007]所述的加工工藝樹是彼此之間有加工先后順序約束的工序集合,其中一個(gè)節(jié)點(diǎn)是一個(gè)工序,帶箭頭的直線代表加工偏序關(guān)系,節(jié)點(diǎn)中的數(shù)字按先后順序分別代表工序名稱、加工設(shè)備號(hào)和加工時(shí)間,例如:A10/2/9代表工序?yàn)锳lO工序,加工設(shè)備號(hào)為2,加工時(shí)間為9。
[0008]所述的工序串是彼此之間具有串行關(guān)系,且每道工序最多具有唯一緊前工序和唯一緊后工序的工序序列。
[0009]所述的路徑是指逆序加工工藝樹的根節(jié)點(diǎn)到某個(gè)節(jié)點(diǎn)的通路。
[0010]所述的路徑長度是逆序加工工藝樹的根節(jié)點(diǎn)到某個(gè)節(jié)點(diǎn)的通路上所有工序的加工時(shí)間總和為該節(jié)點(diǎn)的路徑長度。
[0011]所述的首次適應(yīng)是為加工工序在其加工設(shè)備上尋找以其前序工序加工結(jié)束時(shí)間點(diǎn)為起點(diǎn)的第一個(gè)能安排該工序加工的機(jī)器空閑時(shí)間段。
[0012]有益效果:
1.本發(fā)明采用將加工工藝樹中各工序的偏序關(guān)系逆置形成逆序加工工藝樹的方法,使得每個(gè)加工工序的緊前工序唯一,這樣調(diào)度工序時(shí)減少了確定工序開始加工時(shí)間需考慮的因素,便于計(jì)算。
[0013]2.本發(fā)明采用將加工工藝樹中各工序的偏序關(guān)系逆置形成逆序加工工藝樹的方法,使得每個(gè)加工工序的緊前工序唯一,這樣增加了同父節(jié)點(diǎn)的各子節(jié)點(diǎn)之間的并行性。
[0014]3.本發(fā)明方法從產(chǎn)品加工工藝樹的整體出發(fā),計(jì)算找出當(dāng)前狀態(tài)下路徑長度最長的葉子結(jié)點(diǎn),并將其和其所在工序串中工序加入備選調(diào)度工序隊(duì)列Qu,同時(shí)將該工序序列中所有工序在加工工藝樹中刪除,然后繼續(xù)計(jì)算產(chǎn)生次長工序串,依此類推。根據(jù)工序所在工序串的長短確定其調(diào)度順序,保證工序并行處理的同時(shí),提高了串行工序的緊密度。
[0015]4.本發(fā)明方法采用首次適應(yīng)策略安排調(diào)度工序,使每個(gè)工序都能當(dāng)前情況下找到最早的開始加工時(shí)間,提尚了工序間的并彳丁性。
[0016]【附圖說明】:
附圖1是本發(fā)明的產(chǎn)品加工工序調(diào)度流程圖。
[0017]附圖2是本發(fā)明的工序串排序方法流程圖。
[0018]附圖3是本發(fā)明中用于說明的逆序產(chǎn)品加工工藝樹圖例。
[0019]附圖4是本發(fā)明針對附圖3所示工藝樹的調(diào)度結(jié)果甘特圖。
[0020]附圖5是現(xiàn)有基于工序的調(diào)度方法對附圖3所示工藝樹的調(diào)度結(jié)果甘特圖。
[0021]附圖6是現(xiàn)有基于設(shè)備的調(diào)度方法對附圖3所示工藝樹的調(diào)度結(jié)果甘特圖。
[0022]【具體實(shí)施方式】:
實(shí)施例1: 一種基于路徑長度的工序串綜合調(diào)度方法,該方法包括如下步驟:采用將加工工藝樹中加工工序的偏序關(guān)系取反,得到逆序加工工藝樹;計(jì)算逆序加工工藝樹中的每個(gè)葉節(jié)點(diǎn)的路徑長度;選取當(dāng)前路徑長度最大的葉節(jié)點(diǎn)所在路徑,以葉節(jié)點(diǎn)為起點(diǎn)依次尋找前序工序,直到該路徑上的最后一個(gè)工序i,然后從i工序開始依次將其與其后序工序加入到備選調(diào)度工序集合當(dāng)中等待調(diào)度,并在加工工藝樹中將這些串行工序刪除;依次計(jì)算加工工藝樹中其它葉節(jié)點(diǎn)并做上述處理至到加工工藝樹為空;按照備選調(diào)度工序集合中工序的待加工順序,依次選擇工序且按照首次適應(yīng)的方法將其安排到加工設(shè)備上,直到所有工序調(diào)度完畢。實(shí)現(xiàn)了在保證工序并行處理的基礎(chǔ)上,提高串行工序的緊密度,優(yōu)化了調(diào)度結(jié)果。
[0023]實(shí)施例2:
上述的基于路徑長度的工序串綜合調(diào)度方法,所述的調(diào)度方法具體實(shí)施步驟如下: 步驟I:判斷加工工藝樹是否為空,是則轉(zhuǎn)至7,否則轉(zhuǎn)至2;
步驟2:為加工工藝樹上的所有現(xiàn)存的葉子結(jié)點(diǎn)計(jì)算路徑長度;
步驟3:找到路徑長度最長的葉子結(jié)點(diǎn),判斷是否唯一,是則轉(zhuǎn)至5,否則轉(zhuǎn)至4;
步驟4:選擇路徑上工序最多的葉子結(jié)點(diǎn);
步驟5:從該葉子結(jié)點(diǎn)開始,將其和其當(dāng)前加工工藝樹中的全部前序工序依次入棧S,并在加工工藝樹中刪除;
步驟6:然后再將S棧中的結(jié)點(diǎn)依次出棧,入隊(duì)列Qu,轉(zhuǎn)至I;
步驟7:對Qu作出隊(duì)操作,取得當(dāng)前調(diào)度工序Wi ;
步驟8:判斷Wi是否為空,是轉(zhuǎn)至13,否則轉(zhuǎn)至9;
步驟9:設(shè)工序Wi的加工時(shí)間為ti,加工設(shè)備為Mi,其前序工序的加工結(jié)束時(shí)間為ET1-
1;
步驟10:以時(shí)間點(diǎn)ET1-1為起點(diǎn)在工序Wi的加工設(shè)備Mi上尋找第一個(gè)能安排工序Wi進(jìn)行加工的機(jī)器空閑時(shí)間STi;
步驟11:以STi為加工開始時(shí)間調(diào)度工序Wi ;
步驟12:轉(zhuǎn)至步驟7;