Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 在visual basic中解决TSP的最佳数据结构是什么_Vb.net_Branch_Genetic Algorithm - Fatal编程技术网

Vb.net 在visual basic中解决TSP的最佳数据结构是什么

Vb.net 在visual basic中解决TSP的最佳数据结构是什么,vb.net,branch,genetic-algorithm,Vb.net,Branch,Genetic Algorithm,我用VB编写了一个用遗传算法求解TSP的程序,我使用数组列表作为数据结构,我想问一下,在visual basic中有没有比我使用的更好的数据结构来求解TSP? 我还将在VB中编写一个程序,使用分支定界算法来解决TSP问题,在这种情况下,我可以使用什么样的数据结构,或者使用什么样的数组? 谢谢我不懂VB,但下面的内容应该足够一般 如果基因型直接是城市排列,我使用的数据结构是(对于N个城市): 距离矩阵-一个N-1乘N-1的二维数组,其中位置(i,j)包含从第i个城市到第j个城市的距离 然后,基因

我用VB编写了一个用遗传算法求解TSP的程序,我使用数组列表作为数据结构,我想问一下,在visual basic中有没有比我使用的更好的数据结构来求解TSP? 我还将在VB中编写一个程序,使用分支定界算法来解决TSP问题,在这种情况下,我可以使用什么样的数据结构,或者使用什么样的数组?
谢谢

我不懂VB,但下面的内容应该足够一般

如果基因型直接是城市排列,我使用的数据结构是(对于N个城市):

  • 距离矩阵-一个N-1乘N-1的二维数组,其中位置(i,j)包含从第i个城市到第j个城市的距离
  • 然后,基因型是城市指数的数组(或列表)(即0..N-1)
然后,由于只需在基因型中进行一次步行,并对距离进行恒定时间的查找,因此适合度评估是简单而快速的。如果内存是一个问题,问题是大的(即数以万计的城市和更多),你可能想考虑不存储整个距离矩阵并只存储它的一部分(如果问题类型允许,比如在对称的TSP中,从A到B的距离等于从B到A的距离)。或者干脆不存储它,按需计算距离


对于分枝定界法,基本上也需要距离矩阵。如果您打算按照城市选择的顺序进行基于距离的优先级排序,并且您的TSP是公制的(即每个城市都是二维平面上的一个点),您可以使用K-D树快速查找离平面上任何点最近的城市。

在什么意义上更好?执行速度(即有效的数据访问和操作)?遗传算法的有用性(例如,良好的基因型-表型图谱)?请详细说明.yas以提高程序的效率