问题在于寻找一架飞机通过四维风(不同高度和随着旅行而变化的风(预测性风模型))的最佳路径。
我使用传统的A *搜索算法并将其修改为在三个维度和风矢量中工作。
它在很多情况下都有效但非常缓慢(我处理了大量数据节点)并且对某些边缘情况无效。
我觉得我已经使它“很好地”工作了,但感觉它非常混乱。
是否有更好更有效的寻路方式(也许是遗传算法或神经网络),或者我甚至没有考虑的东西?也许是流体力学?我不知道?
编辑:进一步细节。
数据是风向量(方向,大小)。 数据在25个不同的海拔高度上间隔15x15km。
所谓“并非总是可行”,是指它会为一架飞机选择愚蠢的路径,因为路径权重与另一条路径相同。对于路径规划而言是可以接受的,但对于飞机来说则是次优的。
我为每个节点更改考虑了很多因素:
- 提升高度的成本大于下降的成本。 - 风阻力。 - 忽略阻力过高的节点。 - 对角线旅行成本与直行等的成本。
我使用欧几里得距离作为启发式或H值。 我为我的权重或G值(上述列表)使用各种因素。
谢谢!
我使用传统的A *搜索算法并将其修改为在三个维度和风矢量中工作。
它在很多情况下都有效但非常缓慢(我处理了大量数据节点)并且对某些边缘情况无效。
我觉得我已经使它“很好地”工作了,但感觉它非常混乱。
是否有更好更有效的寻路方式(也许是遗传算法或神经网络),或者我甚至没有考虑的东西?也许是流体力学?我不知道?
编辑:进一步细节。
数据是风向量(方向,大小)。 数据在25个不同的海拔高度上间隔15x15km。
所谓“并非总是可行”,是指它会为一架飞机选择愚蠢的路径,因为路径权重与另一条路径相同。对于路径规划而言是可以接受的,但对于飞机来说则是次优的。
我为每个节点更改考虑了很多因素:
- 提升高度的成本大于下降的成本。 - 风阻力。 - 忽略阻力过高的节点。 - 对角线旅行成本与直行等的成本。
我使用欧几里得距离作为启发式或H值。 我为我的权重或G值(上述列表)使用各种因素。
谢谢!