я следующий фрагмент кода Python, чтобы определить кучу «OBJ»:Как я могу использовать «строку» для обозначения «линейного выражения» в качестве аргумента внутри функции Python Gurobi?
obj1=LinExpr(sumOFw_plusPLUSw_minus)
obj2=LinExpr(quicksum(epsilon[s] for s in N))
где «sumOFw_plusPLUSw_minus» является выражением и «эпсилон» является типом Var.
Я хочу сделать его параметрическим, чтобы потом добавить более объективные выражения. Для того чтобы применить, что я пытался подготовить строку внутри цикла и вызвать приведенное выше выражение, используя эту строку, как показано ниже, но получил «GurobiError: Невозможно преобразовать аргумент выражение» в строке 5.
for j in range(1,2):
for i in range(1,num_obj):
valid_obj='obj'+str(i)
if j==1:
m.setObjective(valid_obj, GRB.MINIMIZE)
else:
m.setObjective(valid_obj, GRB.MAXIMIZE)
m.update()
m.optimize()
Не могли бы вы добавить немного больше кода, чтобы сделать ваш пример воспроизводимым? Что такое 'm',' epsilon'. Благодарю. – lrnzcig
Н = диапазон (1, строка + 1), # число выборок – Ozgu
м = Модель ("gurobi_model_name") – Ozgu