Я нашел следующий пример о том, как кодировать ограничение: «сумма для всех a_ {i, j} * x_ {i, j} с элементом j из j равна <= 5 для всех i в I».(извините, я не знаю, как правильно написать это в коде, вот первая попытка): </p>
\sum{a_{i,j}*x_{i,j}} <= 5
в питоне Gurobi:
m.addConstr(x.prod(a,i,'*') <=5 for i in I)
Я был бы очень признателен, есликто-то может объяснить мне это выражение!
Вот что я понимаю: m обычно используется как переменная для хранения модели, в программе мы начинаем с m = Model()
для создания пустой модели.Мы добавляем одно ограничение с addConstr()
, и x должен быть введен как переменная.метод x.prod()
создает линейную комбинацию своих параметров.Однако я не знаю, как интерпретировать эти три параметра a, i, '*'
i является частью цикла for, он начинается с 1 и затем увеличивается на единицу до тех пор, пока не будет достигнут последний элемент I.'*' используется в качестве подстановочного знака и будет обращаться только к любому элементу.Но что эта комбинация a, i, '*'
говорит мне?