tsp目錄html
- 最簡單的實踐 juejin.im/post/5d1b14…
- 最簡單的理論 juejin.im/post/5d1b15…
- 當前tsp的現狀 juejin.im/post/5d1b19…
- 單起點任務分配 juejin.im/post/5d1c6d…
- 多起點任務分配 juejin.im/post/5d1dbe…
- 更簡潔的多起點分配 juejin.im/post/5d1dc2…
- 起點時間窗 juejin.im/post/5d1f1f…
- 終點時間窗和hk juejin.im/post/5d1f44…
- LK簡介 juejin.im/post/5d25b8…
- tsp系列暫停一下 juejin.im/post/5d302e…
這一篇能夠當作前言來看, 主要是介紹一下TSP目前的狀況算法
目前主流的tsp算法有三個網絡
- LK算法
- LK基礎算法, 他的思路就是交換路徑上的點的順序(就是用一段路徑去替換另外一段), LK自己在上世紀60年代實現了2交換, 3交換(3條路徑)…
- L 貝爾實驗室的 shen lin, 沒錯華裔
- K 貝爾實驗室的brian kernighan
- LKH算法, 以LK交換爲基礎, 實現了更復雜的動態交換技術. 嘗試類算法的表明和巔峯. H再上個世紀90年代實現了5交換, 後來又實現了動態交換.
- H keld helsgaun
- 動態交換最初由Applegate實現, 基於gates-papadimitriou的成果, 沒錯這個gates就是微軟的那個bill gates, 這個成果是他念大學時作出來的, 一個本科生, 人家不要文憑, 不是由於沒法畢業, 而是由於學業對他而言不夠有挑戰性.
- LK的鏈式算法, 顧名思義, 就是一次LK結果以後, 進行簡單的隨機交換(例如4交換), 而後, 再作一次LK, 簡單的說就是鏈式調用LK. 它壟斷了上個世紀90年代的路線搜尋, concorde用到了他. 10萬城市, 僅需1s, 拿到1%偏差的結果.
- 遺傳算法, 選取兩條路線進行配種, 例如EAX邊交叉法, 兩條路線A和B, 在A(媽媽)中選擇一段邊做爲基礎, 而後在A和B(爸爸)中選擇線段(優先使用B)構建一條路徑(可能會造成局部迴路).
- 永田裕一採用EXA構造了很是有競爭力的方案, 他的蒙娜麗莎TSP方案很是精妙.
- 線性規劃, 表明做品concorde 這個領域的概念和擴展都比較多, 後面專門介紹吧.
其餘扎偏槍成功的算法, 這些算法雖然是爲了TSP而生, 可是實際對TSP沒有太多影響, 卻在其餘領域大放異彩.ide
- 退火算法, 做爲一個通用的搜索算法, 它取得了巨大的成功.
- 蟻羣算法, 他在時序調度, 蛋白質基因測序等等不少領域大顯身手.
- 神經網絡 neural network
- 禁忌搜索 tabu search
- 蜂羣算法 honey bee
參考連接:post
之因此三連發, 是前面2篇寫好好久了. 可是, 一直以爲思路不通透, 或許有問題, 昨天晚上都想通了, 而後, 這第三篇很簡單, 就一塊兒放出來了, 後面會出現有難度的內容, 我們立刻就去搞線性規劃或者lk 或者生成樹, 我在猶豫用哪個. 可能會先講一下生成樹作規劃的重大優點吧.3d