該題題目為:
設有n個作業(yè)要在2臺機器M1和M2 組成的流水線上完成加工设联。每個作業(yè)加工的順序都是現(xiàn)在M1 上加工,然后在M2 上加工灼捂,所需時間分別為ai和bi离例。流水作業(yè)調(diào)度問題要求求加工完這些作業(yè)所需的最短時間。
為了得到最短時間悉稠,需要將總的等待時間將為最少宫蛆,那么有:假設第i個作業(yè)在M1上的時間為ai,在M2上工作的時間為bi的猛,那么根據(jù)ai和bi的大小可以分為兩種情況:
① 當ai>bi時耀盗,有在M1上的時間比M2上的時間長,所用的時間為在M1上的時間和卦尊。
②當ai《bi時叛拷,在M1上的時間比M2上的時間短,所用時間為在M2上的時間和岂却。
如圖為四個作業(yè):上面一行代表一個作業(yè)在M1上的時間忿薇,下面一行表示一個作業(yè)在M2上的時間:
如果并不加以處理順序的加工,那么就有:
由圖得躏哩,在進行了第一個作業(yè)的加工后署浩,M2有一段時間是等待時間,而在M1加工完畢后扫尺,會有一段時間是M1在等待M2筋栋,因此會有時間浪費,故需要重新加以分析:
ai>bi與ai《bi時正驻,時間分布如下:
可以看到可以將ai>bi與ai《bi分成兩組弊攘,然后加以組合,得到最小的等待時間:
為了得到如圖效果拨拓,需要將a1得到最小肴颊,且bn達到最小。(假設共有n個作業(yè))渣磷。進而使兩者相接的部位(假設在i處相接婿着,即小于i時為ai《bi,大于i時為ai》bi)達到ai最大,bi最小竟宋,故算法步驟為:
假設在M1上的時間較大提完,將其設為時間數(shù)組1,若在M2上時間較長丘侠,則設為時間數(shù)組2徒欣,假設四個工件:ai:3 5 2 6;bi:5 4 3 2
①其可以將其歸并為:(第五個參數(shù)表示時間數(shù)組)
0 0 3 5 1
1 1 5 4 2
2 2 2 4 1
3 3 6 2 2
②根據(jù)時間數(shù)組將其排序:
0 0 3 5 1
1 2 2 4 1
2 1 5 4 2
3 3 6 2 2
③將時間數(shù)組1內(nèi)的作業(yè)按照ai為目標從小到大排序蜗字,將時間數(shù)組2內(nèi)的作業(yè)按照bi為目標從大到小排序打肝。排序結果為:
0 2 2 4 1
1 0 3 5 1
2 1 5 4 2
3 3 6 2 2
則可知,加工順序為2 0 1 3挪捕。
而在進行多個作業(yè)(n》4)時粗梭,或者每個作業(yè)按照多個有序的程序逐個執(zhí)行時,同樣可以按照上述的規(guī)律级零,先將最小時間的所在集合進行排序断医,再按照每個集合內(nèi)對應的程序執(zhí)行先后進行排序。