我正在尝试获得与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)
我无法运行以下代码:
from gekko import GEKKO
# data to be spline to find maximum
x = [-1.0, -0.6, -0.2, 0.2, 0.6, 1.0]
y = [0.1, 5.0, 16.0, 17.0, 4.0, 0.2]
# gekko model
m = GEKKO()
x_gekko = m.Var()
y_gekko = m.Var()
m.cspline(x_gekko, y_gekko, x, y, True)
m.Maximize(y_gekko)
m.solve()
当它运行时,我得到以下错误:'G
我想在GEKKO数组的每个元素上应用GEKKO的max3函数。例如:
from gekko import GEKKO
m = GEKKO()
a = m.Array(m.Var, dim = (5,))
b = m.Array(m.Var, dim = (5,))
我想比较a的每个元素和b,得到一个5维的GEKKO向量。所以,我实施
c = m.max3(a, b)
print(c)
print(c.value)
结果是一个大小为1的GEKKO变量,其值为0。有没有一种不用for循环就能得到5维GEKKO矢量的方法?
谢谢。
有时,一个求解器比另一个求解器能更好地解决我的Python Gekko应用程序。很难预测哪个求解器会表现得最好。因为Python Gekko支持使用m.GEKKO(server='http://{address}')在不同服务器上进行本地或远程求解,所以是否可以创建一个并行Gekko应用程序,该应用程序将在任意数量的计算机(包括本地计算机)上同时尝试所有求解器,然后在第一个进程成功返回时终止其他进程?我一直在研究Python的多线程和并行程序包。有没有能和Gekko一起很好地进行并行求解的工具?这是一个连续的原型:
from gekko import GEKKO
m = GEK
我在Python Gekko程序中有一个错误,它说一个方程有问题。我知道这个问题有两种解决方案,单位圆与直线相交。
from gekko import GEKKO
m = GEKKO()
x = m.Var()
y = m.Var()
m.Equation(x**2+y**2=1)
m.Equation(x=y)
m.solve()
当我把这些方程放在一起时,它给出了一个不同的误差SyntaxError: invalid syntax。
from gekko import GEKKO
m = GEKKO()
x = m.Var()
y = m.Var()
m.Equations([x
我试图用python来解决一个关于GEKKO的优化问题,我试图用log和sqrt开发一些数学函数,我想我应该使用gekko运算符,而不是使用numpy或数学函数。我想知道如何使用gekko实现日志库2,而不是日志或log10。
gk = GEKKO()
gk.log(...) # work
gk.sqrt(...) # work
gk.log2(...) # does not work!
错误:
AttributeError: 'GEKKO' object has no attribute 'log2'
我正在尝试安装,但得到以下错误:
node-pre-gyp ERR! Tried to download(undefined): https://mapbox-node-binary.s3.amazonaws.com/sqlite3/v3.1.13/node-v48-win32-x64.tar.gz
node-pre-gyp ERR! Pre-built binaries not found for sqlite3@3.1.13 and node@6.9.4 (node-v48 ABI) (falling back to source compile with node-gyp)
C:\Us
我正在尝试使用以下命令在我的python终端中安装gekko模块
python install -m pip gekko
但是它抛出了一个无法识别pip的错误:
can't open file 'pip': [Errno 2] No such file or directory.
我正在使用Pycharm中的终端和Python 3.7
我尝试使用scipy.optimze.minimize求解器(内德-米德)来优化壁虎模拟的参数。 这到底有没有可能? 我的想法是将GEKKO对象交给求解器,但这导致了一个错误: TypeError: float() argument must be a string or a number, not 'GEKKO' 但是如果不交出对象,我就无法启动GEKKO解算器。 附件是一个简单的代码版本,什么都不做,这是有意义的,只是为了技术上的理解,也许还会显示我所做的错误。 from scipy.optimize import minimize
from numpy.random i
我想我遇到了和这个堆栈溢出相同的问题。
昨天我能够解决我的Gekko模型,今天我甚至不能解决来自Apmonitor网站的例子。解决问题需要花费很长时间,我得到了以下错误:
ImportError: No solution or server unreachable.
Show errors with m.solve(disp=True).
Try local solve with m=GEKKO(remote=False).
我尝试在本地解决它,正如我在上面提到的堆栈溢出帖子中所建议的那样:
m = GEKKO(remote=False)
但是,我得到了以下错误:
Error:
我面对的是一个Hessenberg索引-2 DAE,我试图用python模块gekko来解决它。经过几天的尝试和错误之后,我认为我离一个能工作的代码不远了。但我刚刚意识到,也许gekko不能处理复数?
下面是一个最低限度的工作示例:
import numpy as np
from gekko import GEKKO
# Define the simulation and its parameters
g = GEKKO()
g.options.IMODE = 7
g.options.NODES = 1
# define the time array
n_steps = 100
Time
我已经安装了gekko软件包,并更新了pip的最新版本。我已经运行了'pip列表‘命令,并确认已经安装了gekko包。实际上,我可以在同一台机器上使用带有高级编辑器的gekko包,使用相同的脚本,但是当我试图在spyder编辑器中运行它时,相同的脚本会抛出ModuleNotFoundError: No module named 'gekko'错误。我在windows 10上安装和运行了python版本3.6和3.9。
我开始使用gekko为tclab训练一个模型。我阅读了NN demo on keras and gekko和SISO model for tclab的页面。还有API doc。 我发现GEKKO的API文档都是关于brain.brain的,演示也很不一样。我应该遵循哪一个,还是两个都可以?我认为brain.brain是非常清楚的,并会尝试一下。 问候 Tibalt
用Python中的IPOPT成功地解决了一个具有平方目标的优化问题。
from gekko import GEKKO
import numpy as np
m = GEKKO()
x = m.Var(); y = m.Param(3.2)
m.Obj((x-y)**2)
m.solve()
print(x.value[0],y.value[0])
但是,当我切换到绝对值目标np.abs(x-y) (abs的numpy版本)或m.abs(x-y) (abs的Gekko版本)时,IPOPT解决程序报告了一个失败的解决方案。绝对值近似m.sqrt((x-y)**2)也失败了。
失败解决方案
from
下面是一个解线性方程组的简单示例,以及使用for循环求解许多方程的示例。 import numpy as np
from gekko import GEKKO
m = GEKKO(remote=False)
# Random 3x3
A = np.random.rand(3,3)
# Random 3x1
b = np.random.rand(3)
# Gekko array 3x1
x = m.Array(m.Var,(3))
# solve Ax = b
eqn = np.dot(A,x)
for i in range(3):
m.Equation(eqn[i]==b[i])
如何在脚本中以编程方式检查包是否处于其最新版本,并返回真或假?
我可以用这样的脚本来检查:
package='gekko'
import pip
if hasattr(pip, 'main'):
from pip import main as pipmain
else:
from pip._internal import main as pipmain
pipmain(['search','gekko'])
或使用命令行:
(base) C:\User>pip search gekko
gekko (0.2.
我正在尝试用GEKKO解决一个优化问题。最初的问题是一个具有数千个变量、约束(其中一些是非线性的)和边界的线性目标函数。我被友好地建议使用GEKKO,因为我不完全理解它的机制,所以我在实现它时遇到了一些问题。我一直收到object of type 'int' has no len()错误。我已经简化了问题,所以现在它只有20个变量,并且没有约束,但是必须遵守10个界限。通过这种方式,我想我可以隔离并锁定错误的来源。代码如下: import pandas as pd
import numpy as np
import copy as cp
from gekko import G