问题描述
def Departure_Time(model,I):
if I==0:
return (model.Dept_Time_P[I] == Tar_Dept_Date)
elif value(model.A[I] - floor(model.A[I]) + model.Cargo1[I]) < value(model.Work_end_time1[I]):
return (model.Dept_Time_P[I] == formula1)
elif value(model.Work_start_time1[I]) > value(model.A[I] - floor(model.A[I])):
return (model.Dept_Time_P[I] == formula2)
elif value(model.A[I] - floor(model.A[I])) > value(model.Work_end_time1[I]):
return (model.Dept_Time_P[I] == formula3)
elif value(model.A[I] - floor(model.A[I])) < value(model.Work_end_time1[I]):
return (model.Dept_Time_P[I] == formula4)
model.Dept_Time_P = Var(model.I,within=NonNegativeReals,initialize=0)
model.c3 = Constraint(model.I,rule = Departure_Time)
model.A
是一个决策变量。因此,当我运行此约束时,它不会抛出任何错误,而是只为所有 I 获取第一个 elif 约束,并为除 model.Dept_Time_P[I] == formula1
I = 0
有没有办法使用比较决策变量来编写约束。
PS:model.Cargo1
、model.Work_end_time1
和 model.Work_start_time1 是参数
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)