Mein Code:ERROR GUROBI: Liste Index außerhalb des zulässigen Bereichs
import sys
import gurobipy as grb
GRB = grb.GRB
m = grb.Model()
m.Params.timeLimit = 3600
b = m.addVars(10,10,15, vtype=GRB.BINARY)
F = m.addVars(vtype=GRB.INTEGER)
m.addConstrs(F == (b.sum(x,y,z) for x in range(10) for y in range(10) for z in range(15)))
for x in range(10):
for y in range(10):
m.addConstrs(sum(b[x][y][z] for z in range(15)) <= 1)
for z in range(15):
for y in range(10):
m.addConstrs(sum(b[x][y][z] for x in range(10)) <= 1)
for x in range(10):
for z in range(15):
m.addConstrs(sum(b[x][y][z] for y in range(10)) <= 1)
m.setObjective(F, GRB.MAXIMIZE)
m.update()
result = m.optimize()
Der Code soll 10 Lehrer nehmen, 10 Klassenräume und 15 Stunden und geben die Anzahl der einzigartigen Zeitpläne, die gefunden werden können, als solche, für jedes (x, y, z) gibt es a (x ', y', z ') mit (x! = x'), (y! = y ') und (z! = z').
Die Idee hier war eine 3D "Matrix" mit Binärzahlen. Wenn 1, Lehrer x ist im Klassenzimmer y zur Zeit z, wenn 0, frei.
Das Problem, das ich habe, ist ein IndexError: Listenindex außerhalb des Bereichs. Ich habe x von 1 bis 10, y von 1 bis 10 und z von 1 bis 15.
Ich schätze alle Hilfe.
edit: nur für den Fall, ich bin einfügen Fehler hier:
Changed value of parameter timeLimit to 3600.0
Prev: 1e+100 Min: 0.0 Max: 1e+100 Default: 1e+100
Traceback (most recent call last):
File "exec2.py", line 14, in <module>
F = m.addVars(vtype=GRB.INTEGER)
File "model.pxi", line 2261, in gurobipy.Model.addVars (../../src/python/gurobipy.c:73898)
File "model.pxi", line 198, in gurobipy.__listify.__init__ (../../src/python/gurobipy.c:47440)
IndexError: list index out of range