跳转到正文

GEKKO

BYU PRISM Lab

GEKKO 是一个用于微分代数系统的 Python 建模与优化工具包,支持过程模拟、参数估计、混合整数优化和非线性预测控制。

条目更新 ·

概览

GEKKO 提供 Python 接口,用于访问 APMonitor 优化套件,以进行基于方程和数据驱动的建模。其文档重点涵盖时间序列和微分代数方程系统,应用场景包括模拟、估计和过程优化。它是建模工具包,而非预训练预测模型:用户需为自己的问题定义数学关系和目标。

模型由常量、参数、变量、中间表达式、方程和目标构成。符号模型表示一个数据点或时间实例,而所选求解模式会将其扩展到多个观测值或一个时间范围。APMonitor 后端会编译模型、分析其稀疏结构,并向优化求解器提供导数。对于微分代数系统,正交配置法会将动态问题转换为代数方程。求解结果会写入 results.csv,并加载回 GEKKO 的 Python 变量。

文档所述工作流程包括稳态模拟、参数更新、实时优化、移动时域估计和非线性控制。动态模拟、估计和优化可采用同时或顺序求解方法。GEKKO 还支持线性、二次、非线性和混合整数规划,使离散决策与连续动态能够在所述问题类别中结合使用。

执行可以使用远程服务器(默认方式),也可以通过 remote=False 选项使用本地 CPU。README 指出软件包中包含适用于若干平台的可执行文件,但这些摘录无法证明其兼容性已经过测试,也无法证明其相对性能。模型可能无法收敛;APMonitor 提供不可行性报告和诊断设置,以帮助排查初始化问题和不一致方程。

主要功能

  • 使用常量、参数、变量、中间表达式、方程以及最大化或最小化目标构建符号模型。
  • 支持线性、二次、非线性和混合整数优化,以及微分代数方程和带互补约束的问题。
  • 提供稳态和动态模式,用于模拟、参数估计、实时优化和非线性预测控制。
  • 为动态模拟、估计和优化提供同时与顺序求解方法。
  • 后端模型编译、通过自动微分生成稀疏导数,以及用于微分代数系统的正交配置法。
  • 支持远程或本地执行;求解结果会返回 Python 变量,求解失败时可查看不可行性报告。

使用场景

  • 拟议评估:建立包含微分方程和代数方程的过程模型,然后将模拟轨迹与有代表性的过程测量值进行比较。
  • 拟议评估:使用测量时间序列和用户定义的模型,拟合不确定的过程参数,或评估移动时域估计。
  • 拟议评估:在考虑部署之前,使用过程约束和明确的运行目标,对非线性预测控制进行原型验证。
  • 拟议评估:在混合整数优化问题中表示离散运行选项和连续过程变量。

使用方式

  1. 从官方文档和建模示例入手。选择符合预期问题的模拟、估计或优化工作流程。
  2. 查阅仓库 README以了解其中提供的 pip 安装说明,并参阅PyPI 页面获取软件包信息。不要将打包分类器视为已测试兼容性的证据。
  3. 定义常量、参数、变量、方程和目标。对于动态任务,请根据文档准备相关时间范围和观测值;区分测量输入与待估计量。
  4. 选择合适的求解模式和执行位置。远程求解是文档所述的默认方式;remote=False 用于选择本地执行。请考虑输入数据是否适合进行远程处理。
  5. 评估一个有代表性的示例,检查返回到 Python 的数值,并将其与预期行为进行比较。如果求解失败,请查看 infeasibilities.txt,并参考文档中的诊断和初始化选项,再扩大模型规模。

相关资源

BayBE

开源工具

BayBE 是一个用于贝叶斯实验设计的 Python 工具箱,可根据定义的搜索空间、目标和测量结果推荐参数配置,支持化学领域感知和多目标工作流。

开源Python

实验室自动化 · 工艺优化

BoFire

开源工具

BoFire 是一个用于实验设计和贝叶斯优化的 Python 框架,支持混合变量、约束、分子表示和迭代候选选择。

开源Python

实验室自动化 · 工艺优化

Cantera Skill (K-Dense) 提供用于均相点火计算的操作说明和 Python 辅助工具,并包含机理来源记录、守恒诊断和数值细化检查。

开源Python

计算化学 · 工艺优化

do-mpc

开源工具

do-mpc 是一个 Python 工具箱,用于非线性和鲁棒模型预测控制、移动时域估计及仿真,并支持微分代数模型和不确定性。

开源Python

过程控制 · 数字孪生

Gryffin

开源工具

Gryffin 是一个 Python 贝叶斯优化框架,适用于类别型和混合型实验设计空间,支持批量推荐和物理化学描述符。

开源Python

实验室自动化 · 工艺优化

IDAES

开源工具

IDAES 是一个 Python 过程系统工程工具包,用于通过仿真开展先进能源系统的设计、分析和优化,并提供求解器扩展;示例则单独分发。

开源Python

工艺优化 · 化学制造

相关指南

工作流

评估化学工程中的 AI 工作流

规划评估方案,将过程建模、反应优化和控制区分开来。在考虑用于实际运行之前,先定义输入、运行限制、考虑时间因素的验证方式和审批关卡。

技能

化学 AI Skills 是什么?科研 Agent 的能力模块详解

了解化学 AI Skills 如何作为可复用的流程模块:`SKILL.md` 包含什么内容,宿主如何加载指令,Skills 与 MCP 和智能体有何区别,以及如何选择、组合和评估它们,同时避免将操作指导误认为科学验证。

工作流

计算化学 AI 工作流:从结构到模拟与结果分析

借助 AI Skills 构建重视证据的计算化学工作流,涵盖结构准备、声子、气相着火、CALPHAD 平衡和反应分子动力学分析,同时明确真实输入、执行依赖和科学验证。