作業流水調度問題 動態規劃

 1、問題描述:    

     n個作業{1,2,…,n}要在由2臺機器M1和M2組成的流水線上完成加工。每個作業加工的順序都是先在M1上加工,然後在M2上加工。M1和M2加工作業i所需的時間分別爲ai和bi。流水作業調度問題要求確定這n個作業的最優加工順序,使得從第一個作業在機器M1上開始加工,到最後一個作業在機器M2上加工完成所需的時間最少。
     2、問題分析

     直觀上,一個最優調度應使機器M1沒有空閒時間,且機器M2的空閒時間最少。在一般情況下,機器M2上會有機器空閒和作業積壓2種情況。設全部作業的集合爲N={1,2,…,n}。S是N的作業子集。在一般情況下,機器M1開始加工S中作業時,機器M2還在加工其他作業,要等時間t後纔可利用。將這種情況下完成S中作業所需的最短時間記爲T(S,t)。流水作業調度問題的最優值爲T(N,0)。    

     設π是所給n個流水作業的一個最優調度,它所需的加工時間爲 aπ(1)+T’。其中T’是在機器M2的等待時間爲bπ(1)時,安排作業π(2),…,π(n)所需的時間。

      記S=N-{π(1)},則有T’=T(S,bπ(1))。

      證明:事實上,由T的定義知T’>=T(S,bπ(1))。若T’>T(S,bπ(1)),設π’是作業集S在機器M2的等待時間爲bπ(1)情況下的一個最優調度。則π(1),π'(2),…,π'(n)是N的一個調度,且該調度所需的時間爲aπ(1)+T(S,bπ(1))<aπ(1)+T’。這與π是N的最優調度矛盾。故T’<=T(S,bπ(1))。從而T’=T(S,bπ(1))。這就證明了流水作業調度問題具有最優子結構的性質。

     由流水作業調度問題的最優子結構性質可知:

    

     從公式(1)可以看出,該問題類似一個排列問題,求N個作業的最優調度問題,利用其子結構性質,對集合中的每一個作業進行試調度,在所有的試調度中,取其中加工時間最短的作業做爲選擇方案。將問題規模縮小。公式(2)說明一般情況下,對作業集S進行調度,在M2機器上的等待時間,除了需要等該部件在M1機器上完成時間,還要衝抵一部分原來的等待時間,如果衝抵已成負值,自然仍需等待M1將作業做完,所以公式取max{t-ai,0}。

    4、流水作業調度的Johnson法則

     設是作業集S在機器M2的等待時間爲t時的任一最優調度。若在這個調度中,安排在最前面的兩個作業分別是i 和j ,即π(1)=I,π(2)=j。則有動態規劃遞歸式可得

     其中

 

  如果作業i和j滿足min{bi,aj} ≥min{bj,ai},則稱作業i和j滿足Johnson不等式。如果作業i和j 不滿足Johnson不等式,則交換作業i和j滿足Johnson不等式。

     證明 :在作業集S中,對於機器M2 的等待時間爲t的調度π,交換作業i和j 的加工順序,得到作業集S 的另一個調度π’,它所需的加工時間爲T’(S,t)=ai+aj+T(S-{i,j},tji),
     當作業i和j 滿足Johnson 不等式 min{bi,aj} ≥min{bj,ai}時,有

從而,tij≤tji,由此可見,換句話說,當作業i 和j不滿足Johnson 不等式時,交換它們的加工順序後,作業i和j滿足Johnson 不等式,且不增加加工時間。由此可知,對於流水作業調度問題,必存在最優調度π,使得作業π(i)和π(i+1)滿足Johnson 不等式


這樣的調度π稱爲滿足Johnson 法則的調度。進一步還可以證明,調度滿足Johnson 法則當且僅當對任意i<j 有:


     由此可知,任意兩個滿足Johnson 法則的調度具有相同的加工時間,從而所有滿足Johnson 法則的調度均爲最優調度。

    5、流水作業調度問題Johnson算法

    從上面的分析可知,流水作業調度問題一定存在滿足Johnson法則的最優調度,且容易由下面的算法確定:

    流水作業調度問題的Johnson算法:

    (1)令N1={i|ai<bi},N2={i|ai>=bi};

    (2)將N1中作業按ai的非減序排序;將N2中作業按bi的非增序排序;

    (3)N1中作業接N2中作業構成滿足Johnson法則的最優調度。   

先把所有作業的ai和bi放在一起,從這之中選個最小的,如果是bi的話這個作業i就放最後,如果是ai的話這個作業就放最前,把這個已經安排好的作業從作業集中刪除。重複上述步驟即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章