El problema de la circulación y sus variantes son una generalización de los problemas de flujo en la red , con la restricción adicional de un límite inferior para los flujos en los bordes y con la necesidad de conservar el flujo para la fuente y el sumidero (es decir, no hay nodos especiales). En las variantes del problema, hay múltiples productos que fluyen a través de la red y un costo para el flujo.
Definición
Red de flujo dada con:
, límite inferior del flujo de nodo a nodo ,
, límite superior del flujo de nodo a nodo ,
, costo de una unidad de flujo en
y las restricciones:
,
(el flujo no puede aparecer ni desaparecer en los nodos).
Encontrar una asignación de flujo que satisfaga las restricciones proporciona una solución al problema de circulación dado.
En la variante de costo mínimo del problema, minimizar
Circulación de múltiples productos
En un problema de circulación de múltiples productos, también es necesario realizar un seguimiento del flujo de los productos individuales:
El flujo de mercancías desde a .
El flujo total.
También existe un límite inferior para cada flujo de mercancías.
La restricción de conservación debe respetarse individualmente para los productos:
Solución
Para el problema de circulación se han desarrollado muchos algoritmos polinomiales (por ejemplo, el algoritmo de Edmonds-Karp , 1972; Tarjan 1987-1988). Tardos encontró el primer algoritmo fuertemente polinomial. [1]
En el caso de múltiples productos, el problema es NP-completo para flujos enteros. [2] Para flujos fraccionarios, se puede resolver en tiempo polinomial , ya que se puede formular el problema como un programa lineal .
Problemas relacionados
A continuación se presentan algunos problemas y cómo resolverlos con la configuración de circulación general indicada anteriormente.
Problema de circulación de múltiples productos con costo mínimo: utilizando todas las restricciones dadas anteriormente.
Problema de circulación de costo mínimo: utilizar un solo producto
Circulación de múltiples mercancías: solucione sin optimizar costos.
Circulación simple: solo use un producto y sin costo.
Flujo de múltiples productos : si denota una demanda de un producto de a , crea una arista con para todos los productos . Sea para todas las demás aristas.
Camino más corto para todos los pares : supongamos que todas las capacidades son ilimitadas y encontremos un flujo de 1 para los productos, uno para cada par de nodos.
Referencias
^ Éva Tardos (1985). "Un algoritmo de circulación de costo mínimo fuertemente polinomial". Combinatorica . 5 (3): 247–255. doi :10.1007/BF02579369.
^ S. Even y A. Itai y A. Shamir (1976). "Sobre la complejidad de los problemas de flujo de horarios y de múltiples productos". Revista SIAM de Computación . 5 (4). SIAM: 691–703. doi :10.1137/0205048. Archivado desde el original el 12 de enero de 2013.