使用 CP sat 求解器,我想在“OnlyEnforceIf”中使用 2 个条件,但找不到方法

问题描述 投票:0回答:1

我正在使用谷歌或工具的 CP-sat 解算器,并且我正在向我的变量添加一些约束。

如果 2 个布尔变量为 True,则应强制执行一个约束。但是我无法找到如何做到这一点。

我尝试使用 OnlyEnforceIf 方法:

模型.Add (RandomIntVar < 100).OnlyEnforcef(firstboolvar and secondboolvar)

但它给了我一个错误:未实现将 LinearExpr 实例评估为布尔值。我已经检查过,我的变量是布尔值。

你有什么办法解决这个问题吗?

python solver or-tools cp-sat
1个回答
0
投票

好吧,抱歉我找到了,

你只需要做

模型.Add(RandomIntVar < 100).OnlyEnforcef(firstboolvar, secondboolvar)

而不是“和”,抱歉造成混乱

© www.soinside.com 2019 - 2024. All rights reserved.