計(jì)算機(jī)算法設(shè)計(jì)與分析(第6版)-課件 ch0308流水作業(yè)調(diào)度_第1頁
計(jì)算機(jī)算法設(shè)計(jì)與分析(第6版)-課件 ch0308流水作業(yè)調(diào)度_第2頁
計(jì)算機(jī)算法設(shè)計(jì)與分析(第6版)-課件 ch0308流水作業(yè)調(diào)度_第3頁
計(jì)算機(jī)算法設(shè)計(jì)與分析(第6版)-課件 ch0308流水作業(yè)調(diào)度_第4頁
計(jì)算機(jī)算法設(shè)計(jì)與分析(第6版)-課件 ch0308流水作業(yè)調(diào)度_第5頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

流水作業(yè)調(diào)度LET'SEMBARKONTODAY'SSHARINGJOURNEYTOGETHER01問題背景Let'sembarkontoday'sjourneyofsharingandcommunicationtogether流水作業(yè)調(diào)度場景在現(xiàn)代制造業(yè)中,流水作業(yè)調(diào)度是一個(gè)關(guān)鍵問題。假設(shè)我們有兩臺(tái)機(jī)器M1和M2,n個(gè)作業(yè)需要依次在這兩臺(tái)機(jī)器上加工。每個(gè)作業(yè)必須先在M1上加工,然后在M2上加工。這種加工順序是固定的,目標(biāo)是找到最優(yōu)的作業(yè)順序,以最小化最后一個(gè)作業(yè)完成的時(shí)間。場景描述在實(shí)際生產(chǎn)中,機(jī)器的空閑時(shí)間和作業(yè)的積壓是兩個(gè)主要的矛盾點(diǎn)。如果機(jī)器M1長時(shí)間空閑,會(huì)導(dǎo)致生產(chǎn)效率低下;而機(jī)器M2如果積壓過多作業(yè),又會(huì)影響整體的生產(chǎn)進(jìn)度。因此,如何平衡這兩者,找到最優(yōu)的調(diào)度方案,是流水作業(yè)調(diào)度的核心挑戰(zhàn)。問題挑戰(zhàn)問題定義與符號(hào)問題定義流水作業(yè)調(diào)度問題可以形式化為:給定n個(gè)作業(yè),每個(gè)作業(yè)在兩臺(tái)機(jī)器M1和M2上的加工時(shí)間分別為ai和bi。目標(biāo)是確定這n個(gè)作業(yè)的最優(yōu)加工順序,使得從第一個(gè)作業(yè)在M1上開始加工到最后一個(gè)作業(yè)在M2上完成的總時(shí)間最小。符號(hào)說明我們用N={1,2,…,n}表示所有作業(yè)的集合。對(duì)于任意子集S?N,T(S,t)表示在機(jī)器M2需要等待時(shí)間t時(shí),完成子集S中所有作業(yè)所需的最短時(shí)間。整個(gè)問題的最優(yōu)值即為T(N,0)。關(guān)鍵變量在調(diào)度過程中,ai表示作業(yè)i在機(jī)器M1上的加工時(shí)間,bi表示作業(yè)i在機(jī)器M2上的加工時(shí)間。這兩個(gè)參數(shù)是調(diào)度決策的重要依據(jù),通過合理安排作業(yè)順序,可以有效減少機(jī)器的空閑時(shí)間和作業(yè)的等待時(shí)間。02最優(yōu)子結(jié)構(gòu)Let'sembarkontoday'sjourneyofsharingandcommunicationtogether最優(yōu)子結(jié)構(gòu)性質(zhì)流水作業(yè)調(diào)度問題具有最優(yōu)子結(jié)構(gòu)性質(zhì)。假設(shè)π是n個(gè)作業(yè)的一個(gè)最優(yōu)調(diào)度,其加工時(shí)間為aπ(1)+T′。其中,T′是在機(jī)器M2的等待時(shí)間為bπ(1)時(shí),安排作業(yè)π(2),…,π(n)所需的時(shí)間。根據(jù)最優(yōu)子結(jié)構(gòu)的定義,去掉第一個(gè)作業(yè)后,剩余作業(yè)的調(diào)度仍然是最優(yōu)的。最優(yōu)子結(jié)構(gòu)證明遞歸關(guān)系式01遞歸關(guān)系基于最優(yōu)子結(jié)構(gòu),可以得到遞歸關(guān)系式T(S,t)=min{ai+T(S?{i},bi+max{t?ai,0})}。其中,max{t?ai,0}表示在機(jī)器M2上,作業(yè)i必須在max{t,ai}時(shí)間之后才能開工。這個(gè)遞歸關(guān)系為動(dòng)態(tài)規(guī)劃算法提供了基礎(chǔ)。02動(dòng)態(tài)規(guī)劃局限雖然動(dòng)態(tài)規(guī)劃可以解決流水作業(yè)調(diào)度問題,但直接應(yīng)用遞歸關(guān)系式會(huì)導(dǎo)致較高的計(jì)算復(fù)雜度。因此,我們需要進(jìn)一步分析,尋找更高效的算法。03Johnson法則Let'sembarkontoday'sjourneyofsharingandcommunicationtogetherJohnson不等式Johnson法則的核心是Johnson不等式:如果作業(yè)i和j滿足min{bi,aj}≥min{bj,ai},則稱這兩個(gè)作業(yè)滿足Johnson不等式。這個(gè)不等式是判斷作業(yè)順序的關(guān)鍵條件。01如果作業(yè)i和j不滿足Johnson不等式,通過交換它們的加工順序,可以使總加工時(shí)間不增加。這意味著,任何最優(yōu)調(diào)度都必須滿足Johnson不等式。

02不等式意義不等式定義法則的充分必要性如果一個(gè)調(diào)度π滿足Johnson法則,即對(duì)任意i<j,有min{bπ(i),aπ(j)}≥min{bπ(j),aπ(i)},那么這個(gè)調(diào)度的總加工時(shí)間是最優(yōu)的。這是通過動(dòng)態(tài)規(guī)劃遞歸式和不等式性質(zhì)證明的。充分性證明反之,如果一個(gè)調(diào)度是最優(yōu)的,那么它也必須滿足Johnson法則。這是因?yàn)槿绻粷M足,可以通過調(diào)整作業(yè)順序來減少總加工時(shí)間。必要性證明結(jié)論因此,滿足Johnson法則的調(diào)度就是最優(yōu)調(diào)度。這個(gè)結(jié)論大大簡化了求解過程,使得我們可以通過簡單的排序算法來找到最優(yōu)調(diào)度。04算法實(shí)現(xiàn)Let'sembarkontoday'sjourneyofsharingandcommunicationtogetherJohnson算法步驟010203步驟一:劃分作業(yè)集步驟二:排序步驟三:拼接將所有作業(yè)分為兩組:N1={i|ai<bi}和N2={i|ai≥bi}。這種劃分是基于作業(yè)在兩臺(tái)機(jī)器上的加工時(shí)間關(guān)系,為后續(xù)排序提供依據(jù)。對(duì)N1中的作業(yè)按照ai的非減序排序,對(duì)N2中的作業(yè)按照bi的非增序排序。這種排序方式確保了作業(yè)滿足Johnson不等式。將排序后的N1和N2作業(yè)依次拼接,得到最終的最優(yōu)調(diào)度順序。這個(gè)順序保證了總加工時(shí)間最小。偽代碼解析排序與結(jié)果生成排序完成后,根據(jù)job標(biāo)志將作業(yè)分配到最終的調(diào)度順序中。通過遞推計(jì)算總完工時(shí)間,最終返回最優(yōu)調(diào)度的總時(shí)間。算法的核心是通過結(jié)構(gòu)體保存每個(gè)作業(yè)的關(guān)鍵信息,如key、index和job標(biāo)志。根據(jù)ai和bi的關(guān)系為每個(gè)作業(yè)分配key值,然后進(jìn)行排序。偽代碼結(jié)構(gòu)05計(jì)算復(fù)雜度Let'sembarkontoday'sjourneyofsharingandcommunicationtogether時(shí)空復(fù)雜度分析主要耗時(shí)空間復(fù)雜度Johnson算法的主要計(jì)算時(shí)間花在對(duì)作業(yè)集的排序上。排序的時(shí)間復(fù)雜度為O(nlogn),因此整個(gè)算法的時(shí)間復(fù)雜度也是O(nlogn)。算法的空間復(fù)雜度為O(n),主要用于存儲(chǔ)作業(yè)信息和排序后的結(jié)果。這種高效的復(fù)雜度使得算法適用于大規(guī)模實(shí)例。關(guān)鍵結(jié)論回顧01流水作業(yè)調(diào)度問題可以通過Johnson法則在O(nlogn)時(shí)間內(nèi)獲得最優(yōu)調(diào)度順序。最優(yōu)調(diào)度02Johnson法則保證了相鄰作業(yè)滿足特定的不等式,從而確保整個(gè)調(diào)度的總加工時(shí)間最小。法則意義03Johnson算法實(shí)現(xiàn)簡單高效,適用于實(shí)際生產(chǎn)中的大規(guī)模作業(yè)調(diào)度問題。算法優(yōu)勢06案例演示Let'sembarkontoday'sjourneyofsharingandcommunicationtogether實(shí)例介紹假設(shè)我們有4個(gè)作業(yè),每個(gè)作業(yè)在兩臺(tái)機(jī)器上的加工時(shí)間分別為(a1,b1)=(2,5),(a2,b2)=(3,2),(a3,b3)=(1,4),(a4,b4)=(4,1)。劃分與排序根據(jù)Johnson算法,將作業(yè)分為N1={2,3}和N2={1,4}。對(duì)N1按ai升序排序,對(duì)N2按bi降序排序,得到最終調(diào)度順序?yàn)?,3,1,4??倳r(shí)間計(jì)算按照這個(gè)順序計(jì)算總加工時(shí)間,最終結(jié)果為10。通過這個(gè)實(shí)例,我們可以直觀地看到Johnson算法的有效性。小規(guī)模實(shí)例演練結(jié)果驗(yàn)證與思考結(jié)果驗(yàn)證將上述實(shí)例的結(jié)果與暴

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論