Я прошу прощения за вопрос, но я новичок и в питоне, и в gurobi. У меня есть функция, которая использует gurobi для решения LP, но я хотел бы ввести некоторые ограничения для этой функции в виде SET = [xi, значение ограничения равенства для xi]:
def BB(SET=[]):
try:
m = Model("mip1")
m.setParam('OutputFlag',False)
x1 = m.addVar( vtype = GRB.CONTINUOUS, name="x1")
x2 = m.addVar( vtype = GRB.CONTINUOUS, name="x2")
x3 = m.addVar( vtype = GRB.CONTINUOUS, name="x3")
x4 = m.addVar( vtype = GRB.CONTINUOUS, name="x4")
m.setObjective(9*x1+5*x2+6*x3+4*x4, GRB.MAXIMIZE)
m.addConstr(6*x1+3*x2+5*x3+2*x4<=10)
m.addConstr(x3+x4<=1)
m.addConstr(-x1+x3<=0)
m.addConstr(-x2+x4<=0)
m.addConstr(x1>=0)
m.addConstr(x1<=1)
m.addConstr(x2>=0)
m.addConstr(x2<=1)
m.addConstr(x3>=0)
m.addConstr(x3<=1)
m.addConstr(x4>=0)
m.addConstr(x4<=1)
if np.size(SET)!=0:
m.addConstr(m.getVarByName(SET[0]) == SET[1])
m.write("ADMODEL3.lp")
m.optimize()
except GurobiError:
print('Error reported')`}
Итак, если я назову BB (["x1", 0]), я бы хотел, чтобы gurobi решил LP с дополнительным ограничением x1 = 0.