Sei sulla pagina 1di 22

Relazione esercitazioni del corso di Cibernetica Fisiologica

Simone Ciotti
15 luglio 2012
Indice
1 Introduzione 1
1.1 Strumenti sotware utilizzati durante le esercitazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
2 Il Modello del Virus HIV 3
3 Meal Simulation Model of the Glucose-Insulin System 9
4 Identicabilit a priori sui Modelli Compartimentali 11
5 Problema di Deconvoluzione 14
6 Controllo farmacologico tramite Model Predictive Control 18
1 INTRODUZIONE
1 Introduzione
Durante le esercitazioni di laboratorio di Cibernetica Fisiologica si cercato di modellare il comportamento di alcuni
processi siologici, utilizzando per ciascuno di essi un modello matematico ritenuto soddisfacente, per dare inter-
pretazioni e previsioni anche qualitative dei fenomeni patologici. Rispetto alla teoria tradizionale dellautomazione,
le dicolt che si incontrano nellapproccio modellistico ai sistemi siologici sono molto varie:
Spesso lindividuazione delle variabili di ingresso, di uscita e di stato non banale.
Il sistema da controllare , in molti casi, esso stesso un controllore embedded (organi o parti di organi che gi
fungono da controllore siologico).
Allinterno di un organismo ci sono interazioni complesse e non trascurabili tra il sistema studiato e gli altri
sistemi.
I comportamenti sono spesso caratterizzati da non linearit forti e dunque non linearizzabili.
Lidenticazione quantitativa dei parametri, necessaria per dimensionarei modelli, non agevole perch il tipo
di prove eseguibili in vivo senza mettere a repentaglio la salute del paziente limitato.
Tuttavia si riesce, in alcuni casi, a sviluppare una modellazione qualitativa, che ben descrive sistemi biologici
in funzionamento normale, da cui si riesce a ricavare informazioni sucienti per interpretare e prevedere, anche
quantitativamente, i fenomeni patologici.
1.1 Strumenti sotware utilizzati durante le esercitazioni
Lambiente di sviluppo software di tutte le operazioni di simulazione e di identicazione parametrica eettuate
durante le esercitazioni stato Matlab/Simulink. Per poter simulare i modelli proposti stato necessario eseguire
integrazioni numeriche di equazioni dierenziali, per fare ci si fatto uso dei solver forniti nellambiente sopra
citato. La sintassi del comando utilizzato posta di seguito:
[T,Y]=solver (odefun,tspan,y0)
T: Vettore colonna rappresentativo del tempo di simulazione restituito dalla funzione.
Y: Matrice che impila per righe i risultati di simulazione.
odefun: Handler di una funzione Matlab che implementa il modello proposto.
tspan: Finestra temporale su cui viene eettuata lintegrazione.
y0: Vettore delle condizioni iniziali.
In sintassi Matlab, la funzione odefun ha la seguente intestazione, dove Y il vettore degli stati e dy il vettore
delle relative derivate.
function[dy]=odefun (t,Y)
Nel corpo della funzione bisogna esprimere il sistema autonomo da simulare in forma implicita:
y = f(y, t) (1.1)
La parola chiave solver esprime qual algoritmo di integrazione numerica da utilizzare, infatti in Matlab sono
disponibili dierenti solver. Nel corso delle esercitazioni si sono utilizzati due algoritmi che risolvono sistemi non
sti, ovvero sistemi aventi autovalori con costanti di tempo dello stesso ordine di grandezza.
ode23: Algoritmo con un ordine di accuratezza basso, utilizzato per sistemi non complessi oppure per risolvere
problemi moderatamente sti.
1
1.1 Strumenti sotware utilizzati durante le esercitazioni 1 INTRODUZIONE
ode45: Algoritmo con un ordine di accuratezza buono, utilizzato per sistemi di media complessit; dovrebbe essere
il primo algoritmo di integrazione numerica da provare.
Per eseguire lidenticazione parametrica nei modelli proposti si fatto uso della funzione Matlab fmincon. La
funzione precedentemente citata ha la seguente sintassi:
[x,costo]=fmincon (fun,x0,[],[],[],[],LB,UB)
fun: Handler di una funzione Matlab in cui specicata la funzione di costo; al suo interno verr risolto il modello
e verranno calcolati gli scarti con i dati sperimentali.
x0: Vettore dei valori iniziali delle grandezze da minimizzare.
LB: Vincoli inferiori delle grandezze da minimizzare.
UB: Vincoli superiori delle grandezze da minimizzare.
[]: Indicano la possibilit di avere opzioni aggiuntive.
x: Vettore delle grandezze che minimizzano la funzione costo.
costo: Valore minimo locale della funzione costo trovato con i parametri contenuti in x.
2
2 IL MODELLO DEL VIRUS HIV
2 Il Modello del Virus HIV
Il modello utilizzato per simulare la dinamica del virus HIV il primo modello di Wozard e Novak. Il modello si basa
sullinterazione tra le varie popolazioni cellulari per lanalisi dinamica dello sviluppo dellinfezione; nel modello si
introducono le seguenti popolazioni cellulari: le cellule non infette x, quelle infette y e il virus libero v. La dinamica
del virus viene modellata attraverso il sistema autonomo (2.1).
_
_
_
x = x xv
y = xv ay
v = ky uv
(2.1)
Dove , rappresentano rispettivamente la riproduzione siologica delle cellule sane e il tasso di infezione del virus;
i termini a, d, u, k sono dei coecienti di proporzionalit.
Gli script Matlab che realizzano quanto detto sono due, il primo il le main.m dove si deniscono i valori dei
parametri, le condizioni iniziali e si ha il lancio della simulazione. Nel secondo le odefun.m si denisce il modello
implicito del sistema.
% main.m
global lambda sigma beta a k u
% Inizializzazione dei parametri Tf=720;
Tspan=(0:Tf);
lambda=7;
sigma=0.07;
beta=4.2163*10^-7;
a=0.0999; k=90.67; u=0.1;
% Condizioni iniziali
yo=[1000;0;100];
% Lancio della simulazione
[T,Y] = ode45(odefun,Tspan,yo);
-----------------------------------------------------------------------------------------
% odefun.m
function [dy] = odefun(t,Y)
% Inizializzazione variabili
global lambda sigma beta a k u
dy= zeros(3,1);
% Implementazione delle equazioni differenziali
% Y(1)=x --> Cellule sane
% Y(2)=y --> Cellule infette
% Y(3)=v --> Virus libero
dy(1)= lambda-sigma*Y(1)-beta*Y(1)*Y(3);
dy(2)= beta*Y(1)*Y(3)-a*Y(2);
dy(3)= k*Y(2)-u*Y(3);
3
2 IL MODELLO DEL VIRUS HIV
Mostriamo i risultati ottenuti dalla simulazione con i parametri di cui sopra:
Figura 2.1: Risultati della simulazione del primo modello HIV.
Deniamo il tasso riproduttivo basale R
0
che un indice per la patogenesi del virus.
R
0
=
k
au
(2.2)
Se il tasso riproduttivo basale minore di 1 il virus non si dionde in modo consistente; diversamente se lindice
maggiore di 1, il virus si moltiplica in modo esplosivo. Nellesempio precedente il valore di tale indice 0.3827. Il
graco successivo rappresenta una dinamica del virus HIV con R
0
con valore 1.234.
Figura 2.2: Risultati della simulazione con indice basale maggiore di uno.
4
2 IL MODELLO DEL VIRUS HIV
Un punto di grande interesse lidenticazione parametrica attraverso tecniche di data tting. Tali tecniche possono
essere utilizzate se sono disponibili valori di uscite reali, cio eettuate su pazienti eettivamente malati. Tramite
queste misurazioni possibile confrontare i valori generati dal modello con determinati parametri e le uscite reali;
denendo una funzione di costo possibile, variando i parametri del modello, cercare i valori che minimizzano lerrore
denito. Una delle funzioni di costo pi utilizzate denita come tecnica dei minimi quadrati pesati. Esprimiamo
in formule quanto detto, denendo x(t) come funzione vettoriale delle uscite reali misurate, x(t, ) come funzione
vettoriale delle uscite del modello, come i parametri del modello, P come matrice diagonale dei pesi di ordine
uguale al numero delle uscite e t
f
come tempo nale dellintervallo di tempo su cui eettuare la minimizzazione.
e(t, ) = x(t) x(t, ) (2.3)
C() =

t
f
0
e(t, )
T
Pe(t, )dt (2.4)

= min

C() (2.5)
Minimizzando la funzione di costo troviamo i valori di ottimo locale per i parametri

.
Gli script Matlab che realizzano quanto detto sono due, il primo il le main.m dove si deniscono i valori dei
parametri, le condizioni iniziali e si ha il lancio della ricerca degli ottimi. Nel secondo le fun.m si risolve il modello
e si calcolano gli scarti con i dati sperimentali.
%main.m
global lambda sigma beta a k u Tf Y0
% Inizializzazione dei parametri non variabili del modello
load(experimental_data);
Tf = tdata(end);
sigma = 0.007;
beta = 0.00000042163;
k = 90.67;
Y0 = [1000 0 10^4];
% Condizioni iniziali dei parametri su cui effettuare lottimizzazione;
x0 = [7.5333 0.2991 0.0695];
% Vincoli inferiori per il vettore dei parametri da ottimizzare
LB = [0 0 0];
% Vincoli superiori per il vettore dei parametri da ottimizzare
UB = [10 1 1];
% Lancio dellottimizzazione
tic
[x,Costo] = fmincon(fun,x0,[],[],[],[],LB,UB,[]);
toc
% tic & toc servono per vedere il tempo computazionale di fmincon
-------------------------------------------------------------------------------------------------
% fun.m
function [Costo] = fun( x )
global lambda a u Tf Y0
% Inizializzazione dei parametri da stimare
lambda = x(1);
a = x(2);
u = x(3);
% Inizializzazione dellintervallo di tempo
Tspan=(0:Tf);
5
2 IL MODELLO DEL VIRUS HIV
% Risoluzione del modello con i nuovi parametri
[~,Y] = ode45(odefun,Tspan,Y0);
% Calcolo del costo secondo la tecnica dei minimi quadrati pesati
load(experimental_data);
Costo=0;
for i=1:length(tdata)
Costo = Costo+...
(1/dvstd(i,1))*((Y(tdata(i),1)-data(i,1)))^2+...
(1/dvstd(i,2))*((Y(tdata(i),2)-data(i,2)))^2+...
(1/dvstd(i,3))*((Y(tdata(i),3)-data(i,3)))^2;
end
end
In questo caso, stato scelto come peso, linverso della deviazione standard, che da informazioni su quanto una
variabile aleatoria si discosta dal valore medio di stima. Considerando linversa della deviazione standard allora
stiamo semplicemente dicendo di dare pi peso nella minimizzazione a quei valori che meno si allontanano dal valor
medio. Non sempre e possibile avere delle conoscenze a priori sui parametri da stimare, ma se sono presenti e bene
utilizzarle tutte per aumentare lecienza dellalgoritmo di stima.
Vengono mostrati di seguito i risultati ottenuti dalla simulazione, dove i graci deniti con spezzate ed asterischi
rappresentano i valori delle prove eettuate sui pazienti.
Figura 2.3: Confronto tra risultati della simulazione e prove eettuate su pazienti reali.
Per approfondire lutilizzo delle funzioni fmincon e ode, abbiamo simulato un modello dellHIV pi recente, mo-
striamo il sistema di equazioni (2.6) che lo descrive.
_

_
x = x rxy
y = rxy ay yz
w = cxyw cqyw bw
z = cqyw hz
v = k(1 u
P
f
P
)y uv
r = r
0
u
T
f
T
(2.6)
6
2 IL MODELLO DEL VIRUS HIV
Nel modello considerato si sono modellate nuove interazioni che erano state trascurate nel modello precedente. In
particolare stato modellato:
La dinamica delle cellule CTLp (precursori) responsabili della memoria immunitaria.
La dinamica delle cellule CTLe (eetrici) responsabili dellazione antivirale diretta.
Il valore costante indice dellaggressivit del virus, stato sostituito da una equazione che descrive la
dinamica temporale di tale coeciente.
Dierenziazione tra farmaci che agisco sulla transcrittasi inversa (RTI) e sulla proteasi virale (PI).
Si cercato come nel caso precedente di stimare dei coecienti a partire da andamenti temporali noti di alcune
grandezze; in particolare si cercato di stimare i valori dei coecienti , a, u e u
P
dalla conoscenza dellandamento
temporale delle popolazioni cellulari CD4+ sane, malate e del virus libero.
Mostriamo i risultati ottenuti dalla nostra simulazione, dove i rilievi sperimetentali delle grandezze conosciute sono
rappresentati dagli asterischi in rosso.
Figura 2.4: Andamento temporale delle popolazioni cellulari CD4+ sane, malate e del virus libero.
Per completezza riportiamo le risposte ottenute per le cellule CTLp e CTLe che non hanno riscontri sperimentali;
inoltre riportata anche la dinamica del coeciente di virulenza v.
Figura 2.5: Andamento temporale delle popolazioni cellulari CTLp, CTLe e del coeciente di virulenza.
7
2 IL MODELLO DEL VIRUS HIV
La procedura di identicazione parametrica ha restituito i seguenti risultati:
= 7.3186
a = 0.0926
u = 0.1821
u
P
= 0.5
Come possibile vericare dalla tabella sottostante, i risultati ottenuti sono in linea con i valori tipici dei coecienti
del modello.
Figura 2.6: Tabella con valori tipici del modello con le relative unit di misura.
8
3 MEAL SIMULATION MODEL OF THE GLUCOSE-INSULIN SYSTEM
3 Meal Simulation Model of the Glucose-Insulin System
Durante lesercitazioni stato studiato un articolo redatto da Chiara Dalla Man, Robert A. Rizza e Claudio Cobelli
dove viene proposto un modello riguardante linterazione tra glucosio ed insulina dopo un pasto completo.
un modello pi complesso rispetto a quello trattato nel corso, tale dicolt di modellizzazione stata superata
eettuando una decomposizione in vari sotto-sistemi, dove per ognuno vengono studiate le relazioni di causa-eetto.
Vengono prese in considerazione i seguenti sotto- sistemi:
Tratto gastro-intestinale.
Sistema di gestione del glucosio.
Sistema di gestione dellinsulina.
Dinamiche di assorbimento del glucosio da parte dei muscoli e tessuti adiposi.
Sistema di produzione di insulina (-cellule pancreatiche).
Dinamiche del fegato per la produzione di glucosio.
La Fig. 3.1 contenuta nellarticolo di riferimento esplica le relazioni espresse precedentemente.
Figura 3.1: Interazioni dei sottosistemi in cui stato diviso il modello di riferimento.
9
3 MEAL SIMULATION MODEL OF THE GLUCOSE-INSULIN SYSTEM
Si riportano i risultati della simulazione di tale modello.
Figura 3.2: Risultati del modello descritto nellarticolo di riferimento.
10
4 IDENTIFICABILIT A PRIORI SUI MODELLI COMPARTIMENTALI
4 Identicabilit a priori sui Modelli Compartimentali
I modelli compartimentali traggono il loro nome dalla scomposizione del sistema in varie parti (compartimenti).
Deniamo un compartimento come un insieme di materia che per lorganismo si comporta in maniera omogenea
(sia dal punto di vista della distribuzione che del comportamento cinetico allinterno del compartimento). La
denizione di compartimento diversa dalla denizione di spazio anche se storicamente i due termini sono stati
visti come sinonimi, oggi si preferisce distinguerli. Con il termine spazio ci riferiamo ad una porzione sica del
sistema con contenuto non necessariamente omogeneo per composizione e cinetica. Riportiamo un esempio che
ci aiuta a comprendere meglio quanto detto: una sostanza A scambiata tra 2 spazi sici (1 e 2); q1 e q2 sono
la rispettive quantit di A presente. Supponiamo inoltre che A reagisca con una sostanza B per dare AB. E un
sistema a 4 compartimenti: q1 e q2 sono lammontare di A negli spazi 1 e 2 mentre q3 e q4 sono rispettivamente
lammontare di AB negli spazi 1 e 2.
Figura 4.1: Schema dellesempio riguardante le sostanze A e AB.
Lobiettivo proposto in questa sezione identicare a priori i parametri sui modelli compartimentali; per fare ci
prendiamo a riferimento il modello espresso in Fig. 4.2.
Figura 4.2: Esempio di riferimento di un modello compartimentale.
La cui dinamica descritta dalle equazioni dierenziali (4.1):
_
q
1
= (k
01
+ k
21
)q
1
+ u
q
2
= k
02
q
2
+ k
21
q
1
(4.1)
Lo scopo dellidenticabilit a priori stabilire per via teorica se, data la struttura del modello ed una certa
congurazione di ingressi e uscite, possibile risalire ai parametri incogniti del modello nel caso, puramente ideale,
in cui il modello sia senza errori e si conoscano esattamente le uscite. La caratteristica dellidenticabilit a priori
importante, infatti solo se il modello identicabile a priori ha senso stimare numericamente il valore dei suoi
parametri dai dati sperimentali.
Per determinare se un dato sistema identicabile a priori, possibile utilizzare il metodo della funzione di
trasferimento. Consideriamo un sistema compartimentale ed una coppia ingresso-uscita e deniamo le relative
L-trasfrormate:
Y (s) = L{y(t)}
U(s) = L{u(t)}
(4.2)
11
4 IDENTIFICABILIT A PRIORI SUI MODELLI COMPARTIMENTALI
Il loro rapporto ci fornisce la funzione di trasferimento da u(t) a y(t).
H(s) =
Y (s)
U(s)
=

n
s
n1
+
n1
s
n2
+ . . . +
2
s +
1
s
n
+
n
s
n1
+ . . . +
2
s +
1
(4.3)
La funzione di trasferimento H(s) pu essere considerato nota, infatti sono note sia Y (s) (determinabile dalla
misura) sia U(s) (decisa dallo sperimentatore). Pertanto i coecienti
i
e
i
possono essere pensati come parametri
osservabili, si pu quindi scrivere linsieme delle relazioni algebriche che legano gli
i
e
i
con i k
iz
; tale insieme di
relazioni si dice sommario esaustivo.
La funzione di trasferimento del nostro esempio di riferimento, considerando come uscita la variabile q
2
, la seguente;
inoltre viene mostrato il relativo sommario esaustivo.
H(s) =
k
21
s
2
+ (k
01
+ k
21
+ k
02
)s + k
02
(k
21
+ k
01
)
(4.4)
_
_
_

1
= k
21

1
= k
02
(k
21
+ k
01
)

2
= k
01
+ k
21
+ k
02
(4.5)
Poich il sistema ha tre equazioni linearmente indipendeti e tre incognite, il sistema risulta identicabile a priori.
Simuliamo il nostro modello denito in (4.1) con i seguenti parametri e condizioni iniziali; successivamente lancia-
mo la nostra procedura didenticazione con 50 campioni delluscita sovrapposti ad un rumore Gussiano del 5%
ottenendo il graco di Fig. 4.3.
k
01
= 1.2
k
02
= 1.2
k
21
= 2.2
q
10
= 500
q
20
= 0
(4.6)
Figura 4.3: Confronto delle uscite tra modello reale e stimato ottenuto con la procedura didenticazione.
12
4 IDENTIFICABILIT A PRIORI SUI MODELLI COMPARTIMENTALI
Per osservare come il numero dei campioni e il rumore aggiunto modicassero lidenticazione del modello, stata
lanciata la procedura variando detti parametri. Nella tabella 4.1 si mostra per ogni combinazione di rumore e di
numero dei campioni, la norma due della dierenza tra la risposta reale del sistema e quella stimata.
5% 10% 15%
N10 1568.70 1563.85 1563.85
N25 965.14 988.33 1020.99
N50 504.27 515.44 521.15
Tabella 4.1: Dierenza tra risposta reale e stimata variando i parametri per la procedura didenticazione.
Come era lecito aspettarsi, lerrore che commettiamo nella nostra procedura didenticazione aumenta, sia al crescere
del rumore sia al dimunuire del numero di campioni.
Riportiamo lo script Matlab con cui stata eettuata la simulazione dellesempio di Fig. 4.3; lo script stato privato
dalle parti pi tecniche (dichiarazioni di variabili globali, costruzione di graci, etc) con la speranza di rendere pi
chiara la procedura implementata.
% Caricamento dei parametri
Parametri
% Lancio della simulazione per ottenere la risposta reale del sistema
T_span=0:0.1:12;
tic
[T,X] = ode23(odefun,T_span,X0);
toc
q1 = X(:,1);
q2 = X(:,2);
% Campionamento con sovrapposizione del rumore della risposta reale
N=50;
r=5.*randn(N,1);
passo=floor(length(q2)/N);
for i=1:N
q2(i*passo)=q2(i*passo)*((100+r(j))/100);
end
% Stima dei parametri ai minimi quadrati attraverso la funzione fmicon
Uvec0=[3 2 1]; % condizioni iniziali parametri;
LB=[0 0 0]; % vincoli inferiori per il vettore dei parametri
UB=[5 5 5]; % vincoli superiori per il vettore dei parametri
options = optimset(Algorithm,interior-point);
tic
[U_vec,fval,exitflag]=fmincon(c_fun,Uvec0,[],[],[],[],LB,UB,[],options);
toc
k_01=U_vec(1);
k_02=U_vec(2);
k_21=U_vec(3);
13
5 PROBLEMA DI DECONVOLUZIONE
5 Problema di Deconvoluzione
Il problema di deconvoluzione consiste nel ricostruire un ingresso u(t), conoscendo la risposta impulsiva g(t) di un
determinato sistema lineare tempo invariante e un insieme nito di campioni, aitti da rumore, delluscita y(t). La
Fig 5.1 rappresenta il problema sopra esposto.
z
k
= y(t
k
) + v
k
=
t
k

g(t
k
)u()d + v
k
(5.1)
Figura 5.1: Schema a blocchi rappresentativo del problema di deconvoluzione.
I dati vengono acquisiti tramite una griglia di campionamento C = {t
1
, t
2
, . . . , t
n
}. La griglia di campionamento
altro non che gli istanti in cui viene acquisito il segnale di uscita; tale scelta viene fatta in base alla dinamica dei
segnali in gioco ed possibile scegliere intervalli uniformi o non uniformi. Per le nostre analisi il campionamento
del segnale di uscita ipotizzato uniforme.
Lerrore di misura assunto come Gaussiano bianco a campioni scorrelati con densit spettrale di potenza costante
per tutte le frequenze e possiede le seguenti caratteristiche:
E[v
k
] = 0
E[v
2
k
] =
2
Per semplicare il problema che stiamo arontando sono state fatte le seguenti ipotesi semplicative:
u(t) causale.
u(t) costante a tratti sulla griglia di campionamento.
Il campionamento uniforme con tempo T.
Considerando che:
y
k
=
t1

0
g(t
k
)u()d +
t2

t1
g(t
k
)u()d + . . . +
t
k

t
k1
g(t
k
)u()d =
k

i=1
ti

ti1
g(t
k
)u()d
poich u(t) campionato uniformemente ed costante a tratti sulla griglia di campionamento possibile scrivere:
y
k
=
k

i=1
u
i
iT

(i1)T
g(t
k
)u()d =
k

i=1
u
i
iT

(i1)T
g(t
k
)d
k

i=1
u
i
g
ki
(5.2)
Dove T il tempo di campionamento e le simbologie introdotte sono esplicate in Fig. 5.2.
Figura 5.2: Asse dei tempi con ragurazione degli ingressi e delle uscite campionate.
14
5 PROBLEMA DI DECONVOLUZIONE
Leq. (5.2) possibile scriverla in forma estesa attraverso una matrice triangolare inferiore invertibile G denominata
matrice di Toeplix.
y =
_

_
y
1
y
2
.
.
.
y
n
_

_
=
_

_
g
0
0 0
g
1
g
0
. . . 0
.
.
.
.
.
.
.
.
. 0
g
n1
g
n2
g
0
_

_
_

_
u
1
u
2
.
.
.
u
4
_

_
= G u (5.3)
u = G
1
y (5.4)
immediato ottenere il vettore degli ingressi semplicemente invertendo la matrice di Toeplix e moltiplicando a
destra per il vettore delle uscite campionate; tale metodo chiamato Raw Deconvolution .
La presenza di oscillazioni spurie sul segnale dingresso ricavato dalla raw deconvolution ha due cause:
1. I dati su cui vengono eseguiti i calcoli non sono ideali ma hanno una componente di rumore.
2. Linvertibilit della matrice G un problema mal condizionato. A causa del mal condizionamento, anche
piccoli errori nei dati possono provocare grandi errori nella soluzione numerica. Il mal condizionamento
tanto peggiore quanto pi alta la frequenza di campionamento; per due problemi di deconvoluzione con
frequenza di campionamento uguale, il mal condizionamento peggiore per il sistema meno pronto.
Mostriamo a titolo di esempio, attraverso un esempio simulato, come sia maggiore il problema del mal condiziona-
mento su sistemi con una dinamica lenta rispetto a sistemi pi pronti.
Figura 5.3: Esempio di comparazione del problema di mal condizionamento.
15
5 PROBLEMA DI DECONVOLUZIONE
Unaltra strada percorribile lavorare nel dominio della frequenza. Leq. (5.5) lega lingresso alluscita del nostro
sistema.
U(s) =
Y (s)
G(s)
(5.5)
Come noto il segnale duscita ha sovrapposto un rumore che non possibile modellare, di conseguenza la
trasformata di tale segnale non ideale ma sar soggetta ad errori.
Sul modello di Fig. 4.2 si cercato di risolvere il problema di deconvoluzione con vari parametri. A titolo di esempio
mostriamo quanto ottenuto con un campionamento uniforme di 200 punti e con un rumore gaussiano bianco del
10% rispetto alla deviazione standard.
Per risolvere il problema posto, siamo partiti dalle misure della risposta del nostro sistema; La Fig. 5.4 ci fornisce
quanto ottenuto per la nestra temporale da 10-20 secondi, dove in blu abbiamo la risposta ideale del sistema
mentre in rosso quella aitta da rumore utilizzata per risolvere il problema.
Figura 5.4: Graco comparativo della risposta ideale del sistema con quella aetta da rumore.
16
5 PROBLEMA DI DECONVOLUZIONE
Una volta in possesso del vettore delle uscita si risolto il problema utilizzando le due vie sopra illustrate: il metodo
di Raw Deconvolution (risultati in Fig 5.5) e nel dominio della frequenza (risultati in Fig 5.6). Nei graci in verde
riportato lingresso reale e in rosso quello stimato.
Figura 5.5: Graco comparativo dei risultati ottenuti tramite il metodo della Raw Deconvolution.
Figura 5.6: Graco comparativo dei risultati ottenuti lavorando nel dominio della frequenza.
17
6 CONTROLLO FARMACOLOGICO TRAMITE MODEL PREDICTIVE CONTROL
6 Controllo farmacologico tramite Model Predictive Control
La tecnica MPC la tecnologia di controllo avanzato pi diusa nellindustria di processo. Mentre un classico
controllo a retroazione attende che il sistema reagisca ed in base alla reazione decide lazione di controllo opportuni,
la tecnica MPC stima il comportamento futuro del sistema e attiva lazione di controllo sulla base della predizione
elaborata. La tecnica MPC risultata idonea allapplicazione del controllo dellinfezione tramite terapia farmacolo-
gica; in generale la tecnica MPC risulta valida per il controllo di processi biologici e siologici. I vantaggi introdotti
con tale tecnica sono:
Gestione dei sistemi multi-variabili.
Applicabilit di feedforward.
Gestione di vincoli anche non lineari sulle variabili manipolate e su quelle controllate
Gestione di dinamiche complicate impossibili da modellare.
Tali vantaggi si ottengono a fronte di un forte carico computazionale e di non conoscenza a priori se il nostro
controllo render stabile il sistema.
La formulazione MPC riesce a realizzare unottimizzazione dinamica; tutto questo si pu ottenere con lo schema a
blocchi di Fig 6.1 dove necessario:
Figura 6.1: Schema a blocchi della realizzazione della tecnica MPC.
Lutilizzo di un modello matematico atto a prevedere le uscite del processo negli istanti di tempo futuri (oriz-
zonte di predizione); le uscite future, comprese entro lorizzonte di predizione e calcolate allistante presente,
dipendono dai valori passati degli ingressi, delle uscite e dai segnali di controllo futuri.
Una legge di controllo ottenuta attraverso la minimizzazione di un funzionale di costo, allo scopo di tenere
luscita il pi vicino possibile ad una traiettoria di riferimento nota.
Un approccio di controllo a orizzonte sfuggente (RHOC, receding-horizon optimal control) che, ad ogni istante,
consiste nello spostamento in avanti dellorizzonte di predizione e di controllo: ad ogni istante di tempo, solo
il primo tra i segnali di controllo calcolati utilizzato, allistante di tempo successivo, si ha un aggiornamento
delle uscite e la conseguente ripetizione del calcolo dei segnali di controllo.
18
6 CONTROLLO FARMACOLOGICO TRAMITE MODEL PREDICTIVE CONTROL
Abbiamo implementato, in ambiente Matlab, la strategia di controllo MPC applicandola al modello di infezione
HIV (6.1).
_

_
x = x rxv
y = rxv ay pyz
w = cxyw cqyw bw
z = cqyw hz
v = k(1
P
f
P
)y uv
r = r
0

T
f
T
(6.1)
Esprimiamo di seguito i dati necessari alla realizzazione del controllo MPC:
Lorizzonte di predizione e controllo sono stati scelti identici e pari a 12 Mesi.
Il vincolo inferiore sui linfociti CD4+ sani di 300
cel
ml
.
Il vincolo superiore sulla viremia di 7000
vir
ml
.
Per semplicare il modello assumiamo f
T
= f
P
= f.
I vincoli imposti al controllo vengono riassunti dal sistema di equazione (6.2) e il suo funzionale di costo espresso
dallequazione (6.3).
_

_
0 f(t) 1
x
min
e
x
(t) x(t)
log(
vmax
v(t)
) + e
v
(t) 0
e
x
(t) 0
e
v
(t) 0
(6.2)
=
t
f

0
(c
p
+ c
t
)f(t) + q
x
e(t) + q
v
e
v
(t)dt (6.3)
Le quantit e
x
(t), e
v
(t) sono le variabili, insieme a f(t), su cui viene eettuata la ricerca di minimo vincolato;
lo scopo delle vatiabili e
x
(t) ed e
v
(t) quello di concedere delle violazioni ai vincoli nel in cui non sia possibile
soddisfarli esattamente.
I risultati ottenuti simulando una durata di 24 mesi sono illustrati nei graci di Fig 6.2, 6.3 e 6.4.
Figura 6.2: Andamento temporale dei Linfociti CD4+ non intaccati dalla malattia.
19
6 CONTROLLO FARMACOLOGICO TRAMITE MODEL PREDICTIVE CONTROL
Figura 6.3: Andamento temporale della viremia.
Figura 6.4: Quantit di farmaco somministrate ad ogni mese durante il periodo di cura.
20