==
Gurobi Python是如何工作的?
在我创建了所需的变量 ( x[s,d,r]
) 之后,我试图做出一个if
类似x[s,d,r] == 1
. x[s,d,r]==0
问题是,这个陈述总是正确的,所以我将它设置为or并不重要x[s,d,r]==2
,它总是一样的。
x[s,d,r]
是由 定义的二进制变量 x[s,d,r] = m.addVar(0.0,1.0,1.0,GRB.BINARY,"x_"+ s+"_"+ d +"_" + r)
。
z = 0.0
for s in students:
for d in dates:
if (s,d) in preferences:
if preferences[s,d]!=0:
for r in rooms:
if (d,r) in tutorials:
if x[s,d,r]>0.001:
print('%s:%s:%s:%s '%(s,d,r,preferences[s,d]))
z = z + preferences[s,d]
else:
print('no')
m.setObjective((z), GRB.MAXIMIZE)
因此,如果 x[s,d,r]>0.001: 是始终评估为“真”的部分。