行政院國家科學委員會專題研究計畫 成果報告
利用快速禁忌搜尋法求解實際零工式生產排程
計畫類別: 個別型計畫 計畫編號: NSC93-2213-E-004-007- 執行期間: 93 年 08 月 01 日至 94 年 07 月 31 日 執行單位: 國立政治大學資訊管理學系 計畫主持人: 陳春龍 報告類型: 精簡報告 處理方式: 本計畫可公開查詢中 華 民 國 94 年 10 月 25 日
行政院國家科學委員會補助專題研究計畫成果報告
計畫名稱
利用快速禁忌搜尋法求解實際零工式生產排程
An Efficient TS-Based Heuristic for Practical Job Shop Scheduling
計畫類別: 個別型計畫 計畫編號: NSC 93-2213-E-004-007 執行期間: 93 年 8 月 1 日至 94 年 7 月 31 日 計畫主持人: 陳春龍(政治大學資訊管理系教授) 計畫參與人員: 陳俊廷(政治大學資訊管理研究所博士生) 鄧紫文(政治大學資訊管理研究所碩士生) 邱于芬(政治大學金融研究所博士生) 執行單位: 國立政治大學資訊管理系 [email protected] 中華民國 94 年 10 月 31 日
1
利用快速禁忌搜尋法求解實際零工式生產排程
陳春龍
國立政治大學資訊管理系
一、摘要
現場管制系統(shop floor control)是 ERP,SCM,APS 的主要子系統之一,其主要功 能是安排現場訂單的排程。根據研究,大部分現場的排程問題是屬於零工式生產(Job Shop)問題,所以過去幾十年來 Job Shop 問題一直是產業界與學術界重要的研究課題 之一。其間雖有無數的論文發表,但因 Job Shop 問題所需的複雜計算,以及現場決策 的時效性,大部分的現場排程問題還是憑經驗,或是使用簡單快速的派工法則來解決。 這樣的處理方式雖然幫助決策者解決了時效性的問題,但是卻犧牲了決策的品質。
本研究的目標即在以 Nowicki and Smutnicki 的 Fast Tabu Search 為基礎,來開 發一個新的求解方法,希望這個方法能擁有派工法則的求解速度,且能產生接近 Nowicki and Smutnicki 的方法的求解品質。我們相信這樣的方法才能真正解決製造現 場的 Job Shop 問題,以提升 ERP,SCM,APS 等系統的整體效能。
關鍵詞: 零工式生產,派工法則,禁忌搜尋法
Abstract
Shop floor control system is a core part of ERP, SCM, and APS systems. Its major function is to generate daily schedules for job orders on the shop floor. Job shop scheduling is a major task in shop floor control within industries, so it has been a vital research topic for the researchers in industry and academia for decades. However, due to its computational intractability, and the required decision efficiency on the shop floor, most job shop scheduling on the shop floor are still solved by using experiences or simple dispatching rules. This approach may satisfy the efficiency of decision-making, but on the contrary, it sacrifices the quality of the decision.
The objective of this research is to -based on Nowichi and Smutnicki’s tabu search heuristic- develop a new heuristic for job shop scheduling. It is hoped that this heuristic will be as efficient as dispatching rules, and generating quality solutions, close to the level of Nowichi and Smutnicki’s method. It is believed that this is the right approach to solve practical job shop problems on the shop floor, and significantly enhance the performance of ERP, SCM, and APS systems.
二、計畫緣由與目的
最近幾年,企業資源規劃(ERP)和供應鏈管理(SCM)是學術界與產業界最重要 的研究課題之一。企業界都投資大量的財力與人力在 ERP 和 Supply Chain 系統的導入 與開發。但是大部分企業在使用這些系統時都發現,由於缺乏有效的現場管制功能(Shop Floor Control),這些系統的效能都受到很大的影響。個人從 1995-1998 在美國曾經開發 一個現場管制系統,因此對這個問題有一些了解。根據個人的觀察,大部分的 ERP 和 Supply Chain 系統缺乏有效現場管制功能的主要原因有三個。第一、現場管制牽涉到最 複雜的排程問題(Scheduling)。第二、現場有太多的不確定因素,如訂單改變、機器故 障、材料遲延等。這些因素都會嚴重影響到已排定的製程。第三、不同產業有不同的製 造方法與流程,因此現場管制所面對的排程問題有很大的差異。一般開發 ERP 和 Supply Chain 的公司無法投入巨額資金針對不同現場管制問題開發不同系統,因此只能讓現場 管制人員憑經驗或使用簡單的派工法則來處理現場的問題。
Nowicki and Smutnicki(1996)針對 Job Shop 以最大完成時間(maximum completion time)為目標之問題所開發的 Fast Tabu Search 相當程度的解決上述的問題。這是因 為 Job Shop 問題是最複雜且是現場最常見的排程問題,而且 Fast Tabu Search 在效率 (efficiency)與效能(Effectiveness)上都有非常好的效果。但是當我們將這個方 法用在解決現場實際的問題時,在效率上卻碰到一些困難,我們發現原因是現場實際的 問題與理論上模擬所產生的問題之間有相當的落差。理論問題一般假設有 N 個工作與 M 個機器,同時每一個工作會以不同的製程經過每一個機器,所以每一個工作會有 M 個操 作,而每一個機器會有 N 個操作。但是實際問題則是,每一個工作都會有不同數目的操 作,連帶的也使每一個機器會有不同數目的操作,而形成許多瓶頸機器。另外,現場實 際問題的規模一般而言也比理論問題來的大,也比較複雜。所以,我們在 1998 年嘗試 進一步簡化 Fast Tabu Search 在鄰近解的搜尋範圍,將其集中於瓶頸機器,以提升它 用於實際問題的效率。我們根據 Chang et al.(1996)的研究,選取派工法則 SPT/MWKR 來產生起使解,然後以修正的 Fast Tabu Search(我們稱之為 CJTS)來求解 15 個實際 問題(表一),在合理的時間之內 CJTS 可以求解每一個問題,而其對 SPT/MWKR 的平均 改善程度則是 5.87%,所以我們可以說 CJTS 已經相當程度的解決面對實際問題時的效 率問題(Efficiency) 本研究的目的是希望進一步探討提升 CJTS 效能(Effectiveness)的可能性。我們 從兩個方向著手:一、起使解的產生方式,二、每一週期(iteration)搜尋範圍的擴 大與週期數的增加。Chang et al.以 3750 個隨機產生的例題來比較 41 個派工法則的效 能,結論是當目標為最大完成時間時(maximum completion time),SPT/MWKR 的表現最 佳,所以在我們過去的研究也是以此派工法則來產生起使解。但是,因為 Chang et al. 隨機產生的例題也是跟其他的研究一樣,假設每一個工作都會以不同的製程經過每一個 機器,與現場實際的問題有落差,所以我們希望模擬接近實際狀況的問題,來比較不同 派工法則的表現,並選取最佳的派工法則來產生起使解。另外,在開發 CJTS 時,為了
3 提升它的效率,在每一週期時我們僅搜尋少數的瓶頸機器,並且減少它搜尋的週期數。 在本研究中,我們嘗試增加搜尋的範圍與次數,看是否可以提高它的效能。 三、研究方法 本研究的方法是希望建構一個能產生接近現場實際問題的模式,我們主要考慮每一 工作可以有『不等操作數』和有『瓶頸機器』兩個因子,然後透過實驗設計的方式,比 較 50 種不同派工法則的績效來選取表現最佳的派工法則。接著以此派工法則產生 CJTS 的起使解,並增加 CJTS 的搜尋範圍與週期數來提高 CJTS 的效能。我們以以下的參數來 建構我們的模式: 1、機器數:本研究將機器設定為 10 與 20 部。 2、操作順序:以隨機的方式將工件分配給機器,每個工件的操作數設定在 2~m 之間, 其中 m 為機器數。以均等分配的方式產生。 3、到達過程:本研究設定為靜態的零工式生產,假設所有的工件一起到達。 4、操作時間:本研究操作時間設定在 Uniform(1,20)、Uniform(1,50)、 Uniform(1,100)來隨機產生。 5、瓶頸機器設定:本研究假設瓶頸機器的個數為 0、1、2,依機器編號分別對應指 定為瓶頸機器。 6、選用之派工法則 派工法則來自於(1)Chang et al.(1996)在靜態零工式生產中使用的 42 個法則; (2)1996~2002 在動態零工式生產中發表的 6 個新法則;(3)MOD 和 CR 兩個代 表性法則;總共 50 個(表二)。 我們設計的實驗考慮下列參數:3 種工件數(10、20、50)、2 種機器數(10、20)、3 種 操作時間(U(1,20)、U(1,50)、U(1,100))、3 種機瓶頸機器個數(0、1、2),總共有 54 種情 況。每一種情況,我們執行每一個派工法則 20 次,所以共需執行 54*50(派工法則個數) *20(次) = 54000 次的模擬。 在找到產生起使解的派工法則之後,我們修正 CJTS 的參數來擴大它搜尋的範圍。 CJTS 將搜尋的重心放在瓶頸機器,它以連序操作數目的多寡來定義瓶頸機器,而為了 減少求解的時間,它限制瓶頸機器的數目不超過總機器數的 5%。另外,為了減少求解 的時間,CJTS 也限制搜尋的週期數,它以連續 12 個週期沒有改善,或不超過 200 個週 期當作搜尋的停止法則。在這裡,我們將這些參數作一些調整,我們將瓶頸機器的比例 增加到 10%,將停止搜尋的法則增加到連續 15 個週期沒有調整,或不超過 300 個週期。 在將 CJTS 做過這些修正之後,我們再從一個渦輪引擎工廠的 ERP 系統中產生 10 個實際 的問題來驗證新的 CJTS 的效能。
四、結果與討論 實驗結果如表三、四、五所示:我們依照平均值、與最佳結果比較、以及最好的表 現次數來評比不同的派工法則。在表裡我們僅列出表現最好的十個派工法則。我們發現 當考慮『不等操作數』與『瓶頸機器』兩個因子時,不論是瓶頸機器為 0、1、或 2,這 十個派工法則的表現相當一致,LRM,MOPR 和 MWKR 是表現最佳的一組。我們從這三個派 工法則的定義可以發現一個很有意義的訊息:這三個派工法則都是以剩下的工作量來決 定派工的順序,工作量剩下越多的越早做。LRM(Longest Remaining Work)是比較操 作所屬之工作所剩下工作時間長短,它和 MWKR 的不同只是它不包含正被考慮之操作的 操作時間,而 MWKR 則包含。此外 MOPR 則是比較操作所屬之工作所剩下的操作數目(不 包含正被考慮之操作)。至於 Chang et al.的研究中表現最佳的 SPT/MWKR 在本研究中表 現亦佳,排在 8 到 10 名,而其平均值則與 LRM 的平均值相差約 6%。 另外一個值得注意的現象則是 LRM 和 MOPR 在無瓶頸機器(瓶頸機器為 0)與有瓶頸 機器(瓶頸機器為 1 或 2)產生最佳解之次數的差異。在無瓶頸機器時(表 4),LRM 在 360 個模擬問題中有 143 次找到最佳解:而在有瓶頸機器時(表 5 和表 6)則有超過 220 次找到最佳解。所以我們可以說 LRM 在有瓶頸機器的情況下,表現穩定,因此我們選擇 LRM 來產生 CJTS 的起使解。 表六是修正過之 CJTS 應用在 10 個現場實際問題的結果。在 10 題中,SPT/MWK 與 LRM 有 4 題得到相同的解,有 1 題 SPT/MWKR 的解較好,另外 5 題則是 LRM 的解較好,這 跟上述派工法則的分析結果相同。另外,表中 CJTS 的解是以 LRM 的解為起使解所產生 的結果,改善的%是以[(SPT/MWK 的結果- CJTS 的結果)/(SPT/MWK 的結果)]而得, 相對於表一 CJTS 對 SPT/MWKR 的改善效果,並無差別。此外,我們觀察在每一週期增加 瓶頸機器的比例,並增加搜尋的週期數對 CJTS 的效能亦無任何改善,原因可能出在 CJTS 對鄰近解的定義上,這是值得進一步探究的問題。 五、計畫結果自評 本計畫原定目標項目有三:以 C 語言撰寫之 CJTS 電腦程式,在瓶頸機器存在的情況下, 選取適合使 makespan 最小化的派工法則,以及開發新的、有效且快速的 CJTS 演算法。 前兩項目標已達成,尤其第二項,我們完整的比較 50 種派工法則在接近實際生產狀況 下的表現,不管在理論上或實務上,應該都是很有價值的。事實上,除了 makespan 之 外,我們還比較其他六個目標:平均流程時間、流程時間變異、延遲工件比率、平均延 遲時間、最大延遲時間、以及延遲時間變異。實驗的結果顯示比較在考慮『不等操作數』 與『瓶頸機器』以及過去不考慮這兩個因子的情況下,派工法則的表現確實有顯著的差 異。至於第三項目標,則成果不顯著,我們會繼續探究。
5
表一、原 CJTS 之測試問題與結果
Makespan Pro. No. Number of
Jobs Number of machines Number of operations SPT/ MWKR CJTS % 1 49 97 440 457.8 452.7 1.11 2 66 116 499 376.1 326.3 13.23 3 50 126 500 956.8 939.8 1.78 4 71 126 519 382.6 346.0 9.56 5 106 132 532 434.7 405.0 6.85 6 56 120 544 407.0 395.2 2.9 7 153 106 629 376.5 356.0 5.44 8 93 132 638 460.1 436.7 5.09 9 177 146 812 436.1 408.0 6.44 10 112 153 819 386.4 346.0 10.45 11 79 138 934 1697.6 1633.6 3.77 12 135 159 1005 463.3 441.7 4.66 13 248 170 1078 489.5 476.8 2.59 14 128 177 1212 466.9 457.2 2.08 15 131 187 1291 503.6 440.5 12.52 表二、 本研究使用的 50 個派工法則 Chang et al.(1996)使用的 42 個法則 1996~2002 發表的 6 個新法則 EDD LPT+LSO SLACK SPT+SSO 2PT+WINQ+NPT
FIFO LRM SLACK/DUE SRM MCOVERT FHALF LSO SLACK/ROP SSO PT+PW FORP LTWK SLACK/OP STSLACK PT+WINQ LCFS LWKR SLACK/TWK STSLACK/ROP PT+WINQ+SL LHALF MORP SLACK/MWKR STSLACK/ROP PT+WINQ+NPT+WSL LPT MTWK SPT STSLACK/TWK 其餘 2 個代表性法則 LPT.TWK MWKR SPT.TWK STSLACK/MWKR CR
LPT.MWKR NINQ SPT.MWKR WINQ MOD LPT/TWK OPNDD SPT/TWK LPT/MWKR Random SPT/MWKR 表三、無瓶頸機器情況下的派工法則表現的比較 名次 法則 最大完成時間 與最佳結果比較 名次 法則 表現最好次數 1 LRM 749.4055556 0 1 MOPR 143 2 MOPR 751.9361111 0.00337675 2 LRM 139 3 MWKR 757.1111111 0.010282224 3 MWKR 87 4 STSLACK/ROP 779.9333333 0.040735991 4 STSLACK/ROP 49 5 MTWK 782.275 0.04386069 5 SLACK/ROP 46 6 STSLACK/MWKR 786.9388889 0.050084141 6 STSLACK/MWKR 46 7 SLACK/MWKR 811.75 0.083191863 7 SLACK/MWKR 42 8 SPT/MWKR 814.7583333 0.087206156 8 SPT/MWKR 39 9 SLACK/DUE 815.8833333 0.088707346 9 MTWK 38 10 SLACK/ROP 819.9833333 0.094178349 10 SLACK/TWK 21
表四、一個瓶頸機器情況下的派工法則表現 名次 法則 最大完成時間 與最佳結果比較 名次 法則 表現最好次數 1 MOPR 883.4944444 0 1 LRM 225 2 LRM 883.8333333 0.000383578 2 MOPR 208 3 MWKR 885.2555556 0.001993347 3 MWKR 183 4 MTWK 901.7888889 0.020706915 4 SLACK/ROP 133 5 STSLACK/MWKR 905.525 0.024935704 5 STSLACK/ROP 119 6 STSLACK/ROP 906.4666667 0.026001547 6 STSLACK/MWKR 116 7 SLACK/MWKR 925.8472222 0.047937798 7 SPT/MWKR 114 8 SLACK/DUE 926.1638889 0.048296223 8 SLACK/MWKR 106 9 SPT/MWKR 931.7444444 0.054612681 9 SLACK/TWK 80 10 SLACK/ROP 932.05 0.05495853 10 SLACK/OP 73 表五、兩個瓶頸機器情況下的派工法則表現 名次 法則 最大完成時間 與最佳結果比較 名次 法則 表現最好次數 1 LRM 902.4972222 0 1 LRM 228 2 MOPR 907.1777778 0.005186227 2 MOPR 206 3 MWKR 907.4027778 0.005435535 3 MWKR 161 4 MTWK 921.0777778 0.020587937 4 SLACK/ROP 130 5 STSLACK/ROP 929.1694444 0.0295538 5 STSLACK/ROP 122 6 STSLACK/MWKR 931.2916667 0.0319053 6 SLACK/MWKR 121 7 SLACK/MWKR 948.95 0.05147138 7 STSLACK/MWKR 119 8 SLACK/DUE 949.3 0.051859193 8 SPT/MWKR 109 9 SLACK/ROP 956.4361111 0.059766266 9 SLACK/TWK 81 10 SPT/MWKR 957.6277778 0.061086676 10 SLACK/DUE 70 表六、修正後之 CJTS 求解 10 個實際問題的結果 Makespan Pro. No. Number
of jobs Number of machines Number of operations SPT/MWKR LRM CJTS % 1 33 97 331 736 734 642 12.77 2 36 84 286 715 644 633 11.47 3 53 99 355 702 678 678 3.42 4 53 128 410 303 291 286 5.61 5 67 136 511 1112 1112 1112 0 6 150 153 1093 557 557 547 0 7 153 152 1169 854 854 787 7.85 8 157 193 989 847 847 847 0 9 210 234 1931 827 749 749 9.43 10 218 215 1113 1058 1112 1056 0.19