Java optaplnner评分哪些合同不满意

Java optaplnner评分哪些合同不满意,java,drools,optaplanner,Java,Drools,Optaplanner,我正在探索optaplanner,我发现它为我提供了一个最好的解决方案以及一些评分值,如-4Hard/-3hard 我想得到更多关于这个分数的信息,比如列出在给定的解决方案中不满足的硬约束和软约束,这样用户就可以稍微更改约束以获得更好的解决方案 在optaplanner中是否可能,如果可能,如何实现 您的硬/软分数取决于您的实施情况 以Optaplanner中的示例中的CloudBalancingAsystoreCalculator为例。 你看,分数实际上是累积的总和。 Optaplanner没

我正在探索optaplanner,我发现它为我提供了一个最好的解决方案以及一些评分值,如-4Hard/-3hard

我想得到更多关于这个分数的信息,比如列出在给定的解决方案中不满足的硬约束和软约束,这样用户就可以稍微更改约束以获得更好的解决方案


在optaplanner中是否可能,如果可能,如何实现

您的硬/软分数取决于您的实施情况

以Optaplanner中的示例中的CloudBalancingAsystoreCalculator为例。 你看,分数实际上是累积的总和。 Optaplanner没有机会知道该总和中考虑的每个约束的细节。 没有定义一组约束。我们只是把它们作为一个全球目标来收集

解决方案1:在这种情况下,解决方案是在计算分数时跟踪自己未预料到的约束

在同一示例中,您将在此处插入此处理:

        // Hard constraints

        int cpuPowerAvailable = computer.getCpuPower() - cpuPowerUsage;

        if (cpuPowerAvailable < 0) {

            hardScore += cpuPowerAvailable;

            cloudbalance.trackUnrespectedHardConstraint(...)


        }
而不是

        // Hard constraints

        int cpuPowerAvailable = computer.getCpuPower() - cpuPowerUsage;

        if (cpuPowerAvailable < 0) {

            hardScore += cpuPowerAvailable;

        }
我没有探索Drools score配置,它可能是满足您需求的解决方案2

希望这有帮助


是的,请参阅“文档”部分。@GeoffreyDeSmet,这是关于如何计算分数值的,我没有找到任何指定了未满足约束信息的部分,您能指出一些示例吗?为什么第5.5节没有。解释分数:在解算器之外使用分数计算就足够了吗?