尝试使用 .penalizeLong 时 OptaPlanner 中出现 UnsupportedOperationException

Luk*_*ško 1 optaplanner

我正进入(状态 java.lang.UnsupportedOperationException: Impossible state: passing long into an int impacter.

当尝试使用.penalizeLongConstraintProvider 类中的函数时。

yur*_*loc 6

您有一个int基于分数类型,例如HardSoftScore。你不能用long匹配重量来惩罚它。

您有 2 个选择:

选项 A。如果您的匹配重量适合int字体尺寸,只需替换penalizeLong()penalize()

选项B。否则,如果您需要用long比赛重量进行处罚。在带注释的班级中将分数类型从 更改HardSoftScore为。HardSoftLongScore@PlanningSolution