3.1 Progetto di rete con capacità

Documenti analoghi
Soluzione. V : insieme dei nodi del grafo A: insieme degli archi del grafo K: insieme degli indici delle coppie di origine-destinazione (s k,t k )

3.3 Problemi di PLI facili

4.1 Localizzazione e pianificazione delle base station per le reti UMTS

RICERCA OPERATIVA (a.a. 2018/19)

5.3 Tagli di Chvàtal-Gomory per il problema della massima clique

COMPITO DI RICERCA OPERATIVA APPELLO DEL 07/04/04

COMPITO DI RICERCA OPERATIVA. max 8 5x 1 3x 2 x 3 = 1 + 4x 1 + x 2 x 4 = 1 x 1 + x 2 x 5 = 5 x 1 x 2

Modelli di Programmazione Lineare. PRTLC - Modelli

Ricerca Operativa. G. Liuzzi. Lunedí 20 Aprile 2015

Capitolo 3: Ottimizzazione Discreta. E. Amaldi DEI, Politecnico di Milano

Esame di Ricerca Operativa del 06/02/17

Metodi e Modelli per l Ottimizzazione Combinatoria Problema dell assegnamento e matrici totalmente unimodulari

Prima prova Intermedia di Ricerca Operativa 2 COMPITO A Esercizio 1 (7 punti): LIFO

Esame di Ricerca Operativa del 06/02/17

Ricerca Operativa A.A. 2007/ Esercitazione di laboratorio: Branch and Bound.

Ricerca Operativa A.A. 2007/ Esercitazione di laboratorio: Branch and Bound.

Ottimizzazione Combinatoria e Reti (a.a. 2007/08)

Formulazioni. Consideriamo il seguente problema di Knapsack 0-1. max (5x x 2. ) st 3x x 2. < 6 x {0,1} 2

Ricerca Operativa A.A. 2007/ Modelli di Programmazione Lineare (II)

RICERCA OPERATIVA (a.a. 2017/18) Nome: Cognome: Matricola:

Esame di Ricerca Operativa del 22/01/18

Parte IV: Matrici totalmente unimodulari

5 PROGRAMMAZIONE LINEARE INTERA (PLI) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

Esame di Ricerca Operativa del 22/01/18

Massimo flusso e matching

Figura 1: 1) Si scriva la formulazione del problema come problema di PLI (con un numero minimo di vincoli) e la matrice dei vincoli.

Matrici unimodulari e totalmente unimodulari

OTTIMIZZAZIONE in unione con COMPLEMENTI DI RICERCA OPERATIVA OTTIMIZZAZIONE DISCRETA

Ricerca Operativa A.A. 2007/ Modelli di Programmazione Lineare

Richiami di Teoria dei Grafi. Paolo Detti Dipartimento di Ingegneria dell Informazione Università di Siena

RICERCA OPERATIVA. Tema d esame del 04/12/2008 (Simulazione 2)

RICERCA OPERATIVA (a.a. 2016/17) Nome: Cognome: Matricola:

Introduzione al Column Generation Caso di Studio: il Bin Packing Problem

5.1 Metodo Branch and Bound

METODI DELLA RICERCA OPERATIVA

Metodi e modelli per il supporto alle decisioni (MMSD)

RICERCA OPERATIVA (a.a. 2011/12) Nome: Cognome: Matricola:

Soluzione. 2.1 Pianificazione multiperiodo della produzione energetica

Tecniche euristiche greedy

2.1 Pianificazione multiperiodo della produzione energetica. 2.2 Confronto tra formulazioni per il problema dell albero di supporto di costo minimo

ALGORITMI DI OTTIMIZZAZIONE M Esercizi Parte I

ESERCIZIO 1: Punto 1

Esame di Ricerca Operativa del 11/02/2015

OTTIMIZZAZIONE in unione con OTTIMIZZAZIONE DISCRETA e COMPLEMENTI DI RICERCA OPERATIVA

Esercizi di Programmazione Lineare

Programmazione Lineare Intera: Piani di Taglio

3.2 Rilassamenti lineari/combinatori e bounds

Stime dell ottimo - Rilassamenti. PRTLC - Rilassamenti

min det det Allora è unimodulare se e solo se det 1, 1, 0 per ogni sottomatrice quadrata di di qualsiasi dimensione.

Problemi di localizzazione di servizi (Facility Location Problems)

Teoria della Programmazione Lineare Intera

I appello Ricerca operativa

città

UNIVERSITÀ DEGLI STUDI ROMA TRE Collegio Didattico in Ingegneria Informatica corso di Ricerca operativa 2. Esercizi sul problema dell assegnamento

I Appello Ricerca Operativa 2 bis Compito A

Ricerca Operativa A.A. 2017/2018

5.3 Metodo dei piani di taglio

Laboratorio: Ottimizzazione su reti

Esame di Ricerca Operativa del 12/07/17

La Programmazione Lineare Intera

Problemi di Ottimizzazione

Modelli di programmazione lineare. Il metodo grafico è basato su linearità della funzione obiettivo linearità dei vincoli

(a) Si proponga una formulazione di programmazione nonlineare a variabili misto-intere per problema.

Management Sanitario. Modulo di Ricerca Operativa

Esame di Ricerca Operativa del 04/02/16. Esercizio 1. Completare la seguente tabella considerando il problema di programmazione lineare:

5.1 Metodo Branch and Bound

Esame di Ricerca Operativa del 13/06/17. Esercizio 1. Completare la seguente tabella considerando il problema di programmazione lineare:

Esame di Ricerca Operativa del 18/06/18

Esame di Ricerca Operativa del 09/06/15. Esercizio 1. Completare la seguente tabella considerando il problema di programmazione lineare:

Algoritmi esatti. La teoria ci dice che per problemi difficili (come il

Esame di Ricerca Operativa del 12/06/18. Base x Degenere? y Indice Rapporti Indice uscente entrante

Esame di Ricerca Operativa del 16/06/2015

RICERCA OPERATIVA. Tema d esame del 04/12/2008 (Simulazione 1)

Domini di funzioni di due variabili. Determinare i domini delle seguenti funzioni di due variabili (le soluzioni sono alla fine del fascicolo):

RICERCA OPERATIVA (a.a. 2015/16) Nome: Cognome: Matricola:

Problemi di Flusso: Il modello del Trasporto

Esame di Ricerca Operativa del 09/01/15. Esercizio 1. Completare la seguente tabella considerando il problema di programmazione lineare:

Esame di Ricerca Operativa del 19/01/2016

Esame di Ricerca Operativa del 15/01/2015

Esame di Ricerca Operativa del 15/01/2015

1) Data la seguente istanza di TSP (grafo completo con 5 nodi): c 12 = 52; c 13 = 51; c 14 = 40; c 15 = 53; c 23 = 44;

Possibile applicazione

Esame di Ricerca Operativa del 07/09/2016

Algoritmo di Branch & Bound

5.5 Metodi generali per la soluzione di problemi

3.6 Metodi basati sui piani di taglio

Esame di Ricerca Operativa del 6/2/18. Esercizio 1. Completare la seguente tabella considerando il problema di programmazione lineare:

Esame di Ricerca Operativa del 19/01/2016

Esame di Ricerca Operativa del 15/01/16. Esercizio 1. Completare la seguente tabella considerando il problema di programmazione lineare:

Esame di Ricerca Operativa del 17/07/17. Esercizio 1. Completare la seguente tabella considerando il problema di programmazione lineare:

COMPITO DI RICERCA OPERATIVA APPELLO DEL 08/01/04

Un esempio di applicazione della programmazione lineare intera al progetto di una rete stradale con vincoli di network survivability

Esame di Ricerca Operativa del 11/07/2016

Problema del trasporto

Esame di Ricerca Operativa. x 1 +2 x 2 6 x 1 +x 2 6 x 1 4 x 1 1

COMPITO DI RICERCA OPERATIVA. max 3x 1 + 2x 2 x x 2 + x 3 = 4 2x 1 + x 2 + x 4 = 3

Algoritmo dibranch & Bound

Transcript:

.1 Progetto di rete con capacità Un azienda deve progettare la propria rete di telecomunicazioni per permettere l invio di una quantità di dati d k 0 per ogni coppia origine-destinazione di nodi (s k,t k ), con k K, che abbia richiesto l uso del servizio. Sia V l insieme dei nodi della rete e A l insieme dei link (archi) di interconnessione. La capacità della rete, inizialmente nulla, può essere aumentata arco per arco installando opportuni dispositivi, ciascuno di capacità unitaria, con un costo, per unità aggiuntiva di capacità, pari a c ij per ogni link (i,j) A. Sia u ij la quantità massima di capacità installabile su ogni link. Sia inoltre s ij il costo corrispondente all istradamento, per ogni arco, di una unità di dati. Per far fronte ai guasti, si richiede che esistano almeno due cammini disgiunti per ogni coppia origine-destinazione con capacità non nulla su ogni arco facentene parte, ovvero che il grafo composto dagli archi di capacità non nulla sia biconnesso. a) Si dia una formulazione di programmazione lineare misto intera per il problema di determinare come installare capacità sugli archi della rete così da poter soddisfare la domanda per ogni coppia origine-destinazione e il requisito di sicurezza, minimizzando il costo complessivo di instradamento e di installazione. Quanti vincoli contiene la formulazione? b) Si supponga ora che il costo di instradamento per ogni arco (i,j) A sia pari alla funzione quadratica f ij : [0,u ij ] R +, definita come f ij (x ij ) := s ij x 2 ij, dove x ij è la quantità di dati instradata. Come va estesa la formulazione al punto precedente se la nuova funzione di costo viene approssimata con una funzione lineare a tratti con tratti, come mostrato in figura? f ij (x ij ) = s ij x 2 ij 1 u ij 2 u ij u ij x ij Documento preparato da S. Coniglio, aggiornato da G.Carello 1

.2 Totale unimodularità della matrice dei vincoli a) Si consideri il problema di organizzazione dei turni di un reparto ospedaliero visto a lezione. Note le esigenze di personale d i pari al numero minimo di infermieri necessario in ogni giorno della settimana i = 1,...,7, si richiede di organizzare i turni settimanali in modo da minimizzare il numero di infermieri coinvolti rispettando le esigenze e i vincoli di servizio, secondo i quali un infermiere lavora per 5 giorni consecutivi seguiti da due giorni di riposo. Si scriva in forma matriciale la formulazione di programmazione lineare intera. Che struttura ha la matrice dei vincoli? È totalmente unimodulare? Si sfrutti la definizione di totale unimodularità. b) Si studi ora la variante del problema al punto precedente in cui, invece di considerare ciclicamente i 7 giorni della settimana, si considerino solo i primi 7 giorni del mese della prima settimana di settembre, nell ipotesi che, nei 7 giorni precedenti, tutti gli infermieri dell ospedale in oggetto fossero in vacanza. Come cambia il problema e che struttura ha la nuova matrice dei vincoli? È totalmente unimodulare? Si sfrutti la condizione necessaria e sufficiente vista a lezione.. Formulazioni ideali Si consideri il problema di localizzazione ottima senza vincoli di capacità visto a lezione. Noto l insieme N dei siti nei quali si possono localizzare i depositi, l insieme M dei clienti, il costo fisso f j di utilizzo del deposito j N e il costo c ij di trasporto, corrisposto se tutta la domanda del cliente i è soddisfatta dal deposito j, si richiede di determinare dove localizzare i depositi così da soddisfare la domanda dei clienti, minimizzando i costi di trasporto e di utilizzo. Data la formulazione di programmazione lineare intera più stringente (vista a lezione), se ne consideri il sottoproblema ottenuto considerando i soli vincoli di legame tra le variabili di locazione y j e quelle di trasporto x ij : x ij y j per i M,j N x ij {0,1} per i M,j N y j {0,1} per j N. La regione ammissibile del rilassamento continuo del sottoproblema è un poliedro con tutti i vertici (punti estremi) a coordinate intere? Si può dedurre qualcosa circa il problema complessivo? Documento preparato da S. Coniglio, aggiornato da G.Carello 2

.4 Branch and Bound per TSP a) Si consideri il grafo riportato in figura. 5 1 6 1 2 11 24 2 4 25 29 15 4 27 Si risolva il problema del commesso viaggiatore applicando il metodo del Branch and Bound, usando come rilassamento il 2-albero e calcolando la soluzione euristica con l algoritmo nearest neighbor. Si discuta la strategia di branching. b) Si consideri l esempio di TSP asimmetrico descritto dalla seguente matrice delle distanze: 4 6 6 9 c ij = 2 1 7 9 4 Si risolva il problema del commesso viaggiatore, applicando il metodo del Branch and Bound, calcolando il lower bound tramite l assegnamento. Si discuta la strategia di branching..5 Branch and Bound per PLI Si consideri il problema seguente di programmazione lineare intera: max x 1 +2x 2 s.t. x 1 +x 2 2 2x 1 +4x 2 9 x 1,x 2 N. Se ne trovi una soluzione ottima mediante l algoritmo di Branch and Bound, risolvendo i rilassamenti continui per via grafica. Ad ogni iterzione in cui vi siano più nodi non ancora esplorati, si esplori quello con bound più promettente. Documento preparato da S. Coniglio, aggiornato da G.Carello

Soluzione.1 Progetto di rete con capacità a) Diamo la seguente formulazione del problema: Insiemi V: insieme dei nodi del grafo A: insieme degli archi del grafo K: insieme degli indici delle coppie di origine-destinazione (s k,t k ) Parametri d k : domanda per la coppia k-esima c ij : costo per unità di capacità aggiunta per l arco (i,j) A u ij : quantità massima di capacità installabile sull arco (i,j) A s ij : costo per unità di dati instradata sull arco (i,j) Variabili x k ij 0: quantità di dati relativi alla coppia k-esima instradati sull arco (i,j) A y ij Z + : quantità di capacità installata sull arco (i,j) A Modello min s.t. (i,j) δ + (i) k K (i,j) A x k ij (j,i) δ (i) s ij x k ij + (i,j) A x k ji = x k ij y ij, k K y ij u ij, x k ij 0, y ij Z + c ij y ij d k se i = s k d k se i = t k 0 altrimenti per i V,k K (i,j) A (i,j) A (i,j) A,k K (i,j) A Documento preparato da S. Coniglio, aggiornato da G.Carello 4

Per garantire l esistenza di due cammini disgiunti per ogni coppia, introduciamo le variabili z ij {0,1} per ogni arco (i,j) K e i vincoli y ij z ij, (i,j) A y ij u ij z ij, (i,j) A z ij 2, S V : s k S,t k / S,k K (i,j) δ(s) z ij {0,1}, (i,j) A Il primo vincolo garantisce che la variabile y ij possa essere > 0 solo se z ij = 1, il secondo (sostituibile al vincolo y ij u ij della formulazione precedente) garantisce che la variabile z ij sia uguale a 1 solo se è installata capacità sull arco corrispondente. In tal modo, abbiamo z ij = 1 se e solo se y ij > 0. È allora immediato introdurre il vincolo (i,j) δ(s) z ij 2, espresso per ogni S V : s k S,t k / S,k K, per garantire l esistenza di due cammini disgiunti da s k a t k. Per osservarne la correttezza, si provi a costruire due cammini non disgiunti (o persino un singolo cammino) da s k a t k e si osservi che esiste sempre almeno un insieme S per cui il vincolo è violato. Chiaramente, la formulazione ha un numero esponenziale di righe proprio a causa del vincolo in questione. b) Modellizziamo l approssimazione lineare a tratti della funzione di costo quadratica. Ne dividiamo il dominio [0,u ij ] in tre sottoinsiemi di uguale misura: [0, u ij ] [u ij, 2 u ij] [ 2 u ij,u ij ]. L approssimazione lineare a tratti corrisponde alla funzione seguente: ˆf ij (x) = ˆf 1 ij (x ij) = s ij ( uij ) 2 u ij x ij ˆf ij 2(x ij) = s ij( 2 u ij) 2 ( uij s ij u ij ˆf ij (x ij) = s ij(u ij ) 2 s ij( 2 u ij) 2 u ij ) 2 per 0 x ij u ij ( xij u ) ( ij uij ) 2 +sij per u ij x ij 2 u ij ( xij 2 u ) ( 2 ij +sij u ) 2 ij per 2 u ij x ij u ij Chiaramente, la funzione approssimante ˆf ij (x) è convessa. Si osservi che, in ogni punto x [0,u ij ], tale funzione è pari a max{fij 1(x),f2 ij (x),f ij (x)}. Dato che ˆf ij (x) prende valori nonnegativi e stiamo affrontando un problema di minimizzazione, possiamo modellizzare max{fij 1(x),f2 ij (x),f ij (x)} introducendo la variabile e in vincoli η ij : costo totale di instradamento sull arco(i,j) A η ij ˆf 1 ij(x ij ) per (i,j) A η ij ˆf 2 ij(x ij ) per (i,j) A η ij ˆf ij(x ij ) per (i,j) A dove, in luogo di ˆf1 ij (x ij ), ˆf 2 ij (x ij) e ˆf ij (x ij), riporteremo la corrispondente espressione lineare precedentemente derivata. Sostituiamo quindi al termine (i,j) A s ij ( k K xk ij) 2 in funzione Documento preparato da S. Coniglio, aggiornato da G.Carello 5

obiettivo la quantità η ij. (i,j) A La minimizzazione garantisce che ogni soluzione in ogni soluzione in cui η ij non sia pari a max{fij 1(x),f2 ij (x),f ij (x)} non sia ottima, dato che una soluzione di costo strettamente inferiore sarebbe ottenibile riducendo η ij così da renderlo pari a max{fij 1(x),f2 ij (x),f ij (x)}..2 Totale unimodularità a) Riportiamo la formulazione di programmazione lineare intera vista a lezione per un caso specifico. Assumiamo che le variabili x 0,...,x 6 Z + denotino il numero di infermieri il cui turno inizia, rispettivamente, Lunedì, Martedì,..., Domenica. Il modello è: min x 0 + x 1 + x 2 + x + x 4 + x 5 + x 6 x 0 + x + x 4 + x 5 + x 6 11 (Lun) x 0 + x 1 + x 4 + x 5 + x 6 9 (Mar) x 0 + x 1 + x 2 x 5 + x 6 7 (Mer) x 0 + x 1 + x 2 + x + x 6 12 (Gio) x 0 + x 1 + x 2 + x + x 4 1 (Ven) x 1 + x 2 + x + x 4 + x 5 8 (Sab) x 2 + x + x 4 + x 5 + x 6 5 (Dom) x 0, x 1, x 2, x, x 4, x 5, x 6 Z + La matrice dei vincoli del problema A = 1 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 0 0 0 1 1 1 1 1 ha determinante pari a 5 ed è chiaramente non unimodulare. b) La nuova formulazione è la seguente, dove le variabili y 0,...,y 6 Z + denotano il numero di infermieri il cui turno inizia, rispettivamente, il primo, secondo,..., settimo giorno. Il modello è: Documento preparato da S. Coniglio, aggiornato da G.Carello 6

min y 0 + y 1 + y 2 + y + y 4 + y 5 + y 6 y 0 11 (1mo) y 0 y 1 9 (2ndo) y 0 y 1 y 2 7 (rzo) y 0 y 1 y 2 y 12 (4rto) y 0 y 1 y 2 y y 4 1 (5nto) y 1 y 2 y y 4 y 6 8 (6sto) y 2 y y 4 y 6 y 7 8 (7imo) y 0, y 1, y 2, y, y 4, y 5, y 6 Z + La matrice dei vincoli del problema in esame corrisponde a: 1 0 0 0 0 0 0 1 1 0 0 0 0 0 1 1 1 0 0 0 0 A = 1 1 1 1 0 0 0 1 1 1 1 1 0 0 0 1 1 1 1 1 0 0 0 1 1 1 1 1 La continuità dei turni sui periodi di tempo garantisce che la matrice A dei vincoli soddisfi la proprietà degli uni consecutivi, ossia che (eventualmente a valle di una permutazione) per ogni colonna di indice j di A, si ha che se a ij = a i j per i > i, allora a i j = 1 per tutti gli i : i < i < i. In altre parole, se la colonna j contiene un 1 in posizione i e i, allora deve contenerne uno anche in tutte le posizioni intermedie i. Ogni matrice con questa proprietà è totalmente unimodulare (TUM). Per mostrarlo, usiamo la condizione necessaria e sufficiente per cui una matrice è TUM se e solo se è possibile partizionarne le righe così che, per ogni colonna, la differenza nel numero di 1 presenti in una e nell altra partizione sia di la più un elemento. Per un problema con m righe, una partizione che soddisfa la condizione è {i = 1,...,m : i 2 = 0} {i = 1,...,m : i 2 = 1}. Documento preparato da S. Coniglio, aggiornato da G.Carello 7

. Formulazioni ideali Consideriamo un esempio per M{1,2,},N = {1,2} e riportiamo il rilassamento continuo del sottoproblema in forma matriciale: x 11 y 1 0 x 12 y 2 0 x 21 y 1 0 x 22 y 2 0 x 1 y 1 0 x 2 y 2 0 x 11 1 x 12 1 x 21 1 x 22 1 x 1 1 x 2 1 x 11 0 x 12 0 x 21 0 x 22 0 x 1 0 x 2 0 y 1 1 y 2 1 y 1 0 y 2 0 Applichiamo la condizione necessaria e sufficiente. Per farlo, partizioniamo le colonne in due sottoinsiemi, col primo pari all insieme di tutte le colonne e il secondo pari all insieme vuoto. Evidentemente, la differenza per ogni riga tra la somma degli elementi nelle due colonne è 0 o -1, garantendo dunque la totale unimodularità della matrice, la quale, a sua volta, garantisce l integralità del sottoproblema. Purtroppo, questo non ci permette di dire nulla circa l interezza del problema complessivo. Difatti, ci aspettiamo che intersecando il poliedro corrispondente al sottoproblema con gli altri vincoli presenti nel problema originale compaiano nuovi vertici a coordinate frazionarie. Documento preparato da S. Coniglio, aggiornato da G.Carello 8

.4 Branch and Bound per TSP a) L albero di branch and bound è riportato in figura. P: 2-albero di costo minimo: {{1,2},{1,},{2,},{,4},{4,5}}, di costo 105 = z R (P). La soluzione calcolata con l algoritmo Nearest neighbor fornisce il ciclo 1-2--4-5, di costo 11 = z H (P). P 1 : il 2-albero di costo minimo è il ciclo 1-2--4-5, di costo 11. P 1 viene chiuso. P 2 : il 2-albero di costo minimo è il ciclo 1-2-5-4-, di costo 114. P 2 viene chiuso. P : il 2-albero di costo minimo è {{1,},{1,5},{4,5},{1,2},{2,}} di costo 109. P 4 : il 2-albero di costo minimo è {{1,},{1,5},{4,5},{2,5},{2,}} di costo 122. P 5 : il sottoproblema non contiene soluzioni ammissibili (x 1 = 1 e x 1 = 0). P 6 : il sottoproblema non contiene soluzioni ammissibili (x 2 = 1, x 1 = 1, x 12 = 1). La soluzione ottima è 1-2--4-5, di costo 11. 11,11 P 1 x 1 = 0 105,11 P x 2 = 0 x 1 = 1 114,11 P 2 122,11 P 4 x 4 = 0 x 2 = 1 x 1 = 1 x 12 = 0 b) L albero di branch and bound è riportato in figura. 109,11 x 15 = 0 P x 1 = 1 x 12 = 1 x 1 = 0 x 12 = 1 P 5 P 6 P: la soluzione dell assegnamento è {{1,2},{2,1},{,4},{4,}}, di costo 12. P 1 : la soluzione dell assegnamento è il ciclo 1-4--2, di costo 1. P 1 viene chiuso. P 2 : la soluzione dell assegnamento è il ciclo 1-2--4, di costo 18. P 2 viene chiuso. 12 x 12 = 0 P x 21 = 0 x 12 = 1 1 P 1 P 2 18 Documento preparato da S. Coniglio, aggiornato da G.Carello 9

.5 Branch-and-bound L albero di enumerazione è riportato nella seguente figura, con rappresentazioni qualitative delle regioni ammissibili in ogni nodo. Documento preparato da S. Coniglio, aggiornato da G.Carello 10

Documento preparato da S. Coniglio, aggiornato da G.Carello 11