當前位置:首頁 » 操作系統 » 鄰域搜索演算法

鄰域搜索演算法

發布時間: 2022-11-02 13:27:10

⑴ 剩餘矩形填充演算法是優化演算法嗎

是,針對矩形件排樣問題提出的一種新的空白矩形填充優化演算法.
首先,設計空白矩形填充演算法時,提出了消除多餘空白矩形的方法,以減小計算時間復雜度.其次,利用鄰域搜索演算法優化矩形件排放順序,通過挖掘矩形件排樣的問題特徵,設計了受限距離的交叉和插入兩種鄰域運算元,並提出了特殊運算元執行點選擇策略.然後,設計了基於兩種鄰域運算元交替迭代的鄰域搜索演算法.最後,對文獻中的21個經典案例進行試驗計算,4個案例的排樣利用率達到了100%,絕大多數案例的排樣利用率超過了99%,最小排樣利用率超過了98%.將其他常用演算法和文獻中演算法進行比較,驗證了本文演算法的有效性

⑵ 鄰域的定義是唯一的嗎鄰域的定義與搜索效率及結 果有關聯嗎簡要說明你的結

不是。有關聯。
鄰域:鄰域是指集合上的一種基礎的拓撲結構。在集合論中,它是以點a為中心的任何開區間,記作:U(a)。在拓撲學和相關的數學領域中,鄰域是拓撲空間中的基本概念。有鄰域公理(鄰域公理是現代數學拓撲結構的基礎概念)、開鄰域和閉鄰域、去心鄰域等相關研究的著作。
廣義鄰域搜索演算法的統一結構:
1.對優化過程作兩方面分解處理:方面1、基於優化空間的分層(原問題分解為子問題求解,最後將各子問題的解逆向綜合為原問題的解)方面2、基於優化進程的分層(進程層次分為若干階段,各階段採用不同的搜索演算法或鄰域函數進行優化)目前混合演算法的結構類型主要可歸納為串列、鑲嵌、並行及混合結構。
串列結構。
鑲嵌結構。
並行結構(又分為同步式並行、非同步式並行、網路結構)。
同步式:各子演算法相對獨立但與主過程的通訊必須同步。
非同步式:子演算法與主過程的通訊不受其他子演算法的限制。
網路結構:各演算法分別在獨立的存儲器上執行獨立的搜索,演算法間的通信是通過網路相互傳遞的。

⑶ 優化演算法筆記(二十六)和聲搜索演算法

(以下描述,均不是學術用語,僅供大家快樂的閱讀)
和聲搜索演算法(Harmony Search)是受音樂中的和聲啟發而提出的啟發式演算法,其提出(發表)年份為2001年,算是一個比較老的演算法了。和聲搜索演算法放在現在,其性能非常一般,不過它提出了一種領域搜索的具體實現方式,可以和不同的演算法融合,提高其他演算法的性能。

單獨看一個和聲意義不大,一個和聲的一個維度會根據群體中該維度的所以取值來確定其領域范圍,然後再進行領域搜索。

原演算法受音樂啟發,所以它所解決的目標問題也是離散的問題。
和聲搜索演算法中的一個個體被稱為和聲記憶(Harmony Memory,HM),群體中和聲記憶的數量為N,每個和聲記憶中的音數(維度)為D。每一維的取值范圍為 。

原演算法中每個維度的取值范圍L是一組有序的離散的值,即在指定的變數值中選取一個作為和聲記憶的值。
每個和聲記憶每次迭代只能變為其領域的值。
和聲演算法中有兩種操作:1.移動到領域,2.變異到領域
其概率分別為Harmony Memory Considering Rate(HMCR)和Pitch Adjusting Rate(PAR)。
其中HMCR取值約為0.95,PAR取值約為0.10。
可以看出該演算法的步驟和數值參考了遺傳演算法,而且兩者都是為了處理離散問題。

例子如下:
和聲記憶的數量為3,維度為2,其中第1維的取值范圍為{A,B,C,D,E,F,G},第2維的取值為{3,4,5,6}。
第1代,三個個體的取值如下

在計算第2代時,每個個體的每一維只能去到該維度的鄰域的值。
個體1_2能取到的值為(A,3) (A,4) (B,3) (B,4)
個體2_2能取到的值為(F,4)(F,5)(F,6)(G,4)(G,5)(G,6)
個體3_2能取到的值為(C,3)(C,4)(C,5)(D,3)(D,4)(D,5)(E,3)(E,4)(E,5),

圖中標出了這三個個體能夠到達的鄰域。

變異到鄰域到操作也很簡單,該操作是對標了遺傳演算法中的變異操作。
變異到鄰域操作時,該維度不會變異到當前已有的值。
如個體1_1變異第1維,由於群體中第1維的取值為{A,D,G}故該維度只能取到{B,C,E,F}。
下圖中標有顏色的塊出了變異操作無法到達的位置,空白位置為變異操作能夠到達的位置。(如果沒有空白位置呢?概率非常小,畢竟個體位置遠少於解空間位置,如果出現了,不變異或者隨機一個位置都行)

迭代過後,如果新的位置更好,則保留該和聲記憶,並去除最差的和聲記憶。
最後文章給出了判斷找到的解是否是最優解的判斷函數

其中Hr=HMCR,Hi會在該維度找到更好值時隨著迭代次數遞增。該公式的作用主要是為了判斷何時去結束演算法程序,不過在之前我們都是使用的最大迭代次數來結束演算法程序,所有好像沒多大用處。
演算法的流程也挺簡單的:

和聲搜索的原演算法是根據音樂中和聲概念提出的,音符是離散的,所有演算法也是離散的,對標遺傳演算法用於處理離散解空間問題,那麼如何修改和聲搜索演算法使其能處理連續數值問題呢?
最關鍵的點是如何處理「鄰域」,在連續解空間上,很難定義出一個點的領域,而且每個維度上的取值數量也是無窮的。
為和聲搜索演算法定義鄰域也有幾種思路:
1 . 將所有的個體定義為該個體的鄰域,即每次隨機從群體中選擇一個個體,該維度移動到所選中的個體處。

其中D,E,F分別為AB,AC,BC的中點,A,B,C三個和聲記憶的鄰域將由DEF這三個點及解空間邊界決定,此時的鄰域比思路2中的更小,也不會出現重疊部分。
當某一維度的兩個領域值相等時,上述(二維)的鄰域(面)將會退化成鄰域(線),可能會導致該維度快速收斂到該值,故此時需要忽略重復值,將鄰域重新展開(成為面)。
在連續演算法中,當滿足HCMR條件時,演算法將根據上面的色塊在鄰域中隨機選擇一個值;當滿足PAR條件時,由於無法剔除指定值,簡單起見,直接移動到隨機的和聲記憶的該維度。
後續的實驗由於是求解連續函數最值,故會選擇上述連續演算法中的三種思路來進行。

適應度函數 。
實驗一 : 思路一

從圖像可以看出,思路一的策略與遺傳演算法非常的相似,移動路線類似於十字架,最終也收斂到了正解附近。前期搜索主要靠鄰域移動,後期移動則是靠變異。

從結果也可以看出與遺傳演算法的差距不大,演算法不是很穩定,其策略是飛到相鄰的和聲記憶上,所以跨越度比較大,精度全靠變異。

實驗二 : 思路二

從圖像中可以看出,種群的搜索路徑不在像實驗一中那樣直來直去的十字路徑,收斂的速度也慢了不少,但是仍能在正解附近收斂。

從結果中可以看出,思路二的結果好了不少,同時也更加穩定(誤,運氣好,之前實驗出現過不好的結果,沒能重現)。該思路的鄰域搜索麵積會更大,且個體之間的鄰域存在重疊部分,故會有可能收斂於不好的位置,不過概率也較小。

實驗三 : 思路三

圖像逐漸貪吃蛇化!前期的圖像與思路一相似,後期的圖像有點類似遺傳演算法,可能是鄰域的面積逐漸縮小成了長條狀所致,不過最終「貪吃蛇」還是吃到了食物。

結果可以看出,思路三的穩定性不太行,當全部個體收斂到了一點後會開始進行思路一的替換操作,但無論如何替換都是相同的值,難以找到更優的位置,於是會出現一個較差的結果。這里也可以增加范圍隨機來跳出局部最優。

和聲搜索演算法是根據和聲樂理知識提出的演算法。由於音符是離散的值,演算法也對標了遺傳演算法,故原演算法也是針對離散問題提出的。在解決連續性問題時,需要對其鄰域概念進行擴展和修改,最終的效果與遺傳演算法相差不大。
在現在看來,和聲搜索演算法的效果屬實一般,對於其的針對性研究也不太多,該演算法主要提出了其不同於遺傳演算法的遍歷解空間的方式。所以在很多論文中都能看到用和聲搜索演算法與其他演算法融合來進行改進的例子。
與遺傳演算法相比,和聲搜索演算法的鄰域概念,將遺傳演算法的基因由線擴展到了面上。這一點有點類似於SVM和卷積神經網路的關系,不過,遺傳演算法和和聲搜索演算法的差別並沒有那麼大,只是搜索方式不同罷了。
參考文獻
Geem Z W , Kim J H , Loganathan G V . A New Heuristic Optimization Algorithm: Harmony Search[J]. Simulation, 2001, 2(2):60-68. 提取碼:4udl
Omran M , Mahdavi M . Global-best harmony search[J]. Applied Mathematics and Computation, 2008, 198(2):643-656. 提取碼:pk3s

以下指標純屬個人yy,僅供參考

目錄
上一篇 優化演算法筆記(二十五)飛蛾撲火演算法
下一篇 優化演算法筆記(二十七)蜉蝣演算法

⑷ 採用准確優化技術和啟發式優化技術解決一個問題會存在什麼不同

採用准確優化技術和啟發式優化技術解決一個問題會存在的不同之處:

①確定性演算法和隨機性演算法是目前求解優化問題的方法。隨機性演算法一般是對社會行為和自然現象的模擬,具有對優化函數的解析性質要求低的特點,甚至對無顯示解析表達式的問題也可以求解,能較好解決優化中的雜訊、不可微、高維等問題。

②啟發式演算法作為隨機性演算法的一種,其良好的應用更加快了人們對各種優化方法的探索腳步。 近些年來不斷有學者將分形應用於優化中來,試圖運用分形思想來處理復雜的優化問題。

③其中,分形演算法通過對可行域的分形分割來尋優,是一種新穎的確定性演算法,但其局限性較大,只適用於低維簡單的問題,對於當今社會中高維復雜問題則幾乎無能為力,也使得該演算法的影響力微乎其微。

④啟發式技術是基於特徵值掃描技術上的升級,與傳統反病毒特徵值掃描技術相比,優點在於對未知病毒的防禦.是特徵值識別技術質的飛躍。


(4)鄰域搜索演算法擴展閱讀

啟發式:簡化虛擬機和簡化行為判斷引擎的結合 Heuristic(啟發式技術=啟發式掃描+啟發式監控) 重點在於特徵值識別技術上的更新、解決單一特徵碼比對的缺陷.目的不在於檢測所有的未知病毒,只是對特徵值掃描技術的補充.主要針對:木馬、間諜、後門、下載者、已知病毒(PE病毒)的變種。

一、啟發式發展方向

現代啟發式演算法的研究,在理論方面還處於不斷發展中,新思想和新方法仍不斷出現。分析目前的現狀和發展方向,其發展方向有如下幾個方面:

①整理歸納分散的研究成果,建立統一的演算法體系結構。

②在現有的數學方法(模式定理、編碼策略、馬爾可夫鏈理論、維數分析理論、復制遺傳演算法理論、二次動力系統理論、傅立葉分析理論、分離函數理論、Walsh函數分析理論)的基礎上尋求新的數學工具。

③開發新的混合式演算法及開展現有演算法改進方面的研究。

④研究高效並行或分布式優化演算法。

二、啟發式演算法演算法機制特點

現代啟發式演算法在優化機制方面存在一定的差異,但在優化流程上卻具有較大的相似性,均是一種「鄰域搜索」結構。演算法都是從一個(一組)初始解出發,在演算法的關鍵參數的控制下通過鄰域函數產生若干鄰域解,按准則(確定性、概率性或混沌方式)更新當前狀態,而後按關鍵參數修改准則調整關鍵參數,一直優化到最優結果。

⑸ 智能優化演算法及其應用的目錄

第1章緒論1
1.1最優化問題及其分類1
1.1.1函數優化問題1
1.1.2組合優化問題10
1.2優化演算法及其分類12
1.3鄰域函數與局部搜索13
1.4計算復雜性與NP完全問題14
1.4.1計算復雜性的基本概念14
1.4.2P,NP,NP?C和NP?hard14
第2章模擬退火演算法17
2.1模擬退火演算法17
2.1.1物理退火過程和Metropolis准則17
2.1.2組合優化與物理退火的相似性18
2.1.3模擬退火演算法的基本思想和步驟19
2.2模擬退火演算法的馬氏鏈描述20
2.3模擬退火演算法的收斂性21
2.3.1時齊演算法的收斂性21
2.3.2非時齊演算法的收斂性26
2.3.3SA演算法漸進性能的逼近26
2.4模擬退火演算法關鍵參數和操作的設計27
2.5模擬退火演算法的改進29
2.6並行模擬退火演算法31
2.7演算法實現與應用32
2.7.1組合優化問題的求解32
2.7.2函數優化問題的求解33
第3章遺傳演算法36
3.1遺傳演算法的基本流程36
3.2模式定理和隱含並行性38
3.3遺傳演算法的馬氏鏈描述及其收斂性40
3.3.1預備知識40
3.3.2標准遺傳演算法的馬氏鏈描述41
3.3.3標准遺傳演算法的收斂性42
3.4一般可測狀態空間上遺傳演算法的收斂性44
3.4.1問題描述45
3.4.2演算法及其馬氏鏈描述45
3.4.3收斂性分析和收斂速度估計45
3.5演算法關鍵參數與操作的設計47
3.6遺傳演算法的改進50
3.7免疫遺傳演算法51
3.7.1引言51
3.7.2免疫遺傳演算法及其收斂性52
3.7.3免疫運算元的機理與構造54
3.7.4TSP問題的免疫遺傳演算法56
3.8並行遺傳演算法58
3.9演算法實現與應用59
第4章禁忌搜索演算法62
4?1禁忌搜索62
4?1?1引言62
4?1?2禁忌搜索示例63
4?1?3禁忌搜索演算法流程67
4?2禁忌搜索的收斂性68
4?3禁忌搜索的關鍵參數和操作70
4?4並行禁忌搜索演算法75
4?5禁忌搜索的實現與應用77
4?5?1基於禁忌搜索的組合優化77
4?5?2基於禁忌搜索的函數優化78
第5章神經網路與神經網路優化演算法83
5.1神經網路簡介83
5.1.1神經網路發展回顧83
5.1.2神經網路的模型84
5.2基於Hopfield反饋網路的優化策略89
5.2.1基於Hopfield模型優化的一般流程89
5.2.2基於Hopfield模型優化的缺陷90
5.2.3基於Hopfield模型優化的改進研究90
5.3動態反饋神經網路的穩定性研究94
5.3.1動態反饋網路的穩定性分析94
5.3.1.1離散對稱動態反饋網路的漸近穩定性分析95
5.3.1.2非對稱動態反饋網路的全局漸近穩定性分析99
5.3.1.3時延動態反饋網路的全局漸近穩定性分析101
5.3.2動態反饋神經網路的收斂域估計103
5.4基於混沌動態的優化研究概述105
5.4.1基於混沌神經網路的組合優化概述106
5.4.2基於混沌序列的函數優化研究概述108
5.4.3混沌優化的發展性研究109
5.5一類基於混沌神經網路的優化策略110
5.5.1ACNN模型的描述110
5.5.2ACNN模型的優化機制111
5.5.3計算機模擬研究與分析112
5.5.4模型參數對演算法性能影響的幾點結論116
第6章廣義鄰域搜索演算法及其統一結構118
6.1廣義鄰域搜索演算法118
6.2廣義鄰域搜索演算法的要素119
6.3廣義鄰域搜索演算法的統一結構120
6?4優化演算法的性能評價指標123
6?5廣義鄰域搜索演算法研究進展125
6.5.1理論研究概述125
6.5.2應用研究概述128
6.5.3發展性研究129
第7章混合優化策略130
7.1引言130
7.2基於統一結構設計混合優化策略的關鍵問題131
7.3一類GASA混合優化策略132
7.3.1GASA混合優化策略的構造出發點132
7.3.2GASA混合優化策略的流程和特點133
7.3.3GASA混合優化策略的馬氏鏈描述135
7.3.4GASA混合優化策略的收斂性136
7.3.5GASA混合優化策略的效率定性分析141
第8章混合優化策略的應用143
8.1基於模擬退火?單純形演算法的函數優化143
8.1.1單純形演算法簡介143
8.1.2SMSA混合優化策略144
8.1.3演算法操作與參數設計145
8.1.4數值模擬與分析146
8.2基於混合策略的控制器參數整定和模型參數估計研究149
8.2.1引言149
8.2.2模型參數估計和PID參數整定149
8.2.3混合策略的操作與參數設計150
8.2.4數值模擬與分析151
8.3基於混合策略的TSP優化研究154
8.3.1TSP的混合優化策略設計154
8.3.2基於典型算例的模擬研究156
8.3.3對TSP的進一步討論158
8.4基於混合策略的加工調度研究159
8.4.1基於混合策略的Job?shop優化研究159
8.4.1.1引言159
8.4.1.2JSP的析取圖描述和編碼161
8.4.1.3JSP的混合優化策略設計163
8.4.1.4基於典型算例的模擬研究166
8.4.2基於混合策略的置換Flow?shop優化研究170
8.4.2.1混合優化策略170
8.4.2.2演算法操作與參數設計172
8.4.2.3數值模擬與分析172
8.4.3基於混合策略的一類批量可變流水線調度問題的優化研究174
8.4.3.1問題描述及其性質174
8.4.3.2混合優化策略的設計175
8.4.3.3模擬結果和分析177
8.5基於混合策略的神經網路權值學習研究177
8.5.1BPSA混合學習策略178
8.5.2GASA混合學習策略178
8.5.3GATS混合學習策略179
8.5.4編碼和優化操作設計180
8.5.5模擬結果與分析180
8.6基於混合策略的神經網路結構學習研究184
8.6.1RBF網路簡介184
8.6.2RBF網路結構優化的編碼和操作設計184
8.6.3RBF網路結構的混合優化策略186
8.6.4計算機模擬與分析187
8.7基於混合策略的光學儀器設計研究189
8.7.1引言189
8.7.2模型設計190
8.7.3模擬研究和設計結果191
附錄Benchmark問題193
A:TSP Benchmark問題193
B: 置換Flow?shop Benchmark問題195
C:Job?shop Benchmark問題211
參考文獻217

⑹ 什麼是局部搜索演算法

局部搜索演算法是從爬山法改進而來的。
簡單來說,局部搜索演算法是一種簡單的貪心搜索演算法,該演算法每次從當前解的臨近解空間中選擇一個最優解作為當前解,直到達到一個局部最優解。
在計算機科學中,局部搜索是解決最優化問題的一種元啟發式演算法。局部搜索從一個初始解出發,然後搜索解的鄰域,如有更優的解則移動至該解並繼續執行搜索,否則返回當前解。
1、局部搜索演算法的基本思想:
在搜索過程中,始終選擇當前點的鄰居中與離目標最近者的方向搜索。
2、局部搜索的優點:
簡單、靈活及易於實現,缺點是容易陷入局部最優且解的質量與初始解和鄰域的結構密切相關。常見的改進方法有模擬退火、禁忌搜索等。
3、局部搜索廣泛應用:
計算機科學(主要是人工智慧)、數學、運籌學、工程學、生物信息學中各種很難找到全局最優解的計算問題。

⑺ LKH(Lin-Kernighan heuristic )一種求TSP的鄰域搜索策略

PART I 引入

題主應該指的是1973年的針對TSP的LKH演算法。LKH演算法類似於k-opt方法,常見的2-opt作為一種local search的思想題主應該是知道的,(2-opt的基本變換2-interchange如下圖)。

那麼k-opt的過程,也可以element by element,也就可以通過不計順序的δ-path之間的uv-switch來實現,每個合適的k-opt裡面的exchange都是總和為正的增益值,那麼其每一個合適的exchange的一部分都可以被uv-switch達到,所以可以令每次的G*都大於0,作為stoppingcriteria,從邏輯上來說是合理的,符合作者的element by element,在啟發式所謂的exploitation上也有好的表現力。END

P.S element by element這種思想在其他的演算法也有體現,比如遺傳演算法的改進上也有比如單位點交叉防止收斂解震動。


其他演算法效能上的提升考慮,請依次閱讀文獻[2][1]及其他相關的資料。


綜上,LKH是可以認為基於k-opt成功的改進,無論是運行的速度上,還是搜索的精度上。它在解決TSP問題上,速度和精度上仍舊有較好的表現。




水平有限,隨緣回答,若有錯誤,請指出評論,謝謝!

參考文獻:

理解演算法框架內容,文獻[1]是較好的參考資料,理解演算法細節、討論,可以參考文獻[2],其指出了backtracking的要求(從數值實驗/作者思考的philosophy上指出:應該從最多幾層開始backtracking,每層y_1, y_2contenders的數量如何,如何進一步refinements,每一次δ-path 變換中y_i怎麼高效選取等問題)

[1] Cook W.J., Cunningham W.H., Pulleyblank W.R., Schrijver A.Combinatorial Optimization

[2] S. Lin, B. W. Kernighan,An effective heuristic algorithm for the traveling salesman problem

⑻ 基於R、SA和ICP的混合鄰域搜索演算法的TSP-D路徑優化問題代碼

摘要 還是要說一點,隨機產生兩點,塞進新排列頭部。其餘的按順序往後逐個塞進去。嗯,來看圖片~

⑼ 線性規劃(LP)基本概念和搜索演算法

可以用一個符號描述一系列類似的數量值

一個方程,如果他是關於決策變數的常熟加權求和形式,則該方程式 線性方程(liner) ,佛則該方程為 非線性方程(non-linear)

目標函數 以及約束方程 中均為關於決策變數的線性方程,則該優化模型為 線性規劃(linear program, LP) ,其中目標函數可以為滿足約束的任意整數或者分數

目標函數 以及約束方程 中存在關於決策變數的線性方程,則該優化模型為 非線性規劃(nonlinear program, LP) ,其中目標函數可以為滿足約束的任意整數或者分數

一個優化模型,如果他的決策變數中存在離散變數,則該優化模型位 整數規劃(integer program, IP) ,如果整數規劃的所有決策變數均為離散變數,則該整數規劃為 純整數規劃(pure integer program) ;否則為 混合整數規劃(mixed integer program)

搜索演算法(improving search) 通過檢查鄰域來尋找比當前更好地解,若有改進則替換當前解,繼續迭代,直到鄰域中沒有更好的解為止。搜索演算法又稱為 局部改進(local improvement) 爬山演算法(hillclimbing) 局部搜索(local search) 鄰域搜索(neighborhood search)

倘若一組可行解周圍足夠小的的鄰域內沒有優於該解的可行點,則稱為 局部最優解(local optimum) ,最小化(最大化)問題存在 局部最小(最大)解

如果在全局范圍內不存在目標值優於某可行解的其他可行點,則稱為 全局最優解(global optimum) ,最小化(最大化)問題存在 全局最小(最大)解

搜索演算法沿 由當前點 向下一個搜索點 移動,其中 是當前點 處的 搜索方向(move direction) , 是沿該方向前進的 步長 , 。

對於所有足夠小的 都有 ,則稱 是當前解的一個 改進方向(improving direction) ,如果滿足所有約束條件,則為 可行改進方向

如果優化模型的目標函數 是光滑的(所有決策變數都是可微的),那麼,當 是一個n維向量的函數,當它有一個一階片倒數,這些導數組成的n維向量稱為 梯度

導數(derivative) ,描述函數隨參數的變化率,可以看做斜率。 偏導數(partial derivative) ,是保持其他變數恆定時,關於其中一個變數的導數

對於最大化目標函數 ,若 ,搜索方向 是 處的可改進方向,若 ,搜索方向 不是 處的可改進方向。

對於最小化目標函數 ,若 ,搜索方向 是 處的可改進方向,若 ,搜索方向 不是 處的可改進方向。

當目標函數梯度 ,是最大化目標 的一個改進方向, 是最小化目標函數 的一個改進方向

如果可行域內任意兩點的連線都在可行域內,則稱該可行域為 凸集

離散的可行集總是非凸集

若優化模型的可行集是凸集,那麼對任意可行解始終存在指向另一個解的可行方向,意味著,只要存在最優解,可能性不會阻礙局部最優解發展為全局最優解。

線性約束的可行集又稱為多面體集。

如果優化模型的所有約束都是線性的,那麼該模型的可行域是凸集

兩階段法

大M法

⑽ 禁忌搜索演算法淺析

姓名:劉家沐

學號:19011210553

網路來源,有刪減

【嵌牛導讀】:針對TSP問題等類似的NP-hard 問題,如果能在盡量少的計算量的情況下找到一個最優或者是較優的解成為當前一個熱門的討論話題,禁忌搜索演算法便是其中之一

【嵌牛鼻子】:禁忌搜索演算法   最優化問題    TSP問題

【嵌牛正文】:

背景:禁忌搜索演算法(Tabu Search)是由美國科羅拉多州大學的Fred Glover教授在1986年左右提出來的,是一個用來跳出局部最優的搜尋方法。在解決最優問題上,一般區分為兩種方式:一種是傳統的方法,另一種方法則是一些啟發式搜索演算法。

使用傳統的方法,我們必須對每一個問題都去設計一套演算法,相當不方便,缺乏廣泛性,優點在於我們可以證明演算法的正確性,我們可以保證找到的答案是最優的;而對於啟發式演算法,針對不同的問題,我們可以套用同一個架構來尋找答案,在這個過程中,我們只需要設計評價函數以及如何找到下一個可能解的函數等,所以啟發式演算法的廣泛性比較高,但相對在准確度上就不一定能夠達到最優,但是在實際問題中啟發式演算法那有著更廣泛的應用。 

禁忌搜索是一種亞啟發式隨機搜索演算法,它從一個初始可行解出發,選擇一系列的特定搜索方向(移動)作為試探,選擇實現讓特定的目標函數值變化最多的移動。為了避免陷入局部最優解,TS搜索中採用了一種靈活的「記憶」技術,對已經進行的優化過程進行記錄和選擇,指導下一步的搜索方向。 TS是人工智慧的一種體現,是局部領域搜索的一種擴展。禁忌搜索是在領域搜索的基礎上,通過設置禁忌表來禁忌一些已經歷的操作,並利用藐視准則來獎勵一些優良狀態,其中涉及鄰域 、禁忌表、禁忌長度、候選解、藐視准則等影響禁忌搜索演算法性能的關鍵因素。迄今為止,TS演算法在組合優化等計算機領域取得了很大的成功,近年來又在函數全局優化方面得到較多的研究,並大有發展的趨勢。

局域搜索:在一個小的搜索范圍里,進行搜索,或者根據結果逐步擴大搜索范圍,但是這樣會容易陷入局部最優

為了獲得好解,可以採用的策略有(1)擴大鄰域結構,(2)變鄰域結構    ,(3)多初始點。但這些策略依然無法保證演算法具備跳出局優的能力。

禁忌搜索:

為了找到「全局最優解」,就不應該執著於某一個特定的區域。局部搜索的缺點就是太貪婪地對某一個局部區域以及其鄰域搜索,導致一葉障目,不見泰山。 禁忌搜索 就是對於找到的一部分局部最優解,有意識地避開它(但不是完全隔絕),從而獲得更多的搜索區間。兔子們找到了泰山,它們之中的一隻就會留守在這里,其他的再去別的地方尋找。就這樣,一大圈後,把找到的幾個山峰一比較, 珠穆朗瑪峰 脫穎而出。

當兔子們再尋找的時候,一般地會有意識地避開泰山,因為他們知道,這里已經找過,並且有一隻兔子在那裡看著了。這就是禁忌搜索中「禁忌表(tabu list)」的含義。那隻留在泰山的兔子一般不會就安家在那裡了,它會在一定時間後重新回到找最高峰的大軍,因為這個時候已經有了許多新的消息,泰山畢竟也有一個不錯的高度,需要重新考慮,這個歸隊時間,在禁忌搜索裡面叫做「禁忌長度(tabu length)」;如果在搜索的過程中,留守泰山的兔子還沒有歸隊,但是找到的地方全是華北平原等比較低的地方,兔子們就不得不再次考慮選中泰山,也就是說,當一個有兔子留守的地方優越性太突出,超過了「best so far」的狀態,就可以不顧及有沒有兔子留守,都把這個地方考慮進來,這就叫「特赦准則(aspiration criterion)」。這三個概念是禁忌搜索和一般搜索准則最不同的地方,演算法的優化也關鍵在這里。

主要思路:

1、在搜索中,構造一個短期循環記憶表-禁忌表,禁忌表中存放剛剛進行過的 |T|(T稱為禁忌表)個鄰居的移動,這種移動即解的簡單變化。

2、禁忌表中的移動稱為禁忌移動。對於進入禁忌表中的移動, 在以後的 |T| 次循環內是禁止的,以避免回到原來的解,從而避免陷入循環。|T| 次循環後禁忌解除。

3、禁忌表是一個循環表,在搜索過程中被循環的修改,使禁忌表始終保持 |T| 個移動。

4、即使引入了禁忌表,禁忌搜索仍可能出現循環。因此,必須給定停止准則以避免出現循環。當迭代內所發現的最好解無法改進或無法離開它時,演算法停止。

總結:

與傳統的優化演算法相比,TS演算法的主要特點是:

 1.從移動規則看,每次只與最優點比較,而不與經過點比較,故可以爬出局部最優。

 2.選優規則始終保持曾經達到的最優點,所以即使離開了全局最優點也不會失去全局最優性。

 3.終止規則不以達到局部最優為終止規則,而以最大迭代次數、出現頻率限制或者目標值偏離成都為終止規則

禁忌搜索是對人類思維過程本身的一種模擬,它通過對一些局部最優解的禁忌(也可以說是記憶)達到接納一部分較差解,從而跳出局部搜索的目的。因而在計算搜索領域有著廣泛應用。

熱點內容
c語言負數運算 發布:2025-05-13 18:45:21 瀏覽:428
太空殺電腦版連接不到伺服器 發布:2025-05-13 18:40:19 瀏覽:457
同樣的配置為什麼跑分不同 發布:2025-05-13 18:39:06 瀏覽:278
獲取linuxcpu序列號 發布:2025-05-13 18:36:35 瀏覽:738
appleid為什麼連接伺服器出現問題 發布:2025-05-13 18:17:37 瀏覽:971
書翁怎麼配置 發布:2025-05-13 18:17:36 瀏覽:911
雲資料庫mongodb 發布:2025-05-13 18:16:12 瀏覽:774
A7編程 發布:2025-05-13 18:15:26 瀏覽:742
python視圖 發布:2025-05-13 18:14:01 瀏覽:759
win為什麼干不過安卓 發布:2025-05-13 18:12:27 瀏覽:586