微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决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 举报,一经查实,本站将立刻删除。