Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Esercizi di Programmazione
Lineare
max Z = 2x1 + x2 + x3
x1 +3x2 +x3 +x4 = 6
2x1 −x2 +x3 +x5 = 5
x1 +x2 +4x3 +x6 = 10
x1 , x2 , x3 , x4 , x5 , x6 ≥ 0.
1
CAPITOLO 1. ESERCIZI DI PROGRAMMAZIONE LINEARE 2
Iterazione 0
Var. x1 x2 x3 x4 x5 x6
base Eq. Z bi
Z (0) 1 −2 −1 −1 0 0 0 0
x4 (1) 0 1 3 1 1 0 0 6
x5 (2) 0 2 −1 1 0 1 0 5
x6 (3) 0 1 1 4 0 0 1 10
Iterazione 1
Var. x1 x2 x3 x4 x5 x6
base Eq. Z bi
Z (0) 1 0 −2 0 0 1 0 5
x4 (1) 0 0 7
2
1
2 1 − 21 0 7
2
x1 (2) 0 1 − 12 1
2 0 1
2 0 5
2
x6 (3) 0 0 3
2
7
2 0 − 21 1 15
2
Iterazione 2
Var. x1 x2 x3 x4 x5 x6
base Eq. Z bi
2 4 5
Z (0) 1 0 0 7 7 7 0 7
x2 (1) 0 0 1 1
7
2
7
− 71 0 1
x1 (2) 0 1 0 4
7
1
7
3
7 0 3
x6 (3) 0 0 0 23
7
− 37 − 72 1 6
Iterazione 0
Var. x1 x2 x3 x4 x5 x6
base Eq. Z bi
Z (0) 1 −3 −1 −6 0 0 0 0
x4 (1) 0 2 0 1 1 0 0 10
x5 (2) 0 1 1 −2 0 1 0 4
x6 (3) 0 3 1 0 0 0 1 5
CAPITOLO 1. ESERCIZI DI PROGRAMMAZIONE LINEARE 4
Iterazione 1
Var. x1 x2 x3 x4 x5 x6
base Eq. Z bi
Z (0) 1 9 −1 0 6 0 0 60
x3 (1) 0 2 0 1 1 0 0 10
x5 (2) 0 5 1 0 2 1 0 24
x6 (3) 0 3 1 0 0 0 1 5
Iterazione 2
Var. x1 x2 x3 x4 x5 x6
base Eq. Z bi
Z (0) 1 12 0 0 6 0 1 65
x3 (1) 0 2 0 1 1 0 0 10
x5 (2) 0 2 0 0 2 1 −1 19
x2 (3) 0 3 1 0 0 0 1 5
Iterazione 0
Var. x1 x2 x3 x4 x5 x6
base Eq. Z bi
Z (0) 1 −7 −1 −8 0 0 0 0
x5 (1) 0 3 −1 1 1 1 0 6
x6 (2) 0 0 1 3 4 0 1 9
Iterazione 1
Var. x1 x2 x3 x4 x5 x6
base Eq. Z bi
5 32 8
Z (0) 1 −7 3 0 3 0 3 24
x5 (1) 0 3 − 43 0 − 13 1 − 13 3
x3 (2) 0 0 1
3 1 4
3 0 1
3 3
Iterazione 2
Var. x1 x2 x3 x4 x5 x6
base Eq. Z bi
Z (0) 1 0 − 13
9 0 89
9
7
3
17
9 31
x1 (1) 0 1 − 49 0 − 19 1
3
− 19 1
x3 (2) 0 0 1
3 1 4
3 0 1
3 3
Iterazione 3
Var. x1 x2 x3 x4 x5 x6
base Eq. Z bi
13 47 7 10
Z (0) 1 0 0 3 3 3 3 44
x1 (1) 0 1 0 4
3
5
3
1
3
1
3 5
x2 (2) 0 0 1 3 4 0 1 9
Iterazione 0
Var. x1 x2 x3 x4 x5 x6
base Eq. Z bi
Z (0) 1 −5 −2 −2 −4 0 0 0
x5 (1) 0 3 1 −1 2 1 0 9
x6 (2) 0 2 5 −2 −1 0 1 8
Iterazione 1
Var. x1 x2 x3 x4 x5 x6
base Eq. Z bi
Z (0) 1 0 − 31 − 11
3
− 23 5
3 0 15
x1 (1) 0 1 1
3
− 13 2
3
1
3 0 3
x6 (2) 0 0 13
3
− 43 − 73 − 32 1 2
Poichè non c’è nessuna variabile candidata ad uscire dalla base significa che
la regione ammissibile e illimitata e quindi
Z = +∞.
CAPITOLO 1. ESERCIZI DI PROGRAMMAZIONE LINEARE 7
x1 +x2 +x3 ≤ 3
2x1 +x2 +x3 ≥ 4
2x1 +3x2 +x3 = 6
x1 , x2 , x3 ≥ 0.
Svolgimento. Scriviamo il problema nella forma aumentata introducendo una
variabile slack, una variabile surplus e due variabili artificiali:
min Z = 3x1 + x2 + x3
x1 +x2 +x3 +x4 = 3
2x1 +x2 +x3 −x5 +x6 = 4
2x1 +3x2 +x3 +x7 = 6
x1 , x2 , x3 , x4 , x5 , x6 , x7 ≥ 0.
Scriviamo ora i problemi che risolve il metodo del simplesso a due fasi:
I Fase
min Z = x6 + x7
x1 +x2 +x3 +x4 = 3
2x1 +x2 +x3 −x5 +x6 = 4
2x1 +3x2 +x3 +x7 = 6
x1 , x2 , x3 , x4 , x5 , x6 , x7 ≥ 0.
II Fase
min Z = 3x1 + x2 + x3
x1 +x2 +x3 +x4 = 3
2x1 +x2 +x3 −x5 = 4
2x1 +3x2 +x3 = 6
x1 , x2 , x3 , x4 , x5 ≥ 0.
Poichè il problema è di minimo dobbiamo trasformarlo in un problema di
massimo cambiando il segno ai due membri della funzione obiettivo in en-
CAPITOLO 1. ESERCIZI DI PROGRAMMAZIONE LINEARE 8
trambi i problemi:
I Fase
max −Z = −x6 − x7
x1 +x2 +x3 +x4 = 3
2x1 +x2 +x3 −x5 +x6 = 4
2x1 +3x2 +x3 +x7 = 6
x1 , x2 , x3 , x4 , x5 , x6 , x7 ≥ 0.
II Fase
max −Z = −3x1 − x2 − x3
x1 +x2 +x3 +x4 = 3
2x1 +x2 +x3 −x5 = 4
2x1 +3x2 +x3 = 6
x1 , x2 , x3 , x4 , x5 ≥ 0.
Le equazioni della I fase sono
Iterazione 0
Var. x1 x2 x3 x4 x5
base Eq. Z x6 x7 bi
Z (0) −1 −4 −4 −2 0 1 0 0 −10
x4 (1) 0 1 1 1 1 0 0 0 3
x6 (2) 0 2 1 1 0 −1 1 0 4
x7 (3) 0 2 3 1 0 0 0 1 6
Iterazione 1
Var. x1 x2 x3 x4 x5
base Eq. Z x6 x7 bi
Z (0) −1 0 −2 0 0 −1 2 0 −2
x4 (1) 0 0 1
2
1
2 1 1
2
− 12 0 1
x1 (2) 0 1 1
2
1
2 0 − 12 1
2 0 2
x7 (3) 0 0 2 0 0 1 −1 1 2
Iterazione 2
Var. x1 x2 x3 x4 x5
base Eq. Z x6 x7 bi
1
Z (0) −1 0 0 0 0 0 2 1 0
x4 (1) 0 0 0 1
2 1 0 − 14 − 14 1
2
x1 (2) 0 1 0 1
2 0 1
4
3
4
− 14 3
2
x2 (3) 0 0 1 0 0 − 34 − 12 1
2 1
Soluzione ottima della prima fase è (3/2, 1, 0, 1/2, 0). Dal tableau finale della
prima fase dobbiamo eliminare le colonne relative alle variabili artificiali, so-
stituire la funzione obiettivo e porre il sistema di equazioni in forma canonica.
Il tableau relativo alle prime due operazioni è il seguente:
CAPITOLO 1. ESERCIZI DI PROGRAMMAZIONE LINEARE 10
II Fase-Tablaeu preliminare
Var. x1 x2 x3 x4 x5
base Eq. Z bi
Z (0) −1 3 1 1 0 0 0
x4 (1) 0 0 0 1
2 1 1
4
1
2
x1 (2) 0 1 0 1
2 0 − 43 3
2
x2 (3) 0 0 1 0 0 1
2 1
II Fase-Eliminazione coeff. di x1
Var. x1 x2 x3 x4 x5
base Eq. Z bi
Z (0) −1 0 1 − 12 0 9
4
− 92
x4 (1) 0 0 0 1
2 1 1
4
1
2
x1 (2) 0 1 0 1
2 0 − 43 3
2
x2 (3) 0 0 1 0 0 1
2 1
II Fase-Eliminazione coeff. di x2
Var. x1 x2 x3 x4 x5
base Eq. Z bi
Z (0) −1 0 0 − 12 0 7
4
− 11
2
x4 (1) 0 0 0 1
2 1 1
4
1
2
x1 (2) 0 1 0 1
2 0 − 43 3
2
x2 (3) 0 0 1 0 0 1
2 1
CAPITOLO 1. ESERCIZI DI PROGRAMMAZIONE LINEARE 11
II Fase-Iterazione 0
Var. x1 x2 x3 x4 x5
base Eq. Z bi
Z (0) −1 0 0 − 21 0 7
4
− 11
2
x4 (1) 0 0 0 1
2 1 1
4
1
2
x1 (2) 0 1 0 1
2 0 − 43 3
2
x2 (3) 0 0 1 0 0 1
2 1
II Fase-Iterazione 1
Var. x1 x2 x3 x4 x5
base Eq. Z bi
Z (0) −1 0 0 0 1 2 −5
x3 (1) 0 0 0 1 2 1
2 1
x1 (2) 0 1 0 0 −1 −1 1
x2 (3) 0 0 1 0 0 1
2 1
max Z = x1 + 5x2
x1 −x2 +x3 = 3
5x1 −2x2 +x4 = 8
−x1 +3x2 −x5 +x6 = 1
x1 , x2 , x3 , x4 , x5 , x6 ≥ 0.
CAPITOLO 1. ESERCIZI DI PROGRAMMAZIONE LINEARE 12
I Fase
max Z = −x4 − x6
x1 −x2 +x3 = 3
5x1 −2x2 +x4 = 8
−x1 +3x2 −x5 +x6 = 1
x1 , x2 , x3 , x4 , x5 , x6 ≥ 0.
II Fase
max Z = x1 + 5x2
x1 −x2 +x3 = 3
5x1 −2x2 = 8
−x1 +3x2 −x5 = 1
x1 , x2 , x3 , x5 ≥ 0.
Le equazioni della I fase sono
I Fase-Iterazione 0
Var. x1 x2 x3 x5
base Eq. Z x4 x6 bi
Z (0) 1 −4 −1 0 0 1 0 −9
x3 (1) 0 1 −2 1 0 0 0 3
x4 (2) 0 5 −2 0 1 0 0 8
x6 (3) 0 −1 3 0 0 −1 1 1
I Fase-Iterazione 1
Var. x1 x2 x3 x5
base Eq. Z x4 x6 bi
Z (0) 1 0 − 13
5 0 4
5 1 0 − 13
5
x3 (1) 0 0 − 35 1 − 15 0 0 7
5
x1 (2) 0 1 − 25 0 1
5 0 0 8
5
13 1 13
x6 (3) 0 0 5 0 5 −1 1 5
I Fase-Iterazione 2
Var. x1 x2 x3 x5
base Eq. Z x4 x6 bi
Z (0) 1 0 0 0 1 0 1 0
x3 (1) 0 0 0 1 2
− 13 3
− 13 3
13 2
x1 (2) 0 1 0 0 3
13
2
− 13 2
13 2
x2 (3) 0 0 1 0 1
13
5
− 13 5
13 1
II Fase-Eliminazione coefficiente di x1
Var. x1 x2 x3 x5
base Eq. Z bi
2
Z (0) 1 0 −5 0 − 13 2
x3 (1) 0 0 0 1 3
− 13 2
x1 (2) 0 1 0 0 2
− 13 2
x2 (3) 0 0 1 0 5
− 13 1
II Fase-Eliminazione coefficiente di x2
Var. x1 x2 x3 x5
base Eq. Z bi
Z (0) 1 0 0 0 − 27
13 7
x3 (1) 0 0 0 1 3
− 13 2
x1 (2) 0 1 0 0 2
− 13 2
x2 (3) 0 0 1 0 5
− 13 1
Scriviamo ora i problemi che risolve il metodo del simplesso a due fasi:
I Fase
min Z = x5 + x7
−4x1 +3x2 +3x3 −x4 +x5 = 2
7x1 +x2 −2x3 −x6 +x7 = 6
x1 , x2 , x3 , x4 , x6 , x5 , x7 ≥ 0.
II Fase
min Z = 6x1 + 3x2 + 4x3
−4x1 +3x2 +3x3 −x4 = 2
7x1 +x2 −2x3 −x6 = 6
x1 , x2 , x3 , x4 , x6 ≥ 0.
Poichè il problema è di minimo dobbiamo trasformarlo in un problema di
massimo cambiando il segno ai due membri della funzione obiettivo in en-
trambi i problemi:
I Fase
max −Z = −x5 − x7
−4x1 +3x2 +3x3 −x4 +x5 = 2
7x1 +x2 −2x3 −x6 +x7 = 6
x1 , x2 , x3 , x4 , x6 , x5 , x7 ≥ 0.
CAPITOLO 1. ESERCIZI DI PROGRAMMAZIONE LINEARE 16
II Fase
max −Z = −6x1 − 3x2 − 4x3
−4x1 +3x2 +3x3 −x4 = 2
7x1 +x2 −2x3 −x6 = 6
x1 , x2 , x3 , x4 , x6 ≥ 0.
Le equazioni della I fase sono
Iterazione 0
Var. x1 x2 x3 x4 x6
base Eq. Z x5 x7 bi
Z (0) −1 −3 −4 −1 1 0 1 0 −8
x5 (1) 0 −4 3 3 −1 1 0 0 2
x7 (2) 0 7 1 −2 0 0 −1 1 6
CAPITOLO 1. ESERCIZI DI PROGRAMMAZIONE LINEARE 17
Iterazione 1
Var. x1 x2 x3 x4 x6
base Eq. Z x5 x7 bi
Z (0) −1 − 25
3 0 3 − 31 4
3 1 0 − 16
3
x2 (1) 0 − 43 1 1 − 13 1
3 0 0 2
3
25 1
x7 (2) 0 3 0 −3 3
− 13 −1 1 16
3
Iterazione 2
Var. x1 x2 x3 x4 x6
base Eq. Z x5 x7 bi
Z (0) −1 0 0 1 0 1 0 1 0
x2 (1) 0 0 1 13
25
7
− 25 7
25
4
− 25 4
25
38
25
x1 (2) 0 1 0 9
− 25 1
25
1
− 25 3
− 25 3
25
16
25
Soluzione ottima della prima fase è (16/25, 38/25, 0). Dal tableau finale della
prima fase dobbiamo eliminare le colonne relative alle variabili artificiali, so-
stituire la funzione obiettivo e porre il sistema di equazioni in forma canonica.
Il tableau relativo alle prime due operazioni è il seguente:
II Fase-Tablaeu preliminare
Var. x1 x2 x3 x4 x6
base Eq. Z bi
Z (0) −1 6 3 4 0 0 0
x2 (1) 0 0 1 13
25
7
25
4
− 25 38
25
x1 (2) 0 1 0 9
− 25 1
25
3
− 25 16
25
CAPITOLO 1. ESERCIZI DI PROGRAMMAZIONE LINEARE 18
II Fase-Eliminazione coeff. di x2
Var. x1 x2 x3 x4 x6
base Eq. Z bi
61 21 12
Z (0) −1 6 0 25 25 25
− 114
25
x2 (1) 0 0 1 13
25
7
25
4
− 25 38
25
x1 (2) 0 1 0 9
− 25 1
25
3
− 25 16
25
II Fase-Eliminazione coeff. di x1
Var. x1 x2 x3 x4 x6
base Eq. Z bi
23 3 6
Z (0) −1 0 0 5 5 5
− 42
5
x2 (1) 0 0 1 13
25
7
− 25 4
− 25 38
25
x1 (2) 0 1 0 9
− 25 1
25
3
− 25 16
25
Scriviamo ora i problemi che risolve il metodo del simplesso a due fasi:
I Fase
min Z = x4 + x6
x1 −2x2 +2x3 +x4 = 3
3x1 +x2 −3x3 −x5 +x6 = 6
x1 , x2 , x3 , x5 , x4 , x6 ≥ 0.
II Fase
min Z = 3x1 + 2x2 + 4x3
x1 −2x2 +2x3 = 3
3x1 +x2 −3x3 −x5 = 6
x1 , x2 , x3 , x5 ≥ 0.
Poichè il problema è di minimo dobbiamo trasformarlo in un problema di
massimo cambiando il segno ai due membri della funzione obiettivo in en-
trambi i problemi:
I Fase
max −Z = −x4 − x6
x1 −2x2 +2x3 +x4 = 3
3x1 +x2 −3x3 −x5 +x6 = 6
x1 , x2 , x3 , x5 , x4 , x6 ≥ 0.
II Fase
max −Z = −3x1 − 2x2 − 4x3
x1 −2x2 +2x3 = 3
3x1 +x2 −3x3 −x5 = 6
x1 , x2 , x3 , x5 ≥ 0.
Le equazioni della I fase sono
(0) −Z +x4 +x6 = 0
(1) x1 −2x2 +2x3 +x4 = 3
(2) 3x1 +x2 −3x3 −x5 +x6 = 6.
Per porre in problema in forma canonica bisogna prima sottrarre dall’e-
quazione (0) l’equazione (1), ottenendo le nuove equazioni
(0) −Z −x1 +2x2 −2x3 +x6 = −3
(1) x1 −2x2 +2x3 +x4 = 3
(2) 3x1 +x2 −3x3 −x5 +x6 = 6
CAPITOLO 1. ESERCIZI DI PROGRAMMAZIONE LINEARE 20
Iterazione 0
Var. x1 x2 x3 x5
base Eq. Z x4 x6 bi
Z (0) −1 −4 1 1 0 1 0 −9
x4 (1) 0 1 −2 2 1 0 0 3
x6 (2) 0 3 1 −3 0 −1 1 6
Iterazione 1
Var. x1 x2 x3 x5
base Eq. Z x4 x6 bi
7
Z (0) −1 0 3 −3 0 − 31 4
3 −1
x4 (1) 0 0 − 37 3 1 1
3
− 31 1
x1 (2) 0 1 1
3 −1 0 − 13 1
3 2
Iterazione 2
Var. x1 x2 x3 x5
base Eq. Z x4 x6 bi
Z (0) −1 0 0 0 1 0 1 0
x3 (1) 0 0 − 97 1 1
3
1
9
− 19 1
3
x1 (2) 0 1 − 49 0 1
3
− 23 2
9
7
3
Soluzione ottima della prima fase è (7/3, 0, 1/3). Dal tableau finale della
prima fase dobbiamo eliminare le colonne relative alle variabili artificiali, so-
stituire la funzione obiettivo e porre il sistema di equazioni in forma canonica.
Il tableau relativo alle prime due operazioni è il seguente:
CAPITOLO 1. ESERCIZI DI PROGRAMMAZIONE LINEARE 21
II Fase-Tablaeu preliminare
Var. x1 x2 x3 x5
base Eq. Z bi
Z (0) −1 3 2 4 0 0
x2 (1) 0 0 − 97 1 1
9
1
3
x1 (2) 0 1 − 49 0 − 29 7
3
II Fase-Eliminazione coeff. di x1
Var. x1 x2 x3 x5
base Eq. Z bi
10 2
Z (0) −1 0 3 4 3 −7
x2 (1) 0 0 − 97 1 1
9
1
3
x1 (2) 0 1 − 49 0 − 29 7
3
II Fase-Eliminazione coeff. di x3
Var. x1 x2 x3 x5
base Eq. Z bi
58 2
Z (0) −1 0 9 0 9
− 25
3
x2 (1) 0 0 − 97 1 1
9
1
3
x1 (2) 0 1 − 49 0 − 29 7
3
Svolgimento. Introduciamo tre variabili slack (una per ogni vincolo) e ri-
solviamo il problema aumentato:
max Z = x1 + 3x2
4x1 +x2 +x3 = 24
4x1 +3x2 +x4 = 32
x2 +x5 = 8
xi ≥ 0, i = 1, 2, 3, 4, 5.
Iterazione 0
Var. x1 x2 x3 x4 x5
base Eq. Z bi
Z (0) 1 −1 −3 0 0 0 0
x3 (1) 0 4 1 1 0 0 24
x4 (2) 0 4 3 0 1 0 32
x5 (3) 0 0 1 0 0 1 8
Iterazione 1
Var. x1 x2 x3 x4 x5
base Eq. Z bi
Z (0) 1 −1 0 0 0 3 24
x3 (1) 0 4 0 1 0 −1 16
x4 (2) 0 4 0 0 1 −3 8
x2 (3) 0 0 1 0 0 1 8
CAPITOLO 1. ESERCIZI DI PROGRAMMAZIONE LINEARE 23
Iterazione 2
Var. x1 x2 x3 x4 x5
base Eq. Z bi
1 9
Z (0) 1 0 0 0 4 4 26
x3 (1) 0 0 0 1 −1 2 8
x1 (2) 0 1 0 0 1
4
− 34 2
x2 (3) 0 0 1 0 0 1 8
Avendo raggiunto la soluzione ottima (2, 8, 8, 0, 0), con Z = 26, sono deter-
minati anche i relativi prezzi ombra
1 9
y1∗ = 0, y2∗ = , y3∗ = .
4 4
Capitolo 2
Problemi di Trasporto e
Assegnamento
che serva ad assorbire l’offerta eccedente pari a 15. I costi relativi a tale
destinazione saranno posti tutti uguali a zero, quindi la matrice dei costi
diviene:
10 40 15 0
C= .
20 25 30 0
Scriviamo la tabella dei dati e applichiamo la regola di Nord-Ovest per trovare
la BFS iniziale:
24
CAPITOLO 2. PROBLEMI DI TRASPORTO E ASSEGNAMENTO 25
1 2 3 4D si ui
10 40 15 0
1 25 50 5 80
20 25 30 0
2 25 15 40
dj 25 50 30 15 Z = 3075
vj
1 2 3 4D si ui
10 40 15 0
1 25 50 5 +15 80 0
20 25 30 0
2 −5 −30 25 15 40 15
dj 25 50 30 15 Z = 3075
vj 10 40 15 −15
Variabile entrante x22 , variabile uscente x23 , celle riceventi x22 e x13 , celle
donatrici x12 e x23 , quantità donata 25.
1 2 3 4D si ui
10 40 15 0
1 25 25 30 −15 80 0
20 25 30 0
2 +25 25 +30 15 40 −15
dj 25 50 30 15 Z = 2625
vj 10 40 15 15
CAPITOLO 2. PROBLEMI DI TRASPORTO E ASSEGNAMENTO 26
Variabile entrante x14 , variabile uscente x24 , celle riceventi x22 e x14 , celle
donatrici x12 e x24 , quantità donata 15.
1 2 3 4D si ui
10 40 15 0
1 25 10 30 15 80 0
20 25 30 0
2 +25 40 +30 +15 40 −15
dj 25 50 30 15 Z = 2400
vj 10 40 15 0
Soluzione ottima è il vettore (25, 10, 30, 15, 0, 40, 0, 0) ed il valore minimo del
costo è Z = 2400.
Esercizio. Risolvere il problema del trasporto con 2 sorgenti, con offerta
rispettivamente 60 e 40 e 4 destinazioni con domanda 25, 15, 28 e 32 e
matrice dei costi
20 40 20 10
C= .
30 20 60 10
Svolgimento. Scriviamo la tabella dei dati e applichiamo la regola di Nord-
Ovest per trovare la BFS iniziale:
1 2 3 4 si ui
20 40 20 10
1 25 15 20 +40 60 0
30 20 60 10
2 −30 −60 8 32 40 40
dj 25 15 28 32 Z = 2300
vj 20 40 20 −30
Variabile entrante x22 , variabile uscente x23 , celle riceventi x22 e x13 , celle
donatrici x12 e x23 , quantità donata 8.
CAPITOLO 2. PROBLEMI DI TRASPORTO E ASSEGNAMENTO 27
1 2 3 4 si ui
20 40 20 10
1 25 7 28 −20 60 0
30 20 60 10
2 +30 8 +60 32 40 −20
dj 25 15 28 32 Z = 1820
vj 20 40 20 30
Variabile entrante x14 , variabile uscente x12 , celle riceventi x22 e x14 , celle
donatrici x12 e x24 , quantità donata 7.
1 2 3 4 si ui
20 40 20 10
1 25 +20 28 7 60 0
30 20 60 10
2 +10 15 +40 25 40 0
dj 25 15 28 32 Z = 1680
vj 20 20 20 10
1 2 3 4D si ui
4 3 2 0
1 15 5 4−M +2 20 −2
1 5 M 0
2 −5 45 10 5 60 0
1 2 4 0
3 −5 −3 4−M 30 30 0
dj 15 50 10 35 Z = 300 + 10M
vj 6 5 M 0
Variabile entrante x33 , variabile uscente x23 , celle riceventi x33 e x24 , celle
donatrici x23 e x34 , quantità donata 10.
CAPITOLO 2. PROBLEMI DI TRASPORTO E ASSEGNAMENTO 29
1 2 3 4D si ui
4 3 2 0
1 15 5 0 +2 20 −2
1 5 M 0
2 −5 45 M−4 15 60 0
1 2 4 0
3 −5 −3 10 20 30 0
dj 15 50 10 35 Z = 340
vj 6 5 4 0
Variabile entrante x21 , variabile uscente x11 , celle riceventi x12 e x21 , celle
donatrici x11 e x22 , quantità donata 15.
1 2 3 4D si ui
4 3 2 0
1 +5 20 0 +2 20 −2
1 5 M 0
2 15 30 M−4 15 60 0
1 2 4 0
3 0 −3 10 20 30 0
dj 15 50 10 35 Z = 265
vj 1 5 4 0
Variabile entrante x32 , variabile uscente x34 , celle riceventi x32 e x24 , celle
donatrici x22 e x34 , quantità donata 20.
CAPITOLO 2. PROBLEMI DI TRASPORTO E ASSEGNAMENTO 30
1 2 3 4D si ui
4 3 2 0
1 +5 20 −3 +6 20 −2
1 5 M 0
2 15 10 M−7 35 60 0
1 2 4 0
3 +3 20 10 +3 30 −3
dj 15 50 10 35 Z = 205
vj 1 5 7 0
Variabile entrante x13 , variabile uscente x33 , celle riceventi x13 e x32 , celle
donatrici x12 e x33 , quantità donata 10.
1 2 3 4D si ui
4 3 2 0
1 +5 10 10 +2 20 −2
1 5 M 0
2 15 10 M−4 35 60 0
1 2 4 0
3 +3 30 +3 +3 30 −3
dj 15 50 10 35 Z = 175
vj 1 5 4 0
La soluzione ottima è il vettore (0, 10, 10, 0, 15, 10, 0, 35, 0, 30, 0, 0) ed il valore
minimo del costo è Z = 175.
Esercizio. Si consideri un problema del trasporto con 3 nodi sorgente, cias-
cuno con offerta pari a 20 e 3 destinazioni con domanda 10, 15 e 35. La
matrice dei costi è la seguente
1 3 2
C = 5 4 1 .
1 2 3
CAPITOLO 2. PROBLEMI DI TRASPORTO E ASSEGNAMENTO 31
1 2 3 si ui
1 3 2
1 10 10 +2 20 0
5 4 1
2 +3 5 15 20 1
1 2 3
3 −3 −4 20 20 3
dj 10 15 35 Z = 135
vj 1 3 0
Variabile entrante x32 , variabile uscente x22 , celle riceventi x32 e x23 , celle
donatrici x22 e x33 , quantità donata 5.
1 2 3 si ui
1 3 2
1 10 10 −2 20 0
5 4 1
2 +1 +4 20 20 −3
1 2 3
3 +1 5 15 20 −1
dj 10 15 35 Z = 115
vj 1 3 4
Variabile entrante x13 , variabile uscente x12 , celle riceventi x32 e x13 , celle
donatrici x12 e x33 , quantità donata 10.
CAPITOLO 2. PROBLEMI DI TRASPORTO E ASSEGNAMENTO 32
1 2 3 si ui
1 3 2
1 10 +2 10 20 0
5 4 1
2 +5 +4 20 20 −1
1 2 3
3 −1 15 5 20 1
dj 10 15 35 Z = 95
vj 1 1 2
Variabile entrante x31 , variabile uscente x33 , celle riceventi x31 e x13 , celle
donatrici x11 e x33 , quantità donata 5.
1 2 3 si ui
1 3 2
1 5 +1 15 20 0
5 4 1
2 +5 +3 20 20 −1
1 2 3
3 5 15 +1 20 0
dj 10 15 35 Z = 90
vj 1 2 2
iniziale.
Svolgimento.
1 2 3 4 si ui
4 2 1 3
1 −5 −4 −5 −4 30 4
5 1 2 2
2 −5 −6 −5 −6 40 5
3 2 1 3
3 −5 −3 −5 −3 30 3
dj 20 30 40 10
vj 5 2 2 3
1 2 3 si ui
4 2 1
1 −5 −4 −5 30 4
5 1 2
2 −5 −6 −5 30 5
3 2 1
3 −5 −3 −4 30 3
dj 20 30 40
vj 5 2 2
1 2 3 si ui
4 2 1
1 −4 −4 −4 30 4
3 2 1
2 −4 −3 −3 30 3
dj 20 0 40
vj 4 2 1
1 2 3 4 si ui
4 2 1 3
1 +1 0 30 0 30 0
5 1 2 2
2 +3 30 +2 10 40 −1
3 2 1 3
3 20 0 10 0 30 0
dj 20 30 40 10 Z = 150
vj 3 2 1 3
Destinazioni
1 2 3 si Differ. Righe
Sorgenti 1 1 6 5 10 4
2 5 4 1 50 3
3 3 3 4 20 0
dj 30 40 10
Diff. Col. 2 1 3
Si sceglie come variabile in base x11 , si pone x11 = 10 e si cancella la prima
riga.
Destinazioni
1 2 3 si Differ. Righe
Sorgenti 2 5 4 1 50 3
3 3 3 4 20 0
dj 20 40 10
Diff. Col. 2 1 3
Si sceglie come variabile in base x23 , si pone x23 = 10 e si cancella la terza
colonna.
Destinazioni
1 2 si Differ. Righe
Sorgenti 2 5 4 40 1
3 3 3 20 0
dj 20 40
Diff. Col. 2 1
Si sceglie come variabile in base x31 , si pone x31 = 20 e si cancella la prima
colonna.
Destinazioni
2 si Differ. Righe
Sorgenti 2 4 40 −
3 3 0 −
dj 40
Diff. Col. −
Le restanti variabili in base sono x22 = 40 e x32 = 0.
La BFS trovata con il metodo di Vogel è:
(10, 0, 0, 0, 40, 10, 20, 0, 0).
CAPITOLO 2. PROBLEMI DI TRASPORTO E ASSEGNAMENTO 36
1 2 3 si ui
1 6 5
1 −10 −6 −6 10 6
5 4 1
2 −5 −7 −9 50 5
3 3 4
3 −6 −7 −5 20 4
dj 30 40 10
vj 5 6 5
1 2 3 si ui
5 4 1
2 −5 −5 −8 50 5
3 3 4
3 −6 −5 −4 20 4
dj 20 40 10
vj 5 4 4
1 2 si ui
5 4
2 −5 −5 40 5
3 3
3 −5 −4 20 3
dj 20 40
vj 5 4
CAPITOLO 2. PROBLEMI DI TRASPORTO E ASSEGNAMENTO 37
Scegliamo x31 = 20, cancelliamo la prima colonna, in modo tale che le vari-
abili rimaste sono entrambe in base: x22 = 40 e x32 = 0.
La BFS trovata con il metodo di Russell è:
Destinazioni
1 2 si Differ. Righe
Sorgenti 1 4 5 100 1
2 4 4 80 0
dj 95 85
Diff. Col. 0 1
Si sceglie come variabile in base x11 , si pone x11 = 95 e si cancella la prima
colonna, quindi le restanti variabili in base sono x12 = 5 e x22 = 80.
La BFS trovata con il metodo di Vogel è:
(95, 5, 0, 0, 80, 30, 0, 0, 90).
Per applicare il metodo di Russell scriviamo la tabella:
1 2 3 si ui
4 5 7
1 −7 −7 −7 100 7
4 4 5
2 −7 −6 −7 110 5
4 4 4
3 −4 −5 −7 90 4
dj 95 85 120
vj 4 5 7
4 5
2 −6 −7 110 5
4 4
3 −5 −7 90 4
dj 85 120
vj 5 7
CAPITOLO 2. PROBLEMI DI TRASPORTO E ASSEGNAMENTO 39
2 3 si ui
5 7
1 −7 −7 5 7
4 5
2 −6 −7 110 5
dj 85 30
vj 5 7
Scegliamo x23 = 30, cancelliamo la terza colonna, in modo tale che le variabili
rimaste sono entrambe in base: x24 = 80 e x12 = 5.
La BFS trovata con il metodo di Russell è:
6 6 5 6
Svolgimento.
8 8 5 7 3 3 0 2
9 7 3 8 6 4 0 5
9 8 4 8 5 4 0 4
6 6 5 6 1 1 0 1
Tabella iniziale Si sottrae il minimo da ogni riga
CAPITOLO 2. PROBLEMI DI TRASPORTO E ASSEGNAMENTO 40
2 2 0 1
5 3 0 4
4 3 0 3
0 0 0 0
Si sottrae il minimo da ogni colonna
2 2 0 1
5 3 0 4
4 3 0 3
0 0 0 0
Gli elementi uguali a zero cono coperti da due linee
1 1 0 0
4 2 0 3
3 2 0 2
0 0 1 0
Si sottrae 1 da tutti gli elementi non coperti
Si aggiunge 1 all’elemento coperto da due linee
1 1 0 0
4 2 0 3
3 2 0 2
0 0 1 0
Gli elementi uguali a zero cono coperti da tre linee
CAPITOLO 2. PROBLEMI DI TRASPORTO E ASSEGNAMENTO 41
1 1 2 0
2 0 0 1
1 0 0 0
0 0 3 0
Si sottrae 2 da tutti gli elementi non coperti
Si aggiunge 2 agli elementi coperti da due linee
1 1 2 0
2 0 0 1
1 0 0 0
0 0 3 0
Gli elementi uguali a zero cono coperti da 4 linee
L’assegnamento ottimo è possibile
1 1 2 0
2 0 0 1
1 0 0 0
0 0 3 0
Poniamo x14 = 1
1 1 2 0
2 0 0 1
1 0 0 0
0 0 3 0
Poniamo x41 = 1
CAPITOLO 2. PROBLEMI DI TRASPORTO E ASSEGNAMENTO 42
1 1 2 0
2 0 0 1
1 0 0 0
0 0 3 0
Poniamo x22 = 1 e x33 = 1.
Z = 7 + 7 + 4 + 6 = 24.
6 4 2 1 M 0 3 1 0 0 M 0
3 M 4 4 2 0 0 M 2 3 1 0
M 6 6 4 2 0 M 3 4 3 1 0
7 4 5 1 1 0 4 1 3 0 0 0
6 3 2 2 2 0 3 0 0 1 1 0
6 4 5 6 4 0 3 1 3 5 3 0
Tabella iniziale Matrice ottenuta sottraendo il
minimo da tutte le colonne
Il numero minimo di linee che coprono gli elementi uguali a zero è 5, come
si evince dalla seguente figura:
3 1 0 0 M 0
0 M 2 3 1 0
M 3 4 3 1 0
4 1 3 0 0 0
3 0 0 1 1 0
3 1 3 5 3 0
3 1 0 0 M 1
0 M 2 3 1 1
M 2 3 2 0 0
4 1 3 0 0 1
3 0 0 1 1 1
2 0 2 4 2 0
3 1 0 0 M 1 3 1 0 0 M 1
0 M 2 3 1 1 0 M 2 3 1 1
M 2 3 2 0 0 M 2 3 2 0 0
4 1 3 0 0 1 4 1 3 0 0 1
3 0 0 1 1 1 3 0 0 1 1 1
2 0 2 4 2 0 2 0 2 4 2 0
x21 = 1 x13 = 1
3 1 0 0 M 1 3 1 0 0 M 1
0 M 2 3 1 1 0 M 2 3 1 1
M 2 3 2 0 0 M 2 3 2 0 0
4 1 3 0 0 1 4 1 3 0 0 1
3 0 0 1 1 1 3 0 0 1 1 1
2 0 2 4 2 0 2 0 2 4 2 0
x52 = 1 x66 = 1
CAPITOLO 2. PROBLEMI DI TRASPORTO E ASSEGNAMENTO 45
3 1 0 0 M 1 3 1 0 0 M 1
0 M 2 3 1 1 0 M 2 3 1 1
M 2 3 2 0 0 M 2 3 2 0 0
4 1 3 0 0 1 4 1 3 0 0 1
3 0 0 1 1 1 3 0 0 1 1 1
2 0 2 4 2 0 2 0 2 4 2 0
x35 = 1 x44 = 1
Z = 3 + 2 + 3 + 2 + 1 = 11.
5 4 6 5 4 1 0 2 1 0
3 7 4 6 3 0 4 1 3 0
5 2 3 2 3 3 0 1 0 1
6 4 4 3 2 4 2 2 1 0
7 3 2 3 3 5 1 0 1 1
Tabella iniziale Matrice ottenuta sottraendo il
minimo da tutte le righe
Non si procede a togliere il minimo da ogni colonna in quanto tale valore è
zero. Inoltre poichè il numero minimo di linee che coprono gli elementi uguali
a zero è uguale a cinque allora si può procedere all’assegnamento ottimo.
1 0 2 1 0 1 0 2 1 0
0 4 1 3 0 0 4 1 3 0
3 0 1 0 1 3 0 1 0 1
4 2 2 1 0 4 2 2 1 0
5 1 0 1 1 5 1 0 1 1
x21 = 1 x53 = 1
1 0 2 1 0 1 0 2 1 0
0 4 1 3 0 0 4 1 3 0
3 0 1 0 1 3 0 1 0 1
4 2 2 1 0 4 2 2 1 0
5 1 0 1 1 5 1 0 1 1
x45 = 1 x12 = 1
CAPITOLO 2. PROBLEMI DI TRASPORTO E ASSEGNAMENTO 47
1 0 2 1 0
0 4 1 3 0
3 0 1 0 1
4 2 2 1 0
5 1 0 1 1
x34 = 1
6 3 M 4 5 6 3 0 M 1 2 3
4 3 1 6 5 6 3 2 0 5 4 5
7 4 3 3 2 4 5 2 1 1 0 1
2 1 10 8 4 5 1 0 9 7 3 4
7 5 6 4 3 2 5 3 4 2 1 0
0 0 0 0 0 0 0 0 0 0 0 0
Tabella iniziale Matrice ottenuta sottraendo il
minimo da tutte le righe
Non si procede a togliere il minimo da ogni colonna in quanto tale valore è
zero. Inoltre poichè il numero minimo di linee che coprono gli elementi uguali
a zero è uguale a cinque, come risulta dalla seguente figura
3 0 M 1 2 3
3 2 0 5 4 5
5 2 1 1 0 1
1 0 9 7 3 4
5 3 4 2 1 0
0 0 0 0 0 0
2 0 M 0 2 3
2 2 0 4 4 5
4 2 1 0 0 1
0 0 9 6 3 4
4 3 4 1 1 0
0 1 1 0 1 1
Poichè il numero minimo di linee che coprono gli elementi uguali a zero è
uguale a sei allora è possibile effettuare l’assegnamento ottimo.
2 0 M 0 2 3 2 0 M 0 2 3
2 2 0 4 4 5 2 2 0 4 4 5
4 2 1 0 0 1 4 2 1 0 0 1
0 0 9 6 3 4 0 0 9 6 3 4
4 3 4 1 1 0 4 3 4 1 1 0
0 1 1 0 1 1 0 1 1 0 1 1
x56 = 1 x35 = 1
2 0 M 0 2 3 2 0 M 0 2 3
2 2 0 4 4 5 2 2 0 4 4 5
4 2 1 0 0 1 4 2 1 0 0 1
0 0 9 6 3 4 0 0 9 6 3 4
4 3 4 1 1 0 4 3 4 1 1 0
0 1 1 0 1 1 0 1 1 0 1 1
x23 = 1 x12 = 1
CAPITOLO 2. PROBLEMI DI TRASPORTO E ASSEGNAMENTO 50
2 0 M 0 2 3 2 0 M 0 2 3
2 2 0 4 4 5 2 2 0 4 4 5
4 2 1 0 0 1 4 2 1 0 0 1
0 0 9 6 3 4 0 0 9 6 3 4
4 3 4 1 1 0 4 3 4 1 1 0
0 1 1 0 1 1 0 1 1 0 1 1
x41 = 1 x64 = 1
Z = 3 + 1 + 2 + 2 + 2 = 10.
Capitolo 3
L’algoritmo di
Branch-and-Bound
51
CAPITOLO 3. L’ALGORITMO DI BRANCH-AND-BOUND 52
Iterazione 0
Var. x1 x2 x3 x4 x5 x6 x7 x8
base Eq. Z bi
Z (0) 1 −9 −5 −6 0 0 0 0 0 0
x4 (1) 0 −1 0 3 1 0 0 0 0 1
x5 (2) 0 0 2 −1 0 1 0 0 0 1
x6 (3) 0 1 0 0 0 0 1 0 0 1
x7 (4) 0 0 1 0 0 0 0 1 0 1
x8 (5) 0 0 0 1 0 0 0 0 1 1
Iterazione 1
Var. x1 x2 x3 x4 x5 x6 x7 x8
base Eq. Z bi
Z (0) 1 0 −5 −6 0 0 9 0 0 9
x4 (1) 0 0 0 3 1 0 1 0 0 2
x5 (2) 0 0 2 −1 0 1 0 0 0 1
x1 (3) 0 1 0 0 0 0 1 0 0 1
x7 (4) 0 0 1 0 0 0 0 1 0 1
x8 (5) 0 0 0 1 0 0 0 0 1 1
CAPITOLO 3. L’ALGORITMO DI BRANCH-AND-BOUND 53
Iterazione 2
Var. x1 x2 x3 x4 x5 x6 x7 x8
base Eq. Z bi
Z (0) 1 0 −5 0 2 0 11 0 0 13
x3 (1) 0 0 0 1 1
3 0 1
3 0 0 2
3
x5 (2) 0 0 2 0 1
3 1 1
3 0 0 5
3
x1 (3) 0 1 0 0 0 0 1 0 0 1
x7 (4) 0 0 1 0 0 0 0 1 0 1
x8 (5) 0 0 0 0 − 31 0 − 31 0 1 1
3
Iterazione 3
Var. x1 x2 x3 x4 x5 x6 x7 x8
base Eq. Z bi
17 5 71 103
Z (0) 1 0 0 0 6 2 6 0 0 6
x3 (1) 0 0 0 1 1
3 0 1
3 0 0 2
3
x2 (2) 0 0 1 0 1
6
1
2
1
6 0 0 5
6
x1 (3) 0 1 0 0 0 0 1 0 0 1
x7 (4) 0 0 0 0 − 61 − 21 − 61 1 0 1
6
x8 (5) 0 0 0 0 − 13 0 − 13 0 1 1
3
Soluzione è (1, 5/6, 2/3, 0, 0, 0, 1/6, 1/3) con valore della funzione obiettivo
Z = 103/6 = 17 + 1/6. Poichè la funzione obiettivo deve assumere un valore
reale, possiamo assumere Z = 17 come valore ottimo del rilassamento lineare.
CAPITOLO 3. L’ALGORITMO DI BRANCH-AND-BOUND 54
Completo Z = 17
(1, 5/6, 2/3)
x1 1 Z = 17
0 Z∗ = 0
(1, 5/6, 2/3) (0, 0, 0)
F(3)
x2 1 0 Z∗ = 9
(1, 0, 0)
F(2) F(3)
8:
vertici ammissibili vertici non ammissibili
(0, 0, 0, 0) (0, 0, 1, 1)
(0, 0, 0, 1) (0, 1, 0, 1)
(0, 0, 1, 0) (0, 1, 1, 1)
(0, 1, 0, 0) (1, 0, 0, 1)
(0, 1, 1, 0) (1, 0, 1, 1)
(1, 0, 0, 0) (1, 1, 0, 1)
(1, 0, 1, 0) (1, 1, 1, 0)
(1, 1, 0, 0) (1, 1, 1, 1)
Considerando prima gli insiemi composti da due variabili e poi quelli com-
posti da tre, si scopre che i seguenti insiemi sono coperture minime
x1 + x 4 ≤ 1 x2 + x4 ≤ 1
x3 + x 4 ≤ 1 x1 + x2 + x3 ≤ 2.
Tableau iniziale
Var. x1 x2 x3 x4 x5
base Eq. Z bi
Z (0) 1 −3 −5 −1 0 0 0
x4 (1) 0 2 0 1 1 0 6
x5 (2) 0 1 2 1 0 1 8
Iterazione 1
Var. x1 x2 x3 x4 x5
base Eq. Z bi
Z (0) 1 − 21 0 3
2 0 5
2 20
x4 (1) 0 2 0 1 1 0 6
x2 (2) 0 1
2 1 1
2 0 1
2 4
CAPITOLO 3. L’ALGORITMO DI BRANCH-AND-BOUND 58
Iterazione 2
Var. x1 x2 x3 x4 x5
base Eq. Z bi
7 1 5 43
Z (0) 1 0 0 4 4 2 2
x1 (1) 0 1 0 1
2
1
2 0 3
x2 (2) 0 0 1 1
4
− 12 1
2
5
2
Sottoproblema 1
max Z = 3x1 + 5x2 + x3
2x1 +x3 ≤ 6
x1 +2x2 +x3 ≤ 8
x2 ≤ 2
x1 , x 2 , x 3 ≥ 0
e
Sottoproblema 2
max Z = 3x1 + 5x2 + x3
2x1 +x3 ≤ 6
x1 +2x2 +x3 ≤ 8
x1 , x3 ≥ 0, x2 ≥ 3.
Risolviamo il Sottoproblema 1 con il metodo del simplesso introducendo 3
variabili slack.
CAPITOLO 3. L’ALGORITMO DI BRANCH-AND-BOUND 59
Iterazione 0
Var. x1 x2 x3 x4 x5 x6
base Eq. Z bi
Z (0) 1 −3 −5 −1 0 0 0 0
x4 (1) 0 2 0 1 1 0 0 6
x5 (2) 0 1 2 1 0 1 0 8
x6 (3) 0 0 1 0 0 0 1 2
Iterazione 1
Var. x1 x2 x3 x4 x5 x6
base Eq. Z bi
Z (0) 1 −3 0 −1 0 0 5 10
x4 (1) 0 2 0 1 1 0 0 6
x5 (2) 0 1 0 1 0 1 −2 4
x2 (3) 0 0 1 0 0 0 1 2
Iterazione 2
Var. x1 x2 x3 x4 x5 x6
base Eq. Z bi
1 3
Z (0) 1 0 0 2 2 0 5 19
x1 (1) 0 1 0 1
2
1
2 0 0 3
x5 (2) 0 0 0 1
2
− 21 1 −2 5
2
x2 (3) 0 0 1 0 0 0 1 2
Z ∗ = 19.
CAPITOLO 3. L’ALGORITMO DI BRANCH-AND-BOUND 60
x1 , x2 , x03 ≥ 0.
Applichiamo il metodo del simplesso introducendo due variabili slack.
Iterazione 0
Var. x1 x3 x4 x5
base Eq. Z x02 bi
Z (0) 1 −3 −5 −1 0 0 15
x4 (1) 0 2 0 1 1 0 6
x5 (2) 0 1 2 1 0 1 2
Iterazione 1
Var. x1 x3 x4 x5
base Eq. Z x02 bi
Z (0) 1 − 21 0 3
2 0 5
2 20
x4 (1) 0 2 0 1 1 0 6
1 1 1
x02 (2) 0 2 1 2 0 2 1
CAPITOLO 3. L’ALGORITMO DI BRANCH-AND-BOUND 61
Iterazione 2
Var. x1 x3 x4 x5
base Eq. Z x02 bi
Z (0) 1 0 1 2 0 3 21
x4 (1) 0 0 −4 −1 1 −1 4
x1 (2) 0 1 2 1 0 2 2
Soluzione è (2, 0, 0), cioè (2, 3, 0), mentre il valore della funzione obietti-
vo è Z = 21. Il problema soddisfa il terzo criterio di fathoming e viene
tagliato mentre il valore della funzione obiettivo diventa la nuova soluzione
incombente:
Z ∗ = 21.
Inoltre poichè non ci sono altri sottoproblemi da risolvere la soluzione in-
combente appena trovata è anche quella ottima. Possiamo scrivere pertanto
il seguente albero delle soluzioni:
Completo Z = 21.5
(3, 5/2, 0)
∗ Z ∗ = 21
x2 ≤ 2 Z = 19 x2 ≥ 3
(3, 2, 0) (2, 3, 0)
F(3) F(3)
Capitolo 4
Esercizi di Ottimizzazione su
Reti
62
CAPITOLO 4. ESERCIZI DI OTTIMIZZAZIONE SU RETI 63
D C
3 4
D C
3 4
E A
4
Adesso si sceglie il nodo F , connesso al nodo A da un arco di lunghezza 4.
CAPITOLO 4. ESERCIZI DI OTTIMIZZAZIONE SU RETI 65
D C
3 4
E A F
4 4
Resta il nodo B il cui collegamento più vicino è con il nodo F .
D C B
3 4 4
E A F
4 4
3 4
A D G
5 4 2 9
6 3 3
8 2 6 8
O C F H T
4 6 2 5
5 1 2
B E I
7 6
CAPITOLO 4. ESERCIZI DI OTTIMIZZAZIONE SU RETI 67
O −→ A −→ D −→ G −→ T
O −→ C −→ F −→ G −→ T
O −→ B −→ E −→ H −→ T.
CAPITOLO 4. ESERCIZI DI OTTIMIZZAZIONE SU RETI 68
5 4 2 9
6 3 3
8 2 6 8
O C F H T
4 6 2 5
5 1 2
B E I
7 6
CAPITOLO 4. ESERCIZI DI OTTIMIZZAZIONE SU RETI 69
3 2 2 5
5
4 2
O B E 7 T
4 2 3 5
6
C F
6
O −→ A −→ D −→ T.
4
C H
5 0
0 8
C H
4 0
CAPITOLO 4. ESERCIZI DI OTTIMIZZAZIONE SU RETI 73
5 0
4 4
C H
0 4
II Iterazione: Cammino aumentante: O−C−E−H−T , c∗ = min{5, 5, 5, 4} =
4:
5 0
A 3 0 G
0 8
0 5
0 D 6
7 0
6 0
8 6 0 6 0 8
O B 2 0 F T
1 0 6 8
4 E 1
1 4
8 0
C H
0 4
III Iterazione: Cammino aumentante: O−C−E−F −T , c∗ = min{1, 1, 6, 6} =
1:
CAPITOLO 4. ESERCIZI DI OTTIMIZZAZIONE SU RETI 74
5 0
A 3 0 G
0 8
0 5
0 D 6
7 0
6 0
9 6 0 5 1 9
O B 2 1 F T
0 0 5 8
5 E 1
0 4
9 0
C H
0 4
IV Iterazione: Cammino aumentante: O−B−E−F −T , c∗ = min{6, 2, 5, 5} =
2:
5 0
A 3 0 G
0 8
0 5
0 D 6
7 0
6 0
11 4 2 3 3 11
O B 0 3 F T
0 2 3 8
5 E 1
0 4
9 0
C H
0 4
V Iterazione: Cammino aumentante: O−B−D−F −T , c∗ = min{3, 6, 6, 3} =
3:
CAPITOLO 4. ESERCIZI DI OTTIMIZZAZIONE SU RETI 75
5 0
A 3 0 G
0 8
0 5
3 D 3
7 0
3 3
14 1 5 0 6 14
O B 0 3 F T
0 2 3 8
5 E 1
0 4
9 0
C H
0 4
VI Iterazione: Cammino aumentante: O−B−D−G−T , c∗ = min{1, 3, 5, 8} =
1:
5 0
A 3 1 G
0 7
0 4
4 D 3
7 1
2 3
15 0 6 0 6 15
O B 0 3 F T
0 2 3 8
5 E 1
0 4
9 0
C H
0 4
VII Iterazione: Cammino aumentante: O − A − G − T , c∗ = min{7, 5, 7} = 5:
CAPITOLO 4. ESERCIZI DI OTTIMIZZAZIONE SU RETI 76
0 5
A 3 1 G
5 2
0 4
4 D 3
2 6
2 3
20 0 6 0 6 20
O B 0 3 F T
0 2 3 8
5 E 1
0 4
9 0
C H
0 4
VIII Iterazione: Cammino aumentante: O−A−D−G−T , c∗ = min{2, 3, 4, 2} =
2:
0 5
A 1 3 G
7 0
2 2
4 D 3
0 8
2 3
22 0 6 0 6 22
O B 0 3 F T
0 2 3 8
5 E 1
0 4
9 0
C H
0 4
Il flusso trovato è ottimo perchè esiste un taglio (esattamente OA−OB −OC
che ha flusso residuo zero), anzi per la verità ne esiste anche un altro (cioè
GT − F T − HT ) che ha flusso residuo nullo.
Esercizio. Determinare il massimo flusso nella seguente rete:
CAPITOLO 4. ESERCIZI DI OTTIMIZZAZIONE SU RETI 77
C
9 5
5
A F
7 4 8 3
2 7
O D T
8 3 3 5
3
B G
4 1
0
C 5
9 0
5 0
0
A 4 0
F 3
7 0 8 0
2 0 7 0
O D T
8 0 3 0
3 0
0 5
3 0
B 4 0
G
0 1
E
CAPITOLO 4. ESERCIZI DI OTTIMIZZAZIONE SU RETI 78
0
C 5
9 0
5 0
0
A 4 0
F 3
7 0 8 0
3 2 0 7 0 3
O D T
5 0 3 3
3 0
3 2
0 3
B 4 0
G
0 1
0
C 5
9 0
5 0
0
A 4 0
F 3
7 0 8 0
5 2 0 7 0 5
O D T
3 2 1 5
1 2
5 0
0 3
B 4 0
G
0 1
0
C 5
9 0
5 0
0
A 4 0
F 3
7 0 8 0
6 2 0 6 1 6
O D T
2 3 1 5
0 2
6 0
0 3
B 4 0
G
0 1
E
CAPITOLO 4. ESERCIZI DI OTTIMIZZAZIONE SU RETI 80
0
C 5
9 0
5 0
0
A 4 0
F 3
7 0 8 0
8 0 2 4 3 8
O D T
2 3 1 5
0 2
6 0
0 3
B 4 0
G
0 1
0
C 5
9 0
5 0
4
A 0 0
F 3
3 4 8 0
12 0 2 0 7 12
O D T
2 3 1 5
0 2
6 0
0 3
B 4 0
G
0 1
E
CAPITOLO 4. ESERCIZI DI OTTIMIZZAZIONE SU RETI 81
0
C 5
9 0
2 3
7
A 0 0
F 0
0 4 8 3
15 0 2 0 7 15
O D T
2 3 1 5
0 2
6 0
0 3
B 4 0
G
0 1