Networking 旅行费用-总费用最少的大多数啤酒花-改良迪杰斯特拉?

Networking 旅行费用-总费用最少的大多数啤酒花-改良迪杰斯特拉?,networking,dijkstra,Networking,Dijkstra,我有很多目的地想去。他们都离这里很近。航班价格相差百分之几百。 所以我放弃了在我想去的城市之间的所有日期的所有路线的价格搜寻器 例如: A->B 2019年8月23日:20欧元 A->B 2019年9月23日:180欧元 ... ... C->D C->A 等等 可以访问的节点/地点超过20个 现在我想找一条A->B->C->A路线,它有最多的航班和最少的总成本 有没有关于如何做到这一点的建议?有没有现成的适应性解决方案 多谢各位 丹尼尔这个问题可以用迪克斯特拉来建模 作为节点内容,您可以获取每

我有很多目的地想去。他们都离这里很近。航班价格相差百分之几百。 所以我放弃了在我想去的城市之间的所有日期的所有路线的价格搜寻器

例如: A->B 2019年8月23日:20欧元 A->B 2019年9月23日:180欧元 ... ... C->D C->A 等等

可以访问的节点/地点超过20个

现在我想找一条A->B->C->A路线,它有最多的航班和最少的总成本

有没有关于如何做到这一点的建议?有没有现成的适应性解决方案

多谢各位
丹尼尔

这个问题可以用迪克斯特拉来建模

作为节点内容,您可以获取每个目的地和您现在所在的目的地的“已访问”状态。此外,您还可以知道到达目的地的日期。在开始节点中,所有目的地都未访问,您今天在家。在目标节点中,所有目的地都已访问,您稍后在家

边缘从具有n个到访目的地的状态引导到所有状态,在这些状态中,只有一个以前未到访的目的地更改为到访。边缘的权重是从实际到访目的地到新到访目的地的飞行成本。如果访问了所有目的地,则唯一剩余的边缘是从实际目的地到本国。此外,每个边缘e有价格有效的日期。法律优势是指日期较晚的优势