我试图解决使用图形数据库的增强TSP问题,但我很挣扎。我对SQL很好,但是对于密码学家来说,我是一个不错的选择。我创建了一个包含城市(节点)和航班(关系)的简单图。Neo4J - 旅行推销员
设置:前往8个不同的城市(每周1个城市,没有重复),总飞行成本最低。我试图解决一个最佳路径,以最大限度地减少每周更改的航班成本。
Here is a file on pastebin包含我的节点&的关系。只需运行Neo4JShell即可插入数据。
我开始了使用this article为基础,但它不处理不断变化的距离(或在我的情况下飞行费用)
我知道这是可怕的语法/不可执行的,但在这里就是我到目前为止只得到两班航班;
MATCH (a:CITY)-[F1:FLIGHT{week:1}]->(b:CITY) -[F2:FLIGHT{week:2}]->(c:CITY) RETURN a,b,c;
但是,这并不运行。
接下来,我想我只是试图找到所有的城市从一周&航班,但它不工作的权利无论是作为我获得航班,其中每周<> 1以及= 1
任何人都可以帮忙吗?
PS - 我还没有结婚使用图形数据库来解决这个问题,我刚刚阅读了他们,并认为它会适合尝试它,再加上给我一个理由与他们合作,但到目前为止,我没有太多(或任何)成功。
我已将David的答案标记为可接受的解决方案。我希望能使用Neo4J,但听起来我需要看看IP解决方案。经过更多的研究,Neo4J可能会更好地模拟这种类型的关系问题,但它在计算上还不足以解决NP难题,而不是蛮力。 – NumericOverflow 2014-09-08 20:22:01