我正在研究可以找到公交路线的离线C#应用程序。
我可以提取时间表/公交车/路线数据。我正在寻找适用于基本数据的最简单解决方案。
可以使用什么算法查找从公交车站“A”到公交车站“B”的路线?是否有适用于C#/Java的开源解决方案?
Google GTFS数据库格式是否适合简单的解决方案? http://code.google.com/transit/spec/transit_feed_specification.html
谢谢你的帮助。我坚持这一点。我不知道从哪里开始-如何存储数据以及如何找到路线。
我知道Dijkstra/A *,但是我只在不依赖时间的图表上使用了它们。
最佳答案
您正在解决的问题不是一件容易的事。如此命名的就是:混合整数非线性规划问题(MINLP)。用一位作者的话说(Deb 1998):
在Deb的论文中,他提出了一种遗传算法。
您的另一个选择是使用模拟。只是把东西扔出去,您可以立即尝试-选择从您的起点开始的数千条随机路线,然后找出在到达目的地时效果较好的路线。
想象这样的算法:您正在尝试查找从A到B的最快路线,该路线从某个时间开始。您雇佣了1,000名员工,并用四分之一的武装来武装他们。您告诉他们每当他们有机会上下车时都要掷硬币。头,下车(或上车,如果已经下车)。尾部,留在上面(或保持等待,如果关闭)。他们每个人都有一张索引卡,记下他们在进行中所做的选择。您进入B点,等待第一个家伙出现并拿走他的卡。