Flusso di Costo Minimo
Trasformazioni Equivalenti e Trasformazioni Inverse
Viene data la seguente rete di flusso, in cui i valori riportati vicino agli archi sono i
costi, e quelli riportati vicino ai nodi sono le richieste di flusso (ovvero i termini noti b)
-2
1
1
1
2
1
-4
0
2
4
-1
1
3
2
L’arco (4,2) ha capacità superiore 3 e capacità inferiore 1; l’arco (2,3) ha capacità
superiore 1 e capacità inferiore -1; gli altri archi hanno capacità superiore 2 e
capacità inferiore 0.
1. Trasformiamo la rete data in una rete equivalente con costi non negativi,
capacità inferiori nulle, singola origine e singola destinazione. Determiniamo la
costante F aggiunta alla funzione obiettivo nel corso della trasformazione.
2. A partire dal flusso ottimo x sulla rete trasformata (che verrà dato
implicitamente fornendo il corrispondente grafo residuo), determiniamo il flusso
ottimo nella rete originale. Confrontiamo il costo delle due soluzioni ottime,
tenendo conto della costante F trovata al Passo 1.
Passo 1 passaggio alla rete trasformata
-2
1
1
4
arco (4,2)
•costo negativo,
•capacità superiore 3
•capacità inferiore 1
-4
0
2
-1
1
2
3
1
1
2
Fase 1: eliminazione costi negativi: si satura l’arco (4,2), spedendo un flusso 3.
Il nuovo arco (2,4) ha capacità superiore 2. Si aggiunge alla f.o. il valore -4*3=-12.
-2
1
1
2
2
-2
4
2
4
0
1
1
Nota: il nuovo arco ha
capacità inferiore nulla
3
2
F = -12
Passo 1 passaggio alla rete trasformata
-2
1
1
4
0
2
4
2
1
2
-2
arco (2,3)
•costo 1
•capacità superiore 1
•capacità inferiore -1
3
1
2
Fase 2: eliminazione capacità inferiori non nulle. Dopo la trasformazione, l’arco (2,3) ha
capacità superiore 2. Si aggiunge alla costante F il valore -1.
-2
1
1
2
2
-3
4
2
4
0
1
1
3
3
F = -12 -1 = -13
Passo 1 passaggio alla rete trasformata
-2
1
1
4
4
0
2
2
1
2
-3
3
1
3
Fase 3: singola origine e singola destinazione. In azzurro le capacità superiori degli archi
aggiuntivi, tutti gli altri archi hanno capacità superiore pari a due.
2
-5
1
0
s
0
4
0
2
4
0
2
3
1
t 5
1
2
1
3
0
3
F = -13
Passo 1 passaggio alla rete trasformata
Rete trasformata: a ciascun arco si associa la coppia [costo,capacità superiore]
1
[0, 2]
[1, 2]
4
[0, 2]
[4, 2]
-5
s
t
[1, 2]
[2, 2]
5
[0, 2]
[0, 3]
2
[1, 2]
3
[0, 3]
F = -13
Soluzione ottima sulla rete trasformata
Grafo residuo rispetto al flusso ottimo: il valore vicino ad ogni arco è la sua capacità
superiore; gli archi “inversi” appaiono in rosso
2
1
2
s
1
1
3
4
1
2
2
t
1
1
2
3
3
2
Nota: il grafo residuo rispetto al flusso ottimo sarà il risultato dell’applicazione
degli algoritmi per MCF
Soluzione ottima sulla rete trasformata
Partendo dal grafo residuo relativo al flusso ottimo troviamo tale flusso sulla rete
trasformata
2
1
2
s
1
1
1
3
4
2
2
t
1
1
2
3
3
2
[0, 2] 2
1
2 [1, 2]
4
[4, 2]
-5
s
[2, 2] 1
0
[0, 3]
3
2
1
[0, 2]
[1, 2]
2 [0, 2]
0
[1, 2]
3
t 5
3 [0, 3]
2
Il costo totale del flusso ottimo sulla rete trasformata è (costo × flusso)
(2 × 1) + (1 × 2) + (1 × 2) = 6
(2,1)
(1,4)
(2,3)
Passo 2 Flusso ottimo sulla rete originale
Per prima cosa, ignoriamo gli archi fittizi (trasformazione inversa della Fase 3).
-2
-2
1
2
4
[4, 2]
[2, 2] 1
0
-3
2
-3
2
[1, 2]
1
[0, 2]
[1, 2]
0
[1, 2]
3
2
2
3
3
Trasformazione inversa della Fase 2: archi a capacità inferiore non nulla.
arco (2,3) originale
L’arco (2,3) sulla rete originale ha un flusso –1 + 2 = 1
•costo 1
-2
2
2 [1, 2]
-2
2 •capacità superiore 1
1
4
•capacità inferiore -1
[4, 2]
0
[1, 2]
[2, 2] 1
1
0 [0, 2]
-2
2
3
2
[1, 2] 1
-2
2
Passo 2 Flusso ottimo sulla rete originale
Trasformazione inversa della Fase 1: archi a costo negativo. L’arco (4,2) ha un flusso
3 – 0 = 3.
arco (4,2) originale
-2
-1
2 [1, 2]
-2
-1 •costo negativo -4,
1
4
•capacità superiore 3
[-4, 2]
•capacità inferiore 1
0
[1, 2]
[2, 2] 1
1
3 [0, 2]
1
2
3
2
[1,
2]
1
1
2
I numeri vicini ai nodi sono le differenze flusso entrante meno flusso uscente;
si può verificare che corrispondono alle richieste (termini noti) sulla rete originale.
Passo 2 Flusso ottimo sulla rete originale
Calcolo e confronto dei costi delle soluzioni
-2
-2
1
2
4
[-4, 2]
[2, 2] 1
1
[0, 2]
3
1
2
1
-1
[1, 2]
[1, 2]
0
[1, 2]
3
1
-1
2
2
Il costo totale del flusso ottimo sulla rete originale è (costo × flusso)
2 × 1 + 1 × 1 + (– 4) × 3 + 0 × 1 + 1 × 2 = -7
(2,1)
(2,3)
(4,2)
(1,3)
(1,4)
Il costo del flusso ottimo sulla rete originale è dato dal costo sulla rete trasformata (6)
più la costante F (– 13).
Scarica

ppt