使用Python中的GEKKO库解决一个LP问题。该问题有大约8000个变量。如果增加变量数量,即使其中有462个变量,也可以正常运行。程序显示错误消息:“Exception: @error:模型表达式***函数字符串语法错误:无效元素:,>= 0”。
任何评论都将有所帮助。
#Initialize Model
m = GEKKO()
#Set global options
m.options.solver = 3
m.options.IMODE = 3 #steady state optimization
#define parameter
Num_Cell= 463
H2 = m.Array(m.Var,Num_Cell,value = 0)
Demand = m.Const(value=20000000)
D = np.zeros(Num_Cell)
F = Hardwood_Sawlog.SumOfTotal
for i in range(Num_Cell):
H2[i].lower = 0
H2[i].upper = F[i]
D[i] = i
m.Equation(m.sum(H2[0:Num_Cell])==Demand)
m.Obj(np.dot(D,H2))
m.solve(disp=False,debug=True)
print('')
print(H2)