添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

最近邻点策略:从任意城市出发,每次在没有到过的城市中选择最近的一个,直到经过了所有的城市,最后回到出发城市。
在这里插入图片描述
用最近邻点贪心策略求解TSP问题所得的结果不一定是最优解,图 (a)中从城市1出发的最优解是1→2→5→4→3→1,总代价只有13。当图中顶点个数较多并且各边的代价值分布比较均匀时,最近邻点策略可以给出较好的近似解,不过,这个近似解以何种程度近似于最优解,却难以保证。例如,在图(f)中,如果增大边(2, 1)的代价,则总代价只好随之增加,没有选择的余地。

#include<iostream>
#define MAXLENGTH 10
//回路长度
int TSPLength;
//无向带权图的代价矩阵
int value[5][5] =
    999, 3, 3, 2, 6 },
    3, 999, 7, 3, 3 },
    3, 7, 999, 2, 5 },
    2, 3, 2, 999, 3 },
    6, 2
本文总体内容为介绍用最 近方 (Nearest Neighbor Algorithm) 和最 近插入 求解 旅行商 问题 (Traveling Saleman Problem, TSP )。同时使用python实现算 ,并调用networkx库实现可视化。此文为本人图论课下作业的成品,含金量:无。 旅行商 问题 ,即 TSP 问题 (Travelling Salesman Problem)又译为旅行推销员 问题 、货郎担 问题 ,是数学领域中著名 问题 之一。假设有一个旅行商人要拜访n个城市,他必须选择所要走的路径,路径的限制是每个城市只能拜访一次,而且最后要回到原来出发的城市。路径的选择目标是要求得的路径路程为所有路径之中的最小值。 一、 贪心 贪心 求解 TSP 问题 有两种 贪心 策略 。 1) 最近 策略 :从任意城市出发,每次在没有到过的城市中选择 最近 的一个,直到经过了所有的城市,最后回到出发城市。 给定初始的城市a,寻找与 TSP 是一个经典的组合优化 问题 ,其目标是找到访问一组城市并返回起点的最短可能路线。在给定城市间距离的情况下,这个 问题 可以表述为找到一个排列,使得按照该排列顺序访问所有城市并返回起点的总距离最短。 TSP 问题 是NP完全 问题 ,这意味着在多项式时间内寻找全局最优解非常困难,除非P=NP 问题 得到解决。然而,存在多种近似算 和启发式方 来求得高质量的解,如 最近 、2-opt算 、模拟退火算 、遗传算 、分支定界 以及蚁群算 等。2.NN( 最近 )算 原理 最近 优化算 是一种 贪心 ,用于 求解 TSP 问题 的近似解。 贪心 求解 TSP 问题 有两种 贪心 策略 。      1) 最近 策略 :从任意城市出发,每次在没有到过的城市中选择 最近 的一个,直到经过了所有的城市,最后回到出发城市。     给定初始的城市a,寻找与其 接的最短距离的城市b,记录二者之间... 1, 旅行商 问题 (Traveling Salesman Problem, TSP ) 这个 问题 字面上的理解是:有一个推销员,要到n个城市推销商品,他要找出一个包含所有n个城市的具有最短路程的环路。 TSP 的历史很久,最早的描述是1759年欧拉研究的骑士周游 问题 ,即对于国际象棋棋盘中的64个方格,走访64个方格一次且仅一次,并且最终返回到起始点。 TSP 由美国RAND公司于1948年引入,该公司的声誉