考虑一下云计算机的例子。如果问题集只是稍微改变了一下,所以它像这样改变了整个等式:
假设其中一个需求(比如内存需求)必须返回一个布尔值true或false,无论进程的内存需求是否适合该云计算机的库存内存分配。
但为了做到这一点,它首先必须执行一些java计算,以得出确定结果,就像以某种方式检查数组中的值一样。
对于(a)处理布尔返回值(适合与否)和(b)处理执行一些java计算以确定布尔返回值的要求,OptaPlanner的最佳实践是什么?
我可以说得更具体些,但在必要之前我不会混水摸鱼……
发布于 2014-09-18 15:01:49
这是有效的:
@PlanningEntity class MyEntity {
private MyValue var;
@PlanningEntity
public MyValue getVar() {...}
// Smart getters
public boolean isVarCool {
return var != null && var.isCool();
}
public boolean isVarCoolAndalive {
return var != null && var.isCool() && var.isAlive();
}
public int getVarWeight {
return var == null ? 0 : var.getAge() * this.getSomethingElse();
}
} 然后在约束中使用它:
rule x when MyEntity(varCool = false) then ... end
rule y when MyEntity(varWeight > 10) then ... endhttps://stackoverflow.com/questions/25826347
复制相似问题