2008年12月6日 星期六

簡介META-HEURISTICS(巨集啟發式演算法)

當我們需要最佳化一個複雜的問題時,有時候求得最佳解所需的計算時間非常龐大甚至於不可行。基於求解效率的考量,很多人發展啟發式演算法(Heuristic Algorithm)來求解原問題。這種啟發式演算法的求解特性通常有一個逐步尋找優良解的邏輯,而求得的解往往並非最佳解,而是近似最佳解。逐步尋找優良解的方法有時候會採用貪婪式的尋找方法(Greedy Algorithm),之所以叫貪婪演算法,主要是因為短視近利的結果,這樣的搜尋有時會落入區域解的窠臼。若無加入適時跳出區域解的能力,就容易受到初始解好壞影響,找不到好的解。

這樣的求解過程,經由發展跟設計,具備有尋找優解及自動跳出區域解的邏輯跟機制,成為巨集啟發式演算法,這些方法具有彈性可適用在許多問題上。這類的方法通常利用收斂-跳出的邏輯,找到最後的滿意解。而這樣的方法不計其數,或者是說只要有尋優加上跳出區域解的設計,都能成為一套方法。但經過時間的檢驗,較著名的方法有基因遺傳式演算法(Genetic Algorithm,GA)、禁忌搜尋法(TABU)、螞蟻演算法(AS,ACS)、粒子群最佳化法(Particle Swam Optimization,PSO)、模擬退火法(SA)...等。

底下也將有各種Meta Hueristic的介紹:

沒有留言: