tsp的理論和實踐(3)對於當前tsp的現狀和總體認知

tsp目錄html

  1. 最簡單的實踐 juejin.im/post/5d1b14…
  2. 最簡單的理論 juejin.im/post/5d1b15…
  3. 當前tsp的現狀 juejin.im/post/5d1b19…
  4. 單起點任務分配 juejin.im/post/5d1c6d…
  5. 多起點任務分配 juejin.im/post/5d1dbe…
  6. 更簡潔的多起點分配 juejin.im/post/5d1dc2…
  7. 起點時間窗 juejin.im/post/5d1f1f…
  8. 終點時間窗和hk juejin.im/post/5d1f44…
  9. LK簡介 juejin.im/post/5d25b8…
  10. tsp系列暫停一下 juejin.im/post/5d302e…

這一篇能夠當作前言來看, 主要是介紹一下TSP目前的狀況算法

目前主流的tsp算法有三個網絡

  1. LK算法
    1. LK基礎算法, 他的思路就是交換路徑上的點的順序(就是用一段路徑去替換另外一段), LK自己在上世紀60年代實現了2交換, 3交換(3條路徑)…
      1. L 貝爾實驗室的 shen lin, 沒錯華裔
      2. K 貝爾實驗室的brian kernighan
    2. LKH算法, 以LK交換爲基礎, 實現了更復雜的動態交換技術. 嘗試類算法的表明和巔峯. H再上個世紀90年代實現了5交換, 後來又實現了動態交換.
      1. H keld helsgaun
      2. 動態交換最初由Applegate實現, 基於gates-papadimitriou的成果, 沒錯這個gates就是微軟的那個bill gates, 這個成果是他念大學時作出來的, 一個本科生, 人家不要文憑, 不是由於沒法畢業, 而是由於學業對他而言不夠有挑戰性.
    3. LK的鏈式算法, 顧名思義, 就是一次LK結果以後, 進行簡單的隨機交換(例如4交換), 而後, 再作一次LK, 簡單的說就是鏈式調用LK. 它壟斷了上個世紀90年代的路線搜尋, concorde用到了他. 10萬城市, 僅需1s, 拿到1%偏差的結果.
  2. 遺傳算法, 選取兩條路線進行配種, 例如EAX邊交叉法, 兩條路線A和B, 在A(媽媽)中選擇一段邊做爲基礎, 而後在A和B(爸爸)中選擇線段(優先使用B)構建一條路徑(可能會造成局部迴路).
    1. 永田裕一採用EXA構造了很是有競爭力的方案, 他的蒙娜麗莎TSP方案很是精妙.
  3. 線性規劃, 表明做品concorde 這個領域的概念和擴展都比較多, 後面專門介紹吧.

其餘扎偏槍成功的算法, 這些算法雖然是爲了TSP而生, 可是實際對TSP沒有太多影響, 卻在其餘領域大放異彩.ide

  1. 退火算法, 做爲一個通用的搜索算法, 它取得了巨大的成功.
  2. 蟻羣算法, 他在時序調度, 蛋白質基因測序等等不少領域大顯身手.
  3. 神經網絡 neural network
  4. 禁忌搜索 tabu search
  5. 蜂羣算法 honey bee

參考連接:post

之因此三連發, 是前面2篇寫好好久了. 可是, 一直以爲思路不通透, 或許有問題, 昨天晚上都想通了, 而後, 這第三篇很簡單, 就一塊兒放出來了, 後面會出現有難度的內容, 我們立刻就去搞線性規劃或者lk 或者生成樹, 我在猶豫用哪個. 可能會先講一下生成樹作規劃的重大優點吧.3d

相關文章
相關標籤/搜索