17.01.2014 Views

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

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!