第二章 排程問題與相關文獻
2.3 禁忌搜尋法、基因演算法和蟻群最佳化演算法
由於戴邦豪(2010)、林耿漢(2011)和李奕勳(2011)已經分別應用 Snew於基因演 算法、禁忌搜尋法和蟻群最佳化演算法,這些過去研究的實驗結果都發現採用 Snew比採用 Sold為佳。有鑑於此,本節將簡單描述禁忌搜尋法、基因演算法與蟻 群最佳化演算法的基本原理與應用。
2.3.1 禁忌搜尋法
禁忌搜尋法式由 Glover (1989;1990)所提出的進化演算法,其原理是來自於 人在做決策時會考慮經驗法則,做出下一次決策方向的思考模式。而禁忌搜尋法 已經廣泛的應用到許多不同的領域,例如:路徑指派、零工式排程、流線型排程、
旅行者問題與流線型製造單元系統排程問題…等。而其搜尋方式是先從設定一個
9
初始解當參考點開始進行搜尋,搜尋此點附近的所有鄰近解,從所有鄰近解中找 到一組最佳的鄰近解當作是下一個參考點,並重複這樣的步驟直到搜尋條件達成 才停止。但為了避免選到同樣的參考點,因此有禁忌列表的產生,此列表記錄著 每次交換的結果,並禁止下一次在選到同樣的交換,由此來避免選到重複的參考 點。而其在本研究中的詳細步驟將在第三章做描述。
過去許多的禁忌搜尋法的相關文獻屬於應用或改善進化機制。有關應用的部 分相關文獻如下:Wen & Huang (1996)運用禁忌搜尋法來求解多階層決策的問題,
也就是每位決策者的決策有階層區分,結果顯示比其他啟發規則演算法來的有效 且求解時間也較短。Kim et al. (1997)利用禁忌搜尋法來建立一個非階層且非集中 式的在線視頻點播網路架構,其問題本身除了考慮架設成本外,還需考慮連結成 本與程式儲存成本。其結果顯示使用禁忌搜尋法有較好的績效與效率。屬於改善 進化機制與應用的部分相關文獻如下:Cordeau & Maischberger (2012)運用平行化 的禁忌搜尋法來求解不同類型的車輛途程問題,所謂平行禁忌搜尋法就是改變原 本的進化機制,同時考慮多個初始參考點,在進化過程有一定機率可以互相取代,
來避免結果受到初始解影響;除此之外還考慮搭配其他區域最佳解,起結果顯示 其提出的方法比單單使用禁忌搜尋法績效來的好,而使用平行化禁忌搜尋法可以 更有效地找到品質不錯的解。Demir et al. (2012)提出改良式的禁忌搜尋法來求解 緩衝區的相關問題,其問題主要探討緩衝區的產能和擺放位置。其改良方式是提 出三種不同初始解的產生方式與鄰近解搜尋過程的微調機制來改善禁忌搜尋 法。
2.3.2 基因演算法
基因演算法是由 Holland (1975)所提出的進化演算法,此方原理是來自於遺 傳學上的演化機制而來。而其流程主要是先產生一群母代染色體,其組成元素稱
10
為基因。然後透過改變基因的組合來獲得更好的染色體,如此不斷的進化來達成 物競天擇適者生存的效果。而其改變基因的組合主要有兩種方式:交配與突變。
交配主要原理是基於相信良好基因的染色體所組合而成的子代會有良好的績效。
而突變是基於染色體經過跳脫式的組合可能會有更好的績效,所以也不能忽略。
其在本研究中的詳細流程將在第五章描述。
基因演算法已經非常廣泛的使用在各個領域之中,其數量之多已無法詳細一 一描述,因此本研究只針對本研究所討論的排程問題之基因演算法相關文獻做描 述。Franca et al. (2005) 改良了基因演算法的進化機制,搭配階層式區域搜尋法 選擇母代獲得更好的解品質。而 Lin et al. (2009a)則是應用基因演算法來求解不 同的問題,其目的是比較若本研究的問題分別屬於不固定順序時與固定順序時之 績效差異。結果顯示顯示不固定順序會有較好的績效。但是此研究有一缺失,就 是其不固定順序的某一初始解來自於固定順序的最佳解;此作法當然會保證不固 定順序一定會比固定順序來的好。
2.3.3 蟻群最佳化演算法
螞蟻系統演算法(ant System)是由 Dorigo & Gambardella (2002) 基於自然界 螞蟻行為所延伸出來的一種進化演算法。Dorigo et al. (2002) 之後修正螞蟻系統 演算法太快收斂,較容易落入區域最佳解的缺點,提出改良後的螞蟻演算法(ant colony system)。Dorigo 之後將這一系列演算方法命名為蟻群最佳化演算法。
蟻群最佳化演算法的基本概念是取自螞蟻外出覓食的自然行為。在覓食的過 程中,螞蟻會在行經巢穴與食物間的路徑上留下費洛蒙(pheromone),其目的是 為後來出發的螞蟻留下路徑的標記。而在覓食的初期,螞蟻會四處隨機走動,並 留下費洛蒙。當一隻螞蟻遇到許多不同費洛蒙的路徑時,會判斷並選擇一條路徑 前進。而此螞蟻會在其經過的路徑會留下費洛蒙,進而使該路徑的費洛蒙濃度增
11
高。而沒經過的路徑,會隨時間的流逝而逐漸蒸發,讓其路徑上的濃度降低。
而螞蟻在路徑的選擇上,主要是取決於路徑上的費洛蒙濃度。路徑上的濃度 愈高愈能吸引螞蟻選擇。因此,費洛蒙是螞蟻間選擇路徑的溝通工具。除此之外,
由於行經的路徑較短的螞蟻會較快地往返,使路徑上單位時間內所留下的費洛蒙 較多。相反地,路徑較長也會使往返的時間也較長,其單位時間內所留下的費洛 蒙就會比較少,進而使路徑上的費洛蒙濃度漸漸降低,愈來愈不能吸引螞蟻選擇。
經過一段時間後,此起彼落的加強作用下,很快地所有螞蟻便會使用較短的路徑 去覓食。
過去蟻群最佳化演算法多應用於求解流程式(Flowshop)生產排程問題。
Merkle & Middendorf (2005)利用蟻群最佳化演算法搭配論文提出的隨機螞蟻概 念來求解具固定序列特性之單機台流程式製造排程問題。因為在傳統蟻群最佳化 演算法中,初始解對之後的解品質有非常大的左右性,所以在論文中設置了隨機 螞蟻機制,其在尋找下一個造訪點機制上有別於一般的人工螞蟻,主要用來再加 強蟻群最佳化演算法的全域搜尋的能力,減輕初期求解對後期的左右性,減慢求 解的收斂速度。Gajpal & Rajendran (2006)提出新蟻群最佳化演算法來求解具固定 序列特性之流程式製造排程問題,其特點在於能在求解最小化完成時間變異的指 標中能比其它演算法表現的好。Chang et al. (2008)提出了 Generating artificial chromosomes for Genetic Algorithm (ACGA)來求解具固定序列特性之單機台流程 式生產排程問題,來避免因為蟻群最佳化演算法的揮發概念造成陷入停滯的現象。
其特點是在基因演算法的機率模型中加入蟻群最佳化演算法的揮發機制,此機制 讓產生新染色體時更能發現其它可能的解(全域搜尋),進而達到更好的解品質。
而 Yagmahan & Yenisey (2010)提出利用多目標蟻群最佳化演算法來求解多目標 的單機台的排程問題。其特點在於結合兩種目標值來建構費洛蒙路徑及加入類似 禁忌搜尋法的區域搜尋概念。
12