Optimal control problems aim to optimize an objective function dependent on the state evolution of a dynamical system over a given time horizon. Solving such problems becomes particularly challenging over long or infinite time horizons. Model Predictive Control (MPC) is a widely used approach to tackle these challenges by dividing the system into sub-problems over shorter horizons, which are then solved efficiently using numerical methods. These problems are prevalent across various fields, such as energy systems, autonomous driving, chemical engineering, and economics. We introduce nMPyC, a Python-based package designed to numerically solve optimal control problems without requiring in-depth knowledge of MPC theory. The package integrates well-known optimization interfaces like CasADi and SciPy, offering an intuitive syntax for problem formulation. Users only need to specify the key components of the control problem—such as the cost function, system dynamics, and constraints—while the tool handles the optimization process automatically. We demonstrate the capabilities of nMPyC through numerical examples and simulations.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

nMPyC A Python Package for Solving Optimal Control Problems via Model Predictive Control

  • Jonas Schießl,
  • Lisa Krügel

摘要

Optimal control problems aim to optimize an objective function dependent on the state evolution of a dynamical system over a given time horizon. Solving such problems becomes particularly challenging over long or infinite time horizons. Model Predictive Control (MPC) is a widely used approach to tackle these challenges by dividing the system into sub-problems over shorter horizons, which are then solved efficiently using numerical methods. These problems are prevalent across various fields, such as energy systems, autonomous driving, chemical engineering, and economics. We introduce nMPyC, a Python-based package designed to numerically solve optimal control problems without requiring in-depth knowledge of MPC theory. The package integrates well-known optimization interfaces like CasADi and SciPy, offering an intuitive syntax for problem formulation. Users only need to specify the key components of the control problem—such as the cost function, system dynamics, and constraints—while the tool handles the optimization process automatically. We demonstrate the capabilities of nMPyC through numerical examples and simulations.