20

Google Maps API を使用して、一連のウェイポイントを指定して「最適化された」ルートを取得する方法はありますか (つまり、巡回セールスマンの問題に対する「十分な」解決策)、または常にルートを返す方法はありますか?指定された順序でポイントしますか?

4

5 に答える 5

31

Google Maps API の DirectionsRequest には、optimizeWaypoints と呼ばれるオプションがあり、必要な処理を行う必要があります。ただし、これは最大 8 つのウェイポイントしか処理できません。

または、オープン ソース (MIT ライセンス) ライブラリを Google Maps API で使用して、最適なルート (最大 15 か所) または最適に近いルート (最大 100 か所) を取得できます。

http://code.google.com/p/google-maps-tsp-solver/を参照

www.optimap.netでライブラリの動作を確認できます。

于 2012-02-01T14:29:11.450 に答える
6

それは常にそれらを順番に与えます。

したがって、ポイントの各ペア間の距離(または時間)を一度に1つずつ見つけて、巡回セールスマン問題を自分で解決する必要があると思います。たぶん、あなたはグーグルマップにその機能を追加するように説得することができます。「十分に良い」ソリューションを構成するものは、何をしているのか、そしてそれがどれだけ速く必要なのかによって決まると思います。

于 2009-05-02T21:25:49.310 に答える
5

典型的なTSP問題では、任意の2点間を直接移動できると想定されています。地上道路の場合、これは決して当てはまりません。Googleが2点間のルートを計算するとき、ヒューリスティックなスパニングツリーの最適化を行い、通常、最適なパスにかなり近いものを考え出します。

TSPルートを計算するには、最初にグラフ内のすべてのノード間のペアワイズ距離を計算するようにGoogleに依頼する必要があります。これにはn*(n-1)/2計算が必要だと思います。次に、それらの距離を取り、それらに対してTSP最適化を実行できます。

OpenStreetMaps.orgには、必要な処理を実行できるJavaWebStartアプリケーションがあります。もちろん、計算はクライアント側で実行されています。このプロジェクトはオープンソースであり、一見の価値があるかもしれません。

場所間の最適な直線経路、または最適な運転ルートを見つけようとしていますか?ポイントを注文したいだけで、GPS座標が取れれば、とても簡単な問題になります。

于 2009-08-10T06:32:10.127 に答える
4

http://gebweb.net/optimap/を見つけまし た。見栄えがよく、簡単です。グーグルマップを使ったオンライン版。

于 2012-01-16T11:26:28.080 に答える