GEKKO Optimization Suite


GEKKO is a Python package for machine learning and optimization of mixed-integer and differential algebraic equations. It is coupled with large-scale solvers for linear, quadratic, nonlinear, and mixed integer programming (LP, QP, NLP, MILP, MINLP). Modes of operation include parameter regression, data reconciliation, real-time optimization, dynamic simulation, and nonlinear predictive control. GEKKO is an object-oriented Python library to facilitate local execution of APMonitor.

More of the backend details are available at What does GEKKO do? and in the GEKKO Journal Article. Example applications are available to get started with GEKKO.


A pip package is available:

pip install gekko

The most recent version is 0.2. You can upgrade from the command line with the upgrade flag:

pip install --upgrade gekko

Citing GEKKO

If you use GEKKO in your work, please cite the following paper:

Beal, L.D.R., Hill, D., Martin, R.A., and Hedengren, J. D., GEKKO Optimization Suite, Processes, Volume 6, Number 8, 2018, doi: 10.3390/pr6080106.

The BibTeX entry is:

title={GEKKO Optimization Suite},
author={Beal, Logan and Hill, Daniel and Martin, R and Hedengren, John},
publisher={Multidisciplinary Digital Publishing Institute}}

Overview of GEKKO