繁体   English   中英

OptaPlanner:更改问题事实后,约束条件匹配不会更新

[英]OptaPlanner: Constraint matches do not update after problemfact changed

我有一个UI,可以让用户在解决过程之前和之后对问题事实进行更改,即,我正在重复计划。 但是,当我将这些更改应用于分数主管时,约束条件匹配不会更新。

我的问题事实更改看起来像这样:

solutionBusiness.doProblemFactChange(scoreDirector -> {
    Patient p = patientAdmissionSchedule.getPatientList().get(0);
    scoreDirector.beforeProblemFactChanged(p);
    p.setPreferredRoomCapacity(2);
    scoreDirector.afterProblemFactChanged(p);
});

在这种情况下,scoreDirector仍会显示与旧的PreferredRoomCapacity的约束匹配。

约束匹配仅在我再次开始求解过程时才更新。 除了启动求解过程之外,是否有任何其他方式触发约束匹配?

您需要使用有效的解决方案,因此:

Patient p = ((MySchedule) scoreDirector.getWorkingSolution()).getPatientList().get(0);

与原始实例不同,请参阅文档“计划克隆”一章等。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM