我正在研究采购优化模型,以下是一些相关输入:
stets:
参数:
变量:
我正在努力编写一个约束条件,使从时间(t)开始的(LT)天之前订购的数量=在时间(t)现在收到的数量,其中LT是每个供应商所需的交付周期。这是我想象约束的方式,但我不知道如何编写它:
时间订购数量(t-交货时间)=时间(t)收到的数量,适用于所有时间(t)、品牌(b)和供应商(s)
非常感谢您的时间和帮助!
假设模型中的时间点都是整数,从模型中的一个点减去前置时间。t将给出另一个有效的索引模型。t
,那么以下方法应该有效:
def compute_received(m,b,t,s):
if t - m.lt[s] < min(m.t):
# Deliveries at this time would have to be placed before the beginning of the model
return Constraint.Skip
return m.q[b,t,s] == m.pr[b,t-m.lt[s],s]
model.compute_received = Constraint(model.b, model.t, model.s, rule=compute_received)