matlab实战系列之人工鱼群算法求解TSP问题原理解析(下篇源码解析)
生活随笔
收集整理的這篇文章主要介紹了
matlab实战系列之人工鱼群算法求解TSP问题原理解析(下篇源码解析)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
從算法的名字中可以看出該算法是群體智能優(yōu)化算法中的一種,人工魚群算法通過模擬魚群的覓食、聚群、追尾、隨機等行為在搜索域中進行尋優(yōu)。
人工魚群算法有三個比較重要的概念:視野范圍、k-距離鄰域、多條魚的中心。
一 | 基本概念
1 | 視野范圍Visual
人工魚群算法最重要的概念就是視野范圍Visual,在定義視野范圍之前大家需要明白兩條魚之間的“距離”是怎么計算的,如果是在二維平面上,那這個“距離”就是我們常規(guī)的歐式距離。
但如果用魚群算法求解組合優(yōu)化問題呢,這個“距離”如何定義呢?
以常見的TSP問題為例,如果城市數(shù)目為5,則兩條魚(每條魚表示一條可行路徑)可以分別表示為
1 2 3 4 5
3 2 4 1 5
那么TSP問題中兩條魚之間的“距離”為對應(yīng)位置上不同元素數(shù)目之和,這兩條魚只有在第二個和第五個位置元素相同,即為2和5,其余三個位置元素都不相同,所以這兩條魚之間的“距離”為3。
用數(shù)學(xué)表達式表達的形式為:如果有n個城市,一條魚表示成
總結(jié)
以上是生活随笔為你收集整理的matlab实战系列之人工鱼群算法求解TSP问题原理解析(下篇源码解析)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: tableau必知必会之如何在同一视图中
- 下一篇: Linux从入门到精通系列之sed命令使