Dualit`a - Informatica
Transcript
Dualit`a - Informatica
Dualità Andrea Scozzari a.a. 2012-2013 March 26, 2013 Andrea Scozzari (a.a. 2012-2013) Dualità March 26, 2013 1 / 21 Esercizio n.1 Lezione 22-03-2013 Sia data una raffineria che deve miscelare 4 costituenti del petrolio per ottenere 3 qualità di benzina A, B, C . Siano Cosituenti 1 2 3 4 Quantità massima disponibile in barili 3000 2000 4000 1000 Andrea Scozzari (a.a. 2012-2013) Dualità Costo per barile 3 6 4 5 March 26, 2013 2 / 21 Esercizio n.1 Lezione 22-03-2013 Per mantenere la qualità richiesta per ciascun grado di benzina A, B, C è necessario specificare percentuali massime o minime dei costituenti 1,2,3,4. 1. per la benzina A: non più del 30% di costituente 1; non meno del 40% di costituente 2; non più del 50% di costituente 3. 2. per la benzina B: non più del 50% di costituente 1; non meno del 70% di costituente 2. 3. per la benzina C : non più del 70% di costituente 1. Il problema consiste nel determinare la produzione delle tre benzine in modo tale da massimizzare il profitto totale. Il prezzo per barile è Qualità Prezzo di vendita per barile A 5.5 B 4.5 C 3.5 Andrea Scozzari (a.a. 2012-2013) Dualità March 26, 2013 3 / 21 Modello xij = il numero totale di barili di costituente j per la produzione della benzina di qualità i La quantità totale di benzina i è: xi1 + xi2 + xi3 + xi4 i = A, B, C Il consumo totale del costituente j è: xAj + xBj + xCj j = 1, . . . , 4 Profitto totale z = 5.5(xA1 + xA2 + xA3 + xA4 ) + 4.5(xB1 + xB2 + xB3 + xB4 )+ 3.5(xC 1 + xC 2 + xC 3 + xC 4 ) − 3(xA1 + xB1 + xC 1 ) − 6(xA2 + xB2 + xC 2 ) −4(xA3 + xB3 + xC 3 ) − 5(xA4 + xB4 + xC 4 ) Andrea Scozzari (a.a. 2012-2013) Dualità March 26, 2013 4 / 21 Modello Limitazioni sulla disponibilità di ciascun costituente xA1 + xB1 + xC 1 xA2 + xB2 + xC 2 xA3 + xB3 + xC 3 xA4 + xB4 + xC 4 ≤ 3000 ≤ 2000 ≤ 4000 ≤ 1000 Vincoli sulle percentuali massime o minime di ciascun costituente xA1 ≤ 0.3(xA1 + xA2 + xA3 + xA4 ) xA2 ≥ 0.4(xA1 + xA2 + xA3 + xA4 ) xA3 ≤ 0.5(xA1 + xA2 + xA3 + xA4 ) xB1 ≤ 0.5(xB1 + xB2 + xB3 + xB4 ) xB2 ≥ 0.7(xB1 + xB2 + xB3 + xB4 ) xC 1 ≤ 0.7(xC 1 + xC 2 + xC 3 + xC 4 ) Vincoli di non negatività xij ≥ 0 Andrea Scozzari (a.a. 2012-2013) i = A, B, C Dualità j = 1, . . . , 4 March 26, 2013 5 / 21 Esercizio n.2 Lezione 22-03-2013 Bisogna gestire 3 fattorie la cui produzione è limitata sia dalla superficie utilizzabile che dalla quantità di litri di acqua per la irrigazione Fattoria 1 2 3 Terreno utilizzabile in acri 400 600 300 Andrea Scozzari (a.a. 2012-2013) Dualità Acqua disponibile per acro 1500 2000 900 March 26, 2013 6 / 21 Esercizio n.2 Lezione 22-03-2013 Si vogliono piantare 3 raccolti A, B, C per i quali si hanno le seguenti informazioni Raccolto A B C Acri da utilizzare 700 800 300 Acqua per acro 5 4 3 Profitto atteso per acro 400 300 100 Si vuole inoltre che la percentuale della superficie utilizzabile in ogni fattoria sia la stessa (carico di lavoro uniforme) Problema: Quanto di ciascun raccolto deve essere piantato per massimizzare il profitto Andrea Scozzari (a.a. 2012-2013) Dualità March 26, 2013 7 / 21 Modello xij = numero di acri da coltivare della fattoria i riservati al raccolto j Profitto totale z = 400(x1A + x2A + x3A ) + 300(x1B + x2B + x3B ) + 100(x1C + x2C + x3C ) Limitazioni sulla disponibilità della superficie di ogni fattoria x1A + x1B + x1C ≤ 400 x2A + x2B + x2C ≤ 600 x3A + x3B + x3C ≤ 300 Andrea Scozzari (a.a. 2012-2013) Dualità March 26, 2013 8 / 21 Modello Limitazioni sull’uso dell’acqua per ogni fattoria 5x1A + 4x1B + 3x1C ≤ 1500 5x2A + 4x2B + 3x2C ≤ 2000 5x3A + 4x3B + 3x3C ≤ 900 Limitazioni sull’utilizzo della superficie coltivabile per ciascun raccolto x1A + x2A + x3A ≤ 700 x1B + x2B + x3B ≤ 800 x1C + x2C + x3C ≤ 300 Andrea Scozzari (a.a. 2012-2013) Dualità March 26, 2013 9 / 21 Modello Vincoli sul carico di lavoro x1A +x1B +x1C 400 = x2A +x2B +x2C 600 x2A +x2B +x2C 600 = x3A +x3B +x3C 300 x1A +x1B +x1C 400 = x3A +x3B +x3C 300 Dato che le prime due equazioni implicano la terza, questa si può eliminare dato che diventa ridondante. Vincoli di non negatività xij ≥ 0 Andrea Scozzari (a.a. 2012-2013) i = A, B, C Dualità j = 1, 2, 3 March 26, 2013 10 / 21 La Dualità: Teoremi Lemma 1. Se il problema Primale (P) è illimitato superiormente allora il problema duale (D) è inammissibile 2. Se il problema Duale (D) è illimitato inferiormente allora il problema Primale (P) è inammissibile Andrea Scozzari (a.a. 2012-2013) Dualità March 26, 2013 11 / 21 Dimostrazione Lemma 1. Se il problema Primale (P) è illimitato superiormente allora il problema duale (D) è inammissibile Supponiamo che (P) sia illimitato ma che per assurdo (D) sia ammissibile. Allora per il problema di dualità in forma debole esisterebbe una soluzione u ammissibile per (D) tale che presa una soluzione ammissibile x per (P): cx ≤ ub Allora ub sarebbe una limitazione superiore per la funzione obiettivo di (P). Questo però non è possibile perché per ipotesi (P) è illimitato superiormente. In modo del tutto simmetrico si dimostra 2. Andrea Scozzari (a.a. 2012-2013) Dualità March 26, 2013 12 / 21 La Dualità: Teoremi Teorema Teorema di Dualità in forma Forte: Data una coppia di problemi (P) e (D) si possono presentare solamente le seguenti possibilità: 1. Il primale e il duale posseggono soluzioni ammissibili, allora hanno entrambi ottimo finito e i due ottimi coincidono. 2. Il primale possiede soluzioni ammissibili ed il duale è inammissibile. Allora il primale ha un ottimo illimitato. 3. Il duale possiede soluzioni ammissibili ed il primale è inammissibile. Allora il duale ha un ottimo illimitato. 4. Né il primale, né il duale posseggono soluzioni ammissibili. Andrea Scozzari (a.a. 2012-2013) Dualità March 26, 2013 13 / 21 La Dualità: Teoremi Dimostrazione Consideriamo il problema in forma standard e assumiamo che c ∈ Rn sia un vettore riga. Dimostriamo il primo punto: max cx Ax = b (1) x ≥0 Se il problema (1) ha una soluzione ottima x̄, per il teorema fondamentale della PL (1) ha una soluzione basica ottima. Pertanto sia B una base ottima e la soluzione basica sarà: (x̄B , x̄N ) = (B −1 b, 0) Andrea Scozzari (a.a. 2012-2013) Dualità March 26, 2013 14 / 21 La Dualità: Teoremi Dimostrazione La funzione obiettivo Z del problema diviene: Z = cB B −1 b + (cN − cB B −1 N)x̄N = πb + (cN − πN)x̄N dove cB B −1 = π e c̄N = cN − πN ≤ 0 per il fatto che x̄ è soluzione ottima del Primale. Si fa vedere che π = ū è una soluzione ammissibile del problema Duale (D). Nella trasformazione Primale-Duale, possiamo distinguere i vincoli associati alle variabili basiche (del primale) e quelli associati alle variabili non basiche (del primale) e otteniamo: uB ≥ cB e uN ≥ cN Andrea Scozzari (a.a. 2012-2013) Dualità March 26, 2013 15 / 21 La Dualità: Teoremi Dimostrazione Preso il vettore π = ū si ha: ūB = cB B −1 B = cB Inoltre ūN = cB B −1 N = πN ≥ cN Pertanto, si è dimostrato che il vettore π = cB B −1 = ū è una soluzione ammissibile per il Duale. Inoltre, abbiamo anche: c x̄ = cB x̄B + cN x̄N = cB B −1 b = πb = ūb ovvero c x̄ = ūb Dalla condizione sufficiente di ottimalità si ha che ū è soluzione ottima per il Duale. Andrea Scozzari (a.a. 2012-2013) Dualità March 26, 2013 16 / 21 La Dualità: Teoremi Dimostrazione I punti 2. e 3. del teorema sono conseguenza (di fatto sono corollari) del teorema di dualità in forma debole. Il punto 4. si può far vedere attraverso un esempio: (P) - Problema di Massimo: (D) - Problema di Minimo: max x1 + x2 min −u1 − u2 x1 − x2 ≤ −1 −x1 + x2 ≤ −1 x1 , x2 ≥ 0 u1 − u2 ≥ 1 −u1 + u2 ≥ 1 u1 , u2 ≥ 0 Andrea Scozzari (a.a. 2012-2013) Dualità March 26, 2013 17 / 21 La Dualità: Teoremi Teorema Sia x una soluzione ammissibile per il primale (P) ed u una soluzione ammissibile per il duale (D), allora x ed u sono soluzioni ottime rispettivamente per il primale e per il duale se e solo se sono verificate le seguenti condizioni di ortogonalità: u(b − Ax) = 0 (2) (uA − c)x = 0 Andrea Scozzari (a.a. 2012-2013) Dualità March 26, 2013 18 / 21 La Dualità: Teoremi Dimostrazione Se x è una soluzione ammissibile per il primale ed u una soluzione ammissibile per il duale, per il teorema di dualità debole si ha cx ≤ uAx ≤ ub Inoltre, x ed u sono soluzioni ottime se e solo se cx = ub. Questo discende dala condizione sufficiente di ottimalità e dal teorema forte di dualità. Pertanto, sono ottime se e solo se: cx = uAx e uAx = ub ovvero vale la condizione (2) u(b − Ax) = 0 Andrea Scozzari (a.a. 2012-2013) (uA − c)x = 0 Dualità March 26, 2013 19 / 21 La Dualità: Teoremi Corollario Consideriamo le variabili ausiliarie (slack o surplus) s = b − Ax ≥ 0 e t = uA − c ≥ 0 Otteniamo le seguenti condizioni us = 0 e tx = 0 ovvero ui si i = 1, . . . , m tj xj j = 1, . . . , n (3) Andrea Scozzari (a.a. 2012-2013) Dualità March 26, 2013 20 / 21 La Dualità: Teoremi Osservazione Una maniera equivalente di interpretare le condizioni di ortogonalità è la seguente. Un vincolo in un problema di PL si dice attivo se, per una data assegnazione delle variabili x, questo è soddisfatto con il segno di uguaglianza. Pertanto si avrà: 1. se ui > 0 allora l’i-mo vincolo del primale è attivo 2. se xj > 0 allora il j-mo vincolo del duale è attivo Andrea Scozzari (a.a. 2012-2013) Dualità March 26, 2013 21 / 21