# Principio di Pontryagin

Il principio (del massimo o del minimo) di Pontrjagin è un risultato di teoria del controllo ottimo, formulato nel 1956 dal matematico russo Lev Semënovič Pontrjagin assieme ai suoi studenti.
Il principio consiste nell'identificazione delle condizioni necessarie per realizzare il controllo ottimo che porti un sistema dinamico da uno stato ad un altro stato, specialmente in presenza di vincoli per lo stato o per i controlli. L'equazione di Eulero-Lagrange del calcolo delle variazioni è un caso speciale del principio di Pontrjagin.
Il principio di Pontrjagin, quando viene soddisfatto, restituisce una condizione necessaria per dimostrare l'ottimalità di una selezionata traiettoria. Tale condizione non è tuttavia sufficiente: l'equazione di Hamilton-Jacobi-Bellman sarebbe una condizione necessaria e sufficiente per un controllo ottimale, ma questa condizione dovrebbe essere verificata per tutto lo spazio degli stati mentre il principio del massimo restringe la scelta.

## Massimizzazione e minimizzazione

Informalmente, il principio di Pontrjagin afferma che la funzione obiettivo, detta Hamiltoniana, deve necessariamente raggiungere un estremo tra tutti i controlli ammissibili. Se tale estremo sia il massimo o il minimo dell'Hamiltoniana dipende dal problema e dalla convenzione sul segno usato per definire l'Hamiltoniana.
Il principio fu noto inizialmente come principio del massimo di Pontrjagin, per la convenzione del segno usata, e quindi la sua dimostrazione è basata sulla massimizzazione della Hamiltoniana. Inizialmente, fu utilizzato per massimizzare la velocità finale di un razzo. Poiché fu utilizzato in seguito in numerosi problemi di minimizzazione, divenne noto come principio del minimo.
Sia ${\mathcal {U}}$ l'insieme di tutti i controlli ammissibili. Allora il principio del minimo afferma che il controllo ottimo $u^{*}$ deve soddisfare:
    $H(x^{*}(t),u^{*}(t),\lambda ^{*}(t),t)\leq H(x^{*}(t),u,\lambda ^{*}(t),t),\quad \forall u\in {\mathcal {U}},\quad t\in [t_{0},t_{f}]$
dove $x^{*}\in C^{1}[t_{0},t_{f}]$ è la traiettoria ottimale e $\lambda ^{*}\in BV[t_{0},t_{f}]$ è la traiettoria aggiunta ottimale.
Il risultato è stato applicato inizialmente per risolvere problemi di minimizzazione nel tempo dove il controllo era vincolato, ma può essere utile anche nello studio di problemi con vincoli sullo stato. Possono essere imposte condizioni speciali per l'Hamiltoniana: nel caso in cui il tempo finale $t_{f}$ sia fissato e l'Hamiltoniana non dipenda esplicitamente dal tempo, (i.e. $\partial _{t}H\equiv 0$), allora:
    $H(x^{*}(t),u^{*}(t),\lambda ^{*}(t))\equiv \mathrm {costante} \,$
altrimenti, se il tempo finale non è vincolato, allora:
    $H(x^{*}(t),u^{*}(t),\lambda ^{*}(t))\equiv 0.\,$

## Notazione

Nel seguito, verrà utilizzata la seguente notazione
    $\Psi _{T}(x(T))={\frac {\partial \Psi (x)}{\partial T}}|_{x=x(T)}\,$
    $\Psi _{x}(x(T))={\begin{bmatrix}{\frac {\partial \Psi (x)}{\partial x_{1}}}|_{x=x(T)}&\cdots &{\frac {\partial \Psi (x)}{\partial x_{n}}}|_{x=x(T)}\end{bmatrix}}$
    $H_{x}(x^{*},u^{*},\lambda ^{*},t)={\begin{bmatrix}{\frac {\partial H}{\partial x_{1}}}|_{x=x^{*},u=u^{*},\lambda =\lambda ^{*}}&\cdots &{\frac {\partial H}{\partial x_{n}}}|_{x=x^{*},u=u^{*},\lambda =\lambda ^{*}}\end{bmatrix}}$
    $L_{x}(x^{*},u^{*})={\begin{bmatrix}{\frac {\partial L}{\partial x_{1}}}|_{x=x^{*},u=u^{*}}&\cdots &{\frac {\partial L}{\partial x_{n}}}|_{x=x^{*},u=u^{*}}\end{bmatrix}}$
    $f_{x}(x^{*},u^{*})={\begin{bmatrix}{\frac {\partial f_{1}}{\partial x_{1}}}|_{x=x^{*},u=u^{*}}&\cdots &{\frac {\partial f_{1}}{\partial x_{n}}}|_{x=x^{*},u=u^{*}}\\\vdots &\ddots &\vdots \\{\frac {\partial f_{n}}{\partial x_{1}}}|_{x=x^{*},u=u^{*}}&\ldots &{\frac {\partial f_{n}}{\partial x_{n}}}|_{x=x^{*},u=u^{*}}\end{bmatrix}}$

## Enunciato formale del principio del minimo

Sia $x$ lo stato del sistema dinamico con input $u$, tale che
    ${\dot {x}}=f(x,u),\quad x(0)=x_{0},\quad u(t)\in {\mathcal {U}},\quad t\in [0,T]$
dove ${\mathcal {U}}$ è l'insieme dei controlli ammissibili e $T$ è il termpo terminale del sistema (i.e. il tempo finale).
Un controllo $u\in {\mathcal {U}}$ deve essere scelto ad ogni $t\in [0,T]$, tale che minimizzi il funzionale obiettivo del problema $J$ definito astrattamente come
    $J=\Psi (x(T))+\int _{0}^{T}L(x(t),u(t))\,dt$
I vincoli sulle dinamiche del sistema possono essere imposti alla Lagrangiana $L$ introducendo i moltiplicatori di Lagrange $\lambda (t)$, dipendenti dal tempo, i cui elementi sono chiamati aggiunti del sistema. Ciò motiva la costruzione dell'Hamiltoniana $H$ definita per ogni $t\in [0,T]$ da:
    $H(x(t),u(t),\lambda (t),t)=\lambda ^{\rm {T}}(t)f(x(t),u(t))+L(x(t),u(t))\,$
dove $\lambda ^{\rm {T}}$ è il trasposto di $\lambda$.
Il principio del minimo di Pontrjagin afferma che:
la traiettoria ottimale $x^{*}$, il controllo ottimo $u^{*}$ e il corrispondente vettore dei moltiplicatori di Lagrange $\lambda ^{*}$ devono minimizzare l'Hamiltoniana $H$ in modo tale che
    $(1)\qquad H(x^{*}(t),u^{*}(t),\lambda ^{*}(t),t)\leq H(x^{*}(t),u,\lambda ^{*}(t),t)\,$
per ogni tempo $t\in [0,T]$ e per tutti i controlli ammisibili $u\in {\mathcal {U}}$.
Deve inoltre soddisfare la condizione finale
    $(2)\qquad \Psi _{T}(x(T))+H(T)=0\,$
Devono essere soddisfatte le equazioni aggiunte
    $(3)\qquad -{\dot {\lambda }}^{\rm {T}}(t)=H_{x}(x^{*}(t),u^{*}(t),\lambda (t),t)=\lambda ^{\rm {T}}(t)f_{x}(x^{*}(t),u^{*}(t))+L_{x}(x^{*}(t),u^{*}(t))$
Nel caso in cui lo stato finale $x(T)$ non sia fissato (i.e. la sua variazione differenzia non sia zero), deve soddisfare anche il vincolo finale sulle variabili aggiunte:
    $(4)\qquad \lambda ^{\rm {T}}(T)=\Psi _{x}(x(T))\,$
Le condizioni in (1)-(4) sono condizioni necessarie per un controllo ottimo. Si noti che (4) si applica solo nel caso in cui $x(T)$ sia libero da vincolo. Se fosse fissato, questa condizione non è necessaria per raggiungere l'ottimo.