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

时间:2015-05-12 08:40:31

标签: java optimization gurobi

我正在使用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

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

1 个答案:

答案 0 :(得分:1)

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

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

但必须写

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

获得变量值只有在解决模型后才有意义。