Sei sulla pagina 1di 7

Programmazione Dinamica

Il Principio di Bellman consente di risolvere un processo decisionale a stadi di


natura Markoviana dove `e dato
un indice temporate k = 0, 1, 2 . . .
un insieme di stati x X;
un insieme di decisioni ammissibili d D in corrispondenza di ciascuno
stato;
p
d
(x

, x

) = Pr(x
k+1
= x

| x
k
= x

, u
k
= d) la probabilit`a che la decisio-
ne d applicata nello stato x

allistante k mi porti ad uno stato x

allistante
k + 1 (tali probabilit`a si assumono assegnate per ciascuna coppia di stati
e ciascuna decisione ammissibile);
r
u
(x

, x

) limmediata utilit`a che si genera per eetto della transizione da


uno stato x

allo stato x

Per tale sistema decisionale si ricerca una soluzione del tipo u = u(x
k
) ovvero
una regola (o politica) decisionale dipendente dallo stato x
k
piuttosto che una
semplice sequenza di decisioni u
k
, k = 0, 1 . . . , N 1
1
tale da massimizzare il
ritorno atteso cumulato e scontato. Questo signica risolvere, nel rispetto dei
vincoli assegnati
R(x
0
) = max E[
N
r

(X
N
) +
N1

k=0

k
r(x
k
, u(x
k
))] (1)
su un orizzonte nito N dove 0 1 `e un fattore di attualizzazione.
Per comprendere il principio di Bellman pu`o essere utile considerare il pro-
cesso decisionale descritto come un gioco (game) in cui il decisore opera contro
la Natura. Viene misurato lo stato e presa una decisione. Alla decisione u(x
k
)
1
Si noti che quando il processo decisionale viene attuato sotto forma di retroazione di stato,
levoluzione del sistema sar`a descrivibile da una catena di Markov.
1
A cura di F. Garofalo, P. De Lellis, D. Liuzza, F. Lo Iudice, G. Mancini
la Natura associa un evento aleatorio che, insieme ad u(x
k
), determina la transi-
zione nello stato successivo x
k+1
. Il decisore, conoscendo il nuovo stato in cui si
`e venuto a trovare attua una delle decisioni ammissibili mirando al suo obiettivo,
e cos` via. Il gioco si dispiega cos` come un grafo in cui i nodi rappresentano
le informazioni disponibili e gli archi le mosse dei giocatori. Nella gura i nodi
indicati con A sono quelli conseguenti alle azioni del decisore e quelli indicati
con N quelli relativi alle azioni della natura. La molteplicit`a degli archi uscenti
dai nodi di tipo A discende dalla possibili scelte del decisore, la molteplicit`a
di archi uscenti dai nodi di tipo N `e dovuta alle possibili diverse realizzazioni
del processo aleatorio allistante considerato. Un sub-game si identica con un
sottoalbero che si diparte da un nodo di tipo N.
In relazione a questo grafo il Principio di Bellman aerma che a partire
da ogni nodo decisionale la politica di decisione rispetta sempre il medesimo
criterio.
In ciascun nodo agente la decisione ottima u(x
k
) `e presa massimizzando il
valore atteso dellutilit`a nel subgame che si diparte da questo nodo
2
assumendo
che tutte le successive decisioni siano prese con il medesimo criterio.
Il comportamento decisionale ipotizzato dal principio di Bellman implica che
si possa risolvere il problema delle decisioni a stadi attraverso una procedura di
soluzione di sottoproblemi allindietro nel tempo con k = N, n 1, . . . , 0 che va
sotto il nome di Programmazione Dinamica (PD).
Infatti, se si indica con
V
k
(x
k
) = E[
N
r

(x
N
) +
N1

l=k

l
r(x
l
, u(x
l
))]
la funzione obiettivo relativa al subgame che si diparte dal nodo decisionale x
k
allistante k
3
, il comportamento del decisore nei vari stadi, andando a ritroso
nella catena decisionale, si potr`a formalizzare come segue:
per k = N
V

k
(x
N
) =
N
r

(X
N
)
2
Si tratta dunque di un valore atteso condizionato allessere in quellistante in quel
particolare stato.
3
Tale funzione prende talvolta il nome di funzione valore.
2
A cura di F. Garofalo, P. De Lellis, D. Liuzza, F. Lo Iudice, G. Mancini
per 0 k < N
V

k
(x
k
) = max
u
k
,u
k+1
,...,u
N1
E[
N
r

(x
N
) +
N1

l=k

l
r(x
l
, u
l
(x
l
))]
= max
u
k
[
k
r(x
k
, u
k
(x
k
)) +E[V

k
(x
k+1
)]]
u

k
(x
k
) = argmax [r(x
k1
, u(x
k1
)) +E[V

k
(x
k
)]]
Naturalmente, ad ogni passo decisionale, nel fare l massimizzazione, devo-
no essere opportunamente tenuti in conto i vincoli cui `e sottoposta la scelta
della decisione (non riportati nella formulazione precedente per semplicit`a di
notazione).
Applicazione del Principio di Bellman al problema del con-
trollo ottimo
Si voglia ora ricercare la soluzione del seguente problema di controllo ottimo
min
u(x
0
),u(x
1
),...u(x
N1
)
E[(x
N
) +
N1

k=0
L(x
k
, u
k
, w
k
)]
x
k+1
= f(x
k
, u
k
, w
k
)
x
0
= x
0
w
k
WN(0,
w
)
x
k
misurabile in ogni k
Denito
V (x
k
) = E[(x
N
) +
N1

i=k
L(x
i
, u
i
, w
i
)] (2)
applicando lalgoritmo di Programmazione Dinamica dobbiamo risolvere allin-
dietro nel tempo
V

i
(x
i
) = min
u
i
(x
i
)
E[L(x
i
, u
i
) + +V

i+1
(f(x
i
, u
i
, w
i
)] (3)
con la condizione terminale
V

N
(x
N
) = (x
N
) (4)
Si noti che in questo caso `e il cosiddetto rumore di processo w
k
a determinare
le probabilit`a di transizione di stato. Nel caso che non ci siano altri vincoli al
problema iniziale, si tratta di risolvere iterativamente allindietro nel tempo la
3
A cura di F. Garofalo, P. De Lellis, D. Liuzza, F. Lo Iudice, G. Mancini
cosiddetta equazione di Bellman

u(x
i
)

[L(x
i
, u(x
i
)) +E[V

i+1
(f(x
i
, u(x
i
), w
i
)]

= 0 (5)
a partire da
V

N
(x
N
) = (x
N
)
e il valore assunto dalla cifra di merito allottimo sar`a fornito da V

0
(x
0
).
Per vedere come si possa risolvere analiticamente, in un caso semplice, questa
equazione, facciamo riferimento al problema lineare quadratico (LQ).
min
u()
E[x
T
N
Q
f
x
N
+
N1

k=0
(x
T
k
Qx
k
+u
T
k
Ru
k
)] = (6)
x
k+1
= Ax
k
+Bu
k
+w
k
(7)
x
0
= x
0
R > 0, Q, Q
f
0
w
k
WN(0,
w
) (8)
x
k
misurabile in ogni k
Ipotizziamo che la soluzione di ciascun sottoproblema decisionale abbia una
struttura quadratica del tipo V

(x
i
) = x
T
i
P
i
x
i
+
i
. Ci`o `e vero sicuramente per
i = N con
N
= 0. Lequazione di Bellman si scrive allora

u(x
i
)
[x
T
i
Qx
i
+u
T
(x
i
)Ru(x
i
)+
+E[(Ax
i
+Bu(x
i
) +w
i
)
T
P
i+1
(Ax
i
+Bu(x
i
) +w
i
) +
i+1
]]
=

u(x
i
)
[x
T
i
Qx
i
+u
T
(x
i
)Ru(x
i
) +x
T
i
A
T
P
i+1
Ax
i
+u
T
x
i
B
T
P
i+1
Bu
x
i
+ 2x
T
i
A
T
P
i+1
Bu(x
i
) +w
T
i
P
i+1
w
i
] = 0
che comporta, con semplici calcoli, la scelta di
u

(x
i
) = (R +B
T
P
i+1
B)
1
Ax
i
(9)
che, sostituita nella espressione di V
i
(x
i
), ci consente di aermare che V

(x
i
) =
x
T
i
P
i
x
i
+ tr
w
P
i+1
dove
P
i
= A
T
P
i+1
A+QA
T
P
i+1
B(R +B
T
P
i+1
B)
1
A (10)
che `e lequazione di Riccati gi`a precedentemente incontrata.
Abbiamo cos` vericato che se V
i+1
(x
i+1
) `e una forma quadratica in x
i+1
tale sar`a anche V
i
(x
i
). Questo, essendo V
N
(x
N
) una forma quadratica, fornisce
4
A cura di F. Garofalo, P. De Lellis, D. Liuzza, F. Lo Iudice, G. Mancini
una dimostrazione per induzione che V (x
i
) `e una forma quadratica per ogni
istante i.
In denitiva, dunque, la soluzione della catena di problemi decisionali, for-
nisce
V

(x
k
) = x
T
k
P
k
x
k
+
N2

l=k
tr
w
P
l+1
il che consente di concludere che la soluzione del problema di controllo LQ in
ambiente incerto `e data da
u

(x
k
) = (R +B
T
P
k+1
B)
1
Ax
k
:= G(k)x
k
(11)
e che il valore della cifra di merito allottimo vale
V

(x
0
) = x
T
0
P
k
x
0
+
N2

l=0
tr
w
P
l+1
.
In denitiva, dunque, la soluzione del problema di controllo ottimo si pre-
senta come una retroazione lineare dello stato corrente (supposto misurato)
attraverso una matrice di guadagno G(k) che si pu`o precalcolare risolvendo
lequazione di Riccati (10).
E interessante notare che se il problema LQ fosse di tipo deterministico,
ovvere se w
k
= 0 k allora il controllo ottimo avrebbe la medesima forma,
mentre il valore la cifra di merito si decremterebbe del termine costante che,
invece, dipende dallincertezza attraverso la matrice di covarianza
w
. Questa
constatazione ci permette di concludere che la soluzione del problema di con-
trollo ottimo LQ in ambiente incerto pu`o essere arontato con la logica della
certezza equivalente, assumendo cio`e che il rumore di processo assuma il suo
valore medio che, nella circostanza considerata, `e nullo. Bisogna sottolineare
che `e la natura stessa del problema LQ e le ipotesi sul rumore di processo che
consentono di pervenire a questa conclusione, che, invece, non `e generalizzabile
a tutti i problemi di controllo stocastico.
Esempio: gestione delle scorte a magazzino
Si consideri il problema della gestione delle scorte a magazzino di un dato artico-
lo in N periodi temporali (ad esempio, N mesi). In particolare, si vuole decidere
la quantit`a da ordinare allinizio di ciascun periodo al ne di soddisfare una do-
manda aleatoria minimizzando il costo atteso. Le variabili che utilizzeremo per
descrivere tale problema sono:
1. x
k
: livello di scorta a magazzino allinizio del periodo k-esimo
5
A cura di F. Garofalo, P. De Lellis, D. Liuzza, F. Lo Iudice, G. Mancini
2. u
k
: quantit`a ordinata (ed immediatamente consegnata) allinizio del pe-
riodo k-esimo
3. w
k
: domanda (immediatamente evasa) durante il periodo k-esimo, di cui
`e nota la funzione densit`a di probabilit`a.
Nel seguito, assumeremo che la variabili aleatorie w
0
, w
1
, . . . , w
N1
sono variabi-
li aleatorie indipendenti e che la domanda in eccesso viene accumulata ed evasa
non appena sono disponibili nuove scorte. Sotto queste ipotesi, levoluzione del
livello di scorta si pu`o descrivere attraverso la seguente equazione alle dierenze:
x
k+1
= x
k
+u
k
w
k
,
dove un livello di scorta negativo corrisponde allaccumulo di domanda inevasa.
I costi in cui `e possibile incorrere durante il periodo k-esimo consistono di
due possibili aliquote
1. Il costo di acquisto, che si assumer`a proporzionale alla quantit`a ordinata,
ovvero pari a cu
k
, dove c indica il costo unitario dacquisto.
4
2. Un costo r(x
k
), che rappresenta una penalit`a sia per il caso di livello di
scorta positivo (in tal caso rappresenta un costo di mantenimento a ma-
gazzino), sia per il caso di livello di scorta negativo (in tal caso rappresenta
un costo di penuria).
Pertanto, il problema di ottimizzazione che vogliamo risolvere `e il seguente:
min
u
0
(x
0
),...,u
N1
(x
N1
)
E

N1

k=0
(cu
k
+r(x
k
+u
k
w
k
))

(12)
x
k+1
= x
k
+u
k
w
k
(13)
x
0
= x
0
(14)
u
k
0 (15)
dove x
0
rappresenta il livello di scorta allinizio della gestione.
5
Nel seguito,
studieremo l problema nel caso in cui il costo di penuria o mantenimento r
possa scriversi come
r(x
k+1
) = p max(0, x
k+1
) +hmax(0, x
k+1
),
4
Stiamo implicitamente assumendo che non ci siano economie di scala.
5
Si noti che il costo di penuria o mantenimento in cui si incorre nel periodo k-esimo di-
pende da x
k+1
, in quanto abbiamo assunto che la quantit`a ordinata viene immediatamente
consegnata e la domanda immediatamente evasa.
6
A cura di F. Garofalo, P. De Lellis, D. Liuzza, F. Lo Iudice, G. Mancini
dove p ed h sono rispettivamente i costi unitari di penuria e mantenimento.
Anche il problema sia ben posto, `e necessario assumere p > c. Infatti, se il
costo unitario dacquisto fosse pi` u grande del costo unitario di penuria, allora
non sarebbe mai conveniente acquistare nuove quantit`a.
Applicando lalgoritmo della programmazione dinamica, si ottiene
J
N
(x
N
) = 0 (16)
J

k
(x
k
) = min
u
k
0

cu
k
+(x
k
+u
k
) +E

k+1
(x
k
+u
k
w
k
)

, (17)
dove la funzione si denisce come
(y) = E[r(y w
k
)] = pE[max(0, w
k
y)] +hE[max(0, y w
k
)] .
Si osservi come la funzione sia una funzione convessa, in quanto r(y w
k
)
lo `e per qualsiasi valore di w
k
, per cui loperatore di valore atteso preserva la
propriet`a di convessit`a.
Introducendo la variabile y
k
= x
k
+w
k
, `e possibile riscrivere lequazione (17)
come
J

k
(x
k
) = cu
k
+ min
y
k
x
k
g
k
(y
k
),
dove
g
k
(y
k
) = cy
k
+(y
k
) +E

k+1
(y
k
w
k
)

.
La convessit`a di cy ed (y), abbinata alla convessit`a di J
N
, consente di di-
mostrare per induzione che J

k
(e dunque g
k
) `e anchessa convessa, per ogni
k = 0, 1, . . . , N 1. Pertanto, g
k
ammetter`a un unico punto di minimo s
k
rispetto ad y:
s
k
= arg min
y
g
k
(y).
Pertanto, considerando il vincolo y
k
x
k
, il valore ottimale per y
k
sar`a proprio
s
k
se x
k
< s
k
, mentre sar`a pari ad x
k
altrimenti. Utilizzando la trasformazione
inversa u
k
= s
k
x
k
, otteniamo la politica di gestione ottimale:
u
k
=

k
(x
k
) =

s
k
x
k
if x
k
< s
k
,
0 if x
k
s
k
.
(18)
7