u ottimizzazione su reti - network optimization u testi : u network flows: theory, algorithms, and...
TRANSCRIPT
Ottimizzazione su Reti - Network Optimization
Testi : Network Flows: Theory, Algorithms, and
Applications, Ahuja, Magnanti, Orlin Linear Programming and Network Flows,
Bazaraa, Jarvis, Sherali
grafi e reti
Koenigsberg Bridge Problem
Introduzione alle Reti ed agli algoritmi di rete
Flusso su Reti e applicazioni
grafi e reti
I ponti di Koenigsberg: Euler 1736
“Teoria dei Grafi” 1736 Leonard Eüler
Visitò KoenigsbergLa gente si chiedeva se fosse possibile
effettuare un percorso con inizio e fine coincidenti attraversando ciascun ponte esattamente una volta
Si diceva che fosse impossibile
I ponti di Koenigsberg: Euler 1736
A
D
C
B
1 2
4
3
7
65
E' possibile partire da A, attraversare ciascun ponte esattamente una volta, e tornare in A?
I ponti di Koenigsberg: Euler 1736
A
D
C
B
1 2
4
3
7
65
Modellazione (Concettualizzazione): I posti a terra sono “nodi”.
I ponti di Koenigsberg: Euler 1736
1 2
4
3
7
65
Modellazione : i ponti sono “archi.”
A
C
D
B
I ponti di Koenigsberg: Euler 1736
1 2
4
3
7
65
esiste un “cammino” che parte da A e termina in A e attraversa ciascun arco esattamente una volta?
A
C
D
B
Definizioni
Nodi N = {1, 2, 3, 4}
Rete G = (N, A)
Archi A = {(1,2), (1,4), (3,2), (3,4), (2,4)}
2
34
1
a
b
c
d
e
Grafo (o Rete) non orientato
2
34
1
a
b
c
d
e
Grafo (o Rete) orientato
in un grafo non orientato (i,j) = (j,i)
camm. orientato esempio: 1, 2, 5, 3,4 (oppure 1, a, 2, c, 5, d, 3, e, 4)
•nessun nodo è ripetuto.•la direzione è rispettata.
Ciclo (loop) 1, 2, 3, 1. (oppure 1, a, 2, b, 3, e)
•un cammino con 2 o più nodi, il primo coincide con l'ultimo.
Cammino: esempio: 5, 2, 3, 4. (oppure 5, c, 2, b, 3, e, 4)
•nessun nodo è ripetuto.•la direzione è ignorata.
ciclo orientato: 1, 2, 3, 4, 1oppure 1, a, 2, b, 3, c, 4, d, 1
•ciclo in cui la direzione è rispettata.
2 3 4a b
c
1
5d
e
2
3
4
a b
c d1
e
2 3 4a b
c
1
5d
e
2
3
4
a b
c d1
e
circuiti
2
34
1
a
b
c
d
e
5
cammini in cui nodi e archi possono essere ripetuti
esempio di circuito orientato: 1-2-3-5-4-2-3-5
un circuito è chiuso se il primo e ultimo nodo coincidono.
alberi
2
34
1
Albero: Grafo connesso privo di cicli
Foglie: 1,2,3
Foglia: nodo con un solo arco incidente
Albero ricoprente di un grafo G(N,A): N nodi N-1 archi
2
34
1
a
b
c
d
e
5f g
I ponti di Koenigsberg: Euler 1736
1 2
4
3
7
65
A
C
D
B
esiste un “cammino” che parte da A e termina in A e attraversa ciascun arco esattamente una volta?
ciclo euleriano
provate
aggiungiamo 2 ponti
A, 1, B, 5, D, 6, B, 4, C, 8, A, 3, C, 7, D, 9, B, 2, A
1 2
4
3
7
65
A
C
D
B
8
9
ecco il cammino.
Nota: il numero di archi incidenti in B è il doppio del numero di volte che B compare nel cammino.
cicli Euleriani
1 2
4
3
7
65
A
C
D
B
8
9
Il grado di un nodo in un grafo non orientato è uguale al numero di archi incidenti
6
4
4
4
Teorema. un grafo non orientato possiede un ciclo euleriano se e solo se (1) ogni nodo ha grado pari (2) il grafo è connesso (esiste un cammino tra ogni coppia di nodi).
Cicli Hamiltoniani
un ciclo hamiltoniano è un ciclo che tocca ciascun nodo esattamente una volta
noto come traveling salesman tour.
il gioco di Hamilton
Nel 1857 il matematico irlandese, Sir William Rowan Hamilton, inventò un gioco con la speranza di guadagnarci molto
l'obiettivo del gioco era più o meno quello di trovare un circuito hamiltoniano.il gioco non ebbe successo commerciale
ma la matematica dei cicli hamiltoniani è oggi molto conosciuta
il gioco di Hamilton
viene risolto come problema del commesso viaggiatore
start
Applicazioni
Trasporti Trasporto di beni su reti Scheduling di flotte di aerei: reti spazio/tempo
Produzione Scheduling di beni per la produzione Flusso di prodotti in sistemi inventariati
Comunicazioni Progetto e sviluppo di sistemi di comunicazione Flusso di informazioni su una rete
Assegnazione del personale Assegnazione di equipaggi allo scheduling di flotte Assegnazione di autisti a veicoli