我正在使用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
当我解决松弛模型时也会发生这个问题,因此我无法检索变量的值。
答案 0 :(得分:1)
如果要设置变量的起始值,则不能使用
x.set(GRB.DoubleAttr.X, 10.0);
但必须写
x.set(GRB.DoubleAttr.Start, 10.0);
获得变量值只有在解决模型后才有意义。