Documentos de Académico
Documentos de Profesional
Documentos de Cultura
2011
I
Este Proyecto de Graduación fue _____________________ por el Tribunal Exami-
_______________________________________
Presidente del Tribunal Examinador
_______________________________________
Representante Escuela de Matemática
_______________________________________
Tutor
_______________________________________
Asesor
_______________________________________
Asesor
_______________________________________
Graduando
II
Dedicatoria
Al Padre Celestial, que cada día me da más fuerza para seguir admirando la belleza
de su creación. A ese ínclito ser que nos ha dado la vehemencia por el estudio y la
academia, que nos ha conducido a renunciar a las fruslerías y a tener un claro sentido
A mi gran amor Kate Daniela López López por ser el motor que mueve mis sueños
A mi madre Zulay López y mi padre Mercedes Vargas por haberme dado el don de
la vida.
A mi bella esposa Guisselle López Laguna por su paciencia y las horas de sacrificio
en pro de mi superación.
III
Agradecimientos
Después de un arduo trabajo, siempre hay manos amigas que ayudan, a que un
sueño se materialice de esta forma. Es por ello que debo expresar mis agradecimientos:
investigación.
por el gran interés que siempre ha mostrado y por sus sabios consejos que siempre
Al Bach. Cristian Berrocal Araya profesor del Colegio Técnico Profesional de Upala,
por ser el mayor apoyo en la programación en Visual Basic 6.0 y por sus valiosos
aportes.
IV
Índice general
1. Introducción 1
1.2. Justificación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.5. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.5.1. General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.5.2. Específicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
V
2. Marco Teórico 24
2.1.1. Conceptualización . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.3. Grafos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.5. La óptimización . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.5.1. Conceptualización . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3. Marco Metodológico 50
3.2. Metodología . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4. Resultados 55
4.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
VI
4.2. El algoritmo determinístico . . . . . . . . . . . . . . . . . . . . . . . . . 57
5. Conclusiones y Recomendaciones 93
5.1. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
5.2. Recomendaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Bibliografía 98
VII
Índice de figuras
2.2. Grafo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.5. Escenario 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.9. Mapa del Cantón de Upala para los puestos de vigilancia de la salud. . . 81
VIII
4.12.Mapa del Cantón de Upala para la ubicación de 12 colegios en la Zona
Norte Norte. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
IX
Índice de cuadros
4.6. Permutaciones 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.9. Permutación 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
X
4.10.Permutación 34. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.12.Permutación 35. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.13.Permutación 144. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
salud (Kms). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
cación. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
XI
Resumen
XII
Capítulo 1
Introducción
visitando solamente una vez cada ciudad y haciendo el recorrido en un costo mínimo,
posible.
completo en donde los vértices del grafo son las ciudades y los arcos son los caminos,
dichos arcos deben tener un peso y este peso representa la distancia que hay entre dos
vértices que están conectados por medio de dicho arco. Una solución del problema del
1
agente viajero, se puede representar como una secuencia de n + 1 ciudades, en donde
un tour comienza y termina con la misma ciudad. Aquí se estudiarán los alcances y las
1.2. Justificación
Hay muchas razones que nos han motivado a investigar un problema clásico de opti-
2
1.2.2. Justificación histórica
matemáticos, tales como Euler, Hamilton, entre otros, así considerados por Johnson-
baugh (1986).
quieren de una evaluación detallada de toda una basta cantidad de posibilidades, cuyo
3
han querido obtener una documentación capaz de introducirlos de forma adecuada en
ciones cercanas a la óptima. Así podemos citar a: 2-Opt (Castañeda, 2000) Búsque-
(Kirkpatrick, 1983). Estos métodos examinan sólo un pequeño conjunto del total de
posibilidades.
reparto de mercadería en una ciudad. Las situaciones reales se complican aún más
con; más de un vehículo de reparto, horarios, demora, capacidad del vehículo, limita-
mación dinámica, simulación, entre otros. En los últimos tiempos los avances logra-
dos en la inteligencia artificial y algoritmos han dado cabida a una nueva generación de
técnicas para la solución de estos problemas combinatorios de gran escala que surgen
4
con frecuencia en el mundo real (Nilsson, 1987).
Es cierto que para cada disciplina y para cada problema planteado existen espe-
de actividad existen más problemas por resolver, que expertos para resolverlos. Para
como ayudante para los humanos y como consultor cuando no se tiene otro acceso a la
experiencia.
resolver y decidir los problemas más rápidamente permite ahorrar tiempo y dinero. A
la esencia de los problemas que se intentan resolver y se programa cómo aplicar los
tos para resolver un problema. Esto es útil porque normalmente el especialista da por
si una persona utiliza regularmente las técnicas de solución, aprenderá de él, apro-
más fiables gracias al tratamiento automático de los datos, debido a que se suele tener
5
informatizado el conocimiento de varios expertos.
De aquí surge nuestro interés por explorar una estrategia de búsqueda, que reduzca
los tiempos de cálculos y con esto se estará haciendo un aporte tanto al conocimiento
El estudio toma como base las ideas escritas por Fred Glover, cuando expone:
“La clave para tratar con tales problemas es ir un paso más allá de la aplicación
directa de la destreza y del conocimiento del experto, y generar recursos para un pro-
pantanar, permitiendo un punto donde ninguna mejora puede percibirse, a menos que
Así que, el propósito de esta investigación será proveer un marco específico y sobre
todo práctico en una nueva técnica, basada en la inteligencia artificial para la solución
nomina Búsqueda Tabú. Además, se analizará bajo que condiciones ésta es aplicable
la función objetivo. Castañeda (2000) señala que Rabin, curioso investigador en 1960
6
se planteó una pregunta general: ¿Qué quiere decir que f sea más difícil de computar
que g? Rabin ideó una axiomática que fue la base para el desarrollo de la teoría de la
y NP (de los Cobos, 2010). La clase P corresponde a los problemas cuyos algoritmos
problemas cuya solución hasta la fecha no han podido ser resueltos de manera exacta
por medio de algoritmos deterministas eficientes, pero que pueden ser resueltos por
tiempo.
Definición 1.3.1 : P denota la colección de todos los problemas de decisión los cuales
determinar si dos grafos de grado (cuando mucho) d, son isomorfos, demostrado por
Luks en 1980 (el algoritmo es polinomial sobre el número de vértices para un d fijo,
racionales, fue demostrado por Lenstra y Lovaz en 1982 para polinomios de una va-
riable.
7
La generalización para polinomios en cualquier número fijo de variables fue demostra-
Definición 1.3.2 : NP denota la colección de todos los problemas de decisión los cuales
Esto es, algoritmos no determinísticos en los cuales hay siempre un camino com-
completos en esa clase, así se dice que se trata de un problema P-Completo o un proble-
de todos los conjuntos reconocibles en tiempo polinomial por una máquina de Turing
la materia.
Según Castañeda (2000), hay algunos problemas clásicos NP-Completos, uno de es-
tos problemas, entre otros muchos del mismo tipo, es el Problema del Agente Viajero
8
(PAV) que se describirá más adelante. También se encuentra el problema del circuito de
Euler, el cual encuentra un camino que toca todas las aristas exactamente una vez, se
puede resolver en tiempo polinomial. Otro problema interesante es el problema del cir-
cuito Hamiltoniano que busca un circuito sencillo que contenga todos los vértices. Para
1977).
Esto significa por ejemplo; que si se desea probar que un cierto problema de decisión
en tiempo polinomial usando justamente este problema Q. Más aún, si se tiene éxito al
camente se ha encontrado un algoritmo rápido para hacer cada uno de los problemas
9
en NP. Esto se hace de la siguiente forma: Se toma una instancia I’ de cualquier proble-
en Q para decidir I. Así solamente una cantidad polinomial en tiempo se habrá usado
los demás problemas del mismo tipo, se selecciona para su estudio un problema clási-
Américas Puebla habían estudiado este mismo problema. Se descubrió así que hay tres
tesis interesantes como son la de Castañeda (2000) con el nombre de “Estudio com-
parativo de diversos métodos de solución del problema del agente viajero (PAV)”, Tesis
de María Del Rosario Pilar Varela Hernández con el nombre de "Diseño de una Heurís-
tica para el tratamiento del problema del Agente Viajero", asesorada por el Doctor
Mauricio Osorio Galindo, y la tesis de Ángel Reyes González con el nombre de “Un
10
ejemplo de optimización de funciones por medio del Algoritmo Ariadnes’s Clew : El ca-
so del Problema del Agente Viajero”, asesorada por el Doctor Juan Manuel Ahuactzin
En la tesis de María Del Rosario Pilar Varela Hernández, se resolvió el problema del
después comparando los resultados de los tres métodos para un número aleatorio de
Por otro lado, Angel Reyes González también trabajó con el PAV, pero la virtud de
éste trabajo es que se resolvió con el método Ariadnes’s Clew método innovador inven-
tado por el Doctor Juan Manuel Ahuactzin Larios que trabaja con dos subalgoritmos, el
revisa si el mínimo o máximo global puede ser alcanzado. El PAV fue probado para 100
De la Cruz (2003), aplica las metodologías heurísticas Ant-Q, Búsqueda Tabú y Re-
cocido Simulado en la solución de instancias pequeñas del problema del agente viajero,
tancias con muchas variables de decisión, lo cual permitirá encontrar soluciones que
11
puedan ser consideradas buenas, sino las óptimas, en comparación con las conocidas
peño de los algoritmos implementados, con base en los resultados obtenidos para el
algoritmo 1.
dos tipos: Las que construyen recorridos y las que los mejoran. Comenzando con las
1. Encontrar un sub-recorrido inicial (basta que tenga dos ciudades pero pueden
ser más).
12
de selección.
de inserción.
Barros (2006), señala que son muchas las técnicas para la optimización de pro-
blemas cuyo propósito es determinar óptimos globales o locales. Las técnicas de búsque-
de la ruta.
la ruta .
2OPT: Con ésta estrategia lo que se hace es invertir completamente una parte
de la secuencia de visitas.
13
Cuadro 1.1: Resumen resultados TSP Simétrico.
En el cuadro 1.1, se muestran los resultados obtenidos por Barros (2006) para el
TSP Simétrico, éstos difieren máximo en un 4,18 % con respecto a la mejor solución
factores A, B y C de la ecuación.
6
Y = 533; 271 + 0; 258AA 0; 002AAB + 4; 03E ABAB 0; 006C.
problema del Agente Viajero es una situación muy estudiada a lo largo de la historia
de las ciencias de la computación y que existen técnicas que garantizan obtener una
buena solución.
Así mismo agrega, que este problema ha ocupado la mente de numerosos investi-
14
con el cual se busca evaluar los nuevos métodos de optimización combinatoria con el
Se han estudiado diferentes formas de atacar este problema; algunas son de tipo
técnicas que al igual que la búsqueda tabú, sus resultados sean satisfactorios.
Un buen algoritmo heurístico debe tener las siguientes propiedades: Eficiente, debe
debe estar cercana al óptimo. Robusto, la posibilidad de encontrar una mala solución
Para medir esas propiedades, existen diversas técnicas entre las que se encuentran
por ejemplo:
(2007).
15
Ch Copt
DP = 100: (1.1)
Copt
tados, van siendo exploradas las áreas más prometedoras del espacio de búsqueda. Si el
Algoritmo Genético ha sido bien diseñado, la población convergerá hacia una solución
16
Función de evaluación: o también conocida “Función Objetivo”, es la función de
Fitness: Oportunidad de reproducción que tiene cada individuo con respecto a toda
la población.
17
Algoritmo 3 : Algoritmo Genético Para el PAV
Por lo que, tomando como antecedentes los trabajos realizados en las investiga-
ciones antes mencionadas y sabiendo que el PAV es un problema típico tanto de op-
diano que puede ser resuelto con técnicas exactas de búsqueda exhaustiva, con técnicas
18
tudio del mismo donde se implementará “La Técnica Búsqueda Tabú” para su solución;
Castañeda (2000) define El Problema del Agente Viajero como: “Un viajero debe
visitar cada ciudad en su territorio exactamente una vez y debe regresar al punto de
partida. Se le da el costo de viajar entre todos los pares de ciudades. Debe planear su
itinerario dado que, debe visitar cada ciudad exactamente una vez y el costo total de
su viaje debe ser el mínimo. Por lo que en términos generales el problema es encontrar
el costo mínimo.
con
X
n 1
C (x) = S (i); (i+1) +S (n); (1) (1.2)
i=1
donde S (i); (j) representa el costo o distancia que hay entre la ciudad i y la ciudad
j.
Son muy importantes las tres variaciones del PAV normal mostradas por Castañeda
(2000) donde trata el PAV como un problema de decisión, como un problema de opti-
19
1.4.1. Extensión del agente viajero
se tiene una ruta parcial, pero se desea saber si se puede generar el circuito completo
conjunto de n nodos y distancias para cada par de nodos, encontrar una longitud total
mínima que visite cada uno de los nodos exactamente una vez. La distancia del nodo i
de n nodos y distancias para cada par de nodos, encontrar una ruta de longitud total
mínima que visite cada uno de los nodos exactamente una vez. En este caso, la distancia
del nodo i al nodo j y la distancia del nodo j al nodo i, pueden ser diferentes.
20
1.5. Objetivos
1.5.1. General
importancia que tiene este problema para el recorrido que debe hacer el Asesor de
recorrido mínimo, un elemento de vital importancia para que las empresas de este tipo,
función evaluadora, para realizar así las comparaciones en los tiempos de ejecución y
una búsqueda dirigida y controlada por una matriz tabú y una matriz de frecuencias.
Como existen diferentes tipos de heurísticas, ya sea para construir o mejorar una
solución, la aquí propuesta se clasificará dentro de las segundas. Uno de los mayores
21
inconvenientes con los que se enfrentan estos métodos es la existencia de óptimos
1.5.2. Específicos
de situaciones particulares.
El análisis de algoritmos estudia, desde el punto de vista teórico, los recursos com-
Pero en el desarrollo real del software, existen otros factores que, a menudo, son más
22
imposible. Recordando que en ocasiones, un algoritmo ineficiente puede resultar más
adecuado para resolver un problema real ya que, en la práctica, hay que tener en cuenta
Por esta situación las comparaciones se harán para identificar aquellos factores
de iteraciones y estrategia para elegir los vecindarios. Para realizar este análisis se
23
Capítulo 2
Marco Teórico
ejemplo el historiador griego Polibio creía que Nabis, un dictador de España (2000
años a..c.) utilizó un robot para forzar a sus conciudadanos a pagar impuestos.
a la historia de la computación.
El término inteligencia artificial se cree que fue utilizado por primera vez en 1956
por John McCarty, profesor de Matemáticas, USA, quien consideró la inteligencia ar-
24
temas informáticos están a disposición de profesionales: médicos, ingenieros, profe-
2.1.1. Conceptualización
por ejemplo en Answer Math.com encontramos algunas definiciones dadas por dife-
rentes autores:
“La interesante tarea de lograr que las computadoras piensen. . . máquinas con
http://www.answermath.com/inteligencia-artificial.htm, 27/01/2011).
inteligencia-artificial.htm, 27/01/2011).
“El arte de crear máquinas con capacidad de realizar funciones que realizadas
http://www.answermath.com/inteligencia-artificial.htm, 27/01/2011).
“El estudio de cómo lograr que las computadoras realicen tareas que, por el mo-
mento, los humanos hacen mejor” (Rich y Knight, 1991) (citado en Answer Math.com,
http://www.answermath.com/inteligencia-artificial.htm, 27/01/2011).
25
(Charniak y McDermott, 1985) (citado en Answer Math.com, http://www.answermath.
com/inteligencia-artificial.htm, 27/01/2011).
“El estudio de los cálculos que permiten percibir, razonar y actuar” (Winston,
htm, 27/01/2011).
wermath.com/inteligencia-artificial.htm, 27/01/2011).
ideas se aplican a diferentes ramas de la tecnología. Así por ejemplo, nos interesa los
intenten resolver problemas que agoten en breve tiempo las posibilidades de los más
26
2.1.2. Las heurísticas
De los Cobos (1994) define las heurísticas como criterios, métodos o principios para
decidir sobre varias alternativas de cursos de acción que prometen ser lo más efectivo
promisorias e intentar encontrar una solución sin explorar todas las posibles estrate-
gias.
Expresado de otra forma se puede decir que el método heurístico es aquel pro-
un problema. Esto no significa que el método responderá las preguntas: ¿El problema
tiene solución?, ¿Es irresoluble?, solamente se puede estar seguro que el método en-
contrará una solución muy cercana a la solución real y entre más cerca este de ésta,
más consistente será el método, considerando desde luego, el tiempo empleado para
lograrlo.
Nilsson (2003) señala que las heurísticas representan un compromiso entre dos re-
27
1. Un esfuerzo computacional realista para obtener una solución.
4. Debe ser lo más simple posible para que el usuario la entienda y preferible-
Una vez establecidos estos principios, es necesario definir lo que se llama proceso
formalizado y ver la diferencia que existe entre los formalizados y los que no lo están.
o experiencia personal.
28
dos para actuar como un especialista humano en un dominio particular o área de
para resolver un problema con la eficacia del especialista. El sistema experto utilizará
dos de los años sesenta. En ese período se creía que bastaban unas pocas leyes de
intento en ese sentido fue el llevado a cabo por los investigadores Alan Newell y Her-
bert Simon que desarrollaron un programa denominado GPS (General Problem Solver;
solucionador general de problemas). Podía trabajar con criptoaritmética, con las torres
de Hanoi y con otros problemas similares. Lo que no podía hacer el GPS era resolver
espectrográfico.
29
Entre 1970 y 1980 se desarrolló MYCIN para consulta y diagnóstico de infecciones
que un ser humano daría tras largos años de experiencia. En MYCIN aparecen clara-
tos almacenados (base de conocimiento) del programa que los controla (motor de in-
ferencia).
Los sistemas expertos siguen una filosofía diferente a los programas clásicos. Estas
30
Los sistemas expertos son de gran utilidad por su cantidad de aplicaciones y son
muy eficaces cuando tiene que analizar una gran cantidad de información, interpretán-
mencionar:
expertos de diagnóstico y depuración, que formulan listas de preguntas con las que
Pronósticos médicos.
Conseguir una buena planificación a largo plazo es muy difícil, entre otros.
junto al tipo de problema que intentan resolver y algunos de los usos concretos a que
se destinan.
31
CATEGORÍA CATEGORÍA USO
Interpretación Deducir situaciones a partir Análisis de imágenes, re-
de datos observados conocimiento del habla, in-
versiones financieras
Predicción Inferir posibles conse- Predicción meteorológi-
cuencias a partir de una ca, previsión del tráfico,
situación evolución de la Bolsa
Diagnóstico Deducir fallos a partir de Diagnóstico médico, detec-
sus efectos ción de fallos en electrónica
Diseño Configurar objetos bajo Diseño de circuitos, au-
ciertas especificaciones tomóviles, edificios, entre
otros.
Planificación Desarrollar planes para lle- Programación de proyectos
gar a unas metas e inversiones. Planificación
militar
MonitorizaciónControlar situaciones Control de centrales nu-
o super- donde hay planes vulnera- cleares y factorías químicas
visión bles
Depuración Prescribir remedios para Desarrollo de software y
funcionamientos erróneos circuitos electrónicos
Reparación Efectuar lo necesario para Reparar sistemas infor-
hacer una corrección máticos, automóviles, entre
otros.
Instrucción Diagnóstico, depuración y Corrección de errores, en-
corrección de una conducta señanza
Control Mantener un sistema por Estrategia militar, control
un camino previamente de tráfico aéreo
trazado. Interpreta, predice
y supervisa su conducta
Enseñanza Recoger el conocimiento y Aprendizaje de experiencia
mostrarlo
Cuadro 2.2: Modelos funcionales de los sistemas expertos.
32
2.2. Programación combinatoria
Actualmente se hace intentos para estudiar en forma abstracta los procesos de solu-
ción de problemas, con el objeto de catalogar los diferentes métodos y deducir las
propiedades de los mismos. Sin importar el método elegido para resolverlo, este debe
La idea más natural para resolver un problema es utilizando el método de ensayo ex-
haustivo y sistemático de todos los medios permitidos, hasta que se llega a la solución.
rio, que incluso hace que un computador con capacidad de memoria y una velocidad
de cálculo mil veces superior a las actuales, necesite de la edad del sistema solar o más
Es por ello, que nace la necesidad de implantar métodos de búsqueda que reduzcan
en gran medida los tiempos de cómputo. Estos métodos utilizan en cierta medida el
2.3. Grafos
La teoría de grafos se remonta, desde 1736, con la primera publicación por Leon-
hard Euler. Se extendió e intensifico su interés desde 1920 hasta 1930, dada su aplica-
33
Un grafo es un diagrama que consta de vértices y lados. Para la figura 2.1, los
de lados, tales que cada lado e 2 E , esta asociado a un par no ordenado de vértices.
junto E de lados tales que, de cada lado e 2 E esta asociado a un par ordenado de vértices.
que comienza termina en un mismo vértice, pasando exactamente una vez por cada vértice.
el problema del viajero; dado un conjunto de ciudades y la distancia entre cada par de
ellas, obtener la ruta más corta que pase por cada ciudad exactamente una sola vez y
34
termine en el punto de partida.
Además de los diagramas, los grafos pueden ser representados por matrices la cual
Definición 2.3.4 : Una matriz de adyacencia, es aquella matriz cuadrada generada por
un grafo donde las columnas y las filas representan la unión que existe entre dos vértices
cualesquiera.
Para el grafo:
35
La matriz de adyacencia es
a b c d e
0 1
a B 0 1 0 0 1 C
B C
B C
b B
B 1 0 1 0 0 C
C
B C
B C
c B
B 0 1 1 0 1 C
C
B C
B C
B C
d B 0 0 0 0 1 C
B C
@ A
e 1 0 1 1 0
8
>
>
< 1 si el vértice i y el vértice j están unidos mediante un lado
donde aij =
>
>
: 0 en caso contrario
Definición 2.3.5 : Sea G un grafo con vértices V y lados E. Una sucesión de lados de
programa a posteriori.
Como caso previo tiene sentido para evitar la pérdida de tiempo ante la máquina;
36
Como estudio a posteriori tiene sentido para comparar dos programas o para en-
se encuentre. Se desea un buen uso, eficiente de los recursos disponibles, sin desperdi-
más eficiente que otro si realiza las mismas tareas con menos recursos.
por inventar. De este modo se puede seleccionar la mejor alternativa sin necesidad de
comportamiento en casos límites, por lo que definen lo que llamaremos coste asintótico
A lo largo de la presente sección, todas las funciones que aparezcan, salvo indi-
cación contraria, son funciones de IN + . Todas las definiciones y resultados son váli-
37
dos también para las funciones de IN + en IR que tomen valores siempre superiores a la
unidad.
La O mayúscula
La notación O(f ) tiene las siguientes propiedades, cualesquiera que sean las fun-
ciones f; g y h.
g 2 O(f ) () c g 2 O(f ):
2. Reflexividad. f 2 O(f ).
O(f1 f2 ), donde denotamos f g la función que sobre el argumento n vale f (n) g(n).
38
7. Invariancia aditiva. Para toda constante c 2 IR+ ,
g 2 O(f ) () c + g 2 O(f ):
La o minúscula
La siguiente notación es también una cota superior, pero con significado diferente.
Mientras que g 2 O(f ) indica que, módulo constantes multiplicativas, f llega a ser en
algún momento una cota superior para g, y por lo tanto que el crecimiento de g no
La notación o(f ) tiene las siguientes propiedades, cualesquiera que sean las fun-
g 2 o(f ) () c 2 o(f ):
g 2 o(f ) () c + g 2 o(f ):
39
3. Antirreflexividad.f 2
= o(f ).
es propia.
g(n)
g 2 o(f ) () l mn!1 =0
f (n)
Las notaciones
Para denotar cotas inferiores de manera análoga a las cotas superiores, disponemos
de las notaciones . En la bibliografía existen dos definiciones distintas, que rara vez
aparecen juntas en el mismo texto ya que en general los autores siempre se abocan ha-
cia una u otra. La primera, que se denotará g 2 K (f ), indica que f es una cota inferior
a g desde un punto en adelante. El subíndice K es la inicial del autor que la propuso (D.
indica un mínimo del cual g nunca baja. Sin embargo, si g presenta fuertes oscilaciones,
40
Definición 2.4.4 : 1 (f ) = fg j 9c0 2 IR+ 8n0 2 IN 9n n0 g(n) c0 f (n)g:
por encima de f para siempre de un punto en adelante, mientras que la segunda sólo
que requiere que g supera a f en puntos tan avanzados como se desee. La notación
Las notaciones (f ) tienen las siguientes propiedades, cualesquiera que sean las
funciones f; g y h.
g2 K (f ) () c g 2 K (f ):
g2 1 (f ) () c g 2 1 (f ):
g2 K (f ) () c + g 2 K (f ):
g2 1 (f ) () c + g 2 1 (f ):
3. Relación entre K y 1. K (f ) 1 (f ).
41
Notaciones
(f ) = O(f ) \ K (f ):
de f:
g2 (f ) () c g 2 (f ):
g2 (f ) () c + g 2 (f ):
g(n)
4. Condición de límite. Si el límite l m existe, es finito y no es cero,
n!1 f (n)
entonces g 2 (f ):
5. Reflexividad. f 2 (f ):
42
8. Regla de la suma para : (f + g) = (max(f; g)).
(f1 f2 )
2.5. La óptimización
2.5.1. Conceptualización
La función objetivo puede ser lineal o no lineal y x puede tener incluso restricciones
de tipo lógico.
v : X(v) ! X:
43
Expresado de otra forma, un movimiento es una transición de una solución factible
de atributos.
f : S ! X:
óptimo y fopt = f (iopt ) denota el costo óptimo, mientras que Sopt denota el conjunto de
soluciones óptimas.
N : S ! 2S :
44
Definición 2.5.4 : Si (S; f ) es una instancia de un problema de optimización combina-
local o simplemente un óptimo local con respecto a N si io es menor o igual a todas sus
toria y N es una estructura de vecindades, entonces N se llama solución exacta si para cada
crosoft. Este lenguaje incorpora todas las herramientas necesarias para la creación de
cualquier aplicación para Windows. Con este lenguaje se puede crear desde una simple
Visual Basic es un lenguaje visual que se origina del lenguaje de programación Ba-
programación misma. Todos los programas que realicemos en Visual Basic serán por
defecto, programas con todas las características de una aplicación típica de Windows.
45
Rodríguez (2008) señala que la programación orientada a objetos es aquella en la
que trabajamos con objetos visibles, cada uno de los cuales posee sus propias carac-
lenguaje de quinta generación, toma como entidad principal los objetos de la natu-
raleza misma que contienen sus propias características y alguna función de utilidad.
En el mundo real un objeto es cualquier cosa material y determinada que tiene alguna
otros objetos, por ejemplo, un carro, una computadora, un televisor, un celular, etc. En
de Windows, Linux, Beos, etc. Los objetos son, por ejemplo, un botón de comando,
una caja de texto, una imagen, un botón de opción, una lista desplegable, una barra de
desplazamiento, en general todo objeto visible que usted puede observar en la pantalla.
tamaño, el estilo, etc. Un objeto también posee métodos y eventos que son elementos
En Visual Basic 6.0 los objetos con que trabajamos poseen propiedades, métodos y
eventos, aunque algunos objetos pueden no tener las mismas propiedades, métodos o
eventos que otros objetos poseen, también, algunos objetos pueden tener las mismas
46
2.6.1. Los controles más usuales en Visual Basic 6.0
Los controles más usuales son aquellos que usamos con mayor frecuencia al mo-
mento de crear una aplicación. Estos controles son por ejemplo: botones de comando,
Los botones de comando son aquellos botones típicos que vemos frecuentemente
en las aplicaciones de Windows, que realizan una operación en especifico, por ejemplo,
minar un proceso.
Estos controles pueden ser activados de múltiples formas como son: Haciendo clic
sobre él, presionando la tecla barra espaciadora o la tecla ENTRAR cuando este tiene
Cada control u objeto en Visual Basic debe tener un nombre, por medio del cual se
puede hacer referencia a dicho objeto en la aplicación. El nombre (name), puede ser el
47
que el programador desee, e incluso Visual Basic proporciona nombres por defecto para
los diversos controles. Estos nombres por defecto, hacen referencia al tipo de control y
van seguidos de un número, que se incrementa a medida que se van introduciendo más
controles de ese mismo tipo en el formulario; por ejemplo, Text1 para una caja de texto,
Text2 para otra caja de texto, Command1 para un botón de comando, Command2 para
Los nombres por defecto no son recomendables para los controles colocados en
una aplicación de Visual Basic, debido a que solo hacen referencia al tipo de control,
Command2), uno para salir de la aplicación y el otro para cancelar la salida de la apli-
cación, sería recomendable que el botón de salir lleve por nombre cmdSalir y que el
botón de cancelar lleve por nombre cmdCancelar y no los nombres por defecto Com-
Para asignar los nombres a los controles de Visual Basic, existe una convención
tres letras en minúscula, que hacen referencia al tipo de control, seguido de otras letras
(la primera en mayúscula), libremente escogida por el programador, que tienen que
48
para los que inician en el mundo de la programación, sin olvidar que se necesita de
ciertos conocimientos sobre las estructuras lógicas que permiten la comunicación entre
el ordenador y el programador.
Algunos de los diseños realizados en Visual Basic permiten que el usuario compren-
da rápidamente cuales son las estructuras mal diseñadas dentro del sistema. Por lo que
49
Capítulo 3
Marco Metodológico
Se estudiará el problema del Agente Viajero, que será tratado mediante un algorit-
lidad a casos de la vida real y por ello se implementará el algoritmo para el caso del
50
Agente de Salud, el Asesor de Matemáticas y la Distribución de Redes Hídricas, por
queda abierta la posibilidad que se adapte nuestro algoritmo a otros casos particulares
3.2. Metodología
lema del Agente Viajero. Éste será incursionado con la técnica Búsqueda Tabú.
Una primera etapa será la implementación del algoritmo con la herramienta Vi-
sual Basic para Excel 2003 para un caso especial con 10 nodos donde los datos serán
51
ITERACIÓN = ( (1) ; (2) ; (3) ; :::; (n)) F( ) Tabú=1 Mejor Amisible
generará un conjunto de óptimos y se escogerá aquel cuya función de costo sea mejor.
Además, para empezar las iteraciones es necesario escoger una solución inicial, la cual
Cada vecindad será explorada con detalle y se establecerá sobre sus elementos las
método de restringir será semejante al expuesto por De los Cobos (1994) que está
pas: se estudia al problema y sus variables, se formula una selección de las restricciones
52
y se establece una representación simbólica de la estrategia de búsqueda.
deben hacer conjeturas. Las condiciones sobre las que actuará el método es la clave
de esta etapa; se aislarán o seleccionarán del entorno aquellos aspectos que sean rele-
vantes dentro del ámbito del problema, procediendo después a la exploración detallada
de las soluciones.
53
Figura 3.1: Esquema de tratamiento del problema.
El ordenador a utilizar es una portátil Dell Vostro 1000 con procesador , con memo-
ria RAM de 1.00 GB y la herramienta empleada será Visual Basic 6.0 para aplicaciones
54
Capítulo 4
Resultados
4.1. Introducción
encontrar una solución óptima que crece de forma factorial con respecto al número de
vértices propuestos, razón por la cual es tratado con algoritmos que no tienen la necesi-
dad de explorar todo el espacio de búsqueda para dar una respuesta aproximada.
Los algoritmos determinísticos son una familia de algoritmos cuya meta es precisa-
mente dar soluciones aproximadas a problemas generales de tipo NP, sin necesidad
de recorrer todo el espacio de búsqueda. Las heurísticas clásicas realizan una explo-
55
ración limitada sobre el espacio de búsqueda y normalmente las soluciones producidas
bles a problemas del mundo real. Existen dos tipos de heurísticas: constructivas y
como uno de los más destacados problemas de tipo NPCompleto. El problema trata
de un viajero que visita cada una de las n ciudades dadas exactamente una vez y
ciudades visitadas (el ciclo) que minimice la distancia total del viajero. Esta situación,
ha sido enfrentada mediante diversas técnicas, entre las que sobresalen los Algoritmos
estas técnicas.
56
2008).
Entre las situaciones relacionados con los circuitos de Hamilton y el Agente Viajero,
situaciones se pretende, planificar las rutas para prestar un servicio a varios usuarios,
dor viajero (TSP, del inglés Travelling Salesman Problem). La búsqueda tabú utiliza un
una solución x hacia una solución x en la vecindad de x, hasta satisfacer algún criterio
de parada. Para poder explorar regiones del espacio de búsqueda que serían dejadas
tura de vecinos para cada solución a medida que la búsqueda progresa. Las soluciones
admitidas para N (x), el nuevo vecindario, son determinadas mediante el uso de es-
57
una solución x hacia una solución x en N (x).
Quizás la estructura de memoria más importante usada para determinar las solu-
ciones permitidas a un N (x), sea la lista tabú. En su forma más simple, una lista
tabú es una memoria de corto plazo que contiene las soluciones que fueron visitadas
ciones previas que van a ser almacenadas). La búsqueda tabú excluye las soluciones
en la lista tabú de N (x). Una variación de la lista tabú prohíbe soluciones que tienen
ciertos atributos (i.e., soluciones al problema del viajante de comercio (TSP) que in-
cluyen aristas no deseadas) o prevenir ciertos movimientos (i.e., un arco que fue agre-
gado a un recorrido del TSP no puede ser eliminado en los siguientes n movimientos).
dos "tabú-activos." Las posibles soluciones que contengan elementos tabú-activos son
"tabú".
Las listas tabú que contienen atributos pueden ser más efectivas para algunos domi-
nios, pese a que presentan un nuevo problema. Cuando sólo un atributo es marcado
como tabú, esto por lo general resulta en que más de una solución es marcada co-
mo tabú. Algunas de estas soluciones, que ahora deben ser evitadas, podrían ser de
excelente calidad y no serían visitadas. Para mitigar este problema, se introducen los
criterios de aspiración: éstos pueden modificar el estado de tabú de una solución, por
Un criterio de aspiración muy utilizado es admitir soluciones que son mejores que la
58
mejor solución conocida al momento.
2. Si S(x) T = ; ir a 4;
sino, sea k := k + 1 y selecciona sk 2 S(x) T tal que sk (x) =
OP T IM O(s(x) : s 2 S(x) T ):
La búsqueda tabú puede utilizarse para encontrar una solución satisfactoria para
el TSP. Primero, la búsqueda tabú comienza con una solución inicial, que puede ser
generada con el algoritmo del vecino más cercano o por cualquier algoritmo de in-
serción. Para crear nuevas soluciones, el orden en que dos ciudades son visitadas es
intercambiado. La distancia total recorrida entre todas las ciudades es utilizada para
juzgar cuanto mejor es una solución de otra. Para prevenir ciclos y para salir de los óp-
timos locales, una solución es agregada a la lista tabú si es que es aceptada en N (x),
criterio de parada, como por ejemplo, hasta que un número arbitrario de iteraciones,
es encontrado. Una vez que la búsqueda tabú se detiene, la mejor solución es aquella
59
El algoritmo propuesto utiliza la memoria a corto y largo plazo, ya que hace uso de
la matriz de frecuencias que expone De los Cobos (2008), que permite la exploración
de nuevas regiones liberando de esta manera los movimentos señalados como tabú.
Algoritmo 5 : EraDeterminístico
Inicialización
1. Ingrese: MatrizDistancia, longitudTabú. MaxIter, CiclosDiver, ListaTabú.
2. Generar la solución inicial(permutación natural) y la distancia d(x):
3. Mientras Iter MaxIter.
Este método funciona de manera iterativa. Una vez cumplido el criterio de parada,
60
4.3. Trazado de rutas
plano. En este modelo hipotético se necesita hacer el trazo de las rutas para que el
61
La fase de mejoramiento del algoritmo debe ir generando circuitos que disminuyen
su distancia total a medida que se aumentan las iteraciones. Así que, un recorrido
función objetivo.
bú(BT). Para esto, se consideran instancias aleatorias, comparación con los TSPLIB y
tres modelos reales, uno para la redes de distribución de agua para el Colegio Técnico
Profesional de Upala (CTPU), otro para el Agente de la Salud (AS) y otro para el Asesor
de Matemáticas (AM).
62
Es importante inicialmente, localizar el problema del viajante respecto a su funciona-
lidad, la cual consiste en minimizar la distancia recorrida pasando sólo una vez por un
dij 1 2 3 4 5 6 7 8 9 10
1 0
2 0
3 0
4 0
5 0
6 0
7 0
8 0
9 0
10 0
63
Cuadro 4.2: Tabla para las permutaciones.
64
Cuadro 4.4: Historial de los admisibles.
Agente Viajero (PAV), aplicando los procesos a los casos particulares anteriormente
mencionados.
gias de búsqueda para determinar un óptimo local. Para ello se proponen 10 puntos
65
Figura 4.4: Puntos aleatorios sobre una circunferencia de radio 6 cm.
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
66
Figura 4.5: Escenario 1.
67
Cuadro 4.7: Tablas de iteración 1.
68
Cuadro 4.9: Permutación 2.
Hasta el momento han pasado 20 iteraciones que el óptimo local no se actualiza, por
69
regiones no exploradas. Esta búsqueda no se realizar en forma aleatoria, más bien se
El criterio para ubicar el nodo en cierta posición, será la menor frecuencia registra-
da. Observemos que el nodo 1 tiene la menor frecuencia (0) en las posiciones 1, 6, 7,
8, 9 y 10, así que, es buen candidato para ocupar la posición 1. Análogamente, el nodo
1, pero ésta ya está ocupada por lo que se situará en la posición 5, el nodo 4 es buen
está ocupada por lo que se situará en la posición 2, así se continúa hasta generar la
70
Cuadro 4.12: Permutación 35.
porque se ha reiniciado la matriz tabú a cero. De esta forma se continúa hasta la ite-
71
dado en la figura 4.5. en una donde no hay intersecciones entre los caminos trazados.
ilustrativos, en Visual Basic Para Aplicaciones (BVA) en una plataforma Microsoft Excel
2007. Las exploraciones para los diferentes nodos serán resultados del algoritmo en
Visual Basic 6.0 y se verá que los tiempos de ejecución disminuyen en gran medida.
72
Figura 4.7: Comportamiento de la diversificación.
profundo (De los Cobos, 2010), la diversificación permite explorar nuevas regiones
Con el propósito de ajustar los parámetros, de tal manera que el algoritmo evolu-
realizan diferentes exploraciones, en cada uno de los cuales se modifica una o viarias
73
algoritmo se miden según su eficiencia y su mejora porcentual, ya que esto es una me-
en la matriz tabú, ya que en última instancia éste es el valor con que se debe tomar la
Los casos de prueba para 10, 15, 20, 25 y 30 nodos, se ubican en la necesidad de
En el cuadro 4.14, están los resultados obtenidos con la metodología propuesta, así
como las condiciones iniciales para las cuales fueron implementadas las pruebas. La
Sin SOp
MP = 100: (4.1)
Sin
74
Numero Reco. Reco. Tiempo
Instancia LT MP
Iteraciones Inicial Mej. en Seg
Aleatoria10 4 y 3 150 158; 55 112; 96 0; 125 28; 75
5 120 158; 55 83; 63 0; 047 47; 25
Aleatoria15 4 y 3 1410 205; 47 83; 93 1; 093 59; 15
5 1410 205; 47 83; 93 1; 061 59; 15
Aleatoria20 4 y 3 2400 255; 58 100; 12 2; 469 62; 99
5 2400 255; 58 94; 58 2; 469 62; 99
Aleatoria25 4 y 3 3750 317; 67 122; 18 4; 356 61; 54
5 3750 317; 67 122; 18 4; 356 61; 54
Aleatoria30 5 4860 350; 63 124; 82 7; 872 64; 40
realizadas por De los Cobos (2008) cuando señala que la longitud tabú no debe ser tan
grande ya que restingue la búsqueda y se cae en un valle profundo o que no deber ser
profundo.
Una vez definido la dirección del espacio de búsqueda, la solución óptima no mejo-
pectativas.
El tiempo empleado en cada corrida depende del número de nodos por conectar,
En la figura 4.8, se muestran los escenarios de cada uno de los resultados obtenidos
en el cuadro 4.14.
75
Recorrido Inicial Recorrido Mejorado
n = 10
n = 15
n = 20
n = 25
n = 30
solución óptima encontrada y que no depende de una inserción aleatoria para generar
76
buenos recorridos. Por el contrario, con la permutación natural se obtiene un posible
antelación las soluciones óptimas para cada instancia tratada. Para ello se utilizaron
Z ZT
e=1 : (4.2)
ZT
Ch COp
DP = 100: (4.3)
COp
77
Cuadro 4.15: Comparación con las instancias TSPLIB y De los Cobos.
En el cuadro 4.15 se observa que, en cualquier caso la eficiencia esta muy cercana
a uno, lo que nos indica que el algoritmo propuesto genera resultados satisfactorios
78
4.5. Implementación en una situación real
de 637,1 % respecto del acumulado a la semana 32 del año 2009. Este incremento se
Chorotega, Central Norte, Pacífico Central, Brunca, Central Sur y Huetar Atlántica.
un total 79 casos, 78 por Plasmodium vivax, 63 en el área de Matina, tres en Pococí, dos
hay clasificados tres importados, uno de Nicaragua en el cantón de San Carlos, Región
importado de Camerún, África y otro en San José, Región Central Sur procedente de
Guatemala.
ga, el Doctor Randall Alvarado Méndez, Director del Hospital y del área de salud de
Upala mencionó, que debido la calidad de los caminos y las frecuentes inundaciones,
79
en caso de un brote epidémico, los principales centros de vigilancia de la salud (EBAIS)
1
La notación es la siguiente; 1: Hosp. Upala, 2: Ebais Upala, 3: PS Chimurria, 4: PS S. Isidro, 5: Ebais
Colonia, 6: Ebais Canalete, 7: Ebais Delicias, 8: PS México, 9: Ebais Bijagua, 10: Ebais Las Milpas, 11:
PS Moreno Cañas, 12: PS Quebradon, 13: Ebais Santa Clara, 14: Ebais S. Jose, 15: PS C. Bocas, 16: PS
Aguas Claras, 17: Ebais Birmania, 18: PS Dos Rios, 19: PS Porvenir, 20: PS Popoyuapa.
80
Figura 4.9: Mapa del Cantón de Upala para los puestos de vigilancia de la salud.
igual a 11 y los ciclos de diversificación igual a 1000, cada vecindario fue de tamaño
n 1; se utilizó una portatil DELL Vostro 1000 con 1 GB de memoria RAM, procesador
Mobile AMD Sempron(tm) Processor 3600 + 2 GHz así como el paquete comercial
Visual Basic 6.0 con SP6, encontrándose los resultados dados en el cuadro 4.19 y el
81
Figura 4.10: Recorrido Óptimo de los puestos de vigilancia de la salud vía aérea.
82
Figura 4.11: Recorrido Óptimo de los puestos de vigilancia de la salud vía terrestre.
83
4.5.2. Escenario del asesor de matemáticas (AM)
cación secundaria, los asesores tienen una especial dedicación al trabajo dentro de
su área. Ello no impide que, junto con otros asesores, aborde cuestiones generales
vinculación de los asesores con una Dirección Regional, va desde la colobaración para
laborar con los proyectos del Centro Regional, hasta la cooperación y asesoramien-
la zona geográfica donde esté ubicada la Dirección Regional, así como los recursos
institucionales de éste.
acompañada del reconociminento de los profesores implicados, por ello Nieto (2005)
84
considera el asesoramiento en el área de matemáticas es una tarea compleja, cuya
lo que materia educativa se refiere y por consiguiente trasmitir esa información a los
movimiento del asesor por los diferentes Centros de Educacción Secundaria, para lo
de Upala y los diferentes Centros Educativos de Secundaria para la Zona Norte Norte.
85
Figura 4.12: Mapa del Cantón de Upala para la ubicación de 12 colegios en la Zona
Norte Norte.
Este caso se localizó un puente en mal estado (ruta Las Delicias-Santa Clara), así que
igual a 4 y los ciclos de diversificación igual a 50, cada vecindario fue de tamaño n 1;
2
La notación es la siguiente; 1: CTPU, 2: Liceo Canalete, 3: Liceo las Delicias, 4: Liceo San José de
Upala, 5: Telesecundaria México, 6: Liceo Aguas Claras, 7: Liceo Villanueva, 8: Telesecundaria Cuatro
Bocas, 9: Liceo Bijagua, 10: Colegio de Birmania, 11: Colegio Colonia Puntarenas, 12: Telesecundaria
Dos Rios.
86
se utilizó una portatil DELL Vostro 1000 con 1 GB de memoria RAM, procesador Mobile
AMD Sempron(tm) Processor 3600 + 2 GHz así como el paquete comercial Visual Basic
6.0 con SP6, encontrándose los resultados dados en el cuadro 4.19 y el escenario se
87
por la creación de los diferentes canales de comunicación que se han ido construyendo
en los últimos años. Este crecimiento desmedido hace pensar que el suministro de
los recursos vitales tuviesen un colapso, a tal punto que se necesitaría invertir en im-
plementos adicionales para cumplir con las necesidades de la población, como el uso
de bombas para la expulsión del agua, racionamiento, aumento en los calibres de los
Con el fin de generar un escenario factible, es necesario llevar a cabo una mayor
Umbral que podrían generarse con la creación de una nueva red, con el propósito de
recurso.
tribución de tubos está constituida por ramificaciones del tubo primario. Esto genera
que en las partes más lejanas, el servicio de agua sea casi nulo en las horas de mayor
88
En el cuadro 4.18, se muestran las distancias en metros, entre los 36 recibidores
externos para cada pabellón del Colegio Técnico Profesional de Upala (CTPU), las co-
ordenadas se determinaron con un dispositivo GPS MAP Garmin 60CX a cargo del
Ing.Carlos Matarrita.
89
Figura 4.14: Nodos de los recibidores externos para Ctpu36.
longitud tabú igual a 16 y los ciclos de diversificación igual a 5000, cada vecindario fue
de tamaño n 1; se utilizó una portatil DELL Vostro 1000 con 1 GB de memoria RAM,
procesador Mobile AMD Sempron(tm) Processor 3600 + 2 GHz así como el paquete
comercial Visual Basic 6.0 con SP6, encontrándose los resultados dados en el cuadro
90
Figura 4.15: Recorrido mejorado de los recibidores externos para Ctpu36.
Cuadro 4.19: CTPU: Colegio Técnico Profesional de Upala, AS: Agente de la Salud, AM:
Asesor de Matemáticas, LT: Longitud Tabú, LD: Longitud Diversificación.
En la instancia CTPU36, los nodos dados por el Ingeniero Matarrita están desple-
gados en el orden en que los recibidores fueron colocados, es por ello que el ahorro
91
recorrido encontrado por el algoritmo, deja claro que es mejor al ya estructurado. Los
escenarios para la instancia se observan en la figura 8.14 y en la figura 8.15. Para que
este diseño sea tratado como un PAV se ha cerrado el ciclo, pero en la práctica es tal y
Carmen (De los Cobos, 2010). Los escenarios para la instancia se observan en la figura
para el PAV, uno para la vía aérea y otro para la vía terrestre. Recordando que el puente
construcción.
92
Capítulo 5
Conclusiones y Recomendaciones
5.1. Conclusiones
bre la búsquda tabú, en donde se menciona que las metaheurísticas pueden encontar
El tipo de codificación para representar el PAV basado en éste algoritmo tabú garan-
tiza que los valores que se obtengan para la función objetivo sean de tipo determinís-
93
Se ha determinado el conjunto de parámetros iniciales (longitud tabú, número de
desempeño computacional para cada uno de los casos de prueba calibrándolos por
ensayo y error.
respuestas reportadas en TSPLIB para los casos gr17, gr21, gr24, fri26, bayg29, gr48 y
ticas tales como los Algoritmos Genéticos, Colonia de Hormigas o algoritmos híbridos
vista teórico, las técnicas empleadas son sólo aproximaciones. No suponen una resolu-
ción real del TSP y sólo ofrecen soluciones aproximadas suficientemente aceptables.
Hay una gran cantidad de problemas del mundo real que debido a su complejidad
no pueden ser resueltos por métodos analíticos por lo que se hace necesario el uso
y se observó que los resultados generados son mejores a cualquier solución aleatoria
94
se defina con claridad y precisión los elementos que intervienen.
búsqueda tabú como una alternativa para solucionar el problema del modelo básico,
sido tratado por muchos autores, empleando para ello técnicas como la búsqueda lo-
óptimo en todas las instancias probadas. A pesar de que los experimentos con muchas
la prueba piloto (instancias aleatorias) muestra que los vecindarios generados por la
longitud tabú grande presenta los peores resultados y la longitud tabú igual a dos,
lenguaje Visual Basic 6.0 y se observó que los tiempos de ejecución mejoran en gran
Por último, dentro de los trabajos futuros podrían resolverse casos de prueba en
donde las condiciones del problema permitan importar datos del TSPLIB y hacer com-
95
5.2. Recomendaciones
hn n i
Se recomienda que la longitud tabú esté en el intervalo 3; + 3 , donde n
2 2
representa la cantidad de nodos a visitar y que no sobrepasen más 10 diversifiacciones
Esto podría mejorar la calidad de las soluciones encontradas. Así mismo, a partir de la
estimación de un número de iteraciones sin mejorar que sea suficiente para llegar a la
del algoritmo.
iniciales no naturales, para así, no alcanzar un valor crítico de iteraciones sin mejorar.
Respecto al criterio del número de iteraciones sin mejorar, los resultados del estudio
sugieren que se puede disminuir el valor de este parámetro sin afectar la calidad de las
soluciones encontradas.
lizar la información de la página web, sobre el cantón de Upala. Esto fue un punto
96
investigación, en caso de un eventual brote epidémico o simplemente con el afán de
a reflexionar sobre el perfil profesional que desea formar. Considerando que nuestro
país no solo necesita profesores que se involucren en el mercado laboral, sino más
bien profesionales capaces de hacerle frente a las dificultades económicas en las que
estamos inmersos. Es por lo anterior que la Unidad Académica en cuestión debe pre-
97
Bibliografía
Aho, A., Hopcroft, J. y Ullman, J. (1983). Data structures and algorithms. México: Addison-
Answer Math.com. (n. d). Inteligencia Artificial, Algunas Definiciones. Obtenida el 27 de enero
Balcázar, J. (2008). Apuntes sobre el cálculo de la eficiencia de los algoritmos. Dep. Llenguat-
Burr, D. J. (1988). An Improved Elastic Net Method for the Traveling Salesman Problem. IEEE
http://www.ing.unlp.edu.ar/cetad/mos/TSPBIB_home.html.
Castañeda, C. (2000). Estudio comparativo de diversos métodos de solución del problema del
http://decsai.ugr.es/~castro/CA/node24.html
98
Chaudhry, S. y Luo, W. (2005). Application of genetic algorithms in production and oper-
4083-4101.
Ant-Q, recocido simulado y búsqueda tabú en la solución del problema del agente
De los Cobos, S., Goddard, J., Gutiérrez, M. y Martínez A. (2010). Búsqueda y Exploración
De los Cobos, S. (1994). La técnica de la búsqueda tabú y sus aplicaciones. Tesis doctoral,
De los Cobos, S (1997). Programación Estocástica en Optimización, minicurso. Costa Rica: Edi-
210-220.
Delgado, C., Pacheco, J. y Aragón.A. (2000). Diseño de algoritmos para el problema del trans-
99
Burgos.
Hall.
Figueroa, J. (2007). Una Solución Aproximada para un Problema Difícil. Tesis de Maestría en
México.
Glover, F. (1990). Tabú Search: Part II. ORSA Journal on Computing, 2, 4-32.
Glover, F. (1993). Tabu Search: An Introduction. Annals of Operations Research, 41(1-4), 1-28.
19, 29-48.
Goldberg, D. (1989). Genetic Algorithms in search, Optimization and Machine Learning. México:
Addison-Wesley.
Jhonson, D. y Mcgeoch, L. (2002). Experimental analysis of the heuristics for the Symmetric
100
Knuth, D. E. (1973). The art of computer programming 1: "Fundamental algorithms"(2a edi-
teligencia Artificial Universidad del País Vasco – Euskal Herriko Unibertsitatea. Disponible
en http://www.geocities.com/CapeCanaveral/9802/3d5ca000.htm
López, C. Mendoza, J. y Cuartas, E. (2008). Algoritmo para la exploración de todos los va-
lores posibles en el problema del agente viajero. Scientia et Technica, 39. (Universidad
Tecnológica de Colombia).
Melián, D., Perez, B. y Alvarez, J. (2003). Metaheurísticas: una visión global de Inteligencia
http://www.cimat.mx/~horebeek/cursus/node35.html
http://cswww.essex.ac.uk/CSP/gls-tsp/gls-tsp.html.
Nilsson, C (2003). Heurislics for the Traveling Salesman Problem. EE.UU: Linkaping University.
101
Nilson, N. (1987). Principios de Inteligencia Artificial. México: Díaz de Santos S.A.
Osman, I. (1993). Metastrategy simulated annealing and tabu search algorithms for the vehi-
en http://www.iwr.uni-heidelberg.de/groups/comopt/software/TSPLIB95.
Reingold E. y Nievergelt J. (1997). Combinatorial Algorithms Theory and Practice. New Jersey:
Prentice-Hall.
Reyes, A. (1997). Un ejemplo de Optimización de Funciones por Medio del Algoritmo Ariad’s
Clew : El caso del Problema del Agente Viajero. Tesis de Maestría. Universidad de las
Rodriguez, C. (2008). Visual Basic 6.0: Orientado a Bases de Datos (Segunda edición). Grupo
Experto Bucarelly.
en http://journey.cem.itesm.mx/compresiondemo.html.
Stinson, D. (1987). An Introduction to the Design and Analysis of Algorithms (Second Edition,
Varela M. R. (1996). Diseño de una Heurística para el tratamiento del Problema del Agente
102
Viajero. Tesis de Maestría, Universidad de las Américas Puebla, Departamento de Inge-
Velasquez, J. (2008). Algoritmo Genético para el Agente Viajero. Grupo de Inteligencia Artifi-
Villalobos, M., Trejos, J. y De los Cobos S. (2006). Aplicación de la Búsqueda Tabú en Regre-
sión no Lineal. Revista de Matemáticas: Teoría y Aplicaciones, 13(1), 81-89. (San José,
Costa Rica).
Vitanyi, P. M., y Meertens, T. (1983). Big omega versus the wild functions, Stitching Mathema-
103