Gekko 库支持的最大变量数是多少?

问题描述

我正在尝试使用 Python 的 Gekko 库解决具有超过一百万个变量的问题?有谁知道有多少变量可以管理该库?

解决方法

Gekko 不受一定数量的变量限制。每个模式 (IMODE) 采用一个基本模型,然后将其应用于每个时间点(对于 IMODE>4)或每个数据集(IMODE=2)。基本模型确实有 10,000,000 的限制,但这主要是一个很大的上限。 10M 联立微分方程 x 100 个时间点的问题将是 1,000 (1B) 个变量,这在 Gekko 中是允许的。如果用户遇到该限制,开发人员可以增加 10M 限制。它可以作为检查,以防有人在他们的模型中有错误并且不打算产生一个非常大的问题。这是一个案例研究,展示了 scale-up comparison 以及用于使用 MATLAB (ode15s)、SciPy (ODEINT) 和 APMonitor(Gekko 引擎)进行仿真的微分方程数量。

Scale-up solution time

结果表明,APMonitor / Gekko 对小问题的处理速度没有那么快,但对大规模问题具有很好的放大潜力。该图仅显示最多 3000 个联立微分方程。 Gekko 目前的任意限制设置为 10M。