我想用C#制作一个分支,并在Gurobi中解决我的问题。如果y[m]
的值不是二进制,则每个y[m]
的分支值为0和1作为附加约束。以下是y[m]
和我的代码的定义:
GRBVar[] y = new GRBVar[M];
for (int m = 0; m < y.Length; m++)
{
y[m] = master.AddVar(0.0, 1.0, 0.0, GRB.CONTINUOUS, "y" + m);
}
if (objectivevalue == master.ObjVal)
y[1].Set(GRB.DoubleAttr.X, 1.0);
此代码说
错误代码10004,GRBVar.Set上的错误。
我认为它必须来自y的新设定值,但我不知道正确的语法是什么。
答案 0 :(得分:0)
X属性是只读的。要修复变量,请设置两个边界(UB / LB属性)。