Metaheurísticas en la resolución de problemas sobre triangulaciones

241

Transcript of Metaheurísticas en la resolución de problemas sobre triangulaciones

Page 1: Metaheurísticas en la resolución de problemas sobre triangulaciones

Metaheurísticas en la resolución de

problemas sobre triangulaciones

TESIS DOCTORAL

Autora

Lic. Maria Gisela Dorzán

Universidad Nacional de San Luis

Marzo de 2014

Page 2: Metaheurísticas en la resolución de problemas sobre triangulaciones
Page 3: Metaheurísticas en la resolución de problemas sobre triangulaciones

Metaheurísticas en la resolución de

problemas sobre triangulaciones

Tesis para optar al grado de Doctora en Ciencias de la Computación

Asesores cientícos

Dr. Gregorio Hernández Peñalver

Universidad Politécnica de Madrid - Madrid, España

Dr. Efrén Mezura-Montes

Universidad Veracruzana - Veracruz, México

Universidad Nacional de San Luis

Marzo de 2014

Page 4: Metaheurísticas en la resolución de problemas sobre triangulaciones
Page 5: Metaheurísticas en la resolución de problemas sobre triangulaciones

v

Los abajo rmantes certican que han leído y recomiendan a la Facultadde Ciencias Físico, Matemáticas y Naturales aceptar la tesis titulada Me-taheurísticas en la resolución de problemas sobre triangulaciones presentadapor Maria Gisela Dorzán en cumplimiento parcial de los requerimientos paraoptar al grado de Doctora en Ciencias de la Computación.

Fecha:

Asesores Cientícos

Dr. Gregorio Hernández Peñalver

Dr. Efrén Mezura-Montes

Page 6: Metaheurísticas en la resolución de problemas sobre triangulaciones
Page 7: Metaheurísticas en la resolución de problemas sobre triangulaciones

Dedicatoria

A los amores de mi vida,Camila y Sebastian, ya que esto nuncahubiera sido posible sin el amparo y el

amor incondicional de ellos.Éste es también su premio.

vii

Page 8: Metaheurísticas en la resolución de problemas sobre triangulaciones
Page 9: Metaheurísticas en la resolución de problemas sobre triangulaciones

Agradecimientos

En estas líneas quiero expresar mi agradecimiento a todas aquellas perso-nas que, de una u otra manera, colaboraron en la creación y desarrollo de lapresente tesis, la cual ha signicado mucho esfuerzo, compromiso y trabajo.

A mis asesores, Gregorio y Efrén, quienes me brindaron conocimientos,experiencia, motivación y dedicación para que pudiera transitar este caminocon éxito.

A Guillermo, por la constante disponibilidad y apoyo.A Oli, con quien compartí muchas horas de trabajo e intercambié opinio-

nes, las cuales fueron generadoras de buenas ideas.A Pablo, por su colaboración desinteresada.También debo mi reconocimiento a las instituciones que permitieron el

desarrollo de este trabajo. A la Facultad de Ciencias Físico Matemáticas yNaturales de la Universidad Nacional de San Luis donde diariamente desa-rrollo mi labor, al Consejo Nacional de Investigaciones Cientícas y Técnicas(CONICET) por concederme una beca de doctorado y al Instituto de FísicaAplicada (INFAP-CONICET) por los recursos cedidos para desarrollar laparte experimental.

A mis padres, Susana y Miguel, quienes me inculcaron los valores y laresponsabilidad que guían mi transitar por la vida.

Desde lo más profundo de mi corazón quiero agradecer a mi hija Camilay a mi esposo Sebastian, quienes comprendieron las horas de ausencia acom-pañándome en cada momento y con su cariño me ayudaron a hacer este durocamino un poco más fácil.

A todos ellos, ½GRACIAS!!

Gisela

ix

Page 10: Metaheurísticas en la resolución de problemas sobre triangulaciones
Page 11: Metaheurísticas en la resolución de problemas sobre triangulaciones

Índice

1. Introducción 1

1.1. Objetivo general . . . . . . . . . . . . . . . . . . . . . . . . . 21.2. Objetivos especícos . . . . . . . . . . . . . . . . . . . . . . . 41.3. Contribuciones . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2. Geometría Computacional 9

2.1. Principales problemas de investigación de la Geometría Compu-tacional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.1.1. Problemas estáticos . . . . . . . . . . . . . . . . . . . 112.1.2. Problema de consulta geométrica . . . . . . . . . . . . 122.1.3. Problemas dinámicos . . . . . . . . . . . . . . . . . . . 122.1.4. Variaciones . . . . . . . . . . . . . . . . . . . . . . . . 13

2.2. Aplicaciones de la Geometría Computacional . . . . . . . . . 132.3. Triangulaciones y medidas de calidad . . . . . . . . . . . . . . 17

2.3.1. Aspectos combinatorios . . . . . . . . . . . . . . . . . 182.3.2. Triangulaciones interesantes . . . . . . . . . . . . . . . 192.3.3. Optimización en triangulaciones . . . . . . . . . . . . . 22

2.4. Complejidad computacional . . . . . . . . . . . . . . . . . . . 252.4.1. Problemas de decisión y clases de complejidad . . . . 26

3. Metaheurísticas 29

3.1. Optimización combinatoria . . . . . . . . . . . . . . . . . . . 293.2. Técnicas metaheurísticas . . . . . . . . . . . . . . . . . . . . . 32

3.2.1. Búsqueda Local . . . . . . . . . . . . . . . . . . . . . . 383.2.2. Búsqueda Local Iterada . . . . . . . . . . . . . . . . . 403.2.3. Recocido Simulado . . . . . . . . . . . . . . . . . . . . 423.2.4. Optimización basada en Colonias de Hormigas . . . . 46

3.3. Evaluación de metaheurísticas . . . . . . . . . . . . . . . . . . 56

4. Problemas estudiados 61

4.1. Triangulación de Peso Mínimo . . . . . . . . . . . . . . . . . . 61

xi

Page 12: Metaheurísticas en la resolución de problemas sobre triangulaciones

xii Índice

4.2. Triangulación de Dilación Mínima . . . . . . . . . . . . . . . . 714.3. Análisis de la revisión de la literatura . . . . . . . . . . . . . . 75

5. Conceptos para implementación e instancias de prueba 79

5.1. Área signada . . . . . . . . . . . . . . . . . . . . . . . . . . . 795.2. Cierre convexo . . . . . . . . . . . . . . . . . . . . . . . . . . 825.3. Lista de aristas doblemente conectada . . . . . . . . . . . . . 835.4. Instancias de prueba . . . . . . . . . . . . . . . . . . . . . . . 87

6. Metaheurísticas aplicadas al problema MWT 97

6.1. ACO-MWT: algoritmo de optimización basada en colonia dehormigas aplicado a MWT . . . . . . . . . . . . . . . . . . . . 98

6.2. SA-MWT: algoritmo de Recocido Simulado aplicado a MWT 1026.3. Evaluación Experimental y Análisis Estadístico . . . . . . . . 106

6.3.1. Experimentación preliminar de ACO-MWT . . . . . . 1076.3.2. Experimentación calibrada . . . . . . . . . . . . . . . . 1096.3.3. Comparando ACO-MWT con SA-MWT . . . . . . . . 1166.3.4. Comparación con otros algoritmos . . . . . . . . . . . 1246.3.5. Análisis de tiempos de ejecución . . . . . . . . . . . . 1276.3.6. Evaluación de instancias particulares del problema . . 1296.3.7. Comparación de herramientas calibradoras de paráme-

tros para el problema MWT . . . . . . . . . . . . . . . 131

7. Metaheurísticas aplicadas al problema MDT 135

7.1. G-MDT: algoritmo greedy aplicado a MDT . . . . . . . . . . 1367.2. LS-MDT: algoritmo de búsqueda local aplicado a MDT . . . 1387.3. ILS-MDT: algoritmo de búsqueda local iterada aplicado a MDT1407.4. SA-MDT: algoritmo de Recocido Simulado aplicado a MDT . 1447.5. RLS-MDT: algoritmo de búsqueda local aleatoria aplicado a

MDT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1457.6. Evaluación Experimental y Análisis Estadístico . . . . . . . . 150

7.6.1. Comparación de desempeño de los algoritmos propuestos1517.6.2. Análisis de tiempos de ejecución . . . . . . . . . . . . 161

8. Conclusiones y Trabajo Futuro 165

8.1. Conclusiones sobre el trabajo realizado para el problema MWT1658.2. Conclusiones sobre el trabajo realizado para el problema MDT 1668.3. Trabajo futuro . . . . . . . . . . . . . . . . . . . . . . . . . . 169

A. Herramientas utilizadas para el ajuste de parámetros 171

A.1. SPOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171A.2. irace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173

Page 13: Metaheurísticas en la resolución de problemas sobre triangulaciones

Índice xiii

B. Instancias de problema 175

C. Resultados experimentales 179

C.1. Resultados de ACO-MWT . . . . . . . . . . . . . . . . . . . . 179C.2. Resultados de SA-MWT . . . . . . . . . . . . . . . . . . . . . 188C.3. MWT: Triangulaciones obtenidas por los algoritmos . . . . . 190C.4. MDT: Triangulaciones obtenidas por los algoritmos . . . . . . 199

Referencias 207

Page 14: Metaheurísticas en la resolución de problemas sobre triangulaciones
Page 15: Metaheurísticas en la resolución de problemas sobre triangulaciones

Índice de guras

2.1. Ejemplos de triangulaciones. . . . . . . . . . . . . . . . . . . . 172.2. Ejemplos de triangulaciones para mismo conjunto de puntos. . 182.3. Ejemplo de construcción de la Triangulación Greedy. . . . . . 212.4. Triangulación de Delaunay, triangulación Greedy y Diagrama

de Voronoi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.5. Intercambio de aristas (ip). . . . . . . . . . . . . . . . . . . . 242.6. Problemas P, NP y NP-completos. . . . . . . . . . . . . . . . 27

3.1. Óptimos locales y óptimo global en un espacio de búsqueda. . 313.2. Clasicaciones de las metaheurísticas. . . . . . . . . . . . . . 363.3. Comportamiento de Búsqueda Local. . . . . . . . . . . . . . . 383.4. Comportamiento de Búsqueda Local Iterada. . . . . . . . . . 403.5. Comportamiento de Recocido Simulado. . . . . . . . . . . . . 433.6. Proceso de construcción de la ruta más corta entre el nido y

el alimento. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483.7. Esquema de aplicación de test estadísticos. . . . . . . . . . . . 59

4.1. Peso de dos triangulaciones distintas. . . . . . . . . . . . . . . 624.2. GT y DT no son la triangulación de peso mínimo. . . . . . . 634.3. Test del diamante . . . . . . . . . . . . . . . . . . . . . . . . . 684.4. Dilación de dos triangulaciones distintas. . . . . . . . . . . . . 724.5. GT y DT no son la triangulación de dilación mínima. . . . . . 744.6. Región de exclusión para la triangulación de dilación mínima. 74

5.1. Signicado de área signada. . . . . . . . . . . . . . . . . . . . 805.2. Área signada: localización de un punto respecto de una recta. 805.3. Área signada: comparación de un ángulo con π. . . . . . . . . 815.4. Área signada: clasicación de los vértices de un polígono. . . . 815.5. Área signada: intersección de aristas. . . . . . . . . . . . . . . 825.6. Ejemplo de conjuntos convexos y no convexos. . . . . . . . . . 835.7. Ejemplo de aplicación del Scan de Graham. . . . . . . . . . . 845.8. Datos almacenados en una DCEL. . . . . . . . . . . . . . . . 85

xv

Page 16: Metaheurísticas en la resolución de problemas sobre triangulaciones

xvi Índice de figuras

5.9. Ejemplo de datos almacenados en una DCEL. . . . . . . . . . 865.10. Ejemplos de las instancias realizadas por el generador aleato-

rio de instancias de prueba. . . . . . . . . . . . . . . . . . . . 895.11. Generador aleatorio de instancias de prueba con diamantes. . 915.12. Ejemplos del generador de instancias de prueba particulares. . 925.13. Ejemplos de las instancias realizadas por el generador aleato-

rio de instancias particulares. . . . . . . . . . . . . . . . . . . 945.14. Ejemplos de triangulaciones realizadas por el generador alea-

torio de triangulaciones. . . . . . . . . . . . . . . . . . . . . . 96

6.1. ACO-MWT: ejemplo de construcción. . . . . . . . . . . . . . 1016.2. ACO-MWT: selección de un nuevo punto de referencia. . . . . 1026.3. Intercambio de aristas (ip). . . . . . . . . . . . . . . . . . . . 1056.4. Retriangulación local. . . . . . . . . . . . . . . . . . . . . . . 1066.5. ACO-MWT: Boxplots de todas conguraciones para 50 hor-

migas para una instancia de cada tamaño considerado. . . . . 1106.6. ACO-MWT: Boxplots de las mejores conguraciones encon-

tradas por irace. . . . . . . . . . . . . . . . . . . . . . . . . . 1136.7. ACO-MWT: Test Friedman comparando las conguraciones

obtenidas por irace. . . . . . . . . . . . . . . . . . . . . . . . . 1156.8. SA-MWT: Boxplots de las mejores conguraciones encontra-

das por irace. . . . . . . . . . . . . . . . . . . . . . . . . . . . 1206.9. SA-MWT: Test Friedman comparando las conguraciones ob-

tenidas por irace. . . . . . . . . . . . . . . . . . . . . . . . . . 1226.10. SA-MWT: Gráca de promedio de temperaturas. . . . . . . . 1236.11. Diferencias entre los mejores pesos encontrados y el peso exacto.1266.12. MWT: Gráca tiempos de ejecución de todos los algoritmos. 1286.13. SA-MWT: Gráca de promedio de temperaturas para instan-

cias particulares. . . . . . . . . . . . . . . . . . . . . . . . . . 1306.14. Test Friedman comparando las conguraciones obtenidas por

SPOT e irace. . . . . . . . . . . . . . . . . . . . . . . . . . . . 133

7.1. G-MDT: ejemplo de construcción. . . . . . . . . . . . . . . . . 1377.2. G-MDT: convergencia de la función objetivo. . . . . . . . . . 1387.3. Operador retriang(). . . . . . . . . . . . . . . . . . . . . . . . 1397.4. LS-MDT: ejemplo de construcción. . . . . . . . . . . . . . . . 1407.5. Operador perturb(Sol). . . . . . . . . . . . . . . . . . . . . . . 1417.6. ILS-MDT: ejemplo de construcción. . . . . . . . . . . . . . . . 1427.7. ILS-MDT: convergencia de la función objetivo. . . . . . . . . 1437.8. Operador de retriangulación local greedy (RG) . . . . . . . . 1457.9. RLS-MDT (RA): ejemplo de construcción. . . . . . . . . . . . 1477.10. RLS-MDT (RG): ejemplo de construcción. . . . . . . . . . . . 148

Page 17: Metaheurísticas en la resolución de problemas sobre triangulaciones

Índice de figuras xvii

7.11. RLS-MDT (RA): convergencia de la función objetivo. . . . . . 1487.12. RLS-MDT (RG): convergencia de la función objetivo. . . . . . 1497.13. Ejemplo del comportamiento de los algoritmos LS-MDT, ILS-

MDT y RLS-MDT (RA). . . . . . . . . . . . . . . . . . . . . 1587.14. Test Friedman comparando el desempeño de los algoritmos

DT, OV-MDT, G-MDT, LS-MDT, ILS-MDT y RLS-MDT(RA). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160

7.15. MDT: Gráca tiempos de ejecución de todos los algoritmos. . 163

8.1. Comparación entre las medidas de calidad de peso y dilación. 168

A.1. Interfaces de SPOT. . . . . . . . . . . . . . . . . . . . . . . . 173A.2. Esquema de ujo de información de irace. . . . . . . . . . . . 174

Page 18: Metaheurísticas en la resolución de problemas sobre triangulaciones
Page 19: Metaheurísticas en la resolución de problemas sobre triangulaciones

Índice de Tablas

3.1. Variantes del algoritmo ACO. . . . . . . . . . . . . . . . . . . 55

4.1. Resumen con antecedentes más importantes del problema MWT. 77

4.2. Resumen con antecedentes más importantes del problema MDT. 78

5.1. Ejemplo de representación utilizando una DCEL. . . . . . . . 86

5.2. Información sobre las instancias creadas con generador alea-torio de instancias particulares. . . . . . . . . . . . . . . . . . 93

6.1. Valores paramétricos para el algoritmo ACO-MWT. . . . . . 107

6.2. Resumen de los resultados obtenidos (medias) con ACO-MWTcon 50 hormigas. . . . . . . . . . . . . . . . . . . . . . . . . . 108

6.3. Resumen de los resultados obtenidos (mejores) con ACO-MWTcon 50 hormigas. . . . . . . . . . . . . . . . . . . . . . . . . . 108

6.4. Conguraciones paramétricas para ACO-MWT. . . . . . . . . 109

6.5. Mejores conguraciones paramétricas para el algoritmo ACO-MWT encontradas con la herramienta irace. . . . . . . . . . . 111

6.6. Resumen de los resultados de las conguraciones obtenidaspor irace para ACO-MWT. . . . . . . . . . . . . . . . . . . . 112

6.7. Test Kruskal-Wallis comparando los resultados de las congu-raciones obtenidas con irace para ACO-MWT. . . . . . . . . . 115

6.8. Valores paramétricos para el algoritmo SA-MWT con igualcantidad de evaluaciones de ACO-MWT. . . . . . . . . . . . . 117

6.9. Mejores conguraciones paramétricas para el algoritmo SA-MWT encontradas con la herramienta irace. . . . . . . . . . . 118

6.10. Resumen de los resultados de las conguraciones obtenidaspor irace para SA-MWT. . . . . . . . . . . . . . . . . . . . . 119

6.11. Test Kruskal-Wallis comparando los resultados de las congu-raciones obtenidas con irace para SA-MWT. . . . . . . . . . . 122

6.12. Comparación de resultados de los algoritmos DT, GT, ACO-MWT, SA-MWT y LMT+PD. . . . . . . . . . . . . . . . . . 125

6.13. Diferencias entre los mejores pesos encontrados y el peso exacto.125

xix

Page 20: Metaheurísticas en la resolución de problemas sobre triangulaciones

xx Índice de tablas

6.14. Porcentajes de diferencias entre los mejores pesos encontradosy el peso exacto. . . . . . . . . . . . . . . . . . . . . . . . . . 126

6.15. Tiempos de ejecución de los algoritmos considerados. . . . . . 128

6.16. Resultados obtenidos con los algoritmos GT, DT, ACO-MWTy SA-MWT para instancias de problema particulares. . . . . . 129

6.17. Mejores conguraciones paramétricas para el algoritmo SA-MWT encontradas con las herramientas SPOT e irace. . . . . 131

6.18. Comparación entre las mejores conguraciones obtenidas porSPOT e irace para el algoritmo SA-MWT. . . . . . . . . . . . 132

7.1. Valores paramétricos para el algoritmo SA-MDT. . . . . . . . 151

7.2. Mejor conguración paramétrica para el algoritmo SA-MDTencontrada con la herramienta SPOT. . . . . . . . . . . . . . 151

7.3. Mejores resultados obtenidos por los algoritmos DT, OV-MDT,G-MDT, LS-MDT, ILS-MDT, SA-MDT, SA-MDT+LS, RLS-MDT (RA) y RLS-MDT (RG). . . . . . . . . . . . . . . . . . 153

7.4. Medianas obtenidas por los algoritmos LS-MDT, ILS-MDT,SA-MDT, SA-MDT+LS, RLS-MDT (RA) y RLS-MDT (RG). 155

7.5. Test Kruskal-Wallis comparando los resultados obtenidos conlos algoritmos LS-MDT, ILS-MDT, SA-MDT+LS y RLS-MDT(RA). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157

7.6. Tiempos de ejecución de los algoritmos considerados. . . . . . 162

B.1. Grácas de las instancias de problema consideradas para laevaluación experimental. . . . . . . . . . . . . . . . . . . . . 176

B.2. Grácas de las instancias de problema particulares considera-das para la evaluación experimental. . . . . . . . . . . . . . . 177

C.1. Resultados de ACO-MWT con 50 hormigas ordenados pormedia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181

C.2. Resultados de ACO-MWT con 50 hormigas ordenados pormejor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184

C.3. Resultados de ACO-MWT con las mejores conguraciones ob-tenidas por irace. . . . . . . . . . . . . . . . . . . . . . . . . . 186

C.4. Resultados de ACO-MWT Cong. (2) y ACO-MWT Cong.(4) comparado con SA-MWT (SPOT) con igual cantidad deevaluaciones. . . . . . . . . . . . . . . . . . . . . . . . . . . . 188

C.5. Resultados de SA-MWT con las mejores conguraciones ob-tenidas por irace. . . . . . . . . . . . . . . . . . . . . . . . . . 190

C.6. Mejores triangulaciones obtenidas con los algoritmos DT, GTy ACO-MWT para las instancias de problema consideradas. . 193

Page 21: Metaheurísticas en la resolución de problemas sobre triangulaciones

Índice de tablas xxi

C.7. Mejores triangulaciones obtenidas con los algoritmos ACO-MWT, SA-MWT para las instancias de problema conside-radas y las triangulaciones de peso mínimo obtenidas conLMT+PD para dichas instancias. . . . . . . . . . . . . . . . . 197

C.8. Mejores triangulaciones obtenidas por DT, GT, SA-MWT pa-ra instancias de problema particulares y los LMT-esqueletosno conexo para dichas instancias. . . . . . . . . . . . . . . . . 199

C.9. Mejores triangulaciones obtenidas con los algoritmos DT, OV-MDT, G-MDT y LS-MDT para las instancias de problemaconsideradas. . . . . . . . . . . . . . . . . . . . . . . . . . . . 203

C.10.Mejores triangulaciones obtenidas con los algoritmos ILS-MDT,SA-MDT+LS y RLS-MDT (RA) para las instancias de pro-blema consideradas. . . . . . . . . . . . . . . . . . . . . . . . 206

Page 22: Metaheurísticas en la resolución de problemas sobre triangulaciones
Page 23: Metaheurísticas en la resolución de problemas sobre triangulaciones

Capítulo 1

Introducción

La Geometría Computacional se encarga del estudio de algoritmos e-cientes para resolver problemas geométricos. Una tarea fundamental es iden-ticar conceptos, propiedades y técnicas que apuntan al desarrollo de algo-ritmos ecientes. Esto conduce al análisis de la complejidad combinatoria deestructuras geométricas, el estudio de estructuras de datos geométricas, lacomplejidad de algoritmos, entre otras cuestiones. Los métodos estudiadosen esta área permiten el diseño y el análisis de algoritmos para la solucióneciente de numerosos problemas geométricos que surgen en otras áreas deaplicación como astronomía [102], computación gráca [132], sistemas de in-formación geográca [155], CAD/CAM [7], minería de datos [79], imágenesmédicas [108], modelismo molecular [58], robótica [103], procesamiento deseñales [154], tipografía [146], videojuegos [115], entre otras.

Las triangulaciones de conjuntos de puntos constituyen una herramien-ta fundamental en la mayoría de dichos campos. Triangular un conjunto depuntos es un problema interesante en sí mismo y además es un proceso pre-vio que interviene en otros cálculos. Por ejemplo, los siguientes problemasse pueden solucionar en tiempo lineal triangulando un polígono P : Calcu-lar distancias desde un punto dado, Encontrar el camino mínimo dentrode P entre dos puntos dados, Construir la región de P iluminada por unsegmento dado, entre otros.

Naturalmente para que una triangulación sea interesante en los camposantes indicados debe cumplir ciertas condiciones de calidad. Hay diferentesmedidas de dicha calidad: triángulos lo más regulares posible, minimizaciónde la suma de longitudes, minimización del camino más largo entre sus vér-tices, optimización del vector de ángulos de la triangulación, etc. Cualquierconjunto de puntos admite una cantidad exponencial de triangulaciones ypor lo tanto, la construcción de triangulaciones que optimicen ciertas me-didas es un problema de gran interés que, desafortunadamente, no admitesoluciones exactas para algunas de dichas medidas. Tal es el caso de losproblemas estudiados en la presente tesis:

1

Page 24: Metaheurísticas en la resolución de problemas sobre triangulaciones

2 Capítulo 1. Introducción

Triangulación de Peso Mínimo (MinimumWeight Triangulation - MWT):Sea S un conjunto de puntos en el plano. El peso de una triangulaciónT es la suma de las longitudes euclídeas de todas las aristas de T . Latriangulación que minimiza dicha suma se denomina triangulación depeso mínimo de S y se denota por MWT (S).

Triangulación de Dilación Mínima (Minimum Dilation Triangulation -MDT): Sea S un conjunto de puntos en el plano y u y v dos puntos deS. La dilación entre u y v con respecto a una triangulación T de S esla razón entre el camino más corto entre u y v y la distancia euclídeaentre u y v. La máxima dilación entre todos los pares de puntos enT es la dilación de T . La triangulación que minimiza dicha dilaciónse denomina triangulación de dilación mínima de S y se denota porMDT (S).

Se debe notar que, para conjuntos de puntos en posición general, existeuna única triangulación de peso mínimo pero pueden existir más de unatriangulación de dilación mínima.

La complejidad del cálculo de la triangulación de peso mínimo fue uno delos problemas abiertos más interesantes en Geometría Computacional hastaque en 2006, Mulzer y Rote [124], demostraron que es un problema NP-duro.El problema de calcular la triangulación de dilación mínima se encuentra enla lista de problemas en el survey de Eppstein [55], es decir, que no existe unalgoritmo que la construya en tiempo polinomial ni se ha demostrado quesea NP-duro.

Dada la dicultad inherente de dichos problemas, los algoritmos aproxi-mados surgen como candidatos alternativos para su aplicación. Éstos, pue-den dar soluciones cercanas a las óptimas y pueden ser especícos para unproblema tratado o formar parte de una estrategia general aplicable en laresolución de distintos problemas, como lo son las técnicas metaheurísticas.

Una metaheurística es un proceso de generación iterativo que guía la bús-queda de soluciones combinando, de manera eciente, diferentes conceptosde diversos campos como: inteligencia articial [131], evolución biológica [9],inteligencia colectiva [86], entre otros. Una metaheurística da un marco al-gorítmico general que puede ser aplicado en problemas de optimización conpocas modicaciones que lo adapten a un problema especíco. Estos méto-dos son simples de implementar y demostraron ser exitosos en encontrar, deforma eciente, buenas soluciones para problemas de optimización NP-duros[119].

1.1. Objetivo general

El objetivo general de este trabajo es mostrar el desempeño de algunastécnicas metaheurísticas para los problemas geométricos mencionados ante-

Page 25: Metaheurísticas en la resolución de problemas sobre triangulaciones

1.1. Objetivo general 3

riormente.Para el problema MWT se estudiaron, adecuaron e implementaron las

técnicas de Optimización basada en Colonia de Hormigas y de RecocidoSimulado. Además se implementaron algoritmos ya conocidos (Greedy, De-launay y LMT-esqueleto) para poder compararlos con nuestras propuestas.Para este problema se implementó un generador de instancias particulares(generador de diamantes) para las cuales uno de los métodos existentes nologra encontrar soluciones.

Para el problema MDT se estudiaron, adecuaron e implementaron lastécnicas de Búsqueda Local, Búsqueda Local Iterada, Greedy y RecocidoSimulado. Además se presenta un algoritmo llamado Búsqueda Local Alea-toria donde se aceptan buenas y malas soluciones utilizando un operador devecindario que realiza retriangulaciones locales. Se compararon nuestros re-sultados con triangulaciones ya conocidas y con el único algoritmo disponibleen la literatura el cual utiliza el valor obstáculo para ordenar las aristas en suproceso constructivo. Para ambos casos se utilizaron instancias de problemacreadas por un generador propio ya que en la literatura no se encontraronconjuntos de instancias para realizar nuestra evaluación. Además se utiliza-ron herramientas para realizar el ajuste de parámetros de los algoritmos yse aplicaron test estadísticos para realizar la validación estadística de resul-tados los cuales son necesarios para establecer conclusiones sobre los análisisexperimentales.

Según Bacon, el método cientíco [65] está sustentado por dos pilaresfundamentales. El primero de ellos es la reproducibilidad, es decir, la ca-pacidad de repetir un determinado experimento, en cualquier lugar y porcualquier persona. Este pilar se basa, esencialmente, en la comunicación ypublicidad de los resultados obtenidos. Con respecto a este pilar, en este tra-bajo se presentan los detalles necesarios para que cada experimento puedaser reproducido por cualquier otro investigador interesado en cualquiera delas aplicaciones propuestas en este trabajo. El segundo pilar es la refutabi-lidad, es decir, que toda proposición cientíca tiene que ser susceptible deser falsada o refutada. Esto implica que se podrían diseñar experimentos,que en el caso de dar resultados distintos a los predichos, negarían la hi-pótesis puesta a prueba. Con respecto a este pilar, en todos los estudios seofrecen los resultados obtenidos de forma clara, estructurada y sencilla comoprueba de las inferencias realizadas. Debido a la naturaleza estocástica delos algoritmos a utilizar, se realizan un mínimo de 25 experimentos indepen-dientes. Además, para asegurar la relevancia estadística de las conclusiones,se aplica un conjunto de análisis estadísticos a los datos en todos los estudiosrealizados.

Page 26: Metaheurísticas en la resolución de problemas sobre triangulaciones

4 Capítulo 1. Introducción

1.2. Objetivos especícos

Con el n de llevar a cabo los objetivos globales, arriba enunciados, selos ha descompuesto en objetivos parciales más concretos:

1. Desarrollo de un generador aleatorio de conjuntos de puntos en el plano(utilizando la librería CGAL) con el cual se obtienen las instancias deproblema utilizadas en la evaluación experimental.

2. Desarrollo de un generador de conjuntos de puntos en el plano concaracterísticas especiales con el cual se generan instancias de problemaparticulares utilizadas en una fase de la evaluación experimental.

3. Desarrollo de un generador aleatorio de triangulaciones de un conjuntode puntos en el plano con el cual se generan las soluciones iniciales uti-lizadas por ciertas técnicas metaheurísticas empleadas en este trabajo.

4. Revisión de los algoritmos propuestos en la literatura para resolver deforma aproximada la triangulación de peso mínimo.

5. Estudio de técnicas metaheurísticas en relación al problema de la trian-gulación de peso mínimo.

6. Adecuación de técnicas metaheurísticas para la búsqueda de triangu-laciones de bajo peso. Denición de la representación. Denición de lafunción de evaluación y operadores.

7. Revisión de los algoritmos propuestos en la literatura para resolver deforma aproximada la triangulación de dilación mínima.

8. Estudio de técnicas metaheurísticas en relación al problema de la trian-gulación de dilación mínima.

9. Adecuación de técnicas metaheurísticas para la búsqueda de triangu-laciones de baja dilación. Denición de la representación. Denición dela función de evaluación y operadores.

10. Análisis y evaluación de las técnicas desarrolladas a través de métodosestadísticos rigurosos que permitan: (i) compararlas con respecto a losenfoques existentes y (ii) demostrar la veracidad de las conclusionesobtenidas.

11. Uso y comparación de herramientas calibradoras de parámetros.

1.3. Contribuciones

En esta sección se enuncian en forma resumida los aportes realizados conla presente tesis, a saber:

Page 27: Metaheurísticas en la resolución de problemas sobre triangulaciones

1.3. Contribuciones 5

1. Presentación del estado del arte de cada problema planteado.

2. Estrategias voraces para los problemas MWT y MDT.

3. Técnicas metaheurísticas (ACO y SA) aplicadas al problema MWT.

4. Técnicas metaheurísticas (LS, ILS y SA) aplicadas al problema MDT.

5. Técnica de búsqueda local aleatoria aplicada al problema MDT (RLS).

6. Generador aleatorio de instancias de problema.

7. Generador aleatorio de triangulaciones.

8. Generador de instancias de problema para el problema MWT de mayorcomplejidad.

Las publicaciones derivadas de la presente tesis se detallan a continuación:

PUBLICACIONES EN JOURNALS Y LIBROS

• Journal of Heuristics. Approximated algorithms for the MinimumDilation Triangulation Problem. M. G. Dorzán, M. G. Leguiza-món, Efrén Mezura-Montes, G. Hernández Peñalver. DOI 10.1007/s10732-014-9237-2. Print ISSN 1381-1231. Online ISSN 1572-9397. Volu-me 20, Issue 2, Pp: 189-209. Publisher Springer US. 2014.

• Fundamenta Informaticae. Approximations on Minimum WeightTriangulations and Minimum Weight Pseudo-Triangulations usingAnt Colony Optimization Metaheuristic. M. G. Dorzán, E. O. Ga-gliardi, M. G. Leguizamón, G. Hernández Peñalver. ISSN: 0169-2968 (Print), 1875-8681 (Online). Volume 119, number 1, pp 1-27.DOI 10.3233/FI-2012-724. IOS Press. 2012.

• Journal of Computer Science & Technology.Globally optimal trian-gulations of minimum weight using Ant Colony Optimization me-taheuristic. M. G. Dorzán, E. O. Gagliardi, M. G. Leguizamón,G. Hernández Peñalver. ISSN 1666-6038. Vol. 10 - N 2.pp: 47-53.Editorial Iberoamerican Science & Technology Education Consor-tium. 2010.

PARTICIPACIONES EN CONFERENCIAS INTERNACIONALES

• XV Encuentros de Geometría Computacional. Metaheuristic ap-proaches for the Minimum Dilation Triangulation problem. M. G.Dorzán, M. G. Leguizamón, Efrén Mezura-Montes, G. HernándezPeñalver. http://congreso.us.es/ecgeometry/proceedingsECG2013.pdf.Universidad de Sevilla - Sevilla - España. Junio 2013.

Page 28: Metaheurísticas en la resolución de problemas sobre triangulaciones

6 Capítulo 1. Introducción

• XXX International Conference of the Chilean Computer Scien-ce Society. Jornadas Chilenas de Computación. Using ACO me-taheuristic for MWT problem. M. G. Dorzán, E. O. Gagliardi, M.G. Leguizamón y G. Hernández Peñalver. ISBN 978-0-7695-4689-6. Universidad de Talca - Curicó - Chile. Noviembre 2011

• XIV Encuentros de Geometría Computacional. Metaheuristic ap-proaches for MWT and MWPT Problems. M. G. Dorzán, E. O.Gagliardi, M. G. Leguizamón y G. Hernández Peñalver. Publi-cado por Centre de Recerca Matematica (CRM) en sus seriesDocuments. ISSN 2014-2323 (printed edition). ISSN 2014-2331(electronic edition), pág: 79-82. Universidad de Alcalá - Alcalá deHenares - España. Junio 2011.

• VII Jornadas de Matemática Discreta y Algorítmica. Triangula-ciones y Pseudotriangulaciones de Peso Mínimo: resolución apro-ximada con Simulated Annealing. M. G. Dorzán, E. O. Gagliardi,M. G. Leguizamón y G. Hernández Peñalver. ISBN: 978-84-693-3063-0. Universidad de Cantabria - España. Julio 2010.

• I Workshop on Emergent Computing (WEC). Jornadas Chilenasde Computación. Approximations on Minimum Weight Triangu-lations and Minimum Weight Pseudo-Triangulations using AntColony Optimization Metaheuristic. M. G. Dorzán, E. O. Gagliar-di, M. G. Leguizamón, G. Hernández Peñalver. Actas disponiblesen: http://jcc2009.usach.cl. Santiago de Chile - Chile. Noviembre2009.

• XXXV Conferencia Latinoamericana de Informática CLEI. Al-goritmo ACO aplicado a la obtención aproximada de Triangu-laciones de Peso Mínimo. M. G. Dorzán, E. O. Gagliardi, M.G. Leguizamón, G. Hernández Peñalver. ISSN: 2175-9170. ISBN857669247-3, pág: 44 (Abstracts Book). Pelotas - Brasil. Septiem-bre 2009.

• XIII Encuentros de Geometría Computacional. Algoritmos ACOaplicados a problemas geométricos de optimización. M. G. Dorzán,E. O. Gagliardi, M. G. Leguizamón, M. T. Taranilla y G. Hernán-dez Peñalver. ISBN 978-84-9277-41-1. pp 183-190. Universidad deZaragoza - Zaragoza - España. Junio 2009.

Organización de la tesis

La organización del resto del documento es la siguiente:El Capítulo 2 está dedicado a la presentación de la disciplina Geometría

Computacional.

Page 29: Metaheurísticas en la resolución de problemas sobre triangulaciones

1.3. Contribuciones 7

En el Capítulo 3 se presentan las técnicas metaheurísticas utilizadas enla presente tesis.

El Capítulo 4 se dedica a la presentación de los problemas tratados mos-trando el estado del arte de cada uno de los problemas tratados.

En el Capítulo 5 se introducen los conceptos necesarios para la implemen-tación de las estructuras geométricas utilizadas y se presenta la generaciónde instancias de problema utilizadas en la evaluación experimental.

En los Capítulos 6 y 7 se describen y explican las técnicas metaheurís-ticas utilizadas para obtener soluciones a los problemas de Triangulación dePeso Mínimo y Triangulación de Dilación Mínima, incluyendo la evaluaciónexperimental y el análisis estadístico correspondiente, mostrando resultadosy comparaciones con otras técnicas existentes.

Finalmente, en el Capítulo 8, se presentan las conclusiones nales y eltrabajo futuro.

Page 30: Metaheurísticas en la resolución de problemas sobre triangulaciones
Page 31: Metaheurísticas en la resolución de problemas sobre triangulaciones

Capítulo 2

Geometría Computacional

La Geometría Computacional es una disciplina que comienza con el usode la computadora para resolver problemas geométricos, aunque dicho tér-mino apareció por primera vez en 1975 presentado por M. I. Shamos [147].Desde el punto de vista histórico no es fácil determinar los verdaderos co-mienzos de esta disciplina. Se podría decir que su origen se remonta a másde 4000 años ya que en Grecia y Egipto se resolvían problemas geométri-cos en forma constructiva, es decir, algorítmica. Las herramientas de cálculoutilizadas eran básicamente la regla y el compás. Además ocurría que la dis-ciplina tenía un avance lento en su desarrollo teórico debido a que la cantidadde elementos geométricos que trataban los problemas debía ser pequeña pa-ra que pudiera manejarse con los instrumentos disponibles. Era impensabletratar un problema cuya modelización implicara el uso de cientos de objetosgeométricos, más allá de que existiera la solución.

Existen autores que reconocen los comienzos de la Geometría Compu-tacional hace aproximadamente 2000 años cuando se describieron los prime-ros pasos para resolver problemas geométricos [57]. Sin embargo, ha sido alo largo de la segunda mitad del siglo XX, cuando la ciencia relacionada conla construcción y el uso de computadoras se fundió con otras, en principioajenas, para formar nuevas disciplinas.

El término Geometría Computacional aparece relacionado a diferentesconceptos dentro de la geometría antes de que se asociara denitivamente ala denición dada por Shamos. Así, ya se conocían algoritmos geométricosecientes antes del nacimiento ocial de esta disciplina. El trabajo de Graham[69] para el cálculo del cierre convexo en el plano fue presentado en 1972, eincluso se pueden encontrar referencias anteriores en este ámbito.

Los problemas que resuelve la Geometría Computacional son básicamen-te los planteados por la geometría clásica y los añadidos por otros camposde la ciencia y la tecnología. Esta disciplina no es ajena, sino que inclusosirve de base a la Robótica [126], la Informática Gráca, Sistemas de Infor-mación Geográca [155, 55], Diseño y Fabricación asistido por computadora

9

Page 32: Metaheurísticas en la resolución de problemas sobre triangulaciones

10 Capítulo 2. Geometría Computacional

(computer-Aided Design and Manufacturing - CAD/CAM) [7], Cristalografía[144], Ecología [136], entre otras. Además ayuda a realizar de forma automá-tica y eciente tareas como la localización de puntos en mapas, el punto máscercano de un conjunto de destinos posibles, las intersecciones entre elemen-tos de diferentes mapas, evitar obstáculos en el recorrido de un robot, entreotras.

La Geometría Computacional puede denirse como una disciplina que sededica al diseño y análisis de algoritmos que resuelven problemas geométri-cos, haciendo uso de elementos de la matemática y de la computación. Hoyen día, con el uso de la computadora, se pueden manejar grandes volúmenesde datos geométricos y, además, se cuenta con una velocidad de cálculo supe-rior. Esto permitió avanzar notoriamente en el diseño de nuevos algoritmosy estructuras de almacenamiento.

Actualmente se cuenta con suciente literatura relacionada con Geome-tría Computacional, tanto en libros publicados como revistas y actas decongresos. En 1984 aparece el survey de Lee y Preparata [101] y en 1990el de Yao [164] que resumen las diversas interrelaciones de la GeometríaComputacional. En la literatura existe una serie de libros consagrados desdela década de los ochenta como es el de Preparata y Shamos [138] conver-tido en un clásico y que da un repaso exhaustivo a numerosos problemasen el plano y en tres dimensiones. En 1987, Edelsbrunner publica un librocentrado sobre todo en la relación entre Geometría Discreta y GeometríaComputacional [51]. Otro libro importante es el de O'Rourke [128], publica-do en 1987, que presenta un enfoque más didáctico. En 1997 aparece el librode de Berg et al. [39]. Otras publicaciones importantes son la de Boissonat yYvinec [23] y los libros de O'Rourke [129, 130] los cuales pueden considerarsecomo referentes en el área, como así también el reciente libro de Devadoss yO'Rourke [40].

Para nalizar esta sección se indica la estrecha relación entre GeometríaComputacional, Geometría Discreta y Geometría Combinatoria. Para esoconsideremos el siguiente problema presentado como ejemplo por Hurtadoen [78].

Sea K = K1, ...,Kn una familia de conjuntos convexos compactos de Rd,disjuntos de a pares. Si existe una recta que corte a todos estos conjuntos, sedice que es una transversal de dicha familia.

El problema de hallar las condiciones para la existencia de tal transversales un problema típico de la Geometría Discreta. En cambio, si el problemaconsiste en estudiar el número máximo de permutaciones geométricas que sepuede obtener, considerando todas las familias K de cardinal n, éste perte-nece a la Geometría Combinatoria. Por otro lado, si se necesita desarrollarun algoritmo eciente que, para cada familia dada, permita encontrar unatransversal (en caso de que exista), éste es un problema de la GeometríaComputacional. Se debe destacar que esta última labor no se podría realizar

Page 33: Metaheurísticas en la resolución de problemas sobre triangulaciones

2.1. Principales problemas de investigación de la Geometría Computacional11

sin el entendimiento y resolución de las condiciones discretas de existenciay que la complejidad de la solución viene dada del problema combinatoriomencionado; es decir, que el estudio en la Geometría Computacional siempreesta fusionada con las otras dos áreas y no tiene sentido marcar qué partescorresponden a cada geometría. La Geometría Discreta se unicó gradual-mente con la Combinatoria y también con la Geometría Computacional yaque es la subdisciplina más reciente y focalizada en los aspectos algorítmi-cos de los problemas geométricos y de la cual se generan la mayoría de losnuevos problemas como consecuencia de la gran demanda de resultados enlos campos de aplicación.

2.1. Principales problemas de investigación de laGeometría Computacional

Los principales problemas en la Geometría Computacional pueden serclasicados de diferentes formas, considerando diversos criterios. Se puedendistinguir los siguientes tipos: estáticos, de consulta geométrica y dinámicos[81].

2.1.1. Problemas estáticos

Los problemas de esta categoría poseen datos de entrada para los cualesse retorna una respuesta, la cual debe ser construida o encontrada. Algunosproblemas de este tipo son:

Par más cercano: Dado un conjunto de puntos, encontrar los dos puntoscuya distancia sea la mínima.

Cierre convexo (Convex Hull): Dado un conjunto de puntos, encontrarel polígono/poliedro convexo más pequeño que contiene a todos lospuntos.

Intersección de segmentos: Encontrar las intersecciones entre un con-junto de segmentos.

Recorte de polígono: Recortar un polígono con otra forma geométrica,considerando la mínima longitud total de corte.

Triangulación de polígonos: Dado un polígono, particionar su interioren triángulos.

Triangulación de Delaunay de un conjunto de puntos.

Diagrama de Voronoi: Dado un conjunto de puntos, particionar el es-pacio en regiones de acuerdo al punto más cercano.

Page 34: Metaheurísticas en la resolución de problemas sobre triangulaciones

12 Capítulo 2. Geometría Computacional

Camino euclídeo más corto: Conectar dos puntos en el espacio Eucli-deano (con obstáculos poliédricos) a través del camino más corto.

La complejidad computacional de esta clase de problemas se estima en tiem-po y espacio requeridos para resolver una instancia del problema dado.

2.1.2. Problema de consulta geométrica

En los problemas de consulta geométrica, conocido generalmente comoproblemas de búsqueda geométrica, los datos de entrada consisten de dospartes: el espacio de búsqueda y la consulta, la cual varía entre las instanciasdel problema. El espacio de búsqueda necesita ser preprocesado, de maneraque se puedan responder múltiples consultas de manera eciente. Algunosproblemas de consulta geométrica son:

Búsqueda por rango: Preprocesar un conjunto de puntos para poderdeterminar ecientemente la cantidad de puntos dentro de la región deconsulta.

Localización de punto: Dada una partición del espacio en celdas, crearuna estructura de datos que, ecientemente, determine en qué celda seubica el punto de la consulta.

Vecino más cercano: Preprocesar un conjunto de puntos para poderdeterminar de manera eciente el punto más cercano al punto de laconsulta.

Trazado de rayo (Ray tracing): Dado un conjunto de objetos en elespacio, crear una estructura de datos que, ecientemente, determinequé objeto interseca primero con el rayo de búsqueda.

Si el espacio de búsqueda es jo, la complejidad computacional de esta clasede problemas generalmente se estima por medio de:

el tiempo y espacio utilizado para construir la estructura de datos; y

el tiempo (y algunas veces el espacio) para responder las consultas.

2.1.3. Problemas dinámicos

El objetivo de estos problemas es diseñar un algoritmo eciente para en-contrar una solución después de cada modicación de los datos de entrada.Los algoritmos para este tipo de problemas generalmente involucran estruc-turas de datos dinámicas. Todo problema computacional geométrico se puedeconvertir en un problema dinámico. La complejidad computacional de estosproblemas se estima por:

Page 35: Metaheurísticas en la resolución de problemas sobre triangulaciones

2.2. Aplicaciones de la Geometría Computacional 13

el tiempo y espacio necesario para la construcción de la estructura dedatos;

el tiempo y espacio para modicar la estructura de datos después deun cambio incremental en el espacio de búsqueda; y

el tiempo (y algunas veces espacio) para responder las consultas.

2.1.4. Variaciones

Algunos problemas pueden pertenecer a cualquiera de las categorías, enfunción del contexto. Por ejemplo, consideremos el siguiente problema.

Punto en el polígono: Decidir si un punto está dentro o fuera de unpolígono dado.

En muchas aplicaciones, este problema pertenece a la primera clase. Porejemplo, en muchas aplicaciones de grácos por computadora un problemacomún es encontrar qué área de la pantalla fue seleccionada con el mouse.Sin embargo, en algunas aplicaciones el polígono en cuestión es invariable,mientras que el punto representa una consulta. Por ejemplo, el polígono deentrada puede representar una frontera de un país y un punto es una posiciónde un avión, y el problema es determinar si la aeronave viola la frontera. Porúltimo, en aplicaciones CAD, los datos de entrada variables a menudo sealmacenan en estructuras de datos dinámicas que pueden ser explotadospara acelerar las consultas de punto-en-polígono.

2.2. Aplicaciones de la Geometría Computacional

La Geometría Computacional surgió en el campo de diseño y análisisde algoritmos a nes de 1970. Su éxito se debe a los atractivos problemasestudiados y sus correspondientes soluciones obtenidas, y además, por losvariados dominios de aplicación donde los algoritmos geométricos cumplenun papel fundamental. A continuación se presenta una breve descripción dealgunas aplicaciones donde la Geometría Computacional tiene gran inciden-cia.

Reconocimiento de patrones. En el área de reconocimiento de patrones,ya sea en archivos de sonido o imagen, el problema consiste en identicar oreconocer formas o patrones conocidos. Se desarrollaron numerosas técnicas(envolventes convexas, envolventes alfa y diferentes métodos de agrupaciónde datos) que sirven de soporte para dicho proceso.

Page 36: Metaheurísticas en la resolución de problemas sobre triangulaciones

14 Capítulo 2. Geometría Computacional

Clasicación. Los problemas de clasicación pretenden, en general, en-contrar métodos automáticos para clasicar nuevos datos a partir de unacolección de datos previamente conocidos. En numerosas ocasiones, el pro-blema se reduce a localizar el nuevo dato, empleando diferentes criterios deproximidad, en una subdivisión del espacio de los datos generada por losdatos iniciales. Los diagramas de Voronoi, en sus diferentes versiones, suelenser una herramienta útil para dicho proceso.

Robótica. El campo de la robótica estudia el diseño y uso de robots. Co-mo los robots son objetos geométricos que operan en un espacio tridimensio-nal, los problemas geométricos surgen en varias aplicaciones. La GeometríaComputacional tiene su aplicación en la planicación de movimientos y en elensamblaje automático. Con respecto a la planicación de movimientos, unrobot debe encontrar un camino en un ambiente con obstáculos. El robot semodela generalmente como un punto, un disco o un polígono en dos dimensio-nes, o bien como un poliedro en tres dimensiones que se mueve en el espacioentre una colección de obstáculos. Generalmente, se trata de encontrar latrayectoria más corta entre dos puntos sin colisionar con los obstáculos. Elensamblaje automático es un caso especial del problema de planicación demovimientos en el que se considera una colección de objetos y se trata de se-pararla en partes y determinar qué tipo de movimientos (giros, traslaciones,etc.) garantiza dicha separación.

Galerías de Arte. Una galería de arte puede ser modelada en el planocomo un polígono simple. Un problema a considerar es la vigilancia del in-terior colocando guardias en sus vértices. Se trata de optimizar el númerode guardias para tal n. Este problema se puede extender a la ubicación deguardias por arista, vigilancia externa por vértices y/o aristas, guardias quevigilan guardias, etc. También se pueden especializar los casos por tipos depolígonos, caracterizándolos por su forma: escaleras, ortogonales, entre otros.Además todos estos problemas pueden interpretarse también en términos deiluminación de recintos en lugar de vigilancia.

Localización automática de servicios. La ubicación de servicios conlle-va a problemas de optimización geométrica en general. Si se trata de serviciosque requieren proximidad, como hospitales, ocinas de correos, farmacias,etc., se pretende minimizar la mayor de las distancias del servicio a los pun-tos que se quieren atender. Esto equivale a encontrar el centro del menorcírculo que contiene a los puntos a cubrir. Por el contrario, si el servicio esnocivo y se requiere, por tanto, alejar lo más posible de una serie de puntos deinterés, se trata de escoger el centro del mayor círculo vacío, es decir, que nocontenga a ningún punto. Este tipo de problemas tiene interés tanto en car-tografía e ingeniería civil y estratégica, como en situaciones aparentemente

Page 37: Metaheurísticas en la resolución de problemas sobre triangulaciones

2.2. Aplicaciones de la Geometría Computacional 15

muy diferentes como puede ser el diseño de circuitos.

Interfaces grácas. Las interfaces grácas subdividen la pantalla en re-giones de modo que cada una está asociada a una acción. Por ejemplo, lalocalización del cursor en la subdivisión correspondiente es una tarea impor-tante que se ejecuta muchas veces y que es preciso realizar rápidamente paraobtener respuesta en tiempo real al mover el mouse. Se dispone de algorit-mos ecientes para localizar puntos en subdivisiones planas, lo que permiteresolver el problema de forma adecuada, aún cuando el número de regionessea elevado o posea una forma complicada.

Optimización de redes. El diseño de redes de comunicaciones tambiénda lugar a problemas de optimización geométrica. Las triangulaciones deDelaunay se emplean a menudo para diseñar redes en las que los nodos máspróximos estén conectados entre sí. La triangulación de Delaunay es, de todaslas triangulaciones de un conjunto de puntos, la que maximiza el menorángulo posible. Es decir, el menor de los ángulos de todos los triánguloses lo mayor posible. Esta propiedad hace que las aristas conecten puntospróximos. Un subgrafo importante de la triangulación de Delaunay es elÁrbol Generador Mínimo (Minimum Spanning Tree - MST), que representala red que conecta los nodos con la menor cantidad de cable.

Diseño de circuitos. En el diseño de las máscaras que intervienen en uncircuito se emplean, generalmente, regiones determinadas por rectángulos.El número de rectángulos que intervienen es muy elevado. Una de las tareasconsiste en vericar si el diseño cumple las condiciones necesarias para sucorrecto funcionamiento. Algunas de ellas corresponden a condiciones geomé-tricas, en particular de distancias mínimas entre las regiones determinadaspor la unión de los rectángulos que denen las diferentes máscaras. Ademáses imprescindible disponer de algoritmos ecientes para el análisis de objetosgeométricos.

Síntesis de imágenes. La síntesis de imágenes es una de las ramas másactivas de la Informática Gráca. En la mayoría de los casos, las imágenesse forman a partir de un gran número de elementos geométricos sencillos. Elproblema consiste en estructurarlos adecuadamente para que las operacionesque posteriormente se desean realizar sobre ellos se puedan hacer empleandola menor cantidad de recursos posible. La Geometría Computacional aportatanto estructuras de datos como algoritmos adecuados para la manipulaciónde dicha información geométrica.

Diseño Asistido por Computadora (Computer-Aided Design - CAD)y Fabricación Asistida por Computadora (Computer-Aided Manu-

Page 38: Metaheurísticas en la resolución de problemas sobre triangulaciones

16 Capítulo 2. Geometría Computacional

facturing - CAM). CAD es el diseño de productos usando una compu-tadora. Los productos pueden variar desde un circuito impreso hasta mue-bles. En todos los casos el producto resultante es una entidad geométricay por lo tanto, pueden surgir problemas geométricos. El diseño asistido porcomputadora debe tratar con intersecciones y uniones de objetos, con des-composición de objetos y obtención de fronteras de la forma más simple,así como la visualización de los productos diseñados. Una vez un objeto seha diseñado y probado, tiene que ser fabricado. Y aquí aparece CAM, quetambién involucra muchos problemas geométricos.

Bases de datos espaciales. En diferentes campos surgió la necesidadde manejar datos geométricos, geográcos o espaciales; esto signica datosrelativos al espacio. Estos datos consisten en puntos, líneas, rectángulos,polígonos, etc. y habitualmente están relacionados a lo que se conoce comoatributos o datos no espaciales. El dominio de aplicación de estos tipos dedatos y de las bases de datos que los manipulan es muy amplio (sistemas deinformación geográca, CAD/CAM, sistemas de información de ingeniería,monitoreo ambiental, planeamiento urbano y bases de datos de imágenes,entre otras).

Sistemas de Información Geográca (Geographic Information Sys-tem - GIS). Un GIS almacena datos geográcos tales como la forma de unpaís, el curso de ríos, la altura de montañas, además de la localización de ciu-dades, la representación de rutas, de líneas de trenes, de tendidos eléctricos,etc. Un GIS puede usarse para recuperar información acerca de regiones yrelaciones entre diferentes tipos de datos. La mayoría de la información geo-gráca se reere a propiedades de puntos y regiones en la supercie terrestre,los cuales se relacionan con varios problemas geométricos.

Grácos por computadora. Temas de investigación geométrica en grá-cos incluyen estructuras de datos para el trazado de rayos, recorte y radiosi-dad, algoritmos de eliminación de supercie oculta, simplicación automáticade objetos distantes, transformaciones, clustering para la cuanticación decolor, conversión de supercies trianguladas a conjuntos de triángulos (al-gunos motores grácos toman este tipo de entradas para ahorrar ancho debanda), y la construcción de conjuntos de puntos de baja discrepancia (porsobremuestreo para eliminar los efectos Moire en el trazado de rayos).

Realidad virtual. Se focaliza en la generación en tiempo real de vistastridimensionales de escenas dinámicas. Esto es similar a la programaciónde videojuegos, pero con un mayor énfasis en la representación exacta ymodelado físico. Los problemas de interés son la simplicación de los objetosy detección de colisiones.

Page 39: Metaheurísticas en la resolución de problemas sobre triangulaciones

2.3. Triangulaciones y medidas de calidad 17

Programación de videojuegos. Está muy relacionada con grácos porcomputadora, pero tiene necesidades especiales (a menudo la velocidad esmucho más importante que la verosimilitud). Por lo tanto, en lugar de utilizartécnicas de grácos lentas pero precisas, los motores de videojuegos estánbasados en técnicas más simples tales como la fundición de rayos, el uso departiciones espacio binarias como estructura primaria de datos geométricos.

2.3. Triangulaciones y medidas de calidad

El problema de triangular un conjunto de puntos en el plano ha sidoestudiado durante las últimas décadas y es considerado como uno de losproblemas más importantes en la Geometría Computacional.

A continuación se presentan las deniciones de triangulación de un con-junto de puntos y de un polígono que se han adoptado en la presente tesisconsiderando que se ha trabajado en dos dimensiones.

Definición 2.1 (Triangulación de un conjunto de puntos): Dado un con-junto S de puntos en el plano, una triangulación de S, T (S), es un conjuntomaximal de segmentos cuyos extremos son los puntos de S y tales que, dossegmentos cualesquiera no se cortan en puntos interiores de ellos.

Definición 2.2 (Triangulación de un polígono): Dado un polígono P , unatriangulación de P , T (P ), es una subdivisión de su interior en triángulos, talque los vértices del polígono son vértices de los triángulos y viceversa 1.

En la Figura 2.1 se puede ver un ejemplo de cada una de ellas.

(a) (b)

Figura 2.1: Ejemplos de triangulaciones de (a) un conjunto de puntos y (b)un polígono.

Cuando se habla de un conjunto de puntos, se reere a un conjunto depuntos en posición general, es decir, no existen tres puntos del conjunto

1Se denomina diagonales a los lados de los triángulos (de cualquier triangulación deP ) que no son lados de P .

Page 40: Metaheurísticas en la resolución de problemas sobre triangulaciones

18 Capítulo 2. Geometría Computacional

colineales (que se encuentren en la misma línea recta) y no existen cuatropuntos del conjunto cocirculares (que se encuentren en el mismo círculo).Esta suposición se realiza comúnmente para evitar degeneraciones.

2.3.1. Aspectos combinatorios

Sean S un conjunto de n puntos en el plano y k la cantidad de puntosque se encuentran en el cierre convexo de S. Toda triangulación de S tieneexactamente 2n − k − 2 triángulos y 3n − k − 3 aristas. Esto se demuestrautilizando la Fórmula de Euler. Sean n el número de vértices, q el númerode aristas, r el número de regiones y k el número de vértices en el cierreconvexo. El teorema de Euler plantea que en todo grafo conexo y plano queesté apropiadamente representado se verica que el número de regiones másel de vértices menos el de aristas es igual a 2, es decir, n + r − q = 2. Parael caso particular de las triangulaciones se puede decir que la cantidad deregiones es igual a la cantidad de triángulos t más la región exterior, es decir,r = t + 1 y considerando la cantidad de aristas por triángulo se tiene que3t = 2q − k. Por lo tanto,

2n− 2q + 2r = 4

2n− (3t+ k) + 2t+ 2 = 4

2n− t− k = 2

Luego se obtiene que t = 2n− k − 2 y q = 3n− k − 3.La Figura 2.2 muestra dos triangulaciones diferentes para el mismo con-

junto de puntos con n = 9, k = 6. Ambas triangulaciones poseen 3n−k−3 =18 aristas y 2n− k − 2 = 10 triángulos.

(a) (b)

Figura 2.2: Dos triangulaciones diferentes de un mismo conjunto de puntoscon igual cantidad de triángulos y aristas.

Generalmente es imposible utilizar una fórmula para contar el númerototal de triangulaciones posibles de un conjunto de puntos. Existen familiasde conjuntos de n puntos para los cuales sí es posible encontrar dicha fórmula.Tal es el caso de los conjuntos cuyos puntos se encuentran en posición convexa

Page 41: Metaheurísticas en la resolución de problemas sobre triangulaciones

2.3. Triangulaciones y medidas de calidad 19

donde el número de maneras distintas de triangularlo es igual al (n−2)-ésimonúmero de Catalán, es decir: tn = Cn−2 = 1

n−1

(2n−4n−2

).

No ocurre lo mismo para el número de triangulaciones de un conjuntocualquiera de puntos en el plano. Sean Tr(n) el máximo número de trian-gulaciones para un conjunto de n puntos en el plano en posición general ytr(n) el mínimo número de triangulaciones para el mismo conjunto. En 2006,Sharir y Welzl [151] mostraron que Tr(n) ≤ 43n, pero luego en 2009 estacota fue mejorada a Tr(n) < 30n por Sharir et al. [149]. En 2011, Shariret al. [150] mostraron que tr(n) > 2,4317n. Por ejemplo, sea t la cantidadde triangulaciones diferentes para un conjunto de 20 puntos (n = 20), luego52263669 ≈ 2,431720 < t < 3020 ≈ 3,48 · 1029

2.3.2. Triangulaciones interesantes

Con frecuencia interesa calcular triangulaciones con propiedades especia-les. Tal es el caso de la Triangulación de Delaunay (Delaunay Triangulation- DT), la cual satisface varias propiedades interesantes.

Definición 2.3 (Triangulación de Delaunay): Dado un conjunto S de pun-tos en el plano, la Triangulación de Delaunay de S, DT(S), está formada portodos los triángulos con vértices en S tal que sus círculos circunscriptos nocontienen puntos de S.

La Triangulación de Delaunay cumple con las siguientes propiedades:

Vecino más cercano: Cada punto está conectado por una arista a susvecinos más cercanos de modo que todas las aristas son bordes detriángulos y no se intersecan entre ellas.

Cierre convexo: La cara exterior de la DT(S) es el cierre convexo delconjunto de puntos [122].

Círculo vacío: Los puntos pi y pj están conectados por una arista en laDT(S), si y sólo si, existe un círculo vacío que pasa por pi y pj [122].

Ángulo mínimo: Maximiza el ángulo mínimo de todos los ángulos dela triangulación y tiende a evitar los triángulos delgados [122].

Radio máximo circunscripto: Minimiza el radio máximo de todos losradios de la triangulación [142].

El diagrama de Voronoi de un conjunto de puntos S, Vor(S), es unasubdivisión del plano en un conjunto de regiones de modo que, cada regiónde Voronoi ri contiene todas las posiciones más cercanas a ri que a cualquierotro punto de S.

Page 42: Metaheurísticas en la resolución de problemas sobre triangulaciones

20 Capítulo 2. Geometría Computacional

Los diagramas de Voronoi son estructuras geométricas muy útiles y hansido redescubiertas en numerosas ocasiones en diferentes campos cientícos.Por lo tanto existen variadas denominaciones: polígonos de Thiesen, polígo-nos de Dirichlet, zonas de inuencia, regiones de proximidad, entre otras.

El diagrama de Voronoi es el grafo dual de la Triangulación de Delau-nay, ya que existe una arista entre dos puntos en DT(S), si y sólo si, susregiones de Voronoi comparten una arista. Esta relación entre la Triangula-ción de Delaunay y el diagrama de Voronoi de un conjunto de puntos es unadualidad punto-región y arista-arista. Se puede asociar a cada vértice de latriangulación su correspondiente región de Voronoi. De forma análoga, cadatriángulo de la triangulación se corresponde con su circuncentro, que es pre-cisamente un vértice del diagrama de Voronoi. Por su parte, cada arista deldiagrama de Voronoi, determina una arista de la triangulación de Delaunay.Esta dualidad, como muchas otras, permite resolver diferentes problemascon las mismas técnicas. A partir de este descubrimiento, hablar de diagra-mas de Voronoi o de triangulaciones de Delaunay, es hablar de la mismaestructura en lenguajes diferentes. Las propiedades de una se transformanen propiedades de la otra.

La Triangulación de Delaunay se puede calcular en tiempo O(n log n) yespacio O(n) utilizando varios métodos: plane sweep, divide y vencerás, entreotras [61].

Otra triangulación, conocida en el campo de la Geometría Computacio-nal, es la Triangulación Greedy (Greedy Triangulation - GT), la cual secaracteriza por su fácil construcción.

La Triangulación Greedy de un conjunto S de puntos en el plano, GT(S),se construye con el siguiente algoritmo:

1. Se colocan en una lista todas las posibles aristas entre los pares depuntos de S.

2. Se ordenan las aristas de dicha lista en forma ascendente de acuerdo ala longitud de la arista.

3. Mientras la lista no quede vacía, se agrega la primera arista a de la listaen la triangulación actual, y se eliminan de la lista todas las aristas queintersequen con la arista a.

La Figura 2.3 muestra un ejemplo de construcción de la TriangulaciónGreedy. Si dos o más distancias entre pares de puntos en S son exactamenteiguales, la Triangulación Greedy no es necesariamente única.

Page 43: Metaheurísticas en la resolución de problemas sobre triangulaciones

2.3. Triangulaciones y medidas de calidad 21

Figura 2.3: Ejemplo de construcción de la Triangulación Greedy.

Page 44: Metaheurísticas en la resolución de problemas sobre triangulaciones

22 Capítulo 2. Geometría Computacional

En la Figura 2.4 se muestra un ejemplo de cada una de las conguracionesgeométricas mencionadas.

(a) (b)

(c)

Figura 2.4: Ejemplos de (a) triangulación de Delaunay, (b) triangulaciónGreedy y (c) diagrama de Voronoi junto con la triangulación de Delaunaypara el mismo conjunto de puntos.

2.3.3. Optimización en triangulaciones

Las triangulaciones con características y propiedades especiales tienen suaplicación en computación gráca, aproximación de terrenos, análisis multi-variable, métodos numéricos, generación de mallas, entre otras. Calcular unatriangulación con propiedades especícas suele ser un problema no trivial yaque su complejidad proviene del número de triangulaciones posibles de unconjunto de puntos.

Considerando los problemas que optimizan ciertas medidas sobre trian-gulaciones, se buscan algoritmos que se ejecuten en tiempo polinomial y quesean capaces de seleccionar o construir una triangulación con ciertas propie-dades entre la cantidad exponencial de candidatos posibles.

Existen criterios de optimización basados en la longitud de aristas, án-gulos, áreas y otros elementos individuales de los triángulos de una triangu-lación [153]. Considerando estos criterios, surgen algunos tipos de triangula-

Page 45: Metaheurísticas en la resolución de problemas sobre triangulaciones

2.3. Triangulaciones y medidas de calidad 23

ciones [97]:

Triangulaciones que optimizan ángulos: Para alcanzar este objetivo,se puede maximizar el ángulo mínimo de los triángulos (Triangulaciónde Delaunay [8]), minimizar el ángulo máximo [127], minimizar el án-gulo mínimo [54], maximizar la suma de los ángulos [53] o minimizarla máxima excentricidad [17, 18] y las combinaciones o derivacionesde estos criterios. La triangulación más conocida de esta clase es latriangulación de Delaunay.

Triangulaciones que optimizan longitudes de aristas: Esta clase es me-nos utilizada en la práctica debido a la alta complejidad de sus algorit-mos ya que excede los límites de usabilidad al trabajar con conjuntosde gran cantidad de puntos. Se puede minimizar la suma de las aristas(Triangulación de Peso Mínimo , maximizar la mínima altura de trián-gulo (distancia euclídea entre un vértice a su arista opuesta)) [127, 17],minimizar la máxima longitud de arista [52].

Existen razones prácticas que dictan la preferencia de una triangulaciónóptima sobre otra para un objetivo especíco. Por lo tanto, los criteriosde optimización están conectados a las medidas de calidad, la cual es unafunción que permite cuantitativamente comparar dos triangulaciones. Puedeser cualquier función razonable o una composición de funciones.

Se pueden considerar los siguientes problemas: MinMax y MaxMin. Elprimero dene la optimización sobre todas las triangulaciones posibles delconjunto de puntos dado, y el segundo especica la optimización dentro delos respectivos elementos (aristas, ángulos, triángulos) de una triangulaciónparticular. Considerando estos dos tipos de problemas es necesario deniralgunos conceptos.

Definición 2.4 (Arista localmente óptima): Sea T una triangulación delconjunto S de puntos, e una arista interna de T y Q un cuadrilátero formadopor dos triángulos que tienen en común la arista e. La arista e es localmenteóptima si se cumple una de las siguientes condiciones:

Q no es convexo.

Q es convexo y T es mejor que T ′, donde T ′ se obtiene reemplazandoe por la otra diagonal del cuadrilátero.

Definición 2.5 (Triangulación localmente óptima): La triangulación T deun conjunto S de puntos es localmente óptima, respecto a un criterio dado, sitodas las aristas de T son localmente óptimas con respecto al mismo criterio.

Las triangulaciones localmente óptimas pueden ser construidas utilizandoel procedimiento de intercambio local de aristas (ip) propuesto en [100] (ver

Page 46: Metaheurísticas en la resolución de problemas sobre triangulaciones

24 Capítulo 2. Geometría Computacional

Figura 2.5). Cuando una arista no es localmente óptima se reemplaza por laotra diagonal del cuadrilátero Q.

(a) (b)

(c)

Figura 2.5: Se muestra una triangulación (a) sobre la cual se realiza un ipsobre la arista verde y se muestra la triangulación resultante (b). En (c) semuestra una arista ilegal (en rojo) a la cual no se le puede realizar un ip.

Law [100] probó que dicho procedimiento necesita un número nito depasos para converger a un óptimo local (O(n2) ips en el peor caso y O(n)es el caso esperado).

Definición 2.6 (Triangulación globalmente óptima): La triangulación glo-balmente óptima de un conjunto S de puntos, con respecto a algún criterio, esla triangulación T que optimiza dicho criterio entre todas las triangulacionesposibles de S.

Las triangulaciones globalmente óptimas, en la mayoría de los casos, sondifíciles de encontrar ya que la optimalidad local no garantiza optimalidadglobal.

Para un criterio dado, se debe estar seguro que el criterio global no estambién el criterio local. Por ejemplo, en la triangulación de Delaunay, elcriterio local de maximización del mínimo ángulo de cada triángulo es tam-bién maximización global del mínimo ángulo de la triangulación completa.Sin embargo, esta identidad es una excepción en vez de ser una regla.

Page 47: Metaheurísticas en la resolución de problemas sobre triangulaciones

2.4. Complejidad computacional 25

2.4. Complejidad computacional

A continuación, se introduce el concepto de problema NP-duro debido aque la mayoría de los problemas de optimización en Geometría Computacio-nal se encuadran dentro de esta categoría.

Para evaluar la complejidad computacional de un algoritmo se utiliza elnúmero de instrucciones o de operaciones en función del tamaño de los datosentrada. De esa forma, el análisis es independiente de la arquitectura de lacomputadora y del lenguaje de programación utilizados.

El estudio de la complejidad de un algoritmo puede llevarse a cabo prin-cipalmente bajo dos puntos de vista: complejidad en el peor de los casos ycomplejidad media o esperada. La primera consiste en medir la complejidaddel algoritmo teniendo en cuenta cómo se comporta la ejecución cuando elalgoritmo trata los datos del problema en el caso más desfavorable, enten-diéndose por desfavorable al más costoso. La segunda consiste en medir lacomplejidad haciendo un promedio entre todos los casos, favorables y nofavorables, teniendo en cuenta la probabilidad de que aparezcan como en-trada. Para ello se supone que los datos de entrada vienen dados conformea cierta distribución de probabilidad y se estudia cuál es el tiempo esperadode ejecución.

Si n es el tamaño del conjunto de datos de entrada de un determinadoalgoritmo, sus complejidades en tiempo y en espacio son funciones positivasde n y, en cuanto a su análisis, nos interesa su comportamiento asintótico,es decir, saber cómo se comportan para valores grandes de n. El análisisasintótico muestra el comportamiento de un algoritmo cuando el tamaño dela entrada se aproxima a innito.

La notación que se utilizará es la siguiente. Si f(n) y g(n) dos funcionespositivas se dice que:

Cota superior asintótica: f es O Grande de g y se denota f(n) =O(g(n)) si existen c y n0 constantes positivas tales que para todo n0 ≤n; 0 ≤ f(n) ≤ c · g(n).

Cota inferior asintótica: f es Omega de g y se denota f(n) = Ω(g(n))si existen c y n0 constantes positivas tales que para todo n0 ≤ n; 0 ≤c · g(n) ≤ f(n). Es decir que g(n) = O(f(n)).

Cota ajustada asintótica: f es Theta de g y se denota f(n) = Θ(g(n))si existen c1, c2 y n0 constantes positivas tales que para todo n0 ≤n; 0 ≤ c1 · g(n) ≤ f(n) ≤ c2 · g(n). Es decir que f(n) = O(g(n)) yf(n) = Ω(g(n)).

La complejidad de un algoritmo conocido para resolver un problema dauna idea de cuán costoso es resolver ese problema. Los algoritmos que tienencomplejidad O(n) se denominan de orden lineal. Los problemas que tienen

Page 48: Metaheurísticas en la resolución de problemas sobre triangulaciones

26 Capítulo 2. Geometría Computacional

una solución con complejidad de orden lineal son los problemas que se re-suelven en un tiempo que se relaciona linealmente con su tamaño.

Un algoritmo tiene complejidad de orden polinomial si tiene orden deO(nm). Los problemas que se resuelven con algoritmos de esta complejidadse denominan problemas tratables, es decir, es posible resolverlos mediantealgoritmos que tienen como máximo una complejidad o costo computacionalpolinómico. En este caso, la relación entre el tamaño del problema y sutiempo de ejecución es polinómica.

Cuando el tiempo de ejecución de un algoritmo crece exponencialmenterespecto del tamaño de los datos de entrada, se dice que tiene una com-plejidad de orden exponencial (O(2n)). Las soluciones que insumen tiempoexponencial no son útiles en la práctica. Los problemas que pueden ser re-sueltos en teoría, pero no en práctica, se denominan problemas intratables.Los problemas intratables incluyen aquellos cuya solución tiene complejidadde tiempo exponencial.

2.4.1. Problemas de decisión y clases de complejidad

La mayoría de los problemas en teoría de complejidad están relacionadoscon problemas de decisión. Un problema de decisión es un problema cuyarespuesta es positiva o negativa. Este tipo de problemas es de importancia yaque casi todo problema puede ser transformado en un problema de decisión.Los problemas de decisión se clasican en conjuntos de complejidad compa-rables denominados clases de complejidad. La teoría de NP-completitud [64]distingue dos clases: la clase P, que contiene los problemas que pueden serresueltos en tiempo polinomial en una computadora determinística y la claseNP, que contiene los problemas que pueden ser resueltos en tiempo polino-mial en una computadora no determinística. A partir de las deniciones esposible concluir que P ⊆ NP. Sin embargo, la pregunta ¾es P = NP? noha podido ser respondida en más de 30 años. Continúa siendo una preguntaabierta aunque se cree que P 6= NP, constituyendo la principal conjetura dela teoría de la computación en la actualidad.

Se dene un problema como NP-duro si todo problema en NP puede sertransformado en él mediante un algoritmo de tiempo polinomial. A partir dela denición, resulta natural que los problemas NP-duros son por lo menostan difíciles como cualquier problema en NP. Sin embargo, es convenienteremarcar que los problemas NP-duros no tienen porque pertenecer a la claseNP. Para los problemas que son NP-duros y pertenecen a NP se utiliza eltérmino NP-completo. Evidentemente, si se pudiera encontrar un algoritmode tiempo polinomial para resolver un problema NP-completo, todos los pro-blemas NP-completos podrían ser resueltos en tiempo polinomial utilizandolas correspondientes transformaciones. En ese caso, se podría concluir que P= NP.

Page 49: Metaheurísticas en la resolución de problemas sobre triangulaciones

2.4. Complejidad computacional 27

En la Figura 2.6 se muestra la relación entre las clases de problemas P,NP y NP-completos si P 6= NP.

Figura 2.6: Problemas P, NP y NP-completos.

La pertenencia de un problema a la clase P, es decir, la existencia de unalgoritmo de tiempo polinomial para su resolución, se asocia a la posibilidadde ser resuelto en la práctica. En contraposición, la pertenencia de un pro-blema a la clase NP-dura y por tanto la inexistencia de un algoritmo que loresuelva en tiempo polinomial, se asocia a la imposibilidad de ser resuelto entiempo razonable al considerarse instancias de tamaño creciente.

En particular, en este trabajo se tratan dos problemas sobre triangu-laciones. Uno de ellos considera como medida de calidad a la suma de laslongitudes de las aristas donde el criterio de optimización es minimizar dichasuma. A este problema se lo conoce como Triangulación de Peso Mínimo(Minimum Weight Triangulation - MWT). En 2006, Mulzer y Rote [124]demostraron que calcular la triangulación de peso mínimo es un problemaNP-duro. El otro problema considera como medida de calidad al máximo detodas las razones entre la distancia del camino más corto y la distancia euclí-dea entre todos pares de vértices donde también el criterio de optimizaciónes minimizar dicho máximo. A este problema se lo conoce como Triangula-ción de Dilación Mínima (Minimum Dilation Triangulation - MDT). Paraeste problema todavía no se conoce un algoritmo que lo resuelva en tiempopolinomial y tampoco se demostró que pertenezca a la clase NP.

Page 50: Metaheurísticas en la resolución de problemas sobre triangulaciones
Page 51: Metaheurísticas en la resolución de problemas sobre triangulaciones

Capítulo 3

Metaheurísticas

Los problemas de optimización combinatoria consisten en la obtención deun elemento de un conjunto nito o innito enumerable, que sea óptimo parala minimización o maximización de un cierto criterio. Este tipo de problemases interesante debido a su aplicación a problemas reales y la simplicidad desu formulación. El desarrollo de la Ciencia de la Computación contribuyóconsiderablemente al progreso en la resolución de problemas de optimizacióncombinatoria, al permitir implementar computacionalmente algoritmos queobtengan una solución en tiempo razonable.

Actualmente, una de las temáticas que despierta interés es el estudio delos problemas de optimización combinatoria del tipo NP-duro. Para los pro-blemas NP-duros no se conocen, y muy probablemente no existan, algoritmosexactos para su resolución en tiempo polinomial. Ante esta dicultad, unaalternativa, es utilizar técnicas de solución heurísticas que, aunque no ga-rantizan obtener la solución óptima de un problema, encuentran solucionescercanas a la óptima en forma eciente. Las metaheurísticas son esquemasgenerales de heurísticas que permiten abordar un amplio espectro de proble-mas adaptándose a las particularidades de cada problema.

En los últimos años, la investigación en metaheurísticas creció en formasustancial, sustentada en los buenos resultados obtenidos como consecuenciade la aplicación de esas técnicas a problemas de optimización.

En este capítulo se presentan las nociones elementales de optimizacióncombinatoria y de las técnicas metaheurísticas que sirven de sustento parael resto de este trabajo.

3.1. Optimización combinatoria

Se puede encontrar una gran cantidad de problemas de optimización,tanto en la industria como en la ciencia. Desde los clásicos problemas dediseño de redes de telecomunicación u organización de la producción hastalos más actuales en ingeniería y re-ingeniería de software, existe una innidad

29

Page 52: Metaheurísticas en la resolución de problemas sobre triangulaciones

30 Capítulo 3. Metaheurísticas

de problemas teóricos y prácticos que involucran a la optimización.En un problema de optimización existen diferentes soluciones, un criterio

para diferenciar dichas soluciones y el objetivo es encontrar la mejor. Muchosproblemas de optimización de importancia teórica y/o práctica consisten enla búsqueda de una mejor conguración de un conjunto de variables paralograr ciertos objetivos.

Los problemas se dividen naturalmente en dos categorías: aquellos dondelas soluciones son codicadas con un valor real de las variables, y aquellos cu-yas soluciones están codicadas con variables discretas. Entre estos últimos,encontramos una clase de problemas llamados problemas de optimizacióncombinatoria los cuales consisten en la obtención de un elemento óptimo deun conjunto nito (o posiblemente de un conjunto innitamente enumera-ble) de soluciones posibles [20]. Este objeto puede ser un número entero, unsubconjunto de ellos, una permutación, una estructura de grafo, etc.

Un elemento se considera óptimo en el sentido que satisface un ciertocriterio. Para poder medir la satisfacción de dicho criterio, se introduce lanoción de función objetivo la cual se pretende minimizar o maximizar.

Formalmente, un problema de optimización combinatoria Π se corres-ponde con la tupla (S, f,Ω) siendo S el espacio de soluciones, f la funciónobjetivo que asigna valores f(s) a s ∈ S y Ω un conjunto de restricciones[19]. El conjunto de las soluciones factibles o espacio de búsqueda, SΩ, estáformado por aquellas soluciones que cumplen las restricciones Ω.

Los problemas de optimización combinatoria pueden ser de minimizacióno maximización de la función objetivo (estos últimos pueden ser transforma-dos fácilmente en una minimización negando la función objetivo). Resolverun problema de optimización combinatoria, en el caso de una minimización(de aquí en adelante, se asume el caso de minimización), corresponde a en-contrar una solución factible s∗ ∈ S tal que: f(s∗) ≤ f(s),∀s ∈ SΩ.

Es posible que el problema de optimización combinatoria no tenga unaúnica función objetivo sino varias, resultando así los problemas de optimiza-ción multiobjetivo. Este tipo de problemas sólo se nombra ya que no formanparte del trabajo de esta tesis, y por lo tanto, se hablará sólo de problemasde optimización mono-objetivo.

Otros conceptos vinculados a la resolución de problemas de optimizaciónson vecindad y mínimo local.

Definición 3.1 (Vecindad): Una estructura de vecindad es una función N :S → 2S que asigna a cada solución s ∈ S un conjunto de vecinos N(s) ⊆ S.Se dice que N(s) es la vecindad de la solución s.

Definición 3.2 (Mínimo local): Una solución s+ es un óptimo (mínimo)local con respecto a una estructura de vecindad N(s+) si ∀s ∈ N(s+) secumple f(s+) ≤ f(s).

Page 53: Metaheurísticas en la resolución de problemas sobre triangulaciones

3.1. Optimización combinatoria 31

En la Figura 3.1 se pueden observar 3 óptimos locales donde uno de elloses el óptimo global. También puede ocurrir que un problema tenga variassoluciones óptimas globales.

Figura 3.1: Óptimos locales y óptimo global en un espacio de búsqueda.

La introducción de la estructura de vecindad permite denir el conceptode soluciones que son óptimos (mínimos) locales. Las soluciones que sonóptimos locales, pueden ser vistos como las mejores soluciones dentro deuna región acotada del espacio de búsqueda.

Los problemas de optimización combinatorios pueden ser estáticos o di-námicos. Los estáticos se caracterizan por estar completamente denidos apriori, conociéndose el dominio de las variables de decisión, el conjunto derestricciones y la función objetivo antes de su resolución y manteniéndoseinalteradas durante la resolución del problema. Por el contrario, los pro-blemas dinámicos presentan características que se modican mientras estásiendo resuelto. Las modicaciones pueden incluir cambios en los dominiosde las variables de decisión, en el conjunto de restricciones y/o en la funciónobjetivo. En esta tesis sólo se tratará con problemas estáticos.

Los problemas de optimización combinatoria están presentes en diversoscampos como la economía, el comercio, la ingeniería, la industria o la medi-cina. Sin embargo, a menudo estos problemas son muy difíciles de resolveren la práctica. Muchos de ellos pertenecen a la clase de problemas NP-duros.En la actualidad, siguen apareciendo nuevos problemas de este tipo, lo queha dado lugar a muchas propuestas de algoritmos para tratar de resolverlos.

Los algoritmos existentes se pueden clasicar básicamente en dos: exac-tos y aproximados. Los algoritmos exactos intentan encontrar una soluciónóptima y demostrar que la solución obtenida es de hecho la óptima global;estos algoritmos incluyen técnicas como, por ejemplo: procesos de vueltaatrás (backtracking), ramicación y acotación (branch and bound), progra-mación dinámica, etc. [134, 27]. Debido a que los algoritmos exactos puedenmostrar un pobre rendimiento para muchos problemas, se han desarrollado

Page 54: Metaheurísticas en la resolución de problemas sobre triangulaciones

32 Capítulo 3. Metaheurísticas

varios tipos de algoritmos aproximados que proporcionan soluciones de al-ta calidad (soluciones con valores de función objetivo relativamente buenos,aunque no necesariamente sean óptimas) para estos problemas combinatoriosen un tiempo computacional razonable. Los algoritmos aproximados, se pue-den clasicar a su vez en dos tipos principales: los algoritmos constructivosy los algoritmos de búsqueda local. Los primeros se basan en la generaciónde soluciones añadiendo componentes a cada solución paso a paso. Un ejem-plo bien conocido son las heurísticas de construcción voraz (greedy) [27]. Sugran ventaja es la velocidad, ya que normalmente son muy rápidas y, ge-neralmente, devuelven soluciones razonablemente buenas. Sin embargo, nopuede garantizarse que dichas soluciones sean óptimas con respecto a peque-ños cambios a nivel local. En consecuencia, una mejora típica es renar lasolución obtenida por la heurística voraz utilizando búsqueda local. Los algo-ritmos de búsqueda local intentan repetidamente mejorar la solución actualcon movimientos a soluciones vecinas con la esperanza de que sean mejores.El caso más simple son los algoritmos de mejora iterativa: si en el vecindariode la solución actual s se encuentra una solución mejor s′, ésta reemplaza ala solución actual y se continua la búsqueda a partir de s′; si no se encuentrauna solución mejor en el vecindario, el algoritmo termina en un óptimo local.

Uno de los inconvenientes de los algoritmos de mejora iterativos es quepueden estancarse en soluciones de baja calidad (óptimos locales muy lejanosal óptimo global). Para permitir una mejora adicional en la calidad de lassoluciones, la investigación en este campo centró su atención en el diseño detécnicas de propósito general para guiar a la construcción de soluciones o ala búsqueda local en las distintas heurísticas. Estas técnicas son conocidascomo metaheurísticas y se denen en la siguiente sección.

3.2. Técnicas metaheurísticas

Las metaheurísticas se encuentran entre los desarrollos más recientes demétodos aproximados para resolver problemas de optimización complejos delmundo real que se encuentran en el área de comercio, ingeniería, industria,entre otras. Una metaheurística guía una heurística subordinada usando con-ceptos basados en inteligencia articial, biología, matemática, ciencias físicasy naturales a n de mejorar su efectividad.

Esta clase de algoritmos pertenece a la clase de algoritmos de aproxima-ción que son diseñados para atacar problemas duros de optimización paralos cuales las heurísticas tradicionales o métodos analíticos no son efectivosy ecientes. Las metaheurísticas proveen de un marco general que permi-te crear nuevos métodos híbridos a través de la combinación de conceptosderivados de heurísticas clásicas, inteligencia articial, evolución biológica,sistemas naturales, mecánica estadística, etc. Esta familia de enfoques in-cluye, pero no están limitados a algoritmos evolutivos, Optimización basada

Page 55: Metaheurísticas en la resolución de problemas sobre triangulaciones

3.2. Técnicas metaheurísticas 33

en Colonia de Hormigas [46], Búsqueda Local Guiada [156], Búsqueda LocalIterada [112], Recocido Simulado [87], Búsqueda Tabú [68], entre otras.

Es importante notar que existen pruebas de convergencia para algunasmetaheurísticas bajo ciertas suposiciones. Sin embargo, dichas suposicionesno se pueden satisfacer o aproximar en ciertas aplicaciones prácticas. Por lotanto, no es posible probar la optimalidad y en consecuencia sólo se puedenobtener soluciones aproximadas. A pesar de esta desventaja, las metaheu-rísticas han demostrado ser muy útiles y ecaces en comparación con susheurísticas subordinadas para encontrar soluciones óptimas y/o cercanas alas óptimas correspondientes a una gran variedad de aplicaciones prácticasde optimización.

Afrontar un problema de optimización combinatoria con una técnicaexacta garantiza que la solución obtenida sea la óptima. Sin embargo, cuandose trata de un problema NP-duro, el algoritmo necesitaría tiempo no poli-nomial para resolverlo, y por lo tanto, no se podría utilizar al considerarseinstancias de mayor tamaño del problema. En contraposición, las técnicasde solución heurísticas no garantizan la obtención del óptimo, pero puedenencontrar soluciones cercanas a las óptimas en forma eciente. Debido a estacaracterística las técnicas heurísticas se convierten en atractivas al momentode afrontar un problema de optimización combinatoria del tipo NP-duro. Esposible diseñar heurísticas especícas para cada problema o esquemas gene-rales que permitan abordar múltiples problemas. En general, la especicidadpermite obtener mejores resultados sacricando la simpleza y la adaptabili-dad.

No existe en la comunidad cientíca un consenso sobre la denición exac-ta de la palabra metaheurística. El término fue acuñado por Glover en 1986[68] y deriva de la composición de dos palabras griegas. El prejo meta sig-nica más allá de, en un nivel superior, y heurística deriva del verbo heu-riskein que signica encontrar, descubrir. La denición más satisfactoria ycomúnmente usada es:

Una metaheurística se dene formalmente como un proceso de genera-ción iterativo, el cual guía a una heurística subordinada, combinando in-teligentemente diferentes conceptos para explorar y explotar el espacio debúsqueda. Son utilizadas como estrategias de aprendizaje para estructurarla información con el objetivo de encontrar ecientemente soluciones casióptimas. [120].

Se puede decir que las metaheurísticas son estrategias de alto nivel pa-ra explorar espacios de búsqueda utilizando diferentes métodos. Además, esfundamental que exista un balance dinámico entre diversicación e intensi-cación. Los términos diversicación o exploración generalmente se reeren ala exploración del espacio de búsqueda, es decir, se debe promover al procesode búsqueda a examinar regiones no visitadas del espacio de búsqueda paraque, de esta manera, se generen soluciones que dieran de manera signican-

Page 56: Metaheurísticas en la resolución de problemas sobre triangulaciones

34 Capítulo 3. Metaheurísticas

te de las soluciones ya visitadas. Los términos intensicación o explotaciónse reeren a la explotación de la experiencia de búsqueda acumulada, es de-cir, se debe enfocar la búsqueda a examinar soluciones que pertenezcan a lavecindad de las mejores soluciones encontradas.

Se considera a las metaheurísticas como un conjunto de patrones em-pleados para denir métodos heurísticos que pueden ser aplicados a variosproblemas con pocas modicaciones para su adaptación a las particularida-des del problema considerado [117].

Las metaheurísticas se caracterizan por:

Ser estrategias generales que guían el proceso de búsqueda, pudiendoincorporar información especíca del problema e inclusive incorporarheurísticas subordinadas.

Ser de uso genérico, debiendo ser instanciadas para cada problemaparticular.

Permitir una descripción a nivel abstracto de sus componentes básicos.

Explorar ecientemente el espacio de búsqueda con el objetivo de en-contrar soluciones factibles de buena calidad.

Recorrer el espacio de búsqueda sin quedar atrapados en regiones par-ticulares, especialmente en cercanía de óptimos locales.

Ser algoritmos aproximados y en general no determinísticos (estocás-ticos).

Debido al aumento en el interés por la aplicación de metaheurísticas para laresolución de problemas de optimización combinatoria del tipo NP-duro, sehan propuesto nuevas alternativas. Sin embargo, sólo un grupo pequeño deesas propuestas logró consolidarse en la práctica, demostrando gran aplica-bilidad sobre problemas de diversas características y adquiriendo la madureznecesaria para ser una alternativa real al momento de resolver un problemade optimización.

Previo al desarrollo e implementación de una técnica metaheurística esnecesario saber si tiene sentido la aplicación de estas técnicas sobre el proble-ma que se quiere resolver. A continuación se dan algunas características delos problemas de optimización que justican el uso de metaheurísticas parasu resolución:

Un problema de clase P con instancias muy grandes. En este caso, seconocen algoritmos exactos de tiempo polinomial pero son muy carosdebido al tamaño de las instancias.

Un problema de clase P con duras restricciones de tiempo real. Enproblemas de optimización en tiempo real, son muy utilizadas las me-taheurísticas ya que se tiene que encontrar una buena solución en

Page 57: Metaheurísticas en la resolución de problemas sobre triangulaciones

3.2. Técnicas metaheurísticas 35

tiempo real. Incluso si existen algoritmos exactos ecientes para resol-ver el problema, se utilizan las metaheurísticas para reducir el tiempode búsqueda.

Un problema NP-duro con un tamaño moderado y/o estructuras difí-ciles de las instancias de entrada.

Problemas de optimización cuya función objetivo insume mucho tiem-po y/o posee muchas restricciones. Algunos problemas de optimizaciónde la vida real se caracterizan por un gran costo computacional en elcálculo de la función objetivo.

Algunas de las técnicas más populares son: Búsqueda Local Iterada (Ite-rated Local Search - ILS) [112], Búsqueda Local Guiada (Guided LocalSearch - GLS) [156], Recocido Simulado (Simulated Annealing - SA) [87],Búsqueda Tabú (Tabu Search - TS) [68], Búsqueda de Vecindario Variable(Variable Neighbourhood Search - VNS) [121], Procedimiento de Búsque-da Voraz Adaptativa Alearotizada (Greedy Randomized Adaptive SearchProcedure - GRASP) [59], la familia de técnicas de Computación Evoluti-va (Evolutionary Computation - EC) [60, 75, 9], Optimización basada enColonia de Hormigas (Ant Colony Optimization - ACO) [46], OptimizaciónBasada en Cúmulos de Partículas (Particle Swarm Optimization - PSO) [85],entre otras.

Las técnicas metaheurísticas se pueden clasicar y describir de distintasmaneras, dependiendo de las características seleccionadas para diferenciarlas[20]. Es posible clasicarlas en metaheurísticas inspiradas en la naturalezaversus las no inspiradas, basadas en memoria versus las que no se basan enmemoria, las que utilizan funciones objetivo estáticas versus las que utilizanfunciones objetivo dinámicas, etc. Una de las clasicaciones más popularesdescriben a las metaheurísticas teniendo en cuenta si utilizan en cada pa-so un único elemento del espacio de búsqueda (metaheurísticas basadas entrayectoria) o si trabajan con una población (metaheurísticas basadas en po-blación). Las técnicas incluidas en la primera clase utilizan un mecanismode exploración caracterizado por recorrer una única trayectoria en el espa-cio de búsqueda. ILS, GLS, SA, TS, VNS y GRASP son técnicas basadasen trayectoria. La segunda clase se caracteriza por utilizar un conjunto desoluciones en cada paso de la búsqueda en lugar de una única solución. Lastécnicas incluidas en la segunda clase utilizan un mecanismo de exploracióncaracterizado por recorrer múltiples trayectorias en el espacio de búsqueda.ACO, PSO y técnicas de EC (Programación Genética, Algoritmos Genéti-cos, Programación Evolutiva, Evolución Diferencial, entre otras) son técnicasbasadas en población.

La Figura 3.2 presenta algunas taxonomías y además algunos ejemplosde metaheurísticas dentro de cada clase.

Page 58: Metaheurísticas en la resolución de problemas sobre triangulaciones

36 Capítulo 3. Metaheurísticas

Figura 3.2: Clasicaciones de las metaheurísticas.

Básicamente todos los enfoques computacionales utilizados para resolverproblemas combinatorios pueden ser clasicados como algoritmos de bús-queda. La idea fundamental detrás del enfoque de búsqueda es generar yevaluar soluciones candidatas de forma iterativa. Aunque la complejidad detiempo de búsqueda de soluciones para problemas combinatorios NP-durospuede crecer exponencialmente con el tamaño de la instancia, la evaluaciónde soluciones candidatas generalmente se puede realizar de manera muchomás eciente, es decir, en tiempo polinómico.

La evaluación de soluciones candidatas depende en gran medida del pro-blema dado y generalmente es bastante sencilla de implementar. Las dife-rencias fundamentales entre los algoritmos de búsqueda se encuentran en laforma en que se generan las soluciones candidatas, que puede tener un im-pacto muy signicativo sobre las propiedades teóricas de los algoritmos y eldesempeño práctico. Una clasicación de los métodos de búsqueda se basaen la distinción entre la búsqueda sistemática y local:

Los algoritmos de búsqueda sistemática recorren el espacio de búsquedade una instancia de problema de una manera sistemática de formaque garantiza que eventualmente se encuentra una solución (óptima),o, si no existe solución, esto se puede determinar con certeza. Estapropiedad típica de los algoritmos basados en búsqueda sistemática sellama integridad.

Los algoritmos de búsqueda local comienzan en algún lugar del espa-

Page 59: Metaheurísticas en la resolución de problemas sobre triangulaciones

3.2. Técnicas metaheurísticas 37

cio de búsqueda dado y posteriormente se mueven desde la ubicaciónactual a un lugar cercano en el espacio de búsqueda, donde cada ubi-cación tiene sólo un número relativamente pequeño de vecinos, y cadauno de los movimientos está determinado por una decisión basada enel conocimiento local. Generalmente, los algoritmos de búsqueda localson incompletos, es decir, no hay garantía de encontrar una solución yel hecho de que no existe ninguna solución nunca se puede determinarcon certeza. Además, los métodos de búsqueda local pueden visitar elmismo lugar en el espacio de búsqueda más de una vez. De hecho, mu-chos algoritmos de búsqueda local son propensos a quedarse atascadosen alguna parte del espacio de búsqueda de la cual no puede escaparsin utilizar mecanismos especiales, tales como reiniciar el proceso debúsqueda o la realización de algún tipo de medidas de diversicación.

Sería lógico pensar que debido a su carácter incompleto, los algoritmosde búsqueda local son generalmente inferiores a los métodos sistemáticos. Enprimer lugar, muchos problemas son de naturaleza constructiva y se sabe queson resolubles. En esta situación, el objetivo de cualquier algoritmo de bús-queda es generar una solución en lugar de sólo decidir si existe solución. Estoes válido en particular para los problemas de optimización donde el problemareal es encontrar una solución de calidad sucientemente alta. Obviamente,la principal ventaja de un algoritmo completo, es decir, de su capacidad paradetectar que una instancia de determinado problema no tiene solución, no esrelevante para la búsqueda de soluciones de instancias que tienen solución.

En segundo lugar, en un típico escenario de aplicación, el tiempo paraencontrar una solución es generalmente limitado. Se pueden encontrar ejem-plos de tales problemas de tiempo real en prácticamente todos los dominiosde aplicación. Los ejemplos más comunes son: programación de producciónen tiempo real, planicación de movimiento de robots y toma de decisiones,la mayoría de las situaciones de videojuegos, reconocimiento de voz para in-terfaces en lenguaje natural, entre otros. En estas situaciones, los algoritmossistemáticos suelen ser abortados después de que se agota el tiempo dado, ypor lo tanto se convierten en incompletos. Si se interrumpe dicho algoritmosistemático antes de tiempo, suele no estar disponible una solución candi-data, mientras que, en la misma situación, los algoritmos de búsqueda localsuelen retornar la mejor solución encontrada hasta el momento.

Los algoritmos para resolver problemas en tiempo real deben ser capacesde ofrecer soluciones razonablemente buenas en cualquier momento durantesu ejecución. En el caso de problemas de optimización esto normalmentesignica que el tiempo de ejecución y la calidad de la solución deben estarpositivamente correlacionados.

En las siguientes secciones se presenta una breve reseña de algunas me-taheurísticas desarrolladas en los últimos años y que son utilizadas en la pre-

Page 60: Metaheurísticas en la resolución de problemas sobre triangulaciones

38 Capítulo 3. Metaheurísticas

sente tesis. Éstas son: Búsqueda Local, Búsqueda Local Iterada, RecocidoSimulado y Optimización basada en Colonia de Hormigas. Los tres primerosenfoques son métodos de búsqueda a través de trayectorias, mientras que elúltimo representa un ejemplo de método basado en población.

3.2.1. Búsqueda Local

La Búsqueda Local (Local Search - LS) es probablemente el método me-taheurístico más simple y antiguo [3, 133]. Se comienza con una solucióninicial dada y en cada iteración, la heurística sustituye a la solución actualpor un vecino que mejora la función objetivo. La búsqueda se detiene cuandotodos los vecinos candidatos son peores que la solución actual, lo que signicaque se alcanzó un óptimo local (ver Figura 3.3).

Figura 3.3: Comportamiento de Búsqueda Local en un paisaje (landscape)dado.

El principal objetivo de esta estrategia es acelerar la búsqueda. Las va-riantes de la búsqueda local se pueden distinguir de acuerdo al orden en quese generan las soluciones vecinas (determinístico/estocástico) y la estrategiade selección de la solución vecina.

En el Algoritmo 1 se describe el algoritmo que especica la semántica delos algoritmos de búsqueda local para problemas de optimización.

Desde una solución inicial s0, el algoritmo generará una secuencia desoluciones s1, s2, ..., sk con las siguientes características:

El tamaño de la secuencia k es desconocida a priori.

si+1 ∈ N(si), ∀i ∈ [0, k − 1].

f(si+1) < f(si), ∀i ∈ [0, k − 1].

Page 61: Metaheurísticas en la resolución de problemas sobre triangulaciones

3.2. Técnicas metaheurísticas 39

Algoritmo 1 Esquema general de un algoritmo de Búsqueda Local

s = s0 /∗ Generar una solución inicial s0 ∗/while no se alcance el criterio de nalización doGenerar N(s) /∗ Generar vecinos candidatos ∗/if no existen mejores vecinos thenDetener proceso

end ifs = s′ /∗ Seleccionar un mejor vecino s′ ∈ N(s) ∗/

end whileOutput: solución nal encontrada (óptimo local).

sk es un óptimo local: f(sk) ≤ f(s), ∀s ∈ N(sk).

La selección del vecino s′ ∈ N(s) se puede realizar que varias maneras:

Selección de la mejor mejora (best improvement): se selecciona el mejorvecino (es decir, el vecino que mejora al máximo la función objetivo).El vecindario se evalúa de una manera totalmente determinista. Porlo tanto, la exploración de la zona es exhaustiva y se tratan todoslos posibles movimientos de una solución para seleccionar la mejorsolución vecina. Este tipo de exploración puede ser lento para grandesvecindarios.

Selección de la primera mejora (rst improvement): Esta estrategiaconsiste en elegir el primer vecino que es mejor que la solución actual.Por lo tanto, un vecino que mejora es inmediatamente seleccionadopara reemplazar a la solución actual. Esta estrategia implica una eva-luación parcial del vecindario. En el peor de los casos (cuando no seencuentra una mejora), se realiza una evaluación completa del vecin-dario.

Selección aleatoria: En esta estrategia, se aplica una selección aleatoriaa los vecinos que mejoran de la solución actual.

La fuerte aleatorización de algoritmos de búsqueda local, es decir, el usode elección estocástica como parte integral del proceso de búsqueda, puededar lugar a incrementos signicativos en el rendimiento y la robustez. Sinembargo, con este potencial viene la necesidad de equilibrar los componentesaleatorios y dirigidos a un objetivo de la estrategia de búsqueda, es decir,una compensación entre intensicación y diversicación.

Dado que el principal inconveniente de los algoritmos de búsqueda locales la convergencia hacia óptimos locales, se proponen varios algoritmos al-ternativos para evitar el estancamiento en tales soluciones. A continuaciónse describen las técnicas utilizadas en este trabajo de tesis.

Page 62: Metaheurísticas en la resolución de problemas sobre triangulaciones

40 Capítulo 3. Metaheurísticas

3.2.2. Búsqueda Local Iterada

Existen diversos mecanismos con técnicas de mejora iterativa cuando labúsqueda se estanca en óptimos locales de la función objetivo. Podría decirseque una de las ideas más intuitivas para hacer frente a esta situación consisteen utilizar dos tipos de pasos de búsqueda local: uno para alcanzar óptimoslocales lo más ecientemente posible, y el otro para escapar de óptimos loca-les. Ésta es la idea subyacente de la Búsqueda Local Iterada (Iterated LocalSearch - ILS) [112], un método de búsqueda local que, básicamente, utili-za estos dos tipos de pasos de búsqueda de forma alterna para navegar elespacio de los óptimos locales con respecto a la función objetivo dada.

En primer lugar, se aplica una búsqueda local a una solución inicial. Lue-go, en cada iteración, se realiza una perturbación a la solución óptima localobtenida y se aplica nuevamente una búsqueda local, pero en esta ocasióna la solución perturbada. La solución generada se acepta como la nueva so-lución actual bajo algunas condiciones. Este proceso se repite hasta que secumpla un criterio de nalización determinado (ver Figura 3.4).

Figura 3.4: Comportamiento de Búsqueda Local Iterada en un paisaje (lands-cape) dado.

Algoritmo 2 Esquema general de un algoritmo de Búsqueda Local Iterada

s∗ = BúsquedaLocal(s0)repeats′ = Perturbación(s∗, historialDeBúsqueda)s′∗ = BúsquedaLocal(s′)s∗ = Aceptar(s∗, s

′∗, historialDeBúsqueda) /∗ Criterio de aceptación∗/

until que se cumpla el criterio de nalizaciónOutput: mejor solución encontrada.

El Algoritmo 2 describe el algoritmo ILS donde el proceso de búsqueda

Page 63: Metaheurísticas en la resolución de problemas sobre triangulaciones

3.2. Técnicas metaheurísticas 41

puede ser inicializado de diversas maneras, por ejemplo, partiendo de un ele-mento del espacio de búsqueda seleccionado al azar. De la solución candidatainicial, s0, se obtiene una solución s∗ localmente óptima aplicando el pro-cedimiento BúsquedaLocal(). Luego, cada iteración del algoritmo consta detres etapas principales: en primer lugar, se aplica una perturbación a la solu-ción candidata actual s∗, lo que produce una solución candidata modicadas′. En la siguiente etapa se realiza una búsqueda local hasta que se obtieneun óptimo local s′∗. En la última etapa, se utiliza un criterio de aceptaciónpara decidir con cuál de los dos óptimos locales, s∗ o s′∗, se continúa con elproceso de búsqueda. Ambas funciones, Perturbación() y Aceptar(), puedenutilizar aspectos históricos de la búsqueda (historialDeBúsqueda), por ejem-plo, cuando se encuentra el mismo óptimo local en repetidas ocasiones, sepueden aplicar pasos de fortalecimiento de perturbación. Como en la mayoríade los algoritmos de búsqueda local, se puede utilizar una amplia variedad decriterios de nalización para decidir cuándo naliza el proceso de búsqueda.

Las tres funciones BúsquedaLocal(), Perturbación() y Aceptar() formanel núcleo de cualquier algoritmo ILS. La elección concreta de estos procedi-mientos tiene un impacto crucial en el desempeño del algoritmo resultante.Estos componentes necesitan complementarse entre sí para lograr un buenequilibrio entre intensicación y diversicación del proceso de búsqueda, locual es fundamental para obtener un buen rendimiento en la resolución deproblemas combinatorios duros.

El objetivo de Perturbación() es modicar la solución candidata actual demanera que no se deshagan inmediatamente dichos cambios por la búsquedalocal posterior. Esto ayuda al proceso de búsqueda a escapar de óptimos lo-cales y la posterior fase de búsqueda local tiene la oportunidad de descubrirdiferentes óptimos locales. Normalmente, la intensidad de la perturbacióntiene una fuerte inuencia en la duración de la fase de búsqueda local pos-terior; perturbaciones débiles conducen generalmente a fases más cortas debúsqueda local que las perturbaciones fuertes, debido a que el procedimientode búsqueda local requiere menos pasos para llegar a un óptimo local. Sila perturbación es demasiado débil, la búsqueda local puede caer de nuevoen el óptimo local recientemente visitado, lo que lleva al estancamiento. Almismo tiempo, si la perturbación es demasiado fuerte, su efecto puede sersimilar a un reinicio aleatorio del proceso de búsqueda, que generalmente setraduce en una baja probabilidad de encontrar mejores soluciones en la fasede búsqueda local posterior. Para equilibrar estas cuestiones, tanto la fuerzay la naturaleza de las medidas de perturbación, se pueden cambiar de formaadaptativa durante la búsqueda. Además, existen técnicas de perturbaciónbastante complejas, tales como la utilizada en Lourenço [111], que se basa enencontrar soluciones óptimas para ciertas partes de la instancia de problemadada.

El criterio de aceptación también tiene una fuerte inuencia en el com-

Page 64: Metaheurísticas en la resolución de problemas sobre triangulaciones

42 Capítulo 3. Metaheurísticas

portamiento y el rendimiento de ILS. Se obtiene una fuerte intensicación dela búsqueda si siempre se acepta la mejor de las dos soluciones s∗ y s′∗. Los al-goritmos ILS que utilizan este criterio de aceptación desempeñan ecazmenteel mejoramiento iterativo en el espacio de los óptimos locales alcanzados porel procedimiento de búsqueda local. En cambio, si siempre se acepta el nuevoóptimo local, s′∗, independientemente de su calidad, el comportamiento delalgoritmo ILS resultante corresponde a un camino aleatorio (random walk)en el espacio de óptimos locales de la función objetivo dada. Entre estos dosextremos, existen muchas opciones intermedias.

Los algoritmos ILS son atractivos ya que suelen ser fáciles de implementary se encuentran actualmente entre los métodos de búsqueda incompletos demejor desempeño para muchos problemas combinatorios [112].

3.2.3. Recocido Simulado

La técnica Recocido Simulado (Simulated Annealing - SA) fue introduci-da por Metrópolis et al. en 1953 [118] simulando el proceso de enfriamiento deuna aleación metálica. Treinta años más tarde, Kirkpatrick et al. [87] y Cerny[29] sugirieron independientemente que este tipo de simulación se podía uti-lizar para encontrar soluciones factibles de un problema de optimización conel objetivo de llegar a una solución óptima.

Recocer es un proceso térmico que obtiene estados de baja energía enun sólido mediante un baño térmico. Por ejemplo, para crear un cristal, secomienza calentando un conjunto de materiales hasta que se derriten. Unavez caliente, se reduce la temperatura de este líquido hasta que se llega asolidicar. Si el enfriamiento ocurre demasiado rápido, el cristal no se creacorrectamente, es decir, se crean irregularidades en la estructura del cristaly la energía almacenada es mucho mayor que la de un cristal perfectamenteestructurado. El algoritmo de optimización se crea basándose directamenteen dicho proceso físico.

Para simular dicha estrategia, SA introduce un parámetro de controlT , designado por la temperatura, cuyo valor inicial debe ser alto y que sedisminuye durante el proceso de búsqueda. En dicho proceso se realiza laejecución de varias iteraciones del algoritmo hasta que se alcanza la condiciónde nalización. El parámetro de control T permite, con cierta probabilidad,moverse a soluciones s′ del espacio de búsqueda S cuyos valores de funciónobjetivo son peores que el valor de función objetivo de la solución actuals ∈ S, es decir, f(s′) > f(s). Estos movimientos se llaman ascendentes(uphill moves). A esta probabilidad se la denomina función de aceptación yse evalúa de acuerdo a:

p(T, s, s′) = e−( δT

) donde δ = f(s′)− f(s) (3.1)

Analizando la Ecuación 3.1 se puede observar que la probabilidad de

Page 65: Metaheurísticas en la resolución de problemas sobre triangulaciones

3.2. Técnicas metaheurísticas 43

aceptación de movimientos ascendentes es controlado por dos factores (T yδ). Para un δ jo y bajas temperaturas, es menor la probabilidad de realizarmovimientos ascendentes. Por lo tanto, según avanza el proceso de búsqueda,es decir, de las iteraciones del algoritmo, es más difícil aceptar este tipo demovimiento. Para una temperatura ja y valores altos de δ, es menor laprobabilidad de aceptar un movimiento de s a s′. Notar que para valoresiguales de δ, es mayor la probabilidad de aceptar movimientos ascendentespara altas temperaturas. En el caso T = 1, se acepta cualquier solución cuyovalor objetivo sea peor al de la solución actual y en el caso T = 0, se rechazacualquier solución cuyo valor objetivo sea peor al de la solución actual y elalgoritmo se convierte en un algoritmo iterativo de búsqueda local.

En la Figura 3.5 se muestra el comportamiento de un algoritmo SA.Cuanto mayor es la temperatura, mayor es la probabilidad de aceptar unpeor movimiento.

Figura 3.5: Comportamiento de Recocido Simulado en un paisaje (landscape)dado.

A continuación, en el Algoritmo 3, se muestra la estructura básica de laestrategia SA.

El algoritmo realiza M(Tk) movimientos para cada temperatura Tk y encada iteración se genera aleatoriamente una nueva solución (s′) que formaparte del vecindario de s (N(s)). Si s′ es mejor que s, se acepta la nuevasolución s′ y reemplaza a la solución actual. Si el movimiento de s a s′ esun movimiento ascendente, s′ se acepta con una probabilidad que se calculade acuerdo a la Ecuación 3.1. Finalmente, el valor de Tk se disminuye encada iteración del algoritmo. Se continúa de esta manera hasta alcanzar lacondición de nalización.

En cuanto al proceso de búsqueda, se puede observar que el algoritmoes el resultado de dos estrategias combinadas: paso aleatorizado (randomwalk) y mejora iterativa (iterative improvement) [20]. En la primera fasede la búsqueda (paso aleatorizado), la tendencia hacia mejores soluciones esbaja y permite la exploración del espacio de búsqueda. Sin embargo, este

Page 66: Metaheurísticas en la resolución de problemas sobre triangulaciones

44 Capítulo 3. Metaheurísticas

Algoritmo 3 Esquema general de un algoritmo de Recocido Simulado

Input: esquema de enfriamientok ← 0while no se alcance la condición de nalización doi← 1while i < M(Tk) doGenerar s′ ∈ N(s) ⊂ εδ ← f(s′)− f(s)if δ < 0 thens′′ ← s′

elses′′ ← s′, con probabilidad p(Tk, s, s′)

end ifi← i+ 1s← s′′

end whileTk+1 ← R(Tk, k)k ← k + 1

end whileOutput: mejor solución encontrada.

comportamiento va cambiando, conduciendo la búsqueda a converger a unmínimo (local) (mejora iterativa).

La adaptación de un problema de optimización al esquema SA se obtieneespecicando los siguientes parámetros:

1. Parámetros especícos (del problema): representación del espacio desoluciones (S), función objetivo (f), vecindario de una solución (N())y solución inicial (S0).

2. Parámetros genéricos (de la estrategia SA) o también denominado es-quema de enfriamiento: temperatura inicial (T0), regla de disminuciónde la temperatura (R), cantidad de movimientos para cada tempera-tura (M(Tk)) y condición de nalización.

Parámetros especícos

Para un problema de optimización combinatoria, el espacio de solucio-nes S y la función objetivo f ya se encuentran denidos. Así, dependiendodel problema, la representación de sus soluciones posibles debe ser elegidade manera que facilite la aplicación de la estrategia SA. Con respecto a lafunción objetivo, SA necesita calcular esta función para cada nueva solucióngenerada. Teniendo en cuenta la eciencia computacional, es importante quelas evaluaciones de la función objetivo sean realizadas de manera eciente

Page 67: Metaheurísticas en la resolución de problemas sobre triangulaciones

3.2. Técnicas metaheurísticas 45

[139]. Incluso cuando la función objetivo es calculada ecientemente, la grancantidad de nuevas soluciones requeridas por el método SA puede consumiruna cantidad enorme de tiempo de CPU.

El vecindario de una solución s, N(s), debe construirse cuidadosamenteya que el generador de soluciones debe introducir cambios aleatorios peque-ños y permitir alcanzar todas las soluciones posibles del espacio de búsqueda.El mecanismo de generación es especíco del problema y debe ser compatiblecon la representación de soluciones elegida. Para problemas combinatorios,es común realizar una pequeña permutación a una parte (elegida aleatoria-mente) de la solución [139].

La construcción de la solución inicial s se debe realizar rápidamente y,si es posible, debe ser un buen punto de partida. Sin embargo, la mane-ra más rápida de producir una solución inicial es generarla aleatoriamente.Otra posibilidad es utilizar una heurística constructiva, como por ejemplo laheurística greedy (especíca para el problema) [20, 21].

Parámetros genéricos

Este conjunto de parámetros es llamado, por algunos autores, esquemade recocido o esquema de enfriamiento.

Temperatura inicial (T0). Generalmente, se podría decir que una de laspropiedades que deben ser vericadas por cualquier método de búsqueda esque no debe ser dependiente de la solución inicial. Por lo tanto, se aconsejaque el recocido simulado comience con una temperatura inicial alta parapoder examinar soluciones diferentes a la inicial. Sin embargo, no parececonveniente considerar para T0 valores jos independientes del problema.En este sentido, en la literatura se aconseja realizar diferentes análisis paraescoger T0, ya que su valor puede depender, en gran parte, del problema aresolver [135].

Regla de disminución de la temperatura (R). La elección de la reglade disminución de la temperatura es crucial para el desempeño del algoritmo.Dicha regla dene el valor que posee T en cada iteración k, Tk+1 = R(Tk, k),donde R(Tk, k) se calcula en función a la temperatura T y el número deiteración del algoritmo. Una regla de disminución puede ser la que sigue unaley logarítmica Tk+1 = T0

log(1+k) y se la denomina Recocido Simulado Clásico(Classical Simulated Annealing - CSA). Esta ley garantiza la convergenciaa una solución óptima. Desafortunadamente no es aplicable ya que es muylenta para propósitos prácticos. Su tiempo de convergencia probablementeexcede el tiempo para encontrar una solución óptima mediante una búsquedaexhaustiva.

En la práctica se utilizan reglas más rápidas. Szu y Hartley [152] pro-

Page 68: Metaheurísticas en la resolución de problemas sobre triangulaciones

46 Capítulo 3. Metaheurísticas

pusieron una convergencia rápida, llamada Recocido Simulado Rápido (FastSimulated Annealing - FSA), que utiliza la regla Tk+1 = T0

1+k . Esta reglafue mejorada por Ingber [80], surgiendo así la regla denominada RecocidoSimulado Muy Rápido (Very Fast Simulated Annealing - VFSA), Tk+1 = T0

ek.

Finalmente, entre las diferentes reglas de disminución de temperaturasque aparecen en la literatura, una de las más usadas sigue una ley geométricaTk+1 = αTk, donde α ∈ (0, 1).

Cantidad de movimientos para cada temperatura (M(Tk)). Segúnla literatura, se utiliza un número constante de movimientos para cada tem-peratura, aunque este número podría cambiar dinámicamente. Por ejemplo,para altas temperaturas se pueden realizar muchos movimientos para explo-rar el espacio de búsqueda y para temperaturas bajas, se pueden realizanpocos movimientos.

Condición de nalización. En la literatura se proponen diferentes tiposde condiciones de nalización para resolver problemas de optimización conSA. Algunos de ellos consideran el valor de la temperatura. Teóricamente, elproceso de búsqueda debería detenerse cuando se alcanza un estado conge-lado, es decir, cuando Tk = 0. Sin embargo, mucho antes de alcanzar estevalor, la probabilidad e−( δ

T) de aceptar un movimiento a una solución peor

es prácticamente nula. Por lo tanto, en general, se naliza la búsqueda conuna temperatura nal, Tf , mayor a cero sin perder calidad en la solución.Otro tipo de condiciones de nalización considera el número de valores detemperatura utilizados o el número total de soluciones generadas. Otro crite-rio posible de nalización es detener la búsqueda cuando no se logra mejorarla solución. Por ejemplo, detener el proceso cuando no se registraron mejo-ras en los últimos l valores consecutivos de temperaturas, combinadas conla proporción de aceptación de soluciones que se encuentran debajo de unpequeño valor ε dado.

3.2.4. Optimización basada en Colonias de Hormigas

En los últimos años, se han propuesto nuevas metaheurísticas que pro-metían resolver gran número de problemas de optimización de tipo NP-duro.Sin embargo, en la práctica, solamente un grupo pequeño de esas propues-tas logró consolidarse, demostrando una aplicabilidad sobre problemas muydiversos y adquiriendo la madurez necesaria para ser una alternativa real almomento de resolver un problema de optimización. La técnica de Optimi-zación basada en Colonias de Hormigas (Ant Colony Optimization - ACO)es una metaheurística sobre la que se trabajó en los últimos años, demos-trando su potencial al haberse aplicado con éxito sobre varios problemas deoptimización.

Page 69: Metaheurísticas en la resolución de problemas sobre triangulaciones

3.2. Técnicas metaheurísticas 47

El comportamiento inteligente de diversos animales sociales como hor-migas, abejas, termitas, aves y peces, motivó su investigación por parte decientícos interesados en entender las interacciones sutiles que existen entreestos animales que crean comunidades grandes y elaboradas. Se pretendeaplicar el conocimiento obtenido por los cientícos para resolver problemasintrincados en la ciencia de la computación, las redes de comunicaciones yla robótica, entre otras áreas.

El comportamiento de las hormigas es un proceso que resulta interesanteya que, siendo insectos casi ciegos, pueden determinar el camino más cortoentre su nido y la fuente de alimento. La mayoría de las especies de hormigasse comunican mediante el tacto y el olfato. Utilizan sus antenas para detec-tar olores a su alrededor. Con las antenas son capaces de detectar oloresmuy sutiles producidos por hidrocarburos que emiten aromas ligeramentediferentes, imperceptibles para los humanos. Al producirse pequeños cam-bios en su concentración, se pueden provocar importantes modicaciones decomportamiento entre las hormigas. Estos hidrocarburos, que sirven paracomunicarse, se denominan feromonas.

En la Figura 3.6 se describe el proceso mediante el cual, utilizando laferomona, las hormigas son capaces de construir la ruta más corta entreel nido y el alimento. Inicialmente, las hormigas desconocen el camino máscorto entre el nido y la comida para lo cual tendrán una distribución aleatoriapor todo el espacio explorado (ver la Figura 3.6a). Luego de cierto tiempo,y sabiendo que las hormigas se mueven a una misma velocidad constante,la cantidad de feromona se hará más persistente en aquellos lugares que sonmás transitados y evitará su rápida evaporación. Por lo tanto, las distanciasmás cortas entre el nido y la fuente de alimento tenderán a ser transitadasmás frecuentemente por las hormigas, lo que permitirá hacer más fuerte elrastro de los caminos más cortos y éstas tenderán a abandonar con el tiempolos caminos largos (ver Figura 3.6b).

Si esta ruta se pierde por el bloqueo de algún objeto o por los cambiosambientales (ver Figura 3.6c), una vez que las hormigas se encuentren en elpunto que se perdió el rastro, volverán a elegir aleatoriamente un camino (verFigura 3.6d), algunas hacia arriba y otras hacia abajo. Sin embargo, aquellasque elijan ir por la parte de arriba, que es el camino más corto, alcanzaránel otro extremo con mayor rapidez que las que eligieron el camino más largo.De forma tal que, transcurrido cierto tiempo (por retroalimentación de la fe-romona), volverán a restablecer el camino corto y terminarán abandonandoel camino largo (ver Figura 3.6e). De este modo, las colonias de hormigaspueden establecer rutas cortas utilizando la feromona como medio de inter-cambio de información, lo que se conoce como estigmergía (stimergy). Porlo tanto, aquellos rastros que contengan mayor cantidad de feromona, seránutilizados con mayor seguridad por las hormigas, a diferencia de los rastrospobres en feromona.

Page 70: Metaheurísticas en la resolución de problemas sobre triangulaciones

48 Capítulo 3. Metaheurísticas

(a) (b)

(c) (d)

(e)

Figura 3.6: Proceso de construcción de la ruta más corta entre el nido y elalimento que realizan las hormigas utilizando la feromona.

En el ejemplo descrito en la Figura 3.6, la comunicación por estigmer-gía ocurre a través de la feromona que las hormigas depositan en el suelo.Análogamente, las hormigas articiales pueden simular la acción de depositarferomona modicando apropiadamente variables de feromona asociadas conestados del problema visitados mientras construyen soluciones al problemade optimización. Además, de acuerdo al modelo de comunicación por estig-mergía, las hormigas articiales sólo tendrían acceso en forma local a estasvariables de feromona. Por lo tanto, las características principales de estig-mergía mencionadas en la sección anterior pueden ser extendidas a agentesarticiales asociando variables de estado con diferentes estados de problemay dándoles a los agentes sólo acceso local a estas variables.

Descripción de la metaheurística ACO

La técnica de Optimización basada en Colonia de Hormigas es una me-taheurística basada en población formulada por Dorigo [46] que unica, bajoun esquema general común, varias propuestas de técnicas de resolución deproblemas de optimización caracterizadas por la utilización de hormigas ar-ticiales. El mecanismo de funcionamiento de ACO se caracteriza por cons-truir soluciones en forma incremental a partir del agregado de componentes.

Page 71: Metaheurísticas en la resolución de problemas sobre triangulaciones

3.2. Técnicas metaheurísticas 49

En la construcción de las soluciones se incorpora la experiencia adquiridadurante la búsqueda, utilizando una memoria que almacena el rastro depo-sitado por las hormigas en la construcción de soluciones de buena calidad.Las características fundamentales de la técnica ACO son:

Se utilizan hormigas articiales para construir soluciones en forma in-cremental. Cada hormiga construye en forma independiente una so-lución mediante la incorporación de componentes sobre una soluciónparcial.

Para la incorporación de componentes se realiza una elección medianteuna regla probabilística que tiene en cuenta la experiencia adquirida enetapas anteriores de la búsqueda e información heurística del problemaconsiderado.

Para incorporar la experiencia adquirida en la construcción de solu-ciones se utiliza una matriz de feromona, a modo de memoria, quealmacena el rastro depositado por las hormigas en la construcción desoluciones de buena calidad.

En los algoritmos ACO, las hormigas articiales construyen una soluciónpara un problema de optimización combinatoria utilizando un grafo llamadografo de construcción, GC(V,E). El grafo de construcción (conexo) consistede un conjunto de vértices V y un conjunto de aristas E. El conjunto decomponentes C puede ser asociado al conjunto de vértices V , o al conjuntode aristas E. Las hormigas se mueven de un vértice a otro a lo largo de lasaristas del grafo, construyendo incrementalmente una solución parcial.

Además, las hormigas depositan una cierta cantidad de feromona sobrelas componentes, es decir, en los vértices o en las aristas que transitan. Lacantidad de feromona depositada puede depender de la calidad de la soluciónencontrada. Las siguientes hormigas utilizan la información de la feromonacomo una guía hacia regiones más prometedoras del espacio de búsqueda.

La estructura general de un algoritmo ACO se muestra en el Algoritmo 4.La misma consiste en una fase de inicialización y una de iteración. Estaúltima fase consiste de la construcción de soluciones por todas las hormigas,la mejora de la solución (fase optativa) con el uso de un algoritmo de labúsqueda local y la actualización de feromona.

A continuación, se describen cada uno de los procedimientos.

Inicializar. Incluye la inicialización de los valores de los parámetros quese consideran en el algoritmo. Se deben determinar, entre otros, los valorespara:

El número de hormigas en la colonia, K.

Page 72: Metaheurísticas en la resolución de problemas sobre triangulaciones

50 Capítulo 3. Metaheurísticas

Algoritmo 4 Esquema general de un algoritmo de Optimización basada enColonia de Hormigas

Inicializarwhile No se alcance la condición de nalización doConstSolucionesAplicarBúsquedaLocal /* Opcional */GuardarMejorSoluciónHastaAhoraActualizarRastro

end whileRetornarMejorSolución

El rastro inicial de feromona τ0 asociado a cada arista que es un va-lor positivo pequeño, normalmente el mismo para todas las aristas.En caso de utilizarse valores muy grandes para la inicialización, seránnecesarias varias iteraciones antes de que la evaporación logre reducirsucientemente su efecto, permitiendo que sea realmente la feromonadepositada por las hormigas quien guíe la búsqueda. Por el contra-rio, si los valores utilizados para la inicialización son muy pequeños, labúsqueda estará fuertemente orientada por las primeras soluciones ge-neradas. La experiencia indica que conviene inicializar el rastro en unacantidad similar a la que será depositada en una iteración por la coloniade hormigas. Por lo tanto, implica la necesidad de conocer el costo deuna solución de buena calidad al problema considerado. Generalmente,se utiliza el costo asociado a una solución construida mediante algunaheurística auxiliar sencilla o la estimación del costo de una buena so-lución. Se recomienda inicializar la matriz de rastro de feromona T dela siguiente forma τij = K/Costo(SolucionAuxiliar), ∀τij ∈ T , siendoCosto(SolucionAuxiliar) el costo de una solución construida utilizandoalguna heurística auxiliar [48].

La proporción en la que afectarán los rastros de feromona y la infor-mación heurística en la regla de transición probabilística, denominadosα y β respectivamente.

ConstSoluciones. Cada hormiga de la colonia en forma independiente yasíncrona construye incrementalmente una solución mediante la incorpora-ción de componentes sobre una solución parcial. Para la incorporación delos componentes se realiza una elección mediante una regla probabilísticaque considera la experiencia adquirida en la búsqueda a través del rastro deferomona depositada e información heurística de los componentes considera-dos. La incorporación de la información heurística se realiza con el objetivode garantizar la diversicación de la búsqueda, es decir, la exploración denuevas regiones del espacio de búsqueda.

Page 73: Metaheurísticas en la resolución de problemas sobre triangulaciones

3.2. Técnicas metaheurísticas 51

Un conjunto de K hormigas articiales construyen soluciones a partirde elementos de un conjunto nito de componentes de soluciones disponi-bles. La construcción de una solución empieza con una solución parcial vacíasp = ∅. Luego, en cada paso de la construcción, la solución parcial actualsp es extendida agregando una componente de solución factible del conjuntode vecinos factibles N(sp). El proceso de construcción de soluciones puedeser considerado como un camino en el grafo de construcción GC(V,E). Loscaminos permitidos en GC están denidos implícitamente por el mecanismode construcción de soluciones que dene el conjunto N(sp) con respecto auna solución parcial sp.

La elección de una componente de solución de N(sp) se hace probabilísti-camente en cada paso de la construcción. Las reglas exactas para la elecciónprobabilística de componentes de soluciones varían entre diferentes variantesde algoritmos ACO.

AplicarBúsquedaLocal. Una vez que se construyeron las soluciones, yantes de actualizar la feromona, se pueden realizar algunas acciones opcio-nales. Estas acciones son llamadas acciones auxiliares (daemon actions), ypueden ser utilizadas para implementar acciones centralizadas y/o especí-cas del problema, las cuales no pueden ser realizadas por simples hormigas.La acción auxiliar más utilizada consiste en la aplicación de búsqueda locala la solución construida: las soluciones localmente óptimas son usadas paradecidir cómo actualizar los rastros de feromona.

GuardarMejorSoluciónHastaAhora. Almacena la mejor solución en-contrada hasta el momento.

ActualizarRastro. Consiste en la actualización del rastro de feromonadepositado en las componentes a partir de la calidad de las soluciones cons-truidas. El valor de los rastros de feromona almacenados en la matriz puededisminuir a través de la evaporación o incrementarse por el depósito en lascomponentes utilizadas por las hormigas para construir soluciones. La eva-poración de feromona tiene como objetivo evitar la convergencia prematuradel algoritmo a regiones no óptimas, permitiendo continuar con la explora-ción del espacio de búsqueda, a partir de la utilización de la informaciónheurística. Por el contrario, el depósito de feromona en una componente uti-lizada en la construcción de una buena solución la convierte más atractivaen el futuro, aumentando su probabilidad de ser seleccionada en la etapa deconstrucción, intensicando la búsqueda en regiones próximas a solucionesde buena calidad.

Page 74: Metaheurísticas en la resolución de problemas sobre triangulaciones

52 Capítulo 3. Metaheurísticas

Algoritmos basados en la metaheurística ACO

En la literatura se han propuesto diversos algoritmos que siguen la me-taheurística ACO. A continuación se describe una variante, llamada Sistemade hormigas, uno de los algoritmos disponibles para problemas de optimiza-ción combinatoria NP-duros y que se utiliza en la presente tesis.

Sistema de hormigas (Ant System - AS). La primera propuesta quese enmarca dentro del esquema general de ACO fue realizada por Dorigo[45, 47] en el contexto de su tesis de doctorado y estableció las caracterís-ticas fundamentales de este tipo de técnicas. La propuesta consiste en tresvariantes diferentes: ant-density, ant-quantity y ant-cycle. En los dos prime-ros, las hormigas depositan feromona mientras construyen sus soluciones, esdecir, aplican una actualización on-line paso a paso de feromona. Mientras,que en ant-cycle, la actualización de feromona se lleva a cabo una vez quetodas las hormigas construyeron una solución y la cantidad de feromonadepositada por cada hormiga es establecida en función de la calidad de lasolución. Las dos primeras variantes presentaron en la práctica peores resul-tados que la tercera, y por tanto cayeron rápidamente en desuso, utilizándoseen la actualidad el nombre Ant System para referirse a la variante ant-cycle.

En el Algoritmo 5 se presenta el AS. Para cada paso del ciclo principal,se construyen soluciones para cada una de las hormigas que posteriormenteserán utilizadas para actualizar el rastro de feromona.

Algoritmo 5 Esquema general de un algoritmo de un Sistema de hormigas

Inicializarwhile No se alcance la condición de nalización dofor k ∈ 1, ...,K doConstSoluciónkEvaluarSolución

end forGuardarMejorSoluciónHastaAhoraAplicarBúsquedaLocal /* Opcional */ActualizarRastro

end whileRetornarMejorSolución

A continuación, se describen los procedimientos utilizados. Los procedi-mientos Inicializar, GuardarMejorSoluciónHastaAhora, RetornarMejorSolu-ción y AplicarBúsquedaLocal son iguales a los descritos en el Algoritmo ACO(ver Algoritmo 4). El procedimiento ConstSoluciones se descompuso en dosprocedimientos: ConstSoluciónk y EvaluarSolución.

ConstSoluciónk construye una solución para la hormiga k considerandolo descrito anteriormente en el procedimiento ConstSoluciones, y EvaluarSo-

Page 75: Metaheurísticas en la resolución de problemas sobre triangulaciones

3.2. Técnicas metaheurísticas 53

lución evalúa las soluciones obtenidas por cada hormiga y almacena la mejorsolución encontrada.

Cada hormiga construye incrementalmente una solución mediante el agre-gado de componentes sobre una solución parcial sp (inicialmente vacía) a tra-vés del procedimiento ConstSoluciónk. La elección de la próxima componentea agregar se realiza utilizando la regla de transición de estados conocida co-mo regla proporcional aleatoria (random proportional rule) que se presentaen la Ecuación 3.2.

p(cij |sp) =ταij · η(cij)

β∑cil∈N(sp)

ταil · η(cil)β, ∀cij ∈ N(sp) (3.2)

En la Ecuación 3.2, los parámetros α y β son utilizados para ajustar lainuencia relativa entre los valores de feromona (τij) y los valores asocia-dos a la información heurística (η(cij)), y N(sp) es el vecindario de sp, esdecir, conjunto de componentes que pueden ser agregados a la solución par-cial sp. Se conoce como visibilidad al término de la información heurística.Generalmente se utiliza η(cij) = 1

Costo(cij).

En la regla de transición de estados, si se anula el parámetro α, conside-rando únicamente la visibilidad, se puede interpretar el algoritmo resultantecomo un algoritmo greedy aleatorio con múltiples puntos de arranque. Encambio, si se anula el parámetro β, considerando únicamente la informaciónhistórica, se observa un estancamiento en el cual todas las hormigas siguenexactamente el mismo camino y construyen exactamente la misma solución.También se suele observar estancamiento cuando se trabaja con valores deα mayores a 1 [47].

Cuando todas las hormigas han construido sus soluciones, se realiza laactualización de la feromona mediante el procedimiento ActualizarRastro. Elobjetivo de la regla es aumentar la cantidad de feromona en los componentesde la solución que han sido utilizados por las soluciones de alta calidad. Laregla de actualización se presenta en las ecuaciones 3.3 y 3.4.

τij ← (1− ρ) · τij +∑a∈A

∆saij , ∀τij ∈ T (3.3)

siendo

∆saij =

F (sa) si cij ∈ sa0 en otro caso

(3.4)

En la Ecuación 3.3, ρ es la tasa de evaporación de la feromona (0 ≤ρ ≤ 1). En la Ecuación 3.4, F : S → R+ es la función de calidad queindica la calidad de la solución considerada. Generalmente, se utiliza F (sa) =1/Costo(sa) [48].

Los parámetros que utiliza AS son:

Page 76: Metaheurísticas en la resolución de problemas sobre triangulaciones

54 Capítulo 3. Metaheurísticas

K, el tamaño de la población de hormigas;

τ0, la cantidad inicial de feromona en las componentes de las soluciones;

α, la inuencia relativa de la componente del rastro de feromona;

β, la inuencia relativa de la componente heurística; y

ρ, la tasa de evaporación de la feromona.

La Tabla 3.1 muestra un resumen donde se presentan variantes del al-goritmo ACO. Estos algoritmos dieren en aspectos importantes del controlde búsqueda e introducen características avanzadas, como por ejemplo lautilización de técnicas look-ahead o actualizaciones del nivel de rastro de fe-romona durante la etapa de construcción o mecanismos de diversicación,entre otras. Para una descripción detallada de las diferentes variantes del al-goritmo ACO, resultados teóricos y aplicaciones, remitirse al libro de Dorigoy Stützle [48].

Page 77: Metaheurísticas en la resolución de problemas sobre triangulaciones

3.2. Técnicas metaheurísticas 55

Variante Características

AS Utiliza la regla de transición de estados proporcional alea-toria. Todas las hormigas de la colonia depositan feromonaproporcionalmente a la calidad de la solución construida. Laevaporación se produce sobre todas las componentes.

EAS Es idéntica a AS con un depósito adicional de feromona enla mejor solución construida en la iteración.

ASrank Utiliza la regla de transición de estados de AS. Se ordenanlas soluciones construidas por las hormigas en un ranking,depositando feromona solamente las mejores hormigas. Eldepósito de feromona se pondera de acuerdo a la posiciónque ocupa la solución en el ranking de soluciones. Incorporaun depósito adicional de feromona en las componentes de lamejor solución. El depósito de feromona es proporcional a lacalidad de la solución construida. La evaporación se producesobre todas las componentes.

ACS Utiliza la regla de transición de estados proporcional pseudo-aleatoria. Solamente se deposita y evapora feromona en lascomponentes de la mejor solución. El depósito de feromo-na es ponderado y proporcional a la calidad de la soluciónconstruida. Incorpora una actualización local del rastro deferomona cuando una hormiga utiliza una componente.

MMAS Utiliza la regla de transición de estados de AS. Solamente sedeposita feromona sobre las componentes de la mejor solu-ción, en forma proporcional a su calidad. Incorpora límitessuperior e inferior para la cantidad de feromona que puedehaber en una componente. La evaporación se produce sobretodas las componentes.

Tabla 3.1: Variantes del algoritmo ACO.

Page 78: Metaheurísticas en la resolución de problemas sobre triangulaciones

56 Capítulo 3. Metaheurísticas

3.3. Evaluación de metaheurísticas

En general, para las metaheurísticas no existen pruebas formales de co-tas teóricas inferiores para el peor caso en relación al valor óptimo, comolo tienen por ejemplo, los algoritmos de aproximación [134]. Por otro lado,si un análisis probabilístico asume una función de distribución de probabi-lidades sobre todas las posibles instancias, éste permitiría estudiar el casopromedio. Sin embargo, en general, es difícil decir cómo debería ser una ins-tancia promedio de un determinado problema, particularmente para el tipode problemas considerados en esta tesis.

Un método simple para evaluar métodos metaheurísticos es a través de es-tudios experimentales de la misma forma que son encontrados en la literaturarelacionada con la aplicación de estos métodos a problemas de optimización.

Un estudio experimental se basa en una experiencia computacional en lacual un algoritmo es evaluado sobre un conjunto de instancias del problema.Instancias de diferentes tipos y tamaños, generalmente generadas aleato-riamente de manera que el desempeño de una determinada metaheurísticapueda ser observada bajo diferentes condiciones. Inclusive, para ciertos tiposde instancias y problemas es posible conocer a priori el valor óptimo o talvez un valor esperado dado por cotas establecidas para la evaluación de lamejor solución. Esto es posible dado que los métodos utilizados para crearlassiguen determinadas reglas.

Se utilizan frecuentemente problemas estándar utilizados como referen-tes (benchmarks), siempre que estén disponibles, como instancias para sercotejadas dado que sus valores óptimos (o mejores conocidos hasta el mo-mento) son generalmente de dominio público. El análisis empírico basadoen benchmarks es muy común entre los desarrolladores de metaheurísticas,dada su utilidad cuando se reportan resultados de una nueva metaheurísticao de una nueva versión de una existente a n de comparar su desempeñocontra el de técnicas ya conocidas. La ventaja del estudio experimental esque las comparaciones (ya sea contra el óptimo o el mejor valor conocido)son precisas y seguras para una instancia de un problema dado. En resu-men, a través de la vericación de una metaheurística sobre un amplio rangode instancias de problema, se espera que un cierto número de conclusionespueda ser alcanzado en relación a cuán bien trabaja en general y bajo quécondiciones.

Es importante remarcar que las comparaciones entre el comportamientode varios métodos se pueden realizar de manera directa o indirecta, depen-diendo de los objetivos principales del estudio experimental. Se dice que lacomparación es realizada en forma directa cuando se tiene acceso o bien sedesarrolla el software de los métodos contra los cuales se pretende comparara n de replicar los estudios experimentales previos o bien realizar nuevosestudios que incluyan, por ejemplo, instancias de distinto tipo y/o tamaño

Page 79: Metaheurísticas en la resolución de problemas sobre triangulaciones

3.3. Evaluación de metaheurísticas 57

para un determinado problema y poder analizar, entre otras, los tiempos deejecución sobre computadoras de idéntica capacidad de memoria y/o proce-samiento. Sin embargo, la comparación directa suele ser problemática ya queno siempre es posible acceder al software, o bien si la decisión es realizar unaimplementación propia, la misma puede no ser la mejor lo que daría lugar auna comparación injusta. El enfoque indirecto, si bien es más limitado, nospermite llevar a cabo comparaciones interesantes, particularmente desde laperspectiva de la calidad de los resultados alcanzados y en muchos casos, laposibilidad de realizar comparaciones que son independientes de las imple-mentaciones en particular y que están relacionadas con el número de puntosdel espacio de búsqueda visitados para alcanzar los resultados que cada mé-todo produjo. Esto último es posible cuando los reportes incluyen este tipode conteos y está claramente explicado la manera en que se realizan.

El teorema de No Free Lunch [158] demuestra que no se puede encon-trar ningún algoritmo metaheurístico que sea el mejor en comportamientopara cualquier problema. Por otra parte se sabe que se puede trabajar condiferentes grados de conocimiento sobre el problema que se pretende resolver,y que no es lo mismo trabajar sin ningún conocimiento (hipótesis del teoremade No Free Lunch) que trabajar con un conocimiento parcial del problema,el cual permite el diseño de algoritmos con características especícas que lospueden hacer adecuados para la resolución del problema. Situados en esteámbito, el conocimiento parcial del problema y la necesidad de disponer dealgoritmos para su resolución, se plantea la cuestión de decidir cuándo unalgoritmo es mejor que otro. En el caso del uso de metaheurísticas, ésto sedebe hacer atendiendo a criterios de eciencia y/o ecacia. Cuando no sedispone de resultados teóricos que permitan comparar el comportamiento delos algoritmos, se debe centrar en el análisis de los resultados empíricos.

En los últimos años existe un creciente interés por el análisis de expe-rimentos en el ámbito de las metaheurísticas. Este análisis debería evitaruna serie de problemas/decisiones que podrían invalidar las conclusiones delestudio. El trabajo de Hooker es pionero en esta línea, y muestra un intere-sante estudio acerca de lo que se debe hacer y no hacer cuando se plantea elanálisis del comportamiento de una metaheurística sobre un problema [77].

El uso de pruebas estadísticas se convirtió en una técnica muy utilizadapara mejorar el proceso de evaluación del desempeño de un nuevo método.Por lo general, se emplean dentro del marco de un análisis experimental pa-ra decidir cuándo un algoritmo se considera mejor que otro. Esta tarea, quepuede no ser trivial, comienza a ser necesaria para conrmar si un métodopropuesto ofrece una mejora signicativa, o no, sobre los métodos existen-tes para un problema dado. La validación estadística de los resultados esnecesaria para establecer una conclusión en un análisis experimental.

Dentro del campo de la estadística inferencial, se pueden emplear prue-bas de hipótesis para hacer inferencias acerca de una o más poblaciones de

Page 80: Metaheurísticas en la resolución de problemas sobre triangulaciones

58 Capítulo 3. Metaheurísticas

las muestras dadas (resultados) [36]. Para ello, se denen dos hipótesis: lahipótesis nula H0 y la hipótesis alternativa H1. La hipótesis nula es unadeclaración de ningún efecto o diferencia alguna, mientras que la hipótesisalternativa representa la presencia de un efecto o diferencia (en nuestro caso,diferencias signicativas entre los resultados de los algoritmos). Cuando seaplica un procedimiento estadístico para rechazar una hipótesis, se utilizaun nivel de signicancia α para determinar en qué nivel la hipótesis puedeser rechazada.

En lugar de determinar a priori un nivel de signicancia α, es posible cal-cular el menor nivel de signicancia que da como resultado el rechazo de H0.Ésta es la denición del p-valor (p-value), el cual representa la probabilidadde obtener un resultado al menos tan extremo como el que se ha observadoen realidad, suponiendo que H0 es cierta. El p-value se emplea para indicarcuánto (o cuán poco) contradice la muestra actual la hipótesis alternativa.Un p-value proporciona información sobre si una prueba de hipótesis estadís-tica es signicativa o no, y también indica cuán signicativo es el resultado:cuanto menor sea el p-value, más fuerte es la evidencia contra H0.

Informar sobre cuál es el p-value tiene la ventaja de permitir que cualquie-ra decida qué hipótesis acepta basándose en su propio nivel de signicanciaα [76]. Al proporcionar el p-value obtenido con la muestra actual, la decisiónse hará de acuerdo a la regla siguiente:

Si p-value ≤ α, aceptar H1.Si p-value > α, aceptar H0.

Los procedimientos estadísticos desarrollados para llevar a cabo los aná-lisis estadísticos se pueden clasicar en dos clases: paramétricos y no pa-ramétricos, dependiendo del tipo concreto de datos empleado [73]. Se hanutilizado test paramétricos en el análisis de experimentos basándose en su-puestos que probablemente la mayoría han sido violados ya que se analizael rendimiento de los algoritmos estocásticos [62, 63]. Estos supuestos sonconocidos como independencia, normalidad y homocedasticidad. Nuestro in-terés se centra en test estadísticos no paramétricos, que proporcionan unaherramienta práctica que se utiliza cuando alguno de los supuestos anterioresno son satisfechos.

Se pueden realizar dos tipos de análisis: comparaciones de a pares y com-paraciones múltiples. Los test estadísticos de a pares realizan comparacionesindividuales entre dos algoritmos, obteniendo en cada aplicación un p-valueindependiente de otro. Por lo tanto, con el n de llevar a cabo una compa-ración que implica más de dos algoritmos, se pueden utilizar las pruebas decomparaciones múltiples. En comparaciones 1 × N , se destaca un métodode control (el algoritmo de mejor desempeño) a través de la aplicación de laprueba. Luego, todas las hipótesis de igualdad entre el método de control yel resto se pueden probar aplicando un conjunto de test post hoc. También

Page 81: Metaheurísticas en la resolución de problemas sobre triangulaciones

3.3. Evaluación de metaheurísticas 59

se pueden realizar comparaciones N × N , teniendo en cuenta las hipóte-sis de la igualdad entre todos los pares de algoritmos existentes, incluyendodeterminados test post hoc para esta tarea.

Los procedimientos anteriormente mencionados se clasican en aparea-dos o no apareados, dependiendo el tipo de muestras que se utilizan. El testapareado, en general, implica que una muestra se divide en dos grupos igua-les donde cada elemento de un grupo se corresponde con uno comparablede la otra mitad, mientras que el test no apareado se reere a muestrasindependientes no relacionadas.

En la Figura 3.7 se muestra un esquema el cual sirve como guía al mo-mento de aplicar un test estadístico.

Figura 3.7: Esquema de aplicación de test estadísticos (extraído de [5]).

Page 82: Metaheurísticas en la resolución de problemas sobre triangulaciones
Page 83: Metaheurísticas en la resolución de problemas sobre triangulaciones

Capítulo 4

Problemas estudiados

La Geometría Computacional es una rama de la Ciencia de la Compu-tación que estudia algoritmos para resolver problemas geométricos de formaconstructiva. Analiza los casos geométricos desde el punto de vista compu-tacional para diseñar y analizar los métodos que proporcionen una solucióneciente. Una de las principales herramientas en la Geometría Computacionalla constituyen las triangulaciones. Naturalmente para que una triangulaciónsea interesante debe cumplir ciertas condiciones de calidad.

En este capítulo se describen los problemas estudiados en esta tesis sobretriangulaciones en los cuales se consideran dos medidas de calidad: el peso y ladilación. Además se muestra el estado del arte, como resultado de la búsqueday recopilación de investigaciones y antecedentes para el correcto encuadredel estudio que permita una comprensión de los problemas en cuestión ydetermine el punto de partida para nuestras investigaciones.

4.1. Triangulación de Peso Mínimo

Como ya se denió en el Capítulo 2, una triangulación de un conjunto Sde puntos en el plano es un conjunto maximal de segmentos cuyos extremosson los puntos de S y tales que, dos segmentos cualesquiera no se cortan enpuntos interiores de ellos.

Las triangulaciones se pueden denir también en términos de descompo-siciones de objetos.

Definición 4.1 (Triangulación de un conjunto de puntos): Dado un con-junto S de puntos en el plano, una triangulación de S es una descomposiciónde la envolvente convexa de S en triángulos cuyos vértices son los de S y talesque, cada par de triángulos de la descomposición tiene sus interiores disjun-tos, es decir, dos triángulos cualesquiera o bien son disjuntos, o compartenun vértice o comparten una arista.

61

Page 84: Metaheurísticas en la resolución de problemas sobre triangulaciones

62 Capítulo 4. Problemas estudiados

Todo esto se puede abreviar diciendo que una triangulación T de S es ungrafo geométrico maximal sin cortes sobre S.

En el resto de esta tesis, el peso de una arista e = (a, b) se reere a ladistancia euclídea entre a y b y se denota por w(e). Por lo tanto, el pesode una triangulación T es la suma de las longitudes Euclídeas de todas lasaristas de T .

Definición 4.2 (Peso de una triangulación T ): El peso de una triangulación

es la suma de los pesos de todas las aristas de T , es decir, w(T ) =∑e∈T

w(e).

En la Figura 4.1 se puede ver un ejemplo con dos triangulaciones delmismo conjunto de puntos y sus respectivos pesos.

w(T1) = 1529 w(T2) = 1768

Figura 4.1: Peso de dos triangulaciones distintas para el mismo conjunto depuntos.

Definición 4.3 (Triangulación de Peso Mínimo): Una triangulación de pe-so mínimo de un conjunto S de puntos es una triangulación cuyo pesoes mínimo entre todas las triangulaciones de S, es decir, w(MWT (S)) =mın∀T (S)

(w(T (S))) y se denota como MWT (S).

Esta triangulación, que optimiza un criterio bastante simple y natural,motivó en las últimas décadas un gran número de trabajos, primero en elintento de su obtención de forma exacta y después en la búsqueda de trian-gulaciones que se aproximaran a ella. Uno de los hitos fundamentales deestos trabajos fue la demostración en 2006 por Mulzer y Rote [124] de queel problema de obtener una triangulación con peso inferior a un valor k esun problema NP-duro. Con esto concluía la búsqueda de un algoritmo poli-nómico para obtener la triangulación de peso mínimo, pero impulsaba la dealgoritmos que obtengan buenas aproximaciones con peso cercano al mínimo.

Page 85: Metaheurísticas en la resolución de problemas sobre triangulaciones

4.1. Triangulación de Peso Mínimo 63

Antecedentes

El estudio de la triangulación de peso mínimo lo iniciaron Düppe y Got-tschalk [50] quienes propusieron que la estrategia ávida (greedy), en la que,en cada paso se añade la arista más corta posible a la triangulación, llevaríaal peso mínimo en la triangulación nal obtenida. En 1975, Shamos y Hoey[148] indicaron que la triangulación de Delaunay sería la triangulación depeso mínimo. Sin embargo, en 1977, Lloyd [100] presentó ejemplos en dondeni la triangulación obtenida con la estrategia greedy ni la triangulación deDelaunay son la triangulación de peso mínimo. Además ninguna de estastriangulaciones constituye una buena aproximación de la triangulación depeso mínimo. La triangulación de Delaunay puede diferir en un factor Ω(n)de la de peso mínimo [91, 114]. La triangulación greedy sólo la aproxima enun factor Θ(

√n) para el peor caso; en promedio y para conjuntos de puntos

distribuidos uniformemente la aproxima con un factor Ω(log n) respecto dela triangulación de peso mínimo [104, 106, 114].

La Figura 4.2 muestra ejemplos donde la triangulación Delaunay (DT) yla triangulación greedy (GT) no son la de peso mínimo (MWT).

DT GT

MWT

Figura 4.2: Ejemplos de triangulaciones donde se muestra que GT (w(GT ) =187) y DT (w(DT ) = 198) no son la triangulación de mínimo peso(w(MWT ) = 172).

Se han realizado diversos estudios para intentar resolver el problema deMWT de manera determinista. Algunos de los más importantes se puedenobservar en [98, 43, 16, 72]. La mayoría de estos métodos están basados enla triangulación greedy [138] o en triangulaciones mínimas locales. El mayorproblema es que las aristas que se detectan pertenecientes a la triangulaciónde peso mínimo forman sólo un subgrafo de dicha triangulación el cual debeser completado utilizando otras técnicas [67]. El algoritmo trivial exacto seríael de fuerza bruta y debería comprobar todas las triangulaciones posibles ydetectar la de menor peso. El número de triangulaciones es exponencial por loque sólo se han obtenido resultados para conjuntos de puntos muy pequeños.Bartanus et al. [11] calcularon la triangulación de peso mínimo para 15 pun-tos utilizando un algoritmo de retroceso (backtracking). Heath y Pemmaraju

Page 86: Metaheurísticas en la resolución de problemas sobre triangulaciones

64 Capítulo 4. Problemas estudiados

[72] utilizaron, en el procedimiento de backtracking, el paradigma de poday búsqueda (prune and search paradigm) y obtuvieron soluciones óptimaspara conjuntos de hasta 25 puntos. Cheng et al. [30] utilizaron programacióndinámica para calcular la triangulación de peso mínimo en tiempo O(nk+2),siempre que sea conocido un subgrafo de la triangulación de peso mínimocon k componentes conexas.

La búsqueda de la triangulación de peso mínimo originó otros problemas:encontrar la triangulación de peso mínimo para conjuntos de puntos ubicadosen posiciones especiales, calcular triangulaciones que garanticen una buenaaproximación a la triangulación de peso mínimo y búsqueda de criterios queaseguren o prohíban que una arista pertenezca a la triangulación de pesomínimo. A continuación se describen algunos de los resultados obtenidos.

Posiciones especiales de puntos

En cuanto a posiciones especiales de los puntos, Gilbert [67] y Klincsek[92] mostraron independientemente cómo calcular la triangulación de pesomínimo de un polígono simple en tiempo O(n3) utilizando programación di-námica. Cuando se conoce la estructura de capas convexas del conjunto depuntos S, Anagnostou y Corneil [6] diseñaron un algoritmo para calcular latriangulación de peso mínimo en tiempo O(n3k+1), donde k es el número decapas convexas de S. Kyoda [99] utilizó la técnica de ramicación y poda(branch and cut technique) para calcular la triangulación de peso mínimopero sólo para un conjunto particular de 100 puntos, ya que para conjuntosmayores la técnica se vuelve poco viable. Homann y Okamoto [74] mostra-ron cómo obtener la triangulación de peso mínimo en tiempo O(6kn5 log n),donde k es la cantidad de puntos interiores. Borgelt et al. [25] diseñaron cua-tro algoritmos para calcular la triangulación de peso mínimo de un polígonosimple de (n − k) vértices en el cierre convexo y k vértices en el interior,es decir, un polígono con agujeros puntuales. Estos polígonos se denominanpointgons. Dichos algoritmos utilizan la técnica divide y vencerás, la cual esmejorada utilizando una variante de programación dinámica. Están basadosen dos observaciones simples sobre triangulaciones las cuales dan lugar a dife-rentes maneras de dividir triángulos y caminos. Los dos primeros algoritmosutilizan sólo un tipo de división y los dos últimos combinan varios tipos dedivisión para lograr mejoras y reducir la complejidad temporal. La debilidadprincipal de los algoritmos antes mencionados es que encuentran solucio-nes para conjuntos pequeños de puntos ya que, para conjuntos mayores, losalgoritmos no arrojan resultados.

Buenas aproximaciones

En cuanto a la búsqueda de buenas aproximaciones, Plaisted y Hong[137] propusieron una heurística que aproxima a la triangulación de peso

Page 87: Metaheurísticas en la resolución de problemas sobre triangulaciones

4.1. Triangulación de Peso Mínimo 65

mínimo dentro de un factor de O(log n). Su algoritmo requiere un tiempo deO(n2 log n) para el peor caso. Utilizaron el Árbol Generador Mínimo (Mini-mum Spanning Tree - MST) y las aristas del cierre convexo para descomponerel problema en una secuencia de polígonos los cuales son triangulados utili-zando la heurística de anillo (ring heuristic). No existen diferencias para laaproximación O(log n) si el segundo paso se realiza utilizando el algoritmode programación dinámica de [67]. La heurística de anillo utilizada en la se-gunda etapa crea las aristas incrementalmente cortando las orejas (cut theears) del polígono convexo. Esta heurística mejoró la idea de Lingas [110]quien utilizó la triangulación de Delaunay y el MST para dividir el conjuntode entrada en celdas que son trianguladas utilizando programación dinámica.Heath y Pemmaraju [72] incorporaron una mejora calculando la triangula-ción greedy en vez de la Delaunay. Los resultados experimentales parecenser excelentes pero no muestran el factor de aproximación. La desventaja deeste método es el tiempo cúbico que no permite procesar grandes conjuntosde puntos [42].

Las otras ideas utilizadas con frecuencia en nuevas heurísticas se basan enla estrategia greedy, combinada con algún tipo de búsqueda y otras propie-dades de los triángulos. Lingas [109], Levcopoulos et al. [107] y Levcopoulosy Krznaric [106, 105] realizaron un profundo estudio de la relación entrela triangulación de peso mínimo y la triangulación greedy incluyendo unamodicación de la triangulación greedy, la denominada triangulación quasi-greedy (QGT), que aproxima la triangulación de peso mínimo con un factorconstante. Para polígonos convexos se obtiene en tiempo lineal un factor deaproximación (1 + ε), para un ε jo. Remy y Steger [143] presentaron un es-quema de aproximación de tiempo quasi-polinomial (QPTAS), para obtenerla triangulación de peso mínimo.

Subgrafos

Otra línea diferente de investigación es la búsqueda de subgrafos de latriangulación de peso mínimo. Gilbert [67] mostró que la triangulación de pe-so mínimo siempre contiene la arista más corta. Yang et al. [163] extendieroneste resultado probando que las aristas que unen los vecinos más cercanossiempre están en la triangulación de peso mínimo. Wang, Chin y Xu [157]propusieron un test que permite identicar cuáles aristas de la triangulacióngreedy pertenecen también a la triangulación de peso mínimo en tiempoO(n3) y espacio O(n2).

Los β-esqueletos de un conjunto S de puntos forman una familia degrafos de proximidad que permite, según los valores del parámetro β, dardiferentes aproximaciones a la estructura interna de S. Keil [83] demostróque el β-esqueleto es también un subgrafo de la triangulación de peso mínimocuando β =

√2 y por lo tanto también se cumple para valores mayores a√

2. Dicho β-esqueleto está basado en discos. Cheng y Xu [32] mostraron que

Page 88: Metaheurísticas en la resolución de problemas sobre triangulaciones

66 Capítulo 4. Problemas estudiados

el β-esqueleto sigue siendo un subgrafo de la triangulación de peso mínimopara β ≥ 1,17682. Desafortunadamente este subgrafo no es conexo y Keil[83] encontró un ejemplo de cuatro puntos para el cual el β-esqueleto no esun subgrafo de la triangulación de peso mínimo para valores del parámetroβ < 1/ sin(π/3) < 1,154701.

Dickerson, Keil y Montague [41] propusieron un método para obtener unsubgrafo de la triangulación de peso mínimo, calculando un LMT-esqueleto oesqueleto localmente mínimo (locally minimal skeleton - LMT-skeleton). ElLMT-esqueleto de un conjunto de puntos es el conjunto de aristas contenidasen cada triangulación localmente mínima (Locally Minimal Triangulation -LMT). Una triangulación es localmente mínima si cada arista de la triangu-lación es localmente mínima. Una arista e es localmente mínima si cumplecon una de las siguientes propiedades: i) la arista e está en el cierre convexo,ii) la arista e es adyacente a dos triángulos que juntos forman un cuadriláte-ro no convexo, ó iii) la arista e es adyacente a dos triángulos que forman uncuadrilátero convexo y e es más corta que la otra diagonal del cuadrilátero.Dado un conjunto S de puntos, un algoritmo iterativo puede encontrar aris-tas del LMT-esqueleto y por lo tanto de la triangulación de peso mínimo. Elalgoritmo particiona el conjunto de todas las aristas uniendo pares de puntosen S en tres clases: imposibles en LMT, posibles en LMT o seguros en LMT,y por lo tanto en el LMT-esqueleto. Todas las aristas están inicialmente ro-tuladas como posibles. El algoritmo luego considera cada arista posible e yla vuelve imposible si e no tiene ningún certicado realizado de aristas po-sibles. Volver una arista imposible puede invalidar certicados previos. Laarista e se vuelve segura si e pertenece al cierre convexo de S o e tiene uncerticado y no hay aristas posibles o seguras que intersequen e. Todas lasaristas seguras forman un subgrafo del LMT-esqueleto de S, el cual es unsubgrafo de la triangulación de peso mínimo. Si el conjunto de aristas segurases conexo, entonces la triangulación de peso mínimo puede ser completadaaplicando algoritmos de programación dinámica para polígonos. La desven-taja es que no se garantiza la conectividad del LMT-esqueleto y por lo tantono se puede aplicar programación dinámica para obtener la triangulación depeso mínimo. Bose et al. [26] muestran que existen conjuntos de puntos talesque el número de componentes en el LMT-esqueleto es lineal respecto delnúmero de puntos. De hecho, para n puntos independientes idénticamentedistribuidos X1, ..., Xn, elaborados a partir de la distribución uniforme en[0, 1]2, se muestra que el número esperado de componentes crece linealmenteen n. Estos resultados sugieren que el LMT-esqueleto no ayuda a resolverla complejidad de tiempo del peor caso del cálculo de la triangulación pesomínimo.

El trabajo de Beirouti y Snoeyink [16] presenta una implementación de laheurística LMT para resolver el problema MWT la cual puede calcular muyrápido la exacta triangulación de peso mínimo para buenos conjuntos de

Page 89: Metaheurísticas en la resolución de problemas sobre triangulaciones

4.1. Triangulación de Peso Mínimo 67

puntos, es decir, conjuntos de puntos hábilmente distribuidos. Además, anuestro entender, no hay informes sobre la demostración de tales resultados.Aichholzer et al. [4] refutan la conjetura de que el LMT-esqueleto coincide conla intersección de todas las triangulaciones localmente mínimas, LMT(P ),siendo P un polígono en el plano. Cheng et al. [31] debilitaron el test parapermitir que cada pasada se ejecute en tiempo O(n3 log n) y espacio O(n2).Hainz et al. [71] incorporaron técnicas de bucketing de [49] y otras revisioneslocales para obtener un algoritmo que tenga desempeño lineal para conjuntosde puntos distribuidos uniformemente.

Eliminación de aristas

Otra línea de investigación se basa en la eliminación de aristas consideran-do que puede ser mejor eliminar aristas en vez de buscar las que pertenecen ala triangulación de peso mínimo. La motivación fue una simple observación:la arista eliminada simplica la situación de reconocer las aristas o triángulosde la triangulación de peso mínimo y nalmente se llega al mismo resultado.Por lo tanto, se deben eliminar n(n − 1)/2 − 3n + k = n(n − 7)/2 + k + 3aristas, donde k es el número de aristas del cierre convexo. Además, éste esel punto de parada de cualquier método de eliminación. Se conocen algunossubconjuntos de aristas de la triangulación de peso mínimo. Los subconjun-tos que no se pueden eliminar son el cierre convexo y las aristas estables,introducidas por Xu [162]. Las aristas estables son las pertenecientes a todaslas triangulaciones, es decir, son las que no se intersecan (en un punto) conlas aristas del grafo completo. Notar que las aristas estables fueron descu-biertas por [11] donde se muestra que el número de aristas estables puedeser lineal.

Se han visto condiciones sucientes que aseguran que una arista formeparte de la triangulación de peso mínimo, por ejemplo, formar parte de undeterminado β-esqueleto. Ahora se presentan algunas condiciones que, nece-sariamente, debe cumplir cualquier arista de la triangulación de peso mínimo.En primer lugar la propiedad del diamante denida por Das y Joseph [38].Dicho test determina que una arista e sólo pertenece a la triangulación depeso mínimo si al menos uno de los dos triángulos isósceles con base e y ángu-los en la base de amplitud π/8 está vacío de puntos. Esta cota fue mejoradaa π/4,6 [49] (ver Figura 4.3).

Este test elimina del conjunto inicial de aristas posibles todas aquellascon al menos un punto en cualquiera de los dos triángulos del diamante.Dickerson et al. [43] observaron experimentalmente que este test eliminaun número cuadrático de aristas. Para una distribución uniforme el númeroesperado de aristas que satisfacen la propiedad de diamante es O(n). No serealizó la demostración para conjuntos generales.

Aichholzer et al. [4] denen una arista liviana (light edge) en un conjuntoS de puntos si no hay otra arista posible de menor longitud que la corte.

Page 90: Metaheurísticas en la resolución de problemas sobre triangulaciones

68 Capítulo 4. Problemas estudiados

π/4,6

e

Figura 4.3: Test del diamante: ejemplo en el cual la arista e no pertenecea la triangulación de peso mínimo ya que los dos triángulos poseen puntosinteriores y.

Todas las aristas de la triangulación de peso mínimo son livianas, por lo que sitodas las aristas livianas de un conjunto de puntos forman una triangulación,entonces ésta será la triangulación de peso mínimo. Desafortunadamente,existen aristas livianas que no pertenecen a la triangulación de peso mínimo[11].

Existen varias investigaciones de programas lineales (Linear Programs -LP) aplicados al problema MWT, pero no se conocía la relación entre cual-quier LP y cualquier algoritmo de aproximación o heurístico para MWT.Youse y Young [165] muestran esas relaciones: dada una formulación LP(Dantzig et al. [37]): (i) la brecha de integridad es constante, (ii) dada cual-quier instancia, si la heurística mencionada encuentra la triangulación depeso mínimo, luego, LP también la encuentra.

Complejidad computacional del problema MWT

El problema de la Triangulación de Peso Mínimo comenzó a tratarse an-tes de 1970 y ha sido considerado quizás el problema abierto más estudiadoen Geometría Computacional [18]. En la parte nal del clásico libro de Ga-rey y Johnson [64] de NP-completitud, existe una lista de doce problemascuyo estado de complejidad estaba abierto. Dentro de dicha lista se encon-traba el problema de MWT(S). Se resolvieron diez problemas de dicha listaprobando que son NP-duros o exhibiendo un algoritmo de tiempo polinomialque los resuelve. En 2006 Mulzer y Rote [124] demostraron que la triangu-lación de peso mínimo es un problema NP-duro, cerrando así la búsquedade un algoritmo polinómico para la construcción exacta de la triangulaciónde peso mínimo. Utilizaron una reducción en tiempo polinomial desde PO-SITIVE PLANAR 1-IN-3-SAT, una variante del problema 3-SAT, que esuna herramienta estándar para mostrar la dureza en problemas que no songeométricos.

Page 91: Metaheurísticas en la resolución de problemas sobre triangulaciones

4.1. Triangulación de Peso Mínimo 69

Metaheurísticas

Hace pocos años se comenzaron a atacar los problemas geométricos decomplejidad NP-dura utilizando técnicas metaheurísticas.

En cuanto al problema de la Triangulación de Peso Mínimo se atacó des-de los años noventa en el campo de la Computación Gráca. Sen y Zheng[145] proponen un algoritmo para aproximar la triangulación de peso mínimoutilizando Recocido Simulado pero en la mayoría de las pruebas realizadasobtienen soluciones cercanas a las óptimas y además puede ser tan ine-ciente en tiempo de respuesta como el algoritmo greedy. Cada conguraciónse representa utilizando una estructura de datos y el operador de vecindadsimplemente realiza un intercambio (ip) en una arista aleatoria de la trian-gulación actual.

Wu y Wainwright [159] utilizan un algoritmo genético implementado demanera secuencial y paralela. Comparan sus resultados con la triangulacióngreedy y la técnica de Recocido Simulado. La implementación fue probadacon conjuntos de puntos de distribución uniforme los cuales eran desfavora-bles para la triangulación greedy. Un individuo es una triangulación completay se representa como una lista de aristas. Los operadores de recombinacióny de mutación son iguales, es decir, ambos realizan un ip para obtener losindividuos de la próxima población. La población inicial es generada alea-toriamente. Se obtienen mejores resultados con el algoritmo genético quecon Recocido Simulado. En comparación con la triangulación greedy, sólo seobtuvieron mejores resultados con la versión paralela.

Qin, Wang y Gong [140] también utilizan un algoritmo genético para loque proponen nuevos operadores de recombinación y mutación adaptados alproblema.

Capp y Julstrom [28] presentan una interesante y original representaciónde datos y operadores. Una triangulación se representa con una lista de pesosenteros positivos asociados a los puntos del conjunto de entrada. La trian-gulación se deriva de estos pesos de la siguiente manera: cada peso de unpunto se agrega a las longitudes de todas las aristas potenciales incidentesa ese punto. Luego todas las aristas candidatas se ordenan ascendentemen-te de acuerdo a su longitud modicada y luego se aplica la metodologíagreedy. Una ventaja es que cualquier lista de pesos positivos representa unatriangulación y por lo tanto el resultado de los operadores genéticos son nue-vamente triangulaciones. La mutación se realiza con un cambio aleatorio enun peso. El operador de recombinación realiza un intercambio de sublistasde pesos de dos triangulaciones. Para calcular la función de evaluación sedeben tener en cuenta sólo las longitudes de las aristas, sin los pesos. Estemétodo se probó con conjuntos de hasta 50 puntos obteniendo mejores solu-ciones que utilizando la técnica greedy para conjuntos pequeños, pero paratamaños mayores se obtienen soluciones similares. La mayor desventaja esla demanda de tiempo.

Page 92: Metaheurísticas en la resolución de problemas sobre triangulaciones

70 Capítulo 4. Problemas estudiados

En los trabajos anteriores [159, 140, 28] la evaluación experimental es muylimitada y no se extraen conclusiones acerca de la calidad de las solucionesencontradas.

Bobáková et al. [22] utilizaron Recocido Simulado para obtener una heu-rística de triangulación subóptima para el problema MWT. La función decosto es una combinación ponderada de cuatro aspectos parciales. El ar-tículo muestra que la suma de longitudes de aristas de la triangulación sedisminuye, pero no se compara el peso alcanzado con el óptimo global. Al-gunos resultados comparativos de esta metodología pueden ser encontradostambién en [11].

Kolingerová en [95] utilizó un algoritmo genético donde cada individuo esuna triangulación completa. Para el operador de recombinación, las triangu-laciones padres se dividen en dos subconjuntos de aristas y se intercambian.Se pueden intercambiar sólo las aristas que no intersequen. Para obtenernuevamente dos triangulaciones completas, el resto de las aristas se agre-gan desde el conjunto de todas las posibles aristas localmente mínimas. Eloperador de mutación realiza el ip de una arista elegida aleatoriamente.Las pruebas se realizaron con conjuntos de hasta 50 puntos, con mejoresresultados para 40 puntos. Aunque el porcentaje de casos acertados contrala heurística comparativa se incrementó con el tamaño del conjunto de pun-tos, el porcentaje de fracasos también aumentó. Por lo tanto, esto provocaincertidumbre sobre la calidad de los resultados.

En [96], la autora mejora este enfoque restringiendo el espacio de búsque-da utilizando regiones prohibidas y las propiedades necesarias de las aristasde la triangulación de peso mínimo. Además el operador de recombinaciónse reemplazó por la recombinación DeWall el cual está inspirado en el al-goritmo para la triangulación de Delaunay descrito en [35]. La idea es queel conjunto de las aristas de la triangulación quede dividido en tres gruposde acuerdo a la posición respecto a una línea que interseca la triangulación:las aristas que están a la izquierda, a la derecha y las aristas intersecadaspor la línea. Si se realiza el mismo corte en dos triangulaciones del mismoconjunto de puntos, las aristas de la izquierda de la primera triangulación sepueden combinar con las aristas de la derecha de la segunda triangulaciónsin realizar pruebas de intersección. Se realiza el mismo procedimiento paralas aristas de la derecha de la primera triangulación con las de la izquierdade la segunda triangulación. Las triangulaciones descendientes se completancon las aristas del tercer grupo (las que intersecan con la línea). Se debenprobar posibles intersecciones. Puede suceder que se deban agregar aristasya que dichas triangulaciones pueden no ser completas. Incluso la operaciónpuede fallar por no tener sucientes aristas y se detiene el procedimiento.Se realizaron pruebas con conjuntos de hasta 100 puntos y en más de un48% se obtuvieron mejores resultados que la heurística de comparación. Ladebilidad principal del método es la demanda de tiempo.

Page 93: Metaheurísticas en la resolución de problemas sobre triangulaciones

4.2. Triangulación de Dilación Mínima 71

En 2010, Jahani et al. [82] presentan un algoritmo de Colonias de Hor-migas pero, como evaluación experimental, sólo muestran la solución óptimapara un único conjunto de siete puntos, hábilmente ubicados, comparándolocon la técnica greedy. Además no se describen los valores de los parámetrosutilizados.

4.2. Triangulación de Dilación Mínima

Las redes inalámbricas necesitan cumplir una serie de requisitos topoló-gicos para su correcto funcionamiento. En particular, en muchas aplicacioneses importante asegurar una conexión rápida entre cada par de puntos. Paraesto sería ideal tener una conexión directa entre cada par de puntos, es decir,un grafo completo. En la mayoría de las aplicaciones, sin embargo, esto esinaceptable debido a los altos costos.

Sea S un conjunto de puntos en el plano y T una triangulación de S. Sise consideran dos puntos u, v ∈ S, existen formas de medir la distancia entreellos:

|uv|: la distancia euclídea entre u y v; y

distT (u, v): la longitud del camino más corto entre u y v con respectoa T , es decir, la mínima distancia que se debe cubrir para ir desde u av cuando sólo se permite transitar por las aristas de T .

Considerando estos dos tipos de medida se puede denir la dilación.

Definición 4.4 (Dilación entre par de puntos): Sean S un conjunto depuntos, T una triangulación de S, y u, v ∈ S. La razón entre la distan-cia del camino más corto entre u y v considerando T y la distancia euclídeaentre u y v se denomina dilación entre u y v con respecto a T , es decir,∆T (u, v) = distT (u,v)

|uv| .

Intuitivamente, la dilación es una medida de calidad de la conexión entreu y v en T . Si la dilación es grande, signica que se tiene que recorrer unlargo camino a lo largo de las aristas de T con el n de alcanzar v desde u.

Definición 4.5 (Dilación de una triangulación): Sean S un conjunto depuntos y T una triangulación de S. El máximo de todas las dilaciones entrepares de vértices en T se denomina dilación de la triangulación T y midela calidad de la conexión entre cualquier par de vértices en T , es decir,∆(T ) = max

u,v∈S(∆T (u, v)).

Definición 4.6 (Dilación de un conjunto de puntos): Sean S un conjuntode puntos. La mejor dilación posible de cualquier triangulación T de S sellama dilación del conjunto S, es decir, ∆(S) = mın

∀T sobre S(∆(T )).

Page 94: Metaheurísticas en la resolución de problemas sobre triangulaciones

72 Capítulo 4. Problemas estudiados

Definición 4.7 (Triangulación de Dilación Mínima): Una triangulación T ∗

de dilación mínima de un conjunto S de puntos es una triangulación cuyadilación es la del conjunto de puntos S, es decir, ∆(T ∗) = ∆(S) y se denotacomo MDT(S).

Cabe destacar que la triangulación de dilación mínima no es única, yaque se pueden intercambiar aristas de dicha triangulación (excepto las delcamino que une el par de vértices que determinan la dilación) y así obtenerotra triangulación que también posee dilación mínima.

En la Figura 4.4, se muestra un ejemplo de un conjunto de puntos en elplano y dos triangulaciones donde una de ellas logra una dilación máximamuy alta, mientras que la otra tiene una dilación máxima muy baja.

T1

T2

Figura 4.4: Ejemplos de dos triangulaciones del conjunto de punto a, b,c, d. En la triangulación T1, la dilación de los puntos a y c es muy alta,mientras que en la triangulación T2 se tiene una baja dilación. La líneapunteada representa el camino más corto entre a y c en cada triangulación.

En la literatura cientíca se utilizan indistintamente los términos strechtfactor o dilation para indicar lo que se denominó aquí como dilación. Ungrafo geométrico G se denomina t-spanner si su dilación es a lo sumo t yconstituye una t-aproximación del grafo completo. El survey de Eppstein[55] presenta un buen resumen de los resultados relacionados con dilación degrafo conocidos hasta el año 2000. En el libro de Narasimhan y Smid [125]se incluyen resultados más recientes.

Antecedentes

En 2006 varios autores se cuestionaron si calcular grafos geométricos dedilación mínima sobre un conjunto de puntos dado era un problema NP-duro.Klein y Kutz [90] probaron que el problema de calcular el grafo de dilación

Page 95: Metaheurísticas en la resolución de problemas sobre triangulaciones

4.2. Triangulación de Dilación Mínima 73

mínima G = (S,E) con menos de m aristas para un conjunto dado S ⊂ R2

de n puntos es NP-duro.Si se restringe el estudio a tipos particulares de grafos geométricos, Cheong

et al. [33] mostraron que determinar si existe un árbol generador de un con-junto S de puntos con dilación a lo sumo ∆(S) es un problema NP-duro.Estos puntos tienen coordenadas enteras en el plano y una dilación racional∆(S) > 1. Giannopoulos et al. [66] probaron que calcular un ciclo Hamilto-niano o un camino Hamiltoniano de dilación mínima para un conjunto depuntos en el plano es NP-duro.

Existen casos especiales de instancias de problema que pueden ser re-sueltas ecientemente. Eppstein y Wortman [56] mostraron que el problemadel árbol generador tiene solución si se busca un grafo estrella. Más precisa-mente, dado un conjunto de puntos (terminales) se puede elegir, en tiempoO(n log n), otro punto del plano (el centro) que forme con los anteriores ungrafo estrella de dilación mínima. Presentaron un algoritmo aleatorizado pa-ra resolver este problema en tiempo O(n2α(n) log2 n), donde α(n) es la inversade la función de Ackermann. Knauer y Mulzer [94] calcularon una cota infe-rior para la dilación del n-gon regular1 y utilizaron esta cota para derivar unalgoritmo de aproximación eciente que calcula una triangulación de un polí-gono regular cuya dilación se encuentra dentro de un factor 1 +O(1/

√log n)

del óptimo.Poco se investigó sobre triangulaciones de dilación mínima, sólo existen

algunos trabajos donde se estima la dilación de ciertos tipos de triangula-ciones midiendo las distancias con diferentes métricas. Se sabe que las trian-gulaciones conocidas no son la triangulación de dilación mínima. Como semuestra en la Figura 4.5, ni la triangulación greedy ni la triangulación deDelaunay son la triangulación de dilación mínima.

Chew [34] mostró que la triangulación de Delaunay correspondiente a lamétrica L1, es decir el grafo dual del diagrama de Voronoi para la métricaL1, tiene una dilación de a lo sumo

√10 con la métrica euclídea. En 2012,

Bonichon et al. [24] mejoraron esta cota a√

4 + 2√

2 ≈ 2,61. Dobkin et al.[44] dieron un resultado similar para la triangulación de Delaunay correspon-diente a la métrica euclídea, demostrando que la dilación de esa triangulaciónestá acotada superiormente por (1+

√5

2 )π ≈ 5,08. Esta cota fue mejorada a2π/(3 cos(π/6)) ≈ 2,42 por Keil y Gutwin en 1992 [84]. En 2011, Xia [160]mejoró esta cota a 1,998. Xia y Zhang [161] mostraron una cota inferior de1,5932 para la dilación de la triangulación de Delaunay.

Al considerar triangulaciones óptimas, se trabaja con propiedades localesde las aristas ya que dichas propiedades mejoran la comprensión y a vecesconducen a algoritmos ecientes para calcularlas. Una clase importante depropiedades locales que se estudió para esta clase de triangulaciones estáconstituida por las regiones de exclusión. Las regiones de exclusión son una

1Un n-gon regular es un polígono de n lados iguales.

Page 96: Metaheurísticas en la resolución de problemas sobre triangulaciones

74 Capítulo 4. Problemas estudiados

GT DT MDT

Figura 4.5: Un conjunto de puntos para el cual ni la triangulación greedy(GT) ni la triangulación de Delaunay (DT) son la triangulación de dilaciónmínima (MDT).

condición necesaria para la inclusión de una arista en una triangulación óp-tima. Si u y v son puntos de un conjunto S de puntos en el plano, entoncesla arista e = (u, v) sólo puede ser contenida en una triangulación óptimade S si no existen otros puntos de S dentro de ciertas partes de la regiónde exclusión de S. Knauer y Mulzer [93] mostraron que una arista e sólopuede ser incluida en la triangulación de dilación mínima si al menos unode los dos semicírculos con radio α|e| cuyo centro es el punto medio de e,está vacío de puntos (ver Figura 4.6). α denota cualquier constante tal que0 < α < 3 cos(π/6)/(4π) ≈ 0,2067.

Figura 4.6: Región de exclusión para la triangulación de dilación mínimapara los puntos u y v.

Generalmente las regiones de exclusión se aplican como un ltro inicialen algoritmos que calculan triangulaciones óptimas [16, 49]. Las aristas res-tantes se procesan utilizando otras propiedades locales que dan condicionessucientes para la inclusión de una arista. Sin embargo, para la triangula-ción de dilación mínima, todavía no se sabe qué condiciones deben cumplirlas aristas restantes, ya que no se conocen otras propiedades locales quese puedan utilizar en etapas de procesamiento posteriores. Encontrar talespropiedades locales sigue siendo un problema abierto.

Page 97: Metaheurísticas en la resolución de problemas sobre triangulaciones

4.3. Análisis de la revisión de la literatura 75

La cota superior mostrada en [84] se puede utilizar como condición su-ciente para la inclusión de una arista. Sea p y q dos puntos de S, γ =2π/(3 cos(π/6)) y el elipsoide Ep,q,γ = x ∈ R2/|px| + |qx| ≤ γ∆|pq| confocos p y q. Si Ep,q,γ está vacío de puntos, entonces la arista (p, q) tieneque ser incluida en la triangulación de dilación mínima de S ya que de otramanera la dilación entre p y q sería mayor que γ.

En su tesis de maestría [88], Klein propuso un algoritmo greedy paraaproximar la triangulación de dilación mínima para conjuntos pequeños depuntos. En su evaluación experimental sólo se muestran resultados para con-juntos de a lo sumo 10 puntos. Este algoritmo se basa en el valor obstáculo(obstacle value) de las aristas. El valor obstáculo de una arista e es la má-xima dilación que causa su presencia. La existencia de e en la triangulaciónpuede bloquear el camino directo entre dos puntos y causar un desvío. En elalgoritmo las aristas son ordenadas de manera ascendente considerando suvalor obstáculo. Luego la arista con menor valor se inserta siempre que nointerseque con las aristas insertadas anteriormente y no se haya trianguladocompletamente el conjunto de puntos.

El problema de calcular la triangulación de dilación mínima de un con-junto de puntos en el plano se encuentra en la lista de problemas abiertosen el survey de Eppstein [55]. No se conoce un algoritmo que en tiempopolinomial pueda resolverlo y tampoco se demostró que sea un problemaNP-duro.

4.3. Análisis de la revisión de la literatura

En esta sección se realiza un resumen de los trabajos más relevantes re-lacionados con los problemas tratados y sobre los cuales se basa la presentetesis. Se realiza un análisis de dichas investigaciones planteando sus desven-tajas y mostrando las motivaciones de nuestro trabajo.

En la Tabla 4.1 se presentan los resultados más relevantes relacionadoscon el problema MWT divididos de acuerdo a la manera en que se atacó alproblema.

En todos los artículos de la la Metaheurísticas no se muestran los va-lores de parámetros utilizados en la evaluación experimental, no se realizaun análisis estadístico de los resultados y no se describe la calidad de lassoluciones obtenidas.

Además se debe aclarar que en el trabajo sobre el subgrafo LMT-esqueleto,si bien se puede obtener la triangulación de peso mínimo aplicando algo-ritmo de triangulación (programación dinámica) a los polígonos restantescuando dicho esqueleto es conexo, no se puede asegurar la conectividad delLMT-esqueleto para cualquier conjunto de puntos y por lo tanto no siem-pre se puede aplicar programación dinámica para obtener la triangulaciónde peso mínimo. Los autores hacen referencia que con alta probabilidad el

Page 98: Metaheurísticas en la resolución de problemas sobre triangulaciones

76 Capítulo 4. Problemas estudiados

LMT-esqueleto es conexo para conjuntos de puntos generados aleatoriamen-te aunque justican esta armación diciendo que han probado dicha técnicapara muchos conjuntos de puntos para los cuales su LMT-esqueleto siempreresultó conexo. En el artículo de Bose et al. [26] se muestran propiedades queposeen algunos conjuntos de puntos para los cuales el LMT-esqueleto no esconexo.

Considerando que el problema de calcular la triangulación de peso míni-mo es NP-duro y que no es tarea simple localizar o reconocer estas propieda-des en los conjuntos de puntos para saber si la técnica de LMT-esqueleto re-tornará una estructura conexa, se pensó atacar el problema utilizando direc-tamente técnicas metaheurísticas sin necesidad de calcular el LMT-esqueletoy localizar estas propiedades. Primero se utilizó ACO (basada en población)ya que la representación de los datos era directa y luego se implementó latécnica SA (basada en trayectoria) comparando estos resultados con los ob-tenidos utilizando la técnica LMT-esqueleto + programación dinámica paradeterminar la calidad de los resultados obtenidos con nuestras propuestas.Esta comparación se realizó sabiendo que las instancias consideradas en laprimera etapa de la evaluación experimental poseen un LMT-esqueleto co-nexo. Además, en una segunda etapa de experimentación, se desarrolló ungenerador de instancias que considera las propiedades presentadas en [26]para las cuales no se puede utilizar la técnica del LMT-esqueleto.

PROBLEMA MWT

Triangulacionesconocidas

Ni la triangulación de Delaunay ni la Greedy son latriangulación de peso mínimo [100].

Resolución demanera determinista

Varios intentos pero sólo se consiguió obtener la trian-gulación de peso mínimo para conjuntos pequeños depuntos [98, 43, 16, 72].

Resolución paraconjuntos de puntosen posicionesespeciales

- Cálculo de la triangulación de peso mínimo de unpolígono simple en tiempo O(n3) [67, 92].- Cálculo de la triangulación de peso mínimo de unpolígono con agujeros (pointgons) [25].

Buenasaproximaciones

- Heurística que aproxima a la triangulación de pesomínimo dentro de un factor de O(log n) [137].- Estudio de la relación entre la triangulación de pesomínimo y la triangulación greedy incluyendo una mo-dicación de la triangulación greedy, la denominadatriangulación quasigreedy [109, 107, 105, 106].- Esquema de aproximación de tiempo quasi-polinomial para obtener la triangulación de peso míni-mo [143].

Page 99: Metaheurísticas en la resolución de problemas sobre triangulaciones

4.3. Análisis de la revisión de la literatura 77

Subgrafos Método para obtener un subgrafo de la triangulaciónde peso mínimo calculando el LMT-esqueleto [41]. Sidicho esqueleto es conexo, se puede obtener la trian-gulación de peso mínimo aplicando algoritmo de trian-gulación (programación dinámica) a los polígonos res-tantes.

Exclusión de aristas Propiedad de diamante: condición necesaria pero nosuciente para que una arista pertenezca a la triangu-lación de peso mínimo [38].

Complejidadcomputacional

El problema de obtener una triangulación con pesoinferior a un valor k es un problema NP-duro [124].

Metaheurísticas - Técnica SA utilizando el operador de ip para obte-ner el vecindario de una solución [145].- Técnica SA utilizando como función de costo unacombinación ponderada de cuatro aspectos parciales[22].- Técnica GA utilizando el operador de ip en la re-combinación y mutación [159].- Técnica GA utilizando operadores de recombinacióny mutación adaptados al problema [140].- Técnica GA utilizando nueva codicación para lastriangulaciones [28].- Técnica GA utilizando operador DeWall en la recom-binación y el operador de ip en la mutación [96].- Técnica ACO mostrando como evaluación experi-mental un conjunto de 7 puntos y lo compara con latriangulación Greedy [82].

Tabla 4.1: Resumen con antecedentes más importantes del problema MWT.

A continuación, en la Tabla 4.2 se presentan los resultados más impor-tantes vinculados al problema MDT que se consideraron en la presente tesis.Se debe aclarar que la evaluación experimental realizada con el algoritmogreedy que ordena las aristas utilizando el valor obstáculo sólo cuenta conconjuntos de a lo sumo 10 puntos.

Considerando que no se demostró que el problema MDT sea NP-duro nise encontró un algoritmo que lo resuelva en tiempo polinomial y que, además,un conjunto de puntos admite una cantidad exponencial de triangulacioneses que se pensó en atacar el problema utilizando técnicas metaheurísticas.No existen trabajos en la literatura que muestren resultados de aplicación dedichas técnicas en la obtención de soluciones aproximadas para el problema

Page 100: Metaheurísticas en la resolución de problemas sobre triangulaciones

78 Capítulo 4. Problemas estudiados

MDT. Por lo tanto, para una primera aproximación, se diseñó una estrategiagreedy, diferente a la existente, capaz de obtener soluciones aproximadas alas óptimas de una manera sencilla. También se propuso un operador paragenerar el vecindario que se utiliza en diferentes algoritmos: Búsqueda Local,Búsqueda Local Iterada y Recocido Simulado. Además, se diseñó un algo-ritmo llamado Búsqueda Local Aleatoria (Random Local Search) en el cualse aceptan soluciones buenas y malas con el operador mencionado anterior-mente.

PROBLEMA MDT

Triangulacionesconocidas

- Ni la triangulación de Delaunay ni la Greedy son latriangulación de dilación mínima.- La dilación de la triangulación de Delaunay de cual-quier conjunto de puntos es menor que 1,998. Existenconjuntos de puntos cuya triangulación de Delaunaytiene dilación mayor que 1,5932 [161].

Resoluciónpara conjuntosde puntos enposicionesespeciales

Algoritmo de aproximación que calcula la triangula-ción de un n-gon regular cuya dilación se encuentradentro de un factor 1 +O(1/

√log n) del óptimo [94].

Inclusión yexclusión dearistas

- La arista e = (u, v) pertenece a la triangulación dedilación mínima sólo si al menos uno de los dos semi-círculos con radio α|e| está vacío de puntos [93].- La arista e = (u, v) pertenece a la triangulación dedilación mínima si el elipsoide Eu,v,γ está vacío de pun-tos [84].

Complejidadcomputacional

No se conoce un algoritmo que, en tiempo polinomial,encuentre una triangulación de dilación mínima paraun conjunto de puntos en el plano y tampoco se des-mostró que dicho problema se NP-duro.

Buenasaproximaciones

Algoritmo greedy para aproximar la triangulación dedilación mínima que ordena las aristas utilizando elvalor obstáculo de cada una [88].

Tabla 4.2: Resumen con antecedentes más importantes del problema MDT.

Page 101: Metaheurísticas en la resolución de problemas sobre triangulaciones

Capítulo 5

Conceptos paraimplementación e instancias deprueba

En las secciones siguientes se presentan deniciones, estructuras de datosy algoritmos propios de la Geometría Computacional que fueron utilizadosen el desarrollo de esta tesis. Además se describe cómo fueron desarrolladaslas instancias de problema utilizadas para la evaluación experimental.

5.1. Área signada

El cálculo del área signada se calcula en numerosas aplicaciones que casipuede ser considerada como una operación primitiva en la Geometría Compu-tacional.

Definición 5.1 (Área signada): Sean p0, p1 y p2 tres puntos en el plano,p0 = (x0, y0), p1 = (x1, y1), p2 = (x2, y2). El área signada determinada porestos tres puntos es el área del triángulo que los tiene como vértices con elsigno correspondiente a la orientación del triángulo. Se puede calcular con

∆(p0, p1, p2) = 12

∣∣∣∣∣∣1 1 1x0 x1 x2

y0 y1 y2

∣∣∣∣∣∣Si ∆(p0, p1, p2) > 0 signica que la lista (p0, p1, p2) describe la frontera

del triángulo con orientación positiva (sentido antihorario) y si, en cambio,∆(p0, p1, p2) < 0, lo hará con orientación negativa (sentido horario). En laFigura 5.1 se muestra un ejemplo.

79

Page 102: Metaheurísticas en la resolución de problemas sobre triangulaciones

80 Capítulo 5. Conceptos para implementación e instancias de prueba

(a) (b)

Figura 5.1: Área signada: en (a) ∆(p0, p1, p2) > 0, es decir, los puntos realizanun giro a la izquierda (sentido antihorario) y en (b) ∆(p0, p1, p2) < 0, es decir,realizan un giro a la derecha (sentido horario).

Algunas aplicaciones del área signada

A continuación se describen las aplicaciones del área signada dentro delpresente trabajo: localización de un punto respecto de una recta, compara-ción de un ángulo con π, clasicación de los tipos de vértices de un polígonoe intersección de aristas.

Localización de un punto respecto de una recta. Si se considera unarecta que pasa por los puntos p1 y p2 y se quiere saber dónde está ubi-cado un tercer punto p3 basta calcular el área signada ∆(p1, p2, p3). Si∆(p1, p2, p3) es positiva, p3 está en el semiplano izquierdo determinadopor la recta p1p2. Si es negativa está en el semiplano derecho y si escero está sobre la recta. En la Figura 5.2 se muestran las situacionesposibles, ∆(p1, p2, p3) > 0, ∆(p1, p2, p

′3) < 0 y ∆(p1, p2, p

′′3) = 0.

Figura 5.2: Localización de un punto respecto de una recta utilizando el áreasignada.

Comparación de un ángulo con π. El área signada permite comparara un ángulo α determinado por dos segmentos con π, sin que sea ne-cesario calcular el valor del ángulo, evitando así el uso de funciones

Page 103: Metaheurísticas en la resolución de problemas sobre triangulaciones

5.1. Área signada 81

trigonométricas, que además de ser complejas, generalmente propor-cionan soluciones aproximadas.

Sea α un ángulo determinado por los segmentos p1p2 y p2p3 . Si∆(p1, p2, p3) > 0 signica el ángulo es menor que π, en cambio si∆(p1, p2, p3) < 0, el ángulo es mayor. Esta situación se muestra en laFigura 5.3.

Figura 5.3: Comparación de un ángulo con π utilizando el área signada.

Clasicación de los vértices de un polígono. En un polígono, un vérticees convexo si el ángulo interior que determinan los lados concurrentesen él es menor o igual que π, y un vértice cóncavo si el ángulo interiores mayor que π.

Dado un polígono P determinado por su lista de vértices con orienta-ción positiva, el signo de ∆(vi−1, vi, vi+1) determina qué tipo de vérticees vi. Si es mayor o igual a cero, es convexo y si es menor que cero escóncavo. En el ejemplo de la Figura 5.4, los vértices v1, v2, v3, v4, v5, v7

y v8 son convexos, en cambio v6, v9 y v10 son cóncavos.

Figura 5.4: Clasicación de los vértices de un polígono utilizando el áreasignada.

Intersección de aristas. Una pregunta que se realiza en la mayoría delos algoritmos propuestos en este trabajo es si dos aristas intersecan.Dos aristas (a, b) y (c, d) intersecan sí y sólo si los puntos a y b seencuentran de lados opuestos a la arista (c, d), y los puntos c y d se

Page 104: Metaheurísticas en la resolución de problemas sobre triangulaciones

82 Capítulo 5. Conceptos para implementación e instancias de prueba

encuentran de lados opuestos a la arista (a, b). Esto se puede responderutilizando el área signada, donde las aristas (a, b) y (c, d) intersecansi y sólo si:

• ∆(a, c, d) ·∆(b, c, d) < 0, y

• ∆(c, a, b) ·∆(d, a, b) < 0.

En la Figura 5.5 se muestran dos ejemplos.

(a) (b)

Figura 5.5: Intersección de aristas utilizando el área signada. En (a) lasaristas intersecan (∆(a, c, d) · ∆(b, c, d) < 0, y ∆(c, a, b) · ∆(d, a, b) < 0.) yen (b) no intersecan (∆(a, c, d) ·∆(b, c, d) > 0).

5.2. Cierre convexo

Un conjunto S de puntos en el plano se llama convexo sí y solo si paracualquier par de puntos p, q ∈ S, el segmento de recta pq está completamentecontenido en S. En la Figura 5.6 se muestran ejemplos de conjuntos de puntosconvexos y no convexos.

Definición 5.2 (Cierre convexo): El cierre convexo de un conjunto nitoS de puntos es el menor polígono convexo que contiene a S. Se denota comoCH(S) por las iniciales del término en inglés (Convex Hull).

Se puede demostrar que este polígono existe y es la intersección de todoslos conjuntos convexos que contienen a S.

El método para calcular el cierre convexo que se presenta en esta sección,conocido como Scan de Graham, permite calcular el cierre convexo de unconjunto nito de puntos del plano [69].

Así, en los algoritmos donde se implementa el Scan de Graham se pue-den apreciar dos pasos, el primero consiste en ordenar los puntos de S para

Page 105: Metaheurísticas en la resolución de problemas sobre triangulaciones

5.3. Lista de aristas doblemente conectada 83

(a) (b)

Figura 5.6: Ejemplo de conjunto (a) convexo y (b) no convexo.

obtener una lista cíclica L con todos los puntos de S que describe un polí-gono especial, estrellado o monótono. Un segundo paso, el de escaneo (scan),consiste en comprobar que cada punto de L forme con sus dos adyacentesun ángulo menor que π. El punto que no cumpla dicha condición, se eliminay así se va depurando L hasta que la lista resultante satisfaga esa condición.La complejidad de este algoritmo es de O(n log n).

En la Figura 5.7 se puede ver cómo se calcula el cierre convexo de unconjunto de 10 puntos utilizando el Scan de Graham.

5.3. Lista de aristas doblemente conectada

En esta sección se presenta la estructura de datos ampliamente utilizadaen Geometría Computacional y particularmente en este trabajo.

Una triangulación es un tipo de grafo que contiene una gran cantidad dedatos. Se requiere entonces manejar estos datos correctamente para poderdiseñar algoritmos. Entre las operaciones más usadas se encuentran:

Visitar todas las aristas o vértices.

Recorrer cada una de las caras en ambos sentidos.

Eliminar/incluir aristas o vértices.

Realizar un intercambio de aristas.

Conseguir todas las aristas incidentes a un vértice.

La lista de aristas doblemente conectada (Doubly-Connected Edge List- DCEL) es una estructura de almacenamiento apropiada para representaruna descomposición del plano en regiones poligonales. La DCEL consiste de

Page 106: Metaheurísticas en la resolución de problemas sobre triangulaciones

84 Capítulo 5. Conceptos para implementación e instancias de prueba

1) 2) 3)

4) 5) 6)

7) 8) 9)

10) 11) 12)

13) 14)

Figura 5.7: Ejemplo de aplicación del Scan de Graham. A cada punto se loagrega a la cadena corriente. Si este nuevo punto causa una esquina cóncava(aristas rojas), se remueve el punto de la cadena que causa dicha esquina. Serepite esto hasta que se recorran todos los puntos.

Page 107: Metaheurísticas en la resolución de problemas sobre triangulaciones

5.3. Lista de aristas doblemente conectada 85

tres colecciones de registros: uno para vértices, uno para las caras y otro paralas semiaristas 1. Dichos registros almacenan la siguiente información:

El registro de tipo vértice: Siendo v un vértice, guarda las coordenadasde v en un campo denominado Coordenadas(v). También, almacena unpuntero ArcoIncidente(v) a una semiarista arbitraria cuyo origen es v.

El registro de tipo cara: Siendo f una cara, almacena un punteroComponenteExterior(f) a alguna semiarista sobre su borde exterior.Cuando la cara es limitada, este puntero es nulo. También almacenauna lista ComponentesInternas(f), la cual contiene para cada agujeroen la cara un puntero a alguna semiarista sobre el borde del agujero.

El registro de tipo semiarista: Siendo e una semiarista, guarda un pun-tero Origen(e) a su origen, un puntero Gemelo(e) a su semiarista com-plementaria y un puntero CaraIncidente(e) a la cara que limita. Eldestino de un arco se obtiene por Origen(Gemelo(e)). El origen se eli-ge considerando que CaraIncidente(e) esté contenido a la izquierda de ecuando se lo recorre desde su origen hasta su destino. Además, este tipode registro guarda los punteros Próximo(e) y Previo(e) a los arcos pró-ximo y anterior respectivamente según el borde de CaraIncidente(e).Así, Próximo(e) es el único arco sobre la cara CaraIncidente(e) quetiene el destino de e como su origen; y Previo(e) es el único arco sobrela cara CaraIncidente(e) que tiene el Origen(e) como su destino.

Veamos un ejemplo de estos conceptos en la Figura 5.8:

Figura 5.8: Datos almacenados en una DCEL.

A continuación se muestra un conjunto de puntos y arcos (ver Figura 5.9),y su correspondiente representación en una DCEL (ver Tabla 5.1)

En la representación anterior se consideró como único atributo de losobjetos su nombre, pero, de hecho, según la aplicación, pueden recibir tantos

1Arista es el segmento que une dos puntos, sin que se caractericen los extremos. Arcoo Semiarista: es el segmento con sus extremos caracterizados, uno como origen y el otrocomo destino

Page 108: Metaheurísticas en la resolución de problemas sobre triangulaciones

86 Capítulo 5. Conceptos para implementación e instancias de prueba

Figura 5.9: Ejemplo de datos almacenados en una DCEL.

Vértices

Vértices Coordenadas ArcoIncidentev1 (0,4) e1,1

v2 (2,4) e4,2

v3 (2,2) e2,1

v4 (1,1) e2,2

Caras

Cara Componente Externa Componente Internaf1 nulo e1,1

f2 e4,1 nulo

Arcos

Semiarista Origen Gemelo CaraIncidente Próximo Previoe1,1 v1 e1,2 f1 e4,2 e3,1

e1,2 v2 e1,1 f2 e3,2 e4,1

e2,1 v3 e2,2 f1 e2,2 e4,2

e2,2 v4 e2,1 f1 e3,1 e2,1

e3,1 v3 e3,2 f1 e1,1 e2,2

e3,2 v1 e3,1 f2 e4,1 e1,2

e4,1 v3 e4,2 f2 e1,2 e3,2

e4,2 v2 e4,1 f1 e2,1 e1,1

Tabla 5.1: Ejemplo de representación de un conjunto de puntos y de arcosutilizando una DCEL.

atributos como sea necesario. Si el grafo subyacente representa un mapa

Page 109: Metaheurísticas en la resolución de problemas sobre triangulaciones

5.4. Instancias de prueba 87

geográco en el plano, donde los vértices son localidades, por ejemplo sepodría guardar su población. Y si las aristas representan rutas, entonces sepodrían almecenar datos referidos a cada ruta.

Esta representación completa y de uso común fue descrita por Mullery Preparata [123]. Existen otras estructuras para almacenar subdivisiones(por ejemplo, [70]), pero las diferencias entre ellas son leves y todas tienen,en general, la misma funcionalidad y complejidad espacial.

5.4. Instancias de prueba

La evaluación de técnicas metaheurísticas aplicadas en la resolución deproblemas geométricos necesita generar aleatoriamente instancias de prue-ba para contar con conjuntos de tamaño y complejidad variados. Luego derealizar una búsqueda en la literatura, nos encontramos con la situación deque no existen colecciones de instancias para los problemas planteados, esdecir, que no existen resultados de referencia (benchmark) disponibles quepermitan comparar nuestras propuestas. Cabe aclarar que si bien no se en-contraron instancias de problema con sus correspondientes resultados, si seencontraron disponibles algoritmos para ciertas instancias con característicasespeciales.

Generación aleatoria de instancias de prueba

Se diseñó un generador aleatorio de instancias de problema las cualesson conjuntos de puntos que varían en tamaño y distribución en el plano,como por ejemplo pueden ser generados en un disco, en un cuadrado o enun círculo. Para construir estos conjuntos se utilizan diferentes funciones degeneración aleatoria de la librería CGAL [1].

En esta tesis se consideraron conjuntos de puntos generados en formaaleatoria, utilizando una distribución uniforme dentro de un cuadrado y paracada punto las coordenadas (x, y) se encuentran dentro del rango [0, 1000].Por cuestiones de implementación, estas instancias deben ser pre-procesadaspara garantizar que los puntos no sean colineales, es decir que no existantres puntos ubicados sobre una misma recta. Ésta es una condición necesariapara poder encontrar soluciones adecuadas para los problemas planteados.Basados en los antecedentes encontrados en la literatura, se considerarontamaños de conjunto de 40, 80, 120, 160 y 200 puntos, creando una colecciónde 20 instancias (4 de cada tamaño). Cada instancia se denota como LDn-i,donde n es el tamaño de la instancia i, con 1 ≤ i ≤ 4.

En el Algoritmo 6 se muestra el pseudocódigo del generador aleatorio deconjuntos de puntos cuyos datos de entrada son: c = cantidad de puntos, d =distribución de los puntos y u = ubicación de los puntos. En esta etapa de ex-perimentación se crearon instancias con puntos distribuidos uniformemente

Page 110: Metaheurísticas en la resolución de problemas sobre triangulaciones

88 Capítulo 5. Conceptos para implementación e instancias de prueba

dentro de un cuadrado (d=1, u=1).

Algoritmo 6 Pseudocódigo del generador aleatorio de conjuntos de puntos

puntos ← ReservarEspacio(c)switch (u)case 1 ://Crea c puntos en el interior de un cuadradoRandom_points_in_square_2<Point,Creator>g(1000.0)

case 2 ://Crea c puntos en el interior de un discoRandom_points_in_disc_2<Point,Creator>g(1000.0)

case 3 ://Crea c puntos en un círculoRandom_points_on_circle_2<Point,Creator>g(1000.0)

end switch//Copia en puntos los c puntos generados en gCGAL::copy_n(g, c, std::back_inserter(puntos))GenerarArchivoDeSalida(puntos)

En la Figura 5.10 se muestra una instancia generada de cada tamañoconsiderado (en la Tabla B.1 del Apéndice B se muestran todas las instanciasde problema consideradas en la evaluación experimental).

Generación aleatoria de instancias de prueba particulares

Considerando el problema de Triangulación de Peso Mínimo y el trabajoplanteado en [31], se puede generar el LMT-esqueleto de un conjunto S depuntos y luego utilizar programación dinámica para triangular los polígonossimples restantes del esqueleto para obtener la triangulación de peso mínimode S. Esta metodología sólo puede aplicarse si el LMT-esqueleto es conexo,ya que si no lo es, los agujeros del LMT-esqueleto no son polígonos simples yno se puede utilizar la programación dinámica. En dicho trabajo se exponeque con alta probabilidad el LMT-esqueleto es conexo para conjuntos depuntos generados aleatoriamente con distribución uniforme. Esto lo armandebido a que se probó esta metodología para muchos conjuntos y en todaséstas el LMT-esqueleto resultó conexo. Cabe destacar que existen conjuntosde puntos (realizados manualmente) para los cuales no se consigue la trian-gulación de peso mínimo con esta técnica. Se probó esta metodología conlas 20 instancias de prueba creadas con el generador aleatorio de conjun-tos de puntos y en todos los casos el LMT-esqueleto resultó conexo y porlo tanto se pudo obtener la triangulación de peso mínimo. Esto llevó a lanecesidad de crear instancias para las cuales no se pueda utilizar la técnicaLMT-esqueleto + programación dinámica, es decir, instancias para las cualesel LMT-esqueleto sea no conexo y cuyos subconjuntos de puntos no trian-

Page 111: Metaheurísticas en la resolución de problemas sobre triangulaciones

5.4. Instancias de prueba 89

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

40 puntos

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

80 puntos

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

120 puntos

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

160 puntos

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

200 puntos

Figura 5.10: Ejemplos de las instancias realizadas por el generador aleatoriode instancias de prueba.

gulados formen polígonos no simples y no se pueda utilizar programacióndinámica para triangularlos.

La clave para crear estas instancias se basa en el artículo de Bose et al.[26] quienes muestran que existen conjuntos de puntos tales que el número decomponentes en el LMT-esqueleto es lineal respecto del número de puntos. Dehecho, para n puntos independientes idénticamente distribuidos, X1, ..., Xn,

Page 112: Metaheurísticas en la resolución de problemas sobre triangulaciones

90 Capítulo 5. Conceptos para implementación e instancias de prueba

elaborados a partir de la distribución uniforme en [0, 1]2, se muestra que elnúmero esperado de componentes crece linealmente en n. Los resultados sebasan en mostrar una estructura llamada diamante que hace que el grafotenga vértices aislados y que el número de diamantes encontrados en unconjunto de puntos aleatorios crezca linealmente, aunque con una constantemuy pequeña.

En dicho artículo se expone que, dado un conjunto S de n puntos en elplano, un punto p ∈ S se llama diamante si se cumplen dos condiciones:

(i) El círculo centrado en p con radio r = 1/√n no contiene ningún otro

punto.

(ii) El 18-gon regular centrado en p con círculo inscrito de radio r y alineadocon el eje x dene 18 sectores cuadriláteros con vértices en los puntosvecinos tangenciales, un vértice del polígono y el origen p. Cada uno delos sectores contiene uno y sólo un punto que por el item (i) anteriordebe estar fuera del círculo.

Además, plantean y demuestran el siguiente teorema.

Teorema 5.1 Para cada n ≥ 19, hay un conjunto S de n puntos cuyoLMT-esqueleto consta de al menos bn/19c componentes.

Los autores concluyen que estos resultados implican que el LMT-esqueletono proporciona información suciente para calcular la triangulación pesomínimo de un conjunto de puntos particular en tiempo polinomial. De he-cho, para conjuntos de puntos aleatorios, su resultado sólo insiste en queel número esperado de componentes es mayor que uno cuando n es mayorque aproximadamente 1051 lo cual podría explicar por qué no se observa-ron muchos componentes aislados en los experimentos realizados sobre elLMT-esqueleto.

Considerando estas propiedades que deben cumplir las instancias paraque su correspondiente LMT-esqueleto sea no conexo, se realizó un generadoraleatorio de instancias particulares en el que se selecciona la cantidad dediamantes y la cantidad de puntos interiores y exteriores de cada uno de losdiamantes.

La idea general es generar puntos dentro del círculo interior verde ydentro del anillo exterior celeste (ver Figura 5.11). Además se controla que,para instancias con más de un diamante, no se intersequen los círculos quecontienen a dichos diamantes para evitar que la unión de dos diamantescause que el LMT-esqueleto sea conexo.

El esquema general del generador aleatorio de instancias particulares sepresenta en el Algoritmo 7 donde:

generarCentro() crea aleatoriamente el centro del diamante sin queinterseque con los diamantes previamente generados.

Page 113: Metaheurísticas en la resolución de problemas sobre triangulaciones

5.4. Instancias de prueba 91

Figura 5.11: Generador aleatorio de instancias con diamantes. Regiones deinserción de puntos interiores (círculo verde) y puntos exteriores (anillo ce-leste).

generarPuntosInteriores() crea aleatoriamente cantInt puntos dentrodel círculo interior. cantInt es ingresado por el usuario para cada dia-mante de la instancia. El radio del círculo es 15.

generarPuntosExteriores() crea aleatoriamente cantExt puntos dentrodel anillo exterior. cantExt es ingresado por el usuario para cada dia-mante de la instancia. El ancho del anillo es 10.

Algoritmo 7 Generador aleatorio de instancias particulares

d← cantDiamfor i = 1 to d dogenerarCentro()generarPuntosInteriores()generarPuntosExteriores()

end for

En la Figura 5.12 se muestran 2 instancias con 2 diamantes cada una(uno con 3 puntos interiores y 19 exteriores y otro con 2 interiores y 22exteriores).

El generador aleatorio de instancias particulares fue programado en MATLAB[116] y para la etapa de la evaluación experimental donde se utilizaron ins-tancias de problema cuyo LMT-esqueleto es no conexo, se respetaron lostamaños utilizados en las otras instancias, es decir, se crearon instancias detamaño 40, 80, 120, 160 y 200 puntos con el generador aleatorio de instanciasparticulares. Se creó una colección de 10 instancias, 2 por cada tamaño con-siderado, una con igual cantidad de puntos para cada diamante generado yotra con distinta cantidad de puntos. En la Tabla 5.2 se describen las carac-terísticas de cada instancia creada con el generador aleatorio de instancias

Page 114: Metaheurísticas en la resolución de problemas sobre triangulaciones

92 Capítulo 5. Conceptos para implementación e instancias de prueba

0 100 200 300 400 500 600 700 800 900 1000

900

1000

1100

1200

1300

1400

1500

1600

a)

300 400 500 600 700 800 900 1000 1100 1200 1300500

550

600

650

700

750

800

850

900

950

b)

Figura 5.12: Ejemplo de dos instancias con dos diamantes cada una.

particulares.En la Figura 5.13 se muestra una instancia generada de cada tamaño con-

siderado cuyos diamantes poseen distinta cantidad de puntos (en la Tabla B.2del Apéndice B se muestran todas las instancias de problema particularesconsideradas en la evaluación experimental).

Page 115: Metaheurísticas en la resolución de problemas sobre triangulaciones

5.4. Instancias de prueba 93

Igual cantidadde puntos pordiamante

Distinta cantidad depuntos por diamante

n

diam.#

puntos

40puntos

2 diamantes de 20puntos cada uno

d1 19d2 21

80puntos

4 diamantes de 20puntos cada uno

d1 30d2 25d3 25

120puntos

6 diamantes de 20puntos cada uno

d1 24d2 24d3 25d4 27d5 20

160puntos

8 diamantes de 20puntos cada uno

d1 27d2 22d3 28d4 28d5 25d6 30

200puntos

10 diamantes de20 puntos cada

uno

d1 28d2 26d3 29d4 26d5 30d6 32d7 29

Tabla 5.2: Información sobre las instancias creadas con generador aleatoriode instancias particulares.

Page 116: Metaheurísticas en la resolución de problemas sobre triangulaciones

94 Capítulo 5. Conceptos para implementación e instancias de prueba

0 100 200 300 400 500 600 700 800200

300

400

500

600

700

800

900

1000

40 puntos

100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

80 puntos

0 200 400 600 800 1000 12000

200

400

600

800

1000

1200

120 puntos

0 200 400 600 800 1000 12000

200

400

600

800

1000

1200

160 puntos

0 200 400 600 800 1000 1200 14000

200

400

600

800

1000

1200

1400

200 puntos

Figura 5.13: Ejemplos de las instancias realizadas por el generador aleatoriode instancias particulares.

Page 117: Metaheurísticas en la resolución de problemas sobre triangulaciones

5.4. Instancias de prueba 95

Generación aleatoria de triangulaciones

Considerando que varias de las técnicas metaheurísticas utilizadas en lapresente tesis se basan en trayectoria es que resulta necesario contar con ungenerador de soluciones iniciales, es decir, un generador aleatorio de trian-gulaciones que sirvan de punto de partida para la búsqueda.

En el Algoritmo 8 se muestra el pseudocódigo del generador aleatorio detriangulaciones cuyo dato de entrada es el conjunto S de puntos para el cualse desea generar una triangulación aleatoria.

Algoritmo 8 Pseudocódigo del generador aleatorio de triangulaciones

cantAristas ← CalcularCantidadDeAristas(S)Aristas ← ∅while |Aristas| 6= cantAristas doa← SeleccionarPuntoAleatorio(S)b← SeleccionarPuntoAleatorio(S)if (a, b) no interseca con aristas de Aristas thenAristas ← Aristas ∪ (a, b)

end ifend whileGenerarArchivoDeSalida(Aristas)

En la Figura 5.14 se muestran 4 triangulaciones aleatorias realizadas conel generador. T1 y T2 son triangulaciones aleatorias para un conjunto de 40puntos creado con el generador aleatorio de conjuntos de puntos y T3 y T4

son triangulaciones aleatorias para un conjunto de 40 puntos creado con elgenerador aleatorio de instancias particulares.

Page 118: Metaheurísticas en la resolución de problemas sobre triangulaciones

96 Capítulo 5. Conceptos para implementación e instancias de prueba

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

T1

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

T2

0 100 200 300 400 500 600 700 800200

300

400

500

600

700

800

900

1000

T3

0 100 200 300 400 500 600 700 800200

300

400

500

600

700

800

900

1000

T4

Figura 5.14: Ejemplos de triangulaciones realizadas por el generador aleatoriode triangulaciones.

Page 119: Metaheurísticas en la resolución de problemas sobre triangulaciones

Capítulo 6

Metaheurísticas aplicadas alproblema MWT

En este capítulo se detallan las principales características del diseño deOptimización basada en Colonia de hormigas y Recocido Simulado utiliza-dos para la resolución del problema de Triangulación de Peso Mínimo des-cribiendo los componentes principales de los algoritmos propuestos en estatesis. Además se muestra la evaluación experimental realizada y el análi-sis estadístico correspondiente, comparando los resultados de los algoritmospropuestos con triangulaciones conocidas.

En el campo de la Geometría Computacional existen problemas que, obien son NP-duros o no existe un algoritmo que lo pueda resolver en tiempopolinomial. Por lo tanto, se pueden encontrar soluciones aproximadas utili-zando técnicas metaheurísticas. Dentro del conjunto de problemas de optimi-zación, existen aquellos relacionados a ciertas conguraciones geométricas,las cuales son de mucho interés debido a su utilización en varios camposde aplicación. En particular, las triangulaciones son particiones planas, lascuales reciben mucha atención debido a su aplicación en diversas áreas deinvestigación, por ejemplo: visibilidad, rayshooting, detección de colisiones,vigilancia, entre otras. Minimizar la longitud total de una triangulación esuno de los principales criterios de optimización que se ha estudiado desdehace varios años. La triangulación de peso mínimo minimiza la suma delas longitudes de las aristas, proporcionando una medida de calidad paradeterminar cuán buena es la estructura.

La complejidad computacional de calcular una triangulación de peso mí-nimo fue uno de los problemas más estudiado en Geometría Computacional,introducido por Garey y Johnson [64] en su lista de problemas abiertos yse propusieron varios algoritmos de aproximación a lo largo del tiempo. En2006, Mulzer y Rote [124] mostraron que el problema de Triangulación dePeso Mínimo es un problema NP-duro. Por lo tanto, dada la dicultad in-

97

Page 120: Metaheurísticas en la resolución de problemas sobre triangulaciones

98 Capítulo 6. Metaheurísticas aplicadas al problema MWT

herente anteriormente mencionada, surgen los algoritmos aproximados comocandidatos alternativos para resolverlo. Estos algoritmos pueden obtener so-luciones aproximadas a las óptimas, y pueden ser especícas para un proble-ma particular o pueden ser parte de una estrategia general en la resolución dediferentes problemas. Los métodos metaheurísticos satisfacen dichas propie-dades. Como se describió en el Capítulo 3, una metaheurística es un procesode generación iterativo que guía adecuadamente la búsqueda de solucionescombinando diferentes conceptos de varios campos de la inteligencia articial[131], evolución biológica [9], inteligencia colectiva (swarm intelligence) [86],entre otras. Estos algoritmos tienen una implementación simple y puedenencontrar ecientemente buenas soluciones para problemas de optimizaciónNP-duros [119].

Cada problema de optimización consiste de un espacio de solución y unafunción objetivo. A continuación se describen estos conceptos relacionadosal problema MWT que son considerados en los algoritmos presentados eneste capítulo. El espacio de solución ε se representa por todas las posiblestriangulaciones de un conjunto S de n puntos en el plano. Para representaruna posible solución se utiliza una matriz de ceros y unos de n×n, donde un1 en la posición (i, j) de la matriz signica que existe una arista que conectaa los puntos i y j; se coloca un 0 en otro caso. La función objetivo, f : ε→ R,asigna a cada elemento de ε un valor real. Para cada ε ∈ ε la función f sedene como la suma de las longitudes de todas las aristas de ε.

Como el problema de encontrar la triangulación de peso mínimo es unproblema NP-duro y no se atacó con una técnica metaheurística basada enpoblación, se desarrolló un algoritmo utilizando la técnica denominada Op-timización basada en Colonia de Hormigas (presentada en el Capítulo 3) yaque la representación de los datos se realiza de una manera directa debidoa que dicha técnica trabaja con un grafo de construcción para obtener so-luciones y esa es la manera en la que representamos una triangulación. Enparticular, se utilizó un Ant System el cual es una instancia de la clase dealgoritmos ACO. Luego, para comparar esta técnica, se desarrolló un algo-ritmo que utiliza la técnica de Recocido Simulado con el n de cotejar losresultados obtenidos por ambos algoritmos.

A continuación se muestran los algoritmos propuestos, los operadoresutilizados y la correspondiente evaluación experimental y análisis estadístico.

6.1. ACO-MWT: algoritmo de optimización basadaen colonia de hormigas aplicado a MWT

Teniendo en cuenta el Algoritmo 5 (Ant System) descrito en el Capítu-lo 3 y mostrado a continuación, se presenta el procedimiento ConstSolucionk(Algoritmo 9) ya que el resto de los procedimientos en dicho algoritmo son

Page 121: Metaheurísticas en la resolución de problemas sobre triangulaciones

6.1. ACO-MWT: algoritmo de optimización basada en colonia de hormigasaplicado a MWT 99

los mismos para ACO-MWT.

Algoritmo 5 Esquema general de un algoritmo de un Sistema de hormigas

Inicializarwhile No se alcance la condición de nalización dofor k ∈ 1, ...,K doConstSoluciónkEvaluarSolución

end forGuardarMejorSoluciónHastaAhoraAplicarBúsquedaLocal /* Opcional */ActualizarRastro

end whileRetornarMejorSolución

En el procedimiento ConstSolucionk cada hormiga construye una trian-gulación para un conjunto S dado, comenzando por un punto elegido aleato-riamente. En cada paso, el algoritmo agrega una nueva arista (i, j) siempreque no interseque dicha arista con las aristas de la solución parcial Sk agre-gadas anteriormente. En el caso que se pueda agregar la arista (i, j), i esun punto factible para j y viceversa. Si el punto de referencia con el quese está trabajando actualmente no tuviese puntos factibles, se selecciona elpróximo punto de referencia de acuerdo a uno de los siguientes criterios: se-lección aleatoria, selección del punto con mayor cantidad de puntos factibles,ó selección del punto con menor cantidad de puntos factibles.

Algoritmo 9 ConstSolucionk

Sk ← ∅i← SeleccionarPuntoInicial(S)while S no está triangulado completamente doFi ← PuntosFactibles(i, Sk)if Fi = ∅ theni← SeleccionarPunto(S, Sk)Fi ← PuntosFactibles(i, Sk)

end ifj ← SeleccionarPuntoProb(Fi)if no IntersecaSolución(i, j, Sk) thenSk ← Sk ∪ (i, j)i← j

end ifActualizarFactibles(i, j)

end while

A continuación se describen los principales componentes del Algoritmo 9

Page 122: Metaheurísticas en la resolución de problemas sobre triangulaciones

100 Capítulo 6. Metaheurísticas aplicadas al problema MWT

para comprender mejor su comportamiento:

SeleccionarPuntoInicial(S): retorna un punto p ∈ S, seleccionado alea-toriamente.

PuntosFactibles(i, Sk): retorna un conjunto de puntos p ∈ S, tal que laarista (i, p) puede no intersecar con las aristas de la solución Sk. Noteque esta función puede retornar puntos que eran factibles de i peroque por la inserción de nuevas aristas ya no lo son. Se realiza de estamanera ya que de otra forma, cada vez que se inserte una nueva aristase deberían recalcular todos los conjuntos de puntos factibles de todoslos puntos.

SeleccionarPunto(S, Sk): retorna un punto p ∈ S donde PuntosFactibles(p, Sk) 6=∅. p es seleccionado de acuerdo a uno de los siguientes criterios:

1) selección aleatoria;

2) selección del punto con mayor cantidad de puntos factibles; ó

3) selección del punto con menor cantidad de puntos factibles.

SeleccionarPuntoProb(Fi): retorna un punto j ∈ Fi elegido de acuerdoa la Ecuación 3.2, donde η(cij) es 1

dij, y dij es la distancia euclídea

entre i y j.

IntersecaSolución(i, j, Sk): retorna Verdadero si la arista (i, j) intersecaal menos una de las aristas de la solución Sk; retorna Falso, en otrocaso.

ActualizarFactibles(i, j): actualiza los conjuntos de puntos factibles delos puntos i y j, es decir, los puntos i y j dejan de ser factibles entresí.

En la Figura 6.1 se puede observar cómo es el proceso constructivo deuna solución para un conjunto de puntos S. Se comienza seleccionando alea-toriamente un punto de referencia i (de color celeste) para comenzar la cons-trucción. Fi está compuesto por todos los puntos factibles (de color naranja),es decir, aquellos con los cuales puede compartir una arista (ver Figura 6.1a).Supongamos que SeleccionarPuntoProb(Fi) nos devuelve el punto j. Por lotanto, se agrega la arista (i, j) ya que no interseca con ninguna otra aristade la solución Sk. El punto j se convierte en el nuevo punto de referencia(i← j). Se actualizan los puntos factibles con ActualizarFactibles(i, j) comose muestra en la Figura 6.1b donde el punto de color verde signica que noes factible para i. Como parte de una nueva iteración, se elige a un puntoj ∈ Fi y se inserta la nueva arista (i, j) a Sk por no intersecar con el resto dearistas (ver Figura 6.1c). Se repite el mismo proceso en la Figura 6.1d. En laFigura 6.1e se muestran los puntos factibles en color naranja, los no factibles

Page 123: Metaheurísticas en la resolución de problemas sobre triangulaciones

6.1. ACO-MWT: algoritmo de optimización basada en colonia de hormigasaplicado a MWT 101

en verde y en violeta los puntos que, si bien pertenecen a Fi, no es posiblecrear una nueva arista e debido a que hay aristas en Sk tal que intersecancon e.

Notar que los conjuntos Fi no se actualizan en cada inserción de arista yaque sería costoso calcular con que otras posibles aristas interseca esta nuevaarista. Por lo tanto, antes de insertar una nueva arista se controla que nointerseque con las insertadas anteriormente.

(a) (b)

(c) (d)

(e)

Figura 6.1: Ejemplo del proceso constructivo de una solución.

La Figura 6.2 muestra qué se realiza cuando el punto de referencia i noposee puntos factibles, es decir, Fi = ∅ (ver Figura 6.2a). Ante esta situaciónse puede seleccionar un nuevo punto de referencia utilizando un criterio deselección. En 6.2b se elige en forma aleatoria. En 6.2c se selecciona el puntoque tenga mayor cantidad de puntos factibles (en este caso |Fi| = 5). En6.2d se selecciona el punto que tenga menor cantidad de puntos factibles (eneste caso |Fi| = 2).

Para el problema MWT el procedimiento ActualizarRastro() se puede

Page 124: Metaheurísticas en la resolución de problemas sobre triangulaciones

102 Capítulo 6. Metaheurísticas aplicadas al problema MWT

(a) (b)

(c) (d)

Figura 6.2: Ejemplo de selección de un nuevo punto de referencia debido aque el actual no tiene puntos factibles.

realizar de dos maneras distintas:

Elitista: utiliza la mejor solución encontrada hasta el momento, Smejor,para realizar un refuerzo adicional a la matriz en donde se almacenanlos niveles de feromona. LSmejor es el valor de la función objetivo de lamejor solución Smejor. En el Algoritmo 10 se muestra cómo se realizadicha actualización.

No elitista: utiliza las soluciones encontradas, Sk, por todas las k hor-migas para realizar un refuerzo adicional a la matriz en donde se al-macenan los niveles de feromona. LSk es el valor de la función objetivode la solución Sk de la hormiga k. En el Algoritmo 11 se muestra cómose realiza dicha actualización.

Para comparar los resultados obtenidos con ACO-MWT se pensó en de-sarrollar un algoritmo que considere la técnica de Recocido Simulado con elcual se puedan obtener triangulaciones de bajo peso.

6.2. SA-MWT: algoritmo de Recocido Simulado apli-cado a MWT

Page 125: Metaheurísticas en la resolución de problemas sobre triangulaciones

6.2. SA-MWT: algoritmo de Recocido Simulado aplicado a MWT 103

Algoritmo 10 ActualizarRastroElit(Smejor, LSmejor)

for i = 0 to |S| dofor j = i to |S| doif (pi, pj) ∈ Smejor then

∆τkij ← 1LSmejor

else∆τkij ← 0

end if

∆τij ←Nro_hormigas∑

k=1

∆τkij

τij ← (1− ρ) · τij + τijend for

end for

Algoritmo 11 ActualizarRastroNoElit()

for k = 0 to Nro_hormigas doActualizarRastroElit(Sk, LSk)

end for

Algoritmo 3 Esquema general de un algoritmo de Recocido Simulado

Input: esquema de enfriamientok ← 0while no se alcance la condición de nalización doi← 1while i < M(Tk) doGenerar s′ ∈ N(s) ⊂ εδ ← f(s′)− f(s)if δ < 0 thens′′ ← s′

elses′′ ← s′, con probabilidad p(Tk, s, s′)

end ifi← i+ 1s← s′′

end whileTk+1 ← R(Tk, k)k ← k + 1

end whileOutput: mejor solución encontrada.

Sabiendo que para resolver un problema de optimización utilizando la

Page 126: Metaheurísticas en la resolución de problemas sobre triangulaciones

104 Capítulo 6. Metaheurísticas aplicadas al problema MWT

metaheurística de Recocido Simulado es necesario identicar los parámetrosde la estrategia, a continuación se describen dichos parámetros para el pro-blema MWT considerando el Algoritmo 3 presentado en el Capítulo 3 el cualse reproduce en la presente sección.

Solución inicial S0: El algoritmo SA comienza a ejecutar con una solu-ción inicial generada de manera aleatoria.

Temperatura inicial T0: La temperatura inicial puede ser:

• T0 = m · l, donde m es el número de aristas de la solución inicialy l es la longitud media de las aristas de S0, es decir que se tieneen cuenta la medida de calidad considerada.

• T0 = C · n, donde C es una constante entera y n es la cantidadde puntos.

Regla de disminución de la temperatura R: Se utilizan tres tipos dife-rentes de reglas:

• decremento rápido (FSA): Tk+1 = T0/(1 + k);

• decremento muy rápido (VFSA): Tk+1 = T0/ek; y

• decremento geométrico: Tk+1 = αTk con α ∈ 0,8, 0,9, 0,95.

Cantidad de movimientos para cada temperatura M(Tk): Se utiliza

• M(Tk) = dTke para asegurar que se realicen más iteraciones paratemperaturas altas, y menos iteraciones cuando se está cerca dela solución óptima.

• M(Tk) = m · C, donde m es el número de aristas de la solucióninicial y C es una constante entera.

Condición de nalización: Se termina el proceso de búsqueda cuandola temperatura es menor o igual a 0,005, es decir, Tf ≤ 0, 005.

Vecindario de cada solución: Para cada solución Si ∈ S se debe obtenerun elemento Sj ∈ S, llamado vecino. Para el problema MWT se tienendiferentes operadores para generar un vecino para una solución:

• Intercambiar aristas (ip): Dados dos triángulos t1 y t2 que com-parten una arista a en una triangulación T , la operación de in-tercambio sobre la arista a cambia T por otra triangulación T ′

donde: los triángulos fuera del cuadrilátero t1 ∪ t2 son los mismosy en t1 ∪ t2 se toma la diagonal opuesta a a. Para el problemaMWT se elige aleatoriamente una arista a de la solución actual yse realiza la operación de ip sobre a, siempre que sea posible. Encaso de no poder realizar el ip, debido a que la arista es ilegal, se

Page 127: Metaheurísticas en la resolución de problemas sobre triangulaciones

6.2. SA-MWT: algoritmo de Recocido Simulado aplicado a MWT 105

(a) (b)

(c)

Figura 6.3: Se muestra una triangulación (a) sobre la cual se realiza un ipsobre la arista verde y se muestra la triangulación resultante (b). En (c) semuestra una arista ilegal (en rojo) a la cual no se le puede realizar un ip.

elige nuevamente una arista de manera aleatoria y se repite dichaoperación (ver Figura 6.3).

• Retriangular localmente: Se elige aleatoriamente un vértice u dela solución actual y se recuperan todos los vértices adyacentes a u.Luego se recupera el polígono que forman los vértices adyacentesa u y se retriangula el interior de ese polígono junto con el vérticeu. Esta zona se puede retriangular de manera aleatoria (RA) o demanera greedy (RG). En la primera, se van insertando al azar lasaristas de dicha zona mientras no se intersequen con las agregadasanteriormente y en la segunda manera, se ordenan todas las aristasde la zona considerando su longitud y se van insertando en eseorden mientras no intersequen con las agregadas anteriormente(ver Figura 6.4).

Al obtener la mejor solución se realiza un renamiento a dicha soluciónbasado en el operador de intercambio de aristas. Se evalúa si el intercambiode una arista por su diagonal provoca un decremento del peso de la trian-gulación. Esta evaluación se realiza con todas las aristas de la triangulaciónrespetando el orden en el cual se insertaron en la lista de aristas doblementeconectada (DCEL).

Page 128: Metaheurísticas en la resolución de problemas sobre triangulaciones

106 Capítulo 6. Metaheurísticas aplicadas al problema MWT

(a) (b)

(c)

Figura 6.4: Ejemplo de retriangulación. En (a) u es el punto elegido alea-toriamente. En gris se muestra la zona que es retriangulada de manera (b)aleatoria y (c) greedy.

6.3. Evaluación Experimental y Análisis Estadísti-co

A continuación se establecen las componentes involucradas en el marcoexperimental para los algoritmos ACO-MWT y SA-MWT presentados ante-riormente referentes al diseño de los experimentos: la determinación de lasinstancias y los parámetros de estudio del algoritmo. El marco experimentalpresentado es propuesto con el objetivo de buscar un algoritmo y una con-guración de parámetros para dicho algoritmo, de manera tal de obtener,para un conjunto de puntos dado, una triangulación que minimice la sumade longitudes de sus aristas.

Para cada experimento se aplican las combinaciones de valores de pará-metros para cada instancia de problema. Es decir que, para cada algoritmo,se realizan c · i experimentos, donde c es la cantidad de combinaciones deparámetros e i la cantidad de instancias de problema. Finalmente se analizandichos resultados.

Los algoritmos fueron desarrollados en el lenguaje de programación Cy las ejecuciones se realizaron en el cluster BACO bajo un sistema de cola

Page 129: Metaheurísticas en la resolución de problemas sobre triangulaciones

6.3. Evaluación Experimental y Análisis Estadístico 107

CONDOR del Instituto de Física Aplicada (UNSL-CONICET).

6.3.1. Experimentación preliminar de ACO-MWT

El algoritmo ACO propuesto está representado por un Ant System. Elestudio experimental intenta encontrar una combinación aceptable de valoresde parámetros para el algoritmo ACO-MWT con el n de obtener triangu-laciones con el peso más pequeño posible.

A pesar de haber realizado una búsqueda, no se han encontrado en laliteratura colecciones de instancias para el problema MWT. Por lo tanto, nohay datos comparativos disponibles públicamente que permitan compararlas propuestas por lo que se diseñó un generador de instancias el cual fuedescrito en la Sección 5.4.

Los valores paramétricos del algoritmo ACO-MWT considerados paranuestro estudio se muestran en la Tabla 6.1 donde α y β son las proporcio-nes en la que afectan los rastros de feromona y la información heurística en laregla de transición probabilística, respectivamente; ρ es la tasa de evapora-ción de la feromona; elit determina la forma de actualizar el rastro (elit = 0signica que el rastro se actualiza de manera no elitista y elit = 1 de maneraelitista); criterio es el parámetro utilizado para seleccionar un punto p enel procedimiento SeleccionarPunto() cuando el punto de referencia no poseepuntos factibles (criterio = 1 signica que el punto p es elegido aleatoria-mente, criterio = 2 signica que p es el punto con más cantidad de factiblesy criterio = 3, p es el punto con menos cantidad de factibles); C es el nú-mero de iteraciones; K es el tamaño de la población de hormigas; y τ0 es lacantidad inicial de feromona en las componentes de las soluciones.

Parámetro Valores

α 1β 1 - 5ρ 0, 10 - 0, 25 - 0, 50elit 0 - 1criterio 1 - 2 - 3C 1000K 50τ0 1

Tabla 6.1: Valores paramétricos para el algoritmo ACO-MWT.

Combinando los valores de los parámetros de la Tabla 6.1 se obtienen 36conguraciones diferentes de parámetros. Se realizaron 25 ejecuciones paracada experimento utilizando diferentes semillas aleatorias.

En una primera etapa de evaluación se realizaron pruebas con todas lasposibles conguraciones. Para cada uno de los experimentos se realizaron

Page 130: Metaheurísticas en la resolución de problemas sobre triangulaciones

108 Capítulo 6. Metaheurísticas aplicadas al problema MWT

medidas descriptivas, es decir se calcularon valores numéricos a partir de las25 ejecuciones de cada experimento, lo que permite resumir la informacióncontenida en ellas. Se consideraron las siguientes medidas: mejor, media,mediana y desviación estándar.

En la Tabla C.1 del Apéndice C se muestra, para cada instancia de pro-blema, las 4 mejores conguraciones ordenadas de acuerdo a la media y lascuales se identican de la siguiente manera: LD-ni-α-β-ρ-elit-criterio donden es el tamaño de la instancia, i es el número de la instancia y el resto sonlos parámetros del algoritmo.

La Tabla 6.2 es un resumen de la Tabla C.1 y muestra el porcentaje deaparición de cada uno de los parámetros en las 4 mejores conguraciones. Sepuede observar que las mejores medias se obtuvieron utilizando congura-ciones con β = 5, ρ = 0, 10, elit = 1 y criterio = 1, es decir que se obtuvie-ron mejores resultados dándole mayor relevancia a la información heurística,actualizando los rastros de feromona de manera elitista y seleccionando elpróximo punto de referencia de manera aleatoria.

β ρ elit criterio

1 (12,5%) 0,10 (45%) 0 (0%) 1 (63,75%)

5 (87,5%) 0,25 (26,25%) 1 (100%) 2 (32,5%)0,50 (28,75%) 3 (3,75%)

Tabla 6.2: Resumen de los resultados obtenidos con ACO-MWT con 50 hor-migas considerando las medias. Se destacan los mejores valores (en negrita).

La Tabla 6.3 es un resumen de la Tabla C.2 del Apéndice C donde semuestra el porcentaje de aparición de cada uno de los parámetros en las 4mejores conguraciones ordenadas de acuerdo al mejor valor (menor peso)obtenido, donde los mejores resultados se obtuvieron con los mismos pará-metros que con las mejores conguraciones ordenadas considerando el valormedio (β = 5, ρ = 0, 10, elit = 1 y criterio = 1).

β ρ elit criterio

1 (22,22%) 0,10 (35,56%) 0 (1,1%) 1 (57,78%)

5 (77,78%) 0,25 (32,22%) 1 (98,9%) 2 (35,56%)0,50 (32,22%) 3 (6,67%)

Tabla 6.3: Resumen de los resultados obtenidos con ACO-MWT con 50 hor-migas considerando los mejores valores. Se destacan los mejores valores (ennegrita).

La Figura 6.5 muestra grácamente a través de boxplots las caracterís-ticas estadísticas de las ejecuciones realizadas. En el eje x se muestran losnúmeros de ID correspondientes a las conguraciones de acuerdo a la Ta-bla 6.4 donde cada conguración se identica como α-β-ρ-elit-criterio. En

Page 131: Metaheurísticas en la resolución de problemas sobre triangulaciones

6.3. Evaluación Experimental y Análisis Estadístico 109

los conjuntos de boxplots de cada instancia se puede observar claramenteque el parámetro elit tiene inuencia directa en los resultados (las congu-raciones entre 1 y 18 tienen elit = 0 y el resto elit = 1). Además se puedeobservar que el parámetro β también tiene inuencia en los resultados yaque para las conguraciones donde β = 5 (4, 5, 6, 10, 11, 12, 16, 17, 18,22, 23, 24, 28, 29, 30, 34, 35 y 36) se obtienen mejores resultados. Se puedeobservar que el parámetro ρ no tiene efecto marcado en los resultados comoasí tampoco lo tiene el parámetro criterio.

ID Conguración

1 1-1-0,10-0-12 1-1-0,25-0-13 1-1-0,50-0-14 1-5-0,10-0-15 1-5-0,25-0-16 1-5-0,50-0-17 1-1-0,10-0-28 1-1-0,25-0-29 1-1-0,50-0-210 1-5-0,10-0-211 1-5-0,25-0-212 1-5-0,50-0-213 1-1-0,10-0-314 1-1-0,25-0-315 1-1-0,50-0-316 1-5-0,10-0-317 1-5-0,25-0-318 1-5-0,50-0-3

ID Conguración

19 1-1-0,10-1-120 1-1-0,25-1-121 1-1-0,50-1-122 1-5-0,10-1-123 1-5-0,25-1-124 1-5-0,50-1-125 1-1-0,10-1-226 1-1-0,25-1-227 1-1-0,50-1-228 1-5-0,10-1-229 1-5-0,25-1-230 1-5-0,50-1-231 1-1-0,10-1-332 1-1-0,25-1-333 1-1-0,50-1-334 1-5-0,10-1-335 1-5-0,25-1-336 1-5-0,50-1-3

Tabla 6.4: Conguraciones paramétricas para ACO-MWT.

6.3.2. Experimentación calibrada

Luego se pensó en aumentar la cantidad de hormigas por iteración de ma-nera que a mayor tamaño de instancia, mayor cantidad de hormigas constru-yendo soluciones. El ajuste de parámetros se realizó utilizando la herramientairace descrita en la Sección A.2 del Apéndice A la cual es una implementacióndisponible públicamente de Iterated F-Race [113].

F-Race es un método de carreras en el cual, en cada iteración, se aplicatodas las conguraciones de candidatos que sobreviven a una instancia deun problema combinatorio. Si se encuentra que una conguración candida-ta se desempeña estadísticamente peor que otras (según lo determinado porel análisis de varianza de Friedman por rangos y sus post-test correspon-dientes), es eliminado de la carrera. F-Race termina cuando un conjunto decandidatos sobrevive o cuando se consume el budget (presupuesto) de cálculoasignado a la carrera. Luego Iterated F-Race muestrea nuevas conguracio-nes candidatas en torno a las mejores conguraciones candidatas encontradas

Page 132: Metaheurísticas en la resolución de problemas sobre triangulaciones

110 Capítulo 6. Metaheurísticas aplicadas al problema MWT

1 2 3 4 5 6 7 8 9 101112131415161718192021222324252627282930313233343536

(a) 40 puntos

1 2 3 4 5 6 7 8 9 101112131415161718192021222324252627282930313233343536

(b) 80 puntos

1 2 3 4 5 6 7 8 9 101112131415161718192021222324252627282930313233343536

(c) 120 puntos

1 2 3 4 5 6 7 8 9 101112131415161718192021222324252627282930313233343536

(d) 160 puntos

1 2 3 4 5 6 7 8 9 101112131415161718192021222324252627282930313233343536

(e) 200 puntos

Figura 6.5: Boxplots de todas conguraciones para 50 hormigas para unainstancia de cada tamaño considerado.

Page 133: Metaheurísticas en la resolución de problemas sobre triangulaciones

6.3. Evaluación Experimental y Análisis Estadístico 111

hasta el momento. Todo el proceso se repite hasta que se agota el númerode iteraciones dado (de ahí el nombre de Iterated F-Race).

El proceso de ajuste automático se realizó con los siguientes valores deparámetros de irace (el resto son los predeterminados) considerando los pa-rámetros de la Tabla 6.1 pero con K = n.

Cantidad de ejecuciones (maxExperiments): 60

Cantidad de iteraciones de la carrera (nbIterations): 3

Cantidad mínima de candidatos que deben sobrevivir para continuaruna iteración (minNbSurvival): 4

Cantidad de candidatos que se deben muestrear y evaluar en cadaiteración (nbCandidates): 5

La medida de desempeño utilizada para el ajuste de parámetros es elerror del valor de la función objetivo obtenido por el algoritmo. El valorerror se dene como f(x)− f(x∗), donde x es la solución candidata y x∗ esla solución óptima obtenida por la técnica que calcula el LMT-esqueleto yluego triangula los polígonos simples restantes con programación dinámica[26].

En la Tabla 6.5 se muestran las mejores conguraciones de parámetrosencontradas por irace. Se puede observar que en todas las conguraciones elparámetro elit = 1 por lo que es evidente que el algoritmo tiene un mejordesempeño actualizando los rastros de feromona de manera elitista. Ademásse observa que en la mayoría de los casos criterio = 2 y β = 5.

Nro. de conguración β ρ elit criterio

(1) 1 0,10 1 2(2) 5 0,10 1 2(3) 5 0,25 1 1(4) 5 0,25 1 2

Tabla 6.5: Mejores conguraciones paramétricas para el algoritmo ACO-MWT encontradas con la herramienta irace.

Para poder decidir cuál de éstas es la mejor conguración paramétricapara el algoritmo ACO-MWT se realizaron ejecuciones para todas las ins-tancias de problema para cada una de dichas conguraciones.

En la Tabla C.3 del Apéndice C se muestra, para cada instancia de proble-ma, el mejor valor objetivo encontrado, la media, la mediana y la desviaciónestándar luego de ejecutar 25 veces (con diferentes semillas) cada una de las4 conguraciones. Considerando los valores de dicha tabla se puede obser-var que la Conguración (2) obtuvo la mayor cantidad de mejores valoresy medias de todas las instancias consideradas, es decir que se obtuvieron

Page 134: Metaheurísticas en la resolución de problemas sobre triangulaciones

112 Capítulo 6. Metaheurísticas aplicadas al problema MWT

mejores resultados con β = 5, ρ = 0, 10, elit = 1 y criterio = 2. Ademásse puede observar que la Conguración (3) no obtuvo ningún mejor valor nimedia para ninguna de las instancias (ver Tabla 6.6). En la Figura 6.6 semuestran los boxplots correspondientes a las conguraciones obtenidas porirace para cada una de las instancias de problema. Se puede observar quelas Conguraciones (2) y (4) obtienen, para la mayoría de las instancias, losmejores resultados y las mejores medianas. Esta situación se puede observarde mejor manera a medida que aumenta la cantidad de puntos.

Cong. (1) Cong. (2) Cong. (3) Cong. (4)# de mejores 6 10 0 4# de medias 6 9 0 5

Tabla 6.6: Resumen de los resultados de las conguraciones obtenidas porirace para ACO-MWT.

Page 135: Metaheurísticas en la resolución de problemas sobre triangulaciones

6.3. Evaluación Experimental y Análisis Estadístico 113

Config.(1) Config.(2) Config.(3) Config.(4)

5.47

5.48

5.49

5.5

5.51

5.52

5.53

x 106 LD40−1

Config.(1) Config.(2) Config.(3) Config.(4)

4.66

4.665

4.67

4.675

4.68

x 106 LD40−2

Config.(1) Config.(2) Config.(3) Config.(4)

5.48

5.485

5.49

5.495

5.5

5.505

5.51

x 106 LD40−3

Config. (1)Config. (2)Config. (3)Config. (4)5.75

5.76

5.77

5.78

5.79

x 106 LD40−4

40 puntos

Config.(1) Config.(2) Config.(3) Config.(4)

6.26

6.28

6.3

6.32

6.34x 10

6 LD80−1

Config.(1) Config.(2) Config.(3) Config.(4)

7.62

7.64

7.66

7.68

7.7

x 106 LD80−2

Config.(1) Config.(2) Config.(3) Config.(4)

5.86

5.88

5.9

5.92

5.94

x 106 LD80−3

Config. (1)Config. (2)Config. (3)Config. (4)

6.2

6.22

6.24

6.26

6.28

6.3

x 106 LD80−4

80 puntos

Config.(1) Config.(2) Config.(3) Config.(4)9.3

9.32

9.34

9.36

9.38

9.4x 10

6 LD120−1

Config.(1) Config.(2) Config.(3) Config.(4)

5.96

5.98

6

6.02

6.04

6.06

6.08x 10

6 LD120−2

Config.(1) Config.(2) Config.(3) Config.(4)

8.64

8.66

8.68

8.7

8.72

8.74

x 106 LD120−3

Config. (1)Config. (2)Config. (3)Config. (4)7.72

7.74

7.76

7.78

7.8

7.82

x 106 LD120−4

120 puntos

Config.(1) Config.(2) Config.(3) Config.(4)

7.48

7.5

7.52

7.54

7.56

7.58

7.6

x 106 LD160−1

Config.(1) Config.(2) Config.(3) Config.(4)7.05

7.1

7.15

7.2x 10

6 LD160−2

Config.(1) Config.(2) Config.(3) Config.(4)8.68

8.7

8.72

8.74

8.76

8.78

8.8

8.82x 10

6 LD160−3

Config. (1)Config. (2)Config. (3)Config. (4)

6.2

6.22

6.24

6.26

6.28

6.3

6.32

x 106 LD160−4

160 puntos

Config.(1) Config.(2) Config.(3) Config.(4)

6.6

6.65

6.7

6.75

x 106 LD200−1

Config.(1) Config.(2) Config.(3) Config.(4)

7.66

7.68

7.7

7.72

7.74

7.76

x 106 LD200−2

Config.(1) Config.(2) Config.(3) Config.(4)

8.8

8.85

8.9

8.95x 10

6 LD200−3

Config. (1)Config. (2)Config. (3)Config. (4)

7.94

7.96

7.98

8

8.02

8.04

8.06

x 106 LD200−4

200 puntos

Figura 6.6: Boxplots de las mejores conguraciones encontradas por iracepara las instancias de problema considerados para el algoritmo ACO-MWT.

Page 136: Metaheurísticas en la resolución de problemas sobre triangulaciones

114 Capítulo 6. Metaheurísticas aplicadas al problema MWT

Si bien estas observaciones nos sirven para dar una idea general de có-mo funciona el algoritmo con estas conguraciones, es necesario realizar unanálisis estadístico que ayude a conrmar si los resultados obtenidos conuna conguración ofrecen una mejora signicativa, o no, sobre los resultadosde las demás conguraciones. La validación estadística de los resultados esnecesaria para establecer una conclusión en un análisis experimental.

Debido a que las muestras no responden a una distribución Normal (com-probado usando el test Kolmogorov-Smirnov) y que se deben comparar másde dos conjuntos de muestras independientes (resultados de las 4 congura-ciones), se utilizó el test no paramétrico Kruskal-Wallis. En la Tabla 6.7 semuestran los p-values obtenidos al realizar el test Kruskal-Wallis sobre losresultados de las 4 conguraciones. Se puede observar que en todos los casos(excepto para LD40-3) se obtienen p-values menores a 0,05 lo cual indicaque hay diferencias signicativas entre los resultados del algoritmo para lasconguraciones consideradas. Si bien esto nos dice que hay diferencias signi-cativas entre los resultados no se dice entre cuáles existen dichas diferencias.Por lo tanto, a partir de la tercera columna, se muestran sobre cuáles con-guraciones se produjeron las diferencias entre sus resultados. Por ejemplo, siel p-value asociado a la instancia i es menor a 0,05 y en la columna Cong.(1) se muestra 2,3, signica que los resultados de la Conguración (1) tu-vieron diferencias signicativas con respecto a los de las conguraciones (2)y (3) para la instancia i. Se puede observar que a medida que se aumentael tamaño de las instancias se vislumbran diferencias signicativas por gru-pos, es decir, los resultados de las conguraciones (1) y (3) tienen diferenciassignicativas con los de las conguraciones (2) y (4). Esto signica que elalgoritmo se comporta de manera similar para las conguraciones (1) y (3),y también para las conguraciones (2) y (4) ya que no existen diferenciassignicativas (en la mayoría de las instancias) entre conguraciones de unmismo grupo.

En la Figura 6.7 se muestran los resultados del test post-hoc Tukey ba-sado en el test Friedman utilizando dos métricas (Mejor y Mediana) paracomparar el desempeño de los algoritmos para todo el conjunto de instan-cias de problema. En el eje x se muestra el intervalo de conanza de rangosmedios (dado por el test Friedman) y el eje y muestra el número de lasconguraciones. Utilizando las métricas Mejor y Mediana de los resultadosde las conguraciones, el test arrojó un p-value = 7,45E-05 y un p-value= 2,95E-04, respectivamente. Por lo tanto hay diferencias signicativas en-tre los resultados de las mejores conguraciones obtenidas por la herramientairace. Ahora se debe observar cuáles poseen estas diferencias. Se mantiene laobservación de las diferencias por grupos, aunque menos marcadas ya que,por ejemplo los resultados de la Conguración (1) sólo tienen diferencias conlos de la Conguración (2) para la métrica Mediana.

La Tabla C.3 del Apéndice C y su resumen en la Tabla 6.6 muestran

Page 137: Metaheurísticas en la resolución de problemas sobre triangulaciones

6.3. Evaluación Experimental y Análisis Estadístico 115

Instancia p-valueCong. Cong. Cong. Cong.(1) (2) (3) (4)

LD40-1 4,93E-08 2,3,4 1,3 1,2 1LD40-2 1,91E-11 2,3,4 1 1 1LD40-3 0,0534LD40-4 9,63E-11 2,3,4 1 1 1

LD80-1 3,25E-04 3 3 1,2,4 3LD80-2 0,0132 3 3 1,2LD80-3 4,23E-04 2,4 1,3 2,4 1,3LD80-4 0,0014 3,4 1 1

LD120-1 1,02E-04 4 3 2,4 1,3LD120-2 4,65E-07 2,4 1,3 2,4 1,3LD120-3 7,67E-08 2,4 1,3 2,4 1,3LD120-4 1,30E-07 2 1,3 2,4 3

LD160-1 6,22E-15 2,3,4 1,3 1,2,4 1,3LD160-2 7,40E-10 2,4 1,3 2,4 1,3LD160-3 7,61E-10 2,4 1,3 2,4 1,3LD160-4 8,36E-14 2,4 1,3 2,4 1,3

LD200-1 5,67E-12 2,4 1,3 2,4 1,3LD200-2 1,82E-10 2,4 1,3 2,4 1,3LD200-3 8,64E-14 2,4 1,3 2,4 1,3LD200-4 3,90E-08 2,4 1,3 2,4 1,3

Tabla 6.7: Test Kruskal-Wallis comparando los resultados de las congura-ciones obtenidas con irace para ACO-MWT.

1 1.5 2 2.5 3 3.5 4 4.5

4

3

2

1

(a)

1 1.5 2 2.5 3 3.5 4

4

3

2

1

(b)

Figura 6.7: Test Friedman test utilizando las métricas (a) Mejor y (b) Me-diana para todo el conjunto de instancias.

Page 138: Metaheurísticas en la resolución de problemas sobre triangulaciones

116 Capítulo 6. Metaheurísticas aplicadas al problema MWT

que la Conguración (2) obtuvo los mejores resultados y las mejores mediasen la mitad de las instancias de problema consideradas (la mayoría en lasinstancias de mayor tamaño (de 120 a 200 puntos)). Además la Conguración(4) obtuvo los mejores resultados y las mejores medias en 1/4 de las instanciasde problema consideradas (también en las instancias de mayor tamaño). LaConguración (1) obtuvo los mejores resultados y las mejores medias en lamayoría de las instancias entre 40 y 80 puntos y la Conguración (3) noalcanzó estos resultados para ninguna de las instancias.

Considerando el análisis estadístico basado en los resultados obtenidosen el estudio experimental sobre las mejores conguraciones obtenidas con laherramienta irace, se puede decir que existen dos grupos de conguracionesconsiderando las diferencias signicativas entre sus resultados: (1) - (3), y(2) - (4). Entre conguraciones de un mismo grupo no existen diferenciassignicativas en la mayoría de las instancias consideradas; no así para con-guraciones de distintos grupos. Por lo tanto, todo lo planteado anteriormentenos ayuda a concluir que con las conguraciones (2) y (4) se obtendrían me-jores resultados, es decir aquellas que utilizan β = 5, elit = 1, criterio = 2y ρ = 0, 10 ó 0,25. Por lo tanto, se da mayor importancia a la informaciónheurística, se actualizan los rastros de feromona de manera elitista y se se-lecciona el punto con mayor cantidad de puntos factibles como el próximopunto de referencia (cuando el actual no posee puntos factibles).

6.3.3. Comparando ACO-MWT con SA-MWT

Para comparar los resultados del algoritmo ACO-MWT se pensó en im-plementar una técnica basada en trayectoria para poder comparar el desem-peño de dos algoritmos de distinto tipo. En esta etapa se diseñó un algoritmocon la técnica de Recocido Simulado (Sección 6.2) respetando la cantidad deevaluaciones realizadas con la metaheurística ACO para que la comparaciónsea justa.

En la Tabla 6.8 se muestran los valores para los parámetros del algoritmode Recocido Simulado aplicado al problema MWT (SA-MWT). El paráme-tro tipoVec indica el operador a utilizar para calcular el vecindario de unasolución. Para los valores 2, 3 y 4, g y a representan la cantidad de vecesque se aplica el operador de retriangulación greedy (RG) y el operador deretriangulación aleatorio (RA), respectivamente. Por ejemplo, si tipoVec = 2,signica que el operador RG se va a aplicar 6 veces (en 6 aplicaciones con-secutivas del operador de vecindario) y 2 veces el operador RA (luego de las6 aplicaciones del operador RG).

El parámetro M(Tk) se jó para que el algoritmo SA-MWT realizaraigual cantidad de evaluaciones que el algoritmo ACO-MWT y se pudierancomparar de una manera justa.

Se utilizó la herramienta SPOT [12] (descrita en la Sección A.1 del Apén-

Page 139: Metaheurísticas en la resolución de problemas sobre triangulaciones

6.3. Evaluación Experimental y Análisis Estadístico 117

Parámetro Valores

T0 1 = (m · l)2 = (10000 · n/4)3 = (10000 · n/2)

R 1 = FSA2 = VFSA3 = 0,8 · Tk4 = 0,9 · Tk5 = 0,95 · Tk

Tf ≤ 0, 005

tipoVec 1 = ip2 = g : 6, a : 23 = g : 8, a : 24 = g : 10, a : 2

Tabla 6.8: Valores paramétricos para el algoritmo SA-MWT con igual can-tidad de evaluaciones de ACO-MWT.

dice A) para obtener la conguración de parámetros que obtenga mejores re-sultados. SPOT consideró como región de interés (archivo ROI) a los valoresmostrados en la Tabla 6.8. Se utilizaron los siguientes valores para los pará-metros de SPOT: 50 pasos de secuencia (auto.loop.steps), 5 nuevos puntosde diseño en cada paso (seq.design.maxRepeats), 2 repeticiones por punto dediseño (init.design.repeats) y 7 puntos iniciales de diseño (init.design.size).Se utilizó RandomForest (spotPredictRandomForest) como herramienta rá-pida de construcción de modelo sustituto. Se usó el método de HipercuboLatino (spotCreateDesignLhd) como generador de puntos de diseño.

La mejor conguración paramétrica obtenida por la herramienta SPOTes la siguiente: tipoVec = 3, T0 = 2 y R = 3, por lo que se obtuvieron mejoresresultados aplicando 8 veces el operador de retriangulación greedy y 2 veces eloperador de retriangulación aleatorio, partiendo de una temperatura inicialde 1000 · n/4 y disminuyendo la temperatura de manera geométrica conα = 0,95.

En la Tabla C.4 del Apéndice C se muestran para cada instancia de pro-blema, el mejor valor objetivo encontrado, la media, la mediana y la desvia-ción estándar luego de ejecutar 25 veces (con diferentes semillas) los algorit-mos ACO-MWT (Conguración (2) y Conguración (4)) y SA-MWT. Paracada instancia, todos los algoritmos realizan la misma cantidad de evalua-ciones. En dicha tabla se puede observar que el algoritmo SA-MWT obtienemejores resultados y medias para todas las instancias de problema considera-das. Al realizar un análisis estadístico de los resultados, aplicando el test noparamétrico Kruskal-Wallis (debido a que las muestras no responden a unadistribución Normal y se quieren comparar más de dos conjuntos de muestras

Page 140: Metaheurísticas en la resolución de problemas sobre triangulaciones

118 Capítulo 6. Metaheurísticas aplicadas al problema MWT

independientes) esta situación se mantiene, es decir, que dicho test retornóp-values menores a 0,05 (valores entre 3, 68E-12 y 9, 89E-11) para todas lasinstancias. Esto signica que siempre hubo diferencias signicativas entre losresultados de los algoritmos y se puede concluir que el desempeño del algo-ritmo SA-MWT es superior que el del algoritmo ACO-MWT (Conguración(2) y Conguración (4)).

Debido a que el algoritmo SA-MWT mostró un mejor desempeño queACO-MWT, se decidió realizar experimentos con SA-MWT pero efectuandomás evaluaciones que las utilizadas al compararlo con ACO-MWT, es decir,que el parámetro M(Tk) puede ser igual a dTke ó m · 2. Considerando losvalores de parámetros de la Tabla 6.8 y agregando los valores para el pará-metro M(Tk) se utilizó la herramienta irace para calibrar los valores de losparámetros.

El proceso de ajuste automático se realizó con los valores de parámetrosde irace predeterminados realizando 520 ejecuciones en total (maxExperiments =520) para darle más posibilidades a la herramienta de encontrar una buenaconguración paramétrica.

La medida de desempeño utilizada para el ajuste de parámetros es elerror del valor de la función objetivo obtenido por el algoritmo. El valorerror se dene como f(x)− f(x∗), donde x es la solución candidata y x∗ esla solución óptima obtenida por la técnica que calcula el LMT-esqueleto yluego triangula los polígonos simples restantes con programación dinámica[26].

En la Tabla 6.9 se muestran las mejores conguraciones de parámetrosencontradas por irace. Se puede observar que en todas las conguracionesel parámetro T0 = 3 por lo que es evidente que el algoritmo tiene un mejordesempeño comenzando con una temperatura igual a 10000 ·n/2. Además seobserva que en la mayoría de los casos tipoVec = 4, es decir, que se obtuvieronmejores resultados aplicando 10 veces el operador de retriangulación greedyy 2 veces el de retriangulación aleatoria (g = 10, a = 2).

Nro. de conguración tipoVec R M(Tk) T0

(1) 2 4 1 3(2) 4 2 2 3(3) 4 4 1 3

Tabla 6.9: Mejores conguraciones paramétricas para el algoritmo SA-MWTencontradas con la herramienta irace.

Para poder decidir cuál de éstas es la mejor conguración paramétricapara el algoritmo SA-MWT se realizaron ejecuciones para todas las instanciasde problema para cada una de dichas conguraciones.

En la Tabla C.5 del Apéndice C se muestra, para cada instancia de proble-ma, el mejor valor objetivo encontrado, la media, la mediana y la desviación

Page 141: Metaheurísticas en la resolución de problemas sobre triangulaciones

6.3. Evaluación Experimental y Análisis Estadístico 119

estándar luego de ejecutar 25 veces (con diferentes semillas) cada una de lasconguraciones.

Considerando los valores de dicha tabla se puede observar que la Con-guración (3) obtuvo la mayor cantidad de mejores valores y las mejoresmedias en todas las instancias consideradas, es decir que se obtuvieron me-jores resultados con tipoVec = 4, R = 4, M(Tk) = 1 y T0 = 3. Ademásse puede observar que las Conguraciones (1) y (2) no obtuvieron mejoresmedia para ninguna de las instancias (ver Tabla 6.10). En la Figura 6.8 semuestran los boxplots correspondientes a las conguraciones obtenidas porirace para cada una de las instancias de problema. Se puede observar quepara las instancias más pequeñas se obtienen resultados muy similares paratodas las conguraciones y que no hay mucha variabilidad en los resultados.Además la Conguración (3) obtiene los mejores resultados y las mejoresmedianas para todas las instancias siendo un algoritmo robusto.

Cong. (1) Cong. (2) Cong. (3)

# de mejores 8 7 19# de medias 0 0 20

Tabla 6.10: Resumen de los resultados de las conguraciones obtenidas porirace para SA-MWT.

Page 142: Metaheurísticas en la resolución de problemas sobre triangulaciones

120 Capítulo 6. Metaheurísticas aplicadas al problema MWT

Config.(1) Config.(2) Config.(3)

5.464

5.466

5.468

5.47

5.472

5.474

5.476

x 106 LD40−1

Config.(1) Config.(2) Config.(3)

4.6596

4.6596

4.6596

4.6596

x 106 LD40−2

Config.(1) Config.(2) Config.(3)

5.48

5.482

5.484

5.486

5.488

5.49x 10

6 LD40−3

Config. (1) Config. (2) Config. (3)

5.746

5.747

5.748

5.749

5.75

5.751

5.752x 10

6 LD40−4

40 puntos

Config.(1) Config.(2) Config.(3)

6.21

6.215

6.22

6.225

6.23

6.235

6.24

6.245x 10

6 LD80−1

Config.(1) Config.(2) Config.(3)7.57

7.58

7.59

7.6

7.61

7.62

x 106 LD80−2

Config.(1) Config.(2) Config.(3)

5.82

5.83

5.84

5.85

5.86

5.87

5.88x 10

6 LD80−3

Config. (1) Config. (2) Config. (3)

6.145

6.15

6.155

6.16

6.165

6.17

x 106 LD80−4

80 puntos

Config.(1) Config.(2) Config.(3)

9.24

9.25

9.26

9.27

9.28

9.29

9.3

x 106 LD120−1

Config.(1) Config.(2) Config.(3)

5.88

5.885

5.89

5.895

5.9

5.905

5.91

x 106 LD120−2

Config.(1) Config.(2) Config.(3)

8.56

8.57

8.58

8.59

8.6

x 106 LD120−3

Config. (1) Config. (2) Config. (3)

7.67

7.68

7.69

7.7

7.71

7.72

7.73

x 106 LD120−4

120 puntos

Config.(1) Config.(2) Config.(3)7.4

7.41

7.42

7.43

7.44

7.45

7.46

7.47

x 106 LD160−1

Config.(1) Config.(2) Config.(3)6.94

6.95

6.96

6.97

6.98

6.99

7

7.01x 10

6 LD160−2

Config.(1) Config.(2) Config.(3)

8.6

8.62

8.64

8.66

8.68

x 106 LD160−3

Config. (1) Config. (2) Config. (3)

6.09

6.1

6.11

6.12

6.13

6.14x 10

6 LD160−4

160 puntos

Config.(1) Config.(2) Config.(3)

6.48

6.5

6.52

6.54

6.56

6.58x 10

6 LD200−1

Config.(1) Config.(2) Config.(3)

7.51

7.52

7.53

7.54

7.55

7.56

7.57

7.58

x 106 LD200−2

Config.(1) Config.(2) Config.(3)

8.64

8.65

8.66

8.67

8.68

8.69

8.7

8.71

x 106 LD200−3

Config. (1) Config. (2) Config. (3)

7.8

7.82

7.84

7.86

7.88

x 106 LD200−4

200 puntos

Figura 6.8: Boxplots de las mejores conguraciones encontradas por iracepara las instancias de problema considerados para el algoritmo SA-MWT.

Page 143: Metaheurísticas en la resolución de problemas sobre triangulaciones

6.3. Evaluación Experimental y Análisis Estadístico 121

Como ya se mencionó anteriormente, para asegurar estas armacioneses necesario realizar un estudio estadístico de los resultados obtenidos conlas diferentes conguraciones. Se utilizó el test Kruskal-Wallis para realizarpruebas no paramétricas con más de 2 muestras independientes que no res-ponden a una distribución Normal (comprobado usando el test Kolmogorov-Smirnov). En la Tabla 6.11 se muestran los p-values obtenidos al realizardicho test sobre los resultados de las conguraciones obtenidas con irace. Sepuede observar que en todos los casos se obtienen p-values menores a 0,05 locual indica que hay diferencias signicativas entre los resultados del algorit-mo para las conguraciones consideradas. Como se mencionó anteriormente,a partir de la tercera columna se detalla entre cuáles resultados existen estasdiferencias. Por ejemplo, si el p-value asociado a la instancia i es menor a0,05 y en la columna Cong. (1) se muestra 2,3, signica que los resul-tados de la Conguración (1) tuvieron diferencias signicativas con respectoa los de las conguraciones (2) y (3) para la instancia i. Se puede observarque a partir de las instancias de 80 puntos los resultados de la Congura-ción (3) poseen diferencias signicativas con los resultados de las otras 2conguraciones (excepto para la instancia LD804).

En la Figura 6.9 se muestran los resultados del test post-hoc Tukey ba-sado en el test Friedman utilizando dos métricas (Mejor y Media) para com-parar el desempeño de los algoritmos para todo el conjunto de instancias deproblema. En el eje x se muestra el intervalo de conanza de rangos medios(dado por el test Friedman) y el eje y muestra el número de las conguracio-nes. Utilizando las métricas Mejor y Mediana de los resultados de las con-guraciones, el test arrojó un p-value = 3,80E-04 y un p-value = 1,21E-06,respectivamente. Por lo tanto, hay diferencias signicativas entre los resulta-dos de las mejores conguraciones obtenidas por la herramienta irace. Ahorase debe observar cuáles poseen estas diferencias. Con esto se muestra que elalgoritmo SA-MWT con la Conguración (3) tiene un mejor desempeño quecon las otras 2 conguraciones obteniendo los mejores resultados aplican-do el operador RG 10 veces y luego 2 veces el operador RA, disminuyendola temperatura de manera geométrica con α = 0,9, inicializando el procesocon una temperatura igual a 10000 · n/2 y realizando dTke movimientos portemperatura.

Para comprobar que el renamiento realizado sobre la mejor solución en-contrada se utilizó el test no paramétrico Wilcoxon para 2 muestras depen-dientes utilizando dos métricas (Mejor y Mediana) para comparar el desem-peño del algoritmo con y sin renamiento para todo el conjunto de instanciasde problema. Se obtuvieron diferencias signicativas entre los resultados pa-ra ambas métricas ya que el test retornó un p-value = 3,52E-09 para losmejores valores y un p-value = 5,15E-10 para las medianas. Por lo tanto,realizar el renamiento mejora el desempeño del algoritmo.

En la Figura 6.10 se muestran 6 valores del parámetro de la temperatura,

Page 144: Metaheurísticas en la resolución de problemas sobre triangulaciones

122 Capítulo 6. Metaheurísticas aplicadas al problema MWT

Instancia p-valueCong. Cong. Cong.(1) (2) (3)

LD40-1 4,42E-08 2 1,3 2LD40-2 3,11E-07 2 1,3 2LD40-3 7,56E-07 2 1,3 2LD40-4 1,18E-13 2 1,3 2

LD80-1 1,32E-07 3 3 1,2LD80-2 4,42E-07 3 3 1,2LD80-3 3,61E-09 3 3 1,2LD80-4 3,11E-02 3 1

LD120-1 1,37E-04 3 3 1,2LD120-2 4,16E-04 3 3 1,2LD120-3 5,49E-09 3 3 1,2LD120-4 5,43E-05 3 3 1,2

LD160-1 3,99E-07 3 3 1,2LD160-2 9,07E-06 3 3 1,2LD160-3 2,54E-05 3 3 1,2LD160-4 1,11E-07 3 3 1,2

LD200-1 2,77E-07 3 3 1,2LD200-2 3,28E-07 3 3 1,2LD200-3 2,90E-08 3 3 1,2LD200-4 1,80E-06 3 3 1,2

Tabla 6.11: Test Kruskal-Wallis comparando los resultados de las congura-ciones obtenidas con irace para SA-MWT.

1 1.2 1.4 1.6 1.8 2 2.2 2.4 2.6 2.8

3

2

1

(a)

0.5 1 1.5 2 2.5 3

3

2

1

(b)

Figura 6.9: Test Friedman test utilizando las métricas (a) Mejor y (b) Me-diana para todo el conjunto de instancias.

Page 145: Metaheurísticas en la resolución de problemas sobre triangulaciones

6.3. Evaluación Experimental y Análisis Estadístico 123

Tk, para k = 0, 3, 6, 9, 12 y el promedio de las temperaturas en las cualesse encontró la mejor solución en cada una de las ejecuciones por instancia deproblema para la Conguración (3), es decir que T0 = 10000 · n/2 y la reglade decremento de la temperatura es la geométrica con α = 0,9. Se puedeobservar que en promedio, entre la temperatura T0 y T12, se obtienen lasmejores soluciones.

500000

600000

700000

800000

900000

1000000

1100000

T0

T3

T6

0

100000

200000

300000

400000

500000

LD40-1

LD40-2

LD40-3

LD40-4

LD80-1

LD80-2

LD80-3

LD80-4

LD120-1

LD120-2

LD120-3

LD120-4

LD160-1

LD160-2

LD160-3

LD160-4

LD200-1

LD200-2

LD200-3

LD200-4

T9

T12

Promedio

Figura 6.10: Gráca de promedio de temperaturas donde se encontraron losmejores resultados.

Page 146: Metaheurísticas en la resolución de problemas sobre triangulaciones

124 Capítulo 6. Metaheurísticas aplicadas al problema MWT

6.3.4. Comparación con otros algoritmos

A continuación se muestra una comparación realizada entre diferentesalgoritmos que aproximan la triangulación de peso mínimo (triangulación deDelaunay (DT) y triangulación Greedy (GT)), algoritmos propuestos ante-riormente con las mejores conguraciones paramétricas encontradas (ACO-MWT y SA-MWT) y la estrategia que, calculando el LMT-esqueleto y luegoaplicando programación dinámica a los polígonos simples restantes, obtienela triangulación de peso mínimo, siempre que el LMT-esqueleto sea conexo.A esta técnica la denominamos LMT+PD.

En la Tabla 6.12 se muestra el mejor valor objetivo encontrado y la me-diana luego de realizar 25 ejecuciones (cada una con una semilla distinta).Cabe aclarar que para los algoritmos determinísticos (DT, GT y LMT+PD)sólo se muestra el valor objetivo de la única solución obtenida. Se quitaronlas cifras decimales para mayor claridad. Se puede observar que, como semencionó en la revisión del estado del arte del problema en el Capítulo 4,la triangulación de Delaunay no es una buena aproximación ya que nuncaconsigue el peso mínimo y que la triangulación Greedy es una mejor aproxi-mación, aunque sólo obtiene la triangulación de peso mínimo en 3 instanciasde problema. Con respecto a los algoritmos propuestos en la presente tesis, seobserva que ACO-MWT nunca obtiene la triangulación de peso mínimo conninguna de las 2 conguraciones. SA-MWT obtiene triangulaciones con elpeso óptimo para la mitad de las instancias consideradas. En las Tablas 6.13y 6.14 se muestran las diferencias y los porcentajes de las diferencias en-tre los pesos obtenidos por los algoritmos y el peso óptimo obtenido conLMT+PD, respectivamente. Como se puede observar en la Figura 6.11, elalgoritmo SA-MWT obtiene triangulaciones cuyos pesos tienen diferenciasentre el 0, 0202 % y el 0, 1916 % del peso óptimo (para las instancias que noobtiene el óptimo).

En las Tablas C.6 y C.7 del Apéndice C se muestran las mejores triangula-ciones obtenidas por todos los algoritmos considerados (DT, GT, ACO-MWTCong. (2), ACO-MWT Cong. (4), SA-MWT Cong. (3)) y la triangulaciónde peso mínimo calculada con el algoritmo LMT+PD.

Page 147: Metaheurísticas en la resolución de problemas sobre triangulaciones

6.3. Evaluación Experimental y Análisis Estadístico 125

Instancia DT GTACO-MWT ACO-MWT SA-MWT

LMT+PDCong. (2) Cong. (4) Cong. (3)

Mejor Mediana Mejor Mediana Mejor MedianaLD40-1 5666348 5477181 5479977 5495703 5484137 5497873 5463745 5463745 5463745LD40-2 4722381 4659553 4665936 4674871 4664046 4672079 4659553 4659553 4659553LD40-3 5663032 5489487 5479657 5492067 5482865 5494985 5478923 5478923 5478923LD40-4 6289829 5751867 5761193 5776620 5756358 5774598 5745772 5746236 5745772LD80-1 6462038 6231682 6260825 6279367 6261814 6283408 6209297 6231682 6204290LD80-2 8081573 7581868 7620769 7646077 7624509 7648801 7572205 7581868 7572205LD80-3 6143637 5845506 5848319 5882648 5851635 5884709 5816940 5841975 5805814LD80-4 6460311 6147234 6210631 6237509 6210252 6241852 6143082 6147234 6143082LD120-1 9581143 9234128 9317983 9340774 9302207 9333219 9234128 9242260 9234128LD120-2 6149826 5884714 5970058 5990402 5956079 5995514 5877686 5892024 5877686LD120-3 8948084 8557506 8631167 8663783 8637751 8664781 8557506 8571901 8557506LD120-4 8111183 7683981 7721169 7751005 7727629 7761424 7663706 7688248 7660595LD160-1 7837805 7413960 7468371 7499500 7475622 7507834 7402735 7437654 7396919LD160-2 7144976 6944993 7053725 7076386 7051421 7077634 6942685 6961033 6942685LD160-3 8891460 8616565 8685982 8717362 8701652 8727782 8597937 8636054 8589394LD160-4 6315498 6089662 6197378 6230486 6204825 6229865 6089907 6111569 6088675LD200-1 6990408 6528017 6587367 6640783 6615517 6650139 6470450 6547371 6460140LD200-2 8140058 7512778 7648956 7681763 7654893 7676252 7507696 7537336 7500689LD200-3 9358524 8636676 8766699 8799491 8763529 8805424 8635224 8667339 8626473LD200-4 8015614 7806015 7930122 7959447 7937562 7960086 7798133 7833170 7789834

Tabla 6.12: Comparación de resultados (mejores valores y medianas) de losalgoritmos DT, GT, ACO-MWT, SA-MWT y LMT+PD. Se destacan losmejores valores y las mejores medianas (en negrita).

Instancia DT GTACO-MWT ACO-MWT SA-MWTCong. (2) Cong. (4) Cong. (3)

Mejor Mediana Mejor Mediana Mejor MedianaLD40-1 202603 13436 16232 31958 20392 34128 0 0LD40-2 62828 0 6383 15318 4493 12526 0 0LD40-3 184109 10564 734 13144 3942 16062 0 0LD40-4 544057 6095 15421 30848 10586 28826 0 464LD80-1 257748 27392 56535 75077 57524 79118 5007 27392LD80-2 509368 9663 48564 73872 52304 76596 0 9663LD80-3 337823 39692 42505 76834 45821 78895 11125 36161LD80-4 317229 4152 67549 94427 67170 98770 0 4152LD120-1 347015 0 83855 106646 68079 99091 0 8132LD120-2 272140 7028 92372 112716 78393 117828 0 14338LD120-3 390578 0 73661 106277 80245 107275 0 14395LD120-4 450588 23386 60574 90410 67034 100829 3110 27653LD160-1 440886 17041 71452 102581 78703 110915 5816 40735LD160-2 202291 2308 111040 133701 108736 134949 0 18348LD160-3 302066 27171 96588 127968 112258 138388 8542 46660LD160-4 226823 987 108703 141811 116150 141190 1231 22894LD200-1 530268 67877 127227 180643 155377 189999 10309 87231LD200-2 639369 12089 148267 181074 154204 175563 7007 36647LD200-3 732051 10203 140226 173018 137056 178951 8750 40866LD200-4 225780 16181 140288 169613 147728 170252 8299 43336

Tabla 6.13: Diferencias entre los mejores pesos encontrados y el peso exacto.Se destacan las menores diferencias (en negrita).

Page 148: Metaheurísticas en la resolución de problemas sobre triangulaciones

126 Capítulo 6. Metaheurísticas aplicadas al problema MWT

Instancia DT GTACO-MWT ACO-MWT SA-MWTCong. (2) Cong. (4) Cong. (3)

Mejor Mediana Mejor Mediana Mejor MedianaLD40-1 3,7081 0,2459 0,2971 0,5849 0,3732 0,6246 0 0LD40-2 1,3484 0 0,1370 0,3288 0,0964 0,2688 0 0LD40-3 3,3603 0,1928 0,0134 0,2399 0,0720 0,2932 0 0LD40-4 9,4688 0,1061 0,2684 0,5369 0,1842 0,5017 0 0,0080LD80-1 4,1544 0,4415 0,9112 1,2101 0,9272 1,2752 0,0807 0,4415LD80-2 6,7268 0,1276 0,6413 0,9756 0,6907 1,0115 0 0,1276LD80-3 5,8187 0,6837 0,7321 1,3234 0,7892 1,3589 0,1916 0,6228LD80-4 5,1640 0,0676 1,0996 1,5371 1,0934 1,6078 0 0,0675LD120-1 3,7580 0 0,9081 1,1549 0,7373 1,0731 0 0,0880LD120-2 4,6301 0,1196 1,5716 1,9177 1,3337 2,0047 0 0,2439LD120-3 4,5642 0 0,8608 1,2419 0,9377 1,2536 0 0,1682LD120-4 5,8819 0,3053 0,7907 1,1802 0,8750 1,3162 0,0406 0,3609LD160-1 5,9604 0,2304 0,9660 1,3868 1,0640 1,4995 0,0786 0,5507LD160-2 2,9137 0,0332 1,5994 1,9258 1,5662 1,9438 0 0,2642LD160-3 3,5167 0,3163 1,1245 1,4898 1,3069 1,6111 0,0994 0,5432LD160-4 3,7253 0,0162 1,7853 2,3291 1,9076 2,3189 0,0202 0,3760LD200-1 8,2083 1,0507 1,9694 2,7963 2,4052 2,9411 0,1595 1,3502LD200-2 8,5241 0,1612 1,9767 2,4141 2,0559 2,3406 0,0934 0,4885LD200-3 8,4861 0,1183 1,6255 2,0057 1,5888 2,0744 0,1014 0,4737LD200-4 2,8984 0,2077 1,8009 2,1774 1,8964 2,1856 0,1065 0,5563

Tabla 6.14: Porcentajes de diferencias entre los mejores pesos encontrados yel peso exacto. Se destacan los menores porcentajes (en negrita).

4,5

5,0

5,5

6,0

6,5

7,0

7,5

8,0

8,5

9,0

9,5

10,0

DT

GT

ACO-MWT Config. (2)

0,0

0,5

1,0

1,5

2,0

2,5

3,0

3,5

4,0

4,5

LD4

0-1

LD4

0-2

LD4

0-3

LD4

0-4

LD8

0-1

LD8

0-2

LD8

0-3

LD8

0-4

LD1

20

-1

LD1

20

-2

LD1

20

-3

LD1

20

-4

LD1

60

-1

LD1

60

-2

LD1

60

-3

LD1

60

-4

LD2

00

-1

LD2

00

-2

LD2

00

-3

LD2

00

-4

ACO-MWT Config. (2)

ACO-MWT Config. (4)

SA-MWT Config. (3)

Figura 6.11: Gráca de porcentajes de diferencias entre los mejores pesosencontrados con los algoritmos propuestos y el peso exacto.

Page 149: Metaheurísticas en la resolución de problemas sobre triangulaciones

6.3. Evaluación Experimental y Análisis Estadístico 127

6.3.5. Análisis de tiempos de ejecución

Luego de realizar el estudio experimental y estadístico de los resultadosse presenta la comparación y el análisis del esfuerzo computacional de losalgoritmos estudiados en la presente tesis aplicados al problema MWT. Enla Tabla 6.15 se muestran los tiempos de ejecución (expresados en segundos)consumidos por los algoritmos para resolver las instancias de problema con-sideradas. Desde un punto de vista diferente, la Figura 6.12 muestra estosdatos grácamente. El eje x representa las instancias estudiadas en la evalua-ción experimental y el eje y representa la cantidad de segundos consumidosgracados en escala logarítmica. La cantidad de segundos mostrada es elpromedio de 25 ejecuciones. Para los algoritmos estocásticos se consideraronlas 25 ejecuciones con diferentes semillas y para los algoritmos determinís-ticos se consideraron los tiempos de 25 ejecuciones con cada instancia deproblema. Estas ejecuciones se realizaron en una sola máquina de maneraque sea justa la comparación ya que en el cluster los nodos poseen diferentescaracterísticas.

El algoritmo que insume mayor cantidad de segundos es ACO-MWT conlas dos conguraciones debido a que es un algoritmo constructivo y al au-mentar la cantidad de puntos insume mucho más tiempo. El algoritmo másrápido es el que construye la triangulación de Delaunay, pero éste obtiene so-luciones muy lejanas a la óptima. El algoritmo LMT+PD es el segundo másrápido pero cabe recordar que éste algoritmo no obtiene la solución óptimacuando el LMT-esqueleto no es conexo. El tercero más rápido es el algorit-mo greedy pero, como se dijo en la sección de antecedentes, es una malaaproximación de la triangulación de peso mínimo. El algoritmo SA-MWTque utiliza la Conguración (3) es el cuarto más rápido consumiendo, enpromedio, 5 horas aproximadamente por instancia. Es más lento que el algo-ritmo LMT+PD en un factor promedio de 16 horas. Aunque es importantenotar que SA-MWT siempre retorna una solución, independientemente de ladistribución de los puntos de la instancia considerada.

Page 150: Metaheurísticas en la resolución de problemas sobre triangulaciones

128 Capítulo 6. Metaheurísticas aplicadas al problema MWT

Instancia DT GTACO-MWT ACO-MWT SA-MWT

LMT+PDCong. (2) Cong. (4) Cong. (3)

LD40-1 0,0045 0,0734 827,78 344,22 795,20 0,038LD40-2 0,0054 0,0425 459,75 312,00 781,75 0,045LD40-3 0,0059 0,0288 950,00 456,67 1666,00 0,053LD40-4 0,0063 0,0325 435,44 406,00 833,00 0,036LD80-1 0,0108 0,2343 5831,56 6970,89 4309,75 0,106LD80-2 0,0113 0,3670 7531,33 8575,44 4931,50 0,136LD80-3 0,0114 0,1970 7604,89 8763,11 5209,80 0,121LD80-4 0,0110 0,2405 6918,67 6433,89 4269,33 0,105LD120-1 0,0134 0,6220 32341,78 32866,11 12113,50 0,228LD120-2 0,0145 0,6055 35019,44 30832,44 11641,50 0,213LD120-3 0,0141 0,6755 35462,89 35920,56 11728,50 0,215LD120-4 0,0166 0,8050 42066,11 43097,67 11929,00 0,179LD160-1 0,0319 1,3410 98695,67 98860,56 20568,50 0,358LD160-2 0,0323 1,6385 125094,33 115150,11 26642,00 0,385LD160-3 0,0311 1,5515 114476,00 119810,22 21879,00 0,380LD160-4 0,0333 1,5175 128153,56 161275,00 25074,50 0,283LD200-1 0,0497 2,5720 282467,67 277590,11 64273,33 0,502LD200-2 0,0489 2,8490 265558,44 231862,78 53277,00 0,524LD200-3 0,0495 2,4885 217370,00 248911,11 50686,50 0,522LD200-4 0,0499 3,9965 316918,11 325727,33 39209,00 0,508

Tabla 6.15: Tiempos de ejecución de los algoritmos DT, GT, ACO-MWT,SA-MWT y LMT+PD. Se destacan los menores tiempos de ejecución (ennegrita).

61

305

1526

7629

38147

190735

Ca

nti

da

d d

e s

eg

un

do

s

DT

GT

ACO-MWT Config. (2)

0

0

0

0

2

12

LD4

0-1

LD4

0-2

LD4

0-3

LD4

0-4

LD8

0-1

LD8

0-2

LD8

0-3

LD8

0-4

LD1

20

-1

LD1

20

-2

LD1

20

-3

LD1

20

-4

LD1

60

-1

LD1

60

-2

LD1

60

-3

LD1

60

-4

LD2

00

-1

LD2

00

-2

LD2

00

-3

LD2

00

-4

Ca

nti

da

d d

e s

eg

un

do

s

ACO-MWT Config. (4)

SA-MWT Config. (3)

LMT+PD

Figura 6.12: MWT: Gráca tiempos de ejecución de todos los algoritmos.

Page 151: Metaheurísticas en la resolución de problemas sobre triangulaciones

6.3. Evaluación Experimental y Análisis Estadístico 129

6.3.6. Evaluación de instancias particulares del problema

Como se mencionó anteriormente, la estrategia de calcular el LMT-esqueletoa un conjunto de puntos y luego aplicar programación dinámica a los polí-gonos simples restantes para completar la triangulación no siempre se pue-de realizar para obtener la triangulación de peso mínimo ya que el LMT-esqueleto puede ser no conexo. Por lo tanto, esta metodología sólo puedeaplicarse si el LMT-esqueleto es conexo, ya que si no lo es, los agujeros delLMT-esqueleto no son polígonos simples y no se puede utilizar la programa-ción dinámica. Cabe destacar que existen conjuntos de puntos (realizadosmanualmente) para los cuales no se consigue la triangulación de peso míni-mo con esta técnica. Por esta razón se diseñó un generador de instancias deprueba para las cuales no se pueda utilizar la técnica LMT+PD, es decir,instancias para las cuales el LMT-esqueleto sea no conexo y cuyos subcon-juntos de puntos no triangulados formen polígonos no simples y no se puedautilizar programación dinámica para triangularlos (ver Sección 5.4).

En la Tabla 6.16 se muestran los pesos obtenidos por los algoritmos DT,GT y la mediana y el mejor valor encontrado por los algoritmos ACO-MWTCong. (2), ACO-MWT Cong. (4) y SA-MWT Cong. (3) considerandolas instancias de prueba particulares realizadas con el generador aleatorio deinstancias particulares. Se denota con el prejo IC- a las instancias cuyosdiamantes poseen igual cantidad de puntos y con DC- a las instanciascuyos diamantes poseen distinta cantidad de puntos. El algoritmo SA-MWTCong. (3) obtiene los mejores pesos (excepto para la instancia LD40-1) ylas mejores medianas luego de realizar 25 ejecuciones con diferentes semillas.Se quitaron las cifras decimales para mayor legibilidad.

Instancia DT GTACO-MWT ACO-MWT SA-MWTCong. (2) Cong. (4) Cong. (3)

Mejor Mediana Mejor Mediana Mejor MedianaDC-40 2697432 2725003 2721043 2723772 2719605 2723463 2715773 2715772DC-80 4967027 4082791 4092496 4108133 4102109 4110343 4071939 4074281DC-120 13900428 12574829 12650252 12680169 12644581 12689462 12561902 12573187DC-160 10521516 9924266 9989171 10038222 9969411 10019301 9902059 9927122DC-200 14970488 12970463 13160230 13187042 13155287 13198741 12946776 12983091IC-40 5101042 4788270 4733051 4738246 4733051 4738354 4733051 4734879IC-80 11804951 9634522 9644335 9668546 9647773 9674514 9621044 9626608IC-120 10517383 9434560 9468757 9525837 9474944 9527461 9417650 9434560IC-160 14592494 12978734 13085041 13117987 13094736 13113709 12950943 12974705IC-200 19550913 17803438 17889092 17944282 17900266 17953906 17789587 17826672

Tabla 6.16: Resultados obtenidos con los algoritmos GT, DT, ACO-MWTCong. (2), ACO-MWT Cong. (4) y SA-MWT Cong. (3) para instanciasde problema particulares. Se destacan los menores valores encontrados y lasmejores medianas (en negrita).

Page 152: Metaheurísticas en la resolución de problemas sobre triangulaciones

130 Capítulo 6. Metaheurísticas aplicadas al problema MWT

La Tabla C.8 del Apéndice C presenta las triangulaciones obtenidas conlos algoritmos DT y GT, y la mejor triangulación obtenida con el algoritmoSA-MWT Cong. (3). En la última columna se muestra el LMT-esqueletode las instancias particulares consideradas en las cuales se puede observarque dicho grafo no es conexo.

En la Figura 6.13 se muestran 7 valores del parámetro de la temperatura,Tk, para k = 0, 3, 6, 9, 12, el promedio (Promedio DC) de las temperaturasen las cuales se encontró la mejor solución en cada una de las ejecucionesde las instancias de problema cuyos diamantes tienen distinta cantidad depuntos y el promedio (Promedio IC) de las temperaturas para las instanciasde problema cuyos diamantes tienen igual cantidad de puntos. Se puedeobservar que sucede lo mismo que para las instancias de problema comunesya que, en promedio, entre la temperatura T0 y T12, se obtienen las mejoressoluciones.

600000

700000

800000

900000

1000000

1100000

T0

T3

T6

T9

0

100000

200000

300000

400000

500000

40 80 120 160 200

T9

T12

Promedio DC

Promedio IC

Figura 6.13: Gráca de promedio de temperaturas donde se encontraron losmejores resultados.

Page 153: Metaheurísticas en la resolución de problemas sobre triangulaciones

6.3. Evaluación Experimental y Análisis Estadístico 131

6.3.7. Comparación de herramientas calibradoras de pará-

metros para el problema MWT

Con el objetivo de comparar las herramientas que se utilizan para calibrarlos parámetros, se utilizó SPOT [15] para obtener los mejores valores paralos parámetros del algoritmo SA-MWT para luego comparar su desempeñocontra la mejor conguración obtenida por la herramienta irace (SA-MWTCong. (3)).

Dicha herramienta consideró como región de interés (archivo ROI) a losvalores mostrados en la Tabla 6.8 y consideró los siguientes valores paraM(Tk): 1 = dTke y 2 = (m · 2). Se utilizaron los siguientes valores para losparámetros de SPOT: 50 pasos de secuencia (auto.loop.steps), 5 nuevos pun-tos de diseño en cada paso (seq.design.maxRepeats), 2 repeticiones por puntode diseño (init.design.repeats) y 7 puntos iniciales de diseño (init.design.size).Se utilizó RandomForest (spotPredictRandomForest) como herramienta rá-pida de construcción de modelo sustituto. Se usó el método de HipercuboLatino (spotCreateDesignLhd) como generador de puntos de diseño.

SPOT arrojó como mejor conguración paramétrica a la siguiente: tipoVec =4, T0 = 1, R = 4 y M(Tk) = 2, por lo que se obtuvieron mejores resulta-dos aplicando 10 veces el operador de retriangulación greedy y 2 veces eloperador de retriangulación aleatorio, partiendo de una temperatura inicialde m · l, disminuyendo la temperatura de manera geométrica con α = 0,9 yrealizando cantAristas · 2 movimientos por temperatura. Es decir, se van acomparar las conguraciones paramétricas mostradas en la Tabla 6.17.

Herramienta tipoVec R M(Tk) T0

SPOT 4 4 2 1irace 4 4 1 3

Tabla 6.17: Mejores conguraciones paramétricas para el algoritmo SA-MWT encontradas con las herramientas SPOT e irace.

En la Tabla 6.18 se muestran las medianas y los mejores valores obte-nidos por las mejores conguraciones alcanzadas por la herramienta irace(SA-MWT irace) y por SPOT (SA-MWT SPOT). Se quitaron las cifras de-cimales para mayor claridad. En la última columna se muestran los p-valuesobtenidos con el test no paramétrico Wilcoxon ya que los resultados no si-guen una distribución Normal y se consideran 2 muestras independientes. Sepuede observar que SA-MWT irace obtiene las mejores medianas para todaslas instancias consideradas y también obtiene los mejores valores, excepto pa-ra las instancias LD160-4, LD200-3 y LD200-3. Con respecto a los p-valuesobtenidos por el test Wilcoxon se puede observar que para la mayoría delas instancias (75%) existen diferencias signicativas entre los resultados ob-tenidos con ambas conguraciones. Se debe notar que para las primeras 3

Page 154: Metaheurísticas en la resolución de problemas sobre triangulaciones

132 Capítulo 6. Metaheurísticas aplicadas al problema MWT

conguraciones no se aplicó el test Wilcoxon debido a que las muestras sonidénticas y el test retorna un p-value erróneo. En dichas celdas de la tablase colocó un - para denotar esta situación.

En la Figura 6.14 se muestran los resultados del test post-hoc Tukeybasado en el test Friedman utilizando dos métricas (Mejor y Mediana) paracomparar el desempeño de los algoritmos para todo el conjunto de instanciasde problema. En el eje x se muestra el intervalo de conanza de rangosmedios (dado por el test Friedman) y el eje y muestra los nombres de lasconguraciones. Utilizando las métricas Mejor y Mediana de los resultadosde las conguraciones, el test arrojó un p-value = 0, 01260 y un p-value= 0, 00004, respectivamente. Por lo tanto hay diferencias signicativas entrelos resultados de las conguraciones obtenidas por las herramientas irace ySPOT, y la conguración obtenida por irace se encuentra en el primer lugardel ranking. Por lo tanto, la conguración encontrada por irace es la queobtiene los mejores resultados.

InstanciaSA-MWT irace SA-MWT SPOT Test WilcoxonMejor Mediana Mejor Mediana p-value

LD40-1 5463745 5463745 5463745 5463745 -LD40-2 4659552 4659552 4659552 4659552 -LD40-3 5478923 5478923 5478923 5478923 -LD40-4 5745772 5745772 5745772 5746237 1,19E-09LD80-1 6209297 6220029 6209297 6220950 0,0018LD80-2 7572205 7572419 7572419 7581868 1,10E-06LD80-3 5816939 5831732 5822786 5845506 1,74E-07LD80-4 6143082 6147234 6147234 6147234 7,59E-04LD120-1 9234128 9237248 9234128 9239596 0,1895LD120-2 5877686 5885543 5879315 5890489 4,10E-04LD120-3 8557506 8557506 8557506 8567266 6,41E-06LD120-4 7663705 7682404 7672104 7687327 9,24E-04LD160-1 7402735 7418259 7409620 7426713 0,001LD160-2 6942685 6950589 6946848 6960030 2,02E-04LD160-3 8597936 8622174 8616565 8631233 3,84E-04LD160-4 6089907 6096268 6089662 6099635 0,5605LD200-1 6470449 6487492 6472971 6528219 7,10E-04LD200-2 7507696 7519432 7509555 7529786 0,0048LD200-3 8635223 8642713 8634242 8656227 0,0015LD200-4 7798133 7809422 7805015 7818468 0,0027

Tabla 6.18: Comparación entre las mejores conguraciones obtenidas porSPOT e irace para el algoritmo SA-MWT. Se destacan los mejores valores ylas mejores medianas (en negrita).

Page 155: Metaheurísticas en la resolución de problemas sobre triangulaciones

6.3. Evaluación Experimental y Análisis Estadístico 133

1 1.2 1.4 1.6 1.8 2

SA−MWT SPOT

SA−MWT irace

(a)

0.8 1 1.2 1.4 1.6 1.8 2 2.2

SA−MWT SPOT

SA−MWT irace

(b)

Figura 6.14: Test Friedman test utilizando las métricas (a) Mejor y (b) Me-diana para todo el conjunto de instancias.

Page 156: Metaheurísticas en la resolución de problemas sobre triangulaciones
Page 157: Metaheurísticas en la resolución de problemas sobre triangulaciones

Capítulo 7

Metaheurísticas aplicadas alproblema MDT

Muchos problemas de optimización dentro de variadas áreas como la in-dustrial o cientíca se convierten en intratables ya que es difícil calcular uobtener soluciones óptimas. En la práctica, por lo general, se suele traba-jar con buenas soluciones obtenidas por medio de algoritmos heurísticos ometaheurísticos.

Es importante destacar que se desconoce la complejidad computacionaldel problema de calcular la triangulación de dilación mínima para un con-junto de puntos, es decir, que no se demostró que sea un problema NP-duroy tampoco se ha encontrado un algoritmo que en tiempo polinomial resuelvael problema. Además en la literatura no existen trabajos en los cuales seataque el problema de encontrar la triangulación de dilación mínima utili-zando metaheurísticas. Por lo tanto se propone un conjunto de técnicas paraaproximar la triangulación de dilación mínima.

Cada problema de optimización consiste de un espacio de solución yuna función objetivo. Particularmente para el problema MDT, el espacio desolución ε está formado por todas las posibles triangulaciones de un conjuntoS de n puntos en el plano. Para representar una posible solución se utilizauna matriz de ceros y unos de n × n, donde un 1 en la posición (i, j) de lamatriz signica que existe una arista que conecta a los puntos i y j; se colocaun 0 en otro caso. La función objetivo, f : ε → R, asigna a cada elementode ε un valor real. Para cada ε ∈ ε, la función f se dene como la máximadilación entre todos los pares de puntos de ε.

En el presente capítulo se describen las características y parámetros delos siguientes algoritmos: Greedy, Búsqueda Local, Búsqueda Local Iterada,Recocido Simulado y Búsqueda Local Aleatoria, los cuales fueron diseñadospara encontrar soluciones aproximadas para el problema MDT.

135

Page 158: Metaheurísticas en la resolución de problemas sobre triangulaciones

136 Capítulo 7. Metaheurísticas aplicadas al problema MDT

7.1. G-MDT: algoritmo greedy aplicado a MDT

En esta sección se presenta un algoritmo greedy, G-MDT, el cual comien-za con una solución parcial, Sol, formada por las aristas del cierre convexo delconjunto S de puntos (aristasCH(S)) y luego iterativamente inserta aristashasta que se genera una triangulación.

Sean u y v dos puntos de S, A el conjunto de todas las aristas posiblesque aún no se han insertado en Sol y e = (u, v) una arista de A. Si ladilación entre los puntos u y v determina la dilación de la solución, es decir,∆Sol(u, v) = ∆(Sol), luego la arista e se inserta en la solución Sol. Estametodología de inserción reduce la dilación de los puntos u y v a 1 debido aque, al unir con una arista dichos puntos, dist(u, v) = |uv| y por consecuenciamodica la dilación de la solución Sol. Dicha inserción se realiza siempre quela nueva arista a insertar no produzca intersecciones con las aristas agregadasanteriormente.

El Algoritmo 12 describe el funcionamiento de la técnica greedy para elproblema MDT donde aristasCH(S) retorna el conjunto de aristas que per-tenecen al cierre convexo de S, todasAristas(S) retorna el conjunto de todaslas posibles aristas considerando el conjunto S de puntos y aristaDeMayor-Dilacion(A, Sol) retorna una arista (u, v) ∈ A cuya dilación de sus puntoses la dilación de la solución Sol, es decir, ∆Sol(u, v) = ∆(Sol).

Algoritmo 12 G-MDT

Sol ← aristasCH(S)A← todasAristas(S)while Sol no está triangulado completamente doe← aristaDeMayorDilacion(A, Sol)if e no interseca con aristas de Sol thenSol← Sol ∪ e

end ifA← A \ e

end whilereturn Sol

En la Figura 7.1 se muestra la construcción de una triangulación con elAlgoritmo 12 para un conjunto de 10 puntos. En la Figura 7.2 se presentauna gráca donde se muestra la convergencia de la función objetivo en laconstrucción de dicha triangulación. Para una mejor visualización se gracóen escala logarítmica.

Page 159: Metaheurísticas en la resolución de problemas sobre triangulaciones

7.1. G-MDT: algoritmo greedy aplicado a MDT 137

(1)∆(T1) = 35355339, 05

(2)∆(T2) = 31622776, 60

(3)∆(T3) = 31622776, 60

(4)∆(T4) = 5,897591

(5)∆(T5) = 3,897591

(6)∆(T6) = 3,678329

(7)∆(T7) = 2,445029

(8)∆(T8) = 2,414214

(9)∆(T9) = 2,073059

(10)∆(T10) = 1,894427

(11)∆(T11) = 1,802776

(12)∆(T12) = 1,414214

(13)∆(T13) = 1,414214

(14)∆(T14) = 1,286796

(15)∆(T15) = 1,286796

Figura 7.1: G-MDT: construcción de una triangulación de 10 puntos.

Page 160: Metaheurísticas en la resolución de problemas sobre triangulaciones

138 Capítulo 7. Metaheurísticas aplicadas al problema MDT

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1510

0

101

102

103

104

105

106

107

108

Figura 7.2: G-MDT: convergencia de la función objetivo.

7.2. LS-MDT: algoritmo de búsqueda local aplica-do a MDT

El algoritmo propuesto de búsqueda local, LS-MDT, comienza con unasolución inicial aleatoria y luego iterativamente se mueve a soluciones vecinas.Aplicando un operador, el algoritmo busca mejorar la calidad de la soluciónactual. Si se encuentra una mejor solución, ésta reemplaza a la soluciónactual y se continúa con el proceso hasta que se encuentre una solución queno mejora a la actual. Cuando no hay soluciones mejores en el vecindario labúsqueda local se estanca en una solución óptima local.

Los movimientos en el espacio de búsqueda se realizan utilizando el ope-rador, denominado retriang(), el cual funciona de la siguiente manera. Seana, b ∈ S, si la dilación de los puntos a y b determina la dilación de la soluciónactual Sol, es decir, ∆Sol(a, b) = ∆(Sol) (ver Figura 7.3a), se unen a y bpor medio de una arista. Las aristas intersecadas por (a, b) se eliminan y laregión delimitada por estas aristas es retriangulada de manera greedy (verFigura 7.3b). En cada paso del proceso de retriangulación greedy se inser-ta la arista cuyos puntos tienen la dilación más alta, siempre que ésta nointerseque con las aristas agregadas previamente y si no se ha trianguladocompletamente el conjunto S de puntos (ver Figura 7.3c). Con la aplicaciónde este operador se trata de disminuir la dilación de la solución actual. De-bido su funcionamiento, se obtiene un único vecino cada vez que se aplicadicho operador de vecindad.

Page 161: Metaheurísticas en la resolución de problemas sobre triangulaciones

7.2. LS-MDT: algoritmo de búsqueda local aplicado a MDT 139

g

f

e

cb

d

a

(a)

g

f

e

cb

d

a

(b)

g

f

e

cb

d

a

(c)

Figura 7.3: Operador retriang(). En (a), ∆Sol(a, b) = ∆(Sol) se muestra enlínea punteada. En (b), se inserta la arista (a, b) y se eliminan las aristas (enlínea punteada) que intersecan con (a, b). En (c) la región gris se retriangulade manera greedy.

El Algoritmo 13 describe el funcionamiento de la búsqueda local aplicadaal problema MDT en el cual se utiliza el operador retriang() para obtener elvecino de una solución.

Algoritmo 13 LS-MDT

Generar una solución inicial aleatoria Sol ∈ ESol′ ← retriang(Sol)while Sol′ mejora Sol doSol← Sol′

Sol′ ← retriang(Sol)end whilereturn Sol

En la Figura 7.4 se muestra un ejemplo de construcción de una triangu-lación con el Algoritmo 13 para un conjunto de 10 puntos. Se presentan lasdilaciones obtenidas en cada paso de construcción de la triangulación y lospuntos que determinan dicha dilación.

Page 162: Metaheurísticas en la resolución de problemas sobre triangulaciones

140 Capítulo 7. Metaheurísticas aplicadas al problema MDT

00

2

004

0

6

0

8

1

2

11

6

19

4

6

7

9

33

7

3

8

3

9

7

5

8

9

(1)∆(T1) = ∆T1(4, 6) = 2, 144162

0004

0

6

0

8

1

2

11

6

19

4

6

7

9

33

7

3

8

3

9

6

7

5

8

9

(2)∆(T2) = ∆T2(1, 5) = 2, 073059

004

0

6

0

8

1

2

111

6

1

8

19

4

6

7

9

33

7

3

9

6

7

5

8

9

(3)∆(T3) = ∆T3(5, 6) = 1,774684

04

0

6

0

8

1

2

111

6

19

4

6

7

9

33

7

3

9

6

7

5

6

5

88

9

(4)∆(T4) = ∆T4(1, 4) = 1,281862

Figura 7.4: LS-MDT: construcción de una triangulación de 10 puntos.

7.3. ILS-MDT: algoritmo de búsqueda local iteradaaplicado a MDT

El algoritmo propuesto, ILS-MDT, que se basa en la técnica de búsquedalocal iterada aplica búsqueda local a una solución inicial aleatoria y obtieneun óptimo local. En dicho proceso se utiliza el algoritmo LS-MDT descritoanteriormente (Algoritmo 13). En cada iteración se lleva a cabo una per-turbación de la solución actual Sol y luego, se aplica una búsqueda locala la solución perturbada Sol′. Este proceso itera hasta que el número deperturbaciones sea menor que 50 y se mejore la solución actual. Siempre semantiene la mejor solución encontrada hasta el momento (Solbest).

Los detalles sobre ILS-MDT se encuentran en el Algoritmo 14 donde elprocedimiento perturb(Sol) es el operador de perturbación el cual realiza re-triangulaciones greedy locales sobre n/5 puntos seleccionados aleatoriamentede S desmejorando la solución actual, es decir, se selecciona un punto b ∈ S

Page 163: Metaheurísticas en la resolución de problemas sobre triangulaciones

7.3. ILS-MDT: algoritmo de búsqueda local iterada aplicado a MDT 141

de manera aleatoria y se eliminan todas las aristas cuyos puntos son adya-centes a b formando una región (gris) la cual debe ser retriangulada (verFigura 7.5a). Las aristas de la región se insertan aleatoriamente siempre queno intersequen con las aristas previamente agregadas y si todavía no se haobtenido una triangulación (ver Figura 7.5b).

g

f

e

cb

d

a

(a)

g

f

e

cb

d

a

(b)

Figura 7.5: Operador perturb(Sol). En (a), se muestra la región gris formadapor las aristas cuyos puntos son adyacentes a b (g, f, a, c). En (b), se insertanlas aristas seleccionadas aleatoriamente en dicha región.

Algoritmo 14 ILS-MDT

Generar una solución inicial aleatoria Sol ∈ ESol← LS-MDT (Sol)repeatSol′ ← perturb(Sol)Sol← LS-MDT (Sol′)

until no se alcance el criterio de nalizaciónreturn Solbest

En la Figura 7.6 se muestra un ejemplo de construcción de una triangu-lación con el Algoritmo 14 para un conjunto de 10 puntos. Se presentan lasdilaciones obtenidas en cada paso de construcción mostrando los puntos quedeterminan la dilación de cada triangulación. En la Figura 7.7 se presentauna gráca donde se muestran las dilaciones obtenidas donde cada pico de lagráca representa una perturbación. Para una mejor visualización se gracóen escala logarítmica.

Page 164: Metaheurísticas en la resolución de problemas sobre triangulaciones

142 Capítulo 7. Metaheurísticas aplicadas al problema MDT

00

2

004

0

6

0

8

1

2

11

6

19

4

6

7

9

33

7

3

8

3

9

7

5

8

9

(1)∆(T1) = ∆T1(4, 6) =

2,144162

0004

0

6

0

8

1

2

11

6

19

4

6

7

9

33

7

3

8

3

9

6

7

5

8

9

(2)∆(T2) = ∆T2(1, 5) =

2,073059

004

0

6

0

8

1

2

111

6

1

8

19

6

7

9

33

7

3

9

6

7

5

8

9

(3)∆(T3) = ∆T3(5, 6) =

1,774684

04

0

6

0

8

1

2

111

6

19

4

6

7

9

33

7

3

9

6

7

5

6

5

88

9

(4)∆(T4) = ∆T4(1, 4) =

1,281862

04

0

6

0

8

1

2

11

4

11

6

19

4

7

9

33

7

3

9

6

7

5

6

5

88

9

(5)∆(T5) = ∆T5(2, 6) =

1,460941

04

0

8

1

2

111

6

19

4

6

7

9

33

7

3

9

6

7

8

5

6

5

88

9

(6)∆(T6) = ∆T6(0, 6) =

2,244008

04

0

6

0

8

1

2

111

6

19

4

6

7

9

33

7

3

9

6

7

5

6

5

88

9

(7)∆(T7) = ∆T7(1, 4) =

1,281862

04

0

6

0

8

1

2

11

4

11

6

19

4

7

9

33

7

3

9

6

7

5

6

5

88

9

(8)∆(T8) = ∆T8(2, 6) =

1,460941

04

0

6

0

8

1

2

111

6

19

4

6

7

9

33

7

3

9

6

7

5

6

5

88

9

(9)∆(T9) = ∆T9(1, 4) =

1,281862

Figura 7.6: ILS-MDT: construcción de una triangulación de 10 puntos.

Page 165: Metaheurísticas en la resolución de problemas sobre triangulaciones

7.3. ILS-MDT: algoritmo de búsqueda local iterada aplicado a MDT 143

1 2 3 4 5 6 7 8 9 10

100.2

100.3

Figura 7.7: ILS-MDT: convergencia de la función objetivo.

Page 166: Metaheurísticas en la resolución de problemas sobre triangulaciones

144 Capítulo 7. Metaheurísticas aplicadas al problema MDT

7.4. SA-MDT: algoritmo de Recocido Simulado apli-cado a MDT

Considerando el Algoritmo 3 del Capítulo 3, en la presente sección se des-criben los parámetros de la estrategia necesarios para resolver un problemade optimización utilizando la metaheurística de Recocido Simulado.

Recordemos que el algoritmo parte de una solución inicial y luego ejecutauna cantidad de iteraciones donde, en cada una de ellas, se genera un vecinode la solución actual Sol. Un movimiento realizado a una solución vecinaSol′ es aceptado siempre que mejore el valor objetivo de la solución actual.En otro caso, Sol′ se acepta con una cierta probabilidad la cual dependede la temperatura actual T . Esta probabilidad generalmente se denominafunción de aceptación y se evalúa de acuerdo a la Ecuación 7.1 donde δ =f(Sol′)− f(Sol).

p(T,Sol,Sol′) = e−δT (7.1)

Se realizan M(Tk) movimientos en cada temperatura Tk la cual se dis-minuye en cada iteración k. El algoritmo continúa de esta manera hasta quese alcanza la condición de nalización.

Considerando el problema MDT y el diseño del algoritmo de RecocidoSimulado, se deben determinar ciertos parámetros:

Solución inicial S0: Se utiliza una triangulación aleatoria.

Temperatura inicial T0: Se consideran diferentes temperaturas iniciales:

• 1000 · (n/4);

• 1000 · (n/2); y

• la longitud máxima de los caminos entre pares de puntos de lasolución inicial.

Regla de disminución de la temperatura R: Se utiliza el decrementogeométrico (Tk+1 = αTk con α = 0,95).

Cantidad de movimientos para cada temperaturaM(Tk): Se consideranlas siguientes:

• M(Tk) = dTke, para asegurar que la cantidad de movimientos esdirectamente proporcional a la temperatura actual; y

• M(Tk) = m, dondem es el número de aristas de la solución inicial.

En el primer caso, cuando Tk ≤ 2 ·m se realizan 2 ·m movimientos.

Condición de nalización: El proceso de búsqueda naliza cuando latemperatura es menor o igual a 0,005, es decir, Tf ≤ 0,005.

Page 167: Metaheurísticas en la resolución de problemas sobre triangulaciones

7.5. RLS-MDT: algoritmo de búsqueda local aleatoria aplicado a MDT 145

Vecindario de cada solución N (x): Se utilizan dos operadores.

1. Retriangulación local aleatoria (RA) es el operador utilizado pararealizar las perturbaciones en el algoritmo ILS-MDT.

2. Retriangulación local greedy (RG) es similar al operador RA, sal-vo que las aristas son insertadas de manera greedy. Se seleccionaaleatoriamente un punto b ∈ S y se recuperan todos los puntosadyacentes a b (ver Figura 7.8a). Luego la región gris que formanlas aristas compuestas por los puntos adyacentes a b se retriangulautilizando, en cada paso, las aristas cuyos puntos tienen la dila-ción más alta, siempre que no interseque con las aristas agregadaspreviamente (ver Figura 7.8b).

g

f

e

cb

d

a

(a)

g

f

e

cb

d

a

(b)

Figura 7.8: Operador RG: En (a), se muestra la región gris que forman lasaristas formadas por los puntos adyacentes a b (g, f, a, c). En (b), se insertanlas aristas de manera greedy.

La secuencia de aplicación de estos operadores se basa en el hecho queel operador RG puede conducir a la misma solución a la que se aplica (sila región que se retriangula es la misma). Por lo tanto, se intercala conel operador RA para explorar mejor el espacio de búsqueda. El esquemade aplicación para estos operadores es la siguiente: el operador RG yRA se aplican g y a veces, respectivamente. Se considera g ∈ 4, 6, 8y a = 2. Por ejemplo, si g = 4 y a = 2, signica que el operador RGse va a aplicar 4 veces (en 4 aplicaciones consecutivas del operador devecindario) y 2 veces el operador RA (luego de las 4 aplicaciones deloperador RG).

7.5. RLS-MDT: algoritmo de búsqueda local alea-toria aplicado a MDT

Inicialmente, el algoritmo SA-MDT propuesto utilizaba el operador re-triang() (descrito en la Sección 7.2) para moverse en el espacio de búsqueda.

Page 168: Metaheurísticas en la resolución de problemas sobre triangulaciones

146 Capítulo 7. Metaheurísticas aplicadas al problema MDT

Se observó que dicho algoritmo convergía rápidamente a regiones subóptimas(las mejores soluciones se obtenían en los primeros movimientos de la prime-ra temperatura considerada). Por lo tanto, se propusieron otros operadorespara el algoritmo SA-MDT para evitar esta convergencia prematura. Ade-más, los resultados obtenidos con el operador retriang() fueron alentadorescon respecto a los algoritmos LS-MDT y ILS-MDT (como se detallará en lasiguiente sección). Como consecuencia, se propuso un nuevo algoritmo deno-minado Búsqueda Local Aleatoria (Random Local Search - RLS), el cual co-mienza con una solución inicial aleatoria y luego se realizan maxEvals = 2 ·nevaluaciones, aceptando buenas y malas soluciones. Esto permite explorary explotar el espacio de búsqueda, siempre manteniendo la mejor soluciónencontrada hasta el momento (Solbest). Se considera, como operador de ve-cindario, a retriang() utilizado con su versión aleatoria y greedy.

El funcionamiento de RLS-MDT se muestra en el Algoritmo 15 recor-dando que el operador retriang() retorna una única solución.

Algoritmo 15 RLS-MDT

Generar una solución inicial Sol ∈ Ek ← 0while k < maxEvals doSol ← retriang(Sol)k ← k + 1

end whilereturn Solbest

En las Figuras 7.9 y 7.10 se muestra, respectivamente, un ejemplo deconstrucción de una triangulación con el Algoritmo 15 utilizando el opera-dor retriang() de manera aleatoria y de manera greedy para un conjunto de10 puntos. Se presentan las dilaciones obtenidas en cada paso de construcciónmostrando los puntos que determinan cada dilación. Algunas triangulacio-nes nales se omitieron debido a que los resultados varían entre las últimasdos soluciones obtenidas. En las Figuras 7.11 y 7.12 se presentan las grá-cas donde se muestran las dilaciones obtenidas en la construcción de dichastriangulaciones con las dos variaciones del operador retriang().

Page 169: Metaheurísticas en la resolución de problemas sobre triangulaciones

7.5. RLS-MDT: algoritmo de búsqueda local aleatoria aplicado a MDT 147

00

2

004

0

6

0

8

1

2

11

6

19

4

6

7

9

33

7

3

8

3

9

7

5

8

9

(1)∆(T1) = ∆T1(4, 6) =

2,144162

0004

0

6

0

8

111

6

19

2

4

26

2

7

2

9

33

7

3

8

3

9

6

7

5

8

9

(2)∆(T2) = ∆T2(1, 5) =

2,073059

004

00

6

0

8

1111

6

19

2

4

26

2

7

2

9

33

7

3

9

6

7

5

8

9

(3)∆(T3) = ∆T3(5, 6) =

1,743594

04

00

6

0

8

1111

6

19

2

4

26

2

7

2

9

33

7

3

9

6

7

5

6

5

8

9

(4)∆(T4) = ∆T4(6, 8) =

1,492991

04

0

6

0

8

1

2

111

6

19

4

6

7

9

33

7

3

9

6

7

5

6

5

88

9

(5)∆(T5) = ∆T5(1, 4) =

1,281862

04

0

6

0

8

1

2

11

4

11

6

19

4

7

9

33

7

3

9

6

7

5

6

5

88

9

(6)∆(T6) = ∆T6(2, 6) =

1,460941

Figura 7.9: RLS-MDT (RA): construcción de una triangulación de 10 puntos.

Page 170: Metaheurísticas en la resolución de problemas sobre triangulaciones

148 Capítulo 7. Metaheurísticas aplicadas al problema MDT

00

2

004

0

6

0

8

1

2

11

6

19

4

6

7

9

33

7

3

8

3

9

7

5

8

9

(1)∆(T1) = ∆T1(4, 6) =

2,144162

0004

0

6

0

8

1

2

11

6

19

4

6

7

9

33

7

3

8

3

9

6

7

5

8

9

(2)∆(T2) = ∆T2(1, 5) =

2,073059

004

0

6

0

8

1

2

111

6

1

8

19

4

6

7

9

33

7

3

9

6

7

5

8

9

(3)∆(T3) = ∆T3(5, 6) =

1,774684

04

00

8

1

2

11119

4

7

9

33

7

3

9

7

55

8

6

8

9

(4)∆(T4) = ∆T4(1, 4) =

1,281862

04

0

6

0

8

1

2

11

4

11

6

19

4

7

9

33

7

3

9

6

7

55

88

9

(5)∆(T5) = ∆T5(2, 6) =

1,460941

Figura 7.10: RLS-MDT (RG): construcción de una triangulación de 10 pun-tos.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 201.2

1.3

1.4

1.5

1.6

1.7

1.8

1.9

2

2.1

2.2

Figura 7.11: RLS-MDT (RA): convergencia de la función objetivo.

Page 171: Metaheurísticas en la resolución de problemas sobre triangulaciones

7.5. RLS-MDT: algoritmo de búsqueda local aleatoria aplicado a MDT 149

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 201.2

1.3

1.4

1.5

1.6

1.7

1.8

1.9

2

2.1

2.2

Figura 7.12: RLS-MDT (RG): convergencia de la función objetivo.

Page 172: Metaheurísticas en la resolución de problemas sobre triangulaciones

150 Capítulo 7. Metaheurísticas aplicadas al problema MDT

7.6. Evaluación Experimental y Análisis Estadísti-co

En la presente sección se determinan los parámetros de estudio los cualesson los elementos involucrados en el marco experimental para los algoritmospresentados anteriormente. Este estudio y análisis tienen como n encontrarun algoritmo y una conguración paramétrica para dicho algoritmo que ob-tenga, para un conjunto de puntos dado, una triangulación que minimice lamáxima dilación entre sus puntos.

Los algoritmos fueron desarrollados en el lenguaje de programación Cy las ejecuciones se realizaron en el cluster BACO bajo un sistema de colaCONDOR del Instituto de Física Aplicada (UNSL-CONICET).

Al igual que con la evaluación experimental para el problema MWT, nose encontraron en la literatura colecciones de instancias de prueba para elproblema MDT cuyos resultados puedan ser comparados con los resultadosobtenidos por nuestros algoritmos. Por lo tanto, se diseñó un generador deinstancias el cual fue descrito en la Sección 5.4. Se consideraron las mismasinstancias utilizadas para el problema MWT, es decir, una colección de 20instancias, 4 de cada tamaño considerado (conjuntos de 40, 80, 120, 160 y 200puntos) cada uno de los cuales se denota como LDn-i, donde i (1 ≤ i ≤ 4) de-termina el número de la instancia de tamaño n (n ∈ 40, 80, 120, 160, 200).Los puntos son generados de manera aleatoria y distribuidos uniformementecon coordenadas x, y ∈ [0, 1000]. Para los algoritmos estocásticos se realiza-ron 25 ejecuciones con diferentes semillas y distintas triangulaciones inicialespara cada ejecución.

Debido a la complejidad que implica el ajuste de los parámetros de técni-cas metaheurísticas, se utilizó SPOT para ajustar los parámetros requeridospor SA-MDT. Los experimentos de ajuste con SPOT del algoritmo SA-MDTse realizaron con los siguientes valores de parámetros (ver [15] para más de-talle): 50 pasos de secuencia (auto.loop.steps), 5 nuevos puntos de diseñoen cada paso (seq.design.maxRepeats), 2 repeticiones por punto de diseño(init.design.repeats) y 7 puntos iniciales de diseño (init.design.size). Se uti-lizó RandomForest (spotPredictRandomForest) como herramienta rápida deconstrucción de modelo sustituto. Se usó el método de Hipercubo Latino(spotCreateDesignLhd) como generador de puntos de diseño. La Región deInterés (archivo ROI) contiene los rangos de valores de los parámetros delalgoritmo que tienen que ser optimizados. Estos rangos se especican pormedio de dos límites, el superior y el inferior, y las variables categóricas secodican con valores numéricos.

En la Tabla 7.1 se muestran los valores para los parámetros del algoritmode Recocido Simulado aplicado al problema MDT (SA-MDT), es decir, lainformación necesaria para el archivo ROI.

En la Tabla 7.2 se muestra la conguración paramétrica seleccionada por

Page 173: Metaheurísticas en la resolución de problemas sobre triangulaciones

7.6. Evaluación Experimental y Análisis Estadístico 151

Parámetro Valores

T0 1 = 1000 · (n/4)2 = 1000 · (n/2)3 = longitud máxima de los caminos entrepares de puntos de la solución inicial

M(Tk) 1 = dTke2 = m

N (x): intercalado de 1 = g : 4, a : 2operadores de retriangulación 2 = g : 6, a : 2local 3 = g : 8, a : 2

Tabla 7.1: Valores paramétricos para el algoritmo SA-MDT.

SPOT (en la columna Mejor). Se obtienen mejores resultados realizando Tkmovimientos por temperatura (M(Tk) = Tk), intercalando retriangulacioneslocales con g = 8 y a = 2, comenzando con una temperatura igual a lamáxima longitud de caminos de la triangulación inicial.

ROI Mejor

T0 [1, 3] 3M(Tk) [1, 2] 1N (x) [1, 3] 3

Tabla 7.2: Mejor conguración paramétrica para el algoritmo SA-MDT en-contrada con la herramienta SPOT.

7.6.1. Comparación de desempeño de los algoritmos pro-

puestos

En el presente apartado se muestran los mejores resultados obtenidospor los algoritmos descritos anteriormente. Se debe notar que G-MDT es unalgoritmo determinístico y, por consecuencia, se obtiene una única soluciónpor instancia.

En la Tabla 7.3 se muestran los mejores valores, es decir, las menoresdilaciones obtenidas por los algoritmos G-MDT, LS-MDT, ILS-MDT, SA-MDT, SA-MDT+LS, RLS-MDT (RA) y RLS-MDT (RG). SA-MDT+LSes una mejora del algoritmo SA-MDT en el cual se aplica búsqueda local(LS-MDT) a la mejor solución obtenida para cada instancia. Se muestranresaltadas las mejores dilaciones por instancia (en negrita).

En la columna DT se muestra la dilación de la triangulación de Delau-nay con el n de comparar nuestros resultados con una triangulación para lacual se conoce la cota superior de 1,998 [160]. En la columna OV-MDT semuestran los resultados obtenidos por el algoritmo greedy propuesto en [88]

Page 174: Metaheurísticas en la resolución de problemas sobre triangulaciones

152 Capítulo 7. Metaheurísticas aplicadas al problema MDT

al cual denominamos OV-MDT ya que calcula el valor obstáculo (obstaclevalue) de las aristas para aproximar la triangulación de dilación mínima.Para obtener los resultados se utilizó el applet de Java disponible en [89].Cabe destacar que dicho applet es un proceso que consume tiempo y queel tamaño de las instancias consideradas en la tesis de maestría presentadaen [88] no exceden los 10 puntos. El símbolo - signica que el applet noprodujo un resultado (se detuvo debido a una condición de error).

Se puede observar que todos los resultados obtenidos por los algoritmospropuestos son menores a 1,998 y la triangulación de Delaunay nunca obtienelos mejores resultados para las instancias consideradas. El algoritmo G-MDTobtiene soluciones de baja calidad con respecto a los otros algoritmos, inclu-so para las instancias más pequeñas. Se observa que el algoritmo RLS-MDT(RA) obtiene las dilaciones más bajas para todas instancias consideradas(excepto para la LD120-2) y que el algoritmo OV-MDT no mejoró los resul-tados de RLS-MDT (RA). Aunque para ciertas instancias se obtuvieron losmismos valores con algunos algoritmos, RLS-MDT (tanto con RA como conRG) es menos complejo y más rápido que el resto de los algoritmos.

Page 175: Metaheurísticas en la resolución de problemas sobre triangulaciones

7.6. Evaluación Experimental y Análisis Estadístico 153

Instancia

DT

OV-M

DT

G-M

DT

LS-M

DT

ILS-M

DT

SA-M

DT

SA-M

DT+LS

RLS-M

DT

RLS-M

DT

(RA)

(RG)

LD40-1

1,31871

1,32863

1,37203

1,30959

1,29467

1,29467

1,29467

1,29467

1,29467

LD40-2

1,37491

1,36881

1,37491

1,36881

1,36881

1,36881

1,36881

1,36881

1,36881

LD40-3

1,32268

1,32268

1,36026

1,32268

1,32268

1,32268

1,32268

1,32268

1,32268

LD40-4

1,35391

1,32330

1,34919

1,32330

1,32330

1,32557

1,32330

1,32330

1,32330

LD80-1

1,33034

1,32363

1,39394

1,32363

1,32363

1,40844

1,32363

1,32363

1,32363

LD80-2

1,40500

1,35181

1,38199

1,35339

1,32418

1,50331

1,32418

1,32418

1,32418

LD80-3

1,37791

1,30519

1,36180

1,34065

1,31457

1,37791

1,33739

1,30519

1,33739

LD80-4

1,42547

1,34239

1,39362

1,33176

1,31583

1,47561

1,31583

1,31583

1,31583

LD120-1

1,37428

1,34442

1,42386

1,35398

1,34825

1,72082

1,34442

1,34442

1,34907

LD120-2

1,33973

1,31194

1,37778

1,31194

1,30366

1,65921

1,31194

1,31194

1,31194

LD120-3

1,37724

1,34016

1,43027

1,40314

1,31985

1,74912

1,34664

1,29786

1,29786

LD120-4

1,38529

1,33600

1,39972

1,35152

1,34272

1,68163

1,34918

1,33600

1,33600

LD160-1

1,34365

1,31050

1,43076

1,35236

1,33384

1,95530

1,34834

1,31050

1,31050

LD160-2

1,35409

-1,33260

1,36463

1,33260

1,97896

1,33260

1,33260

1,33260

LD160-3

1,35797

1,332786

1,37723

1,37178

1,36352

1,87574

1,36352

1,32995

1,35585

LD160-4

1,37922

1,356686

1,37922

1,37922

1,35037

1,87033

1,35943

1,34941

1,35037

LD200-1

1,35751

1,358479

1,42220

1,41867

1,35751

2.08064

1,37162

1,35751

1,35751

LD200-2

1,39512

1,387438

1,39512

1,36451

1,36350

2.06324

1,37118

1,36350

1,36350

LD200-3

1,41962

1,411235

1,45763

1,40645

1,40645

2.09818

1,40645

1,40645

1,40645

LD200-4

1,36965

1,35251

1,40765

1,35499

1,35251

2.00110

1,37509

1,35251

1,35251

Tabla 7.3: Mejores resultados obtenidos por los algoritmos DT, OV-MDT,G-MDT, LS-MDT, ILS-MDT, SA-MDT, SA-MDT+LS, RLS-MDT (RA) yRLS-MDT (RG).

Page 176: Metaheurísticas en la resolución de problemas sobre triangulaciones

154 Capítulo 7. Metaheurísticas aplicadas al problema MDT

En la Tabla 7.4 se presentan las medianas obtenidas por los algoritmosestocásticos propuestos: LS-MDT, ILS-MDT, SA-MDT, SA-MDT+LS, RLS-MDT (RA) y RLS-MDT (RG) en la cual se resaltan las mejores obtenidas(en negrita). Se puede observar que el algoritmo RLS-MDT (RA) obtienelas mejores medianas para todas las instancias consideradas (excepto parala LD80-2 y LD80-3).

Los resultados obtenidos con el algoritmo RLS-MDT (RA) mostrarondiferencias signicativas con el 90% de los obtenidos con RLS-MDT (RG)utilizando el test no paramétrico Mann-Whitney para comparar dos muestrasindependientes (1, 6440E-11 ≤ p-value ≤ 4, 9828E-03). Para el caso de losresultados obtenidos con los algoritmos SA-MDT y SA-MDT+LS, siemprese obtuvieron p-values menores a 0,05, es decir, para todas las instanciasse presentan diferencias signicativas entre los resultados obtenidos. Por lotanto, en el análisis estadístico global, se considerarán los algoritmos RLS-MDT (RA) y SA-MDT+LS, ya que poseen un mejor desempeño que RLS-MDT (RG) y SA-MDT, respectivamente.

Page 177: Metaheurísticas en la resolución de problemas sobre triangulaciones

7.6. Evaluación Experimental y Análisis Estadístico 155

Instancia

LS-M

DT

ILS-M

DT

SA-M

DT

SA-M

DT+LS

RLS-M

DT

RLS-M

DT

(RA)

(RG)

LD40-1

1,36786

1,33142

1,35891

1,33142

1,33142

1,36786

LD40-2

1,36881

1,36881

1,36881

1,36881

1,36881

1,36881

LD40-3

1,36333

1,32268

1,32268

1,32268

1,32268

1,32268

LD40-4

1,34919

1,32557

1,34919

1,32330

1,32330

1,34919

LD80-1

1,38273

1,32363

1,65695

1,36237

1,32363

1,32363

LD80-2

1,38199

1,32418

1,62768

1,37217

1,3563

1,37217

LD80-3

1,38183

1,34662

1,56403

1,37791

1,34745

1,34662

LD80-4

1,38201

1,33176

1,62907

1,34413

1,31583

1,31583

LD120-1

1,41295

1,35398

1,90133

1,42386

1,35398

1,35398

LD120-2

1,37696

1,31194

1,84388

1,38851

1,31194

1,31194

LD120-3

1,48917

1,35736

1,88084

1,41905

1,31182

1,35956

LD120-4

1,44444

1,35868

1,86884

1,40879

1,33600

1,34272

LD160-1

1,41974

1,36817

211.985

1,41974

1,31452

1,32344

LD160-2

1,41918

1,36463

213.222

1,42867

1,33260

1,35133

LD160-3

1,44772

1,37597

212.003

1,43008

1,32995

1,36352

LD160-4

1,4235

1,36432

213.973

1,39009

1,35943

1,37922

LD200-1

1,4999

1,3867

234.612

1,4498

1,35751

1,35964

LD200-2

1,40806

1,38744

228.723

1,39112

1,38744

1,38744

LD200-3

1,43856

1,40645

232.721

1,44293

1,40645

1,41829

LD200-4

1,46962

1,37217

235.554

1,45886

1,35251

1,36028

Tabla 7.4: Medianas obtenidas por los algoritmos LS-MDT, ILS-MDT, SA-MDT, SA-MDT+LS, RLS-MDT (RA) y RLS-MDT (RG).

Page 178: Metaheurísticas en la resolución de problemas sobre triangulaciones

156 Capítulo 7. Metaheurísticas aplicadas al problema MDT

La Tabla 7.5 se utiliza para mostrar si existen diferencias signicativasentre los resultados obtenidos por los algoritmos propuestos utilizando el testno paramétrico Kruskal-Wallis debido a que las muestras no responden a unadistribución Normal (comprobado usando el test Kolmogorov-Smirnov) y quese deben comparar más de dos conjuntos de muestras independientes. En lacolumna Test KW se muestran los p-values obtenidos por el test y, cuandoun p-value es menor a 0,05, en las últimas columnas se muestran aquellosalgoritmos cuyos resultados tuvieron diferencias signicativas con respecto aaquellos resultados obtenidos por el resto de los algoritmos. Por ejemplo, siel p-value asociado a la instancia i es menor a 0,05 y en la columna TestTukey - RLS-MDT (RA) (4) se muestra 1,3 signica que los resultadosdel algoritmo RLS-MDT (RA) tienen diferencias signicativas con respectoa los resultados obtenidos con los algoritmos LS-MDT y SA-MDT+LS parala instancia i.

Se puede observar que siempre existe diferencia signicativa entre los re-sultados obtenidos por los algoritmos (1, 1102E-16 ≤ p-value ≤ 2, 8204E-04)y que se obtienen p-values más pequeños a medida que se aumenta el ta-maño de las instancias, es decir, la diferencia es mucho mayor al considerarconjuntos con mayor cantidad de puntos. Analizando los valores de las úl-timas columnas de la tabla se puede observar que los algoritmos LS-MDTy SA-MDT+LS se comportan de manera similar ya que para el 75% delas instancias no hubo diferencias signicativas entre sus resultados. Se pue-de observar que los resultados obtenidos con ambos algoritmos mostrarondiferencias signicativas con los obtenidos por ILS-MDT y RLS-MDT (RA).

Considerando las medianas y los mejores valores obtenidos por los algorit-mos ILS-MDT y RLS-MDT (RA), se puede observar que poseen desempeñossimilares ya que existen diferencias signicativas entre los resultados de di-chos algoritmos para la mitad de las instancias consideradas. Sin embargo, elalgoritmo RLS-MDT (RA) realiza menos evaluaciones de la función objetivoque el resto de los algoritmos, como se presenta en la Figura 7.13 donde semuestran los grácos de convergencia de los algoritmos, excepto para el al-goritmo SA-MDT, ya que se produce un gráco ilegible debido a la cantidadde evaluaciones que realiza. El eje x representa el número de evaluaciones dela función objetivo y el eje y representa el valor objetivo obtenido en cadaiteración. Para una mejor visualización de los resultados, los datos se graca-ron en escala logarítmica para el eje y. En cada gráco se ampliaron algunasregiones interesantes para observar el comportamiento de los algoritmos. Sepuede observar que los algoritmos LS-MDT y ILS-MDT se comportan deigual forma hasta la primera perturbación de ILS-MDT (el primer pico en lafunción punteada). El algoritmo que realiza menos evaluaciones es LS-MDT,mientras que ILS-MDT es el que efectúa mayor cantidad de evaluaciones,obteniendo mejores resultados que LS-MDT. Esta situación coincide con losaspectos teóricos de ambas estrategias. El algoritmo RLS-MDT (RA) se di-

Page 179: Metaheurísticas en la resolución de problemas sobre triangulaciones

7.6. Evaluación Experimental y Análisis Estadístico 157

ferencia de los demás debido a que utiliza el operador de retriangulaciónlocal aleatoria en vez del de retriangulación local greedy (observar los grá-cos ampliados). Se observa que dicho algoritmo no converge a un único valorya que se mueve entre las soluciones sub-óptimas hasta que se consumen lasevaluaciones dadas.

InstanciaTest

Test Tukey Test Tukey Test Tukey Test TukeyLS-MDT ILS-MDT SA-MDT+LS RLS-MDT

KW (1) (2) (3) (RA) (4)

LD40-1 3,8991E-07 2,3,4 1 1 1LD40-2 2,8204E-04 2,3,4 1 1 1LD40-3 1,4740E-08 2,3,4 1 1 1LD40-4 5,0293E-13 2,3,4 1,3,4 1,2 1,2LD80-1 2,2166E-11 2,4 1,3 2,4 1,3LD80-2 7,8049E-14 2,3,4 1,3,4 1,2 1,2LD80-3 7,4218E-13 2,4 1,3 2,4 1,3LD80-4 6,8834E-15 2,4 1,3,4 2,4 1,2,3LD120-1 9,3359E-13 2,4 1,3 2,4 1,3LD120-2 1,9718E-13 2,4 1,3 2,4 1,3LD120-3 6,6613E-16 2,4 1,3,4 2,4 1,2,3LD120-4 1,1102E-16 2,4 1,3,4 2,4 1,2,3LD160-1 1,7764E-11 2,4 1,3,4 2,4 1,2,3LD160-2 6,6613E-16 2,4 1,3,4 2,4 1,2,3LD160-3 1,1102E-16 2,4 1,3,4 2,4 1,2,3LD160-4 5,3291E-15 2,4 1,3 2,4 1,3LD200-1 1,1102E-16 2,4 1,3,4 2,4 1,2,3LD200-2 2,4131E-09 2,4 1,3 2,4 1,3LD200-3 4,4521E-12 2,4 1,3 2,4 1,3LD200-4 1,1102E-16 2,4 1,3,4 2,4 1,2,3

Tabla 7.5: Test Kruskal-Wallis comparando los resultados obtenidos con losalgoritmos LS-MDT, ILS-MDT, SA-MDT+LS y RLS-MDT (RA).

Page 180: Metaheurísticas en la resolución de problemas sobre triangulaciones

158 Capítulo 7. Metaheurísticas aplicadas al problema MDT

0 20 40 60 80 100 12010

0

101

102

LS−MDTILS−MDTRLS−MDT (RA)

20 25 30 35 40 4510

0

(a)

0 100 200 300 400 500 60010

0

101

102

LS−MDTILS−MDTRLS−MDT (RA)

20 40 60 80

100.1

100.2

100.3

(b)

0 100 200 300 400 500 600 700 80010

0

101

102

LS−MDTILS−MDTRLS−MDT (RA)

40 60 80 100 120

100.1

100.2

100.3

(c)

0 100 200 300 400 500 600 700 800 900 100010

0

101

102

LS−MDTILS−MDTRLS−MDT (RA)

60 80 100 120 140 160 18010

0.1

100.2

100.3

(d)

0 200 400 600 800 1000 120010

0

101

102

LS−MDTILS−MDTRLS−MDT (RA)

100 150 200

100.1

100.2

100.3

(e)

Figura 7.13: Ejemplo del comportamiento de los algoritmos LS-MDT, ILS-MDT y RLS-MDT (RA) para una instancia de (a) 40, (b) 80, (c) 120, (d)160 y (e) 200 puntos.

Page 181: Metaheurísticas en la resolución de problemas sobre triangulaciones

7.6. Evaluación Experimental y Análisis Estadístico 159

En la Figura 7.14 se presentan los resultados del test post-hoc Tukeybasado en el test de Friedman utilizando dos métricas (mediana y mejor va-lor obtenido) para comparar el desempeño de los algoritmos considerando elconjunto completo de instancias determinando si existen diferencias signi-cativas entre los algoritmos y mostrando qué algoritmo se comporta mejorque los otros. En el eje x se muestra el intervalo de conanza de los rankingsde medias (dado por el test Friedman). Debido a que DT, OV-MDT y G-MDT son algoritmos determinísticos, se consideran a los únicos resultadosobtenidos como las medianas y los mejores valores de cada instancia. Utili-zando los mejores valores y las medianas del resto de los algoritmos, el testretornó un p-value = 3,4672E-013 y un p-value = 2,0983E-014, respectiva-mente mostrando que existen diferencias signicativas entre los algoritmos.Al obtener los rankings más altos, SA-MDT y LS-MDT son los algoritmoscon peor desempeño. Como se esperaba, ILS-MDT se comporta mejor queLS-MDT, y SA-MDT+LS supera en desempeño a SA-MDT. La versión delalgoritmo RLS-MDT utilizando el operador RG también obtuvo buenos re-sultados, quedando dentro de los 4 primeros rankings arrojados por el test.En ambos casos, se observa que el algoritmo RLS-MDT (RA) se encuen-tra primero en el ranking arrojado por el test Friedman. Esta situación seobserva más claramente cuando se consideran los mejores valores obtenidos(Figura 7.14a), mientras que, al considerar las medianas, se comporta demanera similar a OV-MDT (Figura 7.14b).

En las Tablas C.9 y C.10 del Apéndice C se muestran las mejores trian-gulaciones obtenidas con los algoritmos DT, OV-MDT, G-MDT, LS-MDT,ILS-MDT, SA-MDT+LS y RLS-MDT (RA) para las instancias de problemaconsideradas. Cabe destacar que las triangulaciones obtenidas por OV-MDThan sido capturadas de la pantalla de la computadora debido a que el ap-plet no permite almacenar las aristas de dichas triangulaciones para luegoimprimirlas con el mismo formato del resto de las triangulaciones. Ademásdebieron ser giradas verticalmente para permitir compararlas con las demástriangulaciones.

Page 182: Metaheurísticas en la resolución de problemas sobre triangulaciones

160 Capítulo 7. Metaheurísticas aplicadas al problema MDT

1 2 3 4 5 6 7 8 9 10

RLS−MDT (RG)

RLS−MDT (RA)

SA−MDT+LS

SA−MDT

ILS−MDT

LS−MDT

G−MDT

OV−MDT

DT

(a)

1 2 3 4 5 6 7 8 9 10

RLS−MDT (RG)

RLS−MDT (RA)

SA−MDT+LS

SA−MDT

ILS−MDT

LS−MDT

G−MDT

OV−MDT

DT

(b)

Figura 7.14: Test Friedman utilizando (a) los mejores valores y (b) las me-dianas de todas las instancias consideradas.

Page 183: Metaheurísticas en la resolución de problemas sobre triangulaciones

7.6. Evaluación Experimental y Análisis Estadístico 161

7.6.2. Análisis de tiempos de ejecución

En el presente apartado se compara y analiza el esfuerzo computacio-nal de los algoritmos propuestos para encontrar soluciones aproximadas alproblema de calcular la triangulación de dilación mínima. La cantidad desegundos mostrada es el promedio de 25 ejecuciones. Para los algoritmos es-tocásticos se consideraron las 25 ejecuciones con diferentes semillas y paralos algoritmos determinísticos se consideraron los tiempos de 25 ejecucionescon cada instancia de problema. Estas ejecuciones se realizaron en una solamáquina de manera que sea justa la comparación ya que en el cluster losnodos poseen diferentes características.

La Tabla 7.6 muestra la cantidad de segundos que cada algoritmo con-sume para ejecutarse con las instancias de problema consideradas. En laFigura 7.15 se puede observar la misma información pero de manera gráca.El eje x y el eje y representan las instancias estudiadas en la evaluación expe-rimental y la cantidad de segundos consumidos, respectivamente, gracadosen escala logarítmica.

Los algoritmos SA-MDT y SA-MDT+LS poseen tiempos de ejecuciónsimilares debido a que SA-MDT+LS consume unos segundos más por reali-zar una búsqueda local sobre la mejor solución encontrada. Además, ambosalgoritmos alcanzan los tiempos de ejecución más altos ya que realizan másevaluaciones de la función objetivo con respecto al resto de los algoritmospropuestos. Aunque el algoritmo DT es el más rápido, sus resultados no soncompetitivos con respecto a los resultados de los otros métodos. Tal comose esperaba, ILS-MDT es más lento que LS-MDT debido a que ILS-MDTinvoca repetidamente el proceso de búsqueda local. Si bien los tiempos deejecución de RLS-MDT (RA) y G-MDT son similares, RLS-MDT (RA) ob-tiene resultados de mejor calidad. Aunque creemos que es injusto realizaruna comparación entre los tiempos de ejecución de los algoritmos propuestoscontra los del algoritmo OV-MDT, debido a que este último se implementócomo un applet, se muestran sus tiempos de ejecución con el objetivo deincluirlos en el análisis global. Considerando esta situación, OV-MDT es elsegundo algoritmo más lento. Notar que no se obtuvo el tiempo de ejecu-ción para la instancia LD160-2 debido a que el applet retorna un error y notermina la ejecución. El algoritmo RLS-MDT (RG) necesita más cantidadde segundos que RLS-MDT (RA) debido a que se deben realizar ordena-ciones antes de insertar una nueva arista. Si bien los algoritmos RLS-MDT(RA), OV-MDT e ILS-MDT se comportan de manera similar, de acuerdoa lo planteado en la sección anterior, RLS-MDT (RA) es el más rápido deellos.

Page 184: Metaheurísticas en la resolución de problemas sobre triangulaciones

162 Capítulo 7. Metaheurísticas aplicadas al problema MDT

Instancia

DT

OV-M

DT

G-M

DT

LS-M

DT

ILS-M

DT

SA-M

DT

SA-M

DT+LS

RLS-M

DT

RLS-M

DT

(RA)

(RG)

LD40-1

0,0045

53,25

0,44

0,03

0,74

863,16

863,20

0,25

2,24

LD40-2

0,0054

51,34

0,19

0,03

0,47

998,38

998,41

0,23

2,11

LD40-3

0,0059

50,61

0,17

0,05

0,54

809,90

809,95

0,21

2,18

LD40-4

0,0063

66,77

0,16

0,03

0,19

839,97

840,00

0,16

3,15

LD80-1

0,0108

1067,79

1,80

0,31

7,89

9931,71

9932,02

2,97

10,29

LD80-2

0,0113

854,67

1,86

0,32

7,94

11046,52

11046,84

2,11

12,98

LD80-3

0,0114

1124,76

1,81

0,29

7,81

9646,33

9646,62

2,54

11,06

LD80-4

0,011

857,27

1,85

0,37

7,95

15960,36

15960,73

2,74

10,93

LD120-1

0,0134

9196,83

7,95

1,61

43,57

69768,20

69769,81

7,89

38,75

LD120-2

0,0145

9223,47

7,93

1,52

30,04

66366,50

66368,02

7,99

36,55

LD120-3

0,0141

10816,83

8,15

1,78

30,88

76360,00

76361,78

9,33

40,79

LD120-4

0,0166

10360,76

8,50

1,55

29,99

66969,00

66970,55

7,64

43,82

LD160-1

0,0319

92250,19

23,00

5,56

86,13

209016,60

209022,16

26,31

88,28

LD160-2

0,0323

-24,18

4,69

82,37

247275,40

247280,09

24,70

79,61

LD160-3

0,0311

61097,47

23,84

4,76

73,72

247970,60

247975,36

26,99

86,14

LD160-4

0,0333

64406,58

24,35

5,19

78,88

202503,60

202508,79

23,07

78,50

LD200-1

0,0497

48959,99

54,95

11,14

176,61

479645,60

479656,74

52,15

144,45

LD200-2

0,0489

53513,10

55,64

20,30

174,67

507958,40

507978,70

53,07

135,88

LD200-3

0,0495

57293,30

56,71

12,64

173,48

556564,20

556576,84

60,52

150,11

LD200-4

0,0499

56403,20

57,11

12,18

174,97

507628,20

507640,38

48,74

159,22

Tabla 7.6: Tiempos de ejecución de los algoritmos DT, OV-MDT, G-MDT,LS-MDT, ILS-MDT, SA-MDT, SA-MDT+LS, RLS-MDT (RA) y RLS-MDT(RG). Se destacan los mejores tiempos (en negrita).

Page 185: Metaheurísticas en la resolución de problemas sobre triangulaciones

7.6. Evaluación Experimental y Análisis Estadístico 163

61,035

305,176

1525,879

7629,395

38146,973

190734,863

953674,316

Ca

nti

da

d d

e s

eg

un

do

s

DT

OV-MDT

G-MDT

LS-MDT

ILS-MDT

0,004

0,020

0,098

0,488

2,441

12,207

LD4

0-1

LD4

0-2

LD4

0-3

LD4

0-4

LD8

0-1

LD8

0-2

LD8

0-3

LD8

0-4

LD1

20

-1

LD1

20

-2

LD1

20

-3

LD1

20

-4

LD1

60

-1

LD1

60

-2

LD1

60

-3

LD1

60

-4

LD2

00

-1

LD2

00

-2

LD2

00

-3

LD2

00

-4

Ca

nti

da

d d

e s

eg

un

do

s

ILS-MDT

SA-MDT

SA-MDT+LS

RLS-MDT (RA)

RLS-MDT (RG)

Figura 7.15: Gráca de los tiempos de ejecución de los algoritmos DT, OV-MDT, G-MDT, LS-MDT, ILS-MDT, SA-MDT, SA-MDT+LS, RLS-MDT(RA) y RLS-MDT (RG).

Page 186: Metaheurísticas en la resolución de problemas sobre triangulaciones
Page 187: Metaheurísticas en la resolución de problemas sobre triangulaciones

Capítulo 8

Conclusiones y Trabajo Futuro

La Geometría Computacional se dedica al diseño y análisis de algorit-mos que resuelven problemas geométricos, haciendo uso de elementos de lamatemática y de la computación. Esto trae aparejado la realización de unanálisis de la complejidad combinatoria de estructuras geométricas, el estu-dio de estructuras de datos geométricas, la complejidad de algoritmos, etc.Este diseño y análisis permite dar solución eciente a numerosos problemasde variadas áreas de aplicación. Triangular conjuntos de puntos es un proble-ma interesante y constituye una herramienta utilizada en procesos previos endiferentes cálculos. Para que una triangulación sea interesante debe cumplirciertas condiciones de calidad. Tal es el caso de los problemas consideradosen la presente tesis (Triangulación de Peso Mínimo y Triangulación de Dila-ción Mínima) para los cuales, debido a su dicultad inherente, se propusieronalgoritmos aproximados para dar soluciones cercanas a las óptimas.

En este capítulo se describen las conclusiones generales que se derivandel trabajo realizado, como así también algunos lineamientos para futurasinvestigaciones.

8.1. Conclusiones sobre el trabajo realizado para elproblema MWT

Particularmente, para el problema MWT se realizó la adecuación e imple-mentación de las técnicas de Optimización basada en Colonia de Hormigas(ACO-MWT) y de Recocido Simulado (SA-MWT). Además se implemen-taron algoritmos ya conocidos (Greedy, Delaunay y LMT+PD) para podercompararlos con nuestras propuestas. Se utilizaron herramientas de calibra-ción de parámetros (SPOT e irace) para obtener las mejores conguracionesparamétricas para las metaheurísticas consideradas. Para la etapa experi-mental se realizó un generador de instancias de problema debido a que en laliteratura no existen lotes disponibles para realizar comparaciones (bench-

165

Page 188: Metaheurísticas en la resolución de problemas sobre triangulaciones

166 Capítulo 8. Conclusiones y Trabajo Futuro

marks). Se utilizaron 20 instancias de problema cuyas cantidades de puntosse encuentran entre los 40 y 200 puntos. A través de la evaluación experi-mental y del análisis estadístico se determinó que el algoritmo que obtuvomejores resultados fue SA-MWT con la Conguración (3), es decir, que seobtuvieron mejores resultados aplicando 10 veces el operador de retriangu-lación greedy y 2 veces el de retriangulación aleatoria (g = 10, a = 2),comenzando con una temperatura igual a 10000 · n/2 (T0 = 3), disminuyen-do la temperatura de manera geométrica con un factor α = 0,9 (R = 4) yrealizando Tk movimientos por temperatura (M(Tk) = Tk). Dicho algoritmoobtiene triangulaciones cuyos pesos tienen diferencias entre el 0, 02 % y el0, 19 % del peso óptimo obtenido con LMT+PD (para las instancias en lascuales no obtiene el óptimo). Además se utilizó la herramienta SPOT paracalibrar los parámetros del algoritmo SA-MWT. Dicha herramienta retor-nó una conguración que no mejoró los resultados obtenidos con la mejorconguración obtenida con irace.

Considerando que la metodología LMT+PD puede ser utilizada siempreque el LMT-esqueleto de un conjunto de puntos sea conexo, se implementóun generador de instancias particulares para las cuales dicho método nologra encontrar soluciones óptimas debido a que el LMT-esqueleto no esconexo. Se utilizó un conjunto de 10 instancias de problema, algunas conigual cantidad de puntos en sus diamantes y otras con distinta cantidad. Serealizó una evaluación experimental considerando la mejor conguración delos algoritmos ACO-MWT y SA-MWT, obteniendo mejores resultados conel algoritmo SA-MWT.

8.2. Conclusiones sobre el trabajo realizado para elproblema MDT

Para el problema MDT, se adecuaron e implementaron diferentes téc-nicas: Búsqueda Greedy (G-MDT), Búsqueda Local (LS-MDT), BúsquedaLocal Iterada (ILS-MDT), Recocido Simulado (SA-MDT) y Búsqueda LocalAleatoria (RLS-MDT). Para el algoritmo SA-MDT se utilizó la herramien-ta de ajuste de parámetros SPOT para obtener una buena conguraciónparamétrica. En la evaluación experimental se consideraron las mismas 20instancias de problema utilizadas para la evaluación de los algoritmos apli-cados al problema MWT. Dentro del conjunto de algoritmos de comparaciónse utilizaron DT y OV-MDT. Este último es un algoritmo greedy propuestopor Klein en [88]. El análisis estadístico mostró que RLS-MDT obtuvo mejo-res resultados utilizando la versión con retriangulación aleatoria (RLS-MDT(RA)) la cual posee un buen desempeño considerando el tiempo de ejecución.

En las comparaciones de resultados, para ambos problemas, se utilizarontest estadísticos con el n de mostrar si existían diferencias signicativas

Page 189: Metaheurísticas en la resolución de problemas sobre triangulaciones

8.2. Conclusiones sobre el trabajo realizado para el problema MDT 167

entre los resultados obtenidos por los algoritmos en consideración.Cabe destacar que todas las instancias generadas y consideradas en la

presente tesis se encuentran disponibles en el sitio de la Línea de Investiga-ción Geometría Computacional y Bases de Datos del Proyecto TecnologíasAvanzadas de Bases de Datos (22/F014) de la Universidad Nacional de SanLuis (http://www.dirinfo.unsl.edu.ar/bd2/GeometriaComp/).

Si bien las medidas de calidad consideradas en esta tesis, peso y dilación,son utilizadas para comparar triangulaciones y decidir cuál triangulación esmejor que otra, calcular la triangulación de dilación mínima no garantizaobtener una triangulación de peso mínimo, ni viceversa. Ésto se debe a queel peso es una medida global en el sentido que se suman las longitudes detodas las aristas, mientras que para el cálculo de la dilación sólo intervienencomponentes locales (se miden distancias en la triangulación y luego se eligeel máximo). En la Figura 8.1 se muestran las grácas obtenidas realizandouna comparación entre peso y dilación. En la Figura 8.1a se muestran las me-jores dilaciones obtenidas por el algoritmo RLS-MDT (RA) y las dilacionesde las triangulaciones que poseen el menor peso obtenidas por el algorit-mo SA-MWT Cong. (3) y en la Figura 8.1b se muestran los mejores pesosobtenidos por el algoritmo SA-MWT Cong. (3) y los pesos de las triangu-laciones que poseen la menor dilación obtenidas por el algoritmo RLS-MDT(RA). Para este último caso, se consideró la triangulación de menor pesoentre todas las triangulaciones que obtuvieron la mejor dilación ya que latriangulación de dilación mínima no es única.

Page 190: Metaheurísticas en la resolución de problemas sobre triangulaciones

168 Capítulo 8. Conclusiones y Trabajo Futuro

1,000000

1,200000

1,400000

1,600000

1,800000

Comparación de dilaciones

RLS-MDT(RA)

0,000000

0,200000

0,400000

0,600000

0,800000

LD4

0-1

LD4

0-2

LD4

0-3

LD4

0-4

LD8

0-1

LD8

0-2

LD8

0-3

LD8

0-4

LD1

20

-1

LD1

20

-2

LD1

20

-3

LD1

20

-4

LD1

60

-1

LD1

60

-2

LD1

60

-3

LD1

60

-4

LD2

00

-1

LD2

00

-2

LD2

00

-3

LD2

00

-4

RLS-MDT(RA)

SA-MWT Config. (3)

(a)

6000000

8000000

10000000

12000000

Comparación de pesos

SA-MWT Config. (3)

0

2000000

4000000

6000000

LD4

0-1

LD4

0-2

LD4

0-3

LD4

0-4

LD8

0-1

LD8

0-2

LD8

0-3

LD8

0-4

LD1

20

-1

LD1

20

-2

LD1

20

-3

LD1

20

-4

LD1

60

-1

LD1

60

-2

LD1

60

-3

LD1

60

-4

LD2

00

-1

LD2

00

-2

LD2

00

-3

LD2

00

-4

SA-MWT Config. (3)

RLS-MDT(RA)

(b)

Figura 8.1: Comparación entre las medidas de calidad de peso y dilación.

Page 191: Metaheurísticas en la resolución de problemas sobre triangulaciones

8.3. Trabajo futuro 169

8.3. Trabajo futuro

A continuación se proponen algunas posibles extensiones y líneas de in-vestigación para la temática abordada en esta tesis:

Diseñar estrategias basadas en población para el problema MDT ya quese consideraron algoritmos basados en trayectoria, para luego realizarevaluaciones y comparaciones entre estrategias de ambos tipos.

Diseñar estrategias metaheurísticas híbridas para ambos problemas pa-ra poder observar si se obtienen mejoras en los resultados.

Crear generadores de nuevas instancias para el problema MWT paralas cuales no es posible la aplicación del algoritmo LMT+PD.

Estudiar en mayor profundidad las herramientas de calibración de pa-rámetros para poder congurarlas de la mejor manera a cada problemaconsiderado y de esa manera obtener mejores resultados.

Debido a que la lista de propiedades deseables en una buena red re-eja muchas necesidades contradictorias, como por ejemplo, si se ne-cesitan redes de pequeña dilación, luego no es posible obtener redes depeso pequeño, se podrían diseñar estrategias multiobjetivo con el nde encontrar soluciones equilibradas en peso y dilación.

Aplicar técnicas metaheurísticas a otros problemas relacionados contriangulaciones, como por ejemplo a problemas de vigilancia en terrenosconsiderando diferentes tipos de guardias (guardias-vértice y guardias-arista) y distintos tipos de vigilancia (guardias vigilados, guardia coope-rativa, vigilancia múltiple, ciclos de vigilancia, entre otros).

Page 192: Metaheurísticas en la resolución de problemas sobre triangulaciones
Page 193: Metaheurísticas en la resolución de problemas sobre triangulaciones

Apéndice A

Herramientas utilizadas para elajuste de parámetros

El desempeño de las heurísticas de búsqueda modernas, tales como lasestrategias utilizadas en esta tesis, depende fundamentalmente de sus pa-rametrizaciones o, en términos estadísticos, en los ajustes de los factores.Encontrar buenos ajustes de los parámetros de un algoritmo de optimiza-ción se denomina tuning.

En este trabajo se utilizaron dos herramientas (SPOT e irace) para rea-lizar el ajuste de parámetros las cuales se han implementado como paquetesen el sistema estadístico R [141] y están disponibles gratuitamente.

A continuación se realiza una breve descripción de cada una de ellas.

A.1. SPOT

La Optimización de Parámetros Secuencial (Sequential Parameter Opti-mization - SPO) [13] es un framework para ajustar y comprender los algorit-mos a través de una experimentación activa y emplea métodos estadísticosde error para obtener resultados ables. SPO es una heurística que combinatécnicas estadísticas clásicas y modernas.

La herramienta de Optimización de Parámetros Secuencial (SequentialParameter Optimization Toolbox - SPOT) [15] es una implementación delframework SPO. Se aplicó con éxito sobre numerosas heurísticas para pro-blemas de optimización prácticos y teóricos [14].

SPOT proporciona herramientas para el ajuste de varios parámetros almismo tiempo y es muy adecuado para problemas de optimización. Puedealcanzar buenos resultados con sólo unos pocos experimentos de construcciónde modelos, ya que construye un modelo subrogado durante la secuencia deejecuciones. Éste se rena constantemente a medida que progresa la ana-ción. SPOT utiliza un modelo mejorado secuencialmente para estimar la

171

Page 194: Metaheurísticas en la resolución de problemas sobre triangulaciones

172 Apéndice A. Herramientas utilizadas para el ajuste de parámetros

relación entre las variables de entrada del algoritmo y de su salida. Por lotanto SPOT tiene dos objetivos: uno es determinar buenos valores de los pa-rámetros, por lo que SPOT se puede usar como un sintonizador; y, en segundolugar, se pueden revelar las interacciones entre las variables para ayudar acomprender cómo funciona el algoritmo cuando se enfrenta a un problemaespecíco o cómo inuyen en el desempeño del algoritmo los cambios en elproblema.

SPOT puede determinar y mejorar la conguración de parámetros decualquier algoritmo externo, el que podría estar escrito en cualquier lenguajede programación. La comunicación entre SPOT y el algoritmo externo serealiza a través de archivos de texto sencillos y estructurados. Para que elalgoritmo sea capaz de interactuar con SPOT es necesario construir una capa(shell) alrededor del algoritmo, para no tener que modicarlo. Dicha capadebe ser capaz de leer la conguración de parámetros de un archivo, iniciarel algoritmo con esa conguración y nalmente escribir el resultado en otroarchivo al terminar la ejecución.

El usuario debe congurar los siguientes archivos para congurar SPOTy el algoritmo:

Región de interés (Region of interest - ROI): Archivo que especica laregión sobre la cual se ajustan los parámetros del algoritmo.

Diseño de algoritmo (Algorithm design - APD): Archivo utilizado pa-ra especicar los parámetros utilizados por el algoritmo, por ejemplo,dimensión del problema, función objetivo, punto de partida, semillainicial, etc.

Conguración (CONF): Archivo que especica los parámetros de SPOT,como por ejemplo, el modelo de predicción o el tamaño del diseño ini-cial.

SPOT generará los siguientes archivos:

Diseño (DES): Especica los diseños del algoritmo. Es generado auto-máticamente por SPOT y será leído por los algoritmos de optimización.

Luego que el algoritmo comenzó a ejecutar con una parametrizacióndel diseño del algoritmo, se escriben los resultados en el archivo deresultados (RES). Dicho archivo es la base para visualizaciones y eva-luaciones estadísticas. Este archivo es leído por SPOT para generarmodelos de predicción.

La Figura A.1 ilustra las interfaces de SPOT y el ujo de datos. El buclede SPOT puede ser descrito como:

(a) SPOT lee los archivos CONF y ROI.

Page 195: Metaheurísticas en la resolución de problemas sobre triangulaciones

A.2. irace 173

(b) SPOT genera el archivo DES.

(c) El algoritmo lee el archivo DES junto con

(d) información adicional, por ejemplo, la dimensión del problema desdeel archivo APD.

(e) La salida del algoritmo de optimización es escrita en el archivo RES.

(f) Este archivo es utilizado por SPOT para construir el modelo de pre-dicción.

(g) Los datos pueden ser usados por herramientas de análisis exploratoriode datos (EDA) para generar reportes, estadísticas, visualizaciones,etc.

CONF

ROIEDA

RES DES

SPOT

(a) (g)

(f) (b)

Capa de SPOT

RES DES

APD

Algoritmo de

optimización

(c)

(d)

(e)

Capa de Algoritmo

Figura A.1: Interfaces de SPOT.

Para mayor detalle sobre esta herramienta consultar [15].

A.2. irace

irace [113], es una implementación públicamente disponible de IteratedF-Race [10]. Iterated F-Race inicia mediante el muestreo de un número deconguraciones de parámetros elegidas uniformemente al azar. Luego, en ca-da iteración, se selecciona un conjunto de mejores conguraciones medianteun procedimiento de carreras y el uso del test estadístico no paramétricode Friedman. Este procedimiento de carreras ejecuta las conguraciones de

Page 196: Metaheurísticas en la resolución de problemas sobre triangulaciones

174 Apéndice A. Herramientas utilizadas para el ajuste de parámetros

forma iterativa en una secuencia de instancias de problema y descarta con-guraciones en cuanto haya suciente evidencia estadística. Después de lacarrera, las mejores conguraciones se utilizan para sesgar un modelo demuestreo local. La siguiente iteración comienza probando nuevas congura-ciones de este modelo, y se aplican las carreras a estas conguraciones juntocon las mejores conguraciones anteriores. Este procedimiento se repite hastaque se agote un presupuesto (budget) determinado de ejecución.

El esquema de la Figura A.2 describe cómo las diferentes partes de iraceinteractúan entre ellas. La herramienta irace requiere tres entradas principa-les.

Una descripción del espacio de parámetros X, es decir, los parámetrosa congurar, sus tipos, rangos y restricciones.

El conjunto de instancias de ajuste I1, I2, ... el cual, en la práctica, esuna muestra representativa y nita del conjunto de todas las posiblesinstancias de problema.

La conguración de irace que se dene por medio de un conjunto deopciones. La lista completa de opciones se encuentra disponible en ladocumentación del paquete [2].

Además, irace requiere una función (o programa auxiliar) llamado hoo-kRun, el cual es el responsable de aplicar una conguración particular a unainstancia y retornar el valor de costo correspondiente.

Configuración

de iraceParámetrosInstancias

hookRun

irace

Figura A.2: Esquema de ujo de información de irace.

Page 197: Metaheurísticas en la resolución de problemas sobre triangulaciones

Apéndice B

Instancias de problema

1 2 3 4

LD40

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD80

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD120

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD160

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

Continúa en la siguiente página

175

Page 198: Metaheurísticas en la resolución de problemas sobre triangulaciones

176 Apéndice B. Instancias de problema

LD200

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

Tabla B.1: Grácas de las instancias de problema consideradas para la eva-luación experimental.

# puntosDistinta cantidad de Igual cantidad depuntos por diamante puntos por diamante

40

0 100 200 300 400 500 600 700 800200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 8000

100

200

300

400

500

600

700

800

900

1000

80

100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

0 200 400 600 800 1000 12000

200

400

600

800

1000

1200

1400

120

0 200 400 600 800 1000 12000

200

400

600

800

1000

1200

0 200 400 600 800 1000 1200 14000

200

400

600

800

1000

1200

1400

160

0 200 400 600 800 1000 12000

200

400

600

800

1000

1200

0 200 400 600 800 1000 1200 14000

500

1000

1500

Continúa en la siguiente página

Page 199: Metaheurísticas en la resolución de problemas sobre triangulaciones

177

200

0 200 400 600 800 1000 1200 14000

200

400

600

800

1000

1200

1400

0 200 400 600 800 1000 1200 1400 1600 18000

200

400

600

800

1000

1200

1400

1600

1800

Tabla B.2: Grácas de las instancias de problema particulares consideradaspara la evaluación experimental.

Page 200: Metaheurísticas en la resolución de problemas sobre triangulaciones
Page 201: Metaheurísticas en la resolución de problemas sobre triangulaciones

Apéndice C

Resultados experimentales

C.1. Resultados de ACO-MWT

Instancia/Cong Mejor Media Mediana Desv. Estánd.

LD40-1-1-1-0,25-1-1 5493046,98 5497919,62 5499099,10 3093,44LD40-1-1-1-0,50-1-1 5493046,98 5500287,82 5500888,04 4543,69LD40-1-1-5-0,50-1-1 5493046,98 5500755,10 5501731,82 5518,01LD40-1-1-5-0,10-1-1 5493046,98 5501426,82 5501988,26 4890,60

LD40-2-1-5-0,25-1-2 4659552,88 4663335,33 4662871,18 1660,10LD40-2-1-5-0,10-1-2 4659552,88 4663414,01 4662871,18 2302,04LD40-2-1-1-0,10-1-2 4659552,88 4664279,54 4663937,85 2284,17LD40-2-1-5-0,50-1-2 4659552,88 4664449,22 4663937,85 2475,64

LD40-3-1-5-0,50-1-1 5510241,49 5517746,19 5518972,68 5657,38LD40-3-1-5-0,25-1-1 5502567,47 5519150,96 5519371,87 6516,17LD40-3-1-5-0,10-1-1 5510241,49 5519544,54 5519304,55 5353,71LD40-3-1-1-0,50-1-1 5510905,24 5520034,65 5519500,49 7453,58

LD40-4-1-1-0,25-1-1 5745772,57 5748258,66 5747735,22 2316,90LD40-4-1-1-0,50-1-1 5745772,57 5748852,93 5747967,24 1946,87LD40-4-1-1-0,10-1-1 5747725,42 5749371,73 5748757,17 1950,69LD40-4-1-5-0,50-1-1 5745772,57 5751694,88 5750729,63 4002,90

LD80-1-1-5-0,25-1-1 6249124,02 6271507,35 6273683,77 13911,81LD80-1-1-5-0,50-1-1 6242505,37 6271586,50 6272847,57 14337,09LD80-1-1-5-0,10-1-1 6260762,56 6274120,15 6272485,73 8872,34LD80-1-1-5-0,10-1-2 6256024,70 6279325,70 6280216,64 14830,93

LD80-2-1-5-0,25-1-2 7609740,73 7631092,05 7629947,83 12125,54LD80-2-1-5-0,10-1-2 7603796,55 7637226,81 7631391,55 20466,33

Continúa en la siguiente página

179

Page 202: Metaheurísticas en la resolución de problemas sobre triangulaciones

180 Apéndice C. Resultados experimentales

Instancia/Cong Mejor Media Mediana Desv. Estánd.

LD80-2-1-5-0,50-1-1 7607462,01 7637903,81 7635415,45 15751,41LD80-2-1-5-0,50-1-2 7608232,30 7637928,60 7638511,15 18742,00

LD80-3-1-5-0,10-1-1 5836037,52 5863919,59 5865321,63 13482,95LD80-3-1-5-0,10-1-2 5841588,76 5866709,73 5866158,86 12310,89LD80-3-1-5-0,50-1-1 5843634,18 5867149,52 5865094,35 14250,12LD80-3-1-5-0,25-1-1 5848704,52 5867886,16 5866905,02 12546,09

LD80-4-1-1-0,25-1-1 6228084,17 6268067,91 6269013,28 17899,69LD80-4-1-5-0,10-1-1 6244473,52 6273271,56 6275887,38 17563,69LD80-4-1-1-0,50-1-1 6221908,35 6273397,94 6270861,50 23681,58LD80-4-1-1-0,10-1-1 6225424,55 6274697,85 6275116,90 23752,42

LD120-1-1-5-0,25-1-1 9325983,84 9361402,08 9360175,33 18424,94LD120-1-1-5-0,50-1-1 9331139,17 9364442,22 9358834,14 22122,18LD120-1-1-5-0,10-1-1 9333487,73 9366316,45 9361295,56 20570,03LD120-1-1-5-0,10-1-3 9332039,52 9371175,20 9374395,34 21069,49

LD120-2-1-5-0,10-1-1 5962098,82 6019315,94 6019005,66 23256,40LD120-2-1-5-0,25-1-1 5979832,10 6022597,43 6024761,74 20284,76LD120-2-1-5-0,50-1-1 5995484,43 6026150,88 6026797,04 21177,62LD120-2-1-5-0,25-1-2 5983040,70 6026740,04 6019915,81 25152,52

LD120-3-1-5-0,25-1-1 8632573,62 8658615,97 8659383,59 11813,15LD120-3-1-5-0,10-1-1 8632305,86 8661456,91 8659950,14 16552,05LD120-3-1-5-0,50-1-1 8633525,81 8663020,07 8665399,69 17104,37LD120-3-1-5-0,10-1-2 8651735,26 8687596,66 8684026,80 21554,65

LD120-4-1-5-0,10-1-2 7759358,73 7789205,96 7791532,61 16637,22LD120-4-1-5-0,25-1-2 7761785,63 7792100,86 7790603,30 16453,29LD120-4-1-5-0,50-1-2 7775998,70 7794982,62 7793967,32 11546,20LD120-4-1-5-0,10-1-1 7766328,18 7797742,70 7797167,32 14877,85

LD160-1-1-5-0,10-1-3 7480988,52 7511907,33 7512639,06 17530,37LD160-1-1-5-0,10-1-2 7474922,58 7513472,12 7510627,69 23438,65LD160-1-1-5-0,25-1-3 7482316,98 7513548,08 7511810,60 20290,36LD160-1-1-5-0,10-1-1 7489134,50 7515805,69 7514856,65 16875,54

LD160-2-1-5-0,50-1-1 7057184,90 7091344,46 7087809,18 18160,76LD160-2-1-5-0,25-1-1 7066698,93 7095758,35 7093210,25 17190,47LD160-2-1-5-0,10-1-1 7073680,68 7097824,57 7097094,97 13596,56LD160-2-1-5-0,10-1-2 7065893,42 7105594,71 7104103,75 14819,81

LD160-3-1-5-0,10-1-1 8750828,00 8797041,90 8795784,69 21039,54LD160-3-1-5-0,10-1-2 8746671,15 8797366,35 8795377,20 19777,50LD160-3-1-5-0,50-1-1 8748155,86 8797618,24 8801970,31 19596,58LD160-3-1-5-0,25-1-2 8743196,31 8798923,33 8797810,93 25635,40

Continúa en la siguiente página

Page 203: Metaheurísticas en la resolución de problemas sobre triangulaciones

C.1. Resultados de ACO-MWT 181

Instancia/Cong Mejor Media Mediana Desv. Estánd.

LD160-4-1-5-0,10-1-2 6171319,30 6212068,37 6211063,44 20126,45LD160-4-1-5-0,25-1-2 6170801,99 6214311,20 6213909,74 20055,80LD160-4-1-5-0,50-1-1 6184695,62 6223382,81 6223080,16 19044,34LD160-4-1-5-0,10-1-1 6194364,12 6223521,29 6223352,20 15100,54

LD200-1-1-5-0,10-1-1 6629217,99 6682331,89 6680402,64 25296,80LD200-1-1-5-0,10-1-2 6626459,02 6683309,27 6685261,22 26865,58LD200-1-1-5-0,25-1-1 6630056,97 6685181,22 6686664,55 26344,99LD200-1-1-5-0,50-1-1 6653791,21 6696450,11 6699708,80 29302,26

LD200-2-1-5-0,10-1-1 7657541,37 7700693,33 7699453,98 21096,86LD200-2-1-5-0,50-1-1 7668286,61 7703476,16 7701447,81 15855,81LD200-2-1-5-0,25-1-1 7661699,16 7710332,53 7708749,72 20577,43LD200-2-1-5-0,10-1-2 7676051,53 7722204,52 7720979,62 27454,40

LD200-3-1-5-0,10-1-2 8794417,96 8829885,84 8826928,12 23738,82LD200-3-1-5-0,25-1-2 8798932,16 8837792,94 8836963,53 22687,90LD200-3-1-5-0,10-1-1 8804317,40 8842182,25 8844296,93 22157,62LD200-3-1-5-0,50-1-2 8786136,61 8845063,39 8844984,28 26176,44

LD200-4-1-5-0,10-1-1 7978077,84 8012032,88 8012288,87 21018,88LD200-4-1-5-0,50-1-1 7971439,81 8020927,38 8019504,08 26203,03LD200-4-1-5-0,25-1-1 7973472,00 8026795,74 8027317,45 22964,51LD200-4-1-5-0,10-1-2 8022204,11 8060343,36 8058052,04 20550,15Tabla C.1: Resultados de ACO-MWT con 50 hormigas ordenados por media.

Instancia Mejor Media Mediana Desv. Estánd.

LD40-1-1-1-0,25-1-1 5493046,98 5497919,62 5499099,10 3093,44LD40-1-1-1-0,50-1-1 5493046,98 5500287,82 5500888,04 4543,69LD40-1-1-5-0,50-1-1 5493046,98 5500755,10 5501731,82 5518,01LD40-1-1-5-0,10-1-1 5493046,98 5501426,82 5501988,26 4890,60LD40-1-1-5-0,25-1-1 5493046,98 5502440,80 5502009,72 4547,09

LD40-2-1-5-0,25-1-2 4659552,88 4663335,33 4662871,18 1660,10LD40-2-1-5-0,10-1-2 4659552,88 4663414,01 4662871,18 2302,04LD40-2-1-1-0,10-1-2 4659552,88 4664279,54 4663937,85 2284,17LD40-2-1-5-0,50-1-2 4659552,88 4664449,22 4663937,85 2475,64LD40-2-1-1-0,25-1-2 4659552,88 4664595,40 4663937,85 3032,23LD40-2-1-5-0,50-1-1 4659552,88 4664708,73 4664381,66 2927,11LD40-2-1-5-0,25-1-1 4659552,88 4665476,03 4664816,87 3694,01

Continúa en la siguiente página

Page 204: Metaheurísticas en la resolución de problemas sobre triangulaciones

182 Apéndice C. Resultados experimentales

Instancia Mejor Media Mediana Desv. Estánd.

LD40-2-1-1-0,50-1-2 4659552,88 4665777,05 4664560,82 6346,27LD40-2-1-5-0,10-1-1 4659552,88 4665988,06 4665631,59 3812,08LD40-2-1-1-0,50-1-1 4659552,88 4666420,81 4665959,57 3191,35

LD40-3-1-5-0,25-1-1 5502567,47 5519150,96 5519371,87 6516,17LD40-3-1-1-0,10-1-1 5503300,95 5520802,84 5520905,98 6966,79LD40-3-1-5-0,50-1-1 5510241,49 5517746,19 5518972,68 5657,38LD40-3-1-5-0,10-1-1 5510241,49 5519544,54 5519304,55 5353,71

LD40-4-1-1-0,25-1-1 5745772,57 5748258,66 5747735,22 2316,90LD40-4-1-1-0,50-1-1 5745772,57 5748852,93 5747967,24 1946,87LD40-4-1-5-0,50-1-1 5745772,57 5751694,88 5750729,63 4002,90LD40-4-1-1-0,10-1-1 5747725,42 5749371,73 5748757,17 1950,69LD40-4-1-5-0,10-1-1 5747725,42 5751876,97 5750729,63 3170,10LD40-4-1-5-0,25-1-1 5747725,42 5751975,40 5750729,63 5157,73LD40-4-1-1-0,10-1-2 5747725,42 5752914,18 5752682,48 2842,70

LD80-1-1-5-0,50-1-1 6242505,37 6271586,50 6272847,57 14337,09LD80-1-1-5-0,25-1-2 6245021,07 6280846,21 6282160,19 15639,81LD80-1-1-1-0,25-1-2 6247791,55 6294118,64 6293915,74 20134,41LD80-1-1-5-0,25-1-1 6249124,02 6271507,35 6273683,77 13911,81

LD80-2-1-5-0,10-1-2 7603796,55 7637226,81 7631391,55 20466,33LD80-2-1-5-0,25-1-1 7605382,88 7640159,79 7642059,93 13945,98LD80-2-1-5-0,50-1-1 7607462,01 7637903,81 7635415,45 15751,41LD80-2-1-5-0,50-1-2 7608232,30 7637928,60 7638511,15 18742,00

LD80-3-1-5-0,10-1-1 5836037,52 5863919,59 5865321,63 13482,95LD80-3-1-5-0,10-1-2 5841588,76 5866709,73 5866158,86 12310,89LD80-3-1-5-0,50-1-1 5843634,18 5867149,52 5865094,35 14250,12LD80-3-1-1-0,50-1-1 5845840,65 5880348,94 5882945,53 15361,40

LD80-4-1-5-0,50-1-1 6217040,74 6277070,22 6279986,30 23328,86LD80-4-1-1-0,50-1-1 6221908,35 6273397,94 6270861,50 23681,58LD80-4-1-1-0,50-1-3 6222675,70 6280044,30 6279986,87 26568,66LD80-4-1-1-0,10-1-1 6225424,55 6274697,85 6275116,90 23752,42

LD120-1-1-5-0,25-1-1 9325983,84 9361402,08 9360175,33 18424,94LD120-1-1-1-0,25-1-2 9329197,77 9386869,44 9383783,58 23849,20LD120-1-1-1-0,10-1-2 9330068,82 9391336,29 9390828,32 24830,43LD120-1-1-5-0,50-1-1 9331139,17 9364442,22 9358834,14 22122,18

LD120-2-1-5-0,10-1-1 5962098,82 6019315,94 6019005,66 23256,40LD120-2-1-1-0,10-1-2 5975392,94 6037024,17 6030177,29 33286,00LD120-2-1-5-0,25-1-1 5979832,10 6022597,43 6024761,74 20284,76LD120-2-1-5-0,50-1-2 5981135,28 6037509,36 6030150,76 32576,16

Continúa en la siguiente página

Page 205: Metaheurísticas en la resolución de problemas sobre triangulaciones

C.1. Resultados de ACO-MWT 183

Instancia Mejor Media Mediana Desv. Estánd.

LD120-3-1-5-0,10-1-1 8632305,86 8661456,91 8659950,14 16552,05LD120-3-1-5-0,25-1-1 8632573,62 8658615,97 8659383,59 11813,15LD120-3-1-5-0,50-1-1 8633525,81 8663020,07 8665399,69 17104,37LD120-3-1-5-0,10-1-3 8651317,27 8723938,87 8726147,50 35212,61

LD120-4-1-5-0,10-1-2 7759358,73 7789205,96 7791532,61 16637,22LD120-4-1-5-0,25-1-2 7761785,63 7792100,86 7790603,30 16453,29LD120-4-1-5-0,50-1-1 7762612,36 7802092,76 7803400,88 18435,99LD120-4-1-5-0,10-1-1 7766328,18 7797742,70 7797167,32 14877,85

LD160-1-1-5-0,25-1-2 7471544,21 7521231,01 7521075,21 23818,81LD160-1-1-5-0,50-1-3 7474078,83 7530461,65 7521125,48 34304,61LD160-1-1-5-0,10-1-2 7474922,58 7513472,12 7510627,69 23438,65LD160-1-1-5-0,10-1-3 7480988,52 7511907,33 7512639,06 17530,37

LD160-2-1-5-0,50-1-1 7057184,90 7091344,46 7087809,18 18160,76LD160-2-1-5-0,25-0-1 7057845,32 7132276,53 7136219,77 18387,64LD160-2-1-5-0,10-1-2 7065893,42 7105594,71 7104103,75 14819,81LD160-2-1-5-0,25-1-1 7066698,93 7095758,35 7093210,25 17190,47

LD160-3-1-5-0,25-1-2 8743196,31 8798923,33 8797810,93 25635,40LD160-3-1-5-0,10-1-2 8746671,15 8797366,35 8795377,20 19777,50LD160-3-1-5-0,50-1-1 8748155,86 8797618,24 8801970,31 19596,58LD160-3-1-5-0,10-1-1 8750828,00 8797041,90 8795784,69 21039,54

LD160-4-1-5-0,25-1-2 6170801,99 6214311,20 6213909,74 20055,80LD160-4-1-5-0,10-1-2 6171319,30 6212068,37 6211063,44 20126,45LD160-4-1-5-0,50-1-1 6184695,62 6223382,81 6223080,16 19044,34LD160-4-1-1-0,50-1-2 6187976,81 6246239,52 6241218,88 28644,18

LD200-1-1-5-0,25-1-2 6623105,49 6710513,55 6704368,79 31476,52LD200-1-1-5-0,10-1-2 6626459,02 6683309,27 6685261,22 26865,58LD200-1-1-5-0,10-1-1 6629217,99 6682331,89 6680402,64 25296,80LD200-1-1-5-0,25-1-1 6630056,97 6685181,22 6686664,55 26344,99

LD200-2-1-5-0,10-1-1 7657541,37 7700693,33 7699453,98 21096,86LD200-2-1-5-0,25-1-1 7661699,16 7710332,53 7708749,72 20577,43LD200-2-1-5-0,25-1-3 7666956,38 7728634,35 7726330,14 32697,21LD200-2-1-5-0,50-1-1 7668286,61 7703476,16 7701447,81 15855,81

LD200-3-1-5-0,50-1-2 8786136,61 8845063,39 8844984,28 26176,44LD200-3-1-5-0,10-1-2 8794417,96 8829885,84 8826928,12 23738,82LD200-3-1-5-0,25-1-2 8798932,16 8837792,94 8836963,53 22687,90LD200-3-1-5-0,10-1-3 8799181,57 8861171,34 8861349,20 32631,96

LD200-4-1-5-0,50-1-1 7971439,81 8020927,38 8019504,08 26203,03LD200-4-1-5-0,25-1-1 7973472,00 8026795,74 8027317,45 22964,51

Continúa en la siguiente página

Page 206: Metaheurísticas en la resolución de problemas sobre triangulaciones

184 Apéndice C. Resultados experimentales

Instancia Mejor Media Mediana Desv. Estánd.

LD200-4-1-5-0,10-1-1 7978077,84 8012032,88 8012288,87 21018,88LD200-4-1-5-0,25-1-2 7994471,42 8072457,55 8071287,22 30565,61

Tabla C.2: Resultados de ACO-MWT con 50 hormigas ordenados por mejor.

InstanciaACO-MWT Conguración (1)

Mejor Media Mediana Desv. Estánd.

LD40-1 5469700,77 5483440,601 5483848,12 9132,803392LD40-2 4659552,88 4662689,561 4662871,18 3017,543096LD40-3 5480285,55 5491505,103 5490849,5 6013,536482LD40-4 5750304,74 5756465,408 5755935,65 4989,719548

LD80-1 6255890,09 6282154,06 6281023,64 16886,04053LD80-2 7614756,91 7645884,464 7645373,88 16591,91475LD80-3 5871897,8 5896622,678 5897659,78 15362,52097LD80-4 6196928,71 6224264,163 6222096,76 15982,61112

LD120-1 9326149,97 9352282,161 9346476,17 18437,29LD120-2 5986414,14 6015386,991 6010139,25 20688,47451LD120-3 8654806,37 8686502,09 8680253,06 21285,44296LD120-4 7733958,48 7776155,297 7776600,08 22292,82676

LD160-1 7529294,86 7564392,201 7567398,32 22277,29079LD160-2 7087522,19 7113218,108 7105324,93 22703,57042LD160-3 8712112,73 8762620,579 8763239,35 26851,79205LD160-4 6239034,47 6287854,403 6288320,09 25972,32425

LD200-1 6634419,73 6691990,144 6687608,58 31289,58823LD200-2 7673436,16 7732679,013 7732596,33 20940,64142LD200-3 8821005,32 8868906,872 8869886,77 24165,55303LD200-4 7948973,69 7996453,264 7992057,25 24896,39009

InstanciaACO-MWT Conguración (2)

Mejor Media Mediana Desv. Estánd.

LD40-1 5479976,79 5493531,387 5495702,72 6838,515952LD40-2 4665936,34 4674498,85 4674871,44 4899,61898LD40-3 5479657,04 5492739,689 5492067,34 5548,376103LD40-4 5761192,64 5774776,865 5776619,84 7825,054907

LD80-1 6260825,36 6283312,464 6279367,42 16817,2752LD80-2 7620768,63 7645632,212 7646077,25 14048,21634LD80-3 5848319,09 5880509,959 5882647,75 15256,22463LD80-4 6210631,4 6237987,05 6237509,33 20324,24265

Continúa en la siguiente página

Page 207: Metaheurísticas en la resolución de problemas sobre triangulaciones

C.1. Resultados de ACO-MWT 185

LD120-1 9317983,04 9344595,77 9340773,72 17606,33761LD120-2 5970058,09 5991606,695 5990402,04 14153,15402LD120-3 8631166,58 8662838,211 8663783,49 15824,30795LD120-4 7721169,2 7749717,772 7751004,68 11928,14151

LD160-1 7468371,49 7501428,784 7499500,02 15064,80941LD160-2 7053725,22 7077049,811 7076386,14 16902,96568LD160-3 8685981,69 8716273,714 8717361,81 20133,20459LD160-4 6197378,46 6231930,607 6230485,87 17061,03684

LD200-1 6587367,26 6639619,977 6640782,84 20795,85791LD200-2 7648955,83 7681473,41 7681762,94 18029,64949LD200-3 8766699,32 8802112,594 8799491,48 20477,58963LD200-4 7930121,62 7959698,417 7959447,01 15253,33014

InstanciaACO-MWT Conguración (3)

Mejor Media Mediana Desv. Estánd.

LD40-1 5485973,74 5503416,121 5499761,86 10526,94744LD40-2 4665936,34 4671623,519 4671315 3344,665782LD40-3 5490220,99 5494835,256 5493429,34 3316,275088LD40-4 5763145,49 5774660,264 5774352,15 6248,270474

LD80-1 6276559,06 6299323,867 6296846,16 14581,51616LD80-2 7620473,12 7662473,985 7662444,53 22076,34674LD80-3 5878402,22 5897773,359 5892598,52 16029,77171LD80-4 6210449,35 6245840,063 6239859,9 25086,74567

LD120-1 9330073,26 9357855,085 9359313,8 13786,41296LD120-2 5975183,73 6016799,554 6016440,41 18224,13625LD120-3 8666422,85 8692736,656 8689854,15 16206,13001LD120-4 7744879,49 7775989,854 7774193,63 13634,61527

LD160-1 7511987,49 7533031,147 7528753,34 14766,82491LD160-2 7060867,16 7096888,122 7092920,73 21897,05975LD160-3 8718791,24 8755840,608 8756326,2 19358,48613LD160-4 6238451,17 6266405,752 6267232,74 18927,44068

LD200-1 6653987,88 6681541,488 6674954,21 16899,3897LD200-2 7662193,69 7708903,075 7704284,28 27591,35843LD200-3 8807978,14 8845192,466 8835686,65 23636,75993LD200-4 7963220,37 7999845,631 7996401,06 20121,54101

InstanciaACO-MWT Conguración (4)

Mejor Media Mediana Desv. Estánd.

LD40-1 5484136,53 5500059,714 5497872,82 13133,96157LD40-2 4664045,62 4672171,299 4672078,91 3989,639073LD40-3 5482865,38 5495281,835 5494985,21 5348,97755

Continúa en la siguiente página

Page 208: Metaheurísticas en la resolución de problemas sobre triangulaciones

186 Apéndice C. Resultados experimentales

LD40-4 5756357,77 5775286,291 5774598,44 8925,000313

LD80-1 6261814,36 6284869,999 6283408,26 14890,1393LD80-2 7624509,35 7646923,25 7648801,24 11647,7833LD80-3 5851635,24 5883000,33 5884709,46 16418,06842LD80-4 6210251,54 6241100,077 6241851,89 13722,89604

LD120-1 9302207,16 9335978,339 9333218,67 17428,51319LD120-2 5956078,56 5995031,678 5995514,45 22900,94987LD120-3 8637750,8 8666353,348 8664781,03 17941,73909LD120-4 7727628,83 7760543,136 7761423,87 16544,23998

LD160-1 7475621,95 7509759,848 7507833,75 15179,32492LD160-2 7051420,61 7073474,432 7077634,3 15258,63589LD160-3 8701652,12 8730393,738 8727781,8 17396,46561LD160-4 6204825,27 6230810,932 6229864,9 14668,07417

LD200-1 6615516,84 6650722,962 6650138,91 18660,93057LD200-2 7654893,34 7680652,168 7676251,6 20672,63599LD200-3 8763528,85 8805838,177 8805424,11 20609,5135LD200-4 7937561,9 7963342,667 7960086,15 15707,4556

Tabla C.3: Resultados de ACO-MWT con las mejores conguraciones obte-nidas por irace.

InstanciaACO-MWT Conguración (2)

Mejor Media Mediana Desv. Estánd.

LD40-1 5479976,79 5493531,39 5495702,72 6838,515952LD40-2 4665936,34 4674498,85 4674871,44 4899,61898LD40-3 5479657,04 5492739,69 5492067,34 5548,376103LD40-4 5761192,64 5774776,87 5776619,84 7825,054907

LD80-1 6260825,36 6283312,46 6279367,42 16817,2752LD80-2 7620768,63 7645632,21 7646077,25 14048,21634LD80-3 5848319,09 5880509,96 5882647,75 15256,22463LD80-4 6210631,4 6237987,05 6237509,33 20324,24265

LD120-1 9317983,04 9344595,77 9340773,72 17606,33761LD120-2 5970058,09 5991606,7 5990402,04 14153,15402LD120-3 8631166,58 8662838,21 8663783,49 15824,30795LD120-4 7721169,2 7749717,77 7751004,68 11928,14151

LD160-1 7468371,49 7501428,78 7499500,02 15064,80941Continúa en la siguiente página

Page 209: Metaheurísticas en la resolución de problemas sobre triangulaciones

C.1. Resultados de ACO-MWT 187

LD160-2 7053725,22 7077049,81 7076386,14 16902,96568LD160-3 8685981,69 8716273,71 8717361,81 20133,20459LD160-4 6197378,46 6231930,61 6230485,87 17061,03684

LD200-1 6587367,26 6639619,98 6640782,84 20795,85791LD200-2 7648955,83 7681473,41 7681762,94 18029,64949LD200-3 8766699,32 8802112,59 8799491,48 20477,58963LD200-4 7930121,62 7959698,42 7959447,01 15253,33014

InstanciaACO-MWT Conguración (4)

Mejor Media Mediana Desv. Estánd.

LD40-1 5484136,53 5500059,71 5497872,82 13133,96157LD40-2 4664045,62 4672171,3 4672078,91 3989,639073LD40-3 5482865,38 5495281,83 5494985,21 5348,97755LD40-4 5756357,77 5775286,29 5774598,44 8925,000313

LD80-1 6261814,36 6284870 6283408,26 14890,1393LD80-2 7624509,35 7646923,25 7648801,24 11647,7833LD80-3 5851635,24 5883000,33 5884709,46 16418,06842LD80-4 6210251,54 6241100,08 6241851,89 13722,89604

LD120-1 9302207,16 9335978,34 9333218,67 17428,51319LD120-2 5956078,56 5995031,68 5995514,45 22900,94987LD120-3 8637750,8 8666353,35 8664781,03 17941,73909LD120-4 7727628,83 7760543,14 7761423,87 16544,23998

LD160-1 7475621,95 7509759,85 7507833,75 15179,32492LD160-2 7051420,61 7073474,43 7077634,3 15258,63589LD160-3 8701652,12 8730393,74 8727781,8 17396,46561LD160-4 6204825,27 6230810,93 6229864,9 14668,07417

LD200-1 6615516,84 6650722,96 6650138,91 18660,93057LD200-2 7654893,34 7680652,17 7676251,6 20672,63599LD200-3 8763528,85 8805838,18 8805424,11 20609,5135LD200-4 7937561,9 7963342,67 7960086,15 15707,4556

InstanciaSA-MWT (SPOT)

Mejor Media Mediana Desv. Estánd.

LD40-1 5463745,75 5463745,75 5463745,75 1,90E-09LD40-2 4659552,88 4659552,88 4659552,88 1,90E-09LD40-3 5478923,55 5480053,03 5478923,55 3174,390638LD40-4 5746236,6 5747739,01 5746236,6 2462,022204

LD80-1 6219140,03 6230038,08 6231682,05 6800,834889LD80-2 7572419,19 7584212,07 7581868,37 7092,594205LD80-3 5822786,2 5842052,91 5841975,94 10135,82257LD80-4 6143082,56 6152889 6147234,28 10088,21639

Continúa en la siguiente página

Page 210: Metaheurísticas en la resolución de problemas sobre triangulaciones

188 Apéndice C. Resultados experimentales

LD120-1 9234128,69 9245678,86 9242260,41 11730,91398LD120-2 5880289,22 5893179,34 5892024,9 8525,478036LD120-3 8557506,07 8572811,61 8571901,65 10446,79408LD120-4 7670780,69 7691002,88 7688248,49 13073,64905

LD160-1 7408817,33 7434587,97 7437654,65 15528,62921LD160-2 6944992,55 6962750,81 6961033,26 13102,75171LD160-3 8616565,23 8636915,32 8636054,62 13914,30385LD160-4 6091117,29 6109667,86 6111569,56 13603,64491

LD200-1 6477949,36 6539581,67 6547371,71 26400,11171LD200-2 7523240,13 7543659,05 7537336,27 19471,69291LD200-3 8639029,87 8666382,79 8667339,08 17654,06843LD200-4 7814032,42 7836207,03 7833170,67 11700,93411

Tabla C.4: Resultados de ACO-MWT Cong. (2) y ACO-MWT Cong. (4)comparado con SA-MWT (SPOT) con igual cantidad de evaluaciones.

C.2. Resultados de SA-MWT

InstanciaSA-MWT Conguración (1)

Mejor Media Mediana Desv. Estánd.

LD40-1 5463745,75 5463745,75 5463745,75 1,90E-09LD40-2 4659552,878 4659552,878 4659552,878 1,90E-09LD40-3 5478923,548 5478923,548 5478923,548 1,90E-09LD40-4 5745772,569 5745958,182 5745772,569 232,0165

LD80-1 6209297,254 6226297,124 6226675,558 6891,215728LD80-2 7572205,482 7584765,407 7581868,371 7402,824837LD80-3 5825440,647 5840850,966 5842013,896 7975,716839LD80-4 6143082,559 6150646,273 6147234,276 7990,447906

LD120-1 9234128,693 9248020,7 9245952,851 9426,883105LD120-2 5878367,264 5893497,85 5893049,751 8388,109642LD120-3 8558389,813 8577835,932 8580310,49 12761,26935LD120-4 7672213,221 7691673,55 7688258,664 12810,17592

LD160-1 7417351,303 7435163,552 7434261,879 12801,20272LD160-2 6947533,032 6965923,931 6961230,276 14272,00873LD160-3 8619193,594 8637735,063 8636776,689 11260,98419LD160-4 6096756,702 6117736,842 6115569,083 11930,45801

Continúa en la siguiente página

Page 211: Metaheurísticas en la resolución de problemas sobre triangulaciones

C.2. Resultados de SA-MWT 189

LD200-1 6474678,049 6519650,81 6510424,723 28244,38788LD200-2 7518520,882 7540309,155 7542263,049 12923,39095LD200-3 8643749,547 8672823,47 8673570,078 18204,25731LD200-4 7803428,574 7831944,606 7834681,04 15284,81846

InstanciaSA-MWT Conguración (2)

Mejor Media Mediana Desv. Estánd.

LD40-1 5463745,75 5471032,623 5477181,062 6694,455632LD40-2 4659552,878 4659552,878 4659552,878 1,90E-09LD40-3 5478923,548 5483994,247 5478923,548 5386,581002LD40-4 5746236,602 5750910,886 5751867,516 2087,624477

LD80-1 6215943,298 6228697,997 6231682,05 6687,320085LD80-2 7572419,191 7586352,386 7581868,371 11729,64224LD80-3 5831732,893 5847182,569 5845506,438 9882,267302LD80-4 6143082,559 6150062,168 6147234,276 8039,3141

LD120-1 9234128,693 9249970,937 9244647,306 16771,76605LD120-2 5883764,185 5892604,018 5889079,764 8494,275713LD120-3 8557506,074 8574821,169 8575141,203 11902,69286LD120-4 7677311,322 7691175,131 7689536,6 11572,23396

LD160-1 7420753,782 7434616,712 7431799,897 11311,90981LD160-2 6945747,813 6968934,117 6967749,084 15794,96716LD160-3 8603416,546 8638115,669 8634745,396 20288,193LD160-4 6089200,994 6111157,361 6110201,349 11671,43869

LD200-1 6475383,398 6541535,46 6544560,419 22470,65651LD200-2 7515346,719 7542614,416 7541277,827 17557,6232LD200-3 8647719,551 8663387,72 8665587,947 11311,27589LD200-4 7798948,085 7835739,648 7835129,345 20149,34234

InstanciaSA-MWT Conguración (3)

Mejor Media Mediana Desv. Estánd.

LD40-1 5463745,75 5463745,75 5463745,75 1,90E-09LD40-2 4659552,878 4659552,878 4659552,878 1,90E-09LD40-3 5478923,548 5478923,548 5478923,548 1,90E-09LD40-4 5745772,569 5745772,569 5745772,569 2,85E-09

LD80-1 6209297,254 6217941,711 6220029,514 4520,09718LD80-2 7572205,482 7575517,679 7572419,191 4203,129217LD80-3 5816939,95 5829125,439 5831732,893 5602,010973LD80-4 6143082,559 6146189,033 6147234,276 1891,112546

LD120-1 9234128,693 9238776,846 9237248,061 5957,757965LD120-2 5877686,5 5885285,308 5885543,384 2947,633214LD120-3 8557506,074 8559541,169 8557506,074 2881,907349

Continúa en la siguiente página

Page 212: Metaheurísticas en la resolución de problemas sobre triangulaciones

190 Apéndice C. Resultados experimentales

LD120-4 7663705,999 7680463,582 7682404,457 6680,618685

LD160-1 7402735,477 7419384,688 7418259,852 8247,371845LD160-2 6942685,87 6951312,976 6950589,834 6903,744476LD160-3 8597936,83 8621542,13 8622174,046 9628,475777LD160-4 6089906,501 6097964,471 6096268,358 6746,080399

LD200-1 6470449,73 6493744,781 6487492,449 21752,22626LD200-2 7507696,048 7520167,974 7519432,002 8316,03647LD200-3 8635223,612 8646050,534 8642713,207 9097,980803LD200-4 7798133,256 7811781,092 7809422,316 7973,433978

Tabla C.5: Resultados de SA-MWT con las mejores conguraciones obteni-das por irace.

C.3. MWT: Triangulaciones obtenidas por los al-goritmos

DT GT ACO-MWT

Cong. (2)

LD40-1

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD40-2

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD40-3

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

Continúa en la siguiente página

Page 213: Metaheurísticas en la resolución de problemas sobre triangulaciones

C.3. MWT: Triangulaciones obtenidas por los algoritmos 191

DT GT ACO-MWT

Cong. (2)

LD40-4

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD80-1

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD80-2

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD80-3

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD80-4

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD120-1

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

Continúa en la siguiente página

Page 214: Metaheurísticas en la resolución de problemas sobre triangulaciones

192 Apéndice C. Resultados experimentales

DT GT ACO-MWT

Cong. (2)

LD120-2

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD120-3

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD120-4

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD160-1

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD160-2

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD160-3

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

Continúa en la siguiente página

Page 215: Metaheurísticas en la resolución de problemas sobre triangulaciones

C.3. MWT: Triangulaciones obtenidas por los algoritmos 193

DT GT ACO-MWT

Cong. (2)

LD160-4

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD200-1

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD200-2

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD200-3

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD200-4

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

Tabla C.6: Grácas de las mejores triangulaciones obtenidas con los algorit-mos DT, GT y ACO-MWT Cong. (2) para instancias de problema consi-deradas.

ACO-MWT SA-MWT LMT+PD

Cong. (4) Cong. (3)

Continúa en la siguiente página

Page 216: Metaheurísticas en la resolución de problemas sobre triangulaciones

194 Apéndice C. Resultados experimentales

ACO-MWT SA-MWT LMT+PD

Cong. (4) Cong. (3)

LD40-1

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD40-2

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD40-3

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD40-4

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD80-1

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD80-2

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

Continúa en la siguiente página

Page 217: Metaheurísticas en la resolución de problemas sobre triangulaciones

C.3. MWT: Triangulaciones obtenidas por los algoritmos 195

ACO-MWT SA-MWT LMT+PD

Cong. (4) Cong. (3)

LD80-3

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD80-4

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD120-1

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD120-2

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD120-3

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD120-4

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

Continúa en la siguiente página

Page 218: Metaheurísticas en la resolución de problemas sobre triangulaciones

196 Apéndice C. Resultados experimentales

ACO-MWT SA-MWT LMT+PD

Cong. (4) Cong. (3)

LD160-1

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD160-2

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD160-3

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD160-4

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD200-1

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD200-2

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

Continúa en la siguiente página

Page 219: Metaheurísticas en la resolución de problemas sobre triangulaciones

C.3. MWT: Triangulaciones obtenidas por los algoritmos 197

ACO-MWT SA-MWT LMT+PD

Cong. (4) Cong. (3)

LD200-3

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD200-4

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

Tabla C.7: Grácas de las mejores triangulaciones obtenidas con los algo-ritmos ACO-MWT Cong. (4) y SA-MWT Cong. (3) para instancias deproblema consideradas y las triangulaciones de peso mínimo obtenidas conLMT+PD para dichas instancias.

DT GT SA-MWT LMT-esqueletoCong. (3) (no conexo)

DC-40

0 100 200 300 400 500 600 700 800200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800200

300

400

500

600

700

800

900

1000

DC-80

100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

Continúa en la siguiente página

Page 220: Metaheurísticas en la resolución de problemas sobre triangulaciones

198 Apéndice C. Resultados experimentales

DT GT SA-MWT LMT-esqueletoCong. (3) (no conexo)

DC-120

0 200 400 600 800 1000 12000

200

400

600

800

1000

1200

0 200 400 600 800 1000 12000

200

400

600

800

1000

1200

0 200 400 600 800 1000 12000

200

400

600

800

1000

1200

0 200 400 600 800 1000 12000

200

400

600

800

1000

1200

DC-160

0 200 400 600 800 1000 12000

200

400

600

800

1000

1200

0 200 400 600 800 1000 12000

200

400

600

800

1000

1200

0 200 400 600 800 1000 12000

200

400

600

800

1000

1200

0 200 400 600 800 1000 12000

200

400

600

800

1000

1200

DC-200

0 200 400 600 800 1000 1200 14000

200

400

600

800

1000

1200

1400

0 200 400 600 800 1000 1200 14000

200

400

600

800

1000

1200

1400

0 200 400 600 800 1000 1200 14000

200

400

600

800

1000

1200

1400

0 200 400 600 800 1000 1200 14000

200

400

600

800

1000

1200

1400

IC-40

0 100 200 300 400 500 600 700 8000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 8000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 8000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 8000

100

200

300

400

500

600

700

800

900

1000

IC-80

0 200 400 600 800 1000 12000

200

400

600

800

1000

1200

1400

0 200 400 600 800 1000 12000

200

400

600

800

1000

1200

1400

0 200 400 600 800 1000 12000

200

400

600

800

1000

1200

1400

0 200 400 600 800 1000 12000

200

400

600

800

1000

1200

1400

Continúa en la siguiente página

Page 221: Metaheurísticas en la resolución de problemas sobre triangulaciones

C.4. MDT: Triangulaciones obtenidas por los algoritmos 199

DT GT SA-MWT LMT-esqueletoCong. (3) (no conexo)

IC-120

0 200 400 600 800 1000 1200 14000

200

400

600

800

1000

1200

1400

0 200 400 600 800 1000 1200 14000

200

400

600

800

1000

1200

1400

0 200 400 600 800 1000 1200 14000

200

400

600

800

1000

1200

1400

0 200 400 600 800 1000 1200 14000

200

400

600

800

1000

1200

1400

IC-160

0 200 400 600 800 1000 1200 14000

500

1000

1500

0 200 400 600 800 1000 1200 14000

500

1000

1500

0 200 400 600 800 1000 1200 14000

500

1000

1500

0 200 400 600 800 1000 1200 14000

500

1000

1500

IC-200

0 200 400 600 800 1000 1200 1400 1600 18000

200

400

600

800

1000

1200

1400

1600

1800

0 200 400 600 800 1000 1200 1400 1600 18000

200

400

600

800

1000

1200

1400

1600

1800

0 200 400 600 800 1000 1200 1400 1600 18000

200

400

600

800

1000

1200

1400

1600

1800

0 200 400 600 800 1000 1200 1400 1600 18000

200

400

600

800

1000

1200

1400

1600

1800

Tabla C.8: Grácas de las mejores triangulaciones obtenidas con los algorit-mos DT, GT, SA-MWT Cong. (3) para instancias de problema particularesy los LMT-esqueletos no conexo para dichas instancias.

C.4. MDT: Triangulaciones obtenidas por los algo-ritmos

DT OV-MDT G-MDT LS-MDT

LD40-1

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

Continúa en la siguiente página

Page 222: Metaheurísticas en la resolución de problemas sobre triangulaciones

200 Apéndice C. Resultados experimentales

DT OV-MDT G-MDT LS-MDT

LD40-2

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD40-3

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD40-4

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD80-1

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD80-2

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD80-3

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

Continúa en la siguiente página

Page 223: Metaheurísticas en la resolución de problemas sobre triangulaciones

C.4. MDT: Triangulaciones obtenidas por los algoritmos 201

DT OV-MDT G-MDT LS-MDT

LD80-4

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD120-1

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD120-2

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD120-3

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD120-4

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD160-1

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

Continúa en la siguiente página

Page 224: Metaheurísticas en la resolución de problemas sobre triangulaciones

202 Apéndice C. Resultados experimentales

DT OV-MDT G-MDT LS-MDT

LD160-2

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD160-3

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD160-4

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD200-1

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD200-2

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD200-3

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

Continúa en la siguiente página

Page 225: Metaheurísticas en la resolución de problemas sobre triangulaciones

C.4. MDT: Triangulaciones obtenidas por los algoritmos 203

DT OV-MDT G-MDT LS-MDT

LD200-4

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

Tabla C.9: Mejores triangulaciones obtenidas con los algoritmos DT, OV-MDT, G-MDT y LS-MDT para las instancias de problema consideradas.Notar que para la instancia LD160-2 no se muestra la triangulación ya queel applet no retornó un resultado.

ILS-MDT SA-MDT+LS RLS-MDT RLS-MDT

(RA) (RG)

LD40-1

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD40-2

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD40-3

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD40-4

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

Continúa en la siguiente página

Page 226: Metaheurísticas en la resolución de problemas sobre triangulaciones

204 Apéndice C. Resultados experimentales

ILS-MDT SA-MDT+LS RLS-MDT RLS-MDT

(RA) (RG)

LD80-1

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD80-2

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD80-3

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD80-4

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD120-1

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD120-2

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

Continúa en la siguiente página

Page 227: Metaheurísticas en la resolución de problemas sobre triangulaciones

C.4. MDT: Triangulaciones obtenidas por los algoritmos 205

ILS-MDT SA-MDT+LS RLS-MDT RLS-MDT

(RA) (RG)

LD120-3

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD120-4

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD160-1

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD160-2

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD160-3

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD160-4

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

Continúa en la siguiente página

Page 228: Metaheurísticas en la resolución de problemas sobre triangulaciones

206 Apéndice C. Resultados experimentales

ILS-MDT SA-MDT+LS RLS-MDT RLS-MDT

(RA) (RG)

LD200-1

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD200-2

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD200-3

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

LD200-4

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

700

800

900

1000

Tabla C.10: Mejores triangulaciones obtenidas con los algoritmos ILS-MDT,SA-MDT+LS y RLS-MDT (RA) para las instancias de problema considera-das.

Page 229: Metaheurísticas en la resolución de problemas sobre triangulaciones

Referencias

[1] CGAL, Computational Geometry Algorithms Library.http://www.cgal.org.

[2] The irace package. http://cran.r-project.org/web/packages/irace/index.html.

[3] E. Aarts and J. Lenstra. Local Search in Combinatorial Optimization.John Wiley & Sons, Inc., 1997.

[4] O. Aichholzer, F. Aurenhammer, and R. Hainz. New results on MWTsubgraphs. Inf. Process. Lett., 69:215219, 1999.

[5] E. Alba. Parallel Metaheuristics: A New Class of Algorithms. JohnWiley & Sons, 2005.

[6] E. Anagnostou and D. Corneil. Polynomial-time instances of the Mi-nimum Weight Triangulation problem. Comput. Geom., 3:247259,1993.

[7] H. Andrews. Introduction to Mathematical Techniques in Pattern Re-cognition. John Wiley & Sons Canada, Limited, 1972.

[8] F. Aurenhammer. Voronoi diagrams - a survey of a fundamental geo-metric data structure. ACM Comput. Surv., 23(3):345405, 1991.

[9] T. Bäck, D. Fogel, and Z. Michalewicz. Handbook of evolutionarycomputation. Oxford Univ. Press, 1997.

[10] P. Balaprakash, M. Birattari, and T. Stützle. Improvement strategiesfor the F-Race algorithm: sampling design and iterative renement. InProceedings of the 4th international conference on Hybrid metaheuris-tics, HM'07, pages 108122. Springer-Verlag, 2007.

[11] M. Bartanus, A. Ferko, R. Mag, L. Niepel, T. Plachetka, and E. Siku-dova. New heuristics for Minimum Weight Triangulation. In WinterSchool of Computer Graphics 1996, 1996.

[12] T. Bartz-Beielstein. SPOT: Sequential Parame-ter Optimization Toolbox. http://www.gm.fh-koeln.de/campus/personen/lehrende/thomas.bartz-beielstein/00489/.

207

Page 230: Metaheurísticas en la resolución de problemas sobre triangulaciones

208 Referencias

[13] T. Bartz-Beielstein. Experimental Research in Evolutionary Compu-tation: The New Experimentalism (Natural Computing Series).Springer-Verlag New York, Inc., 2006.

[14] T. Bartz-Beielstein. Sequential Parameter Optimizationan anno-tated bibliography. CIOP Technical Report 04/10, Research CenterCIOP (Computational Intelligence, Optimization and Data Mining),2010.

[15] T. Bartz-Beielstein. SPOT: An R package for automatic and in-teractive tuning of optimization algorithms by Sequential ParameterOptimization. CoRR, 2010.

[16] R. Beirouti and J. Snoeyink. Implementations of the LMT heuristicfor Minimum Weight Triangulation. In Proceedings of the fourteenthannual symposium on Computational geometry, SCG '98, pages 96105. ACM, 1998.

[17] M. Bern, H. Edelsbrunner, D. Eppstein, S. Mitchell, and T. Tan. Edgeinsertion for optimal triangulations. Discrete & Computational Geo-metry, 10:4765, 1993.

[18] M. Bern and D. Eppstein. Mesh generation and optimal triangulation.In Ding-Zhu Du and Frank Kwang-Ming Hwang, editors, Computing inEuclidean Geometry, number 1 in Lecture Notes Series on Computing,pages 2390. World Scientic, 1992.

[19] C. Blum and M. Dorigo. The hyper-cube framework for Ant ColonyOptimization. Trans. Sys. Man Cyber. Part B, 34(2):11611172, 2004.

[20] C. Blum and A. Roli. Metaheuristics in combinatorial optimization:Overview and conceptual comparison. ACM Comput. Surv., 35(3):268308, 2003.

[21] C. Blum and A. Roli. Hybrid Metaheuristics: An introduction. InHybrid Metaheuristics, pages 130. 2008.

[22] G. Bobáková, A. Ferko, and L. Niepel. On Minimum Weight Trian-gulation. In Proceedings of the 10th International Conference SpringSchool of Computer Graphics, pages 226232, 1994.

[23] J. Boissonnat and M. Yvinec. Algorithmic Geometry. Cambridge Uni-versity Press, 1998.

[24] N. Bonichon, C. Gavoille, N. Hanusse, and L. Perkovic. The stretchfactor of l1- and linf -Delaunay triangulations. CoRR, abs/1202.5127,2012.

Page 231: Metaheurísticas en la resolución de problemas sobre triangulaciones

Referencias 209

[25] M. Borgelt, C. Borgelt, and C. Levcopoulos. Fixed parameter algo-rithms for the Minimum Weight Triangulation problem. Int. J. Com-put. Geometry Appl., 18(3):185220, 2008.

[26] P. Bose, L. Devroye, and W. Evans. Diamonds are not a MinimumWeight Triangulation's best friend. Int. J. Comput. Geometry Appl.,12(6):445454, 2002.

[27] G. Brassard and P. Bratley. Fundamentals of algorithmics. Prentice-Hall, Inc., 1996.

[28] K. Capp and B. Julstrom. A weight-coded genetic algorithm for theMinimum Weight Triangulation problem. In SAC, pages 327331,1998.

[29] V. Cerný. Thermodynamical approach to the traveling salesman pro-blem: An ecient simulation algorithm. Journal of OptimizationTheory and Applications, 1985.

[30] S. Cheng, M. Golin, and J. Tsang. Expected case analysis of β-skeletonswith applications to the construction of Minimum Weight Triangula-tion. In Proc. 7th Canadian Conference on Computational Geometry,pages 279284.

[31] S. Cheng, N. Katoh, and M. Sugai. A study of the LMT-skeleton. InT. Asano, Y. Igarashi, H. Nagamochi, S. Miyano, and S. Suri, editors,ISAAC, volume 1178 of Lecture Notes in Computer Science, pages 256265. Springer, 1996.

[32] S. Cheng and Y. Xu. Approaching the largest β-skeleton within a mi-nimum weight triangulation. In Proceedings of the twelfth annual sym-posium on Computational geometry, SCG '96, pages 196203. ACM,1996.

[33] O. Cheong, H. Haverkort, and M. Lee. Computing a minimum-dilationspanning tree is NP-hard. In Proceedings of the thirteenth Australasiansymposium on Theory of computing, volume 65 of CATS '07, pages 1524, 2007.

[34] P. Chew. There is a planar graph almost as good as the completegraph. In Proceedings of the second annual symposium on Compu-tational geometry. ACM, SCG '86, pages 169177, 1986.

[35] P. Cignoni, C. Montani, and R. Scopigno. A merge-rst divide &conquer algorithm for Ed Delaunay triangulations. In Internal Rep.C92/16, CNUCE/CNR, 1992.

Page 232: Metaheurísticas en la resolución de problemas sobre triangulaciones

210 Referencias

[36] W. Conover. Practical nonparametric statistics. Wiley series in proba-bility and statistics. Wiley, 3. ed edition, 1999.

[37] G. Dantzig, A. Homan, and T. Hu. Triangulations (tilings) and cer-tain block triangular matrices. Mathematical Programming, 31(1):114,1985.

[38] G. Das and D. Joseph. Which triangulations approximate the completegraph? In Hristo Djidjev, editor, Optimal Algorithms, volume 401 ofLecture Notes in Computer Science, pages 168192. Springer, 1989.

[39] M. de Berg, M. van Kreveld, M. Overmars, and O. Schwarzkopf.Computational Geometry: Algorithms and Applications. Springer-Verlag, second edition, 2000.

[40] S. Devadoss and J. O'Rourke. Discrete and Computational Geometry.Princeton University Press, 2011.

[41] M. Dickerson, J. Keil, and M. Montague. A large subgraph of theMinimumWeight Triangulation. Discrete & Computational Geometry,18(3):289304, 1997.

[42] M. Dickerson, S. A. McElfresh, and M. Montague. New algorithms andempirical ndings on Minimum Weight Triangulation heuristics (Ex-tended Abstract). In Symposium on Computational Geometry, pages238247, 1995.

[43] M. Dickerson and M. Montague. A (Usually?) connected subgraph ofthe Minimum Weight Triangulation. In Symposium on ComputationalGeometry, pages 204213, 1996.

[44] D. Dobkin, S. Friedman, and K. Supowit. Delaunay graphs are almostas good as complete graphs. Discrete Comput. Geom., 5(4):399407,1990.

[45] M. Dorigo. Optimization, Learning and Natural Algorithms. PhDthesis, Politecnico di Milano, 1992.

[46] M. Dorigo and G. Di Caro. New ideas in optimization. chapter TheAnt Colony Optimization meta-heuristic, pages 1132. McGraw-HillLtd., UK, 1999.

[47] M. Dorigo, V. Maniezzo, and A. Colorni. The Ant System: Optimiza-tion by a colony of cooperating agents. IEEE Transactions on systems,Man, and Cybernetics-part, 26(1):2941, 1996.

[48] M. Dorigo and T. Stützle. Ant Colony Optimization. MIT Press, 2004.

Page 233: Metaheurísticas en la resolución de problemas sobre triangulaciones

Referencias 211

[49] R. Drysdale, G. Rote, and O. Aichholzer. A simple linear time greedytriangulation algorithm for uniformly distributed points. In ReportIIG-408, Institutes for Information Processing, Technische Universitat Graz, 1995.

[50] R. Düppe and H. Gottschalk. Automatische interpolation von isolinienbei willkürlichen stützpunkten. Allgemeine Vermessungsnachrichten,77:423426, 1970.

[51] H. Edelsbrunner. Algorithms in Combinatorial Geometry. Springer-Verlag New York, Inc., 1987.

[52] H. Edelsbrunner and T. Tan. A quadratic time algorithm for the min-max length triangulation (extended abstract). In FOCS, pages 414423. IEEE Computer Society, 1991.

[53] H. Edelsbrunner, T. Tan, and R. Waupotitsch. An O(n2log n) ti-me algorithm for the MinMax angle triangulation. In Symposium onComputational Geometry, pages 4452, 1990.

[54] D. Eppstein. The farthest point Delaunay triangulation minimizesangles. Computational Geometry Theory & Applications, 1(3):143148,1992.

[55] D. Eppstein. Spanning trees and spanners. In Sack J. and Urrutia J.,editors, Handbook of Computational Geometry, chapter 9, pages 425461. Elsevier, 2000.

[56] D. Eppstein and K. Wortman. Minimum dilation stars. In Proc. 21stSymp. Computational Geometry, pages 321326. ACM, 2005.

[57] Euclides. Elementos. Libro VII. 1637.

[58] E. Eyal and D. Halperin. Improved maintenance of molecular surfacesusing dynamic graph connectivity. In Proc. 5th Workshop on Algo-rithms in Bioinformatics - WABI 2005, volume 3692 of LNCS, 2005.

[59] T. Feo and M. Resende. Greedy Randomized Adaptive Search Proce-dures. Journal of Global Optimization, 6:109133, 1995.

[60] L. Fogel, A. Owens, and M. Walsh. Articial intelligence through si-mulated evolution. Wiley, 1966.

[61] S. Fortune. Voronoi diagrams and Delaunay triangulations, pages 193233. 1992.

[62] S. García, A. Fernández, J. Luengo, and F. Herrera. A study of statis-tical techniques and performance measures for genetics-based machine

Page 234: Metaheurísticas en la resolución de problemas sobre triangulaciones

212 Referencias

learning: accuracy and interpretability. Soft Comput., 13(10):959977,2009.

[63] S. García, D. Molina, M. Lozano, and F. Herrera. A study onthe use of non-parametric tests for analyzing the evolutionary algo-rithms'behaviour: a case study on the CEC'2005 Special Session onReal Parameter Optimization. Journal of Heuristics, 15(6):617644,2009.

[64] M. Garey and D. Johnson. Computers and Intractability: A Guide tothe Theory of NP-Completeness. W. H. Freeman, 1979.

[65] H. Gauch. Scientic Method in Practice. Cambridge University Press,2003.

[66] P. Giannopoulos, C. Knauer, and D. Marx. Minimum-dilation tour(and path) is NP-hard. In In EWCG '07: Proceedings of the 23rdEuropean Workshop on Computational Geometry, pages 1821, 2007.

[67] P. Gilbert. New results in planar triangulations. Technical ReportR850, Univ. Illinois Coordinated Science Lab., 1979.

[68] F. Glover. Future paths for integer programming and links to articialintelligence. Comput. Oper. Res., 13(5):533549, 1986.

[69] R. Graham. An ecient algorithm for determining the convex hull ofa nite planar set. Inf. Process. Lett., 1:132133, 1972.

[70] L. Guibas and R. Seidel. Computing convolutions by reciprocal search.Discrete & Computational Geometry, 2:175193, 1987.

[71] R. Hainz, O. Aichholzer, and F. Aurenhammer. New results onMinimum-Weight Triangulations and the LMT skeleton. In Proc. 13th

European Workshop on Computational Geometry CG '97, pages 46,1997.

[72] L. Heath and S. Pemmaraju. New results for the Minimum WeightTriangulation problem. Algorithmica, 12:533552, 1994.

[73] J. Higgins. Introduction to Modern Nonparametric Statistics. DuxburyPress, 1 edition, 2003.

[74] M. Homann and Y. Okamoto. The Minimum Weight Triangula-tion problem with few inner points. Comput. Geom. Theory Appl.,34(3):149158, 2006.

[75] J. Holland. Adaptation in Natural and Articial Systems: An Intro-ductory Analysis with Applications to Biology, Control and ArticialIntelligence. MIT Press, 1992.

Page 235: Metaheurísticas en la resolución de problemas sobre triangulaciones

Referencias 213

[76] M. Hollander and D. Wolfe. Nonparametric Statistical Methods, 2ndEdition. Wiley-Interscience, 2 edition, 1999.

[77] J. Hooker. Testing heuristics: We have it all wrong. Journal of Heu-ristics, 1:3342, 1995.

[78] F. Hurtado. Geometría Computacional: una instantánea. Technicalreport, Gaceta de la Real Sociedad Matemática Española.

[79] P. Indyk. Nearest neighbors in high-dimensional spaces, 2004.

[80] A. Ingber and L. Ingber. Very Fast Simulated Re-Annealing, Mathe-matical Computer Modeling, 1989.

[81] A. Islam. Algorithms in Computational Geometry. PhD thesis, Ban-gladesh University of Engineering and Technology, 2009.

[82] M. Jahani, B. Bigham, and Abbas. Askari. An Ant Colony Algorithmfor the MinimumWeight Triangulation. 12th International Conferenceon Computational Science and Its Applications, 0:8185, 2010.

[83] J. Keil. Computing a subgraph of the MinimumWeight Triangulation.Comput. Geom. Theory Appl., 4(1):1326, 1994.

[84] J. Keil and C. Gutwin. The Delaunay triangulation closely approxi-mates the complete euclidean graph. pages 4756. Springer LNCS 382,1989.

[85] J. Kennedy and R. Eberhart. Particle Swarm Optimization. In Procee-dings of the IEEE International Conference on Neural Networks, pages19421948, 1995.

[86] J. Kennedy and R. Eberhart. Swarm Intelligence (The Morgan Kauf-mann Series in Articial Intelligence). Morgan Kaufmann, 1st edition,2001.

[87] S. Kirkpatrick, C. Gelatt, and M. Vecchi. Optimization by SimulatedAnnealing. Science, 220:671680, 1983.

[88] A. Klein. Eziente Berechnung einer dilationsminimalen Triangulie-rung. PhD thesis, 2006.

[89] A. Klein. Minimum Dilation Triangulation. Geometry Labhttp://www.geometrylab.de/, 2006.

[90] R. Klein and M. Kutz. Computing geometric minimum-dilation graphsis NP-hard. In In Proc. of Graph Drawing, pages 556567. Springer-Verlag, 2006.

Page 236: Metaheurísticas en la resolución de problemas sobre triangulaciones

214 Referencias

[91] G. Klincsek. Minimal triangulations of polygonal domains. Ann. Disc.Math., 9:121123, 1980.

[92] G. Klincsek. Minimal triangulations of polygonal domains. Ann. Disc.Math., 9:121123, 1980.

[93] C. Knauer and W. Mulzer. An exclusion region for minimum dila-tion triangulations. In EuroCG, pages 3336. Technische UniversiteitEindhoven, 2005.

[94] C. Knauer and W. Mulzer. Minimum Dilation Triangulations. Tech-nical report, Freie Universitt Berlin, Fachbereich Mathematik und In-formatik, 2005.

[95] I. Kolingerová. Genetic optimization of the triangulation weight. InProceedings of the 2nd international conference Computer Graphicsand Articial Intelligence, pages 2334, 1998.

[96] I. Kolingerová. Genetic approach to triangulations. In Proceedingsof the 4th international conference Computer graphics and articialintelligence, pages 1123, 2000.

[97] I. Kolingerová and A. Ferko. Multicriteria-optimized triangulations.The Visual Computer, 17(6):380395, 2001.

[98] D. Krznaric. Progress in Hierarchical Clustering & Minimun WeightTriangulation. 1997.

[99] Y. Kyoda. A study of generating minimum weight triangulation withinpractical time. Technical report, Master's thesis, Grad. School Info.Sci., Univ. Tokyo, 1996.

[100] C. Lawson. Software for C1 surface interpolation. In MathematicalSoftware III, pages 161194. Academic Press, 1977.

[101] D. Lee and F. Preparata. Computational Geometry a survey. IEEETRANSACTIONS ON COMPUTERS, 33(12):10721101, 1984.

[102] T. Lee, M. Leok, and N. McClamroch. Lie group variational integratorsfor the full body problem in orbital mechanics. Celestial Mechanics andDynamical Astronomy, 98(2):121144, 2007.

[103] S. Leroy, J. Laumond, and Simeon T. Multiple path coordination formobile robots: A geometric algorithm. In In Proc. of the InternationalJoint Conference on Articial Intelligence (IJCAI, pages 11181123,1999.

[104] C. Levcopoulos. An ω(√

(n)) lower bound for the nonoptimality of theGreedy Triangulation. Inf. Process. Lett., 25(4):247251, 1987.

Page 237: Metaheurísticas en la resolución de problemas sobre triangulaciones

Referencias 215

[105] C. Levcopoulos and D. Krznaric. A near-optimal heuristic for mini-mum weight triangulation of convex polygons. In Proceedings of theeighth annual ACM-SIAM symposium on Discrete algorithms, SODA'97, pages 518527. Society for Industrial and Applied Mathematics,1997.

[106] C. Levcopoulos and D. Krznaric. Quasi-Greedy Triangulations ap-proximating the Minimum Weight Triangulation. J. Algorithms,27(2):303338, 1998.

[107] C. Levcopoulos, A. Lingas, and J. Sack. Heuristics for optimum binarysearch trees and Minimum Weight Triangulation problems. Theor.Comput. Sci., 66(2):181203, 1989.

[108] P. Liepa. Filling holes in meshes. In Proceedings of the 2003 Euro-graphics/ACM SIGGRAPH symposium on Geometry processing, pages200205. Eurographics Association, 2003.

[109] A. Lingas. A Linear-time Heuristic for Minimum Weight Triangulationof Convex Polygons. LiTH-IDA-R. Linköping University, Departmentof Computer and Information Science, 1985.

[110] A. Lingas. The Greedy and Delaunay triangulations are not bad in theaverage case. Information Processing Letters, 22(1):25 31, 1986.

[111] H. Lourenço. Job-shop scheduling: Computational study of local searchand large-step optimization methods. European Journal of OperationalResearch, 83(2):347364, 1995.

[112] H. Lourenço, O. Martin, and T. Stützle. Iterated Local Search, pages321353. Kluwer Academic Publishers, 2002.

[113] M. López-Ibáñez, J. Dubois-Lacoste, T. Stützle, and M. Birattari. Theirace package, Iterated Race for Automatic Algorithm Conguration.Technical Report TR/IRIDIA/2011-004, IRIDIA, Université Libre deBruxelles, Belgium, 2011.

[114] G. Manacher and A. Zobrist. Neither the Greedy nor the DelaunayTriangulation of a planar point set approximates the optimal triangu-lation. Inf. Process. Lett., 9(1):3134, 1979.

[115] R. Mantiuk, B. Bazyluk, and R. Mantiuk. Gaze-driven Object Trackingfor Real Time Rendering. Computer Graphics Forum, 32(2):163173,2013.

[116] MATLAB. 2010.

[117] Metaheuristics Network Website: http://www.metaheuristics.net.

Page 238: Metaheurísticas en la resolución de problemas sobre triangulaciones

216 Referencias

[118] N. Metropolis, A. Rosenbluth, M. Rosenbluth, A. Teller, and E. Teller.Equation of state calculations by fast computing machines. Journal ofChemical Physics, 21:10871092, 1953.

[119] Z. Michalewicz and D. Fogel. How to Solve It: Modern Heuristics.Springer, 2004.

[120] A. Misevicius. An improved hybrid genetic algorithm: new results forthe quadratic assignment problem. Knowl.-Based Syst., 17(2-4):6573,2004.

[121] N. Mladenovi¢ and P. Hansen. Variable neighborhood search. Comput.Oper. Res., 24(11):10971100, 1997.

[122] D. Mount. Lecture Notes for CMSC754: Computational Geometry.University of Maryland, 2005.

[123] D. Muller and F. Preparata. Finding the intersection of two convexpolyhedra. Theor. Comput. Sci., 7:217236, 1978.

[124] W. Mulzer and G. Rote. Minimum Weight Triangulation is NP-hard.In In Proc. 22nd Annu. ACM Sympos. Comput. Geom, pages 110.ACM Press, 2006.

[125] G. Narasimhan and M. Smid. Approximating the stretch factor ofeuclidean graphs. SIAM J. Comput., 30(3):978989, 2000.

[126] C. O'Dunlaing, M. Sharir, and C. Yap. Retraction: A new approachto motion planning. In J .T .Schwartz, M. Sharir, and J. Hopcroft,editors, Planning, Geometry, and Complexity of Robot Motion, pages193213. Ablex, 1987.

[127] A. Okabe, B. Boots, and K. Sugihara. Spatial tessellations: conceptsand applications of Voronoi diagrams. John Wiley & Sons, Inc., 1992.

[128] J. O'Rourke. Art Gallery Theorems and Algorithms. The InternationalSeries of Monographs on Computer Science. Oxford University Press,1987.

[129] J. O'Rourke. Visibility. In J. Goodman, editor, Handbook of Discreteand Computational Geometry, chapter 25, pages 467480. CRC PressLLC, 1997.

[130] J. O'Rourke. Computational Geometry in C. Cambridge UniversityPress, 2nd edition, 1998.

[131] I. Osman and J. Kelly. Meta-heuristics: Theory and Applications. Klu-wer academic publishers, 1996.

Page 239: Metaheurísticas en la resolución de problemas sobre triangulaciones

Referencias 217

[132] M. Overmars. Computational Geometry and its Application to Com-puter Graphics. In Werner Purgathofer and Jürgen Schönhut, editors,Advances in Computer Graphics, pages 75107. Springer, 1989.

[133] C. Papadimitriou. The complexity of combinatorial optimization pro-blems. PhD thesis, Princeton, NJ, USA, 1976. AAI7704795.

[134] C. Papadimitriou and K. Steiglitz. Combinatorial optimization: algo-rithms and complexity. Prentice-Hall, Inc., 1982.

[135] D. Pham and D. Karaboga. Intelligent Optimisation Techniques: Ge-netic Algorithms, Tabu Search, Simulated Annealing and Neural Net-works. Springer-Verlag New York, Inc., 1st edition, 1998.

[136] E. Pielou. Mathematical Ecology. Wiley-Interscience publication. JohnWiley & Sons, 1977.

[137] D. Plaisted and J. Hong. A heuristic triangulation algorithm. J. Al-gorithms, 8:405437, 1987.

[138] F. Preparata and M. Shamos. Computational Geometry: an introduc-tion. Springer-Verlag New York, Inc., 1985.

[139] Computational Science Education Project. Mathematical Optimiza-tion. 1995.

[140] K. Qin, W. Wang, and M. Gong. A genetic algorithm for the MinimumWeight Triangulation. In In Proceedings of 1997 IEEE InternationalConference on Evolutionary Computation, 1997.

[141] R Development Core Team. R: A Language and Environment for Sta-tistical Computing. R Foundation for Statistical Computing, 2006.ISBN 3-900051-07-0.

[142] V. Rajan. Optimality of the Delaunay Triangulation in Rd. Discrete& Computational Geometry, 12:189202, 1994.

[143] J. Remy and A. Steger. A quasi-polynomial time approximation sche-me for minimum weight triangulation. In Proceedings of the 38th An-nual ACM Symposium on Theory of Computing. ACM, 2006.

[144] B. Schaudt and R. Drysdale. Multiplicatively weighted crystal growthvoronoi diagrams (extended abstract). In Symposium on Computatio-nal Geometry, pages 214223, 1991.

[145] S. Sen and S. Zheng. Near-optimal triangulation of a point set by Simu-lated Annealing. In SAC '92: Proceedings of the 1992 ACM/SIGAPPsymposium on Applied computing, pages 10001008. ACM, 1992.

Page 240: Metaheurísticas en la resolución de problemas sobre triangulaciones

218 Referencias

[146] A. Shamir. Constraint-based approach for automatic hinting of digitaltypefaces. ACM Trans. Graph., 22(2):131151, 2003.

[147] M. Shamos. Problems in Computational Geometry. 1975.

[148] M. Shamos and D. Hoey. Closest-point problems. In Proc. 16th IEEESymp. Foundations of Comp. Science, pages 151162, 1975.

[149] M. Sharir, A. Sheer, and E. Welzl. Counting triangulations of planarpoint sets. CoRR, abs/0911.3352, 2009.

[150] M. Sharir, A. Sheer, and E. Welzl. On degrees in random triangula-tions of point sets. J. Comb. Theory, Ser. A, 118(7):19791999, 2011.

[151] M. Sharir and E. Welzl. Random triangulations of planar point sets. InProceedings of the twenty-second annual symposium on ComputationalGeometry, SCG '06, pages 273281. ACM, 2006.

[152] H. Szu and R. Hartley. Fast Simulated Annealing. Physics Letters a.,1987.

[153] T. Tan. Optimal two-dimensional triangulations. PhD thesis, 1993.

[154] G. Taubin. A signal processing approach to fair surface design, 1995.

[155] M. van Kreveld, J. Nievergelt, T. Roos, and P. Widmayer, editors.Algorithmic Foundations of Geographic Information Systems, volume1340 of Lecture Notes in Computer Science. Springer, 1997.

[156] C. Voudouris and E. Tsang. Guided Local Search. Technical report,European Journal of Operational Research, 1995.

[157] C. Wang, F. Chin, and Y. Xu. A new subgraph of Minimum WeightTriangulations. J. Comb. Optim., 1(2):115127, 1997.

[158] D. Wolpert and W. Macready. No free lunch theorems for optimi-zation. IEEE TRANSACTIONS ON EVOLUTIONARY COMPU-TATION, 1(1):6782, 1997.

[159] Y. Wu and R. Wainwright. Near-optimal triangulation of a point setusing Genetic Algorithms. In Proceedings of the Seventh OklahomaConference on AI., 1993.

[160] G. Xia. Improved upper bound on the stretch factor of delaunaytriangulations. In Proceedings of the 27th annual ACM symposiumon Computational Geometry, SoCG '11, pages 264273. ACM, 2011.

[161] G. Xia and L. Zhang. Improved lower bound for the stretch factor ofDelaunay triangulations manuscript. poster in FWCG'10: 20th AnnualFall Workshop on Computational Geometry, 2010.

Page 241: Metaheurísticas en la resolución de problemas sobre triangulaciones

Referencias 219

[162] Y. Xu. Minimum Weight Triangulation Problem of a Planar PointSet. PhD thesis, Institute of Applied Mathematics, Academia Sinica,1992.

[163] B. Yang, Y. Xu, and Z. You. A chain decomposition algorithm for theproof of a property on Minimum Weight Triangulations. In ISAAC,pages 423427, 1994.

[164] F. Yao. Computational Geometry. In Handbook of Theoretical Compu-ter Science, Volume A: Algorithms and Complexity (A), pages 343389.1990.

[165] A. Youse and N. Young. On a linear program for minimum-weighttriangulation. CoRR, abs/1111.5305, 2011.