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)

  1. Seleziono un Cammino Aumentante e calcolo il relativo . Se non ci sono sei all’ottimo
  2. Aggiorno con la seguente regola:
  1. 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.