Escolar Documentos
Profissional Documentos
Cultura Documentos
Colegio Tcnico Profesional de Upala (CTPU), Upala, Costa Rica.
E-Mail: erlopezl@costarricense.cr
Departamento de Matemtica, Universidad Nacional, Heredia, Costa Rica.
E-Mail: oscar.salas@unipv.it
Sede del Atlntico, Universidad de Costa Rica, Turrialba, Costa Rica.
E-Mail: alex.murillo@ucr.ac.cr
127
128 E . LPEZ O. SALAS A. MURILLO
Resumen
Se implementa un algoritmo correspondiente al mtodo Bsqueda Tab,
llamado EraDeterminstico, experimentado con el algoritmo bsico que
explora el espacio de bsqueda e incorporando la diversificacin como
estrategia para explorar nuevas regiones. El algoritmo se desarrolla en el
ambiente de programacin Visual Basic 6.0 y la implementacin se orienta
a encontrar soluciones cercanas a la ptima del problema NPCompleto
del Agente Viajero Simtrico (AVS). Para probar la funcionalidad, el mo-
delo se compara con algunas instancias de la Travel Salesman Problem Li-
brary (TSPLIB), algunas instancias aleatorias y se aplica a tres situaciones
reales. Finalmente, se presenta una seccin donde se exponen recomenda-
ciones y conclusiones, las cuales orientan posibles desarrollos futuros de
sta teora y donde se pone en evidencian las bondades y la eficiencia de
la implementacin.
Abstract
We implement an algorithm corresponding to the Taboo Search method,
called EraDeterministic, experimenting with the basic algorithm that ex-
plores the search space and incorporating the diversification as strategy
to explore new regions. The algorithm is developed in the programming
environment Visual Basic 6.0 and the implementation is aimed at finding
close solutions to the optimum of the problem NPcomplete of the Sym-
metric Traveling Salesman (STS). To test the functionality, the model is
compared with some instances of the Travel Salesman Problem Library
(TSPLIB), some random instances and applied to three real-life situations.
Finally, we present a section with comments and conclusions, that guide
us on possible future developments that demonstrate the benefits and the
efficiency of the implementation.
1 Introduccin
Los algoritmos determinsticos son una familia de algoritmos cuya meta es pre-
cisamente dar soluciones aproximadas a problemas generales de tipo NP, sin
necesidad de recorrer todo el espacio de bsqueda. Las heursticas clsicas rea-
lizan una exploracin limitada sobre el espacio de bsqueda y normalmente las
3 El algoritmo determinstico
3.1 La tcnica bsqueda tab
La Bsqueda Tab (BT) es un mtodo metaheurstico que puede utilizarse para
resolver problemas de optimizacin combinatoria, tales como el problema del
vendedor viajero (TSP). La bsqueda tab utiliza un procedimiento de bsqueda
local o por vecindades para moverse iterativamente desde una solucin x hacia
una solucin x en la vecindad de x, hasta satisfacer algn criterio de parada.
Para poder explorar regiones del espacio de bsqueda que seran dejadas de lado
por el procedimiento de bsqueda local, la bsqueda tab modifica la estructura
de vecinos para cada solucin a medida que la bsqueda progresa. Las solu-
ciones admitidas para N (x), el nuevo vecindario, son determinadas mediante el
uso de estructuras de memoria. La bsqueda entonces progresa movindose ite-
rativamente de una solucin x hacia una solucin x en N (x)
(Glover, 2003) [5].
Quizs la estructura de memoria ms importante usada para determinar las
soluciones permitidas a un N (x), sea la lista tab. En su forma ms simple,
una lista tab es una memoria de corto plazo que contiene las soluciones que
fueron visitadas en el pasado reciente (menos de n iteraciones atrs, donde n es
el nmero de soluciones previas que van a ser almacenadas). La bsqueda tab
excluye las soluciones en la lista tab de N (x). Una variacin de la lista tab
prohbe soluciones que tienen ciertos atributos (i.e., soluciones al problema del
viajante de comercio (TSP) que incluyen aristas no deseadas) o prevenir ciertos
movimientos (i.e., un arco que fue agregado a un recorrido del TSP no puede
ser eliminado en los siguientes n movimientos). Los atributos seleccionados
de las soluciones recientemente visitadas son denominados tab-activos. Las
posibles soluciones que contengan elementos tab-activos son tab.
Para mantener el estado de los atributos del movimiento que componen res-
tricciones tab, y para determinar cundo son aplicables estas restricciones, Glo-
ver y Melin (2003) [5] sealan varias clases bsicas de funciones de memoria;
funciones de memoria basadas en lo reciente que se especifican mediante los
vectores ComienzoT abu(e) y F inT abu(e), donde e vara sobre atributos rele-
vantes a una aplicacin particular. Estos vectores identifican, respectivamente,
las iteraciones de comienzo y finalizacin del perodo tab para el atributo e,
acotando as el perodo durante el cual e es tab activo y la memoria basada
en la frecuencia que proporciona un tipo de informacin que complementa la
informacin proporcionada por la memoria basada en lo reciente, ampliando la
base para seleccionar movimientos preferidos. Como lo reciente, la frecuencia
a menudo est ponderada o descompuesta en subclases teniendo en cuenta las
dimensiones de calidad de la solucin e influencia del movimiento.
Las listas tab que contienen atributos que pueden ser ms efectivas para
algunos dominios, pese a que se presentan nuevos problemas. Cuando slo un
atributo es marcado como tab, que por lo general ocurre, cuando ms de una
solucin es marcada como tab. Algunas de estas soluciones, que ahora deben
ser evitadas, podran ser de excelente calidad y no seran visitadas. Para mitigar
este problema, se introducen los criterios de aspiracin: stos pueden modificar
el estado de tab de una solucin, incluyendo alguna solucin antes excluida en
el conjunto de soluciones permitidas. Un criterio de aspiracin muy utilizado en
la literatura, es admitir soluciones que son mejores que la mejor solucin cono-
cida al momento (Barros, 2006) [2] y este ser el utilizado en la implementacin
que aqu se considera.
5. Fin.
4 Resultados numricos
Con el algoritmo expuesto, se har el tratamiento del Problema de Agente Via-
jero, aplicando los procesos a los casos particulares mencionados en la seccin
3.2. Seguidamente se mostrar en forma resumida, el resultado obtenido en 10
puntos generados aleatoriamente sobre una circunferencia de radio 6 cm (ver
Figura 1, que est asociada a la Tabla 1 de distancias). Se sabe que el ptimo
global es 36,79 cm.
Figura 1: Escenario 1.
dij 1 2 3 4 5 6 7 8 9 10
1 0 11,85 6,15 9,11 3,13 5,09 3,35 10,60 7,62 11,72
2 11,85 0 9,22 9,13 11,93 11,53 10,86 3,89 10,34 4,37
3 6,15 9,22 0 11,83 8,62 9,94 3,03 6,23 11,29 11,38
4 9,11 9,13 11,83 0 6,77 4,95 10,93 11,16 2,08 5,66
5 3,13 11,93 8,62 6,77 0 2,08 6,24 11,70 4,94 10,64
6 5,09 11,53 9,94 4,95 2,08 0 7,92 11,98 2,97 9,52
7 3,35 10,86 3,03 10,93 6,24 7,92 0 8,62 9,91 11,97
8 10,60 3,89 6,23 11,16 11,70 11,98 8,62 0 11,76 7,76
9 7,62 10,34 11,29 2,08 4,94 2,97 9,91 11,76 0 7,41
10 11,72 4,37 11,38 5,66 10,64 9,52 11,97 7,76 7,41 0
P ermutacionN atural (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1)
LongInicial 89.18
N umerodeIteraciones 200
Lon.T abu 4
N umerodeCiclosparadiversif icar 20
1 2 3 4 5 6 7 8 9 10
1 4 0 0 0 0 0 0 0 0 0
2 0 4 0 0 0 0 0 0 0 0
3 0 0 0 0 0 0 0 0 0 0
4 0 0 0 0 0 0 0 0 0 0
5 0 0 0 0 0 0 0 0 0 0
6 0 0 0 0 0 0 0 0 0 0
7 0 0 0 0 0 0 0 0 0 0
8 0 0 0 0 0 0 0 0 0 0
9 0 0 0 0 0 0 0 0 0 0
10 0 0 0 0 0 0 0 0 0 0
1 2 3 4 5 6 7 8 9 10
1 0 1 0 0 0 0 0 0 0 0
2 1 0 0 0 0 0 0 0 0 0
3 0 0 0 0 0 0 0 0 0 0
4 0 0 0 0 0 0 0 0 0 0
5 0 0 0 0 0 0 0 0 0 0
6 0 0 0 0 0 0 0 0 0 0
7 0 0 0 0 0 0 0 0 0 0
8 0 0 0 0 0 0 0 0 0 0
9 0 0 0 0 0 0 0 0 0 0
10 0 0 0 0 0 0 0 0 0 0
Tabla 6: Iteracin 2.
1 2 3 4 5 6 7 8 9 10
1 0 3 0 2 0 0 0 0 0 0
2 1 2 1 3 0 0 0 0 0 0
3 1 0 3 1 0 0 2 0 0 0
4 1 0 2 1 0 1 3 0 0 0
5 1 0 0 1 0 2 1 0 0 0
6 0 0 0 0 4 3 1 0 0 0
7 0 0 0 0 5 3 0 0 2 0
8 0 0 0 0 2 0 0 0 3 0
9 0 0 0 0 0 0 0 3 0 3
10 0 0 0 0 0 0 0 3 0 2
corrido dado en la Figura 1, en uno donde no hay intersecciones entre los caminos
trazados (Figura 2).
Con el fin de visualizar el papel que desempea la diversificacin, se muestra
en la Figura 3, el grfico para los 200 admisibles generados en cada vecindario.
Es claro ver que, en el momento de encontrar un ptimo local y ubicarse
en un valle profundo (De los Cobos et al, 2010) [3], la diversificacin permite
explorar nuevas regiones para poder mejorar el ptimo local.
ciendo con antelacin las soluciones ptimas para cada instancia tratada. Para
ello se utilizaron resultados disponibles en TSPLIB (Reinelt, 2004) [8].
Para comparar los resultados obtenidos en los experimentos, se le aplic la
medida de la eficiencia con la ecuacin (De los Cobos et al, 2010) [3], con la
ecuacin:
Z ZT
e = 1 .
ZT
En la Tabla 11 se observa que, en cualquier caso, la eficiencia est muy
cercana a uno, lo que nos indica que el algoritmo propuesto genera resultados
satisfactorios y de no ser as, ste da la oportunidad de dirigir la bsqueda hacia
nuevas regiones mediante la diversificacin o mediante un permutacin inicial
que no sea la natural.
Figura 3: Diversificaciones.
Tabla 12: Resultados obtenidos. AS: Agente de la Salud, AM: Asesor de Matemticas,
LT: Longitud Tab, LD: Longitud Diversificacin.
5 Conclusiones
Con este algoritmo se ha comprobado, lo que en la literatura se ha sealado sobre
la bsqueda tab, en donde se menciona que las metaheursticas pueden encon-
trar en tiempo razonable, soluciones aproximadas a la ptima, para el problema
del agente viajero.
El tipo de codificacin para representar el PAV basado en este algoritmo
tab garantiza que los valores que se obtengan para la funcin objetivo sean
de tipo determinstico; por la estructura del mismo, se facilita la generacin de
soluciones vecinas y el clculo del valor de la funcin objetivo.
Se ha determinado el conjunto de parmetros iniciales (longitud tab, nmero
de iteraciones y nmero de diversificaciones) que hacen que el mtodo tenga un
mejor desempeo computacional para cada uno de los casos de prueba, calibrn-
dolos por ensayo y error.
Se verific la eficiencia de la tcnica bsqueda tab comparando los resul-
tados obtenidos por el algoritmo, con las mejores respuestas reportadas en la
TSPLIB para los casos gr17, gr21, gr24, fri26, bayg29, gr48 y Berlin52, siendo
los ms representativos los casos gr17 y fri26.
El tipo de codificacin propuesta permite implementar otras tcnicas meta-
heursticas tales como los Algoritmos Genticos, Colonia de Hormigas o Algo-
ritmos Hbridos (BT y AG) que requieren de una adaptacin a los mtodos de
bsqueda.
La filosofa del algoritmo basado en la tcnica bsqueda tab no es compli-
cada, solamente necesita para su implementacin el contexto del problema y la
historia del proceso. Adems, es flexible y puede ser aplicado a cualquier pro-
blema de combinatorio en el que se defina con claridad y precisin los elementos
que intervienen.
Los resultados muestran que el algoritmo produce soluciones ptimas o cer-
canas al ptimo para todas las instancias probadas.
Se recomienda que la longitud tab est en el intervalo n2 3, n2 + 3 , donde
& '
Referencias
[1] Baez, A. (2009) Problema del agente viajero usando bsqueda
tab. Proyecto Final, Programacin Cientifica, Universi-
dad Autnoma de Nuevo Len, Monterrey. Disponible en:
http://es.scribd.com/doc/41965624/Busqueda-Tabu-Problema-delagente-
viajero-Angels-Baez-Olvera, consultado el 09-Ago-2012, 11:30 a.m.
[3] De los Cobos, S.; Goddard, J.; Gutirrez, M.; Martnez, A. (2010)
Bsqueda y Exploracin Estocstica. Universidad Autnoma Metropoli-
tana, Mxico D.F.
[4] Franco, J.; Toro, E.; Gallego, R. (2008) Problema de asignacin ptima de
los salones resuelto con bsqueda tab, Revista Ingeniera & Desarrollo
24: 149175.
[6] Lpez, C.A.; Mendoza, J.A.; Cuartas, E. (2008) Algoritmo para la ex-
ploracin de todos los valores posibles en el problema del agente viajero
(TSP), Scientia et Technica 14(39): 399403.
[9] Soto, D.; Soto, W.; Pinzn, Y. (2008) Una metaheurstica hbrida aplicada
a un problema de planificacin de rutas. Revista Avances en Sistemas e
Informtica 5(3): 135145.