Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
DI COSTO MINIMO
Ricerca Operativa
1 / 12
Introduzione
• Un famoso problema della teoria dei grafi è il problema dell’albero
ricoprente (spanning tree in inglese) di costo minimo.
3 / 12
Albero ricoprente di costo minimo: Esempio
a 9 a 9
b b
2 6 2 6
d d
5 5 5 5
4 4
4 4
c e c e
5 5
• Come ottenere in generale un albero ricoprente di costo minimo?
• Modello di programmazione lineare del problema?
4 / 12
Albero ricoprente di costo minimo
- Un modello di programmazione lineare per il problema (cij rappresenta il
costo dello spigolo (i, j)):
xij ∈ {0, 1}
= 1 se lo spigolo (i, j) ∈ E è scelto nell’albero ricoprente; = 0 altrimenti.
X
min cij xij (minimizzazione della somma dei costi)
(i,j)∈E
X
xij = |V | − 1 (selezione di |V | − 1 spigoli)
(i,j)∈E
X
xij ≤ |S| − 1 ∀S ⊆ V
(i,j)∈E :i∈S,j∈S
6 / 12
Algoritmo di Kruskal
7 / 12
Algoritmo di Kruskal: Esempio
Iterazione 1: spigolo (a, d) X Iterazione 2: spigolo (d, e) X
a 9 a 9
b b
2 6 2 6
d d
5 5 5 5
4 4
4 4
c e c e
5 5
d d
5 5 5 5
4 4
4 4
c e c e
5 5
9 / 12
Algoritmo di Prim
10 / 12
Algoritmo di Prim: Esempio (partendo dal vertice e)
Iterazione 1: {e} ∈ T Iterazione 2: {d, e} ∈ T
→ (e, d) X → (a, d) X
a 9 a 9
b b
2 6 2 6
d d
5 5 5 5
4 4
4 4
c e c e
5 5
Iterazione 3: {a, d, e} ∈ T Iterazione 4: {a, c, d, e} ∈ T
→ (c, d) X → (b, e) X
a 9 a 9
b b
2 6 2 6
d d
5 5 5 5
4 4
4 4
c e c e
5 5 11 / 12
Algoritmo di Prim: Esempio (partendo dal vertice e)
12 / 12