2017-01-16 2 views
0

私たちは、乗務員の輸送を最適化するソリューション(時間窓付きの車両容量の問題)を構築しています。問題は、到着乗務員を迎え入れるとき、および出発乗務員を降ろすときに、バスが正しい時刻になければならないことである。到着乗務員の乗車時間の時間枠と出発乗務員の離陸時間の時間帯を設定できますか?また、両方のタイプの乗組員が同じバスを使用しているため、最適化を実行に分割できません。乗務員の種類に基づく条件付き時間窓

答えて

1

これは、ピックアップと配信と時間窓付きのVRPです。 OptaPlannerの例には、まだピックアップと配信の例は含まれていませんが、多くのユーザーがこれまでに実装しています。ピックアップと配送を行うにはいくつかの方法があります(メーリングリストの議論などを参照)。

同じバス内で同時にクルーを混在させることができないピックアップとデリバリーの最も簡単なケースがあれば、簡単です。単純にCustomer.locationをCustomer.pickupLocationとCustomer.deliveryLocationに分割します。同様に、readyTimeとdueTimeをpickupReadyTime、pickupDueTime、deliveryReadyTimeおよびdeliveryDuetimeに分割します。次に、影のvar arrivalTimeをpickupArrivalTimeに分割し、必要に応じてdeliveryArrivalTimeに分割します。それに応じて2つのarrivalTimesを更新する変数リスナーを調整します。そのリスナーは、pickupReadyTimeがpickupArrivalTimeの後にある場合は、pickupArrivalTimeをpickupReadyTimeに遅らせることを確認します。

+0

ありがとうございました。しかし、私たちのプロジェクトに似たプロジェクトへのリンクをネット上に置いてください。 –

関連する問題