什么是可以用来创建公交路线的好的算法或一类算法?

我一直在考虑用于解决旅行推销员或汉密尔顿路径问题的算法,但是实际上,这两个都没有真正解决如何在两个停靠点之间移动的问题。

我希望该算法至少具有以下特征:


产生相对优化的路径(我知道问题可能是NP完整的,所以很好的启发式就可以了)
可以处理权重不同的部分路径(例如,经过该部分路径的时间)
可以被迫使用给定的起点和终点(我认为这不会是一个问题)


可以做到这一点或类似的事情的代码将受到赞赏(尤其是在C#中),但是一个好的算法本身就可以了。

注意:虽然有很多算法可以找到两点之间的最短路径,但我不知道我要停止的顺序。因此,除非我应该使用两种算法的组合(我怀疑是这种情况),否则这些算法不会达到我想要的效果(如果您认为它们可以做到,请解释一下)。

编辑:假设我知道需要做的所有停止。

最佳答案

看来,执行此操作的方法涉及使用Floyd-Warshall算法,然后使用用于解决旅行商问题的算法。

这解决了所有“可选”顶点(相交)的问题,并使用旅行商算法确定停靠点的顺序。

07-26 03:19