Skip to main content

Python library for solving optimal control problems via model predictive control

Project description

nMPyC

nMPyC is a Python library for solving optimal control problems via model predictive control (MPC).

nMPyC can be understood as a blackbox method. The user can only enter the desired optimal control problem without having much knowledge of the theory of model predictive control or its implementation in Python. Nevertheless, for an advanced user, there is the possibility to adjust all parameters.

This library supports a variety of discretization methods and optimizers including CasADi and SciPy solvers.

In summary, nMPyC

  • solves nonlinear finite horizon optimal control problems
  • solves nonlinear optimal control problems with model predicitve control (MPC)
  • uses algorithmic differentation via CasADi
  • can chose between different discretization methods
  • can chose between different solvers for nonlinear optimization (depending on the problem)
  • supports time-varying optimal control problems
  • supports the special structure of linear-quadratic optimal control problems
  • supports discounted optimal control problems
  • can save and load the simulation results

The nMPyC software is Python based and works therefore on any OS with a Python distribution. nMPyC has been developed by Jonas Schießl and Lisa Krügel under the supervision of Prof. Lars Grüne at the Chair of Applied Mathematic of University of Bayreuth. nMPyC is a further devolpement in Python of the Matlab code that was implemented for the NMPC Book from Lars Grüne and Jürgen Pannek.

Installation

The easiest way to install the nMPyC package is using PIP by running

   pip install nmpyc

This command will automatically add the package to the Python default path and install the required Python packages and their dependencies which are CasADi, osqp, NumPy, SciPy, matplotlib and dill.

For further informations about the Python library please visit the nMPyC Documentation.

Project details


Download files

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

Source Distribution

nmpyc-1.1.0.tar.gz (37.7 kB view details)

Uploaded Source

File details

Details for the file nmpyc-1.1.0.tar.gz.

File metadata

  • Download URL: nmpyc-1.1.0.tar.gz
  • Upload date:
  • Size: 37.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for nmpyc-1.1.0.tar.gz
Algorithm Hash digest
SHA256 3b37adaf7f640a59972a77eb4725ce7b6fa565d8adec2f5a21031f6a063d876a
MD5 778c0ab3ff536dcf181bc4a047f1b5a2
BLAKE2b-256 765864ad9b366b17bf6984da9ee14755ce256ebbe056785fb92f324f2642f2d7

See more details on using hashes here.

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