Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En...

123
Computación Evolutiva ACADEMIA MEXICANA DE COMPUTACIÓN, A, C.

Transcript of Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En...

Page 1: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos

Computacioacuten Evolutiva

ACADEMIA MEXICANA DE COMPUTACIOacuteN A C

Computacioacuten Evolutiva Coordinador Carlos Artemio Coello Coello

En colaboracioacuten con la Academia Mexicana de Computacioacuten

Colaboradores capiacutetulo 1 Rafael Rivera Loacutepez y Efreacuten Mezura Montes Colaboradores capiacutetulo 2 Alicia Morales Reyes Colaboradores capiacutetulo 3 Mario Graff Daniela Moctezuma Eric S Tellez y Sabino Miranda Jimeacutenez Colaboradores capiacutetulo 4 Carlos Segura y Joel Chacoacuten Castillo Colaboradores capiacutetulo 5 Carlos A Brizuela y Julio Juaacuterez Colaboradores capiacutetulo 6 Hugo Terashima Mariacuten Santiago Enrique Conant Pab- los Joseacute Carlos Ortiz Bayliss e Ivaacuten Mauricio Amaya Contreras

Primera edicioacuten 2019 Academia Mexicana de Computacioacuten A C Todos los derechos reservados conforme a la ley ISBN

Este libro se realizoacute con el apoyo del CONACyT Proyecto No 293115

Queda prohibida la reproduccioacuten parcial o total directa o indirecta del contenido de esta obra sin contar con autorizacioacuten escrita de los autores en teacuterminos de la Ley Federal del Derecho de Autor y en su caso de los tratados internacionales aplicables

Impreso en Meacutexico Printed in Mexico

Computacioacuten Evolutiva

Carlos Artemio Coello Coello (Coordinador)

Con la colaboracioacuten de

Rafael Rivera Loacutepez

Efreacuten Mezura Montes

Alicia Morales Reyes

Mario Graff

Daniela Moctezuma

Eric S Tellez Sabino

Miranda Jimeacutenez

Carlos Segura

Joel Chacoacuten Castillo

Carlos A Brizuela

Julio Juaacuterez

Hugo Terashima Mariacuten

Santiago Enrique Conant Pablos

Joseacute Carlos Ortiz Bayliss

Ivaacuten Mauricio Amaya Contreras

Proacutelogo La computacioacuten evolutiva es un aacuterea de las ciencias de la computacioacuten que se enfoca al estudio de las propiedades de una serie de metaheurısticas estocaacutesticas (a las cuales se denomina de manera geneacuterica ldquoAlgoritmos Evolutivosrdquo) inspiradas en la teorıa de la evolucioacuten de las especies formulada por Charles Darwin seguacuten la cual los individuos ldquomaacutes aptosrdquo a su ambiente tienen una mayor probabilidad de sobrevivir

Una metaheurıstica es un procedimiento de buacutesqueda de alto nivel que aplica una regla o conjunto de reglas que se basa(n) en una fuente de conocimiento El eacutenfasis de las metaheurısticas es explorar el espacio de buacutesqueda de manera relativamente eficiente es decir mejor que lo que harıa una buacutesqueda exhaustiva aunque no necesariamente oacuteptima Las metaheurısticas suelen considerarse tambieacuten como teacutecnicas de buacutesqueda y optimizacioacuten de uso general pese a sus limitantes teoacutericas (en general las metaheurısticas no pueden garantizar convergencia al oacuteptimo global) Otro rasgo distintivo de las metaheurısticas es que suelen requerir poca informacioacuten especıfica del problema y son uacutetiles cuando el espacio de buacutesqueda es muy grande poco conocido yo con dificultades para explorarlo Cuando se usan para optimizacioacuten no pueden garantizar en general que convergeraacuten a la mejor solucioacuten posible (es decir al oacuteptimo global del problema) si bien en la praacutectica suelen producir aproximaciones razonablemente buenas en tiempos razonablemente cortos

Los algoritmos evolutivos son metaheurısticas estocaacutesticas porque su comportamiento se basa en el uso de nuacutemeros aleatorios y en operadores probabilısticos En consecuencia no siempre producen el mismo resultado cada vez que se ejecutan con los mismos datos de entrada

En Meacutexico existe un nuacutemero importante de investigadores trabajando en diferentes aacutereas de la computacioacuten evolutiva y este libro intenta proporcionar un asomo a la diversidad de temas en los que se hace investigacioacuten en nuestro paıs Los seis capıtulos que conforman este libro estaacuten escritos como tutoriales breves que pretender introducir al lector a ciertos temas especıficos de computacioacuten evolutiva En todos los casos se describe brevemente parte del trabajo que han realizado algunos grupos de investigacioacuten en Meacutexico en torno a estos temas

El capıtulo 1 presenta una introduccioacuten a la ldquoevolucioacuten diferencialrdquo que es un tipo de algoritmo evolutivo que se ha vuelto muy popular en la solucioacuten de problemas de optimizacioacuten no lineal Los autores proporcionan una descripcioacuten general de este tipo de algoritmo evolutivo incluyendo el funcionamiento de sus operadores de cruza y mutacioacuten y las diferencias entre sus variantes principales

El capıtulo 2 describe los conceptos baacutesicos de los ldquoalgoritmos geneacuteticos paralelosrdquo a partir de una taxonomıa muy sencilla basada en la granularidad de la paralelizacioacuten enfatizando las diferencias que existen entre los esquemas homogeacuteneos y heterogeacuteneos ası como entre el paralelismo sıncrono y el asıncrono

El capıtulo 3 se enfoca a una variante del algoritmo geneacutetico denominada ldquoprogramacioacuten geneacuteticardquo en la cual se usa una representacioacuten de aacuterbol (la cual permite evolucionar programas) en vez de las cadenas binarias de longitud fija del algoritmo geneacutetico tradicional La programacioacuten geneacutetica ha tomado una gran relevancia en antildeos recientes sobre todo por su aplicabilidad a problemas de aprendizaje y clasificacioacuten

El capıtulo 4 se enfoca en un tema muy importante en computacioacuten evolutiva del cual no suele hablarse mucho la importancia de la diversidad en el disentildeo de un algoritmo evolutivo Los autores hacen una revisioacuten de diversas teacutecnicas que se han propuesto para lidiar con la convergencia prematura (la cual suele ser consecuencia de una peacuterdida abrupta de diversidad en la poblacioacuten) Adicionalmente se incluye un pequentildeo estudio en el que se analizan dos teacutecnicas para mantener diversidad

El capıtulo 5 presenta un tutorial de otra aacuterea que ha tomado gran relevancia en antildeos recientes la optimizacioacuten evolutiva multi-objetivo la cual se enfoca a la solucioacuten de problemas de optimizacioacuten que tienen dos o maacutes objetivos (normalmente en conflicto entre sı) que deseamos optimizar al mismo tiempo Ademaacutes de proporcionar los conceptos baacutesicos de esta aacuterea se describen brevemente los algoritmos evolutivos multi-objetivo maacutes utilizados en la actualidad ası como las medidas principales de desempentildeo que se utilizan en la literatura especializada En la parte final del capıtulo se describen tambieacuten algunos de los temas de investigacioacuten en los que se estaacute trabajando maacutes dentro de esta aacuterea en la actualidad

El capıtulo 6 estaacute dedicado a las hiper-heurısticas que son teacutecnicas que buscan proporcionar maacutes flexibilidad que los algoritmos evolutivos tradicionales al ser capaces de adaptarse a diversos tipos de problemas y a diferentes instancias de una misma clase de problemas Las hiper-heurısticas son el eslaboacuten intermedio entre las limitantes teoacutericas relacionadas con la aplicabilidad de las metaheurısticas y el anhelado suentildeo del disentildeo automatizado de algoritmos y

constituyen sin lugar a dudas uno de los temas maacutes ricos de investigacioacuten dentro de las metaheurısticas

Doctor Carlos Artemio Coello Coello

Indice general

Proacutelogo 5

Introduccioacuten 13

El algoritmo de Evolucioacuten Diferencial 15

Mutacioacuten 16

Cruza 18

Seleccioacuten 20

Estructura del Algoritmo 20

Modificaciones al algoritmo de Evolucioacuten Diferencial 21

Ajuste de paraacutemetros globales 22

Ajuste de paraacutemetros asociados a cada individuo de la poblacioacuten 23

Ajuste del tamantildeo de la poblacioacuten 26

Combinacioacuten de variantes 27

Evolucioacuten Diferencial para otros tipos de problemas 29

DE en Meacutexico 30

Conclusiones 30

Para saber maacutes 31

Introduccioacuten 32

AGds homogeacuteneos y heterogeacuteneos 35

Migracioacuten en AGPs 37

AGs celulares o de grano fino 39

Explotacioacutenexploracioacuten por propiedades estructurales 40

Presioacuten de seleccioacuten por caracteriacutesticas estructurales 43

Anaacutelisis empiacuterico 45

Aceleracioacuten en AGP 46

Concepto de sincronismo en AGPs 47

En AGPs distribuidos viacutea migracioacuten 48

En AGP celulares viacutea criterios de actualizacioacuten 49

Discusioacuten 50

Investigacioacuten de AGPs en Meacutexico 50

Para saber maacutes 51

Introduccioacuten 53

Proceso evolutivo 55

Representacioacuten 56

Poblacioacuten inicial 58

Operadores Geneacuteticos 59

Recombinacioacuten 59

Mutacioacuten 60

Seleccioacuten 61

Espacio de buacutesqueda 62

Conclusiones 63

Para saber maacutes 63

Introduccioacuten 64

Preservacioacuten de diversidad en algoritmos evolutivos 67

Clasificaciones de mecanismos para promover la diversidad 67

Esquemas claacutesicos para administrar la diversidad 68

Esquemas de reemplazamiento basados en diversidad 69

Diversidad en evolucioacuten diferencial 71

Disentildeo de evolucioacuten diferencial basado en diversidad 72

Evolucioacuten diferencial Conceptos baacutesicos 72

Inicializacioacuten 72

Operador de mutacioacuten 72

Operador de cruza 73

Operador de seleccioacuten 73

Propuesta basada en diversidad 74

Resultados de de-edm 77

Disentildeo de operadores de cruza basados en diversidad 87

Algoritmos evolutivos multi-objetivo 87

Operadores de cruza 89

El operador de cruza basado en simulacioacuten binaria - SBX 89

Implementacioacuten y anaacutelisis del operador sbx 90

Propuesta - dsbx 92

Resultados 93

Anaacutelisis de cada modificacioacuten en el operador sbx 95

Modificacioacuten simultaacutenea de varios componentes 96

Conclusiones y trabajo futuro 97

Para saber maacutes 98

Agradeciemientos 99

Introduccioacuten 100

Fundamentos de las Hiper-heuriacutesticas 102

Hiper-heuriacutesticas que seleccionan heuriacutesticas 103

Hiper-heuriacutesticas que generan nuevas heuriacutesticas 105

Modelos de Hiper-heuriacutesticas 106

Modelos Evolutivos 106

Hiper-Heuriacutesticas basadas en Algoritmos Geneacuteticos 106

Hiper-Heuriacutesticas basadas en Programacioacuten Geneacutetica 107

Modelos Neuronales 109

Un ejemplo 109

El problema 110

Las alternativas 110

La informacioacuten del problema 111

Nuestra primer hiper-heuriacutestica 112

Otras hiper-heuriacutesticas 112

Las hiper-heuriacutesticas como un problema de optimizacioacuten 113

Aspectos Avanzados de las Hiper-heuriacutesticas 115

Hiacuteper-heuriacutesticas para Problemas Multi-objetivo 115

Transformacioacuten de Caracteriacutesticas en Hiper-heuriacutesticas 117

Tendencias Futuras de Hiper-heuriacutesticas 119

Para saber maacutes 121

Conclusiones 122

Evolucioacuten Diferencial una breve introduccioacuten Rafael Rivera Loacutepez

Efreacuten Mezura Montes

En este capiacutetulo se hace una descripcioacuten general del algoritmo de Evolucioacuten Diferencial Este tipo de algoritmo evolutivo representa una excelente alternativa para encontrar soluciones cercanas al oacuteptimo a problemas de optimizacioacuten continua complejos Debido a la simplicidad de su implementacioacuten y sus excelentes habilidades de exploracioacuten y explotacioacuten diversas variantes de este algoritmo se han aplicado para resolver problemas con diferentes caracteriacutesticas En este capiacutetulo se describen los elementos baacutesicos del algoritmo asiacute como las diferentes variantes que se han desarrollado para mejorar su desempentildeo

Introduccioacuten Con el nombre de algoritmos evolutivos se identifica a un grupo de procedimientos que se utilizan para resolver muchos problemas praacutecticos y que se distinguen de otras teacutecnicas porque estaacuten inspirados en las teoriacuteas que sintetizan la evolucioacuten Darwiniana y la herencia geneacutetica descrita por Mendel Los algoritmos evolutivos han probado ser herramientas poderosas para encontrar soluciones aceptables a problemas donde otras teacutecnicas fallan o consumen una excesiva cantidad de tiempo Estos algoritmos se destacan por combinar exitosamente dos mecanismos de buacutesqueda exploracioacuten y explotacioacuten La exploracioacuten permite identificar aacutereas prometedoras del espacio de buacutesqueda y la explotacioacuten lleva a cabo una buacutesqueda especializada dentro de estas aacutereas para encontrar soluciones cercanas al oacuteptimo Su aplicacioacuten se extiende en praacutecticamente todas las aacutereas de la actividad humana como por ejemplo en salud educacioacuten ciencias industria economiacutea y defensa Los algoritmos evolutivos tambieacuten han sido utilizados en aacutereas emergentes como la ciencia de datos la inteligencia de negocios y el big data En estos algoritmos un conjunto de soluciones candidatas evoluciona para alcanzar una solucioacuten cercana al oacuteptimo por la aplicacioacuten de procedimientos que permiten recombinar y alterar sus valores En la jerga de los especialistas del aacuterea una solucioacuten candidata se conoce como individuo al conjunto de soluciones se denomina poblacioacuten y los procedimientos involucrados en el proceso evolutivo se identifican como operadores de seleccioacuten cruzamiento y mutacioacuten Comuacutenmente dos individuos son seleccionados y sus valores son recombinados y algunas veces mutados para crear nuevas soluciones candidatas Los nuevos individuos son considerados parte de una nueva poblacioacuten que sustituye a la anterior Entonces una secuencia de nuevas poblaciones son creadas hasta que una condicioacuten de teacutermino es alcanzada y la mejor solucioacuten de

las uacuteltima poblacioacuten es seleccionada como resultado del algoritmo Este proceso evolutivo es guiado por una funcioacuten de aptitud que determina la calidad de cada individuo en la poblacioacuten La figura 1 muestra el esquema general de un algoritmo evolutivo

Esquema general de un algoritmo evolutivo

A lo largo de su desarrollo histoacuterico varios tipos de algoritmos evolutivos han sido implementados difiriendo en la forma de representar a sus individuos y en la implementacioacuten de sus operadores geneacuteticos Auacuten cuando en los antildeos 50 varios autores introducen los teacuterminos evolucioacuten y proceso evolutivo en sus propuestas para resolver diversos problemas es en los antildeos 60 cuando se sientan las bases del desarrollo de los algoritmos evolutivos con la introduccioacuten de tres teacutecnicas la Programacioacuten Evolutiva las Estrategias Evolutivas y los Algoritmos Geneacuteticos Fogel propone en 1962 la Programacioacuten Evolutiva donde las soluciones candidatas se representan con maacutequinas de estados finitos y Rechenberg y Schwefel en 1965 desarrollan las Estrategias Evolutivas que codifican sus individuos con vectores de nuacutemeros reales Los Algoritmos Geneacuteticos introducidos en 1962 por Holland son sin duda el tipo de algoritmo evolutivo maacutes popular Estos algoritmos tradicionalmente utilizan una cadena binaria para representar a sus individuos aunque tambieacuten se han utilizado cadenas de enteros y secuencias de nuacutemeros reales Desarrollos posteriores a estas teacutecnicas han aportado al eacutexito de los algoritmos evolutivos destacaacutendose la Programacioacuten Geneacutetica los Algoritmos Coevolutivos los Algoritmos Culturales el algoritmo de Evolucioacuten Diferencial los Algoritmos de Estimacioacuten de Distribuciones la Evolucioacuten Gramatical y la Programacioacuten de Expresioacuten de Genes Cada uno de estos algoritmos tienen sus ventajas y sus propios desafiacuteos y han sido utilizados para resolver diferentes tipos de problemas La figura 2 muestra un esquema del desarrollo histoacuterico de los

algoritmos evolutivos En particular el algoritmo de Evolucioacuten Diferencial ha demostrado ser muy competitivo y exitoso para resolver problemas numeacutericos complejos en comparacioacuten con otros algoritmos

Liacutenea del tiempo del desarrollo de los algoritmos evolutivos

El algoritmo de Evolucioacuten Diferencial Evolucioacuten Diferencial (DE por sus siglas en ingleacutes) es un tipo de algoritmo evolutivo que fue originalmente disentildeado por Storn y Price en 1995 para resolver problemas de optimizacioacuten continua En particular en este algoritmo cada individuo usualmente se representa con un vector de valores continuos de paraacutemetros Ademaacutes en lugar de implementar los operadores de cruza y mutacioacuten tradicionales el algoritmo crea cada nuevo individuo con una combinacioacuten lineal de los valores de dos o maacutes individuos de la poblacioacuten actual que son seleccionados al azar La forma en que se implementan los operadores de cruza y mutacioacuten se ha utilizado en la literatura para identificar las diferentes variantes del algoritmo DEABC es la notacioacuten comuacutenmente usada para nombrar estas variantes donde A y B determinan el tipo de mutacioacuten implementado y C identifica el tipo de cruza implementado por la variante En particular A representa el procedimiento de seleccioacuten de los individuos para construir el individuo mutado y B es el nuacutemero de vectores diferencia usados para el operador de mutacioacuten DE puede considerarse un proceso de tres pasos que incluye una fase de inicializacioacuten el proceso evolutivo y el paso final que determina el resultado obtenido La fase de inicializacioacuten involucra la seleccioacuten y evaluacioacuten de un grupo de NP individuos que son generados aleatoriamente de un espacio de buacutesqueda finito los cuales se utilizan como poblacioacuten inicial del algoritmo conocido como Si para cada y son los valores miacutenimo y maacuteximo del -eacutesimo paraacutemetro en el valor del -eacutesimo individuo en la poblacioacuten inicial es determinado como sigue

x = (x1 x2 hellip xn) n

Ω sube ℝn

X0 j isin 1 hellip n xminj xmax

jj Ω xi

j i xi

donde es un nuacutemero aleatorio uniformemente distribuido dentro del rango El proceso evolutivo implementa un esquema iterativo para evolucionar la poblacioacuten inicial En cada iteracioacuten de este proceso conocido como una generacioacuten una nueva poblacioacuten de individuos es generada utilizando informacioacuten de la poblacioacuten previamente creada A diferencia de otros algoritmos evolutivos el orden de aplicacioacuten de los operadores geneacuteticos en el algoritmo de Evolucioacuten Diferencial es diferente Primero se aplica la mutacioacuten despueacutes la cruza y al final se lleva a cabo la seleccioacuten del mejor individuo Para cada en la generacioacuten es obtenido de la poblacioacuten y es utilizado para crear un nuevo vector aplicando los operadores de cruza y mutacioacuten Los vectores y son conocidos como el vector objetivo y el vector de prueba respectivamente Estos vectores son evaluados por el operador de seleccioacuten para actualizar la nueva poblacioacuten Los operadores de mutacioacuten cruza y seleccioacuten son descritos en detalle en los siguientes paacuterrafos En el paso final cuando una condicioacuten de paro es alcanzada el algoritmo devuelve el mejor individuo en la poblacioacuten actual La condicioacuten de paro maacutes comuacutenmente utilizada es comparar el nuacutemero de generaciones construidas contra un valor fijo pero otros criterios pueden ser implementados como aquellos descritos por Zielinski y Laur

Mutacioacuten Un vector mutado es construido al combinar los valores de varios individuos aleatoriamente seleccionados de El nuacutemero de individuos seleccionados para realizar la combinacioacuten depende del operador de mutacioacuten implementado por la variante del algoritmo En alguna de estas variantes el individuo con la mejor aptitud en la poblacioacuten es tambieacuten utilizado por el operador de mutacioacuten Entre los diferentes operadores de mutacioacuten descritos en la literatura destacan los siguientes

$$beginaligned

textDErand1quad v^i amp= x^r_1 + textF big( x^r_2 - x^r_3 big)labeleqmut_1

textDEbest1quad v^i amp= x^textbest + textF big( x^r_1 - x^r_2 big) labeleqmut_2

textDEcurrent-to-best1quad v^i amp= x^i + textF big( x^textbest - x^r_1big) + textF big( x^r_2 - x^r_3 big) labeleqmut_3

xij = xmin

j + r (xmaxj minus xmin

j )

r [0 1]

i isin 1 hellip NP g xi

Xgminus1 ui

xi ui

Xgω

vi xrj

Xgminus1

xbest Xgminus1

textDErand2quad v^i amp= x^r_1 + textF big( x^r_2 - x^r_3 big)+textF big( x^r_4 - x^r_5 big) labeleqmut_4

shortintertexty

textDEbest2quad v^i amp= x^textbest + textF big( x^r_1 - x^r_2 big )+ textF big( x^r_3 - x^r_4 big ) labeleqmut_5 endaligned$$

donde F es un valor definido por el usuario que representa un factor de escala aplicado para controlar la variacioacuten diferencial Storn y Price sentildealan que F puede fijarse entre 0 y 2 pero otros autores recomiendan valores entre 04 y 1 En la figura 3 se presenta un ejemplo de la aplicacioacuten del operador de mutacioacuten DErand1 En este ejemplo = = y = Usando F igual a 05 el vector mutado resultante es =

Ejemplo de la creacioacuten de un vector mutado con el esquema DErand1

La mutacioacuten aporta a las habilidades de explotacioacuten y exploracioacuten del meacutetodo Debido a que al inicio del proceso evolutivo los individuos se encuentran relativamente dispersos en el espacio

xr1 (1056 316) xr2

(253 903) xr3 (56 626) vi

(902 454)

de buacutesqueda la diferencia entre los vectores seleccionados es grande por lo que los vectores mutados pueden ubicarse en diferentes aacutereas del espacio de buacutesqueda pero a medida que el proceso evolutivo avanza las soluciones se vuelven maacutes cercanas y las diferencias entre ellos son maacutes pequentildeas lo que produce que los vectores mutados se encuentran concentrados en aacutereas promisorias del espacio de buacutesqueda

Cruza El operador de cruza se utiliza para combinar la informacioacuten entre el vector objetivo y el vector mutado para construir el vector de prueba Por cada o se seleccionan para construir usando un factor de cruza el cual es tambieacuten un valor especificado por el usuario Dos tipos de cruza se utilizan en este caso cruza binomial y cruza exponencial

Cruza binomial En este operador cada valor asignado a es seleccionado de o de comparando el valor CR con un valor seleccionado al azar Para garantizar que al menos un paraacutemetro de toma un valor de este operador utiliza un valor tambieacuten seleccionado al azar Formalmente la cruza binomial se define como

Tomando el vector mutado = del ejemplo de la figura 3 y un vector objetivo = en la figura 4 se muestra un ejemplo de la creacioacuten de un vector de prueba usando la cruza binomial El vector de prueba generado en este ejemplo es =

xr2 minus xr3

j isin 1 hellip n xij vi

jui CR isin [0 1]

ui vi xi

r isin [0 1] ui

vi l isin 1 hellip n

bin uij =

vij si r le CR or j = l

xij de otra forma

vi (902 454) xi

(406 766)ui (406 454)

Ejemplo de la creacioacuten de un vector de prueba usando la cruza binomial

Cruza exponencial Este operador de cruza asigna una secuencia de valores de a Los valores restantes que son asignados a son obtenidos de El tamantildeo de la secuencia se determina con dos valores 1) un iacutendice que representa la posicioacuten inicial de la secuencia en seleccionado aleatoriamente dentro del rango y 2) el nuacutemero de intentos consecutivos en los cuales determina la posicioacuten final de la secuencia como es definida en la Ec ([eqcr_exp]) La cruza exponencial es similar al operador de cruza de dos puntos introducido por Cavicchio

$$beginaligned

textexpquad u_j^i amp=

begincases

v_j^i amp textsi $ l leq j leq min (l+L-1n)$

vi ui

ui xi

l vi

1 hellip n L le n r le CR

x_j^i amp textde otra forma

endcases labeleqcr_expendaligned$$

Por ejemplo si se tienen dos vectores de cinco paraacutemetros = y = y se aplica el operador de cruza exponencial usando un factor de cruza de 06 entonces se debe obtener el valor de y despueacutes generar una secuencia de valores aleatorios para Si =2 y la secuencia de valores de es 06 03 04 y 06 y el vector de prueba que se construye es =

La cruza ayuda al algoritmo a mantener la diversidad de la poblacioacuten y eventualmente evitar que caiga en oacuteptimos locales El valor de CR es complicado de determinar pero algunos autores sentildealan que su valor puede ajustarse entre 03 y 09

Seleccioacuten Un torneo uno-a-uno es aplicado para determinar cual vector entre y es seleccionado como miembro de la nueva poblacioacuten Este esquema de seleccioacuten permite garantizar que el proceso evolutivo mantenga una mejora continua

Estructura del Algoritmo El Algoritmo [algDE] muestra la estructura de una implementacioacuten claacutesica del algoritmo Eacuteste requiere de tres paraacutemetros para controlar el proceso evolutivo (CR F y NP) y tambieacuten la seleccioacuten de un espacio de buacutesqueda para construir la poblacioacuten inicial y la definicioacuten del tamantildeo de individuo de una funcioacuten objetivo para evaluar cada individuo y de una condicioacuten de paro para finalizar el proceso evolutivo

Entrada Salida Un individuo generado aleatoriamente usando la Ec ([eqinicial]) Vector objetivo obtenido aleatoriamente de Vector mutado generado usando alguna de las Ecs ([eqmut_1])ndash([eqmut_5]) Vector de prueba construido usando alguna de las Ecs ([eqcr_bin])ndash([eqcr_exp])

DE tiene varias ventajas en comparacioacuten con otros algoritmos evolutivos como la simplicidad de su implementacioacuten su habilidad para producir mejores resultados que aquellos obtenidos por los demaacutes y su baja complejidad espacial

vi (24 36 12 78 02) xi

(34 96 12 52 31)l

r l rui (24 96 12 52 02)

xi ui

Xg

g larr 0 Xg larr xi larrXg larr Xg cup (i xi) g larr g + 1 Xg larr xi larr

Xgminus1 vi larrui larrXg larr Xg cup (i ui) Xg larr Xg cup (i xi) xbest

Modificaciones al algoritmo de Evolucioacuten Diferencial Aunque DE requiere de la definicioacuten de un nuacutemero menor de paraacutemetros en comparacioacuten con el nuacutemero de paraacutemetros requeridos por otros algoritmos evolutivos su desempentildeo es sensible a los valores seleccionados de CR F y NP Varios autores sentildealan que los valores adecuados para estos paraacutemetros pueden variar para diferentes problemas y es conocido que la definicioacuten de estos paraacutemetros depende de las caracteriacutesticas propias de cada problema Ademaacutes Lampinen y Zelinka sentildealan que este algoritmo puede presentar el problema de estancamiento debido a una incorrecta seleccioacuten de sus paraacutemetros El estancamiento en un algoritmo se presenta cuando eacuteste no converge a alguna solucioacuten y la poblacioacuten presenta una gran diversidad de individuos Por lo anterior la mayoriacutea de los estudios realizados para mejorar el desempentildeo del algoritmo de Evolucioacuten Diferencial se relacionan con teacutecnicas para ajustar los valores de sus paraacutemetros (F CR y NP) y para combinar las ventajas de las diferentes variantes del algoritmo usando un subconjunto de ellas en lugar de solamente aplicar una variante En los siguientes paacuterrafos se describen las propuestas para mejorar el desempentildeo del algoritmo que se consideran los maacutes representativos en la literatura especializada Para simplificar su descripcioacuten estas propuestas se agrupan de acuerdo al criterio utilizado Ajuste de paraacutemetros y combinacioacuten de variantes Por un lado debido a que F y CR son los paraacutemetros del algoritmo maacutes estudiados y donde maacutes variantes de mejora han sido desarrolladas estos estudios se agrupan en enfoques que usan paraacutemetros globales y enfoques que usan paraacutemetros para cada individuo Adicionalmente se presentan los enfoques relacionados con el ajuste del tamantildeo de la poblacioacuten y tambieacuten aquellos donde se modifica la forma que generar los vectores mutados dentro del proceso evolutivo La figura 5 presenta un esquema del desarrollo histoacuterico de estos enfoques

Liacutenea del tiempo de las modificaciones a DE

Ajuste de paraacutemetros globales En estos enfoques los operadores geneacuteticos utilizan los mismos valores para F y CR en todos los individuos de una misma poblacioacuten como se ilustra en la figura 6 Estos valores se actualizan al finalizar cada generacioacuten con el aacutenimo de mejorar las habilidades de exploracioacuten y explotacioacuten del algoritmo Dos enfoques se concentran en ajustar el valor de F manteniendo fijo el valor de CR En 2004 Ali y Toumlrn lo actualizan considerando la aptitud del mejor y del peor individuo en la poblacioacuten y Das et al en 2005 proponen dos enfoques para modificar su valor el primero lo modifica de forma aleatoria y el segundo reduce su valor de forma lineal conforme el proceso evolutivo avanza Por otro lado Liu y Lampinen en 2005 proponen un enfoque diferente al cual denominan FADE (Fuzzy Adaptive DE algorithm) En este algoritmo los valores de F y CR se ajustan usando un sistema de control loacutegico difuso El sistema utiliza las diferencias entre generaciones sucesivas tanto de los valores de los individuos como de sus valores de aptitud Finalmente Dra et al en 2015 proponen una versioacuten alternativa denominada SinDE (Sinusoidal DE) en donde los valores de F y CR se ajustan utilizando foacutermulas trigonomeacutetricas permitiendo cambiar la direccioacuten del vector diferencia dentro del operador de mutacioacuten

Esquema de ajuste de paraacutemetros globales del algoritmo

Ajuste de paraacutemetros asociados a cada individuo de la poblacioacuten En este tipo de algoritmos cada individuo de la poblacioacuten tiene asociado su propio conjunto de paraacutemetros como se muestra en la figura 7 Estos paraacutemetros se ajustan de forma independiente dentro del proceso evolutivo como se esquematiza en la figura 8

Paraacutemetros asociados a cada individuo de la poblacioacuten

En 2005 Omran et al asocian el valor de F a cada individuo de la poblacioacuten en su meacutetodo denominado SDE (self-adaptive DE) Este meacutetodo actualiza el valor de F combinando los valores de F de tres individuos de la poblacioacuten actual que son seleccionados aleatoriamente En 2006 Brest et al describen su meacutetodo denominado jDE donde los valores de F y CR se pueden modificar en cada iteracioacuten del proceso evolutivo basados en una decisioacuten estocaacutestica utilizando un par de umbrales previamente definidos En 2007 Zhang y Sanderson implementan un meacutetodo conocido como JADE donde F y CR son ajustados utilizando distribuciones normales independientes cuya media es calculada usando el promedio de los vectores mutados mejor adaptados en cada iteracioacuten En 2011 Ghosh et al actualizan los valores de estos paraacutemetros en base al valor de aptitud de los individuos en la poblacioacuten en un meacutetodo denominado FiADE (Fitness-Adaptive DE) Una versioacuten parecida es presentada en 2015 por Tang et al en el meacutetodo llamado IDE (DE with an individual-dependent mechanism) En 2011 Bi y Xiao describen el meacutetodo p-ADE (pbest vector-based self-adaptive DE variant) donde el vector mutado se crea usando el mejor individuo en la poblacioacuten y el mejor de los vectores que se utilizaron para crear al vector objetivo Los valores de F y CR de cada individuo son ajustados usando un factor asociado a las mejores y peores aptitudes de los individuos en la poblacioacuten En 2012 Islam et al introdujeron el meacutetodo llamado MDEpBX (modified DE with p-best crossover) donde se modifica la variante DEcurrent-to-best1 al utilizar el mejor elemento de un grupo de individuos seleccionados aleatoriamente de la poblacioacuten actual en lugar de usar el mejor individuo de la poblacioacuten Los valores de los paraacutemetros se ajustan en base a un par de distribuciones independientes que son actualizadas al final de cada generacioacuten En 2013 Tanabe y Fukunaga implementan el meacutetodo SHADE (Success-History based Adaptive DE) que basaacutendose en JADE actualiza los valores de F y CR usando una memoria de los vectores mutados que han sido exitosamente seleccionados previamente dentro del proceso evolutivo A partir de SHADE

varias versiones se han desarrollado como el meacutetodo L-convSHADE (SHADE using covariance matrix learning with Euclidean Neighborhood) y el meacutetodo LSHADE-SPA (LSHADE with semi parameter adaptation) En 2016 Leon y Xiong introducen una estrategia voraz para actualizar los valores de los paraacutemetros de cada individuo en el meacutetodo llamado GADE (Greedy Adaptive DE) Se utilizan los valores de los paraacutemetros de las soluciones vecinas para ajustar los paraacutemetros del nuevo vector mutado Finalmente Mohamed y Mohamed en 2017 proponen el meacutetodo denominado AGDE (Adaptive guided DE)

Esquema de ajuste de paraacutemetros para cada individuo de la poblacioacuten

Ajuste del tamantildeo de la poblacioacuten En los enfoques descritos previamente solamente se ajustan los valores de F y CR manteniendo el tamantildeo de la poblacioacuten constante Diversos estudios indican que el tamantildeo de la poblacioacuten tambieacuten afecta al desempentildeo de un algoritmo evolutivo por lo que existen trabajos que se han centrado en ajustar el tamantildeo de la poblacioacuten para garantizar la convergencia del algoritmo Existen algunos enfoques donde se ajusta el tamantildeo de la poblacioacuten y se describiraacuten a continuacioacuten En la figura 9 se muestra el esquema general en que estos enfoques ajustan el tamantildeo de la poblacioacuten durante el proceso evolutivo

Esquema general del ajuste del tamantildeo de la poblacioacuten en DE

En 2006 Teo describe el meacutetodo DESAP (Differential Evolution with self-adapting populations) donde el tamantildeo de la poblacioacuten se ajusta usando un factor distribuido uniformemente entre 0 y 1 En 2008 Brest y Sepesy Maučec presentan el algoritmo dynNP-DE (DE con NP dinaacutemico) donde van reduciendo a la mitad el tamantildeo de la poblacioacuten conforme el proceso evolutivo progresa Utilizando el nuacutemero total de evaluaciones y un paraacutemetro que indica el nuacutemero de posibles reducciones el algoritmo establece en queacute generaciones el algoritmo reduciraacute el tamantildeo de la poblacioacuten En 2014 Tanabe y Fukunaga presentaron una versioacuten con ajuste de poblacioacuten del meacutetodo SHADE denominada L-SHADE donde se aplica una reduccioacuten lineal del tamantildeo de la poblacioacuten previo a una ordenacioacuten a los individuos por su aptitud que permite eliminar solo

los individuos peor adaptados En 2017 Bujok y Tvrdiacutek describen el meacutetodo IDEbd (IDE with Population Size Adaptation) en donde el tamantildeo de la poblacioacuten es adaptado usando un factor calculado en base al nivel de diversidad de la poblacioacuten actual

Combinacioacuten de variantes Debido a la forma de combinar los individuos para crear el vector de prueba de cada una de las variantes de DE estaacutes presentan diferentes capacidades de exploracioacuten y explotacioacuten ademaacutes de que son maacutes efectivas para diferentes tipos de problemas Por ejemplo la variante DErand1 es mejor para explorar el espacio de buacutesqueda pero tiene una velocidad de convergencia lenta y DEbest1 converge maacutes raacutepido hacia soluciones cercanas a la oacuteptima pero solo para problemas con un uacutenico oacuteptimo global (unimodales) Debido a que usar diferentes estrategias de mutacioacuten durante diferentes momentos del proceso evolutivo pueden ser mejor que usar una sola variante durante todo el proceso varios autores se han enfocado en desarrollar estrategias para combinar diferentes variantes de DE y lograr con esto que cooperen en la creacioacuten de un mejor vector objetivo La figura 10 muestra un esquema general de la forma en que se aplican estas estrategias dentro del algoritmo de Evolucioacuten Diferencial

Esquema general de la estrategia de combinacioacuten de variantes de DE

En 2005 Qin y Suganthan describieron una versioacuten conocida como SADE (Self-Adaptive DE algorithm for numerical optimization) donde introducen un esquema que selecciona de forma alternada una de dos variantes del algoritmo de acuerdo a su tasa de eacutexito dentro del proceso evolutivo En 2009 Das et al presentaron el meacutetodo llamado DEGL (DE with Global and Local Neighborhoods) donde cada nuevo vector mutado se crea combinando dos vectores uno construido usando una vecindad del vector objetivo (vector local) y otro creado usando el mejor

individuo de la poblacioacuten (vector global) En 2011 Mallipeddi et al asignaron a cada individuo de la poblacioacuten el tipo de variante para generar el vector mutado y los valores para F y CR en el meacutetodo EPSDE (Ensemble of mutation strategies and parameters in DE) Tanto el tipo de variante como los valores de los paraacutemetros se escogen aleatoriamente de un grupo de ellos que es previamente definido Dependiendo del eacutexito de la aplicacioacuten de dichos valores eacutestos se pueden cambiar durante el proceso evolutivo Tambieacuten en ese mismo antildeo Wang et al en su meacutetodo CoDE (Composite DE) crean tres vectores para cada vector objetivo Cada vector es construido usando variantes diferentes y con paraacutemetros generados aleatoriamente El mejor de los tres vectores se usa como vector de prueba para aplicar el operador de seleccioacuten Adicionalmente Zhao et al implementaron un meacutetodo muy similar denominado SaDE-MMTS (SaDE with a modified multi-trajectory search) donde el vector mutado se selecciona de entre los vectores generados por tres diferentes variantes del algoritmo pero la seleccioacuten se hace en base a una probabilidad que iterativamente se ajusta en base a la cantidad de vectores mutados que son exitosamente seleccionados En 2017 Ghosh et al propusieron el meacutetodo NRDE (Noise Resilient DE) donde cada individuo puede ser mutado por alguna de dos variantes con igual probabilidad Los valores de F y CR son ajustados para cada individuo basado en un rango preestablecido previamente

Evolucioacuten Diferencial para otros tipos de problemas Aunque DE fue definido originalmente para resolver problemas de optimizacioacuten continua sin restricciones tambieacuten se ha utilizado con eacutexito para resolver otros tipos de problemas como aquellos donde los valores de las variables del problema son discretos donde el espacio de buacutesqueda estaacute limitado por una o maacutes restricciones y aquellos donde se manejan dos o mas objetivos Prado et al describe varias adaptaciones al algoritmo de Evolucioacuten Diferencial para problemas de optimizacioacuten combinatoria como aquellos que implementan una matriz de permutacioacuten los que obtienen una secuencia ordenada de valores y los que aplican una transformacioacuten de los valores continuos al espacio discreto En el caso de los problemas de optimizacioacuten con restricciones Mezura-Montes et al describen varios enfoques que se han utilizado para aplicar DE en este tipo de problemas como aquellos que utilizan teacutecnicas para eliminar o reparar soluciones infactibles y los que implementan teacutecnicas de penalizacioacuten Finalmente para problemas de optimizacioacuten multi-objetivo Mezura-Montes et al resume las principales teacutecnicas basadas en el algoritmo de Evolucioacuten Diferencial para manejar dos o maacutes objetivos como los enfoques basados en dominancia de Pareto y en jerarquizacioacuten de Pareto asiacute como los meacutetodos que no se basan en Pareto y los enfoques que combinan diferentes estrategias Hoy en diacutea existen tambieacuten algoritmos basados en descomposicioacuten y en indicadores de desempentildeo

DE en Meacutexico En el paiacutes se tiene mucha actividad en investigacioacuten relacionada con DE particularmente el grupo EVOCINV de CINVESTAV Zacatenco estudia a este algoritmo en optimizacioacuten multi-objetivo y temas afines al manejo de muacuteltiples objetivos como algoritmos basados en indicadores modelos subrogados operadores de seleccioacuten operadores de variacioacuten adaptacioacuten de paraacutemetros entre otros temas

En el Centro de Investigacioacuten en Inteligencia Artificial de la Universidad Veracruzana se desarrolla investigacioacuten en optimizacioacuten con restricciones usando DE aplicaciones de DE en mecatroacutenica y en control automaacutetico DE y buacutesqueda local optimizacioacuten dinaacutemica multi-objetivo DE asistida por subrogados en espacios restringidos entre otras temaacuteticas

Recientemente en el Instituto Tecnoloacutegico de Veracruz se desarrollan aplicaciones de DE en aprendizaje automaacutetico en el Centro de Innovacioacuten y Desarrollo Tecnoloacutegico en Coacutemputo (CIDETEC) del IPN se aplica DE en problemas de mecatroacutenica y en el Centro de Investigacioacuten en Matemaacuteticas se aplica en procesos quiacutemicos

Todas estas menciones soacutelo son representativas pues la DE al ser un algoritmo faacutecil de implementar y que provee resultados competitivos ha sido particularmente atractiva para su estudio y aplicacioacuten en instituciones mexicanas

Conclusiones El algoritmo de Evolucioacuten Diferencial es un enfoque exitoso para resolver problemas de optimizacioacuten continua sin restricciones Los individuos que evolucionan al aplicar los operadores de este algoritmo tradicionalmente se codifican como secuencias de nuacutemeros reales pero otras representaciones se han utilizado tambieacuten Ademaacutes con la inclusioacuten de diversas estrategias para manejar varios objetivos y conjuntos de restricciones DE se puede aplicar para resolver otro tipo de problemas DE se distingue por depender de la definicioacuten de un menor nuacutemero de paraacutemetros que otros algoritmos evolutivos pero esto tambieacuten lo hace muy sensible a la definicioacuten de los valores para esos paraacutemetros Diversos variantes del algoritmo han sido desarrolladas para mejorar el desempentildeo del algoritmo generando un abanico de alternativas para resolver casi cualquier tipo de problema El estudio del comportamiento de este algoritmo y la definicioacuten de nuevas propuestas de desarrollo sin duda aportaraacute a la resolucioacuten maacutes eficiente de problemas complejos que interesan a la comunidad cientiacutefica

Para saber maacutes Para aquellos lectores que deseen abundar en el tema las siguientes referencias sobre DE pueden ser de intereacutes

bull El libro sobre DE escrito por los autores originales del algoritmo

bull Una revisioacuten muy completa de la literatura de DE y su versioacuten actualizada

bull Otra revisioacuten de la literatura acompantildeada de un estudio experimental

bull Una revisioacuten de estudios teoacutericos sobre DE

bull Un libro editado con temas diversos y recientes sobre DE

bull DE para resolver problemas de optimizacioacuten multi-objetivo

bull DE y su papel importante en espacios restringidos

Algoritmos Geneacuteticos Paralelos Alicia Morales-Reyes

Introduccioacuten Las teacutecnicas evolutivas son aptas para su paralelizacioacuten tanto a nivel algoriacutetmico como a nivel de ejecucioacuten En particular los algoritmos geneacuteticos (AGs) han sido investigados desde esta perspectiva y esquemas paralelos han surgido desde el inicio de su desarrollo La paralelizacioacuten de los AGs persigue la mejora de su desempentildeo algoriacutetmico en teacuterminos de eficiencia y eficacia y la reduccioacuten de tiempos de ejecucioacuten en sus distintos dominios de aplicacioacuten

Una clasificacioacuten general de los Algoritmos Geneacuteticos Paralelos (AGPs) los agrupa por su granularidad en AGPs de grano fino y grueso Los AGPs de grano grueso dividen la poblacioacuten agrupada en panmixia en varias sub-poblaciones permitiendo la migracioacuten de individuos entre 1

eacutestas De esta forma se reduce el nuacutemero de individuos en cada unidad de procesamiento En consecuencia se establece un fuerte viacutenculo entre la algoritmia y la implementacioacuten de estas teacutecnicas Sin embargo utilizar una uacutenica unidad de procesamiento para la evolucioacuten de varias sub-poblaciones ha sido un contexto tambieacuten explorado como un mecanismo de mejora del desempentildeo algoriacutetmico

Los AGPs de grano grueso tambieacuten llamados Algoritmos Geneacuteticos distribuidos (AGds) han permitido la exploracioacuten de nuevas vertientes de la versioacuten estaacutendar de los AGs Tener diferentes paraacutemetros de configuracioacuten para realizar las operaciones geneacuteticas implementar granularidades distintas incorporar el operador de migracioacuten han sido caracteriacutesticas a explorar que pueden culminar en un mejor desempentildeo de los AGs

En la figura 1 se muestra un diagrama de un AG distribuido Cada poblacioacuten es centralizada y se necesitan definir criterios en teacuterminos de tasa y frecuencia de migracioacuten Tambieacuten se necesita definir si la migracioacuten seraacute siacutencrona o asiacutencrona Herrera et al presentaron un esquema de un AGP distribuido con poblaciones heterogeacuteneas Utilizaron la estructura de un hipercubo posicionando en cada veacutertice una sub-poblacioacuten Dependiendo de la ubicacioacuten de cada sub-poblacioacuten la buacutesqueda implica mayor explotacioacuten o exploracioacuten Esto se logra de manera interna viacutea la configuracioacuten de los operadores geneacuteticos De esta forma se procura mantener la diversidad de soluciones de forma global y asiacute mejorar la calidad de las soluciones encontradas

Una poblacioacuten en panmixia es aquella donde todos sus individuos sin restricciones pueden 1

reproducirse entre si

Diagrama poblacional de un AGP distribuido o de grano grueso

La principal diferencia entre los AGP de grano fino con respecto a los AGP distribuidos o de grano grueso es la descentralizacioacuten de su poblacioacuten y en consecuencia la localizacioacuten del proceso de seleccioacuten de individuos En la figura 2 se muestra un esquema poblacional de un AGP de grano fino tambieacuten conocido como AG celular (AGc) De manera comuacuten se utiliza una topologiacutea de malla conectada de forma toroidal como lo muestra la figura Un individuo de la poblacioacuten se ubica en cada cruce de la malla y alrededor de eacutel se define un vecindario cuyas soluciones participan en los procesos de seleccioacuten recombinacioacuten y mutacioacuten para la evolucioacuten de eacuteste En la figura 2 se ilustra un vecindario tipo Moore con 9 individuos

En los AGs celulares cada individuo o solucioacuten interactuacutea con sus vecinos maacutes cercanos logrando de esta forma el esparcimiento suave de las soluciones a traveacutes de la malla debido al traslape de vecindarios En los AGs distribuidos la asociacioacuten entre soluciones se pierde en comparacioacuten con los AGs celulares Esta es otra caracteriacutestica importante de los AGc que permite la exploracioacuten global del espacio de buacutesqueda mientras que localmente los individuos explotan la regioacuten cercana a su ubicacioacuten

Diagrama poblacional del AG celular o de grano fino

La paralelizacioacuten de los algoritmos evolutivos en particular de los algoritmos geneacuteticos persigue distintos objetivos Por ejemplo la evolucioacuten simultaacutenea de sub-poblaciones lo cual permite descubrir nueva rutas para solucionar un problema y en consecuencia reducir el nuacutemero de generaciones para converger a la solucioacuten oacuteptima Aunado a esto los tiempos de procesamiento pueden tambieacuten acortarse La paralelizacioacuten de AGs se puede realizar a distintos niveles Asiacute mismo es posible la combinacioacuten de sub-poblaciones con distintas dinaacutemicas internas Por ejemplo algunas sub-poblaciones podriacutean evolucionar en un esquema de panmixia y otras en un esquema celular Este tipo de esquemas poblacionales se discutiraacuten a detalle en la subseccioacuten 11

Una operacioacuten importante en los procesos evolutivos de los AGs distribuidos es la migracioacuten de los individuos entre sub-poblaciones Durante el proceso de buacutesqueda uno o maacutes individuos son seleccionados para migrar y reemplazar a otros individuos de otras sub-poblaciones Los criterios de migracioacuten requieren no soacutelo de la tasa y la frecuencia de migracioacuten sino tambieacuten de criterios de seleccioacuten y reemplazo de individuos al llegar a las otras sub-poblaciones El proceso de migracioacuten puede realizarse de forma siacutencrona o asiacutencrona La migracioacuten siacutencrona supone que todas las sub-poblaciones estaacuten en el mismo estado de la buacutesqueda y la migracioacuten de individuos entre sub-poblaciones ocurre de manera simultaacutenea Por otro lado la migracioacuten asiacutencrona supone que cada sub-poblacioacuten determina el momento en que los individuos deben migrar En la sub-seccioacuten 24 se aborda el efecto del sincronismo en los mecanismos de migracioacuten

Cantuacute-Paz et al presentoacute un estudio completo en AGs distribuidos tanto desde el punto de vista teoacuterico como del praacutectico Debido al nuacutemero de paraacutemetros que se deben definir en los AGds Cantuacute-Paz et al iniciaron con la solucioacuten de un problema de optimizacioacuten para determinar el tamantildeo adecuado de las sub-poblaciones para alcanzar una cierta calidad de la misma Utilizaron un modelo matemaacutetico considerando la hipoacutetesis de los bloques constructores propuesta por Holland y extendida por Goldberg El estudio se verifica en varios problemas con un grado alto de precisioacuten mostraacutendose una buena respuesta a la escalabilidad

Para determinar escenarios de operacioacuten liacutemite en teacuterminos de eficiencia analizaron la interaccioacuten de las sub-poblaciones y su efecto en la calidad de las soluciones Previamente se ha investigado el cambio en la calidad de las soluciones debido a la forma de interaccioacuten de las sub-poblaciones Tener sub-poblaciones evolucionando de manera independiente con muy poca o nula interaccioacuten entre ellas resulta en soluciones menos precisas mientras mejores soluciones se obtienen viacutea el esquema de panmixia tradicional Sin embargo cuando se definen criterios de migracioacuten adecuados y un cierto nuacutemero de soluciones migran entre sub-poblaciones a una frecuencia media o baja el desempentildeo en general de los AGds mejora alcanzando en un nuacutemero de casos aceleraciones super-lineales y mejor calidad de las soluciones encontradas Se puede inferir entonces la importancia del operador de migracioacuten el cual seraacute analizado en detalle en la sub-seccioacuten 12

AGds homogeacuteneos y heterogeacuteneos Existen distintos escenarios en los que se pueden definir y aplicar AGds con esquemas poblaciones homogeacuteneos y heterogeacuteneos es decir combinaciones de poblaciones centralizadas y descentralizadas A nivel algoriacutetmico se puede definir la misma o una diferente configuracioacuten de operadores geneacuteticos A partir de esas configuraciones distintas diferentes configuraciones de paraacutemetros se pueden determinar para ejecutar la buacutesqueda en cada sub-poblacioacuten Por ejemplo distintas definiciones del operador de recombinacioacuten o bien de las probabilidades de mutacioacuten pueden operar sobre los individuos de cada sub-poblacioacuten La comunidad en el aacuterea ha incluso explorado escenarios donde las soluciones se representan de manera distinta entre sub-poblaciones Por otro lado a nivel de implementacioacuten se han explorado esquemas con sub-poblaciones heterogeacuteneas Por ejemplo Alba et al realizoacute un estudio en distintas plataformas de coacutemputo ejecutando sub-poblaciones en panmixia y celulares

Como se puede apreciar el desarrollo de un esquema de AG paralelos ya sean distribuidos o descentralizados conlleva la definicioacuten de un nuacutemero de paraacutemetros que afectaraacute de manera importante su desempentildeo algoriacutetmico Otro ejemplo es la solucioacuten de problemas de optimizacioacuten en espacios continuos que se han abordado a traveacutes de un esquema de AGP utilizando una versioacuten mejorada con cromosomas codificados con nuacutemeros reales Para esto se

definioacute una topologiacutea doble con un hipercubo que se comparoacute con una topologiacutea sencilla Las sub-poblaciones ubicadas en sus veacutertices promoviacutean mayor o menor exploracioacuten u explotacioacuten de las regiones viacutea la configuracioacuten de los operadores geneacuteticos La migracioacuten entre las sub-poblaciones afectoacute directamente los tiempos de ejecucioacuten por medio de la reduccioacuten del nuacutemero de evaluaciones La capacidad de buacutesqueda de la topologiacutea doble superoacute a la de la topologiacutea sencilla

Cuando pensamos en paralelizar alguna teacutecnica algoriacutetmica nos viene a la mente acelerar los procesos de ejecucioacuten Sin embargo la paralelizacioacuten de los algoritmos evolutivos podriacutea mejorar tanto los procesos de buacutesqueda algoriacutetmica como los tiempos de ejecucioacuten Es asiacute que a nivel de implementacioacuten se utilizado coacutemputo heterogeacuteneo para la evaluacioacuten de esquemas de AGPs Por ejemplo Alba et al propusieron utilizar una plataforma heterogeacutenea en la cual distintos sistemas operativos con distintas restricciones de ejecucioacuten implementaban un modelo de AGPs distribuidos Las sub-poblaciones se conectaron en un arreglo de anillo unidireccional cada sub-poblacioacuten ejecutaba un modelo poblacional de estado estable A cada generacioacuten se produciacutea un individuo que reemplazaba a la peor solucioacuten obtenida Se establecioacute un esquema de migracioacuten asiacutencrona que demostroacute mejores resultados ver 3 En general se observoacute un mejor desempentildeo de la ejecucioacuten del esquema paralelo en la plataforma heterogeacutenea en comparacioacuten con la homogeacutenea se redujo el nuacutemero de evaluaciones debido a la explotacioacuten de soluciones a distintas tasas de migracioacuten

AGP con topologiacutea poblacional de anillo unidireccional implementada en una plataforma de coacutemputo heterogeacutenea La migracioacuten entre sub-poblaciones es asiacutencrona y responde a una dinaacutemica de estado estable

Migracioacuten en AGPs Como se explicoacute anteriormente la incorporacioacuten de un nuevo operador llamado migracioacuten se hace latente en los esquemas paralelos de los AGs En los esquemas de grano grueso donde se tienen sub-poblaciones de grano fino y grueso evolucionando simultaacuteneamente la migracioacuten se debe considerar como un mecanismo que introduce nuevos individuos y por lo tanto promueve o restaura la diversidad entre sub-poblaciones De forma distinta en los AGs celulares o de grano fino un mecanismo de migracioacuten impliacutecito trabaja durante el proceso de buacutesqueda debido al traslape de vecindarios que permite la difusioacuten de soluciones a lo largo y ancho de la topologiacutea definida para la poblacioacuten Este mecanismo de migracioacuten es inherente a la estructura de los AGs celulares y no requiere de un paraacutemetro de frecuencia o tasa de migracioacuten o ninguacuten otro mecanismo de seleccioacuten y reemplazo

Revisaremos ahora evaluaciones empiacutericas que se han realizado a criterios de migracioacuten definidos para AGPs de grano grueso Aunque estos criterios son definidos para este tipo de esquemas paralelos tambieacuten es posible aplicar un segundo criterio migratorio en AGs celulares ademaacutes del mecanismo natural inherente a estos

Para establecer un criterio de migracioacuten adecuado y mejorar el desempentildeo algoriacutetmico de los AGPs de grano grueso se examinaron los casos liacutemite para aplicar el proceso de migracioacuten Se

sugiere mantener un cierto nivel de aislamiento entre las sub-poblaciones Si la sub-poblacioacuten evoluciona en completo aislamiento las mejoras en diversidad son miacutenimas y por ende la capacidad de buacutesqueda se ve reducida Por otro lado si se aplica el operador de migracioacuten con una frecuencia maacutexima el costo computacional se incrementa de manera significativa Por lo tanto el objetivo de la migracioacuten es evitar el aislamiento entre sub-poblaciones mientras se mantiene un nivel aceptable de comunicacioacuten entre eacutestas

Es posible calcular experimentalmente el nuacutemero adecuado de unidades de procesamiento para minimizar el tiempo de ejecucioacuten de un esquema de AGPs El anaacutelisis considera casos liacutemite en teacuterminos de conectividad entre sub-poblaciones es decir el caso de tener frecuencias de migracioacuten miacutenimas y maacuteximas La conclusioacuten teoacuterica para una poblacioacuten indica que el nuacutemero

oacuteptimo de unidades de procesamiento estaacute dado por donde es el tamantildeo de la

poblacioacuten es el tiempo de coacutemputo de la funcioacuten objetivo de un individuo y es el tiempo promedio de comunicacioacuten para una unidad de procesamiento Esto quiere decir que dividiendo una poblacioacuten en sub-poblaciones distribuidas en muacuteltiples unidades de procesamiento reduce el tiempo global de ejecucioacuten La misma conclusioacuten se logroacute para un esquema de muacuteltiples poblaciones considerando ademaacutes la evaluacioacuten de funciones objetivo separables Esto quiere decir que utilizar un nuacutemero de unidades de procesamiento en un esquema evolutivo paralelo tiene un impacto positivo en la reduccioacuten de los tiempos de ejecucioacuten

Es tambieacuten importante analizar el efecto de los criterios de migracioacuten que se utilizan en esquemas de AGPs de grano grueso El objetivo principal es determinar coacutemo el operador de migracioacuten afecta la presioacuten de seleccioacuten inducida e impliacutecitamente poder explicar las aceleraciones super-lineales que se pueden modelar para este tipo de esquemas La forma en que los individuos se seleccionan para migracioacuten y reemplazo tienen un efecto considerable en la presioacuten de seleccioacuten y se ha observado que tasas altas de migracioacuten producen un incremento en eacutesta Tener una presioacuten de seleccioacuten alta afecta la buacutesqueda al producir una convergencia prematura a un oacuteptimo local

Aunque la operacioacuten de migracioacuten se ha investigado principalmente para esquemas de AGPs de grano grueso tambieacuten se ha revisado su efecto en AGPs de grano fino considerando tanto el mecanismo de migracioacuten impliacutecita viacutea el traslape de vecindarios como la definicioacuten de criterios para migracioacuten de individuos desde y hacia distintas posiciones de la topologiacutea de malla definida para la poblacioacuten Por ejemplo se han utilizado estructuras de aacuterboles binarios para dividir una topologiacutea de malla de dos dimensiones en formaciones conceacutentricas de individuos definiendo para cada formacioacuten criterios de migracioacuten distintos El intercambio de individuos entre estas

OnTf

Tcn

Tf Tc

formaciones definidas por su estructura alenta el proceso de buacutesqueda permitiendo una mayor exploracioacuten Los resultados mostraron un mejor desempentildeo en la solucioacuten de problemas de optimizacioacuten con restricciones el operador de mutacioacuten se aplica para evitar la presencia de super individuos que pueden dirigir la buacutesqueda al estancamiento conquistando la topologiacutea de malla mucho maacutes raacutepido En la siguiente seccioacuten se abordaraacute el comportamiento de los AG celulares o de grano fino

AGs celulares o de grano fino Los AGs celulares o de grano fino se construyen a partir de poblaciones descentralizadas donde los individuos interactuacutean con otros individuos ubicados dentro de un vecindario definido Es decir interactuacutean con los vecinos maacutes cercanos Usualmente los AGCs se implementan en topologiacuteas de mallas de -dimensionales manteniendo conexiones toroidales entre los cruces de malla utilizando formas comunes como una malla lineal cuadrada o rectangular

El procesamiento de los AG celulares corresponde al de los Autoacutematas Celulares (ACs) Estos determinan una regla global que define un comportamiento especiacutefico que se construye a partir de reglas locales Se han explorado ACs de una dos y tres dimensiones en combinacioacuten con AGs con la finalidad de evolucionar el comportamiento global requerido Esta combinacioacuten de un AC y un AG originoacute el nombre de AG celular con la diferencia de tener una representacioacuten maacutes elaborada en cada cruce de la malla cromosomas Se observoacute que la informacioacuten de las reglas locales o individuos alcanzaba distancias lejanas dentro de la malla definida esto debido al traslape de los vecindarios De esta forma se determinoacute que la informacioacuten se mueve entre vecindarios permitiendo acelerar el proceso de crear nuevos comportamientos ad-hoc al problema que se esteacute solucionando y con una peacuterdida miacutenima de informacioacuten

El pseudocoacutedigo [algCellularGeneticAlgorithmPseudocode] es el estaacutendar de un AG celular En un primer paso se genera una poblacioacuten inicial de forma aleatoria ubicando cada individuo en un cruce de la topologiacutea de malla Esta poblacioacuten inicial se evaluacutea de acuerdo a la funcioacuten objetivo del problema a resolver Posteriormente da inicio el ciclo reproductivo principal Se define un vecindario local con individuos ubicados de forma cercana A partir de eacutestos y del individuo ubicado en el cruce de la malla se seleccionan a los padres para reproducirse Existen distintos meacutetodos de seleccioacuten que se utilizan en los AG celulares Se pueden utilizar los que comuacutenmente se aplican en los AGs con poblaciones centralizadas como el torneo binario ruleta o seleccioacuten determinista Existen tambieacuten otros meacutetodos especiacuteficos a los AG celulares como son la seleccioacuten ceacutentrica o anisotroacutepica Una vez seleccionados los padres se recombinan y los hijos se mutan No hay diferencia entre la aplicacioacuten de los operadores de recombinacioacuten y mutacioacuten con respecto a los AG tradicionales

n

Debido a la descentralizacioacuten de la poblacioacuten el reemplazo de eacutesta puede ocurrir de forma siacutencrona o asiacutencrona El reemplazo asiacutencrono requiere del almacenaje temporal de la poblacioacuten hasta que todos los individuos concluyen su ciclo reproductivo El reemplazo siacutencrono requiere de la definicioacuten del criterio para implementarla Los distintos criterios que se han utilizado para el reemplazo se explicaraacuten en la sub-seccioacuten 24

poblacioacuten inicial evaluacioacuten seleccioacuten de padres vecinario L5 recombinacioacuten mutacioacuten evaluacioacuten reemplazo

Explotacioacutenexploracioacuten por propiedades estructurales Debido a la descentralizacioacuten de la poblacioacuten y la definicioacuten de una topologiacutea de malla las caracteriacutesticas estructurales de los AG celulares tienen un impacto importante en los procesos de buacutesqueda La forma y la dimensioacuten de la topologiacutea el nuacutemero de individuos dentro del vecindario entre otras son caracteriacutesticas de la estructura que necesitan definirse Ademaacutes otras operaciones durante el ciclo evolutivo como el proceso de seleccioacuten local el reemplazo de individuos criterios de migracioacuten entre otras estaacuten tambieacuten asociadas a estas caracteriacutesticas de estructura

La topologiacutea de malla que es comuacutenmente utilizada en los AG celulares se muestra en la figura 2 Se ha reportado que distintas formas de malla en combinacioacuten con distintos tipos de vecindarios inducen una mayor o menor presioacuten de seleccioacuten Para modelar el efecto de ambas estructuras se utiliza un patroacuten de dispersioacuten con puntos (la posicioacuten de cada solucioacuten en la malla) a partir de una posicioacuten central con coordenadas Se calcula la medida de dispersioacuten debido a que otras medidas como el radio de una circunferencia indicariacutea el mismo valor para topologiacuteas distintas La relacioacuten entre el vecindario y la topologiacutea o radii se calcula de la siguiente forma

donde y La razoacuten o radii entre el vecindario y la topologiacutea de

malla estaacute dada por

(x) larr random(x0) (f ) larr evaluat ion(x)(f1 f2) larr seleccion(f fN fE fS fW)(x1 x2) larr seleccion(x xN xE xS xW) (x prime1 x prime2 ) larr recombinacion(x prime1 x prime 2 )

(x1Prime x2Prime) larr mutacion(x prime1 x prime2 ) (fnew) larr evaluacion(x1Prime x2Prime)(f x) larr reemplazo(fnew xnew)

p(x0 y0)

D =sum (xi minus x)2 + sum (yi minus y)2

p

(x ) =sump

i=1 xi

p (y) =sump

i=1 yi

p

Esta medida se conoce como la razoacuten vecindario-malla (RVM) Formas y tamantildeos diferentes de vecindarios y topologiacuteas proporcionan una medida distinta de RVM ver figura 4

Ejemplos de formas de vecindarios y topologiacuteas de malla

NGR =Dvecindario

Dmalla

Razoacuten vecindario-malla para diferentes topologiacuteas de malla y tamantildeos de poblacioacuten con un vecindario L5

[figL5_variableLattice]

Una topologiacutea de malla cuadrada con un vecindario es una configuracioacuten comuacutenmente utilizada en la implementacioacuten de AG celulares En la figura [figL5_variableLattice] la razoacuten vecindario-malla se ilustra para distintos tamantildeos de poblacioacuten con vecindario Tres formas de malla se evaluacutean cuadrada rectangular y lineal Las curvas de la RVM muestran razones altas para mallas cuadradas y razones bajas para topologiacuteas lineales La RVM se asocia a la presioacuten de seleccioacuten inducida en AG celulares debido a sus caracteriacutesticas estructurales Para comprender esto de mejor manera otro concepto importante es necesario el nuacutemero de generaciones que toma al mejor individuo de una poblacioacuten inicial esparcir su solucioacuten en todas las direcciones de la topologiacutea de malla es decir conquistarla a partir de aplicar uacutenicamente el operador de seleccioacuten Un nuacutemero de generaciones alto indica una baja presioacuten de seleccioacuten es decir una buacutesqueda principalmente explorativa Por el contrario un nuacutemero de reducido de generaciones implica una alta presioacuten de seleccioacuten y por tanto una buacutesqueda orientada a la explotacioacuten del espacio de buacutesqueda

L5

L5

Los AG celulares son teacutecnicas flexibles con un nuacutemero de paraacutemetros que pueden configurarse Por ejemplo es posible pensar en modificar en tiempo de buacutesqueda las topologiacuteas de malla tamantildeos y formas de vecindarios como una forma de control de la presioacuten de seleccioacuten inducida Las modificaciones de la configuracioacuten pueden realizarse de manera constante definiendo un nuacutemero de generaciones o bien de forma adaptativa midiendo generacioacuten a generacioacuten el comportamiento por ejemplo de la diversidad en el espacio de fenotipos y genotipos modificando entonces las configuraciones de estructura de manera que se promueva la exploracioacuten o la explotacioacuten del espacio de buacutesqueda

Presioacuten de seleccioacuten por caracteriacutesticas estructurales

El matemaacutetico belga Pierre Verhulst en el siglo XIX estudioacute modelos logiacutesticos de crecimiento para describir sistemas bioloacutegicos bajo condiciones de recursos limitados Considerando una poblacioacuten en panmixia de cierto tamantildeo y un nuacutemero de copias del mejor individuo en un tiempo discreto dado por la tasa de crecimiento se expresa a traveacutes del siguiente modelo de recurrencia discreto

$$beginaligned

N left( 0 right) = 1 quad quad quad quad quad quad quad quad quad quad quad quad notag

N left( t right) = N left( t - 1 right) + p_s tamPob N left(t-1right) left(1 - left(frac1tamPobright) N left(t-1right)right)endaligned$$

donde es la probabilidad de seleccioacuten de un individuo y se puede aproximar por la ecuacioacuten logiacutestica continua

donde es la probabilidad Aunque se obtienen curvas de crecimiento similares el comportamiento en poblaciones estructuradas o descentralizadas no es exponencial sino polinomial como fue sugerido por Spiessen y Manderick in De este modo las caracteriacutesticas estructurales necesitan considerarse en el modelo matemaacutetico de la tasa de crecimiento para AG celulares Si se evaluacutea un caso liacutemite donde el mejor individuo dentro del vecindario se selecciona siempre para reemplazar al individuo actual o central (al vecindario) es decir

tamPobt N(t)

ps N(t)

N(t) =tamPob

1 + ( tamPobN(0) minus 1)eminusαt

α ps

ps = 1

y se define un tamantildeo de poblacioacuten donde determina una topologiacutea de malla cuadrada y un vecindario local con radio La tasa de crecimiento del mejor individuo estaacute dada por

$$beginaligned

N left( 0 right) = 1 quad quad quad quad quad quad quad quad quad quad quad quad notag

N left( t right) = N left( t-1 right) + 4r^2t - 2rleft( r+1 right) quad 0 leq t leq fracleft(sqrttamPob-1right)2

N left( t right) = N left( t-1 right) - 4r^2t + 4r sqrttamPob - 2rleft(r+1right) quad t geq fracleft(sqrttamPob-1right)2 notagendaligned$$

que en su forma cerrada queda como

$$beginaligned

N left( t right) = 2r^2t^2 + 2r left(2r + 1 right)t + 1 quad 0 leq t leq fracleft(sqrttamPob-1right)2

N left( t right) = -2r^2t^2 + 2rleft(2sqrttamPob - 3r - 1 right)t + 1 quad t geq fracleft(sqrttamPob-1right)2 notagendaligned$$

En la figura 5 se ilustra la razoacuten de crecimiento para una poblacioacuten de individuos con un vecindario local tipo ver figura 4

Tasa de crecimiento teoacuterica en una topologiacutea de malla toroidal cuadrada y un vecindario local tipo Moore con probabilidad de seleccioacuten

Si se considera la probabilidad variable y cada individuo tiene probabilidades de seleccioacuten distintas probabilidad para el individuo central y para cada individuo dentro de un vecindario tipo El modelado de la recurrencia exacta se vuelve muy complicado Para poder construir un modelo completo se recurre a modelos maacutes simples en donde la tasa de crecimiento se describe como la expansioacuten de un cuadrado rotado con una

tamPob tamPob times tamPobr

81C9

ps = 1

psp0 p1 p2 p3 p4 p8

C9

longitud por lado de y diagonal La tasa de crecimiento de los

individuos con probabilidad variable contenidos dentro del cuadrado rotado estaacute dada por la siguiente recurrencia

$$beginaligned

N left( 0 right) = 1 quad quad quad quad quad quad quad quad quad quad quad quad notag

N left( t right) = N left( t-1 right) + 4p_i sqrtfracNleft(t-1right)2 quad N left( t right) leq fractamPob2

N left( t right) = N left( t-1 right) + 4p_i sqrttamPob - N left( t-1 right) quad N left( t right) gt fractamPob2 notagendaligned$$

Encontrar una forma cerrada de este modelo es una tarea complicada de acuerdo a autores reconocidos del aacuterea En la figura 6 se muestra la tasa de crecimiento probabilista como ejemplo de la dificultad que representa su modelado matemaacutetico

Tasa de crecimiento probabilista para una topologiacutea de malla toroidal cuadrada con vecindario local y probabilidad de seleccioacuten variable

Anaacutelisis empiacuterico

Es posible tener una aproximacioacuten empiacuterica del tiempo para el dominio de la topologiacutea de malla A continuacioacuten se presenta un ejemplo utilizando como meacutetodo de seleccioacuten local torneo binario y ejecuciones por configuracioacuten fueron evaluadas En la figura [figL5_growthRates] se muestran las distintas tasas de crecimiento para la conquista de la malla considerando un tamantildeo de la poblacioacuten de individuos con las siguientes formas de topologiacutea de malla 1)

cuadrada 2) rectangular y 3) lineal La diferencia entre los

tiempos de dominio es evidente Topologiacuteas de malla lineales proveen una difusioacuten maacutes lenta del

s = N(t) d =N(t)

2pi

ps

50

400

400 times 400 10 times40010

4 times400

4

mejor individuo para conquistar la malla y por ende menor presioacuten de seleccioacuten y un comportamiento principalmente explorativo Por otro lado en topologiacuteas de malla cuadradas la solucioacuten del mejor individuo conquista la malla raacutepidamente en un nuacutemero menor de generaciones Es decir tiene un comportamiento con alta presioacuten de seleccioacuten y por ende una buacutesqueda caracterizada por una mayor explotacioacuten del espacio de buacutesqueda Desde este punto de vista se ha investigado tambieacuten la posibilidad de modificacioacuten dinaacutemica de las propiedades estructurales en tiempo de buacutesqueda Se han reportado mejores desempentildeos algoriacutetmicos bajo estos criterios

Tasas de crecimiento promedio del mejor individuo en topologiacuteas de malla cuadrada rectangular y lineal con vecindario La tasa promedio de crecimiento se calcula con base en 50 experimentos y aplicando uacutenicamente el operador de seleccioacuten

[figL5_growthRates]

Aceleracioacuten en AGP Un tema controversial en AGPs son las aceleraciones que esquemas distribuidos y celulares pueden alcanzar El caacutelculo teoacuterico de estas aceleraciones es una medida aceptada para determinar su eficiencia Calcular la razoacuten entre el tiempo promedio de ejecucioacuten de la mejor versioacuten secuencial de un AG y otra teacutecnica de buacutesqueda no evolutiva con respecto al tiempo

L5

promedio de ejecucioacuten de un AG paralelo corriendo en un determinado nuacutemero de procesadores proporciona la aceleracioacuten alcanzada por este uacuteltimo Aceleraciones sub-lineales indican que esta razoacuten es menor que el nuacutemero de procesadores utilizados en la ejecucioacuten del AGP Aceleraciones lineales indican que esta relacioacuten es igual mientras aceleraciones super-lineales indican que la razoacuten es mayor que el nuacutemero de procesadores utilizados

Un medida estricta para medir las aceleraciones de los AGPs involucrariacutea una comparacioacuten con la mejor versioacuten secuencial de un AG lo cual es difiacutecil de determinar Considerar el desempentildeo de un AG secuencial como referencia en conjunto con una condicioacuten de paro que evaluacutee la misma calidad de soluciones en todas las muestras experimentales podriacutea permitir una comparacioacuten justa en teacuterminos de aceleracioacuten entre esquemas paralelos y secuenciales

Los AGPs tienen tres caracteriacutesticas que permiten su aceleracioacuten 1) dividir el espacio de buacutesqueda en diversas aacutereas de exploracioacuten implementadas en distintas unidades de procesamiento 2) reducir la carga de procesamiento por medio de la distribucioacuten de la poblacioacuten en un nuacutemero de unidades de procesamiento y 3) operadores geneacuteticos aplicados a estructuras de datos reducidas

Al analizar comparativamente las tasas de aceleracioacuten de los AG distribuidos con sub-poblaciones en panmixia en comparacioacuten con el desempentildeo de un AG secuencial las aceleraciones calculadas resultan excesivas Sin embargo cuando se considera la distribucioacuten de las sub-poblaciones en un nuacutemero de unidades de procesamiento las tasas de aceleracioacuten son moderadas

Una de las caracteriacutesticas maacutes importantes en los AGPs es el operador de migracioacuten Analizar el comportamiento de este operador bajo distintos criterios como la sincroniacutea o asincroniacutea de migrar individuos entre las sub-poblaciones afecta directamente el desempentildeo de la buacutesqueda Entre los comportamientos con importancia significativa se ha observado que utilizar bajas frecuencias de migracioacuten en combinacioacuten con una comunicacioacuten asiacutencrona entre sub-poblaciones permite una mayor aceleracioacuten Este resultado considera sub-poblaciones en panmixia con la misma configuracioacuten de paraacutemetros

Concepto de sincronismo en AGPs En los AGPs tanto distribuidos como celulares el concepto de sincroniacutea aplica de forma distinta En un AGP distribuido el operador de migracioacuten estaacute directamente relacionado con la comunicacioacuten entre sub-poblaciones y por ende la sincroniacutea con que eacutesta ocurre Por otro lado en AGP de grano fino o celulares la sincroniacutea estaacute relacionada con la actualizacioacuten de soluciones durante el proceso evolutivo Esto se explica a continuacioacuten a mayor detalle

En AGPs distribuidos viacutea migracioacuten

Varios autores han investigado el efecto del sincronismo a traveacutes de la migracioacuten de individuos entre sub-poblaciones Se han considerado varios escenarios tales como tener un conjunto de sub-poblaciones en panmixia y tener sub-poblaciones descentralizadas un tercer escenario que se ha considerado es tener una combinacioacuten de sub-poblaciones en panmixia y descentralizadas Los tres esquemas han sido evaluados no soacutelo a nivel algoriacutetmico sino de implementacioacuten en plataformas de coacutemputo para procesamiento paralelo

Utilizando un esquema de procesamiento de instrucciones muacuteltiples - datos muacuteltiples con un esquema homogeacuteneo de sub-poblaciones se verificoacute el comportamiento de distintas frecuencias de migracioacuten definidas como muacuteltiplos del tamantildeo de la poblacioacuten Esto representa que la migracioacuten es nula cuando la frecuencia es cero lo que implica que la evolucioacuten es independiente de las sub-poblaciones Localmente los operadores geneacuteticos fueron configurados de la misma forma En general los resultados mostraron un mejor desempentildeo cuando la comunicacioacuten entre sub-poblaciones es asiacutencrona y la frecuencia de migracioacuten es baja En este sentido el tener sub-poblaciones descentralizadas permite una mejor eficacia que cuando se tienen sub-poblaciones en panmixia Las tasas de aceleracioacuten tambieacuten se analizaron Bajas frecuencias de migracioacuten reportaron aceleraciones lineales para sub-poblaciones descentralizadas y super-lineales para sub-poblaciones en panmixia

Se ha podido verificar el funcionamiento de los AGPs ampliando la gama de problemas de prueba a aquellos del dominio continuo El uso de un esquema paralelo distribuido con sub-poblaciones en panmixia y un ciclo evolutivo de estado estable donde solamente una solucioacuten se actualiza en cada generacioacuten logroacute obtener soluciones de mejor calidad Ademaacutes de la influencia de la frecuencia con la que se ejecuta la operacioacuten de migracioacuten la seleccioacuten aleatoria de individuos migrantes demostroacute tambieacuten un mejor desempentildeo que la seleccioacuten de los mejores individuos para migrar El mejor desempentildeo continuacutea siendo a partir de la aplicacioacuten de frecuencias de migracioacuten bajas ahora en combinacioacuten con la seleccioacuten aleatoria de soluciones para migrar En problemas de optimizacioacuten en el dominio continuo con oacuteptimos locales engantildeosos en sus espacios de buacutesqueda los esquemas de sub-poblaciones descentralizadas superaron el desempentildeo de aquellos con sub-poblaciones en panmixia ademaacutes de responder mejor a frecuencias de migracioacuten altas Las tasas de aceleracioacuten tambieacuten se relacionan con la operacioacuten de la migracioacuten a frecuencias de migracioacuten alta se obtienen mayores tasas de aceleracioacuten en ambos esquemas poblacionales

Es posible tambieacuten considerar un esquema de AGPs con sub-poblaciones tanto en panmixia como descentralizadas utilizando un esquema de coacutemputo heterogeacuteneo distribuido Las tasas de

aceleracioacuten que se alcanzan en estos caso son super-lineales viacutea el esquema sub-poblacional mixto

En AGP celulares viacutea criterios de actualizacioacuten

En los AGPs de grano fino o celulares el concepto de sincronismo se asocia a los criterios de actualizacioacuten de las soluciones Se consideran diversos escenarios como son 1) barrido liacutenea a liacutenea 2) barrido fijo aleatorio 3) barrido aleatorio 4) seleccioacuten uniforme Cada unos de estos criterios de actualizacioacuten de soluciones se puede ejecutar de manera siacutencrona o asiacutencrona La actualizacioacuten siacutencrona se refiere a que la poblacioacuten completa se genera a partir de los individuos actuales En contraste la actualizacioacuten asiacutencrona quiere decir que los individuos se actualizan despueacutes de su proceso evolutivo a nivel local entonces los individuos en una generacioacuten han evolucionado de hijos generados durante esta

El barrido liacutenea a liacutenea es la forma maacutes sencilla de actualizar soluciones en una topologiacutea de malla con conexioacuten toroidal Haciendo el barrido secuencial de ubicacioacuten de las soluciones por liacutenea o por columna se ejecuta la actualizacioacuten de estas El barrido aleatorio fijo consiste en elegir de forma aleatoria una solucioacuten sin reemplazo con una probabilidad uniforme En cada generacioacuten se determina una distribucioacuten diferente para la actualizacioacuten de los individuos La actualizacioacuten uniforme elige de forma aleatoria con una probabilidad uniforme una solucioacuten con reemplazo Esto quiere decir que una solucioacuten puede ser actualizada maacutes de una vez en un mismo ciclo reproductivo

Tambieacuten se ha buscado modelar formalmente el comportamiento de los distintos criterios de actualizacioacuten de soluciones considerando ambos criterios de sincronismo Los criterios siacutencronos de actualizacioacuten presentan menores tasas de crecimiento de la mejor solucioacuten en la topologiacutea de malla Es decir la buacutesqueda se ejecuta promoviendo la exploracioacuten cuando se sigue un criterio de actualizacioacuten uniforme Aplicar un barrido aleatorio o lineal para la actualizacioacuten de soluciones representa tasas maacutes altas de crecimiento pero no alcanza a aquellas de las poblaciones en panmixia La principal caracteriacutestica que se aprecia es que las poblaciones en panmixia promueven la explotacioacuten del espacio de buacutesqueda en mayor grado que los AGPs descentralizados o celulares

Finalmente se puede concluir despueacutes de la evaluacioacuten de los criterios siacutencronos y asiacutencronos en una variedad de problemas de optimizacioacuten combinatorios y del dominio continuo que la actualizacioacuten asiacutencrona de soluciones mejora el desempentildeo algoriacutetmico en teacuterminos de eficiencia y eficacia en comparacioacuten con el criterio asiacutencrono en teacuterminos del nuacutemero de generaciones necesarias para converger a la solucioacuten del problema

Discusioacuten En este capiacutetulo se presentaron los distintos esquemas poblaciones que se consideran en la paralelizacioacuten de los AGs Se introdujo el principal operador que distingue a estos esquemas evolutivos el operador de migracioacuten y su efecto en los procesos de buacutesqueda Tambieacuten se introdujeron de manera detallada los esquemas paralelos de AGs de grano fino o celulares y la manera en que las caracteriacutesticas estructurales de estos pueden afectar directamente la exploracioacuten y explotacioacuten del espacio de buacutesqueda Se abordoacute tambieacuten el tema de las aceleraciones que se pueden alcanzar viacutea la paralelizacioacuten de grano fino y grueso de los AGPs Este anaacutelisis incluye los escenarios teoacutericos y reales de las tasas de aceleracioacuten que se pueden alcanzar Finalmente se revisoacute el concepto de sincronismo en ambos esquemas de paralelizacioacuten el cual se observoacute que afecta de manera positiva el desempentildeo algoriacutetmico

Los esquemas paralelos de los algoritmos geneacuteticos permiten obtener un mejor desempentildeo de los procesos de buacutesqueda Sin embargo se debe considerar una serie de paraacutemetros que se necesitan definir y que requeriraacuten la intervencioacuten de un usuario Es importante destacar tambieacuten que la mejora en el desempentildeo se puede apreciar tanto a nivel algoriacutetmico como a nivel de procesamiento Es necesario tambieacuten indicar que la seleccioacuten de la plataforma de coacutemputo paralelo ya sea distribuida o no implicaraacute costos de comunicacioacuten que deben ser considerados para las tasas de aceleracioacuten que se pretendan alcanzar

Investigacioacuten de AGPs en Meacutexico En Meacutexico investigadoras e investigadores en distintas instituciones y centros de investigacioacuten se han dado a la tarea de explorar esquemas evolutivos que utilizan AGPs Por ejemplo esquemas de AGPs de grano fino para solucionar problemas de optimizacioacuten mono-objetivo sin restricciones y problemas combinatorios han sido desarrollados en El objetivo en esos trabajos es el estudio del efecto de las caracteriacutesticas estructurales en las topologiacuteas de poblacioacuten descentralizadas utilizando mallas conectadas de forma toroidal Distintos criterios fueron definidos para modificar en tiempo de buacutesqueda la forma de la topologiacutea y sin incrementar el costo computacional verificar la mejora del desempentildeo algoriacutetmico al evaluar una cama prueba con problemas mono-objetivo sin restricciones y combinatorios Los resultados obtenidos fueron alentadores y a partir de estos se extendioacute el estudio de las propiedades estructurales a manipular tambieacuten la dimensioacuten de la topologiacutea de malla y modificarla en tiempo de buacutesqueda resultados positivos de este estudio fueron reportados en

Debido al costo computacional de los AGs en general la aceleracioacuten de estos utilizando plataformas de coacutemputo especializadas ha sido un aacuterea de investigacioacuten tambieacuten desarrollada en Meacutexico Particularmente el disentildeo e implementacioacuten de un arreglo de procesadores flexible para

la aceleracioacuten de los AGs celulares utilizando dispositivos reconfigurables conocidos como arreglos de compuertas programables en el campo (FPGAs por sus siglas en Ingleacutes) se reportoacute en Este trabajo presenta una forma novedosa de dividir a la poblacioacuten descentralizada en un nuacutemero determinado de unidades de procesamiento especialmente disentildeadas para operadores evolutivos manteniendo las conexiones toroidales entre soluciones La flexibilidad del disentildeo consiste en poder definir de acuerdo a las necesidades de usuario el nuacutemero de unidades de procesamiento De este modo un nuacutemero mayor de unidades de procesamiento permitiraacute acelerar la ejecucioacuten del algoritmo y un nuacutemero menor de estas permitiraacute reducir el uso de recursos de hardware

En el aacutembito de la optimizacioacuten multi-objetivo desde la perspectiva del coacutemputo evolutivo utilizando esquemas poblacionales paralelos investigadores en Meacutexico han desarrollado un esquema con base en algoritmos geneacuteticos utilizando muacuteltiples resoluciones La propuesta algoriacutetmica llamada Algoritmo geneacutetico multi-objetivo con resolucioacuten muacuteltiple (MRMOGA por sus siglas en Ingleacutes) consiste de un conjunto de sub-poblaciones las cuales a nivel representacioacuten de soluciones evolucionan con resoluciones distintas lo cual implica la divisioacuten del espacio de buacutesqueda en regiones acotadas y traslapadas El desempentildeo alcanzado por MRMOGA supera los resultados reportados en esquemas evolutivos paralelos en teacuterminos de convergencia y evidencia la necesidad de profundizar el estudio de la escalabilidad de esquemas evolutivos paralelos

Para saber maacutes Dentro de la comunidad cientiacutefica dedicada a la investigacioacuten en las aacutereas de las teacutecnicas algoriacutetmicas evolutivas que desarrollan el concepto de paralelismo se han generado recursos bibliograacuteficos diversos de entre los cuales destacan

bull Algoritmos geneacuteticos paralelos por Gabriel Luque y Enrique Alba

bull Algoritmos evolutivos estructurados espacialmente por Marco Tomassini

bull Algoritmos geneacuteticos celulares por Bernabeacute Dorronsoro y Enrique Alba

bull Algoritmos geneacuteticos paralelos eficientes y precisos por Erick Cantuacute-Paz

Por otro lado entre los grupos de investigacioacuten que se desarrollan en el aacuterea destaca el liderado por el investigador Enrique Alba de la Universidad de Maacutelaga en Espantildea quien en colaboracioacuten con otros investigadores y estudiantes a puesto a disposicioacuten una serie de recursos relacionados en En particular en la seccioacuten de software se encuentran disponibles herramientas para el

disentildeo e implementacioacuten de algoritmos evolutivos paralelos tanto de grano grueso como de grano fino

Programacioacuten Geneacutetica Mario Graff

Daniela Moctezuma

Eric S Tellez

Sabino Miranda-Jimeacutenez

INFOTEC Centro de Investigacioacuten e Innovacioacuten en Tecnologiacuteas de la Informacioacuten y Comunicacioacuten Circuito Tecnopolo Sur No 112 Fracc Tecnopolo Pocitos II Aguascalientes

20313 Meacutexico CentroGEO Centro de Investigacioacuten en Ciencias de Informacioacuten Geoespacial Circuito

Tecnopolo Norte No 117 Col Tecnopolo Pocitos II CP Aguascalientes Ags 20313 Meacutexico CONACyT Consejo Nacional de Ciencia y Tecnologiacutea Direccioacuten de Caacutetedras Insurgentes Sur

1582 Creacutedito Constructor Ciudad de Meacutexico 03940 Meacutexico

Introduccioacuten En este capiacutetulo se presenta una introduccioacuten a Programacioacuten Geneacutetica (PG) asiacute como la descripcioacuten de cada uno de los aspectos que la comprenden las perspectivas de este campo y las aacutereas donde se ha aplicado en Meacutexico PG es un algoritmo de buacutesqueda inspirado en los principios de la evolucioacuten de las especies de Charles Darwin (ver ) Particularmente PG engloba a un conjunto de teacutecnicas de coacutemputo evolutivo las cuales tienen como objetivo solucionar automaacuteticamente problemas partiendo de ejemplos del problema por resolver a traveacutes de expresiones evaluables o programas

La Programacioacuten Geneacutetica ha sido ampliamente utilizada en diferentes dominios siendo capaz de resolver una gran variedad de problemas de alta complejidad muchas veces mejorando las soluciones encontradas por humanos Por ejemplo en la competencia ndashldquoHumies rdquo celebrada 2

anualmente en el marco de la Genetic and Evolutionary Computation Conference (GECCO) la cual premia sistemas bio-inspirados que mejoran las soluciones encontradas por humanos a problemas difiacuteciles mdashdesde 2004 y hasta 2017 PG ha sido galardonada con 8 medallas de oro 5 de plata y 1 de bronce En particular en esta competencia y utlizando PG Meacutexico ha obtenido

13

12

13

13

1

2

3

httpwwwhuman-competitiveorg2

una medalla de bronce En competencias de categorizacioacuten de texto se ha obtenido primer lugar en identificacioacuten de humor y en deteccioacuten de agresividad

En Meacutexico la PG ha sido estudiada y aplicada sobre una gran variedad de dominios empezando por aplicaciones tradicionales como el disentildeo de circuitos loacutegicos regresioacuten simboacutelica identificacioacuten de sistemas modelado de sistemas de manchas solares lluvia temperatura del agua turbinas de gas absorcioacuten de partiacuteculas medicioacuten de la capacidad de automovilistas para el manejo de vehiacuteculos sistemas caoacuteticos deteccioacuten de fallas en transformadores de potencia y modelado cualitativo de sistemas

La PG ha probado su efectividad con respecto a algoritmos tradicionales de aprendizaje de maacutequina en problemas como prediccioacuten de series de tiempo clasificacioacuten generacioacuten de ensambles de clasificadores generacioacuten de prototipos generacioacuten de heuriacutesticas navegacioacuten autoacutenoma generacioacuten de rejillas topograacuteficas y memorias asociativas En el aacuterea de procesamiento de lenguaje natural la PG ha sido utilizada para mejorar la representacioacuten del texto en un espacio vectorial aplicada a problemas de categorizacioacuten de texto en anaacutelisis de sentimientos intensidad de una emocioacuten identificacioacuten de humor y deteccioacuten de agresioacuten entre otras En al aacuterea de visioacuten computacional la PG ha servido para desarrollar nuevas representaciones siguiendo un enfoque de redes profundas representacioacuten de palabras visuales estimacioacuten de exponentes Houmllder en imaacutegenes deteccioacuten de puntos de intereacutes reconocimiento de objetos anaacutelisis de imaacutegenes hiper-espectrales y estimacioacuten de vegetacioacuten En el paiacutes tambieacuten se realiza investigacioacuten teoacuterico-praacutectica sobre la creacioacuten de modelos que permitan predecir su rendimiento como en meacutetodos de muestreo en la funcioacuten objetivo mejoras al algoritmo como en y control de coacutedigo superfluo El lector interesado en la teoriacutea de PG puede revisar los siguientes trabajos paradigmaacuteticos que son referentes indispensables sobre el tema

La idea detraacutes de la PG es evolucionar programas partiendo de una descripcioacuten de lo que debe hacer el programa Tradicionalmente esta descripcioacuten se realiza mediante un conjunto de pares de entrada-salida tal como se hariacutea con la descripcioacuten de una funcioacuten Esta descripcioacuten es similar a la usada en Aprendizaje Supervisado con la diferencia de que en PG no existen tipos definidos para las entradas y las salidas por otro lado en aprendizaje supervisado las entradas estaacuten en un espacio vectorial y su salida es un nuacutemero natural o real Utilizando esta descripcioacuten l a f u n c i o n a l i d a d d e u n p r o g r a m a s e d e f i n e c o m o e l c o n j u n t o donde representa la -eacutesima entrada y es su correspondiente salida En cierta forma la idea es encontrar un programa tal que aplicado a un conjunto de entradas se evaluacutee a las predicciones de tal forma que eacutestas se aproximen a los valores originales donde la similitud se mide por medio de una funcioacuten de aptitud Tal y como sucede en otros algoritmos de aprendizaje la efectividad de no estaraacute en aprender los datos de

119987 = (x0 y0) hellip (xi yi) hellip (xN yN) xi i yif

xi yiyi

f

entrenamiento sino en su capacidad de generalizar a entradas nunca antes vistas El procedimiento de aprendizaje y prediccioacuten se detallaraacute en el resto de este capiacutetulo

La PG comparte muchas similitudes con los Algoritmos Geneacuteticos (AG) De hecho se podriacutea decir que la PG es una generalizacioacuten del AG la diferencia radica en que la PG utiliza una representacioacuten variable para sus soluciones y el AG tiene una representacioacuten fija esta diferencia tiene varias implicaciones las cuales se veraacuten a detalle en el transcurso del capiacutetulo Por el momento veamos las similitudes que comparten ambos enfoques La PG es un algoritmo evolutivo poblacional es decir utiliza un conjunto de soluciones llamado poblacioacuten para hacer un muestreo del espacio de buacutesqueda La buacutesqueda es guiada mediante la seleccioacuten de individuos en la poblacioacuten y los operadores geneacuteticos como son la recombinacioacuten y la mutacioacuten se encargan de generar nuevos individuos es decir nuevos puntos en el espacio de buacutesqueda

El resto del capiacutetulo detalla un sistema de PG tiacutepico empezando por los tipos de evolucioacuten que pueden realizar (seccioacuten 2) la representacioacuten que se utiliza (seccioacuten 3) seguida por la creacioacuten de la poblacioacuten inicial (seccioacuten 4) los operadores que se utilizan para generar un individuo (seccioacuten 5) y finalmente las teacutecnica utilizada para hacer la seleccioacuten (seccioacuten 6)

Proceso evolutivo La evolucioacuten de la poblacioacuten de programas en la PG puede realizarse de dos maneras mediante una evolucioacuten generacional o mediante una evolucioacuten de estado estable Ambos tipos de evolucioacuten requieren una poblacioacuten inicial y la diferencia entre ellas radica en el uso de dicha poblacioacuten para generar individuos y la actualizacioacuten de la misma En la evolucioacuten generacional existen dos tipos de poblaciones la de los padres y la de los nuevos individuos La poblacioacuten de padres es utilizada para generar nuevos individuos y por lo general cuando la poblacioacuten de nuevos individuos tiene el mismo nuacutemero de elementos que la poblacioacuten de padres se procede a mezclar estas poblaciones para convertirse en la poblacioacuten de padres de la siguiente generacioacuten Por otro lado la evolucioacuten de estado estable no contempla esta diferencia entre poblacioacuten de padres y de nuevos individuos dado que el individuo generado reemplaza un individuo de la poblacioacuten actual

El algoritmo [alggeneracional] muestra el pseudocoacutedigo de la evolucioacuten generacional Como se habiacutea mencionado se requiere de una poblacioacuten inicial denominada la cual seraacute utilizada para generar individuos y seraacute actualizada mientras no se cumpla un establecido Lo primero que se observa en el algoritmo son dos ciclos anidados (liacuteneas 1 y 2) El primero itera hasta que se cumpla la condicioacuten de paro y el segundo se encarga de generar la poblacioacuten de hijos (liacutenea 3) Al final de este segundo ciclo se tienen dos poblaciones y

119979120226120267120258120269120254120267120258120264 120253120254 120239120250120267120264

119979h 119979

Estas dos poblaciones se combinan (liacutenea 5) para formar una nueva poblacioacuten utilizada en la siguiente generacioacuten La funcioacuten combina estas poblaciones y puede ser tan simple como seleccionar todo para reemplazar o pueden adoptarse estrategias maacutes complejas como remplazo con elitismo donde se realiza el remplazo pero se asegura que los mejores individuos de ambas poblaciones se preserven en la siguiente generacioacuten

[alggeneracional]

La evolucioacuten generacional es muy utilizada tanto en computacioacuten evolutiva como en PG Sin embargo hasta la fecha no existen ventajas teoacutericas para decidir utilizar un tipo de evolucioacuten sobre el otro Considerando lo anterior este capiacutetulo se enfocaraacute en el uso de evolucioacuten de estado estable debido a que su implementacioacuten es maacutes simple

El algoritmo [algestable] muestra el pseudocoacutedigo de una evolucioacuten de estado estable es utilizada para generar un individuo hijo mediante la aplicacioacuten de operadores geneacuteticos (linea 2) El hijo reemplaza (linea 4) a un elemento de que es seleccionado utilizando una seleccioacuten negativa es decir se selecciona un individuo con una aptitud baja (liacutenea 3) Este proceso continuacutea hasta que el criterio de paro es alcanzado Dicho criterio puede ser variado tal como alcanzar un nuacutemero maacuteximo de individuos generados convergencia de una funcioacuten de error encontrar una solucioacuten adecuada o suficiente entre otras opciones

hijo hijo

[algestable]

Representacioacuten Tomando en cuenta que el objetivo de PG es evolucionar programas es normal pensar que la PG evoluciona programas escritos en alguacuten lenguaje de programacioacuten pej Python utilizando un inteacuterprete o compilador y maacutequina que lo ejecute dependiendo del caso Aunque esto es factible y existen sistemas de PG que han seguido este camino no es lo maacutes comuacuten En este capiacutetulo seguimos una de las praacutecticas maacutes comunes popularizada en el libro de Koza la cual consiste en representar un programa utilizando un aacuterbol de expresioacuten Un aacuterbol de expresioacuten cuenta con tres nodos distintivos la raiacutez la cual es la salida de la expresioacuten los nodos internos y las hojas La funcioacuten de la raiacutez y los nodos internos es aplicar operaciones a sus hijos y las hojas

119979h 119979120236120254120275120252120261120250

119979h 119979

119979 119979h(i ) larr 120238120265120254120267120250120253120264120267120254120268 120230120254120263eacute120269120258120252120264120268(119979) 119979 larr 120236120254120275120252120261120250(119979 119979h) 119979

119979

119979

119979 larr 120238120265120254120267120250120253120264120267120254120268 120230120254120263eacute120269120258120252120264120268(119979) k larr 120242120254120261120254120252120252120258oacute120263 120237120254120256120250120269120258120271120250(119979) 119979(k) larr 119979

representan las entradas ya sean variables o constantes Un ejemplo de un aacuterbol de expresioacuten se muestra en la figura [figexpresion] donde la expresioacuten es representada en el aacuterbol

Los aacuterboles de expresiones se forman partiendo de dos conjuntos uno de terminales que contiene las variables constantes y funciones sin argumentos y otro de funciones que contiene las funciones u operadores que reciben argumentos Por ejemplo en una regresioacuten simboacutelica la cual consiste en encontrar la funcioacuten que maacutes se asemeja a una serie de puntos el conjunto de terminales podriacutea ser donde es la variable independiente y r epresen ta un nuacutemero a lea tor io y e l conjunto de func iones podr iacutea se r Continuando con este ejemplo se puede observar que la expresioacuten representada en la figura [figexpresion] pudo haber sido generada con los mencionados conjuntos de terminales y funciones

Una codificacioacuten simple de un aacuterbol de expresioacuten puede ser representado en un arreglo o una lista es decir un aacuterbol de expresioacuten puede estar codificado de manera lineal Esta codificacioacuten se logra recorriendo el aacuterbol a lo profundo Por ejemplo la expresioacuten representada en la figura [figexpresion] puede ser representada como Esta codificacioacuten seraacute la utilizada en este capiacutetulo para representar los aacuterboles de expresiones

Dado un aacuterbol de expresioacuten se requiere tener un procedimiento para su evaluacioacuten Dicho procedimiento se muestra en el algoritmo [algevaluacion] Evaluacioacuten el cual recibe como entrada un aacuterbol de expresioacuten representado en una estructura de datos lineal como un arreglo o lista La expresioacuten es codificada en donde es la i-eacutesima posicioacuten e es una variable global Evaluacioacuten es una funcioacuten recursiva donde la recursioacuten termina cuando es una constante o variable (ver liacuteneas 15-19) Cuando es una funcioacuten (vg ) liacutenea 1 se debe de conocer la cantidad de argumentos que requiere linea 3 y empieza la recursioacuten En caso de que requiera un argumento liacuteneas 4-7 se incrementa la posicioacuten en uno y se llama a Evaluacioacuten terminando con la evaluacioacuten de la funcioacuten en el valor regresado en la recursioacuten Para maacutes argumentos liacuteneas 9-14 se invoca Evaluacioacuten tantas veces como argumentos requiera la funcioacuten y el valor es guardado en una estructura que podriacutea ser un arreglo o lista La liacutenea 14 evaluacutea la funcioacuten vg en los argumentos Por ejemplo sea la suma entonces la liacutenea 14 realizariacutea

el valor de la variable la constante

[algevaluacion]

x + xsin(934x)

119983ℱ

119983 = x real x real

ℱ = + minus sdot sin cos

( + x x sin times 934 x)

x xi ixi

xi xi isin ℱ

ixi

w fxi w f w0 + w1

x i f larr xi d larr 120250120267120256120270120262120254120263120269120264120268( f ) i larr i + 1 w larr 120228120271120250120261120270120250120252120258oacute120263(x) f (w) w i larr i + 1wj larr 120228120271120250120261120270120250120252120258oacute120263(x) f (w) xi xi

Poblacioacuten inicial Una vez descrita la representacioacuten que tendraacuten los individuos dentro de la poblacioacuten por medio de aacuterboles de expresiones la codificacioacuten de eacutestos mediante una estructura de datos lineal y el pseudocoacutedigo para evaluar un individuo ya es posible describir el procedimiento para crear la poblacioacuten inicial

En PG existen dos procedimientos tradicionales para generar un individuo 1) generar un aacuterbol de expresiones balanceado (Full) o 2) generar un aacuterbol desbalanceado (Grow) ambos se definen con una altura maacutexima La definicioacuten de un aacuterbol balanceado es aquel donde los hijos de cualquier nodo tienen siempre la misma altura La figura [figtipos-de-arbol] muestra un aacuterbol balanceado y un aacuterbol no balanceado En la figura [figbalanceado] se observa coacutemo la definicioacuten de balanceo solo considera la altura sin importar el nuacutemero de nodos Por ejemplo la raiacutez tiene tres nodos en su hijo izquierdo y dos nodos en su hijo derecho y es un aacuterbol balanceado

Estos dos procedimientos para generar un individuo comparten muchas similitudes Por esta razoacuten el algoritmo [algcreacion-individuo] presenta ambos procedimientos decidiendo cuaacutel utilizar mediante una bandera El proceso de generar un individuo utiliza el conjunto de funciones y terminales y la altura deseada Eacuteste es un procedimiento recursivo donde la recursioacuten termina cuando la altura llega a su valor miacutenimo (liacuteneas 1-3) o en el caso en que se utilice el meacutetodo desbalanceado (liacuteneas 3-5) y un nuacutemero aleatorio sea menor que

Si ninguna de las dos condiciones se cumplen empieza la recursioacuten primero

decrementando (liacutenea 6) despueacutes seleccionando de manera aleatoria una funcioacuten del conjunto (liacutenea 7) y contando sus argumentos (liacutenea 8) La estructura definida en la liacutenea 9 es la encargada de guardar los componentes de la regresioacuten Dicha estructura podriacutea ser una lista o un conjunto que mantiene el orden de insercioacuten El procedimiento continuacutea creando un ciclo del nuacutemero de argumentos (liacuteneas 10-12) donde se hace la recursioacuten y el resultado de la recursioacuten se antildeade a liacutenea 11 Finalmente el individuo creado estaacute en y se regresa en la liacutenea 13

[algcreacion-individuo]

Es probable que uno de los meacutetodos maacutes tradicionales para crear la poblacioacuten inicial sea el meacutetodo ramped half-and-half propuesto por Koza el cual consiste en construir la mitad de la poblacioacuten utilizando un meacutetodo balanceado y la otra mitad utilizando un meacutetodo desbalanceado

120236eacute120269120264120253120264h

h = 0

∣ 119983 ∣∣ 119983 ∣ + ∣ ℱ ∣

hℱ w

w w

ℱ 119983 h 120236eacute120269120264120253120264 x isin 119983 x isin 119983 h larr h minus 1 f isin ℱ d larr 120250120267120256120270120262120254120263120269120264120268( f ) w = [ f ]w larr w cup 120226120267120254120250120252120258oacute120263 120253120254 120232120263120253120258120271120258120253120270120264(h 120236eacute120269120264120253120264) w

Ademaacutes de lo anterior la altura del aacuterbol variacutea desde un valor de altura miacutenima hasta un valor maacuteximo de manera lineal tomando en cuenta el tamantildeo de la poblacioacuten

Operadores Geneacuteticos Habiendo descrito dos procedimientos para la creacioacuten de la poblacioacuten inicial es tiempo de introducir los operadores geneacuteticos que permitiraacuten la creacioacuten de nuevos individuos basados en la poblacioacuten actual En PG se acostumbra tener dos operadores geneacuteticos mutacioacuten (ver Seccioacuten 52) y recombinacioacuten (ver Seccioacuten 51) que a diferencia del AG son excluyentes y seleccionados de manera aleatoria

El algoritmo [algoperadores-geneticos] muestra el procedimiento para generar un individuo utilizando mutacioacuten y recombinacioacuten Lo primero que se realiza es la seleccioacuten de los individuos que serviraacuten como padres en este proceso (liacutenea 1 y liacutenea 3) Esto es seguido por la decisioacuten de generar un individuo mediante mutacioacuten o recombinacioacuten la cual se realiza de manera aleatoria y se controla con un paraacutemetro la probabilidad de recombinacioacuten (liacutenea 2) En caso de aplicarse recombinacioacuten se requieren dos elementos (liacutenea 4) y en el caso de mutacioacuten solamente se requiere un elemento (liacutenea 6)

[algoperadores-geneticos]

Recombinacioacuten La recombinacioacuten es la operacioacuten geneacutetica que toma dos individuos de la poblacioacuten denominados padres y los combina para generar un nuevo individuo Tomando en cuenta que los individuos son aacuterboles de expresiones entonces la recombinacioacuten se plantea como la generacioacuten de un nuevo aacuterbol de expresioacuten La idea es escoger en cada aacuterbol un punto de recombinacioacuten e intercambiar los subaacuterboles cuya raiacutez sean dichos puntos de recombinacioacuten

La figura [figrecombinacion] muestra el procedimiento de recombinacioacuten En dicha figura los dos padres son los primeros dos aacuterboles de la izquierda ver figuras [figpadre1] y [figpadre2] El nuevo individuo es el aacuterbol de la derecha ver figura [fighijo] es comuacuten llamar hijo al producto de la recombinacioacuten Los nodos de color azul representan los puntos de recombinacioacuten siendo el procedimiento para generar un nuevo individuo el cambiar los subaacuterboles cuya raiacutez son los nodos en azul En particular aquiacute se crea solamente un individuo el cual es generado al reemplazar el subaacuterbol del primer padre por el subaacuterbol del segundo padre

pxo

119979 a larr 120242120254120261120254120252120252120258oacute120263(119979) b larr 120242120254120261120254120252120252120258oacute120263(119979) w larr 120241120254120252120264120262120251120258120263120250120252120258oacute120263(119979(a)) 119979(b))w larr 120236120270120269120250120252120258oacute120263(119979(a)) w

El procedimiento de recombinacioacuten requiere de un meacutetodo que permita conocer donde termina un subaacuterbol dada su raiacutez Esto es debido a que se estaacute codificando un aacuterbol de expresioacuten en una estructura lineal Este procedimiento es simple y solamente se requiere el contar el nuacutemero de argumentos por cada funcioacuten encontrada en el camino El algoritmo [algrecorre] presenta el pseudocoacutedigo para hacer el recorrido por el subaacuterbol Este procedimiento recibe un individuo y la posicioacuten de la raiacutez del subaacuterbol de intereacutes El ciclo de las liacuteneas 2-12 realiza todo el recorrido del subaacuterbol terminando cuando las funciones encontradas en el recorrido han satisfecho todos sus argumentos liacuteneas 9-11 regresando la posicioacuten del uacuteltimo nodo del subaacuterbol En cada iteracioacuten se sabe que se consume un argumento liacutenea 5 y se incrementa la posicioacuten final del subaacuterbol liacutenea 4 Ademaacutes se verifica si el nodo actual corresponde a una funcioacuten En caso afirmativo se incrementa el nuacutemero de argumentos liacuteneas 6-8 y todo este proceso continua hasta que los argumentos requeridos por la funciones han sido cubiertos

[algrecorre]

Ahora que se conoce la funcioacuten auxiliar es momento de describir el pseudocoacutedigo de la recombinacioacuten el cual se muestra en el algoritmo [algrecombinacion] Lo primero que se puede observar es que la recombinacioacuten requiere dos individuos el segundo paso es seleccionar un nodo de cada uno de estos individuos liacuteneas 1 y 2 Las liacuteneas 3 y 4 calculan las posiciones donde terminan cada uno de los subaacuterboles que corresponden a los nodos seleccionados Finalmente el individuo generado corresponde al reemplazo de la subcadena que representa el subaacuterbol del primer padre con la subcadena que representa el subaacuterbol del segundo padre ver liacutenea 5

[algrecombinacion]

Mutacioacuten Existen diferentes tipos de mutacioacuten Una de las maacutes utilizadas es la mutacioacuten de subaacuterbol la cual consiste en hacer recombinacioacuten de un individuo de la poblacioacuten con un individuo aleatorio La idea es reemplazar un subaacuterbol del individuo de la poblacioacuten por un subaacuterbol aleatorio y esto se logra utilizando meacutetodos previamente definidos

La mutacioacuten de subaacuterbol se presenta en el algoritmo [algmutacion] Este procedimiento requiere un padre Despueacutes se genera un individuo aleatorio utilizando el meacutetodo

x i c larr 1 x larr xi i larr i + 1 c larr c minus 1 c larr c + 120250120267120256120270120262120254120263120269120264120268(x) i

120241120254120252120264120267120267120254

x y

x y i larr 120239120270120263120269120264 120253120254 120267120254120252120264120262120251120258120263120250120252120258oacute120263(x) j larr 120239120270120263120269120264 120253120254 120267120254120252120264120262120251120258120263120250120252120258oacute120263(y) ik larr 120241120254120252120264120267120267120254(x i )jk larr 120241120254120252120264120267120267120254(y j ) x0hellipi cup yjhellip jk cup xikhellip∣x∣

x

Por lo general se usa una altura menor a siete y despueacutes se regresa la de los individuos (liacutenea 2)

[algmutacion]

La mutacioacuten de subaacuterbol no es el uacutenico tipo de mutacioacuten Otro tipo de mutacioacuten muy utilizada es la mutacioacuten de punto que tiene su homoacutelogo en el AG La mutacioacuten de punto funciona iterando por todos los nodos del individuo y seleccionando aleatoriamente algunos nodos para ser mutados Un nodo seleccionado para ser mutado cambia su valor de la siguiente manera Un nodo que tiene una funcioacuten cambia la funcioacuten por otra de la misma cardinalidad Por otro lado un nodo que tiene una terminal cambia su valor por otra terminal seleccionada del conjunto de terminales

Seleccioacuten Hasta este momento hemos revisado los procedimientos para hacer una evolucioacuten de estado estable generar una poblacioacuten inicial y modificar la poblacioacuten utilizando operadores geneacuteticos En esta seccioacuten se muestra el proceso de seleccioacuten de los individuos padres que generaraacuten mediante operadores geneacuteticos un nuevo individuo

La seleccioacuten como su nombre lo indica debe escoger un individuo de la poblacioacuten con base en su aptitud es decir se busca aquel individuo que resuelve de mejor manera el problema En el caso de la seleccioacuten negativa se busca el individuo que resuelve el problema de la peor manera

Recordemos que la forma en que se describe la funcionalidad de un programa es mediante un conjunto de pares entrada-salida vg donde representa la -eacutesima entrada y es su salida correspondiente Utilizando se puede definir la aptitud de un programa de la siguiente manera

donde representa la salida del programa cuando la entrada es y es una funcioacuten que captura que tanto se parece la prediccioacuten a la salida esperada

Existen varios procedimientos de seleccioacuten Uno de los maacutes comunes es la seleccioacuten proporcional o por ruleta La idea de esta seleccioacuten es asignar a cada individuo una probabilidad de ser seleccionado directamente proporcional a su aptitud Otro tipo de seleccioacuten muy utilizado

120226120267120254120250120252120258oacute120263 120253120254 120232120263120253120258120271120258120253120270120264120241120254120252120264120262120251120258120263120250120252120258oacute120263

x y larr 120226120267120254120250120252120258oacute120263 120253120254 120232120263120253120258120271120258120253120270120264(4 120225120250120261120250120263120252120254120250120253120264) 120241120254120252120264120262120251120258120263120250120252120258oacute120263(x y)

119987 = (x0 y0) hellip (xi yi) hellip (xN yN) xii yi 119987

p

120224120265120269120258120269120270120253(p) = sum(xy)isin119987

120236120258120253120254 120224120265120265120267120264120273120258120262120250120252120258oacute120263(y p(x))

p(x) p x 120236120258120253120254 120224120265120265120267120264120273120258120262120250120252120258oacute120263p(x) y

en la comunidad es la seleccioacuten por torneo donde la idea es seleccionar al ganador de un grupo de individuos seleccionados aleatoriamente Al tamantildeo del grupo se le conoce como el tamantildeo del torneo

El algoritmo [algseleccion] presenta el pseudocoacutedigo de la seleccioacuten por torneo El procedimiento requiere la poblacioacuten y el tamantildeo del torneo Se empieza seleccionando un individuo de la poblacioacuten vg el -eacutesimo para el cual se obtiene su aptitud liacuteneas 1 y 2 El individuo es momentaacuteneamente el mejor elemento conocido El ciclo principal ejecuta el torneo liacuteneas 3-10 En cada iteracioacuten se selecciona un elemento de la poblacioacuten junto con su aptitud (liacutenea 4 y 5) En caso que el nuevo individuo tenga una mejor aptitud que la conocida eacuteste se convierte en el ganador del torneo liacuteneas 6-9 El procedimiento termina regresando la posicioacuten del mejor individuo

t

[algseleccion]

Espacio de buacutesqueda La PG es un algoritmo de buacutesqueda inspirado en los principios de la evolucioacuten En esta seccioacuten se describe coacutemo es el espacio de buacutesqueda Existen dos diferencias principales entre la PG y el AG 1) la PG busca en un espacio posiblemente infinito de programas mientras que el AG en un espacio finito y 2) las soluciones de la PG tienen una codificacioacuten de longitud variable y las del AG son de longitud fija

El espacio de buacutesqueda de la PG se construye partiendo del conjunto de funciones y del conjunto de terminales de la siguiente manera Sea el subconjunto de funciones con cardinalidad del conjunto de funciones y los elementos creados en la -eacutesima iteracioacuten iniciando en Usando esta notacioacuten los primeros elementos del espacio de buacutesqueda vg son El resto de los elementos se construyen

iterativamente usando por lo tanto el espacio de

buacutesqueda estaacute definido como

Con el objetivo de ejemplificar la estructura del espacio de buacutesqueda la figura [figespacio-busqueda] presenta unos elementos del espacio de buacutesqueda cuando el conjunto de terminales es

119979 tk ga

119979(k)

119979 k larr 120237uacute120262120254120267120264 120224120261120254120250120269120264120267120258120264() ga larr 120224120265120269120258120269120270120253(119979(k)) ck larr 120237uacute120262120254120267120264 120224120261120254120250120269120264120267120258120264()ca larr 120224120265120269120258120269120270120253(119979(ck)) k larr ck ga larr ca k

Ω

ℱ119983 ℱc sube ℱ

c Ωi ii = 0

i = 0 Ω0 = ⋃c

f (x1 ⋯ xc) ∣ xi isin 119983 f isin ℱc

Ωi = ⋃c

f (x1 ⋯ xc) ∣ xi isin Ωiminus1 f isin ℱc

Ω = ⋃i

Ωi

y el conjunto de funciones es La figura [figomega0] muestra todos los elementos de los cuales corresponden a las combinaciones entre el operador y las entradas asiacute como a la funcioacuten y las posibles entradas La parte inferior de la figura muestra algunos elementos de Siguiendo la definicioacuten dada la primera expresioacuten corresponde al segundo elemento de y el uacuteltimo elemento corresponde al uacuteltimo elemento generado en

Conclusiones En este capiacutetulo se describioacute la importancia y potencial que tiene la PG en diversas tareas y aplicaciones Ademaacutes se describieron las partes que conforman un sistema de programacioacuten geneacutetica tradicional equivalente a los descritos en ) Tambieacuten se describieron los tipos de evolucioacuten maacutes comunes y con base en la evolucioacuten de estado estable se detalloacute el resto de las partes necesarias para llevar a cabo el proceso evolutivo como son la representacioacuten de los individuos la creacioacuten de la poblacioacuten inicial los operadores geneacuteticos y el tipo de seleccioacuten Finalmente se describioacute el espacio de buacutesqueda de la PG que se genera partiendo de los conjuntos de funciones y terminales

Como todo los sistemas la PG ha evolucionado Actualmente existen diferentes propuestas para mejorar sus componentes empezando desde la creacioacuten de la poblacioacuten inicial pej modificaciones a los operadores geneacuteticos tradicionales pej operadores semaacutenticos estudios sobre la seleccioacuten y evolucioacuten guiada por una funcioacuten diferente a la funcioacuten objetivo

Para saber maacutes Para una revisioacuten amplia sobre la PG se sugiere al lector la siguiente bibliografiacutea La PG fue descrita inicialmente en el libro de John Koza esta descripcioacuten se complementa con el libro escrito por Wolfgang Banzhaf et al y maacutes reciente Riccardo Poli et al presenta una introduccioacuten actualizada al aacuterea

Con respecto a artiacuteculos cientiacuteficos es importante comentar que existe una coleccioacuten bibliograacutefica en PG compilada y administrada por William Langdon John Koza y Steven Gustafson Esta coleccioacuten cuenta con maacutes de 13000 referencias a trabajos de investigacioacuten en 34

el tema incluyendo los trabajos realizados en Meacutexico

119983 = x y ℱ = + sinΩ0 +

sinΩ1

Ω1 Ω1

httpliinwwwiraukadebibliographyAigeneticprogramminghtml3

httpwwwcsbhamacuk~wblbiblio4

Importancia de la Diversidad en el Disentildeo de Algoritmos Evolutivos

Carlos Segura

Joel Chacoacuten Castillo

La convergencia prematura es una de las mayores problemaacuteticas que afectan al rendimiento de las metaheuriacutesticas poblacionales por lo que a la hora de disentildear algoritmos evolutivos es un aspecto a tener en cuenta En este capiacutetulo se enumeran diferentes teacutecnicas que se han propuesto a lo largo de las uacuteltimas deacutecadas para lidiar con este problema Una de las alternativas maacutes exitosas consiste en examinar los efectos que los diferentes componentes del algoritmo evolutivo tienen sobre la diversidad mantenida en la poblacioacuten y con base en ello redisentildearlos para modificar su comportamiento de forma dinaacutemica Con el objetivo de ilustrar de una forma detallada este uacuteltimo grupo de teacutecnicas se discuten dos mecanismos que pertenecen a este grupo El primero se aplica en el aacutembito de evolucioacuten diferencial y consiste en una estrategia de reemplazo que combina una poblacioacuten eacutelite con un mecanismo para mantener la diversidad de forma expliacutecita El segundo caso estaacute enfocado a los operadores de cruza donde concretamente se analiza y extiende el Operador de Cruza basado en Simulacioacuten Binaria (Simulated Binary Crossover - SBX) En las extensiones se considera el criterio de paro para modificar de forma dinaacutemica el comportamiento del operador con el propoacutesito de inducir un cambio gradual desde exploracioacuten hacia intensificacioacuten en el proceso de buacutesqueda La validacioacuten experimental se realizoacute con algunos de los problemas de prueba maacutes populares del aacutembito mono-objetivo y multi-objetivo alcanzaacutendose mejoras significativas en ambos casos

Diversidad Convergencia Prematura Evolucioacuten Diferencial Optimizacioacuten Multi-objetivo

Introduccioacuten Los Algoritmos Evolutivos (Evolutionary Algorithms mdash eas) son considerados como uno de los enfoques con mayor eficacia para resolver distintas categoriacuteas de problemas de optimizacioacuten Se han desarrollado diversas variantes que han sido aplicadas en muacuteltiples campos como en transporte economiacutea o ingenieriacutea Particularmente se han aplicado tanto en problemas del dominio continuo como del dominio discreto En general los eas han sido especialmente exitosos en la resolucioacuten de problemas complejos en los que los enfoques exactos no son actualmente aplicables como por ejemplo en problemas NP-completos con espacios de buacutesqueda grandes Para el aacutembito de este capiacutetulo se hace uso de problemas continuos mono-objetivo y multi-objetivo con restricciones de caja que se pueden definir tal y como se indica en la Ecuacioacuten ([eqnModel_general])

Minimizar 

rarrF (

rarrX )

Su jeto a rarrX isin Ω

donde es un vector compuesto por variables continuas de decisioacuten cada variable pertenece al conjunto de los reales es la dimensioacuten correspondiente al espacio de las variables de decisioacuten es un vector compuesto por funciones objetivo es el espacio factible cuyo liacutemite inferior es y liacutemite

superior es es decir Cada vector de variables es mapeado con -

funciones objetivo al espacio que es conocido como el espacio objetivo

Actualmente los eas son una de las metaheuriacutesticas maacutes conocidas pero a pesar de su eacutexito y de su uso tan extendido adaptarlas a nuevos problemas implica la toma de varias decisiones de disentildeo complejas Particularmente a la hora de disentildear de forma apropiada un ea se ha visto que es muy importante conseguir inducir un balanceo adecuado entre la exploracioacuten e intensificacioacuten del espacio de buacutesqueda Noacutetese en este punto que de manera informal la exploracioacuten del espacio de buacutesqueda consiste en evaluar regiones del espacio de buacutesqueda que no han sido muestreadas con el fin de detectar regiones promisorias y la explotacioacuten consiste en muestrear en zonas ya evaluadas previamente para realizar una buacutesqueda maacutes profunda con el fin de encontrar soluciones maacutes refinadas y de mayor calidad Cuando en los algoritmos evolutivos todas o casi todas las soluciones estaacuten en regiones distantes mdash alta diversidad mdash se produce habitualmente una buacutesqueda exploratoria es decir muchas de las nuevas soluciones evaluadas seraacuten distantes a las ya evaluadas anteriormente Sin embargo cuando casi todas las soluciones estaacuten en una o en unas pocas regiones se produce una buacutesqueda intensificadora Uno de los problemas a la hora de disentildear los algoritmos evolutivos es que en muchos casos no se comprenden todas las implicaciones que los diferentes componentes tienen sobre el mantenimiento de la diversidad de la poblacioacuten y por tanto sobre el balanceo entre exploracioacuten e intensificacioacuten Por ello analizar el comportamiento y redisentildear en base a lo que estaacute ocurriendo en este aspecto es parte del proceso de disentildeo de los eas

Relacionado con lo anterior aparece el concepto de convergencia prematura Se dice que un algoritmo converge de forma prematura cuando mucho antes de alcanzar el criterio de paro todas las soluciones estaacuten en una zona muy pequentildea del espacio de buacutesqueda En este sentido a partir de ese momento es difiacutecil seguir mejorando las soluciones de forma significativa ya que con alta probabilidad soacutelo se va a realizar un muestreo de soluciones en dicha regioacuten Por ello es importante detectar si esto ocurre y en tal caso redisentildear algunos aspectos del ea para preservar una mayor diversidad Sin embargo si la poblacioacuten es muy diversa durante todo el proceso de buacutesqueda se podriacutea no alcanzar un grado adecuado de intensificacioacuten y por lo tanto se tendriacutea una convergencia lenta que posiblemente tambieacuten resultariacutea en soluciones de baja calidad Por

rarrX D

rarrX = [x1 x2 xD]

xi isin real DrarrF M

rarrF = [ f1(

rarrX ) f2(

rarrX ) fM(

rarrX )] Ω x(L)

i

x(U )i Ω =

D

prodj=1

[x(L)j x(U )

j ] M

rarrF (

rarrX )(

rarrF Ω sube realD rarr realM) realM

esta razoacuten Mahfoud utilizoacute el concepto de diversidad uacutetil para referirse a la cantidad de diversidad necesaria para generar soluciones de alta calidad

En relacioacuten al disentildeo de eas se puede observar que en sus inicios la mayoriacutea de enfoques fueron esquemas generacionales en los que las soluciones hijas reemplazaban a la poblacioacuten anterior sin importar su respectiva aptitud o grado de diversidad En estos esquemas iniciales se usaba la seleccioacuten de padres para promover que el proceso de muestreo se realizara con mayor probabilidad en las regiones maacutes promisorias encontradas Por ello con el propoacutesito de alcanzar un balanceo adecuado entre exploracioacuten e intensificacioacuten se desarrollaron muchas estrategias de seleccioacuten de padres que permitiacutean centrarse con mayor o menor velocidad en las regiones promisorias Ademaacutes se desarrollaron alternativas que modifican otros aspectos como la estrategia de variacioacuten yo el modelo poblacional En la mayor parte de eas maacutes recientes se introduce ademaacutes una fase de reemplazamiento por lo que la nueva poblacioacuten no tiene que formarse exclusivamente con los hijos maacutes bien se usan mecanismos para combinar la poblacioacuten anterior con la poblacioacuten hija y determinar asiacute los nuevos sobrevivientes En este contexto se suele introducir elitismo en los algoritmos es decir el mejor individuo encontrado sobreviviraacute a la siguiente generacioacuten De esta forma ahora tambieacuten se puede modificar esta uacuteltima fase para conseguir el balanceo apropiado entre exploracioacuten e intensificacioacuten

En los uacuteltimos antildeos algunos de los trabajos maacutes exitosos en el aacuterea de evitacioacuten de convergencia prematura se han basado en considerar el criterio de parada y evaluaciones realizadas para balancear entre exploracioacuten e intensificacioacuten Esto se fundamenta en la premisa de que el grado entre exploracioacuten e intensificacioacuten deberiacutea variar a lo largo de la ejecucioacuten por lo tanto tiene sentido que las decisiones tomadas por las componentes variacuteen en funcioacuten del instante de ejecucioacuten Particularmente en este capiacutetulo se describen dos aportaciones que pertenecen a este grupo de teacutecnicas La primera que se aplica en el aacuterea de Evolucioacuten Diferencial (Differential Evolution mdash de) recibe el nombre de de Mejorado con Mantenimiento de Diversidad (de with Enhanced Diversity Maintenance mdash de-edm) e integra una estrategia de reemplazo que maneja la diversidad de forma expliacutecita con una poblacioacuten eacutelite En la fase de reemplazo que incorpora el de-edm se promueve un balanceo dinaacutemico entre exploracioacuten e intensificacioacuten teniendo en cuenta para ello el criterio de paro y las evaluaciones transcurridas para la toma de decisiones Concretamente en las primeras etapas se induce un grado de exploracioacuten alto ya que los individuos sobrevivientes son diversificados y posteriormente conforme transcurren las generaciones se induce un mayor grado de intensificacioacuten La segunda aportacioacuten estaacute enfocada a la extensioacuten de operadores de cruza Particularmente se analizan los componentes que conforman al Operador de Cruza basado en Simulacioacuten Binaria (Simulated Binary Crossover - SBX) y se propone una variante dinaacutemica (Dynamic Simulated Binary Crossover mdash dsbx) en la

que el comportamiento interno es alterado en base al criterio de paro y a las evaluaciones realizadas hasta el momento

El resto de este capiacutetulo estaacute organizado de la siguiente forma En primer lugar en la seccioacuten 2 se revisan algunas de las teacutecnicas maacutes populares que se han propuesto para promover el mantenimiento de diversidad exponiendo una de las clasificaciones maacutes extendidas Posteriormente en la seccioacuten 3 se describe y valida experimentalmente la aportacioacuten basada en evolucioacuten diferencial donde se considera la diversidad de forma expliacutecita en la fase de reemplazamiento Siguiendo esta misma liacutenea en la seccioacuten 4 se lleva a cabo un anaacutelisis del operador de cruza sbx mencionando algunas de sus implicaciones en la diversidad y se expone en base a ello una variante dinaacutemica que se valida experimentalmente con problemas multi-objetivo Finalmente en la seccioacuten 5 se exponen las conclusiones y trabajos futuros trazados en base a los resultados obtenidos

Preservacioacuten de diversidad en algoritmos evolutivos La convergencia prematura es una problemaacutetica muy conocida en el aacutembito de los eas por lo que se han desarrollado gran cantidad de teacutecnicas para lidiar con la misma Estas teacutecnicas modifican de manera directa o indirecta la cantidad de diversidad mantenida por el algoritmo y variacutean desde teacutecnicas generales hasta mecanismos dependientes de un problema dado En este apartado se revisan algunas de las teacutecnicas generales maacutes populares Inicialmente se describen algunas maneras de clasificar a este tipo de estrategias para posteriormente describir mecanismos claacutesicos especiacuteficos asiacute como algunas estrategias maacutes novedosas que se basan en modificar la estrategia de reemplazamiento Finalmente dado que en este capiacutetulo se extiende de se revisan tambieacuten los trabajos de esta aacuterea que tienen una relacioacuten estrecha con el manejo de diversidad Se recomienda a los lectores que requieran conocer estos mecanismos con maacutes detalle consultar asiacute como los artiacuteculos especiacuteficos en que cada meacutetodo es propuesto

Clasificaciones de mecanismos para promover la diversidad Debido a la gran cantidad de meacutetodos desarrollados en esta aacuterea se han propuesto varias clasificaciones de los mismos Liu et al propuso diferenciar entre los enfoques uni-proceso y multi-proceso En el enfoque uni-proceso se modifica la preservacioacuten de la diversidad actuando sobre un uacutenico componente del ea Es importante destacar que en los enfoques uni-proceso no se excluye el uso de otros componentes en el proceso de exploracioacuten yo intensificacioacuten sino que maacutes bien si no se consigue el balanceo adecuado soacutelo se modifica una componente hasta conseguir el comportamiento deseado Por otra parte en los enfoques multi-proceso se tiene en cuenta las implicaciones que varios componentes provocan sobre el balanceo y se actuacutea

modificando o redisentildeando varios de ellos hasta conseguir el comportamiento adecuado Los esquemas uni-proceso son mucho maacutes habituales actualmente y en particular las dos propuestas incluidas en este capiacutetulo son mecanismos uni-proceso

Extendiendo a lo anterior se propuso una clasificacioacuten maacutes especiacutefica en la que se tiene en cuenta cuaacutel es la componente que se cambia para categorizar a cada meacutetodo En este sentido los maacutes populares son los siguientes

bull Enfoques basados en la seleccioacuten son los maacutes claacutesicos y se basan en cambiar la presioacuten de seleccioacuten que se produce hacia las zonas promisorias a la hora de realizar la seleccioacuten de padres

bull Enfoques basados en poblacioacuten se modifica el modelo poblacional utilizando algunas teacutecnicas como variar el tamantildeo de la poblacioacuten de forma dinaacutemica eliminar individuos duplicados utilizar teacutecnicas de infusioacuten o establecer un estrategia de islas con migraciones

bull Enfoques basados en ela cruza yo la mutacioacuten se basan en redisentildear los operadores de cruza yo mutacioacuten considerando en algunos casos informacioacuten especiacutefica del problema Tambieacuten se incluyen en este grupo opciones maacutes generales como aplicar restricciones sobre el emparejamiento yo incluir operadores disruptivos que podriacutean ser utilizados soacutelo en ciertos instantes del proceso de optimizacioacuten

Esquemas claacutesicos para administrar la diversidad Los primeros eas se basaron principalmente en esquemas generacionales que no incluiacutean fase de reemplazo En estos esquemas la seleccioacuten de padres era la principal responsable de que se muestrearan con mayor probabilidad las zonas maacutes promisorias encontradas hasta el momento y por tanto muchos de los primeros esquemas que trataron de evitar la convergencia prematura se basaron en modificar el proceso de seleccioacuten de padres Asiacute en los 90s se desarrollaron varios esquemas que alteraban la presioacuten de seleccioacuten de forma estaacutetica o dinaacutemica Sin embargo con base en varios estudios teoacutericos y experimentales se observoacute que generalmente actuar exclusivamente sobre el operador de seleccioacuten no es suficiente especialmente cuando se quieren realizar ejecuciones a largo plazo ya que se requeririacutean poblaciones excesivamente grandes para mantener un grado adecuado de diversidad

Otra alternativa fue modificar los modelos poblacionales encontrando en este grupo los esquemas basados en islas los celulares o maacutes recientemente los basados en agrupaciones o cluacutesteres La idea de introducir restricciones en el emparejamiento principalmente con base en la ubicacioacuten de los individuos en el espacio de buacutesqueda tambieacuten ha sido bastante exitosa aunque controlar los mismos para obtener el balanceo apropiado ante diferentes criterios de parada es

bastante complejo En algunos casos resultoacute ser maacutes prometedor promover el emparejamiento entre individuos no similares mientras que en otros escenarios se hace exactamente lo opuesto Otro problema comuacuten de muchas de las estrategias anteriores es que suelen introducir paraacutemetros adicionales por lo que el proceso de ajuste de paraacutemetros que ya de por siacute es un problema importante en los eas se vuelve auacuten maacutes complejo Es importante resaltar que todas estas estrategias claacutesicas no evitan por completo la convergencia sino que la idea es disponer de mecanismos para acelerarla o retrasarla

Otra alternativa diferente ha sido adaptar la fase de variacioacuten En este sentido se han desarrollado diversas teacutecnicas para controlar los paraacutemetros que se consideran en la variacioacuten con el propoacutesito de adaptar el balanceo entre exploracioacuten e intensificacioacuten En algunos casos esto se consigue usando distintos valores en los paraacutemetros para distintas etapas a lo largo del proceso de optimizacioacuten mientras que en otros casos se hacen cambios maacutes draacutesticos y se consideran varios operadores con distintas propiedades Tambieacuten existen mecanismos adaptativos que usan una memoria para almacenar informacioacuten histoacuterica sobre los efectos de la variacioacuten y con base en ello ir modificaacutendola Cabe destacar que en la mayor parte de estos esquemas no se considera la diversidad de forma directa sino que soacutelo se considera para analizar el comportamiento y con base en ello se procede a un redisentildeo

Finalmente un esquema muy sencillo pero no por ello menos importante es el basado en reinicios En estos esquemas en lugar de evitar la convergencia acelerada se aplica un reinicio total o parcial de la poblacioacuten cada cierto nuacutemero de generaciones o cuando se detecta que la poblacioacuten ha convergido Con base en esto se han propuesto diversas estrategias para establecer los puntos de reinicio Estos esquemas se implementan de forma muy sencilla y en algunos casos han proporcionado mejoras significativas por lo que es un meacutetodo a tener en cuenta al menos como alternativa inicial Es comuacuten combinar las estrategias basadas en reinicio con algunas de las teacutecnicas anteriores ya que dichas teacutecnicas estaacuten basadas en mantener la diversidad mientras que en esta uacuteltima el objetivo es recuperar la diversidad

Esquemas de reemplazamiento basados en diversidad Recientemente se han propuesto diversos mecanismos que modifican la fase de reemplazo para preservar la diversidad La idea principal de estos esquemas es inducir un grado de exploracioacuten adecuado diversificando a los individuos sobrevivientes de forma que los operadores de reproduccioacuten puedan generar nuevas soluciones en diferentes regiones en las siguientes generaciones Estos meacutetodos estaacuten basados en el principio de que los operadores de cruza tienen un efecto de exploracioacuten al considerar individuos distantes y de intensificacioacuten al considerar individuos proacuteximos

El esquema de pre-seleccioacuten propuesto por Cavicchio es uno de los primeros estudios que utilizan la fase de reemplazamiento para controlar la diversidad El esquema inicial de Cavicchio se extendioacute para generar el esquema denominado amontonamiento o crowding el cual ha sido muy popular en los uacuteltimos antildeos El principio del crowding se basa en que los nuevos individuos que entren en la poblacioacuten sustituyan a individuos similares de generaciones anteriores y con base en este principio se han formulado diversas implementaciones

En esta misma liacutenea se han propuesto otras estrategias de reemplazo con el propoacutesito de promover la diversidad Uno de los procedimientos maacutes populares es la Estrategia de Limpieza (Clearing Strategy - clr) En el procedimiento clr se agrupan a los individuos en grupos denominados nichos y los mejores individuos de cada nicho son preservados e incluidos en la poblacioacuten de la siguiente generacioacuten Un inconveniente de este procedimiento es que los casos en que se detectan muchos nichos provocan una fuerte inmovilizacioacuten de la poblacioacuten Por ello Petrowski propuso una variante para uacutenicamente seleccionar a individuos cuya aptitud sea mejor que la media de la poblacioacuten

Otros meacutetodos de este grupo consideran funciones de aptitud que combinan la funcioacuten objetivo original con la diversidad Sin embargo es complejo construir una funcioacuten compuesta ya que las dos mediciones podriacutean no ser directamente compatibles y por lo tanto las funciones adecuadas suelen depender de cada problema Una forma de suavizar este inconveniente fue propuesto en el algoritmo de combinacioacuten (COMB) donde los individuos son ordenados y categorizados con base en su aptitud y contribucioacuten a la diversidad y la funcioacuten compuesta se disentildea con base en el orden y no con base en los valores de funcioacuten objetivo y contribucioacuten a diversidad La principal desventaja del COMB es que requiere dos paraacutemetros de usuario aunque independientemente de esto se ha usado con bastante eacutexito Otra alternativa es el procedimiento Reemplazamiento Basado en Contribucioacuten a la Diversidad y Sustitucioacuten del Peor (Contribution of DiversityReplace Worst - CDRW) En el meacutetodo CDRW un nuevo individuo reemplaza a un miembro de la poblacioacuten cuyo rendimiento sea peor tanto en aptitud como en contribucioacuten a la diversidad En caso de no encontrar un peor individuo bajo estos dos criterios se procede a reemplazar al peor individuo en la poblacioacuten considerando uacutenicamente a la aptitud Una uacuteltima alternativa se basa en considerar a la contribucioacuten a la diversidad como un objetivo adicional y aplicar un esquema de optimizacioacuten multi-objetivo Estos enfoques son identificados como algoritmos multi-objetivo basados en diversidad Existen varias estrategias para calcular el objetivo auxiliar Uno de los enfoques maacutes populares consiste en calcular la contribucioacuten a la diversidad de cada individuo con base en la Distancia al Vecino maacutes Cercano (Distance to the Closest Neighbor - DCN) de entre los individuos que ya hayan sido seleccionados como supervivientes

Diversidad en evolucioacuten diferencial Los algoritmos basados en de son altamente susceptibles a la peacuterdida de diversidad debido a que se basan en una estrategia de seleccioacuten muy elitista Debido a ello se han desarrollado varios anaacutelisis para lidiar con este problema Dado que en el aacuterea se conoce al menos de manera general las implicaciones que tiene cada paraacutemetro sobre la diversidad algunos autores han trabajado en estimar de forma teoacuterica cuaacuteles deben ser los paraacutemetros adecuados para que se produzca cierto tipo de comportamiento Otros autores han estudiado el efecto que tiene la norma de los vectores de diferencia sobre la mutacioacuten y con base en ello se han propuesto mecanismos que prohiacuteben ciertos movimientos que pueden resultar perjudiciales para la diversidad En este uacuteltimo estudio el tipo de movimientos aceptados variacutea a lo largo de la ejecucioacuten descartando a los movimientos cuyos desplazamientos sean menores a un umbral el cual es decrementado conforme transcurren las generaciones Ademaacutes se han propuesto otras formas para establecer los movimientos aceptados

Una alternativa distinta se basa en alterar el operador de seleccioacuten Especiacuteficamente con el propoacutesito de mantener mayor diversidad en la poblacioacuten se altera la presioacuten de seleccioacuten utilizando una seleccioacuten probabiliacutestica que permite escapar en algunos casos de las bases de atraccioacuten de oacuteptimos locales Sin embargo este meacutetodo no es demasiado robusto debido a que considera la aptitud para definir las probabilidades para seleccionar a un individuo por lo que ciertas transformaciones de la funcioacuten pueden modificar de forma draacutestica el tipo de buacutesqueda que se realiza

Finalmente la variante de con Diversidad de la Poblacioacuten Auto-Mejorado (Auto-Enhanced Population Diversity - AEPD) mide la diversidad de forma expliacutecita y cuando se detecta la existencia de un nivel bajo de diversidad en la poblacioacuten se lanza un mecanismo de diversificacioacuten Esta propuesta se ha extendido para considerar diferentes esquemas de perturbacioacuten

Es interesante hacer notar que las variantes de de que alcanzaron los primeros lugares en varias competencias de optimizacioacuten durante los uacuteltimos antildeos no consideran estas modificaciones y ademaacutes estas variantes no han sido incorporadas en las herramientas de optimizacioacuten maacutes populares Esto puede deberse a que muchos de los concursos estaacuten orientados a obtener resultados en un nuacutemero de evaluaciones bastante limitado en lugar de a largo plazo que es el aacutembito en el que maacutes beneficios suelen dar los mecanismos de control de diversidad

Disentildeo de evolucioacuten diferencial basado en diversidad

Evolucioacuten diferencial Conceptos baacutesicos Esta seccioacuten estaacute dedicada a revisar la variante claacutesica de de y a introducir varios teacuterminos importantes que son utilizados en el campo de de El esquema claacutesico de de es identificado como derand1bin y ha sido ampliamente usado como base para el desarrollo de variantes maacutes complejas De hecho la propuesta que se presenta en este capiacutetulo como ejemplo extiende al derand1bin de fue propuesto como un meacutetodo de buacutesqueda directa para optimizacioacuten continua mono-objetivo y es el aacutembito en que se usaraacute en este capiacutetulo es decir se considera la Ecuacioacuten ([eqnModel_general]) fijando

de es un algoritmo estocaacutestico basado en poblacioacuten por lo que en cada instante maneja un conjunto de soluciones candidatas que van evolucionando de forma iterativa En de dichas soluciones candidatas son usualmente conocidas como vectores En la variante baacutesica de de para cada miembro de la poblacioacuten (conocidos como vectores objetivo) se genera un nuevo vector que es conocido como el vector mutado A continuacioacuten el vector mutado se combina con el vector objetivo para generar al vector de prueba y finalmente se procede con la fase de seleccioacuten para elegir a los vectores sobrevivientes De esta forma las generaciones transcurren de forma iterativa hasta cumplir el criterio de paro En esta capiacutetulo el -eacutesimo vector de la poblacioacuten en la generacioacuten se denota como A continuacioacuten se explica en maacutes detalle cada componente de de

Inicializacioacuten

Usualmente de inicia el proceso de optimizacioacuten con una poblacioacuten de vectores que son creados de forma aleatoria Habitualmente los vectores de la poblacioacuten inicial son generados con base en una distribucioacuten uniforme ya que usualmente no se posee informacioacuten sobre cuaacuteles son las zonas maacutes promisorias del espacio de buacutesqueda Por lo tanto el -eacutesimo componente del -eacutesimo vector es inicializado de la forma donde es un nuacutemero aleatorio uniformemente distribuido entre y

Operador de mutacioacuten

Por cada vector objetivo se genera un vector mutado para lo cual se han propuesto muacuteltiples estrategias con la particularidad de que en cierta forma se usen las diferencias entre vectores La variante claacutesica de de aplica la estrategia conocida como rand1 en la cual se crea un vector mutado de la siguiente forma

M = 1

iG

rarrX iG = [x1iG x2iG xDiG]

NP

j ixji0 = x(L)

j + randi j[0 1](x(U )j minus x(L)

j )randi j[0 1] 0 1

ViG

En la Ecuacioacuten ([eqnmutation]) los iacutendices deben ser enteros distintos y son generados de forma aleatoria en el rango Ademaacutes estos iacutendices son distintos al iacutendice Es importante hacer notar que la diferencia entre los vectores es escalada por medio del paraacutemetro el cual usualmente se define en el intervalo Posteriormente el vector de diferencia (escalado) es agregado a un tercer vector lo que significa que los vectores mutados son similares a los vectores objetivo si el grado de diversidad es bajo ya que los vectores de diferencias tienen norma pequentildea Como consecuencia de esto es claro que es criacutetico mantener un grado miacutenimo de diversidad en de

Operador de cruza

El operador de cruza se aplica con el objetivo de combinar la informacioacuten de distintas soluciones candidatas y de incrementar la diversidad de los vectores Especiacuteficamente cada vector objetivo se mezcla con su correspondiente vector mutado para generar un vector de prueba La estrategia de cruza maacutes tiacutepica es conocida como cruza binomial y actuacutea de la siguiente forma

En la Ecuacioacuten ([eqncrossover]) es un nuacutemero uniformemente distribuido es

un iacutendice seleccionado aleatoriamente que asegura que genera al menos un componente de y es la proporcioacuten de cruza

Operador de seleccioacuten

Finalmente se aplica una seleccioacuten elitista para determinar los vectores sobrevivientes que participaraacuten en la siguiente generacioacuten Especiacuteficamente cada vector de prueba se compara con su correspondiente vector objetivo y sobrevive el que tiene la mejor aptitud

Debido a la forma de seleccionar a los sobrevivientes en cada generacioacuten los miembros de la poblacioacuten permanecen iguales o mejoran Por ello se considera que de hace uso de una seleccioacuten

rarrV iG =

rarrX r1G + F times (

rarrX r2G minus

rarrX r3G) r1 ne r 2 ne r3

r1 r 2 r3 isin [1 NP ][1 NP ]

iF [04 1]

rarrX iG

rarrViGrarr

UiG = [u1iG u2iG uDiG]

rarrUjiG =

rarrV jiG si (randi j[0 1] le CR o j = jrand)rarrX jiG de otra forma

randi j[0 1] jrandrarrUiGrarr

V iG CR isin [0 1]

rarrX jiG+1 =

rarrUiG si f (

rarrUiG) le f (

rarrX iG)

rarrX iG de otra forma

muy elitista y es una de las razones por la que en ciertos casos puede sufrir de una convergencia demasiado acelerada

Propuesta basada en diversidad El meacutetodo que se presenta en esta seccioacuten estaacute motivado principalmente por dos trabajos El primero de ellos es un estudio empiacuterico desarrollado por Montgomery et al que confirma que de sufre de convergencia prematura en varios problemas El segundo es un trabajo propuesto por Segura et al que proporciona mejoras significativas en el campo de optimizacioacuten combinatoria utilizando para ello una fase de reemplazo conocida como Reemplazo con Control de Diversidad Dinaacutemica Basada en Varios Objetivos (Replacement with Multi-objective based Dynamic Diversity Control - rmddc) Particularmente el rmddc controla el grado de diversidad relacionaacutendolo con el criterio de paro y generaciones transcurridas Con base en las conclusiones de cada uno de los trabajos en esta seccioacuten se ilustra una propuesta que es una variante novedosa de de que incluye un mecanismo de reemplazo que sigue los mismos principios que guiaron el disentildeo de rmddc Este nuevo algoritmo recibe el nombre de Evolucioacuten Diferencial con Mantenimiento Mejorado de Diversidad (Differential Evolution with Enhanced Diversity Maintenance - de-edm) y su coacutedigo fuente estaacute disponible 5

de-edm (ver Algoritmo [algDEEDM]) es bastante similar a la versioacuten claacutesica de de de hecho la forma en que se crean los vectores de prueba (liacuteneas 5 y 6) se mantiene intacta La novedad del de-edm es que incorpora una poblacioacuten eacutelite ( ) y una estrategia de reemplazo basada en diversidad Especiacuteficamente con el propoacutesito de seleccionar a los miembros de la poblacioacuten eacutelite se considera el operador de seleccioacuten elitista de la versioacuten claacutesica de de (liacutenea 7) Posteriormente se aplica la estrategia de reemplazo (liacutenea 8) para determinar a los sobrevivientes Siguiendo la misma filosofiacutea que en el rmddc los individuos que contribuyen muy poco a la diversidad no deberiacutean ser aceptados como miembros de la siguiente generacioacuten Para conseguir este propoacutesito se considera tanto el criterio de paro como las generaciones transcurridas en la seleccioacuten Asiacute se estableceraacute un grado de diversidad miacutenimo deseado dependiente del tiempo de ejecucioacuten

Inicializar de forma aleatoria a la poblacioacuten con individuos donde cada uno es distribuido de forma uniforme Mutacioacuten Generar al vector mutado ( ) de acuerdo a la Ecuacioacuten ([eqnmutation]) Cruza Utilizar la recombinacioacuten para generar al vector de prueba ( ) de acuerdo a la Ecuacioacuten ([eqncrossover]) Seleccioacuten Actualizar al vector eacutelite ( en lugar de

E

NPG = 0 ViG

UiGEiG

El coacutedigo en C++ puede ser descargado en la siguiente direccioacuten httpsgithubcom5

joelchaconcastilloDiversity_DE_Researchgit

) de acuerdo a la Ecuacioacuten ([eqnselection]) Reemplazo Seleccionar a los vectores objetivo ( ) de acuerdo al Algoritmo [algReplacement]

[algDEEDM]

La estrategia de reemplazo (ver Algoritmo [algReplacement]) funciona de la siguiente forma Inicialmente recibe a la poblacioacuten padre (vectores objetivo) a la poblacioacuten de hijos (vectores de prueba) y a los vectores eacutelite De entre todos ellos debe seleccionar a vectores para formar la siguiente poblacioacuten de padres En primer lugar con base en el nuacutemero de evaluaciones de funcioacuten transcurridas y el criterio de parada se calcula una distancia miacutenima deseada ( ) para mantener en la poblacioacuten (liacutenea 2) A continuacioacuten se juntan las tres poblaciones en un conjunto de miembros candidatos (liacutenea 3) que contiene en cada momento a los vectores candidatos que podriacutean ser seleccionados para sobrevivir Posteriormente se inicializa tanto el conjunto de individuos sobrevivientes como los penalizados con el conjunto vaciacuteo (liacutenea 4) Para seleccionar a los sobrevivientes se repite el proceso iterativo (liacuteneas 5 - 13) que se describe a continuacioacuten En cada iteracioacuten se comienza seleccionando como sobreviviente al mejor individuo del Conjunto de Candidatos es decir al individuo que tiene la mejor aptitud Este individuo se mueve al Conjunto de Sobrevivientes y los individuos del Conjunto de Candidatos cuya distancia al individuo seleccionado sea menor que se transfieren al Conjunto de Penalizados (liacutenea 9) La forma de calcular la distancia entre dos individuos es con base en la distancia Euclidiana normalizada descrita en la Ecuacioacuten ([eqndistance]) donde es la dimensioacuten del problema y son los liacutemites menores y mayores de la dimensioacuten En los casos donde el conjunto de Candidatos queda vaciacuteo antes de seleccionar a individuos el Conjunto de Sobrevivientes se llena seleccionando en cada iteracioacuten al individuo con la mayor distancia al individuo maacutes cercano del Conjunto de Sobrevivientes (liacuteneas 10 - 13)

Entrada Poblacioacuten (Vectores Objetivo) Hijos (Vectores de prueba) y Elite Actualizar Candidatos = Poblacioacuten Hijos Elite Sobrevivientes Penalizados Seleccionados = Seleccionar al mejor individuo de Candidatos Eliminar Seleccionado de Candidatos Copiar Seleccionado a Sobrevivientes Encontrar a los individuos de Candidatos cuya distancia a Seleccionados sea menor que y moverlos a Penalizados En esta parte se considera la distancia normalizada (Ecuacioacuten

XiGXG+1 G = G + 1

NP

Dt

NP

Dt

Dx(L)

d x(U )d d

NPPenalizado

distancia(xi xj) =

sumDd=1 (

x di minus xd

j

x(U )d minus x(L)

d )2

D

Dt = DI minus DI(n fes (095ma x_n fes)) cup cup= = empty

Dt

[eqndistance]) Seleccionado = Seleccionar al individuo de Penalizados con la mayor distancia al individuo maacutes cercano a Sobrevivientes Eliminar Seleccionado de Penalizados Copiar Seleccionado a Sobrevivientes

Con el propoacutesito de completar la descripcioacuten de de-edm se especifica la forma en que se calcula y el procedimiento con el cual se actualizan a los individuos eacutelite El resto del algoritmo se mantiene igual que la variante claacutesica de de El valor de se utiliza para alterar el grado entre exploracioacuten e intensificacioacuten por lo tanto el valor adecuado para este paraacutemetro depende del instante de ejecucioacuten Especiacuteficamente este valor deberiacutea ser reducido conforme se alcanza el criterio de paro con el objetivo de promover mayor intensificacioacuten en las uacuteltimas etapas de optimizacioacuten En nuestro esquema se requiere asignar un valor inicial para ( ) y a continuacioacuten de manera similar a como se hace en se realiza una reduccioacuten lineal de considerando las evaluaciones transcurridas y el criterio de paro Particularmente en este trabajo el criterio de paro se asigna con base en las evaluaciones a funcioacuten y la reduccioacuten se calcula de tal forma que al del nuacutemero maacuteximo de evaluaciones el valor de diversidad miacutenimo requerido es cero lo que quiere decir que en la uacuteltima fase la diversidad no es considerada para nada Entonces denotando al nuacutemero maacuteximo de evaluaciones y al nuacutemero de e v a l u a c i o n e s t r a s c u r r i d a s e s c a l c u l a d o d e l a s i g u i e n t e f o r m a

La distancia inicial ( ) afecta de forma considerable al rendimiento de de-edm Si este paraacutemetro es elevado el algoritmo maximiza la diversidad de la poblacioacuten en las primeras etapas de optimizacioacuten resultando en una exploracioacuten adecuada que es muy importante en varios tipos de problemas como los multi-modales y deceptivos Sin embargo un valor demasiado elevado de podriacutea inducir un grado excesivo de exploracioacuten y en consecuencia la intensificacioacuten podriacutea fallar Por otra parte un valor muy pequentildeo de provocariacutea muy poca exploracioacuten y por lo tanto seriacutea maacutes difiacutecil evitar oacuteptimos locales El valor oacuteptimo de podriacutea variar dependiendo del tipo de problema y el criterio de paro Sin embargo en esta primera versioacuten no se adapta el valor de para cada problema En su lugar se realizoacute un anaacutelisis previo para determinar un valor adecuado usaacutendose el valor en todos los problemas

Al igual que en la versioacuten estaacutendar de de en de-edm es necesario asignar una probabilidad de cruza ( ) y un factor de mutacioacuten ( ) De acuerdo a varios estudios desarrollados por Montgomery y otros la probabilidad de cruza tiene un efecto muy importante Estos autores mostraron de forma empiacuterica que los valores extremos de resultan en comportamientos muy distintos entre siacute pero de gran utilidad Asiacute los valores pequentildeos de resultan en una buacutesqueda alineada a un nuacutemero reducido de ejes e induce pequentildeos desplazamientos Esto provoca una mejora gradual con convergencia lenta que en algunos escenarios podriacutea resultar

Sobrevivientes

DtDt

Dt DIDt

95

ma x_n fes n fesDt

Dt = DI minus DI(n fes (095ma x_n fes))

DI

DIDI

DI

DIDI = 03

CR F

CRCR

beneficioso Por otra parte los valores elevados de en general proporcionan soluciones de mayor calidad con una menor probabilidad ya que se tiende a realizar desplazamientos largos Sin embargo cuando son exitosos puedan mejorar la aptitud de forma significativa y permiten explorar zonas distantes Con base en esto en nuestra propuesta se emplean los dos mecanismos es decir valores elevados y pequentildeos de tal y como se muestra en la Ecuacioacuten ([eqncr])

Por otro lado siguiendo los principios de distintas variantes del SHADE se consideran las evaluaciones transcurridas para generar el factor de mutacioacuten aplicado Particularmente cada valor se muestrea de una distribucioacuten Cauchy (Ecuacioacuten [eqncauchy])

El efecto de esta distribucioacuten es que en las primeras etapas de optimizacioacuten se generen valores de cercanos a Posteriormente conforme la ejecucioacuten transcurre la funcioacuten de densidad sufre una transformacioacuten gradual ya que la varianza se incrementa Esto implica que se generen valores fuera del intervalo con una probabilidad maacutes alta En los casos en que los valores son mayores a se utiliza el valor mientras que si se genera un valor negativo se vuelve a muestrear el valor Uno de los efectos de este enfoque es el de incrementar la probabilidad de generar valores elevados de conforme transcurren las generaciones lo que ayuda a evitar la convergencia acelerada en las uacuteltimas etapas de optimizacioacuten

Resultados de de-edm En esta seccioacuten se presenta la validacioacuten experimental de de-edm Especiacuteficamente se muestra que se pueden mejorar los resultados de los algoritmos del estado-del-arte controlando de forma expliacutecita la diversidad Particularmente se consideraron los conjuntos de prueba de los concursos de optimizacioacuten continua organizados en el cec 2016 y cec 2017 Cada uno estaacute compuesto de treinta problemas distintos En la comparativa incluimos a los algoritmos que obtuvieron los primeros lugares en cada antildeo asiacute como una versioacuten de de que usa la misma parametrizacioacuten que de-edm pero que no incluye la poblacioacuten eacutelite ni el reemplazamiento basado en diversidad Los algoritmos considerados del cec 2016 son el UMOEAs-II y L-SHADE-EpSin que alcanzaron el primero y el segundo lugar respectivamente mientras que del cec 2017 se consideran el EBOwithCMAR y el jSO Todos estos algoritmos fueron probados con los dos conjuntos de prueba como se sugiere en Debido a que todos los algoritmos son estocaacutesticos se realizaron 51 ejecuciones con distintas semillas y en cada caso el criterio de paro fue asignado a de evaluaciones de la funcioacuten objetivo Ademaacutes se consideraron diez variables en cada funcioacuten

CR

CR

CR = Nor mal(02 01) si rand[0 1] le 05Nor mal(09 01) de otra forma

FF

Cauchy(05 05n fes ma x_n fes)

F 05

[00 10]10 10

F

25 000 000

( ) La evaluacioacuten de los algoritmos se realizoacute siguiendo los lineamientos de las competencias del cec de forma que se asignoacute un error igual a si la diferencia entre la mejor solucioacuten encontrada y la solucioacuten oacuteptima era menor que Para cada algoritmo se utilizoacute la parametrizacioacuten indicada por sus autores y que se describe a continuacioacuten

bull EBOwithCMAR Para la parte EBO el tamantildeo maacuteximo de la poblacioacuten de el tamantildeo miacutenimo de la poblacioacuten de el tamantildeo maacuteximo de la poblacioacuten de el tamantildeo miacutenimo de la poblacioacuten de el tamantildeo de la memoria histoacuterica H= Para la parte de CMAR el tamantildeo de la poblacioacuten CS = la probabilidad de buacutesqueda local y

bull UMOEAs-II Para la parte de MODE el tamantildeo maacuteximo de la poblacioacuten de el tamantildeo miacutenimo de la poblacioacuten de el tamantildeo de la memoria histoacuterica H= Para la

parte del CMA-ES el tamantildeo de la poblacioacuten CS =

Para la buacutesqueda local

bull jSO El tamantildeo maacuteximo de la poblacioacuten = el tamantildeo de la memoria histoacuterica H= valor de mutacioacuten inicial de la memoria probabilidad inicial de la memoria tamantildeo miacutenimo de la poblacioacuten = valor inicial p-best = valor final p-best =

bull L-SHADE-EpSin Tamantildeo maacuteximo de la poblacioacuten = tamantildeo de la memoria histoacuterica H= valor de la mutacioacuten inicial de la memoria probabilidad inicial de la memoria frecuencia inicial de la memoria tamantildeo miacutenimo de la poblacioacuten = valor inicial p-best = valor final p-best = generaciones de la buacutesqueda local

bull DE-EDM tamantildeo de la poblacioacuten =

bull Standard-DE Tamantildeo de la poblacioacuten = (mismos operadores que en de-edm)

Nuestro anaacutelisis experimental se realizoacute teniendo en cuenta la diferencia entre la solucioacuten oacuteptima y la mejor solucioacuten obtenida y para comparar los resultados estadiacutesticamente se siguioacute un procedimiento similar que el propuesto en Concretamente en primer lugar se utilizoacute la prueba Shapiro-Wilk para comprobar si los resultados se ajustaban a una distribucioacuten Gaussiana En los casos en que siacute se ajustaban se utilizoacute la prueba de Levene para comprobar la homogeneidad de las varianzas procediendo con la prueba de ANOVA en caso positivo o con la prueba de Welch en caso negativo Por otro lado para los casos que no se ajustaban a distribuciones Guassianas

D = 100

10minus8

S1 = 18DS1 = 4

S2 = (1468)D S2 = 106 S3 = 4 + 3log(D)

σ = 03 50 pl = 01 cfels = 04FEmax

S1 = 18DS1 = 4 6

S2 = 4 + lfloor3log(D)rfloor μ =PS2

σ = 03

50 cfels = 02FEmax

25log(D) D5 MF = 05

MCR = 08 4 025N2

25log(D) D5 MF = 05

MCR = 05 μF = 054 025N 2

GLS = 250

DI = 03 250

250

se utilizoacute la prueba de Kruskal-Wallis En todos los casos se fijoacute el nivel de confianza al 95 Se considera que un algoritmo es superior a un algoritmo si el procedimiento anterior reporta diferencias significativas y si la media y mediana del error obtenido por el meacutetodo son inferiores a las obtenidas por el meacutetodo

En las tablas [tabSummary_CEC2016] y [tabSummary_CEC2017] se presenta un resumen de los resultados obtenidos para el cec 2016 y el cec 2017 respectivamente La columna etiquetada con ldquoSiempre Resueltordquo muestra el nuacutemero de funciones en que se obtuvo un error de cero en las 51 ejecuciones La columna etiquetada con ldquoAl menos una vez resueltordquo muestra el nuacutemero de funciones que se resolvieron en al menos una ejecucioacuten Praacutecticamente todas las funciones del cec 2017 (28 de ellas) fueron resueltas al menos una vez por nuestra propuesta Ademaacutes se resolvieron 21 funciones del cec 2016 al menos una vez Esto representa una diferencia sustancial con los resultados obtenidos por el resto de algoritmos pues todos ellos resolvieron muchas menos funciones Con el objetivo de confirmar la superioridad del de-edm se ejecutaron las pruebas estadiacutesticas por pares La columna etiquetada con el siacutembolo muestra el nuacutemero de veces en que cada meacutetodo fue superior mientras que la columna etiquetada con cuenta el nuacutemero de casos donde el meacutetodo fue inferior Finalmente la columna etiquetada con muestra el nuacutemero de comparaciones en las que las diferencias no fueron significativas Las pruebas estadiacutesticas indican que el de-edm alcanzoacute los mejores resultados en los dos antildeos De hecho el nuacutemero de comparaciones en que nuestra propuesta ganoacute en el cec 2016 y el cec 2017 fue de y respectivamente y soacutelo perdioacute en y respectivamente que son valores muy superiores a los del resto de algoritmos La uacuteltima columna etiquetada con ldquoPuntajerdquo muestra la puntuacioacuten siguiendo los lineamientos propuestos en las competencias del cec Particularmente este meacutetodo de evaluacioacuten combina dos puntajes como se indica en la Ecuacioacuten ([eqntotal_scores]) definiendo el puntaje final como

Especiacuteficamente es la sumatoria de errores del -eacutesimo algoritmo ( )

ademaacutes es el error promedio en la -eacutesima funcioacuten es la miacutenima sumatoria de errores entre todos los algoritmos Por su parte es la sumatoria del rango de cada funcioacuten en

el -eacutesimo algoritmo ( ) Ademaacutes es la sumatoria miacutenima de los rangos

X YX

Y

harr

7788 25 6

Score = Score1 + Score2

Score1 = (1 minusSEi minus SEmin

SEi ) times 50

Score2 = (1 minusSRi minus SRmin

SRi ) times 50

SEi i SEi =30

sumj=1

error_ f j

error_ f j j SEmin

SRi

i SRi =30

sumj=1

rangoj SRmin

entre todos los algoritmos Nuestra propuesta alcanzoacute el mejor puntaje de en los dos antildeos demostrando su superioridad Adicionalmente es destacable que la versioacuten estaacutendar de de alcanzoacute resultados buenos de hecho obtuvo el tercer y el segundo lugar en los antildeos 2016 y 2017 respectivamente Esto muestra que el rendimiento de los algoritmos del estado-del-arte se deteriora al considerar ejecuciones a largo plazo pues esos algoritmos que fueron muy efectivos a corto plazo no lo son tanto a largo plazo La superioridad del de-edm es clara con base en todos los tipos de comparativas descritas

Ademaacutes con el fin de proporcionar resultados que puedan usar otros autores para realizar comparativas en las tablas [tabResults_CEC2016] y [tabResults_CEC2017] se reporta el mejor peor mediana media desviacioacuten estaacutendar y razoacuten de eacutexito para el cec 2016 y 2017 respectivamente En estas tablas se observa que nuestra propuesta resuelve todos los problemas uni-modales y que en la mayor parte de los problemas multi-modales se obtienen resultados muy aceptables con respecto a los reportados por otros meacutetodos Asiacute nuestra propuesta resolvioacute y mejoroacute significativamente varias funciones complejas que no fueron resueltas por ninguno de los algoritmos restantes

[tabResults_CEC2016]

10000

Resultados del de-edm con los problemas del cec 2016

Mejor Peor Mediana Media Sd Razoacuten de eacutexito

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 360E-02 400E-03 739E-03 115E-02 392E-01

200E-02 102E-01 590E-02 577E-02 493E-02 000E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 600E-02 000E+00 588E-03 190E-02 902E-01

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

100E-02 800E-02 500E-02 467E-02 260E-02 000E+00

100E-02 500E-02 300E-02 282E-02 213E-02 000E+00

000E+00 470E-01 220E-01 199E-01 155E-01 196E-02

400E-02 150E-01 800E-02 847E-02 496E-02 000E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 200E-02 100E-02 765E-03 632E-03 314E-01

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 300E-02 000E+00 373E-03 276E-02 765E-01

000E+00 100E+02 000E+00 255E+01 510E+01 745E-01

f17

f10

f3

f20

f13

f6

f23

f16

f9

f2

f19

f12

f5

f22

f15

f8

f1

f18

f11

f4

f21

f14

f7

[tabResults_CEC2017]

000E+00 690E-01 000E+00 261E-02 133E-01 961E-01

100E+02 100E+02 100E+02 100E+02 000E+00 000E+00

800E-02 100E+02 529E+01 520E+01 319E+01 000E+00

250E-01 910E-01 540E-01 560E-01 292E-01 000E+00

000E+00 357E+02 343E+02 276E+02 160E+02 196E-01

100E+02 100E+02 100E+02 100E+02 000E+00 000E+00

184E+02 184E+02 184E+02 184E+02 325E-02 000E+00

f26

f25

f24

f30

f29

f28

f27

Resultados del de-edm con los problemas del cec 2017

Mejor Peor Mediana Media Sd Razoacuten de eacutexito

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 120E-01 000E+00 165E-02 339E-02 745E-01

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 220E-01 000E+00 637E-02 176E-01 667E-01

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

f14

f11

f8

f5

f2

f13

f10

f7

f4

f1

f15

f12

f9

f6

f3

000E+00 210E-01 000E+00 247E-02 727E-02 882E-01

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 100E-02 000E+00 196E-03 447E-03 804E-01

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 300E+02 000E+00 349E+01

103E+02 882E-01

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 100E+02 000E+00 392E+00

200E+01 961E-01

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 387E+02 387E+02 205E+02

268E+02 196E-02

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

145E+02 226E+02 218E+02 199E+02

421E+01 000E+00

395E+02 395E+02 395E+02 395E+02

210E-01 000E+00

f23

f20

f17

f28

f25

f22

f19

f16

f30

f27

f24

f21

f18

f29

f26

Disentildeo de operadores de cruza basados en diversidad La segunda propuesta se aplica en el campo de optimizacioacuten multi-objetivo y estaacute basada en la extensioacuten del operador de cruza sbx En esta seccioacuten se introducen en primer lugar varios conceptos relacionados con los algoritmos evolutivos multi-objetivo para posteriormente describir algunas de las clasificaciones maacutes populares de operadores de cruza Finalmente se realiza un anaacutelisis del operador sbx y con base en el mismo se propone una variante dinaacutemica denominada Operador de Cruza Dinaacutemico basado en Simulacioacuten Binaria (Dynamic Simulated Binary Crossover - dsbx) el cual es validado experimentalmente

Algoritmos evolutivos multi-objetivo Los eas han sido utilizados frecuentemente para lidiar con problemas de optimizacioacuten multi-objetivo (Multi-objective Optimization Problems - MOPs) Particularmente un MOP de dominio continuo y que es basado en minimizacioacuten puede ser definido como se indica en la Ecuacioacuten ([eqnModel_general]) de la seccioacuten 1 fijando la a un valor mayor que uno Dadas dos soluciones domina a denotado por si y solo si y Una solucioacuten es conocida como solucioacuten oacuteptima de Pareto si no existe otra solucioacuten que domine a El conjunto de Pareto es el conjunto de todas las soluciones oacuteptimas de Pareto y el frente de Pareto estaacute formado por las imaacutegenes del conjunto de Pareto El propoacutesito de un Algoritmo Evolutivo Multi-Objetivo (Multi-objective Evolutionary Algorithm - MOEA) es esencialmente obtener un conjunto de soluciones bien distribuidas y cercanas a las soluciones del frente de Pareto

En los uacuteltimos antildeos se han disentildeado una gran cantidad de moeas siguiendo distintos principios A raiacutez de esto se han propuesto varias taxonomiacuteas y por ejemplo en base a sus principios de disentildeo se pueden clasificar en basados en la dominancia de Pareto indicadores yo descomposicioacuten Hay algoritmos muy competitivos de cada uno de los grupos por lo que en esta seccioacuten se consideraron moeas de todos los grupos para realizar la validacioacuten Particularmente la validacioacuten experimental se desarrolloacute incluyendo a los algoritmos Algoritmo Geneacutetico basado en Ordenacioacuten de los No-Dominados (Non-Dominated Sorting Genetic Algorithm - NSGA-II) el Algoritmo Evolutivo Multi-objetivo basado en descomposicioacuten (MOEA based on Decomposition - MOEAD) y el Algoritmo Evolutivo Multi-objetivo basado en la Meacutetrica-S (the -Metric Selection Evolutionary Multi-objective Optimization Algorithm - SMS-EMOA) Estos algoritmos son representativos de los basados en dominancia basados en descomposicioacuten y basados en indicadores respectivamente

Mrarrx rarry isin Ω rarrx rarry rarrx ≺ rarry

forallm isin 1 2 M fm(xi) le fm(yi) existm isin 1 2 M fm(xi) lt fm(yi)rarrx isin Ω

rarrx isin Ωrarrx

S

Funcioacuten de densidad del operador de cruza sbx con iacutendices de distribucioacuten y Las soluciones padre estaacuten ubicadas en y respectivamente

[figfig_sim]

[figSimulation_pv]

[figSimulations_Index_20]

2 52 5

Operadores de cruza Los operadores de cruza son utilizados para generar soluciones hijas utilizando la informacioacuten de las soluciones padre Asiacute estos operadores combinan las caracteriacutesticas de dos o maacutes soluciones padre con el propoacutesito de generar nuevas soluciones candidatas En base en que en la literatura existen diversos operadores de cruza se han propuesto varias taxonomiacuteas para clasificarlos Particularmente las taxonomiacuteas se basan en varias caracteriacutesticas tales como la ubicacioacuten relativa entre padres e hijos o el tipo de relaciones existentes entre las variables

Una clasificacioacuten popular hace distincioacuten entre operadores de cruza basados en las variables y basados en los vectores En los basados en las variables cada variable de las soluciones padre son combinadas para crear nuevos valores de forma independiente siendo ideales para lidiar con problemas separables Algunos operadores que pertenecen a esta categoriacutea son el Operador de Cruza por Mezcla (the Blend Crossover - blx) y el sbx Por otra parte los operadores de recombinacioacuten basados en vectores tienen en cuenta la relacioacuten que existe entre las variables por lo que la combinacioacuten no es independiente Asiacute este tipo de operadores pueden por ejemplo realizar combinaciones lineales de las soluciones involucradas Algunos operadores que pertenecen a esta categoriacutea son el Operador de Cruza Unimodal Normalmente Distribuido (Unimodal Normally Distributed Crossover - undx) y el Operador de Cruza Simplex (Simplex Crossover - spx)

Adicionalmente los operadores de cruza pueden ser clasificados como centrados en los padres y centrados en la media En los operadores centrados en los padres las soluciones hijas tienden a ser creadas alrededor de cada solucioacuten padre mientras que en los operadores centrados en la media se tiende a crear a las soluciones hijas alrededor de la media de los valores de las soluciones padres

El operador de cruza basado en simulacioacuten binaria - SBX

Entre los operadores de cruza el Operador de Cruza Basado en Simulacioacuten Binaria (Simulated Binary Crossover - sbx) es uno de los maacutes utilizados en dominios continuos y fue el que se decidioacute extender en nuestra propuesta por lo que esta seccioacuten se centra en este operador de cruza El operador sbx es clasificado como un operador centrado en los padres por lo que los valores asociados a los hijos ( y ) tienden a ser cercanos a los valores de los padres ( y ) Especiacuteficamente el proceso para generar los valores de las soluciones hijas se basa en utilizar una distribucioacuten de probabilidad Esta distribucioacuten controla el factor de dispersioacuten el cual es definido como la razoacuten entre la distancia de los valores de las soluciones hijas y la distancia entre los valores de las soluciones padre Esta funcioacuten de densidad se define con base en un iacutendice de distribucioacuten (es un paraacutemetro de control

c1 c2 p1 p2

β = |c1 minus c2 | | p1 minus p2 |

ηc

especificado por el usuario) el cual altera la capacidad de exploracioacuten Especiacuteficamente un iacutendice pequentildeo induce una probabilidad elevada de crear valores de las soluciones hijas distantes de los valores de las soluciones padre mientras que iacutendices elevados tienden a crear soluciones muy similares a las soluciones padre lo cual se ilustra en la figura [figfig_sim] La definicioacuten matemaacutetica de la distribucioacuten y la forma de generar los valores de las soluciones hijas pueden ser estudiados en Las ecuaciones iniciales fueron formuladas con base en un problema de optimizacioacuten sin liacutemites en las variables Sin embargo en muchos problemas cada variable estaacute limitada dentro de un liacutemite inferior y superior Para considerar los liacutemites del espacio de decisioacuten se propuso una modificacioacuten de la distribucioacuten de probabilidad que es la que se usa en este artiacuteculo Para el caso de nuestro meacutetodo no es demasiado importante conocer la foacutermula exacta sino el efecto del valor que se ha ilustrado previamente

[algSBX_Operator]

Entrada Soluciones padre ( ) Iacutendice de distribucioacuten ( ) Probabilidad de cruza ( ) Salida Soluciones hijo ( ) [alginherit_variable] Generar utilizando las distribuciones dadas en Generar utilizando las distribuciones dadas en Intercambiar con

Es importante aclarar que la primera versioacuten del sbx fue disentildeada con base en una sola variable Posteriormente los autores consideraron aplicarlo a problemas con muacuteltiples variables considerando una estrategia simple para escoger las variables que se van a cruzar Especiacuteficamente con base en los principios del operador de cruza uniforme cada variable es cruzada con una probabilidad igual a A pesar de su sencillez y de no tener en cuenta las posibles dependencias entre variables hoy en diacutea eacutesta es la forma maacutes comuacuten de aplicar el sbx

Implementacioacuten y anaacutelisis del operador sbx

En este apartado se discuten algunas de las principales caracteriacutesticas de la implementacioacuten maacutes utilizada del operador sbx para problemas con muacuteltiples variables Esencialmente se consideran tres componentes clave que podriacutean afectar al rendimiento de los moeas En primer lugar como ya se mencionoacute anteriormente cada variable es alterada con una probabilidad fija igual a Si este valor de probabilidad se incrementa entonces los hijos tienden a crearse a mayor distancia de los padres debido a que se modifican maacutes variables de forma simultaacutenea En los problemas separables en general interesa modificar soacutelo una variable mientras que en los no separables suele ser maacutes conveniente modificar varias variables a la vez En la figura [figSimulation_pv] se pueden observar las implicaciones de modificar esta probabilidad considerando un problema con dos variables Particularmente en la parte derecha se muestra que una probabilidad pequentildea provoca que algunos valores permanezcan intactos es decir hay una tendencia de generar

ηc

P1 P2 ηc PcC1 C2 C1d

C2d C1d C2dC1d = P1d C2d = P2d C1 = P1 C2 = P2

05

05

desplazamientos paralelos a los ejes lo cual suele ser ideal para problemas separables Por otra parte en la parte izquierda se muestra que utilizando una probabilidad elevada existe un comportamiento de buacutesqueda distinto donde la tendencia anterior desaparece lo cual podriacutea ser oportuno para problemas no separables Es importante destacar que existe una relacioacuten entre esta probabilidad y el iacutendice de distribucioacuten ya que estos dos factores tienen un efecto directo en la similitud que existe entre las soluciones padres e hijas

[figSimulation_Case_3]

El segundo aspecto importante es que despueacutes de generar los dos valores de las soluciones hijas estos valores son intercambiados con una probabilidad fija (usualmente es ) es decir el valor de la solucioacuten hija no siempre es heredado a partir de la solucioacuten padre maacutes cercana Esta es una caracteriacutestica no muy discutida sin embargo es un aspecto muy relevante que afecta al rendimiento del algoritmo En algunos contextos esta probabilidad se denomina ldquoProbabilidad de cruza uniforme por variablerdquo (Variable uniform crossover probability) o ldquoRecombinacioacuten Discretardquo (Discrete Recombination) Dado que en el aacutembito multi-objetivo se promueve maacutes diversidad en las variables de decisioacuten de forma impliacutecita estos intercambios podriacutean ser altamente disruptivos De hecho debido a esto no es totalmente claro que el sbx deba ser categorizado como un operador centrado en los padres Estos intercambios que existen entre los valores de las soluciones hijas tienen un efecto de realizar muacuteltiples ldquoreflexionesrdquo en el espacio de buacutesqueda Asiacute conforme se incrementa la dimensionalidad en el espacio de las variables el nuacutemero de regiones cubiertas crece de forma exponencial como se puede observar en los casos de dos y tres dimensiones en la figura [figSimulations_Index_20] Es importante notar que esta caracteriacutestica tiene un efecto relevante en la distancia entre las soluciones padre y las soluciones hijas

Finalmente se discute el iacutendice de distribucioacuten que es quizaacutes la caracteriacutestica maacutes conocida del operador sbx Un iacutendice de distribucioacuten pequentildeo provoca un grado de exploracioacuten elevado De hecho un iacutendice de distribucioacuten igual a uno tiene un efecto similar al Operador de Recombinacioacuten Difusa (Fuzzy Recombination Operator) En la figura [figSimulation_Case_3] se puede observar el efecto de aplicar distintos iacutendices de distribucioacuten Particularmente en la parte izquierda se considera un iacutendice de distribucioacuten pequentildeo mientras en la parte derecha se considera un iacutendice de distribucioacuten grande Se observa que este uacuteltimo genera soluciones candidatas similares a las soluciones padre

05c1 p1

En el Algoritmo [algSBX_Operator] se muestra la implementacioacuten del operador sbx Este pseudocoacutedigo estaacute basado en la implementacioacuten que estaacute integrada en el coacutedigo del NSGA-II propuesto por Deb et al la cual se considera como la variante maacutes popular En los paraacutemetros de entrada se requieren dos soluciones padre ( ) y eacuteste crea dos soluciones hijas ( ) El primero y el segundo componente mencionados previamente corresponden a las liacuteneas 5 y 9 respectivamente El caso claacutesico del operador sbx se configura con los paraacutemetros y Es importante hacer notar que la implementacioacuten claacutesica no considera la dimensionalidad de las variables o el criterio de paro como parte de sus paraacutemetros internos

Propuesta - dsbx Con base en el anaacutelisis anterior y con el propoacutesito de inducir un balanceo entre exploracioacuten e intensificacioacuten de forma dinaacutemica y que dependa del instante de ejecucioacuten se proponen las siguiente modificaciones En primer lugar se modifica la probabilidad de alterar una variable ( ) durante la ejecucioacuten La intencioacuten de esta modificacioacuten es estimular la capacidad de exploracioacuten considerando inicialmente una probabilidad elevada para alterar maacutes variables de forma simultaacutenea mientras que conforme la ejecucioacuten avanza se reduce esta probabilidad con el fin de reducir el nuacutemero de variables que se modifican y promover asiacute movimientos maacutes pequentildeos El valor de se cambia con base en un modelo lineal decreciente donde inicialmente se fija a y se decrementa de forma que a la mitad del total de generaciones alcanza el valor Este uacuteltimo valor es mantenido hasta el final de la ejecucioacuten es decir desde la mitad de la ejecucioacuten este paraacutemetro se fija al mismo valor que el de la implementacioacuten tradicional del sbx Para asignar el valor se utiliza la Ecuacioacuten ([eqnlinear]) donde corresponde a la generacioacuten actual y corresponde al nuacutemero total de generaciones

El segundo cambio estaacute relacionado con la probabilidad de aplicar reflexiones ( ) En este caso es actualizado de acuerdo a la Ecuacioacuten ([eqnlinear]) por lo tanto la probabilidad de aplicar una reflexioacuten se incrementa de a durante la ejecucioacuten Esta modificacioacuten se realiza con el propoacutesito de evitar el comportamiento disruptivo de intercambiar variables en las primeras generaciones ya que esto provocariacutea modificaciones muy draacutesticas De esta forma seriacutea maacutes sensato aplicar estas reflexiones una vez que los individuos convergen en cierto grado Noacutetese que se incrementa hasta el valor el cual es el valor utilizado en la implementacioacuten del sbx estaacutendar ya que no se quiere disponer de un comportamiento excesivamente disruptivo Sin embargo en el futuro seriacutea interesante realizar estudios con otros valores finales

P1 P2 C1 C2

δ1 = δ2 = 05ηc = 20

δ1

δ110

05

δ1 GTranscurridasGTotal

1 minus δ2δ2

00 05

05

δ1 = δ2 = ma x(05 10 minusGTranscurridas

GTotal )

Finalmente el iacutendice de distribucioacuten tambieacuten es modificado durante la ejecucioacuten En las primeras etapas se promueve un iacutendice de distribucioacuten pequentildeo con el propoacutesito de incrementar la capacidad de exploracioacuten del sbx Posteriormente se decrementa de forma lineal lo cual tiene el efecto de que la curva de distribucioacuten se cierre y por lo tanto se promueve un mayor grado de intensificacioacuten en las etapas finales El incremento lineal es llevado a cabo usando la Ecuacioacuten ([eqnindex_eta]) por lo tanto el iacutendice de distribucioacuten es alterado de a Es importante aclarar que ya se han considerado modificaciones similares al iacutendice de distribucioacuten aunque las otras propiedades que se modifican nunca han sido estudiadas en profundidad

Resultados Puntos de referencias para el indicador HV

[tabMetrics_2]

[tabMetrics_3]

[tabstatistical_Tests]

2 22

ηc = 2 + 20 times ( GTranscurridas

GTotal )

Instancias Punto de referencia

WFG1-WFG9

DTLZ 1 2 4

DTLZ 3 5 6

DTLZ7

UF 1-10

[11 11]

[2 2]

[21 2m + 01]

[11 11 2m]

[3 3]

HV-2obj 16 29 47 6 61 25 28 19 45 31 23 38 54 3 35

HV-3obj 15 19 42 12 50 14 17 15 44 33 10 33 26 9 41

IGD-2obj 14 30 48 4 60 28 25 17 50 33 19 40 52 2 38

harr harrharr harrharr

En este apartado se analizan los resultados obtenidos con las variantes dinaacutemicas del sbx (dsbx) El nuevo operador de cruza se integroacute en los algoritmos NSGA-II MOEAD y SMS-EMOA En primer lugar se analiza cada una de las tres modificaciones propuestas de forma aislada Posteriormente se construye un caso donde se consideran las dos modificaciones que ofrecieron mejores resultados de forma simultaacutenea Como parte de la validacioacuten experimental se consideran los problemas de prueba WFG DTLZ y UF Ademaacutes con el propoacutesito de comparar nuestra extensioacuten del sbx con otros operadores se incluye la variante de evolucioacuten diferencial conocida como demo

Para llevar a cabo el anaacutelisis experimental y dado que todos los algoritmos son estocaacutesticos cada caso fue ejecutado veces con distintas semillas La configuracioacuten global que se aplicoacute a todos los algoritmos fue la siguiente Se asignoacute el criterio de paro a generaciones el tamantildeo de la poblacioacuten a se configuraron los problemas de prueba wfg con dos y tres objetivos considerando 24 variables donde variables son paraacutemetros de distancia y son

IGD-3obj 14 18 44 13 44 19 18 15 43 33 15 28 23 9 44

HV-2obj 15 33 44 10 60 22 25 26 41 39 18 35 57 9 26

HV-3obj 10 22 44 12 39 25 11 19 46 24 10 42 38 5 33

IGD-2obj 16 31 45 9 60 23 23 27 42 37 17 38 57 7 28

IGD-3obj 12 22 42 13 43 20 13 24 39 30 9 37 40 10 26

HV-2obj 9 35 48 7 43 42 16 31 45 41 9 42 53 8 31

HV-3obj 7 21 48 9 35 32 13 21 42 27 6 43 31 4 41

IGD-2obj 10 34 48 15 48 29 12 33 47 41 12 39 55 6 31

IGD-3obj 8 20 48 13 30 33 9 19 48 22 5 49 27 5 44

harr

harr

harr

harr

harr

harr

harr

harr

harr

harr

3525 000

10020 4

paraacutemetros de posicioacuten Como es sugerido en se consideroacute variables de decisioacuten en los problemas de prueba dtlz donde para los problemas DTLZ1 DTLZ2 - DTLZ6 y DTLZ7 se consideraron respectivamente En el caso de los problemas de prueba uf se utilizaron variables de decisioacuten Finalmente se hizo uso del operador de mutacioacuten polinomial con una probabilidad de mutacioacuten de y con un iacutendice de distribucioacuten igual a mientras que el operador de cruza sbx se utilizoacute con una probabilidad de cruza igual a y un iacutendice de distribucioacuten de

A continuacioacuten se especifica la parametrizacioacuten adicional propia de cada algoritmo

bull DEMO CR = 03 y F = 05

bull SMS-EMOA desplazamiento para calcular el HV = 100

bull MOEAD tamantildeo de la vecindad = 10 el nuacutemero de actualizaciones por subproblema ( ) = 2 y

Para comparar los frentes obtenidos por cada meacutetodo se utiliza el hipervolumen normalizado (HV) que se debe maximizar y la Distancia Generacional Invertida Modificada (Inverted Generational Distance Plus - IGD+) que se debe minimizar En la tabla [tabReferencePoints] se presentan los puntos de referencia utilizados para el indicador del hipervolumen los cuales son similares a los utilizados en Por otra parte para comparar los resultados estadiacutesticamente (valores del IGD+ y HV) se siguioacute un procedimiento similar al que se propuso en siendo el mismo que se aplicoacute para validar la primera propuesta

Anaacutelisis de cada modificacioacuten en el operador sbx En este apartado se analiza el efecto que cada modificacioacuten propuesta tiene de forma independiente sobre los resultados obtenidos Para ello basados en el Algoritmo [algSBX_Operator] se proponen cuatro casos

bull Caso 1 se aplica la versioacuten estaacutendar del operador sbx donde y

bull Caso 2 se actualiza el valor como se indica en la Ecuacioacuten ([eqnlinear]) y

bull Caso 3 se actualiza el valor como se indica en la Ecuacioacuten ([eqnlinear]) y

bull Caso 4 se actualiza el iacutendice de distribucioacuten de acuerdo a la Ecuacioacuten ([eqnindex_eta])

n = M + r minus 1

r = 5 10 2030

1n 5009

20

nrδ = 09

δ1 = δ2 = 05 ηc = 20

δ1 δ2 = 05ηc = 20

δ2 δ1 = 05ηc = 20

δ1 = δ2 = 05

En las tablas [tabMetrics_2] y [tabMetrics_3] se muestra informacioacuten del HV normalizado y del IGD+ para cada caso con dos y tres objetivos respectivamente (el Caso 5 se comenta maacutes adelante) Especiacuteficamente se muestra la media del HV e IGD+ para todos los problemas en dos y tres objetivos Se observa que considerando dos y tres objetivos el Caso 4 mejora al Caso 1 al Caso 2 y al Caso 3 en todos los algoritmos Por lo tanto se aprecian de forma clara los beneficios de incrementar el iacutendice de distribucioacuten durante la ejecucioacuten Por otra parte al considerar tres objetivos el Caso 2 presentoacute un rendimiento menor que el Caso 1 posiblemente debido a que al alterar tantas variables de forma simultaacutenea se produce un comportamiento excesivamente disruptivo Quizaacutes los resultados podriacutean mejorar si el paraacutemetro es alterado de una forma distinta sin embargo esto se deja como trabajo futuro Los anaacutelisis anteriores uacutenicamente consideran la media obtenida en todos los problemas de prueba En la tabla [tabstatistical_Tests] se muestran los resultados de las pruebas estadiacutesticas (el Caso 5 se discute en la siguiente seccioacuten) Particularmente se realizan comparaciones por pares en base a las pruebas estadiacutesticas ya mencionadas entre los cinco casos Este procedimiento se realizoacute de forma independiente para el NSGA-II MOEAD y el SMS-EMOA Para cada algoritmo y para cada caso la columna ldquo rdquo reporta el nuacutemero de comparaciones donde las pruebas estadiacutesticas confirmaron la superioridad del caso correspondiente mientras que en la columna ldquo rdquo se reporta el nuacutemero de veces donde este caso fue inferior y la columna ldquo rdquo indica el nuacutemero de comparaciones donde las diferencias no fueron significativas Con base en estos resultados se puede observar que el caso 3 y caso 4 aportan con respecto al caso 1 mientras que el caso 2 no es robusto siendo en varios algoritmos inferior al caso 1 Adicionalmente se anexan resultados detallados para facilitar que otros investigadores puedan realizar comparativas con un mayor nivel de detalle 6

Modificacioacuten simultaacutenea de varios componentes Con base en los anaacutelisis realizados con anterioridad se propone una variante del operador sbx que incorpora las modificaciones propuestas en el Caso 3 y Caso 4 de forma simultaacutenea es decir se incorpora un cambio dinaacutemico tanto en el paraacutemetro como en el iacutendice de distribucioacuten Debido a los resultados de baja calidad del Caso 2 el paraacutemetro no se modifica de forma dinaacutemica Particularmente el Caso 5 se construye con base en el Algoritmo [algSBX_Operator] asignando el paraacutemetro a debido a que es la forma de la versioacuten estaacutendar del sbx mientras que es actualizado de acuerdo a la Ecuacioacuten ([eqnlinear]) y el paraacutemetro es actualizado como se indica en la Ecuacioacuten ([eqnindex_eta])

De acuerdo a la media del HV y del IGD+ que se obtuvieron en el Caso 5 (ver tablas [tabMetrics_2] y [tabMetrics_3]) es claro que integrar los Casos 3 y 4 proporciona

δ1

harr

δ2δ1

δ1 05δ2 ηc

httpsgithubcomjoelchaconcastilloSBX_CEC20186

beneficios importantes En el caso de dos objetivos se observa una ventaja significativa Sin embargo en el caso de tres objetivos los Casos 4 y 5 son muy similares con base en la media Ademaacutes al considerar tres objetivos los resultados que se obtuvieron en el Caso 5 son superiores a los obtenidos con de mientras que al considerar la versioacuten estaacutendar de sbx se observa un deterioro Por lo tanto si el operador sbx es configurado adecuadamente puede generar resultados similares o superiores que el algoritmo demo

Finalmente en la tabla [tabstatistical_Tests] se muestran los resultados de las pruebas estadiacutesticas Los beneficios obtenidos por el Caso 5 son muy claros De hecho uacutenicamente el Caso 4 obtuvo mejores resultados que el Caso 5 al considerar tres objetivos y al algoritmo NSGA-II Esto demuestra que se pueden obtener mejores resultados si se integran varias modificaciones dinaacutemicas de forma simultaacutenea Ademaacutes los resultados confirman las ventajas de la versioacuten dinaacutemica frente al caso estaacutendar (Caso 1) El uacutenico caso que no presenta ventajas importantes frente a la versioacuten estaacutendar del sbx es el Caso 2 el cual fue discutido con anterioridad

Conclusiones y trabajo futuro La convergencia prematura es una de las debilidades maacutes importantes de los eas Una de las formas de lidiar con este problema consiste en inducir un balanceo adecuado entre exploracioacuten e intensificacioacuten Sin embargo obtener este balanceo no es una tarea trivial debido a que cada problema de optimizacioacuten tiene caracteriacutesticas distintas y por ello han surgido numerosos esquemas para tratar esta problemaacutetica Con base en esto se han desarrollado varias taxonomiacuteas con el propoacutesito de clasificar las diferentes formas en que se puede preservar y promover la diversidad En este trabajo con el fin de ilustrar como se pueden realizar disentildeos de eas que tomen en cuenta el balanceo entre exploracioacuten e intensificacioacuten se presentan dos ejemplos De forma general las propuestas establecen un comportamiento dinaacutemico de alguacuten componente del ea teniendo en cuenta para ello el criterio de paro y el instante en que se encuentra la ejecucioacuten Asiacute se obtuvo un balanceo adecuado en el que en las primeras fases se promueve maacutes exploracioacuten y en las uacuteltimas se promueve maacutes la intensificacioacuten De modo maacutes especiacutefico en la primera propuesta se modifica evolucioacuten diferencial por medio de una nueva fase de reemplazo con el propoacutesito de conseguir este balanceo Ademaacutes esta contribucioacuten incorpora una poblacioacuten eacutelite con el propoacutesito de proporcionar soluciones de calidad tanto a mediano como a largo plazo Con base en la validacioacuten experimental llevada a cabo se observa que esta propuesta mejora a los mejores algoritmos que se habiacutean propuesto en una competicioacuten que consideroacute las funciones de prueba usadas en este capiacutetulo Posteriormente se presenta un anaacutelisis del operador de cruza sbx y se desarrolloacute una variante que modifica varios componentes de forma dinaacutemica

considerando tambieacuten el criterio de paro y las generaciones transcurridas Con base en los resultados obtenidos con problemas muy populares del aacutembito de optimizacioacuten multi-objetivo se muestra que usar el operador sbx modificado ofrece ventajas muy importantes en varios moeas y para diferentes indicadores De forma general se observa que obtener un balanceo apropiado entre exploracioacuten e intensificacioacuten es realmente importante y que esto se puede conseguir utilizando teacutecnicas radicalmente diferentes aunque siguiendo los mismos principios de disentildeo

El campo de disentildeo de eas es un campo muy activo y en el que hay muchas ideas auacuten por explorar Uno de los aspectos importantes es que las estrategias de control de diversidad ofrecen muchas ventajas a largo plazo pero se debe hacer el esfuerzo por conseguir que se pueda reducir el nuacutemero de evaluaciones requeridas para obtener resultados prometedores Otro aspecto importante es que en general la mayor parte de las estrategias de control de diversidad introduce nuevos paraacutemetros por lo que es importante combinar estos mecanismos con estrategias de control de paraacutemetros adaptativas o auto-adaptativas para facilitar su utilizacioacuten Finalmente para el caso especiacutefico del dsbx seriacutea interesante integrarlo con teacutecnicas de aprendizaje para lidiar con problemas con dependencias y mejorar asiacute auacuten maacutes el rendimiento de la propuesta

Para saber maacutes bull Para saber maacutes sobre la historia de los algoritmos evolutivos se sugiere consultar

bull Puede consultar informacioacuten sobre tipos de metaheuriacutesticas y disentildeo e implementacioacuten de las mismas en

bull Si desea consultar informacioacuten baacutesica sobre los fundamentos de los algoritmos evolutivos se sugiere consultar

bull Para profundizar maacutes en el toacutepico de manejo de diversidad exploracioacuten e intensificacioacuten se sugiere consultar

bull Se puede consultar material relacionado con operadores de cruza y algoritmos evolutivos multi-objetivo en

bull Para obtener maacutes informacioacuten relacionada al tema de evolucioacuten diferencial se sugiere consultar

bull Si desea consultar aplicaciones de algoritmos evolutivos multi-objetivo se puede consultar

Agradeciemientos Los autores agradecen el apoyo financiero proporcionado por CONACyT a traveacutes del proyecto no 285599

Hiper-heuriacutesticas en la Solucioacuten de Problemas de Optimizacioacuten

Hugo Terashima-Mariacuten Santiago Enrique Conant-Pablos Joseacute Carlos Ortiz-Bayliss e Ivaacuten Mauricio Amaya Contreras

terashimasconantjcobaylissiamaya2itesmmx Tecnologico de Monterrey Escuela de Ingenieriacutea y Ciencias

Campus Monterrey

Introduccioacuten Cuando nos enfrentamos a problemas complejos como aquellos del tipo NP o de optimizacioacuten combinatoria pueden presentarse dos escenarios diferentes En el primero estamos dispuestos a invertir todos los recursos disponibles para resolver de la mejor manera posible un problema particular Este escenario se caracteriza porque cada vez que un nuevo problema aparece se invierte una gran cantidad de recursos para obtener una solucioacuten a esa instancia dada En el segundo escenario estamos dispuestos a sacrificar algo de la calidad de la solucioacuten para economizar recursos Por lo tanto se utilizan meacutetodos geneacutericos y capaces de obtener soluciones aceptables mediante un uso racionado de los recursos En este caso el riesgo es que el meacutetodo geneacuterico no sea adecuado para el problema y que produzca una solucioacuten de mala calidad Estaacute claro que en promedio el primer escenario generaraacute mejores soluciones pero no es viable en la mayoriacutea de los problemas reales debido al alto consumo de recursos Las hiper-heuriacutesticas por otra parte son generalmente uacutetiles en el segundo escenario pues buscan proporcionar estrategias geneacutericas con buena calidad

Las hiper-heuriacutesticas son meacutetodos emergentes de buacutesqueda heuriacutestica que intentan producir un nivel maacutes alto de flexibilidad e independencia del dominio en que se aplican de tal forma que sean capaces de adaptarse a distintos tipos de problemas o a las distintas instancias de un mismo tipo Esto lo automatizan frecuentemente incorporando meacutetodos de aprendizaje automaacutetico y lo ejecutan a traveacutes de un proceso de seleccioacuten dinaacutemica de heuriacutesticas maacutes simples durante la solucioacuten de los problemas o bien mediante la generacioacuten de nuevas heuriacutesticas a partir de la combinacioacuten o adaptacioacuten de otras ya existentes (o de sus componentes) Actualmente hay diversos modelos de hiper-heuriacutesticas los cuales pueden clasificarse de acuerdo a las categoriacuteas propuestas por Esta clasificacioacuten divide a las hiper-heuriacutesticas seguacuten su forma de aprendizaje asiacute como seguacuten su mecanismo de obtencioacuten de las soluciones entre otros Aunque el teacutermino lsquohiper-heuriacutesticarsquo fue acuntildeado como tal en el 2001 hubieron esfuerzos previos con ideas similares Entre ellos cabe destacar a los portafolios (o seleccioacuten) de algoritmos y a la

configuracioacuten especiacutefica de algoritmos Desde entonces la actividad de investigacioacuten en hiper-heuriacutesticas ha avanzado y propagado en diversas instituciones en el mundo y ha sido tema de presentacioacuten y discusioacuten en diversas conferencias y revistas internacionales

Por otra parte y en lo que respecta a la investigacioacuten en hiper-heuriacutesticas en Meacutexico son pocos los investigadores e instituciones que se han vinculado a ella La mayor parte de la investigacioacuten realizada en el tema se concentroacute inicialmente en el Tecnoloacutegico de Monterrey donde se han desarrollado hiper-heuriacutesticas para corte y empacado satisfaccioacuten de restricciones y ruteo de vehiacuteculos El Tecnoloacutegico de Monterrey es tambieacuten pionero en el tema de la transformacioacuten de caracteriacutesticas y en hiper-heuriacutesticas para resolver problemas multi-objetivo Las hiper-heuriacutesticas desarrolladas en el Tecnoloacutegico de Monterrey se han fundamentado en diversas estrategias de aprendizaje que incluyen algoritmos geneacuteticos redes neuronales y programacioacuten geneacutetica entre otras Recientemente el Instituto Politeacutecnico Nacional (IPN) y el CINVESTAV han logrado importantes avances en lo relacionado a hiper-heuriacutesticas para problemas multi-objetivo y en el uso de hiper-heuriacutesticas basadas en evolucioacuten diferencial Como resultado de la colaboracioacuten del Tecnoloacutegico de Monterrey y el CINVESTAV en el 2017 comenzoacute a explorarse la transformacioacuten de caracteriacutesticas como mecanismo para mejorar el desempentildeo de hiper-heuriacutesticas El Instituto Tecnoloacutegico de Leoacuten y la Universidad de Guanajuato ha colaborado para desarrollar muacuteltiples trabajos sobre hiper-heuriacutesticas Los dominios de problemas que han abordado con hiper-heuriacutesticas incluyen calendarizacioacuten de eventos acadeacutemicos y ruteo de vehiacuteculos Adicionalmente la Universidad de Guanajuato ha incursionado en el uso de redes neuronales pre-entrenadas para acelerar el proceso de seleccioacuten de las heuriacutesticas ademaacutes de proponer una metodologiacutea para la adecuada seleccioacuten del conjunto de heuriacutesticas que debe estar disponible para una determinada hiper-heuriacutestica El Instituto Tecnoloacutegico de Ciudad Madero en colaboracioacuten con el Instituto Tecnoloacutegico de Leoacuten ha realizado importantes avances en la generacioacuten semiautomaacutetica de heuriacutesticas para el problema de empacado utilizando diversos meacutetodos como evolucioacuten diferencial y evolucioacuten gramatical

Este capiacutetulo estaacute encaminado a presentar el concepto de hiper-heuriacutesticas para entender sus caracteriacutesticas fundamentos modelos fortalezas y debilidades asiacute como algunas de sus aacutereas de aplicacioacuten El capiacutetulo integra en la Seccioacuten 2 los fundamentos de hiper-heuriacutesticas considerando principalmente los dos tipos aqueacutellas que seleccionan heuriacutesticas y aqueacutellas que generan nuevas heuriacutestica En la Seccioacuten 3 se presentan algunos modelos de hiper-heuriacutesticas algunos basados en esquemas evolutivos y otros basados en redes neuronales La Seccioacuten 4 presenta un ejemplo con la idea de mostrar paso a paso el proceso para generar hiper-heuriacutesticas en particular para el problema de particioacuten balanceada En la Seccioacuten 5 se discuten algunos aspectos avanzados sobre las hiper-heuriacutesticas como la solucioacuten de problemas multi-objetivo y la transformacioacuten de caracteriacutesticas En la Seccioacuten 6 se describe algunas tendencias futuras de hiper-heuriacutesticas

Algunos recursos disponibles relacionados con hiper-heuriacutesticas se presentan en la Seccioacuten 7 Finalmente en la Seccioacuten 8 se proporcionan las conclusiones

Fundamentos de las Hiper-heuriacutesticas Las hiper-heuriacutesticas trabajan sobre la idea de que es posible reutilizar los componentes de meacutetodos existentes ndashgeneralmente simples como son las heuriacutesticasndash para construir meacutetodos de buacutesqueda maacutes robustos y que se adapten a las condiciones del problema actual De esta forma se busca obtener soluciones que en la medida de lo posible y de acuerdo al tiempo disponible sean de buena calidad Ahora bien la forma de adaptacioacuten a los problemas da lugar a los dos grandes tipos de hiper-heuriacutesticas las que seleccionan heuriacutesticas y las que generan nuevas heuriacutesticas

Hiper-heuriacutesticas que seleccionan heuriacutesticas En este tipo de adaptacioacuten se busca cambiar la heuriacutestica usada para atacar la instancia del problema cambios que pueden ocurrir cada vez que el proceso requiere tomar una decisioacuten Por ejemplo en el caso del problema del vendedor viajero (TSP) se pretende encontrar el tour de miacutenimo costo para visitar todas y cada una de las ciudades de un conjunto dado Si se inicia con un tour vaciacuteo la toma de decisiones consiste en decidir la siguiente ciudad a visitar Mientras que con una heuriacutestica estariacuteamos a merced de una sola forma de decisioacuten (por ejemplo visitar la ciudad maacutes cercana o la maacutes lejana a la actual que todaviacutea no se haya visitado) con una hiper-heuriacutestica tenemos la flexibilidad para utilizar heuriacutesticas diferentes en cada toma de decisioacuten (por ejemplo iniciar con la maacutes cercana y luego tomar la maacutes lejana) De esta manera es comuacuten que una hiper-heuriacutestica utilice conjuntos y oacuterdenes de heuriacutesticas distintos para resolver diferentes instancias de un problema Desde esta perspectiva una hiper-heuriacutestica es el meacutetodo de alto nivel que controla coacutemo y cuaacutendo usar heuriacutesticas de bajo nivel

Hiper-heuriacutesticas que generan nuevas heuriacutesticas Este segundo tipo de adaptacioacuten busca combinar heuriacutesticas existentes (o sus componentes) en la generacioacuten de heuriacutesticas de alto nivel Por ejemplo asumiendo de nuevo el problema del vendedor viajero donde se construye la solucioacuten a partir de un tour vaciacuteo una heuriacutestica podriacutea decidir la nueva ciudad a agregar como aquella que minimice la distancia con respecto al eje coordenado a la uacuteltima ciudad visitada en el tour parcial actual Sin embargo otra heuriacutestica podriacutea seleccionar la ciudad basada en la distancia con respecto al eje coordenado La ciudad recomendada por ambas heuriacutesticas podriacutea ser la misma o una distinta Otra alternativa seriacutea combinar los criterios de ambas heuriacutesticas por ejemplo que se agregue la ciudad que minimice la funcioacuten Mediante esta sencilla funcioacuten es posible combinar los

dxx

dy y

f (x) = dx times dy

criterios de decisioacuten de cada heuriacutestica y formar una que se adapte a diferentes condiciones del problema De esta forma la hiper-heuriacutestica es un meacutetodo que genera nuevas heuriacutesticas

A continuacioacuten describiremos con maacutes detalle cada uno de estos tipos de hiper-heuriacutesticas

Hiper-heuriacutesticas que seleccionan heuriacutesticas La mayor parte de los trabajos realizados en Meacutexico se ha enfocado en este primer tipo de adaptacioacuten y por ello optamos por detallarlas maacutes Las hiper-heuriacutesticas de seleccioacuten como nos referiremos a ellas a partir de este momento estaacuten inspiradas en la idea de que existe un algoritmo maacutes adecuado para cada problema lo que en la literatura se conoce como el problema de la seleccioacuten de algoritmos En este sentido las hiper-heuriacutesticas de seleccioacuten exploran la forma en que diversas heuriacutesticas (u otros meacutetodos simples y raacutepidos de ejecutar) pueden combinarse para generar estrategias de solucioacuten robustas y con un buen desempentildeo general

En este punto cabe mencionar que las diferencias entre los portafolios de algoritmos la configuracioacuten especiacutefica de algoritmos y las hiper-heuriacutesticas de seleccioacuten son sutiles pero auacuten asiacute pueden apreciarse Por ejemplo tanto las hiper-heuriacutesticas como los portafolios de algoritmos deciden cuaacutel de los meacutetodos disponibles para resolver el problema debe utilizarse en un momento dado La diferencia principal es la naturaleza de los meacutetodos disponibles donde los portafolios de algoritmos trabajan usualmente con colecciones de meacutetodos de solucioacuten especializados para ciertos tipos de problemas mientras que las hiper-heuriacutesticas usualmente administran meacutetodos maacutes generales como son las heuriacutesticas La configuracioacuten especiacutefica de algoritmos (ISAC por sus siglas en ingleacutes) busca optimizar los paraacutemetros de los algoritmos para que se adapten a las caracteriacutesticas del problema que intentan resolver Si consideramos dos instancias de un mismo algoritmo con configuraciones distintas pueden considerarse como dos meacutetodos diferentes entonces ISAC es en esencia un portafolio de algoritmos

Como ya se mencionoacute una hiper-heuriacutestica de seleccioacuten decide en determinados momentos del proceso de solucioacuten queacute heuriacutestica debe utilizar A partir de este momento usaremos el teacutermino lsquopunto de decisioacutenrsquo para referirnos a esos momentos especiacuteficos durante la buacutesqueda cuando la hiper-heuriacutestica puede cambiar la heuriacutestica a utilizar Los puntos de decisioacuten pueden manejarse de muchas formas Por ejemplo podriacutea realizarse un cambio de heuriacutestica cada vez que una variable deba asignarse o soacutelo despueacutes de cierto nuacutemero de veces que deba asignarse o soacutelo si se cumple alguna condicioacuten particular Una forma muy comuacuten en la que se usan las hiper-heuriacutesticas lsquoperturbativasrsquo ndashaquellas que incrementalmente aplican modificaciones locales (movimientos) a soluciones completas (aproximaciones a la solucioacuten deseada) que representan los estados actuales de la buacutesquedandash es cambiar de heuriacutestica perturbativa uacutenicamente si la

calidad de la aproximacioacuten actual estaacute disminuyendo o si se ha mantenido estable por cierto tiempo

De forma muy general una hiper-heuriacutestica de seleccioacuten se comporta como se muestra en el Algoritmo [algGenericSelectionHH]

Como puede observarse en el Algoritmo [algGenericSelectionHH] la hiper-heuriacutestica tiene la capacidad de aplicar una heuriacutestica al problema para modificar su estado (buscando acercarlo a un estado meta o solucioacuten deseada) Ya que un problema especiacutefico de buacutesqueda depende del estado inicial de la misma si consideramos a la solucioacuten resultante de aplicacioacuten de la heuriacutestica actual al estado actual como el estado inicial del resto de la buacutesqueda estamos modificando el problema a resolver y este quizaacutes podriacutea ser resuelto de una mejor manera con una heuriacutestica distinta a la actual

La eleccioacuten de la heuriacutestica a utilizar en cada punto de decisioacuten depende completamente de la funcioacuten Selecciona la cual busca en el espacio de heuriacutesticas la maacutes adecuada de acuerdo al estado actual del problema Como puede inferirse del pseudocoacutedigo diferentes implementaciones de la funcioacuten Selecciona resultaraacuten en diferentes comportamientos de la hiper-heuriacutestica Por ejemplo una hiper-heuriacutestica completamente aleatoria implementariacutea la funcioacuten Selecciona como se muestra en el Algoritmo [algRandomSelect]

En el caso de una hiper-heuriacutestica aleatoria la rutina ignora por completo el estado del problema ya que no lo requiere para determinar queacute heuriacutestica utilizar Como es de esperarse el desempentildeo de una hiper-heuriacutestica aleatoria es en la mayoriacutea de los casos malo si el conjunto de heuriacutesticas simples contiene una o maacutes heuriacutesticas cuyo comportamiento es deficiente en los problemas a resolver

Otra posible idea para implementar una hiper-heuriacutestica es usar una secuencia predefinida de heuriacutesticas como estrategia de decisioacuten dentro de la funcioacuten Selecciona La idea detraacutes de esta hiper-heuriacutestica es que en algunos casos la relacioacuten entre heuriacutesticas depende de su encadenamiento (una secuencia ordenada de heuriacutesticas) Por ejemplo en un problema de empacado donde objetos de diferentes voluacutemenes deben ser empacados en un nuacutemero finito de contenedores de forma que se minimice el nuacutemero de contenedores utilizados podriacutea ser conveniente el utilizar una secuencia de heuriacutesticas donde despueacutes de empacar el objeto maacutes pequentildeo siempre se deba empacar el objeto maacutes grande Una hiper-heuriacutestica basada en secuencias predefinidas requiere conocer la secuencia especiacutefica de heuriacutesticas a aplicar y la uacuteltima heuriacutestica aplicada El Algoritmo [algSequenceHH] muestra una posible implementacioacuten de este tipo de hiper-heuriacutesticas

En caso de que una heuriacutestica deba aplicarse dos o maacutes veces seguidas esta deberaacute aparecer dos o maacutes veces en la secuencia predefinida de heuriacutesticas Debido a que la longitud de la secuencia de heuriacutesticas es mucho menor que el nuacutemero de puntos de decisioacuten en el problema hay que definir lo que se haraacute al llegar al final de la secuencia Una alternativa es que se vuelva a recorrer la misma secuencia desde la primera posicioacuten Otra opcioacuten es que al llegar al final de la secuencia desde ese momento se use soacutelo la uacuteltima heuriacutestica de la secuencia

Una tercera versioacuten de hiper-heuriacutestica (Algoritmo [algStateBasedHH]) representa la seleccioacuten inteligente del meacutetodo maacutes adecuado dadas las condiciones actuales del problema En esta versioacuten de hiper-heuriacutestica la funcioacuten Selecciona contiene un mapeo de situaciones en las que cada heuriacutestica deberiacutea ser utilizada

Como puede apreciarse en el Algoritmo [algStateBasedHH] la funcioacuten debe evaluar el estado actual del problema para determinar queacute heuriacutestica aplicar Hasta este momento no hemos proporcionado detalles sobre coacutemo se realiza la seleccioacuten de la heuriacutestica maacutes adecuada para un determinado estado del problema pero podemos adelantar que es el punto maacutes sensible del proceso

Entre los modelos maacutes utilizados para producir hiper-heuriacutesticas de seleccioacuten se encuentran los algoritmos geneacuteticos y las redes neuronales Maacutes adelante en este capiacutetulo se describiraacuten a detalle coacutemo funciona cada uno de estos modelos y coacutemo se implementan

Hiper-heuriacutesticas que generan nuevas heuriacutesticas Este segundo tipo de adaptacioacuten hace que las hiper-heuriacutesticas funcionen como generadores semi-automaacuteticos de heuriacutesticas De esta forma la combinacioacuten de componentes de decisioacuten se plasma en una funcioacuten que por siacute misma representa una nueva heuriacutestica En el contexto de heuriacutesticas perturbativas puede tratarse de la combinacioacuten de dos o maacutes operadores al mismo tiempo cada uno de ellos enfocados a modificar distintas secciones de la aproximacioacuten actual o bien a la aplicacioacuten en secuencia de dos o maacutes operadores perturbativos al estado actual de la buacutesqueda La situacioacuten es diferente para hiper-heuriacutesticas lsquoconstructivasrsquo ndashaquellas que gradualmente construyen la solucioacuten al problema generando soluciones parciales cada vez maacutes completas a partir de una solucioacuten inicialmente vaciacuteandash ya que en este caso las heuriacutesticas constructivas tienen la tarea de asignar un valor a cada elemento que puede integrarse a la solucioacuten de forma que se agregue el elemento que maximice (o minimice seguacuten sea el caso) dicho valor Por ejemplo si estamos utilizando un hiper-heuriacutestica constructiva para resolver una instancia del problema del agente viajero podemos considerar una heuriacutestica que agrega la ciudad con la menor distancia a la uacuteltima ciudad visitada en la solucioacuten parcial actual Para ello se debe calcular la distancia de cada una de las ciudades que todaviacutea no han sido visitadas a la

uacuteltima ciudad del tour parcial actual Luego de ello la heuriacutestica recomendaraacute agregar aquella con la menor distancia

De forma muy general una hiper-heuriacutestica de generacioacuten se comporta como se muestra en el Algoritmo [algGenericGenerationHH]

Por supuesto en este momento no se brindan detalles de coacutemo implementar la funcioacuten Genera que es la responsable de generar la heuriacutestica que se utilizaraacute para resolver el problema actual Entre los meacutetodos maacutes populares en la comunidad para implementar hiper-heuriacutesticas de generacioacuten se cuentan tanto programacioacuten geneacutetica como evolucioacuten diferencial

Modelos de Hiper-heuriacutesticas En esta seccioacuten se presentaraacuten las ideas generales detraacutes de las hiper-heuriacutesticas que se ha implementado de diversas formas y con apoyo de diferentes meta-heuriacutesticas o distintos modelos de aprendizaje automaacutetico

Modelos Evolutivos La computacioacuten evolutiva se ha utilizado tanto para construir hiper-heuriacutesticas de generacioacuten (mediante programacioacuten geneacutetica y evolucioacuten diferencial) como para construir hiper-heuriacutesticas de seleccioacuten (mediante algoritmos geneacuteticos y estrategias evolutivas) A continuacioacuten describiremos coacutemo se han implementado algunos casos de eacutexito de hiper-heuriacutesticas mediante computacioacuten evolutiva

Hiper-Heuriacutesticas basadas en Algoritmos Geneacuteticos

Los modelos evolutivos generan reglas que relacionan puntos especiacuteficos del espacio de caracteriacutesticas del problema con una heuriacutestica especiacutefica que ha demostrado ser uacutetil ante instancias con caracteriacutesticas similares Estas reglas pueden obtenerse de diversas formas ndashincluso pueden ser definidas por el usuario Sin embargo los algoritmos geneacuteticos han resultado muy uacutetiles para esta tarea y por esta razoacuten su uso seraacute detallado a continuacioacuten

El algoritmo geneacutetico mantiene una poblacioacuten de individuos de longitud variable que representan hiper-heuriacutesticas en potencia Durante cada generacioacuten estos individuos son combinados y mutados con la finalidad de mejorar la calidad de la poblacioacuten Seguacuten sea el caso los operadores geneacuteticos pueden o no ser adaptados para el problema Por ejemplo como el nuacutemero de reglas en las hiper-heuriacutesticas es variable los individuos en la poblacioacuten tambieacuten tienen una longitud

larr

variable Es necesario entonces adaptar el operador de cruza para que produzca soacutelo individuos vaacutelidos La funcioacuten objetivo contiene un conjunto de instancias a resolver El desempentildeo de cada individuo en dicho conjunto se convierte en su aptitud Con el paso de las generaciones se espera que los individuos que mejor resuelvan el conjunto de entrenamiento sean favorecidos por el proceso geneacutetico El mejor individuo de la uacuteltima generacioacuten es seleccionado como la hiper-heuriacutestica resultante del proceso evolutivo

Los modelos hiper-heuriacutesticos basados en algoritmos geneacuteticos fueron unas de las primeras opciones que se consideraron para generar heuriacutesticas El primer trabajo que utilizoacute un algoritmo geneacutetico para la exploracioacuten del espacio de heuriacutesticas en problemas de calendarizacioacuten fue publicado en 1994 antildeos antes de que el teacutermino hiper-heuriacutestica fuera utilizado por primera vez Pocos antildeos maacutes tarde esta idea fue retomada en y A la fecha gran parte de los trabajos relacionados con hiper-heuriacutesticas utilizan alguna forma de computacioacuten evolutiva como parte del mecanismo de generacioacuten y ajuste de las hiper-heuriacutesticas

Hiper-Heuriacutesticas basadas en Programacioacuten Geneacutetica

Las hiper-heuriacutesticas basadas en programacioacuten geneacutetica tienen la capacidad de combinar los componentes de heuriacutesticas existentes para construir nuevas heuriacutesticas que funcionen adecuadamente ante diversos grupos de instancias del problema La inclusioacuten de una gramaacutetica tipo BNF en este proceso es una tendencia reciente Un problema de satisfaccioacuten de restricciones (CSP) se define como un conjunto de variables asociado a un conjunto de dominios de valores ( ) y a un conjunto de restricciones entre las variables El objetivo es una asignacioacuten completa y consistente de valores a variables de la manera que se cumplan todas las restricciones Los CSPs han sido aplicados para el modelado y solucioacuten de problemas en diversos dominios Aquiacute describimos una plataforma basada en gramaacuteticas para generar automaacuteticamente nuevas heuriacutesticas de seleccioacuten de variables para CSPs El espacio de posibilidades se define generando oraciones vaacutelidas de acuerdo a la gramaacutetica que se utiliza

Un enfoque inicial en este sentido es el presentado en el trabajo de Ortiz-Bayliss et al que provee la evidencia de que es posible delegar al menos para ciertas tareas la generacioacuten de heuriacutesticas a un proceso automaacutetico En el trabajo se usan caracteriacutesticas provenientes de las heuriacutesticas previamente disentildeadas y se utiliza programacioacuten geneacutetica para combinar esos atributos y generar nuevas heuriacutesticas La idea es encapsular el conocimiento del experto humano de diversas formas para obtener mejores soluciones Dado que en la gramaacutetica hay que definir un conjunto de funciones y un conjunto de terminales las funciones utilizadas en esta investigacioacuten incluyen suma (+) resta (-) multiplicacioacuten () y divisioacuten protegida () (si el divisor es cero no se ejecutar la operacioacuten y el resultado es 1) Con este conjunto simple de operadores es

XD

suficiente para generar heuriacutesticas competitivas La definicioacuten de la gramaacutetica se puede observar en la Figura [figGrammar]

ltSgt ltEgt ltEgt ltOpgt ltFgt ltOpgt ltOpgt ( ltEgt ) | ltTgt ltFgt + | - | | ltTgt | | | |

En un esfuerzo maacutes avanzado en este respecto el modelo presentado en presenta una gramaacutetica que contiene elementos maacutes sofisticados como el estatuto if-then-else operadores aritmeacuteticos y loacutegicos lo que permite generar mayor cantidad de posibilidades de combinacioacuten ademaacutes de funciones sobrecargadas capaces de manejar diversas dimensionalidades de entrada lo que provee mayor flexibilidad y un mayor espacio de soluciones En este trabajo se usaron tres diferentes estrategias para evolucionar las heuriacutesticas programacioacuten geneacutetica (GP) buacutesqueda local iterada (ILS) y buacutesqueda de alpinista en paralelo (PHC) En los experimentos se usaron tanto instancias sinteacuteticas como reales para comparar el rendimiento entre las heuriacutesticas generadas y las del estado del arte disentildeadas por el humano El estudio considera varios asuntos como la composicioacuten del conjunto de entrenamiento hacia la generalidad de las heuriacutesticas y su rendimiento sobre instancias no vistas Tambieacuten se considera la evolucioacuten de heuriacutesticas sobre instancias pequentildeas capaces de generalizar sobre instancias maacutes grandes y no vistas y sobre otras instancias del mundo real La Figura 1 muestra un ejemplo de heuriacutestica generada por programacioacuten geneacutetica

Ejemplo de heuriacutestica generada automaacuteticamente por un proceso de Programacioacuten Geneacutetica para el problema de CSP

rarr rarr rarr rarr rarr deg(x)con f licts(x) dom(x) κ (x) r

variableFromVariableValue

smallest

If-VariablesValues1

greaterOrEqualThan minus minus

largest smallest

plus

mxi bdeg

conflicts

bbz log2

division

fdeg fbz

minus conflicts

multiplication plus

bbz pxi

Modelos Neuronales A diferencia de los modelos evolutivos que generan reglas que mapean caracteriacutesticas del problema a heuriacutesticas especiacuteficas las hiper-heuriacutesticas basadas en modelos neuronales aprenden las relaciones existentes entre caracteriacutesticas y heuriacutesticas a partir de casos de ejemplo De esta manera los modelos de hiper-heuriacutesticas basados en redes neuronales requieren un conjunto de entrenamiento donde se contengan las relaciones a aprender De manera general la hiper-heuriacutestica contiene una red neuronal que aprende a clasificar instancias seguacuten sus caracteriacutesticas La clase a la que pertenece la instancia representa la heuriacutestica a utilizar en un momento particular de la buacutesqueda

Probablemente uno de los primeros trabajos que exploraron el uso de redes neuronales para la seleccioacuten de heuriacutesticas fue el presentado por Moriarty en donde se presentoacute el modelo SANE (Symbiotic Adaptive Neuro-Evolution) para encontrar redes neuronales que representaban heuriacutesticas para el ordenamiento de valor en problemas de satisfaccioacuten de restricciones Antildeos maacutes tarde Corr propuso utilizar redes neuronales como selectores de heuriacutesticas constructivas para el problema de la calendarizacioacuten de exaacutemenes No fue sino hasta el 2009 que se publicoacute el primer trabajo de redes neuronales que expliacutecitamente mencionaba el teacutermino lsquohiper-heuriacutesticarsquo En dicho trabajo Ortiz-Bayliss et al retomaron la idea de usar redes neuronales como selectores de heuriacutesticas constructivas pero esta vez aplicado al problema de satisfaccioacuten de restricciones y con una red neuronal con aprendizaje mediante retro-propagacioacuten

Los modelos neuronales tambieacuten se han usado dentro de las hiper-heuriacutesticas para agilizar el entrenamiento Por ejemplo Li et al utilizaron una red neuronal para estimar el costo de una funcioacuten objetivo de forma que se minimizara el nuacutemero de evaluaciones reales durante el proceso de entrenamiento de la hiper-heuriacutestica

En cuanto a la arquitectura de la red neuronal se han utilizado diferentes opciones Una parte significativa de los trabajos ha utilizado el perceptroacuten multicapa Algunos otros trabajos han optado por arquitecturas maacutes especiacuteficas a ciertos problemas como son los mapas auto-organizados y redes neuronales con retraso temporal En algunas ocasiones se ha explorado la idea de combinar redes neuronales con algoritmos geneacuteticos para ajustar la topologiacutea de la red y maximizar el desempentildeo de las hiper-heuriacutesticas

Un ejemplo A continuacioacuten presentamos un breve ejemplo donde mostramos la forma en la que las hiper-heuriacutesticas pueden ser de utilidad y el proceso para aplicarlas

El problema Para este ejemplo tomaremos el problema de particioacuten balanceada (Balanced Partition) que consiste en encontrar la distribucioacuten de elementos que minimiza a donde es el iacutendice de calidad dado por la ecuacioacuten [equBPExampleFitness] y donde representa el elemento del subconjunto y es el nuacutemero de elementos en el subconjunto Asiacute el miacutenimo de corresponde al valor oacuteptimo de la separacioacuten

Las alternativas Para atacar este sencillo problema podemos considerar un enfoque constructivo a traveacutes de dos heuriacutesticas muy simples seleccionar el elemento de carga maacutexima (MAX) o miacutenima (MIN) Partiremos de una solucioacuten vaciacutea al considerar que nuestra solucioacuten es el subconjunto 2 (por tanto toda la carga seraacute asignada al subconjunto 1) por lo que la solucioacuten se construiraacute al escoger los elementos que deben moverse al subconjunto 2 para balancear la carga de todo el sistema Adicionalmente nuestra solucioacuten estaraacute completa cuando el subconjunto 2 represente a la mitad o maacutes de la carga total de la instancia del problema pues nuestras heuriacutesticas no permiten retornar elementos

Es importante resaltar que estas heuriacutesticas no son necesariamente buenas ni malas pues dependen mucho de la instancia del problema en la que se apliquen Consideremos por ejemplo un comportamiento como el de la Tabla [TableBaseInstancesBig] donde observamos que la heuriacutestica MAX se desempentildeoacute ligeramente mejor que la heuriacutestica MIN Esto se debe a que en algunas instancias la heuriacutestica MAX se desempentildeoacute mucho mejor que la heuriacutestica MIN (por ejemplo en las instancias 7 y 10) y viceversa (por ejemplo en las instancias 3 y 9) Es precisamente esta diferencia en desempentildeo lo que motivoacute la idea de las hiper-heuriacutesticas y donde se evidencia su eventual beneficio De hecho la Tabla [TableBaseInstancesBig] incluye una columna con el desempentildeo de una hiper-heuriacutestica simple (que detallaremos maacutes adelante) donde se puede observar que es mucho mejor que sus contrincantes

Q Qitemy

x xy Ny y Q

Q =N1

sumi=1

item1i minus

N2

sumj=1

item2j

Desempentildeo de las heuriacutesticas (y de una hiper-heuriacutestica) sobre 10 instancias de mayor extensioacuten

La informacioacuten del problema Ya conocemos el tipo de problema a resolver y las opciones que tenemos para hacerlo Ahora bien requerimos tambieacuten alguna manera de obtener informacioacuten de cada instancia en particular para asiacute poder analizarla y determinar queacute alternativa tomar (MAX o MIN) Para ello debemos definir al menos una caracteriacutestica del problema relacionada principalmente a las condiciones actuales de la instancia (de manera que se actualice a medida que progresa la solucioacuten) En este ejemplo utilizaremos la relacioacuten entre la carga actual del subconjunto 2 y la carga maacutexima como se muestra en la ecuacioacuten [equBPExampleFeature] Con esto ya tenemos todo lo necesario para empezar a crear nuestras hiper-heuriacutesticas

Instancia

1 11 9 7

2 2 8 6

3 1 13 3

4 2 0 0

5 3 5 13

6 1 9 3

7 3 1 13

8 9 3 9

9 9 11 3

10 5 1 11

Total 46 60 68

Promedio 46 6 68

QMINQHH QMAX

sumN2j=1 item2

j

sumN1i=1 item1

i + sumN2j=1 item2

jisin [0 1]

Nuestra primer hiper-heuriacutestica Nuestro objetivo con la hiper-heuriacutestica seraacute el de tratar de dar un orden loacutegico al proceso Asiacute buscaremos pasar los elementos maacutes grandes al inicio de la solucioacuten (es decir cuando el subconjunto estaacute vaciacuteo) para luego refinarla con elementos maacutes pequentildeos (para ajustar las pequentildeas diferencias) Por tanto podemos crear una hiper-heuriacutestica de dos reglas como se muestra en la Figura 2 En la parte derecha de la figura podemos observar la zona de influencia de cada regla Asiacute siempre que el valor de la caracteriacutestica (definida en la ecuacioacuten [equBPExampleFeature]) sea inferior a 025 se usaraacute la heuriacutestica MAX para seleccionar el siguiente elemento Pero si es superior se usaraacute la heuriacutestica MIN

Primer modelo de hiper-heuriacutestica con dos reglas y una sola caracteriacutestica (izquierda) Zona de influencia de cada regla (derecha)

Primer modelo de hiper-heuriacutestica con dos reglas y una sola caracteriacutestica (izquierda) Zona de influencia de cada regla (derecha)

En este punto es bueno recordar la columna que traiacuteamos pendiente de la Tabla [TableBaseInstancesBig] Es justamente esta hiper-heuriacutestica la que se usoacute para obtener los desempentildeos alliacute mostrados donde una vez maacutes se observa que supera a las heuriacutesticas simples Sin embargo es importante resaltar que no todo es perfecto En algunos casos por ejemplo en la instancia 1 la hiper-heuriacutestica generoacute una solucioacuten peor que cualquiera de las dos heuriacutesticas Es maacutes en casos como el de la instancia 4 fue la uacutenica que no logroacute generar un balanceo perfecto de la carga Esto se debe principalmente a la simplicidad de nuestra hiper-heuriacutestica pues solamente cuenta con dos reglas y con una sola caracteriacutestica Con ello se llega a que el espacio de caracteriacutesticas se divida en regiones simples como la mostrada en la parte derecha de la Figura 2 Por otra parte el desempentildeo de la hiper-heuriacutestica que estamos usando se encuentra limitado por su proceso de entrenamiento pues los valores fueron asignados manualmente y con base en lo que estimamos como mejor

Otras hiper-heuriacutesticas Revisemos ahora coacutemo puede afectar el proceso de entrenamiento al desempentildeo de esta hiper-heuriacutestica en particular Consideremos por ejemplo las hiper-heuriacutesticas mostradas en la Figura 3 La primera de ellas corresponde a nuestro modelo original (el que hemos venido usando) Las otras dos tienen una estructura similar pero el punto de corte de sus regiones de influencia se encuentra en 015 y 035 respectivamente Como se muestra en la Tabla [TableHHsComparison] el hecho de usar un enfoque maacutes agresivo (es decir HH3) sobre este conjunto de instancias resulta en un beneficio pues se obtiene un valor de que en Q

promedio es casi dos unidades menor al alcanzado con la hiper-heuriacutestica original (HH) Asimismo el otro enfoque empeoroacute el resultado respecto al logrado con HH Sin embargo incluso asiacute el resultado logrado es mejor que el obtenido por las heuriacutesticas independientes

Tres configuraciones diferentes de hiper-heuriacutesticas

Tres configuraciones diferentes de hiper-heuriacutesticas

Desempentildeo de dos heuriacutesticas simples y de tres modelos de hiper-heuriacutesticas sobre un conjunto de 10 instancias

Las hiper-heuriacutesticas como un problema de optimizacioacuten Las hiper-heuriacutesticas mostradas han sido entrenadas lsquoa manorsquo definiendo ciertos valores criacuteticos seguacuten nuestro criterio y conocimiento del problema Sin embargo el proceso se puede automatizar si se plantea como un problema de optimizacioacuten Para ello podemos definir la funcioacuten objetivo como el desempentildeo de la hiper-heuriacutestica Esto se muestra en la ecuacioacuten [equBPObjFunction] donde es el nuacutemero de instancias de entrenamiento y es el nivel de calidad dado por la hiper-heuriacutestica en la instancia Como se puede observar el proceso

Instancia

1 11 9 7 11 1

2 2 8 6 10 2

3 1 13 3 5 1

4 2 0 0 4 0

5 3 5 13 3 7

6 1 9 3 3 1

7 3 1 13 5 3

8 9 3 9 5 9

9 9 11 3 5 3

10 5 1 11 5 1

Total 46 60 68 56 28

Promedio 46 6 68 56 28

QMINQMAX QHH3QHH QHH2

Ni Qjj

de optimizacioacuten implica probar cada hiper-heuriacutestica candidata sobre el conjunto de entrenamiento Observemos tambieacuten que en el caso maacutes simple se cuenta con cuatro variables de disentildeo pero si aumentamos el nuacutemero de caracteriacutesticas a por ejemplo tres el nuacutemero de incoacutegnitas se duplica Si en este punto agregamos un par de reglas maacutes (para crear regiones de accioacuten maacutes complejas) el total de variables se duplica una vez maacutes llegando a 16 Asiacute el uso de teacutecnicas de optimizacioacuten claacutesicas como Newton-Rapshon o Descenso empinado queda descartado para la mayoriacutea de problemas praacutecticos (debido a que se requiere un punto de inicio cerca de la solucioacuten y a que quedan atrapados en oacuteptimos locales)

Sin embargo existe otra alternativa las metaheuriacutesticas Para evitar desviar la atencioacuten del lector omitiremos los detalles relacionados con el optimizador y nos centraremos en el proceso de entrenamiento

Vamos a imaginar que tenemos una herramienta capaz de construir una solucioacuten mejorada del problema usando como base una solucioacuten existente que no es necesariamente buena Imaginemos tambieacuten que dicha solucioacuten corresponde a una hiper-heuriacutestica Por tanto podemos definir una solucioacuten (eg una hiper-heuriacutestica) candidata inicial (generada de forma aleatoria) y utilizar dicha herramienta para crear una refinada Para determinar la ganancia dada por nuestra herramienta basta con evaluar ambas soluciones (tanto la aleatoria como la refinada) en la ecuacioacuten [equBPObjFunction] y comparar los resultados Luego de esto podemos tomar la solucioacuten refinada como base y usar nuestra herramienta para crear una mejorada Es justamente este proceso iterativo lo que nos permite operar sobre la solucioacuten aleatoria hasta lograr un resultado con la calidad deseada A manera de ejemplo consideremos un conjunto de 30 instancias aleatorias del problema de particioacuten balanceada (las cuales no se muestran por motivos de espacio) Si generamos 10 soluciones aleatorias (como las descritas anteriormente) obtendremos hiper-heuriacutesticas con desempentildeos buenos y malos como se muestra en la Figura 4 (iteracioacuten 1) Sin embargo podemos usar nuestra herramienta de optimizacioacuten sobre cada una de estas hiper-heuriacutesticas para generar unas mejoradas (iteracioacuten 2) Es maacutes podemos continuar iterativamente y luego de 15 iteraciones tendremos hiper-heuriacutesticas cuyo desempentildeo es bueno y muy similar (iteracioacuten 16) Note que por la naturaleza estocaacutestica de nuestra herramienta en ocasiones el desempentildeo mejora muy raacutepidamente pero en otros casos tarda varias iteraciones en mejorar Ademaacutes tengamos en cuenta que muchas metaheuriacutesticas trabajan de forma poblacional es decir evaluacutean y mejoran muacuteltiples soluciones al mismo tiempo con el aacutenimo de encontrar una uacutenica que sea lo suficientemente buena Sin embargo hemos omitido este tipo de

Fobj(FT A) =sumNi

j=1 Qj

Ni FT = [F1 F2 F3 FNF] and Qj = Qj(FT A)

detalles en la graacutefica para evitar complicar nuestro anaacutelisis y para facilitar la comprensioacuten por parte del lector

Ejemplo de entrenamiento de hiper-heuriacutesticas usando metaheuriacutesticas La iteracioacuten 1 representa el resultado luego de generar la poblacioacuten inicial Los datos mostrados corresponden a 10 reacuteplicas sobre 30 problemas generados de forma aleatoria con 100 elementos y una carga maacutexima de 100 por elemento

Ejemplo de entrenamiento de hiper-heuriacutesticas usando metaheuriacutesticas La iteracioacuten 1 representa el resultado luego de generar la poblacioacuten inicial Los datos mostrados corresponden a 10 reacuteplicas sobre 30 problemas generados de forma aleatoria con 100 elementos y una carga maacutexima de 100 por elemento

Aspectos Avanzados de las Hiper-heuriacutesticas En esta seccioacuten se abordan algunos temas avanzados de las hiper-heuriacutesticas como son sus aplicaciones en problemas multi-objetivo y a la ciencia de datos los modelos hiacutebridos y algunas tendencias futuras del aacuterea

Hiacuteper-heuriacutesticas para Problemas Multi-objetivo Muchos trabajos en la literatura relacionados con hiper-heuriacutesticas para solucionar problemas de optimizacioacuten consideran solamente un objetivo que guiacutea la buacutesqueda de soluciones Sin embargo es natural pensar que en estos problemas existen varios objetivos en conflicto y que la idea es optimizarlos al mismo tiempo

Esto debe plantearse como un problema multi-objetivo y por lo tanto la buacutesqueda de soluciones se debe hacer con un esquema adecuado que facilite ese proceso Para resolver un problema con esa perspectiva es importante definir el problema sus objetivos y el disentildeo del algoritmo que genere la solucioacuten esperada aunque en realidad lo que un algoritmo de este tipo produce es una serie de soluciones que corresponden a los mejores compromisos posibles entre los objetivos en conflicto A estas soluciones se les denomina conjunto de oacuteptimos de Pareto y sus valores correspondientes de las funciones objetivo conforman el denominado frente de Pareto Para ejemplificar este tema usaremos un problema de corte y empacado en dos dimensiones donde se quiere empacar pequentildeas figuras de diferentes tipos y formas en hojas de material rectangulares Lo que se requiere es minimizar el nuacutemero de hojas de materia prima pero al mismo tiempo minimizar tambieacuten el tiempo en que se ejecuta el proceso Estos son claramente dos objetivos que se contraponen por un lado se pueden poner las piezas muy raacutepidamente pero esto no seraacute efectivo en cuanto al nuacutemero de hojas de material y por el otro lado si queremos reducir el

nuacutemero de hojas de material quizaacute requiera maacutes tiempo para terminar el proceso En se usoacute un modelo evolutivo simplificado para representar el estado del problema donde el cromosoma representa un conjunto de puntos en el espacio y cada punto es etiquetado con una heuriacutestica Bajo este esquema el modelo representa una receta para resolver el problema que se puede describir como (a) determinar el estado actual del problema (b) encontrar el punto maacutes cercano a eacutel (c) aplicar la heuriacutestica anexa al punto (d) actualizar el estado Usamos esas ideas y en combinacioacuten con un algoritmo evolutivo multi-objetivo (AEMO) (NSGA-II SPEA2 GDE3) se busca encontrar el conjunto de cromosomas en el frente de Pareto que son capaces de encontrar soluciones a una amplia variedad de problemas tomando en cuenta los dos objetivos El conjunto contiene las hiper-heuriacutesticas que se estaacuten buscando

En la Figura 5 se muestra el esquema utilizado para resolver problemas multi-objetivo para el problema de corte y empacado

Modelo general multi-objetivo mostrando las fases de entrenamiento y prueba

Modelo general multi-objetivo mostrando las fases de entrenamiento y prueba

En la determinacioacuten del estado actual del problema es importante caracterizarlo Para este caso fueron seleccionadas 10 caracteriacutesticas de un conjunto mayor y que son las siguientes

1 Nuacutemero de piezas restantes por empacar

2 Aacuterea promedio de las piezas restantes

3 Varianza en el aacuterea de las piezas restantes

4 Media de la rectangularidad de las piezas restantes

5 Varianza en la rectangularidad de las piezas restantes

6 Media de la altura de las piezas restantes

7 Varianza en el ancho de las piezas restantes

8 Fraccioacuten de las piezas restantes cuya aacuterea es mayor a del aacuterea del objeto

9 Media del grado de concavidad de las piezas restantes

10 Fraccioacuten del total de las piezas restantes

E

S

S

E

12

En la plataforma propuesta para encontrar el conjunto S de mejores hiper-heuriacutesticas en el frente de Pareto se divide el conjunto de instancias en dos tipos entrenamiento y prueba El modelo evolucionaba poblaciones de hiper-heuriacutesticas tomando en cuenta el AEMO La fase de entrenamiento inicia con la generacioacuten de hiper-heuriacutesticas en forma aleatoria para el AEMO Este algoritmos evoluciona la poblacioacuten de acuerdo a su propia metodologiacutea y aplica operadores geneacuteticos para generar nuevas poblaciones considerando el conjunto de entrenamiento para evaluar su rendimiento

Una vez que las mejores hiper-heuriacutesticas se tienen se prueban entonces con las instancias de prueba para comparar los modelos multi-objetivo entre ellos y con respecto a las heuriacutesticas simples adaptadas para el problema usando diferentes meacutetricas

Los resultados obtenidos indican que los modelos eHH-MO son adecuados para construir un conjunto de reglas que permiten resolver el problema bi-objetivo de diversas maneras Los resultados de los modelos eHH-MO han sido comparados contra los obtenidos con las heuriacutesticas simples bajo una serie de experimentos usando tres diferentes meacutetricas como son la distancia generacional (GD) el hipervolumen (HV) y D (dispersioacuten y distribucioacuten) Desde diferentes perspectivas los modelos multi-objetivo superan claramente a los modelos de heuriacutesticas simples Los detalles de la serie de experimentos realizados y su discusioacuten general pueden consultarse en

Transformacioacuten de Caracteriacutesticas en Hiper-heuriacutesticas Una teacutecnica que se ha implementado recientemente se enfoca en el uso de transformaciones matemaacuteticas para mejorar el desempentildeo del modelo de seleccioacuten Al trabajar con una heuriacutestica de seleccioacuten las caracteriacutesticas juegan un papel preponderante en la eficiencia del proceso pues el selector representa una matriz de puntos clave en el espacio de caracteriacutesticas Ademaacutes debemos tener presente que cada problema de optimizacioacuten es diferente por lo que los puntos criacuteticos de una caracteriacutestica difiacutecilmente corresponderaacuten con los de otra Asiacute se inicioacute un proceso para identificar la forma en la que se pudiera establecer una transformacioacuten adecuada a cada problema particular Como resultado se encontroacute que el problema principal que puede resolver la transformacioacuten es el mostrado en la Figura 6 Alliacute se muestra la ubicacioacuten ideal de cuatro reglas (marcadores redondos) y su distancia al estado actual del problema (cuadro blanco) Dos de estas reglas tienen posiciones muy similares (la roja y la azul) por lo que el desempentildeo del selector se torna muy sensible a pequentildeos errores en la ubicacioacuten real de dichas reglas

Sensibilidad de hiper-heuriacutesticas a errores en los valores del selector y su solucioacuten a traveacutes de transformacioacuten de caracteriacutesticas Izquierda Ubicacioacuten ideal de las reglas en el espacio original Derecha Ubicacioacuten ideal de las reglas en el espacio transformado

La Figura 6 tambieacuten muestra la forma como se puede solucionar este problema con la transformacioacuten de caracteriacutesticas La idea es transformar el espacio de cada caracteriacutestica del problema de tal forma que las regiones en conflicto se expandan y las relativamente irrelevantes se compriman Para el ejemplo de la figura esto implica tener mayor resolucioacuten en el espacio cercano a las reglas azul y roja lo que permite un mayor margen de maniobra y por tanto reduce la sensibilidad de la hiper-heuriacutestica De forma similar la zona que pertenece a las dos reglas verdes se comprime Dado que se trata de reglas que ejecutan la misma accioacuten su regioacuten de influencia combinada no seraacute tan sensible a pequentildeos errores de ubicacioacuten Consideremos ahora los casos mostrados en la Figura 7 En la izquierda se muestran dos selectores (uno con dos reglas y otro con cuatro) ambos con dos acciones disponibles roja y azul Al hacer una transformacioacuten de caracteriacutesticas podemos ampliar zonas en conflicto (como ya se mencionoacute arriba) lo que representa una distribucioacuten de las reglas la cual puede incluso modificar la apariencia de las zonas de influencia de cada selector Para nuestro ejemplo dicha transformacioacuten se ve en las imaacutegenes del centro donde la apariencia ha sido parcialmente preservada pero donde se da mayor enfoque a las zonas conflictivas Claro estaacute este proceso no puede ser arbitrario pues podemos tambieacuten generar transformaciones poco uacutetiles como las de la derecha de la figura donde hemos perdido la mayoriacutea de la informacioacuten acerca de las zonas conflictivas por lo que seguramente tendremos un bajo desempentildeo de la hiper-heuriacutestica Detalles de esta investigacioacuten puden ser revisados en

Ejemplo de la forma como la transformacioacuten de caracteriacutesticas puede afectar la apariencia de las zonas de influencia de un selector Izquierda Forma original Centro Transformacioacuten uacutetil que ampliacutea las zonas en conflicto Derecha Transformacioacuten poco uacutetil que destruye informacioacuten sobre las zonas en conflicto

Tendencias Futuras de Hiper-heuriacutesticas Los sistemas inteligentes hiacutebridos son sistemas de software que emplean en paralelo una combinacioacuten de meacutetodos y teacutecnicas de sub-campos de la Inteligencia Artificial La hibridacioacuten de los sistemas inteligentes es un campo de investigacioacuten prometedora de la Inteligencia Computacional moderna para el desarrollo de la proacutexima generacioacuten de sistemas inteligentes Comunidades cientiacuteficas y acadeacutemicas estaacuten cada vez maacutes conscientes de que enfoques combinados podriacutean ser necesarios si se quiere seguir resolviendo los problemas difiacuteciles de la Inteligencia Artificial La integracioacuten de distintas teacutecnicas inteligentes y su adaptacioacuten para superar las limitaciones de los meacutetodos individuales y lograr efectos sineacutergicos a traveacutes de la hibridacioacuten o fusioacuten de estas teacutecnicas ha contribuido a una variedad de nuevos disentildeos dentro del campo de la optimizacioacuten Sin embargo la mayoriacutea de estos enfoques de hibridacioacuten siguen un disentildeo metodoloacutegico ad-hoc que se justifica por el eacutexito en ciertos dominios de aplicacioacuten No obstante se requiere de metodologiacuteas maacutes robustas para la construccioacuten de los sistemas hiacutebridos requeridos para resolver problemas contemporaacuteneos y futuros cada vez maacutes complejos y maacutes grandes

Las hiper-heuriacutesticas como teacutecnicas de buacutesqueda que tratan de automatizar el proceso de generacioacuten seleccioacuten y combinacioacuten de otras heuriacutesticas son un excelente vehiacuteculo para la construccioacuten de sistemas inteligentes hiacutebridos avanzados Recientemente han aparecido los primeros trabajos que proponen formas muy simples y limitadas de combinacioacuten de hiper-

heuriacutesticas Se requiere de estudios maacutes profundos y serios que combinen generacioacuten con seleccioacuten asiacute como estrategias constructivas con perturbativas en formas maacutes elaboradas que mejoren los resultados obtenidos

El desafiacuteo de la hibridacioacuten hiper-heuriacutestica es enorme y complejo Reside primeramente en el modelado de los problemas y de las soluciones (parciales o aproximadas) de forma que a partir de descripciones parameacutetricas o no parameacutetricas el meacutetodo hiacutebrido pueda ir decidiendo la combinacioacuten de meacutetodos heuriacutesticos que iraacute utilizando para guiar la buacutesqueda de la solucioacuten Parte importante del desafiacuteo tambieacuten es la seleccioacuten inteligente de las heuriacutesticas especiacuteficas a los dominios de los problemas las meta-heuriacutesticas y las hiper-heuriacutesticas que formaraacuten el meacutetodo hiacutebrido Otro elemento de complejidad es que cada teacutecnica heuriacutestica incluye paraacutemetros que deben ser ajustados adecuadamente para que trabajen de forma correcta y eso podriacutea ser requerido durante la ejecucioacuten del meacutetodo Finalmente como se quieren meacutetodos hiacutebridos que maximicen su desempentildeo tambieacuten se deberaacuten seleccionar o disentildear las meacutetricas para medir la efectividad y eficiencia de los algoritmos utilizados

Son demasiadas posibilidades las que hay que considerar y demasiada informacioacuten relacionada tanto con las instancias de los problemas a resolver los meacutetodos de solucioacuten sus hiper-paraacutemetros su hibridacioacuten y el efecto de sus decisiones durante la solucioacuten de los problemas Los investigadores ya estaacuten abordando algunos esfuerzos en estas direcciones a traveacutes del aprendizaje automaacutetico y el uso de teacutecnicas estadiacutesticas pero mucha de la praacutectica es primordialmente artesanal Se requiere el uso de metodologiacuteas cientiacuteficas maacutes maduras y desarrolladas para manejar la gran cantidad de datos que se genera en el proceso

Dado que la Ciencia de Datos es la capacidad de extraer conocimientos e ideas de grandes cantidades de datos y datos complejos la construccioacuten de meacutetodos hiacutebridos para optimizacioacuten mediante hiper-heuriacutesticas son un buen motivo para su aplicacioacuten

La Ciencia de Datos intenta comprender las complejidades de las actividades del mundo real y el contexto a partir del anaacutelisis de los datos para mejorar los beneficios que pueden obtenerse de ellos Los algoritmos de optimizacioacuten en tiempo real estaacuten estrechamente vinculados al contexto de sus datos Luego utilizar las teacutecnicas de Ciencia de Datos permitiraacute aprovechar el conjunto histoacuterico de datos asiacute como los datos generados en tiempo real durante la buacutesqueda de soluciones para los problemas de optimizacioacuten El proceso de Ciencia de Datos se puede aplicar al ajuste automaacutetico de los algoritmos su configuracioacuten y su adaptacioacuten para crear mejores meacutetodos de optimizacioacuten

El desarrollo de algoritmos de buacutesqueda poderosos se asemeja a la solucioacuten de los problemas de optimizacioacuten La hibridacioacuten de optimizadores mediante hiper-heuriacutesticas incluye una gran

cantidad de paraacutemetros y generalmente ofrecen muchas opciones El desafiacuteo para la Ciencia de Datos es maacutes complejo debido a la naturaleza estocaacutestica de los meacutetodos de solucioacuten Para explotar el poder real de estas teacutecnicas y resolver los problemas de manera eficiente el desarrollador debe seleccionar los mejores valores y tomar las decisiones correctas

En la uacuteltima deacutecada se han desarrollado varias teacutecnicas para la optimizacioacuten de paraacutemetros la construccioacuten automaacutetica de algoritmos y la creacioacuten de hiper-heuriacutesticas para generar o seleccionar algoritmos pero la Ciencia de Datos tiene mucho que aportar para explotar al maacuteximo el potencial de las teacutecnicas novedosas de buacutesqueda existentes No se debe de buscar un meacutetodo ideal sino crear metodologiacuteas adecuadas a los diferentes dominios de problemas Estas metodologiacuteas deben ser robustas de manera que permitan construir meacutetodos poderosos a partir de la descripcioacuten de esquemas de recoleccioacuten procesamiento exploracioacuten visualizacioacuten aprendizaje y explotacioacuten de datos adecuados a los problemas especiacuteficos a resolver

Aunque actualmente hay un boom en el desarrollo de aplicaciones de Ciencia de Datos en muchos dominios y hay un gran esfuerzo de grupos de personas para desarrollar meacutetodos de buacutesqueda para dominios especiacuteficos la aplicacioacuten de la Ciencia de Datos en la construccioacuten de meacutetodos de optimizacioacuten requiere habilidades inherentemente diferentes y hay muy pocos trabajos especiacuteficos sobre el tema Iniciativas como lsquoData Science meets Optimizationrsquo promovida por grupos creados hace poco como el grupo europeo EWG DSO confirman la relevancia y el potencial del tema

Para saber maacutes El nuacutemero de trabajos relacionados a hiper-heuriacutesticas se ha incrementado significativamente en la uacuteltima deacutecada Como resultado una gran cantidad de recursos se encuentran disponibles en diversas fuentes El lector interesado en conocer a maacutes detalle los diferentes tipos de hiper-heuriacutesticas y sus aplicaciones puede consultar estudios de referencia como y Una lista muy completa sobre los trabajos relacionados a hiper-heuriacutesticas se encuentra disponible en liacutenea en httpsmustafamisirgithubiohhhtml

Debido al intereacutes que las hiper-heuriacutesticas han despertado en los investigadores diversas conferencias y talleres han dedicado espacios para este tipo de trabajos Por ejemplo Genetic and Evolutionary Computation Conference (GECCO) que desde el 2011 ha proporcionado espacios en sus categoriacuteas Self- Search (2011 al 2016) y Search-Based Software Engineering (a partir del 2017) International Conference on Parallel Problem Solving from Nature (PPSN) con talleres en el tema en las ediciones del 2008 y 2016 IEEE Congress on Evolutionary Computation (CEC) con sesiones especiales sobre hiper-heuriacutesticas en sus ediciones del 2013 y

2016 En cuanto a competencias internacionales sobre la materia destacan las dos ediciones del Cross-domain Heurisic Search Challenge (CHeSC) La competencia consistiacutea en disentildear estrategias de alto nivel que controlaran la aplicacioacuten de heuriacutesticas de bajo nivel para dominios especiacuteficos Durante el reto las heuriacutesticas de bajo nivel seriacutean diferentes para cada dominio del problema pero la estrategia de alto nivel debiacutea ser la misma para todos los dominios El reto se enfocaba en el desempentildeo de los meacutetodos de optimizacioacuten en diferentes dominios de problemas en lugar de concentrarse soacutelo en uno

En cuanto a herramientas para la implementacioacuten de hiper-heuriacutesticas la literatura contiene pocos ejemplos entre los que destacan Hyperion HyFlex y EvoHyp No todas las herramientas se encuentran disponibles en este momento ya que algunos de los sitios para su distribucioacuten han sido descontinuados En cualquier caso es posible contactar a los autores para solicitar acceso a las herramientas

Adicionalmente a estos recursos en el 2013 se formoacute la IEEE Task Force on Hyper-heuristics 7

dedicada al desarrollo y aplicaciones de hiper-heuriacutesticas y a su interseccioacuten con la inteligencia artificial la inteligencia computacional y la investigacioacuten de operaciones El sitio del grupo de trabajo proporciona muchos recursos uacutetiles en el tema de hiper-heuriacutesticas

Conclusiones Este capiacutetulo ha presentado el tema de hiper-heuriacutesticas desde diferentes perspectivas con la idea de dar al lector una panoraacutemica general pero suficientemente detallada para que pueda conocer el tema y pueda empezar a realizar avances a traveacutes de la investigacioacuten en el aacuterea o en la aplicacioacuten de las teacutecnicas para resolver problemas en el dominio de optimizacioacuten El capiacutetulo ha explicado el detalle los principales tipos de hiper-heuriacutesticas y sus fundamentos y los diversos modelos que se han generado en la literatura principalmente basados en modelos evolutivos y neuronales y entendiendo que no son los uacutenicos El capiacutetulo provee discusioacuten sobre aspectos avanzados en hiper-heuriacutesticas y que se han derivado en trabajos recientes como es el tratamiento de hiper-heuriacutesticas en problemas multi-objetivo y la transformacioacuten de caracteriacutesticas que permite mejorar el rendimiento de esquemas de hiper-heuriacutesticas En trabajos recientes se han presentado resultados al hibridizar tipos de hiper-heuriacutesticas como por ejemplo las de seleccioacuten con las de generacioacuten las de construccioacuten con las de generacioacuten los tipos de aprendizaje etc Hay todaviacutea un espacio para continuar investigando dentro de ese contexto Con el reciente impacto del tema de big-data se ha empezado a discutir en la comunidad cientiacutefica la relacioacuten de Ciencia de Datos con optimizacioacuten Aquiacute cabe naturalmente el toacutepico de hiper-

httpssitesgooglecomsiteieeetaskforceonhyperheurisitcshome7

heuriacutesticas dado que Ciencia de Datos puede apoyar para generar mejores algoritmos de optimizacioacuten y ciertamente los modelos de optimizacioacuten pueden incidir favorablemente para mejorar los procesos en ciencia de datos

Al final el capiacutetulo presentoacute una serie de recursos que pueden servir como base a estudiantes e investigadores para perseguir el tema de hiper-heuriacutesticas

  • Proacutelogo
  • Introduccioacuten
  • El algoritmo de Evolucioacuten Diferencial
  • Mutacioacuten
  • Cruza
  • Seleccioacuten
  • Estructura del Algoritmo
  • Modificaciones al algoritmo de Evolucioacuten Diferencial
  • Ajuste de paraacutemetros globales
  • Ajuste de paraacutemetros asociados a cada individuo de la poblacioacuten
  • Ajuste del tamantildeo de la poblacioacuten
  • Combinacioacuten de variantes
  • Evolucioacuten Diferencial para otros tipos de problemas
  • DE en Meacutexico
  • Conclusiones
  • Para saber maacutes
  • Introduccioacuten
  • AGds homogeacuteneos y heterogeacuteneos
  • Migracioacuten en AGPs
  • AGs celulares o de grano fino
  • Explotacioacutenexploracioacuten por propiedades estructurales
  • Presioacuten de seleccioacuten por caracteriacutesticas estructurales
  • Anaacutelisis empiacuterico
  • Aceleracioacuten en AGP
  • Concepto de sincronismo en AGPs
  • En AGPs distribuidos viacutea migracioacuten
  • En AGP celulares viacutea criterios de actualizacioacuten
  • Discusioacuten
  • Investigacioacuten de AGPs en Meacutexico
  • Para saber maacutes
  • Introduccioacuten
  • Proceso evolutivo
  • Representacioacuten
  • Poblacioacuten inicial
  • Operadores Geneacuteticos
  • Recombinacioacuten
  • Mutacioacuten
  • Seleccioacuten
  • Espacio de buacutesqueda
  • Conclusiones
  • Para saber maacutes
  • Introduccioacuten
  • Preservacioacuten de diversidad en algoritmos evolutivos
  • Clasificaciones de mecanismos para promover la diversidad
  • Esquemas claacutesicos para administrar la diversidad
  • Esquemas de reemplazamiento basados en diversidad
  • Diversidad en evolucioacuten diferencial
  • Disentildeo de evolucioacuten diferencial basado en diversidad
  • Evolucioacuten diferencial Conceptos baacutesicos
  • Inicializacioacuten
  • Operador de mutacioacuten
  • Operador de cruza
  • Operador de seleccioacuten
  • Propuesta basada en diversidad
  • Resultados de de-edm
  • Disentildeo de operadores de cruza basados en diversidad
  • Algoritmos evolutivos multi-objetivo
  • Operadores de cruza
  • El operador de cruza basado en simulacioacuten binaria - SBX
  • Implementacioacuten y anaacutelisis del operador sbx
  • Propuesta - dsbx
  • Resultados
  • Anaacutelisis de cada modificacioacuten en el operador sbx
  • Modificacioacuten simultaacutenea de varios componentes
  • Conclusiones y trabajo futuro
  • Para saber maacutes
  • Agradeciemientos
  • Introduccioacuten
  • Fundamentos de las Hiper-heuriacutesticas
  • Hiper-heuriacutesticas que seleccionan heuriacutesticas
  • Hiper-heuriacutesticas que generan nuevas heuriacutesticas
  • Modelos de Hiper-heuriacutesticas
  • Modelos Evolutivos
  • Hiper-Heuriacutesticas basadas en Algoritmos Geneacuteticos
  • Hiper-Heuriacutesticas basadas en Programacioacuten Geneacutetica
  • Modelos Neuronales
  • Un ejemplo
  • El problema
  • Las alternativas
  • La informacioacuten del problema
  • Nuestra primer hiper-heuriacutestica
  • Otras hiper-heuriacutesticas
  • Las hiper-heuriacutesticas como un problema de optimizacioacuten
  • Aspectos Avanzados de las Hiper-heuriacutesticas
  • Hiacuteper-heuriacutesticas para Problemas Multi-objetivo
  • Transformacioacuten de Caracteriacutesticas en Hiper-heuriacutesticas
  • Tendencias Futuras de Hiper-heuriacutesticas
  • Para saber maacutes
  • Conclusiones
Page 2: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos

Computacioacuten Evolutiva Coordinador Carlos Artemio Coello Coello

En colaboracioacuten con la Academia Mexicana de Computacioacuten

Colaboradores capiacutetulo 1 Rafael Rivera Loacutepez y Efreacuten Mezura Montes Colaboradores capiacutetulo 2 Alicia Morales Reyes Colaboradores capiacutetulo 3 Mario Graff Daniela Moctezuma Eric S Tellez y Sabino Miranda Jimeacutenez Colaboradores capiacutetulo 4 Carlos Segura y Joel Chacoacuten Castillo Colaboradores capiacutetulo 5 Carlos A Brizuela y Julio Juaacuterez Colaboradores capiacutetulo 6 Hugo Terashima Mariacuten Santiago Enrique Conant Pab- los Joseacute Carlos Ortiz Bayliss e Ivaacuten Mauricio Amaya Contreras

Primera edicioacuten 2019 Academia Mexicana de Computacioacuten A C Todos los derechos reservados conforme a la ley ISBN

Este libro se realizoacute con el apoyo del CONACyT Proyecto No 293115

Queda prohibida la reproduccioacuten parcial o total directa o indirecta del contenido de esta obra sin contar con autorizacioacuten escrita de los autores en teacuterminos de la Ley Federal del Derecho de Autor y en su caso de los tratados internacionales aplicables

Impreso en Meacutexico Printed in Mexico

Computacioacuten Evolutiva

Carlos Artemio Coello Coello (Coordinador)

Con la colaboracioacuten de

Rafael Rivera Loacutepez

Efreacuten Mezura Montes

Alicia Morales Reyes

Mario Graff

Daniela Moctezuma

Eric S Tellez Sabino

Miranda Jimeacutenez

Carlos Segura

Joel Chacoacuten Castillo

Carlos A Brizuela

Julio Juaacuterez

Hugo Terashima Mariacuten

Santiago Enrique Conant Pablos

Joseacute Carlos Ortiz Bayliss

Ivaacuten Mauricio Amaya Contreras

Proacutelogo La computacioacuten evolutiva es un aacuterea de las ciencias de la computacioacuten que se enfoca al estudio de las propiedades de una serie de metaheurısticas estocaacutesticas (a las cuales se denomina de manera geneacuterica ldquoAlgoritmos Evolutivosrdquo) inspiradas en la teorıa de la evolucioacuten de las especies formulada por Charles Darwin seguacuten la cual los individuos ldquomaacutes aptosrdquo a su ambiente tienen una mayor probabilidad de sobrevivir

Una metaheurıstica es un procedimiento de buacutesqueda de alto nivel que aplica una regla o conjunto de reglas que se basa(n) en una fuente de conocimiento El eacutenfasis de las metaheurısticas es explorar el espacio de buacutesqueda de manera relativamente eficiente es decir mejor que lo que harıa una buacutesqueda exhaustiva aunque no necesariamente oacuteptima Las metaheurısticas suelen considerarse tambieacuten como teacutecnicas de buacutesqueda y optimizacioacuten de uso general pese a sus limitantes teoacutericas (en general las metaheurısticas no pueden garantizar convergencia al oacuteptimo global) Otro rasgo distintivo de las metaheurısticas es que suelen requerir poca informacioacuten especıfica del problema y son uacutetiles cuando el espacio de buacutesqueda es muy grande poco conocido yo con dificultades para explorarlo Cuando se usan para optimizacioacuten no pueden garantizar en general que convergeraacuten a la mejor solucioacuten posible (es decir al oacuteptimo global del problema) si bien en la praacutectica suelen producir aproximaciones razonablemente buenas en tiempos razonablemente cortos

Los algoritmos evolutivos son metaheurısticas estocaacutesticas porque su comportamiento se basa en el uso de nuacutemeros aleatorios y en operadores probabilısticos En consecuencia no siempre producen el mismo resultado cada vez que se ejecutan con los mismos datos de entrada

En Meacutexico existe un nuacutemero importante de investigadores trabajando en diferentes aacutereas de la computacioacuten evolutiva y este libro intenta proporcionar un asomo a la diversidad de temas en los que se hace investigacioacuten en nuestro paıs Los seis capıtulos que conforman este libro estaacuten escritos como tutoriales breves que pretender introducir al lector a ciertos temas especıficos de computacioacuten evolutiva En todos los casos se describe brevemente parte del trabajo que han realizado algunos grupos de investigacioacuten en Meacutexico en torno a estos temas

El capıtulo 1 presenta una introduccioacuten a la ldquoevolucioacuten diferencialrdquo que es un tipo de algoritmo evolutivo que se ha vuelto muy popular en la solucioacuten de problemas de optimizacioacuten no lineal Los autores proporcionan una descripcioacuten general de este tipo de algoritmo evolutivo incluyendo el funcionamiento de sus operadores de cruza y mutacioacuten y las diferencias entre sus variantes principales

El capıtulo 2 describe los conceptos baacutesicos de los ldquoalgoritmos geneacuteticos paralelosrdquo a partir de una taxonomıa muy sencilla basada en la granularidad de la paralelizacioacuten enfatizando las diferencias que existen entre los esquemas homogeacuteneos y heterogeacuteneos ası como entre el paralelismo sıncrono y el asıncrono

El capıtulo 3 se enfoca a una variante del algoritmo geneacutetico denominada ldquoprogramacioacuten geneacuteticardquo en la cual se usa una representacioacuten de aacuterbol (la cual permite evolucionar programas) en vez de las cadenas binarias de longitud fija del algoritmo geneacutetico tradicional La programacioacuten geneacutetica ha tomado una gran relevancia en antildeos recientes sobre todo por su aplicabilidad a problemas de aprendizaje y clasificacioacuten

El capıtulo 4 se enfoca en un tema muy importante en computacioacuten evolutiva del cual no suele hablarse mucho la importancia de la diversidad en el disentildeo de un algoritmo evolutivo Los autores hacen una revisioacuten de diversas teacutecnicas que se han propuesto para lidiar con la convergencia prematura (la cual suele ser consecuencia de una peacuterdida abrupta de diversidad en la poblacioacuten) Adicionalmente se incluye un pequentildeo estudio en el que se analizan dos teacutecnicas para mantener diversidad

El capıtulo 5 presenta un tutorial de otra aacuterea que ha tomado gran relevancia en antildeos recientes la optimizacioacuten evolutiva multi-objetivo la cual se enfoca a la solucioacuten de problemas de optimizacioacuten que tienen dos o maacutes objetivos (normalmente en conflicto entre sı) que deseamos optimizar al mismo tiempo Ademaacutes de proporcionar los conceptos baacutesicos de esta aacuterea se describen brevemente los algoritmos evolutivos multi-objetivo maacutes utilizados en la actualidad ası como las medidas principales de desempentildeo que se utilizan en la literatura especializada En la parte final del capıtulo se describen tambieacuten algunos de los temas de investigacioacuten en los que se estaacute trabajando maacutes dentro de esta aacuterea en la actualidad

El capıtulo 6 estaacute dedicado a las hiper-heurısticas que son teacutecnicas que buscan proporcionar maacutes flexibilidad que los algoritmos evolutivos tradicionales al ser capaces de adaptarse a diversos tipos de problemas y a diferentes instancias de una misma clase de problemas Las hiper-heurısticas son el eslaboacuten intermedio entre las limitantes teoacutericas relacionadas con la aplicabilidad de las metaheurısticas y el anhelado suentildeo del disentildeo automatizado de algoritmos y

constituyen sin lugar a dudas uno de los temas maacutes ricos de investigacioacuten dentro de las metaheurısticas

Doctor Carlos Artemio Coello Coello

Indice general

Proacutelogo 5

Introduccioacuten 13

El algoritmo de Evolucioacuten Diferencial 15

Mutacioacuten 16

Cruza 18

Seleccioacuten 20

Estructura del Algoritmo 20

Modificaciones al algoritmo de Evolucioacuten Diferencial 21

Ajuste de paraacutemetros globales 22

Ajuste de paraacutemetros asociados a cada individuo de la poblacioacuten 23

Ajuste del tamantildeo de la poblacioacuten 26

Combinacioacuten de variantes 27

Evolucioacuten Diferencial para otros tipos de problemas 29

DE en Meacutexico 30

Conclusiones 30

Para saber maacutes 31

Introduccioacuten 32

AGds homogeacuteneos y heterogeacuteneos 35

Migracioacuten en AGPs 37

AGs celulares o de grano fino 39

Explotacioacutenexploracioacuten por propiedades estructurales 40

Presioacuten de seleccioacuten por caracteriacutesticas estructurales 43

Anaacutelisis empiacuterico 45

Aceleracioacuten en AGP 46

Concepto de sincronismo en AGPs 47

En AGPs distribuidos viacutea migracioacuten 48

En AGP celulares viacutea criterios de actualizacioacuten 49

Discusioacuten 50

Investigacioacuten de AGPs en Meacutexico 50

Para saber maacutes 51

Introduccioacuten 53

Proceso evolutivo 55

Representacioacuten 56

Poblacioacuten inicial 58

Operadores Geneacuteticos 59

Recombinacioacuten 59

Mutacioacuten 60

Seleccioacuten 61

Espacio de buacutesqueda 62

Conclusiones 63

Para saber maacutes 63

Introduccioacuten 64

Preservacioacuten de diversidad en algoritmos evolutivos 67

Clasificaciones de mecanismos para promover la diversidad 67

Esquemas claacutesicos para administrar la diversidad 68

Esquemas de reemplazamiento basados en diversidad 69

Diversidad en evolucioacuten diferencial 71

Disentildeo de evolucioacuten diferencial basado en diversidad 72

Evolucioacuten diferencial Conceptos baacutesicos 72

Inicializacioacuten 72

Operador de mutacioacuten 72

Operador de cruza 73

Operador de seleccioacuten 73

Propuesta basada en diversidad 74

Resultados de de-edm 77

Disentildeo de operadores de cruza basados en diversidad 87

Algoritmos evolutivos multi-objetivo 87

Operadores de cruza 89

El operador de cruza basado en simulacioacuten binaria - SBX 89

Implementacioacuten y anaacutelisis del operador sbx 90

Propuesta - dsbx 92

Resultados 93

Anaacutelisis de cada modificacioacuten en el operador sbx 95

Modificacioacuten simultaacutenea de varios componentes 96

Conclusiones y trabajo futuro 97

Para saber maacutes 98

Agradeciemientos 99

Introduccioacuten 100

Fundamentos de las Hiper-heuriacutesticas 102

Hiper-heuriacutesticas que seleccionan heuriacutesticas 103

Hiper-heuriacutesticas que generan nuevas heuriacutesticas 105

Modelos de Hiper-heuriacutesticas 106

Modelos Evolutivos 106

Hiper-Heuriacutesticas basadas en Algoritmos Geneacuteticos 106

Hiper-Heuriacutesticas basadas en Programacioacuten Geneacutetica 107

Modelos Neuronales 109

Un ejemplo 109

El problema 110

Las alternativas 110

La informacioacuten del problema 111

Nuestra primer hiper-heuriacutestica 112

Otras hiper-heuriacutesticas 112

Las hiper-heuriacutesticas como un problema de optimizacioacuten 113

Aspectos Avanzados de las Hiper-heuriacutesticas 115

Hiacuteper-heuriacutesticas para Problemas Multi-objetivo 115

Transformacioacuten de Caracteriacutesticas en Hiper-heuriacutesticas 117

Tendencias Futuras de Hiper-heuriacutesticas 119

Para saber maacutes 121

Conclusiones 122

Evolucioacuten Diferencial una breve introduccioacuten Rafael Rivera Loacutepez

Efreacuten Mezura Montes

En este capiacutetulo se hace una descripcioacuten general del algoritmo de Evolucioacuten Diferencial Este tipo de algoritmo evolutivo representa una excelente alternativa para encontrar soluciones cercanas al oacuteptimo a problemas de optimizacioacuten continua complejos Debido a la simplicidad de su implementacioacuten y sus excelentes habilidades de exploracioacuten y explotacioacuten diversas variantes de este algoritmo se han aplicado para resolver problemas con diferentes caracteriacutesticas En este capiacutetulo se describen los elementos baacutesicos del algoritmo asiacute como las diferentes variantes que se han desarrollado para mejorar su desempentildeo

Introduccioacuten Con el nombre de algoritmos evolutivos se identifica a un grupo de procedimientos que se utilizan para resolver muchos problemas praacutecticos y que se distinguen de otras teacutecnicas porque estaacuten inspirados en las teoriacuteas que sintetizan la evolucioacuten Darwiniana y la herencia geneacutetica descrita por Mendel Los algoritmos evolutivos han probado ser herramientas poderosas para encontrar soluciones aceptables a problemas donde otras teacutecnicas fallan o consumen una excesiva cantidad de tiempo Estos algoritmos se destacan por combinar exitosamente dos mecanismos de buacutesqueda exploracioacuten y explotacioacuten La exploracioacuten permite identificar aacutereas prometedoras del espacio de buacutesqueda y la explotacioacuten lleva a cabo una buacutesqueda especializada dentro de estas aacutereas para encontrar soluciones cercanas al oacuteptimo Su aplicacioacuten se extiende en praacutecticamente todas las aacutereas de la actividad humana como por ejemplo en salud educacioacuten ciencias industria economiacutea y defensa Los algoritmos evolutivos tambieacuten han sido utilizados en aacutereas emergentes como la ciencia de datos la inteligencia de negocios y el big data En estos algoritmos un conjunto de soluciones candidatas evoluciona para alcanzar una solucioacuten cercana al oacuteptimo por la aplicacioacuten de procedimientos que permiten recombinar y alterar sus valores En la jerga de los especialistas del aacuterea una solucioacuten candidata se conoce como individuo al conjunto de soluciones se denomina poblacioacuten y los procedimientos involucrados en el proceso evolutivo se identifican como operadores de seleccioacuten cruzamiento y mutacioacuten Comuacutenmente dos individuos son seleccionados y sus valores son recombinados y algunas veces mutados para crear nuevas soluciones candidatas Los nuevos individuos son considerados parte de una nueva poblacioacuten que sustituye a la anterior Entonces una secuencia de nuevas poblaciones son creadas hasta que una condicioacuten de teacutermino es alcanzada y la mejor solucioacuten de

las uacuteltima poblacioacuten es seleccionada como resultado del algoritmo Este proceso evolutivo es guiado por una funcioacuten de aptitud que determina la calidad de cada individuo en la poblacioacuten La figura 1 muestra el esquema general de un algoritmo evolutivo

Esquema general de un algoritmo evolutivo

A lo largo de su desarrollo histoacuterico varios tipos de algoritmos evolutivos han sido implementados difiriendo en la forma de representar a sus individuos y en la implementacioacuten de sus operadores geneacuteticos Auacuten cuando en los antildeos 50 varios autores introducen los teacuterminos evolucioacuten y proceso evolutivo en sus propuestas para resolver diversos problemas es en los antildeos 60 cuando se sientan las bases del desarrollo de los algoritmos evolutivos con la introduccioacuten de tres teacutecnicas la Programacioacuten Evolutiva las Estrategias Evolutivas y los Algoritmos Geneacuteticos Fogel propone en 1962 la Programacioacuten Evolutiva donde las soluciones candidatas se representan con maacutequinas de estados finitos y Rechenberg y Schwefel en 1965 desarrollan las Estrategias Evolutivas que codifican sus individuos con vectores de nuacutemeros reales Los Algoritmos Geneacuteticos introducidos en 1962 por Holland son sin duda el tipo de algoritmo evolutivo maacutes popular Estos algoritmos tradicionalmente utilizan una cadena binaria para representar a sus individuos aunque tambieacuten se han utilizado cadenas de enteros y secuencias de nuacutemeros reales Desarrollos posteriores a estas teacutecnicas han aportado al eacutexito de los algoritmos evolutivos destacaacutendose la Programacioacuten Geneacutetica los Algoritmos Coevolutivos los Algoritmos Culturales el algoritmo de Evolucioacuten Diferencial los Algoritmos de Estimacioacuten de Distribuciones la Evolucioacuten Gramatical y la Programacioacuten de Expresioacuten de Genes Cada uno de estos algoritmos tienen sus ventajas y sus propios desafiacuteos y han sido utilizados para resolver diferentes tipos de problemas La figura 2 muestra un esquema del desarrollo histoacuterico de los

algoritmos evolutivos En particular el algoritmo de Evolucioacuten Diferencial ha demostrado ser muy competitivo y exitoso para resolver problemas numeacutericos complejos en comparacioacuten con otros algoritmos

Liacutenea del tiempo del desarrollo de los algoritmos evolutivos

El algoritmo de Evolucioacuten Diferencial Evolucioacuten Diferencial (DE por sus siglas en ingleacutes) es un tipo de algoritmo evolutivo que fue originalmente disentildeado por Storn y Price en 1995 para resolver problemas de optimizacioacuten continua En particular en este algoritmo cada individuo usualmente se representa con un vector de valores continuos de paraacutemetros Ademaacutes en lugar de implementar los operadores de cruza y mutacioacuten tradicionales el algoritmo crea cada nuevo individuo con una combinacioacuten lineal de los valores de dos o maacutes individuos de la poblacioacuten actual que son seleccionados al azar La forma en que se implementan los operadores de cruza y mutacioacuten se ha utilizado en la literatura para identificar las diferentes variantes del algoritmo DEABC es la notacioacuten comuacutenmente usada para nombrar estas variantes donde A y B determinan el tipo de mutacioacuten implementado y C identifica el tipo de cruza implementado por la variante En particular A representa el procedimiento de seleccioacuten de los individuos para construir el individuo mutado y B es el nuacutemero de vectores diferencia usados para el operador de mutacioacuten DE puede considerarse un proceso de tres pasos que incluye una fase de inicializacioacuten el proceso evolutivo y el paso final que determina el resultado obtenido La fase de inicializacioacuten involucra la seleccioacuten y evaluacioacuten de un grupo de NP individuos que son generados aleatoriamente de un espacio de buacutesqueda finito los cuales se utilizan como poblacioacuten inicial del algoritmo conocido como Si para cada y son los valores miacutenimo y maacuteximo del -eacutesimo paraacutemetro en el valor del -eacutesimo individuo en la poblacioacuten inicial es determinado como sigue

x = (x1 x2 hellip xn) n

Ω sube ℝn

X0 j isin 1 hellip n xminj xmax

jj Ω xi

j i xi

donde es un nuacutemero aleatorio uniformemente distribuido dentro del rango El proceso evolutivo implementa un esquema iterativo para evolucionar la poblacioacuten inicial En cada iteracioacuten de este proceso conocido como una generacioacuten una nueva poblacioacuten de individuos es generada utilizando informacioacuten de la poblacioacuten previamente creada A diferencia de otros algoritmos evolutivos el orden de aplicacioacuten de los operadores geneacuteticos en el algoritmo de Evolucioacuten Diferencial es diferente Primero se aplica la mutacioacuten despueacutes la cruza y al final se lleva a cabo la seleccioacuten del mejor individuo Para cada en la generacioacuten es obtenido de la poblacioacuten y es utilizado para crear un nuevo vector aplicando los operadores de cruza y mutacioacuten Los vectores y son conocidos como el vector objetivo y el vector de prueba respectivamente Estos vectores son evaluados por el operador de seleccioacuten para actualizar la nueva poblacioacuten Los operadores de mutacioacuten cruza y seleccioacuten son descritos en detalle en los siguientes paacuterrafos En el paso final cuando una condicioacuten de paro es alcanzada el algoritmo devuelve el mejor individuo en la poblacioacuten actual La condicioacuten de paro maacutes comuacutenmente utilizada es comparar el nuacutemero de generaciones construidas contra un valor fijo pero otros criterios pueden ser implementados como aquellos descritos por Zielinski y Laur

Mutacioacuten Un vector mutado es construido al combinar los valores de varios individuos aleatoriamente seleccionados de El nuacutemero de individuos seleccionados para realizar la combinacioacuten depende del operador de mutacioacuten implementado por la variante del algoritmo En alguna de estas variantes el individuo con la mejor aptitud en la poblacioacuten es tambieacuten utilizado por el operador de mutacioacuten Entre los diferentes operadores de mutacioacuten descritos en la literatura destacan los siguientes

$$beginaligned

textDErand1quad v^i amp= x^r_1 + textF big( x^r_2 - x^r_3 big)labeleqmut_1

textDEbest1quad v^i amp= x^textbest + textF big( x^r_1 - x^r_2 big) labeleqmut_2

textDEcurrent-to-best1quad v^i amp= x^i + textF big( x^textbest - x^r_1big) + textF big( x^r_2 - x^r_3 big) labeleqmut_3

xij = xmin

j + r (xmaxj minus xmin

j )

r [0 1]

i isin 1 hellip NP g xi

Xgminus1 ui

xi ui

Xgω

vi xrj

Xgminus1

xbest Xgminus1

textDErand2quad v^i amp= x^r_1 + textF big( x^r_2 - x^r_3 big)+textF big( x^r_4 - x^r_5 big) labeleqmut_4

shortintertexty

textDEbest2quad v^i amp= x^textbest + textF big( x^r_1 - x^r_2 big )+ textF big( x^r_3 - x^r_4 big ) labeleqmut_5 endaligned$$

donde F es un valor definido por el usuario que representa un factor de escala aplicado para controlar la variacioacuten diferencial Storn y Price sentildealan que F puede fijarse entre 0 y 2 pero otros autores recomiendan valores entre 04 y 1 En la figura 3 se presenta un ejemplo de la aplicacioacuten del operador de mutacioacuten DErand1 En este ejemplo = = y = Usando F igual a 05 el vector mutado resultante es =

Ejemplo de la creacioacuten de un vector mutado con el esquema DErand1

La mutacioacuten aporta a las habilidades de explotacioacuten y exploracioacuten del meacutetodo Debido a que al inicio del proceso evolutivo los individuos se encuentran relativamente dispersos en el espacio

xr1 (1056 316) xr2

(253 903) xr3 (56 626) vi

(902 454)

de buacutesqueda la diferencia entre los vectores seleccionados es grande por lo que los vectores mutados pueden ubicarse en diferentes aacutereas del espacio de buacutesqueda pero a medida que el proceso evolutivo avanza las soluciones se vuelven maacutes cercanas y las diferencias entre ellos son maacutes pequentildeas lo que produce que los vectores mutados se encuentran concentrados en aacutereas promisorias del espacio de buacutesqueda

Cruza El operador de cruza se utiliza para combinar la informacioacuten entre el vector objetivo y el vector mutado para construir el vector de prueba Por cada o se seleccionan para construir usando un factor de cruza el cual es tambieacuten un valor especificado por el usuario Dos tipos de cruza se utilizan en este caso cruza binomial y cruza exponencial

Cruza binomial En este operador cada valor asignado a es seleccionado de o de comparando el valor CR con un valor seleccionado al azar Para garantizar que al menos un paraacutemetro de toma un valor de este operador utiliza un valor tambieacuten seleccionado al azar Formalmente la cruza binomial se define como

Tomando el vector mutado = del ejemplo de la figura 3 y un vector objetivo = en la figura 4 se muestra un ejemplo de la creacioacuten de un vector de prueba usando la cruza binomial El vector de prueba generado en este ejemplo es =

xr2 minus xr3

j isin 1 hellip n xij vi

jui CR isin [0 1]

ui vi xi

r isin [0 1] ui

vi l isin 1 hellip n

bin uij =

vij si r le CR or j = l

xij de otra forma

vi (902 454) xi

(406 766)ui (406 454)

Ejemplo de la creacioacuten de un vector de prueba usando la cruza binomial

Cruza exponencial Este operador de cruza asigna una secuencia de valores de a Los valores restantes que son asignados a son obtenidos de El tamantildeo de la secuencia se determina con dos valores 1) un iacutendice que representa la posicioacuten inicial de la secuencia en seleccionado aleatoriamente dentro del rango y 2) el nuacutemero de intentos consecutivos en los cuales determina la posicioacuten final de la secuencia como es definida en la Ec ([eqcr_exp]) La cruza exponencial es similar al operador de cruza de dos puntos introducido por Cavicchio

$$beginaligned

textexpquad u_j^i amp=

begincases

v_j^i amp textsi $ l leq j leq min (l+L-1n)$

vi ui

ui xi

l vi

1 hellip n L le n r le CR

x_j^i amp textde otra forma

endcases labeleqcr_expendaligned$$

Por ejemplo si se tienen dos vectores de cinco paraacutemetros = y = y se aplica el operador de cruza exponencial usando un factor de cruza de 06 entonces se debe obtener el valor de y despueacutes generar una secuencia de valores aleatorios para Si =2 y la secuencia de valores de es 06 03 04 y 06 y el vector de prueba que se construye es =

La cruza ayuda al algoritmo a mantener la diversidad de la poblacioacuten y eventualmente evitar que caiga en oacuteptimos locales El valor de CR es complicado de determinar pero algunos autores sentildealan que su valor puede ajustarse entre 03 y 09

Seleccioacuten Un torneo uno-a-uno es aplicado para determinar cual vector entre y es seleccionado como miembro de la nueva poblacioacuten Este esquema de seleccioacuten permite garantizar que el proceso evolutivo mantenga una mejora continua

Estructura del Algoritmo El Algoritmo [algDE] muestra la estructura de una implementacioacuten claacutesica del algoritmo Eacuteste requiere de tres paraacutemetros para controlar el proceso evolutivo (CR F y NP) y tambieacuten la seleccioacuten de un espacio de buacutesqueda para construir la poblacioacuten inicial y la definicioacuten del tamantildeo de individuo de una funcioacuten objetivo para evaluar cada individuo y de una condicioacuten de paro para finalizar el proceso evolutivo

Entrada Salida Un individuo generado aleatoriamente usando la Ec ([eqinicial]) Vector objetivo obtenido aleatoriamente de Vector mutado generado usando alguna de las Ecs ([eqmut_1])ndash([eqmut_5]) Vector de prueba construido usando alguna de las Ecs ([eqcr_bin])ndash([eqcr_exp])

DE tiene varias ventajas en comparacioacuten con otros algoritmos evolutivos como la simplicidad de su implementacioacuten su habilidad para producir mejores resultados que aquellos obtenidos por los demaacutes y su baja complejidad espacial

vi (24 36 12 78 02) xi

(34 96 12 52 31)l

r l rui (24 96 12 52 02)

xi ui

Xg

g larr 0 Xg larr xi larrXg larr Xg cup (i xi) g larr g + 1 Xg larr xi larr

Xgminus1 vi larrui larrXg larr Xg cup (i ui) Xg larr Xg cup (i xi) xbest

Modificaciones al algoritmo de Evolucioacuten Diferencial Aunque DE requiere de la definicioacuten de un nuacutemero menor de paraacutemetros en comparacioacuten con el nuacutemero de paraacutemetros requeridos por otros algoritmos evolutivos su desempentildeo es sensible a los valores seleccionados de CR F y NP Varios autores sentildealan que los valores adecuados para estos paraacutemetros pueden variar para diferentes problemas y es conocido que la definicioacuten de estos paraacutemetros depende de las caracteriacutesticas propias de cada problema Ademaacutes Lampinen y Zelinka sentildealan que este algoritmo puede presentar el problema de estancamiento debido a una incorrecta seleccioacuten de sus paraacutemetros El estancamiento en un algoritmo se presenta cuando eacuteste no converge a alguna solucioacuten y la poblacioacuten presenta una gran diversidad de individuos Por lo anterior la mayoriacutea de los estudios realizados para mejorar el desempentildeo del algoritmo de Evolucioacuten Diferencial se relacionan con teacutecnicas para ajustar los valores de sus paraacutemetros (F CR y NP) y para combinar las ventajas de las diferentes variantes del algoritmo usando un subconjunto de ellas en lugar de solamente aplicar una variante En los siguientes paacuterrafos se describen las propuestas para mejorar el desempentildeo del algoritmo que se consideran los maacutes representativos en la literatura especializada Para simplificar su descripcioacuten estas propuestas se agrupan de acuerdo al criterio utilizado Ajuste de paraacutemetros y combinacioacuten de variantes Por un lado debido a que F y CR son los paraacutemetros del algoritmo maacutes estudiados y donde maacutes variantes de mejora han sido desarrolladas estos estudios se agrupan en enfoques que usan paraacutemetros globales y enfoques que usan paraacutemetros para cada individuo Adicionalmente se presentan los enfoques relacionados con el ajuste del tamantildeo de la poblacioacuten y tambieacuten aquellos donde se modifica la forma que generar los vectores mutados dentro del proceso evolutivo La figura 5 presenta un esquema del desarrollo histoacuterico de estos enfoques

Liacutenea del tiempo de las modificaciones a DE

Ajuste de paraacutemetros globales En estos enfoques los operadores geneacuteticos utilizan los mismos valores para F y CR en todos los individuos de una misma poblacioacuten como se ilustra en la figura 6 Estos valores se actualizan al finalizar cada generacioacuten con el aacutenimo de mejorar las habilidades de exploracioacuten y explotacioacuten del algoritmo Dos enfoques se concentran en ajustar el valor de F manteniendo fijo el valor de CR En 2004 Ali y Toumlrn lo actualizan considerando la aptitud del mejor y del peor individuo en la poblacioacuten y Das et al en 2005 proponen dos enfoques para modificar su valor el primero lo modifica de forma aleatoria y el segundo reduce su valor de forma lineal conforme el proceso evolutivo avanza Por otro lado Liu y Lampinen en 2005 proponen un enfoque diferente al cual denominan FADE (Fuzzy Adaptive DE algorithm) En este algoritmo los valores de F y CR se ajustan usando un sistema de control loacutegico difuso El sistema utiliza las diferencias entre generaciones sucesivas tanto de los valores de los individuos como de sus valores de aptitud Finalmente Dra et al en 2015 proponen una versioacuten alternativa denominada SinDE (Sinusoidal DE) en donde los valores de F y CR se ajustan utilizando foacutermulas trigonomeacutetricas permitiendo cambiar la direccioacuten del vector diferencia dentro del operador de mutacioacuten

Esquema de ajuste de paraacutemetros globales del algoritmo

Ajuste de paraacutemetros asociados a cada individuo de la poblacioacuten En este tipo de algoritmos cada individuo de la poblacioacuten tiene asociado su propio conjunto de paraacutemetros como se muestra en la figura 7 Estos paraacutemetros se ajustan de forma independiente dentro del proceso evolutivo como se esquematiza en la figura 8

Paraacutemetros asociados a cada individuo de la poblacioacuten

En 2005 Omran et al asocian el valor de F a cada individuo de la poblacioacuten en su meacutetodo denominado SDE (self-adaptive DE) Este meacutetodo actualiza el valor de F combinando los valores de F de tres individuos de la poblacioacuten actual que son seleccionados aleatoriamente En 2006 Brest et al describen su meacutetodo denominado jDE donde los valores de F y CR se pueden modificar en cada iteracioacuten del proceso evolutivo basados en una decisioacuten estocaacutestica utilizando un par de umbrales previamente definidos En 2007 Zhang y Sanderson implementan un meacutetodo conocido como JADE donde F y CR son ajustados utilizando distribuciones normales independientes cuya media es calculada usando el promedio de los vectores mutados mejor adaptados en cada iteracioacuten En 2011 Ghosh et al actualizan los valores de estos paraacutemetros en base al valor de aptitud de los individuos en la poblacioacuten en un meacutetodo denominado FiADE (Fitness-Adaptive DE) Una versioacuten parecida es presentada en 2015 por Tang et al en el meacutetodo llamado IDE (DE with an individual-dependent mechanism) En 2011 Bi y Xiao describen el meacutetodo p-ADE (pbest vector-based self-adaptive DE variant) donde el vector mutado se crea usando el mejor individuo en la poblacioacuten y el mejor de los vectores que se utilizaron para crear al vector objetivo Los valores de F y CR de cada individuo son ajustados usando un factor asociado a las mejores y peores aptitudes de los individuos en la poblacioacuten En 2012 Islam et al introdujeron el meacutetodo llamado MDEpBX (modified DE with p-best crossover) donde se modifica la variante DEcurrent-to-best1 al utilizar el mejor elemento de un grupo de individuos seleccionados aleatoriamente de la poblacioacuten actual en lugar de usar el mejor individuo de la poblacioacuten Los valores de los paraacutemetros se ajustan en base a un par de distribuciones independientes que son actualizadas al final de cada generacioacuten En 2013 Tanabe y Fukunaga implementan el meacutetodo SHADE (Success-History based Adaptive DE) que basaacutendose en JADE actualiza los valores de F y CR usando una memoria de los vectores mutados que han sido exitosamente seleccionados previamente dentro del proceso evolutivo A partir de SHADE

varias versiones se han desarrollado como el meacutetodo L-convSHADE (SHADE using covariance matrix learning with Euclidean Neighborhood) y el meacutetodo LSHADE-SPA (LSHADE with semi parameter adaptation) En 2016 Leon y Xiong introducen una estrategia voraz para actualizar los valores de los paraacutemetros de cada individuo en el meacutetodo llamado GADE (Greedy Adaptive DE) Se utilizan los valores de los paraacutemetros de las soluciones vecinas para ajustar los paraacutemetros del nuevo vector mutado Finalmente Mohamed y Mohamed en 2017 proponen el meacutetodo denominado AGDE (Adaptive guided DE)

Esquema de ajuste de paraacutemetros para cada individuo de la poblacioacuten

Ajuste del tamantildeo de la poblacioacuten En los enfoques descritos previamente solamente se ajustan los valores de F y CR manteniendo el tamantildeo de la poblacioacuten constante Diversos estudios indican que el tamantildeo de la poblacioacuten tambieacuten afecta al desempentildeo de un algoritmo evolutivo por lo que existen trabajos que se han centrado en ajustar el tamantildeo de la poblacioacuten para garantizar la convergencia del algoritmo Existen algunos enfoques donde se ajusta el tamantildeo de la poblacioacuten y se describiraacuten a continuacioacuten En la figura 9 se muestra el esquema general en que estos enfoques ajustan el tamantildeo de la poblacioacuten durante el proceso evolutivo

Esquema general del ajuste del tamantildeo de la poblacioacuten en DE

En 2006 Teo describe el meacutetodo DESAP (Differential Evolution with self-adapting populations) donde el tamantildeo de la poblacioacuten se ajusta usando un factor distribuido uniformemente entre 0 y 1 En 2008 Brest y Sepesy Maučec presentan el algoritmo dynNP-DE (DE con NP dinaacutemico) donde van reduciendo a la mitad el tamantildeo de la poblacioacuten conforme el proceso evolutivo progresa Utilizando el nuacutemero total de evaluaciones y un paraacutemetro que indica el nuacutemero de posibles reducciones el algoritmo establece en queacute generaciones el algoritmo reduciraacute el tamantildeo de la poblacioacuten En 2014 Tanabe y Fukunaga presentaron una versioacuten con ajuste de poblacioacuten del meacutetodo SHADE denominada L-SHADE donde se aplica una reduccioacuten lineal del tamantildeo de la poblacioacuten previo a una ordenacioacuten a los individuos por su aptitud que permite eliminar solo

los individuos peor adaptados En 2017 Bujok y Tvrdiacutek describen el meacutetodo IDEbd (IDE with Population Size Adaptation) en donde el tamantildeo de la poblacioacuten es adaptado usando un factor calculado en base al nivel de diversidad de la poblacioacuten actual

Combinacioacuten de variantes Debido a la forma de combinar los individuos para crear el vector de prueba de cada una de las variantes de DE estaacutes presentan diferentes capacidades de exploracioacuten y explotacioacuten ademaacutes de que son maacutes efectivas para diferentes tipos de problemas Por ejemplo la variante DErand1 es mejor para explorar el espacio de buacutesqueda pero tiene una velocidad de convergencia lenta y DEbest1 converge maacutes raacutepido hacia soluciones cercanas a la oacuteptima pero solo para problemas con un uacutenico oacuteptimo global (unimodales) Debido a que usar diferentes estrategias de mutacioacuten durante diferentes momentos del proceso evolutivo pueden ser mejor que usar una sola variante durante todo el proceso varios autores se han enfocado en desarrollar estrategias para combinar diferentes variantes de DE y lograr con esto que cooperen en la creacioacuten de un mejor vector objetivo La figura 10 muestra un esquema general de la forma en que se aplican estas estrategias dentro del algoritmo de Evolucioacuten Diferencial

Esquema general de la estrategia de combinacioacuten de variantes de DE

En 2005 Qin y Suganthan describieron una versioacuten conocida como SADE (Self-Adaptive DE algorithm for numerical optimization) donde introducen un esquema que selecciona de forma alternada una de dos variantes del algoritmo de acuerdo a su tasa de eacutexito dentro del proceso evolutivo En 2009 Das et al presentaron el meacutetodo llamado DEGL (DE with Global and Local Neighborhoods) donde cada nuevo vector mutado se crea combinando dos vectores uno construido usando una vecindad del vector objetivo (vector local) y otro creado usando el mejor

individuo de la poblacioacuten (vector global) En 2011 Mallipeddi et al asignaron a cada individuo de la poblacioacuten el tipo de variante para generar el vector mutado y los valores para F y CR en el meacutetodo EPSDE (Ensemble of mutation strategies and parameters in DE) Tanto el tipo de variante como los valores de los paraacutemetros se escogen aleatoriamente de un grupo de ellos que es previamente definido Dependiendo del eacutexito de la aplicacioacuten de dichos valores eacutestos se pueden cambiar durante el proceso evolutivo Tambieacuten en ese mismo antildeo Wang et al en su meacutetodo CoDE (Composite DE) crean tres vectores para cada vector objetivo Cada vector es construido usando variantes diferentes y con paraacutemetros generados aleatoriamente El mejor de los tres vectores se usa como vector de prueba para aplicar el operador de seleccioacuten Adicionalmente Zhao et al implementaron un meacutetodo muy similar denominado SaDE-MMTS (SaDE with a modified multi-trajectory search) donde el vector mutado se selecciona de entre los vectores generados por tres diferentes variantes del algoritmo pero la seleccioacuten se hace en base a una probabilidad que iterativamente se ajusta en base a la cantidad de vectores mutados que son exitosamente seleccionados En 2017 Ghosh et al propusieron el meacutetodo NRDE (Noise Resilient DE) donde cada individuo puede ser mutado por alguna de dos variantes con igual probabilidad Los valores de F y CR son ajustados para cada individuo basado en un rango preestablecido previamente

Evolucioacuten Diferencial para otros tipos de problemas Aunque DE fue definido originalmente para resolver problemas de optimizacioacuten continua sin restricciones tambieacuten se ha utilizado con eacutexito para resolver otros tipos de problemas como aquellos donde los valores de las variables del problema son discretos donde el espacio de buacutesqueda estaacute limitado por una o maacutes restricciones y aquellos donde se manejan dos o mas objetivos Prado et al describe varias adaptaciones al algoritmo de Evolucioacuten Diferencial para problemas de optimizacioacuten combinatoria como aquellos que implementan una matriz de permutacioacuten los que obtienen una secuencia ordenada de valores y los que aplican una transformacioacuten de los valores continuos al espacio discreto En el caso de los problemas de optimizacioacuten con restricciones Mezura-Montes et al describen varios enfoques que se han utilizado para aplicar DE en este tipo de problemas como aquellos que utilizan teacutecnicas para eliminar o reparar soluciones infactibles y los que implementan teacutecnicas de penalizacioacuten Finalmente para problemas de optimizacioacuten multi-objetivo Mezura-Montes et al resume las principales teacutecnicas basadas en el algoritmo de Evolucioacuten Diferencial para manejar dos o maacutes objetivos como los enfoques basados en dominancia de Pareto y en jerarquizacioacuten de Pareto asiacute como los meacutetodos que no se basan en Pareto y los enfoques que combinan diferentes estrategias Hoy en diacutea existen tambieacuten algoritmos basados en descomposicioacuten y en indicadores de desempentildeo

DE en Meacutexico En el paiacutes se tiene mucha actividad en investigacioacuten relacionada con DE particularmente el grupo EVOCINV de CINVESTAV Zacatenco estudia a este algoritmo en optimizacioacuten multi-objetivo y temas afines al manejo de muacuteltiples objetivos como algoritmos basados en indicadores modelos subrogados operadores de seleccioacuten operadores de variacioacuten adaptacioacuten de paraacutemetros entre otros temas

En el Centro de Investigacioacuten en Inteligencia Artificial de la Universidad Veracruzana se desarrolla investigacioacuten en optimizacioacuten con restricciones usando DE aplicaciones de DE en mecatroacutenica y en control automaacutetico DE y buacutesqueda local optimizacioacuten dinaacutemica multi-objetivo DE asistida por subrogados en espacios restringidos entre otras temaacuteticas

Recientemente en el Instituto Tecnoloacutegico de Veracruz se desarrollan aplicaciones de DE en aprendizaje automaacutetico en el Centro de Innovacioacuten y Desarrollo Tecnoloacutegico en Coacutemputo (CIDETEC) del IPN se aplica DE en problemas de mecatroacutenica y en el Centro de Investigacioacuten en Matemaacuteticas se aplica en procesos quiacutemicos

Todas estas menciones soacutelo son representativas pues la DE al ser un algoritmo faacutecil de implementar y que provee resultados competitivos ha sido particularmente atractiva para su estudio y aplicacioacuten en instituciones mexicanas

Conclusiones El algoritmo de Evolucioacuten Diferencial es un enfoque exitoso para resolver problemas de optimizacioacuten continua sin restricciones Los individuos que evolucionan al aplicar los operadores de este algoritmo tradicionalmente se codifican como secuencias de nuacutemeros reales pero otras representaciones se han utilizado tambieacuten Ademaacutes con la inclusioacuten de diversas estrategias para manejar varios objetivos y conjuntos de restricciones DE se puede aplicar para resolver otro tipo de problemas DE se distingue por depender de la definicioacuten de un menor nuacutemero de paraacutemetros que otros algoritmos evolutivos pero esto tambieacuten lo hace muy sensible a la definicioacuten de los valores para esos paraacutemetros Diversos variantes del algoritmo han sido desarrolladas para mejorar el desempentildeo del algoritmo generando un abanico de alternativas para resolver casi cualquier tipo de problema El estudio del comportamiento de este algoritmo y la definicioacuten de nuevas propuestas de desarrollo sin duda aportaraacute a la resolucioacuten maacutes eficiente de problemas complejos que interesan a la comunidad cientiacutefica

Para saber maacutes Para aquellos lectores que deseen abundar en el tema las siguientes referencias sobre DE pueden ser de intereacutes

bull El libro sobre DE escrito por los autores originales del algoritmo

bull Una revisioacuten muy completa de la literatura de DE y su versioacuten actualizada

bull Otra revisioacuten de la literatura acompantildeada de un estudio experimental

bull Una revisioacuten de estudios teoacutericos sobre DE

bull Un libro editado con temas diversos y recientes sobre DE

bull DE para resolver problemas de optimizacioacuten multi-objetivo

bull DE y su papel importante en espacios restringidos

Algoritmos Geneacuteticos Paralelos Alicia Morales-Reyes

Introduccioacuten Las teacutecnicas evolutivas son aptas para su paralelizacioacuten tanto a nivel algoriacutetmico como a nivel de ejecucioacuten En particular los algoritmos geneacuteticos (AGs) han sido investigados desde esta perspectiva y esquemas paralelos han surgido desde el inicio de su desarrollo La paralelizacioacuten de los AGs persigue la mejora de su desempentildeo algoriacutetmico en teacuterminos de eficiencia y eficacia y la reduccioacuten de tiempos de ejecucioacuten en sus distintos dominios de aplicacioacuten

Una clasificacioacuten general de los Algoritmos Geneacuteticos Paralelos (AGPs) los agrupa por su granularidad en AGPs de grano fino y grueso Los AGPs de grano grueso dividen la poblacioacuten agrupada en panmixia en varias sub-poblaciones permitiendo la migracioacuten de individuos entre 1

eacutestas De esta forma se reduce el nuacutemero de individuos en cada unidad de procesamiento En consecuencia se establece un fuerte viacutenculo entre la algoritmia y la implementacioacuten de estas teacutecnicas Sin embargo utilizar una uacutenica unidad de procesamiento para la evolucioacuten de varias sub-poblaciones ha sido un contexto tambieacuten explorado como un mecanismo de mejora del desempentildeo algoriacutetmico

Los AGPs de grano grueso tambieacuten llamados Algoritmos Geneacuteticos distribuidos (AGds) han permitido la exploracioacuten de nuevas vertientes de la versioacuten estaacutendar de los AGs Tener diferentes paraacutemetros de configuracioacuten para realizar las operaciones geneacuteticas implementar granularidades distintas incorporar el operador de migracioacuten han sido caracteriacutesticas a explorar que pueden culminar en un mejor desempentildeo de los AGs

En la figura 1 se muestra un diagrama de un AG distribuido Cada poblacioacuten es centralizada y se necesitan definir criterios en teacuterminos de tasa y frecuencia de migracioacuten Tambieacuten se necesita definir si la migracioacuten seraacute siacutencrona o asiacutencrona Herrera et al presentaron un esquema de un AGP distribuido con poblaciones heterogeacuteneas Utilizaron la estructura de un hipercubo posicionando en cada veacutertice una sub-poblacioacuten Dependiendo de la ubicacioacuten de cada sub-poblacioacuten la buacutesqueda implica mayor explotacioacuten o exploracioacuten Esto se logra de manera interna viacutea la configuracioacuten de los operadores geneacuteticos De esta forma se procura mantener la diversidad de soluciones de forma global y asiacute mejorar la calidad de las soluciones encontradas

Una poblacioacuten en panmixia es aquella donde todos sus individuos sin restricciones pueden 1

reproducirse entre si

Diagrama poblacional de un AGP distribuido o de grano grueso

La principal diferencia entre los AGP de grano fino con respecto a los AGP distribuidos o de grano grueso es la descentralizacioacuten de su poblacioacuten y en consecuencia la localizacioacuten del proceso de seleccioacuten de individuos En la figura 2 se muestra un esquema poblacional de un AGP de grano fino tambieacuten conocido como AG celular (AGc) De manera comuacuten se utiliza una topologiacutea de malla conectada de forma toroidal como lo muestra la figura Un individuo de la poblacioacuten se ubica en cada cruce de la malla y alrededor de eacutel se define un vecindario cuyas soluciones participan en los procesos de seleccioacuten recombinacioacuten y mutacioacuten para la evolucioacuten de eacuteste En la figura 2 se ilustra un vecindario tipo Moore con 9 individuos

En los AGs celulares cada individuo o solucioacuten interactuacutea con sus vecinos maacutes cercanos logrando de esta forma el esparcimiento suave de las soluciones a traveacutes de la malla debido al traslape de vecindarios En los AGs distribuidos la asociacioacuten entre soluciones se pierde en comparacioacuten con los AGs celulares Esta es otra caracteriacutestica importante de los AGc que permite la exploracioacuten global del espacio de buacutesqueda mientras que localmente los individuos explotan la regioacuten cercana a su ubicacioacuten

Diagrama poblacional del AG celular o de grano fino

La paralelizacioacuten de los algoritmos evolutivos en particular de los algoritmos geneacuteticos persigue distintos objetivos Por ejemplo la evolucioacuten simultaacutenea de sub-poblaciones lo cual permite descubrir nueva rutas para solucionar un problema y en consecuencia reducir el nuacutemero de generaciones para converger a la solucioacuten oacuteptima Aunado a esto los tiempos de procesamiento pueden tambieacuten acortarse La paralelizacioacuten de AGs se puede realizar a distintos niveles Asiacute mismo es posible la combinacioacuten de sub-poblaciones con distintas dinaacutemicas internas Por ejemplo algunas sub-poblaciones podriacutean evolucionar en un esquema de panmixia y otras en un esquema celular Este tipo de esquemas poblacionales se discutiraacuten a detalle en la subseccioacuten 11

Una operacioacuten importante en los procesos evolutivos de los AGs distribuidos es la migracioacuten de los individuos entre sub-poblaciones Durante el proceso de buacutesqueda uno o maacutes individuos son seleccionados para migrar y reemplazar a otros individuos de otras sub-poblaciones Los criterios de migracioacuten requieren no soacutelo de la tasa y la frecuencia de migracioacuten sino tambieacuten de criterios de seleccioacuten y reemplazo de individuos al llegar a las otras sub-poblaciones El proceso de migracioacuten puede realizarse de forma siacutencrona o asiacutencrona La migracioacuten siacutencrona supone que todas las sub-poblaciones estaacuten en el mismo estado de la buacutesqueda y la migracioacuten de individuos entre sub-poblaciones ocurre de manera simultaacutenea Por otro lado la migracioacuten asiacutencrona supone que cada sub-poblacioacuten determina el momento en que los individuos deben migrar En la sub-seccioacuten 24 se aborda el efecto del sincronismo en los mecanismos de migracioacuten

Cantuacute-Paz et al presentoacute un estudio completo en AGs distribuidos tanto desde el punto de vista teoacuterico como del praacutectico Debido al nuacutemero de paraacutemetros que se deben definir en los AGds Cantuacute-Paz et al iniciaron con la solucioacuten de un problema de optimizacioacuten para determinar el tamantildeo adecuado de las sub-poblaciones para alcanzar una cierta calidad de la misma Utilizaron un modelo matemaacutetico considerando la hipoacutetesis de los bloques constructores propuesta por Holland y extendida por Goldberg El estudio se verifica en varios problemas con un grado alto de precisioacuten mostraacutendose una buena respuesta a la escalabilidad

Para determinar escenarios de operacioacuten liacutemite en teacuterminos de eficiencia analizaron la interaccioacuten de las sub-poblaciones y su efecto en la calidad de las soluciones Previamente se ha investigado el cambio en la calidad de las soluciones debido a la forma de interaccioacuten de las sub-poblaciones Tener sub-poblaciones evolucionando de manera independiente con muy poca o nula interaccioacuten entre ellas resulta en soluciones menos precisas mientras mejores soluciones se obtienen viacutea el esquema de panmixia tradicional Sin embargo cuando se definen criterios de migracioacuten adecuados y un cierto nuacutemero de soluciones migran entre sub-poblaciones a una frecuencia media o baja el desempentildeo en general de los AGds mejora alcanzando en un nuacutemero de casos aceleraciones super-lineales y mejor calidad de las soluciones encontradas Se puede inferir entonces la importancia del operador de migracioacuten el cual seraacute analizado en detalle en la sub-seccioacuten 12

AGds homogeacuteneos y heterogeacuteneos Existen distintos escenarios en los que se pueden definir y aplicar AGds con esquemas poblaciones homogeacuteneos y heterogeacuteneos es decir combinaciones de poblaciones centralizadas y descentralizadas A nivel algoriacutetmico se puede definir la misma o una diferente configuracioacuten de operadores geneacuteticos A partir de esas configuraciones distintas diferentes configuraciones de paraacutemetros se pueden determinar para ejecutar la buacutesqueda en cada sub-poblacioacuten Por ejemplo distintas definiciones del operador de recombinacioacuten o bien de las probabilidades de mutacioacuten pueden operar sobre los individuos de cada sub-poblacioacuten La comunidad en el aacuterea ha incluso explorado escenarios donde las soluciones se representan de manera distinta entre sub-poblaciones Por otro lado a nivel de implementacioacuten se han explorado esquemas con sub-poblaciones heterogeacuteneas Por ejemplo Alba et al realizoacute un estudio en distintas plataformas de coacutemputo ejecutando sub-poblaciones en panmixia y celulares

Como se puede apreciar el desarrollo de un esquema de AG paralelos ya sean distribuidos o descentralizados conlleva la definicioacuten de un nuacutemero de paraacutemetros que afectaraacute de manera importante su desempentildeo algoriacutetmico Otro ejemplo es la solucioacuten de problemas de optimizacioacuten en espacios continuos que se han abordado a traveacutes de un esquema de AGP utilizando una versioacuten mejorada con cromosomas codificados con nuacutemeros reales Para esto se

definioacute una topologiacutea doble con un hipercubo que se comparoacute con una topologiacutea sencilla Las sub-poblaciones ubicadas en sus veacutertices promoviacutean mayor o menor exploracioacuten u explotacioacuten de las regiones viacutea la configuracioacuten de los operadores geneacuteticos La migracioacuten entre las sub-poblaciones afectoacute directamente los tiempos de ejecucioacuten por medio de la reduccioacuten del nuacutemero de evaluaciones La capacidad de buacutesqueda de la topologiacutea doble superoacute a la de la topologiacutea sencilla

Cuando pensamos en paralelizar alguna teacutecnica algoriacutetmica nos viene a la mente acelerar los procesos de ejecucioacuten Sin embargo la paralelizacioacuten de los algoritmos evolutivos podriacutea mejorar tanto los procesos de buacutesqueda algoriacutetmica como los tiempos de ejecucioacuten Es asiacute que a nivel de implementacioacuten se utilizado coacutemputo heterogeacuteneo para la evaluacioacuten de esquemas de AGPs Por ejemplo Alba et al propusieron utilizar una plataforma heterogeacutenea en la cual distintos sistemas operativos con distintas restricciones de ejecucioacuten implementaban un modelo de AGPs distribuidos Las sub-poblaciones se conectaron en un arreglo de anillo unidireccional cada sub-poblacioacuten ejecutaba un modelo poblacional de estado estable A cada generacioacuten se produciacutea un individuo que reemplazaba a la peor solucioacuten obtenida Se establecioacute un esquema de migracioacuten asiacutencrona que demostroacute mejores resultados ver 3 En general se observoacute un mejor desempentildeo de la ejecucioacuten del esquema paralelo en la plataforma heterogeacutenea en comparacioacuten con la homogeacutenea se redujo el nuacutemero de evaluaciones debido a la explotacioacuten de soluciones a distintas tasas de migracioacuten

AGP con topologiacutea poblacional de anillo unidireccional implementada en una plataforma de coacutemputo heterogeacutenea La migracioacuten entre sub-poblaciones es asiacutencrona y responde a una dinaacutemica de estado estable

Migracioacuten en AGPs Como se explicoacute anteriormente la incorporacioacuten de un nuevo operador llamado migracioacuten se hace latente en los esquemas paralelos de los AGs En los esquemas de grano grueso donde se tienen sub-poblaciones de grano fino y grueso evolucionando simultaacuteneamente la migracioacuten se debe considerar como un mecanismo que introduce nuevos individuos y por lo tanto promueve o restaura la diversidad entre sub-poblaciones De forma distinta en los AGs celulares o de grano fino un mecanismo de migracioacuten impliacutecito trabaja durante el proceso de buacutesqueda debido al traslape de vecindarios que permite la difusioacuten de soluciones a lo largo y ancho de la topologiacutea definida para la poblacioacuten Este mecanismo de migracioacuten es inherente a la estructura de los AGs celulares y no requiere de un paraacutemetro de frecuencia o tasa de migracioacuten o ninguacuten otro mecanismo de seleccioacuten y reemplazo

Revisaremos ahora evaluaciones empiacutericas que se han realizado a criterios de migracioacuten definidos para AGPs de grano grueso Aunque estos criterios son definidos para este tipo de esquemas paralelos tambieacuten es posible aplicar un segundo criterio migratorio en AGs celulares ademaacutes del mecanismo natural inherente a estos

Para establecer un criterio de migracioacuten adecuado y mejorar el desempentildeo algoriacutetmico de los AGPs de grano grueso se examinaron los casos liacutemite para aplicar el proceso de migracioacuten Se

sugiere mantener un cierto nivel de aislamiento entre las sub-poblaciones Si la sub-poblacioacuten evoluciona en completo aislamiento las mejoras en diversidad son miacutenimas y por ende la capacidad de buacutesqueda se ve reducida Por otro lado si se aplica el operador de migracioacuten con una frecuencia maacutexima el costo computacional se incrementa de manera significativa Por lo tanto el objetivo de la migracioacuten es evitar el aislamiento entre sub-poblaciones mientras se mantiene un nivel aceptable de comunicacioacuten entre eacutestas

Es posible calcular experimentalmente el nuacutemero adecuado de unidades de procesamiento para minimizar el tiempo de ejecucioacuten de un esquema de AGPs El anaacutelisis considera casos liacutemite en teacuterminos de conectividad entre sub-poblaciones es decir el caso de tener frecuencias de migracioacuten miacutenimas y maacuteximas La conclusioacuten teoacuterica para una poblacioacuten indica que el nuacutemero

oacuteptimo de unidades de procesamiento estaacute dado por donde es el tamantildeo de la

poblacioacuten es el tiempo de coacutemputo de la funcioacuten objetivo de un individuo y es el tiempo promedio de comunicacioacuten para una unidad de procesamiento Esto quiere decir que dividiendo una poblacioacuten en sub-poblaciones distribuidas en muacuteltiples unidades de procesamiento reduce el tiempo global de ejecucioacuten La misma conclusioacuten se logroacute para un esquema de muacuteltiples poblaciones considerando ademaacutes la evaluacioacuten de funciones objetivo separables Esto quiere decir que utilizar un nuacutemero de unidades de procesamiento en un esquema evolutivo paralelo tiene un impacto positivo en la reduccioacuten de los tiempos de ejecucioacuten

Es tambieacuten importante analizar el efecto de los criterios de migracioacuten que se utilizan en esquemas de AGPs de grano grueso El objetivo principal es determinar coacutemo el operador de migracioacuten afecta la presioacuten de seleccioacuten inducida e impliacutecitamente poder explicar las aceleraciones super-lineales que se pueden modelar para este tipo de esquemas La forma en que los individuos se seleccionan para migracioacuten y reemplazo tienen un efecto considerable en la presioacuten de seleccioacuten y se ha observado que tasas altas de migracioacuten producen un incremento en eacutesta Tener una presioacuten de seleccioacuten alta afecta la buacutesqueda al producir una convergencia prematura a un oacuteptimo local

Aunque la operacioacuten de migracioacuten se ha investigado principalmente para esquemas de AGPs de grano grueso tambieacuten se ha revisado su efecto en AGPs de grano fino considerando tanto el mecanismo de migracioacuten impliacutecita viacutea el traslape de vecindarios como la definicioacuten de criterios para migracioacuten de individuos desde y hacia distintas posiciones de la topologiacutea de malla definida para la poblacioacuten Por ejemplo se han utilizado estructuras de aacuterboles binarios para dividir una topologiacutea de malla de dos dimensiones en formaciones conceacutentricas de individuos definiendo para cada formacioacuten criterios de migracioacuten distintos El intercambio de individuos entre estas

OnTf

Tcn

Tf Tc

formaciones definidas por su estructura alenta el proceso de buacutesqueda permitiendo una mayor exploracioacuten Los resultados mostraron un mejor desempentildeo en la solucioacuten de problemas de optimizacioacuten con restricciones el operador de mutacioacuten se aplica para evitar la presencia de super individuos que pueden dirigir la buacutesqueda al estancamiento conquistando la topologiacutea de malla mucho maacutes raacutepido En la siguiente seccioacuten se abordaraacute el comportamiento de los AG celulares o de grano fino

AGs celulares o de grano fino Los AGs celulares o de grano fino se construyen a partir de poblaciones descentralizadas donde los individuos interactuacutean con otros individuos ubicados dentro de un vecindario definido Es decir interactuacutean con los vecinos maacutes cercanos Usualmente los AGCs se implementan en topologiacuteas de mallas de -dimensionales manteniendo conexiones toroidales entre los cruces de malla utilizando formas comunes como una malla lineal cuadrada o rectangular

El procesamiento de los AG celulares corresponde al de los Autoacutematas Celulares (ACs) Estos determinan una regla global que define un comportamiento especiacutefico que se construye a partir de reglas locales Se han explorado ACs de una dos y tres dimensiones en combinacioacuten con AGs con la finalidad de evolucionar el comportamiento global requerido Esta combinacioacuten de un AC y un AG originoacute el nombre de AG celular con la diferencia de tener una representacioacuten maacutes elaborada en cada cruce de la malla cromosomas Se observoacute que la informacioacuten de las reglas locales o individuos alcanzaba distancias lejanas dentro de la malla definida esto debido al traslape de los vecindarios De esta forma se determinoacute que la informacioacuten se mueve entre vecindarios permitiendo acelerar el proceso de crear nuevos comportamientos ad-hoc al problema que se esteacute solucionando y con una peacuterdida miacutenima de informacioacuten

El pseudocoacutedigo [algCellularGeneticAlgorithmPseudocode] es el estaacutendar de un AG celular En un primer paso se genera una poblacioacuten inicial de forma aleatoria ubicando cada individuo en un cruce de la topologiacutea de malla Esta poblacioacuten inicial se evaluacutea de acuerdo a la funcioacuten objetivo del problema a resolver Posteriormente da inicio el ciclo reproductivo principal Se define un vecindario local con individuos ubicados de forma cercana A partir de eacutestos y del individuo ubicado en el cruce de la malla se seleccionan a los padres para reproducirse Existen distintos meacutetodos de seleccioacuten que se utilizan en los AG celulares Se pueden utilizar los que comuacutenmente se aplican en los AGs con poblaciones centralizadas como el torneo binario ruleta o seleccioacuten determinista Existen tambieacuten otros meacutetodos especiacuteficos a los AG celulares como son la seleccioacuten ceacutentrica o anisotroacutepica Una vez seleccionados los padres se recombinan y los hijos se mutan No hay diferencia entre la aplicacioacuten de los operadores de recombinacioacuten y mutacioacuten con respecto a los AG tradicionales

n

Debido a la descentralizacioacuten de la poblacioacuten el reemplazo de eacutesta puede ocurrir de forma siacutencrona o asiacutencrona El reemplazo asiacutencrono requiere del almacenaje temporal de la poblacioacuten hasta que todos los individuos concluyen su ciclo reproductivo El reemplazo siacutencrono requiere de la definicioacuten del criterio para implementarla Los distintos criterios que se han utilizado para el reemplazo se explicaraacuten en la sub-seccioacuten 24

poblacioacuten inicial evaluacioacuten seleccioacuten de padres vecinario L5 recombinacioacuten mutacioacuten evaluacioacuten reemplazo

Explotacioacutenexploracioacuten por propiedades estructurales Debido a la descentralizacioacuten de la poblacioacuten y la definicioacuten de una topologiacutea de malla las caracteriacutesticas estructurales de los AG celulares tienen un impacto importante en los procesos de buacutesqueda La forma y la dimensioacuten de la topologiacutea el nuacutemero de individuos dentro del vecindario entre otras son caracteriacutesticas de la estructura que necesitan definirse Ademaacutes otras operaciones durante el ciclo evolutivo como el proceso de seleccioacuten local el reemplazo de individuos criterios de migracioacuten entre otras estaacuten tambieacuten asociadas a estas caracteriacutesticas de estructura

La topologiacutea de malla que es comuacutenmente utilizada en los AG celulares se muestra en la figura 2 Se ha reportado que distintas formas de malla en combinacioacuten con distintos tipos de vecindarios inducen una mayor o menor presioacuten de seleccioacuten Para modelar el efecto de ambas estructuras se utiliza un patroacuten de dispersioacuten con puntos (la posicioacuten de cada solucioacuten en la malla) a partir de una posicioacuten central con coordenadas Se calcula la medida de dispersioacuten debido a que otras medidas como el radio de una circunferencia indicariacutea el mismo valor para topologiacuteas distintas La relacioacuten entre el vecindario y la topologiacutea o radii se calcula de la siguiente forma

donde y La razoacuten o radii entre el vecindario y la topologiacutea de

malla estaacute dada por

(x) larr random(x0) (f ) larr evaluat ion(x)(f1 f2) larr seleccion(f fN fE fS fW)(x1 x2) larr seleccion(x xN xE xS xW) (x prime1 x prime2 ) larr recombinacion(x prime1 x prime 2 )

(x1Prime x2Prime) larr mutacion(x prime1 x prime2 ) (fnew) larr evaluacion(x1Prime x2Prime)(f x) larr reemplazo(fnew xnew)

p(x0 y0)

D =sum (xi minus x)2 + sum (yi minus y)2

p

(x ) =sump

i=1 xi

p (y) =sump

i=1 yi

p

Esta medida se conoce como la razoacuten vecindario-malla (RVM) Formas y tamantildeos diferentes de vecindarios y topologiacuteas proporcionan una medida distinta de RVM ver figura 4

Ejemplos de formas de vecindarios y topologiacuteas de malla

NGR =Dvecindario

Dmalla

Razoacuten vecindario-malla para diferentes topologiacuteas de malla y tamantildeos de poblacioacuten con un vecindario L5

[figL5_variableLattice]

Una topologiacutea de malla cuadrada con un vecindario es una configuracioacuten comuacutenmente utilizada en la implementacioacuten de AG celulares En la figura [figL5_variableLattice] la razoacuten vecindario-malla se ilustra para distintos tamantildeos de poblacioacuten con vecindario Tres formas de malla se evaluacutean cuadrada rectangular y lineal Las curvas de la RVM muestran razones altas para mallas cuadradas y razones bajas para topologiacuteas lineales La RVM se asocia a la presioacuten de seleccioacuten inducida en AG celulares debido a sus caracteriacutesticas estructurales Para comprender esto de mejor manera otro concepto importante es necesario el nuacutemero de generaciones que toma al mejor individuo de una poblacioacuten inicial esparcir su solucioacuten en todas las direcciones de la topologiacutea de malla es decir conquistarla a partir de aplicar uacutenicamente el operador de seleccioacuten Un nuacutemero de generaciones alto indica una baja presioacuten de seleccioacuten es decir una buacutesqueda principalmente explorativa Por el contrario un nuacutemero de reducido de generaciones implica una alta presioacuten de seleccioacuten y por tanto una buacutesqueda orientada a la explotacioacuten del espacio de buacutesqueda

L5

L5

Los AG celulares son teacutecnicas flexibles con un nuacutemero de paraacutemetros que pueden configurarse Por ejemplo es posible pensar en modificar en tiempo de buacutesqueda las topologiacuteas de malla tamantildeos y formas de vecindarios como una forma de control de la presioacuten de seleccioacuten inducida Las modificaciones de la configuracioacuten pueden realizarse de manera constante definiendo un nuacutemero de generaciones o bien de forma adaptativa midiendo generacioacuten a generacioacuten el comportamiento por ejemplo de la diversidad en el espacio de fenotipos y genotipos modificando entonces las configuraciones de estructura de manera que se promueva la exploracioacuten o la explotacioacuten del espacio de buacutesqueda

Presioacuten de seleccioacuten por caracteriacutesticas estructurales

El matemaacutetico belga Pierre Verhulst en el siglo XIX estudioacute modelos logiacutesticos de crecimiento para describir sistemas bioloacutegicos bajo condiciones de recursos limitados Considerando una poblacioacuten en panmixia de cierto tamantildeo y un nuacutemero de copias del mejor individuo en un tiempo discreto dado por la tasa de crecimiento se expresa a traveacutes del siguiente modelo de recurrencia discreto

$$beginaligned

N left( 0 right) = 1 quad quad quad quad quad quad quad quad quad quad quad quad notag

N left( t right) = N left( t - 1 right) + p_s tamPob N left(t-1right) left(1 - left(frac1tamPobright) N left(t-1right)right)endaligned$$

donde es la probabilidad de seleccioacuten de un individuo y se puede aproximar por la ecuacioacuten logiacutestica continua

donde es la probabilidad Aunque se obtienen curvas de crecimiento similares el comportamiento en poblaciones estructuradas o descentralizadas no es exponencial sino polinomial como fue sugerido por Spiessen y Manderick in De este modo las caracteriacutesticas estructurales necesitan considerarse en el modelo matemaacutetico de la tasa de crecimiento para AG celulares Si se evaluacutea un caso liacutemite donde el mejor individuo dentro del vecindario se selecciona siempre para reemplazar al individuo actual o central (al vecindario) es decir

tamPobt N(t)

ps N(t)

N(t) =tamPob

1 + ( tamPobN(0) minus 1)eminusαt

α ps

ps = 1

y se define un tamantildeo de poblacioacuten donde determina una topologiacutea de malla cuadrada y un vecindario local con radio La tasa de crecimiento del mejor individuo estaacute dada por

$$beginaligned

N left( 0 right) = 1 quad quad quad quad quad quad quad quad quad quad quad quad notag

N left( t right) = N left( t-1 right) + 4r^2t - 2rleft( r+1 right) quad 0 leq t leq fracleft(sqrttamPob-1right)2

N left( t right) = N left( t-1 right) - 4r^2t + 4r sqrttamPob - 2rleft(r+1right) quad t geq fracleft(sqrttamPob-1right)2 notagendaligned$$

que en su forma cerrada queda como

$$beginaligned

N left( t right) = 2r^2t^2 + 2r left(2r + 1 right)t + 1 quad 0 leq t leq fracleft(sqrttamPob-1right)2

N left( t right) = -2r^2t^2 + 2rleft(2sqrttamPob - 3r - 1 right)t + 1 quad t geq fracleft(sqrttamPob-1right)2 notagendaligned$$

En la figura 5 se ilustra la razoacuten de crecimiento para una poblacioacuten de individuos con un vecindario local tipo ver figura 4

Tasa de crecimiento teoacuterica en una topologiacutea de malla toroidal cuadrada y un vecindario local tipo Moore con probabilidad de seleccioacuten

Si se considera la probabilidad variable y cada individuo tiene probabilidades de seleccioacuten distintas probabilidad para el individuo central y para cada individuo dentro de un vecindario tipo El modelado de la recurrencia exacta se vuelve muy complicado Para poder construir un modelo completo se recurre a modelos maacutes simples en donde la tasa de crecimiento se describe como la expansioacuten de un cuadrado rotado con una

tamPob tamPob times tamPobr

81C9

ps = 1

psp0 p1 p2 p3 p4 p8

C9

longitud por lado de y diagonal La tasa de crecimiento de los

individuos con probabilidad variable contenidos dentro del cuadrado rotado estaacute dada por la siguiente recurrencia

$$beginaligned

N left( 0 right) = 1 quad quad quad quad quad quad quad quad quad quad quad quad notag

N left( t right) = N left( t-1 right) + 4p_i sqrtfracNleft(t-1right)2 quad N left( t right) leq fractamPob2

N left( t right) = N left( t-1 right) + 4p_i sqrttamPob - N left( t-1 right) quad N left( t right) gt fractamPob2 notagendaligned$$

Encontrar una forma cerrada de este modelo es una tarea complicada de acuerdo a autores reconocidos del aacuterea En la figura 6 se muestra la tasa de crecimiento probabilista como ejemplo de la dificultad que representa su modelado matemaacutetico

Tasa de crecimiento probabilista para una topologiacutea de malla toroidal cuadrada con vecindario local y probabilidad de seleccioacuten variable

Anaacutelisis empiacuterico

Es posible tener una aproximacioacuten empiacuterica del tiempo para el dominio de la topologiacutea de malla A continuacioacuten se presenta un ejemplo utilizando como meacutetodo de seleccioacuten local torneo binario y ejecuciones por configuracioacuten fueron evaluadas En la figura [figL5_growthRates] se muestran las distintas tasas de crecimiento para la conquista de la malla considerando un tamantildeo de la poblacioacuten de individuos con las siguientes formas de topologiacutea de malla 1)

cuadrada 2) rectangular y 3) lineal La diferencia entre los

tiempos de dominio es evidente Topologiacuteas de malla lineales proveen una difusioacuten maacutes lenta del

s = N(t) d =N(t)

2pi

ps

50

400

400 times 400 10 times40010

4 times400

4

mejor individuo para conquistar la malla y por ende menor presioacuten de seleccioacuten y un comportamiento principalmente explorativo Por otro lado en topologiacuteas de malla cuadradas la solucioacuten del mejor individuo conquista la malla raacutepidamente en un nuacutemero menor de generaciones Es decir tiene un comportamiento con alta presioacuten de seleccioacuten y por ende una buacutesqueda caracterizada por una mayor explotacioacuten del espacio de buacutesqueda Desde este punto de vista se ha investigado tambieacuten la posibilidad de modificacioacuten dinaacutemica de las propiedades estructurales en tiempo de buacutesqueda Se han reportado mejores desempentildeos algoriacutetmicos bajo estos criterios

Tasas de crecimiento promedio del mejor individuo en topologiacuteas de malla cuadrada rectangular y lineal con vecindario La tasa promedio de crecimiento se calcula con base en 50 experimentos y aplicando uacutenicamente el operador de seleccioacuten

[figL5_growthRates]

Aceleracioacuten en AGP Un tema controversial en AGPs son las aceleraciones que esquemas distribuidos y celulares pueden alcanzar El caacutelculo teoacuterico de estas aceleraciones es una medida aceptada para determinar su eficiencia Calcular la razoacuten entre el tiempo promedio de ejecucioacuten de la mejor versioacuten secuencial de un AG y otra teacutecnica de buacutesqueda no evolutiva con respecto al tiempo

L5

promedio de ejecucioacuten de un AG paralelo corriendo en un determinado nuacutemero de procesadores proporciona la aceleracioacuten alcanzada por este uacuteltimo Aceleraciones sub-lineales indican que esta razoacuten es menor que el nuacutemero de procesadores utilizados en la ejecucioacuten del AGP Aceleraciones lineales indican que esta relacioacuten es igual mientras aceleraciones super-lineales indican que la razoacuten es mayor que el nuacutemero de procesadores utilizados

Un medida estricta para medir las aceleraciones de los AGPs involucrariacutea una comparacioacuten con la mejor versioacuten secuencial de un AG lo cual es difiacutecil de determinar Considerar el desempentildeo de un AG secuencial como referencia en conjunto con una condicioacuten de paro que evaluacutee la misma calidad de soluciones en todas las muestras experimentales podriacutea permitir una comparacioacuten justa en teacuterminos de aceleracioacuten entre esquemas paralelos y secuenciales

Los AGPs tienen tres caracteriacutesticas que permiten su aceleracioacuten 1) dividir el espacio de buacutesqueda en diversas aacutereas de exploracioacuten implementadas en distintas unidades de procesamiento 2) reducir la carga de procesamiento por medio de la distribucioacuten de la poblacioacuten en un nuacutemero de unidades de procesamiento y 3) operadores geneacuteticos aplicados a estructuras de datos reducidas

Al analizar comparativamente las tasas de aceleracioacuten de los AG distribuidos con sub-poblaciones en panmixia en comparacioacuten con el desempentildeo de un AG secuencial las aceleraciones calculadas resultan excesivas Sin embargo cuando se considera la distribucioacuten de las sub-poblaciones en un nuacutemero de unidades de procesamiento las tasas de aceleracioacuten son moderadas

Una de las caracteriacutesticas maacutes importantes en los AGPs es el operador de migracioacuten Analizar el comportamiento de este operador bajo distintos criterios como la sincroniacutea o asincroniacutea de migrar individuos entre las sub-poblaciones afecta directamente el desempentildeo de la buacutesqueda Entre los comportamientos con importancia significativa se ha observado que utilizar bajas frecuencias de migracioacuten en combinacioacuten con una comunicacioacuten asiacutencrona entre sub-poblaciones permite una mayor aceleracioacuten Este resultado considera sub-poblaciones en panmixia con la misma configuracioacuten de paraacutemetros

Concepto de sincronismo en AGPs En los AGPs tanto distribuidos como celulares el concepto de sincroniacutea aplica de forma distinta En un AGP distribuido el operador de migracioacuten estaacute directamente relacionado con la comunicacioacuten entre sub-poblaciones y por ende la sincroniacutea con que eacutesta ocurre Por otro lado en AGP de grano fino o celulares la sincroniacutea estaacute relacionada con la actualizacioacuten de soluciones durante el proceso evolutivo Esto se explica a continuacioacuten a mayor detalle

En AGPs distribuidos viacutea migracioacuten

Varios autores han investigado el efecto del sincronismo a traveacutes de la migracioacuten de individuos entre sub-poblaciones Se han considerado varios escenarios tales como tener un conjunto de sub-poblaciones en panmixia y tener sub-poblaciones descentralizadas un tercer escenario que se ha considerado es tener una combinacioacuten de sub-poblaciones en panmixia y descentralizadas Los tres esquemas han sido evaluados no soacutelo a nivel algoriacutetmico sino de implementacioacuten en plataformas de coacutemputo para procesamiento paralelo

Utilizando un esquema de procesamiento de instrucciones muacuteltiples - datos muacuteltiples con un esquema homogeacuteneo de sub-poblaciones se verificoacute el comportamiento de distintas frecuencias de migracioacuten definidas como muacuteltiplos del tamantildeo de la poblacioacuten Esto representa que la migracioacuten es nula cuando la frecuencia es cero lo que implica que la evolucioacuten es independiente de las sub-poblaciones Localmente los operadores geneacuteticos fueron configurados de la misma forma En general los resultados mostraron un mejor desempentildeo cuando la comunicacioacuten entre sub-poblaciones es asiacutencrona y la frecuencia de migracioacuten es baja En este sentido el tener sub-poblaciones descentralizadas permite una mejor eficacia que cuando se tienen sub-poblaciones en panmixia Las tasas de aceleracioacuten tambieacuten se analizaron Bajas frecuencias de migracioacuten reportaron aceleraciones lineales para sub-poblaciones descentralizadas y super-lineales para sub-poblaciones en panmixia

Se ha podido verificar el funcionamiento de los AGPs ampliando la gama de problemas de prueba a aquellos del dominio continuo El uso de un esquema paralelo distribuido con sub-poblaciones en panmixia y un ciclo evolutivo de estado estable donde solamente una solucioacuten se actualiza en cada generacioacuten logroacute obtener soluciones de mejor calidad Ademaacutes de la influencia de la frecuencia con la que se ejecuta la operacioacuten de migracioacuten la seleccioacuten aleatoria de individuos migrantes demostroacute tambieacuten un mejor desempentildeo que la seleccioacuten de los mejores individuos para migrar El mejor desempentildeo continuacutea siendo a partir de la aplicacioacuten de frecuencias de migracioacuten bajas ahora en combinacioacuten con la seleccioacuten aleatoria de soluciones para migrar En problemas de optimizacioacuten en el dominio continuo con oacuteptimos locales engantildeosos en sus espacios de buacutesqueda los esquemas de sub-poblaciones descentralizadas superaron el desempentildeo de aquellos con sub-poblaciones en panmixia ademaacutes de responder mejor a frecuencias de migracioacuten altas Las tasas de aceleracioacuten tambieacuten se relacionan con la operacioacuten de la migracioacuten a frecuencias de migracioacuten alta se obtienen mayores tasas de aceleracioacuten en ambos esquemas poblacionales

Es posible tambieacuten considerar un esquema de AGPs con sub-poblaciones tanto en panmixia como descentralizadas utilizando un esquema de coacutemputo heterogeacuteneo distribuido Las tasas de

aceleracioacuten que se alcanzan en estos caso son super-lineales viacutea el esquema sub-poblacional mixto

En AGP celulares viacutea criterios de actualizacioacuten

En los AGPs de grano fino o celulares el concepto de sincronismo se asocia a los criterios de actualizacioacuten de las soluciones Se consideran diversos escenarios como son 1) barrido liacutenea a liacutenea 2) barrido fijo aleatorio 3) barrido aleatorio 4) seleccioacuten uniforme Cada unos de estos criterios de actualizacioacuten de soluciones se puede ejecutar de manera siacutencrona o asiacutencrona La actualizacioacuten siacutencrona se refiere a que la poblacioacuten completa se genera a partir de los individuos actuales En contraste la actualizacioacuten asiacutencrona quiere decir que los individuos se actualizan despueacutes de su proceso evolutivo a nivel local entonces los individuos en una generacioacuten han evolucionado de hijos generados durante esta

El barrido liacutenea a liacutenea es la forma maacutes sencilla de actualizar soluciones en una topologiacutea de malla con conexioacuten toroidal Haciendo el barrido secuencial de ubicacioacuten de las soluciones por liacutenea o por columna se ejecuta la actualizacioacuten de estas El barrido aleatorio fijo consiste en elegir de forma aleatoria una solucioacuten sin reemplazo con una probabilidad uniforme En cada generacioacuten se determina una distribucioacuten diferente para la actualizacioacuten de los individuos La actualizacioacuten uniforme elige de forma aleatoria con una probabilidad uniforme una solucioacuten con reemplazo Esto quiere decir que una solucioacuten puede ser actualizada maacutes de una vez en un mismo ciclo reproductivo

Tambieacuten se ha buscado modelar formalmente el comportamiento de los distintos criterios de actualizacioacuten de soluciones considerando ambos criterios de sincronismo Los criterios siacutencronos de actualizacioacuten presentan menores tasas de crecimiento de la mejor solucioacuten en la topologiacutea de malla Es decir la buacutesqueda se ejecuta promoviendo la exploracioacuten cuando se sigue un criterio de actualizacioacuten uniforme Aplicar un barrido aleatorio o lineal para la actualizacioacuten de soluciones representa tasas maacutes altas de crecimiento pero no alcanza a aquellas de las poblaciones en panmixia La principal caracteriacutestica que se aprecia es que las poblaciones en panmixia promueven la explotacioacuten del espacio de buacutesqueda en mayor grado que los AGPs descentralizados o celulares

Finalmente se puede concluir despueacutes de la evaluacioacuten de los criterios siacutencronos y asiacutencronos en una variedad de problemas de optimizacioacuten combinatorios y del dominio continuo que la actualizacioacuten asiacutencrona de soluciones mejora el desempentildeo algoriacutetmico en teacuterminos de eficiencia y eficacia en comparacioacuten con el criterio asiacutencrono en teacuterminos del nuacutemero de generaciones necesarias para converger a la solucioacuten del problema

Discusioacuten En este capiacutetulo se presentaron los distintos esquemas poblaciones que se consideran en la paralelizacioacuten de los AGs Se introdujo el principal operador que distingue a estos esquemas evolutivos el operador de migracioacuten y su efecto en los procesos de buacutesqueda Tambieacuten se introdujeron de manera detallada los esquemas paralelos de AGs de grano fino o celulares y la manera en que las caracteriacutesticas estructurales de estos pueden afectar directamente la exploracioacuten y explotacioacuten del espacio de buacutesqueda Se abordoacute tambieacuten el tema de las aceleraciones que se pueden alcanzar viacutea la paralelizacioacuten de grano fino y grueso de los AGPs Este anaacutelisis incluye los escenarios teoacutericos y reales de las tasas de aceleracioacuten que se pueden alcanzar Finalmente se revisoacute el concepto de sincronismo en ambos esquemas de paralelizacioacuten el cual se observoacute que afecta de manera positiva el desempentildeo algoriacutetmico

Los esquemas paralelos de los algoritmos geneacuteticos permiten obtener un mejor desempentildeo de los procesos de buacutesqueda Sin embargo se debe considerar una serie de paraacutemetros que se necesitan definir y que requeriraacuten la intervencioacuten de un usuario Es importante destacar tambieacuten que la mejora en el desempentildeo se puede apreciar tanto a nivel algoriacutetmico como a nivel de procesamiento Es necesario tambieacuten indicar que la seleccioacuten de la plataforma de coacutemputo paralelo ya sea distribuida o no implicaraacute costos de comunicacioacuten que deben ser considerados para las tasas de aceleracioacuten que se pretendan alcanzar

Investigacioacuten de AGPs en Meacutexico En Meacutexico investigadoras e investigadores en distintas instituciones y centros de investigacioacuten se han dado a la tarea de explorar esquemas evolutivos que utilizan AGPs Por ejemplo esquemas de AGPs de grano fino para solucionar problemas de optimizacioacuten mono-objetivo sin restricciones y problemas combinatorios han sido desarrollados en El objetivo en esos trabajos es el estudio del efecto de las caracteriacutesticas estructurales en las topologiacuteas de poblacioacuten descentralizadas utilizando mallas conectadas de forma toroidal Distintos criterios fueron definidos para modificar en tiempo de buacutesqueda la forma de la topologiacutea y sin incrementar el costo computacional verificar la mejora del desempentildeo algoriacutetmico al evaluar una cama prueba con problemas mono-objetivo sin restricciones y combinatorios Los resultados obtenidos fueron alentadores y a partir de estos se extendioacute el estudio de las propiedades estructurales a manipular tambieacuten la dimensioacuten de la topologiacutea de malla y modificarla en tiempo de buacutesqueda resultados positivos de este estudio fueron reportados en

Debido al costo computacional de los AGs en general la aceleracioacuten de estos utilizando plataformas de coacutemputo especializadas ha sido un aacuterea de investigacioacuten tambieacuten desarrollada en Meacutexico Particularmente el disentildeo e implementacioacuten de un arreglo de procesadores flexible para

la aceleracioacuten de los AGs celulares utilizando dispositivos reconfigurables conocidos como arreglos de compuertas programables en el campo (FPGAs por sus siglas en Ingleacutes) se reportoacute en Este trabajo presenta una forma novedosa de dividir a la poblacioacuten descentralizada en un nuacutemero determinado de unidades de procesamiento especialmente disentildeadas para operadores evolutivos manteniendo las conexiones toroidales entre soluciones La flexibilidad del disentildeo consiste en poder definir de acuerdo a las necesidades de usuario el nuacutemero de unidades de procesamiento De este modo un nuacutemero mayor de unidades de procesamiento permitiraacute acelerar la ejecucioacuten del algoritmo y un nuacutemero menor de estas permitiraacute reducir el uso de recursos de hardware

En el aacutembito de la optimizacioacuten multi-objetivo desde la perspectiva del coacutemputo evolutivo utilizando esquemas poblacionales paralelos investigadores en Meacutexico han desarrollado un esquema con base en algoritmos geneacuteticos utilizando muacuteltiples resoluciones La propuesta algoriacutetmica llamada Algoritmo geneacutetico multi-objetivo con resolucioacuten muacuteltiple (MRMOGA por sus siglas en Ingleacutes) consiste de un conjunto de sub-poblaciones las cuales a nivel representacioacuten de soluciones evolucionan con resoluciones distintas lo cual implica la divisioacuten del espacio de buacutesqueda en regiones acotadas y traslapadas El desempentildeo alcanzado por MRMOGA supera los resultados reportados en esquemas evolutivos paralelos en teacuterminos de convergencia y evidencia la necesidad de profundizar el estudio de la escalabilidad de esquemas evolutivos paralelos

Para saber maacutes Dentro de la comunidad cientiacutefica dedicada a la investigacioacuten en las aacutereas de las teacutecnicas algoriacutetmicas evolutivas que desarrollan el concepto de paralelismo se han generado recursos bibliograacuteficos diversos de entre los cuales destacan

bull Algoritmos geneacuteticos paralelos por Gabriel Luque y Enrique Alba

bull Algoritmos evolutivos estructurados espacialmente por Marco Tomassini

bull Algoritmos geneacuteticos celulares por Bernabeacute Dorronsoro y Enrique Alba

bull Algoritmos geneacuteticos paralelos eficientes y precisos por Erick Cantuacute-Paz

Por otro lado entre los grupos de investigacioacuten que se desarrollan en el aacuterea destaca el liderado por el investigador Enrique Alba de la Universidad de Maacutelaga en Espantildea quien en colaboracioacuten con otros investigadores y estudiantes a puesto a disposicioacuten una serie de recursos relacionados en En particular en la seccioacuten de software se encuentran disponibles herramientas para el

disentildeo e implementacioacuten de algoritmos evolutivos paralelos tanto de grano grueso como de grano fino

Programacioacuten Geneacutetica Mario Graff

Daniela Moctezuma

Eric S Tellez

Sabino Miranda-Jimeacutenez

INFOTEC Centro de Investigacioacuten e Innovacioacuten en Tecnologiacuteas de la Informacioacuten y Comunicacioacuten Circuito Tecnopolo Sur No 112 Fracc Tecnopolo Pocitos II Aguascalientes

20313 Meacutexico CentroGEO Centro de Investigacioacuten en Ciencias de Informacioacuten Geoespacial Circuito

Tecnopolo Norte No 117 Col Tecnopolo Pocitos II CP Aguascalientes Ags 20313 Meacutexico CONACyT Consejo Nacional de Ciencia y Tecnologiacutea Direccioacuten de Caacutetedras Insurgentes Sur

1582 Creacutedito Constructor Ciudad de Meacutexico 03940 Meacutexico

Introduccioacuten En este capiacutetulo se presenta una introduccioacuten a Programacioacuten Geneacutetica (PG) asiacute como la descripcioacuten de cada uno de los aspectos que la comprenden las perspectivas de este campo y las aacutereas donde se ha aplicado en Meacutexico PG es un algoritmo de buacutesqueda inspirado en los principios de la evolucioacuten de las especies de Charles Darwin (ver ) Particularmente PG engloba a un conjunto de teacutecnicas de coacutemputo evolutivo las cuales tienen como objetivo solucionar automaacuteticamente problemas partiendo de ejemplos del problema por resolver a traveacutes de expresiones evaluables o programas

La Programacioacuten Geneacutetica ha sido ampliamente utilizada en diferentes dominios siendo capaz de resolver una gran variedad de problemas de alta complejidad muchas veces mejorando las soluciones encontradas por humanos Por ejemplo en la competencia ndashldquoHumies rdquo celebrada 2

anualmente en el marco de la Genetic and Evolutionary Computation Conference (GECCO) la cual premia sistemas bio-inspirados que mejoran las soluciones encontradas por humanos a problemas difiacuteciles mdashdesde 2004 y hasta 2017 PG ha sido galardonada con 8 medallas de oro 5 de plata y 1 de bronce En particular en esta competencia y utlizando PG Meacutexico ha obtenido

13

12

13

13

1

2

3

httpwwwhuman-competitiveorg2

una medalla de bronce En competencias de categorizacioacuten de texto se ha obtenido primer lugar en identificacioacuten de humor y en deteccioacuten de agresividad

En Meacutexico la PG ha sido estudiada y aplicada sobre una gran variedad de dominios empezando por aplicaciones tradicionales como el disentildeo de circuitos loacutegicos regresioacuten simboacutelica identificacioacuten de sistemas modelado de sistemas de manchas solares lluvia temperatura del agua turbinas de gas absorcioacuten de partiacuteculas medicioacuten de la capacidad de automovilistas para el manejo de vehiacuteculos sistemas caoacuteticos deteccioacuten de fallas en transformadores de potencia y modelado cualitativo de sistemas

La PG ha probado su efectividad con respecto a algoritmos tradicionales de aprendizaje de maacutequina en problemas como prediccioacuten de series de tiempo clasificacioacuten generacioacuten de ensambles de clasificadores generacioacuten de prototipos generacioacuten de heuriacutesticas navegacioacuten autoacutenoma generacioacuten de rejillas topograacuteficas y memorias asociativas En el aacuterea de procesamiento de lenguaje natural la PG ha sido utilizada para mejorar la representacioacuten del texto en un espacio vectorial aplicada a problemas de categorizacioacuten de texto en anaacutelisis de sentimientos intensidad de una emocioacuten identificacioacuten de humor y deteccioacuten de agresioacuten entre otras En al aacuterea de visioacuten computacional la PG ha servido para desarrollar nuevas representaciones siguiendo un enfoque de redes profundas representacioacuten de palabras visuales estimacioacuten de exponentes Houmllder en imaacutegenes deteccioacuten de puntos de intereacutes reconocimiento de objetos anaacutelisis de imaacutegenes hiper-espectrales y estimacioacuten de vegetacioacuten En el paiacutes tambieacuten se realiza investigacioacuten teoacuterico-praacutectica sobre la creacioacuten de modelos que permitan predecir su rendimiento como en meacutetodos de muestreo en la funcioacuten objetivo mejoras al algoritmo como en y control de coacutedigo superfluo El lector interesado en la teoriacutea de PG puede revisar los siguientes trabajos paradigmaacuteticos que son referentes indispensables sobre el tema

La idea detraacutes de la PG es evolucionar programas partiendo de una descripcioacuten de lo que debe hacer el programa Tradicionalmente esta descripcioacuten se realiza mediante un conjunto de pares de entrada-salida tal como se hariacutea con la descripcioacuten de una funcioacuten Esta descripcioacuten es similar a la usada en Aprendizaje Supervisado con la diferencia de que en PG no existen tipos definidos para las entradas y las salidas por otro lado en aprendizaje supervisado las entradas estaacuten en un espacio vectorial y su salida es un nuacutemero natural o real Utilizando esta descripcioacuten l a f u n c i o n a l i d a d d e u n p r o g r a m a s e d e f i n e c o m o e l c o n j u n t o donde representa la -eacutesima entrada y es su correspondiente salida En cierta forma la idea es encontrar un programa tal que aplicado a un conjunto de entradas se evaluacutee a las predicciones de tal forma que eacutestas se aproximen a los valores originales donde la similitud se mide por medio de una funcioacuten de aptitud Tal y como sucede en otros algoritmos de aprendizaje la efectividad de no estaraacute en aprender los datos de

119987 = (x0 y0) hellip (xi yi) hellip (xN yN) xi i yif

xi yiyi

f

entrenamiento sino en su capacidad de generalizar a entradas nunca antes vistas El procedimiento de aprendizaje y prediccioacuten se detallaraacute en el resto de este capiacutetulo

La PG comparte muchas similitudes con los Algoritmos Geneacuteticos (AG) De hecho se podriacutea decir que la PG es una generalizacioacuten del AG la diferencia radica en que la PG utiliza una representacioacuten variable para sus soluciones y el AG tiene una representacioacuten fija esta diferencia tiene varias implicaciones las cuales se veraacuten a detalle en el transcurso del capiacutetulo Por el momento veamos las similitudes que comparten ambos enfoques La PG es un algoritmo evolutivo poblacional es decir utiliza un conjunto de soluciones llamado poblacioacuten para hacer un muestreo del espacio de buacutesqueda La buacutesqueda es guiada mediante la seleccioacuten de individuos en la poblacioacuten y los operadores geneacuteticos como son la recombinacioacuten y la mutacioacuten se encargan de generar nuevos individuos es decir nuevos puntos en el espacio de buacutesqueda

El resto del capiacutetulo detalla un sistema de PG tiacutepico empezando por los tipos de evolucioacuten que pueden realizar (seccioacuten 2) la representacioacuten que se utiliza (seccioacuten 3) seguida por la creacioacuten de la poblacioacuten inicial (seccioacuten 4) los operadores que se utilizan para generar un individuo (seccioacuten 5) y finalmente las teacutecnica utilizada para hacer la seleccioacuten (seccioacuten 6)

Proceso evolutivo La evolucioacuten de la poblacioacuten de programas en la PG puede realizarse de dos maneras mediante una evolucioacuten generacional o mediante una evolucioacuten de estado estable Ambos tipos de evolucioacuten requieren una poblacioacuten inicial y la diferencia entre ellas radica en el uso de dicha poblacioacuten para generar individuos y la actualizacioacuten de la misma En la evolucioacuten generacional existen dos tipos de poblaciones la de los padres y la de los nuevos individuos La poblacioacuten de padres es utilizada para generar nuevos individuos y por lo general cuando la poblacioacuten de nuevos individuos tiene el mismo nuacutemero de elementos que la poblacioacuten de padres se procede a mezclar estas poblaciones para convertirse en la poblacioacuten de padres de la siguiente generacioacuten Por otro lado la evolucioacuten de estado estable no contempla esta diferencia entre poblacioacuten de padres y de nuevos individuos dado que el individuo generado reemplaza un individuo de la poblacioacuten actual

El algoritmo [alggeneracional] muestra el pseudocoacutedigo de la evolucioacuten generacional Como se habiacutea mencionado se requiere de una poblacioacuten inicial denominada la cual seraacute utilizada para generar individuos y seraacute actualizada mientras no se cumpla un establecido Lo primero que se observa en el algoritmo son dos ciclos anidados (liacuteneas 1 y 2) El primero itera hasta que se cumpla la condicioacuten de paro y el segundo se encarga de generar la poblacioacuten de hijos (liacutenea 3) Al final de este segundo ciclo se tienen dos poblaciones y

119979120226120267120258120269120254120267120258120264 120253120254 120239120250120267120264

119979h 119979

Estas dos poblaciones se combinan (liacutenea 5) para formar una nueva poblacioacuten utilizada en la siguiente generacioacuten La funcioacuten combina estas poblaciones y puede ser tan simple como seleccionar todo para reemplazar o pueden adoptarse estrategias maacutes complejas como remplazo con elitismo donde se realiza el remplazo pero se asegura que los mejores individuos de ambas poblaciones se preserven en la siguiente generacioacuten

[alggeneracional]

La evolucioacuten generacional es muy utilizada tanto en computacioacuten evolutiva como en PG Sin embargo hasta la fecha no existen ventajas teoacutericas para decidir utilizar un tipo de evolucioacuten sobre el otro Considerando lo anterior este capiacutetulo se enfocaraacute en el uso de evolucioacuten de estado estable debido a que su implementacioacuten es maacutes simple

El algoritmo [algestable] muestra el pseudocoacutedigo de una evolucioacuten de estado estable es utilizada para generar un individuo hijo mediante la aplicacioacuten de operadores geneacuteticos (linea 2) El hijo reemplaza (linea 4) a un elemento de que es seleccionado utilizando una seleccioacuten negativa es decir se selecciona un individuo con una aptitud baja (liacutenea 3) Este proceso continuacutea hasta que el criterio de paro es alcanzado Dicho criterio puede ser variado tal como alcanzar un nuacutemero maacuteximo de individuos generados convergencia de una funcioacuten de error encontrar una solucioacuten adecuada o suficiente entre otras opciones

hijo hijo

[algestable]

Representacioacuten Tomando en cuenta que el objetivo de PG es evolucionar programas es normal pensar que la PG evoluciona programas escritos en alguacuten lenguaje de programacioacuten pej Python utilizando un inteacuterprete o compilador y maacutequina que lo ejecute dependiendo del caso Aunque esto es factible y existen sistemas de PG que han seguido este camino no es lo maacutes comuacuten En este capiacutetulo seguimos una de las praacutecticas maacutes comunes popularizada en el libro de Koza la cual consiste en representar un programa utilizando un aacuterbol de expresioacuten Un aacuterbol de expresioacuten cuenta con tres nodos distintivos la raiacutez la cual es la salida de la expresioacuten los nodos internos y las hojas La funcioacuten de la raiacutez y los nodos internos es aplicar operaciones a sus hijos y las hojas

119979h 119979120236120254120275120252120261120250

119979h 119979

119979 119979h(i ) larr 120238120265120254120267120250120253120264120267120254120268 120230120254120263eacute120269120258120252120264120268(119979) 119979 larr 120236120254120275120252120261120250(119979 119979h) 119979

119979

119979

119979 larr 120238120265120254120267120250120253120264120267120254120268 120230120254120263eacute120269120258120252120264120268(119979) k larr 120242120254120261120254120252120252120258oacute120263 120237120254120256120250120269120258120271120250(119979) 119979(k) larr 119979

representan las entradas ya sean variables o constantes Un ejemplo de un aacuterbol de expresioacuten se muestra en la figura [figexpresion] donde la expresioacuten es representada en el aacuterbol

Los aacuterboles de expresiones se forman partiendo de dos conjuntos uno de terminales que contiene las variables constantes y funciones sin argumentos y otro de funciones que contiene las funciones u operadores que reciben argumentos Por ejemplo en una regresioacuten simboacutelica la cual consiste en encontrar la funcioacuten que maacutes se asemeja a una serie de puntos el conjunto de terminales podriacutea ser donde es la variable independiente y r epresen ta un nuacutemero a lea tor io y e l conjunto de func iones podr iacutea se r Continuando con este ejemplo se puede observar que la expresioacuten representada en la figura [figexpresion] pudo haber sido generada con los mencionados conjuntos de terminales y funciones

Una codificacioacuten simple de un aacuterbol de expresioacuten puede ser representado en un arreglo o una lista es decir un aacuterbol de expresioacuten puede estar codificado de manera lineal Esta codificacioacuten se logra recorriendo el aacuterbol a lo profundo Por ejemplo la expresioacuten representada en la figura [figexpresion] puede ser representada como Esta codificacioacuten seraacute la utilizada en este capiacutetulo para representar los aacuterboles de expresiones

Dado un aacuterbol de expresioacuten se requiere tener un procedimiento para su evaluacioacuten Dicho procedimiento se muestra en el algoritmo [algevaluacion] Evaluacioacuten el cual recibe como entrada un aacuterbol de expresioacuten representado en una estructura de datos lineal como un arreglo o lista La expresioacuten es codificada en donde es la i-eacutesima posicioacuten e es una variable global Evaluacioacuten es una funcioacuten recursiva donde la recursioacuten termina cuando es una constante o variable (ver liacuteneas 15-19) Cuando es una funcioacuten (vg ) liacutenea 1 se debe de conocer la cantidad de argumentos que requiere linea 3 y empieza la recursioacuten En caso de que requiera un argumento liacuteneas 4-7 se incrementa la posicioacuten en uno y se llama a Evaluacioacuten terminando con la evaluacioacuten de la funcioacuten en el valor regresado en la recursioacuten Para maacutes argumentos liacuteneas 9-14 se invoca Evaluacioacuten tantas veces como argumentos requiera la funcioacuten y el valor es guardado en una estructura que podriacutea ser un arreglo o lista La liacutenea 14 evaluacutea la funcioacuten vg en los argumentos Por ejemplo sea la suma entonces la liacutenea 14 realizariacutea

el valor de la variable la constante

[algevaluacion]

x + xsin(934x)

119983ℱ

119983 = x real x real

ℱ = + minus sdot sin cos

( + x x sin times 934 x)

x xi ixi

xi xi isin ℱ

ixi

w fxi w f w0 + w1

x i f larr xi d larr 120250120267120256120270120262120254120263120269120264120268( f ) i larr i + 1 w larr 120228120271120250120261120270120250120252120258oacute120263(x) f (w) w i larr i + 1wj larr 120228120271120250120261120270120250120252120258oacute120263(x) f (w) xi xi

Poblacioacuten inicial Una vez descrita la representacioacuten que tendraacuten los individuos dentro de la poblacioacuten por medio de aacuterboles de expresiones la codificacioacuten de eacutestos mediante una estructura de datos lineal y el pseudocoacutedigo para evaluar un individuo ya es posible describir el procedimiento para crear la poblacioacuten inicial

En PG existen dos procedimientos tradicionales para generar un individuo 1) generar un aacuterbol de expresiones balanceado (Full) o 2) generar un aacuterbol desbalanceado (Grow) ambos se definen con una altura maacutexima La definicioacuten de un aacuterbol balanceado es aquel donde los hijos de cualquier nodo tienen siempre la misma altura La figura [figtipos-de-arbol] muestra un aacuterbol balanceado y un aacuterbol no balanceado En la figura [figbalanceado] se observa coacutemo la definicioacuten de balanceo solo considera la altura sin importar el nuacutemero de nodos Por ejemplo la raiacutez tiene tres nodos en su hijo izquierdo y dos nodos en su hijo derecho y es un aacuterbol balanceado

Estos dos procedimientos para generar un individuo comparten muchas similitudes Por esta razoacuten el algoritmo [algcreacion-individuo] presenta ambos procedimientos decidiendo cuaacutel utilizar mediante una bandera El proceso de generar un individuo utiliza el conjunto de funciones y terminales y la altura deseada Eacuteste es un procedimiento recursivo donde la recursioacuten termina cuando la altura llega a su valor miacutenimo (liacuteneas 1-3) o en el caso en que se utilice el meacutetodo desbalanceado (liacuteneas 3-5) y un nuacutemero aleatorio sea menor que

Si ninguna de las dos condiciones se cumplen empieza la recursioacuten primero

decrementando (liacutenea 6) despueacutes seleccionando de manera aleatoria una funcioacuten del conjunto (liacutenea 7) y contando sus argumentos (liacutenea 8) La estructura definida en la liacutenea 9 es la encargada de guardar los componentes de la regresioacuten Dicha estructura podriacutea ser una lista o un conjunto que mantiene el orden de insercioacuten El procedimiento continuacutea creando un ciclo del nuacutemero de argumentos (liacuteneas 10-12) donde se hace la recursioacuten y el resultado de la recursioacuten se antildeade a liacutenea 11 Finalmente el individuo creado estaacute en y se regresa en la liacutenea 13

[algcreacion-individuo]

Es probable que uno de los meacutetodos maacutes tradicionales para crear la poblacioacuten inicial sea el meacutetodo ramped half-and-half propuesto por Koza el cual consiste en construir la mitad de la poblacioacuten utilizando un meacutetodo balanceado y la otra mitad utilizando un meacutetodo desbalanceado

120236eacute120269120264120253120264h

h = 0

∣ 119983 ∣∣ 119983 ∣ + ∣ ℱ ∣

hℱ w

w w

ℱ 119983 h 120236eacute120269120264120253120264 x isin 119983 x isin 119983 h larr h minus 1 f isin ℱ d larr 120250120267120256120270120262120254120263120269120264120268( f ) w = [ f ]w larr w cup 120226120267120254120250120252120258oacute120263 120253120254 120232120263120253120258120271120258120253120270120264(h 120236eacute120269120264120253120264) w

Ademaacutes de lo anterior la altura del aacuterbol variacutea desde un valor de altura miacutenima hasta un valor maacuteximo de manera lineal tomando en cuenta el tamantildeo de la poblacioacuten

Operadores Geneacuteticos Habiendo descrito dos procedimientos para la creacioacuten de la poblacioacuten inicial es tiempo de introducir los operadores geneacuteticos que permitiraacuten la creacioacuten de nuevos individuos basados en la poblacioacuten actual En PG se acostumbra tener dos operadores geneacuteticos mutacioacuten (ver Seccioacuten 52) y recombinacioacuten (ver Seccioacuten 51) que a diferencia del AG son excluyentes y seleccionados de manera aleatoria

El algoritmo [algoperadores-geneticos] muestra el procedimiento para generar un individuo utilizando mutacioacuten y recombinacioacuten Lo primero que se realiza es la seleccioacuten de los individuos que serviraacuten como padres en este proceso (liacutenea 1 y liacutenea 3) Esto es seguido por la decisioacuten de generar un individuo mediante mutacioacuten o recombinacioacuten la cual se realiza de manera aleatoria y se controla con un paraacutemetro la probabilidad de recombinacioacuten (liacutenea 2) En caso de aplicarse recombinacioacuten se requieren dos elementos (liacutenea 4) y en el caso de mutacioacuten solamente se requiere un elemento (liacutenea 6)

[algoperadores-geneticos]

Recombinacioacuten La recombinacioacuten es la operacioacuten geneacutetica que toma dos individuos de la poblacioacuten denominados padres y los combina para generar un nuevo individuo Tomando en cuenta que los individuos son aacuterboles de expresiones entonces la recombinacioacuten se plantea como la generacioacuten de un nuevo aacuterbol de expresioacuten La idea es escoger en cada aacuterbol un punto de recombinacioacuten e intercambiar los subaacuterboles cuya raiacutez sean dichos puntos de recombinacioacuten

La figura [figrecombinacion] muestra el procedimiento de recombinacioacuten En dicha figura los dos padres son los primeros dos aacuterboles de la izquierda ver figuras [figpadre1] y [figpadre2] El nuevo individuo es el aacuterbol de la derecha ver figura [fighijo] es comuacuten llamar hijo al producto de la recombinacioacuten Los nodos de color azul representan los puntos de recombinacioacuten siendo el procedimiento para generar un nuevo individuo el cambiar los subaacuterboles cuya raiacutez son los nodos en azul En particular aquiacute se crea solamente un individuo el cual es generado al reemplazar el subaacuterbol del primer padre por el subaacuterbol del segundo padre

pxo

119979 a larr 120242120254120261120254120252120252120258oacute120263(119979) b larr 120242120254120261120254120252120252120258oacute120263(119979) w larr 120241120254120252120264120262120251120258120263120250120252120258oacute120263(119979(a)) 119979(b))w larr 120236120270120269120250120252120258oacute120263(119979(a)) w

El procedimiento de recombinacioacuten requiere de un meacutetodo que permita conocer donde termina un subaacuterbol dada su raiacutez Esto es debido a que se estaacute codificando un aacuterbol de expresioacuten en una estructura lineal Este procedimiento es simple y solamente se requiere el contar el nuacutemero de argumentos por cada funcioacuten encontrada en el camino El algoritmo [algrecorre] presenta el pseudocoacutedigo para hacer el recorrido por el subaacuterbol Este procedimiento recibe un individuo y la posicioacuten de la raiacutez del subaacuterbol de intereacutes El ciclo de las liacuteneas 2-12 realiza todo el recorrido del subaacuterbol terminando cuando las funciones encontradas en el recorrido han satisfecho todos sus argumentos liacuteneas 9-11 regresando la posicioacuten del uacuteltimo nodo del subaacuterbol En cada iteracioacuten se sabe que se consume un argumento liacutenea 5 y se incrementa la posicioacuten final del subaacuterbol liacutenea 4 Ademaacutes se verifica si el nodo actual corresponde a una funcioacuten En caso afirmativo se incrementa el nuacutemero de argumentos liacuteneas 6-8 y todo este proceso continua hasta que los argumentos requeridos por la funciones han sido cubiertos

[algrecorre]

Ahora que se conoce la funcioacuten auxiliar es momento de describir el pseudocoacutedigo de la recombinacioacuten el cual se muestra en el algoritmo [algrecombinacion] Lo primero que se puede observar es que la recombinacioacuten requiere dos individuos el segundo paso es seleccionar un nodo de cada uno de estos individuos liacuteneas 1 y 2 Las liacuteneas 3 y 4 calculan las posiciones donde terminan cada uno de los subaacuterboles que corresponden a los nodos seleccionados Finalmente el individuo generado corresponde al reemplazo de la subcadena que representa el subaacuterbol del primer padre con la subcadena que representa el subaacuterbol del segundo padre ver liacutenea 5

[algrecombinacion]

Mutacioacuten Existen diferentes tipos de mutacioacuten Una de las maacutes utilizadas es la mutacioacuten de subaacuterbol la cual consiste en hacer recombinacioacuten de un individuo de la poblacioacuten con un individuo aleatorio La idea es reemplazar un subaacuterbol del individuo de la poblacioacuten por un subaacuterbol aleatorio y esto se logra utilizando meacutetodos previamente definidos

La mutacioacuten de subaacuterbol se presenta en el algoritmo [algmutacion] Este procedimiento requiere un padre Despueacutes se genera un individuo aleatorio utilizando el meacutetodo

x i c larr 1 x larr xi i larr i + 1 c larr c minus 1 c larr c + 120250120267120256120270120262120254120263120269120264120268(x) i

120241120254120252120264120267120267120254

x y

x y i larr 120239120270120263120269120264 120253120254 120267120254120252120264120262120251120258120263120250120252120258oacute120263(x) j larr 120239120270120263120269120264 120253120254 120267120254120252120264120262120251120258120263120250120252120258oacute120263(y) ik larr 120241120254120252120264120267120267120254(x i )jk larr 120241120254120252120264120267120267120254(y j ) x0hellipi cup yjhellip jk cup xikhellip∣x∣

x

Por lo general se usa una altura menor a siete y despueacutes se regresa la de los individuos (liacutenea 2)

[algmutacion]

La mutacioacuten de subaacuterbol no es el uacutenico tipo de mutacioacuten Otro tipo de mutacioacuten muy utilizada es la mutacioacuten de punto que tiene su homoacutelogo en el AG La mutacioacuten de punto funciona iterando por todos los nodos del individuo y seleccionando aleatoriamente algunos nodos para ser mutados Un nodo seleccionado para ser mutado cambia su valor de la siguiente manera Un nodo que tiene una funcioacuten cambia la funcioacuten por otra de la misma cardinalidad Por otro lado un nodo que tiene una terminal cambia su valor por otra terminal seleccionada del conjunto de terminales

Seleccioacuten Hasta este momento hemos revisado los procedimientos para hacer una evolucioacuten de estado estable generar una poblacioacuten inicial y modificar la poblacioacuten utilizando operadores geneacuteticos En esta seccioacuten se muestra el proceso de seleccioacuten de los individuos padres que generaraacuten mediante operadores geneacuteticos un nuevo individuo

La seleccioacuten como su nombre lo indica debe escoger un individuo de la poblacioacuten con base en su aptitud es decir se busca aquel individuo que resuelve de mejor manera el problema En el caso de la seleccioacuten negativa se busca el individuo que resuelve el problema de la peor manera

Recordemos que la forma en que se describe la funcionalidad de un programa es mediante un conjunto de pares entrada-salida vg donde representa la -eacutesima entrada y es su salida correspondiente Utilizando se puede definir la aptitud de un programa de la siguiente manera

donde representa la salida del programa cuando la entrada es y es una funcioacuten que captura que tanto se parece la prediccioacuten a la salida esperada

Existen varios procedimientos de seleccioacuten Uno de los maacutes comunes es la seleccioacuten proporcional o por ruleta La idea de esta seleccioacuten es asignar a cada individuo una probabilidad de ser seleccionado directamente proporcional a su aptitud Otro tipo de seleccioacuten muy utilizado

120226120267120254120250120252120258oacute120263 120253120254 120232120263120253120258120271120258120253120270120264120241120254120252120264120262120251120258120263120250120252120258oacute120263

x y larr 120226120267120254120250120252120258oacute120263 120253120254 120232120263120253120258120271120258120253120270120264(4 120225120250120261120250120263120252120254120250120253120264) 120241120254120252120264120262120251120258120263120250120252120258oacute120263(x y)

119987 = (x0 y0) hellip (xi yi) hellip (xN yN) xii yi 119987

p

120224120265120269120258120269120270120253(p) = sum(xy)isin119987

120236120258120253120254 120224120265120265120267120264120273120258120262120250120252120258oacute120263(y p(x))

p(x) p x 120236120258120253120254 120224120265120265120267120264120273120258120262120250120252120258oacute120263p(x) y

en la comunidad es la seleccioacuten por torneo donde la idea es seleccionar al ganador de un grupo de individuos seleccionados aleatoriamente Al tamantildeo del grupo se le conoce como el tamantildeo del torneo

El algoritmo [algseleccion] presenta el pseudocoacutedigo de la seleccioacuten por torneo El procedimiento requiere la poblacioacuten y el tamantildeo del torneo Se empieza seleccionando un individuo de la poblacioacuten vg el -eacutesimo para el cual se obtiene su aptitud liacuteneas 1 y 2 El individuo es momentaacuteneamente el mejor elemento conocido El ciclo principal ejecuta el torneo liacuteneas 3-10 En cada iteracioacuten se selecciona un elemento de la poblacioacuten junto con su aptitud (liacutenea 4 y 5) En caso que el nuevo individuo tenga una mejor aptitud que la conocida eacuteste se convierte en el ganador del torneo liacuteneas 6-9 El procedimiento termina regresando la posicioacuten del mejor individuo

t

[algseleccion]

Espacio de buacutesqueda La PG es un algoritmo de buacutesqueda inspirado en los principios de la evolucioacuten En esta seccioacuten se describe coacutemo es el espacio de buacutesqueda Existen dos diferencias principales entre la PG y el AG 1) la PG busca en un espacio posiblemente infinito de programas mientras que el AG en un espacio finito y 2) las soluciones de la PG tienen una codificacioacuten de longitud variable y las del AG son de longitud fija

El espacio de buacutesqueda de la PG se construye partiendo del conjunto de funciones y del conjunto de terminales de la siguiente manera Sea el subconjunto de funciones con cardinalidad del conjunto de funciones y los elementos creados en la -eacutesima iteracioacuten iniciando en Usando esta notacioacuten los primeros elementos del espacio de buacutesqueda vg son El resto de los elementos se construyen

iterativamente usando por lo tanto el espacio de

buacutesqueda estaacute definido como

Con el objetivo de ejemplificar la estructura del espacio de buacutesqueda la figura [figespacio-busqueda] presenta unos elementos del espacio de buacutesqueda cuando el conjunto de terminales es

119979 tk ga

119979(k)

119979 k larr 120237uacute120262120254120267120264 120224120261120254120250120269120264120267120258120264() ga larr 120224120265120269120258120269120270120253(119979(k)) ck larr 120237uacute120262120254120267120264 120224120261120254120250120269120264120267120258120264()ca larr 120224120265120269120258120269120270120253(119979(ck)) k larr ck ga larr ca k

Ω

ℱ119983 ℱc sube ℱ

c Ωi ii = 0

i = 0 Ω0 = ⋃c

f (x1 ⋯ xc) ∣ xi isin 119983 f isin ℱc

Ωi = ⋃c

f (x1 ⋯ xc) ∣ xi isin Ωiminus1 f isin ℱc

Ω = ⋃i

Ωi

y el conjunto de funciones es La figura [figomega0] muestra todos los elementos de los cuales corresponden a las combinaciones entre el operador y las entradas asiacute como a la funcioacuten y las posibles entradas La parte inferior de la figura muestra algunos elementos de Siguiendo la definicioacuten dada la primera expresioacuten corresponde al segundo elemento de y el uacuteltimo elemento corresponde al uacuteltimo elemento generado en

Conclusiones En este capiacutetulo se describioacute la importancia y potencial que tiene la PG en diversas tareas y aplicaciones Ademaacutes se describieron las partes que conforman un sistema de programacioacuten geneacutetica tradicional equivalente a los descritos en ) Tambieacuten se describieron los tipos de evolucioacuten maacutes comunes y con base en la evolucioacuten de estado estable se detalloacute el resto de las partes necesarias para llevar a cabo el proceso evolutivo como son la representacioacuten de los individuos la creacioacuten de la poblacioacuten inicial los operadores geneacuteticos y el tipo de seleccioacuten Finalmente se describioacute el espacio de buacutesqueda de la PG que se genera partiendo de los conjuntos de funciones y terminales

Como todo los sistemas la PG ha evolucionado Actualmente existen diferentes propuestas para mejorar sus componentes empezando desde la creacioacuten de la poblacioacuten inicial pej modificaciones a los operadores geneacuteticos tradicionales pej operadores semaacutenticos estudios sobre la seleccioacuten y evolucioacuten guiada por una funcioacuten diferente a la funcioacuten objetivo

Para saber maacutes Para una revisioacuten amplia sobre la PG se sugiere al lector la siguiente bibliografiacutea La PG fue descrita inicialmente en el libro de John Koza esta descripcioacuten se complementa con el libro escrito por Wolfgang Banzhaf et al y maacutes reciente Riccardo Poli et al presenta una introduccioacuten actualizada al aacuterea

Con respecto a artiacuteculos cientiacuteficos es importante comentar que existe una coleccioacuten bibliograacutefica en PG compilada y administrada por William Langdon John Koza y Steven Gustafson Esta coleccioacuten cuenta con maacutes de 13000 referencias a trabajos de investigacioacuten en 34

el tema incluyendo los trabajos realizados en Meacutexico

119983 = x y ℱ = + sinΩ0 +

sinΩ1

Ω1 Ω1

httpliinwwwiraukadebibliographyAigeneticprogramminghtml3

httpwwwcsbhamacuk~wblbiblio4

Importancia de la Diversidad en el Disentildeo de Algoritmos Evolutivos

Carlos Segura

Joel Chacoacuten Castillo

La convergencia prematura es una de las mayores problemaacuteticas que afectan al rendimiento de las metaheuriacutesticas poblacionales por lo que a la hora de disentildear algoritmos evolutivos es un aspecto a tener en cuenta En este capiacutetulo se enumeran diferentes teacutecnicas que se han propuesto a lo largo de las uacuteltimas deacutecadas para lidiar con este problema Una de las alternativas maacutes exitosas consiste en examinar los efectos que los diferentes componentes del algoritmo evolutivo tienen sobre la diversidad mantenida en la poblacioacuten y con base en ello redisentildearlos para modificar su comportamiento de forma dinaacutemica Con el objetivo de ilustrar de una forma detallada este uacuteltimo grupo de teacutecnicas se discuten dos mecanismos que pertenecen a este grupo El primero se aplica en el aacutembito de evolucioacuten diferencial y consiste en una estrategia de reemplazo que combina una poblacioacuten eacutelite con un mecanismo para mantener la diversidad de forma expliacutecita El segundo caso estaacute enfocado a los operadores de cruza donde concretamente se analiza y extiende el Operador de Cruza basado en Simulacioacuten Binaria (Simulated Binary Crossover - SBX) En las extensiones se considera el criterio de paro para modificar de forma dinaacutemica el comportamiento del operador con el propoacutesito de inducir un cambio gradual desde exploracioacuten hacia intensificacioacuten en el proceso de buacutesqueda La validacioacuten experimental se realizoacute con algunos de los problemas de prueba maacutes populares del aacutembito mono-objetivo y multi-objetivo alcanzaacutendose mejoras significativas en ambos casos

Diversidad Convergencia Prematura Evolucioacuten Diferencial Optimizacioacuten Multi-objetivo

Introduccioacuten Los Algoritmos Evolutivos (Evolutionary Algorithms mdash eas) son considerados como uno de los enfoques con mayor eficacia para resolver distintas categoriacuteas de problemas de optimizacioacuten Se han desarrollado diversas variantes que han sido aplicadas en muacuteltiples campos como en transporte economiacutea o ingenieriacutea Particularmente se han aplicado tanto en problemas del dominio continuo como del dominio discreto En general los eas han sido especialmente exitosos en la resolucioacuten de problemas complejos en los que los enfoques exactos no son actualmente aplicables como por ejemplo en problemas NP-completos con espacios de buacutesqueda grandes Para el aacutembito de este capiacutetulo se hace uso de problemas continuos mono-objetivo y multi-objetivo con restricciones de caja que se pueden definir tal y como se indica en la Ecuacioacuten ([eqnModel_general])

Minimizar 

rarrF (

rarrX )

Su jeto a rarrX isin Ω

donde es un vector compuesto por variables continuas de decisioacuten cada variable pertenece al conjunto de los reales es la dimensioacuten correspondiente al espacio de las variables de decisioacuten es un vector compuesto por funciones objetivo es el espacio factible cuyo liacutemite inferior es y liacutemite

superior es es decir Cada vector de variables es mapeado con -

funciones objetivo al espacio que es conocido como el espacio objetivo

Actualmente los eas son una de las metaheuriacutesticas maacutes conocidas pero a pesar de su eacutexito y de su uso tan extendido adaptarlas a nuevos problemas implica la toma de varias decisiones de disentildeo complejas Particularmente a la hora de disentildear de forma apropiada un ea se ha visto que es muy importante conseguir inducir un balanceo adecuado entre la exploracioacuten e intensificacioacuten del espacio de buacutesqueda Noacutetese en este punto que de manera informal la exploracioacuten del espacio de buacutesqueda consiste en evaluar regiones del espacio de buacutesqueda que no han sido muestreadas con el fin de detectar regiones promisorias y la explotacioacuten consiste en muestrear en zonas ya evaluadas previamente para realizar una buacutesqueda maacutes profunda con el fin de encontrar soluciones maacutes refinadas y de mayor calidad Cuando en los algoritmos evolutivos todas o casi todas las soluciones estaacuten en regiones distantes mdash alta diversidad mdash se produce habitualmente una buacutesqueda exploratoria es decir muchas de las nuevas soluciones evaluadas seraacuten distantes a las ya evaluadas anteriormente Sin embargo cuando casi todas las soluciones estaacuten en una o en unas pocas regiones se produce una buacutesqueda intensificadora Uno de los problemas a la hora de disentildear los algoritmos evolutivos es que en muchos casos no se comprenden todas las implicaciones que los diferentes componentes tienen sobre el mantenimiento de la diversidad de la poblacioacuten y por tanto sobre el balanceo entre exploracioacuten e intensificacioacuten Por ello analizar el comportamiento y redisentildear en base a lo que estaacute ocurriendo en este aspecto es parte del proceso de disentildeo de los eas

Relacionado con lo anterior aparece el concepto de convergencia prematura Se dice que un algoritmo converge de forma prematura cuando mucho antes de alcanzar el criterio de paro todas las soluciones estaacuten en una zona muy pequentildea del espacio de buacutesqueda En este sentido a partir de ese momento es difiacutecil seguir mejorando las soluciones de forma significativa ya que con alta probabilidad soacutelo se va a realizar un muestreo de soluciones en dicha regioacuten Por ello es importante detectar si esto ocurre y en tal caso redisentildear algunos aspectos del ea para preservar una mayor diversidad Sin embargo si la poblacioacuten es muy diversa durante todo el proceso de buacutesqueda se podriacutea no alcanzar un grado adecuado de intensificacioacuten y por lo tanto se tendriacutea una convergencia lenta que posiblemente tambieacuten resultariacutea en soluciones de baja calidad Por

rarrX D

rarrX = [x1 x2 xD]

xi isin real DrarrF M

rarrF = [ f1(

rarrX ) f2(

rarrX ) fM(

rarrX )] Ω x(L)

i

x(U )i Ω =

D

prodj=1

[x(L)j x(U )

j ] M

rarrF (

rarrX )(

rarrF Ω sube realD rarr realM) realM

esta razoacuten Mahfoud utilizoacute el concepto de diversidad uacutetil para referirse a la cantidad de diversidad necesaria para generar soluciones de alta calidad

En relacioacuten al disentildeo de eas se puede observar que en sus inicios la mayoriacutea de enfoques fueron esquemas generacionales en los que las soluciones hijas reemplazaban a la poblacioacuten anterior sin importar su respectiva aptitud o grado de diversidad En estos esquemas iniciales se usaba la seleccioacuten de padres para promover que el proceso de muestreo se realizara con mayor probabilidad en las regiones maacutes promisorias encontradas Por ello con el propoacutesito de alcanzar un balanceo adecuado entre exploracioacuten e intensificacioacuten se desarrollaron muchas estrategias de seleccioacuten de padres que permitiacutean centrarse con mayor o menor velocidad en las regiones promisorias Ademaacutes se desarrollaron alternativas que modifican otros aspectos como la estrategia de variacioacuten yo el modelo poblacional En la mayor parte de eas maacutes recientes se introduce ademaacutes una fase de reemplazamiento por lo que la nueva poblacioacuten no tiene que formarse exclusivamente con los hijos maacutes bien se usan mecanismos para combinar la poblacioacuten anterior con la poblacioacuten hija y determinar asiacute los nuevos sobrevivientes En este contexto se suele introducir elitismo en los algoritmos es decir el mejor individuo encontrado sobreviviraacute a la siguiente generacioacuten De esta forma ahora tambieacuten se puede modificar esta uacuteltima fase para conseguir el balanceo apropiado entre exploracioacuten e intensificacioacuten

En los uacuteltimos antildeos algunos de los trabajos maacutes exitosos en el aacuterea de evitacioacuten de convergencia prematura se han basado en considerar el criterio de parada y evaluaciones realizadas para balancear entre exploracioacuten e intensificacioacuten Esto se fundamenta en la premisa de que el grado entre exploracioacuten e intensificacioacuten deberiacutea variar a lo largo de la ejecucioacuten por lo tanto tiene sentido que las decisiones tomadas por las componentes variacuteen en funcioacuten del instante de ejecucioacuten Particularmente en este capiacutetulo se describen dos aportaciones que pertenecen a este grupo de teacutecnicas La primera que se aplica en el aacuterea de Evolucioacuten Diferencial (Differential Evolution mdash de) recibe el nombre de de Mejorado con Mantenimiento de Diversidad (de with Enhanced Diversity Maintenance mdash de-edm) e integra una estrategia de reemplazo que maneja la diversidad de forma expliacutecita con una poblacioacuten eacutelite En la fase de reemplazo que incorpora el de-edm se promueve un balanceo dinaacutemico entre exploracioacuten e intensificacioacuten teniendo en cuenta para ello el criterio de paro y las evaluaciones transcurridas para la toma de decisiones Concretamente en las primeras etapas se induce un grado de exploracioacuten alto ya que los individuos sobrevivientes son diversificados y posteriormente conforme transcurren las generaciones se induce un mayor grado de intensificacioacuten La segunda aportacioacuten estaacute enfocada a la extensioacuten de operadores de cruza Particularmente se analizan los componentes que conforman al Operador de Cruza basado en Simulacioacuten Binaria (Simulated Binary Crossover - SBX) y se propone una variante dinaacutemica (Dynamic Simulated Binary Crossover mdash dsbx) en la

que el comportamiento interno es alterado en base al criterio de paro y a las evaluaciones realizadas hasta el momento

El resto de este capiacutetulo estaacute organizado de la siguiente forma En primer lugar en la seccioacuten 2 se revisan algunas de las teacutecnicas maacutes populares que se han propuesto para promover el mantenimiento de diversidad exponiendo una de las clasificaciones maacutes extendidas Posteriormente en la seccioacuten 3 se describe y valida experimentalmente la aportacioacuten basada en evolucioacuten diferencial donde se considera la diversidad de forma expliacutecita en la fase de reemplazamiento Siguiendo esta misma liacutenea en la seccioacuten 4 se lleva a cabo un anaacutelisis del operador de cruza sbx mencionando algunas de sus implicaciones en la diversidad y se expone en base a ello una variante dinaacutemica que se valida experimentalmente con problemas multi-objetivo Finalmente en la seccioacuten 5 se exponen las conclusiones y trabajos futuros trazados en base a los resultados obtenidos

Preservacioacuten de diversidad en algoritmos evolutivos La convergencia prematura es una problemaacutetica muy conocida en el aacutembito de los eas por lo que se han desarrollado gran cantidad de teacutecnicas para lidiar con la misma Estas teacutecnicas modifican de manera directa o indirecta la cantidad de diversidad mantenida por el algoritmo y variacutean desde teacutecnicas generales hasta mecanismos dependientes de un problema dado En este apartado se revisan algunas de las teacutecnicas generales maacutes populares Inicialmente se describen algunas maneras de clasificar a este tipo de estrategias para posteriormente describir mecanismos claacutesicos especiacuteficos asiacute como algunas estrategias maacutes novedosas que se basan en modificar la estrategia de reemplazamiento Finalmente dado que en este capiacutetulo se extiende de se revisan tambieacuten los trabajos de esta aacuterea que tienen una relacioacuten estrecha con el manejo de diversidad Se recomienda a los lectores que requieran conocer estos mecanismos con maacutes detalle consultar asiacute como los artiacuteculos especiacuteficos en que cada meacutetodo es propuesto

Clasificaciones de mecanismos para promover la diversidad Debido a la gran cantidad de meacutetodos desarrollados en esta aacuterea se han propuesto varias clasificaciones de los mismos Liu et al propuso diferenciar entre los enfoques uni-proceso y multi-proceso En el enfoque uni-proceso se modifica la preservacioacuten de la diversidad actuando sobre un uacutenico componente del ea Es importante destacar que en los enfoques uni-proceso no se excluye el uso de otros componentes en el proceso de exploracioacuten yo intensificacioacuten sino que maacutes bien si no se consigue el balanceo adecuado soacutelo se modifica una componente hasta conseguir el comportamiento deseado Por otra parte en los enfoques multi-proceso se tiene en cuenta las implicaciones que varios componentes provocan sobre el balanceo y se actuacutea

modificando o redisentildeando varios de ellos hasta conseguir el comportamiento adecuado Los esquemas uni-proceso son mucho maacutes habituales actualmente y en particular las dos propuestas incluidas en este capiacutetulo son mecanismos uni-proceso

Extendiendo a lo anterior se propuso una clasificacioacuten maacutes especiacutefica en la que se tiene en cuenta cuaacutel es la componente que se cambia para categorizar a cada meacutetodo En este sentido los maacutes populares son los siguientes

bull Enfoques basados en la seleccioacuten son los maacutes claacutesicos y se basan en cambiar la presioacuten de seleccioacuten que se produce hacia las zonas promisorias a la hora de realizar la seleccioacuten de padres

bull Enfoques basados en poblacioacuten se modifica el modelo poblacional utilizando algunas teacutecnicas como variar el tamantildeo de la poblacioacuten de forma dinaacutemica eliminar individuos duplicados utilizar teacutecnicas de infusioacuten o establecer un estrategia de islas con migraciones

bull Enfoques basados en ela cruza yo la mutacioacuten se basan en redisentildear los operadores de cruza yo mutacioacuten considerando en algunos casos informacioacuten especiacutefica del problema Tambieacuten se incluyen en este grupo opciones maacutes generales como aplicar restricciones sobre el emparejamiento yo incluir operadores disruptivos que podriacutean ser utilizados soacutelo en ciertos instantes del proceso de optimizacioacuten

Esquemas claacutesicos para administrar la diversidad Los primeros eas se basaron principalmente en esquemas generacionales que no incluiacutean fase de reemplazo En estos esquemas la seleccioacuten de padres era la principal responsable de que se muestrearan con mayor probabilidad las zonas maacutes promisorias encontradas hasta el momento y por tanto muchos de los primeros esquemas que trataron de evitar la convergencia prematura se basaron en modificar el proceso de seleccioacuten de padres Asiacute en los 90s se desarrollaron varios esquemas que alteraban la presioacuten de seleccioacuten de forma estaacutetica o dinaacutemica Sin embargo con base en varios estudios teoacutericos y experimentales se observoacute que generalmente actuar exclusivamente sobre el operador de seleccioacuten no es suficiente especialmente cuando se quieren realizar ejecuciones a largo plazo ya que se requeririacutean poblaciones excesivamente grandes para mantener un grado adecuado de diversidad

Otra alternativa fue modificar los modelos poblacionales encontrando en este grupo los esquemas basados en islas los celulares o maacutes recientemente los basados en agrupaciones o cluacutesteres La idea de introducir restricciones en el emparejamiento principalmente con base en la ubicacioacuten de los individuos en el espacio de buacutesqueda tambieacuten ha sido bastante exitosa aunque controlar los mismos para obtener el balanceo apropiado ante diferentes criterios de parada es

bastante complejo En algunos casos resultoacute ser maacutes prometedor promover el emparejamiento entre individuos no similares mientras que en otros escenarios se hace exactamente lo opuesto Otro problema comuacuten de muchas de las estrategias anteriores es que suelen introducir paraacutemetros adicionales por lo que el proceso de ajuste de paraacutemetros que ya de por siacute es un problema importante en los eas se vuelve auacuten maacutes complejo Es importante resaltar que todas estas estrategias claacutesicas no evitan por completo la convergencia sino que la idea es disponer de mecanismos para acelerarla o retrasarla

Otra alternativa diferente ha sido adaptar la fase de variacioacuten En este sentido se han desarrollado diversas teacutecnicas para controlar los paraacutemetros que se consideran en la variacioacuten con el propoacutesito de adaptar el balanceo entre exploracioacuten e intensificacioacuten En algunos casos esto se consigue usando distintos valores en los paraacutemetros para distintas etapas a lo largo del proceso de optimizacioacuten mientras que en otros casos se hacen cambios maacutes draacutesticos y se consideran varios operadores con distintas propiedades Tambieacuten existen mecanismos adaptativos que usan una memoria para almacenar informacioacuten histoacuterica sobre los efectos de la variacioacuten y con base en ello ir modificaacutendola Cabe destacar que en la mayor parte de estos esquemas no se considera la diversidad de forma directa sino que soacutelo se considera para analizar el comportamiento y con base en ello se procede a un redisentildeo

Finalmente un esquema muy sencillo pero no por ello menos importante es el basado en reinicios En estos esquemas en lugar de evitar la convergencia acelerada se aplica un reinicio total o parcial de la poblacioacuten cada cierto nuacutemero de generaciones o cuando se detecta que la poblacioacuten ha convergido Con base en esto se han propuesto diversas estrategias para establecer los puntos de reinicio Estos esquemas se implementan de forma muy sencilla y en algunos casos han proporcionado mejoras significativas por lo que es un meacutetodo a tener en cuenta al menos como alternativa inicial Es comuacuten combinar las estrategias basadas en reinicio con algunas de las teacutecnicas anteriores ya que dichas teacutecnicas estaacuten basadas en mantener la diversidad mientras que en esta uacuteltima el objetivo es recuperar la diversidad

Esquemas de reemplazamiento basados en diversidad Recientemente se han propuesto diversos mecanismos que modifican la fase de reemplazo para preservar la diversidad La idea principal de estos esquemas es inducir un grado de exploracioacuten adecuado diversificando a los individuos sobrevivientes de forma que los operadores de reproduccioacuten puedan generar nuevas soluciones en diferentes regiones en las siguientes generaciones Estos meacutetodos estaacuten basados en el principio de que los operadores de cruza tienen un efecto de exploracioacuten al considerar individuos distantes y de intensificacioacuten al considerar individuos proacuteximos

El esquema de pre-seleccioacuten propuesto por Cavicchio es uno de los primeros estudios que utilizan la fase de reemplazamiento para controlar la diversidad El esquema inicial de Cavicchio se extendioacute para generar el esquema denominado amontonamiento o crowding el cual ha sido muy popular en los uacuteltimos antildeos El principio del crowding se basa en que los nuevos individuos que entren en la poblacioacuten sustituyan a individuos similares de generaciones anteriores y con base en este principio se han formulado diversas implementaciones

En esta misma liacutenea se han propuesto otras estrategias de reemplazo con el propoacutesito de promover la diversidad Uno de los procedimientos maacutes populares es la Estrategia de Limpieza (Clearing Strategy - clr) En el procedimiento clr se agrupan a los individuos en grupos denominados nichos y los mejores individuos de cada nicho son preservados e incluidos en la poblacioacuten de la siguiente generacioacuten Un inconveniente de este procedimiento es que los casos en que se detectan muchos nichos provocan una fuerte inmovilizacioacuten de la poblacioacuten Por ello Petrowski propuso una variante para uacutenicamente seleccionar a individuos cuya aptitud sea mejor que la media de la poblacioacuten

Otros meacutetodos de este grupo consideran funciones de aptitud que combinan la funcioacuten objetivo original con la diversidad Sin embargo es complejo construir una funcioacuten compuesta ya que las dos mediciones podriacutean no ser directamente compatibles y por lo tanto las funciones adecuadas suelen depender de cada problema Una forma de suavizar este inconveniente fue propuesto en el algoritmo de combinacioacuten (COMB) donde los individuos son ordenados y categorizados con base en su aptitud y contribucioacuten a la diversidad y la funcioacuten compuesta se disentildea con base en el orden y no con base en los valores de funcioacuten objetivo y contribucioacuten a diversidad La principal desventaja del COMB es que requiere dos paraacutemetros de usuario aunque independientemente de esto se ha usado con bastante eacutexito Otra alternativa es el procedimiento Reemplazamiento Basado en Contribucioacuten a la Diversidad y Sustitucioacuten del Peor (Contribution of DiversityReplace Worst - CDRW) En el meacutetodo CDRW un nuevo individuo reemplaza a un miembro de la poblacioacuten cuyo rendimiento sea peor tanto en aptitud como en contribucioacuten a la diversidad En caso de no encontrar un peor individuo bajo estos dos criterios se procede a reemplazar al peor individuo en la poblacioacuten considerando uacutenicamente a la aptitud Una uacuteltima alternativa se basa en considerar a la contribucioacuten a la diversidad como un objetivo adicional y aplicar un esquema de optimizacioacuten multi-objetivo Estos enfoques son identificados como algoritmos multi-objetivo basados en diversidad Existen varias estrategias para calcular el objetivo auxiliar Uno de los enfoques maacutes populares consiste en calcular la contribucioacuten a la diversidad de cada individuo con base en la Distancia al Vecino maacutes Cercano (Distance to the Closest Neighbor - DCN) de entre los individuos que ya hayan sido seleccionados como supervivientes

Diversidad en evolucioacuten diferencial Los algoritmos basados en de son altamente susceptibles a la peacuterdida de diversidad debido a que se basan en una estrategia de seleccioacuten muy elitista Debido a ello se han desarrollado varios anaacutelisis para lidiar con este problema Dado que en el aacuterea se conoce al menos de manera general las implicaciones que tiene cada paraacutemetro sobre la diversidad algunos autores han trabajado en estimar de forma teoacuterica cuaacuteles deben ser los paraacutemetros adecuados para que se produzca cierto tipo de comportamiento Otros autores han estudiado el efecto que tiene la norma de los vectores de diferencia sobre la mutacioacuten y con base en ello se han propuesto mecanismos que prohiacuteben ciertos movimientos que pueden resultar perjudiciales para la diversidad En este uacuteltimo estudio el tipo de movimientos aceptados variacutea a lo largo de la ejecucioacuten descartando a los movimientos cuyos desplazamientos sean menores a un umbral el cual es decrementado conforme transcurren las generaciones Ademaacutes se han propuesto otras formas para establecer los movimientos aceptados

Una alternativa distinta se basa en alterar el operador de seleccioacuten Especiacuteficamente con el propoacutesito de mantener mayor diversidad en la poblacioacuten se altera la presioacuten de seleccioacuten utilizando una seleccioacuten probabiliacutestica que permite escapar en algunos casos de las bases de atraccioacuten de oacuteptimos locales Sin embargo este meacutetodo no es demasiado robusto debido a que considera la aptitud para definir las probabilidades para seleccionar a un individuo por lo que ciertas transformaciones de la funcioacuten pueden modificar de forma draacutestica el tipo de buacutesqueda que se realiza

Finalmente la variante de con Diversidad de la Poblacioacuten Auto-Mejorado (Auto-Enhanced Population Diversity - AEPD) mide la diversidad de forma expliacutecita y cuando se detecta la existencia de un nivel bajo de diversidad en la poblacioacuten se lanza un mecanismo de diversificacioacuten Esta propuesta se ha extendido para considerar diferentes esquemas de perturbacioacuten

Es interesante hacer notar que las variantes de de que alcanzaron los primeros lugares en varias competencias de optimizacioacuten durante los uacuteltimos antildeos no consideran estas modificaciones y ademaacutes estas variantes no han sido incorporadas en las herramientas de optimizacioacuten maacutes populares Esto puede deberse a que muchos de los concursos estaacuten orientados a obtener resultados en un nuacutemero de evaluaciones bastante limitado en lugar de a largo plazo que es el aacutembito en el que maacutes beneficios suelen dar los mecanismos de control de diversidad

Disentildeo de evolucioacuten diferencial basado en diversidad

Evolucioacuten diferencial Conceptos baacutesicos Esta seccioacuten estaacute dedicada a revisar la variante claacutesica de de y a introducir varios teacuterminos importantes que son utilizados en el campo de de El esquema claacutesico de de es identificado como derand1bin y ha sido ampliamente usado como base para el desarrollo de variantes maacutes complejas De hecho la propuesta que se presenta en este capiacutetulo como ejemplo extiende al derand1bin de fue propuesto como un meacutetodo de buacutesqueda directa para optimizacioacuten continua mono-objetivo y es el aacutembito en que se usaraacute en este capiacutetulo es decir se considera la Ecuacioacuten ([eqnModel_general]) fijando

de es un algoritmo estocaacutestico basado en poblacioacuten por lo que en cada instante maneja un conjunto de soluciones candidatas que van evolucionando de forma iterativa En de dichas soluciones candidatas son usualmente conocidas como vectores En la variante baacutesica de de para cada miembro de la poblacioacuten (conocidos como vectores objetivo) se genera un nuevo vector que es conocido como el vector mutado A continuacioacuten el vector mutado se combina con el vector objetivo para generar al vector de prueba y finalmente se procede con la fase de seleccioacuten para elegir a los vectores sobrevivientes De esta forma las generaciones transcurren de forma iterativa hasta cumplir el criterio de paro En esta capiacutetulo el -eacutesimo vector de la poblacioacuten en la generacioacuten se denota como A continuacioacuten se explica en maacutes detalle cada componente de de

Inicializacioacuten

Usualmente de inicia el proceso de optimizacioacuten con una poblacioacuten de vectores que son creados de forma aleatoria Habitualmente los vectores de la poblacioacuten inicial son generados con base en una distribucioacuten uniforme ya que usualmente no se posee informacioacuten sobre cuaacuteles son las zonas maacutes promisorias del espacio de buacutesqueda Por lo tanto el -eacutesimo componente del -eacutesimo vector es inicializado de la forma donde es un nuacutemero aleatorio uniformemente distribuido entre y

Operador de mutacioacuten

Por cada vector objetivo se genera un vector mutado para lo cual se han propuesto muacuteltiples estrategias con la particularidad de que en cierta forma se usen las diferencias entre vectores La variante claacutesica de de aplica la estrategia conocida como rand1 en la cual se crea un vector mutado de la siguiente forma

M = 1

iG

rarrX iG = [x1iG x2iG xDiG]

NP

j ixji0 = x(L)

j + randi j[0 1](x(U )j minus x(L)

j )randi j[0 1] 0 1

ViG

En la Ecuacioacuten ([eqnmutation]) los iacutendices deben ser enteros distintos y son generados de forma aleatoria en el rango Ademaacutes estos iacutendices son distintos al iacutendice Es importante hacer notar que la diferencia entre los vectores es escalada por medio del paraacutemetro el cual usualmente se define en el intervalo Posteriormente el vector de diferencia (escalado) es agregado a un tercer vector lo que significa que los vectores mutados son similares a los vectores objetivo si el grado de diversidad es bajo ya que los vectores de diferencias tienen norma pequentildea Como consecuencia de esto es claro que es criacutetico mantener un grado miacutenimo de diversidad en de

Operador de cruza

El operador de cruza se aplica con el objetivo de combinar la informacioacuten de distintas soluciones candidatas y de incrementar la diversidad de los vectores Especiacuteficamente cada vector objetivo se mezcla con su correspondiente vector mutado para generar un vector de prueba La estrategia de cruza maacutes tiacutepica es conocida como cruza binomial y actuacutea de la siguiente forma

En la Ecuacioacuten ([eqncrossover]) es un nuacutemero uniformemente distribuido es

un iacutendice seleccionado aleatoriamente que asegura que genera al menos un componente de y es la proporcioacuten de cruza

Operador de seleccioacuten

Finalmente se aplica una seleccioacuten elitista para determinar los vectores sobrevivientes que participaraacuten en la siguiente generacioacuten Especiacuteficamente cada vector de prueba se compara con su correspondiente vector objetivo y sobrevive el que tiene la mejor aptitud

Debido a la forma de seleccionar a los sobrevivientes en cada generacioacuten los miembros de la poblacioacuten permanecen iguales o mejoran Por ello se considera que de hace uso de una seleccioacuten

rarrV iG =

rarrX r1G + F times (

rarrX r2G minus

rarrX r3G) r1 ne r 2 ne r3

r1 r 2 r3 isin [1 NP ][1 NP ]

iF [04 1]

rarrX iG

rarrViGrarr

UiG = [u1iG u2iG uDiG]

rarrUjiG =

rarrV jiG si (randi j[0 1] le CR o j = jrand)rarrX jiG de otra forma

randi j[0 1] jrandrarrUiGrarr

V iG CR isin [0 1]

rarrX jiG+1 =

rarrUiG si f (

rarrUiG) le f (

rarrX iG)

rarrX iG de otra forma

muy elitista y es una de las razones por la que en ciertos casos puede sufrir de una convergencia demasiado acelerada

Propuesta basada en diversidad El meacutetodo que se presenta en esta seccioacuten estaacute motivado principalmente por dos trabajos El primero de ellos es un estudio empiacuterico desarrollado por Montgomery et al que confirma que de sufre de convergencia prematura en varios problemas El segundo es un trabajo propuesto por Segura et al que proporciona mejoras significativas en el campo de optimizacioacuten combinatoria utilizando para ello una fase de reemplazo conocida como Reemplazo con Control de Diversidad Dinaacutemica Basada en Varios Objetivos (Replacement with Multi-objective based Dynamic Diversity Control - rmddc) Particularmente el rmddc controla el grado de diversidad relacionaacutendolo con el criterio de paro y generaciones transcurridas Con base en las conclusiones de cada uno de los trabajos en esta seccioacuten se ilustra una propuesta que es una variante novedosa de de que incluye un mecanismo de reemplazo que sigue los mismos principios que guiaron el disentildeo de rmddc Este nuevo algoritmo recibe el nombre de Evolucioacuten Diferencial con Mantenimiento Mejorado de Diversidad (Differential Evolution with Enhanced Diversity Maintenance - de-edm) y su coacutedigo fuente estaacute disponible 5

de-edm (ver Algoritmo [algDEEDM]) es bastante similar a la versioacuten claacutesica de de de hecho la forma en que se crean los vectores de prueba (liacuteneas 5 y 6) se mantiene intacta La novedad del de-edm es que incorpora una poblacioacuten eacutelite ( ) y una estrategia de reemplazo basada en diversidad Especiacuteficamente con el propoacutesito de seleccionar a los miembros de la poblacioacuten eacutelite se considera el operador de seleccioacuten elitista de la versioacuten claacutesica de de (liacutenea 7) Posteriormente se aplica la estrategia de reemplazo (liacutenea 8) para determinar a los sobrevivientes Siguiendo la misma filosofiacutea que en el rmddc los individuos que contribuyen muy poco a la diversidad no deberiacutean ser aceptados como miembros de la siguiente generacioacuten Para conseguir este propoacutesito se considera tanto el criterio de paro como las generaciones transcurridas en la seleccioacuten Asiacute se estableceraacute un grado de diversidad miacutenimo deseado dependiente del tiempo de ejecucioacuten

Inicializar de forma aleatoria a la poblacioacuten con individuos donde cada uno es distribuido de forma uniforme Mutacioacuten Generar al vector mutado ( ) de acuerdo a la Ecuacioacuten ([eqnmutation]) Cruza Utilizar la recombinacioacuten para generar al vector de prueba ( ) de acuerdo a la Ecuacioacuten ([eqncrossover]) Seleccioacuten Actualizar al vector eacutelite ( en lugar de

E

NPG = 0 ViG

UiGEiG

El coacutedigo en C++ puede ser descargado en la siguiente direccioacuten httpsgithubcom5

joelchaconcastilloDiversity_DE_Researchgit

) de acuerdo a la Ecuacioacuten ([eqnselection]) Reemplazo Seleccionar a los vectores objetivo ( ) de acuerdo al Algoritmo [algReplacement]

[algDEEDM]

La estrategia de reemplazo (ver Algoritmo [algReplacement]) funciona de la siguiente forma Inicialmente recibe a la poblacioacuten padre (vectores objetivo) a la poblacioacuten de hijos (vectores de prueba) y a los vectores eacutelite De entre todos ellos debe seleccionar a vectores para formar la siguiente poblacioacuten de padres En primer lugar con base en el nuacutemero de evaluaciones de funcioacuten transcurridas y el criterio de parada se calcula una distancia miacutenima deseada ( ) para mantener en la poblacioacuten (liacutenea 2) A continuacioacuten se juntan las tres poblaciones en un conjunto de miembros candidatos (liacutenea 3) que contiene en cada momento a los vectores candidatos que podriacutean ser seleccionados para sobrevivir Posteriormente se inicializa tanto el conjunto de individuos sobrevivientes como los penalizados con el conjunto vaciacuteo (liacutenea 4) Para seleccionar a los sobrevivientes se repite el proceso iterativo (liacuteneas 5 - 13) que se describe a continuacioacuten En cada iteracioacuten se comienza seleccionando como sobreviviente al mejor individuo del Conjunto de Candidatos es decir al individuo que tiene la mejor aptitud Este individuo se mueve al Conjunto de Sobrevivientes y los individuos del Conjunto de Candidatos cuya distancia al individuo seleccionado sea menor que se transfieren al Conjunto de Penalizados (liacutenea 9) La forma de calcular la distancia entre dos individuos es con base en la distancia Euclidiana normalizada descrita en la Ecuacioacuten ([eqndistance]) donde es la dimensioacuten del problema y son los liacutemites menores y mayores de la dimensioacuten En los casos donde el conjunto de Candidatos queda vaciacuteo antes de seleccionar a individuos el Conjunto de Sobrevivientes se llena seleccionando en cada iteracioacuten al individuo con la mayor distancia al individuo maacutes cercano del Conjunto de Sobrevivientes (liacuteneas 10 - 13)

Entrada Poblacioacuten (Vectores Objetivo) Hijos (Vectores de prueba) y Elite Actualizar Candidatos = Poblacioacuten Hijos Elite Sobrevivientes Penalizados Seleccionados = Seleccionar al mejor individuo de Candidatos Eliminar Seleccionado de Candidatos Copiar Seleccionado a Sobrevivientes Encontrar a los individuos de Candidatos cuya distancia a Seleccionados sea menor que y moverlos a Penalizados En esta parte se considera la distancia normalizada (Ecuacioacuten

XiGXG+1 G = G + 1

NP

Dt

NP

Dt

Dx(L)

d x(U )d d

NPPenalizado

distancia(xi xj) =

sumDd=1 (

x di minus xd

j

x(U )d minus x(L)

d )2

D

Dt = DI minus DI(n fes (095ma x_n fes)) cup cup= = empty

Dt

[eqndistance]) Seleccionado = Seleccionar al individuo de Penalizados con la mayor distancia al individuo maacutes cercano a Sobrevivientes Eliminar Seleccionado de Penalizados Copiar Seleccionado a Sobrevivientes

Con el propoacutesito de completar la descripcioacuten de de-edm se especifica la forma en que se calcula y el procedimiento con el cual se actualizan a los individuos eacutelite El resto del algoritmo se mantiene igual que la variante claacutesica de de El valor de se utiliza para alterar el grado entre exploracioacuten e intensificacioacuten por lo tanto el valor adecuado para este paraacutemetro depende del instante de ejecucioacuten Especiacuteficamente este valor deberiacutea ser reducido conforme se alcanza el criterio de paro con el objetivo de promover mayor intensificacioacuten en las uacuteltimas etapas de optimizacioacuten En nuestro esquema se requiere asignar un valor inicial para ( ) y a continuacioacuten de manera similar a como se hace en se realiza una reduccioacuten lineal de considerando las evaluaciones transcurridas y el criterio de paro Particularmente en este trabajo el criterio de paro se asigna con base en las evaluaciones a funcioacuten y la reduccioacuten se calcula de tal forma que al del nuacutemero maacuteximo de evaluaciones el valor de diversidad miacutenimo requerido es cero lo que quiere decir que en la uacuteltima fase la diversidad no es considerada para nada Entonces denotando al nuacutemero maacuteximo de evaluaciones y al nuacutemero de e v a l u a c i o n e s t r a s c u r r i d a s e s c a l c u l a d o d e l a s i g u i e n t e f o r m a

La distancia inicial ( ) afecta de forma considerable al rendimiento de de-edm Si este paraacutemetro es elevado el algoritmo maximiza la diversidad de la poblacioacuten en las primeras etapas de optimizacioacuten resultando en una exploracioacuten adecuada que es muy importante en varios tipos de problemas como los multi-modales y deceptivos Sin embargo un valor demasiado elevado de podriacutea inducir un grado excesivo de exploracioacuten y en consecuencia la intensificacioacuten podriacutea fallar Por otra parte un valor muy pequentildeo de provocariacutea muy poca exploracioacuten y por lo tanto seriacutea maacutes difiacutecil evitar oacuteptimos locales El valor oacuteptimo de podriacutea variar dependiendo del tipo de problema y el criterio de paro Sin embargo en esta primera versioacuten no se adapta el valor de para cada problema En su lugar se realizoacute un anaacutelisis previo para determinar un valor adecuado usaacutendose el valor en todos los problemas

Al igual que en la versioacuten estaacutendar de de en de-edm es necesario asignar una probabilidad de cruza ( ) y un factor de mutacioacuten ( ) De acuerdo a varios estudios desarrollados por Montgomery y otros la probabilidad de cruza tiene un efecto muy importante Estos autores mostraron de forma empiacuterica que los valores extremos de resultan en comportamientos muy distintos entre siacute pero de gran utilidad Asiacute los valores pequentildeos de resultan en una buacutesqueda alineada a un nuacutemero reducido de ejes e induce pequentildeos desplazamientos Esto provoca una mejora gradual con convergencia lenta que en algunos escenarios podriacutea resultar

Sobrevivientes

DtDt

Dt DIDt

95

ma x_n fes n fesDt

Dt = DI minus DI(n fes (095ma x_n fes))

DI

DIDI

DI

DIDI = 03

CR F

CRCR

beneficioso Por otra parte los valores elevados de en general proporcionan soluciones de mayor calidad con una menor probabilidad ya que se tiende a realizar desplazamientos largos Sin embargo cuando son exitosos puedan mejorar la aptitud de forma significativa y permiten explorar zonas distantes Con base en esto en nuestra propuesta se emplean los dos mecanismos es decir valores elevados y pequentildeos de tal y como se muestra en la Ecuacioacuten ([eqncr])

Por otro lado siguiendo los principios de distintas variantes del SHADE se consideran las evaluaciones transcurridas para generar el factor de mutacioacuten aplicado Particularmente cada valor se muestrea de una distribucioacuten Cauchy (Ecuacioacuten [eqncauchy])

El efecto de esta distribucioacuten es que en las primeras etapas de optimizacioacuten se generen valores de cercanos a Posteriormente conforme la ejecucioacuten transcurre la funcioacuten de densidad sufre una transformacioacuten gradual ya que la varianza se incrementa Esto implica que se generen valores fuera del intervalo con una probabilidad maacutes alta En los casos en que los valores son mayores a se utiliza el valor mientras que si se genera un valor negativo se vuelve a muestrear el valor Uno de los efectos de este enfoque es el de incrementar la probabilidad de generar valores elevados de conforme transcurren las generaciones lo que ayuda a evitar la convergencia acelerada en las uacuteltimas etapas de optimizacioacuten

Resultados de de-edm En esta seccioacuten se presenta la validacioacuten experimental de de-edm Especiacuteficamente se muestra que se pueden mejorar los resultados de los algoritmos del estado-del-arte controlando de forma expliacutecita la diversidad Particularmente se consideraron los conjuntos de prueba de los concursos de optimizacioacuten continua organizados en el cec 2016 y cec 2017 Cada uno estaacute compuesto de treinta problemas distintos En la comparativa incluimos a los algoritmos que obtuvieron los primeros lugares en cada antildeo asiacute como una versioacuten de de que usa la misma parametrizacioacuten que de-edm pero que no incluye la poblacioacuten eacutelite ni el reemplazamiento basado en diversidad Los algoritmos considerados del cec 2016 son el UMOEAs-II y L-SHADE-EpSin que alcanzaron el primero y el segundo lugar respectivamente mientras que del cec 2017 se consideran el EBOwithCMAR y el jSO Todos estos algoritmos fueron probados con los dos conjuntos de prueba como se sugiere en Debido a que todos los algoritmos son estocaacutesticos se realizaron 51 ejecuciones con distintas semillas y en cada caso el criterio de paro fue asignado a de evaluaciones de la funcioacuten objetivo Ademaacutes se consideraron diez variables en cada funcioacuten

CR

CR

CR = Nor mal(02 01) si rand[0 1] le 05Nor mal(09 01) de otra forma

FF

Cauchy(05 05n fes ma x_n fes)

F 05

[00 10]10 10

F

25 000 000

( ) La evaluacioacuten de los algoritmos se realizoacute siguiendo los lineamientos de las competencias del cec de forma que se asignoacute un error igual a si la diferencia entre la mejor solucioacuten encontrada y la solucioacuten oacuteptima era menor que Para cada algoritmo se utilizoacute la parametrizacioacuten indicada por sus autores y que se describe a continuacioacuten

bull EBOwithCMAR Para la parte EBO el tamantildeo maacuteximo de la poblacioacuten de el tamantildeo miacutenimo de la poblacioacuten de el tamantildeo maacuteximo de la poblacioacuten de el tamantildeo miacutenimo de la poblacioacuten de el tamantildeo de la memoria histoacuterica H= Para la parte de CMAR el tamantildeo de la poblacioacuten CS = la probabilidad de buacutesqueda local y

bull UMOEAs-II Para la parte de MODE el tamantildeo maacuteximo de la poblacioacuten de el tamantildeo miacutenimo de la poblacioacuten de el tamantildeo de la memoria histoacuterica H= Para la

parte del CMA-ES el tamantildeo de la poblacioacuten CS =

Para la buacutesqueda local

bull jSO El tamantildeo maacuteximo de la poblacioacuten = el tamantildeo de la memoria histoacuterica H= valor de mutacioacuten inicial de la memoria probabilidad inicial de la memoria tamantildeo miacutenimo de la poblacioacuten = valor inicial p-best = valor final p-best =

bull L-SHADE-EpSin Tamantildeo maacuteximo de la poblacioacuten = tamantildeo de la memoria histoacuterica H= valor de la mutacioacuten inicial de la memoria probabilidad inicial de la memoria frecuencia inicial de la memoria tamantildeo miacutenimo de la poblacioacuten = valor inicial p-best = valor final p-best = generaciones de la buacutesqueda local

bull DE-EDM tamantildeo de la poblacioacuten =

bull Standard-DE Tamantildeo de la poblacioacuten = (mismos operadores que en de-edm)

Nuestro anaacutelisis experimental se realizoacute teniendo en cuenta la diferencia entre la solucioacuten oacuteptima y la mejor solucioacuten obtenida y para comparar los resultados estadiacutesticamente se siguioacute un procedimiento similar que el propuesto en Concretamente en primer lugar se utilizoacute la prueba Shapiro-Wilk para comprobar si los resultados se ajustaban a una distribucioacuten Gaussiana En los casos en que siacute se ajustaban se utilizoacute la prueba de Levene para comprobar la homogeneidad de las varianzas procediendo con la prueba de ANOVA en caso positivo o con la prueba de Welch en caso negativo Por otro lado para los casos que no se ajustaban a distribuciones Guassianas

D = 100

10minus8

S1 = 18DS1 = 4

S2 = (1468)D S2 = 106 S3 = 4 + 3log(D)

σ = 03 50 pl = 01 cfels = 04FEmax

S1 = 18DS1 = 4 6

S2 = 4 + lfloor3log(D)rfloor μ =PS2

σ = 03

50 cfels = 02FEmax

25log(D) D5 MF = 05

MCR = 08 4 025N2

25log(D) D5 MF = 05

MCR = 05 μF = 054 025N 2

GLS = 250

DI = 03 250

250

se utilizoacute la prueba de Kruskal-Wallis En todos los casos se fijoacute el nivel de confianza al 95 Se considera que un algoritmo es superior a un algoritmo si el procedimiento anterior reporta diferencias significativas y si la media y mediana del error obtenido por el meacutetodo son inferiores a las obtenidas por el meacutetodo

En las tablas [tabSummary_CEC2016] y [tabSummary_CEC2017] se presenta un resumen de los resultados obtenidos para el cec 2016 y el cec 2017 respectivamente La columna etiquetada con ldquoSiempre Resueltordquo muestra el nuacutemero de funciones en que se obtuvo un error de cero en las 51 ejecuciones La columna etiquetada con ldquoAl menos una vez resueltordquo muestra el nuacutemero de funciones que se resolvieron en al menos una ejecucioacuten Praacutecticamente todas las funciones del cec 2017 (28 de ellas) fueron resueltas al menos una vez por nuestra propuesta Ademaacutes se resolvieron 21 funciones del cec 2016 al menos una vez Esto representa una diferencia sustancial con los resultados obtenidos por el resto de algoritmos pues todos ellos resolvieron muchas menos funciones Con el objetivo de confirmar la superioridad del de-edm se ejecutaron las pruebas estadiacutesticas por pares La columna etiquetada con el siacutembolo muestra el nuacutemero de veces en que cada meacutetodo fue superior mientras que la columna etiquetada con cuenta el nuacutemero de casos donde el meacutetodo fue inferior Finalmente la columna etiquetada con muestra el nuacutemero de comparaciones en las que las diferencias no fueron significativas Las pruebas estadiacutesticas indican que el de-edm alcanzoacute los mejores resultados en los dos antildeos De hecho el nuacutemero de comparaciones en que nuestra propuesta ganoacute en el cec 2016 y el cec 2017 fue de y respectivamente y soacutelo perdioacute en y respectivamente que son valores muy superiores a los del resto de algoritmos La uacuteltima columna etiquetada con ldquoPuntajerdquo muestra la puntuacioacuten siguiendo los lineamientos propuestos en las competencias del cec Particularmente este meacutetodo de evaluacioacuten combina dos puntajes como se indica en la Ecuacioacuten ([eqntotal_scores]) definiendo el puntaje final como

Especiacuteficamente es la sumatoria de errores del -eacutesimo algoritmo ( )

ademaacutes es el error promedio en la -eacutesima funcioacuten es la miacutenima sumatoria de errores entre todos los algoritmos Por su parte es la sumatoria del rango de cada funcioacuten en

el -eacutesimo algoritmo ( ) Ademaacutes es la sumatoria miacutenima de los rangos

X YX

Y

harr

7788 25 6

Score = Score1 + Score2

Score1 = (1 minusSEi minus SEmin

SEi ) times 50

Score2 = (1 minusSRi minus SRmin

SRi ) times 50

SEi i SEi =30

sumj=1

error_ f j

error_ f j j SEmin

SRi

i SRi =30

sumj=1

rangoj SRmin

entre todos los algoritmos Nuestra propuesta alcanzoacute el mejor puntaje de en los dos antildeos demostrando su superioridad Adicionalmente es destacable que la versioacuten estaacutendar de de alcanzoacute resultados buenos de hecho obtuvo el tercer y el segundo lugar en los antildeos 2016 y 2017 respectivamente Esto muestra que el rendimiento de los algoritmos del estado-del-arte se deteriora al considerar ejecuciones a largo plazo pues esos algoritmos que fueron muy efectivos a corto plazo no lo son tanto a largo plazo La superioridad del de-edm es clara con base en todos los tipos de comparativas descritas

Ademaacutes con el fin de proporcionar resultados que puedan usar otros autores para realizar comparativas en las tablas [tabResults_CEC2016] y [tabResults_CEC2017] se reporta el mejor peor mediana media desviacioacuten estaacutendar y razoacuten de eacutexito para el cec 2016 y 2017 respectivamente En estas tablas se observa que nuestra propuesta resuelve todos los problemas uni-modales y que en la mayor parte de los problemas multi-modales se obtienen resultados muy aceptables con respecto a los reportados por otros meacutetodos Asiacute nuestra propuesta resolvioacute y mejoroacute significativamente varias funciones complejas que no fueron resueltas por ninguno de los algoritmos restantes

[tabResults_CEC2016]

10000

Resultados del de-edm con los problemas del cec 2016

Mejor Peor Mediana Media Sd Razoacuten de eacutexito

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 360E-02 400E-03 739E-03 115E-02 392E-01

200E-02 102E-01 590E-02 577E-02 493E-02 000E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 600E-02 000E+00 588E-03 190E-02 902E-01

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

100E-02 800E-02 500E-02 467E-02 260E-02 000E+00

100E-02 500E-02 300E-02 282E-02 213E-02 000E+00

000E+00 470E-01 220E-01 199E-01 155E-01 196E-02

400E-02 150E-01 800E-02 847E-02 496E-02 000E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 200E-02 100E-02 765E-03 632E-03 314E-01

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 300E-02 000E+00 373E-03 276E-02 765E-01

000E+00 100E+02 000E+00 255E+01 510E+01 745E-01

f17

f10

f3

f20

f13

f6

f23

f16

f9

f2

f19

f12

f5

f22

f15

f8

f1

f18

f11

f4

f21

f14

f7

[tabResults_CEC2017]

000E+00 690E-01 000E+00 261E-02 133E-01 961E-01

100E+02 100E+02 100E+02 100E+02 000E+00 000E+00

800E-02 100E+02 529E+01 520E+01 319E+01 000E+00

250E-01 910E-01 540E-01 560E-01 292E-01 000E+00

000E+00 357E+02 343E+02 276E+02 160E+02 196E-01

100E+02 100E+02 100E+02 100E+02 000E+00 000E+00

184E+02 184E+02 184E+02 184E+02 325E-02 000E+00

f26

f25

f24

f30

f29

f28

f27

Resultados del de-edm con los problemas del cec 2017

Mejor Peor Mediana Media Sd Razoacuten de eacutexito

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 120E-01 000E+00 165E-02 339E-02 745E-01

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 220E-01 000E+00 637E-02 176E-01 667E-01

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

f14

f11

f8

f5

f2

f13

f10

f7

f4

f1

f15

f12

f9

f6

f3

000E+00 210E-01 000E+00 247E-02 727E-02 882E-01

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 100E-02 000E+00 196E-03 447E-03 804E-01

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 300E+02 000E+00 349E+01

103E+02 882E-01

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 100E+02 000E+00 392E+00

200E+01 961E-01

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 387E+02 387E+02 205E+02

268E+02 196E-02

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

145E+02 226E+02 218E+02 199E+02

421E+01 000E+00

395E+02 395E+02 395E+02 395E+02

210E-01 000E+00

f23

f20

f17

f28

f25

f22

f19

f16

f30

f27

f24

f21

f18

f29

f26

Disentildeo de operadores de cruza basados en diversidad La segunda propuesta se aplica en el campo de optimizacioacuten multi-objetivo y estaacute basada en la extensioacuten del operador de cruza sbx En esta seccioacuten se introducen en primer lugar varios conceptos relacionados con los algoritmos evolutivos multi-objetivo para posteriormente describir algunas de las clasificaciones maacutes populares de operadores de cruza Finalmente se realiza un anaacutelisis del operador sbx y con base en el mismo se propone una variante dinaacutemica denominada Operador de Cruza Dinaacutemico basado en Simulacioacuten Binaria (Dynamic Simulated Binary Crossover - dsbx) el cual es validado experimentalmente

Algoritmos evolutivos multi-objetivo Los eas han sido utilizados frecuentemente para lidiar con problemas de optimizacioacuten multi-objetivo (Multi-objective Optimization Problems - MOPs) Particularmente un MOP de dominio continuo y que es basado en minimizacioacuten puede ser definido como se indica en la Ecuacioacuten ([eqnModel_general]) de la seccioacuten 1 fijando la a un valor mayor que uno Dadas dos soluciones domina a denotado por si y solo si y Una solucioacuten es conocida como solucioacuten oacuteptima de Pareto si no existe otra solucioacuten que domine a El conjunto de Pareto es el conjunto de todas las soluciones oacuteptimas de Pareto y el frente de Pareto estaacute formado por las imaacutegenes del conjunto de Pareto El propoacutesito de un Algoritmo Evolutivo Multi-Objetivo (Multi-objective Evolutionary Algorithm - MOEA) es esencialmente obtener un conjunto de soluciones bien distribuidas y cercanas a las soluciones del frente de Pareto

En los uacuteltimos antildeos se han disentildeado una gran cantidad de moeas siguiendo distintos principios A raiacutez de esto se han propuesto varias taxonomiacuteas y por ejemplo en base a sus principios de disentildeo se pueden clasificar en basados en la dominancia de Pareto indicadores yo descomposicioacuten Hay algoritmos muy competitivos de cada uno de los grupos por lo que en esta seccioacuten se consideraron moeas de todos los grupos para realizar la validacioacuten Particularmente la validacioacuten experimental se desarrolloacute incluyendo a los algoritmos Algoritmo Geneacutetico basado en Ordenacioacuten de los No-Dominados (Non-Dominated Sorting Genetic Algorithm - NSGA-II) el Algoritmo Evolutivo Multi-objetivo basado en descomposicioacuten (MOEA based on Decomposition - MOEAD) y el Algoritmo Evolutivo Multi-objetivo basado en la Meacutetrica-S (the -Metric Selection Evolutionary Multi-objective Optimization Algorithm - SMS-EMOA) Estos algoritmos son representativos de los basados en dominancia basados en descomposicioacuten y basados en indicadores respectivamente

Mrarrx rarry isin Ω rarrx rarry rarrx ≺ rarry

forallm isin 1 2 M fm(xi) le fm(yi) existm isin 1 2 M fm(xi) lt fm(yi)rarrx isin Ω

rarrx isin Ωrarrx

S

Funcioacuten de densidad del operador de cruza sbx con iacutendices de distribucioacuten y Las soluciones padre estaacuten ubicadas en y respectivamente

[figfig_sim]

[figSimulation_pv]

[figSimulations_Index_20]

2 52 5

Operadores de cruza Los operadores de cruza son utilizados para generar soluciones hijas utilizando la informacioacuten de las soluciones padre Asiacute estos operadores combinan las caracteriacutesticas de dos o maacutes soluciones padre con el propoacutesito de generar nuevas soluciones candidatas En base en que en la literatura existen diversos operadores de cruza se han propuesto varias taxonomiacuteas para clasificarlos Particularmente las taxonomiacuteas se basan en varias caracteriacutesticas tales como la ubicacioacuten relativa entre padres e hijos o el tipo de relaciones existentes entre las variables

Una clasificacioacuten popular hace distincioacuten entre operadores de cruza basados en las variables y basados en los vectores En los basados en las variables cada variable de las soluciones padre son combinadas para crear nuevos valores de forma independiente siendo ideales para lidiar con problemas separables Algunos operadores que pertenecen a esta categoriacutea son el Operador de Cruza por Mezcla (the Blend Crossover - blx) y el sbx Por otra parte los operadores de recombinacioacuten basados en vectores tienen en cuenta la relacioacuten que existe entre las variables por lo que la combinacioacuten no es independiente Asiacute este tipo de operadores pueden por ejemplo realizar combinaciones lineales de las soluciones involucradas Algunos operadores que pertenecen a esta categoriacutea son el Operador de Cruza Unimodal Normalmente Distribuido (Unimodal Normally Distributed Crossover - undx) y el Operador de Cruza Simplex (Simplex Crossover - spx)

Adicionalmente los operadores de cruza pueden ser clasificados como centrados en los padres y centrados en la media En los operadores centrados en los padres las soluciones hijas tienden a ser creadas alrededor de cada solucioacuten padre mientras que en los operadores centrados en la media se tiende a crear a las soluciones hijas alrededor de la media de los valores de las soluciones padres

El operador de cruza basado en simulacioacuten binaria - SBX

Entre los operadores de cruza el Operador de Cruza Basado en Simulacioacuten Binaria (Simulated Binary Crossover - sbx) es uno de los maacutes utilizados en dominios continuos y fue el que se decidioacute extender en nuestra propuesta por lo que esta seccioacuten se centra en este operador de cruza El operador sbx es clasificado como un operador centrado en los padres por lo que los valores asociados a los hijos ( y ) tienden a ser cercanos a los valores de los padres ( y ) Especiacuteficamente el proceso para generar los valores de las soluciones hijas se basa en utilizar una distribucioacuten de probabilidad Esta distribucioacuten controla el factor de dispersioacuten el cual es definido como la razoacuten entre la distancia de los valores de las soluciones hijas y la distancia entre los valores de las soluciones padre Esta funcioacuten de densidad se define con base en un iacutendice de distribucioacuten (es un paraacutemetro de control

c1 c2 p1 p2

β = |c1 minus c2 | | p1 minus p2 |

ηc

especificado por el usuario) el cual altera la capacidad de exploracioacuten Especiacuteficamente un iacutendice pequentildeo induce una probabilidad elevada de crear valores de las soluciones hijas distantes de los valores de las soluciones padre mientras que iacutendices elevados tienden a crear soluciones muy similares a las soluciones padre lo cual se ilustra en la figura [figfig_sim] La definicioacuten matemaacutetica de la distribucioacuten y la forma de generar los valores de las soluciones hijas pueden ser estudiados en Las ecuaciones iniciales fueron formuladas con base en un problema de optimizacioacuten sin liacutemites en las variables Sin embargo en muchos problemas cada variable estaacute limitada dentro de un liacutemite inferior y superior Para considerar los liacutemites del espacio de decisioacuten se propuso una modificacioacuten de la distribucioacuten de probabilidad que es la que se usa en este artiacuteculo Para el caso de nuestro meacutetodo no es demasiado importante conocer la foacutermula exacta sino el efecto del valor que se ha ilustrado previamente

[algSBX_Operator]

Entrada Soluciones padre ( ) Iacutendice de distribucioacuten ( ) Probabilidad de cruza ( ) Salida Soluciones hijo ( ) [alginherit_variable] Generar utilizando las distribuciones dadas en Generar utilizando las distribuciones dadas en Intercambiar con

Es importante aclarar que la primera versioacuten del sbx fue disentildeada con base en una sola variable Posteriormente los autores consideraron aplicarlo a problemas con muacuteltiples variables considerando una estrategia simple para escoger las variables que se van a cruzar Especiacuteficamente con base en los principios del operador de cruza uniforme cada variable es cruzada con una probabilidad igual a A pesar de su sencillez y de no tener en cuenta las posibles dependencias entre variables hoy en diacutea eacutesta es la forma maacutes comuacuten de aplicar el sbx

Implementacioacuten y anaacutelisis del operador sbx

En este apartado se discuten algunas de las principales caracteriacutesticas de la implementacioacuten maacutes utilizada del operador sbx para problemas con muacuteltiples variables Esencialmente se consideran tres componentes clave que podriacutean afectar al rendimiento de los moeas En primer lugar como ya se mencionoacute anteriormente cada variable es alterada con una probabilidad fija igual a Si este valor de probabilidad se incrementa entonces los hijos tienden a crearse a mayor distancia de los padres debido a que se modifican maacutes variables de forma simultaacutenea En los problemas separables en general interesa modificar soacutelo una variable mientras que en los no separables suele ser maacutes conveniente modificar varias variables a la vez En la figura [figSimulation_pv] se pueden observar las implicaciones de modificar esta probabilidad considerando un problema con dos variables Particularmente en la parte derecha se muestra que una probabilidad pequentildea provoca que algunos valores permanezcan intactos es decir hay una tendencia de generar

ηc

P1 P2 ηc PcC1 C2 C1d

C2d C1d C2dC1d = P1d C2d = P2d C1 = P1 C2 = P2

05

05

desplazamientos paralelos a los ejes lo cual suele ser ideal para problemas separables Por otra parte en la parte izquierda se muestra que utilizando una probabilidad elevada existe un comportamiento de buacutesqueda distinto donde la tendencia anterior desaparece lo cual podriacutea ser oportuno para problemas no separables Es importante destacar que existe una relacioacuten entre esta probabilidad y el iacutendice de distribucioacuten ya que estos dos factores tienen un efecto directo en la similitud que existe entre las soluciones padres e hijas

[figSimulation_Case_3]

El segundo aspecto importante es que despueacutes de generar los dos valores de las soluciones hijas estos valores son intercambiados con una probabilidad fija (usualmente es ) es decir el valor de la solucioacuten hija no siempre es heredado a partir de la solucioacuten padre maacutes cercana Esta es una caracteriacutestica no muy discutida sin embargo es un aspecto muy relevante que afecta al rendimiento del algoritmo En algunos contextos esta probabilidad se denomina ldquoProbabilidad de cruza uniforme por variablerdquo (Variable uniform crossover probability) o ldquoRecombinacioacuten Discretardquo (Discrete Recombination) Dado que en el aacutembito multi-objetivo se promueve maacutes diversidad en las variables de decisioacuten de forma impliacutecita estos intercambios podriacutean ser altamente disruptivos De hecho debido a esto no es totalmente claro que el sbx deba ser categorizado como un operador centrado en los padres Estos intercambios que existen entre los valores de las soluciones hijas tienen un efecto de realizar muacuteltiples ldquoreflexionesrdquo en el espacio de buacutesqueda Asiacute conforme se incrementa la dimensionalidad en el espacio de las variables el nuacutemero de regiones cubiertas crece de forma exponencial como se puede observar en los casos de dos y tres dimensiones en la figura [figSimulations_Index_20] Es importante notar que esta caracteriacutestica tiene un efecto relevante en la distancia entre las soluciones padre y las soluciones hijas

Finalmente se discute el iacutendice de distribucioacuten que es quizaacutes la caracteriacutestica maacutes conocida del operador sbx Un iacutendice de distribucioacuten pequentildeo provoca un grado de exploracioacuten elevado De hecho un iacutendice de distribucioacuten igual a uno tiene un efecto similar al Operador de Recombinacioacuten Difusa (Fuzzy Recombination Operator) En la figura [figSimulation_Case_3] se puede observar el efecto de aplicar distintos iacutendices de distribucioacuten Particularmente en la parte izquierda se considera un iacutendice de distribucioacuten pequentildeo mientras en la parte derecha se considera un iacutendice de distribucioacuten grande Se observa que este uacuteltimo genera soluciones candidatas similares a las soluciones padre

05c1 p1

En el Algoritmo [algSBX_Operator] se muestra la implementacioacuten del operador sbx Este pseudocoacutedigo estaacute basado en la implementacioacuten que estaacute integrada en el coacutedigo del NSGA-II propuesto por Deb et al la cual se considera como la variante maacutes popular En los paraacutemetros de entrada se requieren dos soluciones padre ( ) y eacuteste crea dos soluciones hijas ( ) El primero y el segundo componente mencionados previamente corresponden a las liacuteneas 5 y 9 respectivamente El caso claacutesico del operador sbx se configura con los paraacutemetros y Es importante hacer notar que la implementacioacuten claacutesica no considera la dimensionalidad de las variables o el criterio de paro como parte de sus paraacutemetros internos

Propuesta - dsbx Con base en el anaacutelisis anterior y con el propoacutesito de inducir un balanceo entre exploracioacuten e intensificacioacuten de forma dinaacutemica y que dependa del instante de ejecucioacuten se proponen las siguiente modificaciones En primer lugar se modifica la probabilidad de alterar una variable ( ) durante la ejecucioacuten La intencioacuten de esta modificacioacuten es estimular la capacidad de exploracioacuten considerando inicialmente una probabilidad elevada para alterar maacutes variables de forma simultaacutenea mientras que conforme la ejecucioacuten avanza se reduce esta probabilidad con el fin de reducir el nuacutemero de variables que se modifican y promover asiacute movimientos maacutes pequentildeos El valor de se cambia con base en un modelo lineal decreciente donde inicialmente se fija a y se decrementa de forma que a la mitad del total de generaciones alcanza el valor Este uacuteltimo valor es mantenido hasta el final de la ejecucioacuten es decir desde la mitad de la ejecucioacuten este paraacutemetro se fija al mismo valor que el de la implementacioacuten tradicional del sbx Para asignar el valor se utiliza la Ecuacioacuten ([eqnlinear]) donde corresponde a la generacioacuten actual y corresponde al nuacutemero total de generaciones

El segundo cambio estaacute relacionado con la probabilidad de aplicar reflexiones ( ) En este caso es actualizado de acuerdo a la Ecuacioacuten ([eqnlinear]) por lo tanto la probabilidad de aplicar una reflexioacuten se incrementa de a durante la ejecucioacuten Esta modificacioacuten se realiza con el propoacutesito de evitar el comportamiento disruptivo de intercambiar variables en las primeras generaciones ya que esto provocariacutea modificaciones muy draacutesticas De esta forma seriacutea maacutes sensato aplicar estas reflexiones una vez que los individuos convergen en cierto grado Noacutetese que se incrementa hasta el valor el cual es el valor utilizado en la implementacioacuten del sbx estaacutendar ya que no se quiere disponer de un comportamiento excesivamente disruptivo Sin embargo en el futuro seriacutea interesante realizar estudios con otros valores finales

P1 P2 C1 C2

δ1 = δ2 = 05ηc = 20

δ1

δ110

05

δ1 GTranscurridasGTotal

1 minus δ2δ2

00 05

05

δ1 = δ2 = ma x(05 10 minusGTranscurridas

GTotal )

Finalmente el iacutendice de distribucioacuten tambieacuten es modificado durante la ejecucioacuten En las primeras etapas se promueve un iacutendice de distribucioacuten pequentildeo con el propoacutesito de incrementar la capacidad de exploracioacuten del sbx Posteriormente se decrementa de forma lineal lo cual tiene el efecto de que la curva de distribucioacuten se cierre y por lo tanto se promueve un mayor grado de intensificacioacuten en las etapas finales El incremento lineal es llevado a cabo usando la Ecuacioacuten ([eqnindex_eta]) por lo tanto el iacutendice de distribucioacuten es alterado de a Es importante aclarar que ya se han considerado modificaciones similares al iacutendice de distribucioacuten aunque las otras propiedades que se modifican nunca han sido estudiadas en profundidad

Resultados Puntos de referencias para el indicador HV

[tabMetrics_2]

[tabMetrics_3]

[tabstatistical_Tests]

2 22

ηc = 2 + 20 times ( GTranscurridas

GTotal )

Instancias Punto de referencia

WFG1-WFG9

DTLZ 1 2 4

DTLZ 3 5 6

DTLZ7

UF 1-10

[11 11]

[2 2]

[21 2m + 01]

[11 11 2m]

[3 3]

HV-2obj 16 29 47 6 61 25 28 19 45 31 23 38 54 3 35

HV-3obj 15 19 42 12 50 14 17 15 44 33 10 33 26 9 41

IGD-2obj 14 30 48 4 60 28 25 17 50 33 19 40 52 2 38

harr harrharr harrharr

En este apartado se analizan los resultados obtenidos con las variantes dinaacutemicas del sbx (dsbx) El nuevo operador de cruza se integroacute en los algoritmos NSGA-II MOEAD y SMS-EMOA En primer lugar se analiza cada una de las tres modificaciones propuestas de forma aislada Posteriormente se construye un caso donde se consideran las dos modificaciones que ofrecieron mejores resultados de forma simultaacutenea Como parte de la validacioacuten experimental se consideran los problemas de prueba WFG DTLZ y UF Ademaacutes con el propoacutesito de comparar nuestra extensioacuten del sbx con otros operadores se incluye la variante de evolucioacuten diferencial conocida como demo

Para llevar a cabo el anaacutelisis experimental y dado que todos los algoritmos son estocaacutesticos cada caso fue ejecutado veces con distintas semillas La configuracioacuten global que se aplicoacute a todos los algoritmos fue la siguiente Se asignoacute el criterio de paro a generaciones el tamantildeo de la poblacioacuten a se configuraron los problemas de prueba wfg con dos y tres objetivos considerando 24 variables donde variables son paraacutemetros de distancia y son

IGD-3obj 14 18 44 13 44 19 18 15 43 33 15 28 23 9 44

HV-2obj 15 33 44 10 60 22 25 26 41 39 18 35 57 9 26

HV-3obj 10 22 44 12 39 25 11 19 46 24 10 42 38 5 33

IGD-2obj 16 31 45 9 60 23 23 27 42 37 17 38 57 7 28

IGD-3obj 12 22 42 13 43 20 13 24 39 30 9 37 40 10 26

HV-2obj 9 35 48 7 43 42 16 31 45 41 9 42 53 8 31

HV-3obj 7 21 48 9 35 32 13 21 42 27 6 43 31 4 41

IGD-2obj 10 34 48 15 48 29 12 33 47 41 12 39 55 6 31

IGD-3obj 8 20 48 13 30 33 9 19 48 22 5 49 27 5 44

harr

harr

harr

harr

harr

harr

harr

harr

harr

harr

3525 000

10020 4

paraacutemetros de posicioacuten Como es sugerido en se consideroacute variables de decisioacuten en los problemas de prueba dtlz donde para los problemas DTLZ1 DTLZ2 - DTLZ6 y DTLZ7 se consideraron respectivamente En el caso de los problemas de prueba uf se utilizaron variables de decisioacuten Finalmente se hizo uso del operador de mutacioacuten polinomial con una probabilidad de mutacioacuten de y con un iacutendice de distribucioacuten igual a mientras que el operador de cruza sbx se utilizoacute con una probabilidad de cruza igual a y un iacutendice de distribucioacuten de

A continuacioacuten se especifica la parametrizacioacuten adicional propia de cada algoritmo

bull DEMO CR = 03 y F = 05

bull SMS-EMOA desplazamiento para calcular el HV = 100

bull MOEAD tamantildeo de la vecindad = 10 el nuacutemero de actualizaciones por subproblema ( ) = 2 y

Para comparar los frentes obtenidos por cada meacutetodo se utiliza el hipervolumen normalizado (HV) que se debe maximizar y la Distancia Generacional Invertida Modificada (Inverted Generational Distance Plus - IGD+) que se debe minimizar En la tabla [tabReferencePoints] se presentan los puntos de referencia utilizados para el indicador del hipervolumen los cuales son similares a los utilizados en Por otra parte para comparar los resultados estadiacutesticamente (valores del IGD+ y HV) se siguioacute un procedimiento similar al que se propuso en siendo el mismo que se aplicoacute para validar la primera propuesta

Anaacutelisis de cada modificacioacuten en el operador sbx En este apartado se analiza el efecto que cada modificacioacuten propuesta tiene de forma independiente sobre los resultados obtenidos Para ello basados en el Algoritmo [algSBX_Operator] se proponen cuatro casos

bull Caso 1 se aplica la versioacuten estaacutendar del operador sbx donde y

bull Caso 2 se actualiza el valor como se indica en la Ecuacioacuten ([eqnlinear]) y

bull Caso 3 se actualiza el valor como se indica en la Ecuacioacuten ([eqnlinear]) y

bull Caso 4 se actualiza el iacutendice de distribucioacuten de acuerdo a la Ecuacioacuten ([eqnindex_eta])

n = M + r minus 1

r = 5 10 2030

1n 5009

20

nrδ = 09

δ1 = δ2 = 05 ηc = 20

δ1 δ2 = 05ηc = 20

δ2 δ1 = 05ηc = 20

δ1 = δ2 = 05

En las tablas [tabMetrics_2] y [tabMetrics_3] se muestra informacioacuten del HV normalizado y del IGD+ para cada caso con dos y tres objetivos respectivamente (el Caso 5 se comenta maacutes adelante) Especiacuteficamente se muestra la media del HV e IGD+ para todos los problemas en dos y tres objetivos Se observa que considerando dos y tres objetivos el Caso 4 mejora al Caso 1 al Caso 2 y al Caso 3 en todos los algoritmos Por lo tanto se aprecian de forma clara los beneficios de incrementar el iacutendice de distribucioacuten durante la ejecucioacuten Por otra parte al considerar tres objetivos el Caso 2 presentoacute un rendimiento menor que el Caso 1 posiblemente debido a que al alterar tantas variables de forma simultaacutenea se produce un comportamiento excesivamente disruptivo Quizaacutes los resultados podriacutean mejorar si el paraacutemetro es alterado de una forma distinta sin embargo esto se deja como trabajo futuro Los anaacutelisis anteriores uacutenicamente consideran la media obtenida en todos los problemas de prueba En la tabla [tabstatistical_Tests] se muestran los resultados de las pruebas estadiacutesticas (el Caso 5 se discute en la siguiente seccioacuten) Particularmente se realizan comparaciones por pares en base a las pruebas estadiacutesticas ya mencionadas entre los cinco casos Este procedimiento se realizoacute de forma independiente para el NSGA-II MOEAD y el SMS-EMOA Para cada algoritmo y para cada caso la columna ldquo rdquo reporta el nuacutemero de comparaciones donde las pruebas estadiacutesticas confirmaron la superioridad del caso correspondiente mientras que en la columna ldquo rdquo se reporta el nuacutemero de veces donde este caso fue inferior y la columna ldquo rdquo indica el nuacutemero de comparaciones donde las diferencias no fueron significativas Con base en estos resultados se puede observar que el caso 3 y caso 4 aportan con respecto al caso 1 mientras que el caso 2 no es robusto siendo en varios algoritmos inferior al caso 1 Adicionalmente se anexan resultados detallados para facilitar que otros investigadores puedan realizar comparativas con un mayor nivel de detalle 6

Modificacioacuten simultaacutenea de varios componentes Con base en los anaacutelisis realizados con anterioridad se propone una variante del operador sbx que incorpora las modificaciones propuestas en el Caso 3 y Caso 4 de forma simultaacutenea es decir se incorpora un cambio dinaacutemico tanto en el paraacutemetro como en el iacutendice de distribucioacuten Debido a los resultados de baja calidad del Caso 2 el paraacutemetro no se modifica de forma dinaacutemica Particularmente el Caso 5 se construye con base en el Algoritmo [algSBX_Operator] asignando el paraacutemetro a debido a que es la forma de la versioacuten estaacutendar del sbx mientras que es actualizado de acuerdo a la Ecuacioacuten ([eqnlinear]) y el paraacutemetro es actualizado como se indica en la Ecuacioacuten ([eqnindex_eta])

De acuerdo a la media del HV y del IGD+ que se obtuvieron en el Caso 5 (ver tablas [tabMetrics_2] y [tabMetrics_3]) es claro que integrar los Casos 3 y 4 proporciona

δ1

harr

δ2δ1

δ1 05δ2 ηc

httpsgithubcomjoelchaconcastilloSBX_CEC20186

beneficios importantes En el caso de dos objetivos se observa una ventaja significativa Sin embargo en el caso de tres objetivos los Casos 4 y 5 son muy similares con base en la media Ademaacutes al considerar tres objetivos los resultados que se obtuvieron en el Caso 5 son superiores a los obtenidos con de mientras que al considerar la versioacuten estaacutendar de sbx se observa un deterioro Por lo tanto si el operador sbx es configurado adecuadamente puede generar resultados similares o superiores que el algoritmo demo

Finalmente en la tabla [tabstatistical_Tests] se muestran los resultados de las pruebas estadiacutesticas Los beneficios obtenidos por el Caso 5 son muy claros De hecho uacutenicamente el Caso 4 obtuvo mejores resultados que el Caso 5 al considerar tres objetivos y al algoritmo NSGA-II Esto demuestra que se pueden obtener mejores resultados si se integran varias modificaciones dinaacutemicas de forma simultaacutenea Ademaacutes los resultados confirman las ventajas de la versioacuten dinaacutemica frente al caso estaacutendar (Caso 1) El uacutenico caso que no presenta ventajas importantes frente a la versioacuten estaacutendar del sbx es el Caso 2 el cual fue discutido con anterioridad

Conclusiones y trabajo futuro La convergencia prematura es una de las debilidades maacutes importantes de los eas Una de las formas de lidiar con este problema consiste en inducir un balanceo adecuado entre exploracioacuten e intensificacioacuten Sin embargo obtener este balanceo no es una tarea trivial debido a que cada problema de optimizacioacuten tiene caracteriacutesticas distintas y por ello han surgido numerosos esquemas para tratar esta problemaacutetica Con base en esto se han desarrollado varias taxonomiacuteas con el propoacutesito de clasificar las diferentes formas en que se puede preservar y promover la diversidad En este trabajo con el fin de ilustrar como se pueden realizar disentildeos de eas que tomen en cuenta el balanceo entre exploracioacuten e intensificacioacuten se presentan dos ejemplos De forma general las propuestas establecen un comportamiento dinaacutemico de alguacuten componente del ea teniendo en cuenta para ello el criterio de paro y el instante en que se encuentra la ejecucioacuten Asiacute se obtuvo un balanceo adecuado en el que en las primeras fases se promueve maacutes exploracioacuten y en las uacuteltimas se promueve maacutes la intensificacioacuten De modo maacutes especiacutefico en la primera propuesta se modifica evolucioacuten diferencial por medio de una nueva fase de reemplazo con el propoacutesito de conseguir este balanceo Ademaacutes esta contribucioacuten incorpora una poblacioacuten eacutelite con el propoacutesito de proporcionar soluciones de calidad tanto a mediano como a largo plazo Con base en la validacioacuten experimental llevada a cabo se observa que esta propuesta mejora a los mejores algoritmos que se habiacutean propuesto en una competicioacuten que consideroacute las funciones de prueba usadas en este capiacutetulo Posteriormente se presenta un anaacutelisis del operador de cruza sbx y se desarrolloacute una variante que modifica varios componentes de forma dinaacutemica

considerando tambieacuten el criterio de paro y las generaciones transcurridas Con base en los resultados obtenidos con problemas muy populares del aacutembito de optimizacioacuten multi-objetivo se muestra que usar el operador sbx modificado ofrece ventajas muy importantes en varios moeas y para diferentes indicadores De forma general se observa que obtener un balanceo apropiado entre exploracioacuten e intensificacioacuten es realmente importante y que esto se puede conseguir utilizando teacutecnicas radicalmente diferentes aunque siguiendo los mismos principios de disentildeo

El campo de disentildeo de eas es un campo muy activo y en el que hay muchas ideas auacuten por explorar Uno de los aspectos importantes es que las estrategias de control de diversidad ofrecen muchas ventajas a largo plazo pero se debe hacer el esfuerzo por conseguir que se pueda reducir el nuacutemero de evaluaciones requeridas para obtener resultados prometedores Otro aspecto importante es que en general la mayor parte de las estrategias de control de diversidad introduce nuevos paraacutemetros por lo que es importante combinar estos mecanismos con estrategias de control de paraacutemetros adaptativas o auto-adaptativas para facilitar su utilizacioacuten Finalmente para el caso especiacutefico del dsbx seriacutea interesante integrarlo con teacutecnicas de aprendizaje para lidiar con problemas con dependencias y mejorar asiacute auacuten maacutes el rendimiento de la propuesta

Para saber maacutes bull Para saber maacutes sobre la historia de los algoritmos evolutivos se sugiere consultar

bull Puede consultar informacioacuten sobre tipos de metaheuriacutesticas y disentildeo e implementacioacuten de las mismas en

bull Si desea consultar informacioacuten baacutesica sobre los fundamentos de los algoritmos evolutivos se sugiere consultar

bull Para profundizar maacutes en el toacutepico de manejo de diversidad exploracioacuten e intensificacioacuten se sugiere consultar

bull Se puede consultar material relacionado con operadores de cruza y algoritmos evolutivos multi-objetivo en

bull Para obtener maacutes informacioacuten relacionada al tema de evolucioacuten diferencial se sugiere consultar

bull Si desea consultar aplicaciones de algoritmos evolutivos multi-objetivo se puede consultar

Agradeciemientos Los autores agradecen el apoyo financiero proporcionado por CONACyT a traveacutes del proyecto no 285599

Hiper-heuriacutesticas en la Solucioacuten de Problemas de Optimizacioacuten

Hugo Terashima-Mariacuten Santiago Enrique Conant-Pablos Joseacute Carlos Ortiz-Bayliss e Ivaacuten Mauricio Amaya Contreras

terashimasconantjcobaylissiamaya2itesmmx Tecnologico de Monterrey Escuela de Ingenieriacutea y Ciencias

Campus Monterrey

Introduccioacuten Cuando nos enfrentamos a problemas complejos como aquellos del tipo NP o de optimizacioacuten combinatoria pueden presentarse dos escenarios diferentes En el primero estamos dispuestos a invertir todos los recursos disponibles para resolver de la mejor manera posible un problema particular Este escenario se caracteriza porque cada vez que un nuevo problema aparece se invierte una gran cantidad de recursos para obtener una solucioacuten a esa instancia dada En el segundo escenario estamos dispuestos a sacrificar algo de la calidad de la solucioacuten para economizar recursos Por lo tanto se utilizan meacutetodos geneacutericos y capaces de obtener soluciones aceptables mediante un uso racionado de los recursos En este caso el riesgo es que el meacutetodo geneacuterico no sea adecuado para el problema y que produzca una solucioacuten de mala calidad Estaacute claro que en promedio el primer escenario generaraacute mejores soluciones pero no es viable en la mayoriacutea de los problemas reales debido al alto consumo de recursos Las hiper-heuriacutesticas por otra parte son generalmente uacutetiles en el segundo escenario pues buscan proporcionar estrategias geneacutericas con buena calidad

Las hiper-heuriacutesticas son meacutetodos emergentes de buacutesqueda heuriacutestica que intentan producir un nivel maacutes alto de flexibilidad e independencia del dominio en que se aplican de tal forma que sean capaces de adaptarse a distintos tipos de problemas o a las distintas instancias de un mismo tipo Esto lo automatizan frecuentemente incorporando meacutetodos de aprendizaje automaacutetico y lo ejecutan a traveacutes de un proceso de seleccioacuten dinaacutemica de heuriacutesticas maacutes simples durante la solucioacuten de los problemas o bien mediante la generacioacuten de nuevas heuriacutesticas a partir de la combinacioacuten o adaptacioacuten de otras ya existentes (o de sus componentes) Actualmente hay diversos modelos de hiper-heuriacutesticas los cuales pueden clasificarse de acuerdo a las categoriacuteas propuestas por Esta clasificacioacuten divide a las hiper-heuriacutesticas seguacuten su forma de aprendizaje asiacute como seguacuten su mecanismo de obtencioacuten de las soluciones entre otros Aunque el teacutermino lsquohiper-heuriacutesticarsquo fue acuntildeado como tal en el 2001 hubieron esfuerzos previos con ideas similares Entre ellos cabe destacar a los portafolios (o seleccioacuten) de algoritmos y a la

configuracioacuten especiacutefica de algoritmos Desde entonces la actividad de investigacioacuten en hiper-heuriacutesticas ha avanzado y propagado en diversas instituciones en el mundo y ha sido tema de presentacioacuten y discusioacuten en diversas conferencias y revistas internacionales

Por otra parte y en lo que respecta a la investigacioacuten en hiper-heuriacutesticas en Meacutexico son pocos los investigadores e instituciones que se han vinculado a ella La mayor parte de la investigacioacuten realizada en el tema se concentroacute inicialmente en el Tecnoloacutegico de Monterrey donde se han desarrollado hiper-heuriacutesticas para corte y empacado satisfaccioacuten de restricciones y ruteo de vehiacuteculos El Tecnoloacutegico de Monterrey es tambieacuten pionero en el tema de la transformacioacuten de caracteriacutesticas y en hiper-heuriacutesticas para resolver problemas multi-objetivo Las hiper-heuriacutesticas desarrolladas en el Tecnoloacutegico de Monterrey se han fundamentado en diversas estrategias de aprendizaje que incluyen algoritmos geneacuteticos redes neuronales y programacioacuten geneacutetica entre otras Recientemente el Instituto Politeacutecnico Nacional (IPN) y el CINVESTAV han logrado importantes avances en lo relacionado a hiper-heuriacutesticas para problemas multi-objetivo y en el uso de hiper-heuriacutesticas basadas en evolucioacuten diferencial Como resultado de la colaboracioacuten del Tecnoloacutegico de Monterrey y el CINVESTAV en el 2017 comenzoacute a explorarse la transformacioacuten de caracteriacutesticas como mecanismo para mejorar el desempentildeo de hiper-heuriacutesticas El Instituto Tecnoloacutegico de Leoacuten y la Universidad de Guanajuato ha colaborado para desarrollar muacuteltiples trabajos sobre hiper-heuriacutesticas Los dominios de problemas que han abordado con hiper-heuriacutesticas incluyen calendarizacioacuten de eventos acadeacutemicos y ruteo de vehiacuteculos Adicionalmente la Universidad de Guanajuato ha incursionado en el uso de redes neuronales pre-entrenadas para acelerar el proceso de seleccioacuten de las heuriacutesticas ademaacutes de proponer una metodologiacutea para la adecuada seleccioacuten del conjunto de heuriacutesticas que debe estar disponible para una determinada hiper-heuriacutestica El Instituto Tecnoloacutegico de Ciudad Madero en colaboracioacuten con el Instituto Tecnoloacutegico de Leoacuten ha realizado importantes avances en la generacioacuten semiautomaacutetica de heuriacutesticas para el problema de empacado utilizando diversos meacutetodos como evolucioacuten diferencial y evolucioacuten gramatical

Este capiacutetulo estaacute encaminado a presentar el concepto de hiper-heuriacutesticas para entender sus caracteriacutesticas fundamentos modelos fortalezas y debilidades asiacute como algunas de sus aacutereas de aplicacioacuten El capiacutetulo integra en la Seccioacuten 2 los fundamentos de hiper-heuriacutesticas considerando principalmente los dos tipos aqueacutellas que seleccionan heuriacutesticas y aqueacutellas que generan nuevas heuriacutestica En la Seccioacuten 3 se presentan algunos modelos de hiper-heuriacutesticas algunos basados en esquemas evolutivos y otros basados en redes neuronales La Seccioacuten 4 presenta un ejemplo con la idea de mostrar paso a paso el proceso para generar hiper-heuriacutesticas en particular para el problema de particioacuten balanceada En la Seccioacuten 5 se discuten algunos aspectos avanzados sobre las hiper-heuriacutesticas como la solucioacuten de problemas multi-objetivo y la transformacioacuten de caracteriacutesticas En la Seccioacuten 6 se describe algunas tendencias futuras de hiper-heuriacutesticas

Algunos recursos disponibles relacionados con hiper-heuriacutesticas se presentan en la Seccioacuten 7 Finalmente en la Seccioacuten 8 se proporcionan las conclusiones

Fundamentos de las Hiper-heuriacutesticas Las hiper-heuriacutesticas trabajan sobre la idea de que es posible reutilizar los componentes de meacutetodos existentes ndashgeneralmente simples como son las heuriacutesticasndash para construir meacutetodos de buacutesqueda maacutes robustos y que se adapten a las condiciones del problema actual De esta forma se busca obtener soluciones que en la medida de lo posible y de acuerdo al tiempo disponible sean de buena calidad Ahora bien la forma de adaptacioacuten a los problemas da lugar a los dos grandes tipos de hiper-heuriacutesticas las que seleccionan heuriacutesticas y las que generan nuevas heuriacutesticas

Hiper-heuriacutesticas que seleccionan heuriacutesticas En este tipo de adaptacioacuten se busca cambiar la heuriacutestica usada para atacar la instancia del problema cambios que pueden ocurrir cada vez que el proceso requiere tomar una decisioacuten Por ejemplo en el caso del problema del vendedor viajero (TSP) se pretende encontrar el tour de miacutenimo costo para visitar todas y cada una de las ciudades de un conjunto dado Si se inicia con un tour vaciacuteo la toma de decisiones consiste en decidir la siguiente ciudad a visitar Mientras que con una heuriacutestica estariacuteamos a merced de una sola forma de decisioacuten (por ejemplo visitar la ciudad maacutes cercana o la maacutes lejana a la actual que todaviacutea no se haya visitado) con una hiper-heuriacutestica tenemos la flexibilidad para utilizar heuriacutesticas diferentes en cada toma de decisioacuten (por ejemplo iniciar con la maacutes cercana y luego tomar la maacutes lejana) De esta manera es comuacuten que una hiper-heuriacutestica utilice conjuntos y oacuterdenes de heuriacutesticas distintos para resolver diferentes instancias de un problema Desde esta perspectiva una hiper-heuriacutestica es el meacutetodo de alto nivel que controla coacutemo y cuaacutendo usar heuriacutesticas de bajo nivel

Hiper-heuriacutesticas que generan nuevas heuriacutesticas Este segundo tipo de adaptacioacuten busca combinar heuriacutesticas existentes (o sus componentes) en la generacioacuten de heuriacutesticas de alto nivel Por ejemplo asumiendo de nuevo el problema del vendedor viajero donde se construye la solucioacuten a partir de un tour vaciacuteo una heuriacutestica podriacutea decidir la nueva ciudad a agregar como aquella que minimice la distancia con respecto al eje coordenado a la uacuteltima ciudad visitada en el tour parcial actual Sin embargo otra heuriacutestica podriacutea seleccionar la ciudad basada en la distancia con respecto al eje coordenado La ciudad recomendada por ambas heuriacutesticas podriacutea ser la misma o una distinta Otra alternativa seriacutea combinar los criterios de ambas heuriacutesticas por ejemplo que se agregue la ciudad que minimice la funcioacuten Mediante esta sencilla funcioacuten es posible combinar los

dxx

dy y

f (x) = dx times dy

criterios de decisioacuten de cada heuriacutestica y formar una que se adapte a diferentes condiciones del problema De esta forma la hiper-heuriacutestica es un meacutetodo que genera nuevas heuriacutesticas

A continuacioacuten describiremos con maacutes detalle cada uno de estos tipos de hiper-heuriacutesticas

Hiper-heuriacutesticas que seleccionan heuriacutesticas La mayor parte de los trabajos realizados en Meacutexico se ha enfocado en este primer tipo de adaptacioacuten y por ello optamos por detallarlas maacutes Las hiper-heuriacutesticas de seleccioacuten como nos referiremos a ellas a partir de este momento estaacuten inspiradas en la idea de que existe un algoritmo maacutes adecuado para cada problema lo que en la literatura se conoce como el problema de la seleccioacuten de algoritmos En este sentido las hiper-heuriacutesticas de seleccioacuten exploran la forma en que diversas heuriacutesticas (u otros meacutetodos simples y raacutepidos de ejecutar) pueden combinarse para generar estrategias de solucioacuten robustas y con un buen desempentildeo general

En este punto cabe mencionar que las diferencias entre los portafolios de algoritmos la configuracioacuten especiacutefica de algoritmos y las hiper-heuriacutesticas de seleccioacuten son sutiles pero auacuten asiacute pueden apreciarse Por ejemplo tanto las hiper-heuriacutesticas como los portafolios de algoritmos deciden cuaacutel de los meacutetodos disponibles para resolver el problema debe utilizarse en un momento dado La diferencia principal es la naturaleza de los meacutetodos disponibles donde los portafolios de algoritmos trabajan usualmente con colecciones de meacutetodos de solucioacuten especializados para ciertos tipos de problemas mientras que las hiper-heuriacutesticas usualmente administran meacutetodos maacutes generales como son las heuriacutesticas La configuracioacuten especiacutefica de algoritmos (ISAC por sus siglas en ingleacutes) busca optimizar los paraacutemetros de los algoritmos para que se adapten a las caracteriacutesticas del problema que intentan resolver Si consideramos dos instancias de un mismo algoritmo con configuraciones distintas pueden considerarse como dos meacutetodos diferentes entonces ISAC es en esencia un portafolio de algoritmos

Como ya se mencionoacute una hiper-heuriacutestica de seleccioacuten decide en determinados momentos del proceso de solucioacuten queacute heuriacutestica debe utilizar A partir de este momento usaremos el teacutermino lsquopunto de decisioacutenrsquo para referirnos a esos momentos especiacuteficos durante la buacutesqueda cuando la hiper-heuriacutestica puede cambiar la heuriacutestica a utilizar Los puntos de decisioacuten pueden manejarse de muchas formas Por ejemplo podriacutea realizarse un cambio de heuriacutestica cada vez que una variable deba asignarse o soacutelo despueacutes de cierto nuacutemero de veces que deba asignarse o soacutelo si se cumple alguna condicioacuten particular Una forma muy comuacuten en la que se usan las hiper-heuriacutesticas lsquoperturbativasrsquo ndashaquellas que incrementalmente aplican modificaciones locales (movimientos) a soluciones completas (aproximaciones a la solucioacuten deseada) que representan los estados actuales de la buacutesquedandash es cambiar de heuriacutestica perturbativa uacutenicamente si la

calidad de la aproximacioacuten actual estaacute disminuyendo o si se ha mantenido estable por cierto tiempo

De forma muy general una hiper-heuriacutestica de seleccioacuten se comporta como se muestra en el Algoritmo [algGenericSelectionHH]

Como puede observarse en el Algoritmo [algGenericSelectionHH] la hiper-heuriacutestica tiene la capacidad de aplicar una heuriacutestica al problema para modificar su estado (buscando acercarlo a un estado meta o solucioacuten deseada) Ya que un problema especiacutefico de buacutesqueda depende del estado inicial de la misma si consideramos a la solucioacuten resultante de aplicacioacuten de la heuriacutestica actual al estado actual como el estado inicial del resto de la buacutesqueda estamos modificando el problema a resolver y este quizaacutes podriacutea ser resuelto de una mejor manera con una heuriacutestica distinta a la actual

La eleccioacuten de la heuriacutestica a utilizar en cada punto de decisioacuten depende completamente de la funcioacuten Selecciona la cual busca en el espacio de heuriacutesticas la maacutes adecuada de acuerdo al estado actual del problema Como puede inferirse del pseudocoacutedigo diferentes implementaciones de la funcioacuten Selecciona resultaraacuten en diferentes comportamientos de la hiper-heuriacutestica Por ejemplo una hiper-heuriacutestica completamente aleatoria implementariacutea la funcioacuten Selecciona como se muestra en el Algoritmo [algRandomSelect]

En el caso de una hiper-heuriacutestica aleatoria la rutina ignora por completo el estado del problema ya que no lo requiere para determinar queacute heuriacutestica utilizar Como es de esperarse el desempentildeo de una hiper-heuriacutestica aleatoria es en la mayoriacutea de los casos malo si el conjunto de heuriacutesticas simples contiene una o maacutes heuriacutesticas cuyo comportamiento es deficiente en los problemas a resolver

Otra posible idea para implementar una hiper-heuriacutestica es usar una secuencia predefinida de heuriacutesticas como estrategia de decisioacuten dentro de la funcioacuten Selecciona La idea detraacutes de esta hiper-heuriacutestica es que en algunos casos la relacioacuten entre heuriacutesticas depende de su encadenamiento (una secuencia ordenada de heuriacutesticas) Por ejemplo en un problema de empacado donde objetos de diferentes voluacutemenes deben ser empacados en un nuacutemero finito de contenedores de forma que se minimice el nuacutemero de contenedores utilizados podriacutea ser conveniente el utilizar una secuencia de heuriacutesticas donde despueacutes de empacar el objeto maacutes pequentildeo siempre se deba empacar el objeto maacutes grande Una hiper-heuriacutestica basada en secuencias predefinidas requiere conocer la secuencia especiacutefica de heuriacutesticas a aplicar y la uacuteltima heuriacutestica aplicada El Algoritmo [algSequenceHH] muestra una posible implementacioacuten de este tipo de hiper-heuriacutesticas

En caso de que una heuriacutestica deba aplicarse dos o maacutes veces seguidas esta deberaacute aparecer dos o maacutes veces en la secuencia predefinida de heuriacutesticas Debido a que la longitud de la secuencia de heuriacutesticas es mucho menor que el nuacutemero de puntos de decisioacuten en el problema hay que definir lo que se haraacute al llegar al final de la secuencia Una alternativa es que se vuelva a recorrer la misma secuencia desde la primera posicioacuten Otra opcioacuten es que al llegar al final de la secuencia desde ese momento se use soacutelo la uacuteltima heuriacutestica de la secuencia

Una tercera versioacuten de hiper-heuriacutestica (Algoritmo [algStateBasedHH]) representa la seleccioacuten inteligente del meacutetodo maacutes adecuado dadas las condiciones actuales del problema En esta versioacuten de hiper-heuriacutestica la funcioacuten Selecciona contiene un mapeo de situaciones en las que cada heuriacutestica deberiacutea ser utilizada

Como puede apreciarse en el Algoritmo [algStateBasedHH] la funcioacuten debe evaluar el estado actual del problema para determinar queacute heuriacutestica aplicar Hasta este momento no hemos proporcionado detalles sobre coacutemo se realiza la seleccioacuten de la heuriacutestica maacutes adecuada para un determinado estado del problema pero podemos adelantar que es el punto maacutes sensible del proceso

Entre los modelos maacutes utilizados para producir hiper-heuriacutesticas de seleccioacuten se encuentran los algoritmos geneacuteticos y las redes neuronales Maacutes adelante en este capiacutetulo se describiraacuten a detalle coacutemo funciona cada uno de estos modelos y coacutemo se implementan

Hiper-heuriacutesticas que generan nuevas heuriacutesticas Este segundo tipo de adaptacioacuten hace que las hiper-heuriacutesticas funcionen como generadores semi-automaacuteticos de heuriacutesticas De esta forma la combinacioacuten de componentes de decisioacuten se plasma en una funcioacuten que por siacute misma representa una nueva heuriacutestica En el contexto de heuriacutesticas perturbativas puede tratarse de la combinacioacuten de dos o maacutes operadores al mismo tiempo cada uno de ellos enfocados a modificar distintas secciones de la aproximacioacuten actual o bien a la aplicacioacuten en secuencia de dos o maacutes operadores perturbativos al estado actual de la buacutesqueda La situacioacuten es diferente para hiper-heuriacutesticas lsquoconstructivasrsquo ndashaquellas que gradualmente construyen la solucioacuten al problema generando soluciones parciales cada vez maacutes completas a partir de una solucioacuten inicialmente vaciacuteandash ya que en este caso las heuriacutesticas constructivas tienen la tarea de asignar un valor a cada elemento que puede integrarse a la solucioacuten de forma que se agregue el elemento que maximice (o minimice seguacuten sea el caso) dicho valor Por ejemplo si estamos utilizando un hiper-heuriacutestica constructiva para resolver una instancia del problema del agente viajero podemos considerar una heuriacutestica que agrega la ciudad con la menor distancia a la uacuteltima ciudad visitada en la solucioacuten parcial actual Para ello se debe calcular la distancia de cada una de las ciudades que todaviacutea no han sido visitadas a la

uacuteltima ciudad del tour parcial actual Luego de ello la heuriacutestica recomendaraacute agregar aquella con la menor distancia

De forma muy general una hiper-heuriacutestica de generacioacuten se comporta como se muestra en el Algoritmo [algGenericGenerationHH]

Por supuesto en este momento no se brindan detalles de coacutemo implementar la funcioacuten Genera que es la responsable de generar la heuriacutestica que se utilizaraacute para resolver el problema actual Entre los meacutetodos maacutes populares en la comunidad para implementar hiper-heuriacutesticas de generacioacuten se cuentan tanto programacioacuten geneacutetica como evolucioacuten diferencial

Modelos de Hiper-heuriacutesticas En esta seccioacuten se presentaraacuten las ideas generales detraacutes de las hiper-heuriacutesticas que se ha implementado de diversas formas y con apoyo de diferentes meta-heuriacutesticas o distintos modelos de aprendizaje automaacutetico

Modelos Evolutivos La computacioacuten evolutiva se ha utilizado tanto para construir hiper-heuriacutesticas de generacioacuten (mediante programacioacuten geneacutetica y evolucioacuten diferencial) como para construir hiper-heuriacutesticas de seleccioacuten (mediante algoritmos geneacuteticos y estrategias evolutivas) A continuacioacuten describiremos coacutemo se han implementado algunos casos de eacutexito de hiper-heuriacutesticas mediante computacioacuten evolutiva

Hiper-Heuriacutesticas basadas en Algoritmos Geneacuteticos

Los modelos evolutivos generan reglas que relacionan puntos especiacuteficos del espacio de caracteriacutesticas del problema con una heuriacutestica especiacutefica que ha demostrado ser uacutetil ante instancias con caracteriacutesticas similares Estas reglas pueden obtenerse de diversas formas ndashincluso pueden ser definidas por el usuario Sin embargo los algoritmos geneacuteticos han resultado muy uacutetiles para esta tarea y por esta razoacuten su uso seraacute detallado a continuacioacuten

El algoritmo geneacutetico mantiene una poblacioacuten de individuos de longitud variable que representan hiper-heuriacutesticas en potencia Durante cada generacioacuten estos individuos son combinados y mutados con la finalidad de mejorar la calidad de la poblacioacuten Seguacuten sea el caso los operadores geneacuteticos pueden o no ser adaptados para el problema Por ejemplo como el nuacutemero de reglas en las hiper-heuriacutesticas es variable los individuos en la poblacioacuten tambieacuten tienen una longitud

larr

variable Es necesario entonces adaptar el operador de cruza para que produzca soacutelo individuos vaacutelidos La funcioacuten objetivo contiene un conjunto de instancias a resolver El desempentildeo de cada individuo en dicho conjunto se convierte en su aptitud Con el paso de las generaciones se espera que los individuos que mejor resuelvan el conjunto de entrenamiento sean favorecidos por el proceso geneacutetico El mejor individuo de la uacuteltima generacioacuten es seleccionado como la hiper-heuriacutestica resultante del proceso evolutivo

Los modelos hiper-heuriacutesticos basados en algoritmos geneacuteticos fueron unas de las primeras opciones que se consideraron para generar heuriacutesticas El primer trabajo que utilizoacute un algoritmo geneacutetico para la exploracioacuten del espacio de heuriacutesticas en problemas de calendarizacioacuten fue publicado en 1994 antildeos antes de que el teacutermino hiper-heuriacutestica fuera utilizado por primera vez Pocos antildeos maacutes tarde esta idea fue retomada en y A la fecha gran parte de los trabajos relacionados con hiper-heuriacutesticas utilizan alguna forma de computacioacuten evolutiva como parte del mecanismo de generacioacuten y ajuste de las hiper-heuriacutesticas

Hiper-Heuriacutesticas basadas en Programacioacuten Geneacutetica

Las hiper-heuriacutesticas basadas en programacioacuten geneacutetica tienen la capacidad de combinar los componentes de heuriacutesticas existentes para construir nuevas heuriacutesticas que funcionen adecuadamente ante diversos grupos de instancias del problema La inclusioacuten de una gramaacutetica tipo BNF en este proceso es una tendencia reciente Un problema de satisfaccioacuten de restricciones (CSP) se define como un conjunto de variables asociado a un conjunto de dominios de valores ( ) y a un conjunto de restricciones entre las variables El objetivo es una asignacioacuten completa y consistente de valores a variables de la manera que se cumplan todas las restricciones Los CSPs han sido aplicados para el modelado y solucioacuten de problemas en diversos dominios Aquiacute describimos una plataforma basada en gramaacuteticas para generar automaacuteticamente nuevas heuriacutesticas de seleccioacuten de variables para CSPs El espacio de posibilidades se define generando oraciones vaacutelidas de acuerdo a la gramaacutetica que se utiliza

Un enfoque inicial en este sentido es el presentado en el trabajo de Ortiz-Bayliss et al que provee la evidencia de que es posible delegar al menos para ciertas tareas la generacioacuten de heuriacutesticas a un proceso automaacutetico En el trabajo se usan caracteriacutesticas provenientes de las heuriacutesticas previamente disentildeadas y se utiliza programacioacuten geneacutetica para combinar esos atributos y generar nuevas heuriacutesticas La idea es encapsular el conocimiento del experto humano de diversas formas para obtener mejores soluciones Dado que en la gramaacutetica hay que definir un conjunto de funciones y un conjunto de terminales las funciones utilizadas en esta investigacioacuten incluyen suma (+) resta (-) multiplicacioacuten () y divisioacuten protegida () (si el divisor es cero no se ejecutar la operacioacuten y el resultado es 1) Con este conjunto simple de operadores es

XD

suficiente para generar heuriacutesticas competitivas La definicioacuten de la gramaacutetica se puede observar en la Figura [figGrammar]

ltSgt ltEgt ltEgt ltOpgt ltFgt ltOpgt ltOpgt ( ltEgt ) | ltTgt ltFgt + | - | | ltTgt | | | |

En un esfuerzo maacutes avanzado en este respecto el modelo presentado en presenta una gramaacutetica que contiene elementos maacutes sofisticados como el estatuto if-then-else operadores aritmeacuteticos y loacutegicos lo que permite generar mayor cantidad de posibilidades de combinacioacuten ademaacutes de funciones sobrecargadas capaces de manejar diversas dimensionalidades de entrada lo que provee mayor flexibilidad y un mayor espacio de soluciones En este trabajo se usaron tres diferentes estrategias para evolucionar las heuriacutesticas programacioacuten geneacutetica (GP) buacutesqueda local iterada (ILS) y buacutesqueda de alpinista en paralelo (PHC) En los experimentos se usaron tanto instancias sinteacuteticas como reales para comparar el rendimiento entre las heuriacutesticas generadas y las del estado del arte disentildeadas por el humano El estudio considera varios asuntos como la composicioacuten del conjunto de entrenamiento hacia la generalidad de las heuriacutesticas y su rendimiento sobre instancias no vistas Tambieacuten se considera la evolucioacuten de heuriacutesticas sobre instancias pequentildeas capaces de generalizar sobre instancias maacutes grandes y no vistas y sobre otras instancias del mundo real La Figura 1 muestra un ejemplo de heuriacutestica generada por programacioacuten geneacutetica

Ejemplo de heuriacutestica generada automaacuteticamente por un proceso de Programacioacuten Geneacutetica para el problema de CSP

rarr rarr rarr rarr rarr deg(x)con f licts(x) dom(x) κ (x) r

variableFromVariableValue

smallest

If-VariablesValues1

greaterOrEqualThan minus minus

largest smallest

plus

mxi bdeg

conflicts

bbz log2

division

fdeg fbz

minus conflicts

multiplication plus

bbz pxi

Modelos Neuronales A diferencia de los modelos evolutivos que generan reglas que mapean caracteriacutesticas del problema a heuriacutesticas especiacuteficas las hiper-heuriacutesticas basadas en modelos neuronales aprenden las relaciones existentes entre caracteriacutesticas y heuriacutesticas a partir de casos de ejemplo De esta manera los modelos de hiper-heuriacutesticas basados en redes neuronales requieren un conjunto de entrenamiento donde se contengan las relaciones a aprender De manera general la hiper-heuriacutestica contiene una red neuronal que aprende a clasificar instancias seguacuten sus caracteriacutesticas La clase a la que pertenece la instancia representa la heuriacutestica a utilizar en un momento particular de la buacutesqueda

Probablemente uno de los primeros trabajos que exploraron el uso de redes neuronales para la seleccioacuten de heuriacutesticas fue el presentado por Moriarty en donde se presentoacute el modelo SANE (Symbiotic Adaptive Neuro-Evolution) para encontrar redes neuronales que representaban heuriacutesticas para el ordenamiento de valor en problemas de satisfaccioacuten de restricciones Antildeos maacutes tarde Corr propuso utilizar redes neuronales como selectores de heuriacutesticas constructivas para el problema de la calendarizacioacuten de exaacutemenes No fue sino hasta el 2009 que se publicoacute el primer trabajo de redes neuronales que expliacutecitamente mencionaba el teacutermino lsquohiper-heuriacutesticarsquo En dicho trabajo Ortiz-Bayliss et al retomaron la idea de usar redes neuronales como selectores de heuriacutesticas constructivas pero esta vez aplicado al problema de satisfaccioacuten de restricciones y con una red neuronal con aprendizaje mediante retro-propagacioacuten

Los modelos neuronales tambieacuten se han usado dentro de las hiper-heuriacutesticas para agilizar el entrenamiento Por ejemplo Li et al utilizaron una red neuronal para estimar el costo de una funcioacuten objetivo de forma que se minimizara el nuacutemero de evaluaciones reales durante el proceso de entrenamiento de la hiper-heuriacutestica

En cuanto a la arquitectura de la red neuronal se han utilizado diferentes opciones Una parte significativa de los trabajos ha utilizado el perceptroacuten multicapa Algunos otros trabajos han optado por arquitecturas maacutes especiacuteficas a ciertos problemas como son los mapas auto-organizados y redes neuronales con retraso temporal En algunas ocasiones se ha explorado la idea de combinar redes neuronales con algoritmos geneacuteticos para ajustar la topologiacutea de la red y maximizar el desempentildeo de las hiper-heuriacutesticas

Un ejemplo A continuacioacuten presentamos un breve ejemplo donde mostramos la forma en la que las hiper-heuriacutesticas pueden ser de utilidad y el proceso para aplicarlas

El problema Para este ejemplo tomaremos el problema de particioacuten balanceada (Balanced Partition) que consiste en encontrar la distribucioacuten de elementos que minimiza a donde es el iacutendice de calidad dado por la ecuacioacuten [equBPExampleFitness] y donde representa el elemento del subconjunto y es el nuacutemero de elementos en el subconjunto Asiacute el miacutenimo de corresponde al valor oacuteptimo de la separacioacuten

Las alternativas Para atacar este sencillo problema podemos considerar un enfoque constructivo a traveacutes de dos heuriacutesticas muy simples seleccionar el elemento de carga maacutexima (MAX) o miacutenima (MIN) Partiremos de una solucioacuten vaciacutea al considerar que nuestra solucioacuten es el subconjunto 2 (por tanto toda la carga seraacute asignada al subconjunto 1) por lo que la solucioacuten se construiraacute al escoger los elementos que deben moverse al subconjunto 2 para balancear la carga de todo el sistema Adicionalmente nuestra solucioacuten estaraacute completa cuando el subconjunto 2 represente a la mitad o maacutes de la carga total de la instancia del problema pues nuestras heuriacutesticas no permiten retornar elementos

Es importante resaltar que estas heuriacutesticas no son necesariamente buenas ni malas pues dependen mucho de la instancia del problema en la que se apliquen Consideremos por ejemplo un comportamiento como el de la Tabla [TableBaseInstancesBig] donde observamos que la heuriacutestica MAX se desempentildeoacute ligeramente mejor que la heuriacutestica MIN Esto se debe a que en algunas instancias la heuriacutestica MAX se desempentildeoacute mucho mejor que la heuriacutestica MIN (por ejemplo en las instancias 7 y 10) y viceversa (por ejemplo en las instancias 3 y 9) Es precisamente esta diferencia en desempentildeo lo que motivoacute la idea de las hiper-heuriacutesticas y donde se evidencia su eventual beneficio De hecho la Tabla [TableBaseInstancesBig] incluye una columna con el desempentildeo de una hiper-heuriacutestica simple (que detallaremos maacutes adelante) donde se puede observar que es mucho mejor que sus contrincantes

Q Qitemy

x xy Ny y Q

Q =N1

sumi=1

item1i minus

N2

sumj=1

item2j

Desempentildeo de las heuriacutesticas (y de una hiper-heuriacutestica) sobre 10 instancias de mayor extensioacuten

La informacioacuten del problema Ya conocemos el tipo de problema a resolver y las opciones que tenemos para hacerlo Ahora bien requerimos tambieacuten alguna manera de obtener informacioacuten de cada instancia en particular para asiacute poder analizarla y determinar queacute alternativa tomar (MAX o MIN) Para ello debemos definir al menos una caracteriacutestica del problema relacionada principalmente a las condiciones actuales de la instancia (de manera que se actualice a medida que progresa la solucioacuten) En este ejemplo utilizaremos la relacioacuten entre la carga actual del subconjunto 2 y la carga maacutexima como se muestra en la ecuacioacuten [equBPExampleFeature] Con esto ya tenemos todo lo necesario para empezar a crear nuestras hiper-heuriacutesticas

Instancia

1 11 9 7

2 2 8 6

3 1 13 3

4 2 0 0

5 3 5 13

6 1 9 3

7 3 1 13

8 9 3 9

9 9 11 3

10 5 1 11

Total 46 60 68

Promedio 46 6 68

QMINQHH QMAX

sumN2j=1 item2

j

sumN1i=1 item1

i + sumN2j=1 item2

jisin [0 1]

Nuestra primer hiper-heuriacutestica Nuestro objetivo con la hiper-heuriacutestica seraacute el de tratar de dar un orden loacutegico al proceso Asiacute buscaremos pasar los elementos maacutes grandes al inicio de la solucioacuten (es decir cuando el subconjunto estaacute vaciacuteo) para luego refinarla con elementos maacutes pequentildeos (para ajustar las pequentildeas diferencias) Por tanto podemos crear una hiper-heuriacutestica de dos reglas como se muestra en la Figura 2 En la parte derecha de la figura podemos observar la zona de influencia de cada regla Asiacute siempre que el valor de la caracteriacutestica (definida en la ecuacioacuten [equBPExampleFeature]) sea inferior a 025 se usaraacute la heuriacutestica MAX para seleccionar el siguiente elemento Pero si es superior se usaraacute la heuriacutestica MIN

Primer modelo de hiper-heuriacutestica con dos reglas y una sola caracteriacutestica (izquierda) Zona de influencia de cada regla (derecha)

Primer modelo de hiper-heuriacutestica con dos reglas y una sola caracteriacutestica (izquierda) Zona de influencia de cada regla (derecha)

En este punto es bueno recordar la columna que traiacuteamos pendiente de la Tabla [TableBaseInstancesBig] Es justamente esta hiper-heuriacutestica la que se usoacute para obtener los desempentildeos alliacute mostrados donde una vez maacutes se observa que supera a las heuriacutesticas simples Sin embargo es importante resaltar que no todo es perfecto En algunos casos por ejemplo en la instancia 1 la hiper-heuriacutestica generoacute una solucioacuten peor que cualquiera de las dos heuriacutesticas Es maacutes en casos como el de la instancia 4 fue la uacutenica que no logroacute generar un balanceo perfecto de la carga Esto se debe principalmente a la simplicidad de nuestra hiper-heuriacutestica pues solamente cuenta con dos reglas y con una sola caracteriacutestica Con ello se llega a que el espacio de caracteriacutesticas se divida en regiones simples como la mostrada en la parte derecha de la Figura 2 Por otra parte el desempentildeo de la hiper-heuriacutestica que estamos usando se encuentra limitado por su proceso de entrenamiento pues los valores fueron asignados manualmente y con base en lo que estimamos como mejor

Otras hiper-heuriacutesticas Revisemos ahora coacutemo puede afectar el proceso de entrenamiento al desempentildeo de esta hiper-heuriacutestica en particular Consideremos por ejemplo las hiper-heuriacutesticas mostradas en la Figura 3 La primera de ellas corresponde a nuestro modelo original (el que hemos venido usando) Las otras dos tienen una estructura similar pero el punto de corte de sus regiones de influencia se encuentra en 015 y 035 respectivamente Como se muestra en la Tabla [TableHHsComparison] el hecho de usar un enfoque maacutes agresivo (es decir HH3) sobre este conjunto de instancias resulta en un beneficio pues se obtiene un valor de que en Q

promedio es casi dos unidades menor al alcanzado con la hiper-heuriacutestica original (HH) Asimismo el otro enfoque empeoroacute el resultado respecto al logrado con HH Sin embargo incluso asiacute el resultado logrado es mejor que el obtenido por las heuriacutesticas independientes

Tres configuraciones diferentes de hiper-heuriacutesticas

Tres configuraciones diferentes de hiper-heuriacutesticas

Desempentildeo de dos heuriacutesticas simples y de tres modelos de hiper-heuriacutesticas sobre un conjunto de 10 instancias

Las hiper-heuriacutesticas como un problema de optimizacioacuten Las hiper-heuriacutesticas mostradas han sido entrenadas lsquoa manorsquo definiendo ciertos valores criacuteticos seguacuten nuestro criterio y conocimiento del problema Sin embargo el proceso se puede automatizar si se plantea como un problema de optimizacioacuten Para ello podemos definir la funcioacuten objetivo como el desempentildeo de la hiper-heuriacutestica Esto se muestra en la ecuacioacuten [equBPObjFunction] donde es el nuacutemero de instancias de entrenamiento y es el nivel de calidad dado por la hiper-heuriacutestica en la instancia Como se puede observar el proceso

Instancia

1 11 9 7 11 1

2 2 8 6 10 2

3 1 13 3 5 1

4 2 0 0 4 0

5 3 5 13 3 7

6 1 9 3 3 1

7 3 1 13 5 3

8 9 3 9 5 9

9 9 11 3 5 3

10 5 1 11 5 1

Total 46 60 68 56 28

Promedio 46 6 68 56 28

QMINQMAX QHH3QHH QHH2

Ni Qjj

de optimizacioacuten implica probar cada hiper-heuriacutestica candidata sobre el conjunto de entrenamiento Observemos tambieacuten que en el caso maacutes simple se cuenta con cuatro variables de disentildeo pero si aumentamos el nuacutemero de caracteriacutesticas a por ejemplo tres el nuacutemero de incoacutegnitas se duplica Si en este punto agregamos un par de reglas maacutes (para crear regiones de accioacuten maacutes complejas) el total de variables se duplica una vez maacutes llegando a 16 Asiacute el uso de teacutecnicas de optimizacioacuten claacutesicas como Newton-Rapshon o Descenso empinado queda descartado para la mayoriacutea de problemas praacutecticos (debido a que se requiere un punto de inicio cerca de la solucioacuten y a que quedan atrapados en oacuteptimos locales)

Sin embargo existe otra alternativa las metaheuriacutesticas Para evitar desviar la atencioacuten del lector omitiremos los detalles relacionados con el optimizador y nos centraremos en el proceso de entrenamiento

Vamos a imaginar que tenemos una herramienta capaz de construir una solucioacuten mejorada del problema usando como base una solucioacuten existente que no es necesariamente buena Imaginemos tambieacuten que dicha solucioacuten corresponde a una hiper-heuriacutestica Por tanto podemos definir una solucioacuten (eg una hiper-heuriacutestica) candidata inicial (generada de forma aleatoria) y utilizar dicha herramienta para crear una refinada Para determinar la ganancia dada por nuestra herramienta basta con evaluar ambas soluciones (tanto la aleatoria como la refinada) en la ecuacioacuten [equBPObjFunction] y comparar los resultados Luego de esto podemos tomar la solucioacuten refinada como base y usar nuestra herramienta para crear una mejorada Es justamente este proceso iterativo lo que nos permite operar sobre la solucioacuten aleatoria hasta lograr un resultado con la calidad deseada A manera de ejemplo consideremos un conjunto de 30 instancias aleatorias del problema de particioacuten balanceada (las cuales no se muestran por motivos de espacio) Si generamos 10 soluciones aleatorias (como las descritas anteriormente) obtendremos hiper-heuriacutesticas con desempentildeos buenos y malos como se muestra en la Figura 4 (iteracioacuten 1) Sin embargo podemos usar nuestra herramienta de optimizacioacuten sobre cada una de estas hiper-heuriacutesticas para generar unas mejoradas (iteracioacuten 2) Es maacutes podemos continuar iterativamente y luego de 15 iteraciones tendremos hiper-heuriacutesticas cuyo desempentildeo es bueno y muy similar (iteracioacuten 16) Note que por la naturaleza estocaacutestica de nuestra herramienta en ocasiones el desempentildeo mejora muy raacutepidamente pero en otros casos tarda varias iteraciones en mejorar Ademaacutes tengamos en cuenta que muchas metaheuriacutesticas trabajan de forma poblacional es decir evaluacutean y mejoran muacuteltiples soluciones al mismo tiempo con el aacutenimo de encontrar una uacutenica que sea lo suficientemente buena Sin embargo hemos omitido este tipo de

Fobj(FT A) =sumNi

j=1 Qj

Ni FT = [F1 F2 F3 FNF] and Qj = Qj(FT A)

detalles en la graacutefica para evitar complicar nuestro anaacutelisis y para facilitar la comprensioacuten por parte del lector

Ejemplo de entrenamiento de hiper-heuriacutesticas usando metaheuriacutesticas La iteracioacuten 1 representa el resultado luego de generar la poblacioacuten inicial Los datos mostrados corresponden a 10 reacuteplicas sobre 30 problemas generados de forma aleatoria con 100 elementos y una carga maacutexima de 100 por elemento

Ejemplo de entrenamiento de hiper-heuriacutesticas usando metaheuriacutesticas La iteracioacuten 1 representa el resultado luego de generar la poblacioacuten inicial Los datos mostrados corresponden a 10 reacuteplicas sobre 30 problemas generados de forma aleatoria con 100 elementos y una carga maacutexima de 100 por elemento

Aspectos Avanzados de las Hiper-heuriacutesticas En esta seccioacuten se abordan algunos temas avanzados de las hiper-heuriacutesticas como son sus aplicaciones en problemas multi-objetivo y a la ciencia de datos los modelos hiacutebridos y algunas tendencias futuras del aacuterea

Hiacuteper-heuriacutesticas para Problemas Multi-objetivo Muchos trabajos en la literatura relacionados con hiper-heuriacutesticas para solucionar problemas de optimizacioacuten consideran solamente un objetivo que guiacutea la buacutesqueda de soluciones Sin embargo es natural pensar que en estos problemas existen varios objetivos en conflicto y que la idea es optimizarlos al mismo tiempo

Esto debe plantearse como un problema multi-objetivo y por lo tanto la buacutesqueda de soluciones se debe hacer con un esquema adecuado que facilite ese proceso Para resolver un problema con esa perspectiva es importante definir el problema sus objetivos y el disentildeo del algoritmo que genere la solucioacuten esperada aunque en realidad lo que un algoritmo de este tipo produce es una serie de soluciones que corresponden a los mejores compromisos posibles entre los objetivos en conflicto A estas soluciones se les denomina conjunto de oacuteptimos de Pareto y sus valores correspondientes de las funciones objetivo conforman el denominado frente de Pareto Para ejemplificar este tema usaremos un problema de corte y empacado en dos dimensiones donde se quiere empacar pequentildeas figuras de diferentes tipos y formas en hojas de material rectangulares Lo que se requiere es minimizar el nuacutemero de hojas de materia prima pero al mismo tiempo minimizar tambieacuten el tiempo en que se ejecuta el proceso Estos son claramente dos objetivos que se contraponen por un lado se pueden poner las piezas muy raacutepidamente pero esto no seraacute efectivo en cuanto al nuacutemero de hojas de material y por el otro lado si queremos reducir el

nuacutemero de hojas de material quizaacute requiera maacutes tiempo para terminar el proceso En se usoacute un modelo evolutivo simplificado para representar el estado del problema donde el cromosoma representa un conjunto de puntos en el espacio y cada punto es etiquetado con una heuriacutestica Bajo este esquema el modelo representa una receta para resolver el problema que se puede describir como (a) determinar el estado actual del problema (b) encontrar el punto maacutes cercano a eacutel (c) aplicar la heuriacutestica anexa al punto (d) actualizar el estado Usamos esas ideas y en combinacioacuten con un algoritmo evolutivo multi-objetivo (AEMO) (NSGA-II SPEA2 GDE3) se busca encontrar el conjunto de cromosomas en el frente de Pareto que son capaces de encontrar soluciones a una amplia variedad de problemas tomando en cuenta los dos objetivos El conjunto contiene las hiper-heuriacutesticas que se estaacuten buscando

En la Figura 5 se muestra el esquema utilizado para resolver problemas multi-objetivo para el problema de corte y empacado

Modelo general multi-objetivo mostrando las fases de entrenamiento y prueba

Modelo general multi-objetivo mostrando las fases de entrenamiento y prueba

En la determinacioacuten del estado actual del problema es importante caracterizarlo Para este caso fueron seleccionadas 10 caracteriacutesticas de un conjunto mayor y que son las siguientes

1 Nuacutemero de piezas restantes por empacar

2 Aacuterea promedio de las piezas restantes

3 Varianza en el aacuterea de las piezas restantes

4 Media de la rectangularidad de las piezas restantes

5 Varianza en la rectangularidad de las piezas restantes

6 Media de la altura de las piezas restantes

7 Varianza en el ancho de las piezas restantes

8 Fraccioacuten de las piezas restantes cuya aacuterea es mayor a del aacuterea del objeto

9 Media del grado de concavidad de las piezas restantes

10 Fraccioacuten del total de las piezas restantes

E

S

S

E

12

En la plataforma propuesta para encontrar el conjunto S de mejores hiper-heuriacutesticas en el frente de Pareto se divide el conjunto de instancias en dos tipos entrenamiento y prueba El modelo evolucionaba poblaciones de hiper-heuriacutesticas tomando en cuenta el AEMO La fase de entrenamiento inicia con la generacioacuten de hiper-heuriacutesticas en forma aleatoria para el AEMO Este algoritmos evoluciona la poblacioacuten de acuerdo a su propia metodologiacutea y aplica operadores geneacuteticos para generar nuevas poblaciones considerando el conjunto de entrenamiento para evaluar su rendimiento

Una vez que las mejores hiper-heuriacutesticas se tienen se prueban entonces con las instancias de prueba para comparar los modelos multi-objetivo entre ellos y con respecto a las heuriacutesticas simples adaptadas para el problema usando diferentes meacutetricas

Los resultados obtenidos indican que los modelos eHH-MO son adecuados para construir un conjunto de reglas que permiten resolver el problema bi-objetivo de diversas maneras Los resultados de los modelos eHH-MO han sido comparados contra los obtenidos con las heuriacutesticas simples bajo una serie de experimentos usando tres diferentes meacutetricas como son la distancia generacional (GD) el hipervolumen (HV) y D (dispersioacuten y distribucioacuten) Desde diferentes perspectivas los modelos multi-objetivo superan claramente a los modelos de heuriacutesticas simples Los detalles de la serie de experimentos realizados y su discusioacuten general pueden consultarse en

Transformacioacuten de Caracteriacutesticas en Hiper-heuriacutesticas Una teacutecnica que se ha implementado recientemente se enfoca en el uso de transformaciones matemaacuteticas para mejorar el desempentildeo del modelo de seleccioacuten Al trabajar con una heuriacutestica de seleccioacuten las caracteriacutesticas juegan un papel preponderante en la eficiencia del proceso pues el selector representa una matriz de puntos clave en el espacio de caracteriacutesticas Ademaacutes debemos tener presente que cada problema de optimizacioacuten es diferente por lo que los puntos criacuteticos de una caracteriacutestica difiacutecilmente corresponderaacuten con los de otra Asiacute se inicioacute un proceso para identificar la forma en la que se pudiera establecer una transformacioacuten adecuada a cada problema particular Como resultado se encontroacute que el problema principal que puede resolver la transformacioacuten es el mostrado en la Figura 6 Alliacute se muestra la ubicacioacuten ideal de cuatro reglas (marcadores redondos) y su distancia al estado actual del problema (cuadro blanco) Dos de estas reglas tienen posiciones muy similares (la roja y la azul) por lo que el desempentildeo del selector se torna muy sensible a pequentildeos errores en la ubicacioacuten real de dichas reglas

Sensibilidad de hiper-heuriacutesticas a errores en los valores del selector y su solucioacuten a traveacutes de transformacioacuten de caracteriacutesticas Izquierda Ubicacioacuten ideal de las reglas en el espacio original Derecha Ubicacioacuten ideal de las reglas en el espacio transformado

La Figura 6 tambieacuten muestra la forma como se puede solucionar este problema con la transformacioacuten de caracteriacutesticas La idea es transformar el espacio de cada caracteriacutestica del problema de tal forma que las regiones en conflicto se expandan y las relativamente irrelevantes se compriman Para el ejemplo de la figura esto implica tener mayor resolucioacuten en el espacio cercano a las reglas azul y roja lo que permite un mayor margen de maniobra y por tanto reduce la sensibilidad de la hiper-heuriacutestica De forma similar la zona que pertenece a las dos reglas verdes se comprime Dado que se trata de reglas que ejecutan la misma accioacuten su regioacuten de influencia combinada no seraacute tan sensible a pequentildeos errores de ubicacioacuten Consideremos ahora los casos mostrados en la Figura 7 En la izquierda se muestran dos selectores (uno con dos reglas y otro con cuatro) ambos con dos acciones disponibles roja y azul Al hacer una transformacioacuten de caracteriacutesticas podemos ampliar zonas en conflicto (como ya se mencionoacute arriba) lo que representa una distribucioacuten de las reglas la cual puede incluso modificar la apariencia de las zonas de influencia de cada selector Para nuestro ejemplo dicha transformacioacuten se ve en las imaacutegenes del centro donde la apariencia ha sido parcialmente preservada pero donde se da mayor enfoque a las zonas conflictivas Claro estaacute este proceso no puede ser arbitrario pues podemos tambieacuten generar transformaciones poco uacutetiles como las de la derecha de la figura donde hemos perdido la mayoriacutea de la informacioacuten acerca de las zonas conflictivas por lo que seguramente tendremos un bajo desempentildeo de la hiper-heuriacutestica Detalles de esta investigacioacuten puden ser revisados en

Ejemplo de la forma como la transformacioacuten de caracteriacutesticas puede afectar la apariencia de las zonas de influencia de un selector Izquierda Forma original Centro Transformacioacuten uacutetil que ampliacutea las zonas en conflicto Derecha Transformacioacuten poco uacutetil que destruye informacioacuten sobre las zonas en conflicto

Tendencias Futuras de Hiper-heuriacutesticas Los sistemas inteligentes hiacutebridos son sistemas de software que emplean en paralelo una combinacioacuten de meacutetodos y teacutecnicas de sub-campos de la Inteligencia Artificial La hibridacioacuten de los sistemas inteligentes es un campo de investigacioacuten prometedora de la Inteligencia Computacional moderna para el desarrollo de la proacutexima generacioacuten de sistemas inteligentes Comunidades cientiacuteficas y acadeacutemicas estaacuten cada vez maacutes conscientes de que enfoques combinados podriacutean ser necesarios si se quiere seguir resolviendo los problemas difiacuteciles de la Inteligencia Artificial La integracioacuten de distintas teacutecnicas inteligentes y su adaptacioacuten para superar las limitaciones de los meacutetodos individuales y lograr efectos sineacutergicos a traveacutes de la hibridacioacuten o fusioacuten de estas teacutecnicas ha contribuido a una variedad de nuevos disentildeos dentro del campo de la optimizacioacuten Sin embargo la mayoriacutea de estos enfoques de hibridacioacuten siguen un disentildeo metodoloacutegico ad-hoc que se justifica por el eacutexito en ciertos dominios de aplicacioacuten No obstante se requiere de metodologiacuteas maacutes robustas para la construccioacuten de los sistemas hiacutebridos requeridos para resolver problemas contemporaacuteneos y futuros cada vez maacutes complejos y maacutes grandes

Las hiper-heuriacutesticas como teacutecnicas de buacutesqueda que tratan de automatizar el proceso de generacioacuten seleccioacuten y combinacioacuten de otras heuriacutesticas son un excelente vehiacuteculo para la construccioacuten de sistemas inteligentes hiacutebridos avanzados Recientemente han aparecido los primeros trabajos que proponen formas muy simples y limitadas de combinacioacuten de hiper-

heuriacutesticas Se requiere de estudios maacutes profundos y serios que combinen generacioacuten con seleccioacuten asiacute como estrategias constructivas con perturbativas en formas maacutes elaboradas que mejoren los resultados obtenidos

El desafiacuteo de la hibridacioacuten hiper-heuriacutestica es enorme y complejo Reside primeramente en el modelado de los problemas y de las soluciones (parciales o aproximadas) de forma que a partir de descripciones parameacutetricas o no parameacutetricas el meacutetodo hiacutebrido pueda ir decidiendo la combinacioacuten de meacutetodos heuriacutesticos que iraacute utilizando para guiar la buacutesqueda de la solucioacuten Parte importante del desafiacuteo tambieacuten es la seleccioacuten inteligente de las heuriacutesticas especiacuteficas a los dominios de los problemas las meta-heuriacutesticas y las hiper-heuriacutesticas que formaraacuten el meacutetodo hiacutebrido Otro elemento de complejidad es que cada teacutecnica heuriacutestica incluye paraacutemetros que deben ser ajustados adecuadamente para que trabajen de forma correcta y eso podriacutea ser requerido durante la ejecucioacuten del meacutetodo Finalmente como se quieren meacutetodos hiacutebridos que maximicen su desempentildeo tambieacuten se deberaacuten seleccionar o disentildear las meacutetricas para medir la efectividad y eficiencia de los algoritmos utilizados

Son demasiadas posibilidades las que hay que considerar y demasiada informacioacuten relacionada tanto con las instancias de los problemas a resolver los meacutetodos de solucioacuten sus hiper-paraacutemetros su hibridacioacuten y el efecto de sus decisiones durante la solucioacuten de los problemas Los investigadores ya estaacuten abordando algunos esfuerzos en estas direcciones a traveacutes del aprendizaje automaacutetico y el uso de teacutecnicas estadiacutesticas pero mucha de la praacutectica es primordialmente artesanal Se requiere el uso de metodologiacuteas cientiacuteficas maacutes maduras y desarrolladas para manejar la gran cantidad de datos que se genera en el proceso

Dado que la Ciencia de Datos es la capacidad de extraer conocimientos e ideas de grandes cantidades de datos y datos complejos la construccioacuten de meacutetodos hiacutebridos para optimizacioacuten mediante hiper-heuriacutesticas son un buen motivo para su aplicacioacuten

La Ciencia de Datos intenta comprender las complejidades de las actividades del mundo real y el contexto a partir del anaacutelisis de los datos para mejorar los beneficios que pueden obtenerse de ellos Los algoritmos de optimizacioacuten en tiempo real estaacuten estrechamente vinculados al contexto de sus datos Luego utilizar las teacutecnicas de Ciencia de Datos permitiraacute aprovechar el conjunto histoacuterico de datos asiacute como los datos generados en tiempo real durante la buacutesqueda de soluciones para los problemas de optimizacioacuten El proceso de Ciencia de Datos se puede aplicar al ajuste automaacutetico de los algoritmos su configuracioacuten y su adaptacioacuten para crear mejores meacutetodos de optimizacioacuten

El desarrollo de algoritmos de buacutesqueda poderosos se asemeja a la solucioacuten de los problemas de optimizacioacuten La hibridacioacuten de optimizadores mediante hiper-heuriacutesticas incluye una gran

cantidad de paraacutemetros y generalmente ofrecen muchas opciones El desafiacuteo para la Ciencia de Datos es maacutes complejo debido a la naturaleza estocaacutestica de los meacutetodos de solucioacuten Para explotar el poder real de estas teacutecnicas y resolver los problemas de manera eficiente el desarrollador debe seleccionar los mejores valores y tomar las decisiones correctas

En la uacuteltima deacutecada se han desarrollado varias teacutecnicas para la optimizacioacuten de paraacutemetros la construccioacuten automaacutetica de algoritmos y la creacioacuten de hiper-heuriacutesticas para generar o seleccionar algoritmos pero la Ciencia de Datos tiene mucho que aportar para explotar al maacuteximo el potencial de las teacutecnicas novedosas de buacutesqueda existentes No se debe de buscar un meacutetodo ideal sino crear metodologiacuteas adecuadas a los diferentes dominios de problemas Estas metodologiacuteas deben ser robustas de manera que permitan construir meacutetodos poderosos a partir de la descripcioacuten de esquemas de recoleccioacuten procesamiento exploracioacuten visualizacioacuten aprendizaje y explotacioacuten de datos adecuados a los problemas especiacuteficos a resolver

Aunque actualmente hay un boom en el desarrollo de aplicaciones de Ciencia de Datos en muchos dominios y hay un gran esfuerzo de grupos de personas para desarrollar meacutetodos de buacutesqueda para dominios especiacuteficos la aplicacioacuten de la Ciencia de Datos en la construccioacuten de meacutetodos de optimizacioacuten requiere habilidades inherentemente diferentes y hay muy pocos trabajos especiacuteficos sobre el tema Iniciativas como lsquoData Science meets Optimizationrsquo promovida por grupos creados hace poco como el grupo europeo EWG DSO confirman la relevancia y el potencial del tema

Para saber maacutes El nuacutemero de trabajos relacionados a hiper-heuriacutesticas se ha incrementado significativamente en la uacuteltima deacutecada Como resultado una gran cantidad de recursos se encuentran disponibles en diversas fuentes El lector interesado en conocer a maacutes detalle los diferentes tipos de hiper-heuriacutesticas y sus aplicaciones puede consultar estudios de referencia como y Una lista muy completa sobre los trabajos relacionados a hiper-heuriacutesticas se encuentra disponible en liacutenea en httpsmustafamisirgithubiohhhtml

Debido al intereacutes que las hiper-heuriacutesticas han despertado en los investigadores diversas conferencias y talleres han dedicado espacios para este tipo de trabajos Por ejemplo Genetic and Evolutionary Computation Conference (GECCO) que desde el 2011 ha proporcionado espacios en sus categoriacuteas Self- Search (2011 al 2016) y Search-Based Software Engineering (a partir del 2017) International Conference on Parallel Problem Solving from Nature (PPSN) con talleres en el tema en las ediciones del 2008 y 2016 IEEE Congress on Evolutionary Computation (CEC) con sesiones especiales sobre hiper-heuriacutesticas en sus ediciones del 2013 y

2016 En cuanto a competencias internacionales sobre la materia destacan las dos ediciones del Cross-domain Heurisic Search Challenge (CHeSC) La competencia consistiacutea en disentildear estrategias de alto nivel que controlaran la aplicacioacuten de heuriacutesticas de bajo nivel para dominios especiacuteficos Durante el reto las heuriacutesticas de bajo nivel seriacutean diferentes para cada dominio del problema pero la estrategia de alto nivel debiacutea ser la misma para todos los dominios El reto se enfocaba en el desempentildeo de los meacutetodos de optimizacioacuten en diferentes dominios de problemas en lugar de concentrarse soacutelo en uno

En cuanto a herramientas para la implementacioacuten de hiper-heuriacutesticas la literatura contiene pocos ejemplos entre los que destacan Hyperion HyFlex y EvoHyp No todas las herramientas se encuentran disponibles en este momento ya que algunos de los sitios para su distribucioacuten han sido descontinuados En cualquier caso es posible contactar a los autores para solicitar acceso a las herramientas

Adicionalmente a estos recursos en el 2013 se formoacute la IEEE Task Force on Hyper-heuristics 7

dedicada al desarrollo y aplicaciones de hiper-heuriacutesticas y a su interseccioacuten con la inteligencia artificial la inteligencia computacional y la investigacioacuten de operaciones El sitio del grupo de trabajo proporciona muchos recursos uacutetiles en el tema de hiper-heuriacutesticas

Conclusiones Este capiacutetulo ha presentado el tema de hiper-heuriacutesticas desde diferentes perspectivas con la idea de dar al lector una panoraacutemica general pero suficientemente detallada para que pueda conocer el tema y pueda empezar a realizar avances a traveacutes de la investigacioacuten en el aacuterea o en la aplicacioacuten de las teacutecnicas para resolver problemas en el dominio de optimizacioacuten El capiacutetulo ha explicado el detalle los principales tipos de hiper-heuriacutesticas y sus fundamentos y los diversos modelos que se han generado en la literatura principalmente basados en modelos evolutivos y neuronales y entendiendo que no son los uacutenicos El capiacutetulo provee discusioacuten sobre aspectos avanzados en hiper-heuriacutesticas y que se han derivado en trabajos recientes como es el tratamiento de hiper-heuriacutesticas en problemas multi-objetivo y la transformacioacuten de caracteriacutesticas que permite mejorar el rendimiento de esquemas de hiper-heuriacutesticas En trabajos recientes se han presentado resultados al hibridizar tipos de hiper-heuriacutesticas como por ejemplo las de seleccioacuten con las de generacioacuten las de construccioacuten con las de generacioacuten los tipos de aprendizaje etc Hay todaviacutea un espacio para continuar investigando dentro de ese contexto Con el reciente impacto del tema de big-data se ha empezado a discutir en la comunidad cientiacutefica la relacioacuten de Ciencia de Datos con optimizacioacuten Aquiacute cabe naturalmente el toacutepico de hiper-

httpssitesgooglecomsiteieeetaskforceonhyperheurisitcshome7

heuriacutesticas dado que Ciencia de Datos puede apoyar para generar mejores algoritmos de optimizacioacuten y ciertamente los modelos de optimizacioacuten pueden incidir favorablemente para mejorar los procesos en ciencia de datos

Al final el capiacutetulo presentoacute una serie de recursos que pueden servir como base a estudiantes e investigadores para perseguir el tema de hiper-heuriacutesticas

  • Proacutelogo
  • Introduccioacuten
  • El algoritmo de Evolucioacuten Diferencial
  • Mutacioacuten
  • Cruza
  • Seleccioacuten
  • Estructura del Algoritmo
  • Modificaciones al algoritmo de Evolucioacuten Diferencial
  • Ajuste de paraacutemetros globales
  • Ajuste de paraacutemetros asociados a cada individuo de la poblacioacuten
  • Ajuste del tamantildeo de la poblacioacuten
  • Combinacioacuten de variantes
  • Evolucioacuten Diferencial para otros tipos de problemas
  • DE en Meacutexico
  • Conclusiones
  • Para saber maacutes
  • Introduccioacuten
  • AGds homogeacuteneos y heterogeacuteneos
  • Migracioacuten en AGPs
  • AGs celulares o de grano fino
  • Explotacioacutenexploracioacuten por propiedades estructurales
  • Presioacuten de seleccioacuten por caracteriacutesticas estructurales
  • Anaacutelisis empiacuterico
  • Aceleracioacuten en AGP
  • Concepto de sincronismo en AGPs
  • En AGPs distribuidos viacutea migracioacuten
  • En AGP celulares viacutea criterios de actualizacioacuten
  • Discusioacuten
  • Investigacioacuten de AGPs en Meacutexico
  • Para saber maacutes
  • Introduccioacuten
  • Proceso evolutivo
  • Representacioacuten
  • Poblacioacuten inicial
  • Operadores Geneacuteticos
  • Recombinacioacuten
  • Mutacioacuten
  • Seleccioacuten
  • Espacio de buacutesqueda
  • Conclusiones
  • Para saber maacutes
  • Introduccioacuten
  • Preservacioacuten de diversidad en algoritmos evolutivos
  • Clasificaciones de mecanismos para promover la diversidad
  • Esquemas claacutesicos para administrar la diversidad
  • Esquemas de reemplazamiento basados en diversidad
  • Diversidad en evolucioacuten diferencial
  • Disentildeo de evolucioacuten diferencial basado en diversidad
  • Evolucioacuten diferencial Conceptos baacutesicos
  • Inicializacioacuten
  • Operador de mutacioacuten
  • Operador de cruza
  • Operador de seleccioacuten
  • Propuesta basada en diversidad
  • Resultados de de-edm
  • Disentildeo de operadores de cruza basados en diversidad
  • Algoritmos evolutivos multi-objetivo
  • Operadores de cruza
  • El operador de cruza basado en simulacioacuten binaria - SBX
  • Implementacioacuten y anaacutelisis del operador sbx
  • Propuesta - dsbx
  • Resultados
  • Anaacutelisis de cada modificacioacuten en el operador sbx
  • Modificacioacuten simultaacutenea de varios componentes
  • Conclusiones y trabajo futuro
  • Para saber maacutes
  • Agradeciemientos
  • Introduccioacuten
  • Fundamentos de las Hiper-heuriacutesticas
  • Hiper-heuriacutesticas que seleccionan heuriacutesticas
  • Hiper-heuriacutesticas que generan nuevas heuriacutesticas
  • Modelos de Hiper-heuriacutesticas
  • Modelos Evolutivos
  • Hiper-Heuriacutesticas basadas en Algoritmos Geneacuteticos
  • Hiper-Heuriacutesticas basadas en Programacioacuten Geneacutetica
  • Modelos Neuronales
  • Un ejemplo
  • El problema
  • Las alternativas
  • La informacioacuten del problema
  • Nuestra primer hiper-heuriacutestica
  • Otras hiper-heuriacutesticas
  • Las hiper-heuriacutesticas como un problema de optimizacioacuten
  • Aspectos Avanzados de las Hiper-heuriacutesticas
  • Hiacuteper-heuriacutesticas para Problemas Multi-objetivo
  • Transformacioacuten de Caracteriacutesticas en Hiper-heuriacutesticas
  • Tendencias Futuras de Hiper-heuriacutesticas
  • Para saber maacutes
  • Conclusiones
Page 3: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos

Primera edicioacuten 2019 Academia Mexicana de Computacioacuten A C Todos los derechos reservados conforme a la ley ISBN

Este libro se realizoacute con el apoyo del CONACyT Proyecto No 293115

Queda prohibida la reproduccioacuten parcial o total directa o indirecta del contenido de esta obra sin contar con autorizacioacuten escrita de los autores en teacuterminos de la Ley Federal del Derecho de Autor y en su caso de los tratados internacionales aplicables

Impreso en Meacutexico Printed in Mexico

Computacioacuten Evolutiva

Carlos Artemio Coello Coello (Coordinador)

Con la colaboracioacuten de

Rafael Rivera Loacutepez

Efreacuten Mezura Montes

Alicia Morales Reyes

Mario Graff

Daniela Moctezuma

Eric S Tellez Sabino

Miranda Jimeacutenez

Carlos Segura

Joel Chacoacuten Castillo

Carlos A Brizuela

Julio Juaacuterez

Hugo Terashima Mariacuten

Santiago Enrique Conant Pablos

Joseacute Carlos Ortiz Bayliss

Ivaacuten Mauricio Amaya Contreras

Proacutelogo La computacioacuten evolutiva es un aacuterea de las ciencias de la computacioacuten que se enfoca al estudio de las propiedades de una serie de metaheurısticas estocaacutesticas (a las cuales se denomina de manera geneacuterica ldquoAlgoritmos Evolutivosrdquo) inspiradas en la teorıa de la evolucioacuten de las especies formulada por Charles Darwin seguacuten la cual los individuos ldquomaacutes aptosrdquo a su ambiente tienen una mayor probabilidad de sobrevivir

Una metaheurıstica es un procedimiento de buacutesqueda de alto nivel que aplica una regla o conjunto de reglas que se basa(n) en una fuente de conocimiento El eacutenfasis de las metaheurısticas es explorar el espacio de buacutesqueda de manera relativamente eficiente es decir mejor que lo que harıa una buacutesqueda exhaustiva aunque no necesariamente oacuteptima Las metaheurısticas suelen considerarse tambieacuten como teacutecnicas de buacutesqueda y optimizacioacuten de uso general pese a sus limitantes teoacutericas (en general las metaheurısticas no pueden garantizar convergencia al oacuteptimo global) Otro rasgo distintivo de las metaheurısticas es que suelen requerir poca informacioacuten especıfica del problema y son uacutetiles cuando el espacio de buacutesqueda es muy grande poco conocido yo con dificultades para explorarlo Cuando se usan para optimizacioacuten no pueden garantizar en general que convergeraacuten a la mejor solucioacuten posible (es decir al oacuteptimo global del problema) si bien en la praacutectica suelen producir aproximaciones razonablemente buenas en tiempos razonablemente cortos

Los algoritmos evolutivos son metaheurısticas estocaacutesticas porque su comportamiento se basa en el uso de nuacutemeros aleatorios y en operadores probabilısticos En consecuencia no siempre producen el mismo resultado cada vez que se ejecutan con los mismos datos de entrada

En Meacutexico existe un nuacutemero importante de investigadores trabajando en diferentes aacutereas de la computacioacuten evolutiva y este libro intenta proporcionar un asomo a la diversidad de temas en los que se hace investigacioacuten en nuestro paıs Los seis capıtulos que conforman este libro estaacuten escritos como tutoriales breves que pretender introducir al lector a ciertos temas especıficos de computacioacuten evolutiva En todos los casos se describe brevemente parte del trabajo que han realizado algunos grupos de investigacioacuten en Meacutexico en torno a estos temas

El capıtulo 1 presenta una introduccioacuten a la ldquoevolucioacuten diferencialrdquo que es un tipo de algoritmo evolutivo que se ha vuelto muy popular en la solucioacuten de problemas de optimizacioacuten no lineal Los autores proporcionan una descripcioacuten general de este tipo de algoritmo evolutivo incluyendo el funcionamiento de sus operadores de cruza y mutacioacuten y las diferencias entre sus variantes principales

El capıtulo 2 describe los conceptos baacutesicos de los ldquoalgoritmos geneacuteticos paralelosrdquo a partir de una taxonomıa muy sencilla basada en la granularidad de la paralelizacioacuten enfatizando las diferencias que existen entre los esquemas homogeacuteneos y heterogeacuteneos ası como entre el paralelismo sıncrono y el asıncrono

El capıtulo 3 se enfoca a una variante del algoritmo geneacutetico denominada ldquoprogramacioacuten geneacuteticardquo en la cual se usa una representacioacuten de aacuterbol (la cual permite evolucionar programas) en vez de las cadenas binarias de longitud fija del algoritmo geneacutetico tradicional La programacioacuten geneacutetica ha tomado una gran relevancia en antildeos recientes sobre todo por su aplicabilidad a problemas de aprendizaje y clasificacioacuten

El capıtulo 4 se enfoca en un tema muy importante en computacioacuten evolutiva del cual no suele hablarse mucho la importancia de la diversidad en el disentildeo de un algoritmo evolutivo Los autores hacen una revisioacuten de diversas teacutecnicas que se han propuesto para lidiar con la convergencia prematura (la cual suele ser consecuencia de una peacuterdida abrupta de diversidad en la poblacioacuten) Adicionalmente se incluye un pequentildeo estudio en el que se analizan dos teacutecnicas para mantener diversidad

El capıtulo 5 presenta un tutorial de otra aacuterea que ha tomado gran relevancia en antildeos recientes la optimizacioacuten evolutiva multi-objetivo la cual se enfoca a la solucioacuten de problemas de optimizacioacuten que tienen dos o maacutes objetivos (normalmente en conflicto entre sı) que deseamos optimizar al mismo tiempo Ademaacutes de proporcionar los conceptos baacutesicos de esta aacuterea se describen brevemente los algoritmos evolutivos multi-objetivo maacutes utilizados en la actualidad ası como las medidas principales de desempentildeo que se utilizan en la literatura especializada En la parte final del capıtulo se describen tambieacuten algunos de los temas de investigacioacuten en los que se estaacute trabajando maacutes dentro de esta aacuterea en la actualidad

El capıtulo 6 estaacute dedicado a las hiper-heurısticas que son teacutecnicas que buscan proporcionar maacutes flexibilidad que los algoritmos evolutivos tradicionales al ser capaces de adaptarse a diversos tipos de problemas y a diferentes instancias de una misma clase de problemas Las hiper-heurısticas son el eslaboacuten intermedio entre las limitantes teoacutericas relacionadas con la aplicabilidad de las metaheurısticas y el anhelado suentildeo del disentildeo automatizado de algoritmos y

constituyen sin lugar a dudas uno de los temas maacutes ricos de investigacioacuten dentro de las metaheurısticas

Doctor Carlos Artemio Coello Coello

Indice general

Proacutelogo 5

Introduccioacuten 13

El algoritmo de Evolucioacuten Diferencial 15

Mutacioacuten 16

Cruza 18

Seleccioacuten 20

Estructura del Algoritmo 20

Modificaciones al algoritmo de Evolucioacuten Diferencial 21

Ajuste de paraacutemetros globales 22

Ajuste de paraacutemetros asociados a cada individuo de la poblacioacuten 23

Ajuste del tamantildeo de la poblacioacuten 26

Combinacioacuten de variantes 27

Evolucioacuten Diferencial para otros tipos de problemas 29

DE en Meacutexico 30

Conclusiones 30

Para saber maacutes 31

Introduccioacuten 32

AGds homogeacuteneos y heterogeacuteneos 35

Migracioacuten en AGPs 37

AGs celulares o de grano fino 39

Explotacioacutenexploracioacuten por propiedades estructurales 40

Presioacuten de seleccioacuten por caracteriacutesticas estructurales 43

Anaacutelisis empiacuterico 45

Aceleracioacuten en AGP 46

Concepto de sincronismo en AGPs 47

En AGPs distribuidos viacutea migracioacuten 48

En AGP celulares viacutea criterios de actualizacioacuten 49

Discusioacuten 50

Investigacioacuten de AGPs en Meacutexico 50

Para saber maacutes 51

Introduccioacuten 53

Proceso evolutivo 55

Representacioacuten 56

Poblacioacuten inicial 58

Operadores Geneacuteticos 59

Recombinacioacuten 59

Mutacioacuten 60

Seleccioacuten 61

Espacio de buacutesqueda 62

Conclusiones 63

Para saber maacutes 63

Introduccioacuten 64

Preservacioacuten de diversidad en algoritmos evolutivos 67

Clasificaciones de mecanismos para promover la diversidad 67

Esquemas claacutesicos para administrar la diversidad 68

Esquemas de reemplazamiento basados en diversidad 69

Diversidad en evolucioacuten diferencial 71

Disentildeo de evolucioacuten diferencial basado en diversidad 72

Evolucioacuten diferencial Conceptos baacutesicos 72

Inicializacioacuten 72

Operador de mutacioacuten 72

Operador de cruza 73

Operador de seleccioacuten 73

Propuesta basada en diversidad 74

Resultados de de-edm 77

Disentildeo de operadores de cruza basados en diversidad 87

Algoritmos evolutivos multi-objetivo 87

Operadores de cruza 89

El operador de cruza basado en simulacioacuten binaria - SBX 89

Implementacioacuten y anaacutelisis del operador sbx 90

Propuesta - dsbx 92

Resultados 93

Anaacutelisis de cada modificacioacuten en el operador sbx 95

Modificacioacuten simultaacutenea de varios componentes 96

Conclusiones y trabajo futuro 97

Para saber maacutes 98

Agradeciemientos 99

Introduccioacuten 100

Fundamentos de las Hiper-heuriacutesticas 102

Hiper-heuriacutesticas que seleccionan heuriacutesticas 103

Hiper-heuriacutesticas que generan nuevas heuriacutesticas 105

Modelos de Hiper-heuriacutesticas 106

Modelos Evolutivos 106

Hiper-Heuriacutesticas basadas en Algoritmos Geneacuteticos 106

Hiper-Heuriacutesticas basadas en Programacioacuten Geneacutetica 107

Modelos Neuronales 109

Un ejemplo 109

El problema 110

Las alternativas 110

La informacioacuten del problema 111

Nuestra primer hiper-heuriacutestica 112

Otras hiper-heuriacutesticas 112

Las hiper-heuriacutesticas como un problema de optimizacioacuten 113

Aspectos Avanzados de las Hiper-heuriacutesticas 115

Hiacuteper-heuriacutesticas para Problemas Multi-objetivo 115

Transformacioacuten de Caracteriacutesticas en Hiper-heuriacutesticas 117

Tendencias Futuras de Hiper-heuriacutesticas 119

Para saber maacutes 121

Conclusiones 122

Evolucioacuten Diferencial una breve introduccioacuten Rafael Rivera Loacutepez

Efreacuten Mezura Montes

En este capiacutetulo se hace una descripcioacuten general del algoritmo de Evolucioacuten Diferencial Este tipo de algoritmo evolutivo representa una excelente alternativa para encontrar soluciones cercanas al oacuteptimo a problemas de optimizacioacuten continua complejos Debido a la simplicidad de su implementacioacuten y sus excelentes habilidades de exploracioacuten y explotacioacuten diversas variantes de este algoritmo se han aplicado para resolver problemas con diferentes caracteriacutesticas En este capiacutetulo se describen los elementos baacutesicos del algoritmo asiacute como las diferentes variantes que se han desarrollado para mejorar su desempentildeo

Introduccioacuten Con el nombre de algoritmos evolutivos se identifica a un grupo de procedimientos que se utilizan para resolver muchos problemas praacutecticos y que se distinguen de otras teacutecnicas porque estaacuten inspirados en las teoriacuteas que sintetizan la evolucioacuten Darwiniana y la herencia geneacutetica descrita por Mendel Los algoritmos evolutivos han probado ser herramientas poderosas para encontrar soluciones aceptables a problemas donde otras teacutecnicas fallan o consumen una excesiva cantidad de tiempo Estos algoritmos se destacan por combinar exitosamente dos mecanismos de buacutesqueda exploracioacuten y explotacioacuten La exploracioacuten permite identificar aacutereas prometedoras del espacio de buacutesqueda y la explotacioacuten lleva a cabo una buacutesqueda especializada dentro de estas aacutereas para encontrar soluciones cercanas al oacuteptimo Su aplicacioacuten se extiende en praacutecticamente todas las aacutereas de la actividad humana como por ejemplo en salud educacioacuten ciencias industria economiacutea y defensa Los algoritmos evolutivos tambieacuten han sido utilizados en aacutereas emergentes como la ciencia de datos la inteligencia de negocios y el big data En estos algoritmos un conjunto de soluciones candidatas evoluciona para alcanzar una solucioacuten cercana al oacuteptimo por la aplicacioacuten de procedimientos que permiten recombinar y alterar sus valores En la jerga de los especialistas del aacuterea una solucioacuten candidata se conoce como individuo al conjunto de soluciones se denomina poblacioacuten y los procedimientos involucrados en el proceso evolutivo se identifican como operadores de seleccioacuten cruzamiento y mutacioacuten Comuacutenmente dos individuos son seleccionados y sus valores son recombinados y algunas veces mutados para crear nuevas soluciones candidatas Los nuevos individuos son considerados parte de una nueva poblacioacuten que sustituye a la anterior Entonces una secuencia de nuevas poblaciones son creadas hasta que una condicioacuten de teacutermino es alcanzada y la mejor solucioacuten de

las uacuteltima poblacioacuten es seleccionada como resultado del algoritmo Este proceso evolutivo es guiado por una funcioacuten de aptitud que determina la calidad de cada individuo en la poblacioacuten La figura 1 muestra el esquema general de un algoritmo evolutivo

Esquema general de un algoritmo evolutivo

A lo largo de su desarrollo histoacuterico varios tipos de algoritmos evolutivos han sido implementados difiriendo en la forma de representar a sus individuos y en la implementacioacuten de sus operadores geneacuteticos Auacuten cuando en los antildeos 50 varios autores introducen los teacuterminos evolucioacuten y proceso evolutivo en sus propuestas para resolver diversos problemas es en los antildeos 60 cuando se sientan las bases del desarrollo de los algoritmos evolutivos con la introduccioacuten de tres teacutecnicas la Programacioacuten Evolutiva las Estrategias Evolutivas y los Algoritmos Geneacuteticos Fogel propone en 1962 la Programacioacuten Evolutiva donde las soluciones candidatas se representan con maacutequinas de estados finitos y Rechenberg y Schwefel en 1965 desarrollan las Estrategias Evolutivas que codifican sus individuos con vectores de nuacutemeros reales Los Algoritmos Geneacuteticos introducidos en 1962 por Holland son sin duda el tipo de algoritmo evolutivo maacutes popular Estos algoritmos tradicionalmente utilizan una cadena binaria para representar a sus individuos aunque tambieacuten se han utilizado cadenas de enteros y secuencias de nuacutemeros reales Desarrollos posteriores a estas teacutecnicas han aportado al eacutexito de los algoritmos evolutivos destacaacutendose la Programacioacuten Geneacutetica los Algoritmos Coevolutivos los Algoritmos Culturales el algoritmo de Evolucioacuten Diferencial los Algoritmos de Estimacioacuten de Distribuciones la Evolucioacuten Gramatical y la Programacioacuten de Expresioacuten de Genes Cada uno de estos algoritmos tienen sus ventajas y sus propios desafiacuteos y han sido utilizados para resolver diferentes tipos de problemas La figura 2 muestra un esquema del desarrollo histoacuterico de los

algoritmos evolutivos En particular el algoritmo de Evolucioacuten Diferencial ha demostrado ser muy competitivo y exitoso para resolver problemas numeacutericos complejos en comparacioacuten con otros algoritmos

Liacutenea del tiempo del desarrollo de los algoritmos evolutivos

El algoritmo de Evolucioacuten Diferencial Evolucioacuten Diferencial (DE por sus siglas en ingleacutes) es un tipo de algoritmo evolutivo que fue originalmente disentildeado por Storn y Price en 1995 para resolver problemas de optimizacioacuten continua En particular en este algoritmo cada individuo usualmente se representa con un vector de valores continuos de paraacutemetros Ademaacutes en lugar de implementar los operadores de cruza y mutacioacuten tradicionales el algoritmo crea cada nuevo individuo con una combinacioacuten lineal de los valores de dos o maacutes individuos de la poblacioacuten actual que son seleccionados al azar La forma en que se implementan los operadores de cruza y mutacioacuten se ha utilizado en la literatura para identificar las diferentes variantes del algoritmo DEABC es la notacioacuten comuacutenmente usada para nombrar estas variantes donde A y B determinan el tipo de mutacioacuten implementado y C identifica el tipo de cruza implementado por la variante En particular A representa el procedimiento de seleccioacuten de los individuos para construir el individuo mutado y B es el nuacutemero de vectores diferencia usados para el operador de mutacioacuten DE puede considerarse un proceso de tres pasos que incluye una fase de inicializacioacuten el proceso evolutivo y el paso final que determina el resultado obtenido La fase de inicializacioacuten involucra la seleccioacuten y evaluacioacuten de un grupo de NP individuos que son generados aleatoriamente de un espacio de buacutesqueda finito los cuales se utilizan como poblacioacuten inicial del algoritmo conocido como Si para cada y son los valores miacutenimo y maacuteximo del -eacutesimo paraacutemetro en el valor del -eacutesimo individuo en la poblacioacuten inicial es determinado como sigue

x = (x1 x2 hellip xn) n

Ω sube ℝn

X0 j isin 1 hellip n xminj xmax

jj Ω xi

j i xi

donde es un nuacutemero aleatorio uniformemente distribuido dentro del rango El proceso evolutivo implementa un esquema iterativo para evolucionar la poblacioacuten inicial En cada iteracioacuten de este proceso conocido como una generacioacuten una nueva poblacioacuten de individuos es generada utilizando informacioacuten de la poblacioacuten previamente creada A diferencia de otros algoritmos evolutivos el orden de aplicacioacuten de los operadores geneacuteticos en el algoritmo de Evolucioacuten Diferencial es diferente Primero se aplica la mutacioacuten despueacutes la cruza y al final se lleva a cabo la seleccioacuten del mejor individuo Para cada en la generacioacuten es obtenido de la poblacioacuten y es utilizado para crear un nuevo vector aplicando los operadores de cruza y mutacioacuten Los vectores y son conocidos como el vector objetivo y el vector de prueba respectivamente Estos vectores son evaluados por el operador de seleccioacuten para actualizar la nueva poblacioacuten Los operadores de mutacioacuten cruza y seleccioacuten son descritos en detalle en los siguientes paacuterrafos En el paso final cuando una condicioacuten de paro es alcanzada el algoritmo devuelve el mejor individuo en la poblacioacuten actual La condicioacuten de paro maacutes comuacutenmente utilizada es comparar el nuacutemero de generaciones construidas contra un valor fijo pero otros criterios pueden ser implementados como aquellos descritos por Zielinski y Laur

Mutacioacuten Un vector mutado es construido al combinar los valores de varios individuos aleatoriamente seleccionados de El nuacutemero de individuos seleccionados para realizar la combinacioacuten depende del operador de mutacioacuten implementado por la variante del algoritmo En alguna de estas variantes el individuo con la mejor aptitud en la poblacioacuten es tambieacuten utilizado por el operador de mutacioacuten Entre los diferentes operadores de mutacioacuten descritos en la literatura destacan los siguientes

$$beginaligned

textDErand1quad v^i amp= x^r_1 + textF big( x^r_2 - x^r_3 big)labeleqmut_1

textDEbest1quad v^i amp= x^textbest + textF big( x^r_1 - x^r_2 big) labeleqmut_2

textDEcurrent-to-best1quad v^i amp= x^i + textF big( x^textbest - x^r_1big) + textF big( x^r_2 - x^r_3 big) labeleqmut_3

xij = xmin

j + r (xmaxj minus xmin

j )

r [0 1]

i isin 1 hellip NP g xi

Xgminus1 ui

xi ui

Xgω

vi xrj

Xgminus1

xbest Xgminus1

textDErand2quad v^i amp= x^r_1 + textF big( x^r_2 - x^r_3 big)+textF big( x^r_4 - x^r_5 big) labeleqmut_4

shortintertexty

textDEbest2quad v^i amp= x^textbest + textF big( x^r_1 - x^r_2 big )+ textF big( x^r_3 - x^r_4 big ) labeleqmut_5 endaligned$$

donde F es un valor definido por el usuario que representa un factor de escala aplicado para controlar la variacioacuten diferencial Storn y Price sentildealan que F puede fijarse entre 0 y 2 pero otros autores recomiendan valores entre 04 y 1 En la figura 3 se presenta un ejemplo de la aplicacioacuten del operador de mutacioacuten DErand1 En este ejemplo = = y = Usando F igual a 05 el vector mutado resultante es =

Ejemplo de la creacioacuten de un vector mutado con el esquema DErand1

La mutacioacuten aporta a las habilidades de explotacioacuten y exploracioacuten del meacutetodo Debido a que al inicio del proceso evolutivo los individuos se encuentran relativamente dispersos en el espacio

xr1 (1056 316) xr2

(253 903) xr3 (56 626) vi

(902 454)

de buacutesqueda la diferencia entre los vectores seleccionados es grande por lo que los vectores mutados pueden ubicarse en diferentes aacutereas del espacio de buacutesqueda pero a medida que el proceso evolutivo avanza las soluciones se vuelven maacutes cercanas y las diferencias entre ellos son maacutes pequentildeas lo que produce que los vectores mutados se encuentran concentrados en aacutereas promisorias del espacio de buacutesqueda

Cruza El operador de cruza se utiliza para combinar la informacioacuten entre el vector objetivo y el vector mutado para construir el vector de prueba Por cada o se seleccionan para construir usando un factor de cruza el cual es tambieacuten un valor especificado por el usuario Dos tipos de cruza se utilizan en este caso cruza binomial y cruza exponencial

Cruza binomial En este operador cada valor asignado a es seleccionado de o de comparando el valor CR con un valor seleccionado al azar Para garantizar que al menos un paraacutemetro de toma un valor de este operador utiliza un valor tambieacuten seleccionado al azar Formalmente la cruza binomial se define como

Tomando el vector mutado = del ejemplo de la figura 3 y un vector objetivo = en la figura 4 se muestra un ejemplo de la creacioacuten de un vector de prueba usando la cruza binomial El vector de prueba generado en este ejemplo es =

xr2 minus xr3

j isin 1 hellip n xij vi

jui CR isin [0 1]

ui vi xi

r isin [0 1] ui

vi l isin 1 hellip n

bin uij =

vij si r le CR or j = l

xij de otra forma

vi (902 454) xi

(406 766)ui (406 454)

Ejemplo de la creacioacuten de un vector de prueba usando la cruza binomial

Cruza exponencial Este operador de cruza asigna una secuencia de valores de a Los valores restantes que son asignados a son obtenidos de El tamantildeo de la secuencia se determina con dos valores 1) un iacutendice que representa la posicioacuten inicial de la secuencia en seleccionado aleatoriamente dentro del rango y 2) el nuacutemero de intentos consecutivos en los cuales determina la posicioacuten final de la secuencia como es definida en la Ec ([eqcr_exp]) La cruza exponencial es similar al operador de cruza de dos puntos introducido por Cavicchio

$$beginaligned

textexpquad u_j^i amp=

begincases

v_j^i amp textsi $ l leq j leq min (l+L-1n)$

vi ui

ui xi

l vi

1 hellip n L le n r le CR

x_j^i amp textde otra forma

endcases labeleqcr_expendaligned$$

Por ejemplo si se tienen dos vectores de cinco paraacutemetros = y = y se aplica el operador de cruza exponencial usando un factor de cruza de 06 entonces se debe obtener el valor de y despueacutes generar una secuencia de valores aleatorios para Si =2 y la secuencia de valores de es 06 03 04 y 06 y el vector de prueba que se construye es =

La cruza ayuda al algoritmo a mantener la diversidad de la poblacioacuten y eventualmente evitar que caiga en oacuteptimos locales El valor de CR es complicado de determinar pero algunos autores sentildealan que su valor puede ajustarse entre 03 y 09

Seleccioacuten Un torneo uno-a-uno es aplicado para determinar cual vector entre y es seleccionado como miembro de la nueva poblacioacuten Este esquema de seleccioacuten permite garantizar que el proceso evolutivo mantenga una mejora continua

Estructura del Algoritmo El Algoritmo [algDE] muestra la estructura de una implementacioacuten claacutesica del algoritmo Eacuteste requiere de tres paraacutemetros para controlar el proceso evolutivo (CR F y NP) y tambieacuten la seleccioacuten de un espacio de buacutesqueda para construir la poblacioacuten inicial y la definicioacuten del tamantildeo de individuo de una funcioacuten objetivo para evaluar cada individuo y de una condicioacuten de paro para finalizar el proceso evolutivo

Entrada Salida Un individuo generado aleatoriamente usando la Ec ([eqinicial]) Vector objetivo obtenido aleatoriamente de Vector mutado generado usando alguna de las Ecs ([eqmut_1])ndash([eqmut_5]) Vector de prueba construido usando alguna de las Ecs ([eqcr_bin])ndash([eqcr_exp])

DE tiene varias ventajas en comparacioacuten con otros algoritmos evolutivos como la simplicidad de su implementacioacuten su habilidad para producir mejores resultados que aquellos obtenidos por los demaacutes y su baja complejidad espacial

vi (24 36 12 78 02) xi

(34 96 12 52 31)l

r l rui (24 96 12 52 02)

xi ui

Xg

g larr 0 Xg larr xi larrXg larr Xg cup (i xi) g larr g + 1 Xg larr xi larr

Xgminus1 vi larrui larrXg larr Xg cup (i ui) Xg larr Xg cup (i xi) xbest

Modificaciones al algoritmo de Evolucioacuten Diferencial Aunque DE requiere de la definicioacuten de un nuacutemero menor de paraacutemetros en comparacioacuten con el nuacutemero de paraacutemetros requeridos por otros algoritmos evolutivos su desempentildeo es sensible a los valores seleccionados de CR F y NP Varios autores sentildealan que los valores adecuados para estos paraacutemetros pueden variar para diferentes problemas y es conocido que la definicioacuten de estos paraacutemetros depende de las caracteriacutesticas propias de cada problema Ademaacutes Lampinen y Zelinka sentildealan que este algoritmo puede presentar el problema de estancamiento debido a una incorrecta seleccioacuten de sus paraacutemetros El estancamiento en un algoritmo se presenta cuando eacuteste no converge a alguna solucioacuten y la poblacioacuten presenta una gran diversidad de individuos Por lo anterior la mayoriacutea de los estudios realizados para mejorar el desempentildeo del algoritmo de Evolucioacuten Diferencial se relacionan con teacutecnicas para ajustar los valores de sus paraacutemetros (F CR y NP) y para combinar las ventajas de las diferentes variantes del algoritmo usando un subconjunto de ellas en lugar de solamente aplicar una variante En los siguientes paacuterrafos se describen las propuestas para mejorar el desempentildeo del algoritmo que se consideran los maacutes representativos en la literatura especializada Para simplificar su descripcioacuten estas propuestas se agrupan de acuerdo al criterio utilizado Ajuste de paraacutemetros y combinacioacuten de variantes Por un lado debido a que F y CR son los paraacutemetros del algoritmo maacutes estudiados y donde maacutes variantes de mejora han sido desarrolladas estos estudios se agrupan en enfoques que usan paraacutemetros globales y enfoques que usan paraacutemetros para cada individuo Adicionalmente se presentan los enfoques relacionados con el ajuste del tamantildeo de la poblacioacuten y tambieacuten aquellos donde se modifica la forma que generar los vectores mutados dentro del proceso evolutivo La figura 5 presenta un esquema del desarrollo histoacuterico de estos enfoques

Liacutenea del tiempo de las modificaciones a DE

Ajuste de paraacutemetros globales En estos enfoques los operadores geneacuteticos utilizan los mismos valores para F y CR en todos los individuos de una misma poblacioacuten como se ilustra en la figura 6 Estos valores se actualizan al finalizar cada generacioacuten con el aacutenimo de mejorar las habilidades de exploracioacuten y explotacioacuten del algoritmo Dos enfoques se concentran en ajustar el valor de F manteniendo fijo el valor de CR En 2004 Ali y Toumlrn lo actualizan considerando la aptitud del mejor y del peor individuo en la poblacioacuten y Das et al en 2005 proponen dos enfoques para modificar su valor el primero lo modifica de forma aleatoria y el segundo reduce su valor de forma lineal conforme el proceso evolutivo avanza Por otro lado Liu y Lampinen en 2005 proponen un enfoque diferente al cual denominan FADE (Fuzzy Adaptive DE algorithm) En este algoritmo los valores de F y CR se ajustan usando un sistema de control loacutegico difuso El sistema utiliza las diferencias entre generaciones sucesivas tanto de los valores de los individuos como de sus valores de aptitud Finalmente Dra et al en 2015 proponen una versioacuten alternativa denominada SinDE (Sinusoidal DE) en donde los valores de F y CR se ajustan utilizando foacutermulas trigonomeacutetricas permitiendo cambiar la direccioacuten del vector diferencia dentro del operador de mutacioacuten

Esquema de ajuste de paraacutemetros globales del algoritmo

Ajuste de paraacutemetros asociados a cada individuo de la poblacioacuten En este tipo de algoritmos cada individuo de la poblacioacuten tiene asociado su propio conjunto de paraacutemetros como se muestra en la figura 7 Estos paraacutemetros se ajustan de forma independiente dentro del proceso evolutivo como se esquematiza en la figura 8

Paraacutemetros asociados a cada individuo de la poblacioacuten

En 2005 Omran et al asocian el valor de F a cada individuo de la poblacioacuten en su meacutetodo denominado SDE (self-adaptive DE) Este meacutetodo actualiza el valor de F combinando los valores de F de tres individuos de la poblacioacuten actual que son seleccionados aleatoriamente En 2006 Brest et al describen su meacutetodo denominado jDE donde los valores de F y CR se pueden modificar en cada iteracioacuten del proceso evolutivo basados en una decisioacuten estocaacutestica utilizando un par de umbrales previamente definidos En 2007 Zhang y Sanderson implementan un meacutetodo conocido como JADE donde F y CR son ajustados utilizando distribuciones normales independientes cuya media es calculada usando el promedio de los vectores mutados mejor adaptados en cada iteracioacuten En 2011 Ghosh et al actualizan los valores de estos paraacutemetros en base al valor de aptitud de los individuos en la poblacioacuten en un meacutetodo denominado FiADE (Fitness-Adaptive DE) Una versioacuten parecida es presentada en 2015 por Tang et al en el meacutetodo llamado IDE (DE with an individual-dependent mechanism) En 2011 Bi y Xiao describen el meacutetodo p-ADE (pbest vector-based self-adaptive DE variant) donde el vector mutado se crea usando el mejor individuo en la poblacioacuten y el mejor de los vectores que se utilizaron para crear al vector objetivo Los valores de F y CR de cada individuo son ajustados usando un factor asociado a las mejores y peores aptitudes de los individuos en la poblacioacuten En 2012 Islam et al introdujeron el meacutetodo llamado MDEpBX (modified DE with p-best crossover) donde se modifica la variante DEcurrent-to-best1 al utilizar el mejor elemento de un grupo de individuos seleccionados aleatoriamente de la poblacioacuten actual en lugar de usar el mejor individuo de la poblacioacuten Los valores de los paraacutemetros se ajustan en base a un par de distribuciones independientes que son actualizadas al final de cada generacioacuten En 2013 Tanabe y Fukunaga implementan el meacutetodo SHADE (Success-History based Adaptive DE) que basaacutendose en JADE actualiza los valores de F y CR usando una memoria de los vectores mutados que han sido exitosamente seleccionados previamente dentro del proceso evolutivo A partir de SHADE

varias versiones se han desarrollado como el meacutetodo L-convSHADE (SHADE using covariance matrix learning with Euclidean Neighborhood) y el meacutetodo LSHADE-SPA (LSHADE with semi parameter adaptation) En 2016 Leon y Xiong introducen una estrategia voraz para actualizar los valores de los paraacutemetros de cada individuo en el meacutetodo llamado GADE (Greedy Adaptive DE) Se utilizan los valores de los paraacutemetros de las soluciones vecinas para ajustar los paraacutemetros del nuevo vector mutado Finalmente Mohamed y Mohamed en 2017 proponen el meacutetodo denominado AGDE (Adaptive guided DE)

Esquema de ajuste de paraacutemetros para cada individuo de la poblacioacuten

Ajuste del tamantildeo de la poblacioacuten En los enfoques descritos previamente solamente se ajustan los valores de F y CR manteniendo el tamantildeo de la poblacioacuten constante Diversos estudios indican que el tamantildeo de la poblacioacuten tambieacuten afecta al desempentildeo de un algoritmo evolutivo por lo que existen trabajos que se han centrado en ajustar el tamantildeo de la poblacioacuten para garantizar la convergencia del algoritmo Existen algunos enfoques donde se ajusta el tamantildeo de la poblacioacuten y se describiraacuten a continuacioacuten En la figura 9 se muestra el esquema general en que estos enfoques ajustan el tamantildeo de la poblacioacuten durante el proceso evolutivo

Esquema general del ajuste del tamantildeo de la poblacioacuten en DE

En 2006 Teo describe el meacutetodo DESAP (Differential Evolution with self-adapting populations) donde el tamantildeo de la poblacioacuten se ajusta usando un factor distribuido uniformemente entre 0 y 1 En 2008 Brest y Sepesy Maučec presentan el algoritmo dynNP-DE (DE con NP dinaacutemico) donde van reduciendo a la mitad el tamantildeo de la poblacioacuten conforme el proceso evolutivo progresa Utilizando el nuacutemero total de evaluaciones y un paraacutemetro que indica el nuacutemero de posibles reducciones el algoritmo establece en queacute generaciones el algoritmo reduciraacute el tamantildeo de la poblacioacuten En 2014 Tanabe y Fukunaga presentaron una versioacuten con ajuste de poblacioacuten del meacutetodo SHADE denominada L-SHADE donde se aplica una reduccioacuten lineal del tamantildeo de la poblacioacuten previo a una ordenacioacuten a los individuos por su aptitud que permite eliminar solo

los individuos peor adaptados En 2017 Bujok y Tvrdiacutek describen el meacutetodo IDEbd (IDE with Population Size Adaptation) en donde el tamantildeo de la poblacioacuten es adaptado usando un factor calculado en base al nivel de diversidad de la poblacioacuten actual

Combinacioacuten de variantes Debido a la forma de combinar los individuos para crear el vector de prueba de cada una de las variantes de DE estaacutes presentan diferentes capacidades de exploracioacuten y explotacioacuten ademaacutes de que son maacutes efectivas para diferentes tipos de problemas Por ejemplo la variante DErand1 es mejor para explorar el espacio de buacutesqueda pero tiene una velocidad de convergencia lenta y DEbest1 converge maacutes raacutepido hacia soluciones cercanas a la oacuteptima pero solo para problemas con un uacutenico oacuteptimo global (unimodales) Debido a que usar diferentes estrategias de mutacioacuten durante diferentes momentos del proceso evolutivo pueden ser mejor que usar una sola variante durante todo el proceso varios autores se han enfocado en desarrollar estrategias para combinar diferentes variantes de DE y lograr con esto que cooperen en la creacioacuten de un mejor vector objetivo La figura 10 muestra un esquema general de la forma en que se aplican estas estrategias dentro del algoritmo de Evolucioacuten Diferencial

Esquema general de la estrategia de combinacioacuten de variantes de DE

En 2005 Qin y Suganthan describieron una versioacuten conocida como SADE (Self-Adaptive DE algorithm for numerical optimization) donde introducen un esquema que selecciona de forma alternada una de dos variantes del algoritmo de acuerdo a su tasa de eacutexito dentro del proceso evolutivo En 2009 Das et al presentaron el meacutetodo llamado DEGL (DE with Global and Local Neighborhoods) donde cada nuevo vector mutado se crea combinando dos vectores uno construido usando una vecindad del vector objetivo (vector local) y otro creado usando el mejor

individuo de la poblacioacuten (vector global) En 2011 Mallipeddi et al asignaron a cada individuo de la poblacioacuten el tipo de variante para generar el vector mutado y los valores para F y CR en el meacutetodo EPSDE (Ensemble of mutation strategies and parameters in DE) Tanto el tipo de variante como los valores de los paraacutemetros se escogen aleatoriamente de un grupo de ellos que es previamente definido Dependiendo del eacutexito de la aplicacioacuten de dichos valores eacutestos se pueden cambiar durante el proceso evolutivo Tambieacuten en ese mismo antildeo Wang et al en su meacutetodo CoDE (Composite DE) crean tres vectores para cada vector objetivo Cada vector es construido usando variantes diferentes y con paraacutemetros generados aleatoriamente El mejor de los tres vectores se usa como vector de prueba para aplicar el operador de seleccioacuten Adicionalmente Zhao et al implementaron un meacutetodo muy similar denominado SaDE-MMTS (SaDE with a modified multi-trajectory search) donde el vector mutado se selecciona de entre los vectores generados por tres diferentes variantes del algoritmo pero la seleccioacuten se hace en base a una probabilidad que iterativamente se ajusta en base a la cantidad de vectores mutados que son exitosamente seleccionados En 2017 Ghosh et al propusieron el meacutetodo NRDE (Noise Resilient DE) donde cada individuo puede ser mutado por alguna de dos variantes con igual probabilidad Los valores de F y CR son ajustados para cada individuo basado en un rango preestablecido previamente

Evolucioacuten Diferencial para otros tipos de problemas Aunque DE fue definido originalmente para resolver problemas de optimizacioacuten continua sin restricciones tambieacuten se ha utilizado con eacutexito para resolver otros tipos de problemas como aquellos donde los valores de las variables del problema son discretos donde el espacio de buacutesqueda estaacute limitado por una o maacutes restricciones y aquellos donde se manejan dos o mas objetivos Prado et al describe varias adaptaciones al algoritmo de Evolucioacuten Diferencial para problemas de optimizacioacuten combinatoria como aquellos que implementan una matriz de permutacioacuten los que obtienen una secuencia ordenada de valores y los que aplican una transformacioacuten de los valores continuos al espacio discreto En el caso de los problemas de optimizacioacuten con restricciones Mezura-Montes et al describen varios enfoques que se han utilizado para aplicar DE en este tipo de problemas como aquellos que utilizan teacutecnicas para eliminar o reparar soluciones infactibles y los que implementan teacutecnicas de penalizacioacuten Finalmente para problemas de optimizacioacuten multi-objetivo Mezura-Montes et al resume las principales teacutecnicas basadas en el algoritmo de Evolucioacuten Diferencial para manejar dos o maacutes objetivos como los enfoques basados en dominancia de Pareto y en jerarquizacioacuten de Pareto asiacute como los meacutetodos que no se basan en Pareto y los enfoques que combinan diferentes estrategias Hoy en diacutea existen tambieacuten algoritmos basados en descomposicioacuten y en indicadores de desempentildeo

DE en Meacutexico En el paiacutes se tiene mucha actividad en investigacioacuten relacionada con DE particularmente el grupo EVOCINV de CINVESTAV Zacatenco estudia a este algoritmo en optimizacioacuten multi-objetivo y temas afines al manejo de muacuteltiples objetivos como algoritmos basados en indicadores modelos subrogados operadores de seleccioacuten operadores de variacioacuten adaptacioacuten de paraacutemetros entre otros temas

En el Centro de Investigacioacuten en Inteligencia Artificial de la Universidad Veracruzana se desarrolla investigacioacuten en optimizacioacuten con restricciones usando DE aplicaciones de DE en mecatroacutenica y en control automaacutetico DE y buacutesqueda local optimizacioacuten dinaacutemica multi-objetivo DE asistida por subrogados en espacios restringidos entre otras temaacuteticas

Recientemente en el Instituto Tecnoloacutegico de Veracruz se desarrollan aplicaciones de DE en aprendizaje automaacutetico en el Centro de Innovacioacuten y Desarrollo Tecnoloacutegico en Coacutemputo (CIDETEC) del IPN se aplica DE en problemas de mecatroacutenica y en el Centro de Investigacioacuten en Matemaacuteticas se aplica en procesos quiacutemicos

Todas estas menciones soacutelo son representativas pues la DE al ser un algoritmo faacutecil de implementar y que provee resultados competitivos ha sido particularmente atractiva para su estudio y aplicacioacuten en instituciones mexicanas

Conclusiones El algoritmo de Evolucioacuten Diferencial es un enfoque exitoso para resolver problemas de optimizacioacuten continua sin restricciones Los individuos que evolucionan al aplicar los operadores de este algoritmo tradicionalmente se codifican como secuencias de nuacutemeros reales pero otras representaciones se han utilizado tambieacuten Ademaacutes con la inclusioacuten de diversas estrategias para manejar varios objetivos y conjuntos de restricciones DE se puede aplicar para resolver otro tipo de problemas DE se distingue por depender de la definicioacuten de un menor nuacutemero de paraacutemetros que otros algoritmos evolutivos pero esto tambieacuten lo hace muy sensible a la definicioacuten de los valores para esos paraacutemetros Diversos variantes del algoritmo han sido desarrolladas para mejorar el desempentildeo del algoritmo generando un abanico de alternativas para resolver casi cualquier tipo de problema El estudio del comportamiento de este algoritmo y la definicioacuten de nuevas propuestas de desarrollo sin duda aportaraacute a la resolucioacuten maacutes eficiente de problemas complejos que interesan a la comunidad cientiacutefica

Para saber maacutes Para aquellos lectores que deseen abundar en el tema las siguientes referencias sobre DE pueden ser de intereacutes

bull El libro sobre DE escrito por los autores originales del algoritmo

bull Una revisioacuten muy completa de la literatura de DE y su versioacuten actualizada

bull Otra revisioacuten de la literatura acompantildeada de un estudio experimental

bull Una revisioacuten de estudios teoacutericos sobre DE

bull Un libro editado con temas diversos y recientes sobre DE

bull DE para resolver problemas de optimizacioacuten multi-objetivo

bull DE y su papel importante en espacios restringidos

Algoritmos Geneacuteticos Paralelos Alicia Morales-Reyes

Introduccioacuten Las teacutecnicas evolutivas son aptas para su paralelizacioacuten tanto a nivel algoriacutetmico como a nivel de ejecucioacuten En particular los algoritmos geneacuteticos (AGs) han sido investigados desde esta perspectiva y esquemas paralelos han surgido desde el inicio de su desarrollo La paralelizacioacuten de los AGs persigue la mejora de su desempentildeo algoriacutetmico en teacuterminos de eficiencia y eficacia y la reduccioacuten de tiempos de ejecucioacuten en sus distintos dominios de aplicacioacuten

Una clasificacioacuten general de los Algoritmos Geneacuteticos Paralelos (AGPs) los agrupa por su granularidad en AGPs de grano fino y grueso Los AGPs de grano grueso dividen la poblacioacuten agrupada en panmixia en varias sub-poblaciones permitiendo la migracioacuten de individuos entre 1

eacutestas De esta forma se reduce el nuacutemero de individuos en cada unidad de procesamiento En consecuencia se establece un fuerte viacutenculo entre la algoritmia y la implementacioacuten de estas teacutecnicas Sin embargo utilizar una uacutenica unidad de procesamiento para la evolucioacuten de varias sub-poblaciones ha sido un contexto tambieacuten explorado como un mecanismo de mejora del desempentildeo algoriacutetmico

Los AGPs de grano grueso tambieacuten llamados Algoritmos Geneacuteticos distribuidos (AGds) han permitido la exploracioacuten de nuevas vertientes de la versioacuten estaacutendar de los AGs Tener diferentes paraacutemetros de configuracioacuten para realizar las operaciones geneacuteticas implementar granularidades distintas incorporar el operador de migracioacuten han sido caracteriacutesticas a explorar que pueden culminar en un mejor desempentildeo de los AGs

En la figura 1 se muestra un diagrama de un AG distribuido Cada poblacioacuten es centralizada y se necesitan definir criterios en teacuterminos de tasa y frecuencia de migracioacuten Tambieacuten se necesita definir si la migracioacuten seraacute siacutencrona o asiacutencrona Herrera et al presentaron un esquema de un AGP distribuido con poblaciones heterogeacuteneas Utilizaron la estructura de un hipercubo posicionando en cada veacutertice una sub-poblacioacuten Dependiendo de la ubicacioacuten de cada sub-poblacioacuten la buacutesqueda implica mayor explotacioacuten o exploracioacuten Esto se logra de manera interna viacutea la configuracioacuten de los operadores geneacuteticos De esta forma se procura mantener la diversidad de soluciones de forma global y asiacute mejorar la calidad de las soluciones encontradas

Una poblacioacuten en panmixia es aquella donde todos sus individuos sin restricciones pueden 1

reproducirse entre si

Diagrama poblacional de un AGP distribuido o de grano grueso

La principal diferencia entre los AGP de grano fino con respecto a los AGP distribuidos o de grano grueso es la descentralizacioacuten de su poblacioacuten y en consecuencia la localizacioacuten del proceso de seleccioacuten de individuos En la figura 2 se muestra un esquema poblacional de un AGP de grano fino tambieacuten conocido como AG celular (AGc) De manera comuacuten se utiliza una topologiacutea de malla conectada de forma toroidal como lo muestra la figura Un individuo de la poblacioacuten se ubica en cada cruce de la malla y alrededor de eacutel se define un vecindario cuyas soluciones participan en los procesos de seleccioacuten recombinacioacuten y mutacioacuten para la evolucioacuten de eacuteste En la figura 2 se ilustra un vecindario tipo Moore con 9 individuos

En los AGs celulares cada individuo o solucioacuten interactuacutea con sus vecinos maacutes cercanos logrando de esta forma el esparcimiento suave de las soluciones a traveacutes de la malla debido al traslape de vecindarios En los AGs distribuidos la asociacioacuten entre soluciones se pierde en comparacioacuten con los AGs celulares Esta es otra caracteriacutestica importante de los AGc que permite la exploracioacuten global del espacio de buacutesqueda mientras que localmente los individuos explotan la regioacuten cercana a su ubicacioacuten

Diagrama poblacional del AG celular o de grano fino

La paralelizacioacuten de los algoritmos evolutivos en particular de los algoritmos geneacuteticos persigue distintos objetivos Por ejemplo la evolucioacuten simultaacutenea de sub-poblaciones lo cual permite descubrir nueva rutas para solucionar un problema y en consecuencia reducir el nuacutemero de generaciones para converger a la solucioacuten oacuteptima Aunado a esto los tiempos de procesamiento pueden tambieacuten acortarse La paralelizacioacuten de AGs se puede realizar a distintos niveles Asiacute mismo es posible la combinacioacuten de sub-poblaciones con distintas dinaacutemicas internas Por ejemplo algunas sub-poblaciones podriacutean evolucionar en un esquema de panmixia y otras en un esquema celular Este tipo de esquemas poblacionales se discutiraacuten a detalle en la subseccioacuten 11

Una operacioacuten importante en los procesos evolutivos de los AGs distribuidos es la migracioacuten de los individuos entre sub-poblaciones Durante el proceso de buacutesqueda uno o maacutes individuos son seleccionados para migrar y reemplazar a otros individuos de otras sub-poblaciones Los criterios de migracioacuten requieren no soacutelo de la tasa y la frecuencia de migracioacuten sino tambieacuten de criterios de seleccioacuten y reemplazo de individuos al llegar a las otras sub-poblaciones El proceso de migracioacuten puede realizarse de forma siacutencrona o asiacutencrona La migracioacuten siacutencrona supone que todas las sub-poblaciones estaacuten en el mismo estado de la buacutesqueda y la migracioacuten de individuos entre sub-poblaciones ocurre de manera simultaacutenea Por otro lado la migracioacuten asiacutencrona supone que cada sub-poblacioacuten determina el momento en que los individuos deben migrar En la sub-seccioacuten 24 se aborda el efecto del sincronismo en los mecanismos de migracioacuten

Cantuacute-Paz et al presentoacute un estudio completo en AGs distribuidos tanto desde el punto de vista teoacuterico como del praacutectico Debido al nuacutemero de paraacutemetros que se deben definir en los AGds Cantuacute-Paz et al iniciaron con la solucioacuten de un problema de optimizacioacuten para determinar el tamantildeo adecuado de las sub-poblaciones para alcanzar una cierta calidad de la misma Utilizaron un modelo matemaacutetico considerando la hipoacutetesis de los bloques constructores propuesta por Holland y extendida por Goldberg El estudio se verifica en varios problemas con un grado alto de precisioacuten mostraacutendose una buena respuesta a la escalabilidad

Para determinar escenarios de operacioacuten liacutemite en teacuterminos de eficiencia analizaron la interaccioacuten de las sub-poblaciones y su efecto en la calidad de las soluciones Previamente se ha investigado el cambio en la calidad de las soluciones debido a la forma de interaccioacuten de las sub-poblaciones Tener sub-poblaciones evolucionando de manera independiente con muy poca o nula interaccioacuten entre ellas resulta en soluciones menos precisas mientras mejores soluciones se obtienen viacutea el esquema de panmixia tradicional Sin embargo cuando se definen criterios de migracioacuten adecuados y un cierto nuacutemero de soluciones migran entre sub-poblaciones a una frecuencia media o baja el desempentildeo en general de los AGds mejora alcanzando en un nuacutemero de casos aceleraciones super-lineales y mejor calidad de las soluciones encontradas Se puede inferir entonces la importancia del operador de migracioacuten el cual seraacute analizado en detalle en la sub-seccioacuten 12

AGds homogeacuteneos y heterogeacuteneos Existen distintos escenarios en los que se pueden definir y aplicar AGds con esquemas poblaciones homogeacuteneos y heterogeacuteneos es decir combinaciones de poblaciones centralizadas y descentralizadas A nivel algoriacutetmico se puede definir la misma o una diferente configuracioacuten de operadores geneacuteticos A partir de esas configuraciones distintas diferentes configuraciones de paraacutemetros se pueden determinar para ejecutar la buacutesqueda en cada sub-poblacioacuten Por ejemplo distintas definiciones del operador de recombinacioacuten o bien de las probabilidades de mutacioacuten pueden operar sobre los individuos de cada sub-poblacioacuten La comunidad en el aacuterea ha incluso explorado escenarios donde las soluciones se representan de manera distinta entre sub-poblaciones Por otro lado a nivel de implementacioacuten se han explorado esquemas con sub-poblaciones heterogeacuteneas Por ejemplo Alba et al realizoacute un estudio en distintas plataformas de coacutemputo ejecutando sub-poblaciones en panmixia y celulares

Como se puede apreciar el desarrollo de un esquema de AG paralelos ya sean distribuidos o descentralizados conlleva la definicioacuten de un nuacutemero de paraacutemetros que afectaraacute de manera importante su desempentildeo algoriacutetmico Otro ejemplo es la solucioacuten de problemas de optimizacioacuten en espacios continuos que se han abordado a traveacutes de un esquema de AGP utilizando una versioacuten mejorada con cromosomas codificados con nuacutemeros reales Para esto se

definioacute una topologiacutea doble con un hipercubo que se comparoacute con una topologiacutea sencilla Las sub-poblaciones ubicadas en sus veacutertices promoviacutean mayor o menor exploracioacuten u explotacioacuten de las regiones viacutea la configuracioacuten de los operadores geneacuteticos La migracioacuten entre las sub-poblaciones afectoacute directamente los tiempos de ejecucioacuten por medio de la reduccioacuten del nuacutemero de evaluaciones La capacidad de buacutesqueda de la topologiacutea doble superoacute a la de la topologiacutea sencilla

Cuando pensamos en paralelizar alguna teacutecnica algoriacutetmica nos viene a la mente acelerar los procesos de ejecucioacuten Sin embargo la paralelizacioacuten de los algoritmos evolutivos podriacutea mejorar tanto los procesos de buacutesqueda algoriacutetmica como los tiempos de ejecucioacuten Es asiacute que a nivel de implementacioacuten se utilizado coacutemputo heterogeacuteneo para la evaluacioacuten de esquemas de AGPs Por ejemplo Alba et al propusieron utilizar una plataforma heterogeacutenea en la cual distintos sistemas operativos con distintas restricciones de ejecucioacuten implementaban un modelo de AGPs distribuidos Las sub-poblaciones se conectaron en un arreglo de anillo unidireccional cada sub-poblacioacuten ejecutaba un modelo poblacional de estado estable A cada generacioacuten se produciacutea un individuo que reemplazaba a la peor solucioacuten obtenida Se establecioacute un esquema de migracioacuten asiacutencrona que demostroacute mejores resultados ver 3 En general se observoacute un mejor desempentildeo de la ejecucioacuten del esquema paralelo en la plataforma heterogeacutenea en comparacioacuten con la homogeacutenea se redujo el nuacutemero de evaluaciones debido a la explotacioacuten de soluciones a distintas tasas de migracioacuten

AGP con topologiacutea poblacional de anillo unidireccional implementada en una plataforma de coacutemputo heterogeacutenea La migracioacuten entre sub-poblaciones es asiacutencrona y responde a una dinaacutemica de estado estable

Migracioacuten en AGPs Como se explicoacute anteriormente la incorporacioacuten de un nuevo operador llamado migracioacuten se hace latente en los esquemas paralelos de los AGs En los esquemas de grano grueso donde se tienen sub-poblaciones de grano fino y grueso evolucionando simultaacuteneamente la migracioacuten se debe considerar como un mecanismo que introduce nuevos individuos y por lo tanto promueve o restaura la diversidad entre sub-poblaciones De forma distinta en los AGs celulares o de grano fino un mecanismo de migracioacuten impliacutecito trabaja durante el proceso de buacutesqueda debido al traslape de vecindarios que permite la difusioacuten de soluciones a lo largo y ancho de la topologiacutea definida para la poblacioacuten Este mecanismo de migracioacuten es inherente a la estructura de los AGs celulares y no requiere de un paraacutemetro de frecuencia o tasa de migracioacuten o ninguacuten otro mecanismo de seleccioacuten y reemplazo

Revisaremos ahora evaluaciones empiacutericas que se han realizado a criterios de migracioacuten definidos para AGPs de grano grueso Aunque estos criterios son definidos para este tipo de esquemas paralelos tambieacuten es posible aplicar un segundo criterio migratorio en AGs celulares ademaacutes del mecanismo natural inherente a estos

Para establecer un criterio de migracioacuten adecuado y mejorar el desempentildeo algoriacutetmico de los AGPs de grano grueso se examinaron los casos liacutemite para aplicar el proceso de migracioacuten Se

sugiere mantener un cierto nivel de aislamiento entre las sub-poblaciones Si la sub-poblacioacuten evoluciona en completo aislamiento las mejoras en diversidad son miacutenimas y por ende la capacidad de buacutesqueda se ve reducida Por otro lado si se aplica el operador de migracioacuten con una frecuencia maacutexima el costo computacional se incrementa de manera significativa Por lo tanto el objetivo de la migracioacuten es evitar el aislamiento entre sub-poblaciones mientras se mantiene un nivel aceptable de comunicacioacuten entre eacutestas

Es posible calcular experimentalmente el nuacutemero adecuado de unidades de procesamiento para minimizar el tiempo de ejecucioacuten de un esquema de AGPs El anaacutelisis considera casos liacutemite en teacuterminos de conectividad entre sub-poblaciones es decir el caso de tener frecuencias de migracioacuten miacutenimas y maacuteximas La conclusioacuten teoacuterica para una poblacioacuten indica que el nuacutemero

oacuteptimo de unidades de procesamiento estaacute dado por donde es el tamantildeo de la

poblacioacuten es el tiempo de coacutemputo de la funcioacuten objetivo de un individuo y es el tiempo promedio de comunicacioacuten para una unidad de procesamiento Esto quiere decir que dividiendo una poblacioacuten en sub-poblaciones distribuidas en muacuteltiples unidades de procesamiento reduce el tiempo global de ejecucioacuten La misma conclusioacuten se logroacute para un esquema de muacuteltiples poblaciones considerando ademaacutes la evaluacioacuten de funciones objetivo separables Esto quiere decir que utilizar un nuacutemero de unidades de procesamiento en un esquema evolutivo paralelo tiene un impacto positivo en la reduccioacuten de los tiempos de ejecucioacuten

Es tambieacuten importante analizar el efecto de los criterios de migracioacuten que se utilizan en esquemas de AGPs de grano grueso El objetivo principal es determinar coacutemo el operador de migracioacuten afecta la presioacuten de seleccioacuten inducida e impliacutecitamente poder explicar las aceleraciones super-lineales que se pueden modelar para este tipo de esquemas La forma en que los individuos se seleccionan para migracioacuten y reemplazo tienen un efecto considerable en la presioacuten de seleccioacuten y se ha observado que tasas altas de migracioacuten producen un incremento en eacutesta Tener una presioacuten de seleccioacuten alta afecta la buacutesqueda al producir una convergencia prematura a un oacuteptimo local

Aunque la operacioacuten de migracioacuten se ha investigado principalmente para esquemas de AGPs de grano grueso tambieacuten se ha revisado su efecto en AGPs de grano fino considerando tanto el mecanismo de migracioacuten impliacutecita viacutea el traslape de vecindarios como la definicioacuten de criterios para migracioacuten de individuos desde y hacia distintas posiciones de la topologiacutea de malla definida para la poblacioacuten Por ejemplo se han utilizado estructuras de aacuterboles binarios para dividir una topologiacutea de malla de dos dimensiones en formaciones conceacutentricas de individuos definiendo para cada formacioacuten criterios de migracioacuten distintos El intercambio de individuos entre estas

OnTf

Tcn

Tf Tc

formaciones definidas por su estructura alenta el proceso de buacutesqueda permitiendo una mayor exploracioacuten Los resultados mostraron un mejor desempentildeo en la solucioacuten de problemas de optimizacioacuten con restricciones el operador de mutacioacuten se aplica para evitar la presencia de super individuos que pueden dirigir la buacutesqueda al estancamiento conquistando la topologiacutea de malla mucho maacutes raacutepido En la siguiente seccioacuten se abordaraacute el comportamiento de los AG celulares o de grano fino

AGs celulares o de grano fino Los AGs celulares o de grano fino se construyen a partir de poblaciones descentralizadas donde los individuos interactuacutean con otros individuos ubicados dentro de un vecindario definido Es decir interactuacutean con los vecinos maacutes cercanos Usualmente los AGCs se implementan en topologiacuteas de mallas de -dimensionales manteniendo conexiones toroidales entre los cruces de malla utilizando formas comunes como una malla lineal cuadrada o rectangular

El procesamiento de los AG celulares corresponde al de los Autoacutematas Celulares (ACs) Estos determinan una regla global que define un comportamiento especiacutefico que se construye a partir de reglas locales Se han explorado ACs de una dos y tres dimensiones en combinacioacuten con AGs con la finalidad de evolucionar el comportamiento global requerido Esta combinacioacuten de un AC y un AG originoacute el nombre de AG celular con la diferencia de tener una representacioacuten maacutes elaborada en cada cruce de la malla cromosomas Se observoacute que la informacioacuten de las reglas locales o individuos alcanzaba distancias lejanas dentro de la malla definida esto debido al traslape de los vecindarios De esta forma se determinoacute que la informacioacuten se mueve entre vecindarios permitiendo acelerar el proceso de crear nuevos comportamientos ad-hoc al problema que se esteacute solucionando y con una peacuterdida miacutenima de informacioacuten

El pseudocoacutedigo [algCellularGeneticAlgorithmPseudocode] es el estaacutendar de un AG celular En un primer paso se genera una poblacioacuten inicial de forma aleatoria ubicando cada individuo en un cruce de la topologiacutea de malla Esta poblacioacuten inicial se evaluacutea de acuerdo a la funcioacuten objetivo del problema a resolver Posteriormente da inicio el ciclo reproductivo principal Se define un vecindario local con individuos ubicados de forma cercana A partir de eacutestos y del individuo ubicado en el cruce de la malla se seleccionan a los padres para reproducirse Existen distintos meacutetodos de seleccioacuten que se utilizan en los AG celulares Se pueden utilizar los que comuacutenmente se aplican en los AGs con poblaciones centralizadas como el torneo binario ruleta o seleccioacuten determinista Existen tambieacuten otros meacutetodos especiacuteficos a los AG celulares como son la seleccioacuten ceacutentrica o anisotroacutepica Una vez seleccionados los padres se recombinan y los hijos se mutan No hay diferencia entre la aplicacioacuten de los operadores de recombinacioacuten y mutacioacuten con respecto a los AG tradicionales

n

Debido a la descentralizacioacuten de la poblacioacuten el reemplazo de eacutesta puede ocurrir de forma siacutencrona o asiacutencrona El reemplazo asiacutencrono requiere del almacenaje temporal de la poblacioacuten hasta que todos los individuos concluyen su ciclo reproductivo El reemplazo siacutencrono requiere de la definicioacuten del criterio para implementarla Los distintos criterios que se han utilizado para el reemplazo se explicaraacuten en la sub-seccioacuten 24

poblacioacuten inicial evaluacioacuten seleccioacuten de padres vecinario L5 recombinacioacuten mutacioacuten evaluacioacuten reemplazo

Explotacioacutenexploracioacuten por propiedades estructurales Debido a la descentralizacioacuten de la poblacioacuten y la definicioacuten de una topologiacutea de malla las caracteriacutesticas estructurales de los AG celulares tienen un impacto importante en los procesos de buacutesqueda La forma y la dimensioacuten de la topologiacutea el nuacutemero de individuos dentro del vecindario entre otras son caracteriacutesticas de la estructura que necesitan definirse Ademaacutes otras operaciones durante el ciclo evolutivo como el proceso de seleccioacuten local el reemplazo de individuos criterios de migracioacuten entre otras estaacuten tambieacuten asociadas a estas caracteriacutesticas de estructura

La topologiacutea de malla que es comuacutenmente utilizada en los AG celulares se muestra en la figura 2 Se ha reportado que distintas formas de malla en combinacioacuten con distintos tipos de vecindarios inducen una mayor o menor presioacuten de seleccioacuten Para modelar el efecto de ambas estructuras se utiliza un patroacuten de dispersioacuten con puntos (la posicioacuten de cada solucioacuten en la malla) a partir de una posicioacuten central con coordenadas Se calcula la medida de dispersioacuten debido a que otras medidas como el radio de una circunferencia indicariacutea el mismo valor para topologiacuteas distintas La relacioacuten entre el vecindario y la topologiacutea o radii se calcula de la siguiente forma

donde y La razoacuten o radii entre el vecindario y la topologiacutea de

malla estaacute dada por

(x) larr random(x0) (f ) larr evaluat ion(x)(f1 f2) larr seleccion(f fN fE fS fW)(x1 x2) larr seleccion(x xN xE xS xW) (x prime1 x prime2 ) larr recombinacion(x prime1 x prime 2 )

(x1Prime x2Prime) larr mutacion(x prime1 x prime2 ) (fnew) larr evaluacion(x1Prime x2Prime)(f x) larr reemplazo(fnew xnew)

p(x0 y0)

D =sum (xi minus x)2 + sum (yi minus y)2

p

(x ) =sump

i=1 xi

p (y) =sump

i=1 yi

p

Esta medida se conoce como la razoacuten vecindario-malla (RVM) Formas y tamantildeos diferentes de vecindarios y topologiacuteas proporcionan una medida distinta de RVM ver figura 4

Ejemplos de formas de vecindarios y topologiacuteas de malla

NGR =Dvecindario

Dmalla

Razoacuten vecindario-malla para diferentes topologiacuteas de malla y tamantildeos de poblacioacuten con un vecindario L5

[figL5_variableLattice]

Una topologiacutea de malla cuadrada con un vecindario es una configuracioacuten comuacutenmente utilizada en la implementacioacuten de AG celulares En la figura [figL5_variableLattice] la razoacuten vecindario-malla se ilustra para distintos tamantildeos de poblacioacuten con vecindario Tres formas de malla se evaluacutean cuadrada rectangular y lineal Las curvas de la RVM muestran razones altas para mallas cuadradas y razones bajas para topologiacuteas lineales La RVM se asocia a la presioacuten de seleccioacuten inducida en AG celulares debido a sus caracteriacutesticas estructurales Para comprender esto de mejor manera otro concepto importante es necesario el nuacutemero de generaciones que toma al mejor individuo de una poblacioacuten inicial esparcir su solucioacuten en todas las direcciones de la topologiacutea de malla es decir conquistarla a partir de aplicar uacutenicamente el operador de seleccioacuten Un nuacutemero de generaciones alto indica una baja presioacuten de seleccioacuten es decir una buacutesqueda principalmente explorativa Por el contrario un nuacutemero de reducido de generaciones implica una alta presioacuten de seleccioacuten y por tanto una buacutesqueda orientada a la explotacioacuten del espacio de buacutesqueda

L5

L5

Los AG celulares son teacutecnicas flexibles con un nuacutemero de paraacutemetros que pueden configurarse Por ejemplo es posible pensar en modificar en tiempo de buacutesqueda las topologiacuteas de malla tamantildeos y formas de vecindarios como una forma de control de la presioacuten de seleccioacuten inducida Las modificaciones de la configuracioacuten pueden realizarse de manera constante definiendo un nuacutemero de generaciones o bien de forma adaptativa midiendo generacioacuten a generacioacuten el comportamiento por ejemplo de la diversidad en el espacio de fenotipos y genotipos modificando entonces las configuraciones de estructura de manera que se promueva la exploracioacuten o la explotacioacuten del espacio de buacutesqueda

Presioacuten de seleccioacuten por caracteriacutesticas estructurales

El matemaacutetico belga Pierre Verhulst en el siglo XIX estudioacute modelos logiacutesticos de crecimiento para describir sistemas bioloacutegicos bajo condiciones de recursos limitados Considerando una poblacioacuten en panmixia de cierto tamantildeo y un nuacutemero de copias del mejor individuo en un tiempo discreto dado por la tasa de crecimiento se expresa a traveacutes del siguiente modelo de recurrencia discreto

$$beginaligned

N left( 0 right) = 1 quad quad quad quad quad quad quad quad quad quad quad quad notag

N left( t right) = N left( t - 1 right) + p_s tamPob N left(t-1right) left(1 - left(frac1tamPobright) N left(t-1right)right)endaligned$$

donde es la probabilidad de seleccioacuten de un individuo y se puede aproximar por la ecuacioacuten logiacutestica continua

donde es la probabilidad Aunque se obtienen curvas de crecimiento similares el comportamiento en poblaciones estructuradas o descentralizadas no es exponencial sino polinomial como fue sugerido por Spiessen y Manderick in De este modo las caracteriacutesticas estructurales necesitan considerarse en el modelo matemaacutetico de la tasa de crecimiento para AG celulares Si se evaluacutea un caso liacutemite donde el mejor individuo dentro del vecindario se selecciona siempre para reemplazar al individuo actual o central (al vecindario) es decir

tamPobt N(t)

ps N(t)

N(t) =tamPob

1 + ( tamPobN(0) minus 1)eminusαt

α ps

ps = 1

y se define un tamantildeo de poblacioacuten donde determina una topologiacutea de malla cuadrada y un vecindario local con radio La tasa de crecimiento del mejor individuo estaacute dada por

$$beginaligned

N left( 0 right) = 1 quad quad quad quad quad quad quad quad quad quad quad quad notag

N left( t right) = N left( t-1 right) + 4r^2t - 2rleft( r+1 right) quad 0 leq t leq fracleft(sqrttamPob-1right)2

N left( t right) = N left( t-1 right) - 4r^2t + 4r sqrttamPob - 2rleft(r+1right) quad t geq fracleft(sqrttamPob-1right)2 notagendaligned$$

que en su forma cerrada queda como

$$beginaligned

N left( t right) = 2r^2t^2 + 2r left(2r + 1 right)t + 1 quad 0 leq t leq fracleft(sqrttamPob-1right)2

N left( t right) = -2r^2t^2 + 2rleft(2sqrttamPob - 3r - 1 right)t + 1 quad t geq fracleft(sqrttamPob-1right)2 notagendaligned$$

En la figura 5 se ilustra la razoacuten de crecimiento para una poblacioacuten de individuos con un vecindario local tipo ver figura 4

Tasa de crecimiento teoacuterica en una topologiacutea de malla toroidal cuadrada y un vecindario local tipo Moore con probabilidad de seleccioacuten

Si se considera la probabilidad variable y cada individuo tiene probabilidades de seleccioacuten distintas probabilidad para el individuo central y para cada individuo dentro de un vecindario tipo El modelado de la recurrencia exacta se vuelve muy complicado Para poder construir un modelo completo se recurre a modelos maacutes simples en donde la tasa de crecimiento se describe como la expansioacuten de un cuadrado rotado con una

tamPob tamPob times tamPobr

81C9

ps = 1

psp0 p1 p2 p3 p4 p8

C9

longitud por lado de y diagonal La tasa de crecimiento de los

individuos con probabilidad variable contenidos dentro del cuadrado rotado estaacute dada por la siguiente recurrencia

$$beginaligned

N left( 0 right) = 1 quad quad quad quad quad quad quad quad quad quad quad quad notag

N left( t right) = N left( t-1 right) + 4p_i sqrtfracNleft(t-1right)2 quad N left( t right) leq fractamPob2

N left( t right) = N left( t-1 right) + 4p_i sqrttamPob - N left( t-1 right) quad N left( t right) gt fractamPob2 notagendaligned$$

Encontrar una forma cerrada de este modelo es una tarea complicada de acuerdo a autores reconocidos del aacuterea En la figura 6 se muestra la tasa de crecimiento probabilista como ejemplo de la dificultad que representa su modelado matemaacutetico

Tasa de crecimiento probabilista para una topologiacutea de malla toroidal cuadrada con vecindario local y probabilidad de seleccioacuten variable

Anaacutelisis empiacuterico

Es posible tener una aproximacioacuten empiacuterica del tiempo para el dominio de la topologiacutea de malla A continuacioacuten se presenta un ejemplo utilizando como meacutetodo de seleccioacuten local torneo binario y ejecuciones por configuracioacuten fueron evaluadas En la figura [figL5_growthRates] se muestran las distintas tasas de crecimiento para la conquista de la malla considerando un tamantildeo de la poblacioacuten de individuos con las siguientes formas de topologiacutea de malla 1)

cuadrada 2) rectangular y 3) lineal La diferencia entre los

tiempos de dominio es evidente Topologiacuteas de malla lineales proveen una difusioacuten maacutes lenta del

s = N(t) d =N(t)

2pi

ps

50

400

400 times 400 10 times40010

4 times400

4

mejor individuo para conquistar la malla y por ende menor presioacuten de seleccioacuten y un comportamiento principalmente explorativo Por otro lado en topologiacuteas de malla cuadradas la solucioacuten del mejor individuo conquista la malla raacutepidamente en un nuacutemero menor de generaciones Es decir tiene un comportamiento con alta presioacuten de seleccioacuten y por ende una buacutesqueda caracterizada por una mayor explotacioacuten del espacio de buacutesqueda Desde este punto de vista se ha investigado tambieacuten la posibilidad de modificacioacuten dinaacutemica de las propiedades estructurales en tiempo de buacutesqueda Se han reportado mejores desempentildeos algoriacutetmicos bajo estos criterios

Tasas de crecimiento promedio del mejor individuo en topologiacuteas de malla cuadrada rectangular y lineal con vecindario La tasa promedio de crecimiento se calcula con base en 50 experimentos y aplicando uacutenicamente el operador de seleccioacuten

[figL5_growthRates]

Aceleracioacuten en AGP Un tema controversial en AGPs son las aceleraciones que esquemas distribuidos y celulares pueden alcanzar El caacutelculo teoacuterico de estas aceleraciones es una medida aceptada para determinar su eficiencia Calcular la razoacuten entre el tiempo promedio de ejecucioacuten de la mejor versioacuten secuencial de un AG y otra teacutecnica de buacutesqueda no evolutiva con respecto al tiempo

L5

promedio de ejecucioacuten de un AG paralelo corriendo en un determinado nuacutemero de procesadores proporciona la aceleracioacuten alcanzada por este uacuteltimo Aceleraciones sub-lineales indican que esta razoacuten es menor que el nuacutemero de procesadores utilizados en la ejecucioacuten del AGP Aceleraciones lineales indican que esta relacioacuten es igual mientras aceleraciones super-lineales indican que la razoacuten es mayor que el nuacutemero de procesadores utilizados

Un medida estricta para medir las aceleraciones de los AGPs involucrariacutea una comparacioacuten con la mejor versioacuten secuencial de un AG lo cual es difiacutecil de determinar Considerar el desempentildeo de un AG secuencial como referencia en conjunto con una condicioacuten de paro que evaluacutee la misma calidad de soluciones en todas las muestras experimentales podriacutea permitir una comparacioacuten justa en teacuterminos de aceleracioacuten entre esquemas paralelos y secuenciales

Los AGPs tienen tres caracteriacutesticas que permiten su aceleracioacuten 1) dividir el espacio de buacutesqueda en diversas aacutereas de exploracioacuten implementadas en distintas unidades de procesamiento 2) reducir la carga de procesamiento por medio de la distribucioacuten de la poblacioacuten en un nuacutemero de unidades de procesamiento y 3) operadores geneacuteticos aplicados a estructuras de datos reducidas

Al analizar comparativamente las tasas de aceleracioacuten de los AG distribuidos con sub-poblaciones en panmixia en comparacioacuten con el desempentildeo de un AG secuencial las aceleraciones calculadas resultan excesivas Sin embargo cuando se considera la distribucioacuten de las sub-poblaciones en un nuacutemero de unidades de procesamiento las tasas de aceleracioacuten son moderadas

Una de las caracteriacutesticas maacutes importantes en los AGPs es el operador de migracioacuten Analizar el comportamiento de este operador bajo distintos criterios como la sincroniacutea o asincroniacutea de migrar individuos entre las sub-poblaciones afecta directamente el desempentildeo de la buacutesqueda Entre los comportamientos con importancia significativa se ha observado que utilizar bajas frecuencias de migracioacuten en combinacioacuten con una comunicacioacuten asiacutencrona entre sub-poblaciones permite una mayor aceleracioacuten Este resultado considera sub-poblaciones en panmixia con la misma configuracioacuten de paraacutemetros

Concepto de sincronismo en AGPs En los AGPs tanto distribuidos como celulares el concepto de sincroniacutea aplica de forma distinta En un AGP distribuido el operador de migracioacuten estaacute directamente relacionado con la comunicacioacuten entre sub-poblaciones y por ende la sincroniacutea con que eacutesta ocurre Por otro lado en AGP de grano fino o celulares la sincroniacutea estaacute relacionada con la actualizacioacuten de soluciones durante el proceso evolutivo Esto se explica a continuacioacuten a mayor detalle

En AGPs distribuidos viacutea migracioacuten

Varios autores han investigado el efecto del sincronismo a traveacutes de la migracioacuten de individuos entre sub-poblaciones Se han considerado varios escenarios tales como tener un conjunto de sub-poblaciones en panmixia y tener sub-poblaciones descentralizadas un tercer escenario que se ha considerado es tener una combinacioacuten de sub-poblaciones en panmixia y descentralizadas Los tres esquemas han sido evaluados no soacutelo a nivel algoriacutetmico sino de implementacioacuten en plataformas de coacutemputo para procesamiento paralelo

Utilizando un esquema de procesamiento de instrucciones muacuteltiples - datos muacuteltiples con un esquema homogeacuteneo de sub-poblaciones se verificoacute el comportamiento de distintas frecuencias de migracioacuten definidas como muacuteltiplos del tamantildeo de la poblacioacuten Esto representa que la migracioacuten es nula cuando la frecuencia es cero lo que implica que la evolucioacuten es independiente de las sub-poblaciones Localmente los operadores geneacuteticos fueron configurados de la misma forma En general los resultados mostraron un mejor desempentildeo cuando la comunicacioacuten entre sub-poblaciones es asiacutencrona y la frecuencia de migracioacuten es baja En este sentido el tener sub-poblaciones descentralizadas permite una mejor eficacia que cuando se tienen sub-poblaciones en panmixia Las tasas de aceleracioacuten tambieacuten se analizaron Bajas frecuencias de migracioacuten reportaron aceleraciones lineales para sub-poblaciones descentralizadas y super-lineales para sub-poblaciones en panmixia

Se ha podido verificar el funcionamiento de los AGPs ampliando la gama de problemas de prueba a aquellos del dominio continuo El uso de un esquema paralelo distribuido con sub-poblaciones en panmixia y un ciclo evolutivo de estado estable donde solamente una solucioacuten se actualiza en cada generacioacuten logroacute obtener soluciones de mejor calidad Ademaacutes de la influencia de la frecuencia con la que se ejecuta la operacioacuten de migracioacuten la seleccioacuten aleatoria de individuos migrantes demostroacute tambieacuten un mejor desempentildeo que la seleccioacuten de los mejores individuos para migrar El mejor desempentildeo continuacutea siendo a partir de la aplicacioacuten de frecuencias de migracioacuten bajas ahora en combinacioacuten con la seleccioacuten aleatoria de soluciones para migrar En problemas de optimizacioacuten en el dominio continuo con oacuteptimos locales engantildeosos en sus espacios de buacutesqueda los esquemas de sub-poblaciones descentralizadas superaron el desempentildeo de aquellos con sub-poblaciones en panmixia ademaacutes de responder mejor a frecuencias de migracioacuten altas Las tasas de aceleracioacuten tambieacuten se relacionan con la operacioacuten de la migracioacuten a frecuencias de migracioacuten alta se obtienen mayores tasas de aceleracioacuten en ambos esquemas poblacionales

Es posible tambieacuten considerar un esquema de AGPs con sub-poblaciones tanto en panmixia como descentralizadas utilizando un esquema de coacutemputo heterogeacuteneo distribuido Las tasas de

aceleracioacuten que se alcanzan en estos caso son super-lineales viacutea el esquema sub-poblacional mixto

En AGP celulares viacutea criterios de actualizacioacuten

En los AGPs de grano fino o celulares el concepto de sincronismo se asocia a los criterios de actualizacioacuten de las soluciones Se consideran diversos escenarios como son 1) barrido liacutenea a liacutenea 2) barrido fijo aleatorio 3) barrido aleatorio 4) seleccioacuten uniforme Cada unos de estos criterios de actualizacioacuten de soluciones se puede ejecutar de manera siacutencrona o asiacutencrona La actualizacioacuten siacutencrona se refiere a que la poblacioacuten completa se genera a partir de los individuos actuales En contraste la actualizacioacuten asiacutencrona quiere decir que los individuos se actualizan despueacutes de su proceso evolutivo a nivel local entonces los individuos en una generacioacuten han evolucionado de hijos generados durante esta

El barrido liacutenea a liacutenea es la forma maacutes sencilla de actualizar soluciones en una topologiacutea de malla con conexioacuten toroidal Haciendo el barrido secuencial de ubicacioacuten de las soluciones por liacutenea o por columna se ejecuta la actualizacioacuten de estas El barrido aleatorio fijo consiste en elegir de forma aleatoria una solucioacuten sin reemplazo con una probabilidad uniforme En cada generacioacuten se determina una distribucioacuten diferente para la actualizacioacuten de los individuos La actualizacioacuten uniforme elige de forma aleatoria con una probabilidad uniforme una solucioacuten con reemplazo Esto quiere decir que una solucioacuten puede ser actualizada maacutes de una vez en un mismo ciclo reproductivo

Tambieacuten se ha buscado modelar formalmente el comportamiento de los distintos criterios de actualizacioacuten de soluciones considerando ambos criterios de sincronismo Los criterios siacutencronos de actualizacioacuten presentan menores tasas de crecimiento de la mejor solucioacuten en la topologiacutea de malla Es decir la buacutesqueda se ejecuta promoviendo la exploracioacuten cuando se sigue un criterio de actualizacioacuten uniforme Aplicar un barrido aleatorio o lineal para la actualizacioacuten de soluciones representa tasas maacutes altas de crecimiento pero no alcanza a aquellas de las poblaciones en panmixia La principal caracteriacutestica que se aprecia es que las poblaciones en panmixia promueven la explotacioacuten del espacio de buacutesqueda en mayor grado que los AGPs descentralizados o celulares

Finalmente se puede concluir despueacutes de la evaluacioacuten de los criterios siacutencronos y asiacutencronos en una variedad de problemas de optimizacioacuten combinatorios y del dominio continuo que la actualizacioacuten asiacutencrona de soluciones mejora el desempentildeo algoriacutetmico en teacuterminos de eficiencia y eficacia en comparacioacuten con el criterio asiacutencrono en teacuterminos del nuacutemero de generaciones necesarias para converger a la solucioacuten del problema

Discusioacuten En este capiacutetulo se presentaron los distintos esquemas poblaciones que se consideran en la paralelizacioacuten de los AGs Se introdujo el principal operador que distingue a estos esquemas evolutivos el operador de migracioacuten y su efecto en los procesos de buacutesqueda Tambieacuten se introdujeron de manera detallada los esquemas paralelos de AGs de grano fino o celulares y la manera en que las caracteriacutesticas estructurales de estos pueden afectar directamente la exploracioacuten y explotacioacuten del espacio de buacutesqueda Se abordoacute tambieacuten el tema de las aceleraciones que se pueden alcanzar viacutea la paralelizacioacuten de grano fino y grueso de los AGPs Este anaacutelisis incluye los escenarios teoacutericos y reales de las tasas de aceleracioacuten que se pueden alcanzar Finalmente se revisoacute el concepto de sincronismo en ambos esquemas de paralelizacioacuten el cual se observoacute que afecta de manera positiva el desempentildeo algoriacutetmico

Los esquemas paralelos de los algoritmos geneacuteticos permiten obtener un mejor desempentildeo de los procesos de buacutesqueda Sin embargo se debe considerar una serie de paraacutemetros que se necesitan definir y que requeriraacuten la intervencioacuten de un usuario Es importante destacar tambieacuten que la mejora en el desempentildeo se puede apreciar tanto a nivel algoriacutetmico como a nivel de procesamiento Es necesario tambieacuten indicar que la seleccioacuten de la plataforma de coacutemputo paralelo ya sea distribuida o no implicaraacute costos de comunicacioacuten que deben ser considerados para las tasas de aceleracioacuten que se pretendan alcanzar

Investigacioacuten de AGPs en Meacutexico En Meacutexico investigadoras e investigadores en distintas instituciones y centros de investigacioacuten se han dado a la tarea de explorar esquemas evolutivos que utilizan AGPs Por ejemplo esquemas de AGPs de grano fino para solucionar problemas de optimizacioacuten mono-objetivo sin restricciones y problemas combinatorios han sido desarrollados en El objetivo en esos trabajos es el estudio del efecto de las caracteriacutesticas estructurales en las topologiacuteas de poblacioacuten descentralizadas utilizando mallas conectadas de forma toroidal Distintos criterios fueron definidos para modificar en tiempo de buacutesqueda la forma de la topologiacutea y sin incrementar el costo computacional verificar la mejora del desempentildeo algoriacutetmico al evaluar una cama prueba con problemas mono-objetivo sin restricciones y combinatorios Los resultados obtenidos fueron alentadores y a partir de estos se extendioacute el estudio de las propiedades estructurales a manipular tambieacuten la dimensioacuten de la topologiacutea de malla y modificarla en tiempo de buacutesqueda resultados positivos de este estudio fueron reportados en

Debido al costo computacional de los AGs en general la aceleracioacuten de estos utilizando plataformas de coacutemputo especializadas ha sido un aacuterea de investigacioacuten tambieacuten desarrollada en Meacutexico Particularmente el disentildeo e implementacioacuten de un arreglo de procesadores flexible para

la aceleracioacuten de los AGs celulares utilizando dispositivos reconfigurables conocidos como arreglos de compuertas programables en el campo (FPGAs por sus siglas en Ingleacutes) se reportoacute en Este trabajo presenta una forma novedosa de dividir a la poblacioacuten descentralizada en un nuacutemero determinado de unidades de procesamiento especialmente disentildeadas para operadores evolutivos manteniendo las conexiones toroidales entre soluciones La flexibilidad del disentildeo consiste en poder definir de acuerdo a las necesidades de usuario el nuacutemero de unidades de procesamiento De este modo un nuacutemero mayor de unidades de procesamiento permitiraacute acelerar la ejecucioacuten del algoritmo y un nuacutemero menor de estas permitiraacute reducir el uso de recursos de hardware

En el aacutembito de la optimizacioacuten multi-objetivo desde la perspectiva del coacutemputo evolutivo utilizando esquemas poblacionales paralelos investigadores en Meacutexico han desarrollado un esquema con base en algoritmos geneacuteticos utilizando muacuteltiples resoluciones La propuesta algoriacutetmica llamada Algoritmo geneacutetico multi-objetivo con resolucioacuten muacuteltiple (MRMOGA por sus siglas en Ingleacutes) consiste de un conjunto de sub-poblaciones las cuales a nivel representacioacuten de soluciones evolucionan con resoluciones distintas lo cual implica la divisioacuten del espacio de buacutesqueda en regiones acotadas y traslapadas El desempentildeo alcanzado por MRMOGA supera los resultados reportados en esquemas evolutivos paralelos en teacuterminos de convergencia y evidencia la necesidad de profundizar el estudio de la escalabilidad de esquemas evolutivos paralelos

Para saber maacutes Dentro de la comunidad cientiacutefica dedicada a la investigacioacuten en las aacutereas de las teacutecnicas algoriacutetmicas evolutivas que desarrollan el concepto de paralelismo se han generado recursos bibliograacuteficos diversos de entre los cuales destacan

bull Algoritmos geneacuteticos paralelos por Gabriel Luque y Enrique Alba

bull Algoritmos evolutivos estructurados espacialmente por Marco Tomassini

bull Algoritmos geneacuteticos celulares por Bernabeacute Dorronsoro y Enrique Alba

bull Algoritmos geneacuteticos paralelos eficientes y precisos por Erick Cantuacute-Paz

Por otro lado entre los grupos de investigacioacuten que se desarrollan en el aacuterea destaca el liderado por el investigador Enrique Alba de la Universidad de Maacutelaga en Espantildea quien en colaboracioacuten con otros investigadores y estudiantes a puesto a disposicioacuten una serie de recursos relacionados en En particular en la seccioacuten de software se encuentran disponibles herramientas para el

disentildeo e implementacioacuten de algoritmos evolutivos paralelos tanto de grano grueso como de grano fino

Programacioacuten Geneacutetica Mario Graff

Daniela Moctezuma

Eric S Tellez

Sabino Miranda-Jimeacutenez

INFOTEC Centro de Investigacioacuten e Innovacioacuten en Tecnologiacuteas de la Informacioacuten y Comunicacioacuten Circuito Tecnopolo Sur No 112 Fracc Tecnopolo Pocitos II Aguascalientes

20313 Meacutexico CentroGEO Centro de Investigacioacuten en Ciencias de Informacioacuten Geoespacial Circuito

Tecnopolo Norte No 117 Col Tecnopolo Pocitos II CP Aguascalientes Ags 20313 Meacutexico CONACyT Consejo Nacional de Ciencia y Tecnologiacutea Direccioacuten de Caacutetedras Insurgentes Sur

1582 Creacutedito Constructor Ciudad de Meacutexico 03940 Meacutexico

Introduccioacuten En este capiacutetulo se presenta una introduccioacuten a Programacioacuten Geneacutetica (PG) asiacute como la descripcioacuten de cada uno de los aspectos que la comprenden las perspectivas de este campo y las aacutereas donde se ha aplicado en Meacutexico PG es un algoritmo de buacutesqueda inspirado en los principios de la evolucioacuten de las especies de Charles Darwin (ver ) Particularmente PG engloba a un conjunto de teacutecnicas de coacutemputo evolutivo las cuales tienen como objetivo solucionar automaacuteticamente problemas partiendo de ejemplos del problema por resolver a traveacutes de expresiones evaluables o programas

La Programacioacuten Geneacutetica ha sido ampliamente utilizada en diferentes dominios siendo capaz de resolver una gran variedad de problemas de alta complejidad muchas veces mejorando las soluciones encontradas por humanos Por ejemplo en la competencia ndashldquoHumies rdquo celebrada 2

anualmente en el marco de la Genetic and Evolutionary Computation Conference (GECCO) la cual premia sistemas bio-inspirados que mejoran las soluciones encontradas por humanos a problemas difiacuteciles mdashdesde 2004 y hasta 2017 PG ha sido galardonada con 8 medallas de oro 5 de plata y 1 de bronce En particular en esta competencia y utlizando PG Meacutexico ha obtenido

13

12

13

13

1

2

3

httpwwwhuman-competitiveorg2

una medalla de bronce En competencias de categorizacioacuten de texto se ha obtenido primer lugar en identificacioacuten de humor y en deteccioacuten de agresividad

En Meacutexico la PG ha sido estudiada y aplicada sobre una gran variedad de dominios empezando por aplicaciones tradicionales como el disentildeo de circuitos loacutegicos regresioacuten simboacutelica identificacioacuten de sistemas modelado de sistemas de manchas solares lluvia temperatura del agua turbinas de gas absorcioacuten de partiacuteculas medicioacuten de la capacidad de automovilistas para el manejo de vehiacuteculos sistemas caoacuteticos deteccioacuten de fallas en transformadores de potencia y modelado cualitativo de sistemas

La PG ha probado su efectividad con respecto a algoritmos tradicionales de aprendizaje de maacutequina en problemas como prediccioacuten de series de tiempo clasificacioacuten generacioacuten de ensambles de clasificadores generacioacuten de prototipos generacioacuten de heuriacutesticas navegacioacuten autoacutenoma generacioacuten de rejillas topograacuteficas y memorias asociativas En el aacuterea de procesamiento de lenguaje natural la PG ha sido utilizada para mejorar la representacioacuten del texto en un espacio vectorial aplicada a problemas de categorizacioacuten de texto en anaacutelisis de sentimientos intensidad de una emocioacuten identificacioacuten de humor y deteccioacuten de agresioacuten entre otras En al aacuterea de visioacuten computacional la PG ha servido para desarrollar nuevas representaciones siguiendo un enfoque de redes profundas representacioacuten de palabras visuales estimacioacuten de exponentes Houmllder en imaacutegenes deteccioacuten de puntos de intereacutes reconocimiento de objetos anaacutelisis de imaacutegenes hiper-espectrales y estimacioacuten de vegetacioacuten En el paiacutes tambieacuten se realiza investigacioacuten teoacuterico-praacutectica sobre la creacioacuten de modelos que permitan predecir su rendimiento como en meacutetodos de muestreo en la funcioacuten objetivo mejoras al algoritmo como en y control de coacutedigo superfluo El lector interesado en la teoriacutea de PG puede revisar los siguientes trabajos paradigmaacuteticos que son referentes indispensables sobre el tema

La idea detraacutes de la PG es evolucionar programas partiendo de una descripcioacuten de lo que debe hacer el programa Tradicionalmente esta descripcioacuten se realiza mediante un conjunto de pares de entrada-salida tal como se hariacutea con la descripcioacuten de una funcioacuten Esta descripcioacuten es similar a la usada en Aprendizaje Supervisado con la diferencia de que en PG no existen tipos definidos para las entradas y las salidas por otro lado en aprendizaje supervisado las entradas estaacuten en un espacio vectorial y su salida es un nuacutemero natural o real Utilizando esta descripcioacuten l a f u n c i o n a l i d a d d e u n p r o g r a m a s e d e f i n e c o m o e l c o n j u n t o donde representa la -eacutesima entrada y es su correspondiente salida En cierta forma la idea es encontrar un programa tal que aplicado a un conjunto de entradas se evaluacutee a las predicciones de tal forma que eacutestas se aproximen a los valores originales donde la similitud se mide por medio de una funcioacuten de aptitud Tal y como sucede en otros algoritmos de aprendizaje la efectividad de no estaraacute en aprender los datos de

119987 = (x0 y0) hellip (xi yi) hellip (xN yN) xi i yif

xi yiyi

f

entrenamiento sino en su capacidad de generalizar a entradas nunca antes vistas El procedimiento de aprendizaje y prediccioacuten se detallaraacute en el resto de este capiacutetulo

La PG comparte muchas similitudes con los Algoritmos Geneacuteticos (AG) De hecho se podriacutea decir que la PG es una generalizacioacuten del AG la diferencia radica en que la PG utiliza una representacioacuten variable para sus soluciones y el AG tiene una representacioacuten fija esta diferencia tiene varias implicaciones las cuales se veraacuten a detalle en el transcurso del capiacutetulo Por el momento veamos las similitudes que comparten ambos enfoques La PG es un algoritmo evolutivo poblacional es decir utiliza un conjunto de soluciones llamado poblacioacuten para hacer un muestreo del espacio de buacutesqueda La buacutesqueda es guiada mediante la seleccioacuten de individuos en la poblacioacuten y los operadores geneacuteticos como son la recombinacioacuten y la mutacioacuten se encargan de generar nuevos individuos es decir nuevos puntos en el espacio de buacutesqueda

El resto del capiacutetulo detalla un sistema de PG tiacutepico empezando por los tipos de evolucioacuten que pueden realizar (seccioacuten 2) la representacioacuten que se utiliza (seccioacuten 3) seguida por la creacioacuten de la poblacioacuten inicial (seccioacuten 4) los operadores que se utilizan para generar un individuo (seccioacuten 5) y finalmente las teacutecnica utilizada para hacer la seleccioacuten (seccioacuten 6)

Proceso evolutivo La evolucioacuten de la poblacioacuten de programas en la PG puede realizarse de dos maneras mediante una evolucioacuten generacional o mediante una evolucioacuten de estado estable Ambos tipos de evolucioacuten requieren una poblacioacuten inicial y la diferencia entre ellas radica en el uso de dicha poblacioacuten para generar individuos y la actualizacioacuten de la misma En la evolucioacuten generacional existen dos tipos de poblaciones la de los padres y la de los nuevos individuos La poblacioacuten de padres es utilizada para generar nuevos individuos y por lo general cuando la poblacioacuten de nuevos individuos tiene el mismo nuacutemero de elementos que la poblacioacuten de padres se procede a mezclar estas poblaciones para convertirse en la poblacioacuten de padres de la siguiente generacioacuten Por otro lado la evolucioacuten de estado estable no contempla esta diferencia entre poblacioacuten de padres y de nuevos individuos dado que el individuo generado reemplaza un individuo de la poblacioacuten actual

El algoritmo [alggeneracional] muestra el pseudocoacutedigo de la evolucioacuten generacional Como se habiacutea mencionado se requiere de una poblacioacuten inicial denominada la cual seraacute utilizada para generar individuos y seraacute actualizada mientras no se cumpla un establecido Lo primero que se observa en el algoritmo son dos ciclos anidados (liacuteneas 1 y 2) El primero itera hasta que se cumpla la condicioacuten de paro y el segundo se encarga de generar la poblacioacuten de hijos (liacutenea 3) Al final de este segundo ciclo se tienen dos poblaciones y

119979120226120267120258120269120254120267120258120264 120253120254 120239120250120267120264

119979h 119979

Estas dos poblaciones se combinan (liacutenea 5) para formar una nueva poblacioacuten utilizada en la siguiente generacioacuten La funcioacuten combina estas poblaciones y puede ser tan simple como seleccionar todo para reemplazar o pueden adoptarse estrategias maacutes complejas como remplazo con elitismo donde se realiza el remplazo pero se asegura que los mejores individuos de ambas poblaciones se preserven en la siguiente generacioacuten

[alggeneracional]

La evolucioacuten generacional es muy utilizada tanto en computacioacuten evolutiva como en PG Sin embargo hasta la fecha no existen ventajas teoacutericas para decidir utilizar un tipo de evolucioacuten sobre el otro Considerando lo anterior este capiacutetulo se enfocaraacute en el uso de evolucioacuten de estado estable debido a que su implementacioacuten es maacutes simple

El algoritmo [algestable] muestra el pseudocoacutedigo de una evolucioacuten de estado estable es utilizada para generar un individuo hijo mediante la aplicacioacuten de operadores geneacuteticos (linea 2) El hijo reemplaza (linea 4) a un elemento de que es seleccionado utilizando una seleccioacuten negativa es decir se selecciona un individuo con una aptitud baja (liacutenea 3) Este proceso continuacutea hasta que el criterio de paro es alcanzado Dicho criterio puede ser variado tal como alcanzar un nuacutemero maacuteximo de individuos generados convergencia de una funcioacuten de error encontrar una solucioacuten adecuada o suficiente entre otras opciones

hijo hijo

[algestable]

Representacioacuten Tomando en cuenta que el objetivo de PG es evolucionar programas es normal pensar que la PG evoluciona programas escritos en alguacuten lenguaje de programacioacuten pej Python utilizando un inteacuterprete o compilador y maacutequina que lo ejecute dependiendo del caso Aunque esto es factible y existen sistemas de PG que han seguido este camino no es lo maacutes comuacuten En este capiacutetulo seguimos una de las praacutecticas maacutes comunes popularizada en el libro de Koza la cual consiste en representar un programa utilizando un aacuterbol de expresioacuten Un aacuterbol de expresioacuten cuenta con tres nodos distintivos la raiacutez la cual es la salida de la expresioacuten los nodos internos y las hojas La funcioacuten de la raiacutez y los nodos internos es aplicar operaciones a sus hijos y las hojas

119979h 119979120236120254120275120252120261120250

119979h 119979

119979 119979h(i ) larr 120238120265120254120267120250120253120264120267120254120268 120230120254120263eacute120269120258120252120264120268(119979) 119979 larr 120236120254120275120252120261120250(119979 119979h) 119979

119979

119979

119979 larr 120238120265120254120267120250120253120264120267120254120268 120230120254120263eacute120269120258120252120264120268(119979) k larr 120242120254120261120254120252120252120258oacute120263 120237120254120256120250120269120258120271120250(119979) 119979(k) larr 119979

representan las entradas ya sean variables o constantes Un ejemplo de un aacuterbol de expresioacuten se muestra en la figura [figexpresion] donde la expresioacuten es representada en el aacuterbol

Los aacuterboles de expresiones se forman partiendo de dos conjuntos uno de terminales que contiene las variables constantes y funciones sin argumentos y otro de funciones que contiene las funciones u operadores que reciben argumentos Por ejemplo en una regresioacuten simboacutelica la cual consiste en encontrar la funcioacuten que maacutes se asemeja a una serie de puntos el conjunto de terminales podriacutea ser donde es la variable independiente y r epresen ta un nuacutemero a lea tor io y e l conjunto de func iones podr iacutea se r Continuando con este ejemplo se puede observar que la expresioacuten representada en la figura [figexpresion] pudo haber sido generada con los mencionados conjuntos de terminales y funciones

Una codificacioacuten simple de un aacuterbol de expresioacuten puede ser representado en un arreglo o una lista es decir un aacuterbol de expresioacuten puede estar codificado de manera lineal Esta codificacioacuten se logra recorriendo el aacuterbol a lo profundo Por ejemplo la expresioacuten representada en la figura [figexpresion] puede ser representada como Esta codificacioacuten seraacute la utilizada en este capiacutetulo para representar los aacuterboles de expresiones

Dado un aacuterbol de expresioacuten se requiere tener un procedimiento para su evaluacioacuten Dicho procedimiento se muestra en el algoritmo [algevaluacion] Evaluacioacuten el cual recibe como entrada un aacuterbol de expresioacuten representado en una estructura de datos lineal como un arreglo o lista La expresioacuten es codificada en donde es la i-eacutesima posicioacuten e es una variable global Evaluacioacuten es una funcioacuten recursiva donde la recursioacuten termina cuando es una constante o variable (ver liacuteneas 15-19) Cuando es una funcioacuten (vg ) liacutenea 1 se debe de conocer la cantidad de argumentos que requiere linea 3 y empieza la recursioacuten En caso de que requiera un argumento liacuteneas 4-7 se incrementa la posicioacuten en uno y se llama a Evaluacioacuten terminando con la evaluacioacuten de la funcioacuten en el valor regresado en la recursioacuten Para maacutes argumentos liacuteneas 9-14 se invoca Evaluacioacuten tantas veces como argumentos requiera la funcioacuten y el valor es guardado en una estructura que podriacutea ser un arreglo o lista La liacutenea 14 evaluacutea la funcioacuten vg en los argumentos Por ejemplo sea la suma entonces la liacutenea 14 realizariacutea

el valor de la variable la constante

[algevaluacion]

x + xsin(934x)

119983ℱ

119983 = x real x real

ℱ = + minus sdot sin cos

( + x x sin times 934 x)

x xi ixi

xi xi isin ℱ

ixi

w fxi w f w0 + w1

x i f larr xi d larr 120250120267120256120270120262120254120263120269120264120268( f ) i larr i + 1 w larr 120228120271120250120261120270120250120252120258oacute120263(x) f (w) w i larr i + 1wj larr 120228120271120250120261120270120250120252120258oacute120263(x) f (w) xi xi

Poblacioacuten inicial Una vez descrita la representacioacuten que tendraacuten los individuos dentro de la poblacioacuten por medio de aacuterboles de expresiones la codificacioacuten de eacutestos mediante una estructura de datos lineal y el pseudocoacutedigo para evaluar un individuo ya es posible describir el procedimiento para crear la poblacioacuten inicial

En PG existen dos procedimientos tradicionales para generar un individuo 1) generar un aacuterbol de expresiones balanceado (Full) o 2) generar un aacuterbol desbalanceado (Grow) ambos se definen con una altura maacutexima La definicioacuten de un aacuterbol balanceado es aquel donde los hijos de cualquier nodo tienen siempre la misma altura La figura [figtipos-de-arbol] muestra un aacuterbol balanceado y un aacuterbol no balanceado En la figura [figbalanceado] se observa coacutemo la definicioacuten de balanceo solo considera la altura sin importar el nuacutemero de nodos Por ejemplo la raiacutez tiene tres nodos en su hijo izquierdo y dos nodos en su hijo derecho y es un aacuterbol balanceado

Estos dos procedimientos para generar un individuo comparten muchas similitudes Por esta razoacuten el algoritmo [algcreacion-individuo] presenta ambos procedimientos decidiendo cuaacutel utilizar mediante una bandera El proceso de generar un individuo utiliza el conjunto de funciones y terminales y la altura deseada Eacuteste es un procedimiento recursivo donde la recursioacuten termina cuando la altura llega a su valor miacutenimo (liacuteneas 1-3) o en el caso en que se utilice el meacutetodo desbalanceado (liacuteneas 3-5) y un nuacutemero aleatorio sea menor que

Si ninguna de las dos condiciones se cumplen empieza la recursioacuten primero

decrementando (liacutenea 6) despueacutes seleccionando de manera aleatoria una funcioacuten del conjunto (liacutenea 7) y contando sus argumentos (liacutenea 8) La estructura definida en la liacutenea 9 es la encargada de guardar los componentes de la regresioacuten Dicha estructura podriacutea ser una lista o un conjunto que mantiene el orden de insercioacuten El procedimiento continuacutea creando un ciclo del nuacutemero de argumentos (liacuteneas 10-12) donde se hace la recursioacuten y el resultado de la recursioacuten se antildeade a liacutenea 11 Finalmente el individuo creado estaacute en y se regresa en la liacutenea 13

[algcreacion-individuo]

Es probable que uno de los meacutetodos maacutes tradicionales para crear la poblacioacuten inicial sea el meacutetodo ramped half-and-half propuesto por Koza el cual consiste en construir la mitad de la poblacioacuten utilizando un meacutetodo balanceado y la otra mitad utilizando un meacutetodo desbalanceado

120236eacute120269120264120253120264h

h = 0

∣ 119983 ∣∣ 119983 ∣ + ∣ ℱ ∣

hℱ w

w w

ℱ 119983 h 120236eacute120269120264120253120264 x isin 119983 x isin 119983 h larr h minus 1 f isin ℱ d larr 120250120267120256120270120262120254120263120269120264120268( f ) w = [ f ]w larr w cup 120226120267120254120250120252120258oacute120263 120253120254 120232120263120253120258120271120258120253120270120264(h 120236eacute120269120264120253120264) w

Ademaacutes de lo anterior la altura del aacuterbol variacutea desde un valor de altura miacutenima hasta un valor maacuteximo de manera lineal tomando en cuenta el tamantildeo de la poblacioacuten

Operadores Geneacuteticos Habiendo descrito dos procedimientos para la creacioacuten de la poblacioacuten inicial es tiempo de introducir los operadores geneacuteticos que permitiraacuten la creacioacuten de nuevos individuos basados en la poblacioacuten actual En PG se acostumbra tener dos operadores geneacuteticos mutacioacuten (ver Seccioacuten 52) y recombinacioacuten (ver Seccioacuten 51) que a diferencia del AG son excluyentes y seleccionados de manera aleatoria

El algoritmo [algoperadores-geneticos] muestra el procedimiento para generar un individuo utilizando mutacioacuten y recombinacioacuten Lo primero que se realiza es la seleccioacuten de los individuos que serviraacuten como padres en este proceso (liacutenea 1 y liacutenea 3) Esto es seguido por la decisioacuten de generar un individuo mediante mutacioacuten o recombinacioacuten la cual se realiza de manera aleatoria y se controla con un paraacutemetro la probabilidad de recombinacioacuten (liacutenea 2) En caso de aplicarse recombinacioacuten se requieren dos elementos (liacutenea 4) y en el caso de mutacioacuten solamente se requiere un elemento (liacutenea 6)

[algoperadores-geneticos]

Recombinacioacuten La recombinacioacuten es la operacioacuten geneacutetica que toma dos individuos de la poblacioacuten denominados padres y los combina para generar un nuevo individuo Tomando en cuenta que los individuos son aacuterboles de expresiones entonces la recombinacioacuten se plantea como la generacioacuten de un nuevo aacuterbol de expresioacuten La idea es escoger en cada aacuterbol un punto de recombinacioacuten e intercambiar los subaacuterboles cuya raiacutez sean dichos puntos de recombinacioacuten

La figura [figrecombinacion] muestra el procedimiento de recombinacioacuten En dicha figura los dos padres son los primeros dos aacuterboles de la izquierda ver figuras [figpadre1] y [figpadre2] El nuevo individuo es el aacuterbol de la derecha ver figura [fighijo] es comuacuten llamar hijo al producto de la recombinacioacuten Los nodos de color azul representan los puntos de recombinacioacuten siendo el procedimiento para generar un nuevo individuo el cambiar los subaacuterboles cuya raiacutez son los nodos en azul En particular aquiacute se crea solamente un individuo el cual es generado al reemplazar el subaacuterbol del primer padre por el subaacuterbol del segundo padre

pxo

119979 a larr 120242120254120261120254120252120252120258oacute120263(119979) b larr 120242120254120261120254120252120252120258oacute120263(119979) w larr 120241120254120252120264120262120251120258120263120250120252120258oacute120263(119979(a)) 119979(b))w larr 120236120270120269120250120252120258oacute120263(119979(a)) w

El procedimiento de recombinacioacuten requiere de un meacutetodo que permita conocer donde termina un subaacuterbol dada su raiacutez Esto es debido a que se estaacute codificando un aacuterbol de expresioacuten en una estructura lineal Este procedimiento es simple y solamente se requiere el contar el nuacutemero de argumentos por cada funcioacuten encontrada en el camino El algoritmo [algrecorre] presenta el pseudocoacutedigo para hacer el recorrido por el subaacuterbol Este procedimiento recibe un individuo y la posicioacuten de la raiacutez del subaacuterbol de intereacutes El ciclo de las liacuteneas 2-12 realiza todo el recorrido del subaacuterbol terminando cuando las funciones encontradas en el recorrido han satisfecho todos sus argumentos liacuteneas 9-11 regresando la posicioacuten del uacuteltimo nodo del subaacuterbol En cada iteracioacuten se sabe que se consume un argumento liacutenea 5 y se incrementa la posicioacuten final del subaacuterbol liacutenea 4 Ademaacutes se verifica si el nodo actual corresponde a una funcioacuten En caso afirmativo se incrementa el nuacutemero de argumentos liacuteneas 6-8 y todo este proceso continua hasta que los argumentos requeridos por la funciones han sido cubiertos

[algrecorre]

Ahora que se conoce la funcioacuten auxiliar es momento de describir el pseudocoacutedigo de la recombinacioacuten el cual se muestra en el algoritmo [algrecombinacion] Lo primero que se puede observar es que la recombinacioacuten requiere dos individuos el segundo paso es seleccionar un nodo de cada uno de estos individuos liacuteneas 1 y 2 Las liacuteneas 3 y 4 calculan las posiciones donde terminan cada uno de los subaacuterboles que corresponden a los nodos seleccionados Finalmente el individuo generado corresponde al reemplazo de la subcadena que representa el subaacuterbol del primer padre con la subcadena que representa el subaacuterbol del segundo padre ver liacutenea 5

[algrecombinacion]

Mutacioacuten Existen diferentes tipos de mutacioacuten Una de las maacutes utilizadas es la mutacioacuten de subaacuterbol la cual consiste en hacer recombinacioacuten de un individuo de la poblacioacuten con un individuo aleatorio La idea es reemplazar un subaacuterbol del individuo de la poblacioacuten por un subaacuterbol aleatorio y esto se logra utilizando meacutetodos previamente definidos

La mutacioacuten de subaacuterbol se presenta en el algoritmo [algmutacion] Este procedimiento requiere un padre Despueacutes se genera un individuo aleatorio utilizando el meacutetodo

x i c larr 1 x larr xi i larr i + 1 c larr c minus 1 c larr c + 120250120267120256120270120262120254120263120269120264120268(x) i

120241120254120252120264120267120267120254

x y

x y i larr 120239120270120263120269120264 120253120254 120267120254120252120264120262120251120258120263120250120252120258oacute120263(x) j larr 120239120270120263120269120264 120253120254 120267120254120252120264120262120251120258120263120250120252120258oacute120263(y) ik larr 120241120254120252120264120267120267120254(x i )jk larr 120241120254120252120264120267120267120254(y j ) x0hellipi cup yjhellip jk cup xikhellip∣x∣

x

Por lo general se usa una altura menor a siete y despueacutes se regresa la de los individuos (liacutenea 2)

[algmutacion]

La mutacioacuten de subaacuterbol no es el uacutenico tipo de mutacioacuten Otro tipo de mutacioacuten muy utilizada es la mutacioacuten de punto que tiene su homoacutelogo en el AG La mutacioacuten de punto funciona iterando por todos los nodos del individuo y seleccionando aleatoriamente algunos nodos para ser mutados Un nodo seleccionado para ser mutado cambia su valor de la siguiente manera Un nodo que tiene una funcioacuten cambia la funcioacuten por otra de la misma cardinalidad Por otro lado un nodo que tiene una terminal cambia su valor por otra terminal seleccionada del conjunto de terminales

Seleccioacuten Hasta este momento hemos revisado los procedimientos para hacer una evolucioacuten de estado estable generar una poblacioacuten inicial y modificar la poblacioacuten utilizando operadores geneacuteticos En esta seccioacuten se muestra el proceso de seleccioacuten de los individuos padres que generaraacuten mediante operadores geneacuteticos un nuevo individuo

La seleccioacuten como su nombre lo indica debe escoger un individuo de la poblacioacuten con base en su aptitud es decir se busca aquel individuo que resuelve de mejor manera el problema En el caso de la seleccioacuten negativa se busca el individuo que resuelve el problema de la peor manera

Recordemos que la forma en que se describe la funcionalidad de un programa es mediante un conjunto de pares entrada-salida vg donde representa la -eacutesima entrada y es su salida correspondiente Utilizando se puede definir la aptitud de un programa de la siguiente manera

donde representa la salida del programa cuando la entrada es y es una funcioacuten que captura que tanto se parece la prediccioacuten a la salida esperada

Existen varios procedimientos de seleccioacuten Uno de los maacutes comunes es la seleccioacuten proporcional o por ruleta La idea de esta seleccioacuten es asignar a cada individuo una probabilidad de ser seleccionado directamente proporcional a su aptitud Otro tipo de seleccioacuten muy utilizado

120226120267120254120250120252120258oacute120263 120253120254 120232120263120253120258120271120258120253120270120264120241120254120252120264120262120251120258120263120250120252120258oacute120263

x y larr 120226120267120254120250120252120258oacute120263 120253120254 120232120263120253120258120271120258120253120270120264(4 120225120250120261120250120263120252120254120250120253120264) 120241120254120252120264120262120251120258120263120250120252120258oacute120263(x y)

119987 = (x0 y0) hellip (xi yi) hellip (xN yN) xii yi 119987

p

120224120265120269120258120269120270120253(p) = sum(xy)isin119987

120236120258120253120254 120224120265120265120267120264120273120258120262120250120252120258oacute120263(y p(x))

p(x) p x 120236120258120253120254 120224120265120265120267120264120273120258120262120250120252120258oacute120263p(x) y

en la comunidad es la seleccioacuten por torneo donde la idea es seleccionar al ganador de un grupo de individuos seleccionados aleatoriamente Al tamantildeo del grupo se le conoce como el tamantildeo del torneo

El algoritmo [algseleccion] presenta el pseudocoacutedigo de la seleccioacuten por torneo El procedimiento requiere la poblacioacuten y el tamantildeo del torneo Se empieza seleccionando un individuo de la poblacioacuten vg el -eacutesimo para el cual se obtiene su aptitud liacuteneas 1 y 2 El individuo es momentaacuteneamente el mejor elemento conocido El ciclo principal ejecuta el torneo liacuteneas 3-10 En cada iteracioacuten se selecciona un elemento de la poblacioacuten junto con su aptitud (liacutenea 4 y 5) En caso que el nuevo individuo tenga una mejor aptitud que la conocida eacuteste se convierte en el ganador del torneo liacuteneas 6-9 El procedimiento termina regresando la posicioacuten del mejor individuo

t

[algseleccion]

Espacio de buacutesqueda La PG es un algoritmo de buacutesqueda inspirado en los principios de la evolucioacuten En esta seccioacuten se describe coacutemo es el espacio de buacutesqueda Existen dos diferencias principales entre la PG y el AG 1) la PG busca en un espacio posiblemente infinito de programas mientras que el AG en un espacio finito y 2) las soluciones de la PG tienen una codificacioacuten de longitud variable y las del AG son de longitud fija

El espacio de buacutesqueda de la PG se construye partiendo del conjunto de funciones y del conjunto de terminales de la siguiente manera Sea el subconjunto de funciones con cardinalidad del conjunto de funciones y los elementos creados en la -eacutesima iteracioacuten iniciando en Usando esta notacioacuten los primeros elementos del espacio de buacutesqueda vg son El resto de los elementos se construyen

iterativamente usando por lo tanto el espacio de

buacutesqueda estaacute definido como

Con el objetivo de ejemplificar la estructura del espacio de buacutesqueda la figura [figespacio-busqueda] presenta unos elementos del espacio de buacutesqueda cuando el conjunto de terminales es

119979 tk ga

119979(k)

119979 k larr 120237uacute120262120254120267120264 120224120261120254120250120269120264120267120258120264() ga larr 120224120265120269120258120269120270120253(119979(k)) ck larr 120237uacute120262120254120267120264 120224120261120254120250120269120264120267120258120264()ca larr 120224120265120269120258120269120270120253(119979(ck)) k larr ck ga larr ca k

Ω

ℱ119983 ℱc sube ℱ

c Ωi ii = 0

i = 0 Ω0 = ⋃c

f (x1 ⋯ xc) ∣ xi isin 119983 f isin ℱc

Ωi = ⋃c

f (x1 ⋯ xc) ∣ xi isin Ωiminus1 f isin ℱc

Ω = ⋃i

Ωi

y el conjunto de funciones es La figura [figomega0] muestra todos los elementos de los cuales corresponden a las combinaciones entre el operador y las entradas asiacute como a la funcioacuten y las posibles entradas La parte inferior de la figura muestra algunos elementos de Siguiendo la definicioacuten dada la primera expresioacuten corresponde al segundo elemento de y el uacuteltimo elemento corresponde al uacuteltimo elemento generado en

Conclusiones En este capiacutetulo se describioacute la importancia y potencial que tiene la PG en diversas tareas y aplicaciones Ademaacutes se describieron las partes que conforman un sistema de programacioacuten geneacutetica tradicional equivalente a los descritos en ) Tambieacuten se describieron los tipos de evolucioacuten maacutes comunes y con base en la evolucioacuten de estado estable se detalloacute el resto de las partes necesarias para llevar a cabo el proceso evolutivo como son la representacioacuten de los individuos la creacioacuten de la poblacioacuten inicial los operadores geneacuteticos y el tipo de seleccioacuten Finalmente se describioacute el espacio de buacutesqueda de la PG que se genera partiendo de los conjuntos de funciones y terminales

Como todo los sistemas la PG ha evolucionado Actualmente existen diferentes propuestas para mejorar sus componentes empezando desde la creacioacuten de la poblacioacuten inicial pej modificaciones a los operadores geneacuteticos tradicionales pej operadores semaacutenticos estudios sobre la seleccioacuten y evolucioacuten guiada por una funcioacuten diferente a la funcioacuten objetivo

Para saber maacutes Para una revisioacuten amplia sobre la PG se sugiere al lector la siguiente bibliografiacutea La PG fue descrita inicialmente en el libro de John Koza esta descripcioacuten se complementa con el libro escrito por Wolfgang Banzhaf et al y maacutes reciente Riccardo Poli et al presenta una introduccioacuten actualizada al aacuterea

Con respecto a artiacuteculos cientiacuteficos es importante comentar que existe una coleccioacuten bibliograacutefica en PG compilada y administrada por William Langdon John Koza y Steven Gustafson Esta coleccioacuten cuenta con maacutes de 13000 referencias a trabajos de investigacioacuten en 34

el tema incluyendo los trabajos realizados en Meacutexico

119983 = x y ℱ = + sinΩ0 +

sinΩ1

Ω1 Ω1

httpliinwwwiraukadebibliographyAigeneticprogramminghtml3

httpwwwcsbhamacuk~wblbiblio4

Importancia de la Diversidad en el Disentildeo de Algoritmos Evolutivos

Carlos Segura

Joel Chacoacuten Castillo

La convergencia prematura es una de las mayores problemaacuteticas que afectan al rendimiento de las metaheuriacutesticas poblacionales por lo que a la hora de disentildear algoritmos evolutivos es un aspecto a tener en cuenta En este capiacutetulo se enumeran diferentes teacutecnicas que se han propuesto a lo largo de las uacuteltimas deacutecadas para lidiar con este problema Una de las alternativas maacutes exitosas consiste en examinar los efectos que los diferentes componentes del algoritmo evolutivo tienen sobre la diversidad mantenida en la poblacioacuten y con base en ello redisentildearlos para modificar su comportamiento de forma dinaacutemica Con el objetivo de ilustrar de una forma detallada este uacuteltimo grupo de teacutecnicas se discuten dos mecanismos que pertenecen a este grupo El primero se aplica en el aacutembito de evolucioacuten diferencial y consiste en una estrategia de reemplazo que combina una poblacioacuten eacutelite con un mecanismo para mantener la diversidad de forma expliacutecita El segundo caso estaacute enfocado a los operadores de cruza donde concretamente se analiza y extiende el Operador de Cruza basado en Simulacioacuten Binaria (Simulated Binary Crossover - SBX) En las extensiones se considera el criterio de paro para modificar de forma dinaacutemica el comportamiento del operador con el propoacutesito de inducir un cambio gradual desde exploracioacuten hacia intensificacioacuten en el proceso de buacutesqueda La validacioacuten experimental se realizoacute con algunos de los problemas de prueba maacutes populares del aacutembito mono-objetivo y multi-objetivo alcanzaacutendose mejoras significativas en ambos casos

Diversidad Convergencia Prematura Evolucioacuten Diferencial Optimizacioacuten Multi-objetivo

Introduccioacuten Los Algoritmos Evolutivos (Evolutionary Algorithms mdash eas) son considerados como uno de los enfoques con mayor eficacia para resolver distintas categoriacuteas de problemas de optimizacioacuten Se han desarrollado diversas variantes que han sido aplicadas en muacuteltiples campos como en transporte economiacutea o ingenieriacutea Particularmente se han aplicado tanto en problemas del dominio continuo como del dominio discreto En general los eas han sido especialmente exitosos en la resolucioacuten de problemas complejos en los que los enfoques exactos no son actualmente aplicables como por ejemplo en problemas NP-completos con espacios de buacutesqueda grandes Para el aacutembito de este capiacutetulo se hace uso de problemas continuos mono-objetivo y multi-objetivo con restricciones de caja que se pueden definir tal y como se indica en la Ecuacioacuten ([eqnModel_general])

Minimizar 

rarrF (

rarrX )

Su jeto a rarrX isin Ω

donde es un vector compuesto por variables continuas de decisioacuten cada variable pertenece al conjunto de los reales es la dimensioacuten correspondiente al espacio de las variables de decisioacuten es un vector compuesto por funciones objetivo es el espacio factible cuyo liacutemite inferior es y liacutemite

superior es es decir Cada vector de variables es mapeado con -

funciones objetivo al espacio que es conocido como el espacio objetivo

Actualmente los eas son una de las metaheuriacutesticas maacutes conocidas pero a pesar de su eacutexito y de su uso tan extendido adaptarlas a nuevos problemas implica la toma de varias decisiones de disentildeo complejas Particularmente a la hora de disentildear de forma apropiada un ea se ha visto que es muy importante conseguir inducir un balanceo adecuado entre la exploracioacuten e intensificacioacuten del espacio de buacutesqueda Noacutetese en este punto que de manera informal la exploracioacuten del espacio de buacutesqueda consiste en evaluar regiones del espacio de buacutesqueda que no han sido muestreadas con el fin de detectar regiones promisorias y la explotacioacuten consiste en muestrear en zonas ya evaluadas previamente para realizar una buacutesqueda maacutes profunda con el fin de encontrar soluciones maacutes refinadas y de mayor calidad Cuando en los algoritmos evolutivos todas o casi todas las soluciones estaacuten en regiones distantes mdash alta diversidad mdash se produce habitualmente una buacutesqueda exploratoria es decir muchas de las nuevas soluciones evaluadas seraacuten distantes a las ya evaluadas anteriormente Sin embargo cuando casi todas las soluciones estaacuten en una o en unas pocas regiones se produce una buacutesqueda intensificadora Uno de los problemas a la hora de disentildear los algoritmos evolutivos es que en muchos casos no se comprenden todas las implicaciones que los diferentes componentes tienen sobre el mantenimiento de la diversidad de la poblacioacuten y por tanto sobre el balanceo entre exploracioacuten e intensificacioacuten Por ello analizar el comportamiento y redisentildear en base a lo que estaacute ocurriendo en este aspecto es parte del proceso de disentildeo de los eas

Relacionado con lo anterior aparece el concepto de convergencia prematura Se dice que un algoritmo converge de forma prematura cuando mucho antes de alcanzar el criterio de paro todas las soluciones estaacuten en una zona muy pequentildea del espacio de buacutesqueda En este sentido a partir de ese momento es difiacutecil seguir mejorando las soluciones de forma significativa ya que con alta probabilidad soacutelo se va a realizar un muestreo de soluciones en dicha regioacuten Por ello es importante detectar si esto ocurre y en tal caso redisentildear algunos aspectos del ea para preservar una mayor diversidad Sin embargo si la poblacioacuten es muy diversa durante todo el proceso de buacutesqueda se podriacutea no alcanzar un grado adecuado de intensificacioacuten y por lo tanto se tendriacutea una convergencia lenta que posiblemente tambieacuten resultariacutea en soluciones de baja calidad Por

rarrX D

rarrX = [x1 x2 xD]

xi isin real DrarrF M

rarrF = [ f1(

rarrX ) f2(

rarrX ) fM(

rarrX )] Ω x(L)

i

x(U )i Ω =

D

prodj=1

[x(L)j x(U )

j ] M

rarrF (

rarrX )(

rarrF Ω sube realD rarr realM) realM

esta razoacuten Mahfoud utilizoacute el concepto de diversidad uacutetil para referirse a la cantidad de diversidad necesaria para generar soluciones de alta calidad

En relacioacuten al disentildeo de eas se puede observar que en sus inicios la mayoriacutea de enfoques fueron esquemas generacionales en los que las soluciones hijas reemplazaban a la poblacioacuten anterior sin importar su respectiva aptitud o grado de diversidad En estos esquemas iniciales se usaba la seleccioacuten de padres para promover que el proceso de muestreo se realizara con mayor probabilidad en las regiones maacutes promisorias encontradas Por ello con el propoacutesito de alcanzar un balanceo adecuado entre exploracioacuten e intensificacioacuten se desarrollaron muchas estrategias de seleccioacuten de padres que permitiacutean centrarse con mayor o menor velocidad en las regiones promisorias Ademaacutes se desarrollaron alternativas que modifican otros aspectos como la estrategia de variacioacuten yo el modelo poblacional En la mayor parte de eas maacutes recientes se introduce ademaacutes una fase de reemplazamiento por lo que la nueva poblacioacuten no tiene que formarse exclusivamente con los hijos maacutes bien se usan mecanismos para combinar la poblacioacuten anterior con la poblacioacuten hija y determinar asiacute los nuevos sobrevivientes En este contexto se suele introducir elitismo en los algoritmos es decir el mejor individuo encontrado sobreviviraacute a la siguiente generacioacuten De esta forma ahora tambieacuten se puede modificar esta uacuteltima fase para conseguir el balanceo apropiado entre exploracioacuten e intensificacioacuten

En los uacuteltimos antildeos algunos de los trabajos maacutes exitosos en el aacuterea de evitacioacuten de convergencia prematura se han basado en considerar el criterio de parada y evaluaciones realizadas para balancear entre exploracioacuten e intensificacioacuten Esto se fundamenta en la premisa de que el grado entre exploracioacuten e intensificacioacuten deberiacutea variar a lo largo de la ejecucioacuten por lo tanto tiene sentido que las decisiones tomadas por las componentes variacuteen en funcioacuten del instante de ejecucioacuten Particularmente en este capiacutetulo se describen dos aportaciones que pertenecen a este grupo de teacutecnicas La primera que se aplica en el aacuterea de Evolucioacuten Diferencial (Differential Evolution mdash de) recibe el nombre de de Mejorado con Mantenimiento de Diversidad (de with Enhanced Diversity Maintenance mdash de-edm) e integra una estrategia de reemplazo que maneja la diversidad de forma expliacutecita con una poblacioacuten eacutelite En la fase de reemplazo que incorpora el de-edm se promueve un balanceo dinaacutemico entre exploracioacuten e intensificacioacuten teniendo en cuenta para ello el criterio de paro y las evaluaciones transcurridas para la toma de decisiones Concretamente en las primeras etapas se induce un grado de exploracioacuten alto ya que los individuos sobrevivientes son diversificados y posteriormente conforme transcurren las generaciones se induce un mayor grado de intensificacioacuten La segunda aportacioacuten estaacute enfocada a la extensioacuten de operadores de cruza Particularmente se analizan los componentes que conforman al Operador de Cruza basado en Simulacioacuten Binaria (Simulated Binary Crossover - SBX) y se propone una variante dinaacutemica (Dynamic Simulated Binary Crossover mdash dsbx) en la

que el comportamiento interno es alterado en base al criterio de paro y a las evaluaciones realizadas hasta el momento

El resto de este capiacutetulo estaacute organizado de la siguiente forma En primer lugar en la seccioacuten 2 se revisan algunas de las teacutecnicas maacutes populares que se han propuesto para promover el mantenimiento de diversidad exponiendo una de las clasificaciones maacutes extendidas Posteriormente en la seccioacuten 3 se describe y valida experimentalmente la aportacioacuten basada en evolucioacuten diferencial donde se considera la diversidad de forma expliacutecita en la fase de reemplazamiento Siguiendo esta misma liacutenea en la seccioacuten 4 se lleva a cabo un anaacutelisis del operador de cruza sbx mencionando algunas de sus implicaciones en la diversidad y se expone en base a ello una variante dinaacutemica que se valida experimentalmente con problemas multi-objetivo Finalmente en la seccioacuten 5 se exponen las conclusiones y trabajos futuros trazados en base a los resultados obtenidos

Preservacioacuten de diversidad en algoritmos evolutivos La convergencia prematura es una problemaacutetica muy conocida en el aacutembito de los eas por lo que se han desarrollado gran cantidad de teacutecnicas para lidiar con la misma Estas teacutecnicas modifican de manera directa o indirecta la cantidad de diversidad mantenida por el algoritmo y variacutean desde teacutecnicas generales hasta mecanismos dependientes de un problema dado En este apartado se revisan algunas de las teacutecnicas generales maacutes populares Inicialmente se describen algunas maneras de clasificar a este tipo de estrategias para posteriormente describir mecanismos claacutesicos especiacuteficos asiacute como algunas estrategias maacutes novedosas que se basan en modificar la estrategia de reemplazamiento Finalmente dado que en este capiacutetulo se extiende de se revisan tambieacuten los trabajos de esta aacuterea que tienen una relacioacuten estrecha con el manejo de diversidad Se recomienda a los lectores que requieran conocer estos mecanismos con maacutes detalle consultar asiacute como los artiacuteculos especiacuteficos en que cada meacutetodo es propuesto

Clasificaciones de mecanismos para promover la diversidad Debido a la gran cantidad de meacutetodos desarrollados en esta aacuterea se han propuesto varias clasificaciones de los mismos Liu et al propuso diferenciar entre los enfoques uni-proceso y multi-proceso En el enfoque uni-proceso se modifica la preservacioacuten de la diversidad actuando sobre un uacutenico componente del ea Es importante destacar que en los enfoques uni-proceso no se excluye el uso de otros componentes en el proceso de exploracioacuten yo intensificacioacuten sino que maacutes bien si no se consigue el balanceo adecuado soacutelo se modifica una componente hasta conseguir el comportamiento deseado Por otra parte en los enfoques multi-proceso se tiene en cuenta las implicaciones que varios componentes provocan sobre el balanceo y se actuacutea

modificando o redisentildeando varios de ellos hasta conseguir el comportamiento adecuado Los esquemas uni-proceso son mucho maacutes habituales actualmente y en particular las dos propuestas incluidas en este capiacutetulo son mecanismos uni-proceso

Extendiendo a lo anterior se propuso una clasificacioacuten maacutes especiacutefica en la que se tiene en cuenta cuaacutel es la componente que se cambia para categorizar a cada meacutetodo En este sentido los maacutes populares son los siguientes

bull Enfoques basados en la seleccioacuten son los maacutes claacutesicos y se basan en cambiar la presioacuten de seleccioacuten que se produce hacia las zonas promisorias a la hora de realizar la seleccioacuten de padres

bull Enfoques basados en poblacioacuten se modifica el modelo poblacional utilizando algunas teacutecnicas como variar el tamantildeo de la poblacioacuten de forma dinaacutemica eliminar individuos duplicados utilizar teacutecnicas de infusioacuten o establecer un estrategia de islas con migraciones

bull Enfoques basados en ela cruza yo la mutacioacuten se basan en redisentildear los operadores de cruza yo mutacioacuten considerando en algunos casos informacioacuten especiacutefica del problema Tambieacuten se incluyen en este grupo opciones maacutes generales como aplicar restricciones sobre el emparejamiento yo incluir operadores disruptivos que podriacutean ser utilizados soacutelo en ciertos instantes del proceso de optimizacioacuten

Esquemas claacutesicos para administrar la diversidad Los primeros eas se basaron principalmente en esquemas generacionales que no incluiacutean fase de reemplazo En estos esquemas la seleccioacuten de padres era la principal responsable de que se muestrearan con mayor probabilidad las zonas maacutes promisorias encontradas hasta el momento y por tanto muchos de los primeros esquemas que trataron de evitar la convergencia prematura se basaron en modificar el proceso de seleccioacuten de padres Asiacute en los 90s se desarrollaron varios esquemas que alteraban la presioacuten de seleccioacuten de forma estaacutetica o dinaacutemica Sin embargo con base en varios estudios teoacutericos y experimentales se observoacute que generalmente actuar exclusivamente sobre el operador de seleccioacuten no es suficiente especialmente cuando se quieren realizar ejecuciones a largo plazo ya que se requeririacutean poblaciones excesivamente grandes para mantener un grado adecuado de diversidad

Otra alternativa fue modificar los modelos poblacionales encontrando en este grupo los esquemas basados en islas los celulares o maacutes recientemente los basados en agrupaciones o cluacutesteres La idea de introducir restricciones en el emparejamiento principalmente con base en la ubicacioacuten de los individuos en el espacio de buacutesqueda tambieacuten ha sido bastante exitosa aunque controlar los mismos para obtener el balanceo apropiado ante diferentes criterios de parada es

bastante complejo En algunos casos resultoacute ser maacutes prometedor promover el emparejamiento entre individuos no similares mientras que en otros escenarios se hace exactamente lo opuesto Otro problema comuacuten de muchas de las estrategias anteriores es que suelen introducir paraacutemetros adicionales por lo que el proceso de ajuste de paraacutemetros que ya de por siacute es un problema importante en los eas se vuelve auacuten maacutes complejo Es importante resaltar que todas estas estrategias claacutesicas no evitan por completo la convergencia sino que la idea es disponer de mecanismos para acelerarla o retrasarla

Otra alternativa diferente ha sido adaptar la fase de variacioacuten En este sentido se han desarrollado diversas teacutecnicas para controlar los paraacutemetros que se consideran en la variacioacuten con el propoacutesito de adaptar el balanceo entre exploracioacuten e intensificacioacuten En algunos casos esto se consigue usando distintos valores en los paraacutemetros para distintas etapas a lo largo del proceso de optimizacioacuten mientras que en otros casos se hacen cambios maacutes draacutesticos y se consideran varios operadores con distintas propiedades Tambieacuten existen mecanismos adaptativos que usan una memoria para almacenar informacioacuten histoacuterica sobre los efectos de la variacioacuten y con base en ello ir modificaacutendola Cabe destacar que en la mayor parte de estos esquemas no se considera la diversidad de forma directa sino que soacutelo se considera para analizar el comportamiento y con base en ello se procede a un redisentildeo

Finalmente un esquema muy sencillo pero no por ello menos importante es el basado en reinicios En estos esquemas en lugar de evitar la convergencia acelerada se aplica un reinicio total o parcial de la poblacioacuten cada cierto nuacutemero de generaciones o cuando se detecta que la poblacioacuten ha convergido Con base en esto se han propuesto diversas estrategias para establecer los puntos de reinicio Estos esquemas se implementan de forma muy sencilla y en algunos casos han proporcionado mejoras significativas por lo que es un meacutetodo a tener en cuenta al menos como alternativa inicial Es comuacuten combinar las estrategias basadas en reinicio con algunas de las teacutecnicas anteriores ya que dichas teacutecnicas estaacuten basadas en mantener la diversidad mientras que en esta uacuteltima el objetivo es recuperar la diversidad

Esquemas de reemplazamiento basados en diversidad Recientemente se han propuesto diversos mecanismos que modifican la fase de reemplazo para preservar la diversidad La idea principal de estos esquemas es inducir un grado de exploracioacuten adecuado diversificando a los individuos sobrevivientes de forma que los operadores de reproduccioacuten puedan generar nuevas soluciones en diferentes regiones en las siguientes generaciones Estos meacutetodos estaacuten basados en el principio de que los operadores de cruza tienen un efecto de exploracioacuten al considerar individuos distantes y de intensificacioacuten al considerar individuos proacuteximos

El esquema de pre-seleccioacuten propuesto por Cavicchio es uno de los primeros estudios que utilizan la fase de reemplazamiento para controlar la diversidad El esquema inicial de Cavicchio se extendioacute para generar el esquema denominado amontonamiento o crowding el cual ha sido muy popular en los uacuteltimos antildeos El principio del crowding se basa en que los nuevos individuos que entren en la poblacioacuten sustituyan a individuos similares de generaciones anteriores y con base en este principio se han formulado diversas implementaciones

En esta misma liacutenea se han propuesto otras estrategias de reemplazo con el propoacutesito de promover la diversidad Uno de los procedimientos maacutes populares es la Estrategia de Limpieza (Clearing Strategy - clr) En el procedimiento clr se agrupan a los individuos en grupos denominados nichos y los mejores individuos de cada nicho son preservados e incluidos en la poblacioacuten de la siguiente generacioacuten Un inconveniente de este procedimiento es que los casos en que se detectan muchos nichos provocan una fuerte inmovilizacioacuten de la poblacioacuten Por ello Petrowski propuso una variante para uacutenicamente seleccionar a individuos cuya aptitud sea mejor que la media de la poblacioacuten

Otros meacutetodos de este grupo consideran funciones de aptitud que combinan la funcioacuten objetivo original con la diversidad Sin embargo es complejo construir una funcioacuten compuesta ya que las dos mediciones podriacutean no ser directamente compatibles y por lo tanto las funciones adecuadas suelen depender de cada problema Una forma de suavizar este inconveniente fue propuesto en el algoritmo de combinacioacuten (COMB) donde los individuos son ordenados y categorizados con base en su aptitud y contribucioacuten a la diversidad y la funcioacuten compuesta se disentildea con base en el orden y no con base en los valores de funcioacuten objetivo y contribucioacuten a diversidad La principal desventaja del COMB es que requiere dos paraacutemetros de usuario aunque independientemente de esto se ha usado con bastante eacutexito Otra alternativa es el procedimiento Reemplazamiento Basado en Contribucioacuten a la Diversidad y Sustitucioacuten del Peor (Contribution of DiversityReplace Worst - CDRW) En el meacutetodo CDRW un nuevo individuo reemplaza a un miembro de la poblacioacuten cuyo rendimiento sea peor tanto en aptitud como en contribucioacuten a la diversidad En caso de no encontrar un peor individuo bajo estos dos criterios se procede a reemplazar al peor individuo en la poblacioacuten considerando uacutenicamente a la aptitud Una uacuteltima alternativa se basa en considerar a la contribucioacuten a la diversidad como un objetivo adicional y aplicar un esquema de optimizacioacuten multi-objetivo Estos enfoques son identificados como algoritmos multi-objetivo basados en diversidad Existen varias estrategias para calcular el objetivo auxiliar Uno de los enfoques maacutes populares consiste en calcular la contribucioacuten a la diversidad de cada individuo con base en la Distancia al Vecino maacutes Cercano (Distance to the Closest Neighbor - DCN) de entre los individuos que ya hayan sido seleccionados como supervivientes

Diversidad en evolucioacuten diferencial Los algoritmos basados en de son altamente susceptibles a la peacuterdida de diversidad debido a que se basan en una estrategia de seleccioacuten muy elitista Debido a ello se han desarrollado varios anaacutelisis para lidiar con este problema Dado que en el aacuterea se conoce al menos de manera general las implicaciones que tiene cada paraacutemetro sobre la diversidad algunos autores han trabajado en estimar de forma teoacuterica cuaacuteles deben ser los paraacutemetros adecuados para que se produzca cierto tipo de comportamiento Otros autores han estudiado el efecto que tiene la norma de los vectores de diferencia sobre la mutacioacuten y con base en ello se han propuesto mecanismos que prohiacuteben ciertos movimientos que pueden resultar perjudiciales para la diversidad En este uacuteltimo estudio el tipo de movimientos aceptados variacutea a lo largo de la ejecucioacuten descartando a los movimientos cuyos desplazamientos sean menores a un umbral el cual es decrementado conforme transcurren las generaciones Ademaacutes se han propuesto otras formas para establecer los movimientos aceptados

Una alternativa distinta se basa en alterar el operador de seleccioacuten Especiacuteficamente con el propoacutesito de mantener mayor diversidad en la poblacioacuten se altera la presioacuten de seleccioacuten utilizando una seleccioacuten probabiliacutestica que permite escapar en algunos casos de las bases de atraccioacuten de oacuteptimos locales Sin embargo este meacutetodo no es demasiado robusto debido a que considera la aptitud para definir las probabilidades para seleccionar a un individuo por lo que ciertas transformaciones de la funcioacuten pueden modificar de forma draacutestica el tipo de buacutesqueda que se realiza

Finalmente la variante de con Diversidad de la Poblacioacuten Auto-Mejorado (Auto-Enhanced Population Diversity - AEPD) mide la diversidad de forma expliacutecita y cuando se detecta la existencia de un nivel bajo de diversidad en la poblacioacuten se lanza un mecanismo de diversificacioacuten Esta propuesta se ha extendido para considerar diferentes esquemas de perturbacioacuten

Es interesante hacer notar que las variantes de de que alcanzaron los primeros lugares en varias competencias de optimizacioacuten durante los uacuteltimos antildeos no consideran estas modificaciones y ademaacutes estas variantes no han sido incorporadas en las herramientas de optimizacioacuten maacutes populares Esto puede deberse a que muchos de los concursos estaacuten orientados a obtener resultados en un nuacutemero de evaluaciones bastante limitado en lugar de a largo plazo que es el aacutembito en el que maacutes beneficios suelen dar los mecanismos de control de diversidad

Disentildeo de evolucioacuten diferencial basado en diversidad

Evolucioacuten diferencial Conceptos baacutesicos Esta seccioacuten estaacute dedicada a revisar la variante claacutesica de de y a introducir varios teacuterminos importantes que son utilizados en el campo de de El esquema claacutesico de de es identificado como derand1bin y ha sido ampliamente usado como base para el desarrollo de variantes maacutes complejas De hecho la propuesta que se presenta en este capiacutetulo como ejemplo extiende al derand1bin de fue propuesto como un meacutetodo de buacutesqueda directa para optimizacioacuten continua mono-objetivo y es el aacutembito en que se usaraacute en este capiacutetulo es decir se considera la Ecuacioacuten ([eqnModel_general]) fijando

de es un algoritmo estocaacutestico basado en poblacioacuten por lo que en cada instante maneja un conjunto de soluciones candidatas que van evolucionando de forma iterativa En de dichas soluciones candidatas son usualmente conocidas como vectores En la variante baacutesica de de para cada miembro de la poblacioacuten (conocidos como vectores objetivo) se genera un nuevo vector que es conocido como el vector mutado A continuacioacuten el vector mutado se combina con el vector objetivo para generar al vector de prueba y finalmente se procede con la fase de seleccioacuten para elegir a los vectores sobrevivientes De esta forma las generaciones transcurren de forma iterativa hasta cumplir el criterio de paro En esta capiacutetulo el -eacutesimo vector de la poblacioacuten en la generacioacuten se denota como A continuacioacuten se explica en maacutes detalle cada componente de de

Inicializacioacuten

Usualmente de inicia el proceso de optimizacioacuten con una poblacioacuten de vectores que son creados de forma aleatoria Habitualmente los vectores de la poblacioacuten inicial son generados con base en una distribucioacuten uniforme ya que usualmente no se posee informacioacuten sobre cuaacuteles son las zonas maacutes promisorias del espacio de buacutesqueda Por lo tanto el -eacutesimo componente del -eacutesimo vector es inicializado de la forma donde es un nuacutemero aleatorio uniformemente distribuido entre y

Operador de mutacioacuten

Por cada vector objetivo se genera un vector mutado para lo cual se han propuesto muacuteltiples estrategias con la particularidad de que en cierta forma se usen las diferencias entre vectores La variante claacutesica de de aplica la estrategia conocida como rand1 en la cual se crea un vector mutado de la siguiente forma

M = 1

iG

rarrX iG = [x1iG x2iG xDiG]

NP

j ixji0 = x(L)

j + randi j[0 1](x(U )j minus x(L)

j )randi j[0 1] 0 1

ViG

En la Ecuacioacuten ([eqnmutation]) los iacutendices deben ser enteros distintos y son generados de forma aleatoria en el rango Ademaacutes estos iacutendices son distintos al iacutendice Es importante hacer notar que la diferencia entre los vectores es escalada por medio del paraacutemetro el cual usualmente se define en el intervalo Posteriormente el vector de diferencia (escalado) es agregado a un tercer vector lo que significa que los vectores mutados son similares a los vectores objetivo si el grado de diversidad es bajo ya que los vectores de diferencias tienen norma pequentildea Como consecuencia de esto es claro que es criacutetico mantener un grado miacutenimo de diversidad en de

Operador de cruza

El operador de cruza se aplica con el objetivo de combinar la informacioacuten de distintas soluciones candidatas y de incrementar la diversidad de los vectores Especiacuteficamente cada vector objetivo se mezcla con su correspondiente vector mutado para generar un vector de prueba La estrategia de cruza maacutes tiacutepica es conocida como cruza binomial y actuacutea de la siguiente forma

En la Ecuacioacuten ([eqncrossover]) es un nuacutemero uniformemente distribuido es

un iacutendice seleccionado aleatoriamente que asegura que genera al menos un componente de y es la proporcioacuten de cruza

Operador de seleccioacuten

Finalmente se aplica una seleccioacuten elitista para determinar los vectores sobrevivientes que participaraacuten en la siguiente generacioacuten Especiacuteficamente cada vector de prueba se compara con su correspondiente vector objetivo y sobrevive el que tiene la mejor aptitud

Debido a la forma de seleccionar a los sobrevivientes en cada generacioacuten los miembros de la poblacioacuten permanecen iguales o mejoran Por ello se considera que de hace uso de una seleccioacuten

rarrV iG =

rarrX r1G + F times (

rarrX r2G minus

rarrX r3G) r1 ne r 2 ne r3

r1 r 2 r3 isin [1 NP ][1 NP ]

iF [04 1]

rarrX iG

rarrViGrarr

UiG = [u1iG u2iG uDiG]

rarrUjiG =

rarrV jiG si (randi j[0 1] le CR o j = jrand)rarrX jiG de otra forma

randi j[0 1] jrandrarrUiGrarr

V iG CR isin [0 1]

rarrX jiG+1 =

rarrUiG si f (

rarrUiG) le f (

rarrX iG)

rarrX iG de otra forma

muy elitista y es una de las razones por la que en ciertos casos puede sufrir de una convergencia demasiado acelerada

Propuesta basada en diversidad El meacutetodo que se presenta en esta seccioacuten estaacute motivado principalmente por dos trabajos El primero de ellos es un estudio empiacuterico desarrollado por Montgomery et al que confirma que de sufre de convergencia prematura en varios problemas El segundo es un trabajo propuesto por Segura et al que proporciona mejoras significativas en el campo de optimizacioacuten combinatoria utilizando para ello una fase de reemplazo conocida como Reemplazo con Control de Diversidad Dinaacutemica Basada en Varios Objetivos (Replacement with Multi-objective based Dynamic Diversity Control - rmddc) Particularmente el rmddc controla el grado de diversidad relacionaacutendolo con el criterio de paro y generaciones transcurridas Con base en las conclusiones de cada uno de los trabajos en esta seccioacuten se ilustra una propuesta que es una variante novedosa de de que incluye un mecanismo de reemplazo que sigue los mismos principios que guiaron el disentildeo de rmddc Este nuevo algoritmo recibe el nombre de Evolucioacuten Diferencial con Mantenimiento Mejorado de Diversidad (Differential Evolution with Enhanced Diversity Maintenance - de-edm) y su coacutedigo fuente estaacute disponible 5

de-edm (ver Algoritmo [algDEEDM]) es bastante similar a la versioacuten claacutesica de de de hecho la forma en que se crean los vectores de prueba (liacuteneas 5 y 6) se mantiene intacta La novedad del de-edm es que incorpora una poblacioacuten eacutelite ( ) y una estrategia de reemplazo basada en diversidad Especiacuteficamente con el propoacutesito de seleccionar a los miembros de la poblacioacuten eacutelite se considera el operador de seleccioacuten elitista de la versioacuten claacutesica de de (liacutenea 7) Posteriormente se aplica la estrategia de reemplazo (liacutenea 8) para determinar a los sobrevivientes Siguiendo la misma filosofiacutea que en el rmddc los individuos que contribuyen muy poco a la diversidad no deberiacutean ser aceptados como miembros de la siguiente generacioacuten Para conseguir este propoacutesito se considera tanto el criterio de paro como las generaciones transcurridas en la seleccioacuten Asiacute se estableceraacute un grado de diversidad miacutenimo deseado dependiente del tiempo de ejecucioacuten

Inicializar de forma aleatoria a la poblacioacuten con individuos donde cada uno es distribuido de forma uniforme Mutacioacuten Generar al vector mutado ( ) de acuerdo a la Ecuacioacuten ([eqnmutation]) Cruza Utilizar la recombinacioacuten para generar al vector de prueba ( ) de acuerdo a la Ecuacioacuten ([eqncrossover]) Seleccioacuten Actualizar al vector eacutelite ( en lugar de

E

NPG = 0 ViG

UiGEiG

El coacutedigo en C++ puede ser descargado en la siguiente direccioacuten httpsgithubcom5

joelchaconcastilloDiversity_DE_Researchgit

) de acuerdo a la Ecuacioacuten ([eqnselection]) Reemplazo Seleccionar a los vectores objetivo ( ) de acuerdo al Algoritmo [algReplacement]

[algDEEDM]

La estrategia de reemplazo (ver Algoritmo [algReplacement]) funciona de la siguiente forma Inicialmente recibe a la poblacioacuten padre (vectores objetivo) a la poblacioacuten de hijos (vectores de prueba) y a los vectores eacutelite De entre todos ellos debe seleccionar a vectores para formar la siguiente poblacioacuten de padres En primer lugar con base en el nuacutemero de evaluaciones de funcioacuten transcurridas y el criterio de parada se calcula una distancia miacutenima deseada ( ) para mantener en la poblacioacuten (liacutenea 2) A continuacioacuten se juntan las tres poblaciones en un conjunto de miembros candidatos (liacutenea 3) que contiene en cada momento a los vectores candidatos que podriacutean ser seleccionados para sobrevivir Posteriormente se inicializa tanto el conjunto de individuos sobrevivientes como los penalizados con el conjunto vaciacuteo (liacutenea 4) Para seleccionar a los sobrevivientes se repite el proceso iterativo (liacuteneas 5 - 13) que se describe a continuacioacuten En cada iteracioacuten se comienza seleccionando como sobreviviente al mejor individuo del Conjunto de Candidatos es decir al individuo que tiene la mejor aptitud Este individuo se mueve al Conjunto de Sobrevivientes y los individuos del Conjunto de Candidatos cuya distancia al individuo seleccionado sea menor que se transfieren al Conjunto de Penalizados (liacutenea 9) La forma de calcular la distancia entre dos individuos es con base en la distancia Euclidiana normalizada descrita en la Ecuacioacuten ([eqndistance]) donde es la dimensioacuten del problema y son los liacutemites menores y mayores de la dimensioacuten En los casos donde el conjunto de Candidatos queda vaciacuteo antes de seleccionar a individuos el Conjunto de Sobrevivientes se llena seleccionando en cada iteracioacuten al individuo con la mayor distancia al individuo maacutes cercano del Conjunto de Sobrevivientes (liacuteneas 10 - 13)

Entrada Poblacioacuten (Vectores Objetivo) Hijos (Vectores de prueba) y Elite Actualizar Candidatos = Poblacioacuten Hijos Elite Sobrevivientes Penalizados Seleccionados = Seleccionar al mejor individuo de Candidatos Eliminar Seleccionado de Candidatos Copiar Seleccionado a Sobrevivientes Encontrar a los individuos de Candidatos cuya distancia a Seleccionados sea menor que y moverlos a Penalizados En esta parte se considera la distancia normalizada (Ecuacioacuten

XiGXG+1 G = G + 1

NP

Dt

NP

Dt

Dx(L)

d x(U )d d

NPPenalizado

distancia(xi xj) =

sumDd=1 (

x di minus xd

j

x(U )d minus x(L)

d )2

D

Dt = DI minus DI(n fes (095ma x_n fes)) cup cup= = empty

Dt

[eqndistance]) Seleccionado = Seleccionar al individuo de Penalizados con la mayor distancia al individuo maacutes cercano a Sobrevivientes Eliminar Seleccionado de Penalizados Copiar Seleccionado a Sobrevivientes

Con el propoacutesito de completar la descripcioacuten de de-edm se especifica la forma en que se calcula y el procedimiento con el cual se actualizan a los individuos eacutelite El resto del algoritmo se mantiene igual que la variante claacutesica de de El valor de se utiliza para alterar el grado entre exploracioacuten e intensificacioacuten por lo tanto el valor adecuado para este paraacutemetro depende del instante de ejecucioacuten Especiacuteficamente este valor deberiacutea ser reducido conforme se alcanza el criterio de paro con el objetivo de promover mayor intensificacioacuten en las uacuteltimas etapas de optimizacioacuten En nuestro esquema se requiere asignar un valor inicial para ( ) y a continuacioacuten de manera similar a como se hace en se realiza una reduccioacuten lineal de considerando las evaluaciones transcurridas y el criterio de paro Particularmente en este trabajo el criterio de paro se asigna con base en las evaluaciones a funcioacuten y la reduccioacuten se calcula de tal forma que al del nuacutemero maacuteximo de evaluaciones el valor de diversidad miacutenimo requerido es cero lo que quiere decir que en la uacuteltima fase la diversidad no es considerada para nada Entonces denotando al nuacutemero maacuteximo de evaluaciones y al nuacutemero de e v a l u a c i o n e s t r a s c u r r i d a s e s c a l c u l a d o d e l a s i g u i e n t e f o r m a

La distancia inicial ( ) afecta de forma considerable al rendimiento de de-edm Si este paraacutemetro es elevado el algoritmo maximiza la diversidad de la poblacioacuten en las primeras etapas de optimizacioacuten resultando en una exploracioacuten adecuada que es muy importante en varios tipos de problemas como los multi-modales y deceptivos Sin embargo un valor demasiado elevado de podriacutea inducir un grado excesivo de exploracioacuten y en consecuencia la intensificacioacuten podriacutea fallar Por otra parte un valor muy pequentildeo de provocariacutea muy poca exploracioacuten y por lo tanto seriacutea maacutes difiacutecil evitar oacuteptimos locales El valor oacuteptimo de podriacutea variar dependiendo del tipo de problema y el criterio de paro Sin embargo en esta primera versioacuten no se adapta el valor de para cada problema En su lugar se realizoacute un anaacutelisis previo para determinar un valor adecuado usaacutendose el valor en todos los problemas

Al igual que en la versioacuten estaacutendar de de en de-edm es necesario asignar una probabilidad de cruza ( ) y un factor de mutacioacuten ( ) De acuerdo a varios estudios desarrollados por Montgomery y otros la probabilidad de cruza tiene un efecto muy importante Estos autores mostraron de forma empiacuterica que los valores extremos de resultan en comportamientos muy distintos entre siacute pero de gran utilidad Asiacute los valores pequentildeos de resultan en una buacutesqueda alineada a un nuacutemero reducido de ejes e induce pequentildeos desplazamientos Esto provoca una mejora gradual con convergencia lenta que en algunos escenarios podriacutea resultar

Sobrevivientes

DtDt

Dt DIDt

95

ma x_n fes n fesDt

Dt = DI minus DI(n fes (095ma x_n fes))

DI

DIDI

DI

DIDI = 03

CR F

CRCR

beneficioso Por otra parte los valores elevados de en general proporcionan soluciones de mayor calidad con una menor probabilidad ya que se tiende a realizar desplazamientos largos Sin embargo cuando son exitosos puedan mejorar la aptitud de forma significativa y permiten explorar zonas distantes Con base en esto en nuestra propuesta se emplean los dos mecanismos es decir valores elevados y pequentildeos de tal y como se muestra en la Ecuacioacuten ([eqncr])

Por otro lado siguiendo los principios de distintas variantes del SHADE se consideran las evaluaciones transcurridas para generar el factor de mutacioacuten aplicado Particularmente cada valor se muestrea de una distribucioacuten Cauchy (Ecuacioacuten [eqncauchy])

El efecto de esta distribucioacuten es que en las primeras etapas de optimizacioacuten se generen valores de cercanos a Posteriormente conforme la ejecucioacuten transcurre la funcioacuten de densidad sufre una transformacioacuten gradual ya que la varianza se incrementa Esto implica que se generen valores fuera del intervalo con una probabilidad maacutes alta En los casos en que los valores son mayores a se utiliza el valor mientras que si se genera un valor negativo se vuelve a muestrear el valor Uno de los efectos de este enfoque es el de incrementar la probabilidad de generar valores elevados de conforme transcurren las generaciones lo que ayuda a evitar la convergencia acelerada en las uacuteltimas etapas de optimizacioacuten

Resultados de de-edm En esta seccioacuten se presenta la validacioacuten experimental de de-edm Especiacuteficamente se muestra que se pueden mejorar los resultados de los algoritmos del estado-del-arte controlando de forma expliacutecita la diversidad Particularmente se consideraron los conjuntos de prueba de los concursos de optimizacioacuten continua organizados en el cec 2016 y cec 2017 Cada uno estaacute compuesto de treinta problemas distintos En la comparativa incluimos a los algoritmos que obtuvieron los primeros lugares en cada antildeo asiacute como una versioacuten de de que usa la misma parametrizacioacuten que de-edm pero que no incluye la poblacioacuten eacutelite ni el reemplazamiento basado en diversidad Los algoritmos considerados del cec 2016 son el UMOEAs-II y L-SHADE-EpSin que alcanzaron el primero y el segundo lugar respectivamente mientras que del cec 2017 se consideran el EBOwithCMAR y el jSO Todos estos algoritmos fueron probados con los dos conjuntos de prueba como se sugiere en Debido a que todos los algoritmos son estocaacutesticos se realizaron 51 ejecuciones con distintas semillas y en cada caso el criterio de paro fue asignado a de evaluaciones de la funcioacuten objetivo Ademaacutes se consideraron diez variables en cada funcioacuten

CR

CR

CR = Nor mal(02 01) si rand[0 1] le 05Nor mal(09 01) de otra forma

FF

Cauchy(05 05n fes ma x_n fes)

F 05

[00 10]10 10

F

25 000 000

( ) La evaluacioacuten de los algoritmos se realizoacute siguiendo los lineamientos de las competencias del cec de forma que se asignoacute un error igual a si la diferencia entre la mejor solucioacuten encontrada y la solucioacuten oacuteptima era menor que Para cada algoritmo se utilizoacute la parametrizacioacuten indicada por sus autores y que se describe a continuacioacuten

bull EBOwithCMAR Para la parte EBO el tamantildeo maacuteximo de la poblacioacuten de el tamantildeo miacutenimo de la poblacioacuten de el tamantildeo maacuteximo de la poblacioacuten de el tamantildeo miacutenimo de la poblacioacuten de el tamantildeo de la memoria histoacuterica H= Para la parte de CMAR el tamantildeo de la poblacioacuten CS = la probabilidad de buacutesqueda local y

bull UMOEAs-II Para la parte de MODE el tamantildeo maacuteximo de la poblacioacuten de el tamantildeo miacutenimo de la poblacioacuten de el tamantildeo de la memoria histoacuterica H= Para la

parte del CMA-ES el tamantildeo de la poblacioacuten CS =

Para la buacutesqueda local

bull jSO El tamantildeo maacuteximo de la poblacioacuten = el tamantildeo de la memoria histoacuterica H= valor de mutacioacuten inicial de la memoria probabilidad inicial de la memoria tamantildeo miacutenimo de la poblacioacuten = valor inicial p-best = valor final p-best =

bull L-SHADE-EpSin Tamantildeo maacuteximo de la poblacioacuten = tamantildeo de la memoria histoacuterica H= valor de la mutacioacuten inicial de la memoria probabilidad inicial de la memoria frecuencia inicial de la memoria tamantildeo miacutenimo de la poblacioacuten = valor inicial p-best = valor final p-best = generaciones de la buacutesqueda local

bull DE-EDM tamantildeo de la poblacioacuten =

bull Standard-DE Tamantildeo de la poblacioacuten = (mismos operadores que en de-edm)

Nuestro anaacutelisis experimental se realizoacute teniendo en cuenta la diferencia entre la solucioacuten oacuteptima y la mejor solucioacuten obtenida y para comparar los resultados estadiacutesticamente se siguioacute un procedimiento similar que el propuesto en Concretamente en primer lugar se utilizoacute la prueba Shapiro-Wilk para comprobar si los resultados se ajustaban a una distribucioacuten Gaussiana En los casos en que siacute se ajustaban se utilizoacute la prueba de Levene para comprobar la homogeneidad de las varianzas procediendo con la prueba de ANOVA en caso positivo o con la prueba de Welch en caso negativo Por otro lado para los casos que no se ajustaban a distribuciones Guassianas

D = 100

10minus8

S1 = 18DS1 = 4

S2 = (1468)D S2 = 106 S3 = 4 + 3log(D)

σ = 03 50 pl = 01 cfels = 04FEmax

S1 = 18DS1 = 4 6

S2 = 4 + lfloor3log(D)rfloor μ =PS2

σ = 03

50 cfels = 02FEmax

25log(D) D5 MF = 05

MCR = 08 4 025N2

25log(D) D5 MF = 05

MCR = 05 μF = 054 025N 2

GLS = 250

DI = 03 250

250

se utilizoacute la prueba de Kruskal-Wallis En todos los casos se fijoacute el nivel de confianza al 95 Se considera que un algoritmo es superior a un algoritmo si el procedimiento anterior reporta diferencias significativas y si la media y mediana del error obtenido por el meacutetodo son inferiores a las obtenidas por el meacutetodo

En las tablas [tabSummary_CEC2016] y [tabSummary_CEC2017] se presenta un resumen de los resultados obtenidos para el cec 2016 y el cec 2017 respectivamente La columna etiquetada con ldquoSiempre Resueltordquo muestra el nuacutemero de funciones en que se obtuvo un error de cero en las 51 ejecuciones La columna etiquetada con ldquoAl menos una vez resueltordquo muestra el nuacutemero de funciones que se resolvieron en al menos una ejecucioacuten Praacutecticamente todas las funciones del cec 2017 (28 de ellas) fueron resueltas al menos una vez por nuestra propuesta Ademaacutes se resolvieron 21 funciones del cec 2016 al menos una vez Esto representa una diferencia sustancial con los resultados obtenidos por el resto de algoritmos pues todos ellos resolvieron muchas menos funciones Con el objetivo de confirmar la superioridad del de-edm se ejecutaron las pruebas estadiacutesticas por pares La columna etiquetada con el siacutembolo muestra el nuacutemero de veces en que cada meacutetodo fue superior mientras que la columna etiquetada con cuenta el nuacutemero de casos donde el meacutetodo fue inferior Finalmente la columna etiquetada con muestra el nuacutemero de comparaciones en las que las diferencias no fueron significativas Las pruebas estadiacutesticas indican que el de-edm alcanzoacute los mejores resultados en los dos antildeos De hecho el nuacutemero de comparaciones en que nuestra propuesta ganoacute en el cec 2016 y el cec 2017 fue de y respectivamente y soacutelo perdioacute en y respectivamente que son valores muy superiores a los del resto de algoritmos La uacuteltima columna etiquetada con ldquoPuntajerdquo muestra la puntuacioacuten siguiendo los lineamientos propuestos en las competencias del cec Particularmente este meacutetodo de evaluacioacuten combina dos puntajes como se indica en la Ecuacioacuten ([eqntotal_scores]) definiendo el puntaje final como

Especiacuteficamente es la sumatoria de errores del -eacutesimo algoritmo ( )

ademaacutes es el error promedio en la -eacutesima funcioacuten es la miacutenima sumatoria de errores entre todos los algoritmos Por su parte es la sumatoria del rango de cada funcioacuten en

el -eacutesimo algoritmo ( ) Ademaacutes es la sumatoria miacutenima de los rangos

X YX

Y

harr

7788 25 6

Score = Score1 + Score2

Score1 = (1 minusSEi minus SEmin

SEi ) times 50

Score2 = (1 minusSRi minus SRmin

SRi ) times 50

SEi i SEi =30

sumj=1

error_ f j

error_ f j j SEmin

SRi

i SRi =30

sumj=1

rangoj SRmin

entre todos los algoritmos Nuestra propuesta alcanzoacute el mejor puntaje de en los dos antildeos demostrando su superioridad Adicionalmente es destacable que la versioacuten estaacutendar de de alcanzoacute resultados buenos de hecho obtuvo el tercer y el segundo lugar en los antildeos 2016 y 2017 respectivamente Esto muestra que el rendimiento de los algoritmos del estado-del-arte se deteriora al considerar ejecuciones a largo plazo pues esos algoritmos que fueron muy efectivos a corto plazo no lo son tanto a largo plazo La superioridad del de-edm es clara con base en todos los tipos de comparativas descritas

Ademaacutes con el fin de proporcionar resultados que puedan usar otros autores para realizar comparativas en las tablas [tabResults_CEC2016] y [tabResults_CEC2017] se reporta el mejor peor mediana media desviacioacuten estaacutendar y razoacuten de eacutexito para el cec 2016 y 2017 respectivamente En estas tablas se observa que nuestra propuesta resuelve todos los problemas uni-modales y que en la mayor parte de los problemas multi-modales se obtienen resultados muy aceptables con respecto a los reportados por otros meacutetodos Asiacute nuestra propuesta resolvioacute y mejoroacute significativamente varias funciones complejas que no fueron resueltas por ninguno de los algoritmos restantes

[tabResults_CEC2016]

10000

Resultados del de-edm con los problemas del cec 2016

Mejor Peor Mediana Media Sd Razoacuten de eacutexito

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 360E-02 400E-03 739E-03 115E-02 392E-01

200E-02 102E-01 590E-02 577E-02 493E-02 000E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 600E-02 000E+00 588E-03 190E-02 902E-01

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

100E-02 800E-02 500E-02 467E-02 260E-02 000E+00

100E-02 500E-02 300E-02 282E-02 213E-02 000E+00

000E+00 470E-01 220E-01 199E-01 155E-01 196E-02

400E-02 150E-01 800E-02 847E-02 496E-02 000E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 200E-02 100E-02 765E-03 632E-03 314E-01

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 300E-02 000E+00 373E-03 276E-02 765E-01

000E+00 100E+02 000E+00 255E+01 510E+01 745E-01

f17

f10

f3

f20

f13

f6

f23

f16

f9

f2

f19

f12

f5

f22

f15

f8

f1

f18

f11

f4

f21

f14

f7

[tabResults_CEC2017]

000E+00 690E-01 000E+00 261E-02 133E-01 961E-01

100E+02 100E+02 100E+02 100E+02 000E+00 000E+00

800E-02 100E+02 529E+01 520E+01 319E+01 000E+00

250E-01 910E-01 540E-01 560E-01 292E-01 000E+00

000E+00 357E+02 343E+02 276E+02 160E+02 196E-01

100E+02 100E+02 100E+02 100E+02 000E+00 000E+00

184E+02 184E+02 184E+02 184E+02 325E-02 000E+00

f26

f25

f24

f30

f29

f28

f27

Resultados del de-edm con los problemas del cec 2017

Mejor Peor Mediana Media Sd Razoacuten de eacutexito

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 120E-01 000E+00 165E-02 339E-02 745E-01

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 220E-01 000E+00 637E-02 176E-01 667E-01

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

f14

f11

f8

f5

f2

f13

f10

f7

f4

f1

f15

f12

f9

f6

f3

000E+00 210E-01 000E+00 247E-02 727E-02 882E-01

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 100E-02 000E+00 196E-03 447E-03 804E-01

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 300E+02 000E+00 349E+01

103E+02 882E-01

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 100E+02 000E+00 392E+00

200E+01 961E-01

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 387E+02 387E+02 205E+02

268E+02 196E-02

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

145E+02 226E+02 218E+02 199E+02

421E+01 000E+00

395E+02 395E+02 395E+02 395E+02

210E-01 000E+00

f23

f20

f17

f28

f25

f22

f19

f16

f30

f27

f24

f21

f18

f29

f26

Disentildeo de operadores de cruza basados en diversidad La segunda propuesta se aplica en el campo de optimizacioacuten multi-objetivo y estaacute basada en la extensioacuten del operador de cruza sbx En esta seccioacuten se introducen en primer lugar varios conceptos relacionados con los algoritmos evolutivos multi-objetivo para posteriormente describir algunas de las clasificaciones maacutes populares de operadores de cruza Finalmente se realiza un anaacutelisis del operador sbx y con base en el mismo se propone una variante dinaacutemica denominada Operador de Cruza Dinaacutemico basado en Simulacioacuten Binaria (Dynamic Simulated Binary Crossover - dsbx) el cual es validado experimentalmente

Algoritmos evolutivos multi-objetivo Los eas han sido utilizados frecuentemente para lidiar con problemas de optimizacioacuten multi-objetivo (Multi-objective Optimization Problems - MOPs) Particularmente un MOP de dominio continuo y que es basado en minimizacioacuten puede ser definido como se indica en la Ecuacioacuten ([eqnModel_general]) de la seccioacuten 1 fijando la a un valor mayor que uno Dadas dos soluciones domina a denotado por si y solo si y Una solucioacuten es conocida como solucioacuten oacuteptima de Pareto si no existe otra solucioacuten que domine a El conjunto de Pareto es el conjunto de todas las soluciones oacuteptimas de Pareto y el frente de Pareto estaacute formado por las imaacutegenes del conjunto de Pareto El propoacutesito de un Algoritmo Evolutivo Multi-Objetivo (Multi-objective Evolutionary Algorithm - MOEA) es esencialmente obtener un conjunto de soluciones bien distribuidas y cercanas a las soluciones del frente de Pareto

En los uacuteltimos antildeos se han disentildeado una gran cantidad de moeas siguiendo distintos principios A raiacutez de esto se han propuesto varias taxonomiacuteas y por ejemplo en base a sus principios de disentildeo se pueden clasificar en basados en la dominancia de Pareto indicadores yo descomposicioacuten Hay algoritmos muy competitivos de cada uno de los grupos por lo que en esta seccioacuten se consideraron moeas de todos los grupos para realizar la validacioacuten Particularmente la validacioacuten experimental se desarrolloacute incluyendo a los algoritmos Algoritmo Geneacutetico basado en Ordenacioacuten de los No-Dominados (Non-Dominated Sorting Genetic Algorithm - NSGA-II) el Algoritmo Evolutivo Multi-objetivo basado en descomposicioacuten (MOEA based on Decomposition - MOEAD) y el Algoritmo Evolutivo Multi-objetivo basado en la Meacutetrica-S (the -Metric Selection Evolutionary Multi-objective Optimization Algorithm - SMS-EMOA) Estos algoritmos son representativos de los basados en dominancia basados en descomposicioacuten y basados en indicadores respectivamente

Mrarrx rarry isin Ω rarrx rarry rarrx ≺ rarry

forallm isin 1 2 M fm(xi) le fm(yi) existm isin 1 2 M fm(xi) lt fm(yi)rarrx isin Ω

rarrx isin Ωrarrx

S

Funcioacuten de densidad del operador de cruza sbx con iacutendices de distribucioacuten y Las soluciones padre estaacuten ubicadas en y respectivamente

[figfig_sim]

[figSimulation_pv]

[figSimulations_Index_20]

2 52 5

Operadores de cruza Los operadores de cruza son utilizados para generar soluciones hijas utilizando la informacioacuten de las soluciones padre Asiacute estos operadores combinan las caracteriacutesticas de dos o maacutes soluciones padre con el propoacutesito de generar nuevas soluciones candidatas En base en que en la literatura existen diversos operadores de cruza se han propuesto varias taxonomiacuteas para clasificarlos Particularmente las taxonomiacuteas se basan en varias caracteriacutesticas tales como la ubicacioacuten relativa entre padres e hijos o el tipo de relaciones existentes entre las variables

Una clasificacioacuten popular hace distincioacuten entre operadores de cruza basados en las variables y basados en los vectores En los basados en las variables cada variable de las soluciones padre son combinadas para crear nuevos valores de forma independiente siendo ideales para lidiar con problemas separables Algunos operadores que pertenecen a esta categoriacutea son el Operador de Cruza por Mezcla (the Blend Crossover - blx) y el sbx Por otra parte los operadores de recombinacioacuten basados en vectores tienen en cuenta la relacioacuten que existe entre las variables por lo que la combinacioacuten no es independiente Asiacute este tipo de operadores pueden por ejemplo realizar combinaciones lineales de las soluciones involucradas Algunos operadores que pertenecen a esta categoriacutea son el Operador de Cruza Unimodal Normalmente Distribuido (Unimodal Normally Distributed Crossover - undx) y el Operador de Cruza Simplex (Simplex Crossover - spx)

Adicionalmente los operadores de cruza pueden ser clasificados como centrados en los padres y centrados en la media En los operadores centrados en los padres las soluciones hijas tienden a ser creadas alrededor de cada solucioacuten padre mientras que en los operadores centrados en la media se tiende a crear a las soluciones hijas alrededor de la media de los valores de las soluciones padres

El operador de cruza basado en simulacioacuten binaria - SBX

Entre los operadores de cruza el Operador de Cruza Basado en Simulacioacuten Binaria (Simulated Binary Crossover - sbx) es uno de los maacutes utilizados en dominios continuos y fue el que se decidioacute extender en nuestra propuesta por lo que esta seccioacuten se centra en este operador de cruza El operador sbx es clasificado como un operador centrado en los padres por lo que los valores asociados a los hijos ( y ) tienden a ser cercanos a los valores de los padres ( y ) Especiacuteficamente el proceso para generar los valores de las soluciones hijas se basa en utilizar una distribucioacuten de probabilidad Esta distribucioacuten controla el factor de dispersioacuten el cual es definido como la razoacuten entre la distancia de los valores de las soluciones hijas y la distancia entre los valores de las soluciones padre Esta funcioacuten de densidad se define con base en un iacutendice de distribucioacuten (es un paraacutemetro de control

c1 c2 p1 p2

β = |c1 minus c2 | | p1 minus p2 |

ηc

especificado por el usuario) el cual altera la capacidad de exploracioacuten Especiacuteficamente un iacutendice pequentildeo induce una probabilidad elevada de crear valores de las soluciones hijas distantes de los valores de las soluciones padre mientras que iacutendices elevados tienden a crear soluciones muy similares a las soluciones padre lo cual se ilustra en la figura [figfig_sim] La definicioacuten matemaacutetica de la distribucioacuten y la forma de generar los valores de las soluciones hijas pueden ser estudiados en Las ecuaciones iniciales fueron formuladas con base en un problema de optimizacioacuten sin liacutemites en las variables Sin embargo en muchos problemas cada variable estaacute limitada dentro de un liacutemite inferior y superior Para considerar los liacutemites del espacio de decisioacuten se propuso una modificacioacuten de la distribucioacuten de probabilidad que es la que se usa en este artiacuteculo Para el caso de nuestro meacutetodo no es demasiado importante conocer la foacutermula exacta sino el efecto del valor que se ha ilustrado previamente

[algSBX_Operator]

Entrada Soluciones padre ( ) Iacutendice de distribucioacuten ( ) Probabilidad de cruza ( ) Salida Soluciones hijo ( ) [alginherit_variable] Generar utilizando las distribuciones dadas en Generar utilizando las distribuciones dadas en Intercambiar con

Es importante aclarar que la primera versioacuten del sbx fue disentildeada con base en una sola variable Posteriormente los autores consideraron aplicarlo a problemas con muacuteltiples variables considerando una estrategia simple para escoger las variables que se van a cruzar Especiacuteficamente con base en los principios del operador de cruza uniforme cada variable es cruzada con una probabilidad igual a A pesar de su sencillez y de no tener en cuenta las posibles dependencias entre variables hoy en diacutea eacutesta es la forma maacutes comuacuten de aplicar el sbx

Implementacioacuten y anaacutelisis del operador sbx

En este apartado se discuten algunas de las principales caracteriacutesticas de la implementacioacuten maacutes utilizada del operador sbx para problemas con muacuteltiples variables Esencialmente se consideran tres componentes clave que podriacutean afectar al rendimiento de los moeas En primer lugar como ya se mencionoacute anteriormente cada variable es alterada con una probabilidad fija igual a Si este valor de probabilidad se incrementa entonces los hijos tienden a crearse a mayor distancia de los padres debido a que se modifican maacutes variables de forma simultaacutenea En los problemas separables en general interesa modificar soacutelo una variable mientras que en los no separables suele ser maacutes conveniente modificar varias variables a la vez En la figura [figSimulation_pv] se pueden observar las implicaciones de modificar esta probabilidad considerando un problema con dos variables Particularmente en la parte derecha se muestra que una probabilidad pequentildea provoca que algunos valores permanezcan intactos es decir hay una tendencia de generar

ηc

P1 P2 ηc PcC1 C2 C1d

C2d C1d C2dC1d = P1d C2d = P2d C1 = P1 C2 = P2

05

05

desplazamientos paralelos a los ejes lo cual suele ser ideal para problemas separables Por otra parte en la parte izquierda se muestra que utilizando una probabilidad elevada existe un comportamiento de buacutesqueda distinto donde la tendencia anterior desaparece lo cual podriacutea ser oportuno para problemas no separables Es importante destacar que existe una relacioacuten entre esta probabilidad y el iacutendice de distribucioacuten ya que estos dos factores tienen un efecto directo en la similitud que existe entre las soluciones padres e hijas

[figSimulation_Case_3]

El segundo aspecto importante es que despueacutes de generar los dos valores de las soluciones hijas estos valores son intercambiados con una probabilidad fija (usualmente es ) es decir el valor de la solucioacuten hija no siempre es heredado a partir de la solucioacuten padre maacutes cercana Esta es una caracteriacutestica no muy discutida sin embargo es un aspecto muy relevante que afecta al rendimiento del algoritmo En algunos contextos esta probabilidad se denomina ldquoProbabilidad de cruza uniforme por variablerdquo (Variable uniform crossover probability) o ldquoRecombinacioacuten Discretardquo (Discrete Recombination) Dado que en el aacutembito multi-objetivo se promueve maacutes diversidad en las variables de decisioacuten de forma impliacutecita estos intercambios podriacutean ser altamente disruptivos De hecho debido a esto no es totalmente claro que el sbx deba ser categorizado como un operador centrado en los padres Estos intercambios que existen entre los valores de las soluciones hijas tienen un efecto de realizar muacuteltiples ldquoreflexionesrdquo en el espacio de buacutesqueda Asiacute conforme se incrementa la dimensionalidad en el espacio de las variables el nuacutemero de regiones cubiertas crece de forma exponencial como se puede observar en los casos de dos y tres dimensiones en la figura [figSimulations_Index_20] Es importante notar que esta caracteriacutestica tiene un efecto relevante en la distancia entre las soluciones padre y las soluciones hijas

Finalmente se discute el iacutendice de distribucioacuten que es quizaacutes la caracteriacutestica maacutes conocida del operador sbx Un iacutendice de distribucioacuten pequentildeo provoca un grado de exploracioacuten elevado De hecho un iacutendice de distribucioacuten igual a uno tiene un efecto similar al Operador de Recombinacioacuten Difusa (Fuzzy Recombination Operator) En la figura [figSimulation_Case_3] se puede observar el efecto de aplicar distintos iacutendices de distribucioacuten Particularmente en la parte izquierda se considera un iacutendice de distribucioacuten pequentildeo mientras en la parte derecha se considera un iacutendice de distribucioacuten grande Se observa que este uacuteltimo genera soluciones candidatas similares a las soluciones padre

05c1 p1

En el Algoritmo [algSBX_Operator] se muestra la implementacioacuten del operador sbx Este pseudocoacutedigo estaacute basado en la implementacioacuten que estaacute integrada en el coacutedigo del NSGA-II propuesto por Deb et al la cual se considera como la variante maacutes popular En los paraacutemetros de entrada se requieren dos soluciones padre ( ) y eacuteste crea dos soluciones hijas ( ) El primero y el segundo componente mencionados previamente corresponden a las liacuteneas 5 y 9 respectivamente El caso claacutesico del operador sbx se configura con los paraacutemetros y Es importante hacer notar que la implementacioacuten claacutesica no considera la dimensionalidad de las variables o el criterio de paro como parte de sus paraacutemetros internos

Propuesta - dsbx Con base en el anaacutelisis anterior y con el propoacutesito de inducir un balanceo entre exploracioacuten e intensificacioacuten de forma dinaacutemica y que dependa del instante de ejecucioacuten se proponen las siguiente modificaciones En primer lugar se modifica la probabilidad de alterar una variable ( ) durante la ejecucioacuten La intencioacuten de esta modificacioacuten es estimular la capacidad de exploracioacuten considerando inicialmente una probabilidad elevada para alterar maacutes variables de forma simultaacutenea mientras que conforme la ejecucioacuten avanza se reduce esta probabilidad con el fin de reducir el nuacutemero de variables que se modifican y promover asiacute movimientos maacutes pequentildeos El valor de se cambia con base en un modelo lineal decreciente donde inicialmente se fija a y se decrementa de forma que a la mitad del total de generaciones alcanza el valor Este uacuteltimo valor es mantenido hasta el final de la ejecucioacuten es decir desde la mitad de la ejecucioacuten este paraacutemetro se fija al mismo valor que el de la implementacioacuten tradicional del sbx Para asignar el valor se utiliza la Ecuacioacuten ([eqnlinear]) donde corresponde a la generacioacuten actual y corresponde al nuacutemero total de generaciones

El segundo cambio estaacute relacionado con la probabilidad de aplicar reflexiones ( ) En este caso es actualizado de acuerdo a la Ecuacioacuten ([eqnlinear]) por lo tanto la probabilidad de aplicar una reflexioacuten se incrementa de a durante la ejecucioacuten Esta modificacioacuten se realiza con el propoacutesito de evitar el comportamiento disruptivo de intercambiar variables en las primeras generaciones ya que esto provocariacutea modificaciones muy draacutesticas De esta forma seriacutea maacutes sensato aplicar estas reflexiones una vez que los individuos convergen en cierto grado Noacutetese que se incrementa hasta el valor el cual es el valor utilizado en la implementacioacuten del sbx estaacutendar ya que no se quiere disponer de un comportamiento excesivamente disruptivo Sin embargo en el futuro seriacutea interesante realizar estudios con otros valores finales

P1 P2 C1 C2

δ1 = δ2 = 05ηc = 20

δ1

δ110

05

δ1 GTranscurridasGTotal

1 minus δ2δ2

00 05

05

δ1 = δ2 = ma x(05 10 minusGTranscurridas

GTotal )

Finalmente el iacutendice de distribucioacuten tambieacuten es modificado durante la ejecucioacuten En las primeras etapas se promueve un iacutendice de distribucioacuten pequentildeo con el propoacutesito de incrementar la capacidad de exploracioacuten del sbx Posteriormente se decrementa de forma lineal lo cual tiene el efecto de que la curva de distribucioacuten se cierre y por lo tanto se promueve un mayor grado de intensificacioacuten en las etapas finales El incremento lineal es llevado a cabo usando la Ecuacioacuten ([eqnindex_eta]) por lo tanto el iacutendice de distribucioacuten es alterado de a Es importante aclarar que ya se han considerado modificaciones similares al iacutendice de distribucioacuten aunque las otras propiedades que se modifican nunca han sido estudiadas en profundidad

Resultados Puntos de referencias para el indicador HV

[tabMetrics_2]

[tabMetrics_3]

[tabstatistical_Tests]

2 22

ηc = 2 + 20 times ( GTranscurridas

GTotal )

Instancias Punto de referencia

WFG1-WFG9

DTLZ 1 2 4

DTLZ 3 5 6

DTLZ7

UF 1-10

[11 11]

[2 2]

[21 2m + 01]

[11 11 2m]

[3 3]

HV-2obj 16 29 47 6 61 25 28 19 45 31 23 38 54 3 35

HV-3obj 15 19 42 12 50 14 17 15 44 33 10 33 26 9 41

IGD-2obj 14 30 48 4 60 28 25 17 50 33 19 40 52 2 38

harr harrharr harrharr

En este apartado se analizan los resultados obtenidos con las variantes dinaacutemicas del sbx (dsbx) El nuevo operador de cruza se integroacute en los algoritmos NSGA-II MOEAD y SMS-EMOA En primer lugar se analiza cada una de las tres modificaciones propuestas de forma aislada Posteriormente se construye un caso donde se consideran las dos modificaciones que ofrecieron mejores resultados de forma simultaacutenea Como parte de la validacioacuten experimental se consideran los problemas de prueba WFG DTLZ y UF Ademaacutes con el propoacutesito de comparar nuestra extensioacuten del sbx con otros operadores se incluye la variante de evolucioacuten diferencial conocida como demo

Para llevar a cabo el anaacutelisis experimental y dado que todos los algoritmos son estocaacutesticos cada caso fue ejecutado veces con distintas semillas La configuracioacuten global que se aplicoacute a todos los algoritmos fue la siguiente Se asignoacute el criterio de paro a generaciones el tamantildeo de la poblacioacuten a se configuraron los problemas de prueba wfg con dos y tres objetivos considerando 24 variables donde variables son paraacutemetros de distancia y son

IGD-3obj 14 18 44 13 44 19 18 15 43 33 15 28 23 9 44

HV-2obj 15 33 44 10 60 22 25 26 41 39 18 35 57 9 26

HV-3obj 10 22 44 12 39 25 11 19 46 24 10 42 38 5 33

IGD-2obj 16 31 45 9 60 23 23 27 42 37 17 38 57 7 28

IGD-3obj 12 22 42 13 43 20 13 24 39 30 9 37 40 10 26

HV-2obj 9 35 48 7 43 42 16 31 45 41 9 42 53 8 31

HV-3obj 7 21 48 9 35 32 13 21 42 27 6 43 31 4 41

IGD-2obj 10 34 48 15 48 29 12 33 47 41 12 39 55 6 31

IGD-3obj 8 20 48 13 30 33 9 19 48 22 5 49 27 5 44

harr

harr

harr

harr

harr

harr

harr

harr

harr

harr

3525 000

10020 4

paraacutemetros de posicioacuten Como es sugerido en se consideroacute variables de decisioacuten en los problemas de prueba dtlz donde para los problemas DTLZ1 DTLZ2 - DTLZ6 y DTLZ7 se consideraron respectivamente En el caso de los problemas de prueba uf se utilizaron variables de decisioacuten Finalmente se hizo uso del operador de mutacioacuten polinomial con una probabilidad de mutacioacuten de y con un iacutendice de distribucioacuten igual a mientras que el operador de cruza sbx se utilizoacute con una probabilidad de cruza igual a y un iacutendice de distribucioacuten de

A continuacioacuten se especifica la parametrizacioacuten adicional propia de cada algoritmo

bull DEMO CR = 03 y F = 05

bull SMS-EMOA desplazamiento para calcular el HV = 100

bull MOEAD tamantildeo de la vecindad = 10 el nuacutemero de actualizaciones por subproblema ( ) = 2 y

Para comparar los frentes obtenidos por cada meacutetodo se utiliza el hipervolumen normalizado (HV) que se debe maximizar y la Distancia Generacional Invertida Modificada (Inverted Generational Distance Plus - IGD+) que se debe minimizar En la tabla [tabReferencePoints] se presentan los puntos de referencia utilizados para el indicador del hipervolumen los cuales son similares a los utilizados en Por otra parte para comparar los resultados estadiacutesticamente (valores del IGD+ y HV) se siguioacute un procedimiento similar al que se propuso en siendo el mismo que se aplicoacute para validar la primera propuesta

Anaacutelisis de cada modificacioacuten en el operador sbx En este apartado se analiza el efecto que cada modificacioacuten propuesta tiene de forma independiente sobre los resultados obtenidos Para ello basados en el Algoritmo [algSBX_Operator] se proponen cuatro casos

bull Caso 1 se aplica la versioacuten estaacutendar del operador sbx donde y

bull Caso 2 se actualiza el valor como se indica en la Ecuacioacuten ([eqnlinear]) y

bull Caso 3 se actualiza el valor como se indica en la Ecuacioacuten ([eqnlinear]) y

bull Caso 4 se actualiza el iacutendice de distribucioacuten de acuerdo a la Ecuacioacuten ([eqnindex_eta])

n = M + r minus 1

r = 5 10 2030

1n 5009

20

nrδ = 09

δ1 = δ2 = 05 ηc = 20

δ1 δ2 = 05ηc = 20

δ2 δ1 = 05ηc = 20

δ1 = δ2 = 05

En las tablas [tabMetrics_2] y [tabMetrics_3] se muestra informacioacuten del HV normalizado y del IGD+ para cada caso con dos y tres objetivos respectivamente (el Caso 5 se comenta maacutes adelante) Especiacuteficamente se muestra la media del HV e IGD+ para todos los problemas en dos y tres objetivos Se observa que considerando dos y tres objetivos el Caso 4 mejora al Caso 1 al Caso 2 y al Caso 3 en todos los algoritmos Por lo tanto se aprecian de forma clara los beneficios de incrementar el iacutendice de distribucioacuten durante la ejecucioacuten Por otra parte al considerar tres objetivos el Caso 2 presentoacute un rendimiento menor que el Caso 1 posiblemente debido a que al alterar tantas variables de forma simultaacutenea se produce un comportamiento excesivamente disruptivo Quizaacutes los resultados podriacutean mejorar si el paraacutemetro es alterado de una forma distinta sin embargo esto se deja como trabajo futuro Los anaacutelisis anteriores uacutenicamente consideran la media obtenida en todos los problemas de prueba En la tabla [tabstatistical_Tests] se muestran los resultados de las pruebas estadiacutesticas (el Caso 5 se discute en la siguiente seccioacuten) Particularmente se realizan comparaciones por pares en base a las pruebas estadiacutesticas ya mencionadas entre los cinco casos Este procedimiento se realizoacute de forma independiente para el NSGA-II MOEAD y el SMS-EMOA Para cada algoritmo y para cada caso la columna ldquo rdquo reporta el nuacutemero de comparaciones donde las pruebas estadiacutesticas confirmaron la superioridad del caso correspondiente mientras que en la columna ldquo rdquo se reporta el nuacutemero de veces donde este caso fue inferior y la columna ldquo rdquo indica el nuacutemero de comparaciones donde las diferencias no fueron significativas Con base en estos resultados se puede observar que el caso 3 y caso 4 aportan con respecto al caso 1 mientras que el caso 2 no es robusto siendo en varios algoritmos inferior al caso 1 Adicionalmente se anexan resultados detallados para facilitar que otros investigadores puedan realizar comparativas con un mayor nivel de detalle 6

Modificacioacuten simultaacutenea de varios componentes Con base en los anaacutelisis realizados con anterioridad se propone una variante del operador sbx que incorpora las modificaciones propuestas en el Caso 3 y Caso 4 de forma simultaacutenea es decir se incorpora un cambio dinaacutemico tanto en el paraacutemetro como en el iacutendice de distribucioacuten Debido a los resultados de baja calidad del Caso 2 el paraacutemetro no se modifica de forma dinaacutemica Particularmente el Caso 5 se construye con base en el Algoritmo [algSBX_Operator] asignando el paraacutemetro a debido a que es la forma de la versioacuten estaacutendar del sbx mientras que es actualizado de acuerdo a la Ecuacioacuten ([eqnlinear]) y el paraacutemetro es actualizado como se indica en la Ecuacioacuten ([eqnindex_eta])

De acuerdo a la media del HV y del IGD+ que se obtuvieron en el Caso 5 (ver tablas [tabMetrics_2] y [tabMetrics_3]) es claro que integrar los Casos 3 y 4 proporciona

δ1

harr

δ2δ1

δ1 05δ2 ηc

httpsgithubcomjoelchaconcastilloSBX_CEC20186

beneficios importantes En el caso de dos objetivos se observa una ventaja significativa Sin embargo en el caso de tres objetivos los Casos 4 y 5 son muy similares con base en la media Ademaacutes al considerar tres objetivos los resultados que se obtuvieron en el Caso 5 son superiores a los obtenidos con de mientras que al considerar la versioacuten estaacutendar de sbx se observa un deterioro Por lo tanto si el operador sbx es configurado adecuadamente puede generar resultados similares o superiores que el algoritmo demo

Finalmente en la tabla [tabstatistical_Tests] se muestran los resultados de las pruebas estadiacutesticas Los beneficios obtenidos por el Caso 5 son muy claros De hecho uacutenicamente el Caso 4 obtuvo mejores resultados que el Caso 5 al considerar tres objetivos y al algoritmo NSGA-II Esto demuestra que se pueden obtener mejores resultados si se integran varias modificaciones dinaacutemicas de forma simultaacutenea Ademaacutes los resultados confirman las ventajas de la versioacuten dinaacutemica frente al caso estaacutendar (Caso 1) El uacutenico caso que no presenta ventajas importantes frente a la versioacuten estaacutendar del sbx es el Caso 2 el cual fue discutido con anterioridad

Conclusiones y trabajo futuro La convergencia prematura es una de las debilidades maacutes importantes de los eas Una de las formas de lidiar con este problema consiste en inducir un balanceo adecuado entre exploracioacuten e intensificacioacuten Sin embargo obtener este balanceo no es una tarea trivial debido a que cada problema de optimizacioacuten tiene caracteriacutesticas distintas y por ello han surgido numerosos esquemas para tratar esta problemaacutetica Con base en esto se han desarrollado varias taxonomiacuteas con el propoacutesito de clasificar las diferentes formas en que se puede preservar y promover la diversidad En este trabajo con el fin de ilustrar como se pueden realizar disentildeos de eas que tomen en cuenta el balanceo entre exploracioacuten e intensificacioacuten se presentan dos ejemplos De forma general las propuestas establecen un comportamiento dinaacutemico de alguacuten componente del ea teniendo en cuenta para ello el criterio de paro y el instante en que se encuentra la ejecucioacuten Asiacute se obtuvo un balanceo adecuado en el que en las primeras fases se promueve maacutes exploracioacuten y en las uacuteltimas se promueve maacutes la intensificacioacuten De modo maacutes especiacutefico en la primera propuesta se modifica evolucioacuten diferencial por medio de una nueva fase de reemplazo con el propoacutesito de conseguir este balanceo Ademaacutes esta contribucioacuten incorpora una poblacioacuten eacutelite con el propoacutesito de proporcionar soluciones de calidad tanto a mediano como a largo plazo Con base en la validacioacuten experimental llevada a cabo se observa que esta propuesta mejora a los mejores algoritmos que se habiacutean propuesto en una competicioacuten que consideroacute las funciones de prueba usadas en este capiacutetulo Posteriormente se presenta un anaacutelisis del operador de cruza sbx y se desarrolloacute una variante que modifica varios componentes de forma dinaacutemica

considerando tambieacuten el criterio de paro y las generaciones transcurridas Con base en los resultados obtenidos con problemas muy populares del aacutembito de optimizacioacuten multi-objetivo se muestra que usar el operador sbx modificado ofrece ventajas muy importantes en varios moeas y para diferentes indicadores De forma general se observa que obtener un balanceo apropiado entre exploracioacuten e intensificacioacuten es realmente importante y que esto se puede conseguir utilizando teacutecnicas radicalmente diferentes aunque siguiendo los mismos principios de disentildeo

El campo de disentildeo de eas es un campo muy activo y en el que hay muchas ideas auacuten por explorar Uno de los aspectos importantes es que las estrategias de control de diversidad ofrecen muchas ventajas a largo plazo pero se debe hacer el esfuerzo por conseguir que se pueda reducir el nuacutemero de evaluaciones requeridas para obtener resultados prometedores Otro aspecto importante es que en general la mayor parte de las estrategias de control de diversidad introduce nuevos paraacutemetros por lo que es importante combinar estos mecanismos con estrategias de control de paraacutemetros adaptativas o auto-adaptativas para facilitar su utilizacioacuten Finalmente para el caso especiacutefico del dsbx seriacutea interesante integrarlo con teacutecnicas de aprendizaje para lidiar con problemas con dependencias y mejorar asiacute auacuten maacutes el rendimiento de la propuesta

Para saber maacutes bull Para saber maacutes sobre la historia de los algoritmos evolutivos se sugiere consultar

bull Puede consultar informacioacuten sobre tipos de metaheuriacutesticas y disentildeo e implementacioacuten de las mismas en

bull Si desea consultar informacioacuten baacutesica sobre los fundamentos de los algoritmos evolutivos se sugiere consultar

bull Para profundizar maacutes en el toacutepico de manejo de diversidad exploracioacuten e intensificacioacuten se sugiere consultar

bull Se puede consultar material relacionado con operadores de cruza y algoritmos evolutivos multi-objetivo en

bull Para obtener maacutes informacioacuten relacionada al tema de evolucioacuten diferencial se sugiere consultar

bull Si desea consultar aplicaciones de algoritmos evolutivos multi-objetivo se puede consultar

Agradeciemientos Los autores agradecen el apoyo financiero proporcionado por CONACyT a traveacutes del proyecto no 285599

Hiper-heuriacutesticas en la Solucioacuten de Problemas de Optimizacioacuten

Hugo Terashima-Mariacuten Santiago Enrique Conant-Pablos Joseacute Carlos Ortiz-Bayliss e Ivaacuten Mauricio Amaya Contreras

terashimasconantjcobaylissiamaya2itesmmx Tecnologico de Monterrey Escuela de Ingenieriacutea y Ciencias

Campus Monterrey

Introduccioacuten Cuando nos enfrentamos a problemas complejos como aquellos del tipo NP o de optimizacioacuten combinatoria pueden presentarse dos escenarios diferentes En el primero estamos dispuestos a invertir todos los recursos disponibles para resolver de la mejor manera posible un problema particular Este escenario se caracteriza porque cada vez que un nuevo problema aparece se invierte una gran cantidad de recursos para obtener una solucioacuten a esa instancia dada En el segundo escenario estamos dispuestos a sacrificar algo de la calidad de la solucioacuten para economizar recursos Por lo tanto se utilizan meacutetodos geneacutericos y capaces de obtener soluciones aceptables mediante un uso racionado de los recursos En este caso el riesgo es que el meacutetodo geneacuterico no sea adecuado para el problema y que produzca una solucioacuten de mala calidad Estaacute claro que en promedio el primer escenario generaraacute mejores soluciones pero no es viable en la mayoriacutea de los problemas reales debido al alto consumo de recursos Las hiper-heuriacutesticas por otra parte son generalmente uacutetiles en el segundo escenario pues buscan proporcionar estrategias geneacutericas con buena calidad

Las hiper-heuriacutesticas son meacutetodos emergentes de buacutesqueda heuriacutestica que intentan producir un nivel maacutes alto de flexibilidad e independencia del dominio en que se aplican de tal forma que sean capaces de adaptarse a distintos tipos de problemas o a las distintas instancias de un mismo tipo Esto lo automatizan frecuentemente incorporando meacutetodos de aprendizaje automaacutetico y lo ejecutan a traveacutes de un proceso de seleccioacuten dinaacutemica de heuriacutesticas maacutes simples durante la solucioacuten de los problemas o bien mediante la generacioacuten de nuevas heuriacutesticas a partir de la combinacioacuten o adaptacioacuten de otras ya existentes (o de sus componentes) Actualmente hay diversos modelos de hiper-heuriacutesticas los cuales pueden clasificarse de acuerdo a las categoriacuteas propuestas por Esta clasificacioacuten divide a las hiper-heuriacutesticas seguacuten su forma de aprendizaje asiacute como seguacuten su mecanismo de obtencioacuten de las soluciones entre otros Aunque el teacutermino lsquohiper-heuriacutesticarsquo fue acuntildeado como tal en el 2001 hubieron esfuerzos previos con ideas similares Entre ellos cabe destacar a los portafolios (o seleccioacuten) de algoritmos y a la

configuracioacuten especiacutefica de algoritmos Desde entonces la actividad de investigacioacuten en hiper-heuriacutesticas ha avanzado y propagado en diversas instituciones en el mundo y ha sido tema de presentacioacuten y discusioacuten en diversas conferencias y revistas internacionales

Por otra parte y en lo que respecta a la investigacioacuten en hiper-heuriacutesticas en Meacutexico son pocos los investigadores e instituciones que se han vinculado a ella La mayor parte de la investigacioacuten realizada en el tema se concentroacute inicialmente en el Tecnoloacutegico de Monterrey donde se han desarrollado hiper-heuriacutesticas para corte y empacado satisfaccioacuten de restricciones y ruteo de vehiacuteculos El Tecnoloacutegico de Monterrey es tambieacuten pionero en el tema de la transformacioacuten de caracteriacutesticas y en hiper-heuriacutesticas para resolver problemas multi-objetivo Las hiper-heuriacutesticas desarrolladas en el Tecnoloacutegico de Monterrey se han fundamentado en diversas estrategias de aprendizaje que incluyen algoritmos geneacuteticos redes neuronales y programacioacuten geneacutetica entre otras Recientemente el Instituto Politeacutecnico Nacional (IPN) y el CINVESTAV han logrado importantes avances en lo relacionado a hiper-heuriacutesticas para problemas multi-objetivo y en el uso de hiper-heuriacutesticas basadas en evolucioacuten diferencial Como resultado de la colaboracioacuten del Tecnoloacutegico de Monterrey y el CINVESTAV en el 2017 comenzoacute a explorarse la transformacioacuten de caracteriacutesticas como mecanismo para mejorar el desempentildeo de hiper-heuriacutesticas El Instituto Tecnoloacutegico de Leoacuten y la Universidad de Guanajuato ha colaborado para desarrollar muacuteltiples trabajos sobre hiper-heuriacutesticas Los dominios de problemas que han abordado con hiper-heuriacutesticas incluyen calendarizacioacuten de eventos acadeacutemicos y ruteo de vehiacuteculos Adicionalmente la Universidad de Guanajuato ha incursionado en el uso de redes neuronales pre-entrenadas para acelerar el proceso de seleccioacuten de las heuriacutesticas ademaacutes de proponer una metodologiacutea para la adecuada seleccioacuten del conjunto de heuriacutesticas que debe estar disponible para una determinada hiper-heuriacutestica El Instituto Tecnoloacutegico de Ciudad Madero en colaboracioacuten con el Instituto Tecnoloacutegico de Leoacuten ha realizado importantes avances en la generacioacuten semiautomaacutetica de heuriacutesticas para el problema de empacado utilizando diversos meacutetodos como evolucioacuten diferencial y evolucioacuten gramatical

Este capiacutetulo estaacute encaminado a presentar el concepto de hiper-heuriacutesticas para entender sus caracteriacutesticas fundamentos modelos fortalezas y debilidades asiacute como algunas de sus aacutereas de aplicacioacuten El capiacutetulo integra en la Seccioacuten 2 los fundamentos de hiper-heuriacutesticas considerando principalmente los dos tipos aqueacutellas que seleccionan heuriacutesticas y aqueacutellas que generan nuevas heuriacutestica En la Seccioacuten 3 se presentan algunos modelos de hiper-heuriacutesticas algunos basados en esquemas evolutivos y otros basados en redes neuronales La Seccioacuten 4 presenta un ejemplo con la idea de mostrar paso a paso el proceso para generar hiper-heuriacutesticas en particular para el problema de particioacuten balanceada En la Seccioacuten 5 se discuten algunos aspectos avanzados sobre las hiper-heuriacutesticas como la solucioacuten de problemas multi-objetivo y la transformacioacuten de caracteriacutesticas En la Seccioacuten 6 se describe algunas tendencias futuras de hiper-heuriacutesticas

Algunos recursos disponibles relacionados con hiper-heuriacutesticas se presentan en la Seccioacuten 7 Finalmente en la Seccioacuten 8 se proporcionan las conclusiones

Fundamentos de las Hiper-heuriacutesticas Las hiper-heuriacutesticas trabajan sobre la idea de que es posible reutilizar los componentes de meacutetodos existentes ndashgeneralmente simples como son las heuriacutesticasndash para construir meacutetodos de buacutesqueda maacutes robustos y que se adapten a las condiciones del problema actual De esta forma se busca obtener soluciones que en la medida de lo posible y de acuerdo al tiempo disponible sean de buena calidad Ahora bien la forma de adaptacioacuten a los problemas da lugar a los dos grandes tipos de hiper-heuriacutesticas las que seleccionan heuriacutesticas y las que generan nuevas heuriacutesticas

Hiper-heuriacutesticas que seleccionan heuriacutesticas En este tipo de adaptacioacuten se busca cambiar la heuriacutestica usada para atacar la instancia del problema cambios que pueden ocurrir cada vez que el proceso requiere tomar una decisioacuten Por ejemplo en el caso del problema del vendedor viajero (TSP) se pretende encontrar el tour de miacutenimo costo para visitar todas y cada una de las ciudades de un conjunto dado Si se inicia con un tour vaciacuteo la toma de decisiones consiste en decidir la siguiente ciudad a visitar Mientras que con una heuriacutestica estariacuteamos a merced de una sola forma de decisioacuten (por ejemplo visitar la ciudad maacutes cercana o la maacutes lejana a la actual que todaviacutea no se haya visitado) con una hiper-heuriacutestica tenemos la flexibilidad para utilizar heuriacutesticas diferentes en cada toma de decisioacuten (por ejemplo iniciar con la maacutes cercana y luego tomar la maacutes lejana) De esta manera es comuacuten que una hiper-heuriacutestica utilice conjuntos y oacuterdenes de heuriacutesticas distintos para resolver diferentes instancias de un problema Desde esta perspectiva una hiper-heuriacutestica es el meacutetodo de alto nivel que controla coacutemo y cuaacutendo usar heuriacutesticas de bajo nivel

Hiper-heuriacutesticas que generan nuevas heuriacutesticas Este segundo tipo de adaptacioacuten busca combinar heuriacutesticas existentes (o sus componentes) en la generacioacuten de heuriacutesticas de alto nivel Por ejemplo asumiendo de nuevo el problema del vendedor viajero donde se construye la solucioacuten a partir de un tour vaciacuteo una heuriacutestica podriacutea decidir la nueva ciudad a agregar como aquella que minimice la distancia con respecto al eje coordenado a la uacuteltima ciudad visitada en el tour parcial actual Sin embargo otra heuriacutestica podriacutea seleccionar la ciudad basada en la distancia con respecto al eje coordenado La ciudad recomendada por ambas heuriacutesticas podriacutea ser la misma o una distinta Otra alternativa seriacutea combinar los criterios de ambas heuriacutesticas por ejemplo que se agregue la ciudad que minimice la funcioacuten Mediante esta sencilla funcioacuten es posible combinar los

dxx

dy y

f (x) = dx times dy

criterios de decisioacuten de cada heuriacutestica y formar una que se adapte a diferentes condiciones del problema De esta forma la hiper-heuriacutestica es un meacutetodo que genera nuevas heuriacutesticas

A continuacioacuten describiremos con maacutes detalle cada uno de estos tipos de hiper-heuriacutesticas

Hiper-heuriacutesticas que seleccionan heuriacutesticas La mayor parte de los trabajos realizados en Meacutexico se ha enfocado en este primer tipo de adaptacioacuten y por ello optamos por detallarlas maacutes Las hiper-heuriacutesticas de seleccioacuten como nos referiremos a ellas a partir de este momento estaacuten inspiradas en la idea de que existe un algoritmo maacutes adecuado para cada problema lo que en la literatura se conoce como el problema de la seleccioacuten de algoritmos En este sentido las hiper-heuriacutesticas de seleccioacuten exploran la forma en que diversas heuriacutesticas (u otros meacutetodos simples y raacutepidos de ejecutar) pueden combinarse para generar estrategias de solucioacuten robustas y con un buen desempentildeo general

En este punto cabe mencionar que las diferencias entre los portafolios de algoritmos la configuracioacuten especiacutefica de algoritmos y las hiper-heuriacutesticas de seleccioacuten son sutiles pero auacuten asiacute pueden apreciarse Por ejemplo tanto las hiper-heuriacutesticas como los portafolios de algoritmos deciden cuaacutel de los meacutetodos disponibles para resolver el problema debe utilizarse en un momento dado La diferencia principal es la naturaleza de los meacutetodos disponibles donde los portafolios de algoritmos trabajan usualmente con colecciones de meacutetodos de solucioacuten especializados para ciertos tipos de problemas mientras que las hiper-heuriacutesticas usualmente administran meacutetodos maacutes generales como son las heuriacutesticas La configuracioacuten especiacutefica de algoritmos (ISAC por sus siglas en ingleacutes) busca optimizar los paraacutemetros de los algoritmos para que se adapten a las caracteriacutesticas del problema que intentan resolver Si consideramos dos instancias de un mismo algoritmo con configuraciones distintas pueden considerarse como dos meacutetodos diferentes entonces ISAC es en esencia un portafolio de algoritmos

Como ya se mencionoacute una hiper-heuriacutestica de seleccioacuten decide en determinados momentos del proceso de solucioacuten queacute heuriacutestica debe utilizar A partir de este momento usaremos el teacutermino lsquopunto de decisioacutenrsquo para referirnos a esos momentos especiacuteficos durante la buacutesqueda cuando la hiper-heuriacutestica puede cambiar la heuriacutestica a utilizar Los puntos de decisioacuten pueden manejarse de muchas formas Por ejemplo podriacutea realizarse un cambio de heuriacutestica cada vez que una variable deba asignarse o soacutelo despueacutes de cierto nuacutemero de veces que deba asignarse o soacutelo si se cumple alguna condicioacuten particular Una forma muy comuacuten en la que se usan las hiper-heuriacutesticas lsquoperturbativasrsquo ndashaquellas que incrementalmente aplican modificaciones locales (movimientos) a soluciones completas (aproximaciones a la solucioacuten deseada) que representan los estados actuales de la buacutesquedandash es cambiar de heuriacutestica perturbativa uacutenicamente si la

calidad de la aproximacioacuten actual estaacute disminuyendo o si se ha mantenido estable por cierto tiempo

De forma muy general una hiper-heuriacutestica de seleccioacuten se comporta como se muestra en el Algoritmo [algGenericSelectionHH]

Como puede observarse en el Algoritmo [algGenericSelectionHH] la hiper-heuriacutestica tiene la capacidad de aplicar una heuriacutestica al problema para modificar su estado (buscando acercarlo a un estado meta o solucioacuten deseada) Ya que un problema especiacutefico de buacutesqueda depende del estado inicial de la misma si consideramos a la solucioacuten resultante de aplicacioacuten de la heuriacutestica actual al estado actual como el estado inicial del resto de la buacutesqueda estamos modificando el problema a resolver y este quizaacutes podriacutea ser resuelto de una mejor manera con una heuriacutestica distinta a la actual

La eleccioacuten de la heuriacutestica a utilizar en cada punto de decisioacuten depende completamente de la funcioacuten Selecciona la cual busca en el espacio de heuriacutesticas la maacutes adecuada de acuerdo al estado actual del problema Como puede inferirse del pseudocoacutedigo diferentes implementaciones de la funcioacuten Selecciona resultaraacuten en diferentes comportamientos de la hiper-heuriacutestica Por ejemplo una hiper-heuriacutestica completamente aleatoria implementariacutea la funcioacuten Selecciona como se muestra en el Algoritmo [algRandomSelect]

En el caso de una hiper-heuriacutestica aleatoria la rutina ignora por completo el estado del problema ya que no lo requiere para determinar queacute heuriacutestica utilizar Como es de esperarse el desempentildeo de una hiper-heuriacutestica aleatoria es en la mayoriacutea de los casos malo si el conjunto de heuriacutesticas simples contiene una o maacutes heuriacutesticas cuyo comportamiento es deficiente en los problemas a resolver

Otra posible idea para implementar una hiper-heuriacutestica es usar una secuencia predefinida de heuriacutesticas como estrategia de decisioacuten dentro de la funcioacuten Selecciona La idea detraacutes de esta hiper-heuriacutestica es que en algunos casos la relacioacuten entre heuriacutesticas depende de su encadenamiento (una secuencia ordenada de heuriacutesticas) Por ejemplo en un problema de empacado donde objetos de diferentes voluacutemenes deben ser empacados en un nuacutemero finito de contenedores de forma que se minimice el nuacutemero de contenedores utilizados podriacutea ser conveniente el utilizar una secuencia de heuriacutesticas donde despueacutes de empacar el objeto maacutes pequentildeo siempre se deba empacar el objeto maacutes grande Una hiper-heuriacutestica basada en secuencias predefinidas requiere conocer la secuencia especiacutefica de heuriacutesticas a aplicar y la uacuteltima heuriacutestica aplicada El Algoritmo [algSequenceHH] muestra una posible implementacioacuten de este tipo de hiper-heuriacutesticas

En caso de que una heuriacutestica deba aplicarse dos o maacutes veces seguidas esta deberaacute aparecer dos o maacutes veces en la secuencia predefinida de heuriacutesticas Debido a que la longitud de la secuencia de heuriacutesticas es mucho menor que el nuacutemero de puntos de decisioacuten en el problema hay que definir lo que se haraacute al llegar al final de la secuencia Una alternativa es que se vuelva a recorrer la misma secuencia desde la primera posicioacuten Otra opcioacuten es que al llegar al final de la secuencia desde ese momento se use soacutelo la uacuteltima heuriacutestica de la secuencia

Una tercera versioacuten de hiper-heuriacutestica (Algoritmo [algStateBasedHH]) representa la seleccioacuten inteligente del meacutetodo maacutes adecuado dadas las condiciones actuales del problema En esta versioacuten de hiper-heuriacutestica la funcioacuten Selecciona contiene un mapeo de situaciones en las que cada heuriacutestica deberiacutea ser utilizada

Como puede apreciarse en el Algoritmo [algStateBasedHH] la funcioacuten debe evaluar el estado actual del problema para determinar queacute heuriacutestica aplicar Hasta este momento no hemos proporcionado detalles sobre coacutemo se realiza la seleccioacuten de la heuriacutestica maacutes adecuada para un determinado estado del problema pero podemos adelantar que es el punto maacutes sensible del proceso

Entre los modelos maacutes utilizados para producir hiper-heuriacutesticas de seleccioacuten se encuentran los algoritmos geneacuteticos y las redes neuronales Maacutes adelante en este capiacutetulo se describiraacuten a detalle coacutemo funciona cada uno de estos modelos y coacutemo se implementan

Hiper-heuriacutesticas que generan nuevas heuriacutesticas Este segundo tipo de adaptacioacuten hace que las hiper-heuriacutesticas funcionen como generadores semi-automaacuteticos de heuriacutesticas De esta forma la combinacioacuten de componentes de decisioacuten se plasma en una funcioacuten que por siacute misma representa una nueva heuriacutestica En el contexto de heuriacutesticas perturbativas puede tratarse de la combinacioacuten de dos o maacutes operadores al mismo tiempo cada uno de ellos enfocados a modificar distintas secciones de la aproximacioacuten actual o bien a la aplicacioacuten en secuencia de dos o maacutes operadores perturbativos al estado actual de la buacutesqueda La situacioacuten es diferente para hiper-heuriacutesticas lsquoconstructivasrsquo ndashaquellas que gradualmente construyen la solucioacuten al problema generando soluciones parciales cada vez maacutes completas a partir de una solucioacuten inicialmente vaciacuteandash ya que en este caso las heuriacutesticas constructivas tienen la tarea de asignar un valor a cada elemento que puede integrarse a la solucioacuten de forma que se agregue el elemento que maximice (o minimice seguacuten sea el caso) dicho valor Por ejemplo si estamos utilizando un hiper-heuriacutestica constructiva para resolver una instancia del problema del agente viajero podemos considerar una heuriacutestica que agrega la ciudad con la menor distancia a la uacuteltima ciudad visitada en la solucioacuten parcial actual Para ello se debe calcular la distancia de cada una de las ciudades que todaviacutea no han sido visitadas a la

uacuteltima ciudad del tour parcial actual Luego de ello la heuriacutestica recomendaraacute agregar aquella con la menor distancia

De forma muy general una hiper-heuriacutestica de generacioacuten se comporta como se muestra en el Algoritmo [algGenericGenerationHH]

Por supuesto en este momento no se brindan detalles de coacutemo implementar la funcioacuten Genera que es la responsable de generar la heuriacutestica que se utilizaraacute para resolver el problema actual Entre los meacutetodos maacutes populares en la comunidad para implementar hiper-heuriacutesticas de generacioacuten se cuentan tanto programacioacuten geneacutetica como evolucioacuten diferencial

Modelos de Hiper-heuriacutesticas En esta seccioacuten se presentaraacuten las ideas generales detraacutes de las hiper-heuriacutesticas que se ha implementado de diversas formas y con apoyo de diferentes meta-heuriacutesticas o distintos modelos de aprendizaje automaacutetico

Modelos Evolutivos La computacioacuten evolutiva se ha utilizado tanto para construir hiper-heuriacutesticas de generacioacuten (mediante programacioacuten geneacutetica y evolucioacuten diferencial) como para construir hiper-heuriacutesticas de seleccioacuten (mediante algoritmos geneacuteticos y estrategias evolutivas) A continuacioacuten describiremos coacutemo se han implementado algunos casos de eacutexito de hiper-heuriacutesticas mediante computacioacuten evolutiva

Hiper-Heuriacutesticas basadas en Algoritmos Geneacuteticos

Los modelos evolutivos generan reglas que relacionan puntos especiacuteficos del espacio de caracteriacutesticas del problema con una heuriacutestica especiacutefica que ha demostrado ser uacutetil ante instancias con caracteriacutesticas similares Estas reglas pueden obtenerse de diversas formas ndashincluso pueden ser definidas por el usuario Sin embargo los algoritmos geneacuteticos han resultado muy uacutetiles para esta tarea y por esta razoacuten su uso seraacute detallado a continuacioacuten

El algoritmo geneacutetico mantiene una poblacioacuten de individuos de longitud variable que representan hiper-heuriacutesticas en potencia Durante cada generacioacuten estos individuos son combinados y mutados con la finalidad de mejorar la calidad de la poblacioacuten Seguacuten sea el caso los operadores geneacuteticos pueden o no ser adaptados para el problema Por ejemplo como el nuacutemero de reglas en las hiper-heuriacutesticas es variable los individuos en la poblacioacuten tambieacuten tienen una longitud

larr

variable Es necesario entonces adaptar el operador de cruza para que produzca soacutelo individuos vaacutelidos La funcioacuten objetivo contiene un conjunto de instancias a resolver El desempentildeo de cada individuo en dicho conjunto se convierte en su aptitud Con el paso de las generaciones se espera que los individuos que mejor resuelvan el conjunto de entrenamiento sean favorecidos por el proceso geneacutetico El mejor individuo de la uacuteltima generacioacuten es seleccionado como la hiper-heuriacutestica resultante del proceso evolutivo

Los modelos hiper-heuriacutesticos basados en algoritmos geneacuteticos fueron unas de las primeras opciones que se consideraron para generar heuriacutesticas El primer trabajo que utilizoacute un algoritmo geneacutetico para la exploracioacuten del espacio de heuriacutesticas en problemas de calendarizacioacuten fue publicado en 1994 antildeos antes de que el teacutermino hiper-heuriacutestica fuera utilizado por primera vez Pocos antildeos maacutes tarde esta idea fue retomada en y A la fecha gran parte de los trabajos relacionados con hiper-heuriacutesticas utilizan alguna forma de computacioacuten evolutiva como parte del mecanismo de generacioacuten y ajuste de las hiper-heuriacutesticas

Hiper-Heuriacutesticas basadas en Programacioacuten Geneacutetica

Las hiper-heuriacutesticas basadas en programacioacuten geneacutetica tienen la capacidad de combinar los componentes de heuriacutesticas existentes para construir nuevas heuriacutesticas que funcionen adecuadamente ante diversos grupos de instancias del problema La inclusioacuten de una gramaacutetica tipo BNF en este proceso es una tendencia reciente Un problema de satisfaccioacuten de restricciones (CSP) se define como un conjunto de variables asociado a un conjunto de dominios de valores ( ) y a un conjunto de restricciones entre las variables El objetivo es una asignacioacuten completa y consistente de valores a variables de la manera que se cumplan todas las restricciones Los CSPs han sido aplicados para el modelado y solucioacuten de problemas en diversos dominios Aquiacute describimos una plataforma basada en gramaacuteticas para generar automaacuteticamente nuevas heuriacutesticas de seleccioacuten de variables para CSPs El espacio de posibilidades se define generando oraciones vaacutelidas de acuerdo a la gramaacutetica que se utiliza

Un enfoque inicial en este sentido es el presentado en el trabajo de Ortiz-Bayliss et al que provee la evidencia de que es posible delegar al menos para ciertas tareas la generacioacuten de heuriacutesticas a un proceso automaacutetico En el trabajo se usan caracteriacutesticas provenientes de las heuriacutesticas previamente disentildeadas y se utiliza programacioacuten geneacutetica para combinar esos atributos y generar nuevas heuriacutesticas La idea es encapsular el conocimiento del experto humano de diversas formas para obtener mejores soluciones Dado que en la gramaacutetica hay que definir un conjunto de funciones y un conjunto de terminales las funciones utilizadas en esta investigacioacuten incluyen suma (+) resta (-) multiplicacioacuten () y divisioacuten protegida () (si el divisor es cero no se ejecutar la operacioacuten y el resultado es 1) Con este conjunto simple de operadores es

XD

suficiente para generar heuriacutesticas competitivas La definicioacuten de la gramaacutetica se puede observar en la Figura [figGrammar]

ltSgt ltEgt ltEgt ltOpgt ltFgt ltOpgt ltOpgt ( ltEgt ) | ltTgt ltFgt + | - | | ltTgt | | | |

En un esfuerzo maacutes avanzado en este respecto el modelo presentado en presenta una gramaacutetica que contiene elementos maacutes sofisticados como el estatuto if-then-else operadores aritmeacuteticos y loacutegicos lo que permite generar mayor cantidad de posibilidades de combinacioacuten ademaacutes de funciones sobrecargadas capaces de manejar diversas dimensionalidades de entrada lo que provee mayor flexibilidad y un mayor espacio de soluciones En este trabajo se usaron tres diferentes estrategias para evolucionar las heuriacutesticas programacioacuten geneacutetica (GP) buacutesqueda local iterada (ILS) y buacutesqueda de alpinista en paralelo (PHC) En los experimentos se usaron tanto instancias sinteacuteticas como reales para comparar el rendimiento entre las heuriacutesticas generadas y las del estado del arte disentildeadas por el humano El estudio considera varios asuntos como la composicioacuten del conjunto de entrenamiento hacia la generalidad de las heuriacutesticas y su rendimiento sobre instancias no vistas Tambieacuten se considera la evolucioacuten de heuriacutesticas sobre instancias pequentildeas capaces de generalizar sobre instancias maacutes grandes y no vistas y sobre otras instancias del mundo real La Figura 1 muestra un ejemplo de heuriacutestica generada por programacioacuten geneacutetica

Ejemplo de heuriacutestica generada automaacuteticamente por un proceso de Programacioacuten Geneacutetica para el problema de CSP

rarr rarr rarr rarr rarr deg(x)con f licts(x) dom(x) κ (x) r

variableFromVariableValue

smallest

If-VariablesValues1

greaterOrEqualThan minus minus

largest smallest

plus

mxi bdeg

conflicts

bbz log2

division

fdeg fbz

minus conflicts

multiplication plus

bbz pxi

Modelos Neuronales A diferencia de los modelos evolutivos que generan reglas que mapean caracteriacutesticas del problema a heuriacutesticas especiacuteficas las hiper-heuriacutesticas basadas en modelos neuronales aprenden las relaciones existentes entre caracteriacutesticas y heuriacutesticas a partir de casos de ejemplo De esta manera los modelos de hiper-heuriacutesticas basados en redes neuronales requieren un conjunto de entrenamiento donde se contengan las relaciones a aprender De manera general la hiper-heuriacutestica contiene una red neuronal que aprende a clasificar instancias seguacuten sus caracteriacutesticas La clase a la que pertenece la instancia representa la heuriacutestica a utilizar en un momento particular de la buacutesqueda

Probablemente uno de los primeros trabajos que exploraron el uso de redes neuronales para la seleccioacuten de heuriacutesticas fue el presentado por Moriarty en donde se presentoacute el modelo SANE (Symbiotic Adaptive Neuro-Evolution) para encontrar redes neuronales que representaban heuriacutesticas para el ordenamiento de valor en problemas de satisfaccioacuten de restricciones Antildeos maacutes tarde Corr propuso utilizar redes neuronales como selectores de heuriacutesticas constructivas para el problema de la calendarizacioacuten de exaacutemenes No fue sino hasta el 2009 que se publicoacute el primer trabajo de redes neuronales que expliacutecitamente mencionaba el teacutermino lsquohiper-heuriacutesticarsquo En dicho trabajo Ortiz-Bayliss et al retomaron la idea de usar redes neuronales como selectores de heuriacutesticas constructivas pero esta vez aplicado al problema de satisfaccioacuten de restricciones y con una red neuronal con aprendizaje mediante retro-propagacioacuten

Los modelos neuronales tambieacuten se han usado dentro de las hiper-heuriacutesticas para agilizar el entrenamiento Por ejemplo Li et al utilizaron una red neuronal para estimar el costo de una funcioacuten objetivo de forma que se minimizara el nuacutemero de evaluaciones reales durante el proceso de entrenamiento de la hiper-heuriacutestica

En cuanto a la arquitectura de la red neuronal se han utilizado diferentes opciones Una parte significativa de los trabajos ha utilizado el perceptroacuten multicapa Algunos otros trabajos han optado por arquitecturas maacutes especiacuteficas a ciertos problemas como son los mapas auto-organizados y redes neuronales con retraso temporal En algunas ocasiones se ha explorado la idea de combinar redes neuronales con algoritmos geneacuteticos para ajustar la topologiacutea de la red y maximizar el desempentildeo de las hiper-heuriacutesticas

Un ejemplo A continuacioacuten presentamos un breve ejemplo donde mostramos la forma en la que las hiper-heuriacutesticas pueden ser de utilidad y el proceso para aplicarlas

El problema Para este ejemplo tomaremos el problema de particioacuten balanceada (Balanced Partition) que consiste en encontrar la distribucioacuten de elementos que minimiza a donde es el iacutendice de calidad dado por la ecuacioacuten [equBPExampleFitness] y donde representa el elemento del subconjunto y es el nuacutemero de elementos en el subconjunto Asiacute el miacutenimo de corresponde al valor oacuteptimo de la separacioacuten

Las alternativas Para atacar este sencillo problema podemos considerar un enfoque constructivo a traveacutes de dos heuriacutesticas muy simples seleccionar el elemento de carga maacutexima (MAX) o miacutenima (MIN) Partiremos de una solucioacuten vaciacutea al considerar que nuestra solucioacuten es el subconjunto 2 (por tanto toda la carga seraacute asignada al subconjunto 1) por lo que la solucioacuten se construiraacute al escoger los elementos que deben moverse al subconjunto 2 para balancear la carga de todo el sistema Adicionalmente nuestra solucioacuten estaraacute completa cuando el subconjunto 2 represente a la mitad o maacutes de la carga total de la instancia del problema pues nuestras heuriacutesticas no permiten retornar elementos

Es importante resaltar que estas heuriacutesticas no son necesariamente buenas ni malas pues dependen mucho de la instancia del problema en la que se apliquen Consideremos por ejemplo un comportamiento como el de la Tabla [TableBaseInstancesBig] donde observamos que la heuriacutestica MAX se desempentildeoacute ligeramente mejor que la heuriacutestica MIN Esto se debe a que en algunas instancias la heuriacutestica MAX se desempentildeoacute mucho mejor que la heuriacutestica MIN (por ejemplo en las instancias 7 y 10) y viceversa (por ejemplo en las instancias 3 y 9) Es precisamente esta diferencia en desempentildeo lo que motivoacute la idea de las hiper-heuriacutesticas y donde se evidencia su eventual beneficio De hecho la Tabla [TableBaseInstancesBig] incluye una columna con el desempentildeo de una hiper-heuriacutestica simple (que detallaremos maacutes adelante) donde se puede observar que es mucho mejor que sus contrincantes

Q Qitemy

x xy Ny y Q

Q =N1

sumi=1

item1i minus

N2

sumj=1

item2j

Desempentildeo de las heuriacutesticas (y de una hiper-heuriacutestica) sobre 10 instancias de mayor extensioacuten

La informacioacuten del problema Ya conocemos el tipo de problema a resolver y las opciones que tenemos para hacerlo Ahora bien requerimos tambieacuten alguna manera de obtener informacioacuten de cada instancia en particular para asiacute poder analizarla y determinar queacute alternativa tomar (MAX o MIN) Para ello debemos definir al menos una caracteriacutestica del problema relacionada principalmente a las condiciones actuales de la instancia (de manera que se actualice a medida que progresa la solucioacuten) En este ejemplo utilizaremos la relacioacuten entre la carga actual del subconjunto 2 y la carga maacutexima como se muestra en la ecuacioacuten [equBPExampleFeature] Con esto ya tenemos todo lo necesario para empezar a crear nuestras hiper-heuriacutesticas

Instancia

1 11 9 7

2 2 8 6

3 1 13 3

4 2 0 0

5 3 5 13

6 1 9 3

7 3 1 13

8 9 3 9

9 9 11 3

10 5 1 11

Total 46 60 68

Promedio 46 6 68

QMINQHH QMAX

sumN2j=1 item2

j

sumN1i=1 item1

i + sumN2j=1 item2

jisin [0 1]

Nuestra primer hiper-heuriacutestica Nuestro objetivo con la hiper-heuriacutestica seraacute el de tratar de dar un orden loacutegico al proceso Asiacute buscaremos pasar los elementos maacutes grandes al inicio de la solucioacuten (es decir cuando el subconjunto estaacute vaciacuteo) para luego refinarla con elementos maacutes pequentildeos (para ajustar las pequentildeas diferencias) Por tanto podemos crear una hiper-heuriacutestica de dos reglas como se muestra en la Figura 2 En la parte derecha de la figura podemos observar la zona de influencia de cada regla Asiacute siempre que el valor de la caracteriacutestica (definida en la ecuacioacuten [equBPExampleFeature]) sea inferior a 025 se usaraacute la heuriacutestica MAX para seleccionar el siguiente elemento Pero si es superior se usaraacute la heuriacutestica MIN

Primer modelo de hiper-heuriacutestica con dos reglas y una sola caracteriacutestica (izquierda) Zona de influencia de cada regla (derecha)

Primer modelo de hiper-heuriacutestica con dos reglas y una sola caracteriacutestica (izquierda) Zona de influencia de cada regla (derecha)

En este punto es bueno recordar la columna que traiacuteamos pendiente de la Tabla [TableBaseInstancesBig] Es justamente esta hiper-heuriacutestica la que se usoacute para obtener los desempentildeos alliacute mostrados donde una vez maacutes se observa que supera a las heuriacutesticas simples Sin embargo es importante resaltar que no todo es perfecto En algunos casos por ejemplo en la instancia 1 la hiper-heuriacutestica generoacute una solucioacuten peor que cualquiera de las dos heuriacutesticas Es maacutes en casos como el de la instancia 4 fue la uacutenica que no logroacute generar un balanceo perfecto de la carga Esto se debe principalmente a la simplicidad de nuestra hiper-heuriacutestica pues solamente cuenta con dos reglas y con una sola caracteriacutestica Con ello se llega a que el espacio de caracteriacutesticas se divida en regiones simples como la mostrada en la parte derecha de la Figura 2 Por otra parte el desempentildeo de la hiper-heuriacutestica que estamos usando se encuentra limitado por su proceso de entrenamiento pues los valores fueron asignados manualmente y con base en lo que estimamos como mejor

Otras hiper-heuriacutesticas Revisemos ahora coacutemo puede afectar el proceso de entrenamiento al desempentildeo de esta hiper-heuriacutestica en particular Consideremos por ejemplo las hiper-heuriacutesticas mostradas en la Figura 3 La primera de ellas corresponde a nuestro modelo original (el que hemos venido usando) Las otras dos tienen una estructura similar pero el punto de corte de sus regiones de influencia se encuentra en 015 y 035 respectivamente Como se muestra en la Tabla [TableHHsComparison] el hecho de usar un enfoque maacutes agresivo (es decir HH3) sobre este conjunto de instancias resulta en un beneficio pues se obtiene un valor de que en Q

promedio es casi dos unidades menor al alcanzado con la hiper-heuriacutestica original (HH) Asimismo el otro enfoque empeoroacute el resultado respecto al logrado con HH Sin embargo incluso asiacute el resultado logrado es mejor que el obtenido por las heuriacutesticas independientes

Tres configuraciones diferentes de hiper-heuriacutesticas

Tres configuraciones diferentes de hiper-heuriacutesticas

Desempentildeo de dos heuriacutesticas simples y de tres modelos de hiper-heuriacutesticas sobre un conjunto de 10 instancias

Las hiper-heuriacutesticas como un problema de optimizacioacuten Las hiper-heuriacutesticas mostradas han sido entrenadas lsquoa manorsquo definiendo ciertos valores criacuteticos seguacuten nuestro criterio y conocimiento del problema Sin embargo el proceso se puede automatizar si se plantea como un problema de optimizacioacuten Para ello podemos definir la funcioacuten objetivo como el desempentildeo de la hiper-heuriacutestica Esto se muestra en la ecuacioacuten [equBPObjFunction] donde es el nuacutemero de instancias de entrenamiento y es el nivel de calidad dado por la hiper-heuriacutestica en la instancia Como se puede observar el proceso

Instancia

1 11 9 7 11 1

2 2 8 6 10 2

3 1 13 3 5 1

4 2 0 0 4 0

5 3 5 13 3 7

6 1 9 3 3 1

7 3 1 13 5 3

8 9 3 9 5 9

9 9 11 3 5 3

10 5 1 11 5 1

Total 46 60 68 56 28

Promedio 46 6 68 56 28

QMINQMAX QHH3QHH QHH2

Ni Qjj

de optimizacioacuten implica probar cada hiper-heuriacutestica candidata sobre el conjunto de entrenamiento Observemos tambieacuten que en el caso maacutes simple se cuenta con cuatro variables de disentildeo pero si aumentamos el nuacutemero de caracteriacutesticas a por ejemplo tres el nuacutemero de incoacutegnitas se duplica Si en este punto agregamos un par de reglas maacutes (para crear regiones de accioacuten maacutes complejas) el total de variables se duplica una vez maacutes llegando a 16 Asiacute el uso de teacutecnicas de optimizacioacuten claacutesicas como Newton-Rapshon o Descenso empinado queda descartado para la mayoriacutea de problemas praacutecticos (debido a que se requiere un punto de inicio cerca de la solucioacuten y a que quedan atrapados en oacuteptimos locales)

Sin embargo existe otra alternativa las metaheuriacutesticas Para evitar desviar la atencioacuten del lector omitiremos los detalles relacionados con el optimizador y nos centraremos en el proceso de entrenamiento

Vamos a imaginar que tenemos una herramienta capaz de construir una solucioacuten mejorada del problema usando como base una solucioacuten existente que no es necesariamente buena Imaginemos tambieacuten que dicha solucioacuten corresponde a una hiper-heuriacutestica Por tanto podemos definir una solucioacuten (eg una hiper-heuriacutestica) candidata inicial (generada de forma aleatoria) y utilizar dicha herramienta para crear una refinada Para determinar la ganancia dada por nuestra herramienta basta con evaluar ambas soluciones (tanto la aleatoria como la refinada) en la ecuacioacuten [equBPObjFunction] y comparar los resultados Luego de esto podemos tomar la solucioacuten refinada como base y usar nuestra herramienta para crear una mejorada Es justamente este proceso iterativo lo que nos permite operar sobre la solucioacuten aleatoria hasta lograr un resultado con la calidad deseada A manera de ejemplo consideremos un conjunto de 30 instancias aleatorias del problema de particioacuten balanceada (las cuales no se muestran por motivos de espacio) Si generamos 10 soluciones aleatorias (como las descritas anteriormente) obtendremos hiper-heuriacutesticas con desempentildeos buenos y malos como se muestra en la Figura 4 (iteracioacuten 1) Sin embargo podemos usar nuestra herramienta de optimizacioacuten sobre cada una de estas hiper-heuriacutesticas para generar unas mejoradas (iteracioacuten 2) Es maacutes podemos continuar iterativamente y luego de 15 iteraciones tendremos hiper-heuriacutesticas cuyo desempentildeo es bueno y muy similar (iteracioacuten 16) Note que por la naturaleza estocaacutestica de nuestra herramienta en ocasiones el desempentildeo mejora muy raacutepidamente pero en otros casos tarda varias iteraciones en mejorar Ademaacutes tengamos en cuenta que muchas metaheuriacutesticas trabajan de forma poblacional es decir evaluacutean y mejoran muacuteltiples soluciones al mismo tiempo con el aacutenimo de encontrar una uacutenica que sea lo suficientemente buena Sin embargo hemos omitido este tipo de

Fobj(FT A) =sumNi

j=1 Qj

Ni FT = [F1 F2 F3 FNF] and Qj = Qj(FT A)

detalles en la graacutefica para evitar complicar nuestro anaacutelisis y para facilitar la comprensioacuten por parte del lector

Ejemplo de entrenamiento de hiper-heuriacutesticas usando metaheuriacutesticas La iteracioacuten 1 representa el resultado luego de generar la poblacioacuten inicial Los datos mostrados corresponden a 10 reacuteplicas sobre 30 problemas generados de forma aleatoria con 100 elementos y una carga maacutexima de 100 por elemento

Ejemplo de entrenamiento de hiper-heuriacutesticas usando metaheuriacutesticas La iteracioacuten 1 representa el resultado luego de generar la poblacioacuten inicial Los datos mostrados corresponden a 10 reacuteplicas sobre 30 problemas generados de forma aleatoria con 100 elementos y una carga maacutexima de 100 por elemento

Aspectos Avanzados de las Hiper-heuriacutesticas En esta seccioacuten se abordan algunos temas avanzados de las hiper-heuriacutesticas como son sus aplicaciones en problemas multi-objetivo y a la ciencia de datos los modelos hiacutebridos y algunas tendencias futuras del aacuterea

Hiacuteper-heuriacutesticas para Problemas Multi-objetivo Muchos trabajos en la literatura relacionados con hiper-heuriacutesticas para solucionar problemas de optimizacioacuten consideran solamente un objetivo que guiacutea la buacutesqueda de soluciones Sin embargo es natural pensar que en estos problemas existen varios objetivos en conflicto y que la idea es optimizarlos al mismo tiempo

Esto debe plantearse como un problema multi-objetivo y por lo tanto la buacutesqueda de soluciones se debe hacer con un esquema adecuado que facilite ese proceso Para resolver un problema con esa perspectiva es importante definir el problema sus objetivos y el disentildeo del algoritmo que genere la solucioacuten esperada aunque en realidad lo que un algoritmo de este tipo produce es una serie de soluciones que corresponden a los mejores compromisos posibles entre los objetivos en conflicto A estas soluciones se les denomina conjunto de oacuteptimos de Pareto y sus valores correspondientes de las funciones objetivo conforman el denominado frente de Pareto Para ejemplificar este tema usaremos un problema de corte y empacado en dos dimensiones donde se quiere empacar pequentildeas figuras de diferentes tipos y formas en hojas de material rectangulares Lo que se requiere es minimizar el nuacutemero de hojas de materia prima pero al mismo tiempo minimizar tambieacuten el tiempo en que se ejecuta el proceso Estos son claramente dos objetivos que se contraponen por un lado se pueden poner las piezas muy raacutepidamente pero esto no seraacute efectivo en cuanto al nuacutemero de hojas de material y por el otro lado si queremos reducir el

nuacutemero de hojas de material quizaacute requiera maacutes tiempo para terminar el proceso En se usoacute un modelo evolutivo simplificado para representar el estado del problema donde el cromosoma representa un conjunto de puntos en el espacio y cada punto es etiquetado con una heuriacutestica Bajo este esquema el modelo representa una receta para resolver el problema que se puede describir como (a) determinar el estado actual del problema (b) encontrar el punto maacutes cercano a eacutel (c) aplicar la heuriacutestica anexa al punto (d) actualizar el estado Usamos esas ideas y en combinacioacuten con un algoritmo evolutivo multi-objetivo (AEMO) (NSGA-II SPEA2 GDE3) se busca encontrar el conjunto de cromosomas en el frente de Pareto que son capaces de encontrar soluciones a una amplia variedad de problemas tomando en cuenta los dos objetivos El conjunto contiene las hiper-heuriacutesticas que se estaacuten buscando

En la Figura 5 se muestra el esquema utilizado para resolver problemas multi-objetivo para el problema de corte y empacado

Modelo general multi-objetivo mostrando las fases de entrenamiento y prueba

Modelo general multi-objetivo mostrando las fases de entrenamiento y prueba

En la determinacioacuten del estado actual del problema es importante caracterizarlo Para este caso fueron seleccionadas 10 caracteriacutesticas de un conjunto mayor y que son las siguientes

1 Nuacutemero de piezas restantes por empacar

2 Aacuterea promedio de las piezas restantes

3 Varianza en el aacuterea de las piezas restantes

4 Media de la rectangularidad de las piezas restantes

5 Varianza en la rectangularidad de las piezas restantes

6 Media de la altura de las piezas restantes

7 Varianza en el ancho de las piezas restantes

8 Fraccioacuten de las piezas restantes cuya aacuterea es mayor a del aacuterea del objeto

9 Media del grado de concavidad de las piezas restantes

10 Fraccioacuten del total de las piezas restantes

E

S

S

E

12

En la plataforma propuesta para encontrar el conjunto S de mejores hiper-heuriacutesticas en el frente de Pareto se divide el conjunto de instancias en dos tipos entrenamiento y prueba El modelo evolucionaba poblaciones de hiper-heuriacutesticas tomando en cuenta el AEMO La fase de entrenamiento inicia con la generacioacuten de hiper-heuriacutesticas en forma aleatoria para el AEMO Este algoritmos evoluciona la poblacioacuten de acuerdo a su propia metodologiacutea y aplica operadores geneacuteticos para generar nuevas poblaciones considerando el conjunto de entrenamiento para evaluar su rendimiento

Una vez que las mejores hiper-heuriacutesticas se tienen se prueban entonces con las instancias de prueba para comparar los modelos multi-objetivo entre ellos y con respecto a las heuriacutesticas simples adaptadas para el problema usando diferentes meacutetricas

Los resultados obtenidos indican que los modelos eHH-MO son adecuados para construir un conjunto de reglas que permiten resolver el problema bi-objetivo de diversas maneras Los resultados de los modelos eHH-MO han sido comparados contra los obtenidos con las heuriacutesticas simples bajo una serie de experimentos usando tres diferentes meacutetricas como son la distancia generacional (GD) el hipervolumen (HV) y D (dispersioacuten y distribucioacuten) Desde diferentes perspectivas los modelos multi-objetivo superan claramente a los modelos de heuriacutesticas simples Los detalles de la serie de experimentos realizados y su discusioacuten general pueden consultarse en

Transformacioacuten de Caracteriacutesticas en Hiper-heuriacutesticas Una teacutecnica que se ha implementado recientemente se enfoca en el uso de transformaciones matemaacuteticas para mejorar el desempentildeo del modelo de seleccioacuten Al trabajar con una heuriacutestica de seleccioacuten las caracteriacutesticas juegan un papel preponderante en la eficiencia del proceso pues el selector representa una matriz de puntos clave en el espacio de caracteriacutesticas Ademaacutes debemos tener presente que cada problema de optimizacioacuten es diferente por lo que los puntos criacuteticos de una caracteriacutestica difiacutecilmente corresponderaacuten con los de otra Asiacute se inicioacute un proceso para identificar la forma en la que se pudiera establecer una transformacioacuten adecuada a cada problema particular Como resultado se encontroacute que el problema principal que puede resolver la transformacioacuten es el mostrado en la Figura 6 Alliacute se muestra la ubicacioacuten ideal de cuatro reglas (marcadores redondos) y su distancia al estado actual del problema (cuadro blanco) Dos de estas reglas tienen posiciones muy similares (la roja y la azul) por lo que el desempentildeo del selector se torna muy sensible a pequentildeos errores en la ubicacioacuten real de dichas reglas

Sensibilidad de hiper-heuriacutesticas a errores en los valores del selector y su solucioacuten a traveacutes de transformacioacuten de caracteriacutesticas Izquierda Ubicacioacuten ideal de las reglas en el espacio original Derecha Ubicacioacuten ideal de las reglas en el espacio transformado

La Figura 6 tambieacuten muestra la forma como se puede solucionar este problema con la transformacioacuten de caracteriacutesticas La idea es transformar el espacio de cada caracteriacutestica del problema de tal forma que las regiones en conflicto se expandan y las relativamente irrelevantes se compriman Para el ejemplo de la figura esto implica tener mayor resolucioacuten en el espacio cercano a las reglas azul y roja lo que permite un mayor margen de maniobra y por tanto reduce la sensibilidad de la hiper-heuriacutestica De forma similar la zona que pertenece a las dos reglas verdes se comprime Dado que se trata de reglas que ejecutan la misma accioacuten su regioacuten de influencia combinada no seraacute tan sensible a pequentildeos errores de ubicacioacuten Consideremos ahora los casos mostrados en la Figura 7 En la izquierda se muestran dos selectores (uno con dos reglas y otro con cuatro) ambos con dos acciones disponibles roja y azul Al hacer una transformacioacuten de caracteriacutesticas podemos ampliar zonas en conflicto (como ya se mencionoacute arriba) lo que representa una distribucioacuten de las reglas la cual puede incluso modificar la apariencia de las zonas de influencia de cada selector Para nuestro ejemplo dicha transformacioacuten se ve en las imaacutegenes del centro donde la apariencia ha sido parcialmente preservada pero donde se da mayor enfoque a las zonas conflictivas Claro estaacute este proceso no puede ser arbitrario pues podemos tambieacuten generar transformaciones poco uacutetiles como las de la derecha de la figura donde hemos perdido la mayoriacutea de la informacioacuten acerca de las zonas conflictivas por lo que seguramente tendremos un bajo desempentildeo de la hiper-heuriacutestica Detalles de esta investigacioacuten puden ser revisados en

Ejemplo de la forma como la transformacioacuten de caracteriacutesticas puede afectar la apariencia de las zonas de influencia de un selector Izquierda Forma original Centro Transformacioacuten uacutetil que ampliacutea las zonas en conflicto Derecha Transformacioacuten poco uacutetil que destruye informacioacuten sobre las zonas en conflicto

Tendencias Futuras de Hiper-heuriacutesticas Los sistemas inteligentes hiacutebridos son sistemas de software que emplean en paralelo una combinacioacuten de meacutetodos y teacutecnicas de sub-campos de la Inteligencia Artificial La hibridacioacuten de los sistemas inteligentes es un campo de investigacioacuten prometedora de la Inteligencia Computacional moderna para el desarrollo de la proacutexima generacioacuten de sistemas inteligentes Comunidades cientiacuteficas y acadeacutemicas estaacuten cada vez maacutes conscientes de que enfoques combinados podriacutean ser necesarios si se quiere seguir resolviendo los problemas difiacuteciles de la Inteligencia Artificial La integracioacuten de distintas teacutecnicas inteligentes y su adaptacioacuten para superar las limitaciones de los meacutetodos individuales y lograr efectos sineacutergicos a traveacutes de la hibridacioacuten o fusioacuten de estas teacutecnicas ha contribuido a una variedad de nuevos disentildeos dentro del campo de la optimizacioacuten Sin embargo la mayoriacutea de estos enfoques de hibridacioacuten siguen un disentildeo metodoloacutegico ad-hoc que se justifica por el eacutexito en ciertos dominios de aplicacioacuten No obstante se requiere de metodologiacuteas maacutes robustas para la construccioacuten de los sistemas hiacutebridos requeridos para resolver problemas contemporaacuteneos y futuros cada vez maacutes complejos y maacutes grandes

Las hiper-heuriacutesticas como teacutecnicas de buacutesqueda que tratan de automatizar el proceso de generacioacuten seleccioacuten y combinacioacuten de otras heuriacutesticas son un excelente vehiacuteculo para la construccioacuten de sistemas inteligentes hiacutebridos avanzados Recientemente han aparecido los primeros trabajos que proponen formas muy simples y limitadas de combinacioacuten de hiper-

heuriacutesticas Se requiere de estudios maacutes profundos y serios que combinen generacioacuten con seleccioacuten asiacute como estrategias constructivas con perturbativas en formas maacutes elaboradas que mejoren los resultados obtenidos

El desafiacuteo de la hibridacioacuten hiper-heuriacutestica es enorme y complejo Reside primeramente en el modelado de los problemas y de las soluciones (parciales o aproximadas) de forma que a partir de descripciones parameacutetricas o no parameacutetricas el meacutetodo hiacutebrido pueda ir decidiendo la combinacioacuten de meacutetodos heuriacutesticos que iraacute utilizando para guiar la buacutesqueda de la solucioacuten Parte importante del desafiacuteo tambieacuten es la seleccioacuten inteligente de las heuriacutesticas especiacuteficas a los dominios de los problemas las meta-heuriacutesticas y las hiper-heuriacutesticas que formaraacuten el meacutetodo hiacutebrido Otro elemento de complejidad es que cada teacutecnica heuriacutestica incluye paraacutemetros que deben ser ajustados adecuadamente para que trabajen de forma correcta y eso podriacutea ser requerido durante la ejecucioacuten del meacutetodo Finalmente como se quieren meacutetodos hiacutebridos que maximicen su desempentildeo tambieacuten se deberaacuten seleccionar o disentildear las meacutetricas para medir la efectividad y eficiencia de los algoritmos utilizados

Son demasiadas posibilidades las que hay que considerar y demasiada informacioacuten relacionada tanto con las instancias de los problemas a resolver los meacutetodos de solucioacuten sus hiper-paraacutemetros su hibridacioacuten y el efecto de sus decisiones durante la solucioacuten de los problemas Los investigadores ya estaacuten abordando algunos esfuerzos en estas direcciones a traveacutes del aprendizaje automaacutetico y el uso de teacutecnicas estadiacutesticas pero mucha de la praacutectica es primordialmente artesanal Se requiere el uso de metodologiacuteas cientiacuteficas maacutes maduras y desarrolladas para manejar la gran cantidad de datos que se genera en el proceso

Dado que la Ciencia de Datos es la capacidad de extraer conocimientos e ideas de grandes cantidades de datos y datos complejos la construccioacuten de meacutetodos hiacutebridos para optimizacioacuten mediante hiper-heuriacutesticas son un buen motivo para su aplicacioacuten

La Ciencia de Datos intenta comprender las complejidades de las actividades del mundo real y el contexto a partir del anaacutelisis de los datos para mejorar los beneficios que pueden obtenerse de ellos Los algoritmos de optimizacioacuten en tiempo real estaacuten estrechamente vinculados al contexto de sus datos Luego utilizar las teacutecnicas de Ciencia de Datos permitiraacute aprovechar el conjunto histoacuterico de datos asiacute como los datos generados en tiempo real durante la buacutesqueda de soluciones para los problemas de optimizacioacuten El proceso de Ciencia de Datos se puede aplicar al ajuste automaacutetico de los algoritmos su configuracioacuten y su adaptacioacuten para crear mejores meacutetodos de optimizacioacuten

El desarrollo de algoritmos de buacutesqueda poderosos se asemeja a la solucioacuten de los problemas de optimizacioacuten La hibridacioacuten de optimizadores mediante hiper-heuriacutesticas incluye una gran

cantidad de paraacutemetros y generalmente ofrecen muchas opciones El desafiacuteo para la Ciencia de Datos es maacutes complejo debido a la naturaleza estocaacutestica de los meacutetodos de solucioacuten Para explotar el poder real de estas teacutecnicas y resolver los problemas de manera eficiente el desarrollador debe seleccionar los mejores valores y tomar las decisiones correctas

En la uacuteltima deacutecada se han desarrollado varias teacutecnicas para la optimizacioacuten de paraacutemetros la construccioacuten automaacutetica de algoritmos y la creacioacuten de hiper-heuriacutesticas para generar o seleccionar algoritmos pero la Ciencia de Datos tiene mucho que aportar para explotar al maacuteximo el potencial de las teacutecnicas novedosas de buacutesqueda existentes No se debe de buscar un meacutetodo ideal sino crear metodologiacuteas adecuadas a los diferentes dominios de problemas Estas metodologiacuteas deben ser robustas de manera que permitan construir meacutetodos poderosos a partir de la descripcioacuten de esquemas de recoleccioacuten procesamiento exploracioacuten visualizacioacuten aprendizaje y explotacioacuten de datos adecuados a los problemas especiacuteficos a resolver

Aunque actualmente hay un boom en el desarrollo de aplicaciones de Ciencia de Datos en muchos dominios y hay un gran esfuerzo de grupos de personas para desarrollar meacutetodos de buacutesqueda para dominios especiacuteficos la aplicacioacuten de la Ciencia de Datos en la construccioacuten de meacutetodos de optimizacioacuten requiere habilidades inherentemente diferentes y hay muy pocos trabajos especiacuteficos sobre el tema Iniciativas como lsquoData Science meets Optimizationrsquo promovida por grupos creados hace poco como el grupo europeo EWG DSO confirman la relevancia y el potencial del tema

Para saber maacutes El nuacutemero de trabajos relacionados a hiper-heuriacutesticas se ha incrementado significativamente en la uacuteltima deacutecada Como resultado una gran cantidad de recursos se encuentran disponibles en diversas fuentes El lector interesado en conocer a maacutes detalle los diferentes tipos de hiper-heuriacutesticas y sus aplicaciones puede consultar estudios de referencia como y Una lista muy completa sobre los trabajos relacionados a hiper-heuriacutesticas se encuentra disponible en liacutenea en httpsmustafamisirgithubiohhhtml

Debido al intereacutes que las hiper-heuriacutesticas han despertado en los investigadores diversas conferencias y talleres han dedicado espacios para este tipo de trabajos Por ejemplo Genetic and Evolutionary Computation Conference (GECCO) que desde el 2011 ha proporcionado espacios en sus categoriacuteas Self- Search (2011 al 2016) y Search-Based Software Engineering (a partir del 2017) International Conference on Parallel Problem Solving from Nature (PPSN) con talleres en el tema en las ediciones del 2008 y 2016 IEEE Congress on Evolutionary Computation (CEC) con sesiones especiales sobre hiper-heuriacutesticas en sus ediciones del 2013 y

2016 En cuanto a competencias internacionales sobre la materia destacan las dos ediciones del Cross-domain Heurisic Search Challenge (CHeSC) La competencia consistiacutea en disentildear estrategias de alto nivel que controlaran la aplicacioacuten de heuriacutesticas de bajo nivel para dominios especiacuteficos Durante el reto las heuriacutesticas de bajo nivel seriacutean diferentes para cada dominio del problema pero la estrategia de alto nivel debiacutea ser la misma para todos los dominios El reto se enfocaba en el desempentildeo de los meacutetodos de optimizacioacuten en diferentes dominios de problemas en lugar de concentrarse soacutelo en uno

En cuanto a herramientas para la implementacioacuten de hiper-heuriacutesticas la literatura contiene pocos ejemplos entre los que destacan Hyperion HyFlex y EvoHyp No todas las herramientas se encuentran disponibles en este momento ya que algunos de los sitios para su distribucioacuten han sido descontinuados En cualquier caso es posible contactar a los autores para solicitar acceso a las herramientas

Adicionalmente a estos recursos en el 2013 se formoacute la IEEE Task Force on Hyper-heuristics 7

dedicada al desarrollo y aplicaciones de hiper-heuriacutesticas y a su interseccioacuten con la inteligencia artificial la inteligencia computacional y la investigacioacuten de operaciones El sitio del grupo de trabajo proporciona muchos recursos uacutetiles en el tema de hiper-heuriacutesticas

Conclusiones Este capiacutetulo ha presentado el tema de hiper-heuriacutesticas desde diferentes perspectivas con la idea de dar al lector una panoraacutemica general pero suficientemente detallada para que pueda conocer el tema y pueda empezar a realizar avances a traveacutes de la investigacioacuten en el aacuterea o en la aplicacioacuten de las teacutecnicas para resolver problemas en el dominio de optimizacioacuten El capiacutetulo ha explicado el detalle los principales tipos de hiper-heuriacutesticas y sus fundamentos y los diversos modelos que se han generado en la literatura principalmente basados en modelos evolutivos y neuronales y entendiendo que no son los uacutenicos El capiacutetulo provee discusioacuten sobre aspectos avanzados en hiper-heuriacutesticas y que se han derivado en trabajos recientes como es el tratamiento de hiper-heuriacutesticas en problemas multi-objetivo y la transformacioacuten de caracteriacutesticas que permite mejorar el rendimiento de esquemas de hiper-heuriacutesticas En trabajos recientes se han presentado resultados al hibridizar tipos de hiper-heuriacutesticas como por ejemplo las de seleccioacuten con las de generacioacuten las de construccioacuten con las de generacioacuten los tipos de aprendizaje etc Hay todaviacutea un espacio para continuar investigando dentro de ese contexto Con el reciente impacto del tema de big-data se ha empezado a discutir en la comunidad cientiacutefica la relacioacuten de Ciencia de Datos con optimizacioacuten Aquiacute cabe naturalmente el toacutepico de hiper-

httpssitesgooglecomsiteieeetaskforceonhyperheurisitcshome7

heuriacutesticas dado que Ciencia de Datos puede apoyar para generar mejores algoritmos de optimizacioacuten y ciertamente los modelos de optimizacioacuten pueden incidir favorablemente para mejorar los procesos en ciencia de datos

Al final el capiacutetulo presentoacute una serie de recursos que pueden servir como base a estudiantes e investigadores para perseguir el tema de hiper-heuriacutesticas

  • Proacutelogo
  • Introduccioacuten
  • El algoritmo de Evolucioacuten Diferencial
  • Mutacioacuten
  • Cruza
  • Seleccioacuten
  • Estructura del Algoritmo
  • Modificaciones al algoritmo de Evolucioacuten Diferencial
  • Ajuste de paraacutemetros globales
  • Ajuste de paraacutemetros asociados a cada individuo de la poblacioacuten
  • Ajuste del tamantildeo de la poblacioacuten
  • Combinacioacuten de variantes
  • Evolucioacuten Diferencial para otros tipos de problemas
  • DE en Meacutexico
  • Conclusiones
  • Para saber maacutes
  • Introduccioacuten
  • AGds homogeacuteneos y heterogeacuteneos
  • Migracioacuten en AGPs
  • AGs celulares o de grano fino
  • Explotacioacutenexploracioacuten por propiedades estructurales
  • Presioacuten de seleccioacuten por caracteriacutesticas estructurales
  • Anaacutelisis empiacuterico
  • Aceleracioacuten en AGP
  • Concepto de sincronismo en AGPs
  • En AGPs distribuidos viacutea migracioacuten
  • En AGP celulares viacutea criterios de actualizacioacuten
  • Discusioacuten
  • Investigacioacuten de AGPs en Meacutexico
  • Para saber maacutes
  • Introduccioacuten
  • Proceso evolutivo
  • Representacioacuten
  • Poblacioacuten inicial
  • Operadores Geneacuteticos
  • Recombinacioacuten
  • Mutacioacuten
  • Seleccioacuten
  • Espacio de buacutesqueda
  • Conclusiones
  • Para saber maacutes
  • Introduccioacuten
  • Preservacioacuten de diversidad en algoritmos evolutivos
  • Clasificaciones de mecanismos para promover la diversidad
  • Esquemas claacutesicos para administrar la diversidad
  • Esquemas de reemplazamiento basados en diversidad
  • Diversidad en evolucioacuten diferencial
  • Disentildeo de evolucioacuten diferencial basado en diversidad
  • Evolucioacuten diferencial Conceptos baacutesicos
  • Inicializacioacuten
  • Operador de mutacioacuten
  • Operador de cruza
  • Operador de seleccioacuten
  • Propuesta basada en diversidad
  • Resultados de de-edm
  • Disentildeo de operadores de cruza basados en diversidad
  • Algoritmos evolutivos multi-objetivo
  • Operadores de cruza
  • El operador de cruza basado en simulacioacuten binaria - SBX
  • Implementacioacuten y anaacutelisis del operador sbx
  • Propuesta - dsbx
  • Resultados
  • Anaacutelisis de cada modificacioacuten en el operador sbx
  • Modificacioacuten simultaacutenea de varios componentes
  • Conclusiones y trabajo futuro
  • Para saber maacutes
  • Agradeciemientos
  • Introduccioacuten
  • Fundamentos de las Hiper-heuriacutesticas
  • Hiper-heuriacutesticas que seleccionan heuriacutesticas
  • Hiper-heuriacutesticas que generan nuevas heuriacutesticas
  • Modelos de Hiper-heuriacutesticas
  • Modelos Evolutivos
  • Hiper-Heuriacutesticas basadas en Algoritmos Geneacuteticos
  • Hiper-Heuriacutesticas basadas en Programacioacuten Geneacutetica
  • Modelos Neuronales
  • Un ejemplo
  • El problema
  • Las alternativas
  • La informacioacuten del problema
  • Nuestra primer hiper-heuriacutestica
  • Otras hiper-heuriacutesticas
  • Las hiper-heuriacutesticas como un problema de optimizacioacuten
  • Aspectos Avanzados de las Hiper-heuriacutesticas
  • Hiacuteper-heuriacutesticas para Problemas Multi-objetivo
  • Transformacioacuten de Caracteriacutesticas en Hiper-heuriacutesticas
  • Tendencias Futuras de Hiper-heuriacutesticas
  • Para saber maacutes
  • Conclusiones
Page 4: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos

Computacioacuten Evolutiva

Carlos Artemio Coello Coello (Coordinador)

Con la colaboracioacuten de

Rafael Rivera Loacutepez

Efreacuten Mezura Montes

Alicia Morales Reyes

Mario Graff

Daniela Moctezuma

Eric S Tellez Sabino

Miranda Jimeacutenez

Carlos Segura

Joel Chacoacuten Castillo

Carlos A Brizuela

Julio Juaacuterez

Hugo Terashima Mariacuten

Santiago Enrique Conant Pablos

Joseacute Carlos Ortiz Bayliss

Ivaacuten Mauricio Amaya Contreras

Proacutelogo La computacioacuten evolutiva es un aacuterea de las ciencias de la computacioacuten que se enfoca al estudio de las propiedades de una serie de metaheurısticas estocaacutesticas (a las cuales se denomina de manera geneacuterica ldquoAlgoritmos Evolutivosrdquo) inspiradas en la teorıa de la evolucioacuten de las especies formulada por Charles Darwin seguacuten la cual los individuos ldquomaacutes aptosrdquo a su ambiente tienen una mayor probabilidad de sobrevivir

Una metaheurıstica es un procedimiento de buacutesqueda de alto nivel que aplica una regla o conjunto de reglas que se basa(n) en una fuente de conocimiento El eacutenfasis de las metaheurısticas es explorar el espacio de buacutesqueda de manera relativamente eficiente es decir mejor que lo que harıa una buacutesqueda exhaustiva aunque no necesariamente oacuteptima Las metaheurısticas suelen considerarse tambieacuten como teacutecnicas de buacutesqueda y optimizacioacuten de uso general pese a sus limitantes teoacutericas (en general las metaheurısticas no pueden garantizar convergencia al oacuteptimo global) Otro rasgo distintivo de las metaheurısticas es que suelen requerir poca informacioacuten especıfica del problema y son uacutetiles cuando el espacio de buacutesqueda es muy grande poco conocido yo con dificultades para explorarlo Cuando se usan para optimizacioacuten no pueden garantizar en general que convergeraacuten a la mejor solucioacuten posible (es decir al oacuteptimo global del problema) si bien en la praacutectica suelen producir aproximaciones razonablemente buenas en tiempos razonablemente cortos

Los algoritmos evolutivos son metaheurısticas estocaacutesticas porque su comportamiento se basa en el uso de nuacutemeros aleatorios y en operadores probabilısticos En consecuencia no siempre producen el mismo resultado cada vez que se ejecutan con los mismos datos de entrada

En Meacutexico existe un nuacutemero importante de investigadores trabajando en diferentes aacutereas de la computacioacuten evolutiva y este libro intenta proporcionar un asomo a la diversidad de temas en los que se hace investigacioacuten en nuestro paıs Los seis capıtulos que conforman este libro estaacuten escritos como tutoriales breves que pretender introducir al lector a ciertos temas especıficos de computacioacuten evolutiva En todos los casos se describe brevemente parte del trabajo que han realizado algunos grupos de investigacioacuten en Meacutexico en torno a estos temas

El capıtulo 1 presenta una introduccioacuten a la ldquoevolucioacuten diferencialrdquo que es un tipo de algoritmo evolutivo que se ha vuelto muy popular en la solucioacuten de problemas de optimizacioacuten no lineal Los autores proporcionan una descripcioacuten general de este tipo de algoritmo evolutivo incluyendo el funcionamiento de sus operadores de cruza y mutacioacuten y las diferencias entre sus variantes principales

El capıtulo 2 describe los conceptos baacutesicos de los ldquoalgoritmos geneacuteticos paralelosrdquo a partir de una taxonomıa muy sencilla basada en la granularidad de la paralelizacioacuten enfatizando las diferencias que existen entre los esquemas homogeacuteneos y heterogeacuteneos ası como entre el paralelismo sıncrono y el asıncrono

El capıtulo 3 se enfoca a una variante del algoritmo geneacutetico denominada ldquoprogramacioacuten geneacuteticardquo en la cual se usa una representacioacuten de aacuterbol (la cual permite evolucionar programas) en vez de las cadenas binarias de longitud fija del algoritmo geneacutetico tradicional La programacioacuten geneacutetica ha tomado una gran relevancia en antildeos recientes sobre todo por su aplicabilidad a problemas de aprendizaje y clasificacioacuten

El capıtulo 4 se enfoca en un tema muy importante en computacioacuten evolutiva del cual no suele hablarse mucho la importancia de la diversidad en el disentildeo de un algoritmo evolutivo Los autores hacen una revisioacuten de diversas teacutecnicas que se han propuesto para lidiar con la convergencia prematura (la cual suele ser consecuencia de una peacuterdida abrupta de diversidad en la poblacioacuten) Adicionalmente se incluye un pequentildeo estudio en el que se analizan dos teacutecnicas para mantener diversidad

El capıtulo 5 presenta un tutorial de otra aacuterea que ha tomado gran relevancia en antildeos recientes la optimizacioacuten evolutiva multi-objetivo la cual se enfoca a la solucioacuten de problemas de optimizacioacuten que tienen dos o maacutes objetivos (normalmente en conflicto entre sı) que deseamos optimizar al mismo tiempo Ademaacutes de proporcionar los conceptos baacutesicos de esta aacuterea se describen brevemente los algoritmos evolutivos multi-objetivo maacutes utilizados en la actualidad ası como las medidas principales de desempentildeo que se utilizan en la literatura especializada En la parte final del capıtulo se describen tambieacuten algunos de los temas de investigacioacuten en los que se estaacute trabajando maacutes dentro de esta aacuterea en la actualidad

El capıtulo 6 estaacute dedicado a las hiper-heurısticas que son teacutecnicas que buscan proporcionar maacutes flexibilidad que los algoritmos evolutivos tradicionales al ser capaces de adaptarse a diversos tipos de problemas y a diferentes instancias de una misma clase de problemas Las hiper-heurısticas son el eslaboacuten intermedio entre las limitantes teoacutericas relacionadas con la aplicabilidad de las metaheurısticas y el anhelado suentildeo del disentildeo automatizado de algoritmos y

constituyen sin lugar a dudas uno de los temas maacutes ricos de investigacioacuten dentro de las metaheurısticas

Doctor Carlos Artemio Coello Coello

Indice general

Proacutelogo 5

Introduccioacuten 13

El algoritmo de Evolucioacuten Diferencial 15

Mutacioacuten 16

Cruza 18

Seleccioacuten 20

Estructura del Algoritmo 20

Modificaciones al algoritmo de Evolucioacuten Diferencial 21

Ajuste de paraacutemetros globales 22

Ajuste de paraacutemetros asociados a cada individuo de la poblacioacuten 23

Ajuste del tamantildeo de la poblacioacuten 26

Combinacioacuten de variantes 27

Evolucioacuten Diferencial para otros tipos de problemas 29

DE en Meacutexico 30

Conclusiones 30

Para saber maacutes 31

Introduccioacuten 32

AGds homogeacuteneos y heterogeacuteneos 35

Migracioacuten en AGPs 37

AGs celulares o de grano fino 39

Explotacioacutenexploracioacuten por propiedades estructurales 40

Presioacuten de seleccioacuten por caracteriacutesticas estructurales 43

Anaacutelisis empiacuterico 45

Aceleracioacuten en AGP 46

Concepto de sincronismo en AGPs 47

En AGPs distribuidos viacutea migracioacuten 48

En AGP celulares viacutea criterios de actualizacioacuten 49

Discusioacuten 50

Investigacioacuten de AGPs en Meacutexico 50

Para saber maacutes 51

Introduccioacuten 53

Proceso evolutivo 55

Representacioacuten 56

Poblacioacuten inicial 58

Operadores Geneacuteticos 59

Recombinacioacuten 59

Mutacioacuten 60

Seleccioacuten 61

Espacio de buacutesqueda 62

Conclusiones 63

Para saber maacutes 63

Introduccioacuten 64

Preservacioacuten de diversidad en algoritmos evolutivos 67

Clasificaciones de mecanismos para promover la diversidad 67

Esquemas claacutesicos para administrar la diversidad 68

Esquemas de reemplazamiento basados en diversidad 69

Diversidad en evolucioacuten diferencial 71

Disentildeo de evolucioacuten diferencial basado en diversidad 72

Evolucioacuten diferencial Conceptos baacutesicos 72

Inicializacioacuten 72

Operador de mutacioacuten 72

Operador de cruza 73

Operador de seleccioacuten 73

Propuesta basada en diversidad 74

Resultados de de-edm 77

Disentildeo de operadores de cruza basados en diversidad 87

Algoritmos evolutivos multi-objetivo 87

Operadores de cruza 89

El operador de cruza basado en simulacioacuten binaria - SBX 89

Implementacioacuten y anaacutelisis del operador sbx 90

Propuesta - dsbx 92

Resultados 93

Anaacutelisis de cada modificacioacuten en el operador sbx 95

Modificacioacuten simultaacutenea de varios componentes 96

Conclusiones y trabajo futuro 97

Para saber maacutes 98

Agradeciemientos 99

Introduccioacuten 100

Fundamentos de las Hiper-heuriacutesticas 102

Hiper-heuriacutesticas que seleccionan heuriacutesticas 103

Hiper-heuriacutesticas que generan nuevas heuriacutesticas 105

Modelos de Hiper-heuriacutesticas 106

Modelos Evolutivos 106

Hiper-Heuriacutesticas basadas en Algoritmos Geneacuteticos 106

Hiper-Heuriacutesticas basadas en Programacioacuten Geneacutetica 107

Modelos Neuronales 109

Un ejemplo 109

El problema 110

Las alternativas 110

La informacioacuten del problema 111

Nuestra primer hiper-heuriacutestica 112

Otras hiper-heuriacutesticas 112

Las hiper-heuriacutesticas como un problema de optimizacioacuten 113

Aspectos Avanzados de las Hiper-heuriacutesticas 115

Hiacuteper-heuriacutesticas para Problemas Multi-objetivo 115

Transformacioacuten de Caracteriacutesticas en Hiper-heuriacutesticas 117

Tendencias Futuras de Hiper-heuriacutesticas 119

Para saber maacutes 121

Conclusiones 122

Evolucioacuten Diferencial una breve introduccioacuten Rafael Rivera Loacutepez

Efreacuten Mezura Montes

En este capiacutetulo se hace una descripcioacuten general del algoritmo de Evolucioacuten Diferencial Este tipo de algoritmo evolutivo representa una excelente alternativa para encontrar soluciones cercanas al oacuteptimo a problemas de optimizacioacuten continua complejos Debido a la simplicidad de su implementacioacuten y sus excelentes habilidades de exploracioacuten y explotacioacuten diversas variantes de este algoritmo se han aplicado para resolver problemas con diferentes caracteriacutesticas En este capiacutetulo se describen los elementos baacutesicos del algoritmo asiacute como las diferentes variantes que se han desarrollado para mejorar su desempentildeo

Introduccioacuten Con el nombre de algoritmos evolutivos se identifica a un grupo de procedimientos que se utilizan para resolver muchos problemas praacutecticos y que se distinguen de otras teacutecnicas porque estaacuten inspirados en las teoriacuteas que sintetizan la evolucioacuten Darwiniana y la herencia geneacutetica descrita por Mendel Los algoritmos evolutivos han probado ser herramientas poderosas para encontrar soluciones aceptables a problemas donde otras teacutecnicas fallan o consumen una excesiva cantidad de tiempo Estos algoritmos se destacan por combinar exitosamente dos mecanismos de buacutesqueda exploracioacuten y explotacioacuten La exploracioacuten permite identificar aacutereas prometedoras del espacio de buacutesqueda y la explotacioacuten lleva a cabo una buacutesqueda especializada dentro de estas aacutereas para encontrar soluciones cercanas al oacuteptimo Su aplicacioacuten se extiende en praacutecticamente todas las aacutereas de la actividad humana como por ejemplo en salud educacioacuten ciencias industria economiacutea y defensa Los algoritmos evolutivos tambieacuten han sido utilizados en aacutereas emergentes como la ciencia de datos la inteligencia de negocios y el big data En estos algoritmos un conjunto de soluciones candidatas evoluciona para alcanzar una solucioacuten cercana al oacuteptimo por la aplicacioacuten de procedimientos que permiten recombinar y alterar sus valores En la jerga de los especialistas del aacuterea una solucioacuten candidata se conoce como individuo al conjunto de soluciones se denomina poblacioacuten y los procedimientos involucrados en el proceso evolutivo se identifican como operadores de seleccioacuten cruzamiento y mutacioacuten Comuacutenmente dos individuos son seleccionados y sus valores son recombinados y algunas veces mutados para crear nuevas soluciones candidatas Los nuevos individuos son considerados parte de una nueva poblacioacuten que sustituye a la anterior Entonces una secuencia de nuevas poblaciones son creadas hasta que una condicioacuten de teacutermino es alcanzada y la mejor solucioacuten de

las uacuteltima poblacioacuten es seleccionada como resultado del algoritmo Este proceso evolutivo es guiado por una funcioacuten de aptitud que determina la calidad de cada individuo en la poblacioacuten La figura 1 muestra el esquema general de un algoritmo evolutivo

Esquema general de un algoritmo evolutivo

A lo largo de su desarrollo histoacuterico varios tipos de algoritmos evolutivos han sido implementados difiriendo en la forma de representar a sus individuos y en la implementacioacuten de sus operadores geneacuteticos Auacuten cuando en los antildeos 50 varios autores introducen los teacuterminos evolucioacuten y proceso evolutivo en sus propuestas para resolver diversos problemas es en los antildeos 60 cuando se sientan las bases del desarrollo de los algoritmos evolutivos con la introduccioacuten de tres teacutecnicas la Programacioacuten Evolutiva las Estrategias Evolutivas y los Algoritmos Geneacuteticos Fogel propone en 1962 la Programacioacuten Evolutiva donde las soluciones candidatas se representan con maacutequinas de estados finitos y Rechenberg y Schwefel en 1965 desarrollan las Estrategias Evolutivas que codifican sus individuos con vectores de nuacutemeros reales Los Algoritmos Geneacuteticos introducidos en 1962 por Holland son sin duda el tipo de algoritmo evolutivo maacutes popular Estos algoritmos tradicionalmente utilizan una cadena binaria para representar a sus individuos aunque tambieacuten se han utilizado cadenas de enteros y secuencias de nuacutemeros reales Desarrollos posteriores a estas teacutecnicas han aportado al eacutexito de los algoritmos evolutivos destacaacutendose la Programacioacuten Geneacutetica los Algoritmos Coevolutivos los Algoritmos Culturales el algoritmo de Evolucioacuten Diferencial los Algoritmos de Estimacioacuten de Distribuciones la Evolucioacuten Gramatical y la Programacioacuten de Expresioacuten de Genes Cada uno de estos algoritmos tienen sus ventajas y sus propios desafiacuteos y han sido utilizados para resolver diferentes tipos de problemas La figura 2 muestra un esquema del desarrollo histoacuterico de los

algoritmos evolutivos En particular el algoritmo de Evolucioacuten Diferencial ha demostrado ser muy competitivo y exitoso para resolver problemas numeacutericos complejos en comparacioacuten con otros algoritmos

Liacutenea del tiempo del desarrollo de los algoritmos evolutivos

El algoritmo de Evolucioacuten Diferencial Evolucioacuten Diferencial (DE por sus siglas en ingleacutes) es un tipo de algoritmo evolutivo que fue originalmente disentildeado por Storn y Price en 1995 para resolver problemas de optimizacioacuten continua En particular en este algoritmo cada individuo usualmente se representa con un vector de valores continuos de paraacutemetros Ademaacutes en lugar de implementar los operadores de cruza y mutacioacuten tradicionales el algoritmo crea cada nuevo individuo con una combinacioacuten lineal de los valores de dos o maacutes individuos de la poblacioacuten actual que son seleccionados al azar La forma en que se implementan los operadores de cruza y mutacioacuten se ha utilizado en la literatura para identificar las diferentes variantes del algoritmo DEABC es la notacioacuten comuacutenmente usada para nombrar estas variantes donde A y B determinan el tipo de mutacioacuten implementado y C identifica el tipo de cruza implementado por la variante En particular A representa el procedimiento de seleccioacuten de los individuos para construir el individuo mutado y B es el nuacutemero de vectores diferencia usados para el operador de mutacioacuten DE puede considerarse un proceso de tres pasos que incluye una fase de inicializacioacuten el proceso evolutivo y el paso final que determina el resultado obtenido La fase de inicializacioacuten involucra la seleccioacuten y evaluacioacuten de un grupo de NP individuos que son generados aleatoriamente de un espacio de buacutesqueda finito los cuales se utilizan como poblacioacuten inicial del algoritmo conocido como Si para cada y son los valores miacutenimo y maacuteximo del -eacutesimo paraacutemetro en el valor del -eacutesimo individuo en la poblacioacuten inicial es determinado como sigue

x = (x1 x2 hellip xn) n

Ω sube ℝn

X0 j isin 1 hellip n xminj xmax

jj Ω xi

j i xi

donde es un nuacutemero aleatorio uniformemente distribuido dentro del rango El proceso evolutivo implementa un esquema iterativo para evolucionar la poblacioacuten inicial En cada iteracioacuten de este proceso conocido como una generacioacuten una nueva poblacioacuten de individuos es generada utilizando informacioacuten de la poblacioacuten previamente creada A diferencia de otros algoritmos evolutivos el orden de aplicacioacuten de los operadores geneacuteticos en el algoritmo de Evolucioacuten Diferencial es diferente Primero se aplica la mutacioacuten despueacutes la cruza y al final se lleva a cabo la seleccioacuten del mejor individuo Para cada en la generacioacuten es obtenido de la poblacioacuten y es utilizado para crear un nuevo vector aplicando los operadores de cruza y mutacioacuten Los vectores y son conocidos como el vector objetivo y el vector de prueba respectivamente Estos vectores son evaluados por el operador de seleccioacuten para actualizar la nueva poblacioacuten Los operadores de mutacioacuten cruza y seleccioacuten son descritos en detalle en los siguientes paacuterrafos En el paso final cuando una condicioacuten de paro es alcanzada el algoritmo devuelve el mejor individuo en la poblacioacuten actual La condicioacuten de paro maacutes comuacutenmente utilizada es comparar el nuacutemero de generaciones construidas contra un valor fijo pero otros criterios pueden ser implementados como aquellos descritos por Zielinski y Laur

Mutacioacuten Un vector mutado es construido al combinar los valores de varios individuos aleatoriamente seleccionados de El nuacutemero de individuos seleccionados para realizar la combinacioacuten depende del operador de mutacioacuten implementado por la variante del algoritmo En alguna de estas variantes el individuo con la mejor aptitud en la poblacioacuten es tambieacuten utilizado por el operador de mutacioacuten Entre los diferentes operadores de mutacioacuten descritos en la literatura destacan los siguientes

$$beginaligned

textDErand1quad v^i amp= x^r_1 + textF big( x^r_2 - x^r_3 big)labeleqmut_1

textDEbest1quad v^i amp= x^textbest + textF big( x^r_1 - x^r_2 big) labeleqmut_2

textDEcurrent-to-best1quad v^i amp= x^i + textF big( x^textbest - x^r_1big) + textF big( x^r_2 - x^r_3 big) labeleqmut_3

xij = xmin

j + r (xmaxj minus xmin

j )

r [0 1]

i isin 1 hellip NP g xi

Xgminus1 ui

xi ui

Xgω

vi xrj

Xgminus1

xbest Xgminus1

textDErand2quad v^i amp= x^r_1 + textF big( x^r_2 - x^r_3 big)+textF big( x^r_4 - x^r_5 big) labeleqmut_4

shortintertexty

textDEbest2quad v^i amp= x^textbest + textF big( x^r_1 - x^r_2 big )+ textF big( x^r_3 - x^r_4 big ) labeleqmut_5 endaligned$$

donde F es un valor definido por el usuario que representa un factor de escala aplicado para controlar la variacioacuten diferencial Storn y Price sentildealan que F puede fijarse entre 0 y 2 pero otros autores recomiendan valores entre 04 y 1 En la figura 3 se presenta un ejemplo de la aplicacioacuten del operador de mutacioacuten DErand1 En este ejemplo = = y = Usando F igual a 05 el vector mutado resultante es =

Ejemplo de la creacioacuten de un vector mutado con el esquema DErand1

La mutacioacuten aporta a las habilidades de explotacioacuten y exploracioacuten del meacutetodo Debido a que al inicio del proceso evolutivo los individuos se encuentran relativamente dispersos en el espacio

xr1 (1056 316) xr2

(253 903) xr3 (56 626) vi

(902 454)

de buacutesqueda la diferencia entre los vectores seleccionados es grande por lo que los vectores mutados pueden ubicarse en diferentes aacutereas del espacio de buacutesqueda pero a medida que el proceso evolutivo avanza las soluciones se vuelven maacutes cercanas y las diferencias entre ellos son maacutes pequentildeas lo que produce que los vectores mutados se encuentran concentrados en aacutereas promisorias del espacio de buacutesqueda

Cruza El operador de cruza se utiliza para combinar la informacioacuten entre el vector objetivo y el vector mutado para construir el vector de prueba Por cada o se seleccionan para construir usando un factor de cruza el cual es tambieacuten un valor especificado por el usuario Dos tipos de cruza se utilizan en este caso cruza binomial y cruza exponencial

Cruza binomial En este operador cada valor asignado a es seleccionado de o de comparando el valor CR con un valor seleccionado al azar Para garantizar que al menos un paraacutemetro de toma un valor de este operador utiliza un valor tambieacuten seleccionado al azar Formalmente la cruza binomial se define como

Tomando el vector mutado = del ejemplo de la figura 3 y un vector objetivo = en la figura 4 se muestra un ejemplo de la creacioacuten de un vector de prueba usando la cruza binomial El vector de prueba generado en este ejemplo es =

xr2 minus xr3

j isin 1 hellip n xij vi

jui CR isin [0 1]

ui vi xi

r isin [0 1] ui

vi l isin 1 hellip n

bin uij =

vij si r le CR or j = l

xij de otra forma

vi (902 454) xi

(406 766)ui (406 454)

Ejemplo de la creacioacuten de un vector de prueba usando la cruza binomial

Cruza exponencial Este operador de cruza asigna una secuencia de valores de a Los valores restantes que son asignados a son obtenidos de El tamantildeo de la secuencia se determina con dos valores 1) un iacutendice que representa la posicioacuten inicial de la secuencia en seleccionado aleatoriamente dentro del rango y 2) el nuacutemero de intentos consecutivos en los cuales determina la posicioacuten final de la secuencia como es definida en la Ec ([eqcr_exp]) La cruza exponencial es similar al operador de cruza de dos puntos introducido por Cavicchio

$$beginaligned

textexpquad u_j^i amp=

begincases

v_j^i amp textsi $ l leq j leq min (l+L-1n)$

vi ui

ui xi

l vi

1 hellip n L le n r le CR

x_j^i amp textde otra forma

endcases labeleqcr_expendaligned$$

Por ejemplo si se tienen dos vectores de cinco paraacutemetros = y = y se aplica el operador de cruza exponencial usando un factor de cruza de 06 entonces se debe obtener el valor de y despueacutes generar una secuencia de valores aleatorios para Si =2 y la secuencia de valores de es 06 03 04 y 06 y el vector de prueba que se construye es =

La cruza ayuda al algoritmo a mantener la diversidad de la poblacioacuten y eventualmente evitar que caiga en oacuteptimos locales El valor de CR es complicado de determinar pero algunos autores sentildealan que su valor puede ajustarse entre 03 y 09

Seleccioacuten Un torneo uno-a-uno es aplicado para determinar cual vector entre y es seleccionado como miembro de la nueva poblacioacuten Este esquema de seleccioacuten permite garantizar que el proceso evolutivo mantenga una mejora continua

Estructura del Algoritmo El Algoritmo [algDE] muestra la estructura de una implementacioacuten claacutesica del algoritmo Eacuteste requiere de tres paraacutemetros para controlar el proceso evolutivo (CR F y NP) y tambieacuten la seleccioacuten de un espacio de buacutesqueda para construir la poblacioacuten inicial y la definicioacuten del tamantildeo de individuo de una funcioacuten objetivo para evaluar cada individuo y de una condicioacuten de paro para finalizar el proceso evolutivo

Entrada Salida Un individuo generado aleatoriamente usando la Ec ([eqinicial]) Vector objetivo obtenido aleatoriamente de Vector mutado generado usando alguna de las Ecs ([eqmut_1])ndash([eqmut_5]) Vector de prueba construido usando alguna de las Ecs ([eqcr_bin])ndash([eqcr_exp])

DE tiene varias ventajas en comparacioacuten con otros algoritmos evolutivos como la simplicidad de su implementacioacuten su habilidad para producir mejores resultados que aquellos obtenidos por los demaacutes y su baja complejidad espacial

vi (24 36 12 78 02) xi

(34 96 12 52 31)l

r l rui (24 96 12 52 02)

xi ui

Xg

g larr 0 Xg larr xi larrXg larr Xg cup (i xi) g larr g + 1 Xg larr xi larr

Xgminus1 vi larrui larrXg larr Xg cup (i ui) Xg larr Xg cup (i xi) xbest

Modificaciones al algoritmo de Evolucioacuten Diferencial Aunque DE requiere de la definicioacuten de un nuacutemero menor de paraacutemetros en comparacioacuten con el nuacutemero de paraacutemetros requeridos por otros algoritmos evolutivos su desempentildeo es sensible a los valores seleccionados de CR F y NP Varios autores sentildealan que los valores adecuados para estos paraacutemetros pueden variar para diferentes problemas y es conocido que la definicioacuten de estos paraacutemetros depende de las caracteriacutesticas propias de cada problema Ademaacutes Lampinen y Zelinka sentildealan que este algoritmo puede presentar el problema de estancamiento debido a una incorrecta seleccioacuten de sus paraacutemetros El estancamiento en un algoritmo se presenta cuando eacuteste no converge a alguna solucioacuten y la poblacioacuten presenta una gran diversidad de individuos Por lo anterior la mayoriacutea de los estudios realizados para mejorar el desempentildeo del algoritmo de Evolucioacuten Diferencial se relacionan con teacutecnicas para ajustar los valores de sus paraacutemetros (F CR y NP) y para combinar las ventajas de las diferentes variantes del algoritmo usando un subconjunto de ellas en lugar de solamente aplicar una variante En los siguientes paacuterrafos se describen las propuestas para mejorar el desempentildeo del algoritmo que se consideran los maacutes representativos en la literatura especializada Para simplificar su descripcioacuten estas propuestas se agrupan de acuerdo al criterio utilizado Ajuste de paraacutemetros y combinacioacuten de variantes Por un lado debido a que F y CR son los paraacutemetros del algoritmo maacutes estudiados y donde maacutes variantes de mejora han sido desarrolladas estos estudios se agrupan en enfoques que usan paraacutemetros globales y enfoques que usan paraacutemetros para cada individuo Adicionalmente se presentan los enfoques relacionados con el ajuste del tamantildeo de la poblacioacuten y tambieacuten aquellos donde se modifica la forma que generar los vectores mutados dentro del proceso evolutivo La figura 5 presenta un esquema del desarrollo histoacuterico de estos enfoques

Liacutenea del tiempo de las modificaciones a DE

Ajuste de paraacutemetros globales En estos enfoques los operadores geneacuteticos utilizan los mismos valores para F y CR en todos los individuos de una misma poblacioacuten como se ilustra en la figura 6 Estos valores se actualizan al finalizar cada generacioacuten con el aacutenimo de mejorar las habilidades de exploracioacuten y explotacioacuten del algoritmo Dos enfoques se concentran en ajustar el valor de F manteniendo fijo el valor de CR En 2004 Ali y Toumlrn lo actualizan considerando la aptitud del mejor y del peor individuo en la poblacioacuten y Das et al en 2005 proponen dos enfoques para modificar su valor el primero lo modifica de forma aleatoria y el segundo reduce su valor de forma lineal conforme el proceso evolutivo avanza Por otro lado Liu y Lampinen en 2005 proponen un enfoque diferente al cual denominan FADE (Fuzzy Adaptive DE algorithm) En este algoritmo los valores de F y CR se ajustan usando un sistema de control loacutegico difuso El sistema utiliza las diferencias entre generaciones sucesivas tanto de los valores de los individuos como de sus valores de aptitud Finalmente Dra et al en 2015 proponen una versioacuten alternativa denominada SinDE (Sinusoidal DE) en donde los valores de F y CR se ajustan utilizando foacutermulas trigonomeacutetricas permitiendo cambiar la direccioacuten del vector diferencia dentro del operador de mutacioacuten

Esquema de ajuste de paraacutemetros globales del algoritmo

Ajuste de paraacutemetros asociados a cada individuo de la poblacioacuten En este tipo de algoritmos cada individuo de la poblacioacuten tiene asociado su propio conjunto de paraacutemetros como se muestra en la figura 7 Estos paraacutemetros se ajustan de forma independiente dentro del proceso evolutivo como se esquematiza en la figura 8

Paraacutemetros asociados a cada individuo de la poblacioacuten

En 2005 Omran et al asocian el valor de F a cada individuo de la poblacioacuten en su meacutetodo denominado SDE (self-adaptive DE) Este meacutetodo actualiza el valor de F combinando los valores de F de tres individuos de la poblacioacuten actual que son seleccionados aleatoriamente En 2006 Brest et al describen su meacutetodo denominado jDE donde los valores de F y CR se pueden modificar en cada iteracioacuten del proceso evolutivo basados en una decisioacuten estocaacutestica utilizando un par de umbrales previamente definidos En 2007 Zhang y Sanderson implementan un meacutetodo conocido como JADE donde F y CR son ajustados utilizando distribuciones normales independientes cuya media es calculada usando el promedio de los vectores mutados mejor adaptados en cada iteracioacuten En 2011 Ghosh et al actualizan los valores de estos paraacutemetros en base al valor de aptitud de los individuos en la poblacioacuten en un meacutetodo denominado FiADE (Fitness-Adaptive DE) Una versioacuten parecida es presentada en 2015 por Tang et al en el meacutetodo llamado IDE (DE with an individual-dependent mechanism) En 2011 Bi y Xiao describen el meacutetodo p-ADE (pbest vector-based self-adaptive DE variant) donde el vector mutado se crea usando el mejor individuo en la poblacioacuten y el mejor de los vectores que se utilizaron para crear al vector objetivo Los valores de F y CR de cada individuo son ajustados usando un factor asociado a las mejores y peores aptitudes de los individuos en la poblacioacuten En 2012 Islam et al introdujeron el meacutetodo llamado MDEpBX (modified DE with p-best crossover) donde se modifica la variante DEcurrent-to-best1 al utilizar el mejor elemento de un grupo de individuos seleccionados aleatoriamente de la poblacioacuten actual en lugar de usar el mejor individuo de la poblacioacuten Los valores de los paraacutemetros se ajustan en base a un par de distribuciones independientes que son actualizadas al final de cada generacioacuten En 2013 Tanabe y Fukunaga implementan el meacutetodo SHADE (Success-History based Adaptive DE) que basaacutendose en JADE actualiza los valores de F y CR usando una memoria de los vectores mutados que han sido exitosamente seleccionados previamente dentro del proceso evolutivo A partir de SHADE

varias versiones se han desarrollado como el meacutetodo L-convSHADE (SHADE using covariance matrix learning with Euclidean Neighborhood) y el meacutetodo LSHADE-SPA (LSHADE with semi parameter adaptation) En 2016 Leon y Xiong introducen una estrategia voraz para actualizar los valores de los paraacutemetros de cada individuo en el meacutetodo llamado GADE (Greedy Adaptive DE) Se utilizan los valores de los paraacutemetros de las soluciones vecinas para ajustar los paraacutemetros del nuevo vector mutado Finalmente Mohamed y Mohamed en 2017 proponen el meacutetodo denominado AGDE (Adaptive guided DE)

Esquema de ajuste de paraacutemetros para cada individuo de la poblacioacuten

Ajuste del tamantildeo de la poblacioacuten En los enfoques descritos previamente solamente se ajustan los valores de F y CR manteniendo el tamantildeo de la poblacioacuten constante Diversos estudios indican que el tamantildeo de la poblacioacuten tambieacuten afecta al desempentildeo de un algoritmo evolutivo por lo que existen trabajos que se han centrado en ajustar el tamantildeo de la poblacioacuten para garantizar la convergencia del algoritmo Existen algunos enfoques donde se ajusta el tamantildeo de la poblacioacuten y se describiraacuten a continuacioacuten En la figura 9 se muestra el esquema general en que estos enfoques ajustan el tamantildeo de la poblacioacuten durante el proceso evolutivo

Esquema general del ajuste del tamantildeo de la poblacioacuten en DE

En 2006 Teo describe el meacutetodo DESAP (Differential Evolution with self-adapting populations) donde el tamantildeo de la poblacioacuten se ajusta usando un factor distribuido uniformemente entre 0 y 1 En 2008 Brest y Sepesy Maučec presentan el algoritmo dynNP-DE (DE con NP dinaacutemico) donde van reduciendo a la mitad el tamantildeo de la poblacioacuten conforme el proceso evolutivo progresa Utilizando el nuacutemero total de evaluaciones y un paraacutemetro que indica el nuacutemero de posibles reducciones el algoritmo establece en queacute generaciones el algoritmo reduciraacute el tamantildeo de la poblacioacuten En 2014 Tanabe y Fukunaga presentaron una versioacuten con ajuste de poblacioacuten del meacutetodo SHADE denominada L-SHADE donde se aplica una reduccioacuten lineal del tamantildeo de la poblacioacuten previo a una ordenacioacuten a los individuos por su aptitud que permite eliminar solo

los individuos peor adaptados En 2017 Bujok y Tvrdiacutek describen el meacutetodo IDEbd (IDE with Population Size Adaptation) en donde el tamantildeo de la poblacioacuten es adaptado usando un factor calculado en base al nivel de diversidad de la poblacioacuten actual

Combinacioacuten de variantes Debido a la forma de combinar los individuos para crear el vector de prueba de cada una de las variantes de DE estaacutes presentan diferentes capacidades de exploracioacuten y explotacioacuten ademaacutes de que son maacutes efectivas para diferentes tipos de problemas Por ejemplo la variante DErand1 es mejor para explorar el espacio de buacutesqueda pero tiene una velocidad de convergencia lenta y DEbest1 converge maacutes raacutepido hacia soluciones cercanas a la oacuteptima pero solo para problemas con un uacutenico oacuteptimo global (unimodales) Debido a que usar diferentes estrategias de mutacioacuten durante diferentes momentos del proceso evolutivo pueden ser mejor que usar una sola variante durante todo el proceso varios autores se han enfocado en desarrollar estrategias para combinar diferentes variantes de DE y lograr con esto que cooperen en la creacioacuten de un mejor vector objetivo La figura 10 muestra un esquema general de la forma en que se aplican estas estrategias dentro del algoritmo de Evolucioacuten Diferencial

Esquema general de la estrategia de combinacioacuten de variantes de DE

En 2005 Qin y Suganthan describieron una versioacuten conocida como SADE (Self-Adaptive DE algorithm for numerical optimization) donde introducen un esquema que selecciona de forma alternada una de dos variantes del algoritmo de acuerdo a su tasa de eacutexito dentro del proceso evolutivo En 2009 Das et al presentaron el meacutetodo llamado DEGL (DE with Global and Local Neighborhoods) donde cada nuevo vector mutado se crea combinando dos vectores uno construido usando una vecindad del vector objetivo (vector local) y otro creado usando el mejor

individuo de la poblacioacuten (vector global) En 2011 Mallipeddi et al asignaron a cada individuo de la poblacioacuten el tipo de variante para generar el vector mutado y los valores para F y CR en el meacutetodo EPSDE (Ensemble of mutation strategies and parameters in DE) Tanto el tipo de variante como los valores de los paraacutemetros se escogen aleatoriamente de un grupo de ellos que es previamente definido Dependiendo del eacutexito de la aplicacioacuten de dichos valores eacutestos se pueden cambiar durante el proceso evolutivo Tambieacuten en ese mismo antildeo Wang et al en su meacutetodo CoDE (Composite DE) crean tres vectores para cada vector objetivo Cada vector es construido usando variantes diferentes y con paraacutemetros generados aleatoriamente El mejor de los tres vectores se usa como vector de prueba para aplicar el operador de seleccioacuten Adicionalmente Zhao et al implementaron un meacutetodo muy similar denominado SaDE-MMTS (SaDE with a modified multi-trajectory search) donde el vector mutado se selecciona de entre los vectores generados por tres diferentes variantes del algoritmo pero la seleccioacuten se hace en base a una probabilidad que iterativamente se ajusta en base a la cantidad de vectores mutados que son exitosamente seleccionados En 2017 Ghosh et al propusieron el meacutetodo NRDE (Noise Resilient DE) donde cada individuo puede ser mutado por alguna de dos variantes con igual probabilidad Los valores de F y CR son ajustados para cada individuo basado en un rango preestablecido previamente

Evolucioacuten Diferencial para otros tipos de problemas Aunque DE fue definido originalmente para resolver problemas de optimizacioacuten continua sin restricciones tambieacuten se ha utilizado con eacutexito para resolver otros tipos de problemas como aquellos donde los valores de las variables del problema son discretos donde el espacio de buacutesqueda estaacute limitado por una o maacutes restricciones y aquellos donde se manejan dos o mas objetivos Prado et al describe varias adaptaciones al algoritmo de Evolucioacuten Diferencial para problemas de optimizacioacuten combinatoria como aquellos que implementan una matriz de permutacioacuten los que obtienen una secuencia ordenada de valores y los que aplican una transformacioacuten de los valores continuos al espacio discreto En el caso de los problemas de optimizacioacuten con restricciones Mezura-Montes et al describen varios enfoques que se han utilizado para aplicar DE en este tipo de problemas como aquellos que utilizan teacutecnicas para eliminar o reparar soluciones infactibles y los que implementan teacutecnicas de penalizacioacuten Finalmente para problemas de optimizacioacuten multi-objetivo Mezura-Montes et al resume las principales teacutecnicas basadas en el algoritmo de Evolucioacuten Diferencial para manejar dos o maacutes objetivos como los enfoques basados en dominancia de Pareto y en jerarquizacioacuten de Pareto asiacute como los meacutetodos que no se basan en Pareto y los enfoques que combinan diferentes estrategias Hoy en diacutea existen tambieacuten algoritmos basados en descomposicioacuten y en indicadores de desempentildeo

DE en Meacutexico En el paiacutes se tiene mucha actividad en investigacioacuten relacionada con DE particularmente el grupo EVOCINV de CINVESTAV Zacatenco estudia a este algoritmo en optimizacioacuten multi-objetivo y temas afines al manejo de muacuteltiples objetivos como algoritmos basados en indicadores modelos subrogados operadores de seleccioacuten operadores de variacioacuten adaptacioacuten de paraacutemetros entre otros temas

En el Centro de Investigacioacuten en Inteligencia Artificial de la Universidad Veracruzana se desarrolla investigacioacuten en optimizacioacuten con restricciones usando DE aplicaciones de DE en mecatroacutenica y en control automaacutetico DE y buacutesqueda local optimizacioacuten dinaacutemica multi-objetivo DE asistida por subrogados en espacios restringidos entre otras temaacuteticas

Recientemente en el Instituto Tecnoloacutegico de Veracruz se desarrollan aplicaciones de DE en aprendizaje automaacutetico en el Centro de Innovacioacuten y Desarrollo Tecnoloacutegico en Coacutemputo (CIDETEC) del IPN se aplica DE en problemas de mecatroacutenica y en el Centro de Investigacioacuten en Matemaacuteticas se aplica en procesos quiacutemicos

Todas estas menciones soacutelo son representativas pues la DE al ser un algoritmo faacutecil de implementar y que provee resultados competitivos ha sido particularmente atractiva para su estudio y aplicacioacuten en instituciones mexicanas

Conclusiones El algoritmo de Evolucioacuten Diferencial es un enfoque exitoso para resolver problemas de optimizacioacuten continua sin restricciones Los individuos que evolucionan al aplicar los operadores de este algoritmo tradicionalmente se codifican como secuencias de nuacutemeros reales pero otras representaciones se han utilizado tambieacuten Ademaacutes con la inclusioacuten de diversas estrategias para manejar varios objetivos y conjuntos de restricciones DE se puede aplicar para resolver otro tipo de problemas DE se distingue por depender de la definicioacuten de un menor nuacutemero de paraacutemetros que otros algoritmos evolutivos pero esto tambieacuten lo hace muy sensible a la definicioacuten de los valores para esos paraacutemetros Diversos variantes del algoritmo han sido desarrolladas para mejorar el desempentildeo del algoritmo generando un abanico de alternativas para resolver casi cualquier tipo de problema El estudio del comportamiento de este algoritmo y la definicioacuten de nuevas propuestas de desarrollo sin duda aportaraacute a la resolucioacuten maacutes eficiente de problemas complejos que interesan a la comunidad cientiacutefica

Para saber maacutes Para aquellos lectores que deseen abundar en el tema las siguientes referencias sobre DE pueden ser de intereacutes

bull El libro sobre DE escrito por los autores originales del algoritmo

bull Una revisioacuten muy completa de la literatura de DE y su versioacuten actualizada

bull Otra revisioacuten de la literatura acompantildeada de un estudio experimental

bull Una revisioacuten de estudios teoacutericos sobre DE

bull Un libro editado con temas diversos y recientes sobre DE

bull DE para resolver problemas de optimizacioacuten multi-objetivo

bull DE y su papel importante en espacios restringidos

Algoritmos Geneacuteticos Paralelos Alicia Morales-Reyes

Introduccioacuten Las teacutecnicas evolutivas son aptas para su paralelizacioacuten tanto a nivel algoriacutetmico como a nivel de ejecucioacuten En particular los algoritmos geneacuteticos (AGs) han sido investigados desde esta perspectiva y esquemas paralelos han surgido desde el inicio de su desarrollo La paralelizacioacuten de los AGs persigue la mejora de su desempentildeo algoriacutetmico en teacuterminos de eficiencia y eficacia y la reduccioacuten de tiempos de ejecucioacuten en sus distintos dominios de aplicacioacuten

Una clasificacioacuten general de los Algoritmos Geneacuteticos Paralelos (AGPs) los agrupa por su granularidad en AGPs de grano fino y grueso Los AGPs de grano grueso dividen la poblacioacuten agrupada en panmixia en varias sub-poblaciones permitiendo la migracioacuten de individuos entre 1

eacutestas De esta forma se reduce el nuacutemero de individuos en cada unidad de procesamiento En consecuencia se establece un fuerte viacutenculo entre la algoritmia y la implementacioacuten de estas teacutecnicas Sin embargo utilizar una uacutenica unidad de procesamiento para la evolucioacuten de varias sub-poblaciones ha sido un contexto tambieacuten explorado como un mecanismo de mejora del desempentildeo algoriacutetmico

Los AGPs de grano grueso tambieacuten llamados Algoritmos Geneacuteticos distribuidos (AGds) han permitido la exploracioacuten de nuevas vertientes de la versioacuten estaacutendar de los AGs Tener diferentes paraacutemetros de configuracioacuten para realizar las operaciones geneacuteticas implementar granularidades distintas incorporar el operador de migracioacuten han sido caracteriacutesticas a explorar que pueden culminar en un mejor desempentildeo de los AGs

En la figura 1 se muestra un diagrama de un AG distribuido Cada poblacioacuten es centralizada y se necesitan definir criterios en teacuterminos de tasa y frecuencia de migracioacuten Tambieacuten se necesita definir si la migracioacuten seraacute siacutencrona o asiacutencrona Herrera et al presentaron un esquema de un AGP distribuido con poblaciones heterogeacuteneas Utilizaron la estructura de un hipercubo posicionando en cada veacutertice una sub-poblacioacuten Dependiendo de la ubicacioacuten de cada sub-poblacioacuten la buacutesqueda implica mayor explotacioacuten o exploracioacuten Esto se logra de manera interna viacutea la configuracioacuten de los operadores geneacuteticos De esta forma se procura mantener la diversidad de soluciones de forma global y asiacute mejorar la calidad de las soluciones encontradas

Una poblacioacuten en panmixia es aquella donde todos sus individuos sin restricciones pueden 1

reproducirse entre si

Diagrama poblacional de un AGP distribuido o de grano grueso

La principal diferencia entre los AGP de grano fino con respecto a los AGP distribuidos o de grano grueso es la descentralizacioacuten de su poblacioacuten y en consecuencia la localizacioacuten del proceso de seleccioacuten de individuos En la figura 2 se muestra un esquema poblacional de un AGP de grano fino tambieacuten conocido como AG celular (AGc) De manera comuacuten se utiliza una topologiacutea de malla conectada de forma toroidal como lo muestra la figura Un individuo de la poblacioacuten se ubica en cada cruce de la malla y alrededor de eacutel se define un vecindario cuyas soluciones participan en los procesos de seleccioacuten recombinacioacuten y mutacioacuten para la evolucioacuten de eacuteste En la figura 2 se ilustra un vecindario tipo Moore con 9 individuos

En los AGs celulares cada individuo o solucioacuten interactuacutea con sus vecinos maacutes cercanos logrando de esta forma el esparcimiento suave de las soluciones a traveacutes de la malla debido al traslape de vecindarios En los AGs distribuidos la asociacioacuten entre soluciones se pierde en comparacioacuten con los AGs celulares Esta es otra caracteriacutestica importante de los AGc que permite la exploracioacuten global del espacio de buacutesqueda mientras que localmente los individuos explotan la regioacuten cercana a su ubicacioacuten

Diagrama poblacional del AG celular o de grano fino

La paralelizacioacuten de los algoritmos evolutivos en particular de los algoritmos geneacuteticos persigue distintos objetivos Por ejemplo la evolucioacuten simultaacutenea de sub-poblaciones lo cual permite descubrir nueva rutas para solucionar un problema y en consecuencia reducir el nuacutemero de generaciones para converger a la solucioacuten oacuteptima Aunado a esto los tiempos de procesamiento pueden tambieacuten acortarse La paralelizacioacuten de AGs se puede realizar a distintos niveles Asiacute mismo es posible la combinacioacuten de sub-poblaciones con distintas dinaacutemicas internas Por ejemplo algunas sub-poblaciones podriacutean evolucionar en un esquema de panmixia y otras en un esquema celular Este tipo de esquemas poblacionales se discutiraacuten a detalle en la subseccioacuten 11

Una operacioacuten importante en los procesos evolutivos de los AGs distribuidos es la migracioacuten de los individuos entre sub-poblaciones Durante el proceso de buacutesqueda uno o maacutes individuos son seleccionados para migrar y reemplazar a otros individuos de otras sub-poblaciones Los criterios de migracioacuten requieren no soacutelo de la tasa y la frecuencia de migracioacuten sino tambieacuten de criterios de seleccioacuten y reemplazo de individuos al llegar a las otras sub-poblaciones El proceso de migracioacuten puede realizarse de forma siacutencrona o asiacutencrona La migracioacuten siacutencrona supone que todas las sub-poblaciones estaacuten en el mismo estado de la buacutesqueda y la migracioacuten de individuos entre sub-poblaciones ocurre de manera simultaacutenea Por otro lado la migracioacuten asiacutencrona supone que cada sub-poblacioacuten determina el momento en que los individuos deben migrar En la sub-seccioacuten 24 se aborda el efecto del sincronismo en los mecanismos de migracioacuten

Cantuacute-Paz et al presentoacute un estudio completo en AGs distribuidos tanto desde el punto de vista teoacuterico como del praacutectico Debido al nuacutemero de paraacutemetros que se deben definir en los AGds Cantuacute-Paz et al iniciaron con la solucioacuten de un problema de optimizacioacuten para determinar el tamantildeo adecuado de las sub-poblaciones para alcanzar una cierta calidad de la misma Utilizaron un modelo matemaacutetico considerando la hipoacutetesis de los bloques constructores propuesta por Holland y extendida por Goldberg El estudio se verifica en varios problemas con un grado alto de precisioacuten mostraacutendose una buena respuesta a la escalabilidad

Para determinar escenarios de operacioacuten liacutemite en teacuterminos de eficiencia analizaron la interaccioacuten de las sub-poblaciones y su efecto en la calidad de las soluciones Previamente se ha investigado el cambio en la calidad de las soluciones debido a la forma de interaccioacuten de las sub-poblaciones Tener sub-poblaciones evolucionando de manera independiente con muy poca o nula interaccioacuten entre ellas resulta en soluciones menos precisas mientras mejores soluciones se obtienen viacutea el esquema de panmixia tradicional Sin embargo cuando se definen criterios de migracioacuten adecuados y un cierto nuacutemero de soluciones migran entre sub-poblaciones a una frecuencia media o baja el desempentildeo en general de los AGds mejora alcanzando en un nuacutemero de casos aceleraciones super-lineales y mejor calidad de las soluciones encontradas Se puede inferir entonces la importancia del operador de migracioacuten el cual seraacute analizado en detalle en la sub-seccioacuten 12

AGds homogeacuteneos y heterogeacuteneos Existen distintos escenarios en los que se pueden definir y aplicar AGds con esquemas poblaciones homogeacuteneos y heterogeacuteneos es decir combinaciones de poblaciones centralizadas y descentralizadas A nivel algoriacutetmico se puede definir la misma o una diferente configuracioacuten de operadores geneacuteticos A partir de esas configuraciones distintas diferentes configuraciones de paraacutemetros se pueden determinar para ejecutar la buacutesqueda en cada sub-poblacioacuten Por ejemplo distintas definiciones del operador de recombinacioacuten o bien de las probabilidades de mutacioacuten pueden operar sobre los individuos de cada sub-poblacioacuten La comunidad en el aacuterea ha incluso explorado escenarios donde las soluciones se representan de manera distinta entre sub-poblaciones Por otro lado a nivel de implementacioacuten se han explorado esquemas con sub-poblaciones heterogeacuteneas Por ejemplo Alba et al realizoacute un estudio en distintas plataformas de coacutemputo ejecutando sub-poblaciones en panmixia y celulares

Como se puede apreciar el desarrollo de un esquema de AG paralelos ya sean distribuidos o descentralizados conlleva la definicioacuten de un nuacutemero de paraacutemetros que afectaraacute de manera importante su desempentildeo algoriacutetmico Otro ejemplo es la solucioacuten de problemas de optimizacioacuten en espacios continuos que se han abordado a traveacutes de un esquema de AGP utilizando una versioacuten mejorada con cromosomas codificados con nuacutemeros reales Para esto se

definioacute una topologiacutea doble con un hipercubo que se comparoacute con una topologiacutea sencilla Las sub-poblaciones ubicadas en sus veacutertices promoviacutean mayor o menor exploracioacuten u explotacioacuten de las regiones viacutea la configuracioacuten de los operadores geneacuteticos La migracioacuten entre las sub-poblaciones afectoacute directamente los tiempos de ejecucioacuten por medio de la reduccioacuten del nuacutemero de evaluaciones La capacidad de buacutesqueda de la topologiacutea doble superoacute a la de la topologiacutea sencilla

Cuando pensamos en paralelizar alguna teacutecnica algoriacutetmica nos viene a la mente acelerar los procesos de ejecucioacuten Sin embargo la paralelizacioacuten de los algoritmos evolutivos podriacutea mejorar tanto los procesos de buacutesqueda algoriacutetmica como los tiempos de ejecucioacuten Es asiacute que a nivel de implementacioacuten se utilizado coacutemputo heterogeacuteneo para la evaluacioacuten de esquemas de AGPs Por ejemplo Alba et al propusieron utilizar una plataforma heterogeacutenea en la cual distintos sistemas operativos con distintas restricciones de ejecucioacuten implementaban un modelo de AGPs distribuidos Las sub-poblaciones se conectaron en un arreglo de anillo unidireccional cada sub-poblacioacuten ejecutaba un modelo poblacional de estado estable A cada generacioacuten se produciacutea un individuo que reemplazaba a la peor solucioacuten obtenida Se establecioacute un esquema de migracioacuten asiacutencrona que demostroacute mejores resultados ver 3 En general se observoacute un mejor desempentildeo de la ejecucioacuten del esquema paralelo en la plataforma heterogeacutenea en comparacioacuten con la homogeacutenea se redujo el nuacutemero de evaluaciones debido a la explotacioacuten de soluciones a distintas tasas de migracioacuten

AGP con topologiacutea poblacional de anillo unidireccional implementada en una plataforma de coacutemputo heterogeacutenea La migracioacuten entre sub-poblaciones es asiacutencrona y responde a una dinaacutemica de estado estable

Migracioacuten en AGPs Como se explicoacute anteriormente la incorporacioacuten de un nuevo operador llamado migracioacuten se hace latente en los esquemas paralelos de los AGs En los esquemas de grano grueso donde se tienen sub-poblaciones de grano fino y grueso evolucionando simultaacuteneamente la migracioacuten se debe considerar como un mecanismo que introduce nuevos individuos y por lo tanto promueve o restaura la diversidad entre sub-poblaciones De forma distinta en los AGs celulares o de grano fino un mecanismo de migracioacuten impliacutecito trabaja durante el proceso de buacutesqueda debido al traslape de vecindarios que permite la difusioacuten de soluciones a lo largo y ancho de la topologiacutea definida para la poblacioacuten Este mecanismo de migracioacuten es inherente a la estructura de los AGs celulares y no requiere de un paraacutemetro de frecuencia o tasa de migracioacuten o ninguacuten otro mecanismo de seleccioacuten y reemplazo

Revisaremos ahora evaluaciones empiacutericas que se han realizado a criterios de migracioacuten definidos para AGPs de grano grueso Aunque estos criterios son definidos para este tipo de esquemas paralelos tambieacuten es posible aplicar un segundo criterio migratorio en AGs celulares ademaacutes del mecanismo natural inherente a estos

Para establecer un criterio de migracioacuten adecuado y mejorar el desempentildeo algoriacutetmico de los AGPs de grano grueso se examinaron los casos liacutemite para aplicar el proceso de migracioacuten Se

sugiere mantener un cierto nivel de aislamiento entre las sub-poblaciones Si la sub-poblacioacuten evoluciona en completo aislamiento las mejoras en diversidad son miacutenimas y por ende la capacidad de buacutesqueda se ve reducida Por otro lado si se aplica el operador de migracioacuten con una frecuencia maacutexima el costo computacional se incrementa de manera significativa Por lo tanto el objetivo de la migracioacuten es evitar el aislamiento entre sub-poblaciones mientras se mantiene un nivel aceptable de comunicacioacuten entre eacutestas

Es posible calcular experimentalmente el nuacutemero adecuado de unidades de procesamiento para minimizar el tiempo de ejecucioacuten de un esquema de AGPs El anaacutelisis considera casos liacutemite en teacuterminos de conectividad entre sub-poblaciones es decir el caso de tener frecuencias de migracioacuten miacutenimas y maacuteximas La conclusioacuten teoacuterica para una poblacioacuten indica que el nuacutemero

oacuteptimo de unidades de procesamiento estaacute dado por donde es el tamantildeo de la

poblacioacuten es el tiempo de coacutemputo de la funcioacuten objetivo de un individuo y es el tiempo promedio de comunicacioacuten para una unidad de procesamiento Esto quiere decir que dividiendo una poblacioacuten en sub-poblaciones distribuidas en muacuteltiples unidades de procesamiento reduce el tiempo global de ejecucioacuten La misma conclusioacuten se logroacute para un esquema de muacuteltiples poblaciones considerando ademaacutes la evaluacioacuten de funciones objetivo separables Esto quiere decir que utilizar un nuacutemero de unidades de procesamiento en un esquema evolutivo paralelo tiene un impacto positivo en la reduccioacuten de los tiempos de ejecucioacuten

Es tambieacuten importante analizar el efecto de los criterios de migracioacuten que se utilizan en esquemas de AGPs de grano grueso El objetivo principal es determinar coacutemo el operador de migracioacuten afecta la presioacuten de seleccioacuten inducida e impliacutecitamente poder explicar las aceleraciones super-lineales que se pueden modelar para este tipo de esquemas La forma en que los individuos se seleccionan para migracioacuten y reemplazo tienen un efecto considerable en la presioacuten de seleccioacuten y se ha observado que tasas altas de migracioacuten producen un incremento en eacutesta Tener una presioacuten de seleccioacuten alta afecta la buacutesqueda al producir una convergencia prematura a un oacuteptimo local

Aunque la operacioacuten de migracioacuten se ha investigado principalmente para esquemas de AGPs de grano grueso tambieacuten se ha revisado su efecto en AGPs de grano fino considerando tanto el mecanismo de migracioacuten impliacutecita viacutea el traslape de vecindarios como la definicioacuten de criterios para migracioacuten de individuos desde y hacia distintas posiciones de la topologiacutea de malla definida para la poblacioacuten Por ejemplo se han utilizado estructuras de aacuterboles binarios para dividir una topologiacutea de malla de dos dimensiones en formaciones conceacutentricas de individuos definiendo para cada formacioacuten criterios de migracioacuten distintos El intercambio de individuos entre estas

OnTf

Tcn

Tf Tc

formaciones definidas por su estructura alenta el proceso de buacutesqueda permitiendo una mayor exploracioacuten Los resultados mostraron un mejor desempentildeo en la solucioacuten de problemas de optimizacioacuten con restricciones el operador de mutacioacuten se aplica para evitar la presencia de super individuos que pueden dirigir la buacutesqueda al estancamiento conquistando la topologiacutea de malla mucho maacutes raacutepido En la siguiente seccioacuten se abordaraacute el comportamiento de los AG celulares o de grano fino

AGs celulares o de grano fino Los AGs celulares o de grano fino se construyen a partir de poblaciones descentralizadas donde los individuos interactuacutean con otros individuos ubicados dentro de un vecindario definido Es decir interactuacutean con los vecinos maacutes cercanos Usualmente los AGCs se implementan en topologiacuteas de mallas de -dimensionales manteniendo conexiones toroidales entre los cruces de malla utilizando formas comunes como una malla lineal cuadrada o rectangular

El procesamiento de los AG celulares corresponde al de los Autoacutematas Celulares (ACs) Estos determinan una regla global que define un comportamiento especiacutefico que se construye a partir de reglas locales Se han explorado ACs de una dos y tres dimensiones en combinacioacuten con AGs con la finalidad de evolucionar el comportamiento global requerido Esta combinacioacuten de un AC y un AG originoacute el nombre de AG celular con la diferencia de tener una representacioacuten maacutes elaborada en cada cruce de la malla cromosomas Se observoacute que la informacioacuten de las reglas locales o individuos alcanzaba distancias lejanas dentro de la malla definida esto debido al traslape de los vecindarios De esta forma se determinoacute que la informacioacuten se mueve entre vecindarios permitiendo acelerar el proceso de crear nuevos comportamientos ad-hoc al problema que se esteacute solucionando y con una peacuterdida miacutenima de informacioacuten

El pseudocoacutedigo [algCellularGeneticAlgorithmPseudocode] es el estaacutendar de un AG celular En un primer paso se genera una poblacioacuten inicial de forma aleatoria ubicando cada individuo en un cruce de la topologiacutea de malla Esta poblacioacuten inicial se evaluacutea de acuerdo a la funcioacuten objetivo del problema a resolver Posteriormente da inicio el ciclo reproductivo principal Se define un vecindario local con individuos ubicados de forma cercana A partir de eacutestos y del individuo ubicado en el cruce de la malla se seleccionan a los padres para reproducirse Existen distintos meacutetodos de seleccioacuten que se utilizan en los AG celulares Se pueden utilizar los que comuacutenmente se aplican en los AGs con poblaciones centralizadas como el torneo binario ruleta o seleccioacuten determinista Existen tambieacuten otros meacutetodos especiacuteficos a los AG celulares como son la seleccioacuten ceacutentrica o anisotroacutepica Una vez seleccionados los padres se recombinan y los hijos se mutan No hay diferencia entre la aplicacioacuten de los operadores de recombinacioacuten y mutacioacuten con respecto a los AG tradicionales

n

Debido a la descentralizacioacuten de la poblacioacuten el reemplazo de eacutesta puede ocurrir de forma siacutencrona o asiacutencrona El reemplazo asiacutencrono requiere del almacenaje temporal de la poblacioacuten hasta que todos los individuos concluyen su ciclo reproductivo El reemplazo siacutencrono requiere de la definicioacuten del criterio para implementarla Los distintos criterios que se han utilizado para el reemplazo se explicaraacuten en la sub-seccioacuten 24

poblacioacuten inicial evaluacioacuten seleccioacuten de padres vecinario L5 recombinacioacuten mutacioacuten evaluacioacuten reemplazo

Explotacioacutenexploracioacuten por propiedades estructurales Debido a la descentralizacioacuten de la poblacioacuten y la definicioacuten de una topologiacutea de malla las caracteriacutesticas estructurales de los AG celulares tienen un impacto importante en los procesos de buacutesqueda La forma y la dimensioacuten de la topologiacutea el nuacutemero de individuos dentro del vecindario entre otras son caracteriacutesticas de la estructura que necesitan definirse Ademaacutes otras operaciones durante el ciclo evolutivo como el proceso de seleccioacuten local el reemplazo de individuos criterios de migracioacuten entre otras estaacuten tambieacuten asociadas a estas caracteriacutesticas de estructura

La topologiacutea de malla que es comuacutenmente utilizada en los AG celulares se muestra en la figura 2 Se ha reportado que distintas formas de malla en combinacioacuten con distintos tipos de vecindarios inducen una mayor o menor presioacuten de seleccioacuten Para modelar el efecto de ambas estructuras se utiliza un patroacuten de dispersioacuten con puntos (la posicioacuten de cada solucioacuten en la malla) a partir de una posicioacuten central con coordenadas Se calcula la medida de dispersioacuten debido a que otras medidas como el radio de una circunferencia indicariacutea el mismo valor para topologiacuteas distintas La relacioacuten entre el vecindario y la topologiacutea o radii se calcula de la siguiente forma

donde y La razoacuten o radii entre el vecindario y la topologiacutea de

malla estaacute dada por

(x) larr random(x0) (f ) larr evaluat ion(x)(f1 f2) larr seleccion(f fN fE fS fW)(x1 x2) larr seleccion(x xN xE xS xW) (x prime1 x prime2 ) larr recombinacion(x prime1 x prime 2 )

(x1Prime x2Prime) larr mutacion(x prime1 x prime2 ) (fnew) larr evaluacion(x1Prime x2Prime)(f x) larr reemplazo(fnew xnew)

p(x0 y0)

D =sum (xi minus x)2 + sum (yi minus y)2

p

(x ) =sump

i=1 xi

p (y) =sump

i=1 yi

p

Esta medida se conoce como la razoacuten vecindario-malla (RVM) Formas y tamantildeos diferentes de vecindarios y topologiacuteas proporcionan una medida distinta de RVM ver figura 4

Ejemplos de formas de vecindarios y topologiacuteas de malla

NGR =Dvecindario

Dmalla

Razoacuten vecindario-malla para diferentes topologiacuteas de malla y tamantildeos de poblacioacuten con un vecindario L5

[figL5_variableLattice]

Una topologiacutea de malla cuadrada con un vecindario es una configuracioacuten comuacutenmente utilizada en la implementacioacuten de AG celulares En la figura [figL5_variableLattice] la razoacuten vecindario-malla se ilustra para distintos tamantildeos de poblacioacuten con vecindario Tres formas de malla se evaluacutean cuadrada rectangular y lineal Las curvas de la RVM muestran razones altas para mallas cuadradas y razones bajas para topologiacuteas lineales La RVM se asocia a la presioacuten de seleccioacuten inducida en AG celulares debido a sus caracteriacutesticas estructurales Para comprender esto de mejor manera otro concepto importante es necesario el nuacutemero de generaciones que toma al mejor individuo de una poblacioacuten inicial esparcir su solucioacuten en todas las direcciones de la topologiacutea de malla es decir conquistarla a partir de aplicar uacutenicamente el operador de seleccioacuten Un nuacutemero de generaciones alto indica una baja presioacuten de seleccioacuten es decir una buacutesqueda principalmente explorativa Por el contrario un nuacutemero de reducido de generaciones implica una alta presioacuten de seleccioacuten y por tanto una buacutesqueda orientada a la explotacioacuten del espacio de buacutesqueda

L5

L5

Los AG celulares son teacutecnicas flexibles con un nuacutemero de paraacutemetros que pueden configurarse Por ejemplo es posible pensar en modificar en tiempo de buacutesqueda las topologiacuteas de malla tamantildeos y formas de vecindarios como una forma de control de la presioacuten de seleccioacuten inducida Las modificaciones de la configuracioacuten pueden realizarse de manera constante definiendo un nuacutemero de generaciones o bien de forma adaptativa midiendo generacioacuten a generacioacuten el comportamiento por ejemplo de la diversidad en el espacio de fenotipos y genotipos modificando entonces las configuraciones de estructura de manera que se promueva la exploracioacuten o la explotacioacuten del espacio de buacutesqueda

Presioacuten de seleccioacuten por caracteriacutesticas estructurales

El matemaacutetico belga Pierre Verhulst en el siglo XIX estudioacute modelos logiacutesticos de crecimiento para describir sistemas bioloacutegicos bajo condiciones de recursos limitados Considerando una poblacioacuten en panmixia de cierto tamantildeo y un nuacutemero de copias del mejor individuo en un tiempo discreto dado por la tasa de crecimiento se expresa a traveacutes del siguiente modelo de recurrencia discreto

$$beginaligned

N left( 0 right) = 1 quad quad quad quad quad quad quad quad quad quad quad quad notag

N left( t right) = N left( t - 1 right) + p_s tamPob N left(t-1right) left(1 - left(frac1tamPobright) N left(t-1right)right)endaligned$$

donde es la probabilidad de seleccioacuten de un individuo y se puede aproximar por la ecuacioacuten logiacutestica continua

donde es la probabilidad Aunque se obtienen curvas de crecimiento similares el comportamiento en poblaciones estructuradas o descentralizadas no es exponencial sino polinomial como fue sugerido por Spiessen y Manderick in De este modo las caracteriacutesticas estructurales necesitan considerarse en el modelo matemaacutetico de la tasa de crecimiento para AG celulares Si se evaluacutea un caso liacutemite donde el mejor individuo dentro del vecindario se selecciona siempre para reemplazar al individuo actual o central (al vecindario) es decir

tamPobt N(t)

ps N(t)

N(t) =tamPob

1 + ( tamPobN(0) minus 1)eminusαt

α ps

ps = 1

y se define un tamantildeo de poblacioacuten donde determina una topologiacutea de malla cuadrada y un vecindario local con radio La tasa de crecimiento del mejor individuo estaacute dada por

$$beginaligned

N left( 0 right) = 1 quad quad quad quad quad quad quad quad quad quad quad quad notag

N left( t right) = N left( t-1 right) + 4r^2t - 2rleft( r+1 right) quad 0 leq t leq fracleft(sqrttamPob-1right)2

N left( t right) = N left( t-1 right) - 4r^2t + 4r sqrttamPob - 2rleft(r+1right) quad t geq fracleft(sqrttamPob-1right)2 notagendaligned$$

que en su forma cerrada queda como

$$beginaligned

N left( t right) = 2r^2t^2 + 2r left(2r + 1 right)t + 1 quad 0 leq t leq fracleft(sqrttamPob-1right)2

N left( t right) = -2r^2t^2 + 2rleft(2sqrttamPob - 3r - 1 right)t + 1 quad t geq fracleft(sqrttamPob-1right)2 notagendaligned$$

En la figura 5 se ilustra la razoacuten de crecimiento para una poblacioacuten de individuos con un vecindario local tipo ver figura 4

Tasa de crecimiento teoacuterica en una topologiacutea de malla toroidal cuadrada y un vecindario local tipo Moore con probabilidad de seleccioacuten

Si se considera la probabilidad variable y cada individuo tiene probabilidades de seleccioacuten distintas probabilidad para el individuo central y para cada individuo dentro de un vecindario tipo El modelado de la recurrencia exacta se vuelve muy complicado Para poder construir un modelo completo se recurre a modelos maacutes simples en donde la tasa de crecimiento se describe como la expansioacuten de un cuadrado rotado con una

tamPob tamPob times tamPobr

81C9

ps = 1

psp0 p1 p2 p3 p4 p8

C9

longitud por lado de y diagonal La tasa de crecimiento de los

individuos con probabilidad variable contenidos dentro del cuadrado rotado estaacute dada por la siguiente recurrencia

$$beginaligned

N left( 0 right) = 1 quad quad quad quad quad quad quad quad quad quad quad quad notag

N left( t right) = N left( t-1 right) + 4p_i sqrtfracNleft(t-1right)2 quad N left( t right) leq fractamPob2

N left( t right) = N left( t-1 right) + 4p_i sqrttamPob - N left( t-1 right) quad N left( t right) gt fractamPob2 notagendaligned$$

Encontrar una forma cerrada de este modelo es una tarea complicada de acuerdo a autores reconocidos del aacuterea En la figura 6 se muestra la tasa de crecimiento probabilista como ejemplo de la dificultad que representa su modelado matemaacutetico

Tasa de crecimiento probabilista para una topologiacutea de malla toroidal cuadrada con vecindario local y probabilidad de seleccioacuten variable

Anaacutelisis empiacuterico

Es posible tener una aproximacioacuten empiacuterica del tiempo para el dominio de la topologiacutea de malla A continuacioacuten se presenta un ejemplo utilizando como meacutetodo de seleccioacuten local torneo binario y ejecuciones por configuracioacuten fueron evaluadas En la figura [figL5_growthRates] se muestran las distintas tasas de crecimiento para la conquista de la malla considerando un tamantildeo de la poblacioacuten de individuos con las siguientes formas de topologiacutea de malla 1)

cuadrada 2) rectangular y 3) lineal La diferencia entre los

tiempos de dominio es evidente Topologiacuteas de malla lineales proveen una difusioacuten maacutes lenta del

s = N(t) d =N(t)

2pi

ps

50

400

400 times 400 10 times40010

4 times400

4

mejor individuo para conquistar la malla y por ende menor presioacuten de seleccioacuten y un comportamiento principalmente explorativo Por otro lado en topologiacuteas de malla cuadradas la solucioacuten del mejor individuo conquista la malla raacutepidamente en un nuacutemero menor de generaciones Es decir tiene un comportamiento con alta presioacuten de seleccioacuten y por ende una buacutesqueda caracterizada por una mayor explotacioacuten del espacio de buacutesqueda Desde este punto de vista se ha investigado tambieacuten la posibilidad de modificacioacuten dinaacutemica de las propiedades estructurales en tiempo de buacutesqueda Se han reportado mejores desempentildeos algoriacutetmicos bajo estos criterios

Tasas de crecimiento promedio del mejor individuo en topologiacuteas de malla cuadrada rectangular y lineal con vecindario La tasa promedio de crecimiento se calcula con base en 50 experimentos y aplicando uacutenicamente el operador de seleccioacuten

[figL5_growthRates]

Aceleracioacuten en AGP Un tema controversial en AGPs son las aceleraciones que esquemas distribuidos y celulares pueden alcanzar El caacutelculo teoacuterico de estas aceleraciones es una medida aceptada para determinar su eficiencia Calcular la razoacuten entre el tiempo promedio de ejecucioacuten de la mejor versioacuten secuencial de un AG y otra teacutecnica de buacutesqueda no evolutiva con respecto al tiempo

L5

promedio de ejecucioacuten de un AG paralelo corriendo en un determinado nuacutemero de procesadores proporciona la aceleracioacuten alcanzada por este uacuteltimo Aceleraciones sub-lineales indican que esta razoacuten es menor que el nuacutemero de procesadores utilizados en la ejecucioacuten del AGP Aceleraciones lineales indican que esta relacioacuten es igual mientras aceleraciones super-lineales indican que la razoacuten es mayor que el nuacutemero de procesadores utilizados

Un medida estricta para medir las aceleraciones de los AGPs involucrariacutea una comparacioacuten con la mejor versioacuten secuencial de un AG lo cual es difiacutecil de determinar Considerar el desempentildeo de un AG secuencial como referencia en conjunto con una condicioacuten de paro que evaluacutee la misma calidad de soluciones en todas las muestras experimentales podriacutea permitir una comparacioacuten justa en teacuterminos de aceleracioacuten entre esquemas paralelos y secuenciales

Los AGPs tienen tres caracteriacutesticas que permiten su aceleracioacuten 1) dividir el espacio de buacutesqueda en diversas aacutereas de exploracioacuten implementadas en distintas unidades de procesamiento 2) reducir la carga de procesamiento por medio de la distribucioacuten de la poblacioacuten en un nuacutemero de unidades de procesamiento y 3) operadores geneacuteticos aplicados a estructuras de datos reducidas

Al analizar comparativamente las tasas de aceleracioacuten de los AG distribuidos con sub-poblaciones en panmixia en comparacioacuten con el desempentildeo de un AG secuencial las aceleraciones calculadas resultan excesivas Sin embargo cuando se considera la distribucioacuten de las sub-poblaciones en un nuacutemero de unidades de procesamiento las tasas de aceleracioacuten son moderadas

Una de las caracteriacutesticas maacutes importantes en los AGPs es el operador de migracioacuten Analizar el comportamiento de este operador bajo distintos criterios como la sincroniacutea o asincroniacutea de migrar individuos entre las sub-poblaciones afecta directamente el desempentildeo de la buacutesqueda Entre los comportamientos con importancia significativa se ha observado que utilizar bajas frecuencias de migracioacuten en combinacioacuten con una comunicacioacuten asiacutencrona entre sub-poblaciones permite una mayor aceleracioacuten Este resultado considera sub-poblaciones en panmixia con la misma configuracioacuten de paraacutemetros

Concepto de sincronismo en AGPs En los AGPs tanto distribuidos como celulares el concepto de sincroniacutea aplica de forma distinta En un AGP distribuido el operador de migracioacuten estaacute directamente relacionado con la comunicacioacuten entre sub-poblaciones y por ende la sincroniacutea con que eacutesta ocurre Por otro lado en AGP de grano fino o celulares la sincroniacutea estaacute relacionada con la actualizacioacuten de soluciones durante el proceso evolutivo Esto se explica a continuacioacuten a mayor detalle

En AGPs distribuidos viacutea migracioacuten

Varios autores han investigado el efecto del sincronismo a traveacutes de la migracioacuten de individuos entre sub-poblaciones Se han considerado varios escenarios tales como tener un conjunto de sub-poblaciones en panmixia y tener sub-poblaciones descentralizadas un tercer escenario que se ha considerado es tener una combinacioacuten de sub-poblaciones en panmixia y descentralizadas Los tres esquemas han sido evaluados no soacutelo a nivel algoriacutetmico sino de implementacioacuten en plataformas de coacutemputo para procesamiento paralelo

Utilizando un esquema de procesamiento de instrucciones muacuteltiples - datos muacuteltiples con un esquema homogeacuteneo de sub-poblaciones se verificoacute el comportamiento de distintas frecuencias de migracioacuten definidas como muacuteltiplos del tamantildeo de la poblacioacuten Esto representa que la migracioacuten es nula cuando la frecuencia es cero lo que implica que la evolucioacuten es independiente de las sub-poblaciones Localmente los operadores geneacuteticos fueron configurados de la misma forma En general los resultados mostraron un mejor desempentildeo cuando la comunicacioacuten entre sub-poblaciones es asiacutencrona y la frecuencia de migracioacuten es baja En este sentido el tener sub-poblaciones descentralizadas permite una mejor eficacia que cuando se tienen sub-poblaciones en panmixia Las tasas de aceleracioacuten tambieacuten se analizaron Bajas frecuencias de migracioacuten reportaron aceleraciones lineales para sub-poblaciones descentralizadas y super-lineales para sub-poblaciones en panmixia

Se ha podido verificar el funcionamiento de los AGPs ampliando la gama de problemas de prueba a aquellos del dominio continuo El uso de un esquema paralelo distribuido con sub-poblaciones en panmixia y un ciclo evolutivo de estado estable donde solamente una solucioacuten se actualiza en cada generacioacuten logroacute obtener soluciones de mejor calidad Ademaacutes de la influencia de la frecuencia con la que se ejecuta la operacioacuten de migracioacuten la seleccioacuten aleatoria de individuos migrantes demostroacute tambieacuten un mejor desempentildeo que la seleccioacuten de los mejores individuos para migrar El mejor desempentildeo continuacutea siendo a partir de la aplicacioacuten de frecuencias de migracioacuten bajas ahora en combinacioacuten con la seleccioacuten aleatoria de soluciones para migrar En problemas de optimizacioacuten en el dominio continuo con oacuteptimos locales engantildeosos en sus espacios de buacutesqueda los esquemas de sub-poblaciones descentralizadas superaron el desempentildeo de aquellos con sub-poblaciones en panmixia ademaacutes de responder mejor a frecuencias de migracioacuten altas Las tasas de aceleracioacuten tambieacuten se relacionan con la operacioacuten de la migracioacuten a frecuencias de migracioacuten alta se obtienen mayores tasas de aceleracioacuten en ambos esquemas poblacionales

Es posible tambieacuten considerar un esquema de AGPs con sub-poblaciones tanto en panmixia como descentralizadas utilizando un esquema de coacutemputo heterogeacuteneo distribuido Las tasas de

aceleracioacuten que se alcanzan en estos caso son super-lineales viacutea el esquema sub-poblacional mixto

En AGP celulares viacutea criterios de actualizacioacuten

En los AGPs de grano fino o celulares el concepto de sincronismo se asocia a los criterios de actualizacioacuten de las soluciones Se consideran diversos escenarios como son 1) barrido liacutenea a liacutenea 2) barrido fijo aleatorio 3) barrido aleatorio 4) seleccioacuten uniforme Cada unos de estos criterios de actualizacioacuten de soluciones se puede ejecutar de manera siacutencrona o asiacutencrona La actualizacioacuten siacutencrona se refiere a que la poblacioacuten completa se genera a partir de los individuos actuales En contraste la actualizacioacuten asiacutencrona quiere decir que los individuos se actualizan despueacutes de su proceso evolutivo a nivel local entonces los individuos en una generacioacuten han evolucionado de hijos generados durante esta

El barrido liacutenea a liacutenea es la forma maacutes sencilla de actualizar soluciones en una topologiacutea de malla con conexioacuten toroidal Haciendo el barrido secuencial de ubicacioacuten de las soluciones por liacutenea o por columna se ejecuta la actualizacioacuten de estas El barrido aleatorio fijo consiste en elegir de forma aleatoria una solucioacuten sin reemplazo con una probabilidad uniforme En cada generacioacuten se determina una distribucioacuten diferente para la actualizacioacuten de los individuos La actualizacioacuten uniforme elige de forma aleatoria con una probabilidad uniforme una solucioacuten con reemplazo Esto quiere decir que una solucioacuten puede ser actualizada maacutes de una vez en un mismo ciclo reproductivo

Tambieacuten se ha buscado modelar formalmente el comportamiento de los distintos criterios de actualizacioacuten de soluciones considerando ambos criterios de sincronismo Los criterios siacutencronos de actualizacioacuten presentan menores tasas de crecimiento de la mejor solucioacuten en la topologiacutea de malla Es decir la buacutesqueda se ejecuta promoviendo la exploracioacuten cuando se sigue un criterio de actualizacioacuten uniforme Aplicar un barrido aleatorio o lineal para la actualizacioacuten de soluciones representa tasas maacutes altas de crecimiento pero no alcanza a aquellas de las poblaciones en panmixia La principal caracteriacutestica que se aprecia es que las poblaciones en panmixia promueven la explotacioacuten del espacio de buacutesqueda en mayor grado que los AGPs descentralizados o celulares

Finalmente se puede concluir despueacutes de la evaluacioacuten de los criterios siacutencronos y asiacutencronos en una variedad de problemas de optimizacioacuten combinatorios y del dominio continuo que la actualizacioacuten asiacutencrona de soluciones mejora el desempentildeo algoriacutetmico en teacuterminos de eficiencia y eficacia en comparacioacuten con el criterio asiacutencrono en teacuterminos del nuacutemero de generaciones necesarias para converger a la solucioacuten del problema

Discusioacuten En este capiacutetulo se presentaron los distintos esquemas poblaciones que se consideran en la paralelizacioacuten de los AGs Se introdujo el principal operador que distingue a estos esquemas evolutivos el operador de migracioacuten y su efecto en los procesos de buacutesqueda Tambieacuten se introdujeron de manera detallada los esquemas paralelos de AGs de grano fino o celulares y la manera en que las caracteriacutesticas estructurales de estos pueden afectar directamente la exploracioacuten y explotacioacuten del espacio de buacutesqueda Se abordoacute tambieacuten el tema de las aceleraciones que se pueden alcanzar viacutea la paralelizacioacuten de grano fino y grueso de los AGPs Este anaacutelisis incluye los escenarios teoacutericos y reales de las tasas de aceleracioacuten que se pueden alcanzar Finalmente se revisoacute el concepto de sincronismo en ambos esquemas de paralelizacioacuten el cual se observoacute que afecta de manera positiva el desempentildeo algoriacutetmico

Los esquemas paralelos de los algoritmos geneacuteticos permiten obtener un mejor desempentildeo de los procesos de buacutesqueda Sin embargo se debe considerar una serie de paraacutemetros que se necesitan definir y que requeriraacuten la intervencioacuten de un usuario Es importante destacar tambieacuten que la mejora en el desempentildeo se puede apreciar tanto a nivel algoriacutetmico como a nivel de procesamiento Es necesario tambieacuten indicar que la seleccioacuten de la plataforma de coacutemputo paralelo ya sea distribuida o no implicaraacute costos de comunicacioacuten que deben ser considerados para las tasas de aceleracioacuten que se pretendan alcanzar

Investigacioacuten de AGPs en Meacutexico En Meacutexico investigadoras e investigadores en distintas instituciones y centros de investigacioacuten se han dado a la tarea de explorar esquemas evolutivos que utilizan AGPs Por ejemplo esquemas de AGPs de grano fino para solucionar problemas de optimizacioacuten mono-objetivo sin restricciones y problemas combinatorios han sido desarrollados en El objetivo en esos trabajos es el estudio del efecto de las caracteriacutesticas estructurales en las topologiacuteas de poblacioacuten descentralizadas utilizando mallas conectadas de forma toroidal Distintos criterios fueron definidos para modificar en tiempo de buacutesqueda la forma de la topologiacutea y sin incrementar el costo computacional verificar la mejora del desempentildeo algoriacutetmico al evaluar una cama prueba con problemas mono-objetivo sin restricciones y combinatorios Los resultados obtenidos fueron alentadores y a partir de estos se extendioacute el estudio de las propiedades estructurales a manipular tambieacuten la dimensioacuten de la topologiacutea de malla y modificarla en tiempo de buacutesqueda resultados positivos de este estudio fueron reportados en

Debido al costo computacional de los AGs en general la aceleracioacuten de estos utilizando plataformas de coacutemputo especializadas ha sido un aacuterea de investigacioacuten tambieacuten desarrollada en Meacutexico Particularmente el disentildeo e implementacioacuten de un arreglo de procesadores flexible para

la aceleracioacuten de los AGs celulares utilizando dispositivos reconfigurables conocidos como arreglos de compuertas programables en el campo (FPGAs por sus siglas en Ingleacutes) se reportoacute en Este trabajo presenta una forma novedosa de dividir a la poblacioacuten descentralizada en un nuacutemero determinado de unidades de procesamiento especialmente disentildeadas para operadores evolutivos manteniendo las conexiones toroidales entre soluciones La flexibilidad del disentildeo consiste en poder definir de acuerdo a las necesidades de usuario el nuacutemero de unidades de procesamiento De este modo un nuacutemero mayor de unidades de procesamiento permitiraacute acelerar la ejecucioacuten del algoritmo y un nuacutemero menor de estas permitiraacute reducir el uso de recursos de hardware

En el aacutembito de la optimizacioacuten multi-objetivo desde la perspectiva del coacutemputo evolutivo utilizando esquemas poblacionales paralelos investigadores en Meacutexico han desarrollado un esquema con base en algoritmos geneacuteticos utilizando muacuteltiples resoluciones La propuesta algoriacutetmica llamada Algoritmo geneacutetico multi-objetivo con resolucioacuten muacuteltiple (MRMOGA por sus siglas en Ingleacutes) consiste de un conjunto de sub-poblaciones las cuales a nivel representacioacuten de soluciones evolucionan con resoluciones distintas lo cual implica la divisioacuten del espacio de buacutesqueda en regiones acotadas y traslapadas El desempentildeo alcanzado por MRMOGA supera los resultados reportados en esquemas evolutivos paralelos en teacuterminos de convergencia y evidencia la necesidad de profundizar el estudio de la escalabilidad de esquemas evolutivos paralelos

Para saber maacutes Dentro de la comunidad cientiacutefica dedicada a la investigacioacuten en las aacutereas de las teacutecnicas algoriacutetmicas evolutivas que desarrollan el concepto de paralelismo se han generado recursos bibliograacuteficos diversos de entre los cuales destacan

bull Algoritmos geneacuteticos paralelos por Gabriel Luque y Enrique Alba

bull Algoritmos evolutivos estructurados espacialmente por Marco Tomassini

bull Algoritmos geneacuteticos celulares por Bernabeacute Dorronsoro y Enrique Alba

bull Algoritmos geneacuteticos paralelos eficientes y precisos por Erick Cantuacute-Paz

Por otro lado entre los grupos de investigacioacuten que se desarrollan en el aacuterea destaca el liderado por el investigador Enrique Alba de la Universidad de Maacutelaga en Espantildea quien en colaboracioacuten con otros investigadores y estudiantes a puesto a disposicioacuten una serie de recursos relacionados en En particular en la seccioacuten de software se encuentran disponibles herramientas para el

disentildeo e implementacioacuten de algoritmos evolutivos paralelos tanto de grano grueso como de grano fino

Programacioacuten Geneacutetica Mario Graff

Daniela Moctezuma

Eric S Tellez

Sabino Miranda-Jimeacutenez

INFOTEC Centro de Investigacioacuten e Innovacioacuten en Tecnologiacuteas de la Informacioacuten y Comunicacioacuten Circuito Tecnopolo Sur No 112 Fracc Tecnopolo Pocitos II Aguascalientes

20313 Meacutexico CentroGEO Centro de Investigacioacuten en Ciencias de Informacioacuten Geoespacial Circuito

Tecnopolo Norte No 117 Col Tecnopolo Pocitos II CP Aguascalientes Ags 20313 Meacutexico CONACyT Consejo Nacional de Ciencia y Tecnologiacutea Direccioacuten de Caacutetedras Insurgentes Sur

1582 Creacutedito Constructor Ciudad de Meacutexico 03940 Meacutexico

Introduccioacuten En este capiacutetulo se presenta una introduccioacuten a Programacioacuten Geneacutetica (PG) asiacute como la descripcioacuten de cada uno de los aspectos que la comprenden las perspectivas de este campo y las aacutereas donde se ha aplicado en Meacutexico PG es un algoritmo de buacutesqueda inspirado en los principios de la evolucioacuten de las especies de Charles Darwin (ver ) Particularmente PG engloba a un conjunto de teacutecnicas de coacutemputo evolutivo las cuales tienen como objetivo solucionar automaacuteticamente problemas partiendo de ejemplos del problema por resolver a traveacutes de expresiones evaluables o programas

La Programacioacuten Geneacutetica ha sido ampliamente utilizada en diferentes dominios siendo capaz de resolver una gran variedad de problemas de alta complejidad muchas veces mejorando las soluciones encontradas por humanos Por ejemplo en la competencia ndashldquoHumies rdquo celebrada 2

anualmente en el marco de la Genetic and Evolutionary Computation Conference (GECCO) la cual premia sistemas bio-inspirados que mejoran las soluciones encontradas por humanos a problemas difiacuteciles mdashdesde 2004 y hasta 2017 PG ha sido galardonada con 8 medallas de oro 5 de plata y 1 de bronce En particular en esta competencia y utlizando PG Meacutexico ha obtenido

13

12

13

13

1

2

3

httpwwwhuman-competitiveorg2

una medalla de bronce En competencias de categorizacioacuten de texto se ha obtenido primer lugar en identificacioacuten de humor y en deteccioacuten de agresividad

En Meacutexico la PG ha sido estudiada y aplicada sobre una gran variedad de dominios empezando por aplicaciones tradicionales como el disentildeo de circuitos loacutegicos regresioacuten simboacutelica identificacioacuten de sistemas modelado de sistemas de manchas solares lluvia temperatura del agua turbinas de gas absorcioacuten de partiacuteculas medicioacuten de la capacidad de automovilistas para el manejo de vehiacuteculos sistemas caoacuteticos deteccioacuten de fallas en transformadores de potencia y modelado cualitativo de sistemas

La PG ha probado su efectividad con respecto a algoritmos tradicionales de aprendizaje de maacutequina en problemas como prediccioacuten de series de tiempo clasificacioacuten generacioacuten de ensambles de clasificadores generacioacuten de prototipos generacioacuten de heuriacutesticas navegacioacuten autoacutenoma generacioacuten de rejillas topograacuteficas y memorias asociativas En el aacuterea de procesamiento de lenguaje natural la PG ha sido utilizada para mejorar la representacioacuten del texto en un espacio vectorial aplicada a problemas de categorizacioacuten de texto en anaacutelisis de sentimientos intensidad de una emocioacuten identificacioacuten de humor y deteccioacuten de agresioacuten entre otras En al aacuterea de visioacuten computacional la PG ha servido para desarrollar nuevas representaciones siguiendo un enfoque de redes profundas representacioacuten de palabras visuales estimacioacuten de exponentes Houmllder en imaacutegenes deteccioacuten de puntos de intereacutes reconocimiento de objetos anaacutelisis de imaacutegenes hiper-espectrales y estimacioacuten de vegetacioacuten En el paiacutes tambieacuten se realiza investigacioacuten teoacuterico-praacutectica sobre la creacioacuten de modelos que permitan predecir su rendimiento como en meacutetodos de muestreo en la funcioacuten objetivo mejoras al algoritmo como en y control de coacutedigo superfluo El lector interesado en la teoriacutea de PG puede revisar los siguientes trabajos paradigmaacuteticos que son referentes indispensables sobre el tema

La idea detraacutes de la PG es evolucionar programas partiendo de una descripcioacuten de lo que debe hacer el programa Tradicionalmente esta descripcioacuten se realiza mediante un conjunto de pares de entrada-salida tal como se hariacutea con la descripcioacuten de una funcioacuten Esta descripcioacuten es similar a la usada en Aprendizaje Supervisado con la diferencia de que en PG no existen tipos definidos para las entradas y las salidas por otro lado en aprendizaje supervisado las entradas estaacuten en un espacio vectorial y su salida es un nuacutemero natural o real Utilizando esta descripcioacuten l a f u n c i o n a l i d a d d e u n p r o g r a m a s e d e f i n e c o m o e l c o n j u n t o donde representa la -eacutesima entrada y es su correspondiente salida En cierta forma la idea es encontrar un programa tal que aplicado a un conjunto de entradas se evaluacutee a las predicciones de tal forma que eacutestas se aproximen a los valores originales donde la similitud se mide por medio de una funcioacuten de aptitud Tal y como sucede en otros algoritmos de aprendizaje la efectividad de no estaraacute en aprender los datos de

119987 = (x0 y0) hellip (xi yi) hellip (xN yN) xi i yif

xi yiyi

f

entrenamiento sino en su capacidad de generalizar a entradas nunca antes vistas El procedimiento de aprendizaje y prediccioacuten se detallaraacute en el resto de este capiacutetulo

La PG comparte muchas similitudes con los Algoritmos Geneacuteticos (AG) De hecho se podriacutea decir que la PG es una generalizacioacuten del AG la diferencia radica en que la PG utiliza una representacioacuten variable para sus soluciones y el AG tiene una representacioacuten fija esta diferencia tiene varias implicaciones las cuales se veraacuten a detalle en el transcurso del capiacutetulo Por el momento veamos las similitudes que comparten ambos enfoques La PG es un algoritmo evolutivo poblacional es decir utiliza un conjunto de soluciones llamado poblacioacuten para hacer un muestreo del espacio de buacutesqueda La buacutesqueda es guiada mediante la seleccioacuten de individuos en la poblacioacuten y los operadores geneacuteticos como son la recombinacioacuten y la mutacioacuten se encargan de generar nuevos individuos es decir nuevos puntos en el espacio de buacutesqueda

El resto del capiacutetulo detalla un sistema de PG tiacutepico empezando por los tipos de evolucioacuten que pueden realizar (seccioacuten 2) la representacioacuten que se utiliza (seccioacuten 3) seguida por la creacioacuten de la poblacioacuten inicial (seccioacuten 4) los operadores que se utilizan para generar un individuo (seccioacuten 5) y finalmente las teacutecnica utilizada para hacer la seleccioacuten (seccioacuten 6)

Proceso evolutivo La evolucioacuten de la poblacioacuten de programas en la PG puede realizarse de dos maneras mediante una evolucioacuten generacional o mediante una evolucioacuten de estado estable Ambos tipos de evolucioacuten requieren una poblacioacuten inicial y la diferencia entre ellas radica en el uso de dicha poblacioacuten para generar individuos y la actualizacioacuten de la misma En la evolucioacuten generacional existen dos tipos de poblaciones la de los padres y la de los nuevos individuos La poblacioacuten de padres es utilizada para generar nuevos individuos y por lo general cuando la poblacioacuten de nuevos individuos tiene el mismo nuacutemero de elementos que la poblacioacuten de padres se procede a mezclar estas poblaciones para convertirse en la poblacioacuten de padres de la siguiente generacioacuten Por otro lado la evolucioacuten de estado estable no contempla esta diferencia entre poblacioacuten de padres y de nuevos individuos dado que el individuo generado reemplaza un individuo de la poblacioacuten actual

El algoritmo [alggeneracional] muestra el pseudocoacutedigo de la evolucioacuten generacional Como se habiacutea mencionado se requiere de una poblacioacuten inicial denominada la cual seraacute utilizada para generar individuos y seraacute actualizada mientras no se cumpla un establecido Lo primero que se observa en el algoritmo son dos ciclos anidados (liacuteneas 1 y 2) El primero itera hasta que se cumpla la condicioacuten de paro y el segundo se encarga de generar la poblacioacuten de hijos (liacutenea 3) Al final de este segundo ciclo se tienen dos poblaciones y

119979120226120267120258120269120254120267120258120264 120253120254 120239120250120267120264

119979h 119979

Estas dos poblaciones se combinan (liacutenea 5) para formar una nueva poblacioacuten utilizada en la siguiente generacioacuten La funcioacuten combina estas poblaciones y puede ser tan simple como seleccionar todo para reemplazar o pueden adoptarse estrategias maacutes complejas como remplazo con elitismo donde se realiza el remplazo pero se asegura que los mejores individuos de ambas poblaciones se preserven en la siguiente generacioacuten

[alggeneracional]

La evolucioacuten generacional es muy utilizada tanto en computacioacuten evolutiva como en PG Sin embargo hasta la fecha no existen ventajas teoacutericas para decidir utilizar un tipo de evolucioacuten sobre el otro Considerando lo anterior este capiacutetulo se enfocaraacute en el uso de evolucioacuten de estado estable debido a que su implementacioacuten es maacutes simple

El algoritmo [algestable] muestra el pseudocoacutedigo de una evolucioacuten de estado estable es utilizada para generar un individuo hijo mediante la aplicacioacuten de operadores geneacuteticos (linea 2) El hijo reemplaza (linea 4) a un elemento de que es seleccionado utilizando una seleccioacuten negativa es decir se selecciona un individuo con una aptitud baja (liacutenea 3) Este proceso continuacutea hasta que el criterio de paro es alcanzado Dicho criterio puede ser variado tal como alcanzar un nuacutemero maacuteximo de individuos generados convergencia de una funcioacuten de error encontrar una solucioacuten adecuada o suficiente entre otras opciones

hijo hijo

[algestable]

Representacioacuten Tomando en cuenta que el objetivo de PG es evolucionar programas es normal pensar que la PG evoluciona programas escritos en alguacuten lenguaje de programacioacuten pej Python utilizando un inteacuterprete o compilador y maacutequina que lo ejecute dependiendo del caso Aunque esto es factible y existen sistemas de PG que han seguido este camino no es lo maacutes comuacuten En este capiacutetulo seguimos una de las praacutecticas maacutes comunes popularizada en el libro de Koza la cual consiste en representar un programa utilizando un aacuterbol de expresioacuten Un aacuterbol de expresioacuten cuenta con tres nodos distintivos la raiacutez la cual es la salida de la expresioacuten los nodos internos y las hojas La funcioacuten de la raiacutez y los nodos internos es aplicar operaciones a sus hijos y las hojas

119979h 119979120236120254120275120252120261120250

119979h 119979

119979 119979h(i ) larr 120238120265120254120267120250120253120264120267120254120268 120230120254120263eacute120269120258120252120264120268(119979) 119979 larr 120236120254120275120252120261120250(119979 119979h) 119979

119979

119979

119979 larr 120238120265120254120267120250120253120264120267120254120268 120230120254120263eacute120269120258120252120264120268(119979) k larr 120242120254120261120254120252120252120258oacute120263 120237120254120256120250120269120258120271120250(119979) 119979(k) larr 119979

representan las entradas ya sean variables o constantes Un ejemplo de un aacuterbol de expresioacuten se muestra en la figura [figexpresion] donde la expresioacuten es representada en el aacuterbol

Los aacuterboles de expresiones se forman partiendo de dos conjuntos uno de terminales que contiene las variables constantes y funciones sin argumentos y otro de funciones que contiene las funciones u operadores que reciben argumentos Por ejemplo en una regresioacuten simboacutelica la cual consiste en encontrar la funcioacuten que maacutes se asemeja a una serie de puntos el conjunto de terminales podriacutea ser donde es la variable independiente y r epresen ta un nuacutemero a lea tor io y e l conjunto de func iones podr iacutea se r Continuando con este ejemplo se puede observar que la expresioacuten representada en la figura [figexpresion] pudo haber sido generada con los mencionados conjuntos de terminales y funciones

Una codificacioacuten simple de un aacuterbol de expresioacuten puede ser representado en un arreglo o una lista es decir un aacuterbol de expresioacuten puede estar codificado de manera lineal Esta codificacioacuten se logra recorriendo el aacuterbol a lo profundo Por ejemplo la expresioacuten representada en la figura [figexpresion] puede ser representada como Esta codificacioacuten seraacute la utilizada en este capiacutetulo para representar los aacuterboles de expresiones

Dado un aacuterbol de expresioacuten se requiere tener un procedimiento para su evaluacioacuten Dicho procedimiento se muestra en el algoritmo [algevaluacion] Evaluacioacuten el cual recibe como entrada un aacuterbol de expresioacuten representado en una estructura de datos lineal como un arreglo o lista La expresioacuten es codificada en donde es la i-eacutesima posicioacuten e es una variable global Evaluacioacuten es una funcioacuten recursiva donde la recursioacuten termina cuando es una constante o variable (ver liacuteneas 15-19) Cuando es una funcioacuten (vg ) liacutenea 1 se debe de conocer la cantidad de argumentos que requiere linea 3 y empieza la recursioacuten En caso de que requiera un argumento liacuteneas 4-7 se incrementa la posicioacuten en uno y se llama a Evaluacioacuten terminando con la evaluacioacuten de la funcioacuten en el valor regresado en la recursioacuten Para maacutes argumentos liacuteneas 9-14 se invoca Evaluacioacuten tantas veces como argumentos requiera la funcioacuten y el valor es guardado en una estructura que podriacutea ser un arreglo o lista La liacutenea 14 evaluacutea la funcioacuten vg en los argumentos Por ejemplo sea la suma entonces la liacutenea 14 realizariacutea

el valor de la variable la constante

[algevaluacion]

x + xsin(934x)

119983ℱ

119983 = x real x real

ℱ = + minus sdot sin cos

( + x x sin times 934 x)

x xi ixi

xi xi isin ℱ

ixi

w fxi w f w0 + w1

x i f larr xi d larr 120250120267120256120270120262120254120263120269120264120268( f ) i larr i + 1 w larr 120228120271120250120261120270120250120252120258oacute120263(x) f (w) w i larr i + 1wj larr 120228120271120250120261120270120250120252120258oacute120263(x) f (w) xi xi

Poblacioacuten inicial Una vez descrita la representacioacuten que tendraacuten los individuos dentro de la poblacioacuten por medio de aacuterboles de expresiones la codificacioacuten de eacutestos mediante una estructura de datos lineal y el pseudocoacutedigo para evaluar un individuo ya es posible describir el procedimiento para crear la poblacioacuten inicial

En PG existen dos procedimientos tradicionales para generar un individuo 1) generar un aacuterbol de expresiones balanceado (Full) o 2) generar un aacuterbol desbalanceado (Grow) ambos se definen con una altura maacutexima La definicioacuten de un aacuterbol balanceado es aquel donde los hijos de cualquier nodo tienen siempre la misma altura La figura [figtipos-de-arbol] muestra un aacuterbol balanceado y un aacuterbol no balanceado En la figura [figbalanceado] se observa coacutemo la definicioacuten de balanceo solo considera la altura sin importar el nuacutemero de nodos Por ejemplo la raiacutez tiene tres nodos en su hijo izquierdo y dos nodos en su hijo derecho y es un aacuterbol balanceado

Estos dos procedimientos para generar un individuo comparten muchas similitudes Por esta razoacuten el algoritmo [algcreacion-individuo] presenta ambos procedimientos decidiendo cuaacutel utilizar mediante una bandera El proceso de generar un individuo utiliza el conjunto de funciones y terminales y la altura deseada Eacuteste es un procedimiento recursivo donde la recursioacuten termina cuando la altura llega a su valor miacutenimo (liacuteneas 1-3) o en el caso en que se utilice el meacutetodo desbalanceado (liacuteneas 3-5) y un nuacutemero aleatorio sea menor que

Si ninguna de las dos condiciones se cumplen empieza la recursioacuten primero

decrementando (liacutenea 6) despueacutes seleccionando de manera aleatoria una funcioacuten del conjunto (liacutenea 7) y contando sus argumentos (liacutenea 8) La estructura definida en la liacutenea 9 es la encargada de guardar los componentes de la regresioacuten Dicha estructura podriacutea ser una lista o un conjunto que mantiene el orden de insercioacuten El procedimiento continuacutea creando un ciclo del nuacutemero de argumentos (liacuteneas 10-12) donde se hace la recursioacuten y el resultado de la recursioacuten se antildeade a liacutenea 11 Finalmente el individuo creado estaacute en y se regresa en la liacutenea 13

[algcreacion-individuo]

Es probable que uno de los meacutetodos maacutes tradicionales para crear la poblacioacuten inicial sea el meacutetodo ramped half-and-half propuesto por Koza el cual consiste en construir la mitad de la poblacioacuten utilizando un meacutetodo balanceado y la otra mitad utilizando un meacutetodo desbalanceado

120236eacute120269120264120253120264h

h = 0

∣ 119983 ∣∣ 119983 ∣ + ∣ ℱ ∣

hℱ w

w w

ℱ 119983 h 120236eacute120269120264120253120264 x isin 119983 x isin 119983 h larr h minus 1 f isin ℱ d larr 120250120267120256120270120262120254120263120269120264120268( f ) w = [ f ]w larr w cup 120226120267120254120250120252120258oacute120263 120253120254 120232120263120253120258120271120258120253120270120264(h 120236eacute120269120264120253120264) w

Ademaacutes de lo anterior la altura del aacuterbol variacutea desde un valor de altura miacutenima hasta un valor maacuteximo de manera lineal tomando en cuenta el tamantildeo de la poblacioacuten

Operadores Geneacuteticos Habiendo descrito dos procedimientos para la creacioacuten de la poblacioacuten inicial es tiempo de introducir los operadores geneacuteticos que permitiraacuten la creacioacuten de nuevos individuos basados en la poblacioacuten actual En PG se acostumbra tener dos operadores geneacuteticos mutacioacuten (ver Seccioacuten 52) y recombinacioacuten (ver Seccioacuten 51) que a diferencia del AG son excluyentes y seleccionados de manera aleatoria

El algoritmo [algoperadores-geneticos] muestra el procedimiento para generar un individuo utilizando mutacioacuten y recombinacioacuten Lo primero que se realiza es la seleccioacuten de los individuos que serviraacuten como padres en este proceso (liacutenea 1 y liacutenea 3) Esto es seguido por la decisioacuten de generar un individuo mediante mutacioacuten o recombinacioacuten la cual se realiza de manera aleatoria y se controla con un paraacutemetro la probabilidad de recombinacioacuten (liacutenea 2) En caso de aplicarse recombinacioacuten se requieren dos elementos (liacutenea 4) y en el caso de mutacioacuten solamente se requiere un elemento (liacutenea 6)

[algoperadores-geneticos]

Recombinacioacuten La recombinacioacuten es la operacioacuten geneacutetica que toma dos individuos de la poblacioacuten denominados padres y los combina para generar un nuevo individuo Tomando en cuenta que los individuos son aacuterboles de expresiones entonces la recombinacioacuten se plantea como la generacioacuten de un nuevo aacuterbol de expresioacuten La idea es escoger en cada aacuterbol un punto de recombinacioacuten e intercambiar los subaacuterboles cuya raiacutez sean dichos puntos de recombinacioacuten

La figura [figrecombinacion] muestra el procedimiento de recombinacioacuten En dicha figura los dos padres son los primeros dos aacuterboles de la izquierda ver figuras [figpadre1] y [figpadre2] El nuevo individuo es el aacuterbol de la derecha ver figura [fighijo] es comuacuten llamar hijo al producto de la recombinacioacuten Los nodos de color azul representan los puntos de recombinacioacuten siendo el procedimiento para generar un nuevo individuo el cambiar los subaacuterboles cuya raiacutez son los nodos en azul En particular aquiacute se crea solamente un individuo el cual es generado al reemplazar el subaacuterbol del primer padre por el subaacuterbol del segundo padre

pxo

119979 a larr 120242120254120261120254120252120252120258oacute120263(119979) b larr 120242120254120261120254120252120252120258oacute120263(119979) w larr 120241120254120252120264120262120251120258120263120250120252120258oacute120263(119979(a)) 119979(b))w larr 120236120270120269120250120252120258oacute120263(119979(a)) w

El procedimiento de recombinacioacuten requiere de un meacutetodo que permita conocer donde termina un subaacuterbol dada su raiacutez Esto es debido a que se estaacute codificando un aacuterbol de expresioacuten en una estructura lineal Este procedimiento es simple y solamente se requiere el contar el nuacutemero de argumentos por cada funcioacuten encontrada en el camino El algoritmo [algrecorre] presenta el pseudocoacutedigo para hacer el recorrido por el subaacuterbol Este procedimiento recibe un individuo y la posicioacuten de la raiacutez del subaacuterbol de intereacutes El ciclo de las liacuteneas 2-12 realiza todo el recorrido del subaacuterbol terminando cuando las funciones encontradas en el recorrido han satisfecho todos sus argumentos liacuteneas 9-11 regresando la posicioacuten del uacuteltimo nodo del subaacuterbol En cada iteracioacuten se sabe que se consume un argumento liacutenea 5 y se incrementa la posicioacuten final del subaacuterbol liacutenea 4 Ademaacutes se verifica si el nodo actual corresponde a una funcioacuten En caso afirmativo se incrementa el nuacutemero de argumentos liacuteneas 6-8 y todo este proceso continua hasta que los argumentos requeridos por la funciones han sido cubiertos

[algrecorre]

Ahora que se conoce la funcioacuten auxiliar es momento de describir el pseudocoacutedigo de la recombinacioacuten el cual se muestra en el algoritmo [algrecombinacion] Lo primero que se puede observar es que la recombinacioacuten requiere dos individuos el segundo paso es seleccionar un nodo de cada uno de estos individuos liacuteneas 1 y 2 Las liacuteneas 3 y 4 calculan las posiciones donde terminan cada uno de los subaacuterboles que corresponden a los nodos seleccionados Finalmente el individuo generado corresponde al reemplazo de la subcadena que representa el subaacuterbol del primer padre con la subcadena que representa el subaacuterbol del segundo padre ver liacutenea 5

[algrecombinacion]

Mutacioacuten Existen diferentes tipos de mutacioacuten Una de las maacutes utilizadas es la mutacioacuten de subaacuterbol la cual consiste en hacer recombinacioacuten de un individuo de la poblacioacuten con un individuo aleatorio La idea es reemplazar un subaacuterbol del individuo de la poblacioacuten por un subaacuterbol aleatorio y esto se logra utilizando meacutetodos previamente definidos

La mutacioacuten de subaacuterbol se presenta en el algoritmo [algmutacion] Este procedimiento requiere un padre Despueacutes se genera un individuo aleatorio utilizando el meacutetodo

x i c larr 1 x larr xi i larr i + 1 c larr c minus 1 c larr c + 120250120267120256120270120262120254120263120269120264120268(x) i

120241120254120252120264120267120267120254

x y

x y i larr 120239120270120263120269120264 120253120254 120267120254120252120264120262120251120258120263120250120252120258oacute120263(x) j larr 120239120270120263120269120264 120253120254 120267120254120252120264120262120251120258120263120250120252120258oacute120263(y) ik larr 120241120254120252120264120267120267120254(x i )jk larr 120241120254120252120264120267120267120254(y j ) x0hellipi cup yjhellip jk cup xikhellip∣x∣

x

Por lo general se usa una altura menor a siete y despueacutes se regresa la de los individuos (liacutenea 2)

[algmutacion]

La mutacioacuten de subaacuterbol no es el uacutenico tipo de mutacioacuten Otro tipo de mutacioacuten muy utilizada es la mutacioacuten de punto que tiene su homoacutelogo en el AG La mutacioacuten de punto funciona iterando por todos los nodos del individuo y seleccionando aleatoriamente algunos nodos para ser mutados Un nodo seleccionado para ser mutado cambia su valor de la siguiente manera Un nodo que tiene una funcioacuten cambia la funcioacuten por otra de la misma cardinalidad Por otro lado un nodo que tiene una terminal cambia su valor por otra terminal seleccionada del conjunto de terminales

Seleccioacuten Hasta este momento hemos revisado los procedimientos para hacer una evolucioacuten de estado estable generar una poblacioacuten inicial y modificar la poblacioacuten utilizando operadores geneacuteticos En esta seccioacuten se muestra el proceso de seleccioacuten de los individuos padres que generaraacuten mediante operadores geneacuteticos un nuevo individuo

La seleccioacuten como su nombre lo indica debe escoger un individuo de la poblacioacuten con base en su aptitud es decir se busca aquel individuo que resuelve de mejor manera el problema En el caso de la seleccioacuten negativa se busca el individuo que resuelve el problema de la peor manera

Recordemos que la forma en que se describe la funcionalidad de un programa es mediante un conjunto de pares entrada-salida vg donde representa la -eacutesima entrada y es su salida correspondiente Utilizando se puede definir la aptitud de un programa de la siguiente manera

donde representa la salida del programa cuando la entrada es y es una funcioacuten que captura que tanto se parece la prediccioacuten a la salida esperada

Existen varios procedimientos de seleccioacuten Uno de los maacutes comunes es la seleccioacuten proporcional o por ruleta La idea de esta seleccioacuten es asignar a cada individuo una probabilidad de ser seleccionado directamente proporcional a su aptitud Otro tipo de seleccioacuten muy utilizado

120226120267120254120250120252120258oacute120263 120253120254 120232120263120253120258120271120258120253120270120264120241120254120252120264120262120251120258120263120250120252120258oacute120263

x y larr 120226120267120254120250120252120258oacute120263 120253120254 120232120263120253120258120271120258120253120270120264(4 120225120250120261120250120263120252120254120250120253120264) 120241120254120252120264120262120251120258120263120250120252120258oacute120263(x y)

119987 = (x0 y0) hellip (xi yi) hellip (xN yN) xii yi 119987

p

120224120265120269120258120269120270120253(p) = sum(xy)isin119987

120236120258120253120254 120224120265120265120267120264120273120258120262120250120252120258oacute120263(y p(x))

p(x) p x 120236120258120253120254 120224120265120265120267120264120273120258120262120250120252120258oacute120263p(x) y

en la comunidad es la seleccioacuten por torneo donde la idea es seleccionar al ganador de un grupo de individuos seleccionados aleatoriamente Al tamantildeo del grupo se le conoce como el tamantildeo del torneo

El algoritmo [algseleccion] presenta el pseudocoacutedigo de la seleccioacuten por torneo El procedimiento requiere la poblacioacuten y el tamantildeo del torneo Se empieza seleccionando un individuo de la poblacioacuten vg el -eacutesimo para el cual se obtiene su aptitud liacuteneas 1 y 2 El individuo es momentaacuteneamente el mejor elemento conocido El ciclo principal ejecuta el torneo liacuteneas 3-10 En cada iteracioacuten se selecciona un elemento de la poblacioacuten junto con su aptitud (liacutenea 4 y 5) En caso que el nuevo individuo tenga una mejor aptitud que la conocida eacuteste se convierte en el ganador del torneo liacuteneas 6-9 El procedimiento termina regresando la posicioacuten del mejor individuo

t

[algseleccion]

Espacio de buacutesqueda La PG es un algoritmo de buacutesqueda inspirado en los principios de la evolucioacuten En esta seccioacuten se describe coacutemo es el espacio de buacutesqueda Existen dos diferencias principales entre la PG y el AG 1) la PG busca en un espacio posiblemente infinito de programas mientras que el AG en un espacio finito y 2) las soluciones de la PG tienen una codificacioacuten de longitud variable y las del AG son de longitud fija

El espacio de buacutesqueda de la PG se construye partiendo del conjunto de funciones y del conjunto de terminales de la siguiente manera Sea el subconjunto de funciones con cardinalidad del conjunto de funciones y los elementos creados en la -eacutesima iteracioacuten iniciando en Usando esta notacioacuten los primeros elementos del espacio de buacutesqueda vg son El resto de los elementos se construyen

iterativamente usando por lo tanto el espacio de

buacutesqueda estaacute definido como

Con el objetivo de ejemplificar la estructura del espacio de buacutesqueda la figura [figespacio-busqueda] presenta unos elementos del espacio de buacutesqueda cuando el conjunto de terminales es

119979 tk ga

119979(k)

119979 k larr 120237uacute120262120254120267120264 120224120261120254120250120269120264120267120258120264() ga larr 120224120265120269120258120269120270120253(119979(k)) ck larr 120237uacute120262120254120267120264 120224120261120254120250120269120264120267120258120264()ca larr 120224120265120269120258120269120270120253(119979(ck)) k larr ck ga larr ca k

Ω

ℱ119983 ℱc sube ℱ

c Ωi ii = 0

i = 0 Ω0 = ⋃c

f (x1 ⋯ xc) ∣ xi isin 119983 f isin ℱc

Ωi = ⋃c

f (x1 ⋯ xc) ∣ xi isin Ωiminus1 f isin ℱc

Ω = ⋃i

Ωi

y el conjunto de funciones es La figura [figomega0] muestra todos los elementos de los cuales corresponden a las combinaciones entre el operador y las entradas asiacute como a la funcioacuten y las posibles entradas La parte inferior de la figura muestra algunos elementos de Siguiendo la definicioacuten dada la primera expresioacuten corresponde al segundo elemento de y el uacuteltimo elemento corresponde al uacuteltimo elemento generado en

Conclusiones En este capiacutetulo se describioacute la importancia y potencial que tiene la PG en diversas tareas y aplicaciones Ademaacutes se describieron las partes que conforman un sistema de programacioacuten geneacutetica tradicional equivalente a los descritos en ) Tambieacuten se describieron los tipos de evolucioacuten maacutes comunes y con base en la evolucioacuten de estado estable se detalloacute el resto de las partes necesarias para llevar a cabo el proceso evolutivo como son la representacioacuten de los individuos la creacioacuten de la poblacioacuten inicial los operadores geneacuteticos y el tipo de seleccioacuten Finalmente se describioacute el espacio de buacutesqueda de la PG que se genera partiendo de los conjuntos de funciones y terminales

Como todo los sistemas la PG ha evolucionado Actualmente existen diferentes propuestas para mejorar sus componentes empezando desde la creacioacuten de la poblacioacuten inicial pej modificaciones a los operadores geneacuteticos tradicionales pej operadores semaacutenticos estudios sobre la seleccioacuten y evolucioacuten guiada por una funcioacuten diferente a la funcioacuten objetivo

Para saber maacutes Para una revisioacuten amplia sobre la PG se sugiere al lector la siguiente bibliografiacutea La PG fue descrita inicialmente en el libro de John Koza esta descripcioacuten se complementa con el libro escrito por Wolfgang Banzhaf et al y maacutes reciente Riccardo Poli et al presenta una introduccioacuten actualizada al aacuterea

Con respecto a artiacuteculos cientiacuteficos es importante comentar que existe una coleccioacuten bibliograacutefica en PG compilada y administrada por William Langdon John Koza y Steven Gustafson Esta coleccioacuten cuenta con maacutes de 13000 referencias a trabajos de investigacioacuten en 34

el tema incluyendo los trabajos realizados en Meacutexico

119983 = x y ℱ = + sinΩ0 +

sinΩ1

Ω1 Ω1

httpliinwwwiraukadebibliographyAigeneticprogramminghtml3

httpwwwcsbhamacuk~wblbiblio4

Importancia de la Diversidad en el Disentildeo de Algoritmos Evolutivos

Carlos Segura

Joel Chacoacuten Castillo

La convergencia prematura es una de las mayores problemaacuteticas que afectan al rendimiento de las metaheuriacutesticas poblacionales por lo que a la hora de disentildear algoritmos evolutivos es un aspecto a tener en cuenta En este capiacutetulo se enumeran diferentes teacutecnicas que se han propuesto a lo largo de las uacuteltimas deacutecadas para lidiar con este problema Una de las alternativas maacutes exitosas consiste en examinar los efectos que los diferentes componentes del algoritmo evolutivo tienen sobre la diversidad mantenida en la poblacioacuten y con base en ello redisentildearlos para modificar su comportamiento de forma dinaacutemica Con el objetivo de ilustrar de una forma detallada este uacuteltimo grupo de teacutecnicas se discuten dos mecanismos que pertenecen a este grupo El primero se aplica en el aacutembito de evolucioacuten diferencial y consiste en una estrategia de reemplazo que combina una poblacioacuten eacutelite con un mecanismo para mantener la diversidad de forma expliacutecita El segundo caso estaacute enfocado a los operadores de cruza donde concretamente se analiza y extiende el Operador de Cruza basado en Simulacioacuten Binaria (Simulated Binary Crossover - SBX) En las extensiones se considera el criterio de paro para modificar de forma dinaacutemica el comportamiento del operador con el propoacutesito de inducir un cambio gradual desde exploracioacuten hacia intensificacioacuten en el proceso de buacutesqueda La validacioacuten experimental se realizoacute con algunos de los problemas de prueba maacutes populares del aacutembito mono-objetivo y multi-objetivo alcanzaacutendose mejoras significativas en ambos casos

Diversidad Convergencia Prematura Evolucioacuten Diferencial Optimizacioacuten Multi-objetivo

Introduccioacuten Los Algoritmos Evolutivos (Evolutionary Algorithms mdash eas) son considerados como uno de los enfoques con mayor eficacia para resolver distintas categoriacuteas de problemas de optimizacioacuten Se han desarrollado diversas variantes que han sido aplicadas en muacuteltiples campos como en transporte economiacutea o ingenieriacutea Particularmente se han aplicado tanto en problemas del dominio continuo como del dominio discreto En general los eas han sido especialmente exitosos en la resolucioacuten de problemas complejos en los que los enfoques exactos no son actualmente aplicables como por ejemplo en problemas NP-completos con espacios de buacutesqueda grandes Para el aacutembito de este capiacutetulo se hace uso de problemas continuos mono-objetivo y multi-objetivo con restricciones de caja que se pueden definir tal y como se indica en la Ecuacioacuten ([eqnModel_general])

Minimizar 

rarrF (

rarrX )

Su jeto a rarrX isin Ω

donde es un vector compuesto por variables continuas de decisioacuten cada variable pertenece al conjunto de los reales es la dimensioacuten correspondiente al espacio de las variables de decisioacuten es un vector compuesto por funciones objetivo es el espacio factible cuyo liacutemite inferior es y liacutemite

superior es es decir Cada vector de variables es mapeado con -

funciones objetivo al espacio que es conocido como el espacio objetivo

Actualmente los eas son una de las metaheuriacutesticas maacutes conocidas pero a pesar de su eacutexito y de su uso tan extendido adaptarlas a nuevos problemas implica la toma de varias decisiones de disentildeo complejas Particularmente a la hora de disentildear de forma apropiada un ea se ha visto que es muy importante conseguir inducir un balanceo adecuado entre la exploracioacuten e intensificacioacuten del espacio de buacutesqueda Noacutetese en este punto que de manera informal la exploracioacuten del espacio de buacutesqueda consiste en evaluar regiones del espacio de buacutesqueda que no han sido muestreadas con el fin de detectar regiones promisorias y la explotacioacuten consiste en muestrear en zonas ya evaluadas previamente para realizar una buacutesqueda maacutes profunda con el fin de encontrar soluciones maacutes refinadas y de mayor calidad Cuando en los algoritmos evolutivos todas o casi todas las soluciones estaacuten en regiones distantes mdash alta diversidad mdash se produce habitualmente una buacutesqueda exploratoria es decir muchas de las nuevas soluciones evaluadas seraacuten distantes a las ya evaluadas anteriormente Sin embargo cuando casi todas las soluciones estaacuten en una o en unas pocas regiones se produce una buacutesqueda intensificadora Uno de los problemas a la hora de disentildear los algoritmos evolutivos es que en muchos casos no se comprenden todas las implicaciones que los diferentes componentes tienen sobre el mantenimiento de la diversidad de la poblacioacuten y por tanto sobre el balanceo entre exploracioacuten e intensificacioacuten Por ello analizar el comportamiento y redisentildear en base a lo que estaacute ocurriendo en este aspecto es parte del proceso de disentildeo de los eas

Relacionado con lo anterior aparece el concepto de convergencia prematura Se dice que un algoritmo converge de forma prematura cuando mucho antes de alcanzar el criterio de paro todas las soluciones estaacuten en una zona muy pequentildea del espacio de buacutesqueda En este sentido a partir de ese momento es difiacutecil seguir mejorando las soluciones de forma significativa ya que con alta probabilidad soacutelo se va a realizar un muestreo de soluciones en dicha regioacuten Por ello es importante detectar si esto ocurre y en tal caso redisentildear algunos aspectos del ea para preservar una mayor diversidad Sin embargo si la poblacioacuten es muy diversa durante todo el proceso de buacutesqueda se podriacutea no alcanzar un grado adecuado de intensificacioacuten y por lo tanto se tendriacutea una convergencia lenta que posiblemente tambieacuten resultariacutea en soluciones de baja calidad Por

rarrX D

rarrX = [x1 x2 xD]

xi isin real DrarrF M

rarrF = [ f1(

rarrX ) f2(

rarrX ) fM(

rarrX )] Ω x(L)

i

x(U )i Ω =

D

prodj=1

[x(L)j x(U )

j ] M

rarrF (

rarrX )(

rarrF Ω sube realD rarr realM) realM

esta razoacuten Mahfoud utilizoacute el concepto de diversidad uacutetil para referirse a la cantidad de diversidad necesaria para generar soluciones de alta calidad

En relacioacuten al disentildeo de eas se puede observar que en sus inicios la mayoriacutea de enfoques fueron esquemas generacionales en los que las soluciones hijas reemplazaban a la poblacioacuten anterior sin importar su respectiva aptitud o grado de diversidad En estos esquemas iniciales se usaba la seleccioacuten de padres para promover que el proceso de muestreo se realizara con mayor probabilidad en las regiones maacutes promisorias encontradas Por ello con el propoacutesito de alcanzar un balanceo adecuado entre exploracioacuten e intensificacioacuten se desarrollaron muchas estrategias de seleccioacuten de padres que permitiacutean centrarse con mayor o menor velocidad en las regiones promisorias Ademaacutes se desarrollaron alternativas que modifican otros aspectos como la estrategia de variacioacuten yo el modelo poblacional En la mayor parte de eas maacutes recientes se introduce ademaacutes una fase de reemplazamiento por lo que la nueva poblacioacuten no tiene que formarse exclusivamente con los hijos maacutes bien se usan mecanismos para combinar la poblacioacuten anterior con la poblacioacuten hija y determinar asiacute los nuevos sobrevivientes En este contexto se suele introducir elitismo en los algoritmos es decir el mejor individuo encontrado sobreviviraacute a la siguiente generacioacuten De esta forma ahora tambieacuten se puede modificar esta uacuteltima fase para conseguir el balanceo apropiado entre exploracioacuten e intensificacioacuten

En los uacuteltimos antildeos algunos de los trabajos maacutes exitosos en el aacuterea de evitacioacuten de convergencia prematura se han basado en considerar el criterio de parada y evaluaciones realizadas para balancear entre exploracioacuten e intensificacioacuten Esto se fundamenta en la premisa de que el grado entre exploracioacuten e intensificacioacuten deberiacutea variar a lo largo de la ejecucioacuten por lo tanto tiene sentido que las decisiones tomadas por las componentes variacuteen en funcioacuten del instante de ejecucioacuten Particularmente en este capiacutetulo se describen dos aportaciones que pertenecen a este grupo de teacutecnicas La primera que se aplica en el aacuterea de Evolucioacuten Diferencial (Differential Evolution mdash de) recibe el nombre de de Mejorado con Mantenimiento de Diversidad (de with Enhanced Diversity Maintenance mdash de-edm) e integra una estrategia de reemplazo que maneja la diversidad de forma expliacutecita con una poblacioacuten eacutelite En la fase de reemplazo que incorpora el de-edm se promueve un balanceo dinaacutemico entre exploracioacuten e intensificacioacuten teniendo en cuenta para ello el criterio de paro y las evaluaciones transcurridas para la toma de decisiones Concretamente en las primeras etapas se induce un grado de exploracioacuten alto ya que los individuos sobrevivientes son diversificados y posteriormente conforme transcurren las generaciones se induce un mayor grado de intensificacioacuten La segunda aportacioacuten estaacute enfocada a la extensioacuten de operadores de cruza Particularmente se analizan los componentes que conforman al Operador de Cruza basado en Simulacioacuten Binaria (Simulated Binary Crossover - SBX) y se propone una variante dinaacutemica (Dynamic Simulated Binary Crossover mdash dsbx) en la

que el comportamiento interno es alterado en base al criterio de paro y a las evaluaciones realizadas hasta el momento

El resto de este capiacutetulo estaacute organizado de la siguiente forma En primer lugar en la seccioacuten 2 se revisan algunas de las teacutecnicas maacutes populares que se han propuesto para promover el mantenimiento de diversidad exponiendo una de las clasificaciones maacutes extendidas Posteriormente en la seccioacuten 3 se describe y valida experimentalmente la aportacioacuten basada en evolucioacuten diferencial donde se considera la diversidad de forma expliacutecita en la fase de reemplazamiento Siguiendo esta misma liacutenea en la seccioacuten 4 se lleva a cabo un anaacutelisis del operador de cruza sbx mencionando algunas de sus implicaciones en la diversidad y se expone en base a ello una variante dinaacutemica que se valida experimentalmente con problemas multi-objetivo Finalmente en la seccioacuten 5 se exponen las conclusiones y trabajos futuros trazados en base a los resultados obtenidos

Preservacioacuten de diversidad en algoritmos evolutivos La convergencia prematura es una problemaacutetica muy conocida en el aacutembito de los eas por lo que se han desarrollado gran cantidad de teacutecnicas para lidiar con la misma Estas teacutecnicas modifican de manera directa o indirecta la cantidad de diversidad mantenida por el algoritmo y variacutean desde teacutecnicas generales hasta mecanismos dependientes de un problema dado En este apartado se revisan algunas de las teacutecnicas generales maacutes populares Inicialmente se describen algunas maneras de clasificar a este tipo de estrategias para posteriormente describir mecanismos claacutesicos especiacuteficos asiacute como algunas estrategias maacutes novedosas que se basan en modificar la estrategia de reemplazamiento Finalmente dado que en este capiacutetulo se extiende de se revisan tambieacuten los trabajos de esta aacuterea que tienen una relacioacuten estrecha con el manejo de diversidad Se recomienda a los lectores que requieran conocer estos mecanismos con maacutes detalle consultar asiacute como los artiacuteculos especiacuteficos en que cada meacutetodo es propuesto

Clasificaciones de mecanismos para promover la diversidad Debido a la gran cantidad de meacutetodos desarrollados en esta aacuterea se han propuesto varias clasificaciones de los mismos Liu et al propuso diferenciar entre los enfoques uni-proceso y multi-proceso En el enfoque uni-proceso se modifica la preservacioacuten de la diversidad actuando sobre un uacutenico componente del ea Es importante destacar que en los enfoques uni-proceso no se excluye el uso de otros componentes en el proceso de exploracioacuten yo intensificacioacuten sino que maacutes bien si no se consigue el balanceo adecuado soacutelo se modifica una componente hasta conseguir el comportamiento deseado Por otra parte en los enfoques multi-proceso se tiene en cuenta las implicaciones que varios componentes provocan sobre el balanceo y se actuacutea

modificando o redisentildeando varios de ellos hasta conseguir el comportamiento adecuado Los esquemas uni-proceso son mucho maacutes habituales actualmente y en particular las dos propuestas incluidas en este capiacutetulo son mecanismos uni-proceso

Extendiendo a lo anterior se propuso una clasificacioacuten maacutes especiacutefica en la que se tiene en cuenta cuaacutel es la componente que se cambia para categorizar a cada meacutetodo En este sentido los maacutes populares son los siguientes

bull Enfoques basados en la seleccioacuten son los maacutes claacutesicos y se basan en cambiar la presioacuten de seleccioacuten que se produce hacia las zonas promisorias a la hora de realizar la seleccioacuten de padres

bull Enfoques basados en poblacioacuten se modifica el modelo poblacional utilizando algunas teacutecnicas como variar el tamantildeo de la poblacioacuten de forma dinaacutemica eliminar individuos duplicados utilizar teacutecnicas de infusioacuten o establecer un estrategia de islas con migraciones

bull Enfoques basados en ela cruza yo la mutacioacuten se basan en redisentildear los operadores de cruza yo mutacioacuten considerando en algunos casos informacioacuten especiacutefica del problema Tambieacuten se incluyen en este grupo opciones maacutes generales como aplicar restricciones sobre el emparejamiento yo incluir operadores disruptivos que podriacutean ser utilizados soacutelo en ciertos instantes del proceso de optimizacioacuten

Esquemas claacutesicos para administrar la diversidad Los primeros eas se basaron principalmente en esquemas generacionales que no incluiacutean fase de reemplazo En estos esquemas la seleccioacuten de padres era la principal responsable de que se muestrearan con mayor probabilidad las zonas maacutes promisorias encontradas hasta el momento y por tanto muchos de los primeros esquemas que trataron de evitar la convergencia prematura se basaron en modificar el proceso de seleccioacuten de padres Asiacute en los 90s se desarrollaron varios esquemas que alteraban la presioacuten de seleccioacuten de forma estaacutetica o dinaacutemica Sin embargo con base en varios estudios teoacutericos y experimentales se observoacute que generalmente actuar exclusivamente sobre el operador de seleccioacuten no es suficiente especialmente cuando se quieren realizar ejecuciones a largo plazo ya que se requeririacutean poblaciones excesivamente grandes para mantener un grado adecuado de diversidad

Otra alternativa fue modificar los modelos poblacionales encontrando en este grupo los esquemas basados en islas los celulares o maacutes recientemente los basados en agrupaciones o cluacutesteres La idea de introducir restricciones en el emparejamiento principalmente con base en la ubicacioacuten de los individuos en el espacio de buacutesqueda tambieacuten ha sido bastante exitosa aunque controlar los mismos para obtener el balanceo apropiado ante diferentes criterios de parada es

bastante complejo En algunos casos resultoacute ser maacutes prometedor promover el emparejamiento entre individuos no similares mientras que en otros escenarios se hace exactamente lo opuesto Otro problema comuacuten de muchas de las estrategias anteriores es que suelen introducir paraacutemetros adicionales por lo que el proceso de ajuste de paraacutemetros que ya de por siacute es un problema importante en los eas se vuelve auacuten maacutes complejo Es importante resaltar que todas estas estrategias claacutesicas no evitan por completo la convergencia sino que la idea es disponer de mecanismos para acelerarla o retrasarla

Otra alternativa diferente ha sido adaptar la fase de variacioacuten En este sentido se han desarrollado diversas teacutecnicas para controlar los paraacutemetros que se consideran en la variacioacuten con el propoacutesito de adaptar el balanceo entre exploracioacuten e intensificacioacuten En algunos casos esto se consigue usando distintos valores en los paraacutemetros para distintas etapas a lo largo del proceso de optimizacioacuten mientras que en otros casos se hacen cambios maacutes draacutesticos y se consideran varios operadores con distintas propiedades Tambieacuten existen mecanismos adaptativos que usan una memoria para almacenar informacioacuten histoacuterica sobre los efectos de la variacioacuten y con base en ello ir modificaacutendola Cabe destacar que en la mayor parte de estos esquemas no se considera la diversidad de forma directa sino que soacutelo se considera para analizar el comportamiento y con base en ello se procede a un redisentildeo

Finalmente un esquema muy sencillo pero no por ello menos importante es el basado en reinicios En estos esquemas en lugar de evitar la convergencia acelerada se aplica un reinicio total o parcial de la poblacioacuten cada cierto nuacutemero de generaciones o cuando se detecta que la poblacioacuten ha convergido Con base en esto se han propuesto diversas estrategias para establecer los puntos de reinicio Estos esquemas se implementan de forma muy sencilla y en algunos casos han proporcionado mejoras significativas por lo que es un meacutetodo a tener en cuenta al menos como alternativa inicial Es comuacuten combinar las estrategias basadas en reinicio con algunas de las teacutecnicas anteriores ya que dichas teacutecnicas estaacuten basadas en mantener la diversidad mientras que en esta uacuteltima el objetivo es recuperar la diversidad

Esquemas de reemplazamiento basados en diversidad Recientemente se han propuesto diversos mecanismos que modifican la fase de reemplazo para preservar la diversidad La idea principal de estos esquemas es inducir un grado de exploracioacuten adecuado diversificando a los individuos sobrevivientes de forma que los operadores de reproduccioacuten puedan generar nuevas soluciones en diferentes regiones en las siguientes generaciones Estos meacutetodos estaacuten basados en el principio de que los operadores de cruza tienen un efecto de exploracioacuten al considerar individuos distantes y de intensificacioacuten al considerar individuos proacuteximos

El esquema de pre-seleccioacuten propuesto por Cavicchio es uno de los primeros estudios que utilizan la fase de reemplazamiento para controlar la diversidad El esquema inicial de Cavicchio se extendioacute para generar el esquema denominado amontonamiento o crowding el cual ha sido muy popular en los uacuteltimos antildeos El principio del crowding se basa en que los nuevos individuos que entren en la poblacioacuten sustituyan a individuos similares de generaciones anteriores y con base en este principio se han formulado diversas implementaciones

En esta misma liacutenea se han propuesto otras estrategias de reemplazo con el propoacutesito de promover la diversidad Uno de los procedimientos maacutes populares es la Estrategia de Limpieza (Clearing Strategy - clr) En el procedimiento clr se agrupan a los individuos en grupos denominados nichos y los mejores individuos de cada nicho son preservados e incluidos en la poblacioacuten de la siguiente generacioacuten Un inconveniente de este procedimiento es que los casos en que se detectan muchos nichos provocan una fuerte inmovilizacioacuten de la poblacioacuten Por ello Petrowski propuso una variante para uacutenicamente seleccionar a individuos cuya aptitud sea mejor que la media de la poblacioacuten

Otros meacutetodos de este grupo consideran funciones de aptitud que combinan la funcioacuten objetivo original con la diversidad Sin embargo es complejo construir una funcioacuten compuesta ya que las dos mediciones podriacutean no ser directamente compatibles y por lo tanto las funciones adecuadas suelen depender de cada problema Una forma de suavizar este inconveniente fue propuesto en el algoritmo de combinacioacuten (COMB) donde los individuos son ordenados y categorizados con base en su aptitud y contribucioacuten a la diversidad y la funcioacuten compuesta se disentildea con base en el orden y no con base en los valores de funcioacuten objetivo y contribucioacuten a diversidad La principal desventaja del COMB es que requiere dos paraacutemetros de usuario aunque independientemente de esto se ha usado con bastante eacutexito Otra alternativa es el procedimiento Reemplazamiento Basado en Contribucioacuten a la Diversidad y Sustitucioacuten del Peor (Contribution of DiversityReplace Worst - CDRW) En el meacutetodo CDRW un nuevo individuo reemplaza a un miembro de la poblacioacuten cuyo rendimiento sea peor tanto en aptitud como en contribucioacuten a la diversidad En caso de no encontrar un peor individuo bajo estos dos criterios se procede a reemplazar al peor individuo en la poblacioacuten considerando uacutenicamente a la aptitud Una uacuteltima alternativa se basa en considerar a la contribucioacuten a la diversidad como un objetivo adicional y aplicar un esquema de optimizacioacuten multi-objetivo Estos enfoques son identificados como algoritmos multi-objetivo basados en diversidad Existen varias estrategias para calcular el objetivo auxiliar Uno de los enfoques maacutes populares consiste en calcular la contribucioacuten a la diversidad de cada individuo con base en la Distancia al Vecino maacutes Cercano (Distance to the Closest Neighbor - DCN) de entre los individuos que ya hayan sido seleccionados como supervivientes

Diversidad en evolucioacuten diferencial Los algoritmos basados en de son altamente susceptibles a la peacuterdida de diversidad debido a que se basan en una estrategia de seleccioacuten muy elitista Debido a ello se han desarrollado varios anaacutelisis para lidiar con este problema Dado que en el aacuterea se conoce al menos de manera general las implicaciones que tiene cada paraacutemetro sobre la diversidad algunos autores han trabajado en estimar de forma teoacuterica cuaacuteles deben ser los paraacutemetros adecuados para que se produzca cierto tipo de comportamiento Otros autores han estudiado el efecto que tiene la norma de los vectores de diferencia sobre la mutacioacuten y con base en ello se han propuesto mecanismos que prohiacuteben ciertos movimientos que pueden resultar perjudiciales para la diversidad En este uacuteltimo estudio el tipo de movimientos aceptados variacutea a lo largo de la ejecucioacuten descartando a los movimientos cuyos desplazamientos sean menores a un umbral el cual es decrementado conforme transcurren las generaciones Ademaacutes se han propuesto otras formas para establecer los movimientos aceptados

Una alternativa distinta se basa en alterar el operador de seleccioacuten Especiacuteficamente con el propoacutesito de mantener mayor diversidad en la poblacioacuten se altera la presioacuten de seleccioacuten utilizando una seleccioacuten probabiliacutestica que permite escapar en algunos casos de las bases de atraccioacuten de oacuteptimos locales Sin embargo este meacutetodo no es demasiado robusto debido a que considera la aptitud para definir las probabilidades para seleccionar a un individuo por lo que ciertas transformaciones de la funcioacuten pueden modificar de forma draacutestica el tipo de buacutesqueda que se realiza

Finalmente la variante de con Diversidad de la Poblacioacuten Auto-Mejorado (Auto-Enhanced Population Diversity - AEPD) mide la diversidad de forma expliacutecita y cuando se detecta la existencia de un nivel bajo de diversidad en la poblacioacuten se lanza un mecanismo de diversificacioacuten Esta propuesta se ha extendido para considerar diferentes esquemas de perturbacioacuten

Es interesante hacer notar que las variantes de de que alcanzaron los primeros lugares en varias competencias de optimizacioacuten durante los uacuteltimos antildeos no consideran estas modificaciones y ademaacutes estas variantes no han sido incorporadas en las herramientas de optimizacioacuten maacutes populares Esto puede deberse a que muchos de los concursos estaacuten orientados a obtener resultados en un nuacutemero de evaluaciones bastante limitado en lugar de a largo plazo que es el aacutembito en el que maacutes beneficios suelen dar los mecanismos de control de diversidad

Disentildeo de evolucioacuten diferencial basado en diversidad

Evolucioacuten diferencial Conceptos baacutesicos Esta seccioacuten estaacute dedicada a revisar la variante claacutesica de de y a introducir varios teacuterminos importantes que son utilizados en el campo de de El esquema claacutesico de de es identificado como derand1bin y ha sido ampliamente usado como base para el desarrollo de variantes maacutes complejas De hecho la propuesta que se presenta en este capiacutetulo como ejemplo extiende al derand1bin de fue propuesto como un meacutetodo de buacutesqueda directa para optimizacioacuten continua mono-objetivo y es el aacutembito en que se usaraacute en este capiacutetulo es decir se considera la Ecuacioacuten ([eqnModel_general]) fijando

de es un algoritmo estocaacutestico basado en poblacioacuten por lo que en cada instante maneja un conjunto de soluciones candidatas que van evolucionando de forma iterativa En de dichas soluciones candidatas son usualmente conocidas como vectores En la variante baacutesica de de para cada miembro de la poblacioacuten (conocidos como vectores objetivo) se genera un nuevo vector que es conocido como el vector mutado A continuacioacuten el vector mutado se combina con el vector objetivo para generar al vector de prueba y finalmente se procede con la fase de seleccioacuten para elegir a los vectores sobrevivientes De esta forma las generaciones transcurren de forma iterativa hasta cumplir el criterio de paro En esta capiacutetulo el -eacutesimo vector de la poblacioacuten en la generacioacuten se denota como A continuacioacuten se explica en maacutes detalle cada componente de de

Inicializacioacuten

Usualmente de inicia el proceso de optimizacioacuten con una poblacioacuten de vectores que son creados de forma aleatoria Habitualmente los vectores de la poblacioacuten inicial son generados con base en una distribucioacuten uniforme ya que usualmente no se posee informacioacuten sobre cuaacuteles son las zonas maacutes promisorias del espacio de buacutesqueda Por lo tanto el -eacutesimo componente del -eacutesimo vector es inicializado de la forma donde es un nuacutemero aleatorio uniformemente distribuido entre y

Operador de mutacioacuten

Por cada vector objetivo se genera un vector mutado para lo cual se han propuesto muacuteltiples estrategias con la particularidad de que en cierta forma se usen las diferencias entre vectores La variante claacutesica de de aplica la estrategia conocida como rand1 en la cual se crea un vector mutado de la siguiente forma

M = 1

iG

rarrX iG = [x1iG x2iG xDiG]

NP

j ixji0 = x(L)

j + randi j[0 1](x(U )j minus x(L)

j )randi j[0 1] 0 1

ViG

En la Ecuacioacuten ([eqnmutation]) los iacutendices deben ser enteros distintos y son generados de forma aleatoria en el rango Ademaacutes estos iacutendices son distintos al iacutendice Es importante hacer notar que la diferencia entre los vectores es escalada por medio del paraacutemetro el cual usualmente se define en el intervalo Posteriormente el vector de diferencia (escalado) es agregado a un tercer vector lo que significa que los vectores mutados son similares a los vectores objetivo si el grado de diversidad es bajo ya que los vectores de diferencias tienen norma pequentildea Como consecuencia de esto es claro que es criacutetico mantener un grado miacutenimo de diversidad en de

Operador de cruza

El operador de cruza se aplica con el objetivo de combinar la informacioacuten de distintas soluciones candidatas y de incrementar la diversidad de los vectores Especiacuteficamente cada vector objetivo se mezcla con su correspondiente vector mutado para generar un vector de prueba La estrategia de cruza maacutes tiacutepica es conocida como cruza binomial y actuacutea de la siguiente forma

En la Ecuacioacuten ([eqncrossover]) es un nuacutemero uniformemente distribuido es

un iacutendice seleccionado aleatoriamente que asegura que genera al menos un componente de y es la proporcioacuten de cruza

Operador de seleccioacuten

Finalmente se aplica una seleccioacuten elitista para determinar los vectores sobrevivientes que participaraacuten en la siguiente generacioacuten Especiacuteficamente cada vector de prueba se compara con su correspondiente vector objetivo y sobrevive el que tiene la mejor aptitud

Debido a la forma de seleccionar a los sobrevivientes en cada generacioacuten los miembros de la poblacioacuten permanecen iguales o mejoran Por ello se considera que de hace uso de una seleccioacuten

rarrV iG =

rarrX r1G + F times (

rarrX r2G minus

rarrX r3G) r1 ne r 2 ne r3

r1 r 2 r3 isin [1 NP ][1 NP ]

iF [04 1]

rarrX iG

rarrViGrarr

UiG = [u1iG u2iG uDiG]

rarrUjiG =

rarrV jiG si (randi j[0 1] le CR o j = jrand)rarrX jiG de otra forma

randi j[0 1] jrandrarrUiGrarr

V iG CR isin [0 1]

rarrX jiG+1 =

rarrUiG si f (

rarrUiG) le f (

rarrX iG)

rarrX iG de otra forma

muy elitista y es una de las razones por la que en ciertos casos puede sufrir de una convergencia demasiado acelerada

Propuesta basada en diversidad El meacutetodo que se presenta en esta seccioacuten estaacute motivado principalmente por dos trabajos El primero de ellos es un estudio empiacuterico desarrollado por Montgomery et al que confirma que de sufre de convergencia prematura en varios problemas El segundo es un trabajo propuesto por Segura et al que proporciona mejoras significativas en el campo de optimizacioacuten combinatoria utilizando para ello una fase de reemplazo conocida como Reemplazo con Control de Diversidad Dinaacutemica Basada en Varios Objetivos (Replacement with Multi-objective based Dynamic Diversity Control - rmddc) Particularmente el rmddc controla el grado de diversidad relacionaacutendolo con el criterio de paro y generaciones transcurridas Con base en las conclusiones de cada uno de los trabajos en esta seccioacuten se ilustra una propuesta que es una variante novedosa de de que incluye un mecanismo de reemplazo que sigue los mismos principios que guiaron el disentildeo de rmddc Este nuevo algoritmo recibe el nombre de Evolucioacuten Diferencial con Mantenimiento Mejorado de Diversidad (Differential Evolution with Enhanced Diversity Maintenance - de-edm) y su coacutedigo fuente estaacute disponible 5

de-edm (ver Algoritmo [algDEEDM]) es bastante similar a la versioacuten claacutesica de de de hecho la forma en que se crean los vectores de prueba (liacuteneas 5 y 6) se mantiene intacta La novedad del de-edm es que incorpora una poblacioacuten eacutelite ( ) y una estrategia de reemplazo basada en diversidad Especiacuteficamente con el propoacutesito de seleccionar a los miembros de la poblacioacuten eacutelite se considera el operador de seleccioacuten elitista de la versioacuten claacutesica de de (liacutenea 7) Posteriormente se aplica la estrategia de reemplazo (liacutenea 8) para determinar a los sobrevivientes Siguiendo la misma filosofiacutea que en el rmddc los individuos que contribuyen muy poco a la diversidad no deberiacutean ser aceptados como miembros de la siguiente generacioacuten Para conseguir este propoacutesito se considera tanto el criterio de paro como las generaciones transcurridas en la seleccioacuten Asiacute se estableceraacute un grado de diversidad miacutenimo deseado dependiente del tiempo de ejecucioacuten

Inicializar de forma aleatoria a la poblacioacuten con individuos donde cada uno es distribuido de forma uniforme Mutacioacuten Generar al vector mutado ( ) de acuerdo a la Ecuacioacuten ([eqnmutation]) Cruza Utilizar la recombinacioacuten para generar al vector de prueba ( ) de acuerdo a la Ecuacioacuten ([eqncrossover]) Seleccioacuten Actualizar al vector eacutelite ( en lugar de

E

NPG = 0 ViG

UiGEiG

El coacutedigo en C++ puede ser descargado en la siguiente direccioacuten httpsgithubcom5

joelchaconcastilloDiversity_DE_Researchgit

) de acuerdo a la Ecuacioacuten ([eqnselection]) Reemplazo Seleccionar a los vectores objetivo ( ) de acuerdo al Algoritmo [algReplacement]

[algDEEDM]

La estrategia de reemplazo (ver Algoritmo [algReplacement]) funciona de la siguiente forma Inicialmente recibe a la poblacioacuten padre (vectores objetivo) a la poblacioacuten de hijos (vectores de prueba) y a los vectores eacutelite De entre todos ellos debe seleccionar a vectores para formar la siguiente poblacioacuten de padres En primer lugar con base en el nuacutemero de evaluaciones de funcioacuten transcurridas y el criterio de parada se calcula una distancia miacutenima deseada ( ) para mantener en la poblacioacuten (liacutenea 2) A continuacioacuten se juntan las tres poblaciones en un conjunto de miembros candidatos (liacutenea 3) que contiene en cada momento a los vectores candidatos que podriacutean ser seleccionados para sobrevivir Posteriormente se inicializa tanto el conjunto de individuos sobrevivientes como los penalizados con el conjunto vaciacuteo (liacutenea 4) Para seleccionar a los sobrevivientes se repite el proceso iterativo (liacuteneas 5 - 13) que se describe a continuacioacuten En cada iteracioacuten se comienza seleccionando como sobreviviente al mejor individuo del Conjunto de Candidatos es decir al individuo que tiene la mejor aptitud Este individuo se mueve al Conjunto de Sobrevivientes y los individuos del Conjunto de Candidatos cuya distancia al individuo seleccionado sea menor que se transfieren al Conjunto de Penalizados (liacutenea 9) La forma de calcular la distancia entre dos individuos es con base en la distancia Euclidiana normalizada descrita en la Ecuacioacuten ([eqndistance]) donde es la dimensioacuten del problema y son los liacutemites menores y mayores de la dimensioacuten En los casos donde el conjunto de Candidatos queda vaciacuteo antes de seleccionar a individuos el Conjunto de Sobrevivientes se llena seleccionando en cada iteracioacuten al individuo con la mayor distancia al individuo maacutes cercano del Conjunto de Sobrevivientes (liacuteneas 10 - 13)

Entrada Poblacioacuten (Vectores Objetivo) Hijos (Vectores de prueba) y Elite Actualizar Candidatos = Poblacioacuten Hijos Elite Sobrevivientes Penalizados Seleccionados = Seleccionar al mejor individuo de Candidatos Eliminar Seleccionado de Candidatos Copiar Seleccionado a Sobrevivientes Encontrar a los individuos de Candidatos cuya distancia a Seleccionados sea menor que y moverlos a Penalizados En esta parte se considera la distancia normalizada (Ecuacioacuten

XiGXG+1 G = G + 1

NP

Dt

NP

Dt

Dx(L)

d x(U )d d

NPPenalizado

distancia(xi xj) =

sumDd=1 (

x di minus xd

j

x(U )d minus x(L)

d )2

D

Dt = DI minus DI(n fes (095ma x_n fes)) cup cup= = empty

Dt

[eqndistance]) Seleccionado = Seleccionar al individuo de Penalizados con la mayor distancia al individuo maacutes cercano a Sobrevivientes Eliminar Seleccionado de Penalizados Copiar Seleccionado a Sobrevivientes

Con el propoacutesito de completar la descripcioacuten de de-edm se especifica la forma en que se calcula y el procedimiento con el cual se actualizan a los individuos eacutelite El resto del algoritmo se mantiene igual que la variante claacutesica de de El valor de se utiliza para alterar el grado entre exploracioacuten e intensificacioacuten por lo tanto el valor adecuado para este paraacutemetro depende del instante de ejecucioacuten Especiacuteficamente este valor deberiacutea ser reducido conforme se alcanza el criterio de paro con el objetivo de promover mayor intensificacioacuten en las uacuteltimas etapas de optimizacioacuten En nuestro esquema se requiere asignar un valor inicial para ( ) y a continuacioacuten de manera similar a como se hace en se realiza una reduccioacuten lineal de considerando las evaluaciones transcurridas y el criterio de paro Particularmente en este trabajo el criterio de paro se asigna con base en las evaluaciones a funcioacuten y la reduccioacuten se calcula de tal forma que al del nuacutemero maacuteximo de evaluaciones el valor de diversidad miacutenimo requerido es cero lo que quiere decir que en la uacuteltima fase la diversidad no es considerada para nada Entonces denotando al nuacutemero maacuteximo de evaluaciones y al nuacutemero de e v a l u a c i o n e s t r a s c u r r i d a s e s c a l c u l a d o d e l a s i g u i e n t e f o r m a

La distancia inicial ( ) afecta de forma considerable al rendimiento de de-edm Si este paraacutemetro es elevado el algoritmo maximiza la diversidad de la poblacioacuten en las primeras etapas de optimizacioacuten resultando en una exploracioacuten adecuada que es muy importante en varios tipos de problemas como los multi-modales y deceptivos Sin embargo un valor demasiado elevado de podriacutea inducir un grado excesivo de exploracioacuten y en consecuencia la intensificacioacuten podriacutea fallar Por otra parte un valor muy pequentildeo de provocariacutea muy poca exploracioacuten y por lo tanto seriacutea maacutes difiacutecil evitar oacuteptimos locales El valor oacuteptimo de podriacutea variar dependiendo del tipo de problema y el criterio de paro Sin embargo en esta primera versioacuten no se adapta el valor de para cada problema En su lugar se realizoacute un anaacutelisis previo para determinar un valor adecuado usaacutendose el valor en todos los problemas

Al igual que en la versioacuten estaacutendar de de en de-edm es necesario asignar una probabilidad de cruza ( ) y un factor de mutacioacuten ( ) De acuerdo a varios estudios desarrollados por Montgomery y otros la probabilidad de cruza tiene un efecto muy importante Estos autores mostraron de forma empiacuterica que los valores extremos de resultan en comportamientos muy distintos entre siacute pero de gran utilidad Asiacute los valores pequentildeos de resultan en una buacutesqueda alineada a un nuacutemero reducido de ejes e induce pequentildeos desplazamientos Esto provoca una mejora gradual con convergencia lenta que en algunos escenarios podriacutea resultar

Sobrevivientes

DtDt

Dt DIDt

95

ma x_n fes n fesDt

Dt = DI minus DI(n fes (095ma x_n fes))

DI

DIDI

DI

DIDI = 03

CR F

CRCR

beneficioso Por otra parte los valores elevados de en general proporcionan soluciones de mayor calidad con una menor probabilidad ya que se tiende a realizar desplazamientos largos Sin embargo cuando son exitosos puedan mejorar la aptitud de forma significativa y permiten explorar zonas distantes Con base en esto en nuestra propuesta se emplean los dos mecanismos es decir valores elevados y pequentildeos de tal y como se muestra en la Ecuacioacuten ([eqncr])

Por otro lado siguiendo los principios de distintas variantes del SHADE se consideran las evaluaciones transcurridas para generar el factor de mutacioacuten aplicado Particularmente cada valor se muestrea de una distribucioacuten Cauchy (Ecuacioacuten [eqncauchy])

El efecto de esta distribucioacuten es que en las primeras etapas de optimizacioacuten se generen valores de cercanos a Posteriormente conforme la ejecucioacuten transcurre la funcioacuten de densidad sufre una transformacioacuten gradual ya que la varianza se incrementa Esto implica que se generen valores fuera del intervalo con una probabilidad maacutes alta En los casos en que los valores son mayores a se utiliza el valor mientras que si se genera un valor negativo se vuelve a muestrear el valor Uno de los efectos de este enfoque es el de incrementar la probabilidad de generar valores elevados de conforme transcurren las generaciones lo que ayuda a evitar la convergencia acelerada en las uacuteltimas etapas de optimizacioacuten

Resultados de de-edm En esta seccioacuten se presenta la validacioacuten experimental de de-edm Especiacuteficamente se muestra que se pueden mejorar los resultados de los algoritmos del estado-del-arte controlando de forma expliacutecita la diversidad Particularmente se consideraron los conjuntos de prueba de los concursos de optimizacioacuten continua organizados en el cec 2016 y cec 2017 Cada uno estaacute compuesto de treinta problemas distintos En la comparativa incluimos a los algoritmos que obtuvieron los primeros lugares en cada antildeo asiacute como una versioacuten de de que usa la misma parametrizacioacuten que de-edm pero que no incluye la poblacioacuten eacutelite ni el reemplazamiento basado en diversidad Los algoritmos considerados del cec 2016 son el UMOEAs-II y L-SHADE-EpSin que alcanzaron el primero y el segundo lugar respectivamente mientras que del cec 2017 se consideran el EBOwithCMAR y el jSO Todos estos algoritmos fueron probados con los dos conjuntos de prueba como se sugiere en Debido a que todos los algoritmos son estocaacutesticos se realizaron 51 ejecuciones con distintas semillas y en cada caso el criterio de paro fue asignado a de evaluaciones de la funcioacuten objetivo Ademaacutes se consideraron diez variables en cada funcioacuten

CR

CR

CR = Nor mal(02 01) si rand[0 1] le 05Nor mal(09 01) de otra forma

FF

Cauchy(05 05n fes ma x_n fes)

F 05

[00 10]10 10

F

25 000 000

( ) La evaluacioacuten de los algoritmos se realizoacute siguiendo los lineamientos de las competencias del cec de forma que se asignoacute un error igual a si la diferencia entre la mejor solucioacuten encontrada y la solucioacuten oacuteptima era menor que Para cada algoritmo se utilizoacute la parametrizacioacuten indicada por sus autores y que se describe a continuacioacuten

bull EBOwithCMAR Para la parte EBO el tamantildeo maacuteximo de la poblacioacuten de el tamantildeo miacutenimo de la poblacioacuten de el tamantildeo maacuteximo de la poblacioacuten de el tamantildeo miacutenimo de la poblacioacuten de el tamantildeo de la memoria histoacuterica H= Para la parte de CMAR el tamantildeo de la poblacioacuten CS = la probabilidad de buacutesqueda local y

bull UMOEAs-II Para la parte de MODE el tamantildeo maacuteximo de la poblacioacuten de el tamantildeo miacutenimo de la poblacioacuten de el tamantildeo de la memoria histoacuterica H= Para la

parte del CMA-ES el tamantildeo de la poblacioacuten CS =

Para la buacutesqueda local

bull jSO El tamantildeo maacuteximo de la poblacioacuten = el tamantildeo de la memoria histoacuterica H= valor de mutacioacuten inicial de la memoria probabilidad inicial de la memoria tamantildeo miacutenimo de la poblacioacuten = valor inicial p-best = valor final p-best =

bull L-SHADE-EpSin Tamantildeo maacuteximo de la poblacioacuten = tamantildeo de la memoria histoacuterica H= valor de la mutacioacuten inicial de la memoria probabilidad inicial de la memoria frecuencia inicial de la memoria tamantildeo miacutenimo de la poblacioacuten = valor inicial p-best = valor final p-best = generaciones de la buacutesqueda local

bull DE-EDM tamantildeo de la poblacioacuten =

bull Standard-DE Tamantildeo de la poblacioacuten = (mismos operadores que en de-edm)

Nuestro anaacutelisis experimental se realizoacute teniendo en cuenta la diferencia entre la solucioacuten oacuteptima y la mejor solucioacuten obtenida y para comparar los resultados estadiacutesticamente se siguioacute un procedimiento similar que el propuesto en Concretamente en primer lugar se utilizoacute la prueba Shapiro-Wilk para comprobar si los resultados se ajustaban a una distribucioacuten Gaussiana En los casos en que siacute se ajustaban se utilizoacute la prueba de Levene para comprobar la homogeneidad de las varianzas procediendo con la prueba de ANOVA en caso positivo o con la prueba de Welch en caso negativo Por otro lado para los casos que no se ajustaban a distribuciones Guassianas

D = 100

10minus8

S1 = 18DS1 = 4

S2 = (1468)D S2 = 106 S3 = 4 + 3log(D)

σ = 03 50 pl = 01 cfels = 04FEmax

S1 = 18DS1 = 4 6

S2 = 4 + lfloor3log(D)rfloor μ =PS2

σ = 03

50 cfels = 02FEmax

25log(D) D5 MF = 05

MCR = 08 4 025N2

25log(D) D5 MF = 05

MCR = 05 μF = 054 025N 2

GLS = 250

DI = 03 250

250

se utilizoacute la prueba de Kruskal-Wallis En todos los casos se fijoacute el nivel de confianza al 95 Se considera que un algoritmo es superior a un algoritmo si el procedimiento anterior reporta diferencias significativas y si la media y mediana del error obtenido por el meacutetodo son inferiores a las obtenidas por el meacutetodo

En las tablas [tabSummary_CEC2016] y [tabSummary_CEC2017] se presenta un resumen de los resultados obtenidos para el cec 2016 y el cec 2017 respectivamente La columna etiquetada con ldquoSiempre Resueltordquo muestra el nuacutemero de funciones en que se obtuvo un error de cero en las 51 ejecuciones La columna etiquetada con ldquoAl menos una vez resueltordquo muestra el nuacutemero de funciones que se resolvieron en al menos una ejecucioacuten Praacutecticamente todas las funciones del cec 2017 (28 de ellas) fueron resueltas al menos una vez por nuestra propuesta Ademaacutes se resolvieron 21 funciones del cec 2016 al menos una vez Esto representa una diferencia sustancial con los resultados obtenidos por el resto de algoritmos pues todos ellos resolvieron muchas menos funciones Con el objetivo de confirmar la superioridad del de-edm se ejecutaron las pruebas estadiacutesticas por pares La columna etiquetada con el siacutembolo muestra el nuacutemero de veces en que cada meacutetodo fue superior mientras que la columna etiquetada con cuenta el nuacutemero de casos donde el meacutetodo fue inferior Finalmente la columna etiquetada con muestra el nuacutemero de comparaciones en las que las diferencias no fueron significativas Las pruebas estadiacutesticas indican que el de-edm alcanzoacute los mejores resultados en los dos antildeos De hecho el nuacutemero de comparaciones en que nuestra propuesta ganoacute en el cec 2016 y el cec 2017 fue de y respectivamente y soacutelo perdioacute en y respectivamente que son valores muy superiores a los del resto de algoritmos La uacuteltima columna etiquetada con ldquoPuntajerdquo muestra la puntuacioacuten siguiendo los lineamientos propuestos en las competencias del cec Particularmente este meacutetodo de evaluacioacuten combina dos puntajes como se indica en la Ecuacioacuten ([eqntotal_scores]) definiendo el puntaje final como

Especiacuteficamente es la sumatoria de errores del -eacutesimo algoritmo ( )

ademaacutes es el error promedio en la -eacutesima funcioacuten es la miacutenima sumatoria de errores entre todos los algoritmos Por su parte es la sumatoria del rango de cada funcioacuten en

el -eacutesimo algoritmo ( ) Ademaacutes es la sumatoria miacutenima de los rangos

X YX

Y

harr

7788 25 6

Score = Score1 + Score2

Score1 = (1 minusSEi minus SEmin

SEi ) times 50

Score2 = (1 minusSRi minus SRmin

SRi ) times 50

SEi i SEi =30

sumj=1

error_ f j

error_ f j j SEmin

SRi

i SRi =30

sumj=1

rangoj SRmin

entre todos los algoritmos Nuestra propuesta alcanzoacute el mejor puntaje de en los dos antildeos demostrando su superioridad Adicionalmente es destacable que la versioacuten estaacutendar de de alcanzoacute resultados buenos de hecho obtuvo el tercer y el segundo lugar en los antildeos 2016 y 2017 respectivamente Esto muestra que el rendimiento de los algoritmos del estado-del-arte se deteriora al considerar ejecuciones a largo plazo pues esos algoritmos que fueron muy efectivos a corto plazo no lo son tanto a largo plazo La superioridad del de-edm es clara con base en todos los tipos de comparativas descritas

Ademaacutes con el fin de proporcionar resultados que puedan usar otros autores para realizar comparativas en las tablas [tabResults_CEC2016] y [tabResults_CEC2017] se reporta el mejor peor mediana media desviacioacuten estaacutendar y razoacuten de eacutexito para el cec 2016 y 2017 respectivamente En estas tablas se observa que nuestra propuesta resuelve todos los problemas uni-modales y que en la mayor parte de los problemas multi-modales se obtienen resultados muy aceptables con respecto a los reportados por otros meacutetodos Asiacute nuestra propuesta resolvioacute y mejoroacute significativamente varias funciones complejas que no fueron resueltas por ninguno de los algoritmos restantes

[tabResults_CEC2016]

10000

Resultados del de-edm con los problemas del cec 2016

Mejor Peor Mediana Media Sd Razoacuten de eacutexito

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 360E-02 400E-03 739E-03 115E-02 392E-01

200E-02 102E-01 590E-02 577E-02 493E-02 000E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 600E-02 000E+00 588E-03 190E-02 902E-01

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

100E-02 800E-02 500E-02 467E-02 260E-02 000E+00

100E-02 500E-02 300E-02 282E-02 213E-02 000E+00

000E+00 470E-01 220E-01 199E-01 155E-01 196E-02

400E-02 150E-01 800E-02 847E-02 496E-02 000E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 200E-02 100E-02 765E-03 632E-03 314E-01

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 300E-02 000E+00 373E-03 276E-02 765E-01

000E+00 100E+02 000E+00 255E+01 510E+01 745E-01

f17

f10

f3

f20

f13

f6

f23

f16

f9

f2

f19

f12

f5

f22

f15

f8

f1

f18

f11

f4

f21

f14

f7

[tabResults_CEC2017]

000E+00 690E-01 000E+00 261E-02 133E-01 961E-01

100E+02 100E+02 100E+02 100E+02 000E+00 000E+00

800E-02 100E+02 529E+01 520E+01 319E+01 000E+00

250E-01 910E-01 540E-01 560E-01 292E-01 000E+00

000E+00 357E+02 343E+02 276E+02 160E+02 196E-01

100E+02 100E+02 100E+02 100E+02 000E+00 000E+00

184E+02 184E+02 184E+02 184E+02 325E-02 000E+00

f26

f25

f24

f30

f29

f28

f27

Resultados del de-edm con los problemas del cec 2017

Mejor Peor Mediana Media Sd Razoacuten de eacutexito

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 120E-01 000E+00 165E-02 339E-02 745E-01

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 220E-01 000E+00 637E-02 176E-01 667E-01

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

f14

f11

f8

f5

f2

f13

f10

f7

f4

f1

f15

f12

f9

f6

f3

000E+00 210E-01 000E+00 247E-02 727E-02 882E-01

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 100E-02 000E+00 196E-03 447E-03 804E-01

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 300E+02 000E+00 349E+01

103E+02 882E-01

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 100E+02 000E+00 392E+00

200E+01 961E-01

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 387E+02 387E+02 205E+02

268E+02 196E-02

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

145E+02 226E+02 218E+02 199E+02

421E+01 000E+00

395E+02 395E+02 395E+02 395E+02

210E-01 000E+00

f23

f20

f17

f28

f25

f22

f19

f16

f30

f27

f24

f21

f18

f29

f26

Disentildeo de operadores de cruza basados en diversidad La segunda propuesta se aplica en el campo de optimizacioacuten multi-objetivo y estaacute basada en la extensioacuten del operador de cruza sbx En esta seccioacuten se introducen en primer lugar varios conceptos relacionados con los algoritmos evolutivos multi-objetivo para posteriormente describir algunas de las clasificaciones maacutes populares de operadores de cruza Finalmente se realiza un anaacutelisis del operador sbx y con base en el mismo se propone una variante dinaacutemica denominada Operador de Cruza Dinaacutemico basado en Simulacioacuten Binaria (Dynamic Simulated Binary Crossover - dsbx) el cual es validado experimentalmente

Algoritmos evolutivos multi-objetivo Los eas han sido utilizados frecuentemente para lidiar con problemas de optimizacioacuten multi-objetivo (Multi-objective Optimization Problems - MOPs) Particularmente un MOP de dominio continuo y que es basado en minimizacioacuten puede ser definido como se indica en la Ecuacioacuten ([eqnModel_general]) de la seccioacuten 1 fijando la a un valor mayor que uno Dadas dos soluciones domina a denotado por si y solo si y Una solucioacuten es conocida como solucioacuten oacuteptima de Pareto si no existe otra solucioacuten que domine a El conjunto de Pareto es el conjunto de todas las soluciones oacuteptimas de Pareto y el frente de Pareto estaacute formado por las imaacutegenes del conjunto de Pareto El propoacutesito de un Algoritmo Evolutivo Multi-Objetivo (Multi-objective Evolutionary Algorithm - MOEA) es esencialmente obtener un conjunto de soluciones bien distribuidas y cercanas a las soluciones del frente de Pareto

En los uacuteltimos antildeos se han disentildeado una gran cantidad de moeas siguiendo distintos principios A raiacutez de esto se han propuesto varias taxonomiacuteas y por ejemplo en base a sus principios de disentildeo se pueden clasificar en basados en la dominancia de Pareto indicadores yo descomposicioacuten Hay algoritmos muy competitivos de cada uno de los grupos por lo que en esta seccioacuten se consideraron moeas de todos los grupos para realizar la validacioacuten Particularmente la validacioacuten experimental se desarrolloacute incluyendo a los algoritmos Algoritmo Geneacutetico basado en Ordenacioacuten de los No-Dominados (Non-Dominated Sorting Genetic Algorithm - NSGA-II) el Algoritmo Evolutivo Multi-objetivo basado en descomposicioacuten (MOEA based on Decomposition - MOEAD) y el Algoritmo Evolutivo Multi-objetivo basado en la Meacutetrica-S (the -Metric Selection Evolutionary Multi-objective Optimization Algorithm - SMS-EMOA) Estos algoritmos son representativos de los basados en dominancia basados en descomposicioacuten y basados en indicadores respectivamente

Mrarrx rarry isin Ω rarrx rarry rarrx ≺ rarry

forallm isin 1 2 M fm(xi) le fm(yi) existm isin 1 2 M fm(xi) lt fm(yi)rarrx isin Ω

rarrx isin Ωrarrx

S

Funcioacuten de densidad del operador de cruza sbx con iacutendices de distribucioacuten y Las soluciones padre estaacuten ubicadas en y respectivamente

[figfig_sim]

[figSimulation_pv]

[figSimulations_Index_20]

2 52 5

Operadores de cruza Los operadores de cruza son utilizados para generar soluciones hijas utilizando la informacioacuten de las soluciones padre Asiacute estos operadores combinan las caracteriacutesticas de dos o maacutes soluciones padre con el propoacutesito de generar nuevas soluciones candidatas En base en que en la literatura existen diversos operadores de cruza se han propuesto varias taxonomiacuteas para clasificarlos Particularmente las taxonomiacuteas se basan en varias caracteriacutesticas tales como la ubicacioacuten relativa entre padres e hijos o el tipo de relaciones existentes entre las variables

Una clasificacioacuten popular hace distincioacuten entre operadores de cruza basados en las variables y basados en los vectores En los basados en las variables cada variable de las soluciones padre son combinadas para crear nuevos valores de forma independiente siendo ideales para lidiar con problemas separables Algunos operadores que pertenecen a esta categoriacutea son el Operador de Cruza por Mezcla (the Blend Crossover - blx) y el sbx Por otra parte los operadores de recombinacioacuten basados en vectores tienen en cuenta la relacioacuten que existe entre las variables por lo que la combinacioacuten no es independiente Asiacute este tipo de operadores pueden por ejemplo realizar combinaciones lineales de las soluciones involucradas Algunos operadores que pertenecen a esta categoriacutea son el Operador de Cruza Unimodal Normalmente Distribuido (Unimodal Normally Distributed Crossover - undx) y el Operador de Cruza Simplex (Simplex Crossover - spx)

Adicionalmente los operadores de cruza pueden ser clasificados como centrados en los padres y centrados en la media En los operadores centrados en los padres las soluciones hijas tienden a ser creadas alrededor de cada solucioacuten padre mientras que en los operadores centrados en la media se tiende a crear a las soluciones hijas alrededor de la media de los valores de las soluciones padres

El operador de cruza basado en simulacioacuten binaria - SBX

Entre los operadores de cruza el Operador de Cruza Basado en Simulacioacuten Binaria (Simulated Binary Crossover - sbx) es uno de los maacutes utilizados en dominios continuos y fue el que se decidioacute extender en nuestra propuesta por lo que esta seccioacuten se centra en este operador de cruza El operador sbx es clasificado como un operador centrado en los padres por lo que los valores asociados a los hijos ( y ) tienden a ser cercanos a los valores de los padres ( y ) Especiacuteficamente el proceso para generar los valores de las soluciones hijas se basa en utilizar una distribucioacuten de probabilidad Esta distribucioacuten controla el factor de dispersioacuten el cual es definido como la razoacuten entre la distancia de los valores de las soluciones hijas y la distancia entre los valores de las soluciones padre Esta funcioacuten de densidad se define con base en un iacutendice de distribucioacuten (es un paraacutemetro de control

c1 c2 p1 p2

β = |c1 minus c2 | | p1 minus p2 |

ηc

especificado por el usuario) el cual altera la capacidad de exploracioacuten Especiacuteficamente un iacutendice pequentildeo induce una probabilidad elevada de crear valores de las soluciones hijas distantes de los valores de las soluciones padre mientras que iacutendices elevados tienden a crear soluciones muy similares a las soluciones padre lo cual se ilustra en la figura [figfig_sim] La definicioacuten matemaacutetica de la distribucioacuten y la forma de generar los valores de las soluciones hijas pueden ser estudiados en Las ecuaciones iniciales fueron formuladas con base en un problema de optimizacioacuten sin liacutemites en las variables Sin embargo en muchos problemas cada variable estaacute limitada dentro de un liacutemite inferior y superior Para considerar los liacutemites del espacio de decisioacuten se propuso una modificacioacuten de la distribucioacuten de probabilidad que es la que se usa en este artiacuteculo Para el caso de nuestro meacutetodo no es demasiado importante conocer la foacutermula exacta sino el efecto del valor que se ha ilustrado previamente

[algSBX_Operator]

Entrada Soluciones padre ( ) Iacutendice de distribucioacuten ( ) Probabilidad de cruza ( ) Salida Soluciones hijo ( ) [alginherit_variable] Generar utilizando las distribuciones dadas en Generar utilizando las distribuciones dadas en Intercambiar con

Es importante aclarar que la primera versioacuten del sbx fue disentildeada con base en una sola variable Posteriormente los autores consideraron aplicarlo a problemas con muacuteltiples variables considerando una estrategia simple para escoger las variables que se van a cruzar Especiacuteficamente con base en los principios del operador de cruza uniforme cada variable es cruzada con una probabilidad igual a A pesar de su sencillez y de no tener en cuenta las posibles dependencias entre variables hoy en diacutea eacutesta es la forma maacutes comuacuten de aplicar el sbx

Implementacioacuten y anaacutelisis del operador sbx

En este apartado se discuten algunas de las principales caracteriacutesticas de la implementacioacuten maacutes utilizada del operador sbx para problemas con muacuteltiples variables Esencialmente se consideran tres componentes clave que podriacutean afectar al rendimiento de los moeas En primer lugar como ya se mencionoacute anteriormente cada variable es alterada con una probabilidad fija igual a Si este valor de probabilidad se incrementa entonces los hijos tienden a crearse a mayor distancia de los padres debido a que se modifican maacutes variables de forma simultaacutenea En los problemas separables en general interesa modificar soacutelo una variable mientras que en los no separables suele ser maacutes conveniente modificar varias variables a la vez En la figura [figSimulation_pv] se pueden observar las implicaciones de modificar esta probabilidad considerando un problema con dos variables Particularmente en la parte derecha se muestra que una probabilidad pequentildea provoca que algunos valores permanezcan intactos es decir hay una tendencia de generar

ηc

P1 P2 ηc PcC1 C2 C1d

C2d C1d C2dC1d = P1d C2d = P2d C1 = P1 C2 = P2

05

05

desplazamientos paralelos a los ejes lo cual suele ser ideal para problemas separables Por otra parte en la parte izquierda se muestra que utilizando una probabilidad elevada existe un comportamiento de buacutesqueda distinto donde la tendencia anterior desaparece lo cual podriacutea ser oportuno para problemas no separables Es importante destacar que existe una relacioacuten entre esta probabilidad y el iacutendice de distribucioacuten ya que estos dos factores tienen un efecto directo en la similitud que existe entre las soluciones padres e hijas

[figSimulation_Case_3]

El segundo aspecto importante es que despueacutes de generar los dos valores de las soluciones hijas estos valores son intercambiados con una probabilidad fija (usualmente es ) es decir el valor de la solucioacuten hija no siempre es heredado a partir de la solucioacuten padre maacutes cercana Esta es una caracteriacutestica no muy discutida sin embargo es un aspecto muy relevante que afecta al rendimiento del algoritmo En algunos contextos esta probabilidad se denomina ldquoProbabilidad de cruza uniforme por variablerdquo (Variable uniform crossover probability) o ldquoRecombinacioacuten Discretardquo (Discrete Recombination) Dado que en el aacutembito multi-objetivo se promueve maacutes diversidad en las variables de decisioacuten de forma impliacutecita estos intercambios podriacutean ser altamente disruptivos De hecho debido a esto no es totalmente claro que el sbx deba ser categorizado como un operador centrado en los padres Estos intercambios que existen entre los valores de las soluciones hijas tienen un efecto de realizar muacuteltiples ldquoreflexionesrdquo en el espacio de buacutesqueda Asiacute conforme se incrementa la dimensionalidad en el espacio de las variables el nuacutemero de regiones cubiertas crece de forma exponencial como se puede observar en los casos de dos y tres dimensiones en la figura [figSimulations_Index_20] Es importante notar que esta caracteriacutestica tiene un efecto relevante en la distancia entre las soluciones padre y las soluciones hijas

Finalmente se discute el iacutendice de distribucioacuten que es quizaacutes la caracteriacutestica maacutes conocida del operador sbx Un iacutendice de distribucioacuten pequentildeo provoca un grado de exploracioacuten elevado De hecho un iacutendice de distribucioacuten igual a uno tiene un efecto similar al Operador de Recombinacioacuten Difusa (Fuzzy Recombination Operator) En la figura [figSimulation_Case_3] se puede observar el efecto de aplicar distintos iacutendices de distribucioacuten Particularmente en la parte izquierda se considera un iacutendice de distribucioacuten pequentildeo mientras en la parte derecha se considera un iacutendice de distribucioacuten grande Se observa que este uacuteltimo genera soluciones candidatas similares a las soluciones padre

05c1 p1

En el Algoritmo [algSBX_Operator] se muestra la implementacioacuten del operador sbx Este pseudocoacutedigo estaacute basado en la implementacioacuten que estaacute integrada en el coacutedigo del NSGA-II propuesto por Deb et al la cual se considera como la variante maacutes popular En los paraacutemetros de entrada se requieren dos soluciones padre ( ) y eacuteste crea dos soluciones hijas ( ) El primero y el segundo componente mencionados previamente corresponden a las liacuteneas 5 y 9 respectivamente El caso claacutesico del operador sbx se configura con los paraacutemetros y Es importante hacer notar que la implementacioacuten claacutesica no considera la dimensionalidad de las variables o el criterio de paro como parte de sus paraacutemetros internos

Propuesta - dsbx Con base en el anaacutelisis anterior y con el propoacutesito de inducir un balanceo entre exploracioacuten e intensificacioacuten de forma dinaacutemica y que dependa del instante de ejecucioacuten se proponen las siguiente modificaciones En primer lugar se modifica la probabilidad de alterar una variable ( ) durante la ejecucioacuten La intencioacuten de esta modificacioacuten es estimular la capacidad de exploracioacuten considerando inicialmente una probabilidad elevada para alterar maacutes variables de forma simultaacutenea mientras que conforme la ejecucioacuten avanza se reduce esta probabilidad con el fin de reducir el nuacutemero de variables que se modifican y promover asiacute movimientos maacutes pequentildeos El valor de se cambia con base en un modelo lineal decreciente donde inicialmente se fija a y se decrementa de forma que a la mitad del total de generaciones alcanza el valor Este uacuteltimo valor es mantenido hasta el final de la ejecucioacuten es decir desde la mitad de la ejecucioacuten este paraacutemetro se fija al mismo valor que el de la implementacioacuten tradicional del sbx Para asignar el valor se utiliza la Ecuacioacuten ([eqnlinear]) donde corresponde a la generacioacuten actual y corresponde al nuacutemero total de generaciones

El segundo cambio estaacute relacionado con la probabilidad de aplicar reflexiones ( ) En este caso es actualizado de acuerdo a la Ecuacioacuten ([eqnlinear]) por lo tanto la probabilidad de aplicar una reflexioacuten se incrementa de a durante la ejecucioacuten Esta modificacioacuten se realiza con el propoacutesito de evitar el comportamiento disruptivo de intercambiar variables en las primeras generaciones ya que esto provocariacutea modificaciones muy draacutesticas De esta forma seriacutea maacutes sensato aplicar estas reflexiones una vez que los individuos convergen en cierto grado Noacutetese que se incrementa hasta el valor el cual es el valor utilizado en la implementacioacuten del sbx estaacutendar ya que no se quiere disponer de un comportamiento excesivamente disruptivo Sin embargo en el futuro seriacutea interesante realizar estudios con otros valores finales

P1 P2 C1 C2

δ1 = δ2 = 05ηc = 20

δ1

δ110

05

δ1 GTranscurridasGTotal

1 minus δ2δ2

00 05

05

δ1 = δ2 = ma x(05 10 minusGTranscurridas

GTotal )

Finalmente el iacutendice de distribucioacuten tambieacuten es modificado durante la ejecucioacuten En las primeras etapas se promueve un iacutendice de distribucioacuten pequentildeo con el propoacutesito de incrementar la capacidad de exploracioacuten del sbx Posteriormente se decrementa de forma lineal lo cual tiene el efecto de que la curva de distribucioacuten se cierre y por lo tanto se promueve un mayor grado de intensificacioacuten en las etapas finales El incremento lineal es llevado a cabo usando la Ecuacioacuten ([eqnindex_eta]) por lo tanto el iacutendice de distribucioacuten es alterado de a Es importante aclarar que ya se han considerado modificaciones similares al iacutendice de distribucioacuten aunque las otras propiedades que se modifican nunca han sido estudiadas en profundidad

Resultados Puntos de referencias para el indicador HV

[tabMetrics_2]

[tabMetrics_3]

[tabstatistical_Tests]

2 22

ηc = 2 + 20 times ( GTranscurridas

GTotal )

Instancias Punto de referencia

WFG1-WFG9

DTLZ 1 2 4

DTLZ 3 5 6

DTLZ7

UF 1-10

[11 11]

[2 2]

[21 2m + 01]

[11 11 2m]

[3 3]

HV-2obj 16 29 47 6 61 25 28 19 45 31 23 38 54 3 35

HV-3obj 15 19 42 12 50 14 17 15 44 33 10 33 26 9 41

IGD-2obj 14 30 48 4 60 28 25 17 50 33 19 40 52 2 38

harr harrharr harrharr

En este apartado se analizan los resultados obtenidos con las variantes dinaacutemicas del sbx (dsbx) El nuevo operador de cruza se integroacute en los algoritmos NSGA-II MOEAD y SMS-EMOA En primer lugar se analiza cada una de las tres modificaciones propuestas de forma aislada Posteriormente se construye un caso donde se consideran las dos modificaciones que ofrecieron mejores resultados de forma simultaacutenea Como parte de la validacioacuten experimental se consideran los problemas de prueba WFG DTLZ y UF Ademaacutes con el propoacutesito de comparar nuestra extensioacuten del sbx con otros operadores se incluye la variante de evolucioacuten diferencial conocida como demo

Para llevar a cabo el anaacutelisis experimental y dado que todos los algoritmos son estocaacutesticos cada caso fue ejecutado veces con distintas semillas La configuracioacuten global que se aplicoacute a todos los algoritmos fue la siguiente Se asignoacute el criterio de paro a generaciones el tamantildeo de la poblacioacuten a se configuraron los problemas de prueba wfg con dos y tres objetivos considerando 24 variables donde variables son paraacutemetros de distancia y son

IGD-3obj 14 18 44 13 44 19 18 15 43 33 15 28 23 9 44

HV-2obj 15 33 44 10 60 22 25 26 41 39 18 35 57 9 26

HV-3obj 10 22 44 12 39 25 11 19 46 24 10 42 38 5 33

IGD-2obj 16 31 45 9 60 23 23 27 42 37 17 38 57 7 28

IGD-3obj 12 22 42 13 43 20 13 24 39 30 9 37 40 10 26

HV-2obj 9 35 48 7 43 42 16 31 45 41 9 42 53 8 31

HV-3obj 7 21 48 9 35 32 13 21 42 27 6 43 31 4 41

IGD-2obj 10 34 48 15 48 29 12 33 47 41 12 39 55 6 31

IGD-3obj 8 20 48 13 30 33 9 19 48 22 5 49 27 5 44

harr

harr

harr

harr

harr

harr

harr

harr

harr

harr

3525 000

10020 4

paraacutemetros de posicioacuten Como es sugerido en se consideroacute variables de decisioacuten en los problemas de prueba dtlz donde para los problemas DTLZ1 DTLZ2 - DTLZ6 y DTLZ7 se consideraron respectivamente En el caso de los problemas de prueba uf se utilizaron variables de decisioacuten Finalmente se hizo uso del operador de mutacioacuten polinomial con una probabilidad de mutacioacuten de y con un iacutendice de distribucioacuten igual a mientras que el operador de cruza sbx se utilizoacute con una probabilidad de cruza igual a y un iacutendice de distribucioacuten de

A continuacioacuten se especifica la parametrizacioacuten adicional propia de cada algoritmo

bull DEMO CR = 03 y F = 05

bull SMS-EMOA desplazamiento para calcular el HV = 100

bull MOEAD tamantildeo de la vecindad = 10 el nuacutemero de actualizaciones por subproblema ( ) = 2 y

Para comparar los frentes obtenidos por cada meacutetodo se utiliza el hipervolumen normalizado (HV) que se debe maximizar y la Distancia Generacional Invertida Modificada (Inverted Generational Distance Plus - IGD+) que se debe minimizar En la tabla [tabReferencePoints] se presentan los puntos de referencia utilizados para el indicador del hipervolumen los cuales son similares a los utilizados en Por otra parte para comparar los resultados estadiacutesticamente (valores del IGD+ y HV) se siguioacute un procedimiento similar al que se propuso en siendo el mismo que se aplicoacute para validar la primera propuesta

Anaacutelisis de cada modificacioacuten en el operador sbx En este apartado se analiza el efecto que cada modificacioacuten propuesta tiene de forma independiente sobre los resultados obtenidos Para ello basados en el Algoritmo [algSBX_Operator] se proponen cuatro casos

bull Caso 1 se aplica la versioacuten estaacutendar del operador sbx donde y

bull Caso 2 se actualiza el valor como se indica en la Ecuacioacuten ([eqnlinear]) y

bull Caso 3 se actualiza el valor como se indica en la Ecuacioacuten ([eqnlinear]) y

bull Caso 4 se actualiza el iacutendice de distribucioacuten de acuerdo a la Ecuacioacuten ([eqnindex_eta])

n = M + r minus 1

r = 5 10 2030

1n 5009

20

nrδ = 09

δ1 = δ2 = 05 ηc = 20

δ1 δ2 = 05ηc = 20

δ2 δ1 = 05ηc = 20

δ1 = δ2 = 05

En las tablas [tabMetrics_2] y [tabMetrics_3] se muestra informacioacuten del HV normalizado y del IGD+ para cada caso con dos y tres objetivos respectivamente (el Caso 5 se comenta maacutes adelante) Especiacuteficamente se muestra la media del HV e IGD+ para todos los problemas en dos y tres objetivos Se observa que considerando dos y tres objetivos el Caso 4 mejora al Caso 1 al Caso 2 y al Caso 3 en todos los algoritmos Por lo tanto se aprecian de forma clara los beneficios de incrementar el iacutendice de distribucioacuten durante la ejecucioacuten Por otra parte al considerar tres objetivos el Caso 2 presentoacute un rendimiento menor que el Caso 1 posiblemente debido a que al alterar tantas variables de forma simultaacutenea se produce un comportamiento excesivamente disruptivo Quizaacutes los resultados podriacutean mejorar si el paraacutemetro es alterado de una forma distinta sin embargo esto se deja como trabajo futuro Los anaacutelisis anteriores uacutenicamente consideran la media obtenida en todos los problemas de prueba En la tabla [tabstatistical_Tests] se muestran los resultados de las pruebas estadiacutesticas (el Caso 5 se discute en la siguiente seccioacuten) Particularmente se realizan comparaciones por pares en base a las pruebas estadiacutesticas ya mencionadas entre los cinco casos Este procedimiento se realizoacute de forma independiente para el NSGA-II MOEAD y el SMS-EMOA Para cada algoritmo y para cada caso la columna ldquo rdquo reporta el nuacutemero de comparaciones donde las pruebas estadiacutesticas confirmaron la superioridad del caso correspondiente mientras que en la columna ldquo rdquo se reporta el nuacutemero de veces donde este caso fue inferior y la columna ldquo rdquo indica el nuacutemero de comparaciones donde las diferencias no fueron significativas Con base en estos resultados se puede observar que el caso 3 y caso 4 aportan con respecto al caso 1 mientras que el caso 2 no es robusto siendo en varios algoritmos inferior al caso 1 Adicionalmente se anexan resultados detallados para facilitar que otros investigadores puedan realizar comparativas con un mayor nivel de detalle 6

Modificacioacuten simultaacutenea de varios componentes Con base en los anaacutelisis realizados con anterioridad se propone una variante del operador sbx que incorpora las modificaciones propuestas en el Caso 3 y Caso 4 de forma simultaacutenea es decir se incorpora un cambio dinaacutemico tanto en el paraacutemetro como en el iacutendice de distribucioacuten Debido a los resultados de baja calidad del Caso 2 el paraacutemetro no se modifica de forma dinaacutemica Particularmente el Caso 5 se construye con base en el Algoritmo [algSBX_Operator] asignando el paraacutemetro a debido a que es la forma de la versioacuten estaacutendar del sbx mientras que es actualizado de acuerdo a la Ecuacioacuten ([eqnlinear]) y el paraacutemetro es actualizado como se indica en la Ecuacioacuten ([eqnindex_eta])

De acuerdo a la media del HV y del IGD+ que se obtuvieron en el Caso 5 (ver tablas [tabMetrics_2] y [tabMetrics_3]) es claro que integrar los Casos 3 y 4 proporciona

δ1

harr

δ2δ1

δ1 05δ2 ηc

httpsgithubcomjoelchaconcastilloSBX_CEC20186

beneficios importantes En el caso de dos objetivos se observa una ventaja significativa Sin embargo en el caso de tres objetivos los Casos 4 y 5 son muy similares con base en la media Ademaacutes al considerar tres objetivos los resultados que se obtuvieron en el Caso 5 son superiores a los obtenidos con de mientras que al considerar la versioacuten estaacutendar de sbx se observa un deterioro Por lo tanto si el operador sbx es configurado adecuadamente puede generar resultados similares o superiores que el algoritmo demo

Finalmente en la tabla [tabstatistical_Tests] se muestran los resultados de las pruebas estadiacutesticas Los beneficios obtenidos por el Caso 5 son muy claros De hecho uacutenicamente el Caso 4 obtuvo mejores resultados que el Caso 5 al considerar tres objetivos y al algoritmo NSGA-II Esto demuestra que se pueden obtener mejores resultados si se integran varias modificaciones dinaacutemicas de forma simultaacutenea Ademaacutes los resultados confirman las ventajas de la versioacuten dinaacutemica frente al caso estaacutendar (Caso 1) El uacutenico caso que no presenta ventajas importantes frente a la versioacuten estaacutendar del sbx es el Caso 2 el cual fue discutido con anterioridad

Conclusiones y trabajo futuro La convergencia prematura es una de las debilidades maacutes importantes de los eas Una de las formas de lidiar con este problema consiste en inducir un balanceo adecuado entre exploracioacuten e intensificacioacuten Sin embargo obtener este balanceo no es una tarea trivial debido a que cada problema de optimizacioacuten tiene caracteriacutesticas distintas y por ello han surgido numerosos esquemas para tratar esta problemaacutetica Con base en esto se han desarrollado varias taxonomiacuteas con el propoacutesito de clasificar las diferentes formas en que se puede preservar y promover la diversidad En este trabajo con el fin de ilustrar como se pueden realizar disentildeos de eas que tomen en cuenta el balanceo entre exploracioacuten e intensificacioacuten se presentan dos ejemplos De forma general las propuestas establecen un comportamiento dinaacutemico de alguacuten componente del ea teniendo en cuenta para ello el criterio de paro y el instante en que se encuentra la ejecucioacuten Asiacute se obtuvo un balanceo adecuado en el que en las primeras fases se promueve maacutes exploracioacuten y en las uacuteltimas se promueve maacutes la intensificacioacuten De modo maacutes especiacutefico en la primera propuesta se modifica evolucioacuten diferencial por medio de una nueva fase de reemplazo con el propoacutesito de conseguir este balanceo Ademaacutes esta contribucioacuten incorpora una poblacioacuten eacutelite con el propoacutesito de proporcionar soluciones de calidad tanto a mediano como a largo plazo Con base en la validacioacuten experimental llevada a cabo se observa que esta propuesta mejora a los mejores algoritmos que se habiacutean propuesto en una competicioacuten que consideroacute las funciones de prueba usadas en este capiacutetulo Posteriormente se presenta un anaacutelisis del operador de cruza sbx y se desarrolloacute una variante que modifica varios componentes de forma dinaacutemica

considerando tambieacuten el criterio de paro y las generaciones transcurridas Con base en los resultados obtenidos con problemas muy populares del aacutembito de optimizacioacuten multi-objetivo se muestra que usar el operador sbx modificado ofrece ventajas muy importantes en varios moeas y para diferentes indicadores De forma general se observa que obtener un balanceo apropiado entre exploracioacuten e intensificacioacuten es realmente importante y que esto se puede conseguir utilizando teacutecnicas radicalmente diferentes aunque siguiendo los mismos principios de disentildeo

El campo de disentildeo de eas es un campo muy activo y en el que hay muchas ideas auacuten por explorar Uno de los aspectos importantes es que las estrategias de control de diversidad ofrecen muchas ventajas a largo plazo pero se debe hacer el esfuerzo por conseguir que se pueda reducir el nuacutemero de evaluaciones requeridas para obtener resultados prometedores Otro aspecto importante es que en general la mayor parte de las estrategias de control de diversidad introduce nuevos paraacutemetros por lo que es importante combinar estos mecanismos con estrategias de control de paraacutemetros adaptativas o auto-adaptativas para facilitar su utilizacioacuten Finalmente para el caso especiacutefico del dsbx seriacutea interesante integrarlo con teacutecnicas de aprendizaje para lidiar con problemas con dependencias y mejorar asiacute auacuten maacutes el rendimiento de la propuesta

Para saber maacutes bull Para saber maacutes sobre la historia de los algoritmos evolutivos se sugiere consultar

bull Puede consultar informacioacuten sobre tipos de metaheuriacutesticas y disentildeo e implementacioacuten de las mismas en

bull Si desea consultar informacioacuten baacutesica sobre los fundamentos de los algoritmos evolutivos se sugiere consultar

bull Para profundizar maacutes en el toacutepico de manejo de diversidad exploracioacuten e intensificacioacuten se sugiere consultar

bull Se puede consultar material relacionado con operadores de cruza y algoritmos evolutivos multi-objetivo en

bull Para obtener maacutes informacioacuten relacionada al tema de evolucioacuten diferencial se sugiere consultar

bull Si desea consultar aplicaciones de algoritmos evolutivos multi-objetivo se puede consultar

Agradeciemientos Los autores agradecen el apoyo financiero proporcionado por CONACyT a traveacutes del proyecto no 285599

Hiper-heuriacutesticas en la Solucioacuten de Problemas de Optimizacioacuten

Hugo Terashima-Mariacuten Santiago Enrique Conant-Pablos Joseacute Carlos Ortiz-Bayliss e Ivaacuten Mauricio Amaya Contreras

terashimasconantjcobaylissiamaya2itesmmx Tecnologico de Monterrey Escuela de Ingenieriacutea y Ciencias

Campus Monterrey

Introduccioacuten Cuando nos enfrentamos a problemas complejos como aquellos del tipo NP o de optimizacioacuten combinatoria pueden presentarse dos escenarios diferentes En el primero estamos dispuestos a invertir todos los recursos disponibles para resolver de la mejor manera posible un problema particular Este escenario se caracteriza porque cada vez que un nuevo problema aparece se invierte una gran cantidad de recursos para obtener una solucioacuten a esa instancia dada En el segundo escenario estamos dispuestos a sacrificar algo de la calidad de la solucioacuten para economizar recursos Por lo tanto se utilizan meacutetodos geneacutericos y capaces de obtener soluciones aceptables mediante un uso racionado de los recursos En este caso el riesgo es que el meacutetodo geneacuterico no sea adecuado para el problema y que produzca una solucioacuten de mala calidad Estaacute claro que en promedio el primer escenario generaraacute mejores soluciones pero no es viable en la mayoriacutea de los problemas reales debido al alto consumo de recursos Las hiper-heuriacutesticas por otra parte son generalmente uacutetiles en el segundo escenario pues buscan proporcionar estrategias geneacutericas con buena calidad

Las hiper-heuriacutesticas son meacutetodos emergentes de buacutesqueda heuriacutestica que intentan producir un nivel maacutes alto de flexibilidad e independencia del dominio en que se aplican de tal forma que sean capaces de adaptarse a distintos tipos de problemas o a las distintas instancias de un mismo tipo Esto lo automatizan frecuentemente incorporando meacutetodos de aprendizaje automaacutetico y lo ejecutan a traveacutes de un proceso de seleccioacuten dinaacutemica de heuriacutesticas maacutes simples durante la solucioacuten de los problemas o bien mediante la generacioacuten de nuevas heuriacutesticas a partir de la combinacioacuten o adaptacioacuten de otras ya existentes (o de sus componentes) Actualmente hay diversos modelos de hiper-heuriacutesticas los cuales pueden clasificarse de acuerdo a las categoriacuteas propuestas por Esta clasificacioacuten divide a las hiper-heuriacutesticas seguacuten su forma de aprendizaje asiacute como seguacuten su mecanismo de obtencioacuten de las soluciones entre otros Aunque el teacutermino lsquohiper-heuriacutesticarsquo fue acuntildeado como tal en el 2001 hubieron esfuerzos previos con ideas similares Entre ellos cabe destacar a los portafolios (o seleccioacuten) de algoritmos y a la

configuracioacuten especiacutefica de algoritmos Desde entonces la actividad de investigacioacuten en hiper-heuriacutesticas ha avanzado y propagado en diversas instituciones en el mundo y ha sido tema de presentacioacuten y discusioacuten en diversas conferencias y revistas internacionales

Por otra parte y en lo que respecta a la investigacioacuten en hiper-heuriacutesticas en Meacutexico son pocos los investigadores e instituciones que se han vinculado a ella La mayor parte de la investigacioacuten realizada en el tema se concentroacute inicialmente en el Tecnoloacutegico de Monterrey donde se han desarrollado hiper-heuriacutesticas para corte y empacado satisfaccioacuten de restricciones y ruteo de vehiacuteculos El Tecnoloacutegico de Monterrey es tambieacuten pionero en el tema de la transformacioacuten de caracteriacutesticas y en hiper-heuriacutesticas para resolver problemas multi-objetivo Las hiper-heuriacutesticas desarrolladas en el Tecnoloacutegico de Monterrey se han fundamentado en diversas estrategias de aprendizaje que incluyen algoritmos geneacuteticos redes neuronales y programacioacuten geneacutetica entre otras Recientemente el Instituto Politeacutecnico Nacional (IPN) y el CINVESTAV han logrado importantes avances en lo relacionado a hiper-heuriacutesticas para problemas multi-objetivo y en el uso de hiper-heuriacutesticas basadas en evolucioacuten diferencial Como resultado de la colaboracioacuten del Tecnoloacutegico de Monterrey y el CINVESTAV en el 2017 comenzoacute a explorarse la transformacioacuten de caracteriacutesticas como mecanismo para mejorar el desempentildeo de hiper-heuriacutesticas El Instituto Tecnoloacutegico de Leoacuten y la Universidad de Guanajuato ha colaborado para desarrollar muacuteltiples trabajos sobre hiper-heuriacutesticas Los dominios de problemas que han abordado con hiper-heuriacutesticas incluyen calendarizacioacuten de eventos acadeacutemicos y ruteo de vehiacuteculos Adicionalmente la Universidad de Guanajuato ha incursionado en el uso de redes neuronales pre-entrenadas para acelerar el proceso de seleccioacuten de las heuriacutesticas ademaacutes de proponer una metodologiacutea para la adecuada seleccioacuten del conjunto de heuriacutesticas que debe estar disponible para una determinada hiper-heuriacutestica El Instituto Tecnoloacutegico de Ciudad Madero en colaboracioacuten con el Instituto Tecnoloacutegico de Leoacuten ha realizado importantes avances en la generacioacuten semiautomaacutetica de heuriacutesticas para el problema de empacado utilizando diversos meacutetodos como evolucioacuten diferencial y evolucioacuten gramatical

Este capiacutetulo estaacute encaminado a presentar el concepto de hiper-heuriacutesticas para entender sus caracteriacutesticas fundamentos modelos fortalezas y debilidades asiacute como algunas de sus aacutereas de aplicacioacuten El capiacutetulo integra en la Seccioacuten 2 los fundamentos de hiper-heuriacutesticas considerando principalmente los dos tipos aqueacutellas que seleccionan heuriacutesticas y aqueacutellas que generan nuevas heuriacutestica En la Seccioacuten 3 se presentan algunos modelos de hiper-heuriacutesticas algunos basados en esquemas evolutivos y otros basados en redes neuronales La Seccioacuten 4 presenta un ejemplo con la idea de mostrar paso a paso el proceso para generar hiper-heuriacutesticas en particular para el problema de particioacuten balanceada En la Seccioacuten 5 se discuten algunos aspectos avanzados sobre las hiper-heuriacutesticas como la solucioacuten de problemas multi-objetivo y la transformacioacuten de caracteriacutesticas En la Seccioacuten 6 se describe algunas tendencias futuras de hiper-heuriacutesticas

Algunos recursos disponibles relacionados con hiper-heuriacutesticas se presentan en la Seccioacuten 7 Finalmente en la Seccioacuten 8 se proporcionan las conclusiones

Fundamentos de las Hiper-heuriacutesticas Las hiper-heuriacutesticas trabajan sobre la idea de que es posible reutilizar los componentes de meacutetodos existentes ndashgeneralmente simples como son las heuriacutesticasndash para construir meacutetodos de buacutesqueda maacutes robustos y que se adapten a las condiciones del problema actual De esta forma se busca obtener soluciones que en la medida de lo posible y de acuerdo al tiempo disponible sean de buena calidad Ahora bien la forma de adaptacioacuten a los problemas da lugar a los dos grandes tipos de hiper-heuriacutesticas las que seleccionan heuriacutesticas y las que generan nuevas heuriacutesticas

Hiper-heuriacutesticas que seleccionan heuriacutesticas En este tipo de adaptacioacuten se busca cambiar la heuriacutestica usada para atacar la instancia del problema cambios que pueden ocurrir cada vez que el proceso requiere tomar una decisioacuten Por ejemplo en el caso del problema del vendedor viajero (TSP) se pretende encontrar el tour de miacutenimo costo para visitar todas y cada una de las ciudades de un conjunto dado Si se inicia con un tour vaciacuteo la toma de decisiones consiste en decidir la siguiente ciudad a visitar Mientras que con una heuriacutestica estariacuteamos a merced de una sola forma de decisioacuten (por ejemplo visitar la ciudad maacutes cercana o la maacutes lejana a la actual que todaviacutea no se haya visitado) con una hiper-heuriacutestica tenemos la flexibilidad para utilizar heuriacutesticas diferentes en cada toma de decisioacuten (por ejemplo iniciar con la maacutes cercana y luego tomar la maacutes lejana) De esta manera es comuacuten que una hiper-heuriacutestica utilice conjuntos y oacuterdenes de heuriacutesticas distintos para resolver diferentes instancias de un problema Desde esta perspectiva una hiper-heuriacutestica es el meacutetodo de alto nivel que controla coacutemo y cuaacutendo usar heuriacutesticas de bajo nivel

Hiper-heuriacutesticas que generan nuevas heuriacutesticas Este segundo tipo de adaptacioacuten busca combinar heuriacutesticas existentes (o sus componentes) en la generacioacuten de heuriacutesticas de alto nivel Por ejemplo asumiendo de nuevo el problema del vendedor viajero donde se construye la solucioacuten a partir de un tour vaciacuteo una heuriacutestica podriacutea decidir la nueva ciudad a agregar como aquella que minimice la distancia con respecto al eje coordenado a la uacuteltima ciudad visitada en el tour parcial actual Sin embargo otra heuriacutestica podriacutea seleccionar la ciudad basada en la distancia con respecto al eje coordenado La ciudad recomendada por ambas heuriacutesticas podriacutea ser la misma o una distinta Otra alternativa seriacutea combinar los criterios de ambas heuriacutesticas por ejemplo que se agregue la ciudad que minimice la funcioacuten Mediante esta sencilla funcioacuten es posible combinar los

dxx

dy y

f (x) = dx times dy

criterios de decisioacuten de cada heuriacutestica y formar una que se adapte a diferentes condiciones del problema De esta forma la hiper-heuriacutestica es un meacutetodo que genera nuevas heuriacutesticas

A continuacioacuten describiremos con maacutes detalle cada uno de estos tipos de hiper-heuriacutesticas

Hiper-heuriacutesticas que seleccionan heuriacutesticas La mayor parte de los trabajos realizados en Meacutexico se ha enfocado en este primer tipo de adaptacioacuten y por ello optamos por detallarlas maacutes Las hiper-heuriacutesticas de seleccioacuten como nos referiremos a ellas a partir de este momento estaacuten inspiradas en la idea de que existe un algoritmo maacutes adecuado para cada problema lo que en la literatura se conoce como el problema de la seleccioacuten de algoritmos En este sentido las hiper-heuriacutesticas de seleccioacuten exploran la forma en que diversas heuriacutesticas (u otros meacutetodos simples y raacutepidos de ejecutar) pueden combinarse para generar estrategias de solucioacuten robustas y con un buen desempentildeo general

En este punto cabe mencionar que las diferencias entre los portafolios de algoritmos la configuracioacuten especiacutefica de algoritmos y las hiper-heuriacutesticas de seleccioacuten son sutiles pero auacuten asiacute pueden apreciarse Por ejemplo tanto las hiper-heuriacutesticas como los portafolios de algoritmos deciden cuaacutel de los meacutetodos disponibles para resolver el problema debe utilizarse en un momento dado La diferencia principal es la naturaleza de los meacutetodos disponibles donde los portafolios de algoritmos trabajan usualmente con colecciones de meacutetodos de solucioacuten especializados para ciertos tipos de problemas mientras que las hiper-heuriacutesticas usualmente administran meacutetodos maacutes generales como son las heuriacutesticas La configuracioacuten especiacutefica de algoritmos (ISAC por sus siglas en ingleacutes) busca optimizar los paraacutemetros de los algoritmos para que se adapten a las caracteriacutesticas del problema que intentan resolver Si consideramos dos instancias de un mismo algoritmo con configuraciones distintas pueden considerarse como dos meacutetodos diferentes entonces ISAC es en esencia un portafolio de algoritmos

Como ya se mencionoacute una hiper-heuriacutestica de seleccioacuten decide en determinados momentos del proceso de solucioacuten queacute heuriacutestica debe utilizar A partir de este momento usaremos el teacutermino lsquopunto de decisioacutenrsquo para referirnos a esos momentos especiacuteficos durante la buacutesqueda cuando la hiper-heuriacutestica puede cambiar la heuriacutestica a utilizar Los puntos de decisioacuten pueden manejarse de muchas formas Por ejemplo podriacutea realizarse un cambio de heuriacutestica cada vez que una variable deba asignarse o soacutelo despueacutes de cierto nuacutemero de veces que deba asignarse o soacutelo si se cumple alguna condicioacuten particular Una forma muy comuacuten en la que se usan las hiper-heuriacutesticas lsquoperturbativasrsquo ndashaquellas que incrementalmente aplican modificaciones locales (movimientos) a soluciones completas (aproximaciones a la solucioacuten deseada) que representan los estados actuales de la buacutesquedandash es cambiar de heuriacutestica perturbativa uacutenicamente si la

calidad de la aproximacioacuten actual estaacute disminuyendo o si se ha mantenido estable por cierto tiempo

De forma muy general una hiper-heuriacutestica de seleccioacuten se comporta como se muestra en el Algoritmo [algGenericSelectionHH]

Como puede observarse en el Algoritmo [algGenericSelectionHH] la hiper-heuriacutestica tiene la capacidad de aplicar una heuriacutestica al problema para modificar su estado (buscando acercarlo a un estado meta o solucioacuten deseada) Ya que un problema especiacutefico de buacutesqueda depende del estado inicial de la misma si consideramos a la solucioacuten resultante de aplicacioacuten de la heuriacutestica actual al estado actual como el estado inicial del resto de la buacutesqueda estamos modificando el problema a resolver y este quizaacutes podriacutea ser resuelto de una mejor manera con una heuriacutestica distinta a la actual

La eleccioacuten de la heuriacutestica a utilizar en cada punto de decisioacuten depende completamente de la funcioacuten Selecciona la cual busca en el espacio de heuriacutesticas la maacutes adecuada de acuerdo al estado actual del problema Como puede inferirse del pseudocoacutedigo diferentes implementaciones de la funcioacuten Selecciona resultaraacuten en diferentes comportamientos de la hiper-heuriacutestica Por ejemplo una hiper-heuriacutestica completamente aleatoria implementariacutea la funcioacuten Selecciona como se muestra en el Algoritmo [algRandomSelect]

En el caso de una hiper-heuriacutestica aleatoria la rutina ignora por completo el estado del problema ya que no lo requiere para determinar queacute heuriacutestica utilizar Como es de esperarse el desempentildeo de una hiper-heuriacutestica aleatoria es en la mayoriacutea de los casos malo si el conjunto de heuriacutesticas simples contiene una o maacutes heuriacutesticas cuyo comportamiento es deficiente en los problemas a resolver

Otra posible idea para implementar una hiper-heuriacutestica es usar una secuencia predefinida de heuriacutesticas como estrategia de decisioacuten dentro de la funcioacuten Selecciona La idea detraacutes de esta hiper-heuriacutestica es que en algunos casos la relacioacuten entre heuriacutesticas depende de su encadenamiento (una secuencia ordenada de heuriacutesticas) Por ejemplo en un problema de empacado donde objetos de diferentes voluacutemenes deben ser empacados en un nuacutemero finito de contenedores de forma que se minimice el nuacutemero de contenedores utilizados podriacutea ser conveniente el utilizar una secuencia de heuriacutesticas donde despueacutes de empacar el objeto maacutes pequentildeo siempre se deba empacar el objeto maacutes grande Una hiper-heuriacutestica basada en secuencias predefinidas requiere conocer la secuencia especiacutefica de heuriacutesticas a aplicar y la uacuteltima heuriacutestica aplicada El Algoritmo [algSequenceHH] muestra una posible implementacioacuten de este tipo de hiper-heuriacutesticas

En caso de que una heuriacutestica deba aplicarse dos o maacutes veces seguidas esta deberaacute aparecer dos o maacutes veces en la secuencia predefinida de heuriacutesticas Debido a que la longitud de la secuencia de heuriacutesticas es mucho menor que el nuacutemero de puntos de decisioacuten en el problema hay que definir lo que se haraacute al llegar al final de la secuencia Una alternativa es que se vuelva a recorrer la misma secuencia desde la primera posicioacuten Otra opcioacuten es que al llegar al final de la secuencia desde ese momento se use soacutelo la uacuteltima heuriacutestica de la secuencia

Una tercera versioacuten de hiper-heuriacutestica (Algoritmo [algStateBasedHH]) representa la seleccioacuten inteligente del meacutetodo maacutes adecuado dadas las condiciones actuales del problema En esta versioacuten de hiper-heuriacutestica la funcioacuten Selecciona contiene un mapeo de situaciones en las que cada heuriacutestica deberiacutea ser utilizada

Como puede apreciarse en el Algoritmo [algStateBasedHH] la funcioacuten debe evaluar el estado actual del problema para determinar queacute heuriacutestica aplicar Hasta este momento no hemos proporcionado detalles sobre coacutemo se realiza la seleccioacuten de la heuriacutestica maacutes adecuada para un determinado estado del problema pero podemos adelantar que es el punto maacutes sensible del proceso

Entre los modelos maacutes utilizados para producir hiper-heuriacutesticas de seleccioacuten se encuentran los algoritmos geneacuteticos y las redes neuronales Maacutes adelante en este capiacutetulo se describiraacuten a detalle coacutemo funciona cada uno de estos modelos y coacutemo se implementan

Hiper-heuriacutesticas que generan nuevas heuriacutesticas Este segundo tipo de adaptacioacuten hace que las hiper-heuriacutesticas funcionen como generadores semi-automaacuteticos de heuriacutesticas De esta forma la combinacioacuten de componentes de decisioacuten se plasma en una funcioacuten que por siacute misma representa una nueva heuriacutestica En el contexto de heuriacutesticas perturbativas puede tratarse de la combinacioacuten de dos o maacutes operadores al mismo tiempo cada uno de ellos enfocados a modificar distintas secciones de la aproximacioacuten actual o bien a la aplicacioacuten en secuencia de dos o maacutes operadores perturbativos al estado actual de la buacutesqueda La situacioacuten es diferente para hiper-heuriacutesticas lsquoconstructivasrsquo ndashaquellas que gradualmente construyen la solucioacuten al problema generando soluciones parciales cada vez maacutes completas a partir de una solucioacuten inicialmente vaciacuteandash ya que en este caso las heuriacutesticas constructivas tienen la tarea de asignar un valor a cada elemento que puede integrarse a la solucioacuten de forma que se agregue el elemento que maximice (o minimice seguacuten sea el caso) dicho valor Por ejemplo si estamos utilizando un hiper-heuriacutestica constructiva para resolver una instancia del problema del agente viajero podemos considerar una heuriacutestica que agrega la ciudad con la menor distancia a la uacuteltima ciudad visitada en la solucioacuten parcial actual Para ello se debe calcular la distancia de cada una de las ciudades que todaviacutea no han sido visitadas a la

uacuteltima ciudad del tour parcial actual Luego de ello la heuriacutestica recomendaraacute agregar aquella con la menor distancia

De forma muy general una hiper-heuriacutestica de generacioacuten se comporta como se muestra en el Algoritmo [algGenericGenerationHH]

Por supuesto en este momento no se brindan detalles de coacutemo implementar la funcioacuten Genera que es la responsable de generar la heuriacutestica que se utilizaraacute para resolver el problema actual Entre los meacutetodos maacutes populares en la comunidad para implementar hiper-heuriacutesticas de generacioacuten se cuentan tanto programacioacuten geneacutetica como evolucioacuten diferencial

Modelos de Hiper-heuriacutesticas En esta seccioacuten se presentaraacuten las ideas generales detraacutes de las hiper-heuriacutesticas que se ha implementado de diversas formas y con apoyo de diferentes meta-heuriacutesticas o distintos modelos de aprendizaje automaacutetico

Modelos Evolutivos La computacioacuten evolutiva se ha utilizado tanto para construir hiper-heuriacutesticas de generacioacuten (mediante programacioacuten geneacutetica y evolucioacuten diferencial) como para construir hiper-heuriacutesticas de seleccioacuten (mediante algoritmos geneacuteticos y estrategias evolutivas) A continuacioacuten describiremos coacutemo se han implementado algunos casos de eacutexito de hiper-heuriacutesticas mediante computacioacuten evolutiva

Hiper-Heuriacutesticas basadas en Algoritmos Geneacuteticos

Los modelos evolutivos generan reglas que relacionan puntos especiacuteficos del espacio de caracteriacutesticas del problema con una heuriacutestica especiacutefica que ha demostrado ser uacutetil ante instancias con caracteriacutesticas similares Estas reglas pueden obtenerse de diversas formas ndashincluso pueden ser definidas por el usuario Sin embargo los algoritmos geneacuteticos han resultado muy uacutetiles para esta tarea y por esta razoacuten su uso seraacute detallado a continuacioacuten

El algoritmo geneacutetico mantiene una poblacioacuten de individuos de longitud variable que representan hiper-heuriacutesticas en potencia Durante cada generacioacuten estos individuos son combinados y mutados con la finalidad de mejorar la calidad de la poblacioacuten Seguacuten sea el caso los operadores geneacuteticos pueden o no ser adaptados para el problema Por ejemplo como el nuacutemero de reglas en las hiper-heuriacutesticas es variable los individuos en la poblacioacuten tambieacuten tienen una longitud

larr

variable Es necesario entonces adaptar el operador de cruza para que produzca soacutelo individuos vaacutelidos La funcioacuten objetivo contiene un conjunto de instancias a resolver El desempentildeo de cada individuo en dicho conjunto se convierte en su aptitud Con el paso de las generaciones se espera que los individuos que mejor resuelvan el conjunto de entrenamiento sean favorecidos por el proceso geneacutetico El mejor individuo de la uacuteltima generacioacuten es seleccionado como la hiper-heuriacutestica resultante del proceso evolutivo

Los modelos hiper-heuriacutesticos basados en algoritmos geneacuteticos fueron unas de las primeras opciones que se consideraron para generar heuriacutesticas El primer trabajo que utilizoacute un algoritmo geneacutetico para la exploracioacuten del espacio de heuriacutesticas en problemas de calendarizacioacuten fue publicado en 1994 antildeos antes de que el teacutermino hiper-heuriacutestica fuera utilizado por primera vez Pocos antildeos maacutes tarde esta idea fue retomada en y A la fecha gran parte de los trabajos relacionados con hiper-heuriacutesticas utilizan alguna forma de computacioacuten evolutiva como parte del mecanismo de generacioacuten y ajuste de las hiper-heuriacutesticas

Hiper-Heuriacutesticas basadas en Programacioacuten Geneacutetica

Las hiper-heuriacutesticas basadas en programacioacuten geneacutetica tienen la capacidad de combinar los componentes de heuriacutesticas existentes para construir nuevas heuriacutesticas que funcionen adecuadamente ante diversos grupos de instancias del problema La inclusioacuten de una gramaacutetica tipo BNF en este proceso es una tendencia reciente Un problema de satisfaccioacuten de restricciones (CSP) se define como un conjunto de variables asociado a un conjunto de dominios de valores ( ) y a un conjunto de restricciones entre las variables El objetivo es una asignacioacuten completa y consistente de valores a variables de la manera que se cumplan todas las restricciones Los CSPs han sido aplicados para el modelado y solucioacuten de problemas en diversos dominios Aquiacute describimos una plataforma basada en gramaacuteticas para generar automaacuteticamente nuevas heuriacutesticas de seleccioacuten de variables para CSPs El espacio de posibilidades se define generando oraciones vaacutelidas de acuerdo a la gramaacutetica que se utiliza

Un enfoque inicial en este sentido es el presentado en el trabajo de Ortiz-Bayliss et al que provee la evidencia de que es posible delegar al menos para ciertas tareas la generacioacuten de heuriacutesticas a un proceso automaacutetico En el trabajo se usan caracteriacutesticas provenientes de las heuriacutesticas previamente disentildeadas y se utiliza programacioacuten geneacutetica para combinar esos atributos y generar nuevas heuriacutesticas La idea es encapsular el conocimiento del experto humano de diversas formas para obtener mejores soluciones Dado que en la gramaacutetica hay que definir un conjunto de funciones y un conjunto de terminales las funciones utilizadas en esta investigacioacuten incluyen suma (+) resta (-) multiplicacioacuten () y divisioacuten protegida () (si el divisor es cero no se ejecutar la operacioacuten y el resultado es 1) Con este conjunto simple de operadores es

XD

suficiente para generar heuriacutesticas competitivas La definicioacuten de la gramaacutetica se puede observar en la Figura [figGrammar]

ltSgt ltEgt ltEgt ltOpgt ltFgt ltOpgt ltOpgt ( ltEgt ) | ltTgt ltFgt + | - | | ltTgt | | | |

En un esfuerzo maacutes avanzado en este respecto el modelo presentado en presenta una gramaacutetica que contiene elementos maacutes sofisticados como el estatuto if-then-else operadores aritmeacuteticos y loacutegicos lo que permite generar mayor cantidad de posibilidades de combinacioacuten ademaacutes de funciones sobrecargadas capaces de manejar diversas dimensionalidades de entrada lo que provee mayor flexibilidad y un mayor espacio de soluciones En este trabajo se usaron tres diferentes estrategias para evolucionar las heuriacutesticas programacioacuten geneacutetica (GP) buacutesqueda local iterada (ILS) y buacutesqueda de alpinista en paralelo (PHC) En los experimentos se usaron tanto instancias sinteacuteticas como reales para comparar el rendimiento entre las heuriacutesticas generadas y las del estado del arte disentildeadas por el humano El estudio considera varios asuntos como la composicioacuten del conjunto de entrenamiento hacia la generalidad de las heuriacutesticas y su rendimiento sobre instancias no vistas Tambieacuten se considera la evolucioacuten de heuriacutesticas sobre instancias pequentildeas capaces de generalizar sobre instancias maacutes grandes y no vistas y sobre otras instancias del mundo real La Figura 1 muestra un ejemplo de heuriacutestica generada por programacioacuten geneacutetica

Ejemplo de heuriacutestica generada automaacuteticamente por un proceso de Programacioacuten Geneacutetica para el problema de CSP

rarr rarr rarr rarr rarr deg(x)con f licts(x) dom(x) κ (x) r

variableFromVariableValue

smallest

If-VariablesValues1

greaterOrEqualThan minus minus

largest smallest

plus

mxi bdeg

conflicts

bbz log2

division

fdeg fbz

minus conflicts

multiplication plus

bbz pxi

Modelos Neuronales A diferencia de los modelos evolutivos que generan reglas que mapean caracteriacutesticas del problema a heuriacutesticas especiacuteficas las hiper-heuriacutesticas basadas en modelos neuronales aprenden las relaciones existentes entre caracteriacutesticas y heuriacutesticas a partir de casos de ejemplo De esta manera los modelos de hiper-heuriacutesticas basados en redes neuronales requieren un conjunto de entrenamiento donde se contengan las relaciones a aprender De manera general la hiper-heuriacutestica contiene una red neuronal que aprende a clasificar instancias seguacuten sus caracteriacutesticas La clase a la que pertenece la instancia representa la heuriacutestica a utilizar en un momento particular de la buacutesqueda

Probablemente uno de los primeros trabajos que exploraron el uso de redes neuronales para la seleccioacuten de heuriacutesticas fue el presentado por Moriarty en donde se presentoacute el modelo SANE (Symbiotic Adaptive Neuro-Evolution) para encontrar redes neuronales que representaban heuriacutesticas para el ordenamiento de valor en problemas de satisfaccioacuten de restricciones Antildeos maacutes tarde Corr propuso utilizar redes neuronales como selectores de heuriacutesticas constructivas para el problema de la calendarizacioacuten de exaacutemenes No fue sino hasta el 2009 que se publicoacute el primer trabajo de redes neuronales que expliacutecitamente mencionaba el teacutermino lsquohiper-heuriacutesticarsquo En dicho trabajo Ortiz-Bayliss et al retomaron la idea de usar redes neuronales como selectores de heuriacutesticas constructivas pero esta vez aplicado al problema de satisfaccioacuten de restricciones y con una red neuronal con aprendizaje mediante retro-propagacioacuten

Los modelos neuronales tambieacuten se han usado dentro de las hiper-heuriacutesticas para agilizar el entrenamiento Por ejemplo Li et al utilizaron una red neuronal para estimar el costo de una funcioacuten objetivo de forma que se minimizara el nuacutemero de evaluaciones reales durante el proceso de entrenamiento de la hiper-heuriacutestica

En cuanto a la arquitectura de la red neuronal se han utilizado diferentes opciones Una parte significativa de los trabajos ha utilizado el perceptroacuten multicapa Algunos otros trabajos han optado por arquitecturas maacutes especiacuteficas a ciertos problemas como son los mapas auto-organizados y redes neuronales con retraso temporal En algunas ocasiones se ha explorado la idea de combinar redes neuronales con algoritmos geneacuteticos para ajustar la topologiacutea de la red y maximizar el desempentildeo de las hiper-heuriacutesticas

Un ejemplo A continuacioacuten presentamos un breve ejemplo donde mostramos la forma en la que las hiper-heuriacutesticas pueden ser de utilidad y el proceso para aplicarlas

El problema Para este ejemplo tomaremos el problema de particioacuten balanceada (Balanced Partition) que consiste en encontrar la distribucioacuten de elementos que minimiza a donde es el iacutendice de calidad dado por la ecuacioacuten [equBPExampleFitness] y donde representa el elemento del subconjunto y es el nuacutemero de elementos en el subconjunto Asiacute el miacutenimo de corresponde al valor oacuteptimo de la separacioacuten

Las alternativas Para atacar este sencillo problema podemos considerar un enfoque constructivo a traveacutes de dos heuriacutesticas muy simples seleccionar el elemento de carga maacutexima (MAX) o miacutenima (MIN) Partiremos de una solucioacuten vaciacutea al considerar que nuestra solucioacuten es el subconjunto 2 (por tanto toda la carga seraacute asignada al subconjunto 1) por lo que la solucioacuten se construiraacute al escoger los elementos que deben moverse al subconjunto 2 para balancear la carga de todo el sistema Adicionalmente nuestra solucioacuten estaraacute completa cuando el subconjunto 2 represente a la mitad o maacutes de la carga total de la instancia del problema pues nuestras heuriacutesticas no permiten retornar elementos

Es importante resaltar que estas heuriacutesticas no son necesariamente buenas ni malas pues dependen mucho de la instancia del problema en la que se apliquen Consideremos por ejemplo un comportamiento como el de la Tabla [TableBaseInstancesBig] donde observamos que la heuriacutestica MAX se desempentildeoacute ligeramente mejor que la heuriacutestica MIN Esto se debe a que en algunas instancias la heuriacutestica MAX se desempentildeoacute mucho mejor que la heuriacutestica MIN (por ejemplo en las instancias 7 y 10) y viceversa (por ejemplo en las instancias 3 y 9) Es precisamente esta diferencia en desempentildeo lo que motivoacute la idea de las hiper-heuriacutesticas y donde se evidencia su eventual beneficio De hecho la Tabla [TableBaseInstancesBig] incluye una columna con el desempentildeo de una hiper-heuriacutestica simple (que detallaremos maacutes adelante) donde se puede observar que es mucho mejor que sus contrincantes

Q Qitemy

x xy Ny y Q

Q =N1

sumi=1

item1i minus

N2

sumj=1

item2j

Desempentildeo de las heuriacutesticas (y de una hiper-heuriacutestica) sobre 10 instancias de mayor extensioacuten

La informacioacuten del problema Ya conocemos el tipo de problema a resolver y las opciones que tenemos para hacerlo Ahora bien requerimos tambieacuten alguna manera de obtener informacioacuten de cada instancia en particular para asiacute poder analizarla y determinar queacute alternativa tomar (MAX o MIN) Para ello debemos definir al menos una caracteriacutestica del problema relacionada principalmente a las condiciones actuales de la instancia (de manera que se actualice a medida que progresa la solucioacuten) En este ejemplo utilizaremos la relacioacuten entre la carga actual del subconjunto 2 y la carga maacutexima como se muestra en la ecuacioacuten [equBPExampleFeature] Con esto ya tenemos todo lo necesario para empezar a crear nuestras hiper-heuriacutesticas

Instancia

1 11 9 7

2 2 8 6

3 1 13 3

4 2 0 0

5 3 5 13

6 1 9 3

7 3 1 13

8 9 3 9

9 9 11 3

10 5 1 11

Total 46 60 68

Promedio 46 6 68

QMINQHH QMAX

sumN2j=1 item2

j

sumN1i=1 item1

i + sumN2j=1 item2

jisin [0 1]

Nuestra primer hiper-heuriacutestica Nuestro objetivo con la hiper-heuriacutestica seraacute el de tratar de dar un orden loacutegico al proceso Asiacute buscaremos pasar los elementos maacutes grandes al inicio de la solucioacuten (es decir cuando el subconjunto estaacute vaciacuteo) para luego refinarla con elementos maacutes pequentildeos (para ajustar las pequentildeas diferencias) Por tanto podemos crear una hiper-heuriacutestica de dos reglas como se muestra en la Figura 2 En la parte derecha de la figura podemos observar la zona de influencia de cada regla Asiacute siempre que el valor de la caracteriacutestica (definida en la ecuacioacuten [equBPExampleFeature]) sea inferior a 025 se usaraacute la heuriacutestica MAX para seleccionar el siguiente elemento Pero si es superior se usaraacute la heuriacutestica MIN

Primer modelo de hiper-heuriacutestica con dos reglas y una sola caracteriacutestica (izquierda) Zona de influencia de cada regla (derecha)

Primer modelo de hiper-heuriacutestica con dos reglas y una sola caracteriacutestica (izquierda) Zona de influencia de cada regla (derecha)

En este punto es bueno recordar la columna que traiacuteamos pendiente de la Tabla [TableBaseInstancesBig] Es justamente esta hiper-heuriacutestica la que se usoacute para obtener los desempentildeos alliacute mostrados donde una vez maacutes se observa que supera a las heuriacutesticas simples Sin embargo es importante resaltar que no todo es perfecto En algunos casos por ejemplo en la instancia 1 la hiper-heuriacutestica generoacute una solucioacuten peor que cualquiera de las dos heuriacutesticas Es maacutes en casos como el de la instancia 4 fue la uacutenica que no logroacute generar un balanceo perfecto de la carga Esto se debe principalmente a la simplicidad de nuestra hiper-heuriacutestica pues solamente cuenta con dos reglas y con una sola caracteriacutestica Con ello se llega a que el espacio de caracteriacutesticas se divida en regiones simples como la mostrada en la parte derecha de la Figura 2 Por otra parte el desempentildeo de la hiper-heuriacutestica que estamos usando se encuentra limitado por su proceso de entrenamiento pues los valores fueron asignados manualmente y con base en lo que estimamos como mejor

Otras hiper-heuriacutesticas Revisemos ahora coacutemo puede afectar el proceso de entrenamiento al desempentildeo de esta hiper-heuriacutestica en particular Consideremos por ejemplo las hiper-heuriacutesticas mostradas en la Figura 3 La primera de ellas corresponde a nuestro modelo original (el que hemos venido usando) Las otras dos tienen una estructura similar pero el punto de corte de sus regiones de influencia se encuentra en 015 y 035 respectivamente Como se muestra en la Tabla [TableHHsComparison] el hecho de usar un enfoque maacutes agresivo (es decir HH3) sobre este conjunto de instancias resulta en un beneficio pues se obtiene un valor de que en Q

promedio es casi dos unidades menor al alcanzado con la hiper-heuriacutestica original (HH) Asimismo el otro enfoque empeoroacute el resultado respecto al logrado con HH Sin embargo incluso asiacute el resultado logrado es mejor que el obtenido por las heuriacutesticas independientes

Tres configuraciones diferentes de hiper-heuriacutesticas

Tres configuraciones diferentes de hiper-heuriacutesticas

Desempentildeo de dos heuriacutesticas simples y de tres modelos de hiper-heuriacutesticas sobre un conjunto de 10 instancias

Las hiper-heuriacutesticas como un problema de optimizacioacuten Las hiper-heuriacutesticas mostradas han sido entrenadas lsquoa manorsquo definiendo ciertos valores criacuteticos seguacuten nuestro criterio y conocimiento del problema Sin embargo el proceso se puede automatizar si se plantea como un problema de optimizacioacuten Para ello podemos definir la funcioacuten objetivo como el desempentildeo de la hiper-heuriacutestica Esto se muestra en la ecuacioacuten [equBPObjFunction] donde es el nuacutemero de instancias de entrenamiento y es el nivel de calidad dado por la hiper-heuriacutestica en la instancia Como se puede observar el proceso

Instancia

1 11 9 7 11 1

2 2 8 6 10 2

3 1 13 3 5 1

4 2 0 0 4 0

5 3 5 13 3 7

6 1 9 3 3 1

7 3 1 13 5 3

8 9 3 9 5 9

9 9 11 3 5 3

10 5 1 11 5 1

Total 46 60 68 56 28

Promedio 46 6 68 56 28

QMINQMAX QHH3QHH QHH2

Ni Qjj

de optimizacioacuten implica probar cada hiper-heuriacutestica candidata sobre el conjunto de entrenamiento Observemos tambieacuten que en el caso maacutes simple se cuenta con cuatro variables de disentildeo pero si aumentamos el nuacutemero de caracteriacutesticas a por ejemplo tres el nuacutemero de incoacutegnitas se duplica Si en este punto agregamos un par de reglas maacutes (para crear regiones de accioacuten maacutes complejas) el total de variables se duplica una vez maacutes llegando a 16 Asiacute el uso de teacutecnicas de optimizacioacuten claacutesicas como Newton-Rapshon o Descenso empinado queda descartado para la mayoriacutea de problemas praacutecticos (debido a que se requiere un punto de inicio cerca de la solucioacuten y a que quedan atrapados en oacuteptimos locales)

Sin embargo existe otra alternativa las metaheuriacutesticas Para evitar desviar la atencioacuten del lector omitiremos los detalles relacionados con el optimizador y nos centraremos en el proceso de entrenamiento

Vamos a imaginar que tenemos una herramienta capaz de construir una solucioacuten mejorada del problema usando como base una solucioacuten existente que no es necesariamente buena Imaginemos tambieacuten que dicha solucioacuten corresponde a una hiper-heuriacutestica Por tanto podemos definir una solucioacuten (eg una hiper-heuriacutestica) candidata inicial (generada de forma aleatoria) y utilizar dicha herramienta para crear una refinada Para determinar la ganancia dada por nuestra herramienta basta con evaluar ambas soluciones (tanto la aleatoria como la refinada) en la ecuacioacuten [equBPObjFunction] y comparar los resultados Luego de esto podemos tomar la solucioacuten refinada como base y usar nuestra herramienta para crear una mejorada Es justamente este proceso iterativo lo que nos permite operar sobre la solucioacuten aleatoria hasta lograr un resultado con la calidad deseada A manera de ejemplo consideremos un conjunto de 30 instancias aleatorias del problema de particioacuten balanceada (las cuales no se muestran por motivos de espacio) Si generamos 10 soluciones aleatorias (como las descritas anteriormente) obtendremos hiper-heuriacutesticas con desempentildeos buenos y malos como se muestra en la Figura 4 (iteracioacuten 1) Sin embargo podemos usar nuestra herramienta de optimizacioacuten sobre cada una de estas hiper-heuriacutesticas para generar unas mejoradas (iteracioacuten 2) Es maacutes podemos continuar iterativamente y luego de 15 iteraciones tendremos hiper-heuriacutesticas cuyo desempentildeo es bueno y muy similar (iteracioacuten 16) Note que por la naturaleza estocaacutestica de nuestra herramienta en ocasiones el desempentildeo mejora muy raacutepidamente pero en otros casos tarda varias iteraciones en mejorar Ademaacutes tengamos en cuenta que muchas metaheuriacutesticas trabajan de forma poblacional es decir evaluacutean y mejoran muacuteltiples soluciones al mismo tiempo con el aacutenimo de encontrar una uacutenica que sea lo suficientemente buena Sin embargo hemos omitido este tipo de

Fobj(FT A) =sumNi

j=1 Qj

Ni FT = [F1 F2 F3 FNF] and Qj = Qj(FT A)

detalles en la graacutefica para evitar complicar nuestro anaacutelisis y para facilitar la comprensioacuten por parte del lector

Ejemplo de entrenamiento de hiper-heuriacutesticas usando metaheuriacutesticas La iteracioacuten 1 representa el resultado luego de generar la poblacioacuten inicial Los datos mostrados corresponden a 10 reacuteplicas sobre 30 problemas generados de forma aleatoria con 100 elementos y una carga maacutexima de 100 por elemento

Ejemplo de entrenamiento de hiper-heuriacutesticas usando metaheuriacutesticas La iteracioacuten 1 representa el resultado luego de generar la poblacioacuten inicial Los datos mostrados corresponden a 10 reacuteplicas sobre 30 problemas generados de forma aleatoria con 100 elementos y una carga maacutexima de 100 por elemento

Aspectos Avanzados de las Hiper-heuriacutesticas En esta seccioacuten se abordan algunos temas avanzados de las hiper-heuriacutesticas como son sus aplicaciones en problemas multi-objetivo y a la ciencia de datos los modelos hiacutebridos y algunas tendencias futuras del aacuterea

Hiacuteper-heuriacutesticas para Problemas Multi-objetivo Muchos trabajos en la literatura relacionados con hiper-heuriacutesticas para solucionar problemas de optimizacioacuten consideran solamente un objetivo que guiacutea la buacutesqueda de soluciones Sin embargo es natural pensar que en estos problemas existen varios objetivos en conflicto y que la idea es optimizarlos al mismo tiempo

Esto debe plantearse como un problema multi-objetivo y por lo tanto la buacutesqueda de soluciones se debe hacer con un esquema adecuado que facilite ese proceso Para resolver un problema con esa perspectiva es importante definir el problema sus objetivos y el disentildeo del algoritmo que genere la solucioacuten esperada aunque en realidad lo que un algoritmo de este tipo produce es una serie de soluciones que corresponden a los mejores compromisos posibles entre los objetivos en conflicto A estas soluciones se les denomina conjunto de oacuteptimos de Pareto y sus valores correspondientes de las funciones objetivo conforman el denominado frente de Pareto Para ejemplificar este tema usaremos un problema de corte y empacado en dos dimensiones donde se quiere empacar pequentildeas figuras de diferentes tipos y formas en hojas de material rectangulares Lo que se requiere es minimizar el nuacutemero de hojas de materia prima pero al mismo tiempo minimizar tambieacuten el tiempo en que se ejecuta el proceso Estos son claramente dos objetivos que se contraponen por un lado se pueden poner las piezas muy raacutepidamente pero esto no seraacute efectivo en cuanto al nuacutemero de hojas de material y por el otro lado si queremos reducir el

nuacutemero de hojas de material quizaacute requiera maacutes tiempo para terminar el proceso En se usoacute un modelo evolutivo simplificado para representar el estado del problema donde el cromosoma representa un conjunto de puntos en el espacio y cada punto es etiquetado con una heuriacutestica Bajo este esquema el modelo representa una receta para resolver el problema que se puede describir como (a) determinar el estado actual del problema (b) encontrar el punto maacutes cercano a eacutel (c) aplicar la heuriacutestica anexa al punto (d) actualizar el estado Usamos esas ideas y en combinacioacuten con un algoritmo evolutivo multi-objetivo (AEMO) (NSGA-II SPEA2 GDE3) se busca encontrar el conjunto de cromosomas en el frente de Pareto que son capaces de encontrar soluciones a una amplia variedad de problemas tomando en cuenta los dos objetivos El conjunto contiene las hiper-heuriacutesticas que se estaacuten buscando

En la Figura 5 se muestra el esquema utilizado para resolver problemas multi-objetivo para el problema de corte y empacado

Modelo general multi-objetivo mostrando las fases de entrenamiento y prueba

Modelo general multi-objetivo mostrando las fases de entrenamiento y prueba

En la determinacioacuten del estado actual del problema es importante caracterizarlo Para este caso fueron seleccionadas 10 caracteriacutesticas de un conjunto mayor y que son las siguientes

1 Nuacutemero de piezas restantes por empacar

2 Aacuterea promedio de las piezas restantes

3 Varianza en el aacuterea de las piezas restantes

4 Media de la rectangularidad de las piezas restantes

5 Varianza en la rectangularidad de las piezas restantes

6 Media de la altura de las piezas restantes

7 Varianza en el ancho de las piezas restantes

8 Fraccioacuten de las piezas restantes cuya aacuterea es mayor a del aacuterea del objeto

9 Media del grado de concavidad de las piezas restantes

10 Fraccioacuten del total de las piezas restantes

E

S

S

E

12

En la plataforma propuesta para encontrar el conjunto S de mejores hiper-heuriacutesticas en el frente de Pareto se divide el conjunto de instancias en dos tipos entrenamiento y prueba El modelo evolucionaba poblaciones de hiper-heuriacutesticas tomando en cuenta el AEMO La fase de entrenamiento inicia con la generacioacuten de hiper-heuriacutesticas en forma aleatoria para el AEMO Este algoritmos evoluciona la poblacioacuten de acuerdo a su propia metodologiacutea y aplica operadores geneacuteticos para generar nuevas poblaciones considerando el conjunto de entrenamiento para evaluar su rendimiento

Una vez que las mejores hiper-heuriacutesticas se tienen se prueban entonces con las instancias de prueba para comparar los modelos multi-objetivo entre ellos y con respecto a las heuriacutesticas simples adaptadas para el problema usando diferentes meacutetricas

Los resultados obtenidos indican que los modelos eHH-MO son adecuados para construir un conjunto de reglas que permiten resolver el problema bi-objetivo de diversas maneras Los resultados de los modelos eHH-MO han sido comparados contra los obtenidos con las heuriacutesticas simples bajo una serie de experimentos usando tres diferentes meacutetricas como son la distancia generacional (GD) el hipervolumen (HV) y D (dispersioacuten y distribucioacuten) Desde diferentes perspectivas los modelos multi-objetivo superan claramente a los modelos de heuriacutesticas simples Los detalles de la serie de experimentos realizados y su discusioacuten general pueden consultarse en

Transformacioacuten de Caracteriacutesticas en Hiper-heuriacutesticas Una teacutecnica que se ha implementado recientemente se enfoca en el uso de transformaciones matemaacuteticas para mejorar el desempentildeo del modelo de seleccioacuten Al trabajar con una heuriacutestica de seleccioacuten las caracteriacutesticas juegan un papel preponderante en la eficiencia del proceso pues el selector representa una matriz de puntos clave en el espacio de caracteriacutesticas Ademaacutes debemos tener presente que cada problema de optimizacioacuten es diferente por lo que los puntos criacuteticos de una caracteriacutestica difiacutecilmente corresponderaacuten con los de otra Asiacute se inicioacute un proceso para identificar la forma en la que se pudiera establecer una transformacioacuten adecuada a cada problema particular Como resultado se encontroacute que el problema principal que puede resolver la transformacioacuten es el mostrado en la Figura 6 Alliacute se muestra la ubicacioacuten ideal de cuatro reglas (marcadores redondos) y su distancia al estado actual del problema (cuadro blanco) Dos de estas reglas tienen posiciones muy similares (la roja y la azul) por lo que el desempentildeo del selector se torna muy sensible a pequentildeos errores en la ubicacioacuten real de dichas reglas

Sensibilidad de hiper-heuriacutesticas a errores en los valores del selector y su solucioacuten a traveacutes de transformacioacuten de caracteriacutesticas Izquierda Ubicacioacuten ideal de las reglas en el espacio original Derecha Ubicacioacuten ideal de las reglas en el espacio transformado

La Figura 6 tambieacuten muestra la forma como se puede solucionar este problema con la transformacioacuten de caracteriacutesticas La idea es transformar el espacio de cada caracteriacutestica del problema de tal forma que las regiones en conflicto se expandan y las relativamente irrelevantes se compriman Para el ejemplo de la figura esto implica tener mayor resolucioacuten en el espacio cercano a las reglas azul y roja lo que permite un mayor margen de maniobra y por tanto reduce la sensibilidad de la hiper-heuriacutestica De forma similar la zona que pertenece a las dos reglas verdes se comprime Dado que se trata de reglas que ejecutan la misma accioacuten su regioacuten de influencia combinada no seraacute tan sensible a pequentildeos errores de ubicacioacuten Consideremos ahora los casos mostrados en la Figura 7 En la izquierda se muestran dos selectores (uno con dos reglas y otro con cuatro) ambos con dos acciones disponibles roja y azul Al hacer una transformacioacuten de caracteriacutesticas podemos ampliar zonas en conflicto (como ya se mencionoacute arriba) lo que representa una distribucioacuten de las reglas la cual puede incluso modificar la apariencia de las zonas de influencia de cada selector Para nuestro ejemplo dicha transformacioacuten se ve en las imaacutegenes del centro donde la apariencia ha sido parcialmente preservada pero donde se da mayor enfoque a las zonas conflictivas Claro estaacute este proceso no puede ser arbitrario pues podemos tambieacuten generar transformaciones poco uacutetiles como las de la derecha de la figura donde hemos perdido la mayoriacutea de la informacioacuten acerca de las zonas conflictivas por lo que seguramente tendremos un bajo desempentildeo de la hiper-heuriacutestica Detalles de esta investigacioacuten puden ser revisados en

Ejemplo de la forma como la transformacioacuten de caracteriacutesticas puede afectar la apariencia de las zonas de influencia de un selector Izquierda Forma original Centro Transformacioacuten uacutetil que ampliacutea las zonas en conflicto Derecha Transformacioacuten poco uacutetil que destruye informacioacuten sobre las zonas en conflicto

Tendencias Futuras de Hiper-heuriacutesticas Los sistemas inteligentes hiacutebridos son sistemas de software que emplean en paralelo una combinacioacuten de meacutetodos y teacutecnicas de sub-campos de la Inteligencia Artificial La hibridacioacuten de los sistemas inteligentes es un campo de investigacioacuten prometedora de la Inteligencia Computacional moderna para el desarrollo de la proacutexima generacioacuten de sistemas inteligentes Comunidades cientiacuteficas y acadeacutemicas estaacuten cada vez maacutes conscientes de que enfoques combinados podriacutean ser necesarios si se quiere seguir resolviendo los problemas difiacuteciles de la Inteligencia Artificial La integracioacuten de distintas teacutecnicas inteligentes y su adaptacioacuten para superar las limitaciones de los meacutetodos individuales y lograr efectos sineacutergicos a traveacutes de la hibridacioacuten o fusioacuten de estas teacutecnicas ha contribuido a una variedad de nuevos disentildeos dentro del campo de la optimizacioacuten Sin embargo la mayoriacutea de estos enfoques de hibridacioacuten siguen un disentildeo metodoloacutegico ad-hoc que se justifica por el eacutexito en ciertos dominios de aplicacioacuten No obstante se requiere de metodologiacuteas maacutes robustas para la construccioacuten de los sistemas hiacutebridos requeridos para resolver problemas contemporaacuteneos y futuros cada vez maacutes complejos y maacutes grandes

Las hiper-heuriacutesticas como teacutecnicas de buacutesqueda que tratan de automatizar el proceso de generacioacuten seleccioacuten y combinacioacuten de otras heuriacutesticas son un excelente vehiacuteculo para la construccioacuten de sistemas inteligentes hiacutebridos avanzados Recientemente han aparecido los primeros trabajos que proponen formas muy simples y limitadas de combinacioacuten de hiper-

heuriacutesticas Se requiere de estudios maacutes profundos y serios que combinen generacioacuten con seleccioacuten asiacute como estrategias constructivas con perturbativas en formas maacutes elaboradas que mejoren los resultados obtenidos

El desafiacuteo de la hibridacioacuten hiper-heuriacutestica es enorme y complejo Reside primeramente en el modelado de los problemas y de las soluciones (parciales o aproximadas) de forma que a partir de descripciones parameacutetricas o no parameacutetricas el meacutetodo hiacutebrido pueda ir decidiendo la combinacioacuten de meacutetodos heuriacutesticos que iraacute utilizando para guiar la buacutesqueda de la solucioacuten Parte importante del desafiacuteo tambieacuten es la seleccioacuten inteligente de las heuriacutesticas especiacuteficas a los dominios de los problemas las meta-heuriacutesticas y las hiper-heuriacutesticas que formaraacuten el meacutetodo hiacutebrido Otro elemento de complejidad es que cada teacutecnica heuriacutestica incluye paraacutemetros que deben ser ajustados adecuadamente para que trabajen de forma correcta y eso podriacutea ser requerido durante la ejecucioacuten del meacutetodo Finalmente como se quieren meacutetodos hiacutebridos que maximicen su desempentildeo tambieacuten se deberaacuten seleccionar o disentildear las meacutetricas para medir la efectividad y eficiencia de los algoritmos utilizados

Son demasiadas posibilidades las que hay que considerar y demasiada informacioacuten relacionada tanto con las instancias de los problemas a resolver los meacutetodos de solucioacuten sus hiper-paraacutemetros su hibridacioacuten y el efecto de sus decisiones durante la solucioacuten de los problemas Los investigadores ya estaacuten abordando algunos esfuerzos en estas direcciones a traveacutes del aprendizaje automaacutetico y el uso de teacutecnicas estadiacutesticas pero mucha de la praacutectica es primordialmente artesanal Se requiere el uso de metodologiacuteas cientiacuteficas maacutes maduras y desarrolladas para manejar la gran cantidad de datos que se genera en el proceso

Dado que la Ciencia de Datos es la capacidad de extraer conocimientos e ideas de grandes cantidades de datos y datos complejos la construccioacuten de meacutetodos hiacutebridos para optimizacioacuten mediante hiper-heuriacutesticas son un buen motivo para su aplicacioacuten

La Ciencia de Datos intenta comprender las complejidades de las actividades del mundo real y el contexto a partir del anaacutelisis de los datos para mejorar los beneficios que pueden obtenerse de ellos Los algoritmos de optimizacioacuten en tiempo real estaacuten estrechamente vinculados al contexto de sus datos Luego utilizar las teacutecnicas de Ciencia de Datos permitiraacute aprovechar el conjunto histoacuterico de datos asiacute como los datos generados en tiempo real durante la buacutesqueda de soluciones para los problemas de optimizacioacuten El proceso de Ciencia de Datos se puede aplicar al ajuste automaacutetico de los algoritmos su configuracioacuten y su adaptacioacuten para crear mejores meacutetodos de optimizacioacuten

El desarrollo de algoritmos de buacutesqueda poderosos se asemeja a la solucioacuten de los problemas de optimizacioacuten La hibridacioacuten de optimizadores mediante hiper-heuriacutesticas incluye una gran

cantidad de paraacutemetros y generalmente ofrecen muchas opciones El desafiacuteo para la Ciencia de Datos es maacutes complejo debido a la naturaleza estocaacutestica de los meacutetodos de solucioacuten Para explotar el poder real de estas teacutecnicas y resolver los problemas de manera eficiente el desarrollador debe seleccionar los mejores valores y tomar las decisiones correctas

En la uacuteltima deacutecada se han desarrollado varias teacutecnicas para la optimizacioacuten de paraacutemetros la construccioacuten automaacutetica de algoritmos y la creacioacuten de hiper-heuriacutesticas para generar o seleccionar algoritmos pero la Ciencia de Datos tiene mucho que aportar para explotar al maacuteximo el potencial de las teacutecnicas novedosas de buacutesqueda existentes No se debe de buscar un meacutetodo ideal sino crear metodologiacuteas adecuadas a los diferentes dominios de problemas Estas metodologiacuteas deben ser robustas de manera que permitan construir meacutetodos poderosos a partir de la descripcioacuten de esquemas de recoleccioacuten procesamiento exploracioacuten visualizacioacuten aprendizaje y explotacioacuten de datos adecuados a los problemas especiacuteficos a resolver

Aunque actualmente hay un boom en el desarrollo de aplicaciones de Ciencia de Datos en muchos dominios y hay un gran esfuerzo de grupos de personas para desarrollar meacutetodos de buacutesqueda para dominios especiacuteficos la aplicacioacuten de la Ciencia de Datos en la construccioacuten de meacutetodos de optimizacioacuten requiere habilidades inherentemente diferentes y hay muy pocos trabajos especiacuteficos sobre el tema Iniciativas como lsquoData Science meets Optimizationrsquo promovida por grupos creados hace poco como el grupo europeo EWG DSO confirman la relevancia y el potencial del tema

Para saber maacutes El nuacutemero de trabajos relacionados a hiper-heuriacutesticas se ha incrementado significativamente en la uacuteltima deacutecada Como resultado una gran cantidad de recursos se encuentran disponibles en diversas fuentes El lector interesado en conocer a maacutes detalle los diferentes tipos de hiper-heuriacutesticas y sus aplicaciones puede consultar estudios de referencia como y Una lista muy completa sobre los trabajos relacionados a hiper-heuriacutesticas se encuentra disponible en liacutenea en httpsmustafamisirgithubiohhhtml

Debido al intereacutes que las hiper-heuriacutesticas han despertado en los investigadores diversas conferencias y talleres han dedicado espacios para este tipo de trabajos Por ejemplo Genetic and Evolutionary Computation Conference (GECCO) que desde el 2011 ha proporcionado espacios en sus categoriacuteas Self- Search (2011 al 2016) y Search-Based Software Engineering (a partir del 2017) International Conference on Parallel Problem Solving from Nature (PPSN) con talleres en el tema en las ediciones del 2008 y 2016 IEEE Congress on Evolutionary Computation (CEC) con sesiones especiales sobre hiper-heuriacutesticas en sus ediciones del 2013 y

2016 En cuanto a competencias internacionales sobre la materia destacan las dos ediciones del Cross-domain Heurisic Search Challenge (CHeSC) La competencia consistiacutea en disentildear estrategias de alto nivel que controlaran la aplicacioacuten de heuriacutesticas de bajo nivel para dominios especiacuteficos Durante el reto las heuriacutesticas de bajo nivel seriacutean diferentes para cada dominio del problema pero la estrategia de alto nivel debiacutea ser la misma para todos los dominios El reto se enfocaba en el desempentildeo de los meacutetodos de optimizacioacuten en diferentes dominios de problemas en lugar de concentrarse soacutelo en uno

En cuanto a herramientas para la implementacioacuten de hiper-heuriacutesticas la literatura contiene pocos ejemplos entre los que destacan Hyperion HyFlex y EvoHyp No todas las herramientas se encuentran disponibles en este momento ya que algunos de los sitios para su distribucioacuten han sido descontinuados En cualquier caso es posible contactar a los autores para solicitar acceso a las herramientas

Adicionalmente a estos recursos en el 2013 se formoacute la IEEE Task Force on Hyper-heuristics 7

dedicada al desarrollo y aplicaciones de hiper-heuriacutesticas y a su interseccioacuten con la inteligencia artificial la inteligencia computacional y la investigacioacuten de operaciones El sitio del grupo de trabajo proporciona muchos recursos uacutetiles en el tema de hiper-heuriacutesticas

Conclusiones Este capiacutetulo ha presentado el tema de hiper-heuriacutesticas desde diferentes perspectivas con la idea de dar al lector una panoraacutemica general pero suficientemente detallada para que pueda conocer el tema y pueda empezar a realizar avances a traveacutes de la investigacioacuten en el aacuterea o en la aplicacioacuten de las teacutecnicas para resolver problemas en el dominio de optimizacioacuten El capiacutetulo ha explicado el detalle los principales tipos de hiper-heuriacutesticas y sus fundamentos y los diversos modelos que se han generado en la literatura principalmente basados en modelos evolutivos y neuronales y entendiendo que no son los uacutenicos El capiacutetulo provee discusioacuten sobre aspectos avanzados en hiper-heuriacutesticas y que se han derivado en trabajos recientes como es el tratamiento de hiper-heuriacutesticas en problemas multi-objetivo y la transformacioacuten de caracteriacutesticas que permite mejorar el rendimiento de esquemas de hiper-heuriacutesticas En trabajos recientes se han presentado resultados al hibridizar tipos de hiper-heuriacutesticas como por ejemplo las de seleccioacuten con las de generacioacuten las de construccioacuten con las de generacioacuten los tipos de aprendizaje etc Hay todaviacutea un espacio para continuar investigando dentro de ese contexto Con el reciente impacto del tema de big-data se ha empezado a discutir en la comunidad cientiacutefica la relacioacuten de Ciencia de Datos con optimizacioacuten Aquiacute cabe naturalmente el toacutepico de hiper-

httpssitesgooglecomsiteieeetaskforceonhyperheurisitcshome7

heuriacutesticas dado que Ciencia de Datos puede apoyar para generar mejores algoritmos de optimizacioacuten y ciertamente los modelos de optimizacioacuten pueden incidir favorablemente para mejorar los procesos en ciencia de datos

Al final el capiacutetulo presentoacute una serie de recursos que pueden servir como base a estudiantes e investigadores para perseguir el tema de hiper-heuriacutesticas

  • Proacutelogo
  • Introduccioacuten
  • El algoritmo de Evolucioacuten Diferencial
  • Mutacioacuten
  • Cruza
  • Seleccioacuten
  • Estructura del Algoritmo
  • Modificaciones al algoritmo de Evolucioacuten Diferencial
  • Ajuste de paraacutemetros globales
  • Ajuste de paraacutemetros asociados a cada individuo de la poblacioacuten
  • Ajuste del tamantildeo de la poblacioacuten
  • Combinacioacuten de variantes
  • Evolucioacuten Diferencial para otros tipos de problemas
  • DE en Meacutexico
  • Conclusiones
  • Para saber maacutes
  • Introduccioacuten
  • AGds homogeacuteneos y heterogeacuteneos
  • Migracioacuten en AGPs
  • AGs celulares o de grano fino
  • Explotacioacutenexploracioacuten por propiedades estructurales
  • Presioacuten de seleccioacuten por caracteriacutesticas estructurales
  • Anaacutelisis empiacuterico
  • Aceleracioacuten en AGP
  • Concepto de sincronismo en AGPs
  • En AGPs distribuidos viacutea migracioacuten
  • En AGP celulares viacutea criterios de actualizacioacuten
  • Discusioacuten
  • Investigacioacuten de AGPs en Meacutexico
  • Para saber maacutes
  • Introduccioacuten
  • Proceso evolutivo
  • Representacioacuten
  • Poblacioacuten inicial
  • Operadores Geneacuteticos
  • Recombinacioacuten
  • Mutacioacuten
  • Seleccioacuten
  • Espacio de buacutesqueda
  • Conclusiones
  • Para saber maacutes
  • Introduccioacuten
  • Preservacioacuten de diversidad en algoritmos evolutivos
  • Clasificaciones de mecanismos para promover la diversidad
  • Esquemas claacutesicos para administrar la diversidad
  • Esquemas de reemplazamiento basados en diversidad
  • Diversidad en evolucioacuten diferencial
  • Disentildeo de evolucioacuten diferencial basado en diversidad
  • Evolucioacuten diferencial Conceptos baacutesicos
  • Inicializacioacuten
  • Operador de mutacioacuten
  • Operador de cruza
  • Operador de seleccioacuten
  • Propuesta basada en diversidad
  • Resultados de de-edm
  • Disentildeo de operadores de cruza basados en diversidad
  • Algoritmos evolutivos multi-objetivo
  • Operadores de cruza
  • El operador de cruza basado en simulacioacuten binaria - SBX
  • Implementacioacuten y anaacutelisis del operador sbx
  • Propuesta - dsbx
  • Resultados
  • Anaacutelisis de cada modificacioacuten en el operador sbx
  • Modificacioacuten simultaacutenea de varios componentes
  • Conclusiones y trabajo futuro
  • Para saber maacutes
  • Agradeciemientos
  • Introduccioacuten
  • Fundamentos de las Hiper-heuriacutesticas
  • Hiper-heuriacutesticas que seleccionan heuriacutesticas
  • Hiper-heuriacutesticas que generan nuevas heuriacutesticas
  • Modelos de Hiper-heuriacutesticas
  • Modelos Evolutivos
  • Hiper-Heuriacutesticas basadas en Algoritmos Geneacuteticos
  • Hiper-Heuriacutesticas basadas en Programacioacuten Geneacutetica
  • Modelos Neuronales
  • Un ejemplo
  • El problema
  • Las alternativas
  • La informacioacuten del problema
  • Nuestra primer hiper-heuriacutestica
  • Otras hiper-heuriacutesticas
  • Las hiper-heuriacutesticas como un problema de optimizacioacuten
  • Aspectos Avanzados de las Hiper-heuriacutesticas
  • Hiacuteper-heuriacutesticas para Problemas Multi-objetivo
  • Transformacioacuten de Caracteriacutesticas en Hiper-heuriacutesticas
  • Tendencias Futuras de Hiper-heuriacutesticas
  • Para saber maacutes
  • Conclusiones
Page 5: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos

Proacutelogo La computacioacuten evolutiva es un aacuterea de las ciencias de la computacioacuten que se enfoca al estudio de las propiedades de una serie de metaheurısticas estocaacutesticas (a las cuales se denomina de manera geneacuterica ldquoAlgoritmos Evolutivosrdquo) inspiradas en la teorıa de la evolucioacuten de las especies formulada por Charles Darwin seguacuten la cual los individuos ldquomaacutes aptosrdquo a su ambiente tienen una mayor probabilidad de sobrevivir

Una metaheurıstica es un procedimiento de buacutesqueda de alto nivel que aplica una regla o conjunto de reglas que se basa(n) en una fuente de conocimiento El eacutenfasis de las metaheurısticas es explorar el espacio de buacutesqueda de manera relativamente eficiente es decir mejor que lo que harıa una buacutesqueda exhaustiva aunque no necesariamente oacuteptima Las metaheurısticas suelen considerarse tambieacuten como teacutecnicas de buacutesqueda y optimizacioacuten de uso general pese a sus limitantes teoacutericas (en general las metaheurısticas no pueden garantizar convergencia al oacuteptimo global) Otro rasgo distintivo de las metaheurısticas es que suelen requerir poca informacioacuten especıfica del problema y son uacutetiles cuando el espacio de buacutesqueda es muy grande poco conocido yo con dificultades para explorarlo Cuando se usan para optimizacioacuten no pueden garantizar en general que convergeraacuten a la mejor solucioacuten posible (es decir al oacuteptimo global del problema) si bien en la praacutectica suelen producir aproximaciones razonablemente buenas en tiempos razonablemente cortos

Los algoritmos evolutivos son metaheurısticas estocaacutesticas porque su comportamiento se basa en el uso de nuacutemeros aleatorios y en operadores probabilısticos En consecuencia no siempre producen el mismo resultado cada vez que se ejecutan con los mismos datos de entrada

En Meacutexico existe un nuacutemero importante de investigadores trabajando en diferentes aacutereas de la computacioacuten evolutiva y este libro intenta proporcionar un asomo a la diversidad de temas en los que se hace investigacioacuten en nuestro paıs Los seis capıtulos que conforman este libro estaacuten escritos como tutoriales breves que pretender introducir al lector a ciertos temas especıficos de computacioacuten evolutiva En todos los casos se describe brevemente parte del trabajo que han realizado algunos grupos de investigacioacuten en Meacutexico en torno a estos temas

El capıtulo 1 presenta una introduccioacuten a la ldquoevolucioacuten diferencialrdquo que es un tipo de algoritmo evolutivo que se ha vuelto muy popular en la solucioacuten de problemas de optimizacioacuten no lineal Los autores proporcionan una descripcioacuten general de este tipo de algoritmo evolutivo incluyendo el funcionamiento de sus operadores de cruza y mutacioacuten y las diferencias entre sus variantes principales

El capıtulo 2 describe los conceptos baacutesicos de los ldquoalgoritmos geneacuteticos paralelosrdquo a partir de una taxonomıa muy sencilla basada en la granularidad de la paralelizacioacuten enfatizando las diferencias que existen entre los esquemas homogeacuteneos y heterogeacuteneos ası como entre el paralelismo sıncrono y el asıncrono

El capıtulo 3 se enfoca a una variante del algoritmo geneacutetico denominada ldquoprogramacioacuten geneacuteticardquo en la cual se usa una representacioacuten de aacuterbol (la cual permite evolucionar programas) en vez de las cadenas binarias de longitud fija del algoritmo geneacutetico tradicional La programacioacuten geneacutetica ha tomado una gran relevancia en antildeos recientes sobre todo por su aplicabilidad a problemas de aprendizaje y clasificacioacuten

El capıtulo 4 se enfoca en un tema muy importante en computacioacuten evolutiva del cual no suele hablarse mucho la importancia de la diversidad en el disentildeo de un algoritmo evolutivo Los autores hacen una revisioacuten de diversas teacutecnicas que se han propuesto para lidiar con la convergencia prematura (la cual suele ser consecuencia de una peacuterdida abrupta de diversidad en la poblacioacuten) Adicionalmente se incluye un pequentildeo estudio en el que se analizan dos teacutecnicas para mantener diversidad

El capıtulo 5 presenta un tutorial de otra aacuterea que ha tomado gran relevancia en antildeos recientes la optimizacioacuten evolutiva multi-objetivo la cual se enfoca a la solucioacuten de problemas de optimizacioacuten que tienen dos o maacutes objetivos (normalmente en conflicto entre sı) que deseamos optimizar al mismo tiempo Ademaacutes de proporcionar los conceptos baacutesicos de esta aacuterea se describen brevemente los algoritmos evolutivos multi-objetivo maacutes utilizados en la actualidad ası como las medidas principales de desempentildeo que se utilizan en la literatura especializada En la parte final del capıtulo se describen tambieacuten algunos de los temas de investigacioacuten en los que se estaacute trabajando maacutes dentro de esta aacuterea en la actualidad

El capıtulo 6 estaacute dedicado a las hiper-heurısticas que son teacutecnicas que buscan proporcionar maacutes flexibilidad que los algoritmos evolutivos tradicionales al ser capaces de adaptarse a diversos tipos de problemas y a diferentes instancias de una misma clase de problemas Las hiper-heurısticas son el eslaboacuten intermedio entre las limitantes teoacutericas relacionadas con la aplicabilidad de las metaheurısticas y el anhelado suentildeo del disentildeo automatizado de algoritmos y

constituyen sin lugar a dudas uno de los temas maacutes ricos de investigacioacuten dentro de las metaheurısticas

Doctor Carlos Artemio Coello Coello

Indice general

Proacutelogo 5

Introduccioacuten 13

El algoritmo de Evolucioacuten Diferencial 15

Mutacioacuten 16

Cruza 18

Seleccioacuten 20

Estructura del Algoritmo 20

Modificaciones al algoritmo de Evolucioacuten Diferencial 21

Ajuste de paraacutemetros globales 22

Ajuste de paraacutemetros asociados a cada individuo de la poblacioacuten 23

Ajuste del tamantildeo de la poblacioacuten 26

Combinacioacuten de variantes 27

Evolucioacuten Diferencial para otros tipos de problemas 29

DE en Meacutexico 30

Conclusiones 30

Para saber maacutes 31

Introduccioacuten 32

AGds homogeacuteneos y heterogeacuteneos 35

Migracioacuten en AGPs 37

AGs celulares o de grano fino 39

Explotacioacutenexploracioacuten por propiedades estructurales 40

Presioacuten de seleccioacuten por caracteriacutesticas estructurales 43

Anaacutelisis empiacuterico 45

Aceleracioacuten en AGP 46

Concepto de sincronismo en AGPs 47

En AGPs distribuidos viacutea migracioacuten 48

En AGP celulares viacutea criterios de actualizacioacuten 49

Discusioacuten 50

Investigacioacuten de AGPs en Meacutexico 50

Para saber maacutes 51

Introduccioacuten 53

Proceso evolutivo 55

Representacioacuten 56

Poblacioacuten inicial 58

Operadores Geneacuteticos 59

Recombinacioacuten 59

Mutacioacuten 60

Seleccioacuten 61

Espacio de buacutesqueda 62

Conclusiones 63

Para saber maacutes 63

Introduccioacuten 64

Preservacioacuten de diversidad en algoritmos evolutivos 67

Clasificaciones de mecanismos para promover la diversidad 67

Esquemas claacutesicos para administrar la diversidad 68

Esquemas de reemplazamiento basados en diversidad 69

Diversidad en evolucioacuten diferencial 71

Disentildeo de evolucioacuten diferencial basado en diversidad 72

Evolucioacuten diferencial Conceptos baacutesicos 72

Inicializacioacuten 72

Operador de mutacioacuten 72

Operador de cruza 73

Operador de seleccioacuten 73

Propuesta basada en diversidad 74

Resultados de de-edm 77

Disentildeo de operadores de cruza basados en diversidad 87

Algoritmos evolutivos multi-objetivo 87

Operadores de cruza 89

El operador de cruza basado en simulacioacuten binaria - SBX 89

Implementacioacuten y anaacutelisis del operador sbx 90

Propuesta - dsbx 92

Resultados 93

Anaacutelisis de cada modificacioacuten en el operador sbx 95

Modificacioacuten simultaacutenea de varios componentes 96

Conclusiones y trabajo futuro 97

Para saber maacutes 98

Agradeciemientos 99

Introduccioacuten 100

Fundamentos de las Hiper-heuriacutesticas 102

Hiper-heuriacutesticas que seleccionan heuriacutesticas 103

Hiper-heuriacutesticas que generan nuevas heuriacutesticas 105

Modelos de Hiper-heuriacutesticas 106

Modelos Evolutivos 106

Hiper-Heuriacutesticas basadas en Algoritmos Geneacuteticos 106

Hiper-Heuriacutesticas basadas en Programacioacuten Geneacutetica 107

Modelos Neuronales 109

Un ejemplo 109

El problema 110

Las alternativas 110

La informacioacuten del problema 111

Nuestra primer hiper-heuriacutestica 112

Otras hiper-heuriacutesticas 112

Las hiper-heuriacutesticas como un problema de optimizacioacuten 113

Aspectos Avanzados de las Hiper-heuriacutesticas 115

Hiacuteper-heuriacutesticas para Problemas Multi-objetivo 115

Transformacioacuten de Caracteriacutesticas en Hiper-heuriacutesticas 117

Tendencias Futuras de Hiper-heuriacutesticas 119

Para saber maacutes 121

Conclusiones 122

Evolucioacuten Diferencial una breve introduccioacuten Rafael Rivera Loacutepez

Efreacuten Mezura Montes

En este capiacutetulo se hace una descripcioacuten general del algoritmo de Evolucioacuten Diferencial Este tipo de algoritmo evolutivo representa una excelente alternativa para encontrar soluciones cercanas al oacuteptimo a problemas de optimizacioacuten continua complejos Debido a la simplicidad de su implementacioacuten y sus excelentes habilidades de exploracioacuten y explotacioacuten diversas variantes de este algoritmo se han aplicado para resolver problemas con diferentes caracteriacutesticas En este capiacutetulo se describen los elementos baacutesicos del algoritmo asiacute como las diferentes variantes que se han desarrollado para mejorar su desempentildeo

Introduccioacuten Con el nombre de algoritmos evolutivos se identifica a un grupo de procedimientos que se utilizan para resolver muchos problemas praacutecticos y que se distinguen de otras teacutecnicas porque estaacuten inspirados en las teoriacuteas que sintetizan la evolucioacuten Darwiniana y la herencia geneacutetica descrita por Mendel Los algoritmos evolutivos han probado ser herramientas poderosas para encontrar soluciones aceptables a problemas donde otras teacutecnicas fallan o consumen una excesiva cantidad de tiempo Estos algoritmos se destacan por combinar exitosamente dos mecanismos de buacutesqueda exploracioacuten y explotacioacuten La exploracioacuten permite identificar aacutereas prometedoras del espacio de buacutesqueda y la explotacioacuten lleva a cabo una buacutesqueda especializada dentro de estas aacutereas para encontrar soluciones cercanas al oacuteptimo Su aplicacioacuten se extiende en praacutecticamente todas las aacutereas de la actividad humana como por ejemplo en salud educacioacuten ciencias industria economiacutea y defensa Los algoritmos evolutivos tambieacuten han sido utilizados en aacutereas emergentes como la ciencia de datos la inteligencia de negocios y el big data En estos algoritmos un conjunto de soluciones candidatas evoluciona para alcanzar una solucioacuten cercana al oacuteptimo por la aplicacioacuten de procedimientos que permiten recombinar y alterar sus valores En la jerga de los especialistas del aacuterea una solucioacuten candidata se conoce como individuo al conjunto de soluciones se denomina poblacioacuten y los procedimientos involucrados en el proceso evolutivo se identifican como operadores de seleccioacuten cruzamiento y mutacioacuten Comuacutenmente dos individuos son seleccionados y sus valores son recombinados y algunas veces mutados para crear nuevas soluciones candidatas Los nuevos individuos son considerados parte de una nueva poblacioacuten que sustituye a la anterior Entonces una secuencia de nuevas poblaciones son creadas hasta que una condicioacuten de teacutermino es alcanzada y la mejor solucioacuten de

las uacuteltima poblacioacuten es seleccionada como resultado del algoritmo Este proceso evolutivo es guiado por una funcioacuten de aptitud que determina la calidad de cada individuo en la poblacioacuten La figura 1 muestra el esquema general de un algoritmo evolutivo

Esquema general de un algoritmo evolutivo

A lo largo de su desarrollo histoacuterico varios tipos de algoritmos evolutivos han sido implementados difiriendo en la forma de representar a sus individuos y en la implementacioacuten de sus operadores geneacuteticos Auacuten cuando en los antildeos 50 varios autores introducen los teacuterminos evolucioacuten y proceso evolutivo en sus propuestas para resolver diversos problemas es en los antildeos 60 cuando se sientan las bases del desarrollo de los algoritmos evolutivos con la introduccioacuten de tres teacutecnicas la Programacioacuten Evolutiva las Estrategias Evolutivas y los Algoritmos Geneacuteticos Fogel propone en 1962 la Programacioacuten Evolutiva donde las soluciones candidatas se representan con maacutequinas de estados finitos y Rechenberg y Schwefel en 1965 desarrollan las Estrategias Evolutivas que codifican sus individuos con vectores de nuacutemeros reales Los Algoritmos Geneacuteticos introducidos en 1962 por Holland son sin duda el tipo de algoritmo evolutivo maacutes popular Estos algoritmos tradicionalmente utilizan una cadena binaria para representar a sus individuos aunque tambieacuten se han utilizado cadenas de enteros y secuencias de nuacutemeros reales Desarrollos posteriores a estas teacutecnicas han aportado al eacutexito de los algoritmos evolutivos destacaacutendose la Programacioacuten Geneacutetica los Algoritmos Coevolutivos los Algoritmos Culturales el algoritmo de Evolucioacuten Diferencial los Algoritmos de Estimacioacuten de Distribuciones la Evolucioacuten Gramatical y la Programacioacuten de Expresioacuten de Genes Cada uno de estos algoritmos tienen sus ventajas y sus propios desafiacuteos y han sido utilizados para resolver diferentes tipos de problemas La figura 2 muestra un esquema del desarrollo histoacuterico de los

algoritmos evolutivos En particular el algoritmo de Evolucioacuten Diferencial ha demostrado ser muy competitivo y exitoso para resolver problemas numeacutericos complejos en comparacioacuten con otros algoritmos

Liacutenea del tiempo del desarrollo de los algoritmos evolutivos

El algoritmo de Evolucioacuten Diferencial Evolucioacuten Diferencial (DE por sus siglas en ingleacutes) es un tipo de algoritmo evolutivo que fue originalmente disentildeado por Storn y Price en 1995 para resolver problemas de optimizacioacuten continua En particular en este algoritmo cada individuo usualmente se representa con un vector de valores continuos de paraacutemetros Ademaacutes en lugar de implementar los operadores de cruza y mutacioacuten tradicionales el algoritmo crea cada nuevo individuo con una combinacioacuten lineal de los valores de dos o maacutes individuos de la poblacioacuten actual que son seleccionados al azar La forma en que se implementan los operadores de cruza y mutacioacuten se ha utilizado en la literatura para identificar las diferentes variantes del algoritmo DEABC es la notacioacuten comuacutenmente usada para nombrar estas variantes donde A y B determinan el tipo de mutacioacuten implementado y C identifica el tipo de cruza implementado por la variante En particular A representa el procedimiento de seleccioacuten de los individuos para construir el individuo mutado y B es el nuacutemero de vectores diferencia usados para el operador de mutacioacuten DE puede considerarse un proceso de tres pasos que incluye una fase de inicializacioacuten el proceso evolutivo y el paso final que determina el resultado obtenido La fase de inicializacioacuten involucra la seleccioacuten y evaluacioacuten de un grupo de NP individuos que son generados aleatoriamente de un espacio de buacutesqueda finito los cuales se utilizan como poblacioacuten inicial del algoritmo conocido como Si para cada y son los valores miacutenimo y maacuteximo del -eacutesimo paraacutemetro en el valor del -eacutesimo individuo en la poblacioacuten inicial es determinado como sigue

x = (x1 x2 hellip xn) n

Ω sube ℝn

X0 j isin 1 hellip n xminj xmax

jj Ω xi

j i xi

donde es un nuacutemero aleatorio uniformemente distribuido dentro del rango El proceso evolutivo implementa un esquema iterativo para evolucionar la poblacioacuten inicial En cada iteracioacuten de este proceso conocido como una generacioacuten una nueva poblacioacuten de individuos es generada utilizando informacioacuten de la poblacioacuten previamente creada A diferencia de otros algoritmos evolutivos el orden de aplicacioacuten de los operadores geneacuteticos en el algoritmo de Evolucioacuten Diferencial es diferente Primero se aplica la mutacioacuten despueacutes la cruza y al final se lleva a cabo la seleccioacuten del mejor individuo Para cada en la generacioacuten es obtenido de la poblacioacuten y es utilizado para crear un nuevo vector aplicando los operadores de cruza y mutacioacuten Los vectores y son conocidos como el vector objetivo y el vector de prueba respectivamente Estos vectores son evaluados por el operador de seleccioacuten para actualizar la nueva poblacioacuten Los operadores de mutacioacuten cruza y seleccioacuten son descritos en detalle en los siguientes paacuterrafos En el paso final cuando una condicioacuten de paro es alcanzada el algoritmo devuelve el mejor individuo en la poblacioacuten actual La condicioacuten de paro maacutes comuacutenmente utilizada es comparar el nuacutemero de generaciones construidas contra un valor fijo pero otros criterios pueden ser implementados como aquellos descritos por Zielinski y Laur

Mutacioacuten Un vector mutado es construido al combinar los valores de varios individuos aleatoriamente seleccionados de El nuacutemero de individuos seleccionados para realizar la combinacioacuten depende del operador de mutacioacuten implementado por la variante del algoritmo En alguna de estas variantes el individuo con la mejor aptitud en la poblacioacuten es tambieacuten utilizado por el operador de mutacioacuten Entre los diferentes operadores de mutacioacuten descritos en la literatura destacan los siguientes

$$beginaligned

textDErand1quad v^i amp= x^r_1 + textF big( x^r_2 - x^r_3 big)labeleqmut_1

textDEbest1quad v^i amp= x^textbest + textF big( x^r_1 - x^r_2 big) labeleqmut_2

textDEcurrent-to-best1quad v^i amp= x^i + textF big( x^textbest - x^r_1big) + textF big( x^r_2 - x^r_3 big) labeleqmut_3

xij = xmin

j + r (xmaxj minus xmin

j )

r [0 1]

i isin 1 hellip NP g xi

Xgminus1 ui

xi ui

Xgω

vi xrj

Xgminus1

xbest Xgminus1

textDErand2quad v^i amp= x^r_1 + textF big( x^r_2 - x^r_3 big)+textF big( x^r_4 - x^r_5 big) labeleqmut_4

shortintertexty

textDEbest2quad v^i amp= x^textbest + textF big( x^r_1 - x^r_2 big )+ textF big( x^r_3 - x^r_4 big ) labeleqmut_5 endaligned$$

donde F es un valor definido por el usuario que representa un factor de escala aplicado para controlar la variacioacuten diferencial Storn y Price sentildealan que F puede fijarse entre 0 y 2 pero otros autores recomiendan valores entre 04 y 1 En la figura 3 se presenta un ejemplo de la aplicacioacuten del operador de mutacioacuten DErand1 En este ejemplo = = y = Usando F igual a 05 el vector mutado resultante es =

Ejemplo de la creacioacuten de un vector mutado con el esquema DErand1

La mutacioacuten aporta a las habilidades de explotacioacuten y exploracioacuten del meacutetodo Debido a que al inicio del proceso evolutivo los individuos se encuentran relativamente dispersos en el espacio

xr1 (1056 316) xr2

(253 903) xr3 (56 626) vi

(902 454)

de buacutesqueda la diferencia entre los vectores seleccionados es grande por lo que los vectores mutados pueden ubicarse en diferentes aacutereas del espacio de buacutesqueda pero a medida que el proceso evolutivo avanza las soluciones se vuelven maacutes cercanas y las diferencias entre ellos son maacutes pequentildeas lo que produce que los vectores mutados se encuentran concentrados en aacutereas promisorias del espacio de buacutesqueda

Cruza El operador de cruza se utiliza para combinar la informacioacuten entre el vector objetivo y el vector mutado para construir el vector de prueba Por cada o se seleccionan para construir usando un factor de cruza el cual es tambieacuten un valor especificado por el usuario Dos tipos de cruza se utilizan en este caso cruza binomial y cruza exponencial

Cruza binomial En este operador cada valor asignado a es seleccionado de o de comparando el valor CR con un valor seleccionado al azar Para garantizar que al menos un paraacutemetro de toma un valor de este operador utiliza un valor tambieacuten seleccionado al azar Formalmente la cruza binomial se define como

Tomando el vector mutado = del ejemplo de la figura 3 y un vector objetivo = en la figura 4 se muestra un ejemplo de la creacioacuten de un vector de prueba usando la cruza binomial El vector de prueba generado en este ejemplo es =

xr2 minus xr3

j isin 1 hellip n xij vi

jui CR isin [0 1]

ui vi xi

r isin [0 1] ui

vi l isin 1 hellip n

bin uij =

vij si r le CR or j = l

xij de otra forma

vi (902 454) xi

(406 766)ui (406 454)

Ejemplo de la creacioacuten de un vector de prueba usando la cruza binomial

Cruza exponencial Este operador de cruza asigna una secuencia de valores de a Los valores restantes que son asignados a son obtenidos de El tamantildeo de la secuencia se determina con dos valores 1) un iacutendice que representa la posicioacuten inicial de la secuencia en seleccionado aleatoriamente dentro del rango y 2) el nuacutemero de intentos consecutivos en los cuales determina la posicioacuten final de la secuencia como es definida en la Ec ([eqcr_exp]) La cruza exponencial es similar al operador de cruza de dos puntos introducido por Cavicchio

$$beginaligned

textexpquad u_j^i amp=

begincases

v_j^i amp textsi $ l leq j leq min (l+L-1n)$

vi ui

ui xi

l vi

1 hellip n L le n r le CR

x_j^i amp textde otra forma

endcases labeleqcr_expendaligned$$

Por ejemplo si se tienen dos vectores de cinco paraacutemetros = y = y se aplica el operador de cruza exponencial usando un factor de cruza de 06 entonces se debe obtener el valor de y despueacutes generar una secuencia de valores aleatorios para Si =2 y la secuencia de valores de es 06 03 04 y 06 y el vector de prueba que se construye es =

La cruza ayuda al algoritmo a mantener la diversidad de la poblacioacuten y eventualmente evitar que caiga en oacuteptimos locales El valor de CR es complicado de determinar pero algunos autores sentildealan que su valor puede ajustarse entre 03 y 09

Seleccioacuten Un torneo uno-a-uno es aplicado para determinar cual vector entre y es seleccionado como miembro de la nueva poblacioacuten Este esquema de seleccioacuten permite garantizar que el proceso evolutivo mantenga una mejora continua

Estructura del Algoritmo El Algoritmo [algDE] muestra la estructura de una implementacioacuten claacutesica del algoritmo Eacuteste requiere de tres paraacutemetros para controlar el proceso evolutivo (CR F y NP) y tambieacuten la seleccioacuten de un espacio de buacutesqueda para construir la poblacioacuten inicial y la definicioacuten del tamantildeo de individuo de una funcioacuten objetivo para evaluar cada individuo y de una condicioacuten de paro para finalizar el proceso evolutivo

Entrada Salida Un individuo generado aleatoriamente usando la Ec ([eqinicial]) Vector objetivo obtenido aleatoriamente de Vector mutado generado usando alguna de las Ecs ([eqmut_1])ndash([eqmut_5]) Vector de prueba construido usando alguna de las Ecs ([eqcr_bin])ndash([eqcr_exp])

DE tiene varias ventajas en comparacioacuten con otros algoritmos evolutivos como la simplicidad de su implementacioacuten su habilidad para producir mejores resultados que aquellos obtenidos por los demaacutes y su baja complejidad espacial

vi (24 36 12 78 02) xi

(34 96 12 52 31)l

r l rui (24 96 12 52 02)

xi ui

Xg

g larr 0 Xg larr xi larrXg larr Xg cup (i xi) g larr g + 1 Xg larr xi larr

Xgminus1 vi larrui larrXg larr Xg cup (i ui) Xg larr Xg cup (i xi) xbest

Modificaciones al algoritmo de Evolucioacuten Diferencial Aunque DE requiere de la definicioacuten de un nuacutemero menor de paraacutemetros en comparacioacuten con el nuacutemero de paraacutemetros requeridos por otros algoritmos evolutivos su desempentildeo es sensible a los valores seleccionados de CR F y NP Varios autores sentildealan que los valores adecuados para estos paraacutemetros pueden variar para diferentes problemas y es conocido que la definicioacuten de estos paraacutemetros depende de las caracteriacutesticas propias de cada problema Ademaacutes Lampinen y Zelinka sentildealan que este algoritmo puede presentar el problema de estancamiento debido a una incorrecta seleccioacuten de sus paraacutemetros El estancamiento en un algoritmo se presenta cuando eacuteste no converge a alguna solucioacuten y la poblacioacuten presenta una gran diversidad de individuos Por lo anterior la mayoriacutea de los estudios realizados para mejorar el desempentildeo del algoritmo de Evolucioacuten Diferencial se relacionan con teacutecnicas para ajustar los valores de sus paraacutemetros (F CR y NP) y para combinar las ventajas de las diferentes variantes del algoritmo usando un subconjunto de ellas en lugar de solamente aplicar una variante En los siguientes paacuterrafos se describen las propuestas para mejorar el desempentildeo del algoritmo que se consideran los maacutes representativos en la literatura especializada Para simplificar su descripcioacuten estas propuestas se agrupan de acuerdo al criterio utilizado Ajuste de paraacutemetros y combinacioacuten de variantes Por un lado debido a que F y CR son los paraacutemetros del algoritmo maacutes estudiados y donde maacutes variantes de mejora han sido desarrolladas estos estudios se agrupan en enfoques que usan paraacutemetros globales y enfoques que usan paraacutemetros para cada individuo Adicionalmente se presentan los enfoques relacionados con el ajuste del tamantildeo de la poblacioacuten y tambieacuten aquellos donde se modifica la forma que generar los vectores mutados dentro del proceso evolutivo La figura 5 presenta un esquema del desarrollo histoacuterico de estos enfoques

Liacutenea del tiempo de las modificaciones a DE

Ajuste de paraacutemetros globales En estos enfoques los operadores geneacuteticos utilizan los mismos valores para F y CR en todos los individuos de una misma poblacioacuten como se ilustra en la figura 6 Estos valores se actualizan al finalizar cada generacioacuten con el aacutenimo de mejorar las habilidades de exploracioacuten y explotacioacuten del algoritmo Dos enfoques se concentran en ajustar el valor de F manteniendo fijo el valor de CR En 2004 Ali y Toumlrn lo actualizan considerando la aptitud del mejor y del peor individuo en la poblacioacuten y Das et al en 2005 proponen dos enfoques para modificar su valor el primero lo modifica de forma aleatoria y el segundo reduce su valor de forma lineal conforme el proceso evolutivo avanza Por otro lado Liu y Lampinen en 2005 proponen un enfoque diferente al cual denominan FADE (Fuzzy Adaptive DE algorithm) En este algoritmo los valores de F y CR se ajustan usando un sistema de control loacutegico difuso El sistema utiliza las diferencias entre generaciones sucesivas tanto de los valores de los individuos como de sus valores de aptitud Finalmente Dra et al en 2015 proponen una versioacuten alternativa denominada SinDE (Sinusoidal DE) en donde los valores de F y CR se ajustan utilizando foacutermulas trigonomeacutetricas permitiendo cambiar la direccioacuten del vector diferencia dentro del operador de mutacioacuten

Esquema de ajuste de paraacutemetros globales del algoritmo

Ajuste de paraacutemetros asociados a cada individuo de la poblacioacuten En este tipo de algoritmos cada individuo de la poblacioacuten tiene asociado su propio conjunto de paraacutemetros como se muestra en la figura 7 Estos paraacutemetros se ajustan de forma independiente dentro del proceso evolutivo como se esquematiza en la figura 8

Paraacutemetros asociados a cada individuo de la poblacioacuten

En 2005 Omran et al asocian el valor de F a cada individuo de la poblacioacuten en su meacutetodo denominado SDE (self-adaptive DE) Este meacutetodo actualiza el valor de F combinando los valores de F de tres individuos de la poblacioacuten actual que son seleccionados aleatoriamente En 2006 Brest et al describen su meacutetodo denominado jDE donde los valores de F y CR se pueden modificar en cada iteracioacuten del proceso evolutivo basados en una decisioacuten estocaacutestica utilizando un par de umbrales previamente definidos En 2007 Zhang y Sanderson implementan un meacutetodo conocido como JADE donde F y CR son ajustados utilizando distribuciones normales independientes cuya media es calculada usando el promedio de los vectores mutados mejor adaptados en cada iteracioacuten En 2011 Ghosh et al actualizan los valores de estos paraacutemetros en base al valor de aptitud de los individuos en la poblacioacuten en un meacutetodo denominado FiADE (Fitness-Adaptive DE) Una versioacuten parecida es presentada en 2015 por Tang et al en el meacutetodo llamado IDE (DE with an individual-dependent mechanism) En 2011 Bi y Xiao describen el meacutetodo p-ADE (pbest vector-based self-adaptive DE variant) donde el vector mutado se crea usando el mejor individuo en la poblacioacuten y el mejor de los vectores que se utilizaron para crear al vector objetivo Los valores de F y CR de cada individuo son ajustados usando un factor asociado a las mejores y peores aptitudes de los individuos en la poblacioacuten En 2012 Islam et al introdujeron el meacutetodo llamado MDEpBX (modified DE with p-best crossover) donde se modifica la variante DEcurrent-to-best1 al utilizar el mejor elemento de un grupo de individuos seleccionados aleatoriamente de la poblacioacuten actual en lugar de usar el mejor individuo de la poblacioacuten Los valores de los paraacutemetros se ajustan en base a un par de distribuciones independientes que son actualizadas al final de cada generacioacuten En 2013 Tanabe y Fukunaga implementan el meacutetodo SHADE (Success-History based Adaptive DE) que basaacutendose en JADE actualiza los valores de F y CR usando una memoria de los vectores mutados que han sido exitosamente seleccionados previamente dentro del proceso evolutivo A partir de SHADE

varias versiones se han desarrollado como el meacutetodo L-convSHADE (SHADE using covariance matrix learning with Euclidean Neighborhood) y el meacutetodo LSHADE-SPA (LSHADE with semi parameter adaptation) En 2016 Leon y Xiong introducen una estrategia voraz para actualizar los valores de los paraacutemetros de cada individuo en el meacutetodo llamado GADE (Greedy Adaptive DE) Se utilizan los valores de los paraacutemetros de las soluciones vecinas para ajustar los paraacutemetros del nuevo vector mutado Finalmente Mohamed y Mohamed en 2017 proponen el meacutetodo denominado AGDE (Adaptive guided DE)

Esquema de ajuste de paraacutemetros para cada individuo de la poblacioacuten

Ajuste del tamantildeo de la poblacioacuten En los enfoques descritos previamente solamente se ajustan los valores de F y CR manteniendo el tamantildeo de la poblacioacuten constante Diversos estudios indican que el tamantildeo de la poblacioacuten tambieacuten afecta al desempentildeo de un algoritmo evolutivo por lo que existen trabajos que se han centrado en ajustar el tamantildeo de la poblacioacuten para garantizar la convergencia del algoritmo Existen algunos enfoques donde se ajusta el tamantildeo de la poblacioacuten y se describiraacuten a continuacioacuten En la figura 9 se muestra el esquema general en que estos enfoques ajustan el tamantildeo de la poblacioacuten durante el proceso evolutivo

Esquema general del ajuste del tamantildeo de la poblacioacuten en DE

En 2006 Teo describe el meacutetodo DESAP (Differential Evolution with self-adapting populations) donde el tamantildeo de la poblacioacuten se ajusta usando un factor distribuido uniformemente entre 0 y 1 En 2008 Brest y Sepesy Maučec presentan el algoritmo dynNP-DE (DE con NP dinaacutemico) donde van reduciendo a la mitad el tamantildeo de la poblacioacuten conforme el proceso evolutivo progresa Utilizando el nuacutemero total de evaluaciones y un paraacutemetro que indica el nuacutemero de posibles reducciones el algoritmo establece en queacute generaciones el algoritmo reduciraacute el tamantildeo de la poblacioacuten En 2014 Tanabe y Fukunaga presentaron una versioacuten con ajuste de poblacioacuten del meacutetodo SHADE denominada L-SHADE donde se aplica una reduccioacuten lineal del tamantildeo de la poblacioacuten previo a una ordenacioacuten a los individuos por su aptitud que permite eliminar solo

los individuos peor adaptados En 2017 Bujok y Tvrdiacutek describen el meacutetodo IDEbd (IDE with Population Size Adaptation) en donde el tamantildeo de la poblacioacuten es adaptado usando un factor calculado en base al nivel de diversidad de la poblacioacuten actual

Combinacioacuten de variantes Debido a la forma de combinar los individuos para crear el vector de prueba de cada una de las variantes de DE estaacutes presentan diferentes capacidades de exploracioacuten y explotacioacuten ademaacutes de que son maacutes efectivas para diferentes tipos de problemas Por ejemplo la variante DErand1 es mejor para explorar el espacio de buacutesqueda pero tiene una velocidad de convergencia lenta y DEbest1 converge maacutes raacutepido hacia soluciones cercanas a la oacuteptima pero solo para problemas con un uacutenico oacuteptimo global (unimodales) Debido a que usar diferentes estrategias de mutacioacuten durante diferentes momentos del proceso evolutivo pueden ser mejor que usar una sola variante durante todo el proceso varios autores se han enfocado en desarrollar estrategias para combinar diferentes variantes de DE y lograr con esto que cooperen en la creacioacuten de un mejor vector objetivo La figura 10 muestra un esquema general de la forma en que se aplican estas estrategias dentro del algoritmo de Evolucioacuten Diferencial

Esquema general de la estrategia de combinacioacuten de variantes de DE

En 2005 Qin y Suganthan describieron una versioacuten conocida como SADE (Self-Adaptive DE algorithm for numerical optimization) donde introducen un esquema que selecciona de forma alternada una de dos variantes del algoritmo de acuerdo a su tasa de eacutexito dentro del proceso evolutivo En 2009 Das et al presentaron el meacutetodo llamado DEGL (DE with Global and Local Neighborhoods) donde cada nuevo vector mutado se crea combinando dos vectores uno construido usando una vecindad del vector objetivo (vector local) y otro creado usando el mejor

individuo de la poblacioacuten (vector global) En 2011 Mallipeddi et al asignaron a cada individuo de la poblacioacuten el tipo de variante para generar el vector mutado y los valores para F y CR en el meacutetodo EPSDE (Ensemble of mutation strategies and parameters in DE) Tanto el tipo de variante como los valores de los paraacutemetros se escogen aleatoriamente de un grupo de ellos que es previamente definido Dependiendo del eacutexito de la aplicacioacuten de dichos valores eacutestos se pueden cambiar durante el proceso evolutivo Tambieacuten en ese mismo antildeo Wang et al en su meacutetodo CoDE (Composite DE) crean tres vectores para cada vector objetivo Cada vector es construido usando variantes diferentes y con paraacutemetros generados aleatoriamente El mejor de los tres vectores se usa como vector de prueba para aplicar el operador de seleccioacuten Adicionalmente Zhao et al implementaron un meacutetodo muy similar denominado SaDE-MMTS (SaDE with a modified multi-trajectory search) donde el vector mutado se selecciona de entre los vectores generados por tres diferentes variantes del algoritmo pero la seleccioacuten se hace en base a una probabilidad que iterativamente se ajusta en base a la cantidad de vectores mutados que son exitosamente seleccionados En 2017 Ghosh et al propusieron el meacutetodo NRDE (Noise Resilient DE) donde cada individuo puede ser mutado por alguna de dos variantes con igual probabilidad Los valores de F y CR son ajustados para cada individuo basado en un rango preestablecido previamente

Evolucioacuten Diferencial para otros tipos de problemas Aunque DE fue definido originalmente para resolver problemas de optimizacioacuten continua sin restricciones tambieacuten se ha utilizado con eacutexito para resolver otros tipos de problemas como aquellos donde los valores de las variables del problema son discretos donde el espacio de buacutesqueda estaacute limitado por una o maacutes restricciones y aquellos donde se manejan dos o mas objetivos Prado et al describe varias adaptaciones al algoritmo de Evolucioacuten Diferencial para problemas de optimizacioacuten combinatoria como aquellos que implementan una matriz de permutacioacuten los que obtienen una secuencia ordenada de valores y los que aplican una transformacioacuten de los valores continuos al espacio discreto En el caso de los problemas de optimizacioacuten con restricciones Mezura-Montes et al describen varios enfoques que se han utilizado para aplicar DE en este tipo de problemas como aquellos que utilizan teacutecnicas para eliminar o reparar soluciones infactibles y los que implementan teacutecnicas de penalizacioacuten Finalmente para problemas de optimizacioacuten multi-objetivo Mezura-Montes et al resume las principales teacutecnicas basadas en el algoritmo de Evolucioacuten Diferencial para manejar dos o maacutes objetivos como los enfoques basados en dominancia de Pareto y en jerarquizacioacuten de Pareto asiacute como los meacutetodos que no se basan en Pareto y los enfoques que combinan diferentes estrategias Hoy en diacutea existen tambieacuten algoritmos basados en descomposicioacuten y en indicadores de desempentildeo

DE en Meacutexico En el paiacutes se tiene mucha actividad en investigacioacuten relacionada con DE particularmente el grupo EVOCINV de CINVESTAV Zacatenco estudia a este algoritmo en optimizacioacuten multi-objetivo y temas afines al manejo de muacuteltiples objetivos como algoritmos basados en indicadores modelos subrogados operadores de seleccioacuten operadores de variacioacuten adaptacioacuten de paraacutemetros entre otros temas

En el Centro de Investigacioacuten en Inteligencia Artificial de la Universidad Veracruzana se desarrolla investigacioacuten en optimizacioacuten con restricciones usando DE aplicaciones de DE en mecatroacutenica y en control automaacutetico DE y buacutesqueda local optimizacioacuten dinaacutemica multi-objetivo DE asistida por subrogados en espacios restringidos entre otras temaacuteticas

Recientemente en el Instituto Tecnoloacutegico de Veracruz se desarrollan aplicaciones de DE en aprendizaje automaacutetico en el Centro de Innovacioacuten y Desarrollo Tecnoloacutegico en Coacutemputo (CIDETEC) del IPN se aplica DE en problemas de mecatroacutenica y en el Centro de Investigacioacuten en Matemaacuteticas se aplica en procesos quiacutemicos

Todas estas menciones soacutelo son representativas pues la DE al ser un algoritmo faacutecil de implementar y que provee resultados competitivos ha sido particularmente atractiva para su estudio y aplicacioacuten en instituciones mexicanas

Conclusiones El algoritmo de Evolucioacuten Diferencial es un enfoque exitoso para resolver problemas de optimizacioacuten continua sin restricciones Los individuos que evolucionan al aplicar los operadores de este algoritmo tradicionalmente se codifican como secuencias de nuacutemeros reales pero otras representaciones se han utilizado tambieacuten Ademaacutes con la inclusioacuten de diversas estrategias para manejar varios objetivos y conjuntos de restricciones DE se puede aplicar para resolver otro tipo de problemas DE se distingue por depender de la definicioacuten de un menor nuacutemero de paraacutemetros que otros algoritmos evolutivos pero esto tambieacuten lo hace muy sensible a la definicioacuten de los valores para esos paraacutemetros Diversos variantes del algoritmo han sido desarrolladas para mejorar el desempentildeo del algoritmo generando un abanico de alternativas para resolver casi cualquier tipo de problema El estudio del comportamiento de este algoritmo y la definicioacuten de nuevas propuestas de desarrollo sin duda aportaraacute a la resolucioacuten maacutes eficiente de problemas complejos que interesan a la comunidad cientiacutefica

Para saber maacutes Para aquellos lectores que deseen abundar en el tema las siguientes referencias sobre DE pueden ser de intereacutes

bull El libro sobre DE escrito por los autores originales del algoritmo

bull Una revisioacuten muy completa de la literatura de DE y su versioacuten actualizada

bull Otra revisioacuten de la literatura acompantildeada de un estudio experimental

bull Una revisioacuten de estudios teoacutericos sobre DE

bull Un libro editado con temas diversos y recientes sobre DE

bull DE para resolver problemas de optimizacioacuten multi-objetivo

bull DE y su papel importante en espacios restringidos

Algoritmos Geneacuteticos Paralelos Alicia Morales-Reyes

Introduccioacuten Las teacutecnicas evolutivas son aptas para su paralelizacioacuten tanto a nivel algoriacutetmico como a nivel de ejecucioacuten En particular los algoritmos geneacuteticos (AGs) han sido investigados desde esta perspectiva y esquemas paralelos han surgido desde el inicio de su desarrollo La paralelizacioacuten de los AGs persigue la mejora de su desempentildeo algoriacutetmico en teacuterminos de eficiencia y eficacia y la reduccioacuten de tiempos de ejecucioacuten en sus distintos dominios de aplicacioacuten

Una clasificacioacuten general de los Algoritmos Geneacuteticos Paralelos (AGPs) los agrupa por su granularidad en AGPs de grano fino y grueso Los AGPs de grano grueso dividen la poblacioacuten agrupada en panmixia en varias sub-poblaciones permitiendo la migracioacuten de individuos entre 1

eacutestas De esta forma se reduce el nuacutemero de individuos en cada unidad de procesamiento En consecuencia se establece un fuerte viacutenculo entre la algoritmia y la implementacioacuten de estas teacutecnicas Sin embargo utilizar una uacutenica unidad de procesamiento para la evolucioacuten de varias sub-poblaciones ha sido un contexto tambieacuten explorado como un mecanismo de mejora del desempentildeo algoriacutetmico

Los AGPs de grano grueso tambieacuten llamados Algoritmos Geneacuteticos distribuidos (AGds) han permitido la exploracioacuten de nuevas vertientes de la versioacuten estaacutendar de los AGs Tener diferentes paraacutemetros de configuracioacuten para realizar las operaciones geneacuteticas implementar granularidades distintas incorporar el operador de migracioacuten han sido caracteriacutesticas a explorar que pueden culminar en un mejor desempentildeo de los AGs

En la figura 1 se muestra un diagrama de un AG distribuido Cada poblacioacuten es centralizada y se necesitan definir criterios en teacuterminos de tasa y frecuencia de migracioacuten Tambieacuten se necesita definir si la migracioacuten seraacute siacutencrona o asiacutencrona Herrera et al presentaron un esquema de un AGP distribuido con poblaciones heterogeacuteneas Utilizaron la estructura de un hipercubo posicionando en cada veacutertice una sub-poblacioacuten Dependiendo de la ubicacioacuten de cada sub-poblacioacuten la buacutesqueda implica mayor explotacioacuten o exploracioacuten Esto se logra de manera interna viacutea la configuracioacuten de los operadores geneacuteticos De esta forma se procura mantener la diversidad de soluciones de forma global y asiacute mejorar la calidad de las soluciones encontradas

Una poblacioacuten en panmixia es aquella donde todos sus individuos sin restricciones pueden 1

reproducirse entre si

Diagrama poblacional de un AGP distribuido o de grano grueso

La principal diferencia entre los AGP de grano fino con respecto a los AGP distribuidos o de grano grueso es la descentralizacioacuten de su poblacioacuten y en consecuencia la localizacioacuten del proceso de seleccioacuten de individuos En la figura 2 se muestra un esquema poblacional de un AGP de grano fino tambieacuten conocido como AG celular (AGc) De manera comuacuten se utiliza una topologiacutea de malla conectada de forma toroidal como lo muestra la figura Un individuo de la poblacioacuten se ubica en cada cruce de la malla y alrededor de eacutel se define un vecindario cuyas soluciones participan en los procesos de seleccioacuten recombinacioacuten y mutacioacuten para la evolucioacuten de eacuteste En la figura 2 se ilustra un vecindario tipo Moore con 9 individuos

En los AGs celulares cada individuo o solucioacuten interactuacutea con sus vecinos maacutes cercanos logrando de esta forma el esparcimiento suave de las soluciones a traveacutes de la malla debido al traslape de vecindarios En los AGs distribuidos la asociacioacuten entre soluciones se pierde en comparacioacuten con los AGs celulares Esta es otra caracteriacutestica importante de los AGc que permite la exploracioacuten global del espacio de buacutesqueda mientras que localmente los individuos explotan la regioacuten cercana a su ubicacioacuten

Diagrama poblacional del AG celular o de grano fino

La paralelizacioacuten de los algoritmos evolutivos en particular de los algoritmos geneacuteticos persigue distintos objetivos Por ejemplo la evolucioacuten simultaacutenea de sub-poblaciones lo cual permite descubrir nueva rutas para solucionar un problema y en consecuencia reducir el nuacutemero de generaciones para converger a la solucioacuten oacuteptima Aunado a esto los tiempos de procesamiento pueden tambieacuten acortarse La paralelizacioacuten de AGs se puede realizar a distintos niveles Asiacute mismo es posible la combinacioacuten de sub-poblaciones con distintas dinaacutemicas internas Por ejemplo algunas sub-poblaciones podriacutean evolucionar en un esquema de panmixia y otras en un esquema celular Este tipo de esquemas poblacionales se discutiraacuten a detalle en la subseccioacuten 11

Una operacioacuten importante en los procesos evolutivos de los AGs distribuidos es la migracioacuten de los individuos entre sub-poblaciones Durante el proceso de buacutesqueda uno o maacutes individuos son seleccionados para migrar y reemplazar a otros individuos de otras sub-poblaciones Los criterios de migracioacuten requieren no soacutelo de la tasa y la frecuencia de migracioacuten sino tambieacuten de criterios de seleccioacuten y reemplazo de individuos al llegar a las otras sub-poblaciones El proceso de migracioacuten puede realizarse de forma siacutencrona o asiacutencrona La migracioacuten siacutencrona supone que todas las sub-poblaciones estaacuten en el mismo estado de la buacutesqueda y la migracioacuten de individuos entre sub-poblaciones ocurre de manera simultaacutenea Por otro lado la migracioacuten asiacutencrona supone que cada sub-poblacioacuten determina el momento en que los individuos deben migrar En la sub-seccioacuten 24 se aborda el efecto del sincronismo en los mecanismos de migracioacuten

Cantuacute-Paz et al presentoacute un estudio completo en AGs distribuidos tanto desde el punto de vista teoacuterico como del praacutectico Debido al nuacutemero de paraacutemetros que se deben definir en los AGds Cantuacute-Paz et al iniciaron con la solucioacuten de un problema de optimizacioacuten para determinar el tamantildeo adecuado de las sub-poblaciones para alcanzar una cierta calidad de la misma Utilizaron un modelo matemaacutetico considerando la hipoacutetesis de los bloques constructores propuesta por Holland y extendida por Goldberg El estudio se verifica en varios problemas con un grado alto de precisioacuten mostraacutendose una buena respuesta a la escalabilidad

Para determinar escenarios de operacioacuten liacutemite en teacuterminos de eficiencia analizaron la interaccioacuten de las sub-poblaciones y su efecto en la calidad de las soluciones Previamente se ha investigado el cambio en la calidad de las soluciones debido a la forma de interaccioacuten de las sub-poblaciones Tener sub-poblaciones evolucionando de manera independiente con muy poca o nula interaccioacuten entre ellas resulta en soluciones menos precisas mientras mejores soluciones se obtienen viacutea el esquema de panmixia tradicional Sin embargo cuando se definen criterios de migracioacuten adecuados y un cierto nuacutemero de soluciones migran entre sub-poblaciones a una frecuencia media o baja el desempentildeo en general de los AGds mejora alcanzando en un nuacutemero de casos aceleraciones super-lineales y mejor calidad de las soluciones encontradas Se puede inferir entonces la importancia del operador de migracioacuten el cual seraacute analizado en detalle en la sub-seccioacuten 12

AGds homogeacuteneos y heterogeacuteneos Existen distintos escenarios en los que se pueden definir y aplicar AGds con esquemas poblaciones homogeacuteneos y heterogeacuteneos es decir combinaciones de poblaciones centralizadas y descentralizadas A nivel algoriacutetmico se puede definir la misma o una diferente configuracioacuten de operadores geneacuteticos A partir de esas configuraciones distintas diferentes configuraciones de paraacutemetros se pueden determinar para ejecutar la buacutesqueda en cada sub-poblacioacuten Por ejemplo distintas definiciones del operador de recombinacioacuten o bien de las probabilidades de mutacioacuten pueden operar sobre los individuos de cada sub-poblacioacuten La comunidad en el aacuterea ha incluso explorado escenarios donde las soluciones se representan de manera distinta entre sub-poblaciones Por otro lado a nivel de implementacioacuten se han explorado esquemas con sub-poblaciones heterogeacuteneas Por ejemplo Alba et al realizoacute un estudio en distintas plataformas de coacutemputo ejecutando sub-poblaciones en panmixia y celulares

Como se puede apreciar el desarrollo de un esquema de AG paralelos ya sean distribuidos o descentralizados conlleva la definicioacuten de un nuacutemero de paraacutemetros que afectaraacute de manera importante su desempentildeo algoriacutetmico Otro ejemplo es la solucioacuten de problemas de optimizacioacuten en espacios continuos que se han abordado a traveacutes de un esquema de AGP utilizando una versioacuten mejorada con cromosomas codificados con nuacutemeros reales Para esto se

definioacute una topologiacutea doble con un hipercubo que se comparoacute con una topologiacutea sencilla Las sub-poblaciones ubicadas en sus veacutertices promoviacutean mayor o menor exploracioacuten u explotacioacuten de las regiones viacutea la configuracioacuten de los operadores geneacuteticos La migracioacuten entre las sub-poblaciones afectoacute directamente los tiempos de ejecucioacuten por medio de la reduccioacuten del nuacutemero de evaluaciones La capacidad de buacutesqueda de la topologiacutea doble superoacute a la de la topologiacutea sencilla

Cuando pensamos en paralelizar alguna teacutecnica algoriacutetmica nos viene a la mente acelerar los procesos de ejecucioacuten Sin embargo la paralelizacioacuten de los algoritmos evolutivos podriacutea mejorar tanto los procesos de buacutesqueda algoriacutetmica como los tiempos de ejecucioacuten Es asiacute que a nivel de implementacioacuten se utilizado coacutemputo heterogeacuteneo para la evaluacioacuten de esquemas de AGPs Por ejemplo Alba et al propusieron utilizar una plataforma heterogeacutenea en la cual distintos sistemas operativos con distintas restricciones de ejecucioacuten implementaban un modelo de AGPs distribuidos Las sub-poblaciones se conectaron en un arreglo de anillo unidireccional cada sub-poblacioacuten ejecutaba un modelo poblacional de estado estable A cada generacioacuten se produciacutea un individuo que reemplazaba a la peor solucioacuten obtenida Se establecioacute un esquema de migracioacuten asiacutencrona que demostroacute mejores resultados ver 3 En general se observoacute un mejor desempentildeo de la ejecucioacuten del esquema paralelo en la plataforma heterogeacutenea en comparacioacuten con la homogeacutenea se redujo el nuacutemero de evaluaciones debido a la explotacioacuten de soluciones a distintas tasas de migracioacuten

AGP con topologiacutea poblacional de anillo unidireccional implementada en una plataforma de coacutemputo heterogeacutenea La migracioacuten entre sub-poblaciones es asiacutencrona y responde a una dinaacutemica de estado estable

Migracioacuten en AGPs Como se explicoacute anteriormente la incorporacioacuten de un nuevo operador llamado migracioacuten se hace latente en los esquemas paralelos de los AGs En los esquemas de grano grueso donde se tienen sub-poblaciones de grano fino y grueso evolucionando simultaacuteneamente la migracioacuten se debe considerar como un mecanismo que introduce nuevos individuos y por lo tanto promueve o restaura la diversidad entre sub-poblaciones De forma distinta en los AGs celulares o de grano fino un mecanismo de migracioacuten impliacutecito trabaja durante el proceso de buacutesqueda debido al traslape de vecindarios que permite la difusioacuten de soluciones a lo largo y ancho de la topologiacutea definida para la poblacioacuten Este mecanismo de migracioacuten es inherente a la estructura de los AGs celulares y no requiere de un paraacutemetro de frecuencia o tasa de migracioacuten o ninguacuten otro mecanismo de seleccioacuten y reemplazo

Revisaremos ahora evaluaciones empiacutericas que se han realizado a criterios de migracioacuten definidos para AGPs de grano grueso Aunque estos criterios son definidos para este tipo de esquemas paralelos tambieacuten es posible aplicar un segundo criterio migratorio en AGs celulares ademaacutes del mecanismo natural inherente a estos

Para establecer un criterio de migracioacuten adecuado y mejorar el desempentildeo algoriacutetmico de los AGPs de grano grueso se examinaron los casos liacutemite para aplicar el proceso de migracioacuten Se

sugiere mantener un cierto nivel de aislamiento entre las sub-poblaciones Si la sub-poblacioacuten evoluciona en completo aislamiento las mejoras en diversidad son miacutenimas y por ende la capacidad de buacutesqueda se ve reducida Por otro lado si se aplica el operador de migracioacuten con una frecuencia maacutexima el costo computacional se incrementa de manera significativa Por lo tanto el objetivo de la migracioacuten es evitar el aislamiento entre sub-poblaciones mientras se mantiene un nivel aceptable de comunicacioacuten entre eacutestas

Es posible calcular experimentalmente el nuacutemero adecuado de unidades de procesamiento para minimizar el tiempo de ejecucioacuten de un esquema de AGPs El anaacutelisis considera casos liacutemite en teacuterminos de conectividad entre sub-poblaciones es decir el caso de tener frecuencias de migracioacuten miacutenimas y maacuteximas La conclusioacuten teoacuterica para una poblacioacuten indica que el nuacutemero

oacuteptimo de unidades de procesamiento estaacute dado por donde es el tamantildeo de la

poblacioacuten es el tiempo de coacutemputo de la funcioacuten objetivo de un individuo y es el tiempo promedio de comunicacioacuten para una unidad de procesamiento Esto quiere decir que dividiendo una poblacioacuten en sub-poblaciones distribuidas en muacuteltiples unidades de procesamiento reduce el tiempo global de ejecucioacuten La misma conclusioacuten se logroacute para un esquema de muacuteltiples poblaciones considerando ademaacutes la evaluacioacuten de funciones objetivo separables Esto quiere decir que utilizar un nuacutemero de unidades de procesamiento en un esquema evolutivo paralelo tiene un impacto positivo en la reduccioacuten de los tiempos de ejecucioacuten

Es tambieacuten importante analizar el efecto de los criterios de migracioacuten que se utilizan en esquemas de AGPs de grano grueso El objetivo principal es determinar coacutemo el operador de migracioacuten afecta la presioacuten de seleccioacuten inducida e impliacutecitamente poder explicar las aceleraciones super-lineales que se pueden modelar para este tipo de esquemas La forma en que los individuos se seleccionan para migracioacuten y reemplazo tienen un efecto considerable en la presioacuten de seleccioacuten y se ha observado que tasas altas de migracioacuten producen un incremento en eacutesta Tener una presioacuten de seleccioacuten alta afecta la buacutesqueda al producir una convergencia prematura a un oacuteptimo local

Aunque la operacioacuten de migracioacuten se ha investigado principalmente para esquemas de AGPs de grano grueso tambieacuten se ha revisado su efecto en AGPs de grano fino considerando tanto el mecanismo de migracioacuten impliacutecita viacutea el traslape de vecindarios como la definicioacuten de criterios para migracioacuten de individuos desde y hacia distintas posiciones de la topologiacutea de malla definida para la poblacioacuten Por ejemplo se han utilizado estructuras de aacuterboles binarios para dividir una topologiacutea de malla de dos dimensiones en formaciones conceacutentricas de individuos definiendo para cada formacioacuten criterios de migracioacuten distintos El intercambio de individuos entre estas

OnTf

Tcn

Tf Tc

formaciones definidas por su estructura alenta el proceso de buacutesqueda permitiendo una mayor exploracioacuten Los resultados mostraron un mejor desempentildeo en la solucioacuten de problemas de optimizacioacuten con restricciones el operador de mutacioacuten se aplica para evitar la presencia de super individuos que pueden dirigir la buacutesqueda al estancamiento conquistando la topologiacutea de malla mucho maacutes raacutepido En la siguiente seccioacuten se abordaraacute el comportamiento de los AG celulares o de grano fino

AGs celulares o de grano fino Los AGs celulares o de grano fino se construyen a partir de poblaciones descentralizadas donde los individuos interactuacutean con otros individuos ubicados dentro de un vecindario definido Es decir interactuacutean con los vecinos maacutes cercanos Usualmente los AGCs se implementan en topologiacuteas de mallas de -dimensionales manteniendo conexiones toroidales entre los cruces de malla utilizando formas comunes como una malla lineal cuadrada o rectangular

El procesamiento de los AG celulares corresponde al de los Autoacutematas Celulares (ACs) Estos determinan una regla global que define un comportamiento especiacutefico que se construye a partir de reglas locales Se han explorado ACs de una dos y tres dimensiones en combinacioacuten con AGs con la finalidad de evolucionar el comportamiento global requerido Esta combinacioacuten de un AC y un AG originoacute el nombre de AG celular con la diferencia de tener una representacioacuten maacutes elaborada en cada cruce de la malla cromosomas Se observoacute que la informacioacuten de las reglas locales o individuos alcanzaba distancias lejanas dentro de la malla definida esto debido al traslape de los vecindarios De esta forma se determinoacute que la informacioacuten se mueve entre vecindarios permitiendo acelerar el proceso de crear nuevos comportamientos ad-hoc al problema que se esteacute solucionando y con una peacuterdida miacutenima de informacioacuten

El pseudocoacutedigo [algCellularGeneticAlgorithmPseudocode] es el estaacutendar de un AG celular En un primer paso se genera una poblacioacuten inicial de forma aleatoria ubicando cada individuo en un cruce de la topologiacutea de malla Esta poblacioacuten inicial se evaluacutea de acuerdo a la funcioacuten objetivo del problema a resolver Posteriormente da inicio el ciclo reproductivo principal Se define un vecindario local con individuos ubicados de forma cercana A partir de eacutestos y del individuo ubicado en el cruce de la malla se seleccionan a los padres para reproducirse Existen distintos meacutetodos de seleccioacuten que se utilizan en los AG celulares Se pueden utilizar los que comuacutenmente se aplican en los AGs con poblaciones centralizadas como el torneo binario ruleta o seleccioacuten determinista Existen tambieacuten otros meacutetodos especiacuteficos a los AG celulares como son la seleccioacuten ceacutentrica o anisotroacutepica Una vez seleccionados los padres se recombinan y los hijos se mutan No hay diferencia entre la aplicacioacuten de los operadores de recombinacioacuten y mutacioacuten con respecto a los AG tradicionales

n

Debido a la descentralizacioacuten de la poblacioacuten el reemplazo de eacutesta puede ocurrir de forma siacutencrona o asiacutencrona El reemplazo asiacutencrono requiere del almacenaje temporal de la poblacioacuten hasta que todos los individuos concluyen su ciclo reproductivo El reemplazo siacutencrono requiere de la definicioacuten del criterio para implementarla Los distintos criterios que se han utilizado para el reemplazo se explicaraacuten en la sub-seccioacuten 24

poblacioacuten inicial evaluacioacuten seleccioacuten de padres vecinario L5 recombinacioacuten mutacioacuten evaluacioacuten reemplazo

Explotacioacutenexploracioacuten por propiedades estructurales Debido a la descentralizacioacuten de la poblacioacuten y la definicioacuten de una topologiacutea de malla las caracteriacutesticas estructurales de los AG celulares tienen un impacto importante en los procesos de buacutesqueda La forma y la dimensioacuten de la topologiacutea el nuacutemero de individuos dentro del vecindario entre otras son caracteriacutesticas de la estructura que necesitan definirse Ademaacutes otras operaciones durante el ciclo evolutivo como el proceso de seleccioacuten local el reemplazo de individuos criterios de migracioacuten entre otras estaacuten tambieacuten asociadas a estas caracteriacutesticas de estructura

La topologiacutea de malla que es comuacutenmente utilizada en los AG celulares se muestra en la figura 2 Se ha reportado que distintas formas de malla en combinacioacuten con distintos tipos de vecindarios inducen una mayor o menor presioacuten de seleccioacuten Para modelar el efecto de ambas estructuras se utiliza un patroacuten de dispersioacuten con puntos (la posicioacuten de cada solucioacuten en la malla) a partir de una posicioacuten central con coordenadas Se calcula la medida de dispersioacuten debido a que otras medidas como el radio de una circunferencia indicariacutea el mismo valor para topologiacuteas distintas La relacioacuten entre el vecindario y la topologiacutea o radii se calcula de la siguiente forma

donde y La razoacuten o radii entre el vecindario y la topologiacutea de

malla estaacute dada por

(x) larr random(x0) (f ) larr evaluat ion(x)(f1 f2) larr seleccion(f fN fE fS fW)(x1 x2) larr seleccion(x xN xE xS xW) (x prime1 x prime2 ) larr recombinacion(x prime1 x prime 2 )

(x1Prime x2Prime) larr mutacion(x prime1 x prime2 ) (fnew) larr evaluacion(x1Prime x2Prime)(f x) larr reemplazo(fnew xnew)

p(x0 y0)

D =sum (xi minus x)2 + sum (yi minus y)2

p

(x ) =sump

i=1 xi

p (y) =sump

i=1 yi

p

Esta medida se conoce como la razoacuten vecindario-malla (RVM) Formas y tamantildeos diferentes de vecindarios y topologiacuteas proporcionan una medida distinta de RVM ver figura 4

Ejemplos de formas de vecindarios y topologiacuteas de malla

NGR =Dvecindario

Dmalla

Razoacuten vecindario-malla para diferentes topologiacuteas de malla y tamantildeos de poblacioacuten con un vecindario L5

[figL5_variableLattice]

Una topologiacutea de malla cuadrada con un vecindario es una configuracioacuten comuacutenmente utilizada en la implementacioacuten de AG celulares En la figura [figL5_variableLattice] la razoacuten vecindario-malla se ilustra para distintos tamantildeos de poblacioacuten con vecindario Tres formas de malla se evaluacutean cuadrada rectangular y lineal Las curvas de la RVM muestran razones altas para mallas cuadradas y razones bajas para topologiacuteas lineales La RVM se asocia a la presioacuten de seleccioacuten inducida en AG celulares debido a sus caracteriacutesticas estructurales Para comprender esto de mejor manera otro concepto importante es necesario el nuacutemero de generaciones que toma al mejor individuo de una poblacioacuten inicial esparcir su solucioacuten en todas las direcciones de la topologiacutea de malla es decir conquistarla a partir de aplicar uacutenicamente el operador de seleccioacuten Un nuacutemero de generaciones alto indica una baja presioacuten de seleccioacuten es decir una buacutesqueda principalmente explorativa Por el contrario un nuacutemero de reducido de generaciones implica una alta presioacuten de seleccioacuten y por tanto una buacutesqueda orientada a la explotacioacuten del espacio de buacutesqueda

L5

L5

Los AG celulares son teacutecnicas flexibles con un nuacutemero de paraacutemetros que pueden configurarse Por ejemplo es posible pensar en modificar en tiempo de buacutesqueda las topologiacuteas de malla tamantildeos y formas de vecindarios como una forma de control de la presioacuten de seleccioacuten inducida Las modificaciones de la configuracioacuten pueden realizarse de manera constante definiendo un nuacutemero de generaciones o bien de forma adaptativa midiendo generacioacuten a generacioacuten el comportamiento por ejemplo de la diversidad en el espacio de fenotipos y genotipos modificando entonces las configuraciones de estructura de manera que se promueva la exploracioacuten o la explotacioacuten del espacio de buacutesqueda

Presioacuten de seleccioacuten por caracteriacutesticas estructurales

El matemaacutetico belga Pierre Verhulst en el siglo XIX estudioacute modelos logiacutesticos de crecimiento para describir sistemas bioloacutegicos bajo condiciones de recursos limitados Considerando una poblacioacuten en panmixia de cierto tamantildeo y un nuacutemero de copias del mejor individuo en un tiempo discreto dado por la tasa de crecimiento se expresa a traveacutes del siguiente modelo de recurrencia discreto

$$beginaligned

N left( 0 right) = 1 quad quad quad quad quad quad quad quad quad quad quad quad notag

N left( t right) = N left( t - 1 right) + p_s tamPob N left(t-1right) left(1 - left(frac1tamPobright) N left(t-1right)right)endaligned$$

donde es la probabilidad de seleccioacuten de un individuo y se puede aproximar por la ecuacioacuten logiacutestica continua

donde es la probabilidad Aunque se obtienen curvas de crecimiento similares el comportamiento en poblaciones estructuradas o descentralizadas no es exponencial sino polinomial como fue sugerido por Spiessen y Manderick in De este modo las caracteriacutesticas estructurales necesitan considerarse en el modelo matemaacutetico de la tasa de crecimiento para AG celulares Si se evaluacutea un caso liacutemite donde el mejor individuo dentro del vecindario se selecciona siempre para reemplazar al individuo actual o central (al vecindario) es decir

tamPobt N(t)

ps N(t)

N(t) =tamPob

1 + ( tamPobN(0) minus 1)eminusαt

α ps

ps = 1

y se define un tamantildeo de poblacioacuten donde determina una topologiacutea de malla cuadrada y un vecindario local con radio La tasa de crecimiento del mejor individuo estaacute dada por

$$beginaligned

N left( 0 right) = 1 quad quad quad quad quad quad quad quad quad quad quad quad notag

N left( t right) = N left( t-1 right) + 4r^2t - 2rleft( r+1 right) quad 0 leq t leq fracleft(sqrttamPob-1right)2

N left( t right) = N left( t-1 right) - 4r^2t + 4r sqrttamPob - 2rleft(r+1right) quad t geq fracleft(sqrttamPob-1right)2 notagendaligned$$

que en su forma cerrada queda como

$$beginaligned

N left( t right) = 2r^2t^2 + 2r left(2r + 1 right)t + 1 quad 0 leq t leq fracleft(sqrttamPob-1right)2

N left( t right) = -2r^2t^2 + 2rleft(2sqrttamPob - 3r - 1 right)t + 1 quad t geq fracleft(sqrttamPob-1right)2 notagendaligned$$

En la figura 5 se ilustra la razoacuten de crecimiento para una poblacioacuten de individuos con un vecindario local tipo ver figura 4

Tasa de crecimiento teoacuterica en una topologiacutea de malla toroidal cuadrada y un vecindario local tipo Moore con probabilidad de seleccioacuten

Si se considera la probabilidad variable y cada individuo tiene probabilidades de seleccioacuten distintas probabilidad para el individuo central y para cada individuo dentro de un vecindario tipo El modelado de la recurrencia exacta se vuelve muy complicado Para poder construir un modelo completo se recurre a modelos maacutes simples en donde la tasa de crecimiento se describe como la expansioacuten de un cuadrado rotado con una

tamPob tamPob times tamPobr

81C9

ps = 1

psp0 p1 p2 p3 p4 p8

C9

longitud por lado de y diagonal La tasa de crecimiento de los

individuos con probabilidad variable contenidos dentro del cuadrado rotado estaacute dada por la siguiente recurrencia

$$beginaligned

N left( 0 right) = 1 quad quad quad quad quad quad quad quad quad quad quad quad notag

N left( t right) = N left( t-1 right) + 4p_i sqrtfracNleft(t-1right)2 quad N left( t right) leq fractamPob2

N left( t right) = N left( t-1 right) + 4p_i sqrttamPob - N left( t-1 right) quad N left( t right) gt fractamPob2 notagendaligned$$

Encontrar una forma cerrada de este modelo es una tarea complicada de acuerdo a autores reconocidos del aacuterea En la figura 6 se muestra la tasa de crecimiento probabilista como ejemplo de la dificultad que representa su modelado matemaacutetico

Tasa de crecimiento probabilista para una topologiacutea de malla toroidal cuadrada con vecindario local y probabilidad de seleccioacuten variable

Anaacutelisis empiacuterico

Es posible tener una aproximacioacuten empiacuterica del tiempo para el dominio de la topologiacutea de malla A continuacioacuten se presenta un ejemplo utilizando como meacutetodo de seleccioacuten local torneo binario y ejecuciones por configuracioacuten fueron evaluadas En la figura [figL5_growthRates] se muestran las distintas tasas de crecimiento para la conquista de la malla considerando un tamantildeo de la poblacioacuten de individuos con las siguientes formas de topologiacutea de malla 1)

cuadrada 2) rectangular y 3) lineal La diferencia entre los

tiempos de dominio es evidente Topologiacuteas de malla lineales proveen una difusioacuten maacutes lenta del

s = N(t) d =N(t)

2pi

ps

50

400

400 times 400 10 times40010

4 times400

4

mejor individuo para conquistar la malla y por ende menor presioacuten de seleccioacuten y un comportamiento principalmente explorativo Por otro lado en topologiacuteas de malla cuadradas la solucioacuten del mejor individuo conquista la malla raacutepidamente en un nuacutemero menor de generaciones Es decir tiene un comportamiento con alta presioacuten de seleccioacuten y por ende una buacutesqueda caracterizada por una mayor explotacioacuten del espacio de buacutesqueda Desde este punto de vista se ha investigado tambieacuten la posibilidad de modificacioacuten dinaacutemica de las propiedades estructurales en tiempo de buacutesqueda Se han reportado mejores desempentildeos algoriacutetmicos bajo estos criterios

Tasas de crecimiento promedio del mejor individuo en topologiacuteas de malla cuadrada rectangular y lineal con vecindario La tasa promedio de crecimiento se calcula con base en 50 experimentos y aplicando uacutenicamente el operador de seleccioacuten

[figL5_growthRates]

Aceleracioacuten en AGP Un tema controversial en AGPs son las aceleraciones que esquemas distribuidos y celulares pueden alcanzar El caacutelculo teoacuterico de estas aceleraciones es una medida aceptada para determinar su eficiencia Calcular la razoacuten entre el tiempo promedio de ejecucioacuten de la mejor versioacuten secuencial de un AG y otra teacutecnica de buacutesqueda no evolutiva con respecto al tiempo

L5

promedio de ejecucioacuten de un AG paralelo corriendo en un determinado nuacutemero de procesadores proporciona la aceleracioacuten alcanzada por este uacuteltimo Aceleraciones sub-lineales indican que esta razoacuten es menor que el nuacutemero de procesadores utilizados en la ejecucioacuten del AGP Aceleraciones lineales indican que esta relacioacuten es igual mientras aceleraciones super-lineales indican que la razoacuten es mayor que el nuacutemero de procesadores utilizados

Un medida estricta para medir las aceleraciones de los AGPs involucrariacutea una comparacioacuten con la mejor versioacuten secuencial de un AG lo cual es difiacutecil de determinar Considerar el desempentildeo de un AG secuencial como referencia en conjunto con una condicioacuten de paro que evaluacutee la misma calidad de soluciones en todas las muestras experimentales podriacutea permitir una comparacioacuten justa en teacuterminos de aceleracioacuten entre esquemas paralelos y secuenciales

Los AGPs tienen tres caracteriacutesticas que permiten su aceleracioacuten 1) dividir el espacio de buacutesqueda en diversas aacutereas de exploracioacuten implementadas en distintas unidades de procesamiento 2) reducir la carga de procesamiento por medio de la distribucioacuten de la poblacioacuten en un nuacutemero de unidades de procesamiento y 3) operadores geneacuteticos aplicados a estructuras de datos reducidas

Al analizar comparativamente las tasas de aceleracioacuten de los AG distribuidos con sub-poblaciones en panmixia en comparacioacuten con el desempentildeo de un AG secuencial las aceleraciones calculadas resultan excesivas Sin embargo cuando se considera la distribucioacuten de las sub-poblaciones en un nuacutemero de unidades de procesamiento las tasas de aceleracioacuten son moderadas

Una de las caracteriacutesticas maacutes importantes en los AGPs es el operador de migracioacuten Analizar el comportamiento de este operador bajo distintos criterios como la sincroniacutea o asincroniacutea de migrar individuos entre las sub-poblaciones afecta directamente el desempentildeo de la buacutesqueda Entre los comportamientos con importancia significativa se ha observado que utilizar bajas frecuencias de migracioacuten en combinacioacuten con una comunicacioacuten asiacutencrona entre sub-poblaciones permite una mayor aceleracioacuten Este resultado considera sub-poblaciones en panmixia con la misma configuracioacuten de paraacutemetros

Concepto de sincronismo en AGPs En los AGPs tanto distribuidos como celulares el concepto de sincroniacutea aplica de forma distinta En un AGP distribuido el operador de migracioacuten estaacute directamente relacionado con la comunicacioacuten entre sub-poblaciones y por ende la sincroniacutea con que eacutesta ocurre Por otro lado en AGP de grano fino o celulares la sincroniacutea estaacute relacionada con la actualizacioacuten de soluciones durante el proceso evolutivo Esto se explica a continuacioacuten a mayor detalle

En AGPs distribuidos viacutea migracioacuten

Varios autores han investigado el efecto del sincronismo a traveacutes de la migracioacuten de individuos entre sub-poblaciones Se han considerado varios escenarios tales como tener un conjunto de sub-poblaciones en panmixia y tener sub-poblaciones descentralizadas un tercer escenario que se ha considerado es tener una combinacioacuten de sub-poblaciones en panmixia y descentralizadas Los tres esquemas han sido evaluados no soacutelo a nivel algoriacutetmico sino de implementacioacuten en plataformas de coacutemputo para procesamiento paralelo

Utilizando un esquema de procesamiento de instrucciones muacuteltiples - datos muacuteltiples con un esquema homogeacuteneo de sub-poblaciones se verificoacute el comportamiento de distintas frecuencias de migracioacuten definidas como muacuteltiplos del tamantildeo de la poblacioacuten Esto representa que la migracioacuten es nula cuando la frecuencia es cero lo que implica que la evolucioacuten es independiente de las sub-poblaciones Localmente los operadores geneacuteticos fueron configurados de la misma forma En general los resultados mostraron un mejor desempentildeo cuando la comunicacioacuten entre sub-poblaciones es asiacutencrona y la frecuencia de migracioacuten es baja En este sentido el tener sub-poblaciones descentralizadas permite una mejor eficacia que cuando se tienen sub-poblaciones en panmixia Las tasas de aceleracioacuten tambieacuten se analizaron Bajas frecuencias de migracioacuten reportaron aceleraciones lineales para sub-poblaciones descentralizadas y super-lineales para sub-poblaciones en panmixia

Se ha podido verificar el funcionamiento de los AGPs ampliando la gama de problemas de prueba a aquellos del dominio continuo El uso de un esquema paralelo distribuido con sub-poblaciones en panmixia y un ciclo evolutivo de estado estable donde solamente una solucioacuten se actualiza en cada generacioacuten logroacute obtener soluciones de mejor calidad Ademaacutes de la influencia de la frecuencia con la que se ejecuta la operacioacuten de migracioacuten la seleccioacuten aleatoria de individuos migrantes demostroacute tambieacuten un mejor desempentildeo que la seleccioacuten de los mejores individuos para migrar El mejor desempentildeo continuacutea siendo a partir de la aplicacioacuten de frecuencias de migracioacuten bajas ahora en combinacioacuten con la seleccioacuten aleatoria de soluciones para migrar En problemas de optimizacioacuten en el dominio continuo con oacuteptimos locales engantildeosos en sus espacios de buacutesqueda los esquemas de sub-poblaciones descentralizadas superaron el desempentildeo de aquellos con sub-poblaciones en panmixia ademaacutes de responder mejor a frecuencias de migracioacuten altas Las tasas de aceleracioacuten tambieacuten se relacionan con la operacioacuten de la migracioacuten a frecuencias de migracioacuten alta se obtienen mayores tasas de aceleracioacuten en ambos esquemas poblacionales

Es posible tambieacuten considerar un esquema de AGPs con sub-poblaciones tanto en panmixia como descentralizadas utilizando un esquema de coacutemputo heterogeacuteneo distribuido Las tasas de

aceleracioacuten que se alcanzan en estos caso son super-lineales viacutea el esquema sub-poblacional mixto

En AGP celulares viacutea criterios de actualizacioacuten

En los AGPs de grano fino o celulares el concepto de sincronismo se asocia a los criterios de actualizacioacuten de las soluciones Se consideran diversos escenarios como son 1) barrido liacutenea a liacutenea 2) barrido fijo aleatorio 3) barrido aleatorio 4) seleccioacuten uniforme Cada unos de estos criterios de actualizacioacuten de soluciones se puede ejecutar de manera siacutencrona o asiacutencrona La actualizacioacuten siacutencrona se refiere a que la poblacioacuten completa se genera a partir de los individuos actuales En contraste la actualizacioacuten asiacutencrona quiere decir que los individuos se actualizan despueacutes de su proceso evolutivo a nivel local entonces los individuos en una generacioacuten han evolucionado de hijos generados durante esta

El barrido liacutenea a liacutenea es la forma maacutes sencilla de actualizar soluciones en una topologiacutea de malla con conexioacuten toroidal Haciendo el barrido secuencial de ubicacioacuten de las soluciones por liacutenea o por columna se ejecuta la actualizacioacuten de estas El barrido aleatorio fijo consiste en elegir de forma aleatoria una solucioacuten sin reemplazo con una probabilidad uniforme En cada generacioacuten se determina una distribucioacuten diferente para la actualizacioacuten de los individuos La actualizacioacuten uniforme elige de forma aleatoria con una probabilidad uniforme una solucioacuten con reemplazo Esto quiere decir que una solucioacuten puede ser actualizada maacutes de una vez en un mismo ciclo reproductivo

Tambieacuten se ha buscado modelar formalmente el comportamiento de los distintos criterios de actualizacioacuten de soluciones considerando ambos criterios de sincronismo Los criterios siacutencronos de actualizacioacuten presentan menores tasas de crecimiento de la mejor solucioacuten en la topologiacutea de malla Es decir la buacutesqueda se ejecuta promoviendo la exploracioacuten cuando se sigue un criterio de actualizacioacuten uniforme Aplicar un barrido aleatorio o lineal para la actualizacioacuten de soluciones representa tasas maacutes altas de crecimiento pero no alcanza a aquellas de las poblaciones en panmixia La principal caracteriacutestica que se aprecia es que las poblaciones en panmixia promueven la explotacioacuten del espacio de buacutesqueda en mayor grado que los AGPs descentralizados o celulares

Finalmente se puede concluir despueacutes de la evaluacioacuten de los criterios siacutencronos y asiacutencronos en una variedad de problemas de optimizacioacuten combinatorios y del dominio continuo que la actualizacioacuten asiacutencrona de soluciones mejora el desempentildeo algoriacutetmico en teacuterminos de eficiencia y eficacia en comparacioacuten con el criterio asiacutencrono en teacuterminos del nuacutemero de generaciones necesarias para converger a la solucioacuten del problema

Discusioacuten En este capiacutetulo se presentaron los distintos esquemas poblaciones que se consideran en la paralelizacioacuten de los AGs Se introdujo el principal operador que distingue a estos esquemas evolutivos el operador de migracioacuten y su efecto en los procesos de buacutesqueda Tambieacuten se introdujeron de manera detallada los esquemas paralelos de AGs de grano fino o celulares y la manera en que las caracteriacutesticas estructurales de estos pueden afectar directamente la exploracioacuten y explotacioacuten del espacio de buacutesqueda Se abordoacute tambieacuten el tema de las aceleraciones que se pueden alcanzar viacutea la paralelizacioacuten de grano fino y grueso de los AGPs Este anaacutelisis incluye los escenarios teoacutericos y reales de las tasas de aceleracioacuten que se pueden alcanzar Finalmente se revisoacute el concepto de sincronismo en ambos esquemas de paralelizacioacuten el cual se observoacute que afecta de manera positiva el desempentildeo algoriacutetmico

Los esquemas paralelos de los algoritmos geneacuteticos permiten obtener un mejor desempentildeo de los procesos de buacutesqueda Sin embargo se debe considerar una serie de paraacutemetros que se necesitan definir y que requeriraacuten la intervencioacuten de un usuario Es importante destacar tambieacuten que la mejora en el desempentildeo se puede apreciar tanto a nivel algoriacutetmico como a nivel de procesamiento Es necesario tambieacuten indicar que la seleccioacuten de la plataforma de coacutemputo paralelo ya sea distribuida o no implicaraacute costos de comunicacioacuten que deben ser considerados para las tasas de aceleracioacuten que se pretendan alcanzar

Investigacioacuten de AGPs en Meacutexico En Meacutexico investigadoras e investigadores en distintas instituciones y centros de investigacioacuten se han dado a la tarea de explorar esquemas evolutivos que utilizan AGPs Por ejemplo esquemas de AGPs de grano fino para solucionar problemas de optimizacioacuten mono-objetivo sin restricciones y problemas combinatorios han sido desarrollados en El objetivo en esos trabajos es el estudio del efecto de las caracteriacutesticas estructurales en las topologiacuteas de poblacioacuten descentralizadas utilizando mallas conectadas de forma toroidal Distintos criterios fueron definidos para modificar en tiempo de buacutesqueda la forma de la topologiacutea y sin incrementar el costo computacional verificar la mejora del desempentildeo algoriacutetmico al evaluar una cama prueba con problemas mono-objetivo sin restricciones y combinatorios Los resultados obtenidos fueron alentadores y a partir de estos se extendioacute el estudio de las propiedades estructurales a manipular tambieacuten la dimensioacuten de la topologiacutea de malla y modificarla en tiempo de buacutesqueda resultados positivos de este estudio fueron reportados en

Debido al costo computacional de los AGs en general la aceleracioacuten de estos utilizando plataformas de coacutemputo especializadas ha sido un aacuterea de investigacioacuten tambieacuten desarrollada en Meacutexico Particularmente el disentildeo e implementacioacuten de un arreglo de procesadores flexible para

la aceleracioacuten de los AGs celulares utilizando dispositivos reconfigurables conocidos como arreglos de compuertas programables en el campo (FPGAs por sus siglas en Ingleacutes) se reportoacute en Este trabajo presenta una forma novedosa de dividir a la poblacioacuten descentralizada en un nuacutemero determinado de unidades de procesamiento especialmente disentildeadas para operadores evolutivos manteniendo las conexiones toroidales entre soluciones La flexibilidad del disentildeo consiste en poder definir de acuerdo a las necesidades de usuario el nuacutemero de unidades de procesamiento De este modo un nuacutemero mayor de unidades de procesamiento permitiraacute acelerar la ejecucioacuten del algoritmo y un nuacutemero menor de estas permitiraacute reducir el uso de recursos de hardware

En el aacutembito de la optimizacioacuten multi-objetivo desde la perspectiva del coacutemputo evolutivo utilizando esquemas poblacionales paralelos investigadores en Meacutexico han desarrollado un esquema con base en algoritmos geneacuteticos utilizando muacuteltiples resoluciones La propuesta algoriacutetmica llamada Algoritmo geneacutetico multi-objetivo con resolucioacuten muacuteltiple (MRMOGA por sus siglas en Ingleacutes) consiste de un conjunto de sub-poblaciones las cuales a nivel representacioacuten de soluciones evolucionan con resoluciones distintas lo cual implica la divisioacuten del espacio de buacutesqueda en regiones acotadas y traslapadas El desempentildeo alcanzado por MRMOGA supera los resultados reportados en esquemas evolutivos paralelos en teacuterminos de convergencia y evidencia la necesidad de profundizar el estudio de la escalabilidad de esquemas evolutivos paralelos

Para saber maacutes Dentro de la comunidad cientiacutefica dedicada a la investigacioacuten en las aacutereas de las teacutecnicas algoriacutetmicas evolutivas que desarrollan el concepto de paralelismo se han generado recursos bibliograacuteficos diversos de entre los cuales destacan

bull Algoritmos geneacuteticos paralelos por Gabriel Luque y Enrique Alba

bull Algoritmos evolutivos estructurados espacialmente por Marco Tomassini

bull Algoritmos geneacuteticos celulares por Bernabeacute Dorronsoro y Enrique Alba

bull Algoritmos geneacuteticos paralelos eficientes y precisos por Erick Cantuacute-Paz

Por otro lado entre los grupos de investigacioacuten que se desarrollan en el aacuterea destaca el liderado por el investigador Enrique Alba de la Universidad de Maacutelaga en Espantildea quien en colaboracioacuten con otros investigadores y estudiantes a puesto a disposicioacuten una serie de recursos relacionados en En particular en la seccioacuten de software se encuentran disponibles herramientas para el

disentildeo e implementacioacuten de algoritmos evolutivos paralelos tanto de grano grueso como de grano fino

Programacioacuten Geneacutetica Mario Graff

Daniela Moctezuma

Eric S Tellez

Sabino Miranda-Jimeacutenez

INFOTEC Centro de Investigacioacuten e Innovacioacuten en Tecnologiacuteas de la Informacioacuten y Comunicacioacuten Circuito Tecnopolo Sur No 112 Fracc Tecnopolo Pocitos II Aguascalientes

20313 Meacutexico CentroGEO Centro de Investigacioacuten en Ciencias de Informacioacuten Geoespacial Circuito

Tecnopolo Norte No 117 Col Tecnopolo Pocitos II CP Aguascalientes Ags 20313 Meacutexico CONACyT Consejo Nacional de Ciencia y Tecnologiacutea Direccioacuten de Caacutetedras Insurgentes Sur

1582 Creacutedito Constructor Ciudad de Meacutexico 03940 Meacutexico

Introduccioacuten En este capiacutetulo se presenta una introduccioacuten a Programacioacuten Geneacutetica (PG) asiacute como la descripcioacuten de cada uno de los aspectos que la comprenden las perspectivas de este campo y las aacutereas donde se ha aplicado en Meacutexico PG es un algoritmo de buacutesqueda inspirado en los principios de la evolucioacuten de las especies de Charles Darwin (ver ) Particularmente PG engloba a un conjunto de teacutecnicas de coacutemputo evolutivo las cuales tienen como objetivo solucionar automaacuteticamente problemas partiendo de ejemplos del problema por resolver a traveacutes de expresiones evaluables o programas

La Programacioacuten Geneacutetica ha sido ampliamente utilizada en diferentes dominios siendo capaz de resolver una gran variedad de problemas de alta complejidad muchas veces mejorando las soluciones encontradas por humanos Por ejemplo en la competencia ndashldquoHumies rdquo celebrada 2

anualmente en el marco de la Genetic and Evolutionary Computation Conference (GECCO) la cual premia sistemas bio-inspirados que mejoran las soluciones encontradas por humanos a problemas difiacuteciles mdashdesde 2004 y hasta 2017 PG ha sido galardonada con 8 medallas de oro 5 de plata y 1 de bronce En particular en esta competencia y utlizando PG Meacutexico ha obtenido

13

12

13

13

1

2

3

httpwwwhuman-competitiveorg2

una medalla de bronce En competencias de categorizacioacuten de texto se ha obtenido primer lugar en identificacioacuten de humor y en deteccioacuten de agresividad

En Meacutexico la PG ha sido estudiada y aplicada sobre una gran variedad de dominios empezando por aplicaciones tradicionales como el disentildeo de circuitos loacutegicos regresioacuten simboacutelica identificacioacuten de sistemas modelado de sistemas de manchas solares lluvia temperatura del agua turbinas de gas absorcioacuten de partiacuteculas medicioacuten de la capacidad de automovilistas para el manejo de vehiacuteculos sistemas caoacuteticos deteccioacuten de fallas en transformadores de potencia y modelado cualitativo de sistemas

La PG ha probado su efectividad con respecto a algoritmos tradicionales de aprendizaje de maacutequina en problemas como prediccioacuten de series de tiempo clasificacioacuten generacioacuten de ensambles de clasificadores generacioacuten de prototipos generacioacuten de heuriacutesticas navegacioacuten autoacutenoma generacioacuten de rejillas topograacuteficas y memorias asociativas En el aacuterea de procesamiento de lenguaje natural la PG ha sido utilizada para mejorar la representacioacuten del texto en un espacio vectorial aplicada a problemas de categorizacioacuten de texto en anaacutelisis de sentimientos intensidad de una emocioacuten identificacioacuten de humor y deteccioacuten de agresioacuten entre otras En al aacuterea de visioacuten computacional la PG ha servido para desarrollar nuevas representaciones siguiendo un enfoque de redes profundas representacioacuten de palabras visuales estimacioacuten de exponentes Houmllder en imaacutegenes deteccioacuten de puntos de intereacutes reconocimiento de objetos anaacutelisis de imaacutegenes hiper-espectrales y estimacioacuten de vegetacioacuten En el paiacutes tambieacuten se realiza investigacioacuten teoacuterico-praacutectica sobre la creacioacuten de modelos que permitan predecir su rendimiento como en meacutetodos de muestreo en la funcioacuten objetivo mejoras al algoritmo como en y control de coacutedigo superfluo El lector interesado en la teoriacutea de PG puede revisar los siguientes trabajos paradigmaacuteticos que son referentes indispensables sobre el tema

La idea detraacutes de la PG es evolucionar programas partiendo de una descripcioacuten de lo que debe hacer el programa Tradicionalmente esta descripcioacuten se realiza mediante un conjunto de pares de entrada-salida tal como se hariacutea con la descripcioacuten de una funcioacuten Esta descripcioacuten es similar a la usada en Aprendizaje Supervisado con la diferencia de que en PG no existen tipos definidos para las entradas y las salidas por otro lado en aprendizaje supervisado las entradas estaacuten en un espacio vectorial y su salida es un nuacutemero natural o real Utilizando esta descripcioacuten l a f u n c i o n a l i d a d d e u n p r o g r a m a s e d e f i n e c o m o e l c o n j u n t o donde representa la -eacutesima entrada y es su correspondiente salida En cierta forma la idea es encontrar un programa tal que aplicado a un conjunto de entradas se evaluacutee a las predicciones de tal forma que eacutestas se aproximen a los valores originales donde la similitud se mide por medio de una funcioacuten de aptitud Tal y como sucede en otros algoritmos de aprendizaje la efectividad de no estaraacute en aprender los datos de

119987 = (x0 y0) hellip (xi yi) hellip (xN yN) xi i yif

xi yiyi

f

entrenamiento sino en su capacidad de generalizar a entradas nunca antes vistas El procedimiento de aprendizaje y prediccioacuten se detallaraacute en el resto de este capiacutetulo

La PG comparte muchas similitudes con los Algoritmos Geneacuteticos (AG) De hecho se podriacutea decir que la PG es una generalizacioacuten del AG la diferencia radica en que la PG utiliza una representacioacuten variable para sus soluciones y el AG tiene una representacioacuten fija esta diferencia tiene varias implicaciones las cuales se veraacuten a detalle en el transcurso del capiacutetulo Por el momento veamos las similitudes que comparten ambos enfoques La PG es un algoritmo evolutivo poblacional es decir utiliza un conjunto de soluciones llamado poblacioacuten para hacer un muestreo del espacio de buacutesqueda La buacutesqueda es guiada mediante la seleccioacuten de individuos en la poblacioacuten y los operadores geneacuteticos como son la recombinacioacuten y la mutacioacuten se encargan de generar nuevos individuos es decir nuevos puntos en el espacio de buacutesqueda

El resto del capiacutetulo detalla un sistema de PG tiacutepico empezando por los tipos de evolucioacuten que pueden realizar (seccioacuten 2) la representacioacuten que se utiliza (seccioacuten 3) seguida por la creacioacuten de la poblacioacuten inicial (seccioacuten 4) los operadores que se utilizan para generar un individuo (seccioacuten 5) y finalmente las teacutecnica utilizada para hacer la seleccioacuten (seccioacuten 6)

Proceso evolutivo La evolucioacuten de la poblacioacuten de programas en la PG puede realizarse de dos maneras mediante una evolucioacuten generacional o mediante una evolucioacuten de estado estable Ambos tipos de evolucioacuten requieren una poblacioacuten inicial y la diferencia entre ellas radica en el uso de dicha poblacioacuten para generar individuos y la actualizacioacuten de la misma En la evolucioacuten generacional existen dos tipos de poblaciones la de los padres y la de los nuevos individuos La poblacioacuten de padres es utilizada para generar nuevos individuos y por lo general cuando la poblacioacuten de nuevos individuos tiene el mismo nuacutemero de elementos que la poblacioacuten de padres se procede a mezclar estas poblaciones para convertirse en la poblacioacuten de padres de la siguiente generacioacuten Por otro lado la evolucioacuten de estado estable no contempla esta diferencia entre poblacioacuten de padres y de nuevos individuos dado que el individuo generado reemplaza un individuo de la poblacioacuten actual

El algoritmo [alggeneracional] muestra el pseudocoacutedigo de la evolucioacuten generacional Como se habiacutea mencionado se requiere de una poblacioacuten inicial denominada la cual seraacute utilizada para generar individuos y seraacute actualizada mientras no se cumpla un establecido Lo primero que se observa en el algoritmo son dos ciclos anidados (liacuteneas 1 y 2) El primero itera hasta que se cumpla la condicioacuten de paro y el segundo se encarga de generar la poblacioacuten de hijos (liacutenea 3) Al final de este segundo ciclo se tienen dos poblaciones y

119979120226120267120258120269120254120267120258120264 120253120254 120239120250120267120264

119979h 119979

Estas dos poblaciones se combinan (liacutenea 5) para formar una nueva poblacioacuten utilizada en la siguiente generacioacuten La funcioacuten combina estas poblaciones y puede ser tan simple como seleccionar todo para reemplazar o pueden adoptarse estrategias maacutes complejas como remplazo con elitismo donde se realiza el remplazo pero se asegura que los mejores individuos de ambas poblaciones se preserven en la siguiente generacioacuten

[alggeneracional]

La evolucioacuten generacional es muy utilizada tanto en computacioacuten evolutiva como en PG Sin embargo hasta la fecha no existen ventajas teoacutericas para decidir utilizar un tipo de evolucioacuten sobre el otro Considerando lo anterior este capiacutetulo se enfocaraacute en el uso de evolucioacuten de estado estable debido a que su implementacioacuten es maacutes simple

El algoritmo [algestable] muestra el pseudocoacutedigo de una evolucioacuten de estado estable es utilizada para generar un individuo hijo mediante la aplicacioacuten de operadores geneacuteticos (linea 2) El hijo reemplaza (linea 4) a un elemento de que es seleccionado utilizando una seleccioacuten negativa es decir se selecciona un individuo con una aptitud baja (liacutenea 3) Este proceso continuacutea hasta que el criterio de paro es alcanzado Dicho criterio puede ser variado tal como alcanzar un nuacutemero maacuteximo de individuos generados convergencia de una funcioacuten de error encontrar una solucioacuten adecuada o suficiente entre otras opciones

hijo hijo

[algestable]

Representacioacuten Tomando en cuenta que el objetivo de PG es evolucionar programas es normal pensar que la PG evoluciona programas escritos en alguacuten lenguaje de programacioacuten pej Python utilizando un inteacuterprete o compilador y maacutequina que lo ejecute dependiendo del caso Aunque esto es factible y existen sistemas de PG que han seguido este camino no es lo maacutes comuacuten En este capiacutetulo seguimos una de las praacutecticas maacutes comunes popularizada en el libro de Koza la cual consiste en representar un programa utilizando un aacuterbol de expresioacuten Un aacuterbol de expresioacuten cuenta con tres nodos distintivos la raiacutez la cual es la salida de la expresioacuten los nodos internos y las hojas La funcioacuten de la raiacutez y los nodos internos es aplicar operaciones a sus hijos y las hojas

119979h 119979120236120254120275120252120261120250

119979h 119979

119979 119979h(i ) larr 120238120265120254120267120250120253120264120267120254120268 120230120254120263eacute120269120258120252120264120268(119979) 119979 larr 120236120254120275120252120261120250(119979 119979h) 119979

119979

119979

119979 larr 120238120265120254120267120250120253120264120267120254120268 120230120254120263eacute120269120258120252120264120268(119979) k larr 120242120254120261120254120252120252120258oacute120263 120237120254120256120250120269120258120271120250(119979) 119979(k) larr 119979

representan las entradas ya sean variables o constantes Un ejemplo de un aacuterbol de expresioacuten se muestra en la figura [figexpresion] donde la expresioacuten es representada en el aacuterbol

Los aacuterboles de expresiones se forman partiendo de dos conjuntos uno de terminales que contiene las variables constantes y funciones sin argumentos y otro de funciones que contiene las funciones u operadores que reciben argumentos Por ejemplo en una regresioacuten simboacutelica la cual consiste en encontrar la funcioacuten que maacutes se asemeja a una serie de puntos el conjunto de terminales podriacutea ser donde es la variable independiente y r epresen ta un nuacutemero a lea tor io y e l conjunto de func iones podr iacutea se r Continuando con este ejemplo se puede observar que la expresioacuten representada en la figura [figexpresion] pudo haber sido generada con los mencionados conjuntos de terminales y funciones

Una codificacioacuten simple de un aacuterbol de expresioacuten puede ser representado en un arreglo o una lista es decir un aacuterbol de expresioacuten puede estar codificado de manera lineal Esta codificacioacuten se logra recorriendo el aacuterbol a lo profundo Por ejemplo la expresioacuten representada en la figura [figexpresion] puede ser representada como Esta codificacioacuten seraacute la utilizada en este capiacutetulo para representar los aacuterboles de expresiones

Dado un aacuterbol de expresioacuten se requiere tener un procedimiento para su evaluacioacuten Dicho procedimiento se muestra en el algoritmo [algevaluacion] Evaluacioacuten el cual recibe como entrada un aacuterbol de expresioacuten representado en una estructura de datos lineal como un arreglo o lista La expresioacuten es codificada en donde es la i-eacutesima posicioacuten e es una variable global Evaluacioacuten es una funcioacuten recursiva donde la recursioacuten termina cuando es una constante o variable (ver liacuteneas 15-19) Cuando es una funcioacuten (vg ) liacutenea 1 se debe de conocer la cantidad de argumentos que requiere linea 3 y empieza la recursioacuten En caso de que requiera un argumento liacuteneas 4-7 se incrementa la posicioacuten en uno y se llama a Evaluacioacuten terminando con la evaluacioacuten de la funcioacuten en el valor regresado en la recursioacuten Para maacutes argumentos liacuteneas 9-14 se invoca Evaluacioacuten tantas veces como argumentos requiera la funcioacuten y el valor es guardado en una estructura que podriacutea ser un arreglo o lista La liacutenea 14 evaluacutea la funcioacuten vg en los argumentos Por ejemplo sea la suma entonces la liacutenea 14 realizariacutea

el valor de la variable la constante

[algevaluacion]

x + xsin(934x)

119983ℱ

119983 = x real x real

ℱ = + minus sdot sin cos

( + x x sin times 934 x)

x xi ixi

xi xi isin ℱ

ixi

w fxi w f w0 + w1

x i f larr xi d larr 120250120267120256120270120262120254120263120269120264120268( f ) i larr i + 1 w larr 120228120271120250120261120270120250120252120258oacute120263(x) f (w) w i larr i + 1wj larr 120228120271120250120261120270120250120252120258oacute120263(x) f (w) xi xi

Poblacioacuten inicial Una vez descrita la representacioacuten que tendraacuten los individuos dentro de la poblacioacuten por medio de aacuterboles de expresiones la codificacioacuten de eacutestos mediante una estructura de datos lineal y el pseudocoacutedigo para evaluar un individuo ya es posible describir el procedimiento para crear la poblacioacuten inicial

En PG existen dos procedimientos tradicionales para generar un individuo 1) generar un aacuterbol de expresiones balanceado (Full) o 2) generar un aacuterbol desbalanceado (Grow) ambos se definen con una altura maacutexima La definicioacuten de un aacuterbol balanceado es aquel donde los hijos de cualquier nodo tienen siempre la misma altura La figura [figtipos-de-arbol] muestra un aacuterbol balanceado y un aacuterbol no balanceado En la figura [figbalanceado] se observa coacutemo la definicioacuten de balanceo solo considera la altura sin importar el nuacutemero de nodos Por ejemplo la raiacutez tiene tres nodos en su hijo izquierdo y dos nodos en su hijo derecho y es un aacuterbol balanceado

Estos dos procedimientos para generar un individuo comparten muchas similitudes Por esta razoacuten el algoritmo [algcreacion-individuo] presenta ambos procedimientos decidiendo cuaacutel utilizar mediante una bandera El proceso de generar un individuo utiliza el conjunto de funciones y terminales y la altura deseada Eacuteste es un procedimiento recursivo donde la recursioacuten termina cuando la altura llega a su valor miacutenimo (liacuteneas 1-3) o en el caso en que se utilice el meacutetodo desbalanceado (liacuteneas 3-5) y un nuacutemero aleatorio sea menor que

Si ninguna de las dos condiciones se cumplen empieza la recursioacuten primero

decrementando (liacutenea 6) despueacutes seleccionando de manera aleatoria una funcioacuten del conjunto (liacutenea 7) y contando sus argumentos (liacutenea 8) La estructura definida en la liacutenea 9 es la encargada de guardar los componentes de la regresioacuten Dicha estructura podriacutea ser una lista o un conjunto que mantiene el orden de insercioacuten El procedimiento continuacutea creando un ciclo del nuacutemero de argumentos (liacuteneas 10-12) donde se hace la recursioacuten y el resultado de la recursioacuten se antildeade a liacutenea 11 Finalmente el individuo creado estaacute en y se regresa en la liacutenea 13

[algcreacion-individuo]

Es probable que uno de los meacutetodos maacutes tradicionales para crear la poblacioacuten inicial sea el meacutetodo ramped half-and-half propuesto por Koza el cual consiste en construir la mitad de la poblacioacuten utilizando un meacutetodo balanceado y la otra mitad utilizando un meacutetodo desbalanceado

120236eacute120269120264120253120264h

h = 0

∣ 119983 ∣∣ 119983 ∣ + ∣ ℱ ∣

hℱ w

w w

ℱ 119983 h 120236eacute120269120264120253120264 x isin 119983 x isin 119983 h larr h minus 1 f isin ℱ d larr 120250120267120256120270120262120254120263120269120264120268( f ) w = [ f ]w larr w cup 120226120267120254120250120252120258oacute120263 120253120254 120232120263120253120258120271120258120253120270120264(h 120236eacute120269120264120253120264) w

Ademaacutes de lo anterior la altura del aacuterbol variacutea desde un valor de altura miacutenima hasta un valor maacuteximo de manera lineal tomando en cuenta el tamantildeo de la poblacioacuten

Operadores Geneacuteticos Habiendo descrito dos procedimientos para la creacioacuten de la poblacioacuten inicial es tiempo de introducir los operadores geneacuteticos que permitiraacuten la creacioacuten de nuevos individuos basados en la poblacioacuten actual En PG se acostumbra tener dos operadores geneacuteticos mutacioacuten (ver Seccioacuten 52) y recombinacioacuten (ver Seccioacuten 51) que a diferencia del AG son excluyentes y seleccionados de manera aleatoria

El algoritmo [algoperadores-geneticos] muestra el procedimiento para generar un individuo utilizando mutacioacuten y recombinacioacuten Lo primero que se realiza es la seleccioacuten de los individuos que serviraacuten como padres en este proceso (liacutenea 1 y liacutenea 3) Esto es seguido por la decisioacuten de generar un individuo mediante mutacioacuten o recombinacioacuten la cual se realiza de manera aleatoria y se controla con un paraacutemetro la probabilidad de recombinacioacuten (liacutenea 2) En caso de aplicarse recombinacioacuten se requieren dos elementos (liacutenea 4) y en el caso de mutacioacuten solamente se requiere un elemento (liacutenea 6)

[algoperadores-geneticos]

Recombinacioacuten La recombinacioacuten es la operacioacuten geneacutetica que toma dos individuos de la poblacioacuten denominados padres y los combina para generar un nuevo individuo Tomando en cuenta que los individuos son aacuterboles de expresiones entonces la recombinacioacuten se plantea como la generacioacuten de un nuevo aacuterbol de expresioacuten La idea es escoger en cada aacuterbol un punto de recombinacioacuten e intercambiar los subaacuterboles cuya raiacutez sean dichos puntos de recombinacioacuten

La figura [figrecombinacion] muestra el procedimiento de recombinacioacuten En dicha figura los dos padres son los primeros dos aacuterboles de la izquierda ver figuras [figpadre1] y [figpadre2] El nuevo individuo es el aacuterbol de la derecha ver figura [fighijo] es comuacuten llamar hijo al producto de la recombinacioacuten Los nodos de color azul representan los puntos de recombinacioacuten siendo el procedimiento para generar un nuevo individuo el cambiar los subaacuterboles cuya raiacutez son los nodos en azul En particular aquiacute se crea solamente un individuo el cual es generado al reemplazar el subaacuterbol del primer padre por el subaacuterbol del segundo padre

pxo

119979 a larr 120242120254120261120254120252120252120258oacute120263(119979) b larr 120242120254120261120254120252120252120258oacute120263(119979) w larr 120241120254120252120264120262120251120258120263120250120252120258oacute120263(119979(a)) 119979(b))w larr 120236120270120269120250120252120258oacute120263(119979(a)) w

El procedimiento de recombinacioacuten requiere de un meacutetodo que permita conocer donde termina un subaacuterbol dada su raiacutez Esto es debido a que se estaacute codificando un aacuterbol de expresioacuten en una estructura lineal Este procedimiento es simple y solamente se requiere el contar el nuacutemero de argumentos por cada funcioacuten encontrada en el camino El algoritmo [algrecorre] presenta el pseudocoacutedigo para hacer el recorrido por el subaacuterbol Este procedimiento recibe un individuo y la posicioacuten de la raiacutez del subaacuterbol de intereacutes El ciclo de las liacuteneas 2-12 realiza todo el recorrido del subaacuterbol terminando cuando las funciones encontradas en el recorrido han satisfecho todos sus argumentos liacuteneas 9-11 regresando la posicioacuten del uacuteltimo nodo del subaacuterbol En cada iteracioacuten se sabe que se consume un argumento liacutenea 5 y se incrementa la posicioacuten final del subaacuterbol liacutenea 4 Ademaacutes se verifica si el nodo actual corresponde a una funcioacuten En caso afirmativo se incrementa el nuacutemero de argumentos liacuteneas 6-8 y todo este proceso continua hasta que los argumentos requeridos por la funciones han sido cubiertos

[algrecorre]

Ahora que se conoce la funcioacuten auxiliar es momento de describir el pseudocoacutedigo de la recombinacioacuten el cual se muestra en el algoritmo [algrecombinacion] Lo primero que se puede observar es que la recombinacioacuten requiere dos individuos el segundo paso es seleccionar un nodo de cada uno de estos individuos liacuteneas 1 y 2 Las liacuteneas 3 y 4 calculan las posiciones donde terminan cada uno de los subaacuterboles que corresponden a los nodos seleccionados Finalmente el individuo generado corresponde al reemplazo de la subcadena que representa el subaacuterbol del primer padre con la subcadena que representa el subaacuterbol del segundo padre ver liacutenea 5

[algrecombinacion]

Mutacioacuten Existen diferentes tipos de mutacioacuten Una de las maacutes utilizadas es la mutacioacuten de subaacuterbol la cual consiste en hacer recombinacioacuten de un individuo de la poblacioacuten con un individuo aleatorio La idea es reemplazar un subaacuterbol del individuo de la poblacioacuten por un subaacuterbol aleatorio y esto se logra utilizando meacutetodos previamente definidos

La mutacioacuten de subaacuterbol se presenta en el algoritmo [algmutacion] Este procedimiento requiere un padre Despueacutes se genera un individuo aleatorio utilizando el meacutetodo

x i c larr 1 x larr xi i larr i + 1 c larr c minus 1 c larr c + 120250120267120256120270120262120254120263120269120264120268(x) i

120241120254120252120264120267120267120254

x y

x y i larr 120239120270120263120269120264 120253120254 120267120254120252120264120262120251120258120263120250120252120258oacute120263(x) j larr 120239120270120263120269120264 120253120254 120267120254120252120264120262120251120258120263120250120252120258oacute120263(y) ik larr 120241120254120252120264120267120267120254(x i )jk larr 120241120254120252120264120267120267120254(y j ) x0hellipi cup yjhellip jk cup xikhellip∣x∣

x

Por lo general se usa una altura menor a siete y despueacutes se regresa la de los individuos (liacutenea 2)

[algmutacion]

La mutacioacuten de subaacuterbol no es el uacutenico tipo de mutacioacuten Otro tipo de mutacioacuten muy utilizada es la mutacioacuten de punto que tiene su homoacutelogo en el AG La mutacioacuten de punto funciona iterando por todos los nodos del individuo y seleccionando aleatoriamente algunos nodos para ser mutados Un nodo seleccionado para ser mutado cambia su valor de la siguiente manera Un nodo que tiene una funcioacuten cambia la funcioacuten por otra de la misma cardinalidad Por otro lado un nodo que tiene una terminal cambia su valor por otra terminal seleccionada del conjunto de terminales

Seleccioacuten Hasta este momento hemos revisado los procedimientos para hacer una evolucioacuten de estado estable generar una poblacioacuten inicial y modificar la poblacioacuten utilizando operadores geneacuteticos En esta seccioacuten se muestra el proceso de seleccioacuten de los individuos padres que generaraacuten mediante operadores geneacuteticos un nuevo individuo

La seleccioacuten como su nombre lo indica debe escoger un individuo de la poblacioacuten con base en su aptitud es decir se busca aquel individuo que resuelve de mejor manera el problema En el caso de la seleccioacuten negativa se busca el individuo que resuelve el problema de la peor manera

Recordemos que la forma en que se describe la funcionalidad de un programa es mediante un conjunto de pares entrada-salida vg donde representa la -eacutesima entrada y es su salida correspondiente Utilizando se puede definir la aptitud de un programa de la siguiente manera

donde representa la salida del programa cuando la entrada es y es una funcioacuten que captura que tanto se parece la prediccioacuten a la salida esperada

Existen varios procedimientos de seleccioacuten Uno de los maacutes comunes es la seleccioacuten proporcional o por ruleta La idea de esta seleccioacuten es asignar a cada individuo una probabilidad de ser seleccionado directamente proporcional a su aptitud Otro tipo de seleccioacuten muy utilizado

120226120267120254120250120252120258oacute120263 120253120254 120232120263120253120258120271120258120253120270120264120241120254120252120264120262120251120258120263120250120252120258oacute120263

x y larr 120226120267120254120250120252120258oacute120263 120253120254 120232120263120253120258120271120258120253120270120264(4 120225120250120261120250120263120252120254120250120253120264) 120241120254120252120264120262120251120258120263120250120252120258oacute120263(x y)

119987 = (x0 y0) hellip (xi yi) hellip (xN yN) xii yi 119987

p

120224120265120269120258120269120270120253(p) = sum(xy)isin119987

120236120258120253120254 120224120265120265120267120264120273120258120262120250120252120258oacute120263(y p(x))

p(x) p x 120236120258120253120254 120224120265120265120267120264120273120258120262120250120252120258oacute120263p(x) y

en la comunidad es la seleccioacuten por torneo donde la idea es seleccionar al ganador de un grupo de individuos seleccionados aleatoriamente Al tamantildeo del grupo se le conoce como el tamantildeo del torneo

El algoritmo [algseleccion] presenta el pseudocoacutedigo de la seleccioacuten por torneo El procedimiento requiere la poblacioacuten y el tamantildeo del torneo Se empieza seleccionando un individuo de la poblacioacuten vg el -eacutesimo para el cual se obtiene su aptitud liacuteneas 1 y 2 El individuo es momentaacuteneamente el mejor elemento conocido El ciclo principal ejecuta el torneo liacuteneas 3-10 En cada iteracioacuten se selecciona un elemento de la poblacioacuten junto con su aptitud (liacutenea 4 y 5) En caso que el nuevo individuo tenga una mejor aptitud que la conocida eacuteste se convierte en el ganador del torneo liacuteneas 6-9 El procedimiento termina regresando la posicioacuten del mejor individuo

t

[algseleccion]

Espacio de buacutesqueda La PG es un algoritmo de buacutesqueda inspirado en los principios de la evolucioacuten En esta seccioacuten se describe coacutemo es el espacio de buacutesqueda Existen dos diferencias principales entre la PG y el AG 1) la PG busca en un espacio posiblemente infinito de programas mientras que el AG en un espacio finito y 2) las soluciones de la PG tienen una codificacioacuten de longitud variable y las del AG son de longitud fija

El espacio de buacutesqueda de la PG se construye partiendo del conjunto de funciones y del conjunto de terminales de la siguiente manera Sea el subconjunto de funciones con cardinalidad del conjunto de funciones y los elementos creados en la -eacutesima iteracioacuten iniciando en Usando esta notacioacuten los primeros elementos del espacio de buacutesqueda vg son El resto de los elementos se construyen

iterativamente usando por lo tanto el espacio de

buacutesqueda estaacute definido como

Con el objetivo de ejemplificar la estructura del espacio de buacutesqueda la figura [figespacio-busqueda] presenta unos elementos del espacio de buacutesqueda cuando el conjunto de terminales es

119979 tk ga

119979(k)

119979 k larr 120237uacute120262120254120267120264 120224120261120254120250120269120264120267120258120264() ga larr 120224120265120269120258120269120270120253(119979(k)) ck larr 120237uacute120262120254120267120264 120224120261120254120250120269120264120267120258120264()ca larr 120224120265120269120258120269120270120253(119979(ck)) k larr ck ga larr ca k

Ω

ℱ119983 ℱc sube ℱ

c Ωi ii = 0

i = 0 Ω0 = ⋃c

f (x1 ⋯ xc) ∣ xi isin 119983 f isin ℱc

Ωi = ⋃c

f (x1 ⋯ xc) ∣ xi isin Ωiminus1 f isin ℱc

Ω = ⋃i

Ωi

y el conjunto de funciones es La figura [figomega0] muestra todos los elementos de los cuales corresponden a las combinaciones entre el operador y las entradas asiacute como a la funcioacuten y las posibles entradas La parte inferior de la figura muestra algunos elementos de Siguiendo la definicioacuten dada la primera expresioacuten corresponde al segundo elemento de y el uacuteltimo elemento corresponde al uacuteltimo elemento generado en

Conclusiones En este capiacutetulo se describioacute la importancia y potencial que tiene la PG en diversas tareas y aplicaciones Ademaacutes se describieron las partes que conforman un sistema de programacioacuten geneacutetica tradicional equivalente a los descritos en ) Tambieacuten se describieron los tipos de evolucioacuten maacutes comunes y con base en la evolucioacuten de estado estable se detalloacute el resto de las partes necesarias para llevar a cabo el proceso evolutivo como son la representacioacuten de los individuos la creacioacuten de la poblacioacuten inicial los operadores geneacuteticos y el tipo de seleccioacuten Finalmente se describioacute el espacio de buacutesqueda de la PG que se genera partiendo de los conjuntos de funciones y terminales

Como todo los sistemas la PG ha evolucionado Actualmente existen diferentes propuestas para mejorar sus componentes empezando desde la creacioacuten de la poblacioacuten inicial pej modificaciones a los operadores geneacuteticos tradicionales pej operadores semaacutenticos estudios sobre la seleccioacuten y evolucioacuten guiada por una funcioacuten diferente a la funcioacuten objetivo

Para saber maacutes Para una revisioacuten amplia sobre la PG se sugiere al lector la siguiente bibliografiacutea La PG fue descrita inicialmente en el libro de John Koza esta descripcioacuten se complementa con el libro escrito por Wolfgang Banzhaf et al y maacutes reciente Riccardo Poli et al presenta una introduccioacuten actualizada al aacuterea

Con respecto a artiacuteculos cientiacuteficos es importante comentar que existe una coleccioacuten bibliograacutefica en PG compilada y administrada por William Langdon John Koza y Steven Gustafson Esta coleccioacuten cuenta con maacutes de 13000 referencias a trabajos de investigacioacuten en 34

el tema incluyendo los trabajos realizados en Meacutexico

119983 = x y ℱ = + sinΩ0 +

sinΩ1

Ω1 Ω1

httpliinwwwiraukadebibliographyAigeneticprogramminghtml3

httpwwwcsbhamacuk~wblbiblio4

Importancia de la Diversidad en el Disentildeo de Algoritmos Evolutivos

Carlos Segura

Joel Chacoacuten Castillo

La convergencia prematura es una de las mayores problemaacuteticas que afectan al rendimiento de las metaheuriacutesticas poblacionales por lo que a la hora de disentildear algoritmos evolutivos es un aspecto a tener en cuenta En este capiacutetulo se enumeran diferentes teacutecnicas que se han propuesto a lo largo de las uacuteltimas deacutecadas para lidiar con este problema Una de las alternativas maacutes exitosas consiste en examinar los efectos que los diferentes componentes del algoritmo evolutivo tienen sobre la diversidad mantenida en la poblacioacuten y con base en ello redisentildearlos para modificar su comportamiento de forma dinaacutemica Con el objetivo de ilustrar de una forma detallada este uacuteltimo grupo de teacutecnicas se discuten dos mecanismos que pertenecen a este grupo El primero se aplica en el aacutembito de evolucioacuten diferencial y consiste en una estrategia de reemplazo que combina una poblacioacuten eacutelite con un mecanismo para mantener la diversidad de forma expliacutecita El segundo caso estaacute enfocado a los operadores de cruza donde concretamente se analiza y extiende el Operador de Cruza basado en Simulacioacuten Binaria (Simulated Binary Crossover - SBX) En las extensiones se considera el criterio de paro para modificar de forma dinaacutemica el comportamiento del operador con el propoacutesito de inducir un cambio gradual desde exploracioacuten hacia intensificacioacuten en el proceso de buacutesqueda La validacioacuten experimental se realizoacute con algunos de los problemas de prueba maacutes populares del aacutembito mono-objetivo y multi-objetivo alcanzaacutendose mejoras significativas en ambos casos

Diversidad Convergencia Prematura Evolucioacuten Diferencial Optimizacioacuten Multi-objetivo

Introduccioacuten Los Algoritmos Evolutivos (Evolutionary Algorithms mdash eas) son considerados como uno de los enfoques con mayor eficacia para resolver distintas categoriacuteas de problemas de optimizacioacuten Se han desarrollado diversas variantes que han sido aplicadas en muacuteltiples campos como en transporte economiacutea o ingenieriacutea Particularmente se han aplicado tanto en problemas del dominio continuo como del dominio discreto En general los eas han sido especialmente exitosos en la resolucioacuten de problemas complejos en los que los enfoques exactos no son actualmente aplicables como por ejemplo en problemas NP-completos con espacios de buacutesqueda grandes Para el aacutembito de este capiacutetulo se hace uso de problemas continuos mono-objetivo y multi-objetivo con restricciones de caja que se pueden definir tal y como se indica en la Ecuacioacuten ([eqnModel_general])

Minimizar 

rarrF (

rarrX )

Su jeto a rarrX isin Ω

donde es un vector compuesto por variables continuas de decisioacuten cada variable pertenece al conjunto de los reales es la dimensioacuten correspondiente al espacio de las variables de decisioacuten es un vector compuesto por funciones objetivo es el espacio factible cuyo liacutemite inferior es y liacutemite

superior es es decir Cada vector de variables es mapeado con -

funciones objetivo al espacio que es conocido como el espacio objetivo

Actualmente los eas son una de las metaheuriacutesticas maacutes conocidas pero a pesar de su eacutexito y de su uso tan extendido adaptarlas a nuevos problemas implica la toma de varias decisiones de disentildeo complejas Particularmente a la hora de disentildear de forma apropiada un ea se ha visto que es muy importante conseguir inducir un balanceo adecuado entre la exploracioacuten e intensificacioacuten del espacio de buacutesqueda Noacutetese en este punto que de manera informal la exploracioacuten del espacio de buacutesqueda consiste en evaluar regiones del espacio de buacutesqueda que no han sido muestreadas con el fin de detectar regiones promisorias y la explotacioacuten consiste en muestrear en zonas ya evaluadas previamente para realizar una buacutesqueda maacutes profunda con el fin de encontrar soluciones maacutes refinadas y de mayor calidad Cuando en los algoritmos evolutivos todas o casi todas las soluciones estaacuten en regiones distantes mdash alta diversidad mdash se produce habitualmente una buacutesqueda exploratoria es decir muchas de las nuevas soluciones evaluadas seraacuten distantes a las ya evaluadas anteriormente Sin embargo cuando casi todas las soluciones estaacuten en una o en unas pocas regiones se produce una buacutesqueda intensificadora Uno de los problemas a la hora de disentildear los algoritmos evolutivos es que en muchos casos no se comprenden todas las implicaciones que los diferentes componentes tienen sobre el mantenimiento de la diversidad de la poblacioacuten y por tanto sobre el balanceo entre exploracioacuten e intensificacioacuten Por ello analizar el comportamiento y redisentildear en base a lo que estaacute ocurriendo en este aspecto es parte del proceso de disentildeo de los eas

Relacionado con lo anterior aparece el concepto de convergencia prematura Se dice que un algoritmo converge de forma prematura cuando mucho antes de alcanzar el criterio de paro todas las soluciones estaacuten en una zona muy pequentildea del espacio de buacutesqueda En este sentido a partir de ese momento es difiacutecil seguir mejorando las soluciones de forma significativa ya que con alta probabilidad soacutelo se va a realizar un muestreo de soluciones en dicha regioacuten Por ello es importante detectar si esto ocurre y en tal caso redisentildear algunos aspectos del ea para preservar una mayor diversidad Sin embargo si la poblacioacuten es muy diversa durante todo el proceso de buacutesqueda se podriacutea no alcanzar un grado adecuado de intensificacioacuten y por lo tanto se tendriacutea una convergencia lenta que posiblemente tambieacuten resultariacutea en soluciones de baja calidad Por

rarrX D

rarrX = [x1 x2 xD]

xi isin real DrarrF M

rarrF = [ f1(

rarrX ) f2(

rarrX ) fM(

rarrX )] Ω x(L)

i

x(U )i Ω =

D

prodj=1

[x(L)j x(U )

j ] M

rarrF (

rarrX )(

rarrF Ω sube realD rarr realM) realM

esta razoacuten Mahfoud utilizoacute el concepto de diversidad uacutetil para referirse a la cantidad de diversidad necesaria para generar soluciones de alta calidad

En relacioacuten al disentildeo de eas se puede observar que en sus inicios la mayoriacutea de enfoques fueron esquemas generacionales en los que las soluciones hijas reemplazaban a la poblacioacuten anterior sin importar su respectiva aptitud o grado de diversidad En estos esquemas iniciales se usaba la seleccioacuten de padres para promover que el proceso de muestreo se realizara con mayor probabilidad en las regiones maacutes promisorias encontradas Por ello con el propoacutesito de alcanzar un balanceo adecuado entre exploracioacuten e intensificacioacuten se desarrollaron muchas estrategias de seleccioacuten de padres que permitiacutean centrarse con mayor o menor velocidad en las regiones promisorias Ademaacutes se desarrollaron alternativas que modifican otros aspectos como la estrategia de variacioacuten yo el modelo poblacional En la mayor parte de eas maacutes recientes se introduce ademaacutes una fase de reemplazamiento por lo que la nueva poblacioacuten no tiene que formarse exclusivamente con los hijos maacutes bien se usan mecanismos para combinar la poblacioacuten anterior con la poblacioacuten hija y determinar asiacute los nuevos sobrevivientes En este contexto se suele introducir elitismo en los algoritmos es decir el mejor individuo encontrado sobreviviraacute a la siguiente generacioacuten De esta forma ahora tambieacuten se puede modificar esta uacuteltima fase para conseguir el balanceo apropiado entre exploracioacuten e intensificacioacuten

En los uacuteltimos antildeos algunos de los trabajos maacutes exitosos en el aacuterea de evitacioacuten de convergencia prematura se han basado en considerar el criterio de parada y evaluaciones realizadas para balancear entre exploracioacuten e intensificacioacuten Esto se fundamenta en la premisa de que el grado entre exploracioacuten e intensificacioacuten deberiacutea variar a lo largo de la ejecucioacuten por lo tanto tiene sentido que las decisiones tomadas por las componentes variacuteen en funcioacuten del instante de ejecucioacuten Particularmente en este capiacutetulo se describen dos aportaciones que pertenecen a este grupo de teacutecnicas La primera que se aplica en el aacuterea de Evolucioacuten Diferencial (Differential Evolution mdash de) recibe el nombre de de Mejorado con Mantenimiento de Diversidad (de with Enhanced Diversity Maintenance mdash de-edm) e integra una estrategia de reemplazo que maneja la diversidad de forma expliacutecita con una poblacioacuten eacutelite En la fase de reemplazo que incorpora el de-edm se promueve un balanceo dinaacutemico entre exploracioacuten e intensificacioacuten teniendo en cuenta para ello el criterio de paro y las evaluaciones transcurridas para la toma de decisiones Concretamente en las primeras etapas se induce un grado de exploracioacuten alto ya que los individuos sobrevivientes son diversificados y posteriormente conforme transcurren las generaciones se induce un mayor grado de intensificacioacuten La segunda aportacioacuten estaacute enfocada a la extensioacuten de operadores de cruza Particularmente se analizan los componentes que conforman al Operador de Cruza basado en Simulacioacuten Binaria (Simulated Binary Crossover - SBX) y se propone una variante dinaacutemica (Dynamic Simulated Binary Crossover mdash dsbx) en la

que el comportamiento interno es alterado en base al criterio de paro y a las evaluaciones realizadas hasta el momento

El resto de este capiacutetulo estaacute organizado de la siguiente forma En primer lugar en la seccioacuten 2 se revisan algunas de las teacutecnicas maacutes populares que se han propuesto para promover el mantenimiento de diversidad exponiendo una de las clasificaciones maacutes extendidas Posteriormente en la seccioacuten 3 se describe y valida experimentalmente la aportacioacuten basada en evolucioacuten diferencial donde se considera la diversidad de forma expliacutecita en la fase de reemplazamiento Siguiendo esta misma liacutenea en la seccioacuten 4 se lleva a cabo un anaacutelisis del operador de cruza sbx mencionando algunas de sus implicaciones en la diversidad y se expone en base a ello una variante dinaacutemica que se valida experimentalmente con problemas multi-objetivo Finalmente en la seccioacuten 5 se exponen las conclusiones y trabajos futuros trazados en base a los resultados obtenidos

Preservacioacuten de diversidad en algoritmos evolutivos La convergencia prematura es una problemaacutetica muy conocida en el aacutembito de los eas por lo que se han desarrollado gran cantidad de teacutecnicas para lidiar con la misma Estas teacutecnicas modifican de manera directa o indirecta la cantidad de diversidad mantenida por el algoritmo y variacutean desde teacutecnicas generales hasta mecanismos dependientes de un problema dado En este apartado se revisan algunas de las teacutecnicas generales maacutes populares Inicialmente se describen algunas maneras de clasificar a este tipo de estrategias para posteriormente describir mecanismos claacutesicos especiacuteficos asiacute como algunas estrategias maacutes novedosas que se basan en modificar la estrategia de reemplazamiento Finalmente dado que en este capiacutetulo se extiende de se revisan tambieacuten los trabajos de esta aacuterea que tienen una relacioacuten estrecha con el manejo de diversidad Se recomienda a los lectores que requieran conocer estos mecanismos con maacutes detalle consultar asiacute como los artiacuteculos especiacuteficos en que cada meacutetodo es propuesto

Clasificaciones de mecanismos para promover la diversidad Debido a la gran cantidad de meacutetodos desarrollados en esta aacuterea se han propuesto varias clasificaciones de los mismos Liu et al propuso diferenciar entre los enfoques uni-proceso y multi-proceso En el enfoque uni-proceso se modifica la preservacioacuten de la diversidad actuando sobre un uacutenico componente del ea Es importante destacar que en los enfoques uni-proceso no se excluye el uso de otros componentes en el proceso de exploracioacuten yo intensificacioacuten sino que maacutes bien si no se consigue el balanceo adecuado soacutelo se modifica una componente hasta conseguir el comportamiento deseado Por otra parte en los enfoques multi-proceso se tiene en cuenta las implicaciones que varios componentes provocan sobre el balanceo y se actuacutea

modificando o redisentildeando varios de ellos hasta conseguir el comportamiento adecuado Los esquemas uni-proceso son mucho maacutes habituales actualmente y en particular las dos propuestas incluidas en este capiacutetulo son mecanismos uni-proceso

Extendiendo a lo anterior se propuso una clasificacioacuten maacutes especiacutefica en la que se tiene en cuenta cuaacutel es la componente que se cambia para categorizar a cada meacutetodo En este sentido los maacutes populares son los siguientes

bull Enfoques basados en la seleccioacuten son los maacutes claacutesicos y se basan en cambiar la presioacuten de seleccioacuten que se produce hacia las zonas promisorias a la hora de realizar la seleccioacuten de padres

bull Enfoques basados en poblacioacuten se modifica el modelo poblacional utilizando algunas teacutecnicas como variar el tamantildeo de la poblacioacuten de forma dinaacutemica eliminar individuos duplicados utilizar teacutecnicas de infusioacuten o establecer un estrategia de islas con migraciones

bull Enfoques basados en ela cruza yo la mutacioacuten se basan en redisentildear los operadores de cruza yo mutacioacuten considerando en algunos casos informacioacuten especiacutefica del problema Tambieacuten se incluyen en este grupo opciones maacutes generales como aplicar restricciones sobre el emparejamiento yo incluir operadores disruptivos que podriacutean ser utilizados soacutelo en ciertos instantes del proceso de optimizacioacuten

Esquemas claacutesicos para administrar la diversidad Los primeros eas se basaron principalmente en esquemas generacionales que no incluiacutean fase de reemplazo En estos esquemas la seleccioacuten de padres era la principal responsable de que se muestrearan con mayor probabilidad las zonas maacutes promisorias encontradas hasta el momento y por tanto muchos de los primeros esquemas que trataron de evitar la convergencia prematura se basaron en modificar el proceso de seleccioacuten de padres Asiacute en los 90s se desarrollaron varios esquemas que alteraban la presioacuten de seleccioacuten de forma estaacutetica o dinaacutemica Sin embargo con base en varios estudios teoacutericos y experimentales se observoacute que generalmente actuar exclusivamente sobre el operador de seleccioacuten no es suficiente especialmente cuando se quieren realizar ejecuciones a largo plazo ya que se requeririacutean poblaciones excesivamente grandes para mantener un grado adecuado de diversidad

Otra alternativa fue modificar los modelos poblacionales encontrando en este grupo los esquemas basados en islas los celulares o maacutes recientemente los basados en agrupaciones o cluacutesteres La idea de introducir restricciones en el emparejamiento principalmente con base en la ubicacioacuten de los individuos en el espacio de buacutesqueda tambieacuten ha sido bastante exitosa aunque controlar los mismos para obtener el balanceo apropiado ante diferentes criterios de parada es

bastante complejo En algunos casos resultoacute ser maacutes prometedor promover el emparejamiento entre individuos no similares mientras que en otros escenarios se hace exactamente lo opuesto Otro problema comuacuten de muchas de las estrategias anteriores es que suelen introducir paraacutemetros adicionales por lo que el proceso de ajuste de paraacutemetros que ya de por siacute es un problema importante en los eas se vuelve auacuten maacutes complejo Es importante resaltar que todas estas estrategias claacutesicas no evitan por completo la convergencia sino que la idea es disponer de mecanismos para acelerarla o retrasarla

Otra alternativa diferente ha sido adaptar la fase de variacioacuten En este sentido se han desarrollado diversas teacutecnicas para controlar los paraacutemetros que se consideran en la variacioacuten con el propoacutesito de adaptar el balanceo entre exploracioacuten e intensificacioacuten En algunos casos esto se consigue usando distintos valores en los paraacutemetros para distintas etapas a lo largo del proceso de optimizacioacuten mientras que en otros casos se hacen cambios maacutes draacutesticos y se consideran varios operadores con distintas propiedades Tambieacuten existen mecanismos adaptativos que usan una memoria para almacenar informacioacuten histoacuterica sobre los efectos de la variacioacuten y con base en ello ir modificaacutendola Cabe destacar que en la mayor parte de estos esquemas no se considera la diversidad de forma directa sino que soacutelo se considera para analizar el comportamiento y con base en ello se procede a un redisentildeo

Finalmente un esquema muy sencillo pero no por ello menos importante es el basado en reinicios En estos esquemas en lugar de evitar la convergencia acelerada se aplica un reinicio total o parcial de la poblacioacuten cada cierto nuacutemero de generaciones o cuando se detecta que la poblacioacuten ha convergido Con base en esto se han propuesto diversas estrategias para establecer los puntos de reinicio Estos esquemas se implementan de forma muy sencilla y en algunos casos han proporcionado mejoras significativas por lo que es un meacutetodo a tener en cuenta al menos como alternativa inicial Es comuacuten combinar las estrategias basadas en reinicio con algunas de las teacutecnicas anteriores ya que dichas teacutecnicas estaacuten basadas en mantener la diversidad mientras que en esta uacuteltima el objetivo es recuperar la diversidad

Esquemas de reemplazamiento basados en diversidad Recientemente se han propuesto diversos mecanismos que modifican la fase de reemplazo para preservar la diversidad La idea principal de estos esquemas es inducir un grado de exploracioacuten adecuado diversificando a los individuos sobrevivientes de forma que los operadores de reproduccioacuten puedan generar nuevas soluciones en diferentes regiones en las siguientes generaciones Estos meacutetodos estaacuten basados en el principio de que los operadores de cruza tienen un efecto de exploracioacuten al considerar individuos distantes y de intensificacioacuten al considerar individuos proacuteximos

El esquema de pre-seleccioacuten propuesto por Cavicchio es uno de los primeros estudios que utilizan la fase de reemplazamiento para controlar la diversidad El esquema inicial de Cavicchio se extendioacute para generar el esquema denominado amontonamiento o crowding el cual ha sido muy popular en los uacuteltimos antildeos El principio del crowding se basa en que los nuevos individuos que entren en la poblacioacuten sustituyan a individuos similares de generaciones anteriores y con base en este principio se han formulado diversas implementaciones

En esta misma liacutenea se han propuesto otras estrategias de reemplazo con el propoacutesito de promover la diversidad Uno de los procedimientos maacutes populares es la Estrategia de Limpieza (Clearing Strategy - clr) En el procedimiento clr se agrupan a los individuos en grupos denominados nichos y los mejores individuos de cada nicho son preservados e incluidos en la poblacioacuten de la siguiente generacioacuten Un inconveniente de este procedimiento es que los casos en que se detectan muchos nichos provocan una fuerte inmovilizacioacuten de la poblacioacuten Por ello Petrowski propuso una variante para uacutenicamente seleccionar a individuos cuya aptitud sea mejor que la media de la poblacioacuten

Otros meacutetodos de este grupo consideran funciones de aptitud que combinan la funcioacuten objetivo original con la diversidad Sin embargo es complejo construir una funcioacuten compuesta ya que las dos mediciones podriacutean no ser directamente compatibles y por lo tanto las funciones adecuadas suelen depender de cada problema Una forma de suavizar este inconveniente fue propuesto en el algoritmo de combinacioacuten (COMB) donde los individuos son ordenados y categorizados con base en su aptitud y contribucioacuten a la diversidad y la funcioacuten compuesta se disentildea con base en el orden y no con base en los valores de funcioacuten objetivo y contribucioacuten a diversidad La principal desventaja del COMB es que requiere dos paraacutemetros de usuario aunque independientemente de esto se ha usado con bastante eacutexito Otra alternativa es el procedimiento Reemplazamiento Basado en Contribucioacuten a la Diversidad y Sustitucioacuten del Peor (Contribution of DiversityReplace Worst - CDRW) En el meacutetodo CDRW un nuevo individuo reemplaza a un miembro de la poblacioacuten cuyo rendimiento sea peor tanto en aptitud como en contribucioacuten a la diversidad En caso de no encontrar un peor individuo bajo estos dos criterios se procede a reemplazar al peor individuo en la poblacioacuten considerando uacutenicamente a la aptitud Una uacuteltima alternativa se basa en considerar a la contribucioacuten a la diversidad como un objetivo adicional y aplicar un esquema de optimizacioacuten multi-objetivo Estos enfoques son identificados como algoritmos multi-objetivo basados en diversidad Existen varias estrategias para calcular el objetivo auxiliar Uno de los enfoques maacutes populares consiste en calcular la contribucioacuten a la diversidad de cada individuo con base en la Distancia al Vecino maacutes Cercano (Distance to the Closest Neighbor - DCN) de entre los individuos que ya hayan sido seleccionados como supervivientes

Diversidad en evolucioacuten diferencial Los algoritmos basados en de son altamente susceptibles a la peacuterdida de diversidad debido a que se basan en una estrategia de seleccioacuten muy elitista Debido a ello se han desarrollado varios anaacutelisis para lidiar con este problema Dado que en el aacuterea se conoce al menos de manera general las implicaciones que tiene cada paraacutemetro sobre la diversidad algunos autores han trabajado en estimar de forma teoacuterica cuaacuteles deben ser los paraacutemetros adecuados para que se produzca cierto tipo de comportamiento Otros autores han estudiado el efecto que tiene la norma de los vectores de diferencia sobre la mutacioacuten y con base en ello se han propuesto mecanismos que prohiacuteben ciertos movimientos que pueden resultar perjudiciales para la diversidad En este uacuteltimo estudio el tipo de movimientos aceptados variacutea a lo largo de la ejecucioacuten descartando a los movimientos cuyos desplazamientos sean menores a un umbral el cual es decrementado conforme transcurren las generaciones Ademaacutes se han propuesto otras formas para establecer los movimientos aceptados

Una alternativa distinta se basa en alterar el operador de seleccioacuten Especiacuteficamente con el propoacutesito de mantener mayor diversidad en la poblacioacuten se altera la presioacuten de seleccioacuten utilizando una seleccioacuten probabiliacutestica que permite escapar en algunos casos de las bases de atraccioacuten de oacuteptimos locales Sin embargo este meacutetodo no es demasiado robusto debido a que considera la aptitud para definir las probabilidades para seleccionar a un individuo por lo que ciertas transformaciones de la funcioacuten pueden modificar de forma draacutestica el tipo de buacutesqueda que se realiza

Finalmente la variante de con Diversidad de la Poblacioacuten Auto-Mejorado (Auto-Enhanced Population Diversity - AEPD) mide la diversidad de forma expliacutecita y cuando se detecta la existencia de un nivel bajo de diversidad en la poblacioacuten se lanza un mecanismo de diversificacioacuten Esta propuesta se ha extendido para considerar diferentes esquemas de perturbacioacuten

Es interesante hacer notar que las variantes de de que alcanzaron los primeros lugares en varias competencias de optimizacioacuten durante los uacuteltimos antildeos no consideran estas modificaciones y ademaacutes estas variantes no han sido incorporadas en las herramientas de optimizacioacuten maacutes populares Esto puede deberse a que muchos de los concursos estaacuten orientados a obtener resultados en un nuacutemero de evaluaciones bastante limitado en lugar de a largo plazo que es el aacutembito en el que maacutes beneficios suelen dar los mecanismos de control de diversidad

Disentildeo de evolucioacuten diferencial basado en diversidad

Evolucioacuten diferencial Conceptos baacutesicos Esta seccioacuten estaacute dedicada a revisar la variante claacutesica de de y a introducir varios teacuterminos importantes que son utilizados en el campo de de El esquema claacutesico de de es identificado como derand1bin y ha sido ampliamente usado como base para el desarrollo de variantes maacutes complejas De hecho la propuesta que se presenta en este capiacutetulo como ejemplo extiende al derand1bin de fue propuesto como un meacutetodo de buacutesqueda directa para optimizacioacuten continua mono-objetivo y es el aacutembito en que se usaraacute en este capiacutetulo es decir se considera la Ecuacioacuten ([eqnModel_general]) fijando

de es un algoritmo estocaacutestico basado en poblacioacuten por lo que en cada instante maneja un conjunto de soluciones candidatas que van evolucionando de forma iterativa En de dichas soluciones candidatas son usualmente conocidas como vectores En la variante baacutesica de de para cada miembro de la poblacioacuten (conocidos como vectores objetivo) se genera un nuevo vector que es conocido como el vector mutado A continuacioacuten el vector mutado se combina con el vector objetivo para generar al vector de prueba y finalmente se procede con la fase de seleccioacuten para elegir a los vectores sobrevivientes De esta forma las generaciones transcurren de forma iterativa hasta cumplir el criterio de paro En esta capiacutetulo el -eacutesimo vector de la poblacioacuten en la generacioacuten se denota como A continuacioacuten se explica en maacutes detalle cada componente de de

Inicializacioacuten

Usualmente de inicia el proceso de optimizacioacuten con una poblacioacuten de vectores que son creados de forma aleatoria Habitualmente los vectores de la poblacioacuten inicial son generados con base en una distribucioacuten uniforme ya que usualmente no se posee informacioacuten sobre cuaacuteles son las zonas maacutes promisorias del espacio de buacutesqueda Por lo tanto el -eacutesimo componente del -eacutesimo vector es inicializado de la forma donde es un nuacutemero aleatorio uniformemente distribuido entre y

Operador de mutacioacuten

Por cada vector objetivo se genera un vector mutado para lo cual se han propuesto muacuteltiples estrategias con la particularidad de que en cierta forma se usen las diferencias entre vectores La variante claacutesica de de aplica la estrategia conocida como rand1 en la cual se crea un vector mutado de la siguiente forma

M = 1

iG

rarrX iG = [x1iG x2iG xDiG]

NP

j ixji0 = x(L)

j + randi j[0 1](x(U )j minus x(L)

j )randi j[0 1] 0 1

ViG

En la Ecuacioacuten ([eqnmutation]) los iacutendices deben ser enteros distintos y son generados de forma aleatoria en el rango Ademaacutes estos iacutendices son distintos al iacutendice Es importante hacer notar que la diferencia entre los vectores es escalada por medio del paraacutemetro el cual usualmente se define en el intervalo Posteriormente el vector de diferencia (escalado) es agregado a un tercer vector lo que significa que los vectores mutados son similares a los vectores objetivo si el grado de diversidad es bajo ya que los vectores de diferencias tienen norma pequentildea Como consecuencia de esto es claro que es criacutetico mantener un grado miacutenimo de diversidad en de

Operador de cruza

El operador de cruza se aplica con el objetivo de combinar la informacioacuten de distintas soluciones candidatas y de incrementar la diversidad de los vectores Especiacuteficamente cada vector objetivo se mezcla con su correspondiente vector mutado para generar un vector de prueba La estrategia de cruza maacutes tiacutepica es conocida como cruza binomial y actuacutea de la siguiente forma

En la Ecuacioacuten ([eqncrossover]) es un nuacutemero uniformemente distribuido es

un iacutendice seleccionado aleatoriamente que asegura que genera al menos un componente de y es la proporcioacuten de cruza

Operador de seleccioacuten

Finalmente se aplica una seleccioacuten elitista para determinar los vectores sobrevivientes que participaraacuten en la siguiente generacioacuten Especiacuteficamente cada vector de prueba se compara con su correspondiente vector objetivo y sobrevive el que tiene la mejor aptitud

Debido a la forma de seleccionar a los sobrevivientes en cada generacioacuten los miembros de la poblacioacuten permanecen iguales o mejoran Por ello se considera que de hace uso de una seleccioacuten

rarrV iG =

rarrX r1G + F times (

rarrX r2G minus

rarrX r3G) r1 ne r 2 ne r3

r1 r 2 r3 isin [1 NP ][1 NP ]

iF [04 1]

rarrX iG

rarrViGrarr

UiG = [u1iG u2iG uDiG]

rarrUjiG =

rarrV jiG si (randi j[0 1] le CR o j = jrand)rarrX jiG de otra forma

randi j[0 1] jrandrarrUiGrarr

V iG CR isin [0 1]

rarrX jiG+1 =

rarrUiG si f (

rarrUiG) le f (

rarrX iG)

rarrX iG de otra forma

muy elitista y es una de las razones por la que en ciertos casos puede sufrir de una convergencia demasiado acelerada

Propuesta basada en diversidad El meacutetodo que se presenta en esta seccioacuten estaacute motivado principalmente por dos trabajos El primero de ellos es un estudio empiacuterico desarrollado por Montgomery et al que confirma que de sufre de convergencia prematura en varios problemas El segundo es un trabajo propuesto por Segura et al que proporciona mejoras significativas en el campo de optimizacioacuten combinatoria utilizando para ello una fase de reemplazo conocida como Reemplazo con Control de Diversidad Dinaacutemica Basada en Varios Objetivos (Replacement with Multi-objective based Dynamic Diversity Control - rmddc) Particularmente el rmddc controla el grado de diversidad relacionaacutendolo con el criterio de paro y generaciones transcurridas Con base en las conclusiones de cada uno de los trabajos en esta seccioacuten se ilustra una propuesta que es una variante novedosa de de que incluye un mecanismo de reemplazo que sigue los mismos principios que guiaron el disentildeo de rmddc Este nuevo algoritmo recibe el nombre de Evolucioacuten Diferencial con Mantenimiento Mejorado de Diversidad (Differential Evolution with Enhanced Diversity Maintenance - de-edm) y su coacutedigo fuente estaacute disponible 5

de-edm (ver Algoritmo [algDEEDM]) es bastante similar a la versioacuten claacutesica de de de hecho la forma en que se crean los vectores de prueba (liacuteneas 5 y 6) se mantiene intacta La novedad del de-edm es que incorpora una poblacioacuten eacutelite ( ) y una estrategia de reemplazo basada en diversidad Especiacuteficamente con el propoacutesito de seleccionar a los miembros de la poblacioacuten eacutelite se considera el operador de seleccioacuten elitista de la versioacuten claacutesica de de (liacutenea 7) Posteriormente se aplica la estrategia de reemplazo (liacutenea 8) para determinar a los sobrevivientes Siguiendo la misma filosofiacutea que en el rmddc los individuos que contribuyen muy poco a la diversidad no deberiacutean ser aceptados como miembros de la siguiente generacioacuten Para conseguir este propoacutesito se considera tanto el criterio de paro como las generaciones transcurridas en la seleccioacuten Asiacute se estableceraacute un grado de diversidad miacutenimo deseado dependiente del tiempo de ejecucioacuten

Inicializar de forma aleatoria a la poblacioacuten con individuos donde cada uno es distribuido de forma uniforme Mutacioacuten Generar al vector mutado ( ) de acuerdo a la Ecuacioacuten ([eqnmutation]) Cruza Utilizar la recombinacioacuten para generar al vector de prueba ( ) de acuerdo a la Ecuacioacuten ([eqncrossover]) Seleccioacuten Actualizar al vector eacutelite ( en lugar de

E

NPG = 0 ViG

UiGEiG

El coacutedigo en C++ puede ser descargado en la siguiente direccioacuten httpsgithubcom5

joelchaconcastilloDiversity_DE_Researchgit

) de acuerdo a la Ecuacioacuten ([eqnselection]) Reemplazo Seleccionar a los vectores objetivo ( ) de acuerdo al Algoritmo [algReplacement]

[algDEEDM]

La estrategia de reemplazo (ver Algoritmo [algReplacement]) funciona de la siguiente forma Inicialmente recibe a la poblacioacuten padre (vectores objetivo) a la poblacioacuten de hijos (vectores de prueba) y a los vectores eacutelite De entre todos ellos debe seleccionar a vectores para formar la siguiente poblacioacuten de padres En primer lugar con base en el nuacutemero de evaluaciones de funcioacuten transcurridas y el criterio de parada se calcula una distancia miacutenima deseada ( ) para mantener en la poblacioacuten (liacutenea 2) A continuacioacuten se juntan las tres poblaciones en un conjunto de miembros candidatos (liacutenea 3) que contiene en cada momento a los vectores candidatos que podriacutean ser seleccionados para sobrevivir Posteriormente se inicializa tanto el conjunto de individuos sobrevivientes como los penalizados con el conjunto vaciacuteo (liacutenea 4) Para seleccionar a los sobrevivientes se repite el proceso iterativo (liacuteneas 5 - 13) que se describe a continuacioacuten En cada iteracioacuten se comienza seleccionando como sobreviviente al mejor individuo del Conjunto de Candidatos es decir al individuo que tiene la mejor aptitud Este individuo se mueve al Conjunto de Sobrevivientes y los individuos del Conjunto de Candidatos cuya distancia al individuo seleccionado sea menor que se transfieren al Conjunto de Penalizados (liacutenea 9) La forma de calcular la distancia entre dos individuos es con base en la distancia Euclidiana normalizada descrita en la Ecuacioacuten ([eqndistance]) donde es la dimensioacuten del problema y son los liacutemites menores y mayores de la dimensioacuten En los casos donde el conjunto de Candidatos queda vaciacuteo antes de seleccionar a individuos el Conjunto de Sobrevivientes se llena seleccionando en cada iteracioacuten al individuo con la mayor distancia al individuo maacutes cercano del Conjunto de Sobrevivientes (liacuteneas 10 - 13)

Entrada Poblacioacuten (Vectores Objetivo) Hijos (Vectores de prueba) y Elite Actualizar Candidatos = Poblacioacuten Hijos Elite Sobrevivientes Penalizados Seleccionados = Seleccionar al mejor individuo de Candidatos Eliminar Seleccionado de Candidatos Copiar Seleccionado a Sobrevivientes Encontrar a los individuos de Candidatos cuya distancia a Seleccionados sea menor que y moverlos a Penalizados En esta parte se considera la distancia normalizada (Ecuacioacuten

XiGXG+1 G = G + 1

NP

Dt

NP

Dt

Dx(L)

d x(U )d d

NPPenalizado

distancia(xi xj) =

sumDd=1 (

x di minus xd

j

x(U )d minus x(L)

d )2

D

Dt = DI minus DI(n fes (095ma x_n fes)) cup cup= = empty

Dt

[eqndistance]) Seleccionado = Seleccionar al individuo de Penalizados con la mayor distancia al individuo maacutes cercano a Sobrevivientes Eliminar Seleccionado de Penalizados Copiar Seleccionado a Sobrevivientes

Con el propoacutesito de completar la descripcioacuten de de-edm se especifica la forma en que se calcula y el procedimiento con el cual se actualizan a los individuos eacutelite El resto del algoritmo se mantiene igual que la variante claacutesica de de El valor de se utiliza para alterar el grado entre exploracioacuten e intensificacioacuten por lo tanto el valor adecuado para este paraacutemetro depende del instante de ejecucioacuten Especiacuteficamente este valor deberiacutea ser reducido conforme se alcanza el criterio de paro con el objetivo de promover mayor intensificacioacuten en las uacuteltimas etapas de optimizacioacuten En nuestro esquema se requiere asignar un valor inicial para ( ) y a continuacioacuten de manera similar a como se hace en se realiza una reduccioacuten lineal de considerando las evaluaciones transcurridas y el criterio de paro Particularmente en este trabajo el criterio de paro se asigna con base en las evaluaciones a funcioacuten y la reduccioacuten se calcula de tal forma que al del nuacutemero maacuteximo de evaluaciones el valor de diversidad miacutenimo requerido es cero lo que quiere decir que en la uacuteltima fase la diversidad no es considerada para nada Entonces denotando al nuacutemero maacuteximo de evaluaciones y al nuacutemero de e v a l u a c i o n e s t r a s c u r r i d a s e s c a l c u l a d o d e l a s i g u i e n t e f o r m a

La distancia inicial ( ) afecta de forma considerable al rendimiento de de-edm Si este paraacutemetro es elevado el algoritmo maximiza la diversidad de la poblacioacuten en las primeras etapas de optimizacioacuten resultando en una exploracioacuten adecuada que es muy importante en varios tipos de problemas como los multi-modales y deceptivos Sin embargo un valor demasiado elevado de podriacutea inducir un grado excesivo de exploracioacuten y en consecuencia la intensificacioacuten podriacutea fallar Por otra parte un valor muy pequentildeo de provocariacutea muy poca exploracioacuten y por lo tanto seriacutea maacutes difiacutecil evitar oacuteptimos locales El valor oacuteptimo de podriacutea variar dependiendo del tipo de problema y el criterio de paro Sin embargo en esta primera versioacuten no se adapta el valor de para cada problema En su lugar se realizoacute un anaacutelisis previo para determinar un valor adecuado usaacutendose el valor en todos los problemas

Al igual que en la versioacuten estaacutendar de de en de-edm es necesario asignar una probabilidad de cruza ( ) y un factor de mutacioacuten ( ) De acuerdo a varios estudios desarrollados por Montgomery y otros la probabilidad de cruza tiene un efecto muy importante Estos autores mostraron de forma empiacuterica que los valores extremos de resultan en comportamientos muy distintos entre siacute pero de gran utilidad Asiacute los valores pequentildeos de resultan en una buacutesqueda alineada a un nuacutemero reducido de ejes e induce pequentildeos desplazamientos Esto provoca una mejora gradual con convergencia lenta que en algunos escenarios podriacutea resultar

Sobrevivientes

DtDt

Dt DIDt

95

ma x_n fes n fesDt

Dt = DI minus DI(n fes (095ma x_n fes))

DI

DIDI

DI

DIDI = 03

CR F

CRCR

beneficioso Por otra parte los valores elevados de en general proporcionan soluciones de mayor calidad con una menor probabilidad ya que se tiende a realizar desplazamientos largos Sin embargo cuando son exitosos puedan mejorar la aptitud de forma significativa y permiten explorar zonas distantes Con base en esto en nuestra propuesta se emplean los dos mecanismos es decir valores elevados y pequentildeos de tal y como se muestra en la Ecuacioacuten ([eqncr])

Por otro lado siguiendo los principios de distintas variantes del SHADE se consideran las evaluaciones transcurridas para generar el factor de mutacioacuten aplicado Particularmente cada valor se muestrea de una distribucioacuten Cauchy (Ecuacioacuten [eqncauchy])

El efecto de esta distribucioacuten es que en las primeras etapas de optimizacioacuten se generen valores de cercanos a Posteriormente conforme la ejecucioacuten transcurre la funcioacuten de densidad sufre una transformacioacuten gradual ya que la varianza se incrementa Esto implica que se generen valores fuera del intervalo con una probabilidad maacutes alta En los casos en que los valores son mayores a se utiliza el valor mientras que si se genera un valor negativo se vuelve a muestrear el valor Uno de los efectos de este enfoque es el de incrementar la probabilidad de generar valores elevados de conforme transcurren las generaciones lo que ayuda a evitar la convergencia acelerada en las uacuteltimas etapas de optimizacioacuten

Resultados de de-edm En esta seccioacuten se presenta la validacioacuten experimental de de-edm Especiacuteficamente se muestra que se pueden mejorar los resultados de los algoritmos del estado-del-arte controlando de forma expliacutecita la diversidad Particularmente se consideraron los conjuntos de prueba de los concursos de optimizacioacuten continua organizados en el cec 2016 y cec 2017 Cada uno estaacute compuesto de treinta problemas distintos En la comparativa incluimos a los algoritmos que obtuvieron los primeros lugares en cada antildeo asiacute como una versioacuten de de que usa la misma parametrizacioacuten que de-edm pero que no incluye la poblacioacuten eacutelite ni el reemplazamiento basado en diversidad Los algoritmos considerados del cec 2016 son el UMOEAs-II y L-SHADE-EpSin que alcanzaron el primero y el segundo lugar respectivamente mientras que del cec 2017 se consideran el EBOwithCMAR y el jSO Todos estos algoritmos fueron probados con los dos conjuntos de prueba como se sugiere en Debido a que todos los algoritmos son estocaacutesticos se realizaron 51 ejecuciones con distintas semillas y en cada caso el criterio de paro fue asignado a de evaluaciones de la funcioacuten objetivo Ademaacutes se consideraron diez variables en cada funcioacuten

CR

CR

CR = Nor mal(02 01) si rand[0 1] le 05Nor mal(09 01) de otra forma

FF

Cauchy(05 05n fes ma x_n fes)

F 05

[00 10]10 10

F

25 000 000

( ) La evaluacioacuten de los algoritmos se realizoacute siguiendo los lineamientos de las competencias del cec de forma que se asignoacute un error igual a si la diferencia entre la mejor solucioacuten encontrada y la solucioacuten oacuteptima era menor que Para cada algoritmo se utilizoacute la parametrizacioacuten indicada por sus autores y que se describe a continuacioacuten

bull EBOwithCMAR Para la parte EBO el tamantildeo maacuteximo de la poblacioacuten de el tamantildeo miacutenimo de la poblacioacuten de el tamantildeo maacuteximo de la poblacioacuten de el tamantildeo miacutenimo de la poblacioacuten de el tamantildeo de la memoria histoacuterica H= Para la parte de CMAR el tamantildeo de la poblacioacuten CS = la probabilidad de buacutesqueda local y

bull UMOEAs-II Para la parte de MODE el tamantildeo maacuteximo de la poblacioacuten de el tamantildeo miacutenimo de la poblacioacuten de el tamantildeo de la memoria histoacuterica H= Para la

parte del CMA-ES el tamantildeo de la poblacioacuten CS =

Para la buacutesqueda local

bull jSO El tamantildeo maacuteximo de la poblacioacuten = el tamantildeo de la memoria histoacuterica H= valor de mutacioacuten inicial de la memoria probabilidad inicial de la memoria tamantildeo miacutenimo de la poblacioacuten = valor inicial p-best = valor final p-best =

bull L-SHADE-EpSin Tamantildeo maacuteximo de la poblacioacuten = tamantildeo de la memoria histoacuterica H= valor de la mutacioacuten inicial de la memoria probabilidad inicial de la memoria frecuencia inicial de la memoria tamantildeo miacutenimo de la poblacioacuten = valor inicial p-best = valor final p-best = generaciones de la buacutesqueda local

bull DE-EDM tamantildeo de la poblacioacuten =

bull Standard-DE Tamantildeo de la poblacioacuten = (mismos operadores que en de-edm)

Nuestro anaacutelisis experimental se realizoacute teniendo en cuenta la diferencia entre la solucioacuten oacuteptima y la mejor solucioacuten obtenida y para comparar los resultados estadiacutesticamente se siguioacute un procedimiento similar que el propuesto en Concretamente en primer lugar se utilizoacute la prueba Shapiro-Wilk para comprobar si los resultados se ajustaban a una distribucioacuten Gaussiana En los casos en que siacute se ajustaban se utilizoacute la prueba de Levene para comprobar la homogeneidad de las varianzas procediendo con la prueba de ANOVA en caso positivo o con la prueba de Welch en caso negativo Por otro lado para los casos que no se ajustaban a distribuciones Guassianas

D = 100

10minus8

S1 = 18DS1 = 4

S2 = (1468)D S2 = 106 S3 = 4 + 3log(D)

σ = 03 50 pl = 01 cfels = 04FEmax

S1 = 18DS1 = 4 6

S2 = 4 + lfloor3log(D)rfloor μ =PS2

σ = 03

50 cfels = 02FEmax

25log(D) D5 MF = 05

MCR = 08 4 025N2

25log(D) D5 MF = 05

MCR = 05 μF = 054 025N 2

GLS = 250

DI = 03 250

250

se utilizoacute la prueba de Kruskal-Wallis En todos los casos se fijoacute el nivel de confianza al 95 Se considera que un algoritmo es superior a un algoritmo si el procedimiento anterior reporta diferencias significativas y si la media y mediana del error obtenido por el meacutetodo son inferiores a las obtenidas por el meacutetodo

En las tablas [tabSummary_CEC2016] y [tabSummary_CEC2017] se presenta un resumen de los resultados obtenidos para el cec 2016 y el cec 2017 respectivamente La columna etiquetada con ldquoSiempre Resueltordquo muestra el nuacutemero de funciones en que se obtuvo un error de cero en las 51 ejecuciones La columna etiquetada con ldquoAl menos una vez resueltordquo muestra el nuacutemero de funciones que se resolvieron en al menos una ejecucioacuten Praacutecticamente todas las funciones del cec 2017 (28 de ellas) fueron resueltas al menos una vez por nuestra propuesta Ademaacutes se resolvieron 21 funciones del cec 2016 al menos una vez Esto representa una diferencia sustancial con los resultados obtenidos por el resto de algoritmos pues todos ellos resolvieron muchas menos funciones Con el objetivo de confirmar la superioridad del de-edm se ejecutaron las pruebas estadiacutesticas por pares La columna etiquetada con el siacutembolo muestra el nuacutemero de veces en que cada meacutetodo fue superior mientras que la columna etiquetada con cuenta el nuacutemero de casos donde el meacutetodo fue inferior Finalmente la columna etiquetada con muestra el nuacutemero de comparaciones en las que las diferencias no fueron significativas Las pruebas estadiacutesticas indican que el de-edm alcanzoacute los mejores resultados en los dos antildeos De hecho el nuacutemero de comparaciones en que nuestra propuesta ganoacute en el cec 2016 y el cec 2017 fue de y respectivamente y soacutelo perdioacute en y respectivamente que son valores muy superiores a los del resto de algoritmos La uacuteltima columna etiquetada con ldquoPuntajerdquo muestra la puntuacioacuten siguiendo los lineamientos propuestos en las competencias del cec Particularmente este meacutetodo de evaluacioacuten combina dos puntajes como se indica en la Ecuacioacuten ([eqntotal_scores]) definiendo el puntaje final como

Especiacuteficamente es la sumatoria de errores del -eacutesimo algoritmo ( )

ademaacutes es el error promedio en la -eacutesima funcioacuten es la miacutenima sumatoria de errores entre todos los algoritmos Por su parte es la sumatoria del rango de cada funcioacuten en

el -eacutesimo algoritmo ( ) Ademaacutes es la sumatoria miacutenima de los rangos

X YX

Y

harr

7788 25 6

Score = Score1 + Score2

Score1 = (1 minusSEi minus SEmin

SEi ) times 50

Score2 = (1 minusSRi minus SRmin

SRi ) times 50

SEi i SEi =30

sumj=1

error_ f j

error_ f j j SEmin

SRi

i SRi =30

sumj=1

rangoj SRmin

entre todos los algoritmos Nuestra propuesta alcanzoacute el mejor puntaje de en los dos antildeos demostrando su superioridad Adicionalmente es destacable que la versioacuten estaacutendar de de alcanzoacute resultados buenos de hecho obtuvo el tercer y el segundo lugar en los antildeos 2016 y 2017 respectivamente Esto muestra que el rendimiento de los algoritmos del estado-del-arte se deteriora al considerar ejecuciones a largo plazo pues esos algoritmos que fueron muy efectivos a corto plazo no lo son tanto a largo plazo La superioridad del de-edm es clara con base en todos los tipos de comparativas descritas

Ademaacutes con el fin de proporcionar resultados que puedan usar otros autores para realizar comparativas en las tablas [tabResults_CEC2016] y [tabResults_CEC2017] se reporta el mejor peor mediana media desviacioacuten estaacutendar y razoacuten de eacutexito para el cec 2016 y 2017 respectivamente En estas tablas se observa que nuestra propuesta resuelve todos los problemas uni-modales y que en la mayor parte de los problemas multi-modales se obtienen resultados muy aceptables con respecto a los reportados por otros meacutetodos Asiacute nuestra propuesta resolvioacute y mejoroacute significativamente varias funciones complejas que no fueron resueltas por ninguno de los algoritmos restantes

[tabResults_CEC2016]

10000

Resultados del de-edm con los problemas del cec 2016

Mejor Peor Mediana Media Sd Razoacuten de eacutexito

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 360E-02 400E-03 739E-03 115E-02 392E-01

200E-02 102E-01 590E-02 577E-02 493E-02 000E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 600E-02 000E+00 588E-03 190E-02 902E-01

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

100E-02 800E-02 500E-02 467E-02 260E-02 000E+00

100E-02 500E-02 300E-02 282E-02 213E-02 000E+00

000E+00 470E-01 220E-01 199E-01 155E-01 196E-02

400E-02 150E-01 800E-02 847E-02 496E-02 000E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 200E-02 100E-02 765E-03 632E-03 314E-01

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 300E-02 000E+00 373E-03 276E-02 765E-01

000E+00 100E+02 000E+00 255E+01 510E+01 745E-01

f17

f10

f3

f20

f13

f6

f23

f16

f9

f2

f19

f12

f5

f22

f15

f8

f1

f18

f11

f4

f21

f14

f7

[tabResults_CEC2017]

000E+00 690E-01 000E+00 261E-02 133E-01 961E-01

100E+02 100E+02 100E+02 100E+02 000E+00 000E+00

800E-02 100E+02 529E+01 520E+01 319E+01 000E+00

250E-01 910E-01 540E-01 560E-01 292E-01 000E+00

000E+00 357E+02 343E+02 276E+02 160E+02 196E-01

100E+02 100E+02 100E+02 100E+02 000E+00 000E+00

184E+02 184E+02 184E+02 184E+02 325E-02 000E+00

f26

f25

f24

f30

f29

f28

f27

Resultados del de-edm con los problemas del cec 2017

Mejor Peor Mediana Media Sd Razoacuten de eacutexito

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 120E-01 000E+00 165E-02 339E-02 745E-01

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 220E-01 000E+00 637E-02 176E-01 667E-01

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

f14

f11

f8

f5

f2

f13

f10

f7

f4

f1

f15

f12

f9

f6

f3

000E+00 210E-01 000E+00 247E-02 727E-02 882E-01

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 100E-02 000E+00 196E-03 447E-03 804E-01

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 300E+02 000E+00 349E+01

103E+02 882E-01

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 100E+02 000E+00 392E+00

200E+01 961E-01

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 387E+02 387E+02 205E+02

268E+02 196E-02

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

145E+02 226E+02 218E+02 199E+02

421E+01 000E+00

395E+02 395E+02 395E+02 395E+02

210E-01 000E+00

f23

f20

f17

f28

f25

f22

f19

f16

f30

f27

f24

f21

f18

f29

f26

Disentildeo de operadores de cruza basados en diversidad La segunda propuesta se aplica en el campo de optimizacioacuten multi-objetivo y estaacute basada en la extensioacuten del operador de cruza sbx En esta seccioacuten se introducen en primer lugar varios conceptos relacionados con los algoritmos evolutivos multi-objetivo para posteriormente describir algunas de las clasificaciones maacutes populares de operadores de cruza Finalmente se realiza un anaacutelisis del operador sbx y con base en el mismo se propone una variante dinaacutemica denominada Operador de Cruza Dinaacutemico basado en Simulacioacuten Binaria (Dynamic Simulated Binary Crossover - dsbx) el cual es validado experimentalmente

Algoritmos evolutivos multi-objetivo Los eas han sido utilizados frecuentemente para lidiar con problemas de optimizacioacuten multi-objetivo (Multi-objective Optimization Problems - MOPs) Particularmente un MOP de dominio continuo y que es basado en minimizacioacuten puede ser definido como se indica en la Ecuacioacuten ([eqnModel_general]) de la seccioacuten 1 fijando la a un valor mayor que uno Dadas dos soluciones domina a denotado por si y solo si y Una solucioacuten es conocida como solucioacuten oacuteptima de Pareto si no existe otra solucioacuten que domine a El conjunto de Pareto es el conjunto de todas las soluciones oacuteptimas de Pareto y el frente de Pareto estaacute formado por las imaacutegenes del conjunto de Pareto El propoacutesito de un Algoritmo Evolutivo Multi-Objetivo (Multi-objective Evolutionary Algorithm - MOEA) es esencialmente obtener un conjunto de soluciones bien distribuidas y cercanas a las soluciones del frente de Pareto

En los uacuteltimos antildeos se han disentildeado una gran cantidad de moeas siguiendo distintos principios A raiacutez de esto se han propuesto varias taxonomiacuteas y por ejemplo en base a sus principios de disentildeo se pueden clasificar en basados en la dominancia de Pareto indicadores yo descomposicioacuten Hay algoritmos muy competitivos de cada uno de los grupos por lo que en esta seccioacuten se consideraron moeas de todos los grupos para realizar la validacioacuten Particularmente la validacioacuten experimental se desarrolloacute incluyendo a los algoritmos Algoritmo Geneacutetico basado en Ordenacioacuten de los No-Dominados (Non-Dominated Sorting Genetic Algorithm - NSGA-II) el Algoritmo Evolutivo Multi-objetivo basado en descomposicioacuten (MOEA based on Decomposition - MOEAD) y el Algoritmo Evolutivo Multi-objetivo basado en la Meacutetrica-S (the -Metric Selection Evolutionary Multi-objective Optimization Algorithm - SMS-EMOA) Estos algoritmos son representativos de los basados en dominancia basados en descomposicioacuten y basados en indicadores respectivamente

Mrarrx rarry isin Ω rarrx rarry rarrx ≺ rarry

forallm isin 1 2 M fm(xi) le fm(yi) existm isin 1 2 M fm(xi) lt fm(yi)rarrx isin Ω

rarrx isin Ωrarrx

S

Funcioacuten de densidad del operador de cruza sbx con iacutendices de distribucioacuten y Las soluciones padre estaacuten ubicadas en y respectivamente

[figfig_sim]

[figSimulation_pv]

[figSimulations_Index_20]

2 52 5

Operadores de cruza Los operadores de cruza son utilizados para generar soluciones hijas utilizando la informacioacuten de las soluciones padre Asiacute estos operadores combinan las caracteriacutesticas de dos o maacutes soluciones padre con el propoacutesito de generar nuevas soluciones candidatas En base en que en la literatura existen diversos operadores de cruza se han propuesto varias taxonomiacuteas para clasificarlos Particularmente las taxonomiacuteas se basan en varias caracteriacutesticas tales como la ubicacioacuten relativa entre padres e hijos o el tipo de relaciones existentes entre las variables

Una clasificacioacuten popular hace distincioacuten entre operadores de cruza basados en las variables y basados en los vectores En los basados en las variables cada variable de las soluciones padre son combinadas para crear nuevos valores de forma independiente siendo ideales para lidiar con problemas separables Algunos operadores que pertenecen a esta categoriacutea son el Operador de Cruza por Mezcla (the Blend Crossover - blx) y el sbx Por otra parte los operadores de recombinacioacuten basados en vectores tienen en cuenta la relacioacuten que existe entre las variables por lo que la combinacioacuten no es independiente Asiacute este tipo de operadores pueden por ejemplo realizar combinaciones lineales de las soluciones involucradas Algunos operadores que pertenecen a esta categoriacutea son el Operador de Cruza Unimodal Normalmente Distribuido (Unimodal Normally Distributed Crossover - undx) y el Operador de Cruza Simplex (Simplex Crossover - spx)

Adicionalmente los operadores de cruza pueden ser clasificados como centrados en los padres y centrados en la media En los operadores centrados en los padres las soluciones hijas tienden a ser creadas alrededor de cada solucioacuten padre mientras que en los operadores centrados en la media se tiende a crear a las soluciones hijas alrededor de la media de los valores de las soluciones padres

El operador de cruza basado en simulacioacuten binaria - SBX

Entre los operadores de cruza el Operador de Cruza Basado en Simulacioacuten Binaria (Simulated Binary Crossover - sbx) es uno de los maacutes utilizados en dominios continuos y fue el que se decidioacute extender en nuestra propuesta por lo que esta seccioacuten se centra en este operador de cruza El operador sbx es clasificado como un operador centrado en los padres por lo que los valores asociados a los hijos ( y ) tienden a ser cercanos a los valores de los padres ( y ) Especiacuteficamente el proceso para generar los valores de las soluciones hijas se basa en utilizar una distribucioacuten de probabilidad Esta distribucioacuten controla el factor de dispersioacuten el cual es definido como la razoacuten entre la distancia de los valores de las soluciones hijas y la distancia entre los valores de las soluciones padre Esta funcioacuten de densidad se define con base en un iacutendice de distribucioacuten (es un paraacutemetro de control

c1 c2 p1 p2

β = |c1 minus c2 | | p1 minus p2 |

ηc

especificado por el usuario) el cual altera la capacidad de exploracioacuten Especiacuteficamente un iacutendice pequentildeo induce una probabilidad elevada de crear valores de las soluciones hijas distantes de los valores de las soluciones padre mientras que iacutendices elevados tienden a crear soluciones muy similares a las soluciones padre lo cual se ilustra en la figura [figfig_sim] La definicioacuten matemaacutetica de la distribucioacuten y la forma de generar los valores de las soluciones hijas pueden ser estudiados en Las ecuaciones iniciales fueron formuladas con base en un problema de optimizacioacuten sin liacutemites en las variables Sin embargo en muchos problemas cada variable estaacute limitada dentro de un liacutemite inferior y superior Para considerar los liacutemites del espacio de decisioacuten se propuso una modificacioacuten de la distribucioacuten de probabilidad que es la que se usa en este artiacuteculo Para el caso de nuestro meacutetodo no es demasiado importante conocer la foacutermula exacta sino el efecto del valor que se ha ilustrado previamente

[algSBX_Operator]

Entrada Soluciones padre ( ) Iacutendice de distribucioacuten ( ) Probabilidad de cruza ( ) Salida Soluciones hijo ( ) [alginherit_variable] Generar utilizando las distribuciones dadas en Generar utilizando las distribuciones dadas en Intercambiar con

Es importante aclarar que la primera versioacuten del sbx fue disentildeada con base en una sola variable Posteriormente los autores consideraron aplicarlo a problemas con muacuteltiples variables considerando una estrategia simple para escoger las variables que se van a cruzar Especiacuteficamente con base en los principios del operador de cruza uniforme cada variable es cruzada con una probabilidad igual a A pesar de su sencillez y de no tener en cuenta las posibles dependencias entre variables hoy en diacutea eacutesta es la forma maacutes comuacuten de aplicar el sbx

Implementacioacuten y anaacutelisis del operador sbx

En este apartado se discuten algunas de las principales caracteriacutesticas de la implementacioacuten maacutes utilizada del operador sbx para problemas con muacuteltiples variables Esencialmente se consideran tres componentes clave que podriacutean afectar al rendimiento de los moeas En primer lugar como ya se mencionoacute anteriormente cada variable es alterada con una probabilidad fija igual a Si este valor de probabilidad se incrementa entonces los hijos tienden a crearse a mayor distancia de los padres debido a que se modifican maacutes variables de forma simultaacutenea En los problemas separables en general interesa modificar soacutelo una variable mientras que en los no separables suele ser maacutes conveniente modificar varias variables a la vez En la figura [figSimulation_pv] se pueden observar las implicaciones de modificar esta probabilidad considerando un problema con dos variables Particularmente en la parte derecha se muestra que una probabilidad pequentildea provoca que algunos valores permanezcan intactos es decir hay una tendencia de generar

ηc

P1 P2 ηc PcC1 C2 C1d

C2d C1d C2dC1d = P1d C2d = P2d C1 = P1 C2 = P2

05

05

desplazamientos paralelos a los ejes lo cual suele ser ideal para problemas separables Por otra parte en la parte izquierda se muestra que utilizando una probabilidad elevada existe un comportamiento de buacutesqueda distinto donde la tendencia anterior desaparece lo cual podriacutea ser oportuno para problemas no separables Es importante destacar que existe una relacioacuten entre esta probabilidad y el iacutendice de distribucioacuten ya que estos dos factores tienen un efecto directo en la similitud que existe entre las soluciones padres e hijas

[figSimulation_Case_3]

El segundo aspecto importante es que despueacutes de generar los dos valores de las soluciones hijas estos valores son intercambiados con una probabilidad fija (usualmente es ) es decir el valor de la solucioacuten hija no siempre es heredado a partir de la solucioacuten padre maacutes cercana Esta es una caracteriacutestica no muy discutida sin embargo es un aspecto muy relevante que afecta al rendimiento del algoritmo En algunos contextos esta probabilidad se denomina ldquoProbabilidad de cruza uniforme por variablerdquo (Variable uniform crossover probability) o ldquoRecombinacioacuten Discretardquo (Discrete Recombination) Dado que en el aacutembito multi-objetivo se promueve maacutes diversidad en las variables de decisioacuten de forma impliacutecita estos intercambios podriacutean ser altamente disruptivos De hecho debido a esto no es totalmente claro que el sbx deba ser categorizado como un operador centrado en los padres Estos intercambios que existen entre los valores de las soluciones hijas tienen un efecto de realizar muacuteltiples ldquoreflexionesrdquo en el espacio de buacutesqueda Asiacute conforme se incrementa la dimensionalidad en el espacio de las variables el nuacutemero de regiones cubiertas crece de forma exponencial como se puede observar en los casos de dos y tres dimensiones en la figura [figSimulations_Index_20] Es importante notar que esta caracteriacutestica tiene un efecto relevante en la distancia entre las soluciones padre y las soluciones hijas

Finalmente se discute el iacutendice de distribucioacuten que es quizaacutes la caracteriacutestica maacutes conocida del operador sbx Un iacutendice de distribucioacuten pequentildeo provoca un grado de exploracioacuten elevado De hecho un iacutendice de distribucioacuten igual a uno tiene un efecto similar al Operador de Recombinacioacuten Difusa (Fuzzy Recombination Operator) En la figura [figSimulation_Case_3] se puede observar el efecto de aplicar distintos iacutendices de distribucioacuten Particularmente en la parte izquierda se considera un iacutendice de distribucioacuten pequentildeo mientras en la parte derecha se considera un iacutendice de distribucioacuten grande Se observa que este uacuteltimo genera soluciones candidatas similares a las soluciones padre

05c1 p1

En el Algoritmo [algSBX_Operator] se muestra la implementacioacuten del operador sbx Este pseudocoacutedigo estaacute basado en la implementacioacuten que estaacute integrada en el coacutedigo del NSGA-II propuesto por Deb et al la cual se considera como la variante maacutes popular En los paraacutemetros de entrada se requieren dos soluciones padre ( ) y eacuteste crea dos soluciones hijas ( ) El primero y el segundo componente mencionados previamente corresponden a las liacuteneas 5 y 9 respectivamente El caso claacutesico del operador sbx se configura con los paraacutemetros y Es importante hacer notar que la implementacioacuten claacutesica no considera la dimensionalidad de las variables o el criterio de paro como parte de sus paraacutemetros internos

Propuesta - dsbx Con base en el anaacutelisis anterior y con el propoacutesito de inducir un balanceo entre exploracioacuten e intensificacioacuten de forma dinaacutemica y que dependa del instante de ejecucioacuten se proponen las siguiente modificaciones En primer lugar se modifica la probabilidad de alterar una variable ( ) durante la ejecucioacuten La intencioacuten de esta modificacioacuten es estimular la capacidad de exploracioacuten considerando inicialmente una probabilidad elevada para alterar maacutes variables de forma simultaacutenea mientras que conforme la ejecucioacuten avanza se reduce esta probabilidad con el fin de reducir el nuacutemero de variables que se modifican y promover asiacute movimientos maacutes pequentildeos El valor de se cambia con base en un modelo lineal decreciente donde inicialmente se fija a y se decrementa de forma que a la mitad del total de generaciones alcanza el valor Este uacuteltimo valor es mantenido hasta el final de la ejecucioacuten es decir desde la mitad de la ejecucioacuten este paraacutemetro se fija al mismo valor que el de la implementacioacuten tradicional del sbx Para asignar el valor se utiliza la Ecuacioacuten ([eqnlinear]) donde corresponde a la generacioacuten actual y corresponde al nuacutemero total de generaciones

El segundo cambio estaacute relacionado con la probabilidad de aplicar reflexiones ( ) En este caso es actualizado de acuerdo a la Ecuacioacuten ([eqnlinear]) por lo tanto la probabilidad de aplicar una reflexioacuten se incrementa de a durante la ejecucioacuten Esta modificacioacuten se realiza con el propoacutesito de evitar el comportamiento disruptivo de intercambiar variables en las primeras generaciones ya que esto provocariacutea modificaciones muy draacutesticas De esta forma seriacutea maacutes sensato aplicar estas reflexiones una vez que los individuos convergen en cierto grado Noacutetese que se incrementa hasta el valor el cual es el valor utilizado en la implementacioacuten del sbx estaacutendar ya que no se quiere disponer de un comportamiento excesivamente disruptivo Sin embargo en el futuro seriacutea interesante realizar estudios con otros valores finales

P1 P2 C1 C2

δ1 = δ2 = 05ηc = 20

δ1

δ110

05

δ1 GTranscurridasGTotal

1 minus δ2δ2

00 05

05

δ1 = δ2 = ma x(05 10 minusGTranscurridas

GTotal )

Finalmente el iacutendice de distribucioacuten tambieacuten es modificado durante la ejecucioacuten En las primeras etapas se promueve un iacutendice de distribucioacuten pequentildeo con el propoacutesito de incrementar la capacidad de exploracioacuten del sbx Posteriormente se decrementa de forma lineal lo cual tiene el efecto de que la curva de distribucioacuten se cierre y por lo tanto se promueve un mayor grado de intensificacioacuten en las etapas finales El incremento lineal es llevado a cabo usando la Ecuacioacuten ([eqnindex_eta]) por lo tanto el iacutendice de distribucioacuten es alterado de a Es importante aclarar que ya se han considerado modificaciones similares al iacutendice de distribucioacuten aunque las otras propiedades que se modifican nunca han sido estudiadas en profundidad

Resultados Puntos de referencias para el indicador HV

[tabMetrics_2]

[tabMetrics_3]

[tabstatistical_Tests]

2 22

ηc = 2 + 20 times ( GTranscurridas

GTotal )

Instancias Punto de referencia

WFG1-WFG9

DTLZ 1 2 4

DTLZ 3 5 6

DTLZ7

UF 1-10

[11 11]

[2 2]

[21 2m + 01]

[11 11 2m]

[3 3]

HV-2obj 16 29 47 6 61 25 28 19 45 31 23 38 54 3 35

HV-3obj 15 19 42 12 50 14 17 15 44 33 10 33 26 9 41

IGD-2obj 14 30 48 4 60 28 25 17 50 33 19 40 52 2 38

harr harrharr harrharr

En este apartado se analizan los resultados obtenidos con las variantes dinaacutemicas del sbx (dsbx) El nuevo operador de cruza se integroacute en los algoritmos NSGA-II MOEAD y SMS-EMOA En primer lugar se analiza cada una de las tres modificaciones propuestas de forma aislada Posteriormente se construye un caso donde se consideran las dos modificaciones que ofrecieron mejores resultados de forma simultaacutenea Como parte de la validacioacuten experimental se consideran los problemas de prueba WFG DTLZ y UF Ademaacutes con el propoacutesito de comparar nuestra extensioacuten del sbx con otros operadores se incluye la variante de evolucioacuten diferencial conocida como demo

Para llevar a cabo el anaacutelisis experimental y dado que todos los algoritmos son estocaacutesticos cada caso fue ejecutado veces con distintas semillas La configuracioacuten global que se aplicoacute a todos los algoritmos fue la siguiente Se asignoacute el criterio de paro a generaciones el tamantildeo de la poblacioacuten a se configuraron los problemas de prueba wfg con dos y tres objetivos considerando 24 variables donde variables son paraacutemetros de distancia y son

IGD-3obj 14 18 44 13 44 19 18 15 43 33 15 28 23 9 44

HV-2obj 15 33 44 10 60 22 25 26 41 39 18 35 57 9 26

HV-3obj 10 22 44 12 39 25 11 19 46 24 10 42 38 5 33

IGD-2obj 16 31 45 9 60 23 23 27 42 37 17 38 57 7 28

IGD-3obj 12 22 42 13 43 20 13 24 39 30 9 37 40 10 26

HV-2obj 9 35 48 7 43 42 16 31 45 41 9 42 53 8 31

HV-3obj 7 21 48 9 35 32 13 21 42 27 6 43 31 4 41

IGD-2obj 10 34 48 15 48 29 12 33 47 41 12 39 55 6 31

IGD-3obj 8 20 48 13 30 33 9 19 48 22 5 49 27 5 44

harr

harr

harr

harr

harr

harr

harr

harr

harr

harr

3525 000

10020 4

paraacutemetros de posicioacuten Como es sugerido en se consideroacute variables de decisioacuten en los problemas de prueba dtlz donde para los problemas DTLZ1 DTLZ2 - DTLZ6 y DTLZ7 se consideraron respectivamente En el caso de los problemas de prueba uf se utilizaron variables de decisioacuten Finalmente se hizo uso del operador de mutacioacuten polinomial con una probabilidad de mutacioacuten de y con un iacutendice de distribucioacuten igual a mientras que el operador de cruza sbx se utilizoacute con una probabilidad de cruza igual a y un iacutendice de distribucioacuten de

A continuacioacuten se especifica la parametrizacioacuten adicional propia de cada algoritmo

bull DEMO CR = 03 y F = 05

bull SMS-EMOA desplazamiento para calcular el HV = 100

bull MOEAD tamantildeo de la vecindad = 10 el nuacutemero de actualizaciones por subproblema ( ) = 2 y

Para comparar los frentes obtenidos por cada meacutetodo se utiliza el hipervolumen normalizado (HV) que se debe maximizar y la Distancia Generacional Invertida Modificada (Inverted Generational Distance Plus - IGD+) que se debe minimizar En la tabla [tabReferencePoints] se presentan los puntos de referencia utilizados para el indicador del hipervolumen los cuales son similares a los utilizados en Por otra parte para comparar los resultados estadiacutesticamente (valores del IGD+ y HV) se siguioacute un procedimiento similar al que se propuso en siendo el mismo que se aplicoacute para validar la primera propuesta

Anaacutelisis de cada modificacioacuten en el operador sbx En este apartado se analiza el efecto que cada modificacioacuten propuesta tiene de forma independiente sobre los resultados obtenidos Para ello basados en el Algoritmo [algSBX_Operator] se proponen cuatro casos

bull Caso 1 se aplica la versioacuten estaacutendar del operador sbx donde y

bull Caso 2 se actualiza el valor como se indica en la Ecuacioacuten ([eqnlinear]) y

bull Caso 3 se actualiza el valor como se indica en la Ecuacioacuten ([eqnlinear]) y

bull Caso 4 se actualiza el iacutendice de distribucioacuten de acuerdo a la Ecuacioacuten ([eqnindex_eta])

n = M + r minus 1

r = 5 10 2030

1n 5009

20

nrδ = 09

δ1 = δ2 = 05 ηc = 20

δ1 δ2 = 05ηc = 20

δ2 δ1 = 05ηc = 20

δ1 = δ2 = 05

En las tablas [tabMetrics_2] y [tabMetrics_3] se muestra informacioacuten del HV normalizado y del IGD+ para cada caso con dos y tres objetivos respectivamente (el Caso 5 se comenta maacutes adelante) Especiacuteficamente se muestra la media del HV e IGD+ para todos los problemas en dos y tres objetivos Se observa que considerando dos y tres objetivos el Caso 4 mejora al Caso 1 al Caso 2 y al Caso 3 en todos los algoritmos Por lo tanto se aprecian de forma clara los beneficios de incrementar el iacutendice de distribucioacuten durante la ejecucioacuten Por otra parte al considerar tres objetivos el Caso 2 presentoacute un rendimiento menor que el Caso 1 posiblemente debido a que al alterar tantas variables de forma simultaacutenea se produce un comportamiento excesivamente disruptivo Quizaacutes los resultados podriacutean mejorar si el paraacutemetro es alterado de una forma distinta sin embargo esto se deja como trabajo futuro Los anaacutelisis anteriores uacutenicamente consideran la media obtenida en todos los problemas de prueba En la tabla [tabstatistical_Tests] se muestran los resultados de las pruebas estadiacutesticas (el Caso 5 se discute en la siguiente seccioacuten) Particularmente se realizan comparaciones por pares en base a las pruebas estadiacutesticas ya mencionadas entre los cinco casos Este procedimiento se realizoacute de forma independiente para el NSGA-II MOEAD y el SMS-EMOA Para cada algoritmo y para cada caso la columna ldquo rdquo reporta el nuacutemero de comparaciones donde las pruebas estadiacutesticas confirmaron la superioridad del caso correspondiente mientras que en la columna ldquo rdquo se reporta el nuacutemero de veces donde este caso fue inferior y la columna ldquo rdquo indica el nuacutemero de comparaciones donde las diferencias no fueron significativas Con base en estos resultados se puede observar que el caso 3 y caso 4 aportan con respecto al caso 1 mientras que el caso 2 no es robusto siendo en varios algoritmos inferior al caso 1 Adicionalmente se anexan resultados detallados para facilitar que otros investigadores puedan realizar comparativas con un mayor nivel de detalle 6

Modificacioacuten simultaacutenea de varios componentes Con base en los anaacutelisis realizados con anterioridad se propone una variante del operador sbx que incorpora las modificaciones propuestas en el Caso 3 y Caso 4 de forma simultaacutenea es decir se incorpora un cambio dinaacutemico tanto en el paraacutemetro como en el iacutendice de distribucioacuten Debido a los resultados de baja calidad del Caso 2 el paraacutemetro no se modifica de forma dinaacutemica Particularmente el Caso 5 se construye con base en el Algoritmo [algSBX_Operator] asignando el paraacutemetro a debido a que es la forma de la versioacuten estaacutendar del sbx mientras que es actualizado de acuerdo a la Ecuacioacuten ([eqnlinear]) y el paraacutemetro es actualizado como se indica en la Ecuacioacuten ([eqnindex_eta])

De acuerdo a la media del HV y del IGD+ que se obtuvieron en el Caso 5 (ver tablas [tabMetrics_2] y [tabMetrics_3]) es claro que integrar los Casos 3 y 4 proporciona

δ1

harr

δ2δ1

δ1 05δ2 ηc

httpsgithubcomjoelchaconcastilloSBX_CEC20186

beneficios importantes En el caso de dos objetivos se observa una ventaja significativa Sin embargo en el caso de tres objetivos los Casos 4 y 5 son muy similares con base en la media Ademaacutes al considerar tres objetivos los resultados que se obtuvieron en el Caso 5 son superiores a los obtenidos con de mientras que al considerar la versioacuten estaacutendar de sbx se observa un deterioro Por lo tanto si el operador sbx es configurado adecuadamente puede generar resultados similares o superiores que el algoritmo demo

Finalmente en la tabla [tabstatistical_Tests] se muestran los resultados de las pruebas estadiacutesticas Los beneficios obtenidos por el Caso 5 son muy claros De hecho uacutenicamente el Caso 4 obtuvo mejores resultados que el Caso 5 al considerar tres objetivos y al algoritmo NSGA-II Esto demuestra que se pueden obtener mejores resultados si se integran varias modificaciones dinaacutemicas de forma simultaacutenea Ademaacutes los resultados confirman las ventajas de la versioacuten dinaacutemica frente al caso estaacutendar (Caso 1) El uacutenico caso que no presenta ventajas importantes frente a la versioacuten estaacutendar del sbx es el Caso 2 el cual fue discutido con anterioridad

Conclusiones y trabajo futuro La convergencia prematura es una de las debilidades maacutes importantes de los eas Una de las formas de lidiar con este problema consiste en inducir un balanceo adecuado entre exploracioacuten e intensificacioacuten Sin embargo obtener este balanceo no es una tarea trivial debido a que cada problema de optimizacioacuten tiene caracteriacutesticas distintas y por ello han surgido numerosos esquemas para tratar esta problemaacutetica Con base en esto se han desarrollado varias taxonomiacuteas con el propoacutesito de clasificar las diferentes formas en que se puede preservar y promover la diversidad En este trabajo con el fin de ilustrar como se pueden realizar disentildeos de eas que tomen en cuenta el balanceo entre exploracioacuten e intensificacioacuten se presentan dos ejemplos De forma general las propuestas establecen un comportamiento dinaacutemico de alguacuten componente del ea teniendo en cuenta para ello el criterio de paro y el instante en que se encuentra la ejecucioacuten Asiacute se obtuvo un balanceo adecuado en el que en las primeras fases se promueve maacutes exploracioacuten y en las uacuteltimas se promueve maacutes la intensificacioacuten De modo maacutes especiacutefico en la primera propuesta se modifica evolucioacuten diferencial por medio de una nueva fase de reemplazo con el propoacutesito de conseguir este balanceo Ademaacutes esta contribucioacuten incorpora una poblacioacuten eacutelite con el propoacutesito de proporcionar soluciones de calidad tanto a mediano como a largo plazo Con base en la validacioacuten experimental llevada a cabo se observa que esta propuesta mejora a los mejores algoritmos que se habiacutean propuesto en una competicioacuten que consideroacute las funciones de prueba usadas en este capiacutetulo Posteriormente se presenta un anaacutelisis del operador de cruza sbx y se desarrolloacute una variante que modifica varios componentes de forma dinaacutemica

considerando tambieacuten el criterio de paro y las generaciones transcurridas Con base en los resultados obtenidos con problemas muy populares del aacutembito de optimizacioacuten multi-objetivo se muestra que usar el operador sbx modificado ofrece ventajas muy importantes en varios moeas y para diferentes indicadores De forma general se observa que obtener un balanceo apropiado entre exploracioacuten e intensificacioacuten es realmente importante y que esto se puede conseguir utilizando teacutecnicas radicalmente diferentes aunque siguiendo los mismos principios de disentildeo

El campo de disentildeo de eas es un campo muy activo y en el que hay muchas ideas auacuten por explorar Uno de los aspectos importantes es que las estrategias de control de diversidad ofrecen muchas ventajas a largo plazo pero se debe hacer el esfuerzo por conseguir que se pueda reducir el nuacutemero de evaluaciones requeridas para obtener resultados prometedores Otro aspecto importante es que en general la mayor parte de las estrategias de control de diversidad introduce nuevos paraacutemetros por lo que es importante combinar estos mecanismos con estrategias de control de paraacutemetros adaptativas o auto-adaptativas para facilitar su utilizacioacuten Finalmente para el caso especiacutefico del dsbx seriacutea interesante integrarlo con teacutecnicas de aprendizaje para lidiar con problemas con dependencias y mejorar asiacute auacuten maacutes el rendimiento de la propuesta

Para saber maacutes bull Para saber maacutes sobre la historia de los algoritmos evolutivos se sugiere consultar

bull Puede consultar informacioacuten sobre tipos de metaheuriacutesticas y disentildeo e implementacioacuten de las mismas en

bull Si desea consultar informacioacuten baacutesica sobre los fundamentos de los algoritmos evolutivos se sugiere consultar

bull Para profundizar maacutes en el toacutepico de manejo de diversidad exploracioacuten e intensificacioacuten se sugiere consultar

bull Se puede consultar material relacionado con operadores de cruza y algoritmos evolutivos multi-objetivo en

bull Para obtener maacutes informacioacuten relacionada al tema de evolucioacuten diferencial se sugiere consultar

bull Si desea consultar aplicaciones de algoritmos evolutivos multi-objetivo se puede consultar

Agradeciemientos Los autores agradecen el apoyo financiero proporcionado por CONACyT a traveacutes del proyecto no 285599

Hiper-heuriacutesticas en la Solucioacuten de Problemas de Optimizacioacuten

Hugo Terashima-Mariacuten Santiago Enrique Conant-Pablos Joseacute Carlos Ortiz-Bayliss e Ivaacuten Mauricio Amaya Contreras

terashimasconantjcobaylissiamaya2itesmmx Tecnologico de Monterrey Escuela de Ingenieriacutea y Ciencias

Campus Monterrey

Introduccioacuten Cuando nos enfrentamos a problemas complejos como aquellos del tipo NP o de optimizacioacuten combinatoria pueden presentarse dos escenarios diferentes En el primero estamos dispuestos a invertir todos los recursos disponibles para resolver de la mejor manera posible un problema particular Este escenario se caracteriza porque cada vez que un nuevo problema aparece se invierte una gran cantidad de recursos para obtener una solucioacuten a esa instancia dada En el segundo escenario estamos dispuestos a sacrificar algo de la calidad de la solucioacuten para economizar recursos Por lo tanto se utilizan meacutetodos geneacutericos y capaces de obtener soluciones aceptables mediante un uso racionado de los recursos En este caso el riesgo es que el meacutetodo geneacuterico no sea adecuado para el problema y que produzca una solucioacuten de mala calidad Estaacute claro que en promedio el primer escenario generaraacute mejores soluciones pero no es viable en la mayoriacutea de los problemas reales debido al alto consumo de recursos Las hiper-heuriacutesticas por otra parte son generalmente uacutetiles en el segundo escenario pues buscan proporcionar estrategias geneacutericas con buena calidad

Las hiper-heuriacutesticas son meacutetodos emergentes de buacutesqueda heuriacutestica que intentan producir un nivel maacutes alto de flexibilidad e independencia del dominio en que se aplican de tal forma que sean capaces de adaptarse a distintos tipos de problemas o a las distintas instancias de un mismo tipo Esto lo automatizan frecuentemente incorporando meacutetodos de aprendizaje automaacutetico y lo ejecutan a traveacutes de un proceso de seleccioacuten dinaacutemica de heuriacutesticas maacutes simples durante la solucioacuten de los problemas o bien mediante la generacioacuten de nuevas heuriacutesticas a partir de la combinacioacuten o adaptacioacuten de otras ya existentes (o de sus componentes) Actualmente hay diversos modelos de hiper-heuriacutesticas los cuales pueden clasificarse de acuerdo a las categoriacuteas propuestas por Esta clasificacioacuten divide a las hiper-heuriacutesticas seguacuten su forma de aprendizaje asiacute como seguacuten su mecanismo de obtencioacuten de las soluciones entre otros Aunque el teacutermino lsquohiper-heuriacutesticarsquo fue acuntildeado como tal en el 2001 hubieron esfuerzos previos con ideas similares Entre ellos cabe destacar a los portafolios (o seleccioacuten) de algoritmos y a la

configuracioacuten especiacutefica de algoritmos Desde entonces la actividad de investigacioacuten en hiper-heuriacutesticas ha avanzado y propagado en diversas instituciones en el mundo y ha sido tema de presentacioacuten y discusioacuten en diversas conferencias y revistas internacionales

Por otra parte y en lo que respecta a la investigacioacuten en hiper-heuriacutesticas en Meacutexico son pocos los investigadores e instituciones que se han vinculado a ella La mayor parte de la investigacioacuten realizada en el tema se concentroacute inicialmente en el Tecnoloacutegico de Monterrey donde se han desarrollado hiper-heuriacutesticas para corte y empacado satisfaccioacuten de restricciones y ruteo de vehiacuteculos El Tecnoloacutegico de Monterrey es tambieacuten pionero en el tema de la transformacioacuten de caracteriacutesticas y en hiper-heuriacutesticas para resolver problemas multi-objetivo Las hiper-heuriacutesticas desarrolladas en el Tecnoloacutegico de Monterrey se han fundamentado en diversas estrategias de aprendizaje que incluyen algoritmos geneacuteticos redes neuronales y programacioacuten geneacutetica entre otras Recientemente el Instituto Politeacutecnico Nacional (IPN) y el CINVESTAV han logrado importantes avances en lo relacionado a hiper-heuriacutesticas para problemas multi-objetivo y en el uso de hiper-heuriacutesticas basadas en evolucioacuten diferencial Como resultado de la colaboracioacuten del Tecnoloacutegico de Monterrey y el CINVESTAV en el 2017 comenzoacute a explorarse la transformacioacuten de caracteriacutesticas como mecanismo para mejorar el desempentildeo de hiper-heuriacutesticas El Instituto Tecnoloacutegico de Leoacuten y la Universidad de Guanajuato ha colaborado para desarrollar muacuteltiples trabajos sobre hiper-heuriacutesticas Los dominios de problemas que han abordado con hiper-heuriacutesticas incluyen calendarizacioacuten de eventos acadeacutemicos y ruteo de vehiacuteculos Adicionalmente la Universidad de Guanajuato ha incursionado en el uso de redes neuronales pre-entrenadas para acelerar el proceso de seleccioacuten de las heuriacutesticas ademaacutes de proponer una metodologiacutea para la adecuada seleccioacuten del conjunto de heuriacutesticas que debe estar disponible para una determinada hiper-heuriacutestica El Instituto Tecnoloacutegico de Ciudad Madero en colaboracioacuten con el Instituto Tecnoloacutegico de Leoacuten ha realizado importantes avances en la generacioacuten semiautomaacutetica de heuriacutesticas para el problema de empacado utilizando diversos meacutetodos como evolucioacuten diferencial y evolucioacuten gramatical

Este capiacutetulo estaacute encaminado a presentar el concepto de hiper-heuriacutesticas para entender sus caracteriacutesticas fundamentos modelos fortalezas y debilidades asiacute como algunas de sus aacutereas de aplicacioacuten El capiacutetulo integra en la Seccioacuten 2 los fundamentos de hiper-heuriacutesticas considerando principalmente los dos tipos aqueacutellas que seleccionan heuriacutesticas y aqueacutellas que generan nuevas heuriacutestica En la Seccioacuten 3 se presentan algunos modelos de hiper-heuriacutesticas algunos basados en esquemas evolutivos y otros basados en redes neuronales La Seccioacuten 4 presenta un ejemplo con la idea de mostrar paso a paso el proceso para generar hiper-heuriacutesticas en particular para el problema de particioacuten balanceada En la Seccioacuten 5 se discuten algunos aspectos avanzados sobre las hiper-heuriacutesticas como la solucioacuten de problemas multi-objetivo y la transformacioacuten de caracteriacutesticas En la Seccioacuten 6 se describe algunas tendencias futuras de hiper-heuriacutesticas

Algunos recursos disponibles relacionados con hiper-heuriacutesticas se presentan en la Seccioacuten 7 Finalmente en la Seccioacuten 8 se proporcionan las conclusiones

Fundamentos de las Hiper-heuriacutesticas Las hiper-heuriacutesticas trabajan sobre la idea de que es posible reutilizar los componentes de meacutetodos existentes ndashgeneralmente simples como son las heuriacutesticasndash para construir meacutetodos de buacutesqueda maacutes robustos y que se adapten a las condiciones del problema actual De esta forma se busca obtener soluciones que en la medida de lo posible y de acuerdo al tiempo disponible sean de buena calidad Ahora bien la forma de adaptacioacuten a los problemas da lugar a los dos grandes tipos de hiper-heuriacutesticas las que seleccionan heuriacutesticas y las que generan nuevas heuriacutesticas

Hiper-heuriacutesticas que seleccionan heuriacutesticas En este tipo de adaptacioacuten se busca cambiar la heuriacutestica usada para atacar la instancia del problema cambios que pueden ocurrir cada vez que el proceso requiere tomar una decisioacuten Por ejemplo en el caso del problema del vendedor viajero (TSP) se pretende encontrar el tour de miacutenimo costo para visitar todas y cada una de las ciudades de un conjunto dado Si se inicia con un tour vaciacuteo la toma de decisiones consiste en decidir la siguiente ciudad a visitar Mientras que con una heuriacutestica estariacuteamos a merced de una sola forma de decisioacuten (por ejemplo visitar la ciudad maacutes cercana o la maacutes lejana a la actual que todaviacutea no se haya visitado) con una hiper-heuriacutestica tenemos la flexibilidad para utilizar heuriacutesticas diferentes en cada toma de decisioacuten (por ejemplo iniciar con la maacutes cercana y luego tomar la maacutes lejana) De esta manera es comuacuten que una hiper-heuriacutestica utilice conjuntos y oacuterdenes de heuriacutesticas distintos para resolver diferentes instancias de un problema Desde esta perspectiva una hiper-heuriacutestica es el meacutetodo de alto nivel que controla coacutemo y cuaacutendo usar heuriacutesticas de bajo nivel

Hiper-heuriacutesticas que generan nuevas heuriacutesticas Este segundo tipo de adaptacioacuten busca combinar heuriacutesticas existentes (o sus componentes) en la generacioacuten de heuriacutesticas de alto nivel Por ejemplo asumiendo de nuevo el problema del vendedor viajero donde se construye la solucioacuten a partir de un tour vaciacuteo una heuriacutestica podriacutea decidir la nueva ciudad a agregar como aquella que minimice la distancia con respecto al eje coordenado a la uacuteltima ciudad visitada en el tour parcial actual Sin embargo otra heuriacutestica podriacutea seleccionar la ciudad basada en la distancia con respecto al eje coordenado La ciudad recomendada por ambas heuriacutesticas podriacutea ser la misma o una distinta Otra alternativa seriacutea combinar los criterios de ambas heuriacutesticas por ejemplo que se agregue la ciudad que minimice la funcioacuten Mediante esta sencilla funcioacuten es posible combinar los

dxx

dy y

f (x) = dx times dy

criterios de decisioacuten de cada heuriacutestica y formar una que se adapte a diferentes condiciones del problema De esta forma la hiper-heuriacutestica es un meacutetodo que genera nuevas heuriacutesticas

A continuacioacuten describiremos con maacutes detalle cada uno de estos tipos de hiper-heuriacutesticas

Hiper-heuriacutesticas que seleccionan heuriacutesticas La mayor parte de los trabajos realizados en Meacutexico se ha enfocado en este primer tipo de adaptacioacuten y por ello optamos por detallarlas maacutes Las hiper-heuriacutesticas de seleccioacuten como nos referiremos a ellas a partir de este momento estaacuten inspiradas en la idea de que existe un algoritmo maacutes adecuado para cada problema lo que en la literatura se conoce como el problema de la seleccioacuten de algoritmos En este sentido las hiper-heuriacutesticas de seleccioacuten exploran la forma en que diversas heuriacutesticas (u otros meacutetodos simples y raacutepidos de ejecutar) pueden combinarse para generar estrategias de solucioacuten robustas y con un buen desempentildeo general

En este punto cabe mencionar que las diferencias entre los portafolios de algoritmos la configuracioacuten especiacutefica de algoritmos y las hiper-heuriacutesticas de seleccioacuten son sutiles pero auacuten asiacute pueden apreciarse Por ejemplo tanto las hiper-heuriacutesticas como los portafolios de algoritmos deciden cuaacutel de los meacutetodos disponibles para resolver el problema debe utilizarse en un momento dado La diferencia principal es la naturaleza de los meacutetodos disponibles donde los portafolios de algoritmos trabajan usualmente con colecciones de meacutetodos de solucioacuten especializados para ciertos tipos de problemas mientras que las hiper-heuriacutesticas usualmente administran meacutetodos maacutes generales como son las heuriacutesticas La configuracioacuten especiacutefica de algoritmos (ISAC por sus siglas en ingleacutes) busca optimizar los paraacutemetros de los algoritmos para que se adapten a las caracteriacutesticas del problema que intentan resolver Si consideramos dos instancias de un mismo algoritmo con configuraciones distintas pueden considerarse como dos meacutetodos diferentes entonces ISAC es en esencia un portafolio de algoritmos

Como ya se mencionoacute una hiper-heuriacutestica de seleccioacuten decide en determinados momentos del proceso de solucioacuten queacute heuriacutestica debe utilizar A partir de este momento usaremos el teacutermino lsquopunto de decisioacutenrsquo para referirnos a esos momentos especiacuteficos durante la buacutesqueda cuando la hiper-heuriacutestica puede cambiar la heuriacutestica a utilizar Los puntos de decisioacuten pueden manejarse de muchas formas Por ejemplo podriacutea realizarse un cambio de heuriacutestica cada vez que una variable deba asignarse o soacutelo despueacutes de cierto nuacutemero de veces que deba asignarse o soacutelo si se cumple alguna condicioacuten particular Una forma muy comuacuten en la que se usan las hiper-heuriacutesticas lsquoperturbativasrsquo ndashaquellas que incrementalmente aplican modificaciones locales (movimientos) a soluciones completas (aproximaciones a la solucioacuten deseada) que representan los estados actuales de la buacutesquedandash es cambiar de heuriacutestica perturbativa uacutenicamente si la

calidad de la aproximacioacuten actual estaacute disminuyendo o si se ha mantenido estable por cierto tiempo

De forma muy general una hiper-heuriacutestica de seleccioacuten se comporta como se muestra en el Algoritmo [algGenericSelectionHH]

Como puede observarse en el Algoritmo [algGenericSelectionHH] la hiper-heuriacutestica tiene la capacidad de aplicar una heuriacutestica al problema para modificar su estado (buscando acercarlo a un estado meta o solucioacuten deseada) Ya que un problema especiacutefico de buacutesqueda depende del estado inicial de la misma si consideramos a la solucioacuten resultante de aplicacioacuten de la heuriacutestica actual al estado actual como el estado inicial del resto de la buacutesqueda estamos modificando el problema a resolver y este quizaacutes podriacutea ser resuelto de una mejor manera con una heuriacutestica distinta a la actual

La eleccioacuten de la heuriacutestica a utilizar en cada punto de decisioacuten depende completamente de la funcioacuten Selecciona la cual busca en el espacio de heuriacutesticas la maacutes adecuada de acuerdo al estado actual del problema Como puede inferirse del pseudocoacutedigo diferentes implementaciones de la funcioacuten Selecciona resultaraacuten en diferentes comportamientos de la hiper-heuriacutestica Por ejemplo una hiper-heuriacutestica completamente aleatoria implementariacutea la funcioacuten Selecciona como se muestra en el Algoritmo [algRandomSelect]

En el caso de una hiper-heuriacutestica aleatoria la rutina ignora por completo el estado del problema ya que no lo requiere para determinar queacute heuriacutestica utilizar Como es de esperarse el desempentildeo de una hiper-heuriacutestica aleatoria es en la mayoriacutea de los casos malo si el conjunto de heuriacutesticas simples contiene una o maacutes heuriacutesticas cuyo comportamiento es deficiente en los problemas a resolver

Otra posible idea para implementar una hiper-heuriacutestica es usar una secuencia predefinida de heuriacutesticas como estrategia de decisioacuten dentro de la funcioacuten Selecciona La idea detraacutes de esta hiper-heuriacutestica es que en algunos casos la relacioacuten entre heuriacutesticas depende de su encadenamiento (una secuencia ordenada de heuriacutesticas) Por ejemplo en un problema de empacado donde objetos de diferentes voluacutemenes deben ser empacados en un nuacutemero finito de contenedores de forma que se minimice el nuacutemero de contenedores utilizados podriacutea ser conveniente el utilizar una secuencia de heuriacutesticas donde despueacutes de empacar el objeto maacutes pequentildeo siempre se deba empacar el objeto maacutes grande Una hiper-heuriacutestica basada en secuencias predefinidas requiere conocer la secuencia especiacutefica de heuriacutesticas a aplicar y la uacuteltima heuriacutestica aplicada El Algoritmo [algSequenceHH] muestra una posible implementacioacuten de este tipo de hiper-heuriacutesticas

En caso de que una heuriacutestica deba aplicarse dos o maacutes veces seguidas esta deberaacute aparecer dos o maacutes veces en la secuencia predefinida de heuriacutesticas Debido a que la longitud de la secuencia de heuriacutesticas es mucho menor que el nuacutemero de puntos de decisioacuten en el problema hay que definir lo que se haraacute al llegar al final de la secuencia Una alternativa es que se vuelva a recorrer la misma secuencia desde la primera posicioacuten Otra opcioacuten es que al llegar al final de la secuencia desde ese momento se use soacutelo la uacuteltima heuriacutestica de la secuencia

Una tercera versioacuten de hiper-heuriacutestica (Algoritmo [algStateBasedHH]) representa la seleccioacuten inteligente del meacutetodo maacutes adecuado dadas las condiciones actuales del problema En esta versioacuten de hiper-heuriacutestica la funcioacuten Selecciona contiene un mapeo de situaciones en las que cada heuriacutestica deberiacutea ser utilizada

Como puede apreciarse en el Algoritmo [algStateBasedHH] la funcioacuten debe evaluar el estado actual del problema para determinar queacute heuriacutestica aplicar Hasta este momento no hemos proporcionado detalles sobre coacutemo se realiza la seleccioacuten de la heuriacutestica maacutes adecuada para un determinado estado del problema pero podemos adelantar que es el punto maacutes sensible del proceso

Entre los modelos maacutes utilizados para producir hiper-heuriacutesticas de seleccioacuten se encuentran los algoritmos geneacuteticos y las redes neuronales Maacutes adelante en este capiacutetulo se describiraacuten a detalle coacutemo funciona cada uno de estos modelos y coacutemo se implementan

Hiper-heuriacutesticas que generan nuevas heuriacutesticas Este segundo tipo de adaptacioacuten hace que las hiper-heuriacutesticas funcionen como generadores semi-automaacuteticos de heuriacutesticas De esta forma la combinacioacuten de componentes de decisioacuten se plasma en una funcioacuten que por siacute misma representa una nueva heuriacutestica En el contexto de heuriacutesticas perturbativas puede tratarse de la combinacioacuten de dos o maacutes operadores al mismo tiempo cada uno de ellos enfocados a modificar distintas secciones de la aproximacioacuten actual o bien a la aplicacioacuten en secuencia de dos o maacutes operadores perturbativos al estado actual de la buacutesqueda La situacioacuten es diferente para hiper-heuriacutesticas lsquoconstructivasrsquo ndashaquellas que gradualmente construyen la solucioacuten al problema generando soluciones parciales cada vez maacutes completas a partir de una solucioacuten inicialmente vaciacuteandash ya que en este caso las heuriacutesticas constructivas tienen la tarea de asignar un valor a cada elemento que puede integrarse a la solucioacuten de forma que se agregue el elemento que maximice (o minimice seguacuten sea el caso) dicho valor Por ejemplo si estamos utilizando un hiper-heuriacutestica constructiva para resolver una instancia del problema del agente viajero podemos considerar una heuriacutestica que agrega la ciudad con la menor distancia a la uacuteltima ciudad visitada en la solucioacuten parcial actual Para ello se debe calcular la distancia de cada una de las ciudades que todaviacutea no han sido visitadas a la

uacuteltima ciudad del tour parcial actual Luego de ello la heuriacutestica recomendaraacute agregar aquella con la menor distancia

De forma muy general una hiper-heuriacutestica de generacioacuten se comporta como se muestra en el Algoritmo [algGenericGenerationHH]

Por supuesto en este momento no se brindan detalles de coacutemo implementar la funcioacuten Genera que es la responsable de generar la heuriacutestica que se utilizaraacute para resolver el problema actual Entre los meacutetodos maacutes populares en la comunidad para implementar hiper-heuriacutesticas de generacioacuten se cuentan tanto programacioacuten geneacutetica como evolucioacuten diferencial

Modelos de Hiper-heuriacutesticas En esta seccioacuten se presentaraacuten las ideas generales detraacutes de las hiper-heuriacutesticas que se ha implementado de diversas formas y con apoyo de diferentes meta-heuriacutesticas o distintos modelos de aprendizaje automaacutetico

Modelos Evolutivos La computacioacuten evolutiva se ha utilizado tanto para construir hiper-heuriacutesticas de generacioacuten (mediante programacioacuten geneacutetica y evolucioacuten diferencial) como para construir hiper-heuriacutesticas de seleccioacuten (mediante algoritmos geneacuteticos y estrategias evolutivas) A continuacioacuten describiremos coacutemo se han implementado algunos casos de eacutexito de hiper-heuriacutesticas mediante computacioacuten evolutiva

Hiper-Heuriacutesticas basadas en Algoritmos Geneacuteticos

Los modelos evolutivos generan reglas que relacionan puntos especiacuteficos del espacio de caracteriacutesticas del problema con una heuriacutestica especiacutefica que ha demostrado ser uacutetil ante instancias con caracteriacutesticas similares Estas reglas pueden obtenerse de diversas formas ndashincluso pueden ser definidas por el usuario Sin embargo los algoritmos geneacuteticos han resultado muy uacutetiles para esta tarea y por esta razoacuten su uso seraacute detallado a continuacioacuten

El algoritmo geneacutetico mantiene una poblacioacuten de individuos de longitud variable que representan hiper-heuriacutesticas en potencia Durante cada generacioacuten estos individuos son combinados y mutados con la finalidad de mejorar la calidad de la poblacioacuten Seguacuten sea el caso los operadores geneacuteticos pueden o no ser adaptados para el problema Por ejemplo como el nuacutemero de reglas en las hiper-heuriacutesticas es variable los individuos en la poblacioacuten tambieacuten tienen una longitud

larr

variable Es necesario entonces adaptar el operador de cruza para que produzca soacutelo individuos vaacutelidos La funcioacuten objetivo contiene un conjunto de instancias a resolver El desempentildeo de cada individuo en dicho conjunto se convierte en su aptitud Con el paso de las generaciones se espera que los individuos que mejor resuelvan el conjunto de entrenamiento sean favorecidos por el proceso geneacutetico El mejor individuo de la uacuteltima generacioacuten es seleccionado como la hiper-heuriacutestica resultante del proceso evolutivo

Los modelos hiper-heuriacutesticos basados en algoritmos geneacuteticos fueron unas de las primeras opciones que se consideraron para generar heuriacutesticas El primer trabajo que utilizoacute un algoritmo geneacutetico para la exploracioacuten del espacio de heuriacutesticas en problemas de calendarizacioacuten fue publicado en 1994 antildeos antes de que el teacutermino hiper-heuriacutestica fuera utilizado por primera vez Pocos antildeos maacutes tarde esta idea fue retomada en y A la fecha gran parte de los trabajos relacionados con hiper-heuriacutesticas utilizan alguna forma de computacioacuten evolutiva como parte del mecanismo de generacioacuten y ajuste de las hiper-heuriacutesticas

Hiper-Heuriacutesticas basadas en Programacioacuten Geneacutetica

Las hiper-heuriacutesticas basadas en programacioacuten geneacutetica tienen la capacidad de combinar los componentes de heuriacutesticas existentes para construir nuevas heuriacutesticas que funcionen adecuadamente ante diversos grupos de instancias del problema La inclusioacuten de una gramaacutetica tipo BNF en este proceso es una tendencia reciente Un problema de satisfaccioacuten de restricciones (CSP) se define como un conjunto de variables asociado a un conjunto de dominios de valores ( ) y a un conjunto de restricciones entre las variables El objetivo es una asignacioacuten completa y consistente de valores a variables de la manera que se cumplan todas las restricciones Los CSPs han sido aplicados para el modelado y solucioacuten de problemas en diversos dominios Aquiacute describimos una plataforma basada en gramaacuteticas para generar automaacuteticamente nuevas heuriacutesticas de seleccioacuten de variables para CSPs El espacio de posibilidades se define generando oraciones vaacutelidas de acuerdo a la gramaacutetica que se utiliza

Un enfoque inicial en este sentido es el presentado en el trabajo de Ortiz-Bayliss et al que provee la evidencia de que es posible delegar al menos para ciertas tareas la generacioacuten de heuriacutesticas a un proceso automaacutetico En el trabajo se usan caracteriacutesticas provenientes de las heuriacutesticas previamente disentildeadas y se utiliza programacioacuten geneacutetica para combinar esos atributos y generar nuevas heuriacutesticas La idea es encapsular el conocimiento del experto humano de diversas formas para obtener mejores soluciones Dado que en la gramaacutetica hay que definir un conjunto de funciones y un conjunto de terminales las funciones utilizadas en esta investigacioacuten incluyen suma (+) resta (-) multiplicacioacuten () y divisioacuten protegida () (si el divisor es cero no se ejecutar la operacioacuten y el resultado es 1) Con este conjunto simple de operadores es

XD

suficiente para generar heuriacutesticas competitivas La definicioacuten de la gramaacutetica se puede observar en la Figura [figGrammar]

ltSgt ltEgt ltEgt ltOpgt ltFgt ltOpgt ltOpgt ( ltEgt ) | ltTgt ltFgt + | - | | ltTgt | | | |

En un esfuerzo maacutes avanzado en este respecto el modelo presentado en presenta una gramaacutetica que contiene elementos maacutes sofisticados como el estatuto if-then-else operadores aritmeacuteticos y loacutegicos lo que permite generar mayor cantidad de posibilidades de combinacioacuten ademaacutes de funciones sobrecargadas capaces de manejar diversas dimensionalidades de entrada lo que provee mayor flexibilidad y un mayor espacio de soluciones En este trabajo se usaron tres diferentes estrategias para evolucionar las heuriacutesticas programacioacuten geneacutetica (GP) buacutesqueda local iterada (ILS) y buacutesqueda de alpinista en paralelo (PHC) En los experimentos se usaron tanto instancias sinteacuteticas como reales para comparar el rendimiento entre las heuriacutesticas generadas y las del estado del arte disentildeadas por el humano El estudio considera varios asuntos como la composicioacuten del conjunto de entrenamiento hacia la generalidad de las heuriacutesticas y su rendimiento sobre instancias no vistas Tambieacuten se considera la evolucioacuten de heuriacutesticas sobre instancias pequentildeas capaces de generalizar sobre instancias maacutes grandes y no vistas y sobre otras instancias del mundo real La Figura 1 muestra un ejemplo de heuriacutestica generada por programacioacuten geneacutetica

Ejemplo de heuriacutestica generada automaacuteticamente por un proceso de Programacioacuten Geneacutetica para el problema de CSP

rarr rarr rarr rarr rarr deg(x)con f licts(x) dom(x) κ (x) r

variableFromVariableValue

smallest

If-VariablesValues1

greaterOrEqualThan minus minus

largest smallest

plus

mxi bdeg

conflicts

bbz log2

division

fdeg fbz

minus conflicts

multiplication plus

bbz pxi

Modelos Neuronales A diferencia de los modelos evolutivos que generan reglas que mapean caracteriacutesticas del problema a heuriacutesticas especiacuteficas las hiper-heuriacutesticas basadas en modelos neuronales aprenden las relaciones existentes entre caracteriacutesticas y heuriacutesticas a partir de casos de ejemplo De esta manera los modelos de hiper-heuriacutesticas basados en redes neuronales requieren un conjunto de entrenamiento donde se contengan las relaciones a aprender De manera general la hiper-heuriacutestica contiene una red neuronal que aprende a clasificar instancias seguacuten sus caracteriacutesticas La clase a la que pertenece la instancia representa la heuriacutestica a utilizar en un momento particular de la buacutesqueda

Probablemente uno de los primeros trabajos que exploraron el uso de redes neuronales para la seleccioacuten de heuriacutesticas fue el presentado por Moriarty en donde se presentoacute el modelo SANE (Symbiotic Adaptive Neuro-Evolution) para encontrar redes neuronales que representaban heuriacutesticas para el ordenamiento de valor en problemas de satisfaccioacuten de restricciones Antildeos maacutes tarde Corr propuso utilizar redes neuronales como selectores de heuriacutesticas constructivas para el problema de la calendarizacioacuten de exaacutemenes No fue sino hasta el 2009 que se publicoacute el primer trabajo de redes neuronales que expliacutecitamente mencionaba el teacutermino lsquohiper-heuriacutesticarsquo En dicho trabajo Ortiz-Bayliss et al retomaron la idea de usar redes neuronales como selectores de heuriacutesticas constructivas pero esta vez aplicado al problema de satisfaccioacuten de restricciones y con una red neuronal con aprendizaje mediante retro-propagacioacuten

Los modelos neuronales tambieacuten se han usado dentro de las hiper-heuriacutesticas para agilizar el entrenamiento Por ejemplo Li et al utilizaron una red neuronal para estimar el costo de una funcioacuten objetivo de forma que se minimizara el nuacutemero de evaluaciones reales durante el proceso de entrenamiento de la hiper-heuriacutestica

En cuanto a la arquitectura de la red neuronal se han utilizado diferentes opciones Una parte significativa de los trabajos ha utilizado el perceptroacuten multicapa Algunos otros trabajos han optado por arquitecturas maacutes especiacuteficas a ciertos problemas como son los mapas auto-organizados y redes neuronales con retraso temporal En algunas ocasiones se ha explorado la idea de combinar redes neuronales con algoritmos geneacuteticos para ajustar la topologiacutea de la red y maximizar el desempentildeo de las hiper-heuriacutesticas

Un ejemplo A continuacioacuten presentamos un breve ejemplo donde mostramos la forma en la que las hiper-heuriacutesticas pueden ser de utilidad y el proceso para aplicarlas

El problema Para este ejemplo tomaremos el problema de particioacuten balanceada (Balanced Partition) que consiste en encontrar la distribucioacuten de elementos que minimiza a donde es el iacutendice de calidad dado por la ecuacioacuten [equBPExampleFitness] y donde representa el elemento del subconjunto y es el nuacutemero de elementos en el subconjunto Asiacute el miacutenimo de corresponde al valor oacuteptimo de la separacioacuten

Las alternativas Para atacar este sencillo problema podemos considerar un enfoque constructivo a traveacutes de dos heuriacutesticas muy simples seleccionar el elemento de carga maacutexima (MAX) o miacutenima (MIN) Partiremos de una solucioacuten vaciacutea al considerar que nuestra solucioacuten es el subconjunto 2 (por tanto toda la carga seraacute asignada al subconjunto 1) por lo que la solucioacuten se construiraacute al escoger los elementos que deben moverse al subconjunto 2 para balancear la carga de todo el sistema Adicionalmente nuestra solucioacuten estaraacute completa cuando el subconjunto 2 represente a la mitad o maacutes de la carga total de la instancia del problema pues nuestras heuriacutesticas no permiten retornar elementos

Es importante resaltar que estas heuriacutesticas no son necesariamente buenas ni malas pues dependen mucho de la instancia del problema en la que se apliquen Consideremos por ejemplo un comportamiento como el de la Tabla [TableBaseInstancesBig] donde observamos que la heuriacutestica MAX se desempentildeoacute ligeramente mejor que la heuriacutestica MIN Esto se debe a que en algunas instancias la heuriacutestica MAX se desempentildeoacute mucho mejor que la heuriacutestica MIN (por ejemplo en las instancias 7 y 10) y viceversa (por ejemplo en las instancias 3 y 9) Es precisamente esta diferencia en desempentildeo lo que motivoacute la idea de las hiper-heuriacutesticas y donde se evidencia su eventual beneficio De hecho la Tabla [TableBaseInstancesBig] incluye una columna con el desempentildeo de una hiper-heuriacutestica simple (que detallaremos maacutes adelante) donde se puede observar que es mucho mejor que sus contrincantes

Q Qitemy

x xy Ny y Q

Q =N1

sumi=1

item1i minus

N2

sumj=1

item2j

Desempentildeo de las heuriacutesticas (y de una hiper-heuriacutestica) sobre 10 instancias de mayor extensioacuten

La informacioacuten del problema Ya conocemos el tipo de problema a resolver y las opciones que tenemos para hacerlo Ahora bien requerimos tambieacuten alguna manera de obtener informacioacuten de cada instancia en particular para asiacute poder analizarla y determinar queacute alternativa tomar (MAX o MIN) Para ello debemos definir al menos una caracteriacutestica del problema relacionada principalmente a las condiciones actuales de la instancia (de manera que se actualice a medida que progresa la solucioacuten) En este ejemplo utilizaremos la relacioacuten entre la carga actual del subconjunto 2 y la carga maacutexima como se muestra en la ecuacioacuten [equBPExampleFeature] Con esto ya tenemos todo lo necesario para empezar a crear nuestras hiper-heuriacutesticas

Instancia

1 11 9 7

2 2 8 6

3 1 13 3

4 2 0 0

5 3 5 13

6 1 9 3

7 3 1 13

8 9 3 9

9 9 11 3

10 5 1 11

Total 46 60 68

Promedio 46 6 68

QMINQHH QMAX

sumN2j=1 item2

j

sumN1i=1 item1

i + sumN2j=1 item2

jisin [0 1]

Nuestra primer hiper-heuriacutestica Nuestro objetivo con la hiper-heuriacutestica seraacute el de tratar de dar un orden loacutegico al proceso Asiacute buscaremos pasar los elementos maacutes grandes al inicio de la solucioacuten (es decir cuando el subconjunto estaacute vaciacuteo) para luego refinarla con elementos maacutes pequentildeos (para ajustar las pequentildeas diferencias) Por tanto podemos crear una hiper-heuriacutestica de dos reglas como se muestra en la Figura 2 En la parte derecha de la figura podemos observar la zona de influencia de cada regla Asiacute siempre que el valor de la caracteriacutestica (definida en la ecuacioacuten [equBPExampleFeature]) sea inferior a 025 se usaraacute la heuriacutestica MAX para seleccionar el siguiente elemento Pero si es superior se usaraacute la heuriacutestica MIN

Primer modelo de hiper-heuriacutestica con dos reglas y una sola caracteriacutestica (izquierda) Zona de influencia de cada regla (derecha)

Primer modelo de hiper-heuriacutestica con dos reglas y una sola caracteriacutestica (izquierda) Zona de influencia de cada regla (derecha)

En este punto es bueno recordar la columna que traiacuteamos pendiente de la Tabla [TableBaseInstancesBig] Es justamente esta hiper-heuriacutestica la que se usoacute para obtener los desempentildeos alliacute mostrados donde una vez maacutes se observa que supera a las heuriacutesticas simples Sin embargo es importante resaltar que no todo es perfecto En algunos casos por ejemplo en la instancia 1 la hiper-heuriacutestica generoacute una solucioacuten peor que cualquiera de las dos heuriacutesticas Es maacutes en casos como el de la instancia 4 fue la uacutenica que no logroacute generar un balanceo perfecto de la carga Esto se debe principalmente a la simplicidad de nuestra hiper-heuriacutestica pues solamente cuenta con dos reglas y con una sola caracteriacutestica Con ello se llega a que el espacio de caracteriacutesticas se divida en regiones simples como la mostrada en la parte derecha de la Figura 2 Por otra parte el desempentildeo de la hiper-heuriacutestica que estamos usando se encuentra limitado por su proceso de entrenamiento pues los valores fueron asignados manualmente y con base en lo que estimamos como mejor

Otras hiper-heuriacutesticas Revisemos ahora coacutemo puede afectar el proceso de entrenamiento al desempentildeo de esta hiper-heuriacutestica en particular Consideremos por ejemplo las hiper-heuriacutesticas mostradas en la Figura 3 La primera de ellas corresponde a nuestro modelo original (el que hemos venido usando) Las otras dos tienen una estructura similar pero el punto de corte de sus regiones de influencia se encuentra en 015 y 035 respectivamente Como se muestra en la Tabla [TableHHsComparison] el hecho de usar un enfoque maacutes agresivo (es decir HH3) sobre este conjunto de instancias resulta en un beneficio pues se obtiene un valor de que en Q

promedio es casi dos unidades menor al alcanzado con la hiper-heuriacutestica original (HH) Asimismo el otro enfoque empeoroacute el resultado respecto al logrado con HH Sin embargo incluso asiacute el resultado logrado es mejor que el obtenido por las heuriacutesticas independientes

Tres configuraciones diferentes de hiper-heuriacutesticas

Tres configuraciones diferentes de hiper-heuriacutesticas

Desempentildeo de dos heuriacutesticas simples y de tres modelos de hiper-heuriacutesticas sobre un conjunto de 10 instancias

Las hiper-heuriacutesticas como un problema de optimizacioacuten Las hiper-heuriacutesticas mostradas han sido entrenadas lsquoa manorsquo definiendo ciertos valores criacuteticos seguacuten nuestro criterio y conocimiento del problema Sin embargo el proceso se puede automatizar si se plantea como un problema de optimizacioacuten Para ello podemos definir la funcioacuten objetivo como el desempentildeo de la hiper-heuriacutestica Esto se muestra en la ecuacioacuten [equBPObjFunction] donde es el nuacutemero de instancias de entrenamiento y es el nivel de calidad dado por la hiper-heuriacutestica en la instancia Como se puede observar el proceso

Instancia

1 11 9 7 11 1

2 2 8 6 10 2

3 1 13 3 5 1

4 2 0 0 4 0

5 3 5 13 3 7

6 1 9 3 3 1

7 3 1 13 5 3

8 9 3 9 5 9

9 9 11 3 5 3

10 5 1 11 5 1

Total 46 60 68 56 28

Promedio 46 6 68 56 28

QMINQMAX QHH3QHH QHH2

Ni Qjj

de optimizacioacuten implica probar cada hiper-heuriacutestica candidata sobre el conjunto de entrenamiento Observemos tambieacuten que en el caso maacutes simple se cuenta con cuatro variables de disentildeo pero si aumentamos el nuacutemero de caracteriacutesticas a por ejemplo tres el nuacutemero de incoacutegnitas se duplica Si en este punto agregamos un par de reglas maacutes (para crear regiones de accioacuten maacutes complejas) el total de variables se duplica una vez maacutes llegando a 16 Asiacute el uso de teacutecnicas de optimizacioacuten claacutesicas como Newton-Rapshon o Descenso empinado queda descartado para la mayoriacutea de problemas praacutecticos (debido a que se requiere un punto de inicio cerca de la solucioacuten y a que quedan atrapados en oacuteptimos locales)

Sin embargo existe otra alternativa las metaheuriacutesticas Para evitar desviar la atencioacuten del lector omitiremos los detalles relacionados con el optimizador y nos centraremos en el proceso de entrenamiento

Vamos a imaginar que tenemos una herramienta capaz de construir una solucioacuten mejorada del problema usando como base una solucioacuten existente que no es necesariamente buena Imaginemos tambieacuten que dicha solucioacuten corresponde a una hiper-heuriacutestica Por tanto podemos definir una solucioacuten (eg una hiper-heuriacutestica) candidata inicial (generada de forma aleatoria) y utilizar dicha herramienta para crear una refinada Para determinar la ganancia dada por nuestra herramienta basta con evaluar ambas soluciones (tanto la aleatoria como la refinada) en la ecuacioacuten [equBPObjFunction] y comparar los resultados Luego de esto podemos tomar la solucioacuten refinada como base y usar nuestra herramienta para crear una mejorada Es justamente este proceso iterativo lo que nos permite operar sobre la solucioacuten aleatoria hasta lograr un resultado con la calidad deseada A manera de ejemplo consideremos un conjunto de 30 instancias aleatorias del problema de particioacuten balanceada (las cuales no se muestran por motivos de espacio) Si generamos 10 soluciones aleatorias (como las descritas anteriormente) obtendremos hiper-heuriacutesticas con desempentildeos buenos y malos como se muestra en la Figura 4 (iteracioacuten 1) Sin embargo podemos usar nuestra herramienta de optimizacioacuten sobre cada una de estas hiper-heuriacutesticas para generar unas mejoradas (iteracioacuten 2) Es maacutes podemos continuar iterativamente y luego de 15 iteraciones tendremos hiper-heuriacutesticas cuyo desempentildeo es bueno y muy similar (iteracioacuten 16) Note que por la naturaleza estocaacutestica de nuestra herramienta en ocasiones el desempentildeo mejora muy raacutepidamente pero en otros casos tarda varias iteraciones en mejorar Ademaacutes tengamos en cuenta que muchas metaheuriacutesticas trabajan de forma poblacional es decir evaluacutean y mejoran muacuteltiples soluciones al mismo tiempo con el aacutenimo de encontrar una uacutenica que sea lo suficientemente buena Sin embargo hemos omitido este tipo de

Fobj(FT A) =sumNi

j=1 Qj

Ni FT = [F1 F2 F3 FNF] and Qj = Qj(FT A)

detalles en la graacutefica para evitar complicar nuestro anaacutelisis y para facilitar la comprensioacuten por parte del lector

Ejemplo de entrenamiento de hiper-heuriacutesticas usando metaheuriacutesticas La iteracioacuten 1 representa el resultado luego de generar la poblacioacuten inicial Los datos mostrados corresponden a 10 reacuteplicas sobre 30 problemas generados de forma aleatoria con 100 elementos y una carga maacutexima de 100 por elemento

Ejemplo de entrenamiento de hiper-heuriacutesticas usando metaheuriacutesticas La iteracioacuten 1 representa el resultado luego de generar la poblacioacuten inicial Los datos mostrados corresponden a 10 reacuteplicas sobre 30 problemas generados de forma aleatoria con 100 elementos y una carga maacutexima de 100 por elemento

Aspectos Avanzados de las Hiper-heuriacutesticas En esta seccioacuten se abordan algunos temas avanzados de las hiper-heuriacutesticas como son sus aplicaciones en problemas multi-objetivo y a la ciencia de datos los modelos hiacutebridos y algunas tendencias futuras del aacuterea

Hiacuteper-heuriacutesticas para Problemas Multi-objetivo Muchos trabajos en la literatura relacionados con hiper-heuriacutesticas para solucionar problemas de optimizacioacuten consideran solamente un objetivo que guiacutea la buacutesqueda de soluciones Sin embargo es natural pensar que en estos problemas existen varios objetivos en conflicto y que la idea es optimizarlos al mismo tiempo

Esto debe plantearse como un problema multi-objetivo y por lo tanto la buacutesqueda de soluciones se debe hacer con un esquema adecuado que facilite ese proceso Para resolver un problema con esa perspectiva es importante definir el problema sus objetivos y el disentildeo del algoritmo que genere la solucioacuten esperada aunque en realidad lo que un algoritmo de este tipo produce es una serie de soluciones que corresponden a los mejores compromisos posibles entre los objetivos en conflicto A estas soluciones se les denomina conjunto de oacuteptimos de Pareto y sus valores correspondientes de las funciones objetivo conforman el denominado frente de Pareto Para ejemplificar este tema usaremos un problema de corte y empacado en dos dimensiones donde se quiere empacar pequentildeas figuras de diferentes tipos y formas en hojas de material rectangulares Lo que se requiere es minimizar el nuacutemero de hojas de materia prima pero al mismo tiempo minimizar tambieacuten el tiempo en que se ejecuta el proceso Estos son claramente dos objetivos que se contraponen por un lado se pueden poner las piezas muy raacutepidamente pero esto no seraacute efectivo en cuanto al nuacutemero de hojas de material y por el otro lado si queremos reducir el

nuacutemero de hojas de material quizaacute requiera maacutes tiempo para terminar el proceso En se usoacute un modelo evolutivo simplificado para representar el estado del problema donde el cromosoma representa un conjunto de puntos en el espacio y cada punto es etiquetado con una heuriacutestica Bajo este esquema el modelo representa una receta para resolver el problema que se puede describir como (a) determinar el estado actual del problema (b) encontrar el punto maacutes cercano a eacutel (c) aplicar la heuriacutestica anexa al punto (d) actualizar el estado Usamos esas ideas y en combinacioacuten con un algoritmo evolutivo multi-objetivo (AEMO) (NSGA-II SPEA2 GDE3) se busca encontrar el conjunto de cromosomas en el frente de Pareto que son capaces de encontrar soluciones a una amplia variedad de problemas tomando en cuenta los dos objetivos El conjunto contiene las hiper-heuriacutesticas que se estaacuten buscando

En la Figura 5 se muestra el esquema utilizado para resolver problemas multi-objetivo para el problema de corte y empacado

Modelo general multi-objetivo mostrando las fases de entrenamiento y prueba

Modelo general multi-objetivo mostrando las fases de entrenamiento y prueba

En la determinacioacuten del estado actual del problema es importante caracterizarlo Para este caso fueron seleccionadas 10 caracteriacutesticas de un conjunto mayor y que son las siguientes

1 Nuacutemero de piezas restantes por empacar

2 Aacuterea promedio de las piezas restantes

3 Varianza en el aacuterea de las piezas restantes

4 Media de la rectangularidad de las piezas restantes

5 Varianza en la rectangularidad de las piezas restantes

6 Media de la altura de las piezas restantes

7 Varianza en el ancho de las piezas restantes

8 Fraccioacuten de las piezas restantes cuya aacuterea es mayor a del aacuterea del objeto

9 Media del grado de concavidad de las piezas restantes

10 Fraccioacuten del total de las piezas restantes

E

S

S

E

12

En la plataforma propuesta para encontrar el conjunto S de mejores hiper-heuriacutesticas en el frente de Pareto se divide el conjunto de instancias en dos tipos entrenamiento y prueba El modelo evolucionaba poblaciones de hiper-heuriacutesticas tomando en cuenta el AEMO La fase de entrenamiento inicia con la generacioacuten de hiper-heuriacutesticas en forma aleatoria para el AEMO Este algoritmos evoluciona la poblacioacuten de acuerdo a su propia metodologiacutea y aplica operadores geneacuteticos para generar nuevas poblaciones considerando el conjunto de entrenamiento para evaluar su rendimiento

Una vez que las mejores hiper-heuriacutesticas se tienen se prueban entonces con las instancias de prueba para comparar los modelos multi-objetivo entre ellos y con respecto a las heuriacutesticas simples adaptadas para el problema usando diferentes meacutetricas

Los resultados obtenidos indican que los modelos eHH-MO son adecuados para construir un conjunto de reglas que permiten resolver el problema bi-objetivo de diversas maneras Los resultados de los modelos eHH-MO han sido comparados contra los obtenidos con las heuriacutesticas simples bajo una serie de experimentos usando tres diferentes meacutetricas como son la distancia generacional (GD) el hipervolumen (HV) y D (dispersioacuten y distribucioacuten) Desde diferentes perspectivas los modelos multi-objetivo superan claramente a los modelos de heuriacutesticas simples Los detalles de la serie de experimentos realizados y su discusioacuten general pueden consultarse en

Transformacioacuten de Caracteriacutesticas en Hiper-heuriacutesticas Una teacutecnica que se ha implementado recientemente se enfoca en el uso de transformaciones matemaacuteticas para mejorar el desempentildeo del modelo de seleccioacuten Al trabajar con una heuriacutestica de seleccioacuten las caracteriacutesticas juegan un papel preponderante en la eficiencia del proceso pues el selector representa una matriz de puntos clave en el espacio de caracteriacutesticas Ademaacutes debemos tener presente que cada problema de optimizacioacuten es diferente por lo que los puntos criacuteticos de una caracteriacutestica difiacutecilmente corresponderaacuten con los de otra Asiacute se inicioacute un proceso para identificar la forma en la que se pudiera establecer una transformacioacuten adecuada a cada problema particular Como resultado se encontroacute que el problema principal que puede resolver la transformacioacuten es el mostrado en la Figura 6 Alliacute se muestra la ubicacioacuten ideal de cuatro reglas (marcadores redondos) y su distancia al estado actual del problema (cuadro blanco) Dos de estas reglas tienen posiciones muy similares (la roja y la azul) por lo que el desempentildeo del selector se torna muy sensible a pequentildeos errores en la ubicacioacuten real de dichas reglas

Sensibilidad de hiper-heuriacutesticas a errores en los valores del selector y su solucioacuten a traveacutes de transformacioacuten de caracteriacutesticas Izquierda Ubicacioacuten ideal de las reglas en el espacio original Derecha Ubicacioacuten ideal de las reglas en el espacio transformado

La Figura 6 tambieacuten muestra la forma como se puede solucionar este problema con la transformacioacuten de caracteriacutesticas La idea es transformar el espacio de cada caracteriacutestica del problema de tal forma que las regiones en conflicto se expandan y las relativamente irrelevantes se compriman Para el ejemplo de la figura esto implica tener mayor resolucioacuten en el espacio cercano a las reglas azul y roja lo que permite un mayor margen de maniobra y por tanto reduce la sensibilidad de la hiper-heuriacutestica De forma similar la zona que pertenece a las dos reglas verdes se comprime Dado que se trata de reglas que ejecutan la misma accioacuten su regioacuten de influencia combinada no seraacute tan sensible a pequentildeos errores de ubicacioacuten Consideremos ahora los casos mostrados en la Figura 7 En la izquierda se muestran dos selectores (uno con dos reglas y otro con cuatro) ambos con dos acciones disponibles roja y azul Al hacer una transformacioacuten de caracteriacutesticas podemos ampliar zonas en conflicto (como ya se mencionoacute arriba) lo que representa una distribucioacuten de las reglas la cual puede incluso modificar la apariencia de las zonas de influencia de cada selector Para nuestro ejemplo dicha transformacioacuten se ve en las imaacutegenes del centro donde la apariencia ha sido parcialmente preservada pero donde se da mayor enfoque a las zonas conflictivas Claro estaacute este proceso no puede ser arbitrario pues podemos tambieacuten generar transformaciones poco uacutetiles como las de la derecha de la figura donde hemos perdido la mayoriacutea de la informacioacuten acerca de las zonas conflictivas por lo que seguramente tendremos un bajo desempentildeo de la hiper-heuriacutestica Detalles de esta investigacioacuten puden ser revisados en

Ejemplo de la forma como la transformacioacuten de caracteriacutesticas puede afectar la apariencia de las zonas de influencia de un selector Izquierda Forma original Centro Transformacioacuten uacutetil que ampliacutea las zonas en conflicto Derecha Transformacioacuten poco uacutetil que destruye informacioacuten sobre las zonas en conflicto

Tendencias Futuras de Hiper-heuriacutesticas Los sistemas inteligentes hiacutebridos son sistemas de software que emplean en paralelo una combinacioacuten de meacutetodos y teacutecnicas de sub-campos de la Inteligencia Artificial La hibridacioacuten de los sistemas inteligentes es un campo de investigacioacuten prometedora de la Inteligencia Computacional moderna para el desarrollo de la proacutexima generacioacuten de sistemas inteligentes Comunidades cientiacuteficas y acadeacutemicas estaacuten cada vez maacutes conscientes de que enfoques combinados podriacutean ser necesarios si se quiere seguir resolviendo los problemas difiacuteciles de la Inteligencia Artificial La integracioacuten de distintas teacutecnicas inteligentes y su adaptacioacuten para superar las limitaciones de los meacutetodos individuales y lograr efectos sineacutergicos a traveacutes de la hibridacioacuten o fusioacuten de estas teacutecnicas ha contribuido a una variedad de nuevos disentildeos dentro del campo de la optimizacioacuten Sin embargo la mayoriacutea de estos enfoques de hibridacioacuten siguen un disentildeo metodoloacutegico ad-hoc que se justifica por el eacutexito en ciertos dominios de aplicacioacuten No obstante se requiere de metodologiacuteas maacutes robustas para la construccioacuten de los sistemas hiacutebridos requeridos para resolver problemas contemporaacuteneos y futuros cada vez maacutes complejos y maacutes grandes

Las hiper-heuriacutesticas como teacutecnicas de buacutesqueda que tratan de automatizar el proceso de generacioacuten seleccioacuten y combinacioacuten de otras heuriacutesticas son un excelente vehiacuteculo para la construccioacuten de sistemas inteligentes hiacutebridos avanzados Recientemente han aparecido los primeros trabajos que proponen formas muy simples y limitadas de combinacioacuten de hiper-

heuriacutesticas Se requiere de estudios maacutes profundos y serios que combinen generacioacuten con seleccioacuten asiacute como estrategias constructivas con perturbativas en formas maacutes elaboradas que mejoren los resultados obtenidos

El desafiacuteo de la hibridacioacuten hiper-heuriacutestica es enorme y complejo Reside primeramente en el modelado de los problemas y de las soluciones (parciales o aproximadas) de forma que a partir de descripciones parameacutetricas o no parameacutetricas el meacutetodo hiacutebrido pueda ir decidiendo la combinacioacuten de meacutetodos heuriacutesticos que iraacute utilizando para guiar la buacutesqueda de la solucioacuten Parte importante del desafiacuteo tambieacuten es la seleccioacuten inteligente de las heuriacutesticas especiacuteficas a los dominios de los problemas las meta-heuriacutesticas y las hiper-heuriacutesticas que formaraacuten el meacutetodo hiacutebrido Otro elemento de complejidad es que cada teacutecnica heuriacutestica incluye paraacutemetros que deben ser ajustados adecuadamente para que trabajen de forma correcta y eso podriacutea ser requerido durante la ejecucioacuten del meacutetodo Finalmente como se quieren meacutetodos hiacutebridos que maximicen su desempentildeo tambieacuten se deberaacuten seleccionar o disentildear las meacutetricas para medir la efectividad y eficiencia de los algoritmos utilizados

Son demasiadas posibilidades las que hay que considerar y demasiada informacioacuten relacionada tanto con las instancias de los problemas a resolver los meacutetodos de solucioacuten sus hiper-paraacutemetros su hibridacioacuten y el efecto de sus decisiones durante la solucioacuten de los problemas Los investigadores ya estaacuten abordando algunos esfuerzos en estas direcciones a traveacutes del aprendizaje automaacutetico y el uso de teacutecnicas estadiacutesticas pero mucha de la praacutectica es primordialmente artesanal Se requiere el uso de metodologiacuteas cientiacuteficas maacutes maduras y desarrolladas para manejar la gran cantidad de datos que se genera en el proceso

Dado que la Ciencia de Datos es la capacidad de extraer conocimientos e ideas de grandes cantidades de datos y datos complejos la construccioacuten de meacutetodos hiacutebridos para optimizacioacuten mediante hiper-heuriacutesticas son un buen motivo para su aplicacioacuten

La Ciencia de Datos intenta comprender las complejidades de las actividades del mundo real y el contexto a partir del anaacutelisis de los datos para mejorar los beneficios que pueden obtenerse de ellos Los algoritmos de optimizacioacuten en tiempo real estaacuten estrechamente vinculados al contexto de sus datos Luego utilizar las teacutecnicas de Ciencia de Datos permitiraacute aprovechar el conjunto histoacuterico de datos asiacute como los datos generados en tiempo real durante la buacutesqueda de soluciones para los problemas de optimizacioacuten El proceso de Ciencia de Datos se puede aplicar al ajuste automaacutetico de los algoritmos su configuracioacuten y su adaptacioacuten para crear mejores meacutetodos de optimizacioacuten

El desarrollo de algoritmos de buacutesqueda poderosos se asemeja a la solucioacuten de los problemas de optimizacioacuten La hibridacioacuten de optimizadores mediante hiper-heuriacutesticas incluye una gran

cantidad de paraacutemetros y generalmente ofrecen muchas opciones El desafiacuteo para la Ciencia de Datos es maacutes complejo debido a la naturaleza estocaacutestica de los meacutetodos de solucioacuten Para explotar el poder real de estas teacutecnicas y resolver los problemas de manera eficiente el desarrollador debe seleccionar los mejores valores y tomar las decisiones correctas

En la uacuteltima deacutecada se han desarrollado varias teacutecnicas para la optimizacioacuten de paraacutemetros la construccioacuten automaacutetica de algoritmos y la creacioacuten de hiper-heuriacutesticas para generar o seleccionar algoritmos pero la Ciencia de Datos tiene mucho que aportar para explotar al maacuteximo el potencial de las teacutecnicas novedosas de buacutesqueda existentes No se debe de buscar un meacutetodo ideal sino crear metodologiacuteas adecuadas a los diferentes dominios de problemas Estas metodologiacuteas deben ser robustas de manera que permitan construir meacutetodos poderosos a partir de la descripcioacuten de esquemas de recoleccioacuten procesamiento exploracioacuten visualizacioacuten aprendizaje y explotacioacuten de datos adecuados a los problemas especiacuteficos a resolver

Aunque actualmente hay un boom en el desarrollo de aplicaciones de Ciencia de Datos en muchos dominios y hay un gran esfuerzo de grupos de personas para desarrollar meacutetodos de buacutesqueda para dominios especiacuteficos la aplicacioacuten de la Ciencia de Datos en la construccioacuten de meacutetodos de optimizacioacuten requiere habilidades inherentemente diferentes y hay muy pocos trabajos especiacuteficos sobre el tema Iniciativas como lsquoData Science meets Optimizationrsquo promovida por grupos creados hace poco como el grupo europeo EWG DSO confirman la relevancia y el potencial del tema

Para saber maacutes El nuacutemero de trabajos relacionados a hiper-heuriacutesticas se ha incrementado significativamente en la uacuteltima deacutecada Como resultado una gran cantidad de recursos se encuentran disponibles en diversas fuentes El lector interesado en conocer a maacutes detalle los diferentes tipos de hiper-heuriacutesticas y sus aplicaciones puede consultar estudios de referencia como y Una lista muy completa sobre los trabajos relacionados a hiper-heuriacutesticas se encuentra disponible en liacutenea en httpsmustafamisirgithubiohhhtml

Debido al intereacutes que las hiper-heuriacutesticas han despertado en los investigadores diversas conferencias y talleres han dedicado espacios para este tipo de trabajos Por ejemplo Genetic and Evolutionary Computation Conference (GECCO) que desde el 2011 ha proporcionado espacios en sus categoriacuteas Self- Search (2011 al 2016) y Search-Based Software Engineering (a partir del 2017) International Conference on Parallel Problem Solving from Nature (PPSN) con talleres en el tema en las ediciones del 2008 y 2016 IEEE Congress on Evolutionary Computation (CEC) con sesiones especiales sobre hiper-heuriacutesticas en sus ediciones del 2013 y

2016 En cuanto a competencias internacionales sobre la materia destacan las dos ediciones del Cross-domain Heurisic Search Challenge (CHeSC) La competencia consistiacutea en disentildear estrategias de alto nivel que controlaran la aplicacioacuten de heuriacutesticas de bajo nivel para dominios especiacuteficos Durante el reto las heuriacutesticas de bajo nivel seriacutean diferentes para cada dominio del problema pero la estrategia de alto nivel debiacutea ser la misma para todos los dominios El reto se enfocaba en el desempentildeo de los meacutetodos de optimizacioacuten en diferentes dominios de problemas en lugar de concentrarse soacutelo en uno

En cuanto a herramientas para la implementacioacuten de hiper-heuriacutesticas la literatura contiene pocos ejemplos entre los que destacan Hyperion HyFlex y EvoHyp No todas las herramientas se encuentran disponibles en este momento ya que algunos de los sitios para su distribucioacuten han sido descontinuados En cualquier caso es posible contactar a los autores para solicitar acceso a las herramientas

Adicionalmente a estos recursos en el 2013 se formoacute la IEEE Task Force on Hyper-heuristics 7

dedicada al desarrollo y aplicaciones de hiper-heuriacutesticas y a su interseccioacuten con la inteligencia artificial la inteligencia computacional y la investigacioacuten de operaciones El sitio del grupo de trabajo proporciona muchos recursos uacutetiles en el tema de hiper-heuriacutesticas

Conclusiones Este capiacutetulo ha presentado el tema de hiper-heuriacutesticas desde diferentes perspectivas con la idea de dar al lector una panoraacutemica general pero suficientemente detallada para que pueda conocer el tema y pueda empezar a realizar avances a traveacutes de la investigacioacuten en el aacuterea o en la aplicacioacuten de las teacutecnicas para resolver problemas en el dominio de optimizacioacuten El capiacutetulo ha explicado el detalle los principales tipos de hiper-heuriacutesticas y sus fundamentos y los diversos modelos que se han generado en la literatura principalmente basados en modelos evolutivos y neuronales y entendiendo que no son los uacutenicos El capiacutetulo provee discusioacuten sobre aspectos avanzados en hiper-heuriacutesticas y que se han derivado en trabajos recientes como es el tratamiento de hiper-heuriacutesticas en problemas multi-objetivo y la transformacioacuten de caracteriacutesticas que permite mejorar el rendimiento de esquemas de hiper-heuriacutesticas En trabajos recientes se han presentado resultados al hibridizar tipos de hiper-heuriacutesticas como por ejemplo las de seleccioacuten con las de generacioacuten las de construccioacuten con las de generacioacuten los tipos de aprendizaje etc Hay todaviacutea un espacio para continuar investigando dentro de ese contexto Con el reciente impacto del tema de big-data se ha empezado a discutir en la comunidad cientiacutefica la relacioacuten de Ciencia de Datos con optimizacioacuten Aquiacute cabe naturalmente el toacutepico de hiper-

httpssitesgooglecomsiteieeetaskforceonhyperheurisitcshome7

heuriacutesticas dado que Ciencia de Datos puede apoyar para generar mejores algoritmos de optimizacioacuten y ciertamente los modelos de optimizacioacuten pueden incidir favorablemente para mejorar los procesos en ciencia de datos

Al final el capiacutetulo presentoacute una serie de recursos que pueden servir como base a estudiantes e investigadores para perseguir el tema de hiper-heuriacutesticas

  • Proacutelogo
  • Introduccioacuten
  • El algoritmo de Evolucioacuten Diferencial
  • Mutacioacuten
  • Cruza
  • Seleccioacuten
  • Estructura del Algoritmo
  • Modificaciones al algoritmo de Evolucioacuten Diferencial
  • Ajuste de paraacutemetros globales
  • Ajuste de paraacutemetros asociados a cada individuo de la poblacioacuten
  • Ajuste del tamantildeo de la poblacioacuten
  • Combinacioacuten de variantes
  • Evolucioacuten Diferencial para otros tipos de problemas
  • DE en Meacutexico
  • Conclusiones
  • Para saber maacutes
  • Introduccioacuten
  • AGds homogeacuteneos y heterogeacuteneos
  • Migracioacuten en AGPs
  • AGs celulares o de grano fino
  • Explotacioacutenexploracioacuten por propiedades estructurales
  • Presioacuten de seleccioacuten por caracteriacutesticas estructurales
  • Anaacutelisis empiacuterico
  • Aceleracioacuten en AGP
  • Concepto de sincronismo en AGPs
  • En AGPs distribuidos viacutea migracioacuten
  • En AGP celulares viacutea criterios de actualizacioacuten
  • Discusioacuten
  • Investigacioacuten de AGPs en Meacutexico
  • Para saber maacutes
  • Introduccioacuten
  • Proceso evolutivo
  • Representacioacuten
  • Poblacioacuten inicial
  • Operadores Geneacuteticos
  • Recombinacioacuten
  • Mutacioacuten
  • Seleccioacuten
  • Espacio de buacutesqueda
  • Conclusiones
  • Para saber maacutes
  • Introduccioacuten
  • Preservacioacuten de diversidad en algoritmos evolutivos
  • Clasificaciones de mecanismos para promover la diversidad
  • Esquemas claacutesicos para administrar la diversidad
  • Esquemas de reemplazamiento basados en diversidad
  • Diversidad en evolucioacuten diferencial
  • Disentildeo de evolucioacuten diferencial basado en diversidad
  • Evolucioacuten diferencial Conceptos baacutesicos
  • Inicializacioacuten
  • Operador de mutacioacuten
  • Operador de cruza
  • Operador de seleccioacuten
  • Propuesta basada en diversidad
  • Resultados de de-edm
  • Disentildeo de operadores de cruza basados en diversidad
  • Algoritmos evolutivos multi-objetivo
  • Operadores de cruza
  • El operador de cruza basado en simulacioacuten binaria - SBX
  • Implementacioacuten y anaacutelisis del operador sbx
  • Propuesta - dsbx
  • Resultados
  • Anaacutelisis de cada modificacioacuten en el operador sbx
  • Modificacioacuten simultaacutenea de varios componentes
  • Conclusiones y trabajo futuro
  • Para saber maacutes
  • Agradeciemientos
  • Introduccioacuten
  • Fundamentos de las Hiper-heuriacutesticas
  • Hiper-heuriacutesticas que seleccionan heuriacutesticas
  • Hiper-heuriacutesticas que generan nuevas heuriacutesticas
  • Modelos de Hiper-heuriacutesticas
  • Modelos Evolutivos
  • Hiper-Heuriacutesticas basadas en Algoritmos Geneacuteticos
  • Hiper-Heuriacutesticas basadas en Programacioacuten Geneacutetica
  • Modelos Neuronales
  • Un ejemplo
  • El problema
  • Las alternativas
  • La informacioacuten del problema
  • Nuestra primer hiper-heuriacutestica
  • Otras hiper-heuriacutesticas
  • Las hiper-heuriacutesticas como un problema de optimizacioacuten
  • Aspectos Avanzados de las Hiper-heuriacutesticas
  • Hiacuteper-heuriacutesticas para Problemas Multi-objetivo
  • Transformacioacuten de Caracteriacutesticas en Hiper-heuriacutesticas
  • Tendencias Futuras de Hiper-heuriacutesticas
  • Para saber maacutes
  • Conclusiones
Page 6: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos

El capıtulo 1 presenta una introduccioacuten a la ldquoevolucioacuten diferencialrdquo que es un tipo de algoritmo evolutivo que se ha vuelto muy popular en la solucioacuten de problemas de optimizacioacuten no lineal Los autores proporcionan una descripcioacuten general de este tipo de algoritmo evolutivo incluyendo el funcionamiento de sus operadores de cruza y mutacioacuten y las diferencias entre sus variantes principales

El capıtulo 2 describe los conceptos baacutesicos de los ldquoalgoritmos geneacuteticos paralelosrdquo a partir de una taxonomıa muy sencilla basada en la granularidad de la paralelizacioacuten enfatizando las diferencias que existen entre los esquemas homogeacuteneos y heterogeacuteneos ası como entre el paralelismo sıncrono y el asıncrono

El capıtulo 3 se enfoca a una variante del algoritmo geneacutetico denominada ldquoprogramacioacuten geneacuteticardquo en la cual se usa una representacioacuten de aacuterbol (la cual permite evolucionar programas) en vez de las cadenas binarias de longitud fija del algoritmo geneacutetico tradicional La programacioacuten geneacutetica ha tomado una gran relevancia en antildeos recientes sobre todo por su aplicabilidad a problemas de aprendizaje y clasificacioacuten

El capıtulo 4 se enfoca en un tema muy importante en computacioacuten evolutiva del cual no suele hablarse mucho la importancia de la diversidad en el disentildeo de un algoritmo evolutivo Los autores hacen una revisioacuten de diversas teacutecnicas que se han propuesto para lidiar con la convergencia prematura (la cual suele ser consecuencia de una peacuterdida abrupta de diversidad en la poblacioacuten) Adicionalmente se incluye un pequentildeo estudio en el que se analizan dos teacutecnicas para mantener diversidad

El capıtulo 5 presenta un tutorial de otra aacuterea que ha tomado gran relevancia en antildeos recientes la optimizacioacuten evolutiva multi-objetivo la cual se enfoca a la solucioacuten de problemas de optimizacioacuten que tienen dos o maacutes objetivos (normalmente en conflicto entre sı) que deseamos optimizar al mismo tiempo Ademaacutes de proporcionar los conceptos baacutesicos de esta aacuterea se describen brevemente los algoritmos evolutivos multi-objetivo maacutes utilizados en la actualidad ası como las medidas principales de desempentildeo que se utilizan en la literatura especializada En la parte final del capıtulo se describen tambieacuten algunos de los temas de investigacioacuten en los que se estaacute trabajando maacutes dentro de esta aacuterea en la actualidad

El capıtulo 6 estaacute dedicado a las hiper-heurısticas que son teacutecnicas que buscan proporcionar maacutes flexibilidad que los algoritmos evolutivos tradicionales al ser capaces de adaptarse a diversos tipos de problemas y a diferentes instancias de una misma clase de problemas Las hiper-heurısticas son el eslaboacuten intermedio entre las limitantes teoacutericas relacionadas con la aplicabilidad de las metaheurısticas y el anhelado suentildeo del disentildeo automatizado de algoritmos y

constituyen sin lugar a dudas uno de los temas maacutes ricos de investigacioacuten dentro de las metaheurısticas

Doctor Carlos Artemio Coello Coello

Indice general

Proacutelogo 5

Introduccioacuten 13

El algoritmo de Evolucioacuten Diferencial 15

Mutacioacuten 16

Cruza 18

Seleccioacuten 20

Estructura del Algoritmo 20

Modificaciones al algoritmo de Evolucioacuten Diferencial 21

Ajuste de paraacutemetros globales 22

Ajuste de paraacutemetros asociados a cada individuo de la poblacioacuten 23

Ajuste del tamantildeo de la poblacioacuten 26

Combinacioacuten de variantes 27

Evolucioacuten Diferencial para otros tipos de problemas 29

DE en Meacutexico 30

Conclusiones 30

Para saber maacutes 31

Introduccioacuten 32

AGds homogeacuteneos y heterogeacuteneos 35

Migracioacuten en AGPs 37

AGs celulares o de grano fino 39

Explotacioacutenexploracioacuten por propiedades estructurales 40

Presioacuten de seleccioacuten por caracteriacutesticas estructurales 43

Anaacutelisis empiacuterico 45

Aceleracioacuten en AGP 46

Concepto de sincronismo en AGPs 47

En AGPs distribuidos viacutea migracioacuten 48

En AGP celulares viacutea criterios de actualizacioacuten 49

Discusioacuten 50

Investigacioacuten de AGPs en Meacutexico 50

Para saber maacutes 51

Introduccioacuten 53

Proceso evolutivo 55

Representacioacuten 56

Poblacioacuten inicial 58

Operadores Geneacuteticos 59

Recombinacioacuten 59

Mutacioacuten 60

Seleccioacuten 61

Espacio de buacutesqueda 62

Conclusiones 63

Para saber maacutes 63

Introduccioacuten 64

Preservacioacuten de diversidad en algoritmos evolutivos 67

Clasificaciones de mecanismos para promover la diversidad 67

Esquemas claacutesicos para administrar la diversidad 68

Esquemas de reemplazamiento basados en diversidad 69

Diversidad en evolucioacuten diferencial 71

Disentildeo de evolucioacuten diferencial basado en diversidad 72

Evolucioacuten diferencial Conceptos baacutesicos 72

Inicializacioacuten 72

Operador de mutacioacuten 72

Operador de cruza 73

Operador de seleccioacuten 73

Propuesta basada en diversidad 74

Resultados de de-edm 77

Disentildeo de operadores de cruza basados en diversidad 87

Algoritmos evolutivos multi-objetivo 87

Operadores de cruza 89

El operador de cruza basado en simulacioacuten binaria - SBX 89

Implementacioacuten y anaacutelisis del operador sbx 90

Propuesta - dsbx 92

Resultados 93

Anaacutelisis de cada modificacioacuten en el operador sbx 95

Modificacioacuten simultaacutenea de varios componentes 96

Conclusiones y trabajo futuro 97

Para saber maacutes 98

Agradeciemientos 99

Introduccioacuten 100

Fundamentos de las Hiper-heuriacutesticas 102

Hiper-heuriacutesticas que seleccionan heuriacutesticas 103

Hiper-heuriacutesticas que generan nuevas heuriacutesticas 105

Modelos de Hiper-heuriacutesticas 106

Modelos Evolutivos 106

Hiper-Heuriacutesticas basadas en Algoritmos Geneacuteticos 106

Hiper-Heuriacutesticas basadas en Programacioacuten Geneacutetica 107

Modelos Neuronales 109

Un ejemplo 109

El problema 110

Las alternativas 110

La informacioacuten del problema 111

Nuestra primer hiper-heuriacutestica 112

Otras hiper-heuriacutesticas 112

Las hiper-heuriacutesticas como un problema de optimizacioacuten 113

Aspectos Avanzados de las Hiper-heuriacutesticas 115

Hiacuteper-heuriacutesticas para Problemas Multi-objetivo 115

Transformacioacuten de Caracteriacutesticas en Hiper-heuriacutesticas 117

Tendencias Futuras de Hiper-heuriacutesticas 119

Para saber maacutes 121

Conclusiones 122

Evolucioacuten Diferencial una breve introduccioacuten Rafael Rivera Loacutepez

Efreacuten Mezura Montes

En este capiacutetulo se hace una descripcioacuten general del algoritmo de Evolucioacuten Diferencial Este tipo de algoritmo evolutivo representa una excelente alternativa para encontrar soluciones cercanas al oacuteptimo a problemas de optimizacioacuten continua complejos Debido a la simplicidad de su implementacioacuten y sus excelentes habilidades de exploracioacuten y explotacioacuten diversas variantes de este algoritmo se han aplicado para resolver problemas con diferentes caracteriacutesticas En este capiacutetulo se describen los elementos baacutesicos del algoritmo asiacute como las diferentes variantes que se han desarrollado para mejorar su desempentildeo

Introduccioacuten Con el nombre de algoritmos evolutivos se identifica a un grupo de procedimientos que se utilizan para resolver muchos problemas praacutecticos y que se distinguen de otras teacutecnicas porque estaacuten inspirados en las teoriacuteas que sintetizan la evolucioacuten Darwiniana y la herencia geneacutetica descrita por Mendel Los algoritmos evolutivos han probado ser herramientas poderosas para encontrar soluciones aceptables a problemas donde otras teacutecnicas fallan o consumen una excesiva cantidad de tiempo Estos algoritmos se destacan por combinar exitosamente dos mecanismos de buacutesqueda exploracioacuten y explotacioacuten La exploracioacuten permite identificar aacutereas prometedoras del espacio de buacutesqueda y la explotacioacuten lleva a cabo una buacutesqueda especializada dentro de estas aacutereas para encontrar soluciones cercanas al oacuteptimo Su aplicacioacuten se extiende en praacutecticamente todas las aacutereas de la actividad humana como por ejemplo en salud educacioacuten ciencias industria economiacutea y defensa Los algoritmos evolutivos tambieacuten han sido utilizados en aacutereas emergentes como la ciencia de datos la inteligencia de negocios y el big data En estos algoritmos un conjunto de soluciones candidatas evoluciona para alcanzar una solucioacuten cercana al oacuteptimo por la aplicacioacuten de procedimientos que permiten recombinar y alterar sus valores En la jerga de los especialistas del aacuterea una solucioacuten candidata se conoce como individuo al conjunto de soluciones se denomina poblacioacuten y los procedimientos involucrados en el proceso evolutivo se identifican como operadores de seleccioacuten cruzamiento y mutacioacuten Comuacutenmente dos individuos son seleccionados y sus valores son recombinados y algunas veces mutados para crear nuevas soluciones candidatas Los nuevos individuos son considerados parte de una nueva poblacioacuten que sustituye a la anterior Entonces una secuencia de nuevas poblaciones son creadas hasta que una condicioacuten de teacutermino es alcanzada y la mejor solucioacuten de

las uacuteltima poblacioacuten es seleccionada como resultado del algoritmo Este proceso evolutivo es guiado por una funcioacuten de aptitud que determina la calidad de cada individuo en la poblacioacuten La figura 1 muestra el esquema general de un algoritmo evolutivo

Esquema general de un algoritmo evolutivo

A lo largo de su desarrollo histoacuterico varios tipos de algoritmos evolutivos han sido implementados difiriendo en la forma de representar a sus individuos y en la implementacioacuten de sus operadores geneacuteticos Auacuten cuando en los antildeos 50 varios autores introducen los teacuterminos evolucioacuten y proceso evolutivo en sus propuestas para resolver diversos problemas es en los antildeos 60 cuando se sientan las bases del desarrollo de los algoritmos evolutivos con la introduccioacuten de tres teacutecnicas la Programacioacuten Evolutiva las Estrategias Evolutivas y los Algoritmos Geneacuteticos Fogel propone en 1962 la Programacioacuten Evolutiva donde las soluciones candidatas se representan con maacutequinas de estados finitos y Rechenberg y Schwefel en 1965 desarrollan las Estrategias Evolutivas que codifican sus individuos con vectores de nuacutemeros reales Los Algoritmos Geneacuteticos introducidos en 1962 por Holland son sin duda el tipo de algoritmo evolutivo maacutes popular Estos algoritmos tradicionalmente utilizan una cadena binaria para representar a sus individuos aunque tambieacuten se han utilizado cadenas de enteros y secuencias de nuacutemeros reales Desarrollos posteriores a estas teacutecnicas han aportado al eacutexito de los algoritmos evolutivos destacaacutendose la Programacioacuten Geneacutetica los Algoritmos Coevolutivos los Algoritmos Culturales el algoritmo de Evolucioacuten Diferencial los Algoritmos de Estimacioacuten de Distribuciones la Evolucioacuten Gramatical y la Programacioacuten de Expresioacuten de Genes Cada uno de estos algoritmos tienen sus ventajas y sus propios desafiacuteos y han sido utilizados para resolver diferentes tipos de problemas La figura 2 muestra un esquema del desarrollo histoacuterico de los

algoritmos evolutivos En particular el algoritmo de Evolucioacuten Diferencial ha demostrado ser muy competitivo y exitoso para resolver problemas numeacutericos complejos en comparacioacuten con otros algoritmos

Liacutenea del tiempo del desarrollo de los algoritmos evolutivos

El algoritmo de Evolucioacuten Diferencial Evolucioacuten Diferencial (DE por sus siglas en ingleacutes) es un tipo de algoritmo evolutivo que fue originalmente disentildeado por Storn y Price en 1995 para resolver problemas de optimizacioacuten continua En particular en este algoritmo cada individuo usualmente se representa con un vector de valores continuos de paraacutemetros Ademaacutes en lugar de implementar los operadores de cruza y mutacioacuten tradicionales el algoritmo crea cada nuevo individuo con una combinacioacuten lineal de los valores de dos o maacutes individuos de la poblacioacuten actual que son seleccionados al azar La forma en que se implementan los operadores de cruza y mutacioacuten se ha utilizado en la literatura para identificar las diferentes variantes del algoritmo DEABC es la notacioacuten comuacutenmente usada para nombrar estas variantes donde A y B determinan el tipo de mutacioacuten implementado y C identifica el tipo de cruza implementado por la variante En particular A representa el procedimiento de seleccioacuten de los individuos para construir el individuo mutado y B es el nuacutemero de vectores diferencia usados para el operador de mutacioacuten DE puede considerarse un proceso de tres pasos que incluye una fase de inicializacioacuten el proceso evolutivo y el paso final que determina el resultado obtenido La fase de inicializacioacuten involucra la seleccioacuten y evaluacioacuten de un grupo de NP individuos que son generados aleatoriamente de un espacio de buacutesqueda finito los cuales se utilizan como poblacioacuten inicial del algoritmo conocido como Si para cada y son los valores miacutenimo y maacuteximo del -eacutesimo paraacutemetro en el valor del -eacutesimo individuo en la poblacioacuten inicial es determinado como sigue

x = (x1 x2 hellip xn) n

Ω sube ℝn

X0 j isin 1 hellip n xminj xmax

jj Ω xi

j i xi

donde es un nuacutemero aleatorio uniformemente distribuido dentro del rango El proceso evolutivo implementa un esquema iterativo para evolucionar la poblacioacuten inicial En cada iteracioacuten de este proceso conocido como una generacioacuten una nueva poblacioacuten de individuos es generada utilizando informacioacuten de la poblacioacuten previamente creada A diferencia de otros algoritmos evolutivos el orden de aplicacioacuten de los operadores geneacuteticos en el algoritmo de Evolucioacuten Diferencial es diferente Primero se aplica la mutacioacuten despueacutes la cruza y al final se lleva a cabo la seleccioacuten del mejor individuo Para cada en la generacioacuten es obtenido de la poblacioacuten y es utilizado para crear un nuevo vector aplicando los operadores de cruza y mutacioacuten Los vectores y son conocidos como el vector objetivo y el vector de prueba respectivamente Estos vectores son evaluados por el operador de seleccioacuten para actualizar la nueva poblacioacuten Los operadores de mutacioacuten cruza y seleccioacuten son descritos en detalle en los siguientes paacuterrafos En el paso final cuando una condicioacuten de paro es alcanzada el algoritmo devuelve el mejor individuo en la poblacioacuten actual La condicioacuten de paro maacutes comuacutenmente utilizada es comparar el nuacutemero de generaciones construidas contra un valor fijo pero otros criterios pueden ser implementados como aquellos descritos por Zielinski y Laur

Mutacioacuten Un vector mutado es construido al combinar los valores de varios individuos aleatoriamente seleccionados de El nuacutemero de individuos seleccionados para realizar la combinacioacuten depende del operador de mutacioacuten implementado por la variante del algoritmo En alguna de estas variantes el individuo con la mejor aptitud en la poblacioacuten es tambieacuten utilizado por el operador de mutacioacuten Entre los diferentes operadores de mutacioacuten descritos en la literatura destacan los siguientes

$$beginaligned

textDErand1quad v^i amp= x^r_1 + textF big( x^r_2 - x^r_3 big)labeleqmut_1

textDEbest1quad v^i amp= x^textbest + textF big( x^r_1 - x^r_2 big) labeleqmut_2

textDEcurrent-to-best1quad v^i amp= x^i + textF big( x^textbest - x^r_1big) + textF big( x^r_2 - x^r_3 big) labeleqmut_3

xij = xmin

j + r (xmaxj minus xmin

j )

r [0 1]

i isin 1 hellip NP g xi

Xgminus1 ui

xi ui

Xgω

vi xrj

Xgminus1

xbest Xgminus1

textDErand2quad v^i amp= x^r_1 + textF big( x^r_2 - x^r_3 big)+textF big( x^r_4 - x^r_5 big) labeleqmut_4

shortintertexty

textDEbest2quad v^i amp= x^textbest + textF big( x^r_1 - x^r_2 big )+ textF big( x^r_3 - x^r_4 big ) labeleqmut_5 endaligned$$

donde F es un valor definido por el usuario que representa un factor de escala aplicado para controlar la variacioacuten diferencial Storn y Price sentildealan que F puede fijarse entre 0 y 2 pero otros autores recomiendan valores entre 04 y 1 En la figura 3 se presenta un ejemplo de la aplicacioacuten del operador de mutacioacuten DErand1 En este ejemplo = = y = Usando F igual a 05 el vector mutado resultante es =

Ejemplo de la creacioacuten de un vector mutado con el esquema DErand1

La mutacioacuten aporta a las habilidades de explotacioacuten y exploracioacuten del meacutetodo Debido a que al inicio del proceso evolutivo los individuos se encuentran relativamente dispersos en el espacio

xr1 (1056 316) xr2

(253 903) xr3 (56 626) vi

(902 454)

de buacutesqueda la diferencia entre los vectores seleccionados es grande por lo que los vectores mutados pueden ubicarse en diferentes aacutereas del espacio de buacutesqueda pero a medida que el proceso evolutivo avanza las soluciones se vuelven maacutes cercanas y las diferencias entre ellos son maacutes pequentildeas lo que produce que los vectores mutados se encuentran concentrados en aacutereas promisorias del espacio de buacutesqueda

Cruza El operador de cruza se utiliza para combinar la informacioacuten entre el vector objetivo y el vector mutado para construir el vector de prueba Por cada o se seleccionan para construir usando un factor de cruza el cual es tambieacuten un valor especificado por el usuario Dos tipos de cruza se utilizan en este caso cruza binomial y cruza exponencial

Cruza binomial En este operador cada valor asignado a es seleccionado de o de comparando el valor CR con un valor seleccionado al azar Para garantizar que al menos un paraacutemetro de toma un valor de este operador utiliza un valor tambieacuten seleccionado al azar Formalmente la cruza binomial se define como

Tomando el vector mutado = del ejemplo de la figura 3 y un vector objetivo = en la figura 4 se muestra un ejemplo de la creacioacuten de un vector de prueba usando la cruza binomial El vector de prueba generado en este ejemplo es =

xr2 minus xr3

j isin 1 hellip n xij vi

jui CR isin [0 1]

ui vi xi

r isin [0 1] ui

vi l isin 1 hellip n

bin uij =

vij si r le CR or j = l

xij de otra forma

vi (902 454) xi

(406 766)ui (406 454)

Ejemplo de la creacioacuten de un vector de prueba usando la cruza binomial

Cruza exponencial Este operador de cruza asigna una secuencia de valores de a Los valores restantes que son asignados a son obtenidos de El tamantildeo de la secuencia se determina con dos valores 1) un iacutendice que representa la posicioacuten inicial de la secuencia en seleccionado aleatoriamente dentro del rango y 2) el nuacutemero de intentos consecutivos en los cuales determina la posicioacuten final de la secuencia como es definida en la Ec ([eqcr_exp]) La cruza exponencial es similar al operador de cruza de dos puntos introducido por Cavicchio

$$beginaligned

textexpquad u_j^i amp=

begincases

v_j^i amp textsi $ l leq j leq min (l+L-1n)$

vi ui

ui xi

l vi

1 hellip n L le n r le CR

x_j^i amp textde otra forma

endcases labeleqcr_expendaligned$$

Por ejemplo si se tienen dos vectores de cinco paraacutemetros = y = y se aplica el operador de cruza exponencial usando un factor de cruza de 06 entonces se debe obtener el valor de y despueacutes generar una secuencia de valores aleatorios para Si =2 y la secuencia de valores de es 06 03 04 y 06 y el vector de prueba que se construye es =

La cruza ayuda al algoritmo a mantener la diversidad de la poblacioacuten y eventualmente evitar que caiga en oacuteptimos locales El valor de CR es complicado de determinar pero algunos autores sentildealan que su valor puede ajustarse entre 03 y 09

Seleccioacuten Un torneo uno-a-uno es aplicado para determinar cual vector entre y es seleccionado como miembro de la nueva poblacioacuten Este esquema de seleccioacuten permite garantizar que el proceso evolutivo mantenga una mejora continua

Estructura del Algoritmo El Algoritmo [algDE] muestra la estructura de una implementacioacuten claacutesica del algoritmo Eacuteste requiere de tres paraacutemetros para controlar el proceso evolutivo (CR F y NP) y tambieacuten la seleccioacuten de un espacio de buacutesqueda para construir la poblacioacuten inicial y la definicioacuten del tamantildeo de individuo de una funcioacuten objetivo para evaluar cada individuo y de una condicioacuten de paro para finalizar el proceso evolutivo

Entrada Salida Un individuo generado aleatoriamente usando la Ec ([eqinicial]) Vector objetivo obtenido aleatoriamente de Vector mutado generado usando alguna de las Ecs ([eqmut_1])ndash([eqmut_5]) Vector de prueba construido usando alguna de las Ecs ([eqcr_bin])ndash([eqcr_exp])

DE tiene varias ventajas en comparacioacuten con otros algoritmos evolutivos como la simplicidad de su implementacioacuten su habilidad para producir mejores resultados que aquellos obtenidos por los demaacutes y su baja complejidad espacial

vi (24 36 12 78 02) xi

(34 96 12 52 31)l

r l rui (24 96 12 52 02)

xi ui

Xg

g larr 0 Xg larr xi larrXg larr Xg cup (i xi) g larr g + 1 Xg larr xi larr

Xgminus1 vi larrui larrXg larr Xg cup (i ui) Xg larr Xg cup (i xi) xbest

Modificaciones al algoritmo de Evolucioacuten Diferencial Aunque DE requiere de la definicioacuten de un nuacutemero menor de paraacutemetros en comparacioacuten con el nuacutemero de paraacutemetros requeridos por otros algoritmos evolutivos su desempentildeo es sensible a los valores seleccionados de CR F y NP Varios autores sentildealan que los valores adecuados para estos paraacutemetros pueden variar para diferentes problemas y es conocido que la definicioacuten de estos paraacutemetros depende de las caracteriacutesticas propias de cada problema Ademaacutes Lampinen y Zelinka sentildealan que este algoritmo puede presentar el problema de estancamiento debido a una incorrecta seleccioacuten de sus paraacutemetros El estancamiento en un algoritmo se presenta cuando eacuteste no converge a alguna solucioacuten y la poblacioacuten presenta una gran diversidad de individuos Por lo anterior la mayoriacutea de los estudios realizados para mejorar el desempentildeo del algoritmo de Evolucioacuten Diferencial se relacionan con teacutecnicas para ajustar los valores de sus paraacutemetros (F CR y NP) y para combinar las ventajas de las diferentes variantes del algoritmo usando un subconjunto de ellas en lugar de solamente aplicar una variante En los siguientes paacuterrafos se describen las propuestas para mejorar el desempentildeo del algoritmo que se consideran los maacutes representativos en la literatura especializada Para simplificar su descripcioacuten estas propuestas se agrupan de acuerdo al criterio utilizado Ajuste de paraacutemetros y combinacioacuten de variantes Por un lado debido a que F y CR son los paraacutemetros del algoritmo maacutes estudiados y donde maacutes variantes de mejora han sido desarrolladas estos estudios se agrupan en enfoques que usan paraacutemetros globales y enfoques que usan paraacutemetros para cada individuo Adicionalmente se presentan los enfoques relacionados con el ajuste del tamantildeo de la poblacioacuten y tambieacuten aquellos donde se modifica la forma que generar los vectores mutados dentro del proceso evolutivo La figura 5 presenta un esquema del desarrollo histoacuterico de estos enfoques

Liacutenea del tiempo de las modificaciones a DE

Ajuste de paraacutemetros globales En estos enfoques los operadores geneacuteticos utilizan los mismos valores para F y CR en todos los individuos de una misma poblacioacuten como se ilustra en la figura 6 Estos valores se actualizan al finalizar cada generacioacuten con el aacutenimo de mejorar las habilidades de exploracioacuten y explotacioacuten del algoritmo Dos enfoques se concentran en ajustar el valor de F manteniendo fijo el valor de CR En 2004 Ali y Toumlrn lo actualizan considerando la aptitud del mejor y del peor individuo en la poblacioacuten y Das et al en 2005 proponen dos enfoques para modificar su valor el primero lo modifica de forma aleatoria y el segundo reduce su valor de forma lineal conforme el proceso evolutivo avanza Por otro lado Liu y Lampinen en 2005 proponen un enfoque diferente al cual denominan FADE (Fuzzy Adaptive DE algorithm) En este algoritmo los valores de F y CR se ajustan usando un sistema de control loacutegico difuso El sistema utiliza las diferencias entre generaciones sucesivas tanto de los valores de los individuos como de sus valores de aptitud Finalmente Dra et al en 2015 proponen una versioacuten alternativa denominada SinDE (Sinusoidal DE) en donde los valores de F y CR se ajustan utilizando foacutermulas trigonomeacutetricas permitiendo cambiar la direccioacuten del vector diferencia dentro del operador de mutacioacuten

Esquema de ajuste de paraacutemetros globales del algoritmo

Ajuste de paraacutemetros asociados a cada individuo de la poblacioacuten En este tipo de algoritmos cada individuo de la poblacioacuten tiene asociado su propio conjunto de paraacutemetros como se muestra en la figura 7 Estos paraacutemetros se ajustan de forma independiente dentro del proceso evolutivo como se esquematiza en la figura 8

Paraacutemetros asociados a cada individuo de la poblacioacuten

En 2005 Omran et al asocian el valor de F a cada individuo de la poblacioacuten en su meacutetodo denominado SDE (self-adaptive DE) Este meacutetodo actualiza el valor de F combinando los valores de F de tres individuos de la poblacioacuten actual que son seleccionados aleatoriamente En 2006 Brest et al describen su meacutetodo denominado jDE donde los valores de F y CR se pueden modificar en cada iteracioacuten del proceso evolutivo basados en una decisioacuten estocaacutestica utilizando un par de umbrales previamente definidos En 2007 Zhang y Sanderson implementan un meacutetodo conocido como JADE donde F y CR son ajustados utilizando distribuciones normales independientes cuya media es calculada usando el promedio de los vectores mutados mejor adaptados en cada iteracioacuten En 2011 Ghosh et al actualizan los valores de estos paraacutemetros en base al valor de aptitud de los individuos en la poblacioacuten en un meacutetodo denominado FiADE (Fitness-Adaptive DE) Una versioacuten parecida es presentada en 2015 por Tang et al en el meacutetodo llamado IDE (DE with an individual-dependent mechanism) En 2011 Bi y Xiao describen el meacutetodo p-ADE (pbest vector-based self-adaptive DE variant) donde el vector mutado se crea usando el mejor individuo en la poblacioacuten y el mejor de los vectores que se utilizaron para crear al vector objetivo Los valores de F y CR de cada individuo son ajustados usando un factor asociado a las mejores y peores aptitudes de los individuos en la poblacioacuten En 2012 Islam et al introdujeron el meacutetodo llamado MDEpBX (modified DE with p-best crossover) donde se modifica la variante DEcurrent-to-best1 al utilizar el mejor elemento de un grupo de individuos seleccionados aleatoriamente de la poblacioacuten actual en lugar de usar el mejor individuo de la poblacioacuten Los valores de los paraacutemetros se ajustan en base a un par de distribuciones independientes que son actualizadas al final de cada generacioacuten En 2013 Tanabe y Fukunaga implementan el meacutetodo SHADE (Success-History based Adaptive DE) que basaacutendose en JADE actualiza los valores de F y CR usando una memoria de los vectores mutados que han sido exitosamente seleccionados previamente dentro del proceso evolutivo A partir de SHADE

varias versiones se han desarrollado como el meacutetodo L-convSHADE (SHADE using covariance matrix learning with Euclidean Neighborhood) y el meacutetodo LSHADE-SPA (LSHADE with semi parameter adaptation) En 2016 Leon y Xiong introducen una estrategia voraz para actualizar los valores de los paraacutemetros de cada individuo en el meacutetodo llamado GADE (Greedy Adaptive DE) Se utilizan los valores de los paraacutemetros de las soluciones vecinas para ajustar los paraacutemetros del nuevo vector mutado Finalmente Mohamed y Mohamed en 2017 proponen el meacutetodo denominado AGDE (Adaptive guided DE)

Esquema de ajuste de paraacutemetros para cada individuo de la poblacioacuten

Ajuste del tamantildeo de la poblacioacuten En los enfoques descritos previamente solamente se ajustan los valores de F y CR manteniendo el tamantildeo de la poblacioacuten constante Diversos estudios indican que el tamantildeo de la poblacioacuten tambieacuten afecta al desempentildeo de un algoritmo evolutivo por lo que existen trabajos que se han centrado en ajustar el tamantildeo de la poblacioacuten para garantizar la convergencia del algoritmo Existen algunos enfoques donde se ajusta el tamantildeo de la poblacioacuten y se describiraacuten a continuacioacuten En la figura 9 se muestra el esquema general en que estos enfoques ajustan el tamantildeo de la poblacioacuten durante el proceso evolutivo

Esquema general del ajuste del tamantildeo de la poblacioacuten en DE

En 2006 Teo describe el meacutetodo DESAP (Differential Evolution with self-adapting populations) donde el tamantildeo de la poblacioacuten se ajusta usando un factor distribuido uniformemente entre 0 y 1 En 2008 Brest y Sepesy Maučec presentan el algoritmo dynNP-DE (DE con NP dinaacutemico) donde van reduciendo a la mitad el tamantildeo de la poblacioacuten conforme el proceso evolutivo progresa Utilizando el nuacutemero total de evaluaciones y un paraacutemetro que indica el nuacutemero de posibles reducciones el algoritmo establece en queacute generaciones el algoritmo reduciraacute el tamantildeo de la poblacioacuten En 2014 Tanabe y Fukunaga presentaron una versioacuten con ajuste de poblacioacuten del meacutetodo SHADE denominada L-SHADE donde se aplica una reduccioacuten lineal del tamantildeo de la poblacioacuten previo a una ordenacioacuten a los individuos por su aptitud que permite eliminar solo

los individuos peor adaptados En 2017 Bujok y Tvrdiacutek describen el meacutetodo IDEbd (IDE with Population Size Adaptation) en donde el tamantildeo de la poblacioacuten es adaptado usando un factor calculado en base al nivel de diversidad de la poblacioacuten actual

Combinacioacuten de variantes Debido a la forma de combinar los individuos para crear el vector de prueba de cada una de las variantes de DE estaacutes presentan diferentes capacidades de exploracioacuten y explotacioacuten ademaacutes de que son maacutes efectivas para diferentes tipos de problemas Por ejemplo la variante DErand1 es mejor para explorar el espacio de buacutesqueda pero tiene una velocidad de convergencia lenta y DEbest1 converge maacutes raacutepido hacia soluciones cercanas a la oacuteptima pero solo para problemas con un uacutenico oacuteptimo global (unimodales) Debido a que usar diferentes estrategias de mutacioacuten durante diferentes momentos del proceso evolutivo pueden ser mejor que usar una sola variante durante todo el proceso varios autores se han enfocado en desarrollar estrategias para combinar diferentes variantes de DE y lograr con esto que cooperen en la creacioacuten de un mejor vector objetivo La figura 10 muestra un esquema general de la forma en que se aplican estas estrategias dentro del algoritmo de Evolucioacuten Diferencial

Esquema general de la estrategia de combinacioacuten de variantes de DE

En 2005 Qin y Suganthan describieron una versioacuten conocida como SADE (Self-Adaptive DE algorithm for numerical optimization) donde introducen un esquema que selecciona de forma alternada una de dos variantes del algoritmo de acuerdo a su tasa de eacutexito dentro del proceso evolutivo En 2009 Das et al presentaron el meacutetodo llamado DEGL (DE with Global and Local Neighborhoods) donde cada nuevo vector mutado se crea combinando dos vectores uno construido usando una vecindad del vector objetivo (vector local) y otro creado usando el mejor

individuo de la poblacioacuten (vector global) En 2011 Mallipeddi et al asignaron a cada individuo de la poblacioacuten el tipo de variante para generar el vector mutado y los valores para F y CR en el meacutetodo EPSDE (Ensemble of mutation strategies and parameters in DE) Tanto el tipo de variante como los valores de los paraacutemetros se escogen aleatoriamente de un grupo de ellos que es previamente definido Dependiendo del eacutexito de la aplicacioacuten de dichos valores eacutestos se pueden cambiar durante el proceso evolutivo Tambieacuten en ese mismo antildeo Wang et al en su meacutetodo CoDE (Composite DE) crean tres vectores para cada vector objetivo Cada vector es construido usando variantes diferentes y con paraacutemetros generados aleatoriamente El mejor de los tres vectores se usa como vector de prueba para aplicar el operador de seleccioacuten Adicionalmente Zhao et al implementaron un meacutetodo muy similar denominado SaDE-MMTS (SaDE with a modified multi-trajectory search) donde el vector mutado se selecciona de entre los vectores generados por tres diferentes variantes del algoritmo pero la seleccioacuten se hace en base a una probabilidad que iterativamente se ajusta en base a la cantidad de vectores mutados que son exitosamente seleccionados En 2017 Ghosh et al propusieron el meacutetodo NRDE (Noise Resilient DE) donde cada individuo puede ser mutado por alguna de dos variantes con igual probabilidad Los valores de F y CR son ajustados para cada individuo basado en un rango preestablecido previamente

Evolucioacuten Diferencial para otros tipos de problemas Aunque DE fue definido originalmente para resolver problemas de optimizacioacuten continua sin restricciones tambieacuten se ha utilizado con eacutexito para resolver otros tipos de problemas como aquellos donde los valores de las variables del problema son discretos donde el espacio de buacutesqueda estaacute limitado por una o maacutes restricciones y aquellos donde se manejan dos o mas objetivos Prado et al describe varias adaptaciones al algoritmo de Evolucioacuten Diferencial para problemas de optimizacioacuten combinatoria como aquellos que implementan una matriz de permutacioacuten los que obtienen una secuencia ordenada de valores y los que aplican una transformacioacuten de los valores continuos al espacio discreto En el caso de los problemas de optimizacioacuten con restricciones Mezura-Montes et al describen varios enfoques que se han utilizado para aplicar DE en este tipo de problemas como aquellos que utilizan teacutecnicas para eliminar o reparar soluciones infactibles y los que implementan teacutecnicas de penalizacioacuten Finalmente para problemas de optimizacioacuten multi-objetivo Mezura-Montes et al resume las principales teacutecnicas basadas en el algoritmo de Evolucioacuten Diferencial para manejar dos o maacutes objetivos como los enfoques basados en dominancia de Pareto y en jerarquizacioacuten de Pareto asiacute como los meacutetodos que no se basan en Pareto y los enfoques que combinan diferentes estrategias Hoy en diacutea existen tambieacuten algoritmos basados en descomposicioacuten y en indicadores de desempentildeo

DE en Meacutexico En el paiacutes se tiene mucha actividad en investigacioacuten relacionada con DE particularmente el grupo EVOCINV de CINVESTAV Zacatenco estudia a este algoritmo en optimizacioacuten multi-objetivo y temas afines al manejo de muacuteltiples objetivos como algoritmos basados en indicadores modelos subrogados operadores de seleccioacuten operadores de variacioacuten adaptacioacuten de paraacutemetros entre otros temas

En el Centro de Investigacioacuten en Inteligencia Artificial de la Universidad Veracruzana se desarrolla investigacioacuten en optimizacioacuten con restricciones usando DE aplicaciones de DE en mecatroacutenica y en control automaacutetico DE y buacutesqueda local optimizacioacuten dinaacutemica multi-objetivo DE asistida por subrogados en espacios restringidos entre otras temaacuteticas

Recientemente en el Instituto Tecnoloacutegico de Veracruz se desarrollan aplicaciones de DE en aprendizaje automaacutetico en el Centro de Innovacioacuten y Desarrollo Tecnoloacutegico en Coacutemputo (CIDETEC) del IPN se aplica DE en problemas de mecatroacutenica y en el Centro de Investigacioacuten en Matemaacuteticas se aplica en procesos quiacutemicos

Todas estas menciones soacutelo son representativas pues la DE al ser un algoritmo faacutecil de implementar y que provee resultados competitivos ha sido particularmente atractiva para su estudio y aplicacioacuten en instituciones mexicanas

Conclusiones El algoritmo de Evolucioacuten Diferencial es un enfoque exitoso para resolver problemas de optimizacioacuten continua sin restricciones Los individuos que evolucionan al aplicar los operadores de este algoritmo tradicionalmente se codifican como secuencias de nuacutemeros reales pero otras representaciones se han utilizado tambieacuten Ademaacutes con la inclusioacuten de diversas estrategias para manejar varios objetivos y conjuntos de restricciones DE se puede aplicar para resolver otro tipo de problemas DE se distingue por depender de la definicioacuten de un menor nuacutemero de paraacutemetros que otros algoritmos evolutivos pero esto tambieacuten lo hace muy sensible a la definicioacuten de los valores para esos paraacutemetros Diversos variantes del algoritmo han sido desarrolladas para mejorar el desempentildeo del algoritmo generando un abanico de alternativas para resolver casi cualquier tipo de problema El estudio del comportamiento de este algoritmo y la definicioacuten de nuevas propuestas de desarrollo sin duda aportaraacute a la resolucioacuten maacutes eficiente de problemas complejos que interesan a la comunidad cientiacutefica

Para saber maacutes Para aquellos lectores que deseen abundar en el tema las siguientes referencias sobre DE pueden ser de intereacutes

bull El libro sobre DE escrito por los autores originales del algoritmo

bull Una revisioacuten muy completa de la literatura de DE y su versioacuten actualizada

bull Otra revisioacuten de la literatura acompantildeada de un estudio experimental

bull Una revisioacuten de estudios teoacutericos sobre DE

bull Un libro editado con temas diversos y recientes sobre DE

bull DE para resolver problemas de optimizacioacuten multi-objetivo

bull DE y su papel importante en espacios restringidos

Algoritmos Geneacuteticos Paralelos Alicia Morales-Reyes

Introduccioacuten Las teacutecnicas evolutivas son aptas para su paralelizacioacuten tanto a nivel algoriacutetmico como a nivel de ejecucioacuten En particular los algoritmos geneacuteticos (AGs) han sido investigados desde esta perspectiva y esquemas paralelos han surgido desde el inicio de su desarrollo La paralelizacioacuten de los AGs persigue la mejora de su desempentildeo algoriacutetmico en teacuterminos de eficiencia y eficacia y la reduccioacuten de tiempos de ejecucioacuten en sus distintos dominios de aplicacioacuten

Una clasificacioacuten general de los Algoritmos Geneacuteticos Paralelos (AGPs) los agrupa por su granularidad en AGPs de grano fino y grueso Los AGPs de grano grueso dividen la poblacioacuten agrupada en panmixia en varias sub-poblaciones permitiendo la migracioacuten de individuos entre 1

eacutestas De esta forma se reduce el nuacutemero de individuos en cada unidad de procesamiento En consecuencia se establece un fuerte viacutenculo entre la algoritmia y la implementacioacuten de estas teacutecnicas Sin embargo utilizar una uacutenica unidad de procesamiento para la evolucioacuten de varias sub-poblaciones ha sido un contexto tambieacuten explorado como un mecanismo de mejora del desempentildeo algoriacutetmico

Los AGPs de grano grueso tambieacuten llamados Algoritmos Geneacuteticos distribuidos (AGds) han permitido la exploracioacuten de nuevas vertientes de la versioacuten estaacutendar de los AGs Tener diferentes paraacutemetros de configuracioacuten para realizar las operaciones geneacuteticas implementar granularidades distintas incorporar el operador de migracioacuten han sido caracteriacutesticas a explorar que pueden culminar en un mejor desempentildeo de los AGs

En la figura 1 se muestra un diagrama de un AG distribuido Cada poblacioacuten es centralizada y se necesitan definir criterios en teacuterminos de tasa y frecuencia de migracioacuten Tambieacuten se necesita definir si la migracioacuten seraacute siacutencrona o asiacutencrona Herrera et al presentaron un esquema de un AGP distribuido con poblaciones heterogeacuteneas Utilizaron la estructura de un hipercubo posicionando en cada veacutertice una sub-poblacioacuten Dependiendo de la ubicacioacuten de cada sub-poblacioacuten la buacutesqueda implica mayor explotacioacuten o exploracioacuten Esto se logra de manera interna viacutea la configuracioacuten de los operadores geneacuteticos De esta forma se procura mantener la diversidad de soluciones de forma global y asiacute mejorar la calidad de las soluciones encontradas

Una poblacioacuten en panmixia es aquella donde todos sus individuos sin restricciones pueden 1

reproducirse entre si

Diagrama poblacional de un AGP distribuido o de grano grueso

La principal diferencia entre los AGP de grano fino con respecto a los AGP distribuidos o de grano grueso es la descentralizacioacuten de su poblacioacuten y en consecuencia la localizacioacuten del proceso de seleccioacuten de individuos En la figura 2 se muestra un esquema poblacional de un AGP de grano fino tambieacuten conocido como AG celular (AGc) De manera comuacuten se utiliza una topologiacutea de malla conectada de forma toroidal como lo muestra la figura Un individuo de la poblacioacuten se ubica en cada cruce de la malla y alrededor de eacutel se define un vecindario cuyas soluciones participan en los procesos de seleccioacuten recombinacioacuten y mutacioacuten para la evolucioacuten de eacuteste En la figura 2 se ilustra un vecindario tipo Moore con 9 individuos

En los AGs celulares cada individuo o solucioacuten interactuacutea con sus vecinos maacutes cercanos logrando de esta forma el esparcimiento suave de las soluciones a traveacutes de la malla debido al traslape de vecindarios En los AGs distribuidos la asociacioacuten entre soluciones se pierde en comparacioacuten con los AGs celulares Esta es otra caracteriacutestica importante de los AGc que permite la exploracioacuten global del espacio de buacutesqueda mientras que localmente los individuos explotan la regioacuten cercana a su ubicacioacuten

Diagrama poblacional del AG celular o de grano fino

La paralelizacioacuten de los algoritmos evolutivos en particular de los algoritmos geneacuteticos persigue distintos objetivos Por ejemplo la evolucioacuten simultaacutenea de sub-poblaciones lo cual permite descubrir nueva rutas para solucionar un problema y en consecuencia reducir el nuacutemero de generaciones para converger a la solucioacuten oacuteptima Aunado a esto los tiempos de procesamiento pueden tambieacuten acortarse La paralelizacioacuten de AGs se puede realizar a distintos niveles Asiacute mismo es posible la combinacioacuten de sub-poblaciones con distintas dinaacutemicas internas Por ejemplo algunas sub-poblaciones podriacutean evolucionar en un esquema de panmixia y otras en un esquema celular Este tipo de esquemas poblacionales se discutiraacuten a detalle en la subseccioacuten 11

Una operacioacuten importante en los procesos evolutivos de los AGs distribuidos es la migracioacuten de los individuos entre sub-poblaciones Durante el proceso de buacutesqueda uno o maacutes individuos son seleccionados para migrar y reemplazar a otros individuos de otras sub-poblaciones Los criterios de migracioacuten requieren no soacutelo de la tasa y la frecuencia de migracioacuten sino tambieacuten de criterios de seleccioacuten y reemplazo de individuos al llegar a las otras sub-poblaciones El proceso de migracioacuten puede realizarse de forma siacutencrona o asiacutencrona La migracioacuten siacutencrona supone que todas las sub-poblaciones estaacuten en el mismo estado de la buacutesqueda y la migracioacuten de individuos entre sub-poblaciones ocurre de manera simultaacutenea Por otro lado la migracioacuten asiacutencrona supone que cada sub-poblacioacuten determina el momento en que los individuos deben migrar En la sub-seccioacuten 24 se aborda el efecto del sincronismo en los mecanismos de migracioacuten

Cantuacute-Paz et al presentoacute un estudio completo en AGs distribuidos tanto desde el punto de vista teoacuterico como del praacutectico Debido al nuacutemero de paraacutemetros que se deben definir en los AGds Cantuacute-Paz et al iniciaron con la solucioacuten de un problema de optimizacioacuten para determinar el tamantildeo adecuado de las sub-poblaciones para alcanzar una cierta calidad de la misma Utilizaron un modelo matemaacutetico considerando la hipoacutetesis de los bloques constructores propuesta por Holland y extendida por Goldberg El estudio se verifica en varios problemas con un grado alto de precisioacuten mostraacutendose una buena respuesta a la escalabilidad

Para determinar escenarios de operacioacuten liacutemite en teacuterminos de eficiencia analizaron la interaccioacuten de las sub-poblaciones y su efecto en la calidad de las soluciones Previamente se ha investigado el cambio en la calidad de las soluciones debido a la forma de interaccioacuten de las sub-poblaciones Tener sub-poblaciones evolucionando de manera independiente con muy poca o nula interaccioacuten entre ellas resulta en soluciones menos precisas mientras mejores soluciones se obtienen viacutea el esquema de panmixia tradicional Sin embargo cuando se definen criterios de migracioacuten adecuados y un cierto nuacutemero de soluciones migran entre sub-poblaciones a una frecuencia media o baja el desempentildeo en general de los AGds mejora alcanzando en un nuacutemero de casos aceleraciones super-lineales y mejor calidad de las soluciones encontradas Se puede inferir entonces la importancia del operador de migracioacuten el cual seraacute analizado en detalle en la sub-seccioacuten 12

AGds homogeacuteneos y heterogeacuteneos Existen distintos escenarios en los que se pueden definir y aplicar AGds con esquemas poblaciones homogeacuteneos y heterogeacuteneos es decir combinaciones de poblaciones centralizadas y descentralizadas A nivel algoriacutetmico se puede definir la misma o una diferente configuracioacuten de operadores geneacuteticos A partir de esas configuraciones distintas diferentes configuraciones de paraacutemetros se pueden determinar para ejecutar la buacutesqueda en cada sub-poblacioacuten Por ejemplo distintas definiciones del operador de recombinacioacuten o bien de las probabilidades de mutacioacuten pueden operar sobre los individuos de cada sub-poblacioacuten La comunidad en el aacuterea ha incluso explorado escenarios donde las soluciones se representan de manera distinta entre sub-poblaciones Por otro lado a nivel de implementacioacuten se han explorado esquemas con sub-poblaciones heterogeacuteneas Por ejemplo Alba et al realizoacute un estudio en distintas plataformas de coacutemputo ejecutando sub-poblaciones en panmixia y celulares

Como se puede apreciar el desarrollo de un esquema de AG paralelos ya sean distribuidos o descentralizados conlleva la definicioacuten de un nuacutemero de paraacutemetros que afectaraacute de manera importante su desempentildeo algoriacutetmico Otro ejemplo es la solucioacuten de problemas de optimizacioacuten en espacios continuos que se han abordado a traveacutes de un esquema de AGP utilizando una versioacuten mejorada con cromosomas codificados con nuacutemeros reales Para esto se

definioacute una topologiacutea doble con un hipercubo que se comparoacute con una topologiacutea sencilla Las sub-poblaciones ubicadas en sus veacutertices promoviacutean mayor o menor exploracioacuten u explotacioacuten de las regiones viacutea la configuracioacuten de los operadores geneacuteticos La migracioacuten entre las sub-poblaciones afectoacute directamente los tiempos de ejecucioacuten por medio de la reduccioacuten del nuacutemero de evaluaciones La capacidad de buacutesqueda de la topologiacutea doble superoacute a la de la topologiacutea sencilla

Cuando pensamos en paralelizar alguna teacutecnica algoriacutetmica nos viene a la mente acelerar los procesos de ejecucioacuten Sin embargo la paralelizacioacuten de los algoritmos evolutivos podriacutea mejorar tanto los procesos de buacutesqueda algoriacutetmica como los tiempos de ejecucioacuten Es asiacute que a nivel de implementacioacuten se utilizado coacutemputo heterogeacuteneo para la evaluacioacuten de esquemas de AGPs Por ejemplo Alba et al propusieron utilizar una plataforma heterogeacutenea en la cual distintos sistemas operativos con distintas restricciones de ejecucioacuten implementaban un modelo de AGPs distribuidos Las sub-poblaciones se conectaron en un arreglo de anillo unidireccional cada sub-poblacioacuten ejecutaba un modelo poblacional de estado estable A cada generacioacuten se produciacutea un individuo que reemplazaba a la peor solucioacuten obtenida Se establecioacute un esquema de migracioacuten asiacutencrona que demostroacute mejores resultados ver 3 En general se observoacute un mejor desempentildeo de la ejecucioacuten del esquema paralelo en la plataforma heterogeacutenea en comparacioacuten con la homogeacutenea se redujo el nuacutemero de evaluaciones debido a la explotacioacuten de soluciones a distintas tasas de migracioacuten

AGP con topologiacutea poblacional de anillo unidireccional implementada en una plataforma de coacutemputo heterogeacutenea La migracioacuten entre sub-poblaciones es asiacutencrona y responde a una dinaacutemica de estado estable

Migracioacuten en AGPs Como se explicoacute anteriormente la incorporacioacuten de un nuevo operador llamado migracioacuten se hace latente en los esquemas paralelos de los AGs En los esquemas de grano grueso donde se tienen sub-poblaciones de grano fino y grueso evolucionando simultaacuteneamente la migracioacuten se debe considerar como un mecanismo que introduce nuevos individuos y por lo tanto promueve o restaura la diversidad entre sub-poblaciones De forma distinta en los AGs celulares o de grano fino un mecanismo de migracioacuten impliacutecito trabaja durante el proceso de buacutesqueda debido al traslape de vecindarios que permite la difusioacuten de soluciones a lo largo y ancho de la topologiacutea definida para la poblacioacuten Este mecanismo de migracioacuten es inherente a la estructura de los AGs celulares y no requiere de un paraacutemetro de frecuencia o tasa de migracioacuten o ninguacuten otro mecanismo de seleccioacuten y reemplazo

Revisaremos ahora evaluaciones empiacutericas que se han realizado a criterios de migracioacuten definidos para AGPs de grano grueso Aunque estos criterios son definidos para este tipo de esquemas paralelos tambieacuten es posible aplicar un segundo criterio migratorio en AGs celulares ademaacutes del mecanismo natural inherente a estos

Para establecer un criterio de migracioacuten adecuado y mejorar el desempentildeo algoriacutetmico de los AGPs de grano grueso se examinaron los casos liacutemite para aplicar el proceso de migracioacuten Se

sugiere mantener un cierto nivel de aislamiento entre las sub-poblaciones Si la sub-poblacioacuten evoluciona en completo aislamiento las mejoras en diversidad son miacutenimas y por ende la capacidad de buacutesqueda se ve reducida Por otro lado si se aplica el operador de migracioacuten con una frecuencia maacutexima el costo computacional se incrementa de manera significativa Por lo tanto el objetivo de la migracioacuten es evitar el aislamiento entre sub-poblaciones mientras se mantiene un nivel aceptable de comunicacioacuten entre eacutestas

Es posible calcular experimentalmente el nuacutemero adecuado de unidades de procesamiento para minimizar el tiempo de ejecucioacuten de un esquema de AGPs El anaacutelisis considera casos liacutemite en teacuterminos de conectividad entre sub-poblaciones es decir el caso de tener frecuencias de migracioacuten miacutenimas y maacuteximas La conclusioacuten teoacuterica para una poblacioacuten indica que el nuacutemero

oacuteptimo de unidades de procesamiento estaacute dado por donde es el tamantildeo de la

poblacioacuten es el tiempo de coacutemputo de la funcioacuten objetivo de un individuo y es el tiempo promedio de comunicacioacuten para una unidad de procesamiento Esto quiere decir que dividiendo una poblacioacuten en sub-poblaciones distribuidas en muacuteltiples unidades de procesamiento reduce el tiempo global de ejecucioacuten La misma conclusioacuten se logroacute para un esquema de muacuteltiples poblaciones considerando ademaacutes la evaluacioacuten de funciones objetivo separables Esto quiere decir que utilizar un nuacutemero de unidades de procesamiento en un esquema evolutivo paralelo tiene un impacto positivo en la reduccioacuten de los tiempos de ejecucioacuten

Es tambieacuten importante analizar el efecto de los criterios de migracioacuten que se utilizan en esquemas de AGPs de grano grueso El objetivo principal es determinar coacutemo el operador de migracioacuten afecta la presioacuten de seleccioacuten inducida e impliacutecitamente poder explicar las aceleraciones super-lineales que se pueden modelar para este tipo de esquemas La forma en que los individuos se seleccionan para migracioacuten y reemplazo tienen un efecto considerable en la presioacuten de seleccioacuten y se ha observado que tasas altas de migracioacuten producen un incremento en eacutesta Tener una presioacuten de seleccioacuten alta afecta la buacutesqueda al producir una convergencia prematura a un oacuteptimo local

Aunque la operacioacuten de migracioacuten se ha investigado principalmente para esquemas de AGPs de grano grueso tambieacuten se ha revisado su efecto en AGPs de grano fino considerando tanto el mecanismo de migracioacuten impliacutecita viacutea el traslape de vecindarios como la definicioacuten de criterios para migracioacuten de individuos desde y hacia distintas posiciones de la topologiacutea de malla definida para la poblacioacuten Por ejemplo se han utilizado estructuras de aacuterboles binarios para dividir una topologiacutea de malla de dos dimensiones en formaciones conceacutentricas de individuos definiendo para cada formacioacuten criterios de migracioacuten distintos El intercambio de individuos entre estas

OnTf

Tcn

Tf Tc

formaciones definidas por su estructura alenta el proceso de buacutesqueda permitiendo una mayor exploracioacuten Los resultados mostraron un mejor desempentildeo en la solucioacuten de problemas de optimizacioacuten con restricciones el operador de mutacioacuten se aplica para evitar la presencia de super individuos que pueden dirigir la buacutesqueda al estancamiento conquistando la topologiacutea de malla mucho maacutes raacutepido En la siguiente seccioacuten se abordaraacute el comportamiento de los AG celulares o de grano fino

AGs celulares o de grano fino Los AGs celulares o de grano fino se construyen a partir de poblaciones descentralizadas donde los individuos interactuacutean con otros individuos ubicados dentro de un vecindario definido Es decir interactuacutean con los vecinos maacutes cercanos Usualmente los AGCs se implementan en topologiacuteas de mallas de -dimensionales manteniendo conexiones toroidales entre los cruces de malla utilizando formas comunes como una malla lineal cuadrada o rectangular

El procesamiento de los AG celulares corresponde al de los Autoacutematas Celulares (ACs) Estos determinan una regla global que define un comportamiento especiacutefico que se construye a partir de reglas locales Se han explorado ACs de una dos y tres dimensiones en combinacioacuten con AGs con la finalidad de evolucionar el comportamiento global requerido Esta combinacioacuten de un AC y un AG originoacute el nombre de AG celular con la diferencia de tener una representacioacuten maacutes elaborada en cada cruce de la malla cromosomas Se observoacute que la informacioacuten de las reglas locales o individuos alcanzaba distancias lejanas dentro de la malla definida esto debido al traslape de los vecindarios De esta forma se determinoacute que la informacioacuten se mueve entre vecindarios permitiendo acelerar el proceso de crear nuevos comportamientos ad-hoc al problema que se esteacute solucionando y con una peacuterdida miacutenima de informacioacuten

El pseudocoacutedigo [algCellularGeneticAlgorithmPseudocode] es el estaacutendar de un AG celular En un primer paso se genera una poblacioacuten inicial de forma aleatoria ubicando cada individuo en un cruce de la topologiacutea de malla Esta poblacioacuten inicial se evaluacutea de acuerdo a la funcioacuten objetivo del problema a resolver Posteriormente da inicio el ciclo reproductivo principal Se define un vecindario local con individuos ubicados de forma cercana A partir de eacutestos y del individuo ubicado en el cruce de la malla se seleccionan a los padres para reproducirse Existen distintos meacutetodos de seleccioacuten que se utilizan en los AG celulares Se pueden utilizar los que comuacutenmente se aplican en los AGs con poblaciones centralizadas como el torneo binario ruleta o seleccioacuten determinista Existen tambieacuten otros meacutetodos especiacuteficos a los AG celulares como son la seleccioacuten ceacutentrica o anisotroacutepica Una vez seleccionados los padres se recombinan y los hijos se mutan No hay diferencia entre la aplicacioacuten de los operadores de recombinacioacuten y mutacioacuten con respecto a los AG tradicionales

n

Debido a la descentralizacioacuten de la poblacioacuten el reemplazo de eacutesta puede ocurrir de forma siacutencrona o asiacutencrona El reemplazo asiacutencrono requiere del almacenaje temporal de la poblacioacuten hasta que todos los individuos concluyen su ciclo reproductivo El reemplazo siacutencrono requiere de la definicioacuten del criterio para implementarla Los distintos criterios que se han utilizado para el reemplazo se explicaraacuten en la sub-seccioacuten 24

poblacioacuten inicial evaluacioacuten seleccioacuten de padres vecinario L5 recombinacioacuten mutacioacuten evaluacioacuten reemplazo

Explotacioacutenexploracioacuten por propiedades estructurales Debido a la descentralizacioacuten de la poblacioacuten y la definicioacuten de una topologiacutea de malla las caracteriacutesticas estructurales de los AG celulares tienen un impacto importante en los procesos de buacutesqueda La forma y la dimensioacuten de la topologiacutea el nuacutemero de individuos dentro del vecindario entre otras son caracteriacutesticas de la estructura que necesitan definirse Ademaacutes otras operaciones durante el ciclo evolutivo como el proceso de seleccioacuten local el reemplazo de individuos criterios de migracioacuten entre otras estaacuten tambieacuten asociadas a estas caracteriacutesticas de estructura

La topologiacutea de malla que es comuacutenmente utilizada en los AG celulares se muestra en la figura 2 Se ha reportado que distintas formas de malla en combinacioacuten con distintos tipos de vecindarios inducen una mayor o menor presioacuten de seleccioacuten Para modelar el efecto de ambas estructuras se utiliza un patroacuten de dispersioacuten con puntos (la posicioacuten de cada solucioacuten en la malla) a partir de una posicioacuten central con coordenadas Se calcula la medida de dispersioacuten debido a que otras medidas como el radio de una circunferencia indicariacutea el mismo valor para topologiacuteas distintas La relacioacuten entre el vecindario y la topologiacutea o radii se calcula de la siguiente forma

donde y La razoacuten o radii entre el vecindario y la topologiacutea de

malla estaacute dada por

(x) larr random(x0) (f ) larr evaluat ion(x)(f1 f2) larr seleccion(f fN fE fS fW)(x1 x2) larr seleccion(x xN xE xS xW) (x prime1 x prime2 ) larr recombinacion(x prime1 x prime 2 )

(x1Prime x2Prime) larr mutacion(x prime1 x prime2 ) (fnew) larr evaluacion(x1Prime x2Prime)(f x) larr reemplazo(fnew xnew)

p(x0 y0)

D =sum (xi minus x)2 + sum (yi minus y)2

p

(x ) =sump

i=1 xi

p (y) =sump

i=1 yi

p

Esta medida se conoce como la razoacuten vecindario-malla (RVM) Formas y tamantildeos diferentes de vecindarios y topologiacuteas proporcionan una medida distinta de RVM ver figura 4

Ejemplos de formas de vecindarios y topologiacuteas de malla

NGR =Dvecindario

Dmalla

Razoacuten vecindario-malla para diferentes topologiacuteas de malla y tamantildeos de poblacioacuten con un vecindario L5

[figL5_variableLattice]

Una topologiacutea de malla cuadrada con un vecindario es una configuracioacuten comuacutenmente utilizada en la implementacioacuten de AG celulares En la figura [figL5_variableLattice] la razoacuten vecindario-malla se ilustra para distintos tamantildeos de poblacioacuten con vecindario Tres formas de malla se evaluacutean cuadrada rectangular y lineal Las curvas de la RVM muestran razones altas para mallas cuadradas y razones bajas para topologiacuteas lineales La RVM se asocia a la presioacuten de seleccioacuten inducida en AG celulares debido a sus caracteriacutesticas estructurales Para comprender esto de mejor manera otro concepto importante es necesario el nuacutemero de generaciones que toma al mejor individuo de una poblacioacuten inicial esparcir su solucioacuten en todas las direcciones de la topologiacutea de malla es decir conquistarla a partir de aplicar uacutenicamente el operador de seleccioacuten Un nuacutemero de generaciones alto indica una baja presioacuten de seleccioacuten es decir una buacutesqueda principalmente explorativa Por el contrario un nuacutemero de reducido de generaciones implica una alta presioacuten de seleccioacuten y por tanto una buacutesqueda orientada a la explotacioacuten del espacio de buacutesqueda

L5

L5

Los AG celulares son teacutecnicas flexibles con un nuacutemero de paraacutemetros que pueden configurarse Por ejemplo es posible pensar en modificar en tiempo de buacutesqueda las topologiacuteas de malla tamantildeos y formas de vecindarios como una forma de control de la presioacuten de seleccioacuten inducida Las modificaciones de la configuracioacuten pueden realizarse de manera constante definiendo un nuacutemero de generaciones o bien de forma adaptativa midiendo generacioacuten a generacioacuten el comportamiento por ejemplo de la diversidad en el espacio de fenotipos y genotipos modificando entonces las configuraciones de estructura de manera que se promueva la exploracioacuten o la explotacioacuten del espacio de buacutesqueda

Presioacuten de seleccioacuten por caracteriacutesticas estructurales

El matemaacutetico belga Pierre Verhulst en el siglo XIX estudioacute modelos logiacutesticos de crecimiento para describir sistemas bioloacutegicos bajo condiciones de recursos limitados Considerando una poblacioacuten en panmixia de cierto tamantildeo y un nuacutemero de copias del mejor individuo en un tiempo discreto dado por la tasa de crecimiento se expresa a traveacutes del siguiente modelo de recurrencia discreto

$$beginaligned

N left( 0 right) = 1 quad quad quad quad quad quad quad quad quad quad quad quad notag

N left( t right) = N left( t - 1 right) + p_s tamPob N left(t-1right) left(1 - left(frac1tamPobright) N left(t-1right)right)endaligned$$

donde es la probabilidad de seleccioacuten de un individuo y se puede aproximar por la ecuacioacuten logiacutestica continua

donde es la probabilidad Aunque se obtienen curvas de crecimiento similares el comportamiento en poblaciones estructuradas o descentralizadas no es exponencial sino polinomial como fue sugerido por Spiessen y Manderick in De este modo las caracteriacutesticas estructurales necesitan considerarse en el modelo matemaacutetico de la tasa de crecimiento para AG celulares Si se evaluacutea un caso liacutemite donde el mejor individuo dentro del vecindario se selecciona siempre para reemplazar al individuo actual o central (al vecindario) es decir

tamPobt N(t)

ps N(t)

N(t) =tamPob

1 + ( tamPobN(0) minus 1)eminusαt

α ps

ps = 1

y se define un tamantildeo de poblacioacuten donde determina una topologiacutea de malla cuadrada y un vecindario local con radio La tasa de crecimiento del mejor individuo estaacute dada por

$$beginaligned

N left( 0 right) = 1 quad quad quad quad quad quad quad quad quad quad quad quad notag

N left( t right) = N left( t-1 right) + 4r^2t - 2rleft( r+1 right) quad 0 leq t leq fracleft(sqrttamPob-1right)2

N left( t right) = N left( t-1 right) - 4r^2t + 4r sqrttamPob - 2rleft(r+1right) quad t geq fracleft(sqrttamPob-1right)2 notagendaligned$$

que en su forma cerrada queda como

$$beginaligned

N left( t right) = 2r^2t^2 + 2r left(2r + 1 right)t + 1 quad 0 leq t leq fracleft(sqrttamPob-1right)2

N left( t right) = -2r^2t^2 + 2rleft(2sqrttamPob - 3r - 1 right)t + 1 quad t geq fracleft(sqrttamPob-1right)2 notagendaligned$$

En la figura 5 se ilustra la razoacuten de crecimiento para una poblacioacuten de individuos con un vecindario local tipo ver figura 4

Tasa de crecimiento teoacuterica en una topologiacutea de malla toroidal cuadrada y un vecindario local tipo Moore con probabilidad de seleccioacuten

Si se considera la probabilidad variable y cada individuo tiene probabilidades de seleccioacuten distintas probabilidad para el individuo central y para cada individuo dentro de un vecindario tipo El modelado de la recurrencia exacta se vuelve muy complicado Para poder construir un modelo completo se recurre a modelos maacutes simples en donde la tasa de crecimiento se describe como la expansioacuten de un cuadrado rotado con una

tamPob tamPob times tamPobr

81C9

ps = 1

psp0 p1 p2 p3 p4 p8

C9

longitud por lado de y diagonal La tasa de crecimiento de los

individuos con probabilidad variable contenidos dentro del cuadrado rotado estaacute dada por la siguiente recurrencia

$$beginaligned

N left( 0 right) = 1 quad quad quad quad quad quad quad quad quad quad quad quad notag

N left( t right) = N left( t-1 right) + 4p_i sqrtfracNleft(t-1right)2 quad N left( t right) leq fractamPob2

N left( t right) = N left( t-1 right) + 4p_i sqrttamPob - N left( t-1 right) quad N left( t right) gt fractamPob2 notagendaligned$$

Encontrar una forma cerrada de este modelo es una tarea complicada de acuerdo a autores reconocidos del aacuterea En la figura 6 se muestra la tasa de crecimiento probabilista como ejemplo de la dificultad que representa su modelado matemaacutetico

Tasa de crecimiento probabilista para una topologiacutea de malla toroidal cuadrada con vecindario local y probabilidad de seleccioacuten variable

Anaacutelisis empiacuterico

Es posible tener una aproximacioacuten empiacuterica del tiempo para el dominio de la topologiacutea de malla A continuacioacuten se presenta un ejemplo utilizando como meacutetodo de seleccioacuten local torneo binario y ejecuciones por configuracioacuten fueron evaluadas En la figura [figL5_growthRates] se muestran las distintas tasas de crecimiento para la conquista de la malla considerando un tamantildeo de la poblacioacuten de individuos con las siguientes formas de topologiacutea de malla 1)

cuadrada 2) rectangular y 3) lineal La diferencia entre los

tiempos de dominio es evidente Topologiacuteas de malla lineales proveen una difusioacuten maacutes lenta del

s = N(t) d =N(t)

2pi

ps

50

400

400 times 400 10 times40010

4 times400

4

mejor individuo para conquistar la malla y por ende menor presioacuten de seleccioacuten y un comportamiento principalmente explorativo Por otro lado en topologiacuteas de malla cuadradas la solucioacuten del mejor individuo conquista la malla raacutepidamente en un nuacutemero menor de generaciones Es decir tiene un comportamiento con alta presioacuten de seleccioacuten y por ende una buacutesqueda caracterizada por una mayor explotacioacuten del espacio de buacutesqueda Desde este punto de vista se ha investigado tambieacuten la posibilidad de modificacioacuten dinaacutemica de las propiedades estructurales en tiempo de buacutesqueda Se han reportado mejores desempentildeos algoriacutetmicos bajo estos criterios

Tasas de crecimiento promedio del mejor individuo en topologiacuteas de malla cuadrada rectangular y lineal con vecindario La tasa promedio de crecimiento se calcula con base en 50 experimentos y aplicando uacutenicamente el operador de seleccioacuten

[figL5_growthRates]

Aceleracioacuten en AGP Un tema controversial en AGPs son las aceleraciones que esquemas distribuidos y celulares pueden alcanzar El caacutelculo teoacuterico de estas aceleraciones es una medida aceptada para determinar su eficiencia Calcular la razoacuten entre el tiempo promedio de ejecucioacuten de la mejor versioacuten secuencial de un AG y otra teacutecnica de buacutesqueda no evolutiva con respecto al tiempo

L5

promedio de ejecucioacuten de un AG paralelo corriendo en un determinado nuacutemero de procesadores proporciona la aceleracioacuten alcanzada por este uacuteltimo Aceleraciones sub-lineales indican que esta razoacuten es menor que el nuacutemero de procesadores utilizados en la ejecucioacuten del AGP Aceleraciones lineales indican que esta relacioacuten es igual mientras aceleraciones super-lineales indican que la razoacuten es mayor que el nuacutemero de procesadores utilizados

Un medida estricta para medir las aceleraciones de los AGPs involucrariacutea una comparacioacuten con la mejor versioacuten secuencial de un AG lo cual es difiacutecil de determinar Considerar el desempentildeo de un AG secuencial como referencia en conjunto con una condicioacuten de paro que evaluacutee la misma calidad de soluciones en todas las muestras experimentales podriacutea permitir una comparacioacuten justa en teacuterminos de aceleracioacuten entre esquemas paralelos y secuenciales

Los AGPs tienen tres caracteriacutesticas que permiten su aceleracioacuten 1) dividir el espacio de buacutesqueda en diversas aacutereas de exploracioacuten implementadas en distintas unidades de procesamiento 2) reducir la carga de procesamiento por medio de la distribucioacuten de la poblacioacuten en un nuacutemero de unidades de procesamiento y 3) operadores geneacuteticos aplicados a estructuras de datos reducidas

Al analizar comparativamente las tasas de aceleracioacuten de los AG distribuidos con sub-poblaciones en panmixia en comparacioacuten con el desempentildeo de un AG secuencial las aceleraciones calculadas resultan excesivas Sin embargo cuando se considera la distribucioacuten de las sub-poblaciones en un nuacutemero de unidades de procesamiento las tasas de aceleracioacuten son moderadas

Una de las caracteriacutesticas maacutes importantes en los AGPs es el operador de migracioacuten Analizar el comportamiento de este operador bajo distintos criterios como la sincroniacutea o asincroniacutea de migrar individuos entre las sub-poblaciones afecta directamente el desempentildeo de la buacutesqueda Entre los comportamientos con importancia significativa se ha observado que utilizar bajas frecuencias de migracioacuten en combinacioacuten con una comunicacioacuten asiacutencrona entre sub-poblaciones permite una mayor aceleracioacuten Este resultado considera sub-poblaciones en panmixia con la misma configuracioacuten de paraacutemetros

Concepto de sincronismo en AGPs En los AGPs tanto distribuidos como celulares el concepto de sincroniacutea aplica de forma distinta En un AGP distribuido el operador de migracioacuten estaacute directamente relacionado con la comunicacioacuten entre sub-poblaciones y por ende la sincroniacutea con que eacutesta ocurre Por otro lado en AGP de grano fino o celulares la sincroniacutea estaacute relacionada con la actualizacioacuten de soluciones durante el proceso evolutivo Esto se explica a continuacioacuten a mayor detalle

En AGPs distribuidos viacutea migracioacuten

Varios autores han investigado el efecto del sincronismo a traveacutes de la migracioacuten de individuos entre sub-poblaciones Se han considerado varios escenarios tales como tener un conjunto de sub-poblaciones en panmixia y tener sub-poblaciones descentralizadas un tercer escenario que se ha considerado es tener una combinacioacuten de sub-poblaciones en panmixia y descentralizadas Los tres esquemas han sido evaluados no soacutelo a nivel algoriacutetmico sino de implementacioacuten en plataformas de coacutemputo para procesamiento paralelo

Utilizando un esquema de procesamiento de instrucciones muacuteltiples - datos muacuteltiples con un esquema homogeacuteneo de sub-poblaciones se verificoacute el comportamiento de distintas frecuencias de migracioacuten definidas como muacuteltiplos del tamantildeo de la poblacioacuten Esto representa que la migracioacuten es nula cuando la frecuencia es cero lo que implica que la evolucioacuten es independiente de las sub-poblaciones Localmente los operadores geneacuteticos fueron configurados de la misma forma En general los resultados mostraron un mejor desempentildeo cuando la comunicacioacuten entre sub-poblaciones es asiacutencrona y la frecuencia de migracioacuten es baja En este sentido el tener sub-poblaciones descentralizadas permite una mejor eficacia que cuando se tienen sub-poblaciones en panmixia Las tasas de aceleracioacuten tambieacuten se analizaron Bajas frecuencias de migracioacuten reportaron aceleraciones lineales para sub-poblaciones descentralizadas y super-lineales para sub-poblaciones en panmixia

Se ha podido verificar el funcionamiento de los AGPs ampliando la gama de problemas de prueba a aquellos del dominio continuo El uso de un esquema paralelo distribuido con sub-poblaciones en panmixia y un ciclo evolutivo de estado estable donde solamente una solucioacuten se actualiza en cada generacioacuten logroacute obtener soluciones de mejor calidad Ademaacutes de la influencia de la frecuencia con la que se ejecuta la operacioacuten de migracioacuten la seleccioacuten aleatoria de individuos migrantes demostroacute tambieacuten un mejor desempentildeo que la seleccioacuten de los mejores individuos para migrar El mejor desempentildeo continuacutea siendo a partir de la aplicacioacuten de frecuencias de migracioacuten bajas ahora en combinacioacuten con la seleccioacuten aleatoria de soluciones para migrar En problemas de optimizacioacuten en el dominio continuo con oacuteptimos locales engantildeosos en sus espacios de buacutesqueda los esquemas de sub-poblaciones descentralizadas superaron el desempentildeo de aquellos con sub-poblaciones en panmixia ademaacutes de responder mejor a frecuencias de migracioacuten altas Las tasas de aceleracioacuten tambieacuten se relacionan con la operacioacuten de la migracioacuten a frecuencias de migracioacuten alta se obtienen mayores tasas de aceleracioacuten en ambos esquemas poblacionales

Es posible tambieacuten considerar un esquema de AGPs con sub-poblaciones tanto en panmixia como descentralizadas utilizando un esquema de coacutemputo heterogeacuteneo distribuido Las tasas de

aceleracioacuten que se alcanzan en estos caso son super-lineales viacutea el esquema sub-poblacional mixto

En AGP celulares viacutea criterios de actualizacioacuten

En los AGPs de grano fino o celulares el concepto de sincronismo se asocia a los criterios de actualizacioacuten de las soluciones Se consideran diversos escenarios como son 1) barrido liacutenea a liacutenea 2) barrido fijo aleatorio 3) barrido aleatorio 4) seleccioacuten uniforme Cada unos de estos criterios de actualizacioacuten de soluciones se puede ejecutar de manera siacutencrona o asiacutencrona La actualizacioacuten siacutencrona se refiere a que la poblacioacuten completa se genera a partir de los individuos actuales En contraste la actualizacioacuten asiacutencrona quiere decir que los individuos se actualizan despueacutes de su proceso evolutivo a nivel local entonces los individuos en una generacioacuten han evolucionado de hijos generados durante esta

El barrido liacutenea a liacutenea es la forma maacutes sencilla de actualizar soluciones en una topologiacutea de malla con conexioacuten toroidal Haciendo el barrido secuencial de ubicacioacuten de las soluciones por liacutenea o por columna se ejecuta la actualizacioacuten de estas El barrido aleatorio fijo consiste en elegir de forma aleatoria una solucioacuten sin reemplazo con una probabilidad uniforme En cada generacioacuten se determina una distribucioacuten diferente para la actualizacioacuten de los individuos La actualizacioacuten uniforme elige de forma aleatoria con una probabilidad uniforme una solucioacuten con reemplazo Esto quiere decir que una solucioacuten puede ser actualizada maacutes de una vez en un mismo ciclo reproductivo

Tambieacuten se ha buscado modelar formalmente el comportamiento de los distintos criterios de actualizacioacuten de soluciones considerando ambos criterios de sincronismo Los criterios siacutencronos de actualizacioacuten presentan menores tasas de crecimiento de la mejor solucioacuten en la topologiacutea de malla Es decir la buacutesqueda se ejecuta promoviendo la exploracioacuten cuando se sigue un criterio de actualizacioacuten uniforme Aplicar un barrido aleatorio o lineal para la actualizacioacuten de soluciones representa tasas maacutes altas de crecimiento pero no alcanza a aquellas de las poblaciones en panmixia La principal caracteriacutestica que se aprecia es que las poblaciones en panmixia promueven la explotacioacuten del espacio de buacutesqueda en mayor grado que los AGPs descentralizados o celulares

Finalmente se puede concluir despueacutes de la evaluacioacuten de los criterios siacutencronos y asiacutencronos en una variedad de problemas de optimizacioacuten combinatorios y del dominio continuo que la actualizacioacuten asiacutencrona de soluciones mejora el desempentildeo algoriacutetmico en teacuterminos de eficiencia y eficacia en comparacioacuten con el criterio asiacutencrono en teacuterminos del nuacutemero de generaciones necesarias para converger a la solucioacuten del problema

Discusioacuten En este capiacutetulo se presentaron los distintos esquemas poblaciones que se consideran en la paralelizacioacuten de los AGs Se introdujo el principal operador que distingue a estos esquemas evolutivos el operador de migracioacuten y su efecto en los procesos de buacutesqueda Tambieacuten se introdujeron de manera detallada los esquemas paralelos de AGs de grano fino o celulares y la manera en que las caracteriacutesticas estructurales de estos pueden afectar directamente la exploracioacuten y explotacioacuten del espacio de buacutesqueda Se abordoacute tambieacuten el tema de las aceleraciones que se pueden alcanzar viacutea la paralelizacioacuten de grano fino y grueso de los AGPs Este anaacutelisis incluye los escenarios teoacutericos y reales de las tasas de aceleracioacuten que se pueden alcanzar Finalmente se revisoacute el concepto de sincronismo en ambos esquemas de paralelizacioacuten el cual se observoacute que afecta de manera positiva el desempentildeo algoriacutetmico

Los esquemas paralelos de los algoritmos geneacuteticos permiten obtener un mejor desempentildeo de los procesos de buacutesqueda Sin embargo se debe considerar una serie de paraacutemetros que se necesitan definir y que requeriraacuten la intervencioacuten de un usuario Es importante destacar tambieacuten que la mejora en el desempentildeo se puede apreciar tanto a nivel algoriacutetmico como a nivel de procesamiento Es necesario tambieacuten indicar que la seleccioacuten de la plataforma de coacutemputo paralelo ya sea distribuida o no implicaraacute costos de comunicacioacuten que deben ser considerados para las tasas de aceleracioacuten que se pretendan alcanzar

Investigacioacuten de AGPs en Meacutexico En Meacutexico investigadoras e investigadores en distintas instituciones y centros de investigacioacuten se han dado a la tarea de explorar esquemas evolutivos que utilizan AGPs Por ejemplo esquemas de AGPs de grano fino para solucionar problemas de optimizacioacuten mono-objetivo sin restricciones y problemas combinatorios han sido desarrollados en El objetivo en esos trabajos es el estudio del efecto de las caracteriacutesticas estructurales en las topologiacuteas de poblacioacuten descentralizadas utilizando mallas conectadas de forma toroidal Distintos criterios fueron definidos para modificar en tiempo de buacutesqueda la forma de la topologiacutea y sin incrementar el costo computacional verificar la mejora del desempentildeo algoriacutetmico al evaluar una cama prueba con problemas mono-objetivo sin restricciones y combinatorios Los resultados obtenidos fueron alentadores y a partir de estos se extendioacute el estudio de las propiedades estructurales a manipular tambieacuten la dimensioacuten de la topologiacutea de malla y modificarla en tiempo de buacutesqueda resultados positivos de este estudio fueron reportados en

Debido al costo computacional de los AGs en general la aceleracioacuten de estos utilizando plataformas de coacutemputo especializadas ha sido un aacuterea de investigacioacuten tambieacuten desarrollada en Meacutexico Particularmente el disentildeo e implementacioacuten de un arreglo de procesadores flexible para

la aceleracioacuten de los AGs celulares utilizando dispositivos reconfigurables conocidos como arreglos de compuertas programables en el campo (FPGAs por sus siglas en Ingleacutes) se reportoacute en Este trabajo presenta una forma novedosa de dividir a la poblacioacuten descentralizada en un nuacutemero determinado de unidades de procesamiento especialmente disentildeadas para operadores evolutivos manteniendo las conexiones toroidales entre soluciones La flexibilidad del disentildeo consiste en poder definir de acuerdo a las necesidades de usuario el nuacutemero de unidades de procesamiento De este modo un nuacutemero mayor de unidades de procesamiento permitiraacute acelerar la ejecucioacuten del algoritmo y un nuacutemero menor de estas permitiraacute reducir el uso de recursos de hardware

En el aacutembito de la optimizacioacuten multi-objetivo desde la perspectiva del coacutemputo evolutivo utilizando esquemas poblacionales paralelos investigadores en Meacutexico han desarrollado un esquema con base en algoritmos geneacuteticos utilizando muacuteltiples resoluciones La propuesta algoriacutetmica llamada Algoritmo geneacutetico multi-objetivo con resolucioacuten muacuteltiple (MRMOGA por sus siglas en Ingleacutes) consiste de un conjunto de sub-poblaciones las cuales a nivel representacioacuten de soluciones evolucionan con resoluciones distintas lo cual implica la divisioacuten del espacio de buacutesqueda en regiones acotadas y traslapadas El desempentildeo alcanzado por MRMOGA supera los resultados reportados en esquemas evolutivos paralelos en teacuterminos de convergencia y evidencia la necesidad de profundizar el estudio de la escalabilidad de esquemas evolutivos paralelos

Para saber maacutes Dentro de la comunidad cientiacutefica dedicada a la investigacioacuten en las aacutereas de las teacutecnicas algoriacutetmicas evolutivas que desarrollan el concepto de paralelismo se han generado recursos bibliograacuteficos diversos de entre los cuales destacan

bull Algoritmos geneacuteticos paralelos por Gabriel Luque y Enrique Alba

bull Algoritmos evolutivos estructurados espacialmente por Marco Tomassini

bull Algoritmos geneacuteticos celulares por Bernabeacute Dorronsoro y Enrique Alba

bull Algoritmos geneacuteticos paralelos eficientes y precisos por Erick Cantuacute-Paz

Por otro lado entre los grupos de investigacioacuten que se desarrollan en el aacuterea destaca el liderado por el investigador Enrique Alba de la Universidad de Maacutelaga en Espantildea quien en colaboracioacuten con otros investigadores y estudiantes a puesto a disposicioacuten una serie de recursos relacionados en En particular en la seccioacuten de software se encuentran disponibles herramientas para el

disentildeo e implementacioacuten de algoritmos evolutivos paralelos tanto de grano grueso como de grano fino

Programacioacuten Geneacutetica Mario Graff

Daniela Moctezuma

Eric S Tellez

Sabino Miranda-Jimeacutenez

INFOTEC Centro de Investigacioacuten e Innovacioacuten en Tecnologiacuteas de la Informacioacuten y Comunicacioacuten Circuito Tecnopolo Sur No 112 Fracc Tecnopolo Pocitos II Aguascalientes

20313 Meacutexico CentroGEO Centro de Investigacioacuten en Ciencias de Informacioacuten Geoespacial Circuito

Tecnopolo Norte No 117 Col Tecnopolo Pocitos II CP Aguascalientes Ags 20313 Meacutexico CONACyT Consejo Nacional de Ciencia y Tecnologiacutea Direccioacuten de Caacutetedras Insurgentes Sur

1582 Creacutedito Constructor Ciudad de Meacutexico 03940 Meacutexico

Introduccioacuten En este capiacutetulo se presenta una introduccioacuten a Programacioacuten Geneacutetica (PG) asiacute como la descripcioacuten de cada uno de los aspectos que la comprenden las perspectivas de este campo y las aacutereas donde se ha aplicado en Meacutexico PG es un algoritmo de buacutesqueda inspirado en los principios de la evolucioacuten de las especies de Charles Darwin (ver ) Particularmente PG engloba a un conjunto de teacutecnicas de coacutemputo evolutivo las cuales tienen como objetivo solucionar automaacuteticamente problemas partiendo de ejemplos del problema por resolver a traveacutes de expresiones evaluables o programas

La Programacioacuten Geneacutetica ha sido ampliamente utilizada en diferentes dominios siendo capaz de resolver una gran variedad de problemas de alta complejidad muchas veces mejorando las soluciones encontradas por humanos Por ejemplo en la competencia ndashldquoHumies rdquo celebrada 2

anualmente en el marco de la Genetic and Evolutionary Computation Conference (GECCO) la cual premia sistemas bio-inspirados que mejoran las soluciones encontradas por humanos a problemas difiacuteciles mdashdesde 2004 y hasta 2017 PG ha sido galardonada con 8 medallas de oro 5 de plata y 1 de bronce En particular en esta competencia y utlizando PG Meacutexico ha obtenido

13

12

13

13

1

2

3

httpwwwhuman-competitiveorg2

una medalla de bronce En competencias de categorizacioacuten de texto se ha obtenido primer lugar en identificacioacuten de humor y en deteccioacuten de agresividad

En Meacutexico la PG ha sido estudiada y aplicada sobre una gran variedad de dominios empezando por aplicaciones tradicionales como el disentildeo de circuitos loacutegicos regresioacuten simboacutelica identificacioacuten de sistemas modelado de sistemas de manchas solares lluvia temperatura del agua turbinas de gas absorcioacuten de partiacuteculas medicioacuten de la capacidad de automovilistas para el manejo de vehiacuteculos sistemas caoacuteticos deteccioacuten de fallas en transformadores de potencia y modelado cualitativo de sistemas

La PG ha probado su efectividad con respecto a algoritmos tradicionales de aprendizaje de maacutequina en problemas como prediccioacuten de series de tiempo clasificacioacuten generacioacuten de ensambles de clasificadores generacioacuten de prototipos generacioacuten de heuriacutesticas navegacioacuten autoacutenoma generacioacuten de rejillas topograacuteficas y memorias asociativas En el aacuterea de procesamiento de lenguaje natural la PG ha sido utilizada para mejorar la representacioacuten del texto en un espacio vectorial aplicada a problemas de categorizacioacuten de texto en anaacutelisis de sentimientos intensidad de una emocioacuten identificacioacuten de humor y deteccioacuten de agresioacuten entre otras En al aacuterea de visioacuten computacional la PG ha servido para desarrollar nuevas representaciones siguiendo un enfoque de redes profundas representacioacuten de palabras visuales estimacioacuten de exponentes Houmllder en imaacutegenes deteccioacuten de puntos de intereacutes reconocimiento de objetos anaacutelisis de imaacutegenes hiper-espectrales y estimacioacuten de vegetacioacuten En el paiacutes tambieacuten se realiza investigacioacuten teoacuterico-praacutectica sobre la creacioacuten de modelos que permitan predecir su rendimiento como en meacutetodos de muestreo en la funcioacuten objetivo mejoras al algoritmo como en y control de coacutedigo superfluo El lector interesado en la teoriacutea de PG puede revisar los siguientes trabajos paradigmaacuteticos que son referentes indispensables sobre el tema

La idea detraacutes de la PG es evolucionar programas partiendo de una descripcioacuten de lo que debe hacer el programa Tradicionalmente esta descripcioacuten se realiza mediante un conjunto de pares de entrada-salida tal como se hariacutea con la descripcioacuten de una funcioacuten Esta descripcioacuten es similar a la usada en Aprendizaje Supervisado con la diferencia de que en PG no existen tipos definidos para las entradas y las salidas por otro lado en aprendizaje supervisado las entradas estaacuten en un espacio vectorial y su salida es un nuacutemero natural o real Utilizando esta descripcioacuten l a f u n c i o n a l i d a d d e u n p r o g r a m a s e d e f i n e c o m o e l c o n j u n t o donde representa la -eacutesima entrada y es su correspondiente salida En cierta forma la idea es encontrar un programa tal que aplicado a un conjunto de entradas se evaluacutee a las predicciones de tal forma que eacutestas se aproximen a los valores originales donde la similitud se mide por medio de una funcioacuten de aptitud Tal y como sucede en otros algoritmos de aprendizaje la efectividad de no estaraacute en aprender los datos de

119987 = (x0 y0) hellip (xi yi) hellip (xN yN) xi i yif

xi yiyi

f

entrenamiento sino en su capacidad de generalizar a entradas nunca antes vistas El procedimiento de aprendizaje y prediccioacuten se detallaraacute en el resto de este capiacutetulo

La PG comparte muchas similitudes con los Algoritmos Geneacuteticos (AG) De hecho se podriacutea decir que la PG es una generalizacioacuten del AG la diferencia radica en que la PG utiliza una representacioacuten variable para sus soluciones y el AG tiene una representacioacuten fija esta diferencia tiene varias implicaciones las cuales se veraacuten a detalle en el transcurso del capiacutetulo Por el momento veamos las similitudes que comparten ambos enfoques La PG es un algoritmo evolutivo poblacional es decir utiliza un conjunto de soluciones llamado poblacioacuten para hacer un muestreo del espacio de buacutesqueda La buacutesqueda es guiada mediante la seleccioacuten de individuos en la poblacioacuten y los operadores geneacuteticos como son la recombinacioacuten y la mutacioacuten se encargan de generar nuevos individuos es decir nuevos puntos en el espacio de buacutesqueda

El resto del capiacutetulo detalla un sistema de PG tiacutepico empezando por los tipos de evolucioacuten que pueden realizar (seccioacuten 2) la representacioacuten que se utiliza (seccioacuten 3) seguida por la creacioacuten de la poblacioacuten inicial (seccioacuten 4) los operadores que se utilizan para generar un individuo (seccioacuten 5) y finalmente las teacutecnica utilizada para hacer la seleccioacuten (seccioacuten 6)

Proceso evolutivo La evolucioacuten de la poblacioacuten de programas en la PG puede realizarse de dos maneras mediante una evolucioacuten generacional o mediante una evolucioacuten de estado estable Ambos tipos de evolucioacuten requieren una poblacioacuten inicial y la diferencia entre ellas radica en el uso de dicha poblacioacuten para generar individuos y la actualizacioacuten de la misma En la evolucioacuten generacional existen dos tipos de poblaciones la de los padres y la de los nuevos individuos La poblacioacuten de padres es utilizada para generar nuevos individuos y por lo general cuando la poblacioacuten de nuevos individuos tiene el mismo nuacutemero de elementos que la poblacioacuten de padres se procede a mezclar estas poblaciones para convertirse en la poblacioacuten de padres de la siguiente generacioacuten Por otro lado la evolucioacuten de estado estable no contempla esta diferencia entre poblacioacuten de padres y de nuevos individuos dado que el individuo generado reemplaza un individuo de la poblacioacuten actual

El algoritmo [alggeneracional] muestra el pseudocoacutedigo de la evolucioacuten generacional Como se habiacutea mencionado se requiere de una poblacioacuten inicial denominada la cual seraacute utilizada para generar individuos y seraacute actualizada mientras no se cumpla un establecido Lo primero que se observa en el algoritmo son dos ciclos anidados (liacuteneas 1 y 2) El primero itera hasta que se cumpla la condicioacuten de paro y el segundo se encarga de generar la poblacioacuten de hijos (liacutenea 3) Al final de este segundo ciclo se tienen dos poblaciones y

119979120226120267120258120269120254120267120258120264 120253120254 120239120250120267120264

119979h 119979

Estas dos poblaciones se combinan (liacutenea 5) para formar una nueva poblacioacuten utilizada en la siguiente generacioacuten La funcioacuten combina estas poblaciones y puede ser tan simple como seleccionar todo para reemplazar o pueden adoptarse estrategias maacutes complejas como remplazo con elitismo donde se realiza el remplazo pero se asegura que los mejores individuos de ambas poblaciones se preserven en la siguiente generacioacuten

[alggeneracional]

La evolucioacuten generacional es muy utilizada tanto en computacioacuten evolutiva como en PG Sin embargo hasta la fecha no existen ventajas teoacutericas para decidir utilizar un tipo de evolucioacuten sobre el otro Considerando lo anterior este capiacutetulo se enfocaraacute en el uso de evolucioacuten de estado estable debido a que su implementacioacuten es maacutes simple

El algoritmo [algestable] muestra el pseudocoacutedigo de una evolucioacuten de estado estable es utilizada para generar un individuo hijo mediante la aplicacioacuten de operadores geneacuteticos (linea 2) El hijo reemplaza (linea 4) a un elemento de que es seleccionado utilizando una seleccioacuten negativa es decir se selecciona un individuo con una aptitud baja (liacutenea 3) Este proceso continuacutea hasta que el criterio de paro es alcanzado Dicho criterio puede ser variado tal como alcanzar un nuacutemero maacuteximo de individuos generados convergencia de una funcioacuten de error encontrar una solucioacuten adecuada o suficiente entre otras opciones

hijo hijo

[algestable]

Representacioacuten Tomando en cuenta que el objetivo de PG es evolucionar programas es normal pensar que la PG evoluciona programas escritos en alguacuten lenguaje de programacioacuten pej Python utilizando un inteacuterprete o compilador y maacutequina que lo ejecute dependiendo del caso Aunque esto es factible y existen sistemas de PG que han seguido este camino no es lo maacutes comuacuten En este capiacutetulo seguimos una de las praacutecticas maacutes comunes popularizada en el libro de Koza la cual consiste en representar un programa utilizando un aacuterbol de expresioacuten Un aacuterbol de expresioacuten cuenta con tres nodos distintivos la raiacutez la cual es la salida de la expresioacuten los nodos internos y las hojas La funcioacuten de la raiacutez y los nodos internos es aplicar operaciones a sus hijos y las hojas

119979h 119979120236120254120275120252120261120250

119979h 119979

119979 119979h(i ) larr 120238120265120254120267120250120253120264120267120254120268 120230120254120263eacute120269120258120252120264120268(119979) 119979 larr 120236120254120275120252120261120250(119979 119979h) 119979

119979

119979

119979 larr 120238120265120254120267120250120253120264120267120254120268 120230120254120263eacute120269120258120252120264120268(119979) k larr 120242120254120261120254120252120252120258oacute120263 120237120254120256120250120269120258120271120250(119979) 119979(k) larr 119979

representan las entradas ya sean variables o constantes Un ejemplo de un aacuterbol de expresioacuten se muestra en la figura [figexpresion] donde la expresioacuten es representada en el aacuterbol

Los aacuterboles de expresiones se forman partiendo de dos conjuntos uno de terminales que contiene las variables constantes y funciones sin argumentos y otro de funciones que contiene las funciones u operadores que reciben argumentos Por ejemplo en una regresioacuten simboacutelica la cual consiste en encontrar la funcioacuten que maacutes se asemeja a una serie de puntos el conjunto de terminales podriacutea ser donde es la variable independiente y r epresen ta un nuacutemero a lea tor io y e l conjunto de func iones podr iacutea se r Continuando con este ejemplo se puede observar que la expresioacuten representada en la figura [figexpresion] pudo haber sido generada con los mencionados conjuntos de terminales y funciones

Una codificacioacuten simple de un aacuterbol de expresioacuten puede ser representado en un arreglo o una lista es decir un aacuterbol de expresioacuten puede estar codificado de manera lineal Esta codificacioacuten se logra recorriendo el aacuterbol a lo profundo Por ejemplo la expresioacuten representada en la figura [figexpresion] puede ser representada como Esta codificacioacuten seraacute la utilizada en este capiacutetulo para representar los aacuterboles de expresiones

Dado un aacuterbol de expresioacuten se requiere tener un procedimiento para su evaluacioacuten Dicho procedimiento se muestra en el algoritmo [algevaluacion] Evaluacioacuten el cual recibe como entrada un aacuterbol de expresioacuten representado en una estructura de datos lineal como un arreglo o lista La expresioacuten es codificada en donde es la i-eacutesima posicioacuten e es una variable global Evaluacioacuten es una funcioacuten recursiva donde la recursioacuten termina cuando es una constante o variable (ver liacuteneas 15-19) Cuando es una funcioacuten (vg ) liacutenea 1 se debe de conocer la cantidad de argumentos que requiere linea 3 y empieza la recursioacuten En caso de que requiera un argumento liacuteneas 4-7 se incrementa la posicioacuten en uno y se llama a Evaluacioacuten terminando con la evaluacioacuten de la funcioacuten en el valor regresado en la recursioacuten Para maacutes argumentos liacuteneas 9-14 se invoca Evaluacioacuten tantas veces como argumentos requiera la funcioacuten y el valor es guardado en una estructura que podriacutea ser un arreglo o lista La liacutenea 14 evaluacutea la funcioacuten vg en los argumentos Por ejemplo sea la suma entonces la liacutenea 14 realizariacutea

el valor de la variable la constante

[algevaluacion]

x + xsin(934x)

119983ℱ

119983 = x real x real

ℱ = + minus sdot sin cos

( + x x sin times 934 x)

x xi ixi

xi xi isin ℱ

ixi

w fxi w f w0 + w1

x i f larr xi d larr 120250120267120256120270120262120254120263120269120264120268( f ) i larr i + 1 w larr 120228120271120250120261120270120250120252120258oacute120263(x) f (w) w i larr i + 1wj larr 120228120271120250120261120270120250120252120258oacute120263(x) f (w) xi xi

Poblacioacuten inicial Una vez descrita la representacioacuten que tendraacuten los individuos dentro de la poblacioacuten por medio de aacuterboles de expresiones la codificacioacuten de eacutestos mediante una estructura de datos lineal y el pseudocoacutedigo para evaluar un individuo ya es posible describir el procedimiento para crear la poblacioacuten inicial

En PG existen dos procedimientos tradicionales para generar un individuo 1) generar un aacuterbol de expresiones balanceado (Full) o 2) generar un aacuterbol desbalanceado (Grow) ambos se definen con una altura maacutexima La definicioacuten de un aacuterbol balanceado es aquel donde los hijos de cualquier nodo tienen siempre la misma altura La figura [figtipos-de-arbol] muestra un aacuterbol balanceado y un aacuterbol no balanceado En la figura [figbalanceado] se observa coacutemo la definicioacuten de balanceo solo considera la altura sin importar el nuacutemero de nodos Por ejemplo la raiacutez tiene tres nodos en su hijo izquierdo y dos nodos en su hijo derecho y es un aacuterbol balanceado

Estos dos procedimientos para generar un individuo comparten muchas similitudes Por esta razoacuten el algoritmo [algcreacion-individuo] presenta ambos procedimientos decidiendo cuaacutel utilizar mediante una bandera El proceso de generar un individuo utiliza el conjunto de funciones y terminales y la altura deseada Eacuteste es un procedimiento recursivo donde la recursioacuten termina cuando la altura llega a su valor miacutenimo (liacuteneas 1-3) o en el caso en que se utilice el meacutetodo desbalanceado (liacuteneas 3-5) y un nuacutemero aleatorio sea menor que

Si ninguna de las dos condiciones se cumplen empieza la recursioacuten primero

decrementando (liacutenea 6) despueacutes seleccionando de manera aleatoria una funcioacuten del conjunto (liacutenea 7) y contando sus argumentos (liacutenea 8) La estructura definida en la liacutenea 9 es la encargada de guardar los componentes de la regresioacuten Dicha estructura podriacutea ser una lista o un conjunto que mantiene el orden de insercioacuten El procedimiento continuacutea creando un ciclo del nuacutemero de argumentos (liacuteneas 10-12) donde se hace la recursioacuten y el resultado de la recursioacuten se antildeade a liacutenea 11 Finalmente el individuo creado estaacute en y se regresa en la liacutenea 13

[algcreacion-individuo]

Es probable que uno de los meacutetodos maacutes tradicionales para crear la poblacioacuten inicial sea el meacutetodo ramped half-and-half propuesto por Koza el cual consiste en construir la mitad de la poblacioacuten utilizando un meacutetodo balanceado y la otra mitad utilizando un meacutetodo desbalanceado

120236eacute120269120264120253120264h

h = 0

∣ 119983 ∣∣ 119983 ∣ + ∣ ℱ ∣

hℱ w

w w

ℱ 119983 h 120236eacute120269120264120253120264 x isin 119983 x isin 119983 h larr h minus 1 f isin ℱ d larr 120250120267120256120270120262120254120263120269120264120268( f ) w = [ f ]w larr w cup 120226120267120254120250120252120258oacute120263 120253120254 120232120263120253120258120271120258120253120270120264(h 120236eacute120269120264120253120264) w

Ademaacutes de lo anterior la altura del aacuterbol variacutea desde un valor de altura miacutenima hasta un valor maacuteximo de manera lineal tomando en cuenta el tamantildeo de la poblacioacuten

Operadores Geneacuteticos Habiendo descrito dos procedimientos para la creacioacuten de la poblacioacuten inicial es tiempo de introducir los operadores geneacuteticos que permitiraacuten la creacioacuten de nuevos individuos basados en la poblacioacuten actual En PG se acostumbra tener dos operadores geneacuteticos mutacioacuten (ver Seccioacuten 52) y recombinacioacuten (ver Seccioacuten 51) que a diferencia del AG son excluyentes y seleccionados de manera aleatoria

El algoritmo [algoperadores-geneticos] muestra el procedimiento para generar un individuo utilizando mutacioacuten y recombinacioacuten Lo primero que se realiza es la seleccioacuten de los individuos que serviraacuten como padres en este proceso (liacutenea 1 y liacutenea 3) Esto es seguido por la decisioacuten de generar un individuo mediante mutacioacuten o recombinacioacuten la cual se realiza de manera aleatoria y se controla con un paraacutemetro la probabilidad de recombinacioacuten (liacutenea 2) En caso de aplicarse recombinacioacuten se requieren dos elementos (liacutenea 4) y en el caso de mutacioacuten solamente se requiere un elemento (liacutenea 6)

[algoperadores-geneticos]

Recombinacioacuten La recombinacioacuten es la operacioacuten geneacutetica que toma dos individuos de la poblacioacuten denominados padres y los combina para generar un nuevo individuo Tomando en cuenta que los individuos son aacuterboles de expresiones entonces la recombinacioacuten se plantea como la generacioacuten de un nuevo aacuterbol de expresioacuten La idea es escoger en cada aacuterbol un punto de recombinacioacuten e intercambiar los subaacuterboles cuya raiacutez sean dichos puntos de recombinacioacuten

La figura [figrecombinacion] muestra el procedimiento de recombinacioacuten En dicha figura los dos padres son los primeros dos aacuterboles de la izquierda ver figuras [figpadre1] y [figpadre2] El nuevo individuo es el aacuterbol de la derecha ver figura [fighijo] es comuacuten llamar hijo al producto de la recombinacioacuten Los nodos de color azul representan los puntos de recombinacioacuten siendo el procedimiento para generar un nuevo individuo el cambiar los subaacuterboles cuya raiacutez son los nodos en azul En particular aquiacute se crea solamente un individuo el cual es generado al reemplazar el subaacuterbol del primer padre por el subaacuterbol del segundo padre

pxo

119979 a larr 120242120254120261120254120252120252120258oacute120263(119979) b larr 120242120254120261120254120252120252120258oacute120263(119979) w larr 120241120254120252120264120262120251120258120263120250120252120258oacute120263(119979(a)) 119979(b))w larr 120236120270120269120250120252120258oacute120263(119979(a)) w

El procedimiento de recombinacioacuten requiere de un meacutetodo que permita conocer donde termina un subaacuterbol dada su raiacutez Esto es debido a que se estaacute codificando un aacuterbol de expresioacuten en una estructura lineal Este procedimiento es simple y solamente se requiere el contar el nuacutemero de argumentos por cada funcioacuten encontrada en el camino El algoritmo [algrecorre] presenta el pseudocoacutedigo para hacer el recorrido por el subaacuterbol Este procedimiento recibe un individuo y la posicioacuten de la raiacutez del subaacuterbol de intereacutes El ciclo de las liacuteneas 2-12 realiza todo el recorrido del subaacuterbol terminando cuando las funciones encontradas en el recorrido han satisfecho todos sus argumentos liacuteneas 9-11 regresando la posicioacuten del uacuteltimo nodo del subaacuterbol En cada iteracioacuten se sabe que se consume un argumento liacutenea 5 y se incrementa la posicioacuten final del subaacuterbol liacutenea 4 Ademaacutes se verifica si el nodo actual corresponde a una funcioacuten En caso afirmativo se incrementa el nuacutemero de argumentos liacuteneas 6-8 y todo este proceso continua hasta que los argumentos requeridos por la funciones han sido cubiertos

[algrecorre]

Ahora que se conoce la funcioacuten auxiliar es momento de describir el pseudocoacutedigo de la recombinacioacuten el cual se muestra en el algoritmo [algrecombinacion] Lo primero que se puede observar es que la recombinacioacuten requiere dos individuos el segundo paso es seleccionar un nodo de cada uno de estos individuos liacuteneas 1 y 2 Las liacuteneas 3 y 4 calculan las posiciones donde terminan cada uno de los subaacuterboles que corresponden a los nodos seleccionados Finalmente el individuo generado corresponde al reemplazo de la subcadena que representa el subaacuterbol del primer padre con la subcadena que representa el subaacuterbol del segundo padre ver liacutenea 5

[algrecombinacion]

Mutacioacuten Existen diferentes tipos de mutacioacuten Una de las maacutes utilizadas es la mutacioacuten de subaacuterbol la cual consiste en hacer recombinacioacuten de un individuo de la poblacioacuten con un individuo aleatorio La idea es reemplazar un subaacuterbol del individuo de la poblacioacuten por un subaacuterbol aleatorio y esto se logra utilizando meacutetodos previamente definidos

La mutacioacuten de subaacuterbol se presenta en el algoritmo [algmutacion] Este procedimiento requiere un padre Despueacutes se genera un individuo aleatorio utilizando el meacutetodo

x i c larr 1 x larr xi i larr i + 1 c larr c minus 1 c larr c + 120250120267120256120270120262120254120263120269120264120268(x) i

120241120254120252120264120267120267120254

x y

x y i larr 120239120270120263120269120264 120253120254 120267120254120252120264120262120251120258120263120250120252120258oacute120263(x) j larr 120239120270120263120269120264 120253120254 120267120254120252120264120262120251120258120263120250120252120258oacute120263(y) ik larr 120241120254120252120264120267120267120254(x i )jk larr 120241120254120252120264120267120267120254(y j ) x0hellipi cup yjhellip jk cup xikhellip∣x∣

x

Por lo general se usa una altura menor a siete y despueacutes se regresa la de los individuos (liacutenea 2)

[algmutacion]

La mutacioacuten de subaacuterbol no es el uacutenico tipo de mutacioacuten Otro tipo de mutacioacuten muy utilizada es la mutacioacuten de punto que tiene su homoacutelogo en el AG La mutacioacuten de punto funciona iterando por todos los nodos del individuo y seleccionando aleatoriamente algunos nodos para ser mutados Un nodo seleccionado para ser mutado cambia su valor de la siguiente manera Un nodo que tiene una funcioacuten cambia la funcioacuten por otra de la misma cardinalidad Por otro lado un nodo que tiene una terminal cambia su valor por otra terminal seleccionada del conjunto de terminales

Seleccioacuten Hasta este momento hemos revisado los procedimientos para hacer una evolucioacuten de estado estable generar una poblacioacuten inicial y modificar la poblacioacuten utilizando operadores geneacuteticos En esta seccioacuten se muestra el proceso de seleccioacuten de los individuos padres que generaraacuten mediante operadores geneacuteticos un nuevo individuo

La seleccioacuten como su nombre lo indica debe escoger un individuo de la poblacioacuten con base en su aptitud es decir se busca aquel individuo que resuelve de mejor manera el problema En el caso de la seleccioacuten negativa se busca el individuo que resuelve el problema de la peor manera

Recordemos que la forma en que se describe la funcionalidad de un programa es mediante un conjunto de pares entrada-salida vg donde representa la -eacutesima entrada y es su salida correspondiente Utilizando se puede definir la aptitud de un programa de la siguiente manera

donde representa la salida del programa cuando la entrada es y es una funcioacuten que captura que tanto se parece la prediccioacuten a la salida esperada

Existen varios procedimientos de seleccioacuten Uno de los maacutes comunes es la seleccioacuten proporcional o por ruleta La idea de esta seleccioacuten es asignar a cada individuo una probabilidad de ser seleccionado directamente proporcional a su aptitud Otro tipo de seleccioacuten muy utilizado

120226120267120254120250120252120258oacute120263 120253120254 120232120263120253120258120271120258120253120270120264120241120254120252120264120262120251120258120263120250120252120258oacute120263

x y larr 120226120267120254120250120252120258oacute120263 120253120254 120232120263120253120258120271120258120253120270120264(4 120225120250120261120250120263120252120254120250120253120264) 120241120254120252120264120262120251120258120263120250120252120258oacute120263(x y)

119987 = (x0 y0) hellip (xi yi) hellip (xN yN) xii yi 119987

p

120224120265120269120258120269120270120253(p) = sum(xy)isin119987

120236120258120253120254 120224120265120265120267120264120273120258120262120250120252120258oacute120263(y p(x))

p(x) p x 120236120258120253120254 120224120265120265120267120264120273120258120262120250120252120258oacute120263p(x) y

en la comunidad es la seleccioacuten por torneo donde la idea es seleccionar al ganador de un grupo de individuos seleccionados aleatoriamente Al tamantildeo del grupo se le conoce como el tamantildeo del torneo

El algoritmo [algseleccion] presenta el pseudocoacutedigo de la seleccioacuten por torneo El procedimiento requiere la poblacioacuten y el tamantildeo del torneo Se empieza seleccionando un individuo de la poblacioacuten vg el -eacutesimo para el cual se obtiene su aptitud liacuteneas 1 y 2 El individuo es momentaacuteneamente el mejor elemento conocido El ciclo principal ejecuta el torneo liacuteneas 3-10 En cada iteracioacuten se selecciona un elemento de la poblacioacuten junto con su aptitud (liacutenea 4 y 5) En caso que el nuevo individuo tenga una mejor aptitud que la conocida eacuteste se convierte en el ganador del torneo liacuteneas 6-9 El procedimiento termina regresando la posicioacuten del mejor individuo

t

[algseleccion]

Espacio de buacutesqueda La PG es un algoritmo de buacutesqueda inspirado en los principios de la evolucioacuten En esta seccioacuten se describe coacutemo es el espacio de buacutesqueda Existen dos diferencias principales entre la PG y el AG 1) la PG busca en un espacio posiblemente infinito de programas mientras que el AG en un espacio finito y 2) las soluciones de la PG tienen una codificacioacuten de longitud variable y las del AG son de longitud fija

El espacio de buacutesqueda de la PG se construye partiendo del conjunto de funciones y del conjunto de terminales de la siguiente manera Sea el subconjunto de funciones con cardinalidad del conjunto de funciones y los elementos creados en la -eacutesima iteracioacuten iniciando en Usando esta notacioacuten los primeros elementos del espacio de buacutesqueda vg son El resto de los elementos se construyen

iterativamente usando por lo tanto el espacio de

buacutesqueda estaacute definido como

Con el objetivo de ejemplificar la estructura del espacio de buacutesqueda la figura [figespacio-busqueda] presenta unos elementos del espacio de buacutesqueda cuando el conjunto de terminales es

119979 tk ga

119979(k)

119979 k larr 120237uacute120262120254120267120264 120224120261120254120250120269120264120267120258120264() ga larr 120224120265120269120258120269120270120253(119979(k)) ck larr 120237uacute120262120254120267120264 120224120261120254120250120269120264120267120258120264()ca larr 120224120265120269120258120269120270120253(119979(ck)) k larr ck ga larr ca k

Ω

ℱ119983 ℱc sube ℱ

c Ωi ii = 0

i = 0 Ω0 = ⋃c

f (x1 ⋯ xc) ∣ xi isin 119983 f isin ℱc

Ωi = ⋃c

f (x1 ⋯ xc) ∣ xi isin Ωiminus1 f isin ℱc

Ω = ⋃i

Ωi

y el conjunto de funciones es La figura [figomega0] muestra todos los elementos de los cuales corresponden a las combinaciones entre el operador y las entradas asiacute como a la funcioacuten y las posibles entradas La parte inferior de la figura muestra algunos elementos de Siguiendo la definicioacuten dada la primera expresioacuten corresponde al segundo elemento de y el uacuteltimo elemento corresponde al uacuteltimo elemento generado en

Conclusiones En este capiacutetulo se describioacute la importancia y potencial que tiene la PG en diversas tareas y aplicaciones Ademaacutes se describieron las partes que conforman un sistema de programacioacuten geneacutetica tradicional equivalente a los descritos en ) Tambieacuten se describieron los tipos de evolucioacuten maacutes comunes y con base en la evolucioacuten de estado estable se detalloacute el resto de las partes necesarias para llevar a cabo el proceso evolutivo como son la representacioacuten de los individuos la creacioacuten de la poblacioacuten inicial los operadores geneacuteticos y el tipo de seleccioacuten Finalmente se describioacute el espacio de buacutesqueda de la PG que se genera partiendo de los conjuntos de funciones y terminales

Como todo los sistemas la PG ha evolucionado Actualmente existen diferentes propuestas para mejorar sus componentes empezando desde la creacioacuten de la poblacioacuten inicial pej modificaciones a los operadores geneacuteticos tradicionales pej operadores semaacutenticos estudios sobre la seleccioacuten y evolucioacuten guiada por una funcioacuten diferente a la funcioacuten objetivo

Para saber maacutes Para una revisioacuten amplia sobre la PG se sugiere al lector la siguiente bibliografiacutea La PG fue descrita inicialmente en el libro de John Koza esta descripcioacuten se complementa con el libro escrito por Wolfgang Banzhaf et al y maacutes reciente Riccardo Poli et al presenta una introduccioacuten actualizada al aacuterea

Con respecto a artiacuteculos cientiacuteficos es importante comentar que existe una coleccioacuten bibliograacutefica en PG compilada y administrada por William Langdon John Koza y Steven Gustafson Esta coleccioacuten cuenta con maacutes de 13000 referencias a trabajos de investigacioacuten en 34

el tema incluyendo los trabajos realizados en Meacutexico

119983 = x y ℱ = + sinΩ0 +

sinΩ1

Ω1 Ω1

httpliinwwwiraukadebibliographyAigeneticprogramminghtml3

httpwwwcsbhamacuk~wblbiblio4

Importancia de la Diversidad en el Disentildeo de Algoritmos Evolutivos

Carlos Segura

Joel Chacoacuten Castillo

La convergencia prematura es una de las mayores problemaacuteticas que afectan al rendimiento de las metaheuriacutesticas poblacionales por lo que a la hora de disentildear algoritmos evolutivos es un aspecto a tener en cuenta En este capiacutetulo se enumeran diferentes teacutecnicas que se han propuesto a lo largo de las uacuteltimas deacutecadas para lidiar con este problema Una de las alternativas maacutes exitosas consiste en examinar los efectos que los diferentes componentes del algoritmo evolutivo tienen sobre la diversidad mantenida en la poblacioacuten y con base en ello redisentildearlos para modificar su comportamiento de forma dinaacutemica Con el objetivo de ilustrar de una forma detallada este uacuteltimo grupo de teacutecnicas se discuten dos mecanismos que pertenecen a este grupo El primero se aplica en el aacutembito de evolucioacuten diferencial y consiste en una estrategia de reemplazo que combina una poblacioacuten eacutelite con un mecanismo para mantener la diversidad de forma expliacutecita El segundo caso estaacute enfocado a los operadores de cruza donde concretamente se analiza y extiende el Operador de Cruza basado en Simulacioacuten Binaria (Simulated Binary Crossover - SBX) En las extensiones se considera el criterio de paro para modificar de forma dinaacutemica el comportamiento del operador con el propoacutesito de inducir un cambio gradual desde exploracioacuten hacia intensificacioacuten en el proceso de buacutesqueda La validacioacuten experimental se realizoacute con algunos de los problemas de prueba maacutes populares del aacutembito mono-objetivo y multi-objetivo alcanzaacutendose mejoras significativas en ambos casos

Diversidad Convergencia Prematura Evolucioacuten Diferencial Optimizacioacuten Multi-objetivo

Introduccioacuten Los Algoritmos Evolutivos (Evolutionary Algorithms mdash eas) son considerados como uno de los enfoques con mayor eficacia para resolver distintas categoriacuteas de problemas de optimizacioacuten Se han desarrollado diversas variantes que han sido aplicadas en muacuteltiples campos como en transporte economiacutea o ingenieriacutea Particularmente se han aplicado tanto en problemas del dominio continuo como del dominio discreto En general los eas han sido especialmente exitosos en la resolucioacuten de problemas complejos en los que los enfoques exactos no son actualmente aplicables como por ejemplo en problemas NP-completos con espacios de buacutesqueda grandes Para el aacutembito de este capiacutetulo se hace uso de problemas continuos mono-objetivo y multi-objetivo con restricciones de caja que se pueden definir tal y como se indica en la Ecuacioacuten ([eqnModel_general])

Minimizar 

rarrF (

rarrX )

Su jeto a rarrX isin Ω

donde es un vector compuesto por variables continuas de decisioacuten cada variable pertenece al conjunto de los reales es la dimensioacuten correspondiente al espacio de las variables de decisioacuten es un vector compuesto por funciones objetivo es el espacio factible cuyo liacutemite inferior es y liacutemite

superior es es decir Cada vector de variables es mapeado con -

funciones objetivo al espacio que es conocido como el espacio objetivo

Actualmente los eas son una de las metaheuriacutesticas maacutes conocidas pero a pesar de su eacutexito y de su uso tan extendido adaptarlas a nuevos problemas implica la toma de varias decisiones de disentildeo complejas Particularmente a la hora de disentildear de forma apropiada un ea se ha visto que es muy importante conseguir inducir un balanceo adecuado entre la exploracioacuten e intensificacioacuten del espacio de buacutesqueda Noacutetese en este punto que de manera informal la exploracioacuten del espacio de buacutesqueda consiste en evaluar regiones del espacio de buacutesqueda que no han sido muestreadas con el fin de detectar regiones promisorias y la explotacioacuten consiste en muestrear en zonas ya evaluadas previamente para realizar una buacutesqueda maacutes profunda con el fin de encontrar soluciones maacutes refinadas y de mayor calidad Cuando en los algoritmos evolutivos todas o casi todas las soluciones estaacuten en regiones distantes mdash alta diversidad mdash se produce habitualmente una buacutesqueda exploratoria es decir muchas de las nuevas soluciones evaluadas seraacuten distantes a las ya evaluadas anteriormente Sin embargo cuando casi todas las soluciones estaacuten en una o en unas pocas regiones se produce una buacutesqueda intensificadora Uno de los problemas a la hora de disentildear los algoritmos evolutivos es que en muchos casos no se comprenden todas las implicaciones que los diferentes componentes tienen sobre el mantenimiento de la diversidad de la poblacioacuten y por tanto sobre el balanceo entre exploracioacuten e intensificacioacuten Por ello analizar el comportamiento y redisentildear en base a lo que estaacute ocurriendo en este aspecto es parte del proceso de disentildeo de los eas

Relacionado con lo anterior aparece el concepto de convergencia prematura Se dice que un algoritmo converge de forma prematura cuando mucho antes de alcanzar el criterio de paro todas las soluciones estaacuten en una zona muy pequentildea del espacio de buacutesqueda En este sentido a partir de ese momento es difiacutecil seguir mejorando las soluciones de forma significativa ya que con alta probabilidad soacutelo se va a realizar un muestreo de soluciones en dicha regioacuten Por ello es importante detectar si esto ocurre y en tal caso redisentildear algunos aspectos del ea para preservar una mayor diversidad Sin embargo si la poblacioacuten es muy diversa durante todo el proceso de buacutesqueda se podriacutea no alcanzar un grado adecuado de intensificacioacuten y por lo tanto se tendriacutea una convergencia lenta que posiblemente tambieacuten resultariacutea en soluciones de baja calidad Por

rarrX D

rarrX = [x1 x2 xD]

xi isin real DrarrF M

rarrF = [ f1(

rarrX ) f2(

rarrX ) fM(

rarrX )] Ω x(L)

i

x(U )i Ω =

D

prodj=1

[x(L)j x(U )

j ] M

rarrF (

rarrX )(

rarrF Ω sube realD rarr realM) realM

esta razoacuten Mahfoud utilizoacute el concepto de diversidad uacutetil para referirse a la cantidad de diversidad necesaria para generar soluciones de alta calidad

En relacioacuten al disentildeo de eas se puede observar que en sus inicios la mayoriacutea de enfoques fueron esquemas generacionales en los que las soluciones hijas reemplazaban a la poblacioacuten anterior sin importar su respectiva aptitud o grado de diversidad En estos esquemas iniciales se usaba la seleccioacuten de padres para promover que el proceso de muestreo se realizara con mayor probabilidad en las regiones maacutes promisorias encontradas Por ello con el propoacutesito de alcanzar un balanceo adecuado entre exploracioacuten e intensificacioacuten se desarrollaron muchas estrategias de seleccioacuten de padres que permitiacutean centrarse con mayor o menor velocidad en las regiones promisorias Ademaacutes se desarrollaron alternativas que modifican otros aspectos como la estrategia de variacioacuten yo el modelo poblacional En la mayor parte de eas maacutes recientes se introduce ademaacutes una fase de reemplazamiento por lo que la nueva poblacioacuten no tiene que formarse exclusivamente con los hijos maacutes bien se usan mecanismos para combinar la poblacioacuten anterior con la poblacioacuten hija y determinar asiacute los nuevos sobrevivientes En este contexto se suele introducir elitismo en los algoritmos es decir el mejor individuo encontrado sobreviviraacute a la siguiente generacioacuten De esta forma ahora tambieacuten se puede modificar esta uacuteltima fase para conseguir el balanceo apropiado entre exploracioacuten e intensificacioacuten

En los uacuteltimos antildeos algunos de los trabajos maacutes exitosos en el aacuterea de evitacioacuten de convergencia prematura se han basado en considerar el criterio de parada y evaluaciones realizadas para balancear entre exploracioacuten e intensificacioacuten Esto se fundamenta en la premisa de que el grado entre exploracioacuten e intensificacioacuten deberiacutea variar a lo largo de la ejecucioacuten por lo tanto tiene sentido que las decisiones tomadas por las componentes variacuteen en funcioacuten del instante de ejecucioacuten Particularmente en este capiacutetulo se describen dos aportaciones que pertenecen a este grupo de teacutecnicas La primera que se aplica en el aacuterea de Evolucioacuten Diferencial (Differential Evolution mdash de) recibe el nombre de de Mejorado con Mantenimiento de Diversidad (de with Enhanced Diversity Maintenance mdash de-edm) e integra una estrategia de reemplazo que maneja la diversidad de forma expliacutecita con una poblacioacuten eacutelite En la fase de reemplazo que incorpora el de-edm se promueve un balanceo dinaacutemico entre exploracioacuten e intensificacioacuten teniendo en cuenta para ello el criterio de paro y las evaluaciones transcurridas para la toma de decisiones Concretamente en las primeras etapas se induce un grado de exploracioacuten alto ya que los individuos sobrevivientes son diversificados y posteriormente conforme transcurren las generaciones se induce un mayor grado de intensificacioacuten La segunda aportacioacuten estaacute enfocada a la extensioacuten de operadores de cruza Particularmente se analizan los componentes que conforman al Operador de Cruza basado en Simulacioacuten Binaria (Simulated Binary Crossover - SBX) y se propone una variante dinaacutemica (Dynamic Simulated Binary Crossover mdash dsbx) en la

que el comportamiento interno es alterado en base al criterio de paro y a las evaluaciones realizadas hasta el momento

El resto de este capiacutetulo estaacute organizado de la siguiente forma En primer lugar en la seccioacuten 2 se revisan algunas de las teacutecnicas maacutes populares que se han propuesto para promover el mantenimiento de diversidad exponiendo una de las clasificaciones maacutes extendidas Posteriormente en la seccioacuten 3 se describe y valida experimentalmente la aportacioacuten basada en evolucioacuten diferencial donde se considera la diversidad de forma expliacutecita en la fase de reemplazamiento Siguiendo esta misma liacutenea en la seccioacuten 4 se lleva a cabo un anaacutelisis del operador de cruza sbx mencionando algunas de sus implicaciones en la diversidad y se expone en base a ello una variante dinaacutemica que se valida experimentalmente con problemas multi-objetivo Finalmente en la seccioacuten 5 se exponen las conclusiones y trabajos futuros trazados en base a los resultados obtenidos

Preservacioacuten de diversidad en algoritmos evolutivos La convergencia prematura es una problemaacutetica muy conocida en el aacutembito de los eas por lo que se han desarrollado gran cantidad de teacutecnicas para lidiar con la misma Estas teacutecnicas modifican de manera directa o indirecta la cantidad de diversidad mantenida por el algoritmo y variacutean desde teacutecnicas generales hasta mecanismos dependientes de un problema dado En este apartado se revisan algunas de las teacutecnicas generales maacutes populares Inicialmente se describen algunas maneras de clasificar a este tipo de estrategias para posteriormente describir mecanismos claacutesicos especiacuteficos asiacute como algunas estrategias maacutes novedosas que se basan en modificar la estrategia de reemplazamiento Finalmente dado que en este capiacutetulo se extiende de se revisan tambieacuten los trabajos de esta aacuterea que tienen una relacioacuten estrecha con el manejo de diversidad Se recomienda a los lectores que requieran conocer estos mecanismos con maacutes detalle consultar asiacute como los artiacuteculos especiacuteficos en que cada meacutetodo es propuesto

Clasificaciones de mecanismos para promover la diversidad Debido a la gran cantidad de meacutetodos desarrollados en esta aacuterea se han propuesto varias clasificaciones de los mismos Liu et al propuso diferenciar entre los enfoques uni-proceso y multi-proceso En el enfoque uni-proceso se modifica la preservacioacuten de la diversidad actuando sobre un uacutenico componente del ea Es importante destacar que en los enfoques uni-proceso no se excluye el uso de otros componentes en el proceso de exploracioacuten yo intensificacioacuten sino que maacutes bien si no se consigue el balanceo adecuado soacutelo se modifica una componente hasta conseguir el comportamiento deseado Por otra parte en los enfoques multi-proceso se tiene en cuenta las implicaciones que varios componentes provocan sobre el balanceo y se actuacutea

modificando o redisentildeando varios de ellos hasta conseguir el comportamiento adecuado Los esquemas uni-proceso son mucho maacutes habituales actualmente y en particular las dos propuestas incluidas en este capiacutetulo son mecanismos uni-proceso

Extendiendo a lo anterior se propuso una clasificacioacuten maacutes especiacutefica en la que se tiene en cuenta cuaacutel es la componente que se cambia para categorizar a cada meacutetodo En este sentido los maacutes populares son los siguientes

bull Enfoques basados en la seleccioacuten son los maacutes claacutesicos y se basan en cambiar la presioacuten de seleccioacuten que se produce hacia las zonas promisorias a la hora de realizar la seleccioacuten de padres

bull Enfoques basados en poblacioacuten se modifica el modelo poblacional utilizando algunas teacutecnicas como variar el tamantildeo de la poblacioacuten de forma dinaacutemica eliminar individuos duplicados utilizar teacutecnicas de infusioacuten o establecer un estrategia de islas con migraciones

bull Enfoques basados en ela cruza yo la mutacioacuten se basan en redisentildear los operadores de cruza yo mutacioacuten considerando en algunos casos informacioacuten especiacutefica del problema Tambieacuten se incluyen en este grupo opciones maacutes generales como aplicar restricciones sobre el emparejamiento yo incluir operadores disruptivos que podriacutean ser utilizados soacutelo en ciertos instantes del proceso de optimizacioacuten

Esquemas claacutesicos para administrar la diversidad Los primeros eas se basaron principalmente en esquemas generacionales que no incluiacutean fase de reemplazo En estos esquemas la seleccioacuten de padres era la principal responsable de que se muestrearan con mayor probabilidad las zonas maacutes promisorias encontradas hasta el momento y por tanto muchos de los primeros esquemas que trataron de evitar la convergencia prematura se basaron en modificar el proceso de seleccioacuten de padres Asiacute en los 90s se desarrollaron varios esquemas que alteraban la presioacuten de seleccioacuten de forma estaacutetica o dinaacutemica Sin embargo con base en varios estudios teoacutericos y experimentales se observoacute que generalmente actuar exclusivamente sobre el operador de seleccioacuten no es suficiente especialmente cuando se quieren realizar ejecuciones a largo plazo ya que se requeririacutean poblaciones excesivamente grandes para mantener un grado adecuado de diversidad

Otra alternativa fue modificar los modelos poblacionales encontrando en este grupo los esquemas basados en islas los celulares o maacutes recientemente los basados en agrupaciones o cluacutesteres La idea de introducir restricciones en el emparejamiento principalmente con base en la ubicacioacuten de los individuos en el espacio de buacutesqueda tambieacuten ha sido bastante exitosa aunque controlar los mismos para obtener el balanceo apropiado ante diferentes criterios de parada es

bastante complejo En algunos casos resultoacute ser maacutes prometedor promover el emparejamiento entre individuos no similares mientras que en otros escenarios se hace exactamente lo opuesto Otro problema comuacuten de muchas de las estrategias anteriores es que suelen introducir paraacutemetros adicionales por lo que el proceso de ajuste de paraacutemetros que ya de por siacute es un problema importante en los eas se vuelve auacuten maacutes complejo Es importante resaltar que todas estas estrategias claacutesicas no evitan por completo la convergencia sino que la idea es disponer de mecanismos para acelerarla o retrasarla

Otra alternativa diferente ha sido adaptar la fase de variacioacuten En este sentido se han desarrollado diversas teacutecnicas para controlar los paraacutemetros que se consideran en la variacioacuten con el propoacutesito de adaptar el balanceo entre exploracioacuten e intensificacioacuten En algunos casos esto se consigue usando distintos valores en los paraacutemetros para distintas etapas a lo largo del proceso de optimizacioacuten mientras que en otros casos se hacen cambios maacutes draacutesticos y se consideran varios operadores con distintas propiedades Tambieacuten existen mecanismos adaptativos que usan una memoria para almacenar informacioacuten histoacuterica sobre los efectos de la variacioacuten y con base en ello ir modificaacutendola Cabe destacar que en la mayor parte de estos esquemas no se considera la diversidad de forma directa sino que soacutelo se considera para analizar el comportamiento y con base en ello se procede a un redisentildeo

Finalmente un esquema muy sencillo pero no por ello menos importante es el basado en reinicios En estos esquemas en lugar de evitar la convergencia acelerada se aplica un reinicio total o parcial de la poblacioacuten cada cierto nuacutemero de generaciones o cuando se detecta que la poblacioacuten ha convergido Con base en esto se han propuesto diversas estrategias para establecer los puntos de reinicio Estos esquemas se implementan de forma muy sencilla y en algunos casos han proporcionado mejoras significativas por lo que es un meacutetodo a tener en cuenta al menos como alternativa inicial Es comuacuten combinar las estrategias basadas en reinicio con algunas de las teacutecnicas anteriores ya que dichas teacutecnicas estaacuten basadas en mantener la diversidad mientras que en esta uacuteltima el objetivo es recuperar la diversidad

Esquemas de reemplazamiento basados en diversidad Recientemente se han propuesto diversos mecanismos que modifican la fase de reemplazo para preservar la diversidad La idea principal de estos esquemas es inducir un grado de exploracioacuten adecuado diversificando a los individuos sobrevivientes de forma que los operadores de reproduccioacuten puedan generar nuevas soluciones en diferentes regiones en las siguientes generaciones Estos meacutetodos estaacuten basados en el principio de que los operadores de cruza tienen un efecto de exploracioacuten al considerar individuos distantes y de intensificacioacuten al considerar individuos proacuteximos

El esquema de pre-seleccioacuten propuesto por Cavicchio es uno de los primeros estudios que utilizan la fase de reemplazamiento para controlar la diversidad El esquema inicial de Cavicchio se extendioacute para generar el esquema denominado amontonamiento o crowding el cual ha sido muy popular en los uacuteltimos antildeos El principio del crowding se basa en que los nuevos individuos que entren en la poblacioacuten sustituyan a individuos similares de generaciones anteriores y con base en este principio se han formulado diversas implementaciones

En esta misma liacutenea se han propuesto otras estrategias de reemplazo con el propoacutesito de promover la diversidad Uno de los procedimientos maacutes populares es la Estrategia de Limpieza (Clearing Strategy - clr) En el procedimiento clr se agrupan a los individuos en grupos denominados nichos y los mejores individuos de cada nicho son preservados e incluidos en la poblacioacuten de la siguiente generacioacuten Un inconveniente de este procedimiento es que los casos en que se detectan muchos nichos provocan una fuerte inmovilizacioacuten de la poblacioacuten Por ello Petrowski propuso una variante para uacutenicamente seleccionar a individuos cuya aptitud sea mejor que la media de la poblacioacuten

Otros meacutetodos de este grupo consideran funciones de aptitud que combinan la funcioacuten objetivo original con la diversidad Sin embargo es complejo construir una funcioacuten compuesta ya que las dos mediciones podriacutean no ser directamente compatibles y por lo tanto las funciones adecuadas suelen depender de cada problema Una forma de suavizar este inconveniente fue propuesto en el algoritmo de combinacioacuten (COMB) donde los individuos son ordenados y categorizados con base en su aptitud y contribucioacuten a la diversidad y la funcioacuten compuesta se disentildea con base en el orden y no con base en los valores de funcioacuten objetivo y contribucioacuten a diversidad La principal desventaja del COMB es que requiere dos paraacutemetros de usuario aunque independientemente de esto se ha usado con bastante eacutexito Otra alternativa es el procedimiento Reemplazamiento Basado en Contribucioacuten a la Diversidad y Sustitucioacuten del Peor (Contribution of DiversityReplace Worst - CDRW) En el meacutetodo CDRW un nuevo individuo reemplaza a un miembro de la poblacioacuten cuyo rendimiento sea peor tanto en aptitud como en contribucioacuten a la diversidad En caso de no encontrar un peor individuo bajo estos dos criterios se procede a reemplazar al peor individuo en la poblacioacuten considerando uacutenicamente a la aptitud Una uacuteltima alternativa se basa en considerar a la contribucioacuten a la diversidad como un objetivo adicional y aplicar un esquema de optimizacioacuten multi-objetivo Estos enfoques son identificados como algoritmos multi-objetivo basados en diversidad Existen varias estrategias para calcular el objetivo auxiliar Uno de los enfoques maacutes populares consiste en calcular la contribucioacuten a la diversidad de cada individuo con base en la Distancia al Vecino maacutes Cercano (Distance to the Closest Neighbor - DCN) de entre los individuos que ya hayan sido seleccionados como supervivientes

Diversidad en evolucioacuten diferencial Los algoritmos basados en de son altamente susceptibles a la peacuterdida de diversidad debido a que se basan en una estrategia de seleccioacuten muy elitista Debido a ello se han desarrollado varios anaacutelisis para lidiar con este problema Dado que en el aacuterea se conoce al menos de manera general las implicaciones que tiene cada paraacutemetro sobre la diversidad algunos autores han trabajado en estimar de forma teoacuterica cuaacuteles deben ser los paraacutemetros adecuados para que se produzca cierto tipo de comportamiento Otros autores han estudiado el efecto que tiene la norma de los vectores de diferencia sobre la mutacioacuten y con base en ello se han propuesto mecanismos que prohiacuteben ciertos movimientos que pueden resultar perjudiciales para la diversidad En este uacuteltimo estudio el tipo de movimientos aceptados variacutea a lo largo de la ejecucioacuten descartando a los movimientos cuyos desplazamientos sean menores a un umbral el cual es decrementado conforme transcurren las generaciones Ademaacutes se han propuesto otras formas para establecer los movimientos aceptados

Una alternativa distinta se basa en alterar el operador de seleccioacuten Especiacuteficamente con el propoacutesito de mantener mayor diversidad en la poblacioacuten se altera la presioacuten de seleccioacuten utilizando una seleccioacuten probabiliacutestica que permite escapar en algunos casos de las bases de atraccioacuten de oacuteptimos locales Sin embargo este meacutetodo no es demasiado robusto debido a que considera la aptitud para definir las probabilidades para seleccionar a un individuo por lo que ciertas transformaciones de la funcioacuten pueden modificar de forma draacutestica el tipo de buacutesqueda que se realiza

Finalmente la variante de con Diversidad de la Poblacioacuten Auto-Mejorado (Auto-Enhanced Population Diversity - AEPD) mide la diversidad de forma expliacutecita y cuando se detecta la existencia de un nivel bajo de diversidad en la poblacioacuten se lanza un mecanismo de diversificacioacuten Esta propuesta se ha extendido para considerar diferentes esquemas de perturbacioacuten

Es interesante hacer notar que las variantes de de que alcanzaron los primeros lugares en varias competencias de optimizacioacuten durante los uacuteltimos antildeos no consideran estas modificaciones y ademaacutes estas variantes no han sido incorporadas en las herramientas de optimizacioacuten maacutes populares Esto puede deberse a que muchos de los concursos estaacuten orientados a obtener resultados en un nuacutemero de evaluaciones bastante limitado en lugar de a largo plazo que es el aacutembito en el que maacutes beneficios suelen dar los mecanismos de control de diversidad

Disentildeo de evolucioacuten diferencial basado en diversidad

Evolucioacuten diferencial Conceptos baacutesicos Esta seccioacuten estaacute dedicada a revisar la variante claacutesica de de y a introducir varios teacuterminos importantes que son utilizados en el campo de de El esquema claacutesico de de es identificado como derand1bin y ha sido ampliamente usado como base para el desarrollo de variantes maacutes complejas De hecho la propuesta que se presenta en este capiacutetulo como ejemplo extiende al derand1bin de fue propuesto como un meacutetodo de buacutesqueda directa para optimizacioacuten continua mono-objetivo y es el aacutembito en que se usaraacute en este capiacutetulo es decir se considera la Ecuacioacuten ([eqnModel_general]) fijando

de es un algoritmo estocaacutestico basado en poblacioacuten por lo que en cada instante maneja un conjunto de soluciones candidatas que van evolucionando de forma iterativa En de dichas soluciones candidatas son usualmente conocidas como vectores En la variante baacutesica de de para cada miembro de la poblacioacuten (conocidos como vectores objetivo) se genera un nuevo vector que es conocido como el vector mutado A continuacioacuten el vector mutado se combina con el vector objetivo para generar al vector de prueba y finalmente se procede con la fase de seleccioacuten para elegir a los vectores sobrevivientes De esta forma las generaciones transcurren de forma iterativa hasta cumplir el criterio de paro En esta capiacutetulo el -eacutesimo vector de la poblacioacuten en la generacioacuten se denota como A continuacioacuten se explica en maacutes detalle cada componente de de

Inicializacioacuten

Usualmente de inicia el proceso de optimizacioacuten con una poblacioacuten de vectores que son creados de forma aleatoria Habitualmente los vectores de la poblacioacuten inicial son generados con base en una distribucioacuten uniforme ya que usualmente no se posee informacioacuten sobre cuaacuteles son las zonas maacutes promisorias del espacio de buacutesqueda Por lo tanto el -eacutesimo componente del -eacutesimo vector es inicializado de la forma donde es un nuacutemero aleatorio uniformemente distribuido entre y

Operador de mutacioacuten

Por cada vector objetivo se genera un vector mutado para lo cual se han propuesto muacuteltiples estrategias con la particularidad de que en cierta forma se usen las diferencias entre vectores La variante claacutesica de de aplica la estrategia conocida como rand1 en la cual se crea un vector mutado de la siguiente forma

M = 1

iG

rarrX iG = [x1iG x2iG xDiG]

NP

j ixji0 = x(L)

j + randi j[0 1](x(U )j minus x(L)

j )randi j[0 1] 0 1

ViG

En la Ecuacioacuten ([eqnmutation]) los iacutendices deben ser enteros distintos y son generados de forma aleatoria en el rango Ademaacutes estos iacutendices son distintos al iacutendice Es importante hacer notar que la diferencia entre los vectores es escalada por medio del paraacutemetro el cual usualmente se define en el intervalo Posteriormente el vector de diferencia (escalado) es agregado a un tercer vector lo que significa que los vectores mutados son similares a los vectores objetivo si el grado de diversidad es bajo ya que los vectores de diferencias tienen norma pequentildea Como consecuencia de esto es claro que es criacutetico mantener un grado miacutenimo de diversidad en de

Operador de cruza

El operador de cruza se aplica con el objetivo de combinar la informacioacuten de distintas soluciones candidatas y de incrementar la diversidad de los vectores Especiacuteficamente cada vector objetivo se mezcla con su correspondiente vector mutado para generar un vector de prueba La estrategia de cruza maacutes tiacutepica es conocida como cruza binomial y actuacutea de la siguiente forma

En la Ecuacioacuten ([eqncrossover]) es un nuacutemero uniformemente distribuido es

un iacutendice seleccionado aleatoriamente que asegura que genera al menos un componente de y es la proporcioacuten de cruza

Operador de seleccioacuten

Finalmente se aplica una seleccioacuten elitista para determinar los vectores sobrevivientes que participaraacuten en la siguiente generacioacuten Especiacuteficamente cada vector de prueba se compara con su correspondiente vector objetivo y sobrevive el que tiene la mejor aptitud

Debido a la forma de seleccionar a los sobrevivientes en cada generacioacuten los miembros de la poblacioacuten permanecen iguales o mejoran Por ello se considera que de hace uso de una seleccioacuten

rarrV iG =

rarrX r1G + F times (

rarrX r2G minus

rarrX r3G) r1 ne r 2 ne r3

r1 r 2 r3 isin [1 NP ][1 NP ]

iF [04 1]

rarrX iG

rarrViGrarr

UiG = [u1iG u2iG uDiG]

rarrUjiG =

rarrV jiG si (randi j[0 1] le CR o j = jrand)rarrX jiG de otra forma

randi j[0 1] jrandrarrUiGrarr

V iG CR isin [0 1]

rarrX jiG+1 =

rarrUiG si f (

rarrUiG) le f (

rarrX iG)

rarrX iG de otra forma

muy elitista y es una de las razones por la que en ciertos casos puede sufrir de una convergencia demasiado acelerada

Propuesta basada en diversidad El meacutetodo que se presenta en esta seccioacuten estaacute motivado principalmente por dos trabajos El primero de ellos es un estudio empiacuterico desarrollado por Montgomery et al que confirma que de sufre de convergencia prematura en varios problemas El segundo es un trabajo propuesto por Segura et al que proporciona mejoras significativas en el campo de optimizacioacuten combinatoria utilizando para ello una fase de reemplazo conocida como Reemplazo con Control de Diversidad Dinaacutemica Basada en Varios Objetivos (Replacement with Multi-objective based Dynamic Diversity Control - rmddc) Particularmente el rmddc controla el grado de diversidad relacionaacutendolo con el criterio de paro y generaciones transcurridas Con base en las conclusiones de cada uno de los trabajos en esta seccioacuten se ilustra una propuesta que es una variante novedosa de de que incluye un mecanismo de reemplazo que sigue los mismos principios que guiaron el disentildeo de rmddc Este nuevo algoritmo recibe el nombre de Evolucioacuten Diferencial con Mantenimiento Mejorado de Diversidad (Differential Evolution with Enhanced Diversity Maintenance - de-edm) y su coacutedigo fuente estaacute disponible 5

de-edm (ver Algoritmo [algDEEDM]) es bastante similar a la versioacuten claacutesica de de de hecho la forma en que se crean los vectores de prueba (liacuteneas 5 y 6) se mantiene intacta La novedad del de-edm es que incorpora una poblacioacuten eacutelite ( ) y una estrategia de reemplazo basada en diversidad Especiacuteficamente con el propoacutesito de seleccionar a los miembros de la poblacioacuten eacutelite se considera el operador de seleccioacuten elitista de la versioacuten claacutesica de de (liacutenea 7) Posteriormente se aplica la estrategia de reemplazo (liacutenea 8) para determinar a los sobrevivientes Siguiendo la misma filosofiacutea que en el rmddc los individuos que contribuyen muy poco a la diversidad no deberiacutean ser aceptados como miembros de la siguiente generacioacuten Para conseguir este propoacutesito se considera tanto el criterio de paro como las generaciones transcurridas en la seleccioacuten Asiacute se estableceraacute un grado de diversidad miacutenimo deseado dependiente del tiempo de ejecucioacuten

Inicializar de forma aleatoria a la poblacioacuten con individuos donde cada uno es distribuido de forma uniforme Mutacioacuten Generar al vector mutado ( ) de acuerdo a la Ecuacioacuten ([eqnmutation]) Cruza Utilizar la recombinacioacuten para generar al vector de prueba ( ) de acuerdo a la Ecuacioacuten ([eqncrossover]) Seleccioacuten Actualizar al vector eacutelite ( en lugar de

E

NPG = 0 ViG

UiGEiG

El coacutedigo en C++ puede ser descargado en la siguiente direccioacuten httpsgithubcom5

joelchaconcastilloDiversity_DE_Researchgit

) de acuerdo a la Ecuacioacuten ([eqnselection]) Reemplazo Seleccionar a los vectores objetivo ( ) de acuerdo al Algoritmo [algReplacement]

[algDEEDM]

La estrategia de reemplazo (ver Algoritmo [algReplacement]) funciona de la siguiente forma Inicialmente recibe a la poblacioacuten padre (vectores objetivo) a la poblacioacuten de hijos (vectores de prueba) y a los vectores eacutelite De entre todos ellos debe seleccionar a vectores para formar la siguiente poblacioacuten de padres En primer lugar con base en el nuacutemero de evaluaciones de funcioacuten transcurridas y el criterio de parada se calcula una distancia miacutenima deseada ( ) para mantener en la poblacioacuten (liacutenea 2) A continuacioacuten se juntan las tres poblaciones en un conjunto de miembros candidatos (liacutenea 3) que contiene en cada momento a los vectores candidatos que podriacutean ser seleccionados para sobrevivir Posteriormente se inicializa tanto el conjunto de individuos sobrevivientes como los penalizados con el conjunto vaciacuteo (liacutenea 4) Para seleccionar a los sobrevivientes se repite el proceso iterativo (liacuteneas 5 - 13) que se describe a continuacioacuten En cada iteracioacuten se comienza seleccionando como sobreviviente al mejor individuo del Conjunto de Candidatos es decir al individuo que tiene la mejor aptitud Este individuo se mueve al Conjunto de Sobrevivientes y los individuos del Conjunto de Candidatos cuya distancia al individuo seleccionado sea menor que se transfieren al Conjunto de Penalizados (liacutenea 9) La forma de calcular la distancia entre dos individuos es con base en la distancia Euclidiana normalizada descrita en la Ecuacioacuten ([eqndistance]) donde es la dimensioacuten del problema y son los liacutemites menores y mayores de la dimensioacuten En los casos donde el conjunto de Candidatos queda vaciacuteo antes de seleccionar a individuos el Conjunto de Sobrevivientes se llena seleccionando en cada iteracioacuten al individuo con la mayor distancia al individuo maacutes cercano del Conjunto de Sobrevivientes (liacuteneas 10 - 13)

Entrada Poblacioacuten (Vectores Objetivo) Hijos (Vectores de prueba) y Elite Actualizar Candidatos = Poblacioacuten Hijos Elite Sobrevivientes Penalizados Seleccionados = Seleccionar al mejor individuo de Candidatos Eliminar Seleccionado de Candidatos Copiar Seleccionado a Sobrevivientes Encontrar a los individuos de Candidatos cuya distancia a Seleccionados sea menor que y moverlos a Penalizados En esta parte se considera la distancia normalizada (Ecuacioacuten

XiGXG+1 G = G + 1

NP

Dt

NP

Dt

Dx(L)

d x(U )d d

NPPenalizado

distancia(xi xj) =

sumDd=1 (

x di minus xd

j

x(U )d minus x(L)

d )2

D

Dt = DI minus DI(n fes (095ma x_n fes)) cup cup= = empty

Dt

[eqndistance]) Seleccionado = Seleccionar al individuo de Penalizados con la mayor distancia al individuo maacutes cercano a Sobrevivientes Eliminar Seleccionado de Penalizados Copiar Seleccionado a Sobrevivientes

Con el propoacutesito de completar la descripcioacuten de de-edm se especifica la forma en que se calcula y el procedimiento con el cual se actualizan a los individuos eacutelite El resto del algoritmo se mantiene igual que la variante claacutesica de de El valor de se utiliza para alterar el grado entre exploracioacuten e intensificacioacuten por lo tanto el valor adecuado para este paraacutemetro depende del instante de ejecucioacuten Especiacuteficamente este valor deberiacutea ser reducido conforme se alcanza el criterio de paro con el objetivo de promover mayor intensificacioacuten en las uacuteltimas etapas de optimizacioacuten En nuestro esquema se requiere asignar un valor inicial para ( ) y a continuacioacuten de manera similar a como se hace en se realiza una reduccioacuten lineal de considerando las evaluaciones transcurridas y el criterio de paro Particularmente en este trabajo el criterio de paro se asigna con base en las evaluaciones a funcioacuten y la reduccioacuten se calcula de tal forma que al del nuacutemero maacuteximo de evaluaciones el valor de diversidad miacutenimo requerido es cero lo que quiere decir que en la uacuteltima fase la diversidad no es considerada para nada Entonces denotando al nuacutemero maacuteximo de evaluaciones y al nuacutemero de e v a l u a c i o n e s t r a s c u r r i d a s e s c a l c u l a d o d e l a s i g u i e n t e f o r m a

La distancia inicial ( ) afecta de forma considerable al rendimiento de de-edm Si este paraacutemetro es elevado el algoritmo maximiza la diversidad de la poblacioacuten en las primeras etapas de optimizacioacuten resultando en una exploracioacuten adecuada que es muy importante en varios tipos de problemas como los multi-modales y deceptivos Sin embargo un valor demasiado elevado de podriacutea inducir un grado excesivo de exploracioacuten y en consecuencia la intensificacioacuten podriacutea fallar Por otra parte un valor muy pequentildeo de provocariacutea muy poca exploracioacuten y por lo tanto seriacutea maacutes difiacutecil evitar oacuteptimos locales El valor oacuteptimo de podriacutea variar dependiendo del tipo de problema y el criterio de paro Sin embargo en esta primera versioacuten no se adapta el valor de para cada problema En su lugar se realizoacute un anaacutelisis previo para determinar un valor adecuado usaacutendose el valor en todos los problemas

Al igual que en la versioacuten estaacutendar de de en de-edm es necesario asignar una probabilidad de cruza ( ) y un factor de mutacioacuten ( ) De acuerdo a varios estudios desarrollados por Montgomery y otros la probabilidad de cruza tiene un efecto muy importante Estos autores mostraron de forma empiacuterica que los valores extremos de resultan en comportamientos muy distintos entre siacute pero de gran utilidad Asiacute los valores pequentildeos de resultan en una buacutesqueda alineada a un nuacutemero reducido de ejes e induce pequentildeos desplazamientos Esto provoca una mejora gradual con convergencia lenta que en algunos escenarios podriacutea resultar

Sobrevivientes

DtDt

Dt DIDt

95

ma x_n fes n fesDt

Dt = DI minus DI(n fes (095ma x_n fes))

DI

DIDI

DI

DIDI = 03

CR F

CRCR

beneficioso Por otra parte los valores elevados de en general proporcionan soluciones de mayor calidad con una menor probabilidad ya que se tiende a realizar desplazamientos largos Sin embargo cuando son exitosos puedan mejorar la aptitud de forma significativa y permiten explorar zonas distantes Con base en esto en nuestra propuesta se emplean los dos mecanismos es decir valores elevados y pequentildeos de tal y como se muestra en la Ecuacioacuten ([eqncr])

Por otro lado siguiendo los principios de distintas variantes del SHADE se consideran las evaluaciones transcurridas para generar el factor de mutacioacuten aplicado Particularmente cada valor se muestrea de una distribucioacuten Cauchy (Ecuacioacuten [eqncauchy])

El efecto de esta distribucioacuten es que en las primeras etapas de optimizacioacuten se generen valores de cercanos a Posteriormente conforme la ejecucioacuten transcurre la funcioacuten de densidad sufre una transformacioacuten gradual ya que la varianza se incrementa Esto implica que se generen valores fuera del intervalo con una probabilidad maacutes alta En los casos en que los valores son mayores a se utiliza el valor mientras que si se genera un valor negativo se vuelve a muestrear el valor Uno de los efectos de este enfoque es el de incrementar la probabilidad de generar valores elevados de conforme transcurren las generaciones lo que ayuda a evitar la convergencia acelerada en las uacuteltimas etapas de optimizacioacuten

Resultados de de-edm En esta seccioacuten se presenta la validacioacuten experimental de de-edm Especiacuteficamente se muestra que se pueden mejorar los resultados de los algoritmos del estado-del-arte controlando de forma expliacutecita la diversidad Particularmente se consideraron los conjuntos de prueba de los concursos de optimizacioacuten continua organizados en el cec 2016 y cec 2017 Cada uno estaacute compuesto de treinta problemas distintos En la comparativa incluimos a los algoritmos que obtuvieron los primeros lugares en cada antildeo asiacute como una versioacuten de de que usa la misma parametrizacioacuten que de-edm pero que no incluye la poblacioacuten eacutelite ni el reemplazamiento basado en diversidad Los algoritmos considerados del cec 2016 son el UMOEAs-II y L-SHADE-EpSin que alcanzaron el primero y el segundo lugar respectivamente mientras que del cec 2017 se consideran el EBOwithCMAR y el jSO Todos estos algoritmos fueron probados con los dos conjuntos de prueba como se sugiere en Debido a que todos los algoritmos son estocaacutesticos se realizaron 51 ejecuciones con distintas semillas y en cada caso el criterio de paro fue asignado a de evaluaciones de la funcioacuten objetivo Ademaacutes se consideraron diez variables en cada funcioacuten

CR

CR

CR = Nor mal(02 01) si rand[0 1] le 05Nor mal(09 01) de otra forma

FF

Cauchy(05 05n fes ma x_n fes)

F 05

[00 10]10 10

F

25 000 000

( ) La evaluacioacuten de los algoritmos se realizoacute siguiendo los lineamientos de las competencias del cec de forma que se asignoacute un error igual a si la diferencia entre la mejor solucioacuten encontrada y la solucioacuten oacuteptima era menor que Para cada algoritmo se utilizoacute la parametrizacioacuten indicada por sus autores y que se describe a continuacioacuten

bull EBOwithCMAR Para la parte EBO el tamantildeo maacuteximo de la poblacioacuten de el tamantildeo miacutenimo de la poblacioacuten de el tamantildeo maacuteximo de la poblacioacuten de el tamantildeo miacutenimo de la poblacioacuten de el tamantildeo de la memoria histoacuterica H= Para la parte de CMAR el tamantildeo de la poblacioacuten CS = la probabilidad de buacutesqueda local y

bull UMOEAs-II Para la parte de MODE el tamantildeo maacuteximo de la poblacioacuten de el tamantildeo miacutenimo de la poblacioacuten de el tamantildeo de la memoria histoacuterica H= Para la

parte del CMA-ES el tamantildeo de la poblacioacuten CS =

Para la buacutesqueda local

bull jSO El tamantildeo maacuteximo de la poblacioacuten = el tamantildeo de la memoria histoacuterica H= valor de mutacioacuten inicial de la memoria probabilidad inicial de la memoria tamantildeo miacutenimo de la poblacioacuten = valor inicial p-best = valor final p-best =

bull L-SHADE-EpSin Tamantildeo maacuteximo de la poblacioacuten = tamantildeo de la memoria histoacuterica H= valor de la mutacioacuten inicial de la memoria probabilidad inicial de la memoria frecuencia inicial de la memoria tamantildeo miacutenimo de la poblacioacuten = valor inicial p-best = valor final p-best = generaciones de la buacutesqueda local

bull DE-EDM tamantildeo de la poblacioacuten =

bull Standard-DE Tamantildeo de la poblacioacuten = (mismos operadores que en de-edm)

Nuestro anaacutelisis experimental se realizoacute teniendo en cuenta la diferencia entre la solucioacuten oacuteptima y la mejor solucioacuten obtenida y para comparar los resultados estadiacutesticamente se siguioacute un procedimiento similar que el propuesto en Concretamente en primer lugar se utilizoacute la prueba Shapiro-Wilk para comprobar si los resultados se ajustaban a una distribucioacuten Gaussiana En los casos en que siacute se ajustaban se utilizoacute la prueba de Levene para comprobar la homogeneidad de las varianzas procediendo con la prueba de ANOVA en caso positivo o con la prueba de Welch en caso negativo Por otro lado para los casos que no se ajustaban a distribuciones Guassianas

D = 100

10minus8

S1 = 18DS1 = 4

S2 = (1468)D S2 = 106 S3 = 4 + 3log(D)

σ = 03 50 pl = 01 cfels = 04FEmax

S1 = 18DS1 = 4 6

S2 = 4 + lfloor3log(D)rfloor μ =PS2

σ = 03

50 cfels = 02FEmax

25log(D) D5 MF = 05

MCR = 08 4 025N2

25log(D) D5 MF = 05

MCR = 05 μF = 054 025N 2

GLS = 250

DI = 03 250

250

se utilizoacute la prueba de Kruskal-Wallis En todos los casos se fijoacute el nivel de confianza al 95 Se considera que un algoritmo es superior a un algoritmo si el procedimiento anterior reporta diferencias significativas y si la media y mediana del error obtenido por el meacutetodo son inferiores a las obtenidas por el meacutetodo

En las tablas [tabSummary_CEC2016] y [tabSummary_CEC2017] se presenta un resumen de los resultados obtenidos para el cec 2016 y el cec 2017 respectivamente La columna etiquetada con ldquoSiempre Resueltordquo muestra el nuacutemero de funciones en que se obtuvo un error de cero en las 51 ejecuciones La columna etiquetada con ldquoAl menos una vez resueltordquo muestra el nuacutemero de funciones que se resolvieron en al menos una ejecucioacuten Praacutecticamente todas las funciones del cec 2017 (28 de ellas) fueron resueltas al menos una vez por nuestra propuesta Ademaacutes se resolvieron 21 funciones del cec 2016 al menos una vez Esto representa una diferencia sustancial con los resultados obtenidos por el resto de algoritmos pues todos ellos resolvieron muchas menos funciones Con el objetivo de confirmar la superioridad del de-edm se ejecutaron las pruebas estadiacutesticas por pares La columna etiquetada con el siacutembolo muestra el nuacutemero de veces en que cada meacutetodo fue superior mientras que la columna etiquetada con cuenta el nuacutemero de casos donde el meacutetodo fue inferior Finalmente la columna etiquetada con muestra el nuacutemero de comparaciones en las que las diferencias no fueron significativas Las pruebas estadiacutesticas indican que el de-edm alcanzoacute los mejores resultados en los dos antildeos De hecho el nuacutemero de comparaciones en que nuestra propuesta ganoacute en el cec 2016 y el cec 2017 fue de y respectivamente y soacutelo perdioacute en y respectivamente que son valores muy superiores a los del resto de algoritmos La uacuteltima columna etiquetada con ldquoPuntajerdquo muestra la puntuacioacuten siguiendo los lineamientos propuestos en las competencias del cec Particularmente este meacutetodo de evaluacioacuten combina dos puntajes como se indica en la Ecuacioacuten ([eqntotal_scores]) definiendo el puntaje final como

Especiacuteficamente es la sumatoria de errores del -eacutesimo algoritmo ( )

ademaacutes es el error promedio en la -eacutesima funcioacuten es la miacutenima sumatoria de errores entre todos los algoritmos Por su parte es la sumatoria del rango de cada funcioacuten en

el -eacutesimo algoritmo ( ) Ademaacutes es la sumatoria miacutenima de los rangos

X YX

Y

harr

7788 25 6

Score = Score1 + Score2

Score1 = (1 minusSEi minus SEmin

SEi ) times 50

Score2 = (1 minusSRi minus SRmin

SRi ) times 50

SEi i SEi =30

sumj=1

error_ f j

error_ f j j SEmin

SRi

i SRi =30

sumj=1

rangoj SRmin

entre todos los algoritmos Nuestra propuesta alcanzoacute el mejor puntaje de en los dos antildeos demostrando su superioridad Adicionalmente es destacable que la versioacuten estaacutendar de de alcanzoacute resultados buenos de hecho obtuvo el tercer y el segundo lugar en los antildeos 2016 y 2017 respectivamente Esto muestra que el rendimiento de los algoritmos del estado-del-arte se deteriora al considerar ejecuciones a largo plazo pues esos algoritmos que fueron muy efectivos a corto plazo no lo son tanto a largo plazo La superioridad del de-edm es clara con base en todos los tipos de comparativas descritas

Ademaacutes con el fin de proporcionar resultados que puedan usar otros autores para realizar comparativas en las tablas [tabResults_CEC2016] y [tabResults_CEC2017] se reporta el mejor peor mediana media desviacioacuten estaacutendar y razoacuten de eacutexito para el cec 2016 y 2017 respectivamente En estas tablas se observa que nuestra propuesta resuelve todos los problemas uni-modales y que en la mayor parte de los problemas multi-modales se obtienen resultados muy aceptables con respecto a los reportados por otros meacutetodos Asiacute nuestra propuesta resolvioacute y mejoroacute significativamente varias funciones complejas que no fueron resueltas por ninguno de los algoritmos restantes

[tabResults_CEC2016]

10000

Resultados del de-edm con los problemas del cec 2016

Mejor Peor Mediana Media Sd Razoacuten de eacutexito

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 360E-02 400E-03 739E-03 115E-02 392E-01

200E-02 102E-01 590E-02 577E-02 493E-02 000E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 600E-02 000E+00 588E-03 190E-02 902E-01

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

100E-02 800E-02 500E-02 467E-02 260E-02 000E+00

100E-02 500E-02 300E-02 282E-02 213E-02 000E+00

000E+00 470E-01 220E-01 199E-01 155E-01 196E-02

400E-02 150E-01 800E-02 847E-02 496E-02 000E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 200E-02 100E-02 765E-03 632E-03 314E-01

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 300E-02 000E+00 373E-03 276E-02 765E-01

000E+00 100E+02 000E+00 255E+01 510E+01 745E-01

f17

f10

f3

f20

f13

f6

f23

f16

f9

f2

f19

f12

f5

f22

f15

f8

f1

f18

f11

f4

f21

f14

f7

[tabResults_CEC2017]

000E+00 690E-01 000E+00 261E-02 133E-01 961E-01

100E+02 100E+02 100E+02 100E+02 000E+00 000E+00

800E-02 100E+02 529E+01 520E+01 319E+01 000E+00

250E-01 910E-01 540E-01 560E-01 292E-01 000E+00

000E+00 357E+02 343E+02 276E+02 160E+02 196E-01

100E+02 100E+02 100E+02 100E+02 000E+00 000E+00

184E+02 184E+02 184E+02 184E+02 325E-02 000E+00

f26

f25

f24

f30

f29

f28

f27

Resultados del de-edm con los problemas del cec 2017

Mejor Peor Mediana Media Sd Razoacuten de eacutexito

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 120E-01 000E+00 165E-02 339E-02 745E-01

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 220E-01 000E+00 637E-02 176E-01 667E-01

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

f14

f11

f8

f5

f2

f13

f10

f7

f4

f1

f15

f12

f9

f6

f3

000E+00 210E-01 000E+00 247E-02 727E-02 882E-01

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 100E-02 000E+00 196E-03 447E-03 804E-01

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 300E+02 000E+00 349E+01

103E+02 882E-01

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 100E+02 000E+00 392E+00

200E+01 961E-01

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 387E+02 387E+02 205E+02

268E+02 196E-02

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

145E+02 226E+02 218E+02 199E+02

421E+01 000E+00

395E+02 395E+02 395E+02 395E+02

210E-01 000E+00

f23

f20

f17

f28

f25

f22

f19

f16

f30

f27

f24

f21

f18

f29

f26

Disentildeo de operadores de cruza basados en diversidad La segunda propuesta se aplica en el campo de optimizacioacuten multi-objetivo y estaacute basada en la extensioacuten del operador de cruza sbx En esta seccioacuten se introducen en primer lugar varios conceptos relacionados con los algoritmos evolutivos multi-objetivo para posteriormente describir algunas de las clasificaciones maacutes populares de operadores de cruza Finalmente se realiza un anaacutelisis del operador sbx y con base en el mismo se propone una variante dinaacutemica denominada Operador de Cruza Dinaacutemico basado en Simulacioacuten Binaria (Dynamic Simulated Binary Crossover - dsbx) el cual es validado experimentalmente

Algoritmos evolutivos multi-objetivo Los eas han sido utilizados frecuentemente para lidiar con problemas de optimizacioacuten multi-objetivo (Multi-objective Optimization Problems - MOPs) Particularmente un MOP de dominio continuo y que es basado en minimizacioacuten puede ser definido como se indica en la Ecuacioacuten ([eqnModel_general]) de la seccioacuten 1 fijando la a un valor mayor que uno Dadas dos soluciones domina a denotado por si y solo si y Una solucioacuten es conocida como solucioacuten oacuteptima de Pareto si no existe otra solucioacuten que domine a El conjunto de Pareto es el conjunto de todas las soluciones oacuteptimas de Pareto y el frente de Pareto estaacute formado por las imaacutegenes del conjunto de Pareto El propoacutesito de un Algoritmo Evolutivo Multi-Objetivo (Multi-objective Evolutionary Algorithm - MOEA) es esencialmente obtener un conjunto de soluciones bien distribuidas y cercanas a las soluciones del frente de Pareto

En los uacuteltimos antildeos se han disentildeado una gran cantidad de moeas siguiendo distintos principios A raiacutez de esto se han propuesto varias taxonomiacuteas y por ejemplo en base a sus principios de disentildeo se pueden clasificar en basados en la dominancia de Pareto indicadores yo descomposicioacuten Hay algoritmos muy competitivos de cada uno de los grupos por lo que en esta seccioacuten se consideraron moeas de todos los grupos para realizar la validacioacuten Particularmente la validacioacuten experimental se desarrolloacute incluyendo a los algoritmos Algoritmo Geneacutetico basado en Ordenacioacuten de los No-Dominados (Non-Dominated Sorting Genetic Algorithm - NSGA-II) el Algoritmo Evolutivo Multi-objetivo basado en descomposicioacuten (MOEA based on Decomposition - MOEAD) y el Algoritmo Evolutivo Multi-objetivo basado en la Meacutetrica-S (the -Metric Selection Evolutionary Multi-objective Optimization Algorithm - SMS-EMOA) Estos algoritmos son representativos de los basados en dominancia basados en descomposicioacuten y basados en indicadores respectivamente

Mrarrx rarry isin Ω rarrx rarry rarrx ≺ rarry

forallm isin 1 2 M fm(xi) le fm(yi) existm isin 1 2 M fm(xi) lt fm(yi)rarrx isin Ω

rarrx isin Ωrarrx

S

Funcioacuten de densidad del operador de cruza sbx con iacutendices de distribucioacuten y Las soluciones padre estaacuten ubicadas en y respectivamente

[figfig_sim]

[figSimulation_pv]

[figSimulations_Index_20]

2 52 5

Operadores de cruza Los operadores de cruza son utilizados para generar soluciones hijas utilizando la informacioacuten de las soluciones padre Asiacute estos operadores combinan las caracteriacutesticas de dos o maacutes soluciones padre con el propoacutesito de generar nuevas soluciones candidatas En base en que en la literatura existen diversos operadores de cruza se han propuesto varias taxonomiacuteas para clasificarlos Particularmente las taxonomiacuteas se basan en varias caracteriacutesticas tales como la ubicacioacuten relativa entre padres e hijos o el tipo de relaciones existentes entre las variables

Una clasificacioacuten popular hace distincioacuten entre operadores de cruza basados en las variables y basados en los vectores En los basados en las variables cada variable de las soluciones padre son combinadas para crear nuevos valores de forma independiente siendo ideales para lidiar con problemas separables Algunos operadores que pertenecen a esta categoriacutea son el Operador de Cruza por Mezcla (the Blend Crossover - blx) y el sbx Por otra parte los operadores de recombinacioacuten basados en vectores tienen en cuenta la relacioacuten que existe entre las variables por lo que la combinacioacuten no es independiente Asiacute este tipo de operadores pueden por ejemplo realizar combinaciones lineales de las soluciones involucradas Algunos operadores que pertenecen a esta categoriacutea son el Operador de Cruza Unimodal Normalmente Distribuido (Unimodal Normally Distributed Crossover - undx) y el Operador de Cruza Simplex (Simplex Crossover - spx)

Adicionalmente los operadores de cruza pueden ser clasificados como centrados en los padres y centrados en la media En los operadores centrados en los padres las soluciones hijas tienden a ser creadas alrededor de cada solucioacuten padre mientras que en los operadores centrados en la media se tiende a crear a las soluciones hijas alrededor de la media de los valores de las soluciones padres

El operador de cruza basado en simulacioacuten binaria - SBX

Entre los operadores de cruza el Operador de Cruza Basado en Simulacioacuten Binaria (Simulated Binary Crossover - sbx) es uno de los maacutes utilizados en dominios continuos y fue el que se decidioacute extender en nuestra propuesta por lo que esta seccioacuten se centra en este operador de cruza El operador sbx es clasificado como un operador centrado en los padres por lo que los valores asociados a los hijos ( y ) tienden a ser cercanos a los valores de los padres ( y ) Especiacuteficamente el proceso para generar los valores de las soluciones hijas se basa en utilizar una distribucioacuten de probabilidad Esta distribucioacuten controla el factor de dispersioacuten el cual es definido como la razoacuten entre la distancia de los valores de las soluciones hijas y la distancia entre los valores de las soluciones padre Esta funcioacuten de densidad se define con base en un iacutendice de distribucioacuten (es un paraacutemetro de control

c1 c2 p1 p2

β = |c1 minus c2 | | p1 minus p2 |

ηc

especificado por el usuario) el cual altera la capacidad de exploracioacuten Especiacuteficamente un iacutendice pequentildeo induce una probabilidad elevada de crear valores de las soluciones hijas distantes de los valores de las soluciones padre mientras que iacutendices elevados tienden a crear soluciones muy similares a las soluciones padre lo cual se ilustra en la figura [figfig_sim] La definicioacuten matemaacutetica de la distribucioacuten y la forma de generar los valores de las soluciones hijas pueden ser estudiados en Las ecuaciones iniciales fueron formuladas con base en un problema de optimizacioacuten sin liacutemites en las variables Sin embargo en muchos problemas cada variable estaacute limitada dentro de un liacutemite inferior y superior Para considerar los liacutemites del espacio de decisioacuten se propuso una modificacioacuten de la distribucioacuten de probabilidad que es la que se usa en este artiacuteculo Para el caso de nuestro meacutetodo no es demasiado importante conocer la foacutermula exacta sino el efecto del valor que se ha ilustrado previamente

[algSBX_Operator]

Entrada Soluciones padre ( ) Iacutendice de distribucioacuten ( ) Probabilidad de cruza ( ) Salida Soluciones hijo ( ) [alginherit_variable] Generar utilizando las distribuciones dadas en Generar utilizando las distribuciones dadas en Intercambiar con

Es importante aclarar que la primera versioacuten del sbx fue disentildeada con base en una sola variable Posteriormente los autores consideraron aplicarlo a problemas con muacuteltiples variables considerando una estrategia simple para escoger las variables que se van a cruzar Especiacuteficamente con base en los principios del operador de cruza uniforme cada variable es cruzada con una probabilidad igual a A pesar de su sencillez y de no tener en cuenta las posibles dependencias entre variables hoy en diacutea eacutesta es la forma maacutes comuacuten de aplicar el sbx

Implementacioacuten y anaacutelisis del operador sbx

En este apartado se discuten algunas de las principales caracteriacutesticas de la implementacioacuten maacutes utilizada del operador sbx para problemas con muacuteltiples variables Esencialmente se consideran tres componentes clave que podriacutean afectar al rendimiento de los moeas En primer lugar como ya se mencionoacute anteriormente cada variable es alterada con una probabilidad fija igual a Si este valor de probabilidad se incrementa entonces los hijos tienden a crearse a mayor distancia de los padres debido a que se modifican maacutes variables de forma simultaacutenea En los problemas separables en general interesa modificar soacutelo una variable mientras que en los no separables suele ser maacutes conveniente modificar varias variables a la vez En la figura [figSimulation_pv] se pueden observar las implicaciones de modificar esta probabilidad considerando un problema con dos variables Particularmente en la parte derecha se muestra que una probabilidad pequentildea provoca que algunos valores permanezcan intactos es decir hay una tendencia de generar

ηc

P1 P2 ηc PcC1 C2 C1d

C2d C1d C2dC1d = P1d C2d = P2d C1 = P1 C2 = P2

05

05

desplazamientos paralelos a los ejes lo cual suele ser ideal para problemas separables Por otra parte en la parte izquierda se muestra que utilizando una probabilidad elevada existe un comportamiento de buacutesqueda distinto donde la tendencia anterior desaparece lo cual podriacutea ser oportuno para problemas no separables Es importante destacar que existe una relacioacuten entre esta probabilidad y el iacutendice de distribucioacuten ya que estos dos factores tienen un efecto directo en la similitud que existe entre las soluciones padres e hijas

[figSimulation_Case_3]

El segundo aspecto importante es que despueacutes de generar los dos valores de las soluciones hijas estos valores son intercambiados con una probabilidad fija (usualmente es ) es decir el valor de la solucioacuten hija no siempre es heredado a partir de la solucioacuten padre maacutes cercana Esta es una caracteriacutestica no muy discutida sin embargo es un aspecto muy relevante que afecta al rendimiento del algoritmo En algunos contextos esta probabilidad se denomina ldquoProbabilidad de cruza uniforme por variablerdquo (Variable uniform crossover probability) o ldquoRecombinacioacuten Discretardquo (Discrete Recombination) Dado que en el aacutembito multi-objetivo se promueve maacutes diversidad en las variables de decisioacuten de forma impliacutecita estos intercambios podriacutean ser altamente disruptivos De hecho debido a esto no es totalmente claro que el sbx deba ser categorizado como un operador centrado en los padres Estos intercambios que existen entre los valores de las soluciones hijas tienen un efecto de realizar muacuteltiples ldquoreflexionesrdquo en el espacio de buacutesqueda Asiacute conforme se incrementa la dimensionalidad en el espacio de las variables el nuacutemero de regiones cubiertas crece de forma exponencial como se puede observar en los casos de dos y tres dimensiones en la figura [figSimulations_Index_20] Es importante notar que esta caracteriacutestica tiene un efecto relevante en la distancia entre las soluciones padre y las soluciones hijas

Finalmente se discute el iacutendice de distribucioacuten que es quizaacutes la caracteriacutestica maacutes conocida del operador sbx Un iacutendice de distribucioacuten pequentildeo provoca un grado de exploracioacuten elevado De hecho un iacutendice de distribucioacuten igual a uno tiene un efecto similar al Operador de Recombinacioacuten Difusa (Fuzzy Recombination Operator) En la figura [figSimulation_Case_3] se puede observar el efecto de aplicar distintos iacutendices de distribucioacuten Particularmente en la parte izquierda se considera un iacutendice de distribucioacuten pequentildeo mientras en la parte derecha se considera un iacutendice de distribucioacuten grande Se observa que este uacuteltimo genera soluciones candidatas similares a las soluciones padre

05c1 p1

En el Algoritmo [algSBX_Operator] se muestra la implementacioacuten del operador sbx Este pseudocoacutedigo estaacute basado en la implementacioacuten que estaacute integrada en el coacutedigo del NSGA-II propuesto por Deb et al la cual se considera como la variante maacutes popular En los paraacutemetros de entrada se requieren dos soluciones padre ( ) y eacuteste crea dos soluciones hijas ( ) El primero y el segundo componente mencionados previamente corresponden a las liacuteneas 5 y 9 respectivamente El caso claacutesico del operador sbx se configura con los paraacutemetros y Es importante hacer notar que la implementacioacuten claacutesica no considera la dimensionalidad de las variables o el criterio de paro como parte de sus paraacutemetros internos

Propuesta - dsbx Con base en el anaacutelisis anterior y con el propoacutesito de inducir un balanceo entre exploracioacuten e intensificacioacuten de forma dinaacutemica y que dependa del instante de ejecucioacuten se proponen las siguiente modificaciones En primer lugar se modifica la probabilidad de alterar una variable ( ) durante la ejecucioacuten La intencioacuten de esta modificacioacuten es estimular la capacidad de exploracioacuten considerando inicialmente una probabilidad elevada para alterar maacutes variables de forma simultaacutenea mientras que conforme la ejecucioacuten avanza se reduce esta probabilidad con el fin de reducir el nuacutemero de variables que se modifican y promover asiacute movimientos maacutes pequentildeos El valor de se cambia con base en un modelo lineal decreciente donde inicialmente se fija a y se decrementa de forma que a la mitad del total de generaciones alcanza el valor Este uacuteltimo valor es mantenido hasta el final de la ejecucioacuten es decir desde la mitad de la ejecucioacuten este paraacutemetro se fija al mismo valor que el de la implementacioacuten tradicional del sbx Para asignar el valor se utiliza la Ecuacioacuten ([eqnlinear]) donde corresponde a la generacioacuten actual y corresponde al nuacutemero total de generaciones

El segundo cambio estaacute relacionado con la probabilidad de aplicar reflexiones ( ) En este caso es actualizado de acuerdo a la Ecuacioacuten ([eqnlinear]) por lo tanto la probabilidad de aplicar una reflexioacuten se incrementa de a durante la ejecucioacuten Esta modificacioacuten se realiza con el propoacutesito de evitar el comportamiento disruptivo de intercambiar variables en las primeras generaciones ya que esto provocariacutea modificaciones muy draacutesticas De esta forma seriacutea maacutes sensato aplicar estas reflexiones una vez que los individuos convergen en cierto grado Noacutetese que se incrementa hasta el valor el cual es el valor utilizado en la implementacioacuten del sbx estaacutendar ya que no se quiere disponer de un comportamiento excesivamente disruptivo Sin embargo en el futuro seriacutea interesante realizar estudios con otros valores finales

P1 P2 C1 C2

δ1 = δ2 = 05ηc = 20

δ1

δ110

05

δ1 GTranscurridasGTotal

1 minus δ2δ2

00 05

05

δ1 = δ2 = ma x(05 10 minusGTranscurridas

GTotal )

Finalmente el iacutendice de distribucioacuten tambieacuten es modificado durante la ejecucioacuten En las primeras etapas se promueve un iacutendice de distribucioacuten pequentildeo con el propoacutesito de incrementar la capacidad de exploracioacuten del sbx Posteriormente se decrementa de forma lineal lo cual tiene el efecto de que la curva de distribucioacuten se cierre y por lo tanto se promueve un mayor grado de intensificacioacuten en las etapas finales El incremento lineal es llevado a cabo usando la Ecuacioacuten ([eqnindex_eta]) por lo tanto el iacutendice de distribucioacuten es alterado de a Es importante aclarar que ya se han considerado modificaciones similares al iacutendice de distribucioacuten aunque las otras propiedades que se modifican nunca han sido estudiadas en profundidad

Resultados Puntos de referencias para el indicador HV

[tabMetrics_2]

[tabMetrics_3]

[tabstatistical_Tests]

2 22

ηc = 2 + 20 times ( GTranscurridas

GTotal )

Instancias Punto de referencia

WFG1-WFG9

DTLZ 1 2 4

DTLZ 3 5 6

DTLZ7

UF 1-10

[11 11]

[2 2]

[21 2m + 01]

[11 11 2m]

[3 3]

HV-2obj 16 29 47 6 61 25 28 19 45 31 23 38 54 3 35

HV-3obj 15 19 42 12 50 14 17 15 44 33 10 33 26 9 41

IGD-2obj 14 30 48 4 60 28 25 17 50 33 19 40 52 2 38

harr harrharr harrharr

En este apartado se analizan los resultados obtenidos con las variantes dinaacutemicas del sbx (dsbx) El nuevo operador de cruza se integroacute en los algoritmos NSGA-II MOEAD y SMS-EMOA En primer lugar se analiza cada una de las tres modificaciones propuestas de forma aislada Posteriormente se construye un caso donde se consideran las dos modificaciones que ofrecieron mejores resultados de forma simultaacutenea Como parte de la validacioacuten experimental se consideran los problemas de prueba WFG DTLZ y UF Ademaacutes con el propoacutesito de comparar nuestra extensioacuten del sbx con otros operadores se incluye la variante de evolucioacuten diferencial conocida como demo

Para llevar a cabo el anaacutelisis experimental y dado que todos los algoritmos son estocaacutesticos cada caso fue ejecutado veces con distintas semillas La configuracioacuten global que se aplicoacute a todos los algoritmos fue la siguiente Se asignoacute el criterio de paro a generaciones el tamantildeo de la poblacioacuten a se configuraron los problemas de prueba wfg con dos y tres objetivos considerando 24 variables donde variables son paraacutemetros de distancia y son

IGD-3obj 14 18 44 13 44 19 18 15 43 33 15 28 23 9 44

HV-2obj 15 33 44 10 60 22 25 26 41 39 18 35 57 9 26

HV-3obj 10 22 44 12 39 25 11 19 46 24 10 42 38 5 33

IGD-2obj 16 31 45 9 60 23 23 27 42 37 17 38 57 7 28

IGD-3obj 12 22 42 13 43 20 13 24 39 30 9 37 40 10 26

HV-2obj 9 35 48 7 43 42 16 31 45 41 9 42 53 8 31

HV-3obj 7 21 48 9 35 32 13 21 42 27 6 43 31 4 41

IGD-2obj 10 34 48 15 48 29 12 33 47 41 12 39 55 6 31

IGD-3obj 8 20 48 13 30 33 9 19 48 22 5 49 27 5 44

harr

harr

harr

harr

harr

harr

harr

harr

harr

harr

3525 000

10020 4

paraacutemetros de posicioacuten Como es sugerido en se consideroacute variables de decisioacuten en los problemas de prueba dtlz donde para los problemas DTLZ1 DTLZ2 - DTLZ6 y DTLZ7 se consideraron respectivamente En el caso de los problemas de prueba uf se utilizaron variables de decisioacuten Finalmente se hizo uso del operador de mutacioacuten polinomial con una probabilidad de mutacioacuten de y con un iacutendice de distribucioacuten igual a mientras que el operador de cruza sbx se utilizoacute con una probabilidad de cruza igual a y un iacutendice de distribucioacuten de

A continuacioacuten se especifica la parametrizacioacuten adicional propia de cada algoritmo

bull DEMO CR = 03 y F = 05

bull SMS-EMOA desplazamiento para calcular el HV = 100

bull MOEAD tamantildeo de la vecindad = 10 el nuacutemero de actualizaciones por subproblema ( ) = 2 y

Para comparar los frentes obtenidos por cada meacutetodo se utiliza el hipervolumen normalizado (HV) que se debe maximizar y la Distancia Generacional Invertida Modificada (Inverted Generational Distance Plus - IGD+) que se debe minimizar En la tabla [tabReferencePoints] se presentan los puntos de referencia utilizados para el indicador del hipervolumen los cuales son similares a los utilizados en Por otra parte para comparar los resultados estadiacutesticamente (valores del IGD+ y HV) se siguioacute un procedimiento similar al que se propuso en siendo el mismo que se aplicoacute para validar la primera propuesta

Anaacutelisis de cada modificacioacuten en el operador sbx En este apartado se analiza el efecto que cada modificacioacuten propuesta tiene de forma independiente sobre los resultados obtenidos Para ello basados en el Algoritmo [algSBX_Operator] se proponen cuatro casos

bull Caso 1 se aplica la versioacuten estaacutendar del operador sbx donde y

bull Caso 2 se actualiza el valor como se indica en la Ecuacioacuten ([eqnlinear]) y

bull Caso 3 se actualiza el valor como se indica en la Ecuacioacuten ([eqnlinear]) y

bull Caso 4 se actualiza el iacutendice de distribucioacuten de acuerdo a la Ecuacioacuten ([eqnindex_eta])

n = M + r minus 1

r = 5 10 2030

1n 5009

20

nrδ = 09

δ1 = δ2 = 05 ηc = 20

δ1 δ2 = 05ηc = 20

δ2 δ1 = 05ηc = 20

δ1 = δ2 = 05

En las tablas [tabMetrics_2] y [tabMetrics_3] se muestra informacioacuten del HV normalizado y del IGD+ para cada caso con dos y tres objetivos respectivamente (el Caso 5 se comenta maacutes adelante) Especiacuteficamente se muestra la media del HV e IGD+ para todos los problemas en dos y tres objetivos Se observa que considerando dos y tres objetivos el Caso 4 mejora al Caso 1 al Caso 2 y al Caso 3 en todos los algoritmos Por lo tanto se aprecian de forma clara los beneficios de incrementar el iacutendice de distribucioacuten durante la ejecucioacuten Por otra parte al considerar tres objetivos el Caso 2 presentoacute un rendimiento menor que el Caso 1 posiblemente debido a que al alterar tantas variables de forma simultaacutenea se produce un comportamiento excesivamente disruptivo Quizaacutes los resultados podriacutean mejorar si el paraacutemetro es alterado de una forma distinta sin embargo esto se deja como trabajo futuro Los anaacutelisis anteriores uacutenicamente consideran la media obtenida en todos los problemas de prueba En la tabla [tabstatistical_Tests] se muestran los resultados de las pruebas estadiacutesticas (el Caso 5 se discute en la siguiente seccioacuten) Particularmente se realizan comparaciones por pares en base a las pruebas estadiacutesticas ya mencionadas entre los cinco casos Este procedimiento se realizoacute de forma independiente para el NSGA-II MOEAD y el SMS-EMOA Para cada algoritmo y para cada caso la columna ldquo rdquo reporta el nuacutemero de comparaciones donde las pruebas estadiacutesticas confirmaron la superioridad del caso correspondiente mientras que en la columna ldquo rdquo se reporta el nuacutemero de veces donde este caso fue inferior y la columna ldquo rdquo indica el nuacutemero de comparaciones donde las diferencias no fueron significativas Con base en estos resultados se puede observar que el caso 3 y caso 4 aportan con respecto al caso 1 mientras que el caso 2 no es robusto siendo en varios algoritmos inferior al caso 1 Adicionalmente se anexan resultados detallados para facilitar que otros investigadores puedan realizar comparativas con un mayor nivel de detalle 6

Modificacioacuten simultaacutenea de varios componentes Con base en los anaacutelisis realizados con anterioridad se propone una variante del operador sbx que incorpora las modificaciones propuestas en el Caso 3 y Caso 4 de forma simultaacutenea es decir se incorpora un cambio dinaacutemico tanto en el paraacutemetro como en el iacutendice de distribucioacuten Debido a los resultados de baja calidad del Caso 2 el paraacutemetro no se modifica de forma dinaacutemica Particularmente el Caso 5 se construye con base en el Algoritmo [algSBX_Operator] asignando el paraacutemetro a debido a que es la forma de la versioacuten estaacutendar del sbx mientras que es actualizado de acuerdo a la Ecuacioacuten ([eqnlinear]) y el paraacutemetro es actualizado como se indica en la Ecuacioacuten ([eqnindex_eta])

De acuerdo a la media del HV y del IGD+ que se obtuvieron en el Caso 5 (ver tablas [tabMetrics_2] y [tabMetrics_3]) es claro que integrar los Casos 3 y 4 proporciona

δ1

harr

δ2δ1

δ1 05δ2 ηc

httpsgithubcomjoelchaconcastilloSBX_CEC20186

beneficios importantes En el caso de dos objetivos se observa una ventaja significativa Sin embargo en el caso de tres objetivos los Casos 4 y 5 son muy similares con base en la media Ademaacutes al considerar tres objetivos los resultados que se obtuvieron en el Caso 5 son superiores a los obtenidos con de mientras que al considerar la versioacuten estaacutendar de sbx se observa un deterioro Por lo tanto si el operador sbx es configurado adecuadamente puede generar resultados similares o superiores que el algoritmo demo

Finalmente en la tabla [tabstatistical_Tests] se muestran los resultados de las pruebas estadiacutesticas Los beneficios obtenidos por el Caso 5 son muy claros De hecho uacutenicamente el Caso 4 obtuvo mejores resultados que el Caso 5 al considerar tres objetivos y al algoritmo NSGA-II Esto demuestra que se pueden obtener mejores resultados si se integran varias modificaciones dinaacutemicas de forma simultaacutenea Ademaacutes los resultados confirman las ventajas de la versioacuten dinaacutemica frente al caso estaacutendar (Caso 1) El uacutenico caso que no presenta ventajas importantes frente a la versioacuten estaacutendar del sbx es el Caso 2 el cual fue discutido con anterioridad

Conclusiones y trabajo futuro La convergencia prematura es una de las debilidades maacutes importantes de los eas Una de las formas de lidiar con este problema consiste en inducir un balanceo adecuado entre exploracioacuten e intensificacioacuten Sin embargo obtener este balanceo no es una tarea trivial debido a que cada problema de optimizacioacuten tiene caracteriacutesticas distintas y por ello han surgido numerosos esquemas para tratar esta problemaacutetica Con base en esto se han desarrollado varias taxonomiacuteas con el propoacutesito de clasificar las diferentes formas en que se puede preservar y promover la diversidad En este trabajo con el fin de ilustrar como se pueden realizar disentildeos de eas que tomen en cuenta el balanceo entre exploracioacuten e intensificacioacuten se presentan dos ejemplos De forma general las propuestas establecen un comportamiento dinaacutemico de alguacuten componente del ea teniendo en cuenta para ello el criterio de paro y el instante en que se encuentra la ejecucioacuten Asiacute se obtuvo un balanceo adecuado en el que en las primeras fases se promueve maacutes exploracioacuten y en las uacuteltimas se promueve maacutes la intensificacioacuten De modo maacutes especiacutefico en la primera propuesta se modifica evolucioacuten diferencial por medio de una nueva fase de reemplazo con el propoacutesito de conseguir este balanceo Ademaacutes esta contribucioacuten incorpora una poblacioacuten eacutelite con el propoacutesito de proporcionar soluciones de calidad tanto a mediano como a largo plazo Con base en la validacioacuten experimental llevada a cabo se observa que esta propuesta mejora a los mejores algoritmos que se habiacutean propuesto en una competicioacuten que consideroacute las funciones de prueba usadas en este capiacutetulo Posteriormente se presenta un anaacutelisis del operador de cruza sbx y se desarrolloacute una variante que modifica varios componentes de forma dinaacutemica

considerando tambieacuten el criterio de paro y las generaciones transcurridas Con base en los resultados obtenidos con problemas muy populares del aacutembito de optimizacioacuten multi-objetivo se muestra que usar el operador sbx modificado ofrece ventajas muy importantes en varios moeas y para diferentes indicadores De forma general se observa que obtener un balanceo apropiado entre exploracioacuten e intensificacioacuten es realmente importante y que esto se puede conseguir utilizando teacutecnicas radicalmente diferentes aunque siguiendo los mismos principios de disentildeo

El campo de disentildeo de eas es un campo muy activo y en el que hay muchas ideas auacuten por explorar Uno de los aspectos importantes es que las estrategias de control de diversidad ofrecen muchas ventajas a largo plazo pero se debe hacer el esfuerzo por conseguir que se pueda reducir el nuacutemero de evaluaciones requeridas para obtener resultados prometedores Otro aspecto importante es que en general la mayor parte de las estrategias de control de diversidad introduce nuevos paraacutemetros por lo que es importante combinar estos mecanismos con estrategias de control de paraacutemetros adaptativas o auto-adaptativas para facilitar su utilizacioacuten Finalmente para el caso especiacutefico del dsbx seriacutea interesante integrarlo con teacutecnicas de aprendizaje para lidiar con problemas con dependencias y mejorar asiacute auacuten maacutes el rendimiento de la propuesta

Para saber maacutes bull Para saber maacutes sobre la historia de los algoritmos evolutivos se sugiere consultar

bull Puede consultar informacioacuten sobre tipos de metaheuriacutesticas y disentildeo e implementacioacuten de las mismas en

bull Si desea consultar informacioacuten baacutesica sobre los fundamentos de los algoritmos evolutivos se sugiere consultar

bull Para profundizar maacutes en el toacutepico de manejo de diversidad exploracioacuten e intensificacioacuten se sugiere consultar

bull Se puede consultar material relacionado con operadores de cruza y algoritmos evolutivos multi-objetivo en

bull Para obtener maacutes informacioacuten relacionada al tema de evolucioacuten diferencial se sugiere consultar

bull Si desea consultar aplicaciones de algoritmos evolutivos multi-objetivo se puede consultar

Agradeciemientos Los autores agradecen el apoyo financiero proporcionado por CONACyT a traveacutes del proyecto no 285599

Hiper-heuriacutesticas en la Solucioacuten de Problemas de Optimizacioacuten

Hugo Terashima-Mariacuten Santiago Enrique Conant-Pablos Joseacute Carlos Ortiz-Bayliss e Ivaacuten Mauricio Amaya Contreras

terashimasconantjcobaylissiamaya2itesmmx Tecnologico de Monterrey Escuela de Ingenieriacutea y Ciencias

Campus Monterrey

Introduccioacuten Cuando nos enfrentamos a problemas complejos como aquellos del tipo NP o de optimizacioacuten combinatoria pueden presentarse dos escenarios diferentes En el primero estamos dispuestos a invertir todos los recursos disponibles para resolver de la mejor manera posible un problema particular Este escenario se caracteriza porque cada vez que un nuevo problema aparece se invierte una gran cantidad de recursos para obtener una solucioacuten a esa instancia dada En el segundo escenario estamos dispuestos a sacrificar algo de la calidad de la solucioacuten para economizar recursos Por lo tanto se utilizan meacutetodos geneacutericos y capaces de obtener soluciones aceptables mediante un uso racionado de los recursos En este caso el riesgo es que el meacutetodo geneacuterico no sea adecuado para el problema y que produzca una solucioacuten de mala calidad Estaacute claro que en promedio el primer escenario generaraacute mejores soluciones pero no es viable en la mayoriacutea de los problemas reales debido al alto consumo de recursos Las hiper-heuriacutesticas por otra parte son generalmente uacutetiles en el segundo escenario pues buscan proporcionar estrategias geneacutericas con buena calidad

Las hiper-heuriacutesticas son meacutetodos emergentes de buacutesqueda heuriacutestica que intentan producir un nivel maacutes alto de flexibilidad e independencia del dominio en que se aplican de tal forma que sean capaces de adaptarse a distintos tipos de problemas o a las distintas instancias de un mismo tipo Esto lo automatizan frecuentemente incorporando meacutetodos de aprendizaje automaacutetico y lo ejecutan a traveacutes de un proceso de seleccioacuten dinaacutemica de heuriacutesticas maacutes simples durante la solucioacuten de los problemas o bien mediante la generacioacuten de nuevas heuriacutesticas a partir de la combinacioacuten o adaptacioacuten de otras ya existentes (o de sus componentes) Actualmente hay diversos modelos de hiper-heuriacutesticas los cuales pueden clasificarse de acuerdo a las categoriacuteas propuestas por Esta clasificacioacuten divide a las hiper-heuriacutesticas seguacuten su forma de aprendizaje asiacute como seguacuten su mecanismo de obtencioacuten de las soluciones entre otros Aunque el teacutermino lsquohiper-heuriacutesticarsquo fue acuntildeado como tal en el 2001 hubieron esfuerzos previos con ideas similares Entre ellos cabe destacar a los portafolios (o seleccioacuten) de algoritmos y a la

configuracioacuten especiacutefica de algoritmos Desde entonces la actividad de investigacioacuten en hiper-heuriacutesticas ha avanzado y propagado en diversas instituciones en el mundo y ha sido tema de presentacioacuten y discusioacuten en diversas conferencias y revistas internacionales

Por otra parte y en lo que respecta a la investigacioacuten en hiper-heuriacutesticas en Meacutexico son pocos los investigadores e instituciones que se han vinculado a ella La mayor parte de la investigacioacuten realizada en el tema se concentroacute inicialmente en el Tecnoloacutegico de Monterrey donde se han desarrollado hiper-heuriacutesticas para corte y empacado satisfaccioacuten de restricciones y ruteo de vehiacuteculos El Tecnoloacutegico de Monterrey es tambieacuten pionero en el tema de la transformacioacuten de caracteriacutesticas y en hiper-heuriacutesticas para resolver problemas multi-objetivo Las hiper-heuriacutesticas desarrolladas en el Tecnoloacutegico de Monterrey se han fundamentado en diversas estrategias de aprendizaje que incluyen algoritmos geneacuteticos redes neuronales y programacioacuten geneacutetica entre otras Recientemente el Instituto Politeacutecnico Nacional (IPN) y el CINVESTAV han logrado importantes avances en lo relacionado a hiper-heuriacutesticas para problemas multi-objetivo y en el uso de hiper-heuriacutesticas basadas en evolucioacuten diferencial Como resultado de la colaboracioacuten del Tecnoloacutegico de Monterrey y el CINVESTAV en el 2017 comenzoacute a explorarse la transformacioacuten de caracteriacutesticas como mecanismo para mejorar el desempentildeo de hiper-heuriacutesticas El Instituto Tecnoloacutegico de Leoacuten y la Universidad de Guanajuato ha colaborado para desarrollar muacuteltiples trabajos sobre hiper-heuriacutesticas Los dominios de problemas que han abordado con hiper-heuriacutesticas incluyen calendarizacioacuten de eventos acadeacutemicos y ruteo de vehiacuteculos Adicionalmente la Universidad de Guanajuato ha incursionado en el uso de redes neuronales pre-entrenadas para acelerar el proceso de seleccioacuten de las heuriacutesticas ademaacutes de proponer una metodologiacutea para la adecuada seleccioacuten del conjunto de heuriacutesticas que debe estar disponible para una determinada hiper-heuriacutestica El Instituto Tecnoloacutegico de Ciudad Madero en colaboracioacuten con el Instituto Tecnoloacutegico de Leoacuten ha realizado importantes avances en la generacioacuten semiautomaacutetica de heuriacutesticas para el problema de empacado utilizando diversos meacutetodos como evolucioacuten diferencial y evolucioacuten gramatical

Este capiacutetulo estaacute encaminado a presentar el concepto de hiper-heuriacutesticas para entender sus caracteriacutesticas fundamentos modelos fortalezas y debilidades asiacute como algunas de sus aacutereas de aplicacioacuten El capiacutetulo integra en la Seccioacuten 2 los fundamentos de hiper-heuriacutesticas considerando principalmente los dos tipos aqueacutellas que seleccionan heuriacutesticas y aqueacutellas que generan nuevas heuriacutestica En la Seccioacuten 3 se presentan algunos modelos de hiper-heuriacutesticas algunos basados en esquemas evolutivos y otros basados en redes neuronales La Seccioacuten 4 presenta un ejemplo con la idea de mostrar paso a paso el proceso para generar hiper-heuriacutesticas en particular para el problema de particioacuten balanceada En la Seccioacuten 5 se discuten algunos aspectos avanzados sobre las hiper-heuriacutesticas como la solucioacuten de problemas multi-objetivo y la transformacioacuten de caracteriacutesticas En la Seccioacuten 6 se describe algunas tendencias futuras de hiper-heuriacutesticas

Algunos recursos disponibles relacionados con hiper-heuriacutesticas se presentan en la Seccioacuten 7 Finalmente en la Seccioacuten 8 se proporcionan las conclusiones

Fundamentos de las Hiper-heuriacutesticas Las hiper-heuriacutesticas trabajan sobre la idea de que es posible reutilizar los componentes de meacutetodos existentes ndashgeneralmente simples como son las heuriacutesticasndash para construir meacutetodos de buacutesqueda maacutes robustos y que se adapten a las condiciones del problema actual De esta forma se busca obtener soluciones que en la medida de lo posible y de acuerdo al tiempo disponible sean de buena calidad Ahora bien la forma de adaptacioacuten a los problemas da lugar a los dos grandes tipos de hiper-heuriacutesticas las que seleccionan heuriacutesticas y las que generan nuevas heuriacutesticas

Hiper-heuriacutesticas que seleccionan heuriacutesticas En este tipo de adaptacioacuten se busca cambiar la heuriacutestica usada para atacar la instancia del problema cambios que pueden ocurrir cada vez que el proceso requiere tomar una decisioacuten Por ejemplo en el caso del problema del vendedor viajero (TSP) se pretende encontrar el tour de miacutenimo costo para visitar todas y cada una de las ciudades de un conjunto dado Si se inicia con un tour vaciacuteo la toma de decisiones consiste en decidir la siguiente ciudad a visitar Mientras que con una heuriacutestica estariacuteamos a merced de una sola forma de decisioacuten (por ejemplo visitar la ciudad maacutes cercana o la maacutes lejana a la actual que todaviacutea no se haya visitado) con una hiper-heuriacutestica tenemos la flexibilidad para utilizar heuriacutesticas diferentes en cada toma de decisioacuten (por ejemplo iniciar con la maacutes cercana y luego tomar la maacutes lejana) De esta manera es comuacuten que una hiper-heuriacutestica utilice conjuntos y oacuterdenes de heuriacutesticas distintos para resolver diferentes instancias de un problema Desde esta perspectiva una hiper-heuriacutestica es el meacutetodo de alto nivel que controla coacutemo y cuaacutendo usar heuriacutesticas de bajo nivel

Hiper-heuriacutesticas que generan nuevas heuriacutesticas Este segundo tipo de adaptacioacuten busca combinar heuriacutesticas existentes (o sus componentes) en la generacioacuten de heuriacutesticas de alto nivel Por ejemplo asumiendo de nuevo el problema del vendedor viajero donde se construye la solucioacuten a partir de un tour vaciacuteo una heuriacutestica podriacutea decidir la nueva ciudad a agregar como aquella que minimice la distancia con respecto al eje coordenado a la uacuteltima ciudad visitada en el tour parcial actual Sin embargo otra heuriacutestica podriacutea seleccionar la ciudad basada en la distancia con respecto al eje coordenado La ciudad recomendada por ambas heuriacutesticas podriacutea ser la misma o una distinta Otra alternativa seriacutea combinar los criterios de ambas heuriacutesticas por ejemplo que se agregue la ciudad que minimice la funcioacuten Mediante esta sencilla funcioacuten es posible combinar los

dxx

dy y

f (x) = dx times dy

criterios de decisioacuten de cada heuriacutestica y formar una que se adapte a diferentes condiciones del problema De esta forma la hiper-heuriacutestica es un meacutetodo que genera nuevas heuriacutesticas

A continuacioacuten describiremos con maacutes detalle cada uno de estos tipos de hiper-heuriacutesticas

Hiper-heuriacutesticas que seleccionan heuriacutesticas La mayor parte de los trabajos realizados en Meacutexico se ha enfocado en este primer tipo de adaptacioacuten y por ello optamos por detallarlas maacutes Las hiper-heuriacutesticas de seleccioacuten como nos referiremos a ellas a partir de este momento estaacuten inspiradas en la idea de que existe un algoritmo maacutes adecuado para cada problema lo que en la literatura se conoce como el problema de la seleccioacuten de algoritmos En este sentido las hiper-heuriacutesticas de seleccioacuten exploran la forma en que diversas heuriacutesticas (u otros meacutetodos simples y raacutepidos de ejecutar) pueden combinarse para generar estrategias de solucioacuten robustas y con un buen desempentildeo general

En este punto cabe mencionar que las diferencias entre los portafolios de algoritmos la configuracioacuten especiacutefica de algoritmos y las hiper-heuriacutesticas de seleccioacuten son sutiles pero auacuten asiacute pueden apreciarse Por ejemplo tanto las hiper-heuriacutesticas como los portafolios de algoritmos deciden cuaacutel de los meacutetodos disponibles para resolver el problema debe utilizarse en un momento dado La diferencia principal es la naturaleza de los meacutetodos disponibles donde los portafolios de algoritmos trabajan usualmente con colecciones de meacutetodos de solucioacuten especializados para ciertos tipos de problemas mientras que las hiper-heuriacutesticas usualmente administran meacutetodos maacutes generales como son las heuriacutesticas La configuracioacuten especiacutefica de algoritmos (ISAC por sus siglas en ingleacutes) busca optimizar los paraacutemetros de los algoritmos para que se adapten a las caracteriacutesticas del problema que intentan resolver Si consideramos dos instancias de un mismo algoritmo con configuraciones distintas pueden considerarse como dos meacutetodos diferentes entonces ISAC es en esencia un portafolio de algoritmos

Como ya se mencionoacute una hiper-heuriacutestica de seleccioacuten decide en determinados momentos del proceso de solucioacuten queacute heuriacutestica debe utilizar A partir de este momento usaremos el teacutermino lsquopunto de decisioacutenrsquo para referirnos a esos momentos especiacuteficos durante la buacutesqueda cuando la hiper-heuriacutestica puede cambiar la heuriacutestica a utilizar Los puntos de decisioacuten pueden manejarse de muchas formas Por ejemplo podriacutea realizarse un cambio de heuriacutestica cada vez que una variable deba asignarse o soacutelo despueacutes de cierto nuacutemero de veces que deba asignarse o soacutelo si se cumple alguna condicioacuten particular Una forma muy comuacuten en la que se usan las hiper-heuriacutesticas lsquoperturbativasrsquo ndashaquellas que incrementalmente aplican modificaciones locales (movimientos) a soluciones completas (aproximaciones a la solucioacuten deseada) que representan los estados actuales de la buacutesquedandash es cambiar de heuriacutestica perturbativa uacutenicamente si la

calidad de la aproximacioacuten actual estaacute disminuyendo o si se ha mantenido estable por cierto tiempo

De forma muy general una hiper-heuriacutestica de seleccioacuten se comporta como se muestra en el Algoritmo [algGenericSelectionHH]

Como puede observarse en el Algoritmo [algGenericSelectionHH] la hiper-heuriacutestica tiene la capacidad de aplicar una heuriacutestica al problema para modificar su estado (buscando acercarlo a un estado meta o solucioacuten deseada) Ya que un problema especiacutefico de buacutesqueda depende del estado inicial de la misma si consideramos a la solucioacuten resultante de aplicacioacuten de la heuriacutestica actual al estado actual como el estado inicial del resto de la buacutesqueda estamos modificando el problema a resolver y este quizaacutes podriacutea ser resuelto de una mejor manera con una heuriacutestica distinta a la actual

La eleccioacuten de la heuriacutestica a utilizar en cada punto de decisioacuten depende completamente de la funcioacuten Selecciona la cual busca en el espacio de heuriacutesticas la maacutes adecuada de acuerdo al estado actual del problema Como puede inferirse del pseudocoacutedigo diferentes implementaciones de la funcioacuten Selecciona resultaraacuten en diferentes comportamientos de la hiper-heuriacutestica Por ejemplo una hiper-heuriacutestica completamente aleatoria implementariacutea la funcioacuten Selecciona como se muestra en el Algoritmo [algRandomSelect]

En el caso de una hiper-heuriacutestica aleatoria la rutina ignora por completo el estado del problema ya que no lo requiere para determinar queacute heuriacutestica utilizar Como es de esperarse el desempentildeo de una hiper-heuriacutestica aleatoria es en la mayoriacutea de los casos malo si el conjunto de heuriacutesticas simples contiene una o maacutes heuriacutesticas cuyo comportamiento es deficiente en los problemas a resolver

Otra posible idea para implementar una hiper-heuriacutestica es usar una secuencia predefinida de heuriacutesticas como estrategia de decisioacuten dentro de la funcioacuten Selecciona La idea detraacutes de esta hiper-heuriacutestica es que en algunos casos la relacioacuten entre heuriacutesticas depende de su encadenamiento (una secuencia ordenada de heuriacutesticas) Por ejemplo en un problema de empacado donde objetos de diferentes voluacutemenes deben ser empacados en un nuacutemero finito de contenedores de forma que se minimice el nuacutemero de contenedores utilizados podriacutea ser conveniente el utilizar una secuencia de heuriacutesticas donde despueacutes de empacar el objeto maacutes pequentildeo siempre se deba empacar el objeto maacutes grande Una hiper-heuriacutestica basada en secuencias predefinidas requiere conocer la secuencia especiacutefica de heuriacutesticas a aplicar y la uacuteltima heuriacutestica aplicada El Algoritmo [algSequenceHH] muestra una posible implementacioacuten de este tipo de hiper-heuriacutesticas

En caso de que una heuriacutestica deba aplicarse dos o maacutes veces seguidas esta deberaacute aparecer dos o maacutes veces en la secuencia predefinida de heuriacutesticas Debido a que la longitud de la secuencia de heuriacutesticas es mucho menor que el nuacutemero de puntos de decisioacuten en el problema hay que definir lo que se haraacute al llegar al final de la secuencia Una alternativa es que se vuelva a recorrer la misma secuencia desde la primera posicioacuten Otra opcioacuten es que al llegar al final de la secuencia desde ese momento se use soacutelo la uacuteltima heuriacutestica de la secuencia

Una tercera versioacuten de hiper-heuriacutestica (Algoritmo [algStateBasedHH]) representa la seleccioacuten inteligente del meacutetodo maacutes adecuado dadas las condiciones actuales del problema En esta versioacuten de hiper-heuriacutestica la funcioacuten Selecciona contiene un mapeo de situaciones en las que cada heuriacutestica deberiacutea ser utilizada

Como puede apreciarse en el Algoritmo [algStateBasedHH] la funcioacuten debe evaluar el estado actual del problema para determinar queacute heuriacutestica aplicar Hasta este momento no hemos proporcionado detalles sobre coacutemo se realiza la seleccioacuten de la heuriacutestica maacutes adecuada para un determinado estado del problema pero podemos adelantar que es el punto maacutes sensible del proceso

Entre los modelos maacutes utilizados para producir hiper-heuriacutesticas de seleccioacuten se encuentran los algoritmos geneacuteticos y las redes neuronales Maacutes adelante en este capiacutetulo se describiraacuten a detalle coacutemo funciona cada uno de estos modelos y coacutemo se implementan

Hiper-heuriacutesticas que generan nuevas heuriacutesticas Este segundo tipo de adaptacioacuten hace que las hiper-heuriacutesticas funcionen como generadores semi-automaacuteticos de heuriacutesticas De esta forma la combinacioacuten de componentes de decisioacuten se plasma en una funcioacuten que por siacute misma representa una nueva heuriacutestica En el contexto de heuriacutesticas perturbativas puede tratarse de la combinacioacuten de dos o maacutes operadores al mismo tiempo cada uno de ellos enfocados a modificar distintas secciones de la aproximacioacuten actual o bien a la aplicacioacuten en secuencia de dos o maacutes operadores perturbativos al estado actual de la buacutesqueda La situacioacuten es diferente para hiper-heuriacutesticas lsquoconstructivasrsquo ndashaquellas que gradualmente construyen la solucioacuten al problema generando soluciones parciales cada vez maacutes completas a partir de una solucioacuten inicialmente vaciacuteandash ya que en este caso las heuriacutesticas constructivas tienen la tarea de asignar un valor a cada elemento que puede integrarse a la solucioacuten de forma que se agregue el elemento que maximice (o minimice seguacuten sea el caso) dicho valor Por ejemplo si estamos utilizando un hiper-heuriacutestica constructiva para resolver una instancia del problema del agente viajero podemos considerar una heuriacutestica que agrega la ciudad con la menor distancia a la uacuteltima ciudad visitada en la solucioacuten parcial actual Para ello se debe calcular la distancia de cada una de las ciudades que todaviacutea no han sido visitadas a la

uacuteltima ciudad del tour parcial actual Luego de ello la heuriacutestica recomendaraacute agregar aquella con la menor distancia

De forma muy general una hiper-heuriacutestica de generacioacuten se comporta como se muestra en el Algoritmo [algGenericGenerationHH]

Por supuesto en este momento no se brindan detalles de coacutemo implementar la funcioacuten Genera que es la responsable de generar la heuriacutestica que se utilizaraacute para resolver el problema actual Entre los meacutetodos maacutes populares en la comunidad para implementar hiper-heuriacutesticas de generacioacuten se cuentan tanto programacioacuten geneacutetica como evolucioacuten diferencial

Modelos de Hiper-heuriacutesticas En esta seccioacuten se presentaraacuten las ideas generales detraacutes de las hiper-heuriacutesticas que se ha implementado de diversas formas y con apoyo de diferentes meta-heuriacutesticas o distintos modelos de aprendizaje automaacutetico

Modelos Evolutivos La computacioacuten evolutiva se ha utilizado tanto para construir hiper-heuriacutesticas de generacioacuten (mediante programacioacuten geneacutetica y evolucioacuten diferencial) como para construir hiper-heuriacutesticas de seleccioacuten (mediante algoritmos geneacuteticos y estrategias evolutivas) A continuacioacuten describiremos coacutemo se han implementado algunos casos de eacutexito de hiper-heuriacutesticas mediante computacioacuten evolutiva

Hiper-Heuriacutesticas basadas en Algoritmos Geneacuteticos

Los modelos evolutivos generan reglas que relacionan puntos especiacuteficos del espacio de caracteriacutesticas del problema con una heuriacutestica especiacutefica que ha demostrado ser uacutetil ante instancias con caracteriacutesticas similares Estas reglas pueden obtenerse de diversas formas ndashincluso pueden ser definidas por el usuario Sin embargo los algoritmos geneacuteticos han resultado muy uacutetiles para esta tarea y por esta razoacuten su uso seraacute detallado a continuacioacuten

El algoritmo geneacutetico mantiene una poblacioacuten de individuos de longitud variable que representan hiper-heuriacutesticas en potencia Durante cada generacioacuten estos individuos son combinados y mutados con la finalidad de mejorar la calidad de la poblacioacuten Seguacuten sea el caso los operadores geneacuteticos pueden o no ser adaptados para el problema Por ejemplo como el nuacutemero de reglas en las hiper-heuriacutesticas es variable los individuos en la poblacioacuten tambieacuten tienen una longitud

larr

variable Es necesario entonces adaptar el operador de cruza para que produzca soacutelo individuos vaacutelidos La funcioacuten objetivo contiene un conjunto de instancias a resolver El desempentildeo de cada individuo en dicho conjunto se convierte en su aptitud Con el paso de las generaciones se espera que los individuos que mejor resuelvan el conjunto de entrenamiento sean favorecidos por el proceso geneacutetico El mejor individuo de la uacuteltima generacioacuten es seleccionado como la hiper-heuriacutestica resultante del proceso evolutivo

Los modelos hiper-heuriacutesticos basados en algoritmos geneacuteticos fueron unas de las primeras opciones que se consideraron para generar heuriacutesticas El primer trabajo que utilizoacute un algoritmo geneacutetico para la exploracioacuten del espacio de heuriacutesticas en problemas de calendarizacioacuten fue publicado en 1994 antildeos antes de que el teacutermino hiper-heuriacutestica fuera utilizado por primera vez Pocos antildeos maacutes tarde esta idea fue retomada en y A la fecha gran parte de los trabajos relacionados con hiper-heuriacutesticas utilizan alguna forma de computacioacuten evolutiva como parte del mecanismo de generacioacuten y ajuste de las hiper-heuriacutesticas

Hiper-Heuriacutesticas basadas en Programacioacuten Geneacutetica

Las hiper-heuriacutesticas basadas en programacioacuten geneacutetica tienen la capacidad de combinar los componentes de heuriacutesticas existentes para construir nuevas heuriacutesticas que funcionen adecuadamente ante diversos grupos de instancias del problema La inclusioacuten de una gramaacutetica tipo BNF en este proceso es una tendencia reciente Un problema de satisfaccioacuten de restricciones (CSP) se define como un conjunto de variables asociado a un conjunto de dominios de valores ( ) y a un conjunto de restricciones entre las variables El objetivo es una asignacioacuten completa y consistente de valores a variables de la manera que se cumplan todas las restricciones Los CSPs han sido aplicados para el modelado y solucioacuten de problemas en diversos dominios Aquiacute describimos una plataforma basada en gramaacuteticas para generar automaacuteticamente nuevas heuriacutesticas de seleccioacuten de variables para CSPs El espacio de posibilidades se define generando oraciones vaacutelidas de acuerdo a la gramaacutetica que se utiliza

Un enfoque inicial en este sentido es el presentado en el trabajo de Ortiz-Bayliss et al que provee la evidencia de que es posible delegar al menos para ciertas tareas la generacioacuten de heuriacutesticas a un proceso automaacutetico En el trabajo se usan caracteriacutesticas provenientes de las heuriacutesticas previamente disentildeadas y se utiliza programacioacuten geneacutetica para combinar esos atributos y generar nuevas heuriacutesticas La idea es encapsular el conocimiento del experto humano de diversas formas para obtener mejores soluciones Dado que en la gramaacutetica hay que definir un conjunto de funciones y un conjunto de terminales las funciones utilizadas en esta investigacioacuten incluyen suma (+) resta (-) multiplicacioacuten () y divisioacuten protegida () (si el divisor es cero no se ejecutar la operacioacuten y el resultado es 1) Con este conjunto simple de operadores es

XD

suficiente para generar heuriacutesticas competitivas La definicioacuten de la gramaacutetica se puede observar en la Figura [figGrammar]

ltSgt ltEgt ltEgt ltOpgt ltFgt ltOpgt ltOpgt ( ltEgt ) | ltTgt ltFgt + | - | | ltTgt | | | |

En un esfuerzo maacutes avanzado en este respecto el modelo presentado en presenta una gramaacutetica que contiene elementos maacutes sofisticados como el estatuto if-then-else operadores aritmeacuteticos y loacutegicos lo que permite generar mayor cantidad de posibilidades de combinacioacuten ademaacutes de funciones sobrecargadas capaces de manejar diversas dimensionalidades de entrada lo que provee mayor flexibilidad y un mayor espacio de soluciones En este trabajo se usaron tres diferentes estrategias para evolucionar las heuriacutesticas programacioacuten geneacutetica (GP) buacutesqueda local iterada (ILS) y buacutesqueda de alpinista en paralelo (PHC) En los experimentos se usaron tanto instancias sinteacuteticas como reales para comparar el rendimiento entre las heuriacutesticas generadas y las del estado del arte disentildeadas por el humano El estudio considera varios asuntos como la composicioacuten del conjunto de entrenamiento hacia la generalidad de las heuriacutesticas y su rendimiento sobre instancias no vistas Tambieacuten se considera la evolucioacuten de heuriacutesticas sobre instancias pequentildeas capaces de generalizar sobre instancias maacutes grandes y no vistas y sobre otras instancias del mundo real La Figura 1 muestra un ejemplo de heuriacutestica generada por programacioacuten geneacutetica

Ejemplo de heuriacutestica generada automaacuteticamente por un proceso de Programacioacuten Geneacutetica para el problema de CSP

rarr rarr rarr rarr rarr deg(x)con f licts(x) dom(x) κ (x) r

variableFromVariableValue

smallest

If-VariablesValues1

greaterOrEqualThan minus minus

largest smallest

plus

mxi bdeg

conflicts

bbz log2

division

fdeg fbz

minus conflicts

multiplication plus

bbz pxi

Modelos Neuronales A diferencia de los modelos evolutivos que generan reglas que mapean caracteriacutesticas del problema a heuriacutesticas especiacuteficas las hiper-heuriacutesticas basadas en modelos neuronales aprenden las relaciones existentes entre caracteriacutesticas y heuriacutesticas a partir de casos de ejemplo De esta manera los modelos de hiper-heuriacutesticas basados en redes neuronales requieren un conjunto de entrenamiento donde se contengan las relaciones a aprender De manera general la hiper-heuriacutestica contiene una red neuronal que aprende a clasificar instancias seguacuten sus caracteriacutesticas La clase a la que pertenece la instancia representa la heuriacutestica a utilizar en un momento particular de la buacutesqueda

Probablemente uno de los primeros trabajos que exploraron el uso de redes neuronales para la seleccioacuten de heuriacutesticas fue el presentado por Moriarty en donde se presentoacute el modelo SANE (Symbiotic Adaptive Neuro-Evolution) para encontrar redes neuronales que representaban heuriacutesticas para el ordenamiento de valor en problemas de satisfaccioacuten de restricciones Antildeos maacutes tarde Corr propuso utilizar redes neuronales como selectores de heuriacutesticas constructivas para el problema de la calendarizacioacuten de exaacutemenes No fue sino hasta el 2009 que se publicoacute el primer trabajo de redes neuronales que expliacutecitamente mencionaba el teacutermino lsquohiper-heuriacutesticarsquo En dicho trabajo Ortiz-Bayliss et al retomaron la idea de usar redes neuronales como selectores de heuriacutesticas constructivas pero esta vez aplicado al problema de satisfaccioacuten de restricciones y con una red neuronal con aprendizaje mediante retro-propagacioacuten

Los modelos neuronales tambieacuten se han usado dentro de las hiper-heuriacutesticas para agilizar el entrenamiento Por ejemplo Li et al utilizaron una red neuronal para estimar el costo de una funcioacuten objetivo de forma que se minimizara el nuacutemero de evaluaciones reales durante el proceso de entrenamiento de la hiper-heuriacutestica

En cuanto a la arquitectura de la red neuronal se han utilizado diferentes opciones Una parte significativa de los trabajos ha utilizado el perceptroacuten multicapa Algunos otros trabajos han optado por arquitecturas maacutes especiacuteficas a ciertos problemas como son los mapas auto-organizados y redes neuronales con retraso temporal En algunas ocasiones se ha explorado la idea de combinar redes neuronales con algoritmos geneacuteticos para ajustar la topologiacutea de la red y maximizar el desempentildeo de las hiper-heuriacutesticas

Un ejemplo A continuacioacuten presentamos un breve ejemplo donde mostramos la forma en la que las hiper-heuriacutesticas pueden ser de utilidad y el proceso para aplicarlas

El problema Para este ejemplo tomaremos el problema de particioacuten balanceada (Balanced Partition) que consiste en encontrar la distribucioacuten de elementos que minimiza a donde es el iacutendice de calidad dado por la ecuacioacuten [equBPExampleFitness] y donde representa el elemento del subconjunto y es el nuacutemero de elementos en el subconjunto Asiacute el miacutenimo de corresponde al valor oacuteptimo de la separacioacuten

Las alternativas Para atacar este sencillo problema podemos considerar un enfoque constructivo a traveacutes de dos heuriacutesticas muy simples seleccionar el elemento de carga maacutexima (MAX) o miacutenima (MIN) Partiremos de una solucioacuten vaciacutea al considerar que nuestra solucioacuten es el subconjunto 2 (por tanto toda la carga seraacute asignada al subconjunto 1) por lo que la solucioacuten se construiraacute al escoger los elementos que deben moverse al subconjunto 2 para balancear la carga de todo el sistema Adicionalmente nuestra solucioacuten estaraacute completa cuando el subconjunto 2 represente a la mitad o maacutes de la carga total de la instancia del problema pues nuestras heuriacutesticas no permiten retornar elementos

Es importante resaltar que estas heuriacutesticas no son necesariamente buenas ni malas pues dependen mucho de la instancia del problema en la que se apliquen Consideremos por ejemplo un comportamiento como el de la Tabla [TableBaseInstancesBig] donde observamos que la heuriacutestica MAX se desempentildeoacute ligeramente mejor que la heuriacutestica MIN Esto se debe a que en algunas instancias la heuriacutestica MAX se desempentildeoacute mucho mejor que la heuriacutestica MIN (por ejemplo en las instancias 7 y 10) y viceversa (por ejemplo en las instancias 3 y 9) Es precisamente esta diferencia en desempentildeo lo que motivoacute la idea de las hiper-heuriacutesticas y donde se evidencia su eventual beneficio De hecho la Tabla [TableBaseInstancesBig] incluye una columna con el desempentildeo de una hiper-heuriacutestica simple (que detallaremos maacutes adelante) donde se puede observar que es mucho mejor que sus contrincantes

Q Qitemy

x xy Ny y Q

Q =N1

sumi=1

item1i minus

N2

sumj=1

item2j

Desempentildeo de las heuriacutesticas (y de una hiper-heuriacutestica) sobre 10 instancias de mayor extensioacuten

La informacioacuten del problema Ya conocemos el tipo de problema a resolver y las opciones que tenemos para hacerlo Ahora bien requerimos tambieacuten alguna manera de obtener informacioacuten de cada instancia en particular para asiacute poder analizarla y determinar queacute alternativa tomar (MAX o MIN) Para ello debemos definir al menos una caracteriacutestica del problema relacionada principalmente a las condiciones actuales de la instancia (de manera que se actualice a medida que progresa la solucioacuten) En este ejemplo utilizaremos la relacioacuten entre la carga actual del subconjunto 2 y la carga maacutexima como se muestra en la ecuacioacuten [equBPExampleFeature] Con esto ya tenemos todo lo necesario para empezar a crear nuestras hiper-heuriacutesticas

Instancia

1 11 9 7

2 2 8 6

3 1 13 3

4 2 0 0

5 3 5 13

6 1 9 3

7 3 1 13

8 9 3 9

9 9 11 3

10 5 1 11

Total 46 60 68

Promedio 46 6 68

QMINQHH QMAX

sumN2j=1 item2

j

sumN1i=1 item1

i + sumN2j=1 item2

jisin [0 1]

Nuestra primer hiper-heuriacutestica Nuestro objetivo con la hiper-heuriacutestica seraacute el de tratar de dar un orden loacutegico al proceso Asiacute buscaremos pasar los elementos maacutes grandes al inicio de la solucioacuten (es decir cuando el subconjunto estaacute vaciacuteo) para luego refinarla con elementos maacutes pequentildeos (para ajustar las pequentildeas diferencias) Por tanto podemos crear una hiper-heuriacutestica de dos reglas como se muestra en la Figura 2 En la parte derecha de la figura podemos observar la zona de influencia de cada regla Asiacute siempre que el valor de la caracteriacutestica (definida en la ecuacioacuten [equBPExampleFeature]) sea inferior a 025 se usaraacute la heuriacutestica MAX para seleccionar el siguiente elemento Pero si es superior se usaraacute la heuriacutestica MIN

Primer modelo de hiper-heuriacutestica con dos reglas y una sola caracteriacutestica (izquierda) Zona de influencia de cada regla (derecha)

Primer modelo de hiper-heuriacutestica con dos reglas y una sola caracteriacutestica (izquierda) Zona de influencia de cada regla (derecha)

En este punto es bueno recordar la columna que traiacuteamos pendiente de la Tabla [TableBaseInstancesBig] Es justamente esta hiper-heuriacutestica la que se usoacute para obtener los desempentildeos alliacute mostrados donde una vez maacutes se observa que supera a las heuriacutesticas simples Sin embargo es importante resaltar que no todo es perfecto En algunos casos por ejemplo en la instancia 1 la hiper-heuriacutestica generoacute una solucioacuten peor que cualquiera de las dos heuriacutesticas Es maacutes en casos como el de la instancia 4 fue la uacutenica que no logroacute generar un balanceo perfecto de la carga Esto se debe principalmente a la simplicidad de nuestra hiper-heuriacutestica pues solamente cuenta con dos reglas y con una sola caracteriacutestica Con ello se llega a que el espacio de caracteriacutesticas se divida en regiones simples como la mostrada en la parte derecha de la Figura 2 Por otra parte el desempentildeo de la hiper-heuriacutestica que estamos usando se encuentra limitado por su proceso de entrenamiento pues los valores fueron asignados manualmente y con base en lo que estimamos como mejor

Otras hiper-heuriacutesticas Revisemos ahora coacutemo puede afectar el proceso de entrenamiento al desempentildeo de esta hiper-heuriacutestica en particular Consideremos por ejemplo las hiper-heuriacutesticas mostradas en la Figura 3 La primera de ellas corresponde a nuestro modelo original (el que hemos venido usando) Las otras dos tienen una estructura similar pero el punto de corte de sus regiones de influencia se encuentra en 015 y 035 respectivamente Como se muestra en la Tabla [TableHHsComparison] el hecho de usar un enfoque maacutes agresivo (es decir HH3) sobre este conjunto de instancias resulta en un beneficio pues se obtiene un valor de que en Q

promedio es casi dos unidades menor al alcanzado con la hiper-heuriacutestica original (HH) Asimismo el otro enfoque empeoroacute el resultado respecto al logrado con HH Sin embargo incluso asiacute el resultado logrado es mejor que el obtenido por las heuriacutesticas independientes

Tres configuraciones diferentes de hiper-heuriacutesticas

Tres configuraciones diferentes de hiper-heuriacutesticas

Desempentildeo de dos heuriacutesticas simples y de tres modelos de hiper-heuriacutesticas sobre un conjunto de 10 instancias

Las hiper-heuriacutesticas como un problema de optimizacioacuten Las hiper-heuriacutesticas mostradas han sido entrenadas lsquoa manorsquo definiendo ciertos valores criacuteticos seguacuten nuestro criterio y conocimiento del problema Sin embargo el proceso se puede automatizar si se plantea como un problema de optimizacioacuten Para ello podemos definir la funcioacuten objetivo como el desempentildeo de la hiper-heuriacutestica Esto se muestra en la ecuacioacuten [equBPObjFunction] donde es el nuacutemero de instancias de entrenamiento y es el nivel de calidad dado por la hiper-heuriacutestica en la instancia Como se puede observar el proceso

Instancia

1 11 9 7 11 1

2 2 8 6 10 2

3 1 13 3 5 1

4 2 0 0 4 0

5 3 5 13 3 7

6 1 9 3 3 1

7 3 1 13 5 3

8 9 3 9 5 9

9 9 11 3 5 3

10 5 1 11 5 1

Total 46 60 68 56 28

Promedio 46 6 68 56 28

QMINQMAX QHH3QHH QHH2

Ni Qjj

de optimizacioacuten implica probar cada hiper-heuriacutestica candidata sobre el conjunto de entrenamiento Observemos tambieacuten que en el caso maacutes simple se cuenta con cuatro variables de disentildeo pero si aumentamos el nuacutemero de caracteriacutesticas a por ejemplo tres el nuacutemero de incoacutegnitas se duplica Si en este punto agregamos un par de reglas maacutes (para crear regiones de accioacuten maacutes complejas) el total de variables se duplica una vez maacutes llegando a 16 Asiacute el uso de teacutecnicas de optimizacioacuten claacutesicas como Newton-Rapshon o Descenso empinado queda descartado para la mayoriacutea de problemas praacutecticos (debido a que se requiere un punto de inicio cerca de la solucioacuten y a que quedan atrapados en oacuteptimos locales)

Sin embargo existe otra alternativa las metaheuriacutesticas Para evitar desviar la atencioacuten del lector omitiremos los detalles relacionados con el optimizador y nos centraremos en el proceso de entrenamiento

Vamos a imaginar que tenemos una herramienta capaz de construir una solucioacuten mejorada del problema usando como base una solucioacuten existente que no es necesariamente buena Imaginemos tambieacuten que dicha solucioacuten corresponde a una hiper-heuriacutestica Por tanto podemos definir una solucioacuten (eg una hiper-heuriacutestica) candidata inicial (generada de forma aleatoria) y utilizar dicha herramienta para crear una refinada Para determinar la ganancia dada por nuestra herramienta basta con evaluar ambas soluciones (tanto la aleatoria como la refinada) en la ecuacioacuten [equBPObjFunction] y comparar los resultados Luego de esto podemos tomar la solucioacuten refinada como base y usar nuestra herramienta para crear una mejorada Es justamente este proceso iterativo lo que nos permite operar sobre la solucioacuten aleatoria hasta lograr un resultado con la calidad deseada A manera de ejemplo consideremos un conjunto de 30 instancias aleatorias del problema de particioacuten balanceada (las cuales no se muestran por motivos de espacio) Si generamos 10 soluciones aleatorias (como las descritas anteriormente) obtendremos hiper-heuriacutesticas con desempentildeos buenos y malos como se muestra en la Figura 4 (iteracioacuten 1) Sin embargo podemos usar nuestra herramienta de optimizacioacuten sobre cada una de estas hiper-heuriacutesticas para generar unas mejoradas (iteracioacuten 2) Es maacutes podemos continuar iterativamente y luego de 15 iteraciones tendremos hiper-heuriacutesticas cuyo desempentildeo es bueno y muy similar (iteracioacuten 16) Note que por la naturaleza estocaacutestica de nuestra herramienta en ocasiones el desempentildeo mejora muy raacutepidamente pero en otros casos tarda varias iteraciones en mejorar Ademaacutes tengamos en cuenta que muchas metaheuriacutesticas trabajan de forma poblacional es decir evaluacutean y mejoran muacuteltiples soluciones al mismo tiempo con el aacutenimo de encontrar una uacutenica que sea lo suficientemente buena Sin embargo hemos omitido este tipo de

Fobj(FT A) =sumNi

j=1 Qj

Ni FT = [F1 F2 F3 FNF] and Qj = Qj(FT A)

detalles en la graacutefica para evitar complicar nuestro anaacutelisis y para facilitar la comprensioacuten por parte del lector

Ejemplo de entrenamiento de hiper-heuriacutesticas usando metaheuriacutesticas La iteracioacuten 1 representa el resultado luego de generar la poblacioacuten inicial Los datos mostrados corresponden a 10 reacuteplicas sobre 30 problemas generados de forma aleatoria con 100 elementos y una carga maacutexima de 100 por elemento

Ejemplo de entrenamiento de hiper-heuriacutesticas usando metaheuriacutesticas La iteracioacuten 1 representa el resultado luego de generar la poblacioacuten inicial Los datos mostrados corresponden a 10 reacuteplicas sobre 30 problemas generados de forma aleatoria con 100 elementos y una carga maacutexima de 100 por elemento

Aspectos Avanzados de las Hiper-heuriacutesticas En esta seccioacuten se abordan algunos temas avanzados de las hiper-heuriacutesticas como son sus aplicaciones en problemas multi-objetivo y a la ciencia de datos los modelos hiacutebridos y algunas tendencias futuras del aacuterea

Hiacuteper-heuriacutesticas para Problemas Multi-objetivo Muchos trabajos en la literatura relacionados con hiper-heuriacutesticas para solucionar problemas de optimizacioacuten consideran solamente un objetivo que guiacutea la buacutesqueda de soluciones Sin embargo es natural pensar que en estos problemas existen varios objetivos en conflicto y que la idea es optimizarlos al mismo tiempo

Esto debe plantearse como un problema multi-objetivo y por lo tanto la buacutesqueda de soluciones se debe hacer con un esquema adecuado que facilite ese proceso Para resolver un problema con esa perspectiva es importante definir el problema sus objetivos y el disentildeo del algoritmo que genere la solucioacuten esperada aunque en realidad lo que un algoritmo de este tipo produce es una serie de soluciones que corresponden a los mejores compromisos posibles entre los objetivos en conflicto A estas soluciones se les denomina conjunto de oacuteptimos de Pareto y sus valores correspondientes de las funciones objetivo conforman el denominado frente de Pareto Para ejemplificar este tema usaremos un problema de corte y empacado en dos dimensiones donde se quiere empacar pequentildeas figuras de diferentes tipos y formas en hojas de material rectangulares Lo que se requiere es minimizar el nuacutemero de hojas de materia prima pero al mismo tiempo minimizar tambieacuten el tiempo en que se ejecuta el proceso Estos son claramente dos objetivos que se contraponen por un lado se pueden poner las piezas muy raacutepidamente pero esto no seraacute efectivo en cuanto al nuacutemero de hojas de material y por el otro lado si queremos reducir el

nuacutemero de hojas de material quizaacute requiera maacutes tiempo para terminar el proceso En se usoacute un modelo evolutivo simplificado para representar el estado del problema donde el cromosoma representa un conjunto de puntos en el espacio y cada punto es etiquetado con una heuriacutestica Bajo este esquema el modelo representa una receta para resolver el problema que se puede describir como (a) determinar el estado actual del problema (b) encontrar el punto maacutes cercano a eacutel (c) aplicar la heuriacutestica anexa al punto (d) actualizar el estado Usamos esas ideas y en combinacioacuten con un algoritmo evolutivo multi-objetivo (AEMO) (NSGA-II SPEA2 GDE3) se busca encontrar el conjunto de cromosomas en el frente de Pareto que son capaces de encontrar soluciones a una amplia variedad de problemas tomando en cuenta los dos objetivos El conjunto contiene las hiper-heuriacutesticas que se estaacuten buscando

En la Figura 5 se muestra el esquema utilizado para resolver problemas multi-objetivo para el problema de corte y empacado

Modelo general multi-objetivo mostrando las fases de entrenamiento y prueba

Modelo general multi-objetivo mostrando las fases de entrenamiento y prueba

En la determinacioacuten del estado actual del problema es importante caracterizarlo Para este caso fueron seleccionadas 10 caracteriacutesticas de un conjunto mayor y que son las siguientes

1 Nuacutemero de piezas restantes por empacar

2 Aacuterea promedio de las piezas restantes

3 Varianza en el aacuterea de las piezas restantes

4 Media de la rectangularidad de las piezas restantes

5 Varianza en la rectangularidad de las piezas restantes

6 Media de la altura de las piezas restantes

7 Varianza en el ancho de las piezas restantes

8 Fraccioacuten de las piezas restantes cuya aacuterea es mayor a del aacuterea del objeto

9 Media del grado de concavidad de las piezas restantes

10 Fraccioacuten del total de las piezas restantes

E

S

S

E

12

En la plataforma propuesta para encontrar el conjunto S de mejores hiper-heuriacutesticas en el frente de Pareto se divide el conjunto de instancias en dos tipos entrenamiento y prueba El modelo evolucionaba poblaciones de hiper-heuriacutesticas tomando en cuenta el AEMO La fase de entrenamiento inicia con la generacioacuten de hiper-heuriacutesticas en forma aleatoria para el AEMO Este algoritmos evoluciona la poblacioacuten de acuerdo a su propia metodologiacutea y aplica operadores geneacuteticos para generar nuevas poblaciones considerando el conjunto de entrenamiento para evaluar su rendimiento

Una vez que las mejores hiper-heuriacutesticas se tienen se prueban entonces con las instancias de prueba para comparar los modelos multi-objetivo entre ellos y con respecto a las heuriacutesticas simples adaptadas para el problema usando diferentes meacutetricas

Los resultados obtenidos indican que los modelos eHH-MO son adecuados para construir un conjunto de reglas que permiten resolver el problema bi-objetivo de diversas maneras Los resultados de los modelos eHH-MO han sido comparados contra los obtenidos con las heuriacutesticas simples bajo una serie de experimentos usando tres diferentes meacutetricas como son la distancia generacional (GD) el hipervolumen (HV) y D (dispersioacuten y distribucioacuten) Desde diferentes perspectivas los modelos multi-objetivo superan claramente a los modelos de heuriacutesticas simples Los detalles de la serie de experimentos realizados y su discusioacuten general pueden consultarse en

Transformacioacuten de Caracteriacutesticas en Hiper-heuriacutesticas Una teacutecnica que se ha implementado recientemente se enfoca en el uso de transformaciones matemaacuteticas para mejorar el desempentildeo del modelo de seleccioacuten Al trabajar con una heuriacutestica de seleccioacuten las caracteriacutesticas juegan un papel preponderante en la eficiencia del proceso pues el selector representa una matriz de puntos clave en el espacio de caracteriacutesticas Ademaacutes debemos tener presente que cada problema de optimizacioacuten es diferente por lo que los puntos criacuteticos de una caracteriacutestica difiacutecilmente corresponderaacuten con los de otra Asiacute se inicioacute un proceso para identificar la forma en la que se pudiera establecer una transformacioacuten adecuada a cada problema particular Como resultado se encontroacute que el problema principal que puede resolver la transformacioacuten es el mostrado en la Figura 6 Alliacute se muestra la ubicacioacuten ideal de cuatro reglas (marcadores redondos) y su distancia al estado actual del problema (cuadro blanco) Dos de estas reglas tienen posiciones muy similares (la roja y la azul) por lo que el desempentildeo del selector se torna muy sensible a pequentildeos errores en la ubicacioacuten real de dichas reglas

Sensibilidad de hiper-heuriacutesticas a errores en los valores del selector y su solucioacuten a traveacutes de transformacioacuten de caracteriacutesticas Izquierda Ubicacioacuten ideal de las reglas en el espacio original Derecha Ubicacioacuten ideal de las reglas en el espacio transformado

La Figura 6 tambieacuten muestra la forma como se puede solucionar este problema con la transformacioacuten de caracteriacutesticas La idea es transformar el espacio de cada caracteriacutestica del problema de tal forma que las regiones en conflicto se expandan y las relativamente irrelevantes se compriman Para el ejemplo de la figura esto implica tener mayor resolucioacuten en el espacio cercano a las reglas azul y roja lo que permite un mayor margen de maniobra y por tanto reduce la sensibilidad de la hiper-heuriacutestica De forma similar la zona que pertenece a las dos reglas verdes se comprime Dado que se trata de reglas que ejecutan la misma accioacuten su regioacuten de influencia combinada no seraacute tan sensible a pequentildeos errores de ubicacioacuten Consideremos ahora los casos mostrados en la Figura 7 En la izquierda se muestran dos selectores (uno con dos reglas y otro con cuatro) ambos con dos acciones disponibles roja y azul Al hacer una transformacioacuten de caracteriacutesticas podemos ampliar zonas en conflicto (como ya se mencionoacute arriba) lo que representa una distribucioacuten de las reglas la cual puede incluso modificar la apariencia de las zonas de influencia de cada selector Para nuestro ejemplo dicha transformacioacuten se ve en las imaacutegenes del centro donde la apariencia ha sido parcialmente preservada pero donde se da mayor enfoque a las zonas conflictivas Claro estaacute este proceso no puede ser arbitrario pues podemos tambieacuten generar transformaciones poco uacutetiles como las de la derecha de la figura donde hemos perdido la mayoriacutea de la informacioacuten acerca de las zonas conflictivas por lo que seguramente tendremos un bajo desempentildeo de la hiper-heuriacutestica Detalles de esta investigacioacuten puden ser revisados en

Ejemplo de la forma como la transformacioacuten de caracteriacutesticas puede afectar la apariencia de las zonas de influencia de un selector Izquierda Forma original Centro Transformacioacuten uacutetil que ampliacutea las zonas en conflicto Derecha Transformacioacuten poco uacutetil que destruye informacioacuten sobre las zonas en conflicto

Tendencias Futuras de Hiper-heuriacutesticas Los sistemas inteligentes hiacutebridos son sistemas de software que emplean en paralelo una combinacioacuten de meacutetodos y teacutecnicas de sub-campos de la Inteligencia Artificial La hibridacioacuten de los sistemas inteligentes es un campo de investigacioacuten prometedora de la Inteligencia Computacional moderna para el desarrollo de la proacutexima generacioacuten de sistemas inteligentes Comunidades cientiacuteficas y acadeacutemicas estaacuten cada vez maacutes conscientes de que enfoques combinados podriacutean ser necesarios si se quiere seguir resolviendo los problemas difiacuteciles de la Inteligencia Artificial La integracioacuten de distintas teacutecnicas inteligentes y su adaptacioacuten para superar las limitaciones de los meacutetodos individuales y lograr efectos sineacutergicos a traveacutes de la hibridacioacuten o fusioacuten de estas teacutecnicas ha contribuido a una variedad de nuevos disentildeos dentro del campo de la optimizacioacuten Sin embargo la mayoriacutea de estos enfoques de hibridacioacuten siguen un disentildeo metodoloacutegico ad-hoc que se justifica por el eacutexito en ciertos dominios de aplicacioacuten No obstante se requiere de metodologiacuteas maacutes robustas para la construccioacuten de los sistemas hiacutebridos requeridos para resolver problemas contemporaacuteneos y futuros cada vez maacutes complejos y maacutes grandes

Las hiper-heuriacutesticas como teacutecnicas de buacutesqueda que tratan de automatizar el proceso de generacioacuten seleccioacuten y combinacioacuten de otras heuriacutesticas son un excelente vehiacuteculo para la construccioacuten de sistemas inteligentes hiacutebridos avanzados Recientemente han aparecido los primeros trabajos que proponen formas muy simples y limitadas de combinacioacuten de hiper-

heuriacutesticas Se requiere de estudios maacutes profundos y serios que combinen generacioacuten con seleccioacuten asiacute como estrategias constructivas con perturbativas en formas maacutes elaboradas que mejoren los resultados obtenidos

El desafiacuteo de la hibridacioacuten hiper-heuriacutestica es enorme y complejo Reside primeramente en el modelado de los problemas y de las soluciones (parciales o aproximadas) de forma que a partir de descripciones parameacutetricas o no parameacutetricas el meacutetodo hiacutebrido pueda ir decidiendo la combinacioacuten de meacutetodos heuriacutesticos que iraacute utilizando para guiar la buacutesqueda de la solucioacuten Parte importante del desafiacuteo tambieacuten es la seleccioacuten inteligente de las heuriacutesticas especiacuteficas a los dominios de los problemas las meta-heuriacutesticas y las hiper-heuriacutesticas que formaraacuten el meacutetodo hiacutebrido Otro elemento de complejidad es que cada teacutecnica heuriacutestica incluye paraacutemetros que deben ser ajustados adecuadamente para que trabajen de forma correcta y eso podriacutea ser requerido durante la ejecucioacuten del meacutetodo Finalmente como se quieren meacutetodos hiacutebridos que maximicen su desempentildeo tambieacuten se deberaacuten seleccionar o disentildear las meacutetricas para medir la efectividad y eficiencia de los algoritmos utilizados

Son demasiadas posibilidades las que hay que considerar y demasiada informacioacuten relacionada tanto con las instancias de los problemas a resolver los meacutetodos de solucioacuten sus hiper-paraacutemetros su hibridacioacuten y el efecto de sus decisiones durante la solucioacuten de los problemas Los investigadores ya estaacuten abordando algunos esfuerzos en estas direcciones a traveacutes del aprendizaje automaacutetico y el uso de teacutecnicas estadiacutesticas pero mucha de la praacutectica es primordialmente artesanal Se requiere el uso de metodologiacuteas cientiacuteficas maacutes maduras y desarrolladas para manejar la gran cantidad de datos que se genera en el proceso

Dado que la Ciencia de Datos es la capacidad de extraer conocimientos e ideas de grandes cantidades de datos y datos complejos la construccioacuten de meacutetodos hiacutebridos para optimizacioacuten mediante hiper-heuriacutesticas son un buen motivo para su aplicacioacuten

La Ciencia de Datos intenta comprender las complejidades de las actividades del mundo real y el contexto a partir del anaacutelisis de los datos para mejorar los beneficios que pueden obtenerse de ellos Los algoritmos de optimizacioacuten en tiempo real estaacuten estrechamente vinculados al contexto de sus datos Luego utilizar las teacutecnicas de Ciencia de Datos permitiraacute aprovechar el conjunto histoacuterico de datos asiacute como los datos generados en tiempo real durante la buacutesqueda de soluciones para los problemas de optimizacioacuten El proceso de Ciencia de Datos se puede aplicar al ajuste automaacutetico de los algoritmos su configuracioacuten y su adaptacioacuten para crear mejores meacutetodos de optimizacioacuten

El desarrollo de algoritmos de buacutesqueda poderosos se asemeja a la solucioacuten de los problemas de optimizacioacuten La hibridacioacuten de optimizadores mediante hiper-heuriacutesticas incluye una gran

cantidad de paraacutemetros y generalmente ofrecen muchas opciones El desafiacuteo para la Ciencia de Datos es maacutes complejo debido a la naturaleza estocaacutestica de los meacutetodos de solucioacuten Para explotar el poder real de estas teacutecnicas y resolver los problemas de manera eficiente el desarrollador debe seleccionar los mejores valores y tomar las decisiones correctas

En la uacuteltima deacutecada se han desarrollado varias teacutecnicas para la optimizacioacuten de paraacutemetros la construccioacuten automaacutetica de algoritmos y la creacioacuten de hiper-heuriacutesticas para generar o seleccionar algoritmos pero la Ciencia de Datos tiene mucho que aportar para explotar al maacuteximo el potencial de las teacutecnicas novedosas de buacutesqueda existentes No se debe de buscar un meacutetodo ideal sino crear metodologiacuteas adecuadas a los diferentes dominios de problemas Estas metodologiacuteas deben ser robustas de manera que permitan construir meacutetodos poderosos a partir de la descripcioacuten de esquemas de recoleccioacuten procesamiento exploracioacuten visualizacioacuten aprendizaje y explotacioacuten de datos adecuados a los problemas especiacuteficos a resolver

Aunque actualmente hay un boom en el desarrollo de aplicaciones de Ciencia de Datos en muchos dominios y hay un gran esfuerzo de grupos de personas para desarrollar meacutetodos de buacutesqueda para dominios especiacuteficos la aplicacioacuten de la Ciencia de Datos en la construccioacuten de meacutetodos de optimizacioacuten requiere habilidades inherentemente diferentes y hay muy pocos trabajos especiacuteficos sobre el tema Iniciativas como lsquoData Science meets Optimizationrsquo promovida por grupos creados hace poco como el grupo europeo EWG DSO confirman la relevancia y el potencial del tema

Para saber maacutes El nuacutemero de trabajos relacionados a hiper-heuriacutesticas se ha incrementado significativamente en la uacuteltima deacutecada Como resultado una gran cantidad de recursos se encuentran disponibles en diversas fuentes El lector interesado en conocer a maacutes detalle los diferentes tipos de hiper-heuriacutesticas y sus aplicaciones puede consultar estudios de referencia como y Una lista muy completa sobre los trabajos relacionados a hiper-heuriacutesticas se encuentra disponible en liacutenea en httpsmustafamisirgithubiohhhtml

Debido al intereacutes que las hiper-heuriacutesticas han despertado en los investigadores diversas conferencias y talleres han dedicado espacios para este tipo de trabajos Por ejemplo Genetic and Evolutionary Computation Conference (GECCO) que desde el 2011 ha proporcionado espacios en sus categoriacuteas Self- Search (2011 al 2016) y Search-Based Software Engineering (a partir del 2017) International Conference on Parallel Problem Solving from Nature (PPSN) con talleres en el tema en las ediciones del 2008 y 2016 IEEE Congress on Evolutionary Computation (CEC) con sesiones especiales sobre hiper-heuriacutesticas en sus ediciones del 2013 y

2016 En cuanto a competencias internacionales sobre la materia destacan las dos ediciones del Cross-domain Heurisic Search Challenge (CHeSC) La competencia consistiacutea en disentildear estrategias de alto nivel que controlaran la aplicacioacuten de heuriacutesticas de bajo nivel para dominios especiacuteficos Durante el reto las heuriacutesticas de bajo nivel seriacutean diferentes para cada dominio del problema pero la estrategia de alto nivel debiacutea ser la misma para todos los dominios El reto se enfocaba en el desempentildeo de los meacutetodos de optimizacioacuten en diferentes dominios de problemas en lugar de concentrarse soacutelo en uno

En cuanto a herramientas para la implementacioacuten de hiper-heuriacutesticas la literatura contiene pocos ejemplos entre los que destacan Hyperion HyFlex y EvoHyp No todas las herramientas se encuentran disponibles en este momento ya que algunos de los sitios para su distribucioacuten han sido descontinuados En cualquier caso es posible contactar a los autores para solicitar acceso a las herramientas

Adicionalmente a estos recursos en el 2013 se formoacute la IEEE Task Force on Hyper-heuristics 7

dedicada al desarrollo y aplicaciones de hiper-heuriacutesticas y a su interseccioacuten con la inteligencia artificial la inteligencia computacional y la investigacioacuten de operaciones El sitio del grupo de trabajo proporciona muchos recursos uacutetiles en el tema de hiper-heuriacutesticas

Conclusiones Este capiacutetulo ha presentado el tema de hiper-heuriacutesticas desde diferentes perspectivas con la idea de dar al lector una panoraacutemica general pero suficientemente detallada para que pueda conocer el tema y pueda empezar a realizar avances a traveacutes de la investigacioacuten en el aacuterea o en la aplicacioacuten de las teacutecnicas para resolver problemas en el dominio de optimizacioacuten El capiacutetulo ha explicado el detalle los principales tipos de hiper-heuriacutesticas y sus fundamentos y los diversos modelos que se han generado en la literatura principalmente basados en modelos evolutivos y neuronales y entendiendo que no son los uacutenicos El capiacutetulo provee discusioacuten sobre aspectos avanzados en hiper-heuriacutesticas y que se han derivado en trabajos recientes como es el tratamiento de hiper-heuriacutesticas en problemas multi-objetivo y la transformacioacuten de caracteriacutesticas que permite mejorar el rendimiento de esquemas de hiper-heuriacutesticas En trabajos recientes se han presentado resultados al hibridizar tipos de hiper-heuriacutesticas como por ejemplo las de seleccioacuten con las de generacioacuten las de construccioacuten con las de generacioacuten los tipos de aprendizaje etc Hay todaviacutea un espacio para continuar investigando dentro de ese contexto Con el reciente impacto del tema de big-data se ha empezado a discutir en la comunidad cientiacutefica la relacioacuten de Ciencia de Datos con optimizacioacuten Aquiacute cabe naturalmente el toacutepico de hiper-

httpssitesgooglecomsiteieeetaskforceonhyperheurisitcshome7

heuriacutesticas dado que Ciencia de Datos puede apoyar para generar mejores algoritmos de optimizacioacuten y ciertamente los modelos de optimizacioacuten pueden incidir favorablemente para mejorar los procesos en ciencia de datos

Al final el capiacutetulo presentoacute una serie de recursos que pueden servir como base a estudiantes e investigadores para perseguir el tema de hiper-heuriacutesticas

  • Proacutelogo
  • Introduccioacuten
  • El algoritmo de Evolucioacuten Diferencial
  • Mutacioacuten
  • Cruza
  • Seleccioacuten
  • Estructura del Algoritmo
  • Modificaciones al algoritmo de Evolucioacuten Diferencial
  • Ajuste de paraacutemetros globales
  • Ajuste de paraacutemetros asociados a cada individuo de la poblacioacuten
  • Ajuste del tamantildeo de la poblacioacuten
  • Combinacioacuten de variantes
  • Evolucioacuten Diferencial para otros tipos de problemas
  • DE en Meacutexico
  • Conclusiones
  • Para saber maacutes
  • Introduccioacuten
  • AGds homogeacuteneos y heterogeacuteneos
  • Migracioacuten en AGPs
  • AGs celulares o de grano fino
  • Explotacioacutenexploracioacuten por propiedades estructurales
  • Presioacuten de seleccioacuten por caracteriacutesticas estructurales
  • Anaacutelisis empiacuterico
  • Aceleracioacuten en AGP
  • Concepto de sincronismo en AGPs
  • En AGPs distribuidos viacutea migracioacuten
  • En AGP celulares viacutea criterios de actualizacioacuten
  • Discusioacuten
  • Investigacioacuten de AGPs en Meacutexico
  • Para saber maacutes
  • Introduccioacuten
  • Proceso evolutivo
  • Representacioacuten
  • Poblacioacuten inicial
  • Operadores Geneacuteticos
  • Recombinacioacuten
  • Mutacioacuten
  • Seleccioacuten
  • Espacio de buacutesqueda
  • Conclusiones
  • Para saber maacutes
  • Introduccioacuten
  • Preservacioacuten de diversidad en algoritmos evolutivos
  • Clasificaciones de mecanismos para promover la diversidad
  • Esquemas claacutesicos para administrar la diversidad
  • Esquemas de reemplazamiento basados en diversidad
  • Diversidad en evolucioacuten diferencial
  • Disentildeo de evolucioacuten diferencial basado en diversidad
  • Evolucioacuten diferencial Conceptos baacutesicos
  • Inicializacioacuten
  • Operador de mutacioacuten
  • Operador de cruza
  • Operador de seleccioacuten
  • Propuesta basada en diversidad
  • Resultados de de-edm
  • Disentildeo de operadores de cruza basados en diversidad
  • Algoritmos evolutivos multi-objetivo
  • Operadores de cruza
  • El operador de cruza basado en simulacioacuten binaria - SBX
  • Implementacioacuten y anaacutelisis del operador sbx
  • Propuesta - dsbx
  • Resultados
  • Anaacutelisis de cada modificacioacuten en el operador sbx
  • Modificacioacuten simultaacutenea de varios componentes
  • Conclusiones y trabajo futuro
  • Para saber maacutes
  • Agradeciemientos
  • Introduccioacuten
  • Fundamentos de las Hiper-heuriacutesticas
  • Hiper-heuriacutesticas que seleccionan heuriacutesticas
  • Hiper-heuriacutesticas que generan nuevas heuriacutesticas
  • Modelos de Hiper-heuriacutesticas
  • Modelos Evolutivos
  • Hiper-Heuriacutesticas basadas en Algoritmos Geneacuteticos
  • Hiper-Heuriacutesticas basadas en Programacioacuten Geneacutetica
  • Modelos Neuronales
  • Un ejemplo
  • El problema
  • Las alternativas
  • La informacioacuten del problema
  • Nuestra primer hiper-heuriacutestica
  • Otras hiper-heuriacutesticas
  • Las hiper-heuriacutesticas como un problema de optimizacioacuten
  • Aspectos Avanzados de las Hiper-heuriacutesticas
  • Hiacuteper-heuriacutesticas para Problemas Multi-objetivo
  • Transformacioacuten de Caracteriacutesticas en Hiper-heuriacutesticas
  • Tendencias Futuras de Hiper-heuriacutesticas
  • Para saber maacutes
  • Conclusiones
Page 7: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos

constituyen sin lugar a dudas uno de los temas maacutes ricos de investigacioacuten dentro de las metaheurısticas

Doctor Carlos Artemio Coello Coello

Indice general

Proacutelogo 5

Introduccioacuten 13

El algoritmo de Evolucioacuten Diferencial 15

Mutacioacuten 16

Cruza 18

Seleccioacuten 20

Estructura del Algoritmo 20

Modificaciones al algoritmo de Evolucioacuten Diferencial 21

Ajuste de paraacutemetros globales 22

Ajuste de paraacutemetros asociados a cada individuo de la poblacioacuten 23

Ajuste del tamantildeo de la poblacioacuten 26

Combinacioacuten de variantes 27

Evolucioacuten Diferencial para otros tipos de problemas 29

DE en Meacutexico 30

Conclusiones 30

Para saber maacutes 31

Introduccioacuten 32

AGds homogeacuteneos y heterogeacuteneos 35

Migracioacuten en AGPs 37

AGs celulares o de grano fino 39

Explotacioacutenexploracioacuten por propiedades estructurales 40

Presioacuten de seleccioacuten por caracteriacutesticas estructurales 43

Anaacutelisis empiacuterico 45

Aceleracioacuten en AGP 46

Concepto de sincronismo en AGPs 47

En AGPs distribuidos viacutea migracioacuten 48

En AGP celulares viacutea criterios de actualizacioacuten 49

Discusioacuten 50

Investigacioacuten de AGPs en Meacutexico 50

Para saber maacutes 51

Introduccioacuten 53

Proceso evolutivo 55

Representacioacuten 56

Poblacioacuten inicial 58

Operadores Geneacuteticos 59

Recombinacioacuten 59

Mutacioacuten 60

Seleccioacuten 61

Espacio de buacutesqueda 62

Conclusiones 63

Para saber maacutes 63

Introduccioacuten 64

Preservacioacuten de diversidad en algoritmos evolutivos 67

Clasificaciones de mecanismos para promover la diversidad 67

Esquemas claacutesicos para administrar la diversidad 68

Esquemas de reemplazamiento basados en diversidad 69

Diversidad en evolucioacuten diferencial 71

Disentildeo de evolucioacuten diferencial basado en diversidad 72

Evolucioacuten diferencial Conceptos baacutesicos 72

Inicializacioacuten 72

Operador de mutacioacuten 72

Operador de cruza 73

Operador de seleccioacuten 73

Propuesta basada en diversidad 74

Resultados de de-edm 77

Disentildeo de operadores de cruza basados en diversidad 87

Algoritmos evolutivos multi-objetivo 87

Operadores de cruza 89

El operador de cruza basado en simulacioacuten binaria - SBX 89

Implementacioacuten y anaacutelisis del operador sbx 90

Propuesta - dsbx 92

Resultados 93

Anaacutelisis de cada modificacioacuten en el operador sbx 95

Modificacioacuten simultaacutenea de varios componentes 96

Conclusiones y trabajo futuro 97

Para saber maacutes 98

Agradeciemientos 99

Introduccioacuten 100

Fundamentos de las Hiper-heuriacutesticas 102

Hiper-heuriacutesticas que seleccionan heuriacutesticas 103

Hiper-heuriacutesticas que generan nuevas heuriacutesticas 105

Modelos de Hiper-heuriacutesticas 106

Modelos Evolutivos 106

Hiper-Heuriacutesticas basadas en Algoritmos Geneacuteticos 106

Hiper-Heuriacutesticas basadas en Programacioacuten Geneacutetica 107

Modelos Neuronales 109

Un ejemplo 109

El problema 110

Las alternativas 110

La informacioacuten del problema 111

Nuestra primer hiper-heuriacutestica 112

Otras hiper-heuriacutesticas 112

Las hiper-heuriacutesticas como un problema de optimizacioacuten 113

Aspectos Avanzados de las Hiper-heuriacutesticas 115

Hiacuteper-heuriacutesticas para Problemas Multi-objetivo 115

Transformacioacuten de Caracteriacutesticas en Hiper-heuriacutesticas 117

Tendencias Futuras de Hiper-heuriacutesticas 119

Para saber maacutes 121

Conclusiones 122

Evolucioacuten Diferencial una breve introduccioacuten Rafael Rivera Loacutepez

Efreacuten Mezura Montes

En este capiacutetulo se hace una descripcioacuten general del algoritmo de Evolucioacuten Diferencial Este tipo de algoritmo evolutivo representa una excelente alternativa para encontrar soluciones cercanas al oacuteptimo a problemas de optimizacioacuten continua complejos Debido a la simplicidad de su implementacioacuten y sus excelentes habilidades de exploracioacuten y explotacioacuten diversas variantes de este algoritmo se han aplicado para resolver problemas con diferentes caracteriacutesticas En este capiacutetulo se describen los elementos baacutesicos del algoritmo asiacute como las diferentes variantes que se han desarrollado para mejorar su desempentildeo

Introduccioacuten Con el nombre de algoritmos evolutivos se identifica a un grupo de procedimientos que se utilizan para resolver muchos problemas praacutecticos y que se distinguen de otras teacutecnicas porque estaacuten inspirados en las teoriacuteas que sintetizan la evolucioacuten Darwiniana y la herencia geneacutetica descrita por Mendel Los algoritmos evolutivos han probado ser herramientas poderosas para encontrar soluciones aceptables a problemas donde otras teacutecnicas fallan o consumen una excesiva cantidad de tiempo Estos algoritmos se destacan por combinar exitosamente dos mecanismos de buacutesqueda exploracioacuten y explotacioacuten La exploracioacuten permite identificar aacutereas prometedoras del espacio de buacutesqueda y la explotacioacuten lleva a cabo una buacutesqueda especializada dentro de estas aacutereas para encontrar soluciones cercanas al oacuteptimo Su aplicacioacuten se extiende en praacutecticamente todas las aacutereas de la actividad humana como por ejemplo en salud educacioacuten ciencias industria economiacutea y defensa Los algoritmos evolutivos tambieacuten han sido utilizados en aacutereas emergentes como la ciencia de datos la inteligencia de negocios y el big data En estos algoritmos un conjunto de soluciones candidatas evoluciona para alcanzar una solucioacuten cercana al oacuteptimo por la aplicacioacuten de procedimientos que permiten recombinar y alterar sus valores En la jerga de los especialistas del aacuterea una solucioacuten candidata se conoce como individuo al conjunto de soluciones se denomina poblacioacuten y los procedimientos involucrados en el proceso evolutivo se identifican como operadores de seleccioacuten cruzamiento y mutacioacuten Comuacutenmente dos individuos son seleccionados y sus valores son recombinados y algunas veces mutados para crear nuevas soluciones candidatas Los nuevos individuos son considerados parte de una nueva poblacioacuten que sustituye a la anterior Entonces una secuencia de nuevas poblaciones son creadas hasta que una condicioacuten de teacutermino es alcanzada y la mejor solucioacuten de

las uacuteltima poblacioacuten es seleccionada como resultado del algoritmo Este proceso evolutivo es guiado por una funcioacuten de aptitud que determina la calidad de cada individuo en la poblacioacuten La figura 1 muestra el esquema general de un algoritmo evolutivo

Esquema general de un algoritmo evolutivo

A lo largo de su desarrollo histoacuterico varios tipos de algoritmos evolutivos han sido implementados difiriendo en la forma de representar a sus individuos y en la implementacioacuten de sus operadores geneacuteticos Auacuten cuando en los antildeos 50 varios autores introducen los teacuterminos evolucioacuten y proceso evolutivo en sus propuestas para resolver diversos problemas es en los antildeos 60 cuando se sientan las bases del desarrollo de los algoritmos evolutivos con la introduccioacuten de tres teacutecnicas la Programacioacuten Evolutiva las Estrategias Evolutivas y los Algoritmos Geneacuteticos Fogel propone en 1962 la Programacioacuten Evolutiva donde las soluciones candidatas se representan con maacutequinas de estados finitos y Rechenberg y Schwefel en 1965 desarrollan las Estrategias Evolutivas que codifican sus individuos con vectores de nuacutemeros reales Los Algoritmos Geneacuteticos introducidos en 1962 por Holland son sin duda el tipo de algoritmo evolutivo maacutes popular Estos algoritmos tradicionalmente utilizan una cadena binaria para representar a sus individuos aunque tambieacuten se han utilizado cadenas de enteros y secuencias de nuacutemeros reales Desarrollos posteriores a estas teacutecnicas han aportado al eacutexito de los algoritmos evolutivos destacaacutendose la Programacioacuten Geneacutetica los Algoritmos Coevolutivos los Algoritmos Culturales el algoritmo de Evolucioacuten Diferencial los Algoritmos de Estimacioacuten de Distribuciones la Evolucioacuten Gramatical y la Programacioacuten de Expresioacuten de Genes Cada uno de estos algoritmos tienen sus ventajas y sus propios desafiacuteos y han sido utilizados para resolver diferentes tipos de problemas La figura 2 muestra un esquema del desarrollo histoacuterico de los

algoritmos evolutivos En particular el algoritmo de Evolucioacuten Diferencial ha demostrado ser muy competitivo y exitoso para resolver problemas numeacutericos complejos en comparacioacuten con otros algoritmos

Liacutenea del tiempo del desarrollo de los algoritmos evolutivos

El algoritmo de Evolucioacuten Diferencial Evolucioacuten Diferencial (DE por sus siglas en ingleacutes) es un tipo de algoritmo evolutivo que fue originalmente disentildeado por Storn y Price en 1995 para resolver problemas de optimizacioacuten continua En particular en este algoritmo cada individuo usualmente se representa con un vector de valores continuos de paraacutemetros Ademaacutes en lugar de implementar los operadores de cruza y mutacioacuten tradicionales el algoritmo crea cada nuevo individuo con una combinacioacuten lineal de los valores de dos o maacutes individuos de la poblacioacuten actual que son seleccionados al azar La forma en que se implementan los operadores de cruza y mutacioacuten se ha utilizado en la literatura para identificar las diferentes variantes del algoritmo DEABC es la notacioacuten comuacutenmente usada para nombrar estas variantes donde A y B determinan el tipo de mutacioacuten implementado y C identifica el tipo de cruza implementado por la variante En particular A representa el procedimiento de seleccioacuten de los individuos para construir el individuo mutado y B es el nuacutemero de vectores diferencia usados para el operador de mutacioacuten DE puede considerarse un proceso de tres pasos que incluye una fase de inicializacioacuten el proceso evolutivo y el paso final que determina el resultado obtenido La fase de inicializacioacuten involucra la seleccioacuten y evaluacioacuten de un grupo de NP individuos que son generados aleatoriamente de un espacio de buacutesqueda finito los cuales se utilizan como poblacioacuten inicial del algoritmo conocido como Si para cada y son los valores miacutenimo y maacuteximo del -eacutesimo paraacutemetro en el valor del -eacutesimo individuo en la poblacioacuten inicial es determinado como sigue

x = (x1 x2 hellip xn) n

Ω sube ℝn

X0 j isin 1 hellip n xminj xmax

jj Ω xi

j i xi

donde es un nuacutemero aleatorio uniformemente distribuido dentro del rango El proceso evolutivo implementa un esquema iterativo para evolucionar la poblacioacuten inicial En cada iteracioacuten de este proceso conocido como una generacioacuten una nueva poblacioacuten de individuos es generada utilizando informacioacuten de la poblacioacuten previamente creada A diferencia de otros algoritmos evolutivos el orden de aplicacioacuten de los operadores geneacuteticos en el algoritmo de Evolucioacuten Diferencial es diferente Primero se aplica la mutacioacuten despueacutes la cruza y al final se lleva a cabo la seleccioacuten del mejor individuo Para cada en la generacioacuten es obtenido de la poblacioacuten y es utilizado para crear un nuevo vector aplicando los operadores de cruza y mutacioacuten Los vectores y son conocidos como el vector objetivo y el vector de prueba respectivamente Estos vectores son evaluados por el operador de seleccioacuten para actualizar la nueva poblacioacuten Los operadores de mutacioacuten cruza y seleccioacuten son descritos en detalle en los siguientes paacuterrafos En el paso final cuando una condicioacuten de paro es alcanzada el algoritmo devuelve el mejor individuo en la poblacioacuten actual La condicioacuten de paro maacutes comuacutenmente utilizada es comparar el nuacutemero de generaciones construidas contra un valor fijo pero otros criterios pueden ser implementados como aquellos descritos por Zielinski y Laur

Mutacioacuten Un vector mutado es construido al combinar los valores de varios individuos aleatoriamente seleccionados de El nuacutemero de individuos seleccionados para realizar la combinacioacuten depende del operador de mutacioacuten implementado por la variante del algoritmo En alguna de estas variantes el individuo con la mejor aptitud en la poblacioacuten es tambieacuten utilizado por el operador de mutacioacuten Entre los diferentes operadores de mutacioacuten descritos en la literatura destacan los siguientes

$$beginaligned

textDErand1quad v^i amp= x^r_1 + textF big( x^r_2 - x^r_3 big)labeleqmut_1

textDEbest1quad v^i amp= x^textbest + textF big( x^r_1 - x^r_2 big) labeleqmut_2

textDEcurrent-to-best1quad v^i amp= x^i + textF big( x^textbest - x^r_1big) + textF big( x^r_2 - x^r_3 big) labeleqmut_3

xij = xmin

j + r (xmaxj minus xmin

j )

r [0 1]

i isin 1 hellip NP g xi

Xgminus1 ui

xi ui

Xgω

vi xrj

Xgminus1

xbest Xgminus1

textDErand2quad v^i amp= x^r_1 + textF big( x^r_2 - x^r_3 big)+textF big( x^r_4 - x^r_5 big) labeleqmut_4

shortintertexty

textDEbest2quad v^i amp= x^textbest + textF big( x^r_1 - x^r_2 big )+ textF big( x^r_3 - x^r_4 big ) labeleqmut_5 endaligned$$

donde F es un valor definido por el usuario que representa un factor de escala aplicado para controlar la variacioacuten diferencial Storn y Price sentildealan que F puede fijarse entre 0 y 2 pero otros autores recomiendan valores entre 04 y 1 En la figura 3 se presenta un ejemplo de la aplicacioacuten del operador de mutacioacuten DErand1 En este ejemplo = = y = Usando F igual a 05 el vector mutado resultante es =

Ejemplo de la creacioacuten de un vector mutado con el esquema DErand1

La mutacioacuten aporta a las habilidades de explotacioacuten y exploracioacuten del meacutetodo Debido a que al inicio del proceso evolutivo los individuos se encuentran relativamente dispersos en el espacio

xr1 (1056 316) xr2

(253 903) xr3 (56 626) vi

(902 454)

de buacutesqueda la diferencia entre los vectores seleccionados es grande por lo que los vectores mutados pueden ubicarse en diferentes aacutereas del espacio de buacutesqueda pero a medida que el proceso evolutivo avanza las soluciones se vuelven maacutes cercanas y las diferencias entre ellos son maacutes pequentildeas lo que produce que los vectores mutados se encuentran concentrados en aacutereas promisorias del espacio de buacutesqueda

Cruza El operador de cruza se utiliza para combinar la informacioacuten entre el vector objetivo y el vector mutado para construir el vector de prueba Por cada o se seleccionan para construir usando un factor de cruza el cual es tambieacuten un valor especificado por el usuario Dos tipos de cruza se utilizan en este caso cruza binomial y cruza exponencial

Cruza binomial En este operador cada valor asignado a es seleccionado de o de comparando el valor CR con un valor seleccionado al azar Para garantizar que al menos un paraacutemetro de toma un valor de este operador utiliza un valor tambieacuten seleccionado al azar Formalmente la cruza binomial se define como

Tomando el vector mutado = del ejemplo de la figura 3 y un vector objetivo = en la figura 4 se muestra un ejemplo de la creacioacuten de un vector de prueba usando la cruza binomial El vector de prueba generado en este ejemplo es =

xr2 minus xr3

j isin 1 hellip n xij vi

jui CR isin [0 1]

ui vi xi

r isin [0 1] ui

vi l isin 1 hellip n

bin uij =

vij si r le CR or j = l

xij de otra forma

vi (902 454) xi

(406 766)ui (406 454)

Ejemplo de la creacioacuten de un vector de prueba usando la cruza binomial

Cruza exponencial Este operador de cruza asigna una secuencia de valores de a Los valores restantes que son asignados a son obtenidos de El tamantildeo de la secuencia se determina con dos valores 1) un iacutendice que representa la posicioacuten inicial de la secuencia en seleccionado aleatoriamente dentro del rango y 2) el nuacutemero de intentos consecutivos en los cuales determina la posicioacuten final de la secuencia como es definida en la Ec ([eqcr_exp]) La cruza exponencial es similar al operador de cruza de dos puntos introducido por Cavicchio

$$beginaligned

textexpquad u_j^i amp=

begincases

v_j^i amp textsi $ l leq j leq min (l+L-1n)$

vi ui

ui xi

l vi

1 hellip n L le n r le CR

x_j^i amp textde otra forma

endcases labeleqcr_expendaligned$$

Por ejemplo si se tienen dos vectores de cinco paraacutemetros = y = y se aplica el operador de cruza exponencial usando un factor de cruza de 06 entonces se debe obtener el valor de y despueacutes generar una secuencia de valores aleatorios para Si =2 y la secuencia de valores de es 06 03 04 y 06 y el vector de prueba que se construye es =

La cruza ayuda al algoritmo a mantener la diversidad de la poblacioacuten y eventualmente evitar que caiga en oacuteptimos locales El valor de CR es complicado de determinar pero algunos autores sentildealan que su valor puede ajustarse entre 03 y 09

Seleccioacuten Un torneo uno-a-uno es aplicado para determinar cual vector entre y es seleccionado como miembro de la nueva poblacioacuten Este esquema de seleccioacuten permite garantizar que el proceso evolutivo mantenga una mejora continua

Estructura del Algoritmo El Algoritmo [algDE] muestra la estructura de una implementacioacuten claacutesica del algoritmo Eacuteste requiere de tres paraacutemetros para controlar el proceso evolutivo (CR F y NP) y tambieacuten la seleccioacuten de un espacio de buacutesqueda para construir la poblacioacuten inicial y la definicioacuten del tamantildeo de individuo de una funcioacuten objetivo para evaluar cada individuo y de una condicioacuten de paro para finalizar el proceso evolutivo

Entrada Salida Un individuo generado aleatoriamente usando la Ec ([eqinicial]) Vector objetivo obtenido aleatoriamente de Vector mutado generado usando alguna de las Ecs ([eqmut_1])ndash([eqmut_5]) Vector de prueba construido usando alguna de las Ecs ([eqcr_bin])ndash([eqcr_exp])

DE tiene varias ventajas en comparacioacuten con otros algoritmos evolutivos como la simplicidad de su implementacioacuten su habilidad para producir mejores resultados que aquellos obtenidos por los demaacutes y su baja complejidad espacial

vi (24 36 12 78 02) xi

(34 96 12 52 31)l

r l rui (24 96 12 52 02)

xi ui

Xg

g larr 0 Xg larr xi larrXg larr Xg cup (i xi) g larr g + 1 Xg larr xi larr

Xgminus1 vi larrui larrXg larr Xg cup (i ui) Xg larr Xg cup (i xi) xbest

Modificaciones al algoritmo de Evolucioacuten Diferencial Aunque DE requiere de la definicioacuten de un nuacutemero menor de paraacutemetros en comparacioacuten con el nuacutemero de paraacutemetros requeridos por otros algoritmos evolutivos su desempentildeo es sensible a los valores seleccionados de CR F y NP Varios autores sentildealan que los valores adecuados para estos paraacutemetros pueden variar para diferentes problemas y es conocido que la definicioacuten de estos paraacutemetros depende de las caracteriacutesticas propias de cada problema Ademaacutes Lampinen y Zelinka sentildealan que este algoritmo puede presentar el problema de estancamiento debido a una incorrecta seleccioacuten de sus paraacutemetros El estancamiento en un algoritmo se presenta cuando eacuteste no converge a alguna solucioacuten y la poblacioacuten presenta una gran diversidad de individuos Por lo anterior la mayoriacutea de los estudios realizados para mejorar el desempentildeo del algoritmo de Evolucioacuten Diferencial se relacionan con teacutecnicas para ajustar los valores de sus paraacutemetros (F CR y NP) y para combinar las ventajas de las diferentes variantes del algoritmo usando un subconjunto de ellas en lugar de solamente aplicar una variante En los siguientes paacuterrafos se describen las propuestas para mejorar el desempentildeo del algoritmo que se consideran los maacutes representativos en la literatura especializada Para simplificar su descripcioacuten estas propuestas se agrupan de acuerdo al criterio utilizado Ajuste de paraacutemetros y combinacioacuten de variantes Por un lado debido a que F y CR son los paraacutemetros del algoritmo maacutes estudiados y donde maacutes variantes de mejora han sido desarrolladas estos estudios se agrupan en enfoques que usan paraacutemetros globales y enfoques que usan paraacutemetros para cada individuo Adicionalmente se presentan los enfoques relacionados con el ajuste del tamantildeo de la poblacioacuten y tambieacuten aquellos donde se modifica la forma que generar los vectores mutados dentro del proceso evolutivo La figura 5 presenta un esquema del desarrollo histoacuterico de estos enfoques

Liacutenea del tiempo de las modificaciones a DE

Ajuste de paraacutemetros globales En estos enfoques los operadores geneacuteticos utilizan los mismos valores para F y CR en todos los individuos de una misma poblacioacuten como se ilustra en la figura 6 Estos valores se actualizan al finalizar cada generacioacuten con el aacutenimo de mejorar las habilidades de exploracioacuten y explotacioacuten del algoritmo Dos enfoques se concentran en ajustar el valor de F manteniendo fijo el valor de CR En 2004 Ali y Toumlrn lo actualizan considerando la aptitud del mejor y del peor individuo en la poblacioacuten y Das et al en 2005 proponen dos enfoques para modificar su valor el primero lo modifica de forma aleatoria y el segundo reduce su valor de forma lineal conforme el proceso evolutivo avanza Por otro lado Liu y Lampinen en 2005 proponen un enfoque diferente al cual denominan FADE (Fuzzy Adaptive DE algorithm) En este algoritmo los valores de F y CR se ajustan usando un sistema de control loacutegico difuso El sistema utiliza las diferencias entre generaciones sucesivas tanto de los valores de los individuos como de sus valores de aptitud Finalmente Dra et al en 2015 proponen una versioacuten alternativa denominada SinDE (Sinusoidal DE) en donde los valores de F y CR se ajustan utilizando foacutermulas trigonomeacutetricas permitiendo cambiar la direccioacuten del vector diferencia dentro del operador de mutacioacuten

Esquema de ajuste de paraacutemetros globales del algoritmo

Ajuste de paraacutemetros asociados a cada individuo de la poblacioacuten En este tipo de algoritmos cada individuo de la poblacioacuten tiene asociado su propio conjunto de paraacutemetros como se muestra en la figura 7 Estos paraacutemetros se ajustan de forma independiente dentro del proceso evolutivo como se esquematiza en la figura 8

Paraacutemetros asociados a cada individuo de la poblacioacuten

En 2005 Omran et al asocian el valor de F a cada individuo de la poblacioacuten en su meacutetodo denominado SDE (self-adaptive DE) Este meacutetodo actualiza el valor de F combinando los valores de F de tres individuos de la poblacioacuten actual que son seleccionados aleatoriamente En 2006 Brest et al describen su meacutetodo denominado jDE donde los valores de F y CR se pueden modificar en cada iteracioacuten del proceso evolutivo basados en una decisioacuten estocaacutestica utilizando un par de umbrales previamente definidos En 2007 Zhang y Sanderson implementan un meacutetodo conocido como JADE donde F y CR son ajustados utilizando distribuciones normales independientes cuya media es calculada usando el promedio de los vectores mutados mejor adaptados en cada iteracioacuten En 2011 Ghosh et al actualizan los valores de estos paraacutemetros en base al valor de aptitud de los individuos en la poblacioacuten en un meacutetodo denominado FiADE (Fitness-Adaptive DE) Una versioacuten parecida es presentada en 2015 por Tang et al en el meacutetodo llamado IDE (DE with an individual-dependent mechanism) En 2011 Bi y Xiao describen el meacutetodo p-ADE (pbest vector-based self-adaptive DE variant) donde el vector mutado se crea usando el mejor individuo en la poblacioacuten y el mejor de los vectores que se utilizaron para crear al vector objetivo Los valores de F y CR de cada individuo son ajustados usando un factor asociado a las mejores y peores aptitudes de los individuos en la poblacioacuten En 2012 Islam et al introdujeron el meacutetodo llamado MDEpBX (modified DE with p-best crossover) donde se modifica la variante DEcurrent-to-best1 al utilizar el mejor elemento de un grupo de individuos seleccionados aleatoriamente de la poblacioacuten actual en lugar de usar el mejor individuo de la poblacioacuten Los valores de los paraacutemetros se ajustan en base a un par de distribuciones independientes que son actualizadas al final de cada generacioacuten En 2013 Tanabe y Fukunaga implementan el meacutetodo SHADE (Success-History based Adaptive DE) que basaacutendose en JADE actualiza los valores de F y CR usando una memoria de los vectores mutados que han sido exitosamente seleccionados previamente dentro del proceso evolutivo A partir de SHADE

varias versiones se han desarrollado como el meacutetodo L-convSHADE (SHADE using covariance matrix learning with Euclidean Neighborhood) y el meacutetodo LSHADE-SPA (LSHADE with semi parameter adaptation) En 2016 Leon y Xiong introducen una estrategia voraz para actualizar los valores de los paraacutemetros de cada individuo en el meacutetodo llamado GADE (Greedy Adaptive DE) Se utilizan los valores de los paraacutemetros de las soluciones vecinas para ajustar los paraacutemetros del nuevo vector mutado Finalmente Mohamed y Mohamed en 2017 proponen el meacutetodo denominado AGDE (Adaptive guided DE)

Esquema de ajuste de paraacutemetros para cada individuo de la poblacioacuten

Ajuste del tamantildeo de la poblacioacuten En los enfoques descritos previamente solamente se ajustan los valores de F y CR manteniendo el tamantildeo de la poblacioacuten constante Diversos estudios indican que el tamantildeo de la poblacioacuten tambieacuten afecta al desempentildeo de un algoritmo evolutivo por lo que existen trabajos que se han centrado en ajustar el tamantildeo de la poblacioacuten para garantizar la convergencia del algoritmo Existen algunos enfoques donde se ajusta el tamantildeo de la poblacioacuten y se describiraacuten a continuacioacuten En la figura 9 se muestra el esquema general en que estos enfoques ajustan el tamantildeo de la poblacioacuten durante el proceso evolutivo

Esquema general del ajuste del tamantildeo de la poblacioacuten en DE

En 2006 Teo describe el meacutetodo DESAP (Differential Evolution with self-adapting populations) donde el tamantildeo de la poblacioacuten se ajusta usando un factor distribuido uniformemente entre 0 y 1 En 2008 Brest y Sepesy Maučec presentan el algoritmo dynNP-DE (DE con NP dinaacutemico) donde van reduciendo a la mitad el tamantildeo de la poblacioacuten conforme el proceso evolutivo progresa Utilizando el nuacutemero total de evaluaciones y un paraacutemetro que indica el nuacutemero de posibles reducciones el algoritmo establece en queacute generaciones el algoritmo reduciraacute el tamantildeo de la poblacioacuten En 2014 Tanabe y Fukunaga presentaron una versioacuten con ajuste de poblacioacuten del meacutetodo SHADE denominada L-SHADE donde se aplica una reduccioacuten lineal del tamantildeo de la poblacioacuten previo a una ordenacioacuten a los individuos por su aptitud que permite eliminar solo

los individuos peor adaptados En 2017 Bujok y Tvrdiacutek describen el meacutetodo IDEbd (IDE with Population Size Adaptation) en donde el tamantildeo de la poblacioacuten es adaptado usando un factor calculado en base al nivel de diversidad de la poblacioacuten actual

Combinacioacuten de variantes Debido a la forma de combinar los individuos para crear el vector de prueba de cada una de las variantes de DE estaacutes presentan diferentes capacidades de exploracioacuten y explotacioacuten ademaacutes de que son maacutes efectivas para diferentes tipos de problemas Por ejemplo la variante DErand1 es mejor para explorar el espacio de buacutesqueda pero tiene una velocidad de convergencia lenta y DEbest1 converge maacutes raacutepido hacia soluciones cercanas a la oacuteptima pero solo para problemas con un uacutenico oacuteptimo global (unimodales) Debido a que usar diferentes estrategias de mutacioacuten durante diferentes momentos del proceso evolutivo pueden ser mejor que usar una sola variante durante todo el proceso varios autores se han enfocado en desarrollar estrategias para combinar diferentes variantes de DE y lograr con esto que cooperen en la creacioacuten de un mejor vector objetivo La figura 10 muestra un esquema general de la forma en que se aplican estas estrategias dentro del algoritmo de Evolucioacuten Diferencial

Esquema general de la estrategia de combinacioacuten de variantes de DE

En 2005 Qin y Suganthan describieron una versioacuten conocida como SADE (Self-Adaptive DE algorithm for numerical optimization) donde introducen un esquema que selecciona de forma alternada una de dos variantes del algoritmo de acuerdo a su tasa de eacutexito dentro del proceso evolutivo En 2009 Das et al presentaron el meacutetodo llamado DEGL (DE with Global and Local Neighborhoods) donde cada nuevo vector mutado se crea combinando dos vectores uno construido usando una vecindad del vector objetivo (vector local) y otro creado usando el mejor

individuo de la poblacioacuten (vector global) En 2011 Mallipeddi et al asignaron a cada individuo de la poblacioacuten el tipo de variante para generar el vector mutado y los valores para F y CR en el meacutetodo EPSDE (Ensemble of mutation strategies and parameters in DE) Tanto el tipo de variante como los valores de los paraacutemetros se escogen aleatoriamente de un grupo de ellos que es previamente definido Dependiendo del eacutexito de la aplicacioacuten de dichos valores eacutestos se pueden cambiar durante el proceso evolutivo Tambieacuten en ese mismo antildeo Wang et al en su meacutetodo CoDE (Composite DE) crean tres vectores para cada vector objetivo Cada vector es construido usando variantes diferentes y con paraacutemetros generados aleatoriamente El mejor de los tres vectores se usa como vector de prueba para aplicar el operador de seleccioacuten Adicionalmente Zhao et al implementaron un meacutetodo muy similar denominado SaDE-MMTS (SaDE with a modified multi-trajectory search) donde el vector mutado se selecciona de entre los vectores generados por tres diferentes variantes del algoritmo pero la seleccioacuten se hace en base a una probabilidad que iterativamente se ajusta en base a la cantidad de vectores mutados que son exitosamente seleccionados En 2017 Ghosh et al propusieron el meacutetodo NRDE (Noise Resilient DE) donde cada individuo puede ser mutado por alguna de dos variantes con igual probabilidad Los valores de F y CR son ajustados para cada individuo basado en un rango preestablecido previamente

Evolucioacuten Diferencial para otros tipos de problemas Aunque DE fue definido originalmente para resolver problemas de optimizacioacuten continua sin restricciones tambieacuten se ha utilizado con eacutexito para resolver otros tipos de problemas como aquellos donde los valores de las variables del problema son discretos donde el espacio de buacutesqueda estaacute limitado por una o maacutes restricciones y aquellos donde se manejan dos o mas objetivos Prado et al describe varias adaptaciones al algoritmo de Evolucioacuten Diferencial para problemas de optimizacioacuten combinatoria como aquellos que implementan una matriz de permutacioacuten los que obtienen una secuencia ordenada de valores y los que aplican una transformacioacuten de los valores continuos al espacio discreto En el caso de los problemas de optimizacioacuten con restricciones Mezura-Montes et al describen varios enfoques que se han utilizado para aplicar DE en este tipo de problemas como aquellos que utilizan teacutecnicas para eliminar o reparar soluciones infactibles y los que implementan teacutecnicas de penalizacioacuten Finalmente para problemas de optimizacioacuten multi-objetivo Mezura-Montes et al resume las principales teacutecnicas basadas en el algoritmo de Evolucioacuten Diferencial para manejar dos o maacutes objetivos como los enfoques basados en dominancia de Pareto y en jerarquizacioacuten de Pareto asiacute como los meacutetodos que no se basan en Pareto y los enfoques que combinan diferentes estrategias Hoy en diacutea existen tambieacuten algoritmos basados en descomposicioacuten y en indicadores de desempentildeo

DE en Meacutexico En el paiacutes se tiene mucha actividad en investigacioacuten relacionada con DE particularmente el grupo EVOCINV de CINVESTAV Zacatenco estudia a este algoritmo en optimizacioacuten multi-objetivo y temas afines al manejo de muacuteltiples objetivos como algoritmos basados en indicadores modelos subrogados operadores de seleccioacuten operadores de variacioacuten adaptacioacuten de paraacutemetros entre otros temas

En el Centro de Investigacioacuten en Inteligencia Artificial de la Universidad Veracruzana se desarrolla investigacioacuten en optimizacioacuten con restricciones usando DE aplicaciones de DE en mecatroacutenica y en control automaacutetico DE y buacutesqueda local optimizacioacuten dinaacutemica multi-objetivo DE asistida por subrogados en espacios restringidos entre otras temaacuteticas

Recientemente en el Instituto Tecnoloacutegico de Veracruz se desarrollan aplicaciones de DE en aprendizaje automaacutetico en el Centro de Innovacioacuten y Desarrollo Tecnoloacutegico en Coacutemputo (CIDETEC) del IPN se aplica DE en problemas de mecatroacutenica y en el Centro de Investigacioacuten en Matemaacuteticas se aplica en procesos quiacutemicos

Todas estas menciones soacutelo son representativas pues la DE al ser un algoritmo faacutecil de implementar y que provee resultados competitivos ha sido particularmente atractiva para su estudio y aplicacioacuten en instituciones mexicanas

Conclusiones El algoritmo de Evolucioacuten Diferencial es un enfoque exitoso para resolver problemas de optimizacioacuten continua sin restricciones Los individuos que evolucionan al aplicar los operadores de este algoritmo tradicionalmente se codifican como secuencias de nuacutemeros reales pero otras representaciones se han utilizado tambieacuten Ademaacutes con la inclusioacuten de diversas estrategias para manejar varios objetivos y conjuntos de restricciones DE se puede aplicar para resolver otro tipo de problemas DE se distingue por depender de la definicioacuten de un menor nuacutemero de paraacutemetros que otros algoritmos evolutivos pero esto tambieacuten lo hace muy sensible a la definicioacuten de los valores para esos paraacutemetros Diversos variantes del algoritmo han sido desarrolladas para mejorar el desempentildeo del algoritmo generando un abanico de alternativas para resolver casi cualquier tipo de problema El estudio del comportamiento de este algoritmo y la definicioacuten de nuevas propuestas de desarrollo sin duda aportaraacute a la resolucioacuten maacutes eficiente de problemas complejos que interesan a la comunidad cientiacutefica

Para saber maacutes Para aquellos lectores que deseen abundar en el tema las siguientes referencias sobre DE pueden ser de intereacutes

bull El libro sobre DE escrito por los autores originales del algoritmo

bull Una revisioacuten muy completa de la literatura de DE y su versioacuten actualizada

bull Otra revisioacuten de la literatura acompantildeada de un estudio experimental

bull Una revisioacuten de estudios teoacutericos sobre DE

bull Un libro editado con temas diversos y recientes sobre DE

bull DE para resolver problemas de optimizacioacuten multi-objetivo

bull DE y su papel importante en espacios restringidos

Algoritmos Geneacuteticos Paralelos Alicia Morales-Reyes

Introduccioacuten Las teacutecnicas evolutivas son aptas para su paralelizacioacuten tanto a nivel algoriacutetmico como a nivel de ejecucioacuten En particular los algoritmos geneacuteticos (AGs) han sido investigados desde esta perspectiva y esquemas paralelos han surgido desde el inicio de su desarrollo La paralelizacioacuten de los AGs persigue la mejora de su desempentildeo algoriacutetmico en teacuterminos de eficiencia y eficacia y la reduccioacuten de tiempos de ejecucioacuten en sus distintos dominios de aplicacioacuten

Una clasificacioacuten general de los Algoritmos Geneacuteticos Paralelos (AGPs) los agrupa por su granularidad en AGPs de grano fino y grueso Los AGPs de grano grueso dividen la poblacioacuten agrupada en panmixia en varias sub-poblaciones permitiendo la migracioacuten de individuos entre 1

eacutestas De esta forma se reduce el nuacutemero de individuos en cada unidad de procesamiento En consecuencia se establece un fuerte viacutenculo entre la algoritmia y la implementacioacuten de estas teacutecnicas Sin embargo utilizar una uacutenica unidad de procesamiento para la evolucioacuten de varias sub-poblaciones ha sido un contexto tambieacuten explorado como un mecanismo de mejora del desempentildeo algoriacutetmico

Los AGPs de grano grueso tambieacuten llamados Algoritmos Geneacuteticos distribuidos (AGds) han permitido la exploracioacuten de nuevas vertientes de la versioacuten estaacutendar de los AGs Tener diferentes paraacutemetros de configuracioacuten para realizar las operaciones geneacuteticas implementar granularidades distintas incorporar el operador de migracioacuten han sido caracteriacutesticas a explorar que pueden culminar en un mejor desempentildeo de los AGs

En la figura 1 se muestra un diagrama de un AG distribuido Cada poblacioacuten es centralizada y se necesitan definir criterios en teacuterminos de tasa y frecuencia de migracioacuten Tambieacuten se necesita definir si la migracioacuten seraacute siacutencrona o asiacutencrona Herrera et al presentaron un esquema de un AGP distribuido con poblaciones heterogeacuteneas Utilizaron la estructura de un hipercubo posicionando en cada veacutertice una sub-poblacioacuten Dependiendo de la ubicacioacuten de cada sub-poblacioacuten la buacutesqueda implica mayor explotacioacuten o exploracioacuten Esto se logra de manera interna viacutea la configuracioacuten de los operadores geneacuteticos De esta forma se procura mantener la diversidad de soluciones de forma global y asiacute mejorar la calidad de las soluciones encontradas

Una poblacioacuten en panmixia es aquella donde todos sus individuos sin restricciones pueden 1

reproducirse entre si

Diagrama poblacional de un AGP distribuido o de grano grueso

La principal diferencia entre los AGP de grano fino con respecto a los AGP distribuidos o de grano grueso es la descentralizacioacuten de su poblacioacuten y en consecuencia la localizacioacuten del proceso de seleccioacuten de individuos En la figura 2 se muestra un esquema poblacional de un AGP de grano fino tambieacuten conocido como AG celular (AGc) De manera comuacuten se utiliza una topologiacutea de malla conectada de forma toroidal como lo muestra la figura Un individuo de la poblacioacuten se ubica en cada cruce de la malla y alrededor de eacutel se define un vecindario cuyas soluciones participan en los procesos de seleccioacuten recombinacioacuten y mutacioacuten para la evolucioacuten de eacuteste En la figura 2 se ilustra un vecindario tipo Moore con 9 individuos

En los AGs celulares cada individuo o solucioacuten interactuacutea con sus vecinos maacutes cercanos logrando de esta forma el esparcimiento suave de las soluciones a traveacutes de la malla debido al traslape de vecindarios En los AGs distribuidos la asociacioacuten entre soluciones se pierde en comparacioacuten con los AGs celulares Esta es otra caracteriacutestica importante de los AGc que permite la exploracioacuten global del espacio de buacutesqueda mientras que localmente los individuos explotan la regioacuten cercana a su ubicacioacuten

Diagrama poblacional del AG celular o de grano fino

La paralelizacioacuten de los algoritmos evolutivos en particular de los algoritmos geneacuteticos persigue distintos objetivos Por ejemplo la evolucioacuten simultaacutenea de sub-poblaciones lo cual permite descubrir nueva rutas para solucionar un problema y en consecuencia reducir el nuacutemero de generaciones para converger a la solucioacuten oacuteptima Aunado a esto los tiempos de procesamiento pueden tambieacuten acortarse La paralelizacioacuten de AGs se puede realizar a distintos niveles Asiacute mismo es posible la combinacioacuten de sub-poblaciones con distintas dinaacutemicas internas Por ejemplo algunas sub-poblaciones podriacutean evolucionar en un esquema de panmixia y otras en un esquema celular Este tipo de esquemas poblacionales se discutiraacuten a detalle en la subseccioacuten 11

Una operacioacuten importante en los procesos evolutivos de los AGs distribuidos es la migracioacuten de los individuos entre sub-poblaciones Durante el proceso de buacutesqueda uno o maacutes individuos son seleccionados para migrar y reemplazar a otros individuos de otras sub-poblaciones Los criterios de migracioacuten requieren no soacutelo de la tasa y la frecuencia de migracioacuten sino tambieacuten de criterios de seleccioacuten y reemplazo de individuos al llegar a las otras sub-poblaciones El proceso de migracioacuten puede realizarse de forma siacutencrona o asiacutencrona La migracioacuten siacutencrona supone que todas las sub-poblaciones estaacuten en el mismo estado de la buacutesqueda y la migracioacuten de individuos entre sub-poblaciones ocurre de manera simultaacutenea Por otro lado la migracioacuten asiacutencrona supone que cada sub-poblacioacuten determina el momento en que los individuos deben migrar En la sub-seccioacuten 24 se aborda el efecto del sincronismo en los mecanismos de migracioacuten

Cantuacute-Paz et al presentoacute un estudio completo en AGs distribuidos tanto desde el punto de vista teoacuterico como del praacutectico Debido al nuacutemero de paraacutemetros que se deben definir en los AGds Cantuacute-Paz et al iniciaron con la solucioacuten de un problema de optimizacioacuten para determinar el tamantildeo adecuado de las sub-poblaciones para alcanzar una cierta calidad de la misma Utilizaron un modelo matemaacutetico considerando la hipoacutetesis de los bloques constructores propuesta por Holland y extendida por Goldberg El estudio se verifica en varios problemas con un grado alto de precisioacuten mostraacutendose una buena respuesta a la escalabilidad

Para determinar escenarios de operacioacuten liacutemite en teacuterminos de eficiencia analizaron la interaccioacuten de las sub-poblaciones y su efecto en la calidad de las soluciones Previamente se ha investigado el cambio en la calidad de las soluciones debido a la forma de interaccioacuten de las sub-poblaciones Tener sub-poblaciones evolucionando de manera independiente con muy poca o nula interaccioacuten entre ellas resulta en soluciones menos precisas mientras mejores soluciones se obtienen viacutea el esquema de panmixia tradicional Sin embargo cuando se definen criterios de migracioacuten adecuados y un cierto nuacutemero de soluciones migran entre sub-poblaciones a una frecuencia media o baja el desempentildeo en general de los AGds mejora alcanzando en un nuacutemero de casos aceleraciones super-lineales y mejor calidad de las soluciones encontradas Se puede inferir entonces la importancia del operador de migracioacuten el cual seraacute analizado en detalle en la sub-seccioacuten 12

AGds homogeacuteneos y heterogeacuteneos Existen distintos escenarios en los que se pueden definir y aplicar AGds con esquemas poblaciones homogeacuteneos y heterogeacuteneos es decir combinaciones de poblaciones centralizadas y descentralizadas A nivel algoriacutetmico se puede definir la misma o una diferente configuracioacuten de operadores geneacuteticos A partir de esas configuraciones distintas diferentes configuraciones de paraacutemetros se pueden determinar para ejecutar la buacutesqueda en cada sub-poblacioacuten Por ejemplo distintas definiciones del operador de recombinacioacuten o bien de las probabilidades de mutacioacuten pueden operar sobre los individuos de cada sub-poblacioacuten La comunidad en el aacuterea ha incluso explorado escenarios donde las soluciones se representan de manera distinta entre sub-poblaciones Por otro lado a nivel de implementacioacuten se han explorado esquemas con sub-poblaciones heterogeacuteneas Por ejemplo Alba et al realizoacute un estudio en distintas plataformas de coacutemputo ejecutando sub-poblaciones en panmixia y celulares

Como se puede apreciar el desarrollo de un esquema de AG paralelos ya sean distribuidos o descentralizados conlleva la definicioacuten de un nuacutemero de paraacutemetros que afectaraacute de manera importante su desempentildeo algoriacutetmico Otro ejemplo es la solucioacuten de problemas de optimizacioacuten en espacios continuos que se han abordado a traveacutes de un esquema de AGP utilizando una versioacuten mejorada con cromosomas codificados con nuacutemeros reales Para esto se

definioacute una topologiacutea doble con un hipercubo que se comparoacute con una topologiacutea sencilla Las sub-poblaciones ubicadas en sus veacutertices promoviacutean mayor o menor exploracioacuten u explotacioacuten de las regiones viacutea la configuracioacuten de los operadores geneacuteticos La migracioacuten entre las sub-poblaciones afectoacute directamente los tiempos de ejecucioacuten por medio de la reduccioacuten del nuacutemero de evaluaciones La capacidad de buacutesqueda de la topologiacutea doble superoacute a la de la topologiacutea sencilla

Cuando pensamos en paralelizar alguna teacutecnica algoriacutetmica nos viene a la mente acelerar los procesos de ejecucioacuten Sin embargo la paralelizacioacuten de los algoritmos evolutivos podriacutea mejorar tanto los procesos de buacutesqueda algoriacutetmica como los tiempos de ejecucioacuten Es asiacute que a nivel de implementacioacuten se utilizado coacutemputo heterogeacuteneo para la evaluacioacuten de esquemas de AGPs Por ejemplo Alba et al propusieron utilizar una plataforma heterogeacutenea en la cual distintos sistemas operativos con distintas restricciones de ejecucioacuten implementaban un modelo de AGPs distribuidos Las sub-poblaciones se conectaron en un arreglo de anillo unidireccional cada sub-poblacioacuten ejecutaba un modelo poblacional de estado estable A cada generacioacuten se produciacutea un individuo que reemplazaba a la peor solucioacuten obtenida Se establecioacute un esquema de migracioacuten asiacutencrona que demostroacute mejores resultados ver 3 En general se observoacute un mejor desempentildeo de la ejecucioacuten del esquema paralelo en la plataforma heterogeacutenea en comparacioacuten con la homogeacutenea se redujo el nuacutemero de evaluaciones debido a la explotacioacuten de soluciones a distintas tasas de migracioacuten

AGP con topologiacutea poblacional de anillo unidireccional implementada en una plataforma de coacutemputo heterogeacutenea La migracioacuten entre sub-poblaciones es asiacutencrona y responde a una dinaacutemica de estado estable

Migracioacuten en AGPs Como se explicoacute anteriormente la incorporacioacuten de un nuevo operador llamado migracioacuten se hace latente en los esquemas paralelos de los AGs En los esquemas de grano grueso donde se tienen sub-poblaciones de grano fino y grueso evolucionando simultaacuteneamente la migracioacuten se debe considerar como un mecanismo que introduce nuevos individuos y por lo tanto promueve o restaura la diversidad entre sub-poblaciones De forma distinta en los AGs celulares o de grano fino un mecanismo de migracioacuten impliacutecito trabaja durante el proceso de buacutesqueda debido al traslape de vecindarios que permite la difusioacuten de soluciones a lo largo y ancho de la topologiacutea definida para la poblacioacuten Este mecanismo de migracioacuten es inherente a la estructura de los AGs celulares y no requiere de un paraacutemetro de frecuencia o tasa de migracioacuten o ninguacuten otro mecanismo de seleccioacuten y reemplazo

Revisaremos ahora evaluaciones empiacutericas que se han realizado a criterios de migracioacuten definidos para AGPs de grano grueso Aunque estos criterios son definidos para este tipo de esquemas paralelos tambieacuten es posible aplicar un segundo criterio migratorio en AGs celulares ademaacutes del mecanismo natural inherente a estos

Para establecer un criterio de migracioacuten adecuado y mejorar el desempentildeo algoriacutetmico de los AGPs de grano grueso se examinaron los casos liacutemite para aplicar el proceso de migracioacuten Se

sugiere mantener un cierto nivel de aislamiento entre las sub-poblaciones Si la sub-poblacioacuten evoluciona en completo aislamiento las mejoras en diversidad son miacutenimas y por ende la capacidad de buacutesqueda se ve reducida Por otro lado si se aplica el operador de migracioacuten con una frecuencia maacutexima el costo computacional se incrementa de manera significativa Por lo tanto el objetivo de la migracioacuten es evitar el aislamiento entre sub-poblaciones mientras se mantiene un nivel aceptable de comunicacioacuten entre eacutestas

Es posible calcular experimentalmente el nuacutemero adecuado de unidades de procesamiento para minimizar el tiempo de ejecucioacuten de un esquema de AGPs El anaacutelisis considera casos liacutemite en teacuterminos de conectividad entre sub-poblaciones es decir el caso de tener frecuencias de migracioacuten miacutenimas y maacuteximas La conclusioacuten teoacuterica para una poblacioacuten indica que el nuacutemero

oacuteptimo de unidades de procesamiento estaacute dado por donde es el tamantildeo de la

poblacioacuten es el tiempo de coacutemputo de la funcioacuten objetivo de un individuo y es el tiempo promedio de comunicacioacuten para una unidad de procesamiento Esto quiere decir que dividiendo una poblacioacuten en sub-poblaciones distribuidas en muacuteltiples unidades de procesamiento reduce el tiempo global de ejecucioacuten La misma conclusioacuten se logroacute para un esquema de muacuteltiples poblaciones considerando ademaacutes la evaluacioacuten de funciones objetivo separables Esto quiere decir que utilizar un nuacutemero de unidades de procesamiento en un esquema evolutivo paralelo tiene un impacto positivo en la reduccioacuten de los tiempos de ejecucioacuten

Es tambieacuten importante analizar el efecto de los criterios de migracioacuten que se utilizan en esquemas de AGPs de grano grueso El objetivo principal es determinar coacutemo el operador de migracioacuten afecta la presioacuten de seleccioacuten inducida e impliacutecitamente poder explicar las aceleraciones super-lineales que se pueden modelar para este tipo de esquemas La forma en que los individuos se seleccionan para migracioacuten y reemplazo tienen un efecto considerable en la presioacuten de seleccioacuten y se ha observado que tasas altas de migracioacuten producen un incremento en eacutesta Tener una presioacuten de seleccioacuten alta afecta la buacutesqueda al producir una convergencia prematura a un oacuteptimo local

Aunque la operacioacuten de migracioacuten se ha investigado principalmente para esquemas de AGPs de grano grueso tambieacuten se ha revisado su efecto en AGPs de grano fino considerando tanto el mecanismo de migracioacuten impliacutecita viacutea el traslape de vecindarios como la definicioacuten de criterios para migracioacuten de individuos desde y hacia distintas posiciones de la topologiacutea de malla definida para la poblacioacuten Por ejemplo se han utilizado estructuras de aacuterboles binarios para dividir una topologiacutea de malla de dos dimensiones en formaciones conceacutentricas de individuos definiendo para cada formacioacuten criterios de migracioacuten distintos El intercambio de individuos entre estas

OnTf

Tcn

Tf Tc

formaciones definidas por su estructura alenta el proceso de buacutesqueda permitiendo una mayor exploracioacuten Los resultados mostraron un mejor desempentildeo en la solucioacuten de problemas de optimizacioacuten con restricciones el operador de mutacioacuten se aplica para evitar la presencia de super individuos que pueden dirigir la buacutesqueda al estancamiento conquistando la topologiacutea de malla mucho maacutes raacutepido En la siguiente seccioacuten se abordaraacute el comportamiento de los AG celulares o de grano fino

AGs celulares o de grano fino Los AGs celulares o de grano fino se construyen a partir de poblaciones descentralizadas donde los individuos interactuacutean con otros individuos ubicados dentro de un vecindario definido Es decir interactuacutean con los vecinos maacutes cercanos Usualmente los AGCs se implementan en topologiacuteas de mallas de -dimensionales manteniendo conexiones toroidales entre los cruces de malla utilizando formas comunes como una malla lineal cuadrada o rectangular

El procesamiento de los AG celulares corresponde al de los Autoacutematas Celulares (ACs) Estos determinan una regla global que define un comportamiento especiacutefico que se construye a partir de reglas locales Se han explorado ACs de una dos y tres dimensiones en combinacioacuten con AGs con la finalidad de evolucionar el comportamiento global requerido Esta combinacioacuten de un AC y un AG originoacute el nombre de AG celular con la diferencia de tener una representacioacuten maacutes elaborada en cada cruce de la malla cromosomas Se observoacute que la informacioacuten de las reglas locales o individuos alcanzaba distancias lejanas dentro de la malla definida esto debido al traslape de los vecindarios De esta forma se determinoacute que la informacioacuten se mueve entre vecindarios permitiendo acelerar el proceso de crear nuevos comportamientos ad-hoc al problema que se esteacute solucionando y con una peacuterdida miacutenima de informacioacuten

El pseudocoacutedigo [algCellularGeneticAlgorithmPseudocode] es el estaacutendar de un AG celular En un primer paso se genera una poblacioacuten inicial de forma aleatoria ubicando cada individuo en un cruce de la topologiacutea de malla Esta poblacioacuten inicial se evaluacutea de acuerdo a la funcioacuten objetivo del problema a resolver Posteriormente da inicio el ciclo reproductivo principal Se define un vecindario local con individuos ubicados de forma cercana A partir de eacutestos y del individuo ubicado en el cruce de la malla se seleccionan a los padres para reproducirse Existen distintos meacutetodos de seleccioacuten que se utilizan en los AG celulares Se pueden utilizar los que comuacutenmente se aplican en los AGs con poblaciones centralizadas como el torneo binario ruleta o seleccioacuten determinista Existen tambieacuten otros meacutetodos especiacuteficos a los AG celulares como son la seleccioacuten ceacutentrica o anisotroacutepica Una vez seleccionados los padres se recombinan y los hijos se mutan No hay diferencia entre la aplicacioacuten de los operadores de recombinacioacuten y mutacioacuten con respecto a los AG tradicionales

n

Debido a la descentralizacioacuten de la poblacioacuten el reemplazo de eacutesta puede ocurrir de forma siacutencrona o asiacutencrona El reemplazo asiacutencrono requiere del almacenaje temporal de la poblacioacuten hasta que todos los individuos concluyen su ciclo reproductivo El reemplazo siacutencrono requiere de la definicioacuten del criterio para implementarla Los distintos criterios que se han utilizado para el reemplazo se explicaraacuten en la sub-seccioacuten 24

poblacioacuten inicial evaluacioacuten seleccioacuten de padres vecinario L5 recombinacioacuten mutacioacuten evaluacioacuten reemplazo

Explotacioacutenexploracioacuten por propiedades estructurales Debido a la descentralizacioacuten de la poblacioacuten y la definicioacuten de una topologiacutea de malla las caracteriacutesticas estructurales de los AG celulares tienen un impacto importante en los procesos de buacutesqueda La forma y la dimensioacuten de la topologiacutea el nuacutemero de individuos dentro del vecindario entre otras son caracteriacutesticas de la estructura que necesitan definirse Ademaacutes otras operaciones durante el ciclo evolutivo como el proceso de seleccioacuten local el reemplazo de individuos criterios de migracioacuten entre otras estaacuten tambieacuten asociadas a estas caracteriacutesticas de estructura

La topologiacutea de malla que es comuacutenmente utilizada en los AG celulares se muestra en la figura 2 Se ha reportado que distintas formas de malla en combinacioacuten con distintos tipos de vecindarios inducen una mayor o menor presioacuten de seleccioacuten Para modelar el efecto de ambas estructuras se utiliza un patroacuten de dispersioacuten con puntos (la posicioacuten de cada solucioacuten en la malla) a partir de una posicioacuten central con coordenadas Se calcula la medida de dispersioacuten debido a que otras medidas como el radio de una circunferencia indicariacutea el mismo valor para topologiacuteas distintas La relacioacuten entre el vecindario y la topologiacutea o radii se calcula de la siguiente forma

donde y La razoacuten o radii entre el vecindario y la topologiacutea de

malla estaacute dada por

(x) larr random(x0) (f ) larr evaluat ion(x)(f1 f2) larr seleccion(f fN fE fS fW)(x1 x2) larr seleccion(x xN xE xS xW) (x prime1 x prime2 ) larr recombinacion(x prime1 x prime 2 )

(x1Prime x2Prime) larr mutacion(x prime1 x prime2 ) (fnew) larr evaluacion(x1Prime x2Prime)(f x) larr reemplazo(fnew xnew)

p(x0 y0)

D =sum (xi minus x)2 + sum (yi minus y)2

p

(x ) =sump

i=1 xi

p (y) =sump

i=1 yi

p

Esta medida se conoce como la razoacuten vecindario-malla (RVM) Formas y tamantildeos diferentes de vecindarios y topologiacuteas proporcionan una medida distinta de RVM ver figura 4

Ejemplos de formas de vecindarios y topologiacuteas de malla

NGR =Dvecindario

Dmalla

Razoacuten vecindario-malla para diferentes topologiacuteas de malla y tamantildeos de poblacioacuten con un vecindario L5

[figL5_variableLattice]

Una topologiacutea de malla cuadrada con un vecindario es una configuracioacuten comuacutenmente utilizada en la implementacioacuten de AG celulares En la figura [figL5_variableLattice] la razoacuten vecindario-malla se ilustra para distintos tamantildeos de poblacioacuten con vecindario Tres formas de malla se evaluacutean cuadrada rectangular y lineal Las curvas de la RVM muestran razones altas para mallas cuadradas y razones bajas para topologiacuteas lineales La RVM se asocia a la presioacuten de seleccioacuten inducida en AG celulares debido a sus caracteriacutesticas estructurales Para comprender esto de mejor manera otro concepto importante es necesario el nuacutemero de generaciones que toma al mejor individuo de una poblacioacuten inicial esparcir su solucioacuten en todas las direcciones de la topologiacutea de malla es decir conquistarla a partir de aplicar uacutenicamente el operador de seleccioacuten Un nuacutemero de generaciones alto indica una baja presioacuten de seleccioacuten es decir una buacutesqueda principalmente explorativa Por el contrario un nuacutemero de reducido de generaciones implica una alta presioacuten de seleccioacuten y por tanto una buacutesqueda orientada a la explotacioacuten del espacio de buacutesqueda

L5

L5

Los AG celulares son teacutecnicas flexibles con un nuacutemero de paraacutemetros que pueden configurarse Por ejemplo es posible pensar en modificar en tiempo de buacutesqueda las topologiacuteas de malla tamantildeos y formas de vecindarios como una forma de control de la presioacuten de seleccioacuten inducida Las modificaciones de la configuracioacuten pueden realizarse de manera constante definiendo un nuacutemero de generaciones o bien de forma adaptativa midiendo generacioacuten a generacioacuten el comportamiento por ejemplo de la diversidad en el espacio de fenotipos y genotipos modificando entonces las configuraciones de estructura de manera que se promueva la exploracioacuten o la explotacioacuten del espacio de buacutesqueda

Presioacuten de seleccioacuten por caracteriacutesticas estructurales

El matemaacutetico belga Pierre Verhulst en el siglo XIX estudioacute modelos logiacutesticos de crecimiento para describir sistemas bioloacutegicos bajo condiciones de recursos limitados Considerando una poblacioacuten en panmixia de cierto tamantildeo y un nuacutemero de copias del mejor individuo en un tiempo discreto dado por la tasa de crecimiento se expresa a traveacutes del siguiente modelo de recurrencia discreto

$$beginaligned

N left( 0 right) = 1 quad quad quad quad quad quad quad quad quad quad quad quad notag

N left( t right) = N left( t - 1 right) + p_s tamPob N left(t-1right) left(1 - left(frac1tamPobright) N left(t-1right)right)endaligned$$

donde es la probabilidad de seleccioacuten de un individuo y se puede aproximar por la ecuacioacuten logiacutestica continua

donde es la probabilidad Aunque se obtienen curvas de crecimiento similares el comportamiento en poblaciones estructuradas o descentralizadas no es exponencial sino polinomial como fue sugerido por Spiessen y Manderick in De este modo las caracteriacutesticas estructurales necesitan considerarse en el modelo matemaacutetico de la tasa de crecimiento para AG celulares Si se evaluacutea un caso liacutemite donde el mejor individuo dentro del vecindario se selecciona siempre para reemplazar al individuo actual o central (al vecindario) es decir

tamPobt N(t)

ps N(t)

N(t) =tamPob

1 + ( tamPobN(0) minus 1)eminusαt

α ps

ps = 1

y se define un tamantildeo de poblacioacuten donde determina una topologiacutea de malla cuadrada y un vecindario local con radio La tasa de crecimiento del mejor individuo estaacute dada por

$$beginaligned

N left( 0 right) = 1 quad quad quad quad quad quad quad quad quad quad quad quad notag

N left( t right) = N left( t-1 right) + 4r^2t - 2rleft( r+1 right) quad 0 leq t leq fracleft(sqrttamPob-1right)2

N left( t right) = N left( t-1 right) - 4r^2t + 4r sqrttamPob - 2rleft(r+1right) quad t geq fracleft(sqrttamPob-1right)2 notagendaligned$$

que en su forma cerrada queda como

$$beginaligned

N left( t right) = 2r^2t^2 + 2r left(2r + 1 right)t + 1 quad 0 leq t leq fracleft(sqrttamPob-1right)2

N left( t right) = -2r^2t^2 + 2rleft(2sqrttamPob - 3r - 1 right)t + 1 quad t geq fracleft(sqrttamPob-1right)2 notagendaligned$$

En la figura 5 se ilustra la razoacuten de crecimiento para una poblacioacuten de individuos con un vecindario local tipo ver figura 4

Tasa de crecimiento teoacuterica en una topologiacutea de malla toroidal cuadrada y un vecindario local tipo Moore con probabilidad de seleccioacuten

Si se considera la probabilidad variable y cada individuo tiene probabilidades de seleccioacuten distintas probabilidad para el individuo central y para cada individuo dentro de un vecindario tipo El modelado de la recurrencia exacta se vuelve muy complicado Para poder construir un modelo completo se recurre a modelos maacutes simples en donde la tasa de crecimiento se describe como la expansioacuten de un cuadrado rotado con una

tamPob tamPob times tamPobr

81C9

ps = 1

psp0 p1 p2 p3 p4 p8

C9

longitud por lado de y diagonal La tasa de crecimiento de los

individuos con probabilidad variable contenidos dentro del cuadrado rotado estaacute dada por la siguiente recurrencia

$$beginaligned

N left( 0 right) = 1 quad quad quad quad quad quad quad quad quad quad quad quad notag

N left( t right) = N left( t-1 right) + 4p_i sqrtfracNleft(t-1right)2 quad N left( t right) leq fractamPob2

N left( t right) = N left( t-1 right) + 4p_i sqrttamPob - N left( t-1 right) quad N left( t right) gt fractamPob2 notagendaligned$$

Encontrar una forma cerrada de este modelo es una tarea complicada de acuerdo a autores reconocidos del aacuterea En la figura 6 se muestra la tasa de crecimiento probabilista como ejemplo de la dificultad que representa su modelado matemaacutetico

Tasa de crecimiento probabilista para una topologiacutea de malla toroidal cuadrada con vecindario local y probabilidad de seleccioacuten variable

Anaacutelisis empiacuterico

Es posible tener una aproximacioacuten empiacuterica del tiempo para el dominio de la topologiacutea de malla A continuacioacuten se presenta un ejemplo utilizando como meacutetodo de seleccioacuten local torneo binario y ejecuciones por configuracioacuten fueron evaluadas En la figura [figL5_growthRates] se muestran las distintas tasas de crecimiento para la conquista de la malla considerando un tamantildeo de la poblacioacuten de individuos con las siguientes formas de topologiacutea de malla 1)

cuadrada 2) rectangular y 3) lineal La diferencia entre los

tiempos de dominio es evidente Topologiacuteas de malla lineales proveen una difusioacuten maacutes lenta del

s = N(t) d =N(t)

2pi

ps

50

400

400 times 400 10 times40010

4 times400

4

mejor individuo para conquistar la malla y por ende menor presioacuten de seleccioacuten y un comportamiento principalmente explorativo Por otro lado en topologiacuteas de malla cuadradas la solucioacuten del mejor individuo conquista la malla raacutepidamente en un nuacutemero menor de generaciones Es decir tiene un comportamiento con alta presioacuten de seleccioacuten y por ende una buacutesqueda caracterizada por una mayor explotacioacuten del espacio de buacutesqueda Desde este punto de vista se ha investigado tambieacuten la posibilidad de modificacioacuten dinaacutemica de las propiedades estructurales en tiempo de buacutesqueda Se han reportado mejores desempentildeos algoriacutetmicos bajo estos criterios

Tasas de crecimiento promedio del mejor individuo en topologiacuteas de malla cuadrada rectangular y lineal con vecindario La tasa promedio de crecimiento se calcula con base en 50 experimentos y aplicando uacutenicamente el operador de seleccioacuten

[figL5_growthRates]

Aceleracioacuten en AGP Un tema controversial en AGPs son las aceleraciones que esquemas distribuidos y celulares pueden alcanzar El caacutelculo teoacuterico de estas aceleraciones es una medida aceptada para determinar su eficiencia Calcular la razoacuten entre el tiempo promedio de ejecucioacuten de la mejor versioacuten secuencial de un AG y otra teacutecnica de buacutesqueda no evolutiva con respecto al tiempo

L5

promedio de ejecucioacuten de un AG paralelo corriendo en un determinado nuacutemero de procesadores proporciona la aceleracioacuten alcanzada por este uacuteltimo Aceleraciones sub-lineales indican que esta razoacuten es menor que el nuacutemero de procesadores utilizados en la ejecucioacuten del AGP Aceleraciones lineales indican que esta relacioacuten es igual mientras aceleraciones super-lineales indican que la razoacuten es mayor que el nuacutemero de procesadores utilizados

Un medida estricta para medir las aceleraciones de los AGPs involucrariacutea una comparacioacuten con la mejor versioacuten secuencial de un AG lo cual es difiacutecil de determinar Considerar el desempentildeo de un AG secuencial como referencia en conjunto con una condicioacuten de paro que evaluacutee la misma calidad de soluciones en todas las muestras experimentales podriacutea permitir una comparacioacuten justa en teacuterminos de aceleracioacuten entre esquemas paralelos y secuenciales

Los AGPs tienen tres caracteriacutesticas que permiten su aceleracioacuten 1) dividir el espacio de buacutesqueda en diversas aacutereas de exploracioacuten implementadas en distintas unidades de procesamiento 2) reducir la carga de procesamiento por medio de la distribucioacuten de la poblacioacuten en un nuacutemero de unidades de procesamiento y 3) operadores geneacuteticos aplicados a estructuras de datos reducidas

Al analizar comparativamente las tasas de aceleracioacuten de los AG distribuidos con sub-poblaciones en panmixia en comparacioacuten con el desempentildeo de un AG secuencial las aceleraciones calculadas resultan excesivas Sin embargo cuando se considera la distribucioacuten de las sub-poblaciones en un nuacutemero de unidades de procesamiento las tasas de aceleracioacuten son moderadas

Una de las caracteriacutesticas maacutes importantes en los AGPs es el operador de migracioacuten Analizar el comportamiento de este operador bajo distintos criterios como la sincroniacutea o asincroniacutea de migrar individuos entre las sub-poblaciones afecta directamente el desempentildeo de la buacutesqueda Entre los comportamientos con importancia significativa se ha observado que utilizar bajas frecuencias de migracioacuten en combinacioacuten con una comunicacioacuten asiacutencrona entre sub-poblaciones permite una mayor aceleracioacuten Este resultado considera sub-poblaciones en panmixia con la misma configuracioacuten de paraacutemetros

Concepto de sincronismo en AGPs En los AGPs tanto distribuidos como celulares el concepto de sincroniacutea aplica de forma distinta En un AGP distribuido el operador de migracioacuten estaacute directamente relacionado con la comunicacioacuten entre sub-poblaciones y por ende la sincroniacutea con que eacutesta ocurre Por otro lado en AGP de grano fino o celulares la sincroniacutea estaacute relacionada con la actualizacioacuten de soluciones durante el proceso evolutivo Esto se explica a continuacioacuten a mayor detalle

En AGPs distribuidos viacutea migracioacuten

Varios autores han investigado el efecto del sincronismo a traveacutes de la migracioacuten de individuos entre sub-poblaciones Se han considerado varios escenarios tales como tener un conjunto de sub-poblaciones en panmixia y tener sub-poblaciones descentralizadas un tercer escenario que se ha considerado es tener una combinacioacuten de sub-poblaciones en panmixia y descentralizadas Los tres esquemas han sido evaluados no soacutelo a nivel algoriacutetmico sino de implementacioacuten en plataformas de coacutemputo para procesamiento paralelo

Utilizando un esquema de procesamiento de instrucciones muacuteltiples - datos muacuteltiples con un esquema homogeacuteneo de sub-poblaciones se verificoacute el comportamiento de distintas frecuencias de migracioacuten definidas como muacuteltiplos del tamantildeo de la poblacioacuten Esto representa que la migracioacuten es nula cuando la frecuencia es cero lo que implica que la evolucioacuten es independiente de las sub-poblaciones Localmente los operadores geneacuteticos fueron configurados de la misma forma En general los resultados mostraron un mejor desempentildeo cuando la comunicacioacuten entre sub-poblaciones es asiacutencrona y la frecuencia de migracioacuten es baja En este sentido el tener sub-poblaciones descentralizadas permite una mejor eficacia que cuando se tienen sub-poblaciones en panmixia Las tasas de aceleracioacuten tambieacuten se analizaron Bajas frecuencias de migracioacuten reportaron aceleraciones lineales para sub-poblaciones descentralizadas y super-lineales para sub-poblaciones en panmixia

Se ha podido verificar el funcionamiento de los AGPs ampliando la gama de problemas de prueba a aquellos del dominio continuo El uso de un esquema paralelo distribuido con sub-poblaciones en panmixia y un ciclo evolutivo de estado estable donde solamente una solucioacuten se actualiza en cada generacioacuten logroacute obtener soluciones de mejor calidad Ademaacutes de la influencia de la frecuencia con la que se ejecuta la operacioacuten de migracioacuten la seleccioacuten aleatoria de individuos migrantes demostroacute tambieacuten un mejor desempentildeo que la seleccioacuten de los mejores individuos para migrar El mejor desempentildeo continuacutea siendo a partir de la aplicacioacuten de frecuencias de migracioacuten bajas ahora en combinacioacuten con la seleccioacuten aleatoria de soluciones para migrar En problemas de optimizacioacuten en el dominio continuo con oacuteptimos locales engantildeosos en sus espacios de buacutesqueda los esquemas de sub-poblaciones descentralizadas superaron el desempentildeo de aquellos con sub-poblaciones en panmixia ademaacutes de responder mejor a frecuencias de migracioacuten altas Las tasas de aceleracioacuten tambieacuten se relacionan con la operacioacuten de la migracioacuten a frecuencias de migracioacuten alta se obtienen mayores tasas de aceleracioacuten en ambos esquemas poblacionales

Es posible tambieacuten considerar un esquema de AGPs con sub-poblaciones tanto en panmixia como descentralizadas utilizando un esquema de coacutemputo heterogeacuteneo distribuido Las tasas de

aceleracioacuten que se alcanzan en estos caso son super-lineales viacutea el esquema sub-poblacional mixto

En AGP celulares viacutea criterios de actualizacioacuten

En los AGPs de grano fino o celulares el concepto de sincronismo se asocia a los criterios de actualizacioacuten de las soluciones Se consideran diversos escenarios como son 1) barrido liacutenea a liacutenea 2) barrido fijo aleatorio 3) barrido aleatorio 4) seleccioacuten uniforme Cada unos de estos criterios de actualizacioacuten de soluciones se puede ejecutar de manera siacutencrona o asiacutencrona La actualizacioacuten siacutencrona se refiere a que la poblacioacuten completa se genera a partir de los individuos actuales En contraste la actualizacioacuten asiacutencrona quiere decir que los individuos se actualizan despueacutes de su proceso evolutivo a nivel local entonces los individuos en una generacioacuten han evolucionado de hijos generados durante esta

El barrido liacutenea a liacutenea es la forma maacutes sencilla de actualizar soluciones en una topologiacutea de malla con conexioacuten toroidal Haciendo el barrido secuencial de ubicacioacuten de las soluciones por liacutenea o por columna se ejecuta la actualizacioacuten de estas El barrido aleatorio fijo consiste en elegir de forma aleatoria una solucioacuten sin reemplazo con una probabilidad uniforme En cada generacioacuten se determina una distribucioacuten diferente para la actualizacioacuten de los individuos La actualizacioacuten uniforme elige de forma aleatoria con una probabilidad uniforme una solucioacuten con reemplazo Esto quiere decir que una solucioacuten puede ser actualizada maacutes de una vez en un mismo ciclo reproductivo

Tambieacuten se ha buscado modelar formalmente el comportamiento de los distintos criterios de actualizacioacuten de soluciones considerando ambos criterios de sincronismo Los criterios siacutencronos de actualizacioacuten presentan menores tasas de crecimiento de la mejor solucioacuten en la topologiacutea de malla Es decir la buacutesqueda se ejecuta promoviendo la exploracioacuten cuando se sigue un criterio de actualizacioacuten uniforme Aplicar un barrido aleatorio o lineal para la actualizacioacuten de soluciones representa tasas maacutes altas de crecimiento pero no alcanza a aquellas de las poblaciones en panmixia La principal caracteriacutestica que se aprecia es que las poblaciones en panmixia promueven la explotacioacuten del espacio de buacutesqueda en mayor grado que los AGPs descentralizados o celulares

Finalmente se puede concluir despueacutes de la evaluacioacuten de los criterios siacutencronos y asiacutencronos en una variedad de problemas de optimizacioacuten combinatorios y del dominio continuo que la actualizacioacuten asiacutencrona de soluciones mejora el desempentildeo algoriacutetmico en teacuterminos de eficiencia y eficacia en comparacioacuten con el criterio asiacutencrono en teacuterminos del nuacutemero de generaciones necesarias para converger a la solucioacuten del problema

Discusioacuten En este capiacutetulo se presentaron los distintos esquemas poblaciones que se consideran en la paralelizacioacuten de los AGs Se introdujo el principal operador que distingue a estos esquemas evolutivos el operador de migracioacuten y su efecto en los procesos de buacutesqueda Tambieacuten se introdujeron de manera detallada los esquemas paralelos de AGs de grano fino o celulares y la manera en que las caracteriacutesticas estructurales de estos pueden afectar directamente la exploracioacuten y explotacioacuten del espacio de buacutesqueda Se abordoacute tambieacuten el tema de las aceleraciones que se pueden alcanzar viacutea la paralelizacioacuten de grano fino y grueso de los AGPs Este anaacutelisis incluye los escenarios teoacutericos y reales de las tasas de aceleracioacuten que se pueden alcanzar Finalmente se revisoacute el concepto de sincronismo en ambos esquemas de paralelizacioacuten el cual se observoacute que afecta de manera positiva el desempentildeo algoriacutetmico

Los esquemas paralelos de los algoritmos geneacuteticos permiten obtener un mejor desempentildeo de los procesos de buacutesqueda Sin embargo se debe considerar una serie de paraacutemetros que se necesitan definir y que requeriraacuten la intervencioacuten de un usuario Es importante destacar tambieacuten que la mejora en el desempentildeo se puede apreciar tanto a nivel algoriacutetmico como a nivel de procesamiento Es necesario tambieacuten indicar que la seleccioacuten de la plataforma de coacutemputo paralelo ya sea distribuida o no implicaraacute costos de comunicacioacuten que deben ser considerados para las tasas de aceleracioacuten que se pretendan alcanzar

Investigacioacuten de AGPs en Meacutexico En Meacutexico investigadoras e investigadores en distintas instituciones y centros de investigacioacuten se han dado a la tarea de explorar esquemas evolutivos que utilizan AGPs Por ejemplo esquemas de AGPs de grano fino para solucionar problemas de optimizacioacuten mono-objetivo sin restricciones y problemas combinatorios han sido desarrollados en El objetivo en esos trabajos es el estudio del efecto de las caracteriacutesticas estructurales en las topologiacuteas de poblacioacuten descentralizadas utilizando mallas conectadas de forma toroidal Distintos criterios fueron definidos para modificar en tiempo de buacutesqueda la forma de la topologiacutea y sin incrementar el costo computacional verificar la mejora del desempentildeo algoriacutetmico al evaluar una cama prueba con problemas mono-objetivo sin restricciones y combinatorios Los resultados obtenidos fueron alentadores y a partir de estos se extendioacute el estudio de las propiedades estructurales a manipular tambieacuten la dimensioacuten de la topologiacutea de malla y modificarla en tiempo de buacutesqueda resultados positivos de este estudio fueron reportados en

Debido al costo computacional de los AGs en general la aceleracioacuten de estos utilizando plataformas de coacutemputo especializadas ha sido un aacuterea de investigacioacuten tambieacuten desarrollada en Meacutexico Particularmente el disentildeo e implementacioacuten de un arreglo de procesadores flexible para

la aceleracioacuten de los AGs celulares utilizando dispositivos reconfigurables conocidos como arreglos de compuertas programables en el campo (FPGAs por sus siglas en Ingleacutes) se reportoacute en Este trabajo presenta una forma novedosa de dividir a la poblacioacuten descentralizada en un nuacutemero determinado de unidades de procesamiento especialmente disentildeadas para operadores evolutivos manteniendo las conexiones toroidales entre soluciones La flexibilidad del disentildeo consiste en poder definir de acuerdo a las necesidades de usuario el nuacutemero de unidades de procesamiento De este modo un nuacutemero mayor de unidades de procesamiento permitiraacute acelerar la ejecucioacuten del algoritmo y un nuacutemero menor de estas permitiraacute reducir el uso de recursos de hardware

En el aacutembito de la optimizacioacuten multi-objetivo desde la perspectiva del coacutemputo evolutivo utilizando esquemas poblacionales paralelos investigadores en Meacutexico han desarrollado un esquema con base en algoritmos geneacuteticos utilizando muacuteltiples resoluciones La propuesta algoriacutetmica llamada Algoritmo geneacutetico multi-objetivo con resolucioacuten muacuteltiple (MRMOGA por sus siglas en Ingleacutes) consiste de un conjunto de sub-poblaciones las cuales a nivel representacioacuten de soluciones evolucionan con resoluciones distintas lo cual implica la divisioacuten del espacio de buacutesqueda en regiones acotadas y traslapadas El desempentildeo alcanzado por MRMOGA supera los resultados reportados en esquemas evolutivos paralelos en teacuterminos de convergencia y evidencia la necesidad de profundizar el estudio de la escalabilidad de esquemas evolutivos paralelos

Para saber maacutes Dentro de la comunidad cientiacutefica dedicada a la investigacioacuten en las aacutereas de las teacutecnicas algoriacutetmicas evolutivas que desarrollan el concepto de paralelismo se han generado recursos bibliograacuteficos diversos de entre los cuales destacan

bull Algoritmos geneacuteticos paralelos por Gabriel Luque y Enrique Alba

bull Algoritmos evolutivos estructurados espacialmente por Marco Tomassini

bull Algoritmos geneacuteticos celulares por Bernabeacute Dorronsoro y Enrique Alba

bull Algoritmos geneacuteticos paralelos eficientes y precisos por Erick Cantuacute-Paz

Por otro lado entre los grupos de investigacioacuten que se desarrollan en el aacuterea destaca el liderado por el investigador Enrique Alba de la Universidad de Maacutelaga en Espantildea quien en colaboracioacuten con otros investigadores y estudiantes a puesto a disposicioacuten una serie de recursos relacionados en En particular en la seccioacuten de software se encuentran disponibles herramientas para el

disentildeo e implementacioacuten de algoritmos evolutivos paralelos tanto de grano grueso como de grano fino

Programacioacuten Geneacutetica Mario Graff

Daniela Moctezuma

Eric S Tellez

Sabino Miranda-Jimeacutenez

INFOTEC Centro de Investigacioacuten e Innovacioacuten en Tecnologiacuteas de la Informacioacuten y Comunicacioacuten Circuito Tecnopolo Sur No 112 Fracc Tecnopolo Pocitos II Aguascalientes

20313 Meacutexico CentroGEO Centro de Investigacioacuten en Ciencias de Informacioacuten Geoespacial Circuito

Tecnopolo Norte No 117 Col Tecnopolo Pocitos II CP Aguascalientes Ags 20313 Meacutexico CONACyT Consejo Nacional de Ciencia y Tecnologiacutea Direccioacuten de Caacutetedras Insurgentes Sur

1582 Creacutedito Constructor Ciudad de Meacutexico 03940 Meacutexico

Introduccioacuten En este capiacutetulo se presenta una introduccioacuten a Programacioacuten Geneacutetica (PG) asiacute como la descripcioacuten de cada uno de los aspectos que la comprenden las perspectivas de este campo y las aacutereas donde se ha aplicado en Meacutexico PG es un algoritmo de buacutesqueda inspirado en los principios de la evolucioacuten de las especies de Charles Darwin (ver ) Particularmente PG engloba a un conjunto de teacutecnicas de coacutemputo evolutivo las cuales tienen como objetivo solucionar automaacuteticamente problemas partiendo de ejemplos del problema por resolver a traveacutes de expresiones evaluables o programas

La Programacioacuten Geneacutetica ha sido ampliamente utilizada en diferentes dominios siendo capaz de resolver una gran variedad de problemas de alta complejidad muchas veces mejorando las soluciones encontradas por humanos Por ejemplo en la competencia ndashldquoHumies rdquo celebrada 2

anualmente en el marco de la Genetic and Evolutionary Computation Conference (GECCO) la cual premia sistemas bio-inspirados que mejoran las soluciones encontradas por humanos a problemas difiacuteciles mdashdesde 2004 y hasta 2017 PG ha sido galardonada con 8 medallas de oro 5 de plata y 1 de bronce En particular en esta competencia y utlizando PG Meacutexico ha obtenido

13

12

13

13

1

2

3

httpwwwhuman-competitiveorg2

una medalla de bronce En competencias de categorizacioacuten de texto se ha obtenido primer lugar en identificacioacuten de humor y en deteccioacuten de agresividad

En Meacutexico la PG ha sido estudiada y aplicada sobre una gran variedad de dominios empezando por aplicaciones tradicionales como el disentildeo de circuitos loacutegicos regresioacuten simboacutelica identificacioacuten de sistemas modelado de sistemas de manchas solares lluvia temperatura del agua turbinas de gas absorcioacuten de partiacuteculas medicioacuten de la capacidad de automovilistas para el manejo de vehiacuteculos sistemas caoacuteticos deteccioacuten de fallas en transformadores de potencia y modelado cualitativo de sistemas

La PG ha probado su efectividad con respecto a algoritmos tradicionales de aprendizaje de maacutequina en problemas como prediccioacuten de series de tiempo clasificacioacuten generacioacuten de ensambles de clasificadores generacioacuten de prototipos generacioacuten de heuriacutesticas navegacioacuten autoacutenoma generacioacuten de rejillas topograacuteficas y memorias asociativas En el aacuterea de procesamiento de lenguaje natural la PG ha sido utilizada para mejorar la representacioacuten del texto en un espacio vectorial aplicada a problemas de categorizacioacuten de texto en anaacutelisis de sentimientos intensidad de una emocioacuten identificacioacuten de humor y deteccioacuten de agresioacuten entre otras En al aacuterea de visioacuten computacional la PG ha servido para desarrollar nuevas representaciones siguiendo un enfoque de redes profundas representacioacuten de palabras visuales estimacioacuten de exponentes Houmllder en imaacutegenes deteccioacuten de puntos de intereacutes reconocimiento de objetos anaacutelisis de imaacutegenes hiper-espectrales y estimacioacuten de vegetacioacuten En el paiacutes tambieacuten se realiza investigacioacuten teoacuterico-praacutectica sobre la creacioacuten de modelos que permitan predecir su rendimiento como en meacutetodos de muestreo en la funcioacuten objetivo mejoras al algoritmo como en y control de coacutedigo superfluo El lector interesado en la teoriacutea de PG puede revisar los siguientes trabajos paradigmaacuteticos que son referentes indispensables sobre el tema

La idea detraacutes de la PG es evolucionar programas partiendo de una descripcioacuten de lo que debe hacer el programa Tradicionalmente esta descripcioacuten se realiza mediante un conjunto de pares de entrada-salida tal como se hariacutea con la descripcioacuten de una funcioacuten Esta descripcioacuten es similar a la usada en Aprendizaje Supervisado con la diferencia de que en PG no existen tipos definidos para las entradas y las salidas por otro lado en aprendizaje supervisado las entradas estaacuten en un espacio vectorial y su salida es un nuacutemero natural o real Utilizando esta descripcioacuten l a f u n c i o n a l i d a d d e u n p r o g r a m a s e d e f i n e c o m o e l c o n j u n t o donde representa la -eacutesima entrada y es su correspondiente salida En cierta forma la idea es encontrar un programa tal que aplicado a un conjunto de entradas se evaluacutee a las predicciones de tal forma que eacutestas se aproximen a los valores originales donde la similitud se mide por medio de una funcioacuten de aptitud Tal y como sucede en otros algoritmos de aprendizaje la efectividad de no estaraacute en aprender los datos de

119987 = (x0 y0) hellip (xi yi) hellip (xN yN) xi i yif

xi yiyi

f

entrenamiento sino en su capacidad de generalizar a entradas nunca antes vistas El procedimiento de aprendizaje y prediccioacuten se detallaraacute en el resto de este capiacutetulo

La PG comparte muchas similitudes con los Algoritmos Geneacuteticos (AG) De hecho se podriacutea decir que la PG es una generalizacioacuten del AG la diferencia radica en que la PG utiliza una representacioacuten variable para sus soluciones y el AG tiene una representacioacuten fija esta diferencia tiene varias implicaciones las cuales se veraacuten a detalle en el transcurso del capiacutetulo Por el momento veamos las similitudes que comparten ambos enfoques La PG es un algoritmo evolutivo poblacional es decir utiliza un conjunto de soluciones llamado poblacioacuten para hacer un muestreo del espacio de buacutesqueda La buacutesqueda es guiada mediante la seleccioacuten de individuos en la poblacioacuten y los operadores geneacuteticos como son la recombinacioacuten y la mutacioacuten se encargan de generar nuevos individuos es decir nuevos puntos en el espacio de buacutesqueda

El resto del capiacutetulo detalla un sistema de PG tiacutepico empezando por los tipos de evolucioacuten que pueden realizar (seccioacuten 2) la representacioacuten que se utiliza (seccioacuten 3) seguida por la creacioacuten de la poblacioacuten inicial (seccioacuten 4) los operadores que se utilizan para generar un individuo (seccioacuten 5) y finalmente las teacutecnica utilizada para hacer la seleccioacuten (seccioacuten 6)

Proceso evolutivo La evolucioacuten de la poblacioacuten de programas en la PG puede realizarse de dos maneras mediante una evolucioacuten generacional o mediante una evolucioacuten de estado estable Ambos tipos de evolucioacuten requieren una poblacioacuten inicial y la diferencia entre ellas radica en el uso de dicha poblacioacuten para generar individuos y la actualizacioacuten de la misma En la evolucioacuten generacional existen dos tipos de poblaciones la de los padres y la de los nuevos individuos La poblacioacuten de padres es utilizada para generar nuevos individuos y por lo general cuando la poblacioacuten de nuevos individuos tiene el mismo nuacutemero de elementos que la poblacioacuten de padres se procede a mezclar estas poblaciones para convertirse en la poblacioacuten de padres de la siguiente generacioacuten Por otro lado la evolucioacuten de estado estable no contempla esta diferencia entre poblacioacuten de padres y de nuevos individuos dado que el individuo generado reemplaza un individuo de la poblacioacuten actual

El algoritmo [alggeneracional] muestra el pseudocoacutedigo de la evolucioacuten generacional Como se habiacutea mencionado se requiere de una poblacioacuten inicial denominada la cual seraacute utilizada para generar individuos y seraacute actualizada mientras no se cumpla un establecido Lo primero que se observa en el algoritmo son dos ciclos anidados (liacuteneas 1 y 2) El primero itera hasta que se cumpla la condicioacuten de paro y el segundo se encarga de generar la poblacioacuten de hijos (liacutenea 3) Al final de este segundo ciclo se tienen dos poblaciones y

119979120226120267120258120269120254120267120258120264 120253120254 120239120250120267120264

119979h 119979

Estas dos poblaciones se combinan (liacutenea 5) para formar una nueva poblacioacuten utilizada en la siguiente generacioacuten La funcioacuten combina estas poblaciones y puede ser tan simple como seleccionar todo para reemplazar o pueden adoptarse estrategias maacutes complejas como remplazo con elitismo donde se realiza el remplazo pero se asegura que los mejores individuos de ambas poblaciones se preserven en la siguiente generacioacuten

[alggeneracional]

La evolucioacuten generacional es muy utilizada tanto en computacioacuten evolutiva como en PG Sin embargo hasta la fecha no existen ventajas teoacutericas para decidir utilizar un tipo de evolucioacuten sobre el otro Considerando lo anterior este capiacutetulo se enfocaraacute en el uso de evolucioacuten de estado estable debido a que su implementacioacuten es maacutes simple

El algoritmo [algestable] muestra el pseudocoacutedigo de una evolucioacuten de estado estable es utilizada para generar un individuo hijo mediante la aplicacioacuten de operadores geneacuteticos (linea 2) El hijo reemplaza (linea 4) a un elemento de que es seleccionado utilizando una seleccioacuten negativa es decir se selecciona un individuo con una aptitud baja (liacutenea 3) Este proceso continuacutea hasta que el criterio de paro es alcanzado Dicho criterio puede ser variado tal como alcanzar un nuacutemero maacuteximo de individuos generados convergencia de una funcioacuten de error encontrar una solucioacuten adecuada o suficiente entre otras opciones

hijo hijo

[algestable]

Representacioacuten Tomando en cuenta que el objetivo de PG es evolucionar programas es normal pensar que la PG evoluciona programas escritos en alguacuten lenguaje de programacioacuten pej Python utilizando un inteacuterprete o compilador y maacutequina que lo ejecute dependiendo del caso Aunque esto es factible y existen sistemas de PG que han seguido este camino no es lo maacutes comuacuten En este capiacutetulo seguimos una de las praacutecticas maacutes comunes popularizada en el libro de Koza la cual consiste en representar un programa utilizando un aacuterbol de expresioacuten Un aacuterbol de expresioacuten cuenta con tres nodos distintivos la raiacutez la cual es la salida de la expresioacuten los nodos internos y las hojas La funcioacuten de la raiacutez y los nodos internos es aplicar operaciones a sus hijos y las hojas

119979h 119979120236120254120275120252120261120250

119979h 119979

119979 119979h(i ) larr 120238120265120254120267120250120253120264120267120254120268 120230120254120263eacute120269120258120252120264120268(119979) 119979 larr 120236120254120275120252120261120250(119979 119979h) 119979

119979

119979

119979 larr 120238120265120254120267120250120253120264120267120254120268 120230120254120263eacute120269120258120252120264120268(119979) k larr 120242120254120261120254120252120252120258oacute120263 120237120254120256120250120269120258120271120250(119979) 119979(k) larr 119979

representan las entradas ya sean variables o constantes Un ejemplo de un aacuterbol de expresioacuten se muestra en la figura [figexpresion] donde la expresioacuten es representada en el aacuterbol

Los aacuterboles de expresiones se forman partiendo de dos conjuntos uno de terminales que contiene las variables constantes y funciones sin argumentos y otro de funciones que contiene las funciones u operadores que reciben argumentos Por ejemplo en una regresioacuten simboacutelica la cual consiste en encontrar la funcioacuten que maacutes se asemeja a una serie de puntos el conjunto de terminales podriacutea ser donde es la variable independiente y r epresen ta un nuacutemero a lea tor io y e l conjunto de func iones podr iacutea se r Continuando con este ejemplo se puede observar que la expresioacuten representada en la figura [figexpresion] pudo haber sido generada con los mencionados conjuntos de terminales y funciones

Una codificacioacuten simple de un aacuterbol de expresioacuten puede ser representado en un arreglo o una lista es decir un aacuterbol de expresioacuten puede estar codificado de manera lineal Esta codificacioacuten se logra recorriendo el aacuterbol a lo profundo Por ejemplo la expresioacuten representada en la figura [figexpresion] puede ser representada como Esta codificacioacuten seraacute la utilizada en este capiacutetulo para representar los aacuterboles de expresiones

Dado un aacuterbol de expresioacuten se requiere tener un procedimiento para su evaluacioacuten Dicho procedimiento se muestra en el algoritmo [algevaluacion] Evaluacioacuten el cual recibe como entrada un aacuterbol de expresioacuten representado en una estructura de datos lineal como un arreglo o lista La expresioacuten es codificada en donde es la i-eacutesima posicioacuten e es una variable global Evaluacioacuten es una funcioacuten recursiva donde la recursioacuten termina cuando es una constante o variable (ver liacuteneas 15-19) Cuando es una funcioacuten (vg ) liacutenea 1 se debe de conocer la cantidad de argumentos que requiere linea 3 y empieza la recursioacuten En caso de que requiera un argumento liacuteneas 4-7 se incrementa la posicioacuten en uno y se llama a Evaluacioacuten terminando con la evaluacioacuten de la funcioacuten en el valor regresado en la recursioacuten Para maacutes argumentos liacuteneas 9-14 se invoca Evaluacioacuten tantas veces como argumentos requiera la funcioacuten y el valor es guardado en una estructura que podriacutea ser un arreglo o lista La liacutenea 14 evaluacutea la funcioacuten vg en los argumentos Por ejemplo sea la suma entonces la liacutenea 14 realizariacutea

el valor de la variable la constante

[algevaluacion]

x + xsin(934x)

119983ℱ

119983 = x real x real

ℱ = + minus sdot sin cos

( + x x sin times 934 x)

x xi ixi

xi xi isin ℱ

ixi

w fxi w f w0 + w1

x i f larr xi d larr 120250120267120256120270120262120254120263120269120264120268( f ) i larr i + 1 w larr 120228120271120250120261120270120250120252120258oacute120263(x) f (w) w i larr i + 1wj larr 120228120271120250120261120270120250120252120258oacute120263(x) f (w) xi xi

Poblacioacuten inicial Una vez descrita la representacioacuten que tendraacuten los individuos dentro de la poblacioacuten por medio de aacuterboles de expresiones la codificacioacuten de eacutestos mediante una estructura de datos lineal y el pseudocoacutedigo para evaluar un individuo ya es posible describir el procedimiento para crear la poblacioacuten inicial

En PG existen dos procedimientos tradicionales para generar un individuo 1) generar un aacuterbol de expresiones balanceado (Full) o 2) generar un aacuterbol desbalanceado (Grow) ambos se definen con una altura maacutexima La definicioacuten de un aacuterbol balanceado es aquel donde los hijos de cualquier nodo tienen siempre la misma altura La figura [figtipos-de-arbol] muestra un aacuterbol balanceado y un aacuterbol no balanceado En la figura [figbalanceado] se observa coacutemo la definicioacuten de balanceo solo considera la altura sin importar el nuacutemero de nodos Por ejemplo la raiacutez tiene tres nodos en su hijo izquierdo y dos nodos en su hijo derecho y es un aacuterbol balanceado

Estos dos procedimientos para generar un individuo comparten muchas similitudes Por esta razoacuten el algoritmo [algcreacion-individuo] presenta ambos procedimientos decidiendo cuaacutel utilizar mediante una bandera El proceso de generar un individuo utiliza el conjunto de funciones y terminales y la altura deseada Eacuteste es un procedimiento recursivo donde la recursioacuten termina cuando la altura llega a su valor miacutenimo (liacuteneas 1-3) o en el caso en que se utilice el meacutetodo desbalanceado (liacuteneas 3-5) y un nuacutemero aleatorio sea menor que

Si ninguna de las dos condiciones se cumplen empieza la recursioacuten primero

decrementando (liacutenea 6) despueacutes seleccionando de manera aleatoria una funcioacuten del conjunto (liacutenea 7) y contando sus argumentos (liacutenea 8) La estructura definida en la liacutenea 9 es la encargada de guardar los componentes de la regresioacuten Dicha estructura podriacutea ser una lista o un conjunto que mantiene el orden de insercioacuten El procedimiento continuacutea creando un ciclo del nuacutemero de argumentos (liacuteneas 10-12) donde se hace la recursioacuten y el resultado de la recursioacuten se antildeade a liacutenea 11 Finalmente el individuo creado estaacute en y se regresa en la liacutenea 13

[algcreacion-individuo]

Es probable que uno de los meacutetodos maacutes tradicionales para crear la poblacioacuten inicial sea el meacutetodo ramped half-and-half propuesto por Koza el cual consiste en construir la mitad de la poblacioacuten utilizando un meacutetodo balanceado y la otra mitad utilizando un meacutetodo desbalanceado

120236eacute120269120264120253120264h

h = 0

∣ 119983 ∣∣ 119983 ∣ + ∣ ℱ ∣

hℱ w

w w

ℱ 119983 h 120236eacute120269120264120253120264 x isin 119983 x isin 119983 h larr h minus 1 f isin ℱ d larr 120250120267120256120270120262120254120263120269120264120268( f ) w = [ f ]w larr w cup 120226120267120254120250120252120258oacute120263 120253120254 120232120263120253120258120271120258120253120270120264(h 120236eacute120269120264120253120264) w

Ademaacutes de lo anterior la altura del aacuterbol variacutea desde un valor de altura miacutenima hasta un valor maacuteximo de manera lineal tomando en cuenta el tamantildeo de la poblacioacuten

Operadores Geneacuteticos Habiendo descrito dos procedimientos para la creacioacuten de la poblacioacuten inicial es tiempo de introducir los operadores geneacuteticos que permitiraacuten la creacioacuten de nuevos individuos basados en la poblacioacuten actual En PG se acostumbra tener dos operadores geneacuteticos mutacioacuten (ver Seccioacuten 52) y recombinacioacuten (ver Seccioacuten 51) que a diferencia del AG son excluyentes y seleccionados de manera aleatoria

El algoritmo [algoperadores-geneticos] muestra el procedimiento para generar un individuo utilizando mutacioacuten y recombinacioacuten Lo primero que se realiza es la seleccioacuten de los individuos que serviraacuten como padres en este proceso (liacutenea 1 y liacutenea 3) Esto es seguido por la decisioacuten de generar un individuo mediante mutacioacuten o recombinacioacuten la cual se realiza de manera aleatoria y se controla con un paraacutemetro la probabilidad de recombinacioacuten (liacutenea 2) En caso de aplicarse recombinacioacuten se requieren dos elementos (liacutenea 4) y en el caso de mutacioacuten solamente se requiere un elemento (liacutenea 6)

[algoperadores-geneticos]

Recombinacioacuten La recombinacioacuten es la operacioacuten geneacutetica que toma dos individuos de la poblacioacuten denominados padres y los combina para generar un nuevo individuo Tomando en cuenta que los individuos son aacuterboles de expresiones entonces la recombinacioacuten se plantea como la generacioacuten de un nuevo aacuterbol de expresioacuten La idea es escoger en cada aacuterbol un punto de recombinacioacuten e intercambiar los subaacuterboles cuya raiacutez sean dichos puntos de recombinacioacuten

La figura [figrecombinacion] muestra el procedimiento de recombinacioacuten En dicha figura los dos padres son los primeros dos aacuterboles de la izquierda ver figuras [figpadre1] y [figpadre2] El nuevo individuo es el aacuterbol de la derecha ver figura [fighijo] es comuacuten llamar hijo al producto de la recombinacioacuten Los nodos de color azul representan los puntos de recombinacioacuten siendo el procedimiento para generar un nuevo individuo el cambiar los subaacuterboles cuya raiacutez son los nodos en azul En particular aquiacute se crea solamente un individuo el cual es generado al reemplazar el subaacuterbol del primer padre por el subaacuterbol del segundo padre

pxo

119979 a larr 120242120254120261120254120252120252120258oacute120263(119979) b larr 120242120254120261120254120252120252120258oacute120263(119979) w larr 120241120254120252120264120262120251120258120263120250120252120258oacute120263(119979(a)) 119979(b))w larr 120236120270120269120250120252120258oacute120263(119979(a)) w

El procedimiento de recombinacioacuten requiere de un meacutetodo que permita conocer donde termina un subaacuterbol dada su raiacutez Esto es debido a que se estaacute codificando un aacuterbol de expresioacuten en una estructura lineal Este procedimiento es simple y solamente se requiere el contar el nuacutemero de argumentos por cada funcioacuten encontrada en el camino El algoritmo [algrecorre] presenta el pseudocoacutedigo para hacer el recorrido por el subaacuterbol Este procedimiento recibe un individuo y la posicioacuten de la raiacutez del subaacuterbol de intereacutes El ciclo de las liacuteneas 2-12 realiza todo el recorrido del subaacuterbol terminando cuando las funciones encontradas en el recorrido han satisfecho todos sus argumentos liacuteneas 9-11 regresando la posicioacuten del uacuteltimo nodo del subaacuterbol En cada iteracioacuten se sabe que se consume un argumento liacutenea 5 y se incrementa la posicioacuten final del subaacuterbol liacutenea 4 Ademaacutes se verifica si el nodo actual corresponde a una funcioacuten En caso afirmativo se incrementa el nuacutemero de argumentos liacuteneas 6-8 y todo este proceso continua hasta que los argumentos requeridos por la funciones han sido cubiertos

[algrecorre]

Ahora que se conoce la funcioacuten auxiliar es momento de describir el pseudocoacutedigo de la recombinacioacuten el cual se muestra en el algoritmo [algrecombinacion] Lo primero que se puede observar es que la recombinacioacuten requiere dos individuos el segundo paso es seleccionar un nodo de cada uno de estos individuos liacuteneas 1 y 2 Las liacuteneas 3 y 4 calculan las posiciones donde terminan cada uno de los subaacuterboles que corresponden a los nodos seleccionados Finalmente el individuo generado corresponde al reemplazo de la subcadena que representa el subaacuterbol del primer padre con la subcadena que representa el subaacuterbol del segundo padre ver liacutenea 5

[algrecombinacion]

Mutacioacuten Existen diferentes tipos de mutacioacuten Una de las maacutes utilizadas es la mutacioacuten de subaacuterbol la cual consiste en hacer recombinacioacuten de un individuo de la poblacioacuten con un individuo aleatorio La idea es reemplazar un subaacuterbol del individuo de la poblacioacuten por un subaacuterbol aleatorio y esto se logra utilizando meacutetodos previamente definidos

La mutacioacuten de subaacuterbol se presenta en el algoritmo [algmutacion] Este procedimiento requiere un padre Despueacutes se genera un individuo aleatorio utilizando el meacutetodo

x i c larr 1 x larr xi i larr i + 1 c larr c minus 1 c larr c + 120250120267120256120270120262120254120263120269120264120268(x) i

120241120254120252120264120267120267120254

x y

x y i larr 120239120270120263120269120264 120253120254 120267120254120252120264120262120251120258120263120250120252120258oacute120263(x) j larr 120239120270120263120269120264 120253120254 120267120254120252120264120262120251120258120263120250120252120258oacute120263(y) ik larr 120241120254120252120264120267120267120254(x i )jk larr 120241120254120252120264120267120267120254(y j ) x0hellipi cup yjhellip jk cup xikhellip∣x∣

x

Por lo general se usa una altura menor a siete y despueacutes se regresa la de los individuos (liacutenea 2)

[algmutacion]

La mutacioacuten de subaacuterbol no es el uacutenico tipo de mutacioacuten Otro tipo de mutacioacuten muy utilizada es la mutacioacuten de punto que tiene su homoacutelogo en el AG La mutacioacuten de punto funciona iterando por todos los nodos del individuo y seleccionando aleatoriamente algunos nodos para ser mutados Un nodo seleccionado para ser mutado cambia su valor de la siguiente manera Un nodo que tiene una funcioacuten cambia la funcioacuten por otra de la misma cardinalidad Por otro lado un nodo que tiene una terminal cambia su valor por otra terminal seleccionada del conjunto de terminales

Seleccioacuten Hasta este momento hemos revisado los procedimientos para hacer una evolucioacuten de estado estable generar una poblacioacuten inicial y modificar la poblacioacuten utilizando operadores geneacuteticos En esta seccioacuten se muestra el proceso de seleccioacuten de los individuos padres que generaraacuten mediante operadores geneacuteticos un nuevo individuo

La seleccioacuten como su nombre lo indica debe escoger un individuo de la poblacioacuten con base en su aptitud es decir se busca aquel individuo que resuelve de mejor manera el problema En el caso de la seleccioacuten negativa se busca el individuo que resuelve el problema de la peor manera

Recordemos que la forma en que se describe la funcionalidad de un programa es mediante un conjunto de pares entrada-salida vg donde representa la -eacutesima entrada y es su salida correspondiente Utilizando se puede definir la aptitud de un programa de la siguiente manera

donde representa la salida del programa cuando la entrada es y es una funcioacuten que captura que tanto se parece la prediccioacuten a la salida esperada

Existen varios procedimientos de seleccioacuten Uno de los maacutes comunes es la seleccioacuten proporcional o por ruleta La idea de esta seleccioacuten es asignar a cada individuo una probabilidad de ser seleccionado directamente proporcional a su aptitud Otro tipo de seleccioacuten muy utilizado

120226120267120254120250120252120258oacute120263 120253120254 120232120263120253120258120271120258120253120270120264120241120254120252120264120262120251120258120263120250120252120258oacute120263

x y larr 120226120267120254120250120252120258oacute120263 120253120254 120232120263120253120258120271120258120253120270120264(4 120225120250120261120250120263120252120254120250120253120264) 120241120254120252120264120262120251120258120263120250120252120258oacute120263(x y)

119987 = (x0 y0) hellip (xi yi) hellip (xN yN) xii yi 119987

p

120224120265120269120258120269120270120253(p) = sum(xy)isin119987

120236120258120253120254 120224120265120265120267120264120273120258120262120250120252120258oacute120263(y p(x))

p(x) p x 120236120258120253120254 120224120265120265120267120264120273120258120262120250120252120258oacute120263p(x) y

en la comunidad es la seleccioacuten por torneo donde la idea es seleccionar al ganador de un grupo de individuos seleccionados aleatoriamente Al tamantildeo del grupo se le conoce como el tamantildeo del torneo

El algoritmo [algseleccion] presenta el pseudocoacutedigo de la seleccioacuten por torneo El procedimiento requiere la poblacioacuten y el tamantildeo del torneo Se empieza seleccionando un individuo de la poblacioacuten vg el -eacutesimo para el cual se obtiene su aptitud liacuteneas 1 y 2 El individuo es momentaacuteneamente el mejor elemento conocido El ciclo principal ejecuta el torneo liacuteneas 3-10 En cada iteracioacuten se selecciona un elemento de la poblacioacuten junto con su aptitud (liacutenea 4 y 5) En caso que el nuevo individuo tenga una mejor aptitud que la conocida eacuteste se convierte en el ganador del torneo liacuteneas 6-9 El procedimiento termina regresando la posicioacuten del mejor individuo

t

[algseleccion]

Espacio de buacutesqueda La PG es un algoritmo de buacutesqueda inspirado en los principios de la evolucioacuten En esta seccioacuten se describe coacutemo es el espacio de buacutesqueda Existen dos diferencias principales entre la PG y el AG 1) la PG busca en un espacio posiblemente infinito de programas mientras que el AG en un espacio finito y 2) las soluciones de la PG tienen una codificacioacuten de longitud variable y las del AG son de longitud fija

El espacio de buacutesqueda de la PG se construye partiendo del conjunto de funciones y del conjunto de terminales de la siguiente manera Sea el subconjunto de funciones con cardinalidad del conjunto de funciones y los elementos creados en la -eacutesima iteracioacuten iniciando en Usando esta notacioacuten los primeros elementos del espacio de buacutesqueda vg son El resto de los elementos se construyen

iterativamente usando por lo tanto el espacio de

buacutesqueda estaacute definido como

Con el objetivo de ejemplificar la estructura del espacio de buacutesqueda la figura [figespacio-busqueda] presenta unos elementos del espacio de buacutesqueda cuando el conjunto de terminales es

119979 tk ga

119979(k)

119979 k larr 120237uacute120262120254120267120264 120224120261120254120250120269120264120267120258120264() ga larr 120224120265120269120258120269120270120253(119979(k)) ck larr 120237uacute120262120254120267120264 120224120261120254120250120269120264120267120258120264()ca larr 120224120265120269120258120269120270120253(119979(ck)) k larr ck ga larr ca k

Ω

ℱ119983 ℱc sube ℱ

c Ωi ii = 0

i = 0 Ω0 = ⋃c

f (x1 ⋯ xc) ∣ xi isin 119983 f isin ℱc

Ωi = ⋃c

f (x1 ⋯ xc) ∣ xi isin Ωiminus1 f isin ℱc

Ω = ⋃i

Ωi

y el conjunto de funciones es La figura [figomega0] muestra todos los elementos de los cuales corresponden a las combinaciones entre el operador y las entradas asiacute como a la funcioacuten y las posibles entradas La parte inferior de la figura muestra algunos elementos de Siguiendo la definicioacuten dada la primera expresioacuten corresponde al segundo elemento de y el uacuteltimo elemento corresponde al uacuteltimo elemento generado en

Conclusiones En este capiacutetulo se describioacute la importancia y potencial que tiene la PG en diversas tareas y aplicaciones Ademaacutes se describieron las partes que conforman un sistema de programacioacuten geneacutetica tradicional equivalente a los descritos en ) Tambieacuten se describieron los tipos de evolucioacuten maacutes comunes y con base en la evolucioacuten de estado estable se detalloacute el resto de las partes necesarias para llevar a cabo el proceso evolutivo como son la representacioacuten de los individuos la creacioacuten de la poblacioacuten inicial los operadores geneacuteticos y el tipo de seleccioacuten Finalmente se describioacute el espacio de buacutesqueda de la PG que se genera partiendo de los conjuntos de funciones y terminales

Como todo los sistemas la PG ha evolucionado Actualmente existen diferentes propuestas para mejorar sus componentes empezando desde la creacioacuten de la poblacioacuten inicial pej modificaciones a los operadores geneacuteticos tradicionales pej operadores semaacutenticos estudios sobre la seleccioacuten y evolucioacuten guiada por una funcioacuten diferente a la funcioacuten objetivo

Para saber maacutes Para una revisioacuten amplia sobre la PG se sugiere al lector la siguiente bibliografiacutea La PG fue descrita inicialmente en el libro de John Koza esta descripcioacuten se complementa con el libro escrito por Wolfgang Banzhaf et al y maacutes reciente Riccardo Poli et al presenta una introduccioacuten actualizada al aacuterea

Con respecto a artiacuteculos cientiacuteficos es importante comentar que existe una coleccioacuten bibliograacutefica en PG compilada y administrada por William Langdon John Koza y Steven Gustafson Esta coleccioacuten cuenta con maacutes de 13000 referencias a trabajos de investigacioacuten en 34

el tema incluyendo los trabajos realizados en Meacutexico

119983 = x y ℱ = + sinΩ0 +

sinΩ1

Ω1 Ω1

httpliinwwwiraukadebibliographyAigeneticprogramminghtml3

httpwwwcsbhamacuk~wblbiblio4

Importancia de la Diversidad en el Disentildeo de Algoritmos Evolutivos

Carlos Segura

Joel Chacoacuten Castillo

La convergencia prematura es una de las mayores problemaacuteticas que afectan al rendimiento de las metaheuriacutesticas poblacionales por lo que a la hora de disentildear algoritmos evolutivos es un aspecto a tener en cuenta En este capiacutetulo se enumeran diferentes teacutecnicas que se han propuesto a lo largo de las uacuteltimas deacutecadas para lidiar con este problema Una de las alternativas maacutes exitosas consiste en examinar los efectos que los diferentes componentes del algoritmo evolutivo tienen sobre la diversidad mantenida en la poblacioacuten y con base en ello redisentildearlos para modificar su comportamiento de forma dinaacutemica Con el objetivo de ilustrar de una forma detallada este uacuteltimo grupo de teacutecnicas se discuten dos mecanismos que pertenecen a este grupo El primero se aplica en el aacutembito de evolucioacuten diferencial y consiste en una estrategia de reemplazo que combina una poblacioacuten eacutelite con un mecanismo para mantener la diversidad de forma expliacutecita El segundo caso estaacute enfocado a los operadores de cruza donde concretamente se analiza y extiende el Operador de Cruza basado en Simulacioacuten Binaria (Simulated Binary Crossover - SBX) En las extensiones se considera el criterio de paro para modificar de forma dinaacutemica el comportamiento del operador con el propoacutesito de inducir un cambio gradual desde exploracioacuten hacia intensificacioacuten en el proceso de buacutesqueda La validacioacuten experimental se realizoacute con algunos de los problemas de prueba maacutes populares del aacutembito mono-objetivo y multi-objetivo alcanzaacutendose mejoras significativas en ambos casos

Diversidad Convergencia Prematura Evolucioacuten Diferencial Optimizacioacuten Multi-objetivo

Introduccioacuten Los Algoritmos Evolutivos (Evolutionary Algorithms mdash eas) son considerados como uno de los enfoques con mayor eficacia para resolver distintas categoriacuteas de problemas de optimizacioacuten Se han desarrollado diversas variantes que han sido aplicadas en muacuteltiples campos como en transporte economiacutea o ingenieriacutea Particularmente se han aplicado tanto en problemas del dominio continuo como del dominio discreto En general los eas han sido especialmente exitosos en la resolucioacuten de problemas complejos en los que los enfoques exactos no son actualmente aplicables como por ejemplo en problemas NP-completos con espacios de buacutesqueda grandes Para el aacutembito de este capiacutetulo se hace uso de problemas continuos mono-objetivo y multi-objetivo con restricciones de caja que se pueden definir tal y como se indica en la Ecuacioacuten ([eqnModel_general])

Minimizar 

rarrF (

rarrX )

Su jeto a rarrX isin Ω

donde es un vector compuesto por variables continuas de decisioacuten cada variable pertenece al conjunto de los reales es la dimensioacuten correspondiente al espacio de las variables de decisioacuten es un vector compuesto por funciones objetivo es el espacio factible cuyo liacutemite inferior es y liacutemite

superior es es decir Cada vector de variables es mapeado con -

funciones objetivo al espacio que es conocido como el espacio objetivo

Actualmente los eas son una de las metaheuriacutesticas maacutes conocidas pero a pesar de su eacutexito y de su uso tan extendido adaptarlas a nuevos problemas implica la toma de varias decisiones de disentildeo complejas Particularmente a la hora de disentildear de forma apropiada un ea se ha visto que es muy importante conseguir inducir un balanceo adecuado entre la exploracioacuten e intensificacioacuten del espacio de buacutesqueda Noacutetese en este punto que de manera informal la exploracioacuten del espacio de buacutesqueda consiste en evaluar regiones del espacio de buacutesqueda que no han sido muestreadas con el fin de detectar regiones promisorias y la explotacioacuten consiste en muestrear en zonas ya evaluadas previamente para realizar una buacutesqueda maacutes profunda con el fin de encontrar soluciones maacutes refinadas y de mayor calidad Cuando en los algoritmos evolutivos todas o casi todas las soluciones estaacuten en regiones distantes mdash alta diversidad mdash se produce habitualmente una buacutesqueda exploratoria es decir muchas de las nuevas soluciones evaluadas seraacuten distantes a las ya evaluadas anteriormente Sin embargo cuando casi todas las soluciones estaacuten en una o en unas pocas regiones se produce una buacutesqueda intensificadora Uno de los problemas a la hora de disentildear los algoritmos evolutivos es que en muchos casos no se comprenden todas las implicaciones que los diferentes componentes tienen sobre el mantenimiento de la diversidad de la poblacioacuten y por tanto sobre el balanceo entre exploracioacuten e intensificacioacuten Por ello analizar el comportamiento y redisentildear en base a lo que estaacute ocurriendo en este aspecto es parte del proceso de disentildeo de los eas

Relacionado con lo anterior aparece el concepto de convergencia prematura Se dice que un algoritmo converge de forma prematura cuando mucho antes de alcanzar el criterio de paro todas las soluciones estaacuten en una zona muy pequentildea del espacio de buacutesqueda En este sentido a partir de ese momento es difiacutecil seguir mejorando las soluciones de forma significativa ya que con alta probabilidad soacutelo se va a realizar un muestreo de soluciones en dicha regioacuten Por ello es importante detectar si esto ocurre y en tal caso redisentildear algunos aspectos del ea para preservar una mayor diversidad Sin embargo si la poblacioacuten es muy diversa durante todo el proceso de buacutesqueda se podriacutea no alcanzar un grado adecuado de intensificacioacuten y por lo tanto se tendriacutea una convergencia lenta que posiblemente tambieacuten resultariacutea en soluciones de baja calidad Por

rarrX D

rarrX = [x1 x2 xD]

xi isin real DrarrF M

rarrF = [ f1(

rarrX ) f2(

rarrX ) fM(

rarrX )] Ω x(L)

i

x(U )i Ω =

D

prodj=1

[x(L)j x(U )

j ] M

rarrF (

rarrX )(

rarrF Ω sube realD rarr realM) realM

esta razoacuten Mahfoud utilizoacute el concepto de diversidad uacutetil para referirse a la cantidad de diversidad necesaria para generar soluciones de alta calidad

En relacioacuten al disentildeo de eas se puede observar que en sus inicios la mayoriacutea de enfoques fueron esquemas generacionales en los que las soluciones hijas reemplazaban a la poblacioacuten anterior sin importar su respectiva aptitud o grado de diversidad En estos esquemas iniciales se usaba la seleccioacuten de padres para promover que el proceso de muestreo se realizara con mayor probabilidad en las regiones maacutes promisorias encontradas Por ello con el propoacutesito de alcanzar un balanceo adecuado entre exploracioacuten e intensificacioacuten se desarrollaron muchas estrategias de seleccioacuten de padres que permitiacutean centrarse con mayor o menor velocidad en las regiones promisorias Ademaacutes se desarrollaron alternativas que modifican otros aspectos como la estrategia de variacioacuten yo el modelo poblacional En la mayor parte de eas maacutes recientes se introduce ademaacutes una fase de reemplazamiento por lo que la nueva poblacioacuten no tiene que formarse exclusivamente con los hijos maacutes bien se usan mecanismos para combinar la poblacioacuten anterior con la poblacioacuten hija y determinar asiacute los nuevos sobrevivientes En este contexto se suele introducir elitismo en los algoritmos es decir el mejor individuo encontrado sobreviviraacute a la siguiente generacioacuten De esta forma ahora tambieacuten se puede modificar esta uacuteltima fase para conseguir el balanceo apropiado entre exploracioacuten e intensificacioacuten

En los uacuteltimos antildeos algunos de los trabajos maacutes exitosos en el aacuterea de evitacioacuten de convergencia prematura se han basado en considerar el criterio de parada y evaluaciones realizadas para balancear entre exploracioacuten e intensificacioacuten Esto se fundamenta en la premisa de que el grado entre exploracioacuten e intensificacioacuten deberiacutea variar a lo largo de la ejecucioacuten por lo tanto tiene sentido que las decisiones tomadas por las componentes variacuteen en funcioacuten del instante de ejecucioacuten Particularmente en este capiacutetulo se describen dos aportaciones que pertenecen a este grupo de teacutecnicas La primera que se aplica en el aacuterea de Evolucioacuten Diferencial (Differential Evolution mdash de) recibe el nombre de de Mejorado con Mantenimiento de Diversidad (de with Enhanced Diversity Maintenance mdash de-edm) e integra una estrategia de reemplazo que maneja la diversidad de forma expliacutecita con una poblacioacuten eacutelite En la fase de reemplazo que incorpora el de-edm se promueve un balanceo dinaacutemico entre exploracioacuten e intensificacioacuten teniendo en cuenta para ello el criterio de paro y las evaluaciones transcurridas para la toma de decisiones Concretamente en las primeras etapas se induce un grado de exploracioacuten alto ya que los individuos sobrevivientes son diversificados y posteriormente conforme transcurren las generaciones se induce un mayor grado de intensificacioacuten La segunda aportacioacuten estaacute enfocada a la extensioacuten de operadores de cruza Particularmente se analizan los componentes que conforman al Operador de Cruza basado en Simulacioacuten Binaria (Simulated Binary Crossover - SBX) y se propone una variante dinaacutemica (Dynamic Simulated Binary Crossover mdash dsbx) en la

que el comportamiento interno es alterado en base al criterio de paro y a las evaluaciones realizadas hasta el momento

El resto de este capiacutetulo estaacute organizado de la siguiente forma En primer lugar en la seccioacuten 2 se revisan algunas de las teacutecnicas maacutes populares que se han propuesto para promover el mantenimiento de diversidad exponiendo una de las clasificaciones maacutes extendidas Posteriormente en la seccioacuten 3 se describe y valida experimentalmente la aportacioacuten basada en evolucioacuten diferencial donde se considera la diversidad de forma expliacutecita en la fase de reemplazamiento Siguiendo esta misma liacutenea en la seccioacuten 4 se lleva a cabo un anaacutelisis del operador de cruza sbx mencionando algunas de sus implicaciones en la diversidad y se expone en base a ello una variante dinaacutemica que se valida experimentalmente con problemas multi-objetivo Finalmente en la seccioacuten 5 se exponen las conclusiones y trabajos futuros trazados en base a los resultados obtenidos

Preservacioacuten de diversidad en algoritmos evolutivos La convergencia prematura es una problemaacutetica muy conocida en el aacutembito de los eas por lo que se han desarrollado gran cantidad de teacutecnicas para lidiar con la misma Estas teacutecnicas modifican de manera directa o indirecta la cantidad de diversidad mantenida por el algoritmo y variacutean desde teacutecnicas generales hasta mecanismos dependientes de un problema dado En este apartado se revisan algunas de las teacutecnicas generales maacutes populares Inicialmente se describen algunas maneras de clasificar a este tipo de estrategias para posteriormente describir mecanismos claacutesicos especiacuteficos asiacute como algunas estrategias maacutes novedosas que se basan en modificar la estrategia de reemplazamiento Finalmente dado que en este capiacutetulo se extiende de se revisan tambieacuten los trabajos de esta aacuterea que tienen una relacioacuten estrecha con el manejo de diversidad Se recomienda a los lectores que requieran conocer estos mecanismos con maacutes detalle consultar asiacute como los artiacuteculos especiacuteficos en que cada meacutetodo es propuesto

Clasificaciones de mecanismos para promover la diversidad Debido a la gran cantidad de meacutetodos desarrollados en esta aacuterea se han propuesto varias clasificaciones de los mismos Liu et al propuso diferenciar entre los enfoques uni-proceso y multi-proceso En el enfoque uni-proceso se modifica la preservacioacuten de la diversidad actuando sobre un uacutenico componente del ea Es importante destacar que en los enfoques uni-proceso no se excluye el uso de otros componentes en el proceso de exploracioacuten yo intensificacioacuten sino que maacutes bien si no se consigue el balanceo adecuado soacutelo se modifica una componente hasta conseguir el comportamiento deseado Por otra parte en los enfoques multi-proceso se tiene en cuenta las implicaciones que varios componentes provocan sobre el balanceo y se actuacutea

modificando o redisentildeando varios de ellos hasta conseguir el comportamiento adecuado Los esquemas uni-proceso son mucho maacutes habituales actualmente y en particular las dos propuestas incluidas en este capiacutetulo son mecanismos uni-proceso

Extendiendo a lo anterior se propuso una clasificacioacuten maacutes especiacutefica en la que se tiene en cuenta cuaacutel es la componente que se cambia para categorizar a cada meacutetodo En este sentido los maacutes populares son los siguientes

bull Enfoques basados en la seleccioacuten son los maacutes claacutesicos y se basan en cambiar la presioacuten de seleccioacuten que se produce hacia las zonas promisorias a la hora de realizar la seleccioacuten de padres

bull Enfoques basados en poblacioacuten se modifica el modelo poblacional utilizando algunas teacutecnicas como variar el tamantildeo de la poblacioacuten de forma dinaacutemica eliminar individuos duplicados utilizar teacutecnicas de infusioacuten o establecer un estrategia de islas con migraciones

bull Enfoques basados en ela cruza yo la mutacioacuten se basan en redisentildear los operadores de cruza yo mutacioacuten considerando en algunos casos informacioacuten especiacutefica del problema Tambieacuten se incluyen en este grupo opciones maacutes generales como aplicar restricciones sobre el emparejamiento yo incluir operadores disruptivos que podriacutean ser utilizados soacutelo en ciertos instantes del proceso de optimizacioacuten

Esquemas claacutesicos para administrar la diversidad Los primeros eas se basaron principalmente en esquemas generacionales que no incluiacutean fase de reemplazo En estos esquemas la seleccioacuten de padres era la principal responsable de que se muestrearan con mayor probabilidad las zonas maacutes promisorias encontradas hasta el momento y por tanto muchos de los primeros esquemas que trataron de evitar la convergencia prematura se basaron en modificar el proceso de seleccioacuten de padres Asiacute en los 90s se desarrollaron varios esquemas que alteraban la presioacuten de seleccioacuten de forma estaacutetica o dinaacutemica Sin embargo con base en varios estudios teoacutericos y experimentales se observoacute que generalmente actuar exclusivamente sobre el operador de seleccioacuten no es suficiente especialmente cuando se quieren realizar ejecuciones a largo plazo ya que se requeririacutean poblaciones excesivamente grandes para mantener un grado adecuado de diversidad

Otra alternativa fue modificar los modelos poblacionales encontrando en este grupo los esquemas basados en islas los celulares o maacutes recientemente los basados en agrupaciones o cluacutesteres La idea de introducir restricciones en el emparejamiento principalmente con base en la ubicacioacuten de los individuos en el espacio de buacutesqueda tambieacuten ha sido bastante exitosa aunque controlar los mismos para obtener el balanceo apropiado ante diferentes criterios de parada es

bastante complejo En algunos casos resultoacute ser maacutes prometedor promover el emparejamiento entre individuos no similares mientras que en otros escenarios se hace exactamente lo opuesto Otro problema comuacuten de muchas de las estrategias anteriores es que suelen introducir paraacutemetros adicionales por lo que el proceso de ajuste de paraacutemetros que ya de por siacute es un problema importante en los eas se vuelve auacuten maacutes complejo Es importante resaltar que todas estas estrategias claacutesicas no evitan por completo la convergencia sino que la idea es disponer de mecanismos para acelerarla o retrasarla

Otra alternativa diferente ha sido adaptar la fase de variacioacuten En este sentido se han desarrollado diversas teacutecnicas para controlar los paraacutemetros que se consideran en la variacioacuten con el propoacutesito de adaptar el balanceo entre exploracioacuten e intensificacioacuten En algunos casos esto se consigue usando distintos valores en los paraacutemetros para distintas etapas a lo largo del proceso de optimizacioacuten mientras que en otros casos se hacen cambios maacutes draacutesticos y se consideran varios operadores con distintas propiedades Tambieacuten existen mecanismos adaptativos que usan una memoria para almacenar informacioacuten histoacuterica sobre los efectos de la variacioacuten y con base en ello ir modificaacutendola Cabe destacar que en la mayor parte de estos esquemas no se considera la diversidad de forma directa sino que soacutelo se considera para analizar el comportamiento y con base en ello se procede a un redisentildeo

Finalmente un esquema muy sencillo pero no por ello menos importante es el basado en reinicios En estos esquemas en lugar de evitar la convergencia acelerada se aplica un reinicio total o parcial de la poblacioacuten cada cierto nuacutemero de generaciones o cuando se detecta que la poblacioacuten ha convergido Con base en esto se han propuesto diversas estrategias para establecer los puntos de reinicio Estos esquemas se implementan de forma muy sencilla y en algunos casos han proporcionado mejoras significativas por lo que es un meacutetodo a tener en cuenta al menos como alternativa inicial Es comuacuten combinar las estrategias basadas en reinicio con algunas de las teacutecnicas anteriores ya que dichas teacutecnicas estaacuten basadas en mantener la diversidad mientras que en esta uacuteltima el objetivo es recuperar la diversidad

Esquemas de reemplazamiento basados en diversidad Recientemente se han propuesto diversos mecanismos que modifican la fase de reemplazo para preservar la diversidad La idea principal de estos esquemas es inducir un grado de exploracioacuten adecuado diversificando a los individuos sobrevivientes de forma que los operadores de reproduccioacuten puedan generar nuevas soluciones en diferentes regiones en las siguientes generaciones Estos meacutetodos estaacuten basados en el principio de que los operadores de cruza tienen un efecto de exploracioacuten al considerar individuos distantes y de intensificacioacuten al considerar individuos proacuteximos

El esquema de pre-seleccioacuten propuesto por Cavicchio es uno de los primeros estudios que utilizan la fase de reemplazamiento para controlar la diversidad El esquema inicial de Cavicchio se extendioacute para generar el esquema denominado amontonamiento o crowding el cual ha sido muy popular en los uacuteltimos antildeos El principio del crowding se basa en que los nuevos individuos que entren en la poblacioacuten sustituyan a individuos similares de generaciones anteriores y con base en este principio se han formulado diversas implementaciones

En esta misma liacutenea se han propuesto otras estrategias de reemplazo con el propoacutesito de promover la diversidad Uno de los procedimientos maacutes populares es la Estrategia de Limpieza (Clearing Strategy - clr) En el procedimiento clr se agrupan a los individuos en grupos denominados nichos y los mejores individuos de cada nicho son preservados e incluidos en la poblacioacuten de la siguiente generacioacuten Un inconveniente de este procedimiento es que los casos en que se detectan muchos nichos provocan una fuerte inmovilizacioacuten de la poblacioacuten Por ello Petrowski propuso una variante para uacutenicamente seleccionar a individuos cuya aptitud sea mejor que la media de la poblacioacuten

Otros meacutetodos de este grupo consideran funciones de aptitud que combinan la funcioacuten objetivo original con la diversidad Sin embargo es complejo construir una funcioacuten compuesta ya que las dos mediciones podriacutean no ser directamente compatibles y por lo tanto las funciones adecuadas suelen depender de cada problema Una forma de suavizar este inconveniente fue propuesto en el algoritmo de combinacioacuten (COMB) donde los individuos son ordenados y categorizados con base en su aptitud y contribucioacuten a la diversidad y la funcioacuten compuesta se disentildea con base en el orden y no con base en los valores de funcioacuten objetivo y contribucioacuten a diversidad La principal desventaja del COMB es que requiere dos paraacutemetros de usuario aunque independientemente de esto se ha usado con bastante eacutexito Otra alternativa es el procedimiento Reemplazamiento Basado en Contribucioacuten a la Diversidad y Sustitucioacuten del Peor (Contribution of DiversityReplace Worst - CDRW) En el meacutetodo CDRW un nuevo individuo reemplaza a un miembro de la poblacioacuten cuyo rendimiento sea peor tanto en aptitud como en contribucioacuten a la diversidad En caso de no encontrar un peor individuo bajo estos dos criterios se procede a reemplazar al peor individuo en la poblacioacuten considerando uacutenicamente a la aptitud Una uacuteltima alternativa se basa en considerar a la contribucioacuten a la diversidad como un objetivo adicional y aplicar un esquema de optimizacioacuten multi-objetivo Estos enfoques son identificados como algoritmos multi-objetivo basados en diversidad Existen varias estrategias para calcular el objetivo auxiliar Uno de los enfoques maacutes populares consiste en calcular la contribucioacuten a la diversidad de cada individuo con base en la Distancia al Vecino maacutes Cercano (Distance to the Closest Neighbor - DCN) de entre los individuos que ya hayan sido seleccionados como supervivientes

Diversidad en evolucioacuten diferencial Los algoritmos basados en de son altamente susceptibles a la peacuterdida de diversidad debido a que se basan en una estrategia de seleccioacuten muy elitista Debido a ello se han desarrollado varios anaacutelisis para lidiar con este problema Dado que en el aacuterea se conoce al menos de manera general las implicaciones que tiene cada paraacutemetro sobre la diversidad algunos autores han trabajado en estimar de forma teoacuterica cuaacuteles deben ser los paraacutemetros adecuados para que se produzca cierto tipo de comportamiento Otros autores han estudiado el efecto que tiene la norma de los vectores de diferencia sobre la mutacioacuten y con base en ello se han propuesto mecanismos que prohiacuteben ciertos movimientos que pueden resultar perjudiciales para la diversidad En este uacuteltimo estudio el tipo de movimientos aceptados variacutea a lo largo de la ejecucioacuten descartando a los movimientos cuyos desplazamientos sean menores a un umbral el cual es decrementado conforme transcurren las generaciones Ademaacutes se han propuesto otras formas para establecer los movimientos aceptados

Una alternativa distinta se basa en alterar el operador de seleccioacuten Especiacuteficamente con el propoacutesito de mantener mayor diversidad en la poblacioacuten se altera la presioacuten de seleccioacuten utilizando una seleccioacuten probabiliacutestica que permite escapar en algunos casos de las bases de atraccioacuten de oacuteptimos locales Sin embargo este meacutetodo no es demasiado robusto debido a que considera la aptitud para definir las probabilidades para seleccionar a un individuo por lo que ciertas transformaciones de la funcioacuten pueden modificar de forma draacutestica el tipo de buacutesqueda que se realiza

Finalmente la variante de con Diversidad de la Poblacioacuten Auto-Mejorado (Auto-Enhanced Population Diversity - AEPD) mide la diversidad de forma expliacutecita y cuando se detecta la existencia de un nivel bajo de diversidad en la poblacioacuten se lanza un mecanismo de diversificacioacuten Esta propuesta se ha extendido para considerar diferentes esquemas de perturbacioacuten

Es interesante hacer notar que las variantes de de que alcanzaron los primeros lugares en varias competencias de optimizacioacuten durante los uacuteltimos antildeos no consideran estas modificaciones y ademaacutes estas variantes no han sido incorporadas en las herramientas de optimizacioacuten maacutes populares Esto puede deberse a que muchos de los concursos estaacuten orientados a obtener resultados en un nuacutemero de evaluaciones bastante limitado en lugar de a largo plazo que es el aacutembito en el que maacutes beneficios suelen dar los mecanismos de control de diversidad

Disentildeo de evolucioacuten diferencial basado en diversidad

Evolucioacuten diferencial Conceptos baacutesicos Esta seccioacuten estaacute dedicada a revisar la variante claacutesica de de y a introducir varios teacuterminos importantes que son utilizados en el campo de de El esquema claacutesico de de es identificado como derand1bin y ha sido ampliamente usado como base para el desarrollo de variantes maacutes complejas De hecho la propuesta que se presenta en este capiacutetulo como ejemplo extiende al derand1bin de fue propuesto como un meacutetodo de buacutesqueda directa para optimizacioacuten continua mono-objetivo y es el aacutembito en que se usaraacute en este capiacutetulo es decir se considera la Ecuacioacuten ([eqnModel_general]) fijando

de es un algoritmo estocaacutestico basado en poblacioacuten por lo que en cada instante maneja un conjunto de soluciones candidatas que van evolucionando de forma iterativa En de dichas soluciones candidatas son usualmente conocidas como vectores En la variante baacutesica de de para cada miembro de la poblacioacuten (conocidos como vectores objetivo) se genera un nuevo vector que es conocido como el vector mutado A continuacioacuten el vector mutado se combina con el vector objetivo para generar al vector de prueba y finalmente se procede con la fase de seleccioacuten para elegir a los vectores sobrevivientes De esta forma las generaciones transcurren de forma iterativa hasta cumplir el criterio de paro En esta capiacutetulo el -eacutesimo vector de la poblacioacuten en la generacioacuten se denota como A continuacioacuten se explica en maacutes detalle cada componente de de

Inicializacioacuten

Usualmente de inicia el proceso de optimizacioacuten con una poblacioacuten de vectores que son creados de forma aleatoria Habitualmente los vectores de la poblacioacuten inicial son generados con base en una distribucioacuten uniforme ya que usualmente no se posee informacioacuten sobre cuaacuteles son las zonas maacutes promisorias del espacio de buacutesqueda Por lo tanto el -eacutesimo componente del -eacutesimo vector es inicializado de la forma donde es un nuacutemero aleatorio uniformemente distribuido entre y

Operador de mutacioacuten

Por cada vector objetivo se genera un vector mutado para lo cual se han propuesto muacuteltiples estrategias con la particularidad de que en cierta forma se usen las diferencias entre vectores La variante claacutesica de de aplica la estrategia conocida como rand1 en la cual se crea un vector mutado de la siguiente forma

M = 1

iG

rarrX iG = [x1iG x2iG xDiG]

NP

j ixji0 = x(L)

j + randi j[0 1](x(U )j minus x(L)

j )randi j[0 1] 0 1

ViG

En la Ecuacioacuten ([eqnmutation]) los iacutendices deben ser enteros distintos y son generados de forma aleatoria en el rango Ademaacutes estos iacutendices son distintos al iacutendice Es importante hacer notar que la diferencia entre los vectores es escalada por medio del paraacutemetro el cual usualmente se define en el intervalo Posteriormente el vector de diferencia (escalado) es agregado a un tercer vector lo que significa que los vectores mutados son similares a los vectores objetivo si el grado de diversidad es bajo ya que los vectores de diferencias tienen norma pequentildea Como consecuencia de esto es claro que es criacutetico mantener un grado miacutenimo de diversidad en de

Operador de cruza

El operador de cruza se aplica con el objetivo de combinar la informacioacuten de distintas soluciones candidatas y de incrementar la diversidad de los vectores Especiacuteficamente cada vector objetivo se mezcla con su correspondiente vector mutado para generar un vector de prueba La estrategia de cruza maacutes tiacutepica es conocida como cruza binomial y actuacutea de la siguiente forma

En la Ecuacioacuten ([eqncrossover]) es un nuacutemero uniformemente distribuido es

un iacutendice seleccionado aleatoriamente que asegura que genera al menos un componente de y es la proporcioacuten de cruza

Operador de seleccioacuten

Finalmente se aplica una seleccioacuten elitista para determinar los vectores sobrevivientes que participaraacuten en la siguiente generacioacuten Especiacuteficamente cada vector de prueba se compara con su correspondiente vector objetivo y sobrevive el que tiene la mejor aptitud

Debido a la forma de seleccionar a los sobrevivientes en cada generacioacuten los miembros de la poblacioacuten permanecen iguales o mejoran Por ello se considera que de hace uso de una seleccioacuten

rarrV iG =

rarrX r1G + F times (

rarrX r2G minus

rarrX r3G) r1 ne r 2 ne r3

r1 r 2 r3 isin [1 NP ][1 NP ]

iF [04 1]

rarrX iG

rarrViGrarr

UiG = [u1iG u2iG uDiG]

rarrUjiG =

rarrV jiG si (randi j[0 1] le CR o j = jrand)rarrX jiG de otra forma

randi j[0 1] jrandrarrUiGrarr

V iG CR isin [0 1]

rarrX jiG+1 =

rarrUiG si f (

rarrUiG) le f (

rarrX iG)

rarrX iG de otra forma

muy elitista y es una de las razones por la que en ciertos casos puede sufrir de una convergencia demasiado acelerada

Propuesta basada en diversidad El meacutetodo que se presenta en esta seccioacuten estaacute motivado principalmente por dos trabajos El primero de ellos es un estudio empiacuterico desarrollado por Montgomery et al que confirma que de sufre de convergencia prematura en varios problemas El segundo es un trabajo propuesto por Segura et al que proporciona mejoras significativas en el campo de optimizacioacuten combinatoria utilizando para ello una fase de reemplazo conocida como Reemplazo con Control de Diversidad Dinaacutemica Basada en Varios Objetivos (Replacement with Multi-objective based Dynamic Diversity Control - rmddc) Particularmente el rmddc controla el grado de diversidad relacionaacutendolo con el criterio de paro y generaciones transcurridas Con base en las conclusiones de cada uno de los trabajos en esta seccioacuten se ilustra una propuesta que es una variante novedosa de de que incluye un mecanismo de reemplazo que sigue los mismos principios que guiaron el disentildeo de rmddc Este nuevo algoritmo recibe el nombre de Evolucioacuten Diferencial con Mantenimiento Mejorado de Diversidad (Differential Evolution with Enhanced Diversity Maintenance - de-edm) y su coacutedigo fuente estaacute disponible 5

de-edm (ver Algoritmo [algDEEDM]) es bastante similar a la versioacuten claacutesica de de de hecho la forma en que se crean los vectores de prueba (liacuteneas 5 y 6) se mantiene intacta La novedad del de-edm es que incorpora una poblacioacuten eacutelite ( ) y una estrategia de reemplazo basada en diversidad Especiacuteficamente con el propoacutesito de seleccionar a los miembros de la poblacioacuten eacutelite se considera el operador de seleccioacuten elitista de la versioacuten claacutesica de de (liacutenea 7) Posteriormente se aplica la estrategia de reemplazo (liacutenea 8) para determinar a los sobrevivientes Siguiendo la misma filosofiacutea que en el rmddc los individuos que contribuyen muy poco a la diversidad no deberiacutean ser aceptados como miembros de la siguiente generacioacuten Para conseguir este propoacutesito se considera tanto el criterio de paro como las generaciones transcurridas en la seleccioacuten Asiacute se estableceraacute un grado de diversidad miacutenimo deseado dependiente del tiempo de ejecucioacuten

Inicializar de forma aleatoria a la poblacioacuten con individuos donde cada uno es distribuido de forma uniforme Mutacioacuten Generar al vector mutado ( ) de acuerdo a la Ecuacioacuten ([eqnmutation]) Cruza Utilizar la recombinacioacuten para generar al vector de prueba ( ) de acuerdo a la Ecuacioacuten ([eqncrossover]) Seleccioacuten Actualizar al vector eacutelite ( en lugar de

E

NPG = 0 ViG

UiGEiG

El coacutedigo en C++ puede ser descargado en la siguiente direccioacuten httpsgithubcom5

joelchaconcastilloDiversity_DE_Researchgit

) de acuerdo a la Ecuacioacuten ([eqnselection]) Reemplazo Seleccionar a los vectores objetivo ( ) de acuerdo al Algoritmo [algReplacement]

[algDEEDM]

La estrategia de reemplazo (ver Algoritmo [algReplacement]) funciona de la siguiente forma Inicialmente recibe a la poblacioacuten padre (vectores objetivo) a la poblacioacuten de hijos (vectores de prueba) y a los vectores eacutelite De entre todos ellos debe seleccionar a vectores para formar la siguiente poblacioacuten de padres En primer lugar con base en el nuacutemero de evaluaciones de funcioacuten transcurridas y el criterio de parada se calcula una distancia miacutenima deseada ( ) para mantener en la poblacioacuten (liacutenea 2) A continuacioacuten se juntan las tres poblaciones en un conjunto de miembros candidatos (liacutenea 3) que contiene en cada momento a los vectores candidatos que podriacutean ser seleccionados para sobrevivir Posteriormente se inicializa tanto el conjunto de individuos sobrevivientes como los penalizados con el conjunto vaciacuteo (liacutenea 4) Para seleccionar a los sobrevivientes se repite el proceso iterativo (liacuteneas 5 - 13) que se describe a continuacioacuten En cada iteracioacuten se comienza seleccionando como sobreviviente al mejor individuo del Conjunto de Candidatos es decir al individuo que tiene la mejor aptitud Este individuo se mueve al Conjunto de Sobrevivientes y los individuos del Conjunto de Candidatos cuya distancia al individuo seleccionado sea menor que se transfieren al Conjunto de Penalizados (liacutenea 9) La forma de calcular la distancia entre dos individuos es con base en la distancia Euclidiana normalizada descrita en la Ecuacioacuten ([eqndistance]) donde es la dimensioacuten del problema y son los liacutemites menores y mayores de la dimensioacuten En los casos donde el conjunto de Candidatos queda vaciacuteo antes de seleccionar a individuos el Conjunto de Sobrevivientes se llena seleccionando en cada iteracioacuten al individuo con la mayor distancia al individuo maacutes cercano del Conjunto de Sobrevivientes (liacuteneas 10 - 13)

Entrada Poblacioacuten (Vectores Objetivo) Hijos (Vectores de prueba) y Elite Actualizar Candidatos = Poblacioacuten Hijos Elite Sobrevivientes Penalizados Seleccionados = Seleccionar al mejor individuo de Candidatos Eliminar Seleccionado de Candidatos Copiar Seleccionado a Sobrevivientes Encontrar a los individuos de Candidatos cuya distancia a Seleccionados sea menor que y moverlos a Penalizados En esta parte se considera la distancia normalizada (Ecuacioacuten

XiGXG+1 G = G + 1

NP

Dt

NP

Dt

Dx(L)

d x(U )d d

NPPenalizado

distancia(xi xj) =

sumDd=1 (

x di minus xd

j

x(U )d minus x(L)

d )2

D

Dt = DI minus DI(n fes (095ma x_n fes)) cup cup= = empty

Dt

[eqndistance]) Seleccionado = Seleccionar al individuo de Penalizados con la mayor distancia al individuo maacutes cercano a Sobrevivientes Eliminar Seleccionado de Penalizados Copiar Seleccionado a Sobrevivientes

Con el propoacutesito de completar la descripcioacuten de de-edm se especifica la forma en que se calcula y el procedimiento con el cual se actualizan a los individuos eacutelite El resto del algoritmo se mantiene igual que la variante claacutesica de de El valor de se utiliza para alterar el grado entre exploracioacuten e intensificacioacuten por lo tanto el valor adecuado para este paraacutemetro depende del instante de ejecucioacuten Especiacuteficamente este valor deberiacutea ser reducido conforme se alcanza el criterio de paro con el objetivo de promover mayor intensificacioacuten en las uacuteltimas etapas de optimizacioacuten En nuestro esquema se requiere asignar un valor inicial para ( ) y a continuacioacuten de manera similar a como se hace en se realiza una reduccioacuten lineal de considerando las evaluaciones transcurridas y el criterio de paro Particularmente en este trabajo el criterio de paro se asigna con base en las evaluaciones a funcioacuten y la reduccioacuten se calcula de tal forma que al del nuacutemero maacuteximo de evaluaciones el valor de diversidad miacutenimo requerido es cero lo que quiere decir que en la uacuteltima fase la diversidad no es considerada para nada Entonces denotando al nuacutemero maacuteximo de evaluaciones y al nuacutemero de e v a l u a c i o n e s t r a s c u r r i d a s e s c a l c u l a d o d e l a s i g u i e n t e f o r m a

La distancia inicial ( ) afecta de forma considerable al rendimiento de de-edm Si este paraacutemetro es elevado el algoritmo maximiza la diversidad de la poblacioacuten en las primeras etapas de optimizacioacuten resultando en una exploracioacuten adecuada que es muy importante en varios tipos de problemas como los multi-modales y deceptivos Sin embargo un valor demasiado elevado de podriacutea inducir un grado excesivo de exploracioacuten y en consecuencia la intensificacioacuten podriacutea fallar Por otra parte un valor muy pequentildeo de provocariacutea muy poca exploracioacuten y por lo tanto seriacutea maacutes difiacutecil evitar oacuteptimos locales El valor oacuteptimo de podriacutea variar dependiendo del tipo de problema y el criterio de paro Sin embargo en esta primera versioacuten no se adapta el valor de para cada problema En su lugar se realizoacute un anaacutelisis previo para determinar un valor adecuado usaacutendose el valor en todos los problemas

Al igual que en la versioacuten estaacutendar de de en de-edm es necesario asignar una probabilidad de cruza ( ) y un factor de mutacioacuten ( ) De acuerdo a varios estudios desarrollados por Montgomery y otros la probabilidad de cruza tiene un efecto muy importante Estos autores mostraron de forma empiacuterica que los valores extremos de resultan en comportamientos muy distintos entre siacute pero de gran utilidad Asiacute los valores pequentildeos de resultan en una buacutesqueda alineada a un nuacutemero reducido de ejes e induce pequentildeos desplazamientos Esto provoca una mejora gradual con convergencia lenta que en algunos escenarios podriacutea resultar

Sobrevivientes

DtDt

Dt DIDt

95

ma x_n fes n fesDt

Dt = DI minus DI(n fes (095ma x_n fes))

DI

DIDI

DI

DIDI = 03

CR F

CRCR

beneficioso Por otra parte los valores elevados de en general proporcionan soluciones de mayor calidad con una menor probabilidad ya que se tiende a realizar desplazamientos largos Sin embargo cuando son exitosos puedan mejorar la aptitud de forma significativa y permiten explorar zonas distantes Con base en esto en nuestra propuesta se emplean los dos mecanismos es decir valores elevados y pequentildeos de tal y como se muestra en la Ecuacioacuten ([eqncr])

Por otro lado siguiendo los principios de distintas variantes del SHADE se consideran las evaluaciones transcurridas para generar el factor de mutacioacuten aplicado Particularmente cada valor se muestrea de una distribucioacuten Cauchy (Ecuacioacuten [eqncauchy])

El efecto de esta distribucioacuten es que en las primeras etapas de optimizacioacuten se generen valores de cercanos a Posteriormente conforme la ejecucioacuten transcurre la funcioacuten de densidad sufre una transformacioacuten gradual ya que la varianza se incrementa Esto implica que se generen valores fuera del intervalo con una probabilidad maacutes alta En los casos en que los valores son mayores a se utiliza el valor mientras que si se genera un valor negativo se vuelve a muestrear el valor Uno de los efectos de este enfoque es el de incrementar la probabilidad de generar valores elevados de conforme transcurren las generaciones lo que ayuda a evitar la convergencia acelerada en las uacuteltimas etapas de optimizacioacuten

Resultados de de-edm En esta seccioacuten se presenta la validacioacuten experimental de de-edm Especiacuteficamente se muestra que se pueden mejorar los resultados de los algoritmos del estado-del-arte controlando de forma expliacutecita la diversidad Particularmente se consideraron los conjuntos de prueba de los concursos de optimizacioacuten continua organizados en el cec 2016 y cec 2017 Cada uno estaacute compuesto de treinta problemas distintos En la comparativa incluimos a los algoritmos que obtuvieron los primeros lugares en cada antildeo asiacute como una versioacuten de de que usa la misma parametrizacioacuten que de-edm pero que no incluye la poblacioacuten eacutelite ni el reemplazamiento basado en diversidad Los algoritmos considerados del cec 2016 son el UMOEAs-II y L-SHADE-EpSin que alcanzaron el primero y el segundo lugar respectivamente mientras que del cec 2017 se consideran el EBOwithCMAR y el jSO Todos estos algoritmos fueron probados con los dos conjuntos de prueba como se sugiere en Debido a que todos los algoritmos son estocaacutesticos se realizaron 51 ejecuciones con distintas semillas y en cada caso el criterio de paro fue asignado a de evaluaciones de la funcioacuten objetivo Ademaacutes se consideraron diez variables en cada funcioacuten

CR

CR

CR = Nor mal(02 01) si rand[0 1] le 05Nor mal(09 01) de otra forma

FF

Cauchy(05 05n fes ma x_n fes)

F 05

[00 10]10 10

F

25 000 000

( ) La evaluacioacuten de los algoritmos se realizoacute siguiendo los lineamientos de las competencias del cec de forma que se asignoacute un error igual a si la diferencia entre la mejor solucioacuten encontrada y la solucioacuten oacuteptima era menor que Para cada algoritmo se utilizoacute la parametrizacioacuten indicada por sus autores y que se describe a continuacioacuten

bull EBOwithCMAR Para la parte EBO el tamantildeo maacuteximo de la poblacioacuten de el tamantildeo miacutenimo de la poblacioacuten de el tamantildeo maacuteximo de la poblacioacuten de el tamantildeo miacutenimo de la poblacioacuten de el tamantildeo de la memoria histoacuterica H= Para la parte de CMAR el tamantildeo de la poblacioacuten CS = la probabilidad de buacutesqueda local y

bull UMOEAs-II Para la parte de MODE el tamantildeo maacuteximo de la poblacioacuten de el tamantildeo miacutenimo de la poblacioacuten de el tamantildeo de la memoria histoacuterica H= Para la

parte del CMA-ES el tamantildeo de la poblacioacuten CS =

Para la buacutesqueda local

bull jSO El tamantildeo maacuteximo de la poblacioacuten = el tamantildeo de la memoria histoacuterica H= valor de mutacioacuten inicial de la memoria probabilidad inicial de la memoria tamantildeo miacutenimo de la poblacioacuten = valor inicial p-best = valor final p-best =

bull L-SHADE-EpSin Tamantildeo maacuteximo de la poblacioacuten = tamantildeo de la memoria histoacuterica H= valor de la mutacioacuten inicial de la memoria probabilidad inicial de la memoria frecuencia inicial de la memoria tamantildeo miacutenimo de la poblacioacuten = valor inicial p-best = valor final p-best = generaciones de la buacutesqueda local

bull DE-EDM tamantildeo de la poblacioacuten =

bull Standard-DE Tamantildeo de la poblacioacuten = (mismos operadores que en de-edm)

Nuestro anaacutelisis experimental se realizoacute teniendo en cuenta la diferencia entre la solucioacuten oacuteptima y la mejor solucioacuten obtenida y para comparar los resultados estadiacutesticamente se siguioacute un procedimiento similar que el propuesto en Concretamente en primer lugar se utilizoacute la prueba Shapiro-Wilk para comprobar si los resultados se ajustaban a una distribucioacuten Gaussiana En los casos en que siacute se ajustaban se utilizoacute la prueba de Levene para comprobar la homogeneidad de las varianzas procediendo con la prueba de ANOVA en caso positivo o con la prueba de Welch en caso negativo Por otro lado para los casos que no se ajustaban a distribuciones Guassianas

D = 100

10minus8

S1 = 18DS1 = 4

S2 = (1468)D S2 = 106 S3 = 4 + 3log(D)

σ = 03 50 pl = 01 cfels = 04FEmax

S1 = 18DS1 = 4 6

S2 = 4 + lfloor3log(D)rfloor μ =PS2

σ = 03

50 cfels = 02FEmax

25log(D) D5 MF = 05

MCR = 08 4 025N2

25log(D) D5 MF = 05

MCR = 05 μF = 054 025N 2

GLS = 250

DI = 03 250

250

se utilizoacute la prueba de Kruskal-Wallis En todos los casos se fijoacute el nivel de confianza al 95 Se considera que un algoritmo es superior a un algoritmo si el procedimiento anterior reporta diferencias significativas y si la media y mediana del error obtenido por el meacutetodo son inferiores a las obtenidas por el meacutetodo

En las tablas [tabSummary_CEC2016] y [tabSummary_CEC2017] se presenta un resumen de los resultados obtenidos para el cec 2016 y el cec 2017 respectivamente La columna etiquetada con ldquoSiempre Resueltordquo muestra el nuacutemero de funciones en que se obtuvo un error de cero en las 51 ejecuciones La columna etiquetada con ldquoAl menos una vez resueltordquo muestra el nuacutemero de funciones que se resolvieron en al menos una ejecucioacuten Praacutecticamente todas las funciones del cec 2017 (28 de ellas) fueron resueltas al menos una vez por nuestra propuesta Ademaacutes se resolvieron 21 funciones del cec 2016 al menos una vez Esto representa una diferencia sustancial con los resultados obtenidos por el resto de algoritmos pues todos ellos resolvieron muchas menos funciones Con el objetivo de confirmar la superioridad del de-edm se ejecutaron las pruebas estadiacutesticas por pares La columna etiquetada con el siacutembolo muestra el nuacutemero de veces en que cada meacutetodo fue superior mientras que la columna etiquetada con cuenta el nuacutemero de casos donde el meacutetodo fue inferior Finalmente la columna etiquetada con muestra el nuacutemero de comparaciones en las que las diferencias no fueron significativas Las pruebas estadiacutesticas indican que el de-edm alcanzoacute los mejores resultados en los dos antildeos De hecho el nuacutemero de comparaciones en que nuestra propuesta ganoacute en el cec 2016 y el cec 2017 fue de y respectivamente y soacutelo perdioacute en y respectivamente que son valores muy superiores a los del resto de algoritmos La uacuteltima columna etiquetada con ldquoPuntajerdquo muestra la puntuacioacuten siguiendo los lineamientos propuestos en las competencias del cec Particularmente este meacutetodo de evaluacioacuten combina dos puntajes como se indica en la Ecuacioacuten ([eqntotal_scores]) definiendo el puntaje final como

Especiacuteficamente es la sumatoria de errores del -eacutesimo algoritmo ( )

ademaacutes es el error promedio en la -eacutesima funcioacuten es la miacutenima sumatoria de errores entre todos los algoritmos Por su parte es la sumatoria del rango de cada funcioacuten en

el -eacutesimo algoritmo ( ) Ademaacutes es la sumatoria miacutenima de los rangos

X YX

Y

harr

7788 25 6

Score = Score1 + Score2

Score1 = (1 minusSEi minus SEmin

SEi ) times 50

Score2 = (1 minusSRi minus SRmin

SRi ) times 50

SEi i SEi =30

sumj=1

error_ f j

error_ f j j SEmin

SRi

i SRi =30

sumj=1

rangoj SRmin

entre todos los algoritmos Nuestra propuesta alcanzoacute el mejor puntaje de en los dos antildeos demostrando su superioridad Adicionalmente es destacable que la versioacuten estaacutendar de de alcanzoacute resultados buenos de hecho obtuvo el tercer y el segundo lugar en los antildeos 2016 y 2017 respectivamente Esto muestra que el rendimiento de los algoritmos del estado-del-arte se deteriora al considerar ejecuciones a largo plazo pues esos algoritmos que fueron muy efectivos a corto plazo no lo son tanto a largo plazo La superioridad del de-edm es clara con base en todos los tipos de comparativas descritas

Ademaacutes con el fin de proporcionar resultados que puedan usar otros autores para realizar comparativas en las tablas [tabResults_CEC2016] y [tabResults_CEC2017] se reporta el mejor peor mediana media desviacioacuten estaacutendar y razoacuten de eacutexito para el cec 2016 y 2017 respectivamente En estas tablas se observa que nuestra propuesta resuelve todos los problemas uni-modales y que en la mayor parte de los problemas multi-modales se obtienen resultados muy aceptables con respecto a los reportados por otros meacutetodos Asiacute nuestra propuesta resolvioacute y mejoroacute significativamente varias funciones complejas que no fueron resueltas por ninguno de los algoritmos restantes

[tabResults_CEC2016]

10000

Resultados del de-edm con los problemas del cec 2016

Mejor Peor Mediana Media Sd Razoacuten de eacutexito

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 360E-02 400E-03 739E-03 115E-02 392E-01

200E-02 102E-01 590E-02 577E-02 493E-02 000E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 600E-02 000E+00 588E-03 190E-02 902E-01

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

100E-02 800E-02 500E-02 467E-02 260E-02 000E+00

100E-02 500E-02 300E-02 282E-02 213E-02 000E+00

000E+00 470E-01 220E-01 199E-01 155E-01 196E-02

400E-02 150E-01 800E-02 847E-02 496E-02 000E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 200E-02 100E-02 765E-03 632E-03 314E-01

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 300E-02 000E+00 373E-03 276E-02 765E-01

000E+00 100E+02 000E+00 255E+01 510E+01 745E-01

f17

f10

f3

f20

f13

f6

f23

f16

f9

f2

f19

f12

f5

f22

f15

f8

f1

f18

f11

f4

f21

f14

f7

[tabResults_CEC2017]

000E+00 690E-01 000E+00 261E-02 133E-01 961E-01

100E+02 100E+02 100E+02 100E+02 000E+00 000E+00

800E-02 100E+02 529E+01 520E+01 319E+01 000E+00

250E-01 910E-01 540E-01 560E-01 292E-01 000E+00

000E+00 357E+02 343E+02 276E+02 160E+02 196E-01

100E+02 100E+02 100E+02 100E+02 000E+00 000E+00

184E+02 184E+02 184E+02 184E+02 325E-02 000E+00

f26

f25

f24

f30

f29

f28

f27

Resultados del de-edm con los problemas del cec 2017

Mejor Peor Mediana Media Sd Razoacuten de eacutexito

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 120E-01 000E+00 165E-02 339E-02 745E-01

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 220E-01 000E+00 637E-02 176E-01 667E-01

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

f14

f11

f8

f5

f2

f13

f10

f7

f4

f1

f15

f12

f9

f6

f3

000E+00 210E-01 000E+00 247E-02 727E-02 882E-01

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 100E-02 000E+00 196E-03 447E-03 804E-01

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 300E+02 000E+00 349E+01

103E+02 882E-01

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 100E+02 000E+00 392E+00

200E+01 961E-01

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 387E+02 387E+02 205E+02

268E+02 196E-02

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

145E+02 226E+02 218E+02 199E+02

421E+01 000E+00

395E+02 395E+02 395E+02 395E+02

210E-01 000E+00

f23

f20

f17

f28

f25

f22

f19

f16

f30

f27

f24

f21

f18

f29

f26

Disentildeo de operadores de cruza basados en diversidad La segunda propuesta se aplica en el campo de optimizacioacuten multi-objetivo y estaacute basada en la extensioacuten del operador de cruza sbx En esta seccioacuten se introducen en primer lugar varios conceptos relacionados con los algoritmos evolutivos multi-objetivo para posteriormente describir algunas de las clasificaciones maacutes populares de operadores de cruza Finalmente se realiza un anaacutelisis del operador sbx y con base en el mismo se propone una variante dinaacutemica denominada Operador de Cruza Dinaacutemico basado en Simulacioacuten Binaria (Dynamic Simulated Binary Crossover - dsbx) el cual es validado experimentalmente

Algoritmos evolutivos multi-objetivo Los eas han sido utilizados frecuentemente para lidiar con problemas de optimizacioacuten multi-objetivo (Multi-objective Optimization Problems - MOPs) Particularmente un MOP de dominio continuo y que es basado en minimizacioacuten puede ser definido como se indica en la Ecuacioacuten ([eqnModel_general]) de la seccioacuten 1 fijando la a un valor mayor que uno Dadas dos soluciones domina a denotado por si y solo si y Una solucioacuten es conocida como solucioacuten oacuteptima de Pareto si no existe otra solucioacuten que domine a El conjunto de Pareto es el conjunto de todas las soluciones oacuteptimas de Pareto y el frente de Pareto estaacute formado por las imaacutegenes del conjunto de Pareto El propoacutesito de un Algoritmo Evolutivo Multi-Objetivo (Multi-objective Evolutionary Algorithm - MOEA) es esencialmente obtener un conjunto de soluciones bien distribuidas y cercanas a las soluciones del frente de Pareto

En los uacuteltimos antildeos se han disentildeado una gran cantidad de moeas siguiendo distintos principios A raiacutez de esto se han propuesto varias taxonomiacuteas y por ejemplo en base a sus principios de disentildeo se pueden clasificar en basados en la dominancia de Pareto indicadores yo descomposicioacuten Hay algoritmos muy competitivos de cada uno de los grupos por lo que en esta seccioacuten se consideraron moeas de todos los grupos para realizar la validacioacuten Particularmente la validacioacuten experimental se desarrolloacute incluyendo a los algoritmos Algoritmo Geneacutetico basado en Ordenacioacuten de los No-Dominados (Non-Dominated Sorting Genetic Algorithm - NSGA-II) el Algoritmo Evolutivo Multi-objetivo basado en descomposicioacuten (MOEA based on Decomposition - MOEAD) y el Algoritmo Evolutivo Multi-objetivo basado en la Meacutetrica-S (the -Metric Selection Evolutionary Multi-objective Optimization Algorithm - SMS-EMOA) Estos algoritmos son representativos de los basados en dominancia basados en descomposicioacuten y basados en indicadores respectivamente

Mrarrx rarry isin Ω rarrx rarry rarrx ≺ rarry

forallm isin 1 2 M fm(xi) le fm(yi) existm isin 1 2 M fm(xi) lt fm(yi)rarrx isin Ω

rarrx isin Ωrarrx

S

Funcioacuten de densidad del operador de cruza sbx con iacutendices de distribucioacuten y Las soluciones padre estaacuten ubicadas en y respectivamente

[figfig_sim]

[figSimulation_pv]

[figSimulations_Index_20]

2 52 5

Operadores de cruza Los operadores de cruza son utilizados para generar soluciones hijas utilizando la informacioacuten de las soluciones padre Asiacute estos operadores combinan las caracteriacutesticas de dos o maacutes soluciones padre con el propoacutesito de generar nuevas soluciones candidatas En base en que en la literatura existen diversos operadores de cruza se han propuesto varias taxonomiacuteas para clasificarlos Particularmente las taxonomiacuteas se basan en varias caracteriacutesticas tales como la ubicacioacuten relativa entre padres e hijos o el tipo de relaciones existentes entre las variables

Una clasificacioacuten popular hace distincioacuten entre operadores de cruza basados en las variables y basados en los vectores En los basados en las variables cada variable de las soluciones padre son combinadas para crear nuevos valores de forma independiente siendo ideales para lidiar con problemas separables Algunos operadores que pertenecen a esta categoriacutea son el Operador de Cruza por Mezcla (the Blend Crossover - blx) y el sbx Por otra parte los operadores de recombinacioacuten basados en vectores tienen en cuenta la relacioacuten que existe entre las variables por lo que la combinacioacuten no es independiente Asiacute este tipo de operadores pueden por ejemplo realizar combinaciones lineales de las soluciones involucradas Algunos operadores que pertenecen a esta categoriacutea son el Operador de Cruza Unimodal Normalmente Distribuido (Unimodal Normally Distributed Crossover - undx) y el Operador de Cruza Simplex (Simplex Crossover - spx)

Adicionalmente los operadores de cruza pueden ser clasificados como centrados en los padres y centrados en la media En los operadores centrados en los padres las soluciones hijas tienden a ser creadas alrededor de cada solucioacuten padre mientras que en los operadores centrados en la media se tiende a crear a las soluciones hijas alrededor de la media de los valores de las soluciones padres

El operador de cruza basado en simulacioacuten binaria - SBX

Entre los operadores de cruza el Operador de Cruza Basado en Simulacioacuten Binaria (Simulated Binary Crossover - sbx) es uno de los maacutes utilizados en dominios continuos y fue el que se decidioacute extender en nuestra propuesta por lo que esta seccioacuten se centra en este operador de cruza El operador sbx es clasificado como un operador centrado en los padres por lo que los valores asociados a los hijos ( y ) tienden a ser cercanos a los valores de los padres ( y ) Especiacuteficamente el proceso para generar los valores de las soluciones hijas se basa en utilizar una distribucioacuten de probabilidad Esta distribucioacuten controla el factor de dispersioacuten el cual es definido como la razoacuten entre la distancia de los valores de las soluciones hijas y la distancia entre los valores de las soluciones padre Esta funcioacuten de densidad se define con base en un iacutendice de distribucioacuten (es un paraacutemetro de control

c1 c2 p1 p2

β = |c1 minus c2 | | p1 minus p2 |

ηc

especificado por el usuario) el cual altera la capacidad de exploracioacuten Especiacuteficamente un iacutendice pequentildeo induce una probabilidad elevada de crear valores de las soluciones hijas distantes de los valores de las soluciones padre mientras que iacutendices elevados tienden a crear soluciones muy similares a las soluciones padre lo cual se ilustra en la figura [figfig_sim] La definicioacuten matemaacutetica de la distribucioacuten y la forma de generar los valores de las soluciones hijas pueden ser estudiados en Las ecuaciones iniciales fueron formuladas con base en un problema de optimizacioacuten sin liacutemites en las variables Sin embargo en muchos problemas cada variable estaacute limitada dentro de un liacutemite inferior y superior Para considerar los liacutemites del espacio de decisioacuten se propuso una modificacioacuten de la distribucioacuten de probabilidad que es la que se usa en este artiacuteculo Para el caso de nuestro meacutetodo no es demasiado importante conocer la foacutermula exacta sino el efecto del valor que se ha ilustrado previamente

[algSBX_Operator]

Entrada Soluciones padre ( ) Iacutendice de distribucioacuten ( ) Probabilidad de cruza ( ) Salida Soluciones hijo ( ) [alginherit_variable] Generar utilizando las distribuciones dadas en Generar utilizando las distribuciones dadas en Intercambiar con

Es importante aclarar que la primera versioacuten del sbx fue disentildeada con base en una sola variable Posteriormente los autores consideraron aplicarlo a problemas con muacuteltiples variables considerando una estrategia simple para escoger las variables que se van a cruzar Especiacuteficamente con base en los principios del operador de cruza uniforme cada variable es cruzada con una probabilidad igual a A pesar de su sencillez y de no tener en cuenta las posibles dependencias entre variables hoy en diacutea eacutesta es la forma maacutes comuacuten de aplicar el sbx

Implementacioacuten y anaacutelisis del operador sbx

En este apartado se discuten algunas de las principales caracteriacutesticas de la implementacioacuten maacutes utilizada del operador sbx para problemas con muacuteltiples variables Esencialmente se consideran tres componentes clave que podriacutean afectar al rendimiento de los moeas En primer lugar como ya se mencionoacute anteriormente cada variable es alterada con una probabilidad fija igual a Si este valor de probabilidad se incrementa entonces los hijos tienden a crearse a mayor distancia de los padres debido a que se modifican maacutes variables de forma simultaacutenea En los problemas separables en general interesa modificar soacutelo una variable mientras que en los no separables suele ser maacutes conveniente modificar varias variables a la vez En la figura [figSimulation_pv] se pueden observar las implicaciones de modificar esta probabilidad considerando un problema con dos variables Particularmente en la parte derecha se muestra que una probabilidad pequentildea provoca que algunos valores permanezcan intactos es decir hay una tendencia de generar

ηc

P1 P2 ηc PcC1 C2 C1d

C2d C1d C2dC1d = P1d C2d = P2d C1 = P1 C2 = P2

05

05

desplazamientos paralelos a los ejes lo cual suele ser ideal para problemas separables Por otra parte en la parte izquierda se muestra que utilizando una probabilidad elevada existe un comportamiento de buacutesqueda distinto donde la tendencia anterior desaparece lo cual podriacutea ser oportuno para problemas no separables Es importante destacar que existe una relacioacuten entre esta probabilidad y el iacutendice de distribucioacuten ya que estos dos factores tienen un efecto directo en la similitud que existe entre las soluciones padres e hijas

[figSimulation_Case_3]

El segundo aspecto importante es que despueacutes de generar los dos valores de las soluciones hijas estos valores son intercambiados con una probabilidad fija (usualmente es ) es decir el valor de la solucioacuten hija no siempre es heredado a partir de la solucioacuten padre maacutes cercana Esta es una caracteriacutestica no muy discutida sin embargo es un aspecto muy relevante que afecta al rendimiento del algoritmo En algunos contextos esta probabilidad se denomina ldquoProbabilidad de cruza uniforme por variablerdquo (Variable uniform crossover probability) o ldquoRecombinacioacuten Discretardquo (Discrete Recombination) Dado que en el aacutembito multi-objetivo se promueve maacutes diversidad en las variables de decisioacuten de forma impliacutecita estos intercambios podriacutean ser altamente disruptivos De hecho debido a esto no es totalmente claro que el sbx deba ser categorizado como un operador centrado en los padres Estos intercambios que existen entre los valores de las soluciones hijas tienen un efecto de realizar muacuteltiples ldquoreflexionesrdquo en el espacio de buacutesqueda Asiacute conforme se incrementa la dimensionalidad en el espacio de las variables el nuacutemero de regiones cubiertas crece de forma exponencial como se puede observar en los casos de dos y tres dimensiones en la figura [figSimulations_Index_20] Es importante notar que esta caracteriacutestica tiene un efecto relevante en la distancia entre las soluciones padre y las soluciones hijas

Finalmente se discute el iacutendice de distribucioacuten que es quizaacutes la caracteriacutestica maacutes conocida del operador sbx Un iacutendice de distribucioacuten pequentildeo provoca un grado de exploracioacuten elevado De hecho un iacutendice de distribucioacuten igual a uno tiene un efecto similar al Operador de Recombinacioacuten Difusa (Fuzzy Recombination Operator) En la figura [figSimulation_Case_3] se puede observar el efecto de aplicar distintos iacutendices de distribucioacuten Particularmente en la parte izquierda se considera un iacutendice de distribucioacuten pequentildeo mientras en la parte derecha se considera un iacutendice de distribucioacuten grande Se observa que este uacuteltimo genera soluciones candidatas similares a las soluciones padre

05c1 p1

En el Algoritmo [algSBX_Operator] se muestra la implementacioacuten del operador sbx Este pseudocoacutedigo estaacute basado en la implementacioacuten que estaacute integrada en el coacutedigo del NSGA-II propuesto por Deb et al la cual se considera como la variante maacutes popular En los paraacutemetros de entrada se requieren dos soluciones padre ( ) y eacuteste crea dos soluciones hijas ( ) El primero y el segundo componente mencionados previamente corresponden a las liacuteneas 5 y 9 respectivamente El caso claacutesico del operador sbx se configura con los paraacutemetros y Es importante hacer notar que la implementacioacuten claacutesica no considera la dimensionalidad de las variables o el criterio de paro como parte de sus paraacutemetros internos

Propuesta - dsbx Con base en el anaacutelisis anterior y con el propoacutesito de inducir un balanceo entre exploracioacuten e intensificacioacuten de forma dinaacutemica y que dependa del instante de ejecucioacuten se proponen las siguiente modificaciones En primer lugar se modifica la probabilidad de alterar una variable ( ) durante la ejecucioacuten La intencioacuten de esta modificacioacuten es estimular la capacidad de exploracioacuten considerando inicialmente una probabilidad elevada para alterar maacutes variables de forma simultaacutenea mientras que conforme la ejecucioacuten avanza se reduce esta probabilidad con el fin de reducir el nuacutemero de variables que se modifican y promover asiacute movimientos maacutes pequentildeos El valor de se cambia con base en un modelo lineal decreciente donde inicialmente se fija a y se decrementa de forma que a la mitad del total de generaciones alcanza el valor Este uacuteltimo valor es mantenido hasta el final de la ejecucioacuten es decir desde la mitad de la ejecucioacuten este paraacutemetro se fija al mismo valor que el de la implementacioacuten tradicional del sbx Para asignar el valor se utiliza la Ecuacioacuten ([eqnlinear]) donde corresponde a la generacioacuten actual y corresponde al nuacutemero total de generaciones

El segundo cambio estaacute relacionado con la probabilidad de aplicar reflexiones ( ) En este caso es actualizado de acuerdo a la Ecuacioacuten ([eqnlinear]) por lo tanto la probabilidad de aplicar una reflexioacuten se incrementa de a durante la ejecucioacuten Esta modificacioacuten se realiza con el propoacutesito de evitar el comportamiento disruptivo de intercambiar variables en las primeras generaciones ya que esto provocariacutea modificaciones muy draacutesticas De esta forma seriacutea maacutes sensato aplicar estas reflexiones una vez que los individuos convergen en cierto grado Noacutetese que se incrementa hasta el valor el cual es el valor utilizado en la implementacioacuten del sbx estaacutendar ya que no se quiere disponer de un comportamiento excesivamente disruptivo Sin embargo en el futuro seriacutea interesante realizar estudios con otros valores finales

P1 P2 C1 C2

δ1 = δ2 = 05ηc = 20

δ1

δ110

05

δ1 GTranscurridasGTotal

1 minus δ2δ2

00 05

05

δ1 = δ2 = ma x(05 10 minusGTranscurridas

GTotal )

Finalmente el iacutendice de distribucioacuten tambieacuten es modificado durante la ejecucioacuten En las primeras etapas se promueve un iacutendice de distribucioacuten pequentildeo con el propoacutesito de incrementar la capacidad de exploracioacuten del sbx Posteriormente se decrementa de forma lineal lo cual tiene el efecto de que la curva de distribucioacuten se cierre y por lo tanto se promueve un mayor grado de intensificacioacuten en las etapas finales El incremento lineal es llevado a cabo usando la Ecuacioacuten ([eqnindex_eta]) por lo tanto el iacutendice de distribucioacuten es alterado de a Es importante aclarar que ya se han considerado modificaciones similares al iacutendice de distribucioacuten aunque las otras propiedades que se modifican nunca han sido estudiadas en profundidad

Resultados Puntos de referencias para el indicador HV

[tabMetrics_2]

[tabMetrics_3]

[tabstatistical_Tests]

2 22

ηc = 2 + 20 times ( GTranscurridas

GTotal )

Instancias Punto de referencia

WFG1-WFG9

DTLZ 1 2 4

DTLZ 3 5 6

DTLZ7

UF 1-10

[11 11]

[2 2]

[21 2m + 01]

[11 11 2m]

[3 3]

HV-2obj 16 29 47 6 61 25 28 19 45 31 23 38 54 3 35

HV-3obj 15 19 42 12 50 14 17 15 44 33 10 33 26 9 41

IGD-2obj 14 30 48 4 60 28 25 17 50 33 19 40 52 2 38

harr harrharr harrharr

En este apartado se analizan los resultados obtenidos con las variantes dinaacutemicas del sbx (dsbx) El nuevo operador de cruza se integroacute en los algoritmos NSGA-II MOEAD y SMS-EMOA En primer lugar se analiza cada una de las tres modificaciones propuestas de forma aislada Posteriormente se construye un caso donde se consideran las dos modificaciones que ofrecieron mejores resultados de forma simultaacutenea Como parte de la validacioacuten experimental se consideran los problemas de prueba WFG DTLZ y UF Ademaacutes con el propoacutesito de comparar nuestra extensioacuten del sbx con otros operadores se incluye la variante de evolucioacuten diferencial conocida como demo

Para llevar a cabo el anaacutelisis experimental y dado que todos los algoritmos son estocaacutesticos cada caso fue ejecutado veces con distintas semillas La configuracioacuten global que se aplicoacute a todos los algoritmos fue la siguiente Se asignoacute el criterio de paro a generaciones el tamantildeo de la poblacioacuten a se configuraron los problemas de prueba wfg con dos y tres objetivos considerando 24 variables donde variables son paraacutemetros de distancia y son

IGD-3obj 14 18 44 13 44 19 18 15 43 33 15 28 23 9 44

HV-2obj 15 33 44 10 60 22 25 26 41 39 18 35 57 9 26

HV-3obj 10 22 44 12 39 25 11 19 46 24 10 42 38 5 33

IGD-2obj 16 31 45 9 60 23 23 27 42 37 17 38 57 7 28

IGD-3obj 12 22 42 13 43 20 13 24 39 30 9 37 40 10 26

HV-2obj 9 35 48 7 43 42 16 31 45 41 9 42 53 8 31

HV-3obj 7 21 48 9 35 32 13 21 42 27 6 43 31 4 41

IGD-2obj 10 34 48 15 48 29 12 33 47 41 12 39 55 6 31

IGD-3obj 8 20 48 13 30 33 9 19 48 22 5 49 27 5 44

harr

harr

harr

harr

harr

harr

harr

harr

harr

harr

3525 000

10020 4

paraacutemetros de posicioacuten Como es sugerido en se consideroacute variables de decisioacuten en los problemas de prueba dtlz donde para los problemas DTLZ1 DTLZ2 - DTLZ6 y DTLZ7 se consideraron respectivamente En el caso de los problemas de prueba uf se utilizaron variables de decisioacuten Finalmente se hizo uso del operador de mutacioacuten polinomial con una probabilidad de mutacioacuten de y con un iacutendice de distribucioacuten igual a mientras que el operador de cruza sbx se utilizoacute con una probabilidad de cruza igual a y un iacutendice de distribucioacuten de

A continuacioacuten se especifica la parametrizacioacuten adicional propia de cada algoritmo

bull DEMO CR = 03 y F = 05

bull SMS-EMOA desplazamiento para calcular el HV = 100

bull MOEAD tamantildeo de la vecindad = 10 el nuacutemero de actualizaciones por subproblema ( ) = 2 y

Para comparar los frentes obtenidos por cada meacutetodo se utiliza el hipervolumen normalizado (HV) que se debe maximizar y la Distancia Generacional Invertida Modificada (Inverted Generational Distance Plus - IGD+) que se debe minimizar En la tabla [tabReferencePoints] se presentan los puntos de referencia utilizados para el indicador del hipervolumen los cuales son similares a los utilizados en Por otra parte para comparar los resultados estadiacutesticamente (valores del IGD+ y HV) se siguioacute un procedimiento similar al que se propuso en siendo el mismo que se aplicoacute para validar la primera propuesta

Anaacutelisis de cada modificacioacuten en el operador sbx En este apartado se analiza el efecto que cada modificacioacuten propuesta tiene de forma independiente sobre los resultados obtenidos Para ello basados en el Algoritmo [algSBX_Operator] se proponen cuatro casos

bull Caso 1 se aplica la versioacuten estaacutendar del operador sbx donde y

bull Caso 2 se actualiza el valor como se indica en la Ecuacioacuten ([eqnlinear]) y

bull Caso 3 se actualiza el valor como se indica en la Ecuacioacuten ([eqnlinear]) y

bull Caso 4 se actualiza el iacutendice de distribucioacuten de acuerdo a la Ecuacioacuten ([eqnindex_eta])

n = M + r minus 1

r = 5 10 2030

1n 5009

20

nrδ = 09

δ1 = δ2 = 05 ηc = 20

δ1 δ2 = 05ηc = 20

δ2 δ1 = 05ηc = 20

δ1 = δ2 = 05

En las tablas [tabMetrics_2] y [tabMetrics_3] se muestra informacioacuten del HV normalizado y del IGD+ para cada caso con dos y tres objetivos respectivamente (el Caso 5 se comenta maacutes adelante) Especiacuteficamente se muestra la media del HV e IGD+ para todos los problemas en dos y tres objetivos Se observa que considerando dos y tres objetivos el Caso 4 mejora al Caso 1 al Caso 2 y al Caso 3 en todos los algoritmos Por lo tanto se aprecian de forma clara los beneficios de incrementar el iacutendice de distribucioacuten durante la ejecucioacuten Por otra parte al considerar tres objetivos el Caso 2 presentoacute un rendimiento menor que el Caso 1 posiblemente debido a que al alterar tantas variables de forma simultaacutenea se produce un comportamiento excesivamente disruptivo Quizaacutes los resultados podriacutean mejorar si el paraacutemetro es alterado de una forma distinta sin embargo esto se deja como trabajo futuro Los anaacutelisis anteriores uacutenicamente consideran la media obtenida en todos los problemas de prueba En la tabla [tabstatistical_Tests] se muestran los resultados de las pruebas estadiacutesticas (el Caso 5 se discute en la siguiente seccioacuten) Particularmente se realizan comparaciones por pares en base a las pruebas estadiacutesticas ya mencionadas entre los cinco casos Este procedimiento se realizoacute de forma independiente para el NSGA-II MOEAD y el SMS-EMOA Para cada algoritmo y para cada caso la columna ldquo rdquo reporta el nuacutemero de comparaciones donde las pruebas estadiacutesticas confirmaron la superioridad del caso correspondiente mientras que en la columna ldquo rdquo se reporta el nuacutemero de veces donde este caso fue inferior y la columna ldquo rdquo indica el nuacutemero de comparaciones donde las diferencias no fueron significativas Con base en estos resultados se puede observar que el caso 3 y caso 4 aportan con respecto al caso 1 mientras que el caso 2 no es robusto siendo en varios algoritmos inferior al caso 1 Adicionalmente se anexan resultados detallados para facilitar que otros investigadores puedan realizar comparativas con un mayor nivel de detalle 6

Modificacioacuten simultaacutenea de varios componentes Con base en los anaacutelisis realizados con anterioridad se propone una variante del operador sbx que incorpora las modificaciones propuestas en el Caso 3 y Caso 4 de forma simultaacutenea es decir se incorpora un cambio dinaacutemico tanto en el paraacutemetro como en el iacutendice de distribucioacuten Debido a los resultados de baja calidad del Caso 2 el paraacutemetro no se modifica de forma dinaacutemica Particularmente el Caso 5 se construye con base en el Algoritmo [algSBX_Operator] asignando el paraacutemetro a debido a que es la forma de la versioacuten estaacutendar del sbx mientras que es actualizado de acuerdo a la Ecuacioacuten ([eqnlinear]) y el paraacutemetro es actualizado como se indica en la Ecuacioacuten ([eqnindex_eta])

De acuerdo a la media del HV y del IGD+ que se obtuvieron en el Caso 5 (ver tablas [tabMetrics_2] y [tabMetrics_3]) es claro que integrar los Casos 3 y 4 proporciona

δ1

harr

δ2δ1

δ1 05δ2 ηc

httpsgithubcomjoelchaconcastilloSBX_CEC20186

beneficios importantes En el caso de dos objetivos se observa una ventaja significativa Sin embargo en el caso de tres objetivos los Casos 4 y 5 son muy similares con base en la media Ademaacutes al considerar tres objetivos los resultados que se obtuvieron en el Caso 5 son superiores a los obtenidos con de mientras que al considerar la versioacuten estaacutendar de sbx se observa un deterioro Por lo tanto si el operador sbx es configurado adecuadamente puede generar resultados similares o superiores que el algoritmo demo

Finalmente en la tabla [tabstatistical_Tests] se muestran los resultados de las pruebas estadiacutesticas Los beneficios obtenidos por el Caso 5 son muy claros De hecho uacutenicamente el Caso 4 obtuvo mejores resultados que el Caso 5 al considerar tres objetivos y al algoritmo NSGA-II Esto demuestra que se pueden obtener mejores resultados si se integran varias modificaciones dinaacutemicas de forma simultaacutenea Ademaacutes los resultados confirman las ventajas de la versioacuten dinaacutemica frente al caso estaacutendar (Caso 1) El uacutenico caso que no presenta ventajas importantes frente a la versioacuten estaacutendar del sbx es el Caso 2 el cual fue discutido con anterioridad

Conclusiones y trabajo futuro La convergencia prematura es una de las debilidades maacutes importantes de los eas Una de las formas de lidiar con este problema consiste en inducir un balanceo adecuado entre exploracioacuten e intensificacioacuten Sin embargo obtener este balanceo no es una tarea trivial debido a que cada problema de optimizacioacuten tiene caracteriacutesticas distintas y por ello han surgido numerosos esquemas para tratar esta problemaacutetica Con base en esto se han desarrollado varias taxonomiacuteas con el propoacutesito de clasificar las diferentes formas en que se puede preservar y promover la diversidad En este trabajo con el fin de ilustrar como se pueden realizar disentildeos de eas que tomen en cuenta el balanceo entre exploracioacuten e intensificacioacuten se presentan dos ejemplos De forma general las propuestas establecen un comportamiento dinaacutemico de alguacuten componente del ea teniendo en cuenta para ello el criterio de paro y el instante en que se encuentra la ejecucioacuten Asiacute se obtuvo un balanceo adecuado en el que en las primeras fases se promueve maacutes exploracioacuten y en las uacuteltimas se promueve maacutes la intensificacioacuten De modo maacutes especiacutefico en la primera propuesta se modifica evolucioacuten diferencial por medio de una nueva fase de reemplazo con el propoacutesito de conseguir este balanceo Ademaacutes esta contribucioacuten incorpora una poblacioacuten eacutelite con el propoacutesito de proporcionar soluciones de calidad tanto a mediano como a largo plazo Con base en la validacioacuten experimental llevada a cabo se observa que esta propuesta mejora a los mejores algoritmos que se habiacutean propuesto en una competicioacuten que consideroacute las funciones de prueba usadas en este capiacutetulo Posteriormente se presenta un anaacutelisis del operador de cruza sbx y se desarrolloacute una variante que modifica varios componentes de forma dinaacutemica

considerando tambieacuten el criterio de paro y las generaciones transcurridas Con base en los resultados obtenidos con problemas muy populares del aacutembito de optimizacioacuten multi-objetivo se muestra que usar el operador sbx modificado ofrece ventajas muy importantes en varios moeas y para diferentes indicadores De forma general se observa que obtener un balanceo apropiado entre exploracioacuten e intensificacioacuten es realmente importante y que esto se puede conseguir utilizando teacutecnicas radicalmente diferentes aunque siguiendo los mismos principios de disentildeo

El campo de disentildeo de eas es un campo muy activo y en el que hay muchas ideas auacuten por explorar Uno de los aspectos importantes es que las estrategias de control de diversidad ofrecen muchas ventajas a largo plazo pero se debe hacer el esfuerzo por conseguir que se pueda reducir el nuacutemero de evaluaciones requeridas para obtener resultados prometedores Otro aspecto importante es que en general la mayor parte de las estrategias de control de diversidad introduce nuevos paraacutemetros por lo que es importante combinar estos mecanismos con estrategias de control de paraacutemetros adaptativas o auto-adaptativas para facilitar su utilizacioacuten Finalmente para el caso especiacutefico del dsbx seriacutea interesante integrarlo con teacutecnicas de aprendizaje para lidiar con problemas con dependencias y mejorar asiacute auacuten maacutes el rendimiento de la propuesta

Para saber maacutes bull Para saber maacutes sobre la historia de los algoritmos evolutivos se sugiere consultar

bull Puede consultar informacioacuten sobre tipos de metaheuriacutesticas y disentildeo e implementacioacuten de las mismas en

bull Si desea consultar informacioacuten baacutesica sobre los fundamentos de los algoritmos evolutivos se sugiere consultar

bull Para profundizar maacutes en el toacutepico de manejo de diversidad exploracioacuten e intensificacioacuten se sugiere consultar

bull Se puede consultar material relacionado con operadores de cruza y algoritmos evolutivos multi-objetivo en

bull Para obtener maacutes informacioacuten relacionada al tema de evolucioacuten diferencial se sugiere consultar

bull Si desea consultar aplicaciones de algoritmos evolutivos multi-objetivo se puede consultar

Agradeciemientos Los autores agradecen el apoyo financiero proporcionado por CONACyT a traveacutes del proyecto no 285599

Hiper-heuriacutesticas en la Solucioacuten de Problemas de Optimizacioacuten

Hugo Terashima-Mariacuten Santiago Enrique Conant-Pablos Joseacute Carlos Ortiz-Bayliss e Ivaacuten Mauricio Amaya Contreras

terashimasconantjcobaylissiamaya2itesmmx Tecnologico de Monterrey Escuela de Ingenieriacutea y Ciencias

Campus Monterrey

Introduccioacuten Cuando nos enfrentamos a problemas complejos como aquellos del tipo NP o de optimizacioacuten combinatoria pueden presentarse dos escenarios diferentes En el primero estamos dispuestos a invertir todos los recursos disponibles para resolver de la mejor manera posible un problema particular Este escenario se caracteriza porque cada vez que un nuevo problema aparece se invierte una gran cantidad de recursos para obtener una solucioacuten a esa instancia dada En el segundo escenario estamos dispuestos a sacrificar algo de la calidad de la solucioacuten para economizar recursos Por lo tanto se utilizan meacutetodos geneacutericos y capaces de obtener soluciones aceptables mediante un uso racionado de los recursos En este caso el riesgo es que el meacutetodo geneacuterico no sea adecuado para el problema y que produzca una solucioacuten de mala calidad Estaacute claro que en promedio el primer escenario generaraacute mejores soluciones pero no es viable en la mayoriacutea de los problemas reales debido al alto consumo de recursos Las hiper-heuriacutesticas por otra parte son generalmente uacutetiles en el segundo escenario pues buscan proporcionar estrategias geneacutericas con buena calidad

Las hiper-heuriacutesticas son meacutetodos emergentes de buacutesqueda heuriacutestica que intentan producir un nivel maacutes alto de flexibilidad e independencia del dominio en que se aplican de tal forma que sean capaces de adaptarse a distintos tipos de problemas o a las distintas instancias de un mismo tipo Esto lo automatizan frecuentemente incorporando meacutetodos de aprendizaje automaacutetico y lo ejecutan a traveacutes de un proceso de seleccioacuten dinaacutemica de heuriacutesticas maacutes simples durante la solucioacuten de los problemas o bien mediante la generacioacuten de nuevas heuriacutesticas a partir de la combinacioacuten o adaptacioacuten de otras ya existentes (o de sus componentes) Actualmente hay diversos modelos de hiper-heuriacutesticas los cuales pueden clasificarse de acuerdo a las categoriacuteas propuestas por Esta clasificacioacuten divide a las hiper-heuriacutesticas seguacuten su forma de aprendizaje asiacute como seguacuten su mecanismo de obtencioacuten de las soluciones entre otros Aunque el teacutermino lsquohiper-heuriacutesticarsquo fue acuntildeado como tal en el 2001 hubieron esfuerzos previos con ideas similares Entre ellos cabe destacar a los portafolios (o seleccioacuten) de algoritmos y a la

configuracioacuten especiacutefica de algoritmos Desde entonces la actividad de investigacioacuten en hiper-heuriacutesticas ha avanzado y propagado en diversas instituciones en el mundo y ha sido tema de presentacioacuten y discusioacuten en diversas conferencias y revistas internacionales

Por otra parte y en lo que respecta a la investigacioacuten en hiper-heuriacutesticas en Meacutexico son pocos los investigadores e instituciones que se han vinculado a ella La mayor parte de la investigacioacuten realizada en el tema se concentroacute inicialmente en el Tecnoloacutegico de Monterrey donde se han desarrollado hiper-heuriacutesticas para corte y empacado satisfaccioacuten de restricciones y ruteo de vehiacuteculos El Tecnoloacutegico de Monterrey es tambieacuten pionero en el tema de la transformacioacuten de caracteriacutesticas y en hiper-heuriacutesticas para resolver problemas multi-objetivo Las hiper-heuriacutesticas desarrolladas en el Tecnoloacutegico de Monterrey se han fundamentado en diversas estrategias de aprendizaje que incluyen algoritmos geneacuteticos redes neuronales y programacioacuten geneacutetica entre otras Recientemente el Instituto Politeacutecnico Nacional (IPN) y el CINVESTAV han logrado importantes avances en lo relacionado a hiper-heuriacutesticas para problemas multi-objetivo y en el uso de hiper-heuriacutesticas basadas en evolucioacuten diferencial Como resultado de la colaboracioacuten del Tecnoloacutegico de Monterrey y el CINVESTAV en el 2017 comenzoacute a explorarse la transformacioacuten de caracteriacutesticas como mecanismo para mejorar el desempentildeo de hiper-heuriacutesticas El Instituto Tecnoloacutegico de Leoacuten y la Universidad de Guanajuato ha colaborado para desarrollar muacuteltiples trabajos sobre hiper-heuriacutesticas Los dominios de problemas que han abordado con hiper-heuriacutesticas incluyen calendarizacioacuten de eventos acadeacutemicos y ruteo de vehiacuteculos Adicionalmente la Universidad de Guanajuato ha incursionado en el uso de redes neuronales pre-entrenadas para acelerar el proceso de seleccioacuten de las heuriacutesticas ademaacutes de proponer una metodologiacutea para la adecuada seleccioacuten del conjunto de heuriacutesticas que debe estar disponible para una determinada hiper-heuriacutestica El Instituto Tecnoloacutegico de Ciudad Madero en colaboracioacuten con el Instituto Tecnoloacutegico de Leoacuten ha realizado importantes avances en la generacioacuten semiautomaacutetica de heuriacutesticas para el problema de empacado utilizando diversos meacutetodos como evolucioacuten diferencial y evolucioacuten gramatical

Este capiacutetulo estaacute encaminado a presentar el concepto de hiper-heuriacutesticas para entender sus caracteriacutesticas fundamentos modelos fortalezas y debilidades asiacute como algunas de sus aacutereas de aplicacioacuten El capiacutetulo integra en la Seccioacuten 2 los fundamentos de hiper-heuriacutesticas considerando principalmente los dos tipos aqueacutellas que seleccionan heuriacutesticas y aqueacutellas que generan nuevas heuriacutestica En la Seccioacuten 3 se presentan algunos modelos de hiper-heuriacutesticas algunos basados en esquemas evolutivos y otros basados en redes neuronales La Seccioacuten 4 presenta un ejemplo con la idea de mostrar paso a paso el proceso para generar hiper-heuriacutesticas en particular para el problema de particioacuten balanceada En la Seccioacuten 5 se discuten algunos aspectos avanzados sobre las hiper-heuriacutesticas como la solucioacuten de problemas multi-objetivo y la transformacioacuten de caracteriacutesticas En la Seccioacuten 6 se describe algunas tendencias futuras de hiper-heuriacutesticas

Algunos recursos disponibles relacionados con hiper-heuriacutesticas se presentan en la Seccioacuten 7 Finalmente en la Seccioacuten 8 se proporcionan las conclusiones

Fundamentos de las Hiper-heuriacutesticas Las hiper-heuriacutesticas trabajan sobre la idea de que es posible reutilizar los componentes de meacutetodos existentes ndashgeneralmente simples como son las heuriacutesticasndash para construir meacutetodos de buacutesqueda maacutes robustos y que se adapten a las condiciones del problema actual De esta forma se busca obtener soluciones que en la medida de lo posible y de acuerdo al tiempo disponible sean de buena calidad Ahora bien la forma de adaptacioacuten a los problemas da lugar a los dos grandes tipos de hiper-heuriacutesticas las que seleccionan heuriacutesticas y las que generan nuevas heuriacutesticas

Hiper-heuriacutesticas que seleccionan heuriacutesticas En este tipo de adaptacioacuten se busca cambiar la heuriacutestica usada para atacar la instancia del problema cambios que pueden ocurrir cada vez que el proceso requiere tomar una decisioacuten Por ejemplo en el caso del problema del vendedor viajero (TSP) se pretende encontrar el tour de miacutenimo costo para visitar todas y cada una de las ciudades de un conjunto dado Si se inicia con un tour vaciacuteo la toma de decisiones consiste en decidir la siguiente ciudad a visitar Mientras que con una heuriacutestica estariacuteamos a merced de una sola forma de decisioacuten (por ejemplo visitar la ciudad maacutes cercana o la maacutes lejana a la actual que todaviacutea no se haya visitado) con una hiper-heuriacutestica tenemos la flexibilidad para utilizar heuriacutesticas diferentes en cada toma de decisioacuten (por ejemplo iniciar con la maacutes cercana y luego tomar la maacutes lejana) De esta manera es comuacuten que una hiper-heuriacutestica utilice conjuntos y oacuterdenes de heuriacutesticas distintos para resolver diferentes instancias de un problema Desde esta perspectiva una hiper-heuriacutestica es el meacutetodo de alto nivel que controla coacutemo y cuaacutendo usar heuriacutesticas de bajo nivel

Hiper-heuriacutesticas que generan nuevas heuriacutesticas Este segundo tipo de adaptacioacuten busca combinar heuriacutesticas existentes (o sus componentes) en la generacioacuten de heuriacutesticas de alto nivel Por ejemplo asumiendo de nuevo el problema del vendedor viajero donde se construye la solucioacuten a partir de un tour vaciacuteo una heuriacutestica podriacutea decidir la nueva ciudad a agregar como aquella que minimice la distancia con respecto al eje coordenado a la uacuteltima ciudad visitada en el tour parcial actual Sin embargo otra heuriacutestica podriacutea seleccionar la ciudad basada en la distancia con respecto al eje coordenado La ciudad recomendada por ambas heuriacutesticas podriacutea ser la misma o una distinta Otra alternativa seriacutea combinar los criterios de ambas heuriacutesticas por ejemplo que se agregue la ciudad que minimice la funcioacuten Mediante esta sencilla funcioacuten es posible combinar los

dxx

dy y

f (x) = dx times dy

criterios de decisioacuten de cada heuriacutestica y formar una que se adapte a diferentes condiciones del problema De esta forma la hiper-heuriacutestica es un meacutetodo que genera nuevas heuriacutesticas

A continuacioacuten describiremos con maacutes detalle cada uno de estos tipos de hiper-heuriacutesticas

Hiper-heuriacutesticas que seleccionan heuriacutesticas La mayor parte de los trabajos realizados en Meacutexico se ha enfocado en este primer tipo de adaptacioacuten y por ello optamos por detallarlas maacutes Las hiper-heuriacutesticas de seleccioacuten como nos referiremos a ellas a partir de este momento estaacuten inspiradas en la idea de que existe un algoritmo maacutes adecuado para cada problema lo que en la literatura se conoce como el problema de la seleccioacuten de algoritmos En este sentido las hiper-heuriacutesticas de seleccioacuten exploran la forma en que diversas heuriacutesticas (u otros meacutetodos simples y raacutepidos de ejecutar) pueden combinarse para generar estrategias de solucioacuten robustas y con un buen desempentildeo general

En este punto cabe mencionar que las diferencias entre los portafolios de algoritmos la configuracioacuten especiacutefica de algoritmos y las hiper-heuriacutesticas de seleccioacuten son sutiles pero auacuten asiacute pueden apreciarse Por ejemplo tanto las hiper-heuriacutesticas como los portafolios de algoritmos deciden cuaacutel de los meacutetodos disponibles para resolver el problema debe utilizarse en un momento dado La diferencia principal es la naturaleza de los meacutetodos disponibles donde los portafolios de algoritmos trabajan usualmente con colecciones de meacutetodos de solucioacuten especializados para ciertos tipos de problemas mientras que las hiper-heuriacutesticas usualmente administran meacutetodos maacutes generales como son las heuriacutesticas La configuracioacuten especiacutefica de algoritmos (ISAC por sus siglas en ingleacutes) busca optimizar los paraacutemetros de los algoritmos para que se adapten a las caracteriacutesticas del problema que intentan resolver Si consideramos dos instancias de un mismo algoritmo con configuraciones distintas pueden considerarse como dos meacutetodos diferentes entonces ISAC es en esencia un portafolio de algoritmos

Como ya se mencionoacute una hiper-heuriacutestica de seleccioacuten decide en determinados momentos del proceso de solucioacuten queacute heuriacutestica debe utilizar A partir de este momento usaremos el teacutermino lsquopunto de decisioacutenrsquo para referirnos a esos momentos especiacuteficos durante la buacutesqueda cuando la hiper-heuriacutestica puede cambiar la heuriacutestica a utilizar Los puntos de decisioacuten pueden manejarse de muchas formas Por ejemplo podriacutea realizarse un cambio de heuriacutestica cada vez que una variable deba asignarse o soacutelo despueacutes de cierto nuacutemero de veces que deba asignarse o soacutelo si se cumple alguna condicioacuten particular Una forma muy comuacuten en la que se usan las hiper-heuriacutesticas lsquoperturbativasrsquo ndashaquellas que incrementalmente aplican modificaciones locales (movimientos) a soluciones completas (aproximaciones a la solucioacuten deseada) que representan los estados actuales de la buacutesquedandash es cambiar de heuriacutestica perturbativa uacutenicamente si la

calidad de la aproximacioacuten actual estaacute disminuyendo o si se ha mantenido estable por cierto tiempo

De forma muy general una hiper-heuriacutestica de seleccioacuten se comporta como se muestra en el Algoritmo [algGenericSelectionHH]

Como puede observarse en el Algoritmo [algGenericSelectionHH] la hiper-heuriacutestica tiene la capacidad de aplicar una heuriacutestica al problema para modificar su estado (buscando acercarlo a un estado meta o solucioacuten deseada) Ya que un problema especiacutefico de buacutesqueda depende del estado inicial de la misma si consideramos a la solucioacuten resultante de aplicacioacuten de la heuriacutestica actual al estado actual como el estado inicial del resto de la buacutesqueda estamos modificando el problema a resolver y este quizaacutes podriacutea ser resuelto de una mejor manera con una heuriacutestica distinta a la actual

La eleccioacuten de la heuriacutestica a utilizar en cada punto de decisioacuten depende completamente de la funcioacuten Selecciona la cual busca en el espacio de heuriacutesticas la maacutes adecuada de acuerdo al estado actual del problema Como puede inferirse del pseudocoacutedigo diferentes implementaciones de la funcioacuten Selecciona resultaraacuten en diferentes comportamientos de la hiper-heuriacutestica Por ejemplo una hiper-heuriacutestica completamente aleatoria implementariacutea la funcioacuten Selecciona como se muestra en el Algoritmo [algRandomSelect]

En el caso de una hiper-heuriacutestica aleatoria la rutina ignora por completo el estado del problema ya que no lo requiere para determinar queacute heuriacutestica utilizar Como es de esperarse el desempentildeo de una hiper-heuriacutestica aleatoria es en la mayoriacutea de los casos malo si el conjunto de heuriacutesticas simples contiene una o maacutes heuriacutesticas cuyo comportamiento es deficiente en los problemas a resolver

Otra posible idea para implementar una hiper-heuriacutestica es usar una secuencia predefinida de heuriacutesticas como estrategia de decisioacuten dentro de la funcioacuten Selecciona La idea detraacutes de esta hiper-heuriacutestica es que en algunos casos la relacioacuten entre heuriacutesticas depende de su encadenamiento (una secuencia ordenada de heuriacutesticas) Por ejemplo en un problema de empacado donde objetos de diferentes voluacutemenes deben ser empacados en un nuacutemero finito de contenedores de forma que se minimice el nuacutemero de contenedores utilizados podriacutea ser conveniente el utilizar una secuencia de heuriacutesticas donde despueacutes de empacar el objeto maacutes pequentildeo siempre se deba empacar el objeto maacutes grande Una hiper-heuriacutestica basada en secuencias predefinidas requiere conocer la secuencia especiacutefica de heuriacutesticas a aplicar y la uacuteltima heuriacutestica aplicada El Algoritmo [algSequenceHH] muestra una posible implementacioacuten de este tipo de hiper-heuriacutesticas

En caso de que una heuriacutestica deba aplicarse dos o maacutes veces seguidas esta deberaacute aparecer dos o maacutes veces en la secuencia predefinida de heuriacutesticas Debido a que la longitud de la secuencia de heuriacutesticas es mucho menor que el nuacutemero de puntos de decisioacuten en el problema hay que definir lo que se haraacute al llegar al final de la secuencia Una alternativa es que se vuelva a recorrer la misma secuencia desde la primera posicioacuten Otra opcioacuten es que al llegar al final de la secuencia desde ese momento se use soacutelo la uacuteltima heuriacutestica de la secuencia

Una tercera versioacuten de hiper-heuriacutestica (Algoritmo [algStateBasedHH]) representa la seleccioacuten inteligente del meacutetodo maacutes adecuado dadas las condiciones actuales del problema En esta versioacuten de hiper-heuriacutestica la funcioacuten Selecciona contiene un mapeo de situaciones en las que cada heuriacutestica deberiacutea ser utilizada

Como puede apreciarse en el Algoritmo [algStateBasedHH] la funcioacuten debe evaluar el estado actual del problema para determinar queacute heuriacutestica aplicar Hasta este momento no hemos proporcionado detalles sobre coacutemo se realiza la seleccioacuten de la heuriacutestica maacutes adecuada para un determinado estado del problema pero podemos adelantar que es el punto maacutes sensible del proceso

Entre los modelos maacutes utilizados para producir hiper-heuriacutesticas de seleccioacuten se encuentran los algoritmos geneacuteticos y las redes neuronales Maacutes adelante en este capiacutetulo se describiraacuten a detalle coacutemo funciona cada uno de estos modelos y coacutemo se implementan

Hiper-heuriacutesticas que generan nuevas heuriacutesticas Este segundo tipo de adaptacioacuten hace que las hiper-heuriacutesticas funcionen como generadores semi-automaacuteticos de heuriacutesticas De esta forma la combinacioacuten de componentes de decisioacuten se plasma en una funcioacuten que por siacute misma representa una nueva heuriacutestica En el contexto de heuriacutesticas perturbativas puede tratarse de la combinacioacuten de dos o maacutes operadores al mismo tiempo cada uno de ellos enfocados a modificar distintas secciones de la aproximacioacuten actual o bien a la aplicacioacuten en secuencia de dos o maacutes operadores perturbativos al estado actual de la buacutesqueda La situacioacuten es diferente para hiper-heuriacutesticas lsquoconstructivasrsquo ndashaquellas que gradualmente construyen la solucioacuten al problema generando soluciones parciales cada vez maacutes completas a partir de una solucioacuten inicialmente vaciacuteandash ya que en este caso las heuriacutesticas constructivas tienen la tarea de asignar un valor a cada elemento que puede integrarse a la solucioacuten de forma que se agregue el elemento que maximice (o minimice seguacuten sea el caso) dicho valor Por ejemplo si estamos utilizando un hiper-heuriacutestica constructiva para resolver una instancia del problema del agente viajero podemos considerar una heuriacutestica que agrega la ciudad con la menor distancia a la uacuteltima ciudad visitada en la solucioacuten parcial actual Para ello se debe calcular la distancia de cada una de las ciudades que todaviacutea no han sido visitadas a la

uacuteltima ciudad del tour parcial actual Luego de ello la heuriacutestica recomendaraacute agregar aquella con la menor distancia

De forma muy general una hiper-heuriacutestica de generacioacuten se comporta como se muestra en el Algoritmo [algGenericGenerationHH]

Por supuesto en este momento no se brindan detalles de coacutemo implementar la funcioacuten Genera que es la responsable de generar la heuriacutestica que se utilizaraacute para resolver el problema actual Entre los meacutetodos maacutes populares en la comunidad para implementar hiper-heuriacutesticas de generacioacuten se cuentan tanto programacioacuten geneacutetica como evolucioacuten diferencial

Modelos de Hiper-heuriacutesticas En esta seccioacuten se presentaraacuten las ideas generales detraacutes de las hiper-heuriacutesticas que se ha implementado de diversas formas y con apoyo de diferentes meta-heuriacutesticas o distintos modelos de aprendizaje automaacutetico

Modelos Evolutivos La computacioacuten evolutiva se ha utilizado tanto para construir hiper-heuriacutesticas de generacioacuten (mediante programacioacuten geneacutetica y evolucioacuten diferencial) como para construir hiper-heuriacutesticas de seleccioacuten (mediante algoritmos geneacuteticos y estrategias evolutivas) A continuacioacuten describiremos coacutemo se han implementado algunos casos de eacutexito de hiper-heuriacutesticas mediante computacioacuten evolutiva

Hiper-Heuriacutesticas basadas en Algoritmos Geneacuteticos

Los modelos evolutivos generan reglas que relacionan puntos especiacuteficos del espacio de caracteriacutesticas del problema con una heuriacutestica especiacutefica que ha demostrado ser uacutetil ante instancias con caracteriacutesticas similares Estas reglas pueden obtenerse de diversas formas ndashincluso pueden ser definidas por el usuario Sin embargo los algoritmos geneacuteticos han resultado muy uacutetiles para esta tarea y por esta razoacuten su uso seraacute detallado a continuacioacuten

El algoritmo geneacutetico mantiene una poblacioacuten de individuos de longitud variable que representan hiper-heuriacutesticas en potencia Durante cada generacioacuten estos individuos son combinados y mutados con la finalidad de mejorar la calidad de la poblacioacuten Seguacuten sea el caso los operadores geneacuteticos pueden o no ser adaptados para el problema Por ejemplo como el nuacutemero de reglas en las hiper-heuriacutesticas es variable los individuos en la poblacioacuten tambieacuten tienen una longitud

larr

variable Es necesario entonces adaptar el operador de cruza para que produzca soacutelo individuos vaacutelidos La funcioacuten objetivo contiene un conjunto de instancias a resolver El desempentildeo de cada individuo en dicho conjunto se convierte en su aptitud Con el paso de las generaciones se espera que los individuos que mejor resuelvan el conjunto de entrenamiento sean favorecidos por el proceso geneacutetico El mejor individuo de la uacuteltima generacioacuten es seleccionado como la hiper-heuriacutestica resultante del proceso evolutivo

Los modelos hiper-heuriacutesticos basados en algoritmos geneacuteticos fueron unas de las primeras opciones que se consideraron para generar heuriacutesticas El primer trabajo que utilizoacute un algoritmo geneacutetico para la exploracioacuten del espacio de heuriacutesticas en problemas de calendarizacioacuten fue publicado en 1994 antildeos antes de que el teacutermino hiper-heuriacutestica fuera utilizado por primera vez Pocos antildeos maacutes tarde esta idea fue retomada en y A la fecha gran parte de los trabajos relacionados con hiper-heuriacutesticas utilizan alguna forma de computacioacuten evolutiva como parte del mecanismo de generacioacuten y ajuste de las hiper-heuriacutesticas

Hiper-Heuriacutesticas basadas en Programacioacuten Geneacutetica

Las hiper-heuriacutesticas basadas en programacioacuten geneacutetica tienen la capacidad de combinar los componentes de heuriacutesticas existentes para construir nuevas heuriacutesticas que funcionen adecuadamente ante diversos grupos de instancias del problema La inclusioacuten de una gramaacutetica tipo BNF en este proceso es una tendencia reciente Un problema de satisfaccioacuten de restricciones (CSP) se define como un conjunto de variables asociado a un conjunto de dominios de valores ( ) y a un conjunto de restricciones entre las variables El objetivo es una asignacioacuten completa y consistente de valores a variables de la manera que se cumplan todas las restricciones Los CSPs han sido aplicados para el modelado y solucioacuten de problemas en diversos dominios Aquiacute describimos una plataforma basada en gramaacuteticas para generar automaacuteticamente nuevas heuriacutesticas de seleccioacuten de variables para CSPs El espacio de posibilidades se define generando oraciones vaacutelidas de acuerdo a la gramaacutetica que se utiliza

Un enfoque inicial en este sentido es el presentado en el trabajo de Ortiz-Bayliss et al que provee la evidencia de que es posible delegar al menos para ciertas tareas la generacioacuten de heuriacutesticas a un proceso automaacutetico En el trabajo se usan caracteriacutesticas provenientes de las heuriacutesticas previamente disentildeadas y se utiliza programacioacuten geneacutetica para combinar esos atributos y generar nuevas heuriacutesticas La idea es encapsular el conocimiento del experto humano de diversas formas para obtener mejores soluciones Dado que en la gramaacutetica hay que definir un conjunto de funciones y un conjunto de terminales las funciones utilizadas en esta investigacioacuten incluyen suma (+) resta (-) multiplicacioacuten () y divisioacuten protegida () (si el divisor es cero no se ejecutar la operacioacuten y el resultado es 1) Con este conjunto simple de operadores es

XD

suficiente para generar heuriacutesticas competitivas La definicioacuten de la gramaacutetica se puede observar en la Figura [figGrammar]

ltSgt ltEgt ltEgt ltOpgt ltFgt ltOpgt ltOpgt ( ltEgt ) | ltTgt ltFgt + | - | | ltTgt | | | |

En un esfuerzo maacutes avanzado en este respecto el modelo presentado en presenta una gramaacutetica que contiene elementos maacutes sofisticados como el estatuto if-then-else operadores aritmeacuteticos y loacutegicos lo que permite generar mayor cantidad de posibilidades de combinacioacuten ademaacutes de funciones sobrecargadas capaces de manejar diversas dimensionalidades de entrada lo que provee mayor flexibilidad y un mayor espacio de soluciones En este trabajo se usaron tres diferentes estrategias para evolucionar las heuriacutesticas programacioacuten geneacutetica (GP) buacutesqueda local iterada (ILS) y buacutesqueda de alpinista en paralelo (PHC) En los experimentos se usaron tanto instancias sinteacuteticas como reales para comparar el rendimiento entre las heuriacutesticas generadas y las del estado del arte disentildeadas por el humano El estudio considera varios asuntos como la composicioacuten del conjunto de entrenamiento hacia la generalidad de las heuriacutesticas y su rendimiento sobre instancias no vistas Tambieacuten se considera la evolucioacuten de heuriacutesticas sobre instancias pequentildeas capaces de generalizar sobre instancias maacutes grandes y no vistas y sobre otras instancias del mundo real La Figura 1 muestra un ejemplo de heuriacutestica generada por programacioacuten geneacutetica

Ejemplo de heuriacutestica generada automaacuteticamente por un proceso de Programacioacuten Geneacutetica para el problema de CSP

rarr rarr rarr rarr rarr deg(x)con f licts(x) dom(x) κ (x) r

variableFromVariableValue

smallest

If-VariablesValues1

greaterOrEqualThan minus minus

largest smallest

plus

mxi bdeg

conflicts

bbz log2

division

fdeg fbz

minus conflicts

multiplication plus

bbz pxi

Modelos Neuronales A diferencia de los modelos evolutivos que generan reglas que mapean caracteriacutesticas del problema a heuriacutesticas especiacuteficas las hiper-heuriacutesticas basadas en modelos neuronales aprenden las relaciones existentes entre caracteriacutesticas y heuriacutesticas a partir de casos de ejemplo De esta manera los modelos de hiper-heuriacutesticas basados en redes neuronales requieren un conjunto de entrenamiento donde se contengan las relaciones a aprender De manera general la hiper-heuriacutestica contiene una red neuronal que aprende a clasificar instancias seguacuten sus caracteriacutesticas La clase a la que pertenece la instancia representa la heuriacutestica a utilizar en un momento particular de la buacutesqueda

Probablemente uno de los primeros trabajos que exploraron el uso de redes neuronales para la seleccioacuten de heuriacutesticas fue el presentado por Moriarty en donde se presentoacute el modelo SANE (Symbiotic Adaptive Neuro-Evolution) para encontrar redes neuronales que representaban heuriacutesticas para el ordenamiento de valor en problemas de satisfaccioacuten de restricciones Antildeos maacutes tarde Corr propuso utilizar redes neuronales como selectores de heuriacutesticas constructivas para el problema de la calendarizacioacuten de exaacutemenes No fue sino hasta el 2009 que se publicoacute el primer trabajo de redes neuronales que expliacutecitamente mencionaba el teacutermino lsquohiper-heuriacutesticarsquo En dicho trabajo Ortiz-Bayliss et al retomaron la idea de usar redes neuronales como selectores de heuriacutesticas constructivas pero esta vez aplicado al problema de satisfaccioacuten de restricciones y con una red neuronal con aprendizaje mediante retro-propagacioacuten

Los modelos neuronales tambieacuten se han usado dentro de las hiper-heuriacutesticas para agilizar el entrenamiento Por ejemplo Li et al utilizaron una red neuronal para estimar el costo de una funcioacuten objetivo de forma que se minimizara el nuacutemero de evaluaciones reales durante el proceso de entrenamiento de la hiper-heuriacutestica

En cuanto a la arquitectura de la red neuronal se han utilizado diferentes opciones Una parte significativa de los trabajos ha utilizado el perceptroacuten multicapa Algunos otros trabajos han optado por arquitecturas maacutes especiacuteficas a ciertos problemas como son los mapas auto-organizados y redes neuronales con retraso temporal En algunas ocasiones se ha explorado la idea de combinar redes neuronales con algoritmos geneacuteticos para ajustar la topologiacutea de la red y maximizar el desempentildeo de las hiper-heuriacutesticas

Un ejemplo A continuacioacuten presentamos un breve ejemplo donde mostramos la forma en la que las hiper-heuriacutesticas pueden ser de utilidad y el proceso para aplicarlas

El problema Para este ejemplo tomaremos el problema de particioacuten balanceada (Balanced Partition) que consiste en encontrar la distribucioacuten de elementos que minimiza a donde es el iacutendice de calidad dado por la ecuacioacuten [equBPExampleFitness] y donde representa el elemento del subconjunto y es el nuacutemero de elementos en el subconjunto Asiacute el miacutenimo de corresponde al valor oacuteptimo de la separacioacuten

Las alternativas Para atacar este sencillo problema podemos considerar un enfoque constructivo a traveacutes de dos heuriacutesticas muy simples seleccionar el elemento de carga maacutexima (MAX) o miacutenima (MIN) Partiremos de una solucioacuten vaciacutea al considerar que nuestra solucioacuten es el subconjunto 2 (por tanto toda la carga seraacute asignada al subconjunto 1) por lo que la solucioacuten se construiraacute al escoger los elementos que deben moverse al subconjunto 2 para balancear la carga de todo el sistema Adicionalmente nuestra solucioacuten estaraacute completa cuando el subconjunto 2 represente a la mitad o maacutes de la carga total de la instancia del problema pues nuestras heuriacutesticas no permiten retornar elementos

Es importante resaltar que estas heuriacutesticas no son necesariamente buenas ni malas pues dependen mucho de la instancia del problema en la que se apliquen Consideremos por ejemplo un comportamiento como el de la Tabla [TableBaseInstancesBig] donde observamos que la heuriacutestica MAX se desempentildeoacute ligeramente mejor que la heuriacutestica MIN Esto se debe a que en algunas instancias la heuriacutestica MAX se desempentildeoacute mucho mejor que la heuriacutestica MIN (por ejemplo en las instancias 7 y 10) y viceversa (por ejemplo en las instancias 3 y 9) Es precisamente esta diferencia en desempentildeo lo que motivoacute la idea de las hiper-heuriacutesticas y donde se evidencia su eventual beneficio De hecho la Tabla [TableBaseInstancesBig] incluye una columna con el desempentildeo de una hiper-heuriacutestica simple (que detallaremos maacutes adelante) donde se puede observar que es mucho mejor que sus contrincantes

Q Qitemy

x xy Ny y Q

Q =N1

sumi=1

item1i minus

N2

sumj=1

item2j

Desempentildeo de las heuriacutesticas (y de una hiper-heuriacutestica) sobre 10 instancias de mayor extensioacuten

La informacioacuten del problema Ya conocemos el tipo de problema a resolver y las opciones que tenemos para hacerlo Ahora bien requerimos tambieacuten alguna manera de obtener informacioacuten de cada instancia en particular para asiacute poder analizarla y determinar queacute alternativa tomar (MAX o MIN) Para ello debemos definir al menos una caracteriacutestica del problema relacionada principalmente a las condiciones actuales de la instancia (de manera que se actualice a medida que progresa la solucioacuten) En este ejemplo utilizaremos la relacioacuten entre la carga actual del subconjunto 2 y la carga maacutexima como se muestra en la ecuacioacuten [equBPExampleFeature] Con esto ya tenemos todo lo necesario para empezar a crear nuestras hiper-heuriacutesticas

Instancia

1 11 9 7

2 2 8 6

3 1 13 3

4 2 0 0

5 3 5 13

6 1 9 3

7 3 1 13

8 9 3 9

9 9 11 3

10 5 1 11

Total 46 60 68

Promedio 46 6 68

QMINQHH QMAX

sumN2j=1 item2

j

sumN1i=1 item1

i + sumN2j=1 item2

jisin [0 1]

Nuestra primer hiper-heuriacutestica Nuestro objetivo con la hiper-heuriacutestica seraacute el de tratar de dar un orden loacutegico al proceso Asiacute buscaremos pasar los elementos maacutes grandes al inicio de la solucioacuten (es decir cuando el subconjunto estaacute vaciacuteo) para luego refinarla con elementos maacutes pequentildeos (para ajustar las pequentildeas diferencias) Por tanto podemos crear una hiper-heuriacutestica de dos reglas como se muestra en la Figura 2 En la parte derecha de la figura podemos observar la zona de influencia de cada regla Asiacute siempre que el valor de la caracteriacutestica (definida en la ecuacioacuten [equBPExampleFeature]) sea inferior a 025 se usaraacute la heuriacutestica MAX para seleccionar el siguiente elemento Pero si es superior se usaraacute la heuriacutestica MIN

Primer modelo de hiper-heuriacutestica con dos reglas y una sola caracteriacutestica (izquierda) Zona de influencia de cada regla (derecha)

Primer modelo de hiper-heuriacutestica con dos reglas y una sola caracteriacutestica (izquierda) Zona de influencia de cada regla (derecha)

En este punto es bueno recordar la columna que traiacuteamos pendiente de la Tabla [TableBaseInstancesBig] Es justamente esta hiper-heuriacutestica la que se usoacute para obtener los desempentildeos alliacute mostrados donde una vez maacutes se observa que supera a las heuriacutesticas simples Sin embargo es importante resaltar que no todo es perfecto En algunos casos por ejemplo en la instancia 1 la hiper-heuriacutestica generoacute una solucioacuten peor que cualquiera de las dos heuriacutesticas Es maacutes en casos como el de la instancia 4 fue la uacutenica que no logroacute generar un balanceo perfecto de la carga Esto se debe principalmente a la simplicidad de nuestra hiper-heuriacutestica pues solamente cuenta con dos reglas y con una sola caracteriacutestica Con ello se llega a que el espacio de caracteriacutesticas se divida en regiones simples como la mostrada en la parte derecha de la Figura 2 Por otra parte el desempentildeo de la hiper-heuriacutestica que estamos usando se encuentra limitado por su proceso de entrenamiento pues los valores fueron asignados manualmente y con base en lo que estimamos como mejor

Otras hiper-heuriacutesticas Revisemos ahora coacutemo puede afectar el proceso de entrenamiento al desempentildeo de esta hiper-heuriacutestica en particular Consideremos por ejemplo las hiper-heuriacutesticas mostradas en la Figura 3 La primera de ellas corresponde a nuestro modelo original (el que hemos venido usando) Las otras dos tienen una estructura similar pero el punto de corte de sus regiones de influencia se encuentra en 015 y 035 respectivamente Como se muestra en la Tabla [TableHHsComparison] el hecho de usar un enfoque maacutes agresivo (es decir HH3) sobre este conjunto de instancias resulta en un beneficio pues se obtiene un valor de que en Q

promedio es casi dos unidades menor al alcanzado con la hiper-heuriacutestica original (HH) Asimismo el otro enfoque empeoroacute el resultado respecto al logrado con HH Sin embargo incluso asiacute el resultado logrado es mejor que el obtenido por las heuriacutesticas independientes

Tres configuraciones diferentes de hiper-heuriacutesticas

Tres configuraciones diferentes de hiper-heuriacutesticas

Desempentildeo de dos heuriacutesticas simples y de tres modelos de hiper-heuriacutesticas sobre un conjunto de 10 instancias

Las hiper-heuriacutesticas como un problema de optimizacioacuten Las hiper-heuriacutesticas mostradas han sido entrenadas lsquoa manorsquo definiendo ciertos valores criacuteticos seguacuten nuestro criterio y conocimiento del problema Sin embargo el proceso se puede automatizar si se plantea como un problema de optimizacioacuten Para ello podemos definir la funcioacuten objetivo como el desempentildeo de la hiper-heuriacutestica Esto se muestra en la ecuacioacuten [equBPObjFunction] donde es el nuacutemero de instancias de entrenamiento y es el nivel de calidad dado por la hiper-heuriacutestica en la instancia Como se puede observar el proceso

Instancia

1 11 9 7 11 1

2 2 8 6 10 2

3 1 13 3 5 1

4 2 0 0 4 0

5 3 5 13 3 7

6 1 9 3 3 1

7 3 1 13 5 3

8 9 3 9 5 9

9 9 11 3 5 3

10 5 1 11 5 1

Total 46 60 68 56 28

Promedio 46 6 68 56 28

QMINQMAX QHH3QHH QHH2

Ni Qjj

de optimizacioacuten implica probar cada hiper-heuriacutestica candidata sobre el conjunto de entrenamiento Observemos tambieacuten que en el caso maacutes simple se cuenta con cuatro variables de disentildeo pero si aumentamos el nuacutemero de caracteriacutesticas a por ejemplo tres el nuacutemero de incoacutegnitas se duplica Si en este punto agregamos un par de reglas maacutes (para crear regiones de accioacuten maacutes complejas) el total de variables se duplica una vez maacutes llegando a 16 Asiacute el uso de teacutecnicas de optimizacioacuten claacutesicas como Newton-Rapshon o Descenso empinado queda descartado para la mayoriacutea de problemas praacutecticos (debido a que se requiere un punto de inicio cerca de la solucioacuten y a que quedan atrapados en oacuteptimos locales)

Sin embargo existe otra alternativa las metaheuriacutesticas Para evitar desviar la atencioacuten del lector omitiremos los detalles relacionados con el optimizador y nos centraremos en el proceso de entrenamiento

Vamos a imaginar que tenemos una herramienta capaz de construir una solucioacuten mejorada del problema usando como base una solucioacuten existente que no es necesariamente buena Imaginemos tambieacuten que dicha solucioacuten corresponde a una hiper-heuriacutestica Por tanto podemos definir una solucioacuten (eg una hiper-heuriacutestica) candidata inicial (generada de forma aleatoria) y utilizar dicha herramienta para crear una refinada Para determinar la ganancia dada por nuestra herramienta basta con evaluar ambas soluciones (tanto la aleatoria como la refinada) en la ecuacioacuten [equBPObjFunction] y comparar los resultados Luego de esto podemos tomar la solucioacuten refinada como base y usar nuestra herramienta para crear una mejorada Es justamente este proceso iterativo lo que nos permite operar sobre la solucioacuten aleatoria hasta lograr un resultado con la calidad deseada A manera de ejemplo consideremos un conjunto de 30 instancias aleatorias del problema de particioacuten balanceada (las cuales no se muestran por motivos de espacio) Si generamos 10 soluciones aleatorias (como las descritas anteriormente) obtendremos hiper-heuriacutesticas con desempentildeos buenos y malos como se muestra en la Figura 4 (iteracioacuten 1) Sin embargo podemos usar nuestra herramienta de optimizacioacuten sobre cada una de estas hiper-heuriacutesticas para generar unas mejoradas (iteracioacuten 2) Es maacutes podemos continuar iterativamente y luego de 15 iteraciones tendremos hiper-heuriacutesticas cuyo desempentildeo es bueno y muy similar (iteracioacuten 16) Note que por la naturaleza estocaacutestica de nuestra herramienta en ocasiones el desempentildeo mejora muy raacutepidamente pero en otros casos tarda varias iteraciones en mejorar Ademaacutes tengamos en cuenta que muchas metaheuriacutesticas trabajan de forma poblacional es decir evaluacutean y mejoran muacuteltiples soluciones al mismo tiempo con el aacutenimo de encontrar una uacutenica que sea lo suficientemente buena Sin embargo hemos omitido este tipo de

Fobj(FT A) =sumNi

j=1 Qj

Ni FT = [F1 F2 F3 FNF] and Qj = Qj(FT A)

detalles en la graacutefica para evitar complicar nuestro anaacutelisis y para facilitar la comprensioacuten por parte del lector

Ejemplo de entrenamiento de hiper-heuriacutesticas usando metaheuriacutesticas La iteracioacuten 1 representa el resultado luego de generar la poblacioacuten inicial Los datos mostrados corresponden a 10 reacuteplicas sobre 30 problemas generados de forma aleatoria con 100 elementos y una carga maacutexima de 100 por elemento

Ejemplo de entrenamiento de hiper-heuriacutesticas usando metaheuriacutesticas La iteracioacuten 1 representa el resultado luego de generar la poblacioacuten inicial Los datos mostrados corresponden a 10 reacuteplicas sobre 30 problemas generados de forma aleatoria con 100 elementos y una carga maacutexima de 100 por elemento

Aspectos Avanzados de las Hiper-heuriacutesticas En esta seccioacuten se abordan algunos temas avanzados de las hiper-heuriacutesticas como son sus aplicaciones en problemas multi-objetivo y a la ciencia de datos los modelos hiacutebridos y algunas tendencias futuras del aacuterea

Hiacuteper-heuriacutesticas para Problemas Multi-objetivo Muchos trabajos en la literatura relacionados con hiper-heuriacutesticas para solucionar problemas de optimizacioacuten consideran solamente un objetivo que guiacutea la buacutesqueda de soluciones Sin embargo es natural pensar que en estos problemas existen varios objetivos en conflicto y que la idea es optimizarlos al mismo tiempo

Esto debe plantearse como un problema multi-objetivo y por lo tanto la buacutesqueda de soluciones se debe hacer con un esquema adecuado que facilite ese proceso Para resolver un problema con esa perspectiva es importante definir el problema sus objetivos y el disentildeo del algoritmo que genere la solucioacuten esperada aunque en realidad lo que un algoritmo de este tipo produce es una serie de soluciones que corresponden a los mejores compromisos posibles entre los objetivos en conflicto A estas soluciones se les denomina conjunto de oacuteptimos de Pareto y sus valores correspondientes de las funciones objetivo conforman el denominado frente de Pareto Para ejemplificar este tema usaremos un problema de corte y empacado en dos dimensiones donde se quiere empacar pequentildeas figuras de diferentes tipos y formas en hojas de material rectangulares Lo que se requiere es minimizar el nuacutemero de hojas de materia prima pero al mismo tiempo minimizar tambieacuten el tiempo en que se ejecuta el proceso Estos son claramente dos objetivos que se contraponen por un lado se pueden poner las piezas muy raacutepidamente pero esto no seraacute efectivo en cuanto al nuacutemero de hojas de material y por el otro lado si queremos reducir el

nuacutemero de hojas de material quizaacute requiera maacutes tiempo para terminar el proceso En se usoacute un modelo evolutivo simplificado para representar el estado del problema donde el cromosoma representa un conjunto de puntos en el espacio y cada punto es etiquetado con una heuriacutestica Bajo este esquema el modelo representa una receta para resolver el problema que se puede describir como (a) determinar el estado actual del problema (b) encontrar el punto maacutes cercano a eacutel (c) aplicar la heuriacutestica anexa al punto (d) actualizar el estado Usamos esas ideas y en combinacioacuten con un algoritmo evolutivo multi-objetivo (AEMO) (NSGA-II SPEA2 GDE3) se busca encontrar el conjunto de cromosomas en el frente de Pareto que son capaces de encontrar soluciones a una amplia variedad de problemas tomando en cuenta los dos objetivos El conjunto contiene las hiper-heuriacutesticas que se estaacuten buscando

En la Figura 5 se muestra el esquema utilizado para resolver problemas multi-objetivo para el problema de corte y empacado

Modelo general multi-objetivo mostrando las fases de entrenamiento y prueba

Modelo general multi-objetivo mostrando las fases de entrenamiento y prueba

En la determinacioacuten del estado actual del problema es importante caracterizarlo Para este caso fueron seleccionadas 10 caracteriacutesticas de un conjunto mayor y que son las siguientes

1 Nuacutemero de piezas restantes por empacar

2 Aacuterea promedio de las piezas restantes

3 Varianza en el aacuterea de las piezas restantes

4 Media de la rectangularidad de las piezas restantes

5 Varianza en la rectangularidad de las piezas restantes

6 Media de la altura de las piezas restantes

7 Varianza en el ancho de las piezas restantes

8 Fraccioacuten de las piezas restantes cuya aacuterea es mayor a del aacuterea del objeto

9 Media del grado de concavidad de las piezas restantes

10 Fraccioacuten del total de las piezas restantes

E

S

S

E

12

En la plataforma propuesta para encontrar el conjunto S de mejores hiper-heuriacutesticas en el frente de Pareto se divide el conjunto de instancias en dos tipos entrenamiento y prueba El modelo evolucionaba poblaciones de hiper-heuriacutesticas tomando en cuenta el AEMO La fase de entrenamiento inicia con la generacioacuten de hiper-heuriacutesticas en forma aleatoria para el AEMO Este algoritmos evoluciona la poblacioacuten de acuerdo a su propia metodologiacutea y aplica operadores geneacuteticos para generar nuevas poblaciones considerando el conjunto de entrenamiento para evaluar su rendimiento

Una vez que las mejores hiper-heuriacutesticas se tienen se prueban entonces con las instancias de prueba para comparar los modelos multi-objetivo entre ellos y con respecto a las heuriacutesticas simples adaptadas para el problema usando diferentes meacutetricas

Los resultados obtenidos indican que los modelos eHH-MO son adecuados para construir un conjunto de reglas que permiten resolver el problema bi-objetivo de diversas maneras Los resultados de los modelos eHH-MO han sido comparados contra los obtenidos con las heuriacutesticas simples bajo una serie de experimentos usando tres diferentes meacutetricas como son la distancia generacional (GD) el hipervolumen (HV) y D (dispersioacuten y distribucioacuten) Desde diferentes perspectivas los modelos multi-objetivo superan claramente a los modelos de heuriacutesticas simples Los detalles de la serie de experimentos realizados y su discusioacuten general pueden consultarse en

Transformacioacuten de Caracteriacutesticas en Hiper-heuriacutesticas Una teacutecnica que se ha implementado recientemente se enfoca en el uso de transformaciones matemaacuteticas para mejorar el desempentildeo del modelo de seleccioacuten Al trabajar con una heuriacutestica de seleccioacuten las caracteriacutesticas juegan un papel preponderante en la eficiencia del proceso pues el selector representa una matriz de puntos clave en el espacio de caracteriacutesticas Ademaacutes debemos tener presente que cada problema de optimizacioacuten es diferente por lo que los puntos criacuteticos de una caracteriacutestica difiacutecilmente corresponderaacuten con los de otra Asiacute se inicioacute un proceso para identificar la forma en la que se pudiera establecer una transformacioacuten adecuada a cada problema particular Como resultado se encontroacute que el problema principal que puede resolver la transformacioacuten es el mostrado en la Figura 6 Alliacute se muestra la ubicacioacuten ideal de cuatro reglas (marcadores redondos) y su distancia al estado actual del problema (cuadro blanco) Dos de estas reglas tienen posiciones muy similares (la roja y la azul) por lo que el desempentildeo del selector se torna muy sensible a pequentildeos errores en la ubicacioacuten real de dichas reglas

Sensibilidad de hiper-heuriacutesticas a errores en los valores del selector y su solucioacuten a traveacutes de transformacioacuten de caracteriacutesticas Izquierda Ubicacioacuten ideal de las reglas en el espacio original Derecha Ubicacioacuten ideal de las reglas en el espacio transformado

La Figura 6 tambieacuten muestra la forma como se puede solucionar este problema con la transformacioacuten de caracteriacutesticas La idea es transformar el espacio de cada caracteriacutestica del problema de tal forma que las regiones en conflicto se expandan y las relativamente irrelevantes se compriman Para el ejemplo de la figura esto implica tener mayor resolucioacuten en el espacio cercano a las reglas azul y roja lo que permite un mayor margen de maniobra y por tanto reduce la sensibilidad de la hiper-heuriacutestica De forma similar la zona que pertenece a las dos reglas verdes se comprime Dado que se trata de reglas que ejecutan la misma accioacuten su regioacuten de influencia combinada no seraacute tan sensible a pequentildeos errores de ubicacioacuten Consideremos ahora los casos mostrados en la Figura 7 En la izquierda se muestran dos selectores (uno con dos reglas y otro con cuatro) ambos con dos acciones disponibles roja y azul Al hacer una transformacioacuten de caracteriacutesticas podemos ampliar zonas en conflicto (como ya se mencionoacute arriba) lo que representa una distribucioacuten de las reglas la cual puede incluso modificar la apariencia de las zonas de influencia de cada selector Para nuestro ejemplo dicha transformacioacuten se ve en las imaacutegenes del centro donde la apariencia ha sido parcialmente preservada pero donde se da mayor enfoque a las zonas conflictivas Claro estaacute este proceso no puede ser arbitrario pues podemos tambieacuten generar transformaciones poco uacutetiles como las de la derecha de la figura donde hemos perdido la mayoriacutea de la informacioacuten acerca de las zonas conflictivas por lo que seguramente tendremos un bajo desempentildeo de la hiper-heuriacutestica Detalles de esta investigacioacuten puden ser revisados en

Ejemplo de la forma como la transformacioacuten de caracteriacutesticas puede afectar la apariencia de las zonas de influencia de un selector Izquierda Forma original Centro Transformacioacuten uacutetil que ampliacutea las zonas en conflicto Derecha Transformacioacuten poco uacutetil que destruye informacioacuten sobre las zonas en conflicto

Tendencias Futuras de Hiper-heuriacutesticas Los sistemas inteligentes hiacutebridos son sistemas de software que emplean en paralelo una combinacioacuten de meacutetodos y teacutecnicas de sub-campos de la Inteligencia Artificial La hibridacioacuten de los sistemas inteligentes es un campo de investigacioacuten prometedora de la Inteligencia Computacional moderna para el desarrollo de la proacutexima generacioacuten de sistemas inteligentes Comunidades cientiacuteficas y acadeacutemicas estaacuten cada vez maacutes conscientes de que enfoques combinados podriacutean ser necesarios si se quiere seguir resolviendo los problemas difiacuteciles de la Inteligencia Artificial La integracioacuten de distintas teacutecnicas inteligentes y su adaptacioacuten para superar las limitaciones de los meacutetodos individuales y lograr efectos sineacutergicos a traveacutes de la hibridacioacuten o fusioacuten de estas teacutecnicas ha contribuido a una variedad de nuevos disentildeos dentro del campo de la optimizacioacuten Sin embargo la mayoriacutea de estos enfoques de hibridacioacuten siguen un disentildeo metodoloacutegico ad-hoc que se justifica por el eacutexito en ciertos dominios de aplicacioacuten No obstante se requiere de metodologiacuteas maacutes robustas para la construccioacuten de los sistemas hiacutebridos requeridos para resolver problemas contemporaacuteneos y futuros cada vez maacutes complejos y maacutes grandes

Las hiper-heuriacutesticas como teacutecnicas de buacutesqueda que tratan de automatizar el proceso de generacioacuten seleccioacuten y combinacioacuten de otras heuriacutesticas son un excelente vehiacuteculo para la construccioacuten de sistemas inteligentes hiacutebridos avanzados Recientemente han aparecido los primeros trabajos que proponen formas muy simples y limitadas de combinacioacuten de hiper-

heuriacutesticas Se requiere de estudios maacutes profundos y serios que combinen generacioacuten con seleccioacuten asiacute como estrategias constructivas con perturbativas en formas maacutes elaboradas que mejoren los resultados obtenidos

El desafiacuteo de la hibridacioacuten hiper-heuriacutestica es enorme y complejo Reside primeramente en el modelado de los problemas y de las soluciones (parciales o aproximadas) de forma que a partir de descripciones parameacutetricas o no parameacutetricas el meacutetodo hiacutebrido pueda ir decidiendo la combinacioacuten de meacutetodos heuriacutesticos que iraacute utilizando para guiar la buacutesqueda de la solucioacuten Parte importante del desafiacuteo tambieacuten es la seleccioacuten inteligente de las heuriacutesticas especiacuteficas a los dominios de los problemas las meta-heuriacutesticas y las hiper-heuriacutesticas que formaraacuten el meacutetodo hiacutebrido Otro elemento de complejidad es que cada teacutecnica heuriacutestica incluye paraacutemetros que deben ser ajustados adecuadamente para que trabajen de forma correcta y eso podriacutea ser requerido durante la ejecucioacuten del meacutetodo Finalmente como se quieren meacutetodos hiacutebridos que maximicen su desempentildeo tambieacuten se deberaacuten seleccionar o disentildear las meacutetricas para medir la efectividad y eficiencia de los algoritmos utilizados

Son demasiadas posibilidades las que hay que considerar y demasiada informacioacuten relacionada tanto con las instancias de los problemas a resolver los meacutetodos de solucioacuten sus hiper-paraacutemetros su hibridacioacuten y el efecto de sus decisiones durante la solucioacuten de los problemas Los investigadores ya estaacuten abordando algunos esfuerzos en estas direcciones a traveacutes del aprendizaje automaacutetico y el uso de teacutecnicas estadiacutesticas pero mucha de la praacutectica es primordialmente artesanal Se requiere el uso de metodologiacuteas cientiacuteficas maacutes maduras y desarrolladas para manejar la gran cantidad de datos que se genera en el proceso

Dado que la Ciencia de Datos es la capacidad de extraer conocimientos e ideas de grandes cantidades de datos y datos complejos la construccioacuten de meacutetodos hiacutebridos para optimizacioacuten mediante hiper-heuriacutesticas son un buen motivo para su aplicacioacuten

La Ciencia de Datos intenta comprender las complejidades de las actividades del mundo real y el contexto a partir del anaacutelisis de los datos para mejorar los beneficios que pueden obtenerse de ellos Los algoritmos de optimizacioacuten en tiempo real estaacuten estrechamente vinculados al contexto de sus datos Luego utilizar las teacutecnicas de Ciencia de Datos permitiraacute aprovechar el conjunto histoacuterico de datos asiacute como los datos generados en tiempo real durante la buacutesqueda de soluciones para los problemas de optimizacioacuten El proceso de Ciencia de Datos se puede aplicar al ajuste automaacutetico de los algoritmos su configuracioacuten y su adaptacioacuten para crear mejores meacutetodos de optimizacioacuten

El desarrollo de algoritmos de buacutesqueda poderosos se asemeja a la solucioacuten de los problemas de optimizacioacuten La hibridacioacuten de optimizadores mediante hiper-heuriacutesticas incluye una gran

cantidad de paraacutemetros y generalmente ofrecen muchas opciones El desafiacuteo para la Ciencia de Datos es maacutes complejo debido a la naturaleza estocaacutestica de los meacutetodos de solucioacuten Para explotar el poder real de estas teacutecnicas y resolver los problemas de manera eficiente el desarrollador debe seleccionar los mejores valores y tomar las decisiones correctas

En la uacuteltima deacutecada se han desarrollado varias teacutecnicas para la optimizacioacuten de paraacutemetros la construccioacuten automaacutetica de algoritmos y la creacioacuten de hiper-heuriacutesticas para generar o seleccionar algoritmos pero la Ciencia de Datos tiene mucho que aportar para explotar al maacuteximo el potencial de las teacutecnicas novedosas de buacutesqueda existentes No se debe de buscar un meacutetodo ideal sino crear metodologiacuteas adecuadas a los diferentes dominios de problemas Estas metodologiacuteas deben ser robustas de manera que permitan construir meacutetodos poderosos a partir de la descripcioacuten de esquemas de recoleccioacuten procesamiento exploracioacuten visualizacioacuten aprendizaje y explotacioacuten de datos adecuados a los problemas especiacuteficos a resolver

Aunque actualmente hay un boom en el desarrollo de aplicaciones de Ciencia de Datos en muchos dominios y hay un gran esfuerzo de grupos de personas para desarrollar meacutetodos de buacutesqueda para dominios especiacuteficos la aplicacioacuten de la Ciencia de Datos en la construccioacuten de meacutetodos de optimizacioacuten requiere habilidades inherentemente diferentes y hay muy pocos trabajos especiacuteficos sobre el tema Iniciativas como lsquoData Science meets Optimizationrsquo promovida por grupos creados hace poco como el grupo europeo EWG DSO confirman la relevancia y el potencial del tema

Para saber maacutes El nuacutemero de trabajos relacionados a hiper-heuriacutesticas se ha incrementado significativamente en la uacuteltima deacutecada Como resultado una gran cantidad de recursos se encuentran disponibles en diversas fuentes El lector interesado en conocer a maacutes detalle los diferentes tipos de hiper-heuriacutesticas y sus aplicaciones puede consultar estudios de referencia como y Una lista muy completa sobre los trabajos relacionados a hiper-heuriacutesticas se encuentra disponible en liacutenea en httpsmustafamisirgithubiohhhtml

Debido al intereacutes que las hiper-heuriacutesticas han despertado en los investigadores diversas conferencias y talleres han dedicado espacios para este tipo de trabajos Por ejemplo Genetic and Evolutionary Computation Conference (GECCO) que desde el 2011 ha proporcionado espacios en sus categoriacuteas Self- Search (2011 al 2016) y Search-Based Software Engineering (a partir del 2017) International Conference on Parallel Problem Solving from Nature (PPSN) con talleres en el tema en las ediciones del 2008 y 2016 IEEE Congress on Evolutionary Computation (CEC) con sesiones especiales sobre hiper-heuriacutesticas en sus ediciones del 2013 y

2016 En cuanto a competencias internacionales sobre la materia destacan las dos ediciones del Cross-domain Heurisic Search Challenge (CHeSC) La competencia consistiacutea en disentildear estrategias de alto nivel que controlaran la aplicacioacuten de heuriacutesticas de bajo nivel para dominios especiacuteficos Durante el reto las heuriacutesticas de bajo nivel seriacutean diferentes para cada dominio del problema pero la estrategia de alto nivel debiacutea ser la misma para todos los dominios El reto se enfocaba en el desempentildeo de los meacutetodos de optimizacioacuten en diferentes dominios de problemas en lugar de concentrarse soacutelo en uno

En cuanto a herramientas para la implementacioacuten de hiper-heuriacutesticas la literatura contiene pocos ejemplos entre los que destacan Hyperion HyFlex y EvoHyp No todas las herramientas se encuentran disponibles en este momento ya que algunos de los sitios para su distribucioacuten han sido descontinuados En cualquier caso es posible contactar a los autores para solicitar acceso a las herramientas

Adicionalmente a estos recursos en el 2013 se formoacute la IEEE Task Force on Hyper-heuristics 7

dedicada al desarrollo y aplicaciones de hiper-heuriacutesticas y a su interseccioacuten con la inteligencia artificial la inteligencia computacional y la investigacioacuten de operaciones El sitio del grupo de trabajo proporciona muchos recursos uacutetiles en el tema de hiper-heuriacutesticas

Conclusiones Este capiacutetulo ha presentado el tema de hiper-heuriacutesticas desde diferentes perspectivas con la idea de dar al lector una panoraacutemica general pero suficientemente detallada para que pueda conocer el tema y pueda empezar a realizar avances a traveacutes de la investigacioacuten en el aacuterea o en la aplicacioacuten de las teacutecnicas para resolver problemas en el dominio de optimizacioacuten El capiacutetulo ha explicado el detalle los principales tipos de hiper-heuriacutesticas y sus fundamentos y los diversos modelos que se han generado en la literatura principalmente basados en modelos evolutivos y neuronales y entendiendo que no son los uacutenicos El capiacutetulo provee discusioacuten sobre aspectos avanzados en hiper-heuriacutesticas y que se han derivado en trabajos recientes como es el tratamiento de hiper-heuriacutesticas en problemas multi-objetivo y la transformacioacuten de caracteriacutesticas que permite mejorar el rendimiento de esquemas de hiper-heuriacutesticas En trabajos recientes se han presentado resultados al hibridizar tipos de hiper-heuriacutesticas como por ejemplo las de seleccioacuten con las de generacioacuten las de construccioacuten con las de generacioacuten los tipos de aprendizaje etc Hay todaviacutea un espacio para continuar investigando dentro de ese contexto Con el reciente impacto del tema de big-data se ha empezado a discutir en la comunidad cientiacutefica la relacioacuten de Ciencia de Datos con optimizacioacuten Aquiacute cabe naturalmente el toacutepico de hiper-

httpssitesgooglecomsiteieeetaskforceonhyperheurisitcshome7

heuriacutesticas dado que Ciencia de Datos puede apoyar para generar mejores algoritmos de optimizacioacuten y ciertamente los modelos de optimizacioacuten pueden incidir favorablemente para mejorar los procesos en ciencia de datos

Al final el capiacutetulo presentoacute una serie de recursos que pueden servir como base a estudiantes e investigadores para perseguir el tema de hiper-heuriacutesticas

  • Proacutelogo
  • Introduccioacuten
  • El algoritmo de Evolucioacuten Diferencial
  • Mutacioacuten
  • Cruza
  • Seleccioacuten
  • Estructura del Algoritmo
  • Modificaciones al algoritmo de Evolucioacuten Diferencial
  • Ajuste de paraacutemetros globales
  • Ajuste de paraacutemetros asociados a cada individuo de la poblacioacuten
  • Ajuste del tamantildeo de la poblacioacuten
  • Combinacioacuten de variantes
  • Evolucioacuten Diferencial para otros tipos de problemas
  • DE en Meacutexico
  • Conclusiones
  • Para saber maacutes
  • Introduccioacuten
  • AGds homogeacuteneos y heterogeacuteneos
  • Migracioacuten en AGPs
  • AGs celulares o de grano fino
  • Explotacioacutenexploracioacuten por propiedades estructurales
  • Presioacuten de seleccioacuten por caracteriacutesticas estructurales
  • Anaacutelisis empiacuterico
  • Aceleracioacuten en AGP
  • Concepto de sincronismo en AGPs
  • En AGPs distribuidos viacutea migracioacuten
  • En AGP celulares viacutea criterios de actualizacioacuten
  • Discusioacuten
  • Investigacioacuten de AGPs en Meacutexico
  • Para saber maacutes
  • Introduccioacuten
  • Proceso evolutivo
  • Representacioacuten
  • Poblacioacuten inicial
  • Operadores Geneacuteticos
  • Recombinacioacuten
  • Mutacioacuten
  • Seleccioacuten
  • Espacio de buacutesqueda
  • Conclusiones
  • Para saber maacutes
  • Introduccioacuten
  • Preservacioacuten de diversidad en algoritmos evolutivos
  • Clasificaciones de mecanismos para promover la diversidad
  • Esquemas claacutesicos para administrar la diversidad
  • Esquemas de reemplazamiento basados en diversidad
  • Diversidad en evolucioacuten diferencial
  • Disentildeo de evolucioacuten diferencial basado en diversidad
  • Evolucioacuten diferencial Conceptos baacutesicos
  • Inicializacioacuten
  • Operador de mutacioacuten
  • Operador de cruza
  • Operador de seleccioacuten
  • Propuesta basada en diversidad
  • Resultados de de-edm
  • Disentildeo de operadores de cruza basados en diversidad
  • Algoritmos evolutivos multi-objetivo
  • Operadores de cruza
  • El operador de cruza basado en simulacioacuten binaria - SBX
  • Implementacioacuten y anaacutelisis del operador sbx
  • Propuesta - dsbx
  • Resultados
  • Anaacutelisis de cada modificacioacuten en el operador sbx
  • Modificacioacuten simultaacutenea de varios componentes
  • Conclusiones y trabajo futuro
  • Para saber maacutes
  • Agradeciemientos
  • Introduccioacuten
  • Fundamentos de las Hiper-heuriacutesticas
  • Hiper-heuriacutesticas que seleccionan heuriacutesticas
  • Hiper-heuriacutesticas que generan nuevas heuriacutesticas
  • Modelos de Hiper-heuriacutesticas
  • Modelos Evolutivos
  • Hiper-Heuriacutesticas basadas en Algoritmos Geneacuteticos
  • Hiper-Heuriacutesticas basadas en Programacioacuten Geneacutetica
  • Modelos Neuronales
  • Un ejemplo
  • El problema
  • Las alternativas
  • La informacioacuten del problema
  • Nuestra primer hiper-heuriacutestica
  • Otras hiper-heuriacutesticas
  • Las hiper-heuriacutesticas como un problema de optimizacioacuten
  • Aspectos Avanzados de las Hiper-heuriacutesticas
  • Hiacuteper-heuriacutesticas para Problemas Multi-objetivo
  • Transformacioacuten de Caracteriacutesticas en Hiper-heuriacutesticas
  • Tendencias Futuras de Hiper-heuriacutesticas
  • Para saber maacutes
  • Conclusiones
Page 8: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos

Indice general

Proacutelogo 5

Introduccioacuten 13

El algoritmo de Evolucioacuten Diferencial 15

Mutacioacuten 16

Cruza 18

Seleccioacuten 20

Estructura del Algoritmo 20

Modificaciones al algoritmo de Evolucioacuten Diferencial 21

Ajuste de paraacutemetros globales 22

Ajuste de paraacutemetros asociados a cada individuo de la poblacioacuten 23

Ajuste del tamantildeo de la poblacioacuten 26

Combinacioacuten de variantes 27

Evolucioacuten Diferencial para otros tipos de problemas 29

DE en Meacutexico 30

Conclusiones 30

Para saber maacutes 31

Introduccioacuten 32

AGds homogeacuteneos y heterogeacuteneos 35

Migracioacuten en AGPs 37

AGs celulares o de grano fino 39

Explotacioacutenexploracioacuten por propiedades estructurales 40

Presioacuten de seleccioacuten por caracteriacutesticas estructurales 43

Anaacutelisis empiacuterico 45

Aceleracioacuten en AGP 46

Concepto de sincronismo en AGPs 47

En AGPs distribuidos viacutea migracioacuten 48

En AGP celulares viacutea criterios de actualizacioacuten 49

Discusioacuten 50

Investigacioacuten de AGPs en Meacutexico 50

Para saber maacutes 51

Introduccioacuten 53

Proceso evolutivo 55

Representacioacuten 56

Poblacioacuten inicial 58

Operadores Geneacuteticos 59

Recombinacioacuten 59

Mutacioacuten 60

Seleccioacuten 61

Espacio de buacutesqueda 62

Conclusiones 63

Para saber maacutes 63

Introduccioacuten 64

Preservacioacuten de diversidad en algoritmos evolutivos 67

Clasificaciones de mecanismos para promover la diversidad 67

Esquemas claacutesicos para administrar la diversidad 68

Esquemas de reemplazamiento basados en diversidad 69

Diversidad en evolucioacuten diferencial 71

Disentildeo de evolucioacuten diferencial basado en diversidad 72

Evolucioacuten diferencial Conceptos baacutesicos 72

Inicializacioacuten 72

Operador de mutacioacuten 72

Operador de cruza 73

Operador de seleccioacuten 73

Propuesta basada en diversidad 74

Resultados de de-edm 77

Disentildeo de operadores de cruza basados en diversidad 87

Algoritmos evolutivos multi-objetivo 87

Operadores de cruza 89

El operador de cruza basado en simulacioacuten binaria - SBX 89

Implementacioacuten y anaacutelisis del operador sbx 90

Propuesta - dsbx 92

Resultados 93

Anaacutelisis de cada modificacioacuten en el operador sbx 95

Modificacioacuten simultaacutenea de varios componentes 96

Conclusiones y trabajo futuro 97

Para saber maacutes 98

Agradeciemientos 99

Introduccioacuten 100

Fundamentos de las Hiper-heuriacutesticas 102

Hiper-heuriacutesticas que seleccionan heuriacutesticas 103

Hiper-heuriacutesticas que generan nuevas heuriacutesticas 105

Modelos de Hiper-heuriacutesticas 106

Modelos Evolutivos 106

Hiper-Heuriacutesticas basadas en Algoritmos Geneacuteticos 106

Hiper-Heuriacutesticas basadas en Programacioacuten Geneacutetica 107

Modelos Neuronales 109

Un ejemplo 109

El problema 110

Las alternativas 110

La informacioacuten del problema 111

Nuestra primer hiper-heuriacutestica 112

Otras hiper-heuriacutesticas 112

Las hiper-heuriacutesticas como un problema de optimizacioacuten 113

Aspectos Avanzados de las Hiper-heuriacutesticas 115

Hiacuteper-heuriacutesticas para Problemas Multi-objetivo 115

Transformacioacuten de Caracteriacutesticas en Hiper-heuriacutesticas 117

Tendencias Futuras de Hiper-heuriacutesticas 119

Para saber maacutes 121

Conclusiones 122

Evolucioacuten Diferencial una breve introduccioacuten Rafael Rivera Loacutepez

Efreacuten Mezura Montes

En este capiacutetulo se hace una descripcioacuten general del algoritmo de Evolucioacuten Diferencial Este tipo de algoritmo evolutivo representa una excelente alternativa para encontrar soluciones cercanas al oacuteptimo a problemas de optimizacioacuten continua complejos Debido a la simplicidad de su implementacioacuten y sus excelentes habilidades de exploracioacuten y explotacioacuten diversas variantes de este algoritmo se han aplicado para resolver problemas con diferentes caracteriacutesticas En este capiacutetulo se describen los elementos baacutesicos del algoritmo asiacute como las diferentes variantes que se han desarrollado para mejorar su desempentildeo

Introduccioacuten Con el nombre de algoritmos evolutivos se identifica a un grupo de procedimientos que se utilizan para resolver muchos problemas praacutecticos y que se distinguen de otras teacutecnicas porque estaacuten inspirados en las teoriacuteas que sintetizan la evolucioacuten Darwiniana y la herencia geneacutetica descrita por Mendel Los algoritmos evolutivos han probado ser herramientas poderosas para encontrar soluciones aceptables a problemas donde otras teacutecnicas fallan o consumen una excesiva cantidad de tiempo Estos algoritmos se destacan por combinar exitosamente dos mecanismos de buacutesqueda exploracioacuten y explotacioacuten La exploracioacuten permite identificar aacutereas prometedoras del espacio de buacutesqueda y la explotacioacuten lleva a cabo una buacutesqueda especializada dentro de estas aacutereas para encontrar soluciones cercanas al oacuteptimo Su aplicacioacuten se extiende en praacutecticamente todas las aacutereas de la actividad humana como por ejemplo en salud educacioacuten ciencias industria economiacutea y defensa Los algoritmos evolutivos tambieacuten han sido utilizados en aacutereas emergentes como la ciencia de datos la inteligencia de negocios y el big data En estos algoritmos un conjunto de soluciones candidatas evoluciona para alcanzar una solucioacuten cercana al oacuteptimo por la aplicacioacuten de procedimientos que permiten recombinar y alterar sus valores En la jerga de los especialistas del aacuterea una solucioacuten candidata se conoce como individuo al conjunto de soluciones se denomina poblacioacuten y los procedimientos involucrados en el proceso evolutivo se identifican como operadores de seleccioacuten cruzamiento y mutacioacuten Comuacutenmente dos individuos son seleccionados y sus valores son recombinados y algunas veces mutados para crear nuevas soluciones candidatas Los nuevos individuos son considerados parte de una nueva poblacioacuten que sustituye a la anterior Entonces una secuencia de nuevas poblaciones son creadas hasta que una condicioacuten de teacutermino es alcanzada y la mejor solucioacuten de

las uacuteltima poblacioacuten es seleccionada como resultado del algoritmo Este proceso evolutivo es guiado por una funcioacuten de aptitud que determina la calidad de cada individuo en la poblacioacuten La figura 1 muestra el esquema general de un algoritmo evolutivo

Esquema general de un algoritmo evolutivo

A lo largo de su desarrollo histoacuterico varios tipos de algoritmos evolutivos han sido implementados difiriendo en la forma de representar a sus individuos y en la implementacioacuten de sus operadores geneacuteticos Auacuten cuando en los antildeos 50 varios autores introducen los teacuterminos evolucioacuten y proceso evolutivo en sus propuestas para resolver diversos problemas es en los antildeos 60 cuando se sientan las bases del desarrollo de los algoritmos evolutivos con la introduccioacuten de tres teacutecnicas la Programacioacuten Evolutiva las Estrategias Evolutivas y los Algoritmos Geneacuteticos Fogel propone en 1962 la Programacioacuten Evolutiva donde las soluciones candidatas se representan con maacutequinas de estados finitos y Rechenberg y Schwefel en 1965 desarrollan las Estrategias Evolutivas que codifican sus individuos con vectores de nuacutemeros reales Los Algoritmos Geneacuteticos introducidos en 1962 por Holland son sin duda el tipo de algoritmo evolutivo maacutes popular Estos algoritmos tradicionalmente utilizan una cadena binaria para representar a sus individuos aunque tambieacuten se han utilizado cadenas de enteros y secuencias de nuacutemeros reales Desarrollos posteriores a estas teacutecnicas han aportado al eacutexito de los algoritmos evolutivos destacaacutendose la Programacioacuten Geneacutetica los Algoritmos Coevolutivos los Algoritmos Culturales el algoritmo de Evolucioacuten Diferencial los Algoritmos de Estimacioacuten de Distribuciones la Evolucioacuten Gramatical y la Programacioacuten de Expresioacuten de Genes Cada uno de estos algoritmos tienen sus ventajas y sus propios desafiacuteos y han sido utilizados para resolver diferentes tipos de problemas La figura 2 muestra un esquema del desarrollo histoacuterico de los

algoritmos evolutivos En particular el algoritmo de Evolucioacuten Diferencial ha demostrado ser muy competitivo y exitoso para resolver problemas numeacutericos complejos en comparacioacuten con otros algoritmos

Liacutenea del tiempo del desarrollo de los algoritmos evolutivos

El algoritmo de Evolucioacuten Diferencial Evolucioacuten Diferencial (DE por sus siglas en ingleacutes) es un tipo de algoritmo evolutivo que fue originalmente disentildeado por Storn y Price en 1995 para resolver problemas de optimizacioacuten continua En particular en este algoritmo cada individuo usualmente se representa con un vector de valores continuos de paraacutemetros Ademaacutes en lugar de implementar los operadores de cruza y mutacioacuten tradicionales el algoritmo crea cada nuevo individuo con una combinacioacuten lineal de los valores de dos o maacutes individuos de la poblacioacuten actual que son seleccionados al azar La forma en que se implementan los operadores de cruza y mutacioacuten se ha utilizado en la literatura para identificar las diferentes variantes del algoritmo DEABC es la notacioacuten comuacutenmente usada para nombrar estas variantes donde A y B determinan el tipo de mutacioacuten implementado y C identifica el tipo de cruza implementado por la variante En particular A representa el procedimiento de seleccioacuten de los individuos para construir el individuo mutado y B es el nuacutemero de vectores diferencia usados para el operador de mutacioacuten DE puede considerarse un proceso de tres pasos que incluye una fase de inicializacioacuten el proceso evolutivo y el paso final que determina el resultado obtenido La fase de inicializacioacuten involucra la seleccioacuten y evaluacioacuten de un grupo de NP individuos que son generados aleatoriamente de un espacio de buacutesqueda finito los cuales se utilizan como poblacioacuten inicial del algoritmo conocido como Si para cada y son los valores miacutenimo y maacuteximo del -eacutesimo paraacutemetro en el valor del -eacutesimo individuo en la poblacioacuten inicial es determinado como sigue

x = (x1 x2 hellip xn) n

Ω sube ℝn

X0 j isin 1 hellip n xminj xmax

jj Ω xi

j i xi

donde es un nuacutemero aleatorio uniformemente distribuido dentro del rango El proceso evolutivo implementa un esquema iterativo para evolucionar la poblacioacuten inicial En cada iteracioacuten de este proceso conocido como una generacioacuten una nueva poblacioacuten de individuos es generada utilizando informacioacuten de la poblacioacuten previamente creada A diferencia de otros algoritmos evolutivos el orden de aplicacioacuten de los operadores geneacuteticos en el algoritmo de Evolucioacuten Diferencial es diferente Primero se aplica la mutacioacuten despueacutes la cruza y al final se lleva a cabo la seleccioacuten del mejor individuo Para cada en la generacioacuten es obtenido de la poblacioacuten y es utilizado para crear un nuevo vector aplicando los operadores de cruza y mutacioacuten Los vectores y son conocidos como el vector objetivo y el vector de prueba respectivamente Estos vectores son evaluados por el operador de seleccioacuten para actualizar la nueva poblacioacuten Los operadores de mutacioacuten cruza y seleccioacuten son descritos en detalle en los siguientes paacuterrafos En el paso final cuando una condicioacuten de paro es alcanzada el algoritmo devuelve el mejor individuo en la poblacioacuten actual La condicioacuten de paro maacutes comuacutenmente utilizada es comparar el nuacutemero de generaciones construidas contra un valor fijo pero otros criterios pueden ser implementados como aquellos descritos por Zielinski y Laur

Mutacioacuten Un vector mutado es construido al combinar los valores de varios individuos aleatoriamente seleccionados de El nuacutemero de individuos seleccionados para realizar la combinacioacuten depende del operador de mutacioacuten implementado por la variante del algoritmo En alguna de estas variantes el individuo con la mejor aptitud en la poblacioacuten es tambieacuten utilizado por el operador de mutacioacuten Entre los diferentes operadores de mutacioacuten descritos en la literatura destacan los siguientes

$$beginaligned

textDErand1quad v^i amp= x^r_1 + textF big( x^r_2 - x^r_3 big)labeleqmut_1

textDEbest1quad v^i amp= x^textbest + textF big( x^r_1 - x^r_2 big) labeleqmut_2

textDEcurrent-to-best1quad v^i amp= x^i + textF big( x^textbest - x^r_1big) + textF big( x^r_2 - x^r_3 big) labeleqmut_3

xij = xmin

j + r (xmaxj minus xmin

j )

r [0 1]

i isin 1 hellip NP g xi

Xgminus1 ui

xi ui

Xgω

vi xrj

Xgminus1

xbest Xgminus1

textDErand2quad v^i amp= x^r_1 + textF big( x^r_2 - x^r_3 big)+textF big( x^r_4 - x^r_5 big) labeleqmut_4

shortintertexty

textDEbest2quad v^i amp= x^textbest + textF big( x^r_1 - x^r_2 big )+ textF big( x^r_3 - x^r_4 big ) labeleqmut_5 endaligned$$

donde F es un valor definido por el usuario que representa un factor de escala aplicado para controlar la variacioacuten diferencial Storn y Price sentildealan que F puede fijarse entre 0 y 2 pero otros autores recomiendan valores entre 04 y 1 En la figura 3 se presenta un ejemplo de la aplicacioacuten del operador de mutacioacuten DErand1 En este ejemplo = = y = Usando F igual a 05 el vector mutado resultante es =

Ejemplo de la creacioacuten de un vector mutado con el esquema DErand1

La mutacioacuten aporta a las habilidades de explotacioacuten y exploracioacuten del meacutetodo Debido a que al inicio del proceso evolutivo los individuos se encuentran relativamente dispersos en el espacio

xr1 (1056 316) xr2

(253 903) xr3 (56 626) vi

(902 454)

de buacutesqueda la diferencia entre los vectores seleccionados es grande por lo que los vectores mutados pueden ubicarse en diferentes aacutereas del espacio de buacutesqueda pero a medida que el proceso evolutivo avanza las soluciones se vuelven maacutes cercanas y las diferencias entre ellos son maacutes pequentildeas lo que produce que los vectores mutados se encuentran concentrados en aacutereas promisorias del espacio de buacutesqueda

Cruza El operador de cruza se utiliza para combinar la informacioacuten entre el vector objetivo y el vector mutado para construir el vector de prueba Por cada o se seleccionan para construir usando un factor de cruza el cual es tambieacuten un valor especificado por el usuario Dos tipos de cruza se utilizan en este caso cruza binomial y cruza exponencial

Cruza binomial En este operador cada valor asignado a es seleccionado de o de comparando el valor CR con un valor seleccionado al azar Para garantizar que al menos un paraacutemetro de toma un valor de este operador utiliza un valor tambieacuten seleccionado al azar Formalmente la cruza binomial se define como

Tomando el vector mutado = del ejemplo de la figura 3 y un vector objetivo = en la figura 4 se muestra un ejemplo de la creacioacuten de un vector de prueba usando la cruza binomial El vector de prueba generado en este ejemplo es =

xr2 minus xr3

j isin 1 hellip n xij vi

jui CR isin [0 1]

ui vi xi

r isin [0 1] ui

vi l isin 1 hellip n

bin uij =

vij si r le CR or j = l

xij de otra forma

vi (902 454) xi

(406 766)ui (406 454)

Ejemplo de la creacioacuten de un vector de prueba usando la cruza binomial

Cruza exponencial Este operador de cruza asigna una secuencia de valores de a Los valores restantes que son asignados a son obtenidos de El tamantildeo de la secuencia se determina con dos valores 1) un iacutendice que representa la posicioacuten inicial de la secuencia en seleccionado aleatoriamente dentro del rango y 2) el nuacutemero de intentos consecutivos en los cuales determina la posicioacuten final de la secuencia como es definida en la Ec ([eqcr_exp]) La cruza exponencial es similar al operador de cruza de dos puntos introducido por Cavicchio

$$beginaligned

textexpquad u_j^i amp=

begincases

v_j^i amp textsi $ l leq j leq min (l+L-1n)$

vi ui

ui xi

l vi

1 hellip n L le n r le CR

x_j^i amp textde otra forma

endcases labeleqcr_expendaligned$$

Por ejemplo si se tienen dos vectores de cinco paraacutemetros = y = y se aplica el operador de cruza exponencial usando un factor de cruza de 06 entonces se debe obtener el valor de y despueacutes generar una secuencia de valores aleatorios para Si =2 y la secuencia de valores de es 06 03 04 y 06 y el vector de prueba que se construye es =

La cruza ayuda al algoritmo a mantener la diversidad de la poblacioacuten y eventualmente evitar que caiga en oacuteptimos locales El valor de CR es complicado de determinar pero algunos autores sentildealan que su valor puede ajustarse entre 03 y 09

Seleccioacuten Un torneo uno-a-uno es aplicado para determinar cual vector entre y es seleccionado como miembro de la nueva poblacioacuten Este esquema de seleccioacuten permite garantizar que el proceso evolutivo mantenga una mejora continua

Estructura del Algoritmo El Algoritmo [algDE] muestra la estructura de una implementacioacuten claacutesica del algoritmo Eacuteste requiere de tres paraacutemetros para controlar el proceso evolutivo (CR F y NP) y tambieacuten la seleccioacuten de un espacio de buacutesqueda para construir la poblacioacuten inicial y la definicioacuten del tamantildeo de individuo de una funcioacuten objetivo para evaluar cada individuo y de una condicioacuten de paro para finalizar el proceso evolutivo

Entrada Salida Un individuo generado aleatoriamente usando la Ec ([eqinicial]) Vector objetivo obtenido aleatoriamente de Vector mutado generado usando alguna de las Ecs ([eqmut_1])ndash([eqmut_5]) Vector de prueba construido usando alguna de las Ecs ([eqcr_bin])ndash([eqcr_exp])

DE tiene varias ventajas en comparacioacuten con otros algoritmos evolutivos como la simplicidad de su implementacioacuten su habilidad para producir mejores resultados que aquellos obtenidos por los demaacutes y su baja complejidad espacial

vi (24 36 12 78 02) xi

(34 96 12 52 31)l

r l rui (24 96 12 52 02)

xi ui

Xg

g larr 0 Xg larr xi larrXg larr Xg cup (i xi) g larr g + 1 Xg larr xi larr

Xgminus1 vi larrui larrXg larr Xg cup (i ui) Xg larr Xg cup (i xi) xbest

Modificaciones al algoritmo de Evolucioacuten Diferencial Aunque DE requiere de la definicioacuten de un nuacutemero menor de paraacutemetros en comparacioacuten con el nuacutemero de paraacutemetros requeridos por otros algoritmos evolutivos su desempentildeo es sensible a los valores seleccionados de CR F y NP Varios autores sentildealan que los valores adecuados para estos paraacutemetros pueden variar para diferentes problemas y es conocido que la definicioacuten de estos paraacutemetros depende de las caracteriacutesticas propias de cada problema Ademaacutes Lampinen y Zelinka sentildealan que este algoritmo puede presentar el problema de estancamiento debido a una incorrecta seleccioacuten de sus paraacutemetros El estancamiento en un algoritmo se presenta cuando eacuteste no converge a alguna solucioacuten y la poblacioacuten presenta una gran diversidad de individuos Por lo anterior la mayoriacutea de los estudios realizados para mejorar el desempentildeo del algoritmo de Evolucioacuten Diferencial se relacionan con teacutecnicas para ajustar los valores de sus paraacutemetros (F CR y NP) y para combinar las ventajas de las diferentes variantes del algoritmo usando un subconjunto de ellas en lugar de solamente aplicar una variante En los siguientes paacuterrafos se describen las propuestas para mejorar el desempentildeo del algoritmo que se consideran los maacutes representativos en la literatura especializada Para simplificar su descripcioacuten estas propuestas se agrupan de acuerdo al criterio utilizado Ajuste de paraacutemetros y combinacioacuten de variantes Por un lado debido a que F y CR son los paraacutemetros del algoritmo maacutes estudiados y donde maacutes variantes de mejora han sido desarrolladas estos estudios se agrupan en enfoques que usan paraacutemetros globales y enfoques que usan paraacutemetros para cada individuo Adicionalmente se presentan los enfoques relacionados con el ajuste del tamantildeo de la poblacioacuten y tambieacuten aquellos donde se modifica la forma que generar los vectores mutados dentro del proceso evolutivo La figura 5 presenta un esquema del desarrollo histoacuterico de estos enfoques

Liacutenea del tiempo de las modificaciones a DE

Ajuste de paraacutemetros globales En estos enfoques los operadores geneacuteticos utilizan los mismos valores para F y CR en todos los individuos de una misma poblacioacuten como se ilustra en la figura 6 Estos valores se actualizan al finalizar cada generacioacuten con el aacutenimo de mejorar las habilidades de exploracioacuten y explotacioacuten del algoritmo Dos enfoques se concentran en ajustar el valor de F manteniendo fijo el valor de CR En 2004 Ali y Toumlrn lo actualizan considerando la aptitud del mejor y del peor individuo en la poblacioacuten y Das et al en 2005 proponen dos enfoques para modificar su valor el primero lo modifica de forma aleatoria y el segundo reduce su valor de forma lineal conforme el proceso evolutivo avanza Por otro lado Liu y Lampinen en 2005 proponen un enfoque diferente al cual denominan FADE (Fuzzy Adaptive DE algorithm) En este algoritmo los valores de F y CR se ajustan usando un sistema de control loacutegico difuso El sistema utiliza las diferencias entre generaciones sucesivas tanto de los valores de los individuos como de sus valores de aptitud Finalmente Dra et al en 2015 proponen una versioacuten alternativa denominada SinDE (Sinusoidal DE) en donde los valores de F y CR se ajustan utilizando foacutermulas trigonomeacutetricas permitiendo cambiar la direccioacuten del vector diferencia dentro del operador de mutacioacuten

Esquema de ajuste de paraacutemetros globales del algoritmo

Ajuste de paraacutemetros asociados a cada individuo de la poblacioacuten En este tipo de algoritmos cada individuo de la poblacioacuten tiene asociado su propio conjunto de paraacutemetros como se muestra en la figura 7 Estos paraacutemetros se ajustan de forma independiente dentro del proceso evolutivo como se esquematiza en la figura 8

Paraacutemetros asociados a cada individuo de la poblacioacuten

En 2005 Omran et al asocian el valor de F a cada individuo de la poblacioacuten en su meacutetodo denominado SDE (self-adaptive DE) Este meacutetodo actualiza el valor de F combinando los valores de F de tres individuos de la poblacioacuten actual que son seleccionados aleatoriamente En 2006 Brest et al describen su meacutetodo denominado jDE donde los valores de F y CR se pueden modificar en cada iteracioacuten del proceso evolutivo basados en una decisioacuten estocaacutestica utilizando un par de umbrales previamente definidos En 2007 Zhang y Sanderson implementan un meacutetodo conocido como JADE donde F y CR son ajustados utilizando distribuciones normales independientes cuya media es calculada usando el promedio de los vectores mutados mejor adaptados en cada iteracioacuten En 2011 Ghosh et al actualizan los valores de estos paraacutemetros en base al valor de aptitud de los individuos en la poblacioacuten en un meacutetodo denominado FiADE (Fitness-Adaptive DE) Una versioacuten parecida es presentada en 2015 por Tang et al en el meacutetodo llamado IDE (DE with an individual-dependent mechanism) En 2011 Bi y Xiao describen el meacutetodo p-ADE (pbest vector-based self-adaptive DE variant) donde el vector mutado se crea usando el mejor individuo en la poblacioacuten y el mejor de los vectores que se utilizaron para crear al vector objetivo Los valores de F y CR de cada individuo son ajustados usando un factor asociado a las mejores y peores aptitudes de los individuos en la poblacioacuten En 2012 Islam et al introdujeron el meacutetodo llamado MDEpBX (modified DE with p-best crossover) donde se modifica la variante DEcurrent-to-best1 al utilizar el mejor elemento de un grupo de individuos seleccionados aleatoriamente de la poblacioacuten actual en lugar de usar el mejor individuo de la poblacioacuten Los valores de los paraacutemetros se ajustan en base a un par de distribuciones independientes que son actualizadas al final de cada generacioacuten En 2013 Tanabe y Fukunaga implementan el meacutetodo SHADE (Success-History based Adaptive DE) que basaacutendose en JADE actualiza los valores de F y CR usando una memoria de los vectores mutados que han sido exitosamente seleccionados previamente dentro del proceso evolutivo A partir de SHADE

varias versiones se han desarrollado como el meacutetodo L-convSHADE (SHADE using covariance matrix learning with Euclidean Neighborhood) y el meacutetodo LSHADE-SPA (LSHADE with semi parameter adaptation) En 2016 Leon y Xiong introducen una estrategia voraz para actualizar los valores de los paraacutemetros de cada individuo en el meacutetodo llamado GADE (Greedy Adaptive DE) Se utilizan los valores de los paraacutemetros de las soluciones vecinas para ajustar los paraacutemetros del nuevo vector mutado Finalmente Mohamed y Mohamed en 2017 proponen el meacutetodo denominado AGDE (Adaptive guided DE)

Esquema de ajuste de paraacutemetros para cada individuo de la poblacioacuten

Ajuste del tamantildeo de la poblacioacuten En los enfoques descritos previamente solamente se ajustan los valores de F y CR manteniendo el tamantildeo de la poblacioacuten constante Diversos estudios indican que el tamantildeo de la poblacioacuten tambieacuten afecta al desempentildeo de un algoritmo evolutivo por lo que existen trabajos que se han centrado en ajustar el tamantildeo de la poblacioacuten para garantizar la convergencia del algoritmo Existen algunos enfoques donde se ajusta el tamantildeo de la poblacioacuten y se describiraacuten a continuacioacuten En la figura 9 se muestra el esquema general en que estos enfoques ajustan el tamantildeo de la poblacioacuten durante el proceso evolutivo

Esquema general del ajuste del tamantildeo de la poblacioacuten en DE

En 2006 Teo describe el meacutetodo DESAP (Differential Evolution with self-adapting populations) donde el tamantildeo de la poblacioacuten se ajusta usando un factor distribuido uniformemente entre 0 y 1 En 2008 Brest y Sepesy Maučec presentan el algoritmo dynNP-DE (DE con NP dinaacutemico) donde van reduciendo a la mitad el tamantildeo de la poblacioacuten conforme el proceso evolutivo progresa Utilizando el nuacutemero total de evaluaciones y un paraacutemetro que indica el nuacutemero de posibles reducciones el algoritmo establece en queacute generaciones el algoritmo reduciraacute el tamantildeo de la poblacioacuten En 2014 Tanabe y Fukunaga presentaron una versioacuten con ajuste de poblacioacuten del meacutetodo SHADE denominada L-SHADE donde se aplica una reduccioacuten lineal del tamantildeo de la poblacioacuten previo a una ordenacioacuten a los individuos por su aptitud que permite eliminar solo

los individuos peor adaptados En 2017 Bujok y Tvrdiacutek describen el meacutetodo IDEbd (IDE with Population Size Adaptation) en donde el tamantildeo de la poblacioacuten es adaptado usando un factor calculado en base al nivel de diversidad de la poblacioacuten actual

Combinacioacuten de variantes Debido a la forma de combinar los individuos para crear el vector de prueba de cada una de las variantes de DE estaacutes presentan diferentes capacidades de exploracioacuten y explotacioacuten ademaacutes de que son maacutes efectivas para diferentes tipos de problemas Por ejemplo la variante DErand1 es mejor para explorar el espacio de buacutesqueda pero tiene una velocidad de convergencia lenta y DEbest1 converge maacutes raacutepido hacia soluciones cercanas a la oacuteptima pero solo para problemas con un uacutenico oacuteptimo global (unimodales) Debido a que usar diferentes estrategias de mutacioacuten durante diferentes momentos del proceso evolutivo pueden ser mejor que usar una sola variante durante todo el proceso varios autores se han enfocado en desarrollar estrategias para combinar diferentes variantes de DE y lograr con esto que cooperen en la creacioacuten de un mejor vector objetivo La figura 10 muestra un esquema general de la forma en que se aplican estas estrategias dentro del algoritmo de Evolucioacuten Diferencial

Esquema general de la estrategia de combinacioacuten de variantes de DE

En 2005 Qin y Suganthan describieron una versioacuten conocida como SADE (Self-Adaptive DE algorithm for numerical optimization) donde introducen un esquema que selecciona de forma alternada una de dos variantes del algoritmo de acuerdo a su tasa de eacutexito dentro del proceso evolutivo En 2009 Das et al presentaron el meacutetodo llamado DEGL (DE with Global and Local Neighborhoods) donde cada nuevo vector mutado se crea combinando dos vectores uno construido usando una vecindad del vector objetivo (vector local) y otro creado usando el mejor

individuo de la poblacioacuten (vector global) En 2011 Mallipeddi et al asignaron a cada individuo de la poblacioacuten el tipo de variante para generar el vector mutado y los valores para F y CR en el meacutetodo EPSDE (Ensemble of mutation strategies and parameters in DE) Tanto el tipo de variante como los valores de los paraacutemetros se escogen aleatoriamente de un grupo de ellos que es previamente definido Dependiendo del eacutexito de la aplicacioacuten de dichos valores eacutestos se pueden cambiar durante el proceso evolutivo Tambieacuten en ese mismo antildeo Wang et al en su meacutetodo CoDE (Composite DE) crean tres vectores para cada vector objetivo Cada vector es construido usando variantes diferentes y con paraacutemetros generados aleatoriamente El mejor de los tres vectores se usa como vector de prueba para aplicar el operador de seleccioacuten Adicionalmente Zhao et al implementaron un meacutetodo muy similar denominado SaDE-MMTS (SaDE with a modified multi-trajectory search) donde el vector mutado se selecciona de entre los vectores generados por tres diferentes variantes del algoritmo pero la seleccioacuten se hace en base a una probabilidad que iterativamente se ajusta en base a la cantidad de vectores mutados que son exitosamente seleccionados En 2017 Ghosh et al propusieron el meacutetodo NRDE (Noise Resilient DE) donde cada individuo puede ser mutado por alguna de dos variantes con igual probabilidad Los valores de F y CR son ajustados para cada individuo basado en un rango preestablecido previamente

Evolucioacuten Diferencial para otros tipos de problemas Aunque DE fue definido originalmente para resolver problemas de optimizacioacuten continua sin restricciones tambieacuten se ha utilizado con eacutexito para resolver otros tipos de problemas como aquellos donde los valores de las variables del problema son discretos donde el espacio de buacutesqueda estaacute limitado por una o maacutes restricciones y aquellos donde se manejan dos o mas objetivos Prado et al describe varias adaptaciones al algoritmo de Evolucioacuten Diferencial para problemas de optimizacioacuten combinatoria como aquellos que implementan una matriz de permutacioacuten los que obtienen una secuencia ordenada de valores y los que aplican una transformacioacuten de los valores continuos al espacio discreto En el caso de los problemas de optimizacioacuten con restricciones Mezura-Montes et al describen varios enfoques que se han utilizado para aplicar DE en este tipo de problemas como aquellos que utilizan teacutecnicas para eliminar o reparar soluciones infactibles y los que implementan teacutecnicas de penalizacioacuten Finalmente para problemas de optimizacioacuten multi-objetivo Mezura-Montes et al resume las principales teacutecnicas basadas en el algoritmo de Evolucioacuten Diferencial para manejar dos o maacutes objetivos como los enfoques basados en dominancia de Pareto y en jerarquizacioacuten de Pareto asiacute como los meacutetodos que no se basan en Pareto y los enfoques que combinan diferentes estrategias Hoy en diacutea existen tambieacuten algoritmos basados en descomposicioacuten y en indicadores de desempentildeo

DE en Meacutexico En el paiacutes se tiene mucha actividad en investigacioacuten relacionada con DE particularmente el grupo EVOCINV de CINVESTAV Zacatenco estudia a este algoritmo en optimizacioacuten multi-objetivo y temas afines al manejo de muacuteltiples objetivos como algoritmos basados en indicadores modelos subrogados operadores de seleccioacuten operadores de variacioacuten adaptacioacuten de paraacutemetros entre otros temas

En el Centro de Investigacioacuten en Inteligencia Artificial de la Universidad Veracruzana se desarrolla investigacioacuten en optimizacioacuten con restricciones usando DE aplicaciones de DE en mecatroacutenica y en control automaacutetico DE y buacutesqueda local optimizacioacuten dinaacutemica multi-objetivo DE asistida por subrogados en espacios restringidos entre otras temaacuteticas

Recientemente en el Instituto Tecnoloacutegico de Veracruz se desarrollan aplicaciones de DE en aprendizaje automaacutetico en el Centro de Innovacioacuten y Desarrollo Tecnoloacutegico en Coacutemputo (CIDETEC) del IPN se aplica DE en problemas de mecatroacutenica y en el Centro de Investigacioacuten en Matemaacuteticas se aplica en procesos quiacutemicos

Todas estas menciones soacutelo son representativas pues la DE al ser un algoritmo faacutecil de implementar y que provee resultados competitivos ha sido particularmente atractiva para su estudio y aplicacioacuten en instituciones mexicanas

Conclusiones El algoritmo de Evolucioacuten Diferencial es un enfoque exitoso para resolver problemas de optimizacioacuten continua sin restricciones Los individuos que evolucionan al aplicar los operadores de este algoritmo tradicionalmente se codifican como secuencias de nuacutemeros reales pero otras representaciones se han utilizado tambieacuten Ademaacutes con la inclusioacuten de diversas estrategias para manejar varios objetivos y conjuntos de restricciones DE se puede aplicar para resolver otro tipo de problemas DE se distingue por depender de la definicioacuten de un menor nuacutemero de paraacutemetros que otros algoritmos evolutivos pero esto tambieacuten lo hace muy sensible a la definicioacuten de los valores para esos paraacutemetros Diversos variantes del algoritmo han sido desarrolladas para mejorar el desempentildeo del algoritmo generando un abanico de alternativas para resolver casi cualquier tipo de problema El estudio del comportamiento de este algoritmo y la definicioacuten de nuevas propuestas de desarrollo sin duda aportaraacute a la resolucioacuten maacutes eficiente de problemas complejos que interesan a la comunidad cientiacutefica

Para saber maacutes Para aquellos lectores que deseen abundar en el tema las siguientes referencias sobre DE pueden ser de intereacutes

bull El libro sobre DE escrito por los autores originales del algoritmo

bull Una revisioacuten muy completa de la literatura de DE y su versioacuten actualizada

bull Otra revisioacuten de la literatura acompantildeada de un estudio experimental

bull Una revisioacuten de estudios teoacutericos sobre DE

bull Un libro editado con temas diversos y recientes sobre DE

bull DE para resolver problemas de optimizacioacuten multi-objetivo

bull DE y su papel importante en espacios restringidos

Algoritmos Geneacuteticos Paralelos Alicia Morales-Reyes

Introduccioacuten Las teacutecnicas evolutivas son aptas para su paralelizacioacuten tanto a nivel algoriacutetmico como a nivel de ejecucioacuten En particular los algoritmos geneacuteticos (AGs) han sido investigados desde esta perspectiva y esquemas paralelos han surgido desde el inicio de su desarrollo La paralelizacioacuten de los AGs persigue la mejora de su desempentildeo algoriacutetmico en teacuterminos de eficiencia y eficacia y la reduccioacuten de tiempos de ejecucioacuten en sus distintos dominios de aplicacioacuten

Una clasificacioacuten general de los Algoritmos Geneacuteticos Paralelos (AGPs) los agrupa por su granularidad en AGPs de grano fino y grueso Los AGPs de grano grueso dividen la poblacioacuten agrupada en panmixia en varias sub-poblaciones permitiendo la migracioacuten de individuos entre 1

eacutestas De esta forma se reduce el nuacutemero de individuos en cada unidad de procesamiento En consecuencia se establece un fuerte viacutenculo entre la algoritmia y la implementacioacuten de estas teacutecnicas Sin embargo utilizar una uacutenica unidad de procesamiento para la evolucioacuten de varias sub-poblaciones ha sido un contexto tambieacuten explorado como un mecanismo de mejora del desempentildeo algoriacutetmico

Los AGPs de grano grueso tambieacuten llamados Algoritmos Geneacuteticos distribuidos (AGds) han permitido la exploracioacuten de nuevas vertientes de la versioacuten estaacutendar de los AGs Tener diferentes paraacutemetros de configuracioacuten para realizar las operaciones geneacuteticas implementar granularidades distintas incorporar el operador de migracioacuten han sido caracteriacutesticas a explorar que pueden culminar en un mejor desempentildeo de los AGs

En la figura 1 se muestra un diagrama de un AG distribuido Cada poblacioacuten es centralizada y se necesitan definir criterios en teacuterminos de tasa y frecuencia de migracioacuten Tambieacuten se necesita definir si la migracioacuten seraacute siacutencrona o asiacutencrona Herrera et al presentaron un esquema de un AGP distribuido con poblaciones heterogeacuteneas Utilizaron la estructura de un hipercubo posicionando en cada veacutertice una sub-poblacioacuten Dependiendo de la ubicacioacuten de cada sub-poblacioacuten la buacutesqueda implica mayor explotacioacuten o exploracioacuten Esto se logra de manera interna viacutea la configuracioacuten de los operadores geneacuteticos De esta forma se procura mantener la diversidad de soluciones de forma global y asiacute mejorar la calidad de las soluciones encontradas

Una poblacioacuten en panmixia es aquella donde todos sus individuos sin restricciones pueden 1

reproducirse entre si

Diagrama poblacional de un AGP distribuido o de grano grueso

La principal diferencia entre los AGP de grano fino con respecto a los AGP distribuidos o de grano grueso es la descentralizacioacuten de su poblacioacuten y en consecuencia la localizacioacuten del proceso de seleccioacuten de individuos En la figura 2 se muestra un esquema poblacional de un AGP de grano fino tambieacuten conocido como AG celular (AGc) De manera comuacuten se utiliza una topologiacutea de malla conectada de forma toroidal como lo muestra la figura Un individuo de la poblacioacuten se ubica en cada cruce de la malla y alrededor de eacutel se define un vecindario cuyas soluciones participan en los procesos de seleccioacuten recombinacioacuten y mutacioacuten para la evolucioacuten de eacuteste En la figura 2 se ilustra un vecindario tipo Moore con 9 individuos

En los AGs celulares cada individuo o solucioacuten interactuacutea con sus vecinos maacutes cercanos logrando de esta forma el esparcimiento suave de las soluciones a traveacutes de la malla debido al traslape de vecindarios En los AGs distribuidos la asociacioacuten entre soluciones se pierde en comparacioacuten con los AGs celulares Esta es otra caracteriacutestica importante de los AGc que permite la exploracioacuten global del espacio de buacutesqueda mientras que localmente los individuos explotan la regioacuten cercana a su ubicacioacuten

Diagrama poblacional del AG celular o de grano fino

La paralelizacioacuten de los algoritmos evolutivos en particular de los algoritmos geneacuteticos persigue distintos objetivos Por ejemplo la evolucioacuten simultaacutenea de sub-poblaciones lo cual permite descubrir nueva rutas para solucionar un problema y en consecuencia reducir el nuacutemero de generaciones para converger a la solucioacuten oacuteptima Aunado a esto los tiempos de procesamiento pueden tambieacuten acortarse La paralelizacioacuten de AGs se puede realizar a distintos niveles Asiacute mismo es posible la combinacioacuten de sub-poblaciones con distintas dinaacutemicas internas Por ejemplo algunas sub-poblaciones podriacutean evolucionar en un esquema de panmixia y otras en un esquema celular Este tipo de esquemas poblacionales se discutiraacuten a detalle en la subseccioacuten 11

Una operacioacuten importante en los procesos evolutivos de los AGs distribuidos es la migracioacuten de los individuos entre sub-poblaciones Durante el proceso de buacutesqueda uno o maacutes individuos son seleccionados para migrar y reemplazar a otros individuos de otras sub-poblaciones Los criterios de migracioacuten requieren no soacutelo de la tasa y la frecuencia de migracioacuten sino tambieacuten de criterios de seleccioacuten y reemplazo de individuos al llegar a las otras sub-poblaciones El proceso de migracioacuten puede realizarse de forma siacutencrona o asiacutencrona La migracioacuten siacutencrona supone que todas las sub-poblaciones estaacuten en el mismo estado de la buacutesqueda y la migracioacuten de individuos entre sub-poblaciones ocurre de manera simultaacutenea Por otro lado la migracioacuten asiacutencrona supone que cada sub-poblacioacuten determina el momento en que los individuos deben migrar En la sub-seccioacuten 24 se aborda el efecto del sincronismo en los mecanismos de migracioacuten

Cantuacute-Paz et al presentoacute un estudio completo en AGs distribuidos tanto desde el punto de vista teoacuterico como del praacutectico Debido al nuacutemero de paraacutemetros que se deben definir en los AGds Cantuacute-Paz et al iniciaron con la solucioacuten de un problema de optimizacioacuten para determinar el tamantildeo adecuado de las sub-poblaciones para alcanzar una cierta calidad de la misma Utilizaron un modelo matemaacutetico considerando la hipoacutetesis de los bloques constructores propuesta por Holland y extendida por Goldberg El estudio se verifica en varios problemas con un grado alto de precisioacuten mostraacutendose una buena respuesta a la escalabilidad

Para determinar escenarios de operacioacuten liacutemite en teacuterminos de eficiencia analizaron la interaccioacuten de las sub-poblaciones y su efecto en la calidad de las soluciones Previamente se ha investigado el cambio en la calidad de las soluciones debido a la forma de interaccioacuten de las sub-poblaciones Tener sub-poblaciones evolucionando de manera independiente con muy poca o nula interaccioacuten entre ellas resulta en soluciones menos precisas mientras mejores soluciones se obtienen viacutea el esquema de panmixia tradicional Sin embargo cuando se definen criterios de migracioacuten adecuados y un cierto nuacutemero de soluciones migran entre sub-poblaciones a una frecuencia media o baja el desempentildeo en general de los AGds mejora alcanzando en un nuacutemero de casos aceleraciones super-lineales y mejor calidad de las soluciones encontradas Se puede inferir entonces la importancia del operador de migracioacuten el cual seraacute analizado en detalle en la sub-seccioacuten 12

AGds homogeacuteneos y heterogeacuteneos Existen distintos escenarios en los que se pueden definir y aplicar AGds con esquemas poblaciones homogeacuteneos y heterogeacuteneos es decir combinaciones de poblaciones centralizadas y descentralizadas A nivel algoriacutetmico se puede definir la misma o una diferente configuracioacuten de operadores geneacuteticos A partir de esas configuraciones distintas diferentes configuraciones de paraacutemetros se pueden determinar para ejecutar la buacutesqueda en cada sub-poblacioacuten Por ejemplo distintas definiciones del operador de recombinacioacuten o bien de las probabilidades de mutacioacuten pueden operar sobre los individuos de cada sub-poblacioacuten La comunidad en el aacuterea ha incluso explorado escenarios donde las soluciones se representan de manera distinta entre sub-poblaciones Por otro lado a nivel de implementacioacuten se han explorado esquemas con sub-poblaciones heterogeacuteneas Por ejemplo Alba et al realizoacute un estudio en distintas plataformas de coacutemputo ejecutando sub-poblaciones en panmixia y celulares

Como se puede apreciar el desarrollo de un esquema de AG paralelos ya sean distribuidos o descentralizados conlleva la definicioacuten de un nuacutemero de paraacutemetros que afectaraacute de manera importante su desempentildeo algoriacutetmico Otro ejemplo es la solucioacuten de problemas de optimizacioacuten en espacios continuos que se han abordado a traveacutes de un esquema de AGP utilizando una versioacuten mejorada con cromosomas codificados con nuacutemeros reales Para esto se

definioacute una topologiacutea doble con un hipercubo que se comparoacute con una topologiacutea sencilla Las sub-poblaciones ubicadas en sus veacutertices promoviacutean mayor o menor exploracioacuten u explotacioacuten de las regiones viacutea la configuracioacuten de los operadores geneacuteticos La migracioacuten entre las sub-poblaciones afectoacute directamente los tiempos de ejecucioacuten por medio de la reduccioacuten del nuacutemero de evaluaciones La capacidad de buacutesqueda de la topologiacutea doble superoacute a la de la topologiacutea sencilla

Cuando pensamos en paralelizar alguna teacutecnica algoriacutetmica nos viene a la mente acelerar los procesos de ejecucioacuten Sin embargo la paralelizacioacuten de los algoritmos evolutivos podriacutea mejorar tanto los procesos de buacutesqueda algoriacutetmica como los tiempos de ejecucioacuten Es asiacute que a nivel de implementacioacuten se utilizado coacutemputo heterogeacuteneo para la evaluacioacuten de esquemas de AGPs Por ejemplo Alba et al propusieron utilizar una plataforma heterogeacutenea en la cual distintos sistemas operativos con distintas restricciones de ejecucioacuten implementaban un modelo de AGPs distribuidos Las sub-poblaciones se conectaron en un arreglo de anillo unidireccional cada sub-poblacioacuten ejecutaba un modelo poblacional de estado estable A cada generacioacuten se produciacutea un individuo que reemplazaba a la peor solucioacuten obtenida Se establecioacute un esquema de migracioacuten asiacutencrona que demostroacute mejores resultados ver 3 En general se observoacute un mejor desempentildeo de la ejecucioacuten del esquema paralelo en la plataforma heterogeacutenea en comparacioacuten con la homogeacutenea se redujo el nuacutemero de evaluaciones debido a la explotacioacuten de soluciones a distintas tasas de migracioacuten

AGP con topologiacutea poblacional de anillo unidireccional implementada en una plataforma de coacutemputo heterogeacutenea La migracioacuten entre sub-poblaciones es asiacutencrona y responde a una dinaacutemica de estado estable

Migracioacuten en AGPs Como se explicoacute anteriormente la incorporacioacuten de un nuevo operador llamado migracioacuten se hace latente en los esquemas paralelos de los AGs En los esquemas de grano grueso donde se tienen sub-poblaciones de grano fino y grueso evolucionando simultaacuteneamente la migracioacuten se debe considerar como un mecanismo que introduce nuevos individuos y por lo tanto promueve o restaura la diversidad entre sub-poblaciones De forma distinta en los AGs celulares o de grano fino un mecanismo de migracioacuten impliacutecito trabaja durante el proceso de buacutesqueda debido al traslape de vecindarios que permite la difusioacuten de soluciones a lo largo y ancho de la topologiacutea definida para la poblacioacuten Este mecanismo de migracioacuten es inherente a la estructura de los AGs celulares y no requiere de un paraacutemetro de frecuencia o tasa de migracioacuten o ninguacuten otro mecanismo de seleccioacuten y reemplazo

Revisaremos ahora evaluaciones empiacutericas que se han realizado a criterios de migracioacuten definidos para AGPs de grano grueso Aunque estos criterios son definidos para este tipo de esquemas paralelos tambieacuten es posible aplicar un segundo criterio migratorio en AGs celulares ademaacutes del mecanismo natural inherente a estos

Para establecer un criterio de migracioacuten adecuado y mejorar el desempentildeo algoriacutetmico de los AGPs de grano grueso se examinaron los casos liacutemite para aplicar el proceso de migracioacuten Se

sugiere mantener un cierto nivel de aislamiento entre las sub-poblaciones Si la sub-poblacioacuten evoluciona en completo aislamiento las mejoras en diversidad son miacutenimas y por ende la capacidad de buacutesqueda se ve reducida Por otro lado si se aplica el operador de migracioacuten con una frecuencia maacutexima el costo computacional se incrementa de manera significativa Por lo tanto el objetivo de la migracioacuten es evitar el aislamiento entre sub-poblaciones mientras se mantiene un nivel aceptable de comunicacioacuten entre eacutestas

Es posible calcular experimentalmente el nuacutemero adecuado de unidades de procesamiento para minimizar el tiempo de ejecucioacuten de un esquema de AGPs El anaacutelisis considera casos liacutemite en teacuterminos de conectividad entre sub-poblaciones es decir el caso de tener frecuencias de migracioacuten miacutenimas y maacuteximas La conclusioacuten teoacuterica para una poblacioacuten indica que el nuacutemero

oacuteptimo de unidades de procesamiento estaacute dado por donde es el tamantildeo de la

poblacioacuten es el tiempo de coacutemputo de la funcioacuten objetivo de un individuo y es el tiempo promedio de comunicacioacuten para una unidad de procesamiento Esto quiere decir que dividiendo una poblacioacuten en sub-poblaciones distribuidas en muacuteltiples unidades de procesamiento reduce el tiempo global de ejecucioacuten La misma conclusioacuten se logroacute para un esquema de muacuteltiples poblaciones considerando ademaacutes la evaluacioacuten de funciones objetivo separables Esto quiere decir que utilizar un nuacutemero de unidades de procesamiento en un esquema evolutivo paralelo tiene un impacto positivo en la reduccioacuten de los tiempos de ejecucioacuten

Es tambieacuten importante analizar el efecto de los criterios de migracioacuten que se utilizan en esquemas de AGPs de grano grueso El objetivo principal es determinar coacutemo el operador de migracioacuten afecta la presioacuten de seleccioacuten inducida e impliacutecitamente poder explicar las aceleraciones super-lineales que se pueden modelar para este tipo de esquemas La forma en que los individuos se seleccionan para migracioacuten y reemplazo tienen un efecto considerable en la presioacuten de seleccioacuten y se ha observado que tasas altas de migracioacuten producen un incremento en eacutesta Tener una presioacuten de seleccioacuten alta afecta la buacutesqueda al producir una convergencia prematura a un oacuteptimo local

Aunque la operacioacuten de migracioacuten se ha investigado principalmente para esquemas de AGPs de grano grueso tambieacuten se ha revisado su efecto en AGPs de grano fino considerando tanto el mecanismo de migracioacuten impliacutecita viacutea el traslape de vecindarios como la definicioacuten de criterios para migracioacuten de individuos desde y hacia distintas posiciones de la topologiacutea de malla definida para la poblacioacuten Por ejemplo se han utilizado estructuras de aacuterboles binarios para dividir una topologiacutea de malla de dos dimensiones en formaciones conceacutentricas de individuos definiendo para cada formacioacuten criterios de migracioacuten distintos El intercambio de individuos entre estas

OnTf

Tcn

Tf Tc

formaciones definidas por su estructura alenta el proceso de buacutesqueda permitiendo una mayor exploracioacuten Los resultados mostraron un mejor desempentildeo en la solucioacuten de problemas de optimizacioacuten con restricciones el operador de mutacioacuten se aplica para evitar la presencia de super individuos que pueden dirigir la buacutesqueda al estancamiento conquistando la topologiacutea de malla mucho maacutes raacutepido En la siguiente seccioacuten se abordaraacute el comportamiento de los AG celulares o de grano fino

AGs celulares o de grano fino Los AGs celulares o de grano fino se construyen a partir de poblaciones descentralizadas donde los individuos interactuacutean con otros individuos ubicados dentro de un vecindario definido Es decir interactuacutean con los vecinos maacutes cercanos Usualmente los AGCs se implementan en topologiacuteas de mallas de -dimensionales manteniendo conexiones toroidales entre los cruces de malla utilizando formas comunes como una malla lineal cuadrada o rectangular

El procesamiento de los AG celulares corresponde al de los Autoacutematas Celulares (ACs) Estos determinan una regla global que define un comportamiento especiacutefico que se construye a partir de reglas locales Se han explorado ACs de una dos y tres dimensiones en combinacioacuten con AGs con la finalidad de evolucionar el comportamiento global requerido Esta combinacioacuten de un AC y un AG originoacute el nombre de AG celular con la diferencia de tener una representacioacuten maacutes elaborada en cada cruce de la malla cromosomas Se observoacute que la informacioacuten de las reglas locales o individuos alcanzaba distancias lejanas dentro de la malla definida esto debido al traslape de los vecindarios De esta forma se determinoacute que la informacioacuten se mueve entre vecindarios permitiendo acelerar el proceso de crear nuevos comportamientos ad-hoc al problema que se esteacute solucionando y con una peacuterdida miacutenima de informacioacuten

El pseudocoacutedigo [algCellularGeneticAlgorithmPseudocode] es el estaacutendar de un AG celular En un primer paso se genera una poblacioacuten inicial de forma aleatoria ubicando cada individuo en un cruce de la topologiacutea de malla Esta poblacioacuten inicial se evaluacutea de acuerdo a la funcioacuten objetivo del problema a resolver Posteriormente da inicio el ciclo reproductivo principal Se define un vecindario local con individuos ubicados de forma cercana A partir de eacutestos y del individuo ubicado en el cruce de la malla se seleccionan a los padres para reproducirse Existen distintos meacutetodos de seleccioacuten que se utilizan en los AG celulares Se pueden utilizar los que comuacutenmente se aplican en los AGs con poblaciones centralizadas como el torneo binario ruleta o seleccioacuten determinista Existen tambieacuten otros meacutetodos especiacuteficos a los AG celulares como son la seleccioacuten ceacutentrica o anisotroacutepica Una vez seleccionados los padres se recombinan y los hijos se mutan No hay diferencia entre la aplicacioacuten de los operadores de recombinacioacuten y mutacioacuten con respecto a los AG tradicionales

n

Debido a la descentralizacioacuten de la poblacioacuten el reemplazo de eacutesta puede ocurrir de forma siacutencrona o asiacutencrona El reemplazo asiacutencrono requiere del almacenaje temporal de la poblacioacuten hasta que todos los individuos concluyen su ciclo reproductivo El reemplazo siacutencrono requiere de la definicioacuten del criterio para implementarla Los distintos criterios que se han utilizado para el reemplazo se explicaraacuten en la sub-seccioacuten 24

poblacioacuten inicial evaluacioacuten seleccioacuten de padres vecinario L5 recombinacioacuten mutacioacuten evaluacioacuten reemplazo

Explotacioacutenexploracioacuten por propiedades estructurales Debido a la descentralizacioacuten de la poblacioacuten y la definicioacuten de una topologiacutea de malla las caracteriacutesticas estructurales de los AG celulares tienen un impacto importante en los procesos de buacutesqueda La forma y la dimensioacuten de la topologiacutea el nuacutemero de individuos dentro del vecindario entre otras son caracteriacutesticas de la estructura que necesitan definirse Ademaacutes otras operaciones durante el ciclo evolutivo como el proceso de seleccioacuten local el reemplazo de individuos criterios de migracioacuten entre otras estaacuten tambieacuten asociadas a estas caracteriacutesticas de estructura

La topologiacutea de malla que es comuacutenmente utilizada en los AG celulares se muestra en la figura 2 Se ha reportado que distintas formas de malla en combinacioacuten con distintos tipos de vecindarios inducen una mayor o menor presioacuten de seleccioacuten Para modelar el efecto de ambas estructuras se utiliza un patroacuten de dispersioacuten con puntos (la posicioacuten de cada solucioacuten en la malla) a partir de una posicioacuten central con coordenadas Se calcula la medida de dispersioacuten debido a que otras medidas como el radio de una circunferencia indicariacutea el mismo valor para topologiacuteas distintas La relacioacuten entre el vecindario y la topologiacutea o radii se calcula de la siguiente forma

donde y La razoacuten o radii entre el vecindario y la topologiacutea de

malla estaacute dada por

(x) larr random(x0) (f ) larr evaluat ion(x)(f1 f2) larr seleccion(f fN fE fS fW)(x1 x2) larr seleccion(x xN xE xS xW) (x prime1 x prime2 ) larr recombinacion(x prime1 x prime 2 )

(x1Prime x2Prime) larr mutacion(x prime1 x prime2 ) (fnew) larr evaluacion(x1Prime x2Prime)(f x) larr reemplazo(fnew xnew)

p(x0 y0)

D =sum (xi minus x)2 + sum (yi minus y)2

p

(x ) =sump

i=1 xi

p (y) =sump

i=1 yi

p

Esta medida se conoce como la razoacuten vecindario-malla (RVM) Formas y tamantildeos diferentes de vecindarios y topologiacuteas proporcionan una medida distinta de RVM ver figura 4

Ejemplos de formas de vecindarios y topologiacuteas de malla

NGR =Dvecindario

Dmalla

Razoacuten vecindario-malla para diferentes topologiacuteas de malla y tamantildeos de poblacioacuten con un vecindario L5

[figL5_variableLattice]

Una topologiacutea de malla cuadrada con un vecindario es una configuracioacuten comuacutenmente utilizada en la implementacioacuten de AG celulares En la figura [figL5_variableLattice] la razoacuten vecindario-malla se ilustra para distintos tamantildeos de poblacioacuten con vecindario Tres formas de malla se evaluacutean cuadrada rectangular y lineal Las curvas de la RVM muestran razones altas para mallas cuadradas y razones bajas para topologiacuteas lineales La RVM se asocia a la presioacuten de seleccioacuten inducida en AG celulares debido a sus caracteriacutesticas estructurales Para comprender esto de mejor manera otro concepto importante es necesario el nuacutemero de generaciones que toma al mejor individuo de una poblacioacuten inicial esparcir su solucioacuten en todas las direcciones de la topologiacutea de malla es decir conquistarla a partir de aplicar uacutenicamente el operador de seleccioacuten Un nuacutemero de generaciones alto indica una baja presioacuten de seleccioacuten es decir una buacutesqueda principalmente explorativa Por el contrario un nuacutemero de reducido de generaciones implica una alta presioacuten de seleccioacuten y por tanto una buacutesqueda orientada a la explotacioacuten del espacio de buacutesqueda

L5

L5

Los AG celulares son teacutecnicas flexibles con un nuacutemero de paraacutemetros que pueden configurarse Por ejemplo es posible pensar en modificar en tiempo de buacutesqueda las topologiacuteas de malla tamantildeos y formas de vecindarios como una forma de control de la presioacuten de seleccioacuten inducida Las modificaciones de la configuracioacuten pueden realizarse de manera constante definiendo un nuacutemero de generaciones o bien de forma adaptativa midiendo generacioacuten a generacioacuten el comportamiento por ejemplo de la diversidad en el espacio de fenotipos y genotipos modificando entonces las configuraciones de estructura de manera que se promueva la exploracioacuten o la explotacioacuten del espacio de buacutesqueda

Presioacuten de seleccioacuten por caracteriacutesticas estructurales

El matemaacutetico belga Pierre Verhulst en el siglo XIX estudioacute modelos logiacutesticos de crecimiento para describir sistemas bioloacutegicos bajo condiciones de recursos limitados Considerando una poblacioacuten en panmixia de cierto tamantildeo y un nuacutemero de copias del mejor individuo en un tiempo discreto dado por la tasa de crecimiento se expresa a traveacutes del siguiente modelo de recurrencia discreto

$$beginaligned

N left( 0 right) = 1 quad quad quad quad quad quad quad quad quad quad quad quad notag

N left( t right) = N left( t - 1 right) + p_s tamPob N left(t-1right) left(1 - left(frac1tamPobright) N left(t-1right)right)endaligned$$

donde es la probabilidad de seleccioacuten de un individuo y se puede aproximar por la ecuacioacuten logiacutestica continua

donde es la probabilidad Aunque se obtienen curvas de crecimiento similares el comportamiento en poblaciones estructuradas o descentralizadas no es exponencial sino polinomial como fue sugerido por Spiessen y Manderick in De este modo las caracteriacutesticas estructurales necesitan considerarse en el modelo matemaacutetico de la tasa de crecimiento para AG celulares Si se evaluacutea un caso liacutemite donde el mejor individuo dentro del vecindario se selecciona siempre para reemplazar al individuo actual o central (al vecindario) es decir

tamPobt N(t)

ps N(t)

N(t) =tamPob

1 + ( tamPobN(0) minus 1)eminusαt

α ps

ps = 1

y se define un tamantildeo de poblacioacuten donde determina una topologiacutea de malla cuadrada y un vecindario local con radio La tasa de crecimiento del mejor individuo estaacute dada por

$$beginaligned

N left( 0 right) = 1 quad quad quad quad quad quad quad quad quad quad quad quad notag

N left( t right) = N left( t-1 right) + 4r^2t - 2rleft( r+1 right) quad 0 leq t leq fracleft(sqrttamPob-1right)2

N left( t right) = N left( t-1 right) - 4r^2t + 4r sqrttamPob - 2rleft(r+1right) quad t geq fracleft(sqrttamPob-1right)2 notagendaligned$$

que en su forma cerrada queda como

$$beginaligned

N left( t right) = 2r^2t^2 + 2r left(2r + 1 right)t + 1 quad 0 leq t leq fracleft(sqrttamPob-1right)2

N left( t right) = -2r^2t^2 + 2rleft(2sqrttamPob - 3r - 1 right)t + 1 quad t geq fracleft(sqrttamPob-1right)2 notagendaligned$$

En la figura 5 se ilustra la razoacuten de crecimiento para una poblacioacuten de individuos con un vecindario local tipo ver figura 4

Tasa de crecimiento teoacuterica en una topologiacutea de malla toroidal cuadrada y un vecindario local tipo Moore con probabilidad de seleccioacuten

Si se considera la probabilidad variable y cada individuo tiene probabilidades de seleccioacuten distintas probabilidad para el individuo central y para cada individuo dentro de un vecindario tipo El modelado de la recurrencia exacta se vuelve muy complicado Para poder construir un modelo completo se recurre a modelos maacutes simples en donde la tasa de crecimiento se describe como la expansioacuten de un cuadrado rotado con una

tamPob tamPob times tamPobr

81C9

ps = 1

psp0 p1 p2 p3 p4 p8

C9

longitud por lado de y diagonal La tasa de crecimiento de los

individuos con probabilidad variable contenidos dentro del cuadrado rotado estaacute dada por la siguiente recurrencia

$$beginaligned

N left( 0 right) = 1 quad quad quad quad quad quad quad quad quad quad quad quad notag

N left( t right) = N left( t-1 right) + 4p_i sqrtfracNleft(t-1right)2 quad N left( t right) leq fractamPob2

N left( t right) = N left( t-1 right) + 4p_i sqrttamPob - N left( t-1 right) quad N left( t right) gt fractamPob2 notagendaligned$$

Encontrar una forma cerrada de este modelo es una tarea complicada de acuerdo a autores reconocidos del aacuterea En la figura 6 se muestra la tasa de crecimiento probabilista como ejemplo de la dificultad que representa su modelado matemaacutetico

Tasa de crecimiento probabilista para una topologiacutea de malla toroidal cuadrada con vecindario local y probabilidad de seleccioacuten variable

Anaacutelisis empiacuterico

Es posible tener una aproximacioacuten empiacuterica del tiempo para el dominio de la topologiacutea de malla A continuacioacuten se presenta un ejemplo utilizando como meacutetodo de seleccioacuten local torneo binario y ejecuciones por configuracioacuten fueron evaluadas En la figura [figL5_growthRates] se muestran las distintas tasas de crecimiento para la conquista de la malla considerando un tamantildeo de la poblacioacuten de individuos con las siguientes formas de topologiacutea de malla 1)

cuadrada 2) rectangular y 3) lineal La diferencia entre los

tiempos de dominio es evidente Topologiacuteas de malla lineales proveen una difusioacuten maacutes lenta del

s = N(t) d =N(t)

2pi

ps

50

400

400 times 400 10 times40010

4 times400

4

mejor individuo para conquistar la malla y por ende menor presioacuten de seleccioacuten y un comportamiento principalmente explorativo Por otro lado en topologiacuteas de malla cuadradas la solucioacuten del mejor individuo conquista la malla raacutepidamente en un nuacutemero menor de generaciones Es decir tiene un comportamiento con alta presioacuten de seleccioacuten y por ende una buacutesqueda caracterizada por una mayor explotacioacuten del espacio de buacutesqueda Desde este punto de vista se ha investigado tambieacuten la posibilidad de modificacioacuten dinaacutemica de las propiedades estructurales en tiempo de buacutesqueda Se han reportado mejores desempentildeos algoriacutetmicos bajo estos criterios

Tasas de crecimiento promedio del mejor individuo en topologiacuteas de malla cuadrada rectangular y lineal con vecindario La tasa promedio de crecimiento se calcula con base en 50 experimentos y aplicando uacutenicamente el operador de seleccioacuten

[figL5_growthRates]

Aceleracioacuten en AGP Un tema controversial en AGPs son las aceleraciones que esquemas distribuidos y celulares pueden alcanzar El caacutelculo teoacuterico de estas aceleraciones es una medida aceptada para determinar su eficiencia Calcular la razoacuten entre el tiempo promedio de ejecucioacuten de la mejor versioacuten secuencial de un AG y otra teacutecnica de buacutesqueda no evolutiva con respecto al tiempo

L5

promedio de ejecucioacuten de un AG paralelo corriendo en un determinado nuacutemero de procesadores proporciona la aceleracioacuten alcanzada por este uacuteltimo Aceleraciones sub-lineales indican que esta razoacuten es menor que el nuacutemero de procesadores utilizados en la ejecucioacuten del AGP Aceleraciones lineales indican que esta relacioacuten es igual mientras aceleraciones super-lineales indican que la razoacuten es mayor que el nuacutemero de procesadores utilizados

Un medida estricta para medir las aceleraciones de los AGPs involucrariacutea una comparacioacuten con la mejor versioacuten secuencial de un AG lo cual es difiacutecil de determinar Considerar el desempentildeo de un AG secuencial como referencia en conjunto con una condicioacuten de paro que evaluacutee la misma calidad de soluciones en todas las muestras experimentales podriacutea permitir una comparacioacuten justa en teacuterminos de aceleracioacuten entre esquemas paralelos y secuenciales

Los AGPs tienen tres caracteriacutesticas que permiten su aceleracioacuten 1) dividir el espacio de buacutesqueda en diversas aacutereas de exploracioacuten implementadas en distintas unidades de procesamiento 2) reducir la carga de procesamiento por medio de la distribucioacuten de la poblacioacuten en un nuacutemero de unidades de procesamiento y 3) operadores geneacuteticos aplicados a estructuras de datos reducidas

Al analizar comparativamente las tasas de aceleracioacuten de los AG distribuidos con sub-poblaciones en panmixia en comparacioacuten con el desempentildeo de un AG secuencial las aceleraciones calculadas resultan excesivas Sin embargo cuando se considera la distribucioacuten de las sub-poblaciones en un nuacutemero de unidades de procesamiento las tasas de aceleracioacuten son moderadas

Una de las caracteriacutesticas maacutes importantes en los AGPs es el operador de migracioacuten Analizar el comportamiento de este operador bajo distintos criterios como la sincroniacutea o asincroniacutea de migrar individuos entre las sub-poblaciones afecta directamente el desempentildeo de la buacutesqueda Entre los comportamientos con importancia significativa se ha observado que utilizar bajas frecuencias de migracioacuten en combinacioacuten con una comunicacioacuten asiacutencrona entre sub-poblaciones permite una mayor aceleracioacuten Este resultado considera sub-poblaciones en panmixia con la misma configuracioacuten de paraacutemetros

Concepto de sincronismo en AGPs En los AGPs tanto distribuidos como celulares el concepto de sincroniacutea aplica de forma distinta En un AGP distribuido el operador de migracioacuten estaacute directamente relacionado con la comunicacioacuten entre sub-poblaciones y por ende la sincroniacutea con que eacutesta ocurre Por otro lado en AGP de grano fino o celulares la sincroniacutea estaacute relacionada con la actualizacioacuten de soluciones durante el proceso evolutivo Esto se explica a continuacioacuten a mayor detalle

En AGPs distribuidos viacutea migracioacuten

Varios autores han investigado el efecto del sincronismo a traveacutes de la migracioacuten de individuos entre sub-poblaciones Se han considerado varios escenarios tales como tener un conjunto de sub-poblaciones en panmixia y tener sub-poblaciones descentralizadas un tercer escenario que se ha considerado es tener una combinacioacuten de sub-poblaciones en panmixia y descentralizadas Los tres esquemas han sido evaluados no soacutelo a nivel algoriacutetmico sino de implementacioacuten en plataformas de coacutemputo para procesamiento paralelo

Utilizando un esquema de procesamiento de instrucciones muacuteltiples - datos muacuteltiples con un esquema homogeacuteneo de sub-poblaciones se verificoacute el comportamiento de distintas frecuencias de migracioacuten definidas como muacuteltiplos del tamantildeo de la poblacioacuten Esto representa que la migracioacuten es nula cuando la frecuencia es cero lo que implica que la evolucioacuten es independiente de las sub-poblaciones Localmente los operadores geneacuteticos fueron configurados de la misma forma En general los resultados mostraron un mejor desempentildeo cuando la comunicacioacuten entre sub-poblaciones es asiacutencrona y la frecuencia de migracioacuten es baja En este sentido el tener sub-poblaciones descentralizadas permite una mejor eficacia que cuando se tienen sub-poblaciones en panmixia Las tasas de aceleracioacuten tambieacuten se analizaron Bajas frecuencias de migracioacuten reportaron aceleraciones lineales para sub-poblaciones descentralizadas y super-lineales para sub-poblaciones en panmixia

Se ha podido verificar el funcionamiento de los AGPs ampliando la gama de problemas de prueba a aquellos del dominio continuo El uso de un esquema paralelo distribuido con sub-poblaciones en panmixia y un ciclo evolutivo de estado estable donde solamente una solucioacuten se actualiza en cada generacioacuten logroacute obtener soluciones de mejor calidad Ademaacutes de la influencia de la frecuencia con la que se ejecuta la operacioacuten de migracioacuten la seleccioacuten aleatoria de individuos migrantes demostroacute tambieacuten un mejor desempentildeo que la seleccioacuten de los mejores individuos para migrar El mejor desempentildeo continuacutea siendo a partir de la aplicacioacuten de frecuencias de migracioacuten bajas ahora en combinacioacuten con la seleccioacuten aleatoria de soluciones para migrar En problemas de optimizacioacuten en el dominio continuo con oacuteptimos locales engantildeosos en sus espacios de buacutesqueda los esquemas de sub-poblaciones descentralizadas superaron el desempentildeo de aquellos con sub-poblaciones en panmixia ademaacutes de responder mejor a frecuencias de migracioacuten altas Las tasas de aceleracioacuten tambieacuten se relacionan con la operacioacuten de la migracioacuten a frecuencias de migracioacuten alta se obtienen mayores tasas de aceleracioacuten en ambos esquemas poblacionales

Es posible tambieacuten considerar un esquema de AGPs con sub-poblaciones tanto en panmixia como descentralizadas utilizando un esquema de coacutemputo heterogeacuteneo distribuido Las tasas de

aceleracioacuten que se alcanzan en estos caso son super-lineales viacutea el esquema sub-poblacional mixto

En AGP celulares viacutea criterios de actualizacioacuten

En los AGPs de grano fino o celulares el concepto de sincronismo se asocia a los criterios de actualizacioacuten de las soluciones Se consideran diversos escenarios como son 1) barrido liacutenea a liacutenea 2) barrido fijo aleatorio 3) barrido aleatorio 4) seleccioacuten uniforme Cada unos de estos criterios de actualizacioacuten de soluciones se puede ejecutar de manera siacutencrona o asiacutencrona La actualizacioacuten siacutencrona se refiere a que la poblacioacuten completa se genera a partir de los individuos actuales En contraste la actualizacioacuten asiacutencrona quiere decir que los individuos se actualizan despueacutes de su proceso evolutivo a nivel local entonces los individuos en una generacioacuten han evolucionado de hijos generados durante esta

El barrido liacutenea a liacutenea es la forma maacutes sencilla de actualizar soluciones en una topologiacutea de malla con conexioacuten toroidal Haciendo el barrido secuencial de ubicacioacuten de las soluciones por liacutenea o por columna se ejecuta la actualizacioacuten de estas El barrido aleatorio fijo consiste en elegir de forma aleatoria una solucioacuten sin reemplazo con una probabilidad uniforme En cada generacioacuten se determina una distribucioacuten diferente para la actualizacioacuten de los individuos La actualizacioacuten uniforme elige de forma aleatoria con una probabilidad uniforme una solucioacuten con reemplazo Esto quiere decir que una solucioacuten puede ser actualizada maacutes de una vez en un mismo ciclo reproductivo

Tambieacuten se ha buscado modelar formalmente el comportamiento de los distintos criterios de actualizacioacuten de soluciones considerando ambos criterios de sincronismo Los criterios siacutencronos de actualizacioacuten presentan menores tasas de crecimiento de la mejor solucioacuten en la topologiacutea de malla Es decir la buacutesqueda se ejecuta promoviendo la exploracioacuten cuando se sigue un criterio de actualizacioacuten uniforme Aplicar un barrido aleatorio o lineal para la actualizacioacuten de soluciones representa tasas maacutes altas de crecimiento pero no alcanza a aquellas de las poblaciones en panmixia La principal caracteriacutestica que se aprecia es que las poblaciones en panmixia promueven la explotacioacuten del espacio de buacutesqueda en mayor grado que los AGPs descentralizados o celulares

Finalmente se puede concluir despueacutes de la evaluacioacuten de los criterios siacutencronos y asiacutencronos en una variedad de problemas de optimizacioacuten combinatorios y del dominio continuo que la actualizacioacuten asiacutencrona de soluciones mejora el desempentildeo algoriacutetmico en teacuterminos de eficiencia y eficacia en comparacioacuten con el criterio asiacutencrono en teacuterminos del nuacutemero de generaciones necesarias para converger a la solucioacuten del problema

Discusioacuten En este capiacutetulo se presentaron los distintos esquemas poblaciones que se consideran en la paralelizacioacuten de los AGs Se introdujo el principal operador que distingue a estos esquemas evolutivos el operador de migracioacuten y su efecto en los procesos de buacutesqueda Tambieacuten se introdujeron de manera detallada los esquemas paralelos de AGs de grano fino o celulares y la manera en que las caracteriacutesticas estructurales de estos pueden afectar directamente la exploracioacuten y explotacioacuten del espacio de buacutesqueda Se abordoacute tambieacuten el tema de las aceleraciones que se pueden alcanzar viacutea la paralelizacioacuten de grano fino y grueso de los AGPs Este anaacutelisis incluye los escenarios teoacutericos y reales de las tasas de aceleracioacuten que se pueden alcanzar Finalmente se revisoacute el concepto de sincronismo en ambos esquemas de paralelizacioacuten el cual se observoacute que afecta de manera positiva el desempentildeo algoriacutetmico

Los esquemas paralelos de los algoritmos geneacuteticos permiten obtener un mejor desempentildeo de los procesos de buacutesqueda Sin embargo se debe considerar una serie de paraacutemetros que se necesitan definir y que requeriraacuten la intervencioacuten de un usuario Es importante destacar tambieacuten que la mejora en el desempentildeo se puede apreciar tanto a nivel algoriacutetmico como a nivel de procesamiento Es necesario tambieacuten indicar que la seleccioacuten de la plataforma de coacutemputo paralelo ya sea distribuida o no implicaraacute costos de comunicacioacuten que deben ser considerados para las tasas de aceleracioacuten que se pretendan alcanzar

Investigacioacuten de AGPs en Meacutexico En Meacutexico investigadoras e investigadores en distintas instituciones y centros de investigacioacuten se han dado a la tarea de explorar esquemas evolutivos que utilizan AGPs Por ejemplo esquemas de AGPs de grano fino para solucionar problemas de optimizacioacuten mono-objetivo sin restricciones y problemas combinatorios han sido desarrollados en El objetivo en esos trabajos es el estudio del efecto de las caracteriacutesticas estructurales en las topologiacuteas de poblacioacuten descentralizadas utilizando mallas conectadas de forma toroidal Distintos criterios fueron definidos para modificar en tiempo de buacutesqueda la forma de la topologiacutea y sin incrementar el costo computacional verificar la mejora del desempentildeo algoriacutetmico al evaluar una cama prueba con problemas mono-objetivo sin restricciones y combinatorios Los resultados obtenidos fueron alentadores y a partir de estos se extendioacute el estudio de las propiedades estructurales a manipular tambieacuten la dimensioacuten de la topologiacutea de malla y modificarla en tiempo de buacutesqueda resultados positivos de este estudio fueron reportados en

Debido al costo computacional de los AGs en general la aceleracioacuten de estos utilizando plataformas de coacutemputo especializadas ha sido un aacuterea de investigacioacuten tambieacuten desarrollada en Meacutexico Particularmente el disentildeo e implementacioacuten de un arreglo de procesadores flexible para

la aceleracioacuten de los AGs celulares utilizando dispositivos reconfigurables conocidos como arreglos de compuertas programables en el campo (FPGAs por sus siglas en Ingleacutes) se reportoacute en Este trabajo presenta una forma novedosa de dividir a la poblacioacuten descentralizada en un nuacutemero determinado de unidades de procesamiento especialmente disentildeadas para operadores evolutivos manteniendo las conexiones toroidales entre soluciones La flexibilidad del disentildeo consiste en poder definir de acuerdo a las necesidades de usuario el nuacutemero de unidades de procesamiento De este modo un nuacutemero mayor de unidades de procesamiento permitiraacute acelerar la ejecucioacuten del algoritmo y un nuacutemero menor de estas permitiraacute reducir el uso de recursos de hardware

En el aacutembito de la optimizacioacuten multi-objetivo desde la perspectiva del coacutemputo evolutivo utilizando esquemas poblacionales paralelos investigadores en Meacutexico han desarrollado un esquema con base en algoritmos geneacuteticos utilizando muacuteltiples resoluciones La propuesta algoriacutetmica llamada Algoritmo geneacutetico multi-objetivo con resolucioacuten muacuteltiple (MRMOGA por sus siglas en Ingleacutes) consiste de un conjunto de sub-poblaciones las cuales a nivel representacioacuten de soluciones evolucionan con resoluciones distintas lo cual implica la divisioacuten del espacio de buacutesqueda en regiones acotadas y traslapadas El desempentildeo alcanzado por MRMOGA supera los resultados reportados en esquemas evolutivos paralelos en teacuterminos de convergencia y evidencia la necesidad de profundizar el estudio de la escalabilidad de esquemas evolutivos paralelos

Para saber maacutes Dentro de la comunidad cientiacutefica dedicada a la investigacioacuten en las aacutereas de las teacutecnicas algoriacutetmicas evolutivas que desarrollan el concepto de paralelismo se han generado recursos bibliograacuteficos diversos de entre los cuales destacan

bull Algoritmos geneacuteticos paralelos por Gabriel Luque y Enrique Alba

bull Algoritmos evolutivos estructurados espacialmente por Marco Tomassini

bull Algoritmos geneacuteticos celulares por Bernabeacute Dorronsoro y Enrique Alba

bull Algoritmos geneacuteticos paralelos eficientes y precisos por Erick Cantuacute-Paz

Por otro lado entre los grupos de investigacioacuten que se desarrollan en el aacuterea destaca el liderado por el investigador Enrique Alba de la Universidad de Maacutelaga en Espantildea quien en colaboracioacuten con otros investigadores y estudiantes a puesto a disposicioacuten una serie de recursos relacionados en En particular en la seccioacuten de software se encuentran disponibles herramientas para el

disentildeo e implementacioacuten de algoritmos evolutivos paralelos tanto de grano grueso como de grano fino

Programacioacuten Geneacutetica Mario Graff

Daniela Moctezuma

Eric S Tellez

Sabino Miranda-Jimeacutenez

INFOTEC Centro de Investigacioacuten e Innovacioacuten en Tecnologiacuteas de la Informacioacuten y Comunicacioacuten Circuito Tecnopolo Sur No 112 Fracc Tecnopolo Pocitos II Aguascalientes

20313 Meacutexico CentroGEO Centro de Investigacioacuten en Ciencias de Informacioacuten Geoespacial Circuito

Tecnopolo Norte No 117 Col Tecnopolo Pocitos II CP Aguascalientes Ags 20313 Meacutexico CONACyT Consejo Nacional de Ciencia y Tecnologiacutea Direccioacuten de Caacutetedras Insurgentes Sur

1582 Creacutedito Constructor Ciudad de Meacutexico 03940 Meacutexico

Introduccioacuten En este capiacutetulo se presenta una introduccioacuten a Programacioacuten Geneacutetica (PG) asiacute como la descripcioacuten de cada uno de los aspectos que la comprenden las perspectivas de este campo y las aacutereas donde se ha aplicado en Meacutexico PG es un algoritmo de buacutesqueda inspirado en los principios de la evolucioacuten de las especies de Charles Darwin (ver ) Particularmente PG engloba a un conjunto de teacutecnicas de coacutemputo evolutivo las cuales tienen como objetivo solucionar automaacuteticamente problemas partiendo de ejemplos del problema por resolver a traveacutes de expresiones evaluables o programas

La Programacioacuten Geneacutetica ha sido ampliamente utilizada en diferentes dominios siendo capaz de resolver una gran variedad de problemas de alta complejidad muchas veces mejorando las soluciones encontradas por humanos Por ejemplo en la competencia ndashldquoHumies rdquo celebrada 2

anualmente en el marco de la Genetic and Evolutionary Computation Conference (GECCO) la cual premia sistemas bio-inspirados que mejoran las soluciones encontradas por humanos a problemas difiacuteciles mdashdesde 2004 y hasta 2017 PG ha sido galardonada con 8 medallas de oro 5 de plata y 1 de bronce En particular en esta competencia y utlizando PG Meacutexico ha obtenido

13

12

13

13

1

2

3

httpwwwhuman-competitiveorg2

una medalla de bronce En competencias de categorizacioacuten de texto se ha obtenido primer lugar en identificacioacuten de humor y en deteccioacuten de agresividad

En Meacutexico la PG ha sido estudiada y aplicada sobre una gran variedad de dominios empezando por aplicaciones tradicionales como el disentildeo de circuitos loacutegicos regresioacuten simboacutelica identificacioacuten de sistemas modelado de sistemas de manchas solares lluvia temperatura del agua turbinas de gas absorcioacuten de partiacuteculas medicioacuten de la capacidad de automovilistas para el manejo de vehiacuteculos sistemas caoacuteticos deteccioacuten de fallas en transformadores de potencia y modelado cualitativo de sistemas

La PG ha probado su efectividad con respecto a algoritmos tradicionales de aprendizaje de maacutequina en problemas como prediccioacuten de series de tiempo clasificacioacuten generacioacuten de ensambles de clasificadores generacioacuten de prototipos generacioacuten de heuriacutesticas navegacioacuten autoacutenoma generacioacuten de rejillas topograacuteficas y memorias asociativas En el aacuterea de procesamiento de lenguaje natural la PG ha sido utilizada para mejorar la representacioacuten del texto en un espacio vectorial aplicada a problemas de categorizacioacuten de texto en anaacutelisis de sentimientos intensidad de una emocioacuten identificacioacuten de humor y deteccioacuten de agresioacuten entre otras En al aacuterea de visioacuten computacional la PG ha servido para desarrollar nuevas representaciones siguiendo un enfoque de redes profundas representacioacuten de palabras visuales estimacioacuten de exponentes Houmllder en imaacutegenes deteccioacuten de puntos de intereacutes reconocimiento de objetos anaacutelisis de imaacutegenes hiper-espectrales y estimacioacuten de vegetacioacuten En el paiacutes tambieacuten se realiza investigacioacuten teoacuterico-praacutectica sobre la creacioacuten de modelos que permitan predecir su rendimiento como en meacutetodos de muestreo en la funcioacuten objetivo mejoras al algoritmo como en y control de coacutedigo superfluo El lector interesado en la teoriacutea de PG puede revisar los siguientes trabajos paradigmaacuteticos que son referentes indispensables sobre el tema

La idea detraacutes de la PG es evolucionar programas partiendo de una descripcioacuten de lo que debe hacer el programa Tradicionalmente esta descripcioacuten se realiza mediante un conjunto de pares de entrada-salida tal como se hariacutea con la descripcioacuten de una funcioacuten Esta descripcioacuten es similar a la usada en Aprendizaje Supervisado con la diferencia de que en PG no existen tipos definidos para las entradas y las salidas por otro lado en aprendizaje supervisado las entradas estaacuten en un espacio vectorial y su salida es un nuacutemero natural o real Utilizando esta descripcioacuten l a f u n c i o n a l i d a d d e u n p r o g r a m a s e d e f i n e c o m o e l c o n j u n t o donde representa la -eacutesima entrada y es su correspondiente salida En cierta forma la idea es encontrar un programa tal que aplicado a un conjunto de entradas se evaluacutee a las predicciones de tal forma que eacutestas se aproximen a los valores originales donde la similitud se mide por medio de una funcioacuten de aptitud Tal y como sucede en otros algoritmos de aprendizaje la efectividad de no estaraacute en aprender los datos de

119987 = (x0 y0) hellip (xi yi) hellip (xN yN) xi i yif

xi yiyi

f

entrenamiento sino en su capacidad de generalizar a entradas nunca antes vistas El procedimiento de aprendizaje y prediccioacuten se detallaraacute en el resto de este capiacutetulo

La PG comparte muchas similitudes con los Algoritmos Geneacuteticos (AG) De hecho se podriacutea decir que la PG es una generalizacioacuten del AG la diferencia radica en que la PG utiliza una representacioacuten variable para sus soluciones y el AG tiene una representacioacuten fija esta diferencia tiene varias implicaciones las cuales se veraacuten a detalle en el transcurso del capiacutetulo Por el momento veamos las similitudes que comparten ambos enfoques La PG es un algoritmo evolutivo poblacional es decir utiliza un conjunto de soluciones llamado poblacioacuten para hacer un muestreo del espacio de buacutesqueda La buacutesqueda es guiada mediante la seleccioacuten de individuos en la poblacioacuten y los operadores geneacuteticos como son la recombinacioacuten y la mutacioacuten se encargan de generar nuevos individuos es decir nuevos puntos en el espacio de buacutesqueda

El resto del capiacutetulo detalla un sistema de PG tiacutepico empezando por los tipos de evolucioacuten que pueden realizar (seccioacuten 2) la representacioacuten que se utiliza (seccioacuten 3) seguida por la creacioacuten de la poblacioacuten inicial (seccioacuten 4) los operadores que se utilizan para generar un individuo (seccioacuten 5) y finalmente las teacutecnica utilizada para hacer la seleccioacuten (seccioacuten 6)

Proceso evolutivo La evolucioacuten de la poblacioacuten de programas en la PG puede realizarse de dos maneras mediante una evolucioacuten generacional o mediante una evolucioacuten de estado estable Ambos tipos de evolucioacuten requieren una poblacioacuten inicial y la diferencia entre ellas radica en el uso de dicha poblacioacuten para generar individuos y la actualizacioacuten de la misma En la evolucioacuten generacional existen dos tipos de poblaciones la de los padres y la de los nuevos individuos La poblacioacuten de padres es utilizada para generar nuevos individuos y por lo general cuando la poblacioacuten de nuevos individuos tiene el mismo nuacutemero de elementos que la poblacioacuten de padres se procede a mezclar estas poblaciones para convertirse en la poblacioacuten de padres de la siguiente generacioacuten Por otro lado la evolucioacuten de estado estable no contempla esta diferencia entre poblacioacuten de padres y de nuevos individuos dado que el individuo generado reemplaza un individuo de la poblacioacuten actual

El algoritmo [alggeneracional] muestra el pseudocoacutedigo de la evolucioacuten generacional Como se habiacutea mencionado se requiere de una poblacioacuten inicial denominada la cual seraacute utilizada para generar individuos y seraacute actualizada mientras no se cumpla un establecido Lo primero que se observa en el algoritmo son dos ciclos anidados (liacuteneas 1 y 2) El primero itera hasta que se cumpla la condicioacuten de paro y el segundo se encarga de generar la poblacioacuten de hijos (liacutenea 3) Al final de este segundo ciclo se tienen dos poblaciones y

119979120226120267120258120269120254120267120258120264 120253120254 120239120250120267120264

119979h 119979

Estas dos poblaciones se combinan (liacutenea 5) para formar una nueva poblacioacuten utilizada en la siguiente generacioacuten La funcioacuten combina estas poblaciones y puede ser tan simple como seleccionar todo para reemplazar o pueden adoptarse estrategias maacutes complejas como remplazo con elitismo donde se realiza el remplazo pero se asegura que los mejores individuos de ambas poblaciones se preserven en la siguiente generacioacuten

[alggeneracional]

La evolucioacuten generacional es muy utilizada tanto en computacioacuten evolutiva como en PG Sin embargo hasta la fecha no existen ventajas teoacutericas para decidir utilizar un tipo de evolucioacuten sobre el otro Considerando lo anterior este capiacutetulo se enfocaraacute en el uso de evolucioacuten de estado estable debido a que su implementacioacuten es maacutes simple

El algoritmo [algestable] muestra el pseudocoacutedigo de una evolucioacuten de estado estable es utilizada para generar un individuo hijo mediante la aplicacioacuten de operadores geneacuteticos (linea 2) El hijo reemplaza (linea 4) a un elemento de que es seleccionado utilizando una seleccioacuten negativa es decir se selecciona un individuo con una aptitud baja (liacutenea 3) Este proceso continuacutea hasta que el criterio de paro es alcanzado Dicho criterio puede ser variado tal como alcanzar un nuacutemero maacuteximo de individuos generados convergencia de una funcioacuten de error encontrar una solucioacuten adecuada o suficiente entre otras opciones

hijo hijo

[algestable]

Representacioacuten Tomando en cuenta que el objetivo de PG es evolucionar programas es normal pensar que la PG evoluciona programas escritos en alguacuten lenguaje de programacioacuten pej Python utilizando un inteacuterprete o compilador y maacutequina que lo ejecute dependiendo del caso Aunque esto es factible y existen sistemas de PG que han seguido este camino no es lo maacutes comuacuten En este capiacutetulo seguimos una de las praacutecticas maacutes comunes popularizada en el libro de Koza la cual consiste en representar un programa utilizando un aacuterbol de expresioacuten Un aacuterbol de expresioacuten cuenta con tres nodos distintivos la raiacutez la cual es la salida de la expresioacuten los nodos internos y las hojas La funcioacuten de la raiacutez y los nodos internos es aplicar operaciones a sus hijos y las hojas

119979h 119979120236120254120275120252120261120250

119979h 119979

119979 119979h(i ) larr 120238120265120254120267120250120253120264120267120254120268 120230120254120263eacute120269120258120252120264120268(119979) 119979 larr 120236120254120275120252120261120250(119979 119979h) 119979

119979

119979

119979 larr 120238120265120254120267120250120253120264120267120254120268 120230120254120263eacute120269120258120252120264120268(119979) k larr 120242120254120261120254120252120252120258oacute120263 120237120254120256120250120269120258120271120250(119979) 119979(k) larr 119979

representan las entradas ya sean variables o constantes Un ejemplo de un aacuterbol de expresioacuten se muestra en la figura [figexpresion] donde la expresioacuten es representada en el aacuterbol

Los aacuterboles de expresiones se forman partiendo de dos conjuntos uno de terminales que contiene las variables constantes y funciones sin argumentos y otro de funciones que contiene las funciones u operadores que reciben argumentos Por ejemplo en una regresioacuten simboacutelica la cual consiste en encontrar la funcioacuten que maacutes se asemeja a una serie de puntos el conjunto de terminales podriacutea ser donde es la variable independiente y r epresen ta un nuacutemero a lea tor io y e l conjunto de func iones podr iacutea se r Continuando con este ejemplo se puede observar que la expresioacuten representada en la figura [figexpresion] pudo haber sido generada con los mencionados conjuntos de terminales y funciones

Una codificacioacuten simple de un aacuterbol de expresioacuten puede ser representado en un arreglo o una lista es decir un aacuterbol de expresioacuten puede estar codificado de manera lineal Esta codificacioacuten se logra recorriendo el aacuterbol a lo profundo Por ejemplo la expresioacuten representada en la figura [figexpresion] puede ser representada como Esta codificacioacuten seraacute la utilizada en este capiacutetulo para representar los aacuterboles de expresiones

Dado un aacuterbol de expresioacuten se requiere tener un procedimiento para su evaluacioacuten Dicho procedimiento se muestra en el algoritmo [algevaluacion] Evaluacioacuten el cual recibe como entrada un aacuterbol de expresioacuten representado en una estructura de datos lineal como un arreglo o lista La expresioacuten es codificada en donde es la i-eacutesima posicioacuten e es una variable global Evaluacioacuten es una funcioacuten recursiva donde la recursioacuten termina cuando es una constante o variable (ver liacuteneas 15-19) Cuando es una funcioacuten (vg ) liacutenea 1 se debe de conocer la cantidad de argumentos que requiere linea 3 y empieza la recursioacuten En caso de que requiera un argumento liacuteneas 4-7 se incrementa la posicioacuten en uno y se llama a Evaluacioacuten terminando con la evaluacioacuten de la funcioacuten en el valor regresado en la recursioacuten Para maacutes argumentos liacuteneas 9-14 se invoca Evaluacioacuten tantas veces como argumentos requiera la funcioacuten y el valor es guardado en una estructura que podriacutea ser un arreglo o lista La liacutenea 14 evaluacutea la funcioacuten vg en los argumentos Por ejemplo sea la suma entonces la liacutenea 14 realizariacutea

el valor de la variable la constante

[algevaluacion]

x + xsin(934x)

119983ℱ

119983 = x real x real

ℱ = + minus sdot sin cos

( + x x sin times 934 x)

x xi ixi

xi xi isin ℱ

ixi

w fxi w f w0 + w1

x i f larr xi d larr 120250120267120256120270120262120254120263120269120264120268( f ) i larr i + 1 w larr 120228120271120250120261120270120250120252120258oacute120263(x) f (w) w i larr i + 1wj larr 120228120271120250120261120270120250120252120258oacute120263(x) f (w) xi xi

Poblacioacuten inicial Una vez descrita la representacioacuten que tendraacuten los individuos dentro de la poblacioacuten por medio de aacuterboles de expresiones la codificacioacuten de eacutestos mediante una estructura de datos lineal y el pseudocoacutedigo para evaluar un individuo ya es posible describir el procedimiento para crear la poblacioacuten inicial

En PG existen dos procedimientos tradicionales para generar un individuo 1) generar un aacuterbol de expresiones balanceado (Full) o 2) generar un aacuterbol desbalanceado (Grow) ambos se definen con una altura maacutexima La definicioacuten de un aacuterbol balanceado es aquel donde los hijos de cualquier nodo tienen siempre la misma altura La figura [figtipos-de-arbol] muestra un aacuterbol balanceado y un aacuterbol no balanceado En la figura [figbalanceado] se observa coacutemo la definicioacuten de balanceo solo considera la altura sin importar el nuacutemero de nodos Por ejemplo la raiacutez tiene tres nodos en su hijo izquierdo y dos nodos en su hijo derecho y es un aacuterbol balanceado

Estos dos procedimientos para generar un individuo comparten muchas similitudes Por esta razoacuten el algoritmo [algcreacion-individuo] presenta ambos procedimientos decidiendo cuaacutel utilizar mediante una bandera El proceso de generar un individuo utiliza el conjunto de funciones y terminales y la altura deseada Eacuteste es un procedimiento recursivo donde la recursioacuten termina cuando la altura llega a su valor miacutenimo (liacuteneas 1-3) o en el caso en que se utilice el meacutetodo desbalanceado (liacuteneas 3-5) y un nuacutemero aleatorio sea menor que

Si ninguna de las dos condiciones se cumplen empieza la recursioacuten primero

decrementando (liacutenea 6) despueacutes seleccionando de manera aleatoria una funcioacuten del conjunto (liacutenea 7) y contando sus argumentos (liacutenea 8) La estructura definida en la liacutenea 9 es la encargada de guardar los componentes de la regresioacuten Dicha estructura podriacutea ser una lista o un conjunto que mantiene el orden de insercioacuten El procedimiento continuacutea creando un ciclo del nuacutemero de argumentos (liacuteneas 10-12) donde se hace la recursioacuten y el resultado de la recursioacuten se antildeade a liacutenea 11 Finalmente el individuo creado estaacute en y se regresa en la liacutenea 13

[algcreacion-individuo]

Es probable que uno de los meacutetodos maacutes tradicionales para crear la poblacioacuten inicial sea el meacutetodo ramped half-and-half propuesto por Koza el cual consiste en construir la mitad de la poblacioacuten utilizando un meacutetodo balanceado y la otra mitad utilizando un meacutetodo desbalanceado

120236eacute120269120264120253120264h

h = 0

∣ 119983 ∣∣ 119983 ∣ + ∣ ℱ ∣

hℱ w

w w

ℱ 119983 h 120236eacute120269120264120253120264 x isin 119983 x isin 119983 h larr h minus 1 f isin ℱ d larr 120250120267120256120270120262120254120263120269120264120268( f ) w = [ f ]w larr w cup 120226120267120254120250120252120258oacute120263 120253120254 120232120263120253120258120271120258120253120270120264(h 120236eacute120269120264120253120264) w

Ademaacutes de lo anterior la altura del aacuterbol variacutea desde un valor de altura miacutenima hasta un valor maacuteximo de manera lineal tomando en cuenta el tamantildeo de la poblacioacuten

Operadores Geneacuteticos Habiendo descrito dos procedimientos para la creacioacuten de la poblacioacuten inicial es tiempo de introducir los operadores geneacuteticos que permitiraacuten la creacioacuten de nuevos individuos basados en la poblacioacuten actual En PG se acostumbra tener dos operadores geneacuteticos mutacioacuten (ver Seccioacuten 52) y recombinacioacuten (ver Seccioacuten 51) que a diferencia del AG son excluyentes y seleccionados de manera aleatoria

El algoritmo [algoperadores-geneticos] muestra el procedimiento para generar un individuo utilizando mutacioacuten y recombinacioacuten Lo primero que se realiza es la seleccioacuten de los individuos que serviraacuten como padres en este proceso (liacutenea 1 y liacutenea 3) Esto es seguido por la decisioacuten de generar un individuo mediante mutacioacuten o recombinacioacuten la cual se realiza de manera aleatoria y se controla con un paraacutemetro la probabilidad de recombinacioacuten (liacutenea 2) En caso de aplicarse recombinacioacuten se requieren dos elementos (liacutenea 4) y en el caso de mutacioacuten solamente se requiere un elemento (liacutenea 6)

[algoperadores-geneticos]

Recombinacioacuten La recombinacioacuten es la operacioacuten geneacutetica que toma dos individuos de la poblacioacuten denominados padres y los combina para generar un nuevo individuo Tomando en cuenta que los individuos son aacuterboles de expresiones entonces la recombinacioacuten se plantea como la generacioacuten de un nuevo aacuterbol de expresioacuten La idea es escoger en cada aacuterbol un punto de recombinacioacuten e intercambiar los subaacuterboles cuya raiacutez sean dichos puntos de recombinacioacuten

La figura [figrecombinacion] muestra el procedimiento de recombinacioacuten En dicha figura los dos padres son los primeros dos aacuterboles de la izquierda ver figuras [figpadre1] y [figpadre2] El nuevo individuo es el aacuterbol de la derecha ver figura [fighijo] es comuacuten llamar hijo al producto de la recombinacioacuten Los nodos de color azul representan los puntos de recombinacioacuten siendo el procedimiento para generar un nuevo individuo el cambiar los subaacuterboles cuya raiacutez son los nodos en azul En particular aquiacute se crea solamente un individuo el cual es generado al reemplazar el subaacuterbol del primer padre por el subaacuterbol del segundo padre

pxo

119979 a larr 120242120254120261120254120252120252120258oacute120263(119979) b larr 120242120254120261120254120252120252120258oacute120263(119979) w larr 120241120254120252120264120262120251120258120263120250120252120258oacute120263(119979(a)) 119979(b))w larr 120236120270120269120250120252120258oacute120263(119979(a)) w

El procedimiento de recombinacioacuten requiere de un meacutetodo que permita conocer donde termina un subaacuterbol dada su raiacutez Esto es debido a que se estaacute codificando un aacuterbol de expresioacuten en una estructura lineal Este procedimiento es simple y solamente se requiere el contar el nuacutemero de argumentos por cada funcioacuten encontrada en el camino El algoritmo [algrecorre] presenta el pseudocoacutedigo para hacer el recorrido por el subaacuterbol Este procedimiento recibe un individuo y la posicioacuten de la raiacutez del subaacuterbol de intereacutes El ciclo de las liacuteneas 2-12 realiza todo el recorrido del subaacuterbol terminando cuando las funciones encontradas en el recorrido han satisfecho todos sus argumentos liacuteneas 9-11 regresando la posicioacuten del uacuteltimo nodo del subaacuterbol En cada iteracioacuten se sabe que se consume un argumento liacutenea 5 y se incrementa la posicioacuten final del subaacuterbol liacutenea 4 Ademaacutes se verifica si el nodo actual corresponde a una funcioacuten En caso afirmativo se incrementa el nuacutemero de argumentos liacuteneas 6-8 y todo este proceso continua hasta que los argumentos requeridos por la funciones han sido cubiertos

[algrecorre]

Ahora que se conoce la funcioacuten auxiliar es momento de describir el pseudocoacutedigo de la recombinacioacuten el cual se muestra en el algoritmo [algrecombinacion] Lo primero que se puede observar es que la recombinacioacuten requiere dos individuos el segundo paso es seleccionar un nodo de cada uno de estos individuos liacuteneas 1 y 2 Las liacuteneas 3 y 4 calculan las posiciones donde terminan cada uno de los subaacuterboles que corresponden a los nodos seleccionados Finalmente el individuo generado corresponde al reemplazo de la subcadena que representa el subaacuterbol del primer padre con la subcadena que representa el subaacuterbol del segundo padre ver liacutenea 5

[algrecombinacion]

Mutacioacuten Existen diferentes tipos de mutacioacuten Una de las maacutes utilizadas es la mutacioacuten de subaacuterbol la cual consiste en hacer recombinacioacuten de un individuo de la poblacioacuten con un individuo aleatorio La idea es reemplazar un subaacuterbol del individuo de la poblacioacuten por un subaacuterbol aleatorio y esto se logra utilizando meacutetodos previamente definidos

La mutacioacuten de subaacuterbol se presenta en el algoritmo [algmutacion] Este procedimiento requiere un padre Despueacutes se genera un individuo aleatorio utilizando el meacutetodo

x i c larr 1 x larr xi i larr i + 1 c larr c minus 1 c larr c + 120250120267120256120270120262120254120263120269120264120268(x) i

120241120254120252120264120267120267120254

x y

x y i larr 120239120270120263120269120264 120253120254 120267120254120252120264120262120251120258120263120250120252120258oacute120263(x) j larr 120239120270120263120269120264 120253120254 120267120254120252120264120262120251120258120263120250120252120258oacute120263(y) ik larr 120241120254120252120264120267120267120254(x i )jk larr 120241120254120252120264120267120267120254(y j ) x0hellipi cup yjhellip jk cup xikhellip∣x∣

x

Por lo general se usa una altura menor a siete y despueacutes se regresa la de los individuos (liacutenea 2)

[algmutacion]

La mutacioacuten de subaacuterbol no es el uacutenico tipo de mutacioacuten Otro tipo de mutacioacuten muy utilizada es la mutacioacuten de punto que tiene su homoacutelogo en el AG La mutacioacuten de punto funciona iterando por todos los nodos del individuo y seleccionando aleatoriamente algunos nodos para ser mutados Un nodo seleccionado para ser mutado cambia su valor de la siguiente manera Un nodo que tiene una funcioacuten cambia la funcioacuten por otra de la misma cardinalidad Por otro lado un nodo que tiene una terminal cambia su valor por otra terminal seleccionada del conjunto de terminales

Seleccioacuten Hasta este momento hemos revisado los procedimientos para hacer una evolucioacuten de estado estable generar una poblacioacuten inicial y modificar la poblacioacuten utilizando operadores geneacuteticos En esta seccioacuten se muestra el proceso de seleccioacuten de los individuos padres que generaraacuten mediante operadores geneacuteticos un nuevo individuo

La seleccioacuten como su nombre lo indica debe escoger un individuo de la poblacioacuten con base en su aptitud es decir se busca aquel individuo que resuelve de mejor manera el problema En el caso de la seleccioacuten negativa se busca el individuo que resuelve el problema de la peor manera

Recordemos que la forma en que se describe la funcionalidad de un programa es mediante un conjunto de pares entrada-salida vg donde representa la -eacutesima entrada y es su salida correspondiente Utilizando se puede definir la aptitud de un programa de la siguiente manera

donde representa la salida del programa cuando la entrada es y es una funcioacuten que captura que tanto se parece la prediccioacuten a la salida esperada

Existen varios procedimientos de seleccioacuten Uno de los maacutes comunes es la seleccioacuten proporcional o por ruleta La idea de esta seleccioacuten es asignar a cada individuo una probabilidad de ser seleccionado directamente proporcional a su aptitud Otro tipo de seleccioacuten muy utilizado

120226120267120254120250120252120258oacute120263 120253120254 120232120263120253120258120271120258120253120270120264120241120254120252120264120262120251120258120263120250120252120258oacute120263

x y larr 120226120267120254120250120252120258oacute120263 120253120254 120232120263120253120258120271120258120253120270120264(4 120225120250120261120250120263120252120254120250120253120264) 120241120254120252120264120262120251120258120263120250120252120258oacute120263(x y)

119987 = (x0 y0) hellip (xi yi) hellip (xN yN) xii yi 119987

p

120224120265120269120258120269120270120253(p) = sum(xy)isin119987

120236120258120253120254 120224120265120265120267120264120273120258120262120250120252120258oacute120263(y p(x))

p(x) p x 120236120258120253120254 120224120265120265120267120264120273120258120262120250120252120258oacute120263p(x) y

en la comunidad es la seleccioacuten por torneo donde la idea es seleccionar al ganador de un grupo de individuos seleccionados aleatoriamente Al tamantildeo del grupo se le conoce como el tamantildeo del torneo

El algoritmo [algseleccion] presenta el pseudocoacutedigo de la seleccioacuten por torneo El procedimiento requiere la poblacioacuten y el tamantildeo del torneo Se empieza seleccionando un individuo de la poblacioacuten vg el -eacutesimo para el cual se obtiene su aptitud liacuteneas 1 y 2 El individuo es momentaacuteneamente el mejor elemento conocido El ciclo principal ejecuta el torneo liacuteneas 3-10 En cada iteracioacuten se selecciona un elemento de la poblacioacuten junto con su aptitud (liacutenea 4 y 5) En caso que el nuevo individuo tenga una mejor aptitud que la conocida eacuteste se convierte en el ganador del torneo liacuteneas 6-9 El procedimiento termina regresando la posicioacuten del mejor individuo

t

[algseleccion]

Espacio de buacutesqueda La PG es un algoritmo de buacutesqueda inspirado en los principios de la evolucioacuten En esta seccioacuten se describe coacutemo es el espacio de buacutesqueda Existen dos diferencias principales entre la PG y el AG 1) la PG busca en un espacio posiblemente infinito de programas mientras que el AG en un espacio finito y 2) las soluciones de la PG tienen una codificacioacuten de longitud variable y las del AG son de longitud fija

El espacio de buacutesqueda de la PG se construye partiendo del conjunto de funciones y del conjunto de terminales de la siguiente manera Sea el subconjunto de funciones con cardinalidad del conjunto de funciones y los elementos creados en la -eacutesima iteracioacuten iniciando en Usando esta notacioacuten los primeros elementos del espacio de buacutesqueda vg son El resto de los elementos se construyen

iterativamente usando por lo tanto el espacio de

buacutesqueda estaacute definido como

Con el objetivo de ejemplificar la estructura del espacio de buacutesqueda la figura [figespacio-busqueda] presenta unos elementos del espacio de buacutesqueda cuando el conjunto de terminales es

119979 tk ga

119979(k)

119979 k larr 120237uacute120262120254120267120264 120224120261120254120250120269120264120267120258120264() ga larr 120224120265120269120258120269120270120253(119979(k)) ck larr 120237uacute120262120254120267120264 120224120261120254120250120269120264120267120258120264()ca larr 120224120265120269120258120269120270120253(119979(ck)) k larr ck ga larr ca k

Ω

ℱ119983 ℱc sube ℱ

c Ωi ii = 0

i = 0 Ω0 = ⋃c

f (x1 ⋯ xc) ∣ xi isin 119983 f isin ℱc

Ωi = ⋃c

f (x1 ⋯ xc) ∣ xi isin Ωiminus1 f isin ℱc

Ω = ⋃i

Ωi

y el conjunto de funciones es La figura [figomega0] muestra todos los elementos de los cuales corresponden a las combinaciones entre el operador y las entradas asiacute como a la funcioacuten y las posibles entradas La parte inferior de la figura muestra algunos elementos de Siguiendo la definicioacuten dada la primera expresioacuten corresponde al segundo elemento de y el uacuteltimo elemento corresponde al uacuteltimo elemento generado en

Conclusiones En este capiacutetulo se describioacute la importancia y potencial que tiene la PG en diversas tareas y aplicaciones Ademaacutes se describieron las partes que conforman un sistema de programacioacuten geneacutetica tradicional equivalente a los descritos en ) Tambieacuten se describieron los tipos de evolucioacuten maacutes comunes y con base en la evolucioacuten de estado estable se detalloacute el resto de las partes necesarias para llevar a cabo el proceso evolutivo como son la representacioacuten de los individuos la creacioacuten de la poblacioacuten inicial los operadores geneacuteticos y el tipo de seleccioacuten Finalmente se describioacute el espacio de buacutesqueda de la PG que se genera partiendo de los conjuntos de funciones y terminales

Como todo los sistemas la PG ha evolucionado Actualmente existen diferentes propuestas para mejorar sus componentes empezando desde la creacioacuten de la poblacioacuten inicial pej modificaciones a los operadores geneacuteticos tradicionales pej operadores semaacutenticos estudios sobre la seleccioacuten y evolucioacuten guiada por una funcioacuten diferente a la funcioacuten objetivo

Para saber maacutes Para una revisioacuten amplia sobre la PG se sugiere al lector la siguiente bibliografiacutea La PG fue descrita inicialmente en el libro de John Koza esta descripcioacuten se complementa con el libro escrito por Wolfgang Banzhaf et al y maacutes reciente Riccardo Poli et al presenta una introduccioacuten actualizada al aacuterea

Con respecto a artiacuteculos cientiacuteficos es importante comentar que existe una coleccioacuten bibliograacutefica en PG compilada y administrada por William Langdon John Koza y Steven Gustafson Esta coleccioacuten cuenta con maacutes de 13000 referencias a trabajos de investigacioacuten en 34

el tema incluyendo los trabajos realizados en Meacutexico

119983 = x y ℱ = + sinΩ0 +

sinΩ1

Ω1 Ω1

httpliinwwwiraukadebibliographyAigeneticprogramminghtml3

httpwwwcsbhamacuk~wblbiblio4

Importancia de la Diversidad en el Disentildeo de Algoritmos Evolutivos

Carlos Segura

Joel Chacoacuten Castillo

La convergencia prematura es una de las mayores problemaacuteticas que afectan al rendimiento de las metaheuriacutesticas poblacionales por lo que a la hora de disentildear algoritmos evolutivos es un aspecto a tener en cuenta En este capiacutetulo se enumeran diferentes teacutecnicas que se han propuesto a lo largo de las uacuteltimas deacutecadas para lidiar con este problema Una de las alternativas maacutes exitosas consiste en examinar los efectos que los diferentes componentes del algoritmo evolutivo tienen sobre la diversidad mantenida en la poblacioacuten y con base en ello redisentildearlos para modificar su comportamiento de forma dinaacutemica Con el objetivo de ilustrar de una forma detallada este uacuteltimo grupo de teacutecnicas se discuten dos mecanismos que pertenecen a este grupo El primero se aplica en el aacutembito de evolucioacuten diferencial y consiste en una estrategia de reemplazo que combina una poblacioacuten eacutelite con un mecanismo para mantener la diversidad de forma expliacutecita El segundo caso estaacute enfocado a los operadores de cruza donde concretamente se analiza y extiende el Operador de Cruza basado en Simulacioacuten Binaria (Simulated Binary Crossover - SBX) En las extensiones se considera el criterio de paro para modificar de forma dinaacutemica el comportamiento del operador con el propoacutesito de inducir un cambio gradual desde exploracioacuten hacia intensificacioacuten en el proceso de buacutesqueda La validacioacuten experimental se realizoacute con algunos de los problemas de prueba maacutes populares del aacutembito mono-objetivo y multi-objetivo alcanzaacutendose mejoras significativas en ambos casos

Diversidad Convergencia Prematura Evolucioacuten Diferencial Optimizacioacuten Multi-objetivo

Introduccioacuten Los Algoritmos Evolutivos (Evolutionary Algorithms mdash eas) son considerados como uno de los enfoques con mayor eficacia para resolver distintas categoriacuteas de problemas de optimizacioacuten Se han desarrollado diversas variantes que han sido aplicadas en muacuteltiples campos como en transporte economiacutea o ingenieriacutea Particularmente se han aplicado tanto en problemas del dominio continuo como del dominio discreto En general los eas han sido especialmente exitosos en la resolucioacuten de problemas complejos en los que los enfoques exactos no son actualmente aplicables como por ejemplo en problemas NP-completos con espacios de buacutesqueda grandes Para el aacutembito de este capiacutetulo se hace uso de problemas continuos mono-objetivo y multi-objetivo con restricciones de caja que se pueden definir tal y como se indica en la Ecuacioacuten ([eqnModel_general])

Minimizar 

rarrF (

rarrX )

Su jeto a rarrX isin Ω

donde es un vector compuesto por variables continuas de decisioacuten cada variable pertenece al conjunto de los reales es la dimensioacuten correspondiente al espacio de las variables de decisioacuten es un vector compuesto por funciones objetivo es el espacio factible cuyo liacutemite inferior es y liacutemite

superior es es decir Cada vector de variables es mapeado con -

funciones objetivo al espacio que es conocido como el espacio objetivo

Actualmente los eas son una de las metaheuriacutesticas maacutes conocidas pero a pesar de su eacutexito y de su uso tan extendido adaptarlas a nuevos problemas implica la toma de varias decisiones de disentildeo complejas Particularmente a la hora de disentildear de forma apropiada un ea se ha visto que es muy importante conseguir inducir un balanceo adecuado entre la exploracioacuten e intensificacioacuten del espacio de buacutesqueda Noacutetese en este punto que de manera informal la exploracioacuten del espacio de buacutesqueda consiste en evaluar regiones del espacio de buacutesqueda que no han sido muestreadas con el fin de detectar regiones promisorias y la explotacioacuten consiste en muestrear en zonas ya evaluadas previamente para realizar una buacutesqueda maacutes profunda con el fin de encontrar soluciones maacutes refinadas y de mayor calidad Cuando en los algoritmos evolutivos todas o casi todas las soluciones estaacuten en regiones distantes mdash alta diversidad mdash se produce habitualmente una buacutesqueda exploratoria es decir muchas de las nuevas soluciones evaluadas seraacuten distantes a las ya evaluadas anteriormente Sin embargo cuando casi todas las soluciones estaacuten en una o en unas pocas regiones se produce una buacutesqueda intensificadora Uno de los problemas a la hora de disentildear los algoritmos evolutivos es que en muchos casos no se comprenden todas las implicaciones que los diferentes componentes tienen sobre el mantenimiento de la diversidad de la poblacioacuten y por tanto sobre el balanceo entre exploracioacuten e intensificacioacuten Por ello analizar el comportamiento y redisentildear en base a lo que estaacute ocurriendo en este aspecto es parte del proceso de disentildeo de los eas

Relacionado con lo anterior aparece el concepto de convergencia prematura Se dice que un algoritmo converge de forma prematura cuando mucho antes de alcanzar el criterio de paro todas las soluciones estaacuten en una zona muy pequentildea del espacio de buacutesqueda En este sentido a partir de ese momento es difiacutecil seguir mejorando las soluciones de forma significativa ya que con alta probabilidad soacutelo se va a realizar un muestreo de soluciones en dicha regioacuten Por ello es importante detectar si esto ocurre y en tal caso redisentildear algunos aspectos del ea para preservar una mayor diversidad Sin embargo si la poblacioacuten es muy diversa durante todo el proceso de buacutesqueda se podriacutea no alcanzar un grado adecuado de intensificacioacuten y por lo tanto se tendriacutea una convergencia lenta que posiblemente tambieacuten resultariacutea en soluciones de baja calidad Por

rarrX D

rarrX = [x1 x2 xD]

xi isin real DrarrF M

rarrF = [ f1(

rarrX ) f2(

rarrX ) fM(

rarrX )] Ω x(L)

i

x(U )i Ω =

D

prodj=1

[x(L)j x(U )

j ] M

rarrF (

rarrX )(

rarrF Ω sube realD rarr realM) realM

esta razoacuten Mahfoud utilizoacute el concepto de diversidad uacutetil para referirse a la cantidad de diversidad necesaria para generar soluciones de alta calidad

En relacioacuten al disentildeo de eas se puede observar que en sus inicios la mayoriacutea de enfoques fueron esquemas generacionales en los que las soluciones hijas reemplazaban a la poblacioacuten anterior sin importar su respectiva aptitud o grado de diversidad En estos esquemas iniciales se usaba la seleccioacuten de padres para promover que el proceso de muestreo se realizara con mayor probabilidad en las regiones maacutes promisorias encontradas Por ello con el propoacutesito de alcanzar un balanceo adecuado entre exploracioacuten e intensificacioacuten se desarrollaron muchas estrategias de seleccioacuten de padres que permitiacutean centrarse con mayor o menor velocidad en las regiones promisorias Ademaacutes se desarrollaron alternativas que modifican otros aspectos como la estrategia de variacioacuten yo el modelo poblacional En la mayor parte de eas maacutes recientes se introduce ademaacutes una fase de reemplazamiento por lo que la nueva poblacioacuten no tiene que formarse exclusivamente con los hijos maacutes bien se usan mecanismos para combinar la poblacioacuten anterior con la poblacioacuten hija y determinar asiacute los nuevos sobrevivientes En este contexto se suele introducir elitismo en los algoritmos es decir el mejor individuo encontrado sobreviviraacute a la siguiente generacioacuten De esta forma ahora tambieacuten se puede modificar esta uacuteltima fase para conseguir el balanceo apropiado entre exploracioacuten e intensificacioacuten

En los uacuteltimos antildeos algunos de los trabajos maacutes exitosos en el aacuterea de evitacioacuten de convergencia prematura se han basado en considerar el criterio de parada y evaluaciones realizadas para balancear entre exploracioacuten e intensificacioacuten Esto se fundamenta en la premisa de que el grado entre exploracioacuten e intensificacioacuten deberiacutea variar a lo largo de la ejecucioacuten por lo tanto tiene sentido que las decisiones tomadas por las componentes variacuteen en funcioacuten del instante de ejecucioacuten Particularmente en este capiacutetulo se describen dos aportaciones que pertenecen a este grupo de teacutecnicas La primera que se aplica en el aacuterea de Evolucioacuten Diferencial (Differential Evolution mdash de) recibe el nombre de de Mejorado con Mantenimiento de Diversidad (de with Enhanced Diversity Maintenance mdash de-edm) e integra una estrategia de reemplazo que maneja la diversidad de forma expliacutecita con una poblacioacuten eacutelite En la fase de reemplazo que incorpora el de-edm se promueve un balanceo dinaacutemico entre exploracioacuten e intensificacioacuten teniendo en cuenta para ello el criterio de paro y las evaluaciones transcurridas para la toma de decisiones Concretamente en las primeras etapas se induce un grado de exploracioacuten alto ya que los individuos sobrevivientes son diversificados y posteriormente conforme transcurren las generaciones se induce un mayor grado de intensificacioacuten La segunda aportacioacuten estaacute enfocada a la extensioacuten de operadores de cruza Particularmente se analizan los componentes que conforman al Operador de Cruza basado en Simulacioacuten Binaria (Simulated Binary Crossover - SBX) y se propone una variante dinaacutemica (Dynamic Simulated Binary Crossover mdash dsbx) en la

que el comportamiento interno es alterado en base al criterio de paro y a las evaluaciones realizadas hasta el momento

El resto de este capiacutetulo estaacute organizado de la siguiente forma En primer lugar en la seccioacuten 2 se revisan algunas de las teacutecnicas maacutes populares que se han propuesto para promover el mantenimiento de diversidad exponiendo una de las clasificaciones maacutes extendidas Posteriormente en la seccioacuten 3 se describe y valida experimentalmente la aportacioacuten basada en evolucioacuten diferencial donde se considera la diversidad de forma expliacutecita en la fase de reemplazamiento Siguiendo esta misma liacutenea en la seccioacuten 4 se lleva a cabo un anaacutelisis del operador de cruza sbx mencionando algunas de sus implicaciones en la diversidad y se expone en base a ello una variante dinaacutemica que se valida experimentalmente con problemas multi-objetivo Finalmente en la seccioacuten 5 se exponen las conclusiones y trabajos futuros trazados en base a los resultados obtenidos

Preservacioacuten de diversidad en algoritmos evolutivos La convergencia prematura es una problemaacutetica muy conocida en el aacutembito de los eas por lo que se han desarrollado gran cantidad de teacutecnicas para lidiar con la misma Estas teacutecnicas modifican de manera directa o indirecta la cantidad de diversidad mantenida por el algoritmo y variacutean desde teacutecnicas generales hasta mecanismos dependientes de un problema dado En este apartado se revisan algunas de las teacutecnicas generales maacutes populares Inicialmente se describen algunas maneras de clasificar a este tipo de estrategias para posteriormente describir mecanismos claacutesicos especiacuteficos asiacute como algunas estrategias maacutes novedosas que se basan en modificar la estrategia de reemplazamiento Finalmente dado que en este capiacutetulo se extiende de se revisan tambieacuten los trabajos de esta aacuterea que tienen una relacioacuten estrecha con el manejo de diversidad Se recomienda a los lectores que requieran conocer estos mecanismos con maacutes detalle consultar asiacute como los artiacuteculos especiacuteficos en que cada meacutetodo es propuesto

Clasificaciones de mecanismos para promover la diversidad Debido a la gran cantidad de meacutetodos desarrollados en esta aacuterea se han propuesto varias clasificaciones de los mismos Liu et al propuso diferenciar entre los enfoques uni-proceso y multi-proceso En el enfoque uni-proceso se modifica la preservacioacuten de la diversidad actuando sobre un uacutenico componente del ea Es importante destacar que en los enfoques uni-proceso no se excluye el uso de otros componentes en el proceso de exploracioacuten yo intensificacioacuten sino que maacutes bien si no se consigue el balanceo adecuado soacutelo se modifica una componente hasta conseguir el comportamiento deseado Por otra parte en los enfoques multi-proceso se tiene en cuenta las implicaciones que varios componentes provocan sobre el balanceo y se actuacutea

modificando o redisentildeando varios de ellos hasta conseguir el comportamiento adecuado Los esquemas uni-proceso son mucho maacutes habituales actualmente y en particular las dos propuestas incluidas en este capiacutetulo son mecanismos uni-proceso

Extendiendo a lo anterior se propuso una clasificacioacuten maacutes especiacutefica en la que se tiene en cuenta cuaacutel es la componente que se cambia para categorizar a cada meacutetodo En este sentido los maacutes populares son los siguientes

bull Enfoques basados en la seleccioacuten son los maacutes claacutesicos y se basan en cambiar la presioacuten de seleccioacuten que se produce hacia las zonas promisorias a la hora de realizar la seleccioacuten de padres

bull Enfoques basados en poblacioacuten se modifica el modelo poblacional utilizando algunas teacutecnicas como variar el tamantildeo de la poblacioacuten de forma dinaacutemica eliminar individuos duplicados utilizar teacutecnicas de infusioacuten o establecer un estrategia de islas con migraciones

bull Enfoques basados en ela cruza yo la mutacioacuten se basan en redisentildear los operadores de cruza yo mutacioacuten considerando en algunos casos informacioacuten especiacutefica del problema Tambieacuten se incluyen en este grupo opciones maacutes generales como aplicar restricciones sobre el emparejamiento yo incluir operadores disruptivos que podriacutean ser utilizados soacutelo en ciertos instantes del proceso de optimizacioacuten

Esquemas claacutesicos para administrar la diversidad Los primeros eas se basaron principalmente en esquemas generacionales que no incluiacutean fase de reemplazo En estos esquemas la seleccioacuten de padres era la principal responsable de que se muestrearan con mayor probabilidad las zonas maacutes promisorias encontradas hasta el momento y por tanto muchos de los primeros esquemas que trataron de evitar la convergencia prematura se basaron en modificar el proceso de seleccioacuten de padres Asiacute en los 90s se desarrollaron varios esquemas que alteraban la presioacuten de seleccioacuten de forma estaacutetica o dinaacutemica Sin embargo con base en varios estudios teoacutericos y experimentales se observoacute que generalmente actuar exclusivamente sobre el operador de seleccioacuten no es suficiente especialmente cuando se quieren realizar ejecuciones a largo plazo ya que se requeririacutean poblaciones excesivamente grandes para mantener un grado adecuado de diversidad

Otra alternativa fue modificar los modelos poblacionales encontrando en este grupo los esquemas basados en islas los celulares o maacutes recientemente los basados en agrupaciones o cluacutesteres La idea de introducir restricciones en el emparejamiento principalmente con base en la ubicacioacuten de los individuos en el espacio de buacutesqueda tambieacuten ha sido bastante exitosa aunque controlar los mismos para obtener el balanceo apropiado ante diferentes criterios de parada es

bastante complejo En algunos casos resultoacute ser maacutes prometedor promover el emparejamiento entre individuos no similares mientras que en otros escenarios se hace exactamente lo opuesto Otro problema comuacuten de muchas de las estrategias anteriores es que suelen introducir paraacutemetros adicionales por lo que el proceso de ajuste de paraacutemetros que ya de por siacute es un problema importante en los eas se vuelve auacuten maacutes complejo Es importante resaltar que todas estas estrategias claacutesicas no evitan por completo la convergencia sino que la idea es disponer de mecanismos para acelerarla o retrasarla

Otra alternativa diferente ha sido adaptar la fase de variacioacuten En este sentido se han desarrollado diversas teacutecnicas para controlar los paraacutemetros que se consideran en la variacioacuten con el propoacutesito de adaptar el balanceo entre exploracioacuten e intensificacioacuten En algunos casos esto se consigue usando distintos valores en los paraacutemetros para distintas etapas a lo largo del proceso de optimizacioacuten mientras que en otros casos se hacen cambios maacutes draacutesticos y se consideran varios operadores con distintas propiedades Tambieacuten existen mecanismos adaptativos que usan una memoria para almacenar informacioacuten histoacuterica sobre los efectos de la variacioacuten y con base en ello ir modificaacutendola Cabe destacar que en la mayor parte de estos esquemas no se considera la diversidad de forma directa sino que soacutelo se considera para analizar el comportamiento y con base en ello se procede a un redisentildeo

Finalmente un esquema muy sencillo pero no por ello menos importante es el basado en reinicios En estos esquemas en lugar de evitar la convergencia acelerada se aplica un reinicio total o parcial de la poblacioacuten cada cierto nuacutemero de generaciones o cuando se detecta que la poblacioacuten ha convergido Con base en esto se han propuesto diversas estrategias para establecer los puntos de reinicio Estos esquemas se implementan de forma muy sencilla y en algunos casos han proporcionado mejoras significativas por lo que es un meacutetodo a tener en cuenta al menos como alternativa inicial Es comuacuten combinar las estrategias basadas en reinicio con algunas de las teacutecnicas anteriores ya que dichas teacutecnicas estaacuten basadas en mantener la diversidad mientras que en esta uacuteltima el objetivo es recuperar la diversidad

Esquemas de reemplazamiento basados en diversidad Recientemente se han propuesto diversos mecanismos que modifican la fase de reemplazo para preservar la diversidad La idea principal de estos esquemas es inducir un grado de exploracioacuten adecuado diversificando a los individuos sobrevivientes de forma que los operadores de reproduccioacuten puedan generar nuevas soluciones en diferentes regiones en las siguientes generaciones Estos meacutetodos estaacuten basados en el principio de que los operadores de cruza tienen un efecto de exploracioacuten al considerar individuos distantes y de intensificacioacuten al considerar individuos proacuteximos

El esquema de pre-seleccioacuten propuesto por Cavicchio es uno de los primeros estudios que utilizan la fase de reemplazamiento para controlar la diversidad El esquema inicial de Cavicchio se extendioacute para generar el esquema denominado amontonamiento o crowding el cual ha sido muy popular en los uacuteltimos antildeos El principio del crowding se basa en que los nuevos individuos que entren en la poblacioacuten sustituyan a individuos similares de generaciones anteriores y con base en este principio se han formulado diversas implementaciones

En esta misma liacutenea se han propuesto otras estrategias de reemplazo con el propoacutesito de promover la diversidad Uno de los procedimientos maacutes populares es la Estrategia de Limpieza (Clearing Strategy - clr) En el procedimiento clr se agrupan a los individuos en grupos denominados nichos y los mejores individuos de cada nicho son preservados e incluidos en la poblacioacuten de la siguiente generacioacuten Un inconveniente de este procedimiento es que los casos en que se detectan muchos nichos provocan una fuerte inmovilizacioacuten de la poblacioacuten Por ello Petrowski propuso una variante para uacutenicamente seleccionar a individuos cuya aptitud sea mejor que la media de la poblacioacuten

Otros meacutetodos de este grupo consideran funciones de aptitud que combinan la funcioacuten objetivo original con la diversidad Sin embargo es complejo construir una funcioacuten compuesta ya que las dos mediciones podriacutean no ser directamente compatibles y por lo tanto las funciones adecuadas suelen depender de cada problema Una forma de suavizar este inconveniente fue propuesto en el algoritmo de combinacioacuten (COMB) donde los individuos son ordenados y categorizados con base en su aptitud y contribucioacuten a la diversidad y la funcioacuten compuesta se disentildea con base en el orden y no con base en los valores de funcioacuten objetivo y contribucioacuten a diversidad La principal desventaja del COMB es que requiere dos paraacutemetros de usuario aunque independientemente de esto se ha usado con bastante eacutexito Otra alternativa es el procedimiento Reemplazamiento Basado en Contribucioacuten a la Diversidad y Sustitucioacuten del Peor (Contribution of DiversityReplace Worst - CDRW) En el meacutetodo CDRW un nuevo individuo reemplaza a un miembro de la poblacioacuten cuyo rendimiento sea peor tanto en aptitud como en contribucioacuten a la diversidad En caso de no encontrar un peor individuo bajo estos dos criterios se procede a reemplazar al peor individuo en la poblacioacuten considerando uacutenicamente a la aptitud Una uacuteltima alternativa se basa en considerar a la contribucioacuten a la diversidad como un objetivo adicional y aplicar un esquema de optimizacioacuten multi-objetivo Estos enfoques son identificados como algoritmos multi-objetivo basados en diversidad Existen varias estrategias para calcular el objetivo auxiliar Uno de los enfoques maacutes populares consiste en calcular la contribucioacuten a la diversidad de cada individuo con base en la Distancia al Vecino maacutes Cercano (Distance to the Closest Neighbor - DCN) de entre los individuos que ya hayan sido seleccionados como supervivientes

Diversidad en evolucioacuten diferencial Los algoritmos basados en de son altamente susceptibles a la peacuterdida de diversidad debido a que se basan en una estrategia de seleccioacuten muy elitista Debido a ello se han desarrollado varios anaacutelisis para lidiar con este problema Dado que en el aacuterea se conoce al menos de manera general las implicaciones que tiene cada paraacutemetro sobre la diversidad algunos autores han trabajado en estimar de forma teoacuterica cuaacuteles deben ser los paraacutemetros adecuados para que se produzca cierto tipo de comportamiento Otros autores han estudiado el efecto que tiene la norma de los vectores de diferencia sobre la mutacioacuten y con base en ello se han propuesto mecanismos que prohiacuteben ciertos movimientos que pueden resultar perjudiciales para la diversidad En este uacuteltimo estudio el tipo de movimientos aceptados variacutea a lo largo de la ejecucioacuten descartando a los movimientos cuyos desplazamientos sean menores a un umbral el cual es decrementado conforme transcurren las generaciones Ademaacutes se han propuesto otras formas para establecer los movimientos aceptados

Una alternativa distinta se basa en alterar el operador de seleccioacuten Especiacuteficamente con el propoacutesito de mantener mayor diversidad en la poblacioacuten se altera la presioacuten de seleccioacuten utilizando una seleccioacuten probabiliacutestica que permite escapar en algunos casos de las bases de atraccioacuten de oacuteptimos locales Sin embargo este meacutetodo no es demasiado robusto debido a que considera la aptitud para definir las probabilidades para seleccionar a un individuo por lo que ciertas transformaciones de la funcioacuten pueden modificar de forma draacutestica el tipo de buacutesqueda que se realiza

Finalmente la variante de con Diversidad de la Poblacioacuten Auto-Mejorado (Auto-Enhanced Population Diversity - AEPD) mide la diversidad de forma expliacutecita y cuando se detecta la existencia de un nivel bajo de diversidad en la poblacioacuten se lanza un mecanismo de diversificacioacuten Esta propuesta se ha extendido para considerar diferentes esquemas de perturbacioacuten

Es interesante hacer notar que las variantes de de que alcanzaron los primeros lugares en varias competencias de optimizacioacuten durante los uacuteltimos antildeos no consideran estas modificaciones y ademaacutes estas variantes no han sido incorporadas en las herramientas de optimizacioacuten maacutes populares Esto puede deberse a que muchos de los concursos estaacuten orientados a obtener resultados en un nuacutemero de evaluaciones bastante limitado en lugar de a largo plazo que es el aacutembito en el que maacutes beneficios suelen dar los mecanismos de control de diversidad

Disentildeo de evolucioacuten diferencial basado en diversidad

Evolucioacuten diferencial Conceptos baacutesicos Esta seccioacuten estaacute dedicada a revisar la variante claacutesica de de y a introducir varios teacuterminos importantes que son utilizados en el campo de de El esquema claacutesico de de es identificado como derand1bin y ha sido ampliamente usado como base para el desarrollo de variantes maacutes complejas De hecho la propuesta que se presenta en este capiacutetulo como ejemplo extiende al derand1bin de fue propuesto como un meacutetodo de buacutesqueda directa para optimizacioacuten continua mono-objetivo y es el aacutembito en que se usaraacute en este capiacutetulo es decir se considera la Ecuacioacuten ([eqnModel_general]) fijando

de es un algoritmo estocaacutestico basado en poblacioacuten por lo que en cada instante maneja un conjunto de soluciones candidatas que van evolucionando de forma iterativa En de dichas soluciones candidatas son usualmente conocidas como vectores En la variante baacutesica de de para cada miembro de la poblacioacuten (conocidos como vectores objetivo) se genera un nuevo vector que es conocido como el vector mutado A continuacioacuten el vector mutado se combina con el vector objetivo para generar al vector de prueba y finalmente se procede con la fase de seleccioacuten para elegir a los vectores sobrevivientes De esta forma las generaciones transcurren de forma iterativa hasta cumplir el criterio de paro En esta capiacutetulo el -eacutesimo vector de la poblacioacuten en la generacioacuten se denota como A continuacioacuten se explica en maacutes detalle cada componente de de

Inicializacioacuten

Usualmente de inicia el proceso de optimizacioacuten con una poblacioacuten de vectores que son creados de forma aleatoria Habitualmente los vectores de la poblacioacuten inicial son generados con base en una distribucioacuten uniforme ya que usualmente no se posee informacioacuten sobre cuaacuteles son las zonas maacutes promisorias del espacio de buacutesqueda Por lo tanto el -eacutesimo componente del -eacutesimo vector es inicializado de la forma donde es un nuacutemero aleatorio uniformemente distribuido entre y

Operador de mutacioacuten

Por cada vector objetivo se genera un vector mutado para lo cual se han propuesto muacuteltiples estrategias con la particularidad de que en cierta forma se usen las diferencias entre vectores La variante claacutesica de de aplica la estrategia conocida como rand1 en la cual se crea un vector mutado de la siguiente forma

M = 1

iG

rarrX iG = [x1iG x2iG xDiG]

NP

j ixji0 = x(L)

j + randi j[0 1](x(U )j minus x(L)

j )randi j[0 1] 0 1

ViG

En la Ecuacioacuten ([eqnmutation]) los iacutendices deben ser enteros distintos y son generados de forma aleatoria en el rango Ademaacutes estos iacutendices son distintos al iacutendice Es importante hacer notar que la diferencia entre los vectores es escalada por medio del paraacutemetro el cual usualmente se define en el intervalo Posteriormente el vector de diferencia (escalado) es agregado a un tercer vector lo que significa que los vectores mutados son similares a los vectores objetivo si el grado de diversidad es bajo ya que los vectores de diferencias tienen norma pequentildea Como consecuencia de esto es claro que es criacutetico mantener un grado miacutenimo de diversidad en de

Operador de cruza

El operador de cruza se aplica con el objetivo de combinar la informacioacuten de distintas soluciones candidatas y de incrementar la diversidad de los vectores Especiacuteficamente cada vector objetivo se mezcla con su correspondiente vector mutado para generar un vector de prueba La estrategia de cruza maacutes tiacutepica es conocida como cruza binomial y actuacutea de la siguiente forma

En la Ecuacioacuten ([eqncrossover]) es un nuacutemero uniformemente distribuido es

un iacutendice seleccionado aleatoriamente que asegura que genera al menos un componente de y es la proporcioacuten de cruza

Operador de seleccioacuten

Finalmente se aplica una seleccioacuten elitista para determinar los vectores sobrevivientes que participaraacuten en la siguiente generacioacuten Especiacuteficamente cada vector de prueba se compara con su correspondiente vector objetivo y sobrevive el que tiene la mejor aptitud

Debido a la forma de seleccionar a los sobrevivientes en cada generacioacuten los miembros de la poblacioacuten permanecen iguales o mejoran Por ello se considera que de hace uso de una seleccioacuten

rarrV iG =

rarrX r1G + F times (

rarrX r2G minus

rarrX r3G) r1 ne r 2 ne r3

r1 r 2 r3 isin [1 NP ][1 NP ]

iF [04 1]

rarrX iG

rarrViGrarr

UiG = [u1iG u2iG uDiG]

rarrUjiG =

rarrV jiG si (randi j[0 1] le CR o j = jrand)rarrX jiG de otra forma

randi j[0 1] jrandrarrUiGrarr

V iG CR isin [0 1]

rarrX jiG+1 =

rarrUiG si f (

rarrUiG) le f (

rarrX iG)

rarrX iG de otra forma

muy elitista y es una de las razones por la que en ciertos casos puede sufrir de una convergencia demasiado acelerada

Propuesta basada en diversidad El meacutetodo que se presenta en esta seccioacuten estaacute motivado principalmente por dos trabajos El primero de ellos es un estudio empiacuterico desarrollado por Montgomery et al que confirma que de sufre de convergencia prematura en varios problemas El segundo es un trabajo propuesto por Segura et al que proporciona mejoras significativas en el campo de optimizacioacuten combinatoria utilizando para ello una fase de reemplazo conocida como Reemplazo con Control de Diversidad Dinaacutemica Basada en Varios Objetivos (Replacement with Multi-objective based Dynamic Diversity Control - rmddc) Particularmente el rmddc controla el grado de diversidad relacionaacutendolo con el criterio de paro y generaciones transcurridas Con base en las conclusiones de cada uno de los trabajos en esta seccioacuten se ilustra una propuesta que es una variante novedosa de de que incluye un mecanismo de reemplazo que sigue los mismos principios que guiaron el disentildeo de rmddc Este nuevo algoritmo recibe el nombre de Evolucioacuten Diferencial con Mantenimiento Mejorado de Diversidad (Differential Evolution with Enhanced Diversity Maintenance - de-edm) y su coacutedigo fuente estaacute disponible 5

de-edm (ver Algoritmo [algDEEDM]) es bastante similar a la versioacuten claacutesica de de de hecho la forma en que se crean los vectores de prueba (liacuteneas 5 y 6) se mantiene intacta La novedad del de-edm es que incorpora una poblacioacuten eacutelite ( ) y una estrategia de reemplazo basada en diversidad Especiacuteficamente con el propoacutesito de seleccionar a los miembros de la poblacioacuten eacutelite se considera el operador de seleccioacuten elitista de la versioacuten claacutesica de de (liacutenea 7) Posteriormente se aplica la estrategia de reemplazo (liacutenea 8) para determinar a los sobrevivientes Siguiendo la misma filosofiacutea que en el rmddc los individuos que contribuyen muy poco a la diversidad no deberiacutean ser aceptados como miembros de la siguiente generacioacuten Para conseguir este propoacutesito se considera tanto el criterio de paro como las generaciones transcurridas en la seleccioacuten Asiacute se estableceraacute un grado de diversidad miacutenimo deseado dependiente del tiempo de ejecucioacuten

Inicializar de forma aleatoria a la poblacioacuten con individuos donde cada uno es distribuido de forma uniforme Mutacioacuten Generar al vector mutado ( ) de acuerdo a la Ecuacioacuten ([eqnmutation]) Cruza Utilizar la recombinacioacuten para generar al vector de prueba ( ) de acuerdo a la Ecuacioacuten ([eqncrossover]) Seleccioacuten Actualizar al vector eacutelite ( en lugar de

E

NPG = 0 ViG

UiGEiG

El coacutedigo en C++ puede ser descargado en la siguiente direccioacuten httpsgithubcom5

joelchaconcastilloDiversity_DE_Researchgit

) de acuerdo a la Ecuacioacuten ([eqnselection]) Reemplazo Seleccionar a los vectores objetivo ( ) de acuerdo al Algoritmo [algReplacement]

[algDEEDM]

La estrategia de reemplazo (ver Algoritmo [algReplacement]) funciona de la siguiente forma Inicialmente recibe a la poblacioacuten padre (vectores objetivo) a la poblacioacuten de hijos (vectores de prueba) y a los vectores eacutelite De entre todos ellos debe seleccionar a vectores para formar la siguiente poblacioacuten de padres En primer lugar con base en el nuacutemero de evaluaciones de funcioacuten transcurridas y el criterio de parada se calcula una distancia miacutenima deseada ( ) para mantener en la poblacioacuten (liacutenea 2) A continuacioacuten se juntan las tres poblaciones en un conjunto de miembros candidatos (liacutenea 3) que contiene en cada momento a los vectores candidatos que podriacutean ser seleccionados para sobrevivir Posteriormente se inicializa tanto el conjunto de individuos sobrevivientes como los penalizados con el conjunto vaciacuteo (liacutenea 4) Para seleccionar a los sobrevivientes se repite el proceso iterativo (liacuteneas 5 - 13) que se describe a continuacioacuten En cada iteracioacuten se comienza seleccionando como sobreviviente al mejor individuo del Conjunto de Candidatos es decir al individuo que tiene la mejor aptitud Este individuo se mueve al Conjunto de Sobrevivientes y los individuos del Conjunto de Candidatos cuya distancia al individuo seleccionado sea menor que se transfieren al Conjunto de Penalizados (liacutenea 9) La forma de calcular la distancia entre dos individuos es con base en la distancia Euclidiana normalizada descrita en la Ecuacioacuten ([eqndistance]) donde es la dimensioacuten del problema y son los liacutemites menores y mayores de la dimensioacuten En los casos donde el conjunto de Candidatos queda vaciacuteo antes de seleccionar a individuos el Conjunto de Sobrevivientes se llena seleccionando en cada iteracioacuten al individuo con la mayor distancia al individuo maacutes cercano del Conjunto de Sobrevivientes (liacuteneas 10 - 13)

Entrada Poblacioacuten (Vectores Objetivo) Hijos (Vectores de prueba) y Elite Actualizar Candidatos = Poblacioacuten Hijos Elite Sobrevivientes Penalizados Seleccionados = Seleccionar al mejor individuo de Candidatos Eliminar Seleccionado de Candidatos Copiar Seleccionado a Sobrevivientes Encontrar a los individuos de Candidatos cuya distancia a Seleccionados sea menor que y moverlos a Penalizados En esta parte se considera la distancia normalizada (Ecuacioacuten

XiGXG+1 G = G + 1

NP

Dt

NP

Dt

Dx(L)

d x(U )d d

NPPenalizado

distancia(xi xj) =

sumDd=1 (

x di minus xd

j

x(U )d minus x(L)

d )2

D

Dt = DI minus DI(n fes (095ma x_n fes)) cup cup= = empty

Dt

[eqndistance]) Seleccionado = Seleccionar al individuo de Penalizados con la mayor distancia al individuo maacutes cercano a Sobrevivientes Eliminar Seleccionado de Penalizados Copiar Seleccionado a Sobrevivientes

Con el propoacutesito de completar la descripcioacuten de de-edm se especifica la forma en que se calcula y el procedimiento con el cual se actualizan a los individuos eacutelite El resto del algoritmo se mantiene igual que la variante claacutesica de de El valor de se utiliza para alterar el grado entre exploracioacuten e intensificacioacuten por lo tanto el valor adecuado para este paraacutemetro depende del instante de ejecucioacuten Especiacuteficamente este valor deberiacutea ser reducido conforme se alcanza el criterio de paro con el objetivo de promover mayor intensificacioacuten en las uacuteltimas etapas de optimizacioacuten En nuestro esquema se requiere asignar un valor inicial para ( ) y a continuacioacuten de manera similar a como se hace en se realiza una reduccioacuten lineal de considerando las evaluaciones transcurridas y el criterio de paro Particularmente en este trabajo el criterio de paro se asigna con base en las evaluaciones a funcioacuten y la reduccioacuten se calcula de tal forma que al del nuacutemero maacuteximo de evaluaciones el valor de diversidad miacutenimo requerido es cero lo que quiere decir que en la uacuteltima fase la diversidad no es considerada para nada Entonces denotando al nuacutemero maacuteximo de evaluaciones y al nuacutemero de e v a l u a c i o n e s t r a s c u r r i d a s e s c a l c u l a d o d e l a s i g u i e n t e f o r m a

La distancia inicial ( ) afecta de forma considerable al rendimiento de de-edm Si este paraacutemetro es elevado el algoritmo maximiza la diversidad de la poblacioacuten en las primeras etapas de optimizacioacuten resultando en una exploracioacuten adecuada que es muy importante en varios tipos de problemas como los multi-modales y deceptivos Sin embargo un valor demasiado elevado de podriacutea inducir un grado excesivo de exploracioacuten y en consecuencia la intensificacioacuten podriacutea fallar Por otra parte un valor muy pequentildeo de provocariacutea muy poca exploracioacuten y por lo tanto seriacutea maacutes difiacutecil evitar oacuteptimos locales El valor oacuteptimo de podriacutea variar dependiendo del tipo de problema y el criterio de paro Sin embargo en esta primera versioacuten no se adapta el valor de para cada problema En su lugar se realizoacute un anaacutelisis previo para determinar un valor adecuado usaacutendose el valor en todos los problemas

Al igual que en la versioacuten estaacutendar de de en de-edm es necesario asignar una probabilidad de cruza ( ) y un factor de mutacioacuten ( ) De acuerdo a varios estudios desarrollados por Montgomery y otros la probabilidad de cruza tiene un efecto muy importante Estos autores mostraron de forma empiacuterica que los valores extremos de resultan en comportamientos muy distintos entre siacute pero de gran utilidad Asiacute los valores pequentildeos de resultan en una buacutesqueda alineada a un nuacutemero reducido de ejes e induce pequentildeos desplazamientos Esto provoca una mejora gradual con convergencia lenta que en algunos escenarios podriacutea resultar

Sobrevivientes

DtDt

Dt DIDt

95

ma x_n fes n fesDt

Dt = DI minus DI(n fes (095ma x_n fes))

DI

DIDI

DI

DIDI = 03

CR F

CRCR

beneficioso Por otra parte los valores elevados de en general proporcionan soluciones de mayor calidad con una menor probabilidad ya que se tiende a realizar desplazamientos largos Sin embargo cuando son exitosos puedan mejorar la aptitud de forma significativa y permiten explorar zonas distantes Con base en esto en nuestra propuesta se emplean los dos mecanismos es decir valores elevados y pequentildeos de tal y como se muestra en la Ecuacioacuten ([eqncr])

Por otro lado siguiendo los principios de distintas variantes del SHADE se consideran las evaluaciones transcurridas para generar el factor de mutacioacuten aplicado Particularmente cada valor se muestrea de una distribucioacuten Cauchy (Ecuacioacuten [eqncauchy])

El efecto de esta distribucioacuten es que en las primeras etapas de optimizacioacuten se generen valores de cercanos a Posteriormente conforme la ejecucioacuten transcurre la funcioacuten de densidad sufre una transformacioacuten gradual ya que la varianza se incrementa Esto implica que se generen valores fuera del intervalo con una probabilidad maacutes alta En los casos en que los valores son mayores a se utiliza el valor mientras que si se genera un valor negativo se vuelve a muestrear el valor Uno de los efectos de este enfoque es el de incrementar la probabilidad de generar valores elevados de conforme transcurren las generaciones lo que ayuda a evitar la convergencia acelerada en las uacuteltimas etapas de optimizacioacuten

Resultados de de-edm En esta seccioacuten se presenta la validacioacuten experimental de de-edm Especiacuteficamente se muestra que se pueden mejorar los resultados de los algoritmos del estado-del-arte controlando de forma expliacutecita la diversidad Particularmente se consideraron los conjuntos de prueba de los concursos de optimizacioacuten continua organizados en el cec 2016 y cec 2017 Cada uno estaacute compuesto de treinta problemas distintos En la comparativa incluimos a los algoritmos que obtuvieron los primeros lugares en cada antildeo asiacute como una versioacuten de de que usa la misma parametrizacioacuten que de-edm pero que no incluye la poblacioacuten eacutelite ni el reemplazamiento basado en diversidad Los algoritmos considerados del cec 2016 son el UMOEAs-II y L-SHADE-EpSin que alcanzaron el primero y el segundo lugar respectivamente mientras que del cec 2017 se consideran el EBOwithCMAR y el jSO Todos estos algoritmos fueron probados con los dos conjuntos de prueba como se sugiere en Debido a que todos los algoritmos son estocaacutesticos se realizaron 51 ejecuciones con distintas semillas y en cada caso el criterio de paro fue asignado a de evaluaciones de la funcioacuten objetivo Ademaacutes se consideraron diez variables en cada funcioacuten

CR

CR

CR = Nor mal(02 01) si rand[0 1] le 05Nor mal(09 01) de otra forma

FF

Cauchy(05 05n fes ma x_n fes)

F 05

[00 10]10 10

F

25 000 000

( ) La evaluacioacuten de los algoritmos se realizoacute siguiendo los lineamientos de las competencias del cec de forma que se asignoacute un error igual a si la diferencia entre la mejor solucioacuten encontrada y la solucioacuten oacuteptima era menor que Para cada algoritmo se utilizoacute la parametrizacioacuten indicada por sus autores y que se describe a continuacioacuten

bull EBOwithCMAR Para la parte EBO el tamantildeo maacuteximo de la poblacioacuten de el tamantildeo miacutenimo de la poblacioacuten de el tamantildeo maacuteximo de la poblacioacuten de el tamantildeo miacutenimo de la poblacioacuten de el tamantildeo de la memoria histoacuterica H= Para la parte de CMAR el tamantildeo de la poblacioacuten CS = la probabilidad de buacutesqueda local y

bull UMOEAs-II Para la parte de MODE el tamantildeo maacuteximo de la poblacioacuten de el tamantildeo miacutenimo de la poblacioacuten de el tamantildeo de la memoria histoacuterica H= Para la

parte del CMA-ES el tamantildeo de la poblacioacuten CS =

Para la buacutesqueda local

bull jSO El tamantildeo maacuteximo de la poblacioacuten = el tamantildeo de la memoria histoacuterica H= valor de mutacioacuten inicial de la memoria probabilidad inicial de la memoria tamantildeo miacutenimo de la poblacioacuten = valor inicial p-best = valor final p-best =

bull L-SHADE-EpSin Tamantildeo maacuteximo de la poblacioacuten = tamantildeo de la memoria histoacuterica H= valor de la mutacioacuten inicial de la memoria probabilidad inicial de la memoria frecuencia inicial de la memoria tamantildeo miacutenimo de la poblacioacuten = valor inicial p-best = valor final p-best = generaciones de la buacutesqueda local

bull DE-EDM tamantildeo de la poblacioacuten =

bull Standard-DE Tamantildeo de la poblacioacuten = (mismos operadores que en de-edm)

Nuestro anaacutelisis experimental se realizoacute teniendo en cuenta la diferencia entre la solucioacuten oacuteptima y la mejor solucioacuten obtenida y para comparar los resultados estadiacutesticamente se siguioacute un procedimiento similar que el propuesto en Concretamente en primer lugar se utilizoacute la prueba Shapiro-Wilk para comprobar si los resultados se ajustaban a una distribucioacuten Gaussiana En los casos en que siacute se ajustaban se utilizoacute la prueba de Levene para comprobar la homogeneidad de las varianzas procediendo con la prueba de ANOVA en caso positivo o con la prueba de Welch en caso negativo Por otro lado para los casos que no se ajustaban a distribuciones Guassianas

D = 100

10minus8

S1 = 18DS1 = 4

S2 = (1468)D S2 = 106 S3 = 4 + 3log(D)

σ = 03 50 pl = 01 cfels = 04FEmax

S1 = 18DS1 = 4 6

S2 = 4 + lfloor3log(D)rfloor μ =PS2

σ = 03

50 cfels = 02FEmax

25log(D) D5 MF = 05

MCR = 08 4 025N2

25log(D) D5 MF = 05

MCR = 05 μF = 054 025N 2

GLS = 250

DI = 03 250

250

se utilizoacute la prueba de Kruskal-Wallis En todos los casos se fijoacute el nivel de confianza al 95 Se considera que un algoritmo es superior a un algoritmo si el procedimiento anterior reporta diferencias significativas y si la media y mediana del error obtenido por el meacutetodo son inferiores a las obtenidas por el meacutetodo

En las tablas [tabSummary_CEC2016] y [tabSummary_CEC2017] se presenta un resumen de los resultados obtenidos para el cec 2016 y el cec 2017 respectivamente La columna etiquetada con ldquoSiempre Resueltordquo muestra el nuacutemero de funciones en que se obtuvo un error de cero en las 51 ejecuciones La columna etiquetada con ldquoAl menos una vez resueltordquo muestra el nuacutemero de funciones que se resolvieron en al menos una ejecucioacuten Praacutecticamente todas las funciones del cec 2017 (28 de ellas) fueron resueltas al menos una vez por nuestra propuesta Ademaacutes se resolvieron 21 funciones del cec 2016 al menos una vez Esto representa una diferencia sustancial con los resultados obtenidos por el resto de algoritmos pues todos ellos resolvieron muchas menos funciones Con el objetivo de confirmar la superioridad del de-edm se ejecutaron las pruebas estadiacutesticas por pares La columna etiquetada con el siacutembolo muestra el nuacutemero de veces en que cada meacutetodo fue superior mientras que la columna etiquetada con cuenta el nuacutemero de casos donde el meacutetodo fue inferior Finalmente la columna etiquetada con muestra el nuacutemero de comparaciones en las que las diferencias no fueron significativas Las pruebas estadiacutesticas indican que el de-edm alcanzoacute los mejores resultados en los dos antildeos De hecho el nuacutemero de comparaciones en que nuestra propuesta ganoacute en el cec 2016 y el cec 2017 fue de y respectivamente y soacutelo perdioacute en y respectivamente que son valores muy superiores a los del resto de algoritmos La uacuteltima columna etiquetada con ldquoPuntajerdquo muestra la puntuacioacuten siguiendo los lineamientos propuestos en las competencias del cec Particularmente este meacutetodo de evaluacioacuten combina dos puntajes como se indica en la Ecuacioacuten ([eqntotal_scores]) definiendo el puntaje final como

Especiacuteficamente es la sumatoria de errores del -eacutesimo algoritmo ( )

ademaacutes es el error promedio en la -eacutesima funcioacuten es la miacutenima sumatoria de errores entre todos los algoritmos Por su parte es la sumatoria del rango de cada funcioacuten en

el -eacutesimo algoritmo ( ) Ademaacutes es la sumatoria miacutenima de los rangos

X YX

Y

harr

7788 25 6

Score = Score1 + Score2

Score1 = (1 minusSEi minus SEmin

SEi ) times 50

Score2 = (1 minusSRi minus SRmin

SRi ) times 50

SEi i SEi =30

sumj=1

error_ f j

error_ f j j SEmin

SRi

i SRi =30

sumj=1

rangoj SRmin

entre todos los algoritmos Nuestra propuesta alcanzoacute el mejor puntaje de en los dos antildeos demostrando su superioridad Adicionalmente es destacable que la versioacuten estaacutendar de de alcanzoacute resultados buenos de hecho obtuvo el tercer y el segundo lugar en los antildeos 2016 y 2017 respectivamente Esto muestra que el rendimiento de los algoritmos del estado-del-arte se deteriora al considerar ejecuciones a largo plazo pues esos algoritmos que fueron muy efectivos a corto plazo no lo son tanto a largo plazo La superioridad del de-edm es clara con base en todos los tipos de comparativas descritas

Ademaacutes con el fin de proporcionar resultados que puedan usar otros autores para realizar comparativas en las tablas [tabResults_CEC2016] y [tabResults_CEC2017] se reporta el mejor peor mediana media desviacioacuten estaacutendar y razoacuten de eacutexito para el cec 2016 y 2017 respectivamente En estas tablas se observa que nuestra propuesta resuelve todos los problemas uni-modales y que en la mayor parte de los problemas multi-modales se obtienen resultados muy aceptables con respecto a los reportados por otros meacutetodos Asiacute nuestra propuesta resolvioacute y mejoroacute significativamente varias funciones complejas que no fueron resueltas por ninguno de los algoritmos restantes

[tabResults_CEC2016]

10000

Resultados del de-edm con los problemas del cec 2016

Mejor Peor Mediana Media Sd Razoacuten de eacutexito

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 360E-02 400E-03 739E-03 115E-02 392E-01

200E-02 102E-01 590E-02 577E-02 493E-02 000E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 600E-02 000E+00 588E-03 190E-02 902E-01

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

100E-02 800E-02 500E-02 467E-02 260E-02 000E+00

100E-02 500E-02 300E-02 282E-02 213E-02 000E+00

000E+00 470E-01 220E-01 199E-01 155E-01 196E-02

400E-02 150E-01 800E-02 847E-02 496E-02 000E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 200E-02 100E-02 765E-03 632E-03 314E-01

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 000E+00 000E+00 000E+00 000E+00 100E+00

000E+00 300E-02 000E+00 373E-03 276E-02 765E-01

000E+00 100E+02 000E+00 255E+01 510E+01 745E-01

f17

f10

f3

f20

f13

f6

f23

f16

f9

f2

f19

f12

f5

f22

f15

f8

f1

f18

f11

f4

f21

f14

f7

[tabResults_CEC2017]

000E+00 690E-01 000E+00 261E-02 133E-01 961E-01

100E+02 100E+02 100E+02 100E+02 000E+00 000E+00

800E-02 100E+02 529E+01 520E+01 319E+01 000E+00

250E-01 910E-01 540E-01 560E-01 292E-01 000E+00

000E+00 357E+02 343E+02 276E+02 160E+02 196E-01

100E+02 100E+02 100E+02 100E+02 000E+00 000E+00

184E+02 184E+02 184E+02 184E+02 325E-02 000E+00

f26

f25

f24

f30

f29

f28

f27

Resultados del de-edm con los problemas del cec 2017

Mejor Peor Mediana Media Sd Razoacuten de eacutexito

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 120E-01 000E+00 165E-02 339E-02 745E-01

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 220E-01 000E+00 637E-02 176E-01 667E-01

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

f14

f11

f8

f5

f2

f13

f10

f7

f4

f1

f15

f12

f9

f6

f3

000E+00 210E-01 000E+00 247E-02 727E-02 882E-01

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 100E-02 000E+00 196E-03 447E-03 804E-01

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 300E+02 000E+00 349E+01

103E+02 882E-01

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 100E+02 000E+00 392E+00

200E+01 961E-01

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

000E+00 387E+02 387E+02 205E+02

268E+02 196E-02

000E+00 000E+00 000E+00 000E+00

000E+00 100E+00

145E+02 226E+02 218E+02 199E+02

421E+01 000E+00

395E+02 395E+02 395E+02 395E+02

210E-01 000E+00

f23

f20

f17

f28

f25

f22

f19

f16

f30

f27

f24

f21

f18

f29

f26

Disentildeo de operadores de cruza basados en diversidad La segunda propuesta se aplica en el campo de optimizacioacuten multi-objetivo y estaacute basada en la extensioacuten del operador de cruza sbx En esta seccioacuten se introducen en primer lugar varios conceptos relacionados con los algoritmos evolutivos multi-objetivo para posteriormente describir algunas de las clasificaciones maacutes populares de operadores de cruza Finalmente se realiza un anaacutelisis del operador sbx y con base en el mismo se propone una variante dinaacutemica denominada Operador de Cruza Dinaacutemico basado en Simulacioacuten Binaria (Dynamic Simulated Binary Crossover - dsbx) el cual es validado experimentalmente

Algoritmos evolutivos multi-objetivo Los eas han sido utilizados frecuentemente para lidiar con problemas de optimizacioacuten multi-objetivo (Multi-objective Optimization Problems - MOPs) Particularmente un MOP de dominio continuo y que es basado en minimizacioacuten puede ser definido como se indica en la Ecuacioacuten ([eqnModel_general]) de la seccioacuten 1 fijando la a un valor mayor que uno Dadas dos soluciones domina a denotado por si y solo si y Una solucioacuten es conocida como solucioacuten oacuteptima de Pareto si no existe otra solucioacuten que domine a El conjunto de Pareto es el conjunto de todas las soluciones oacuteptimas de Pareto y el frente de Pareto estaacute formado por las imaacutegenes del conjunto de Pareto El propoacutesito de un Algoritmo Evolutivo Multi-Objetivo (Multi-objective Evolutionary Algorithm - MOEA) es esencialmente obtener un conjunto de soluciones bien distribuidas y cercanas a las soluciones del frente de Pareto

En los uacuteltimos antildeos se han disentildeado una gran cantidad de moeas siguiendo distintos principios A raiacutez de esto se han propuesto varias taxonomiacuteas y por ejemplo en base a sus principios de disentildeo se pueden clasificar en basados en la dominancia de Pareto indicadores yo descomposicioacuten Hay algoritmos muy competitivos de cada uno de los grupos por lo que en esta seccioacuten se consideraron moeas de todos los grupos para realizar la validacioacuten Particularmente la validacioacuten experimental se desarrolloacute incluyendo a los algoritmos Algoritmo Geneacutetico basado en Ordenacioacuten de los No-Dominados (Non-Dominated Sorting Genetic Algorithm - NSGA-II) el Algoritmo Evolutivo Multi-objetivo basado en descomposicioacuten (MOEA based on Decomposition - MOEAD) y el Algoritmo Evolutivo Multi-objetivo basado en la Meacutetrica-S (the -Metric Selection Evolutionary Multi-objective Optimization Algorithm - SMS-EMOA) Estos algoritmos son representativos de los basados en dominancia basados en descomposicioacuten y basados en indicadores respectivamente

Mrarrx rarry isin Ω rarrx rarry rarrx ≺ rarry

forallm isin 1 2 M fm(xi) le fm(yi) existm isin 1 2 M fm(xi) lt fm(yi)rarrx isin Ω

rarrx isin Ωrarrx

S

Funcioacuten de densidad del operador de cruza sbx con iacutendices de distribucioacuten y Las soluciones padre estaacuten ubicadas en y respectivamente

[figfig_sim]

[figSimulation_pv]

[figSimulations_Index_20]

2 52 5

Operadores de cruza Los operadores de cruza son utilizados para generar soluciones hijas utilizando la informacioacuten de las soluciones padre Asiacute estos operadores combinan las caracteriacutesticas de dos o maacutes soluciones padre con el propoacutesito de generar nuevas soluciones candidatas En base en que en la literatura existen diversos operadores de cruza se han propuesto varias taxonomiacuteas para clasificarlos Particularmente las taxonomiacuteas se basan en varias caracteriacutesticas tales como la ubicacioacuten relativa entre padres e hijos o el tipo de relaciones existentes entre las variables

Una clasificacioacuten popular hace distincioacuten entre operadores de cruza basados en las variables y basados en los vectores En los basados en las variables cada variable de las soluciones padre son combinadas para crear nuevos valores de forma independiente siendo ideales para lidiar con problemas separables Algunos operadores que pertenecen a esta categoriacutea son el Operador de Cruza por Mezcla (the Blend Crossover - blx) y el sbx Por otra parte los operadores de recombinacioacuten basados en vectores tienen en cuenta la relacioacuten que existe entre las variables por lo que la combinacioacuten no es independiente Asiacute este tipo de operadores pueden por ejemplo realizar combinaciones lineales de las soluciones involucradas Algunos operadores que pertenecen a esta categoriacutea son el Operador de Cruza Unimodal Normalmente Distribuido (Unimodal Normally Distributed Crossover - undx) y el Operador de Cruza Simplex (Simplex Crossover - spx)

Adicionalmente los operadores de cruza pueden ser clasificados como centrados en los padres y centrados en la media En los operadores centrados en los padres las soluciones hijas tienden a ser creadas alrededor de cada solucioacuten padre mientras que en los operadores centrados en la media se tiende a crear a las soluciones hijas alrededor de la media de los valores de las soluciones padres

El operador de cruza basado en simulacioacuten binaria - SBX

Entre los operadores de cruza el Operador de Cruza Basado en Simulacioacuten Binaria (Simulated Binary Crossover - sbx) es uno de los maacutes utilizados en dominios continuos y fue el que se decidioacute extender en nuestra propuesta por lo que esta seccioacuten se centra en este operador de cruza El operador sbx es clasificado como un operador centrado en los padres por lo que los valores asociados a los hijos ( y ) tienden a ser cercanos a los valores de los padres ( y ) Especiacuteficamente el proceso para generar los valores de las soluciones hijas se basa en utilizar una distribucioacuten de probabilidad Esta distribucioacuten controla el factor de dispersioacuten el cual es definido como la razoacuten entre la distancia de los valores de las soluciones hijas y la distancia entre los valores de las soluciones padre Esta funcioacuten de densidad se define con base en un iacutendice de distribucioacuten (es un paraacutemetro de control

c1 c2 p1 p2

β = |c1 minus c2 | | p1 minus p2 |

ηc

especificado por el usuario) el cual altera la capacidad de exploracioacuten Especiacuteficamente un iacutendice pequentildeo induce una probabilidad elevada de crear valores de las soluciones hijas distantes de los valores de las soluciones padre mientras que iacutendices elevados tienden a crear soluciones muy similares a las soluciones padre lo cual se ilustra en la figura [figfig_sim] La definicioacuten matemaacutetica de la distribucioacuten y la forma de generar los valores de las soluciones hijas pueden ser estudiados en Las ecuaciones iniciales fueron formuladas con base en un problema de optimizacioacuten sin liacutemites en las variables Sin embargo en muchos problemas cada variable estaacute limitada dentro de un liacutemite inferior y superior Para considerar los liacutemites del espacio de decisioacuten se propuso una modificacioacuten de la distribucioacuten de probabilidad que es la que se usa en este artiacuteculo Para el caso de nuestro meacutetodo no es demasiado importante conocer la foacutermula exacta sino el efecto del valor que se ha ilustrado previamente

[algSBX_Operator]

Entrada Soluciones padre ( ) Iacutendice de distribucioacuten ( ) Probabilidad de cruza ( ) Salida Soluciones hijo ( ) [alginherit_variable] Generar utilizando las distribuciones dadas en Generar utilizando las distribuciones dadas en Intercambiar con

Es importante aclarar que la primera versioacuten del sbx fue disentildeada con base en una sola variable Posteriormente los autores consideraron aplicarlo a problemas con muacuteltiples variables considerando una estrategia simple para escoger las variables que se van a cruzar Especiacuteficamente con base en los principios del operador de cruza uniforme cada variable es cruzada con una probabilidad igual a A pesar de su sencillez y de no tener en cuenta las posibles dependencias entre variables hoy en diacutea eacutesta es la forma maacutes comuacuten de aplicar el sbx

Implementacioacuten y anaacutelisis del operador sbx

En este apartado se discuten algunas de las principales caracteriacutesticas de la implementacioacuten maacutes utilizada del operador sbx para problemas con muacuteltiples variables Esencialmente se consideran tres componentes clave que podriacutean afectar al rendimiento de los moeas En primer lugar como ya se mencionoacute anteriormente cada variable es alterada con una probabilidad fija igual a Si este valor de probabilidad se incrementa entonces los hijos tienden a crearse a mayor distancia de los padres debido a que se modifican maacutes variables de forma simultaacutenea En los problemas separables en general interesa modificar soacutelo una variable mientras que en los no separables suele ser maacutes conveniente modificar varias variables a la vez En la figura [figSimulation_pv] se pueden observar las implicaciones de modificar esta probabilidad considerando un problema con dos variables Particularmente en la parte derecha se muestra que una probabilidad pequentildea provoca que algunos valores permanezcan intactos es decir hay una tendencia de generar

ηc

P1 P2 ηc PcC1 C2 C1d

C2d C1d C2dC1d = P1d C2d = P2d C1 = P1 C2 = P2

05

05

desplazamientos paralelos a los ejes lo cual suele ser ideal para problemas separables Por otra parte en la parte izquierda se muestra que utilizando una probabilidad elevada existe un comportamiento de buacutesqueda distinto donde la tendencia anterior desaparece lo cual podriacutea ser oportuno para problemas no separables Es importante destacar que existe una relacioacuten entre esta probabilidad y el iacutendice de distribucioacuten ya que estos dos factores tienen un efecto directo en la similitud que existe entre las soluciones padres e hijas

[figSimulation_Case_3]

El segundo aspecto importante es que despueacutes de generar los dos valores de las soluciones hijas estos valores son intercambiados con una probabilidad fija (usualmente es ) es decir el valor de la solucioacuten hija no siempre es heredado a partir de la solucioacuten padre maacutes cercana Esta es una caracteriacutestica no muy discutida sin embargo es un aspecto muy relevante que afecta al rendimiento del algoritmo En algunos contextos esta probabilidad se denomina ldquoProbabilidad de cruza uniforme por variablerdquo (Variable uniform crossover probability) o ldquoRecombinacioacuten Discretardquo (Discrete Recombination) Dado que en el aacutembito multi-objetivo se promueve maacutes diversidad en las variables de decisioacuten de forma impliacutecita estos intercambios podriacutean ser altamente disruptivos De hecho debido a esto no es totalmente claro que el sbx deba ser categorizado como un operador centrado en los padres Estos intercambios que existen entre los valores de las soluciones hijas tienen un efecto de realizar muacuteltiples ldquoreflexionesrdquo en el espacio de buacutesqueda Asiacute conforme se incrementa la dimensionalidad en el espacio de las variables el nuacutemero de regiones cubiertas crece de forma exponencial como se puede observar en los casos de dos y tres dimensiones en la figura [figSimulations_Index_20] Es importante notar que esta caracteriacutestica tiene un efecto relevante en la distancia entre las soluciones padre y las soluciones hijas

Finalmente se discute el iacutendice de distribucioacuten que es quizaacutes la caracteriacutestica maacutes conocida del operador sbx Un iacutendice de distribucioacuten pequentildeo provoca un grado de exploracioacuten elevado De hecho un iacutendice de distribucioacuten igual a uno tiene un efecto similar al Operador de Recombinacioacuten Difusa (Fuzzy Recombination Operator) En la figura [figSimulation_Case_3] se puede observar el efecto de aplicar distintos iacutendices de distribucioacuten Particularmente en la parte izquierda se considera un iacutendice de distribucioacuten pequentildeo mientras en la parte derecha se considera un iacutendice de distribucioacuten grande Se observa que este uacuteltimo genera soluciones candidatas similares a las soluciones padre

05c1 p1

En el Algoritmo [algSBX_Operator] se muestra la implementacioacuten del operador sbx Este pseudocoacutedigo estaacute basado en la implementacioacuten que estaacute integrada en el coacutedigo del NSGA-II propuesto por Deb et al la cual se considera como la variante maacutes popular En los paraacutemetros de entrada se requieren dos soluciones padre ( ) y eacuteste crea dos soluciones hijas ( ) El primero y el segundo componente mencionados previamente corresponden a las liacuteneas 5 y 9 respectivamente El caso claacutesico del operador sbx se configura con los paraacutemetros y Es importante hacer notar que la implementacioacuten claacutesica no considera la dimensionalidad de las variables o el criterio de paro como parte de sus paraacutemetros internos

Propuesta - dsbx Con base en el anaacutelisis anterior y con el propoacutesito de inducir un balanceo entre exploracioacuten e intensificacioacuten de forma dinaacutemica y que dependa del instante de ejecucioacuten se proponen las siguiente modificaciones En primer lugar se modifica la probabilidad de alterar una variable ( ) durante la ejecucioacuten La intencioacuten de esta modificacioacuten es estimular la capacidad de exploracioacuten considerando inicialmente una probabilidad elevada para alterar maacutes variables de forma simultaacutenea mientras que conforme la ejecucioacuten avanza se reduce esta probabilidad con el fin de reducir el nuacutemero de variables que se modifican y promover asiacute movimientos maacutes pequentildeos El valor de se cambia con base en un modelo lineal decreciente donde inicialmente se fija a y se decrementa de forma que a la mitad del total de generaciones alcanza el valor Este uacuteltimo valor es mantenido hasta el final de la ejecucioacuten es decir desde la mitad de la ejecucioacuten este paraacutemetro se fija al mismo valor que el de la implementacioacuten tradicional del sbx Para asignar el valor se utiliza la Ecuacioacuten ([eqnlinear]) donde corresponde a la generacioacuten actual y corresponde al nuacutemero total de generaciones

El segundo cambio estaacute relacionado con la probabilidad de aplicar reflexiones ( ) En este caso es actualizado de acuerdo a la Ecuacioacuten ([eqnlinear]) por lo tanto la probabilidad de aplicar una reflexioacuten se incrementa de a durante la ejecucioacuten Esta modificacioacuten se realiza con el propoacutesito de evitar el comportamiento disruptivo de intercambiar variables en las primeras generaciones ya que esto provocariacutea modificaciones muy draacutesticas De esta forma seriacutea maacutes sensato aplicar estas reflexiones una vez que los individuos convergen en cierto grado Noacutetese que se incrementa hasta el valor el cual es el valor utilizado en la implementacioacuten del sbx estaacutendar ya que no se quiere disponer de un comportamiento excesivamente disruptivo Sin embargo en el futuro seriacutea interesante realizar estudios con otros valores finales

P1 P2 C1 C2

δ1 = δ2 = 05ηc = 20

δ1

δ110

05

δ1 GTranscurridasGTotal

1 minus δ2δ2

00 05

05

δ1 = δ2 = ma x(05 10 minusGTranscurridas

GTotal )

Finalmente el iacutendice de distribucioacuten tambieacuten es modificado durante la ejecucioacuten En las primeras etapas se promueve un iacutendice de distribucioacuten pequentildeo con el propoacutesito de incrementar la capacidad de exploracioacuten del sbx Posteriormente se decrementa de forma lineal lo cual tiene el efecto de que la curva de distribucioacuten se cierre y por lo tanto se promueve un mayor grado de intensificacioacuten en las etapas finales El incremento lineal es llevado a cabo usando la Ecuacioacuten ([eqnindex_eta]) por lo tanto el iacutendice de distribucioacuten es alterado de a Es importante aclarar que ya se han considerado modificaciones similares al iacutendice de distribucioacuten aunque las otras propiedades que se modifican nunca han sido estudiadas en profundidad

Resultados Puntos de referencias para el indicador HV

[tabMetrics_2]

[tabMetrics_3]

[tabstatistical_Tests]

2 22

ηc = 2 + 20 times ( GTranscurridas

GTotal )

Instancias Punto de referencia

WFG1-WFG9

DTLZ 1 2 4

DTLZ 3 5 6

DTLZ7

UF 1-10

[11 11]

[2 2]

[21 2m + 01]

[11 11 2m]

[3 3]

HV-2obj 16 29 47 6 61 25 28 19 45 31 23 38 54 3 35

HV-3obj 15 19 42 12 50 14 17 15 44 33 10 33 26 9 41

IGD-2obj 14 30 48 4 60 28 25 17 50 33 19 40 52 2 38

harr harrharr harrharr

En este apartado se analizan los resultados obtenidos con las variantes dinaacutemicas del sbx (dsbx) El nuevo operador de cruza se integroacute en los algoritmos NSGA-II MOEAD y SMS-EMOA En primer lugar se analiza cada una de las tres modificaciones propuestas de forma aislada Posteriormente se construye un caso donde se consideran las dos modificaciones que ofrecieron mejores resultados de forma simultaacutenea Como parte de la validacioacuten experimental se consideran los problemas de prueba WFG DTLZ y UF Ademaacutes con el propoacutesito de comparar nuestra extensioacuten del sbx con otros operadores se incluye la variante de evolucioacuten diferencial conocida como demo

Para llevar a cabo el anaacutelisis experimental y dado que todos los algoritmos son estocaacutesticos cada caso fue ejecutado veces con distintas semillas La configuracioacuten global que se aplicoacute a todos los algoritmos fue la siguiente Se asignoacute el criterio de paro a generaciones el tamantildeo de la poblacioacuten a se configuraron los problemas de prueba wfg con dos y tres objetivos considerando 24 variables donde variables son paraacutemetros de distancia y son

IGD-3obj 14 18 44 13 44 19 18 15 43 33 15 28 23 9 44

HV-2obj 15 33 44 10 60 22 25 26 41 39 18 35 57 9 26

HV-3obj 10 22 44 12 39 25 11 19 46 24 10 42 38 5 33

IGD-2obj 16 31 45 9 60 23 23 27 42 37 17 38 57 7 28

IGD-3obj 12 22 42 13 43 20 13 24 39 30 9 37 40 10 26

HV-2obj 9 35 48 7 43 42 16 31 45 41 9 42 53 8 31

HV-3obj 7 21 48 9 35 32 13 21 42 27 6 43 31 4 41

IGD-2obj 10 34 48 15 48 29 12 33 47 41 12 39 55 6 31

IGD-3obj 8 20 48 13 30 33 9 19 48 22 5 49 27 5 44

harr

harr

harr

harr

harr

harr

harr

harr

harr

harr

3525 000

10020 4

paraacutemetros de posicioacuten Como es sugerido en se consideroacute variables de decisioacuten en los problemas de prueba dtlz donde para los problemas DTLZ1 DTLZ2 - DTLZ6 y DTLZ7 se consideraron respectivamente En el caso de los problemas de prueba uf se utilizaron variables de decisioacuten Finalmente se hizo uso del operador de mutacioacuten polinomial con una probabilidad de mutacioacuten de y con un iacutendice de distribucioacuten igual a mientras que el operador de cruza sbx se utilizoacute con una probabilidad de cruza igual a y un iacutendice de distribucioacuten de

A continuacioacuten se especifica la parametrizacioacuten adicional propia de cada algoritmo

bull DEMO CR = 03 y F = 05

bull SMS-EMOA desplazamiento para calcular el HV = 100

bull MOEAD tamantildeo de la vecindad = 10 el nuacutemero de actualizaciones por subproblema ( ) = 2 y

Para comparar los frentes obtenidos por cada meacutetodo se utiliza el hipervolumen normalizado (HV) que se debe maximizar y la Distancia Generacional Invertida Modificada (Inverted Generational Distance Plus - IGD+) que se debe minimizar En la tabla [tabReferencePoints] se presentan los puntos de referencia utilizados para el indicador del hipervolumen los cuales son similares a los utilizados en Por otra parte para comparar los resultados estadiacutesticamente (valores del IGD+ y HV) se siguioacute un procedimiento similar al que se propuso en siendo el mismo que se aplicoacute para validar la primera propuesta

Anaacutelisis de cada modificacioacuten en el operador sbx En este apartado se analiza el efecto que cada modificacioacuten propuesta tiene de forma independiente sobre los resultados obtenidos Para ello basados en el Algoritmo [algSBX_Operator] se proponen cuatro casos

bull Caso 1 se aplica la versioacuten estaacutendar del operador sbx donde y

bull Caso 2 se actualiza el valor como se indica en la Ecuacioacuten ([eqnlinear]) y

bull Caso 3 se actualiza el valor como se indica en la Ecuacioacuten ([eqnlinear]) y

bull Caso 4 se actualiza el iacutendice de distribucioacuten de acuerdo a la Ecuacioacuten ([eqnindex_eta])

n = M + r minus 1

r = 5 10 2030

1n 5009

20

nrδ = 09

δ1 = δ2 = 05 ηc = 20

δ1 δ2 = 05ηc = 20

δ2 δ1 = 05ηc = 20

δ1 = δ2 = 05

En las tablas [tabMetrics_2] y [tabMetrics_3] se muestra informacioacuten del HV normalizado y del IGD+ para cada caso con dos y tres objetivos respectivamente (el Caso 5 se comenta maacutes adelante) Especiacuteficamente se muestra la media del HV e IGD+ para todos los problemas en dos y tres objetivos Se observa que considerando dos y tres objetivos el Caso 4 mejora al Caso 1 al Caso 2 y al Caso 3 en todos los algoritmos Por lo tanto se aprecian de forma clara los beneficios de incrementar el iacutendice de distribucioacuten durante la ejecucioacuten Por otra parte al considerar tres objetivos el Caso 2 presentoacute un rendimiento menor que el Caso 1 posiblemente debido a que al alterar tantas variables de forma simultaacutenea se produce un comportamiento excesivamente disruptivo Quizaacutes los resultados podriacutean mejorar si el paraacutemetro es alterado de una forma distinta sin embargo esto se deja como trabajo futuro Los anaacutelisis anteriores uacutenicamente consideran la media obtenida en todos los problemas de prueba En la tabla [tabstatistical_Tests] se muestran los resultados de las pruebas estadiacutesticas (el Caso 5 se discute en la siguiente seccioacuten) Particularmente se realizan comparaciones por pares en base a las pruebas estadiacutesticas ya mencionadas entre los cinco casos Este procedimiento se realizoacute de forma independiente para el NSGA-II MOEAD y el SMS-EMOA Para cada algoritmo y para cada caso la columna ldquo rdquo reporta el nuacutemero de comparaciones donde las pruebas estadiacutesticas confirmaron la superioridad del caso correspondiente mientras que en la columna ldquo rdquo se reporta el nuacutemero de veces donde este caso fue inferior y la columna ldquo rdquo indica el nuacutemero de comparaciones donde las diferencias no fueron significativas Con base en estos resultados se puede observar que el caso 3 y caso 4 aportan con respecto al caso 1 mientras que el caso 2 no es robusto siendo en varios algoritmos inferior al caso 1 Adicionalmente se anexan resultados detallados para facilitar que otros investigadores puedan realizar comparativas con un mayor nivel de detalle 6

Modificacioacuten simultaacutenea de varios componentes Con base en los anaacutelisis realizados con anterioridad se propone una variante del operador sbx que incorpora las modificaciones propuestas en el Caso 3 y Caso 4 de forma simultaacutenea es decir se incorpora un cambio dinaacutemico tanto en el paraacutemetro como en el iacutendice de distribucioacuten Debido a los resultados de baja calidad del Caso 2 el paraacutemetro no se modifica de forma dinaacutemica Particularmente el Caso 5 se construye con base en el Algoritmo [algSBX_Operator] asignando el paraacutemetro a debido a que es la forma de la versioacuten estaacutendar del sbx mientras que es actualizado de acuerdo a la Ecuacioacuten ([eqnlinear]) y el paraacutemetro es actualizado como se indica en la Ecuacioacuten ([eqnindex_eta])

De acuerdo a la media del HV y del IGD+ que se obtuvieron en el Caso 5 (ver tablas [tabMetrics_2] y [tabMetrics_3]) es claro que integrar los Casos 3 y 4 proporciona

δ1

harr

δ2δ1

δ1 05δ2 ηc

httpsgithubcomjoelchaconcastilloSBX_CEC20186

beneficios importantes En el caso de dos objetivos se observa una ventaja significativa Sin embargo en el caso de tres objetivos los Casos 4 y 5 son muy similares con base en la media Ademaacutes al considerar tres objetivos los resultados que se obtuvieron en el Caso 5 son superiores a los obtenidos con de mientras que al considerar la versioacuten estaacutendar de sbx se observa un deterioro Por lo tanto si el operador sbx es configurado adecuadamente puede generar resultados similares o superiores que el algoritmo demo

Finalmente en la tabla [tabstatistical_Tests] se muestran los resultados de las pruebas estadiacutesticas Los beneficios obtenidos por el Caso 5 son muy claros De hecho uacutenicamente el Caso 4 obtuvo mejores resultados que el Caso 5 al considerar tres objetivos y al algoritmo NSGA-II Esto demuestra que se pueden obtener mejores resultados si se integran varias modificaciones dinaacutemicas de forma simultaacutenea Ademaacutes los resultados confirman las ventajas de la versioacuten dinaacutemica frente al caso estaacutendar (Caso 1) El uacutenico caso que no presenta ventajas importantes frente a la versioacuten estaacutendar del sbx es el Caso 2 el cual fue discutido con anterioridad

Conclusiones y trabajo futuro La convergencia prematura es una de las debilidades maacutes importantes de los eas Una de las formas de lidiar con este problema consiste en inducir un balanceo adecuado entre exploracioacuten e intensificacioacuten Sin embargo obtener este balanceo no es una tarea trivial debido a que cada problema de optimizacioacuten tiene caracteriacutesticas distintas y por ello han surgido numerosos esquemas para tratar esta problemaacutetica Con base en esto se han desarrollado varias taxonomiacuteas con el propoacutesito de clasificar las diferentes formas en que se puede preservar y promover la diversidad En este trabajo con el fin de ilustrar como se pueden realizar disentildeos de eas que tomen en cuenta el balanceo entre exploracioacuten e intensificacioacuten se presentan dos ejemplos De forma general las propuestas establecen un comportamiento dinaacutemico de alguacuten componente del ea teniendo en cuenta para ello el criterio de paro y el instante en que se encuentra la ejecucioacuten Asiacute se obtuvo un balanceo adecuado en el que en las primeras fases se promueve maacutes exploracioacuten y en las uacuteltimas se promueve maacutes la intensificacioacuten De modo maacutes especiacutefico en la primera propuesta se modifica evolucioacuten diferencial por medio de una nueva fase de reemplazo con el propoacutesito de conseguir este balanceo Ademaacutes esta contribucioacuten incorpora una poblacioacuten eacutelite con el propoacutesito de proporcionar soluciones de calidad tanto a mediano como a largo plazo Con base en la validacioacuten experimental llevada a cabo se observa que esta propuesta mejora a los mejores algoritmos que se habiacutean propuesto en una competicioacuten que consideroacute las funciones de prueba usadas en este capiacutetulo Posteriormente se presenta un anaacutelisis del operador de cruza sbx y se desarrolloacute una variante que modifica varios componentes de forma dinaacutemica

considerando tambieacuten el criterio de paro y las generaciones transcurridas Con base en los resultados obtenidos con problemas muy populares del aacutembito de optimizacioacuten multi-objetivo se muestra que usar el operador sbx modificado ofrece ventajas muy importantes en varios moeas y para diferentes indicadores De forma general se observa que obtener un balanceo apropiado entre exploracioacuten e intensificacioacuten es realmente importante y que esto se puede conseguir utilizando teacutecnicas radicalmente diferentes aunque siguiendo los mismos principios de disentildeo

El campo de disentildeo de eas es un campo muy activo y en el que hay muchas ideas auacuten por explorar Uno de los aspectos importantes es que las estrategias de control de diversidad ofrecen muchas ventajas a largo plazo pero se debe hacer el esfuerzo por conseguir que se pueda reducir el nuacutemero de evaluaciones requeridas para obtener resultados prometedores Otro aspecto importante es que en general la mayor parte de las estrategias de control de diversidad introduce nuevos paraacutemetros por lo que es importante combinar estos mecanismos con estrategias de control de paraacutemetros adaptativas o auto-adaptativas para facilitar su utilizacioacuten Finalmente para el caso especiacutefico del dsbx seriacutea interesante integrarlo con teacutecnicas de aprendizaje para lidiar con problemas con dependencias y mejorar asiacute auacuten maacutes el rendimiento de la propuesta

Para saber maacutes bull Para saber maacutes sobre la historia de los algoritmos evolutivos se sugiere consultar

bull Puede consultar informacioacuten sobre tipos de metaheuriacutesticas y disentildeo e implementacioacuten de las mismas en

bull Si desea consultar informacioacuten baacutesica sobre los fundamentos de los algoritmos evolutivos se sugiere consultar

bull Para profundizar maacutes en el toacutepico de manejo de diversidad exploracioacuten e intensificacioacuten se sugiere consultar

bull Se puede consultar material relacionado con operadores de cruza y algoritmos evolutivos multi-objetivo en

bull Para obtener maacutes informacioacuten relacionada al tema de evolucioacuten diferencial se sugiere consultar

bull Si desea consultar aplicaciones de algoritmos evolutivos multi-objetivo se puede consultar

Agradeciemientos Los autores agradecen el apoyo financiero proporcionado por CONACyT a traveacutes del proyecto no 285599

Hiper-heuriacutesticas en la Solucioacuten de Problemas de Optimizacioacuten

Hugo Terashima-Mariacuten Santiago Enrique Conant-Pablos Joseacute Carlos Ortiz-Bayliss e Ivaacuten Mauricio Amaya Contreras

terashimasconantjcobaylissiamaya2itesmmx Tecnologico de Monterrey Escuela de Ingenieriacutea y Ciencias

Campus Monterrey

Introduccioacuten Cuando nos enfrentamos a problemas complejos como aquellos del tipo NP o de optimizacioacuten combinatoria pueden presentarse dos escenarios diferentes En el primero estamos dispuestos a invertir todos los recursos disponibles para resolver de la mejor manera posible un problema particular Este escenario se caracteriza porque cada vez que un nuevo problema aparece se invierte una gran cantidad de recursos para obtener una solucioacuten a esa instancia dada En el segundo escenario estamos dispuestos a sacrificar algo de la calidad de la solucioacuten para economizar recursos Por lo tanto se utilizan meacutetodos geneacutericos y capaces de obtener soluciones aceptables mediante un uso racionado de los recursos En este caso el riesgo es que el meacutetodo geneacuterico no sea adecuado para el problema y que produzca una solucioacuten de mala calidad Estaacute claro que en promedio el primer escenario generaraacute mejores soluciones pero no es viable en la mayoriacutea de los problemas reales debido al alto consumo de recursos Las hiper-heuriacutesticas por otra parte son generalmente uacutetiles en el segundo escenario pues buscan proporcionar estrategias geneacutericas con buena calidad

Las hiper-heuriacutesticas son meacutetodos emergentes de buacutesqueda heuriacutestica que intentan producir un nivel maacutes alto de flexibilidad e independencia del dominio en que se aplican de tal forma que sean capaces de adaptarse a distintos tipos de problemas o a las distintas instancias de un mismo tipo Esto lo automatizan frecuentemente incorporando meacutetodos de aprendizaje automaacutetico y lo ejecutan a traveacutes de un proceso de seleccioacuten dinaacutemica de heuriacutesticas maacutes simples durante la solucioacuten de los problemas o bien mediante la generacioacuten de nuevas heuriacutesticas a partir de la combinacioacuten o adaptacioacuten de otras ya existentes (o de sus componentes) Actualmente hay diversos modelos de hiper-heuriacutesticas los cuales pueden clasificarse de acuerdo a las categoriacuteas propuestas por Esta clasificacioacuten divide a las hiper-heuriacutesticas seguacuten su forma de aprendizaje asiacute como seguacuten su mecanismo de obtencioacuten de las soluciones entre otros Aunque el teacutermino lsquohiper-heuriacutesticarsquo fue acuntildeado como tal en el 2001 hubieron esfuerzos previos con ideas similares Entre ellos cabe destacar a los portafolios (o seleccioacuten) de algoritmos y a la

configuracioacuten especiacutefica de algoritmos Desde entonces la actividad de investigacioacuten en hiper-heuriacutesticas ha avanzado y propagado en diversas instituciones en el mundo y ha sido tema de presentacioacuten y discusioacuten en diversas conferencias y revistas internacionales

Por otra parte y en lo que respecta a la investigacioacuten en hiper-heuriacutesticas en Meacutexico son pocos los investigadores e instituciones que se han vinculado a ella La mayor parte de la investigacioacuten realizada en el tema se concentroacute inicialmente en el Tecnoloacutegico de Monterrey donde se han desarrollado hiper-heuriacutesticas para corte y empacado satisfaccioacuten de restricciones y ruteo de vehiacuteculos El Tecnoloacutegico de Monterrey es tambieacuten pionero en el tema de la transformacioacuten de caracteriacutesticas y en hiper-heuriacutesticas para resolver problemas multi-objetivo Las hiper-heuriacutesticas desarrolladas en el Tecnoloacutegico de Monterrey se han fundamentado en diversas estrategias de aprendizaje que incluyen algoritmos geneacuteticos redes neuronales y programacioacuten geneacutetica entre otras Recientemente el Instituto Politeacutecnico Nacional (IPN) y el CINVESTAV han logrado importantes avances en lo relacionado a hiper-heuriacutesticas para problemas multi-objetivo y en el uso de hiper-heuriacutesticas basadas en evolucioacuten diferencial Como resultado de la colaboracioacuten del Tecnoloacutegico de Monterrey y el CINVESTAV en el 2017 comenzoacute a explorarse la transformacioacuten de caracteriacutesticas como mecanismo para mejorar el desempentildeo de hiper-heuriacutesticas El Instituto Tecnoloacutegico de Leoacuten y la Universidad de Guanajuato ha colaborado para desarrollar muacuteltiples trabajos sobre hiper-heuriacutesticas Los dominios de problemas que han abordado con hiper-heuriacutesticas incluyen calendarizacioacuten de eventos acadeacutemicos y ruteo de vehiacuteculos Adicionalmente la Universidad de Guanajuato ha incursionado en el uso de redes neuronales pre-entrenadas para acelerar el proceso de seleccioacuten de las heuriacutesticas ademaacutes de proponer una metodologiacutea para la adecuada seleccioacuten del conjunto de heuriacutesticas que debe estar disponible para una determinada hiper-heuriacutestica El Instituto Tecnoloacutegico de Ciudad Madero en colaboracioacuten con el Instituto Tecnoloacutegico de Leoacuten ha realizado importantes avances en la generacioacuten semiautomaacutetica de heuriacutesticas para el problema de empacado utilizando diversos meacutetodos como evolucioacuten diferencial y evolucioacuten gramatical

Este capiacutetulo estaacute encaminado a presentar el concepto de hiper-heuriacutesticas para entender sus caracteriacutesticas fundamentos modelos fortalezas y debilidades asiacute como algunas de sus aacutereas de aplicacioacuten El capiacutetulo integra en la Seccioacuten 2 los fundamentos de hiper-heuriacutesticas considerando principalmente los dos tipos aqueacutellas que seleccionan heuriacutesticas y aqueacutellas que generan nuevas heuriacutestica En la Seccioacuten 3 se presentan algunos modelos de hiper-heuriacutesticas algunos basados en esquemas evolutivos y otros basados en redes neuronales La Seccioacuten 4 presenta un ejemplo con la idea de mostrar paso a paso el proceso para generar hiper-heuriacutesticas en particular para el problema de particioacuten balanceada En la Seccioacuten 5 se discuten algunos aspectos avanzados sobre las hiper-heuriacutesticas como la solucioacuten de problemas multi-objetivo y la transformacioacuten de caracteriacutesticas En la Seccioacuten 6 se describe algunas tendencias futuras de hiper-heuriacutesticas

Algunos recursos disponibles relacionados con hiper-heuriacutesticas se presentan en la Seccioacuten 7 Finalmente en la Seccioacuten 8 se proporcionan las conclusiones

Fundamentos de las Hiper-heuriacutesticas Las hiper-heuriacutesticas trabajan sobre la idea de que es posible reutilizar los componentes de meacutetodos existentes ndashgeneralmente simples como son las heuriacutesticasndash para construir meacutetodos de buacutesqueda maacutes robustos y que se adapten a las condiciones del problema actual De esta forma se busca obtener soluciones que en la medida de lo posible y de acuerdo al tiempo disponible sean de buena calidad Ahora bien la forma de adaptacioacuten a los problemas da lugar a los dos grandes tipos de hiper-heuriacutesticas las que seleccionan heuriacutesticas y las que generan nuevas heuriacutesticas

Hiper-heuriacutesticas que seleccionan heuriacutesticas En este tipo de adaptacioacuten se busca cambiar la heuriacutestica usada para atacar la instancia del problema cambios que pueden ocurrir cada vez que el proceso requiere tomar una decisioacuten Por ejemplo en el caso del problema del vendedor viajero (TSP) se pretende encontrar el tour de miacutenimo costo para visitar todas y cada una de las ciudades de un conjunto dado Si se inicia con un tour vaciacuteo la toma de decisiones consiste en decidir la siguiente ciudad a visitar Mientras que con una heuriacutestica estariacuteamos a merced de una sola forma de decisioacuten (por ejemplo visitar la ciudad maacutes cercana o la maacutes lejana a la actual que todaviacutea no se haya visitado) con una hiper-heuriacutestica tenemos la flexibilidad para utilizar heuriacutesticas diferentes en cada toma de decisioacuten (por ejemplo iniciar con la maacutes cercana y luego tomar la maacutes lejana) De esta manera es comuacuten que una hiper-heuriacutestica utilice conjuntos y oacuterdenes de heuriacutesticas distintos para resolver diferentes instancias de un problema Desde esta perspectiva una hiper-heuriacutestica es el meacutetodo de alto nivel que controla coacutemo y cuaacutendo usar heuriacutesticas de bajo nivel

Hiper-heuriacutesticas que generan nuevas heuriacutesticas Este segundo tipo de adaptacioacuten busca combinar heuriacutesticas existentes (o sus componentes) en la generacioacuten de heuriacutesticas de alto nivel Por ejemplo asumiendo de nuevo el problema del vendedor viajero donde se construye la solucioacuten a partir de un tour vaciacuteo una heuriacutestica podriacutea decidir la nueva ciudad a agregar como aquella que minimice la distancia con respecto al eje coordenado a la uacuteltima ciudad visitada en el tour parcial actual Sin embargo otra heuriacutestica podriacutea seleccionar la ciudad basada en la distancia con respecto al eje coordenado La ciudad recomendada por ambas heuriacutesticas podriacutea ser la misma o una distinta Otra alternativa seriacutea combinar los criterios de ambas heuriacutesticas por ejemplo que se agregue la ciudad que minimice la funcioacuten Mediante esta sencilla funcioacuten es posible combinar los

dxx

dy y

f (x) = dx times dy

criterios de decisioacuten de cada heuriacutestica y formar una que se adapte a diferentes condiciones del problema De esta forma la hiper-heuriacutestica es un meacutetodo que genera nuevas heuriacutesticas

A continuacioacuten describiremos con maacutes detalle cada uno de estos tipos de hiper-heuriacutesticas

Hiper-heuriacutesticas que seleccionan heuriacutesticas La mayor parte de los trabajos realizados en Meacutexico se ha enfocado en este primer tipo de adaptacioacuten y por ello optamos por detallarlas maacutes Las hiper-heuriacutesticas de seleccioacuten como nos referiremos a ellas a partir de este momento estaacuten inspiradas en la idea de que existe un algoritmo maacutes adecuado para cada problema lo que en la literatura se conoce como el problema de la seleccioacuten de algoritmos En este sentido las hiper-heuriacutesticas de seleccioacuten exploran la forma en que diversas heuriacutesticas (u otros meacutetodos simples y raacutepidos de ejecutar) pueden combinarse para generar estrategias de solucioacuten robustas y con un buen desempentildeo general

En este punto cabe mencionar que las diferencias entre los portafolios de algoritmos la configuracioacuten especiacutefica de algoritmos y las hiper-heuriacutesticas de seleccioacuten son sutiles pero auacuten asiacute pueden apreciarse Por ejemplo tanto las hiper-heuriacutesticas como los portafolios de algoritmos deciden cuaacutel de los meacutetodos disponibles para resolver el problema debe utilizarse en un momento dado La diferencia principal es la naturaleza de los meacutetodos disponibles donde los portafolios de algoritmos trabajan usualmente con colecciones de meacutetodos de solucioacuten especializados para ciertos tipos de problemas mientras que las hiper-heuriacutesticas usualmente administran meacutetodos maacutes generales como son las heuriacutesticas La configuracioacuten especiacutefica de algoritmos (ISAC por sus siglas en ingleacutes) busca optimizar los paraacutemetros de los algoritmos para que se adapten a las caracteriacutesticas del problema que intentan resolver Si consideramos dos instancias de un mismo algoritmo con configuraciones distintas pueden considerarse como dos meacutetodos diferentes entonces ISAC es en esencia un portafolio de algoritmos

Como ya se mencionoacute una hiper-heuriacutestica de seleccioacuten decide en determinados momentos del proceso de solucioacuten queacute heuriacutestica debe utilizar A partir de este momento usaremos el teacutermino lsquopunto de decisioacutenrsquo para referirnos a esos momentos especiacuteficos durante la buacutesqueda cuando la hiper-heuriacutestica puede cambiar la heuriacutestica a utilizar Los puntos de decisioacuten pueden manejarse de muchas formas Por ejemplo podriacutea realizarse un cambio de heuriacutestica cada vez que una variable deba asignarse o soacutelo despueacutes de cierto nuacutemero de veces que deba asignarse o soacutelo si se cumple alguna condicioacuten particular Una forma muy comuacuten en la que se usan las hiper-heuriacutesticas lsquoperturbativasrsquo ndashaquellas que incrementalmente aplican modificaciones locales (movimientos) a soluciones completas (aproximaciones a la solucioacuten deseada) que representan los estados actuales de la buacutesquedandash es cambiar de heuriacutestica perturbativa uacutenicamente si la

calidad de la aproximacioacuten actual estaacute disminuyendo o si se ha mantenido estable por cierto tiempo

De forma muy general una hiper-heuriacutestica de seleccioacuten se comporta como se muestra en el Algoritmo [algGenericSelectionHH]

Como puede observarse en el Algoritmo [algGenericSelectionHH] la hiper-heuriacutestica tiene la capacidad de aplicar una heuriacutestica al problema para modificar su estado (buscando acercarlo a un estado meta o solucioacuten deseada) Ya que un problema especiacutefico de buacutesqueda depende del estado inicial de la misma si consideramos a la solucioacuten resultante de aplicacioacuten de la heuriacutestica actual al estado actual como el estado inicial del resto de la buacutesqueda estamos modificando el problema a resolver y este quizaacutes podriacutea ser resuelto de una mejor manera con una heuriacutestica distinta a la actual

La eleccioacuten de la heuriacutestica a utilizar en cada punto de decisioacuten depende completamente de la funcioacuten Selecciona la cual busca en el espacio de heuriacutesticas la maacutes adecuada de acuerdo al estado actual del problema Como puede inferirse del pseudocoacutedigo diferentes implementaciones de la funcioacuten Selecciona resultaraacuten en diferentes comportamientos de la hiper-heuriacutestica Por ejemplo una hiper-heuriacutestica completamente aleatoria implementariacutea la funcioacuten Selecciona como se muestra en el Algoritmo [algRandomSelect]

En el caso de una hiper-heuriacutestica aleatoria la rutina ignora por completo el estado del problema ya que no lo requiere para determinar queacute heuriacutestica utilizar Como es de esperarse el desempentildeo de una hiper-heuriacutestica aleatoria es en la mayoriacutea de los casos malo si el conjunto de heuriacutesticas simples contiene una o maacutes heuriacutesticas cuyo comportamiento es deficiente en los problemas a resolver

Otra posible idea para implementar una hiper-heuriacutestica es usar una secuencia predefinida de heuriacutesticas como estrategia de decisioacuten dentro de la funcioacuten Selecciona La idea detraacutes de esta hiper-heuriacutestica es que en algunos casos la relacioacuten entre heuriacutesticas depende de su encadenamiento (una secuencia ordenada de heuriacutesticas) Por ejemplo en un problema de empacado donde objetos de diferentes voluacutemenes deben ser empacados en un nuacutemero finito de contenedores de forma que se minimice el nuacutemero de contenedores utilizados podriacutea ser conveniente el utilizar una secuencia de heuriacutesticas donde despueacutes de empacar el objeto maacutes pequentildeo siempre se deba empacar el objeto maacutes grande Una hiper-heuriacutestica basada en secuencias predefinidas requiere conocer la secuencia especiacutefica de heuriacutesticas a aplicar y la uacuteltima heuriacutestica aplicada El Algoritmo [algSequenceHH] muestra una posible implementacioacuten de este tipo de hiper-heuriacutesticas

En caso de que una heuriacutestica deba aplicarse dos o maacutes veces seguidas esta deberaacute aparecer dos o maacutes veces en la secuencia predefinida de heuriacutesticas Debido a que la longitud de la secuencia de heuriacutesticas es mucho menor que el nuacutemero de puntos de decisioacuten en el problema hay que definir lo que se haraacute al llegar al final de la secuencia Una alternativa es que se vuelva a recorrer la misma secuencia desde la primera posicioacuten Otra opcioacuten es que al llegar al final de la secuencia desde ese momento se use soacutelo la uacuteltima heuriacutestica de la secuencia

Una tercera versioacuten de hiper-heuriacutestica (Algoritmo [algStateBasedHH]) representa la seleccioacuten inteligente del meacutetodo maacutes adecuado dadas las condiciones actuales del problema En esta versioacuten de hiper-heuriacutestica la funcioacuten Selecciona contiene un mapeo de situaciones en las que cada heuriacutestica deberiacutea ser utilizada

Como puede apreciarse en el Algoritmo [algStateBasedHH] la funcioacuten debe evaluar el estado actual del problema para determinar queacute heuriacutestica aplicar Hasta este momento no hemos proporcionado detalles sobre coacutemo se realiza la seleccioacuten de la heuriacutestica maacutes adecuada para un determinado estado del problema pero podemos adelantar que es el punto maacutes sensible del proceso

Entre los modelos maacutes utilizados para producir hiper-heuriacutesticas de seleccioacuten se encuentran los algoritmos geneacuteticos y las redes neuronales Maacutes adelante en este capiacutetulo se describiraacuten a detalle coacutemo funciona cada uno de estos modelos y coacutemo se implementan

Hiper-heuriacutesticas que generan nuevas heuriacutesticas Este segundo tipo de adaptacioacuten hace que las hiper-heuriacutesticas funcionen como generadores semi-automaacuteticos de heuriacutesticas De esta forma la combinacioacuten de componentes de decisioacuten se plasma en una funcioacuten que por siacute misma representa una nueva heuriacutestica En el contexto de heuriacutesticas perturbativas puede tratarse de la combinacioacuten de dos o maacutes operadores al mismo tiempo cada uno de ellos enfocados a modificar distintas secciones de la aproximacioacuten actual o bien a la aplicacioacuten en secuencia de dos o maacutes operadores perturbativos al estado actual de la buacutesqueda La situacioacuten es diferente para hiper-heuriacutesticas lsquoconstructivasrsquo ndashaquellas que gradualmente construyen la solucioacuten al problema generando soluciones parciales cada vez maacutes completas a partir de una solucioacuten inicialmente vaciacuteandash ya que en este caso las heuriacutesticas constructivas tienen la tarea de asignar un valor a cada elemento que puede integrarse a la solucioacuten de forma que se agregue el elemento que maximice (o minimice seguacuten sea el caso) dicho valor Por ejemplo si estamos utilizando un hiper-heuriacutestica constructiva para resolver una instancia del problema del agente viajero podemos considerar una heuriacutestica que agrega la ciudad con la menor distancia a la uacuteltima ciudad visitada en la solucioacuten parcial actual Para ello se debe calcular la distancia de cada una de las ciudades que todaviacutea no han sido visitadas a la

uacuteltima ciudad del tour parcial actual Luego de ello la heuriacutestica recomendaraacute agregar aquella con la menor distancia

De forma muy general una hiper-heuriacutestica de generacioacuten se comporta como se muestra en el Algoritmo [algGenericGenerationHH]

Por supuesto en este momento no se brindan detalles de coacutemo implementar la funcioacuten Genera que es la responsable de generar la heuriacutestica que se utilizaraacute para resolver el problema actual Entre los meacutetodos maacutes populares en la comunidad para implementar hiper-heuriacutesticas de generacioacuten se cuentan tanto programacioacuten geneacutetica como evolucioacuten diferencial

Modelos de Hiper-heuriacutesticas En esta seccioacuten se presentaraacuten las ideas generales detraacutes de las hiper-heuriacutesticas que se ha implementado de diversas formas y con apoyo de diferentes meta-heuriacutesticas o distintos modelos de aprendizaje automaacutetico

Modelos Evolutivos La computacioacuten evolutiva se ha utilizado tanto para construir hiper-heuriacutesticas de generacioacuten (mediante programacioacuten geneacutetica y evolucioacuten diferencial) como para construir hiper-heuriacutesticas de seleccioacuten (mediante algoritmos geneacuteticos y estrategias evolutivas) A continuacioacuten describiremos coacutemo se han implementado algunos casos de eacutexito de hiper-heuriacutesticas mediante computacioacuten evolutiva

Hiper-Heuriacutesticas basadas en Algoritmos Geneacuteticos

Los modelos evolutivos generan reglas que relacionan puntos especiacuteficos del espacio de caracteriacutesticas del problema con una heuriacutestica especiacutefica que ha demostrado ser uacutetil ante instancias con caracteriacutesticas similares Estas reglas pueden obtenerse de diversas formas ndashincluso pueden ser definidas por el usuario Sin embargo los algoritmos geneacuteticos han resultado muy uacutetiles para esta tarea y por esta razoacuten su uso seraacute detallado a continuacioacuten

El algoritmo geneacutetico mantiene una poblacioacuten de individuos de longitud variable que representan hiper-heuriacutesticas en potencia Durante cada generacioacuten estos individuos son combinados y mutados con la finalidad de mejorar la calidad de la poblacioacuten Seguacuten sea el caso los operadores geneacuteticos pueden o no ser adaptados para el problema Por ejemplo como el nuacutemero de reglas en las hiper-heuriacutesticas es variable los individuos en la poblacioacuten tambieacuten tienen una longitud

larr

variable Es necesario entonces adaptar el operador de cruza para que produzca soacutelo individuos vaacutelidos La funcioacuten objetivo contiene un conjunto de instancias a resolver El desempentildeo de cada individuo en dicho conjunto se convierte en su aptitud Con el paso de las generaciones se espera que los individuos que mejor resuelvan el conjunto de entrenamiento sean favorecidos por el proceso geneacutetico El mejor individuo de la uacuteltima generacioacuten es seleccionado como la hiper-heuriacutestica resultante del proceso evolutivo

Los modelos hiper-heuriacutesticos basados en algoritmos geneacuteticos fueron unas de las primeras opciones que se consideraron para generar heuriacutesticas El primer trabajo que utilizoacute un algoritmo geneacutetico para la exploracioacuten del espacio de heuriacutesticas en problemas de calendarizacioacuten fue publicado en 1994 antildeos antes de que el teacutermino hiper-heuriacutestica fuera utilizado por primera vez Pocos antildeos maacutes tarde esta idea fue retomada en y A la fecha gran parte de los trabajos relacionados con hiper-heuriacutesticas utilizan alguna forma de computacioacuten evolutiva como parte del mecanismo de generacioacuten y ajuste de las hiper-heuriacutesticas

Hiper-Heuriacutesticas basadas en Programacioacuten Geneacutetica

Las hiper-heuriacutesticas basadas en programacioacuten geneacutetica tienen la capacidad de combinar los componentes de heuriacutesticas existentes para construir nuevas heuriacutesticas que funcionen adecuadamente ante diversos grupos de instancias del problema La inclusioacuten de una gramaacutetica tipo BNF en este proceso es una tendencia reciente Un problema de satisfaccioacuten de restricciones (CSP) se define como un conjunto de variables asociado a un conjunto de dominios de valores ( ) y a un conjunto de restricciones entre las variables El objetivo es una asignacioacuten completa y consistente de valores a variables de la manera que se cumplan todas las restricciones Los CSPs han sido aplicados para el modelado y solucioacuten de problemas en diversos dominios Aquiacute describimos una plataforma basada en gramaacuteticas para generar automaacuteticamente nuevas heuriacutesticas de seleccioacuten de variables para CSPs El espacio de posibilidades se define generando oraciones vaacutelidas de acuerdo a la gramaacutetica que se utiliza

Un enfoque inicial en este sentido es el presentado en el trabajo de Ortiz-Bayliss et al que provee la evidencia de que es posible delegar al menos para ciertas tareas la generacioacuten de heuriacutesticas a un proceso automaacutetico En el trabajo se usan caracteriacutesticas provenientes de las heuriacutesticas previamente disentildeadas y se utiliza programacioacuten geneacutetica para combinar esos atributos y generar nuevas heuriacutesticas La idea es encapsular el conocimiento del experto humano de diversas formas para obtener mejores soluciones Dado que en la gramaacutetica hay que definir un conjunto de funciones y un conjunto de terminales las funciones utilizadas en esta investigacioacuten incluyen suma (+) resta (-) multiplicacioacuten () y divisioacuten protegida () (si el divisor es cero no se ejecutar la operacioacuten y el resultado es 1) Con este conjunto simple de operadores es

XD

suficiente para generar heuriacutesticas competitivas La definicioacuten de la gramaacutetica se puede observar en la Figura [figGrammar]

ltSgt ltEgt ltEgt ltOpgt ltFgt ltOpgt ltOpgt ( ltEgt ) | ltTgt ltFgt + | - | | ltTgt | | | |

En un esfuerzo maacutes avanzado en este respecto el modelo presentado en presenta una gramaacutetica que contiene elementos maacutes sofisticados como el estatuto if-then-else operadores aritmeacuteticos y loacutegicos lo que permite generar mayor cantidad de posibilidades de combinacioacuten ademaacutes de funciones sobrecargadas capaces de manejar diversas dimensionalidades de entrada lo que provee mayor flexibilidad y un mayor espacio de soluciones En este trabajo se usaron tres diferentes estrategias para evolucionar las heuriacutesticas programacioacuten geneacutetica (GP) buacutesqueda local iterada (ILS) y buacutesqueda de alpinista en paralelo (PHC) En los experimentos se usaron tanto instancias sinteacuteticas como reales para comparar el rendimiento entre las heuriacutesticas generadas y las del estado del arte disentildeadas por el humano El estudio considera varios asuntos como la composicioacuten del conjunto de entrenamiento hacia la generalidad de las heuriacutesticas y su rendimiento sobre instancias no vistas Tambieacuten se considera la evolucioacuten de heuriacutesticas sobre instancias pequentildeas capaces de generalizar sobre instancias maacutes grandes y no vistas y sobre otras instancias del mundo real La Figura 1 muestra un ejemplo de heuriacutestica generada por programacioacuten geneacutetica

Ejemplo de heuriacutestica generada automaacuteticamente por un proceso de Programacioacuten Geneacutetica para el problema de CSP

rarr rarr rarr rarr rarr deg(x)con f licts(x) dom(x) κ (x) r

variableFromVariableValue

smallest

If-VariablesValues1

greaterOrEqualThan minus minus

largest smallest

plus

mxi bdeg

conflicts

bbz log2

division

fdeg fbz

minus conflicts

multiplication plus

bbz pxi

Modelos Neuronales A diferencia de los modelos evolutivos que generan reglas que mapean caracteriacutesticas del problema a heuriacutesticas especiacuteficas las hiper-heuriacutesticas basadas en modelos neuronales aprenden las relaciones existentes entre caracteriacutesticas y heuriacutesticas a partir de casos de ejemplo De esta manera los modelos de hiper-heuriacutesticas basados en redes neuronales requieren un conjunto de entrenamiento donde se contengan las relaciones a aprender De manera general la hiper-heuriacutestica contiene una red neuronal que aprende a clasificar instancias seguacuten sus caracteriacutesticas La clase a la que pertenece la instancia representa la heuriacutestica a utilizar en un momento particular de la buacutesqueda

Probablemente uno de los primeros trabajos que exploraron el uso de redes neuronales para la seleccioacuten de heuriacutesticas fue el presentado por Moriarty en donde se presentoacute el modelo SANE (Symbiotic Adaptive Neuro-Evolution) para encontrar redes neuronales que representaban heuriacutesticas para el ordenamiento de valor en problemas de satisfaccioacuten de restricciones Antildeos maacutes tarde Corr propuso utilizar redes neuronales como selectores de heuriacutesticas constructivas para el problema de la calendarizacioacuten de exaacutemenes No fue sino hasta el 2009 que se publicoacute el primer trabajo de redes neuronales que expliacutecitamente mencionaba el teacutermino lsquohiper-heuriacutesticarsquo En dicho trabajo Ortiz-Bayliss et al retomaron la idea de usar redes neuronales como selectores de heuriacutesticas constructivas pero esta vez aplicado al problema de satisfaccioacuten de restricciones y con una red neuronal con aprendizaje mediante retro-propagacioacuten

Los modelos neuronales tambieacuten se han usado dentro de las hiper-heuriacutesticas para agilizar el entrenamiento Por ejemplo Li et al utilizaron una red neuronal para estimar el costo de una funcioacuten objetivo de forma que se minimizara el nuacutemero de evaluaciones reales durante el proceso de entrenamiento de la hiper-heuriacutestica

En cuanto a la arquitectura de la red neuronal se han utilizado diferentes opciones Una parte significativa de los trabajos ha utilizado el perceptroacuten multicapa Algunos otros trabajos han optado por arquitecturas maacutes especiacuteficas a ciertos problemas como son los mapas auto-organizados y redes neuronales con retraso temporal En algunas ocasiones se ha explorado la idea de combinar redes neuronales con algoritmos geneacuteticos para ajustar la topologiacutea de la red y maximizar el desempentildeo de las hiper-heuriacutesticas

Un ejemplo A continuacioacuten presentamos un breve ejemplo donde mostramos la forma en la que las hiper-heuriacutesticas pueden ser de utilidad y el proceso para aplicarlas

El problema Para este ejemplo tomaremos el problema de particioacuten balanceada (Balanced Partition) que consiste en encontrar la distribucioacuten de elementos que minimiza a donde es el iacutendice de calidad dado por la ecuacioacuten [equBPExampleFitness] y donde representa el elemento del subconjunto y es el nuacutemero de elementos en el subconjunto Asiacute el miacutenimo de corresponde al valor oacuteptimo de la separacioacuten

Las alternativas Para atacar este sencillo problema podemos considerar un enfoque constructivo a traveacutes de dos heuriacutesticas muy simples seleccionar el elemento de carga maacutexima (MAX) o miacutenima (MIN) Partiremos de una solucioacuten vaciacutea al considerar que nuestra solucioacuten es el subconjunto 2 (por tanto toda la carga seraacute asignada al subconjunto 1) por lo que la solucioacuten se construiraacute al escoger los elementos que deben moverse al subconjunto 2 para balancear la carga de todo el sistema Adicionalmente nuestra solucioacuten estaraacute completa cuando el subconjunto 2 represente a la mitad o maacutes de la carga total de la instancia del problema pues nuestras heuriacutesticas no permiten retornar elementos

Es importante resaltar que estas heuriacutesticas no son necesariamente buenas ni malas pues dependen mucho de la instancia del problema en la que se apliquen Consideremos por ejemplo un comportamiento como el de la Tabla [TableBaseInstancesBig] donde observamos que la heuriacutestica MAX se desempentildeoacute ligeramente mejor que la heuriacutestica MIN Esto se debe a que en algunas instancias la heuriacutestica MAX se desempentildeoacute mucho mejor que la heuriacutestica MIN (por ejemplo en las instancias 7 y 10) y viceversa (por ejemplo en las instancias 3 y 9) Es precisamente esta diferencia en desempentildeo lo que motivoacute la idea de las hiper-heuriacutesticas y donde se evidencia su eventual beneficio De hecho la Tabla [TableBaseInstancesBig] incluye una columna con el desempentildeo de una hiper-heuriacutestica simple (que detallaremos maacutes adelante) donde se puede observar que es mucho mejor que sus contrincantes

Q Qitemy

x xy Ny y Q

Q =N1

sumi=1

item1i minus

N2

sumj=1

item2j

Desempentildeo de las heuriacutesticas (y de una hiper-heuriacutestica) sobre 10 instancias de mayor extensioacuten

La informacioacuten del problema Ya conocemos el tipo de problema a resolver y las opciones que tenemos para hacerlo Ahora bien requerimos tambieacuten alguna manera de obtener informacioacuten de cada instancia en particular para asiacute poder analizarla y determinar queacute alternativa tomar (MAX o MIN) Para ello debemos definir al menos una caracteriacutestica del problema relacionada principalmente a las condiciones actuales de la instancia (de manera que se actualice a medida que progresa la solucioacuten) En este ejemplo utilizaremos la relacioacuten entre la carga actual del subconjunto 2 y la carga maacutexima como se muestra en la ecuacioacuten [equBPExampleFeature] Con esto ya tenemos todo lo necesario para empezar a crear nuestras hiper-heuriacutesticas

Instancia

1 11 9 7

2 2 8 6

3 1 13 3

4 2 0 0

5 3 5 13

6 1 9 3

7 3 1 13

8 9 3 9

9 9 11 3

10 5 1 11

Total 46 60 68

Promedio 46 6 68

QMINQHH QMAX

sumN2j=1 item2

j

sumN1i=1 item1

i + sumN2j=1 item2

jisin [0 1]

Nuestra primer hiper-heuriacutestica Nuestro objetivo con la hiper-heuriacutestica seraacute el de tratar de dar un orden loacutegico al proceso Asiacute buscaremos pasar los elementos maacutes grandes al inicio de la solucioacuten (es decir cuando el subconjunto estaacute vaciacuteo) para luego refinarla con elementos maacutes pequentildeos (para ajustar las pequentildeas diferencias) Por tanto podemos crear una hiper-heuriacutestica de dos reglas como se muestra en la Figura 2 En la parte derecha de la figura podemos observar la zona de influencia de cada regla Asiacute siempre que el valor de la caracteriacutestica (definida en la ecuacioacuten [equBPExampleFeature]) sea inferior a 025 se usaraacute la heuriacutestica MAX para seleccionar el siguiente elemento Pero si es superior se usaraacute la heuriacutestica MIN

Primer modelo de hiper-heuriacutestica con dos reglas y una sola caracteriacutestica (izquierda) Zona de influencia de cada regla (derecha)

Primer modelo de hiper-heuriacutestica con dos reglas y una sola caracteriacutestica (izquierda) Zona de influencia de cada regla (derecha)

En este punto es bueno recordar la columna que traiacuteamos pendiente de la Tabla [TableBaseInstancesBig] Es justamente esta hiper-heuriacutestica la que se usoacute para obtener los desempentildeos alliacute mostrados donde una vez maacutes se observa que supera a las heuriacutesticas simples Sin embargo es importante resaltar que no todo es perfecto En algunos casos por ejemplo en la instancia 1 la hiper-heuriacutestica generoacute una solucioacuten peor que cualquiera de las dos heuriacutesticas Es maacutes en casos como el de la instancia 4 fue la uacutenica que no logroacute generar un balanceo perfecto de la carga Esto se debe principalmente a la simplicidad de nuestra hiper-heuriacutestica pues solamente cuenta con dos reglas y con una sola caracteriacutestica Con ello se llega a que el espacio de caracteriacutesticas se divida en regiones simples como la mostrada en la parte derecha de la Figura 2 Por otra parte el desempentildeo de la hiper-heuriacutestica que estamos usando se encuentra limitado por su proceso de entrenamiento pues los valores fueron asignados manualmente y con base en lo que estimamos como mejor

Otras hiper-heuriacutesticas Revisemos ahora coacutemo puede afectar el proceso de entrenamiento al desempentildeo de esta hiper-heuriacutestica en particular Consideremos por ejemplo las hiper-heuriacutesticas mostradas en la Figura 3 La primera de ellas corresponde a nuestro modelo original (el que hemos venido usando) Las otras dos tienen una estructura similar pero el punto de corte de sus regiones de influencia se encuentra en 015 y 035 respectivamente Como se muestra en la Tabla [TableHHsComparison] el hecho de usar un enfoque maacutes agresivo (es decir HH3) sobre este conjunto de instancias resulta en un beneficio pues se obtiene un valor de que en Q

promedio es casi dos unidades menor al alcanzado con la hiper-heuriacutestica original (HH) Asimismo el otro enfoque empeoroacute el resultado respecto al logrado con HH Sin embargo incluso asiacute el resultado logrado es mejor que el obtenido por las heuriacutesticas independientes

Tres configuraciones diferentes de hiper-heuriacutesticas

Tres configuraciones diferentes de hiper-heuriacutesticas

Desempentildeo de dos heuriacutesticas simples y de tres modelos de hiper-heuriacutesticas sobre un conjunto de 10 instancias

Las hiper-heuriacutesticas como un problema de optimizacioacuten Las hiper-heuriacutesticas mostradas han sido entrenadas lsquoa manorsquo definiendo ciertos valores criacuteticos seguacuten nuestro criterio y conocimiento del problema Sin embargo el proceso se puede automatizar si se plantea como un problema de optimizacioacuten Para ello podemos definir la funcioacuten objetivo como el desempentildeo de la hiper-heuriacutestica Esto se muestra en la ecuacioacuten [equBPObjFunction] donde es el nuacutemero de instancias de entrenamiento y es el nivel de calidad dado por la hiper-heuriacutestica en la instancia Como se puede observar el proceso

Instancia

1 11 9 7 11 1

2 2 8 6 10 2

3 1 13 3 5 1

4 2 0 0 4 0

5 3 5 13 3 7

6 1 9 3 3 1

7 3 1 13 5 3

8 9 3 9 5 9

9 9 11 3 5 3

10 5 1 11 5 1

Total 46 60 68 56 28

Promedio 46 6 68 56 28

QMINQMAX QHH3QHH QHH2

Ni Qjj

de optimizacioacuten implica probar cada hiper-heuriacutestica candidata sobre el conjunto de entrenamiento Observemos tambieacuten que en el caso maacutes simple se cuenta con cuatro variables de disentildeo pero si aumentamos el nuacutemero de caracteriacutesticas a por ejemplo tres el nuacutemero de incoacutegnitas se duplica Si en este punto agregamos un par de reglas maacutes (para crear regiones de accioacuten maacutes complejas) el total de variables se duplica una vez maacutes llegando a 16 Asiacute el uso de teacutecnicas de optimizacioacuten claacutesicas como Newton-Rapshon o Descenso empinado queda descartado para la mayoriacutea de problemas praacutecticos (debido a que se requiere un punto de inicio cerca de la solucioacuten y a que quedan atrapados en oacuteptimos locales)

Sin embargo existe otra alternativa las metaheuriacutesticas Para evitar desviar la atencioacuten del lector omitiremos los detalles relacionados con el optimizador y nos centraremos en el proceso de entrenamiento

Vamos a imaginar que tenemos una herramienta capaz de construir una solucioacuten mejorada del problema usando como base una solucioacuten existente que no es necesariamente buena Imaginemos tambieacuten que dicha solucioacuten corresponde a una hiper-heuriacutestica Por tanto podemos definir una solucioacuten (eg una hiper-heuriacutestica) candidata inicial (generada de forma aleatoria) y utilizar dicha herramienta para crear una refinada Para determinar la ganancia dada por nuestra herramienta basta con evaluar ambas soluciones (tanto la aleatoria como la refinada) en la ecuacioacuten [equBPObjFunction] y comparar los resultados Luego de esto podemos tomar la solucioacuten refinada como base y usar nuestra herramienta para crear una mejorada Es justamente este proceso iterativo lo que nos permite operar sobre la solucioacuten aleatoria hasta lograr un resultado con la calidad deseada A manera de ejemplo consideremos un conjunto de 30 instancias aleatorias del problema de particioacuten balanceada (las cuales no se muestran por motivos de espacio) Si generamos 10 soluciones aleatorias (como las descritas anteriormente) obtendremos hiper-heuriacutesticas con desempentildeos buenos y malos como se muestra en la Figura 4 (iteracioacuten 1) Sin embargo podemos usar nuestra herramienta de optimizacioacuten sobre cada una de estas hiper-heuriacutesticas para generar unas mejoradas (iteracioacuten 2) Es maacutes podemos continuar iterativamente y luego de 15 iteraciones tendremos hiper-heuriacutesticas cuyo desempentildeo es bueno y muy similar (iteracioacuten 16) Note que por la naturaleza estocaacutestica de nuestra herramienta en ocasiones el desempentildeo mejora muy raacutepidamente pero en otros casos tarda varias iteraciones en mejorar Ademaacutes tengamos en cuenta que muchas metaheuriacutesticas trabajan de forma poblacional es decir evaluacutean y mejoran muacuteltiples soluciones al mismo tiempo con el aacutenimo de encontrar una uacutenica que sea lo suficientemente buena Sin embargo hemos omitido este tipo de

Fobj(FT A) =sumNi

j=1 Qj

Ni FT = [F1 F2 F3 FNF] and Qj = Qj(FT A)

detalles en la graacutefica para evitar complicar nuestro anaacutelisis y para facilitar la comprensioacuten por parte del lector

Ejemplo de entrenamiento de hiper-heuriacutesticas usando metaheuriacutesticas La iteracioacuten 1 representa el resultado luego de generar la poblacioacuten inicial Los datos mostrados corresponden a 10 reacuteplicas sobre 30 problemas generados de forma aleatoria con 100 elementos y una carga maacutexima de 100 por elemento

Ejemplo de entrenamiento de hiper-heuriacutesticas usando metaheuriacutesticas La iteracioacuten 1 representa el resultado luego de generar la poblacioacuten inicial Los datos mostrados corresponden a 10 reacuteplicas sobre 30 problemas generados de forma aleatoria con 100 elementos y una carga maacutexima de 100 por elemento

Aspectos Avanzados de las Hiper-heuriacutesticas En esta seccioacuten se abordan algunos temas avanzados de las hiper-heuriacutesticas como son sus aplicaciones en problemas multi-objetivo y a la ciencia de datos los modelos hiacutebridos y algunas tendencias futuras del aacuterea

Hiacuteper-heuriacutesticas para Problemas Multi-objetivo Muchos trabajos en la literatura relacionados con hiper-heuriacutesticas para solucionar problemas de optimizacioacuten consideran solamente un objetivo que guiacutea la buacutesqueda de soluciones Sin embargo es natural pensar que en estos problemas existen varios objetivos en conflicto y que la idea es optimizarlos al mismo tiempo

Esto debe plantearse como un problema multi-objetivo y por lo tanto la buacutesqueda de soluciones se debe hacer con un esquema adecuado que facilite ese proceso Para resolver un problema con esa perspectiva es importante definir el problema sus objetivos y el disentildeo del algoritmo que genere la solucioacuten esperada aunque en realidad lo que un algoritmo de este tipo produce es una serie de soluciones que corresponden a los mejores compromisos posibles entre los objetivos en conflicto A estas soluciones se les denomina conjunto de oacuteptimos de Pareto y sus valores correspondientes de las funciones objetivo conforman el denominado frente de Pareto Para ejemplificar este tema usaremos un problema de corte y empacado en dos dimensiones donde se quiere empacar pequentildeas figuras de diferentes tipos y formas en hojas de material rectangulares Lo que se requiere es minimizar el nuacutemero de hojas de materia prima pero al mismo tiempo minimizar tambieacuten el tiempo en que se ejecuta el proceso Estos son claramente dos objetivos que se contraponen por un lado se pueden poner las piezas muy raacutepidamente pero esto no seraacute efectivo en cuanto al nuacutemero de hojas de material y por el otro lado si queremos reducir el

nuacutemero de hojas de material quizaacute requiera maacutes tiempo para terminar el proceso En se usoacute un modelo evolutivo simplificado para representar el estado del problema donde el cromosoma representa un conjunto de puntos en el espacio y cada punto es etiquetado con una heuriacutestica Bajo este esquema el modelo representa una receta para resolver el problema que se puede describir como (a) determinar el estado actual del problema (b) encontrar el punto maacutes cercano a eacutel (c) aplicar la heuriacutestica anexa al punto (d) actualizar el estado Usamos esas ideas y en combinacioacuten con un algoritmo evolutivo multi-objetivo (AEMO) (NSGA-II SPEA2 GDE3) se busca encontrar el conjunto de cromosomas en el frente de Pareto que son capaces de encontrar soluciones a una amplia variedad de problemas tomando en cuenta los dos objetivos El conjunto contiene las hiper-heuriacutesticas que se estaacuten buscando

En la Figura 5 se muestra el esquema utilizado para resolver problemas multi-objetivo para el problema de corte y empacado

Modelo general multi-objetivo mostrando las fases de entrenamiento y prueba

Modelo general multi-objetivo mostrando las fases de entrenamiento y prueba

En la determinacioacuten del estado actual del problema es importante caracterizarlo Para este caso fueron seleccionadas 10 caracteriacutesticas de un conjunto mayor y que son las siguientes

1 Nuacutemero de piezas restantes por empacar

2 Aacuterea promedio de las piezas restantes

3 Varianza en el aacuterea de las piezas restantes

4 Media de la rectangularidad de las piezas restantes

5 Varianza en la rectangularidad de las piezas restantes

6 Media de la altura de las piezas restantes

7 Varianza en el ancho de las piezas restantes

8 Fraccioacuten de las piezas restantes cuya aacuterea es mayor a del aacuterea del objeto

9 Media del grado de concavidad de las piezas restantes

10 Fraccioacuten del total de las piezas restantes

E

S

S

E

12

En la plataforma propuesta para encontrar el conjunto S de mejores hiper-heuriacutesticas en el frente de Pareto se divide el conjunto de instancias en dos tipos entrenamiento y prueba El modelo evolucionaba poblaciones de hiper-heuriacutesticas tomando en cuenta el AEMO La fase de entrenamiento inicia con la generacioacuten de hiper-heuriacutesticas en forma aleatoria para el AEMO Este algoritmos evoluciona la poblacioacuten de acuerdo a su propia metodologiacutea y aplica operadores geneacuteticos para generar nuevas poblaciones considerando el conjunto de entrenamiento para evaluar su rendimiento

Una vez que las mejores hiper-heuriacutesticas se tienen se prueban entonces con las instancias de prueba para comparar los modelos multi-objetivo entre ellos y con respecto a las heuriacutesticas simples adaptadas para el problema usando diferentes meacutetricas

Los resultados obtenidos indican que los modelos eHH-MO son adecuados para construir un conjunto de reglas que permiten resolver el problema bi-objetivo de diversas maneras Los resultados de los modelos eHH-MO han sido comparados contra los obtenidos con las heuriacutesticas simples bajo una serie de experimentos usando tres diferentes meacutetricas como son la distancia generacional (GD) el hipervolumen (HV) y D (dispersioacuten y distribucioacuten) Desde diferentes perspectivas los modelos multi-objetivo superan claramente a los modelos de heuriacutesticas simples Los detalles de la serie de experimentos realizados y su discusioacuten general pueden consultarse en

Transformacioacuten de Caracteriacutesticas en Hiper-heuriacutesticas Una teacutecnica que se ha implementado recientemente se enfoca en el uso de transformaciones matemaacuteticas para mejorar el desempentildeo del modelo de seleccioacuten Al trabajar con una heuriacutestica de seleccioacuten las caracteriacutesticas juegan un papel preponderante en la eficiencia del proceso pues el selector representa una matriz de puntos clave en el espacio de caracteriacutesticas Ademaacutes debemos tener presente que cada problema de optimizacioacuten es diferente por lo que los puntos criacuteticos de una caracteriacutestica difiacutecilmente corresponderaacuten con los de otra Asiacute se inicioacute un proceso para identificar la forma en la que se pudiera establecer una transformacioacuten adecuada a cada problema particular Como resultado se encontroacute que el problema principal que puede resolver la transformacioacuten es el mostrado en la Figura 6 Alliacute se muestra la ubicacioacuten ideal de cuatro reglas (marcadores redondos) y su distancia al estado actual del problema (cuadro blanco) Dos de estas reglas tienen posiciones muy similares (la roja y la azul) por lo que el desempentildeo del selector se torna muy sensible a pequentildeos errores en la ubicacioacuten real de dichas reglas

Sensibilidad de hiper-heuriacutesticas a errores en los valores del selector y su solucioacuten a traveacutes de transformacioacuten de caracteriacutesticas Izquierda Ubicacioacuten ideal de las reglas en el espacio original Derecha Ubicacioacuten ideal de las reglas en el espacio transformado

La Figura 6 tambieacuten muestra la forma como se puede solucionar este problema con la transformacioacuten de caracteriacutesticas La idea es transformar el espacio de cada caracteriacutestica del problema de tal forma que las regiones en conflicto se expandan y las relativamente irrelevantes se compriman Para el ejemplo de la figura esto implica tener mayor resolucioacuten en el espacio cercano a las reglas azul y roja lo que permite un mayor margen de maniobra y por tanto reduce la sensibilidad de la hiper-heuriacutestica De forma similar la zona que pertenece a las dos reglas verdes se comprime Dado que se trata de reglas que ejecutan la misma accioacuten su regioacuten de influencia combinada no seraacute tan sensible a pequentildeos errores de ubicacioacuten Consideremos ahora los casos mostrados en la Figura 7 En la izquierda se muestran dos selectores (uno con dos reglas y otro con cuatro) ambos con dos acciones disponibles roja y azul Al hacer una transformacioacuten de caracteriacutesticas podemos ampliar zonas en conflicto (como ya se mencionoacute arriba) lo que representa una distribucioacuten de las reglas la cual puede incluso modificar la apariencia de las zonas de influencia de cada selector Para nuestro ejemplo dicha transformacioacuten se ve en las imaacutegenes del centro donde la apariencia ha sido parcialmente preservada pero donde se da mayor enfoque a las zonas conflictivas Claro estaacute este proceso no puede ser arbitrario pues podemos tambieacuten generar transformaciones poco uacutetiles como las de la derecha de la figura donde hemos perdido la mayoriacutea de la informacioacuten acerca de las zonas conflictivas por lo que seguramente tendremos un bajo desempentildeo de la hiper-heuriacutestica Detalles de esta investigacioacuten puden ser revisados en

Ejemplo de la forma como la transformacioacuten de caracteriacutesticas puede afectar la apariencia de las zonas de influencia de un selector Izquierda Forma original Centro Transformacioacuten uacutetil que ampliacutea las zonas en conflicto Derecha Transformacioacuten poco uacutetil que destruye informacioacuten sobre las zonas en conflicto

Tendencias Futuras de Hiper-heuriacutesticas Los sistemas inteligentes hiacutebridos son sistemas de software que emplean en paralelo una combinacioacuten de meacutetodos y teacutecnicas de sub-campos de la Inteligencia Artificial La hibridacioacuten de los sistemas inteligentes es un campo de investigacioacuten prometedora de la Inteligencia Computacional moderna para el desarrollo de la proacutexima generacioacuten de sistemas inteligentes Comunidades cientiacuteficas y acadeacutemicas estaacuten cada vez maacutes conscientes de que enfoques combinados podriacutean ser necesarios si se quiere seguir resolviendo los problemas difiacuteciles de la Inteligencia Artificial La integracioacuten de distintas teacutecnicas inteligentes y su adaptacioacuten para superar las limitaciones de los meacutetodos individuales y lograr efectos sineacutergicos a traveacutes de la hibridacioacuten o fusioacuten de estas teacutecnicas ha contribuido a una variedad de nuevos disentildeos dentro del campo de la optimizacioacuten Sin embargo la mayoriacutea de estos enfoques de hibridacioacuten siguen un disentildeo metodoloacutegico ad-hoc que se justifica por el eacutexito en ciertos dominios de aplicacioacuten No obstante se requiere de metodologiacuteas maacutes robustas para la construccioacuten de los sistemas hiacutebridos requeridos para resolver problemas contemporaacuteneos y futuros cada vez maacutes complejos y maacutes grandes

Las hiper-heuriacutesticas como teacutecnicas de buacutesqueda que tratan de automatizar el proceso de generacioacuten seleccioacuten y combinacioacuten de otras heuriacutesticas son un excelente vehiacuteculo para la construccioacuten de sistemas inteligentes hiacutebridos avanzados Recientemente han aparecido los primeros trabajos que proponen formas muy simples y limitadas de combinacioacuten de hiper-

heuriacutesticas Se requiere de estudios maacutes profundos y serios que combinen generacioacuten con seleccioacuten asiacute como estrategias constructivas con perturbativas en formas maacutes elaboradas que mejoren los resultados obtenidos

El desafiacuteo de la hibridacioacuten hiper-heuriacutestica es enorme y complejo Reside primeramente en el modelado de los problemas y de las soluciones (parciales o aproximadas) de forma que a partir de descripciones parameacutetricas o no parameacutetricas el meacutetodo hiacutebrido pueda ir decidiendo la combinacioacuten de meacutetodos heuriacutesticos que iraacute utilizando para guiar la buacutesqueda de la solucioacuten Parte importante del desafiacuteo tambieacuten es la seleccioacuten inteligente de las heuriacutesticas especiacuteficas a los dominios de los problemas las meta-heuriacutesticas y las hiper-heuriacutesticas que formaraacuten el meacutetodo hiacutebrido Otro elemento de complejidad es que cada teacutecnica heuriacutestica incluye paraacutemetros que deben ser ajustados adecuadamente para que trabajen de forma correcta y eso podriacutea ser requerido durante la ejecucioacuten del meacutetodo Finalmente como se quieren meacutetodos hiacutebridos que maximicen su desempentildeo tambieacuten se deberaacuten seleccionar o disentildear las meacutetricas para medir la efectividad y eficiencia de los algoritmos utilizados

Son demasiadas posibilidades las que hay que considerar y demasiada informacioacuten relacionada tanto con las instancias de los problemas a resolver los meacutetodos de solucioacuten sus hiper-paraacutemetros su hibridacioacuten y el efecto de sus decisiones durante la solucioacuten de los problemas Los investigadores ya estaacuten abordando algunos esfuerzos en estas direcciones a traveacutes del aprendizaje automaacutetico y el uso de teacutecnicas estadiacutesticas pero mucha de la praacutectica es primordialmente artesanal Se requiere el uso de metodologiacuteas cientiacuteficas maacutes maduras y desarrolladas para manejar la gran cantidad de datos que se genera en el proceso

Dado que la Ciencia de Datos es la capacidad de extraer conocimientos e ideas de grandes cantidades de datos y datos complejos la construccioacuten de meacutetodos hiacutebridos para optimizacioacuten mediante hiper-heuriacutesticas son un buen motivo para su aplicacioacuten

La Ciencia de Datos intenta comprender las complejidades de las actividades del mundo real y el contexto a partir del anaacutelisis de los datos para mejorar los beneficios que pueden obtenerse de ellos Los algoritmos de optimizacioacuten en tiempo real estaacuten estrechamente vinculados al contexto de sus datos Luego utilizar las teacutecnicas de Ciencia de Datos permitiraacute aprovechar el conjunto histoacuterico de datos asiacute como los datos generados en tiempo real durante la buacutesqueda de soluciones para los problemas de optimizacioacuten El proceso de Ciencia de Datos se puede aplicar al ajuste automaacutetico de los algoritmos su configuracioacuten y su adaptacioacuten para crear mejores meacutetodos de optimizacioacuten

El desarrollo de algoritmos de buacutesqueda poderosos se asemeja a la solucioacuten de los problemas de optimizacioacuten La hibridacioacuten de optimizadores mediante hiper-heuriacutesticas incluye una gran

cantidad de paraacutemetros y generalmente ofrecen muchas opciones El desafiacuteo para la Ciencia de Datos es maacutes complejo debido a la naturaleza estocaacutestica de los meacutetodos de solucioacuten Para explotar el poder real de estas teacutecnicas y resolver los problemas de manera eficiente el desarrollador debe seleccionar los mejores valores y tomar las decisiones correctas

En la uacuteltima deacutecada se han desarrollado varias teacutecnicas para la optimizacioacuten de paraacutemetros la construccioacuten automaacutetica de algoritmos y la creacioacuten de hiper-heuriacutesticas para generar o seleccionar algoritmos pero la Ciencia de Datos tiene mucho que aportar para explotar al maacuteximo el potencial de las teacutecnicas novedosas de buacutesqueda existentes No se debe de buscar un meacutetodo ideal sino crear metodologiacuteas adecuadas a los diferentes dominios de problemas Estas metodologiacuteas deben ser robustas de manera que permitan construir meacutetodos poderosos a partir de la descripcioacuten de esquemas de recoleccioacuten procesamiento exploracioacuten visualizacioacuten aprendizaje y explotacioacuten de datos adecuados a los problemas especiacuteficos a resolver

Aunque actualmente hay un boom en el desarrollo de aplicaciones de Ciencia de Datos en muchos dominios y hay un gran esfuerzo de grupos de personas para desarrollar meacutetodos de buacutesqueda para dominios especiacuteficos la aplicacioacuten de la Ciencia de Datos en la construccioacuten de meacutetodos de optimizacioacuten requiere habilidades inherentemente diferentes y hay muy pocos trabajos especiacuteficos sobre el tema Iniciativas como lsquoData Science meets Optimizationrsquo promovida por grupos creados hace poco como el grupo europeo EWG DSO confirman la relevancia y el potencial del tema

Para saber maacutes El nuacutemero de trabajos relacionados a hiper-heuriacutesticas se ha incrementado significativamente en la uacuteltima deacutecada Como resultado una gran cantidad de recursos se encuentran disponibles en diversas fuentes El lector interesado en conocer a maacutes detalle los diferentes tipos de hiper-heuriacutesticas y sus aplicaciones puede consultar estudios de referencia como y Una lista muy completa sobre los trabajos relacionados a hiper-heuriacutesticas se encuentra disponible en liacutenea en httpsmustafamisirgithubiohhhtml

Debido al intereacutes que las hiper-heuriacutesticas han despertado en los investigadores diversas conferencias y talleres han dedicado espacios para este tipo de trabajos Por ejemplo Genetic and Evolutionary Computation Conference (GECCO) que desde el 2011 ha proporcionado espacios en sus categoriacuteas Self- Search (2011 al 2016) y Search-Based Software Engineering (a partir del 2017) International Conference on Parallel Problem Solving from Nature (PPSN) con talleres en el tema en las ediciones del 2008 y 2016 IEEE Congress on Evolutionary Computation (CEC) con sesiones especiales sobre hiper-heuriacutesticas en sus ediciones del 2013 y

2016 En cuanto a competencias internacionales sobre la materia destacan las dos ediciones del Cross-domain Heurisic Search Challenge (CHeSC) La competencia consistiacutea en disentildear estrategias de alto nivel que controlaran la aplicacioacuten de heuriacutesticas de bajo nivel para dominios especiacuteficos Durante el reto las heuriacutesticas de bajo nivel seriacutean diferentes para cada dominio del problema pero la estrategia de alto nivel debiacutea ser la misma para todos los dominios El reto se enfocaba en el desempentildeo de los meacutetodos de optimizacioacuten en diferentes dominios de problemas en lugar de concentrarse soacutelo en uno

En cuanto a herramientas para la implementacioacuten de hiper-heuriacutesticas la literatura contiene pocos ejemplos entre los que destacan Hyperion HyFlex y EvoHyp No todas las herramientas se encuentran disponibles en este momento ya que algunos de los sitios para su distribucioacuten han sido descontinuados En cualquier caso es posible contactar a los autores para solicitar acceso a las herramientas

Adicionalmente a estos recursos en el 2013 se formoacute la IEEE Task Force on Hyper-heuristics 7

dedicada al desarrollo y aplicaciones de hiper-heuriacutesticas y a su interseccioacuten con la inteligencia artificial la inteligencia computacional y la investigacioacuten de operaciones El sitio del grupo de trabajo proporciona muchos recursos uacutetiles en el tema de hiper-heuriacutesticas

Conclusiones Este capiacutetulo ha presentado el tema de hiper-heuriacutesticas desde diferentes perspectivas con la idea de dar al lector una panoraacutemica general pero suficientemente detallada para que pueda conocer el tema y pueda empezar a realizar avances a traveacutes de la investigacioacuten en el aacuterea o en la aplicacioacuten de las teacutecnicas para resolver problemas en el dominio de optimizacioacuten El capiacutetulo ha explicado el detalle los principales tipos de hiper-heuriacutesticas y sus fundamentos y los diversos modelos que se han generado en la literatura principalmente basados en modelos evolutivos y neuronales y entendiendo que no son los uacutenicos El capiacutetulo provee discusioacuten sobre aspectos avanzados en hiper-heuriacutesticas y que se han derivado en trabajos recientes como es el tratamiento de hiper-heuriacutesticas en problemas multi-objetivo y la transformacioacuten de caracteriacutesticas que permite mejorar el rendimiento de esquemas de hiper-heuriacutesticas En trabajos recientes se han presentado resultados al hibridizar tipos de hiper-heuriacutesticas como por ejemplo las de seleccioacuten con las de generacioacuten las de construccioacuten con las de generacioacuten los tipos de aprendizaje etc Hay todaviacutea un espacio para continuar investigando dentro de ese contexto Con el reciente impacto del tema de big-data se ha empezado a discutir en la comunidad cientiacutefica la relacioacuten de Ciencia de Datos con optimizacioacuten Aquiacute cabe naturalmente el toacutepico de hiper-

httpssitesgooglecomsiteieeetaskforceonhyperheurisitcshome7

heuriacutesticas dado que Ciencia de Datos puede apoyar para generar mejores algoritmos de optimizacioacuten y ciertamente los modelos de optimizacioacuten pueden incidir favorablemente para mejorar los procesos en ciencia de datos

Al final el capiacutetulo presentoacute una serie de recursos que pueden servir como base a estudiantes e investigadores para perseguir el tema de hiper-heuriacutesticas

  • Proacutelogo
  • Introduccioacuten
  • El algoritmo de Evolucioacuten Diferencial
  • Mutacioacuten
  • Cruza
  • Seleccioacuten
  • Estructura del Algoritmo
  • Modificaciones al algoritmo de Evolucioacuten Diferencial
  • Ajuste de paraacutemetros globales
  • Ajuste de paraacutemetros asociados a cada individuo de la poblacioacuten
  • Ajuste del tamantildeo de la poblacioacuten
  • Combinacioacuten de variantes
  • Evolucioacuten Diferencial para otros tipos de problemas
  • DE en Meacutexico
  • Conclusiones
  • Para saber maacutes
  • Introduccioacuten
  • AGds homogeacuteneos y heterogeacuteneos
  • Migracioacuten en AGPs
  • AGs celulares o de grano fino
  • Explotacioacutenexploracioacuten por propiedades estructurales
  • Presioacuten de seleccioacuten por caracteriacutesticas estructurales
  • Anaacutelisis empiacuterico
  • Aceleracioacuten en AGP
  • Concepto de sincronismo en AGPs
  • En AGPs distribuidos viacutea migracioacuten
  • En AGP celulares viacutea criterios de actualizacioacuten
  • Discusioacuten
  • Investigacioacuten de AGPs en Meacutexico
  • Para saber maacutes
  • Introduccioacuten
  • Proceso evolutivo
  • Representacioacuten
  • Poblacioacuten inicial
  • Operadores Geneacuteticos
  • Recombinacioacuten
  • Mutacioacuten
  • Seleccioacuten
  • Espacio de buacutesqueda
  • Conclusiones
  • Para saber maacutes
  • Introduccioacuten
  • Preservacioacuten de diversidad en algoritmos evolutivos
  • Clasificaciones de mecanismos para promover la diversidad
  • Esquemas claacutesicos para administrar la diversidad
  • Esquemas de reemplazamiento basados en diversidad
  • Diversidad en evolucioacuten diferencial
  • Disentildeo de evolucioacuten diferencial basado en diversidad
  • Evolucioacuten diferencial Conceptos baacutesicos
  • Inicializacioacuten
  • Operador de mutacioacuten
  • Operador de cruza
  • Operador de seleccioacuten
  • Propuesta basada en diversidad
  • Resultados de de-edm
  • Disentildeo de operadores de cruza basados en diversidad
  • Algoritmos evolutivos multi-objetivo
  • Operadores de cruza
  • El operador de cruza basado en simulacioacuten binaria - SBX
  • Implementacioacuten y anaacutelisis del operador sbx
  • Propuesta - dsbx
  • Resultados
  • Anaacutelisis de cada modificacioacuten en el operador sbx
  • Modificacioacuten simultaacutenea de varios componentes
  • Conclusiones y trabajo futuro
  • Para saber maacutes
  • Agradeciemientos
  • Introduccioacuten
  • Fundamentos de las Hiper-heuriacutesticas
  • Hiper-heuriacutesticas que seleccionan heuriacutesticas
  • Hiper-heuriacutesticas que generan nuevas heuriacutesticas
  • Modelos de Hiper-heuriacutesticas
  • Modelos Evolutivos
  • Hiper-Heuriacutesticas basadas en Algoritmos Geneacuteticos
  • Hiper-Heuriacutesticas basadas en Programacioacuten Geneacutetica
  • Modelos Neuronales
  • Un ejemplo
  • El problema
  • Las alternativas
  • La informacioacuten del problema
  • Nuestra primer hiper-heuriacutestica
  • Otras hiper-heuriacutesticas
  • Las hiper-heuriacutesticas como un problema de optimizacioacuten
  • Aspectos Avanzados de las Hiper-heuriacutesticas
  • Hiacuteper-heuriacutesticas para Problemas Multi-objetivo
  • Transformacioacuten de Caracteriacutesticas en Hiper-heuriacutesticas
  • Tendencias Futuras de Hiper-heuriacutesticas
  • Para saber maacutes
  • Conclusiones
Page 9: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 10: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 11: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 12: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 13: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 14: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 15: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 16: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 17: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 18: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 19: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 20: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 21: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 22: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 23: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 24: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 25: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 26: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 27: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 28: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 29: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 30: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 31: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 32: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 33: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 34: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 35: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 36: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 37: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 38: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 39: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 40: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 41: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 42: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 43: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 44: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 45: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 46: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 47: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 48: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 49: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 50: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 51: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 52: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 53: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 54: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 55: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 56: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 57: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 58: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 59: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 60: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 61: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 62: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 63: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 64: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 65: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 66: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 67: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 68: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 69: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 70: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 71: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 72: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 73: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 74: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 75: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 76: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 77: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 78: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 79: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 80: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 81: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 82: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 83: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 84: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 85: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 86: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 87: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 88: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 89: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 90: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 91: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 92: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 93: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 94: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 95: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 96: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 97: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 98: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 99: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 100: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 101: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 102: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 103: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 104: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 105: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 106: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 107: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 108: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 109: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 110: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 111: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 112: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 113: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 114: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 115: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 116: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 117: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 118: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 119: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 120: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 121: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 122: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos
Page 123: Computación Evolutivaamexcomp.org.mx/files/ComputacionEvolutiva.pdf · computación evolutiva. En todos los casos, se describe brevemente parte del trabajo que han realizado algunos