Gurobi-Ziel mit Python-Wörterbuch-Werten
Ich verwende Gurobi 6.0 mit Python 2.7. Ich bin gespannt, ob Gurobi zulässt, dass die objektive Funktion Werte aus einem Wörterbuch mit Indizes der Entscheidungsvariablen enthält. Anhängen des Codes:
from gurobipy import *
d = {
(0, 0): 0,
(0, 1): -5,
(1, 0): 4,
(1, 1): 2,
(2, 0): 0,
(0, 2): 10
}
m = Model()
x = m.addVar(vtype=GRB.INTEGER)
y = m.addVar(vtype=GRB.INTEGER)
m.update()
m.addConstr(x + y <= 2)
m.setObjective(d[(x, y)], GRB.MAXIMIZE)
m.optimize()
print m.objVal
print x.x
print y.x
Die Antwort auf das Modell war
-5.0
-0.0
-0.0
, was eindeutig keinen Sinn ergibt, da max (d [(x, y)]) = 10 bei x = 0 und y = 2 gemäß den angegebenen Daten auftritt. Worum geht es hier? Erlaubt Gurobi überhaupt solche Wörterbuchreferenzen? Ist es überhaupt erlaubt?