gekko 中的变量索引
Variable indexing in gekko
如何索引变量以解决 python gekko 包中的非线性优化问题?例如,如何将下面的 objective 函数写成一个索引变量 x 的方程式?
使用m.Array()
函数创建变量(或参数)数组。 np.prod()
和m.sum()
函数用于定义objective函数m.Maximize()
和方程m.Equation()
.
import numpy as np
from gekko import GEKKO
n = 5
m = GEKKO(remote=False)
x = m.Array(m.Var,n,value=1)
m.Maximize(np.prod([m.sqrt(xi) for xi in x]))
m.Equation(m.sum(x)==100)
m.solve(disp=False)
print(x)
解决方案:
[[20.0] [20.0] [20.0] [20.0] [20.0]]
如何索引变量以解决 python gekko 包中的非线性优化问题?例如,如何将下面的 objective 函数写成一个索引变量 x 的方程式?
使用m.Array()
函数创建变量(或参数)数组。 np.prod()
和m.sum()
函数用于定义objective函数m.Maximize()
和方程m.Equation()
.
import numpy as np
from gekko import GEKKO
n = 5
m = GEKKO(remote=False)
x = m.Array(m.Var,n,value=1)
m.Maximize(np.prod([m.sqrt(xi) for xi in x]))
m.Equation(m.sum(x)==100)
m.solve(disp=False)
print(x)
解决方案:
[[20.0] [20.0] [20.0] [20.0] [20.0]]