Capitolo 3: Ottimizzazione Discreta E. Amaldi DEIB, Politecnico di Milano
3.1 Modelli di PLI e PLMI Moltissimi problemi decisionali complessi possono essere formulati o approssimati come problemi di Programmazione Lineare in cui tutte (alcune) variabili sono vincolate ad assumere valori interi. Definizione: Programmazione Lineare Intera (PLI): min c t x Ax b x 0 intere dove la matrice A è di dimensione m n, i vettori c e b sono di dimensione n e rispettivamente m. Se tutte le variabili devono assumere valori binari si tratta di Programmazione Lineare Binaria (PL0 1) Programmazione Lineare Mista-Intera (PLMI): min c t 1x + c t 2y A 1 x + A 2 y b x 0, y 0 intere dove le matrici A 1 e A 2 sono di dimensione m n 1 e rispettivamente m n 2, i vettori c 1, c 2 e b sono di dimensione n 1, n 2 e rispettivamente m. 1
Alcuni modelli di PLI e PLMI: 1) Problema di Zaino Binario Knapsack Un azienda deve decidere come investire un capitale b. Sono disponibili n investimenti. Sia a i la somma da investire nel caso si scelga di effettuare l i-esimo investimento, con 1 i n. Sia p i il profitto atteso dell i-esimo investimento. Problema: determinare quali investimenti effettuare in modo da massimizzare il profitto atteso totale. 2
Alcuni modelli di PLI e PLMI: 1) Problema di Zaino Binario Knapsack Un azienda deve decidere come investire un capitale b. Sono disponibili n investimenti. Sia a i la somma da investire nel caso si scelga di effettuare l i-esimo investimento, con 1 i n. Sia p i il profitto atteso dell i-esimo investimento. Problema: determinare quali investimenti effettuare in modo da massimizzare il profitto atteso totale. Formulazione di PLI Variabili di decisione: x i = 1 se si effettua l i-esimo investimento e x i = 0 altrimenti, con 1 i n max n i=1 p ix i n i=1 a ix i b x i {0, 1} i Svariate applicazioni dirette e indirette (come sotto-problema) 3
2) Problema di Assegnamento Assignment Dati n progetti (jobs) e n ingegneri (macchine), supponiamo che ogni progetto possa essere eseguito da qualsiasi ingegnere. Sia c ij il costo se i-esimo progetto è eseguito dal j-esimo ingegnere, con 1 i, j n. Ogni progetto deve essere assegnato esattamente ad un ingegnere e ogni ingegnere deve vedersi assegnare esattamente un progetto. Problema: decidere quale progetto assegnare ad ogni ingegnere in modo da minimizzare il costo totale necessario per completare tutti i progetti. Numero di soluzioni ammissibili = n! 4
2) Problema di Assegnamento Assignment Dati n progetti (jobs) e n ingegneri (macchine), supponiamo che ogni progetto possa essere eseguito da qualsiasi ingegnere. Sia c ij il costo se i-esimo progetto è eseguito dal j-esimo ingegnere, con 1 i, j n. Ogni progetto deve essere assegnato esattamente ad un ingegnere e ogni ingegnere deve vedersi assegnare esattamente un progetto. Problema: decidere quale progetto assegnare ad ogni ingegnere in modo da minimizzare il costo totale necessario per completare tutti i progetti. Formulazione di PLI Variabili di decisione: x ij = 1 se i-esimo progetto viene assegnato al j-esimo ingegnere e x ij = 0 altrimenti, con 1 i, j n min n n i=1 j=1 c ijx ij s.v. n i=1 x ij = 1 n j=1 x ij = 1 x ij {0, 1} j i i, j 5
3) Problema di Copertura di un Insieme Set Covering Siano insieme M = {1, 2,..., m} famiglia {M 1,..., M n } di n suoi sottoinsiemi ( M j M per ogni j = 1,..., n) per ogni j con 1 j n, costo c j di M j determinare quali sottoinsiemi selezionare per coprire tutti gli elementi di M minimizzando il costo totale. 6
3) Problema di Copertura di un Insieme Set Covering Siano insieme M = {1, 2,..., m} famiglia {M 1,..., M n } di n suoi sottoinsiemi ( M j M per ogni j = 1,..., n) per ogni j con 1 j n, costo c j di M j determinare quali sottoinsiemi selezionare per coprire tutti gli elementi di M minimizzando il costo totale. Formulazione di PLI Variabili di decisione: x j = 1 se si seleziona M j e x j = 0 altrimenti, con 1 j n min s.v. n j=1 c jx j j:i M j x j 1 i (1) x j {0, 1} j dove i vincoli (1) sono quelli di copertura 7
Set covering : min n c j x j : Ax e, x {0, 1} n j=1 dove A = [a ij ] con a ij = 1 se i M j e a ij = 0 altrimenti, ed e = (1, 1,..., 1) t Esempio: localizzazione di servizi di emergenza (ambulanze o vigili del fuoco) M = { aree da coprire }, M j = { aree raggiungibili in 10 min dal sito candidato j } Set packing : max n c j x j : Ax e, x {0, 1} n j=1 dove i parametri c j rappresentano profitti Esempio: localizzazione di impianti ad elevato impatto ambientale (discariche o inceneritori) M = { città }, M j = { città con impatto ambientale del sito candidato j sopra soglia } 8
Set partitioning : min o max n c j x j : Ax = e, x {0, 1} n j=1 dove i parametri c j possono rappresentare sia costi che profitti Esempio: formazione dei turni di volo degli equipaggi di una compagnia aerea Si considera un orizzonte di pianificazione prefissato M = { tappe di volo }, tappa = singola fase di volo (tra decollo e atterraggio) da effettuare secondo orari prestabiliti M j = { turni ammissibili }, turno ammissibile = sottoinsieme di tappe di volo che possono essere concatenate in base alla normativa (durata complessiva e periodi di riposo) 9
4) Problema del Commesso Viaggiatore (asimmetrico) Asymmetric Traveling Salesman Problem (ATSP) Dato un grafo orientato G = (V, A) con V = {1, 2,..., n} e un costo c ij R associato ad ogni arco (i, j) A, determinare un ciclo Hamiltoniano, i.e., un ciclo che visita esattamente una volta ogni nodo e torna al nodo di partenza, di costo totale minimo. 10
4) Problema del Commesso Viaggiatore (asimmetrico) Asymmetric Traveling Salesman Problem (ATSP) Dato un grafo orientato G = (V, A) con V = {1, 2,..., n} e un costo c ij R associato ad ogni arco (i, j) A, determinare un ciclo Hamiltoniano, i.e., un ciclo che visita esattamente una volta ogni nodo e torna al nodo di partenza, di costo totale minimo. Se il grafo G è completo, il numero di cicli Hamiltoniani = (n 1)! Anche versione simmetrica con grafo non orientato Molte varianti con - vincoli di precedenza - vincoli temporali (istante al più presto e al più tardi di visita per ogni nodo) - vincolo di capacità del veicolo - più veicoli da instradare ( Vehicle Routing Problem ) -... Molteplici applicazioni: logistica, sequenziamento di operazioni, VLSI,... Sito web dedicato al TSP: http://www.tsp.gatech.edu/ 11
Una formulazione di PLI Variabili di decisione: x ij = 1 se il ciclo Hamiltoniano contiene l arco (i, j) e x ij = 0 altrimenti, per (i, j) A min s.v. (i,j) A c ijx ij i: (i,j) A x ij = 1 j j: (i,j) A x ij = 1 i (i,j) A: i S, j V \S x ij 1 S V, S (2) x ij {0, 1} (i, j) A dove i vincoli (2) sono i cosiddetti vincoli di taglio ( cut-set inequalities ) 12
Una formulazione di PLI: Variabili di decisione: x ij = 1 se il ciclo Hamiltoniano contiene l arco (i, j) e x ij = 0 altrimenti, per (i, j) A min (i,j) A c ijx ij s.v. i: (i,j) A x ij = 1 j j: (i,j) A x ij = 1 i (i,j) A: i S, j V \S x ij 1 S V, S (3) x ij {0, 1} (i, j) A dove i vincoli (3) sono i cosiddetti vincoli di taglio ( cut-set inequalities ) Formulazione di PLI alternativa: (i,j) A: i,j S x ij S 1 S V, 2 S n 1 (4) con i cosiddetti vincoli di eliminazione dei sottocicli ( subtour elimination inequalities ) al posto dei vincoli (3) Osservazione: I vincoli (3) e (4) sono in numero esponenziale rispetto alla dimensione di G. 13
5) Mix produttivo con costi fissi Un azienda deve decidere quali/quanti articoli produrre il prossimo mese in modo da minimizzare i costi soddisfacendo la domanda. Per ogni articolo i, con 1 i n, c i > 0 indica il costo unitario, f i > 0 il costo fisso (se si produce) e k i > 0 la capacità produttiva. 14
5) Mix produttivo con costi fissi Un azienda deve decidere quali/quanti articoli produrre il prossimo mese in modo da minimizzare i costi soddisfacendo la domanda. Per ogni articolo i, con 1 i n, c i > 0 indica il costo unitario, f i > 0 il costo fisso (se si produce) e k i > 0 la capacità produttiva. Formulazione di PLMI Variabili di decisione: x i = quantità di articolo i prodotta, con 1 i n y i = 1 se x i > 0 e y i = 0 altrimenti, con 1 i n min n i=1 (c ix i + f i y i ) s.v. x i k i y i i vincoli di domanda... x i 0 i y i {0, 1} i 15
5) Mix produttivo con costi fissi Un azienda deve decidere quali/quanti articoli produrre il prossimo mese in modo da minimizzare i costi soddisfacendo la domanda. Per ogni articolo i, con 1 i n, c i > 0 indica il costo unitario, f i > 0 il costo fisso (se si produce) e k i > 0 la capacità produttiva. Formulazione di PLMI Variabili di decisione: x i = quantità di articolo i prodotta, con 1 i n y i = 1 se x i > 0 e y i = 0 altrimenti, con 1 i n min n i=1 (c ix i + f i y i ) s.v. x i k i y i i vincoli di domanda... x i 0 i y i {0, 1} i N.B.: La formulazione non è del tutto esatta, la soluzione x i = 0 e y i = 1 per ogni i è ammissibile per il PLMI, anche se non può essere ottima (minimizzazione e costi fissi f i positivi). 16
6) Localizzazione ottima senza vincoli di capacità Uncapacitated Facility Location (UFL) Siano M = {1, 2,..., m} insieme di clienti N = {1, 2,..., n} insieme di siti nei quali si possono localizzare dei depositi per ogni j N, f j costo fisso di utilizzo del deposito in j per ogni coppia i M e j N, c ij costo di trasporto se tutta la domanda del cliente i è soddisfatta dal deposito j, determinare dove localizzare i depositi in modo da soddisfare la domanda di tutti i clienti minimizzando i costi (costi di trasporto e costi di utilizzo). 17
Formulazione di PLMI Variabili di decisione: x ij = frazione della domanda del cliente i soddisfatta dal deposito j, con 1 i m e 1 j n y j = 1 se si utilizza il deposito j e y j = 0 altrimenti, con 1 j n min i M s.v. j N c ijx ij + j N f jy j j N x ij = 1 i M i M x ij my j j N (5) y j {0, 1} j N 0 x ij 1 i M, j N con n vincoli (5) che legano le variabili x ij e y j Variante: Se d i indica la domanda del cliente i e k j la capacità del deposito j, gli eventuali vincoli di capacità: d i x ij k j y j i M j N 18
7) Pianificazione della produzione multi-periodo Uncapacitated Lot-Sizing (ULS) Un impresa deve pianificare la produzione di un solo tipo di prodotto per i prossimi n mesi. Si suppone che il magazzino sia vuoto all inizio del periodo di pianificazione e che alla fine del periodo debbano rimanere in magazzino 50 unità. Siano f t costo fisso di produzione nel periodo t p t costo unitario di produzione nel periodo t h t costo unitario di immagazzinamento nel periodo t d t domanda per il periodo t determinare un piano di produzione per i prossimi n mesi che permetta di minimizzare i costi (produzione e magazzino) soddisfacendo la domanda ad ogni periodo. Formulare il problema come un PLMI. 19
Formulazione di PLMI Variabili di decisione: x t = quantità prodotta nel periodo t, con 1 t n s t = quantità in magazzino alla fine del periodo t, con 0 t n y t = 1 se si attiva la produzione nel periodo t e y j = 0 altrimenti, con 1 t n min n t=1 p tx t + n t=1 h ts t + n t=1 f ty t s.v. s t = s t 1 + x t d t t x t My t s 0 = 0, s n = 50 s t, x t 0 y t {0, 1} t t t t dove M > 0 è un limite superiore sulla massima quantità prodotta durante qualsiasi periodo. Ad esempio: x t ( n t=1 d t + s n s 0 )y t N.B.: Poiché s t = t i=1 x i t i=1 d i, è possibile eliminare le variabili s t di magazzino 20
3.2 Formulazioni alternative ed ideali In Programmazione Lineare (PL) le migliori formulazioni sono le più compatte (con il minor numero di variabili/vincoli) visto che la complessità computazionale dei problemi cresce polinomialmente con n e m. La scelta della formulazione è importante ma non determina in modo critico la possibilità di risolvere o meno il problema. La situazione è molto diversa per i problemi di PLI e PLMI: estese campagne computazionali indicano che la scelta della formulazione è cruciale. Per capire cosa caratterizza le buone formulazioni, partiamo dal concetto di rilassamento continuo (lineare) di un PLI o PLMI. 21
Definizione: Dato un qualsiasi problema di PLMI (PLI) z P LMI = min c t 1x + c t 2y s.v. A 1 x + A 2 y b (6) x 0, y 0 intere (7) il suo rilassamento continuo (lineare) è il seguente problema di PL: z P L = min c t 1x + c t 2y s.v. A 1 x + A 2 y b (8) x 0, y 0 (9) dove il vincolo di interezza sulle variabili y j è omesso. Se una variabile intera y j nel PLMI è tale che 0 y j u j, nel rilassamento continuo y j [0, u j ]. Sia X P LMI la regione ammissibile del PLMI definita da (6)-(7) e X P L quella del rilassamento continuo definita da (8)-(9). Conseguenze: Poiché X P LMI X P L e i problemi sono di minimizzazione, abbiamo: z PL z PLMI, ovvero z P L è un limite inferiore rispetto a z P LMI ; se una soluzione ottima x P L del rilassamento continuo è ammissibile per il PLMI (PLI) di partenza, è anche ottima per quest ultimo. Se il PLMI è di massimizzazione, chiaramente z PLMI z PL. 22
Qualsiasi problema di PLI/PLMI ammette un numero infinito di formulazioni corrette alternative con regioni ammissibili del rilassamento continuo diverse. Definizione: Un poliedro P R n 1+n 2 (sottoinsieme definito da un numero finito di vincoli lineari) è una formulazione di un insieme X R n 1 Z n 2 se e solo se X = P (R n 1 Z n 2). N.B.: Nel caso dei costi fissi, non abbiamo considerato l insieme X = {(0, 0), (x i, 1) per 0 < x k i } ma X {(0, 1)}. Esempi: 1) Due formulazioni alternative per il TSP con vincoli di taglio o di eliminazione di sotto-cicli. 2) Formulazione di PLMI alternativa per il problema UFL: min i M j N c ijx ij + j N f jy j s.v. j N x ij = 1 i M x ij y j i M, j N (10) y j {0, 1} j N 0 x ij 1 i M, j N con mn vincoli (10) che legano le variabili x ij e y j. 23
Le formulazioni alternative possono adoperare variabili aggiuntive o variabili diverse. Nel primo caso si parla di formulazioni estese. Esempio: Formulazione di PLMI estesa per il problema ULS 24
Le formulazioni alternative possono adoperare variabili aggiuntive o variabili diverse. Nel primo caso si parla di formulazioni estese. Esempio: Formulazione di PLMI estesa per il problema ULS Variabili di decisione: w it = quantità prodotta nel periodo i e venduta nel periodo t, con 1 i t n + 1 y t = 1 se si attiva la produzione nel periodo t e y j = 0 altrimenti, con 1 t n min n n i=1 t=i c itw it + n t=1 f ty t s.v. t i=1 w it = d t n i=1 w i,n+1 = 50 w it d t y i w it 0 y t {0, 1} t, 1 t n (magazzino alla fine) i, t, i t i, t, i t con i costi aggregati (produzione e magazzino) c it = p i + h i +... + h t 1. N.B.: Per ogni periodo i, si può aggiungere il vincolo x i = n t=i w it che esprime la vecchia variabile x i in funzione delle nuove w it t 25
Sia X = {x 1,..., x k } l insieme delle soluzioni ammissibili di un PLI. Supponiamo X sia limitato (finito). Teorema: conv(x) è un poliedro e i punti estremi di conv(x) appartengono a X. Questo risultato, che vale anche per insiemi X illimitati di punti interi e di punti misti interi, implica: min{c t x : x X} = min{c t x : x conv(x)} In teoria, il problema di PLI/PLMI si può ricondurre ad un singolo problema di PL! In pratica, anche per X limitato, la formulazione ideale è spesso di dimensione esponenziale o difficile da determinare. Chiaramente la regione ammissibile P del rilassamento continuo di qualsiasi formulazione soddisfa X = {x Z n : Ax b} conv(x) P. Definizione: La formulazione ideale di un insieme X R n è il poliedro conv(x). Dato un insieme X R n e due formulazioni P 1 e P 2 di X, la formulazione P 1 domina (è più stringente di) quella P 2 se P 1 P 2. Infatti, se z i = min{c t x : x P i Z n }, il bound z 1 è almeno altrettanto stringente di z 2, ovvero z P LI = min{c t x : x X} z 1 z 2. 26
1) Localizzazione ottima senza vincoli di capacità Uncapacitated Facility Location (UFL) Proprietà: Il rilassamento continuo della formulazione di PLMI alternativa (con i vincoli x ij y j ) domina quello della prima formulazione di PLMI (con i vincoli aggregati i M x ij my j ). Siano P 1 = e P 2 = { (x, y) R nm+n : { (x, y) R nm+n : } j N x ij = 1 i, x ij y j i, j, 0 x ij 1 i, j, 0 y j 1 j j N x ij = 1 i, } i M x ij my j j, 0 x ij 1 i, j, 0 y j 1 j, chiaramente P 1 P 2 (sommando gli m vincoli x ij y j per un dato j si ottiene i M x ij my j per quel j). Inoltre è facile esibire un (x, y) che appartiene a P 2 ma non appartiene a P 1 2) TSP simmetrico Confronto tra le due formulazioni alternative nella seconda serie di esercizi 27
Confronto tra formulazioni con variabili diverse Consideriamo una prima formulazione con tutte variabili intere (PLI) min{c t x : x P 1 Z n 1 } con P 1 R n 1, e una formulazione estesa min{c t (x, w) : (x, w) P 2 (Z n 1 R n 2 )} con P 2 R n 1 R n 2. Definizione: Dato un insieme convesso P R n 1 R n 2, la proiezione di P sul sottospazio R n 1 è Π x (P ) = {x R n 1 : (x, w) P per qualche w R n 2 } Esempio: proiezione di un poliedro tridimensionale Per confrontare una formulazione P 1 R n 1 e una formulazione estesa P 2 R n 1 R n 2, si confrontando quindi P 1 e Π x (P 2 ). 28
Come determinare le proiezioni dei poliedri sui sottospazi di R n? Metodo di eliminazione di Fourier-Motzkin (inizio 800): Prima procedura per determinare una soluzione ammissibile di un sistema di disuguaglianze lineari Idea: Ad ogni iterazione viene eliminata una variable, combinando in tutti i modi possibili le disuguaglianze correnti, fino ad ottenere un sistema in una sola variabile. Descrizione 29
Esempio: x 1 +x 2 3 (11) 1 2 x 1 +x 2 0 (12) x 2 2 (13) Eliminazione di x 2 (proiezione del poliedro delle soluzioni ammissibili di (11)-(13) sul sottospazio di x 1 ): 3 x 1 x 2 1 2 x 1 x 2 x 2 2 considerando tutte le coppie di disuguaglianze (... x 2 e x 2... ) si ottiene 3 x 1 2 1 2 x 1 2 ovvero 1 x 1 4, quindi la proiezione [1, 4]. Eliminazione di x 1 (proiezione del poliedro delle soluzioni ammissibili di (11)-(13) sul sottospazio di x 2 ): si ottiene 1 x 2 2 quindi la proiezione [1, 2]. Complessità: il numero di vincoli aggiuntivi può crescere esponenzialmente rispetto al numero delle variabili originarie 30
Confronto con formulazione estesa: Pianificazione della produzione multi-periodo (ULS) Consideriamo la formulazione P 1 descritta da e Π x,s,y (P 2 ), con P 2 descritto da s t = s t 1 + x t d t x t My t s 0 = 0, s t, x t 0 t t t 0 y t 1 t t i=1 w it = d t t w it d t y i i, t, i t x i = n t=i w it i (14) w it 0 i, t, i t 0 y t 1 t E facile verificare che Π x,s,y (P 2 ) P 1. Ad esempio, il punto x t = d t, y t = d t /M per ogni t è un punto estremo di P 1 che non appartiene a Π x,s,y (P 2 ). Proposizione: P 2 è la formulazione ideale, ovvero descrive il guscio convesso di tutte le soluzioni ammissibili (misto intere) di ULS. 31