Articulo de referencia

Problema de circulación

El problema de la circulación y sus variantes constituyen una generalización de los problemas de flujo en redes , con la restricción adicional de un límite inferior para los flu...

El problema de la circulación y sus variantes constituyen una generalización de los problemas de flujo en redes , con la restricción adicional de un límite inferior para los flujos en las aristas y la exigencia de conservación del flujo tanto para el origen como para el destino (es decir, no existen nodos especiales). En las variantes del problema, circulan múltiples mercancías por la red y se aplica un coste a dicho flujo.

Definición

Red de flujo dadaGRAMO(V,mi){\displaystyle G(V,E)}con:

l(v,w){\displaystyle l(v,w)}, límite inferior del flujo desde el nodov{\displaystyle v}al nodow{\displaystyle w},
(v,w){\displaystyle u(v,w)}, límite superior del flujo desde el nodov{\displaystyle v}al nodow{\displaystyle w},
do(v,w){\displaystyle c(v,w)}, costo de una unidad de flujo en(v,w){\displaystyle (v,w)}

y las restricciones:

l(v,w)F(v,w)(v,w){\displaystyle l(v,w)\leq f(v,w)\leq u(v,w)},
wVF(,w)=0{\displaystyle \sum _{w\in V}f(u,w)=0}(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 planteado.

En la variante de costo mínimo del problema, minimizar

(v,w)mido(v,w)F(v,w).{\displaystyle \sum _{(v,w)\in E}c(v,w)\cdot f(v,w).}

Circulación de múltiples productos

En un problema de circulación de múltiples productos básicos, también es necesario realizar un seguimiento del flujo de cada producto individual:

También existe un límite inferior para cada flujo de mercancía.

La restricción de conservación debe respetarse individualmente para cada producto:

 wVFi(,w)=0.{\displaystyle \ \sum _{w\in V}f_{i}(u,w)=0.}

Solución

Para el problema de la 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 ]

Para el caso de múltiples productos básicos, el problema es NP-completo para flujos enteros. [ 2 ] Para flujos fraccionarios, es resoluble en tiempo polinomial , ya que se puede formular el problema como un programa lineal .

A continuación se presentan algunos problemas y cómo resolverlos con la configuración de circulación general descrita anteriormente.

  • Problema de circulación de múltiples productos básicos con coste mínimo: utilizando todas las restricciones dadas anteriormente.
  • Problema de circulación de costo mínimo: utilice un solo producto.
  • Circulación de múltiples productos básicos: solución sin optimización de costes.
  • Circulación sencilla: solo se utiliza un producto, y sin coste alguno.
  • Flujo de múltiples productos básicos - SiKi(si,ti,di){\displaystyle K_{i}(s_{i},t_{i},d_{i})}denota una demanda dedi{\displaystyle d_{i}}para productos básicosi{\displaystyle i}desi{\displaystyle s_{i}}ati{\displaystyle t_{i}}crear un borde(ti,si){\displaystyle (t_{i},s_{i})}conli(ti,si)=(ti,si)=di{\displaystyle l_{i}(t_{i},s_{i})=u(t_{i},s_{i})=d_{i}}para todos los productos básicosi{\displaystyle i}. Dejarli(,v)=0{\displaystyle l_{i}(u,v)=0}para todos los demás bordes.
  • Problema de flujo de múltiples productos básicos con costo mínimo : igual que el anterior, pero minimizando el costo.
  • Problema de flujo de costo mínimo : igual que el anterior, con 1 producto.
  • Problema de flujo máximo : establezca todos los costos en 0 y agregue una arista desde el fregadero.t{\displaystyle t}a la fuentes{\displaystyle s}conl(t,s)=0{\displaystyle l(t,s)=0},(t,s)={\displaystyle u(t,s)=}∞ ydo(t,s)=1{\displaystyle c(t,s)=-1}.
  • Problema de flujo máximo de costo mínimo : primero, encontrar la cantidad máxima de flujo.metro{\displaystyle m}. Luego resuelve conl(t,s)=(t,s)=metro{\displaystyle l(t,s)=u(t,s)=m}ydo(t,s)=0{\displaystyle c(t,s)=0}.
  • Ruta más corta desde un único origen - Dejel(,v)=0{\displaystyle l(u,v)=0}ydo(,v)=1{\displaystyle c(u,v)=1}para todas las aristas del grafo, y agregar una arista(t,s){\displaystyle (t,s)}conl(t,s)=(t,s)=1{\displaystyle l(t,s)=u(t,s)=1}ydo(t,s)=0{\displaystyle c(t,s)=0}.
  • Camino más corto entre todos los pares : Supongamos que todas las capacidades son ilimitadas y encontremos un flujo de 1 parav(v1)/2{\displaystyle v(v-1)/2}productos básicos, uno por cada par de nodos.

Referencias

  1. Éva Tardos (1985). "Un algoritmo de circulación de costo mínimo fuertemente polinomial". Combinatorica . 5 (3): 247– 255. doi : 10.1007/BF02579369 .
  2. S. Even y A. Itai y A. Shamir (1976). "Sobre la complejidad de los problemas de flujo de horarios y multicommodity" . SIAM Journal on Computing . 5 (4). SIAM: 691– 703. doi : 10.1137/0205048 .{{cite journal}}: CS1 maint: servicio de archivado obsoleto ( enlace )