我是使用7.2.0的optaplanner的新手。 关于车辆路线规划的链接,我有一个问题。
它是否要求阴影变量需要注释@planningentity,即使它是一个有问题的事实?
考虑一个例子: 我有技术和工作分配给科技。 对我来说,技术(问题事实)需要分配给工作(计划)我跟随VRP,因为它与它密切相关。我正在追踪链接(工作和技术形式链,技术是锚)。
我遇到了有关阴影变量的文档。 我的问题是," ProblemFact" POJO被定义为计划实体并且仍然合法吗?
答案 0 :(得分:1)
阴影变量是字段或属性(= getter / setter)。一个问题是一个类。规划实体也是阶级(这不是问题事实,反之亦然)。
所以,我认为问题是:“我可以拥有影子变量,其类型是一个问题吗?”答案是是。
答案 1 :(得分:1)
不。 ProblemFacts是根据PlanningVariables的变化而不变的类,因此可以在工作解决方案之间重用。
PlanningEntities是根据PlanningVariables的变化而要做而发生变化的类,因此,每个工作解决方案都需要有一个单独的克隆。
ShadowVariable是根据PlanningVariable的更改而更改的变量。如果一个类包含ShadowVariable,则意味着它会随着PlanningVariable的变化而变化,因此需要为每个工作解决方案对其进行克隆,并为其提供PlanningEntity。
如果将ShadowVariable放在ProblemFact上,我相信它将在运行时失败。