u ottimizzazione su reti - network optimization u testi : u network flows: theory, algorithms, and...

18
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

Upload: federica-rossetti

Post on 02-May-2015

224 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: U Ottimizzazione su Reti - Network Optimization u Testi : u Network Flows: Theory, Algorithms, and Applications, Ahuja, Magnanti, Orlin u Linear Programming

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

Page 2: U Ottimizzazione su Reti - Network Optimization u Testi : u Network Flows: Theory, Algorithms, and Applications, Ahuja, Magnanti, Orlin u Linear Programming

Koenigsberg Bridge Problem

Introduzione alle Reti ed agli algoritmi di rete

Flusso su Reti e applicazioni

grafi e reti

Page 3: U Ottimizzazione su Reti - Network Optimization u Testi : u Network Flows: Theory, Algorithms, and Applications, Ahuja, Magnanti, Orlin u Linear Programming

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

Page 4: U Ottimizzazione su Reti - Network Optimization u Testi : u Network Flows: Theory, Algorithms, and Applications, Ahuja, Magnanti, Orlin u Linear Programming

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?

Page 5: U Ottimizzazione su Reti - Network Optimization u Testi : u Network Flows: Theory, Algorithms, and Applications, Ahuja, Magnanti, Orlin u Linear Programming

I ponti di Koenigsberg: Euler 1736

A

D

C

B

1 2

4

3

7

65

Modellazione (Concettualizzazione): I posti a terra sono “nodi”.

Page 6: U Ottimizzazione su Reti - Network Optimization u Testi : u Network Flows: Theory, Algorithms, and Applications, Ahuja, Magnanti, Orlin u Linear Programming

I ponti di Koenigsberg: Euler 1736

1 2

4

3

7

65

Modellazione : i ponti sono “archi.”

A

C

D

B

Page 7: U Ottimizzazione su Reti - Network Optimization u Testi : u Network Flows: Theory, Algorithms, and Applications, Ahuja, Magnanti, Orlin u Linear Programming

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

Page 8: U Ottimizzazione su Reti - Network Optimization u Testi : u Network Flows: Theory, Algorithms, and Applications, Ahuja, Magnanti, Orlin u Linear Programming

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)

Page 9: U Ottimizzazione su Reti - Network Optimization u Testi : u Network Flows: Theory, Algorithms, and Applications, Ahuja, Magnanti, Orlin u Linear Programming

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

Page 10: U Ottimizzazione su Reti - Network Optimization u Testi : u Network Flows: Theory, Algorithms, and Applications, Ahuja, Magnanti, Orlin u Linear Programming

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.

Page 11: U Ottimizzazione su Reti - Network Optimization u Testi : u Network Flows: Theory, Algorithms, and Applications, Ahuja, Magnanti, Orlin u Linear Programming

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

Page 12: U Ottimizzazione su Reti - Network Optimization u Testi : u Network Flows: Theory, Algorithms, and Applications, Ahuja, Magnanti, Orlin u Linear Programming

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

Page 13: U Ottimizzazione su Reti - Network Optimization u Testi : u Network Flows: Theory, Algorithms, and Applications, Ahuja, Magnanti, Orlin u Linear Programming

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.

Page 14: U Ottimizzazione su Reti - Network Optimization u Testi : u Network Flows: Theory, Algorithms, and Applications, Ahuja, Magnanti, Orlin u Linear Programming

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).

Page 15: U Ottimizzazione su Reti - Network Optimization u Testi : u Network Flows: Theory, Algorithms, and Applications, Ahuja, Magnanti, Orlin u Linear Programming

Cicli Hamiltoniani

un ciclo hamiltoniano è un ciclo che tocca ciascun nodo esattamente una volta

noto come traveling salesman tour.

Page 16: U Ottimizzazione su Reti - Network Optimization u Testi : u Network Flows: Theory, Algorithms, and Applications, Ahuja, Magnanti, Orlin u Linear Programming

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

Page 17: U Ottimizzazione su Reti - Network Optimization u Testi : u Network Flows: Theory, Algorithms, and Applications, Ahuja, Magnanti, Orlin u Linear Programming

il gioco di Hamilton

viene risolto come problema del commesso viaggiatore

start

Page 18: U Ottimizzazione su Reti - Network Optimization u Testi : u Network Flows: Theory, Algorithms, and Applications, Ahuja, Magnanti, Orlin u Linear Programming

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