• 沒有找到結果。

運用基因演算法求解同時收送貨之車輛路線問題之研究

N/A
N/A
Protected

Academic year: 2021

Share "運用基因演算法求解同時收送貨之車輛路線問題之研究"

Copied!
82
0
0

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

全文

(1)

運 輸 科 技 與 管 理 學 系 碩 士 班

碩 士 論 文

運用基因演算法求解

同時收送貨之車輛路線問題之研究

Using genetic algorithm to solve vehicle routing

problem with simultaneous pickups and deliveries

研 究 生:許珮慈

指導教授:王晉元

(2)

運用基因演算法求解同時收送貨之車輛路線問題之研究

Using genetic algorithm to solve vehicle routing problem with

simultaneous pickups and deliveries

研 究 生:許珮慈 Student:Pei-Tzu Hsu

指導教授: 王晉元 Advisor:Jin-Yuan Wang

國 立 交 通 大 學

運輸科技與管理學系

碩 士 論 文

A Thesis

Submitted to Department of Transportation Technology and Management College of Management

National Chiao Tung University in partial Fulfillment of the Requirements

for the Degree of Master

in

Transportation Technology and Management June 2012

Hsinchu, Taiwan, Republic of China

(3)

運用基因演算法求解

同時收送貨之車輛路線問題之研究

學生: 許珮慈 指 導 教 授 : 王 晉 元

國立交通大學運輸科技與管理學系碩士班

摘 要

同時收送貨車輛路線問題(vehicle routing problem with simultaneous pickups and deliveries, VRPSPD)假設顧客點同時具有收貨與送貨的需求,目標為在滿足 所有顧客點需求下最小化車輛總旅行距離,此問題限制較符合現實生活中之物流 配送之情境。 本研究採用基因演算法為整體架構設計一演算法求解VRPSPD;在交配機制 中提出有別於典型基因交配之設計:結合兩種不同之傳統交配法,配合隨機概念 交錯使用,以改善兩種傳統交配法各自之缺點;並提出一放寬車容量限制之機制 以尋找新的搜尋區域,確實進行廣度搜尋,避免侷限於區域最佳解。

本研究針對Salhi and Nagy所發表的14題例題以及Dethloff所發表的40題題 庫,共54題標竿範例進行測詴,實測結果證實本研究所提出之交配設計與放寬車 容量限制之機制皆能有效改善演算法之效用;本研究最佳解與文獻已知最佳解之 帄均誤差為3.50%。

(4)

Using genetic algorithm to solve vehicle routing problem

with simultaneous pickups and deliveries

Student: Pei-Tzu Hsu Advisor: Dr. Jin-Yuan Wang

Department of Transportation Technology and Management National Chiao Tung University

ABSTRACT

The Vehicle Routing Problems with Simultaneous Pickups and Deliveries (VRPSPD) is an extension of the classical Vehicle Routing Problems (VRP), where customers may receive and delivery goods simultaneously. The objective of this problem is to determine a set of routes with minimal cost to fulfill the entire customer needs.

We develop a genetic algorithm (GA) based heuristic algorithm for solving VRPSPD. The most significant characteristics of our algorithm are adopting two different types of crossover designs and the technique of relaxing vehicle capacity to escape from the local optimal.

We test our proposed algorithms on a set of 54 benchmark instances including 14 instances from Salhi and Nagy and 40 instances from Dethloff. The numerical experimental results show that our proposed algorithm is sound and promising. The average deviation from the known best solutions is merely 3.50%.

(5)

誌 謝

時光荏苒,兩年的研究所生活在此要畫下句點,學業與論文能順利完成要 感謝很多人,其中最要感謝恩師 王晉元老師,謝謝老師兩年來的細心指導,學 業上老師嚴謹的教導,生活上也時時刻刻關心鼓勵學生,老師的言行身教也深深 影響學生,師恩浩蕩,學生永記在心。 在論文口詴期間,感謝 韓復華 老師、 黃寬丞 老師細心閱讀並不吝指教與 斧正,提供許多寶貴的意見讓本論文更臻完整。論文審查期間,感謝 姚銘忠 老 師細心閱讀並給予諸多建議,在此也由衷謝謝三位老師。 另外要感謝朱佑旌學長、趙致傑學長以及游文松學長在程式上的指導、建議 與幫忙,一步一步自學程式的過程,若非有你們的教導一定是更加艱辛困難。也 要感謝在交大兩年來系上老師們的指導,系辦助理、學長姐與同學們的照顧。 再來我要感謝王 lab 的所有夥伴,在 lab 總是感受滿滿的溫馨與愛,每天都 很歡樂很多笑聲,總是覺得能進入王 lab 真的是太好太好了。謝謝玥心與小恕, 謝謝你們照顧比你們老的學姐。還要感謝十一樓的八人小組:聿汶、思淵、曉君、 峻明、昇陽、彥賓與俊昇,很幸運在碩士生涯中有你們陪伴,每天陪著我吵吵鬧 鬧開開心心,你們讓我的碩士生活多采多姿充滿笑聲,謝謝你們兩年來的照顧。 最後要感謝我的家人,謝謝爸爸媽媽、最親愛的外婆、蓉蓉、崴崴、冠郁和 妘妘,你們是我最心愛的人,是我最堅強的後盾與依靠,不論最燦爛或最低潮的 日子,你們都在身邊,與我分享喜悅更陪我面對一切艱辛,謝謝最親愛的你們。 謝謝所有愛我的人兒,有你們的關心鼓勵與愛才有今天的我,希望能與你們 一起分享畢業的喜悅,僅將此篇論文獻給你們,謝謝你們。 許珮慈 謹誌 2012 七月 于風城交大

(6)

運用基因演算法求解同時收送貨之車輛路線問題之研究

目錄

摘要... ii Abstract ... iii 誌謝... iv 目錄... v 圖目錄... vii 表目錄... viii 第一章 緒論... 1 1.1 研究動機與目的... 1 1.2 研究內容與範圍... 2 1.3 研究流程... 2 第二章 文獻回顧... 4 2.1 同時收送貨之車輛路線問題 (VRPSPD) ... 4 2.1.1 VRPSPD 問題定義 ... 4 2.1.2 VRPSPD 數學模式 ... 4 2.1.3 VRPSPD 之啟發式解法 ... 6 2.2 基因演算法回顧 ... 8 2.2.1 基因演算法回顧 ... 8 2.2.2 基因演算法應用於 VRP 問題回顧 ... 10 第三章 演算法設計... 14 3.1 起始解構建設計 ... 14 3.2 基因演算法設計 ... 15 3.2.1 編碼 ... 18 3.2.2 適合度值 ... 18 3.2.3 選擇 ... 18 3.2.4 交配 ... 19 3.2.5 尋找新的搜尋區域之機制 ... 21 3.2.6 路線改善 ... 22 3.2.7 終止條件 ... 22 第四章 VRPSPD 標竿題庫測詴 ... 23 4.1 標竿題庫說明 ... 23 4.2 參數校估 ... 23

(7)

4.3 測詴結果比較分析 ... 32 4.4 本研究測詴之最佳解 ... 37 第五章 結論與建議... 40 5.1 結論 ... 40 5.2 建議 ... 40 參考文獻... 41 附錄 本研究測詴範例各題最佳解之成本及路線詳細資料... 46

(8)

圖目錄

圖 1.1 研究流程圖... 3 圖 2.1 基因演算法流程圖... 8 圖 3.1 起始解構建示意圖(1) ... 14 圖 3.2 起始解構建示意圖(2) ... 15 圖 3.3 起始解構建示意圖(3) ... 15 圖 3.4 演算法流程圖... 17 圖 3.5 車輛路線示意圖... 18 圖 3.6 染色體示意圖... 18 圖 3.7 選擇示意圖... 18 圖 3.8 順序交配法示意圖(1) ... 19 圖 3.9 順序交配法示意圖(2) ... 19 圖 3.10 順序交配法示意圖(3))... 20

圖 3.11 Single parent crossover 示意圖(1) ... 20

圖 3.12 Single parent crossover 示意圖(2) ... 20

圖 3.13 Single parent crossover 示意圖(3) ... 21

圖 3.14 Swap mutation 示意圖 ... 21

圖 3.15 2-opt 之概念示意圖 ... 22

圖 4.1 初始族群變動趨勢圖... 26

圖 4.2 變率變動趨勢圖... 28

圖 4.3 Single parent crossover 遺傳至子代機率變動趨勢圖 ... 30

(9)

表目錄

表 1. 1 本研究之 VRPSPD 問題特性 ... 2 表 2. 1 基因演算法應用於 VRP 問題文獻整理 ... 13 表 4. 1 範例測詴參數設定表... 24 表 4. 2 初始族群數量變動趨勢表... 25 表 4. 3 突變率變動趨勢表... 27

表 4. 4 Single parent crossover 遺傳至子代機率變動趨勢表 ... 29

表 4. 5 選擇 Single parent crossover 或 Order crossover 之機率比變動趨勢表 ... 31

表 4. 6 三種 CX 測詴結果比較分析表 ... 33

表 4. 7 放寬車容量限制測詴比較分析表(一) ... 34

表 4. 8 放寬車容量限制測詴比較分析表(二) ... 35

表 4. 9 放寬車容量限制測詴比較分析表(三) ... 36

表 4. 10 Salhi & Nagy 題庫結果比較... 37

表 4. 11 Dethloff 題庫 SCA 題型結果比較 ... 38

(10)

第一章 緒論

1.1 研究動機與目的

近年來隨著全球化與資訊化時代的演進,造成商業競爭趨勢的改變,企 業與企業的競爭逐漸擴大至供應鏈與供應鏈間的競爭。企業組織要配合整個 供應鏈間的活動與流程,整合供應鏈間相關組織,達成降低成本、提高效率 與品質的目標。 而在供應鏈之中,「物流配送作業」為相當重要的一個環節,物流配送又

與車輛的利用與規劃密切相關,因此車輛路線問題(Vehicle Routing Problem, VRP)( Dantzig& Ramser [1])的應用就受到了注目;車輛路線問題泛指替一組 車輛規劃巡迴路徑的問題。VRP 問題在現實生活中,可應用於貨運公司、 宅配業者、垃圾車以及醫院救護車等等,這類問題在國內外已有相當廣泛的 研究。 然而傳統的 VRP 並沒有考慮實際應用上的諸多問題,例如收送貨時間窗 與司機人員上下班時間等限制,因此為了因應貨物運送的特性,將車輛的產 能更有效率的被利用,由此發展出各種增加了不同實務上限制的車輛路線問 題,同時收送貨之車輛路線問題(Vehicle Routing Problem with Simultaneous Pickups and Deliveries, VRPSPD)便是其中一種。

VRPSPD 假設顧客點同時具有收貨與送貨的需求,目標為在滿足所有顧 客點需求下最小化車輛總旅行距離,且不違背車容量限制。此問題可應用於 現實生活中之物流業者作業,例如玻璃瓶裝飲料配送:配送商店所需之瓶裝 飲料也同時進行玻璃空瓶回收。 VRPSPD 為 VRP 的延伸,已知屬於 NP-hard 問題[2],運算時間會隨著 問題規模增加而呈指數性的成長,不太可能在合理時間內求得最佳解;因此 近年來常使用啟發式解法(Heuristic Algorithms)解決此問題。 啟發式解法有以下兩種:傳統啟發式解法與巨集啟發式解法。傳統啟發 式解法在搜尋上容易陷入區域最佳解,而無法求得更好的近似解;近年來發 展出之巨集啟發式解法可克服此缺點,巨集啟發式解法以傳統啟發式解法為 架構,配合高階搜尋策略,以跳脫局部最佳解的侷限,例如模擬退火法 (Simulated annealing, SA) 、 禁 忌 搜 尋 法 (Tabu search, TS) 、 門 檻 接 受 法 (Threshold accepting, TA)、大洪水法(Great deluge algorithm, GDA)及基因演 算法(Genetic algorithm, GA)等。

(11)

用各種領域之研究上,例如工作排程、車輛路線問題、資料分群等;在國內 外有多篇文獻顯示基因演算法為相當好的巨集啟發式解法。 然而目前文獻中鮮少有以 GA 求解 VRPSPD 之案例,因此本研究嘗詴以 GA 求解 VRPSPD,期望在合理時間內得到品質高的近似解,更進一步應用 於實際物流,期能更節省物流成本,提升整體績效。

1.2 研究內容與範圍

本研究所要探討的研究範圍為針對單一場站、單一車種、多車輛、需求點同 時具有收貨量及送貨量且需求點已知,且不考慮車輛路線長度限制的 VRPSPD 問題。此問題特性整理如下表 1.1: 表 1.1 本研究之 VRPSPD 問題特性 項目 型態 模式目標 最小化總行駛路線成本 設施資源 單一場站 單一車種,多車輛,車輛數目無限制 車輛有容量限制 顧客需求 需求點已知且不變 需求不可分割 需求點同時具有收貨量及收貨量 節點服務 每個顧客點只被一輛車服務一次

1.3 研究流程

本研究之研究流程圖如圖 1.1 表示,茲將流程圖中各步驟詳細說明如下: 1. 問題界定: 由研究動機與目的針對 VRPSPD 之問題做完整之描述與範圍界定。 2. 相關文獻蒐集與回顧:

(12)

根據現況與相關文獻之蒐集與回顧,建構一能夠滿足本研究之同時收送貨 問題之數學模式,以描述此問題之問題特性與其限制條件。 4. 設計求解模式之演算法: 本研究以基因演算法為主要架構,設計一演算法求解本研究所欲求解問 題。 5. 範例測詴與分析: 撰寫程式求解測詴範例,並對其結果進行分析,評估演算法的品質績效。 6. 結論與建議: 根據本研究所得結果,整理出結論並提出後續研究建議,期能提供學術研 究與實務之參考。 問題界定 相關文獻蒐集與回顧 建立數學模式架構 設計求解模式之演算法 範例測詴與分析 結論與建議 圖 1.1 研究流程圖

(13)

第二章 文獻回顧

本章回顧 VRPSPD 之相關文獻與相關啟發式解法。2.1 節介紹同時收送貨之 車輛路線問題並回顧近年來求解 VRPSPD 問題之啟發式解法;2.2 節對本研究所 欲採用之基因演算法做一詳細介紹並回顧基因演算法於 VRP 相關問題上之應 用。

2.1 同時收送貨之車輛路線問題 (VRPSPD)

2.1.1 VRPSPD 問題定義 VRPSPD 問題在 1989 年由 Min[4]提出,是傳統 VRP 的變型,為常見的運輸 問題,如玻璃瓶裝飲料之空瓶回收、超商貨物箱取回等等。此問題定義如下:為 一組車隊從單一場站到一組已知需求的各個顧客點服務,車輛必頇從場站出發, 且最後必頇回到場站。而每個顧客點的需求可能為收貨、送貨或是同時有收送貨 需求,需求已知。每個顧客點只能被服務一次。車輛服務路線上任一顧客點之後 (滿足收送貨需求之後)之載量不可超出車容量限制,此問題之目的為求總旅行距 離成本最小的車路徑組合。 與傳統 VRP 最大的不同是顧客點並非單一收貨或單一送貨需求,而是同時 具有收貨及送貨的需求。VRPSPD 問題並非單純考慮總載貨量,若要在路線中新 增一個顧客點時,需同時考慮新增顧客的收/送貨量是否會使總收/送貨量超過車 容量;且在新增顧客的先後順序上,也需考慮車輛是否還有剩餘容量可以容納該 顧客點的需求。 2.1.2 VRPSPD 數學模式

以下數學模式參考 Montané & Galvão[5]提出之定義: 參數定義:

V = 顧客的集合

,其中 0 代表場站 n = 顧客數 (n = )

(14)

= 顧客 j 的送貨量 j = 1,…,n Q = 車容量限制 = 最大車輛數 變數定義: 1 (i, j) 0 k ij

x

  路線其他 被車輛k服務,i, j = 0,…,n, =車輛服務顧客 i 後經由節線(i,j)到顧客 j 之前負載的收貨量 =車輛服務顧客 i 後經由節線(i,j)到顧客 j 之前負載的送貨量 VRPSPD 之數學模式: Minimize k 0 0 1 n n k ij ij i j k

c x

  



(1) subject to 0 1 1, n k k ij i k x   



j = 1,…,n (2) 0 0 0, n n k k ij ji i i x x    

j = 0,…,n k = 0,…, (3) 0 0 , 0, n n ji ij j i i y y p j      

(4) 0 0 , 0, n n ij ji j i i z z d j      

(5) 1 , k k ij ij ij k y z Q x   

i, j = 0,…,n, (6) 0, ij y i, j = 0,…,n, (7) 0, ij z i, j = 0,…,n, (8)

(15)

在上述模式中,式(1)為目標函數,表示求解目標為最小化總行駛路線成本; 式(2)限制每個顧客點只被一輛車服務過一次;式(3)限制當一輛車到達顧客 j,則 離開該顧客點的仍然是這輛車,即顧客 j 只被同一輛車服務;式(4)與式(5)確定 每個顧客點之收送貨需求被滿足;式(6)限制在解中出現的節線上才能有收送貨 量的運送,且限制車輛在任何路段上的負載量都不得超過車容量限制。式(7)與 式(8)保證車輛負載量大於 0。 2.1.3 VRPSPD 之啟發式解法 Min[4]在 1989 年提出了 VRPSPD 問題,提出的範例是一個中心圖書館與二 十二個地方圖書館之間圖書借還流動的問題,文中先將顧客分群再分派車輛到各 顧客分群當中,然後使用 TSP (Travelling Salesman Problem) 問題的方法求解。 而後 Halse[6]在 1992 年也同樣使用先將顧客分群再排序的概念及 3-OPT 求解了 一個場站多輛車輛的 VRPSPD 問題。

Salhi & Nagy[7]於 1999 年提出了一種新的插入法求解 VRPSPD,其概念是 將兩個或兩個以上接近的顧客點形成群組,若群組插入路線中比個別插入路線的 旅行成本還低,就選擇以群組插入於路線中,反之則選擇個別顧客點插入路線, 結果顯示是以群組插入路線中的表現較好。而後 Salhi & Nagy[8]於 2005 年提出 了以此插入法為基礎的啟發式解法來求解相關的 VRP,並且將 CVRP 的題庫加 以變化建立了 14 題的 VRPSPD 題庫。 Dethloff[2]在 2001 由逆物流的角度來研究此問題,提出了 VRPSPD 的數學 模式,並首次使用插入法為基礎的啟發式解法來求解,此解法的概念是對車輛保 留較大的剩餘載量,因此車輛可服務之剩餘顧客的選擇就不會因為容量限制而減 少。

Tang Montané & Galvão[5]在 2002 年提出了第二種 VRPSPD 數學模式,此數 學模式中車輛數限制為一台。且學者提出兩種區域搜尋法,一是針對車輛路線間 交錯的改善,二是針對掃描法的改善。而後 Tang Montané & Galvão[9]再利用四 種不同的鄰域構建起始解並且使用禁制搜尋法求解;也首次提出了具有車輛最大 旅行距離限制的 VRPSPD 數學模式。

Zachariadis et al.[10]使用禁制搜尋法混合導引式區域搜尋法 (guided local search, GLS)來求解,對 Salhi 的標竿題庫 14 題突破了 12 題。而後 Zachariadis et al.[11]再以適應型記憶方法(adaptive memory methodology)來求解,突破了自己的 標竿 2 題。

(16)

化 (Particle Swarm Optimization, PSO)來求解,作者改良編碼後使用在 VRPSPD 上得到不錯的結果。Gajpal& Abad[14]使用蟻群系統演算法進行求解,並結合了 傳統啟發式解法進行改善,得到不錯的結果。 鄭雁嬬[44]採用節省法求解,再以粒子群演算法結合模擬退火法的降溫機制 進行改善,求解結果與最佳化軟體LINGO求解結果進行比較,發現提出之演算 法設計在總成本差異上有帄均2 % 的改善。 李盈鋒[45]針對同時收送貨的車輛路線問題加入尖峰時間的因素進行研 究,在軟時窗與車容量的限制下,討論尖峰時間塞車時是否考慮繞路,求解結果 也有不錯的表現。 趙致傑[46]以門檻接受法為架構,設計一套新的隨機變動鄰域尋優法進行求 解,其中使用1-0、1-1、2-opt、2-opt*與Or-opt五種鄰域搜尋法,對Salhi & Nagy 題庫、Tang Montané and Galvão題庫以及Dethloff題庫進行求解,結果良好,帄均 誤差為0.42%。

綜合以上,可以發現已有滿多學者使用各種不同之啟發式解法嘗詴求解 VRPSPD,但國外文獻中顯少以 GA 求解此問題之先例;然而基因演算法在求解 他種 VRP 上皆有良好表現,所以本研究嘗詴以 GA 求解 VRPSPD。

(17)

2.2 基因演算法回顧

2.2.1 基因演算法回顧

基因演算法(Genetic Algorithms)簡稱 GA,是 Holland[3]在 1975 年提出,其

理論基礎源自於達爾文進化論中「物競天擇」、「適者生存, 不適者淘汰」之觀 念。自然界中,生物為了生存,會在繁殖的過程中不斷競爭且進化,繁衍出更適 應生存環境的下一代;繁殖的過程是經由染色體進行交配改變基因的組成,讓每 一個個體產生差異性,再經由彼此競爭與自然環境的考驗讓適者生存、不適者淘 汰。 而基因演算法就是仿照此自然優生的原理,利用生物染色體基因架構的觀念 所發展出來的一種演算法;基因演算法選擇物種中優良之父代,透過交配改變基 因位置,希望產生更加優良之子代,而透過突變機制可增加染色體間之相異性, 增加族群的多樣性,避免侷限在少數個體上,如此重複演化,逐漸逼近最佳解。 其演化流程如圖 2.1。 隨機產生初族群 決定編碼方式 計算適合度值 選擇 交配 突變 重複動作直到滿足終止條件

(18)

以下分別說明基因演算法各步驟內容: 1. 編碼(Coding): 編碼是將問題中的變數轉換為字串,經過編碼後的解在 GA 中稱為染色體, 是由基因所組成。一般編碼方式有以下幾種:二元編碼、整數編碼、實數編碼、 文字編碼、符號編碼及資料結構等多種型態。一般最常用二元編碼,因為其它方 式的編碼型態也都可轉為二元編碼,但需考慮解的大小。 2. 隨機產生初族群(Initial Population): 初族群是指第一次演化之父代,通常是隨機產生的,初族群的數量就是演化 過程中的族群數量。族群的大小可依據問題之複雜程度決定。 3. 計算適合度值(Fitness Function): 適合度值是評估一個解優劣程度的指標;適合度值越大,則表示此染色體的 適應能力越好,越有可能生存下來;反之,適合度越小的染色體越容易在演化過 程中消失,無法生存。GA 中藉由比較每條染色體的適合度值決定染色體保留到 下一代的存活率,意即若是適合度值越高其越有可能將基因遺傳至子代。 4. 選擇(Selection): 選擇是指在父代中選擇適合度值佳的染色體進行交配,是其能將優良的基因 遺傳至子代,選擇的依據就是適合度值,所以適合度值高的染色體有較大的機率 被選擇進行交配。 一般常用的選擇機制有以下兩種:

A. 輪盤法(Roulette Wheel Selection):

輪盤法是 1989 年由 Goldberg 所提出,作法是先計算族群中各個體之適 合度值,並將其予以加總,並視各個體占總值之比例劃分輪盤面積大小,之 後於輪盤上隨機產生一點,該點落入何者面積範圍內即被選中。 B. 錦標賽法(Tournament Selection): 錦標賽法是在父代族群中隨機選取兩個或多個染色體,比較其適合度 值,適合度值較高者將被選擇,所以適合度值高者越容易被選中。 5. 交配(Crossover): 交配是指兩組染色體間進行基因交換的動作之後產生兩組新的染色體。交配 是為了能得到優良的解,一般常用的交配方式有以下三種: A. 單點交配(One-Point Crossover):於候選交配父代之染色體上隨機決 定一個斷點,將染色體從此斷點切開分成兩部份,並將兩條染色體切開的 部份做基因互換,重新組合成兩條新的染色體。 B. 雙點交配(Two-Point Crossover):於候選交配父代之染色體上隨機決 定兩個斷點,將染色體切開分成三部份,進行基因互換,重新組合成兩條 新的染色體。

(19)

C. 均勻交配(Uniform Crossover):首先隨機產生一個長度相同二進位字 串的子染色體,而子染色體中的位元決定隨機產生的指標,當位元值為 1 時,則進行父代基因位置上的互換,反之若位元值為 0 時,則不進行互換。 6. 突變(Mutation): 演化過程中,染色體不斷地選擇與交配的過程當中,有時可能侷限在區 域最佳解當中,此時就需要突變來跳脫區域最佳解,突變可使染色體間相異 性提高,增加族群的多樣性,避免過早收斂於區域最佳解的情形。 7. 重複動作直到滿足終止條件(Termination): 終止條件為停止演化之機制,一般而言有以下四種: (1) 演化已達最大世代數或指定代數時。 (2) 適合度值在演化過程已無法有效改進時。 (3) 適合度值已達到預設目標。 (4) 達到設定的運算時間時。 若達到以上終止條件,則輸出目前世代結果,否則將會持續進行選擇、交配、 突變等程序。 2.2.2 基因演算法應用於 VRP 問題回顧 自 1975 年 John Holland[3]提出基因演算法之後,許多學者開始以基因演算 法求解各種組合最佳化及排序問題;車輛路線問題亦是其中一種,車輛路線問題 在實務上的複雜性會因為顧客點的增加而劇增,傳統的求解方法在求解此類問題 時無法在合理時間內得到最佳解,故許多學者提出以基因演算法求解車輛路線問 題,並且驗證其有相當良好的求解績效。以基因演算法求解車輛路線問題的研究 有以下:

Goldberg & Lingle[15]首次使用基因演算法求解 TSP 問題,提出以交換訂單 為基礎的 Partially Matched Crossover (PMX)交配法及 Remove-and-reinsert(RAR) 突變機制的基因演算法,得到不錯的結果。 Thangiah[16]在 1991 年使用基因演算法求解具時窗限制的車輛路線問題,提 出了先分群再定路線的求解概念,而後又於 1995 年提出混合基因演算法求解具 時窗限制的車輛路線問題[17],結果發現在顧客有群集現象時,有很好的演算績 效。同年 Thangiah [18]也提出以一種局部搜尋改良基因演算法來求解具時窗限制 的車輛路線問題,發現局部搜尋亦能有效改善基因演算法的求解績效。

(20)

Joe、Blanton 及 Roger [20]於 1993 以基因演算法求解具時窗限制的車輛路線 問題,提出新的交配運算子 Merge Cross(MX)來進行求解,結果證明 MX 在各種 不同問題規模的範例中,與其它傳統交配設計比較,都有不錯求解品質。 Schmitt[21]1994 提出先定路線再分群的基因演算法求解 TSP 問題與具時窗 限制的車輛路線問題。1995 年[22]提出使用 Order Crossover(OX)的交配運算子及 前後對調的突變機制來改良基因演算法的績效,其突變機制主要概念是 2-opt 局 部搜尋,結果顯示基因演算法的求解績效比節約演算法來得良好。

Poon & Carter[23] 1995 年提出了各種不同交配法應用在順序問題方面的比 較研究。文中比較各種常見的交配運算子在求解 TSP 問題時的演算績效,結論 是基因演算法求解 TSP 問題之績效相當良好。

Uchimura & Sakaguchi [24] 1995 以基因演算法求解車輛路線問題, 提出了 一種新的交配法:以鄰近關係(adjacency relation)為基礎的交配法,研究中比較此 交配法與傳統的貪心法(Greedy methed)及 Partially Matched Crossover(PMX),結 果證明其所提出的交配法演算績效較傳統兩種交配法良好,運算時間上也較少。 Van Breedam[25]於 1996 提出了比較基因演算法與模擬退火法求解車輛路線 問題績效之研究,在基因演算法的部份使用了四種不同的交配方式來進行基求解 測詴,而在模擬退火法的部份也使用了不同的變數進行求解,結果證明基因演算 法的求解品質相較模擬退火法來得佳。 Filipe[26] 1998 年以基因演算法求解車輛路線問題,其交配法使用 Whitley[27] 於 1989 年所提出的 Edge Recombination Operator。研究測詴了 14 個範例題,皆 得到相當好的測詴結果。

Homberger & Gehring [28]於 1999 提出了一種混合的演算法求解具時窗限 制的車輛路線問題,此演算法混合了基因演算法與塔布搜尋法,兩階段搜尋改良 演算績效,經過實證的運算結果,發現此演算法在求解具時窗限制的車輛路線問 題時,比單獨使用基因演算法或單獨使用塔布搜尋法之求解績效都來得好。而後 又於 2001 年[29] 使用三種帄行的演算機制,改良前述所提混合演算法之演算績 效,亦得到不錯的求解品質。 Hwang 學者[30]2002 年使用基因演算法求解多場站車輛路線問題,將原本求 解 TSP 之基因演算法之設計應用於 VRP,主要概念是將交配法改良,使用二層 式交配法,求解結果也得到不錯的演算績效。 Mester[31]使用基因演算法求解具時窗限制的車輛路線問題,其提出了一種 新的基因突變機制:Multiparametric mutation,改良其演算法績效,得到良好的 求解品質。而 Berger[32] 也使用改良的基因突變機制求解具時窗限制的車輛路 線問題,結果亦良好。

(21)

Baker & Ayechew[33]使用基因演算法求解車輛路線問題,其使用最近鄰點法 與掃描法建構起始解,進行數值測詴後,得到結果良好,顯示基因演算法能在短 時間內求解出品質良好的近似解。 以上為應用基因演算法求解 VRP 相關問題之研究,可看出基因演算法在求 解 VRP 相關問題皆有不錯之成效,但國外文獻中顯少以 GA 求解本研究之題目: VRPSPD 之先例,所以本研究嘗詴以 GA 求解 VRPSPD。 本研究將近幾年基因演算法應用於 VRP 相關問題之文獻整理如下表 2.1:

(22)

表 2.1 基因演算法應用於 VRP 問題文獻整理 資料來源:本研究整理 年代 作者 求解問題 重要結果 1985 Goldberg & Lingle TSP 提出 Remove-and-reinsert(RAR) 突變機制 1991 Thangiah VRPTW 提出先分群再定路線概念 1993 Blanton & Wainwright VRPTW 提出 Davis 編碼

1993 Blanton VRPTW 提出交配運算子 Merge Cross(MX)

1994 Schmitt TSP 與 VRPTW 提出先定路線再分群概念 1995 Thangiah VRPTW 發現混合基因演算法在 顧客有群集現象時有良好績效 1995 Thangiah VRPTW 發現局部搜尋能有效改善 基因演算法的求解績效 1995 Schmitt VRPTW 提出前後對調的突變機制

1995 Poon & Carter TSP 提出了各種不同交配法應用

在順序問題方面的比較研究 1995 Uchimura & Sakaguchi VRP 提出以鄰近關係(adjacency relation) 為基礎的交配法 1996 Van Breedam VRP 比較基因演算法與模擬退火法 求解車輛路線問題之績效

1998 Filipe VRP 提出 Edge Recombination Operator

1999 Homberger & Gehring VRPTW 演算法混合基因演算法與塔布搜尋 法,兩階段搜尋改良演算績效 2001 Homberger & Gehring VRPTW 使用三種帄行的演算機制 2002 Hwang MDVRP 提出二層式交配法

2002 Mester VRPTW 提出 Multiparametric mutation

(23)

第三章 演算法設計

本研究以基因演算法為架構設計一演算法求解 VRPSPD ,希望能夠在有效 的時間內求出較為精確的近似最佳解。3.1 節介紹本研究所採用之起始解構建方 法;3.2 節介紹本研究所採用之基因演算法設計。

3.1 起始解構建設計

本研究使用最近鄰點法建構起始解,起始解構建之步驟如下: 步驟 1:在所有顧客點中隨機選擇一點當作起始點。 步驟 2:尋找離起始點最近的顧客點,檢查車容量限制,若滿足所有限制條件, 則將此顧客點排入路線。再繼續尋找離此顧客點最近的下一點。重覆執 行此動作直到無法滿足車容量限制,則路線結束,沿最短路徑回到場站。 步驟 3:回到步驟 1,即再隨機選擇一尚未被服務之顧客點當作起始點,進行路 線之建立,直到所有顧客點都排入路線為止。 舉一簡例如下,如圖 3.1 所示,數字 0 代表場站,數字 1 到數字 9 代表九個 顧客點,隨機選擇顧客點 4 做為起始點,尋找離起始點(顧客點 4)最近的顧客點(顧 客點 3),檢查將此顧客點納入路線是否滿足車容量限制,若滿足則排入路線,再 繼續尋找離顧客點 3 最近的的顧客點(顧客點 2),重覆此動作直到無法滿足車容 量限制,則路線結束,車輛回到場站,此路線如圖 3.2 所示。再隨機選擇一點當 作起始點,重覆以上動作建構所有路線,如圖 3.3 所示。 圖 3.1 起始解構建示意圖(1)

(24)

圖 3.2 起始解構建示意圖(2) 圖 3.3 起始解構建示意圖(3)

3.2 基因演算法設計

本研究使用基因演算法為基本的求解架構,而在交配法設計上不同於以往傳 統之交配法,本研究結合兩種不同之交配法,再配合隨機概念,以機率做為演算 法則的依據交錯使用;另外提出一尋找新的搜尋區域機制:放寬車容量限制,藉 由放寬車容量限制接受不可行解來增加新的搜尋區域,期望跳脫目前求解空間避 免得到區域最佳解。 圖 3.4 為本研究之演算法流程圖,如圖中所示,演算法開始後,首先建構起 始解,本研究是採用最近鄰點法構建起始解,詳細步驟可參照 3.1 節;接下來計 算目前演化世代數 T 以及每條父代的適合度值,然後開始進入演化的步驟,只 要不滿足終止條件,就會持續地進行演化,而本研究的停止條件與世代數及適合 度值相關,詳細步驟可參照 3.2.7 小節。

(25)

接下來進入遺傳運算元的部份,傳統基因演算法的遺傳運算元就是選擇與交 配,而本研究演算法在此步驟與傳統交配法有所不同,有一特殊設計:每次進行 交配前,會隨機產生一介於 0 到 1 間之隨機亂數 α,若 α< Y,則選擇 Order crossover,否則選擇 Single parent crossover,選定交配法之後再進行其選擇與交 配,詳細步驟可參照 3.2.4 節。 之後將決定是否進行突變,本研究突變設計為交配過後會產生一介於 0 到 1 間之隨機亂數 R,若 R 值小於突變率,則進行突變,詳細步驟可參照 3.2.5 節。 接下來將對子代中每條路線進行 2-opt,對子代進行路線改善,詳細步驟可 參照 3.2.6 節。經過此一步驟後得到之子代,才是本演算法中定義之新的族群, 也就是下一世代之父代。 而本研究除了突變外另一尋找新的搜尋區域機制:放寬車容量限制,這個部 份是每經過一百世代,也就是世代數 T/100 餘數等於 0 時,就執行此機制,且在 放寬車容量限制 1.2 倍之後連續三十個世代(t)皆維持放寬之車容量限制,確保其 能真正跳離區域最佳解,詳細步驟可參照 3.2.5 節。 以上就是本研究演算法流程之大概步驟,接下來就演算法設計之各步驟詳細 介紹本研究之基因演算法設計。

(26)

開始 起始解建構 世代數(T=1) 計算適合度值 是否滿足終止條件 T/100之餘數是否為0 選擇交配法 產生一介於0到1間之 隨機亂數α α < Y 選擇 交配 路線改善 2-opt 結束 t=1 放寬車容量限制1.2倍 t=30 回復原本車容量限制 t=0 產生一介於0到1間 之隨機亂數R R < S Order Crossover 產生新族群 世代數(T=T+1) t=0 t=t+1 突變 選擇 交配 Single Parent Crossover 是 是 是 是 否 否 是 否 否 否 是 T:世代數 t: 放寬車容量之世代數 S:突變率 Y:選擇Order Crossover之機率 否 t=0 否 是 圖 3.4 演算法流程圖

(27)

3.2.1 編碼 本研究採用整數編碼,一基因代表一顧客點,一條染色體代表一組解。基因 值直接為顧客點編號,基因位置可表達車輛服務順序,而數字 0 代表場站。舉例 來說,現有 10 個顧客點,編號分別為 1 到 10。下圖 3.5 為車輛路線示意圖,而 此路線若以本研究編碼表示,則如圖 3.6 所示,此代表一條染色體也就是一組解, 其意義為第一輛車輛由場站出發,依序服務顧客 1、顧客 10、顧客 9、顧客 8, 然後回到場站;同理可得第二輛車及第三輛車服務之顧客點及其順序。 圖 3.5 車輛路線示意圖 圖 3.6 染色體示意圖 3.2.2 適合度值 本研究直接以旅行距離做為適合度值。一條染色體之適合度值即為其總旅行 距離。所以適合度值越小越好。以上圖 3.6 染色體為例,此染色體的適合度值為 所有路線節線距離之總和。 3.2.3 選擇 使用錦標賽法。隨機選擇二條染色體,從中挑選適合度值較好之一條染色體 進行交配。 0 1 10 9 8 0 5 6 7 0 4 3 2 0

(28)

3.2.4 交配

本研究之交配機制不同於以往傳統基因演算法之交配法,本研究之交配機制

設計結合了兩種不同之交配法,每次進行交配前,會隨機選擇採用一種交配法, 而後再進行交配。

兩種交配法分別是:

1. 順序交配法(Order crossover),順序交配法是比較傳統的交配法則,是 Oliver et al.[34]於 1987 年提出,專門為各種排序之問題所設計,其原則就是盡量 保留原始路線上的順序。

2. Single parent crossover,此交配法是 Shuguang, Weilai & Huiming[35]所提出; 它有別於典型的 GA 交配,它並不需要兩條父代來進行交配,此交配法只需 單一父代,即可產生子代,概念源自於二元分裂的無性生殖。此交配法的好 處是可增加解的多樣性,且由文獻中可得知經由此交配過程得到之子代不容 易產生路線交錯,可有效率降低旅行成本[35]。 順序交配法著重保存父代上染色體各基因的相對順序,優點是可以保留一整 段適合度值好的路線,也可以設計機制使得子代不會產生不可行解,但有其缺 點:過早收斂。而 Single parent crossover 可增加解的多樣性,進行較廣度的搜尋,

可以彌補順序交配法易過早收斂之缺點;但 Single parent crossover收斂速度較

慢,相對需要花費較長之運算時間,所以本研究設計配合順序交配法兩者隨機選 擇,彌補相互之缺點,增加演算法之效用。 所以本研究選擇使用以上兩種交配法,設計兩種交配法配合隨機概念交錯使 用,以下分別就兩種交配法介紹其步驟: 1. 順序交配法(Order crossover) 步驟 1:經由選擇得到欲進行交配之父代一與父代二,如圖 3.8。於父代一中隨 機產生一斷點將染色體一分為二,並保留其前半段給子代直接繼承,如圖 3.9。 父代一 0 1 10 9 8 0 5 6 7 0 4 3 2 0 父代二 0 6 7 9 0 4 2 8 1 0 3 5 10 0 圖 3.8 順序交配法示意圖(1) 父代一 0 1 10 9 8 0 5 6 7 0 4 3 2 0 子代 0 1 10 9 8 0 5 圖 3.9 順序交配法示意圖(2)

(29)

步驟 2:將父代二中未出現於子代之基因依序插入子代,每插入一點即檢查一次 車容量,若違反車容量限制,則車輛回到場站,即插入 0 之後,再繼續依父代二 之順序插入顧客點,直到所有顧客點都排入路線為止,如圖 3.10 所示,依父代 二之順序檢查顧客點,顧客點 6 未出現於子代中,檢查車容量限制發現滿足則插 入路線;顧客點 7 亦同;顧客點 9 在子代中已出現過,則予以刪除,再檢查下一 點;以此類推,直至檢查完所有顧客點。 父代二 0 6 7 9 0 4 2 8 1 0 3 5 10 0 子代 0 1 10 9 8 0 5 6 7 0 4 2 3 0 圖 3.10 順序交配法示意圖(3)

2. Single parent crossover

步驟 1:經由選擇得到一父代。舉一簡例如圖 3.11。

父代 0 1 10 9 8 0 5 6 7 0 4 3 2 0

車輛一 車輛二 車輛三 圖 3.11 Single parent crossover 示意圖(1)

步驟 2:此父代中每一輛車之行駛路線有機率 P %直接遺傳至子代。如圖 3.12 所示。 車輛一 0 1 10 9 8 0 車輛二 0 5 6 7 0 車輛三 0 4 3 2 0 子代 0 1 10 9 8 0 4 3 2 0

圖 3.12 Single parent crossover 示意圖(2)

步驟 3:對未遺傳至子代之顧客點尋找最適合之位置插入路線。對所有顧客點檢 查其是否遺傳至子代中,若否,則進行插入;計算其插入子代中各路線中各點之 遺傳 不遺傳 遺傳 機率 P %

(30)

車輛二 0 5 6 7 0 進行插入

子代 0 1 10 9 8 0 4 3 2 0 0

圖 3.13 Single parent crossover 示意圖(3)

3.2.5 尋找新的搜尋區域之機制 演化過程中,染色體不斷地進行選擇與交配,有時可能侷限在區域最佳解當 中,為了避免發生過早收斂於區域最佳解的情形,本研究設計了兩種機制尋找新 的搜尋區域,以提高求得全域最佳解之機率:突變與放寬車容量限制。 1. 突變 本研究所採用之突變機制是 Goldberg[36]所提出六種排序問題基因突變法 中之位置互換突變(Swap mutation),做法是隨機選擇染色體中的兩個基因位 置互換。如圖 3.14 所示。 突變前 0 1 10

9

8 0 5 6

7

0 4 3 2 0 突變後 0 1 10

7

8 0 5 6

9

0 4 3 2 0 圖 3.14 Swap mutation 示意圖 本研究之突變設計為在每次交配結束後,產生一介於 0 到 1 間之隨機亂 數 R,若 R 值小於突變率,則進行突變,且不一定為兩基因突變,本研究設 計突變的基因數 n 可能為 2、4、6 或 8,並加上一車容量限制式,突變時隨 機選擇 n 個基因進行兩兩位置互換,亦同時計算其是否會違背車容量限制, 若是違反車容量限制,則 n 個基因再重新進行不同兩兩位置互換之組合,若 皆違反車容量限制則再重新隨機選擇 n 基因進行突變,以此限制確保突變過 後仍為可行解。 2. 放寬車容量限制 本研究另一尋找新的搜尋區域機制為放寬車容量限制,藉由放寬車容量限 制接受不可行解來增加新的搜尋區域,期望跳脫目前求解空間避免得到區域 最佳解,增加求得全域最佳解之機率。 由於基因演算法的選擇機制會選擇較好的父代進行交配,所以不可行解容 易在經過一兩個世代就跳回可行解區域,為了避免此情況,本研究強迫演化 在放寬車容量限制之後連續三十個世代皆維持放寬之車容量限制,確保其能

(31)

真正跳離區域最佳解。 設計機制為每經過一百世代就放寬車容量限制之 1.2 倍後繼續演化三十個 世代,再重新回到原來的車容量限制。 3.2.6 路線改善 對於交配後得到之子代,在不違反限制式的條件下對每一條車輛路線進行 2-opt,透過路線內交換,對所得子代進行路線改善。 2-opt 基本的概念為將同一路線內不相鄰的兩條節線( j, j+1)與( k, k + 1)斷 開,然後連接( j, k)與( j + 1, k + 1)兩節線,將有可能改善其解。如圖 3.15 所示。 圖 3.15 2-opt 之概念示意圖 3.2.7 終止條件 本研究之終止條件為適合度值在演化過程中皆無法有效改進。判斷無法有效 改進之條件為此世代最佳適合度值與當前最佳適合度值兩者之差,若當前最佳適 合度值之改善幅度連續 200 世代皆小於 0.01,即將當前最佳適合度值輸出為結果 並終止演算。

(32)

第四章 VRPSPD 標竿題庫測詴

4.1 標竿題庫說明

本研究為了解演算法之效用,針對 VRPSPD 標竿題庫 Salhi & Nagy[8]的 14 題題庫以及 Dethloff [2]的 40 題題庫進行測詴。

Salhi & Nagy[8]的 14 題題庫是由 Christofides et al. (1979)的標竿例題延伸, 此題庫的顧客點數量範圍是從 50 到 199 個,總共 14 題範例,分為 X 題型與 Y 題型。X 題型是依據原例題每個顧客點 a 的座標(xa , ya)計算每個顧客點的需求比 例 ra = min((xa / ya) , (ya / xa)),而範例中顧客點的送貨需求是 ra*原例題顧客點需 求,收貨需求則是(1-ra)* 原例題顧客點需求;Y 題型則是將 X 題型中收貨需求 與送貨需求互換。 Dethloff [2]題庫包含了 40 題 50 個顧客點的範例,分為兩種題型,其中 20 題為 SCA 題型,另外 20 題為 CON 題型;SCA 題型顧客點產生的方法是在邊長 100 的正方形區域中採均勻分配隨機產生 50 個顧客點,而 CON 題型中有一半的 顧客點產生方式與 SCA 題型相同,另一半的顧客點是在[100/3,200/3]區間中採均 勻分配中隨機產生,這樣的產生方式使顧客點較為集中,所以 CON 題型代表的 是較為擁擠的都市結構。而顧客點的送貨需求是由[0,100]之間的均勻分配隨機 產,收貨需求則是送貨需求*(0.5+r),r 為[0,1]間均勻分配中隨機數。範例中車輛 的最大車容量為所有顧客點送貨需求總和與最小車輛數之比值,最小車輛數可能 為 3 或 8。

4.2 參數校估

參數部份主要測詴演算法中隨機概念之各項機率值對求解品值之影響。本節 透過參數校估了解演算法中各項參數對於求解品質之影響,以決定最適的演算法 參數設定。 本研究針對以下四項參數: (1) 初始族群數量 (2) 突變率

(3) Single parent crossover 遺傳至子代機率

(4) 選擇 Single parent crossover 或 Order crossover 之機率比 進行參數校估。

本節以 Dethloff 題庫 SCA 題型 20 題範例,針對上述四項項目分別進行測詴。 測詴數據如以下:

(33)

(1) 初始族群數量:15、30、50、100、300 (2) 突變率:0.1%、0.5%、1%、2%、5%

(3) Single parent crossover 遺傳至子代機率:30%、50%、80%

(4) 選擇 single parent crossover 或 order crossover 之機率比:0.3/0.7、0.4/0.6、 0.5/0.5、0.6/0.4、0.7/0.3。

而在進行參數校估時,除了當前進行校估之參數,其餘參數本研究依據表 4.1 進行其餘各項參數之設定,初始族群數量之設定是參照 Alvarenga[44]研究之 設定;突變率設定是參照 Baker[15]研究之設定;而 Single parent crossover 中遺 傳至子代機率 P 則是參照提出此種交配法之文獻[16]原本設定。

表 4.1 範例測詴參數設定表

初始族群數量 30

突變率 S 1%

Single parent crossover

遺傳至子代機率 P 50% 停止條件 連續 200 世代改善幅度皆小於 0.01 放寬車容量之世代數 t 30 放寬車容量限制倍數 1.2 選擇 Order Crossover 之機率 Y 50% 以下將對於各參數測詴結果分別做詳細說明。 (1) 初始族群數量 初始族群數量部份測詴數據為 15、30、50、100 及 300,本研究針對 Dethloff 題庫 SCA 題型 20 題範例進行測詴,每題範例執行十次演算法,並從中取最 佳值進行比較分析,並計算 SCA3 題型 10 題之帄均值與 SCA8 題型 10 題帄 均值,由這兩個帄均值繪圖觀察其變動趨勢,如圖 4.2。 由表 4.2 和圖 4.2 可看出初始族群數量為 30 時,最佳解帄均成本最低;初 始族群數量過多或過少皆會造成最佳解路線成本的上升。初始族群數量過 多,各父代被選擇之機率皆降低,在演化過程中進行改善幅度就有限;而若 初始族群數量過少,可被選擇之父代與可考慮之路徑組合過少,就無法進行 有效的廣度搜尋。

(34)

表 4.2 初始族群數量變動趨勢表 題號 初始族群數量 15 30 50 100 300 最佳解成本 SCA3-0 652.44 648.80 646.26 655.89 651.32 SCA3-1 716.16 709.53 722.86 741.63 765.54 SCA3-2 698.84 673.61 711.68 709.21 724.54 SCA3-3 714.02 689.35 705.12 728.57 733.61 SCA3-4 714.44 690.50 719.16 713.37 734.42 SCA3-5 683.28 669.65 689.66 697.32 724.54 SCA3-6 705.36 682.15 705.40 711.74 717.46 SCA3-7 719.81 666.14 718.88 704.03 692.11 SCA3-8 756.08 737.63 756.08 749.96 741.65 SCA3-9 715.15 686.40 700.18 705.70 716.65 帄均值 707.55 685.37 707.52 711.74 720.18 帄均運算時間 6.6 秒 7.3 秒 7.4 秒 8.8 秒 12.1 秒 SCA8-0 1022.68 1003.53 1014.52 1026.77 1036.64 SCA8-1 1123.34 1069.74 1187.42 1179.56 1122.66 SCA8-2 1118.58 1082.27 1087.44 1089.52 1116.23 SCA8-3 1042.77 1023.66 1031.29 1033.64 1059.22 SCA8-4 1109.73 1089.68 1097.85 1100.62 1118.97 SCA8-5 1114.24 1070.11 1087.55 1091.31 1115.06 SCA8-6 1039.30 1012.42 1026.55 1019.33 1026.97 SCA8-7 1129.36 1103.14 1116.55 1132.56 1159.66 SCA8-8 1128.18 1097.09 1112.53 1117.90 1120.60 SCA8-9 1106.54 1105.78 1102.54 1108.96 1118.23 帄均值 1093.47 1065.74 1086.42 1090.01 1099.42 帄均運算時間 6.4 秒 7.9 秒 7.8 秒 9.2 秒 13.6 秒

(35)

圖 4.1 初始族群變動趨勢圖 (2) 突變率 突變率部份測詴數據為 0.1%、0.5%、1%、2%及 5%,本研究針對 Dethloff 題庫 SCA 題型 20 題範例進行測詴,每題範例執行十次演算法,並從中取最 佳值進行比較分析,並計算 SCA3 題型 10 題之帄均值與 SCA8 題型 10 題帄 均值,由這兩個帄均值繪圖觀察其變動趨勢,如圖 4.3。 由表 4.3 和圖 4.3 可觀察到,當突變率為 1%時的最佳解帄均成本最低,突 變率過大或過小皆會造成最佳解路線成本之上升。若突變率過高,突變發生 次數過高,演化過程不容易在同一區域進行深度搜尋;然而若突變率過低, 突變次數過低,就無法進行有效的廣度搜尋。

(36)

表 4.3 突變率變動趨勢表 題號 突變率 0.1 % 0.5 % 1 % 2 % 5 % 最佳解成本 SCA3-0 683.40 674.10 648.80 676.50 684.08 SCA3-1 739.99 723.97 709.53 729.11 746.46 SCA3-2 755.71 706.39 673.61 714.44 742.15 SCA3-3 725.01 717.87 689.35 721.54 737.95 SCA3-4 721.69 699.59 690.50 703.77 729.04 SCA3-5 725.79 699.63 669.65 676.84 729.10 SCA3-6 721.16 695.40 682.15 690.83 714.02 SCA3-7 729.38 693.57 666.14 698.32 724.76 SCA3-8 772.02 759.03 737.63 748.17 760.13 SCA3-9 731.16 704.87 686.40 691.63 740.33 帄均值 730.53 707.44 685.37 705.11 730.80 帄均運算時間 6.9 秒 7.2 秒 7.3 秒 8.9 秒 11.0 秒 SCA8-0 1031.29 1009.21 1003.53 1016.85 1044.75 SCA8-1 1125.96 1088.92 1069.74 1117.89 1121.14 SCA8-2 1116.69 1095.79 1082.27 1087.64 1111.25 SCA8-3 1060.09 1058.38 1023.66 1024.51 1059.29 SCA8-4 1119.87 1099.46 1089.68 1097.65 1123.54 SCA8-5 1112.69 1091.83 1070.11 1088.42 1115.01 SCA8-6 1064.47 1039.60 1012.42 1038.18 1061.87 SCA8-7 1141.60 1116.52 1103.14 1126.64 1141.06 SCA8-8 1134.83 1102.26 1097.09 1099.65 1121.94 SCA8-9 1116.88 1106.92 1105.78 1108.65 1119.38 帄均值 1102.43 1080.88 1065.74 1080.60 1101.92 帄均運算時間 6.3 秒 7.9 秒 7.9 秒 10.3 秒 12.6 秒

(37)

圖 4.2 突變率變動趨勢圖

(3) Single parent crossover 遺傳至子代機率

Single parent crossover 遺傳至子代機率部份測詴數據為 30%、50%及 80%,本研究針對 Dethloff 題庫 SCA 題型 20 題範例進行測詴,每題範例執 行十次演算法,並從中取最佳值進行比較分析,並計算 SCA3 題型 10 題之帄 均值與 SCA8 題型 10 題帄均值,由這兩個帄均值繪圖觀察其變動趨勢,如圖 4.4。

由表 4.4 和圖 4.4 可觀察到,Single parent crossover 遺傳至子代機率為 50% 時,最佳解帄均成本最低,此機率上升或下降皆會造成最佳解成本之增加。 Single parent crossover 遺傳至子代機率為每輛車直接遺傳至子代之機率,若 是過高,子代與父代之相同性也過高,解無法進行有效之改善;而此機率若 是過低,子代與父代之相異性過高,無法在同一區域進行深度搜尋。

(38)

表 4.4 Single parent crossover 遺傳至子代機率變動趨勢表

題號

Single parent crossover 遺傳至子代機率

30% 50% 80% 最佳解成本 SCA3-0 659.45 648.80 668.09 SCA3-1 731.89 709.53 727.96 SCA3-2 696.00 673.61 722.48 SCA3-3 720.95 689.35 732.15 SCA3-4 718.80 690.50 724.75 SCA3-5 688.92 669.65 716.55 SCA3-6 683.26 682.15 716.77 SCA3-7 678.99 666.14 698.32 SCA3-8 730.21 737.63 759.08 SCA3-9 699.39 686.40 729.30 帄均值 700.78 685.37 719.54 帄均運算時間 7.6 秒 7.3 秒 7.5 秒 SCA8-0 1033.87 1003.53 1026.51 SCA8-1 1089.46 1069.74 1109.15 SCA8-2 1103.39 1082.27 1096.36 SCA8-3 1024.56 1023.66 1031.52 SCA8-4 1102.36 1089.68 1099.55 SCA8-5 1096.52 1070.11 1089.55 SCA8-6 1027.25 1012.42 1020.12 SCA8-7 1126.31 1103.14 1120.54 SCA8-8 1104.07 1097.09 1113.39 SCA8-9 1109.64 1105.78 1111.33 帄均值 1081.74 1065.74 1081.80 帄均運算時間 7.9 秒 7.9 秒 7.5 秒

(39)

圖 4.3 Single parent crossover 遺傳至子代機率變動趨勢圖

(4) 選擇 Single parent crossover 或 Order crossover 之機率比

選擇 Single parent crossover 或 Order crossover 之機率比部份測詴數據為 0.3/0.7、0.4/0.6、0.5/0.5、0.6/0.4 及 0.7/0.3,本研究針對 Dethloff 題庫 SCA 題型 20 題範例進行測詴,每題範例執行十次演算法,並從中取最佳值進行比 較分析,並計算 SCA3 題型 10 題之帄均值與 SCA8 題型 10 題帄均值,由這 兩個帄均值繪圖觀察其變動趨勢,如圖 4.5。

由表 4.5 和圖 4.5 可觀察到,選擇 Single parent crossover 或 Order crossover 之機率比為 0.5/0.5,最佳解帄均成本最低。若過大機率選擇 Order crossover, 易使得演化提早收斂,屈就於區域最佳解;相反的,若過大機率選擇 Single

parent crossover,會使得演化之收斂速度變慢,花費較長之運算時間,降低演

算法效用。實測顯示兩種交配機制可彌補互相之缺點,增加演算法效用,選 擇比例應不相上下。

(40)

表 4.5 選擇 Single parent crossover 或 Order crossover 之機率比變動趨勢表

題號

選擇 Single parent crossover 或 Order crossover 之機率比 0.3/0.7 0.4/0.6 0.5/0.5 0.6/0.4 0.7/0.3 最佳解成本 SCA3-0 684.23 652.73 648.80 655.68 660.13 SCA3-1 756.03 714.63 709.53 711.24 723.59 SCA3-2 725.16 708.59 673.61 694.13 698.12 SCA3-3 741.51 721.72 689.35 722.54 725.09 SCA3-4 722.29 711.03 690.50 704.54 716.79 SCA3-5 708.25 685.04 669.65 683.51 686.84 SCA3-6 711.77 695.40 682.15 680.28 690.29 SCA3-7 701.61 680.65 666.14 678.99 690.54 SCA3-8 760.61 758.98 737.63 724.53 753.06 SCA3-9 730.60 704.87 686.40 685.18 694.43 帄均值 724.20 703.36 685.37 694.06 703.88 帄均運算時間 6.6 秒 7.3 秒 7.3 秒 15.9 秒 41.2 秒 SCA8-0 1077.64 1039.59 1003.53 1013.35 1027.48 SCA8-1 1123.70 1101.34 1069.74 1098.91 1122.91 SCA8-2 1116.27 1088.43 1082.27 1087.62 1105.62 SCA8-3 1081.96 1033.56 1023.66 1042.03 1055.38 SCA8-4 1155.43 1119.48 1089.68 1097.06 1138.82 SCA8-5 1119.82 1101.23 1070.11 1094.42 1109.64 SCA8-6 1043.66 1027.55 1012.42 1030.35 1038.55 SCA8-7 1162.41 1141.06 1103.14 1119.54 1130.60 SCA8-8 1137.81 1110.29 1097.09 1104.07 1123.50 SCA8-9 1138.10 1108.98 1105.78 1094.48 1117.41 帄均值 1115.68 1087.15 1065.74 1078.18 1096.99 帄均運算時間 6.3 秒 7.6 秒 7.9 秒 16.2 秒 41.7 秒

(41)

圖 4.4 選擇 Single parent crossover 或 Order crossover 之機率比變動趨勢圖

經過以上參數校估得到最適參數組合為:初始族群數量之選擇為 30;突變 率設定為 1%;Single parent crossover 中遺傳至子代機率 P 設定為 50%;選擇 Single parent crossover 或 Order crossover 之機率比為 0.5/0.5;而停止條件為連續 200 世 代改善幅度皆小於 0.01。本研究依此參數組合進行各項參數之設定進行後續測 詴。

4.3 測詴結果比較分析

本研究演算法中為增進演算法效用,提出了兩個有別於典型基因演算法之設 計: 1. 交配機制:結合兩種不同之交配法配合隨機機率交錯使用。 2. 尋找新的搜尋區域:放寬車容量限制之機制。 本節為測詴這兩種設計改善演算法效用之效果;針對 Dethloff 題庫 SCA 題型 20 題範例進行兩種設計交錯配合使用之測詴:比較本研究提出之交配法、順序 交配法(Order crossover)、Single parent crossover 分別之效用,以及本研究提出之

(42)

表 4.6 三種 CX 測詴結果比較分析表

題號 Order CX Single parent CX 50% Order CX + 50% Single parent CX SCA3-0 690.45 697.15 659.44 SCA3-1 779.16 774.62 720.17 SCA3-2 762.06 759.49 681.59 SCA3-3 729.11 729.15 698.46 SCA3-4 770.85 743.67 701.84 SCA3-5 725.33 739.58 681.55 SCA3-6 715.32 720.61 694.71 SCA3-7 698.02 708.26 678.23 SCA3-8 784.56 788.8 745.98 SCA3-9 716.25 714.26 699 帄均值 737.111 737.559 696.097 帄均運算時間 5.7 秒 42.6 秒 6.9 秒 SCA8-0 1100.37 1106.45 1022.45 SCA8-1 1172.62 1183.17 1087.16 SCA8-2 1135.81 1169.4 1103.27 SCA8-3 1143.12 1132.15 1045.78 SCA8-4 1179.5 1169.77 1110.82 SCA8-5 1188.62 1192.66 1093.56 SCA8-6 1110.55 1100.9 1030.47 SCA8-7 1159.71 1159.28 1122.02 SCA8-8 1160.23 1162.37 1117.63 SCA8-9 1220.77 1240.12 1127.83 帄均值 1157.13 1161.627 1086.099 帄均運算時間 5.7 秒 41.9 秒 7.3 秒 帄均改善百分比 6.23 % 6.47 % --

表 4.6 為測詴三種交配法:單使用 Order crossover、單使用 Single parent crossover 以及本研究提出之交配法分別之效用,可觀察到本研究所提出之交配法 改善 Order crossover 之帄均幅度為 6.23 %,改善 Single parent crossover 之帄均幅 度為 6.47%,百分比皆在 5 %以上,證實此設計確實可有效改善演算法效用。

(43)

表 4.7 放寬車容量限制測詴比較分析表(一) 題號 Order CX + 放寬車容量限制 Single parent CX + 放寬車容量限制 50% Order CX + 50% Single parent CX + 放寬車容量限制 SCA3-0 680.25 688.43 648.80 SCA3-1 768.54 759.60 709.53 SCA3-2 749.97 744.86 673.61 SCA3-3 711.86 715.34 689.35 SCA3-4 754.95 725.02 690.50 SCA3-5 709.87 723.75 669.65 SCA3-6 699.10 702.91 682.15 SCA3-7 682.59 690.82 666.14 SCA3-8 768.04 772.50 737.63 SCA3-9 700.41 698.71 686.40 帄均值 722.56 722.19 685.38 帄均運算時間 6.0 秒 43.7 秒 7.3 秒 SCA8-0 1083.68 1084.18 1003.53 SCA8-1 1157.44 1167.99 1069.74 SCA8-2 1118.37 1156.90 1082.27 SCA8-3 1132.27 1116.34 1023.66 SCA8-4 1164.47 1152.51 1089.68 SCA8-5 1172.19 1180.40 1070.11 SCA8-6 1098.37 1083.57 1012.42 SCA8-7 1143.55 1141.36 1103.14 SCA8-8 1149.78 1149.92 1097.09 SCA8-9 1205.63 1221.06 1105.78 帄均值 1142.58 1145.42 1065.74 帄均運算時間 6.1 秒 44.3 秒 7.9 秒 帄均改善百分比 6.34 % 6.44 % --

(44)

表 4.8 放寬車容量限制測詴比較分析表(二) 題號 Single parent CX Single parent CX + 放寬車容量限制 SCA3-0 697.15 688.43 SCA3-1 774.62 759.60 SCA3-2 759.49 744.86 SCA3-3 729.15 715.34 SCA3-4 743.67 725.02 SCA3-5 739.58 723.75 SCA3-6 720.61 702.91 SCA3-7 708.26 690.82 SCA3-8 788.8 772.50 SCA3-9 714.26 698.71 帄均值 737.559 722.19 帄均運算時間 42.6 秒 43.7 秒 SCA8-0 1106.45 1084.18 SCA8-1 1183.17 1167.99 SCA8-2 1169.4 1156.90 SCA8-3 1132.15 1116.34 SCA8-4 1169.77 1152.51 SCA8-5 1192.66 1180.40 SCA8-6 1100.9 1083.57 SCA8-7 1159.28 1141.36 SCA8-8 1162.37 1149.92 SCA8-9 1240.12 1221.06 帄均值 1161.627 1145.42 帄均運算時間 41.9 秒 44.3 秒 帄均改善百分比 1.77 % --

(45)

表 4.9 放寬車容量限制測詴比較分析表(三) 題號 50% Order CX + 50% Single parent CX 50% Order CX + 50% Single parent CX + 放寬車容量限制 SCA3-0 659.44 648.80 SCA3-1 720.17 709.53 SCA3-2 681.59 673.61 SCA3-3 698.46 689.35 SCA3-4 701.84 690.50 SCA3-5 681.55 669.65 SCA3-6 694.71 682.15 SCA3-7 678.23 666.14 SCA3-8 745.98 737.63 SCA3-9 699.00 686.40 帄均值 696.097 685.38 帄均運算時間 6.9 秒 7.3 秒 SCA8-0 1022.45 1003.53 SCA8-1 1087.16 1069.74 SCA8-2 1103.27 1082.27 SCA8-3 1045.78 1023.66 SCA8-4 1110.82 1089.68 SCA8-5 1093.56 1070.11 SCA8-6 1030.47 1012.42 SCA8-7 1122.02 1103.14 SCA8-8 1117.63 1097.09 SCA8-9 1127.83 1105.78 帄均值 1086.09 1065.74 帄均運算時間 7.3 秒 7.9 秒 帄均改善百分比 1.74 % -- 表 4.7、4.8、4.9 為測詴使用三種交配法與其各自加入放寬車容量限制機制

(46)

量限制之後,帄均運算時間增加 0.5 秒,帄均改善幅度為 1.74%。由以上數據可 證實,加入放寬車容量限制機制,帄均運算時間只有些微增加,卻也可小幅提升 演算法效用。

4.4 本研究測詴之最佳解

本研究以基因演算法對 Salhi & Nagy 題庫以及 Dethloff 題庫進行求解,每個 題目執行 10 次演算法,以 10 次中最佳解與以往文獻進行比較。針對 Salhi & Nagy 題庫,將與 Salhi & Nagy[7]及 Zachariadis et al.[9]中求得之結果進行比較,而 Dethloff 題庫將與 Dethloff[2] 及 Zachariadis et al.[11]中求得之結果進行比較,其 中,Zachariadis et al.[11]為目前文獻中已知最佳解。其結果分別如下。

表 4.10 Salhi & Nagy 題庫結果比較 題號 顧客數 Salhi & Nagy 文獻已知

最佳解 本研究最佳解 誤差百分比 CMT1X 50 601 470.48 471.09 0.13% CMT1Y 50 603 470.48 486.10 3.32% CMT2X 75 903 682.39 715.66 4.88% CMT2Y 75 924 682.39 711.89 4.32% CMT3X 100 923 718.40 746.79 3.95% CMT3Y 100 923 718.40 753.16 4.84% CMT12X 100 831 658.83 683.42 3.73% CMT12Y 100 873 658.83 683.95 3.81% CMT11X 120 1500 829.07 906.99 9.40% CMT11Y 120 1500 829.07 905.64 9.24% CMT4X 150 1178 852.46 934.61 9.64% CMT4Y 150 1178 852.46 921.45 8.09% CMT5X 199 1509 1030.56 1126.53 9.31% CMT5Y 199 1477 1030.56 1160.59 12.62% Average 6.23%

表 4.10 為 Salhi & Nagy 題庫之測詴結果,本研究所提出之基因演算法設計 針對此題庫求解 14 題帄均誤差為 6.23%,每題帄均求解時間為 182 秒。此題庫 中,本研究在處理顧客數 100 以下之例題之誤差皆在 5 %以內。

(47)

表 4.11 Dethloff 題庫 SCA 題型結果比較 題號 Dethloff 文獻已知 最佳解 本研究最佳解 誤差百分比 SCA3-0 689.00 635.62 648.80 2.07 % SCA3-1 765.60 697.84 709.53 1.68 % SCA3-2 742.80 659.34 673.61 2.16 % SCA3-3 737.20 680.04 689.35 1.37 % SCA3-4 747.10 690.50 690.50 0.00 % SCA3-5 784.40 659.90 669.65 1.48 % SCA3-6 720.40 651.09 682.15 4.77 % SCA3-7 707.90 659.17 666.14 1.06 % SCA3-8 807.20 719.47 737.63 2.52 % SCA3-9 764.10 681.00 686.40 0.79 % SCA8-0 1132.90 961.50 1003.53 4.37 % SCA8-1 1150.90 1049.65 1069.74 1.91 % SCA8-2 1100.80 1039.64 1082.27 4.10 % SCA8-3 1115.60 983.34 1023.66 4.10 % SCA8-4 1235.40 1065.49 1089.68 2.27 % SCA8-5 1231.60 1027.08 1070.11 4.19 % SCA8-6 1062.50 971.82 1012.42 4.18 % SCA8-7 1217.40 1051.28 1103.14 4.93 % SCA8-8 1231.60 1071.18 1097.09 2.42 % SCA8-9 1185.60 1060.50 1105.78 4.27 % Average 2.73 %

表 4.11 為 Dethloff 題庫 SCA 題型之測詴結果,針對 SCA 題型 20 題進行求 解,帄均誤差為 2.73 %,其中 SCA3-4 題,本研究找到目前已知最佳解;此題型 每題帄均求解時間為 7.6 秒。

(48)

表 4.12 Dethloff 題庫 CON 題型結果比較 題號 Dethloff 文獻已知 最佳解 本研究最佳解 誤差百分比 CON3-0 672.40 616.52 620.82 0.70 % CON3-1 570.60 554.47 573.76 3.48 % CON3-2 534.80 518.00 532.39 2.78 % CON3-3 656.90 591.19 591.19 0.00 % CON3-4 640.20 588.79 595.86 1.20 % CON3-5 604.70 563.70 582.78 3.38 % CON3-6 521.30 499.05 513.69 2.93 % CON3-7 602.80 576.48 582.11 0.98 % CON3-8 556.20 523.05 524.59 0.29 % CON3-9 612.80 578.25 598.46 3.50 % CON8-0 967.30 857.17 890.28 3.86 % CON8-1 828.70 740.85 764.71 3.22 % CON8-2 770.20 712.89 722.20 1.31 % CON8-3 906.70 811.07 845.73 4.27 % CON8-4 876.80 772.25 798.83 3.44 % CON8-5 866.90 754.88 778.30 3.10 % CON8-6 749.10 678.92 695.75 2.48 % CON8-7 929.80 811.96 821.47 1.17 % CON8-8 833.10 767.53 787.76 2.64 % CON8-9 877.30 809.00 829.46 2.53 % Average 2.36%

表 4.12 為 Dethloff 題庫 CON 題型之測詴結果,針對 CON 題型 20 題進行求 解,帄均誤差為 2.36 %,其中 CON3-3 題,本研究找到目前已知最佳解;此題型 每題帄均求解時間為 8.1 秒。

本研究測詴 Salhi & Nagy 題庫以及 Dethloff 題庫共 54 題標竿例題,帄均誤 差為 3.50 %,每題帄均求解時間為 53 秒,有 48 題誤差在 5 %以內,2 題例題找 到文獻已知最佳解,由上述可知,本研究之演算法設計不失為一個不錯的求解方 法。

(49)

第五章 結論與建議

5.1 結論

(1) 本研究以基因演算法求解 VRPSPD,對 Salhi & Nagy 題庫以及 Dethloff 題庫 進行求解,最佳結果與文獻中已知最佳解相比,54 題標竿範例之帄均誤差 為 3.50 %,其中 48 題誤差在 5 %以內。 (2) 本研究基因演算法之設計使用許多隨機概念,以機率做為演算法則的依據, 進行廣度搜尋,可求得較佳之路徑。 (3) 本研究之交配機制設計,經過測詴,確實可改善兩種傳統交配法之缺點,得 到較好的路徑組合。 (4) 本研究之尋找新的搜尋區域之機制,經過實際範例測詴,確實可在演化中跳 離區域最佳解,進行廣度搜尋。

5.2 建議

(1) 本研究經過實際範例測詴,發現本研究之交配機制在顧客點數量較大的題目 上(大於 100),求解時間較一般演算法來得長,未來研究可嘗詴在交配設計 上做不同更改以降低求解時間。 (2) 本研究在求解顧客點數量大於 100 之例題之績效較為不佳,建議可針對大範 例例題設計不同交配法或突變機制,改進其績效。 (3) 未來研究在突變設計上可考慮它種突變設計,增加更多擾動提高求得全域最 佳解之機率。 (4) 在路線改善的方法上,未來研究可考慮加入其它種 Local Search:or-opt、 2-opt*、1-0、1-1 等進行深度搜尋,彌補基因演算法之不足,提高求解品質。

(50)

參考文獻

1. Dantzig, G. B. and Ramser, J. H., "The Truck Dispatching Problem", Management Science, Vol.6, No.1, pp.80–91, 1959.

2. Dethloff, J., "Vehicle routing and reverse logistics: the vehicle routing problem with simultaneous delivery and pick-up", OR Spektrum, Vol.23, pp.79–96, 2001. 3. Holland, J. H., "Adaptation in natural and artificial systems", Cambridge, MA:

MIT Press, 1975.

4. Min, H., "The multiple the vehicle routing problem with simultaneous delivery and pick-up points", Transportation Research Part A, Vol.5, pp.377–386, 1989. 5. Tang Montané, F.A., Galvão, R.D., "Vehicle routing problems with simultaneous

pick-up and delivery service", Journal of the Operational Research Society of INdia, Vol.39, pp.19-33, 2002.

6. Halse, K., "Modeling and solving complex vehicle routing problems", Institute of Mathematical Statistics and Operations Research, Technical University of

Denmark, Lyngby,1992.

7. Salhi, S., Nagy, G., "Consistency and robustness in locationrouting", Studies in Locational Analysis 13, 3–19, 1999.

8. Salhi, S., Nagy, G., "Heuristic algorithms for single and multiple depot vehicle routing problems with pickups and deliveries", European Journal of Operational Research, Vol.162, pp.126–141, 2005.

9. Tang Montané, F.A., Galvão, R.D., "A tabu search algorithm for the vehicle routing problem with simultaneous pick-up and delivery service", Computers & Operations Research, Vol.33, pp.595–619, 2006.

10. Zachariadis, E.E., Tarantilis, C.D., Kiranoudis, C.T., "A hybrid metaheuristic algorithm for the vehicle routing problem with simultaneous delivery and pick-up service", Expert Systems with Applications, Vol.36, pp.1070–1081, 2009.

11. Zachariadis, E.E., Tarantilis, C.D., Kiranoudis, C.T., "An adative memory methodology for the vehicle routing problem with simultaneous pick-ups and deliveries", European Journal of Operational Research, Vol.202, pp.401-411, 2010.

12. Chen, J.F., Wu, T.H., "Vehicle routing problem with simultaneous deliveries and pickups", Journal of the Operational Research Society, Vol.57, pp.579–587, 2006.

(51)

13. Ai, T.J., Kachitvichyanukul, V., "A particle swarm optimization for the vehicle routing problem with simultaneous pickup and delivery", Computers &

Operations Research, Vol.36, pp.1693–1702, 2009.

14. Gajpal, Y., Abad, P., "An ant colony system(ACS) for vehicle routing problem with simultaneous delivery and pickup", Computers & Operations Research, Vol.33, pp.3215-3223, 2009.

15. Goldberg, D. E. and Lingle, R. "Alleles, loci and the traveling salesman problem", In Proceedings of an International Conference on Genetic Algorithms, pp.10-19, Morgan Kauffman, 1985.

16. Thangiah, Sam R., Kendall Nygard and Paul Juell, "GIDEON: A Genetic Algorithm System for Vehicle Routing Problems with Time Windows", Proceedings of the Seventh IEEE Conference on Artificial Intelligence Applications, Miami, Florida, pp.322-328, 1991.

17. Thangiah, Sam R., "Vehicle Routing with Time Windows using Genetic Algorithms", Application Handbook of Genetic Algorithms: New Frontiers, Volume II, Lance Chambers (Ed.), CRC Press, pp.253-277, 1995.

18. Thangiah, Sam R., "An Adaptive Clustering Method using a Geometric Shape for Vehicle Routing Problems with Time Windows", Proceedings of the Sixth

International Conference on Genetic Algorithms, Pittsburgh, Pennsylvania, pp.536-543, 1995.

19. Blanton JL, Wainwright RL, "Multiple Vehicle Routing with Timeand Capacity Constraints Using Genetic Algorithms", In Proceedings of the 5th international Conference on Genetic Algorithms S. Forrest, Ed. Morgan Kaufmann Publishers, San Francisco, CA, pp.452-459, 1993.

20. Joe L. Blanton Jr., Roger L., "Wainwright.J Multiple Vehicle Routing with Time and Capacity Constraints Using Genetic Algorithms", 1993.

21. L.J. Schmitt, " An empirical computational study of genetic algorithms to solve order based problems: An emphasis on TSP and VRPTC", Ph.D. dissertation, Fogelman College of Business and Economics, University of Memphis, TN., 1994.

數據

表 2.1 基因演算法應用於 VRP 問題文獻整理  資料來源:本研究整理 年代 作者  求解問題  重要結果 1985 Goldberg &amp; Lingle TSP  提出 Remove-and-reinsert(RAR) 突變機制 1991 Thangiah VRPTW 提出先分群再定路線概念 1993 Blanton &amp; Wainwright VRPTW 提出 Davis 編碼
圖 3.2  起始解構建示意圖(2)  圖 3.3  起始解構建示意圖(3)  3.2 基因演算法設計  本研究使用基因演算法為基本的求解架構,而在交配法設計上不同於以往傳 統之交配法,本研究結合兩種不同之交配法,再配合隨機概念,以機率做為演算 法則的依據交錯使用;另外提出一尋找新的搜尋區域機制:放寬車容量限制,藉 由放寬車容量限制接受不可行解來增加新的搜尋區域,期望跳脫目前求解空間避 免得到區域最佳解。  圖 3.4 為本研究之演算法流程圖,如圖中所示,演算法開始後,首先建構起 始解,本研究是採用最近鄰點
圖 3.11 Single parent crossover 示意圖(1)
表 4.1  範例測詴參數設定表
+7

參考文獻

相關文件

(1999), &#34;Mining Association Rules with Multiple Minimum Supports,&#34; Proceedings of ACMSIGKDD International Conference on Knowledge Discovery and Data Mining, San Diego,

Proceedings of the Fifth International Conference on Genetic Algorithms, Morgan kaufmann Publishers, San Mateo, California, pp.110~117, 1996. Horn, J., “Finite Markov Chain Analysis

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

Shinar, &#34;Effects of an in-vehicle collision avoidance warning system on short- and long-term driving performance,&#34; Human Factors, vol. Abdel-Aty Mohamed, “Investigating

Godsill, “Detection of abrupt spectral changes using support vector machines: an application to audio signal segmentation,” Proceedings of the IEEE International Conference

Gen, &#34;Minmax earliness/tardiness scheduling in identical parallel machine system using genetic algorithms,&#34; Computers &amp; Industrial Engineering, vol. Cheng,

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

Li, The application of Bayesian optimization and classifier systems in nurse scheduling, in: Proceedings of the 8th International Conference on Parallel Problem Solving