Разбираем переменные в ограничениях в gurobi

После создания модели LP я хочу проанализировать ограничения, чтобы получить некоторую информацию о переменных ограничений.

Например.

Я хочу узнать, в каких ограничениях использовалась конкретная переменная.

if I want to search for variable 'x' and the constraints used in lp are the following
c0: x + y <= 2
c1: x + z <= 5
c2: y + z <= 10

I should get c0 and c1 as the constraints that use x.

Другая причина в том, что я хотел бы узнать, какие переменные использует конкретное ограничение.

if constraint is  c0: x + y + z <= 2

I want to return variables x, y and z as the variables used in this constraint

Я знаю, что могу получить переменные и их значения в гуроби, но не смог найти ничего по заданному мною здесь вопросу.


person brokendreams    schedule 25.12.2016    source источник


Ответы (1)


Вы делаете это через язык программирования. Вот пример кода на Python:

m = read('mymodel.lp') # or use the model object you created

x = m.getVarByName('x')
col = m.getCol(x)
for i in range(col.size()):
  print("constraint %s, coefficient=%f" % (col.getConstr(i).ConstrName, col.getCoeff(i)))

c0 = m.getConstrByName('c0')
row = m.getRow(c0)
for i in range(row.size()):
  print("variable %s, coefficient=%f" % (row.getVar(i).VarName, row.getCoeff(i)))
person Greg Glockner    schedule 26.12.2016