Pyomo中如何声明二维和三维向量
How to declare two dimensional and three dimensional vector in Pyomo
我正在尝试使用 Pyomo 解决优化问题。为此,我需要声明一个二维向量和一个三维向量。两个向量都只能存储 [0,1].
Sri and Xrij
R=3 V=8 1<=i,j<=V 1<=r<=R
我尝试在 pyomo 中使用范围
model.IDXV = range(v+1)
model.IDXR = range(r+1)
model.x=Var(model.IDXR,model.IDXV,model.IDXV,within=Binary,initialize=0)
model.s=Var(model.IDXR,model.IDXV,within=Binary,initialize=0)
我正在使用 'ipopt' 求解器,但在执行后 X 和 S 的值是分数而不是 0 或 1。
请帮我做一下。
Axel Kemper(在评论中)是正确的。 ipopt
是一个非线性规划求解器,会自动假定您打算放宽离散值。
对于线性离散问题,有 cbc
和 glpk
免费求解器。 gurobi
和 cplex
是主要的商业求解器。
对于非线性离散问题,couenne
和bonmin
是免费求解器。其他一些商业和学术求解器也可用。
我正在尝试使用 Pyomo 解决优化问题。为此,我需要声明一个二维向量和一个三维向量。两个向量都只能存储 [0,1].
Sri and Xrij
R=3 V=8 1<=i,j<=V 1<=r<=R
我尝试在 pyomo 中使用范围
model.IDXV = range(v+1)
model.IDXR = range(r+1)
model.x=Var(model.IDXR,model.IDXV,model.IDXV,within=Binary,initialize=0)
model.s=Var(model.IDXR,model.IDXV,within=Binary,initialize=0)
我正在使用 'ipopt' 求解器,但在执行后 X 和 S 的值是分数而不是 0 或 1。
请帮我做一下。
Axel Kemper(在评论中)是正确的。 ipopt
是一个非线性规划求解器,会自动假定您打算放宽离散值。
对于线性离散问题,有 cbc
和 glpk
免费求解器。 gurobi
和 cplex
是主要的商业求解器。
对于非线性离散问题,couenne
和bonmin
是免费求解器。其他一些商业和学术求解器也可用。