0

配車ルートの問題では、すべての顧客にサービスを提供する必要があるという制約を取り除きたいのですが、サービスを提供した人には賞品を追加したいと考えています。

v_i が顧客 c_i のみにサービスを提供できるように、顧客 c_i ごとに仮想車両 v_i を追加したいと考えています。したがって、N 人の顧客がいる場合、M 台の実際の車両と N 台の仮想車両があります。

私の疑問は次のとおりです: Customer クラスの valueRangeProviderRefs を設定して、クライアント c_j が車両 v_i によって提供されるのを回避するにはどうすればよいですか?

4

1 に答える 1

0

これは、過剰制約計画と呼ばれます。技術的に@PlanningVariable(nullable=true)はこれを許可する必要がありますが、OptaPlanner 6.0 (および現在 6.1) はまだ変数をサポートnullableしていません...chained

回避策: すべてのスコア ルールで無視されるダミーを 1 つ作成Vehicleし、スコア ルールを追加して、ダミーではない車両がサービスを提供しているすべての顧客に報酬を与えます。

于 2014-05-20T12:32:50.863 に答える