Некоторые методы решения задачи о максимальном потоке в сетях:
- Алгоритм Форда-Фалкерсона. cyberleninka.ru ru.wikipedia.org Итеративно увеличивает поток по путям от источника к приёмнику до тех пор, пока не исчезнут дополнительные пути. cyberleninka.ru Алгоритм работает только для целых пропускных способностей, в противном случае он может работать бесконечно долго, не сходясь к правильному ответу. ru.wikipedia.org
- Алгоритм Эдмондса-Карпа. cyberleninka.ru ru.wikipedia.org Вариант алгоритма Форда-Фалкерсона, который использует поиск в ширину для поиска расширяющих путей. cyberleninka.ru Это повышает производительность на определённых типах графов. cyberleninka.ru
- Алгоритм Диница. habr.com Основан на концепции графов уровней, особенно эффективен для плотных графов. cyberleninka.ru Алгоритм пытается «протолкнуть» как можно больше потока из истока в сток, двигаясь строго по построенным уровням. habr.com
- Алгоритм кратчайших путей. apni.ru Основан на нахождении кратчайших путей сети. apni.ru Включает следующие шаги: apni.ru
- Найти кратчайший путь из вершины 1 в вершину n, считая весовые коэффициенты дуг их длинами. apni.ru
- Наименьший из весовых коэффициентов дуг полученного пути (максимальная пропускная способность пути) вычитается из длин всех дуг этого пути, а дуги с весом 0 исключаются из рассмотрения. apni.ru
- Если нет пути из вершины 1 в вершину n, то алгоритм останавливается, максимальная пропускная способность сети равна сумме максимальных пропускных способностей полученных путей, иначе — возвращается к первому шагу. apni.ru
Также существуют алгоритмы Шермана, Кельнера, Ли, Ореккии и Сидфорда, которые находят приблизительно оптимальный максимальный поток, но работают только в неориентированных графах. en.wikipedia.org