--- id: gekko version: "1.3.2" license: MIT license_treatment: permissive maintenance: active --- # gekko — Machine learning and optimization for dynamic systems License: permissive · Maintenance: active · Downloads: 141.1K/mo ## What it is and what it does GEKKO is an optimization and machine learning framework that translates mathematical models of dynamic systems into byte-code and solves them using large-scale solvers. It specializes in problems involving differential algebraic equations (DAEs)—systems where variables evolve over time according to differential equations and algebraic constraints. The package supports a wide range of problem formulations: from simple linear and quadratic programs to complex mixed-integer nonlinear problems, as well as control and estimation tasks like model predictive control and moving horizon estimation. The package works by building a symbolic representation of your problem—defining variables, equations, and objectives—then compiling that representation and passing it to industrial-grade solvers (APOPT and IPOPT) with automatically computed sparse derivatives. It includes data-cleaning utilities and is designed to run on Windows, Linux, macOS, and ARM processors. GEKKO is intended for engineers and researchers solving real-world optimization and control problems, from parameter estimation and regression to real-time optimization and advanced process control. Use it for: - Solve differential algebraic equation systems with constraints and optimization objectives over a time horizon - Build and tune model predictive control (MPC) systems for process automation or robotics - Perform parameter estimation and data regression on dynamic system models - Formulate and solve mixed-integer nonlinear programs (MINLP) for scheduling or resource allocation - Implement moving horizon estimation (MHE) for state estimation in real-time systems - Conduct sensitivity analysis and optimization of complex engineering systems ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. GEKKO is a Python package for optimization and machine learning that specializes in solving dynamic systems described by differential algebraic equations, with support for linear, quadratic, nonlinear, and mixed-integer programming problems. Yes. GEKKO is actively maintained, has no known vulnerabilities, installs with minimal friction (numpy only), and is licensed permissively. It fills a specialized niche in dynamic optimization and DAE solving that few Python packages address directly. Install if you need to solve differential algebraic equations, implement model predictive control, or tackle mixed-integer nonlinear optimization problems. ## Install pip install gekko uv add gekko poetry add gekko ## Installing gekko Before you install: Low install friction; pure Python wheel with only numpy as a runtime dependency. Active maintenance with recent commits and a stable production release status. License in practice: MIT license permits unrestricted use, modification, and distribution with minimal restrictions—suitable for commercial and proprietary projects. Quickstart: pip install gekko import gekko m = gekko.GEKKO() x = m.Var() m.Equation(x**2 == 4) m.solve() print(x.value) Verify before relying: - Whether the bundled APOPT and IPOPT solvers are included in the wheel or require separate installation - Performance characteristics and scalability limits for large-scale DAE systems - Whether cloud/edge deployment modes require additional configuration or credentials ## Package facts - License: MIT (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 141.1K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags differential algebraic equations solver, nonlinear optimization python, dynamic systems optimization, model predictive control, mixed-integer programming, machine learning optimization, DAE solver, optimization, control-systems, differential-equations [View on SkillFed](https://skillfed.io/packages/gekko) · [View on PyPI](https://pypi.org/project/gekko/)