BYU-PRISM/GEKKO
GEKKO Python for Machine Learning and Dynamic Optimization
解く課題
GEKKOは、複雑な数学的最適化および機械学習の問題、特に時系列および微分代数方程式(DAE)システムを含む問題を解決するために設計されています。物理ベースまたはデータ駆動型のアプローチに基づくモデルを定義するための高レベルな抽象化を提供し、ユーザーが最適値の算出、パラメータの推定、動的システムのシミュレーションを行えるようにします。
仕組み
GEKKOは、APMonitor最適化スイートへのPythonインターフェースとして機能します。方程式(Equations)または中間変数(Intermediates)によって関連付けられた定数(Constants)、パラメータ(Parameters)、変数(Variables)のシステムを使用してモデルを定義します。バックエンド(APMonitor)はこのモデルをバイトコードにコンパイルし、スパース構造に基づいてモデルの簡約化を行います。微分方程式については、有限要素上の直交コロケーションを使用して問題を代数系に変換します。その後、必要な勾配、ヘッセ行列、制約条件を大規模ソルバー(IPOPT、APOPT、SNOPTなど)に渡して解を求めます。
対象ユーザー
このツールは、物理的または数学的システムの非線形予測制御、リアルタイム最適化、および動的シミュレーションを実行する必要があるエンジニア、科学者、データアナリスト向けです。
ハイライト
- マルチモード動作: 定常状態シミュレーション、移動ホライゾン推定、非線形制御を含む9つの異なるモードをサポートしています。
- 幅広いソルバーサポート: 線形、二次、非線形、および混合整数計画法(LP, QP, NLP, MILP, MINLP)のソルバーと連携しています。
- 柔軟なデプロイ: ローカルCPUまたはリモートの高性能サーバーのいずれかで実行可能です。
- 包括的なデバッグ: 不可能(infeasible)な方程式を特定したり、モデルを初期化したりするための収束レポートと診断レベルが含まれています。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト