2017-08-24 11 views
0

実際のVRP最適化の問題に直面していて、jspritのタイヤを蹴りたい。私は、関連するスキルの制約を伴う一連の仕事を持っています。スキル制約と時間枠でそれらのジョブにサービスを提供する一連のユーザー。上のすべての点でlat-lonベースの座標です。Jsprit VRPの制約を理解する

私はVRPWithBackhaulsExampleのようないくつかの例を実行してきたので、私は、私はConstraintManagersのセットを設定する必要があることを見ることができますが、私は困っこれらの分野で概念をjspritために私のドメインをマッピングを持っています:

どう
  • JSpritの入力に関して緯度経線を表現するのですか?例では2次元空間の点を使用しているようです。 VehicleRoutingTransportCostsを使用する必要があるようですが、その方法は不明です。
  • 配信不能モデルにタイムウィンドウを使用する例はありますか?私はthis postを認識していますが、上記のモデルと同じモデルではありません。

私はちょうど正しい方向、指導を歓迎するように指摘しています。

答えて

0

JSprit入力の観点からラットロンをどのように表現できますか?

通常の緯度/経度(例:51.5287718, -0.2416806)の入力を使用できます。距離行列が明示的に設定されていない場合、Jspritはユークリッド距離計算機を使用します。 code herehereを参照してください。

デフォルトユークリッド距離計算器の他に、Great Circle Distance/Costs Calculatorもあり、Haversine formulaを使用しています。問題を構築する前に、.setRoutingCost(new GreatCircleCosts())を呼び出すだけで済みます。hereを参照してください。

道路距離が必要な場合は、自分で距離行列を生成する必要があります。 Google Maps Distance Matrix APIまたはGraphhopper Matrix APIのようなものを使用できます(現在、Google Maps APIのライセンス制限のため、後者を使用しています)。 AbstractForwardVehicleRoutingTransportCostsクラスを拡張し、距離行列サービスへのAPI呼び出しを行い、Javaレベルで作業したくない場合は、vrpBuilder.setRoutingCost(instanceOfYourCustomDistanceMatrix)

のような処理を行うことができます。 Vehicle Routing and Scheduling Tutorialを見て、ODLがGraphhopperを使ってどのように距離行列を構築できるかを見てください。

配信不能モデルにタイムウィンドウを使用する例はありますか?

あなたが何を求めているのかはっきりしていませんが、時間窓はサービス業務にもあてはまります。

恥知らずのプラグ:Javaを書く必要がなく、ODLを設定したくない場合は、intelligentrouting.ioのWebアプリケーションを使用できます。

関連する問題