Documentos de Académico
Documentos de Profesional
Documentos de Cultura
La Heurística Búsqueda Tabú Aplicada Al Diseño de Bases de Datos Distribuidas
La Heurística Búsqueda Tabú Aplicada Al Diseño de Bases de Datos Distribuidas
computacional
factible
mtodos exactos.
aplicando
los
2. Modelo Matemtico
En esta seccin se describe un
modelo de programacin entera (binaria)
para resolver el problema de la
fragmentacin, ubicacin
y reubicacin
Proyecto apoyado parcialmente por CONACYT Y
COSNET clave 643.01-P
ki m
c x
km km ij mj
c f ki y + c w +
kj
2 j
i k
j 1
j
a mi c ij d m x mj
m
Donde
f ki =
Frecuencia de emisin de la
consulta k desde el sitio i;
qkm = parmetro de uso, qkm =1 si la
consulta k usa el atributo m, en
caso contrario qkm = 0;
lkm = nmero
de
paquetes
de
comunicacin
necesarios
para
transportar el atributo m requerido
por la consulta k;
cij = costo de comunicacin entre el
sitio i y el sitio j;
c1 = costo por acceder a cada fragmento;
c2 = costo por ubicar un fragmento en un
sitio;
El
mtodo
heurstico Bsqueda
Tab es un procedimiento de bsqueda
general para resolver problemas de
optimizacin combinatoria. Este proceso
inicia con una solucin factible x*N y
N X (donde X es el conjunto de todas las
soluciones factibles y N es el conjunto de
todas las soluciones factibles vecinas a x), y
z* como el valor de la funcin objetivo para
x * , y busca alcanzar un mnimo global por
movimientos paso a paso[7]. Mientras no se
cumpla el criterio de terminacin, se repite
el siguiente proceso: se genera una lista de
movimientos candidatos; se selecciona el
mejor movimiento en base a z(x) y se agrega
ste a la lista tab; se actualiza tanto la
solucin x
como su correspondiente
solucin z(x); finalmente si z(x) < z*,
entonces z* se actualiza con el valor de z(x)
y x* con x, siendo estos respectivamente, el
mejor valor de la funcin objetivo y la mejor
solucin del experimento. La Figura 1
muestra el algoritmo de BT implementado.
Inicio
x* = una solucin factible inicial
z* = el valor de la funcin objetivo para x*
x = x* , z (x) = z*
Mientras no cumpla el criterio de terminacin
Generar una lista de movimientos candidatos.
Seleccionar un movimiento admisible con el
mayor valor de la funcin objetivo z (x).
Actualizar la lista tab, registrando como
prohibido el movimiento seleccionado.
x = x , z(x) = z(x)
Si z(x) < z*
entonces z* = z(x) , x* = x
Fin Mientras
Fin
Figura 1. Algoritmo de BT.
3.2.2 Tenencia
La Tenencia es la duracin, en
nmero de iteraciones, que un atributo (o
movimiento) puede permanecer como tab
activo. Durante este periodo el movimiento
permanece como prohibido y no puede
formar parte de una nueva solucin [5]. El
valor de la tenencia es crucial para el
desempeo de BT, con un valor apropiado
las probabilidades de obtener soluciones de
calidad son altas [7]. Dos estrategias
propuestas son:
Valor de la
Solucin
Z(x)
Tamao
(bytes)
e) Criterio de Aspiracin
El criterio de aspiracin da cierta
flexibilidad a la bsqueda; es decir, el
estatus tab de una solucin o movimiento
puede ser ignorado si se cumplen ciertas
condiciones. Entonces esta solucin puede
ser considerada admisible [1]. El criterio
aplicado fue aspiracin por objetivo global,
que consiste en que la aspiracin de un
movimiento se satisface si el movimiento
produce una solucin mejor que la mejor
obtenida.
Nombre del
Problema
Consultas
d) Criterio de Terminacin
Para el criterio de terminacin se
eligi la estrategia por nmero fijo de
iteraciones; inicialmente se manej un valor
de 30 iteraciones pero no se obtenan buenas
soluciones, se experiment con otros valores
y finalmente este parmetro se fij en 500
iteraciones.
Sitios
c) Tenencia
Para la tenencia se aplic la
estrategia propuesta por Glover [5] que
asigna un valor fijo a este parmetro, el valor
elegido fue 7.
Atrib.
D3_2_2
3
2
2
108
302.2
D6_4_4
6
4
4
308
604.4
D12_8_8
12
8
8
1044
1208.8
D24_16_16
24 16 16
3860
2417.6
D48_32_32
48 32 32
14868
4835.2
D96_64_64
96 64 64
38388
9670.4
D192_128_128 192 128 128 231444 19340.8
D384_256_256 384 256 256 921620 38681.6
D768_512_512 768 512 512 3678228 77363.2
Tabla 1. Casos de prueba artificiales derivados de la
instancia D3_2_2
6. Experimentos Computacionales
La implementacin del algoritmo de
BT se desarroll en el compilador de
Borland C versin 4.10, para
la
experimentacin se utiliz una computadora
personal Pentium II de 175 MHz con sistema
operativo Windows 98. Se realizaron ocho
experimentos, utilizando como entrada los
casos de prueba mencionados en la seccin
anterior. Cada experimento consisti en
ejecutar 30 corridas para cada problema. En
todos los experimentos los programas hacen
Numero de
Experimento
150
100
500
150
100
500
10
100
500
50
100
500
100
100
500
LCANDI
2
500
500
500
LCANDI
(Tamao de la lista de
candidatos)
TAMLIST
(Tamao de
lista Tab)
T
(Tenencia)
ITER
Nm. de
iteraciones
7. Anlisis comparativo
7.1. Comparacin entre las diferentes
estrategias de bsqueda tab
En esta seccin se presenta un
anlisis de los resultados que se obtuvieron
al aplicar las estrategias descritas en la tabla
2 las cuales se incorporaron en la bsqueda
tab para resolver el problema del diseo de
la distribucin de datos modelado por
FURD. Se realizan comparaciones de estas
estrategias con la finalidad de seleccionar
una de ellas para ser comparada
posteriormente
con
otros
mtodos
heursticos sobre tres clases de instancias.
En las Tablas 3 y 4 se presentan los
resultados del desempeo mostrado por el
mtodo heurstico de bsqueda tab. Las
instancias consideradas tanto en estas tablas
como en la Tabla 5, son las instancias
derivadas de la instancia bsica D3_2_2,
Tamao de
Valor Promedio de la funcin objetivo
la instancia
en bytes
T1
T2
T3
T4
T5
T6
T7
T8
116
302.2
302.2
302.2
302.2
302.2
302.2
302.2
302.2
324
604.4
604.4
604.4
604.4
604.4
604.4
604.4
604.4
1076
1208.8
1208.8
1208.8
1208.8
1208.8
1208.8
1208.8
1208.8
3924
2417.6
2417.6
2417.6
2417.6
2417.6
2417.6
2417.6
2417.6
14996
4835.2
4835.2
4835.2
4835.2
4835.2
4835.2
4835.2
4835.2
58644
9670.4
9670.4
9920.47
9670.4
9670.4
9670.4
9670.4
9670.4
231956
19340.76 19340.76 20591.09 20215.99 19340.76 19340.76 19340.76 19340.76
992644
38681.61 38681.61 61187.94 47184.01 38681.61 38681.61 38681.61 38681.61
3680276
77363.78 77363.78 186139.14 186139.14 77363.78 77363.78 81114.84 77363.78
Tabla 3 Resultados obtenidos al aplicar bsqueda tab sobre instancias generadas de la duplicacin de la instancia
D3_2_2. La cantidad indicada en cada celda corresponde al valor promedio de la solucin en 30 corridas de cada
algoritmo sobre cada instancia.
200000
180000
160000
Z Promedio
140000
120000
100000
80000
T1
T2
T3
T4
T5
T6
T7
T8
60000
40000
20000
0
-20000
100
1000
10000
100000
1000000
Figura 2. Resultados de aplicar ocho algoritmos de bsqueda tab sobre instancias derivadas de
instancia D_3_2_2.
Tamao de la
instancia en
bytes
116
324
1076
3924
14996
58644
231956
992644
3680276
T8
0.01
0.02
0.04
0.1
0.44
3.21
23.38
260.15
2589.23
Tabla 4. Tiempo promedio utilizado al aplicar ocho algoritmos de bsqueda tab sobre instancias de la
clase d3_2_2. El tiempo es promediado sobre 30 corridas de cada algoritmo sobre cada instancia.
4000
3000
2000
T1
T2
T3
T4
T5
T6
T7
T8
1000
0
100
1000
10000
100000
1000000
Se
realiz
un
anlisis
de
costo/beneficio simplificado en el que se
comparan los ocho diferentes algoritmos de
bsqueda tab, el cual se presenta en la
Tabla 5. La finalidad de este anlisis es
elegir el mejor algoritmo de bsqueda tab
para contrastarlo posteriormente con otras
tcnicas. Para cada una de las instancias se
realiz una seleccin de los mejores
algoritmos en base al tiempo de cmputo
requerido (columna 2), y a la calidad de la
solucin obtenida por cada uno de ellos
(columna 3). Se puede observar que para
cada instancia se seleccionaron varios
algoritmos en base al tiempo de cmputo,
esto es debido a que existe una diferencia de
tiempo relativamente pequea entre ellos.
Todos los algoritmos seleccionados en base
a la calidad de la solucin obtuvieron el
Tamao de
la instancia
en bytes
116
324
1076
3,924
14,996
58,644
231,956
992,644
3,680,276
Mejores algoritmos en
base a la calidad de la
solucin
Mejores algoritmos en
base a tiempo y calidad
de la solucin
T1, T2,..., T8
T1, T2,..., T8
T8
T1, T2,..., T8
T3, T4
Clase de instancia
Generadas a partir de la instancia D3_2_2
Generadas a partir de la instancia D10_4_8
Generadas a partir de la instancia D10_4_8
Aleatorias
Aleatorias
9. Referencias
10
11
12
13
14
15
U.N.A.M.(1997)
Daz
Rivera
Lorenza
Illanes,
Optimizacin de ruta de vehculos
mediante Bsqueda Tab, Tesis de
Maestra
en
Ciencias
I.T.E.S.M.(1992)
Rolland Erick, Tabu Search and
Algorithms Animation: The Case of
the P-Median Problem, School of
Management,
University
of
California, Riverside, Colloguium
1995.
Mori Hiroyuki y Usami Takayuki,
Unit Commitment using Tabu
Search
with
Restricted
Neighbothood, Meiji University,
Kawasaky Japan.(1996).
Laguna Manuel,
Marti Rafael y
Valls
Vicente,
Arc
Crossing
Minimization
in
Hierarchical
Digraphs with Tabu, Graduate
School of Bussines, University of
Colorado.(1996)
Gonzlez Velarde Jos Luis, Laguna
Manuel,A Tabu Search Method for
Coloring Sparse Random Graphs,
Centro de Sistemas Integrados de
Manufactura,
ITESM,
Graduate
School of Business, University of
Colorado.(1999)
Laguna Manuel, Marti Rafael y
Campos Vicente, Intensification and
Diversification with Elite Tabu
Search Solutions for the linear
Ordering Problem, University of
Colorado,
Universidad
de
Valencia.(1998).
Vlez
Chong
Laura
Patricia;
Esquema
de
enfriamiento
adaptativo para el algoritmo de
aceptacin por umbral aplicado al
diseo de bases de datos
distribuidas, Tesis de Maestra;
Instituto Tecnolgico de Len;
2000.
Prez
Reyes
Karla
Yazmn;
Evaluacin del Modelo FURD
usando Tab Search, Reporte
16 Colunga
Rodrguez
lvaro
Abraham, Muoz Hernndez Luz
del Carmen, Ramrez Morales Mara
de Lourdes; Agente inteligente de
aprendizaje reforzado aplicado al
diseo de bases de datos
distribuidas, Tesis de Licenciatura
asesorado por Juan Javier Gonzlez
Barbosa; Instituto Tecnolgico de
Cd. Madero; 2001.