【发布时间】:2013-05-27 09:54:50
【问题描述】:
我有以下场景:
我想找两个城市之间的航班:A 和 B。没有从 A 到 B 的直飞航班;所以,我需要找到一个成本最低的中转航班。
另外,机票不是固定的。这取决于我购买它的时间;例如,如果我早点购买,价格会更便宜。
另外,时间也会影响飞行;例如,5 月 31 日早上 7 点从 C 到 D 只有一班航班。如果飞机在 5 月 31 日早上 8 点从 A 飞到 C,我会错过航班。出于这个原因,我将城市表示为图的顶点。如果存在从 A 到 B 的有效航班,则路径 AB 存在。重量将是机票费用。
对我的问题有什么想法或建议吗?
谢谢
【问题讨论】:
-
听起来是一个相当简单的A* 问题(显然,您还必须保留每个城市的到达日期),但您不仅要保留到给定城市的最佳路径,还可以保留所有路径(尽管您可以删除那些都较晚到达并且比另一条路径更昂贵的路径)。
-
Related question,虽然它减少了天数而不是成本。
标签: algorithm graph graph-algorithm shortest-path