Задача на максимальный поток в Visual Basic - VB

Узнай цену своей работы

Формулировка задачи:

У меня есть граф, в нём 25 точек.
Спойлер
необходимо решить задачу на максимальный поток. выходим из Донецка, приходим в Киев. вот как я находил это на графе меньшего размера:
Спойлер
а вот сам алгоритм нахождения (Форда — Фалкерсона): 1) Обнуляем все потоки. Остаточная сеть изначально совпадает с исходной сетью. 2) В остаточной сети находим любой путь из источника в сток. Если такого пути нет, останавливаемся. 3) Пускаем через найденный путь (он называется увеличивающим путём или увеличивающей цепью) максимально возможный поток: 1. На найденном пути в остаточной сети ищем ребро с минимальной пропускной способностью Cmin . 2. Для каждого ребра на найденном пути увеличиваем поток на Cmin , а в противоположном ему — уменьшаем на Cmin . 3. Модифицируем остаточную сеть. Для всех рёбер на найденном пути, а также для противоположных им рёбер, вычисляем новую пропускную способность. Если она стала ненулевой, добавляем ребро к остаточной сети, а если обнулилась, стираем его. 4) Возвращаемся на шаг 2. я сделал только часть, обнулил все потоки, но не пойму как выбрать путь из источника в сток, и что делать после этого. вот код:
Если у кого-то есть какие-то идеи, need your help

Решение задачи: «Задача на максимальный поток в Visual Basic»

textual
Листинг программы
a(1, 5) = 337

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.1 из 5