uni
Questo algoritmo risolve il problema del Flusso Massimo tra due Nodi, non utilizzando il simplesso.
Definizioni necessarie
Taglio della Rete
Per taglio s’intende una suddivisione della rete in e che separano da . Gli altri archi possono stare arbitrariamente in un gruppo rispetto che nell’altro
Archi Diretti del Taglio
Definiti da sono tutti gli archi quindi sostanzialmente gli archi uscenti da e entranti in non il contrario
Portata del Taglio
È definita dalla somma delle capacità degli Archi Diretti del Taglio
Grafo Residuo
È il Grafo della rete (ovvero semplicemente lo schema topologico) con il raddoppio degli archi in verso opposto
Capacità Residua
Su ogni arco a questo punto introduco una Capacità Residua ()
- sull’arco “vero” rappresenta in effetti la capacità residua .
- sull’arco “fittizio” rappresenta la quantità di flusso inviata sull’arco vero.
Cammino Aumentante
È un Cammino Orientato sul grafo residuo da a formato da archi con .
Al percorso in questione è sempre associata una Portata di :
Per trovare il Cammino Aumentante applico l’Algoritmo della Croce
Un cammino aumentante può non essere orientato nel grafo di partenza.
Teo (Max Flow_Min Cut)
Il flusso massimo è uguale al taglio di portata minima
Da questo teorema capiamo che il Problema del Taglio di Portata Minima non è altro che il Duale del Problema del Flusso Massimo (Max Flow)
Algoritmo della Croce
Lo applico per trovare i e si basa sul cercare le Stelle Uscenti () dal nodo quindi in sostanza tutti gli archi uscenti da quel nodo:
Appena appare t nella colonna di destra mi fermo e ho trovato il mio .
RICORDA: gli archi con capacità = 0 non li scrivo.
Algoritmo
Data una soluzione ammissibile (composta anche da tutti 0)
- Seleziono un Cammino Aumentante e calcolo il relativo . Se non ci sono sei all’ottimo
- Aggiorno con la seguente regola:
- Ricalcolo e torno al passo 1
Considerazioni
Poiché ad ogni cammino aumentante aumento di almeno la capacità della rete, l’algoritmo finisce in un numero finito di passi, più precisamente, termina in al più passi, ovvero la somma delle portate degli archi della rete.