我之前曾使用gekko包成功解决过机械系统.然而,在没有更改代码中的任何内容的情况下,我现在收到了以下错误消息:

---------------------------------------------------------------------------
Exception                                 Traceback (most recent call last)
Cell In[3], line 15
     13 m.Equation (F_r ==  (((1-a)/3)**2 + (2*(1+a)/3)**2 * v)) 
     14 m.Equation (a == (1000 - F_l)/mass)
---> 15 m.solve(disp=False)
     16 plt.plot(x)
     17 print(x)

File ~/anaconda3/envs/conda_calculator/lib/python3.11/site-packages/gekko/gekko.py:2210, in GEKKO.solve(self, disp, debug, GUI, **kwargs)
   2208 #print APM error message and die
   2209 if (debug >= 1) and ('@error' in response):
-> 2210     raise Exception(response)
   2212 #load results
   2213 def byte2str(byte):

Exception:  @error: Model File Not Found
 Model file does not exist: 130.92.213.86_gk_model0.apm
 STOPPING...

为了了解gekko的工作原理,我运行了here个示例.

# Pendulum - Index 3 DAE
from gekko import GEKKO
import numpy as np

mass = 1
g = 9.81
s = 1

m = GEKKO()
x = m.Var(0)
y = m.Var(-s)
v = m.Var(1)
w = m.Var(0)
lam = m.Var(mass*(1+s*g)/2*s**2)

m.Equation(x**2+y**2==s**2)
m.Equation(x.dt()==v)
m.Equation(y.dt()==w)
m.Equation(mass*v.dt()==-2*x*lam)
m.Equation(mass*w.dt()==-mass*g-2*y*lam)

m.time = np.linspace(0,2*np.pi,100)
m.options.IMODE=4
m.options.NODES=3
m.solve(disp=False)

import matplotlib.pyplot as plt
plt.figure(figsize=(10,5))
plt.subplot(3,1,1)
plt.plot(m.time,x.value,label='x')
plt.plot(m.time,y.value,label='y')
plt.ylabel('Position')
plt.legend(); plt.grid()
plt.subplot(3,1,2)
plt.plot(m.time,v.value,label='v')
plt.plot(m.time,w.value,label='w')
plt.ylabel('Velocity')
plt.legend(); plt.grid()
plt.subplot(3,1,3)
plt.plot(m.time,lam.value,label=r'$\lambda$')
plt.legend(); plt.grid()
plt.xlabel('Time')
plt.savefig('index3.png',dpi=600)
plt.show()

这些也在工作,现在显示相同的错误消息.

知道发生了什么或者我错过了什么吗?谢谢!

推荐答案

公共服务器负载很大,约为315,000 downloads of the gekko package each month.我建议切换到remote=False,通过本地解决而不是通过公共服务器来获得更快、更可靠的响应.

m = GEKKO(remote=False)

这可能会改变行为,因为公共服务器上有更多求解器选项,但在大多数情况下应该相同.

虽然在这种情况下这不是问题,但保持gekko版本的最新状态也是一个好主意:

pip install gekko --upgrade

有新功能,例如gekko support agent.

from gekko import support
a = support.agent()
a.ask("Can you optimize the Rosenbrock function?")

Python相关问答推荐

Pandas或pyspark跨越列创建

pandas MultiIndex是SQL复合索引的对应物吗?

如何最好地处理严重级联的json

每个组每第n行就有Pandas

获取Azure Pipelines以从pyproject.toml(而不是relevments_dev.文本)安装测试环境

将嵌套列表的字典转换为数据框中的行

如何在PIL、Python中对图像应用彩色面膜?

Pandas 除以一列中出现的每个值

使用scipy. optimate.least_squares()用可变数量的参数匹配两条曲线

GL pygame无法让缓冲区与vertextPointer和colorPointer一起可靠地工作

如何根据日期和时间将状态更新为已过期或活动?

替换字符串中的多个重叠子字符串

需要计算60,000个坐标之间的距离

将数据框架与导入的Excel文件一起使用

我们可以为Flask模型中的id字段主键设置默认uuid吗

为什么抓取的HTML与浏览器判断的元素不同?

为什么\b在这个正则表达式中不解释为反斜杠

lityter不让我输入左边的方括号,'

在极中解析带有数字和SI前缀的字符串

处理具有多个独立头的CSV文件