В теории комбинаторной оптимизации субмодулярный поток — это общий класс задач оптимизации, включающий в себя в качестве частных случаев задачу потока минимальной стоимости , пересечение матроидов и задачу вычисления дисоединения минимального веса во взвешенном ориентированном графе . Первоначально она была сформулирована Джеком Эдмондсом и Риком Джайлсом [1] и может быть решена за полиномиальное время . [2] [3] [4]
В классической задаче о потоке минимальной стоимости входными данными является сеть потоков с заданными мощностями, которые определяют нижние и верхние пределы количества потока на ребро, а также затраты на единицу потока вдоль каждого ребра. Цель состоит в том, чтобы найти систему объемов потоков, которые подчиняются мощностям на каждом ребре, подчиняются закону Кирхгофа , согласно которому общий объем потока в каждую вершину равен общему объему потока из нее, и имеют минимальную общую стоимость. В субмодулярном потоке также задается субмодулярная функция множества на множествах вершин графа. Вместо того, чтобы подчиняться закону Кирхгофа, требуется, чтобы для каждого множества вершин избыточный поток (функция, отображающая множество в его разность между потоком из нее и потоком из нее) мог быть не более значения, заданного субмодулярной функцией. [4]