用Neo4j求解TSP问题

用Neo4j求解TSP问题,neo4j,Neo4j,是否可以使用Neo4j解决旅行商问题或多TSP问题 我必须找到一条覆盖所有节点的最优路径。我试着找到所有可能的路径,然后找到最小距离。随着节点数量的增加,执行时间呈指数增长。旅行商问题是关键。因此,执行时间不会以指数方式增加,因为如果是这样,它将是多项式的。事实上,情况可能更糟。:) 默认情况下,这些算法不在neo4j中。你能用java和cypher来做吗?当然可以。你应该这样做吗?我看到的实用建议是,一旦你到达大约100个城市,这样做就变得不切实际了。目前,拥有最佳算法的研究系统正在解决300

是否可以使用Neo4j解决旅行商问题或多TSP问题


我必须找到一条覆盖所有节点的最优路径。我试着找到所有可能的路径,然后找到最小距离。随着节点数量的增加,执行时间呈指数增长。

旅行商问题是关键。因此,执行时间不会以指数方式增加,因为如果是这样,它将是多项式的。事实上,情况可能更糟。:)

默认情况下,这些算法不在neo4j中。你能用java和cypher来做吗?当然可以。你应该这样做吗?我看到的实用建议是,一旦你到达大约100个城市,这样做就变得不切实际了。目前,拥有最佳算法的研究系统正在解决30000-50000个城市的TSP问题。就个人而言,我不建议现在就在研究系统的两个数量级内尝试它,除非你有大量的硬件和计算可以使用(例如,通过租赁的EC2计算)

在算法方面,有一个是O(n^2*2^n)。哎哟

因此,我认为从理论计算机科学的角度来看,是的,这是可行的,你必须自己编写,算法非常复杂(从某种意义上说,它需要很长时间才能执行,而且增长很快)。从实际工程的角度来看,这完全适用于不到100个城市,而且在n>=10000左右的情况下进行试验将是极其困难和昂贵的

另请参见。

首先,编程语言应该无关紧要。