Gurobi 无法设置或打印(手动)变量值

Gurobi cannot set or print (manually) value of variables

我正在使用 Gurobi 6.0.2 在 Java 中编写程序,我在变量管理方面遇到了一些麻烦,特别是我无法设置或打印它们。

示例:

GRBEnv env = new GRBEnv();
GRBModel model = new GRBModel(env);
GRBVar x = model.addVar(0.0, GRB.INFINITY, 0.0, GRB.SEMIINT, "x");
x.set(GRB.DoubleAttr.X, 10.0);
System.out.println(x.get(GRB.DoubleAttr.X));

NetBeans 显示此消息:

Exception in thread "main" gurobi.GRBException: Error at GRBVar.set
    at gurobi.GRBVar.set(GRBVar.java:141)
    at core.Optimize.main(Optimize.java:29)
Java Result: 1

这个问题在我解析松弛模型时也会出现,所以我无法检索变量的值。

如果要为变量设置起始值,则不能使用

x.set(GRB.DoubleAttr.X, 10.0);

但不得不写

x.set(GRB.DoubleAttr.Start, 10.0);

只有在求解模型后获取变量值才有意义。