我正在使用Pyomo求解MINLP,它采用整数输入的向量(图形的链接容量)并返回网络中的数据包丢失。edge_enum字典所做的是,它枚举图形的所有边。例如,
{0: (0, 4),
1: (1, 4),
2: (1, 5), ...
a=0
for e in G.edges():
edge_enum[a]=e
a+=1
model=ConcreteModel
key_list=list(edge_enum.keys())
edge_list=list(edge_enum.values())
model.A=Set(initialize=edge_list)
lb={}
for j in edge_list:
lb[j]=pmf_maxima(j,lamd,q)
ub={}
for j in edge_list:
ub[j]=pmf_length(j,lamd,q)
def fb(model,i):
return (lb[i],ub[i])
model.vars=Var(model.A,domain=PositiveIntegers,bounds=fb)
print(model.vars[edge_enum[0]].value)
我的查询是,因为那是我的输入容量向量,所以我如何访问变量向量'vars'的每个元素。我需要访问它们中的每一个以定义我的目标函数。