首页 > 解决方案 > 访问约束的预定义列表

问题描述

我正在尝试用 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 的第一个元素。任何指导表示赞赏。

标签: pythonpyomo

解决方案


像这样怎么样?将 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)  
      

推荐阅读