2016-12-25 2 views
0

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

Например.

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

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 

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

ответ

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)))