optaplanner - OptaPlanner,在 VariableListener 中设置另一个影子变量
问题描述
在示例任务分配(以及其他示例)中,在 VariableListener() 中,仅更新传入的 PlanningEntity 对象的影子变量。像
@Override
public void afterVariableChanged(ScoreDirector<TaskAssigningSolution> scoreDirector, Task task) {
updateStartTime(scoreDirector, task);
}
参数任务对象的影子变量被更新。我认为解决方案对象将不断更新,直到其所有 PlanningEntity/PlanningVariable 都被填满。并且每当一个 PlanningVariable 改变 afterVariableChanged() 将被调用,然后将计算规则以更新分数。我的问题是,如果我在 afterVariableChanged() 中更新另一个实体的影子变量,会有什么问题吗?不仅是传入对象的影子变量。我可以通过调用 scoreDirector.getWorkingSolution() 来获取另一个实体。
解决方案
推荐阅读
- java - 为什么我的确定按钮的警报对话框仍然可以单击,如果数据库中没有帐户,我已经添加了 if else 登录语句仍然可以单击按钮确定?
- vba - CDO.Message 不发送电子邮件
- c++ - 如何递归地将参数绑定到函数?
- python - python 中的 elasticsearch-dsl 库在使用 search.from_dict() 方法从字典语法构造查询时给出双重结果
- css - 仅在移动设备上 vuejs + vuetify 应用程序底部的偏移量
- c - 这提出了分段错误(核心转储)
- elasticsearch - 如果批量请求包含两次具有不同属性的相同文档,弹性搜索可以拒绝请求吗?
- javascript - NodeJs - TypeError:Post 不是构造函数
- web-scraping - 想了解 Robots.txt
- angular - 无法使用 ngModel 获取复选框的值