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

相关文章
相关标签/搜索