Capitolo 5: Ottimizzazione Discreta E. Amaldi DEI, Politecnico di Milano
5.1 Modelli di PLI, formulazioni equivalenti ed ideali Il modello matematico di un problema di Ottimizzazione Discreta è molto spesso un problema di PL nel quale tutte (alcune) variabili sono vincolate ad assumere valori interi. 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 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 e rispettivamente m p, i vettori c 1, c 2 e b sono di dimensione n, p e rispettivamente m. 1
Moltissimi problemi decisionali complessi possono essere formulati in termini di PLI (PL0-1) o 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
Moltissimi problemi decisionali complessi possono essere formulati in termini di PLI (PL0-1) o 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. Problema: decidere quale progetto assegnare ad ogni ingegnere in modo da minimizzare il costo totale necessario per completare tutti i progetti. Ogni progetto deve essere assegnato esattamente ad un ingegnere e ogni ingegnere deve vedersi assegnare esattamente un progetto. 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. Problema: decidere quale progetto assegnare ad ogni ingegnere in modo da minimizzare il costo totale necessario per completare tutti i progetti. Ogni progetto deve essere assegnato esattamente ad un ingegnere e ogni ingegnere deve vedersi assegnare esattamente un progetto. 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 i=1 n j=1 c ijx ij n i=1 x ij = 1 j n j=1 x ij = 1 i x ij {0,1} i, j 5
3) Problema di Copertura di un Insieme: Set Covering Siano M = {1,2,...,m} un insieme di clienti N = {1,2,...,n} un insieme di siti nei quali si possono localizzare dei centri di servizio M j M il sottoinsieme di clienti serviti adeguatamente se un centro è localizzato in j, con j N c j il costo di localizzare un centro nel sito j determinare dove localizzare i centri in modo da servire ( coprire ) tutti i clienti a costo totale minimo. 6
3) Problema di Copertura di un Insieme: Set Covering Siano M = {1,2,...,m} un insieme di clienti N = {1,2,...,n} un insieme di siti nei quali si possono localizzare dei centri di servizio M j M il sottoinsieme di clienti serviti adeguatamente se un centro è localizzato in j, con j N c j il costo di localizzare un centro nel sito j determinare dove localizzare i centri in modo da servire ( coprire ) tutti i clienti a costo totale minimo. Formulazione di PLI Variabili di decisione: x j = 1 se si localizza un centro nel sito j e x j = 0 altrimenti, con 1 j n min 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 Set packing : max n c j x j : Ax e, x {0,1} n j=1 dove i parametri c j rappresentano profitti 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 8
4) Problema del Commesso Viaggiatore (asimmetrico) Asymmetric TSP Dato un grafo orientato G = (N,A), dove N = {1,2,...,n}, con un costo c ij R associato ad ogni arco (i, j) A, determinare un ciclo che visita esattamente una volta ogni nodo (ciclo Hamiltoniano) di costo totale minimo. Tipico problema di instradamento. Molte varianti: G non-orientato, più veicoli da instradare, vincoli di precedenza, vincoli temporali,... Esempio: 9
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 i:(i,j) A x ij = 1 j = 1,...,n j:(i,j) A x ij = 1 i = 1,...,n (i,j) A:i S,j N\S x ij 1 S N,S (2) x ij {0,1} (i,j) A dove i vincoli (3) sono i cosiddetti vincoli di taglio 10
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 dove i vincoli (3) sono i cosiddetti vincoli di taglio i:(i,j) A x ij = 1 j = 1,...,n j:(i,j) A x ij = 1 i = 1,...,n (i,j) A:i S,j N\S x ij 1 S N,S (3) x ij {0,1} (i,j) A Formulazione di PLI alternativa contiente, al posto dei vincoli (3), i cosiddetti vincoli di eliminazione dei sottocicli: (i,j) A: i,j S x ij S 1 S N,2 S n 1 (4) NB: I vincoli (3) e (4) sono in numero esponenziale rispetto alla dimensione di G 11
5) Localizzazione ottima senza vincoli di capacità Uncapacitated Facility Location Siano N = {1,2,...,n} un insieme di siti nei quali si possono localizzare dei depositi M = {1,2,...,m} un insieme di clienti M j M il sottoinsieme di clienti serviti adeguatamente se un deposito è attivato nel sito j, con j N f j il costo fisso di utilizzo del deposito in j c ij il 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). 12
Formulazione di PLMI Variabili di decisione: x ij la 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 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 NB: 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 j N i M 13
Formulazione di PLMI alternativa: min i M j N c ijx ij + j N f jy j j N x ij = 1 i M x ij y j i M,j N (6) con mn vincoli (7) che legano le variabili x ij e y j y j {0,1} j N 0 x ij 1 i M,j N 14
Formulazione di PLMI alternativa: min i M j N c ijx ij + j N f jy j j N x ij = 1 i M x ij y j i M,j N (7) con mn vincoli (7) che legano le variabili x ij e y j y j {0,1} j N 0 x ij 1 i M,j N Proprietà: Il rilassamento continuo (lineare) della formulazione di PLMI alternativa (con 0 y j 1 invece di y j {0,1} per ogni j) domina quello della prima formulazione di PLMI. Siano P 1 = e P 2 = { (x,y) R nm+n : { (x,y) R nm+n : j N x ij = 1 i, } i M x ij my j j, 0 x ij 1 i, j, 0 y j 1 j } j N x ij = 1 i, x ij y j i, j, 0 x ij 1 i, j, 0 y j 1 j, chiaramente P 2 P 1 (sommando gli m vincoli (7) per un dato j si ottiene il vincolo (5) per quel j) Inoltre è facile esibire un (x,y) che appartiene a P 1 ma non appartiene a P 2 15
6) Pianificazione della produzione Uncapacitated Lot-Sizing Un impresa deve pianificare la produzione di un solo tipo di prodotto per i prossimi n mesi Siano f t il costo fisso di produzione durante il periodo t p t il costo unitario di produzione durante il periodo t h t il costo unitario di immagazzinamento durante il 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. Si suppone che il magazzino sia vuoto all inizio del periodo di pianificazione. Formulare il problema come un PLMI, dare una formulazione estesa e confrontarle. Come si può tenere conto di un eventuale lotto minimo di produzione di u unità? 16