我正在尝试在一个项目中使用google CP-SAT 求解器,版本 9.11.4210。问题的一部分包括用另一个变量除以两个变量之和,但求解器返回MODEL_INVALID
。我已将问题简化如下:
model = CpModel()
v1 = model.NewIntVar(1, 1, "var1")
v2 = model.NewIntVar(1, 1, "var2")
div = model.NewIntVar(2, 2, "div")
model.add_division_equality(div, v1 + v2, v2)
solver = CpSolver()
status = solver.solve(model)
if status == MODEL_INVALID:
print("The model is invalid")
当我用 替换分子时,模型并非无效v1 + 1
。你知道为什么会发生这种情况或如何解决吗?