Java OptaPlanner处理计算要求以确定布尔返回值的最佳实践

Java OptaPlanner处理计算要求以确定布尔返回值的最佳实践,java,drools,optaplanner,kie,Java,Drools,Optaplanner,Kie,以云计算为例。如果问题集只是稍微改变了一下,那么它会改变整个方程,如下所示: 假设其中一个需求(比如内存需求)必须返回一个布尔值true或false,如果进程内存需求是否适合云计算机的库存内存分配 但为了做到这一点,它首先必须执行一些java计算,以得出确定结果,比如以某种方式检查数组中的值 对于(a)处理布尔返回值(适合与否)和(b)处理执行一些java计算以确定布尔返回值的要求,OptaPlanner的最佳实践是什么 我可以说得更具体一些,但在被要求之前,我不会弄脏水…这是有效的: @Pla

以云计算为例。如果问题集只是稍微改变了一下,那么它会改变整个方程,如下所示:

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

但为了做到这一点,它首先必须执行一些java计算,以得出确定结果,比如以某种方式检查数组中的值

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

我可以说得更具体一些,但在被要求之前,我不会弄脏水…

这是有效的:

@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