如何使用 Cplex api 在 Java 中使用 Indicator Constraint?

How to use Indicator Constraint in Java using Cplex api?

我正在使用 Java 和 Cplex 构建模型,在我的模型中我需要插入一个指标约束。模型中的节点由一组节点 'N' 中的 i,j 表示。我的二元决策变量是 X[ ][ ],另一个连续变量是 Q[ ]。我需要添加一个约束,以便: model.add( Q[ j ] >= Q[ i ] - d[ j ] 如果 X[ i ][ j ]==1)。 这里 d[ j ] 是节点 'j' 的常数。我正在寻找使用 Java API 和 Cplex

执行此操作的示例

您可以使用 ifThen 添加指标约束。例如(这行代码未经测试,但你应该明白了):

cplex.add(cplex.ifThen(cplex.eq(X[i][j], 1.0), cplex.ge(Q[j], Q[i] - d[j])));

有关更多信息,请参阅安装 CPLEX 时包含的 FixNet.javaFoodManufact.javaDiet.java 示例。