Ich habe folgendes Stück Python Code Bündel „obj“ zu definieren:Wie kann ich eine "Zeichenfolge" verwenden, um auf einen "linearen Ausdruck" als Argument innerhalb einer Python-Gurobi-Funktion zu verweisen?
obj1=LinExpr(sumOFw_plusPLUSw_minus)
obj2=LinExpr(quicksum(epsilon[s] for s in N))
wobei „sumOFw_plusPLUSw_minus“ ist ein Ausdruck und „epsilon“ ist ein Typ Var.
Ich möchte es parametrisch machen, so dass ich später mehr objektive Ausdrücke hinzufügen kann. Um zu beantragen, dass ich versuchte, eine Zeichenfolge in einer Schleife zu erstellen und wie unten die obigen Ausdrücke mit dieser Zeichenfolge rief, bekam aber einen „GurobiError: Kann Argument in einen Ausdruck umwandeln“ in Zeile 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()
Könnten Sie bitte etwas mehr Code hinzufügen, um Ihr Beispiel reproduzierbar zu machen? Was genau ist "m", "Epsilon". Vielen Dank. – lrnzcig
N = Bereich (1, Reihe + 1) # Anzahl der Proben – Ozgu
m = Modell ("gurobi_model_name") – Ozgu