无法在 visual studio 中查看 C# .net 的 gurobi 变量属性

Unable to view gurobi variable attributes in visual studio for C# .net

gurobi 模型运行,我可以优化和调试,但在调试器中,gurobi 变量显示为:gvar {Gurobi.GRBVar} Gurobi.GRBVar 我无法深入查看任何属性,例如 gvar.ub 或 gvar.X。有什么办法可以做到这一点? (使用 Visual Studio 2013 或 2015,gurobi 6.5)

更新:自 7.0 版以来,Gurobi 提供通过 .NET 属性访问属性和参数,因此此答案仅适用于旧版本。


Gurobi .NET 接口不会将属性公开为 C# 属性。您可以简单地创建自己的包装器 class 来获得此行为。这是 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;
    }
}

现在您可以像这样检查变量对象了: