Google Or-tools解除了约束

时间:2014-03-23 13:20:32

标签: java constraint-satisfaction or-tools

我想使用 Google or-tools Java api,我无法解除约束。我尝试这样实现:(A == 1或B == 1)AND((C == 1或D == 1))...我该怎么做?

另一个问题是我如何实现makeSumLessOrEqual(IntVar [] VARS,IntVar limit),因为只有makeSumLessOrEqual(IntVar [] VARS,int limit)函数。

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

  

我想使用Google或工具Java api,但是我无法将约束分离。我尝试这样实现:(A == 1或B == 1)AND((C == 1或D == 1))...我该怎么做?

使用solver.makeIsEqualCstVar(A, 1)创建布尔变量

ORsolver.makeMax(boolvar_1, boolvar_2)ANDsolver.makeMin();

  

另一个问题是我如何实现makeSumLessOrEqual(IntVar [] VARS,IntVar限制),因为只有makeSumLessOrEqual(IntVar [] VARS,int限制)函数。

您需要将makeScalProd API与[1, .., 1, -1]vars + [limit]结合使用。