我正在编写一个应用程序来建议OpenStreetMap数据上的圆形路线,但要受到一些约束(定向问题)。在我正在试验的算法的最内层循环中,需要找到两个给定点之间的最低成本路径。给定图的布局(基本上是欧几里得),A 星算法似乎有可能在给定图的最快时间内产生结果。然而,除了边缘的距离(代表地图上的实际距离)外,我还有一系列权重(目前从 0.0 缩放,最不理想到 1.0,最理想),表明特定边缘(道路/路径/等)的理想程度) 是根据我为我的应用程序设计的一些指标计算的。
我想根据这些权重修改我的距离。我知道标准的 A 星启发式方法依赖于路径的真实成本至少与估计值一样大(基于点之间的欧几里德距离)。所以我的第一个想法是提出一个方案,其中最小边缘距离是实际距离(对于权重 1.0),并且随着权重的减小,距离会增加(例如,对于权重 0.0,距离增加四倍)。这似乎是一种明智的方法,还是在这种情况下有更好的标准快速路由技术?