第三章 加入隨機化之最佳化方法
3.2 加入隨機化之最佳化方法介紹
本節將大略介紹三種演算法(Evolutionary Computation)包括:基因演算法、
模擬退火法以及蟻群最佳化演算法。說明這幾種演算法之原理及其求解之概念。
此些演算法多基於自然界之現象,並將此些現象利用數學模型加以歸納而成。即 是所謂仿生演算法。
3.2.1 基因演算法
基因演算法首先於1975年被Holland所提出,模擬自然界生物之演化,經過物 競天擇下,而演化到最後之解。
Holland 本來在研究細胞自動機 (cellular automata),他在探討自然與人工系統 間的動態適應調整問題時奠定了發展 GA 的雛型(Holland 1975)。GA 是以進化論 為基礎,模擬生物界的 “適者生存,不適者淘汰” 的生存演化法則,每一物種在生 存環境中會彼此相互競爭,只有適應性強的物種才得以存活與繁衍,這種自然淘 汰機制會逐漸發展出來最優秀的品種。Holland 認為自然界的演化是發生在生物染 色體的基因中,每一種生物的特徵係來自於該種生物上一代的基因排列,演化是 指每一代間的基因所發生的變化情形。所謂適者生存是指這一代的基因排列優於 上一代的基因排列而產生比上一代更能適應環境生存的世代。因此 GA 是強調基 因型的轉變,將問題的可能解答經過編碼成為基因型式,利用遺傳運算子演化來 找到最佳解。這些遺傳運算子是模擬生物界的演化程序,包括有複製(reproduction)、
交配(crossover)與突變(mutation)。交配是 GA 的主要運算子,而突變是次要 的。於生物界實際的演化過程需要經過數百千或數萬年之久,可是使用計算機執 行 GA 程式只需要數秒鐘就可以完成。
基因演算法的做法是:最初隨機產生規模為 N 的第 0 代群體,評估每一個 個體後得到適應值。每一次根據適應值挑選兩個個體當做雙親,適應值較高者被 挑選的機會多於適應值較低者,因此高適應值的個體有多次的機會繁衍於後代。
雙親根據交配機率決定是否要交配產生子代還是只是複製自己,交配後的子代再 根據突變機率決定是否做突變,而交配機率大於突變機率。因此交配是主要的演 化運算,而突變是次要的,演化後產生的子代或原來的雙親共同組成下一代的群 體。(林豐澤 2005)經由持續的交配及突變步驟,其群體所代表的解會漸漸趨進 收斂,最後所得到之解就是所要的答案。
35
3.2.2 模擬退火法
模擬退火法首先於1983 年被 Kirkpatrick et al.提出,其為模擬固體退火降溫的 過程。退火為一個熱處理程序以獲得物質的低能量狀態,此程序包含兩步驟,首 先先將物質加熱至溶解狀態的最高溫,然後緩慢的降低溫度,直到物質的分子排 列為基礎狀態(ground state)。所謂基礎狀態,是指分子的排列具高度結構化的架 構,意即系統能量最低,因此模擬退火法便是利用物質結晶過程和最佳化程序之 間的類似性所發展出來的演算法。
加熱物體時,固體分子不斷運動,並隨溫度升高而偏離平衡位置,當溫度升 高到熔解溫度後,固體的規則性便被破壞進而轉變為液體,此過程稱為熔解
(fusion)。冷卻時,液體粒子運動減弱,隨溫度降低而漸漸至結晶溫溫度時,便 凝固為固體,此過程稱為退火(annealing)。退火過程要緩慢進行,為了使系統在 每個溫度下都達到平衡狀態,最終才到固體的基態,退火過程中,系統能量也隨 溫度而趨於最小值。冷卻若急速降溫會引起淬火效應,則固體只能冷凝為非均勻 的近穩態,系統之能量將不會達最小。
模擬退火法將求解過程看成類似固體的退火過程,採用Metropolis 接受準則,
來跳離區域最佳解,並訂定降溫程序(annealing schedule)控制過程,使演算法能 得到最佳解(林裕顥 2001)。
3.2.3 蟻群最佳化演算法
蟻群最佳化演算法首先於1991 年被 Colorni et al.提出,是一種用來在圖中尋 找最佳化路徑的機率型方法,其靈感來源於螞蟻在尋找食物過程中發現路徑的行 為。現實中螞蟻並沒有記憶路徑的能力,但是仍然能夠找尋到食物。而在找到食 物後,過些許時間,整群螞蟻也皆能沿著大致的路徑將食物運送回蟻巢。螞蟻運 用分泌費洛蒙進行交流,類似一種氣味,若是其中一個螞蟻發現了食物,它就會
在回家的路上留下一路的氣味,其他的螞蟻就會沿著這條路線去找食物,並不斷 地加強氣味。如果這裡的食物被採集完了,沒有螞蟻再來,氣味就會逐漸消散。
而將以上的生物行為規範為數學即成為蟻群最佳化演算法。其中設定路徑規則,
假設螞蟻之路徑選擇具有機率性,但是加入了根據費洛蒙強度來限制其路徑。而 另外一個規則則是費洛蒙更新規則,當路徑被走過時則會加強路徑之費洛蒙濃度,
而費洛蒙也包含一蒸發係數,代表若是路徑較少被使用,將使濃度漸漸減少,因 而此路徑在被選擇的機會便降低。隨著以上兩規則,經由大量群體尋找後,較好 的路徑解便會被持續加強,最終群體便會沿著較佳的路徑行動,而找到的路徑即 為此演算法之解。