Gurobi Python изменить значение определенного значения

У меня есть вопрос о том, как изменить коэффициент в ограничении. Например, у меня есть следующее ограничение:

lhs.addTerms(temp, x[i])
model.addConstr(cost, GRB.EQUAL, 1.0/a*lhs, 'cost_cons')

Если я хочу изменить "temp" в следующей итерации, как изменить модель? Спасибо большое

1 ответ

Решение

Не могли бы вы дать немного больше информации? Я думаю, что вы хотите сделать, это изменить коэффициенты x[i] в ​​этом конкретном ограничении. Если это так, тогда вы должны сохранить ограничение, назначив его переменной (или добавив его в список):

lhs.addTerms(temp, x[i])
savedConstraint = model.addConstr(cost, GRB.EQUAL, 1.0/a*lhs, 'cost_cons')

Затем на следующей итерации вы можете использовать chgCoeff (см. http://www.gurobi.com/documentation/5.6/reference-manual/py_model_chgcoeff).

model.chgCoef(savedConstraint,x[i],newtemp)

Это то, что вы искали? Часто люди сохраняют ограничения в списке. Наконец, вы можете захотеть быть согласованным с вашими именами (lhs на правой стороне немного не так).

Другие вопросы по тегам