【问题标题】:Google Or-tools disjunction of constraintsGoogle Or-tools 约束析取
【发布时间】:2014-03-23 13:20:31
【问题描述】:

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

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

感谢您的帮助!

【问题讨论】:

    标签: java constraint-satisfaction or-tools


    【解决方案1】:

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

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

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

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

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

    猜你喜欢
    • 2019-06-28
    • 2018-06-17
    • 2015-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-30
    • 2021-04-06
    • 1970-01-01
    相关资源
    最近更新 更多