Download Búsqueda tabú y búsqueda dispersa para el árbol de expansión

Document related concepts

Árbol Cartesiano wikipedia , lookup

Algoritmo Fractional Cascading wikipedia , lookup

Árbol binario de búsqueda wikipedia , lookup

Estructura de datos para conjuntos disjuntos wikipedia , lookup

Codificación Huffman wikipedia , lookup

Transcript
Búsqueda tabú y búsqueda dispersa para el
árbol de expansión capacitado de coste mínimo
Efraín Ruiz
Dept. d’Estadística i Investigació Operativa
Universitat Politècnica de Catalunya
Jordi Girona, 1-3. C5-224
08034, Barcelona, España
[email protected]
1. Introducción
El problema del árbol de expansión capacitado de coste mínimo (CMST por sus siglas
en inglés) ha sido típicamente utilizado como un subproblema en el diseño de redes
de telecomuniación. Se requiere encontrar la mejor forma de conectar n terminales,
ubicadas en localizaciones predeterminadas, a un nodo central (comunmente un centro
de cómputo o un servidor). Cada terminal utiliza una línea de transmisión durante una
cierta fracción del tiempo, para enviar o recibir mensajes. Para utilizar eficientemente
la capacidad de las líneas de transmisión se consideran diseños en los que se conectan
varias terminales a cada línea de transmisión, de forma tal que cada línea pueda ser
compartida por varias terminales. A dichas líneas de transmisión se les denomina líneas
mutipunto. De esta manera, cada línea multipunto puede ser representada mediante
un árbol de expansión que a su vez está conectado con el nodo central. En el diseño
topológico de redes, este problema equivale a encontrar un árbol en un grafo G =
(V, E), donde cada uno de los vértices del conjunto V , exceptuando al nodo central,
corresponde a una terminal y las aristas del conjunto E representan cableados factibles.
Entonces, cada subárbol conectado con el nodo central representa una línea multipunto.
Sin embargo, cada uno de los puertos de entrada del nodo central puede manejar una
cierta cantidad fija de información y por lo tanto la cantidad de información que puede
fluir en cada una de las líneas de transmisión es limitada (no debe exceder una cierta
cantidad fija de flujo b).
El problema CMST es NP-completo para 2 < b < n/2 (ver, [7]). Esto implica que
el problema es difícil de resolver de manera exacta. Es por ello que en la mayoría de
las investigaciones previas se le ha dado un tratamiento heurístico.
El estudio del problema del árbol de expansión capacitado de coste mínimo también tiene interés en el contexto de los problemas de rutas de vehículos. Dicho interés
se deriva de la influencia que tienen los árboles de expansión en los procedimientos
constructivos de soluciones posibles para problemas de rutas de vehículos. Además,
en los problemas de rutas de vehículos es muy usual la consideración de restricciones
de capacidad. El estudio de los árboles de expansión capacitados permite el diseño de
procedimientos eficientes para la obtención de soluciones factibles en problemas de
rutas de vehíulos.
En este trabajo se propone un método heurístico para obtener cotas superiores para
el CMST basado en una combinación de las metodologías de búsqueda tabú y búsqueda
dispersa. Se realizaron pruebas computacionales para evaluar el comportamiento del
método propuesto. A partir de los resultados obtenidos se observa que el algoritmo propuesto produce soluciones factibles de buena calidad con un esfuerzo computacional
razonable.
2. El problema del árbol de expansión capacitado de
coste mínimo
El problema del árbol de expansión capacitado de coste mínimo (CMST ) considera la
siguiente situación. Sea G = (V, E) un grafo no dirigido, donde V = {0, 1, . . . , n} es un
conjunto de vértices y E = {e : e = {i, j}, i, j ∈ V } es un conjunto de aristas. Al vértice
0 se le denomina nodo raiz. A cada elemento del conjunto de aristas, e ∈ E, se le asocia
un coste ce ≥ 0 y a cada uno de los elementos i ∈ V \ {0} del conjunto de vértices, se
le asocia un peso di ≥ 0, que representa la demanda del vértice i. Adicionalmente, se
especifica un parámetro de capacidad b. Se require encontrar un árbol de expansion de
coste mínimo de manera que la suma de las demandas de cada subárbol conectado con
el nodo raíz sea menor o igual a b.
A continuación se proporciona un modelo de programación matemática para el
problema del CMST que se formula a partir de un grafo dirigido asociado al grafo
original G. Cada arista {i, j} ∈ E se reemplaza por dos arcos (i, j) y ( j, i) con costes
ci j = c ji = ce , y el conjunto de aristas E se reemplaza por el conjunto de arcos A =
{a : a = (i, j), i, j ∈ V }. Sea S ⊆ V \ {0} cualquier subconjunto de vértices, δ − (S) =
{a ∈ A : a = (i, j), i 6∈ S, j ∈ S} el conjunto de arcos incidentes con los vértices del conjunto S y d(S) = ∑ dk la demanda total de los vértices del conjunto S. Se definen las
k∈S
siguientes variables de decisión
1, si se selecciona el arco a,
xa =
0, en otro caso.
El CMST se puede formular de la siguiente manera
∑ ca xa
min
(1)
a∈A
∑
s.t.
a∈δ − (i)
∑
a∈δ − (S)
xa = 1 ∀i ∈ V \ {0}
(2)
xa ≥ dd(S)/be ∀S ⊆ V \ {0} ,
xa ∈ {0, 1}
2
|S| ≥ 2
(3)
∀a ∈ A
(4)
Grupo
tc40
te40
tc80
te80
cm50
cm100
cm200
DesvM
0.03 %
0.49 %
0.32 %
0.91 %
0.93 %
0.52 %
1.66 %
DesvP
0.04 %
0.72 %
0.47 %
1.42 %
1.62 %
1.07 %
2.73 %
Cuadro 1: Resultados obtenidos con el algoritmo combinado
Las restricciones (2) aseguran que existe un solo arco incidente con cada vértice.
Las restricciones (3) garantizan la conectividad de la solución y también aseguran que
la demanda agregada de cada subárbol es menor o igual que la capacidad.
3. Experiencia computacional
Para poder evaluar el desempeńo del algoritmo propuesto se consideraron diferentes
conjuntos de problemas de prueba disponibles en htt p : //people.brunel.ac.uk/ mast j jb/ jeb/ jeb.html.
Los problemas están divididos en tres clases: tc, te y cm. Para la clase tc y te se consideran dos grupos de problemas diferentes, de acuerdo con el número de vértices (40
y 80 vértices). Asimismo, para la clase cm, se consideran tres grupos de problemas de
acuerdo con el número de vértices (50, 100 y 200 vértices). Para cada conjunto de datos
se consideran distintos valores para el parámetro de capacidad b. Para los problemas
de las clases tc y te con 40 vértices se consideran dos valores distintos para b (5 y 10).
Para los problemas de la clases tc y te con 80 vértices se consideran tres valores distintos para b (5, 10 y 20). Finalmente, para los problemas de la clase cm se consideran
también tres valores distintos para el parámetro de capacidad b (200, 400 y 800).
El algoritmo propuesto se ejecutó 5 veces para cada uno de los problemas considerados. En el Cuadro 1 se muestran los resultados obtenidos con algoritmo que combina
las metodologías de búsqueda tabú y búsqueda dispersa. La información presentada es
la siguiente. Las columnas con el encabezado Grupo muestran el grupo de problemas.
Las columnas con el encabezado DesvM, muestran la desviación porcentual promedio
de la mejor solución obtenida (en las 5 ejecuciones) con respecto al valor de la mejor
solución conocida. Las columnas con el encabezado DesvP, muestran la desviación
porcentual promedio del valor medio de las soluciones obtenidas con respecto al valor
de la mejor solución conocida.
En términos de esfuerzo computacional, los tiempos medios de cpu requeridos para
la ejecución del algoritmo combinado (en segundos) son 9.02, 12.09, 60.71, 71,15,
15.41, 69.02 y 330.21 para los grupos de problemas tc40, te40, tc80, te80, cm50,
cm100 y cm200, respectivamente. Se puede observar que con excepción de los grupos tc40 y cm200, el procedimiento de búsqueda dispersa logra mejorar las soluciones
obtenidas con el procedimiento de búsqueda tabú. En particular, se observa un mayor
porcentaje de mejora para los problemas de la clase te.
3
4. Conclusión
En este trabajo se estudia el problema del árbol de expansión capacitado de coste mínimo. En particular, se propone un método basado en una combinación de las metodologías
de búsqueda tabú y búsqueda dispersa.
En el procedimiento de búsqueda tabú se considera una función objetivo que se
adapta utilizando información histórica de proceso de búsqueda. Esto permite implementar una estrategia de oscilación estratégica para obtener un mayor grado de flexibilidad durante le proceso de búsqueda.
En el procedimiento de búsqueda dispersa se combinan pares de soluciones utilizando un procedimiento de eliminación de aristas y compactación del grafo unión de
las soluciones a combinar.
De acuerdo con los resultados obtenidos se observa que con la metodología propuesta se obtienen soluciones de buena calidad con un esfuerzo computacional razonable.
Referencias
[1] Ahuja, R.K., Orlin, J.B. y Sharma, D., A composite very large-scale neighborhood
structur for the capacitated minimum spanning tree problem, Operations Research
31, 186-194, 2003.
[2] Amberg, A., Domeschke, W. y VoS, S., Capacitated minimum spanning tree: algorithms using intelligent search, Combinatorial Optimization: Theory and Practice
1, 9-33, 1996.
[3] Esau, D. y Williams, K.C., On teleprocessing system design. Part II, IBM System
Journal 5, 142-147.
[4] Gavish, B., Topological design of centralized computer networks: formulations and
algorithms , Networks 12, 355-377, 1982.
[5] Gavish, B., Formulation and algorithms for the capacitated minimal directed tree
problem , Journal of the ACM 30, 118-132, 1983.
[6] Gouveia, L., Determinacão da arvore de suporte de custo mínimo com restricões
de capacidade: formulacões e algoritmos, Tesis Doctoral, Universidad de Lisboa,
Portugal, 1991.
[7] Papadimitriou, C., The complexity of the capacitated tree problem, Networks 8,
217-230, 1978.
[8] Sharaiha, Y.M., Gendreau, M., Laporte, G. y Osman, I.H., A tabu search algorithm
for the capacitated shortest spanning tree problem, Networks 29, 161-167, 1997.
[9] Souza, M.C., Duhamel, C. y Ribeiro, C.C., A GRASP heuristic for the capacitated minimum spannig tree problem using memory-based local search strategy,
In Metaheuristics: Computer Decision-Making, M.G.C. Resende y J. Souza (eds.)
627-658, Kluwer, 2003.
4