unidad zacatenco departamento de computacio´n un algoritmo

185
Centro de Investigaci ´ on y de Estudios A vanzados del Instituto Polit ´ ecnico Nacional Unidad Zacatenco Departamento de Computaci ´ on Un algoritmo mem´ etico para optimizaci ´ on de espacios restringidos Tesis que presenta Miriam Pescador Rojas para obtener el Grado de Maestra en Ciencias en la Especialidad de Computaci ´ on Director de la Tesis Dr. Carlos Artemio Coello Coello exico, D.F. Diciembre, 2010

Upload: others

Post on 29-Jul-2022

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

Centro de Investigacion y de Estudios Avanzadosdel Instituto Politecnico Nacional

Unidad Zacatenco

Departamento de Computacion

Un algoritmo memetico para optimizacion de espacios

restringidos

Tesis que presenta

Miriam Pescador Rojas

para obtener el Grado de

Maestra en Ciencias

en la Especialidad de

Computacion

Director de la Tesis

Dr. Carlos Artemio Coello Coello

Mexico, D.F. Diciembre, 2010

Page 2: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

ii

CINVESTAV-IPN Departamento de Computacion

Page 3: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

Agradecimientos

En primer lugar quiero expresar mi gratitud al Centro de Investigacion y de EstudiosAvanzados CINVESTAV y a todas las personas que forman parte de esta casa de estudios,quienes a traves de sus funciones brindan la formacion de estudios de excelencia en in-vestigacion y posgrado. Por haber sido un segundo hogar donde dıa a dıa vivı agradablesexperiencias academicas.

Agradezco el apoyo del Consejo Nacional de Ciencia y Tecnologıa CONACYT y delConsejo Mexiquense de Ciencia y Tecnologıa COMECYT. Manifiesto mi mas profundoreconocimiento por la labor que desempenan al aportar ayuda financiera y motivar eldesarrollo de investigacion en nuestro paıs.

Mi especial reconocimiento y admiracion a mi asesor de tesis el Dr. Carlos A. CoelloCoello, quien con sus innumerables e invaluables aportaciones, observaciones y consejoshizo posible el desarrollo de esta tesis.

A mis revisores de tesis el Dr. Gregorio Toscano Pulido y el Dr. Luis Gerardo de la Fragapor el tiempo que dedicaron para examinar esta tesis y porque gracias a sus comentarioshe obtenido un mejor trabajo.

A cada uno de los doctores del departamento por sus ensenanzas en los cursos que im-parten, gracias a ellos he logrado una muy completa formacion en ciencias en computacion.

Al grupo EVOCINV ya que en cada uno de los seminarios de investigacion me ilustra-ron con sus presentaciones y me aportaron buenos consejos para desarrollar mi trabajo. AlDr. Gregorio Toscano Pulido y Dr. Guillermo Leguizamon por ampliar mis conocimientosen el area de la computacion evolutiva.

A mis companeros y amigos de la maestrıa, Fermın, Jorge, Rosa, Gustavo, Arturo yRene, por su companıa en esta etapa de mi vida, por compartir gratos momentos y hacerque la estancia en el departamento de computacion fuera mas amena.

iii

Page 4: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

iv

Esta tesis esta dedicada especialmente a mi mama y mis hermanos, a quienes agradezco de todocorazon su amor, carino, comprension y apoyo incondicional.

Agradezco por fomentar en mı el deseo por la sabidurıa y el conocimiento, gracias por abrir laspuertas del mundo ante mi curiosidad e inquietudes.

Agradezco su apoyo, su guıa y confianza en la realizacion de mis suenos. Soy afortunada porcontar siempre con su amor, comprension y ejemplo. El esfuerzo realizado se convirtio en nuestrotriunfo, los amo y en todo momento los llevo conmigo.

Sinceramente muchas gracias.

Miriam Pescador Rojas

CINVESTAV-IPN Departamento de Computacion

Page 5: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

Resumen

La optimizacion numerica tiene una amplia aplicacion en diversas disciplinas que mo-delan problemas del mundo real, como por ejemplo, las mejoras al rendimiento de unsistema, la planeacion de procesos, la asignacion de recursos financieros, el diseno en in-genierıa y el desarrollo de modelos. Estos problemas presentan criterios a maximizar ominimizar y/o restricciones que deben ser cumplidas.

En la solucion de problemas de optimizacion se toman decisiones mediante la eleccionsistematica de valores de las variables de decision, las cuales se definen en un espaciode busqueda especıfico. Las restricciones, por su parte, se refieren a que una solucion esaceptable solo si se cumplen ciertas condiciones pre-establecidas por el usuario o por losrequerimientos de diseno.

Se han desarrollado numerosas tecnicas de programacion matematica para resolverdistintos tipos de problemas de optimizacion. Sin embargo, su uso resulta inadecuadoen diversos casos: por ejemplo, cuando las funciones no son diferenciables o presentandiscontinuidades, cuando la funcion objetivo es altamente no lineal, cuando el espacio debusqueda esta altamente restringido o cuando la dimensionalidad del problema es muyelevada.

Una alternativa para resolver este tipo de problemas son los denominados algoritmosmemeticos (AMs), cuyo funcionamiento se basa en la combinacion estrategica de meca-nismos de busqueda global con mecanismos de busqueda local. Mientras un mecanismoglobal explora el espacio completo de busqueda, el local explota determinadas regiones deeste, a fin de refinar las soluciones obtenidas.

La principal contribucion de esta tesis es el diseno y la implementacion de un algo-ritmo memetico para la solucion de problemas de optimizacion en espacios restringidos.Este algoritmo se compone de lo siguiente: un mecanismo de busqueda global basado enevolucion diferencial (ED), un metodo para el manejo de restricciones denominado jerar-quıas estocasticas (JE) y un procedimiento de busqueda local que usa el operador de cruzasimplex (SPX), el cual explota 2 vecindarios definidos por las n mejores y las n peoressoluciones de cada generacion.

El algoritmo memetico propuesto es validado usando un conjunto de problemas deprueba estandar tomado de la literatura especializada. Sus resultados se comparan con res-pecto a los de cuatro algoritmos representativos del estado del arte en el area. Ası mismo, serealiza un analisis estadıstico de resultados, empleando el analisis de varianza (ANOVA)y un metodo de remuestreo (bootstrap).

v

Page 6: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

vi Resumen

Los resultados obtenidos indicaron que el algoritmo memetico propuesto fue el queencontro los mejores resultados al conjunto de pruebas adoptado, presentando ademas uncomportamiento robusto.

CINVESTAV-IPN Departamento de Computacion

Page 7: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

Abstract

Numerical optimization has a wide applicability in a variety of disciplines that modelreal-world problems, such as performance improvements of a system, process planning,financial resources assignment, engineering design and model development. These pro-blems have criteria to be maximized or minimized and/or constraints that must be satisfied.

When solving optimization problems, decisions are made through the systematic selec-tion of values of the decision variables, which define a specific search space. Constraints,on the other hand, refer to considering a solution as acceptable, only if it fulfills certainconditions that are pre-established by the user of by the design requirements.

Numerous mathematical programming techniques have been developed to solve diffe-rent types of optimization problems. However, their use is inappropriate in several cases:for example, when the objective functions are non-differentiable or present discontinuities,when the objective function is highly nonlinear, when the search space is highly constrai-ned or when the dimensionality of the problem is too high.

An alternative to solve this type of problems is to use the so-called memetic algorithms(MAs), which are based on a strategic combination of global search mechanisms with localsearch mechanisms. While a global mechanism explores all of the search space, the localmechanism exploits certain regions within it, aiming to refine the solutions previouslyobtained.

The main contribution of this thesis is the design and implementation of a memeticalgorithm for solving constrained optimization problems. This algorithm is composed bythe following elements: a global search mechanism based on differential evolution (DE), aconstraint-handling mechanism called stochastic ranking (SR) and a local search procedurethat adopts simplex crossover (SPX), which exploits 2 neighborhoods defined by the n bestand the n worst solutions of each generation.

The proposed memetic algorithm is validated using a set of standard test problemstaken from the specialized literature. Its results are compared with respect to those pro-duced by four algorithms representative of the state-of-the-art in the area. Furthermore,a statistical analysis of results is also performed, using the analysis of variance (ANOVA)and a resampling method (bootstrap).

The results obtained indicated that the proposed memetic algorithm found the bestoverall results in the test problems adopted, having a robust behavior as well.

vii

Page 8: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

viii Abstract

CINVESTAV-IPN Departamento de Computacion

Page 9: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

Indice general

Lista de tablas xiii

Lista de figuras xv

1. Introduccion 1

1.1. Antecedentes y motivacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.2. Planteamiento del problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.3. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.4. Contribuciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.5. Organizacion de la tesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2. Optimizacion 7

2.1. Definicion de un problema de optimizacion . . . . . . . . . . . . . . . . . . . 7

2.2. Espacios restringidos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.3. Metodos de programacion matematica . . . . . . . . . . . . . . . . . . . . . . 12

2.4. Computacion evolutiva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.5. Paradigmas de la computacion evolutiva . . . . . . . . . . . . . . . . . . . . 15

2.5.1. Programacion evolutiva . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.5.2. Estrategias evolutivas . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.5.3. Algoritmos geneticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3. Motores de busqueda global 19

3.1. Modelos de AEs para problemas en espacios continuos . . . . . . . . . . . . 19

3.1.1. Algoritmos geneticos con codificacion real . . . . . . . . . . . . . . . 20

3.1.2. Optimizacion mediante cumulos de partıculas . . . . . . . . . . . . . 23

3.1.3. Evolucion diferencial . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.2. Manejo de restricciones en los AEs . . . . . . . . . . . . . . . . . . . . . . . . 30

3.2.1. Funciones de penalizacion . . . . . . . . . . . . . . . . . . . . . . . . . 30

3.2.1.1. Pena de muerte . . . . . . . . . . . . . . . . . . . . . . . . . 32

3.2.1.2. Penalizaciones estaticas . . . . . . . . . . . . . . . . . . . . . 32

3.2.1.3. Penalizaciones dinamicas . . . . . . . . . . . . . . . . . . . . 32

3.2.1.4. Penalizaciones adaptativas . . . . . . . . . . . . . . . . . . . 33

3.2.2. Otras tecnicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

3.2.2.1. Operadores y representaciones especiales . . . . . . . . . . 34

3.2.2.2. Separacion de restricciones y objetivos . . . . . . . . . . . . 34

3.2.2.3. Jerarquizacion estocastica . . . . . . . . . . . . . . . . . . . . 35

3.3. Resumen del capıtulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

ix

Page 10: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

x INDICE GENERAL

4. Buscadores locales para espacios continuos 39

4.1. Metodos de busqueda directa . . . . . . . . . . . . . . . . . . . . . . . . . . . 414.1.1. Metodo de patrones de busqueda de Hooke-Jeves . . . . . . . . . . . 424.1.2. Metodo simplex de Nelder-Mead . . . . . . . . . . . . . . . . . . . . 44

4.2. Metodos de busqueda basados en el gradiente . . . . . . . . . . . . . . . . . 464.2.1. Metodo de ascenso o descenso acelerado . . . . . . . . . . . . . . . . 47

4.3. Metodos basados en heurısticas . . . . . . . . . . . . . . . . . . . . . . . . . . 49

4.3.1. Busqueda tabu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494.4. Operadores geneticos basados en vecindarios . . . . . . . . . . . . . . . . . . 51

4.4.1. Cruza con distribucion normal unimodal (UNDX) . . . . . . . . . . . 524.4.2. Recombinacion centrica de los padres (PCX) . . . . . . . . . . . . . . 524.4.3. Cruza simplex (SPX) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534.4.4. Cruza PBX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

4.4.5. Operador de mutacion BGA . . . . . . . . . . . . . . . . . . . . . . . . 564.5. Resumen del capıtulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

5. Algoritmos memeticos en la literatura 59

5.1. AMs para optimizacion mono-objetivo sin restricciones . . . . . . . . . . . . 595.1.1. RCMA-XHC: Algoritmo genetico y operador de cruza adaptativo

como buscador local . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595.1.2. LDSE: Evolucion diferencial y metodo de Nelder-Mead . . . . . . . . 615.1.3. DEahcSPX: Algoritmo de evolucion diferencial, tecnica escalando la

colina y operador de cruza SPX . . . . . . . . . . . . . . . . . . . . . . 635.2. AMs para optimizacion mono-objetivo con restricciones . . . . . . . . . . . . 66

5.2.1. MCODE cooperativo: AM con ED y cooperacion co-evolutiva. . . . . 665.2.2. LEDE: Exploracion local basada en evolucion diferencial. . . . . . . . 68

6. Propuesta de algoritmo memetico para problemas con restricciones 75

6.1. Muestreo de puntos con distribucion uniforme . . . . . . . . . . . . . . . . . 75

6.2. Evolucion diferencial como mecanismo de busqueda global . . . . . . . . . 776.3. Jerarquıas estocasticas para el manejo de restricciones . . . . . . . . . . . . . 786.4. Operador de cruza simplex . . . . . . . . . . . . . . . . . . . . . . . . . . . . 786.5. Algoritmo propuesto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

7. Validacion del metodo propuesto 87

7.1. Funciones de prueba . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 887.2. Diseno experimental . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 917.3. Parametros de control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

7.4. Resultados experimentales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 937.4.1. Estudio comparativo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 967.4.2. Efecto del buscador local . . . . . . . . . . . . . . . . . . . . . . . . . 98

8. Analisis estadıstico 107

8.1. Ajuste de parametros de control . . . . . . . . . . . . . . . . . . . . . . . . . . 1078.1.1. Analisis de varianza (ANOVA) . . . . . . . . . . . . . . . . . . . . . . 108

8.2. Resultados obtenidos con ajuste de parametros . . . . . . . . . . . . . . . . . 1108.3. Metodo de remuestreo (BOOTSTRAP) . . . . . . . . . . . . . . . . . . . . . . 111

CINVESTAV-IPN Departamento de Computacion

Page 11: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

INDICE GENERAL xi

8.3.1. Intervalos de confianza . . . . . . . . . . . . . . . . . . . . . . . . . . 112

9. Conclusiones y trabajo futuro 119

9.1. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1199.2. Trabajo a futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

A. Funciones de prueba 123

B. Graficas de resultados 135B.1. Diagramas de caja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135B.2. Comparacion de graficas de convergencia entre AMs . . . . . . . . . . . . . 135B.3. Graficas de convergencia del efecto del buscador local . . . . . . . . . . . . . 135B.4. Histograma de Frecuencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135B.5. Histograma de densidad y graficas de cuantiles de bootstrap . . . . . . . . . 153

Bibliografıa 161

CINVESTAV-IPN Departamento de Computacion

Page 12: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

xii INDICE GENERAL

CINVESTAV-IPN Departamento de Computacion

Page 13: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

Lista de tablas

7.1. Resumen de las caracterısticas de las funciones de prueba adoptadas. n esel numero de variables de decision, ρ |F||S| es la tasa estimada (en por-centaje) entre la region factible y el espacio de busqueda, LI es el numerode restricciones de desigualdad lineales, NI el numero de ecuaciones de de-sigualdad no lineales, LE el numero de funciones de restriccion de igualdadlineales y NE es el numero de restricciones de igualdad no lineales. a es elnumero de restricciones activas en ~x. . . . . . . . . . . . . . . . . . . . . . . 89

7.2. Soluciones optimas (o mejores valores conocidos) al conjunto de problemas.n es el numero de variables de decision y fp~xq el valor de la funcion objetivo. 90

7.3. Resumen de los valores utilizados en cada parametro de los 4 algoritmos:jerarquıas estocasticas (SR) [76], evolucion diferencial con cooperacion co-evolutiva (MCODE) [29], exploracion local basada en evolucion diferencial(LEDE) [1] y nuestra propuesta, denominada algoritmo memetico para es-pacios restringidos (AMER). EFO se refiere al numero total de evaluacionesde la funcion objetivo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

7.4. Comparacion de los resultados estadısticos de los 5 algoritmos para las 22funciones de prueba. Consideramos el numero de evaluaciones de la funcionobjetivo f , requeridas para la solucion factible p~x, f p~xqq. Factibles se refiereal porcentaje del valor promedio de soluciones factibles en el conjunto dedatos experimentales y evalmin es el valor promedio de evaluaciones mınimasque se requieren para que el algoritmo alcance una solucion f p~xq ǫ, dondeǫ es el error porcentual de estimacion al optimo global. Se aprecia que losresultados resaltados en negritas son los mejores de los 5 algoritmos. . . . . 101

7.5. Graficas de convergencia que ilustran la evolucion de las dos versiones delalgoritmo con y sin buscador local, para los problemas g01 y g02, siendoevidente la superioridad de la propuesta original. . . . . . . . . . . . . . . . 102

7.6. Resultados estadısticos que muestran la influencia que tiene un buscador lo-cal adaptado a un mecanismo de busqueda global. SBL significa el algoritmoAMER sin el uso del buscador local y CBL se refiere a la propuesta original.Se utilizo la misma semilla de aleatorios para generar las soluciones. . . . . 103

7.7. Resultados estadısticos de nuestra propuesta, se muestran el porcentaje desoluciones factibles, las evaluaciones mınimas que se requieren para conver-ger al optimo global de acuerdo a un valor de error porcentual y el porcentajeen mejoras que se obtienen despues de usar el buscador local. . . . . . . . . 105

xiii

Page 14: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

xiv LISTA DE TABLAS

8.1. Resultados obtenidos a partir del metodo de ANOVA. F, C, ǫ, np, P f , pob,Gmax son los mejores valores para los parametros de cada problema y Ep esel porcentaje del promedio de ejecuciones exitosas estableciendo un 1 % deerror porcentual. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

8.2. Resultados estadısticos del conjunto de funciones despues del ajuste deparametros. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

8.3. Intervalos de confianza de las 22 funciones de prueba para los algoritmos SR(jerarquizacion estocastica), MCODE (evolucion diferencial con cooperacionco-evolutiva) y LEDE1 (exploracion local basada en evolucion diferencial ensu version 1). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

8.4. Intervalos de confianza de las 22 funciones de prueba para los algoritmosLEDE2 (exploracion local basada en evolucion diferencial en su version 2) yAMER (algoritmo memetico para espacios restringidos). . . . . . . . . . . . 115

8.5. Media y desviacion estandar de la funcion objetivo de nuestra propuesta,calculada a traves de un procedimiento de bootstrap con 1000 remuestreos. . 116

8.6. Histograma de densidad y graficas de cuantiles de las soluciones despuesde aplicar metodo de bootstrap con 1000 remuestreos para las funcionesg10 y g12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

A.1. Conjunto de datos para el problema g19 . . . . . . . . . . . . . . . . . . . . . 133

CINVESTAV-IPN Departamento de Computacion

Page 15: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

Lista de figuras

2.1. Mınimo y maximo de una funcion objetivo . . . . . . . . . . . . . . . . . . . 8

2.2. Ejemplo de un optimo global y un optimo local de un problema . . . . . . . 92.3. Ejemplo de multimodalidad (funcion de Schwefel) . . . . . . . . . . . . . . . 10

2.4. Caso hipotetico de un espacio restringido . . . . . . . . . . . . . . . . . . . . 112.5. Las restricciones no tienen efecto sobre el punto optimo . . . . . . . . . . . . 12

2.6. El optimo del problema restringido difiere del optimo del problema irres-tricto encontrandose en el lımite de la restriccion. . . . . . . . . . . . . . . . 13

2.7. Incremento en el numero de optimos locales. . . . . . . . . . . . . . . . . . . 142.8. Una posible taxonomıa de los algoritmos de optimizacion . . . . . . . . . . 14

2.9. Ilustracion grafica del proceso evolutivo de un algoritmo genetico. . . . . . 16

3.1. Ejemplo de un esquema de codificacion binaria de una solucion. A la cadenabinaria completa se le considera como “individuo” que tiene un “cromosoma”. 19

3.2. Ejemplo de un esquema de CR de una solucion . . . . . . . . . . . . . . . . . 203.3. Topologıa de PSO version gbest . . . . . . . . . . . . . . . . . . . . . . . . . . 25

3.4. Esquema del operador de mutacion en ED . . . . . . . . . . . . . . . . . . . 273.5. Esquema del operador de recombinacion en ED . . . . . . . . . . . . . . . . 28

3.6. Recombinacion discreta binomial y exponencial . . . . . . . . . . . . . . . . 28

4.1. Ejemplo del mecanismo de busqueda local . . . . . . . . . . . . . . . . . . . 39

4.2. Busqueda en el vecindario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404.3. Problema de mınimos locales . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

4.4. Ejemplo hipotetico en dos dimensiones de la generacion de nuevas solucio-nes mediante los operadores utilizados por el metodo de Nelder-Mead. . . 44

4.5. Ejemplo de las direcciones de busqueda al aplicar gradiente . . . . . . . . . 48

4.6. Ejemplo de distribucion de descendientes en tres tipos de cruzas basadas envecindarios: a) cruza con distribucion normal unimodal (UNDX), b) recom-binacion centrica de los padres (PCX) y c) cruza simplex (SPX) . . . . . . . . 51

4.7. Operador BLX-α con n 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

4.8. Representacion grafica del operador simplex . . . . . . . . . . . . . . . . . . 544.9. Ejemplo de SPXn 2 ε . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

5.1. Diagrama de flujo del algoritmo MCODE . . . . . . . . . . . . . . . . . . . . 72

6.1. Un ejemplo de muestreo por hipercubos latinos . . . . . . . . . . . . . . . . 76

6.2. Caso hipotetico de un muestreo por hipercubos latinos en un espacio 3-dimensional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

6.3. Ejemplo del funcionamiento del algoritmo de ED en un espacio restringido 77

xv

Page 16: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

xvi LISTA DE FIGURAS

6.4. Adaptacion del mecanismo de manejo de restricciones . . . . . . . . . . . . 796.5. Casos de orientacion para puntos en un espacio 2-dimensional . . . . . . . . 806.6. Generacion de puntos mediante el operador SPX de busqueda local en un

espacio bidimensional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 816.7. Geneacion de puntos mediante el operador SPX de busqueda local en un

espacio tridimensional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 826.8. Diagrama de Flujo de la propuesta de esta tesis. . . . . . . . . . . . . . . . . 84

7.1. Modelo general de un proceso. . . . . . . . . . . . . . . . . . . . . . . . . . . 877.2. Esquema de un diagrama de caja. A valores atıpicos, B valor maximo, C

cuartil superior, D mediana, E cuartil inferior, F valor mınimo. . . . . . . . . 947.3. Una comparacion de los diagramas de caja de cada algoritmo para el pro-

blema 17. La lınea roja muestra el valor de la solucion optima. . . . . . . . . 957.4. Grafica de convergencia en los 4 algoritmos memeticos para espacios res-

tringidos (MCODE, LEDE1, LEDE2 y AMER) para el problema g02. . . . . . 957.5. histograma de las frecuencias de las soluciones en AMER para el problema

g13. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 967.6. Diagramas de caja de las diferencias de la solucion optima conocida f p~xq y

las posibles soluciones que proporciona cada algoritmo f p~xq. . . . . . . . . . 97

8.1. Tabla de experimentos para el analisis de varianza . . . . . . . . . . . . . . . 1088.2. Distribucion de bootstrap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

CINVESTAV-IPN Departamento de Computacion

Page 17: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

Lista de Algoritmos

1. Estructura de un AG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212. Algoritmo de PSO version gbest. . . . . . . . . . . . . . . . . . . . . . . . . . . 263. Algoritmo de la ED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294. Jerarquizacion estocastica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365. Algoritmo de busqueda local . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406. Movimiento exploratorio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427. Algoritmo de Hooke Jeeves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438. Metodo de Nelder-Mead . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469. Algoritmo de busqueda tabu . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5010. Operador de cruza UNDX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5211. Operador de cruza PCX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5312. Algoritmo XHC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6013. Algoritmo RCMA-XHC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6214. Algoritmo LDSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6315. Algoritmo DEahcSPX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6416. Mecanismo escalando la colina AHCXLS . . . . . . . . . . . . . . . . . . . . . 6417. Operador de cruza SPX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6518. Algoritmo MCODE cooperativo . . . . . . . . . . . . . . . . . . . . . . . . . . 6819. Algoritmo de busqueda local basado en una modificacion de busqueda de

patrones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7120. Algoritmo LEDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7321. Modificacion al algoritmo de ED . . . . . . . . . . . . . . . . . . . . . . . . . . 8322. Propuesta de algoritmo memetico . . . . . . . . . . . . . . . . . . . . . . . . . 8523. Algoritmo basico de bootstrap . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

xvii

Page 18: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

xviii LISTA DE ALGORITMOS

CINVESTAV-IPN Departamento de Computacion

Page 19: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

Capıtulo 1

Introduccion

La optimizacion tiene una enorme aplicabilidad en diversas ramas del conocimiento.Con su uso se busca obtener las mejores soluciones posibles a modelos matematicos querepresentan problemas del mundo real. En la formulacion de dichos modelos, pueden pre-sentarse funciones del tipo: mono-objetivo, con un solo objetivo a cumplirse; multi-objetivo,con dos o mas objetivos a cumplirse; con restricciones, en los cuales las soluciones debenestar dentro de ciertos lımites; ası como funciones multimodales, que presentan muchosmınimos locales y multivariable, las cuales involucran muchas variables de decision.

En la solucion de problemas de optimizacion se toman decisiones para maximizar o mi-nimizar determinados criterios, mediante la eleccion sistematica de valores de las variablesde decision, las cuales se definen en un espacio de busqueda especıfico. Las restricciones,por su parte, significan que la decision es posible solo si se cumplen ciertas condiciones.

Las tecnicas clasicas de programacion matematica buscan maximos o mınimos de unafuncion, empleando metodos numericos que usan derivadas o su aproximacion. Sin em-bargo, estos metodos resultan inadecuados en diversos casos, por ejemplo, cuando lasfunciones no tienen derivadas, cuando el espacio de busqueda es muy restringido, cuandola funcion es discontinua, etc. Estas situaciones vuelven mas complejo un problema deoptimizacion.

Para solucionar problemas de optimizacion que se definen en espacios de busquedacomplejos, se han usado los metodos de programacion llamados heurısticas o metaheurısti-cas, los cuales buscan buenas soluciones(es decir, casi optimas) a un costo computacionalrazonable. La desventaja de su uso es que no pueden garantizar factibilidad u optimalidadde las soluciones que producen [96].

Existen tecnicas de optimizacion que combinan sinergicamente conceptos de las me-taheurısticas con mecanismos de mejora local. A este tipo de tecnicas se les denominaalgoritmos memeticos (AMs) [62]. Este tipo de tecnica adopta una metaheurıstica como sumecanismo de busqueda global, el cual tiene como objetivo encontrar regiones promete-doras del espacio de busqueda, mientras que el buscador local realiza un refinamiento delas soluciones encontradas. Ambos esquemas trabajan en forma cooperativa, mediante unbalance entre la exploracion y la explotacion de las regiones del espacio de busqueda.

En esta tesis abordamos la resolucion de problemas mono-objetivo con restriccionesempleando AMs. Para ello enfocamos nuestro estudio en el diseno, implementacion yacoplamiento de mecanismos de busqueda global y local, ası como en el manejo de restric-ciones del problema. Para generar nuestra propuesta examinamos algoritmos competitivos

1

Page 20: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

2 1. Introduccion

del estado del arte, con la finalidad de extraer caracterısticas que logran un buen desem-peno en la solucion de diversas funciones tomadas de la literatura especializada.

1.1. Antecedentes y motivacion

En los anos 1600 surgen los primeros metodos de optimizacion. En esta epoca se desa-rrollo el calculo diferencial gracias a las contribuciones de Isaac Newton y Gottfried Wilhelmvon Leibniz. Posteriormente fueron establecidos los fundamentos de calculo de variacio-nes, por Johann Bernoulli, Leonhard Euler, Joseph-Louis Lagrange y Karl Weierstrass. Paraproblemas con restricciones, se involucraron funciones y metodos de multiplicadores deLagrange.

A pesar de estas aportaciones, no fue sino hasta mediados del siglo XX, con la aparicionde las computadoras digitales, que fue posible la implementacion de los algoritmos de op-timizacion existentes. Las computadores digitales fueron el parteaguas en el desarrollo denuevos metodos y la creacion de diversas areas bien definidas en teorıa de la optimizacion.

En 1947 surgio el metodo simplex de George Dantzig y el principio de optimalidadpara problemas de programacion dinamica anunciado por Richard Bellman en 1957. Estosento las bases para el desarrollo de metodos de optimizacion en espacios restringidos.Sin embargo, el trabajo de Harold W. Kuhn y Albert W. Tucker en 1951, en torno a lascondiciones necesarias y suficientes para la solucion a un problema de optimizacion, es-tablecio los fundamentos para investigacion en optimizacion no lineal. El trabajo de C.W.Carroll y el de Anthony V. Fiacco y Garth P. McCormick, tiene gran importancia porquepermitio resolver una amplia gama de problemas con restricciones usando funciones depenalizacion.

En la segunda mitad del siglo XX el advenimiento de las heurısticas marca el inicio dela computacion evolutiva. Estos algoritmos imitan comportamientos encontrados en la na-turaleza como: el principio de la “supervivencia del mas apto”, el comportamiento socialy cooperativo emergente de organismos agrupados en colonias, la denominada inteligen-cia cumular, la propagacion e influencia de la cultura en una poblacion, entre otros. Sufuncionamiento radica en generar soluciones iniciales que van siendo modificadas con lafinalidad de mejorar el valor de la funcion objetivo en cada iteracion. En la implementacionde estos metodos se introducen parametros probabilısticos, que necesitan ser calibrados porel usuario con el objetivo de incrementar el desempeno del algoritmo en un problema dado.

Las tendencias actuales sugieren la recombinacion de diversos mecanismos para explo-rar y explotar el espacio de busqueda del problema. Una vez que se ha ubicado una zonafactible se recomienda utilizar un mecanismo de busqueda local que agilice la convergen-cia al optimo global, sin perder la diversidad de soluciones a fin de evitar caer en optimoslocales. Diversidad y convergencia son conceptos que generalmente se contraponen, porlo tanto debe existir un balance entre ambos.

Un buscador local tiene el objetivo de explotar determinadas regiones. Por lo tanto,

CINVESTAV-IPN Departamento de Computacion

Page 21: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

1. Introduccion 3

esta asociado al uso de estructuras de entorno que reflejan el concepto de proximidado vecindad. Su funcion es generar soluciones vecinas que mejoren el entorno de la(s)solucion(es) actual(es).

1.2. Planteamiento del problema

Resolver un problema de optimizacion con restricciones difiere considerablemente aresolver uno sin restricciones, ya que comunmente se modifica de manera importante elespacio de busqueda del problema, lo que puede producir un cambio en la ubicacion de lasolucion optima global. Por lo tanto, se debe guiar la busqueda involucrando las funcionesde restriccion en el algoritmo. Existen diversos metodos para el manejo de las restriccio-nes [86], y su desempeno esta en funcion de la forma en la que estos se combinan con elmetodo de busqueda utilizado.

En la actualidad existen diversos trabajos relacionados con el uso de buscadores localespara espacios discretos [18], donde es mas clara su utilizacion, debido a que el espacio debusqueda es reducido, haciendo mas facil la exploracion del vecindario total de soluciones.En contraste, los buscadores locales para problemas definidos en espacios continuos, debenrealizar movimientos pequenos con una alta precision.

A pesar de que los buscadores locales aceleran la convergencia al optimo global, elinconveniente es que suelen caer en optimos locales, que a veces estan muy alejados deloptimo global del problema. Por eso es indispensable tener una estrategia que mantengala diversidad de las soluciones, para evitar quedar atrapado en optimos locales.

La introduccion y el diseno de buscadores locales para espacios de busqueda continuosno es simple y depende en gran medida del tipo de problema a resolver. Para su diseno de-ben definirse: la forma de generar un vecindario, la frecuencia de uso, las soluciones sobrelas que se trabajara, el tiempo de ejecucion, la estrategia de reemplazo y el mantenimientode la diversidad. De no ser ası, su uso se vuelve innecesario y no beneficiara al algoritmode busqueda global.

1.3. Objetivos

El objetivo general de esta tesis es disenar e implementar un AM que resuelva problemasde optimizacion definidos en espacios restringidos y continuos. Por lo tanto, es necesarioun estudio de diversos mecanismos de busqueda global y local, para identificar ventajasy desventajas de su uso. Para cumplir el objetivo principal de esta tesis se definieron lossiguientes objetivos particulares:

Investigar mecanismos competitivos de busqueda global y local para espacios conti-nuos.

Analizar caracterısticas de diseno de diversos buscadores locales.

CINVESTAV-IPN Departamento de Computacion

Page 22: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

4 1. Introduccion

Implementar un algoritmo de busqueda global para espacios continuos.

Implementar una estrategia para el manejo de las restricciones del problema.

Implementar un algoritmo de busqueda local para espacios continuos.

Definir aspectos que identifiquen que un buscador local tienen buen desempeno enespacios continuos.

Acoplar el buscador local y global, ası como el manejo de restricciones para producirun AM para problemas de optimizacion restringidos.

Realizar pruebas con funciones estandar tomadas de la literatura especializada.

Medir el desempeno del algoritmo.

Comparar con AMs del estado del arte.

Corroborar los beneficios del uso de buscadores locales.

Realizar el estudio y analisis estadıstico de los resultados obtenidos.

1.4. Contribuciones

Las principales contribuciones de esta tesis son las siguientes:

Un estudio de las caracterısticas de diversos buscadores locales.

Un AM competitivo con respecto a medidas de desempeno reportadas en la literaturaespecializada.

Un diseno experimental con funciones de prueba que validan la propuesta.

Un analisis estadıstico para el ajuste de parametros de la propuesta.

1.5. Organizacion de la tesis

El resto de la tesis esta organizada de la manera siguiente:

Capıtulo 2. Optimizacion: Introduce la definicion general de un problema de opti-mizacion y describe cada uno de los elementos que lo definen. Presenta la solucionde problemas de optimizacion mediante metodos de programacion matematica yalgoritmos de computacion evolutiva.

Capıtulo 3. Motores de busqueda global: Define un mecanismo de busqueda globalespecıficamente para espacios continuos. Menciona AEs del estado del arte, comolos algoritmos geneticos con codificacion real, la optimizacion mediante cumulo departıculas y la evolucion diferencial. Menciona diversos metodos para el manejo derestricciones en los AEs.

CINVESTAV-IPN Departamento de Computacion

Page 23: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

1. Introduccion 5

Capıtulo 4. Buscadores locales para espacios continuos: Describe diferentes metodosy tecnicas como algoritmos de busqueda local, clasificandolos en: metodos numericostradicionales de optimizacion con uso de derivadas, metodos de busqueda directa,metodos heurısticos y operadores geneticos basados en vecindarios. Se presentan lasdiferencias entre cada uno y la forma en la que trabajan.

Capıtulo 5. Algoritmos memeticos en la literatura: Aborda AMs recientes de la lite-ratura especializada, enfocandose en aquellos que hacen uso de una heurıstica paracodificacion real y buscadores locales con metodos de busqueda directa u operado-res geneticos basados en vecindarios, tanto para problemas con y sin restricciones.En este punto se presenta de manera detallada el algoritmo hıbrido para problemasmono-objetivo sin restricciones en el que se basa nuestra propuesta.

Capıtulo 6. Propuesta de algoritmo memetico para problemas con restricciones:

Describe las modificaciones realizadas al algoritmo DEahcSPX tomado de la literaturaa fin de adaptarlo a problemas de optimizacion con restricciones. Se explica el disenodel algoritmo hıbrido, resolviendo las interrogantes en el diseno de buscadores localesque se mencionan en el planteamiento del problema de la tesis.

Capıtulo 7. Validacion del metodo propuesto: Expone la manera en la que serealizo el diseno experimental y la seleccion de los parametros de control del al-goritmo. Se presenta una comparativa entre nuestra propuesta y AMs del estado delarte. Ademas, se muestra el efecto de la utilizacion del buscador local.

Capıtulo 8. Analisis estadıstico: Propone el ajuste de parametros mediante un analisisestadıstico y presenta los nuevos resultados del algoritmo con este ajuste.

Capıtulo 9. Conclusiones y trabajo a futuro: Presenta un resumen detallado deltrabajo de tesis. Desarrolla una discusion de las contribuciones de la nueva propuestaen comparacion con algoritmos competitivos de la literatura. Destaca los principalesresultados del trabajo y finalmente describe como trabajo a futuro algunas posiblesmejoras al algoritmo y comparaciones o analisis estadısticos que pudiera extendereste trabajo.

Apendice A. Funciones de prueba: Define el conjunto de 22 funciones de prue-ba tomado de la literatura especializada, ası como sus caracterısticas y principalesdificultades en su resolucion.

Apendice B. Graficas de convergencia: Para cada una de los experimentos realizadosen la tesis se presentan las graficas de convergencia, graficas de caja e histogramaspara visualizar el comportamiento del algoritmo propuesto.

CINVESTAV-IPN Departamento de Computacion

Page 24: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

6 1. Introduccion

CINVESTAV-IPN Departamento de Computacion

Page 25: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

Capıtulo 2

Optimizacion

Las tecnicas de optimizacion estan presentes en cualquier problema que involucre latoma de decisiones, sobre todo en ingenierıa o en economıa. La tarea del tomador de deci-siones implica seleccionar, entre varias alternativas, la mejor solucion que cumpla con susrequerimientos. La medida del valor de estas alternativas esta descrita por una funcionobjetivo o un ındice de desempeno.

En diseno, construccion y mantenimiento de sistemas, los ingenieros deben tomar de-cisiones tanto tecnologicas como administrativas en diferentes etapas, con el objetivo finalde minimizar el esfuerzo requerido o maximizar el beneficio obtenido. En cualquier situa-cion practica este esfuerzo o beneficio puede ser expresado como una funcion con ciertasvariables de decision. Por lo tanto, la optimizacion se define como el proceso de encontrarlas condiciones que daran el valor maximo o mınimo de una funcion.

Los metodos de busqueda del optimo son tambien conocidos como tecnicas de pro-gramacion matematica, las cuales son ampliamente estudiadas en el area de investigacionde operaciones. Esta area es una rama de las matematicas relacionada con la aplicacionde metodos cientıficos y tecnicas para la toma de decisiones que establecen cuales son lassoluciones deseables para un problema de optimizacion.

2.1. Definicion de un problema de optimizacion

El problema de optimizacion general que nos interesa para los fines de esta tesis sedefine como:

Encontrar ~x rx1, x2, ..., xnsT que minimice 1 f p~xq sujeto a:$&%gip~xq ¤ 0, i 1, 2, ...,m

h jp~xq 0, j 1, 2, ..., p

,.- (2.1)

donde ~x es un vector ndimensional llamado vector de diseno, f p~xq es la funcion objetivo,gip~xq y h jp~xq son las restricciones de desigualdad e igualdad, respectivamente. El problemaformulado en la ecuacion (2.1) es conocido como el problema de optimizacion restringido.

1Sin perdida de generalidad, nos referimos solo a problemas de minimizacion, ya que un problema demaximizacion puede transformarse a uno de minimizacion. Ver figura 2.1.

7

Page 26: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

8 2. Optimizacion

f p~xqf p~xq f p~xq f p~xq x, mınimo de f p~xqx, mınimo de f p~xqx, maximo de f p~xqx, maximo de f p~xq ~x~x

f p~xqf p~xq

Figura 2.1: Mınimo y maximo de una funcion objetivo

Vector de diseno

Cualquier sistema o componente de ingenierıa esta definido por un conjunto de can-tidades, algunas de las cuales son vistas como variables durante el proceso de diseno. Engeneral, ciertas cantidades son usualmente fijas y se conocen como parametros preasigna-dos. Las otras cantidades son tratadas en el diseno del proceso como variables de decision ode diseno xi, i 1, 2, ..., n. Las variables de diseno son colectivamente representadas comoun vector de diseno ~x rx1, x2, ..., xnsT.

Cada punto ndimensional en el espacio de diseno es llamado punto de diseno y repre-senta una solucion posible al problema [72].

Restricciones de diseno

En la mayor parte de los problemas de ingenierıa, las variables de diseno no puedenelegirse de manera arbitraria, sino que deben satisfacer ciertos requerimientos. Las condi-ciones que deben satisfacerse para producir un diseno aceptable son llamadas, generica-mente, restricciones de diseno.

Las restricciones que representan limitaciones en el comportamiento o el desempenodel sistema son denominadas restricciones funcionales o de comportamiento. Las restriccionesque representan limitaciones fısicas tales como disponibilidad, facilidad de fabricacion ytransportabilidad son denominadas restricciones geometricas.

Funcion objetivo

Los procedimientos de diseno convencional tienen como objetivo encontrar modelosaceptables o adecuados, que satisfagan la funcionalidad y requerimientos de un problema.Por lo tanto, la formulacion de un problema de optimizacion debe identificar las variables

CINVESTAV-IPN Departamento de Computacion

Page 27: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

2. Optimizacion 9

de diseno que serviran para la construccion de un modelo matematico, destinado a dar unabuena representacion del problema. Un ejemplo de caracter economico pudiera ser maxi-mizar un beneficio y/o minimizar un costo. Comunmente, se presenta mas de un disenoaceptable, por lo que se debe elegir el mejor de un conjunto de alternativas. Dicho modeloes una funcion escalar de las variables de diseno, f : Rn Ñ R, conocida como funcionobjetivo. Cuando se presentan multiples funciones objetivo (por lo regular en conflicto), setiene un problema de optimizacion multiobjetivo [78, 86].

Optimo global

Un optimo global (suponiendo minimizacion) es aquel que representa el valor maspequeno de f p~xq, en todo el espacio de busqueda del problema, ver figuras 2.2 y 2.3.

-15-10

-5 0

5 10

15-15

-10

-5

0

5

10

15

-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

z

x

y

z

* optimo local

• optimo global

*•

Figura 2.2: Ejemplo de un optimo global y un optimo local de un problema

Definicion: Dada una funcion f : Ω Rn Ñ R, Ω , H, para ~x P Ω el valor f f p~xq ¡ 8 es llamado mınimo global, si y solo si:~x P Ω : f p~xq ¤ f p~xq (2.2)

De esta manera, el vector ~x es un punto mınimo global, f es la funcion objetivo y elconjunto Ω es el subespacio de soluciones factibles. El problema de determinar un puntomınimo global es llamado problema de optimizacion global. En este caso, se tendra un unicooptimo global.

CINVESTAV-IPN Departamento de Computacion

Page 28: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

10 2. Optimizacion

Optimo local

Presuponiendo un problema de minimizacion, el optimo local representa el valor maspequeno de f p~xq en la vecindad de algun vector ~x, ver figura 2.2.

Definicion: Para ~x P Ω el valor f f p~xq es llamado mınimo local, si y solo si:Dε P R, ε ¡ 0 : ~x P Ω : |~x ~x| ǫñ f ¤ f p~xq (2.3)

En otras palabras, un ambiente εYε p~xq t~x P Ω : |~x ~x| εu existe, tal que f es elvalor factible mas pequeno de la funcion objetivo, dentro de ese ambiente. Las funcionescon mas de un maximo o mınimo son llamadas funciones multimodales (ver figura 2.3).

-500-400

-300-200

-100 0

100 200 300

400 500-500

-400-300

-200-100

0 100

200 300

400 500

0

200

400

600

800

1000

1200

1400

1600

1800

z

x

y

z

Mınimos locales

Figura 2.3: Ejemplo de multimodalidad (funcion de Schwefel)

En analisis numerico, un metodo iterativo es llamado convergente localmente, si las apro-ximaciones sucesivas producidas por el metodo garantizan la convergencia a un puntomuy cercano a la solucion global [6]. Sin embargo, existen funciones con soluciones opti-mas locales, dentro de un vecindario en el espacio de busqueda, que se encuentran muyalejadas del optimo global, como se observa en la figura 2.3.

2.2. Espacios restringidos

Presuponiendo un problema de optimizacion con restricciones de desigualdad unica-mente, gip~xq ¤ 0, el subconjunto de valores de ~x que satisfacen la ecuacion gip~xq, formanuna hipersuperficie en el espacio de diseno que es llamada superficie restringida. Este es un

CINVESTAV-IPN Departamento de Computacion

Page 29: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

2. Optimizacion 11

Region

factible

Punto librefactible

Punto en el

lımite factible

Region factible

Punto libre infactible

Puntos en el

lımite infactible

g1

g2

g3

x1

x2

Figura 2.4: Caso hipotetico de un espacio restringido

subespacio pn 1qdimensional, donde n es el numero de variables de diseno. La super-ficie restringida divide el espacio de diseno en dos regiones: uno donde gip~xq ¤ 0 y otroen el cual gip~xq ¡ 0. Los puntos que tienden a estar en la hipersuperficie que satisface lasrestricciones gip~xq, es decir, donde gip~xq ¤ 0, son puntos factibles o aceptables, mientrasque los que estan en la region donde gip~xq ¡ 0 son infactibles o inaceptables. La coleccionde todas las superficies restringidas gip~xq, i 1, 2, ...,m, es llamada superficie de restriccioncompuesta.

La figura 2.4 muestra un espacio de diseno bi-dimensional hipotetico. A un punto dediseno que esta sobre al menos una superficie restringida, se le conoce como punto lımite,y la restriccion asociada a el es una restriccion activa. Los puntos de diseno que no esten enninguna de las regiones son llamados puntos libres. A cualquier punto que satisface todaslas restricciones del problema se le conoce como punto factible. El subconjunto de puntosfactibles queda definido como:t~x P Rn : hip~xq 0 pi 1, ...,mq, g jp~xq ¤ 0 p j 1, ..., pqq (2.4)

y se le denomina conjunto factible [18]:

Caracterısticas de los problemas restringidos.

En la presencia de restricciones, un problema de optimizacion puede presentar lassiguientes caracterısticas:

Las restricciones pueden no tener efecto en el punto optimo. Esto es, el valor optimodel problema restringido es el mismo que el del problema sin restricciones, tal como semuestra en la figura 2.5. En tal caso se podrıan emplear metodos de optimizacion sinrestricciones para su resolucion. Sin embargo, en la mayorıa de los problemas es ex-

CINVESTAV-IPN Departamento de Computacion

Page 30: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

12 2. Optimizacion

tremadamente difıcil identificar tal situacion. De tal forma, se establece la suposicionde que las restricciones tienen influencia en el optimo.

Optimo

x1

x2

Figura 2.5: Las restricciones no tienen efecto sobre el punto optimo

La solucion unica puede tener lugar en el borde de la zona factible. En este caso lasrestricciones influyen en la localizacion del punto optimo. Este efecto se observa en lafigura 2.6, donde el optimo global de la funcion (tambien llamado optimo irrestricto)no se localiza dentro de la zona factible.

Las restricciones pueden incrementar el numero de optimos locales, aun cuando lafuncion objetivo posea un unico optimo global. Esto se observa en la figura 2.7.

2.3. Metodos de programacion matematica

Los metodos de programacion matematica pueden ser clasificados en tecnicas de progra-macion matematica, tecnicas estocasticas y metodos estadısticos. Las tecnicas de programacionmatematica son utiles para encontrar el mınimo de una funcion de varias variables sujetaa un conjunto de restricciones. Las tecnicas estocasticas se usan para analizar problemasdescritos por un conjunto de variables aleatorias con una distribucion de probabilidadconocida. Finalmente, los metodos estadısticos nos permiten analizar datos experimenta-les y construir modelos empıricos para obtener la representacion mas precisa posible delproblema real.

Los metodos clasicos de optimizacion son algoritmos determinısticos que se caracteri-zan por tener reglas especıficas para moverse entre una solucion y otra. Estos metodos han

CINVESTAV-IPN Departamento de Computacion

Page 31: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

2. Optimizacion 13

Optimo

irrestricto

Optimo

x1

x2

Figura 2.6: El optimo del problema restringido difiere del optimo del problema irrestrictoencontrandose en el lımite de la restriccion.

sido utilizados desde hace tiempo y han sido aplicados exitosamente en muchos problemasde diseno, sobre todo en el area de ingenierıa [16, 72]. Estos metodos han sido clasificadosen dos grandes grupos: los metodos basados en derivadas y los metodos de busqueda directa. Acontinuacion se describe cada uno de ellos (ver figura 2.8):

Metodos basados en derivadas. Estos metodos utilizan informacion de la derivada dela funcion para moverse entre una solucion y otra. Ejemplos de este tipo de pro-cedimientos son los metodos de biseccion, secante y Newton-Raphson que se uti-lizan para resolver problemas unidimensionales. Mientras que el gradiente conju-gado de Fletcher-Reeves, el gradiente descendente de Cauchy, los metodos Quasi-Newton (p.ej. el metodo de Davidon-Fletcher-Powell (DFP) y el metodo de Broyden-Fletcher-Goldfarb-Shanno (BFGS)) fueron disenados para resolver problemas multi-dimensionales.

Metodos de busqueda directa. Este tipo de metodos no necesitan ninguna informacionde la derivada de la funcion. De igual manera, existen metodos de busqueda directapara solucionar problemas unidimensionales (como los metodos de la seccion doraday el de Fibonacci, entre otros) y metodos para resolver problemas multidimensionales(como los algoritmos de Hooke-Jeeves, Nelder-Mead y las direcciones conjugadas dePowell, entre otros).

Desafortunadamente, los metodos de busqueda directa no garantizan convergencia aloptimo global. En la mayorıa de los casos, estos metodos dependen de un punto inicial debusqueda; en funciones multimodales es comun que queden atrapados en optimos locales.

Existen tambien metodos de programacion matematica para resolver problemas conrestricciones. Por ejemplo, para problemas que tienen solo restricciones de igualdad se

CINVESTAV-IPN Departamento de Computacion

Page 32: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

14 2. Optimizacion

Espacio de busqueda

Figura 2.7: Incremento en el numero de optimos locales.

Algoritmos de optimizacion

Metodos clasicos Metodos estocasticos

Basados en derivadas De busqueda directa Basados en poblaciones

Biseccion

Newton-Raphson

Descenso empinado

Gradiente conjugado

Metodo Quasi-Newton

Fibonacci

Seccion dorada

Hooke-Jeeves

Nelder-Mead

Direcciones conjugadas

Computo evolutivo

Algoritmos bio-inspirados

Evolucion diferencial

Recocido simulado

Busqueda tabu

Figura 2.8: Una posible taxonomıa de los algoritmos de optimizacion

puede usar el metodo de los multiplicadores de Lagrange. Si el problema tiene restriccionesde desigualdad, pueden usarse metodos de penalizacion. Sin embargo, es importante hacerenfasis en que algunos de estos metodos pueden emplearse solo si la funcion objetivo y lasrestricciones son diferenciables.

2.4. Computacion evolutiva

El termino computacion evolutiva o algoritmos evolutivos engloba una serie de tecnicasinspiradas biologicamente por los principios de la teorıa Neo-Darwiniana de la evolucionnatural. Ideas como la “seleccion natural”, que fue introducida por Darwin en su libro de1856, titulado el El origen de las especies, plantean que una especie que no sufriera cambiosse volverıa incompatible con su ambiente, ya que este tiende a cambiar con el tiempo.Asimismo, las similitudes entre hijos y padres observadas en la naturaleza le sugirieron aDarwin que ciertas caracterısticas de las especies eran hereditarias, y que, de generacion ageneracion, ocurrıan cambios cuya principal motivacion era hacer a los nuevos individuosmas aptos para sobrevivir.

En 1866, Gregor Mendel propuso tres leyes basicas que gobernaban el paso de unacaracterıstica de un miembro de una especie a otro [54]. Alrededor de 1900, el botani-

CINVESTAV-IPN Departamento de Computacion

Page 33: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

2. Optimizacion 15

co Hugo De Vries reprodujo las leyes de la herencia de Mendel, e impulso la teorıa de las“mutaciones espontaneas”, expandiendo con ella la teorıa Darwiniana de la evolucion [95].Segun De Vries, los cambios en las especies no eran graduales y adaptativos como afirmabaDarwin, sino mas bien abruptos y aleatorios (es decir, al azar).

La teorıa evolutiva propuesta originalmente por Charles Darwin en combinacion conel seleccionismo de August Weismann y la genetica de Gregor Mendel, se conoce hoy endıa como el paradigma Neo-Darwiniano. Este paradigma establece que la historia de la vidaen nuestro planeta puede ser explicada a traves de un punado de procesos estadısticos queactuan sobre y dentro de las poblaciones y especies [35]: la reproduccion, la mutacion, lacompetencia y la seleccion. Estos 4 conceptos son la base de los algoritmos evolutivos.

La evolucion natural fue vista como un proceso de aprendizaje desde los 1930 por W.D. Cannon, quien plantea que el proceso evolutivo es algo similar al aprendizaje por en-sayo y error que suele manifestarse en los humanos [7]. El celebre matematico ingles AlanMathison Turing reconocio tambien una conexion entre la evolucion y el aprendizaje demaquina [93].

En terminos generales, para simular el proceso evolutivo en una computadora se re-quiere:

Codificar las estructuras de datos que representan las soluciones del problema aresolverse.

Contar con mecanismos que permitan generar nuevas soluciones, emulando procesoscomo la reproduccion y la mutacion.

Establecer una funcion de aptitud, que permita comparar a los individuos entre sı.

Plantear mecanismos de seleccion y reemplazo de los individuos.

La figura 2.9 muestra el comportamiento de un algoritmo evolutivo (especıficamenteun algoritmo genetico). Se presenta una grafica con las curvas de nivel que representan elvalor de la funcion objetivo o funcion de aptitud. En la primera generacion o iteracion delproceso, se tiene una distribucion de soluciones (padres) en todo el espacio del problema.El siguiente cuadro indica la generacion (iteracion) 50, donde se puede observar que lassoluciones (hijos) candidatas estan agrupadas cerca de los valores mınimos de la funcion.Por ultimo, en la generacion 100 se puede apreciar como las soluciones son cada vez masparecidas y se aglomeran cerca y sobre el optimo global de la funcion.

2.5. Paradigmas de la computacion evolutiva

Aunque hoy en dıa es cada vez mas difıcil distinguir las diferencias entre los distintostipos de algoritmos evolutivos existentes, por razones sobre todo historicas, suele hablarsede tres paradigmas principales:

Programacion evolutiva

Estrategias evolutivas

CINVESTAV-IPN Departamento de Computacion

Page 34: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

16 2. Optimizacion

generacion 1 generacion 50 generacion 100

Figura 2.9: Ilustracion grafica del proceso evolutivo de un algoritmo genetico.

Algoritmos geneticos

Cada uno de estos paradigmas se origino de manera independiente y con motivacionesmuy distintas.

2.5.1. Programacion evolutiva

Lawrence J. Fogel et al. [25] concibieron el uso de la evolucion simulada en la solucionde problemas (sobre todo de prediccion). Su tecnica, denominada “Programacion Evoluti-va” [24] consistıa basicamente en hacer evolucionar automatas de estados finitos, los cualeseran expuestos a una serie de sımbolos de entrada (el ambiente), y se esperaba que, even-tualmente, serıan capaces de predecir las secuencias futuras de sımbolos que recibirıan.Fogel utilizo una funcion de “pago” que indicaba que tan bueno era un cierto automata pa-ra predecir un sımbolo, y uso un operador modelado en la mutacion para efectuar cambiosen las transiciones y en los estados de los automatas que tenderıan a hacerlos mas aptospara predecir secuencias de sımbolos. Esta tecnica no consideraba el uso de un operador derecombinacion, dado que se pretendıa modelar el proceso evolutivo al nivel de las especiesy no al de los individuos.

2.5.2. Estrategias evolutivas

En 1963, Peter Bienert, Ingo Rechenberg y Hans-Paul Schwefel estudiaban un problemade optimizacion de perfiles hidrodinamicos, el cual era imposible de resolver analıticamen-te o usando metodos tradicionales como el del gradiente. Para resolverlo, Ingo Rechenbergdecidio desarrollar un metodo de ajustes discretos aleatorios inspirado en el mecanismode mutacion que ocurre en la naturaleza. Los resultados iniciales de esta tecnica, a la quedenomino “estrategia evolutiva”, fueron presentados al Instituto de Hidrodinamica de suuniversidad el 12 de junio de 1964 [22]. Posteriormente, Rechenberg realizo cambios almetodo y lo aplico a otros problemas de ingenierıa. Hans-Paul Schwefel, por su parte, sedio a la tarea de implementar la tecnica en una computadora y a extenderla, a fin de hacerlamas general.

Las estrategias evolutivas p1 1q son el modelo mas sencillo dentro de este paradigma.En ellas la poblacion esta compuesta por un solo individuo y solo se usa el operadorde mutacion. La tecnica consiste en mutar al individuo y sustituir al anterior si es mas

CINVESTAV-IPN Departamento de Computacion

Page 35: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

2. Optimizacion 17

apto que su progenitor; en caso contrario, permanecera el individuo anterior. Un aspectocaracterıstico de las estrategias evolutivas es que las tasas de mutacion de cada gen secodifican como parte del genoma2, por lo que tambien se encuentran sujetas a la evolucion.

2.5.3. Algoritmos geneticos

En 1960, John H. Holland se intereso en estudiar los procesos logicos involucradosen la adaptacion. Inspirado por los estudios realizados en aquella epoca con automatascelulares y redes neuronales, Holland se percato de que el uso de reglas simples podrıagenerar comportamientos flexibles, y visualizo la posibilidad de estudiar la evolucion decomportamientos en un sistema complejo. Holland advirtio que un estudio de la adaptaciondebıa reconocer que [36, 37]:

a) la adaptacion ocurre en un ambiente,

b) la adaptacion es un proceso poblacional,

c) los comportamientos individuales pueden representarse mediante programas,

d) pueden generarse nuevos comportamientos mediante variaciones aleatorias de losprogramas, y

e) las salidas de dos programas normalmente estan relacionadas si sus estructuras estanrelacionadas.

De tal forma, Holland vio el proceso de adaptacion en terminos de un formalismo en elque los programas de una poblacion interactuan y mejoran con base en un cierto ambienteque determina lo apropiado de su comportamiento. El combinar variaciones aleatorias conun proceso de seleccion (en funcion de que tan apropiado fuese el comportamiento de unprograma dado), debıa entonces conducir a un sistema adaptativo general.

Este sistema fue desarrollado hacia mediados de los 1960s, y se dio a conocer en el libroque Holland publicase en 1975, donde lo denomino “plan reproductivo genetico” [37],aunque despues se popularizo bajo el nombre (mas corto y conveniente) de “algoritmogenetico”. Aunque concebido originalmente en el contexto del aprendizaje de maquina, elalgoritmo genetico se ha utilizado mucho en optimizacion.

2En biologıa, se denomina genoma a la coleccion completa de genes (y por tanto cromosomas) que poseeun organismo. En computacion evolutiva, un genoma es el conjunto de variables del problema, codificadas encada individuo. Dado que los algoritmos evolutivos suelen usar cromosomas haploides, el termino genoma ycromosoma se suelen usar de manera intercambiable, siendo el segundo mas comun que el primero.

CINVESTAV-IPN Departamento de Computacion

Page 36: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

18 2. Optimizacion

CINVESTAV-IPN Departamento de Computacion

Page 37: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

Capıtulo 3

Motores de busqueda global

3.1. Modelos de AEs para problemas en espacios continuos

La optimizacion de funciones definidas sobre dominios continuos ha sido un campomuy activo de investigacion, que ha dado lugar a la creacion de diversos algoritmos tantodeterminısticos como estocasticos. Estos algoritmos deben relacionar el espacio de busque-da del problema con un esquema de representacion y codificacion de numeros reales,proporcionado por una precision computacional adecuada.

El esquema de representacion de los algoritmos evolutivos (AEs) (principalmente enalgoritmos geneticos) toma conceptos de la biologıa tales como: “cromosoma”, “gene”,“genotipo”, “fenotipo”, “individuo” y “alelo”, entre otros. La figura 3.1 muestra grafica-mente la definicion de estos terminos.

Se denomina cromosoma a una estructura de datos que contiene una cadena de parame-tros de diseno o genes. Esta estructura de datos puede almacenarse como una cadena debits, un arreglo de enteros o un vector de numeros reales. Por otro lado, un gene es unasubseccion de un cromosoma que (usualmente) codifica el valor de un solo parametro.

Genotipo es la codificacion (p. ej. binaria o real) de los parametros que representan unasolucion del problema a resolver. En tanto, el fenotipo es la decodificacion del cromosoma,es decir, los valores obtenidos al pasar del esquema de representacion al valor usado por lafuncion objetivo. En el caso de la codificacion real (CR) no se necesita una decodificacionpara evaluar la solucion.

5

FENOTIPOGENOTIPO

CROMOSOMA

GENE

0 1 0 1

0 1 0 10 1 0 0 1 1 1 0

ALELO

decodificacion

Figura 3.1: Ejemplo de un esquema de codificacion binaria de una solucion. A la cadenabinaria completa se le considera como “individuo” que tiene un “cromosoma”.

19

Page 38: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

20 3. Motores de busqueda global

Se nombra individuo a un solo miembro del conjunto (poblacion) de soluciones poten-ciales a un problema. Cada individuo contiene un cromosoma que representa una solucionposible del problema a resolver.

Los problemas del mundo real usualmente son definidos en espacios continuos conuna alta dimensionalidad, por lo que se requiere de una cierta precision mınima para lasvariables; de lo contrario, una mala representacion puede dejar fuera elementos cercanos aloptimo global o, incluso, al mismo optimo. Varias tecnicas de computacion evolutiva evitaneste problema usando numeros reales en la cadena cromosomica, como es el caso de lasestrategias evolutivas [81] y la programacion evolutiva [23], entre otros. Dichos algoritmosse describen brevemente a continuacion.

3.1.1. Algoritmos geneticos con codificacion real

Los algoritmos geneticos (AGs) son tecnicas de busqueda que proporcionan buenassoluciones a problemas de optimizacion de diversas areas. Comunmente los tipos de pro-blemas que abordan estan definidos en espacios de busqueda muy complejos, por ejemplofunciones discontinuas o altamente restringidas. Los AGs se basan en procesos existentesen los organismos biologicos y en principios de la evolucion natural de las especies. Es-tos algoritmos procesan una poblacion de cromosomas, la cual representa el espacio debusqueda de las soluciones y usan 3 operadores principales: seleccion, cruza y mutacion.

En un inicio, los AGs eran representados con cadenas binarias [97], en donde un genera una serie de bits y un cromosoma una cadena de la forma b1, b2, ..., bm ¡, dondecada bit se denomina “alelo”. Sin embargo, otros tipos de codificacion fueron consideradospara la representacion de estos algoritmos, tales como la CR [50], la cual puede parecerparticularmente natural cuando se aborda problemas con variables continuas. En esteesquema, un cromosoma es un vector de numeros de punto flotante de tamano fijo e iguala la longitud del vector solucion. De esta manera, cada gen representa una variable delproblema, ver figura 3.2. En CR los valores de los genes se ven obligados a permaneceren el intervalo establecido por las variables que representan, por lo que los operadoresgeneticos deben trabajar con esta restriccion.

5.457 3.875 2.850 1.984 −8.937

CROMOSOMA

GENE

Figura 3.2: Ejemplo de un esquema de CR de una solucion

CR hizo su aparicion en el ano de 1989 en aplicaciones especıficas de los AGs talescomo: la extraccion de informacion en sistemas quımicos [51], el uso de metaoperadorespara encontrar los parametros mas adecuados de un AG estandar [12] y, posteriormente,

CINVESTAV-IPN Departamento de Computacion

Page 39: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

3. Motores de busqueda global 21

en problemas de optimizacion numerica en espacios continuos [13, 21, 33, 56, 97].

Un AG inicia su proceso con una poblacion de cromosomas generada aleatoriamentey avanza hacia un mejor cromosoma, mediante la aplicacion de los operadores geneticos.Durante las iteraciones sucesivas, llamadas generaciones, los cromosomas base produ-cen nuevas poblaciones que se forma mediante un mecanismo de seleccion y operadoresgeneticos especıficos como cruza y mutacion. Dado un cromosoma en particular, la funciondevuelve un valor numerico unico que es proporcional a la utilidad o la adaptacion de lasolucion.

Aunque hay muchas variantes de los AGs, en general, todos operan sobre una poblacionde cromosomas o individuos, que representan las posibles soluciones al problema y ejecutanlos 3 pasos siguientes:

1. Evaluacion de la aptitud de los individuos.

2. Formacion de descendientes geneticos (poblacion intermedia) a traves de un meca-nismo de seleccion.

3. Recombinacion a traves de operadores de cruza y mutacion.

El algoritmo 1 muestra la estructura base de un AG. Pptq denota la poblacion en la genera-cion t.

Algoritmo 1: Estructura de un AG

Datos: P poblacion, t generaciones1

Resultado: conjunto de soluciones optimas2

begin3

t 0;4

Genera poblacion inicial P(t);5

Evalua P(t) para calcular aptitud de cada individuo;6

while no se cumpla el criterio de terminacion do88

t t 1;9

Seleccionar P(t) individuos de P(t-1) con base en la aptitud;10

Aplicar operadores geneticos (cruza y mutacion);11

Calcular aptitud de cada individuo, evaluando P(t);12

end13

Mecanismo de seleccion. Consideremos una poblacion P con cromosomas C1,C2, ...,Cn.El mecanismo de seleccion produce una poblacion intermedia, P

1, con copias de los cromo-

somas en P. El numero de copias recibidas para cada cromosoma depende de su aptitud.Cromosomas con mayor aptitud tienen, por lo general, una mayor probabilidad de serseleccionados.

Operador de cruza. Es un metodo que comparte informacion entre cromosomas, com-binando caracterısticas de dos o mas individuos que actuan como padres para formar

CINVESTAV-IPN Departamento de Computacion

Page 40: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

22 3. Motores de busqueda global

descendientes, con el proposito de que los cromosomas seleccionados puedan generar me-jores soluciones. El operador de cruza no se aplica a todos los pares de cromosomas dela poblacion intermedia, sino solamente a aquellos que fueron elegidos por el proceso deseleccion y su uso depende de la probabilidad definida por el usuario.

Suponiendo que tenemos dos cromosomas C1 pc11, ..., c1nq y C2 pc21, ..., c2nq, que hansido seleccionados para aplicar el operador de cruza, el nuevo descendiente sera resultadode combinar cierta informacion definida por metodos especıficos. Para ejemplificar dichofuncionamiento se describen a continuacion algunos operadores usados comunmente enlos AGs con codificacion real.

Cruza simple [56, 97]. Una posicion i P t1, 2, ..., n 1u es aleatoriamente seleccionada, yse construyen dos nuevos individuos como sigue:

H1 pc11, c12, ..., c1i, c2i1, ...., c2nq,H2 pc21, c22, ..., c2i, c1i1, ...., c1nq

Cruza aritmetica [56]. Dos cromosomas descendientes Hk phk1, ..., hk

i, ..., hk

nq k t1, 2u,son generados, donde h1

i λc1

i p1 λqc2

iy h2

i λc2

i p1 λqc1

i. λ es una constante

(cruza aritmetica uniforme) o variable que cambia en cada iteracion (cruza aritmetica nouniforme).

Cruza BLX α [21] Un descendiente es generado como: H ph1, ..., hi, ..., hnq, donde hi

es un numero aleatorio elegido en el intervalo rcmin I α, cmax I αs, cmax maxpc1i, c2

iq,

cmin minpc1i, c2

iq, I cmax cmin.

Operador de mutacion. El operador de mutacion altera arbitrariamente uno o mascomponentes (genes) de un cromosoma, los cuales son seleccionados a fin de aumentar lavariabilidad estructural de la poblacion. El papel de la mutacion en los AGs es el de restau-rar la perdida o material genetico inexplorado en la poblacion para evitar una convergenciaprematura a soluciones optimas locales, tratando de asegurar que la probabilidad de llegara cualquier punto en el espacio de busqueda nunca sea cero. Cada posicion de cada cro-mosoma en la poblacion sufre un cambio al azar de acuerdo a una probabilidad definidapor un porcentaje definido por el usuario.

Supongamos que se tiene un cromosoma C pc1, ..., ci, ..., cnq y un gen ci dentro delintervalo rai, bis. Entonces el gen c

1i

se obtiene despues de aplicar el operador de mutacioncomo lo muestran los siguientes ejemplos:

Mutacion aleatoria [56]. c1i

es un numero aleatorio en el intervalo de la variable rai, bis.Mutacion no uniforme [56]. Si este operador se aplica en una generacion t y gmax es el

numero maximo de iteraciones, entonces

c1i ci ∆pt, bi ciq si τ 0,

ci ∆pt, ci aiq si τ 1

(3.1)

CINVESTAV-IPN Departamento de Computacion

Page 41: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

3. Motores de busqueda global 23

con τ igual a un numero de cero a uno y

∆pt, yq y

1 τ1 t

gmax

b

(3.2)

donde τ es un numero aleatorio en el intervalo r0, 1s y b es un parametro definido porel usuario, el cual determina el grado de dependencia entre el numero de iteraciones. Laecuacion (3.2) proporciona un valor en el rango r0, ys tal que la probabilidad de devolver unnumero cercano a cero aumenta a medida que avanza el algoritmo. El tamano del intervalode generacion de genes podra ser inferior con el paso de las generaciones. Esta propiedadhace que este operador realice una busqueda uniforme en el espacio inicial cuando t espequeno, y una busqueda local en una fase posterior.

Cabe senalar que despues de la cruza y la mutacion, una estrategia de seleccion adicio-nal, llamada estrategia elitista, debe ser adoptada [42], con la finalidad de que el cromosomacon mejor resultado sobreviva intacto de una generacion a otra. Esto es necesario ya quees posible que el mejor cromosoma desaparezca, a causa de los operadores de cruza omutacion.

Utilizar un esquema de CR tiene como ventaja el uso de dominios de gran tamanopara las variables, lo cual es difıcil de lograr en las implementaciones con sistema binario.Otra ventaja es la capacidad para explotar la “gradualidad” de las funciones con variablescontinuas. El concepto de gradualidad se refiere al hecho de que pequenos cambios en lasvariables corresponden a ligeros cambios en la funcion. Esta lınea desarrollo a su vez lacapacidad de ajuste local en las soluciones.

Operadores geneticos con CR como la mutacion no uniforme de Michalewicz [56] per-miten el refinamiento de soluciones, el cual se produce de una forma mas rapida que enmutaciones con representacion binaria donde el ajuste es mas difıcil debido al efecto de los“riscos de Hamming” [8]. El uso de una representacion en numeros reales no tiene dife-rencias entre el genotipo (codificacion) y el fenotipo (espacio de busqueda), por lo tanto nose requiere de procesos de codificacion y decodificacion, lo cual permite un aumento en lavelocidad de ejecucion del AG.

3.1.2. Optimizacion mediante cumulos de partıculas

Existen sistemas de optimizacion inspirados en el comportamiento social de las coloniasde insectos y otras sociedades colectivas. Este tipo de tecnicas se denominan genericamenteinteligencia de cumulos (IC). Los sistemas de IC a menudo se consideran dentro de la fami-lia de los AEs, debido a que utilizan una poblacion de individuos, llamados “agentes”queevolucionan a traves del tiempo para encontrar mejores soluciones del problema.

La optimizacion mediante cumulos de partıculas (mejor conocida como Particle SwarmOptimization o PSO) y la optimizacion mediante colonia de hormigas (Ant Colony Optimi-zation o ACO) son dos formas de IC. La caracterıstica principal de estos sistemas es queen lugar de usar operadores geneticos para adaptarse al ambiente, cada agente evoluciona

CINVESTAV-IPN Departamento de Computacion

Page 42: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

24 3. Motores de busqueda global

por sı mismo de acuerdo a su experiencia pasada y su interaccion local con otros agentes.A la larga, la interaccion local entre agentes causa un comportamiento global inteligenteque desemboca en la localizacion de una solucion aceptable.

PSO es un algoritmo de optimizacion estocastico propuesto originalmente por Ken-nedy y Eberhart en el ano de 1995 [17]. Este se basa en una poblacion o “cumulo” que, adiferencia de la mayorıa de los AEs no implementa un mecanismo de seleccion de aptitud.Los individuos persisten a lo largo del tiempo adaptandose a los cambios del ambiente.Particularmente, las partıculas modifican su posicion en el espacio de busqueda bajo lainfluencia de la experiencia de sus vecinos, ası como la suya propia.

PSO simula el comportamiento social del vuelo de las aves o de un banco de peces, paraencontrar rapidamente una solucion a un problema de optimizacion, ya que aprovecha elcomportamiento colectivo que las aves presentan al volar para encontrar comida. Siguien-do la analogıa con el vuelo de las aves, en PSO, un cumulo de partıculas vuela a traves deun espacio de busqueda hiper-dimensional. Debido a esto, PSO se considera un algoritmode comportamiento distribuido que desempena una busqueda multidimensional.

Cada individuo del cumulo es llamado partıcula y se representa mediante un vectorxi pxi1, xi2, ..., xi jqT para i 1, ..., s y j 1, ..., n, donde s es el numero de partıculas y nel numero de dimensiones. La posicion de cada partıcula esta influenciada por la mejorposicion visitada por s y la mejor posicion visitada por sus vecinos. De acuerdo con esto,la posicion de cada partıcula, xi, se ajusta en cada iteracion (t) del algoritmo utilizando laecuacion (3.3)

xipt 1q xiptq vipt 1q (3.3)

donde, vi es un vector de la forma vi pvi1, vi2, ..., vi jqT y representa la velocidad demovimiento, i representa a la partıcula actual y j representa la dimension del problema.Por lo tanto, vi esta dada por la ecuacion (3.4)

vipt 1q ωviptq c1r1ptqpyiptq xiptqq c2r2ptqpyiptq xiptqq (3.4)

donde:

ω es el factor de inercia [82].

c1 y c2 son dos constantes, llamados coeficientes de aceleracion.

r1 y r2 son dos vectores aleatorios de la forma r1 pr11, r12, ..., r1 jqy r2 pr21, r22, ..., r2 jq.Su valor esta dado por una distribucion uniforme con lımite inferior 0 y lımite supe-rior 1.

yiptq es un vector de la forma yiptq pyi1, yi2, ..., yi jqptq y representa la mejor posicionde la partıcula (lıder) xi encontrada por sı misma en el paso t.

yiptq es un vector de la forma yiptq pyi1, yi2, ..., yi jqptq, que representa la mejorposicion obtenida por los vecinos de la partıcula xi en el paso t.

CINVESTAV-IPN Departamento de Computacion

Page 43: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

3. Motores de busqueda global 25

Figura 3.3: Topologıa de PSO version gbest

Es importante destacar que la velocidad de cada partıcula xi se determina a partir detres factores importantes:

La velocidad de inercia, viptq, actua como un plazo de impulso para prevenir oscila-ciones excesivas en la direccion de busqueda.

El componente cognitivo, c1r1ptqpyiptq xiptqq, representa la mejor posicion que unapartıcula ha encontrado por sı misma donde c1 representa la fuerza de atraccionde esta posicion. Analogamente con el vuelo de las aves, el componente cogniti-vo representa la tendencia natural de los individuos a regresar al ambiente dondeexperimentaron su mejor desempeno.

El componente social, c2r2ptqpyiptq xiptqq, representa la mejor posicion que todo elvecindario ha logrado obtener. Esta posicion se obtiene comparando la posicion desus vecinos con la propia donde c2 indica la fuerza de atraccion de la mejor posicionalcanzada por el cumulo. Analogamente con el vuelo de las aves, este componenterepresenta la tendencia de los individuos a seguir al individuo mas apto.

Para establecer el componente social yi de cada partıcula es necesario definir unatopologıa de interconexion del vecindario. Un ejemplo es la topologıa completamenteconectada, donde todas las partıculas del cumulo se comunican entre sı. A este algoritmose le denomina mejor global (gbest). Ver figura 3.3 y algoritmo 2.

CINVESTAV-IPN Departamento de Computacion

Page 44: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

26 3. Motores de busqueda global

Algoritmo 2: Algoritmo de PSO version gbest.

Datos: C cumulo de partıculas , t iteraciones1

Resultado: conjunto de soluciones optimas2

begin3

t 0 ;4

Genera cumulo de partıculas inicial ;5

for cada partıcula i do6

Inicializar xi y vi aleatoriamente ;7

Evaluar xi en la funcion de aptitud ;8

Inicializar yi xi ;9

Seleccionar yi ;10

while no se cumpla el criterio de terminacion do11

for cada partıcula i do12

for cada dimension j do13

Calcular la velocidad de vi j usando:14

vi jpt 1q ωvi jptq c1r1 jptqpyi jptq xi jptqq c2r2 jptqpyi jptq xi jptqq;15

Actualizar la posicion de xi j usando:16

xi jpt 1q xi jptq vi jpt 1q ;17

Evaluar la nueva posicion de xi ;18

if xi ¤ yi then19

yi xi;20

if xi ¤ yi then21

yi xi ;22

t t 1;23

end24

3.1.3. Evolucion diferencial

Evolucion Diferencial (ED) surgio en el ano de 1995 como fruto de los intentos deKenneth Price y Rainer Storn por resolver el problema del “ajuste polinomial de Cheby-chev” [87]. Con el fin de mejorar las soluciones existentes, se emplearon vectores diferenciacomo mecanismo de perturbacion y de esta idea surgio la ED [88].

ED es un modelo para parametros con codificacion real, que hace enfasis en el operadorde mutacion, ademas de emplear un operador de cruza o recombinacion a posteriori de lamutacion. La idea principal de ED es utilizar la diferencia entre vectores para perturbar a untercer vector de un conjunto de soluciones (poblacion). En ED un individuo se representacomo una n-tupla llamada vector objetivo ~x px1, x2, ..., xnq, donde xiǫRpi 1, 2, ..., nq.

Los pasos que conforman ED se describen a continuacion:

Inicializacion. Una poblacion Px,0 de N vectores Ddimensionales~xi,0 rx1,i,0, . . . , xD,i,0s,i 1, . . . ,N es generado aleatoriamente dentro de los lımites inferior y superior ~bL CINVESTAV-IPN Departamento de Computacion

Page 45: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

3. Motores de busqueda global 27rb1,L, . . . , bD,Ls y ~bU rb1,U, . . . , bD,UsMutacion diferencial. Con respecto a cada vector ~xi,g en la poblacion actual, un vector

mutante ~vi,g es generado agregando un vector diferencia escalado y seleccionado aleato-riamente, a un vector base seleccionado aleatoriamente de la poblacion actual. Esto es, enla g esima generacion, el i esimo vector mutante ~vi,g con respecto al i esimos vectorobjetivo ~xi,g en la g esima poblacion actual es generado por la ecuacion (3.5).

~vi,g ~xr1,g F p~xr2,g ~xr3,gq, (3.5)

donde F es un factor de escala de la mutacion pF P p0, 1qq y i , r1 , r2 , r3. La figura 3.4muestra el comportamiento del operador de mutacion.

x1

x2

~xr2,g

~xr3,g

~vi,g ~xr1,g

~xi,g

Fp~xr1 ,g ~xr2,gqFigura 3.4: Esquema del operador de mutacion en ED

Recombinacion discreta. Con respecto a cada vector objetivo ~xi,g en la poblacion actual,un vector de prueba ~ui,g es generado por la cruza del vector objetivo ~xi,g con el correspon-diente vector mutante ~vi,g bajo un porcentaje de cruza previamente especificada por elparametro probabilıstico Cr P r0, 1s. Esto es, en la g esima generacion, el i esimo vectorde prueba ~ui,g con respecto al i esimo vector objetivo ~xi,g en la poblacion actual es gene-rado por la ecuacion (3.6).

u j,i,g " v j,i,g si rand jr0, 1s ¤ Cr o j jrand

x j,i,g de lo contrario(3.6)

La figura 3.5 muestra el comportamiento del operador de cruza, despues de haber apli-cado mutacion.

Inicialmente se propusieron dos procedimientos de recombinacion denominados ex-ponencial y binomial. Estos controlan la frecuencia con la cual los parametros del vectorde mutacion ~vi ~xr3 Fp~xr1 ~xr2q son seleccionados para formar parte de la soluciondescendiente ~ui. En la figura 3.6 se ilustran ambos procesos, donde Uip0, 1q representa unavariable aleatoria uniformemente distribuida en el intervalo [0,1] y el vector~z es el productode la recombinacion de los vectores ~x y ~y. La cruza exponencial es similar a la cruza de un

CINVESTAV-IPN Departamento de Computacion

Page 46: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

28 3. Motores de busqueda global

x1

x2

~xi

~xr1

~xr2

~xr3

Fp~xr1 ~xr2q

vi ~xr3 Fp~xr1 ~xr2q

Posibles

soluciones ui

Figura 3.5: Esquema del operador de recombinacion en ED

punto [27], mientras que la cruza binomial es similar a la cruza uniforme en los algoritmosgeneticos [90].

~x~x

~y~y

~z~z

Selecciona xi si Uip0, 1q CR Selecciona xi mientras Uip0, 1q CR

Selecciona yi si Uip0, 1q ¥ CR Selecciona yi desde Uip0, 1q ¥ CR

Cruza discreta binomial Cruza discreta exponencial

x1x1

x1x1

x2

x2x2

x3

x3x3

x4

x4x4 x5x5

y1y1

y2

y2y2

y3

y3y3

y4

y4y4

y5y5

y5y5

Figura 3.6: Recombinacion discreta binomial y exponencial

Seleccion y reemplazo. Si el vector de prueba ~ui,g tiene un mejor valor de la funcionobjetivo que el de su correspondiente vector objetivo ~xi,g, este remplaza al vector objetivo

en la pg 1qesima generacion. De lo contrario, el vector objetivo permanece en la pg 1qesima

generacion. Ver ecuacion (3.7)

~xi,g1 #~ui,g si f p~ui,gq ¤ f p~xi,gq,~xi,g de lo contrario

(3.7)

CINVESTAV-IPN Departamento de Computacion

Page 47: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

3. Motores de busqueda global 29

El pseudocodigo de la ED se muestra en el algoritmo 3.

Algoritmo 3: Algoritmo de la ED

Datos: Pg poblacion inicial de vectores , G generaciones1

Resultado: conjunto de soluciones optimas2

begin3

G 0;4

Inicializar Pg t~x1, ..., ~xnpu;5

while no se cumpla el criterio de terminacion do6

for i t1, ..., npu do7

r1, r2, r3 P 1, ..., np aleatoriamente seleccionados,8

donde r1 , r2 , r3 , i ;9

jrand P t1, ..., nu aleatoriamente seleccionado;10

for j t1, ..., nu do11

if U jr0, 1s CR || j jrand then12

ui, j xr3, j,G Fpxr1, j,G xr2, j,Gq ;13

else14

ui, j xi, j,G;15

if f p~uiq ¤ f p~xi,Gq then16

~xi,G1 ~ui ;17

G G 1;18

end19

Modelos de ED. Desde sus primeras versiones, la ED no ha presentado un unico diseno.En la literatura se han propuesto diferentes estrategias para los operadores de mutacion yrecombinacion. Por tal motivo, se establecio una nomenclatura que denomina las diferentesversiones de ED [70].

Existen diferentes variantes de ED. Para clasificarlas se utiliza la siguiente notacion,DE/x/y/z, donde:

x especifica la forma en que se eligen los vectores que van a participar en la mutacion.

y indica el numero de diferencias entre vectores que se utilizan para la mutacion.

z denota el esquema de cruza que se va a utilizar.

Algunos ejemplos son los siguientes:

DE/rand/1/bin. Indica que se realiza una seleccion aleatoria de los vectores que con-forman el vector mutacion, ası como una sola diferencia de vectores y un proceso derecombinacion binomial.

DE/best/1/bin. Indica que el mejor individuo de la poblacion participa en el procesode mutacion. Se realiza una sola diferencia de vectores y un proceso de recombinacionbinomial.

CINVESTAV-IPN Departamento de Computacion

Page 48: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

30 3. Motores de busqueda global

DE/rand/2/exp. Selecciona aleatoriamente 4 vectores que componen el vector muta-cion y son recombinados con un proceso exponencial.

DE/best/2/exp. Indica que el mejor individuo de la poblacion participa en el procesode mutacion. 4 vectores componen el vector mutacion y son recombinados con unproceso exponencial.

Ademas, la ecuacion (3.5) puede variar de la siguiente forma:

DE/rand/1: vi,G ~xr3,G Fp~xr1,G ~xr2,GqDE/best/1: vi,G ~xbest,G Fp~xr1,G ~xr2,GqDE/best current/1: vi,G ~xi,G Fp~xbest,G ~xi,Gq Fp~xr1,G ~xr2,GqDE/rand/2: vi,G ~xr1,G Fp~xr2,G ~xr3,G ~xr4 ,G ~xr5 ,GqDE/best/2: vi,G ~xbest,G Fp~xr1,G ~xr2,G ~xr3,G ~xr4 ,Gq

3.2. Manejo de restricciones en los AEs

Los AEs no cuentan con un mecanismo explıcito para manejo de restricciones, por lo queen los ultimos anos se ha realizado una amplia investigacion para incorporar mecanismos alos AEs que les permitan resolver problemas con restricciones. A continuacion se describenalgunas de las tecnicas mas conocidas.

3.2.1. Funciones de penalizacion

Las funciones de penalizacion es uno de los mecanismos que se utiliza comunmentepara manejar restricciones en los AEs. En este caso la idea es transformar un problemacon restricciones en uno sin restricciones al agregar a la funcion objetivo los factores depenalizacion tanto para restricciones de igualdad como para las de desigualdad. De esta for-ma, si las restricciones son violadas, entonces el valor de la funcion objetivo se ve afectadopor un costo adicional que es proporcional a la magnitud de la violacion de las restricciones.

En programacion matematica, se consideran dos tipos de funciones de penalizacion [10]:

Penalizacion exterior. Se permiten soluciones infactibles al inicio de la busqueda y,posteriormente se guıa la busqueda hacia las zonas factibles.

Penalizacion interior. Unicamente se permiten soluciones factibles. La penalizacion eselegida de tal forma que cuando los puntos estan lejos de los lımites de la zona factibleesta es pequena y tiende a infinito cuando los puntos se acercan a dichos lımites. Loanterior, con la finalidad de preservar la busqueda unicamente en el interior de lazona factible.

Debido a la dificultad de generar soluciones factibles en muchos problemas del mundoreal, en los AEs se ha optado principalmente por el uso de esquemas de penalizacion exte-rior.

CINVESTAV-IPN Departamento de Computacion

Page 49: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

3. Motores de busqueda global 31

Hay al menos tres formas de penalizar a un individuo de acuerdo a su violacion de lasrestricciones [75]:

Puede penalizarsele simplemente por no ser factible, sin usar ninguna informacionsobre que tan cerca se encuentra de la region factible.

Puede usarse la “cantidad” de infactibilidad de un individuo para determinar supenalizacion correspondiente.

Puede usarse el esfuerzo de “reparar” al individuo (o sea, el costo de hacerlo factible)como parte de la penalizacion.

Richardson et al. [75] definieron algunas de las reglas basicas para disenar una funcionde penalizacion:

1. Las penalizaciones que son funciones de la distancia a la zona factible son mejoresque aquellas que son solo funciones del numero de restricciones violadas.

2. Para un problema con pocas variables y pocas restricciones, una penalizacion quesea solo funcion del numero de restricciones violadas no producira ninguna solucionfactible.

3. Pueden construirse buenos factores de penalizacion a partir de 2 factores: el costo decumplimiento maximo y el costo de cumplimiento esperado. El primero de ellos serefiere al costo de hacer factible a una solucion infactible.

4. Las penalizaciones deben estar cerca del costo de cumplimiento esperado, pero nodeben caer frecuentemente por debajo de el. Entre mas preciso sea el factor de pena-lizacion, mejores resultaran las soluciones producidas.

Las funciones de penalizacion son de la siguiente forma:

φp~xq f p~xq °mi1 riGi °p

i1c jL j

(3.8)

donde φp~xq es la funcion objetivo extendida a optimizar, Gi y L j son funciones de las res-tricciones gip~xq y hip~xq respectivamente, ri y c j son constantes positivas llamadas “factoresde penalizacion”.

La forma mas comun de Gi y de L j esta dada por las ecuaciones (3.9) y (3.10):

Gi maxt0, gip~xquβ (3.9)

L j |h jp~xq|γ (3.10)

donde, β y γ son uno o dos, normalmente. Ademas, una restriccion de igualdad se puedetransformar en una de desigualdad de la siguiente forma:|h jp~xq| ǫ ¤ 0 (3.11)

donde ǫ establece la tolerancia permitida.

CINVESTAV-IPN Departamento de Computacion

Page 50: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

32 3. Motores de busqueda global

El uso de esta tecnica tiene como principal ventaja el hecho de que el resultado dependede los factores de penalizacion y estos son difıciles de determinar. Se debe cuidar que losfactores de penalizacion este equilibrados con respecto a los valores de la funcion objetivoy ademas se debe determinar que tanto se quiere penalizar a una solucion infactible. Se hanpropuesto diversas variantes de la funcion de penalizacion. A continuacion se describenlas mas populares en la literatura especializada.

3.2.1.1. Pena de muerte

Consiste en desechar a los individuos infactibles y volverlos a generar. Una variantede esta tecnica consiste en asignar una aptitud de cero a un individuo infactible y tomarel valor de la funcion objetivo para los individuos factibles. Esta tecnica no es muy reco-mendable ya que habra un estancamiento en la busqueda cuando en la poblacion inicialno exista ningun individuo factible. Michalewicz [57] ha concluido que esta tecnica solose puede usar en espacios de busqueda convexos y en los casos en los que la zona factibleconstituya una parte razonablemente grande del espacio de busqueda. Ademas, esta tecni-ca solo puede lidiar con restricciones de desigualdad.

Esta tecnica es muy eficiente porque no tenemos que recalcular las restricciones o lafuncion objetivo ni tenemos que reparar a los individuos no factibles. Sin embargo, tienevarios inconvenientes, como se indico anteriormente.

3.2.1.2. Penalizaciones estaticas

Un ejemplo es la tecnica propuesta por Homaifar, Lai y Qi [38]. Consiste en definir fac-tores de penalizacion cuyo valor no cambia durante el proceso evolutivo. La idea principales definir varios niveles de violacion y elegir un coeficiente de violacion para cada uno deellos, de manera que el coeficiente de penalizacion se incremente conforme alcanzamos ni-veles mas altos de violacion de las restricciones. Un individuo se evalua usando la ecuacion(3.12):

f itnessi fip~xq n

j1

Rk, jg jp~xq (3.12)

donde Ri, j son los coeficientes de penalizacion utilizados y k 1, 2, ..., l, siendo l los nivelesde violacion definidos por el usuario.El principal problema de esta tecnica es que requiere la definicion de np2l 1q parametros.De tal forma que si tenemos un problema moderadamente pequeno, con seis restricciones ydos niveles, tendrıamos que definir treinta parametros, lo cual es evidentemente excesivo.

3.2.1.3. Penalizaciones dinamicas

Joines y Houck [41] propusieron una tecnica en la que los factores de penalizacioncambian con respecto al tiempo. Los individuos de la generacion t se evaluan de acuerdoa la ecuacion (3.13).

CINVESTAV-IPN Departamento de Computacion

Page 51: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

3. Motores de busqueda global 33

f itnessip~xq fip~xq pCxtqα n

j1

|gip~xq|β (3.13)

donde C, α y β son constantes definidas por el usuario. Los valores sugeridos por los autorespara las constantes son: C 0.5, α 1 y β 1 o 2.

La tecnica es muy susceptible a los valores de los parametros y suele converger pre-maturamente cuando estos no son seleccionados adecuadamente. Sin embargo, parecefuncionar muy bien cuando la funcion objetivo es cuadratica.

3.2.1.4. Penalizaciones adaptativas

Bean y Hadj-Alouane [40] desarrollaron una tecnica para adaptar penalizaciones conbase en un proceso de retroalimentacion del ambiente durante la corrida de un algoritmogenetico. Cada individuo es evaluado usando la ecuacion (3.14).

f itnessip~xq fip~xq λptq n

j1

pg j~xq2 (3.14)

donde λptq se actualiza cada t generaciones usando las siguientes reglas:

λptq $'&'% 1β1λptq si se cumple el caso 1

β2λptq si se cumple el caso 2

λptq de lo contrario.

(3.15)

donde β1, β2 ¡ 1 y con valores diferentes (para evitar ciclos). El caso 1 ocurre cuando elmejor individuo en las ultimas k generaciones fue siempre factible. El caso 2 ocurre cuandodicho individuo no fue nunca factible. Esta tecnica lo que hace entonces es disminuir lapenalizacion cuando el mejor individuo resulta consistentemente factible y aumentar lapenalizacion cuando resulta infactible. Si en los cambios el mejor individuo es a veces fac-tible y a veces no, entonces la penalizacion no se cambia. Obviamente, es necesario definirel valor inicial λ0.

El principal problema de esta tecnica es como elegir el factor inicial de penalizacion yel intervalo generacional (o sea, k) de manera que el monitoreo de factibilidad produzcaresultados razonables.

Una k muy grande o muy pequena puede hacer que la funcion de penalizacion nuncacambie, en cuyo caso la tecnica se reduce a una penalizacion estatica tradicional. Finalmente,tampoco esta claro como definir buenos valores de β1 y β2.

3.2.2. Otras tecnicas

Ademas de las funciones de penalizacion, algunos investigadores han propuesto otrastecnicas para manejo de restricciones. A continuacion se presenta una breve revision de losmetodos mas importantes reportados en la literatura especializada [4].

CINVESTAV-IPN Departamento de Computacion

Page 52: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

34 3. Motores de busqueda global

3.2.2.1. Operadores y representaciones especiales

Algunos problemas pueden ser particularmente difıciles al ser tratados con las repre-sentaciones normales de los algoritmos evolutivos. Es esos casos puede ser mas fructıferoidear una representacion especial para el problema y, de ser necesario, un conjunto deoperadores especiales aplicables a dicha representacion.

Un ejemplo de operadores especiales para espacios convexos es la primera version deGENOCOP [58], el cual comienza con al menos una solucion factible, y le aplica operadoresque generan hijos que son combinaciones lineales de los individuos originales. Tales opera-dores son utiles porque el algoritmo esta disenado para trabajar unicamente con problemascon restricciones lineales. Posteriormente se desarrollaron otras versiones de GENOCOP,que ademas pueden manejar restricciones no lineales, pero tales propuestas no pertenecena la clasificacion de operadores especiales y por ello no se describen aquı.

Otra propuesta que cuenta con operadores especiales es el algoritmo genetico consis-tente con las restricciones de Kowalczyk [46], la cual utiliza operadores especiales, ası comoun metodo especial de iniciacion de la poblacion para asegurar que los individuos sean con-sistentes con las restricciones. Sin embargo, tales operadores y el metodo de iniciacion sonmuy costosos computacionalmente. Schoenauer y Michalewicz [79] han utilizado opera-dores que tratan de explorar la frontera entre las zonas factible y no factible. La motivacionpara desarrollar este tipo de operadores, es que en muchos problemas de optimizacionno lineal el optimo global esta ubicado en la frontera de la zona factible. El problema esque estos operadores son altamente especializados, al grado de tener que ser disenadosespecıficamente para un problema en particular.

Un tipo de tecnicas importantes que se basan en representaciones especiales son losdecodificadores, los cuales son una transformacion que relaciona una solucion factible conuna solucion codificada. La transformacion debe ser construida de tal forma que cualquierposible solucion producida por el algoritmo pueda ser transformada en una solucion facti-ble. La tecnica mas importante hasta la fecha que utiliza decodificadores, es la de los mapashomomorfos de Koziel y Michalewicz [47,48], que mapea la region factible de un problemaa una figura regular (un hipercubo) en la cual es mucho mas facil moverse.

Una ventaja sobresaliente de esta tecnica es que puede manejar cualquier tipo de restric-ciones, con zonas factibles convexas y no convexas, e incluso disjuntas. Esta propuesta esimportante, por los resultados publicados de un grupo de funciones de prueba (propuestopor Michalewicz y Schoenauer, [59]), que fueron los mejores producidos por cualquieralgoritmo evolutivo hasta ese momento, y que por tal motivo se han convertido en unpunto de comparacion para los algoritmos evolutivos con mecanismos para manejo derestricciones.

3.2.2.2. Separacion de restricciones y objetivos

Algunos enfoques tratan de forma separada a los objetivos y a las restricciones. Porejemplo, Paredis [67] propuso un algoritmo co-evolutivo que utiliza dos subpoblaciones,una representa las soluciones del problema, y la otra representa a las restricciones. Cada

CINVESTAV-IPN Departamento de Computacion

Page 53: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

3. Motores de busqueda global 35

individuo de la segunda subpoblacion es evaluado segun la cantidad de individuos en laprimera poblacion que violan la restriccion que representa.

Varios autores han propuesto metodos en los que se trata como superiores a los puntosfactibles. Por ejemplo, Powell y Skolnick [69] propusieron un metodo donde los puntosfactibles siempre tienen una aptitud entre -8 y 1, y los puntos infactibles siempre tienenuna aptitud entre 1 y 8.

Deb tambien tiene un metodo similar [15], en el que los puntos infactibles siempretienen una peor aptitud que los puntos factibles, porque se agrega la magnitud de lasviolaciones a la aptitud del peor individuo factible. Para hacer mas simple esta asignacionde aptitud, Deb utiliza torneos binarios, en los que las reglas son las siguientes:

1. Si un individuo es factible y el otro infactible, siempre gana el individuo factible.

2. Si ambos individuos son factibles, gana el que tenga mejor valor de la funcion deaptitud.

3. Si ambos individuos son infactibles, gana el individuo que tenga una magnitud masbaja en la violacion de restricciones.

Hinterding y Michalewicz [34] propusieron un metodo que complementa a los padresantes de hacer la recombinacion. La seleccion de ambos padres se hace con criterios distin-tos: el primer padre se selecciona tomando en cuenta su aptitud y su factibilidad, mientrasque el segundo se selecciona de forma que tenga el mınimo de restricciones satisfechasen comun con el primero. Esta idea intenta producir descendientes que sean mejores quelos padres, en el sentido de restricciones violadas. Hay mas metodos que tratan en formadiferente a los objetivos y a las restricciones. Schoenauer y Xanthakis [80] extendieron unmetodo llamado memoria conductista, para hacerlo capaz de manejar restricciones. Estemetodo trabaja en varias fases, y en cada una se trata de satisfacer una de las restricciones,hasta que en la fase final se trata de optimizar la funcion objetivo, suponiendo que se tienensuficientes soluciones factibles en la poblacion. Este metodo puede ser bastante sensible alorden en el que se satisfacen las restricciones.

Tambien hay varios enfoques que utilizan tecnicas de “optimizacion multiobjetivo”.Dado que cada una de las restricciones puede tratarse como un objetivo en el que hay queminimizar la violacion, podemos agregar el objetivo original al conjunto de restricciones,siendo todas estas funciones los objetivos por optimizar.

Ray et al. [73] propusieron un metodo donde se jerarquiza a los individuos con base ensu valor de las funciones objetivo y a la violacion de restricciones. Posteriormente se utilizaun mecanismo de complemento de restricciones como el de Hinterding y Michalewicz [34].

3.2.2.3. Jerarquizacion estocastica

Este metodo de manejo de restricciones ha sido uno de los mas exitosos y se ha manteni-do como un metodo de referencia contra el que suelen compararse las nuevas propuestas.Fue propuesto por Thomas Runarsson y Xin Yao [76]. El objetivo principal de esta tecnica

CINVESTAV-IPN Departamento de Computacion

Page 54: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

36 3. Motores de busqueda global

es balancear la influencia de la funcion objetivo y el grado de violacion de las restriccionesal momento de asignar el valor de aptitud a un individuo.

Esta tecnica no requiere la definicion de factores de penalizacion. Este mecanismojerarquiza λ posibles soluciones, utilizando un procedimiento similar al metodo de orde-namiento de la burbuja, de la siguiente forma: Debido a que determinar los valores optimospara los factores de penalizacion es sumamente difıcil, se define una probabilidad P quedetermina el balance entre tener prioridad con respecto al valor de la funcion objetivo otener prioridad con respecto a la violacion de las restricciones. Se realizan comparacionesentre pares de posibles soluciones. La probabilidad de comparar las posibles soluciones conrespecto al valor de la funcion objetivo es 1 si ambas soluciones son factibles; en otro caso,es P . Los autores determinaron que se logran los mejores resultados, en varios problemas,cuando 0.4 P 0.5.

Este procedimiento se muestra en el algoritmo 4, donde Up0, 1q es un generador denumeros aleatorios uniformemente distribuidos y N es el numero de veces que se reco-rre la poblacion. En su forma original, la jerarquizacion estocastica emplea una estrategiaevolutiva (EE) multi-miembro como motor de busqueda, la cual realiza mutaciones gene-radas con una distribucion normal de probabilidades. Ademas, utiliza un coeficiente pararegular el tamano de paso por cada variable de decision en cada individuo. En caso deque alguna variable quede fuera del rango permitido despues del proceso de mutacion,esta toma el valor del lımite correspondiente. No se emplea un operador de recombinacion.

Algoritmo 4: Jerarquizacion estocastica

Datos: Poblacion de individuos que se desea jerarquizar.1

Resultado: Poblacion de individuos ordenados de acuerdo a jerarquıa2

begin3

for i 1 a N do4

for j 1 a λ 1 do5

if ψp~x jq ψp~x j1q 0 || Up0, 1q P f then6

if f p~x jq ¡ f p~x j1q then7

Intercambiar p~x j, ~x j1q ;8

else9

if ψp~x jq ¡ ψp~x j1q then10

Intercambiar p~x j, ~x j1q ;11

if No se realizo intercambio then12

Terminar();13

end14

Los autores presentan una version mejorada de su algoritmo en [77]. Pero es importantemencionar que el mecanismo para el manejo de restricciones permanece igual. La diferenciaesta en el proceso de mutacion y en que se agrega una recombinacion discreta similar al dela ED, en caso de que las variables generadas despues del proceso de mutacion esten fuera

CINVESTAV-IPN Departamento de Computacion

Page 55: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

3. Motores de busqueda global 37

del rango permitido. Los autores reportan resultados realizando 350, 000 evaluaciones dela funcion objetivo, con la utilizacion de las trece funciones de prueba que aparecen en elapendice A, en la p.g. 123, de esta tesis.

3.3. Resumen del capıtulo

En la primera parte de este capıtulo se introdujo el concepto de un buscador globalpara la solucion de problemas definidos en espacios continuos. Se presento una serie demetodos que trabajan con variables reales y se describieron algunas tecnicas para el manejode las restricciones.

La gran diversidad de tecnicas descritas anteriormente son representativas del estadodel arte y cada una tiene sus ventajas y desventajas para la solucion de problemas de op-timizacion. Los metodos que han presentado mejores soluciones en diversos conjuntos deproblemas son los algoritmo de la ED y jerarquıas estocasticas, los cuales utilizamos paranuestra propuesta.

La combinacion de las tecnicas planteadas en este capıtulo y los mecanismos de busque-da local crean algoritmos hıbridos que generan mejores resultados en la solucion de pro-blemas de optimizacion. El siguiente capıtulo describe mecanismos de busqueda local quetrabajan para problemas definidos en espacios continuos.

CINVESTAV-IPN Departamento de Computacion

Page 56: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

38 3. Motores de busqueda global

CINVESTAV-IPN Departamento de Computacion

Page 57: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

Capıtulo 4

Buscadores locales para espacioscontinuos

El termino local utilizado frecuentemente en las metaheurısticas de busqueda, se asociaal uso de estructuras de entorno, reflejando el concepto de proximidad o vecindad entrelas soluciones alternativas de un problema.

Las soluciones creadas, en un determinado entorno, por un operador o mecanismode generacion se denominan soluciones vecinas. Estos mecanismos realizan un estudiolocal del espacio de busqueda, el cual consiste en analizar el entorno de una solucion paradecidir como continuar el recorrido de la busqueda.

En la figura 4.1 se muestra un ejemplo del proceso que sigue un algoritmo de busquedalocal, donde σi son los puntos solucion encontrados en cada iteracion del algoritmo y Npσiqes el vecindario asociado a cada solucion con i 0, ..., 4.

σ0

σ1 σ2 σ3

σ4

Npσ0qNpσ1q

Npσ2qNpσ3q

Npσ4qSolucion Inicial

Optimo local/global

Figura 4.1: Ejemplo del mecanismo de busqueda local

El algoritmo 5 es un procedimiento iterativo de busqueda local que utiliza una solucionactual o base, busca en su vecindario una mejor solucion y, en caso de encontrarla, reem-plaza la solucion actual por esta (ver figura 4.2).

Un mecanismo de busqueda local se usa para hacer eficiente el refinamiento de las solu-ciones. Una vez que se ha ubicado una zona factible se recomienda utilizar este mecanismopara que agilice la convergencia al optimo global.

39

Page 58: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

40 4. Buscadores locales para espacios continuos

Algoritmo 5: Algoritmo de busqueda local

Datos: solucion inicial s1

Resultado: mejor solucion dentro de la vecindad de s2

begin3

generar un vecindario Npsq alrededor de la solucion base;4

while s no sea un optimo local o se cumpla con algun criterio do5

s1 P Npsq;6

if s1

es mejor que s then7

s s1; con f psq f ps1q8

end9

La busqueda local en problemas con funciones definidas en espacios continuos tieneque enfrentar dificultades como: establecer la direccion de busqueda, realizar movimientospequenos que generen soluciones con una alta precision y evitar caer en optimos localesque a veces estan muy alejados del optimo global del problema (ver figura 4.3). En [30], semencionan como posibles soluciones a estos problemas las siguientes:

Permitir movimientos de empeoramiento de la solucion actual. p. ej. recocido simu-lado y busqueda tabu.

Modificar la estructura de entornos. p. ej. busqueda descendente basada en entornosvariables [31].

Inicializar la busqueda desde otra solucion, p. ej. busqueda multiarranque [65].

Espacio de busqueda

Y

mejor solucion vecina

Figura 4.2: Busqueda en el vecindario

Los algoritmos de busqueda local en espacios continuos hacen uso de parametros es-trategicos (p. ej. control del tamano de paso) para guiar la busqueda. Generalmente, estosparametros se adaptan con el proposito de incrementar la probabilidad de producir solucio-nes mas eficientes. Todo procedimiento de busqueda local requiere un numero sustancial

CINVESTAV-IPN Departamento de Computacion

Page 59: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

4. Buscadores locales para espacios continuos 41

Mınimo global

Mınimos locales

x

f pxq

Figura 4.3: Problema de mınimos locales

de evaluaciones de la funcion objetivo.

Los mecanismos de busqueda local pueden ser metodos numericos tradicionales de op-timizacion, los cuales generalmente realizan busqueda local utilizando la informacion queproporciona la derivada de una funcion. Otras opciones son buscadores locales basados enheurısticas o en operadores que definan estructuras de vecindarios.

Para los fines de esta tesis, a continuacion se describen una serie de mecanismos debusqueda local para espacios continuos. Estos incluyen tanto procedimientos que hacenuso de la primera y segunda derivada, como los que se guıan estocasticamente y los queutilizan operadores que trabajan en un vecindario.

4.1. Metodos de busqueda directa

Los metodos de busqueda directa requieren unicamente valores de la funcion objetivoy no necesitan informacion de la derivada de la funcion. Estos metodos son utiles cuandoresulta muy difıcil, muy laborioso o simplemente imposible obtener expresiones analıticaspara la derivada de la funcion a optimizarse.

Este tipo de metodos resuelven problemas tanto unidimensionales como multidimen-sionales de optimizacion. En las funciones de una sola variable, los algoritmos tienen dosdirecciones de busqueda para modificar un punto. Sin embargo, en las funciones de Nvariables, estos algoritmos tienen 2N formas diferentes de definir direcciones de busque-da, por lo que se requieren procedimientos que manipulen un conjunto de direcciones debusqueda para poder lidiar con la no linealidad de las funciones.

Las desventajas de estos metodos son:

No garantizan la convergencia al optimo global.

CINVESTAV-IPN Departamento de Computacion

Page 60: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

42 4. Buscadores locales para espacios continuos

En la mayorıa de los casos dependen de un punto inicial de busqueda.

En funciones multi-modales pueden quedar estancados en optimos locales.

4.1.1. Metodo de patrones de busqueda de Hooke-Jeves

El metodo de patrones de busqueda fue propuesto en 1961 por Robert Hooke y T.A.Jeeves. La idea basica de este metodo es combinar diferentes direcciones univariables paragenerar una nueva direccion de busqueda y encontrar un nuevo punto, creando un con-junto de direcciones de busqueda de manera iterativa [39].

Los valores sucesivos de ~x pueden ser interpretados como puntos en un espacioKdimensional. El procedimiento de ir de un punto dado a otro, se llama “movimien-to” [39]. Un movimiento es exitoso si el valor de f p~xq disminuye; de lo contrario, es unfracaso. Este metodo realiza dos tipos de movimientos:

Movimiento exploratorio. Este tipo de movimiento adquiere conocimientos acercadel comportamiento de la funcion. El conocimiento es independiente del exito ofracaso de los movimientos de exploracion, sin tener en cuenta cualquier evaluacioncuantitativa de los valores de la funcion. Los movimientos exploratorios examinanla vecindad del punto actual para encontrar el mejor punto alrededor del mismo.De tal forma, los movimientos exploratorios examinan el comportamiento local de lafuncion.

Algoritmo 6: Movimiento exploratorio

Datos: solucion actual (punto base) xc1

Resultado: resultado del movimiento exploratorio2

begin3

variable xci

es perturbada por ∆i;4

hacer i 1, x xc;5

while i , N do6

Encontrar:7

f f pxq8

f f pxi ∆iq y9

f f pxi ∆iq;10

Encontrar fmın mınp f, f, fq;11

Hacer x fmın;12

i i 1;13

x es el resultado;14

if x , xc then15

reportar EXITO;16

else17

reportar FRACASO;18

end19

CINVESTAV-IPN Departamento de Computacion

Page 61: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

4. Buscadores locales para espacios continuos 43

En el movimiento exploratorio, el punto actual es perturbado en la direccion positivay en la direccion negativa a lo largo de cada variable, a razon de una variable a la vezy el mejor punto obtenido es almacenado. Al final de la perturbacion de cada variablese cambia el punto actual por el mejor punto encontrado. Si el punto encontrado alfinal de todas las perturbaciones de las variables, es diferente al punto original, elmovimiento exploratorio se considera exitoso; de lo contrario, se considera fallido(ver algoritmo 6).

Movimiento de patrones. Se obtiene un nuevo punto saltando del mejor punto actualxc a lo largo de una direccion que conecte el mejor punto previo xpk1q y el punto baseactual de la manera siguiente:

xpk1qp xpkq pxpkq xpk1qq

El metodo de Hooke-Jeeves consiste de una aplicacion iterativa de un movimientoexploratorio en la vecindad del punto actual y de un salto subsecuente usando elmovimiento de patrones. Si el movimiento de patrones no toma la solucion a unamejor region, entonces no se acepta y se reduce el alcance de la busqueda exploratoria.Esto se repite hasta alcanzar convergencia (ver algoritmo 7).

Algoritmo 7: Algoritmo de Hooke Jeeves

Datos: Punto inicial x0, ∆ipi 1, 2, ...,Nq, α (factor de reduccion de paso), ǫ1

parametro de terminacionResultado: mejor solucion2

begin3

hacer k 0;4

while ∆ ǫ do5

realizar un movimiento exploratorio con xk como punto base;6

hacer que x sea la salida del movimiento exploratorio;7

if movimiento exploratorio es exitoso then8

hacer xpk1q x;9

repeat10

hacer k k 1;11

efectuar el movimiento de patrones:12

xpk1qp xpkq pxpkq xpk1qq;13

realizar otro movimiento exploratorio usando xpk1qp como el punto14

base.hacer que el resultado sea xk1;15

until f pxpkqq ¤ f pxpk1qq16

end17

Debido a que la busqueda depende en gran medida de los movimientos a lo largo delas direcciones coordenadas px1, x2, ...xnq durante el movimiento exploratorio, el algoritmopuede converger prematuramente a una solucion erronea, especialmente en el caso de

CINVESTAV-IPN Departamento de Computacion

Page 62: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

44 4. Buscadores locales para espacios continuos

funciones con interacciones altamente no lineales entre las variables. El algoritmo tambienpuede quedar atrapado en el ciclo de generacion de movimientos aleatorios. Otra carac-terıstica de este metodo es que termina solo tras buscar exhaustivamente la vecindad delpunto al que se ha convergido. Esto requiere un numero elevado de evaluaciones de lafuncion objetivo para poder converger a una solucion que tenga una precision razonable.

4.1.2. Metodo simplex de Nelder-Mead

El metodo simplex de busqueda directa fue originalmente propuesto por Spendley,Hext y Himsworth en 1962 [85]. Posteriormente fue mejorado por John Nelder y RogerMead en 1965 [64] y sus apellidos se usan desde entonces para nombrar el metodo. Esuna tecnica para minimizar una funcion objetivo en un espacio multi-dimensional. Estemetodo utiliza el concepto de un simplex, el cual es un politopo 1 de n 1 vertices enn dimensiones. Por ejemplo, el segmento de lınea que une dos puntos es un 1-simplex,el triangulo definido por tres puntos es un 2-simplex, y el tetraedro definido por cuatropuntos es un 3-simplex.

a) Simplex inicial b) Reflexion

c) Expansion d) Contraccion externa e) Contraccion interna

~xc ~xc

~xc

~xc

~xnueva~xnueva~xnueva

~xnueva

~x1 ~x1~x1

~x1~x1

~x2~x2~x2

~x2~x2

~x3 ~x3~x3

~x3~x3

Figura 4.4: Ejemplo hipotetico en dos dimensiones de la generacion de nuevas solucionesmediante los operadores utilizados por el metodo de Nelder-Mead.

Un simplex puede ser construido a partir de la ecuacion (4.1), donde ~x0 es un verticebase para generar los demas ~xi.

1En geometrıa un politopo es la generalizacion a cualquier dimension de un polıgono bidimensional, o unpoliedro tridimensional.

CINVESTAV-IPN Departamento de Computacion

Page 63: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

4. Buscadores locales para espacios continuos 45

~xi ~x0 δ1ui n

j1, j,i

δ2u j i 1, 2, ..., n (4.1)

donde:

i 1, 2, ..., n, δ1 αn?

2p?n 1n1q, δ2 α

n?

2p?n 11q y u j es el vector unitario

a lo largo del jesimo eje coordenado. En el caso particular de α 1 se tendra unsimplex con vertices equidistantes, conocido como simplex regular.

Presuponiendo un problema de minimizacion, el metodo define f p~xiq como el valor dela funcion para cada punto ~xi. Los puntos vertices ~xh, ~xl corresponden al mayor y menorvalor de la funcion objetivo, respectivamente. El punto ~xc, es el centroide del simplex (sucalculo se realiza a partir de la ecuacion (4.2)). En cada iteracion del algoritmo, el peorpunto (~xh) es reemplazado por un nuevo punto.

~xc 1

n

n1

i1,i,h

~xi (4.2)

Este metodo hace uso de tres operaciones, reflexion, contraccion y expansion. A continua-cion se describen dichas operaciones:

Reflexion. Se aplica sobre el punto ~xh hacia la cara opuesta para obtener una nuevasolucion con un valor f p~xqmenor (ver figura 4.4(b)). El punto de reflexion ~xr se calculade la siguiente manera:

~xr p1 αq~xc α~xh (4.3)

dondeα es una constante positiva, llamada coeficiente de reflexion. Si f p~xrq es un valorentre f p~xhq y f p~xlq, entonces ~xh es reemplazado por ~xr y se reinicia el procedimientocon el nuevo simplex.

Expansion. Este operador se aplica solo si el proceso de reflexion obtuvo un nuevopunto tal que, f p~xrq f p~xlq ( o sea, si se produjo un nuevo mınimo) (ver figura 4.4(c)).Su calculo se define por la ecuacion (4.4).

~xnueva γ~xr p1 γq~xc (4.4)

El coeficiente de expansion γ ¡ 1 define la razon de la distancia entre ~xnueva y ~xc. Sif p~xnuevoq f p~xlq se reemplaza ~xh por ~xr antes de reiniciar el procedimiento.

Contraccion. Si en el proceso de reflexion se genera un punto ~xr tal que f p~xrq ¡ f p~xhq,entonces se considera que la reflexion fallo, por lo tanto se realiza una contraccioninterna, (ver figura 4.4(d)). El nuevo punto se genera de la siguiente manera:

~xnueva β~xh p1 βq~xc (4.5)

El coeficiente de contraccion β esta definido entre 0 y 1. Por otro lado, si el procesode la reflexion genera un punto ~xr tal que f p~xrq ¡ f p~xiq, para toda i excepto i h,

CINVESTAV-IPN Departamento de Computacion

Page 64: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

46 4. Buscadores locales para espacios continuos

y f p~xrq f p~xhq, entonces se realiza una contraccion menor al caso anterior llamadacontraccion externa (ver figura 4.4(e)), de la siguiente forma:

~xnueva β~xh p1 βq~xc (4.6)

Los coeficientes α, β y γ son los factores que determinan el cambio en el volumendel simplex. Los parametros que a Nelder y Mead les dieron buenos resultados y han sidoadoptados como estandares son:

α 1, β 12 , γ 2 y δ 1

2

El algoritmo 8 muestra el funcionamiento completo del metodo.

Algoritmo 8: Metodo de Nelder-Mead

Datos: γ ¡ 1 (factor de expansion), β P p0, 1q (factor de contraccion) y ǫ tolerancia1

Resultado: mejor solucion encontrada2

begin3

while no se cumpla criterio de terminacion: Q ǫ do4

encontrar xh (el peor punto), xl (el mejor punto) y xg (el segundo peor punto);5

calcular el centroide: xc 1n

n1

i1,i,h

xi;6

calcular el punto reflejado: xr 2xc xh;7

xnueva xr;8

if f pxrq f pxlq then9

realizar expansion: xnueva p1 γqxc xh;10

else11

if f pxrq ¥ f pxhq then12

realizar contraccion: xnueva p1 βqxc βxh;13

else14

if f pxgq f pxrq f pxhq then15

realizar contraccion: xnueva p1 βqxc xh;16

calcular f pxnuevaq;17

xh xnueva;18

calcular Q #n1

i1

p f pxiq f pxcqq2n 1

+ 12

;19

end20

4.2. Metodos de busqueda basados en el gradiente

Los metodos de busqueda basados en el gradiente utilizan informacion de la derivadade la funcion, como estrategia para moverse entre una solucion y otra. Estos metodos hacen

CINVESTAV-IPN Departamento de Computacion

Page 65: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

4. Buscadores locales para espacios continuos 47

uso de las tecnicas clasicas de calculo diferencial, las cuales pueden encontrar el maximo oel mınimo de una funcion de varias variables. Estos metodos presuponen que la funcion esdos veces diferenciable con respecto a cada variable de decision y que todas las derivadasson continuas. Sin embargo, es importante hacer enfasis en que estos procedimientos sepueden aplicar solo si tanto la funcion objetivo como las restricciones son diferenciables.

El gradiente de una funcion es un vector de n componentes dado por la siguienteecuacion:

∇ f $''''''&''''''%δ f δx1

δ f δx2

.

.

.δ f δxn

,//////.//////- (4.7)

El gradiente tiene una propiedad muy importante. Si nos movemos a lo largo de ladireccion del gradiente desde cualquier punto en un espacio ndimensional, el valor de lafuncion se incrementa con la mayor velocidad posible [72].

Por otro lado, los metodos de gradiente requieren una cantidad considerable de expe-rimentacion para determinar los tamanos de paso que permitan llegar al optimo global deuna funcion.

4.2.1. Metodo de ascenso o descenso acelerado

La direccion del gradiente es denominada direccion del ascenso empinado. Sin embar-go, la direccion del ascenso empinado es una propiedad local y no una global. Esto se ilustracon la figura 4.5, donde los vectores que van de 1 1

1, 2 2

1, ...5 5

1son las direcciones

de ascenso indicadas por el gradiente de la funcion, lo que quiere decir que el valor de lafuncion se incrementa en cada paso.

Una caracterıstica importante es el calculo del tamano de paso para cada direccion,ya que si efectuamos movimientos infinitamente pequenos, el numero de evaluacionesrequeridos para llegar al optimo global sera muy elevado.

El vector de gradiente representa la direccion del ascenso empinado, por lo que el nega-tivo del vector de gradiente denota la direccion de descenso empinado. Todos los metodosde descenso hacen uso del vector de gradiente (ya sea de forma directa o indirecta) paraencontrar las direcciones de busqueda.

Para la evaluacion del gradiente se requiere el calculo de las derivadas parciales de lafuncion a optimizarse δ f δxi, i 1, 2, ..., nq.CINVESTAV-IPN Departamento de Computacion

Page 66: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

48 4. Buscadores locales para espacios continuos

1

2

3

4

5

1

2

3

45

x1

x2

direcciones del gradiente

espacio de busqueda

Figura 4.5: Ejemplo de las direcciones de busqueda al aplicar gradiente

Desafortunadamente, hay tres situaciones en las cuales la evaluacion del gradientepresenta problemas:

La funcion es diferenciable en todos los puntos, pero el calculo de las componentesdel gradiente δ f δxi, es sumamente difıcil o imposible.

Las expresiones para las derivadas parciales δ f δxi pueden obtenerse, pero requierenmucho tiempo de computo para su evaluacion.

El gradiente ∇ f no esta definido en todos los puntos.

Para solucionar los primeros dos casos, se hace uso de las diferencias finitas, las cualesaproximan derivadas. Esta tecnica se emplea a menudo en analisis numerico, especialmenteen ecuaciones diferenciales numericas ordinarias, ecuaciones en diferencias y ecuacion enderivadas parciales [72]. Para el calculo de las derivadas de primer orden se tiene la ecuacion(4.8) y las de segundo orden estan dadas por la ecuacion (4.9).

δ f pxqδxi

xt

f pxti ∆xt

iq f pxt

i ∆xt

iq

2∆xti

(4.8)

δ2 f pxqδ2x2

i

xt

f pxti ∆xt

iq 2 f pxt

iq f pxt

i ∆xt

iqp∆xt

iq2 (4.9)

Si ∆xi toma un valor muy pequeno, la diferencia entre los diferentes puntos en loscuales se evalua la funcion sera tambien muy pequena y podrıan predominar los errores deredondeo. Por otra parte, si∆xi es muy grande, el error de truncamiento podrıa predominaren el calculo del gradiente.

Para la solucion del tercer problema se recomienda usar un metodo de busquedadirecta [6].

CINVESTAV-IPN Departamento de Computacion

Page 67: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

4. Buscadores locales para espacios continuos 49

4.3. Metodos basados en heurısticas

Segun George Polya [71], la base de una heurıstica reside en la experiencia de resolverproblemas y en ver como se hace. Por eso se dice que hay busquedas ciegas, busquedasheurısticas y busquedas racionales.

Reeves [74] define una heurıstica como una tecnica que busca soluciones buenas (casioptimas) a un costo computacional razonable, aunque sin garantizar factibilidad u opti-malidad de las mismas. En algunos casos ni siquiera puede determinarse que tan cerca deloptimo se encuentra una solucion producida por una heurıstica.

Las heurısticas generalmente son usadas para obtener soluciones suboptimas de pro-blemas cuya optimizacion no es factible en tiempos polinomiales. Estos metodos incluyenla elaboracion de estrategias y tecnicas que faciliten la busqueda de varias alternativas parasolucionar los problemas.

Dado que las heurısticas utilizan procedimientos estocasticos, es indispensable conocerlos casos en los que son aplicables y los lımites de su uso. En ingenierıa deben considerarsecomo ayudas o apoyos para hacer estimaciones rapidas y disenos preliminares.

Ciertas heurısticas tambien pueden ser usadas como procedimientos de busqueda localen espacios continuos. Dichos procedimientos deben trabajar en vecindarios o entornoscomo es el caso de la busqueda tabu.

4.3.1. Busqueda tabu

La Busqueda Tabu propuesta por Glover en 1989 es un procedimiento de busquedapor entornos cuya caracterıstica distintiva es el uso de memoria adaptativa y estrategiasespeciales de resolucion de problemas [26].

La memoria adaptativa permite: restringir el entorno de busqueda e introducir meca-nismos de reinicializacion de la busqueda mediante intensificacion sobre zonas del espaciode busqueda ya visitadas, o diversificacion sobre posibles zonas del espacio de busquedapoco visitadas.

La busqueda tabu utiliza un procedimiento de busqueda local o por vecindades paramoverse iterativamente desde una solucion x hacia una solucion x

1en la vecindad de x,

hasta satisfacer algun criterio de parada [26]. Se basa fundamentalmente en la utilizacionde un historial de busqueda, que permite ejecutar su estrategia de analisis y exploracionde diferentes regiones del espacio de busqueda. Este historial o memoria se implementacomo una “lista” tabu. En cada iteracion se elige la mejor solucion entre las permitidas yse anade a la lista tabu, donde se mantienen las soluciones recientes que se excluyen de lassiguientes iteraciones.

Los aspectos principales de esta tecnica son:

Permite movimientos de empeoramiento para escapar de optimos locales.

CINVESTAV-IPN Departamento de Computacion

Page 68: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

50 4. Buscadores locales para espacios continuos

Algoritmo 9: Algoritmo de busqueda tabu

Datos: soluciones iniciales F1

Resultado: mejor solucion encontrada x2

begin3

selecciona x P F (F representa soluciones factibles);4

while No se cumpla el criterio de paro do5

x x (x es la mejor solucion encontrada hasta el momento);6

c 0 (contador de iteraciones);7

T conjunto de movimientos “tabu”;8

(Npxq es la funcion vecindario);9

T H;10

if pNpxq Tq es igual a H then11

T H;12

genera vecindario;13

else14

c c 1; selecciona nc en Npxq T de cada:15

ncpxq f pnpxq : n P Npxq Tq16

f pxq es la funcion de evaluacion definida por el usuario17

x ncpxq;18

if f pxq f pxq then19

x x;20

actualiza T ;21

end22

Evita recorridos cıclicos, incorporando un mecanismo de generacion de vecinos queevita la exploracion de zonas del espacio de busqueda que ya han sido visitadas(generacion de entornos tabu restringidos).

Emplea mecanismos de reinicializacion para mejorar la capacidad del algoritmo parala exploracion-explotacion del espacio de busqueda (intensificacion y diversificacion).

Para realizar los puntos anteriores se utilizan dos estructuras de memoria adaptativasdistintas: memoria de corto plazo o lista tabu y memoria de largo plazo.

La memoria de corto plazo guarda informacion que permite guiar la busqueda de formainmediata, desde el comienzo del procedimiento (generacion de entornos tabu restringi-dos).

La memoria de largo plazo guarda informacion que permite guiar la busqueda a poste-riori, despues de una primera etapa en la que se han realizado una o varias ejecuciones delalgoritmo aplicando la memoria a corto plazo. La informacion guardada en esta memoriase usa para comenzar con la busqueda desde otra solucion inicial.

Un cierto movimiento puede cambiar su estatus prohibido o “tabu” cuando se satisface

CINVESTAV-IPN Departamento de Computacion

Page 69: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

4. Buscadores locales para espacios continuos 51

un cierto criterio de aspiracion. Debido al uso de memoria, la busqueda tabu es capaz deescapar de optimos locales, a diferencia de otros buscadores locales convencionales.

En conclusion, la busqueda tabu consta de tres componentes principales:

Una memoria de corto plazo que evita que el algoritmo se cicle.

Una memoria intermedia que permite intensificar la busqueda.

Una memoria de largo plazo que permite diversificar la busqueda.

El algoritmo 9 muestra el procedimiento completo de la busqueda tabu.

4.4. Operadores geneticos basados en vecindarios

Existen varios operadores de cruza para algoritmos evolutivos, con los cuales los des-cendientes se generan a partir de una cierta distribucion de probabilidades de acuerdo a laposicion relativa de los padres. Usualmente, estos operadores emplean mas de dos pa-dres [28]. Estas cruzas se dividen en dos tipos [3]:

Cruzas que generan descendientes cercanos a los padres

Cruzas que generan descendientes cercanos al centro geometrico de los padres

a) UNDX b) PCXc) SPX

Figura 4.6: Ejemplo de distribucion de descendientes en tres tipos de cruzas basadas envecindarios: a) cruza con distribucion normal unimodal (UNDX), b) recombinacion centricade los padres (PCX) y c) cruza simplex (SPX)

CINVESTAV-IPN Departamento de Computacion

Page 70: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

52 4. Buscadores locales para espacios continuos

4.4.1. Cruza con distribucion normal unimodal (UNDX)

Este operador de cruza trabaja con n vectores padre iniciales y una distribucion normalde probabilidad, siguiendo los pasos del algoritmo 10.

Algoritmo 10: Operador de cruza UNDX

Datos: puntos padre iniciales1

Resultado: descendientes al aplicar operador2

begin3

selecciona pµ 1q padres aleatoriamente4

calcula el promedio ~g de esos padres5

calcula pµ 1q vectores de direccion formados por p~dpiq ~xpiq ~gq6

se calcula el vector ~ei ~di|~di|7

se elige aleatoriamente otro padre ~xpµq8

se calcula la longitud D del vector p~xpµq ~gq ortogonal a todos los ~ei9

de lo anterior se calcula el descendiente como:10

~y ~g°µ1

i1ωi|~di|~ei °n

iµ νD~ei11

donde ωi y νi son variables normalmente distribuidas con media cero y varianza12

σ2ς y σ2

ν, respectivamente .

Se sugiere que ωi 1?µ2

y νi 0.35?nµ2

y µ 3 a 713

end14

Kita y Yamamura [44] sugierenσς 1aµ 2,σn 0.35an µ 2, respectivamentee indican que µ 3 a 7 muestra un buen desempeno. Es interesante tener en cuenta quecada descendiente se crea alrededor del vector promedio ~g. La probabilidad de crear undescendiente lejos del vector ~g es muy baja, y por el contrario, la probabilidad maxima seasigna a vectores cerca de ~g. La figura 4.6 a) muestra tres padres y varios descendientescreados por el operador UNDX.

4.4.2. Recombinacion centrica de los padres (PCX)

El operador PCX asigna una alta probabilidad al hecho de que los descendientes estencerca de los individuos base (padres) seleccionados. Su funcionamiento en el algoritmo 11es a partir de la modificacion del operador UNDX.

Este operador tiene una mayor probabilidad de crear descendientes cerca de los pa-dres. La figura 4.6 b) muestra la distribucion de soluciones descendientes con tres padres.Puesto que los padres individuales tienen cierta “Aptitud” en el operador de seleccion, sepuede suponer que las soluciones cerca de estos padres pueden ser buenos candidatos, enparticular en problemas de busqueda en espacios continuos. Por el contrario, puede sermuy difıcil encontrar soluciones buenas cerca del centro de gravedad de los padres.

CINVESTAV-IPN Departamento de Computacion

Page 71: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

4. Buscadores locales para espacios continuos 53

Algoritmo 11: Operador de cruza PCX

Datos: puntos padre iniciales1

Resultado: descendientes al aplicar operador2

begin3

calcula el vector promedio ~g de µ padres4

se asigna la misma probabilidad de que el descendiente este cerca de alguno de5

sus padres

se calcula el vector direccion ~dppq ~xppq ~g6

se calculan las distancias Di perpendiculares a ~dp7

se calcula la media D8

el descendiente se calcula mediante:9

~y ~dp ως ~dp°µ

i1,i,pωνD~ei

10

donde ~ei son las bases ortonormales sobre los subespacios perpendiculares a ~dppq11

y ως y ων son variables con distribucion normal y con varianza σ2ς y σ2

ν,respectivamente.

end12

4.4.3. Cruza simplex (SPX)

Un operador de cruza muy conocido en algoritmos geneticos para codificacion real esel de BLXα de Eshelman y Schaffer [21] que se muestra en la figura 4.7. BLX-α seleccionauniforme e independientemente nuevos individuos con valores que se encuentran entrerdi αdi, di αdis para cada eje diagonal. Eshelman, Mathias y Schaffer extendieron BLX-αproponiendo box-BLX-α-β, pool-wise box-BLX-α-β y directional-BLX-α-β-γ [20]. Existenestudios que justifican en que casos es mas adecuado usar cada una de estas versiones.Por ejemplo, si la distribucion de la poblacion se encuentra sobre la region que forma unadiagonal en el espacio del problema, tiene mas sentido tomar muestras en una region quees paralela a la diagonal [89].

x1

x2

αd2

αd1

αd2

αd1

padre1

padre2

d1

d2O po1, o2q

Figura 4.7: Operador BLX-α con n 2

CINVESTAV-IPN Departamento de Computacion

Page 72: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

54 4. Buscadores locales para espacios continuos

Por otro lado, el operador SPX crea descendientes distribuidos uniformemente alre-dedor del centroide de sus padres, restringiendolos a un area predeterminada por unksimplex. El simplex crossover (SPX) tiene caracterısticas tanto de box y directional-BLXcon propiedades del simplex y m vectores (padres) con m ¥ 2 .

En Rpnq, n 1 puntos que son independientes unos con otros forman un simplex. Porsimplicidad, primero consideremos una cruza SPX con tres padres en un espacio bidi-mensional de busqueda como se muestra en la figura 4.8, donde Xp1q,Xp2q y Xp3q son tresvectores solucion base o padres. Entonces, esos vectores forman un simplex. Tal como serealiza en el BLXα, este simplex se expande en cada direccion pXp jqOq por p1ǫqpǫ ¥ 0qveces, donde O es el centro de masa de los tres padres, calculado como:

O 1

3

3

j1

Xp jq (4.10)

y

Yp jq p1 εqpXp jq Oq. (4.11)

Posteriormente, se generan tres descendientes seleccionando uniformemente valorespara expandir el simplex.

Y1

Y2

Y3

X1

X2

X3

ǫ1

ǫ2

ǫ3

γ1

γ2

γ3

O

Figura 4.8: Representacion grafica del operador simplex

En general, el SPX se especifica como SPXn m ε, donde n es el numero de di-recciones del espacio de busqueda, m es el numero de padres y ε es un parametro decontrol que define la tasa de expansion. Por lo tanto, el SPX que se muestra en la figura4.8 se especifica como SPX2 3 ε. Podemos ahora definir SPXnm ε para un casomas general donde m se encuentra en el rango r2, n 1s: sea X px1, . . . , xnq un vectorndimensional de numeros reales representando una posible solucion (cromosoma). En

CINVESTAV-IPN Departamento de Computacion

Page 73: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

4. Buscadores locales para espacios continuos 55

SPX-n-m-ε, pm ¤ n 1q individuos Xp jq pxp jq1, . . . , x

p jqn q, j 1, . . . ,m son seleccionados

aleatoriamente de la poblacion para ser cruzados X1, . . . ,XN.

Posteriormente, se divide Rn en h conjuntos de Rm1 y en Rq espacios por combinacionaleatoria de n dimensiones de coordenadas sin duplicados como:

Rn Rm1 . . . Rm1loooooooooomoooooooooonh

Rq, (4.12)

donde, h es la parte entera de pnpm 1qq y q el residuo de pnpm 1qq. En cada Rpm1q secrea un simplex usando m vectores padres que pertenecen a Rm1. Despues, se generan mvectores de descendientes seleccionando valores uniformemente en cada Rm1. Finalmentese reemplazan los valores del vector generados con los valores del vector de Xp jq en lasposiciones correspondientes a la dimension de Rn, y ası se obtiene el vector m de descen-

dencia X1p jq px1p jq1, . . . , x

1p jqn q, i 1, . . . ,m. Aquı dejamos q valores de parametros de x

1p jq1

que pertenecen a Rq sin cambios, v.g., x1p jqk

xp jqk|k P Rq, j 1, ,m.

Ahora, consideremos el otro extremo, donde m es 2, v.g., SPX-n-2-ε. En este caso Rm1

es R1. Como un simplex en un espacio uni-dimensional es un segmento, un parametro dedescendencia en un eje xi se obtiene muestreando uniformemente el valor del segmento,como se muestra en la figura 4.9. Este muestreo es identico al muestreo de BLX-α en lafigura 4.7, v.g., BLX-α SPXn2ε. Ademas, puede verse que el valor de ε correspondea 2 α del BLX-α.

εr1i

r1i

r2i

εr2i

X1i

Oi X2i

Figura 4.9: Ejemplo de SPXn 2 εDe esta forma, esta variante de SPX es realmente una extension de BLX-α y tiene las

siguientes caracterısticas:

Como un simplex es basicamente independiente de los sistemas de coordenadas, eloperador SPX puede heredar esta independencia.

Como los valores de los vectores de descendencia son muestreados uniformementecon m vectores padres, estos heredan caracterısticas de los padres y el muestreo puedereflejar una cierta ligadura entre los padres.

Como SPX mantiene un buen balance entre exploracion y explotacion en la generacionde descendencia, trabaja bien sobre funciones que tienen una alta multimodalidad.

Como el muestreo uniforme en un simplex puede ser realizado con procedimientossencillos, SPX es un operador simple y no consume demasiado tiempo de computo.

CINVESTAV-IPN Departamento de Computacion

Page 74: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

56 4. Buscadores locales para espacios continuos

4.4.4. Cruza PBX

Esta tecnica fue propuesta por Syswerda en [91]. Este operador de cruza extiende lafuncionalidad del operador de cruza BLX α presentado por Eshelman y Schaffer (1993).Se llama parent-centric BLX α pPBX αq y se describe a continuacion.

Dados dos vectores X px1, ...., xnq y Y py1, ...., ynq pxi, yi P rai, bis , i 1, ..., nq loscuales son dos cromosomas con codificacion real que han sido seleccionados para aplicar eloperador de cruza sobre estos. PBXα genera (aleatoriamente) uno de los posibles descen-dientes: Z1 pz1

1, ..., z1

nq o Z2 pz21, ..., z2

nq, donde z1i

es un numero elegido aleatoriamente

en el intervalo rl1i, u1

is con:

l1i maxtai, xi I αu y u1

i mintbi, xi I αu

z2i

se elige en el intervalo rl2i, u2

is con la ecuacion (4.13)

l2i maxtai, yi I αu y u2i mintbi, yi I αu (4.13)

donde I |xi yi|.4.4.5. Operador de mutacion BGA

El operador de mutacion BGA es empleado para mantener diversidad en la pobla-cion [63, 84]. En caso de trabajar con codificacion real, uno de los temas de mayor impor-tancia incluye el control de la proporcion o la intensidad en la cual los genes en codificacionreal mutan, v.g., el tamano de paso [2]. Se han sugerido distintas tecnicas para el control deltamano de paso durante la ejecucion de un algoritmo genetico con codificacion real [32,83].Un ejemplo es la mutacion no uniforme, la cual es considerada como uno de de los operado-res de mutacion mas adecuados para codificacion real [33]. Su idea principal es decrementarel tamano de paso durante el progreso de la ejecucion. En este sentido, el algoritmo realizauna busqueda uniforme en el espacio inicial y localmente en una etapa posterior, favore-ciendo la mejora local. Un metodo alternativo es el propuesto en [49] donde un conjuntodiscreto de tasas de mutacion se pone a disposicion del algoritmo, el cual se puede auto-adaptar para usar cualquiera de estos conjuntos.

Supongamos que C pc1, . . . , ci, . . . , cnq es un cromosoma y ci P rai, bis es un gen a sermutado. El gen, c1

i, resultante de la aplicacion de este operador es:

c1i ci rangi 15

k0

αk2k, (4.14)

donde rangi define el rango de mutacion y normalmente se establece en 0.1 pbi aiq.Elsigno o es seleccionado con una probabilidad de 0.5 y αi P 0, 1 se genera aleato-riamente con ppαi 1q 1

16 . Usando este operador se generan valores en el intervalorci rangi, ci rangis, con una probabilidad muy alta de generar un vecindario de ci. Laproximidad mınima posible de este operador tiene una precision de rangi 215.

CINVESTAV-IPN Departamento de Computacion

Page 75: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

4. Buscadores locales para espacios continuos 57

4.5. Resumen del capıtulo

En este capıtulo se estudiaron 4 grupos de mecanismos de busqueda local, los cualesse basan: en busqueda directa, en el gradiente, en heurısticas y en operadores geneticosbasados en vecindarios, siendo este ultimo en el que enfocamos nuestra propuesta.

Un buscador local debe considerar estrategias de solucion para la definicion de unsubespacio de busqueda, para la estrategia de reemplazo de los vectores, para la frecuenciay tiempo de uso, etc. Estos aspectos hacen que la investigacion entorno a los algoritmos debusqueda local sea de gran interes en la actualidad.

En el siguiente capıtulo estudiaremos algoritmos del estado del arte que combinan al-gunos de los mecanismos mencionados en este capıtulo, con tecnicas de busqueda global,los cuales han demostrado acelerar la convergencia a mejores soluciones en el espacio debusqueda de un problema.

CINVESTAV-IPN Departamento de Computacion

Page 76: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

58 4. Buscadores locales para espacios continuos

CINVESTAV-IPN Departamento de Computacion

Page 77: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

Capıtulo 5

Algoritmos memeticos en laliteratura

Los algoritmos memeticos (AMs) son metodos que combinan tecnicas heurısticas deexploracion y procedimientos de busqueda local. Ambos metodos trabajan en forma com-plementaria para encontrar soluciones factibles a problemas de optimizacion.

Por un lado el mecanismo de busqueda global localiza regiones prometedoras en elespacio de soluciones del problema, mientras que el mecanismo de busqueda local mejoradichas regiones refinando los valores del vector de las variables de cada solucion.

El diseno de AMs debe considerar un balance entre estos dos mecanismos, involucrarprocedimientos estrategicos de reemplazo y metodos de conservacion de la diversidadcon la finalidad de agilizar la velocidad de convergencia a optimos globales de diversosproblemas.

En los capıtulos 3 y 4 se mencionaron metodos eficaces de busqueda global y localpara espacios continuos. En este capıtulo se describen AMs competitivos, que hacen usode los metodos vistos, para la resolucion de problemas de optimizacion mono-objetivocon y sin restricciones. El estudio de estos AMs tuvo la finalidad de comparar metodos,analizar ventajas de sus procedimientos, ademas de haber sido utilizados como base parala propuesta de AM introducida en esta tesis.

5.1. AMs para optimizacion mono-objetivo sin restricciones

En los problemas de optimizacion mono-objetivo sin restricciones, los AMs no requierenutilizar un mecanismo para el manejo de restricciones, por lo que unicamente se enfocanen mantener un balance adecuado entre la busqueda global y local del algoritmo.

A continuacion se describen AMs competitivos de la literatura especializada.

5.1.1. RCMA-XHC: Algoritmo genetico y operador de cruza adaptativo comobuscador local

Lozano et al. [50] propusieron un AM llamado RCMA-XHC, el cual esta integrado porun mecanismo de busqueda global basado en un algoritmo genetico (AG) con codificacionreal. Como mecanismo de busqueda local, usan un operador de cruza del tipo “escala-miento de colina”, hillclimber.

59

Page 78: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

60 5. Algoritmos memeticos en la literatura

Algoritmo 12: Algoritmo XHC

Datos: p1, p2, no f f , nit1

Resultado: p11, p

122

begin3

p11 p1 y p

12 p2;4

repeat5

Realizar cruza en p11

y p12

para generar no f f descendientes o1, ..., ono f f;6

Evaluar o1, ..., ono f f;7

Encontrar el descendiente con el mejor valor de aptitud, obest;8

Reemplaza el peor entre p11

y p12

con obest;9

until nt veces10

retorna p11

y p12;11

end12

RCMA-XHC asigna de forma adaptativa diferentes probabilidades para el uso del bus-cador local, lo que genera un balance entre la busqueda global y local de acuerdo a lasparticularidades de cada problema.

Este AM se compone de los siguientes procedimientos:

Mecanismo de seleccion para aplicar cruza. En un algoritmo genetico el operador decruza intercambia segmentos de cadenas que representan los cromosomas de solucio-nes que actuan como padres para generar descendientes (intercambio de informacioncromosomica). Un mecanismo de seleccion para las soluciones padre determina lascondiciones para aplicar dicho operador.

El mecanismo propuesto en RCMA-XHC es un apareamiento selectivo negativo,el cual se refiere a la reproduccion entre individuos con diferente fenotipo. 1 Lasemejanza o disimilitud entre fenotipos esta definida por la distancia euclidianadeterminada por los valores de sus cromosomas. La finalidad de este metodo esincrementar la diversidad genetica en la poblacion.

Operadores geneticos. En [50], se utiliza como operadores de cruza y mutacion aPBX [91] y BGA [63, 84], respectivamente, ambos descritos en el capıtulo 4, en la p.g.56.

Mecanismo adaptativo para aplicar buscador local. RCMA-XHC presenta un esque-ma de autoadaptacion para asignar un valor de probabilidad (LS) a cada cromosomacnuevo que se genero por cruza y mutacion (ver ecuacion (5.1)).

pls #1 si f pcnuevoq es mejor que f pcpeorq0.0625 en otro caso

(5.1)

1En genetica moderna, se denomina fenotipo a los rasgos especıficos de un individuo. En computo evolutivose denomina fenotipo a la decodificacion del cromosoma; es decir, a los valores obtenidos al pasar de unarepresentacion (p. ej. binaria) a la usada por la funcion objetivo.

CINVESTAV-IPN Departamento de Computacion

Page 79: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

5. Algoritmos memeticos en la literatura 61

donde f es la funcion de aptitud y cpeor es la peor solucion en la poblacion actual. cnuevo

se considera un cromosoma descendiente, el cual es mejor que el peor cromosoma delas soluciones actuales. Este ultimo se somete al procedimiento de busqueda local,mediante el operador de cruza escalando la colina. De lo contrario se asigna un valorde probabilidad muy bajo (pls 0.0625).

Metodo de cruza escalando la colina XHC. El objetivo de este operador es obtenerel mejor nivel de precision para guiar a la poblacion hacia las regiones de busquedamas prometedoras para producir un refinamiento eficiente sobre las soluciones.

El procedimiento mantiene un par de padres para ejecutar repetidamente la cruzasobre estos y el ciclo termina hasta que un numero de descendientes no f f es alcanzado.Despues se selecciona al mejor descendiente para reemplazar al peor padre (solo si esmejor). El proceso itera nit veces y regresa los dos padres actuales finales. Este modelode cruza XHC requiere valores para no f f y nit, y un par de padres iniciales pp1, p2q.Ver algoritmo 12.

Estrategia de reemplazo. La condicion de sustitucion de soluciones en cada genera-cion, se realiza solo si el nuevo individuo es mejor que el anterior; a esta condicion sele conoce como “estrategia de reemplazo estandar”. Se hace notar que el eliminar alpeor individuo de la poblacion genera una alta presion de seleccion.

El algoritmo 13 muestra el procedimiento completo de RCMA-XHC.

El AM RCMA-XHC a pesar de ser adaptativo, requiere la definicion de varios parame-tros, lo cual implica realizar un analisis sobre el impacto de sus valores en el desempenodel algoritmo.

5.1.2. LDSE: Evolucion diferencial y metodo de Nelder-Mead

En [52], se muestra un esquema general hibridizando un algoritmo evolutivo y el meto-do de descenso empinado simplex. Este procedimiento se conoce tambien como evolucionm-simplex, donde m P 1, 2, ..., n y n es el numero de soluciones padre. Con este metodo seproducen individuos que sobreviven por la regla de seleccion natural.

La evolucion m-simplex mantiene un conjunto de poblacion ~Xptq de N puntos (indi-viduos) Xiptq, i 1, 2, ...,N. El progreso evolutivo conduce esos puntos a la vecindad delmınimo global. El algoritmo se guıa mediante el reemplazo de todos los puntos malos en lapoblacion con nuevos puntos mejores por generacion. Especıficamente, para cada indivi-

duo ~Xiptqpi 1, 2, ...,Nq en la poblacion actual, m1 puntos (individuos) son seleccionadosaleatoriamente para formar un m-simplex. Entre los m 1 puntos se tiene que encontrarel mejor individuo Xb y el peor individuo Xw. El i-esimo individuo Xiptq tiene dos oportu-nidades de mejorar. La primera oportunidad se otorga por el operador de reflexion. Si elpunto reflejado es mejor que Xiptq, entonces Xiptq es reemplazado por el punto reflejado,por lo tanto se dice que es promovido. En otro caso, una segunda oportunidad se brinda,mediante el operador de contraccion con el objetivo de mejorar Xiptq.CINVESTAV-IPN Departamento de Computacion

Page 80: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

62 5. Algoritmos memeticos en la literatura

Algoritmo 13: Algoritmo RCMA-XHC

Datos: poblacion inicial1

Resultado: soluciones factibles2

begin3

Inicializa poblacion;4

while no se cumpla el criterio de terminacion do5

Usar la estrategia de apareamiento selectivo negativo (seleccion de dos6

padres);Aplicar los operadores PBX y BGA para crear un nuevo descendiente Onew;7

Evaluar Onew;8

Invocar el mecanismo adaptativo pls para Onew9

if up0, 1q pls then10

Encontrar el mejor cromosoma en la poblacion, cbest;11

Mejorar mediante metodo de cruza “escalando la colina” con12

Onew, cbest, no f f , nit

c1xhc

y c2xhc

son retornados (c1xhc

es el mejor);13

Reemplazar cbest con c1xhc

, solo si este es mejor;14

Utilizar la estrategia de reemplazo estandar para insertar c2xhc

en la15

poblacion;

else16

Emplear estrategia de reemplazo estandar para insertar cnew en la17

poblacion;

end18

La reflexion del peor punto Xw, considerando el centroide de los otros m puntos ~X, debe

cumplir con la regla Xre f ~X α p~X ~Xwq, y la contraccion debe cumplir con la regla

Xcont ~XβpXw ~Xq tal como en el metodo Nelder-Mead visto en el capıtulo 4. Sin embar-go, si el i-esimo individuo Xiptq pierde las dos oportunidades y no puede recibir beneficiospromedio, esto es, su valor de funcion es peor que el valor promedio de la poblacion actual,este va a realizar su ultimo esfuerzo para avanzar hacia el mejor individuo Xb o alejarse delpeor individuo Xw. El ultimo esfuerzo podrıa degenerar al i-esimo individuo, ademas depoder incrementar la diversidad de la poblacion. El procedimiento anteriormente descritose muestra en el algoritmo 14.

Los factores de escalamiento α y β, usados en este AM, usualmente se encuentran enlos intervalos r0.5, 2s y r0.5,0.1s Y r0.1, 0.5s respectivamente. El tamano de la poblacionN debe ser mucho mas grande que la dimension del problema n y los puntos seleccionadosm 1 no son necesariamente diferentes entre sı.

A la evolucion m-simplex se le conoce como evolucion simplex de baja dimensionalidad(LDSE por sus siglas en ingles) ya que la dimension del simplex es mucho menor que ladimension del problema, esto es, m es mucho menor que n. De forma similar, es llamadoevolucion simplex de dimensionalidad completa (FDSE) si m n. Sin embargo, en [52]

CINVESTAV-IPN Departamento de Computacion

Page 81: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

5. Algoritmos memeticos en la literatura 63

Algoritmo 14: Algoritmo LDSE

Datos: Poblacion de tamano n, lımite superior e inferior lb, ub, factores de1

escalamiento α y βResultado: Soluciones factibles2

begin3

Establece t 0;4

Inicializa poblacion ~Xp0q tX1p0q,X2p0q, ...,XNp0qu5

donde Xip0q pxi,1p0q, xi,2p0q, ..., xi,np0qq;6

repeat7

Evaluar ~Xptq y calcular f pXiptqq para cada individuo;8

Reproduce y actualiza ~Xptq;9

Por cada i P t1, 2, ...,Nu, seleccionar aleatoriamente m 1 individuos de la10

poblacion actual: Xri, i 1, 2, ...,m 1, determinar cual es el mejor y el peor

de los puntos Xmejor,Xpeor y calcular ~X 1m

°ri,w Xri

;

Dado un punto de reflexion como Xre f ~X α p~X Xwq;11

if f pXre f q f pXiptqq then12

Xipt 1q Xre f ;13

else14

Dada Xcont ~X β pXw ~Xq; if f pXcontq f pXiptqq then15

Xipt 1q Xcont;16

else17

if f pXiptqq ¥ 1N

°i f pXiptqq then18

if f pXrbptqq f pXiptqq then19

Xipt 1q Xiptq 0.618 pXbptq Xiptqq,20

else21

Xipt 1q Xiptq 0.382 pXiptq Xwptqq,22

until hasta que el criterio de paro sea satisfecho23

end24

los resultados numericos muestran que LDSE es superior a FDSE para problemas con altadimensionalidad.

El objetivo de analizar AMs que usan el metodo de Nelder y Mead es para marcar lasdiferencias con la propuesta de tesis y el operador que esta usa.

5.1.3. DEahcSPX: Algoritmo de evolucion diferencial, tecnica escalando la co-lina y operador de cruza SPX

Noman e Iba proponen en [66] un AM denominado “DEahcSPX”. Este algoritmo com-bina evolucion diferencial [88] con una tecnica escalando la colina y el operador de cruzaSPX [92] (descrito en el capıtulo 4).

CINVESTAV-IPN Departamento de Computacion

Page 82: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

64 5. Algoritmos memeticos en la literatura

Este AM (ver algoritmo 15) se aplica a problemas de optimizacion de cualquier dimen-sion. DEahcSPX tiene la particularidad de aplicar primero un proceso iterativo que invocaal buscador local, con la finalidad de refinar la mejor solucion de la poblacion actual (PG).

Una vez que no encuentra mejora se emplea el mecanismo de busqueda global basadoen ED en su version rand1bin, el cual recorre la poblacion actual para generar nuevosdescendientes.

Algoritmo 15: Algoritmo DEahcSPX

Datos: poblacion inicial PG1

Resultado: soluciones factibles2

begin3

Inicializa poblacion PG ;4

Evalua PG ;5

while no se cumpla con criterio de terminacion do6

B igual El ındice de la mejor solucion;7

PG.rBs AHCXLSpPG, npq;8

for cada individuo I en PG do9

Reproduce un descendiente J de I a partir de ED;10

PG1 PG1Y y la seleccion de pI, Jq;11

Establece G G 1;12

end13

Algoritmo 16: Mecanismo escalando la colina AHCXLS

Datos: Mejor vector solucion I y np numero de padres1

Resultado: Mejora a I2

begin3

Establece Pr1s I;4

for i 2 a np iteraciones do5

Pris selecciona individuo aleatorio de la poblacion;6

C aplicar Cruza SPX(P) ;7

if C es mejor a a Pr1s then8

Pr1s C;9

else10

regresa P[1];11

end12

El mecanismo escalando la colina AHCXLS (ver algoritmo 16) itera un numero inde-terminado de veces para aplicar el operador de cruza SPX. La condicion de paro de esteproceso es cuando no se tiene mejora de la solucion base que recibe (I).

CINVESTAV-IPN Departamento de Computacion

Page 83: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

5. Algoritmos memeticos en la literatura 65

AHCXLS adapta el buscador local SPX (visto en el capıtulo 4), sin agregar parametrosal algoritmo, con la finalidad de encontrar una solucion mejor a la que recibe. Mientras queel buscador local SPX crea un msimplex, donde m es 3 o 4 dependiendo de la dimensio-nalidad del problema.

El operador de cruza SPX recibe las soluciones que genera el msimplex. A partir de es-tos puntos iniciales se calcula el centroide del simplex. Se establece un factor de expansiono contraccion ǫ para definir el vecindario lımite. Posteriormente, se generan n 1 escalaresaleatorios. Por ultimo, mediante la ecuacion del paso 11 en el algoritmo 17 se generan losdescendientes.

El analisis completo del comportamiento de este operador se presenta en el capıtulo 6y 7, ya que se usa dicho operador como base para el algoritmo propuesto en este trabajode tesis.

Algoritmo 17: Operador de cruza SPX

Datos: np soluciones padre1

Resultado: Refinar, generando solucion descendiente2

begin3

Elegir np soluciones padre de la poblacion xGi, i 1, ..., np de acuerdo al modelo4

generacional usado y calcular el centro de masa O;

O 1n

°np

i1xG

i;5

Generar ri numeros aleatorios6

ri u1

i1 , pi 1, ..., np 1q7

donde u es un numero aleatorio P r0, 1s;8

Calcular yi y Ci9

yi O ǫpxGiOq, pi 1, ..., npq10

11

Ci #0, pi 1qri1pyi1 yi Ci1q, pi 2, ..., npq

donde ǫ 1.0 es el radio de expansion y un parametro de control de SPX;Generar un descendiente C12

C ynp Cnp ;13

end14

A continuacion se mencionan algunas de las caracterısticas que contempla el AM:

Utiliza 10 funciones de prueba mono-objetivo con dimension N 10, 50, 100 y 200

Sugieren una poblacion de entre 5N a 10N

El algoritmo de ED utiliza los valores de F 0.9 y Cr 0.9

Se sugiere usar el operador de busqueda local SPX con un numero de padres igual a3, o 4 para problemas de alta dimensionalidad.

CINVESTAV-IPN Departamento de Computacion

Page 84: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

66 5. Algoritmos memeticos en la literatura

Entre los estudios que se realizan en [66], se tienen: la sensibilidad al tamano de lapoblacion en el algoritmo y la escalabilidad de los problemas que resuelve. Ademas, sepresenta una comparacion entre DEahcSPX y diversos esquemas competitivos de la litera-tura especializada.

5.2. AMs para optimizacion mono-objetivo con restricciones

Las funciones de restriccion, en los problemas de optimizacion, redefinen el espaciode busqueda factible, y puede modificarse la ubicacion de la solucion optima global. Unasolucion a esta limitante es utilizar mecanismos de manejo de restricciones, los cuales es-tablecen un equilibrio entre la optimizacion de la funcion objetivo y la minimizacion de laviolacion de las restricciones, como lo muestran los metodos vistos en el capıtulo 3.

En este apartado, se analizan AMs que resuelven problemas mono-objetivo con restric-ciones, mientras que en el capıtulo 7 se realiza una comparacion entre estos metodos y lapropuesta de esta tesis, con la finalidad de verificar que tan competitivo y superior es elAM propuesto al resolver un conjunto de funciones, el cual contempla diversos problemasen espacios de busqueda restringidos (ver apendice A).

5.2.1. MCODE cooperativo: AM con ED y cooperacion co-evolutiva.

La metodologıa llamada cooperacion co-evolutiva fue propuesta por primera vez porPotter y DeJong en [68] y se inspira en la relacion cooperativa de las especies en la natu-raleza. Shi [43] extiende este trabajo y propone ED con cooperacion co-evolutiva, dondeuna combinacion de individuos desde cada subpoblacion sigue una solucion completadel sistema. El metodo asigna un valor de aptitud a todo el sistema, cuyo valor varıa deacuerdo a cada subpoblacion.

Cuando existe una alta interdependencia ente las variables de una funcion a optimizar-se, el comportamiento de un algoritmo genetico co-evolutivo no es siempre satisfactorio.Debido a esto, Potter y De Jong constituyeron una combinacion aleatoria entre los indivi-duos a partir de evaluar la aptitud de todas las especies. Esta estrategia resuelve parcial-mente el problema, sin embargo cuando se tiene un numero considerable de variables todose complica.

Los trabajos previos de cooperacion evolutiva habıan sido empleados unicamente enproblemas de optimizacion mono-objetivo sin restricciones, por lo que Liu et al. en [29] pro-ponen un AM para problemas con restricciones, llamado MCODE. Este algoritmo trabajacon dos poblaciones cooperativas, las cuales son construidas para evolucionar de formaindependiente mediante el algoritmo de ED en su version best1bin (ver capıtulo 3). Laprimera poblacion tiene como proposito minimizar la funcion objetivo sin considerar lasfunciones de restriccion y la segunda poblacion se encarga de minimizar la violacion de lasfunciones de restriccion, sin considerar la funcion objetivo.

CINVESTAV-IPN Departamento de Computacion

Page 85: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

5. Algoritmos memeticos en la literatura 67

En este algoritmo la poblacion total es dividida de acuerdo a la funcion objetivo y laviolacion de las restricciones. Por lo tanto, e incluso cuando se tienen miles de variables dedecision, el numero de subgrupos es dos.

Ademas, MCODE cuenta con un mecanismo de interaccion y migracion entre las dospoblaciones. Por un lado, las poblaciones evolucionan de forma separada y despues devarias iteraciones migran las soluciones factibles del primer grupo al segundo grupo de lassoluciones infactibles.

Las dos poblaciones evolucionan de acuerdo a una funcion de aptitud asignada a ciertasgeneraciones, el sistema los combina y despues divide nuevamente en dos grupos parareanudar otra evolucion, lo cual crea un ciclo.

Incorporar un buscador local en un algoritmo puede mejorar los resultados notable-mente. Por esta razon MCODE utiliza un operador de mutacion gaussiana, el cual se aplicasi la mejor solucion no tiene cambio despues de varias iteraciones, es decir, cuando el mejorindividuo de la poblacion no evoluciona despues de varias generaciones.

La mutacion gaussiana consiste en anadir a cada elemento de un vector solucion, unvalor aleatorio que se encuentre dentro de una distribucion gaussiana para crear un nuevovector descendiente.

En algunas ocasiones una solucion infactible se encuentra mucho mas cerca del valoroptimo que otras soluciones ubicadas en el dominio de los factibles. Por lo tanto, se ocupaun umbral que calcule los lımites de estos dos grupos. Esto se logra estableciendo N comoel numero de restricciones y ǫi como la violacion de cada restriccion.

Si se cumple que°N

i1 |ǫi| ¤ σ, entonces el individuo pertenece al primer grupo; de locontrario, pertenece al segundo. Para lograr que la optimizacion global satisfaga las restric-ciones σ debe decrementarse de acuerdo al proceso de evolucion o al radio de solucionesfactibles.

El diagrama de flujo mostrado en la figura 5.1 y el algoritmo 18 muestran el funciona-miento de la propuesta.

Existen dos operaciones importantes en MCODE cooperativo. En primer lugar es ne-cesario establecer la mejor relacion, no solo en la funcion de minimizacion de la funcionobjetivo, sino tambien al minimizar la violacion de las funciones de restriccion. Por otrolado, si el proceso de ED convierte a un individuo factible en uno infactible, la operacioncorrespondiente se cancela.

La ventaja de MCODE cooperativo es que no requiere establecer valores de coeficientesde penalizacion.

CINVESTAV-IPN Departamento de Computacion

Page 86: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

68 5. Algoritmos memeticos en la literatura

Algoritmo 18: Algoritmo MCODE cooperativo

Datos: Poblacion inicial1

Resultado: Solucion optima2

begin3

Inicializa poblacion y parametro σ;4

while No se cumpla el criterio de convergencia do5

if si no existen soluciones factibles e infactibles then6

Regresar al paso 47

else8

Dividir la poblacion en dos subconjuntos A y B (factibles e infactibles);9

while La mejor solucion no se estanque do10

Aplicar ED a la poblacion A y B por un numero determinado de11

generaciones;Combinar las poblaciones generadas de A y B, hacer interaccion y12

migracion;if las soluciones aun no convergen then13

actualizar las poblaciones A, B y σ;14

El ajuste de σ conforma la siguiente regla: si el radio de las soluciones15

factibles excede un valor predeterminado ǫ1, pN f actibleNtotal ¥ ǫ1qentonces σ σ c1, si el radio de las soluciones infactibles excede undeterminado valor ǫ2, pNin f alibleNtotal ¥ ǫ2q entonces σ σ c2, de locontrario σ σ. En el proceso anterior,c1 ¥ 1 y c2 1 y c1 P p1, 2q, c2 P p0, 1q son recomendados.

else16

romper ciclo;17

Aplicar mutacion gaussiana a los individuos. Actualizar el mejor valor;18

Regresar la mejor solucion del conjunto.19

end20

5.2.2. LEDE: Exploracion local basada en evolucion diferencial.

La propuesta conocida como LEDE de Ali y Kajee-Bagdadi [1] es un algoritmo que com-bina una modificacion de ED e incorpora una tecnica de exploracion local periodica. Dichatecnica es una version simplificada del metodo de busqueda de patrones (BP). Funcionesde penalizacion, tales como la superioridad de puntos factibles (SFP) [69] y la penalizacionde parametro libre (PFP) [15] son utilizadas para el manejo de restricciones en el AM.

Este algoritmo modifica el operador de mutacion de ED de la siguiente forma:

xi,k xb,k Fkpxβ,k xα,kq (5.2)

donde xb,k es el mejor punto en la poblacion, xβ,k y xα,k son puntos uniformementeseleccionados de la poblacion.

CINVESTAV-IPN Departamento de Computacion

Page 87: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

5. Algoritmos memeticos en la literatura 69

En la ecuacion (5.2), Fk es un parametro de escalamiento dependiente de la iteraciondel algoritmo, es decir se le asignan valores de acuerdo a F = Uni ftr1,0.4s Y r0.4, 1.0su.En cada kesima iteracion un numero aleatorio rk P p0, 1q es generado. Si rk ¤ 0.5 entoncesFk se establece de manera uniforme en el intervalo r0.4, 1s. De lo contrario, Fk se estableceen el intervalo r1,0.4s. Si el punto mutado no se encuentra dentro del intervalo de losvalores de las variables (xi,k < rl, us) entonces se usa un valor diferente para Fk.

LEDE emplea dos esquemas para el manejo de restricciones SFP [69] y PFP [15]. Ambosevaluan la aptitud de la poblacion dependiendo de la iteracion del algoritmo.

El esquema SFP define como funcion de penalizacion la siguiente ecuacion:

f pyi,kq f pyi,kq RGpyi,kq Θkpyi,kq, yi,k P Tk (5.3)

donde:

f pyi,kq es el valor de aptitud de cada individuo.

f pyi,kq el valor de la funcion objetivo evaluada en un determinado punto yi,k.Es decir el iesimo elemento de la poblacion en la kesima iteracion.

R es un parametro de penalizacion

Gpyi,kq °mj1 maxr0, g jpxqsq, se refiere a la suma de la evaluacion de las funciones de

restriccion en puntos infactibles. El algoritmo define q = 1;

Y el termino ΘkpYi,kq se define mediante la ecuacion (5.4)

ΘkpYi,kq #0 si Tk XΩ H o yi,k P Ωα si Tk XΩ ,H y yi,k < Ω

(5.4)

en dondeΩ es el conjunto de los puntos factibles.

Tk el conjunto total de las soluciones de la poblacion actual.

El valor de α se calcula de acuerdo a:

α max

0, max

yPTkXΩ P Tk f pyq minzPTk pTkXΩq r f pzq RGpzqs (5.5)

El termino Θk es usado para penalizar los puntos infactibles solo cuando la poblacionTk contiene puntos factibles. Por lo tanto, cuando la poblacion contiene puntos factibles,seran tan malos como los puntos infactibles.

El esquema PFP es una modificacion [60] del esquema PFP. La funcion de penalizacionse define de acuerdo a la siguiente ecuacion:

f pyi,kq f pyi,kq Gpyi,kq Θkpyi,kq, yi,k P Tk (5.6)

CINVESTAV-IPN Departamento de Computacion

Page 88: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

70 5. Algoritmos memeticos en la literatura

donde

Θkpyi,kq $'&'%0 si yi,k P Ω, f pyi,kq si Tk XΩ H, f pyi,kq maxyPTkYΩ f pyq si Tk XΩ ,H y yi,k < Ω.

(5.7)

Cuando la poblacion contiene puntos factibles e infactibles se asegura que ambos con-juntos de puntos sean tan malos entre ellos. Esto se logra anadiendo el valor de la funcionobjetivo del peor punto factible y la violacion de las restricciones de cada punto infactible.

Entonces el calculo de la aptitud con un esquema PFP esta dado por:

f pyq Gpyq maxxPTkYΩ f pxq (5.8)

El calculo de la aptitud de PFP es sencillo si todos los puntos son factibles. De locontrario, se asocia una regla de seleccion en ED, dada por la siguiente ecuacion.

Θkpxi,k1q #yi,k si f pyi,kq f pxi,kq,xi,k en otro caso

(5.9)

donde xi,k y yi,k son Sk (poblacion que usa ED) y Tk (poblacion que minimiza las restriccio-nes), respectivamente.

La exploracion local en LEDE es una modificacion al metodo de BP [45] para optimiza-cion local. A este se le nombra patron local de busqueda (LPS por sus siglas en ingles) y esinvocado al final de la kesima iteracion del mecanismo global.

LPS explora la vecindad del mejor punto xpkq en la poblacion, Sk de acuerdo a los pasosdescritos en el algoritmo 19.

El algoritmo 20 muestra el funcionamiento completo de LEDE. Sk es la poblacion inicial,f pxi,kq la funcion objetivo, Gpxi,kq las funciones de restriccion de cada punto. La funcion de

penalizacion Θkpxi,kq, la evaluacion de la aptitud es f pxi,kq para cada punto. La siguientegeneracion Tk es generada por la mutacion y cruza. Los puntos de Sk y Tk son comparadospunto a punto para generar Sk1. Este proceso de comparacion invoca al buscador localLPS.

CINVESTAV-IPN Departamento de Computacion

Page 89: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

5. Algoritmos memeticos en la literatura 71

Algoritmo 19: Algoritmo de busqueda local basado en una modificacion de busquedade patrones

begin1

Seleccionar aleatoriamente 5 puntos distintos en la poblacion, el 10 % de Sk;2

Calcula el promedio de la distancia, AvgDis, entre los m puntos y el conjunto3

∆k 0.1 AvgDisEstablecer el centro xk xr,k donde xr,k es seleccionado uniformemente de los 54

puntos.for i 1, 2, ..., 2n do5

calcular yi xk ∆kdi6

if Un punto yi P Pk es f pyiq f pxpkqq then7

reemplaza xr,k en Sk con yi, es decir xr,k yi y terminar LPS8

if f pyiq ¥ f pxpkqq para toda yi P Pk then9

conservar xr,k P Sk y terminar LPS10

end11

CINVESTAV-IPN Departamento de Computacion

Page 90: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

72 5. Algoritmos memeticos en la literatura

Inicializacion

¿Puede dividirse?

Poblacion A Poblacion B

Algoritmo ED Algoritmo ED

¿ n generaciones? ¿ n generaciones?

combinar poblaciones

dividir (radio σ)

Actualiza parametros ¿convergencia?Actualiza parametros

Resultados optimos Mutacion gaussiana

No

Si Si

No No

Si Si

No No

Si

Figura 5.1: Diagrama de flujo del algoritmo MCODE

CINVESTAV-IPN Departamento de Computacion

Page 91: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

5. Algoritmos memeticos en la literatura 73

Algoritmo 20: Algoritmo LEDE

Datos: Poblacion inicial y parametros N, Cr1

Resultado: Solucion optima2

begin3

Inicializa N y Cr (R si se utiliza SFP) y la poblacion inicial como4

Sk tx1,k, x2,k, ..., xN,ku, k 1;Para toda i calcula f pxi,kq y Gpxi,kq;5

k 1;6

Calcula Θkpxi,kq y f pxi,kq, usando la ecuacion (5.3) y (5.4) para SFP o (5.6) y (5.7)7

para PFPwhile No se conozca el criterio de paro do8

if No se conoce el criterio de paro then9

Generar un punto de prueba yi,k P Tk, generado por:10

Mutacion usando la ecuacion xi,k xb,k Fkpxβ,k xα,kq11

Cruza usando la ecuacion12 pY j

i,kq #

xj

i,ksi r j ¤ croj Ii,

xj

i,ksi r j ¡ cryj , Ii,

donde Ii es un entero aleatorio en el conjunto Ii P I t1, 2, ..., nu, la13

potencia j representa el jesimo elemento en de los puntos y r j P p0, 1q esuna aleatorio elegido para cada j. Evaluar f pyi,kq y Gpyi,kq;

Calcula Θkpxi,kq y f pxi,kq, usando las ecuaciones (5.3) y (5.4) para SFP o (5.6) y14

(5.7) para PFPActualizar Sk, es decir obtener Sk1 usando la regla de seleccion (5.9)15

if k mod kt 0 then16

usar buscador local LPS para actualizar Sk1 si se requiere;17

Hacer k k 118

end19

CINVESTAV-IPN Departamento de Computacion

Page 92: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

74 5. Algoritmos memeticos en la literatura

CINVESTAV-IPN Departamento de Computacion

Page 93: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

Capıtulo 6

Propuesta de algoritmo memeticopara problemas con restricciones

La propuesta de Algoritmo Memetico para Espacios Restringidos (AMER), contemplacuatro aspectos principales, los cuales se describen en las secciones de este capıtulo. Laseccion 6.1 explica una tecnica de muestreo para generacion de puntos uniformementedistribuidos en un espacio de busqueda ndimensional. Posteriormente, se describen losmecanismos de busqueda global y busqueda local en las secciones 2 y 3, respectivamente.En la seccion 6.4 se detalla la adaptacion de un algoritmo para el manejo de las restriccionesy, finalmente se muestra la implementacion completa de AMER en la seccion 6.5.

6.1. Muestreo de puntos con distribucion uniforme

Existen diversas tecnicas de muestreo para la generacion de vectores solucion en unespacio ndimensional. Una forma sencilla para la generacion de estos vectores es elmuestreo aleatorio. Desafortunadamente, este presenta ruido [9] y las soluciones no sedistribuyen de manera uniforme por todo el espacio de busqueda. Otra alternativa son lastecnicas de muestreo con distribucion uniforme, las cuales definen puntos equidistantesen un espacio definido por la dimensionalidad del problema.

Un muestreo uniformemente distribuido responde a la pregunta sobre como variar unavariable Y que depende de otras x1, x2, . . . , xk.

La propuesta realizada en esta tesis utiliza el muestreo por hipercubos latinos (LHS,por sus siglas en ingles). Esta tecnica fue desarrollada por Mc. Kay et al. en 1979 [53].

Presuponiendo un problema k dimensional, donde se requiere n diferentes puntos,entonces LHS sigue los pasos que a continuacion se describen:

1. El rango de cada variable es dividido en n subintervalos no sobrepuestos, es decirque no coincidan, los cuales tendran la misma probabilidad.

2. Se genera aleatoriamente un valor dentro de cada subintervalo (esto respecto a laprobabilidad de densidad de cada subintervalo).

3. Los n valores obtenidos para x1 forman parejas con los n valores de x2 de maneraaleatoria.

4. Estas n parejas son combinadas de manera aleatoria con los n valores de x3 paraformar n tripletas.

75

Page 94: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

76 6. Propuesta de algoritmo memetico para problemas con restricciones

5. Esto se repite hasta formar n vectores kdimensionales.

x1 x2 x3 x... xk1 xk

n

rxin f xsups1,1rxin f xsups1,2... ...rxin f xsups1,n1rxin f xsups1,n

rxin f xsupsk,1rxin f xsupsk,3rxin f xsupsk,n1rxin f xsupsk,n

k variables del problema

subintervalos

Figura 6.1: Un ejemplo de muestreo por hipercubos latinos

La figura 6.1 muestra el funcionamiento del muestreo LHS para un problema con kvariables, donde se requiere la generacion de n vectores. En este caso, se divide el intervalode cada variable en n subintervalos y aleatoriamente se van combinando (sin repeticion)valores aleatorios dentro del rango de cada subintervalo. Los recuadros sombreados de lafigura representan posibles valores para la generacion de un vector. En la figura 6.2 puedeverse un ejemplo de muestreo de 100 puntos en un espacio 3-dimensional

xx

yy

zzzz

Figura 6.2: Caso hipotetico de un muestreo por hipercubos latinos en un espacio 3-dimensional

CINVESTAV-IPN Departamento de Computacion

Page 95: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

6. Propuesta de algoritmo memetico para problemas con restricciones 77

6.2. Evolucion diferencial como mecanismo de busqueda global

El algoritmo de ED es uno de los mejores metodos heurısticos de optimizacion globalque se conocen. Ademas de ser muy efectivo, suele converger rapidamente al optimo delproblema y, por lo general, su comportamiento es robusto. Adicionalmente, requiere pocosparametros de control para su funcionamiento y su implementacion es sencilla.

Como se estudio en el capıtulo 3, en la p.g. 29, existen diversas versiones de ED. Dichasversiones son analizadas en un estudio comparativo presentado en [94] donde se concluyeque el modelo DE/rand/1/bin muestra tener buen rendimiento con un menor numero deevaluaciones de la funcion objetivo. Por lo anterior, se decidio trabajar con esta version paranuestra propuesta. El algoritmo 3 en la seccion 3.1.3, explica el funcionamiento completode la version DE/rand/1/bin de ED.

ED como mecanismo de busqueda global en nuestra propuesta explora todo el espaciode busqueda definido por la funcion objetivo, lo que significa que habra soluciones facti-bles e infactibles. Esta caracterıstica permite que el algoritmo mantenga diversidad en lassoluciones, ademas de considerar aquellos vectores que se encuentren en los lımites de laregion factible, como se observa en la figura 6.3.

~xr1

~xr2

~xr3

~xi

Fp~xr1 ~xr2

q~vi ~xr3

Fp~xr1 ~xr2

qposibles soluciones ~vi

x

f pxq

Figura 6.3: Ejemplo del funcionamiento del algoritmo de ED en un espacio restringido

Estrategia de reemplazo para ED y SPX

La unica modificacion realizada al algoritmo de ED del algoritmo 3 es en el operadorde seleccion, ya que al tratarse de problemas en espacios restringidos se considera lacomparacion entre dos vectores, de la poblacion anterior y la actual, de la siguiente manera:

1. Si las dos soluciones son infactibles se tiene preferencia por aquella que viole en

CINVESTAV-IPN Departamento de Computacion

Page 96: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

78 6. Propuesta de algoritmo memetico para problemas con restricciones

menor grado la funcion de penalizacion.

2. Si las dos tienen igual valor en la funcion de penalizacion se escoge aquella que tengamenor valor en la funcion objetivo.

3. Si las dos soluciones son factibles se elige aquella con menor valor en la funcionobjetivo.

Esta comparacion es tambien usada como mecanismo de reemplazo en el buscadorlocal.

El algoritmo 21 muestra la modificacion realizada a ED para el manejo de las restriccio-nes.

6.3. Jerarquıas estocasticas para el manejo de restricciones

El algoritmo de jerarquıas estocasticas estudiado en la seccion 3.2.2 es uno de los meto-dos de manejo de restricciones mas competitivos en la literatura y de ahı que se hayadecidido incorporar en nuestra propuesta. El algoritmo de jerarquıas estocaticas se empleatal cual como se presento en el algoritmo 4 de esta tesis (ver seccion 3.2.2.3).

El esquema de la figura 6.4 muestra un espacio con posibles soluciones representadaspor x1, x2, ..., x11. Estas soluciones son tanto factibles como infactibles, y en el proceso dejerarquizacion estocastica se ordenan estas soluciones efectuandose un balance estocasticoentre la funcion objetivo y la funcion de penalizacion. Puede observarse en la lista ordenadaque la mejor solucion es el primer elemento x10 ya que se trata de una solucion factible,ademas de estar mas cerca del mınimo global del problema. En contraste, x9 es la peorsolucion, al ser infactible y estar mas alejada de la solucion optima global.

A partir de este ordenamiento se utilizaron los primeros y ultimos 3 elementos de lalista que seran los padres utilizados por el operador SPX. Esto con la finalidad de refinar ala mejor solucion y a la peor solucion encontradas en cada iteracion del algoritmo.

6.4. Operador de cruza simplex

El operador de cruza simplex estudiado en el capıtulo 4.4.3 mostro tener caracterısticasque aceleran, en gran medida, la convergencia de la ED en problemas sin restricciones, porlo que la propuesta introducida en esta tesis adapta dicho operador para problemas conrestricciones.

Retomando los pasos que usa este operador de cruza, se explicara a detalle cada unode ellos y la adaptacion a la propuesta.

Paso 1. Seleccionar np vectores padre de la poblacion ~xGi

, donde i 1, ..., np

CINVESTAV-IPN Departamento de Computacion

Page 97: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

6. Propuesta de algoritmo memetico para problemas con restricciones 79

......

~x1

~x1

~x2

~x2

~x3

~x3

~x4

~x5

~x6

~x6

~x7

~x8

~x9

~x9

~x10

~x10

~x11

~x11

~x11

Up0, 1q ¤ P f

f p~x jq ¡ f p~x j1qψp~x jq ¡ ψp~x j1q

Figura 6.4: Adaptacion del mecanismo de manejo de restricciones

Los vectores seleccionados definen el vecindario de busqueda mediante un ksimplex.En AMER se fijo np con un valor igual a 3, lo que significa que se trata de un 2-simplex otriangulo en un espacio ndimensional. Para verificar que se forma un simplex, es decirque los puntos son no colineales, debe calcularse el determinante de estos 3 puntos [5], deacuerdo a lo siguiente:

Existe una relacion, llamada orientacion, entre pd1qtuplas ordenadas de puntos enun espacio ndimensional. La orientacion extiende la nocion de relaciones binariasen un espacio 1-dimensional.

Dada una tripleta ordenada de puntos p; q; r ¡ en el plano, decimos que tienen unaorientacion positiva si definen un triangulo en sentido contrario a las manecillas delreloj.

Tienen una orientacion negativa si forman un triangulo en sentido de las manecillasdel reloj.

Se tiene una orientacion cero si son colineales (incluyendo el caso donde dos o maspuntos son identicos). La orientacion depende del orden en que los puntos son dados.

En general, en un espacio ddimensional el area de un simplex (un simplex odsimplex es el analogo en d dimensiones de un triangulo) acotado por d 1 puntospuede obtenerse tomando este determinante y dividiendolo por d!

CINVESTAV-IPN Departamento de Computacion

Page 98: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

80 6. Propuesta de algoritmo memetico para problemas con restricciones

Orientacion positiva Orientacion negativa Orientacion cero

orientpp, q, rq det

1 px py

1 qx qy

1 rx ry

p

pp

q

q

q

r

rr

Figura 6.5: Casos de orientacion para puntos en un espacio 2-dimensional

Dada la capacidad de calcular el area de cualquier triangulo (o simplex en dimensio-nes mas grandes), es posible calcular el volumen de cualquier polıgono (o poliedro).

Para el caso especıfico de nuestra propuesta unicamente se requiere identificar si eldeterminante de los puntos es diferente de 0. (ver figura 6.5)

Paso 2. Calcular el centro de masa ~O del ksimplex

Ya que np es igual a 3 el centro de masa del 2-simplex queda definido por la ecuacion(6.3)

~O 1

3

3

i1

~xiG

(6.3)

donde ~xi corresponde a cada vector solucion de la poblacion G.

Paso 3. Aplicar factor de expansion ǫ

El factor de expansion en [66] es igual a 1, lo que indica que no se expande ni contraeel ksimplex. La diferencia con AMER es que este factor varıa de acuerdo al numero deiteracion, con el objetivo de expandir o contraer el 2-simplex. En las primeras iteracioneseste factor en el algoritmo tiene un valor ǫ 1.5 y en las ultimas iteraciones (20 % del totalde las generaciones) es ǫ 0.75. Lo anterior se debe a que el algoritmo explora sobre unespacio de busqueda mas pequeno que al inicio del proceso.

Paso 4. Generar ri numeros aleatorios de acuerdo a la ecuacion (6.4):

ri u1

i1 , pi 1, ...., np1q, (6.4)

donde u P r0, 1s es un numero aleatorio en el rango de 0 a 1.

En el caso de la propuesta de esta tesis, estos factores son r1 u12 y r2 u

13 .

CINVESTAV-IPN Departamento de Computacion

Page 99: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

6. Propuesta de algoritmo memetico para problemas con restricciones 81

Figura 6.6: Generacion de puntos mediante el operador SPX de busqueda local en unespacio bidimensional

Paso 5. Calcular los valores para yi y Ci de acuerdo a las ecuaciones (6.5) y (6.6).

yi O ǫpxGi Oq, pi 1, ..., 3q (6.5)

~Ci #0, pi 1q~ri1p~yi1 ~yi ~Ci1q, pi 2, 3q (6.6)

Paso 6. Generar descendiente.

Finalmente, se genera el vector descendiente ~C a partir de la ecuacion (6.7). El reemplazode la nueva solucion se realiza solo si se cumple con el mecanismo de la estrategia dereemplazo definida anteriormente.

~C ~y3 ~C3 (6.7)

En AMER este operador se ejecuta 2 veces en cada generacion.

En las figuras 6.6 y 6.7 puede visualizarse el comportamiento del operador SPX, yaque se generan puntos dentro de un vecindario definido por el 2-simplex en un espaciobidimensional y tridimensional, respectivamente.

CINVESTAV-IPN Departamento de Computacion

Page 100: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

82 6. Propuesta de algoritmo memetico para problemas con restricciones

Figura 6.7: Geneacion de puntos mediante el operador SPX de busqueda local en un espaciotridimensional

6.5. Algoritmo propuesto

El criterio de terminacion establece que el algoritmo memetico ha convergido en lageneracion G, siempre y cuando, la desviacion estandar de la funcion objetivo sea menorque un valor suficientemente pequeno σ, como sigue:

tampob

i1

p f p~xiq ~f q2 ¤ σ (6.8)

En la figura 6.8 y en el algoritmo 22 se muestra el proceso completo del algoritmomemetico que aquı se propone.

CINVESTAV-IPN Departamento de Computacion

Page 101: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

6. Propuesta de algoritmo memetico para problemas con restricciones 83

Algoritmo 21: Modificacion al algoritmo de ED

Datos: D, Gmax, NP ¥ 4, F P p0, 1q, CR P r0, 1s, y los lımites iniciales ~xploq, ~xphiq1

Resultado: Solucion optima2

begin3

Inicializar:4

5 #i ¤ NP_ j ¤ D : x j,i,G0 xploqj rand jr0, 1s pxphiq

j x

ploqjq

i t1, 2, ...,NPu, j t1, 2, ...,Du,G 0, rand jr0, 1s P r0, 1s+ (6.1)

while G Gmax do6

7

i ¤ NP

$'''''''''''''''''''''''''''''''''&'''''''''''''''''''''''''''''''''%

Mutacion y recombinacion:

seleccionar aleatoriamente r1, r2, r3 P t1, 2, ....,NPu,donde : r1 , r2 , r3 , i

jrand P t1, 2, ...,Du Seleccionar aleatoriamente uno de cada i j ¤ D, u j,i,G1 $'&'%x j,r3,G F px j,r1 ,G x j,r2,Gqsi prand jr0, 1q CR_ j jrandqx j,i,G de lo contrario

Seleccionar:

~xi,G1 $''''''''''''''''&''''''''''''''''%

si ambas soluciones son infactibles y

φp~ui,G1q φp~xi,Gqentonces ~ui,G1

si ambas soluciones son infactibles y

φp~ui,G1q φp~xi,Gqentonces ~ui,G1 si f p~ui,G1q ¤ f p~xi,Gqsi ~ui,G1 es factible y ~xi,G1 no lo es

entonces ~ui,G1

~xi,G de lo contrario(6.2)

G G 1;

end8

CINVESTAV-IPN Departamento de Computacion

Page 102: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

84 6. Propuesta de algoritmo memetico para problemas con restricciones

Inicio

Generar poblacion con

distribucion uniforme

¿Se cumple criterio

de terminacion?

Mecanismo de busqueda global

Aplicar Algoritmo ED

Ordenar poblacion

Aplicar jerarquıas estocasticas

Elegir los n mejores elementos

Elegir los n peores elementos

Mecanismo de busqueda local

Aplicar operador de SPX

¿Mejoro la solucion?

Reemplazar de acuerdo

a estrategia de reemplazo

Reportar mejor solucion

SI

SI

NO

NO

Figura 6.8: Diagrama de Flujo de la propuesta de esta tesis.

CINVESTAV-IPN Departamento de Computacion

Page 103: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

6. Propuesta de algoritmo memetico para problemas con restricciones 85

Algoritmo 22: Propuesta de algoritmo memetico

Datos: Poblacion Inicial, P f (parametro de control para el balance en el algoritmo de1

jerarquıas estocasticas), Cr (parametro de recombinacion de ED), F (parametro demutacion en ED), n numero de soluciones para generar vecindarioResultado: Mejor solucion al problema2

begin3

Generar poblacion con distribucion uniforme, mediante LHS ;4

while No se cumpla con criterio de terminacion do5

// Procedimiento de evolucion diferencial; mecanismo de busqueda global6

for i t1, ..., npu do7

r1, r2, r3 P 1, ..., np aleatoriamente seleccionados,8

donde r1 , r2 , r3 , i ;9

jrand P t1, ..., nu aleatoriamente seleccionado;10

for j t1, ..., nu do11

if U jr0, 1s CR || j jrand then12

ui, j xr3, j,G Fpxr1, j,G xr2, j,Gq ;13

else14

ui, j xi, j,G;15

if f p~uiq ¤ f p~xi,Gq then16

~xi,G1 ~ui ;17

Aplicar mecanismo de seleccion;18 mecanismo para el manejo de las restricciones19

Ordenar la poblacion mediante algoritmo de jerarquizacion estocasticas;20

// Operador de cruza SPX; mecanismo de busqueda local21

Asignar mejorsolr3s, los 3 mejores elementos del conjunto ordenado;22

Asignar peorsolr3s, los 3 peores elementos del conjunto ordenado;23

Aplicar mecanismo de busqueda local (operador SPX) a los elementos de24

mejorsolrns y peorsolrnsG G 1;25

end26

Criterio de terminacion.27

CINVESTAV-IPN Departamento de Computacion

Page 104: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

86 6. Propuesta de algoritmo memetico para problemas con restricciones

CINVESTAV-IPN Departamento de Computacion

Page 105: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

Capıtulo 7

Validacion del metodo propuesto

En este capıtulo se describen los experimentos implementados para obtener estadısticascuyos resultados nos permitieron demostrar la eficacia en el funcionamiento de nuestrapropuesta.

En primer lugar, establecimos una metodologıa para el diseno experimental. Presen-tamos los resultados y graficas estadısticas de nuestra propuesta. Comparamos nuestrometodo contra los algoritmos mencionados en la seccion 5.2. Por ultimo, hicimos evidenteel efecto que tiene el uso de un buscador local en la solucion de problemas en espaciosrestringidos.

Un mecanismo o algoritmo a estudiar puede ser representado por el modelo de la figura7.1, donde se visualiza al proceso como una combinacion de variables ~x, ~z y una saliday que tiene una o mas respuestas observables. Algunas de estas variables x1, x2, . . . xp soncontrolables (o pueden serlo para los fines de la prueba) [61].

Algoritmo

x1 x2 xp

z1 z2zq

Entradas Salida

y

variables controlables

variables no controlables

Figura 7.1: Modelo general de un proceso.

Para la elaboracion de experimentos es necesario usar pruebas o ensayos que permitanobtener conocimiento acerca de un proceso, mecanismo o sistema en particular. Disenarexperimentos como una serie de pruebas que produzcan cambios deliberados en las varia-bles de entrada de un proceso o sistema hace posible observar e identificar las causas delos cambios en la respuesta de salida [11].

87

Page 106: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

88 7. Validacion del metodo propuesto

El diseno de experimentos espera cumplir con los siguientes objetivos:

Determinar cuales variables tienen mayor influencia en la respuesta ~y

Determinar el mejor valor de ~x que influye en ~y, de modo que ~y tenga un valordeseado.

Determinar el mejor valor de ~x que influye en ~y, de modo que la variabilidad de ~ysea pequena y se minimicen los efectos de las variables incontrolables.

Adicionalmente, un diseno experimental tiene como finalidad desarrollar un procesoconsistente o robusto, es decir un proceso afectado mınimamente por fuentes externas devariabilidad ~z.

Para alcanzar los objetivos anteriormente descritos, realizamos evaluaciones de unconjunto de problemas de optimizacion con diversas caracterısticas; comparamos configu-raciones de diseno experimental y seleccionamos parametros de diseno que ajustamos aun determinado intervalo.

7.1. Funciones de prueba

Una gran parte de los problemas de optimizacion presentan restricciones p.ej. fısicas,geometricas, de tiempo entre otras, las cuales modifican la forma del espacio de busqueda.Ademas, estos problemas pueden tener una alta dimensionalidad o estar sujetos a un grannumero de restricciones.

Por lo anterior, en [55] se recopila un conjunto de funciones de prueba estandar paraoptimizacion con restricciones. Dicho conjunto se compone de 22 funciones con diversascaracterısticas (descritas en las tablas 7.1 y 7.2). Algunas consideraciones de estas funcionesse describen a continuacion.

Todas las funciones utilizadas son transformadas al formato de las ecuaciones (7.1) y(7.2):

Minimizar f p~xq, ~x rx1, x2, ..., xns (7.1)

sujeto a: $&% gip~xq ¤ 0, i 1, ..., q

h jp~xq 0, i q 1, ...,m

,.- (7.2)

Frecuentemente las restricciones de igualdad son transformadas a restricciones de de-sigualdad de la forma: |h jp~xq| ǫ ¤ 0, para j q 1, ...,m (7.3)

CINVESTAV-IPN Departamento de Computacion

Page 107: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

7. Validacion del metodo propuesto 89

Una solucion ~x es considerada como factible solo si gip~xq ¤ 0 para i 1, ...,m y|h jp~xq| ǫ ¤ 0, para j q 1, ...,m. El valor de ǫ se fija a 0.0001.

La tabla 7.1 muestra un resumen con las caracterısticas de cada uno de los problemas. Elvalor del factor ρ es la tasa de factibilidad que se obtuvo generando un millon de solucionesaleatorias para cada problema, y dividiendo la cantidad de soluciones factibles obtenidasentre el total. Por otro lado, la tabla 7.2 muestra el valor de la funcion objetivo en la solucionoptima, ası como los lımites de las variables de decision.

Prob. n Tipo de funcion ρ LI NI LE NE a

g01 13 cuadratica 0.0001 % 9 0 0 0 6

g02 20 no lineal 99.9965 % 0 2 0 0 1

g03 10 polinomial 0.0001 % 0 0 0 1 1

g04 5 cuadratica 27.0014 % 0 6 0 0 2

g05 4 cubica 0.0000 % 2 0 0 3 3

g06 2 cubica 0.0072 % 0 2 0 0 2

g07 10 cuadratica 0.0003 % 3 5 0 0 6

g08 2 no lineal 0.8555 % 0 2 0 0 0

g09 7 polinomial 0.5131 % 0 4 0 0 2

g10 8 lineal 0.0002 % 3 3 0 0 6

g11 2 cuadratica 0.0110 % 0 0 0 1 1

g12 3 cuadratica 4.7626 % 0 1 0 0 0

g13 5 no lineal 0.0000 % 0 0 0 3 3

g14 10 no lineal 0.0000 % 0 0 3 0 3

g15 3 cuadratica 0.0000 % 0 0 1 1 2

g16 5 no lineal 0.0218 % 4 34 0 0 4

g17 6 no lineal 0.0000 % 0 0 0 4 4

g18 9 cuadratica 0.0000 % 0 13 0 0 6

g19 15 no lineal 33.4464 % 0 5 0 0 0

g21 7 lineal 0.0000 % 0 1 0 5 6

g23 9 lineal 0.0000 % 0 2 3 1 6

g24 2 lineal 44.273 % 0 2 0 0 2

Tabla 7.1: Resumen de las caracterısticas de las funciones de prueba adoptadas. n es elnumero de variables de decision, ρ |F||S| es la tasa estimada (en porcentaje) entre laregion factible y el espacio de busqueda, LI es el numero de restricciones de desigualdadlineales, NI el numero de ecuaciones de desigualdad no lineales, LE el numero de funcionesde restriccion de igualdad lineales y NE es el numero de restricciones de igualdad nolineales. a es el numero de restricciones activas en ~x.

CINVESTAV-IPN Departamento de Computacion

Page 108: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

90 7. Validacion del metodo propuesto

Prob. n fp~xq lımites de variables

g01 13 -15.0000000000 0 ¤ xi ¤ 1 pi 1, ..., 9q, 0 ¤ xi ¤ 100 pi 10, 11, 12q y 0 ¤ x13 ¤ 1g02 20 -0.8036191042 0 xi ¤ 10 pi 1, ..., nqg03 10 -1.0005001000 0 ¤ xi ¤ 1 pi 1, ..., nqg04 5 -30665.5386717834 78 ¤ x1 ¤ 102, 33 ¤ x2 ¤ 45 y

27 ¤ xi ¤ 45 pi 3, 4, 5qg05 4 5126.4967140071 0 ¤ x1 ¤ 1200, 0 ¤ x2 ¤ 1200, 0.55 ¤ x3 ¤ 0.55 y0.55 ¤ x4 ¤ 0.55g06 2 -6961.8138755802 13 ¤ x1 ¤ 100 y 0 ¤ x2 ¤ 100g07 10 24.3062090681 10 ¤ xi ¤ 10 pi 1, ..., 10qg08 2 -0.0958250415 0 ¤ x1 ¤ 10 y 0 ¤ x2 ¤ 10g09 7 680.6300573745 10 ¤ xi ¤ 10 para pi 1, ..., 7qg10 8 7049.2480205286 100 ¤ x1 ¤ 10000, 1000 ¤ xi ¤ 10000 pi 2, 3q y

10 ¤ xi ¤ 1000 pi 4, ..., 8qg11 2 0.7499000000 1 ¤ x1 ¤ 1 y 1 ¤ x2 ¤ 1g12 3 -1.0000000000 0 ¤ xi ¤ 10 pi 1, 2, 3q y p, q, r 1, 2, ..., 9g13 5 0.0539415140 2.3 ¤ xi ¤ 2.3pi 1, 2q y 3.2 ¤ xi ¤ 3.2 pi 3, 4, 5qg14 10 -47.7648884595 0 xi ¤ 10 pi 1, ..., 10qg15 3 961.7150222899 0 ¤ xi ¤ 10 pi 1, 2, 3qg16 5 -1.9051552586 704.4148 ¤ x1 ¤ 906.3855, 68.6 ¤ x2 ¤ 288.88, 0 ¤ x3 ¤ 134.75,

193 ¤ x4 ¤ 287.0966, 25 ¤ x5 ¤ 84.1988g17 6 8853.5396748064 0 ¤ x1 ¤ 400,0 ¤ x2 ¤ 1000, 340 ¤ x3 ¤ 420, 340 ¤ x4 ¤ 420,1000 ¤ x5 ¤ 1000 y 0 ¤ x6 ¤ 0.5236g18 9 -0.8660254038 10 ¤ xi ¤ 10 pi 1, ..., 8q y 0 ¤ x9 ¤ 20g19 15 32.6555929502 0 ¤ xi ¤ 10 pi 1, ..., 15qg21 7 193.7245100700 0 ¤ x1 ¤ 1000, 0 ¤ x2, x3 ¤ 40, 100 ¤ x4 ¤ 300, 6.3 ¤ x5 ¤ 6.7,

5.9 ¤ x6 ¤ 6.4 y 4.5 ¤ x7 ¤ 6.25g23 9 -400.0551000000 0 ¤ x1, x2, x6 ¤ 300, 0 ¤ x3, x5, x7 ¤ 100, 0 ¤ x4, x8 ¤ 200g24 2 -5.5080132716 0 ¤ x1 ¤ 3 y 0 ¤ x2 ¤ 4

Tabla 7.2: Soluciones optimas (o mejores valores conocidos) al conjunto de problemas. n esel numero de variables de decision y fp~xq el valor de la funcion objetivo.

CINVESTAV-IPN Departamento de Computacion

Page 109: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

7. Validacion del metodo propuesto 91

7.2. Diseno experimental

En el diseno de experimentos realizamos un proceso de planeacion de pruebas paraobtener datos apropiados, los cuales fueron analizados mediante metodos estadısticos, conel proposito de producir conclusiones validas y objetivas.

La metodologıa que empleamos usa 3 principios basicos: obtencion de replicas, aleato-rizacion y eleccion de factores.

La obtencion de replicas se refiere a la repeticion de ejecuciones del algoritmo. Esteproceso permitio obtener una estimacion para determinar si las diferencias observa-das en los resultados son estadısticamente significativas. Ademas, permitio calcularuna estimacion precisa de las variaciones en los resultados de las soluciones optimasde acuerdo a la ecuacion (7.5).

La aleatorizacion, por su parte, se refiere al uso de variables aleatorias independien-tes. Esto se implemento mediante el uso de diferentes semillas en cada una de lasejecuciones del algoritmo.

La eleccion de factores y sus niveles. Establecimos parametros con un valor fijo yotros que variaran sus valores en ciertos intervalos, como se observa mas adelante yen el capıtulo 7 con el analisis de varianza.

En cada algoritmo generamos una posible solucion optima al conjunto de problemas.Por lo tanto, el experimento consistio en efectuar 100 ejecuciones independientes, con di-ferente semilla inicial para el generador de numeros aleatorios de cada algoritmo.

Una vez realizadas las ejecuciones para un determinado problema obtuvimos 100 solu-ciones, las cuales conformaron nuestro conjunto de datos experimentales. Posteriormente,se aplico un analisis estadıstico al conjunto y se presentaron los siguientes datos, para cadafuncion y cada algoritmo.

La mejor y la peor solucion del conjunto de soluciones.

La mediana, que es el valor que divide la distribucion de datos ordenados en dospartes. Por ejemplo, la mediana de los valores (1 1 1 2 3 4 5) es de 2. Si el numero dedatos es par, la muestra tiene dos valores centrales, y la mediana se encuentra porinterpolacion entre ellas o mediante la seleccion de uno de ellos arbitrariamente.

La media aritmetica o valor medio que se denota por la ecuacion (7.4). Es la suma detodos los valores de la muestra dividida por el numero de valores n.

µ 1

n

n

i1

fip~xq (7.4)

La desviacion estandar es la medida mas comun de dispersion en torno a la mediade una distribucion. Se define como la raız cuadrada de la varianza. La varianzarepresenta la media aritmetica de las desviaciones, con respecto a la media, elevadas

CINVESTAV-IPN Departamento de Computacion

Page 110: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

92 7. Validacion del metodo propuesto

al cuadrado. Si se considera la coleccion completa de datos (poblacion en su totalidad)obtenemos la varianza poblacional. Por el contrario, si solo consideramos una muestrade la poblacion, obtenemos una varianza muestral. En las ecuaciones (7.5) y (7.6)se muestra la definicion matematica para la varianza poblacional y la desviacionestandar, respectivamente.

σ2 1

n

n

i1

p fip~xq µq2 (7.5)

σ bpσq (7.6)

La media del numero de soluciones factibles (en la poblacion), de la ultima iteracionen cada una de las 100 ejecuciones.

La media del numero mınimo de iteraciones para alcanzar una solucion optima.Esto es, si f pxq f pxq ¤ ǫ, donde ǫ 0.00001 es un factor que indica el error relativoa cada solucion del problema.

7.3. Parametros de control

Consideramos un parametro de control como aquel factor que varıa de acuerdo a ciertosrangos establecidos. Nuestra propuesta utiliza los siguientes parametros:

Para el mecanismo de busqueda global (evolucion diferencial):

• F: probabilidad de mutacion.

• C: probabilidad de cruza.

De acuerdo al algoritmo original (sin restricciones) en el que se baso esta propuesta,se establece que ambos parametros toman un valor de 0.9.

Para el mecanismo de busqueda local (cruza SPX):

• ǫ: tasa de expansion o contraccion en el simplex.

• np: numero de soluciones para generar el vecindario.

Para el mecanismo de manejo de restricciones (jerarquıas estocasticas):

• P f : tasa de balance para establecer prioridad de ordenamiento respecto a lafuncion objetivo y la funcion de penalizacion.

Otros parametros como:

• pob: numero de soluciones (poblacion) que evolucionan en cada iteracion delalgoritmo.

• gen: numero de iteraciones (generaciones) que realiza el algoritmo.

• F. penalizacion. Es la funcion de penalizacion que involucra a todas las funcionesde restriccion del problema.

CINVESTAV-IPN Departamento de Computacion

Page 111: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

7. Validacion del metodo propuesto 93

• R: de la propuesta de la literatura denominada LEDE [1] se refiere a un factor depenalizacion para el proceso de manejo de restricciones.

Los valores establecidos para cada parametro de control en los algoritmos de la litera-tura especializada se definieron de acuerdo a la fuente original de consulta. Los valoresen los parametros de nuestra propuesta (AMER) se establecieron con base en pruebas ex-haustivas. La tabla 7.3 muestra el valor para cada parametro. El valor para el numero totalde evaluaciones de la funcion objetivo EFO, se define de acuerdo a las referencias de cadapropuesta.

Parametros. SR MCODE LEDE AMER

F. penalizacionm°

j1

maxt0, g jpxqu2;m°

j1

|g jpxq|; m°j1

maxt0, g jpxqu; m°j1

maxt0, g jpxqu2;

poblacion (pob) 200 40 101 70generaciones (gen) 1,750 2,000 2,500 2,500tasa mutacion (F) ——- 0.8 autoadaptable 0.9tasa recombinacion (C) ——- 0.8 0.9 0.9tasa balance (Pf) 0.45 ——- ——- 0.45penalizacion (R) ——- ——- 10,000 —-tasa de expansion (ǫ) ——- ——- ——- 1.3eval. fun. obj. (EFO) 350,000 242,000 255,000 180,000

Tabla 7.3: Resumen de los valores utilizados en cada parametro de los 4 algoritmos: je-rarquıas estocasticas (SR) [76], evolucion diferencial con cooperacion co-evolutiva (MCO-DE) [29], exploracion local basada en evolucion diferencial (LEDE) [1] y nuestra propuesta,denominada algoritmo memetico para espacios restringidos (AMER). EFO se refiere alnumero total de evaluaciones de la funcion objetivo.

7.4. Resultados experimentales

Las estadısticas mencionadas en la seccion de diseno experimental y los diagramas quea continuacion describimos forman parte de los resultados experimentales de este trabajode tesis. Hacemos referencia en cada uno de los algoritmos por sus siglas como sigue:jerarquıas estocasticas (SR), evolucion diferencial con cooperacion co-evolutiva (MCODE),exploracion local basada en evolucion diferencial (LEDE1 y LEDE2) y nuestra propuesta,denominada algoritmo memetico para espacios restringidos(AMER). Los diagramas quese presentan son:

Diagrama de caja.

Graficas de convergencia.

Histogramas.

Diagramas de caja.

CINVESTAV-IPN Departamento de Computacion

Page 112: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

94 7. Validacion del metodo propuesto

El diagrama de caja es un medio muy util para representar datos. En dicho diagrama,los valores mınimo y maximo, los cuartiles inferior y superior (percentiles 25 y 75, respecti-vamente) y la mediana (percentil 50) se representa en una caja rectangular alineada ya seahorizontal o verticalmente. La caja se extiende del cuartil inferior al superior, y es atrave-sada de un lado al otro por la mediana. A partir de los extremos de la caja se extienden laslıneas (”bigotes”) hasta los valores mınimo y maximo. Ademas representa posibles valoresatıpicos en el conjunto de datos (ver figura 7.2).

conjunto de datos experimentales

A

C

D

F

E

Diagrama de Caja

B

−0.4

−0.2

0.0

0.2

0.4

0.6

Figura 7.2: Esquema de un diagrama de caja. A valores atıpicos, B valor maximo, C cuartilsuperior, D mediana, E cuartil inferior, F valor mınimo.

En el apendice B.1 mostramos los diagramas de caja del conjunto de datos experimen-tales (100 ejecuciones independientes) de cada algoritmo, el eje y representa el valor de lafuncion objetivo, mientras que el x hace mencion a los algoritmos que comparamos.

En la figura 7.3 se presentan los resultados para el problema g17. Puede observarse queSR, a pesar de no presentar varianza en las soluciones, cae en un mınimo local. Por otrolado, LEDE en su version 1 presenta varias soluciones como valores atıpicos y MCODEal igual que AMER se aproximan al valor del optimo global en su mediana, pero el valormınimo de AMER es el valor optimo del problema.

Graficas de convergencia.

Generamos graficas de convergencia a partir de 30 ejecuciones independientes, me-diante el calculo del valor promedio de las soluciones en un determinado numero degeneraciones (epocas). Graficamos en el eje de las abcisas (x) el numero de evaluaciones dela funcion objetivo de acuerdo a las generaciones y en el eje de las ordenadas (y) el valorde la funcion objetivo.

CINVESTAV-IPN Departamento de Computacion

Page 113: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

7. Validacion del metodo propuesto 95

Figura 7.3: Una comparacion de los diagramas de caja de cada algoritmo para el problema17. La lınea roja muestra el valor de la solucion optima.

En el apendice B.2 se presenta una comparacion de las graficas de convergencia de los4 algoritmos memeticos para espacios restringidos en cada uno de los 22 problemas.

En la figura 7.5 se aprecia la evolucion de los 4 algoritmos de acuerdo al numero deevaluaciones de la funcion objetivo. Nuestra propuesta presenta el mejor comportamientoen este problema, aunque no converge tan rapido como LEDE1, LEDE2 y MCODE, lograllegar a la solucion optima antes de caer en un optimo local. En esta grafica la convergenciapara los algoritmos LEDE1 y LEDE 2 es la misma.

-0.8

-0.75

-0.7

-0.65

-0.6

-0.55

-0.5

-0.45

-0.4

-0.35

-0.3

20 40 60 80 100 120 140

f(x)

Eval. f(x) (x1000)

’AMER2’’MCODE2’’LEDE1_2’’LEDE2_2’

Figura 7.4: Grafica de convergencia en los 4 algoritmos memeticos para espacios restringi-dos (MCODE, LEDE1, LEDE2 y AMER) para el problema g02.

CINVESTAV-IPN Departamento de Computacion

Page 114: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

96 7. Validacion del metodo propuesto

Histogramas.

En un histograma se representa la tendencia central de la dispersion y la forma generalde la distribucion de los datos. Un histograma se construye dividiendo el eje horizontalen intervalos (por lo regular de la misma longitud) y trazando sobre el jesimo intervaloun rectangulo con area proporcional a n j (el numero de observaciones que caen en eseintervalo).

En la figura 7.5 se presenta el histograma de frecuencias de nuestra propuesta para elproblema g13. Puede observarse que las frecuencias no se ajustan a una distribucion normal.

Figura 7.5: histograma de las frecuencias de las soluciones en AMER para el problema g13.

7.4.1. Estudio comparativo

Para realizar nuestro estudio comparativo se empleo la version en lınea de jerarquıasestocasticas (SR) proporcionada por su autor en el lenguaje de computo cientıfico Matlab.Este modelo solo resuelve 13 de las 22 funciones de prueba; por lo tanto, agregamos las9 funciones restantes. Los algoritmos memeticos: evolucion diferencial con cooperacionco-evolutiva (MCODE) y exploracion local basada en evolucion diferencial (LEDE), en susdos versiones, fueron implementados en lenguaje C y su poblacion inicial fue generada dela misma forma que en nuestra propuesta (mediante hipercubos latinos).

Los resultados se agrupan en una tabla comparativa (7.4) que muestra los resultadosestadısticos de cada uno de los modelos.

CINVESTAV-IPN Departamento de Computacion

Page 115: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

7. Validacion del metodo propuesto 97

De acuerdo a las referencias de cada modelo el numero de evaluaciones de la funcionobjetivo esta definido de la siguiente manera: SR utiliza 355,00, MCODE 242,000 y LEDE255,000, mientras que nuestra propuesta solo requiere de 180,000 evaluaciones.

A partir del conjunto de resultados obtenidos de los experimentos realizados con los 5algoritmos se realizo una comparativa de acuerdo a la diferencia de cada posible solucionoptima f p~xq y el optimo real conocido f p~xq. Graficamos estos valores con diagramas decaja, donde puede apreciarse la robustez de nuestra propuesta al resolver el conjunto delas 22 funciones (ver figura 7.6).

Figura 7.6: Diagramas de caja de las diferencias de la solucion optima conocida f p~xq y lasposibles soluciones que proporciona cada algoritmo f p~xq.

En la tabla 7.4 presentamos valores resaltados con negritas, los cuales se refieren al me-jor valor de los 5 algoritmos. Aquellos resultados que no aparecen en la tabla son porqueel algoritmo no convergio a una solucion factible y no se aproximan al optimo global. Esdecir, solo consideramos las ejecuciones exitosas.

De acuerdo a los resultados estadısticos presentados, podemos observar que nuestrapropuesta resuelve el conjunto de funciones de forma exitosa, ya que nunca se queda es-tancada en un optimo local, como le ocurre en varios problemas a MCODE. A pesar de queSR y LEDE tienen una menor desviacion estandar en algunos problemas, estos algoritmosfallan en problemas como g16, g17, g21 y g23. Ademas, AMER presenta un porcentaje desoluciones factibles de 100 % en todos los casos.

Los problemas en los que AMER presenta mayor valor de la desviacion estandar song05, g17, g21 y g23, los cuales se resuelven en el capıtulo 8 al ajustar el valor de los parame-tros, mediante un analisis de varianza.

Es importante mencionar que AMER supera en media, mediana, desviacion estandar,mejor y peor solucion a los demas algoritmos en 13 de las 22 funciones de prueba, y no

CINVESTAV-IPN Departamento de Computacion

Page 116: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

98 7. Validacion del metodo propuesto

presenta diferencias significativas en los demas casos.

7.4.2. Efecto del buscador local

Uno de los principales objetivos de esta tesis fue corroborar que el uso de un busca-dor local mejora el desempeno de un algoritmo. Por lo tanto, modificamos el algoritmopropuesto eliminando la etapa de busqueda local, y realizamos los mismos experimentosmencionados anteriormente (100 ejecuciones independientes), con las mismas semillas pa-ra la generacion de numeros aleatorios que en la propuesta original.

Generamos las graficas de convergencia (ver tabla 7.4.2) que muestran la forma en queevoluciona una y otra version del algoritmo, haciendose evidente la superioridad y el be-neficio de un algoritmo que acople de manera adecuada un mecanismo de busqueda local.En el apendice A.3 se muestran las graficas de convergencia de los 22 problemas.

En la tabla 7.6 presentamos los resultados estadısticos de las dos versiones y comproba-mos que en 19 de los 22 problemas AMER en su version original es mejor que en la versiondonde no se usa el buscador local. En los 3 problemas restantes la version sin buscadorlocal unicamente mejora el valor de la desviacion estandar mınimamente.

Para realizar un estudio mas completo, en la tabla 7.4.2 presentamos otras estadısticasde la version con buscador local. En nuestro conjunto de datos experimentales calculamosel porcentaje de soluciones factibles de acuerdo al numero de soluciones factibles que setienen en la ultima generacion de cada ejecucion. Ademas, calculamos el numero mınimode evaluaciones de la funcion objetivo que se requieren para converger al optimo globaly finalmente mostramos el porcentaje de mejoras despues de usar el buscador local, esdecir del numero total de llamadas al mecanismo de busqueda local, contamos en cuantasocasiones se mejoro a la solucion base.

CINVESTAV-IPN Departamento de Computacion

Page 117: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

7. Validacion del metodo propuesto 99

Prob. Estadist SR MCODE LEDE1 LEDE2 AMEREFO 350,000 242,000 255,000 255,000 180,000

mejor -15.0 -15.0 -15.0 -15.0 -15.0g01 mediana -15.0 -15.0 -15.0 -15.0 -15.0

-15.0 media -15.0 -14.941395 -14.376875 -14.2025 -15.0desv.est. 0.0 0.255401 0.981845 1.017718 0.0

peor -15.0 -13.828125 -10.65625 -11.28125 -15factibles 100 % 100 % 100 % 100 % 100 %evalmin 149,600 89,983 146,991 158,223 85,856

mejor -0.803516 -0.803618 -0.803619 -0.803619 -0.803618g02 mediana -0.782996 -0.743684 -0.60664 -0.60664 -0.770397

-0.803619 media -0.778025 -0.733693 -0.606603 -0.606603 -0.761270desv.est. 2.3E-02 5.51E-02 0.105017 0.105017 3.3E-02

peor -0.712949 0.003045 0.011028 0.011028 -0.671374factibles 100 % 100 % 100 % 100 % 100 %evalmin 237,600 ———- 255,000 255,000 180,000mejor -1.000 -1.000499 -1.0005001 -1.0005001 -1.0005001

g03 mediana -1.000 -0.380903 -1.0005001 -1.0005001 -1.000492-1.0005001 media -1.000 -0.375746 -1.0005 -0.998551 -0.999010

desv.est. 1.9E-04 0.216069 9.949875 1.93E-02 7.04E-03peor -1.000 -0.023192 -1.0005 -0.806045 -0.961216

factibles 100 % 97 % 100 % 100 % 100 %evalmin 219,800 ———- 120,396 143,337 173,002

mejor -30665.539 -30665.538671 -30665.538671 -30665.538671 -30665.538671g04 mediana -30665.539 -30665.538671 -30665.538671 -30665.538671 -30665.538671

-30665.538671 media -30665.331 -30665.538671 -30665.538671 -30665.538671 -30665.538671desv.est. 1.3 7.28E-12 7.28E-12 7.28E-12 7.28E-12

peor -30653.396 -30665.538671 -30665.538671 -30665.538671 -30665.538671factibles 100 % 100 % 100 % 100 % 100 %evalmin 84,600 39,244 40,994 40,408 59,286

mejor 5126.497 5126.496714 5126.496714 ————- 5126.496714g05 mediana 5127.632 5126.496714 5126.496714 5065.704566 5126.496714

5126.496714 media 5130.752 5126.675293 5126.56589 ————– 5126.947831desv.est. 7.1 1.776839 0.254565 1048.184 4.658087

peor 5159.492 5144.354627 5128.068055 5450.900752 5141.989532factibles 99 % 100 % 100 % 36 % 100 %evalmin 51,800 27,503 158,446 237,958 157,985mejor -6961.814 -6961.813875 -6961.813875 -6961.813875 -6961.813875

g06 mediana -6961.814 -6961.813875 -6961.813875 -6961.813875 -6961.813875-6961.813875 media -6882.753 -6960.596535 -6961.813875 -6961.813875 -6961.813875

desv.est. 1.7E+02 12.11238 5.45E-12 5.45E-12 2.72E-12peor -6263.125 -6840.079871 -6961.813875 -6961.813875 -6961.813875

factibles 100 % 100 % 100 % 100 % 100 %evalmin 121,800 19,601 19,634 21,297 22,403

mejor 24.309 24.306209 24.306209 24.306209 24.306209g07 mediana 24.365 24.306268 24.306209 24.306209 24.306221

24.306209 media 24.397 24.311116 24.306209 24.306209 24.306293desv.est. 1.2E-01 4.41E-02 7.57-07 9.14E-07 1.79E-04

peor 25.158 24.750366 24.306215 24.306218 24.306933factibles 100 % 100 % 100 % 100 % 100 %evalmin 142,400 240,000 255,000 250,803 178,207mejor -0.095825 -0.0958250414 -0.0958250414 -0.0958250414 -0.0958250414

g08 mediana -0.095825 -0.0958250414 -0.0958250414 -0.0958250414 -0.0958250414-0.0958250415 media -0.095825 -0.0958250414 -0.0958250414 -0.0958250414 -0.0958250414

desv.est. 3.0E-17 4.16E-17 4.16E-17 4.16E-17 4.16E-17peor -0.095825 -0.0958250414 -0.0958250414 -0.0958250414 -0.0958250414

factibles 100 % 100 % 100 % 100 % 100 %evalmin 79,600 240,000 255,000 255,000 78,700

CINVESTAV-IPN Departamento de Computacion

Page 118: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

100 7. Validacion del metodo propuesto

Prob. Estadist SR MCODE LEDE1 LEDE2 AMEREFO 350,000 242,000 255,000 255,000 180,000

mejor 680.630 680.630057374 680.630057374 680.630057374 680.630057374g09 mediana 680.643 680.630057374 680.630057374 680.630057374 680.630057374

680.630057374 media 680.657 680.630057650 680.630057374 680.630057374 680.630057374desv.est. 3.7E-02 8.11E-07 4.54E-13 4.54E-13 5.68E-13

peor 680.798 680.630062031 680.630057374 680.630057374 680.630057374factibles 100 % 100 % 100 % 100 % 100 %evalmin 114,400 221,959 44,886 45,621 53,616

mejor 7049.362 7049.2480231 7049.2456988 7049.2480205 7049.2480205g10 mediana 7308.123 7049.2506298 7049.2480384 7049.2480209 7049.2480633

7049.24802052 media 7431.718 7050.0327685 7049.2484410 7049.2480558 7049.2482797desv.est. 4.0E+02 5.1339 1.73E-03 1.03E-04 6.15E-04

peor 9178.518 7091.2260265 7049.2599387 7049.2485324 7049.2507597factibles 100 % 100 % 100 % 100 % 100 %evalmin 228,400 ———- 248,022 244,906 179,950mejor 0.750 0.7499 0.7499 0.7499 0.7499

g11 mediana 0.750 0.7499 0.7499 0.7499 0.74990.7499 media 0.750 0.753125 0.749899 0.749899 0.749899

desv.est. 2.9E-04 1.98E-02 1.77E-15 1.77E-15 1.11E-16peor 0.753 0.922890 0.7499 0.7499 0.7499

factibles 100 % 100 % 100 % 100 % 100 %evalmin 16,000 19,988 25,152 28,027 30,677

mejor -1.0 -1.0 -1.0 -1.0 -1.0g12 mediana -1.0 -1.0 -1.0 -1.0 -1.0-1.0 media -1.0 -1.0 -1.0 -1.0 -1.0

desv.est. 0.0 0.0 0.0 0.0 0.0peor -1.0 -1.0 -1.0 -1.0 -1.0

factibles 100 % 100 % 100 % 100 % 100 %evalmin 14,400 5,626 10,481 10,485 10,984

mejor 0.053942 0.053941514 0.053941514 0.053941514 0.053941514g13 mediana 0.055061 0.438802607 0.438802607 3.62E+22 0.438802607

0.053941514 media 0.093398 0.26628848 0.345125387 6.09E+38 0.331740272desv.est. 1.1E-01 0.196880 0.202528 6.03E+39 0.162748

peor 0.441809 0.666596478 0.999999998 6.06E+40 0.586825517factibles 100 % 98 % 100 % 30 % 100 %evalmin 66,400 203,441 247,473 252,844 178,786mejor -47.756 -47.764880 -47.764888 -47.764888 -47.764888

g14 mediana -47.489 -47.725303 -47.757635 -47.744158 -47.764845-47.76488845 media -47.432 -47.563182 -47.698232 -47.432159 -47.736939

desv.est. 2.5E-01 0.350616 0.131304 0.809345 0.128721peor -46.709 -46.058498 -46.970433 -43.175205 -46.719956

factibles 100 % 100 % 100 % 84 % 100 %evalmin 248,000 ————- 255,000 255,000 178,476

mejor 961.715 961.715022 961.715022 961.715022 961.715022g15 mediana 961.716 961.715022 961.715022 961.715512 961.715022

961.7150222899 media 961.727 961.726270 962.525543 962.515159 961.715760desv.est. 3.6E-02 7.19E-02 1.274311 1.266436 3.56E-03

peor 962.016 962.266722 966.712703 967.981741 961.734847factibles 100 % 100 % 100 % 100 % 100 %evalmin 37,000 71,843 168688.43 186,633 76,691mejor —— -1.9051552 -1.9051552 -1.9051552 -1.9051552

g16 mediana —— -1.9051552 -1.9051552 -1.9051552 -1.9051552-1.9051552586 media —— -1.9051552 -1.9051552 -1.9051552 -1.9051552

desv.est. —— 1.77E-15 1.77E-15 1.77E-15 1.33E-15peor —— -1.9051552 -1.9051552 -1.9051552 -1.9051552

factibles 0 % 100 % 100 % 100 % 100 %evalmin —— 240,000 255,000 255,000 148,307

CINVESTAV-IPN Departamento de Computacion

Page 119: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

7. Validacion del metodo propuesto 101

Prob. Estadist SR MCODE LEDE1 LEDE2 AMEREFO 350,000 242,000 255,000 255,000 180,000

mejor 9037.512 8853.533874 8853.533874 ———- 8853.533874g17 mediana 9061.612 8867.712477 8928.037827 ———- 8913.737242

8853.5396748 media 9071.548 8895.791052 8926.138622 ———- 8899.960982desv.est. 3.2E+01 40.756952 70.880665 ———- 36.999861

peor 9206.596 8991.541114 9225.310583 ———- 8951.245730factibles 100 % 100 % 100 % 0 % 100 %evalmin 75,800 224,578 245,710 ———– 180,000

mejor -0.866 -0.86602540 -0.86602540 -0.86602540 -0.86602540g18 mediana -0.866 -0.86602540 -0.86602540 -0.86602540 -0.86602540

-0.8660254038 media -0.775 -0.80869711 -0.80887251 -0.80871072 -0.8596571desv.est. 1.3E-01 8.75E-02 9.10E-02 8.75E-02 3.42E-02

peor -0.369 -0.67480185 -0.50000000 -0.67486887 -0.67498108factibles 99 % 100 % 100 % 100 % 100 %evalmin 135,800 240000 255,000 255,000 115,592mejor 33.026 32.65559916 32.65604796 32.65568535 32.65570696

g19 mediana 34.298 32.66002390 32.77152798 32.78120648 32.7436301132.6555929502 media 34.524 32.70564325 32.88966567 32.86238124 32.80925845

desv.est. 1.1 0.115734 0.314603 0.228500 0.155246peor 38.499 33.40959739 34.44596299 33.74305549 33.20651337

factibles 100 % 100 % 100 % 100 % 100 %evalmin 240,200 242,000 255,000 255,000 180,000

mejor —— 193.72451 193.72451 193.72451 193.72451g21 mediana —— 193.72451 193.72451 265.9657262 193.72451

193.7245100700 media —— 231.2670730 229.7260339 253.9543500 204.80409desv.est. —— 53.717300 54.985011 56.459864 30.100436

peor —— 324.703787 324.702841 330.440790 324.702841factibles 0 % 100 % 96 % 100 % 100 %evalmin —— 181,060 188,252 217,581 169,271

mejor —— -400.0550858 -400.0551000 -683.2805323 -400.0543932g23 mediana —— -345.7214344 -327.4867220 -283.7895982 -371.8092445

-400.0551000000 media —— -307.3926895 -239.6527288 -209.9972935 -364.1425693desv.est. —— 108.031126 144.590138 181.104037 31.567149

peor —— 179.650350 -0.071326 267.894016 -288.0700031factibles 0 % 100 % 100 % 79 % 100 %evalmin —— 240,000 255,000 255,000 180,000

mejor -5.508 -5.50801327 -5.50801327 -5.50801327 -5.50801327g24 mediana -5.508 -5.50801327 -5.50801327 -5.50801327 -5.50801327

-5.5080132716 media -5.508 -5.50801327 -5.50801327 -5.50801327 -5.50801327desv.est. 7.1E-15 8.88E-15 8.88E-15 8.88E-15 8.88E-16

peor -5.508 -5.50801327 -5.50801327 -5.50801327 -5.50801327factibles 100 % 100 % 100 % 100 % 100 %evalmin 23,200 237,602 255,000 255,000 27,597

Tabla 7.4: Comparacion de los resultados estadısticos de los 5 algoritmos para las 22 fun-ciones de prueba. Consideramos el numero de evaluaciones de la funcion objetivo f ,requeridas para la solucion factible p~x, f p~xqq. Factibles se refiere al porcentaje del valorpromedio de soluciones factibles en el conjunto de datos experimentales y evalmin es elvalor promedio de evaluaciones mınimas que se requieren para que el algoritmo alcanceuna solucion f p~xq ǫ, donde ǫ es el error porcentual de estimacion al optimo global. Seaprecia que los resultados resaltados en negritas son los mejores de los 5 algoritmos.

CINVESTAV-IPN Departamento de Computacion

Page 120: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

102 7. Validacion del metodo propuesto

-15

-14

-13

-12

-11

-10

-9

5 10 15 20 25

f(x)

generaciones (x100)

’AMER-BL’’AMER’

-0.7

-0.6

-0.5

-0.4

-0.3

-0.2

0 5 10 15 20 25

f(x)

generaciones (x100)

’AMER-BL’’AMER’

g01 g02

Tabla 7.5: Graficas de convergencia que ilustran la evolucion de las dos versiones delalgoritmo con y sin buscador local, para los problemas g01 y g02, siendo evidente lasuperioridad de la propuesta original.

CINVESTAV-IPN Departamento de Computacion

Page 121: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

7. Validacion del metodo propuesto 103

Prob Version mejor mediana media desv. est. peor

g01 SBL -14.999946 -14.999805 -14.999823 9.91E-05 -14.999427CBL -15.0 -15.0 -15.0 0.0 -15.0

g02 SBL -0.716864 -0.630202 -0.623580 3.37E-02 -0.545416CBL -0.803618 -0.770397 -0.761270 3.30E-02 -0.671374

g03 SBL -0.835070 -0.273257 -0.256595 0.122793 -0.083632CBL -1.0005001 -1.000492 -0.999010 7.04E-03 -0.961216

g04 SBL -30665.538671 -30665.538671 -30665.538671 7.27E-12 -30665.538671CBL -30665.538671 -30665.538671 -30665.538671 7.28E-12 -30665.538671

g05 SBL 5126.496714 5153.272313 5131.352670 47.776368 5312.815637CBL 5126.496714 5126.496714 5126.947831 4.658087 5141.989532

g06 SBL -6961.813875 -6961.813875 -6961.813875 5.45E-12 -6961.8138CBL -6961.813875 -6961.813875 -6961.813875 2.72E-12 -6961.813875

g07 SBL 24.336617 24.364586 24.362005 1.44E-02 24.413607CBL 24.306209 24.306221 24.306293 1.79E-04 24.306922

g08 SBL -0.095825 -0.095825 -0.095825 4.16E-17 -0.095825CBL -0.095825 -0.095825 -0.095825 4.16E-17 -0.095825

g09 SBL 680.630057 680.630057 680.630057 2.21E-10 680.630057CBL 680.630057 680.630057 680.630057 5.68E-13 680.630057

g10 SBL 7050.313660 7052.712113 7052.632264 1.187864 7056.516780CBL 7049.248021 7049.248063 7049.248279 6.15E-04 7049.250759

g11 SBL 0.74990 0.749899 0.74990 1.17E-15 0.74990CBL 0.7499 0.7499 0.749899 1.11E-16 0.7499

g12 SBL -1.0 -1.0 -1.0 0.0 -1.0CBL -1.0 -1.0 -1.0 0.0 -1.0

g13 SBL 0.346487 0.851239 0.912186 0.153820 0.999510CBL 0.053941 0.438802 0.331740 0.162748 0.5868255

g14 SBL -47.757573 -47.632699 -47.666634 0.112765 -47.074625CBL -47.764888 -47.764845 -47.736939 0.128721 -46.719956

g15 SBL 961.715022 961.767409 961.715022 0.170656 962.834229CBL 961.715022 961.715022 961.722444 3.56E-03 961.734847

g16 SBL -1.905155 -1.905155 -1.905155 1.77e-15 -1.905155CBL -1.9051552 -1.905155 -1.905155 1.33E-15 -1.905155

g17 SBL 8854.615355 8949.925175 8950.020171 58.898262 9176.291456CBL 8853.533874 8913.737242 8899.960982 36.999861 8951.24573

g18 SBL -0.864304 -0.861477 -0.861748 1.83E-03 -0.856906CBL -0.866025 -0.866025 -0.8596571 3.42E-02 -0.674981

g19 SBL 35.864368 38.325524 38.312506 1.045887 41.130285CBL 32.655706 32.743630 32.809258 0.155246 33.206513

g21 SBL 193.724531 193.724775 207.171716 35.419985 324.718339CBL 193.724510 193.7245210 204.80409 30.100436 324.702841

g23 SBL -256.175340 41.072467 31.582880 152.277016 483.158431CBL -400.0543932 -371.8092445 -364.1425693 31.567149 -288.070003

g24 SBL -5.508013 -5.508013 -5.508013 8.88e-15 -5.508013CBL -5.508013 -5.508013 -5.508013 8.88E-16 -5.508013

Tabla 7.6: Resultados estadısticos que muestran la influencia que tiene un buscador localadaptado a un mecanismo de busqueda global. SBL significa el algoritmo AMER sin el usodel buscador local y CBL se refiere a la propuesta original. Se utilizo la misma semilla dealeatorios para generar las soluciones.

CINVESTAV-IPN Departamento de Computacion

Page 122: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

104 7. Validacion del metodo propuesto

Prob. Estadist mejor mediana media desv. est. peor

factibles 100 % 100 % 100 % 0 100 %g01 evalmin 998 1151 1155.09 53.56 1322

mejoras 95.0 % 94.0 % 93.61 % 0.7986 91.0 %factibles 100 % 100 % 100 % 0 100 %

g02 evalmin 2500 2500 2500 0 2500mejoras 98.0 % 97.0 % 97.42 % 0.5134 96.0 %factibles 100 % 100 % 99.2 % 7.81 21.4 %

g03 evalmin 1494 2500 2400.03 209.33 2500mejoras 98.0 % 82.0 % 75.38 % 18.21 0.0 %

factibles 100 % 100 % 100 % 0 100 %g04 evalmin 700 777 775.51 27.40 843

mejoras 90.0 % 88.0 % 87.6 % 1.01 85.0 %

factibles 100 % 100 % 100 % 0 100 %g05 evalmin 523 2500 2185.5 643.30 2500

mejoras 85.0 % 47.0 % 53.24 % 15.80 31.0 %factibles 100 % 100 % 100 % 0 100 %

g06 evalmin 216 251 248.61 11.85 272mejoras 91.0 % 89.0 % 88.89 % 0.85 87.0 %

factibles 100 % 100 % 100 % 0 100 %g07 evalmin 1918 2500 2474.39 94.57 2500

mejoras 97.0 % 96.0 % 95.57 % 0.93 89.0 %

factibles 100 % 100 % 100 % 0 100 %g08 evalmin 24 42 41.29 5.81 52

mejoras 100.0 % 99.0 % 99.09 % 0.2861 99.0 %factibles 100 % 100 % 100 % 0 100 %

g09 evalmin 860 979 980.23 53.72 1096mejoras 98.0 % 93.0 % 91.75 % 4.48 77.0 %

factibles 100 % 100 % 100 % 0 100 %g10 evalmin 2429 2500 2499.29 7.06 2500

mejoras 96.0 % 94.0 % 94.04 % 0.7472 92.0 %

factibles 100 % 100 % 100 % 0 100 %g11 evalmin 116 391 381.1 115.13 619

mejoras 75.0 % 70.0 % 69.31 % 3.20 59.0 %

CINVESTAV-IPN Departamento de Computacion

Page 123: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

7. Validacion del metodo propuesto 105

Prob. Estadist mejor mediana media desv. est. peorfactibles 100 % 100 % 100 % 0 100 %

g12 evalmin 64 86 85.49 8.89 103mejoras 99.0 % 99.0 % 99 % 0 99.0 %

factibles 100 % 100 % 100 % 0 100 %g13 evalmin 1766 2500 2482.66 103.14 2500

mejoras 87.0 % 82.0 % 81.53 % 2.44 74.0 %

factibles 100 % 100 % 100 % 0 100 %g14 evalmin 1591 2500 2478.23 112.08 2500

mejoras 92.0 % 89.0 % 88.66 % 1.11 86.0 %

factibles 100 % 100 % 100 % 0 100 %g15 evalmin 279 727 1024.15 697.21 2500

mejoras 92.0 % 83.0 % 81.75 % 7.02 51.0 %factibles 100 % 100 % 100 % 0 100 %

g16 evalmin 551 620 618.68 27.05 674mejoras 96.0 % 94.0 % 94.07 % 0.73 92.0 %

factibles 100 % 100 % 100 % 0 100 %g17 evalmin 2500 2500 2500 0 2500

mejoras 87.0 % 81.0 % 81.09 % 1.95 77.0 %

factibles 100 % 100 % 100 % 0 100 %g18 evalmin 1174 1456 1508.45 277.57 2500

mejoras 94.0 % 92.0 % 92.1 % 0.7937 90.0 %factibles 100 % 100 % 100 % 0 100 %

g19 evalmin 2500 2500 2500 0 2500mejoras 97.0 % 96.0 % 95.49 % 0.6556 94.0 %

factibles 100 % 100 % 100 % 0 100 %g21 evalmin 1807 2500 2346.73 200.98 2500

mejoras 88.0 % 84.0 % 83.53 % 1.81 78.0 %

factibles 100 % 100 % 100 % 0 100 %g23 evalmin 2500 2500 2500 0 2500

mejoras 87.0 % 84.0 % 83.63 % 1.59 79.0 %factibles 100 % 100 % 100 % 0 100 %

g24 evalmin 92 125 122.82 10.43 142mejoras 97.0 % 96.0 % 95.95 % 0.7123 94.0 %

Tabla 7.7: Resultados estadısticos de nuestra propuesta, se muestran el porcentaje de so-luciones factibles, las evaluaciones mınimas que se requieren para converger al optimoglobal de acuerdo a un valor de error porcentual y el porcentaje en mejoras que se obtienendespues de usar el buscador local.

CINVESTAV-IPN Departamento de Computacion

Page 124: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

106 7. Validacion del metodo propuesto

CINVESTAV-IPN Departamento de Computacion

Page 125: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

Capıtulo 8

Analisis estadıstico

En una serie de experimentos podemos analizar e interpretar los datos estadısticos conla finalidad de tomar decisiones a partir de la informacion muestral de las poblaciones.

Para tomar decisiones es conveniente hacer determinados supuestos o conjeturas acercade las poblaciones que se estudian. Tales supuestos que pueden ser o no ciertos se llamanhipotesis estadısticas y, en general, son sobre las distribuciones de probabilidad de las po-blaciones.

Por ejemplo, si queremos decidir si un procedimiento es mejor que otro, se formula lahipotesis de que no hay diferencia entre los procedimientos. Dichas hipotesis son llamadashipotesis nulas. Cualquier hipotesis que difiere de una hipotesis dada se llama hipotesisalternativa [11].

En otras palabras, se requiere de un estudio estadıstico cuando en los experimentosevaluados se presentan frecuencias o repeticiones con ciertas caracterısticas que requierende un diagnostico para corroborar hipotesis dadas.

En este capıtulo presentamos dos metodos para el analisis estadıstico, uno relacionadocon el analisis de varianza (ANOVA) y otro que se enfoca al remuestreo de los datosestadısticos iniciales para establecer intervalos de confianza y para estimar la distribucionde dichos datos (BOOTSTRAP).

8.1. Ajuste de parametros de control

Todo analisis sigue una serie de pasos, como son: establecer perfiles, separar en grupos,determinar influencias entre varias variables, entre otros.

Cuando en un experimento se involucran diversas variables que estan relacionadas,resulta importante modelar y explorar esta relacion. Supongamos que hay una sola varia-ble dependiente o de respuesta y que depende de k variables independientes, por ejemplox1, x2, ..., xk. Es comun que la relacion entre estas variables se desconozca. Una alternativaque nos permite conocerla es el analisis de varianza, el cual es un metodo con una seriede experimentos que ayuda a determinar que factores son importantes con dicha respuesta.

Los parametros de control para nuestra propuesta son los que mencionamos en laseccion 7.3 de esta tesis. Mediante la variacion de cada uno de ellos, veremos un analisisde varianza en la respuesta (variable dependiente) como se describe a continuacion.

107

Page 126: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

108 8. Analisis estadıstico

8.1.1. Analisis de varianza (ANOVA)

En muchas situaciones existe la necesidad de conocer el significado de las diferenciasentre tres o mas medias muestrales, o lo que es equivalente a ensayar la hipotesis nuladonde las medias muestrales son iguales.

Para llevar a cabo el analisis de varianza (ANOVA) desarrollamos un experimento deun factor donde se obtuvieron mediciones para a grupos independientes de muestras, don-de el numero de medias en cada grupo es de b. Es decir, a ejecuciones independientes condiferentes valores de parametros, cada uno de las cuales tiene b repeticiones o replicas condiferente semilla para la generacion de aleatorios.

Los resultados de este experimento pueden apreciarse en una tabla de la figura 8.1.En el esquema se presentan a filas y b columnas. Aquı x jk denota la media en la fila j y lacolumna k, donde j 1, 2, ..., a; k 1, 2, ..., b

ejecuciones repeticiones

ejecucion 1 x11 x12 ... x1b

ejecucion 2 x21 x22 ... x2b

.

.

.

.

.

.

ejecucion a xa1 xa2 ... xab

x1

x2

xa

Figura 8.1: Tabla de experimentos para el analisis de varianza

Denotamos por x j la media de las medidas de las fila j. Y tenemos que:

x j 1

b

b

k1

x jk j 1, 2, ..., a (8.1)

Los valores x j se denominan medias de grupo.

El metodo de ANOVA que implementamos fue para determinar la sensibilidad de losparametros de control de nuestra propuesta sobre un subconjunto de las funciones deprueba.

De acuerdo a la experimentacion y los intervalos establecidos para cada parametrode nuestro algoritmo, observamos que ciertas funciones no presentaban variaciones sig-nificativas en la variable de respuesta (el valor de la funcion objetivo) mientras que otrassı presentaban una mayor sensibilidad o en algunos casos no llegaban al optimo global.

CINVESTAV-IPN Departamento de Computacion

Page 127: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

8. Analisis estadıstico 109

Los problemas a estudiar mediante el metodo de ANOVA fueron: g02, g03, g05, g07,g13, g19, g21 y g23.

Los parametros (factores) que analizamos fueron: F (la probabilidad de mutacion), C(la probabilidad de recombinacion), ǫ (la tasa de expansion o contraccion para el simplex)np, (el numero de soluciones para generar el vecindario), P f (la tasa para el manejo derestricciones), pob (el numero de individuos en la poblacion) y Gmax (numero maximo degeneraciones).

Los niveles para cada parametro se definieron como sigue:

F: 0.8, 0.9, 0.99

C: 0.6,0.8, 0.9

ǫ: 0.9, 1.0, 1.3

P f : 0.4, 0.45, 0.5

pob: 60, 70, 80

np: 3, 4

Gmax: 2500, 3000

Se realizaron 30 ejecuciones independientes para cada una de las 972 combinaciones devalores de parametros y para cada uno de los 8 problemas, obteniendo un total de 233,280ejecuciones de nuestro algoritmo.

El metodo de ANOVA que implementamos llevo a cabo los siguientes pasos:

Por cada ejecucion se obtuvo la diferencia entre el valor del optimo global y el mejorvalor encontrado de acuerdo a | f p~xq f p~xq|.Se obtuvo la media de cada diferencia obtenida por cada experimento (972 valores).

De acuerdo a cada uno de los 8 problemas se identificaron los mejores valores deparametros para alcanzar el optimo global

Se identificaron aquellos valores de los parametros que permitieran obtener los me-jores resultados en el conjunto completo de funciones de prueba.

Los resultados obtenidos prueban que no se cumple con la hipotesis nula, ya que lasvariaciones para cada experimento no presentan el mismo valor de media. Se concluye quedel conjunto completo de funciones de prueba, aquellas que presentan mayor sensibilidada la variacion de parametros son g02, g03, g13, g21 y g23. Ademas, calculamos el porcentajede ejecuciones que logro converger al optimo global, estableciendose un 1 % de error por-centual e identificamos los mejores valores de los parametros. En la tabla 8.1 presentamosdichos resultados.

Por ultimo, identificamos los mejores valores de los parametros que resolvıan con unamayor precision todo el conjunto de prueba. Estos valores fueron: F 0.8, C 0.9, ǫ 0.9,np 4, P f 0.45, pob 80, Gmax 2500.

CINVESTAV-IPN Departamento de Computacion

Page 128: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

110 8. Analisis estadıstico

Funcion F C ǫ np Pf pob Gmax Ep

g02 0.4 0.6 0.99 80 4 1.0 3000 3.08 %g03 0.5 0.9 0.99 80 4 1.0 3000 2.26 %g05 0.4 0.9 0.8 80 4 0.9 2500 97.11 %g07 0.5 0.9 0.8 80 4 0.9 3000 100.0 %g13 0.5 0.8 0.9 80 4 1.3 3000 0.0 %g19 0.4 0.9 0.8 80 4 1.0 3000 65.43 %g21 0.45 0.9 0.8 70 3 1.0 3000 5.24 %g23 0.45 0.9 0.8 80 4 0.9 3000 0.92 %

Tabla 8.1: Resultados obtenidos a partir del metodo de ANOVA. F, C, ǫ, np, P f , pob, Gmax

son los mejores valores para los parametros de cada problema y Ep es el porcentaje delpromedio de ejecuciones exitosas estableciendo un 1 % de error porcentual.

8.2. Resultados obtenidos con ajuste de parametros

A partir del ajuste de parametros mediante el metodo de ANOVA, presentamos nue-vamente las mismas estadısticas planteadas en la seccion en 7.4.2. En la tabla 8.2 puedeobservarse una mejora en los problemas g17, g19, g21, g23. Sin embargo, empeoran los valo-res de la media y desviacion estandar de los problemas g02, g03, g05 aunque se mantienenconstantes los resultados de los demas problemas. Lo anterior prueba que es difıcil esta-blecer un solo valor de los parametros para resolver el conjunto completo de funciones, yaque mientras unos problemas se solucionan con un cierto valor en otros casos estos valoresobtienen un desempeno pobre.

CINVESTAV-IPN Departamento de Computacion

Page 129: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

8. Analisis estadıstico 111

Prob mejor mediana media desv. est. peor

g01 -15.0 -15.0 -15.0 0 -15.0g02 -0.8036188 -0.7428514 -0.731844215 5.85e-02 -0.4875701g03 -1.0005000 -0.3163272 -0.388349397 0.2275 -0.1050999g04 -30665.5386717 -30665.5386717 -30665.5386717 7.27e-12 -30665.5386717g05 5126.496714 5126.496714 5127.2443680 5.8858 5183.251575g06 -6961.8138755 -6961.8138755 -6961.81387558 5.45e-12 -6961.8138755g07 24.3062090 24.3062090 24.306209218 7.22e-07 24.3062153g08 -0.0958250 -0.0958250 -0.0958250 4.16e-17 -0.0958250g09 680.6300573 680.6300573 680.630057378 6.17e-10 680.6300573g10 7049.2480205875 7049.2480237968 7049.24802589383 7.51e-06 7049.2480798153g11 0.7499 0.7499 0.74989999 1.77e-15 0.7499g12 -1 -1 -1 0 -1g13 0.05394151 0.43880260 0.388846572 0.1648 0.85612552g14 -47.7648884 -47.7648884 -47.76488841 2.52e-07 -47.7648863g15 961.71502229 961.71502229 961.7156441234 0.004e-03 961.75475784g16 -1.90515525 -1.90515525 -1.90515525 1.77e-15 -1.90515525g17 8853.53847439 8861.63800765 8894.122487980 39.6332 8957.63249965g18 -0.86602540 -0.86602540 -0.8660254036 2.81e-10 -0.86602540g19 32.65559426 32.65639423 32.6637106789 2.81e-02 32.87554421g21 193.7245100 193.7245101 201.968307836 24.2364 290.1950741g23 -400.0550365 -398.0397053 -393.253349847 8.7068 -363.9486188g24 -5.5080132 -5.5080132 -5.5080132716 8.88e-15 -5.5080132

Tabla 8.2: Resultados estadısticos del conjunto de funciones despues del ajuste de parame-tros.

8.3. Metodo de remuestreo (BOOTSTRAP)

El metodo de Bootstrap surge por primera vez en una publicacion de Bradley Efronen 1979 [19], donde introduce una metodologıa para estimar las distribuciones de algunasestadısticas cuando el tamano muestral es pequeno o las expresiones de dichas distribu-ciones son analıticamente intratables. Desde entonces numerosos autores han desarrolla-do metodos de bootstrap para diversos procedimientos inferenciales, tales como modelosde regresion, datos censurados, construccion de intervalos de confianza y estimacion deparametros, entre otros.

Los metodos de bootstrap se basan en la reproduccion de los datos originales medianteun remuestreo. Si nuestras observaciones tienen una estructura de dependencia, esta debeestar reflejada en los nuevos datos. Este metodo de remuestreo se usa para estimar o apro-ximar la distribucion muestral de una estadıstica, basado en los principios de sustituciony aproximacion numerica.

Supongamos que los valores de un muestreo son el resultado de variables aleatoriasdistribuidas identicamente e independientemente Y1, . . . ,Yn las cuales son denotadas porf y F, que corresponde a la funcion de densidad de probabilidad y a la funcion de densidadacumulada, respectivamente.

CINVESTAV-IPN Departamento de Computacion

Page 130: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

112 8. Analisis estadıstico

El muestreo es utilizado para hacer inferencia acerca de las caracterısticas de la pobla-cion, generalmente denotada por θ usando una estadıstica T la cual tiene el valor t en elmuestreo. Asumimos que en el momento de escoger T esta debe ser una estimacion paraθ [14].Las observaciones se centran en la probabilidad de la distribucion de T. Por ejemplo, cual esla tendencia (sesgo), cual el error estandar, cuales son las distancias intercuartiles y cualesson los valores probables bajo una cierta hipotesis nula de interes.

Cuando no hay un modelo matematico disponible, el analisis estadıstico es no pa-rametrico y usa solo el hecho de que las variables aleatorias Y j son independientes eigualmente distribuidas. De hecho, incluso si hay un modelo parametrico plausible, unanalisis no parametrico puede ser util para evaluar la solidez de las conclusiones extraıdasde un analisis parametrico.

El algoritmo 23 muestra el procedimiento basico de bootstrap para K remuestreos, em-pleando una muestra S de tamano n con la cual se busca una distribucion muestral paraun estimador θ del parametro de la poblacion θ. Este un procedimiento que nos permitedeterminar distribuciones para varias estadısticas, por ejemplo: la media, la varianza, ladistancia inter-cuartil, etc.

Algoritmo 23: Algoritmo basico de bootstrap

begin1

for i 1, ...,K do2

Generar una remuestra Si

de la muestra original de S con reemplazo, igual3

probabilidad y mismo tamano. Calcular el valor θi

de la estadıstica de Si

Los valores θ1, ..., θ

Kcomponen la distribucion muestral de bootstrap4

end5

Nuestro estudio se centro en un procedimiento de bootstrap basico con 1000 remues-treos, a partir de un conjunto de 100 muestras independientes.

El procedimiento de bootstrap se llevo a cabo usando el lenguaje de programacion R1

en su version 2.12.0 (para Mac OS X 10.5, Leopard).

8.3.1. Intervalos de confianza

Una vez que se prueba si la hipotesis nula µ1 µ2 se cumple, suele ser mas interesanteconocer la diferencia entre esas medias, lo que se refiere a proporcionar un intervalo que seespera contenga el valor del parametro o de los parametros bajo estudio. Estos intervalosse conocen como intervalos de confianza.

1Desarrollado por Robert Gentleman y Ross Ihaka del Departamento de Estadıstica de la Universidad deAuckland en 1993

CINVESTAV-IPN Departamento de Computacion

Page 131: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

8. Analisis estadıstico 113

Con el objeto de definir un intervalo de confianza supongamos que θ es un parametrodesconocido. Para obtener una estimacion del intervalo de θ se necesita la determinacionde dos estadısticas L y U de manera que se cumpla la probabilidad de la ecuacion (8.2)

PpL ¤ θ ¤ Uq 1 α (8.2)

L ¤ θ ¤ U (8.3)

El intervalo de la ecuacion (8.3) se denomina intervalo de confianza de 100p1 αq porciento para el parametro θ. Para interpretar este intervalo debe tomarse en cuenta que si enmuestras aleatorias repetidas, se considera un gran numero de estos intervalos, el 100p1αqpor ciento de ellos contendra el valor verdadero de θ. Las estadısticas L y U se conocencomo los lımites superior e inferior de confianza, respectivamente, y 1 α se denominacoeficiente de confianza. La ecuacion (8.2) se llama intervalo de confianza del 95 % para θsi α 0.05. Hay que notar que los intervalos de confianza poseen una interpretacion defrecuencia.

En la figura 8.2 se ilustra el calculo de los intervalos de confianza.

0.95 1.0 1.05 1.1 1.5

µ

σ

Intervalo de confianza

percentil 2.5 percentil 97.5

Distribucion muestral de bootstrap

Figura 8.2: Distribucion de bootstrap

Los pasos que sigue el metodo de bootstrap para el calculo de intervalos de confianzason:

1. Construir una distribucion a partir de K muestras de bootstrap para una estadıstica u.

2. Ordenar los valores en la distribucion.

CINVESTAV-IPN Departamento de Computacion

Page 132: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

114 8. Analisis estadıstico

3. El lımite inferior de el 100p12αq porciento de intervalos de confianza es el Kαesimovalor, y el lımite superior es el Kp1 αqesimo valor en la distribucion ordenada.

Las tablas 8.3 y 8.4 presentan los intervalos de confianza de las 22 funciones de pruebapara cada uno de los algoritmos analizados en esta tesis. Se resaltan en negritas aquellosintervalos que contienen el valor optimo de cada problema.

Funcion Optimo SR MCODE LEDE1

g01 -15 (-15, -15 ) (-15.00, -14.89 ) (-14.57, -14.20 )g02 -0.8036191 (-0.7210, -0.7094) (-0.7448, -0.7236 ) (-0.6274, -0.5864 )g03 -1.00050 (-0.999479,-0.999479) (-0.4160, -0.3311 ) (-1.0005, -1.0005 )

g04 -30665.538 (-30665.54, -30665.54) (-30665.54, -30665.54 ) (-30665.54 , -30665.54 )

g05 5126.4967 (5126.497,5126.497) (5126, 5127 ) (5126.56, 5127 )

g06 -6961.8138 (-6961.814,-6961.814) (-6963, -6959 ) (-6962, -6961.81 )g07 24.306209 (24.31, 24.32 ) (24.30, 24.32 ) (24.30, 24.31 )

g08 -0.0958250 (-0.095825, -0.095825) (-0.095825, -0.095825 ) (-0.095825, -0.095825 )

g09 680.63005 (680.6311,680.6311) (680.63, 680.63 ) (680.63,680.63 )

g10 7049.248 (7055, 7079 ) (7049, 7051 ) (7049.248, 7049.248 )

g11 0.7499 ( 0.7499, 0.7499 ) ( 0.7487, 0.7561 ) ( 0.7499, 0.7499 )

g12 -1 ( -0.9998, -0.9997 ) (-1, -1 ) (-1, -1 )

g13 0.0539415 ( 0.0539, 0.0543 ) ( 0.2275, 0.3052 ) ( 0.3048, 0.3803 )g14 -47.764888 (-47.73, -47.70 ) (-47.63, -47.50 ) (-47.73, -47.68 )g15 961.71502 (961.752, 961.752 ) (961.7263, 961.7263) (962.3, 962.8 )g16 -1.9051552 (-1.2833, -0.3152 ) (-1.905155, -1.905155 ) (-1.905155 , -1.905155 )

g17 8853.5396 (9036, 9041 ) (8887, 8904 ) (8911, 8939 )g18 -0.8660254 (-0.866021, -0.866021 ) (-0.8259, -0.7915 ) (-0.8277, -0.7918 )g19 32.655592 (33.07, 33.17 ) (32.68, 32.73 ) (32.82, 32.95 )g21 193.72451 ————– (220.8, 241.9 ) (218.8, 240.5 )g23 -400.0551 ————– (-328.8, -287.9 ) (-267.0, -210.9 )g24 -5.508013 (-5.508013, -5.508013 ) (-5.508013 , -5.508013 ) (-5.508013 , -5.508013 )

Tabla 8.3: Intervalos de confianza de las 22 funciones de prueba para los algoritmos SR(jerarquizacion estocastica), MCODE (evolucion diferencial con cooperacion co-evolutiva)y LEDE1 (exploracion local basada en evolucion diferencial en su version 1).

En la tabla 8.5 se muestra para cada una de las funciones, la media y desviacion estandarde nuestra propuesta, despues de aplicar el procedimiento de bootstrap para 1000 remues-treos y un intervalo de confianza de 95 %.

La distribucion muestral de bootstrap puede visualizarse en histogramas de frecuencia ygraficas de cuantil que se ajustan a una distribucion normal y que establecen el intervalo deconfianza resultado de este metodo (ver apendice B.5). La tabla 8.6 muestra estos graficospara las funciones g10 y g12, donde puede apreciarse un ajuste a una distribucion normala diferencia de los histogramas presentados en el apendice B.4, esto para el primer caso. Sehace notar que en g12, nuestros datos estadısticos no presentan una variacion significativamostrando un valor constante en las graficas.

CINVESTAV-IPN Departamento de Computacion

Page 133: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

8. Analisis estadıstico 115

Funcion Optimo LEDE2 AMER

g01 -15 (-14.41, -14.00 ) (-15, -15 )

g02 -0.8036191 (-0.6270, -0.5855 ) (-0.7432, -0.7210 )g03 -1.00050 (-1.0024, -0.9966 ) (-0.4318, -0.3409 )g04 -30665.538 (-30665.54 , -30665.54 ) (-30665.54 , -30665.54 )

g05 5126.4967 (4202, 4600 ) (5126, 5128 )

g06 -6961.8138 (-6961.814, -6961.814 ) (-6961.814, -6961.814 )

g07 24.306209 (24.306, 24.31 ) (24.30622, 24.30622 )

g08 -0.0958250 (-0.09582504, -0.09582504 ) (-0.09582504, -0.09582504 )

g09 680.63005 (680.63,680.63 ) (680.63,680.63 )

g10 7049.248 (7049.248, 7049.248 ) (7049.248, 7049.248 )

g11 0.7499 ( 0.7499, 0.7499 ) ( 0.7499, 0.7499 )

g12 -1 (-1, -1 ) (-1, -1 )

g13 0.0539415 ————– ( 0.3559, 0.4201 )g14 -47.764888 (-47.60, -47.29 ) (-47.76486, -47.76 )g15 961.71502 (962.3, 962.8 ) (961.715, 961.715 )

g16 -1.9051552 (-1.905155 , -1.905155 ) (-1.905155, -1.905155 )

g17 8853.5396 (5601, 6395 ) (8887, 8901 )g18 -0.8660254 (-0.8259, -0.7915 ) (-0.8660254, -0.866 )

g19 32.655592 (32.82, 32.91 ) (32.66, 32.67 )

g21 193.72451 (243.1, 265.1 ) (196-7, 206.4 )g23 -400.0551 (-248.1, -174.6 ) (-395.1, -391.7 )g24 -5.508013 (-5.508013 , -5.508013 ) (-5.508013 , -5.508013 )

Tabla 8.4: Intervalos de confianza de las 22 funciones de prueba para los algoritmos LEDE2(exploracion local basada en evolucion diferencial en su version 2) y AMER (algoritmomemetico para espacios restringidos).

CINVESTAV-IPN Departamento de Computacion

Page 134: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

116 8. Analisis estadıstico

Prob. Estadist SR MCODE LEDE1 LEDE2 AMER

g01 media -15 -14.9414 -14.3768 -14.2025 -15-15.0 desv.est. 0 0.0256 0.0949 0.1021 0

g02 media -0.715428 -0.733692 -0.606603 -0.606603 -0.7318442-0.803619 desv.est. 0.0029 0.0054 0.0104 0.0105 0.0056

g03 media -0.999479 -0.375746 -1.0005 -0.998551 -0.388394-1.0005001 desv.est. 0 0.0214 9.98E-13 0.0019 0.0228

g04 media -30665.54 -30665.54 -30665.54 -30665.54 -30665.54-30665.538671 desv.est. 0 0 0 0 0

g05 media 5126.497 5126.675 5126.566 4385.473 5127.2445126.496714 desv.est. 5.23E-06 0.1742 0.0242 105.2458 0.0283

g06 media -6961.814 -6960.597 -6961.814 -6961.814 -6961.814-6961.813875 desv.est. 0 1.2287 0 0 0

g07 media 24.31265 24.31112 24.30621 24.30621 24.3062124.306209 desv.est. 0.0021 0.0043 7.27E-08 9.00E-08 7.23E-08

g08 media -0.095825 -0.095825 -0.095825 -0.095825 -0.095825-0.0958250415 desv.est. 0 0 0 0 0

g09 media 680.6311 680.63 680.63 680.63 680.63680.630057374 desv.est. 0.0005 8.18E-08 0 0 0

g10 media 7069.193 7050.033 7049.248 7049.248 7049.2487049.24802052 desv.est. 6.5266 0.4971 0.0001 1.06E-05 7.83E-07

g11 media 0.7499 0.7531254 0.7499 0.7499 0.74990.7499 desv.est. 2.75E-09 0.0020 0 0 0

g12 media -0.999762 -1 -1 -1 -1-1.0 desv.est. 1.46E-05 0 0 0 0

g13 media 0.05413312 0.2662885 0.3451254 —— 0.3888460.053941514 desv.est. 0.0001 0.0194 0.0194 —— 0.01611

g14 media -47.71481 -47.56318 -47.69823 -47.43216 -47.76489-47.76488845 desv.est. 0.0088 0.0348 0.0126 0.0782 2.46E-08

g15 media 961.7152 961.7263 962.5255 962.5152 961.715961.7150222899 desv.est. 0.0001 0.0072 0.1242 0.1273 4.41E-04

g16 media -0.637914 -1.905155 -1.905155 -1.905155 -1.905155-1.9051552586 desv.est. 0.3265 0 0 0 0

g17 media 9039.09 8895.791 8926.139 5995.146 8894.1228853.5396748 desv.est. 1.4717 4.1429 7.3410 201.6275 3.7993

g18 media -0.866021 -0.8086971 -0.8088725 -0.8087107 -0.8660254-0.8660254038 desv.est. 8.37E-07 0.0088 0.0090 0.0088 2.74E-11

g19 media 33.1182 32.70564 32.88967 32.86238 32.6637132.6555929502 desv.est. 0.0261 0.0112 0.0327 0.0220 0.0028

g21 media —– 231.2671 229.726 253.9544 201.9683193.72451007 desv.est. —– 5.3602 5.6394 5.6439 2.4197

g23 media —– -307.3927 -239.6527 -209.9973 -393.2533-400.0551000 desv.est. —– 10.57446 14.72521 18.42314 0.8475

g24 media -5.508013 -5.508013 -5.508013 -5.508013 -5.508013-5.5080132716 desv.est. 0 0 0 0 0

Tabla 8.5: Media y desviacion estandar de la funcion objetivo de nuestra propuesta, calcu-lada a traves de un procedimiento de bootstrap con 1000 remuestreos.

CINVESTAV-IPN Departamento de Computacion

Page 135: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

8. Analisis estadıstico 117

Histograma de densidad y grafica de cuantiles

g10

g12

Tabla 8.6: Histograma de densidad y graficas de cuantiles de las soluciones despues deaplicar metodo de bootstrap con 1000 remuestreos para las funciones g10 y g12

CINVESTAV-IPN Departamento de Computacion

Page 136: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

118 8. Analisis estadıstico

CINVESTAV-IPN Departamento de Computacion

Page 137: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

Capıtulo 9

Conclusiones y trabajo futuro

9.1. Conclusiones

Los algoritmos evolutivos (AEs) son procedimientos iterativos de busqueda, que surgie-ron como una alternativa para dar solucion a problemas de optimizacion que comunmenteson intratables mediante metodos matematicos clasicos. Estos algoritmos exploran de for-ma estrategica el espacio de busqueda con el fin de encontrar soluciones optimas globales.El espacio de busqueda de las soluciones puede ser discreto, continuo, multidimensionalo estar restringido por otras funciones. Buscar buenas soluciones en espacios con estascaracterısticas implica utilizar tecnicas mas eficientes de exploracion.

La solucion de problemas definidos en espacios restringidos requiere incorporar al AEalgun mecanismo para el manejo de restricciones. En esta tesis se abordaron diversas tecni-cas, siendo la mas competitiva la denominada jerarquıas estocasticas (JE), la cual estableceun metodo de ordenamiento de las soluciones de acuerdo a un balance que da prioridada minimizar la funcion objetivo o minimizar el grado de violacion de las funciones derestriccion. Ademas, esta tecnica no incorpora coeficientes de penalizacion dependientesdel problema lo cual facilita su uso.

El proposito de cualquier AE es incrementar la velocidad de convergencia hacia lassoluciones optimas globales, es decir, disminuir el tiempo de computo sea mınimo. Paraobtener informacion del costo computacional, se utiliza como medida estandar el numerode evaluaciones de la funcion objetivo (EFO). Esta medida fue empleada para la compa-racion de esta propuesta y los algoritmos estudiados de la literatura, siendo el algoritmopresentado en esta tesis el que utiliza el menor numero de EFO (180,000 y 205,000 en elcaso de ajuste de parametros).

Algunas propuestas que intentan acelerar la convergencia hacia optimos globales, sonlos metodos llamados algoritmos memeticos (AMs), cuya idea se basa en la combinacion demecanismos de busqueda global y busqueda local. Mientras el primer mecanismo exploratodo el espacio de busqueda del problema el otro mecanismo explota una determinada re-gion, denominada vecindario, con la finalidad de refinar las soluciones. Sin embargo estaspropuestas tienden a converger a optimos locales, por lo que es indispensable mantenerun correcto balance entre ambos mecanismos.

Uno de los procedimientos de busqueda global estudiado y elegido para esta propuestaes el algoritmo de evolucion diferencial (ED), que ha mostrado ser robusto en la solucionde una amplia gama de problemas, maneja codificacion real y solo usa dos parametros decontrol. Realiza la diferencia entre vectores para perturbar un tercer vector de la poblacion.

119

Page 138: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

120 9. Conclusiones y trabajo futuro

Esta diferencia es escalada por un factor, y el vector final permite guiar la busqueda en unadeterminada direccion.

Se presentaron buscadores locales basados en metodos de busqueda directa e indirectay en heurısticas y operadores geneticos basados en vecindarios, siendo esta ultima cate-gorıa donde recae el operador simplex SPX que usa esta propuesta. Este operador generaun vecindario a partir de la construccion de un nsimplex, donde n es un determinadonumero de soluciones. El algoritmo selecciona estrategicamente estas soluciones de acuer-do al ordenamiento que proporciona JE, escogiendo a los mejores y peores individuos delordenamiento. En otras palabras, explota los vecindarios de las mejores y peores solucio-nes, con la finalidad de encontrar una nueva solucion que minimice el valor de la funcionobjetivo y el valor de la funcion de penalizacion.

Se estudio detalladamente el artıculo de Noman e Iba [66]. Ellos propusieron un algorit-mo hıbrido de ED y SPX para problemas de optimizacion mono-objetivo sin restricciones.Se corroboro que esta propuesta acelera la convergencia de ED hasta en un 80 %, ademasde mantener esta eficacia aun escalando las funciones de prueba. Por lo tanto, se plan-teo una primera hipotesis al disenar e implementar un algoritmo memetico que usaraestos mismos mecanismos y extrapolara este comportamiento de convergencia a proble-mas mono-objetivo con restricciones.

Se empleo un conjunto de 22 problemas de optimizacion con restricciones, los cualespresentaban diversas caracterısticas, por ejemplo: tipos de funciones (cuadratica, lineal,no lineal, polinomial, cubica), numero de variables, numero de funciones de igualdad ydesigualdad, o diferente tasa entre la region factible y el espacio de busqueda. Esta diver-sidad de caracterısticas crea un universo de espacios de busqueda, lo cual complica que unalgoritmo resuelva todas las funciones.

En resumen, la propuesta de AM para espacios restringidos se compone de un mecanis-mo de busqueda global basado en ED en su version rand/1/bin; un metodo para el manejode restricciones, JE, que ordena las soluciones de acuerdo a la minimizacion de la funcionobjetivo y la minimizacion de la funcion de penalizacion; un procedimiento de busquedalocal basado en el operador de cruza SPX, el cual explota dos vecindarios definidos porlas n mejores y las n peores soluciones de cada generacion. En cada iteracion estos tresmecanismos son ejecutados.

La estrategia de reemplazo usada para ED y SPX se establecio de acuerdo a tres reglas:si se tienen dos soluciones, una factible y otra infactible, se tiene preferencia por aquellaque es factible; si las dos son infactibles, se selecciona aquella que viole en menor grado lasfunciones de restriccion y si ambas son soluciones factibles se prefiere a la de menor valorde la funcion objetivo.

Para comprobar la eficacia de la propuesta se realizo un estudio comparativo con cua-tro algoritmos representativos del estados del arte tomados de la literatura especializada.Estos algoritmos fueron jerarquıas estocasticas (SR) y los AMs: evolucion diferencial con

CINVESTAV-IPN Departamento de Computacion

Page 139: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

9. Conclusiones y trabajo futuro 121

cooperacion co-evolutiva (MCODE) y exploracion local basada en evolucion diferencial(LEDE), en sus dos versiones. Para SR se uso la version en lınea del autor, desarrollada enel software Matlab. Este solo tenıa 13 de las 22 funciones empleadas, por lo que se imple-mentaron las demas. Los algoritmos MCODE y LEDE fueron implementados en lenguaje C.

Se realizaron una serie de experimentos con el fin de validar el rendimiento de lapropuesta y los otros algoritmos con respecto a los cuales se comparan resultados. Losexperimentos consistieron en realizar 100 ejecuciones independientes (diferente semilla)para cada una de las funciones del conjunto de problemas.

De esta comparacion se observa que el algoritmo SR en ciertos problemas queda es-tancado en optimos locales o no encuentra soluciones factibles, como fue el caso de losproblemas g16, g21 y g23. Los algoritmos MCODE y LEDE, por su parte, presentaban unaconvergencia rapida hacia el optimo global, lo cual en ciertos casos producıa perdida dediversidad en las soluciones provocando una convergencia prematura a optimos locales.En el caso de g17, LEDE divergıa.

Se realizo un analisis estadıstico con las medidas de tendencia central que se incluyenen el calculo de la media, la mediana, la desviacion estandar y el valor mınimo y maximode los conjuntos de datos estadısticos obtenidos. Tambien se estudio el efecto que producıael uso del buscador local en la propuesta.

Se utilizaron graficos de caja e histogramas de frecuencia en las soluciones, con el objeti-vo de apreciar la distribucion de los datos. Ademas, se obtuvieron graficas de convergenciapara comparar el comportamiento entre los algoritmos, ası como del efecto que produce eluso del buscador local en la propuesta. Puede observarse en las graficas de convergenciacomo se aceleran cada uno de los metodos a partir del uso de un buscador local. Sin em-bargo, puede verse que usar este tipo de procedimientos hace caer facilmente en optimoslocales. Esto se considero evidentemente como una desventaja para encontrar la solucionoptima global.

De acuerdo a los resultados presentados en la seccion 7.4.1, en la p.g. 93, se observaque la propuesta es consistente en la solucion de los diversos problemas. Sin embargo,presenta ciertos problemas para determinadas funciones. Por lo tanto, se desarrollaronprocedimientos de computo intensivo. Uno de estos fue el metodo de analisis de varianzaANOVA que permitio obtener un ajuste de los parametros y proporciono informacion acer-ca de la influencia que tiene cada uno de los parametros de la propuesta en su desempenoal resolver cada problema.

Se aplico el metodo de bootstrap, el cual permitio obtener aproximaciones a distribucio-nes muestrales, establecer los intervalos de confianza con un 5 % de error y conocer a partirde 1000 remuestreos la media y desviacion estandar de los datos estadısticos.

De los resultados experimentales se concluye que la propuesta es robusta al obtenerclaramente mejores resultados en todo el conjunto de problemas.

CINVESTAV-IPN Departamento de Computacion

Page 140: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

122 9. Conclusiones y trabajo futuro

9.2. Trabajo a futuro

Como parte del trabajo a futuro de esta tesis se contemplan diversos aspectos detalladosa continuacion:

Explorar otros mecanismos de busqueda global, (p. ej. el algoritmo de cumulos departıculas) y observar su comportamiento al hibridizarse con el buscador local SPX.

Realizar un estudio a fondo de la influencia del factor de expansion y contraccion elbuscador local SPX.

Examinar la resolucion de otros conjuntos de funciones de prueba para optimizacioncon restricciones e identificar en que tipo de problemas es buena la propuesta.

Presentar un estudio detallado de las caracterısticas que hacen que un determinadobuscador local sea mejor que otros en algunos problemas.

Acoplar algun mecanismo autoadaptativo que ejecute el mecanismo de busquedalocal para determinadas epocas, es decir una determinada frecuencia de uso.

Autoadaptar los parametros que presentan mayor sensibilidad en la respuesta de lasolucion de los problemas para que se encuentren las soluciones optimas globales delconjunto completo de funciones.

Extender la propuesta del AM que combina ED y SPX a problemas de optimizacionmultiobjetivo.

CINVESTAV-IPN Departamento de Computacion

Page 141: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

Apendice A

Funciones de prueba

g01

Minimizar f p~xq 54°

i1xi 5

13°i5

x2i 13°

i15xi sujeto a:

g1p~xq 2x1 2x2 x10 x11 10 ¤ 0

g2p~xq 2x1 2x3 x10 x12 10 ¤ 0

g3p~xq 2x2 2x3 x11 x12 10 ¤ 0

g4p~xq 8x1 x10 ¤ 0

g5p~xq 8x2 x11 ¤ 0

g6p~xq 8x3 x12 ¤ 0

g7p~xq 2x4 x5 x10 ¤ 0

g8p~xq 2x6 x7 x11 ¤ 0

g9p~xq 2x8 x9 x12 ¤ 0

donde los lımites de las variables son: 0 ¤ xi ¤ 1 pi 1, ..., 9q, 0 ¤ xi ¤ 100 pi 10, 11, 12q y 0 ¤ x13 ¤ 1. El optimo global es ~x p1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 1q dondef p~xq 15. Las restricciones g1, g2, g3, g7, g8 y g9 estan activas, en el optimo.

g02

Minimizar f p~xq n°i1

cos4pxiq 2n±

i1cos2pxiqd

n°i1

ix2i

sujeto a:

g1p~xq 0.75 n±i1

xi ¤ 0

g2p~xq n°i1

xi 7.5n ¤ 0

donde n 20 y 0 ¤ xi ¤ 10 pi 1, ..., nq. El optimo global es ~x p3.16246061572185,3.12833142812967, 3.09479212988791, 3.06145059523469, 3.02792915885555, 2.99382606701730,2.95866871765285, 2.92184227312450, 0.49482511456933, 0.48835711005490, 0.48231642711865,

123

Page 142: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

124 A. Funciones de prueba

0.47664475092742, 0.47129550835493, 0.46623099264167, 0.46142004984199, 0.45683664767217,0.45245876903267, 0.44826762241853, 0.44424700958760, 0.44038285956317q , y el f p~xq 0.80361910412559. La restriccion g1 esta casi activa pg1 108q.

g03

Minimizar f p~xq p?nqn n±i1

xi sujeto a:

h1p~xq n°i1

x2i 1 0

donde n 10 y 0 ¤ xi ¤ 1 pi 1, ...., nq. El optimo global es ~x p0.31624357647283069,0.316243577414338339, 0.316243578012345927, 0.316243575664017895, 0.316243578205526066,0.31624357738855069, 0.316243575472949512, 0.316243577164883938,0.316243578155920302,0.316243576147374916q, y el f p~xq 1.00050010001000.

g04

Minimizar f p~xq 5.3578547x23 0.8356891x1x5 37.293239x1 40792.141 sujeto a:

g1p~xq 85.334407 0.0056858x2x5 0.0006262x1x4 0.0022053x3x5 92 ¤ 0

g2p~xq 85.334407 0.0056858x2x5 0.0006262x1x4 0.0022053x3x5 ¤ 0

g3p~xq 80.51249 0.0071317x2x5 0.0029955x1x2 0.0021813x23 110 ¤ 0

g4p~xq 80.51249 0.0071317x2x5 0.0029955x1x2 0.0021813x23 90 ¤ 0

g5p~xq 9.300961 0.0047026x3x5 0.0012547x1x3 0.0019085x3x4 25 ¤ 0

g6p~xq 9.300961 0.0047026x3x5 0.0012547x1x3 0.0019085x3x4 20 ¤ 0

donde 78 ¤ x1 ¤ 102, 33 ¤ x2 ¤ 45 y 27 ¤ xi ¤ 45 pi 3, 4, 5q. La solucion optima es~x p78, 33, 29.9952560256815985, 45, 36.7758129057882073qy f p~xq 30665.53867178332.Dos restricciones pg1 y g6q estan activas, en el optimo.

g05

Minimizar f p~xq 3x1 0.000001x31 2x2 p0.0000023qx3

2sujeto a:

g1p~xq x4 x3 0.55 ¤ 0

g2p~xq x3 x4 0.55 ¤ 0

h3p~xq 1000 senpx3 0.25q 1000 senpx4 0.25q 894.8 x1 0

h4p~xq 1000 senpx3 0.25q 1000 senpx3 x4 0.25q 894.8 x2 0

CINVESTAV-IPN Departamento de Computacion

Page 143: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

A. Funciones de prueba 125

h5p~xq 1000 senpx4 0.25q 1000 senpx4 x3 0.25q 1294.8 0

donde 0 ¤ x1 ¤ 1200, 0 ¤ x2 ¤ 1200, 0.55 ¤ x3 ¤ 0.55 y 0.55 ¤ x4 ¤0.55. La mejor solucion conocida es ~x p679.945148297028709, 1026.06697600004691,0.118876369094410433, 0.39623348521517826q donde f p~xq 5126.4967140071.

g06

Minimizar f p~xq px1 10q3 px2 20q3 sujeto a:

g1p~xq px1 10q2 px2 5q2 100 ¤ 0

g2p~xq px1 6q2 px2 5q2 82.81 ¤ 0

donde 13 ¤ x1 ¤ 100 y 0 ¤ x2 ¤ 100. La solucion optima es ~x p14.09500000000000064,0.8429607892154795668q donde f p~xq 6961.81387558015. Ambas restricciones estan acti-vas, en el optimo.

g07

Minimizar f p~xq x21 x2

2 x1x2 14x1 16x2 px3 10q2 4px4 5q2 px5 3q2

2px6 1q2 5x27 7px8 11q2 2px9 10q2 px10 7q2 45 sujeto a:

g1p~xq 105 4x1 5x2 3x7 9x8 ¤ 0

g2p~xq 10x1 8x2 17x7 2x8 ¤ 0

g3p~xq 8x1 2x2 5x9 2x10 12 ¤ 0

g4p~xq 3px1 2q2 4px2 3q2 2x23 7x4 120 ¤ 0

g5p~xq 5x21 8x2 px3 6q2 2x4 40 ¤ 0

g6p~xq x21 2px2 2q2 2x1x2 14x5 6x6 ¤ 0

g7p~xq 0.5px1 8q2 2px2 4q2 3x25 x6 30 ¤ 0

g8p~xq 3x1 6x2 12px9 8q2 7x10 ¤ 0

donde 10 ¤ xi ¤ 10 pi 1, ..., 10q. La solucion optima es ~x p2.17199634142692,2.3636830416034, 8.77392573913157, 5.09598443745173, 0.990654756560493, 1.43057392853463,1.32164415364306, 9.82872576524495, 8.2800915887356, 8.3759266477347q donde g07p~xq 24.30620906818 Las restricciones pg1, g2, g3, g4, g5 y g6q estan activas, en el optimo.

CINVESTAV-IPN Departamento de Computacion

Page 144: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

126 A. Funciones de prueba

g08

Minimizar f p~xq sen3p2πx1q senp2πx2qx3

1px1x2q sujeto a:

g1p~xq x21 x2 1 ¤ 0

g2p~xq 1 x1 px2 4q2 ¤ 0

donde 0 ¤ x1 ¤ 10 y 0 ¤ x2 ¤ 10. El optimo se localiza en ~x p1.22797135260752599,4.24537336612274885q donde f p~xq 0.0958250414180359.

g09

Minimizar f p~xq px1 10q2 5px2 12q2 x43 3px4 11q2 10x6

5 7x2

6 x4

7 4x6x7

10x6 8x7 sujeto a:

g1p~xq 127 2x21 3x4

2 x3 4x2

4 5x5 ¤ 0

g2p~xq 282 7x1 3x2 10x23 x4 x5 ¤ 0

g3p~xq 196 23x1 x22 6x2

6 8x7 ¤ 0

g4p~xq 4x21 x2

2 3x1x2 2x2

3 5x6 11x7 ¤ 0

donde 0 ¤ xi ¤ 10 for pi 1, ..., 7q. La solucion optima es ~x p2.33049935147405174,1.95137236847114592,0.477541399510615805, 4.36572624923625874,0.624486959100388983,1.03813099410962173, 1.5942266780671519q donde f p~xq 680.630057374402. Dos restriccio-nes estan activas pg1 y g4q, en el optimo.

g10

Minimizar f p~xq x1 x2 x3 sujeto a:

g1p~xq 1 0.0025px4 x6q ¤ 0

g2p~xq 1 0.0025px5 x7 x4q ¤ 0

g3p~xq 1 0.01px8 x5q ¤ 0

g4p~xq x1x6 833.33252x4 100x1 83333.333 ¤ 0

g5p~xq x2x7 1250x5 x2x4 1250x4 ¤ 0

g6p~xq x3x8 1250000 x3x5 2500x5 ¤ 0

donde 100 ¤ x1 ¤ 10000, 1000 ¤ xi ¤ 10000 pi 2, 3q y 10 ¤ xi ¤ 1000 pi 4, ...., 8q. Lasolucion optima es ~x p579.306685017979589, 1359.97067807935605, 5109.97065743133317,182.01769963061534, 295.601173702746792, 217.982300369384632, 286.41652592786852,

CINVESTAV-IPN Departamento de Computacion

Page 145: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

A. Funciones de prueba 127

395.601173702746735q, donde f p~xq 7049.24802052867. Las restricciones pg1, g2 y g3q, estanactivas, en el optimo.

g11

Minimizar f p~xq x21 px2 1q2 sujeto a:

h1p~xq x2 x21 0

donde1 ¤ x1 ¤ 1 y 1 ¤ x2 ¤ 1. La solucion optima es ~x p0.707036070037170616,0.500000004333606807q donde f p~xq 0.7499.

g12

Minimizar f p~xq p100 px1 5q2 px2 5q2 px3 5q2q100 sujeto a:

g1p~xq px1 pq2 px2 qq2 px3 rq2 0.0625 ¤ 0

donde 0 ¤ xi ¤ 10pi 1, 2, 3q y p, q, r 1, 2, ..., 9. La region factibles del espacio debusqueda consta de 93 esferas disjuntas. Un punto px1, x2, x3q es factible si y solo si existep, q, r tal que se cumpla la desigualdad antes indicada. El optimo se localiza en ~x p5, 5, 5qdonde f p~xq 1.

g13

Minimizar f pxq ex1x2x3x4x5 sujeto a:

h1p~xq x21 x2

2 x2

3 x2

4 x2

5 10 0

h2p~xq x2x3 5x4x5 0

h3p~xq x31 x3

2 1 0

donde 2.3 ¤ xi ¤ 2.3 pi 1, 2q y 3.2 ¤ xi ¤ 3.2 pi 3, 4, 5q. La solucion opti-ma es ~x p1.71714224003, 1.59572124049468, 1.8272502406271, 0.763659881912867,0.76365986736498q donde f p~xq 0.053941514041898.

g14

Minimizar f p~xq 10°i1

xipci ln xi10°

j1x j

q sujeto a:

h1p~xq x1 2x2 2x3 x6 x10 2 0

h2p~xq x4 2x5 x6 x7 1 0

CINVESTAV-IPN Departamento de Computacion

Page 146: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

128 A. Funciones de prueba

h3p~xq x3 x7 x8 2x9 x10 1 0

donde los lımites de las variables estan establecidos por 0 ¤ xi ¤ 10 pi 1, ..., 10q yc1 6.089, c2 17.164, c3 34.054, c4 5.914, c5 24.721, c6 14.986, c7 24.1, c8 10.708, c9 26.662, c10 22.179,. La mejor solucion conocida es ~x p0.0406684113216282, 0.147721240492452, 0.783205732104114, 0.00141433931889084,0.485293636780388, 0.000693183051556082, 0.0274052040687766, 0.0179509660214818,0.0373268186859717, 0.0968844604336845q donde f p~xq 47.7648884594915.

g15

Minimizar f p~xq 1000 x21 2x2

2 x2

3 x1x2 x1x3 sujeto a:

h1p~xq x21 x2

2 x2

3 25 0

h2p~xq 8x1 14x2 7x3 56 0

donde los lımites de las variables estan establecidos por 0 ¤ xi ¤ 10 pi 1, 2, 3q. La me-jor solucion conocida es~x p3.51212812611795133, 0.216987510429556135, 3.55217854929179921qdonde f p~xq 961.715022289961.

g16

Minimizar f p~xq 0.000117y14 0.1365 0.00002358y13 0.000001502y16 0.0321y12 0.004324y5 0.0001p c15

c16q 37.48p y2

c12q 0.0000005843y17 sujeto a:

g1p~xq 0.280.72 y5 y4 ¤ 0

g2p~xq x3 1.5x2 ¤ 0

g3p~xq 3496y2

c12 21 ¤ 0

g4p~xq 110.6 y1 62212c17

¤ 0

g5p~xq 213.1 y1 ¤ 0

g6p~xq y1 405.23 ¤ 0

g7p~xq 17.505 y2 ¤ 0

g8p~xq y2 1053.6667 ¤ 0

g9p~xq 11.275 y3 ¤ 0

g10p~xq y3 35.03 ¤ 0

g11p~xq 214.228 y4 ¤ 0

CINVESTAV-IPN Departamento de Computacion

Page 147: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

A. Funciones de prueba 129

g12p~xq y4 665.585 ¤ 0

g13p~xq 7.458 y5 ¤ 0

g14p~xq y5 584.463 ¤ 0

g15p~xq 0.961 y6 ¤ 0

g16p~xq y6 265.916 ¤ 0

g17p~xq 1.612 y7 ¤ 0

g18p~xq y7 7.046 ¤ 0

g19p~xq 0.146 y8 ¤ 0

g20p~xq y8 0.222 ¤ 0

g21p~xq 107.99 y9 ¤ 0

g22p~xq y9 273.366 ¤ 0

g23p~xq 922.693 y10 ¤ 0

g24p~xq y10 1286.105 ¤ 0

g25p~xq 926.832 y11 ¤ 0

g26p~xq y11 1444.046 ¤ 0

g27p~xq 18.766 y12 ¤ 0

g28p~xq y12 537.141 ¤ 0

g29p~xq 1072.163 y13 ¤ 0

g30p~xq y13 3247.039 ¤ 0

g31p~xq 8961.448 y14 ¤ 0

g32p~xq y14 26844.086 ¤ 0

g33p~xq 0.063 y15 ¤ 0

g34p~xq y15 0.386 ¤ 0

g35p~xq 71084.33 y16 ¤ 0

g36p~xq y16 140000 ¤ 0

g37p~xq 2802713 y17 ¤ 0

g38p~xq y17 12146108 ¤ 0

CINVESTAV-IPN Departamento de Computacion

Page 148: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

130 A. Funciones de prueba

donde:

y1 x2 x3 41.6

c1 0.024x4 4.62

y2 12.5c1 12.0

c2 0.0003535x21 0.5311x1 0.08705y2x1

c3 0.052x1 78.0 0.002377y2x1

y3 c2

c3

y4 19.0y3

c4 0.04782px1 y3q p0.1956px1y3q2qx2

0.6376y4 1.594y3

c5 100.0x2

c6 x1 y3 y4

c7 0.950 c4

c5

y5 c6c7

y6 x1 y5 y4 y3

c8 py5 y4q0.995

y7 c8

y1

y8 c8

3798.0

c9 y7 p0.0663y7qy80.3153

y9 96.82c9

0.321y1

y10 1.29y5 1.258y4 2.29y3 1.71y6

y11 1.71x1 0.452y4 0.58y3

c10 12.3752.3

c11 1.75y20.995x1

c12 0.995y10 1998.0

y12 c10x1 c11

c12

y13 c12 1.75y2

y14 3623.0 64.4x2 58.4x3 146312.0py9 x5qc13 0.995y10 60.8x2 48.0x4 0.1121y14 5095.0

CINVESTAV-IPN Departamento de Computacion

Page 149: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

A. Funciones de prueba 131

y15 y13

c13

y16 148000.0 331000.0y15 40.0y13 61.0y15 y13

c14 2324.0y10 28740000.0y2

y17 14130000.0 1328.0y10 531.0y11 c14

c12

c15 y13

y15 y13

0.52

c16 1.104 0.72y15

c17 y9 x5

y donde los lımites de las variables son 704.4148 ¤ x1 ¤ 906.3855, 68.6 ¤ x2 ¤288.88, 0 ¤ x3 ¤ 134.75, 193 ¤ x4 ¤ 287.0966 y 25 ¤ x5 ¤ 84.1988. La mejor solu-cion conocida es x p705.174537070090537, 68.5999999999999943, 102.899999999999991,282.324931593660324, 37.5841164258054832q donde f pxq 1.90515525853479.

g17

Minimizar f p~xq f px1q f px2qdonde:

f px1q " 30x1 0 ¤ x1 30031x1 300 ¤ x1 400

f px2q $&% 28x2 0 ¤ x2 10029x2 100 ¤ x2 200

30x2 200 ¤ x2 1000

sujeto a:

h1p~xq x1 300.0 p px3x4q131.078 q cosp1.48477 x6q p 0.90798x2

3

131.078 q cosp1.47588q 0

h2p~xq x2 p px3x4q131.078 q cosp1.48477 x6q p 0.90798x2

4

131.078 q cosp1.47588q 0

h3p~xq x5 p px3x4q131.078 q senp1.48477 x6q p 0.90798x2

4

131.078 q senp1.47588q 0

h4p~xq 200.0 p px3x4q131.078 q senp1.48477 x6q p 0.90798x2

3

131.078 q senp1.47588q 0

donde los lımites de las variables son 0 ¤ x1 ¤ 400, 0 ¤ x2 ¤ 1000, 340 ¤ x3 ¤420, 340 ¤ x4 ¤ 420, 1000 ¤ x5 ¤ 1000 y 0 ¤ x6 ¤ 0.5236. La mejor solucionconocida es x p201.784467214523659, 99.9999999999999005, 383.071034852773266, 420,10.9076584514292652, 0.0731482312084287128q donde f pxq 8853.53967480648.

CINVESTAV-IPN Departamento de Computacion

Page 150: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

132 A. Funciones de prueba

g18

Minimizar f p~xq 0.5px1x4 x2x3 x3x9 x5x9 x5x8 x6x7q sujeto a:

g1p~xq x23 x2

4 1.0 ¤ 0

g2p~xq x29 1.0 ¤ 0

g3p~xq x25 x2

6 1.0 ¤ 0

g4p~xq x21 px2 x9, 2.0q 1.0 ¤ 0

g5p~xq px1 x5q2 px2 x6q2 1.0 ¤ 0

g6p~xq px1 x7q2 px2 x8q2 1.0 ¤ 0

g7p~xq px3 x5q2 px4 x6q2 1.0 ¤ 0

g8p~xq px3 x7q2 px4 x8q2 1.0 ¤ 0

g9p~xq x27 px8 x9q2 1.0 ¤ 0

g10p~xq x2x3 x1x4 ¤ 0

g11p~xq x3x9 ¤ 0

g12p~xq x5x9 ¤ 0

g13p~xq x6x7 x5x8 ¤ 0

donde los lımites son 10 ¤ xi ¤ 10pi 1, ..., 8q y 0 ¤ x9 ¤ 20. La mejor solucionconocida es x p0.657776192427943163, 0.153418773482438542, 0.323413871675240938,0.946257611651304398, 0.657776194376798906, 0.753213434632691414,0.323413874123576972, 0.346462947962331735, 0.59979466285217542qdonde f pxq 0.866025403784439.

g19

Minimizar f p~xq 5°j1

5°i1

ci jxp10iqxp10 jq 25°

i1d jx

3p10 jq 10°i1

bixi sujeto a:

g jp~xq 25°

i1ci jxp10iq 3d jx

210 j

e j 10°i1

ai jxi ¤ 0

donde ~b r40,2,0.25,4,4,1,40,60, 5, 1s y los datos restantes se muestranen la tabla A. Los lımites son 0 ¤ xi ¤ 10pi 1, ..., 15q. La mejor solucion conocida esx p1.66991341326291344e 17, 3.95378229282456509e 16, 3.94599045143233784,1.06036597479721211e16, 3.2831773458454161, 9.99999999999999822, 1.12829414671605333e17, 1.2026194599794709e 17, 2.50706276000769697e 15, 2.24624122987970677e 15,

CINVESTAV-IPN Departamento de Computacion

Page 151: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

A. Funciones de prueba 133

0.370764847417013987, 0.278456024942955571, 0.523838487672241171, 0.388620152510322781,0.298156764974678579q donde f pxq 32.6555929502463.

j 1 2 3 4 5

e j -15 -27 -36 -18 -12

c1 j 30 -20 -10 32 -10

c2 j -20 39 -6 -31 32

c3 j -10 -6 10 -6 -10

c4 j 32 -31 -6 39 -20

c5 j -10 32 -10 -20 30

d j 4 8 10 6 2

a1 j -16 2 0 1 0

a2 j 0 -2 0 0.4 2

a3 j -3.5 0 2 0 0

a4 j 0 -2 0 -4 -1

a5 j 0 -9 -2 1 -2.8

a6 j 2 0 -4 0 0

a7 j -1 -1 -1 -1 -1

a8 j -1 -2 -3 -2 -1

a9 j 1 2 3 4 5

a10 j 1 1 1 1 1

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

g21

Minimizar f p~xq x1 sujeto a:

g1p~xq x1 35x0.62 35x0.6

3¤ 0

h1p~xq 300x3 7500x5 7500x6 25x4x5 25x4x6 x3x4 0

h2p~xq 100x2 155.365x4 2500x7 x2x4 25x4x7 15536.5 0

h3p~xq x5 lnpx4 900q 0

h4p~xq x6 lnpx4 300q 0

h5p~xq x7 lnp2x4 700q 0 0

donde los lımites son 0 ¤ x1 ¤ 1000, 0 ¤ x2, x3 ¤ 40, 100 ¤ x4 ¤ 300, 6.3 ¤ x5 ¤ 6.7,5.9 ¤ x6 ¤ 6.4 y 4.5 ¤ x7 ¤ 6.25. La mejor solucion es x p193.724510070034967,5.56944131553368433e27, 17.3191887294084914, 100.047897801386839, 6.68445185362377892,5.99168428444264833, 6.21451648886070451q donde f pxq 193.724510070035.

CINVESTAV-IPN Departamento de Computacion

Page 152: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

134 A. Funciones de prueba

g23

Minimizar f p~xq 9x5 15x8 6x1 16x2 10px6 x7q sujeto a:

g1p~xq x9x3 0.02x6 0.025x5 ¤ 0

g2p~xq x9x4 0.02x7 0.015x8 ¤ 0

h1p~xq x1 x2 x3 x4 0

h2p~xq 0.03x1 0.01x2 x9px3 x4q 0

h3p~xq x3 x6 x5 0

h4p~xq x4 x7 x8 0

donde los lımites son 0 ¤ x1, x2, x6 ¤ 300, 0 ¤ x3, x5, x7 ¤ 100, 0 ¤ x4, x8 ¤ 200 y 0.01 ¤x9 ¤ 0.03. La mejor solucion conocida es x p0.00510000000000259465, 99.9947000000000514,9.01920162996045897e 18, 99.9999000000000535,0.000100000000027086086, 2.75700683389584542e 14, 99.9999999999999574,2000.0100000100000100008q donde f pxq 400.055099999999584.

g24

Minimizar f p~xq x1 x2 sujeto a:

g1p~xq 2x41 8x3

1 8x2

1 x2 2 ¤ 0

g2p~xq 4x41 32x3

1 88x2

1 96x1 x2 36 ¤ 0

donde los lımites son 0 ¤ x1 ¤ 3 y 0 ¤ x2 ¤ 4. El mınimo global factible esx p2.329520197477623.17849307411774q donde f pxq 5.50801327159536. El proble-ma tiene una region factible que consiste en dos subregiones discontinuas.

CINVESTAV-IPN Departamento de Computacion

Page 153: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

Apendice B

Graficas de resultados

Este apendice muestra una serie de diagramas que representan el comportamiento delos algoritmos implementados en esta tesis.

B.1. Diagramas de caja

En la primera seccion presentamos los diagramas de caja como un medio util para re-presentar datos. En dichos diagramas son representados los valores mınimo y maximo y loscuartiles inferior y superior (percentiles 25 y 75, respectivamente) y la mediana (percentil50). La caja se extiende del cuartil inferior al superior, y es atravesada de un lado al otropor la mediana. A partir de los extremos de la caja se extienden las lıneas (”bigotes”) hastalos valores mınimo y maximo. Ademas representa, mediante pequenos cırculos, posiblesvalores atıpicos del conjunto de datos.

B.2. Comparacion de graficas de convergencia entre AMs

En esta seccion presentamos las graficas de convergencia de cada uno de los algoritmos.Puede apreciarse la evolucion de cada uno de ellos, ya que en el eje de las x se muestra elnumero de evaluaciones de la funcion objetivo, mientras que en el eje de las y se muestrael valor a la aproximacion del optimo global. En varios de los casos se presenta un estan-camiento de la solucion, es decir que el algoritmo converge a una solucion optima local.

B.3. Graficas de convergencia del efecto del buscador local

Nuestro objetivo al presentar estas graficas fue demostrar el uso benefico de un busca-dor local acoplado de manera adecuada a un mecanismo de busqueda local. Para ello, serealizaron los mismos experimentos (100 ejecuciones independientes con diferente semilla)con y sin el procedimiento de busqueda local.

B.4. Histograma de Frecuencias

Presentamos la tendencia del conjunto de datos experimentales de nuestra propuesta,mediante los histogramas de frecuencia de las 22 funciones de prueba. Un histograma re-

135

Page 154: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

136 B. Graficas de resultados

presenta el numero de observaciones que caen en un mismo intervalo. Puede verse que lasdistribuciones no son normales, a diferencia del ajuste calculado por el metodo de bootstrap.

CINVESTAV-IPN Departamento de Computacion

Page 155: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

B. Graficas de resultados 137

g01 g02

g03 g04

g05 g06

CINVESTAV-IPN Departamento de Computacion

Page 156: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

138 B. Graficas de resultados

g07 g08

g09 g10

g11 g12

CINVESTAV-IPN Departamento de Computacion

Page 157: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

B. Graficas de resultados 139

g13 g14

g15 g16

g17 g18

CINVESTAV-IPN Departamento de Computacion

Page 158: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

140 B. Graficas de resultados

g19 g21

g23 g24

CINVESTAV-IPN Departamento de Computacion

Page 159: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

B. Graficas de resultados 141

-15.1

-15

-14.9

-14.8

-14.7

-14.6

-14.5

20 40 60 80 100 120 140

f(x)

Eval. f(x) (x1000)

’AMER1’’MCODE1’’LEDE1_1’’LEDE2_1’

-0.8

-0.75

-0.7

-0.65

-0.6

-0.55

-0.5

-0.45

-0.4

-0.35

-0.3

20 40 60 80 100 120 140

f(x)

Eval. f(x) (x1000)

’AMER2’’MCODE2’’LEDE1_2’’LEDE2_2’

g01 g02

-1

-0.8

-0.6

-0.4

-0.2

0

50 100 150 200 250

f(x)

Eval. f(x) (x1000)

’AMER3’’MCODE3’’LEDE1_3’’LEDE2_3’

-30668

-30666

-30664

-30662

-30660

-30658

-30656

20 40 60 80 100 120 140

f(x)

Eval. f(x) (x1000)

’AMER4’’MCODE4’’LEDE1_4’’LEDE2_4’

g03 g04

5100

5150

5200

5250

5300

5350

50 100 150 200 250

f(x)

Eval. f(x) (x1000)

’AMER5’’MCODE5’’LEDE1_5’’LEDE2_5’

-6964

-6962

-6960

-6958

-6956

-6954

-6952

-6950

0 10 20 30 40 50 60 70 80

f(x)

Eval. f(x) (x1000)

’AMER6’’MCODE6’’LEDE1_6’’LEDE2_6’

g05 g06

CINVESTAV-IPN Departamento de Computacion

Page 160: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

142 B. Graficas de resultados

20

25

30

35

40

45

50

20 40 60 80 100 120 140

f(x)

Eval. f(x) (x1000)

’AMER7’’MCODE7’’LEDE1_7’’LEDE2_7’

-0.09583

-0.095825

-0.09582

-0.095815

-0.09581

-0.095805

-0.0958

10 20 30 40 50 60 70 80f(

x)

Eval. f(x) (x1000)

’AMER8’’MCODE8’’LEDE1_8’’LEDE2_8’

g07 g08

680

680.5

681

681.5

682

682.5

683

683.5

684

20 40 60 80 100 120 140

f(x)

Eval. f(x) (x1000)

’AMER9’’MCODE9’’LEDE1_9’’LEDE2_9’

6000

7000

8000

9000

10000

11000

12000

0 20 40 60 80 100 120 140

f(x)

Eval. f(x) (x1000)

’AMER10’’MCODE10’’LEDE1_10’’LEDE2_10’

g09 g10

0.7

0.75

0.8

0.85

0.9

0 20 40 60 80 100 120 140

f(x)

Eval. f(x) (x1000)

’AMER11’’MCODE11’’LEDE1_11’’LEDE2_11’

-1.001

-1.0005

-1

-0.9995

-0.999

-0.9985

-0.998

0 20 40 60 80 100

f(x)

Eval. f(x) (x1000)

’AMER12’’MCODE12’’LEDE1_12’’LEDE2_12’

g11 g12

CINVESTAV-IPN Departamento de Computacion

Page 161: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

B. Graficas de resultados 143

-1

0

1

2

3

4

5

0 50 100 150 200 250

f(x)

Eval. f(x) (x1000)

’AMER13’’MCODE13’’LEDE1_13’’LEDE2_13’

-48

-47

-46

-45

-44

-43

50 100 150 200 250

f(x)

Eval. f(x) (x1000)

’AMER14’’MCODE14’’LEDE1_14’’LEDE2_14’

g13 g14

961

962

963

964

965

966

0 50 100 150 200 250

f(x)

Eval. f(x) (x1000)

’AMER15’’MCODE15’’LEDE1_15’’LEDE2_15’

-1.92

-1.9

-1.88

-1.86

-1.84

-1.82

-1.8

0 20 40 60 80 100

f(x)

Eval. f(x) (x1000)

’AMER16’’MCODE16’’LEDE1_16’’LEDE2_16’

g15 g16

8800

8900

9000

9100

9200

9300

9400

9500

0 50 100 150 200 250

f(x)

Eval. f(x) (x1000)

’AMER17’’MCODE17’’LEDE1_17’’LEDE2_17’

-1

-0.9

-0.8

-0.7

-0.6

-0.5

-0.4

-0.3

-0.2

0 50 100 150 200 250

f(x)

Eval. f(x) (x1000)

’AMER18’’MCODE18’’LEDE1_18’’LEDE2_18’

g17 g18

CINVESTAV-IPN Departamento de Computacion

Page 162: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

144 B. Graficas de resultados

0

50

100

150

200

250

300

0 50 100 150 200 250

f(x)

Eval. f(x) (x1000)

’AMER19’’MCODE19’’LEDE1_19’’LEDE2_19’

220

240

260

280

300

320

50 100 150 200 250

f(x)

Eval. f(x) (x1000)

’AMER21’’MCODE21’’LEDE1_21’’LEDE2_21’

g19 g21

-400

-350

-300

-250

-200

-150

-100

-50

0

0 50 100 150 200 250

f(x)

Eval. f(x) (x1000)

’AMER23’’MCODE23’’LEDE1_23’’LEDE2_23’

-5.52

-5.515

-5.51

-5.505

-5.5

-5.495

-5.49

-5.485

-5.48

0 10 20 30 40 50

f(x)

Eval. f(x) (x1000)

’AMER24’’MCODE24’’LEDE1_24’’LEDE2_24’

g23 g24

CINVESTAV-IPN Departamento de Computacion

Page 163: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

B. Graficas de resultados 145

-15

-14

-13

-12

-11

-10

-9

5 10 15 20 25

f(x)

generaciones (x100)

’AMER-BL’’AMER’

-0.7

-0.6

-0.5

-0.4

-0.3

-0.2

0 5 10 15 20 25

f(x)

generaciones (x100)

’AMER-BL’’AMER’

g01 g02

-0.8

-0.7

-0.6

-0.5

-0.4

-0.3

-0.2

-0.1

0

0 5 10 15 20 25

f(x)

generaciones (x100)

’AMER-BL’’AMER’

-30660

-30650

-30640

-30630

-30620

-30610

-30600

-30590

1 1.5 2 2.5 3 3.5 4

f(x)

generaciones (x100)

’AMER-BL’’AMER’

g03 g04

5140

5160

5180

5200

5220

5240

5260

5280

5 10 15 20 25

f(x)

generaciones (x100)

’AMER-BL’’AMER’

-6961.5

-6961

-6960.5

-6960

-6959.5

-6959

-6958.5

-6958

-6957.5

0 2 4 6 8 10

f(x)

generaciones (x100)

’AMER-BL’’AMER’

g05 g06

CINVESTAV-IPN Departamento de Computacion

Page 164: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

146 B. Graficas de resultados

20

40

60

80

100

120

0 5 10 15 20 25

f(x)

generaciones (x100)

’AMER-BL’’AMER’

0

0.5

1

1.5

0 2 4 6 8 10

f(x)

generaciones (x100)

’AMER-BL’’AMER’

g07 g08

680

685

690

695

700

705

710

0 1 2 3 4 5 6 7 8

f(x)

generaciones (x100)

’AMER-BL’’AMER’

7000

7200

7400

7600

7800

8000

8200

8400

8600

0 5 10 15 20 25

f(x)

generaciones (x100)

’AMER-BL’’AMER’

g09 g10

0.74

0.76

0.78

0.8

0.82

0.84

0.86

0 2 4 6 8 10 12 14

f(x)

generaciones (x100)

’AMER-BL’’AMER’

-1

-0.98

-0.96

-0.94

-0.92

-0.9

-0.88

-0.86

0 1 2 3 4 5

f(x)

generaciones (x100)

’AMER-BL’’AMER’

g11 g12

CINVESTAV-IPN Departamento de Computacion

Page 165: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

B. Graficas de resultados 147

0.2

0.4

0.6

0.8

1

1.2

0 5 10 15 20 25

f(x)

generaciones (x100)

’AMER-BL’’AMER’

-48

-47

-46

-45

-44

-43

5 10 15 20 25

f(x)

generaciones (x100)

’AMER-BL’’AMER’

g13 g14

961

962

963

964

965

966

967

0 5 10 15 20 25

f(x)

generaciones (x100)

’AMER-BL’’AMER’

-1.9

-1.88

-1.86

-1.84

-1.82

-1.8

1 2 3 4 5 6

f(x)

generaciones (x100)

’AMER-BL’’AMER’

g15 g16

8900

8950

9000

9050

9100

0 5 10 15 20 25

f(x)

generaciones (x100)

’AMER-BL’’AMER’

-0.9

-0.8

-0.7

-0.6

-0.5

-0.4

-0.3

0 5 10 15 20 25

f(x)

generaciones (x100)

’AMER-BL’’AMER’

g17 g18

CINVESTAV-IPN Departamento de Computacion

Page 166: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

148 B. Graficas de resultados

40

60

80

100

120

140

0 5 10 15 20 25

f(x)

generaciones (x100)

’AMER-BL’’AMER’

200

250

300

350

400

450

500

5 10 15 20 25

f(x)

generaciones (x100)

’AMER-BL’’AMER’

g19 g21

-400

-350

-300

-250

-200

-150

-100

-50

0

0 5 10 15 20 25

f(x)

generaciones (x100)

’AMER-BL’’AMER’

-5.6

-5.4

-5.2

-5

-4.8

-4.6

0 2 4 6 8 10

f(x)

generaciones (x100)

’AMER-BL’’AMER’

g23 g24

CINVESTAV-IPN Departamento de Computacion

Page 167: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

B. Graficas de resultados 149

g01 g02

g03 g04

g05 g06

CINVESTAV-IPN Departamento de Computacion

Page 168: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

150 B. Graficas de resultados

g07 g08

g09 g10

g11 g12

CINVESTAV-IPN Departamento de Computacion

Page 169: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

B. Graficas de resultados 151

g13 g14

g15 g16

g17 g18

CINVESTAV-IPN Departamento de Computacion

Page 170: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

152 B. Graficas de resultados

g19 g21

g23 g24

CINVESTAV-IPN Departamento de Computacion

Page 171: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

B. Graficas de resultados 153

B.5. Histograma de densidad y graficas de cuantiles de bootstrap

Presentamos los histogramas de densidad y graficas de cuantiles de bootstrap despuesde 1000 remuestreos y aplicando un intervalo de confianza del 95 %.

CINVESTAV-IPN Departamento de Computacion

Page 172: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

154 B. Graficas de resultados

Histograma de densidad y grafica de cuantiles

g01

g02

g03

CINVESTAV-IPN Departamento de Computacion

Page 173: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

B. Graficas de resultados 155

Histograma de densidad y grafica de cuantiles

g04

g05

g07

CINVESTAV-IPN Departamento de Computacion

Page 174: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

156 B. Graficas de resultados

Histograma de densidad y grafica de cuantiles

g09

g10

g12

CINVESTAV-IPN Departamento de Computacion

Page 175: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

B. Graficas de resultados 157

Histograma de densidad y grafica de cuantiles

g13

g14

g15

CINVESTAV-IPN Departamento de Computacion

Page 176: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

158 B. Graficas de resultados

Histograma de densidad y grafica de cuantiles

g16

g17

g18

CINVESTAV-IPN Departamento de Computacion

Page 177: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

B. Graficas de resultados 159

Histograma de densidad y grafica de cuantiles

g19

g21

g23

CINVESTAV-IPN Departamento de Computacion

Page 178: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

160 B. Graficas de resultados

CINVESTAV-IPN Departamento de Computacion

Page 179: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

Bibliografıa

[1] Ali, M. M., and Kajee-Bagdadi, Z. A local exploration-based differential evolutionalgorithm for constrained global optimization. Applied Mathematics and Computation208 (2009), 31–48.

[2] Back, T., Schutz, M., and Khuri, S. Evolution strategies: An alternative evolution compu-tation method., vol. 1063/1996. Springer Berlin /Heidelberg, Lecture Notes in ComputerScience, 1996.

[3] Bambha, N. K., Bhattacharyya, S. S., Teich, J., and Zitzler, E. Systematic integrationof parameterized local search. evolutionary algorithms, IEEE Transactions on EvolutionaryComputation 8, 2 (2004), 137–155.

[4] Beasley, D., Bull, D., andMartin, R. Reducing epistasis in combinatorial problemsby expansive coding. In Stephanie Forrest, editor, Proceedings of the Fifth InternationalConference on Genetic Algorithms (1993), 400–407.

[5] Berg, M., Cheong, O., van Kreveld, M., and Overmars, M. Computational Geometry,Algorithms and applications, 3 ed. Department of Computer Science KAIST GwahangnoDaejeon Korea, 2008.

[6] Bertsekas, D. P. Constrained Optimization and Lagrange multiplier methods. Massa-chusetts Institute of Technology, At hena Scientific, Belmont , Massachusetts, Inc., in1982.

[7] Cannon, W. D. The Wisdom of the Body. W. W. Norton and Company, Inc., New York,1963.

[8] Caruana, R., and Schaffer, J. D. Representation and hidden bias: Gray vs. binarycoding for genetic algorithms. In Proceedings of the Fifth International Conference onMachine Learning (1988), 132–161.

[9] Chiu, K., Shirley, P., and ChangyawWang. Multi-jittered sampling. in graphics gems.AP Professional IV (1994), 370–374.

[10] Coello Coello, C. A. Theoretical and numerical constraint handling techniques usedwith evolutionary algorithms: A survey of the state of the art. Computer Methods inApplied Mechanics and Engineering 191 (2002), 1245–1287.

[11] Cohen, P. R. Empirical Methods for Artificial Intelligence. The MIT Press Cambridge,Massachusetts, Cambridge, MA, USA, 1995.

161

Page 180: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

162 BIBLIOGRAFIA

[12] Davis., L. Adapting operator probabilities in genetic algorithms. In J. David Schaffer,editor, Proceedings of the Third International Conference on Genetic Algorithms (1989), 61–69.

[13] Davis., L. Handbook of Genetic Algorithms. Van Nostrand Reinhold, New York, 1991.

[14] Davison, A., andHinkley, D. Bootstrap Methods and their Application. Cambridge Seriesin Statistical and Probabilistic Mathematics, Cambridge, University Press, 2005.

[15] Deb., K. An efficient constraint handling method for genetic algorithms. ComputerMethods in Applied Mechanics and Engineering (2000), 186(2/4):311–338.

[16] Deb, K. Optimization for Engineering Design: Algorithms and Examples. Prentice-Hall ofIndia Pvt. Ltd., 2002.

[17] Eberhart, R. C., and Kennedy, J. A new optimizer using particle swarm theory.Proceedings of the Sixth International Symposium on Micro Machine and Human Science(1995), 39–43.

[18] Edwin, K., Chong, P., and Stanislaw, H. Z. An Introduction to optimization. EditorialWiley-Interscience Series in Discrete Mathematics and Optimization, New York, 2001.

[19] Efron, B. Bootstrap methods: Another look at the jackknife. The Annals of Statistics 7,1 (1979), 1–26.

[20] Eshelman, L. J., Mathias, K. E., and Schaffer, J. D. Crossover operator biases: Exploi-ting the population distribution. In Proceedings of the Seventh International Conferenceon Genetic Algorithms (1997), pp. 354–361.

[21] Eshelman, L. J., and Schaffer, J. D. Real-coded Genetic Algorithms and Interval-Schemata.In L. Darrell Whitley, editor, Foundations of Genetic Algorithms 2, Morgan KaufmannPublishers, San Mateo, California, 1993.

[22] Fogel, D. B. Evolutionary Computation. The Fossil Record. Selected Readings on the Historyof Evolutionary Algorithms. The Institute of Electrical and Electronic Engineers, NewYork, 1998.

[23] Fogel, D. B., and Stayton, L. C. On the effectiveness of crossover in simulated evolu-tionary optimization. BioSystems 32 (1994), 171–182.

[24] Fogel, L. J. Artificial Intelligence through Simulated Evolution. JohnWiley, New York,1966.

[25] Fogel, L. J., Owens, A. J., andWalsh, M. J. Artificial intelligence through a simulationof evolution. InM.Maxfield, A. Callahan, and L. J. Fogel, editors, Biophysics and CyberneticSystems: Proceedings of the Second Cybernetic Sciences Symposium (1965), 131–155.

[26] Glover, F. Tabu search. ORSA Journal on Computing 1, 3 (1989), 190–206.

[27] Goldberg, D. Genetic Algorithms in Search, Optimization and Machine Learning. Addison-Wesley Longman Publishing Co, Boston, MA, USA, 1989.

[28] Gomez, A., and Bodmann, B. Neighborhood search considering continuos spacesearch. Tendencias em Matematica Aplicada e Computacional 3, 2 (2002), 111–119.

CINVESTAV-IPN Departamento de Computacion

Page 181: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

BIBLIOGRAFIA 163

[29] Hannan, B. L., Zhang, M. X., and Zhou, Y. A memetic co-evolutionary differentialevolution algorithm for constrained optimization. In Evolutionary Computation, 2007.CEC 2007. IEEE Congress on Issue (2007), pp. 2996 – 3002.

[30] Hansen, P., Jaumard, J., Mladenovıc, N., and Parreira, A. Variable neighbourhoodsearch for maximum weight satisfiability problem. Les Cahiers du GERAD, 2000.

[31] Hansen, P., Mladenovic, N., andMoreno, P. J. Busqueda de entorno variable. RevistaIberoamericana de Inteligencia Artificial 19 (2003), 77–92.

[32] Herrera, F., and Lozano, M. Two-loop real-coded genetic algorithms with adaptivecontrol of mutation step sizes. Applied Intelligence 13 (2000), 187–204.

[33] Herrera, F., Lozano, M., and Verdegay, J. L. Tackling real-coded genetic algorithms:Operators and tools for behavioural analysis. Artificial Intelligence Review 12, 4 (1998),265–319.

[34] Hinterding, R., and Michalewicz, Z. Your brains and my beauty: Parent matchingfor constrained optimisation. In Proceedings of the 5th International Conference on Evolu-tionary Computation (1998), 810–815.

[35] Hoffman, A. Arguments on Evolution: A Paleontologist’s Perspective. Oxford UniversityPress, New York, 1989.

[36] Holland., J. H. Outline for a logical theory of adaptive systems. Journal of the Associa-tion for Computing Machinery (1962), 9:297–314.

[37] Holland, J. H. Adaptation in Natural and Artificial Systems. University of MichiganPress, Ann Arbor, Michigan, 1975.

[38] Homaifar, A., Lai, H., and Qi, X. Constrained optimization via genetic algorithms.Simulation. (1994), 62(4):242–254.

[39] Hooke, R., and Jeeves, T. A. Direct search solution of numerical and statistical pro-blems. Journal of the ACM 8 (1961), 212 – 229.

[40] James, C. B. Genetics and random keys for sequencing and optimization. ORSA Journalon Computing (1994), 6(2):154–160.

[41] Joines, J., andHouck., C. On the use of non-stationary penalty functions to solve non-linear constrained optimization problems with gas. In David Fogel, editor, Proceedingsof the first IEEE Conference on Evolutionary Computation (1994), 579–584.

[42] Jong, K. D. An analysis of the behavior of a class of genetic adaptive systems. Doctoraldissertation (1975).

[43] jun Shi, Y., fei Teng, H., and qiang Li, Z. Cooperative co-evolutionary differentialevolution for function optimization. In ICNC (2), Lecture Notes in Computer Science(2005), vol. 3611/2005, pp. 1080–1088.

[44] Kita, H., and Yamamura, M. A functional specialization hypothesis for designinggenetic algorithms. In IEEE International Conference on Systems, Man, and Cybernetics(Piscataway, New Jersey, 1999), IEEE Press, pp. 579–584.

CINVESTAV-IPN Departamento de Computacion

Page 182: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

164 BIBLIOGRAFIA

[45] Kolda, T., Lewis, R., and Torczon, V. Optimization by direct search: new perspectiveon classical and modern methods. SIAM Review 45, 3 (2003), 385–482.

[46] Kowalczyk., R. Constraint consistent genetic algorithms. In Proceedings of the 1997IEEE Conference on Evolutionary Computation (1997), 343–348.

[47] Koziel, S., and Michalewicz., Z. A decoder-based evolutionary algorithm for cons-trained parameter optimization problems. In T. Back, A. E. Eiben, M. Schoenauer, andH.-P. Schwefel, editors, Proceedings of the 5th Parallel Problem Solving from Nature (PPSNV) (1998), 231–240.

[48] Koziel, S.,andMichalewicz., Z. Evolutionary algorithms, homomorphous mappings,and constrained parameter optimization. Evolutionary Computation (1999), 7(1):19–44.

[49] Krasnogor, N., and Smith, J. Emergence of profitable search strategies based on asimple inheritance mechanism. In International Genetic and Evolutionary ComputationConference (GECCO2001) (San Francisco, CA, 2001), Morgan Kaufmann Publishers,pp. 432–439.

[50] Lozano, M., Herrera, F., Krasnogor, N., andMolina, D. Real-coded memetic algo-rithms with crossover hill-climbing. Evolutionary Computation 12, 3 (2004), 273–302.

[51] Lucasius, C. B., and G., K. Applications of genetic algorithms in chemometrics. Proc.of the Third International Conference on Genetic Algorithms, J. David Schaffer (Ed.) (1989),170–176.

[52] Luo, C., and Yu, B. Low dimensional simplex evolution–a hybrid heuristic for globaloptimization. In Proceedings of the Eighth ACIS International Conference on SoftwareEngineering, Artificial Intelligence, Networking, and Parallel/Distributed Computing (DC,USA, 2007), vol. 2, IEEE Computer Society Washington, pp. 470–474.

[53] McKay, M. D., Beckman, R. J., and Conover, W. J. A comparison of three methodsfor selecting values of input variables in the analysis of output from a computer code.Technometrics 1, 42 (2000), 55–61.

[54] Mendel, G. J. Versuche ber pflanzen-hybriden. In Verhandlungen des naturforschendenVereines in Brunn 1 (1985), 3–47.

[55] Mezura Montes, E., Clerc, M., Suganthan, P. N., Coello Coello, C. A., Liang, K.D. J. J., and Runarsson, T. P. Problem definitions and evaluation criteria for the cec2006 special session on constrained real-parameter optimization. In Technical report(September 2006.).

[56] Michalewicz., Z. Genetic algorithms+data structures= evolution programs. Springer-Verlag, second edition (1992).

[57] Michalewicz, Z. A survey of constraint handling techniques in evolutionary compu-tation methods. In J. R. McDonnell, R. G. Reynolds, and D. B. Fogel, editors, Proceedingsof the 4th Annual Conference on Evolutionary Programming (1995), 135–155.

CINVESTAV-IPN Departamento de Computacion

Page 183: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

BIBLIOGRAFIA 165

[58] Michalewicz, Z., and Nazhiyath., G. Genocop iii: A coevolutionary algorithm fornumerical optimization with nonlinear constraints. In David B. Fogel, editor, Proceedingsof the Second IEEE International Conference on Evolutionary Computation (1995), 647–651.

[59] Michalewicz, Z., and Schoenauer., M. Evolutionary algorithms for constrained pa-rameter optimization problems. Evolutionary Computation (1996), 4(1):1–32.

[60] Miettinen, K., Makela, M., and Toivanen, J. Numerical comparison of some pe-nalty based constraint handling techniques in genetic algorithm. Journal of GlobalOptimization 27 (2003), 427–446.

[61] Montgomery, D. C. Design and analysis of experiments. John Wiley, USA, 2001.

[62] Moscato, P. On evolution, search, optimization, genetic algorithms and martial arts:Towards memetic algorithms. Technical Report C3P Report 826 (1989).

[63] Muhlenbein, H., and Schlierkamp-Voosen, D. Predictive models for the breedergenetic algorithm i. continuous parameter optimization. Evolutionary Computation 1(1993), 25–49.

[64] Nelder, J. A., and Mead, R. A simplex method for function minimization. TheComputer Journal 7 (1965), 308–313.

[65] Nguyen, Q. H., Ong, Y. S., Lim, M. H., and Krasnogor, N. A study on the designissues of memetic algorithm. In Proceedings of the 2007 IEEE Congress on EvolutionaryComputation (2007), IEEE, pp. 2390–2397.

[66] Noman, N., and Iba, H. Accelerating differential evolution using an adaptive localsearch. IEEE Trans. Evolutionary Computation 12, 1 (2008), 107–125.

[67] Paredis., J. Co-evolutionary constraint satisfaction. In Proceedings of the 3rd Conferenceon Parallel Problem Solving from Nature (1994), 231–240.

[68] Potter, M., and Jong, K. D. A cooperative co-evolutionary approach to functionoptimization. In Proceedings of the third parallel problem solving from nature (Jerusalem,Israel, 1994).

[69] Powell, D., and Skolnick, M. M. Using genetic algorithms in engineering designoptimization with non-linear constraints. In Stephanie Forrest, editor, Proceedings of theFifth International Conference on Genetic Algorithms (1993), 424–431.

[70] Price, K. An introduction to Differential Evolution. In New Ideas in Optimization. D. Corne,M. Dorigo and F. Glover, Eds. MacGraw-Hill, 1999.

[71] Polya, G. How to Solve It: A New Aspect of Mathematical Method. Penguin Science,stamford, uk, United Kingdom, 1990.

[72] Rao, S. Engineering Optimization: Theory and Practice. John Wiley and Sons, 1996.

[73] Ray, T., Kang, T., and Chye., S. K. An evolutionary algorithm for constrained optimi-zation. In Darrell Whitley, David Goldberg, Erick Cantu-Paz, Lee Spector, Ian Parmee, andHans-Georg Beyer (2000), 771–777.

CINVESTAV-IPN Departamento de Computacion

Page 184: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

166 BIBLIOGRAFIA

[74] Reeves, C. B. Modern Heuristic Techniques for Combinatorial Problems. John Wiley andSons, Inc. New York, NY, USA, Coventry Univ., Coventry, UK, 1993.

[75] Richardson, J. T., Palmer, M. R., Liepins, G., and Hilliard, M. Some guidelines forgenetic algorithms with penalty functions. In J. David Schaffer, editor, Proceedings of theThird International Conference on Genetic Algorithms (1989), 191–197.

[76] Runarsson, T. P., and Yao, X. Stochastic ranking for constrained evolutionary opti-mization. IEEE Trans. Evolutionary Computation 4, 3 (2000), 284–294.

[77] Runarsson, T. P., andYao., X. Search biases in constrained evolutionary optimization.IEEE Transactions on Systems, Man and Cybernetics 35 (2005), 2:233–243.

[78] Sawaragi, Y., Nakayama, H., and Tanino, T. Theory of Multiobjective Optimization. (vol.176 of Mathematics in Science and Engineering), Orlando, FL: Academic Press Inc.ISBN: 0126203709., 1985.

[79] Schoenauer, M., and Michalewicz., Z. Evolutionary computation at the edge offeasibility. In H.-M. Voigt, W. Ebeling, I. Rechenberg, and H.-P. Schwefel, editors, Proceedingsof the Fourth Conference on Parallel Problem Solving from Nature (PPSN IV) (1996), 245–254.

[80] Schoenauer, M., andXanthakis., S. Constrained ga optimization. In Stephanie Forrest,editor, Proceedings of the Fifth International Conference on Genetic Algorithms (ICGA-93)(1993), 573–580.

[81] Schwefel, H.-P. Numerical optimization of computer models. Wiley, Chichester, UK(1981).

[82] Shi, and Eberhart., R. A modified particle swarm optimizer. In Proceedings of the IEEECongress on Evolutionary Computation (1998), 69–73.

[83] Smith, J., and Fogarty, T. Operator and parameter adaptation in genetic algorithms.Soft Computing - A Fusion of Foundations, Methodologies and Applications 1, 2 (june, 1997),81–87.

[84] Spears, W. Crossover or mutation? In Whitley, L.D. (1993), 221–238.

[85] Spendley, G. R. H. W., andHimsworth, F. R. Sequencial application of simplex designsin optimization and evolutionary operation. Technometrics 4, 4 (November 1962), 441–461.

[86] Steuer, R. Multiple Criteria Optimization: Theory, Computations, and Application. JohnWiley and Sons, Inc. ISBN: 047188846X, 1986.

[87] Storn, R., and Price, K. Differential evolution - a simple and efficient adaptivescheme for global optimization over continuous spaces. In Technical Report, TR-95-012(Berkeley, CA, 1995).

[88] Storn, R., and Price., K. Differential evolution - a simple and efficient heuristic forglobal optimization over continuous spaces. Journal of Global Optimization 11, 4 (1997),341–359.

CINVESTAV-IPN Departamento de Computacion

Page 185: Unidad Zacatenco Departamento de Computacio´n Un algoritmo

BIBLIOGRAFIA 167

[89] Surry, P., and Rsdcliffe, N. Real representations, foundations of genetic algorithms4. In Morgan Kaufman (San Francisco, 1996), pp. 343–363.

[90] Syswerda, G. Uniform crossover in genetic algorithms. In Proceedings of the 3rdInternational Conference on Genetic Algorithms (1989), 2–9.

[91] Syswerda, G. Schedule optimization using genetic algorithms. In In Lawrence Davis,editor, Handbook of Genetic Algorithms (Van Nostrand Reinhold, New York, New York,1991), pp. 332–349.

[92] Tsutsui, S., Yamamura, M., andHiguchi, T. Multi-parent recombination with simplexcrossover in real coded genetic algorithms. Genetic Evol. Comput. Conf. (GECCO’99)(1999), 657–664.

[93] Turing, A. M. Computing machinery and intelligence. Mind 59 (1950), 433–460.

[94] VelazquezReyes, J. Propuesta de evoluci´on diferencial para optimizacion de espaciosrestringidos. Master’s thesis (2006).

[95] Vries, H. D. Species and varieties: Their origin by mutation. Open Court (1906).

[96] Wolpert, D., and Macready, W. G. No free lunch theorems for optimization. IEEETrans. Evolution Computation 1 (1997), 67–82.

[97] Wright, A. H. Genetic Algorithms for Real Parameter Optimization. In Gregory J. E.Rawlins, editor, Foundations of Genetic Algorithms, Kaufmann Publishers, San Mateo,California, 1991.

CINVESTAV-IPN Departamento de Computacion