Skip to main content

Machine learning and optimization for dynamic systems

Project description

GEKKO

GEKKO is a python package for machine learning and optimization, specializing in dynamic optimization of differential algebraic equations (DAE) systems. It is coupled with large-scale solvers APOPT and IPOPT for linear, quadratic, nonlinear, and mixed integer programming. Capabilities include machine learning, discrete or continuous state space models, simulation, estimation, and control.

Gekko models consist of equations and variables that create a symbolic representation of the problem for a single data point or single time instance. Solution modes then create the full model over all data points or time horizon. Gekko supports a wide range of problem types, including:

  • Linear Programming (LP)
  • Quadratic Programming (QP)
  • Nonlinear Programming (NLP)
  • Mixed-Integer Linear Programming (MILP)
  • Mixed-Integer Quadratic Programming (MIQP)
  • Mixed-Integer Nonlinear Programming (MINLP)
  • Differential Algebraic Equations (DAEs)
  • Mathematical Programming with Complementarity Constraints (MPCCs)
  • Data regression / Machine learning
  • Moving Horizon Estimation (MHE)
  • Model Predictive Control (MPC)
  • Real-Time Optimization (RTO)
  • Sequential or Simultaneous DAE solution

Gekko compiles the model into byte-code and provides sparse derivatives to the solver with automatic differentiation. Gekko includes data cleansing functions and standard tag actions for industrially hardened control and optimization on Windows, Linux, MacOS, ARM processors, or any other platform that runs Python. Options are available for local, edge, and cloud solutions to manage memory or compute resources.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gekko-1.1.0.tar.gz (13.1 MB view hashes)

Uploaded Source

Built Distribution

gekko-1.1.0-py3-none-any.whl (13.2 MB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page