0

考虑云计算机示例。如果问题集只是被改变了一点点,那么它会像这样改变整体方程怎么办:

假设一个需求(比如内存需求)只需要返回一个布尔值 true 或 false,如果进程内存需求是否适合云计算机的库存内存分配。

但为了做到这一点——它首先必须执行一些 java 计算才能得出这个决定——比如以某种方式检查数组中的值。

对于 (a) 处理布尔返回值(它是否适合)和 (b) 处理执行一些 java 计算以确定布尔返回值的要求,OptaPlanner 的最佳实践是什么?

我可以说得更具体一些,但在需要之前我不会把水弄混……

4

1 回答 1

0

这是有效的:

@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 ... end
于 2014-09-18T07:01:49.047 回答