Pyomo Constraint:使用决策变量进行比较的条件约束

问题描述

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.Cargo1model.Work_end_time1 和 model.Work_start_time1 是参数

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)