私は、いくつかの制約(オリエンテーリングの問題)を条件として、OpenStreetMapデータ上の循環ルートを提案するアプリケーションを作成中です。私が試しているアルゴリズムの最も内側のループでは、2つの与えられたポイント間の最低コストのパスを見つけるための要件です。グラフのレイアウト(基本的にはユークリッド)を考えると、Aスターアルゴリズムはグラフを考えると最も速い時間で結果を生成する可能性が高いようです。ただし、エッジの距離(マップ上の実際の距離を表す)だけでなく、特定のエッジ(道路/パスなど)がどれほど望ましいかを示す一連の重み(現在、0.0、最も望ましくないものから1.0、最も望ましいものにスケーリング)もあります。 )は、アプリケーション用に考案したいくつかのメトリックに従って計算されます。
これらの重みに基づいて距離を変更したいと思います。標準のAスターヒューリスティックは、パスの実際のコストが少なくとも推定値と同じであることに依存していることを認識しています(ポイント間のユークリッド距離に基づく)。したがって、私の最初の考えは、最小エッジ距離が実際の距離(重み1.0の場合)であり、重みが減少するにつれて距離が増加する(たとえば、重み0.0の場合の距離が4倍になる)スキームを考え出すことでした。これは賢明なアプローチのように思われますか、それともこれらの状況下で高速ルーティングを行うためのより優れた標準的な手法がありますか?