我想在我的PySCIPOpt模型中添加一个非约束。我可以看到andConsAnd、addConsOr和addConsXor,但没有一个用于NOT运算符。添加非约束的最简单方法是什么?
我想出了:
x = model.addVar('B')
not_x = model.addVar('B')
model.addCons(not_x == (x - 1) * (x - 1))但这看起来很丑陋。
我需要not_x的原因是因为我想稍后将其添加到连接词中,例如:
model.addConsAnd([not_x, y], True)但是,据我所知,如果我使用Python not operator操作,PySCIPOpt接口将无法工作:
model.addConsAdd([not x, y], True)所以上面这行代码打破了我的jupyter笔记本中的内核。
感谢您的帮助。
发布于 2020-09-18 07:51:24
二进制变量x的表达式not x与1-x相同。这在混合整数编程模型中被广泛使用。
https://stackoverflow.com/questions/63920743
复制相似问题