2016-05-09 4 views
0

Модель gurobi работает, я могу оптимизировать и отлаживать, но в отладчике переменные gurobi отображаются так же: gvar {Gurobi.GRBVar} Gurobi.GRBVar Я не могу развернуть и увидеть любые атрибуты, такие как gvar.ub или gvar.X. Есть ли способ сделать это? (Использование Visual Studio 2013 или 2015, gurobi 6.5)Невозможно просмотреть атрибуты переменной gurobi в visual studio для C# .net

ответ

2

UPDATE: Gurobi предоставляет доступ к атрибутам и параметрам через свойства .NET с момента выпуска 7.0, поэтому этот ответ применим только к более старым версиям.


Интерфейс 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