• 沒有找到結果。

應用禁忌搜尋法求解供應鏈中在具車容限制下整合產品製造與成品配送兩階段問題

N/A
N/A
Protected

Academic year: 2021

Share "應用禁忌搜尋法求解供應鏈中在具車容限制下整合產品製造與成品配送兩階段問題"

Copied!
65
0
0

加載中.... (立即查看全文)

全文

(1)

國立交通大學

工業工程與管理學系

碩士論文

應用禁忌搜尋法求解供應鏈中在具車容限制下

整合產品製造與成品配送兩階段問題

Applying Tabu Search Algorithm to Solving Production and Distribution Problems with Vehicle Capacity Constraints in Supply Chains

研 究 生 :呂學君

指導教授 :張永佳 博士

(2)

應用禁忌搜尋法求解供應鏈中在具車容限制下整合產品製

造與成品配送兩階段問題

學生:呂學君 指導教授:張永佳 國立交通大學工業工程與管理學系碩士班

由於及時化(just-in-time)觀念的普及,使得越來越多供應鏈中的企業採 用接單式生產(make-to-order)的方式滿足顧客需求,同時專注於降低存貨水 準以提升其競爭力。此種現象造成了產品製造與成品配送作業的密切互 動,同時增加了研究此類問題的必要性。傳統方法分別最佳化產品製造與 成品配送階段的作業並無法最佳化供應鏈的整體利益。因此本研究探討一 整合供應鏈中產品製造與成品配送之訂單排程問題,以非等效平行機台

(unrelated parallel machine)模擬產品製造階段,並將成品配送階段以考慮車 容限制的車輛途程問題(vehicle routing problem, VRP)模擬。訂單之完成時 間定義為產品從開始製造至送達顧客手上所花費的時間,以總加權後訂單

完成時間為系統的績效指標。在此類績效指標之下,整合產品製造與成品

配送兩階段之問題的複雜度為未定多項式難度(NP-Hard),故本研究設計一 禁忌搜尋法(tabu search algorithm)求解整合產品製造與成品配送之兩階段 問題,並以電腦模擬方式產生一系列測試問題,由測試結果得知,本研究

所設計之演算法可在合理的時間內求得品質佳的近似解,可供相關研究與

產業參考。

(3)

Applying Tabu Search Algorithm to Solving Production and Distribution Problems with Vehicle Capacity Constraints in Supply Chains

Department of Industrial Engineering and Management National Chiao Tung University

Student:Hsuen-Chun Lu Advisor:Yung-Chia Chang

Abstracts

Due to widespread just-in-time concept, more and more enterprises have chosen make-to-order business model to satisfy customers’ demand and focus on reducing their inventory level in order to be competitive. This phenomenon has not only increased the interaction between production and distribution but also raised the practicability of integrating these two stages. Traditional approaches consider production and distribution separately and sequentially may not maximize the total profits in supply chains. Therefore, this research studies an integrated production and distribution scheduling problems at the individual job level. The production stage is modeled by an unrelated parallel machines scheduling problem and distribution stage is modeled by a capacitated vehicle routing problem. The job completion time is defined as the time when it is delivered to its customer. The objective is to minimize total job weighted completion times. The complexity of this problem is NP-hard. We designed a tabu search algorithm to find near-optimal solutions to this problem. Computational analysis based on computer generated problems shows the stability and effectiveness of the proposed approach.

Key words: tabu search algorithm, unrelated parallel machine scheduling , vehicle routing problem, production and distribution

(4)

誌 謝 在交大工工所兩年的日子轉眼間即將結束,論文之所以能付梓,首先 感謝我的指導教授張永佳博士,在研究與論文撰寫的過程中,老師不時指 點我正確的方向,使我從中獲益匪淺。同時也感謝唐麗英老師與梁高榮老 師在論文計劃書與口試時所提出的意見,使得本論文的內容更加完備。 兩年來無論在生活上或是學術上都受到許多人的幫助,博班的惠誠學 長、93 級的昱皓、佩君與柏詠都對我十分照顧。同甘共苦的實驗室同學國 維、天威、丞舜,很高興我們一齊渡過這兩年的研究生生活並順利畢業。 95 級的理維、登凱、佩均、佳儒,有你們加入 005,為實驗室帶了許多歡 樂,同時也感謝你們對我的幫助。 最後,要感謝我的雙親,沒有你們細心培養就沒有現在的我。還有我 兩個優秀的弟弟學增與其錞,謝謝你們的支持,謹以此文獻給所有幫助過 我的人。 謹誌於 交通大學工業工程與管理學系 中華民國九十六年七月

(5)

目錄

目錄

目錄

目錄

第一章 緒論...1 1.1 研究背景... 1 1.2 研究動機... 2 1.3 研究目的... 4 1.4 研究方法... 4 1.5 研究架構... 5 第二章 文獻探討 ...6 2.1 供應鏈整合之相關文獻 ... 6 2.2 非等效平行機台與車輛途程問題之相關文獻... 9 2.2.1 非等效平行機台問題之相關文獻 ... 9 2.2.2 車輛途程問題之相關文獻... 10 2.3 巨集式啟發式演算法 ... 14 2.3.1 巨集式啟發式演算法 ... 14 2.3.2 禁忌搜尋法... 16 2.3.3 應用禁忌搜尋法之相關文獻... 18 第三章 問題定義與研究方法...21 3.1 問題定義... 21 3.2 Tabu_PDP 演算法設計 ... 24 3.2.1 Tabu_PDP 之起始解 ... 24 3.2.2 鄰域定義與交換法則 ... 29 3.2.3 Tabu_PDP 之結構與流程 ... 30 3.3 範例說明... 32 第四章 電腦測試與結果分析...39 4.1 Tabu_PDP 參數設計 ... 39 4.2.1 禁忌表列長度 ... 39

(6)

4.2 測試 Tabu_PDP 之求解品質 ... 41 4.3 測試問題設計 ... 42 4.4 測試結果及分析 ... 44 4.4.1 Tabu_PDP 運算時間複迴歸分析... 46 4.4.2 Tabu_PDP 改善率複迴歸分析 ... 47 4.5 小結 ... 49 第五章 結論與未來發展方向...50 5.1 結論 ... 50 5.2 未來發展方向 ... 50 5.2.2 演算法方面... 50 5.2.1 整合產品製造與成品配送兩階段問題方面 ... 51

(7)

圖目錄

圖目錄

圖目錄

圖目錄

圖 1 節省法使用前路徑 ... 12 圖 2 節省法使用後路徑 ... 12 圖 3 順時針掃描法之示意圖... 13 圖 4 最鄰近解法求解之示意圖... 13 圖 5 T_Start 演算法之流程... 28 圖 6 Tabu_PDP 演算法流程 ... 30 圖 7 B1於機台上加工之甘特圖(假設開始時間為 0)... 35 圖 8 B2機台排程之甘特圖 ... 35 圖 9 各機台加工流程圖 ... 36 圖 10 禁忌表列長度與目標函數關係 ... 40 圖 11 迭代次數與目標函數值、運算時間關係... 41 圖 12 Tabu_PDP 訂單數、機台數與運算時間關係... 47

(8)

表目錄

表目錄

表目錄

表目錄

表 1 訂單權重值以及訂單於各機台加工時間... 32 表 2 各訂單與製造工廠間的運送時間矩陣 ... 32 表 3 權重運送時間矩陣 ... 33 表 4 批次運送順序以及其對應之訂單到達時間... 34 表 5 B1的各機台加工時間 ... 34 表 6 訂單 4 加工後剩餘訂單於各機台加工完成時間 ... 34 表 7 訂單 6 加工後剩餘訂單於各機台加工完成時間 ... 34 表 8 權重最大完工時間 ... 36 表 9 機台加工順序與完工時間表 ... 36 表 10 起始解訂單花費時間與目標函數值表... 37 表 11 最佳移步之機台加工順序與完工時間... 38 表 12 最佳移步之訂單運送順序與到達時間... 38 表 13 最佳移步之訂單花費時間與目標函數值... 38 表 14 真實理想解與 T_Start、Tabu_PDP 最佳解之相對誤差 ... 42 表 15 測試問題表 ... 43 表 16 Tabu_PDP 測試結果 ... 45 表 17 Tabu_PDP 運算時間複迴歸分析 ... 46 表 18 Tabu_PDP 改善率複迴歸分析... 48

(9)

第一章

第一章

第一章

第一章 緒論

緒論

緒論

緒論

1.1

研究背景

研究背景

研究背景

研究背景

隨著時代的變遷,供應鏈管理已成為產業中廣為討論的議題,一條供 應鏈包含從原物料轉化成最終產品到顧客手中會經過的所有階段。供應鏈 管理的主要目的是有效地利用資源來滿足顧客的需求,而近十年來顧客的 需求從單純的價格導向變得多元化,產品品質或交貨是否準時皆為滿足顧 客需求的因素,因此對企業而言傳統的降低成本策略已不敷使用,取而代 之的是如何提升顧客滿意度。由於資訊科技的日新月異,使得電子商務蓬 勃發展,讓企業與企業間溝通交流愈加密切,使得供應鏈中不同成員間合 作與營運的程度增加,而共同提升顧客滿意度為供應鏈成員可共同追求之 目標。 供應鏈管理之目標,在策略面上為滿足顧客需求,然而將策略面 (strategic)目標轉化成在操作面(operational)上,供應鏈所需達成的目標是提 高產能、減少庫存、降低成本、準時交貨等,這些操作面上的目標,可以 透過數學模式表示成最佳化組合之問題。在供應鏈中產品從原料至顧客手 中經過的所有企業,如:原料供應商、製造商、物流業者、零售商等都各 自負責供應鏈中一個階段的工作,例如在一個典型的供應鏈中,原料供應 商供應原物料給製造商,製造商將原物料加工製造成品後,由物流業者運 送產品給零售商負責銷售。在每一個階段,企業希望可以追求本身利益最 大化,然而各階段追求的利益往往出現互償(trade-off)的情況;舉例來說, 假設在供應鏈中有三張訂單需經過產品製造加工與成品配送階段送至顧 客手上,對產品製造階段而言,為了減少存貨的觀念並以最大完工時間之 和為目標,工廠傾向將一張訂單加工完後,即由成品配送階段接手出貨給 顧客;但成品配送階段來說,在未達車容量上限的條件下,一個車次運送

(10)

三個顧客的訂單可能會比使用三個車次運送三張訂單所需的發車成本與 總運送時間來得少,產品製造階段與成品配送對車輛數量的選擇,就是一 種互償的情況。若我們以供應鏈管理的角度切入,對整合產品製造與成品 配送之兩階段問題,以總交期最短為目標,最佳化的組合可能會是前兩張 訂單一齊配送、第三張獨自配送,只著重單一階段的最佳化反而造成供應 鏈整體效益的降低,更進一步造成供應鏈整合上的困難度,這是供應鏈體 系不樂見的情況。因此供應鏈不該只著重於單一階段,而是要思考如何強 化供應鏈上游與下游間的合作關係,以期達到整體最大的利益,也就是供 應鏈管理的精神所在。

1.2

研究動機

研究動機

研究動機

研究動機

過去數十年學者們討論最佳化之問題,大都針對供應鏈中的單一階 段,如傳統的排程問題、車輛途程問題以及存貨管理問題等,此種研究方 法在供應鏈各階段之企業間以存貨作為緩衝的情況下是有效的,但不論是 原物料、半成品或成品對企業來說需要付出一定的存貨成本,影響企業所 能運用的資金。隨著及時化(just-in-time)觀念的普及,企業必須減少存貨以 提升其競爭力,在為了減少存貨的條件下,只著重單一階段的最佳化組合 問題已無法滿足最佳化供應鏈整體利益之目的;再者,現今顧客的需求變 動迅速且趨向多樣化,今日倉庫裡堆放的產品未必能符合明日顧客的需 求,又或者是產品無法長期保存,因此有越來越多企業選擇考慮整合產品 製造與成品配送兩階段,並採用接單式生產(make-to-order)與直接銷售 (direct-order)的商業模式。以生鮮食品配送業為例:由於產品無法長時間保 存,其模式為業者在接受顧客訂單後,馬上開始生產食品,此為第一階段 「產品製造」階段;食品製作完成後,將食品分配到運送工具上開始配送, 此為第二階段「成品配送」階段。要如何在合理時間內,規劃食品的製造 與外送,使業者能在合理的成本條件下滿足顧客需求,即為一整合兩階段 之問題。怎樣能有效整合產品製造階段與成品配送階段,尋求兩階段整體 之最大效益,避免各階段因獨自尋求各自最大利益,而使得部份人員或機

(11)

器閒置,造成不必要的浪費或損害顧客權益並不是一個容易解決的問題。 因此在實務應用面上,如何以整體觀點同時考慮供應鏈上的各階段,的確 有深入探討的必要性。 在 本 研 究 中 探 討 整 合 供 應 鏈 中 產 品 製 造 (production) 與 成 品 配 送 (distribution)的兩階段問題。在產品製造階段,部分製造商在一個工廠可能 會同時設置數條生產相同產品的生產線,而由於生產線由於人員或機台的 效率不一,使得每條生產線上的產品加工速度皆不相同,因此本研究選定 以非等效平行機台(unrelated parallel machine)來模擬產品製造階段;而在成 品配送階段,假設成品是經由多部具有容量限制的車輛來運送至數個不同 的顧客所在位置,所以可視為具有容量限制的車輛途程問題 (vehicle routing problem, VRP)。本研究所採用之績效衡量指標,為將訂單開始處理 到顧客實際收到成品所花費的時間,乘上訂單的權重轉換為成本,以最小 化兩階段之總成本作為目標函數。 在這樣的目標函數之下,非等效平行機台或車輛途程問題皆為未定多

項式難度(non-deterministic polynomial-time hard, NP-Hard)的問題(Garey and Johnson, 1979),因此本研究所探討的問題也至少 NP-Hard。目前已有 不少學者研究整合供應鏈中產品製造與成品配送兩階段的問題,但早期的

研究都是針對供應鏈策略層面性質作討論, Sarmiento and Nagi (1999)回顧 了在策略層面上,學者所提出的幾種整合產品製造與成品配送的系統模

型,並探討整合之系統對企業可能帶來的影響,然而這些模型都沒有討論

到排程、配送等作業層面上的問題或利用數學模型求解的方法。而近期探

討作業層面的文獻也只是透過數理証明找出兩階段問題在不同設定情況

與目標函數下的複雜度,或利用動態規劃(dynamic programming)與啟發式 演算法來求解簡化過的小規模問題或者是特殊個案(如 Lee and Chen 2001,Hall and Potts 2002,Chang and Lee 2003,Li et al. 2003,Chang and Lee

(12)

雜度為 NP-hard 的較大規模問題之研究。巨集式啟發式演算法雖然無法求 得問題之最佳解,但是能在合理的時間內提供品質佳的近似解,使其更具

實用價值,故適合應用於求解像本研究所探討之複雜度高的問題。 禁 忌 搜 尋 法 (tabu search algorithm) 發 展 至 今 約 有 二 十 多年 的 歷 史 (Glover, 1989),此演算法廣泛地被使用在求解組合最佳化(combinatorial optimization)之問題,對於本研究所探討的產品製造階段中的排程問題 (scheduling problem)或是單單針對成品配送階段之車輛途程問題都為其應 用之範圍。考量所探討之兩階段問題的複雜度,本研究選擇以禁忌搜尋法 為基礎發展演算法來求解此問題,期望藉由禁忌搜尋法所具備之彈性記憶 結構與避免重複求解等特性,增加跳脫出區域最佳解的機率以及快速搜尋 的機制,以提升搜尋時的效率與近似解的品質。

1.3

研究目的

研究目的

研究目的

研究目的

本研究所探討的問題為整合供應鏈中產品製造與具車輛容量限制的 成品配送兩階段問題,主要目的為應用禁忌搜尋法發展出一套能兼具求解 速度與近似解品質的演算法,期望能在合理的時間內求得品質佳的近似 解。

1.4

研究方法

究方法

究方法

究方法

本研究之研究方法流程如下: 1. 問題定義:確定問題情境,縮小問題範圍,訂定假設條件以符合問題情 境。 2. 演算法設計:應用禁忌搜尋法設計一套演算法,在 C++之環境下進行程 式的撰寫,求解整合非等效平行機台與具車輛容量限制的車輛途程兩階 段問題。 3. 演算法測試:探討在不同情境與參數設定下,禁忌搜尋法的求解速度與 近似解品質。

(13)

4. 結論與建議:根據測試結果作出結論且建議未來可以再深入研究之方 向。

1.5

研究架構

研究架構

研究架構

研究架構

本研究共分成五個章節,第一章敘述研究背景動機以及研究目 的;第二章回顧供應鏈整合、非等效平行機台、車輛途程問題以及禁忌 搜尋法之相關文獻;第三章為研究方法,詳細定義本研究所探討的問題 模型與基本假設,並以禁忌搜尋法為架構,設計一個演算法求解整合兩 階段之問題;第四章為演算法測試與結果,以分析本研究所提出演算法 的求解能力,第五章則是結論與未來發展方向,討論本研究所發現之現 象並作出推論,最後針對本研究未盡完善與不足之處提出建議。

(14)

第二章

第二章

第二章

第二章 文獻探討

文獻探討

文獻探討

文獻探討

第二章為文獻探討,其中 2.1 小節回顧與供應鏈整合相關的文獻,2.2 小節分別回顧非等效平行機台與車輛途程問題之相關文獻,2.3 小節為巨 集式啟發式演算法的介紹及其應用於相關問題之文獻回顧。

2.1

供應鏈整合

供應鏈整合之相關文獻

供應鏈整合

供應鏈整合

之相關文獻

之相關文獻

之相關文獻

供應鏈管理的成功要素之一,在於有效整合企業間相關業務活動、使 得採購、生產、排程、儲存與配送活動緊密連結,發揮整體供應鏈績效(Chiu, 1995)。在 1990 年代時期,學者們研究供應鏈整合的問題,大都是以供應 鏈之架構、性質與案例來進行探討,Thomas and Griffin (1996)回顧供應鏈 管理整合模式的文獻,而此類模式分成三大範疇:買方與賣方協調合作 (buyer-vendor coordination)、生產與配銷整合(production-distribution coordination)以及存貨與配銷整合(inventory-distribution coordination),並且 在其結論中建議供應鏈整合之焦點,應該由策略面(strategic)轉至作業面 (operational),將模糊的問題變成數學模型來解決,以對供應鏈整體利益產 生實質的影響。 以往針對產品製造與成品配送兩階段問題的解決方式,學者們以精確

法(exact algorithm)或數理證明的方式居多,Lee and Chen (2001)探討的供應 鏈整合問題,主要考慮了兩種運送模式,第一類模式考慮屬於機台與機台 間的半成品運輸問題;第二類問題則探討為將完成的產品從製造工廠中運 送至顧客手上的問題。他們所研究的第二類問題中,產品製造之排程部分 為單一機台或雙機式流程式(flow shop)排程問題,成品則以批次的方式, 被一台或多台具容量限制的車輛運送。作者釐清各類問題的複雜度後,針 對特定問題,依據最佳化特性(optimality property)發展出可於多項式時間內 求解的演算法。Hall and Potts (2003)首度提出供應鏈排程(supply chain

(15)

scheduling)的觀念,討論供應鏈管理中最小化生產及批次運送成本的問 題,並分別以供應商、製造商以及供應鏈整合三種決策者觀點探討此類問 題。在產品製造之排程部分,作者將單一階段之供應商或製造商視為單一 或平行機台;在批次運送部分,在不限車輛數目,不考慮車容限制的條件 下,以直接運送的方式送達顧客手中,因此該研究不需要討論車輛途程的 選擇。作者除了針對各類問題找出其問題複雜度之外,亦針對在多項式時 間內可求解的問題,提出以動態規劃為基礎的演算法;作者也提出了三個 簡單的例子說明以整合的觀點來做決策,可以使得整合排程與配送之成本 較分別以單一階段解決最佳化問題之成本總和為低,其成本的改善率在某 些情況可達 20%,甚至是單一階段解決最佳化問題成本的一半。之後 Hall and Potts (2005)將問題延伸至考慮車容量限制,同樣針對各類問題找出其 問題複雜度之外,亦針對在多項式時間內可求解的問題,提出以動態規劃

為基礎的演算法。Chang and Lee(2003)探討 Lee and Chen (2001)所研究的兩 類問題,作者將這兩個階段視為一個系統,利用兩種在實務上常被使用的 概念來求解此整合問題:向前求解法(forward approach)與向後求解法 (backward approach)。其中向前求解法是先求解系統問題中的第一階段的 問題,將其結果當成是第二階段的輸入參數而再求解第二階段問題;而向 後求解法(backward approach)則是先求解系統的第二階段問題,再依據求 解第二階段所得的資訊來求解第一階段的問題。作者使用最劣情況分析 (worst-case analysis)來衡量這兩種方法應用於不同問題上的表現。Chang

andLee (2004)探討 Lee and Chen (2001)所研究第二類問題,並考慮車輛容 量的限制以及訂單體積的大小,將完工時間定義為訂單送至顧客手中的時

間,而以最小化最大完工時間為目標。作者針對機台數量及顧客區域數設

定了三種情況:單一機台運送至單一顧客區域、兩台等效機台運送至單一

(16)

情況分析求解該類問題。Li et al. (2003) 針對 Chang and Lee (2004)之研究 作了更深入的探討,將系統欲服務的顧客數從一個延伸到多個,探討單一 機台排程整合單一車輛途程決策的問題,他們假設有多個已知的顧客,以 最小化訂單交貨時間的總和為目標,並在特定條件下簡化問題後,使用動 態規劃求得最佳解,並建議未來研究方向可以朝著將模型延伸至多部車 輛,或是利用啟發式解法來求解任意顧客數目的問題。

Chen and Vairaktarakis (2005)同樣探討生產與運送的整合排程模型:一 組訂單會在特定的設備上加工,接著不透過存貨直接送到顧客手中,並假 設車輛數量無限制,目的為最小化加權後訂單送至時間與運送成本的總 和。此研究在排程的部分考慮單一與等效平行機台兩種情況,並考慮以批 次的方式運送成品,將成品送至不同顧客手上,同一批的貨品可能為不同 客戶的訂單。陳昱皓 (2006)探討整合產品製造與成品配送兩階段問題,其 製造階段屬於非等效平行機台,配送階段則為不具容量限制的車輛途程問 題並假設系統中可供運送產品的車輛數目固定,其目標為最小化加權訂單 送至時間之總和。作者利用禁忌搜尋法求解此兩階段問題。周碩鴻 (2006) 利用基因演算法來求解與陳昱皓 (2006)相同的問題,與陳昱皓所設計之演 算所求得之起始解作比較,比較兩者之研究結果,在同樣的輸入資料與參 數設定下,所得最佳近似解值相近,與禁忌搜尋法起始解比較後的改善率 平均約在 20%左右。

本研究探討 Lee and Chen (2001)研究分類中的第二類問題,探討機台 排程包含成品從製造工廠送到顧客手上的情況。在現有的相關文獻中產品

製造排程部分,學者們研究的類型大致上有單一機台排程、雙機式流程式

排程、等效平行機台與非等效平行機台四類;而在成品配送部分,則是有

訂單完成即運送、批次運送至同一顧客、或考慮車容量限制的問題。現今

(17)

求解的問題,然而不同的限制條件會造成問題的難度不同,當問題規模增 大到一定程度時,便無法在合理的時間內找到最佳解。而目前大部分之研 究在探討產品製造與成品配送兩階段問題時,而除了陳昱皓 (2006)與周碩 鴻(2006)外,幾乎沒有其它文獻著墨於本研究所探討的整合非等效平行機 台與車輛途程之兩階段問題,而本研究與陳昱皓 (2006)與周碩鴻(2006)最 大的不同差異,在於考慮了車容限制後,利用不同的演算法交換法則,希 望在更接近實務的情況下求解問題,故接下來的小節我們將非等效平行機 台以及車輛途程問題分開作基本介紹以及一些相關文獻之回顧。

2.2

非等效平行機台與車輛途程問題之相關文獻

非等效平行機台與車輛途程問題之相關文獻

非等效平行機台與車輛途程問題之相關文獻

非等效平行機台與車輛途程問題之相關文獻

本節分別回顧非等效平行機台與車輛途程問題的相關文獻。 2.2.1 非等效平行機台問題之相關文獻非等效平行機台問題之相關文獻非等效平行機台問題之相關文獻非等效平行機台問題之相關文獻 產品製造型態為決定排程的依據,常見的產品製造型態有單機生產

(single machine)、流程式生產(flow shop)、零工式生產(job shop)、開放式生 產(open shop)、平行機台生產(parallel machine)。所謂平行機台是指有若干 個等待加工的工件,需經過某一加工程序,經由具有相似的功能的機台中

任一機台進行處理,此類機台即是平行機台。而平行機台又分成完全相同

平行機台(identical parallel machine)、等效平行機台(uniform parallel machine) 與非等效平行機台(unrelated parallel machine)三類,其中完全相同平行機台 表示所有機台之功能與處理速度皆完全相同,相同的工件在不同機台上的

加工時間是相同的;等效平行機台是指機台加工速度不同,但相同工件在

不同機台上的加工時間呈比例關係;非等效平行機台即表示相同工件在任

何一台平行機台加工時間皆不一樣,且任兩機台間加工時間無相關性

(Allahverdi and Mittenthal, 1994)。以往針對平行機台所做的排程研究,大 部分都針對最大完工時間(makespan)、交期延遲(tardiness)以及最小總完工 時間(total completion time)三個目標討論,而在非等效平行機台的相關文獻

(18)

中,最主要是在討論最小化最大完工時間。Horn (1973)和 Bruno et al.(1974) 以最小化最大完工時間為目標,將小規模問題轉化成為指派問題,求解機

台的排程最佳化。Herrmann et al. (1997)利用啟發式演算法求解較大規模之 最小化最大完工時間問題,Mokotoff and Jimeno (2002)以混合式整數規劃 法(mixed integer linear programming ,MIP)為架構發展了一套啟發式演算 法,自國際題庫中取得數據,以最小化最大完工時間為目標,求解非等效

平行機台問題,並分析其測試結果與傳統的解法的比較,以建議該演算法

在適用的問題範圍。Liaw et al.(2003)利用上下界逼近法求解非等效平行機 台之總加權延遲時間最小化問題,並與傳統分枝界限法比較求解速度與近

似解品質,Ghirardi and Potts (2005)利用改良式分枝界限法解決最小化最大 完工時間的問題,得到品質佳的近似解。針對最小化總加權完工時間問

題,過去在非等效平行機台上的研究並不多見,Azizoglu and Kirca (1999) 則針對非等效平行機台之問題,以最小總加權完工時間為目標,利用分支 界限法進行小規模問題之排程最佳化。Weng et al.(2001) 探討非等效平行 機台問題,在研究中使用了兩種不同的排程策略,第一種策略為將工件分 配至擁有最小加工時間或最小成本的機台,第二種策略則是優先指派擁有 最小加工時間加上整備時間除以權重的訂單,以最小化加權後平均完工時 間為目標,並考慮了整備時間後利用 7 個不同的啟發式演算法求解問題。 接下來本研究回顧車輛途程問題之相關文獻。 2.2.2 車輛途程問題之相關文獻車輛途程問題之相關文獻車輛途程問題之相關文獻車輛途程問題之相關文獻 成品配送是供應鏈系統中不可或缺的一環,而其所對應的數學模型大

都使用車輛途程問題(vehicle routing problems, VRP),故在數十年來備受學 者及企業的重視。Dantzig and Ramser 在 1959 年首度提出車輛途程問題, 基本定義為單一物流中心、由一組車隊將貨品運送至已知顧客的所在位

(19)

服務一次且需求量皆為已知,車輛在服務完被分配之顧客後返回物流中

心,而車輛途程問題的目標為最佳化車輛所行走的路徑。近數十年來,學

者們陸續研究了不同種類的車輛途程問題,而目前主要是將車輛途程問題

的模型歸類成車輛途程問題與時窗性車輛途程問題(VRP problem with time windows)兩大類。所謂時窗性車輛途程問題,即在車輛途程問題加入時窗 限制,其問題定義為單一物流中心、由一組車隊將貨品運送至已知顧客的 所在位置,每部車輛所裝載之貨品不能超過該車輛之容量上限,每個顧客 都會被服務一次且需求量皆為已知,在不違反車容量及時窗限制下,以物 流中心為起點與終點,且需在路徑最大時限內完成服務。。。。本研究所探討為 一般性的車輛途程問題,並不考慮時窗限制,已有許多學者針對此類問題

做了一系列的整理回顧(如 Bodin et al. 1983,Laporte 1992)。早期在求解傳 統車輛途程問題時,以較簡單的精確法針對規模較小的問題來求解,而

Christofides et al.(1981)與 Fisher and Jaikumar (1978, 1981)等提出利用數學 規劃方法(mathematical programming approach 求解較大規模之問題,大約 可處理 50 個顧客的問題。然而車輛途程問題屬於 NP-Hard 的問題(Garey and Johnson,1979),當問題規模較小時,可用最佳解法求得最佳解或使用 啟發式演算法得到品質佳的近似解;但隨著問題規模變大時,這些方法的

求解時間將隨著顧客位置的增加呈指數性成長,因此要在合理的時間內求

得最佳解會變得非常困難。應用於車輛途程問題的啟發式演算法包括了節

省法(savings algorithm)、掃描法(sweep algorithm)、最鄰近解法(nearest neighborhood algorithm)等。

以下為各類作法的基本介紹(夏萬春, 2000): 1. 節省法

此方法需先產生一個起始解後,再將各顧客點插入任一路徑內,計算

(20)

新的可行路徑解。圖 1 與圖 2 以兩個顧客與一個物流中心為例,說明節 省法前後之比較,其中節點 0 表示物流中心,而節點 1 與節點 2 分別表示 顧客 1 與顧客 2。在使用節省法前,顧客 1 與顧客 2 各自用一部車輛從節 點 0 出發,運送完畢之後回到原點;使用節省法後,運送模式變成一台車 輛一次運送兩位顧客之訂單,運送順序為車輛自節點 0 出發後,先前往顧 客 1 之位置交貨,緊接著直接由顧客 1 的位置直接往顧客 2 的位置移動, 若dij為從節點 i 移動至節點 j 之路徑長度,則S12 =d10+d20d12Sij為使 用節省法將路徑改變後與未改變前之節省量,顧客節點愈多,可選擇節省 之組合愈多,同時節省值數量愈多。 圖 1 節省法使用前路徑 圖 2 節省法使用後路徑 2. 掃描法 此法為 Gillett 和 Miller 於 1974 年所提出的方法,利用極座標來表示 各顧客點之位置,以物流中心為原點,選取任一顧客位置為起始點,在基 本限制條件下(如車輛容量限制或行走距離限制),從起始點依順時針(或 1 2 0 1 2 0

(21)

逆時針)方向,以掃描的方式尋找下一個顧客位置,所遇到的下個顧客點即 為第二個運送的順序。此方法之優點是可任取起始點作求解,再比較所得 之起始解何者較佳。圖 3 為順時針掃描法之示意圖。 圖 3 順時針掃描法之示意圖 3. 最鄰近解法 最鄰近解法主要是先選取距離物流中心最近的一點為第一個運送順 位,在同一條路徑只能走一次的條件下,第二順位則是距離第一個運送之 顧客位置最近的顧客點,以此類推,在不違反基本限制條件下,所能服務 最多的顧客數,之後再由物流中心開始第二部運送車輛之途程選擇,至到 所有顧客皆被服務為止。如圖 4 為一使用最鄰近解法求解的示意圖。 圖 4 最鄰近解法求解之示意圖 使用啟發式演算法可節省許多繁複的搜尋程序,並在有限的時間內找 出近似解,對於求解大規模問題而言更顯得其效率性。儘管如此,啟發式 演算法常有陷入區域最佳解或近似解品質不佳的問題,因此學者們發展了 0 2 1 3 4 車輛 1 車輛 2 0 2 1 3 4 車輛 1 車輛 2

(22)

巨集式啟發式演算法解決此類問題,加上現今電腦運算速度不斷增快的影 響,近幾年來巨集式啟發式(meta-heuristic)演算法的發展變得十分迅速,學 者們針對不同問題發明新的演算法並持續改良,由於本研究所討論之兩階 段問題複雜度高,應用巨集式啟發式演算法能夠求解較大規模的問題,較 能符合實務上之需求。因此下一個小節則回顧與巨集式啟發法演算法相關 之文獻。

2.3

巨集式啟發式演算法

巨集式啟發式演算法

巨集式啟發式演算法

巨集式啟發式演算法

本節先介紹巨集式啟發式演算法的發展經歷與基本特性,接著詳細說 本研究所採用之禁忌搜尋法,第三小節則是回顧應用禁忌搜尋法於製造或 配送單一階段之相關文獻。 2.3.1 巨集式啟發式演算法巨集式啟發式演算法 巨集式啟發式演算法巨集式啟發式演算法 根據 2.2.1 以及 2.2.2 小節之文獻回顧可知,早期在研究非等效平行機 台或車輛途程問題,通常都是利用數學規劃法求解規模較小的問題或是利 用傳統式啟發式演算法針對研究問題有效率地求得一個品質尚不錯的近 似解。但本研究所考慮的供應鏈整合問題複雜度為 NP-hard;當問題規模 增大時,求解時間會與問題規模呈指數分配的成長。近年來電腦運算速度 不斷提升,巨集式啟發式演算法在解決非等效平行機台或車輛途程這種問 題上有長足的進步。目前常被研究者所使用的巨集啟發式演算法有基因演

算法(genetic algorithms)、模擬退火法(simulated annealing)、禁忌搜尋法(tabu search) 以及螞蟻演算法(ants colony optimization)等,以下為禁忌搜尋法以 外各演算法的基本介紹,禁忌搜尋法將於下一節做更詳細之說明: (1) 基因演算法:

此法最早是在 1970 年代由 Holland 提出(Booker 1989, Holland 1992 ), 主要利用生物學遺傳優選的原理,以達爾文的物競天擇論為基礎,強調物

(23)

下一代,經由如此不斷地演化,適應力較差之子代會被淘汰;而適應力佳 的子代則用以產生更佳的下一代。遵循達爾文進化論的精神,經由重複地 演化,以產生近似最佳解甚至為最佳解,基因演算法即是將此種生命科學 現象應用於求解組合最佳化的問題。 (2) 模擬退火法: 是由 Metropolis et al. (1953)提出一個模擬金屬降溫的演算法,應用物 理冶金方面的觀念,將金屬快速升溫後,再慢慢降低溫度,進而達到金屬 結構之最佳狀態,以得到最佳的冶金效果。而三十年後 Kirkpatrick et al. (1983)發現要將溫度達到物質能量最低狀態,猶如在問題中尋求目標函數 的最小值,此降溫過程與尋優步驟觀念是可以相通的,因此他們提出類似 於 Metropolis et al. (1953)的模擬方式,應用於求解一些困難的組合最佳化 問題。 (3) 蟻群演算法

蟻群演算法初始概念最早是由 Colorni et al. (1991)提出,後來由 Dorigo and Gambardella (1997)完成其演算法之架構。主要是起源於發明者在觀察 螞蟻之移動行為時發現,螞蟻在移動時會分泌一種費洛蒙(pheromone),螞 蟻行經一條路徑之機會與該路徑曾遺留之費洛蒙成正比。一個路程遺留之 費洛蒙愈多表示之前經過這條路徑的螞蟻愈多,費洛蒙濃度愈高又會吸引 更多螞蟻行走該路徑。因此,當螞蟻面臨兩條路以上的抉擇時,其行走某 一路徑之機率與其遺留的費洛蒙濃度有關。由於愈短之路徑其螞蟻通過時 間短,以致愈短的路徑上所遺留之費洛蒙濃度愈高,進而誘使更多螞蟻行 經該路徑,使得所有螞蟻行走最短路徑的機會最大。螞蟻演算法即在模擬 螞蟻移動之行為,進行最佳化組合之搜尋工作。螞蟻演算法可應用在最短 路徑、車輛途程問題、生產排程等最佳化問題上,目標為求得各問題之最 適解 (蔡志強,2003)。

(24)

巨集式啟發式演算法最大的優點在於解決問題時,能夠跳脫出區域最 佳解的限制,快速地找到品質佳的近似解。因此希望在較短處理時間、耗 用較少電腦資源的條件下獲得品質佳的近似解時,使用巨集式啟發式演算 法是很好的選擇。各種演算法都有其優缺點,並非單一方法適用於所有的 問題,必須視問題類型來決定使用何種演算法,因此演算法的設計與搜尋 策略是近似解品質與求解效率好壞的關鍵。而使用禁忌搜尋法求解本研究 中之單一階段的非等效平行機台或車輛途程問題時,已有相關文獻之研究

可以得到不錯的效果 (如 Osman 1993, Reeves 1993, Class et al.1994, Piersam and Dijk 1996, Nowicki and Smutnicki 1998)。因此本研究推論應用 禁忌搜尋法於求解整合產品製造與成品配送之問題,可以求得品質佳的近 似解。因此本研究接下來將介紹禁忌搜法的發展過程與基本元素,並回顧 一些使用禁忌搜尋求解非等效平行機台以及車輛途程問題之相關文獻。 2.3.2禁忌禁忌搜尋法禁忌禁忌搜尋法搜尋法搜尋法 禁忌搜尋法屬於巨集式啟發式演算法的一種。此演算法廣泛地被應用 在求解組合最佳化之問題,在工業工程領域常用於求解關於排程、車輛途 程、設施規劃等問題上。禁忌搜尋法最早是由 Fred Glover 於 1977 年提出, 用於求解整數規劃問題;一直到了 1990 年代 Glover 才完整說明禁忌搜尋 法之基本原理與使用(Glover 1989, Glover 1990)。禁忌搜尋法需要生成一個 起始解,然後根據起始解產生一個鄰域,由其鄰域之中找一個最佳鄰近解 作為下次迭代搜尋的起始解並產生新的鄰域,如此不停重覆下去,直到演 算法達到所設定停止搜尋準則。禁忌搜尋法具備彈性記憶結構之特性,可 記錄曾經搜尋過之最佳鄰近解,避免下次迭代重複搜尋的情況發生,增加 跳出區域最佳解的機會。被記錄禁止再搜尋之解集合稱之為禁忌表列(tabu list)。設計者需要決定禁忌表列的長度,並且使用先進先出(first in first out,

(25)

個被記錄禁止再搜尋的解會被移出禁忌表列中,以此類推。因此進入禁忌

表列的解經過一定搜尋次數後會被解禁,演算法可再往該區域搜尋。以下

簡單介紹禁忌搜尋法之基本組成元素(Ho and Haugland 2004, Homberger and Gehring 2005) (1) 起始解(start solution) 較為常用的方法是利用啟發式演算法,快速地求得一個可行解作為禁 忌搜尋法的起始解。 (2) 鄰近解(neighborhood solution) 指鄰近起始解的可行解,不過鄰近之定義是由設計者依問題性質或需 求而決定。考慮一個有 i, j ,k 三位不同顧客的產品由一台車輛運送的例子, 假設起始解運送順序為 i→j→k,若設計者將鄰近解定義為運送順序互換, 則鄰近解有 j→i→k、i→k→j 或是 k→j→i 兩種,禁忌搜尋將會選擇較佳之 鄰近解作為下次搜尋的起點。 (3) 移步(move) 從起始解移動至鄰域中之解的動作稱為移步,上述例子中的一次運送 順序互換即為一次移步。 (3) 禁忌表列 由於傳統搜尋法在移步過程中,會有陷入循環解的情況,為了避免重 覆搜尋,禁忌搜尋法設立了禁忌表列,記錄前幾次移步,經過一定次數的 迭代之後,最早進入禁忌表列中的移動路徑會被解禁。故當有一新鄰近解 進入禁忌表列的同時,一個本來在禁忌表列中的解會離開表列。 (4) 期望水準(aspiration criteria) 由於禁忌表列的限制,在搜尋的過程中無法移至禁忌表列所記錄之移 步,但由於這些移步中,可能會有不錯的可行解出現,故需要設定期望水 準來為這類好的可行解去除禁忌限制,讓搜尋可進行該移步。一般而言,

(26)

期望水準之設定方式為移步之可行解優於現在的最佳解,在這設定下若在 搜尋中求得一個鄰近解在禁忌表列中,但移步所產生之目標值優於搜尋至 今的最佳解(即滿足期望水準),則將這移步解開禁忌禁制,並更新成為目 前之最佳解。 (5) 深度化搜尋(intensification) 禁忌搜尋法的彈性記憶結構主要分成短期記憶與長期記憶兩類,深度 化搜尋即為短期記憶之部分,主要是針對特定區域做深入的搜尋。 (6) 廣度化搜尋(diversification) 深度化搜尋則為彈性記憶結構中的長期記憶部份。長期記憶記錄進行 搜尋的所有移步,當搜尋法陷入區域最佳解時,經由改變鄰近解定義或重 新生成一個起始解,對先前較少經過之區域再做深度化的搜尋。 (7) 停止準則(stopping criterion) 指禁忌搜尋法可以停止搜尋所需要達到的條件,一般而言,停止準則有下 列三種情況 (陳正雄,2000): (i) 搜尋迭代次數達到設計者一開始所設定的最大次數或是目標值達到 預設的值。 (ii) 超過某一設定搜尋代次數所求得之最佳目標值仍是無法優於現有的 最佳目標值。 (iii) 運算之鄰近解集合扣掉違反禁忌搜尋規則之解集合為空集合。 以下本研究回顧禁忌搜尋法應用於非等效平行機台問題,車輛途程問 題以及整合前述兩階段問題之相關文獻。 2.3.3 應用應用禁忌應用應用禁忌禁忌禁忌搜尋法之搜尋法之搜尋法之相關文獻搜尋法之相關文獻相關文獻相關文獻

在應用於非等效平行機台問題部份,Suresh and Chaudhuri (1996)利用 禁忌搜尋法求解不含前置時間之多目標非等效平行機台問題,該問題主要

(27)

有兩個目標:最大完工時間與最大延遅時間。作者將演算法測試之結果與

他們先前發展的 GAP-EDD 演算法(Suresh and Chaudhuri, 1994) 所產生的結 果比較而發現在研究問題所定義範圍下,禁忌搜尋法在近似解的品質與求

解之速度均表現 GAP-EDD 演算法來得好。Hsieh et al. (2003)則是研究主機 板產業中印刷電路板加工廠之鑽孔作業問題,由於製程中同一功能之不同 工作站的機台效率不一且互相獨立,故可視為非等效平行機台問題。該研 究以機台成本、使用之機台數以及機台利用率作為目標函數,利用禁忌搜 尋法在合理的時間內求得一品質不錯之近似解並與人工排程的結果作比 較。研究結果指出雖然人工排程所花時間較少,但禁忌搜尋對近似解的品 質較人工排程優異許多。Chen (2006)則是針對考慮在加工限制與整備時間 之情境下,將最大延遲時間作為目標函數,研究結果顯示禁忌搜尋法優於 模擬退火法之電腦測試結果;而針對小規模之非等效平行機台問題,此演 算法亦可在合理的時間內求得最佳解。 禁忌搜尋法在車輛途程問題上亦有不少的應用,大部份的使用方式為 改良或結合其它演算法一起使用。Gendreau (1994)針對一般性的車輛途程 問題以禁忌搜尋法為主體,提出一個演算法並命名為 TABUROUTE。此演 算法的最大特點,在於可將不可行解作為起始解與鄰近解,然後檢視符合 期望水準之解是否為不可行解,若在移動後產生可行解則更新為搜尋法之 最佳解。作者根據國際標竿題庫所提供之數據 TABUROUTE 演算法,結 果發現 TABUROUTE 所得之解優於當時其它啟發式演算法所得之解。 Renaud et al. (1996) 則以禁忌搜尋法為基礎設計了 FIND 演算法,以快速 改善、廣度化搜尋與深度化搜尋三個階段,對多物流中心之車輛途程問

題,在考慮車輛容量及路徑長度限制之條件下,以最短路徑為目標函數求

解,該演算法測試 11 組國際標竿問題之數據,比較先前其它學者的測試 結果比較,指出 FIND 優於先前標竿之測試結果。

(28)

針對供應鏈整合問題,Lee (2001)利用巨集式啟發式演算法在印刷電 路板(printed circuit board)製造系統中,求解包含機台成本、存貨成本和時 窗懲罰之多機台兩階段問題。其中比較了禁忌搜尋法、模擬退火法、基因 演算法與鄰近搜尋法,結果顯示禁忌搜尋法在求解此類多機台兩階段問題 時,所得到之解的品質優於模擬退火法、基因演算法與鄰近搜尋法,而求 解的時間僅略遜於鄰近搜尋法,而較模擬退火法和基因演算法為短。在使 用巨集式啟發式演算法求解非等效平行機台與車輛途程之兩階段整合問 題,並鮮少學者作深入之研究與探討。僅陳昱皓 (2006)在不考慮車容限制 的條件下,將車輛數假設為已知,利用禁忌搜尋法求解整合非等效平行機 台與車輛途程之兩階段問題;周碩鴻 (2006)利用基因演算法來求解與陳昱 皓 (2006)相同的問題,與陳昱皓所設計之演算所求得之起始解作比較,比 較兩者之研究結果,在同樣的輸入資料與參數設定下,所得最佳近似解值 相近,與禁忌搜尋法起始解比較後的改善率平均約在 20%左右。 在一系列的文獻回顧之後,本研究所探討之問題模型與陳昱皓 (2006) 與周碩鴻 (2006)所研究之問題類似,但不同之處在於兩者之研究皆不考慮 車容限制,並在研究假設時限制車輛數目,為了更符合實務應該情況,本 研究加入車容限制且車輛數目為一變數隨著批次組合不同而有所變化。此 外使用巨集式啟發式演算法對於求解 NP-hard 問題有很好的表現,而禁忌 搜尋法在針對求解單一階段之非等效平行機台或車輛途程問題,相較於其 它巨集式啟發式演算法,在大部份的情況下皆可獲得品質較佳的近似解, 故本研究推論針對求解非等效平行機台與車輛途程之兩階段整合問題,使 用禁忌搜尋法會是一個很好的選擇。

(29)

第三章

第三章

第三章

第三章 問題定義與研究方法

問題定義與研究方法

問題定義與研究方法

問題定義與研究方法

本研究探討整合產品製造與成品配送兩階段問題,分別應用非等效平 行機台排程問題與具車容限制之車輛途程問題模擬此兩階段。本研究將訂 單之完成時間定義為產品從開始製造至送達顧客手上所花費的時間,每個 訂單由決策者依據訂單重要性決定其權重,以總加權後訂單完成時間為所 探討問題的目標函數,並以最小化此目標函數為目的。針對此類問題,本 研究設計了一個禁忌搜尋法(以下稱為 Tabu_PDP)求解,期望可以在合 理的時間內找到品質佳的近似解。

3.1

問題定義

問題定義

問題定義

問題定義

本研究之問題屬於組合最佳化問題,可用下列簡單模式表示: Min Z= f(x) s.t.:xX x:表示訂單機台的加工順序、批次編號以及訂單運送順序的一種組合 X:表示訂單機台的加工順序、批次編號以及訂單運送順序所有的組合 f(x):表示 x 所對應的目標值函數 本研究討論的問題敘述如下:系統內有 n 張訂單,每個訂單的體積均為 1 個單位,需經過 k 個非等效平行機台中的任何一部機台加工,為了方便敍 述,本研究顧客編號為 i 之訂單即為訂單 i。訂單 i 在機台 m 的加工時間為 pmi,而訂單 i 於機台加工完畢之後的時間定義為在機台上之完成時間zi訂單在機台上加工完畢後之訂單需經過編號 r 之的車輛送到顧客手上,而 編號為 r 之車輛即為編號為 r 之批次,為方便敍述稱以下為 Br。將 nr定義 為 Br中的訂單個數,系統內車輛數沒有限制,但每輛每次最多只能裝載 v 張訂單,車輛自開始運送到訂單 i 顧客手上所花費的時間為 δi,為車輛從

(30)

製造工廠出發,依訂單運送順序運送成品至顧客 i 前各點間所花費時間之 總和。ci為訂單 i 從開始加工到送達顧客手上所花費之時間,定義如式(1), 其中γr為 Br之發車時間,為該批次所配送之訂單中於機台完成時間的最大 者,如式(2)。假設製造工廠為原點,而訂單 0 為一虛擬訂單,其製造與配 送時間均為 0,d0i為製造工廠至訂單 i 的配送時間,而 dji為訂單 j 至訂單 i 的配送時間。若訂單 j 為訂單 i 運送順序之前一站,則 δi由式(3)表示之。 i r i c =γ +δ iBr (1) } max{ i r = z γ iBr (2) ji j i =δ +d δ ij i,jBr (3) 本研究所探討問題之目標函數如式(4)所示、而 wi為訂單 i 之權重,本問題 的決策變數包括決定訂單在哪部機台上加工及其加工順序、訂單被分配於 哪個批次以及訂單在批次內的運送順序。 Min i n i ic w Z

= = 1 (4) 為求在合理的範圍中簡化問題,本研究就產品製造階段與成品配送階段所 設定之基本假設如下: 一、 產品製造階段 1. 每一工件在各機台上的加工時間皆為已知; 2. 所有訂單起始時間皆 0; 3. 機台在時間為 0 時皆可供訂單加工; 4. 機台加工無整備成本; 5. 不考慮訂單重工或機台當機; 6. 任一機台同一時間只能加工一個訂單; 7. 每一顧客只訂購一筆訂單。 二、 成品配送階段

(31)

1. 單一物流中心(即為製造工廠); 2. 可使用之車輛數目無上限; 3. 每部車皆從製造工廠出發; 4. 所有車輛在時間為 0 時皆可供使用; 5. 所有顧客位置已知; 6. 每一部車的容量限制與速度皆相同; 7. 車輛行走距離無限制; 8. 每部車只運送一次; 此外本研究所探討的問題,具備以下之最佳化性質(optimality property): 定理 1:本研究所探討的問題,在下列情況下存在一最佳排程。 (i) 本研究所探討的問題,在產品製造排程部份中,若在每部機台上加 工之訂單間機台無閒置時間(idle time),則存在一個最佳排程。 (ii) 本研究所採討的問題,當每一部車輛的發車時間為該批次內中訂單 在機台上最大完工時間時,則存在一個最佳排程。 (iii) 本研究所探討的問題,當同一批次之訂單在所有機台上均為連續完 工,即同一批次之訂單在所有機台之完工時間的區間內沒有不同批 次的訂單交互完工時,則存在一個最佳排程。 証明 証明 証明 証明: (i) 假設存在一排程,其中訂單 a 與訂單 b 為在同一機台上兩相鄰被 加工的訂單,其加工順序為 a-b 且訂單 a 與訂單 b 間有機台的閒 置時間,則可將訂單 b 的加工起始時間提前至訂單 a 之完工時間 點,而不會增加此排程之目標函數值。 (ii) 假設一個特定批次的發車時間大於該批次的訂單最大完工時間 時,則可將此批次的發車時間提前至該批次所有訂單中的最大完 工時間,此可行解所對應的目標函數值不會因此而增加。

(32)

(iii) 假設存在一個排程,其中有 abcdef,共 5 個訂單,而其 完工順序依序為 a-b-c-d-e-f,即 za≤ zb≤ zc≤ zd≤ ze ≤ zf。若目前的 分批方式為訂單 abe 屬於 B1,訂單 cdf 屬於 B2,其中 B1 的發車時間γ1 = max{za, zb, ze }= ze而 B2的發車時間γ2 = max{zc, zd, zf }= zf。若我們將 B1內的訂單 c 與 B2的訂單 e 交換,使得 B1 包含訂單 abc,而由(ii)得知其交換後之發車時間應調整為γ1’= max{za, zb, zc }= zc ≤ γ1;同理,交換後之 B2包含訂單 def,且 其發車時間應調整為γ2’= max{zd, ze, zf }= zf=γ2。經過此訂單所屬 批次交換之步驟,此排程的目標函數值不會因此而增加。

3.2 Tabu_PDP

演算法設計

演算法設計

演算法設計

演算法設計

本小節介紹 Tabu_PDP 起始解之求法,接著說明鄰近解之定義方式與 交換法則,最後則是 Tabu_PDP 演算法的步驟。 3.2.1 Tabu_PDP之起始解之起始解 之起始解之起始解 禁忌搜尋法需要生成一起始解後,再從起始解產生一個鄰域,由鄰域 之中找一個最佳鄰近解作為下次迭代搜尋的起始解。在起始解生成的部 份,有隨機生成或使用啟發式演算法產生兩種方法。為了提高演算法之搜 尋效率,本研究設計一個啟發式演算法(以下稱為 T_Start)產生一可行解, 以此解做為 Tabu_PDP 的起始解。 T_Start 首先考慮配送階段在優先滿足車輛利用率的假設下,依各訂單 權重與顧客的位置決定各車輛的運送批次與順序;再回到產品製造的階 段,決定各批次在機台加工的順序,最後依批次順序將訂單排入機台,進 而得到一組可行解。以下詳細說明 T_Start 的步驟: (i) 決定批次與車輛途程之運送順序 本研究先以最鄰近解法(nearest neighborhood)為基礎,發展了一個啟發 式演算法(以下稱為演算法 A)來決定運送批次以及批次內的運送順序。

(33)

最鄰近解法是車輛途程問題中的一種啟發式演算法,在選擇運送順序時僅 考慮顧客間之相對距離。然而在本研究所探討之問題中,需考慮權重對目 標函數之影響,故在選擇顧客與運送順序時,以運送時間除以該訂單之權 重為衡量標準。演算法 A 的各個步驟說明如下: 演算法 演算法 演算法 演算法 A 步驟一. 令 N 為所有訂單之集合即N = {1, 2, …, n}Br= φ, for r = 1, 2, …, n; nr = 0, for r = 1, 2,…, n; r = 1; c = 0; δi =0; t = 0 步驟二. 利用權重最鄰近解法選取訂單為運送之對象 } , min{ j N w d aug i j tj j ∈ = ; 步驟三. 將利用演算法所選取之訂單放入批次 Br中並記錄訂單編號與 運送時間 N:= N\{i} Br:=Br∪{i} nr:=nr +1 ti i i =δ +d δ : i t:= 步驟四. 檢查是否所有訂單均被分配完畢 1. 若N =φ,令a=r,為起始解之批次數,結束演算法 A。 2. 若N ≠φ,繼續步驟五。 步驟五. 檢查運送批次體積是否達到車容限制 1. 若nr =vr:= r+1,回到步驟二。 2. 若nrv,回到步驟二。 (ii) 試算各批次於機台清空時之最大完工時間 在使用演算法 A 決定了運送批次數(a)、各批次內訂單之組成以及各

(34)

批次中訂單之運送順序後,接著針對各個批次的起始機台負荷皆為 0 的情 況下,透過最短加工時間(shortest processing time, SPT)的原則,試算各批 次的最大完工時間 Pr。以下將此部份之演算法稱為演算法 B,其流程如下: 演算法 演算法 演算法 演算法 B 步驟一. 令 M 為所有機台之集合即 K= {1, 2, …, k} 步驟二. 假設所有機台之始起負荷量為 0 令lk =0, m = 1, 2, .., k ; r = 1; t = 0 步驟三. 利用 SPT 原則選取訂單與被加工之機台 令i augmin{lk pkj, j Br,m K} j ∈ ∈ + = } , , min{l p j B m K aug x k kj r k ∈ ∈ + = 步驟四. 將所選取之訂單放入機台並更新機台負荷量 } { \ : B i Br = r ; xi x x l p l := + ; 步驟五. 檢查批次中的訂單是否都已被排入機台; 1. 若Br =φ,Pr =lx,繼續步驟五 2. 若Br ≠φ,回到步驟二。 步驟六. 檢查所有批次是否已被分配完畢 1. 若r=a,終止演算法 B。 2. 若rar:= r+1,回到步驟二。 (iii) 決定批次在機台上的加工前後順序 演算法 B 試算了在機台尚未處理任何訂單時(即機器負荷為 0 時), 各批次的最大完工時間 r P 。由 3-1 小節所提到的最佳化特性(iii)可知,若 2 1, B B 為兩連續批次,其發車時間B1必定小於B2,此排程才有可能是最佳 排程。因此批次在機台上的加工前後順序,相當於批次之發車時間之順

(35)

序。故本研究另外設計了一決定批次於機台上的加工先後順序的演算法 (以下稱為演算法 C),根據式(5)計算出批次之最大完工時間(Pr )加上利 用最鄰解法所求得之批次總運送時間除以該批次中所有訂單的權重和,

+ = j j r r W P H max{δ } jBr,rR (5) 再將各訂單依批次之先後順序重新編號,其後用 SPT 原則將訂單排入機台 加工順序,求得一組利用本研究所設計之演算法所求得之起始解。以下說 明演算法 C 之各個步驟。 演算法 演算法 演算法 演算法 C 步驟一. 令R={1,2,..,r}, 步驟二. 利用式(3-3)決定被排入機台的批次 令 min{ max{ , },r R} w B j P aug i r r B j i r j r r ∈ ∈ + =

∈ δ R:=R\{i},至所有批次皆被排序完畢。 步驟三. 將批次依照機台上的加工順序重新編號,使得

∈ ∈ ∈ ∈ + = ≤ ≤ ∈ + = ≤ ∈ + = r ar r r j B i a j a a B j i j B j i j w B j P H w B j P H w B j P

H max{ , } max{ , } .... max{ , }

2 1 2 2 2 1 1 1 δ δ δ ; 令 r = 1; lk =0; k = 1,2,..,m; 步驟四. 再次使用 SPT 原則選取訂單與被加工之機台 令i augmin{lk pkj, j Br,m K} j ∈ ∈ + = } , , min{l p j B m K aug x k kj r k ∈ ∈ + = 步驟五. 記錄目前批次在機台加工之屬性

(36)

} { \ : B i Br = r xi x x l p l := + ; 步驟六. 檢查批次內訂單是否分配完畢 1. 若Br =φ,γr =max{lk,kM},繼續步驟七 2. 若Br ≠φ,回到步驟四。 步驟七. 檢查所有批次數是否分配完畢 1. 若r=a,結束演算法 C。 2. 若rar:= r+1,回到步驟四。 (iv) 計算目標函數值 經由(i)、(ii)以及(iii)之演算法 A、B 以及 C,求得一組可行解,作為 Tabu_PDP 之起始解,計算並記錄其目標函數。T_Start 演算法的流程整理 於圖 5。 圖 5 T_Start 演算法之流程

(37)

3.2.2 鄰域定義與交換法則鄰域定義與交換法則 鄰域定義與交換法則鄰域定義與交換法則 本研究的三個決策點為決定訂單於機台選擇與加工順序、訂單被分配 之批次以及訂單在批次中的訂單運送順序,故鄰近解的定義基於決策點來 設定。本研究設計了以下三種交換法則: (1) 批次內運送順序交換 第一種類型之鄰近解,為批次內運送順序之兩兩交換。若 Br內有 nr組訂單,則該批次這類型之鄰近解有C2nr種組合,若有 y 個批次則總 共有

= y r nr C 1 2 種組合 (2) 批次於機台加工順序之交換 第二類型之鄰近解為批次於機台加工順序之交換,批次的個數與 批次數相同,當 y ≥ 2 時,批次於機台加工順序交換之組合共有Cy 2種。 (3) 不同批次中訂單之交換 第三類型之鄰近解為不同批次中訂單之交換,選擇任兩批次中的 訂單利用兩兩交換法產生鄰近解,本研究假設當不同批次中的訂單交 換時,其在指派之機台與加工順序以及車輛運送順序亦同時被交換, 否則將違反最佳化性質(i)或者是(ii),此類鄰近解的組合共有 1 2 1 1 2 r r n n y C C C 種。 本研究之鄰近解定義,為三種類別解之集合,即目前解之鄰域,而鄰 域中目標函數值最低且不在禁忌表列中的解,即為最佳移步。

(38)

3.2.3 Tabu_PDP之之結構與流程之之結構與流程結構與流程結構與流程 本研究 Tabu_PDP 基本搜尋流程如圖 6,以下說明各步驟之詳細內容。 圖 6 Tabu_PDP 演算法流程 否 是 否 是 否 輸入資料 利用 T_Start 演算法 產生一起始解 將起始解加入禁忌表列 計算目標值 做為目前最佳解 f(x)* 產生目前解之鄰域 鄰域之最佳解 是否在禁忌表列? 計算鄰近解目標值並排序 是否滿意 期望水準? 從鄰域中忽略此鄰近解 是 解除禁忌禁制 移步至此鄰近解 更新目前最佳解 f(x)* 禁忌表列、迭代次數 是否達到 結束準則? 結束搜尋

(39)

步驟一. 設定禁忌表列、期望水準與迭代次數 1. 禁忌表列:設定為 t 即是須經過 t 次的搜尋才能重複搜尋過去所 搜尋過的解。 2. 期望水準:本研究設定搜尋到新的解若要滿足期望水準必須同 時符合下列三種情況: (i) 禁忌限制。 (ii) 對應目標值優於目前所得之最佳解 f(x)*。 (iii) 禁忌限制內最佳解。 3. 結束準則:預設當迭代次數達到指定之次數或最佳近似解連續 指定次數未更新時即停止。 步驟二. 利用 T_Start 產生 Tabu_PDP 的起始解 步驟三. 更新禁忌表列、計算目標函數值更新為 f(x)* 在求得 Tabu_PDP 之起始解後,將此解加入禁忌表列中,以避免在第 二次迭代時的鄰域中,將本研究所求得之起始解作為第二次迭代中鄰域的 最佳解,而發生重覆搜尋的情況。在第一次迭代中,目前演算法之 f(x)*為 起始解之目標函數值。 步驟四. 移步的選擇 本研究檢視在這次迭代所生成的鄰域,計算所有鄰近解所對應之目標 函數值,並找出所有鄰近解中目標函數值最小的一個。若此解不在禁忌表 列中,則移歩到此一新的解,此解為本次迭代的最佳移步,同時更新禁忌 表列並檢視最佳移步所對應之目標函數值是否優於目前最佳解 f(x)*,當此 解優於目前最佳解,更新此解成為最佳解 f(x)*。若此鄰近解位於禁忌表列 中,則視其是否符合期望水準,本研究所設定之期望水準為在禁忌限制中 其對應是目標函數值優於目前最佳解 f(x)*,若符合期望水準,則移步至此 鄰近解,更新禁忌表列與目前最佳解 f(x)*。當所有鄰近解中目標函數值最

(40)

小的一個解位於禁忌表列,而其目標函數值又小於目前最佳解 f(x)*時,則 在鄰域中排除此解後,重新搜尋鄰近解中目標函數值最小的可行解,並重 覆上述動作,直到找到最佳移步並更新禁忌表列、最佳解以及迭代次數。 步驟五. 檢視結束準則 本研究所設定之結束準則為迭代次數達設定之次數即停止。

3.3

範例說明

範例說明

範例說明

範例說明

本小節以本研究所設計之 T 架構為例,說明 T_Start 的計算步驟與 Tabu_PDP 第一次搜尋之結果。考慮 6 個訂單(即 n = 6)、2 部機台(即 k = 2)、 車輛容量上限為 3 個訂單(即 v = 3)的問題。為方便表示,假設訂單 i 由顧 客 i 所訂購。各訂單權重值以及訂單於各機台加工時間如表 1 所示,各訂 單與製造工廠間的運送時間矩陣如表 2 所示。 表 1 訂單權重值以及訂單於各機台加工時間 訂單 1 訂單 2 訂單 3 訂單 4 訂單 5 訂單 6 wi 3.1 2.5 2.9 4.7 1.8 6.2 pi1 14 42 35 16 27 50 pi2 20 19 40 48 20 30 表 2 各訂單與製造工廠間的運送時間矩陣 dij 製造工廠 訂單 1 訂單 2 訂單 3 訂單 4 訂單 5 訂單 6 製造工廠 0 137 174 89 78 54 96 訂單 1 137 0 115 110 161 134 183 訂單 2 174 115 0 69 91 122 118 訂單 3 89 110 69 0 36 76 99 訂單 4 78 161 91 36 0 102 51 訂單 5 54 134 122 76 102 0 63 訂單 6 96 183 118 99 51 63 0 步驟一. 設定禁忌表列、期望水準與迭代次數

(41)

由於此範例為說明生成起始解與第一次搜尋之結果,故不設定禁忌表 列長度以及結束準則。 步驟二. 利用 T_Start 產生一起始解 (i) 決定批次與車輛途程之運送順序 首先本研究將各訂單與製造工廠間的運送時間矩陣轉換成權重運送 時間矩陣如表 3,利用在3.2.1節介紹的演算法 A 來決定訂單的運送批次 以及其運送所花費的時間,可得從製造工廠至各訂單之最小值為訂單 6 的 15.5,因此訂單 6 為 B1中第一個被運送之訂單。當車輛到達將貨品送達訂 單 6 之位置後,需選擇接下來被運送之訂單;訂單 6 可以前往的顧客位置 中,其權重運送時間值最小的為訂單 4 的 10.9,故訂單 4 為批次中第 2 個 運送點。再來檢視訂單 4 可達位置中最小值為訂單 3 的 12.4,為第 3 個運 送點。此時 B1訂單體積已達車輛容量上限 3,B1可運送訂單與訂單運送順 序為製造工廠-訂單 6-訂單 4-訂單 3。接著開始新的批次 B2自製造工廠出 發,求得其運送訂單與順序為製造工廠-訂單 5-訂單 1-訂單 2。求得 B1與 B2之運送順序後,計算其從開始發車到成品送達顧客手上所花費之時間如 表 4 所示。 表 3 權重運送時間矩陣 dij 製造工廠 訂單 1 訂單 2 訂單 3 訂單 4 訂單 5 訂單 6 製造工廠 0 44.2 69.6 30.7 16.6 30.0 15.5 訂單 1 0 0.0 46.0 37.9 34.3 74.4 29.5 訂單 2 0 37.1 0.0 23.8 19.4 67.8 19.0 訂單 3 0 35.5 27.6 0.0 7.7 42.2 16.0 訂單 4 0 51.9 36.4 12.4 0.0 56.7 8.2 訂單 5 0 43.2 48.8 26.2 21.7 0.0 10.2 訂單 6 0 59.0 47.2 34.1 10.9 35.0 0.0

(42)

表 4 批次運送順序以及其對應之訂單到達時間 B1 訂單 6 訂單 4 訂單 3 到達時間 96 147 183 B2 訂單 5 訂單 1 訂單 2 到達時間 54 188 303 (ii) 計算各批次分別在機台負荷量為 0 時之最大完工時間 在第一階段中,本研究求得起始解中批次的分配方式以及運送順序, 接著以批次方式決定其在機台上加工的先後順序,已知 B1的訂單在各機台 加工時間如表 5。針對各批次利用演算法 B 求解,先求得各批次分別在所 有機台負荷為 0 時的最大完工時間。訂單 4 於機台 1 加工時間為 16,為所 有機台加工時間中最小的值,故第 1 個加入機台排程。此時更新機台 1 的 負荷量為 16。訂單在考慮機台負荷量後的機台完工時間如表 6,選擇最小 值之訂單 6 於機台 2 加工,其完成時間為 30,接著再次更新機台負荷量。 表 3-7 顯示最後一張訂單 3 需在機台 1 加工,該批次在起始時間為 0 的最 大完工時間即為訂單 3 之 51。B1於機台上之排程如圖 3-3,B1中機台 1 的 加工順序依序為訂單 4-訂單 3,機台 2 加工訂單 6,B1在機台上的完工時 間為 51。 表 5 B1的各機台加工時間 訂單 3 訂單 4 訂單 6 pi1 35 16 50 pi2 40 48 30 表 6 訂單 4 加工後剩餘訂單於各機台加工完成時間 訂單 3 訂單 6 pi1 51 66 pi2 40 30 表 7 訂單 6 加工後剩餘訂單於各機台加工完成時間

(43)

訂單 3 pi1 51 pi2 70 圖 7 B1於機台上加工之甘特圖(假設開始時間為 0) 同理,利用演算法 B 求得 B2機台排程之結果如圖 7,B1中機台 1 的 加工順序依次訂單 4-訂單 3,機台 2 加工訂單 6,批次之最大完工時間為 39。 圖 8 B2機台排程之甘特圖 39 訂單 1 機台 1 機台 2 14 訂單 2 訂單 5 19 20 51 訂單 6 訂單 3 訂單 4 16 機台 1 機台 2 30 35

(44)

(iii) 決定批次在機台上加工的順序 由演算法 A 與 B,我們求得兩批次之最大完工時間以及運送時間,以 演算法 C 求得該批次權重最大完工時間如表 8,並將其依遞增的方式排 序。由於 H1=17.0 小於 H2=46.2,故批次的加工順序為 B1-B2,B1之發車時 間即為 51,重新將訂單依照批次之順序,最後將訂單排入機台中;如圖 9 所示,各機台加工流程中 B2的最大完工時間往前移動至 69。 表 8 權重最大完工時間 Hr B1 17.0 B2 46.2 圖 9 各機台加工流程圖 (iv) 一個起始解組合與計算目標函數值 由 (i)、(ii)以及(iii),本研究求得一起始解之組合如表 4 以及表 9 所示。 在此組合下其對應之訂單完成時間與加權後訂單總完成時間列於表 10, 4469 即為本研究起始解的目標函數值。 表 9 機台加工順序與完工時間表 批次1 51 訂單 2 訂單 5 49 69 65 訂單 6 訂單 1 訂單 3 訂單 4 16 機台 1 機台 2 30 35 14 19 20 批次 2

數據

表  4  批次運送順序以及其對應之訂單到達時間  B 1 訂單 6  訂單 4  訂單 3  到達時間  96  147  183  B 2 訂單 5  訂單 1  訂單 2  到達時間  54  188  303  (ii)   計算各批次分別在機台負荷量為 0 時之最大完工時間  在第一階段中,本研究求得起始解中批次的分配方式以及運送順序, 接著以批次方式決定其在機台上加工的先後順序,已知 B 1 的訂單在各機台 加工時間如表  5。針對各批次利用演算法 B 求解,先求得各批次分別在所 有機台負荷為
表  16 Tabu_PDP 測試結果  編號 測試問題  T_Start 解 Tabu_PDP 最佳解 改善率 運算時間(秒)  1  S10_2_5  45062  39573  12.18  5  2  S80_2_5  501518  454841  9.31  59  3  S80_2_20  1025328  946240  7.71  53  4  S80_4_5  327954  298524  8.97  85  5  S80_4_20  826090  734209  11.12  77

參考文獻

相關文件

(三) 又查前揭「輸入貨品未依規定標示產地或產地標示不 實處分原則」項次 4 明定,進口外國貨品(自行車或 工具機等屬我國加強管理之貨品除外) ,標示不實製造

(三) 又查前揭「輸入貨品未依規定標示產地或產地標示不 實處分原則」項次 4 明定,進口外國貨品(自行車或 工具機等屬我國加強管理之貨品除外) ,標示不實製造

(三) 又查前揭「輸入貨品未依規定標示產地或產地標示不 實處分原則」項次 4 明定,進口外國貨品(自行車或 工具機等屬我國加強管理之貨品除外) ,標示不實製造

課程利用雲端學習平台 OpenEdu 從最基礎開始說明 Python 的語 法與應用,配合 Quiz in Video

應用閉合電路原理解決生活問題 (常識) 應用設計循環進行設計及改良作品 (常識) 以小數加法及乘法計算成本 (數學).

對材料採購、施工及行銷階段的成敗影響很大,亦即從進料一直到成

此外,由文獻回顧(詳第二章)可知,實務的車輛配送路線排程可藉由車 輛路線問題(Vehicle Routing

針對上述問題及根據其他接駁配送方式,本研究提出「多重補貨點接駁車 輛路線問題 (Multi-Point Feeder Vehicle Routing Problem, MFVRP)」