1

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

例子:

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

当我解决松弛模型时也会发生此问题,因此我无法检索变量的值。

4

1 回答 1

1

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

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

但必须写

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

只有在您解决了模型之后,获取变量值才有意义。

于 2015-05-13T07:16:09.063 回答