访问预定义列表以获取约束

时间:2020-10-30 10:01:01

标签: python pyomo

我正在尝试使用Pyomo解决优化问题。问题在于最小化限制在预定义列表上的目标函数。

lambda = [0, 1, 2]

x-> Independent Variable
y = f(x)

Constraints:
y[0] < lambda[0]
y[1] < lambda[1]
y[2] < lambda[2]

Obj = minimize (model.y)

因此,基本上我的优化结果将包含三个要素。在定义约束的同时,如何访问列表?即model.y的第一个元素应小于lambda的第一个元素。任何指导表示赞赏。

1 个答案:

答案 0 :(得分:0)

这样怎么样? 将lambda设置为Set A的参数:

data:

set A := L1 L2 L3 ;
param Lambda: x y z;

pyomo:
model.A=Set()
model.Lambda = Param(model.A)   
model.Y=Var(model.A)