• 沒有找到結果。

以文化基因演算法求解具時窗之團隊越野競賽問題

N/A
N/A
Protected

Academic year: 2021

Share "以文化基因演算法求解具時窗之團隊越野競賽問題"

Copied!
47
0
0

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

全文

(1)國立臺灣師範大學 資訊工程研究所碩士論文 指導教授:蔣宗哲 博士. 以文化基因演算法求解具時窗之 團隊越野競賽問題. A Memetic Algorithm for Team Orienteering Problem with Time Windows. 研究生: 中華民國. 孫偉儒 104. 撰 年. 7. 月.

(2) 誌謝 在碩士班研究的過程中,首先感謝我的指導教授 蔣宗哲教授,在一開始 研究問題給的我很確定的方向,並且於研究過程所碰到的問題也給了我不少 建議。雖然在實驗過程在實作中碰上一些問題,使得我還有一些想法和研究 的方向還沒實現,但在最後整理出較完整的結果。同時感謝國立海洋大學電 機工程學系 鄭慕德教授和元智大學工業工程與管理學系 梁韵嘉教授的能 夠百忙中來口試審查,並給予論文內容不少建議。 再來感謝實驗室泳陖和麒安學長,在研讀論文和研究上給我一些建議。 接著是和我同屆的昱任及孟霖,在研究過程可以互相幫忙讓大家都可以順利 口試。最後感謝其他人以及學弟妹祐騰、映萱、震昱和廷翰的幫忙。 最後感謝家人在大學與碩士這期間的支持,花了較久的時間完成整個學 業可以順利畢業。. I.

(3) 中文摘要 旅遊是現代人重要的休閒活動之一,除了參加旅行團規劃的旅程外,目前自 助旅行可以自己規劃旅遊行程是相當熱門的旅遊方式。然而,從眾多熱門景點或 自己有興趣的旅遊景點中,快速的規劃出一天或是多天的行程是一個相當困難的 問 題 。 我 們 可 以 將 這 個 問 題 視 為 一 種 具 時 窗 之 團 隊 越 野 競 賽 問 題 (Team Orienteering Problem with Time Windows)。 具時窗之團隊越野競賽問題是越野競賽問題 (Orienteering Problem) 其中一 種變型,給予許多地點,各個地點有分數、花費時間以及開始時間與結束時間的 時間窗。從已知起點至終點在有限制的時間且不違反時窗限制下走訪各地點且找 出需求的路徑數目,目標在求得的路徑中得到最大的分數總和。此篇論文提出以 文化基因演算法的做法,首先以叢集的概念初始化族群,接著進入演化流程。本 篇提出交配的方式並使用兩種適應值來比較可行解與不可行解。最後使用一般常 用的路徑搜尋方式來改善族群。根據實驗結果在測試的問題集中,本篇的方法更 新七個問題的最佳解。. 關鍵詞:文化基因演算法、具時窗之團隊越野競賽問題 II.

(4) 目錄 誌謝..................................................................................................................................I 中文摘要........................................................................................................................ II 目錄.............................................................................................................................. III 附圖目錄........................................................................................................................ V 附表目錄....................................................................................................................... VI 符號表......................................................................................................................... VII 第一章. 緒論................................................................................................................. 1. 1.1 研究背景與動機 ............................................................................................. 1 1.2. 具時窗之團隊越野競賽問題 ......................................................................... 2. 1.3 研究目的、方法與貢獻 ................................................................................. 4 1.4 全文架構 ......................................................................................................... 4 第二章. 文獻探討......................................................................................................... 5. 2.1 具時窗之團隊越野競賽問題 ......................................................................... 5 2.1.1. 直接路徑表示法 ................................................................................. 5. 2.1.2. 數列表示法 ......................................................................................... 7. 2.2 越野競賽其他種類問題 ................................................................................. 8 第三章. 文化基因演算法........................................................................................... 10. 3.1 基因演算法 ................................................................................................... 10 3.1.1. 染色體表示方式 ............................................................................... 11. 3.1.2. 族群與個體的初始化 (CInsert) ....................................................... 11. 3.1.3. 適應值 ............................................................................................... 14. 3.1.4. 親代選擇與交配 ............................................................................... 16. 3.1.5. 環境選擇 ........................................................................................... 20. 3.1.6. 突變 ................................................................................................... 20. 3.2 GAVND ......................................................................................................... 21 3.3 文化基因演算法 ........................................................................................... 22 第四章. 實驗分析....................................................................................................... 24. 4.1 測試問題 ....................................................................................................... 24 III.

(5) 4.2 比較文獻 ....................................................................................................... 24 4.3 預期實驗及參數設定 ................................................................................... 25 4.3.1. 初始化比較 ....................................................................................... 25. 4.3.2. 接受不可行解與懲罰值 ................................................................... 27. 4.3.3. VND 與 GAVND .............................................................................. 29. 4.3.4. 參數設定 ........................................................................................... 30. 4.3.5. Insertion 隨機挑選 ............................................................................ 30. 4.4 效能評比 ....................................................................................................... 33 第五章. 結論與未來發展........................................................................................... 35. 參考文獻....................................................................................................................... 37. IV.

(6) 附圖目錄 圖 3.1. 基因演算法基本流程 .................................................................................... 10. 圖 3.2. 染色體表示方式............................................................................................. 11. 圖 3.3. 路徑對照時窗計算違反量之範例 ................................................................ 16. 圖 3.4. rc103_m=3 的解 ............................................................................................. 17. 圖 3.5 rc103_m=3 目前最佳解 ................................................................................. 17 圖 3.6. 交配選擇路徑 ................................................................................................ 18. 圖 3.7. 路徑結合結果 ................................................................................................ 18. 圖 3.8. 移除重複點後的路徑並挑選結果路徑 ........................................................ 19. 圖 3.9. 產生另一路徑並移除與前路徑重複的點 .................................................... 19. 圖 3.10 親代未在結果路徑的點,計算可增加位置加入路徑 ................................ 20 圖 3.11 VND 流程圖 ................................................................................................... 21 圖 3.12 文化基因演算法流程圖 ................................................................................ 22 圖 4.1. GA/GAVND/MA 路徑數 1 問題平均最大 gap 及平均執行時間 ............... 31. 圖 4.2. GAVND/MA 路徑數 1 問題平均最大 gap 及平均執行時間 ...................... 31. 圖 4.3. GA/GAVND/MA 路徑數 2&3 問題平均最大 gap 及平均執行時間 .......... 32. 圖 4.4. GA/GAVND/MA 路徑數 4 問題平均最大 gap 及平均執行時間 ............... 32. V.

(7) 附表目錄 表 4.1. 參數實驗測試問題 ........................................................................................ 25. 表 4.2. m=1 初始化解的平均 gap ............................................................................. 26. 表 4.3. m=2 初始化解的平均 gap ............................................................................. 26. 表 4.4. m=3 初始化解的平均 gap ............................................................................ 26. 表 4.5. m=4 初始化解的 gap ..................................................................................... 27. 表 4.6. 不可行解與懲罰值的平均 gap ...................................................................... 28. 表 4.7. GAVND \ VND 不同路徑數的平均 gap 與平均執行時間 .......................... 29. 表 4.8. 實驗測試參數設定 ........................................................................................ 30. 表 4.9. 各文獻演算法的實驗環境 ............................................................................ 33. 表 4.10 各文獻演算法比較 gap 與執行時間 ............................................................. 34 表 4.11 更新目前最佳解的問題集 ............................................................................ 34. VI.

(8) 符號表 pi. 點 i 的分數. Ti. 點 i 的服務時間. Oi. 點 i 的時窗開始時間. Ci. 點 i 的時窗結束時間. cij. 點 i 到點 j 所花的時間. Tmax. 路徑總共花費時間限制. xijd. 若在路徑 d 中地點 i 接下來參觀的地點為 j,其值為 1,否則為 0. yid. 如果地點 i 在路徑 d 中其值為 1,否則為 0. sid. 在路徑 d 地點 i 開始服務的時間. si. 點 i 開始服務時間. ai. 抵達地點 i 的時間. wi. 抵達地點 i 需要等待的時間. M. 相當大的常數. Δj. 點 j 在路徑中所花費的時間. Dk. 點 k 最大可以延遲時間. VII.

(9) 第一章 緒論 1.1 研究背景與動機 旅遊已經是很多人的休閒活動,大家運用有限的時間規劃假期到某個地區城 市或出國旅遊。我們可以從網路或相關書籍獲得某些地方城市的熱門景點或是個 人感興趣的地點。而現今有許多導航軟體或是路線查詢的程式可以提供地點之間 交通的資訊,使得現在旅遊除了參加旅行團規劃的行程外,我們可以更方便自己 規劃旅遊行程安排更多自己想要走的景點。然而在時間限制上無法參觀所有的景 點,在挑選景點上必須作出取捨。除了參考其他到此旅遊過的人來得到一些建議 或適合的規劃,我們也希望藉由這些導航裝置提供的資訊來提供更完整的路線規 劃。而現今較少有可以一次規劃這麼多景點並且依據個人的喜好程度來規劃出適 合個人的旅程程式。 當遊客到一個城市或地區旅遊一天或是很多天,遊客有他們感興趣的興趣點 (Point of interest, POI),而在時間限制下遊客不可能參訪所有的興趣點,在這樣的 條件下規劃出一天或是多天可以滿足使用者的旅遊路線。假設遊客對所有的興趣 點可以評估出他們感興趣的分數並有每個興趣點的資訊,例如:位置、開門時間 與關門時間,加上遊客在每個興趣點花費的時間,在整體時間限制上規劃出可以 獲得所有興趣點分數總和最大的旅程路徑。這個問題可描述為越野競賽問題 1.

(10) (Orienteering problem, OP)。越野競賽問題已經被驗證是 NP-hard [1]。越野競賽問 題又可以衍生出不同類型的問題,而根據興趣點含有時窗還有需要規劃多天的旅 程稱為具時窗之團隊越野競賽問題 (Team orienteering problem with time windows, TOPTW)。. 1.2 具時窗之團隊越野競賽問題 具時窗之團隊越野競賽問題定義如下:給予 n 個地點,每個地點 i = 1… n, 含有一個分數 pi、服務時間 Ti 以及時窗[Oi,Ci]。到達地點的時間必須在時窗之內 ,如果到達時間比時窗開始的時間早則要等待至時窗開始的時間。每條路徑從起 點到終點。由地點 i 到地點 j 之間所花費的時間為 cij。每個路徑在總花費時間不 得超過 Tmax,且每個地點只能參觀一次。求解目標為:固定的路徑數 m,在上述 的限制下找出所有路徑所參觀的地點分數總和為最大。Vansteenwegen 等人 [4] 將此問題以混合整數規劃的模型表示。 定義其函式使用的變數: xijd:若在路徑 d 中地點 i 接下來參觀的地點為 j,其值為 1,否則為 0。 yid:如果地點 i 在路徑 d 中其值為 1,否則為 0。 sid:在路徑 d 地點 i 開始服務的時間。 ai:抵達地點 i 的時間。 wi:抵達地點 i 需要等待的時間。 2.

(11) M:相當大的常數。 以下為此問題目標函式以及限制函式: m n 1. Max pi yid. (1). d 1 i 2. m n 1. m n 1. d 1 j  2. d 1 i  2.  x1 jd   xind  m n 1. (2). n.  xkjd  ykd ,k  2,...,n  1; d  1,...,m. (3). sid  Ti  cij  s jd  M (1  xijd ), (i, j  1,..., n; d  1,..., m). (4). x i 1. ikd. m. y d 1. kd. j 2.  1, (k  2,..., n  1). (5). n     w  T y  c x   i i id  ij ijd   Tmax , (d  1,..., m) i 1  j 2 . (6). wi  max{ Oi  ai ,0}. (7). Oi  sid , (i  1,..., n; d  1,..., m). (8). sid  Ci , (i  1,..., n; d  1,..., m). (9). xijd , yid  0,1, (i, j  1,..., n; d  1,..., m). (10). n 1. 其中(1)是目標函式。限制(2)確保所有的路徑會從地點 1 開始在地點 n 結束。 限制(3)(4)決定路徑的各地點連接。限制(5)確保各地點最多只會被選擇一次。限制 (6)為總時間限制。限制(8)(9)決定時窗如何限制開始服務時間。. 3.

(12) 1.3. 研究目的、方法與貢獻 本論文以 Vansteenwegen 等人的 ILS [4] 為基礎,此演算法雖然並不是目前較. 好,但其執行時間是最快的。其加入點的流程是在此問題產生解很常使用的方法 。我們觀察整個演算法產生的結果,其計算選擇加入的點的流程以及對區域最佳 解擾動方式是決定性的,因此會容易卡在區域最佳解。所以我們修改加入點的流 程,藉由將各點分成數個叢集,使它可能根據不同區域產生不一樣的路徑。再觀 察其結果與最佳解的差異,可能藉由路徑結合的概念來產生最佳解的路徑。因此 藉由以多個個體彼此之間做交配,再使用區域搜尋法改善個體。文化基因演算法 主要流程為基因演算法其演化過程中使用區域搜尋法,我們提出路徑結合的交配 方法,並研究 (1) 兩種適應值的算法以及 (2) 利用不可行解在族群的影響和不可 行解計算適應值時有懲罰值的效果。. 1.4. 全文架構 本篇後續篇章,第二章介紹各種具時窗之團隊越野競賽問題使用的演算法及. 其他相關問題的演算法。第三章介紹文化基因演算法的流程。先介紹基因演算法 流程,包含本篇初始化方法以及交配方法和計算的適應值。接著是本篇使用的區 域搜尋法,根據區域搜尋使用的時間不同,分別有在基因演算法後使用區域搜尋 的方法,以及在演化過程使用區域搜尋的文化基因演算法。第四章介紹測試問題 及本篇演算法相關實驗數據分析。第五章本篇演算法結論及未來可以發展方向。 4.

(13) 第二章 文獻探討 在 [2] 中針對越野競賽問題分成許多類也比較其中幾種演算法,而在 [3] 中 除了有主要的分類外還列舉出更多的衍生問題以及歷年解決此問題的演算法。首 先介紹幾種目前具時窗之團隊越野競賽問題的演算法。其次介紹不同種類越野競 賽問題所使用的演算法及其使用的技術。. 2.1 具時窗之團隊越野競賽問題 首先此問題使用了兩種不同解的表示方式,我們個別介紹此兩種解的表示方 式並介紹主要使用此表示方式的演算法。. 2.1.1. 直接路徑表示法. 第一種表示方式大部分演算法所使用。其表示方式為,如果我們需要找出 m 個路徑,則我們給予 m 個數列,每個數列第一個點和最後一個點分別代表路徑的 起點與終點,起點與終點之間的數字代表路徑行走的順序。最後我們要得到不違 反時間限制的路徑。這種解的表示方式我們在操作上需要考慮可不可以違反時間 限制。如果解違反時間限制我們稱為不可行解。對解的操作可以考慮都在時間限 制下,或者產生不可行解後再考慮修復至可行解的方法。以下介紹數種使用此表 示方式的演算法。 Vansteenwegen 等人 [4] 以未加入點找尋其最佳的加入位置選擇其一加到路 徑並以刪除連續的點來跳脫區域最佳解。此外記錄了每個點在路徑上最多可延遲 5.

(14) 的時間,用這資訊快速計算加入點的位置是否違反限制。雖然此方法結果並沒有 比較好,但其執行時間快,在較簡單的問題可以短時間內找出較好的解,而且過 程中沒有隨機性質為確定性演算法。 Labadie 等人 [5] 利用上述產生解的方法加以修改,使用五種不同的程序來 產生不同效果的解,使得每次得到的初始解會不同,接著在使用區域搜尋來改善 解。區域搜尋使用 ELS (Evolutionary local search) 概念,主要為使用類似突變的 程序來擾動解,接著使用區域搜尋法找出其中最好的解。突變程序有一個控制參 數 p,針對每個路徑移除掉連續 p 個點。區域搜尋使用 VND (variable neighborhood decent procedure) 區域搜尋法。此篇使用兩組鄰域函式,一組為常用的路徑操作 (2-Opt,Or-Opt,2-Opt*,Exchange),另一組有一個控制參數 k,決定從其中一個路徑 移除掉連續 k 個點後從還未加入點中建立出可以加入移除掉的點之間的路徑。 Gavalas 等人 [6] 使用叢集的概念,將問題點使用 global k-means clustering 分成 數個叢集,並且希望獲得的路徑中其點會屬於相同叢集中,減少叢集之間的轉換 。首先修改 Vansteenwegen 等人 [4] 提出加入點的流程,選擇加入點會傾向選擇 相同叢集的點。其次根據路徑中屬於相同叢集的子路徑在要加入點時考慮加入點 的叢集和這些子路徑的叢集關係來設定條件加入。此方法雖然效果沒有很好,但 其目的主要是將各點分區後,減少各區之間的轉換。. 6.

(15) Hu 和 Lim [7] 將使用區域搜尋後各路徑記錄下來,再利用這些路徑來產生新 的解。演算法主要分為三個部分,前兩個部分是區域搜尋。一種為基本的區域搜 尋,另一種則使用模擬退火法 (simulated annealing, SA),這兩種演算法最後產生 的路經存入 Route Pool 中。最後的流程是路徑組合,從存入的路徑中組合出符合 限制且可以獲得最大的值的解。他們將此問題轉化為線性規劃的問題並使用解線 性規劃的軟體來產生結果。此方法結果雖然在解路徑數只有一個的時候效果不好 ,但在路徑數多時可以有很好的效果。. 2.1.2. 數列表示法. 第二種解的表示方式假設問題有 n 個點,則解使用 1…n 的排序數列,再根 據此數列計算出由起點開始,在不違反時間窗而且回到終點時也不違反總時間限 制下可以行經的點,並找出目標的路徑數。此表示方式的好處為在對解進行操作 不需考慮限制問題。而缺點在於即使是不同的數列可能會產生相同的路徑結果, 這會造成經過一些操作得到相同的結果,搜尋的區域因此過大。以下為數種使用 此表示的演算法。 Lin 和 Yu [8] 該論文的解碼方式是起點依照解的數列順序挑選出不違反限制 的點來獲得結果路徑。該文主要使用模擬退火法,使用三種鄰域函式,第一種為 隨機選取兩個點並交換。第二種為隨機選取一點並隨機加入到某一點之後。最後 為隨機挑選兩點將兩點間的數列反轉。此三種方法以相同機率隨機使用。根據模 7.

(16) 擬退火法終止條件不同而有兩種不同的版本,一種為 FSA (fast SA) 其終止條件 根據執行時間而定。另一種為 SSA (slow SA) 其終止條件以目前最好解沒有改善 的次數。 Guibadj 和 Moulrim [9] 的解碼方式是使用 Bouly 等人 [10] 在解 TOP 所提出 的方法,解的數列依照此方式可以得到我們要求的路徑所行經的點得到的分數是 最大。該文使用文化基因演算法,其方法流程,首先產生族群後在最佳解沒改善 一定代數下中止以下流程。先使用二元競爭法選出兩個親代,接著兩個親代使用 LOX (linear order crossover)產生一個子代,子代根據一定機率會執行區域搜尋。 區域搜尋流程會使用 5 種鄰域函式,以隨機順序決定使用鄰域函式,當所有鄰域 函式無法改善解則此流程停止。各鄰域函式當可以找到更好解時就停止。最後是 環境選擇來更新族群。. 2.2 越野競賽其他種類問題 Karbowska-Chilinska 和 Zabielski [11] 使用基因演算法 (Genetic algorithm, GA) 解具時窗之越野競賽問題,本篇為改良之前他們提出的方法,在交配的程序 使用路徑重劃 (path relinking, PR) 的操作。路徑重劃由 Glover [12] 提出,其概念 主要的操作為選擇兩個路徑 R_1 和 R_2,將 R_2 有且 R_1 沒有的點加入至 R_1 中,如果因限制而無法加入則移除 R_1 有且 R_2 沒有的點,移除的點依據計算 profit2/(end – arrive),end 為此點結束時間,arrive 為到達時間,挑選此值最小的 8.

(17) 移除。最後執行到所有要加入的點加入。產生的子代如果比親代好則取代親代。 Souffriau 等人 [13] 使用路徑重劃解團隊越野競賽問題,雖然不是使用演化 式演算法,但會將路徑重劃後得到較好的解記錄下來,這些解會選擇出來當作與 使用 GRASP 產生的初始解以及初始解經過區域搜尋後得到解做路徑重劃的目標 解。這邊路徑重劃與上一篇操作差別在於加入點先不管時間限制,當所有要加入 的點都加入至路徑後再來修復違反限制的路徑。. 9.

(18) 第三章 文化基因演算法 首先於 3.1 介紹基因演算法流程。接著 3.2 介紹使用 Variable Neighborhood Descent (VND) 搜尋來改善族群的解並在基因演算流程後使用的方法。最後介紹 區域搜尋使用在交配後的子代的文化基因演算法流程。. 3.1. 基因演算法 基因演算基本流程如圖 3.1 所示,演化會執行固定的代數後或者找到的最佳. 解包含所有的點而終止。. 圖 3.1 基因演算法基本流程 10.

(19) 接著分別說明染色體的表示方法並說明族群初始化流程,接著使用兩種適應 值分別比較可行解與可行解的適應值以及比較的解中有不可行解時所使用的適 應值,其次說明親代選擇以及交配流程、環境選擇和突變。. 3.1.1. 染色體表示方式. 假設問題需要找 m 條路徑,則每個個體含有 m 條數列。每個數列第一個與最 後一個以數字 0 代表路徑起點與終點,之間有 1…n 個數字代表路徑走訪的地點 順序,這些數字在路徑上與路徑之間至多出現一次。圖 3.2 表示找到的路徑結果 和其染色體表示方式。. 圖 3.2. 3.1.2. 染色體表示方式. 族群與個體的初始化 (CInsert). 本篇論文提出將所有點分成數叢集並使用 Vansteenwegen 等人 [4] 提出的 Insertion step 產生初始解。 11.

(20) Insertion step 主要流程為根據目前解的路徑對各個未加入的地點計算其最佳 加入的位置,而最佳加入位置為加入至解的路徑中所增加的時間最小且不違反時 間限制。所增加時間算法為,假設點 vj 加入至點 vi 和 vk 之間,則增加時間為 Δj = cij + wj + Tj + cjk – cik,其中 cij 為 vi 至 vj 的時間,wj 表示至 vj 後如果到達時間比 vj 的開始時窗早則需要等待的時間,如果到達時間比開始時窗晚則為 0,Tj 為在 vj 所花費的時間。而時間限制除了到達時間不違反時窗的結束時間外,另外每個點 會額外記錄 D 為此點在路徑上在之前最多可以延遲的時間。以點 vk 來說明 Dk = min[Ck – sk, wk+1+ Dk+1],Ck 為時窗結束時間,sk 為開始服務時間。終點的 D 為總 時間限制減掉到達的時間。根據這個資訊可以藉由此公式 Δj ≤ wk + Dk 來快速算出 加入此位置是否會違反總體時間限制。這些資訊會在每次路徑改動後需要全部的 更新。接著這些有找到最佳加入位置的點根據以下式子計算分數. Ratio = p 2 / Δ. (11). 挑選出其中最大值為要加入的點。加入點後剩餘的點重複以上流程直到無法 加入為止。以下為此流程虛擬碼。 while(解分數增加或還有未加入的點) { 各未加入的點計算最佳加入位置與 Ratio 挑選 Ratio 最大的點加入至解路徑 更新路徑資訊 }. 12.

(21) 此方法的問題在於計算並挑選要加入的點,會依據現有路徑上所存在的點可 能會有不一樣得結果。例如,以 c101 路徑數 1 的問題,從一開始路徑沒有任何點 的情況下會找出此路徑 ( 0,57,63,74,93,97,88,2,21,75,0 )。如果做 Insertion 前,我 們先將點 15 加至路徑(此點是我們分群其中一個群組中分數最大的),做完 Insertion 後會得到路徑 ( 0,57,63,15,16,97,100,2,21,75,0 ),結果與上一個路徑不同 。因此先將各點以 global k-meaning clustering (GKM) [14] 的技術來分群。分群的 數目 G 根據問題有 n 個點 G = n/cluster 個叢集,cluster 設定 10。希望每個路徑都 有機會走到不同的叢集,因此在各路徑選取不相同的叢集並且先加入此叢集分數 最大的點至路徑,接著才做 Insertion。我們希望每個個體可以選取不一樣的叢集 組合。例如,如果目前叢集序列是(1,2,3,4),而問題路徑數是 2,則前兩個個體挑 選的叢集分別為 (1,2) 與(3,4)。如果不將叢集序列再重新排列則後面的個體會是 同樣的組合,因此將各叢集編號以亂數排列一個序列,則每個個體各個路徑依照 此編號的順序挑選叢集。而當有個體其最後一個路徑挑選叢集到序列最後一個, 代表這序列叢集組合已經全數被挑選,則再將此序列亂數排列。此外如果路徑數 大於叢集數有些路徑勢必會選擇到相同的叢集,我們可以用此序列決定重複挑選 叢集的順序。. 13.

(22) 此外我們在問題路徑數目 1 發現,如果族群個數大於分群個數,會導致一些 個體選到相同叢集,經過 Insertion 的步驟會得到相同路徑結果。因此為了增加族 群的多樣性,原本 Insertion 選取最大 Ratio 的點加入更改為從 Ratio 前三個大的 點隨機挑選一個加入。以下為初始化流程虛擬碼。 將問題各點以 Global k-means clustering 產生 0…G-1 叢集序列 CusterList 並隨機排列 c=0 for(每個個體) { for(每個路徑) { If(c > G-1) c = 0 挑選 CusterList[c]叢集中分數最大的點於路徑 If(c == G-1 且此路徑為此解最後一個路徑) { 隨機排列 ClusterList[c] } c = c +1 } Insertion Step }. 3.1.3. 適應值. 本文提出兩種適應值的算法,一種為可行解(路徑)與可行解(路徑)比較的適應 值,另一個為兩個解比較時,其中有一個不可行解(路徑)時,所比較的適應值。可 行解其路徑上所經過的點其到達時間不違反該點的時窗結束時間,且到達終點的 時間不超過總時間限制。可行解與可行解比較使用以下式子 14.

(23) m. . . MaxD(ri ).   TotalProfi t (r )  Log (TotalTime(r ))  i 1. . i. i. . (12). ri 代表個體中第 i 個路徑,MaxD(ri) 為此路徑除了終點外各點中最大延遲時 間 D。此式子主目標為路徑分數總和,另外計算另一個目標值,主要根據整體花 費時間以及其最大可以延遲時間來判別相同分數的路徑的好壞。總時間取 log 主 要是總時間與最大延遲時間相比會大許多,為了讓此值差距較明顯。 不可行解主要為到達時間違反該點的時窗結束時間以及總時間的限制。我們 以這些違反時間的限制計算違反量,時窗違反量算法概念來自於 Nagata 等人 [15] 做法,而其中有提到在做路徑操作中可以較快算出違反量的方法也在 Schneider 等 人 [16] 提出更正。其概念主要為,如果以原本各點的結束時間計算現有路徑的 時間違反量,可能因為有違反時窗的點,由該點再走訪其後的點會導致這些點會 違反時窗。如果這些違反時窗的點以其時窗結束時間為出發至下個點的時間,可 能走訪後面的點因此不會違反時窗。以圖 3.3(a)所示,由於 V2 違反時窗以其結束 時間走到 V3 會造成 V3 違反時窗,因此會計算 V2 和 V3 的違反量。然而將 V2 開始 走向 V3 的時間提早至 V2 的時窗結束時間,如圖 3.3(b)可以導致 V3 不會違反時窗 ,並只計算到 V2 的違反量。. 15.

(24) 圖 3.3 路徑對照時窗計算違反量之範例 得到各路徑各點違反時窗的違反量,再以各點違反量除以各點分數並加總為 該路徑的懲罰值 Penalty(ri)。當兩個解比較適應值時,當其中有不可行解,則兩個 解計算以下適應值來比較 m.  TotalTime(ri ). .   TotalProfi t (r )  Penalty (r )  i 1. . i. i. (13). . 由於懲罰值是計算有違反各點與該點分數比例,因此主要目標以此路徑到終 點所花時間與路徑總分比例。此值是越小越好。. 3.1.4. 親代選擇與交配. 親代的選擇以競爭法 (Tournament selection) 根據上一節提出的適應值比較 選出兩個親代,接著經由交配產生一個子代。下一段說明交配的概念與流程。 我們實作 Vansteenwegen 等人 [4]的方法發現,以 rc103 要找的路徑數 3 來舉 例,此做法容易找出如圖 3.4 的路徑然而圖 3.5 為此問題的最佳解。. 16.

(25) 圖 3.4. rc103_m=3 的解. 圖 3.5 rc103_m=3 目前最佳解 在圖 3.4 和圖 3.5 發現只要某些路徑相互結合就可以產生出最佳解產生的路 線,而產生這樣路線後只需要再經過一些步驟就可以找到最佳解。因此交配的流 程主要是使用路徑結合來產生子代。 接著說明交配的流程。首先其中一個親代其路徑依序隨機挑選另一個親代的 路徑來結合,而挑選過的路徑不再重複挑選,以圖 3.6 為例子。. 17.

(26) 圖 3.6 交配選擇路徑 接著兩個路徑計算要結合的地點。考慮結合點要盡量不違反時窗,且路徑不 考慮起點與第一個點和終點與最後一個點的路線根據下列規則:優先挑選點到達 下一個點可以在時窗內,以找出這兩點距離最小為連接點,如果沒有到達在時窗 內的點,則挑選在比時窗開始時間早且等待時間最小為連接點。根據圖 3.6 的例 子,我們以 P1 第一條路徑與 P2 第二條路徑結合,計算連接點後結果為圖 3.7。. 圖 3.7 路徑結合結果 路徑結合後可能會有重複的點,則我們移除重複的點中增加時間 Δ 較大的 點。圖 3.7 結合後第二條路徑,有兩個點 5,假設計算增加時間後,虛線格的 5 代 表增加時間較大會被移除。結合後會得到兩條路徑,根據適應值來挑選結果路徑 ,圖 3.8 為圖 3.7 移除重覆的點的結果,虛線框的路徑為比較適應值後所選擇的 路徑。 18.

(27) 圖 3.8 移除重複點後的路徑並挑選結果路徑 在其他路徑結合後所得到的路徑,檢查先前結合產生的路徑,是否出現相同 的點,有的話則移除目前結合的路徑上的點。圖 3.9 表示圖 3.8 選出的路徑與另 一組路徑由圖 3.6 P1 第二條路徑與 P2 第一條路徑結合後產生的結果。虛線框的 點為與上一個路徑重複的點,將此點移除。. 圖 3.9 產生另一路徑並移除與前路徑重複的點 最後所有路徑結合後,其結果與親代相比還會有一些點不在結果路徑,再使 用 Insertion 的步驟將這些點加入直到無法再加入為止。圖 3.10 根據圖 3.9 的結果 ,檢查親代後還有地點 5 未加入。以 Insertion 計算其可以加入位置後再加入至路 徑中。下一段說明環境選擇流程。. 19.

(28) 圖 3.10 親代未在結果路徑的點,計算可增加位置加入路徑. 3.1.5. 環境選擇. 先將目前族群排序。排序規則為,如果兩個解為可行解,比較式子(12)適應值 ,較大的在前。如果比較的解中有不可行解比較式子(13)適應值,較小的在前。最 後子代則檢查族群最後一個個體比較適應值並取代。. 3.1.6. 突變. 突變機制為了能增加族群的多樣性也有可能讓路徑找到較好解。首先將族群 排序後,除了目前族群最好的以外隨機挑選出族群大小 M% 百分比個數的個體做 突變。每個個體中每個路徑各點計算其 Ratiomutate = p /增加時間 Δ,挑選其值最小 的點移除。接著不考慮移除的點,將還未加入的點以 Insertion 步驟加入至路徑直 到無法加入為止。. 20.

(29) 3.2. GAVND 本節說明 GAVND 的流程。首先介紹 VND 與主要使用的鄰域函式。 圖 3.11 為 VND 此流程圖。接著說明 VND 在基因演算法後如何使用。. 圖 3.11 VND 流程圖. 鄰域函式 主要的鄰域函式為個體中各路徑連續移除 k 個點,再使用 Insertion 的步驟加 入點直到無法加入為止。k 從 1 開始,如果移除後再加入有其路徑總分比較好則 取代,k 設為 1,否則 k 增加 1 直到 kmax 後結束。kmax 設定為個體中路徑所含的點 數最大的一半。選擇要從哪個地點開始移除是隨機決定。如果移除過程中位置到 終點,則從起點位置下一個地點開始移除。由於 Insertion 流程會判斷加入點是否 21.

(30) 違反限制,當所有路徑皆違反代表找不到可加入的點。所以對於不可行解,當移 除點後有不違反時間的限制的路徑且可找到可加入點,才會對解產生改變。 GAVND 主要流程對 GA 後產生的族群,將族群依照先前的方法排序,挑選 出前 VNDnum 個數的解,並執行 VNDiter 次數的 VND。. 3.3 文化基因演算法 本節說明文化基因演算法 (Memetic Algorithm, MA) 的流程。使用上一節的 VND,針對交配後的子代來執行 VND。圖 3.12 為此流程圖。. 圖 3.12 文化基因演算法流程圖. 22.

(31) 由於我們為了減少執行時間,根據 TVND 來決定每隔幾代要做 VND。而每次 做 VND 的代數 VNDiter 此設定為 1。接著比較子代和 VND 後的解其總分,以較好 的進入環境選擇。. 23.

(32) 第四章 實驗分析 4.1. 測試問題 問題集由 Montemanni and Gambardella [17] 提出,問題集 29 個從 Solomon. [18] 的 VRPTW 轉換過來 (c*_100,r*_100,rc*_100),還有 10 個從 Cordeau 等人 [19] 的 multi-depot VRP 轉換過來 (pr1-pr10),另外再從 Solomon 的問題集轉換 27 個問題 (c*_200,r*200,rc*200) 和 Cordeau 等人轉換 10 個問題 (pr11-pr20)。最 後 Vansteenwegen 等 人 [4] 提出 的問 題集, 此 問題 集 使 用上 面幾 種 問題 集 (c*_100,r*_100,rc*_100,c*_200,r*_200,rc*200,pr1-10) 其路徑數可以找出的最佳解 可以包含所有點的路徑。. 4.2. 比較文獻 本 論 文主 要以 基因 演算 法 (GA) 以 及 基因演 算 法 後 再使 用 VND 搜 尋. (GAVND) 和文化基因演算法 (MA)。比較以下演算法:ILS [4]、GRASP-ELS [5] 、I3CH [7]、SSA [8]。 各個演算法其結果針對各個問題與目前找到的最佳解 (BKS) 計算 gap。BKS 以 2014 年 I3CH [7] 所獲得的 BKS。gap 計算方式為以下式子 gap  (BKS P) / BKS 100%. (14). 得到的結果分數為 P。0%代表可找到最佳解,結果為負的表示可找到比目前 最佳解還要好的解。此外比較各演算法平均執行的時間。 24.

(33) 預期實驗及參數設定. 4.3. 首先與 GRASP-ELS 所提出的五種初始化方法比較本文初始化的結果。接著 觀察 GA 在取代族群時有使用不可行解以及在算適應值是否使用懲罰值的比較。 。接著測試 GA 產生的結果是否可以減少區域搜尋的次數。最後則是測試在初始 化使用隨機挑選的機制。在一些測試實驗,會測試我們挑選出的問題集。除了在 路徑數 4 的問題中其問題種類 (c*_200,r*200,rc*200) 容易達到最佳解,所以只挑 其中較不易達最佳解的問題。其他則是隨機挑選幾個問題集。表 4.1 為挑選出的 問題。 表 4.1 m=1. 參數實驗測試問題. c201, c204, c206, r107, r110, r201, r206, r209, r211, rc102, rc106, rc203, rc205, pr02, pr10, pr14, pr16. m=2. c102, c105, r101, r109, r112, rc102, rc107, c204, r204, r211, rc201, rc204, rc206, pr01, pr06, pr10, pr13, pr16. m=3. c103, c106, c109, r103, r107, r111, rc102, rc103, rc106, c202, c203, r201, r202, rc201, rc202, pr02, pr05, pr13. m=4. c101, c104, c109, r102, r106, r111, rc101, rc104, rc108, rc201, pr02, pr04, pr09, pr12, pr18, pr20. 4.3.1. 初始化比較. 比較 GRASP-ELS 使用的五種解初始化與本篇使用的初始化 (CInsert)。對每 個問題產生 100 個初始解,以當時 GRASP-ELS 的數據和當時的 BKS 求平均計算 gap 並比較不同路徑數與不同類型問題集的平均 gap。. 25.

(34) 表 4.2. m=1 初始化解的平均 gap. 表 4.3. m=2 初始化解的平均 gap. 表 4.4 m=3 初始化解的平均 gap. 26.

(35) 表 4.5. m=4 初始化解的 gap. 從表 4.2-4.5 看到,本篇初始化方法雖然在問題路徑數為 1 到 3 的問題,在某 些類型的問題產生結果比較好,以平均來看結果不會差太多。而在路徑數 4 的問 題我們產生的初始解大部分比較好。. 4.3.2. 接受不可行解與懲罰值. 由於交配產生的子代有可能是不可行解,如果這些不可行解可以加入至族群 演化是否會影響結果。而計算不可行解比較適應值有使用懲罰值會影響在親代選 擇、交配和環境選擇中所挑選結果。另外可行解適應值除了算總分外再考慮第二 個目標值會不會有影響。先以族群數 20,演化代數 50,突變參數 M% = 20 來測 試以下五種情況: (1) (GAw/oI) 只使用交配產生的可行解接受至族群。 (2) (GAw/oP) 所有子代皆可接受至族群,而不可行解不使用懲罰值,使用以 下公式計算其適應值。 27.

(36) m.  TotalTime(ri ) . i 1. .   TotalProfi t (r )  i. (15). . (3) (GAw/oIT) 只使用交配產生的可行解接受至族群,可行解適應值不加入 時間資訊,使用以下式子計算。 m.  TotalProfi t (r ) i 1. (16). i. (4) (GAw/oT) 所有子代皆可接受至族群,可行解適應值以式子(16)計算。 (5) (GA) 皆有使用。 我們測試挑選出的問題集各執行 20 次取平均與 BKS 計算 gap 後再平均後的 結果。 表 4.6. 不可行解與懲罰值的平均 gap. 28.

(37) 從表 4.6 可以看到灰色底是族群中沒有使用不可行解,很明顯看到其結果與 有使用不可行解的結果較差。而適應值增加懲罰值後,路徑數多的問題可以有比 較好的改善。然而可行解適應值不計算第二目標值,其結果沒有太大差別。. 4.3.3. VND 與 GAVND. 本節主要觀察如果直接使用 VND 與執行 GA 後再做 VND 會有怎樣的影響。 實驗參數族群大小為 20,演化代數 100,突變參數 M% = 20%。這邊決定 VND 對 相同的解個數 VNDnum = 10,VND 直接對初始化的解個別做代數 VNDiter = 5,而 GAVND 則是只做代數 VNDiter = 1,比較 GA 後減少區域搜尋代數與只有做較多 代數區域搜尋的結果。實驗測試我們挑選出的問題執行 20 次計算結果平均算 gap ,再根據問題路徑數分類求平均。 表 4.7. GAVND \ VND 不同路徑數的平均 gap 與平均執行時間. 由表 4.7 的結果,VND 雖然在路徑數 1 的問題有比較好的結果,可能原因做 了 GA 後其族群差異性較少,導致幾個路徑在做搜尋。除此之外,只做 VND 必 須要花更多的代數或對較多個體做才有可能會比 GAVND 好一些。 29.

(38) 4.3.4. 參數設定. 下表為後面測試實驗基本參數設定 表 4.8 實驗測試參數設定 族群大小. 20. 演化代數. 100. M%. 20%. GAVND VNDnum. 5. VNDiter. 5. MA VNDiter. 1. TVND. 5. 本論文測試環境。作業系統環境 Windows 7 64 bit,使用 C#語言,開發工具 Visual Studio 2013 Community。硬體環境列於表 4.9。. 4.3.5. Insertion 隨機挑選. 最後實驗測試在初始化 Insertion 部分我們改為從 Ratio 前三大的點隨機作挑 選來增加族群多樣性。本文提出的其中兩種演算法 GA、MA 和 GAVND,以之前 相同的參數設定各別使用此機制來比較測試 (IRGA、IRMA 和 IRGAVND)。我們 各種演算法次對所有問題集執行 20 次。20 次取最好結果計算 gap 並以路徑數分 類求平均並計算平均執行時間。. 30.

(39) 圖 4.1 GA/GAVND/MA 路徑數 1 問題平均最大 gap 及平均執行時間. 圖 4.2 GAVND/MA 路徑數 1 問題平均最大 gap 及平均執行時間 由圖 4.1 可以明顯看到在路徑數 1 的問題 IRGA 明顯比 GA 好很多。而在圖 4.2 我們放大 GAVND 以及 MA 的部分。IRMA 也明顯比 MA 還要好,而 GAVND 則是沒有太大差別。. 31.

(40) 圖 4.3 GA/GAVND/MA 路徑數 2&3 問題平均最大 gap 及平均執行時間 圖 4.3 可以看到在路徑數 2 的問題,隨機挑選機制改善效果變小。而在路徑 數 3 效果甚至變差,而 GAVND 也是沒有太大影響。. 圖 4.4 GA/GAVND/MA 路徑數 4 問題平均最大 gap 及平均執行時間 在路徑數 4 的問題也可以看到隨機挑選的機制會讓解變得更差。因此可以 知道當路徑數增加時,可以不必使用此機制增加解的多樣性而把解變差。. 32.

(41) 4.4. 效能評比 最後比較各演算法與我們使用 MA 各個問題集跑 20 次,由 20 次中最好的結. 果計算 gap 跟其他文獻演算法比較最好與平均執行時間。各文獻演算法數據資料 以 2014 年 I3CH [7] 所整理。表 4.9 是各文獻演算法實驗測試環境。 表 4.9 各文獻演算法的實驗環境 演算法 ILS GRASP-ELS. 實驗環境 Intel Core 2 2.5 GHz CPU, 3.45 GB RAM Intel Pentium 4, 3.00 GHz, 1 GB RAM. SSA. Intel Core 2 CPU, 2.5 GHz. I3CH. Intel Xeon E5430 CPU 2.66 GHz, 8 GB RAM. MA. Intel Core i7-3770 3.4 GHz, 4 GB RAM. 此外 MA 在問題路徑數 1 與路徑數 2 的時候使用 Insertion 隨機挑選的機制, 而路徑數 3 以上則不使用。表中#Impr 是我們找更新目前最佳解的問題數目。. 33.

(42) 表 4.10 各文獻演算法比較 gap 與執行時間. 由上表可以看到,我們在路徑數 1 的問題可以找到還不錯的解,且執行時間 除了 ILS 以外,執行時間可以比較快。然而隨著路徑數增加,結果就變的較差。 表 4.11 為我們的方法所更新的最佳解問題。 表 4.11. 更新目前最佳解的問題集. m=1. r206, r207, r209, r210, r211. m=2. r107, pr13. 34.

(43) 第五章 結論與未來發展 本論文提出以文化基因演算法求解具時窗之團隊越野競賽問題。在解的初始 化以叢集的概念來產生擁有不同路徑的解。本篇產生初始解方法與 GRASP-ELS [5] 所提出將點分區的初始化方法還要好。接著使用解路徑結合的方式來做交配 的流程來產生與目前最佳解相似的路徑。本論文將不可行解加入族群演化,並且 提出在解的比較時當兩者皆為可行解所比較的適應值以及當比較的解中有不可 行解時比較的適應值。由實驗上看到當族群有不可行解演化時可以增加解的效果 ,並且比較適應值時不可行解計算懲罰值也會提高效果。另外,改善我們的初始 化在路徑數較少的時候族群多樣性會比較少的問題,在初始化挑選點加入的過程 中使用隨機挑選,實驗可以看到針對路徑數較少的問題結果可以改善許多。最後 藉由常見的區域搜尋搜尋法來改善解。在實驗上可以發現使用基因演算法可以減 少執行區域搜尋的次數,會比只做區域搜尋的效果還要好。我們的實驗在 304 個 問題集中更新了 7 個問題集的最佳解,且執行時間可以比其他演算法快一些。 本論文提出的交配方式可能還無法每次產生我們想要的目標路徑,所以能有 效結合我們想要的目標路徑的方法是一個研究方向。此外不可行解在於族群演化 過程中,存在的代數與族群包含的個數都不會很多,如果可以接受一定數目的不 可行解在族群中,可能有助於對解的改善。另外將不可行解修復至可行解後可以 找到更好的解也是一個研究的方向。在區域搜尋 VND 部分,目前使用的鄰域函 35.

(44) 式改善解效果不大,可以使用其他路徑操作,例如:2-Opt,Or-Opt,2-Opt*等,對各 個操作搜尋嘗試做不一樣的組合,找出有效的操作組合也是可以研究的問題。. 36.

(45) 參考文獻 [1] Golden, B., Levy, L., Vohra, R. ”The orienteering problem, ”Naval Research Logistics 34, 1987, 307–318. [2] Vansteenwegen, P., Souffriau, W., Van Oudheusden, D. ”The Orienteering Problem:A survey,” European Journal of Operational Research, 2011, 209(1) ,1–10. [3] Gavals, D., Konstantopoulos, C., Mastakas, K., Pantziou, G. ”A survey on algorithmic approaches for solving tourist trip design problems.” Journal of Heuristics, 20 (3), 2014, 291-328. [4] Vansteenwegen, P., Souffriau, W., Vanden Berghe, G., Van Oudheusden, D. ”Iterated local search for the team orienteering problem with time windows,” Computers & Operations Research, 36 (12), 2009, 3281-3290. [5] Labadie, N., Melechovský, J., Calvo, RW. ”Hybridized evolutionary local search algorithm for the team orienteering problem with time windows. Journal of Heuristics, 17 (6), 2011, 729-753. [6] Gavalas, D., Konstantopoulos, C., Mastakas, K., Pantziou, G., Tasoulas, Y. “Cluster-based heuristics for team orienteering problem with time windows,” in Experimental Algorithms, 7933, 2013, 390-401. [7]. Hu, Q., Lim, A. “An iterative three-component heuristic for the team. orienteering problem with time windows,” European Journal of Operational Research, 232 (2), 2014, 276-286. [8] Lin, SW., Yu, VF. “A simulated annealing heuristic for the team orienteering problem with time windows,” European Journal of Operational Research, 217 (1), 2012, 94-107.. 37.

(46) [9] Nesrine Guibadj, R., Moulrim, A. “Memetic algorithm with efficient split procedure for the team orienteering problem with time windows,” in Artificial Evolution, 2014, 183-194. [10] Bouly, H., Dang, D.C., Moukrim, A. “A memetic algorithm for the team orienteering problem,” 4OR, 8(1), 2010, 49-70. [11] Karbowska-Chilinska, J., Zabielski, P. “Genetic algorithm with path relinking for the orienteering problem with time windows,” Proceedings of the 22nd International Workshop on Concurrency, Specification and Programming 2013, 2014, 419-431. [12] Glover, F.: “A Template for Scatter Search and Path Relinking,” in Artificial Evolution, 1363, 1997, 13-54. [13] Souffriau, W., Vansteenwegen, P., Vanden Berghe, G., Van Oudheusden, D. “A Path Relinking approach for the Team Orienteering Problem,” Computers & Operations Research 37, 2010, 1853 – 1859. [14] Xie, J., Shuai, J. “A Simple and Fast Algorithm for Global K-means Clustering,” in Proc. 2nd Int. Workshop ETCS, 2010, 36-40. [15] Nagata, Y., Bräysy, O., Dullaert, W. “A penalty-based edge assembly memetic algorithm for the vehicle routing problem with time windows,” Computers & Operations Research 37, 2010, 724-737. [16] Schneider, M.,Sand, B.,Stenger, A. “A note on the time travel approach for handling time windows in vehicle routing problems,” Computers & Operations Research 40, 2013, 2564-2568. [17] Montemanni R, Gambardella L. “Ant colony system for team orienteering problems with time windows,” Foundations of Computing and Decision Sciences, 34(4), 2009, 287–306. [18] Solomon M. “Algorithms for the vehicle routing and scheduling problem with time window constraints,” Operations Research 35, 1987, 254–65. 38.

(47) [19] Cordeau J-F, Gendreau M, Laporte G. 1997. A tabu search heuristic for periodic and multi-depot vehicle routing problems. Networks 30, 105–19.. 39.

(48)

參考文獻

相關文件

4.2 Copy the selected individuals, then apply genetic operators (crossover and mutation) to them to produce new individuals.. 4.3 Select other individuals at random and

本論文之目的,便是以 The Up-to-date Patterns Mining 演算法為基礎以及導 入 WDPA 演算法的平行分散技術,藉由 WDPA

“A Flexible, Fast, and Optimal Modeling Approach Applied to Crew Rostering at London Underground,” Annals of Operations Research 127, pp.259-281,2004. [17] Levine.D, “Application of

Marar (2000), “On the Value of Optimal Myopic Solutions for Dynamic Routing and Scheduling Problems in The Presence of User Noncompliance,” Transportation Science, Vol..

keywords: Ant Colony Optimization, Guided Local Search, Pickup and Delivery Problem with Time Windows, Time Window Partitioning Strategy... 第三章 PDPTW 轉換

In the proposed method we assign weightings to each piece of context information to calculate the patrolling route using an evaluation function we devise.. In the

ACO-GA Approach to Solve Vehicle Routing Problems,”. DOM Working Paper 08/2001, University of

關鍵字: : : :測驗理論 測驗理論 測驗理論 測驗理論, 基因演算法 基因演算法 基因演算法 基因演算法, Bloom 認知分類.. 認知分類