Modelli di Programmazione Lineare PRTLC - Modelli
Schema delle esercitazioni Come ricavare la soluzione ottima Modelli Solver commerciali Come ricavare una stima dell ottimo Rilassamento continuo - generazione di colonne Rilassamento Lagrangiano e surrogato Come ricavare una soluzione ammissibile Euristiche greedy Euristiche di ricerca locale
Modelli per problemi di telecomunicazione Network design (progetto di rete) Flusso multiprodotto Network design Localizzazione di facility Antenne Concentratori
Flusso multiprodotto (multicommodity) Dati Un grafo orientato G = (N,A). La capacità u ij e il costo c ij associati ad ogni arco (i,j) A. Un insieme di domande K, ciascuna descritta da sorgente sk N destinazione tk N quantità di flusso associato alla domanda dk Non ci sono due domande con la stessa copia origine-destinazione. Problema Instradare tutte le domande a costo minimo, rispettando le capacità degli archi
Modello per archi Variabili decisionali Quantità di flusso relativo ad ogni domanda k su ogni arco (i,j): x k ij 0 (i,j) A, k K Funzione obiettivo min (i,j) Ak K c ij x k ij
Modello per archi Vincoli Bilanciamento ai nodi (garantisce instradamento della domanda): (i,j) A x k ij (j,i) A d k se i = s k, xji k = d k se i = t k 0 se i s k,t k, i N, k K capacità degli archi: k K x k ij u ij, (i,j) A dominio delle variabili: x k ij 0, (i,j) A
Dimensione della formulazione Numero di variabili : A K Numero di vincoli : N K + A
Modello per flussi Si basa sul flusso sui cammini del grafo anziché sugli archi Esempio : Domanda da 1 a 6 x 24 2 4 x 12 x 46 1 6 x 13 x 56 3 x 35 5 invece di x 12,x 24,x 46 usiamo x p1, dove p1 è il cammino rosso invece di x 13,x 35,x 56 usiamo x p2, dove p2 è il cammino blu
Modello per cammini Parametri P l insieme di tutti i possibili cammini che collegano nodi del grafo P k insieme dei cammini che collegano gli estremi della domanda k P ij insieme dei cammini che passano per l arco (i,j) Il costo di un cammino : c p = (i,j) p c ij.
Modello per cammini Variabili decisionali Quantità di flusso che passa su ogni cammino (relativo a una precisa domanda): x p 0 p P Funzione obiettivo min c p x p p P
Modello per cammini Vincoli instradamento delle domande: capacità degli archi: p P k x p = d k p P ij x p u ij, k K (i,j) A dominio delle variabili: x p 0
Dimensione della formulazione Numero di variabili : esponenziale generazione di colonne, per evitare di enumerare tutti i possibili cammini Numero di vincoli : K + A
Network design Come cambia il problema Ogni domanda deve usare un solo cammino (routing unsplittable) La capacità degli archi non è data ma deve essere stabilita come risultato dell ottimizzazione, decidendo il numero di canali trasmissivi da installare su ogni arco: dimensionamento della rete Se si decide che un arco ha capacità nulla, l arco non appartiene alla rete: design topologico della rete
Il problema Dati Un grafo orientato G = (N,A). Un insieme di domande di traffico K, ciascuna descritta da sorgente sk N destinazione tk N domanda dk La capacità λ fornita da ogni canale trasmissivo Il costo c ij di installare un canale trasmissivo sull arco (i,j) A. Problema Instradare tutte le domande, decidere quanti canali trasmissivi installare su ogni arco a costo minimo
Modello per archi Variabili decisionali Instradamento di ogni domanda k è rappresentato da una variabile binaria che indica se la domanda è instradata o meno sull arco: x k ij {0,1} Numero di canali installati sull arco (i, j): (i,j) A, k K y ij Z + (i,j) A Funzione obiettivo min c ij y ij (i,j) A
Modello per archi Vincoli Bilanciamento ai nodi: j N: (i,j) A xij k xji k = j N: (j,i) A 1 se i = s k, 1 se i = t k 0 se i s k,t k, i N, k K Dimensionamento della capacità degli archi: k K Dominio delle variabili: x k ij {0,1} yij Z + d k x k ij λy ij, (i,j) A
Dimensione della formulazione Numero di variabili : A K binarie + A intere Numero di vincoli : N K + A
Modello per cammini Parametri P l insieme di tutti i possibili cammini che collegano nodi del grafo P k insieme dei cammini che collegano gli estremi della domanda k P ij insieme dei cammini che passano per l arco (i,j)
Modello per cammini Variabili decisionali Instradamento delle domande, rappresentato da variabili logiche che indicano se una domanda usa o meno un cammino: x p {0,1} Numero di canali installati sull arco (i, j): p P y ij Z + (i,j) A Funzione obiettivo min c ij y ij (i,j) A
Modello per cammini Vincoli instradamento delle domande: x p = 1 p P k k K dimensionamento della capacità degli archi: d k x p λy ij, (i,j) A k:p P k p P ij Dominio delle variabili: xp {0,1} yij Z +
Dimensione della formulazione Numero di variabili : esponenziale (generazione di colonne per risolvere il rilassamento continuo) Numero di vincoli : K + A
Canali bidirezionali Canali bidirezionali Ogni canale trasmissivo offre la stessa capacità λ in entrambe le direzioni Domande splittable Le domande possono suddividersi su più cammini Variabili decisionali Istradamento: 0 x k ij 1 (i,j) A, k K Numero di canali installati sull arco non direzionato {i, j}: y ij Z + {i,j} A : i < j
Modello per archi Funzione obiettivo: min (i,j) A: i<j c ij y ij Vincoli Bilanciamento ai nodi: j N: (i,j) A xij k xji k = j N: (j,i) A 1 se i = s k, 1 se i = t k 0 se i s k,t k, i N, k K
Modello per archi Vincoli Dimensionamento della capacità degli archi: { λy ij max d k xij, } k d k xji k k K k K è un vincolo non lineare: si può linearizzare d k xij k λy ij, (i,j) A : i < j k K d k xji k λy ij, k K Dominio delle variabili: x k ij 0,xij k 1 yij Z + (i,j) A : i < j
Esercizio Esercizio Scrivere il modello per cammini del problema
Network design con protezione e dimensionamento dei nodi Dimensionamento dei nodi Ad ogni nodo i N sono associati Un costo di attivazione φi Una capacità massima γi (massimo flusso entrante che un nodo può gestire) Su ogni nodo bisogna installate delle interfacce che servono per gestire i canali trasmissivi incidenti: Costo di interfaccia bi Capacità di interfaccia µi (numero di canali in entrata che l interfaccia può gestire)
Network design con protezione e dimensionamento dei nodi Protezione da guasti di nodo e arco Per ogni domanda devono essere definiti due cammini, un cammino primario e uno di backup Su ogni cammino è installata tutta la capacità richiesta dalla domanda che è ad essa dedicata I due cammini non devono avere archi o nodi in comune
Modello per archi Variabili decisionali Instradamento x k ij {0,1}, (i,j) A Dimensionamento degli archi y ij Z + (i,j) A Apertura dei nodi (indica se il nodo i è usato nella soluzione o no): z i {0,1} i N Dimensionamento dei nodi (indica il numero di interfacce installate sul nodo i): s i Z + i N
Modello per archi Funzione obiettivo min (i,j) Ac ij y ij + (φ i z i +b i s i ) i N Vincoli Bilanciamento ai nodi - presenza di due cammini disgiunti in arco: xij k 2 se i = s k, xji k = 2 se i = t k i N, k K j N: (j,i) A 0 se i s k,t k, j N: (i,j) A
Modello per archi Vincoli Dimensionamento della capacità degli archi: k K d k x k ij λy ij, (i,j) A Capacità e attivazione dei nodo: d k xji k γ i z i k K (j,i) A Dimensionamento dei nodi: y ji µ i s i (j,i) A i N i N
Modello per archi Vincoli Protezione dai guasti di nodo - cammini disgiunti in nodo: (j,i) A x k ji 1 Dominio delle variabili: x k ij {0,1} yij Z + zi {0,1} si Z + i N, k K : i t k
Esercizio Esercizi Come è possibile calcolare due cammini disgiunti in archi, data una rete e una domanda? A quale problema corrisponde? Scrivere il modello per cammini del problema.
Esercizio Il problema Un grafo orientato G = (N,A). Un insieme di domande di traffico K, ciascuna descritta da sorgente sk N destinazione tk N domanda dk La capacità λ fornita da ogni canale trasmissivo Il costo c ij di installare un canale trasmissivo sull arco (i,j) A Il budget massimo B che si può spendere per costruire la rete
Esercizio Obiettivo Pianificare la rete di costo complessivo non superiore a B, in modo da massimizzare la capacità inutilizzata sull arco più occupato, sapendo che le domande non possono essere suddivise su più cammini.