gurobi模型运行,我可以优化和调试,但在调试器中,gurobi变量如下所示:gvar {Gurobi.GRBVar} Gurobi.GRBVar 我无法向下钻取并查看任何属性,例如gvar.ub或gvar.X.有办法做到这一点吗? (使用Visual Studio 2013或2015,gurobi 6.5)
答案 0 :(得分:2)
更新:自7.0版以来,Gurobi通过.NET属性提供对属性和参数的访问,因此此答案仅适用于旧版本。
Gurobi .NET界面不会将属性公开为C#属性。您可以简单地创建自己的包装类来获得此行为。以下是GRBVar
变量对象的示例包装器:
using Gurobi;
using System;
public class Variable {
private GRBVar _variable;
public double LowerBound { get { return _variable.Get(GRB.DoubleAttr.LB); } }
public double UpperBound { get { return _variable.Get(GRB.DoubleAttr.UB); } }
public double ObjectiveCoefficient {
get { return _variable.Get(GRB.DoubleAttr.Obj); }
set { _variable.Set(GRB.DoubleAttr.Obj, value); }
}
public Variable(GRBVar variable) {
if ((object)variable == null) throw new ArgumentNullException("variable");
_variable = variable;
}
}
现在您可以检查这样的变量对象: