Articulo de referencia

Problema de flujo de múltiples mercancías

El problema del flujo de múltiples productos básicos es un problema de flujo en red con múltiples productos básicos (demandas de flujo) entre diferentes nodos de origen y destin...

El problema del flujo de múltiples productos básicos es un problema de flujo en red con múltiples productos básicos (demandas de flujo) entre diferentes nodos de origen y destino.

Definición

Dada una red de flujoGRAMO(V,mi){\displaystyle \,G(V,E)}donde borde(,v)mi{\displaystyle (u,v)\in E}tiene capacidaddo(,v){\displaystyle \,c(u,v)}. Hayk{\displaystyle \,k}productos básicosK1,K2,,Kk{\displaystyle K_{1},K_{2},\dots ,K_{k}}, definido porKi=(si,ti,di){\displaystyle \,K_{i}=(s_{i},t_{i},d_{i})}, dóndesi{\displaystyle \,s_{i}}yti{\displaystyle \,t_{i}}es la fuente y el sumidero de mercancíasi{\displaystyle \,i}, ydi{\displaystyle \,d_{i}}es su demanda. La variableFi(,v){\displaystyle \,f_{i}(u,v)}define la fracción de flujoi{\displaystyle \,i}a lo largo del borde(,v){\displaystyle \,(u,v)}, dóndeFi(,v)[0,1]{\displaystyle \,f_{i}(u,v)\in [0,1]}en caso de que el flujo pueda dividirse entre múltiples rutas, yFi(,v){0,1}{\displaystyle \,f_{i}(u,v)\in \{0,1\}}de lo contrario (es decir, "enrutamiento de ruta única"). Encuentre una asignación de todas las variables de flujo que satisfaga las siguientes cuatro restricciones:

(1) Capacidad del enlace: La suma de todos los flujos enrutados a través de un enlace no excede su capacidad.

(,v)mi:i=1kFi(,v)dido(,v){\displaystyle \forall (u,v)\in E:\,\sum _{i=1}^{k}f_{i}(u,v)\cdot d_{i}\leq c(u,v)}

(2) Conservación del flujo en los nodos de tránsito: La cantidad de un flujo que ingresa a un nodo intermedio{\displaystyle u}es lo mismo que sale del nodo.

i{1,,k}:(,w)miFi(,w)(w,)miFi(w,)=0whminortesi,ti{\displaystyle \forall i\in \{1,\ldots ,k\}:\,\sum _{(u,w)\in E}f_{i}(u,w)-\sum _{(w,u)\in E}f_{i}(w,u)=0\quad \mathrm {cuando} \quad u\neq s_{i},t_{i}}

(3) Conservación del flujo en la fuente: Un flujo debe salir completamente de su nodo fuente.

i{1,,k}:(si,w)miFi(si,w)(w,si)miFi(w,si)=1{\displaystyle \forall i\in \{1,\ldots ,k\}:\,\sum _{(s_{i},w)\in E}f_{i}(s_{i},w)-\sum _{(w,s_{i})\in E}f_{i}(w,s_{i})=1}

(4) Conservación del flujo en el destino: Un flujo debe entrar completamente en su nodo sumidero.

i{1,,k}:(w,ti)miFi(w,ti)(ti,w)miFi(ti,w)=1{\displaystyle \forall i\in \{1,\ldots ,k\}:\,\sum _{(w,t_{i})\in E}f_{i}(w,t_{i})-\sum _{(t_{i},w)\in E}f_{i}(t_{i},w)=1}

Problemas de optimización correspondientes

El balanceo de carga es el intento de enrutar flujos de tal manera que la utilizaciónU(,v){\displaystyle U(u,v)}de todos los enlaces(,v)mi{\displaystyle (u,v)\in E}es incluso, donde

U(,v)=i=1kFi(,v)dido(,v){\displaystyle U(u,v)={\frac {\sum _{i=1}^{k}f_{i}(u,v)\cdot d_{i}}{c(u,v)}}}

El problema se puede resolver, por ejemplo, minimizando,vV(U(,v))2{\displaystyle \sum _{u,v\in V}(U(u,v))^{2}}. Una linealización común de este problema es la minimización de la utilización máxima.Umetroaincógnita{\displaystyle U_{max}}, dónde

(,v)mi:UmetroaincógnitaU(,v){\displaystyle \forall (u,v)\in E:\,U_{max}\geq U(u,v)}

En el problema de flujo de múltiples productos básicos de costo mínimo , existe un costoa(,v)F(,v){\displaystyle a(u,v)\cdot f(u,v)}para enviar un flujo en(,v){\displaystyle \,(u,v)}. Luego debes minimizar

(,v)mi(a(,v)i=1kFi(,v)di){\displaystyle \sum _{(u,v)\in E}\left(a(u,v)\sum _{i=1}^{k}f_{i}(u,v)\cdot d_{i}\right)}

En el problema del flujo máximo de múltiples productos básicos , la demanda de cada producto no es fija, y el rendimiento total se maximiza maximizando la suma de todas las demandas.i=1kdi{\displaystyle \sum _{i=1}^{k}d_{i}}

Relación con otros problemas

La variante de costo mínimo del problema de flujo de múltiples productos básicos es una generalización del problema de flujo de costo mínimo (en el que solo hay una fuente).s{\displaystyle s}y un fregaderot{\displaystyle t}Las variantes del problema de circulación son generalizaciones de todos los problemas de flujo. Es decir, cualquier problema de flujo puede considerarse como un problema de circulación particular. [ 1 ]

Uso

El enrutamiento y la asignación de longitud de onda (RWA) en la conmutación de ráfagas ópticas de una red óptica se abordarían mediante fórmulas de flujo multicommodity, si la red está equipada con conversión de longitud de onda en cada nodo.

La asignación de registros puede modelarse como un problema de flujo de múltiples productos básicos con costo mínimo entero: los valores producidos por las instrucciones son nodos fuente, los valores consumidos por las instrucciones son nodos sumidero y los registros, así como las ranuras de la pila, son aristas. [ 2 ]

Soluciones

En la versión de decisión de los problemas, el problema de producir un flujo entero que satisfaga todas las demandas es NP-completo , [ 3 ] incluso para solo dos productos y capacidades unitarias (lo que hace que el problema sea fuertemente NP-completo en este caso).

Si se permiten flujos fraccionarios, el problema puede resolverse en tiempo polinomial mediante programación lineal [ 4 ] o mediante esquemas de aproximación totalmente polinomiales (generalmente mucho más rápidos) [ 5 ] .

Aplicaciones

El flujo multicommodity se aplica en el enrutamiento superpuesto en la entrega de contenido. [ 6 ]

Recursos externos

  • Artículos de Clifford Stein sobre este problema: http://www.columbia.edu/~cs2035/papers/#mcf
  • Software que resuelve el problema: https://web.archive.org/web/20130306031532/http://typo.zib.de/opt-long_projects/Software/Mcf/

Referencias

  1. Ahuja, Ravindra K.; Magnanti, Thomas L.; Orlin, James B. (1993). Flujos de red. Teoría, algoritmos y aplicaciones . Prentice Hall.
  2. Koes, David Ryan (2009). "Hacia un compilador más basado en principios: revisión de la asignación de registros y la selección de instrucciones" (Tesis doctoral). Universidad Carnegie Mellon. S2CID 26416771 . 
  3. 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 .Even, S.; Itai, A.; Shamir, A. (1975). "Sobre la complejidad de los problemas de flujo de horarios y múltiples mercancías". 16º Simposio Anual sobre Fundamentos de la Informática (SFCS 1975) . pp. 184–193 . doi : 10.1109/SFCS.1975.21 . S2CID 18449466 .  
  4. ^ Thomas H. Cormen , Charles E. Leiserson , Ronald L. Rivest y Clifford Stein (2009). "29". Introducción a los algoritmos (3ª ed.). MIT Press y McGraw-Hill. pag. 862.ISBN   978-0-262-03384-8.{{cite book}}: CS1 maint: varios nombres: lista de autores ( enlace )
  5. George Karakostas (2002). «Esquemas de aproximación más rápidos para problemas de flujo multicommodity fraccionarios» . Actas del decimotercer simposio anual ACM-SIAM sobre algoritmos discretos . págs. 166-173 . ISBN  0-89871-513-X.
  6. Bruce M. Maggs y Ramesh K. Sitaraman (2015). "Algorithmic Nuggets in Content Delivery". ACM SIGCOMM Computer Communication Review . 45 (3). ACM: 52– 66. doi : 10.1145/2805789.2805800 .

Añadir: Jean-Patrice Netter, Flow Augmenting Meshings: a primal type of approach to the maximum integer flow in a multi-commodity network, tesis doctoral, Universidad Johns Hopkins, 1971.