Progetto di Reti di Telecomunicazione Modelli in Programmazione Lineare Problemi di Network design Network Design È data una rete rappresentata su da un grafo G = (V, A) e un insieme di domande K, ciascuna caratterizzata da un nodo sorgente s k, un nodo destinazione t k e una quantità di traffico che deve essere instradata d k. Le domande di traffico devono essere instradate su un unico cammino. Su ogni arco della rete può essere installata una capacità, installando dei canali trasmissivi direzionati, ciascuno di capacità λ. Per ogni arco è dato il costo c ij di installazione di un canale trasmissivo sull arco (i, j). Si richiede di trovare l instradamento di ciascuna domanda, la topologia della rete, ovvero quali archi debbano essere attivati e quali no, e il dimensionamento della rete, ovvero quanta capacità debba essere installato su ogni arco, in modo da instradare tutte le domande a costo minimo. Variabili: Modello con flussi sugli archi x k ij y ij (i, j) A : flusso sull arco (i, j) A relativo alla domanda k (i, j) A : numero di canali installati sull arco (i, j). Funzione obiettivo: Vincoli: min c ij y ij bilanciamento ai nodi: x k ij + 1 se i = s k, x k ji = 1 se i = t k (j,i) A 0 se i s k, t k, i V, k K
dimensionamento della capacità degli archi: d k x k ij λy ij, (i, j) A Dominio delle variabili: x k ij {0, 1} y ij Z + k K Dimensione della formulazione: Numero di variabili : A K binarie + A intere Numero di vincoli : N K + A Modello con flussi sui cammini Indichiamo con P l insieme di tutti i possibili cammini che collegano i nodi del grafo, con P k i cammini che collegano gli estremi della domanda k e con P ij i cammini che passano per l arco (i, j). Il costo di un cammino è definito come c p = (i,j) p c ij. Variabili (definiscono i flussi sui cammini): x p y ij p P : vale 1 se la domanda k è instradata sul cammino p P k (i, j) A : numero di canali installati sull arco (i, j). Funzione obiettivo: min p P c p x p Vincoli: instradamento delle domande: p P k x p = 1 k K
dimensionamento della capacità degli archi: d k x p λy ij, (i, j) A k:p P k Dominio delle variabili: x p {0, 1} y ij Z + p P ij Dimensione della formulazione: Numero di variabili : esponenziale Numero di vincoli : K + A Esercizio Formulare il problema in presenza di un costo di attivazione degli archi, che viene pagato se l arco viene utilizzato.
Network design con protezione e dimensionamento dei nodi Al problema descritto sopra si aggiunge il dimensionamento dei nodi e la richiesta di robustezza della rete: Dimensionamento dei nodi. Ad ogni nodo i N è associato un costo di attivazione φ i e una capacità massima γ i, che rappresenta il massimo flusso entrante che un nodo può gestire. Su ogni nodo devono essere poi installate delle interfacce che servono per gestire i canali trasmissivi entranti nel nodo stesso. Per ogni nodo i N è definito un costo di interfaccia b i e una capacità di interfaccia µ i, che rappresenta il numero di canali che l interfaccia può gestire. Robustezza. Per garantire la robustezza ai guasti, sia di arco che di nodo, si richiede che per ogni domanda siano definiti due cammini, un cammino primario e uno di backup, su ciascuno dei quali è installata una capacità dedicata alla domanda stessa. I due cammini non devono avere archi o nodi in comune. Il problema richiede di definire l instradamento delle domande e il dimensionamento di nodi e archi, in modo che il costo totale della rete sia minimo e che siano rispettati i vincoli di instradamento delle domande e di robustezza. Variabili: Modello con flussi sugli archi x k ij y ij z i (i, j) A : flusso sull arco (i, j) A relativo alla domanda k (i, j) A : numero di canali installati sull arco (i, j). i N : vale 1 se il nodo i è usato s i i N : numero di interfacce installate sul nodo i. Funzione obiettivo: min c ij y ij + i N (φ i z i + b i s i )
Vincoli: bilanciamento ai nodi - presenza di due cammini disgiunti in arco: x k ij + 2 se i = s k, x k ji = 2 se i = t k i V, k K (j,i) A 0 se i s k, t k, dimensionamento della capacità degli archi: x k ij λy ij, (i, j) A k K dimensionamento dei nodi: (j,i) A y ji µ i s i capacità e attivazione dei nodo: x k ji γ i z i k K (j,i) A i N i N robustezza ai guasti di nodo - cammini disgiunti in nodo: x k ji 1 i N, k K Dominio delle variabili: x k ij {0, 1} y ij Z + z i {0, 1} s i Z + (j,i) A
Il vincolo di capacità di attivazione dei nodi può essere formulato in modo alternativo: capacità dei nodi attivazione dei nodi x k ji γ i k K (j,i) A i N x k ji z i i N, j N : (j, i) A, k K Esercizio Formulare il problema usando variabili di flusso sui cammini. Esercizio Calcolare le dimensioni di entrambe le formulazioni.
Network Design con canali bidirezionali È data una rete rappresentata su da un grafo G = (V, A) e un insieme di domande K, ciascuna caratterizzata da un nodo sorgente s k, un nodo destinazione t k e una quantità di traffico che deve essere instradata d k. Le domande di traffico devono essere instradate su un unico cammino. Su ogni arco della rete può essere installata una capacità, installando dei canali trasmissivi che offrono capacità λ in entrambe le direzioni. Per ogni arco è dato il costo c ij di installazione di un canale trasmissivo sull arco (i, j). Si richiede di trovare l instradamento di ciascuna domanda, la topologia della rete, ovvero quali archi debbano essere attivati e quali no, e il dimensionamento della rete, ovvero quanta capacità debba essere installato su ogni arco, in modo da instradare tutte le domande a costo minimo. Variabili: Modello con flussi sugli archi x k ij (i, j) A : flusso sull arco (i, j) A relativo alla domanda k y ij (i, j) A : i < j : numero di canali installati sull arco (i, j) (non direzionato). Funzione obiettivo: Vincoli: min : i<j c ij y ij bilanciamento ai nodi: x k ij + 1 se i = s k, x k ji = 1 se i = t k (j,i) A 0 se i s k, t k, i V, k K
dimensionamento della capacità degli archi: d k x k ij λy ij, (i, j) A : i < j k K d k x k ji λy ij, (i, j) A : i < j k K I due vincoli traducono il dimensionamento non lineare λy ij max{x k ij, x k ji}. Dominio delle variabili: x k ij {0, 1} y ij Z + Esercizio Formulare il problema usando le variabili di flusso sui cammini.