问题标签 [gekko]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
179 浏览

python - GEKKO 中的非线性输入(操纵变量)

我有一个具有二次输入(操纵变量,[MV])的非线性系统。为了使用 GEKKO 对该系统进行 MPC 仿真,我定义了以下函数来处理二次输入:

然后我定义我的系统方程如下:

模拟运行,但 GEKKO 永远不会改变 MV untv(无论为 设置什么untv[i].value,都保持在模拟的那个值),而线性 MVunb在模拟期间进行了优化,并且会随时间变化。我怀疑我的功能NTVin应该受到指责(特别是在这一行:)u2[i] = copy(u[i].VALUE。那么我的问题是,GEKKO 可以处理非线性 MV,如果可以,在声明系统方程时有没有办法处理这个二次输入?

0 投票
1 回答
284 浏览

python - 延迟调用应该放在壁虎代码中的什么位置?

我正在尝试使用 GEKKO MPC 来控制水箱的液位,同时操纵入口流量。我想将 GEKKO 控制器建模为 FOPDT。我得到了我需要的所有参数,但我想使用延迟函数来考虑时间延迟。我不确定这个函数的确切位置,因为当我将它放入代码时它给了我一个错误。当我删除它(即没有时间延迟)时,代码可以正常工作,但我想要更现实并延迟时间。下面附上代码:

0 投票
1 回答
84 浏览

gekko - 有没有办法在同一个 gekko 类中用 MHE 更新 MPC?

我目前正在使用 MPC 让 TCLab 加热器达到某个设定点温度。我试图让 MHE 每 50 秒更新一次某些参数值。我有一个以前的 MPC 模型,效果非常好,我尝试在我的主循环中添加一个部分,让它切换以提高某些值,然后切换回 MPC 模式。我已经看到其他做同样问题的人已经为 MPC 和 MHE 制作了一个 gekko 类,然后让它们一起工作,但是有没有一种方法可以在我当前的 MPC 循环中添加一个允许MHE 更新某些值然后切换回 MPC?

这是我添加到循环中以更新变量但没有更新我的值的代码

0 投票
1 回答
1406 浏览

python - Python GEKKO:优化非线性优化的性能

0 投票
1 回答
283 浏览

python - 在壁虎中求解方程

这是我的代码的一部分:

但是它没有打印 x。

有什么理由吗?

0 投票
2 回答
112 浏览

gekko - 如何在 mpc 中使用矢量设置点,以便为程序提供有关未来设置点将如何变化的信息

我正在使用 MPC 来运行加热器系统。目前,我让它在给定的时间点从我的设定点数组中获取一个单独的值,以调整要达到的过程。我希望能够给它当前的期望值和未来的几个点作为设定点,以便它可以随着设定点的变化更好地调整。我怎样才能给 gekko 一个向量,以便让它更好地适应未来的设定点?

这是我的代码中当前更新我的设定值的部分。

0 投票
2 回答
1547 浏览

python - 如何在 Python Gekko 中最大化目标函数?

我试图在我的优化问题中最大化利润。当我使用 Gekkom.Obj函数时,它总是使利润最小化。

报告的最优解是profit=1。如何切换到使用 Python Gekko 最大化目标函数,以便最佳解决方案是profit=10?我的问题有多个目标。有一些是我想最小化的(公用事业、饲料、运营费用),还有一些是我想最大化的(利润、生产)。

0 投票
1 回答
218 浏览

gekko - 如何处理 GEKKO 中的离散时间系统?

我正在处理一个采样时间为 300 秒的离散时间系统。

我的问题是如何表达状态方程或输出 eqatuin

其中x(k)是状态,y(k)是输出。我拥有 A、B、C 矩阵的所有值。

我在网页https://apmonitor.com/wiki/index.php/Apps/DiscreteStateSpace上找到了一些关于离散时间系统的信息

我想知道除了

0 投票
1 回答
359 浏览

python - 如何修复 Python Gekko 方程错误“SyntaxError:关键字不能是表达式”?

我在 Python Gekko 程序中有一个错误,说方程有问题。我知道这个问题有两种解决方案,单位圆与直线相交。

在此处输入图像描述

当我把方程式放在一起时,它给出了不同的错误SyntaxError: invalid syntax

我可以通过将方程作为目标函数来获得解决方案,但x=0, y=0如果我给出初始猜测,求解器 IPOPT 会报告。当我猜x=1, y=1它给出了正确的解决方案之一时x=0.707, y=0.707。我想让求解器强制执行那些硬(非软)约束。

我该怎么做才能用 Python Gekko 解决这个问题?

0 投票
1 回答
1690 浏览

python - 如何使用 Python Gekko 修复 IPOPT 中的本地不可行性?

我在 IPOPT (v3.12.10) 中遇到本地不可行错误。

我还使用 APPT 求解器进行了尝试,m.options.SOLVER=1并得到了类似的错误。

这个问题有多个可行的解决方案,有两个方程和三个变量。这个问题的解决方案是平面与球体相交的地方。

当我添加一个目标函数来最大化z时,IPOPT 会收敛到一个解决方案。

如何在不添加目标函数的情况下避免失败的解决方案?