亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Optaplanner - drools 使用舊的影子變量

Optaplanner - drools 使用舊的影子變量

米琪卡哇伊 2023-09-06 14:52:47
我正在使用 VRP 問題示例并進行一些更改。一是計算所有任務的到達和目的地時間。另一個是某些任務對必須具有相同的到達時間。更新到達時間后,我“移動”并行任務 - 并更改它們的日期。因此移動步驟可以改變另一輛車上任務的影子變量。但是,驗證兩個任務的到達是否相同的 drools 規則并沒有看到這種變化。就像他們根本沒有改變對象一樣。我究竟做錯了什么?也許我的做法是錯誤的?并行任務未標記為 ShadowVaraible 或 PlanningVariable。聽眾:public class ArrivalTimeUpdatingVariableListener implements VariableListener<Task> {    @Override    public void afterEntityAdded(ScoreDirector scoreDirector, Task task) {        updateTaskAssignmentTimes(scoreDirector);    }    @Override    public void afterVariableChanged(ScoreDirector scoreDirector, Task task) {        updateTaskAssignmentTimes(scoreDirector);    }    (...)    scoreDirector.beforeVariableChanged(task, "arrivalTime");    task.setArrivalTime(task.getArrivalTime() + diff);    scoreDirector.afterVariableChanged(task, "arrivalTime");    (...)}任務:@PlanningEntity(difficultyWeightFactoryClass = DepotAngleTaskDifficultyWeightFactory.class)public class Task extends AbstractPersistable implements Standstill {    (...)    @CustomShadowVariable(variableListenerClass = ArrivalTimeUpdatingVariableListener.class, sources = {@PlanningVariableReference(variableName = "previousStandstill")})    private Long arrivalTime;    @CustomShadowVariable(variableListenerClass = ArrivalTimeUpdatingVariableListener.class, sources = {@PlanningVariableReference(variableName = "previousStandstill")})    private Long departureTime;    (...)}博士升:rule "Parallel task soft relation"when    $task : Task(assigned, relations.tasksParallel.size() > 0, $tasksParallel : relations.tasksParallel)    Task(assigned, $tasksParallel.contains(id), doesNotHaveSameArrivalTime($task))then    scoreHolder.addHardConstraintMatch(kcontext, -1088);end
查看完整描述

1 回答

?
Smart貓小萌

TA貢獻1911條經驗 獲得超7個贊

我在字段上有 @CustomShadowVariable 注釋并使用了 lombok。當我在 getter 上添加注釋(手動創建)時,規則開始工作......



查看完整回答
反對 回復 2023-09-06
  • 1 回答
  • 0 關注
  • 100 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號