Skip to main navigation Skip to search Skip to main content

Numerical optimization packages for optimal control: QPIPM and NLPSQP

Research output: Book/ReportReportResearchpeer-review

276 Downloads (Orbit)

Abstract

In this part, we introduce the Riccati based primal-dual interior-point software, QPIPM (quadraticprogramming- interior-point-method), for solution of quadratic programming problems (QPs). QPIPM can solve QPs with 1) equality constraints, 2) box constraints, and 3) soft constraints. We have implemented QPIPM in both a Matlab version and a C version. Due to time constraints, currently only the Matlab version of QPIPM supports QPs with soft constraints. The Matlab version provides a non-optimized and simple implementation that can be useful in a development phase. The C version is implemented thread-safe with the intention to solve multiple optimal control problems (OCPs) in parallel. The thread-safety is achieved by QPIPM having no internal memory allocations. The main purpose of QPIPM is to be included in the sequential quadratic programming algorithm, NLPSQP, introduced in the next part of this report and the integration of QPIPM and NLPSQP in a previously implemented toolbox for parallel Monte Carlo simulation of closed-loop systems (Wahlgreen et al. 2021). We also point out that the current version of QPIPM is work in progress and that the implementation can be optimized for better computational performance.
In this report, we introduce the mathematical details in the QPIPM implementation and introduce the interfaces of QPIPM in both Matlab and C. QPIPM is stored in a private gitlab-repository QPIPM and is part of the project SCProject, which is implemented in C and contains a number of other gitlab-repositories. For the C version, we introduce the other dependencies in SCProject and explain how to allocate the required memory prior to calling QPIPM.
We point out that the implementation of QPIPM is highly inspired by previous work on the topic (Rao et al. 1998, Jørgensen 2004, Wächter and Biegler 2006, Frison and Jørgensen 2013, Jørgensen et al. 2012, Wahlgreen and Jørgensen 2022).
Original languageEnglish
Place of PublicationKgs. Lyngby
PublisherTechnical University of Denmark
Number of pages60
Publication statusPublished - 2023

Fingerprint

Dive into the research topics of 'Numerical optimization packages for optimal control: QPIPM and NLPSQP'. Together they form a unique fingerprint.

Cite this