Implementación de un Algoritmo Multioperador Basado en...

119
Implementación de un Algoritmo Multioperador Basado en Evolución Diferencial para Optimización Númerica con Restricciones TESIS DE MAESTRÍA Luis Alfredo Gordián Rivera Laboratorio Nacional de Informática Avanzada Maestría en Computación Aplicada Diciembre 2012

Transcript of Implementación de un Algoritmo Multioperador Basado en...

Page 1: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

Implementación de un AlgoritmoMultioperador

Basado en Evolución Diferencial paraOptimización Númerica con Restricciones

TESIS DE MAESTRÍA

Luis Alfredo Gordián Rivera

Laboratorio Nacional de Informática AvanzadaMaestría en Computación Aplicada

Diciembre 2012

Page 2: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores
Page 3: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

Implementación de un AlgoritmoMultioperador

Basado en Evolución Diferencialpara Optimización Númerica con

Restricciones

Tesis para obtener el grado de maestríaMaestría en Computación Aplicada

DirectorDr. Efrén Mezura Montes

CodirectorDr. Edgar Alfredo Portilla Flores

Laboratorio Nacional de Informática AvanzadaMaestría en Computación Aplicada

Diciembre 2012

Page 4: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores
Page 5: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

A mi madre,que

nunca ha dejado de apoyarme

Page 6: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores
Page 7: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

La creación intelectual esel más misterioso y solitario

de los oficios humanos.Gabriel García Márquez

Page 8: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores
Page 9: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

Agradecimientos

Si estás solo, serás todo tuyo, y si estásacompañado por una sola persona, serás

medio tuyo.

Leonardo Da Vinci

Quiero agradecer a mi familia por apoyarme y estar conmigo en los buenosmomentos pero principalmente en los malos. A mi padre por su consejos y cariño, ami madre por darme la vida y su apoyo aún en los peores momentos, a mi hermanopor su compañia y su amistad.

Quiero dar mi más profundo agradecimiento al Dr. Efrén Mezura Montes porbrindarme su tiempo y su apoyo en el desarrollo de este trabajo, ha sido realmentegrata la experiencia de trabajar bajo su dirección.

Al Dr. Edgar Alfredo Portilla Flores por apoyarme en la revisión del documentoy por abrirme las puertas en el CIDETEC para realizar mis residencias.

A mis compañeros y amigos que hicieron de esta experiencia un recuerdo inol-vidable.

Y al CONACYT por otorgarme la beca para la realización de esta maestría.

IX

Page 10: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores
Page 11: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

Resumen

La optimización se define como el proceso llevado a cabo para encontrar losvalores o características que minimicen algún otro valor que depende de ellos. Enel mundo real la mayoría de problemas de optimización se encuentran sujetos a unconjunto de restricciones lo que a su vez complica el proceso de búsqueda gene-rando a su vez una gran cantidad de clases de problemas.

En la actualidad diversos algoritmos han surgido con la intención de resolver lamayor cantidad de problemas de optimización. Sin embargo se ha observado queningún algoritmo posee la capacidad para tener un buen desempeño en todas lasclases de problemas.

En este trabajo se presenta un nuevo algoritmo para el manejo de múltiplesoperadores para resolver problemas de optimización con restricciones. La carac-terística principal del algoritmo es la adaptación de medidas de desempeño a sufuncionamiento, así como el uso de variantes especializadas en el manejo de pro-blemas de optimización con restricciones.

Con el objetivo de probar y evaluar el comportamiento de la técnica propuestase utilizó un conjunto de problemas de prueba, además de un grupo de problemasde optimización en ingeniería.

También, se presenta un análisis del comportamiento del algoritmo y se haceuna comparación de los resultados obtenidos contra los obtenidos por otros algo-ritmos del estado del arte.

XI

Page 12: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores
Page 13: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

Índice

Agradecimientos IX

Resumen XI

1. Introducción 11.1. Antecedentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2.1. Objetivo General . . . . . . . . . . . . . . . . . . . . . . 31.2.2. Objetivos Específicos . . . . . . . . . . . . . . . . . . . . 3

1.3. Hipótesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.4. Justificación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.5. Alcances y Limitaciones . . . . . . . . . . . . . . . . . . . . . . 51.6. Organización de la Tesis . . . . . . . . . . . . . . . . . . . . . . 5

2. Optimización 72.1. Motivación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.2. Definición de Optimización . . . . . . . . . . . . . . . . . . . . . 72.3. Clasificación de los Problemas de Optimización . . . . . . . . . . 82.4. Componentes del Problema de Optimización . . . . . . . . . . . . 92.5. Planteamiento del Problema General de Optimización Numérica

con Restricciones . . . . . . . . . . . . . . . . . . . . . . . . . . 92.6. Técnicas de Optimización . . . . . . . . . . . . . . . . . . . . . . 10

2.6.1. Técnicas Tradicionales y No Tradicionales . . . . . . . . 10

3. Evolución Diferencial 153.1. Algoritmos de Optimización . . . . . . . . . . . . . . . . . . . . 15

3.1.1. Algoritmos de Inteligencia Colectiva . . . . . . . . . . . 153.1.2. Algoritmos de Computación Evolutiva . . . . . . . . . . . 163.1.3. Componentes de un Algoritmo Bio-inspirado . . . . . . . 16

3.2. Evolución Diferencial . . . . . . . . . . . . . . . . . . . . . . . . 173.2.1. Algoritmo de ED . . . . . . . . . . . . . . . . . . . . . . 183.2.2. Componentes de la ED . . . . . . . . . . . . . . . . . . . 18

XIII

Page 14: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

XIV ÍNDICE

3.3. Manejo de Restricciones . . . . . . . . . . . . . . . . . . . . . . 203.4. Ejemplos de aplicación . . . . . . . . . . . . . . . . . . . . . . . 24

4. Algoritmos Multioperadores 254.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254.2. Hiperheurísticas . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

4.2.1. Estructura y Funcionamiento . . . . . . . . . . . . . . . 274.2.2. Clasificación . . . . . . . . . . . . . . . . . . . . . . . . 29

4.3. Ensambles e Híbridos . . . . . . . . . . . . . . . . . . . . . . . . 304.3.1. Estructura y Funcionamiento . . . . . . . . . . . . . . . . 304.3.2. Clasificación . . . . . . . . . . . . . . . . . . . . . . . . 31

4.4. Clasificación del algoritmo propuesto . . . . . . . . . . . . . . . 33

5. Técnica Propuesta 355.1. Motivación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355.2. Solución propuesta . . . . . . . . . . . . . . . . . . . . . . . . . 35

5.2.1. Variantes de ED . . . . . . . . . . . . . . . . . . . . . . . 365.2.2. Operadores . . . . . . . . . . . . . . . . . . . . . . . . . 415.2.3. Medidas de Desempeño . . . . . . . . . . . . . . . . . . 415.2.4. Descripción general del Algoritmo . . . . . . . . . . . . . 43

6. Resultados 516.1. Diseño experimental . . . . . . . . . . . . . . . . . . . . . . . . 516.2. Problemas de prueba . . . . . . . . . . . . . . . . . . . . . . . . 51

6.2.1. Análisis estadístico y discusión de resultados finales . . . 536.2.2. Análisis de comportamiento . . . . . . . . . . . . . . . . 55

6.3. Problemas de diseño ingenieril . . . . . . . . . . . . . . . . . . . 596.3.1. Análisis estadístico y discusión . . . . . . . . . . . . . . 626.3.2. Analisis de comportamiento . . . . . . . . . . . . . . . . 64

6.4. Integración de resultados . . . . . . . . . . . . . . . . . . . . . . 65

7. Conclusiones y Trabajo futuro 677.1. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 677.2. Trabajo futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

I Apéndices 69

A. Problemas de prueba. 71A.1. Problemas de prueba . . . . . . . . . . . . . . . . . . . . . . . . 71

B. Gráficas de comportamiento. 83B.1. Problemas de prueba . . . . . . . . . . . . . . . . . . . . . . . . 83

Page 15: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

ÍNDICE XV

Referencias 95

Page 16: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores
Page 17: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

Índice de figuras

2.1. Ejemplo del espacio de búsqueda . . . . . . . . . . . . . . . . . . 11

3.1. Proceso de mutación . . . . . . . . . . . . . . . . . . . . . . . . 193.2. Descripción gráfica de la cruza exponencial y binomial . . . . . . 21

4.1. Estructura basica de una hiperheurística. . . . . . . . . . . . . . . 274.2. Clasificación de las hiperheurísticas. . . . . . . . . . . . . . . . . 294.3. Clasificación de los algoritmos cooperativos de acuerdo al tipo de

algoritmos y a su forma de cooperación. . . . . . . . . . . . . . . 324.4. Clasificación de los algoritmos cooperativos de acuerdo al grado

de cooperación y a la distribución del espacio de búsqueda. . . . . 32

5.1. Diagrama esquemático del algoritmo propuesto, donde P (t) sonlas subpoblaciones antes de ser evolucionadas por cada variante vy PR y DC son el Progress Ratio y la Diferencia de convergenciarespectivamente . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

5.2. Diagrama de flujo del algoritmo propuesto en un ciclo . . . . . . . 45

6.1. Promedio del comportamiento del tamaño de las subpoblacionesen las 30 ejecuciones para problemas representativos con base enel tamaño de la zona factible. . . . . . . . . . . . . . . . . . . . . 56

6.2. Promedio del comportamiento del tamaño de las subpoblacionesen las 30 ejecuciones para problemas representativos con base ensu dimensionalidad. . . . . . . . . . . . . . . . . . . . . . . . . . 57

6.3. Gráficas del comportamiento de las subpoblaciones en cuatro eje-cuciones distintas. Dos ejecuciones por problema. . . . . . . . . . 58

6.4. Gráficas del comportamiento de las subpoblaciones en los proble-mas de ingeniería. . . . . . . . . . . . . . . . . . . . . . . . . . . 64

B.1. Comportamiento promedio de los tamaños de subpoblación en las30 ejecuciones para el problema g01 . . . . . . . . . . . . . . . . 84

B.2. Comportamiento promedio de los tamaños de subpoblación en las30 ejecuciones para el problema g02 . . . . . . . . . . . . . . . . 84

XVII

Page 18: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

XVIII ÍNDICE DE FIGURAS

B.3. Comportamiento promedio de los tamaños de subpoblación en las30 ejecuciones para el problema g03 . . . . . . . . . . . . . . . . 85

B.4. Comportamiento promedio de los tamaños de subpoblación en las30 ejecuciones para el problema g04 . . . . . . . . . . . . . . . . 85

B.5. Comportamiento promedio de los tamaños de subpoblación en las30 ejecuciones para el problema g05 . . . . . . . . . . . . . . . . 86

B.6. Comportamiento promedio de los tamaños de subpoblación en las30 ejecuciones para el problema g06 . . . . . . . . . . . . . . . . 86

B.7. Comportamiento promedio de los tamaños de subpoblación en las30 ejecuciones para el problema g07 . . . . . . . . . . . . . . . . 87

B.8. Comportamiento promedio de los tamaños de subpoblación en las30 ejecuciones para el problema g08 . . . . . . . . . . . . . . . . 87

B.9. Comportamiento promedio de los tamaños de subpoblación en las30 ejecuciones para el problema g09 . . . . . . . . . . . . . . . . 88

B.10. Comportamiento promedio de los tamaños de subpoblación en las30 ejecuciones para el problema g10 . . . . . . . . . . . . . . . . 88

B.11. Comportamiento promedio de los tamaños de subpoblación en las30 ejecuciones para el problema g11 . . . . . . . . . . . . . . . . 89

B.12. Comportamiento promedio de los tamaños de subpoblación en las30 ejecuciones para el problema g12 . . . . . . . . . . . . . . . . 89

B.13. Comportamiento promedio de los tamaños de subpoblación en las30 ejecuciones para el problema g13 . . . . . . . . . . . . . . . . 90

B.14. Comportamiento promedio de los tamaños de subpoblación en las30 ejecuciones para el problema g14 . . . . . . . . . . . . . . . . 90

B.15. Comportamiento promedio de los tamaños de subpoblación en las30 ejecuciones para el problema g15 . . . . . . . . . . . . . . . . 91

B.16. Comportamiento promedio de los tamaños de subpoblación en las30 ejecuciones para el problema g16 . . . . . . . . . . . . . . . . 91

B.17. Comportamiento promedio de los tamaños de subpoblación en las30 ejecuciones para el problema g17 . . . . . . . . . . . . . . . . 92

B.18. Comportamiento promedio de los tamaños de subpoblación en las30 ejecuciones para el problema g18 . . . . . . . . . . . . . . . . 92

B.19. Comportamiento promedio de los tamaños de subpoblación en las30 ejecuciones para el problema g19 . . . . . . . . . . . . . . . . 93

B.20. Comportamiento promedio de los tamaños de subpoblación en las30 ejecuciones para el problema g21 . . . . . . . . . . . . . . . . 93

B.21. Comportamiento promedio de los tamaños de subpoblación en las30 ejecuciones para el problema g24 . . . . . . . . . . . . . . . . 94

Page 19: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

Índice de Tablas

6.1. Características principales de los 24 problemas de prueba . . . . . 526.2. Valores utilizados por cada parámetro del algoritmo propuesto. . . 526.3. Comparación estadística del algorimo propuesto contra tres algo-

ritmos encontrados en el estado del arte . . . . . . . . . . . . . . 546.4. Características principales de los 4 problemas de ingeniería . . . . 596.5. Valores utilizados por cada parámetro del algoritmo propuesto. . . 626.6. Detalle de las mejores soluciones obtenidas por el algoritmo pro-

puesto para los problemas de ingeniería . . . . . . . . . . . . . . 636.7. Resultados estadísticos obtenidos por el algoritmo propuesto . . . 636.8. Comparación de los resultados estadísticos obtenidos por el algo-

ritmo contra los encontrados en el estado del arte . . . . . . . . . 636.9. Porcentaje promedio de población asignado a cada variante por ca-

da problema incluidos los problemas de prueba . . . . . . . . . . 65

A.1. Conjunto de datos para el problema de prueba g19 . . . . . . . . . . . 79A.2. Conjunto de datos para el problema de prueba g20 . . . . . . . . . . . 80

XIX

Page 20: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores
Page 21: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

Capítulo 1

Introducción

En este capítulo se presenta la motivación y la justificación de esta investiga-ción. También se presentan los objetivos principales y específicos de la presentetesis. Además se explica la hipótesis y la contribución de este trabajo.

1.1. Antecedentes

La optimización es el proceso llevado a cabo para obtener los valores necesa-rios para maximizar o minimizar un resultado bajo ciertas circunstancias. Además,es uno de los principales puntos de estudio de diversas áreas del conocimiento[1].Por otro lado, la optimización se ha vuelto una importante herramienta al momentode tomar decisiones en la ciencia y en el análisis de sistemas físicos [2].

Al hablar de optimización, un punto importante son los métodos empleadospara obtener los valores óptimos. Existen diversas técnicas en el área de optimiza-ción [3], las más conocidas son las técnicas basadas en métodos numéricos, cálculodiferencial y programación matemática[4][5]. Actualmente han surgido novedosastécnicas que, apoyadas por la capacidad computacional actual, obtienen resultadoscomparables a los obtenidos con técnicas matemáticas.

Un ejemplo de ello son las heurísticas y las metaheurísticas, mediante las cua-les se realiza una búsqueda de soluciones que sacrifica la optimalidad para ganareficiencia (la solución encontrada será competitiva, más no se garantiza que sea lamejor de todas) [6].

Una heurística es una técnica de búsqueda de soluciones aplicable a un pro-blema particular. De tal manera, que para cada problema planteado es necesariodiseñar un mecanismo capaz de buscar y encontrar una solución satisfactoria.

Por ejemplo, suponga que se desea optimizar el tiempo de fabricación de laspiezas para automóvil, una posible heurística podría ser comenzar fabricando laspiezas más pequeñas y terminar con las más grandes, sin que ésto signifique quees la mejor manera de hacerlo. Otra heurística puede ser el intercalado de piezasgrandes y pequeñas.

1

Page 22: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

2 CAPÍTULO 1. Introducción

Los algoritmos heurísticos basan su funcionamiento en la aplicación de opera-dores o reglas, que de acuerdo al problema dirigen la búsqueda hacia las solucio-nes más prometedoras, un ejemplo de este tipo de algoritmos es el Hill Climbing oascenso de colinas en el que la búsqueda parte de una solución inicial y el operadorse encarga de realizar una búsqueda en soluciones vecinas donde si alguna de lassoluciones es mejor que el punto actual entonces ésta se convierte en la soluciónactual [7].

Así, se reduce la cantidad de recursos necesarios, pues intentan evadir zonaspoco favorables del espacio de búsqueda, lo que reduce precisamente el tiempo debúsqueda necesario y hace a los algoritmos heurísticos técnicas competitivas enespacios de búsqueda extensos.

Sin embargo, el funcionamiento del algoritmo heurístico está retringido al pro-blema para el que fué diseñado, pues el operador en cada heurística depende delas características y condiciones de la problemática para el que fue pensado. Así, laheurística utilizada para optimizar el tiempo de fabricación de las piezas de nuestroautomóvil probablemente no se podría aplicar para optimizar el tiempo de armado.

Por otro lado, una metaheurística es una técnica con mayor generalidad queuna heurística y que aplica un conjunto de heurísticas de manera sistemática ysin necesidad de tener información a priori del problema que se quiere resolver.Las técnicas metaheurísticas poseen la ventaja de que las heurísticas se encuentraincluidas en su funcionamiento, lo que hace posible el uso de los algoritmos me-taheurísticos en una amplia variedad de problemas tanto de índole combinatoriacomo númerica, sin la necesidad de cambios importantes en su estructura o meca-nismo, además de que proporcionan un marco de trabajo bien definido lo que hacemás fácil su implementación [8].

Existen diversos trabajos relacionados al desarrollo de metaheurísticas que bus-can mejorar la capacidad para converger a una buena solución del problema demanera rápida y con mayor exactitud. Algunos de estos algoritmos están basadosen comportamientos de la naturaleza. Por ejemplo, en [9], se describe la EvoluciónDiferencial y la Optimización mediante Cúmulos de Partículas, métodos surgidosa partir de la teoría de la evolución de las especies y en el comportamiento socialobservado en las parvadas de aves, respectivamente.

Otro ejemplo, es [10] donde se explica el método utilizado en los algoritmosABC (colonia artificial de abejas) y MBFOA (Optimización Mediante el Forrajeode Bacterias) donde se emula principalmente la inteligencia colectiva mostrada porgrupos de abejas y bacterias.

En [11] se realiza una comparación del algoritmo de Evolución Diferencialcontra el método de Programación Matemática llamado programación por Metasaplicado a la optimización en el diseño concurrente de un CVT; en dicho trabajose logra observar la capacidad de los algoritmos metaheurísticos para lidiar conproblemas mecánicos reales.

A pesar de las ventajas que ofrecen los algoritmos metaheurísticos, existenciertas desventajas relacionadas a su selección y aplicabilidad [12]; ya que es dífi-

Page 23: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

1.2. Objetivos 3

cil establecer que técnica metaheurística se adapta mejor al problema que se quiereresolver. Aunque las técnicas metaheurísticas tienen la capacidad de guiar la bús-queda en el espacio de soluciones, cada una tiene comportamientos diferentes paraexplorar y explotar la región de búsqueda, teniendo mayores ventajas unas queotras de acuerdo a la forma del espacio y a la distribución de las buenas soluciones.

Actualmente, han surgido nuevos enfoques de búsqueda, basadas en el uso demúltiples operadores mediante un solo mecanismo, denominadas ensambles asícomo las llamadas hiperheurísticas que son algoritmos diseñados para controlar laselección de heurísticas de acuerdo al problema. De esta manera se hace posible elmanejo de universos de búsqueda más grandes, con la ventaja de soportar diversosproblemas sin cambios significativos en la programación [13].

El desarrollo de ensambles e hiperheurísticas es relativamente nuevo y, más queun intento de desplazar los algoritmos metaheurísticos, buscan resolver la proble-mática de la selección de heurísticas apropiadas para la solución de un problema,así como disminuir la complejidad de desarrollo y ampliar la aplicabilidad de lastécnicas heurísticas en diversos problemas.

En este trabajo se propone el uso de una técnica que integre características deensambles e hiperheurísticas para el manejo de múltiples operadores (heurísticas)obtenidos de variantes especializadas de Evolución Diferencial (ED) para resolverproblemas de optimización con restricciones con la capacidad de adaptarse a unmayor número de problemas en condiciones diversas de búsqueda. Con la finalidadde gestionar el uso de las heurísticas se propone una novedosa técnica para el usode medidas de desempeño durante la ejecución del algoritmo.

1.2. Objetivos

1.2.1. Objetivo General

Diseñar e implementar un mecanismo de control adaptativo de uso de opera-dores obtenidos de variantes de ED especializadas en problemas de optimizacióncon restricciones previamente diseñadas y probadas, encontradas en la literaturaespecializada.

1.2.2. Objetivos Específicos

Identificar las técnicas empleadas en el desarrollo de ensambles e hiperheu-rísticas basadas en el uso de metaheurísticas, principalmente de ED.

Analizar e implementar metaheurísticas de la literatura especializada capa-ces de soportar problemas de optimización con restricciones.

Aplicar la técnica planteada en la resolución de problemas de prueba para laoptimización con restricciones.

Page 24: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

4 CAPÍTULO 1. Introducción

Aplicar y resolver un conjunto de problemas de optimización con restriccio-nes surgidos del diseño ingenieril.

Realizar un análisis estadístico de los resultados obtenidos en problemas deprueba y compararlos contra contra técnicas metaheurísticas encontradas enla literatura especializada que adopten principalmente multioperadores.

1.3. Hipótesis

El diseño e implementación de un mecanismo adaptativo de control de multi-operadores demostrará capacidad para proporcionar resultados competitivos en laresolución de problemas de optimización con restricciones de prueba y de diseñoingenieril comparado contra algoritmos del estado del arte para optimización conrestricciones. Por otra parte el diseño permitirá resolver un rango más amplio deproblemas mediante la aplicación de múltiples operadores, además de lograrlo sinla intervención de usuario en el proceso de selección.

1.4. Justificación

Debido a la complejidad que presentan los problemas de optimización numé-rica con restricciones es díficil encontrar un algoritmo heurístico capaz de manejartodas las clases de problemas existentes por lo que una propuesta de solución paraésto es aplicar múltiples heurísticas en un solo proceso de búsqueda.

Uno de los principales inconvenientes con respecto a la selección de las heurís-ticas para resolver problemas de optimización, es que se depende del conocimientoprevio del comportamiento de cada algoritmo y de las características del problemaque se quiere resolver.

Mediante este trabajo se busca facilitar al usuario la selección del mejor opera-dor de acuerdo a las condiciones de la búqueda al solucionar problemas de optimi-zación con restricciones; proporcionando un algoritmo adaptable capaz de aplicartres operadores obtenidos de variantes de Evolución Diferencial para solucionarproblemas de optimización con restricciones.

Por otro lado, han surgido diversas técnicas para evaluar el comportamiento delos algoritmos denominadas medidas de desempeño sin embargo éstas son utiliza-das una vez que el algoritmo finaliza su ejecución, por lo que sólo se utilizan confines estadísticos.

Pues no se encontraron trabajos relacionados al uso de múltiples operadores deoptimización en los que se utilicen medidas de desempeño para el ajuste y selec-ción de éstos. En este trabajo se propone un novedoso mecanismo de adaptaciónbasado en medidas de desempeño y no sólo para el análisis del comportamientodel algoritmo metaheurístico.

Page 25: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

1.5. Alcances y Limitaciones 5

1.5. Alcances y Limitaciones

El algoritmo propuesto se comparó contra otros encontrados del estado del arteen optimización con restricciones mediante la resolución de diversos problemas deprueba encontrados en la literatura especializada. Además se aplicó la propuestaen la optimización de modelos surgidos de diseño ingenieril.

Para el desarrollo de este trabajo se utilizarón variantes de evolución diferen-cial ya diseñadas y probadas en la literatura especializada, por lo que el diseño selimitó a la creación del mecanismo adptativo para el uso de múltiples operadoresheurísticos.

1.6. Organización de la Tesis

La presente tesis se organiza de la siguiente manera.

Capítulo 2. Optimización. Donde se define el problema general de opti-mización, su planteamiento matemático, la motivación para hacer optimiza-ción, la clasificación de sus problemas y de sus técnicas de solución.

Capítulo 3. Evolución Diferencial. En este capítulo se describen las téc-nicas metaheurísticas de optimización, particularmente el algoritmo generalde Evolución Diferencial y las variantes utilizadas para el desarrollo de lapresente tesis.

Capítulo 4. Algoritmos mutioperadores En este capítulo se presenta ladescripción de un algoritmo mutioperador, sus características y las clasifica-ciones existentes.

Capítulo 5. Técnica propuesta En este capítulo se describe el funciona-miento del mecanismo adaptativo sus elementos principales y los parámetrosde calibración que se utilizaron.

Capítulo 6. Resultados Se muestran los resultados obtenidos por el algorit-mo propuesto en problemas de prueba así como los resultados en problemasde diseño ingenieril.

Capítulo 7. Conclusiones y trabajo futuro Se describen las conclucionesde este trabajo de tesis, así como el trabajo futuro.

Page 26: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores
Page 27: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

Capítulo 2

Optimización

En este capítulo se presenta una descripción de los principales conceptos en elproblema de optimización, la motivación desde el punto de vista del diseño y susprincipales características, así como su planteamiento general.

2.1. Motivación

En la actualidad uno de los problemas con los que se encuentra el diseño inge-nieril es la exigencia del mercado. La competencia hace que el diseño de nuevossistemas sea cada vez más difícil al surgir artefactos cada vez mejores, por lo quese hace necesario desarrollar modelos de simulación lo más cercanos a la realidadcon la finalidad de reducir gastos en el proceso de desarrollo del diseño [14].

La ventaja principal es que mediante el uso de estos modelos se obtiene unavista preliminar del comportamiento del sistema sin la necesidad de desarrollarlofísicamente, proporcionando una base para mejorarlo de acuerdo a las necesidadesdel producto que se desea construir o de las que el diseñador considere importantes.

El problema de optimización surge cuando alguna o varias de las característicasdel diseño deben ser minimizadas o maximizadas y de la necesidad de obtener losparámetros adecuados para lograrlo.

Un punto importante en la optimización es el concepto de valor, ésto es, obteneruna medida sobre qué es lo más importante o más deseable del diseño y decidir sies necesario optimizar ese valor; dicho valor es la capacidad inherente del diseñopara satisfacer las características importantes en el sistema [15].

2.2. Definición de Optimización

Desde el punto de vista de la terminología la optimización se puede definir co-mo hacer algo perfecto, efectivo o tan funcional como sea posible[16]. También sepuede definir como el proceso llevado a cabo para obtener la mejor solución posiblea un problema sometido a un conjunto de circunstancias o restricciones[17].

7

Page 28: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

8 CAPÍTULO 2. Optimización

2.3. Clasificación de los Problemas de Optimización

Dentro del los problemas de optimización es posible encontrar diversas carac-terísticas que los distinguen. De esta manera es posible clasificarlos de acuerdo acada una de ellas. K. Deb[18] propone la siguiente clasificación.

1. Basado en la existencia de restricciones

Con restricciones

Sin restricciones

2. Basado en la naturaleza de las variables de decisión

Problemas estáticos o paramétricos

Problemas dinámicos o de trayectorias

3. Basado en la naturaleza de las ecuaciones involucradas en el problema

Problemas lineales

Problemas no lineales

Problemas de programación geométrica

Problemas de programación cuadrática

4. Basado en los valores permitidos en las variables de diseño

Problemas de programación entera

Problemas de programación con valores reales

Problemas de optimización combinatoria

5. Basado en la naturaleza determinística de las variables

Problemas estocásticos

Problemas deterministas

6. Basado en la separabilidad de las funciones

Separables

No separables

7. Basado en el número de funciones objetivo

Mono-objetivo

Multi-objetivo

Page 29: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

2.4. Componentes del Problema de Optimización 9

2.4. Componentes del Problema de Optimización

De manera general los componentes principales de un problema de optimiza-ción son los siguientes [19][16][17].

Función Objetivo: Define la calidad de la solución y representa el valor quese quiere optimizar; dicho valor permite discriminar entre soluciones.

Variables: Son el conjunto de valores que definen a una solución, y que afec-tan el valor que tomará la función objetivo. La dimensionalidad del problemaestá definida como el número de variables que posee el problema.

Restricciones: Son un grupo de limitaciones relacionadas al problema, éstaspueden ser:

• Restricciones de frontera. Definen el rango de valores que cada varia-ble puede tomar(cada problema tiene al menos un conjunto de estasrestricciones).

• Restricciones funcionales. Dependen del problema que se plantea y co-múnmente están definidas como una función de las variables del pro-blema.

2.5. Planteamiento del Problema General de Optimiza-ción Numérica con Restricciones

Este trabajo se centra en los problemas de optimización numérica con restric-ciones CNOP (Constrained Numerical Optimization Problem). Un CNOP se puededefinir como la búsqueda de los valores adecuados para minimizar o maximizaralgún objetivo numérico en particular limitado por un conjunto de restricciones;Villela [13] define la optimización como:

Definición 1. Encontrar los valores de las n variables de decisión [x1, x2, ..., xn]T

denotadas por el vector ~x ∈ S que satisfagan las m condiciones de desigualdad ylas p condiciones de igualdad que optimicen la función objetivo f(~x).

Sin pérdida de generalidad un CNOP se define como el:

Minimizar:

f(~x), ~x = [x1, x2, ..., xn] (2.1)

Sujeta a:

gi(~x) ≤ 0, i = [1, 2, ...,m] (2.2)

Page 30: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

10 CAPÍTULO 2. Optimización

hj(~x) = 0, j = [1, 2, ..., p] (2.3)

Li ≤ xi ≤ Ui

Donde:

~x es el vector de variables conocidas como variables de diseño o parámetrosdonde cada xi(i = 1, 2, ..., n) son valores escalares.

f(~x) es la función objetivo, la cual es un valor escalar de ~x.

gi(~x) y hi(~x) son funciones restrictivas(restricciones) con valores escalaresque deben ser satisfechas por el vector ~x.

Li y Ui son los límites inferior y superior respectivamentes, que pueden to-mar cada una de las variables del vector ~x.

De acuerdo a la definición anterior, es posible decir que existe un espacio debúsqueda o espacio de diseño S definido como un espacio cartesiano de dimen-sión n, donde cada eje representa una de las variables del problema conocidascomo variables de diseño y cada punto denominado vector de diseño representauna solución potencial al problema. Además, si se consideran las restricciones enel espacio de búsqueda, existe un subconjunto de soluciones que satisfacen las res-tricciones, denominado región factible; siendo el conjunto de puntos infactibles laregión infactible (no factible) (Ver fígura 2.1).

2.6. Técnicas de Optimización

El área de la optimización está caracterizada por el uso de técnicas basadasen el desarrollo matemático, principalmente derivadas del cálculo diferencial apli-cadas en la investigación de operaciones [2]. Recientemente han surgido nuevastécnicas denominadas no tradicionales, basadas en el uso de heurísticas y métodosprobabilísticos que pueden ser aplicados a una gran gama de problemas sin requerirgrandes cambios derivados de características particulares de algún problema[1].

2.6.1. Técnicas Tradicionales y No Tradicionales

La investigación de operaciones o investigación operativa es la rama de lasmátematicas aplicadas y el análisis númerico que entre otra cosas se encarga deproponer técnicas para resolver problemas de optimización[20].

En los últimos años diversas técnicas basadas en el uso de heurísticas y de-dicadas a la resolución de problemas de optimización han surgido; la motivación

Page 31: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

2.6. Técnicas de Optimización 11

Región Factible

Región Infactible

x1

x2

g(~x)

h(~x)

Figura 2.1: Ejemplo del espacio de búsqueda de un problema con dos variablesde diseño, el problema posee dos restricciones g(~x) y h(~x) las cuales limitan lassoluciones dentro de la región factible(línea gruesa)

principal es que pese a que las técnicas tradicionales aportan soluciones satisfacto-rias a la mayoría de los problemas en los que se aplican, la complejidad sobre todode problemas del mundo real pueden llegar a ser muy demandante. Las técnicasno tradicionales aportan una buena herramienta al momento de resolver problemasdonde el espacio de búsqueda es muy amplio y/o las restricciones de las solucionesson altamente complejas.

Por otra parte, existen diversos tipos de técnicas para la resolución de proble-mas de optimización, dentro de la optimización global es posible encontrar diversosmétodos los cuales Deb [3] propone la clasificación en las siguientes categorías:

1. Métodos Tradicionales

Algoritmos de optimización de variable simple: Estos algoritmos sonclasificados en dos categorías métodos directos y métodos basados engradientes. Además estos algoritmos proporcionan buena informaciónsobre las propiedades de los máximos o mínimos en la función, traba-jando de manera iterativa.

Algoritmos de optimización multi-variable: son clasificadas en técnicasdirectas y técnicas basadas en gradiente.

Algoritmos de optimización restringida: Funcionan utilizando técnicasde variable simple y multi-variable de manera repetida y simultánea,manteniendo los esfuerzos de búsqueda en la región factible.

Page 32: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

12 CAPÍTULO 2. Optimización

Algoritmos de optimización especializada: Son métodos utilizados pa-ra cierta clase de problemas debido a su capacidad para resolverlos.

2. Métodos no tradicionales. Métodos que incorporan conceptos heurísticos pa-ra mejorar la búsqueda.

Por otro lado Tomas Weise [1] propone la siguiente clasificación para estosalgoritmos.

1. De acuerdo al método de operación

Determinísticos: Son los más utilizados si se encuentra una relaciónclara entre las características de las posibles soluciones y su utilidadpara el problema. Sin embargo si la relación entre las soluciones y lafunción objetivo es muy compleja o la dimensionalidad del espacio debúsqueda es demasiado grande, estas técnicas se vuelven imprácticaso incapaces de resolver el problema de optimización por lo que sonaplicables para un grupo reducido de problemas.

Probabilísitcos: Son técnicas que procuran garantizar la mejor soluciónen un tiempo corto de ejecución; en este tipo de algoritmos se utilizanheurísticas, las cuales son funciones que ayudan al algoritmo a decidirde un conjunto de posibles soluciones cuál será la siguiente en ser ana-lizada. A su vez las técnicas probabilísticas pueden trabajar de acuerdoa dos enfoques :

• Heurísticas. Que es una parte del algoritmo de optimización queutiliza la información del estado actual de la búsqueda para decidircuál solución debería ser la siguiente en ser evaluada o generada.Generalmente depende del problema con el que se esté trabajando• Metaheurísticas. Es un método que se utiliza para resolver proble-

mas de manera más general, mediante la combinación de funcio-nes objetivo o heurísticas de una manera eficiente, comúnmentesin un conocimiento profundo de la estructura del problema, vis-tas como una caja negra.

2. De acuerdo a sus propiedades

Velocidad de optimización

• Online optimization: Son problemas de optimización que debenser resueltos rápidamente, ya sea en cuestión de segundos o unafracción de ellos. Por ejemplo, la localización robótica, el balancede cargas o actualizaciones en la programación de una máquina defabricación• Offline optimization: En este tipo de optimización no es tan im-

portante el tiempo y es posible esperar incluso varios días siempre

Page 33: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

2.6. Técnicas de Optimización 13

que la solución sea la mejor o muy cercana a la mejor. Un ejemplode estos problemas son los sugidos de data mining, optimizaciónestructural, u optimización de mecanismos.

Número de objetivos

• Mono-objetivo: Técnicas que se utilizan cuando es necesario ma-ximizar o minimizar un único valor en el problema y el problemassolo posee una función objetivo.• Multi-objetivo: Técnicas usadas cuando es necesario maximizar o

minimizar múltiples valores por lo que el problema posee variasfunciones objetivo.

En el siguiente capítulo se abordarán algunas técnicas heurísticas para la so-lución de problemas de optimización, particularmente se tratará el algoritmo deEvolución Diferencial sus componentes principales y algunos casos de éxito en suaplicación.

Page 34: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores
Page 35: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

Capítulo 3

Evolución Diferencial

En este capítulo se presentan las principales técnicas metaheurísticas para laresolución de problemas de optimización; de manera partícular se habla sobre losalgoritmos evolutivos, principalmente del algoritmo de evolución diferencial. Porotro lado se explica la clasificación de las técnicas para el manejo de restriccionesy se describe la utilizada en este trabajo.

3.1. Algoritmos de Optimización

Debido a su facilidad de implementación, los métodos no tradicionales, comolas heurísticas y las metaheurísticas han sido ampliamente utilizados en el área de laoptimización; uno de los principales motivos, es la complejidad de los problemasque se resuelven; mientras más cercanos son a la realidad, es más difícil aplicarmétodos tradicionales.

Siempre es conveniente considerar como primera opción los métodos clásicospues a pesar de todas las ventajas que ofrecen los métodos no tradicionales, és-tos no garantizan el encontrar el óptimo global. Sin embargo, suelen proporcionarsoluciones altamente competitivas [10]. Dentro de los métodos no tradicionalesexiste un grupo especial de técnicas las cuales basan su funcionamiento en com-portamientos o situaciones observadas en la naturaleza conocidos como algoritmosbio-inspirados. Los que a su vez se dividen en:

Computación Evolutiva [21]

Inteligencia Colectiva [22]

3.1.1. Algoritmos de Inteligencia Colectiva

Estos algoritmos se caracterizan principalente por el intento de emular el com-portamiento de lo seres vivos y la manera en que se adaptan al entorno en el queviven; de esta esfera han surgido diversos trabajos, entre los que podemos encontrar

15

Page 36: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

16 CAPÍTULO 3. Evolución Diferencial

el PSO (Particle Swarm Optimization)[21] que funciona con base en el comporta-miento observado en grupos de aves en el proceso de búsqueda de alimento; dondelas soluciones se comportan como un grupo de aves en el que existe un líder queguía a la parvada hacia regiones más favorables para encontrar alimento.

También existe el algoritmo basado en el comportamiento de las abejas ABC(Artificial Bee Colony) [16], donde se emula el comportamiento de las abejas di-vidiendo la colmena en abejas exploradoras y observadoras; las abejas empleadasbuscan mejorar las soluciones ya encontradas mientras que las exploradoras seencargan de buscar nuevas zonas del espacio de búsqueda, y las observadoras per-manecen al pendiente de las zonas que pueden ser más favorables para explotarlas.

Otro ejemplo es el algoritmo basado en bacterias BFOA (Bacterial ForagingOptimization Algorithm) [17], donde se reproduce el proceso que lleva a cabo labacteria e-coli para hacerse de nutrientes, así como para evitar sustancias que pue-dan afectarla; además de emular la manera en que las bacterias se comunican pormedio de la producción de químicos y su liberación en el ambiente, lo que permitea las otras bacterias reconocer áreas favorables o dañinas.

3.1.2. Algoritmos de Computación Evolutiva

La Computación Evolutiva (CE) es el término con el que se conoce al grupo detécnicas computacionales que intentan emular el proceso evolutivo natural. La CEengloba, entre otras técnicas, los Algoritmos Genéticos (Genetic Algorithms GA’s)los cuales están basados en la herencia genética y la forma en que las caracterís-ticas de los individuos se transmiten de generación en generación, las EstrategiasEvolutivas basadas en la idea de adaptación y evolución, la Programación Evolu-tiva basada únicamente en los procesos de mutación y selección y la EvoluciónDiferencial (ED); y cuyo conjunto se conoce como Algoritmos Evolutivos (Evolu-tionary Algorithms EAs) [23][1].

3.1.3. Componentes de un Algoritmo Bio-inspirado

De manera general tanto los algoritmos de computación evolutiva como los deinteligencia colectiva comparten algunas características o elementos en su estruc-tura. En este apartado se explican los pasos principales para el desarrollo de unalgorimo bio-inspirado[10].

1. Generación de un conjunto de soluciones (vectores) al problema denominadopoblación, donde cada solución es denominada individuo.

2. Evaluar cada solución en la función objetivo que se quiere optimizar.

3. Seleccionar un grupo con las mejores soluciones de la población con base enla función objetivo.

4. Generar nuevas soluciones a partir del grupo obtenido en el paso anterior.

Page 37: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

3.2. Evolución Diferencial 17

5. Evaluar las nuevas soluciones.

6. Seleccionar las soluciones que formaran parte del siguiente ciclo.

Además de los pasos para el desarrollo de un algoritmo bio-inspirado, existenun grupo de elementos comunes en la mayoría de algoritmos bio-inspirados queson los siguientes[10].

Representación de las soluciones: Las soluciones se pueden representarde acuerdo a las características del problema en cadenas binarias, númerosenteros o números reales. Para la resolución de CNOP la representación connúmeros reales es la más adecuada, pues las variables de estos problemascomúnmente utilizan estos valores. Así cada solución será un vector quecontenga un conjunto de números reales.

Mecanismo de selección: En algunos algoritmos bio-inspirados funcionacomo el elemento que guía la búsqueda. Mediante el uso de este mecanismose eligen un conjunto de soluciones de la población para generar nuevassoluciones. En general se utiliza un criterio basado en la función objetivopara hacer esta selección.

Operadores de variación:Son elementos del algoritmo bio-inspirado quesirven para generar nuevas soluciones a partir de las ya existentes en la po-blación (regularmente las elegidas por el mecanismo de selección). Estosoperadores son una de las características principales que distinguen a cadaalgoritmo bio-inspirado, y pueden generar desde una solución o varias a par-tir de una sola ya existente, o generar una o varias soluciones a partir de doso más soluciones.

Mecanismos de reemplazo: Al igual que el mecanismo de selección fun-ciona como guía en la búsqueda, y es es mecanismo que funciona para se-leccionar las soluciones que formaran la siguiente generación; esto se haceconsiderando las soluciones ya existentes y las recién generadas. El procesode reemplazo se puede basar en el valor de las función objetivo, la edad dela solución o en mecanismos aleatorios.

3.2. Evolución Diferencial

El algoritmo de Evolución Diferencial (ED) es de reciente surgimiento; pro-puesto por Storn y Price en 1997 [24], ha sido exitosamente aplicado en diversosproblemas de optimización demostrando gran competitividad contra otros algorit-mos del cómputo evolutivo y de inteligencia colectiva.

Page 38: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

18 CAPÍTULO 3. Evolución Diferencial

3.2.1. Algoritmo de ED

El algoritmo de ED es una técnica de búsqueda directa que se basa en el de-sarrollo evolutivo de una población durante varios ciclos, la población durante laejecución completa del algoritmo puede representarse como sigue:

Px,g = {~x1,g, ~x2,g, . . . , ~xNP,g}, g = 1, . . . ,MAX_GEN (3.1)

~xi,g = [x0, x1, . . . , xn]T , i = 1, . . . , NP (3.2)

donde, MAX_GEN es el número máximo de ciclos que se ejecutara, P esla población, NP es la cantidad de vectores en la población y n es la cantidad devariables que tiene cada vector también llamada dimensionalidad del problema.

3.2.2. Componentes de la ED

El algoritmo de evolución diferencial se compone de tres etapas principalesdurante cada ciclo. El algoritmo, contempla como primer paso la aplicación de dosoperadores de variacion denominados Mutación y Recombinación para posterior-mente llevar a cabo el proceso de Selección de individuos que formaran la siguientegeneración. Es importante mencionar que en el algoritmo de ED no existe un pro-ceso de selección de padres; ya que cada vector de la población genera un vectorhijo mediante el uso de los operadores de variación.

3.2.2.1. Mutación

El proceso de mutación, consiste en calcular un vector mutante para cada vec-tor de la población; lo que significa que si existen NP vectores en la población,entonces NP vectores de mutación serán generados. Cada vector que genera unvector mutante es denominado vector padre. El cálculo del vector de mutación serealiza en 2 etapas.

Se calcula el vector de diferencia, lo que representa la dirección de la bús-queda

Se realiza la suma de la diferencia con el vector base.

El cálculo del vector de diferencia se realiza utilizando un par de vectores r1 yr2, seleccionados de manera aleatoria de la población actual, restándolos entre sípara definir una dirección de búsqueda; el resultado es multiplicado por un factorde escala F; una vez que el vector de diferencia se ha calculado se suma un tercervector denominado vector base o vector donante r3; el resultado obtenido es elvector de mutación o vector mutante en la Figura 3.1 se observa graficamente.Matemáticamente se expresa de la siguiente forma (Ver Eq. 3.3)

~vi,g = ~xr3,g + F ∗ (~xr1.g − ~xr2,g) (3.3)

Page 39: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

3.2. Evolución Diferencial 19

6

-

7

>

Ie

e

x

y

~xr1,g − ~xr2,g~xr1,g

~xr2,g

Región Factible

Región Infactible

6

-

ee

x

y

~xr1,g

~xr2,g

Región Factible

Región Infactible

ee

v

v’

(a) (b)

Figura 3.1: (a)Vector de diferencia obtenido de la resta de ~xr1,g y ~xr2,g. (b) Posiblessoluciones con valor de F positivo y negativo (Ver Eq. 3.3)

3.2.2.2. Recombinación

Mientras que la mutación genera nuevas direcciones de búsqueda procuran-do explorar el espacio de soluciones; la recombinación se encarga de explotar lasregiones ya encontradas mediante el intercambio de información de la poblaciónactual a sus descendientes.

Esta operación se realiza entre el vector padre ~xi,g−1 y el vector de mutación yagenerado ~vi,g. La recombinación se realiza de forma discreta, es decir el vector hijo~ui,g heredará los valores de sus progenitores (vector padre y vector de mutación)de forma directa. El proceso es el siguiente:

~ui,g = uj,i,g =

{vj,i,g si (randj [0, 1) ≤ CR o j = jrand); j = 1, 2, . . . , nxj,i,g−1 de otra manera

(3.4)donde, CR es un número real definido por el usuario y se encuentra en el

siguiente rango [0, 1) y permite definir qué tan parecido será el vector hijo conrespecto al vector padre y al vector de mutación; si el valor de CR es cercano a 1,el vector decendiente será muy parecido al vector de mutacion; mientras que paravalores cercanos a 0, el vector hijo será muy parecido al vector padre. Un puntoimportante, es que aunque el valor de CR sea 0, por lo menos en una posiciónel vector hijo será diferente del vector padre, dada la condición j = jrand, dondej es una variable del vector hijo; siendo jrand una posición generada de manera

Page 40: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

20 CAPÍTULO 3. Evolución Diferencial

aleatoria. Así, al menos en la posición j el vector padre diferirá del vector hijo.El algoritmo de ED en su versión original maneja dos tipos de recombinación

discreta, y en ambas se utiliza el parámetro CR para ajustar el parecido del vectorhijo con respecto al vector padre y al vector de mutación.

Recombinación exponencial: La recombinación se inicia en la posición jrandy el vector es considerado como una cola circular donde al finalizar se con-tinua con las primeras posiciones de éste, si aún no han sido consideradas(en el caso de que jrand sea una posición media en el vector). Así, por cadaposición se genera un valor aleatorio entre 0 y 1 y los elementos que for-marán al vector hijo se copiarán del vector de mutación, hasta que un valoraleatorio sea mayor que CR; una vez que esto sucede, los valores restantesde la cadena se copian del vector padre (Ver Figura 3.2 (a)).

Recombinación binomial: Para el proceso de recombinación se genera unnúmero aleatorio entre 0 y 1 para cada posición del vector, si el valor obteni-do es más pequeño que CR, el hijo obtiene el valor del vector de mutación;en el caso de que el valor obtenido sea mayor que CR el valor se copia delvector padre(Ver Figura 3.2 (b)).

3.2.2.3. Selección

La selección también denominada mecanismo de reemplazo, funciona de lasiguiente manera: Una vez que todos los elementos de la población han generadosu propio hijo, y la población total sea 2∗NP ; el proceso de selección se encargaráde mantener a la población con su tamaño originalNP seleccionando a los mejoresvectores. La comparación se realiza de forma directa padre contra hijo mediante laevaluación de cada uno de ellos en la función objetivo; de esta forma, el elementoque tenga mejor función objetivo permanecerá para el siguiente ciclo y el peor seráeliminado (Ver Eq. 3.5).

~ui,g =

{~ui,g si (f(~ui,g ≤)f(~xi,g−1))~xi,g−1 de otra manera

(3.5)

El proceso llevado por la técnica de ED se encuentra detallado en el algoritmo1 .

3.3. Manejo de Restricciones

El desarrollo de algoritmos evolutivos se ha caracterizado por su gran aplica-bilidad en una amplia gama de problemas; sin embargo, un punto importante, esque a pesar de sus ventajas, no poseen un mecanismo propio para el manejo derestricciones. Además se debe señalar que aunque los problemas para los que fue-ron diseñados originalmente no consideraban las restricciones, la mayoría de losproblemas reales poseen un conjunto de ellas.

Page 41: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

3.3. Manejo de Restricciones 21

6 6

? ?

6

vector de mutación

rand(0,1)

vector hijo

vector padre

(a)

0.1 0.1 0.1 0.1 0.1

0.2 0.2 0.2 0.2 0.2

0.3 0.3 0.3 0.3 0.3

0.4 0.4 0.4 0.3 0.4

jrand=3 CR=0.2

?

6

? ?

6

vector de mutación

rand(0,1)

vector hijo

vector padre

(b)

0.1 0.1 0.1 0.1 0.1

0.2 0.2 0.2 0.2 0.2

0.3 0.3 0.3 0.3 0.3

0.4 0.4 0.4 0.3 0.4

jrand=3 CR=0.2

Figura 3.2: (a) Cruza exponencial el vector randj(0, 1) está compuesto por valoresaleatorios, el valor en negrita es menor que el parámetro CR, por lo que para esaposición, el vector hijo copia el valor del vector de mutación y el resto del vectorpadre (la cruza se inicia en la posición jrand). (b) Cruza binomial los valores ennegrita de randj(0, 1) son menores que CR y son las posiciones que el vector hijocopia directamente del vector de mutación. El resto de las posiciones son copiadasdel vector padre. El valor jrand define que posición sera tomada del vector demutación en ambos casos

Page 42: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

22 CAPÍTULO 3. Evolución Diferencial

Algoritmo 1 Algoritmo de ED/rand/1/binRequire: Función Objetivo f(x), Número de generaciones MAX_GEN , Tama-

ño de población NP , Factor de escala F , Factor de cruza CR.1: G=02: Crear población inicial aleatoria ~xi,G∀i, i = 1, . . . , NP3: Evaluar f(~xi,G)∀i, i = 1, . . . , NP4: for G = 1 to MAX_GEN do5: for i = 1 to NP do6: Seleccionar aleatoriamente r1 6= r2 6= r37: jrand = randint(1, D)8: for j = 1 to D do9: if (randj [0, 1) ≤ CR or j = jrand) then

10: ui,j,G = xr3,j,G−1 + F (xr1,j,G−1 − xr2,j,G−1)11: else12: ui,j,G = xi,j,G−113: end if14: end for15: if f(~ui.G) ≤ f(~xi,G−1) then16: ~xi,G = ~ui,G17: else18: ~xi,G = ~xi,G−119: end if20: end for21: end for

Page 43: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

3.3. Manejo de Restricciones 23

Por lo anterior, diversos trabajos han surgido con la intención de proporcionardiversos mecanismos para el manejo y la evaluación de restricciones. Mezura et al.[25] propone una clasificación para las técnicas para el manejo de restricciones enlas siguientes categorías:

Funciones de penalización: Son enfoques que se basan en técnicas de pro-gramación mátematica, mediante las cuales se transforma el CNOP en unproblema de optimización númerica sin restricciones.

Decoders: Funcionan con base en la idea de transformar o mapear el espaciode soluciones factibles en un espacio más simple y en el que el algoritmo debúsqueda pueda proveer un mejor desempeño.

Operadores Especiales: Son operadores que se diseñan con la finalidad depreservar la factibilidad de las soluciones o mover las soluciones a regionesde interes en el espacio de búsqueda.

Separación de funciones objetivo y restricciones:Se diferencían de las otrastécnicas por el cambio de enfoque; pues mientras las técnicas restantes tratande combinar la función objetivo con los valores de las retricciones en un solovalor, estas técnicas manejan los valores de manera separada.

En este trabajo se utiliza una técnica perteneciente a la clase de separación defunciones objetivo y restricciones, basada en un conjunto de reglas propuestas porK. Deb [26] que se aplican para realizar la selección entre padre e hijo. Las reglasque propone son las siguientes:

Entre 2 soluciones factibles, la que tenga el mejor valor en la función objetivoserá seleccionada.

Si una solución es factible y la otra es infactible, la solución factible es sele-ccionada.

Si ambas soluciones son infactibles, la que tenga el menor valor en la sumade violación de restricciones es elegida.

La suma de violación de restricciones se calcula de la siguiente manera.

m∑i=1

max(0, gi(~x)) +

p∑j=1

max(0, |hj(~x)− ε|) (3.6)

Donde m es el número de restricciones de desigualdad que presenta el proble-ma y p es el número de restricciones de igualdad del problema; ε es un parámetroque funciona para ajustar el nivel de tolerancia permitido por las restricciones deigualdad; de tal forma que sea posible convertir la restricción de igualdad en res-tricción de desigualdad.

Page 44: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

24 CAPÍTULO 3. Evolución Diferencial

3.4. Ejemplos de aplicación

Debido a su gran desempeño en la resolución de problemas de optimización, elalgoritmo de evolución diferencial ha sido exitosamente aplicado en la resoluciónde problemas de optimización.

Gran diversidad de variantes de este algoritmo han surgido con la finalidad deproporcionar robustez al la técnica frente a problemas de optimización numéricacon restricciones.

Por ejemplo en [27] se propone una combinación de evolución diferencial conel método de Constraint Consensus para acercar las soluciones infactibles a regio-nes factibles; En este algoritmo la población es dividida en población factible ypoblación infactible. De la población infactible se seleccionan un grupo de indivi-duos para aplicar el método de Constraint Consensus. El algorimo demostró que laregión factible se alcanzaba más rápidamente al compararla contra algunos otrosalgoritmos del estado del arte.

Por otro lado en [28] se propone un híbrido de evolución diferencial dondese hace uso de un mecanismo con base en dos poblaciones (factible e infactible).Además se utiliza el método simplex para realizar una búsqueda local alrededor dela mejor solución encontrada. El algoritmo demostró un desempeño competitivo alcompararlo contra variantes de Particle Swarm Optimization, algoritmos genéticosy programación evolutiva.

Finalmente en [29] se utiliza la técnica de evolución diferencial modificada pa-ra integrar la estructura y el control en el diseño de un CVT, además se realizala comparación del algoritmo basado en ED contra un algoritmo de programaciónmatemática donde se demuestra la competitividad de la técnica y las ventajas queofrece como la facilidad para la implementación y la velocidad para encontrar so-luciones.

En el siguiente cápitulo se presentará la descripción de lo que es un algoritmode operadores múltiples, su clasificación y las principales características de cadaclase.

Page 45: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

Capítulo 4

Algoritmos Multioperadores

Este capítulo se centrará en la descripción de dos mecanismos importantes enel uso de operadores múltiples, las hiperheurísticas y los ensambles e híbridos, lamotivación de su desarrollo y sus principales componentes. Además se presenta-rá un breve recorrido sobre las clasificaciones existentes y las características queposeen cada una de ellas.

4.1. Introducción

Para muchos problemas de optimización del mundo real, el uso de técnicasclásicas de búsqueda no es una tarea factible de ser realizada como medio paraencontrar la mejor solución, pues el conjunto de soluciones podría ser muy grande.Para este tipo de problemas es común utilizar métodos heurísticos, sesgando la bús-queda y sacrificando la posibilidad de encontrar la mejor solución, pero reduciendoel tiempo para obtener soluciones competitivas.

Por varios años, diferentes autores trataron de sustentar la superioridad de unaheurística sobre otras, para todos los tipos de problemas. Sin embargo, estos in-tentos se disminuyeron cuando Wolpert y MacReady hicieron la publicación de suteoremas "No Free Lunch" donde demuestran que no existe un algoritmo heurísti-co mejor que otro en todas las clases de problemas. Pues, cuando se promedian losresultados de cada heurística en todos los problemas definidos para un espacio debúsqueda finito, todas las heurísticas presentan el mismo rendimiento [13].

A pesar de lo anterior, antes de que este teorema fuera publicado se sabía que eluso de técnicas heurísticas individuales es capaz de presentar ciertas ventajas o lí-mitaciones dependiendo del problema que se quiere resolver. De esta manera, surgela idea de combinar o aplicar en una misma técnica diversas heurísticas explotandosus cualidades y compensando sus debilidades con las fortalezas de otras.

El desarrollo de técnicas basadas en multioperadores surge con este nuevo en-foque, pues a pesar de las capacidades de las heurísticas para resolver problemasde gran complejidad matemática, aún poseen algunas dificultades relacionadas asu capacidad para ser aplicadas a una diversidad más amplia de problemas. La

25

Page 46: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

26 CAPÍTULO 4. Algoritmos Multioperadores

principal característica que se pretende cubrir con el uso de las hiperheurísticasy ensambles, es hacer un algoritmo con aplicación más general que un algoritmoheurístico simple.

4.2. Hiperheurísticas

Dentro del grupo de técnicas denominadas como multioperadores, surge ungrupo de técnicas denominadas hiperheurísticas. Una de las características princi-pales de los algoritmos hiperheurísticos es que éstos trabajan sobre un conjuntode heurísticas y no sobre un conjunto de soluciones al problema de optimizacióncomo lo hacen las heurísticas y las metaheurísticas.

Una hiperheurística se podría definir entonces como una técnica para encontrarel método o secuencia de métodos correctos para resolver un problema de búsque-da. Cowling et al. [30], quien acuño el término, define una hiperheurística como:

Definición 1. Enfoques que funcionan a un nivel más alto de abstracción que lasheurísticas y gestionan la selección de lo que deberia ser un método heurístico debajo nivel para ser aplicado en un momento dado, dependiendo de las caracterís-ticas de la región del espacio de soluciones en exploración.

Edmund K. Burke et al [31] por otra parte define a la hiperheurística como:

Definición 2. Una metodología automatizada para seleccionar o generar heurísti-cas para resolver problemas complejos computacionales de búsqueda.

De acuerdo a las definiciones anteriores se puede considerar que la hiperheu-rística trabaja sobre el conjunto de heurísticas, siendo éste su espacio de búsqueda,mientras que las heurísticas trabajan sobre el conjunto de soluciones. Ello significaque la hiperheurística no trabaja para encontrar la mejor solución a un problemadeterminado. En vez de eso, la hiperheurística trabaja para encontrar el conjun-to de pasos que mejoraran potencialmente las soluciones existentes, y en caso deno hacerlo, la hiperheurística debería ser capaz de cambiar el conjunto de pasosnecesarios para tal propósito .

Regularmente las hiperheurísticas son confundidas con las metaheurísticas, sinembargo la diferencia principal radica en su campo de trabajo, pues como se men-cionó anteriormente, las hiperheurísticas trabajan sobre un conjunto de heurísticas,mientras que las metaheurísticas trabajan sobre el conjunto de soluciones al pro-blema que se resuelve. Otro punto importante es que existen ciertas desventajasrelacionadas a la implementación de las metaheurísticas, puesto que para manejar-las es necesario un conocimiento más amplio tanto sobre el manejo y calibraciónde parámetros de la metaheurística como de la representación del problema que seresuelve [13].

Page 47: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

4.2. Hiperheurísticas 27

4.2.1. Estructura y Funcionamiento

Como se mencionó anteriormente, existen ciertos elementos que componenlas hiperheurísticas; en la Figura 4.1 se puede observar que existen tres elementosprincipales: las heurísticas, el motor principal de la hiperheurística y una barreraentre el motor de la hiperheurística y las heurísticas de bajo nivel, conocida comobarrera de dominio. El nombre de barrera de dominio proviene del hecho de que eldominio sobre el que trabajan los elementos restantes no es el mismo.

Motor de la hiperheurística

Barrera de dominio

Heurística 1 Heurística 2 Heurística 3

Figura 4.1: Estructura básica de una hiperheurística. El motor de la hiperheurísticaes el encargado de tomar las decisiones respecto a las heurísticas de bajo nivel. Labarrera de dominio marca la diferencia entre el campo de aplicación de las heurísti-cas contra el campo de aplicación de la hiperheurística. Finalmente las heurísticasson los elementos encargados de manipular las soluciones y moverse dentro delespacio de búsqueda.

Villela [13] también propone una interfaz entre la hiperheurística y las heurísti-cas de bajo nivel. Además propone que toda interfaz presente en la hiperheurísticadebe considerar las siguientes características.

Interfaz estándar para el manejo de heurísticas, lo que significa, que sólo sedebe utilizar una interfaz para manejar el conjunto de heurísticas; pues no esfactible manejar interfaces independientes para cada heurística. Además, lainterfaz está obligada a decidir si el resultado de una heurística de bajo niveldebe aplicarse al estado actual de la búsqueda o sólo informar el posiblecambio que tendría en caso de aplicarse; lo que facilitaría la decisión por

Page 48: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

28 CAPÍTULO 4. Algoritmos Multioperadores

parte de la hiperheurística sobre cuál o cuales heurísticas se aplicarán paramodificar las soluciones.

La interfaz debe ser capaz de facilitar el desarrollo de heurísticas hacia otrosdominios. Así, cuando se quiera modificar la hiperheurística para resolverotros problemas, sólo será necesario asignar el conjunto de heurísticas debajo nivel y la función objetivo. Además, si las heurísticas de bajo nivelobedecen a la interfaz estándar, no será necesario modificarla permitiendoasí resolver los problemas sólo introduciendo la información necesaria.

Por otra parte, Ozcan [32], dice que el proceso de búsqueda de las hiperheu-rísticas puede ser dividido en dos partes fundamentales para su funcionamiento: laselección de la heurísitca y el movimiento de aceptación. No se hará un estudio aprofundida de estos mecanismos, pues existen diversas técnicas para cada una delas partes. En vez de ello, se explicará de manera general cada una de las dos partesque componen la hiperheurísticas.

Selección de la heurística: En esta parte se realiza el proceso de evaluación delos resultados obtenidos de aplicar las heurísticas de bajo nivel en el procesode búsqueda. Sin embargo, en este proceso los cambios que haya realizadola heurística no se aplican aún al estado actual de la búsqueda. El proceso deselección es el punto donde se obtiene información sobre las capacidades delas heurísticas de bajo nivel para tratar al problema que se resuelve.

Movimiento de aceptación: Aquí el algoritmo ya ha seleccionado la heurísticao conjunto de heurísticas que se utilizarán dependiendo de los resultadosobtenidos por el proceso de selección. El movimiento de aceptación es elproceso donde se utilizan los conocimientos previos obtenidos sobre el com-portamiento de las heurísticas aplicadas al problema que se resuelve.

Cabe mencionar que estos procesos son llevados a cabo por la interfaz imple-mentada en el motor de la hiperheurística, por lo que no es necesario un cono-cimiento profundo del problema que se resuelve. Es decir, es suficiente conocerel valor objetivo obtenido. De forma general el algoritmo hiperheurístico podríaquedar de la siguiente manera(Ver Algoritmo 2):

Algoritmo 2 Algoritmo general de una hiperheurísticaRequire: Función Objetivo f(x), Heurísticas H = [H1, H2, ...,HN ]

1: Crear un estado de búsqueda inicial S2: while Criterio de parada no cumplido do3: Seleccionar la heurística más apta para las condiciones del problema.4: Transformar el estado actual de la búsqueda aplicando la heurística seleccio-

nada5: end while

Page 49: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

4.2. Hiperheurísticas 29

Retroalimentación Naturaleza de el espacio de búsqueda

Aprendizaje

Aprendizaje

aprendizaje

En línea

fuera delínea

Sin

Hiper-heurística

Selección

Metodologías deselección

Generación

Metodologías de

Contrucciónheurística

Perturbación

heurística

heurística

heurística

heurística

Contrucción

Perturbación

heurística

generación

Figura 4.2: Taxonomía de acuerdo al tipo de algoritmos y la forma de cooperación

4.2.2. Clasificación

Las hiperheurísticas tienen un grupo de procesos fundamentales que las distin-guen de las demás técnicas que utilizan mutioperadores. Además, es posible clasifi-carlas de acuerdo a las características y mecanismos. Diversos trabajos han surgidocon la intención de dar una clasificación completa de estas técnicas como [33] querealiza una clasificación con base en la capacidad de aprendizaje de la técnica. Porotro lado en [8], la clasificación se centra en la forma de uso de las heurísticas. En[34] las heurísticas con clasificadas en las siguientes cuatro categorías.

Hiperheurísticas basadas en selección aleatoria de heurísticas de bajo nivel

Hiperheurísticas codiciosas que evaluan cada subconjunto de heurísticas pa-ra seleccionar la que mejor se comporta

Hiperheurísticas basadas en metaheurísticas

Hiperheurísticas con mecanismos de aprendizaje para manejar heurísticas debajo nivel

Finalmente en [35] se propone una clasificación más completa donde se haceun análisis utilizando las clasificaciones anteriores, y proponiendo una clasificaciónde acuerdo a dos partes que ellos denominan dimensiones. La primera dimensiónes de acuerdo a la naturaleza del espacio de búsqueda de la heurística, y la segundaes de acuerdo al punto de retroalimentación para su aprendizaje; estas dimensio-nes son ortogonales entre si lo que significa que diferentes espacios de búsquedaheurística pueden ser combinados con diferentes puntos de retroalimentación (VerFigura 4.2).

De acuerdo a la naturaleza del espacio de la búsqueda de la heurística, existendos categorías principales, que son:

Page 50: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

30 CAPÍTULO 4. Algoritmos Multioperadores

Selección Heurística: Son metodologías para la selección de heurísticas yaexistentes.

Generación Heurística: Se denominan a las metodologías que generan nue-vas heurísticas de componentes de heurísticas ya existentes.

A su vez cada una de las categorías de acuerdo a la clasificación de [35] sedividen en metodologías con base en la construcción o perturbación. Por otro la-do, la clasificación basada en la retroalimentación se subdivide en las siguientescategorías(Ver Figura 4.2):

Aprendizaje en línea

Aprendizaje fuera de línea

Sin aprendizaje

4.3. Ensambles e Híbridos

Al igual que las hiperheurísticas, los ensambles e híbridos son algoritmos dereciente creación y basan su funcionamiento en el uso de múltiples técnicas heurís-ticas o metaheurísticas en un solo algoritmo. Los ensambles e híbridos funcionanprincipalmente mediante el ajuste constante de los parámetros de cada una de lasheurísticas o metaheurísticas que contienen; de esta manera, durante cada ciclo elalgoritmo se ajusta a las necesidades de la búsqueda.

Por lo anterior, mientras que los ensambles estan íntimamente relacionados conlos ajustes de las heurísticas o metaheurísticas que manejan, las hiperheurísticasson independientes del funcionamiento de las heurísticas de bajo nivel.

4.3.1. Estructura y Funcionamiento

Los ensambles e híbridos no poseen un marco de trabajo definido para su fun-cionamiento. En general, estas técnicas dependen en gran medida de las caracterís-ticas de las heurísticas y metaheurísticas que cooperan en el mismo algoritmo.

En la actualidad existen diversos trabajos en relación al uso de ensambles; porejemplo en [36] se presentan dos híbridos basados en evolución diferencial para laoptimización en diseños de ingeniería, mediante el uso del algoritmo de evolucióndiferencial y un operador de búsqueda local por un lado; y por otro lado se realizala combinación del algoritmo de ED con la metaheurística de búsqueda harmónica.Mientras que en [? ] se presenta un ensamble de diversas variantes de evolucióndiferencial para resolver problemas con restricciones.

Page 51: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

4.3. Ensambles e Híbridos 31

4.3.2. Clasificación

No existe una clasificación general para los ensambles e híbridos debido a ladiversidad en sus mecanismos, sin embargo diversos trabajos han desarrollado cla-sificaciones particulares para algunos algoritmos de este tipo. Por ejemplo en [37]se propone una taxonomía de las metaheurísticas híbridas, mientras que en [38] seproponen la dos taxonomías la primera basada en el tipo de algoritmos y la segundabasada en la manera en que el algoritmo descompone el espacio de búsqueda paraencontrar las soluciones.

4.3.2.1. Taxonomía basada en algoritmos

Esta clasificación, está basada en el tipo de algoritmos que son utilizados demanera cooperativa. Se proponen las siguientes cuatro categorías (Ver Figura 4.3):

1. Algoritmos homogéneos seriales: En esta clase se encuentran aquellos me-canismos que utilizan diferentes instancias del mismo algoritmo buscandoen diversas subsecciones del espacio de búsqueda. El mecanismo se ejecutade forma secuencial y cada algoritmo provee una parte de la solución al pro-blema. Cada solución parcial es utilizada para formar una solución completaque es evaluada y utilizada en los siguientes ciclos.

2. Algoritmos homogéneos paralelos: Los mecanismos dentro de esta clasifi-cación usan diferentes variantes del mismo algoritmo corriendo en paraleloen búsqueda de una solución. La información transmitida entre los algorit-mos del mecanismo tiene diversas formas, principalmente obtenidas de lamejor solución encontrada hasta el momento.

3. Algoritmos heterogéneos seriales: Aquí se incluyen aquellos mecanismosque involucran diversos algoritmos en una cadena. La salida de un algoritmoes la entrada del siguiente.

4. Algoritmos heterogéneos paralelos: En esta clase entran aquellos meca-nismos que no entran en la segunda clasificación debido a la diversidad dealgoritmos que lo conforman.

4.3.2.2. Taxonomía basada en la descomposición del espacio

Esta clasificacion busca organizar los algoritmos cooperativos de acuerdo a laforma en que manejan el espacio de búsqueda y lo distribuyen entre los diferentesalgoritmos que cooperan(Ver Figura 4.4).

Descomposición implícita del espacio: Son todas aquellos mecanismos quedividen el espacio de búsqueda entre los algoritmos. En esta clase entran

Page 52: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

32 CAPÍTULO 4. Algoritmos Multioperadores

Algoritmos de búsqueda cooperativos

Heterogéneos?

?Paralelo

?Serial

Homogéneos?

?Serial

?Paralelo

Figura 4.3: Taxonomía de acuerdo al tipo de algoritmos y la forma de cooperación

Nivel de cooperación

Descomposición??

Descomposiciónexplicita del espacio

(Comparten solucionesparciales)

implicita del espacio Técnica híbrida

?

Figura 4.4: Clasificación de acuerdo al grado de cooperación que alcanza el algo-ritmo y la manera en que comparten el espacio de búsqueda

aquellos mecanismos cooperativos que tienen diferentes algoritmos(o dife-rentes variantes del mismo) buscando una solución y compartiendo infor-mación útil entre ellos. La descripción de implícito viene del hecho de quelos diversos algoritmos buscan en diferentes áreas en el espacio de búsquedadebido a que tienen diferentes soluciones iniciales y/o diferentes parámetrosde búsqueda.

Descomposición explícita del espacio: El espacio de búsqueda de divide deforma explícita, es decir cada algoritmo provee una porción de la soluciónque es reunida con la finalidad de proporcionar una solución completa.

Técnica híbrida: Son aquellos mecanismos que emplean ambos métodos dedescomposición del espacio de búsqueda.

Page 53: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

4.4. Clasificación del algoritmo propuesto 33

4.4. Clasificación del algoritmo propuesto

El algoritmo desarrollado puede clasificarse tanto en el grupo de las hiperheu-rísticas como dentro del de los ensambles ya que se buscó rescatar ciertas carac-terísticas que proporcionan ventaja a los algoritmos mutioperadores sobre técnicasque usan operadores únicos.

Una de las intenciones principales del diseño es la de independizar el mecanis-mo de selección del ajuste de parámetros mediante el uso de medidas de desempe-ño, siendo ésto un punto en común con las hiperheurísticas.

Por otro lado, la técnica propuesta comparte algunas características con losensambles e híbridos, por ejemplo en la taxonomía basada en algoritmos podríaclasificarse dentro del grupo de algoritmos homogéneos paralelos, pues el meca-nismo aquí propuesto utiliza tres variantes del mismo algoritmo de manera paralela,compartiendo información al realizar el ajuste de la población.

En el siguiente capítulo se presenta la propuesta de este trabajo, la motivaciónde realizar un algoritmo con múltiples operadores y el detalle de sus elementos yconstrucción.

Page 54: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores
Page 55: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

Capítulo 5

Técnica Propuesta

En este capítulo, se explica el algoritmo propuesto basado en el uso de tresvariantes de Evolución Diferencial. También se explican las variantes utilizadas enla implementación, el proceso de adaptación, así como las medidas de desempeñoutilizadas para seleccionar al más adecuado.

5.1. Motivación

Como se ha mencionado en capítulos anteriores, los problemas de optimizaciónobtenidos de modelos reales, en su mayor parte poseen un conjunto de restriccio-nes; lo que hace que los algoritmos de optimización en su versión original pierdancompetitividad al no contar con un sistema para el manejo de restricciones.

Además, debido a la gran gama de problemas existentes en el área de opti-mización, los algoritmos heurísticos y metaheurísticos como ED son incapaces demanejar todos los problemas con el mejor desempeño, por lo que es ventajoso con-tar con sistemas basados en múltiples operadores o heurísticas.

Otro punto importante es que aunque existe una diversidad considerable devariantes de ED desarrolladas para el manejo de problemas de optimización conrestricciones, no se han encontrado diseños de multioperadores que basen su usoen la aplicación de tales variantes.

Por otra parte, en el estudio del estado del arte se ha observado la aplicaciónde medidas de desempeño principalmente en el análisis del comportamiento delos algoritmos, así como en la comparación entre diversas técnicas; sin embargo,eltrabajo es aún escaso cuando las medidas de desempeño aportan información a latécnica para hacer la selección de operadores.

5.2. Solución propuesta

En el algoritmo aquí propuesto, se utilizan tres variantes de mutación y genera-ción de hijos obtenidos de tres variantes de ED. En esta propuesta, las tres variantes

35

Page 56: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

36 CAPÍTULO 5. Técnica Propuesta

compiten para generar más descendencia a partir de una población asignada en ca-da generación.

5.2.1. Variantes de ED

Debido a la gran competitividad demostrada por el algoritmo de ED en la reso-lución de problemas de optimización, diferentes investigaciones han surgido con lafinalidad de aplicar este algoritmo en problemas más complejos, mediante el uso dealgunas adaptaciones y técnicas para el manejo de restricciones en algunos casos,o mecanismos para el manejo de múltiples objetivos.

En la literatura especializada es muy común encontrar una amplia gama de va-riantes de este algoritmo; por ejemplo, en [39] se propone una modificación delalgoritmo de ED mediante el uso de un mecanismo de exploración local denomi-nado LPS (limited pattern search), el cual es llevado a cabo al finalizar el procesode selección, de tal manera que donde se encuentran localizados los mejores indi-viduos se ejecuta una búsqueda con la finalidad de posicionar a esos individuos enuna mejor región.

Otro ejemplo es el propuesto por Huang et al. [28] en donde se hace uso dedos poblaciones. Una población se mantiene en evolución constante, mientras quela otra funciona como almacén para guardar las soluciones factibles; utilizándolaspara reparar a las soluciones infactibles de la población en evolución cuando seanecesario.

En este trabajo particularmente se utilizaron dos variantes, además del algorit-mo original de ED/rand/1/bin. A continuación se explican las dos variantes.

5.2.1.1. Evolución Diferencial Modificada EDM

Este algoritmo propuesto por Mezura et al. [40] presenta una adaptación al al-goritmo general deED/rand/1/binmediante dos modificaciones, la del operadorde mutación junto con la generación de hijos y la modificación del mecanismo deselección.

En este algoritmo se propone la generación de una descendencia mayor por ca-da vector, a diferencia de la ED convencional donde sólo se genera un decendientepor vector. Además en el proceso de mutación se añade información sobre el mejorvector obtenido hasta el momento, lo que mejora el proceso de búsqueda. Ésto esporque el operador de mutación funciona como guía en la búsqueda reduciendoaleatoriedad respecto a la propuesta original.

La primera modificación al mecanismo de mutación y generación de hijos esfundamentada en que si se utiliza información de la mejor solución al proceso demutación y que si un solo padre produce más de un descendiente, el algoritmomejorará el proceso de exploración y explotación del área de búsqueda.

Así, para para incrementar las probabilidades de que los descendientes seanmejores, cada individuo en la población puede generar un número no (valor defini-do por el usuario) de hijos; donde cada elemento generado es creado de tal manera

Page 57: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

5.2. Solución propuesta 37

que se utliza información obtenida de la mejor solución de la población actual e in-formación del padre durante el proceso de mutación. Así, el operador de mutaciónpropuesto es:

ui,j,g+1 = xr3,j,g + Fα(xbest,j,g − xr2,j,g) + Fβ(xi,j,g − xr1,j,g) (5.1)

Donde, ~xbest es el mejor vector de la población actual, ~xi es el vector padre y~xr1 , ~xr2 y ~xr3 son vectores seleccionados aleatoriamente de la población actual y jy g son la posición del vector y la generación actual respectivamente; mientras queFα y Fβ son factores que indican la influencia sobre la dirección que tomarán losdecendientes tanto de la mejor solución y del vector padre, respectivamente. Cabemencionar que la recombinación discreta se mantiene como en la propuesta de EDoriginal (Ver algoritmo 3).

Por otra parte, el mejor vector descendiente es seleccionado mediante el uso delas reglas de factibilidad de Deb para competir contra su propio padre, basándoseen el mismo criterio de competencia pero utilizando el mecanismo de selecciónpropuesto.

Algoritmo 3 Algoritmo de la generación de descendencia por cada vector propues-to en EDMRequire: Número de descendientes no, factor de influencia de la mejor solución

Fα, factor de influencia del padre Fβ1: for k = 1 to no do2: Seleccionar aleatoriamente r1 6= r2 6= r3 6= i3: for j = 1 to D do4: if (randj [0, 1) ≤ CR or j = jrand) then5: childi,j,g = xr3,j,g + Fα(xbest,j,g − xr2,j,g) + Fβ(xi,j,g − xr1,j,g)6: else7: childi,j,g = xi,j,g−18: end if9: if k > 1 then

10: if child es mejor que ~ui,g+1 basado en el criterio de selección then11: ~ui,g+1 = child12: end if13: else14: ~ui,g+1 = child15: end if16: end for17: end for

La segunda modificación propuesta, se basa en que algunas soluciones puedenencontrarse en regiones infactibles; sin embargo, es posible que cercanas a regio-nes factibles y con buenas soluciones; por lo que el mecanismo que se propone es

Page 58: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

38 CAPÍTULO 5. Técnica Propuesta

realizar una de dos selecciones donde la probabilidad Sr es que la primera selec-ción sea en base a la función objetivo sin considerar restricciones y 1 − Sr sea lasegunda utilizando un criterio de selección considerando las restricciones.

La probabilidad Sr de elegir entre la primera selección y la segunda es ini-cializada por el usuario, ya que durante la primera tercera parte Sr disminuye,dando más importancia a la selección con el uso de restricciones; lo anterior sehace ya que durante las primeras etapas de la búsqueda se le da más importanciaa la exploración del espacio de soluciones, mientras que en las etapas finales, elalgoritmo debe concentrarse en mejorar las soluciones factibles ya obtenidas(Veralgoritmo4).

Algoritmo 4 Algoritmo para elegir el mecanismo de selecciónRequire: Probabilidad de elegir la selección basada en función objetivo Sr

1: if (flip(Sr) then2: if f(~ui,G+1) ≤ f(~xi,G) then3: ~xi,G+1 = ~ui,G+1

4: else5: ~xi,G+1 = ~xi,G6: end if7: else8: if ~ui,G+1 es mejor que ~xi,G basado en el criterio de selección then9: ~xi,g+1 = ~ui,G+1

10: else11: ~xi,G+1 = ~xi,G12: end if13: end if

5.2.1.2. Evolución Diferencial Adaptativa ADE

Esta adaptación propuesta por YouYun et Al. [41] presenta un mecanismoadaptable de búsqueda; mediante cuatro ajustes principales en el algoritmo de EDoriginal. En primera instancia, se propone, modificar la generación de los indivi-duos de la población inicial mediante el uso de un algoritmo basado en el métodoortogonal de diseño; de tal manera que la población inicial generada cubra la mayorparte del espacio de soluciones de manera uniforme.

El siguiente ajuste es el propuesto para la generación de la descendencia, me-diante el uso de un esquema de mutación multipadre; así, para generar un nuevoindividuo, por cada elemento de la población se realiza un conjunto de vectores demutación mediante el apoyo de otros vectores de la población que proporcionaninformación en el proceso de mutación. Además, se toma en cuenta la informaciónde la mejor solución actual.

El proceso de mutación multipadre es el siguiente: Por cada elemento ~xi,g de lapoblación actual Pg, un vector de perturbación es generado utilizando la siguiente

Page 59: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

5.2. Solución propuesta 39

expresión:

~vi,g+1 = ~xi,g +

K∑k=1

wk ∗ (~xrk,t − ~xrk+1,t) (5.2)

donde r1, r2, . . . , rK ∈ {1, 2, . . . , NP}\ i,K enteros aleatoriamente seleccio-nados diferentes entre sí, y xrK+1,g = xr1,g. El ajuste de pesos wk es el siguiente:

~ξ = randn(1,K), ~w = ~ξ/sum(ξ) (5.3)

Donde rand(1,K) es una matriz 1 ∗K con números seleccionados aleatoria-mente con una distribución normal, sum(~ξ) es utilizado para calcular la suma detodos los componentes del vector ~ξ, y ~w = [w1, w2, . . . , wk].

De acuerdo a la variable ~w, las fórmulas 5.2 y 5.3 se repitenK veces, por lo tan-toK vectores de mutación son generados ui,g+1{1}, ui,g+1{2}, . . . , ui,g+1{K} delosK padres seleccionados; posteriormente,K vectores hijos xi,g+1{1}, xi,g+1{2}, . . . , xi,g+1{K}son creados mediante el proceso de recombinación.

Por otro lado, este algoritmo propone un método de cruza o recombinaciónadaptativa, el proceso de adaptación es mediante el ajuste de CR; pues a diferenciade la versión original donde CR se mantiene constante, en esta propuesta CRdepende de la generación en la que se encuentre el algoritmo. El cálculo de CR sehace de la siguiente forma:

CR = CR0 ∗ exp

(−a(

g

MAX_GEN

)b)(5.4)

Donde, CR0 es el parámetro de cruza inicial, y es un valor constante; usual-mente con valores de 0.8 o 0.85, g es la generación actual y MAX_GEN es ellímite máximo de generaciones, b es el parámetro que ajusta la dependencia al nú-mero de generación en el que se encuentra, a y b son constantes positivas y sepropone que sean ajustadas a 2 y a 2 o 3 respectivamente.

Con este ajuste, en las primeras etapas se utiliza un parámetro de cruza alto demanera que la diversidad de las soluciones se mantenga previniendo la convergen-cia prematura; mientras que en las etapas finales, el valor de CR es menor con lafinalidad de enfocarse en las mejores soluciones promoviendo la búsqueda localalrededor de las mejores soluciones.

Además, se propone el uso de un método de reparación que es ejecutado encaso de que alguna de las variables del vector de diseño se encuentre fuera de loslímites definidos por el problema; de tal forma, que los valores de las variables queno cumplan con los límites son reflejados desde el límite. Las reglas de reparación

Page 60: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

40 CAPÍTULO 5. Técnica Propuesta

quedan de la siguiente manera:

~ui,j,g+1 =

Lj+ui,j,g+1

2 si (p ≤ 1/3) ∧ (ui,j,g+1 < Lj)Lj si (1/3 < p ≤ 2/3) ∧ (ui,j,g+1 < Lj)

2Lj − ui,j,g+1 si (p ≤ 2/3) ∧ (ui,j,g+1 < Lj)Uj+ui,j,g+1

2 si (p ≤ 1/3) ∧ (ui,j,g+1 > Uj)Uj si (1/3 < p ≤ 2/3) ∧ (ui,j,g+1 > Uj)

2Uj − ui,j,g+1 si (p > 2/3) ∧ (ui,j,g+1 > Uj)

(5.5)

donde p es una probabilidad obtenida de un numero aleatorio con distribuciónuniforme en el rango [0, 1]. El proceso completo propuesto se muestra en el algo-ritmo 5.

Algoritmo 5 Algoritmo propuesto en ADE [41]Require: Probabilidad de elegir la selección basada en función objetivo Sr

1: Generar la población inicial usando el método de diseño ortogonal, ajustarCR0

2: while condición de parada no cumplida do3: for cada individuo ~xi, g en P do4: Generar K enteros aleatorios diferentes entre sí r1, r2, . . . , rK ∈

{1, 2, . . . , N} \ i5: for cada k ∈ {1, 2, . . . ,K} do6: Aplicar la mutación multipadre para generar un vector de mutación

~vi,g+1{k}7: for cada parámetro j do8: Realizar la recombinación 3.49: Si ui,j,g+1 sobrepasa los límites inferiores o superiores, aplicar la

regla de reparación 5.510: end for11: end for12: Encontrar el mejor vector ~ui,g+1 de los hijos

{~ui,g+1{1}, ~ui,g+1{2}, . . . , ~ui,g+1{K}} basados en las reglas defactibilidad de Deb.

13: Reemplazar ~xi,g con ~ui,g+1 en la población que formará la siguiente gene-ración, Si ~ui,g+1 es mejor, de otra forma ~xi,g se mantiene en la poblaciónsiguiente

14: end for15: g=g+116: end while

Page 61: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

5.2. Solución propuesta 41

5.2.2. Operadores

En el presente trabajo se utilizaron tres operadores de mutación y generaciónde hijos obtenidos de las variantes del algoritmo de ED descritas en la secciónanterior. Los operadores obtenidos que se explican a continuación mantienen elnombre de la propuesta original de la que fueron tomados tanto en el diseño delalgoritmo como en el análisis de resultados.

Operador ED

Es el operador de mutación más utilizado y popular de las variantes de EDdenominado DE/rand/1/bin [24], donde un vector de mutación es generadopor tres vectores seleccionados aleatoriamente de la población actual (VerEc. 3.3). La generación del vector hijo se realiza con la operación de cruzabinaria (Ver Ec. 3.4).

Operador DEM

Es el algoritmo propuesto en [40] para el manejo de problemas de optimiza-ción con restricciones, donde se calculan dos diferencias:

• Entre el mejor vector en la población actual y un vector seleccionadoaleatoriamente.

• Y entre el vector padre y otro vector seleccionado aleatoriamente.

El proceso de generación de descendencia utilizado es el mostrado en elAlgoritmo 3

Operador ADE

Se utiliza el operador de mutación (Ver Ec. 5.2) y generación de hijos pro-puesto en [41], donde se propone el uso de un mecanismo multipadre. Elproceso de generación de hijos se modifica ligeramente tal como lo muestrael Algoritmo 6.

5.2.3. Medidas de Desempeño

Para el proceso de competencia llevado a cabo en el mecanismo de adaptaciónque se explicará más adelante, se utilizan dos medidas de desempeño. La prime-ra mide la convergencia de la población mientras que la otra sirve para medir lamejora de la mejor solución de una generación a otra, ésto con la finalidad deproporcionar al mecanismo aquí propuesto un fundamento sólido para tomar lasdecisiones y así ajustar su comportamiento durante la ejecución, permitiendo laselección del operador más adecuado para la región de búsqueda actual.

Page 62: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

42 CAPÍTULO 5. Técnica Propuesta

Algoritmo 6 Algoritmo modificado de ADERequire: Número de padres y descendientes K

1: Generar K enteros aleatorios diferentes entre sí r1, r2, . . . , rK ∈{1, 2, . . . , N} \ i

2: for cada k ∈ {1, 2, . . . ,K} do3: Aplicar la mutación multipadre para generar un vector de mutación

~vi,g+1{k}(Ver Eq. 5.2)4: for cada parámetro j do5: Realizar la recombinación (Ver Eq.3.4)6: end for7: end for8: Encontrar el mejor vector ~ui,g+1 de los hijos{~ui,g+1{1}, ~ui,g+1{2}, . . . , ~ui,g+1{K}} basados en las reglas de factibi-lidad de Deb.

9: Reemplazar ~xi,g con ~ui,g+1 en la población que formará la siguiente genera-ción, Si ~ui,g+1 es mejor, de otra forma ~xi,g se mantiene en la población si-guiente

5.2.3.1. Diferencia de convergencia

Es la diferencia de la convergencia de la población[42] antes y depués de haberaplicado el algoritmo. La convergencia de la población permite evaluar la capaci-dad del algoritmo para converger basándose en la cercanía de las soluciones. Si seconsidera que durante la ejecución del algoritmo al inicio la población se encuen-tra dispersa y que durante las siguientes ejecuciones la dispersión será menor; seconcluye que la convergencia tiene una relación con el valor de la función objetivoobtenido durante cada iteración. P-measure es el radio de la población que se cal-cula como la distancia euclidiana desde el centro de la población hasta el individuomás alejado del centro. El centro de la población (Op) se calcula como el vectorpromedio de todos los individuos (Ver ec. 5.6).

Op =

∑NPi=1 ~xiNP

(5.6)

Donde, NP es el tamaño de la población y ~xi es el individuo i de la población.Así, la fórmula de P-measure(Pm) se denine en la Ec. 5.7:

Pm = max ‖ ~xi −Op ‖E , i = 1, ..., NP. (5.7)

Así, la Diferencia de Convergencia(DC) se establece en la Ec.5.8

DC = Pm(P (t− 1))− Pm(P (t)) (5.8)

Donde P (t − 1) es la población antes de la aplicación de la variante de ED yP (t) es la población después de la aplicación de la variante de ED.

Page 63: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

5.2. Solución propuesta 43

5.2.3.2. Progress Ratio

Se propuso originalmente en [43] para medir la mejora dentro de la regiónfactible del espacio de búsqueda. En esta propuesta la medida de desempeño esligeramente modificada, de tal manera que es usada para calcular la capacidad delalgoritmo para mejorar la mejor solución factible de la población después de aplicarcada operador en cada generación. Ésto se calcula de la siguiente forma (Ec. 5.9):

Pr =

∣∣∣∣∣ln√fmin(t− 1)

fmin(t)

∣∣∣∣∣ (5.9)

Donde fmin(t − 1) es el valor de la función objetivo con la mejor soluciónfactible de la poblacion anterior P (t−1) y fmin(t) es la función objetivo evaluadacon la mejor solución factible obtenida después de aplicar la variante.

5.2.4. Descripción general del Algoritmo

En el algoritmo que se propuesto se utiliza un mecanismo basado en pobla-ciones de tamaño variable. Existe una población global P (0) compuesta por NPvectores que es dividida en tres subpoblaciones, que son asignadas a las variantesacuerdo a su capacidad para generar soluciones más competitivas.

En la Figura 5.1 se muestra de manera esquemática el mecanismo propues-to donde existe un mecanismo de adaptación que es el encargado de gestionar eltamaño de las subpoblaciones con base en las medidas de desempeño; las cualesrealizan la evaluación comparando la subpoblaciones antes y después de aplicar lasvariantes.

Mientras que en la Figura 5.2 se presenta el diagrama de flujo seguido por elalgoritmo durante cada ciclo de ejecución.

Page 64: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

44 CAPÍTULO 5. Técnica Propuesta

? ? ?

6P1(t) P2(t) P3(t)

v1 v2 v3

P ′1(t+ 1) P ′2(t+ 1) P ′3(t+ 1)

-

Mecanismo de adaptación Medidas deDesempeño

PR

DC

Figura 5.1: Diagrama esquemático del algoritmo propuesto, donde P (t) son lassubpoblaciones antes de ser evolucionadas por cada variante v y PR y DC son elProgress Ratio y la Diferencia de convergencia respectivamente

Page 65: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

5.2. Solución propuesta 45

Inicio

Inicializar los parámetros P (0), DC, PR, TP ,peso,porcion

Repartir la población P (0) entre P1(0),P2(0),P3(0) en partes iguales.

Aplicar cada heurística a las subpoblaciones asignadasy calcular su desempeño usando Ec 5.9. y Ec.5.8.

P ′2(t + 1) = v2(P2(t))P ′

1(t + 1) = v1(P1(t)) P ′3(t + 1) = v3(P3(t))

Evaluación de fuerzas con base en las medidas de desempeño y ajuste de pesos.

Actualizar pesov2(t)con las reglas de ajuste

Actualizar pesov1(t)con las reglas de ajuste

Actualizar pesov3(t)con las reglas de ajuste

Calcular porcentaje de población asignado a ca-da variante para el siguiente ciclo Ec.5.10.

Selección de la población para la siguiente generación

P2(t) vs P ′2(t + 1)P1(t) vs P ′

1(t + 1) P3(t) vs P ′3(t + 1)

Se unen las porciones de la población y se desordena

Se reparte la población entre cada variante conforme al va-lor de porcion Ec. 5.10 y se ajustan al tamaño mínimo.

Fin

Repetir

Figura 5.2: Diagrama de flujo del algoritmo propuesto en un ciclo

Page 66: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

46 CAPÍTULO 5. Técnica Propuesta

5.2.4.1. Mecanismo de adaptación

Como se mencionó anteriormente, las tres variantes compiten para hacer eluso de una subpoblación mayor. El mecanismo de adaptación es el encargado deasignar el tamaño de la subpoblación dependiendo del comportamiento de cadavariante en el proceso de búsqueda. Para analizar el comportamiento, el algoritmoutiliza las medidas de desempeño y asigna un valor de fuerza denominado peso acada variante. La actualización de los pesos se hace después de cada ciclo con baseen las siguientes reglas:

Si una de las variantes es mejor que las otras en ambas medidas de desem-peño, se añade 1 al peso asignado a esa variante y se resta 1 al peso de lasvariantes restantes.

Si una variante es mejor que otra en una medida de desempeño pero peor enla otra medida, ambas aumentan en 1 su peso.

Si dos variantes empatan en ambas medidas de desempeño, las dos reciben1 en el valor de su peso

Si dos variantes empatan en alguna medida de desempeño, y en la otra nohay empate entonces la que tenga mejor valor en esa medida aumenta en 1su valor de peso y la otra pierde 1.

Una vez que el proceso de actualización de pesos es completado, existe un pro-ceso de ajuste de poblaciones. El ajuste de poblaciones se hace con la finalidad deque la variante con la mayor fuerza (peso) obtenga una mayor cantidad de vecto-res en su subpoblación correspondiente. El proceso de ajuste es calculado a partirde los valores de peso ya actualizados, cada subpoblación ajusta la cantidad devectores que contiene de acuerdo a un valor denominado porcion (Ver Ec. 5.10).

porcioni(t+ 1) =pesovi(t)∑3j=1 pesovj(T )

, i = 1, 2, 3 (5.10)

donde pesovi(T ) es la fuerza de la variante vi, i es la variante a la que se leasignara el valor de porcion calculado y j es el índice para realizar la suma detodas las fuerzas. Así, por cada variante de ED el tamaño de subpoblación en lasiguiente generación si(t+ 1) puede ser calculada(Ver Ec.5.11).

si(t+ 1) = NP ∗ porcioni(t+ 1); i = 1, 2, 3 (5.11)

donde NP es el tamaño de la población total.

5.2.4.2. Algoritmo general

El proceso completo llevado a cabo por el algoritmo aquí propuesto se muestraa continuación (Ver Algoritmo 7).

Page 67: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

5.2. Solución propuesta 47

1. Se genera una población global conNP vectores tal queP (0) = { ~x1, ~x2, . . . , ~xNP },donde cada vector representa una solución potencial al problema.

2. La población global P (0) se divide en partes iguales entre las tres varian-tes (P1(0), P2(0), P3(0)). Con ésto al inicio de la ejecución se mantiene laequidad entre todas las variantes.

3. Se asigna a cada variante el valor que determina su fuerza, al inicio del al-goritmo todas la variantes poseen una fuerza con valor de 1 (pesov1(0) =pesov2(0) = pesov3(0) = 1).

4. Cada variante genera una subpoblación hija P ′sp(t− 1) a partir de la subpo-blación asignada Psp(t− 1), sp = 1, 2, 3.

5. Una vez que todas las variantes han generado su correspondiente subpobla-ción, las dos medidas de desempeño son evaluadas en cada una de las sub-poblaciones, considerando en cada caso la subpoblación actual Psp(t− 1) yla recién generada P ′sp(t− 1), sp = 1, 2, 3 (Ver Ec. 5.7 y Ec. 5.9.).

6. Se seleccionan los elementos que formarán la siguiente generación. Ésto sehace en competencia de vectores padre contra vectores hijo de cada pobla-ción, utilizando las reglas de factibilidad de Deb [3].

7. Se lleva a cabo el proceso de actualización de fuerzas mediante la compara-ción de las medidas de desempeño.

8. Se ajustan los tamaños de población asignados a cada variante (Ver Eq. 5.10y Eq. 5.11).

9. La población total se reune y desordena con la finalidad de que las variantestrabajen con distintos vectores en cada generación.

10. La poblacion total se divide en subpoblaciones con base en los valores deporcion recién asignados.

11. Si en alguna de las subpoblaciones la cantidad de vectores que la compo-nen es menor que 5, se toman vectores de las subpoblaciones restantes paramantener con un mínimo de 5 el tamaño de cada subpoblación; pues cadavariante requiere un mínimo de 5 individuos para trabajar correctamente.

12. Se repite el ciclo desde el paso 4 hasta que se alcanzan CH ciclos.

Page 68: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

48 CAPÍTULO 5. Técnica Propuesta

Algoritmo 7 Pseudocódigo del algoritmo propuestoRequire: Número de ciclos CH , Tamaño de la población NP

1: Generar P (0) de tamaño NP de manera aleatoria y evaluar cada vector enP (0)

2: Dividir P (0) en tres subpoblaciones P1(0), P2(0), y P3(0) de igual tamaños1(0) = s2(0) = s3(0)

3: pesov1(0) = pesov2(0) = pesov3(0) = 14: t = 05: while t ≤ CH do6: Aplicar las variantes de ED (v1, v2, y v3) a la subpoblación correspondiente

P1(t), P2(t), y P3(t) para generar descendencia P′1(t + 1), P

′2(t + 1), y

P′3(t+ 1) y evaluar cada vector recién generado.

7: Calcular DC (Eq. 5.8) y PR (Eq. 5.9) para cada subpoblación sp con baseen Psp(t) y P

′sp(t+ 1), sp = 1, 2, 3

8: Actualizar los valores de fuerza(peso) de cada variante de ED pesov1(t),pesov2(t), and pesov3(t)

9: Calcular porcioni(t+ 1), i = 1, 2, 3 (Eq.5.10)10: Ajustar el tamaño de las subpoblaciones si(t+ 1), i = 1, 2, 3 (Eq.5.11)11: Generar la población para la siguiente generación P (t + 1) seleccionando

en base a las reglas de Deb la mejor solución entre padre e hijo en cadasubpoblación Psp(t) y P

′sp(t+ 1), sp = 1, 2, 3

12: Desordenar la nueva población P (t+ 1)13: Repartir los vectores contenidos enP (t+1) en cada subpoblaciónPsp(t+1),

sp = 1, 2, 3, de acuerdo al tamaño actualizado de cada una si(t + 1), i =1, 2, 3

14: t = t+ 115: end while

Page 69: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

5.2. Solución propuesta 49

En esté capítulo se presentó la estructura y los componentes del algoritmo,en el siguiente capítulo se presentarán los problemas que fueron utilizados paraprobar el comportamiento de la propuesta además se presentarán los resultados yla comparación contra algoritmos del estado del arte.

Page 70: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores
Page 71: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

Capítulo 6

Resultados

En este capítulo se describe el desarrollo experimental así como los resultadosobtenidos por el algoritmo propuesto. Además, se hace la comparación del algorit-mo contra varios algoritmos encontrados en la literatura especializada. También sepresenta un análisis del comportamiento del algoritmo de acuerdo a las caracterís-ticas del problema.

6.1. Diseño experimental

Para la evaluación del comportamiento del algoritmo se utilizaron dos gruposde problemas de prueba. A continuación se presentan los resultados y el análisis demanera independiente.

6.2. Problemas de prueba

Se utilizaron 24 problemas de optimización con restricciones propuestas en[44] y se realizó la comparación con otras técnicas. La tabla 6.1 contiene las princi-pales características de los problemas utilizados, donde n es el número de variablesque tiene el problema, LI es el número de restricciones lineales de desigualdad,NI es el número de restricciones no lineales de desigualdad, LE es el número derestricciones lineales de igualdad,NE es el número de restricciones no lineales deigualdad, a es el número de restricciones activas y ρ es la medida para estimar eltamaño del área factible propuesto por Michalewicz y Schoenauer [45], calculadode la siguiente manera (Ver Ec.6.2)

ρ =|F||S|

(6.1)

donde |F| es el número de soluciones factibles y |S| es el total de solucionesgeneradas aleatoriamente(Michalewicz propone |S|= 1 ∗ 106).

51

Page 72: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

52 CAPÍTULO 6. Resultados

Tabla 6.1: Características principales de los 24 problemas de prueba

Función n Tipo de función ρ LI NI LE NE ag01 13 cuadrática 0.0003 % 9 0 0 0 6g02 20 no lineal 99.9973 % 0 2 0 0 1g03 10 no lineal 0.0026 % 0 0 0 1 1g04 5 cuadrática 27.0079 % 0 6 0 0 2g05 4 no lineal 0.0000 % 2 0 0 3 3g06 2 no lineal 0.0057 % 0 2 0 0 2g07 10 cuadrática 0.0000 % 3 5 0 0 6g08 2 no lineal 0.8581 % 0 2 0 0 0g09 7 no lineal 0.5199 % 0 4 0 0 2g10 8 lineal 0.0020 % 3 3 0 0 6g11 2 cuadrática 0.0973 % 0 0 0 1 1g12 3 cuadrática 4.7697 % 0 1 0 0 0g13 5 no lineal 0.0000 % 0 0 0 3 3g14 10 no lineal 0.0000 % 0 0 3 0 3g15 3 cuadrática 0.0000 % 0 0 1 1 2g16 5 no lineal 0.0204 % 4 34 0 0 4g17 6 no lineal 0.0000 % 0 0 0 4 4g18 9 cuadrática 0.0000 % 0 13 0 0 6g19 15 no lineal 33.4761 % 0 5 0 0 0g20 24 lineal 0.0000 % 0 6 2 12 16g21 7 lineal 0.0000 % 0 1 0 5 6g22 22 lineal 0.0000 % 0 1 8 11 19g23 9 lineal 0.0000 % 0 2 3 1 6g24 2 lineal 79.6556 % 0 2 0 0 2

Para la resolución de los 24 problemas de prueba propuestos en [44] se ajusta-ron los parámetros del algorimo con los valores de la tabla 6.2. Por cada problemase realizaron 30 ejecuciones independientes.

Cabe mencionar que en la mayoría de los problemas el número de ciclos nece-sarios por el algoritmo para llegar a la solución óptima (o mejor solución conoci-da) fue menor, por lo que el número de evaluaciones necesarias son menores. Sinembargo, con la finalidad de hacer el estudio comparativo, se ajustó para que elnúmero de evaluaciones coincidiera con las propuestas por los algoritmos del esta-do del arte así como también para utilizar los mismos valores de los parámetros entodos los problemas.

Tabla 6.2: Valores utilizados por cada parámetro del algoritmo propuesto.

Elemento Parámetro ValorNP 21

Generales CH 5000Evals 2600

ED CR 0.7F 0.9

ADE CR 0.5K 3

CR 0.7DEM Fα 0.9

Fβ 0.4no 3

Page 73: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

6.2. Problemas de prueba 53

6.2.1. Análisis estadístico y discusión de resultados finales

Los resultados obtenidos por el algoritmo propuesto se muestran en la tabla6.3, además se muestra una comparación contra tres algoritmos del estado del artepropuestos en [46] y [47]. En la comparación,se realizó la prueba t de dos muestrascon un 95 % de confianza, para evaluar si existe una diferencia significativa entrelos resultados obtenidos por los algoritmos del estado del arte y los obtenidos porel algoritmo propuesto. El resultado de la prueba t se muestra en la última colum-na donde "

√"significa que se encontró una diferencia significativa entre ambos

algoritmos y "X"que no existe una diferencia significantiva entre los algoritmos.Los resultados demuestran que el algoritmo es capaz de encontrar los mismos

resultados que los algoritmos de la comparación en siete de los 22 los problemas(g01, g04, g06, g08, g09, g11, g12, g16 y g24). Mientras que el algoritmo fue capazde mejorar los resultados de los tres algoritmos en los problemas g10, g15 y g18.Considerando la comparación anterior, sugiere que el algoritmo propuesto es capazde ofrecer resultados competitivos y en algunos casos mejores que los obtenidospor algoritmos mutioperadores del estado del arte, como los obtenidos en g10, g15y g18.

Page 74: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

54 CAPÍTULO 6. Resultados

Tabla 6.3: Comparación estadística del algorimo propuesto contra tres algoritmosencontrados en el estado del arte

Problema/Óptimo Estadística Propuesta SAMO-GA SAMO-DE TLBO t-testg01 Mejor -15.0000 -15.0000 -15.0000 -15.0000

-15.0000 Promedio -15.0000 -15.0000 -15.0000 -15.0000 X X XDesv. Estándar 0.00E+0 0.00E+0 0.00E+0 0.00E+00

g02 Mejor -0.803603 -0.803591 -0.803619 -0.803619-0.803619 Promedio -0.782710 -0.796048 -0.798735 -0.803619

√√√

Desv. Estándar 20.1E-03 5.8025E-03 8.8005E-03 0.00E+00g03 Mejor -1 -1 -1 -1-1. Promedio -0.988 -1 -1 -1

√√√

Desv. dev 23.5E-03 0.00E+00 0.00E+00 1.40E-04g04 Mejor -30665.539 -30665.539 -30665.539 -30665.539

-30665.539 Promedio -30665.539 -30665.539 -30665.539 -30665.539 X X XDesv. Estándar 1.4138E-11 0.00E+00 0.00E+00 0.00E+00

g05 Mejor 5126.484 5126.497 5126.497 5126.4845126.484 Promedio 5126.591 5127.976 5126.497 5168.7194

√X√

Desv. Estándar 585.7E-03 1.1166E+00 0.00E+00 5.41E+01g06 Mejor -6961.814 -6961.814 -6961.814 -6961.814

-6961.814 Promedio -6961.814 -6961.814 -6961.813875 -6961.814 X X XDesv. Estándar 4.6252E-12 0.00E+00 0.00E+00 0.00E+00

g07 Mejor 24.307 24.306 24.306 24.30624.306 Promedio 24.309 24.411 24.310 24.310

√X X

Desv. Estándar 2E-03 4.5905E-02 1.5888E-03 7.11E-03g08 Mejor -0.095825 -0.095825 -0.095825 -0.095825

-0.095825 Promedio -0.095825 -0.095825 -0.095825 -0.095825 X X XDesv. Estándar 1.4115E-17 0.00E+00 0.00E+00 0.00E+00

g09 Mejor 680.630 680.630 680.630 680.630680.630 Promedio 680.630 680.634 680.630 680.630 X X X

Desv. Estándar 1.9868E-07 1.4573E-03 1.1567E-05 0.00E+00g10 Mejor 7049.365 7049.248 7049.248 7052.488

7049.28 Promedio 7050.373 7144.40311 7059.813 7143.45√√√

Desv. Estándar 771.8E-03 6.7860E+01 7.856E+00 1.13E+02g11 Mejor 0.75 0.75 0.75 0.750.75 Promedio 0.75 0.75 0.75 0.75 X X X

Desv. Estándar 1.1292E-16 0.00E+00 0.00E+00 7.06E-05g12 Mejor -1 -1 -1 -1-1 Promedio -1 -1 -1 -1 X X X

Desv. Estándar 0.00E+00 0.00E+00 0.00E+00 0.00E+00g13 Mejor 0.05390 0.05394 0.05394 0.13314

0.05394 Promedio 0.33032 0.05403 0.05394 0.83851 X X√

Desv. Estándar 333.0E-03 5.9414E-05 1.7541E-08 2.26E-01g14 Mejor -47.6900 -47.1883 -47.76489 -47.639

-47.76488 Promedio -46.4775 -46.47317932 -47.68115 -43.805 X√√

Desv.Estándar 6.7074E-01 3.1590E-01 4.043E-02 2.32E+00g15 Mejor 961.7136 961.71502 961.71502 961.715

961.71502 Promedio 961.7136 961.715087 961.71502 962.044√√√

Desv.Estándar 3.46891E-13 5.5236E -05 0.00E + 00 4.39E-01g16 Mejor -1.905155 -1.905155 -1.905155

-1.905155 Promedio -1.905155 -1.905154 -1.905155 -1.905155√

X XDesv.Estándar 0.00E+00 6.9520E-07 0.00E+00 0.00E+00

g17 Mejor 8853.5377 8853.5397 8853.5397 8853.818853.5397 Promedio 8923.8587 8853.8871 8853.5397 8895.7544

√√X

Desv.Estándar 8.0739E+01 1.7399E-01 1.1500E-05 5.14E+01g18 Mejor -0.866022 -0.866025 -0.866025 -0.866025

-0.866025 Promedio -0.865716 -0.865545 -0.866024 -0.865755 X√

XDesv.Estándar 6.6302E-04 4.0800E-04 7.043672E-07 5.09E-04

g19 Mejor 32.69985562 32.655592 32.655593 33.29432.65559 Promedio 32.77384164 36.427463 32.757340 33.3699

√X√

Desv.Estándar 5.2969E-02 1.0372E+00 6.145E-02 7.87E-02g21 Mejor 193.27187553 193.724510 193.724510 194.231

193.72451 Promedio 290.5729 246.091539 193.771375 206.118 X√√

Desv.Estándar 1.3145E+02 1.4917E+01 1.9643E-02 2.99E+01g23 Mejor -302.0160 -355.661000 -396.165732 -387.716

-400.0551 Promedio -51.4663 -194.760335 -360.817656 -352.263√√√

Desv.Estándar 1.3718E+02 5.3278E+01 1.9623E+01 2.33E+01g24 Mejor -5.5080137 -5.508013 -5.508013 -5.508013

-5.508013 Promedio -5.508013 -5.508013 -5.508013 -5.508013 X X XDesv.Estándar 0.00E-00 0.00E+00 0.00E+00 0.00E+00

Page 75: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

6.2. Problemas de prueba 55

6.2.2. Análisis de comportamiento

Además del análisis de los resutados finales obtenidos por el algoritmo se reali-zó un análisis del comportamiento del algoritmo mediante la medición del tamañode las subpoblaciones asignadas a cada variante.

Se obtuvieron las gráficas del comportamiento promedio de cada subpoblacióna lo largo de la ejecucion completa. El eje x representa el ciclo de ejecución enel que se encontraba el algoritmo y el eje y representa el porcentaje de poblaciónasignado en cada ciclo.

En las gráficas se puede observar que durante la primera cuarta parte de todala ejecución en casi todos los problemas, la competencia es más notoria, pues eltamaño de las subpoblaciones fluctua demasiado en algunos problemas (g01, g11,g19, g24). Mientras que en otros la ventaja de una variante con respecto a lasdemás es muy notable estabilizandose al final de la ejecución (g04, g05, g08, g13).Ésto se puede atribuir a las características del espacio de búsqueda, pues se debeconsiderar que al inicio de la ejecución el número de soluciones factibles es menorlo que proporciona más ventaja a las variantes con la capacidad para encontrarlas(al inicio) y mejorarlas.

Sin embargo, conforme el algoritmo avanza en su ejecución, el tamaño de lassubpoblaciones se estabiliza, ésto puede deberse a todas las variantes logran mane-jarse dentro de áreas factibles ya encontradas.

Por otro lado, se puede observar que en la mayoría de los problemas las va-riantes especializadas tienen una ventaja marcada con respecto al la variante de EDen su versión original; ésto se debe a que ambas variantes generan tres individuospor cada padre lo que les da más opciones de búsqueda además de que incorporaninformación de la mejor solución en la subpoblación.

Es importante observar la competencia existente entre las dos variantes espe-cializadas, ya que ambas tienen la capacidad de generar la misma cantidad de indi-viduos. Por ejemplo, en los problemas donde el tamaño estimado de la zona factiblees pequeña como en g05, g07 o g03 se observa que la variante ADE tiene un mejordesempeño, mientras que en problemas con zonas factibles grandes como g02 og12, el algoritmo de EDM es más competente (Ver Figura 6.1).

Por otro lado, se observa que cuando la dimensionalidad del problema aumentay el tamaño del área también, la variante de EDM aumenta su competitividad (VerFigura 6.2).

Page 76: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

56 CAPÍTULO 6. Resultados

0 1000 2000 3000 4000 50000

0.1

0.2

0.3

0.4

0.5

0.6

0.7Promedio de la tendencia de la población en las 30 ejecuciones

Ciclo

Por

cent

aje

asig

nado

ADEEDMED

0 1000 2000 3000 4000 5000

0.2

0.25

0.3

0.35

0.4

0.45

0.5Promedio de la tendencia de la población en las 30 ejecuciones

Ciclo

Por

cent

aje

asig

nado

ADEEDMED

g24 (grande) g09 (mediana)

0 1000 2000 3000 4000 50000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1Promedio de la tendencia de la población en las 30 ejecuciones

Ciclo

Por

cent

aje

asig

nado

ADEEDMED

g14 (chica)

Figura 6.1: Promedio del comportamiento del tamaño de las subpoblaciones enlas 30 ejecuciones para problemas representativos con base en el tamaño de lazona factible.

Page 77: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

6.2. Problemas de prueba 57

0 1000 2000 3000 4000 50000

0.1

0.2

0.3

0.4

0.5

0.6

0.7Promedio de la tendencia de la población en las 30 ejecuciones

Ciclo

Por

cent

aje

asig

nado

ADEEDMED

0 1000 2000 3000 4000 5000

0.2

0.25

0.3

0.35

0.4

0.45

0.5Promedio de la tendencia de la población en las 30 ejecuciones

Ciclo

Por

cent

aje

asig

nado

ADEEDMED

g02 (grande) g04 (mediana)

0 1000 2000 3000 4000 50000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1Promedio de la tendencia de la población en las 30 ejecuciones

Ciclo

Por

cent

aje

asig

nado

ADEEDMED

g06 (chica)

Figura 6.2: Promedio del comportamiento del tamaño de las subpoblaciones en las30 ejecuciones para problemas representativos con base en su dimensionalidad.

Page 78: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

58 CAPÍTULO 6. Resultados

0 1000 2000 3000 4000 50000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8Tendencia de la población en una ejecución

Ciclo

Por

cent

aje

asig

nado

ADEEDMED

0 1000 2000 3000 4000 50000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8Tendencia de la población en una ejecución

Ciclo

Por

cent

aje

asig

nado

ADEEDMED

g01 g01

0 1000 2000 3000 4000 5000 60000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9Tendencia de la población en una ejecución

Ciclo

Por

cent

aje

asig

nado

ADEEDMED

0 1000 2000 3000 4000 5000 60000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1Tendencia de la población en una ejecución

Ciclo

Por

cent

aje

asig

nado

g05 g05

Figura 6.3: Gráficas del comportamiento de las subpoblaciones en cuatro ejecu-ciones distintas. Dos ejecuciones por problema.

Un punto importante, es que a pesar de que las ejecuciones son independientes,el comportamiento del algoritmo es constante, es decir la distribución de las sub-poblaciones es la misma sin importar que las ejecuciones sean independientes enla Figura 6.4 se puede observar el comportamiento de las poblaciones en corridasindependientes de dos problemas. Lo anterior nos confirma que las característicasde un problema afectan el desempeño de las variantes de manera constante.

Page 79: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

6.3. Problemas de diseño ingenieril 59

6.3. Problemas de diseño ingenieril

Se resolvió un grupo de problemas de diseño ingenieril, cuyas característicasse detallan en la Tabla 6.7. Los resultados obtenidos se discuten en las siguientessubsecciones además de la comparación contra los obtenidos por algoritmos delestado del arte.

Tabla 6.4: Características principales de los 4 problemas de ingeniería

Función n Tipo de función ρ LI NI LE NEpressure vessel 4 cuadrática 39.6762 % 3 1 0 0

Sprint 3 cuadrática 0.7537 % 1 3 0 0Welded beam 4 cuadrática 2.6859 % 6 1 0 0

Gear Train 7 cuadrática —— % 0 6 0 0

La definición general de los problemas se presenta a continuación:

1. Pressure Vessel Design: Consiste en minimizar el costo del material, la formay la soldadura de un recipiente cilíndrico con tapas hemisféricas. La optimi-zación consiste en encontrar los valores adecuados para las cuatro variablesde diseño: Espesor del cuerpo, espesor de la tapa, radio del recipiente y longi-tud del recipiente, de tal forma que el problema expresado matemáticamentequeda de la siguiente manera.

Minimizar:

f(~x) = 0,6224x1x2x3 + 1,7781x2x23 + 3,1661x2

1x4 + 19,84x21x3

Sujeto a:g1(~x) = −x1 + 0,0193x3 ≤ 0

g2(~x) = −x2 + 0,0954 ≤ 0

g3(~x) = πx23x4 − 4/3πx3

3 + 12960000 ≤ 0

g4(~x) = x4 − 240 ≤ 0

Donde, los rangos de las variables de diseño son 0 ≤ x1, x2 ≤ 99, 10 ≤x3, x4 ≤ 200.

2. Tension/Compression Spring Design: El objetivo de este problema consistenen minimizar el peso de un resorte de tensión/compresión sujeto a restric-ciones de mínima deflección, tensión de corte, frecuencia de ondulamiento,límites de diámetro exterior y en las variables de diseño. Para el problemaexisten cuatro variables: Diámetro del resorte(D), diámetro del cable(d) y elnúmero de vuelta de resorte(N).Minimizar:

f(~x) = (N + 2)Dd2

Page 80: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

60 CAPÍTULO 6. Resultados

Sujeto a:g1(~x) = 1−

D3N

71875d4≤ 0

g2(~x) =4D2 − dD

12566(Dd3 − d4)+

1

5108d2− 1 ≤ 0

g3(~x) = 1−140,45d

D4N≤ 0

g4(~x) =D + d

1,5− 1 ≤ 0

Donde los límites inferiores y superiores se definen como 0,05 ≤ d ≤ 2,0,25 ≤ D ≤ 1,3, 2 ≤ N ≤ 15

3. Welded Beam Design: Se busca diseñar una viga soldada con un costo míni-mo con restricciones de esfuerzo cortante, carga en la barra, deflección finaly restricciones de tamaño.

Minimizar:

f(~x) = 1,10471x21x2 + 0,04811x3x4(14,0 + x2)

Sujeto a:

g1(~x) = τ(~x)− τmax ≤ 0

g2(~x) = σ(~x)− σmax ≤ 0

g3(~x) = x1 − x4 ≤ 0

g4(~x) = 0,10471x21 + 0,04811x3x4(14,0 + x2)− 5,0 ≤ 0

g5(~x) = 0,125− x1 ≤ 0

g6(~x) = δ(~x)− δmax ≤ 0

g7(~x) = P − Pc(~x)

Donde:

τ(~x) =

√(τ ′)2 + 2τ ′τ ′′

x2

2R+ (τ ′′)2

τ ′ =P

√2x1x2

τ ′′ =MR

J

Page 81: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

6.3. Problemas de diseño ingenieril 61

M = P(L+

x2

2

)

R =

√x22

4+

(x1 + x3

2

)2

J = 2

[√

2x1x2

{x22

12+

(x1 + x3

2

)2}]

σ(~x) =6PL

x4x23

δ(~x) =4PL3

Ex33x4

Pc(~x) =4,013E

√x23x

64

36

L2

(1−

x3

2L

√E

4G

)

P = 6000 lb, L = 14 in, E = 30e6 psi, G = 12e6 psi, τmax = 13600 psi,

σmax30000 psi, δmax = 0,25 in.

Y donde las variables de diseño se encuentran restringidas por los siguienteslímites máximos y mínimos 0,1 ≤ x1 ≤ 2,0, 0,1 ≤ x2 ≤ 10,0, 0,1 ≤x1 ≤ 10,0, 0,1 ≤ x1 ≤ 2,0

4. Design of Gear Train: El objetivo es minimizar el peso de un reductor develocidad sujeto a restricciones de esfuerzo en los dientes del engrane, es-fuerzo de superficie, esfuerzo de deflección y esfuerzo en los ejes. Todas lasvariables son continuas excepto x3 que es entera.

Minimizar:

f(~x) = 0,7854x1x22(3,3333x

23 + 14,9334x3 − 43,0934)− 1,508x1(x

26 + x2

7)

+7,4777(x36 + x3

7) + 0,7854(x4x26 + x5x

27)

Sujeto a:

g1(~x) =27

x1x22x3− 1 ≤ 0

g2(~x) =397,5

x1x22x

23

− 1 ≤ 0

g3(~x) =1,93x3

4

x2x3x46

− 1 ≤ 0

g4(~x) =1,93x3

5

x2x3x47

− 1 ≤ 0

Page 82: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

62 CAPÍTULO 6. Resultados

g5(~x) =

√(745x4x2x3

)2+ 16,9e6

110x36

− 1 ≤ 0

g6(~x) =

√(745x5x2x3

)2+ 157,5e6

85x37

− 1 ≤ 0

g7(~x) =x2x3

40− 1 ≤ 0

g8(~x) =5x2

x1− 1 ≤ 0

g9(~x) =x1

12x1− 1 ≤ 0

g10(~x) =1,5x6 + 1,9

x4− 1 ≤ 0

g11(~x) =1,1x7 + 1,9

x5− 1 ≤ 0

Para la resolución de estos problemas se realizó un ajuste de parámetros dife-rente al usado en el conjunto de 24 funciones de prueba, ésto con la finalidad dereducir el número de evaluaciones necesarias por el algoritmo, logrando reducirel número de evaluaciones a un valor de 10,000 evaluaciones por ejecución. Losparámetros utilizados se presentan en la tabla 6.5.

Tabla 6.5: Valores utilizados por cada parámetro del algoritmo propuesto.

Elemento Parámetro ValorNP 20

Generales CH 210Evals 10000

ED CR 0.7F 0.9

ADE CR 0.5K 3

CR 0.7DEM Fα 0.9

Fβ 0.4no 3

6.3.1. Análisis estadístico y discusión

El algoritmo propuesto se ejecutó en 30 corridas independientes por problema,los mejores resultados obtenidos para cada problema se presentan en la Tabla 6.6.Se puede observar que todas las soluciones cumplen con las restricciones de diseñoasí como los límites superiores e inferiores de cada variable.

Además se realizó un análisis estadístico de las 30 ejecuciones por problema,donde se observó consistencia en los resultados y en el comportamiento; pues el

Page 83: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

6.3. Problemas de diseño ingenieril 63

Tabla 6.6: Detalle de las mejores soluciones obtenidas por el algoritmo propuestopara los problemas de ingeniería

Parámetro Pressure-vessel Ten./Comp. Spring Welded Beam Gear trainx1 13.79584667 0.05173926 0.20572066 3.50000000x2 7.28436825 0.35790692 3.47105476 0.70000000x3 42.09819634 11.22051932 9.03648641 17.25621015x4 176.63989108 N/A 0.20573812 7.30000005x5 N/A N/A N/A 7.80000000x6 N/A N/A N/A 3.35021467x7 N/A N/A N/A 5.28668323g1(~x) -0.00000481 -0.00002000 -1.00023652 -0.07391528g2(~x) -0.03588320 -0.00004425 -0.32361744 -0.19799853g3(~x) -1.1499274 -4.05578745 -0.00001746 -0.49917224g4(~x) -63.36010892 -0.72690254 -3.43289291 -0.90147169g5(~x) N/A N/A -0.08072066 -0.00000000g6(~x) N/A N/A -0.23554025 -0.00000000g7(~x) N/A N/A -0.68196335 -0.70250000g8(~x) N/A N/A N/A 0g9(~x) N/A N/A N/A -0.58333333g10(~x) N/A N/A N/A -0.05132575g11(~x) N/A N/A N/A -0.01085236f(~x) 6059.74951932 0.01266657 1.72495590 2996.34816727

Tabla 6.7: Resultados estadísticos obtenidos por el algoritmo propuesto

Problema Mejor Resultado Peor Resultado Promedio Mediana Desviación EstándarPressure vessel 6059.749519 6093.034472 6066.320334 6062.152535 9.56408528

Ten./Comp. spring 0.012666568 0.012724218 0.012680901 0.012675183 1.23960173e-5Weldel beam 1.72495590 1.72669227 1.72569799 1.72558069 5.37248446e-4

Gear train 2996.348167 2996.348272 2996.348202 2996.348199 2.18431509e-5

algoritmo logró mantener una desviación estándar baja. También se realizó unacomparación estadística contra tres algoritmos del estado del arte.

Para la comparación de resultados se utilizaron los datos obtenidos por tres al-goritmos del estado del arte. En la comparación se puede observar que el algoritmologró resultados competitivos en los cuatro problemas, mientras que en 3 de elloslos resultados mejoraron con respecto a los obtenidos por los algoritmos del estadodel arte. Se realizó la prueba t, la cual demuestra que existen diferencias signifi-cativas contra 2 de los algoritmos. Por otro lado los resultados obtenidos por elalgoritmo se obtuvieron con un menor número de evaluaciones que las requeridaspor el algoritmo más competente [43].

Tabla 6.8: Comparación de los resultados estadísticos obtenidos por el algoritmocontra los encontrados en el estado del arte

Problema Estadístico Propuesta TLBO[48] Adjusted ABC[49] Mezura et al [43] t-testPressure vessel Mejor 6059.749519 6059.714335 6059.714 6059.701610

Promedio 6066.320334 6059.71434 6218.515 6379.938037 S/D√√

Desv. estandar 9.56408528 S/D 1.9 E+02 2.1e+2Evaluaciones 10000 10000 S/D 30000

Ten./Comp. spring Mejor 0.012666568 0.012665 0.0126 0.012689 S/D X√

Promedio 0.012680901 0.01266576 0.0127 0.013165Desv. estandar 1.23960173e-5 S/D 2.8e-4 3.9e-4Evaluaciones 10000 10000 S/D 30000

Welded beam Mejor 1.72495590 1.724852 1.724 1.724852 S/D√√

Promedio 1.72569799 1.72844676 1.763 1.777692Desv. estandar 5.37248446e-4 S/D 0.033 8.8e-2Evaluaciones 10000 10000 S/D 30000

Gear train Mejor 2996.348167 2996.34817 2996.783 2996.348094 S/D√√

Promedio 2996.348202 2996.34817 2996.783 2996.348094Desv. estandar 2.18431509e-5 S/D 0.000 0Evaluaciones 10000 10000 S/D 30000

Page 84: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

64 CAPÍTULO 6. Resultados

6.3.2. Analisis de comportamiento

A continuación se muestran las gráficas de comportamiento de las poblacionespara cada uno de los problemas de ingeniería resueltos. En las gráficas puede ob-servarse que todas las variantes tuvieron un mejor desempeño y la competencia fuemayor.

Por ejemplo, en el problema de Tension/Compression Spring es notoria la ven-taja del algoritmo de ED con respecto a ADE tomando en cuenta que ADE generaun mayor número de descendencia por individuo. Lo anterior puede significar quela variante de ED tiene más ventaja en problemas sencillos donde las restriccionesson más fáciles de manejar, pues el problema apenas tiene una restriccion lineal deigualdad y tres restricciones no lineales de igualdad además de que el número devariables es de 3.

Por otro lado en problemas más complejos como el Welded Beam donde lasrestricciones aumentan a seis restricciones lineales de igualdad y una de desigual-dad ADE obtiene la ventaja. A su vez EDM se mantiene en un punto medio, dondees capaz de manejarse en problemas con un mayor número de restricciones nolineales de igualdad y con un mayor número de variables(Gear Train).

0 50 100 150 200 2500.26

0.28

0.3

0.32

0.34

0.36

0.38

0.4

0.42

0.44Promedio de la tendencia de la población en las 30 ejecuciones

Ciclo

Por

cent

aje

asig

nado

ADEEDMED

0 50 100 150 200 2500.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45

0.5Promedio de la tendencia de la población en las 30 ejecuciones

Ciclo

Por

cent

aje

asig

nado

ADEEDMED

Pressure Vessel Tension Compression Spring

0 50 100 150 200 2500.2

0.25

0.3

0.35

0.4

0.45

0.5Promedio de la tendencia de la población en las 30 ejecuciones

Ciclo

Por

cent

aje

asig

nado

ADEEDMED

0 50 100 150 200 2500.2

0.25

0.3

0.35

0.4

0.45

0.5

0.55Promedio de la tendencia de la población en las 30 ejecuciones

Ciclo

Por

cent

aje

asig

nado

ADEEDMED

Welded Beam Gear Train

Figura 6.4: Gráficas del comportamiento de las subpoblaciones en los problemasde ingeniería.

Page 85: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

6.4. Integración de resultados 65

Tabla 6.9: Porcentaje promedio de población asignado a cada variante por cadaproblema incluidos los problemas de prueba

Problema ADE EDM EDg01 42.61 % 46.67 % 10.72 %g02 29.60 % 36.47 % 33.94 %g03 57.85 % 34.75 % 7.40 %g04 31.59 % 44.89 % 23.52 %g05 48.90 % 32.13 % 18.96 %g06 83.28 % 11.03 % 5.69 %g07 38.05 % 34.97 % 26.98 %g08 32.31 % 36.08 % 31.61 %g09 36.43 % 34.64 % 28.93 %g10 54.78 % 32.78 % 12.44 %g11 42.73 % 33.62 % 23.65 %g12 40.22 % 58.92 % 0.86 %g13 54.73 % 32.91 % 12.37 %g14 69.45 % 23.17 % 7.39 %g15 43.21 % 31.73 % 25.06 %g16 67.13 % 23.96 % 8.91 %g17 56.06 % 35.59 % 8.35 %g18 46.53 % 32.39 % 21.08 %g19 50.78 % 34.61 % 14.61 %g21 51.82 % 34.95 % 13.23 %g23 73.22 % 25.56 % 1.22 %g24 32.92 % 34.28 % 32.80 %

Pressure Vessel 42.34 % 28.11 % 29.55 %Spring 15.15 % 40.43 % 44.42 %

Welded Beam 43.07 % 27.12 % 29.80 %Gear Train 28.80767 % 37.67 % 33.53 %

6.4. Integración de resultados

De los análisis realizados se concluye que las variantes especializadas poseenmayor ventaja en la resolución de problemas de optimización con restricciones,y además que la integración de información de diversos padres mejora la compe-titividad en la búsqueda como lo demuestra la variante ADE. De igual forma seobservó que no existe alguna relación entre el comportamiento del algoritmo enlos problemas de prueba y los algoritmos de diseño ingenieril; lo anterior puededeberse a las características y complejidad de cada problema.

En la tabla 6.9 se muestra el porcentaje promedio de población asignado a cadavariante durante la ejecución completa. Y se observa como se mencionó anterior-mente la ventaja de las variantes especializadas, principalmente la variante ADE.

En el capítulo siguiente se encuentran las conclusiones del presente trabajo, y

Page 86: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

66 CAPÍTULO 6. Resultados

las posibles líneas de investigación para trabajo futuro.

Page 87: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

Capítulo 7

Conclusiones y Trabajo futuro

7.1. Conclusiones

En el presente trabajo, se diseñó e implementó un algoritmo para problemasde optimización con restricciones basado en el uso de tres variantes de evolucióndiferencial, dos de ellas especializadas en el manejo de problemas con restriccio-nes. Además se realizó un analisis de la competitividad del algoritmo mediante suaplicación en la resolución de 22 problemas de prueba, y la resolución de cuatroproblemas de ingeniería.

Para el diseño se propuso un mecanismo de ajuste de subpoblaciones que sonasignadas a cada variante mediante una competencia con base en el uso de dosmedidas de desempeño, lo que proporciona al algoritmo la capacidad para evaluarel comportamiento de cada variante reajustando el tamaño de las subpoblacionesde acuerdo a las capacidades de cada una de ellas en el espacio de búsqueda.

Los operadores utilizados por el algoritmo fueron obtenidos de tres variantesde ED, dos de las cuales son diseños especializados en el manejo de problemas conrestricciones y la variante más popular de ED conocida comoED/rand/1/bin.

Para el análisis del algoritmo se realizó la comparación estadística de los resul-tados obtenidos contra los resultados encontrados por otros algorimos del estadodel arte, donde dos de ellos adoptan el concepto de múltiples operadores.

Para los problemas de prueba, el algoritmo demostró competitividad mejoran-do incluso algunas de las soluciones obtenidas por los algoritmos del estado delarte. Mientras que en la resolución de los problemas de ingeniería el algoritmopropuesto llegó a soluciones óptimas en un menor número de evaluaciones que losalgoritmos del estado del arte, lo que demuestra las ventajas de utilizar múltiplesoperadores en problemas reales.

Además se realizó un análisis del comportamiento del algoritmo con base en eltamaño de las subpoblaciones, y se demostró que el algoritmo se comporta consis-tentemente de acuerdo a las características del problema que se resuelve.

67

Page 88: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

68 CAPÍTULO 7. Conclusiones y Trabajo futuro

7.2. Trabajo futuro

Con la finalidad de obtener un mecanismo de ajuste más confiable se proponecomo trabajo futuro añadir nuevas medidas de desempeño al mecanismo, ademásde adaptar nuevas variantes en la competencia para aumentar el área de impacto enla búsqueda. Por otro lado, se aplicará el algoritmo en nuevos problemas de optimi-zación con restricciones sobre todo en problemas del mundo real. Finalmente es degran interés adaptar al algoritmo un mecanismo para el manejo de problemas mul-tiobjetivo con restricciones, así como evaluar los resultados y su comportamiento.

Page 89: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

Parte I

Apéndices

Page 90: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores
Page 91: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

Apéndice A

Problemas de prueba.

RESUMEN: Aquí se presenta las descripción de los problemas utlizados paralas pruebas con el algoritmo propuesto.

A.1. Problemas de prueba

Detalle de los 24 problemas de prueba utilizados para este trabajo:g01

Minimizar:

f(~x) = 54∑i=1

xi − 54∑i=1

x2i −

13∑i=5

xi (A.1)

Sujeto a :

g1(~x) = 2x1 + 2x2 + x10 + x11 − 10 ≤ 0g2(~x) = 2x1 + 2x3 + x10 + x12 − 10 ≤ 0g3(~x) = 2x2 + 2x3 + x11 + x12 − 10 ≤ 0g4(~x) = −8x1 + x10 ≤ 0g5(~x) = −8x2 + x11 ≤ 0g6(~x) = −8x3 + x12 ≤ 0g7(~x) = −2x4 − x5 + x10 ≤ 0g8(~x) = −2x6 − x7 + x11 ≤ 0g9(~x) = −2x8 − x9 + x12 ≤ 0

donde 0 ≤ xi ≤ 1 (i = 1, . . . , 9), 0 ≤ xi ≤ 100 (i = 10, 11, 12), y 0 ≤ x13 ≤ 1. La soluciónóptima factible global es: x∗ = (1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 1) donde f(x∗) = -15. donde g1, g2, g3, g7, g8g9 son restricciones activas.

g02

Minimizar:

f(~x) = −

∣∣∣∣∣∣∣∑ni=1 cos4(xi)− 2

∏ni=1 cos2(xi)√∑n

i=1 ix2i

∣∣∣∣∣∣∣ (A.2)

71

Page 92: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

72 APÉNDICE A. Problemas de prueba.

Sujeto a:

g1(~x) = 0.75−∏ni=1 xi ≤ 0

g2(~x) =∑ni=1 xi − 7.5n ≤ 0

donde n = 20 y 0 ≤ xi ≤ 10 (i = 1, . . . , n). La mejor solución conocida se encuentra en: x?? =(3,16246061572185,3,12833142812967, 3,09479212988791, 3,06145059523469, 3,02792915885555, 2,99382606701730,2,95866871765285, 2,92184227312450, 0,49482511456933, 0,48835711005490, 0,48231642711865,0,47664475092742, 0,47129550835493, 0,46623099264167, 0,46142004984199, 0,45683664767217,0,45245876903267, 0,44826762241853, 0,44424700958760, 0,44038285956317),con f(x∗) = −0,80361910412559. g1 está cerca de ser activa.

g03

Minimizar:

f(~x) = −(√n)n n∏

i=1

xi (A.3)

Sujeto a:

h(~x) =

n∑i=1

x2i − 1 = 0

donde n = 10 y 0 ≤ xi ≤ 1 (i = 1, . . . , n). La solución factible global se localiza en x∗i = 1/√n

(i = 1, . . . , n) donde f(x∗) = -1.00050010001000.

g04

Minimizar:

f(~x) = 5.3578547x23 + 0.8356891x1x5 + 37.293239x1 − 40792.141 (A.4)

Sujeto a:

g1(~x) = 85.334407 + 0.0056858x2x5 + 0.0006262x1x4 − 0.0022053x3x5 − 92 ≤ 0g2(~x) = −85.334407− 0.0056858x2x5 − 0.0006262x1x4 + 0.0022053x3x5 ≤ 0g3(~x) = 80.51249 + 0.0071317x2x5 + 0.0029955x1x2 + 0.0021813x2

3 − 110 ≤ 0g4(~x) = −80.51249− 0.0071317x2x5 − 0.0029955x1x2 − 0.0021813x2

3 + 90 ≤ 0g5(~x) = 9.300961 + 0.0047026x3x5 + 0.0012547x1x3 + 0.0019085x3x4 − 25 ≤ 0g6(~x) = −9.300961− 0.0047026x3x5 − 0.0012547x1x3 − 0.0019085x3x4 + 20 ≤ 0

donde: 78 ≤ x1 ≤ 102, 33 ≤ x2 ≤ 45, 27 ≤ xi ≤ 45 (i = 3, 4, 5). El óptimo factible global seencuentra en x∗ = (78, 33, 29,9952560256815985, 45, 36,7758129057882073) donde f(x∗)=-30665.539. g1 y g6 son restricciones activas.

g05

Minimizar:f(~x) = 3x1 + 0.000001x3

1 + 2x2 + (0.000002/3)x32 (A.5)

Sujeto a:

g1(~x) = −x4 + x3 − 0.55 ≤ 0g2(~x) = −x3 + x4 − 0.55 ≤ 0

Page 93: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

A.1. Problemas de prueba 73

h3(~x) = 1000 sin(−x3 − 0.25) + 1000 sin(−x4 − 0.25) + 894.8− x1 = 0h4(~x) = 1000 sin(x3 − 0.25) + 1000 sin(x3 − x4 − 0.25) + 894.8− x2 = 0h5(~x) = 1000 sin(x4 − 0.25) + 1000 sin(x4 − x3 − 0.25) + 1294.8 = 0

donde 0 ≤ x1 ≤ 1200, 0 ≤ x2 ≤ 1200, −0,55 ≤ x3 ≤ 0,55, y −0,55 ≤ x4 ≤ 0,55.La mejor solución conocida está localizada en: x∗=(679.945148297028709, 1026.06697600004691,0.118876369094410433,−0.396233485215178266) donde f(x∗) = 5126.4967140071.

g06

Minimizar:f(~x) = (x1 − 10)3 + (x2 − 20)3 (A.6)

Sujeto a:

g1(~x) = −(x1 − 5)2 − (x2 − 5)2 + 100 ≤ 0g2(~x) = (x1 − 6)2 + (x2 − 5)2 − 82.81 ≤ 0

donde 13 ≤ x1 ≤ 100 y 0 ≤ x2 ≤ 100. El óptimo factible global está localizado en:x∗ = (14,09500000000000064, 0,8429607892154795668) donde f(x∗) = −6961,81387558015.Ambas restricciones son activas.

g07

Minimizar:

f(~x) = x21 + x2

2 + x1x2 − 14x1 − 16x2 + (x3 − 10)2 + 4(x4 − 5)2 + (x5 − 3)2+2(x6 − 1)2 + 5x2

7 + 7(x8 − 11)2 + 2(x9 − 10)2 + (x10 − 7)2 + 45(A.7)

Sujeto a :

g1(~x) = −105 + 4x1 + 5x2 − 3x7 + 9x8 ≤ 0g2(~x) = 10x1 − 8x2 − 17x7 + 2x8 ≤ 0g3(~x) = −8x1 + 2x2 + 5x9 − 2x10 − 12 ≤ 0g4(~x) = 3(x1 − 2)2 + 4(x2 − 3)2 + 2x2

3 − 7x4 − 120 ≤ 0g5(~x) = 5x2

1 + 8x2 + (x3 − 6)2 − 2x4 − 40 ≤ 0g6(~x) = x2

1 + 2(x2 − 2)2 − 2x1x2 + 14x5 − 6x6 ≤ 0g7(~x) = 0.5(x1 − 8)2 + 2(x2 − 4)2 + 3x2

5 − x6 − 30 ≤ 0g8(~x) = −3x1 + 6x2 + 12(x9 − 8)2 − 7x10 ≤ 0

donde−10 ≤ xi ≤ 10 (i = 1, . . . , 10). El óptimo factible global está localizado enx∗ = (2,17199634142692,2,3636830416034, 8,77392573913157, 5,09598443745173, 0,990654756560493, 1,43057392853463,1,32164415364306, 9,82872576524495, 8,2800915887356, 8,3759266477347) dondef(x∗) = 24,30620906818. g1, g2, g3, g4, g5, y g6 son restricciones activas.

g08

Minimizar:

f(~x) = −sin3(2πx1) sin(2πx2)

x31(x1 + x2)

(A.8)

Sujeto a:

g1(~x) = x21 − x2 + 1 ≤ 0

g2(~x) = 1− x1 + (x2 − 4)2 ≤ 0

donde 0 ≤ x1 ≤ 10 y 0 ≤ x2 ≤ 10. El óptimo global factible se encuentra localizado en: x∗ =(1,22797135260752599,

Page 94: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

74 APÉNDICE A. Problemas de prueba.

4,24537336612274885) con f(x∗) = −0,0958250414180359.

g09

Minimizar:

f(~x) = (x1−10)2+5(x2−12)2+x43+3(x4−11)2+10x6

5+7x26+x

47−4x6x7−10x6−8x7

(A.9)Sujeto a:

g1(~x) = −127 + 2x21 + 3x4

2 + x3 + 4x24 + 5x5 ≤ 0

g2(~x) = −282 + 7x1 + 3x2 + 10x23 + x4 − x5 ≤ 0

g3(~x) = −196 + 23x1 + x22 + 6x2

6 − 8x7 ≤ 0g4(~x) = 4x2

1 + x22 − 3x1x2 + 2x2

3 + 5x6 − 11x7 ≤ 0

donde−10 ≤ xi ≤ 10 (i = 1, . . . , 7). El óptimo global factible se encuentra localizado en:x∗=(2.33049935147405174,1.95137236847114592,−0.477541399510615805, 4.36572624923625874,−0.624486959100388983,1.03813099410962173, 1.5942266780671519) con f(x∗) = 680.630057374402. g1 y g4 son res-tricciones activas.

g10

Minimizar:

f(~x) = x1 + x2 + x3 (A.10)

Sujeto a:

g1(~x) = −1 + 0.0025(x4 + x6) ≤ 0g2(~x) = −1 + 0.0025(x5 + x7 − x4) ≤ 0g3(~x) = −1 + 0.01(x8 − x5) ≤ 0g4(~x) = −x1x6 + 833.33252x4 + 100x1 − 83333.333 ≤ 0g5(~x) = −x2x7 + 1250x5 + x2x4 − 1250x4 ≤ 0g6(~x) = −x3x8 + 1250000 + x3x5 − 2500x5 ≤ 0

donde 100 ≤ x1 ≤ 10000, 1000 ≤ xi ≤ 10000, (i = 2, 3), 10 ≤ xi ≤ 1000, (i = 4, . . . , 8). Elóptimo factible global se encuentra enx∗ = (579,306685017979589, 1359,97067807935605, 5109,97065743133317,182,01769963061534, 295,601173702746792, 217,982300369384632, 286,41652592786852,395,601173702746735) con f(x∗) = 7049,24802052867. g1, g2, y g3 son restricciones activas.

g11

Minimizar:

f(~x) = x21 + (x2 − 1)2 (A.11)

Sujeto a:

h(~x) = x2 − x21 = 0

donde:−1 ≤ x1 ≤ 1,−1 ≤ x2 ≤ 1. El óptimo factible global se encuentra en:x∗ = (±1/√

2, 1/2)con f(x∗) = 0.7499.

g12

Minimizar:

f(~x) = −100− (x1 − 5)2 − (x2 − 5)2 − (x3 − 5)2

100(A.12)

Page 95: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

A.1. Problemas de prueba 75

Sujeto a:

g1(~x) = (x1 − p)2 + (x2 − q)2 + (x3 − r)2 − 0.0625 ≤ 0

donde 0 ≤ xi ≤ 10 (i = 1, 2, 3) y p, q, r = 1, 2, . . . , 9. La región factible consiste en 93 esferasdisjuntas. Un punto (x1, x2, x3) es factible si y solo si existen p, q, r tales que la desigualdad de arriba per-manezca.El óptimo global factible se encuentra en x∗ = (5, 5, 5) con f(x∗) = −1.

g13

Minimizar:

f(~x) = ex1x2x3x4 (A.13)

Sujeto a:

h1(~x) = x21 + x2

2 + x23 + x2

4 + x25 − 10 = 0

h2(~x) = x2x3 − 5x4x5 = 0h3(~x) = x3

1 + x32 + 1 = 0

donde−2,3 ≤ xi ≤ 2,3 (i = 1, 2) y−3,2 ≤ xi ≤ 3,2 (1 = 3, 4, 5). El óptimo global factible se en-cuentra en ~x∗ = (−1,71714224003, 1,59572124049468, 1,8272502406271,−0,763659881912867,−0,76365986736498)con f( ~x∗) = 0,053941514041898.

g14

Minimizar:

f(~x) =

10∑i=1

xi

(ci + ln

xi∑10j=1 xj

)(A.14)

Sujeto a:

h1(~x) = x1 + 2x2 + 2x3 + x6 + x10 − 2 = 0h2(~x) = x4 + 2x5 + x6 + x7 − 1 = 0h3(~x) = x3 + x7 + x8 + 2x9 + x10 − 1 = 0

donde 0 < xi ≤ 10 (i = 1, ..., 10), y c1 = -6.089, c2 = -17.164, c3 = -34.054, c4 = -5.914, c5 = -24.721,c6 = -14.986, c9 = -26.662, c10 = -22.179. La mejor solución está en x∗ = (0,0406684113216282,0,147721240492452, 0,783205732104114, 0,00141433931889084, 0,485293636780388, 0,000693183051556082,0,0274052040687766, 0,0179509660214818, 0,0373268186859717, 0,0968844604336845)conf(x∗) = −47,7648884594915.

g15

Minimizar:f(~x) = 1000− x2

1 − 2x22 − x2

3 − x1x2 − x1x3 (A.15)

Sujeto a:

h1(~x) = x21 + x2

2 + x23 − 25 = 0

h2(~x) = 8x1 + 14x2 + 7x3 − 56 = 0

donde 0 ≤ xi ≤ 10 (i = 1, 2, 3). La mejor solución conocida está en x∗ = (3,51212812611795133,0,216987510429556135, 3,55217854929179921) con f(x∗) = 961,715022289961.

Page 96: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

76 APÉNDICE A. Problemas de prueba.

g16

Minimizar:

f(~x) = 0.000117y14 + 0.1365 + 0.00002358y13 + 0.000001502y16+ 0.0321y12 + 0.004324y5 + 0.0001 c15

c16

+ 37.48 y2c12− 0.0000005843y17

(A.16)

Sujeto a:

g1(~x) = 0.280.72y5 − y4 ≤ 0

g2(~x) = x3 − 1.5x2 ≤ 0g3(~x) = 3496 y2

c12− 21 ≤ 0

g4(~x) = 110.6 + y1 − 62212c17

≤ 0

g5(~x) = 213.1− y1 ≤ 0g6(~x) = y1 − 405.23 ≤ 0g7(~x) = 17.505− y2 ≤ 0g8(~x) = y2 − 1053.6667 ≤ 0g9(~x) = 11.275− y3 ≤ 0g10(~x) = y3 − 35.03 ≤ 0g11(~x) = 214.228− y4 ≤ 0g12(~x) = y4 − 665.585 ≤ 0g13(~x) = 7.458− y5 ≤ 0g14(~x) = y5 − 584.463 ≤ 0g15(~x) = 0.961− y6 ≤ 0g16(~x) = y6 − 265.916 ≤ 0g17(~x) = 1.612− y7 ≤ 0g18(~x) = y7 − 7.046 ≤ 0g19(~x) = 0.146− y8 ≤ 0g20(~x) = y8 − 0.222 ≤ 0g21(~x) = 107.99− y9 ≤ 0g22(~x) = y9 − 273.366 ≤ 0g23(~x) = 922.693− y10 ≤ 0g24(~x) = y10 − 1286.105 ≤ 0g25(~x) = 926.832− y11 ≤ 0g26(~x) = y11 − 1444.046 ≤ 0g27(~x) = 18.766− y12 ≤ 0g28(~x) = y12 − 537.141 ≤ 0g29(~x) = 1072.163− y13 ≤ 0g30(~x) = y13 − 3247.039 ≤ 0g31(~x) = 8961.448− y14 ≤ 0g32(~x) = y14 − 26844.086 ≤ 0g33(~x) = 0.063− y15 ≤ 0g34(~x) = y15 − 0.386 ≤ 0g35(~x) = 71084.33− y16 ≤ 0g36(~x) = −140000 + y16 ≤ 0g37(~x) = 2802713− y17 ≤ 0g38(~x) = y17 − 12146108 ≤ 0

donde

Page 97: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

A.1. Problemas de prueba 77

y1 = x2 + x3 + 41.6c1 = 0.024x4 − 4.62y2 = 12.5

c1+ 12

c2 = 0.0003535x21 + .5311x1 + 0.08705y2x1

c3 = 0.052x1 + 78 + 0.002377y2x1

y3 = c2c3

y4 = 19y3

c4 = 0.04782(x1 − y3) + 0.1956(x1−y3)2x2

+ 0.6376y4 + 1.594y3c5 = 100x2

c6 = x1 − y3 − y4c7 = 0.950− c4

c5y5 = c6c7y6 = x1 − y5 − y4 − y3c8 = (y5 + y4)0.995y7 = c8

y1y8 = c8

3798

c9 = y7 − 0.0663y7y8

− 0.3153y9 = 96.82

c9+ 0.321y1

y10 = 1.29y5 + 1.258y4 + 2.29y3 + 1.71y6y11 = 1.71x1 − 0.452y4 + 0.580y3c10 = 12.3

752.3c11 = (1.75y2)(0.995x1)c12 = 0.995y10 + 1998y12 = c10x1 + c11

c12

y13 = c12 + 1.75y2y14 = 3623 + 64.4x2 + 58.4x3 + 146312

y9+x5

c13 = 0.995y10 + 60.8x2 + 48x4 − 0.1121y14 − 5095y15 = y13

c13

y16 = 148000− 331000y15 + 40y13 − 61y15y13c14 = 2324y10 − 28740000y2y17 = 14130000− 1328y10 − 531y11 + c14

c12

c15 = y13y15− y13

0.52c16 = 1.104− 0.72y15c17 = y9 + x5

y donde 704.4148 ≤ x1 ≤ 906.3855, 68.6 ≤ x2 ≤ 288.88, 0 ≤ x3 ≤ 134.75, 193 ≤ x4 ≤287.0966, y 25 ≤ x5 ≤ 84.1988.

La mejor solución conocida está en: x∗ = (705,174537070090537, 68,5999999999999943,102,899999999999991, 282,324931593660324, 37,5841164258054832) con f(x∗) = −1,90515525853479.

g17

Minimizar:

f(~x) = f(x1) + f(x2) (A.17)

Page 98: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

78 APÉNDICE A. Problemas de prueba.

donde

f1(x1) =

{30x1 0 ≤ x1 < 30031x1 300 ≤ x1 < 400

f2(x2) =

28x2 0 ≤ x2 < 10029x2 100 ≤ x2 < 20030x2 200 ≤ x2 < 1000

Sujeto a:

h1(~x) = −x1 + 300− x3x4131.078 cos(1.48477− x6) +

0.90798x23

131.078 cos(1.47588)

h2(~x) = −x2 − x3x4131.078 cos(1.48477 + x6) +

0.90798x24

131.078 cos(1.47588)

h3(~x) = −x5 − x3x4131.078 sin(1.48477 + x6) +

0.90798x24

131.078 sin(1.47588)

h4(~x) = 200− x3x4131.078 sin(1.48477− x6) +

0.90798x24

131.078 sin(1.47588)

y donde 0 ≤ x1 ≤ 400, 0 ≤ x2 ≤ 1000, 340 ≤ x3 ≤ 420, 340 ≤ x4 ≤ 420,−1000 ≤ x5 ≤1000, y 0 ≤ x6 ≤ 0.5236. La mejor solución conocida está enx∗ = (201,784467214523659, 99,9999999999999005,383,071034852773266, 420,−10,9076584514292652, 0,0731482312084287128) conf(x∗) = 8853,53967480648.

g18

Minimizar:

f(~x) = −0.5(x1x4 − x2x3 + x3x9 − x5x9 + x5x8 − x6x7) (A.18)

Sujeto a:

g1(~x) = x23 + x2

4 − 1 ≤ 0g2(~x) = x2

9 − 1 ≤ 0g3(~x) = x2

5 + x26 − 1 ≤ 0

g4(~x) = x21 + (x2 − x9)2 − 1 ≤ 0

g5(~x) = (x1 − x5)2 + (x2 − x6)2 − 1 ≤ 0g6(~x) = (x1 − x7)2 + (x2 − x8)2 − 1 ≤ 0

g7(~x) = (x3 − x5)2 + (x4 − x6)2 − 1 ≤ 0g8(~x) = (x3 − x7)2 + (x4 − x8)2 − 1 ≤ 0g9(~x) = x2

7 + (x8 − x9)2 − 1 ≤ 0g10(~x) = x2x3 − x1x4 ≤ 0g11(~x) = −x3x9 ≤ 0g12(~x) = x5x9 ≤ 0g13(~x) = x6x7 − x5x8 ≤ 0

donde−10 ≤ xi ≤ 10 (i = 1, ..., 8) y 0 ≤ x9 ≤ 20. la mejor solución conocida está en:x∗ = (−0,657776192427943163,−0,153418773482438542, 0,323413871675240938,−0,946257611651304398,−0,657776194376798906,−0,753213434632691414, 0,323413874123576972,− 0,346462947962331735, 0,59979466285217542) con f(x∗) = −0,866025403784439.

g19

Minimizar:

f(~x) =5∑j=1

5∑i=1

cijx(10+j)x(10+j) + 25∑j=1

djx3(10+j) −

10∑i=1

bixi (A.19)

Page 99: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

A.1. Problemas de prueba 79

Sujeto a:

gj(~x) = −2∑5i=1 cijx(10+i) − ej +

∑10i=1 aijxi ≤ 0 j = 1, . . . , 5

donde ~b = [-40, -2, -0.25, -4, -4, -1, -40, -60, 5, 1] y los restantes valores son tomados de la Tabla A.1, 0 ≤xi ≤ 10 (i = 1, . . . , 15). La mejor solución conocida está en x∗ = (1.66991341326291344e−17,3.95378229282456509e−16, 3.94599045143233784, 1.06036597479721211e−16, 3.2831773458454161,9.99999999999999822, 1.12829414671605333e−17, 1.2026194599794709e−17, 2.50706276000769697e−15,2.24624122987970677e−15, 0.370764847417013987, 0.278456024942955571, 0.523838487672241171,0.388620152510322781, 0.298156764974678579) con f(x∗) = 32,6555929502463.

j 1 2 3 4 5

ej -15 -27 -36 -18 -12c1j 30 -20 -10 32 -10c2j -20 39 -6 -31 32c3j -10 -6 10 -6 -10c4j 32 -31 -6 39 -20c5j -10 32 -10 -20 30dj 4 8 10 6 2a1j -16 2 0 1 0a2j 0 -2 0 0.4 2a3j -3.5 0 2 0 0a4j 0 -2 0 -4 -1a5j 0 -9 -2 1 -2.8a6j 2 0 -4 0 0a7j -1 -1 -1 -1 -1a9j 1 2 3 4 5a10j 1 1 1 1 1

Tabla A.1: Conjunto de datos para el problema de prueba g19

g20

Minimizar:

f(~x) =24∑i=1

aixi (A.20)

Sujeto a:

gi(~x) =(xi+x(i+12))∑24j=1 xj+ei

≤ 0 i = 1, 2, 3

gi(~x) =(xi+3+x(i+15))∑24

j=1 xj+ei≤ 0 i = 4, 5, 6

h1(~x) =x(i+12)

bi+12∑24j=13

xjbj

− cixi

40bi∑12j=1

xjbj

= 0 i = 1, . . . , 12

h13(~x) =∑24i=1 xi − 1 = 0

h14(~x) =∑12i=1

x−idi

+ k∑24i=13

xibi− 1.671 = 0

donde k = (0.7302)(530)(14.740) y el conjunto de datos esta detallado en la Tabla A.2. 0 ≤xi ≤ 10 (i = 1, . . . , 24). La mejor solución encontrada está en x∗ = (1.28582343498528086e−18,

Page 100: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

80 APÉNDICE A. Problemas de prueba.

i ai bi4 ci 4di ei

1 0.0693 44.094 123.7 31.244 0.12 0.0577 58.12 31.7 36.12 0.33 0.05 58.12 45.7 34.784 0.44 0.2 137.4 14.7 92.7 0.35 0.26 120.9 84.7 82.7 0.66 0.55 170.9 27.7 91.6 0.37 0.06 62.501 49.7 56.7088 0.1 84.94 7.1 82.79 0.12 133.425 2.1 80.810 0.18 82.507 17.7 64.51711 0.1 46.07 0.85 49.412 0.09 60.097 0.64 49.113 0.0693 44.09414 0.5777 6 58.1215 0.05 58.1216 0.2 137.417 0.26 120.918 0.55 170.919 0.06 62.50120 0.1 84.9421 0.12 133.42522 0.18 82.50723 0.1 46.0724 0.09 60.097

Tabla A.2: Conjunto de datos para el problema de prueba g20

4.83460302526130664e−34, 0, 0, 6.30459929660781851e−18, 7.57192526201145068e−34,5.03350698372840437e−34,9.28268079616618064e−34, 0, 1.76723384525547359e−17, 3.55686101822965701e−34,2.99413850083471346e−34, 0.158143376337580827, 2.29601774161699833e−19, 1.06106938611042947e−18,1.31968344319506391e−18, 0.530902525044209539, 0, 2.89148310257773535e−18, 3.34892126180666159e−18,0, 0.310999974151577319, 5.41244666317833561e−05, 4.84993165246959553e−16). Esta so-lución es ligeramente infactible y aún no se han reportado soluciones factibles.

g21

Minimizar:

f(~x) = x1 (A.21)

Sujeto a:

g1(~x) = −x1 + 35x0.62 + 35x0.6

3 ≤ 0

h1(~x) = −300x3 + 7500x5 − 7500x6 − 25x4x5 + 25x4x6 + x3x4 = 0h2(~x) = 100x2 + 155.365x4 + 2500x7 − x2x4 − 24x4x7 − 15536.5 = 0

h3(~x) = −x5 + ln(−x4 + 900) = 0h4(~x) = −x6 + ln(x4 + 300) = 0h5(~x) = −x7 + ln(−2x4 + 700) = 0

donde 0 ≤ x1 ≤ 1000, 0 ≤ x2, x3 ≤ 40, 100 ≤ x4 ≤ 300, 6.3 ≤ x5 ≤ 6.7, 5.9 ≤x6 ≤ 6.4, y 4.5 ≤ x7 ≤ 6.25. La mejor solución conocida está en: x∗ = (193.724510070034967,

Page 101: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

A.1. Problemas de prueba 81

5.56944131553368433e−27, 17.3191887294084914, 100.047897801386839, 6.68445185362377892,5.99168428444264833,6.21451648886070451) con f(x∗) = 193,724510070035.

g22

Minimizar:

f(~x) = x1 (A.22)

Sujeto a:

g1(~x) = −x1 + x0.62 + x0.6

3 x0.64 ≤ 0

h1(~x) = x5 − 100000x8 + 1 ∗ 107 = 0h2(~x) = x6 − 100000x8 − 100000x9 = 0h3(~x) = x7 − 100000x9 − 5 ∗ 107 = 0h4(~x) = x5 − 100000x10 − 3.3 ∗ 107 = 0h5(~x) = x6 − 100000x11 − 4.4 ∗ 107 = 0h6(~x) = x7 − 100000x12 − 6.6 ∗ 107 = 0h7(~x) = x5 − 120x2x13 = 0h8(~x) = x6 − 80x3x14 = 0h9(~x) = x7 − 40x4x15 = 0h10(~x) = x8 − x11 + x16 = 0h11(~x) = x9 − x12 + x17 = 0

h12(~x) = −x18 + ln(x10 − 100) = 0h13(~x) = −x19 + ln(−x8 + 300) = 0h14(~x) = −x20 + ln(x16) = 0h15(~x) = −x21 + ln(−x9 + 400) = 0h16(~x) = −x22 + ln(x17) = 0h17(~x) = −x8 − x10 + x13x18 − x13x19 + 400 = 0h18(~x) = x8 − x9 − x11 + x14x20 − x14x21 + 400 = 0h19(~x) = x9 − x12 − 4.60517x15 + x15x22 + 100 = 0

donde 0 ≤ x1 ≤ 20000, 0 ≤ x2, x3, x4 ≤ 1 ∗ 106, 0 ≤ x5, x6, x7 ≤ 4 ∗ 107, 100 ≤x8 ≤ 299.99, 100 ≤ x9 ≤ 399.99, 100.01 ≤ x10 ≤ 300, 100 ≤ x11 ≤ 400, 100 ≤x12 ≤ 600, 0 ≤ x13, x14, x15 ≤ 500, 0.01 ≤ x16 ≤ 300, 0,01 ≤ x17 ≤ 400, −4.7 ≤x18, x19, x20, x21, x22 ≤ 6.25. La mejor solución está en:x∗ = (236,430975504001054, 135,82847151732463, 204,818152544824585, 6446,54654059436416,3007540,83940215595, 4074188,65771341929, 32918270,5028952882, 130,075408394314167,170,817294970528621, 299,924591605478554, 399,258113423595205, 330,817294971142758,184,51831230897065, 248,64670239647424, 127,658546694545862, 269,182627528746707,160,000016724090955, 5,29788288102680571, 5,13529735903945728, 5,59531526444068827,5,43444479314453499, 5,07517453535834395) con f(x∗) = 236,430975504001.

g23

Minimizar:

f(~x) = −9x5 − 15x8 + 6x1 + 16x2 + 10(x6 + x7) (A.23)

Sujeto a:

g1(~x) = x9x3 + 0.02x6 − 0.025x5 ≤ 0g2(~x) = x9x4 + 0.02x7 − 0.015x8 ≤ 0h1(~x) = x1 + x2 − x3 − x4 = 0h2(~x) = 0.03x1 + 0.01x2 − x9(x3 + x4) = 0h3(~x) = x3 + x6 − x5 = 0h4(~x) = x4 + x7 − x8 = 0

donde 0 ≤ x1, x2, x6 ≤ 300, 0 ≤ x3, x5, x7 ≤ 100, 0 ≤ x4, x8 ≤ 200, y 0,01 ≤ x9 ≤ 0,03.La mejor solución está en:x∗ = (0,00510000000000259465, 99,9947000000000514, 9.01920162996045897e−18,

Page 102: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

82 APÉNDICE A. Problemas de prueba.

99,9999000000000535, 0,000100000000027086086, 2.75700683389584542e−14, 99,9999999999999574,2000,0100000100000100008) con f(x∗) = −400,055099999999584.

g24

Minimizar:

f(~x) = −x1 − x2 (A.24)

Sujeto a:

g1(~x) = −2x41 + 8x3

1 − 8x21 + x2 − 2 ≤ 0

g2(~x) = −4x41 + 32x3

1 − 88x21 + 96x1 + x− 2− 36 ≤ 0

donde 0 ≤ x1 ≤ 3 y 0 ≤ x2 ≤ 4. El mínimo global factible se encuentra en:x∗ = (2,329520197477623,

17849307411774) con f(x∗) = −5,50801327159536. La región factible de este problema consiste

en dos subregiones disjuntas.

Page 103: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

Apéndice B

Gráficas de comportamiento.

RESUMEN: Aquí se presentan las gráficas de comportamiento del algoritmoen todos los problemas utilizado para su análisis.

B.1. Problemas de prueba

En esta sección se presentan las 22 gráficas de comportamiento de los proble-mas de prueba resueltos por el algoritmo.

83

Page 104: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

84 APÉNDICE B. Gráficas de comportamiento.

0 1000 2000 3000 4000 50000

0.1

0.2

0.3

0.4

0.5

0.6

0.7Promedio de la tendencia de la población en las 30 ejecuciones

Ciclo

Por

cent

aje

asig

nado

ADEEDMED

Figura B.1: Comportamiento promedio de los tamaños de subpoblación en las 30ejecuciones para el problema g01

0 1000 2000 3000 4000 50000

0.1

0.2

0.3

0.4

0.5

0.6

0.7Promedio de la tendencia de la población en las 30 ejecuciones

Ciclo

Por

cent

aje

asig

nado

ADEEDMED

Figura B.2: Comportamiento promedio de los tamaños de subpoblación en las 30ejecuciones para el problema g02

Page 105: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

B.1. Problemas de prueba 85

0 1000 2000 3000 4000 50000

0.1

0.2

0.3

0.4

0.5

0.6

0.7Promedio de la tendencia de la población en las 30 ejecuciones

Ciclo

Por

cent

aje

asig

nado

ADEEDMED

Figura B.3: Comportamiento promedio de los tamaños de subpoblación en las 30ejecuciones para el problema g03

0 1000 2000 3000 4000 50000

0.1

0.2

0.3

0.4

0.5

0.6

0.7Promedio de la tendencia de la población en las 30 ejecuciones

Ciclo

Por

cent

aje

asig

nado

ADEEDMED

Figura B.4: Comportamiento promedio de los tamaños de subpoblación en las 30ejecuciones para el problema g04

Page 106: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

86 APÉNDICE B. Gráficas de comportamiento.

0 1000 2000 3000 4000 50000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8Promedio de la tendencia de la población en las 30 ejecuciones

Ciclo

Por

cent

aje

asig

nado

ADEEDMED

Figura B.5: Comportamiento promedio de los tamaños de subpoblación en las 30ejecuciones para el problema g05

0 1000 2000 3000 4000 50000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1Promedio de la tendencia de la población en las 30 ejecuciones

Ciclo

Por

cent

aje

asig

nado

ADEEDMED

Figura B.6: Comportamiento promedio de los tamaños de subpoblación en las 30ejecuciones para el problema g06

Page 107: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

B.1. Problemas de prueba 87

0 1000 2000 3000 4000 50000.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45

0.5

0.55Promedio de la tendencia de la población en las 30 ejecuciones

Ciclo

Por

cent

aje

asig

nado

ADEEDMED

Figura B.7: Comportamiento promedio de los tamaños de subpoblación en las 30ejecuciones para el problema g07

0 1000 2000 3000 4000 50000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8Promedio de la tendencia de la población en las 30 ejecuciones

Ciclo

Por

cent

aje

asig

nado

ADEEDMED

Figura B.8: Comportamiento promedio de los tamaños de subpoblación en las 30ejecuciones para el problema g08

Page 108: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

88 APÉNDICE B. Gráficas de comportamiento.

0 1000 2000 3000 4000 5000

0.2

0.25

0.3

0.35

0.4

0.45

0.5Promedio de la tendencia de la población en las 30 ejecuciones

Ciclo

Por

cent

aje

asig

nado

ADEEDMED

Figura B.9: Comportamiento promedio de los tamaños de subpoblación en las 30ejecuciones para el problema g09

0 1000 2000 3000 4000 50000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8Promedio de la tendencia de la población en las 30 ejecuciones

Ciclo

Por

cent

aje

asig

nado

ADEEDMED

Figura B.10: Comportamiento promedio de los tamaños de subpoblación en las 30ejecuciones para el problema g10

Page 109: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

B.1. Problemas de prueba 89

0 1000 2000 3000 4000 50000.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45

0.5Promedio de la tendencia de la población en las 30 ejecuciones

Ciclo

Por

cent

aje

asig

nado

ADEEDMED

Figura B.11: Comportamiento promedio de los tamaños de subpoblación en las 30ejecuciones para el problema g11

0 1000 2000 3000 4000 50000

0.1

0.2

0.3

0.4

0.5

0.6

0.7Promedio de la tendencia de la población en las 30 ejecuciones

Ciclo

Por

cent

aje

asig

nado

ADEEDMED

Figura B.12: Comportamiento promedio de los tamaños de subpoblación en las 30ejecuciones para el problema g12

Page 110: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

90 APÉNDICE B. Gráficas de comportamiento.

0 1000 2000 3000 4000 50000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9Promedio de la tendencia de la población en las 30 ejecuciones

Ciclo

Por

cent

aje

asig

nado

ADEEDMED

Figura B.13: Comportamiento promedio de los tamaños de subpoblación en las 30ejecuciones para el problema g13

0 1000 2000 3000 4000 50000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1Promedio de la tendencia de la población en las 30 ejecuciones

Ciclo

Por

cent

aje

asig

nado

ADEEDMED

Figura B.14: Comportamiento promedio de los tamaños de subpoblación en las 30ejecuciones para el problema g14

Page 111: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

B.1. Problemas de prueba 91

0 1000 2000 3000 4000 50000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9Promedio de la tendencia de la población en las 30 ejecuciones

Ciclo

Por

cent

aje

asig

nado

ADEEDMED

Figura B.15: Comportamiento promedio de los tamaños de subpoblación en las 30ejecuciones para el problema g15

0 1000 2000 3000 4000 50000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9Promedio de la tendencia de la población en las 30 ejecuciones

Ciclo

Por

cent

aje

asig

nado

ADEEDMED

Figura B.16: Comportamiento promedio de los tamaños de subpoblación en las 30ejecuciones para el problema g16

Page 112: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

92 APÉNDICE B. Gráficas de comportamiento.

0 1000 2000 3000 4000 50000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8Promedio de la tendencia de la población en las 30 ejecuciones

Ciclo

Por

cent

aje

asig

nado

ADEEDMED

Figura B.17: Comportamiento promedio de los tamaños de subpoblación en las 30ejecuciones para el problema g17

0 1000 2000 3000 4000 50000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9Promedio de la tendencia de la población en las 30 ejecuciones

Ciclo

Por

cent

aje

asig

nado

ADEEDMED

Figura B.18: Comportamiento promedio de los tamaños de subpoblación en las 30ejecuciones para el problema g18

Page 113: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

B.1. Problemas de prueba 93

0 1000 2000 3000 4000 50000

0.1

0.2

0.3

0.4

0.5

0.6

0.7Promedio de la tendencia de la población en las 30 ejecuciones

Ciclo

Por

cent

aje

asig

nado

ADEEDMED

Figura B.19: Comportamiento promedio de los tamaños de subpoblación en las 30ejecuciones para el problema g19

0 1000 2000 3000 4000 50000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8Promedio de la tendencia de la población en las 30 ejecuciones

Ciclo

Por

cent

aje

asig

nado

ADEEDMED

Figura B.20: Comportamiento promedio de los tamaños de subpoblación en las 30ejecuciones para el problema g21

Page 114: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

94 APÉNDICE B. Gráficas de comportamiento.

0 1000 2000 3000 4000 50000

0.1

0.2

0.3

0.4

0.5

0.6

0.7Promedio de la tendencia de la población en las 30 ejecuciones

Ciclo

Por

cent

aje

asig

nado

ADEEDMED

Figura B.21: Comportamiento promedio de los tamaños de subpoblación en las 30ejecuciones para el problema g24

Page 115: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

Referencias

[1] Thomas Weise. Global Optimization Algorithms - Theory and Applica-tion. Self-Published, second edition, may,1 2009. Online available athttp://www.it-weise.de/.

[2] Jorge Nocedal and Stephen J. Wright. Numerical optimization. Springerseries in operations research and financial engineering. Springer, New York,NY, 2. ed. edition, 2006.

[3] Kalyanmoy Deb. Optimization for Engineering Design: Algorithms andExamples, address = India, New Delhi, edition = Fourth,. Prentice Hall ofIndia, 2000.

[4] John T. Betts. Practical methods for optimal control using nonlinear pro-gramming, volume 3 of Advances in Design and Control. Society for Indus-trial and Applied Mathematics (SIAM), Philadelphia, PA, 2001.

[5] Boris T. Polyak. Newton’s method and its use in optimization. EuropeanJournal of Operational Research, 181(3):1086–1096, 2007.

[6] Z. Michalewikz and D.B. Fogel. How to Solve it: Modern Heuristics. Sprin-ger, 2004.

[7] Carlos Linares López. Heuristic hill-climbing as a markov process. In AIM-SA, pages 274–284, 2008.

[8] R. Bai. An Investigation of Novel Approaches for Optimising Retail ShelfSpace Allocation. PhD thesis, School of Computer Science and InformationTechnology, University of Notting-ham, September 2005.

[9] Efrén Mezura Montes, Mariana Edith Miranda Varela, J. I. Flores, and O. C.Domínguez. Paradigmas emergentes en algoritmos bio-inspirados. Labora-torio Nacional de Informática Avanzada, 2009.

[10] Efrén Mezura Montes, Omar Cetina Dominguez, and Betania HernándezOcaña. Mecatrónica, chapter Nuevas Heurísticas Inspiradas en la Naturalezapara Optimización Numérica, pages 249–272. IPN, 2010.

95

Page 116: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

96 REFERENCIAS

[11] Edgar A. Portilla Flores, Efrén Mezura Montes, Jaime Álvarez Gallegos, Car-los A. Coello Coello, and Carlos A. Cruz Villar. Integration of structure andcontrol using an evolutionary approach: an application to the optimal concu-rrent design of a cvt. International Journal for Numerical Methods in Engi-neering, pages 71(8):883–1008, August 2007.

[12] David H. Wolpert and William G. Macready. No free lunch theorems for op-timization. IEEE TRANSACTIONS ON EVOLUTIONARY COMPUTATION,1(1):67–82, 1997.

[13] José Carlos Villela Tinoco. Mecanismo para la selección y control de una hi-perheurística basada en evolución diferencial para optimización en espaciosrestringidos. Master’s thesis, Centro de Investigación y de Estudios Avanza-dos, IPN, México, DF., Octubre 2010.

[14] Rademacher M. H., Averill R. C., and Sidhu R. C. Optimization of engi-neering systems. In Inverse Problems Symposium, East Lansing. Michigan,USA., 2009.

[15] Anderson J. A survey of multiobjetive optimization in engineering design.Technical report, Department of Mechanical Engineering, Linkoping Univer-sity, Linkoping, Sweden, 2000.

[16] Omar Cetina Domínguez. An adaptation of the scout bee behavior in theartificial bee colony algorithm to solve constrained optimization problems.Master’s thesis, (MsC in Computer Science), Laboratorio Nacional de Infor-mática Avanzada (LANIA A.C.), February 27th 2009.

[17] Betania Hernández Ocaña. Diseño mecatrónico usando optimización basadaen bacterias. Master’s thesis, (Ms in Applied Computing) Laboratorio Nacio-nal de Informática Avanzada (LANIA A.C.), November 3th 2011.

[18] Kalyanmoy Deb. Optimization for Engineering Design. Prentice-Hall, firstedition edition, 1995.

[19] Andries P. Engelbrecht. Fundamentals of Computational Swarm Intelligence,chapter chapter 1 Introduction, pages 1–4. Wiley and Sons, 2005.

[20] Taha H.A. Investigación de Operaciones. Alfa Omega, second edition, 1991.

[21] Andries P. Engelbrecht. Fundamentals of Computational Swarm Intelligence.John Wiley & Sons, 2006.

[22] Agoston E. Eiben and J. E. Smith. Introduction to Evolutionary Computing.SpringerVerlag, 2003.

[23] David A. Van Veldhuizen and David A. Van Veldhuizen. Multiobjective evo-lutionary algorithms: Classifications, analyses, and new innovations. Techni-cal report, Evolutionary Computation, 1999.

Page 117: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

REFERENCIAS 97

[24] Rainer Storn and Kenneth Price. Differential evolution : A simple and effi-cient heuristic for global optimization over continuous spaces. J. of GlobalOptimization, 11(4):341–359, December 1997.

[25] Efrén Mezura-Montes and Carlos A. Coello Coello. Constraint-handling innature-inspired numerical optimization: Past, present and future. Swarm andEvolutionary Computation, 1(4):173–194, 2011.

[26] Kalyanmoy Deb. An efficient constraint handling method for genetic algo-rithms. In Computer Methods in Applied Mechanics and Engineering, pages311–338, 1998.

[27] Noha M. Hamza, Saber M. Elsayed, Daryl Essam, and Ruhul A. Sarker. Dif-ferential evolution combined with constraint consensus for constrained opti-mization. In IEEE Congress on Evolutionary Computation, pages 865–872,2011.

[28] Fuzhuo Huang, Ling Wang, and Qie He. A hybrid differential evolution withdouble populations for constrained optimization. In IEEE Congress on Evo-lutionary Computation, pages 18–25. IEEE, 2008.

[29] Edgar Alfredo Portilla-Flores, Efrén Mezura-Montes, Jaime Alvarez-Gallegos, Carlos Artemio Coello-Coello, Carlos Alberto Cruz-Villar, and Mi-guel Gabriel Villarreal-Cervantes. Parametric reconfiguration improvementin non-iterative concurrent mechatronic design using an evolutionary-basedapproach. Engineering Applications of Artificial Intelligence, 24(5):757–771,August 2011.

[30] Cowling P. and Kendall G. Soubeiga E. A hyperheuristic approach to sche-duling a sales summit. In Springer-Verlag, editor, Proceedings of the ThirdMetaheuristics International Conference (MIC 2001), pages 127–131, PortoPortugal, 2001.

[31] Edmund k. Burke, Matheww Hyde, Graham Kendall, Gabriela Ochoa, EnderOzcan, and John R. Woodward. A classification of hyper-heuristics approa-ches. Gendreau, M., Potvin, J.Y. (eds.) Handbook of Metaheuristics. Inter-national Series in Operations Research and Management Science, 146:449–468, 2010.

[32] Ozcan E., Bilgin B., and Korkmaz EE. A comprehensive survey of hyperheu-ristics. Intelligent Data Analysis, 12(1):1–21, 2008.

[33] Peter Ross. Search Methodologies: Introductory Tutorials in Optimizationand Decision Support Techniques, chapter 17, pages 529–556. Springer, Ber-lin, 2005.

Page 118: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

98 REFERENCIAS

[34] K. Chakhlevitch and P. I. Cowling. Hyperheuristics: Recent developments.In Carlos Cotta, Marc Sevaux, and Kenneth Sörensen, editors, Adaptive andMultilevel Metaheuristics, volume 136 of Studies in Computational Intelli-gence, pages 3–29, Berlin, 2008. Springer.

[35] Edmund K. Burke, Matthew Hyde, Graham Kendall, Gabriela Ochoa, En-der Ozcan, and John R. Woodward. A classification of hyper-heuristics ap-proaches. In Michel Gendreau and Jean-Yves Potvin, editors, Handbook ofMetaheuristics, volume 57 of International Series in Operations Research& Management Science, chapter 15, pages 449–468. Springer, 2nd edition,2010.

[36] T. Warren Liao. Two hybrid differential evolution algorithms for engineeringdesign optimization. Appl. Soft Comput., 10(4):1188–1199, September 2010.

[37] E.-G. Talbi. A taxonomy of hybrid metaheuristics. Journal of Heuristics,8(5):541–564, September 2002.

[38] Mohammed El-Abd and Mohamed Kamel. A taxonomy of cooperative searchalgorithms. In Proceedings of the Second international conference on HybridMetaheuristics, HM’05, pages 32–41, Berlin, Heidelberg, 2005. Springer-Verlag.

[39] M. M. Ali and Z. Kajee-Bagdadi. A local exploration-based differential evo-lution algorithm for constrained global optimization. Applied Mathematicsand Computation, 208(1):31–48, 2009.

[40] Efrén Mezura-Montes, Jesús Velázquez-Reyes, and Carlos A. Coello Coello.Modified differential evolution for constrained optimization. In Proceedingsof the Congress on Evolutionary Computation (CEC’2006), editor, IEEEPress, pages 332–339, Sheraton Vancouver Wall Centre Hotel, Vancouver,BC, Canada, July 2006. 2006 IEEE Congress on Evolutionary Computation,CEC’2006.

[41] A.O. Youyun and C.H.I Hongqin. An adaptive differential evolution algo-rithm to solve constrained optimization problems in engineering design. En-gineering, (2):65–77, January 2010.

[42] Vitaliy Feoktistov. Differential Evolution: In Search of Solutions (SpringerOptimization and Its Applications). Springer-Verlag New York, Inc., Secau-cus, NJ, USA, 2006.

[43] Efrén Mezura-Montes and Carlos A. Coello Coello. Identifying on-line beha-vior and some sources of difficulty in two competitive approaches for cons-trained optimization. In Congress on Evolutionary Computation, editor, IEEEPress, pages 1477–1484, 2005.

Page 119: Implementación de un Algoritmo Multioperador Basado en ...emezura/util/files/Tesis-FINAL-Alfredo.pdf · Maestría en Computación Aplicada ... Al Dr. Edgar Alfredo Portilla Flores

REFERENCIAS 99

[44] J. Liang, T. Runarsson, E. Mezura-Montes, M. Clerc, P. Suganthan, C. C.Coello, and K. Deb. Problem definitions and evaluation criteria for the cec2006 special session on constrained real-parameter optimization. TechnicalReport 2006005, Nanyang Technological University, Singapore, March 2006.

[45] Zbigniew Michalewicz and Marc Schoenauer. Evolutionary algorithms forconstrained parameter optimization problems. Evol. Comput., 4(1):1–32,March 1996.

[46] Saber M. Elsayed, Ruhul A. Sarker, and Daryl L. Essam. Multi-operatorbased evolutionary algorithms for solving constrained optimization problems.Comput. Oper. Res., 38(12):1877–1896, December 2011.

[47] R. Venkata Rao and Vivek Patel. An elitist teaching-learning-based opti-mization algorithm for solving complex constrained optimization problems.International Journal of Industrial Engineering Computations, (3):535–560,March 2012.

[48] R. V. Rao, V. J. Savsani, and D. P. Vakharia. Teaching-learning-based op-timization: A novel method for constrained mechanical design optimizationproblems. Computer-Aided Design, 43(3):303–315, 2011.

[49] Milan Tuba, Nebojsa Bacanin, and Nadezda Stanarevic. Adjusted artificialbee colony (abc) algorithm for engineering problems. WSEAS TRANSAC-TIONS on COMPUTERS, 11(4):111–120, April 2012. E-ISSN: 2224-2872.