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 :ref:`what_APM_does` and in the GEKKO Journal Article. Example applications are available to get started with GEKKO.
A pip package is available (see current download stats):
pip install gekko
Use the ----user option to install if there is a permission error because Python is installed for all users and the account lacks administrative priviledge. You can upgrade from the command line with the upgrade flag:
pip install --upgrade gekko
Another method is to install in a Jupyter notebook with !pip install gekko or with Python code, although this is not the preferred method:
try: from pip import main as pipmain except: from pip._internal import main as pipmain pipmain(['install','gekko'])
There are GEKKO tutorials and documentation in:
- GitHub Repository (examples folder)
- Dynamic Optimization Course
- APMonitor Documentation
- GEKKO Documentation
- 18 Example Applications with Videos
For project specific help, search in the GEKKO topic tags on StackOverflow. If there isn't a similar solution, please consider posting a question with a Mimimal, Complete, and Verifiable example. If you give the question a GEKKO tag with [gekko], the subscribed community is alerted to your question.
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:
@article{beal2018gekko, title={GEKKO Optimization Suite}, author={Beal, Logan and Hill, Daniel and Martin, R and Hedengren, John}, journal={Processes}, volume={6}, number={8}, pages={106}, year={2018}, doi={10.3390/pr6080106}, publisher={Multidisciplinary Digital Publishing Institute}}
.. toctree:: :maxdepth: 1 overview quick_start imode global tuning_params MV_options CV_options model_methods brain ml chemical solver_extension examples support
A PDF of the complete Gekko (stable release) documentation is available from this link.