我想使用 Google或工具Java的 API,但我无法将约束分离。我尝试这样实现:(A == 1或B == 1)AND((C == 1或D == 1))...我该怎么做?
另一个问题是我该如何实现makeSumLessOrEqual(IntVar [] VARS,IntVar限制),因为只有makeSumLessOrEqual(IntVar [] VARS,int限制)函数。
谢谢您的帮助!
最佳答案
我想使用Google或工具Java api,但不能分离约束。我尝试这样实现:(A == 1或B == 1)AND((C == 1或D == 1))...我该怎么做?
使用solver.makeIsEqualCstVar(A, 1)
创建布尔变量OR
是solver.makeMax(boolvar_1, boolvar_2)
和AND
是solver.makeMin();
另一个问题是我该如何实现makeSumLessOrEqual(IntVar [] VARS,IntVar限制),因为只有makeSumLessOrEqual(IntVar [] VARS,int限制)函数。
您需要将makeScalProd
API与[1, .., 1, -1]
和vars + [limit]
结合使用。
关于java - Google Or-tools约束的分离,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22591442/