Model predictive control python toolbox
do-mpc is a comprehensive open-source toolbox for robust model predictive control (MPC) and moving horizon estimation (MHE). do-mpc enables the efficient formulation and solution of control and estimation problems for nonlinear systems, including tools to deal with uncertainty and time discretization. The modular structure of do-mpc contains simulation, estimation and control components that can be easily extended and combined to fit many different applications.
In summary, do-mpc offers the following features:
- nonlinear and economic model predictive control
- support for differential algebraic equations (DAE)
- time discretization with orthogonal collocation on finite elements
- robust multi-stage model predictive control
- moving horizon state and parameter estimation
- modular design that can be easily extended
The do-mpc software is Python based and works therefore on any OS with a Python 3.x distribution. do-mpc was originally developed by Sergio Lucia and Alexandru Tatulea at the DYN chair of the TU Dortmund lead by Sebastian Engell. The development is continued at the Chair of Process Automation Systems (PAS) of the TU Dortmund by Felix Brabender, Joshua Adamek, Felix Fiedler and Sergio Lucia.
Installation instructions
Installation instructions are given here.
Documentation
Please visit our extensive documentation, kindly hosted on readthedocs.
Citing do-mpc
If you use do-mpc for published work please cite it as:
F. Fiedler, B. Karg, L. Lüken, D. Brandner, M. Heinlein, F. Brabender and S. Lucia. do-mpc: Towards FAIR nonlinear and robust model predictive control. Control Engineering Practice, 140:105676, 2023
Please remember to properly cite other software that you might be using too if you use do-mpc (e.g. CasADi, IPOPT, ...)
Metadata
Release files for do-mpc 5.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| do_mpc-5.1.2.tar.gz | 135.5 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| do_mpc-5.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 301.7 kB
Release files / do_mpc-5.1.2.tar.gz
| Download URL | do_mpc-5.1.2.tar.gz |
|---|---|
| Size | 135.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2aec89efd270d00f68b5252c050de854104567ab2a5e4216d904eff76d36e62d
|
|
BLAKE2b-256 checksum How to use checksums |
661d9919a8c6551f27088801f17d1fe5639411a6852446c5ecdb379d11d8f31c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / do_mpc-5.1.2-py3-none-any.whl
| Download URL | do_mpc-5.1.2-py3-none-any.whl |
|---|---|
| Size | 166.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4c9b7d3c17c3104beebdc46900a00dbfc0ef0bddcb47cf9e92957b31d056cf63
|
|
BLAKE2b-256 checksum How to use checksums |
34f7be069103d9859b9b6fae812d04ea2e31483e62872ca00c5fe72ba47dcd30
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Security for do-mpc 5.1.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.