Pyomo Set和Python set之间有什么区别吗?

时间:2019-02-06 00:40:39

标签: python python-3.x optimization pyomo

第一次使用pyomo用户。

在优化模型中将集合声明为

是否有区别?
model.A = Set(initialize = list_values) 

并使用像这样的内置python集?

A = set(list_values)

一个人比另一个人有什么优势吗?

1 个答案:

答案 0 :(得分:0)

首先,您可以通过以下方式在约束规则中调用模型变量,集合,参数:

def some_constraint_rule(model):
    return model.some_set

因此,您无法通过python集执行此类操作,因为在约束规则中输入的模型没有python设置。

第二,您无法索引python集(到目前为止,我知道,因此您需要一个字典?),但是使用pyomo集,您可以做更多的事情,例如:

m.t = pyomo.Set(
    within=m.index,
    initialize=something,
    ordered=True,
    doc='some documentation for your set?')