尝试使用 .penalizeLong 时 OptaPlanner 出现 UnsupportedOperationException
UnsupportedOperationException in OptaPlanner when trying to use .penalizeLong
我正在
java.lang.UnsupportedOperationException: Impossible state: passing long into an int impacter.
当尝试使用来自 ConstraintProvider class 的 .penalizeLong
函数时。
您有一个基于 int
的分数类型,例如 HardSoftScore
。你不能用 long
匹配权重来惩罚它。
您有 2 个选择:
选项 A。如果您的匹配权重适合 int
字号,只需将 penalizeLong()
替换为 penalize()
。
选项B。否则,如果你需要用long
匹配权重进行惩罚。在您的 @PlanningSolution
注释 class.
中将分数类型从 HardSoftScore
更改为 HardSoftLongScore
我正在
java.lang.UnsupportedOperationException: Impossible state: passing long into an int impacter.
当尝试使用来自 ConstraintProvider class 的 .penalizeLong
函数时。
您有一个基于 int
的分数类型,例如 HardSoftScore
。你不能用 long
匹配权重来惩罚它。
您有 2 个选择:
选项 A。如果您的匹配权重适合 int
字号,只需将 penalizeLong()
替换为 penalize()
。
选项B。否则,如果你需要用long
匹配权重进行惩罚。在您的 @PlanningSolution
注释 class.
HardSoftScore
更改为 HardSoftLongScore