Interpretazione economica della dualit`a

Transcript

Interpretazione economica della dualit`a
Interpretazione economica della dualità
I
Interpretazione economica delle variabili duali
I
Interpretazione economica del problema duale nei problemi di
allocazione risorse e miscelazione
I
Applicazioni della dualità alla teoria dei giochi
BT 4.3; Fi 4.4
Interpretazione economica delle variabili duali
Consideriamo un problema {min cT x : Ax = b, x ≥ 0} e sia x∗
una soluzione ottima non degenere, associata alla base B.
Supponiamo di perturbare il vettore dei termini noti sostituendo b
con b + d. Allora:
I
essendo B non degenere si ha xB = B−1 b > 0, ma allora
anche xB = B−1 (b + d) > 0 per d ”piccolo”; quindi, per d
sufficientemente piccolo B è ancora una base ammissibile
I
essendo B ottima si ha cT − cTB B−1 A ≥ 0 e ciò non cambia
dopo la perturbazione; quindi B è ancora una base ottima
Interpretazione economica delle variabili duali
I
quindi, il costo ottimo del problema perturbato è
cTB B−1 (b + d) = pT (b + d)
in cui p è una soluzione ottima duale
I
di conseguenza, se l’i-mo requisito varia di di , il costo
complessivo varia di pi di , quindi pi può essere interpretato
come il suo costo marginale
Allocazione di risorse: produrre o vendere?
Consideriamo un modello a risorse condivise: x1 , . . . , xn quantità
da produrre di ciascun prodotto. Come sempre, detto cj il prezzo a
cui vendiamo il prodotto j, il nostro obiettivo è massimizzare il
ricavo dalle vendite:
max c1 x1 + . . . + cn xn
a11 x1 + . . . + a1n xn ≤ b1
a21 x1 + . . . + a2n xn ≤ b2
..
..
..
.
···
.
.
am1 x1 + . . . + amn xn ≤ bm
xj ≥ 0, j = 1, . . . , n
Allocazione di risorse: produrre o vendere?
Supponiamo che un acquirente sia interessato a comprare le nostre
risorse, al prezzo pi per la risorsa i. Il ricavo dalla vendita diretta
delle risorse è quindi:
b1 p1 + . . . + bm pm
quantità che l’acquirente cerca di minimizzare.
D’altro canto, tale opzione suscita il nostro interesse solo se
ricaviamo almeno quanto quello che otterremmo utilizzando le
risorse per produrre e vendendo il prodotto.
Più precesamente, per ogni prodotto j, il ricavo che avremmo
vendendo le risorse necessarie a produrre una sua unità deve
superare il prezzo cj :
a1j p1 + . . . + amj pm ≥ cj
L’acquirente risolve il problema duale
Decidere i prezzi di acquisto per le risorse in modo che l’offerta sia
conveniente per noi (altrimenti rifiuteremmo) ma spendendo il
meno possibile.
min b1 p1 + . . . + bm pm
a11 p1 + . . . + am1 pm ≥ c1
..
..
..
.
···
.
.
a1n p1 + . . . + amn pm ≥ cn
pi ≥ 0, i = 1, . . . , m
Dualità debole =⇒ una qualunque offerta concorrenziale ci
farebbe guadagnare non meno che vendere i prodotti
Dualità forte =⇒ all’ottimo le alternative si equivalgono
Il problema della dieta
Un nutrizionista deve programmare la dieta per una squadra
sportiva, in modo da garantire un certo apporto bi di ciascuno dei
nutrienti fondamentali (zuccheri, grassi, proteine, etc.).
Per ciascun alimento j sul mercato è noto
I
il costo unitario cj
I
la qtità aij di nutriente i contenuta in una unità di j
Determinare una dieta (qtità xj di alimento ∀j) di costo minimo
z ∗ = min
n
X
cj xj
j=1
n
X
aij xj ≥ bi ,
i = 1, . . . , m
j=1
xj ≥ 0,
j = 1, . . . , n
(1)
Esempio
Alimento
Eur/Kg
pasta
carne
uova
latte
dose giornaliera
2
18
5
6
Zuccheri
g/Kg
300
0
0
70
90
Grassi
g/Kg
0
110
300
360
70
Proteine
g/Kg
1
400
280
10
50
Vitamine
g/Kg
12
30
50
4
7
Il problema del produttore di integratori alimentari
Un’azienda farmaceutica produce ”direttamente” i nutrienti e deve
decidere il loro prezzo di immissione sul mercato. I suoi prodotti
rappresentano alternative per il nutrizionista agli alimenti
tradizionali.
Possiamo stimare il ricavo massimo dell’azienda?
Se i prezzi pi dei nutrienti fossero troppo elevati, il nutrizionista
non sarebbe incentivato ad acquistarli: se il prezzo di ”sintesi” di
un alimento j attraverso i suoi nutrienti fosse superiore al suo
prezzo di acquisto, il nutrizionista preferirebbe acquistare
l’alimento stesso
quindi, l’azienda ha il seguente vincolo:
m
X
i=1
aij pi ≤ cj ,
j = 1, . . . , n
Esempio (cont.)
siano pZ , pG , pP , pV i prezzi risp. di zuccheri, grassi, proteine,
vitamine
ad es. per ”sintetizzare” 1 Kg di pasta (che costa 2 Eur) occorrono
300 g di zuccheri, 1 g di proteine e 12 g di vitamine, quindi:
300pZ + pP + 12pV ≤ 2
Il produttore di integratori alimentari risolve il duale!
∗
w = max
m
X
bi pi
i=1
m
X
aij pi ≤ cj ,
j = 1, . . . , n
(2)
i=1
pi ≥ 0,
i = 1, . . . , m
I
per
ammissibile dei prezzi si ha
Pmqualunque
Pscelta
n
p
b
≤
c
x
i=1 i i
j=1 j j : il nutrizionista preferirà gli integratori
I
per il teorema della dualità forte, z ∗ = w∗ : il mercato tende ad
un equilibrio in cui l’acquirente ha due alternative equivalenti
Giochiamo a Morra!
I
2 giocatori (Tullio e Claudia)
I
ciascuno nasconde 1 o 2 Euro e scommette (a voce alta) su
quanto nasconde l’altro
I
quindi, ogni giocatore ha quattro possibili mosse
[x, y], x, y ∈ [1, 2]: ”nascondi x, scommetti y”
I
se solo uno dei giocatori indovina la scommessa esso vince
l’intero ammontare della cifra nascosta
I
in tutti gli altri casi non c’é vincita
Un esempio di partita
I
Claudia ha giocato senza uno schema preciso e, dopo un
numero elevato N di tiri, ha giocato c1 volte la mossa [1, 1],
c2 volte la mossa [1, 2], c3 volte la mossa [2, 1], c4 volte la
mossa [2, 2]
I
diversamente, Tullio ha tirato una moneta e fatto la mossa
[1, 2] o [2, 1] in caso risp. di testa o croce
# tiri
c1 /2
c1 /2
c2 /2
c2 /2
c3 /2
c3 /2
c4 /2
c4 /2
mossa Claudia
[1, 1]
[1, 1]
[1, 2]
[1, 2]
[2, 1]
[2, 1]
[2, 2]
[2, 2]
mossa Tullio
[1, 2]
[2, 1]
[1, 2]
[2, 1]
[1, 2]
[2, 1]
[1, 2]
[2, 1]
vincita Tullio
−2
3
3
−4
Analisi
I
vincita totale di Tullio (c1 − c4 )/2 Euro: quindi se Claudia
gioca [2, 2] più frequentemente di [1, 1] Tullio perde
I
Tuttavia, nel caso peggiore c1 = 0, c4 = N Tullio non perde
più di 0.5 Euro a tiro
I
in sostanza, Tullio si protegge da perdite maggiori di 0.5
Euro/tiro semplicemente giocando con la stessa frequenza le
mosse [1, 2] e [2, 1] (naturalmente senza alcuno schema
comprensibile altrimenti un disastro!)
Tullio può fare di meglio?
Giochi a somma zero
I
I
I
Rappresentiamo un gioco con 2 giocatori con una matrice A
ad ogni tiro, il “giocatore riga” (Tullio) sceglie una riga
i = 1, . . . , m e ad ogni tiro, il “giocatore colonna” (Claudia)
sceglie una colonna j = 1, . . . , n
il profitto del tiro per il giocatore riga è quindi aij (se
negativo, il giocatore riga paga)
la matrice di payoff della morra è quindi:
Tullio
[1, 1]
[1, 2]
[2, 1]
[2, 2]
[1, 1]
0
−2
3
0
Claudia
[1, 2] [2, 1]
2
−3
0
0
0
0
−3
4
[2, 2]
0
3
−4
0
Giochi a somma zero
I
strategia del giocatore riga: ad ogni tiro la riga i è scelta con
probabilità xi
I
il giocatore colonna risponde secondo uno schema oppure in
modo random: dopo molti tiri, yj è la frequenza con cui ha
giocato la colonna j
I
quindi l’elemento ij è selezionato xi yj N volte in N tiri
P Pn
T
il payoff medio per tiro è quindi m
i=1
j=1 aij xi yj (x Ay in
notazione matriciale)
I
I
x e y hanno componenti non-negative e a somma 1: vettori di
questo tipo si dicono stocastici
Strategia ottima (giocatore riga)
I
Quindi, quando il giocatore riga adotta la strategia x, è certo
di avere una vincita media per tiro di almeno
min xT Ay
y
[ad es. Tullio è certo di vincere almeno −0.5 Euro per tiro in
media con la strategia (0, 0.5, 0.5, 0)]
I
definiamo quindi stategia ottima x quella che massimizza
miny xT Ay, con y vettore stocastico
Esempio
Sia xT = (0.3, 0.2, 0.4, 0.1) la strategia del giocatore riga; allora

 
y1
0
2 −3 0


−2 0
0 3 y2 
=
0.3 0.2 0.4 0.1 
3
0
0 4 y3 
y4
0 −3 4 0
 
y1
y2 

= 0.8 −2.4 −0.5 −1 
y3  = 0.8y1 − 2.4y2 − 0.5y3 − y4
y4
quindi il minimo si ottiene con y2 = 1, y1 , y3 , y4 = 0
Strategia ottima (giocatore riga)
Pm
I
l’esempio mostra come miny xT Ay = minj=1,...,n
I
in altri termini, fra le risposte più efficaci dell’avversario
(colonna) ad una qualunque strategia del giocatore riga ce n’è
sempre una corrispondente ad una mossa singola!
I
di conseguenza, decidere la strategia ottima per il giocatore
riga equivale al seguente problema:
max min
m
X
j=1,...,n
aij xi
i=1
s.t.
m
X
xi = 1
i=1
xi ≥ 0,
i = 1, . . . , m
i=1 aij xi
Il giocatore riga risolve un PL!
come sappiamo, il precedente problema ammette una
riformulazione lineare:
max z
s.t.
m
X
z−
aij xi ≤ 0, j = 1, . . . , n
i=1
m
X
xi = 1
i=1
xi ≥ 0,
i = 1, . . . , m
Strategia ottima (giocatore colonna)
I
Analogamente, il giocatore colonna è certo di avere una
perdita media per tiro di al più
max xT Ay = max
x
I
i
n
X
aij yj
j=1
quindi la sua stategia ottima y è tale da minimizzare
maxx xT Ay, con y vettore stocastico
Strategia ottima (giocatore colonna)
di conseguenza, il problema di decidere la strategia ottima per il
giocatore colonna equivale al seguente problema:
min w
min max
n
X
i=1,...,m
s.t.
aij yj
s.t.
n
X
=⇒
aij yj ≥ 0, i = 1, . . . , m
j=1
n
X
yj = 1
j=1
yj ≥ 0,
w−
j=1
n
X
j = 1, . . . , n
yj = 1
j=1
yj ≥ 0,
j = 1, . . . , n
il duale del problema del giocatore riga!!
Teorema min-max
Il teorema di dualità forte implica quindi il seguente risultato:
Per ogni matrice A di dimensioni m × n esistono un vettore riga
stocastico x∗ ∈ Rm ed un vettore colonna stocastico y∗ ∈ Rn tali
che
min x∗ Ay = max xAy∗
y
x
in cui x e y variano fra tutti i possibili vettori stocastici.
il valore ottimo v = w∗ = z ∗ è detto valore del gioco
Fair games
Adottando la strategia x∗ il giocatore riga è sicuro di vincere
almeno v Euro per tiro in media
simmetricamente, adottando la strategia y∗ il giocatore colonna è
sicuro di perdere al più v Euro per tiro in media
i giochi per cui v = 0 sono detti fair games (la morra è fra questi)