Articulo de referencia

Árbol de expansión mínima con capacidad

El árbol de expansión mínima con capacidad es un árbol de expansión de costo mínimo de un grafo que tiene un nodo raíz designado. r {\displaystyle r} y satisface la restricción ...

El árbol de expansión mínima con capacidad es un árbol de expansión de costo mínimo de un grafo que tiene un nodo raíz designado.r{\displaystyle r}y satisface la restricción de capacidaddo{\displaystyle c}. La restricción de capacidad asegura que todos los subárboles (subgrafos máximos conectados a la raíz por una sola arista) incidan en el nodo raíz.r{\displaystyle r}no tener más quedo{\displaystyle c}nodos. Si los nodos del árbol tienen pesos, entonces la restricción de capacidad puede interpretarse de la siguiente manera: la suma de los pesos en cualquier subárbol no debe ser mayor quedo{\displaystyle c}Las aristas que conectan los subgrafos con el nodo raíz se denominan compuertas . Encontrar la solución óptima es un problema NP-difícil . [ 1 ]

Algoritmos

Supongamos que tenemos un gráficoGRAMO=(V,mi){\displaystyle G=(V,E)},norte=|GRAMO|{\displaystyle n=|G|}con una raízrGRAMO{\displaystyle r\in G}. Dejarai{\displaystyle a_{i}}ser todos los demás nodos enGRAMO{\displaystyle G}. Dejardoij{\displaystyle c_{ij}}sea ​​el costo de la arista entre vérticesai{\displaystyle a_{i}}yaj{\displaystyle a_{j}}que forman una matriz de costosdo=doij{\displaystyle C={c_{ij}}}.

Heurística de Esaú-Williams

La heurística de Esau-Williams encuentra CMST subóptimos que están muy cerca de las soluciones exactas, pero en promedio EW produce mejores resultados que muchas otras heurísticas.

Inicialmente, todos los nodos están conectados a la raíz.r{\displaystyle r}(gráfico de estrella) y el costo de la red esi=0nortedori{\displaystyle \displaystyle \sum _ {i=0}^{n}c_ {ri}}Cada una de estas aristas es una puerta. En cada iteración, buscamos al vecino más cercano.aj{\displaystyle a_{j}}para cada nodo enGRAMOr{\displaystyle G-{r}}y evaluar la función de compensación:t(ai)=gramoidoij{\displaystyle t(a_{i})=g_{i}-c_{ij}}Buscamos lo mejort(ai){\displaystyle t(a_{i})}entre las ventajas y desventajas y, si el subárbol resultante no viola las restricciones de capacidad, eliminar la puertagramoi{\displaystyle g_{i}} conectando eli{\displaystyle i}-º subárbol aaj{\displaystyle a_{j}}por un bordedoij{\displaystyle c_{ij}}Repetimos las iteraciones hasta que ya no podamos realizar más mejoras en el árbol.

Heurística de Esau-Williams para calcular un CMST subóptimo:

función CMST( c , C , r ): T = {do1r{\displaystyle c_{1r}},do2r{\displaystyle c_{2r}}, ...,donorter{\displaystyle c_{nr}}} mientras haya cambios: para cada nodoai{\displaystyle a_{i}}aj{\displaystyle a_{j}}= nodo más cercano en un subárbol diferente t(ai){\displaystyle t(a_{i})}=gramoi{\displaystyle g_{i}}-doij{\displaystyle c_{ij}}t_max = máximo (t(ai){\displaystyle t(a_{i})}) k = i tal quet(ai){\displaystyle t(a_{i})}= t_max si ( costo (i) + costo (j) <= c ) T = T -gramok{\displaystyle g_{k}}T = T unióndokj{\displaystyle c_{kj}}devolver T

Es fácil ver que EW encuentra una solución en tiempo polinomial .

[ 2 ]

La heurística de Ahuja

La heurística de Ahuja [ 3 ] utiliza una búsqueda local en un vecindario de múltiples intercambios grande a partir de una solución inicial voraz aleatoria .

Solución inicial

La solución inicial se encuentra utilizando una versión aleatoria de Esau-Williams. La aleatorización se logra ejecutando una unión aleatoria uniforme de los mejorespag{\displaystyle p}en lugar de la mejor en cada paso.

Búsqueda local de vecindarios

DejarT{\displaystyle T}ser la solución inicial con raízr{\displaystyle r}. El vecindario consiste en cualquier combinación de un solo nodo o subárbol (subárboles generales, no como en la introducción de este artículo) que desplaza a uno en un componente diferente deTr{\displaystyle T\setminus r}de tal manera que la estructura desplazada sea el siguiente desplazador, el último desplazador desplace al primer desplazador, ningún componente original tenga más de un desplazador y la capacidad no se exceda en ningún componente resultante.

Gráfico de mejora

Un grafo de mejora es una herramienta para explorar un vecindario muy grande de manera eficiente. Los caminos a través de un grafo de mejora corresponden a cambios en una solución y el costo del camino es el cambio en el costo de la solución al aplicar el cambio. Aquí, el grafo de mejora es un multigrafo dirigido construido usando 2 copiasi,i{\displaystyle i',i''}de cada nodoiV(T){\displaystyle i\in V(T)}y hasta 4 aristas desde cualquier nodo a cualquier nodo en un componente diferente deTr{\displaystyle T\setminus r}El bordei,j{\displaystyle i',j''}corresponde al cambio de eliminar el nodoi{\displaystyle i}de su componente original y reemplazando el subárbol enraizado enj{\displaystyle j}en el componente de destino. Combinando nodosi{\displaystyle i'}y subárbolesi{\displaystyle i''}Esto genera las 4 posibles aristas. Una arista existe si el cambio correspondiente no provoca que el componente objetivo supere la capacidad. El costo de una arista es la diferencia en el costo de los árboles de expansión mínima en los vértices del componente objetivo antes y después del desplazamiento. Por lo tanto, los vecinos en la búsqueda local corresponden a ciclos en el grafo de mejora que contienen como máximo un nodo de cada componente.

Paso de búsqueda local

El paso de búsqueda local utiliza un enfoque de programación dinámica para encontrar un ciclo de costo mínimo en el grafo de mejora. Se generan rutas a través del grafo de mejora con longitud creciente y solo se almacena la más favorable con el mismo inicio y fin, así como los mismos componentes involucrados. Para ello, se utiliza una tabla hash con la tupla de esas tres propiedades como clave para almacenar las rutas. Dado que en cada ciclo negativo existe un nodo tal que todas las rutas dentro de ese ciclo que contienen este nodo tienen costo negativo, solo es necesario considerar las rutas con costo negativo. Como la comparación de conjuntos de componentes involucrados entre rutas es una de las operaciones más comunes en el algoritmo, se implementa como una comparación de matrices de bits indicadores almacenadas como enteros para mayor velocidad. Sin embargo, esto claramente se debe a una gran cantidad de colisiones de hash, que podrían ser consecuencia de la elección particular de la función hash y la estructura de la tabla, así como del alto factor de carga debido a las restricciones de espacio (artículo de 2003).

Actuación

En el momento de redactar este artículo (2003), este algoritmo representaba la vanguardia en un conjunto de datos de referencia estándar para la investigación operativa. La ejecución dependía principalmente de la construcción (o actualización) del grafo de mejora. El número de aristas en el grafo de mejora aumentaba empíricamente de forma cuadrática con el tamaño del grafo de entrada, y dado que esto determina la cantidad de veces que debe ejecutarse el paso, relativamente complejo, de encontrar un árbol de expansión mínima, este es el factor más crítico. Por lo tanto, se puede concluir que los grafos de entrada menos densos mejoran considerablemente el tiempo de ejecución, ya que esto reduce el número de aristas en el grafo de mejora.

Aplicaciones

El problema de CMST es importante en el diseño de redes: cuando se deben conectar muchos ordenadores terminales al hub central, la configuración en estrella no suele ser la de menor coste. Encontrar un CMST que organice los terminales en subredes puede reducir el coste de implementación de la red.

Referencias

  1. Jothi, Raja; Raghavachari, Balaji (2005), "Algoritmos de aproximación para el problema del árbol de expansión mínima con capacidad y sus variantes en el diseño de redes", ACM Trans. Algorithms , 1 (2): 265– 282, doi : 10.1145/1103963.1103967 , S2CID 8302085 
  2. Esau, LR; Williams, KC (1966). "Sobre el diseño de redes de teleprocesamiento: Parte II. Un método para aproximar la red óptima". IBM Systems Journal . 5 (3): 142– 147. doi : 10.1147/sj.53.0142 .
  3. Ahuja, RK; Orlin, JB; Sharma, D. (2003). "Una estructura de vecindario compuesta a gran escala para el problema del árbol de expansión mínima con capacidad". Operations Research Letters . 31 (3): 185– 194. doi : 10.1016/S0167-6377(02)00236-5 .