1.Построить некоторый начальный поток 
2.Организовать процедуру составления подмножества А вершин, достижимых из истока J по ненасыщенным ребрам. Если в этом процессе сток S не попадет в подмножество А, то построенный поток максимальный и задачи решена. Если же S попал в А, то перейти к n. 3 алгоритма.
3.Выделить путь из J и S, состоящий из ненасыщенных ребер, и увеличить поток
по каждому этого пути на
где минимум берется по ребрам (i, j) упомянутого пути. Тем самым будет построен новый поток
После этого надо возвратиться к n. 2 алгоритма.