问题标签 [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.
iteration - Gekko 处理代数/隐式循环
我有一个关于 Gekko 处理代数/隐式循环的具体问题。
我将给出化学工程领域的例子,因为这就是我找到该项目及其其他库的方式。
例如,当涉及到多组分化学平衡计算时,不可能明确地计算出方程式,因为一种物质的浓度可能存在于许多不同的方程式中。
我过去一直在使用其他付费软件,它会根据系统的可解性自动提出解决程序(通过分析依赖性和创建自动代数循环)。
我的问题是:
Gekko 会自动执行此操作吗?
这有点棘手,因为有时需要添加撕裂变量并从一个好的起始值进行迭代。
我知道这条信息可能有点抽象,但我正在尝试决定使用哪个软件来完成我的工作,这是我碰巧发现的一个实用瓶颈。
提前感谢您的宝贵见解。
python - 如何用 Python Gekko 解决绝对值 abs() 目标?
使用 Python Gekko 中的 IPOPT 成功解决了一个平方目标的优化问题。
但是,当我切换到绝对值目标np.abs(x-y)
( 的 numpy 版本abs
)或m.abs(x-y)
( 的 Gekko 版本abs
)时,IPOPT 求解器会报告一个失败的解决方案。绝对值近似m.sqrt((x-y)**2)
也失败了。
失败的解决方案
我知道基于梯度的求解器不喜欢没有连续一阶和二阶导数的函数,所以我怀疑这种情况发生在abs()
where 0
is a point 没有连续导数的情况下。有没有其他方法可以abs()
在 Python Gekko 中使用基于梯度的求解器可靠地求解绝对值?
python - 如何以编程方式检查python包是否是最新版本?
如何在脚本中以编程方式检查包是否为最新版本并返回真或假?
我可以用这样的脚本检查:
或使用命令行:
但是我如何以编程方式检查并返回真或假?
gekko - 用目标函数表示的整数约束优化以执行另一个程序调用
我正在研究一个整数优化问题,并想尝试 GEKKO。
问题描述:x1,x2,x3,...,x9,x10,x11(它们是 1-16 范围内的整数)是目标函数的十一个整数参数。我想找到一组 x 值来最小化目标函数的输出。然而,目标值是通过运行另一个 C/C++ 程序获得的,因为该问题不能用数学表示。像你的例子一样的公式。
我怀疑目标函数的返回值 j 是否与规范不匹配。在这种情况下 j python float 可以吗?但从日志和复查来看,init 状态的客观值是 0.06,这是正确的。我不知道为什么它只运行一次迭代然后停止。
python - 使用 GEKKO 的 CSTR 稳态参数估计
我想使用 CSTR 相对于反应器温度的稳态浓度数据来拟合反应常数(k0 和 EoverR)。我只使用了一个简单的线性方程来生成要拟合的操作数据。(Ca_data = -1.5*T_reactor/100 + 4.2)
因为这是稳态数据,所以不需要时间步长 (m.time)。请就如何将以下模拟代码转换为“Ca vs. T_reactor”的估计代码提供建议。
gekko - 通过分段线性段逼近非线性函数
我在考虑是否可以使用 GEKKO 来解决以下问题。请随时分享您的意见。先感谢您。
鉴于我想通过分段线性(PWL)段来近似一些非线性函数。例如,我想使用 N 个 PWL 段来近似高斯函数。是否可以利用 GEKKO 解决问题?你建议学习哪些可用的例子?
谢谢
python - 是否有使用 OPA UA 传输数据的 IEC 61131 / IEC 61499 PLC 功能块?
我有一个 Python (TensorFlow + Gekko) 中的机器学习和高级控制应用程序,我需要将它与提供数据采集和最终元素控制的可编程逻辑控制器 (PLC) 集成。我可以使用机架式 Linux(首选)或 Windows Server 作为计算引擎,通过 OPC-UA(用于过程控制的 OLE - 通用架构)进行数据传输吗?
有一个Python OPC-UA / IEC 62541 客户端(和服务器)和一个Python MODBUS 包,我在连接到艾默生 DeltaV、霍尼韦尔 Experion/TDC3000 和横河 DCS 等分布式控制系统 (DCS) 时在其他项目中使用过. 我可以对诸如 Siemens Simatic S7-300 等 PLC 功能块做同样的事情吗?西门子拥有支持 TensorFlow 的较新 PLC,例如 SIMATIC S7-1500 NPU(神经处理单元)模块,但出于多种原因需要外部服务器。S7-300 支持 IEC 61131 标准和 PROFINET CBA 标准(西门子的 IEC 61499 标准)。
下面是我想用来与功能块通信的最小功能块。
python - 如何在离线模式下运行 gekko MPC 代码时消除命令窗口的闪烁?
我已经在离线模式下使用 Gekko python 为 MPC 构建了几个成功的代码。但是,我仍然想在运行程序时消除命令窗口的闪烁。有什么建议么 ?谢谢你。
python - 在 GEKKO 中设置具有稳态结果的动态模拟的初始值
我正在使用“IMODE=4”进行动态模拟。我想知道 GEKKO 中是否有一个选项可以将“IMODE = 1”的稳态模拟结果设置为动态模拟的初始值。
或者,我是否需要在单独运行动态仿真之前运行稳态仿真并设置值?
python - 如何在 Python Gekko 中求解积分?
如何x
在 Python Gekko 的优化模型中包含变量的积分?我发现m.vsum(x)
这是时间范围内的总和,但不考虑可变时间步长。变量的导数x.dt()
是 Gekko 内置的,但是积分呢?
结果
[5.0, 3.0434782609, 1.8525519849, 1.1276403386, 0.68638977133]