Проблема циркуляции - Circulation problem
В проблема циркуляции и его варианты являются обобщением сетевой поток проблемы, с добавленным ограничением нижней границы на граничные потоки, и с сохранение потока также необходимы для источника и приемника (т.е. нет специальных узлов). В вариантах проблемы есть несколько товаров, проходящих через сеть, и затраты на поток.
Определение
Данная сеть потока с:
- , нижняя граница потока из узла узел ,
- , верхняя граница потока из узла узел ,
- , стоимость единицы расхода на
и ограничения:
- ,
- (поток не может появиться или исчезнуть в узлах).
Нахождение задания потока, удовлетворяющего ограничениям, дает решение данной проблемы циркуляции.
В минимально затратном варианте задачи минимизировать
Многотоваровое обращение
В проблеме обращения нескольких товаров также необходимо отслеживать поток отдельных товаров:
Поток товаров из к . Общий расход.
Также существует нижняя граница для каждого товарного потока.
Ограничение консервации должно соблюдаться индивидуально для товаров:
Решение
Для задачи циркуляции было разработано много полиномиальных алгоритмов (например, Алгоритм Эдмондса и Карпа, 1972; Тарьян 1987-1988). Тардос нашел первый сильно полиномиальный алгоритм.[1]
В случае нескольких товаров проблема заключается в НП-полный для целочисленных потоков.[2] Для дробных потоков она разрешима в полиномиальное время, так как задачу можно сформулировать как линейная программа.
Связанные проблемы
Ниже приведены некоторые проблемы и способы их решения с помощью приведенной выше общей схемы циркуляции.
- Задача об обращении нескольких товаров с минимальными затратами - Использование всех ограничений, указанных выше.
- Проблема обращения с минимальными затратами - используйте один товар
- Многотоваровое обращение - решайте без оптимизации затрат.
- Простое обращение - используйте только один товар и бесплатно.
- Многопродуктовый поток - Если обозначает потребность для товара из к , создать край с для всех товаров . Позволять для всех остальных краев.
- Задача о минимальных затратах на товарные потоки - То же, что и выше, но минимизируйте стоимость.
- Задача минимальной стоимости потока - Как указано выше, с 1 товаром.
- Задача максимального расхода - Установите все затраты на 0 и добавьте край раковины к источнику с , ∞ и .
- Проблема с минимальной стоимостью и максимальным расходом - Сначала найдите максимальный объем потока . Затем решите с помощью и .
- Кратчайший путь из одного источника - Позволять и для всех ребер в графе и добавьте ребро с и .
- Кратчайший путь для всех пар - Пусть все мощности будут неограниченными, и найдите поток 1 для товары, по одному на каждую пару узлов.
Рекомендации
- ^ Эва Тардос. «Сильно полиномиальный алгоритм обращения с минимальными затратами». Комбинаторика. 5: 247–255. Дои:10.1007 / BF02579369.
- ^ С. Эвен, А. Итаи и А. Шамир (1976). «О сложности расписания и проблем многопродуктовых потоков». SIAM Журнал по вычислениям. СИАМ. 5 (4): 691–703. Дои:10.1137/0205048. Архивировано из оригинал на 2013-01-12.