【发布时间】:2018-09-10 12:44:16
【问题描述】:
我是 Pyomo 的新手。我想为我的线性规划问题添加一个 if..then.. 类型约束。我有一个抽象模型,这是我想做的一个例子:
如果节点 j1 的需水量不到一半,则 j2 和 j1 之间的最小流量必须设置为 j1 中的需求值(A 和 B 是模型变量,d 是已知参数)。
if A(j1)<0.5 then B(j2,j1)>=d(j1)
我在定义模型约束时尝试了以下方法。但由于模型尚未从其数据文件中创建实例,它无法识别 j1 和 j2。
def rule_(model):
term1=floor(model.A[j1]/0.5)
return (term1*model.B[j1,j2]>term1*mdoel.demand[j1])
model.rule=Constraint(rule=rule_)
如果我在使用数据文件实例化模型后采取这些行,我认为约束将根本不会实现。
有人可以帮忙吗?谢谢。
【问题讨论】:
标签: pyomo