2017-09-04 10 views
0
public class VehicleUpdatingVariableListener implements PlanningVariableListener<Customer> {} 

上記のクラスは7.2で削除されました。 私のOptaplannerの実装では、上記のクラスの中にupdateVehicleメソッドの内部にピースコードを書いています。VehicleUpdatingVariableListenerはバージョン6.0の7.2 optaplannerから削除されました

protected void updateVehicle(ScoreDirector scoreDirector, Customer sourceCustomer) {} 

追加されたコードは、車両が顧客で更新されたときに使用されます。相手の車両も更新しました。 相当品:余分なシャドウ変数が追加されました。

私はバージョン7.2でどうすればよいですか?

編集1

protected void updateVehicle(ScoreDirector scoreDirector, Customer sourceCustomer) { 
     Standstill previousStandstill = sourceCustomer.getPreviousStandstill(); 
     Vehicle vehicle = previousStandstill == null ? null : previousStandstill.getVehicle(); 
     Customer shadowCustomer = sourceCustomer; 
     while (shadowCustomer != null && shadowCustomer.getVehicle() != vehicle) { 
      scoreDirector.beforeVariableChanged(shadowCustomer, "vehicle"); 
      scoreDirector.beforeVariableChanged(shadowCustomer.getCounterpartCustomer(),"vehicle"); 
      shadowCustomer.setVehicle(vehicle); 
      scoreDirector.afterVariableChanged(shadowCustomer, "vehicle"); 
      scoreDirector.afterVariableChanged(shadowCustomer.getCounterpartCustomer(),"vehicle"); 
      shadowCustomer = shadowCustomer.getNextCustomer(); 
     } 
    } 

答えて

0
+0

迅速な対応のため@GeofferyDeSmet感謝。 ArrivalTimeUpdatingVariableListenerはarrivalTimeを更新するためのものですが、Vehicle Shadow変数を更新します。コードスニペットで質問を編集しました –

関連する問題