Appunti delle Lezioni di Ottimizzazione di Sistemi ... - Iasi.cnr.it - Cnr
Appunti delle Lezioni di Ottimizzazione di Sistemi ... - Iasi.cnr.it - Cnr
Appunti delle Lezioni di Ottimizzazione di Sistemi ... - Iasi.cnr.it - Cnr
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>Appunti</strong> <strong>delle</strong> <strong>Lezioni</strong> <strong>di</strong> <strong>Ottimizzazione</strong><br />
<strong>di</strong> <strong>Sistemi</strong> Complessi<br />
a cura <strong>di</strong> G. Liuzzi 1<br />
Master in <strong>Ottimizzazione</strong> e Data Mining<br />
1 liuzzi@iasi.<strong>cnr</strong>.<strong>it</strong>, http://www.iasi.<strong>cnr</strong>.<strong>it</strong>/∼liuzzi
Cap<strong>it</strong>olo 1<br />
Programmazione Multiobiettivo<br />
1.1 Introduzione<br />
Un problema matematico <strong>di</strong> ottimizzazione può essere defin<strong>it</strong>o come la minimizzazione o<br />
massimizzazione <strong>di</strong> una funzione a valori reali su un insieme specificato. L’importanza<br />
<strong>di</strong> questo modello matematico deriva ovviamente dal fatto che molti problemi reali vengono<br />
affrontati facendovi ricorso. Tuttavia quasi ogni problema reale <strong>di</strong> ottimizzazione è<br />
caratterizzato dalla presenza contemporanea <strong>di</strong> più obiettivi, cioè funzioni a valori reali da<br />
massimizzare e/o minimizzare, tipicamente in contrasto tra loro.<br />
Nel segu<strong>it</strong>o considereremo il seguente problema <strong>di</strong> ottimizzazione multiobiettivo:<br />
min (f 1 (x)f 2 (x)...f k (x)) ⊤<br />
x ∈ F<br />
(MOP)<br />
ove k ≥ 2 e f i : IR n → IR, per i = 1, . . .,k.<br />
D’ora in avanti chiameremo IR k spazio degli obiettivi e IR n spazio <strong>delle</strong> variabili <strong>di</strong> decisione.<br />
Un vettore x ∈ IR n sarà pertanto un vettore <strong>di</strong> decisioni mentre z ∈ IR k un vettore <strong>di</strong> obiettivi.<br />
In<strong>di</strong>cheremo, inoltre, con f(x) il vettore <strong>delle</strong> funzioni obiettivo (f 1 (x)f 2 (x)...f k (x)) ⊤ e con<br />
Z = f(F) l’immagine della regione ammissibile F nello spazio degli obiettivi (ve<strong>di</strong> figura) e<br />
cioè<br />
Z = f(F) = { z ∈ IR k : ∃x ∈ F, z = f(x) } .<br />
In particolare <strong>di</strong>remo che un vettore <strong>di</strong> obiettivi z ∈ IR k è ammissibile quando risulti z ∈ Z.<br />
Definiamo , inoltre, il vettore ideale degli obiettivi z id come il vettore <strong>di</strong> componenti<br />
Vettore ideale<br />
z id<br />
i = min f i (x)<br />
x ∈ F<br />
Quello che vogliamo fare è minimizzare tutte le funzioni obiettivo simultaneamente. Se<br />
non ci fossero confl<strong>it</strong>ti tra le funzioni obiettivo, una soluzione banale al problema sarebbe<br />
quella ottenibile risolvendo separatamente k problemi <strong>di</strong> ottimizzazione (uno per ogni funzione<br />
obiettivo) ottenendo quin<strong>di</strong> come soluzione proprio il vettore ideale z id . Non sarebbe<br />
pertanto necessario applicare nessuna tecnica specifica <strong>di</strong> soluzione. Per ev<strong>it</strong>are il sorgere<br />
<strong>di</strong> tale caso banale, supporremo che z id ∉ Z. Questo significa assumere che le funzioni<br />
f 1 (x), f 2 (x), . . . , f k (x) siano, almeno in parte, in contrasto tra loro.<br />
Con B(x, δ) = {y ∈ IR n | ‖x − y‖ < δ} in<strong>di</strong>cheremo la sfera aperta <strong>di</strong> centro x ∈ IR n e raggio<br />
δ > 0. Dato un insieme A, in<strong>di</strong>cheremo con ∂A la frontiera <strong>di</strong> A, con ◦ A l’interno e con Ā la<br />
chiusura <strong>di</strong> A.<br />
1
x 2<br />
z 2<br />
f<br />
S<br />
Z=f(S)<br />
x 1<br />
z 1<br />
x 3<br />
Dati due insiemi A e B definiamo l’insieme <strong>di</strong>fferenza A\B come quell’insieme cost<strong>it</strong>u<strong>it</strong>o da<br />
tutti e soli gli elementi <strong>di</strong> A che non appartengono a B, ovvero<br />
A\B = { x ∈ A : x ∉ B } .<br />
Dato un vettore b ∈ IR n ed un insieme A ⊂ IR n , definiamo traslazione <strong>di</strong> A rispetto a b<br />
l’insieme<br />
b + A = { x ∈ IR n : x = b + a per ogni a ∈ A } .<br />
In maniera del tutto analoga definiamo l’insieme<br />
b − A = { x ∈ IR n : x = b − a per ogni a ∈ A } .<br />
Se I è un insieme <strong>di</strong> in<strong>di</strong>ci e v un vettore, con v I in<strong>di</strong>cheremo il sottovettore cost<strong>it</strong>u<strong>it</strong>o dalle<br />
componenti <strong>di</strong> v con in<strong>di</strong>ci in I. Sia infine IR k + l’ortante pos<strong>it</strong>ivo dello spazio degli obiettivi<br />
cioè<br />
IR k + = { z ∈ IR k : z ≥ 0 } .<br />
1.2 Ottimal<strong>it</strong>à secondo Pareto<br />
Prima <strong>di</strong> procedere, è necessario definire con chiarezza cosa si intende per soluzione ottima<br />
<strong>di</strong> un problema <strong>di</strong> programmazione multiobiettivo. La definizione che adottiamo e<br />
che è riportata nel segu<strong>it</strong>o, è stata proposta per la prima volta da Edgeworth nel 1881 e<br />
successivamente ripresa da Vilfredo Pareto nel 1896 [4] che la approfondì ulteriormente.<br />
Definizione 1.2.1 Dati due vettori z 1 , z 2 ∈ IR k , <strong>di</strong>ciamo che z 1 domina z 2 secondo Pareto<br />
(z 1 ≤ P z 2 ) quando risulta<br />
z 1 i ≤ z2 i<br />
z 1 j < z2 j<br />
per ogni i = 1, 2, . . ., k e<br />
per almeno un in<strong>di</strong>ce j ∈ {1, . . .,k}.<br />
La relazione binaria ≤ P è un or<strong>di</strong>namento parziale (non riflessivo) nello spazio <strong>delle</strong> k-uple <strong>di</strong><br />
numeri reali. Sfruttando la relazione ≤ P possiamo dare la definizione <strong>di</strong> ottimal<strong>it</strong>à secondo<br />
Pareto.<br />
Definizione 1.2.2 Un vettore <strong>di</strong> decisioni x ⋆ ∈ F è un ottimo <strong>di</strong> Pareto se non esiste<br />
un’altro vettore x ∈ F tale che:<br />
Ottimo <strong>di</strong> Pareto<br />
f(x) ≤ P f(x ⋆ ).<br />
2
Ottimi locali<br />
Ottimi globali<br />
Figura 1.1: Ottimi locali e globali <strong>di</strong> Pareto.<br />
Corrispondentemente <strong>di</strong>remo che un vettore <strong>di</strong> obiettivi z ⋆ ∈ Z è ottimo secondo Pareto<br />
quando non esiste un altro vettore z ∈ Z tale che<br />
z ≤ P z ⋆ .<br />
Quin<strong>di</strong> se ci troviamo in un punto ottimo secondo Pareto e vogliamo ulteriormente <strong>di</strong>minuire<br />
il valore <strong>di</strong> una o più funzioni obiettivo dobbiamo essere <strong>di</strong>sposti ad accettare un conseguente<br />
aumento in alcune (o tutte) le rimanenti funzioni del problema. In tal senso possiamo<br />
affermare che, nello spazio degli obiettivi, gli ottimi <strong>di</strong> Pareto sono punti <strong>di</strong> equilibrio che si<br />
trovano sulla frontiera dell’insieme Z.<br />
Definizione 1.2.3 Diciamo frontiera efficiente l’insieme degli ottimi <strong>di</strong> Pareto del problema<br />
(MOP)<br />
La definizione <strong>di</strong> ottimo secondo Pareto è ovviamente, una definizione <strong>di</strong> ottimo globale dato<br />
che si richiede la vali<strong>di</strong>tà <strong>di</strong> una certa proprietà su tutto l’insieme ammissibile del problema<br />
(MOP). È evidentemente possibile, però, dare una definizione <strong>di</strong> ottimo locale secondo<br />
Pareto.<br />
Definizione 1.2.4 Un vettore <strong>di</strong> decisioni x ⋆ ∈ F è un ottimo locale <strong>di</strong> Pareto se esiste un<br />
numero δ > 0 tale che x ⋆ è ottimo secondo Pareto in F ∩ B(x ⋆ , δ).<br />
Frontiera<br />
efficiente<br />
Ottimo locale<br />
<strong>di</strong> Pareto<br />
In figura 1.1 si riportano gli ottimi globali e locali <strong>di</strong> Pareto per un insieme Z.<br />
Ovviamente, ogni ottimo globale è anche un ottimo locale <strong>di</strong> Pareto. Il viceversa è vero solo<br />
se facciamo alcune ipotesi sulla struttura del problema (MOP). Se (MOP) è convesso cioè<br />
se<br />
i- l’insieme ammissibile F è convesso e<br />
ii- tutte le funzioni obiettivo f i (x) (con i = 1, 2, . . ., k) sono convesse.<br />
allora si può <strong>di</strong>mostrare che ogni ottimo locale <strong>di</strong> Pareto è anche un ottimo globale.<br />
Teorema 1.2.5 Sia (MOP) un problema <strong>di</strong> programmazione multiobiettivo convesso. Allora,<br />
ogni ottimo locale <strong>di</strong> Pareto è anche un ottimo globale.<br />
La definizione <strong>di</strong> ottimo secondo Pareto può essere leggermente indebol<strong>it</strong>a ottenendo così la<br />
definizione <strong>di</strong> ottimo debole secondo Pareto.<br />
Definizione 1.2.6 Un vettore x ⋆ ∈ F è un ottimo <strong>di</strong> Pareto debole per il problema (MOP)<br />
se non esiste un punto x ∈ F tale che<br />
Equivalenza tra<br />
ottimi locali e<br />
globali<br />
<strong>di</strong> Pareto<br />
Ottimal<strong>it</strong>à debole<br />
secondo Pareto<br />
f(x) < f(x ⋆ ).<br />
3
2<br />
Z<br />
Ottimi deboli <strong>di</strong> Pareto<br />
Ottimi <strong>di</strong> Pareto<br />
Z 1<br />
Figura 1.2: Gli ottimi <strong>di</strong> Pareto sono in<strong>di</strong>viduati dalla linea doppia a tratto continuo. La linea tratteggiata<br />
in<strong>di</strong>vidua invece gli ottimi deboli che non sono ottimi <strong>di</strong> Pareto.<br />
Ovviamente, l’insieme degli ottimi secondo Pareto è contenuto nell’insieme degli ottimi<br />
deboli <strong>di</strong> Pareto.<br />
Anche qui, come gia si era fatto per gli ottimi <strong>di</strong> Pareto, è possibile dare una definizione <strong>di</strong><br />
ottimo locale debole.<br />
Definizione 1.2.7 Un vettore <strong>di</strong> decisioni x ⋆ ∈ F è un ottimo locale debole (secondo<br />
Pareto) se esiste un numero δ > 0 tale che x ⋆ è ottimo debole <strong>di</strong> Pareto in F ∩ B(x ⋆ , δ).<br />
Ottimo locale<br />
debole <strong>di</strong> Pareto<br />
In figura 1.2 sono riportati, per maggiore chiarezza, ottimi e ottimi deboli secondo Pareto.<br />
Anche per gli ottimi deboli secondo Pareto vale una proprietà analoga a quelle espressa dal<br />
teorema 1.2.5 e cioè se il problema (MOP) è convesso ogni ottimo locale (debole) è anche<br />
ottimo globale (debole) <strong>di</strong> Pareto.<br />
1.2.1 Esercizio<br />
Sia dato il seguente problema <strong>di</strong> ottimizzazione vettoriale:<br />
⎧<br />
min (x 1 + x 2 , x 1 − x 2 ) ⊤<br />
⎪⎨ x 2 1 + x2 2 ≤ 2<br />
x 2 1<br />
⎪⎩<br />
− x 2 ≤ 0<br />
x 1 ≥ 0<br />
(1)<br />
In questo caso, in cui il vettore <strong>delle</strong> decisioni ha <strong>di</strong>mensione due, è semplicissimo tracciare<br />
la regione ammissibile nello spazio <strong>delle</strong> variabili <strong>di</strong> decisione. Inoltre, poiché il vettore degli<br />
obiettivi ha <strong>di</strong>mensione due e le funzioni obiettivo sono lineari, possiamo determinare la<br />
rappresentazione grafica <strong>di</strong> Z = f(F). Ve<strong>di</strong>amo nel dettaglio come fare.<br />
Le relazioni che dobbiamo prendere in considerazione sono le seguenti due trasformazioni<br />
lineari:<br />
{<br />
z1 = f 1 (x 1 , x 2 ) = x 1 + x 2<br />
z 2 = f 2 (x 1 , x 2 ) = x 1 − x 2<br />
(2)<br />
La regione ammissibile degli obiettivi è ottenibile da quella <strong>delle</strong> decisioni me<strong>di</strong>ante rotazione<br />
e scalatura, come messo in evidenza dalla figura 1.3<br />
Sempre per via grafica, è facile risolvere i sottoproblemi ad un solo obiettivo associati al<br />
4
z<br />
2<br />
2<br />
1<br />
x2<br />
2<br />
f<br />
-1<br />
z id<br />
-2<br />
1<br />
Z<br />
2 3<br />
Ottimi <strong>di</strong> Pareto<br />
z 1<br />
1<br />
F<br />
1 2<br />
x1<br />
Figura 1.3: Esempio<br />
problema (1) che sono:<br />
z1 id<br />
⎧ = min x 1 + x 2<br />
⎪⎨ x 2 1 + x 2 2 ≤ 2<br />
x 2 1<br />
⎪⎩<br />
− x 2 ≤ 0<br />
x 1 ≥ 0<br />
e<br />
z2 id<br />
⎧ = min x 1 − x 2<br />
⎪⎨ x 2 1 + x 2 2 ≤ 2<br />
x 2 1<br />
⎪⎩<br />
− x 2 ≤ 0<br />
x 1 ≥ 0<br />
x 1⋆ = (0, 0) ⊤<br />
x 2⋆ = (0, √ 2) ⊤<br />
ricavando, in tal modo, il vettore ideale degli obiettivi z id = (0, − √ 2) ⊤ . Notiamo sub<strong>it</strong>o che<br />
non essendo z id contenuto in Z = f(F), il problema vettoriale non è risolvibile semplicemente<br />
minimizzando separatamente le due funzioni obiettivo.<br />
È altresì facile in<strong>di</strong>viduare, in figura 1.3, la frontiera efficiente secondo Pareto dell’insieme<br />
Z. Come ci aspettavamo, essendo il problema (1) convesso, tutti gli ottimi locali <strong>di</strong> Pareto<br />
sono anche globali.<br />
1.3 Con<strong>di</strong>zioni <strong>di</strong> Ottimal<strong>it</strong>à<br />
Nelle sezioni precedenti abbiamo dato <strong>delle</strong> definizioni fondamentali della programmazione<br />
multiobiettivo. In particolare, dato che lo spazio <strong>delle</strong> k-uple <strong>di</strong> numeri reali è solo parzialmente<br />
or<strong>di</strong>nato, abbiamo dovuto definire cosa si intende per minimo <strong>di</strong> un vettore <strong>di</strong><br />
funzioni.<br />
Quello che dobbiamo fare ora, è dare una caratterizzazione anal<strong>it</strong>ica dei punti <strong>di</strong> ottimo<br />
secondo Pareto. Come vedremo, tutte le con<strong>di</strong>zioni <strong>di</strong> ottimo per la programmazione multiobiettivo,<br />
comprendono come caso particolare quelle per la programmazione nonlineare (con<br />
una sola funzione obiettivo). Per ulteriori approfon<strong>di</strong>menti sull’argomento <strong>di</strong> questa sezione<br />
si rimanda al testo [1] c<strong>it</strong>ato in bibliografia.<br />
5
Nel segu<strong>it</strong>o consideriamo un problema in cui F è defin<strong>it</strong>o da vincoli <strong>di</strong> <strong>di</strong>suguaglianza; cioè:<br />
min f(x)<br />
g(x) ≤ 0<br />
(P)<br />
ove f : IR n → IR k (k ≥ 2) e g : IR n → IR m sono funzioni continuamente <strong>di</strong>fferenziabili ed F<br />
assume la seguente struttura:<br />
F = {x ∈ IR n : g(x) ≤ 0}.<br />
In<strong>di</strong>chiamo con<br />
I 0 (x) = {i : g i (x) = 0}<br />
l’insieme degli in<strong>di</strong>ci dei vincoli attivi nel punto x. Sia, inoltre, L : IR n×k×m → IR così<br />
defin<strong>it</strong>a<br />
L(x, λ, µ) = λ ⊤ f(x) + µ ⊤ g(x),<br />
la funzione Lagrangiana associata al problema (P).<br />
1.3.1 Con<strong>di</strong>zioni <strong>di</strong> Fr<strong>it</strong>z-John<br />
Una prima con<strong>di</strong>zione necessaria <strong>di</strong> ottimo per il problema multiobiettivo (P) è data dal<br />
seguente teorema.<br />
Teorema 1.3.1 Con<strong>di</strong>zione necessaria affinché ¯x ∈ F sia ottimo secondo Pareto è che<br />
esistano dei vettori λ ∈ IR k e µ ∈ IR m tali che sia sod<strong>di</strong>sfatto il seguente sistema:<br />
CN <strong>di</strong> Fr<strong>it</strong>z-John<br />
k∑<br />
m∑<br />
λ i ∇f i (¯x) + µ j ∇g j (¯x) = 0 (3a)<br />
i=1<br />
j=1<br />
µ ⊤ g(¯x) = 0, (3b)<br />
(λ, µ) ≥ 0, (λ, µ) ≠ (0, 0)<br />
(3c)<br />
Esempio <strong>di</strong> punto che sod<strong>di</strong>sfa le con<strong>di</strong>zioni<br />
necessarie <strong>di</strong> ottimal<strong>it</strong>à.<br />
Esempio <strong>di</strong> punto che NON sod<strong>di</strong>sfa le con<strong>di</strong>zioni<br />
necessarie <strong>di</strong> ottimal<strong>it</strong>à.<br />
Corollario 1.3.2 Le con<strong>di</strong>zioni del teorema 1.3.1 sono necessarie anche per l’ottimal<strong>it</strong>à<br />
debole (secondo Pareto) <strong>di</strong> un punto ¯x.<br />
✷<br />
6
Definizione 1.3.3 (tripla <strong>di</strong> FJ) Una tripla (x, λ, µ) ∈ IR n×k×m è una tripla <strong>di</strong> Fr<strong>it</strong>z-<br />
John quando sod<strong>di</strong>sfa il sistema (3) cioè:<br />
∇ x L(x, λ, µ) = 0<br />
g(x) ≤ 0<br />
µ ⊤ g(x) = 0<br />
(λ, µ) ≥ 0 (λ, µ) ≠ (0, 0).<br />
Definizione 1.3.4 (punto <strong>di</strong> FJ) Un vettore <strong>di</strong> decisioni x ∈ IR n è un punto <strong>di</strong> FJ se<br />
esistono dei vettori λ ∈ IR k e µ ∈ IR m tali che (x, λ, µ) è una tripla <strong>di</strong> FJ.<br />
1.3.2 Con<strong>di</strong>zioni <strong>di</strong> Karush-Kuhn-Tucker<br />
Si pu`facilmente far vedere che esistono casi in cui un punto ammissibile potrebbe essere un<br />
punto <strong>di</strong> FJ in<strong>di</strong>pendentemente dalle funzioni obiettivo. Motivati da questa considerazione<br />
introduciamo in questo paragrafo le con<strong>di</strong>zioni <strong>di</strong> KKT con le quali in pratica forziamo i<br />
gra<strong>di</strong>enti <strong>di</strong> alcune funzioni obiettivo ad avere un peso non nullo nell’espressione (3a).<br />
Preliminarmente introduciamo la seguente definizione.<br />
Definizione 1.3.5 Un punto ammissibile x ∈ F è un punto <strong>di</strong> regolar<strong>it</strong>à per i vincoli del<br />
problema (P) se in x sono linearmente in<strong>di</strong>pendenti i gra<strong>di</strong>enti dei vincoli attivi.<br />
LICQ<br />
A questo punto possiamo dare la seguente ulteriore con<strong>di</strong>zione necessaria <strong>di</strong> ottimal<strong>it</strong>à<br />
secondo Pareto.<br />
Teorema 1.3.6 Sia ¯x un punto ammissibile per il problema (P) e siano linearmente in<strong>di</strong>pendenti<br />
i gra<strong>di</strong>enti dei vincoli attivi in ¯x. Allora, con<strong>di</strong>zione necessaria affinché ¯x sia un<br />
ottimo <strong>di</strong> Pareto (locale o globale) è che sia ammissibile il seguente sistema:<br />
CN <strong>di</strong> KKT<br />
k∑<br />
m∑<br />
λ i ∇f i (¯x) + µ j ∇g j (¯x) = 0, (4a)<br />
i=1<br />
j=1<br />
µ ⊤ g(¯x) = 0, (4b)<br />
(λ, µ) ≥ 0, λ ≠ 0. (4c)<br />
Corollario 1.3.7 Le con<strong>di</strong>zioni del teorema 1.3.6 sono necessarie anche per l’ottimal<strong>it</strong>à<br />
debole (secondo Pareto) <strong>di</strong> un punto ¯x.<br />
✷<br />
Le con<strong>di</strong>zioni <strong>di</strong> KKT (come quelle <strong>di</strong> FJ) sono con<strong>di</strong>zioni solo necessarie <strong>di</strong> ottimo il che<br />
vuol <strong>di</strong>re che potrebbero essere verificate anche in punti non ottimi secondo Pareto. È<br />
tuttavia possibile dare con<strong>di</strong>zioni sufficienti <strong>di</strong> ottimal<strong>it</strong>à, senza ricorrere all’uso <strong>delle</strong> derivate<br />
seconde, a patto però <strong>di</strong> fare alcune ipotesi aggiuntive sulla struttura del problema (P).<br />
Teorema 1.3.8 Siano le f i (x) (per ogni i = 1, 2, . . ., k) e g j (x) (per ogni j = 1, 2, . . .,m)<br />
convesse. Con<strong>di</strong>zione sufficiente affinché un punto ¯x ∈ F sia ottimo secondo Pareto è che<br />
esistano dei vettori <strong>di</strong> moltiplicatori λ ∈ IR k e µ ∈ IR m tali che<br />
CS <strong>di</strong> ottimo<br />
secondo Pareto<br />
∇ x L(¯x, λ, µ) = 0,<br />
(5a)<br />
µ ⊤ g(¯x) = 0, (5b)<br />
λ > 0, µ ≥ 0.<br />
(5c)<br />
7
Si noti che nelle con<strong>di</strong>zioni sufficienti <strong>di</strong> KKT appena viste si richiede che tutti i moltiplicatori<br />
<strong>delle</strong> funzioni obiettivo siano strettamente pos<strong>it</strong>ivi mentre nelle con<strong>di</strong>zioni necessarie almeno<br />
un λ i è strettamente pos<strong>it</strong>ivo.<br />
Per quanto riguarda i punti <strong>di</strong> ottimo debole secondo Pareto, è possibile stabilire, sempre<br />
sotto le ipotesi <strong>di</strong> convess<strong>it</strong>à, un risultato ancora più forte. Per tali punti si possono dare<br />
con<strong>di</strong>zioni necessarie e sufficienti <strong>di</strong> ottimo.<br />
Teorema 1.3.9 Siano le f i (x) (per ogni i = 1, 2, . . ., k) e g j (x) (per ogni j = 1, 2, . . .,m)<br />
convesse. Con<strong>di</strong>zione necessaria e sufficiente affinché un punto ¯x ∈ F sia ottimo debole<br />
secondo Pareto è che esistano dei moltiplicatori λ ∈ IR k e µ ∈ IR m tali che<br />
CNS <strong>di</strong> KKT<br />
∇ x L(¯x, λ, µ) = 0,<br />
µ ⊤ g(¯x) = 0,<br />
(λ, µ) ≥ 0, λ ≠ 0.<br />
1.4 Meto<strong>di</strong> <strong>di</strong> Soluzione<br />
Generare le soluzioni ottime secondo Pareto cost<strong>it</strong>uisce una parte essenziale della programmazione<br />
vettoriale ed anzi, matematicamente parlando, nella maggior parte dei casi, il problema<br />
(P) si considera risolto una volta che sia stato in<strong>di</strong>viduato l’insieme degli ottimi <strong>di</strong><br />
Pareto. Tuttavia, non sempre ci si può accontentare semplicemente <strong>di</strong> aver trovato l’insieme<br />
degli ottimi secondo Pareto. Alcune volte è infatti necessario or<strong>di</strong>nare tutte le soluzioni<br />
trovate e quin<strong>di</strong> selezionare la migliore rispetto a tale or<strong>di</strong>namento. Per questo motivo abbiamo<br />
bisogno <strong>di</strong> un decisore cioè <strong>di</strong> qualcuno che ci <strong>di</strong>ca, in base alle sue preferenze, come<br />
or<strong>di</strong>nare l’insieme degli ottimi <strong>di</strong> Pareto del problema (P).<br />
In base al ruolo svolto dal decisore nella strategia <strong>di</strong> soluzione del problema, i meto<strong>di</strong><br />
risolutivi della programmazione multiobiettivo vengono spesso sud<strong>di</strong>visi in quattro gran<strong>di</strong><br />
categorie.<br />
• Meto<strong>di</strong> senza preferenze nei quali il decisore non ha nessun ruolo e si considera sod<strong>di</strong>sfacente<br />
l’aver trovato un qualunque ottimo <strong>di</strong> Pareto.<br />
• Meto<strong>di</strong> a posteriori nei quali si genera l’insieme <strong>di</strong> tutti gli ottimi <strong>di</strong> Pareto e poi lo si<br />
presenta al decisore che sceglie la soluzione per lui migliore.<br />
• Meto<strong>di</strong> a priori nei quali il decisore specifica le sue preferenze prima che abbia inizio<br />
il processo risolutivo. In base alle informazioni avute dal decisore viene <strong>di</strong>rettamente<br />
trovata la soluzione ottima migliore, senza dover dunque generare tutti gli ottimi <strong>di</strong><br />
Pareto.<br />
• Meto<strong>di</strong> interattivi nei quali il decisore specifica le sue preferenze mano a mano che<br />
l’algor<strong>it</strong>mo procede, guidando in tal modo il processo risolutivo verso la soluzione per<br />
lui più sod<strong>di</strong>sfacente.<br />
Al <strong>di</strong> là <strong>di</strong> questa <strong>di</strong>stinzione, tutti i meto<strong>di</strong> <strong>di</strong> soluzione per la programmazione multiobiettivo<br />
si basano sulla medesima idea <strong>di</strong> fondo, ovvero quella <strong>di</strong> trasformare il problema<br />
originario in uno con una sola funzione obiettivo. La tecnica me<strong>di</strong>ante la quale si ottiene il<br />
problema mono obiettivo a partire dal problema (P) è nota come scalarizzazione.<br />
1.4.1 Meto<strong>di</strong> Senza Preferenze<br />
Nei meto<strong>di</strong> senza preferenze ci si accontenta <strong>di</strong> generare una soluzione ottima <strong>di</strong> Pareto,<br />
qualunque essa sia, senza tenere in considerazione le in<strong>di</strong>cazioni del decisore.<br />
8
Il metodo che presentiamo è noto come metodo GOAL (cfr. [3, sez. 2.1]). Quello che<br />
si fa è cercare la soluzione che minimizza, nello spazio degli obiettivi, la <strong>di</strong>stanza tra la<br />
regione ammissibile (Z) e un qualunque punto <strong>di</strong> riferimento z ref ∉ Z = f(F). Il vettore<br />
<strong>di</strong> riferimento sarà cost<strong>it</strong>u<strong>it</strong>o dai valori auspicabili per le singole funzioni obiettivo. In<br />
particolare, una possibile scelta <strong>di</strong> z ref è z ref = z id . Il problema che otteniamo è perciò il<br />
seguente:<br />
min ‖f(x) − z id ‖ p<br />
g(x) ≤ 0<br />
ove ‖ · ‖ p in<strong>di</strong>ca la norma p <strong>di</strong> un vettore (con 1 ≤ p ≤ ∞). In particolare, se p = ∞, il<br />
problema (P p) è noto come problema <strong>di</strong> Tchebycheff. Supponiamo <strong>di</strong> conoscere il vettore<br />
ideale globale degli obiettivi. Sotto tali ipotesi, il problema (P p) ammette sempre soluzione.<br />
Valgono le seguenti proprietà.<br />
Proposizione 1.4.1 Ogni soluzione globale del problema (P p) (con 1 ≤ p < ∞) è un ottimo<br />
globale <strong>di</strong> Pareto per il problema (P).<br />
Esten<strong>di</strong>amo ora il risultato precedente al caso dei minimi locali (cfr. [3]).<br />
Proposizione 1.4.2 Ogni ottimo locale del problema (P p) (con 1 ≤ p < ∞) è un ottimo<br />
locale <strong>di</strong> Pareto per il problema (P).<br />
✷<br />
Nel caso in cui p = ∞ vale invece la seguente proprietà (cfr. [3]).<br />
Proposizione 1.4.3 Ogni ottimo locale (globale) del problema <strong>di</strong> Tchebycheff (P ∞ ) è un<br />
ottimo locale (globale) debole <strong>di</strong> Pareto del problema (P).<br />
✷<br />
Tuttavia, la seguente proposizione, ci assicura l’esistenza <strong>di</strong> almeno una soluzione <strong>di</strong> (P ∞ )<br />
ottima secondo Pareto per il problema (P).<br />
Proposizione 1.4.4 Il problema <strong>di</strong> Tchebycheff (P ∞ ) ha almeno una soluzione che è ottima<br />
secondo Pareto.<br />
✷<br />
Le scelte <strong>di</strong> p = 1 e p = ∞ sono particolarmente vantaggiose nel caso in cui il problema<br />
multiobiettivo originario è lineare (f i (x), g j (x) lineari per ogni i e j). Me<strong>di</strong>ante semplici<br />
manipolazioni sul problema (P p) è infatti possibile ottenere ancora un problema lineare e<br />
quin<strong>di</strong> adottare le ben note tecniche della PL per la sua soluzione. Supponiamo che (P) sia<br />
lineare ovvero<br />
min (c ⊤ 1 x, c ⊤ 2 x, . . . , c ⊤ k x)<br />
Ax ≤ b<br />
• Norma p = 1.<br />
Il problema scalarizzato<br />
min<br />
k∑<br />
i=1<br />
|c ⊤ i x − z id<br />
i |<br />
Ax ≤ b<br />
può essere facilmente trasformato in un problema <strong>di</strong> PL con l’aggiunta <strong>di</strong> k variabili ausiliarie,<br />
α i per i = 1, 2, . . ., k, ottenendo:<br />
min<br />
k∑<br />
α i<br />
{ i=1<br />
|c<br />
⊤<br />
i x − zi id|<br />
≤ α i<br />
Ax ≤ b<br />
i = 1, 2, . . ., k<br />
(P p)<br />
9
x 2<br />
2<br />
0000000000000000<br />
1111111111111111<br />
0000000000000000<br />
1111111111111111<br />
0000000000000000<br />
1111111111111111<br />
0000000000000000<br />
1111111111111111<br />
0000000000000000<br />
1111111111111111<br />
0000000000000000<br />
1111111111111111 F<br />
0000000000000000<br />
1111111111111111<br />
0000000000000000<br />
1111111111111111<br />
0000000000000000<br />
1111111111111111<br />
0000000000000000<br />
1111111111111111<br />
0000000000000000<br />
1111111111111111<br />
0000000000000000<br />
1111111111111111<br />
0000000000000000<br />
1111111111111111<br />
0000000000000000<br />
1111111111111111<br />
0000000000000000<br />
1111111111111111<br />
1<br />
2<br />
0000000000000000<br />
1111111111111111<br />
1<br />
x<br />
1<br />
Figura 1.4: Regione ammissibile<br />
• Norma p = ∞.<br />
In questo caso, il problema scalarizzato<br />
min<br />
max<br />
i=1,...,k {|c⊤ i x − zi id |}<br />
Ax ≤ b<br />
può essere facilmente trasformato in un problema <strong>di</strong> PL con l’aggiunta <strong>di</strong> una sola variabile<br />
ausiliaria, α, ottenendo:<br />
min α {<br />
|c<br />
⊤<br />
i x − zi id|<br />
≤ α<br />
Ax ≤ b<br />
i = 1, 2, . . ., k<br />
Esempio<br />
Si consideri il seguente problema <strong>di</strong> programmazione multiobiettivo:<br />
min<br />
⎧<br />
(x 1 , x 2 )<br />
⎪⎨ x 2 1 + x 2 2 ≥ 1<br />
0 ≤ x 1 ≤ 2<br />
⎪⎩ 0 ≤ x 2 ≤ 2<br />
(P es)<br />
In questo esempio, ve<strong>di</strong> figura 1.4, le regioni ammissibili nello spazio <strong>delle</strong> variabili <strong>di</strong><br />
decisione ed in quello degli obiettivi coincidono essendo<br />
{<br />
z1 = x 1<br />
z 2 = x 2<br />
Possiamo inoltre facilmente calcolare il vettore ideale degli obiettivi ottenendo così: z id =<br />
(0, 0) ⊤ . In figura 1.5a sono riportati gli ottimi <strong>di</strong> Pareto del problema (P es).<br />
A questo punto applichiamo il metodo GOAL con p = 1, 2, ∞.<br />
10
0000000<br />
1111111<br />
0000000<br />
1111111<br />
0000000<br />
1111111<br />
0000000<br />
1111111<br />
0000000<br />
1111111<br />
0000000<br />
1111111<br />
0000000<br />
1111111<br />
0000000<br />
1111111<br />
0000000<br />
1111111<br />
0000000<br />
1111111<br />
0000000<br />
1111111<br />
0000000<br />
1111111<br />
0000000<br />
1111111<br />
0000000<br />
1111111<br />
0000000<br />
1111111<br />
0000000<br />
1111111<br />
0000000<br />
1111111<br />
0000000<br />
1111111<br />
0000000<br />
1111111<br />
0000000<br />
1111111<br />
0000000<br />
1111111<br />
(a)<br />
(b)<br />
(c)<br />
0000000<br />
1111111<br />
0000000<br />
1111111<br />
0000000<br />
1111111<br />
0000000<br />
1111111<br />
0000000<br />
1111111<br />
0000000<br />
1111111<br />
0000000<br />
1111111<br />
(d)<br />
Figura 1.5: Differenti soluzioni in corrispondenza a <strong>di</strong>fferenti tipi <strong>di</strong> norme.<br />
• p = 1. Il problema scalarizzato con questo tipo <strong>di</strong> norma ha due soluzioni (ve<strong>di</strong> figura<br />
1.5b).<br />
• p = 2. Il problema che otteniamo usando la norma euclidea ha infin<strong>it</strong>e soluzioni (come<br />
si vede in figura 1.5c) e cioè tutte le soluzioni del problema (P es).<br />
• p = ∞. Il problema <strong>di</strong> Tchebycheff ha una sola soluzione (ve<strong>di</strong> figura 1.5d)<br />
1.4.2 Meto<strong>di</strong> a Posteriori<br />
I meto<strong>di</strong> appartenenti a questa classe sono anche noti come meto<strong>di</strong> per generare l’insieme<br />
<strong>delle</strong> soluzioni <strong>di</strong> Pareto. Infatti, siccome le preferenze del decisore vengono considerate<br />
solo al termine del processo risolutivo, quello che si fa è generare tutti i punti ottimi secondo<br />
Pareto. Una volta che l’insieme <strong>delle</strong> soluzioni <strong>di</strong> Pareto è stato generato, esso viene<br />
presentato al decisore che seleziona il o i vettori per lui migliori.<br />
L’inconveniente principale <strong>di</strong> questa strategia sta nel fatto che il processo <strong>di</strong> generazione degli<br />
ottimi <strong>di</strong> Pareto è, molto spesso, computazionalmente oneroso. Inoltre, potrebbe non essere<br />
semplice, per il decisore, scegliere una soluzione tra gli ottimi che gli vengono presentati, in<br />
special modo se questi sono numerosi. Per questo motivo, è molto importante il modo con<br />
il quale le soluzioni vengono presentate al decisore.<br />
Metodo dei Pesi (cfr. [3, sez. 3.1])<br />
Consideriamo il seguente problema<br />
min<br />
k∑<br />
w i f i (x)<br />
i=1<br />
g(x) ≤ 0<br />
(P w)<br />
11
ove w ∈ IR k + e i coefficienti w i si intendono normalizzati cioè tali che<br />
k∑<br />
w i = 1.<br />
i=1<br />
Esiste una relazione tra le soluzioni <strong>di</strong> (P w) e i punti <strong>di</strong> Pareto <strong>di</strong> (P).<br />
proposizione mette in evidenza proprio questa relazione (cfr. [3]).<br />
La seguente<br />
Proposizione 1.4.5 Ogni soluzione locale (globale) del problema (P w) è un ottimo debole<br />
locale (globale) <strong>di</strong> Pareto per il problema (P).<br />
✷<br />
Nel caso in cui il problema (P w) ammette una unica soluzione allora si può stabilire un<br />
risultato un po’ più forte del precedente (cfr. [3]).<br />
Proposizione 1.4.6 Se il problema (P w), fissato il vettore dei pesi w ≥ 0, ammette una<br />
unica soluzione allora essa è un ottimo <strong>di</strong> Pareto per il problema (P).<br />
Allo stesso modo, se i pesi w i sono tutti strettamente pos<strong>it</strong>ivi è possibile <strong>di</strong>mostrare la<br />
seguente<br />
Proposizione 1.4.7 Se w i > 0 per ogni in<strong>di</strong>ce i, ogni soluzione locale (globale) del problema<br />
(P w) è un ottimo locale (globale) <strong>di</strong> Pareto per il problema (P). ✷<br />
Nell’ipotesi in cui il problema multiobiettivo (P) è convesso, è possibile stabilire la seguente<br />
proprietà <strong>di</strong> esistenza (cfr. [3])<br />
Proposizione 1.4.8 Sia x ⋆ un ottimo <strong>di</strong> Pareto per il problema (P). Se (P) è convesso<br />
allora esistono dei pesi w ∈ IR k + con<br />
k∑<br />
w i = 1<br />
i=1<br />
e tali che x ⋆ è soluzione anche del problema (P w).<br />
✷<br />
Metodo degli ε-vincoli (cfr. [3, sez. 3.2])<br />
Si seleziona una funzione obiettivo f l (x) tra gli obiettivi <strong>di</strong> (P) e poi si trasformano tutte le<br />
altre funzioni f i (x) (con i = 1, 2, . . ., k i ≠ l) in vincoli, imponendo degli upper bound sui<br />
loro valori. Il problema che otteniamo è allora il seguente:<br />
min f l (x)<br />
f i (x) ≤ ε i<br />
g(x) ≤ 0<br />
∀i = 1, 2, . . ., k i ≠ l<br />
(P ε)<br />
ove l ∈ {1, 2, . . ., k}.<br />
Proposizione 1.4.9 (cfr. [3]) Ogni soluzione <strong>di</strong> (P ε) è un ottimo debole secondo Pareto<br />
per il problema (P).<br />
✷<br />
La prossima proposizione fornisce con<strong>di</strong>zioni necessarie e sufficienti <strong>di</strong> ottimal<strong>it</strong>à (secondo<br />
Pareto) per il problema (P) <strong>delle</strong> soluzioni <strong>di</strong> (P ε).<br />
Proposizione 1.4.10 Un vettore x ⋆ ∈ F è ottimo secondo Pareto <strong>di</strong> (P) se e solo se è<br />
soluzione <strong>di</strong> (P ε) per ogni scelta <strong>di</strong> l ∈ {1, 2, . . ., k} ed essendo ε i = f i (x ⋆ ) con i ≠ l.<br />
Proposizione 1.4.11 (cfr. [3]) Se il punto x ⋆ ∈ F è l’unica soluzione del problema (P ε)<br />
per qualche l ∈ {1, 2, . . ., k} e con ε j = f j (x ⋆ ) per ogni j ≠ l allora esso è Pareto ottimo per<br />
il problema (P).<br />
✷<br />
12
Cap<strong>it</strong>olo 2<br />
Programmazione con Incertezza<br />
2.1 Nozioni preliminari<br />
È noto che un generico problema <strong>di</strong> ottimizzazione può essere posto nella forma [2]<br />
min x<br />
f ◦ (x)<br />
c.v. x ∈ D,<br />
ove x ∈ IR n è detto vettore <strong>delle</strong> variabili <strong>di</strong> decisione, f : IR n → IR è detta funzione obiettivo<br />
e D ⊆ IR n è detto insieme ammissibile. A seconda <strong>delle</strong> proprietà della funzione f ◦ (x) e<br />
dell’insieme D parleremo <strong>di</strong> ottimizzazione lineare o non lineare, ottimizzazione vincolata o<br />
non vincolata, ottimizzazione continua o combinatoria e così via.<br />
Per quanto concerne queste note è comodo introdurre la seguente funzione obiettivo estesa<br />
f : IR n → IR ¯ tale che<br />
{<br />
f◦ (x) se x ∈ D,<br />
f(x) =<br />
+∞ se x ∉ D,<br />
per cui è possibile riscrivere il generico problema <strong>di</strong> ottimizzazione come<br />
min f(x).<br />
x<br />
Dato uno spazio <strong>di</strong> probabil<strong>it</strong>à (Ω, F, P), sia ω : (Ω, F) → (IR n , B n ) una v.a. e supponiamo<br />
che la funzione obiettivo f ◦ (x, ω) e l’insieme ammissibile D(ω) <strong>di</strong>pendano dalle realizzazioni<br />
<strong>di</strong> ω. Anche in questo caso possiamo pensare alla funzione obiettivo estesa defin<strong>it</strong>a come<br />
{<br />
f◦ (x, ω) se x ∈ D(ω),<br />
f(x, ω) =<br />
+∞ se x ∉ D(ω).<br />
Nel caso attuale, in cui i dati del problema <strong>di</strong>pendono esplic<strong>it</strong>amente dalla v.a. ω, non è più<br />
imme<strong>di</strong>ato riconoscere un problema <strong>di</strong> ottimizzazione nel senso che non è ben chiaro cosa<br />
dobbiamo ottimizzare e con quali vincoli dato che sia la funzione obiettivo che la regione<br />
ammissibile <strong>di</strong>pendono da un elemento incerto ovvero dalle realizzazioni della v.a. ω. In<br />
altri termini, non ha certamente senso considerare il problema<br />
min<br />
x<br />
f(x, ω) (1)<br />
13
2.1.1 Formulazione deterministica<br />
Ci sono <strong>di</strong>versi mo<strong>di</strong> <strong>di</strong> trattare l’incertezza in un problema <strong>di</strong> ottimizzazione. Un primo<br />
modo consiste nello stimare un valore della v.a. (come per esempio il suo valore atteso<br />
IE ω [ω]), sia esso ¯ω, e quin<strong>di</strong> risolvere il problema<br />
min<br />
x<br />
f(x, ¯ω) (2)<br />
In questo caso, la funzione obiettivo f(x, ¯ω) non <strong>di</strong>pende più dalla v.a. ω che è fissata<br />
al valore ¯ω e quin<strong>di</strong> il problema è nuovamente un problema, per così <strong>di</strong>re, deterministico<br />
che può essere risolto come usualmente si farebbe. Questo approccio, benchè perfettamente<br />
giustificabile in alcuni amb<strong>it</strong>i applicativi, potrebbe non avere molto senso e, a volte, portare<br />
a soluzioni certamente non ottime come vedremo più avanti con alcuni esempi.<br />
2.1.2 Osservazione e ottimizzazione<br />
In alcuni casi è possibile posticipare la scelta <strong>delle</strong> variabili <strong>di</strong> decisione x ad un momento<br />
successivo alla osservazione della v.a. ω il che corrisponde a quella che viene comunemente<br />
defin<strong>it</strong>a strategia wa<strong>it</strong>-and-see. In questo caso, ci troviamo a dover risolvere un problema <strong>di</strong><br />
ottimizzazione in x che <strong>di</strong>pende da ω come parametro. Potremmo così pensare <strong>di</strong> risolvere<br />
il problema (2) solo per il valore ˆω corrispondente alla realizzazione della v.a. oppure<br />
potremmo concentraci sulla determinazione del valore ottimo<br />
ψ(ω) = inf f(x, ω)<br />
x<br />
e dell’insieme <strong>di</strong> soluzioni ottime<br />
Ψ(ω) = argmin f(x, ω),<br />
x<br />
entrambi funzione della variabile aleatoria ω.<br />
2.1.3 <strong>Ottimizzazione</strong> e osservazione<br />
Contrariamente al caso precedente, potrebbe non essere possibile posticipare la scelta <strong>di</strong> x<br />
fin dopo aver osservato la realizzazione della v.a. ovvero è necessario adottare quella che<br />
comunemente viene defin<strong>it</strong>a strategia here-and-now. In questo assetto le decisione vanno<br />
prese sub<strong>it</strong>o avendo a <strong>di</strong>sposizione solo la conoscenza sulla v.a. ω che ci viene dalla sua<br />
f.d. In questo caso è necessario riflettere sul fatto che per ogni scelta <strong>delle</strong> variabili x non<br />
abbiamo un valore certo f(x) ma, piuttosto, un valore incerto f(x, ω). In altri termini, per<br />
ogni realizzazione della v.a. ω abbiamo una funzione ω ↦→ f(x, ω) ovvero, potremmo pensare<br />
ad f(x, ω) come ad una v.a. composta.<br />
Il caso peggiore<br />
In questo assetto possiamo pensare <strong>di</strong> risolvere il problema min x ˜f(x) dove<br />
˜f(x) = sup f(x, ω).<br />
ω<br />
Ovviamente, questo significa concentrarsi esclusivamente sul peggiore risultato ottenibile<br />
avendo fissato le variabili x senza alcun tentativo <strong>di</strong> <strong>di</strong>stinguere le realizzazioni della v.a. in<br />
base alla sua <strong>di</strong>stribuzione <strong>di</strong> probabil<strong>it</strong>à.<br />
14
Programmazione stocastica<br />
Questo approccio consiste nell’interpretare, per ogni x, f(x, ω) a sua volta come una v.a.<br />
che ere<strong>di</strong>ta la sua f.d. da quella della v.a. ω. È dunque possibile, per ogni x, calcolare il<br />
valore atteso ˆf(x) = IE ω [f(x, ω)] e quin<strong>di</strong> risolvere il problema<br />
min ˆf(x). (3)<br />
x<br />
2.1.4 Esempio: il problema del ven<strong>di</strong>tore <strong>di</strong> giornali<br />
Questo problema, meglio noto con il nome <strong>di</strong> newsvendor problem, è probabilmente il più<br />
semplice esempio <strong>di</strong> ottimizzazione in presenza <strong>di</strong> incertezza ed è, pertanto, particolarmente<br />
adatto per familiarizzare con alucni fondamentali concetti della programmazione in presenza<br />
<strong>di</strong> incertezza. Il problema è il seguente.<br />
Il ragazzo che vende i giornali al semaforo deve decidere quanti giornali x acquistare alle<br />
prime luci dell’alba dall’e<strong>di</strong>tore al costo <strong>di</strong> c euro per giornale. Durante la mattinata potrà<br />
rivendere i giornali al prezzo <strong>di</strong> s euro l’uno e, a fine mattinata, può rivendere all’e<strong>di</strong>tore i<br />
giornali non venduti ricavando r euro l’uno. Ovviamente vale la seguente relazione<br />
0 ≤ r < c < s.<br />
Il grosso problema del ven<strong>di</strong>tore è che, al momento in cui deve scegliere quanti giornali (x)<br />
acquistare dall’e<strong>di</strong>tore, non conosce con esattezza il numero <strong>di</strong> clienti che acquisteranno il<br />
giornale da lui al semaforo. In altri termini, la sua domanda giornaliera <strong>di</strong> quoti<strong>di</strong>ani può<br />
essere considerata come una variabile aleatoria la cui realizzazione accadrà in un momento<br />
successivo a quello in cui deve acquistare i giornali dall’e<strong>di</strong>tore.<br />
In<strong>di</strong>chiamo con D la v.a. che descrive il numero <strong>di</strong> giornali effettivamente venduti al semaforo<br />
durante la mattinata. La tabella che segue riporta i costi, i ricavi e il prof<strong>it</strong>to del ven<strong>di</strong>tore<br />
nella mattinata in funzione della variabile <strong>di</strong> decisione x e della v.a. D.<br />
Costi<br />
acquisto giornali: cx<br />
Ricavi<br />
{<br />
sx se x < D<br />
ven<strong>di</strong>te al semaforo:<br />
sD se x ≥ D<br />
{<br />
0 se x < D<br />
ven<strong>di</strong>te all’e<strong>di</strong>tore:<br />
r(x − D) se x ≥ D<br />
prof<strong>it</strong>to: −f(x, D) = −cx + s min{x, D} + r max{0, x − D}<br />
Il problema da risolvere sarebbe dunque il seguente<br />
min<br />
x≥0<br />
f(x, D),<br />
e cioè un problema della forma <strong>di</strong> (1) in cui la v.a. ω = D.<br />
Supponiamo ora che il ven<strong>di</strong>tore possa decidere quanti giornali acquistare dall’e<strong>di</strong>tore dopo<br />
aver avuto notizia <strong>di</strong> quanti giornali potrà vendere nella mattinata. Siamo nel caso wa<strong>it</strong>and-see<br />
(cfr. sottosezione 2.1.2) in cui la v.a. D è trattata come un parametro. In questo<br />
caso la f(x, D) è funzione della sola variabile x e <strong>di</strong>pende parametricamente da D.<br />
f(x, D)<br />
D<br />
x<br />
15
Ovviamente, la soluzione ottima risulta essere x = D e il valore ottimo (c − s)D ovvero,<br />
coerentemente con la notazione fin qui adottata,<br />
e<br />
ψ(D) = (c − s)D,<br />
Ψ(D) = {x ∈ IR : x = D}.<br />
Ovviamente, questa tecnica risolutiva ha senso solo quando è lec<strong>it</strong>o supporre che ci sia una<br />
sorta <strong>di</strong> oracolo che pre<strong>di</strong>ce al ven<strong>di</strong>tore il numero <strong>di</strong> giornali che potrà vendere al semaforo.<br />
In ogni altro caso, questa tecnica risolutiva non ha molto senso.<br />
Supponiamo ora che D sia una v.a. <strong>di</strong>screta cioè abbia la seguente f.d. <strong>di</strong> probabil<strong>it</strong>à<br />
evento F D (·)<br />
D = 30 1/7<br />
D = 40 2/7<br />
D = 50 2/7<br />
D = 60 1/7<br />
D = 100 1/7<br />
Un altro modo <strong>di</strong> approcciare il problema consiste, come accennato nella sottosezione 2.1.1,<br />
nel risolvere un problema in cui si fissa il valore della v.a., per esempio, al suo valore atteso<br />
IE[D] = ¯D = 370/7 e quin<strong>di</strong> risolvere il problema per D = ¯D. In questo caso la soluzione è,<br />
banalmente, Ψ( ¯D) cioè x = ¯D, y 1 = ¯D e y 2 = 0 con valore ottimo ψ( ¯D) = (c − s) ¯D.<br />
Come visto nella sottosezione 2.1.3, un ulteriore modo <strong>di</strong> procedere è quello <strong>di</strong> risolvere il<br />
problema<br />
min<br />
x≥0<br />
max<br />
30≤D≤100<br />
f(x, D).<br />
Considerato il fatto che la funzione f(x, D) è in questo caso non crescente rispetto alla<br />
variabile D,<br />
f(x, D)<br />
x<br />
D<br />
risulta max 30≤D≤100 f(x, D) = f(x, ˆD), con ˆD = 30. D’altra parte, siccome, come si verifica<br />
facilmente, la funzione f(x, 30)<br />
f(x, 30)<br />
30<br />
x<br />
16
è decrescente per 0 ≤ x ≤ 30 e crescente per x ≥ 30, il problema min x≥0 f(x, 30) ha soluzione<br />
ottima ¯x = ˆD = 30 con valore ottimo (c − s)¯x = 30(c − s). Questa soluzione corrisponde<br />
perfettamente all’atteggiamento del ven<strong>di</strong>tore che, cautamente, sceglie <strong>di</strong> acquistare il maggior<br />
numero <strong>di</strong> giornali nell’ipotesi <strong>di</strong> venderne il minor numero possibile. I lim<strong>it</strong>i <strong>di</strong> questo<br />
approccio sono evidenti. Nel caso, per esempio, in cui sia possibile anche l’evento D = 0<br />
la strategia che dovremmo adottare sarebbe x = 0 ovvero il ven<strong>di</strong>tore non acquista alcun<br />
giornale per lim<strong>it</strong>are i danni nel caso peggiore in cui gli dovesse cap<strong>it</strong>are <strong>di</strong> non venderne<br />
nessuno.<br />
Per concludere la rassegna dei vari approcci al problema rimane da analizzare quello detto<br />
<strong>di</strong> stochastic programming (programmazione stocastica). Secondo quanto visto nella sottosezione<br />
2.1.3, questo tipo <strong>di</strong> approccio consiste nel considerare, per ogni valore x ammissibile,<br />
la f(x, D) come una nuova v.a. per la quale è possibile calcolare il valore atteso<br />
IE D [f(x, D)] e quin<strong>di</strong> risolvere il problema<br />
min IE D[f(x, D)]. (4)<br />
x≥0<br />
Nel caso in esame, in cui D è una v.a. <strong>di</strong>screta, la funzione che otteniamo è<br />
f(x) = IE D [f(x, D)] = 1 7 f(x, 30) + 2 7 f(x, 40) + 2 7 f(x, 50) + 1 7 f(x, 60) + 1 f(x, 100)<br />
7<br />
che è una funzione convessa, lineare a tratti e continua ma non <strong>di</strong>fferenziabile. Sia ∂f(x) il<br />
sub<strong>di</strong>fferenziale <strong>di</strong> f in x così defin<strong>it</strong>o:<br />
∂f(x) = {t ∈ IR : f(y) ≥ f(x) + t(y − x) per ogni y ∈ IR}.<br />
Per la funzione f(x) risulta<br />
⎧<br />
(c − s) se x < 30<br />
1<br />
7<br />
⎪⎨<br />
(c − r) + 6 7<br />
(c − s) se 30 ≤ x < 40<br />
3<br />
7<br />
∂f(x) ∋<br />
(c − r) + 4 7<br />
(c − s) se 40 ≤ x < 50<br />
5<br />
7 (c − r) + 2 7<br />
(c − s) se 50 ≤ x < 60<br />
6<br />
7<br />
⎪⎩<br />
(c − r) + 1 7<br />
(c − s) se 60 ≤ x < 100<br />
(c − r) se x ≥ 100<br />
ovvero, più sinteticamente,<br />
∂f(x) ∋ (c − r)P[D ≤ x] + (c − s)P[D > x]<br />
= (c − r)F D (x) + (c − s)(1 − F D (x))<br />
= (c − s) + (s − r)F D (x).<br />
Come è noto, considerata la convess<strong>it</strong>à <strong>di</strong> f(x), x ⋆ è un punto <strong>di</strong> minimo <strong>di</strong> f(x) se e solo se<br />
0 ∈ ∂f(x ⋆ ).<br />
Nel caso in esame in cui f(x) è funzione <strong>di</strong> una sola variabile e ∂f(x) ∋ c − s < 0, per ogni<br />
x < 30 , è possibile determinare il punto <strong>di</strong> minimo <strong>di</strong> f(x) cercando il più piccolo x ⋆ ∈ IR<br />
tale per cui<br />
∂f(x ⋆ ) ∋ (c − s) + (s − r)F D (x ⋆ ) > 0,<br />
da cui otteniamo<br />
x ⋆ = F −1<br />
D<br />
( s − c<br />
s − r<br />
)<br />
17
avendo in<strong>di</strong>cato con F −1<br />
D (α) = min{x : F D(x) ≥ α} ovvero l’α-quantile della <strong>di</strong>stribuzione<br />
<strong>di</strong> probabil<strong>it</strong>à F D (ω). Notiamo che x ⋆ corrisponde al punto in cui la pendenza <strong>di</strong> f(x) passa<br />
da negativa (f(x) decrescente) a pos<strong>it</strong>iva (f(x) crescente).<br />
La figura che segue riporta l’andamento della funzione f(x), quando r = 0.8, c = 1.6 e<br />
s = 1.8, da cui è facile riconoscere che il valore ottimo del problema (4) è<br />
x ⋆ = F −1<br />
D<br />
(0.2) = 40.<br />
x<br />
IED[f(x, D)]<br />
30 40 50 60 100<br />
Supponiamo ora che D sia una v.a. continua, cioè una v.a. con f.d. F D (ω) continua, per<br />
cui risulta<br />
f(x) = IE[f(x, D)] =<br />
∫ ∞<br />
0<br />
f(x, ω)dF D (ω).<br />
Notiamo che, anche in questo caso, essendo la funzione f(x, D) convessa (e lineare a tratti<br />
rispetto ad x), anche la funzione f(x) è convessa rispetto ad x. Allora<br />
f(x) = cx +<br />
∫ x<br />
0<br />
[−rx − (s − r)ω]dF D (ω) − sx<br />
da cui, me<strong>di</strong>ante integrazione per parti, otteniamo<br />
f(x) = (c − s)x + (s − r)<br />
∫ x<br />
0<br />
F D (ω)dω.<br />
∫ ∞<br />
x<br />
dF D (ω),<br />
Derivando rispetto a x, otteniamo, come nel caso precedente,<br />
f ′ (x) = (c − s) + (s − r)F D (x).<br />
Percui, ricordando che f(x) è convessa rispetto a x, x ⋆ è punto <strong>di</strong> minimo se e solo se<br />
f ′ (x ⋆ ) = (c − s) + (s − r)F D (x ⋆ ) = 0,<br />
da cui, anche in questo caso, otteniamo<br />
F D (x ⋆ ) = s − c<br />
s − r<br />
e quin<strong>di</strong>, nuovamente,<br />
( ) s − c<br />
x ⋆ = F −1<br />
D<br />
.<br />
s − r<br />
18
2.2 Fondamenti <strong>di</strong> Programmazione Stocastica<br />
Come gia in parte anticipato nel corso della precedente sezione, le principali caratteristiche<br />
della programmazione stocastica sono le seguenti:<br />
1. here-and-now, vale a <strong>di</strong>re che, non ostante l’ingente coinvolgimento <strong>di</strong> acca<strong>di</strong>menti<br />
futuri, ogni cosa è mirata al miglioramento <strong>di</strong> decisioni che devono essere prese nel<br />
presente ovvero prima che qualunque v.a. possa realizzarsi;<br />
2. ricorsione, ovvero l’opportun<strong>it</strong>à che è data al modellista <strong>di</strong> tenere conto del fatto<br />
che le decisioni prese nel presente possano essere, almeno in parte, corrette in tempi<br />
successivi;<br />
3. informazione e osservazione, le decisioni in tempi successivi possono rispondere a informazioni<br />
che si sono rese <strong>di</strong>sponibili da quando sono state prese le decisioni iniziali.<br />
Questa informazioni è modellata me<strong>di</strong>ante l’osservazione <strong>di</strong> v.a.;<br />
4. convess<strong>it</strong>à, teoria e meto<strong>di</strong> risolutivi <strong>di</strong> programmazione stocastica sono sviluppati<br />
sotto l’ipotesi restr<strong>it</strong>tiva <strong>di</strong> convess<strong>it</strong>à;<br />
5. in<strong>di</strong>pendenza <strong>delle</strong> misure <strong>di</strong> probabil<strong>it</strong>à dalle decisioni, si assume cioè che le v.a. siano<br />
in<strong>di</strong>pendenti dalle decisioni.<br />
Uno degli aspetti più caratteristici della programmazione stocastica ed anche quello che maggiormente<br />
la <strong>di</strong>fferenzia dalla programmazione matematica è certamente quello <strong>di</strong>namico.<br />
Più precisamente, in un contesto <strong>di</strong> programmazione stocastica è opportuno familiarizzare<br />
con il così detto processo ricorsivo nel quale le decisioni si alternano con le osservazioni. In<br />
particolare possiamo pensare al seguente processo ricorsivo<br />
u 0 ∈ IR n0<br />
ω 1 ∈ Ω 1<br />
u 1 ∈ IR n1<br />
ω 2 ∈ Ω 2<br />
u 2 ∈ IR n2<br />
.<br />
ω N ∈ Ω N<br />
u N ∈ IR nN<br />
decisione iniziale<br />
osservazione<br />
decisione <strong>di</strong> ricorsione<br />
osservazione<br />
decisione <strong>di</strong> ricorsione<br />
osservazione<br />
decisione <strong>di</strong> ricorsione<br />
In questo processo ricorsivo, abbiamo uno sta<strong>di</strong>o iniziale nel quale viene presa la decisione<br />
u 0 ∈ IR n0 e successivamente N sta<strong>di</strong> <strong>di</strong> ricorsione ciascuno composto da una osservazione,<br />
nella quale una v.a. si realizza, e da una decisione, che dovrebbe essere la risposta all’osservazione<br />
appena avvenuta. Alla fine <strong>di</strong> questo processo ricorsivo, avremo un vettore <strong>di</strong><br />
decisioni<br />
u = (u 0 , u 1 , . . . , u N ) ∈ IR n<br />
con n = n 0 + n 1 + · · · + n N<br />
e un vettore <strong>di</strong> osservazioni che potremmo definire la storia <strong>delle</strong> osservazioni e rappresentare<br />
come<br />
ω = (ω 1 , . . .,ω N ) ∈ Ω con Ω = Ω 1 × · · · × Ω N .<br />
Un altro ingre<strong>di</strong>ente essenziale è il costo del processo ricorsivo che può essere pensato come<br />
una funzione f : IR n × Ω → IR ¯ con<br />
f(u, ω) = f(u 0 , u 1 , . . . , u N , ω 1 , . . . , ω N ).<br />
19
Naturalmente la funzione f(u, ω) ha valori nello spazio esteso dei reali ovvero può assumere<br />
anche il valore +∞. Più precisamente, f(u, ω) = +∞ quando u ∉ C(ω).<br />
A questo punto, potremmo pensare che lo scopo dell’ottimizzatore sia quello <strong>di</strong> risolvere il<br />
seguente problema<br />
min IE ω [f(u, ω)],<br />
u<br />
ovvero un problema come il problema (3). Ovviamente, questo non è il caso. Infatti se<br />
facessimo così, ci troveremmo, nuovamente, a dover scegliere u = (u 0 , u 1 , . . . , u n ) prima <strong>di</strong><br />
conoscere ω = (ω 1 , . . .,ω N ), il che <strong>di</strong>struggerebbe imme<strong>di</strong>atamente tutti i vantaggi <strong>di</strong> avere<br />
decisioni e osservazioni mescolate le une con le altre. In particolare, nel nostro caso, se<br />
ci poniamo nello sta<strong>di</strong>o k-esimo possiamo partizionare il vettore ω = (ω 1 , . . .,ω N ) nei due<br />
sottovettori<br />
(ω 1 , . . . , ω k ) informazione <strong>di</strong>sponibile<br />
(ω k+1 , . . . , ω N ) incertezza residua.<br />
Nel fare questo, bisogna sempre tenere presente che il fine ultimo dell’ottimizzazione è quello<br />
<strong>di</strong> produrre una decisione iniziale u 0 e che le v.a. ω i , i = 1, . . . , N, non saranno mai<br />
veramente osservate ma, piuttosto, si potrà al più supporre che lo siano state. Per esempio,<br />
al generico sta<strong>di</strong>o k ci troveremo a dover determinare u k supponendo che siano state osservate<br />
ω 1 , . . . , ω k . Questo è il motivo per cui, allo sta<strong>di</strong>o k, siamo interessati a determinare, non<br />
tanto un vettore u k ∈ IR n k<br />
, quanto piuttosto una funzione <strong>di</strong> ricorsione defin<strong>it</strong>a sullo spazio<br />
Ω 1 × · · · × Ω k<br />
u k (·) : (ω 1 , . . . , ω k ) ↦→ u k (ω 1 , . . . , ω k ) ∈ IR n k<br />
.<br />
Nello scegliere una tale funzione u k (·) stiamo, in sostanza, specificando nel presente (hereand-now)<br />
come risponderemo ad ogni possibile realizzazione <strong>delle</strong> prime k osservazioni.<br />
Definiamo strategia una funzione u : Ω → IR n ovvero<br />
u(ω) = (u 0 , u 1 (ω 1 ), u 2 (ω 1 , ω 2 ), . . . , u N (ω 1 , . . .,ω N )). (5)<br />
In<strong>di</strong>chiamo con U l’insieme <strong>di</strong> tutte le possibili funzioni u(·) <strong>di</strong> questo tipo. Notiamo che<br />
la componente u k (ω) <strong>di</strong>pende da ω 1 , . . . , ω k e non da ω k+1 , . . .,ω N . Questa proprietà, detta<br />
non anticipo <strong>delle</strong> strategie, serve a garantire che le decisioni non siano basate sulla<br />
conoscenza <strong>di</strong> eventi futuri prima che questi accadano. Il problema al quale arriviamo è il<br />
seguente<br />
min IE ω[f(u(ω), ω)],<br />
u(ω)∈U<br />
dove u(ω) è dato da (5). È importante notare che il precedente è un problema <strong>di</strong> ottimizzazione<br />
in cui le variabili <strong>di</strong> decisione sono particolari funzioni <strong>di</strong>stinte dalla proprietà sopra<br />
c<strong>it</strong>ata <strong>di</strong> “non anticipo”.<br />
2.2.1 Esempio: financial planning and control<br />
Una famiglia americana sta progettando <strong>di</strong> mandare il proprio figlio al college. I gen<strong>it</strong>ori<br />
sanno che tra Y = Nv anni, e cioè quando il figlio avrà raggiunto l’età per potersi iscrivere,<br />
la retta per l’intero periodo degli stu<strong>di</strong> sarà <strong>di</strong> G = 80000 euro. Al momento i gen<strong>it</strong>ori<br />
<strong>di</strong>spongono <strong>di</strong> un budget <strong>di</strong> b = 55000 euro (b < G) e devono decidere come investire questi<br />
risparmi. Al termine degli Y anni i gen<strong>it</strong>ori potranno<br />
1. prendere in prest<strong>it</strong>o (con un interesse r = 4%) i sol<strong>di</strong> che servono per arrivare a coprire<br />
la retta <strong>di</strong> G euro per l’iscrizione al college; oppure<br />
20
2. depos<strong>it</strong>are in un libretto <strong>di</strong> risparmio (con un interesse q = 1%) i sol<strong>di</strong> avanzati dopo<br />
il pagamento della retta <strong>di</strong> iscrizione.<br />
La famiglia può investire su I tipi <strong>di</strong>versi <strong>di</strong> investimento e può cambiare investimento ogni<br />
v anni. I gen<strong>it</strong>ori hanno, quin<strong>di</strong>, N = Y/v <strong>di</strong>fferenti perio<strong>di</strong> <strong>di</strong> investimento.<br />
Supponiamo, per semplic<strong>it</strong>à <strong>di</strong> trattazione, che I = 2 (due soli tipi <strong>di</strong> investimento: stock<br />
o bond), N = 3 (tre perio<strong>di</strong>) e v = 5 (5 anni <strong>di</strong> durata minima <strong>di</strong> ogni investimento). A<br />
seconda dell’andamento dei mercati finanziari, si può avere un interesse <strong>di</strong> 1.25 per gli stock<br />
e 1.14 per i bond oppure 1.06 per gli stock e 1.12 per i bond con uguali probabil<strong>it</strong>à (in<br />
con<strong>di</strong>zione <strong>di</strong> massima incertezza).<br />
Il processo decisionale è quella gia visto in precedenza in cui abbiamo N = 3 sta<strong>di</strong> <strong>di</strong><br />
ricorsione ovvero<br />
u 0 = (u 1 0 , u2 0 )T ∈ IR 2<br />
ω 1 ∈ Ω<br />
u 1 (ω 1 ) = (u 1 1 (ω 1), u 2 1 (ω 1)) T ∈ IR 2<br />
ω 2 ∈ Ω<br />
u 2 (ω 1 , ω 2 ) = (u 1 2 , u2 2 )T ∈ IR n2<br />
ω 3 ∈ Ω<br />
u 3 (ω 1 , ω 2 , ω 3 ) = (u 1 3 (ω 1, ω 2 , ω 3 ), u 2 3 (ω 1, ω 2 , ω 3 )) T ∈ IR 2<br />
decisione iniziale<br />
osservazione<br />
decisione <strong>di</strong> ricorsione<br />
osservazione<br />
decisione <strong>di</strong> ricorsione<br />
osservazione<br />
decisione <strong>di</strong> ricorsione<br />
dove Ω = {up, down} contiene i due soli andamenti possibili per i mercati finanziari a cui<br />
corrispondono i tassi <strong>di</strong> interesse degli investimenti <strong>di</strong>sponibili.<br />
Sta<strong>di</strong>o iniziale: Le variabili <strong>di</strong> decisione sono in<strong>di</strong>pendenti dalle v.a. (non anticipo)<br />
e rappresentano l’ammontare degli investimenti in stock e bond, rispettivamente,<br />
all’inizio degli Y = 15 anni. Esse devono sod<strong>di</strong>sfare il seguente vincolo<br />
u 1 0 + u2 0 = b,<br />
ovvero, inizialmente, gli investimenti devono essere esattamente uguali al budget <strong>di</strong><br />
b euro <strong>di</strong>sponibili all’inizio del periodo <strong>di</strong> investimento. Potremmo scrivere questo<br />
vincolo, sinteticamente, come<br />
∑<br />
u i 0 = b.<br />
i∈I<br />
Primo sta<strong>di</strong>o: Le variabili <strong>di</strong> decisione <strong>di</strong> primo sta<strong>di</strong>o <strong>di</strong>pendono dalla v.a. ω 1 ma<br />
non da ω 2 e ω 3 (deve valere la proprietà <strong>di</strong> non anticipo). Come visto nel corso della<br />
sezione e considerato il fatto che ω 1 è una v.a. <strong>di</strong>screta, è possibile definire le funzioni<br />
u 1 1(ω 1 ) e u 2 1(ω 1 ) in forma tabellare ovvero definendo le variabili u 1 1(up), u 1 1(down),<br />
u 2 1 (up) e u2 1 (down) che rappresentano le azioni intraprese nei due scenari <strong>di</strong> primo<br />
sta<strong>di</strong>o possibili (ed equiprobabili), ovvero ω 1 = up e ω 1 = down. Queste variabili <strong>di</strong><br />
primo sta<strong>di</strong>o devono sod<strong>di</strong>sfare i vincoli<br />
1.25u 1 0 + 1.14u2 0 = u 1 1 (up) + u2 1 (up)<br />
1.06u 1 0 + 1.12u 2 0 = u 1 1(down) + u 2 1(down),<br />
cioè, qualunque sia la realizzazione della v.a. ω 1 , quello che si investe nel quinto anno<br />
deve essere uguale al cap<strong>it</strong>ale <strong>di</strong>sponibile nel quinto anno. Sintetizzando, possiamo<br />
scrivere questi vincoli come<br />
∑<br />
t ω1,iu i 0 = ∑ u i 1(ω 1 ), ∀ ω 1 ∈ Ω.<br />
i∈I i∈I<br />
21
Secondo sta<strong>di</strong>o: Le variabili <strong>di</strong> decisione <strong>di</strong> secondo sta<strong>di</strong>o <strong>di</strong>pendono dalle v.a. ω 1 e<br />
ω 2 ma non (sempre per la proprietà <strong>di</strong> non anticipo) dalla v.a. ω 3 . Anche in questo<br />
caso è possibile definire le funzioni u 1 2 (ω 1, ω 2 ) e u 2 2 (ω 1, ω 2 ) me<strong>di</strong>ante l’introduzione <strong>di</strong><br />
tante variabili <strong>di</strong> decisione quanti sono i possibili scenari <strong>di</strong> secondo sta<strong>di</strong>o. Dato che<br />
i possibili scenari sono dati da tutte le possibili combinazioni <strong>di</strong> una realizzazione <strong>di</strong><br />
ω 1 con una realizzazione <strong>di</strong> ω 2 , dobbiamo introdurre complessivamente 8 variabili e<br />
precisamente:<br />
u 1 2(up, up), u 1 2(up, down), u 1 2(down, up), u 1 2(down, down),<br />
u 2 2 (up, up), u2 2 (up, down), u2 2 (down, up), u2 2 (down, down).<br />
Queste variabili devono sod<strong>di</strong>sfare i vincoli<br />
1.25u 1 1 (up) + 1.14u2 1 (up) = u1 2 (up, up) + u2 2 (up, up)<br />
1.06u 1 1(up) + 1.12u 2 1(up) = u 1 2(up, down) + u 2 2(up, down)<br />
1.25u 1 1 (down) + 1.14u2 1 (down) = u1 2 (down, up) + u2 2 (down, up)<br />
1.06u 1 1(down) + 1.12u 2 1(down) = u 1 2(down, down) + u 2 2(down, down)<br />
cioè, qualunque siano le realizzazione <strong>delle</strong> v.a. ω 1 e ω 2 , quello che si investe nel decimo<br />
anno deve essere uguale al cap<strong>it</strong>ale <strong>di</strong>sponibile nel decimo anno. Anche qui, possiamo<br />
riscrivere i vincoli <strong>di</strong> secondo sta<strong>di</strong>o nel modo seguente.<br />
∑<br />
t ω2,iu i 1 (ω 1) = ∑ u i 2 (ω 1, ω 2 ), ∀ ω 1 , ω 2 ∈ Ω.<br />
i∈I<br />
i∈I<br />
Ultimo sta<strong>di</strong>o: Anche nell’ultimo sta<strong>di</strong>o vale un <strong>di</strong>scorso analogo a quello fatto nei due<br />
sta<strong>di</strong> precedenti. Infatti, le variabili <strong>di</strong> decisione dell’ultimo sta<strong>di</strong>o sono funzione <strong>di</strong><br />
ω 1 , ω 2 e ω 3 . La variabile u 1 3(ω 1 , ω 2 , ω 3 ) rappresenta quanto denaro deve essere preso<br />
in prest<strong>it</strong>o con interesse <strong>di</strong> r% per poter avere G euro per pagare la rata <strong>di</strong> iscrizione<br />
al college. Al contrario, la variabile u 2 3(ω 1 , ω 2 , ω 3 ) rappresenta l’ammontare che può<br />
essere versato su un libretto <strong>di</strong> risparmio con interesse <strong>di</strong> q%, dopo aver pagato la<br />
retta <strong>di</strong> G euro per il college. Anche in questo ultimo caso, le funzioni u 1 3 (ω 1, ω 2 , ω 3 ) e<br />
u 2 3(ω 1 , ω 2 , ω 3 ) possono essere defin<strong>it</strong>e me<strong>di</strong>ante l’introduzione <strong>di</strong> tante variabili quante<br />
sono le possibili combinazioni <strong>delle</strong> realizzazioni <strong>delle</strong> v.a. ω i , i = 1, 2, 3. Tali variabili<br />
devono sod<strong>di</strong>sfare i seguenti vincoli<br />
1.25u 1 2 (up, up) + 1.14u2 2 (up, up) = G − u1 3 (up, up, up) + u2 3<br />
(up, up, up)<br />
1.25u 1 2 (up, down) + 1.14u2 2 (up, down) = G − u1 3 (up, down, up) + u2 3 (up, down, up)<br />
1.25u 1 2 (down, up) + 1.14u2 2 (down, up) = G − u1 3 (down, up, up) + u2 3<br />
(down, up, up)<br />
1.25u 1 2 (down, down) + 1.14u2 2 (down, down) = G − u1 3 (down, down, up) + u2 3 (down, down, up)<br />
1.06u 1 2 (up, up) + 1.12u2 2 (up, up) = G − u1 3 (up, up, down) + u2 3<br />
(up, up, down)<br />
1.06u 1 2 (up, down) + 1.12u2 2 (up, down) = G − u1 3 (up, down, down) + u2 3 (up, down, down)<br />
1.06u 1 2 (down, up) + 1.12u2 2 (down, up) = G − u1 3 (down, up, down) + u2 3<br />
(down, up, down)<br />
1.06u 1 2 (down, down) + 1.12u2 2 (down, down) = G − u1 3 (down, down, down) + u2 3 (down, down, down)<br />
cioè, qualunque siano le realizzazione <strong>delle</strong> v.a. ω 1 , ω 2 e ω 3 , quello <strong>di</strong> cui si <strong>di</strong>spone<br />
nel quin<strong>di</strong>cesimo anno deve essere pari all’importo della retta G, eventualmente prendendo<br />
a prest<strong>it</strong>o la quant<strong>it</strong>à u 1 3 oppure depos<strong>it</strong>ando i contanti in avanzo u 2 3 in un<br />
libretto <strong>di</strong> risparmio. Anche questo ultimo gruppo <strong>di</strong> vincoli possono essere riscr<strong>it</strong>ti<br />
sinteticamente come<br />
∑<br />
t ω3,iu i 2(ω 1 , ω 2 ) + u 1 3(ω 1 , ω 2 , ω 3 ) − u 2 3(ω 1 , ω 2 , ω 3 ) = G, ∀ ω 1 , ω 2 , ω 3 ∈ Ω.<br />
i∈I<br />
22
Supponiamo che le tre v.a. siano in<strong>di</strong>pendenti l’una dalle altre, cosicché avremo<br />
p(ω 1 , ω 2 , ω 3 ) = p(ω 1 )p(ω 2 )p(ω 3 ) = 0.125,<br />
e, quin<strong>di</strong>, per la funzione obiettivo (da massimizzare)<br />
f(u, ω) = ∑ ∑ ∑<br />
p(ω 1 , ω 2 , ω 3 )(−ru 1 3 (ω 1, ω 2 , ω 3 ) + qu 2 3 (ω 1, ω 2 , ω 3 )).<br />
ω 1∈Ω ω 2∈Ω ω 3∈Ω<br />
Risolvendo il problema otteniamo la seguente soluzione ottima:<br />
u 1 0 = 41479.3, u 2 0 = 13520.7<br />
ω 1 ω 2 ω 3 u 1 1 u 2 1 u 1 2 u 2 2 u 1 3 u 2 3<br />
up up up 0 24799.9<br />
83839.9 0<br />
up up down<br />
0 8870.3<br />
up down up 65094.6 2168.14<br />
0 1428.57<br />
0 71428.6<br />
up down down<br />
0 0<br />
down up up 0 1428.57<br />
0 71428.6<br />
down up down<br />
0 0<br />
down down up 36743.2 22368<br />
0 0<br />
64000 0<br />
down down down<br />
12160 0<br />
2.3 Programmazione Stocastica lineare a due sta<strong>di</strong><br />
Consideriamo nuovamente il caso nel ven<strong>di</strong>tore ambulante <strong>di</strong> giornali visto nella sezione<br />
precedente. È piuttosto facile ravvisare nel problema del ven<strong>di</strong>tore un problema <strong>di</strong> programmazione<br />
stocastica a due sta<strong>di</strong> con una sola v.a. (la domanda D <strong>di</strong> giornali).<br />
x ∈ IR<br />
D ∈ Ω<br />
u 1 ∈ IR 2<br />
primo sta<strong>di</strong>o: decisione sul numero <strong>di</strong> giornali da acquistare<br />
osservazione: <strong>di</strong>venta noto il numero <strong>di</strong> giornali venduti<br />
secondo sta<strong>di</strong>o: decisioni <strong>di</strong> ricorsione<br />
il vettore <strong>delle</strong> decisioni <strong>di</strong> ricorsione è composto <strong>di</strong> due elementi e precisamente<br />
u 11 ≡ giornali venduti al semaforo = min{x, D} e<br />
u 12 ≡ giornali rivenduti all’e<strong>di</strong>tore = max{0, x − D}.<br />
Riassumendo, il ven<strong>di</strong>tore deve decidere “here-and-now” quanti giornali x ∈ IR acquistare<br />
dall’e<strong>di</strong>tore non sapendo quanto varrà la domanda D nella mattinata. Tuttavia, quale che<br />
sia la realizzazione della v.a. D, egli reagirà all’osservazione della v.a. con una decisione<br />
<strong>di</strong> secondo sta<strong>di</strong>o o funzione <strong>di</strong> ricorsione u 1 (D) : Ω → IR 2 essendo (u 1 (D)) 1 il numero <strong>di</strong><br />
giornali venduti al semaforo e (u 1 (D)) 2 il numero <strong>di</strong> giornali rivenduti all’e<strong>di</strong>tore.<br />
Più on generale, in un modello stocastico a due sta<strong>di</strong> si in<strong>di</strong>ca con<br />
- x ∈ IR n1 il vettore <strong>delle</strong> decisioni <strong>di</strong> primo sta<strong>di</strong>o;<br />
- ω ∈ Ω la v.a. la cui realizzazione fa da margine tra primo e secondo sta<strong>di</strong>o;<br />
- y(ω) ∈ IR n2 il vettore <strong>delle</strong> decisioni <strong>di</strong> secondo sta<strong>di</strong>o.<br />
23
Il problema è dunque quello <strong>di</strong> risolvere<br />
min IE ω[f(x, y(ω))],<br />
x,y(ω)<br />
potendo f(x, y(ω)) essere una generica funzione (non lineare) e a valori sullo spazio esteso<br />
¯ IR. Poniamoci ora in un contesto lineare. In questo assetto alla decisione <strong>di</strong> primo sta<strong>di</strong>o x<br />
corrisponde un costo lineare c T x e dei vincoli lineari in forma standard Ax = b, x ≥ 0. Allo<br />
steso modo, alla decisione <strong>di</strong> secondo sta<strong>di</strong>o y(ω) corrisponderà un costo lineare q(ω) T y(ω)<br />
e dei vincoli lineari W(ω)y(ω) = h(ω) − T(ω)x, y(ω) ≥ 0. Il problema è dunque<br />
min c T x + IE ω [q(ω) T y(ω)]<br />
Ax = b, x ≥ 0<br />
W(ω)y(ω) = h(ω) − T(ω)x q.c.<br />
y(ω) ≥ 0 q.c.<br />
(6)<br />
ove le matrici W(ω) e T(ω) sono dette, rispettivamente, matrice <strong>di</strong> ricorsione e matrice della<br />
tecnologia. Se la matrice W non <strong>di</strong>pende dalla v.a. ω si parla <strong>di</strong> problema con ricorsione<br />
fissa.<br />
Notiamo che i vincoli <strong>di</strong> secondo sta<strong>di</strong>o <strong>di</strong>pendono dalla realizzazione della v.a. ω. Nel<br />
segu<strong>it</strong>o supporremo che tali vincoli siano sod<strong>di</strong>sfatti q.c. ovvero quasi certamente cioè che<br />
siano sod<strong>di</strong>sfatti per ogni ω ∈ Ω tranne che al più per ogni ω ∈ A con P ω (A) = 0 (ovvero A<br />
insieme con probabil<strong>it</strong>à nulla).<br />
Se pensiamo ad x e ω come parametri, ovvero ci poniamo nel secondo sta<strong>di</strong>o quando la<br />
decisione iniziale è stata presa e la v.a. si è realizzata, il problema che ci troviamo ad<br />
affrontare è il seguente:<br />
min q(ω) T y<br />
W(ω)y = h(ω) − T(ω)x<br />
y ≥ 0.<br />
Sia ora Q(x, ω) = inf{q(ω) T y : W(ω)y = h(ω) − T(ω)x, y ≥ 0} e Q(x) = IE ω [Q(x, ω)].<br />
Definiamo problema proiettato il seguente<br />
min c T x + Q(x)<br />
Ax = b, x ≥ 0<br />
ove, in pratica, è stata eliminata la <strong>di</strong>pendenza esplic<strong>it</strong>a dalla v.a. ω. Abbiamo ricorsione<br />
relativamente completa quando Q(x) assume valori fin<strong>it</strong>i per ogni x ∈ IR n1 tale che Ax = b<br />
e x ≥ 0. Diciamo, invece, che si ha ricorsione completa quando Q(x) assume valori fin<strong>it</strong>i per<br />
ogni x ∈ IR n1 .<br />
2.4 Esempi <strong>di</strong> modelli stocastici lineari a due sta<strong>di</strong><br />
2.4.1 Il problema dell’azienda agricola<br />
Una azienda agricola europea è specializzata nella coltivazione <strong>di</strong> grano, frumento e barbabietole<br />
da zucchero e nell’allevamento <strong>di</strong> mucche da latte. In totale l’azienda possiede 500<br />
acri <strong>di</strong> terra che possono essere utilizzati per i <strong>di</strong>versi tipi <strong>di</strong> coltivazione. È noto che ogni<br />
anno sono necessari per l’allevamento del bestiame almeno 200 Ton. <strong>di</strong> farina e 240 Ton. <strong>di</strong><br />
frumento. Naturalmente l’azienda può fare fronte a queste necess<strong>it</strong>a o con il proprio raccolto<br />
24
oppure acquistando da un grossista della zona. La produzione agricola dell’azienda oltre a<br />
servire per l’allevamento del bestiame può essere venduta sul mercato ad un prezzo <strong>di</strong> 170<br />
euro per una Ton. <strong>di</strong> farina e 150 euro per una Ton. <strong>di</strong> frumento. I prezzi <strong>di</strong> acquisto <strong>di</strong><br />
farina e frumento dal grossista sono maggiorati del 40% per via dei costi <strong>di</strong> trasporto che<br />
quest’ultimo deve sostenere. Per quanto riguarda la barbabietola, il prezzo <strong>di</strong> ven<strong>di</strong>ta è <strong>di</strong><br />
36 euro/Ton; tuttavia, la commissione europea ha imposto all’azienda una quota <strong>di</strong> produzione<br />
per le barbabietole <strong>di</strong> 6000 Ton. l’anno. La quant<strong>it</strong>à <strong>di</strong> barbabietola eventualmente<br />
prodotta oltre questa quota potrà essere venduta ad un prezzo ribassato e precisamente a<br />
10 euro/Ton.<br />
Basandosi sulla propria esperienza passata, l’azienda agricola sa che ogni acro <strong>di</strong> terra coltivato<br />
a frumento, grano o barbabietola frutta rispettivamente 2.5, 3 e 20 Ton. Per finire,<br />
per ogni acro <strong>di</strong> terra l’azienda deve sostenere dei costi <strong>di</strong> semina che sono <strong>di</strong> 150 euro, 230<br />
euro e 260 euro rispettivamente per grano, frumento e barbabietole. La tabella che segue<br />
riassume i dati fin qui esposti:<br />
Grano Frumento Barbabietole<br />
Raccolto (Ton./acri) 2.5 3 20<br />
Costo <strong>di</strong> semina (euro/acri) 150 230 260<br />
Prezzo <strong>di</strong> ven<strong>di</strong>ta (euro/Ton.) 170 150 36 sotto 6000 Ton.<br />
10 sopra 6000 Ton.<br />
Prezzo <strong>di</strong> acquisto (euro/Ton.) 238 210 –<br />
Richieste min. (Ton.) 200 240 –<br />
Per scegliere le migliore strategia <strong>di</strong> semina, l’azienda dovrebbe ricorrere al seguente modello<br />
lineare.<br />
Siano:<br />
x 1 = acri <strong>di</strong> terra piantati a grano;<br />
x 2 = acri <strong>di</strong> terra piantati a frumento;<br />
x 3 = acri <strong>di</strong> terra piantati a barbabietole;<br />
w 1 = ton. <strong>di</strong> grano venduto;<br />
y 1 = ton. <strong>di</strong> grano acquistato;<br />
w 2 = ton. <strong>di</strong> frumento venduto;<br />
y 2 = ton. <strong>di</strong> frumento acquistato;<br />
w 3 = ton. <strong>di</strong> barbabietole vendute a prezzo pieno;<br />
w 4 = ton. <strong>di</strong> barbabietole vendute a prezzo ribassato;<br />
25
Il problema da risolvere è il seguente:<br />
min 150x 1 + 230x 2 + 260x 3 + 238y 1 − 170w 1 +<br />
+210y 2 − 150w 2 − 36w 3 − 10w 4<br />
c.v. x 1 + x 2 + x 3 ≤ 500<br />
2.5x 1 + y 1 − w 1 ≥ 200<br />
3x 2 + y 2 − w 2 ≥ 240<br />
20x 3 − w 3 − w 4 ≥ 0<br />
w 3 ≤ 6000<br />
x i , y j , w h ≥ 0 i = 1, 2, 3, j = 1, 2, h = 1, 2, 3, 4.<br />
Risolvendo il problema precedente otteniamo la seguente soluzione ottima<br />
Coltivazione Grano Frumento Barbabietole<br />
x i 120 80 300<br />
Raccolto (Ton.) 300 240 6000<br />
w i 100 – 6000 (w 4 = 0)<br />
y i – –<br />
Prof<strong>it</strong>to complessivo: 118600 euro<br />
L’azienda agricola pur sod<strong>di</strong>sfatta da questa soluzione ottima sa perfettamente che <strong>di</strong> anno<br />
in anno e a par<strong>it</strong>à <strong>di</strong> seminato, i raccolti possono variare sensibilmente. in particolare non<br />
è usuale avere stagioni con raccolti che sono superiori o inferiori del 20% rispetto alle stime<br />
usate nel problema precedente. Più precisamente, nel caso <strong>di</strong> una stagione particolarmente<br />
buona ogni acro seminato a grano, frumento e barbabietole frutterà, rispettivamente, 3, 3.6<br />
e 24 Ton. <strong>di</strong> raccolto. Vice versa, nel caso <strong>di</strong> una stagione sotto la me<strong>di</strong>a ogni acro seminato<br />
a grano, frumento e barbabietole frutterà, rispettivamente, 2, 2.4 e 16 Ton. <strong>di</strong> raccolto.<br />
Possiamo a questo punto risolvere due ulteriori problemi <strong>di</strong> ottimizzazione corrispondenti<br />
agli scenari <strong>di</strong> stagione sopra e sotto la me<strong>di</strong>a e ottenere le seguenti soluzioni ottime:<br />
stagione sopra la me<strong>di</strong>a: raccolto + 20%<br />
Coltivazione Grano Frumento Barbabietole<br />
x i 183.33 66.67 250<br />
Raccolto (Ton.) 550 240 6000<br />
w i 350 – 6000 (w 4 = 0)<br />
y i – –<br />
Prof<strong>it</strong>to complessivo: 167667 euro<br />
26
stagione sotto la me<strong>di</strong>a: raccolto - 20%<br />
Coltivazione Grano Frumento Barbabietole<br />
x i 100 25 375<br />
Raccolto (Ton.) 200 60 6000<br />
w i – – 6000 (w 4 = 0)<br />
y i – 180<br />
Prof<strong>it</strong>to complessivo: 59950 euro<br />
Ragionando sul problema in esame è facile convincersi del fatto che la decisione sulle quant<strong>it</strong>à<br />
<strong>di</strong> terra da seminare con le <strong>di</strong>fferenti colture (x i , i = 1, 2, 3) deve essere presa prima <strong>di</strong><br />
conoscere l’es<strong>it</strong>o della stagione (se nella norma, sopra la me<strong>di</strong>a o sotto la me<strong>di</strong>a). Al contrario<br />
le quant<strong>it</strong>à da vendere e comprare dei <strong>di</strong>fferenti prodotti (y i , i = 1, 2 e w j , j = 1, 2, 3, 4)<br />
<strong>di</strong>pendono dal raccolto.<br />
Supponiamo <strong>di</strong> assegnare a ciascuno dei tre scenari <strong>di</strong>sponibili (sotto la me<strong>di</strong>a, in me<strong>di</strong>a e<br />
sopra la me<strong>di</strong>a) un in<strong>di</strong>ce s = 1, 2, 3 e definire le variabili w js , j = 1, 2, 3, 4 e y is , i = 1, 2<br />
dove, per esempio, w 32 rappresenta la quant<strong>it</strong>à <strong>di</strong> barbabietole vendute a prezzo pieno nel<br />
caso <strong>di</strong> un raccolto nella me<strong>di</strong>a.<br />
Se ipotiziamo che l’s-esimo scenario abbia probabil<strong>it</strong>a p s = 1/3 con ∑ 3<br />
s=1 p s = 1 allora<br />
possiamo scrivere il seguente problema<br />
min 150x 1 + 230x 2 + 260x 3 +<br />
+ 1 3 (238y 11 − 170w 11 + 210y 21 − 150w 21 − 36w 31 − 10w 41 )<br />
+ 1 3 (238y 12 − 170w 12 + 210y 22 − 150w 22 − 36w 32 − 10w 42 )<br />
+ 1 3 (238y 13 − 170w 13 + 210y 23 − 150w 23 − 36w 33 − 10w 43 )<br />
c.v. x 1 + x 2 + x 3 ≤ 500<br />
2x 1 + y 11 − w 11 ≥ 200<br />
2.4x 2 + y 21 − w 21 ≥ 240<br />
16x 3 − w 31 − w 41 ≥ 0<br />
w 31 ≤ 6000<br />
2.5x 1 + y 12 − w 12 ≥ 200<br />
3x 2 + y 22 − w 22 ≥ 240<br />
20x 3 − w 32 − w 42 ≥ 0<br />
w 32 ≤ 6000<br />
3x 1 + y 13 − w 13 ≥ 200<br />
3.6x 2 + y 23 − w 23 ≥ 240<br />
24x 3 − w 33 − w 43 ≥ 0<br />
w 33 ≤ 6000<br />
x i , y js , w hs ≥ 0 i = 1, 2, 3, j = 1, 2, h = 1, 2, 3, 4, s = 1, 2, 3.<br />
Risolvendo questo problema otteniamo la soluzione seguente:<br />
27
Grano Frumento Barbabietole<br />
x i 170 80 250<br />
s=1 Raccolto (Ton.) 340 192 4000<br />
w i1 140 0 w 31 = 4000,<br />
y i1 0 48<br />
w 41 = 0<br />
s=2 Raccolto (Ton.) 425 240 5000<br />
w i2 225 0 w 32 = 5000,<br />
y i2 0 0<br />
w 42 = 0<br />
s=3 Raccolto (Ton.) 510 288 6000<br />
w i3 310 48 w 33 = 6000,<br />
y i3 0 0<br />
Prof<strong>it</strong>to complessivo: 108390 euro<br />
w 43 = 0<br />
Notiamo che, a <strong>di</strong>fferenza <strong>di</strong> quanto accadeva nell’esempio del ven<strong>di</strong>tore <strong>di</strong> giornali, qui la<br />
v.a. ω non è <strong>di</strong>rettamente associata ad un valore numerico. La v.a. ω ha valori sull’insieme<br />
Ω = {ω 1 , ω 2 , ω 3 } con ω 1 = “stagione sopra la me<strong>di</strong>a”, ω 2 = “stagione nella me<strong>di</strong>a” e ω 3 =<br />
“stagione sotto la me<strong>di</strong>a”. Nel problema precedente, gli unici elementi che <strong>di</strong>pendono dalla<br />
v.a. ω sono gli elementi della matrice della tecnologia essendo<br />
⎛<br />
⎞<br />
T(ω) =<br />
⎜<br />
⎝<br />
t 11 (ω) 0 0<br />
0 t 22 (ω) 0<br />
0 0 t 33 (ω)<br />
⎟<br />
⎠ .<br />
2.4.2 Gestione degli investimenti per un impianto <strong>di</strong> <strong>di</strong>stribuzione<br />
elettrica<br />
Un ente per la <strong>di</strong>stribuzione <strong>di</strong> energia elettrica deve pianificare i propri investimenti in nuovi<br />
impianti <strong>di</strong> generazione per poter sod<strong>di</strong>sfare la domanda nazionale attuale e futura su un<br />
orizzonte temporale <strong>di</strong> 15 anni. I nuovi impianti devono essere costru<strong>it</strong>i all’inizio del primo<br />
anno e devono essere operativi per tutti i 15 anni dell’orizzonte <strong>di</strong> pianificazione. L’ente<br />
<strong>di</strong>spone <strong>di</strong> un budget b <strong>di</strong> 10 miliar<strong>di</strong> <strong>di</strong> euro che possono essere allocati per la costruzione<br />
<strong>di</strong> 4 <strong>di</strong>fferenti tipi <strong>di</strong> impianti <strong>di</strong> produzione e precisamente: impianto con turbine a gas,<br />
impianto a carbone, impianto nucleare e impianto idroelettrico. Il costo <strong>di</strong> costruzione <strong>di</strong><br />
ciascun tipo <strong>di</strong> impianto <strong>di</strong>pende dalla sua capac<strong>it</strong>à ovvero dalla massima potenza elettrica<br />
(in GW) erogabile dell’impianto stesso ed infatti, abbiamo i seguenti costi:<br />
Impianto mln. euro/GW <strong>di</strong> capac<strong>it</strong>à<br />
Gas 110<br />
Carbone 180<br />
Nucleare 450<br />
Idrico 950<br />
28
Inoltre, data la lim<strong>it</strong>ata <strong>di</strong>sponibil<strong>it</strong>à <strong>di</strong> corsi d’acqua utilizzabili per produrre elettric<strong>it</strong>à, un<br />
eventuale nuovo impianto idroelettrico non potrà avere una capac<strong>it</strong>à superiore a 5 GW.<br />
Oltre all’investimento iniziale per la costruzione, ciascun tipo <strong>di</strong> impianto comporta anche<br />
dei costi <strong>di</strong> esercizio (espressi in euro/KWh) come riportato nella tabella seguente in cui si<br />
riporta anche il costo per l’acquisto <strong>di</strong> un KWh <strong>di</strong> energia elettrica da un forn<strong>it</strong>ore estero.<br />
Impianto<br />
Gas<br />
Carbone<br />
costo <strong>di</strong> eser. euro/KWh<br />
ω G<br />
ω C<br />
Nucleare 0.0140<br />
Idrico 0.0040<br />
Acquisto 0.1500<br />
I costi per la produzione <strong>di</strong> un KWh <strong>di</strong> energia elettrica con impianto a gas e a carbone sono<br />
v.a. <strong>di</strong>screte in<strong>di</strong>pendenti con le seguenti <strong>di</strong>stribuzioni:<br />
ω G P(ω G ) ω C P(ω C )<br />
0.0310 0.1 0.0170 0.1<br />
0.0330 0.2 0.0210 0.2<br />
0.0390 0.4 0.0240 0.4<br />
0.0450 0.2 0.0290 0.2<br />
0.0490 0.1 0.0310 0.1<br />
Per pianificare al meglio i propri investimenti, l’ente si basa sulla conoscenza dell’andamento<br />
della richiesta <strong>di</strong> potenza elettrica per il primo anno. In particolare, sono stati in<strong>di</strong>viduati<br />
5 blocchi <strong>di</strong> consumo e per ciascuno <strong>di</strong> essi è nota la durata in ore (nell’anno) e la potenza<br />
richiesta (d ◦ j in GW) come riportato nella tabella che segue<br />
Blocco j d ◦ j (GW) Durata (ore)<br />
# 1 10.0 490<br />
# 2 8.4 730<br />
# 3 6.7 2190<br />
# 4 5.4 3260<br />
# 5 4.3 2090<br />
Così, è noto che, nel corso del primo anno, ci sarà una richiesta <strong>di</strong> 10 GW <strong>di</strong> potenza<br />
per un ammontare complessivo <strong>di</strong> 490 ore. La richiesta sarà <strong>di</strong> 8.4 GW per 730 ore, 6.7<br />
GW per 2190 e così via. Basandosi sui dati in suo possesso e grazie a <strong>delle</strong> approfon<strong>di</strong>te<br />
ricerche <strong>di</strong> mercato, l’ente ha stabil<strong>it</strong>o che nei prossimi 15 anni (periodo <strong>di</strong> pianificazione<br />
dell’investimento), si potranno verificare i seguenti trend <strong>di</strong> incremento/decremento <strong>delle</strong><br />
richieste <strong>di</strong> potenza elettrica:<br />
29
ω R P(ω R )<br />
-0.01 0.2<br />
0.01 0.2<br />
0.03 0.2<br />
0.05 0.2<br />
0.07 0.2<br />
È inoltre noto che le tre v.a. ω G , ω C e ω R sono in<strong>di</strong>pendenti tra <strong>di</strong> loro. Quin<strong>di</strong>, se in<strong>di</strong>chiamo<br />
con Ω G , Ω C e Ω R , rispettivamente, lo spazio <strong>di</strong> tutti i possibili eventi associati alle tre v.a.<br />
ω G , ω C e ω R , avremo che Ω = Ω G × Ω C × Ω R è lo spazio degli scenari possibili che sono<br />
complessivamente pari a |Ω G × Ω C × Ω R | = 5 × 5 × 5 = 125. Pertanto, ogni scenario<br />
ω = (ω G , ω C , ω R ) ∈ Ω ha una probabil<strong>it</strong>à data dal prodotto <strong>delle</strong> probabil<strong>it</strong>à dei singoli<br />
eventi cioè: P(ω) = P(ω G )P(ω C )P(ω R ).<br />
In<strong>di</strong>chiamo con:<br />
- x i , i = 1, 2, 3, 4, la capac<strong>it</strong>à (in GW) dei nuovi impianti, rispettivamente, a Gas, a<br />
Carbone, Nucleare e Idroelettrico.<br />
- c i , i = 1, 2, 3, 4, i costi <strong>di</strong> costruzione (in milioni <strong>di</strong> euro/GW) associati ai 4 <strong>di</strong>fferenti<br />
tipi <strong>di</strong> impianto.<br />
- y ijk (ω), i = 1, . . .,5, j = 1, . . .,5 e k = 1, . . .,5, la frazione <strong>di</strong> capac<strong>it</strong>à elettrica<br />
(in GW) utilizzata per produrre elettric<strong>it</strong>à con impianto <strong>di</strong> tipo i, per il blocco <strong>di</strong><br />
richiesta j nell’anno k. Notiamo che, quando i = 5, y 5jk in<strong>di</strong>cherà la quant<strong>it</strong>à <strong>di</strong><br />
elettric<strong>it</strong>à acquistata da un forn<strong>it</strong>ore estero per sod<strong>di</strong>sfare la domanda nel blocco j<br />
dell’anno k. Queste variabili sono, in realtà funzioni della v.a. ω.<br />
- q 1 (ω), q 2 (ω), q 3 , q 4 , q 5 , i costi <strong>di</strong> esercizio (in euro/KWh), rispettivamente, <strong>di</strong> impianti a<br />
Gas, Carbone, Nucleare, Idroelettrico e per l’acquisto da un forn<strong>it</strong>ore estero. Notiamo<br />
che i primi due costi <strong>di</strong>pendono dalle realizzazioni della v.a. ω ∈ Ω.<br />
- h j , j = 1, 2, 3, 4, 5, la durata (in ore) <strong>di</strong> ciascun blocco <strong>di</strong> consumo.<br />
- D jk (ω), j = 1, . . .,5 e k = 1, . . .,15, la potenza richiesta (in GW) nel blocco j dell’anno<br />
k. In particolare, vale la relazione D jk (ω) = d ◦ j (1 + (k − 1)ω R), per ogni j = 1, . . .,5 e<br />
k = 1, . . .,15, dove d ◦ j in<strong>di</strong>ca la richiesta nel primo anno per i vari blocchi <strong>di</strong> domanda.<br />
Le informazioni sulle quant<strong>it</strong>à D jk (ω) possono essere così riassunte:<br />
j ω R D j1(ω) D j2(ω) ... D j14(ω) D j15(ω)<br />
1 -0.1 10 9.9 ... 8.7 8.6<br />
1 0.1 10 10.1 ... 11.3 11.4<br />
1 0.3 10 10.3 ... 13.9 14.2<br />
1 0.5 10 10.5 ... 16.5 17.0<br />
1 0.7 10 10.7 ... 19.1 19.8<br />
.<br />
.<br />
.<br />
. · · ·<br />
.<br />
.<br />
5 -0.1 4.3 4.257 ... 3.741 3.698<br />
5 0.1 4.3 4.343 ... 4.859 4.902<br />
5 0.3 4.3 4.429 ... 5.977 6.106<br />
5 0.5 4.3 4.515 ... 7.095 7.31<br />
5 0.7 4.3 4.601 ... 8.213 8.514<br />
30
Riassumendo, otteniamo il seguente problema <strong>di</strong> programmazione stocastica lineare a due<br />
sta<strong>di</strong>.<br />
⎡<br />
⎤<br />
5∑ 5∑ ∑15<br />
c T x + IE ω<br />
⎣ q i (ω)h j y ijk (ω) ⎦<br />
min<br />
x,y<br />
c T x ≤ 10000<br />
x 4 ≤ 5.0<br />
x ≥ 0<br />
i=1 j=1 k=1<br />
y ijk (ω) ≤ x i , j = 1, . . .,5, k = 1, . . . , 15, i = 1, . . .,4,<br />
5∑<br />
y ijk (ω) ≥ D jk (ω), j = 1, . . .,5, k = 1, . . . , 15<br />
i=1<br />
y ijk (ω) ≥ 0, j = 1, . . .,5, k = 1, . . . , 15, i = 1, . . .,5.<br />
Risolvendo il problema, otteniamo il seguente piano <strong>di</strong> investimenti, in termini <strong>di</strong> capac<strong>it</strong>à<br />
installate (variabili x i , i = 1, . . .,4):<br />
Impianto i Capac<strong>it</strong>à x i<br />
Gas 1 3.366 GW<br />
Carbone 2 3.953 GW<br />
Nucleare 3 4.313 GW<br />
Idrico 4 5.000 GW<br />
Il costo atteso complessivo del piano <strong>di</strong> investimento all’ottimo è pari a 15828.81856 milioni<br />
<strong>di</strong> euro. Il piano <strong>di</strong> investimenti ottimo prevede, tra l’altro, che, date le installazioni ottime<br />
<strong>di</strong> capac<strong>it</strong>à x ⋆ come riportate nella tabella che precede, un trend <strong>di</strong> cresc<strong>it</strong>a della domanda<br />
del 7% e i costi operativi <strong>delle</strong> centrali a gas e carbone rispettivamente <strong>di</strong> 3.9 e 2.4 eurocent<br />
per KWh, le potenze erogate dai singoli impianti nel 15 anno siano pari a (y ij15 (ω) per<br />
i = 1, . . .,5, j = 1, . . .,5 e dove ω = (ω G , ω C , ω R ) con ω G = 0.039, ω C = 0.024 e ω R = 0.07).<br />
Impianto<br />
Blocco <strong>di</strong> domanda<br />
1 2 3 4 5<br />
Gas 3.366 3.366 0.469 0 0<br />
Carbone 3.953 3.953 3.953 1.757 0<br />
Nucleare 4.313 4.313 4.313 4.313 3.815<br />
Idrico 5 5 5 5 5<br />
Forn<strong>it</strong>ore 3.868 0.588 0 0 0<br />
2.5 Programmazione stocastica lineare a due sta<strong>di</strong> con<br />
ricorsione fissa<br />
Consideriamo nuovamente il problema (6) ove W(ω) = W ovvero<br />
min c T x + IE ω [q(ω) T y(ω)]<br />
Ax = b, x ≥ 0<br />
Wy(ω) = h(ω) − T(ω)x q.c.<br />
y(ω) ≥ 0 q.c.<br />
31
oppure, equivalentemente, il problema proiettato<br />
min c T x + IE ω [Q(x, ω)]<br />
Ax = b, x ≥ 0<br />
(7)<br />
dove<br />
Q(x, ω) = inf<br />
q T y<br />
Wy = h − Tx<br />
y ≥ 0.<br />
(8)<br />
Sia Q(x) = IE ω [Q(x, ω)] la così detta funzione <strong>di</strong> ricorsione me<strong>di</strong>ante la quale possiamo<br />
scrivere, come gia visto, il problema proiettato seguente<br />
min c T x + Q(x)<br />
Ax = b, x ≥ 0.<br />
(9)<br />
2.5.1 Esempio: il problema del ven<strong>di</strong>tore <strong>di</strong> giornali<br />
Consideriamo nuovamente l’esempio visto in sezione 2.1.4. Come gia abbiamo visto, il<br />
problema del ven<strong>di</strong>tore <strong>di</strong> giornali può essere formulato come problema <strong>di</strong> programmazione<br />
stocastica lineare a due sta<strong>di</strong> con risorsione fissa. La s<strong>it</strong>uazione del ven<strong>di</strong>tore è infatti la<br />
seguente<br />
x ∈ IR<br />
D ∈ Ω<br />
y ∈ IR 2<br />
primo sta<strong>di</strong>o: decisione sul numero <strong>di</strong> giornali da acquistare<br />
osservazione: <strong>di</strong>venta noto il numero <strong>di</strong> giornali venduti<br />
secondo sta<strong>di</strong>o: decisioni <strong>di</strong> ricorsione<br />
In particolare, una volta acquistati gli x giornali dall’e<strong>di</strong>tore e avvenuta la realizzazione della<br />
v.a. D, il ven<strong>di</strong>tore adotterà le decisioni <strong>di</strong> secondo sta<strong>di</strong>o ovvero deciderà quanti giornali<br />
vendere al semaforo e quanti rivenderne all’e<strong>di</strong>tore a fine mattinata. Il problema è quin<strong>di</strong><br />
min x<br />
c T x + Q(x)<br />
x ≥ 0,<br />
con Q(x) = IE D [Q(x, D)] e<br />
Q(x, D) =<br />
inf −sy 1 − ry 2<br />
y<br />
y 1 + y 2 = x<br />
y 1 ≤ D<br />
y 1 , y 2 ≥ 0.<br />
La regione ammissibile del problema primale, vale a <strong>di</strong>re l’insieme Y (h − Tx), è sempre non<br />
vuota e anzi il problema primale ammette sempre soluzione ottima (qualunque sia il valore<br />
<strong>di</strong> x e D) pari a<br />
⎧ ( )<br />
x<br />
se x ≤ D<br />
( )<br />
y<br />
⋆<br />
⎪⎨ D − x<br />
1<br />
=<br />
y2<br />
⋆ ( )<br />
D<br />
⎪⎩<br />
se x > D<br />
x − D<br />
32
Ricordando che, nell’esempio in esame T = (−1, 0) T , abbiamo che il sub<strong>di</strong>fferenziale ∂Q(x, D)<br />
contiene il subgra<strong>di</strong>ente −s se −sx = −sy ⋆ 1 − ry⋆ 2 e −r se −rx − D(s − r) = −sy⋆ 1 − ry⋆ 2 o<br />
entrambi se −rx −D(s −r) = −sx. Percui, se vogliamo stabilire come è fatto il sub<strong>di</strong>fferenziale<br />
∂Q(x, D) quando x = D = 30 e s = 1.8, c = 1.6 e r = 0.8, allora dobbiamo confrontare<br />
il valore Q(30, 30) = −30s con i valori all’ottimo della funzione obiettivo duale ovvero −30s<br />
e −30r − 30(s − r) = −30s. Pertanto<br />
∂Q(30, 30) = conv{−s, −r},<br />
ovvero il sub<strong>di</strong>fferenziale contiene i subgra<strong>di</strong>enti −s e −r e tutte le loro combinazioni<br />
convesse.<br />
Ovviamente, potranno esistere valori <strong>di</strong> x e D per cui la funzione Q(x, D) è <strong>di</strong>fferenziabile<br />
ovvero per cui il sub<strong>di</strong>fferenziale si riduce ad un singleton contenente come suo unico elemento<br />
il gra<strong>di</strong>ente ∇Q(x, D). Per esempio, se consideriamo per D = 30 il punto x = 40,<br />
abbiamo che Q(40, 30) = −30s − 10r = −40r − 30(s − r), pertanto,<br />
∂Q(40, 30) = {∇Q(40, 30)} = {−r}.<br />
2.6 In<strong>di</strong>catori <strong>di</strong> vali<strong>di</strong>tà e atten<strong>di</strong>bil<strong>it</strong>à della Programmazione<br />
Stocastica<br />
Come gia abbiamo avuto modo <strong>di</strong> osservare in precedenza, risolvere un problema <strong>di</strong> programmazione<br />
stocastica è, in taluni casi, equivalente alla soluzione <strong>di</strong> un problema <strong>di</strong> gran<strong>di</strong><br />
<strong>di</strong>mensioni cioè con un elevato numero <strong>di</strong> variabili e/o <strong>di</strong> vincoli. Pertanto, in generale,<br />
determinare la soluzione <strong>di</strong> un problema <strong>di</strong> programmazione stocastica lineare è molto costoso.<br />
Ha quin<strong>di</strong> senso chiedersi quando e quanto sia conveniente abbandonare il problema<br />
stocastico e risolvere, invece, un problema più semplice. In particolare, è lec<strong>it</strong>o chiedersi<br />
in che misura approcci più semplici al problema, come per esempio quello che prevede <strong>di</strong><br />
sost<strong>it</strong>uire alla v.a. il suo valor me<strong>di</strong>o, forniscano soluzioni che si <strong>di</strong>scostano dall’ottimo o<br />
fine a che punto questi approcci “alternativi” non siano completamente inaccurati.<br />
Una risposta a queste domande può essere forn<strong>it</strong>a da due importanti in<strong>di</strong>catori <strong>di</strong> bontà<br />
dell’approccio stocastico che sono:<br />
1. l’EVPI (Expected Value of Perfect Information) ovvero il valore atteso in con<strong>di</strong>zioni<br />
<strong>di</strong> informazione completa e,<br />
2. l’VSS (Value of Stochastic Solution) ovvero il valore della soluzione stocastica.<br />
Al fine <strong>di</strong> definire chiaramente questi due importanti in<strong>di</strong>catori, introduciamo brevemente<br />
alcune definizioni che ci faranno comodo nel segu<strong>it</strong>o.<br />
Sia ω ∈ Ω una v.a. <strong>di</strong>screta ovvero che può avere solo un numero fin<strong>it</strong>o N <strong>di</strong> realizzazioni<br />
ω 1 , . . . , ω N . Sia f(x ⋆ (ω i ), ω i ) il valore ottimo del problema <strong>di</strong> programmazione stocastica<br />
quando si fissa la v.a. ω al valore ω i , i = 1, . . .,N. Percui, data una realizzazione ω i<br />
della v.a. ω ∈ Ω, associamo ad essa il valore all’ottimo del corrispondente problema <strong>di</strong><br />
programmazione matematica f(x ⋆ (ω i ), ω i ). f(x ⋆ (ω), ω) è pertanto una v.a. composta per<br />
cui è possibile definire il valore atteso. Infatti, definiamo soluzione wa<strong>it</strong>-and-see<br />
WS = IE ω [f(x ⋆ (ω), ω)],<br />
il valore atteso della v.a. f(x ⋆ (ω), ω). Definiamo, invece, soluzione here-and-now come il<br />
valore della soluzione del problema <strong>di</strong> programmazione stocastica<br />
HN = min IE ω [f(x, ω)].<br />
x<br />
33
A questo punto, definiamo l’EVPI (valore atteso in con<strong>di</strong>zioni <strong>di</strong> informazione completa)<br />
come<br />
EV PI = HN − WS.<br />
Nel caso dell’esempio del ven<strong>di</strong>tore <strong>di</strong> giornali, abbiamo che, come risulta dalla tebella che<br />
segue, WS = −10.57142<br />
Risulta, inoltre, x ⋆ = 40,<br />
Q(x ⋆ ) = −1.8D 1 − 0.8(x ⋆ − D 1 )<br />
7<br />
i p i D i x ⋆ (D i ) f(x ⋆ (D i ), D i )<br />
1 1/7 30 30 -6<br />
2 2/7 40 40 -8<br />
3 2/7 50 50 -10<br />
4 1/7 60 60 -12<br />
5 1/7 100 100 -20<br />
− 6 1.8x⋆<br />
7<br />
e quin<strong>di</strong> HN = 1.6x ⋆ + Q(x ⋆ ) = −6.57142. Otteniamo così EV PI = 4. Questo valore è<br />
pari alla quant<strong>it</strong>à <strong>di</strong> euro che il ven<strong>di</strong>tore sarebbe <strong>di</strong>sposto a pagare ogni mattina pur <strong>di</strong><br />
sapere quanti giornali potrà vendere al semaforo.<br />
Quando ci si trova a dover risolvere un problema <strong>di</strong> ottimizzazione con incertezza, molto<br />
spesso si r<strong>it</strong>iene <strong>di</strong> poter ottenere una buona approssimazione della soluzione ottima semplicemente<br />
risolvendo il problema<br />
EV = min f(x, ¯ω),<br />
x<br />
dove si è sost<strong>it</strong>u<strong>it</strong>a la v.a. ω con il suo valore atteso ¯ω = IE ω [ω]. La soluzione <strong>di</strong> questo<br />
problema è nota come soluzione EV (expected value) ovvero soluzione <strong>di</strong> valor me<strong>di</strong>o. L’in<strong>di</strong>catore<br />
VSS è quello che ci <strong>di</strong>ce quanto la soluzione EV sia lontana dall’essere ottima per il<br />
problema <strong>di</strong> programmazione stocastica. In particolare, una volta nota la soluzione ottima<br />
x ⋆ (¯ω) del problema EV, definiamo<br />
EEV = IE ω [f(x ⋆ (¯ω), ω)] = c T x ⋆ (¯ω) + Q(x ⋆ (¯ω))<br />
ovvero il valore atteso quando si usa la soluzione <strong>di</strong> valor me<strong>di</strong>o. Il VSS è defin<strong>it</strong>o come<br />
V SS = EEV − HN.<br />
Di nuovo, nel caso del ven<strong>di</strong>tore <strong>di</strong> giornali, abbiamo che x ⋆ ( ¯D) = 370/7 e EV = −10.57142.<br />
Come risulta dalla tabella che segue abbiamo<br />
i p i D i cx ⋆ ( ¯D) + Q(x ⋆ ( ¯D), D i ) f(x ⋆ ( ¯D), D i )<br />
1 1/7 30 1.6x ⋆ ( ¯D) − 1.8D 1 − 0.8(x ⋆ ( ¯D) − D 1 ) 12.28571<br />
2 2/7 40 1.6x ⋆ ( ¯D) − 1.8D 2 − 0.8(x ⋆ ( ¯D) − D 2 ) 2.28571<br />
3 2/7 50 1.6x ⋆ ( ¯D) − 1.8D 3 − 0.8(x ⋆ ( ¯D) − D 3 ) -7.71429<br />
4 1/7 60 1.6x ⋆ ( ¯D) − 1.8x ⋆ ( ¯D) -10.57143<br />
5 1/7 100 1.6x ⋆ ( ¯D) − 1.8x ⋆ ( ¯D) -10.57143<br />
34
EEV = IE D [f(x ⋆ ( ¯D), D)] = −2.81634 e quin<strong>di</strong> V SS = 3.75508 che ci <strong>di</strong>ce esattamente <strong>di</strong><br />
quanto la soluzione del problema EV si <strong>di</strong>scosta dalla soluzione HN.<br />
Consideriamo ora l’esempio dell’azienda agricola. Come gia abbiamo visto, in questo caso<br />
HN = −108390. Calcoliamo ora WS. Nel caso in cui ω = ω 1 (stagione sotto la me<strong>di</strong>a),<br />
risulta z(x(ω 1 ), ω 1 ) = −59950; quando ω = ω 2 (stagione nella me<strong>di</strong>a), z(x(ω 2 ), ω 2 ) =<br />
−118600; quando ω = ω 3 (stagione sopra la me<strong>di</strong>a), z(x(ω 3 ), ω 3 ) = −167667; cosicche<br />
WS = z(x(ω 1 ), ω 1 )/3 + z(x(ω 2 ), ω 2 )/3 + z(x(ω 3 ), ω 3 )/3 = −115405.56. Quin<strong>di</strong> otteniamo<br />
EV PI = HN − WS = 7015.6<br />
il che significa che l’azienda sarebbe <strong>di</strong>sposta a pagare 7015.6 euro ogni anno per poter<br />
conoscere quale sarà l’andamento della stagione.<br />
Calcoliamo ora l’EV dell’esempio dell’azienda agricola che otteniamo semplicemente risolvendo<br />
il problema in cui si è fissata la v.a. al suo valor me<strong>di</strong>o il che, ovviamente, equivale a risolvere<br />
il problema nel caso <strong>di</strong> stagione nella me<strong>di</strong>a per cui otteniamo x(¯ω) = (120, 80, 300) T .<br />
Possiamo ora calcolare l’EEV che risulta EEV = −107240 per cui otteniamo<br />
V SS = EEV − HN = 1150.<br />
2.7 Richiami sulle funzioni convesse<br />
In<strong>di</strong>chiamo con IR ¯ e IR ¯ gli insiemi estesi IR ∪ {+∞} e IR ∪ {−∞, +∞}, rispettivamente. Sia<br />
f : S → IR ¯ con S ⊆ IR n . L’insieme<br />
{(x, µ) : x ∈ S, µ ∈ IR, f(x) ≤ µ}<br />
è detto epigrafo <strong>di</strong> f ed è in<strong>di</strong>cato epi f. Diciamo che f è una funzione convessa su S se<br />
epi f è un sottoinsieme convesso <strong>di</strong> IR n+1 . Il dominio effettivo della funzione f su S è la<br />
proiezione su IR n dell’epigrafo <strong>di</strong> f ovvero<br />
dom f = {x : ∃µ, (x, µ) ∈ epi f} = {x : f(x) < +∞}.<br />
Notiamo che data una funzione f su S convessa, è sempre possibile ottenere una funzione<br />
f ′ defin<strong>it</strong>a su IR n e ancora convessa. Per fare questo è sufficiente considerare la funzione<br />
{<br />
f(x) se x ∈ S,<br />
f ′ (x) =<br />
+∞ se x ∉ S.<br />
Dal momento che le funzioni che stiamo calcolando hanno valori nello spazio esteso ¯ IR, è<br />
necessario fornire <strong>delle</strong> regole che specifichino il risultato <strong>delle</strong> operazioni ar<strong>it</strong>metiche fondamentali<br />
quando sono coinvolti i simboli +∞ o −∞. In particolare, adotteremo le seguenti<br />
regole:<br />
1. α + ∞ = ∞ + α = ∞ per ogni −∞ < α ≤ ∞;<br />
2. α − ∞ = −∞ + α = −∞ per ogni −∞ ≤ α < ∞;<br />
3. α∞ = ∞α = ∞, α(−∞) = (−∞)α = −∞ per ogni 0 < α ≤ ∞;<br />
4. α∞ = ∞α = −∞, α(−∞) = (−∞)α = ∞ per ogni −∞ ≤ α < 0;<br />
5. 0∞ = ∞0 = 0 = 0(−∞) = (−∞)0, −(−∞) = ∞;<br />
6. ∞ − ∞ = −∞ + ∞ = ∞;<br />
35
7. inf ∅ = +∞, sup ∅ = −∞.<br />
Una funzione convessa f è detta propria se f(x) < +∞ per almeno un x e f(x) > −∞ per<br />
ogni x. Una funzione convessa che non è propria è detta impropria. In particolare se f è<br />
una funzione convessa fin<strong>it</strong>a defin<strong>it</strong>a sull’insieme convesso C, la funzione f ′ defin<strong>it</strong>a su tutto<br />
IR n {<br />
f(x) se x ∈ C,<br />
f ′ (x) =<br />
+∞ se x ∉ C.<br />
è una funzione convessa e propria.<br />
Proposizione 2.7.1 Sia f : C → ¯ IR, dove C ⊆ IR n . f è una funzione convessa su C se e<br />
solo se<br />
1. C è un insieme convesso;<br />
2. comunque scelti x, y ∈ C risulta<br />
f((1 − λ)x + λy) ≤ (1 − λ)f(x) + λf(y), 0 < λ < 1.<br />
Proposizione 2.7.2 Sia f : IR n → ¯ IR. f è una funzione convessa se e solo se comunque<br />
presi due punti x, y ∈ IR n per cui esistono due scalari α, β < +∞ tali che f(x) < α e<br />
f(y) < β allora<br />
f((1 − λ)x + λy) < (1 − λ)α + λβ, 0 < λ < 1.<br />
Proposizione 2.7.3 (Disuguaglianza <strong>di</strong> Jensen) Sia f : IR n → ¯ IR. Allora f è convessa<br />
se e solo se<br />
f(λ 1 x 1 + · · · + λ m x m ) ≤ λ 1 f(x 1 ) + · · · + λ m f(x m ),<br />
comunque scelti i vettori x i ∈ IR n , i = 1, . . . , m, dove gli scalari λ i sono tali che λ i ≥ 0,<br />
i = 1, . . .,m e<br />
m∑<br />
λ i = 1.<br />
i=1<br />
2.8 Definizioni<br />
Dato S ⊂ IR n , <strong>di</strong>ciamo che S è un insieme convesso quando, comunque presi due punti<br />
x, y ∈ S, risulta, per ogni scalare λ ∈ [0, 1]<br />
λx + (1 − λ)y ∈ S.<br />
Sia S ⊂ IR n un insieme convesso. Diciamo che la funzione f : IR n → IR è convessa su<br />
S quando, comunque presi due punti x, y ∈ S, risulta, per ogni scalare λ ∈ [0, 1]<br />
f(λx + (1 − λ)y) ≤ λf(x) + (1 − λ)f(y).<br />
36
Data una funzione f : IR n → IR convessa sul’insieme convesso X e un punto x o ∈ X,<br />
<strong>di</strong>ciamo che un vettore η ∈ IR n è un subgra<strong>di</strong>ente <strong>di</strong> f(x) in x o quando:<br />
f(x) ≥ f(x o ) + η T (x − x o ), ∀ x ∈ X.<br />
Data una funzione f : IR n → IR convessa sul’insieme convesso X e un punto x o ∈ X,<br />
definiamo il sub<strong>di</strong>fferenziale <strong>di</strong> f(x) in x o come segue:<br />
∂f(x o ) = conv{η ∈ IR n : f(x) ≥ f(x o ) + η T (x − x o ),<br />
∀ x ∈ X}.<br />
Una funzione f(x) si <strong>di</strong>ce pos<strong>it</strong>ivamente omogenea quando, comunque preso uno scalare<br />
λ ≥ 0, risulta f(λx) = λf(x).<br />
Sia S ⊂ IR n un insieme convesso. Definiamo funzione <strong>di</strong> supporto dell’insieme S la<br />
funzione σ S : IR n → IR<br />
σ S (x) = sup x T y.<br />
y∈S<br />
37
In<strong>di</strong>ce<br />
1 Programmazione Multiobiettivo 1<br />
1.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1<br />
1.2 Ottimal<strong>it</strong>à secondo Pareto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2<br />
1.2.1 Esercizio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4<br />
1.3 Con<strong>di</strong>zioni <strong>di</strong> Ottimal<strong>it</strong>à . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5<br />
1.3.1 Con<strong>di</strong>zioni <strong>di</strong> Fr<strong>it</strong>z-John . . . . . . . . . . . . . . . . . . . . . . . . . . 6<br />
1.3.2 Con<strong>di</strong>zioni <strong>di</strong> Karush-Kuhn-Tucker . . . . . . . . . . . . . . . . . . . . 7<br />
1.4 Meto<strong>di</strong> <strong>di</strong> Soluzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8<br />
1.4.1 Meto<strong>di</strong> Senza Preferenze . . . . . . . . . . . . . . . . . . . . . . . . . . 8<br />
1.4.2 Meto<strong>di</strong> a Posteriori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11<br />
2 Programmazione con Incertezza 13<br />
2.1 Nozioni preliminari . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13<br />
2.1.1 Formulazione deterministica . . . . . . . . . . . . . . . . . . . . . . . . 14<br />
2.1.2 Osservazione e ottimizzazione . . . . . . . . . . . . . . . . . . . . . . . 14<br />
2.1.3 <strong>Ottimizzazione</strong> e osservazione . . . . . . . . . . . . . . . . . . . . . . . 14<br />
2.1.4 Esempio: il problema del ven<strong>di</strong>tore <strong>di</strong> giornali . . . . . . . . . . . . . . 15<br />
2.2 Fondamenti <strong>di</strong> Programmazione Stocastica . . . . . . . . . . . . . . . . . . . 19<br />
2.2.1 Esempio: financial planning and control . . . . . . . . . . . . . . . . . 20<br />
2.3 Programmazione Stocastica lineare a due sta<strong>di</strong> . . . . . . . . . . . . . . . . . 23<br />
2.4 Esempi <strong>di</strong> modelli stocastici lineari a due sta<strong>di</strong> . . . . . . . . . . . . . . . . . 24<br />
2.4.1 Il problema dell’azienda agricola . . . . . . . . . . . . . . . . . . . . . 24<br />
2.4.2 Gestione degli investimenti per un impianto <strong>di</strong> <strong>di</strong>stribuzione elettrica . 28<br />
2.5 Programmazione stocastica lineare a due sta<strong>di</strong> con ricorsione fissa . . . . . . 31<br />
2.5.1 Esempio: il problema del ven<strong>di</strong>tore <strong>di</strong> giornali . . . . . . . . . . . . . . 32<br />
2.6 In<strong>di</strong>catori <strong>di</strong> vali<strong>di</strong>tà e atten<strong>di</strong>bil<strong>it</strong>à della Programmazione Stocastica . . . . . 33<br />
2.7 Richiami sulle funzioni convesse . . . . . . . . . . . . . . . . . . . . . . . . . . 35<br />
2.8 Definizioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36<br />
38
Bibliografia<br />
[1] M.S. Bazaraa, H.D. Sherali, C.M. Shetty, “Nonlinear Programming: Theory and<br />
Algor<strong>it</strong>hms”, Wiley, New York, 1979.<br />
[2] J.R. Birge, F. Louveaux, “Introduction to Stochastic Programming”, Springer Series in<br />
Operations Research and Financial Engineering, Springer, Berlin, 1997.<br />
[3] K. Miettinen, “Nonlinear Multiobjective Optimization”, Kluwer Academic Publishers,<br />
Boston, 1999.<br />
[4] V. Pareto, “Cours d’economie Pol<strong>it</strong>ique”, Rouge, Lausanne, Sw<strong>it</strong>zerland, 1896.<br />
39