2

我正在尝试开始一个我已经集思广益了几年的个人研究项目。我知道用于查找以最快的时间访问位置的最佳顺序的图表和算法。但是我被困在下一步的研究中,是否有研究论文/算法可以解决这个问题?给定一个起点和一个终点,其中包含许多必须访问的“航路点”。并且一些航点有时间限制,例如必须在下午 4:00 之前到达航点三。因此,算法必须首先根据它们的时间限制(如果有的话)对位置进行排序,然后找到访问每个航点的最佳顺序。

我研究了许多不同的算法/启发式方法,并搜索了有关该主题的研究论文,但找不到任何确定的东西。

提前感谢您的帮助。

4

1 回答 1

2

从来没有做过这样的事情,但是......详细说明已经告诉你的 BlueRaja,我不得不说你很可能已经找到了你的圣杯(也许,你只是没有意识到)。

您尝试解决的与时间相关的问题看起来只是另一种方式来重新陈述您在穿越图形时已经必须解决的与空间相关的寻路问题。

换句话说,看起来你有两个图表要遍历。第一个是空间的,由您必须访问的航路点网络表示。第二个是您必须满足的“时间窗口”的时间(又名“时间相关”)图表,以免错过任何公共汽车/火车/轮船/飞机/任何东西。

据我所知,您可以使用常规的路径查找/图交叉算法(Dijkstra、A*、收缩层次结构等)来遍历空间图并重新使用相同的算法(或非常相似的算法) ) 也可以遍历时间相关图。

毕竟,这两个图都只是“约束”网络(要遍历的点,在空间或时间上)的数学表示,并且可以使用相同的算法进行遍历。最有可能的是,如果您查看用于整理“时间窗口”的代码,您会发现它已经非常类似于一个非常简单的与空间相关的图遍历算法。

主要问题似乎是找到时间图的良好表示(您必须尊重的“时间窗口”网络)。最有可能的是,它必须是时间受限的空间航路点(空间点,或“门”,每个都附有“时间窗口”)的图表。

无论如何,一次操作无法解决两个问题。首先,您必须在时间图中找到连接所有时间窗口(按所需顺序)的“最短路径”(即:您必须将它们整理出来,就像您已经在做的那样)。其次,您必须找到空间图中任何一对时间窗口之间的最短路径(并检查最短/最快路径是否足够快以满足下一个时间窗口)。

于 2012-10-02T15:02:10.557 回答