第一章 緒論
1.1 研究背景
在眾多不同的領域當中,都會遇到解空間搜尋問題;過去二十年來,針對解 空間搜尋問題已經有很多的文獻做深入的探討。過去的文獻大概可以劃分成三類:
(1) 數學規劃求解法(mathematic programming);(2) 啟發規則演算法(heuristic rules);(3)進化演算法(meta-heuristic algorithms) (Lin et al. 2009a)。
數學規劃求解法通常是利用數學理論來做求解的過程,可以找到最佳解;例 如:線性規劃、分支定界法、動態規劃法…等。若研究問題是屬於整數規劃問題 (integer program),在求解空間規模小時,數學規劃求解法可以很有效率的使用。
但在求解空間規模很大時,數學規劃求解法所需的求解時間會快速地上升,超出 合理的求解時間範圍(Lin et al. 2009a)。因此在求解大規模問題時,數學規劃求解 法就不適合使用,許多學者因而發展其他演算法。
啟發規則演算法(heuristic rules)是根據研究問題的特定性質所發展出來的直 覺規則,像是生產排程法則常用的 SPT (shortest processing time)、CR (critical ratio)、
EDD (earliest due date)…等。這些方法都是根據某些特定的目標函數所發展出來 的法則,只能針對比較簡單的問題。當問題的複雜度上升時,此種方法沒辦法保 持原來設想的效果,無法保證解的品質;因此求出的目標值只能成為作為一個參 考解,而非最佳解。當問題複雜度越高時,此種求解方法的效果會越來越不理想,
因此有進化搜尋演算法的發展。
進化演算法有許多的優點。首先、進化演算法不容易受到目標函數複雜度的 限制,因此可應用在複雜的空間搜尋問題。第二、進化演算法在求解大型問題時,
求解時間比數學規劃求解法的時間縮減很多。第三、進化演算法的演算流程容易 做改善與修正,可以根據問題的特性做改善與修正。由於許多空間搜尋問題複雜
2
度很高,這幾年很多學者都大量的使用進化演算法來求解問題。
進化演算法通常是根據不同的自然現象、社會學或人類思考模式…等所發展 而來。像是基因演算法(GA; genetic algorithm)、蟻群最佳化演算法(ACO; ant colony optimization)、粒子群演算法(PSO; particle swarm optimization )與模擬退火 法(SA; Simulated Annealing),都是根據自然現象所發展出來的進化演算法;而瀰 集演算法(MA; memetic algorithm)則是以社會學的角度所研發出來的演算法;而 禁忌搜尋法(TS; tabu search)是由人類思考模式所衍伸出來的進化演算法。
這些進化演算法中,原始的基因演算法和瀰集演算法具有全域搜尋的效果;
而原始的蟻群最佳化演算法、粒子群演算法、模擬退火法和禁忌搜尋法是屬於區 域搜尋的進化演算法。而所謂全域搜尋是指此類進化演算法有較好的跳脫進化機 制,不容易讓進化過程陷入區域最佳解之中。而區域搜尋的進化演算法就欠缺這 樣的跳脫進化機制,因此會比較容易陷入區域最佳解。但以求解時間而言,全域 搜尋的進化演算法需要較長的時間,而區域搜尋的進化演算法通常所需時間相對 較短。
這些進化演算法的求解過程都很類似,都是利用一組初始解來產生更好的一 組新解,而此新解有很高的機率會成為下一個初始解。而這樣產生新解的過程稱 為進化機制(evolutionary mechanism),而執行這樣的過程一次通常稱為一個世代 (generation)。所以,進化演算法也可以稱為是有多世代的進化機制演算法 (multiple-generation evolutionary algorithms)。
1.2 研究動機
過去跟進化演算法相關的研究大部分都著重在兩個部分:應用與進化機制的 改善。由於進化演算法可以應用在不同的領域上,所以過去一部分研究著重在如 何應用這些進化演算法在不同的新問題。而另一部分是針對進化演算法的缺點做
3
改進,這些研究大部分是針對進化機制做改進;例如:結合全域搜尋與區域搜尋 的互補關係,衍伸出混合式進化演算法,瀰集演算法的進化機制可以算是一種混 合式進化演算法。
過去研究大多是用相同的解表達法來解同樣的問題,很少文獻對解的表達法 (solution representation)做相關的討論。雖然有極少部分的研究去比較不同解表達 法的績效,但都沒有針對為何改變解表達法會改善解品質的原因做詳細分析。有 鑑於此,本研究重點有二:第一、擬探討解表達法會影響解品質的原因;第二、
擬探討同時改善進化機制與解表達法對解品質的影響。
由於 過 去進 化演 算法 的相關 研究 頗多 將問 題的 解 (solution)稱 為 染色體 (chromosome),為便於陳述,本論文以下將「解」與「染色體」視為同一名詞,
在文中交互採用。
1.3 研究目的
本 研 究 以 一 個 流 線 型 製 造 單 元 系 統 的 排 程 問 題 (permutation manufacturing-cell flow shop scheduling problem,簡稱 PMFS)為研究範疇,討論 解的表達法對解品質的影響。上述排程問題,過去大部分研究都使用同一解表達 法(簡稱 Sold);而巫木誠教授(2010)提出一個新的解表達法(簡稱 Snew),過去有 一些研究延用此種表達法,例如:戴邦豪(2010)、林耿漢(2011)與李奕勳(2011) 分別應用此 Snew表達法於基因演算法(genetic algorithm)、禁忌搜尋演算法(tabu search)與蟻群最佳化演算法(ant colony optimization),實證結果發現採用 Snew確實 會比採用 Sold的解品質好。
本論文研究目的有兩大類,第一大類、針對過去研究在不同演算法:基因演 算法、禁忌搜尋演算法與蟻群最佳化演算法的實驗結果,探討 Snew為何會比 Sold
表現較佳的原因。第二大類、討論同時改善進化演算法(混用 GA 與 tabu)與改
4
善解表達法(採用 Snew)對解品質的影響。
1.4 論文架構介紹
本論文接下來的章節安排如下:第二章為文獻探討,包含三個部分:(1) 分 析流線型製造單元系統排程的文獻,(2) 分析改善解表達法的相關文獻,(3) 分 析禁忌搜尋法與基因演算法的相關文獻。而第三章是探討流線型製造單元系統排 程的問題與介紹兩種表達法(Snew和 Sold)。第四章是探討禁忌搜尋法,將禁忌搜尋 法的流程與結果做詳細的描述,並針對實驗結果做詳細的分析與驗證。第五章是 探討基因演算法,將基因演算法的流程與結果做詳細的描述,並分析其實驗結果。
本研究在第六章討論蟻群最佳化演算法的流程與結果,並分析其實驗結果。本研 究在第七章提出一個新的進化演算法(混用基因演算法和禁忌搜尋法),介紹其 演算流程並分析實驗結果。同時也討論使用混合式解表達法對解品質的影響。第 八章是結論與未來研究方向。
5