• No se han encontrado resultados

Universidad Central Marta Abreu de Las Villas

N/A
N/A
Protected

Academic year: 2021

Share "Universidad Central Marta Abreu de Las Villas"

Copied!
82
0
0

Texto completo

(1)

Universidad Central “Marta Abreu” de Las Villas

Facultad de Matemática-Física-Computación

Centro de Estudios de Informática

Departamento de Programación e Ingeniería de Software

Trabajo de Diploma

“Optimización de la meta-heurística basada en mallas variables mediante

la introducción de técnicas auto adaptativas.”

Autor:

Manuel Alejandro Herrera Escobar.

Tutor:

Msc. Ernesto Díaz López.

(2)

Hago constar que el presente trabajo fue realizado en la Universidad Central Marta Abreu de Las Villas como parte de la culminación de los estudios de la especialidad de Ciencia de la Computación, autorizando a que el mismo sea utilizado por la institución, para los fines que estime conveniente, tanto de forma parcial como total y que además no podrá ser presentado en eventos ni publicado sin la autorización de la Universidad.

Firma del autor

Los abajo firmantes, certificamos que el presente trabajo ha sido realizado según acuerdos de la dirección de nuestro centro y el mismo cumple con los requisitos que debe tener un trabajo de esta envergadura referido a la temática señalada.

___________________ ____________________ Firma del tutor Firma del jefe del Dpto

(3)
(4)
(5)

IV

Agradezco a todas las personas que han contribuido al desarrollo de este trabajo: A mi abuelo por su apoyo incondicional, confianza y comprensión, a mi madre

y familia por estar en todo momento. A Sigfrido Valdespino Vázquez, mi papá blanco, por creer en mí aun cuando el mundo me dio la espalda. A mis hermanos que, aunque no nos una la sangre, momentos sobran para demostrar eso, Oscar, Supervia, Ricardo, Eric, Freddy, Baby y Tomás. A Luis Daniel más conocido como El viejo, hermano este título también es tuyo. A mis amigos, los que han sabido demostrar que la palabra amistad es más que un sustantivo. A mi compañera, amiga, novia y confidente por entregarme a diario su amor sin pedir nada a cambio o casi nada que no es lo mismo pero es igual. A mi tutor Ernesto Díaz por su ayuda y colaboración a la realización de este momento.

(6)

V

RESUMEN

En el campo de la Inteligencia Artificial las meta-heurísticas poblacionales representan una herramienta muy poderosa para la solución de diferentes problemas complejos en distintos dominios de aplicación. En la actualidad son muchas las descritas en la literatura con buenos resultados aplicativos, más, ante la no existencia de una sola meta-heurística capaz de resolver cualquier problema complejo, es que se hace necesario la búsqueda de nuevas alternativas en función de mejorar la eficiencia y eficacia de las ya existentes. El propósito de esta investigación radica en la realización de una optimización a la meta-heurística poblacional basada en mallas variables, mediante la introducción a la misma de técnicas auto adaptativas y a través de su hibridación con otra meta-heurística poblacional autoadaptable basada en el algoritmo Evolución Diferencial denominada SADE. Los resultados obtenidos fueron validados a partir de la evaluación del rendimiento en cuanto a la eficacia de estos algoritmos con sus versiones clásicas según las 15 funciones de referencia para problemas de optimización a gran escala, aprobadas en la “CEC IEEE Sesión Especial sobre Optimización Global a Gran Escala” en el 2015, lográndose mejoras sustanciales a favor del algoritmo propuesto en esta investigación.

(7)

VI

ABSTRACT

In the field of Artificial Intelligence meta-heuristics population represents a powerful tool for solving various complex problems in different application domains. At present there are many described in the literature with good applications results, more to the non-existence of a single meta-heuristics capable of solving any complex problem is necessary to search for new alternatives in terms of improving the efficiency and effectiveness of existing ones. The objective of this research lies in the realization of an optimization to the meta-heuristics population based on variables meshes by entering the same self techniques adaptive by hybridizing the same with another meta-heuristics population adaptive based on Evolución Diferencial called SADE. The results were validated by from performance evaluation as to the effectiveness of these algorithms with their classic versions as the 15 reference functions for optimization problems on a large scale approved by the "CEC IEEE Special Session on Global Optimization to large Scale "in 2015 achieving substantial in favor of the proposed algorithm improves this research.

(8)

VII

Tabla de contenido.

INTRODUCCIÓN ... 1

CAPÍTULO 1. META-HEURÍSTICAS POBLACIONALES Y EVOLUCIÓN DIFERENCIAL. .. 8

1.1 Meta-heurísticas poblacionales ... 8

1.2 Algoritmos Evolutivos ... 8

1.3 Evolución Diferencial ... 11

1.3.1 Descripción de la meta-heurística ... 12

1.3.2 Trabajos relacionados con Evolución Diferencial ... 15

1.3.3 Introducción de mecanismos auto adaptativos ... 15

1.4 Hibridación de meta-heurísticas con otras meta-heurísticas ... 18

1.4.1 Taxonomía de las meta-heurísticas híbridas ... 19

1.5 Técnicas estadísticas empleadas en la validación de resultados ... 22

1.6 Conclusiones parciales del capítulo ... 23

CAPÍTULO 2. META-HEURÍSTICA HÍBRIDA VMO SADE ... 25

2.1 Meta-heurística poblacional de optimización basada en mallas variables. ... 25

2.1.1 Descripción general de la meta-heurística VMO. ... 25

2.1.2 Fomento de la diversidad ... 31

2.1.3 Esquema del funcionamiento general del VMO ... 32

2.2 Meta-heurística poblacional evolutiva DE variante SADE ... 32

2.2.1 Descripción general del algoritmo SADE. ... 33

2.2.2 Operador de Mutación ... 33

2.2.3 Operador de cruzamiento ... 35

2.2.4 Esquema del funcionamiento del SADE ... 36

2.3 Combinación de los algoritmos VMO y SADE ... 36

2.4 Conclusiones parciales del capítulo ... 37

CAPÍTULO 3. VALIDACIÓN DE LOS RESULTADOS. ... 40

3.1 Definición de las funciones empleadas como referencia. ... 40

3.1.1 Descripción de las funciones separables ... 41

(9)

VIII

3.1.3 Funciones aditivas o parcialmente separables I ... 43

3.1.4 Funciones aditiva o parcialmente separables II ... 45

3.1.5 Funciones traslapadas ... 48

3.1.6 Funciones no separables ... 49

3.2 Obtención y análisis de los resultados. ... 50

3.3 Conclusiones parciales del capítulo ... 55

CONCLUSIONES ... 57

RECOMENDACIONES ... 58

BIBLIOGRAFÍA ... 59

Anexos ... 64

Anexo A. Resultados de las pruebas realizadas al algoritmo VMOSADE con las 15 funciones de Benchmark. ... 64

Anexo B. Resultados de las pruebas realizadas al algoritmo VMO con las 15 funciones de Benchmark. ... 66

Anexo C Resultados de las pruebas realizadas al algoritmo DE con las 15 funciones de Benchmarck. ... 68

Anexo D Resultados de las pruebas realizadas al algoritmo VMODEC con las 15 funciones de Benchmark. ... 70

(10)

IX

Lista de Figuras

Figura 1.1 Ejemplo del proceso de cruzamiento para D=7 ... 14

Figura 1.2: Resultados de la evaluación de los algoritmos para funciones unimodales y multimodales. ... 17

Figura 1.3 Clasificación de las meta-heurísticas hibridas según su diseño y funcionalidad. ... 20

Figura 2.1 Pseudocódigo de la meta-heurística VMO ... 32

Figura 2.2 Esquema del funcionamiento del SADE. ... 36

Figura 2.3 Esquema de funcionamiento del VMOSADE ... 37

Figura 3.1 Resultados de la prueba de normalidad. ... 52

(11)

X

Lista de Tablas

Tabla 3.1 Promedio de resultados por función ... 51

Tabla 3.2 Resultados de los estadísticos descriptivos. ... 51

Tabla 3.3 Resultados de la prueba de Friedman. ... 53

(12)

1

INTRODUCCIÓN

Al referirse al vocablo optimización enseguida viene a la mente la idea de mejorar, sin embargo en su concepción científica, optimizar no es más que encontrar la mejor solución posible a determinado problema planteado, partiendo de determinadas soluciones y un criterio para discriminar entre ellas.

Básicamente, un problema de este tipo, hace referencia a un número finito de variables de decisión, las cuales, evaluadas en determinada función objetivo, alcanzan su máximo o mínimo valor, pudiendo este estar sujeto en ocasiones a determinadas restricciones.

La existencia de estos problemas abarca desde la industria hasta la ciencia en sí, ejemplificándose en ramas como las telecomunicaciones, la organización de la producción, los procesos de ingeniería de software y el diseño de redes, visualizándose ya sea en su forma teórica o práctica. Algunos de estos problemas son fáciles de resolver como es el caso de los problemas lineales, los cuales no son más que aquellos problemas de optimización en los que tanto las restricciones de las variables de decisión como la función objetivo, son expresiones lineales. Para dar solución a este tipo de problemas existe un método matemático denominado Simplex el cual fuese introducido en su forma original en 1945 por George Dantzig (Spendley et al. 1962).

El Análisis Matemático y de Investigación de Operaciones proporciona otros métodos, a través de los cuales se pueden resolver otros problemas de optimización, solo que esta vez no tienen necesariamente que ser lineales o incluso discretos mediante técnicas aproximativas para determinar el óptimo, barriendo de forma exhaustiva1un espacio de posibles soluciones o propiedades. Aunque estos métodos de solución ofrecerían las mejores soluciones, hay problemas para los cuales y por su propia naturaleza no se pueden aplicar, ya sea porque en dicho caso tal método no exista o porque la complejidad del mismo crezca de manera no polinomial. De ahí que se derive otra categoría de problemas conocidos en Investigación de Operaciones como problemas complejos para los cuales se han

1 Método que obtienen el mejor valor de todos los posibles mediante una búsqueda en todo el

(13)

2 desarrollado un número de estrategias con el fin de obtener buenas soluciones aproximativas2 en correspondencia con la eficiencia y rapidez en su búsqueda .

Dichos métodos reciben el nombre de procedimientos heurísticos. Término que fuese introducido en el siglo pasado por Ploya en 1957 (Abreu et al. 2009) con su obra “How to Solve It” y Simon (Abreu et al. 2009) quien lo definiría años más tarde como métodos que sirven para la resolución de un problema dado aunque no ofreciese ninguna garantía de hacerlo. Ambos autores serían catalogados como los precursores de la Inteligencia Artificial.

En la actualidad existen en (Hooker 1995) varias definiciones de algoritmos heurísticos entre las que destaca la siguiente:

Un método heurístico es un procedimiento para resolver un problema complejo de optimización mediante una aproximación intuitiva, en la que la estructura del problema se utiliza de forma inteligente para obtener una buena solución de manera eficiente.

Tras el desarrollo del interés por la resolución de este tipo de problemas y producto al auge adquirido en el desarrollo de métodos heurísticos es que se han creado en el mundo diversas fuentes bibliográficas las cuales se han especializado solamente en la difusión de este tipo de procedimientos, una de las más destacadas en este aspecto es la revista Journal of Heuristics3 cuya primera edición data del año 1995.

Estos algoritmos heurísticos también poseen sus desventajas pues tras el estudio realizado en (Silver 2004) se puede apreciar que dependen en gran medida del diseño del problema al cual dan solución. Esto hace imposible garantizar la existencia de un método heurístico con la capacidad de encontrar la mejor solución para cualquier problema de optimización, dado lo cual se recoge en la bibliografía (Wolpert & Macready 1997) como Teorema “No Free Lunch”.

2 Termino que refiere al conjunto de soluciones de buena calidad pero no necesariamente a las

óptimas.

(14)

3 Con el devenir de los años aparecen problemas en los cuales los métodos heurísticos tradicionales de solución no serían la mejor opción, de ahí que apareciese un nuevo concepto recogido en la literatura presente en (Michalewicz & Fogel 2000) como meta-heurísticas4 siendo definida por algunos autores como Michel Gendreau y Jean-Yves Potvin en su trabajo “Handbook of Metaheuristics” (Gendreau & Potvin 2010) cuya primera edición data del año 2003 y fue realizada en aquel entonces por los autores Glover y Kochenberger: Los procedimientos meta-heurísticos son una clase de métodos aproximados que están diseñados para resolver problemas complejos de optimización, en los que los heurísticos clásicos no son efectivos. Los meta-heurísticos proporcionan un marco general para crear nuevos algoritmos híbridos combinando diferentes conceptos derivados de la inteligencia artificial, la evolución biológica y los mecanismos estadísticos.

Actualmente existen diversas clasificaciones para estos procedimientos meta-heurísticos establecidas para esclarecer la amplia gama de posibilidades existentes para abordar un problema de optimización, atendiendo a características presentes en dichos métodos lo cual propició la bipartición del conjunto que componen las meta-heurísticas. Según el estudio presentado en (Blum & Roli 2003)esta clasificación se realiza atendiendo a la cantidad de soluciones que se mantienen en una misma iteración lo que da origen a los siguientes grupos:

 meta-heurísticas de trayectoria simple (Blum & Roli 2003): se utiliza el término de trayectoria simple porque el proceso de búsqueda que desarrollan estos métodos se caracteriza por una trayectoria en el espacio de soluciones; es decir, que partiendo de una solución inicial, son capaces de generar un camino o trayectoria en el espacio de búsqueda a través de operaciones de movimiento. En este tipo de meta-heurísticas se destacan: la Búsqueda Tabú (Taboo Search), Recorrido Simulado (Simulated Annealing), Búsqueda de Vecindades Variables (Variable Neighborhood Secar) , Búsqueda Local Guiada (Guided Local Secar), Búsqueda Local Iterativa ( Iterated Local Search) , entre otras.

 meta-heurísticas poblacionales: Las meta-heurísticas basadas en población, o meta heurísticas poblacionales, son aquellas que emplean un conjunto de soluciones

4 También conocido como heurísticas modernas designa al conjunto de métodos heurísticos de los

(15)

4 (población) en cada iteración del algoritmo, en lugar de utilizar una única solución como las meta-heurísticas del grupo anterior. Estas proporcionan de forma intrínseca un mecanismo de exploración paralelo del espacio de soluciones, y su eficacia depende en gran medida de cómo se manipule dicha población. Dentro de esta clasificación se destacan los Algoritmos Evolutivos (Evolutionary Algorithms; EA) y los algoritmos basados en Inteligencia Colectiva (Swarm Intelligence; SI).

Esta última clasificación es la más estudiada y presenta como característica el ser inspirada en algún proceso natural que va desde la Teoría Evolutiva de Darwing, en la cual se describe la evolución de las especies atendiendo a tres criterios fundamentales: replicación, variación y selección natural, base fundamental de los Algoritmos Genéticos (Genetic Algoritms GA), hasta la observación del comportamiento colectivo o comportamiento de enjambre de algunas especies como las colonias de insectos, bandadas de aves o cardúmenes de peces, base fundamental de meta-heurísticas como las Basadas en Colonia de Hormigas (Ant Colony Optimization; ACO),las Basada en Enjambre de Partículas (Particle Swarm Optimization; PSO (Ozcan & Mohan 1999).

Muchas instituciones a nivel internacional han mostrado su interés por el estudio y desarrollo de estas meta-heurísticas, encaminadas fundamentalmente a la mejora de los métodos ya existentes mediante el perfeccionamiento de alguna característica fundamental o la incorporación de nuevas ideas de otras meta-heurísticas a manera de métodos híbridos. Dentro de estas entidades se pueden nombrar los laboratorios de Soft Computing and Intelligent Information Systems (SCI2S)5,el Institut de Recherches Interdiciplinaires et de Développements en Intelligence Artificielle (IRIDIA)6 de la Universidad de Granada, en España, y la Universidad Libre de Bruselas, en Bélgica. Nuestro país también cuenta con centros especializados en el desarrollo de estas áreas de la ciencia como son el grupo de Optimización en el Instituto de Cibernética, Matemática y Física (ICIMAF)7, el Centro de

5Accesible desde http://sci2s.ugr.es/presentation/index.php 6Accesible desde http://code.ulb.ac.be/iridia.home.php

(16)

5 Estudios de Ingeniería de Sistemas del ISPJAE8, el grupo de Optimización de la UH9y el Laboratorio de Inteligencia Artificial de la UCLV10.

En consecuencia con lo planteado anteriormente, tras el estudio de estas meta-heurísticas, específicamente en las basadas en mallas variables, donde la distancia de las soluciones obtenidas tiene una gran influencia en la exploración del espacio de búsqueda y en el resultado de este algoritmo; y por tanto, al carecer este de un mecanismo de auto adaptación o retroalimentación en función de minimizar la evaluación de la función objetivo en dicho espacio, se deriva el problema científico siguiente: hallar una nueva alternativa de búsqueda en el ámbito de las meta-heurísticas basadas en mallas variables mediante la introducción de auto adaptación a estos métodos, de forma tal que permita obtener soluciones con mayor eficiencia y eficacia que las propuestas anteriormente en el área de estudio, ampliando de esta forma el rango de posibilidades de solución de problemas complejos.

De dicho problema se desglosan las siguientes preguntas de investigación:

 ¿Cómo incorporarle al algoritmo de optimización en mallas variables VMO técnicas de auto adaptación local con el fin de mejorar los resultados de las soluciones?

 ¿Qué efecto provoca la aplicación de las propuestas presentadas al problema de optimización en mallas variables VMO?

Para la solución del problema científico se propone el siguiente objetivo general de investigación el cual consiste en: modificar el algoritmo VMO basándose en el enfoque de las técnicas auto adaptativas con el fin de obtener mejores resultados en las soluciones alcanzadas por el algoritmo.

Este objetivo general fue desglosado en los siguientes objetivos específicos:

 Caracterizar las diferentes técnicas de auto adaptación global existentes para la meta heurística poblacional.

8Instituto Superior Politécnico José Antonio Echeverría, accesible

desdehttp://www.cujae.edu.cu/centros/ceis/

9Universidad de la Habana, accesible desde http://www.matcomp.uh.cu

(17)

6

 Implementar el algoritmo VMO con una de estas técnicas de auto adaptación con el fin de mejorar el resultado del algoritmo.

 Caracterizar los diferentes métodos estadísticos para la evaluación de los resultados obtenidos por la propuesta de solución.

 Evaluar los resultados obtenidos por uno de estos métodos estadísticos.

Tras haber construido el marco teórico se formuló la siguiente hipótesis de investigación:

Incorporar técnicas de auto adaptación al algoritmo VMO ofrece resultados de mayor calidad en la solución de problemas complejos que la aplicación de este algoritmo puro u otra variante donde se incluya alguna de estas técnicas aplicadas a priori.

Dicha hipótesis será válida si se comprueba que las soluciones obtenidas por la propuesta de solución presentada difieren, mostrando mejoría a las del VMO puro u otra variante donde se incluya alguna de estas técnicas aplicadas a priori.

La tesis está estructurada en tres capítulos. En el primer capítulo se tratan de manera general las principales meta-heurísticas poblacionales, haciendo énfasis en la optimización basada en Evolución Diferencial, así como las diferentes técnicas de auto adaptación existentes para dicha meta-heurística. También se exponen los conocimientos básicos sobre la hibridación de meta-heurísticas y las técnicas estadísticas comparativas a aplicar en el proceso de experimentación de la propuesta presentada.

Posteriormente en el capítulo dos se realiza la descripción de la meta-heurística basada en mallas variables VMO, la estrategia auto adaptativa seleccionada para la solución de la problemática de este estudio y el algoritmo resultante que da solución al objetivo del estudio.

Seguidamente en el capítulo tres se realiza una descripción del proceso de experimentación de la propuesta elaborada, donde se exponen los criterios de evaluación y condiciones bajo las cuales se llevaron a cabo los experimentos, así como el análisis de los resultados derivados de la realización de los experimentos

(18)

7

Capítulo 1

META-HEURISTICAS POBLACIONALES Y

EVOLUCIÓN DIFERENCIAL.

(19)

8

CAPÍTULO 1. META-HEURÍSTICAS

POBLACIONALES Y EVOLUCIÓN DIFERENCIAL.

El capítulo contiene una descripción general de los elementos y bases teóricas fundamentales en las que se sustenta la propuesta, formulando una idea general de los temas que se abordarán en el mismo.

1.1 Meta-heurísticas poblacionales

Para las meta-heurísticas poblacionales hay que tener en cuenta dos factores muy importantes con el fin de dirigir la búsqueda a zonas promisorias del espacio de solución en la definición de operadores (Iori 2005):

 La exploración, también llamada diversificación en la literatura, es el proceso de guiar la búsqueda hacia regiones no exploradas. Un algoritmo que realice una insuficiente exploración podría obviar regiones enteras, por lo que si el óptimo se encontrase en una de esas regiones, no tendría ninguna posibilidad de ser encontrado.

 La explotación, también llamada intensificación en la literatura, es el proceso de realizar una búsqueda minuciosa e intensa de mejores soluciones en un entorno cercano a buenas soluciones ya encontradas. Este proceso es fundamental para obtener una mayor precisión en las soluciones encontradas; aunque, cuando caen en un óptimo local, suelen quedarse estancados en este.

Por tanto solo se podrán obtener resultados más precisos mediante la aplicación de los métodos que combinan ambos factores.

1.2

Algoritmos Evolutivos

Inspirados por la Teoría de la Evolución de Darwin (Darwin 1859) quién en su teoría de evolución de las especies plantea la realización de esta atendiendo a tres conceptos fundamentales: replicación, variación y selección natural. En este tipo de algoritmos la

(20)

9 población inicial se encuentra compuesta por un conjunto de individuos11 quienes son mantenidos mediante la replicación. La diversidad de la población es mantenida mediante la variación, la cual provee diferencias entre los descendientes y sus progenitores y el proceso de selección es el encargado de seleccionar los mejores individuos de la población atendiendo a determinado criterio.

Los Algoritmos Evolutivos (EA) en su totalidad se caracterizan por estar compuestos de una población inicial la cual es generada usualmente de forma aleatoria y sobre la que se realizará un proceso interactivo que conducirá a la evolución de la misma atendiendo a los siguientes criterios:

 La aplicación de un operador de selección para determinar la probabilidad de cada individuo de la población de perdurar en la siguiente generación, formándose así una población temporal.

 La aplicación operadores evolutivos (recombinación, mutación), a parte o la totalidad de la población temporal, con lo que se produce un conjunto de nuevas soluciones.

 El cálculo del valor de la función a optimizar en las nuevas soluciones generadas.

 Obtención una nueva población a partir de la población temporal y los nuevos individuos generados.

Estos criterios se aplicarán hasta que se cumpla una condición de parada dada y la cual es generalmente un número máximo de evaluaciones de la función objetivo.

Todo este proceso de creación de nuevos individuos partiendo de los existentes en la población se conoce como evolución de la población. La orientación de la búsqueda hacia las regiones más prometedoras está guiada por la selección y combinación de los mejores individuos, atendiendo a ciertas características de buenas soluciones halladas hasta el momento y almacenadas en la población. Aunque todos los algoritmos de este tipo se rigen por los mismos criterios, van a diferir en el mecanismo utilizado para la codificación de las

11

Conocido como cromosoma en Algoritmos Genéticos en Algoritmo Evolutivos esta estructura representa una solución al problema en cuestión.

(21)

10 soluciones y los operadores encargados de la generación de la población para la siguiente iteración.

Para realizar la selección de los nuevos individuos que servirán de base para generación de la población temporal para la próxima iteración en los EA, existen varios criterios dentro de los cuales los más habituales son:

Selección elitista: la población temporal va a estar compuesta por los mejores individuos de la población actual, es decir, los individuos que tienen mejor evaluación de la función objetivo a optimizar. Este criterio provoca un estancamiento del algoritmo debido a la convergencia del mismo hacia mínimos locales.

Selección aleatoria: es la encargada de obtener una población temporal de forma totalmente aleatoria. Este criterio reduce la explotación del espacio de búsqueda, lo cual conlleva a la omisión de buenas soluciones de la población temporal que podrían arrojar mejores resultados en la generación de la nueva población.

Selección probabilística: Este criterio asigna a cada solución una probabilidad, dependiendo de su calidad y mediante las generaciones aleatorias se puede determinar qué solución formará parte de la población temporal.

Dentro de los diferentes tipos de EA podemos encontrar: Los Algoritmos Genéticos (Goldberg 1989), Programación Genética (Genetic Programming) (Angeline 1994), Estrategias de Evolución (Evolution Strategies) (Beyer et al. 2002) y Programación Evolutiva (Evolutive Programing) (Langdon & Poli 2002),aunque en los últimos años y con el desarrollo alcanzado en el estudio de estos algoritmos han aflorados otros métodos de los cuales se hace una breve descripción a continuación:

La búsqueda dispersa (Scatter Search) (Laguna & Marti 2003).Este método mantiene dos subpoblaciones, una élite, en la cual se almacenan las mejores soluciones encontradas y otra compuesta por individuos distantes de la subpoblación anterior con el fin de garantizar la diversidad durante el proceso de combinación. También este método considera el empleo de una búsqueda local para la exploración de otras soluciones encontradas.

(22)

11

La Evolución Diferencial (Evolución Diferencial) (Price et al. 2005). En este método las soluciones estarán representadas mediantes vectores de valores reales. Las poblaciones de soluciones serán modificadas de forma sucesiva mediante los operadores de suma y resta vectorial, así como operaciones de intercambios de valores, hasta que la población converja en el espacio de búsqueda.

Algoritmos basados en estimación de distribuciones (Estimation of Distribution Algorithms) (Larrañaga & Lozano 2002). Una de las características de este método radica en no utilizar ni los operadores de cruce ni los de mutación para generar nuevas soluciones, sino que genera la nueva población mediante el muestreo de una distribución de probabilidad, estimada a partir de los mejores individuos de las generaciones anteriores.

Algoritmos meméticos (Memetic Algorithms) (Moscato & Cotta 2010) (Hart et al. 2005). Representan un método clásico híbrido, en el cual se le incluye al poder de exploración de un EA una o más fases de búsqueda local en el mismo ciclo evolutivo. De este modo se logra explorar y explotar el espacio de búsqueda al mismo tiempo.

1.3

Evolución Diferencial

El primer artículo sobre Evolución Diferencial (DE) fue por Kenneth Price y Rainer Storn en octubre de 1995 bajo el nombre de "Evolución Diferencial a simple and efficient adaptive scheme for global Optimization over continuous spaces". En sus inicios, este método de optimización perteneciente a la categoría de computación evolutiva, aplicado en la resolución de problemas complejos, estaba enfocado en la resolución del problema de ajuste de polinomio de Tchebychev (Dvortsov 2006) utilizando una variante del método llamado Recocido Genético (Genetic Annealing), el cual había sido desarrollado por Price el año anterior.

En la actualidad el algoritmo DE es uno de los más usados en diferentes ramas de la ciencia y la ingeniería para hallar buenas soluciones aproximativas a distintos problemas reales sin la necesidad del conocimiento de un experto o del diseño de un complejo algoritmo debido a su simple estructura, velocidad y eficiencia en el cálculo de dichas soluciones.

(23)

12 DE emplea el operador de mutación como un mecanismo de búsqueda y la selección como un mecanismo, mediante el cual direcciona dicha búsqueda a través de las zonas de mejor perspectiva en el espacio de búsqueda.

La principal diferencia de los Algoritmos Genéticos (AG) y la Evolución Diferencial (DE) radica en el proceso de cruzamiento, el cual en los AG es un mecanismo probabilístico de intercambio completo de información y trae como resultado la sustitución de soluciones iniciales por soluciones de mejor calidad, atendiendo a un cierto criterio de la función objetivo; mientras que, la estrategia evolutiva DE emplea la mutación como el principal mecanismo de búsqueda.

1.3.1 Descripción de la meta-heurística

En su ejecución DE utiliza una población de NP variables en vectores D dimensionales para cada generación.

𝑥𝑖,𝐺 𝑖 = 1,2, … . . 𝑁𝑃 (1.3.1)

NP no cambia durante el proceso de minimización y la población inicial es escogida, en caso de no tener información concreta del problema, de forma aleatoria, de tener un conjunto de soluciones preliminares esta población será generada atendiendo a una desviación estándar random de los datos proporcionados por las soluciones preliminares.

En concreto la idea del DE es un nuevo esquema de generación de vectores paramétricos triales mediante la diferencia ponderada de dos vectores pertenecientes a la población con un tercer miembro de la misma población. Posteriormente, si al evaluar el vector resultante del proceso anterior en cierto criterio valorado como función objetivo, este es mejor, entonces el vector original de la población con el cual se está efectuando la comparación es sustituido por este nuevo vector.

Mutación

Para cada vector 𝑥𝑖,𝐺 𝑖 = 1,2,3 … … 𝑁𝑃se genera un vector de mutación atendiendo a:

(24)

13 Donde los índices 𝑟1, 𝑟2, 𝑟3 ∈ {1,2, … . . 𝑁𝑃}son generados aleatoriamente y F > 0. El factor Fes una constante real definida en el intervalo ∈ [0,2]mediante el cual se controlará la ampliación de la variación diferencial (𝑥𝑟2− 𝑥𝑟3). Esta estrategia de generación se conoce como DE/rand/1 (Qin 2005).

Con el fin de garantizar una mayor diversidad de las soluciones contenidas en el espacio de búsqueda y propiciar un mejor balance entre la exploración y la explotación del mismo, es que surgen nuevas estrategias para la aplicación del proceso de mutación descrito en la ecuación (1.3.2) dentro de las que destacan: (Qin 2005).

DE/best/1 definida mediante la ecuación 𝑣𝑖,𝐺 = 𝑥𝑏𝑒𝑠𝑡,𝐺+ 𝐹 ∗ (𝑥𝑟2,𝐺− 𝑥𝑟3,𝐺)

DE/current-to-best/1 definida mediante la ecuación𝑣𝑖,𝐺 = 𝑥𝑖,𝐺+ 𝐹 ∗ (𝑥𝑏𝑒𝑠𝑡,𝐺− 𝑥𝑖,𝐺) + 𝐹 ∗ (𝑥𝑟1,𝐺− 𝑥𝑟2,𝐺)

DE/rand/2 la cual se define por la ecuación𝑣𝑖,𝐺 = 𝑥𝑟1,𝐺+ 𝐹 ∗ (𝑥𝑟2,𝐺− 𝑥𝑟3,𝐺+ 𝑥𝑟4,𝐺− 𝑥𝑟5,𝐺)

DE/best/2 siendo definida por la ecuación𝑣𝑖,𝐺 = 𝑥𝑏𝑒𝑠𝑡,𝐺+ 𝐹 ∗ (𝑥𝑟2,𝐺− 𝑥𝑟3,𝐺+ 𝑥𝑟4,𝐺− 𝑥𝑟5,𝐺)

Cruzamiento

Con el fin de mantener la diversidad es que se introduce el cruzamiento de estos vectores para el vector trial resultante.

ui,G+1 = (u1i,G+1+ u2i,G+1+ u3i,G+1) (1.3.3)

(25)

14 FIGURA 1.1EJEMPLODELPROCESODECRUZAMIENTOPARAD=7

La conformación del nuevo vector se realiza atendiendo a la función por ramas definida como:

uji,G+1 = { uji,G+1 si (randb(j) ≤ CR) or j = rnbr(i)

uji,G+1 si (randb(j) > CR) and j ≠ rnbr (i)} , j = 1,2, … … , D (1.3.4)

Donde en (4) randb (j) es la j-ésima evaluación de una generación uniforme de números en el intervalo ∈ [0,1]. CR no es más que un valor real constante de cruzamiento en el intervalo∈ [0,1]determinado por el usuario según las condiciones del problema, rnbr (i) es el valor de un índice∈ 1,2, … … , D seleccionado aleatoriamente para asegurar de que al menos ui,G+1posea un valor.

SELECCIÓN

La decisión de cuál de estos vectores solución formará parte o no de la siguiente generación esta G + 1 definida por la siguiente función:

xi,G+1 = {ui,G+1 si FO(ux i,G+1) < FO(xi,G)

(26)

15 Donde ui,G+1 es el vector trial obtenido de los procesos detallados anteriormente,xi,G vector objetivo para la iteración i del algoritmo,xi,G+1vector que formará parte de la generación G + 1 y FO evaluación de la función de las componentes ui,G+1 y xi,G.

1.3.2 Trabajos relacionados con Evolución Diferencial

Desde que el algoritmo de Evolución Diferencial fuese propuesto se ha empleado desde entonces en muchos casos prácticos, lo cual ha conllevado a su desarrollo, evidenciándose en las diferentes versiones propuestas que se encuentran en la literatura. En el 2004 una nueva propuesta de este fue publicada (Ali & Törn 2004) en la cual también se definen algunas modificaciones al algoritmo DE clásico. Dicha propuesta tiene el propósito de mejorar la eficiencia del mismo a través de la propuesta de una población auxiliar compuesta de NP individuos como continuación de la población original del algoritmo, así como la definición de una nueva regla para el control automatizado del parámetro F. También en este mismo año en (SUN et al. 2005) se realiza la propuesta de combinar DE con el Algoritmo de Distribución Estimada con el objetivo de guiar la búsqueda a las áreas más promisorias mediante un modelo de solución probabilístico.

En esta misma década ya se había reportado un estudio sobre la sensibilidad del algoritmo ante la configuración de los parámetros de control, trabajo que fue recogido en (Eiben et al. 2007) donde quedó expuesto que la mejor configuración de los parámetros de control para el algoritmo estaría en dependencia de los requerimientos del problema en cuanto al tiempo de concurrencia, criterio que se diferenciaría al expuesto en (Storn 1997). Posteriormente el estudio (Liu & Lampien 2005) publicaría la adaptación de los parámetros de control de mutación y cruzamiento.

Luego ya aparecería la introducción de las técnicas auto adaptativas a este algoritmo en publicaciones de estudios realizados por autores como Teo (Teo 2006), Brest (Brest et al. 2006) y Qin junto con Suganthan (Qin 2005).

1.3.3 Introducción de mecanismos auto adaptativos

A pesar de que DE demuestra un gran desempeño en la solución de problemas complejos, este método presenta problemas de pérdida de la diversidad producto a una convergencia prematura debido a que la exploración global del algoritmo es considerada adecuada pero

(27)

16 la habilidad de explotación se muestra débil y su velocidad de convergencia es demasiado lenta.

DE se muestra sensible a la selección de los parámetros de control lo cual propicia que se haga difícil la adecuación del método a diferentes problemas, por ello es que surge la necesidad de incluirle al método clásico alternativas de auto adaptación. Lo anterior trajo como consecuencia el surgimiento de nuevas alternativas de Evolución Diferencial, las cuales pueden ser clasificadas atendiendo a sus diferencias en cuanto al control de los parámetros como (Eiben & Smith 2003):

Control determinístico de los parámetros: Toma lugar al efectuarse la modificación del valor de los parámetros mediante la aplicación de una regla determinista.

Control adaptativo de los parámetros: Se le realiza una determinada forma de feed back de la búsqueda mediante el cual se determina la dirección y la magnitud del cambio de los parámetros.

Control auto-adaptativo de los parámetros: Se muestra mediante la idea de la evolución de la evolución de los parámetros, en esta alternativa la adaptación de los parámetros va implícita en el diseño de los cromosomas de cada individuo y es manifestada mediante la acción de algún operador genético.

A continuación se hace referencia a algunas de estas propuestas por su alto interés investigativo:

Evolución Diferencial con Poblaciones Auto-adaptativas (DESAP) (Teo 2006). La idea central de este algoritmo propone la determinación de la dimensión para la población inicial de forma automática durante el proceso de Evolución Diferencial.

Evolución Diferencial Difusa (FADE) (Liu & Lampien 2005). La idea central de este algoritmo está basada en la lógica difusa (Zadeh 1994) para el control de los parámetros en las operaciones de cruzamiento y mutación.

Evolución Diferencial con auto adaptación (SADE) (Qin 2005). Este algoritmo es capaz de auto adaptar automáticamente y de forma probabilística, las estrategias de aprendizaje y el control de los parámetros en los procesos de cruzamiento y mutación durante la evolución del mismo mediante la aplicación diferenciada de

(28)

17 dichas estrategias, lo cual facilita una cierta flexibilidad de adaptación para la solución de problemas con diferentes características.

 Evolución Diferencial con auto adaptación mediante Criterios de Bonificación (jDE) (Brest et al. 2006). Este algoritmo se centra en la penalización de las soluciones de peor calidad y la bonificación de las soluciones obtenidas de mejor calidad durante los procesos de cruzamiento y mutación y que formarán parte de la generación siguiente del algoritmo.

En un estudio comparativo de estas estrategias presentadas anteriormente recogido en (Brest et al. 2007) en el cual se toma como criterio de evaluación, la valoración de los algoritmos por 15 Funciones de Bechmark12 muestra los siguientes resultados (Figura 1.2):

FIGURA 1.2:RESULTADOS DE LA EVALUACIÓN DE LOS ALGORITMOS PARA FUNCIONES UNIMODALES Y MULTIMODALES.

Donde SR es el comportamiento de los algoritmos para la solución de problemas representados por funciones unimodales y SF describe el mismo comportamiento pero en este caso para la solución de problemas representados por funciones multimodales.

Claramente se puede apreciar que para los problemas representados por funciones unimodales los algoritmos más eficientes son el jDE-2 y el DE. Ambos alcanzan un promedio de solución del 100% de los problemas representados, mientras que para aquellos representados por las funciones multimodales las variantes más eficientes son el algoritmo SADE con un 53% de promedio de solución y el jDE-2 con un 51% de promedio de solución. Lo cual lleva a concluir que la mejor alternativa para la optimización de problemas multimodales complejos utilizando Evolución Diferencial para su solución es la implementada en el algoritmo SADE.

12Es el resultado de la ejecución de un programa informático o un conjunto de programas en una máquina, con el objetivo de estimar el rendimiento de un elemento concreto, y poder comparar los resultados con máquinas similares.

(29)

18

1.4 Hibridación de meta-heurísticas con otras meta-heurísticas

Al inicio de las investigaciones sobre hibridación los investigadores preferían la realización de estas, partiendo de la combinación de las meta-heurísticas con cualquier otra técnica de optimización. Posteriormente empezaron a valorar la posibilidad de la combinación de estas meta-heurísticas entre sí. La principal razón para la hibridación de las meta-heurísticas radica en la posibilidad de obtener un mejor rendimiento en los sistemas mediante la explotación de la combinación de las ventajas individuales en la aplicación de estas estrategias en su forma clásica; aunque el escoger la combinación adecuada de algoritmos es la clave para la obtención de un rendimiento máximo a la hora de resolver estos problemas de optimización complejos.

Este tipo de hibridación ha alcanzado gran popularidad, sobre todo en lo concerniente al empleo de la búsqueda local en los métodos basados en población, ya que la mayor fortaleza de estos métodos radica en su capacidad de exploración. Esto se debe a que en los inicios de la búsqueda local se trata de capturar una imagen global del espacio de búsqueda, y posteriormente, en correspondencia con las particularidades del problema, opera interactivamente hasta derivar en diversas soluciones enfocadas hacia las regiones más promisorias de dicho espacio de búsqueda. En el campo de la computación evolutiva se le conoce a este tipo de hibridación como Algoritmos Meméticos (Krasnogor & Smith 2005).

Además de este método de hibridación expuesto anteriormente esta categoría también recoge las llamadas Técnicas Multinivel (Sciences 2004; Walshaw 2008) plataformas heurísticas con el potencial de realizar el proceso de búsqueda de una meta heurística más eficiente y eficaz. Su idea básica es la cohesión de instancias del problema en cuestión que se irá transformando hasta obtener una solución de la instancia original del mismo.

Otro de los híbridos pertenecientes a esta categoría lo constituyen los llamados Hyper Heurísticas (Burke et al. 2003) Estos trabajan a un alto nivel al igual que las meta heurísticas clásicas. En esencia, nunca van a operar directamente sobre el espacio de búsqueda del problema en consideración, sino que instancian sus operadores en un espacio de búsqueda consistente con el de una meta heurística de más bajo nivel.

(30)

19 Interesantes propuestas que abordan el tema han seguido apareciendo en los últimos años como son:

 Las concernientes a la Búsqueda Loca Iterada en algoritmos poblacionales (Stützle 2006)donde se expone que cada búsqueda local iterada es extendida desde el trabajo en una sola solución hasta la población, la cual es manejada con el estilo de alguna estrategia evolutiva.

El uso de algoritmos evolutivos con técnicas de perturbación sin búsqueda local iterada (Lozano & García-Martínez 2010).

Las basadas en GRASP y las metodologías de redireccionamiento de caminos (Resende et al. 2010).

Las basadas en el uso de Búsqueda Tabu (Montemanni & Smith 2010) donde se propone la manipulación heurística mediante mecanismos basados en la idea de la adición de restricciones a los resultados del problema en el espacio de búsqueda que favorezcan la solución del problema.

1.4.1 Taxonomía de las meta-heurísticas híbridas

La taxonomía de las meta-heurísticas hibridas se representa de forma jerárquica Figura 1.3. En ésta, las clasificaciones se han realizado atendiendo a dos criterios fundamentales: el diseño y la funcionalidad de estos algoritmos (Krasnogor & Smith 2005).

(31)

20 FIGURA 1.3CLASIFICACIÓN DE LAS META-HEURÍSTICAS HIBRIDAS SEGÚN SU DISEÑO Y

FUNCIONALIDAD.

Este esquema deja ver un primer nivel donde se encuentran las meta heurísticas hibridas de bajo nivel (Low-level) y alto nivel (High-level).

Meta-heurísticas híbridas de bajo nivel. Se caracterizan por estar compuestas de un solo método de optimización. En estas la función heurística de la meta heurística es reemplazada por otra meta heurística.

Meta-heurísticas híbridas de alto nivel. Su principal características es la autocontención de las diferentes meta-heurísticas empleadas, es decir, no va a existir una relación directa en el trabajo interno de dichas meta-heurísticas.

En un segundo nivel se encuentran las meta-heurísticas híbridas basadas en repetición (Relay) y las coevolutivas para cada una de los progenitores propuestos situados en el primer nivel. De ellas se derivan cuatro clasificaciones:

(32)

21

LRH (Low-levelRelayHybrid): Esta clase representa algoritmos en los cuales una de las meta-heurística está impregnada en una única solución de la otra meta-heurística (Martin et al. 1992).

LCH (Low-level Co-evolutionaryHybrid): Basada en la explotación y exploración del espacio de búsqueda clásica para los algoritmos evolutivos, donde la exploración necesita recorrer todo el espacio de búsqueda con el objetivo de encontrar un óptimo global; mientras que la explotación es la encargada del tratamiento de las soluciones encontradas para a partir de estas hallar mejores soluciones.

HRH (High-levelRelayHybrid): En este tipo de algoritmo las meta-heurísticas contenidas son ejecutadas de forma secuencial (Mahfoud & Goldberg 1995).

HCH (High-level Co-evolutionaryHybrid) En esta propuesta las meta-heurísticas contenida ejecutan la búsqueda de soluciones de forma paralela cooperando entre ellas hasta encontrar un óptimo.

En el tercer nivel de este árbol jerárquico se muestran las clasificaciones siguientes:

Homogeneous: En los híbridos homogéneos todos los algoritmos combinados utilizan la misma meta-heurística. No sucede así en la clasificación Heterogeneous donde se desarrollan diferentes meta-heurísticas.

Global: En este tipo de híbrido todos los algoritmos realizan la búsqueda en todo el espacio de búsqueda, brindando la facilidad de explorar todo el espacio con mayor profundidad. Se diferencia de los clasificados como Partial (híbridos parciales) donde el problema es descompuesto en subproblemas, cada uno con un espacio de búsqueda determinado, en el cual cada algoritmo realizará la búsqueda por separado.

Specialist: Este tipo de clasificación hace referencia a las meta-heurísticas híbridas en las cuales cada algoritmo combinado resuelve un problema distinto. No ocurre así para los algoritmos híbridos clasificados por Generalpues. En estos, todos los algoritmos que participan en dicho escenario resuelven el mismo problema de optimización objetivo.

(33)

22

1.5 Técnicas estadísticas empleadas en la validación de resultados

Al comparar un conjunto de algoritmos se percibe la carencia de un método preciso y acertado mediante el cual realizar dicha tarea. Esto puede ser producto al comportamiento del conjunto de datos obtenidos, el cual al no ser determinista posibilita que la diferencia entre estos valores esté dada en factores aleatorios y no en una mejora real (Demšar 2006).

En la búsqueda de las diferencias significativas entre dos algoritmos los investigadores suelen aplicar diversas técnicas estadísticas. Dentro de estas técnicas se encuentran los test no paramétricos (Sheskin 2004), aplicados durante la propuesta presentada al no ajustarse los resultados de las meta-heurísticas a las condiciones para la aplicación de pruebas paramétricas (Luengo et al. 2009).

Muchas son las herramientas para la realización de estas pruebas estadísticas pero para el caso de estudio se emplea el IBM SPSS Statistics, una herramienta especializada en análisis estadísticos de datos capaz de mostrar características, reportes, gráficas, distribuciones, estadísticas descriptivas y complejos análisis estadísticos con gran precisión (IBM SPSS Amos 2012).

A continuación se describe el proceso mediante el cual se realizó dicha comparación, en el mismo todos los resultados se trabajaron con un margen de error del 5% (nivel de significación de 0.05). De emplear otro este valor será especificado.

 Tras la obtención de los resultados a estos se le aplica una prueba de normalidad para demostrar si los mismos se ajustan o no a una distribución normal.

 De no ajustarse este conjunto a una distribución normal entonces se aplicará una prueba no paramétrica, específicamente un test de Friedman (Sheldon et al. 1996) y posteriormente uno de Wilcoxon con rangos de signos (Woolson 2008) y con muestras exactas en la herramienta SPSS.

 Análisis gráfico de los resultados arrojados por la aplicación de los test en la herramienta mencionada en el paso anterior.

(34)

23

1.6 Conclusiones parciales del capítulo

En este capítulo, se describen todos los conceptos necesarios para el conocimiento general del documento. En este propósito, se introduce el contexto de optimización, los principios de las meta heurísticas, una breve caracterización de las meta heurísticas, así como una caracterización del método de Evolución Diferencial y la comparación de las diferentes estrategias auto adaptativas existentes para el mismo. También se lleva a cabo una breve descripción de los principios y características fundamentales de la hibridación entre meta heurísticas.

El objetivo de esta tesis es la introducción de una técnica auto adaptativa: la meta-heurística poblacional de optimización de mallas variables, con el propósito de mejorar el rendimiento de este en la solución de problemas complejos. En vista a lograr este objetivo se realizó un estudio de las estrategias de auto adaptación existente para algunas meta-heurísticas, como es el caso de la evolución diferenciada y su rendimiento, seleccionando la estrategia SADE por el beneficio de esta según los estudios realizados anteriormente en esta rama de la ciencia. La optimización del espacio de búsqueda en una meta-heurística es fundamental para alcanzar un mejor rendimiento en cuanto a la exploración y explotación del mismo. Estas razones son tomadas como pilares en la realización de la propuesta en aras de lograr una optimización de esta meta-heurística.

En el próximo capítulo se realizará una descripción detallada de la meta heurística poblacional VMO, así como las principales modificaciones realizadas al algoritmo para la obtención de una versión auto adaptativa de la misma mediante la combinación de dos meta heurísticas.

(35)

24

CAPÍTULO 2.

META-HEURÍSTICA HÍBRIDA VMO

SADE.

(36)

25

CAPÍTULO 2. META-HEURÍSTICA HÍBRIDA VMO

SADE

2.1 Meta-heurística poblacional de optimización basada en mallas variables.

La Optimización Basada en Mallas Variables (Variable Mesh Optimization: VMO) no es más que una meta-heurística poblacional con características evolutivas en la que un conjunto de nodos que representan soluciones factibles a un determinado problema de optimización, forman parte de una población inicial denominada malla la cual crece dinámicamente y se desplaza por el espacio de búsqueda. Para esto se efectúa un proceso de expansión por ciclos. En el cual, en cada ciclo se generan nuevos nodos en dirección a los extremos locales (en cierta vecindad los nodos de la malla de mejor calidad) y al nodo de mejor calidad de la malla durante todo el proceso de desarrollo (dígase este como un extremo global); así como hacia los nodos fronteras (nodos más extremos de la malla) Los mismos serán los encargados de expandir la malla por todo el espacio de búsqueda. Una vez finalizado este ciclo del proceso se realizará un proceso de contracción de la malla. Este proceso consiste en seleccionar los nodos de mejor calidad del conjunto total de nodos obtenidos durante el proceso descrito anteriormente para formar parte de la población inicial para la siguiente iteración del algoritmo.

2.1.1 Descripción general de la meta-heurística VMO.

En su esencia, el método VMO, crea una serie de puntos en un espacio m dimensional en donde se realiza la optimización de una función objetivo FO (𝑥1, 𝑥2, 𝑥3, … … … … , 𝑥𝑚) Esta función se va a mover mediante un proceso de expansión por otras regiones comprendidas en el espacio de búsqueda y haciéndose más finas hacia zonas promisorias de dicho espacio. El dinamismo está evidenciado por la capacidad de cambio de tamaño (número de nodos de la malla) y configuración. La representación de los nodos en esta malla está dada vectorialmente de la forma 𝑛(𝑥1, 𝑥2, 𝑥3, … … . . 𝑥𝑚).

(37)

26 El proceso de generación de nodos en cada ciclo proceso de expansión de la malla13, mostrado gráficamente en la Figura 3, se describe de la siguiente forma:

1. Generación de la malla inicial.

2. Generación de nodos hacia los extremos locales (nl). 3. Generación de nodos hacia el extremo global (ng).

4. Generación de nodos a partir de los nodos frontera de la malla (nf).

Para la ejecución del método se incluirán los parámetros descritos a continuación:

 Cantidad de nodos de la malla inicial (Ni).

 Cantidad máxima de nodos en la malla por cada ciclo (N); condición que estará sujeta a la restricción(3 ∗ 𝑁𝑖) +𝑁𝑖

2 ≤ 𝑁.

 Tamaño de la vecindad (k).

 Condición de parada (M).

Seguidamente se presenta la descripción completa del proceso de expansión de este algoritmo:

Generación de la malla inicial en cada iteración: La malla de forma inicial va estar compuesta por Ni nodos generados aleatoriamente o por cualquier otro método mediante el cual se garantice la diversidad de las soluciones. En las siguientes iteraciones los nodos que formaran parte de esta malla inicial serán los que han sido seleccionados en el proceso de contracción de la malla, que no es más que la selección de los (N nodos) de mejor calidad según la función objetivo al final de cada iteración.

Generación de nodos hacia los extremos locales: En este se realiza la exploración de cada una de las vecindades de los nodos de la malla inicial para lo cual se buscan los vecinos más cercanos de cada nodo n mediante una función de distancia o semejanza en dependencia del dominio de cada dimensión14. Posteriormente es seleccionado el vecino que posee mejor calidad, según la evaluación de estos en la función objetivo, que el nodo actual (denótese

13Denominación para describir el proceso en el cual la malla crece y se desplaza por el espacio de

búsqueda.

(38)

27 este por nl). De no haber ningún vecino que cumpla con la condición expuesta entonces se considera al nodo actual como un extremo local y no se generan nodos a partir de él en este paso. En otro caso se genera un nuevo nodo (𝑛∗) que se encontrará situado entre el nodo (n) y el extremo local (nl).

La proximidad del nuevo nodo al extremo local o al nodo actual va a depender de un factor (r), calculado en relación a los valores que alcanza la FO en cada uno de los nodos involucrados mediante la ecuación:

𝑟 = 1

1 + |𝐹𝑂(𝑛) − 𝐹𝑂(𝑛𝑒)| (2.1)

Seguidamente se calculan los valores de las componentes de los nuevos nodos mediante la ecuación

𝑛∗(𝑖) = 𝑓(𝑛(𝑖), 𝑛𝑙(𝑖), 𝑟) (2.2)

Donde i representa el i-ésimo componente de cada nodo y la función f va a depender en su totalidad del dominio de cada una de las dimensiones del problema, por lo que se puede presentar como una función de selección de valores para casos discretos o como una aproximación para casos continuos.

Mientras mayor sea la diferencia entre los valores de FO en los nodos involucrados, mayor será la cercanía o semejanza de n* a nl, esto lo garantiza el factor r. Este paso se encarga de realizar una intensificación de la búsqueda en la vecindad de cada nodo. En la propuesta para la función f se utiliza una función por ramas definida de la siguiente forma:

𝑛∗(𝑖) = {

𝑣𝑚(𝑖), 𝑠𝑖 |𝑣𝑚(𝑖) − 𝑛𝑒(𝑖)| > 𝑐𝑑 𝑦 𝑣𝑎[0,1] ≤ 𝑟 𝑛𝑒(𝑖) + 𝑣𝑎[−𝑐𝑑, 𝑐𝑑], 𝑠𝑖 |𝑣𝑚(𝑖) − 𝑛𝑒(𝑖)| ≤ 𝑐𝑑

𝑣𝑎[𝑣𝑚(𝑖), 𝑛𝑒(𝑖)], 𝑒𝑛 𝑜𝑡𝑟𝑜 𝑐𝑎𝑠𝑜

(2.3)

Donde vm (i) representa el valor medio entre el nodo actual y el extremo local para la i ésima dimensión y calculado mediante la ecuación:

(39)

28

𝑣𝑚(𝑖) =𝑛(𝑖) + 𝑛𝑒 (𝑖) 2

(2.4)

Además 𝑣𝑎[𝑎, 𝑏], es un valor aleatorio generado en el intervalo [𝑎, 𝑏] y cd una cuota de distancia adaptativa la cual se calcula mediante:

𝑐𝑑 = { |inf + 𝑠𝑢𝑝| 4 , 𝑠𝑖 𝑗 < 15%𝑀 |inf + 𝑠𝑢𝑝| 8 , 𝑠𝑖 15%𝑀 ≤ 𝑗 < 30%𝑀 |inf +𝑠𝑢𝑝| 16 , 𝑠𝑖 30%𝑀 ≤ 𝑗 < 60%𝑀 |inf + 𝑠𝑢𝑝| 50 , 𝑠𝑖 60%𝑀 ≤ 𝑗 < 80%𝑀 |inf + 𝑠𝑢𝑝| 100 , 𝑠𝑖 𝑗 ≥ 80%𝑀 (2.5)

Siendo M el valor máximo de evaluaciones de la función objetivo (condición de parada) y j la evaluación actual. En dependencia del por ciento que represente la evaluación actual, se definen valores de distancia que representan partes del intervalo permitido.

A modo de resumen, la función f se comporta tal que: en el primer caso se obtiene para la i-ésima componente el valor medio entre el nodo actual y el extremo local; en el segundo caso, se explora la vecindad del extremo local utilizando un valor en función de la distancia mínima permitida y, en el último caso, se genera un número aleatorio entre el valor medio y el extremo local.

Generación de nodos en dirección hacia el extremo global: Aquí se tiene como propósito realizar una exploración global hacia el nodo que mejor calidad ha tenido hasta el momento (extremo global, ng); para ello, se generan nuevos nodos a partir de cada nodo de la malla inicial en dirección a este utilizando la ecuación:

𝑛∗(𝑖) = 𝑔(𝑛(𝑖), 𝑛𝑔(𝑖), 𝑟)

(40)

29 Similar a la función f, g es una función que va a estar también totalmente relacionada con el dominio de cada dimensión y va a garantizar que mientras mayor sea la diferencia entre la calidad de cada nodo involucrado (determinado por r), mayor será la cercanía del nuevo nodo al extremo global. Mediante este proceso se garantiza la convergencia del método.

A continuación se define la función g empleada en la presente propuesta en la cual se emplea el valor r hallado por la ecuación (2.1) y donde se sustituye ne por ng:

𝑛∗(𝑖) = { 𝑣𝑚(𝑖), 𝑠𝑖 𝑣𝑎[0,1] ≤ 𝑟

𝑣𝑎[𝑣𝑚(𝑖), 𝑛𝑔(𝑖)] 𝑒𝑛 𝑜𝑡𝑟𝑜 𝑐𝑎𝑠𝑜

(2.7)

En la ecuación anterior el valor medio vm entre el nodo actual y el extremo global sigue siendo igualmente calculado por la ecuación (2.4).

En esta función, de existir grandes diferencias entre la calidad del extremo global y el nodo actual, habrá mayor probabilidad de que la i-ésima componente tome valores más cercanos a ng, en caso contrario es valorizada con el valor medio.

Generación de nodos a partir de los nodos más externos de la malla: este proceso de

generación de nuevos nodos tiene lugar con el objetivo de explorar el espacio de búsqueda en dirección a las fronteras de cada dimensión. Para lo cual, son seleccionados los nodos cuyas posiciones se encuentran en los extremos de la malla inicial (nodos fronteras).

El proceso de detección de este tipo de nodo (nf) se realizará siguiendo algún criterio en dependencia del espacio solución. En este caso de estudio será mediante la norma definida como: ‖𝑛‖ = √∑(𝑛(𝑖))2 𝑛 𝑖=1 2 (2.8)

(41)

30 De forma tal que los nodos de mayor norma son los que están situados en el contorno (puntos más externos) de la malla inicial, y los de menor norma se consideran los nodos que más cerca se encuentran del origen (puntos más internos). La generación de los nuevos nodos se obtiene a través de la ecuación:

𝑛∗(𝑖) = ℎ (𝑛𝑓(𝑖), 𝑤)

(2.9)

Esta función h consta de dos expresiones para la generación de los nuevos nodos, las cuales se definen como:

Para los nodos más extremos:

𝑛∗(𝑖) = {𝑛𝑙(𝑖) + 𝑤, 𝑠𝑖 𝑛𝑙(𝑖) > 0

𝑛𝑙(𝑖) − 𝑤, 𝑠𝑖 𝑛𝑙(𝑖) < 0

(2.10)

La componente w representa un valor real conocido como desplazamiento y calculado por la ecuación:

𝑤 = (𝑤0− 𝑤𝑓) ∗

𝑀 − 𝑗 𝑀 + 𝑤𝑓

(2.11)

Donde el parámetro M y la variable j, están estrechamente relacionados y provocan las variaciones en el valor de w; el primero representa el número total de iteraciones del algoritmo o un número máximo de evaluaciones de la función objetivo (criterio más utilizado). Por su parte, j denota el valor actual de uno de los criterios mencionados anteriormente. La variable w0 representa el desplazamiento inicial y wf el valor final. Ambas variables son calculadas mediante las ecuaciones: 𝑤0 = 𝑎𝑚

10 𝑦 𝑤𝑓= 𝑎𝑚

100 respectivamente en las cuales am representa la amplitud media del intervalo permitido para la i-ésima componente y se calcula como 𝑎𝑚 =|𝑖𝑛𝑓| + |𝑠𝑢𝑝|

2 , en caso de que en la función h alguna de las componentes no esté comprendida en el intervalo [𝑖𝑛𝑓, 𝑠𝑢𝑝] se corrige mediante:

(42)

31

𝑛∗ (𝑖) = {𝑣𝑎[𝑖𝑛𝑓, 𝑠𝑢𝑝], 𝑠𝑖 𝑛∗(𝑖) < 𝑖𝑛𝑓

𝑣𝑎[𝑣𝑚, 𝑠𝑢𝑝], 𝑠𝑖 𝑛∗(𝑖) > 𝑠𝑢𝑝

(2.12)

Por tanto, w es el encargado de desplazar los nodos en dirección a los puntos más y menos extremos de la malla en dependencia de la definición de las fronteras del problema en el espacio de soluciones de tal forma que si w0 > wf, el efecto es decreciente.

Obsérvese que en este paso la selección de nodos se hace de manera indefinida hasta completar el tamaño de la malla en el ciclo garantizando siempre que 3 ∗ 𝑁𝑖 +𝑁𝑖

2 < 𝑁. 2.1.2 Fomento de la diversidad

En la propuesta el mecanismo utilizado en este proceso se basa en mantener cierta separabilidad entre cada nodo de la malla inicial. Esto es logrado mediante la aplicación del operador de limpieza que se expone a continuación:

1. Se ordenan todos los nodos seleccionados como malla inicial en función de su calidad.

2. De forma secuencial, se compara cada nodo de la malla con sus sucesores, eliminando aquellos cuya distancia espacial sea menor que una cota calculada dinámicamente. Este valor de la distancia debe permitir que el proceso sea decreciente; de manera que se obtenga mayor separabilidad entre los nodos al inicio que al final de la ejecución del método.

3. Luego, se completa la malla inicial (de ser necesario) con nodos generados de forma aleatoria.

Con la aplicación de este operador se logra un equilibrio entre la calidad de los nodos de la malla y la posición que ocupan estos en la misma. Esto provoca que los nodos con mayor calidad sean los que tenga mayor probabilidad de formar parte de la próxima malla inicial.

El valor adaptativo de la cota de distancia (cd) le permite al método comenzar con exploraciones más generales y luego ir disminuyendo su influencia hasta centrarse en una zona más pequeña del espacio de búsqueda. Este elemento aumenta el nivel de explotación del método y lo hace más robusto.

(43)

32 2.1.3 Esquema del funcionamiento general del VMO

FIGURA 2.1PSEUDOCÓDIGO DE LA META-HEURÍSTICA VMO

2.2 Meta-heurística poblacional evolutiva DE variante SADE

Como se expuso en el capítulo anterior, el algoritmo DE no es más que una simple, pero poderosa estrategia de búsqueda estocástica basada en población para la solución de problemas complejos. Su eficiencia y efectividad ha sido demostrada en muchas esferas, tanto técnicas como científicas, de la vida cotidiana. Sin embargo el control de los parámetros y de las estrategias de aprendizaje vuelven a este algoritmo muy dependiente de las condiciones del problema a resolver, pues para la realización de una tarea específica se tiene que pasar mucho tiempo realizando pruebas para la adecuada aplicación de la estrategia de aprendizaje y la configuración de los parámetros.

(44)

33 Esta problemática trajo como consecuencia el desarrollo del Self-adaptative DE, algoritmo para la resolución de estos problemas de forma más eficiente, teoría que fue demostrada tras la comparación de este algoritmo con varias modificaciones del DE clásico. Esta propuesta resulta ganadora con diferencias significativas, expuesto anteriormente en este estudio (epígrafe 1.3.3). Por consiguiente se selecciona para el desarrollo de esta propuesta el algoritmo Self-adaptative DE (SADE).

2.2.1 Descripción general del algoritmo SADE.

En principio el algoritmo SADE parte del algoritmo DE clásico, en el cual se tienen un conjunto de soluciones (denotado por S) tal que 𝑆 ⊂ 𝑅𝑛 en un espacio n-dimensional de búsqueda del problema en consideración. Este algoritmo se encuentra representado en una población (NP) n-dimensional constituida individualmente por vectores de soluciones candidatas de la forma 𝑋𝑖 = (𝑥𝑖1, 𝑥𝑖2, 𝑥𝑖3, … … … 𝑥𝑖𝑛) ∈ 𝑆 tal que i=1,2,3, ………,NP.

La población inicial de este algoritmo puede ser generada aleatoriamente siguiendo una distribución uniforme en el intervalo definido por [𝑥𝑗𝑙, 𝑥𝑗𝑢] donde 𝑥𝑗𝑙 sería la cota inferior del intervalo y 𝑥𝑗𝑢 la superior, o bien dicha población puede ser fijada dada las condiciones del problema en cuestión.

En cada generación (denotada por G) se emplean los operadores de mutación y cruzamiento, detallados más adelante en el documento, para dar origen a un vector trial 𝑈𝑖,𝐺 (también llamado vector objetivo) para cada individuo en la población actual.

2.2.2 Operador de Mutación

El operador de mutación está definido para cada vector Xi,G de la población en la generación G y no es más que otro vector de la forma Vi,G= {v1i,G, v2i,G, v3i,G, … … , vni,G} generado por una de las siguientes estrategias:

Rand/1/bin: Vi,G= Xr1,G+ F ∗ (Xr2,G− Xr3,G)

Best/1/bin: Vi,G= Xbest,G+ F ∗ (Xr1,G − Xr2,G)

Donde los índices r1, r2, r3 son valores generados aleatoriamente en el intervalo comprendido [1, NP] y deben ser diferentes para cada vector trial, Xbest,G es el vector de

Referencias

Documento similar

Los principales objetivos del presente trabajo son mejorar la identificación de pacientes en riesgo de realizar intentos de suicidio en situaciones donde la evaluación

Luis Miguel Utrera Navarrete ha presentado la relación de Bienes y Actividades siguientes para la legislatura de 2015-2019, según constan inscritos en el

En cuarto lugar, se establecen unos medios para la actuación de re- fuerzo de la Cohesión (conducción y coordinación de las políticas eco- nómicas nacionales, políticas y acciones

La campaña ha consistido en la revisión del etiquetado e instrucciones de uso de todos los ter- mómetros digitales comunicados, así como de la documentación técnica adicional de

b) El Tribunal Constitucional se encuadra dentro de una organiza- ción jurídico constitucional que asume la supremacía de los dere- chos fundamentales y que reconoce la separación

Se llega así a una doctrina de la autonomía en el ejercicio de los derechos que es, en mi opinión, cuanto menos paradójica: el paternalismo sería siempre una discriminación cuando

6 reincidencia, así como el análisis de los instrumentos internacionales de Derechos Humanos que regulan las situaciones de privación de la libertad y la jurisprudencia

Gastos derivados de la recaudación de los derechos económicos de la entidad local o de sus organis- mos autónomos cuando aquélla se efectúe por otras enti- dades locales o