第一次使用pyomo用户。
在优化模型中将集合声明为
是否有区别?model.A = Set(initialize = list_values)
并使用像这样的内置python集?
A = set(list_values)
一个人比另一个人有什么优势吗?
答案 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?')