我正在尝试获得与gekko的最佳时间间隔(在下面的示例中是10) from gekko import GEKKO
from random import random
n = 100000
arr = [random() for i in range(n)]
df = pd.DataFrame({"w1" : arr, 'w2' : arr}, \
index=pd.date_range(start='1/1/2018', periods=n, freq='T'))
df.w2 = df.w2.shift(10)
我将最大化我的非线性函数,并尝试使用GEKKO实现这一点 m=GEKKO()
x=m.Var(value=1,lb=0, ub=50)
y=m.Var(value=1, lb=0, ub=50)
m.Equation(puree*x+cutlet*y==1500)
m.Obj(-min(x,y))
m.solve(disp=False)
x.value
y.value 但是我在这个字符串m.Obj(-min(x,y))中获得了TypeError: object of type 'int' has no len(),并且我不知道要修改什么才能使它工作……
我有这个简单的产品组合线性规划,Pulp和Gekko的结果有很大的不同,,,但是结果都是,都是有效的。
我想知道为什么和如何使用两个求解器得到完全相同的结果?
有一个简单的产品组合示例:
假设x1是汽车玩具1的数量,x2是汽车玩具2的数量( ->决策变量)。
汽车玩具1价格为2美元,汽车玩具2价格为1美元( ->目标函数)。
约束1是以小时表示的工作时间限制,约束2是以单位表示的零件库存限制。
我想知道哪辆汽车要制造,以使我的利润最大化,受这两方面的限制。
# Import
from gekko import GEKKO
# Local server used
m = GEKKO
我一直在尝试使用Gekko解决一个混合整数非线性规划问题,但我在使用range和factorial函数时遇到了问题。
我的模型只有一个变量,它的目标是最小化c,同时将Wq保持在一定的限制上。当我执行下面的代码时;
m = GEKKO()
m.options.SOLVER=1
def ineq1(c):
arr_rate = 60
ser_rate = 25
p = arr_rate/(ser_rate)
eps = 0
for m in range(c):
eps += p**m/factorial(m)
Po = 1/(ep
我试图通过随机定义一个NxN对称矩阵和一个N维偏差向量,用qobj解决Gekko的二次二元优化问题。然而,我观察到计算时间低得令人怀疑:使用N=20解决问题需要2e-2秒,解决200维问题需要0.05秒。另外,我从来没有得到超过3-4次的迭代。我是不是漏掉了什么? import numpy as np
N = 20
#create square symmetric matrix for the quadratic term
b = np.random.normal(0,1,(N,N))
Q = (b + b.T)/2
#bias vector for linear term
c=np.ran