Я кодировал модель в cplex. Чтобы создать ограничения, я сначала определил переменные и создал ограничения, сохраняя индексы переменных решения и их соответствующие коэффициенты в списке для каждого ограничения. Например, когда я создаю переменную x, я назначаю индекс переменной (скажем, 0) для каждого ограничения, которому она принадлежит, и ее коэффициент в данном ограничении. Затем, как видно ниже, я использую список индексов для переменных в данном ограничении (sum_cap), список значений для соответствующих коэффициентов (sum_cap_A) и список значений для соответствующих уровней пропускной способности.
for j in data._P:
bound_capacity = data._capacity_provider[int(j)][repetitions+1]
sum_cap = cap_constraints[int(j) - 1]
sum_cap_A = [1.5 for i in range(len(sum_cap))]
model.linear_constraints.add(lin_expr=[cplex.SparsePair(ind=sum_cap, val=sum_cap_A)], senses=['L'],
rhs=[bound_capacity])
print(["FINISH adding capacity constraints", (time.time() - start) / 60])
Мне было интересно, как я могу сделать то же самое в Гуроби для python?