You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OptaPlanner - 在ConstraintProvider中使用Double变量

在OptaPlanner中使用Double类型变量直接求和的可行性
  • 结论:可以直接使用groupBy(ConstraintCollectors.sum(x))对Double类型变量进行求和操作,无需先将Double变量转换为整数形式。

  • 细节说明:
    OptaPlanner的ConstraintCollectors.sum()原生支持包括Double在内的所有数值类型求和。不过需要注意浮点数的固有特性:多次累加Double类型数值可能会产生微小的精度误差。如果你的业务场景对精度要求极高(比如金融类计算),需要自行评估误差是否在可接受范围内;但对于普通的数值求和场景,直接使用原Double变量完全满足需求。

  • 示例代码:

Constraint calculateTotalX(ConstraintFactory factory) {
    return factory.from(YourPlanningEntity.class)
            .groupBy(ConstraintCollectors.sum(YourPlanningEntity::getX)) // getX()返回Double类型
            .reward("Total X reward", HardSoftScore.ONE_SOFT, total -> total);
}

内容的提问来源于stack exchange,提问作者yassine

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 19:05:24