Table Of ContentTESIS DOCTORAL
Resolución de Problemas Combinatorios
con Aplicación Real en
Sistemas Distribuidos
Autor
Gabriel Jesús Luque Polo
Director
Enrique Alba Torres
Departamento
Lenguajes y Ciencias de la Computación
UNIVERSIDAD DE MÁLAGA
21 de Marzo de 2006
Enrique Alba Torres
D. , Titular de Universidad del Departamento de
Lenguajes y Ciencias de la Computación de la Universidad de Málaga,
Certifica
Gabriel Jesús Luque Polo
que D. , Ingeniero en Informática por la
Universidad de Málaga, ha realizado en el Departamento de Lenguajes y
Ciencias de la Computación de la Universidad de Málaga, bajo su
dirección, el trabajo de investigación correspondiente a su Tesis Doctoral
titulada
Resolución de Problemas Combinatorios con
Aplicación Real en Sistemas Distribuidos
Revisado el presente trabajo, estimo que puede ser presentado al tribunal
que ha de juzgarlo, y autorizo la presentación de esta Tesis Doctoral en la
Universidad de Málaga.
En Málaga, 21 de Marzo de 2006
Firmado: Enrique Alba Torres
Titular de Universidad
Dpto. de Lenguajes y Ciencias de la Computación
Universidad de Málaga
Agradecimientos
Duranteestosan˜ossonmuchaslaspersonaseinstitucionesquehanparticipadoenestetrabajo
y a quienes quiero expresar mi gratitud por el apoyo y la confianza que me han prestado de forma
desinteresada.
En primer lugar un sincero agradecimiento a mi director Enrique Alba, por todo el tiempo que
mehadado,porsussugerenciaseideasdelasquetantoprovechohesacado,porsupacienciaante
los problemas que surgieron en esta tesis, por su respaldo y su amistad.
Nopuedoolvidaramiscompan˜erosyamigosconloscualeshecompartidolaboratorioeincon-
tables horas de trabajo. Gracias por los buenos momentos, por aguantarme y por escucharme.
Todo esto nunca hubiera sido posible sin el amparo incondicional de mi familia, mis padres y
mishermanos.Suapoyo,ayuday´animohasidounelementoclaveparalograrrealizarestetrabajo.
Finalmente debo un especial reconocimiento a la Junta de Andaluc´ıa por la confianza que
mostraronenm´ıalconcedermeunabecaFPDIconlacualfueposibleaventurarmeenestatraves´ıa.
i
ii
´
Indice general
1. Introducci´on 1
I Modelos 7
2. Metaheur´ısticas Secuenciales y Paralelas 9
2.1. Clasificaci´on de las Metaheur´ısticas . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.1.1. Basadas en Trayectoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.1.2. Basadas en Poblaci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2. Metaheur´ısticas Paralelas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.2.1. Modelos Paralelos para M´etodos Basados en Trayectoria . . . . . . . . . . . 25
2.2.2. Modelos Paralelos para M´etodos Basados en Poblaci´on . . . . . . . . . . . . 30
2.3. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3. Construccio´n y Evaluacio´n de Metaheur´ısticas 37
3.1. Implementaci´on de Metaheur´ısticas . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.1.1. Necesidad del Paradigma de Orientaci´on a Objetos . . . . . . . . . . . . . . 38
3.1.2. Software Paralelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.1.3. La Biblioteca Mallba . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.2. Disen˜o Experimental y Evaluaci´on de Metaheur´ısticas . . . . . . . . . . . . . . . . 46
3.2.1. Medidas de Rendimiento Temporal Paralelo . . . . . . . . . . . . . . . . . . 47
3.2.2. Disen˜o de Experimentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.2.3. An´alisis Estad´ıstico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.3. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4. Modelos Paralelos Propuestos 57
4.1. Modelos Previos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.2. Modelo Propuesto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.3. Formalizaci´on de los Esquemas Paralelos Utilizados . . . . . . . . . . . . . . . . . . 60
4.3.1. Esquema Distribuido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.3.2. Esquema Distribuido Celular . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.3.3. Esquema Maestro/Esclavo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.4. Conclusi´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
iii
iv ´INDICE GENERAL
II An´alisis y Formalizaci´on 63
5. An´alisis Experimental del Comportamiento de las Metaheur´ısticas Paralelas 65
5.1. An´alisis Sobre Diferentes Clases de Redes de A´rea Local . . . . . . . . . . . . . . . 65
5.1.1. Caso base: 8 procesadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
5.1.2. Caso extendido: 2 y 4 procesadores . . . . . . . . . . . . . . . . . . . . . . . 70
5.1.3. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
5.2. An´alisis Sobre Redes de A´rea Extensa . . . . . . . . . . . . . . . . . . . . . . . . . 73
5.2.1. Algoritmos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
5.2.2. Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
5.2.3. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
5.3. An´alisis sobre una Plataforma Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
5.3.1. El Algoritmo GrEA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
5.3.2. Detalles de Implementaci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
5.3.3. Resultados Experimentales . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
5.3.4. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
5.4. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
6. An´alisisTeo´ricodelComportamientodelosAlgoritmosEvolutivosDistribuidos 93
6.1. Modelos Previos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
6.1.1. Modelo Log´ıstico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
6.1.2. Modelo de Hipergrafos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
6.1.3. Otros Modelos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
6.2. Modelos utilizados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
6.3. Efectos de la Pol´ıtica de Migracio´n en las Curvas de Crecimiento . . . . . . . . . . 98
6.3.1. Par´ametros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
6.3.2. Topolog´ıa de Migracio´n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
6.3.3. Periodo de Migracio´n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
6.3.4. Ratio de Migracio´n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
6.3.5. An´alisis de los Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
6.4. An´alisis del Takeover Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
6.5. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
III Aplicaciones 109
7. Problemas de Optimizacio´n Combinatoria 111
7.1. Problemas Acad´emicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
7.1.1. MAXSAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
7.1.2. Disen˜o de C´odigos Correctores de Errores . . . . . . . . . . . . . . . . . . . 113
7.1.3. Entrenamiento de Redes Neuronales . . . . . . . . . . . . . . . . . . . . . . 114
7.2. Problemas de Aplicaci´on Real . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
7.2.1. Ensamblado de Fragmentos de ADN . . . . . . . . . . . . . . . . . . . . . . 115
7.2.2. Etiquetado L´exico del Lenguaje Natural . . . . . . . . . . . . . . . . . . . . 115
7.2.3. Disen˜o de Circuitos Combinacionales . . . . . . . . . . . . . . . . . . . . . . 116
7.2.4. Planificaci´on y Asignaci´on de Trabajadores . . . . . . . . . . . . . . . . . . 117
7.3. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
´INDICE GENERAL v
8. Resolucio´n del Problema de Ensamblado de Fragmentos de ADN 119
8.1. Definici´on del Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
8.2. Aproximaci´on Algor´ıtmica para su Resoluci´on . . . . . . . . . . . . . . . . . . . . . 123
8.2.1. Detalles Comunes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
8.2.2. Detalles Espec´ıficos con GA . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
8.2.3. Detalles Espec´ıficos con CHC . . . . . . . . . . . . . . . . . . . . . . . . . . 125
8.2.4. Detalles Espec´ıficos con SS . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
8.2.5. Detalles Espec´ıficos con SA . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
8.3. An´alisis de los Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
8.3.1. Instancias y Par´ametros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
8.3.2. Resultados Secuenciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
8.4. Resultados Paralelos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
8.5. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
9. Resolucio´n del Problema del Etiquetado L´exico del Lenguaje Natural 133
9.1. Definici´on del Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
9.1.1. Aproximaci´on Estad´ıstica al Etiquetado L´exico . . . . . . . . . . . . . . . . 135
9.2. Aproximaci´on algor´ıtmica para su resolucio´n . . . . . . . . . . . . . . . . . . . . . 136
9.2.1. Detalles comunes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
9.2.2. Detalles Espec´ıficos con GA . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
9.2.3. Detalles Espec´ıficos con CHC . . . . . . . . . . . . . . . . . . . . . . . . . . 138
9.2.4. Detalles Espec´ıficos con SA . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
9.3. An´alisis de los Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
9.3.1. Experimento 1: An´alisis del Comportamiento . . . . . . . . . . . . . . . . . 138
9.3.2. Experimento 2: EAs vs. Viterbi . . . . . . . . . . . . . . . . . . . . . . . . . 141
9.4. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
10.Resolucio´n del Problema del Disen˜o de Circuitos Combinacionales 145
10.1.Definici´on del Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
10.1.1. Trabajos Previos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
10.2.Aproximaci´on Algor´ıtmica para su Resoluci´on . . . . . . . . . . . . . . . . . . . . . 148
10.2.1. Detalles Comunes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
10.2.2. Detalles Espec´ıficos con GA . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
10.2.3. Detalles Espec´ıficos con CHC . . . . . . . . . . . . . . . . . . . . . . . . . . 150
10.2.4. Detalles Espec´ıficos con SA . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
10.2.5. Detalles de los Algoritmos H´ıbridos. . . . . . . . . . . . . . . . . . . . . . . 150
10.3.An´alisis de los Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
10.3.1. Par´ametros e Instancias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
10.3.2. Ejemplo 1: Circuito Sasao . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
10.3.3. Ejemplo 2: Circuito Catherine. . . . . . . . . . . . . . . . . . . . . . . . . . 154
10.3.4. Ejemplo 3: Circuito Katz 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
10.3.5. Ejemplo 4: Circuito Multiplicador de 2 bits . . . . . . . . . . . . . . . . . . 157
10.3.6. Ejemplo 5: Circuito Katz 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
10.4.Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
vi ´INDICE GENERAL
11.Resolucio´n del Problema de Planificacio´n y Asignaci´on de Trabajadores 161
11.1.Definici´on del Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
11.2.Aproximaci´on Algor´ıtmica para su Resoluci´on . . . . . . . . . . . . . . . . . . . . . 163
11.2.1. Algoritmo Gen´etico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
11.2.2. Bu´squeda Dispersa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
11.3.An´alisis de los Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
11.3.1. Instancias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
11.3.2. Resultados: Calidad de las Soluciones . . . . . . . . . . . . . . . . . . . . . 168
11.3.3. Resultados: Tiempos de Ejecuci´on . . . . . . . . . . . . . . . . . . . . . . . 170
11.4.Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
IV Conclusiones 173
V Ap´endice: Publicaciones 181
Description:Resolución del Problema del Dise˜no de Circuitos Combinacionales. 145. 10.1.Definición del programación genética y estrategias evolutivas para dise˜nar circuitos lógicos combinacionales en los últimos a˜nos (véase por Journal of Chemical Physics, 21:1087–1092, 1953. [182] Z. Michalewi