List 基于特定条件在Pyomo模型中创建变量x[i,j]列表

List 基于特定条件在Pyomo模型中创建变量x[i,j]列表,list,variables,pyomo,List,Variables,Pyomo,我正在用Pyomo创建一个模型,我想创建一个二进制变量x(I,j),表示节点I和节点j之间的链接 问题是并非所有节点i都连接到j。给定已知的现有链接列表(i,j),我想在定义这样一个变量时介绍存在的条件 我想知道是否可以从列表中初始化变量,或者是否可以根据if语句使用for循环添加x[I,j] origin_nodes=[A,B] dest_nodes=[1,2,3] list_of_links=[(A,1),(A,2),(A,3),(B,2)] model.I=Set(initialize=o

我正在用Pyomo创建一个模型,我想创建一个二进制变量x(I,j),表示节点I和节点j之间的链接

问题是并非所有节点i都连接到j。给定已知的现有链接列表(i,j),我想在定义这样一个变量时介绍存在的条件

我想知道是否可以从列表中初始化变量,或者是否可以根据if语句使用for循环添加x[I,j]

origin_nodes=[A,B]
dest_nodes=[1,2,3]
list_of_links=[(A,1),(A,2),(A,3),(B,2)]
model.I=Set(initialize=origin_nodes)
model.J=Set(initialize=dest_nodes)
model.X=Var(model.I,model.J, within=Binary)

我不确定我是否理解这个问题,但看看这个文档是否有用: