Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Проблема циркуляции и ее варианты являются обобщением задач сетевого потока с добавленным ограничением нижней границы для граничных потоков, а также с сохранением потока , требуемым для источника и стока (т. Е. Нет специальных узлов). В вариантах проблемы есть несколько товаров, проходящих через сеть, и затраты на поток.

Определение [ править ]

Данная проточная сеть с:

, нижняя граница потока от узла к узлу ,
, верхняя граница потока от узла к узлу ,
, стоимость единицы расхода на

и ограничения:

,
(поток не может появиться или исчезнуть в узлах).

Нахождение задания потока, удовлетворяющего ограничениям, дает решение данной проблемы циркуляции.

В минимально затратном варианте задачи минимизировать

Многотоваровое обращение [ править ]

В задаче оборота нескольких товаров также необходимо отслеживать поток отдельных товаров:

Также существует нижняя граница для каждого товарного потока.

Ограничение консервации должно соблюдаться индивидуально для товаров:

Решение [ править ]

Для проблемы циркуляции было разработано много полиномиальных алгоритмов (например, алгоритм Эдмондса и Карпа , 1972; Tarjan 1987-1988). Тардос нашел первый сильно полиномиальный алгоритм. [1]

В случае нескольких товаров проблема NP-полная для целочисленных потоков. [2] Для дробных потоков она разрешима за полиномиальное время , так как задачу можно сформулировать как линейную программу .

Связанные проблемы [ править ]

Ниже приведены некоторые проблемы и способы их решения с помощью приведенной выше общей схемы циркуляции.

  • Задача об обращении нескольких товаров с минимальными затратами - Использование всех ограничений, указанных выше.
  • Проблема обращения с минимальными затратами - используйте один товар
  • Многотоварный оборот - решайте без оптимизации затрат.
  • Простое обращение - используйте только один товар и бесплатно.
  • Multi-поток товаров - Если обозначает спрос на товар от до , создать край с для всех товаров . Пускай для всех остальных ребер.
  • Проблема с потоком нескольких товаров с минимальными затратами - То же, что и выше, но минимизация затрат.
  • Проблема потока минимальных затрат - Как указано выше, с 1 товаром.
  • Задача максимального потока - установите для всех затрат значение 0 и добавьте край от стока к источнику с помощью , ∞ и .
  • Задача минимальной стоимости максимального потока - Сначала найдите максимальный объем потока . Затем решите с помощью и .
  • Кратчайший путь из одного источника - Пусть и для всех ребер в графе, и добавьте ребро с помощью и .
  • Кратчайший путь для всех пар - пусть все емкости неограничены, и найдите поток из 1 для товаров, по одному для каждой пары узлов.

Ссылки [ править ]

  1. ^ Эва Тардос. «Сильно полиномиальный алгоритм обращения с минимальными затратами». Combinatorica . 5 : 247–255. DOI : 10.1007 / BF02579369 .
  2. ^ С. Эвен, А. Итаи и А. Шамир (1976). «О сложности расписания и проблем многопродуктовых потоков» . SIAM Journal on Computing . СИАМ. 5 (4): 691–703. DOI : 10.1137 / 0205048 . Архивировано из оригинала на 2013-01-12. CS1 maint: discouraged parameter (link)