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)