問題タブ [jsprit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
jsprit - JSprit は共有出荷を防止します
配達する荷物が複数あります。各出荷のタイプは AZ です。ビークルは複数のアイテムを保持できますが、それらはすべて同じタイプでなければなりません。最後の荷物が降ろされると、車両は別の種類の荷物を受け取ることができます (同時に車両に入ることはできません)。
StateUpdater
現在の出荷タイプでルートを更新する必要があると思いますがHardActivityConstraint
、HardRouteConstraint
ジョブをできるだけ早く拒否する必要があると思いますが、具体的にこれを行う方法がわかりません.
どのインターフェイスをStateUpdater
実装する必要がありますか?
StateUpdater, JobInsertedListener, InsertionStartsListener, InsertionEndsListener
?
この場合、どのタイプの制約を実装しますか?
jsprit - Jsprit を使用して乗車アルゴリズムの実装をダイヤルする
Dial-A-Ride シナリオを実装するタスクがあります。現在、私が利用できるオプションは、Jsprit を使用することです。Jspritのgithub wikiで次のリンクを見つけました
しかし、 「おそらく出荷の容量需要を 1 にしたい」というのが何を意味するのか正確に理解できません。
誰でも私を正しい方向に向けることができますか?
前もって感謝します。
jsprit - カスタムの距離/時間行列を使用する場合のソリューションのプロット
私は、この サンプル コードをコアに使用するプロジェクトに取り組んでいます。カスタムの距離/時間マトリックスを使用してルーティングの問題を解決します。アルゴリズムは完全に機能しているように見えますが、出力をグラフで表示する方法が見つかりません。サンプル コードだけを変更せずに実行すると、次のようになります。
2015-07-07 11:56:33,354 [メイン] 警告 jsprit.analysis.toolbox.Plotter - 座標がないため、vrp をプロットできません
このエラーは理にかなっています。実際には場所が指定されていないため、何もプロットできません。場所間の相対的な距離/時間を指定しただけです。緯度/経度で作業しており、ポイント間の実際の道路距離が必要なため、カスタム マトリックスを使用する必要があります。ただし、問題が拡大するにつれて、各場所に緯度/経度を割り当て、これらの点をデカルト座標であるかのように扱うグラフを作成するだけで非常に役立ちます。集水域はそれほど大きくないので、より複雑なプロットを作成しなくても、解決策が理にかなっているのかどうかをすぐに確認できるはずです. だから私の質問は、カスタムの距離/時間マトリックスを使用してjspritに問題を解決させる簡単な方法があるかどうかですが、プロットの目的で座標を場所に割り当てますか? まるで分からなくて、
編集: ステファンから提案された変更があっても、私はこれに長い間取り組んできましたが、役に立ちませんでした。基本コードを変更せずにそれを行う方法を見つけることができず、それによって、既に作業しているものに連鎖的な問題が発生することは望ましくありません。
場所の構築は問題ありませんが、提案されたコードとは少し異なります。
次に、サービスを作成したいときに、現在のコードによって新しい場所を定義する必要があるという問題が発生します (場所は newInstance のみを受け入れます)。
サービスが事前定義された場所にあると簡単に言う既存の方法が見つかりません。
次に、場所を直接 VehicleRoutingProblem.Builder に追加することを考えました。ビルダーに場所を追加するには、"addLocation(String LocationID, Coordinate coordinate)" として定義する必要があるため、事前定義された場所を明示的に取得しないことに注意してください。ビルダー内で定義する必要があります。これは次のようになります。
それはうまくいきます。ただし、位置インデックスとそれらをプロットする機能との間の関連付けが行われないため、それでもプロットされません。ただし、(要求されたように) ソルバーが事前定義された costMatrix のみを使用することを確認できるため、出力された回答は依然として正しいです。
jsprit - 海運業のJspirit
私たちは、ドアツードア、インターモーダル、海上トランクの 3 つの輸送モード (viz) を持つ海運業界に携わっています。収益を最大化するためにネットワークを最適化するためのさまざまなオプションを評価しています。この点に関して、特に海上でのコンテナ輸送にjspiritを使用した人を確認したかったのですか? はいの場合、何らかの洞察により評価がスピードアップします (jspirit は 1 つのオプションです)。
どうもありがとうございました
jsprit - jsprit TSP および VRP ソルバーでは、ポイント間の時間と距離の制約を指定できますか?
jsprit ソルバーがデフォルトでルート内の 2 点間に「カラスが飛ぶように」幾何学的距離を使用するかどうかは誰にもわかりませんか? もしそうなら、Google ルート計算などによって提供されるように、隣接するポイント間の事前計算された時間/距離をパラメーターとして jsprit に提供することによって、これを制限することは可能ですか?
これは、現実世界の旅が利用可能な橋のない河口の片側からのものであった場合、2 点間の実際の距離が直線距離よりもはるかに遠くなる可能性があるなどの古典的な問題を考慮に入れるためです。
routing - 車両ルーティングとしての救急車の救助 (無力化、制限時間)
これが私が解決しようとしている問題です:
- 場所 (x,y) に患者がいる町があり、患者が死ぬ時間があります。
- 患者は、救助されるために死ぬ前に病院に到着する必要があります。
- (x,y) にある一連の病院と、1 回の旅行で最大 4 人の患者を搬送し、任意の病院に搬送できる救急車がいくつかあります。
- 救急車は病院から出発し、複数回の移動を経て、最終的にどの病院にも行き着く可能性があります。
- できる限り多くの患者を救うことになっています。
- 問題の完全な説明はこちら: http://cs.nyu.edu/courses/fall15/CSCI-GA.2965-001/ambulance.html
この問題を解決するためにjspritを使用しようとしていますが、次のことを行う方法がわかりません: (API のどの部分を調べる必要があるか知りたい)
1) 救急車の数は限られているが、複数回の移動が可能であることを指定します。
- VehicleRoutingProblem.Builder.setFleetSize(FleetSize.INFINITE) を設定すると、これが行われますか? コードは正確な機能を文書化していません。
2) 患者が死ぬ前に病院に運ばれるように拘束する、または患者を離れる。
- Shipment.Builder.newInstance("...").setDeliveryTimeWindow(time_of_patient_dying) はこれを達成しますか?
3) 救急車が配達のために病院に到着するための 1 分間の荷降ろし時間を追加します。
- これについては、API のどの部分を確認すればよいかわかりません。
4) 救急車が患者を任意の病院に搬送できるようにすることで、より適切なルートを選択できるようにします。
- これについては、API のどの部分を確認すればよいかわかりません。
これまでの私のコードは次のとおりです。
jsprit - JobInsertionContent iFacts.getRoute.getStart().getLocation() が null です
車両基地から特定の半径距離にあるサービス/貨物を選択する HardActivityConstraint を実装しようとしています。
constraintStatus メソッドで、JobInsertionContext からルートの開始位置を取得しようとしていますが、値は常に null です。
助けてください。
logistics - JSprit でジョブ/車両ごとに異なるサービス時間を設定するにはどうすればよいですか?
一部の従業員はサービスを行う他の従業員よりも速いため、サービス時間は各従業員によって異なります。各車両のサービス時間に乗数を適用する方法はありますか?
他のより正確なアプローチは、各車両について計算された期間を使用してサービス時間/車両マトリックスを提供することです.SVMを使用してこのマトリックスを事前に計算できます. このデータを JSprit に渡すことはできますか?
編集:各ジョブの期間を指定できることは知っています。私が求めているのは、車両に応じて各ジョブに異なるサービス時間のマトリックスを割り当てることです。
java - jsprit maven プロジェクトを実行可能 jar にエクスポートする
eclipse mars を使用して、Maven プロジェクトから実行可能な .jar を作成しようとしています。プロジェクト自体はhttps://github.com/jsprit/jspritにあります。
これまでのところ、Maven プロジェクトとして jsprit を eclipse に正常にインポートしており、サンプルを Java アプリケーションとして実行できます。
私はまだそれを実行可能なjarとしてエクスポートすることに成功していません。SimpleExample.java をエクスポートしたいとしましょう。.jar を作成しましたが、jsprit-examples-1.6.2-SNAPSHOT-jar-with-dependencies.jar を実行しようとすると、次のエラー メッセージが表示されます。
エラー: メイン クラス jsprit.examples.SimpleExample が見つからないか、読み込めませんでした
jsprit-examples の下にある pom.xml は次のとおりです。
それ以外はすべて github リポジトリと同じです。jsprit-examples で「Maven Build...」を実行しました。「Edit Configuration->Goals」の下で、「clean package assembly:single」を実行しました。
これは maven ビルドの初めての経験なので、maven の経験がある人にとっては非常に単純な問題かもしれません。
ありがとう!