如何将由两点定义的随机线连接到一条路径中?一个旅行推销员喜欢的问题

时间:2019-06-15 20:08:54

标签: python concatenation traveling-salesman

我试图从由两个点定义的一组线中生成一条连续的线。 目前,我生成了随机行的子集,如下所示:

  

[[0,0] [2,2],[2,1] [0,1],[0,1] [2,2],...]

接下来,我想沿着这些路线追踪,以使最长的不间断路径成为可能。由于会有成百上千的这些线路,有些最终将无法连接,这是可以的。原因是它们之间可以具有以下特性:

  
      
  1. 起点相同
  2.   
  3. 终点相同
  4.   
  5. 相同的起点和终点
  6.   

结果输出看起来像一个矩阵,该矩阵跟踪应采用的最佳路径,例如:

  

[[0,0],[2,2],[0,1],[2,1]]

我不在乎优化路径长度(因为长度已经由生成的行的总长度预定义了),但是我想最小化断点的数量。同样,连续线也不必在同一位置开始和结束。

在python中进行编码我最初是从指南here开始的,我可以将数组数组用作“城市”。我不确定这是最好的方法,因为它正在尝试缩小距离。因此,我觉得基因测序数据的分析可能存在类似的问题。具有许多必须对齐才能形成连续DNA片段的片段。

最终,我正在寻找有关使用先前发布的python软件包将这些路径对齐为单个连续拉伸的任何建议。最后,如果我自己编写代码,我将在这里发布结果。

0 个答案:

没有答案