我不能在公式中使用变量吗?

Can't i use the variable in a formula?

我正在使用 gurobiy 编写数学模型,但出现错误。

错误是 'Var' 对象不能解释为整数。

我试图通过搜索解决它,但我没有足够的信息。

spi: 需要 space 块 i

cft:t时工厂f的面积

s_Time : 开始时间

p_Time : 处理时间

c_Time:完成时间,

t: 时间

f: 工厂

我:块

yif : 如果 blcok i 在 factory f 1 被赋值,否则 0

Space 必须在块组装时可用,然后才能将块分配给工厂。

for i in range(num_Block+1):
    s_Time[i] =m.addVar(lb=0,vtype=GRB.INTEGER,name='s_time'+str(i))
    c_Time[i] =m.addVar(lb=0,vtype=GRB.INTEGER,name='c_time'+str(i))

for i in range(1,num_Block+1):
    m.addConstr(s_Time[i]+p_Time[i]==c_Time[i])

# This part occurs error because of s_Time[i],c_Time[1]
m.addConstrs(sp[i]*y[i,f] <=c[f,t] for f in range(1,num_Factory+1) for i in range(1,num_Block+1) for t in range(s_Time[i],c_Time[i]))   

还有其他表达约束的方式吗?或者我该如何解决

Gurobi 适用于线性(和二次)模型。您不能使用变量作为索引的限制(这会使模型非线性)。通常,使用二元变量或指标约束重新制定此类结构。您可能想与 teacher/supervisor 讨论这个问题。