我正在调用cplex.addEq(1,x)(其中x是IloIntVar)向模型cplex添加1 == x。
我的简单问题是:如何在以后删除它?
我已经尝试过cplex.delete(x),cplex.remove(x),cplex.delete(e),cplex.remove(e),其中e = cplex.addEq(1,x)。它不起作用。
使用Java。
谢谢
答案 0 :(得分:0)
我会使用删除。 让我举一个小例子:
IloCplex myCplex = new IloCplex();
IloNumVar x = myCplex.numVar(0.0, 10);
myCplex.addMinimize(x);
IloRange myConstraint = myCplex.addEq(x,1);
myCplex.add(myConstraint);
if (myCplex.solve())
{
System.out.println("constraint x == 1 is active");
System.out.println("x = " + myCplex.getValue(x));
}
myCplex.delete(myConstraint);
if (myCplex.solve())
{
System.out.println("constraint x == 1 is deleted");
System.out.println("x = " + myCplex.getValue(x));
}
给予
constraint x == 1 is active
x = 1.0
constraint x == 1 is deleted
x = 0.0