We derive closed-form extensions of Riccati's recursions (both sequential and parallel) for solving dual-regularized LQR problems. We show how these methods can be used to solve general constrained, non-convex, discrete-time optimal control problems via a regularized interior point method, while guaranteeing that each step is a descent direction of an Augmented Barrier-Lagrangian merit function. We provide MIT-licensed implementations of our methods in C++ and JAX.
- ID Articolo: 2509.16370
- Titolo: Dual-Regularized Riccati Recursions for Interior-Point Optimal Control
- Autori: João Sousa-Pinto, Dominique Orban
- Classificazione: math.OC cs.MS cs.RO cs.SY eess.SY
- Data di Pubblicazione: 15 ottobre 2025 (arXiv v2)
- Link Articolo: https://arxiv.org/abs/2509.16370
Questo articolo deriva estensioni in forma chiusa delle ricorsioni di Riccati per risolvere problemi LQR doppiamente regolarizzati (incluse versioni sequenziali e parallele). Gli autori dimostrano come utilizzare questi metodi per risolvere problemi generali di controllo ottimale discreto nel tempo, non convessi e vincolati, mediante metodi di punto interno regolarizzati, garantendo che ogni passo sia una direzione di discesa per la funzione barriera-Lagrangiana aumentata. L'articolo fornisce implementazioni con licenza MIT in C++ e JAX.
Il problema centrale affrontato da questa ricerca è come risolvere efficientemente problemi di controllo ottimale discreto nel tempo non convessi con vincoli di uguaglianza e disuguaglianza. I metodi tradizionali presentano le seguenti sfide nel trattare tali problemi:
- Problemi di Efficienza Computazionale: I metodi di punto interno standard nel risolvere problemi di controllo ottimale richiedono la soluzione di sistemi lineari di grandi dimensioni, con elevata complessità computazionale
- Stabilità Numerica: Quando i parametri di regolarizzazione tendono a zero, i metodi tradizionali possono presentare instabilità numerica
- Difficoltà di Parallelizzazione: I metodi esistenti hanno difficoltà a sfruttare pienamente le risorse di calcolo parallelo
I problemi di controllo ottimale hanno applicazioni diffuse in robotica, aerospaziale, guida autonoma e altri campi. La risoluzione efficiente di tali problemi è cruciale per i sistemi di controllo in tempo reale, in particolare negli scenari che richiedono la gestione di vincoli complessi.
- Algoritmo DDP: Sebbene sia il metodo più comunemente utilizzato nella pratica, come metodo single-shooting non può avviare a caldo indipendentemente le traiettorie di stato
- Metodi LQR Standard: Applicabili solo a sistemi lineari senza vincoli o con vincoli semplici
- Metodi di Punto Interno Esistenti: Risolutori generici come IPOPT non possono sfruttare pienamente le caratteristiche strutturali dei problemi di controllo ottimale
- Contributo Teorico: Derivazione di estensioni in forma chiusa delle ricorsioni di Riccati per risolvere problemi LQR doppiamente regolarizzati, incluse versioni sequenziali e parallele
- Innovazione Algoritmica: Proposta di un metodo di punto interno regolarizzato che garantisce direzioni di discesa, utilizzando la funzione barriera-Lagrangiana aumentata come funzione di merito
- Stabilità Numerica: Progettazione di un algoritmo numericamente stabile quando il parametro di regolarizzazione δ→0, in grado di recuperare l'algoritmo LQR standard
- Algoritmo Parallelo: Implementazione di un algoritmo di risoluzione con complessità temporale parallela O(log N) basato su scansioni associative
- Contributo Software: Fornitura di implementazioni open-source in C++ e JAX, supportando operazioni efficienti di algebra lineare sparsa
Si consideri il problema di controllo ottimale discreto nel tempo:
minx0,u0,…,xN∑i=0N−1fi(xi,ui)+fN(xN)
Vincoli:
- Stato iniziale: x0=s0
- Vincoli di dinamica: xi+1=di(xi,ui),∀i∈{0,…,N−1}
- Vincoli di uguaglianza: ci(xi,ui)=0,∀i∈{0,…,N−1}
- Vincoli di disuguaglianza: gi(xi,ui)≤0,∀i∈{0,…,N−1}
- Vincoli terminali: cN(xN)=0,gN(xN)≤0
Definire la funzione barriera-Lagrangiana:
L(x,s,y,z;μ)=f(x)−μ∑ilog(si)+yTc(x)+zT(g(x)+s)
Versione aumentata:
A(x,s,y,z;μ,η)=L(x,s,y,z;μ)+2η(∥c(x)∥2+∥g(x)+s∥2)
Ogni iterazione richiede la risoluzione del sistema lineare:
undefined