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

时间:2016-05-09 03:24:52

标签: .net gurobi

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

1 个答案:

答案 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;
    }
}

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

Visual Studio Example