java - 什么构成参考计划变量的变化?
问题描述
什么构成了 a 中的“变化”,@PlanningVariableReference
这也是 a @PlanningEntity
?我的意思是 OptaPlanner 认识到它需要在一个VariableListenerSupport
实例中更新通知队列等的意义上的变化?
我一直假设@PlanningEntity
计划变量实例(影子或真实)的任何更改都构成了计划变量的更改,因此 OptaPlanner 了解它需要更新影子变量。
然而,我最近在这个假设上遇到了一些麻烦。
例子:
链式时序域模型:Anchor -> Link -> Link -> ...
需要IShadowVariableData
在Anchor
更改或更改时进行更新previousEntity
。
以下配置仅在我包含 startTime 时才有效@PlanningVariableReference
。我认为它只适用于@PlanningVariableReference(variableName = ANCHOR)
@PlanningEntity
public class Link {
@CustomShadowVariable(variableListenerClass = AVariableListener.class,
sources = { @PlanningVariableReference(variableName = ANCHOR),
@PlanningVariableReference(variableName = PREVIOUS),
@PlanningVariableReference(variableName = "startTime", entityClass = Anchor.class) })
public IShadowVariableData getShadowVariableData() {
return data;
}
}
@PlanningEntity
public class Anchor {
@PlanningVariable(valueRangeProviderRefs = { "startTimeVRP" })
public long getStartTime() {
return startTime;
}
}
解决方案
推荐阅读
- android - 如何将 BottomAppBar + FAB 与 BottomNavigationView 结合使用
- python-3.x - 我应该将我的 python 模块分成多个包吗?
- android - 在android中添加自定义样式时出错
- arrays - 引用 1 个单元格时出现 Ubound 的 VBA 错误
- python - 向内置函数添加功能(让 Logger.error() 做其他事情)
- amazon-web-services - Terraform 没有上传新的 ZIP
- c++ - 如何编写正确的 std::initializer_list 构造函数
- php - 查询中的联接功能使查询运行速度变慢
- lightbox - Lightbox2 中的滚动隐藏问题(作者 Lokesh Dhakar)
- python - Tensorflow:初始化在 tf.data.Dataset.map() 中创建的变量时出错