[ Guía para recién llegados a los ALGORITMOS GENÉTICOS]

Tamaño: px
Comenzar la demostración a partir de la página:

Download "[ Guía para recién llegados a los ALGORITMOS GENÉTICOS]"

Transcripción

1 UVa Dpto. de Organización de Empresas Escuela de Ingenierías Industriales Elena Pérez [ Guía para recién llegados a los ALGORITMOS GENÉTICOS] El propósito de esta guía es dar soporte a nuestras publicaciones y sugerir algunas lecturas para ayudar a los recién llegados a los Algoritmos Genéticos. Universidad de Valladolid (2010)

2 Guía para recién llegados a los Algoritmos Genéticos. Elena Pérez (2010) 1 Contenido 1. Introducción La selección natural y la evolución de las especies Los algoritmos evolutivos Conceptos básicos en biología y en algoritmos genéticos Estructura de los algoritmos genéticos Descripción del problema a resolver Codificación de las soluciones Codificación binaria Codificación simbólica Codificación permutacional Codificación permutacional con repetición Codificación real Inicialización Selección Métodos proporcionales a la calidad Métodos basados en el orden o métodos de ordenación Métodos basados en competiciones o torneos Operadores genéticos: Reproducción Operadores Cruce Operadores Mutación Sustitución Por qué funcionan los algoritmos genéticos? El teorema fundamental de los algoritmos genéticos La hipótesis de los bloques constitutivos El paralelismo implícito Algoritmos genéticos en la práctica Agradecimientos Bibliografía... 25

3 Guía para recién llegados a los Algoritmos Genéticos. Elena Pérez (2010) 2 1. Introducción Los algoritmos genéticos pertenecen a los denominados algoritmos evolutivos. El denominador común de todos ellos es la imitación de los mecanismos que dirigen el proceso evolutivo de las especies según las leyes de Darwin, y su adaptación al problema que se debe resolver. Dentro de este campo, la primera técnica desarrollada fue la programación evolutiva, después aparecieron las estrategias evolutivas, los algoritmos genéticos y, por último, la programación genética. De todas ellas, los algoritmos genéticos son los que han tenido un mayor interés, tanto por parte de los investigadores como del sector industrial, por los buenos resultados obtenidos y por su fácil adaptación a las condiciones reales de trabajo. Los algoritmos genéticos resuelven problemas de optimización en los que hay que maximizar o minimizar una función objetivo sujeta a unas restricciones, sin que se deba cumplir ninguna condición, tal como la de derivabilidad o convexidad. Por otro lado, también tienen aplicación en temas de aprendizaje donde están especialmente adaptados por su carácter evolutivo. La principal diferencia de los algoritmos genéticos con otras metaheurísticas de optimización (como la búsqueda tabu, el recocido simulado, etc) es la utilización de conjuntos de soluciones de forma simultánea durante la búsqueda. Mediante la reproducción, que es el proceso que caracteriza a todos los algoritmos evolutivos, se consigue una mejora de las características de las soluciones que forman parte de la población de una generación a la siguiente, tal y como sucede en la naturaleza. De esta forma, el mejor individuo de la población (esto es, el individuo mejor adaptado a las condiciones medioambientales) tiene mayores probabilidades de sobrevivir, acceder a unos recursos limitados como es la comida, y reproducirse. Mediante la reproducción sexual, en contraposición de la asexual, existe un intercambio del material genético de ambos padres, lo que permite que los descendientes puedan heredar las buenas características que hacen de sus padres los mejores. Por el contrario, los individuos peor adaptados tenderán a desaparecer, y con ellos esas características que no les permitieron adaptarse y sobrevivir. Resumiendo, los algoritmos genéticos hacen evolucionar a las soluciones iniciales mediante la aplicación del proceso selectivo que imita a la naturaleza y de los denominados operadores genéticos que permiten imitar los procesos genéticos que se dan en la reproducción sexual. Para introducir a nuestros lectores a los algoritmos genéticos, en primer lugar, hacemos referencia a su inspiración en la evolución natural de las especies. Después, recorremos brevemente la historia de los algoritmos evolutivos. A continuación, definimos una serie de términos básicos con los que es necesario estar familiarizado y describimos los procesos de un algoritmo genético. Finalmente, analizamos los motivos por los que los algoritmos genéticos funcionan. 2. La selección natural y la evolución de las especies No se puede comenzar a hablar de la evolución de las especies sin repetir las palabras que removieron los cimientos de las tradiciones occidentales sobre el origen del hombre. Probablemente todos los seres orgánicos que hayan vivido nunca sobre esta tierra han descendido de alguna única forma primordial, a la que se infundió vida por primera vez... Esta opinión sobre el origen de la vida tiene su grandeza... porque mientras este planeta ha ido dando vueltas de acuerdo con la ley fija de la gravedad, a partir de un inicio tan sencillo han evolucionado y siguen evolucionando formas sin fin, las más bellas y las más maravillosas. (Darwin, Párrafo tomado de Sagan, 1980) El pilar fundamental del descubrimiento realizado, de forma simultánea, por Charles Darwin y Alfred Russel Wallace, es que el mecanismo de la evolución es la selección natural. Las

4 Guía para recién llegados a los Algoritmos Genéticos. Elena Pérez (2010) 3 mutaciones aumentan las probabilidades de supervivencia, obteniéndose una serie de lentas transformaciones de una forma de vida en otra, que origina nuevas especies. El medio ambiente es el que selecciona las pocas mutaciones que se producen durante la autoreproducción de las células y durante la reproducción sexual. Aquellos individuos con características más favorables para la supervivencia y la reproducción, al tener un mayor acceso a los recursos limitados del entorno, no sólo tendrán un mayor número de descendientes, sino que también serán capaces de transmitir a sus descendientes estas características, dando lugar a un cambio adaptativo en la población. La teoría de la selección natural predice el cambio evolutivo hacia las características más apropiadas para el entorno en el que viven los organismos. La esencia de la teoría del Origen de las Especies de Charles Darwin, se recoge en las siguientes premisas (Fang 1994): 1. En la reproducción sexual, cada individuo pasa parte de sus rasgos genéticos a sus descendientes. 2. Además, la naturaleza produce individuos con algunos rasgos diferentes debido a cambios llamados mutaciones, generalmente producidos de forma aleatoria. 3. Los individuos mejor adaptados tienen mayor descendencia que aquellos peor adaptados. Esto dirige a la población hacia rasgos favorables. 4. A lo largo de grandes periodos de tiempo, la variación puede acumularse, produciendo nuevas especies cuyos rasgos les hace especialmente adaptables a un nicho ecológico particular. Se puede decir que los secretos que entraña la evolución son dos: la muerte y el tiempo. Por un lado, la muerte elimina una cantidad ingente de formas vivas que estaban imperfectamente adaptadas al medio ambiente. Por otro, el tiempo permite ir acumulando las pequeñas mutaciones accidentales que resultan ser beneficiosas. 3. Los algoritmos evolutivos Los algoritmos evolutivos surgieron a principios de la década de los 60 (Fraser, 1957; Bremermann et al., 1966; Reed, 1967; Bäck et al., 1997; y Fogel, 1998), basándose en los principios de la evolución natural de las especies y en el desarrollo del conocimiento de los conceptos de la genética. Los mecanismos naturales, que si bien no se conocen en su totalidad, si lo son sus objetivos y funcionamiento básico, permiten a las especies evolucionar y adaptarse al entorno. Con el auge que tomaron estas teorías, y por medio de los descubrimientos de nuevas tecnologías que permitían un desarrollo computacional y matemático mucho más avanzado, empezaron a investigarse teorías y algoritmos artificiales que emulaban los mecanismos naturales siendo una fecha importante 1975 con los trabajos de Holland. A partir de esta fecha, los estudios sobre algoritmos evolutivos, en cualquiera de sus facetas, se han incrementado de tal forma que ya es difícil encontrar un área de investigación en la que no hayan irrumpido con gran fuerza. Es posible encontrar estudios en ámbitos tan diversos como finanzas, inversión, educación, transporte, redes de comunicación, planificación, logística, producción, etc., (Biethahn, 1995). Se puede hacer una clasificación de los diferentes algoritmos evolutivos según el año de su primera publicación. Así, los primeros desarrollos fueron realizados por Fogel (1966) y se denominaron programación evolutiva. El proceso general es el siguiente: En primer lugar se generan las N soluciones de la primera población, después de la inicialización, todos los individuos se recombinan asexualmente formando N nuevas soluciones, utilizando únicamente el proceso de

5 Guía para recién llegados a los Algoritmos Genéticos. Elena Pérez (2010) 4 mutación, es decir, no hay intercambio de material genético puesto que en este caso no existe el concepto de padres. Las formas de mutación son muy flexibles y pueden producir perturbaciones similares a las producidas por la recombinación sexual. Las estrategias evolutivas fueron desarrolladas por Rechenberg (1973). Originalmente constaban de sistemas de selección y mutación sobre una población de un único individuo, denominándose (1+1, ES), donde el individuo de la población siguiente era el mejor de entre el padre y el hijo. Posteriormente Schwefel introdujo la recombinación sexual y poblaciones con más de un individuo, μ>1. El número de hijos creados será λ, con λ>μ. La supervivencia seleccionaba a los mejores de: La población de hijos, denominado (μ,λ). De las poblaciones padres e hijos, denominado (μ+λ). Posteriormente y desde 1975, los algoritmos genéticos han sido muy importantes dentro de las técnicas evolutivas. Tradicionalmente han utilizado codificaciones independientes al problema, como son las cadenas binarias, sin embargo, muchas de las aplicaciones recientes se han centrado en otras representaciones tales como grafos, listas ordenadas, números reales, etc. Para la formación de los descendientes la reproducción es sexual, es decir, hay intercambio del material genético de los padres mediante los operadores genéticos, cruce y mutación. En este caso, el operador mutación se considera un operador de segundo orden frente al operador cruce, como principal diferencia con las técnicas evolutivas anteriores. Se puede decir que los algoritmos genéticos son métodos metaheurísticos poco convencionales. Esto es debido a que trabajan con un conjunto de soluciones al mismo tiempo, imitando los procesos que se llevan a cabo en la evolución natural de las especies. Esta es la principal diferencia con otras metaheurísticas tales como la búsqueda tabu, el recocido simulado, etc. donde una única solución es modificada hasta alcanzar un cierto criterio de parada. En los últimos años se están desarrollando las técnicas de programación genética. En este caso la representación es más compleja el ser estructuras jerarquizadas y de tamaño variable (Koza, 1993). La población está formada por cientos o miles de dichas estructuras que son unidos por operadores apropiados pretendiéndose encontrar aquella combinación mejor adaptada a un determinado problema. Los algoritmos genéticos es el campo de los algoritmos evolutivos que ha tenido un mayor desarrollo. Prueba de ello es el gran número de publicaciones existentes en revistas de gran prestigio como, por ejemplo, Management Science, Operational Research, etc., y por la creación de grandes conferencias internacionales bianuales: International Conference on Genetic Algorithms, Parallel Problem Solving from Nature, Foundations of Genetic Algorithms. 4. Conceptos básicos en biología y en algoritmos genéticos En esta sección explicamos el significado que tienen en los algoritmos genéticos una serie de conceptos clave en biología. En la tabla 1 se definen una serie de términos con los que conviene estar familiarizados: genotipo, fenotipo, cromosoma, etc. Mediante el sencillo problema del vendedor o viajante de comercio (TSP 1 ) vamos a ir aclarando cada uno de estos conceptos. El problema del viajante de comercio consiste resolver el orden en el que una persona que debe visitar todas y cada una de las ciudades definidas y sólo una vez, con el objetivo de minimizar la distancia recorrida. La definición del problema incluye una matriz de distancias entre las ciudades (ver tabla 2). - La solución es el recorrido que debe hacer el comercial. 1 TSP: Travelling Salesman Problem

6 Guía para recién llegados a los Algoritmos Genéticos. Elena Pérez (2010) 5 - El cromosoma será una cadena de longitud 5 y formada por números enteros: [-, -, -, -, -]. - El genotipo será una permutación de 5 números enteros. Una posible solución es la cadena [ ], que indicará que el orden en el que el comercial debe visitar las ciudades es: en primer lugar la ciudad codificada por el número 1, después por la 2, y así sucesivamente hasta llegar a la ciudad 5, terminando el viaje volviendo a la ciudad de partida. Sin embargo, esta forma de dar la solución no nos servirá de nada si previamente no hemos establecido la norma de codificación. En nuestro caso, Barcelona será codificada por el número 1, Granada por el 2, Madrid por el 3, Sevilla por el 4, y Valladolid por el 5. - El fenotipo será la ruta específica, [Barcelona, Granada, Madrid, Sevilla, Valladolid, Barcelona], esto es, la solución decodificada. - Los Genes serán cada uno de los números enteros que forman la cadena. - Los Loci serán las posiciones de la cadena y que darán el orden relativo, la primera posición está ocupada por el número 1 (Barcelona), la posición 2 por el número 2 (Granada), lo que nos indica que después de visitar Barcelona el comercial debe ir hacia la ciudad de Granada. Tabla 1. Paralelismo entre los términos biológicos y los algoritmos evolutivos Término Ser vivo Solución Genotipo Fenotipo Cromosoma Gen Loci Generación Iteración Descripción Ente natural formado por cromosomas Elemento básico del algoritmo Conjunto de factores heredados en un individuo Solución codificada del problema a resolver La dependencia con el ambiente en que el genotipo funciona en la práctica La solución decodificada y que adquiere significado cuando se utiliza conjunta con los datos del problema Estructura que transporta los factores hereditarios o genes Cadena de caracteres donde se almacena la solución codificada Unidad de recombinación: el segmento más corto en que el cromosoma puede dividirse Número real o binario cuya unión forma el cromosoma Cada una de las posiciones que puede ocupar un gen dentro del cromosoma Cada una de las posiciones en la cadena de codificación Cada uno de los reemplazos que se origina cuando se tiene descendientes. Cada uno de los pasos en que se divide la búsqueda

7 Guía para recién llegados a los Algoritmos Genéticos. Elena Pérez (2010) 6 Tabla 2. Datos de distancias para un ejemplo del TSP Barcelona Granada Madrid Sevilla Barcelona Granada 868 Madrid Sevilla Valladolid La forma de codificar las soluciones de un problema es crítica para un correcto funcionamiento de los algoritmos, como se verá más adelante. Aunque lo más importante es que todas las posibles soluciones al problema (espacio de búsqueda) tengan una posible codificación. Para nuestro ejemplo, el número de posibles soluciones en n!, donde n representa al número total de ciudades por visitar, es decir, 5! = 120 diferentes circuitos. La codificación utilizada cumple esta condición. 5. Estructura de los algoritmos genéticos El pseudo código de un algoritmo genético es el siguientes:. 1. Elegir la población inicial de individuos 2. Evaluar la función objetivo (fitness) de cada individuo de la población 3. Repetir en esta población hasta terminar (límite de tiempo, alcanzar un valor en la función objetivo, etc.) 1. Seleccionar los mejores individuos para la reproducción (padres). 2. Crear nuevos individuos (hijos) a través de los operadores cruce y mutación. 3. Evaluar la función objetivo en los hijos. 4. Reemplazar los padres por los hijos En la figura 1 se muestra el diagrama de flujo simplificado con las partes más importantes de un algoritmo genético clásico: selección, reproducción y sustitución. Aparte de estos procesos, que pertenecen al núcleo principal y exclusivo de los algoritmos genéticos, existen otros, de igual importancia, que sirven de apoyo a los anteriores: descripción del problema a resolver, codificación de sus soluciones e inicialización. Selección y codificación son los puntos críticos de un algoritmo genético.

8 Guía para recién llegados a los Algoritmos Genéticos. Elena Pérez (2010) 7 Población inicial Generación t Selección Generación t+1 Población de Padres Reproducción Descendientes Sustitución Figura 1. Estructura general de un algoritmo genético 5.1 Descripción del problema a resolver El primer proceso que debemos realizar es la formulación completa del problema a resolver: la función o funciones objetivo, las restricciones a las que está sujeto el problema y que restringirán zonas del espacio de búsqueda, etc. En la mayoría de los problemas de optimización existe una función natural que determina el valor de una solución. Dicha función puede utilizarse directamente como función de calidad (fitness function) del algoritmo genético si cumple que todos los valores que asigna a las soluciones son positivos y la función está definida de tal forma que el problema sea de maximización. Si la función natural no verifica alguna de estas características, tendremos que adaptarla para su uso (Goldberg, 1989). Si la función está definida de forma que el problema es de minimización, existen técnicas para su transformación a un problema de maximización. Por ejemplo, dada una función de costes g(x), una función de beneficio f(x) puede definirse según la siguiente ecuación: f ( x ) Cmax g( x ) Cuando g( x ) < Cmax = 0 Resto de casos siendo Cmax un coeficiente de entrada cuyo valor es el mayor valor observado hasta el momento o el mayor valor observado en las últimas k generaciones. Cuando existe la posibilidad de valores negativos, la transformación de la función podría ser de la siguiente forma: f ( x ) u( x ) + Cmin Cuando u( x ) + Cmin > = 0 Resto de casos siendo Cmin un coeficiente de entrada cuyo valor es el valor absoluto del peor valor de u(x) encontrado hasta el momento o el valor absoluto del peor valor de u(x) encontrado en las ultimas k generaciones., y u(x) es la función natural. 0,,

9 Guía para recién llegados a los Algoritmos Genéticos. Elena Pérez (2010) Codificación de las soluciones Existen distintos tipos de codificaciones de las soluciones: binarias, simbólicas, permutacional, (también conocida como codificación simbólica basada en el orden 2 ), la permutacional con repetición y la real. La codificación depende del problema que se quiere resolver. Según Fang (1994) las normas básicas a tener en cuenta para el diseño de una codificación óptima se pueden resumir en: 1. Cada solución del problema tendrá su correspondiente cadena codificada. 2. Para cada cadena codificada producida mediante los operadores genéticos existirá su correspondiente solución decodificada. 3. Codificación y solución se corresponderán una a una, es decir no habrá redundancia. 4. La codificación deberá permitir heredar de padres a hijos las características inherentes a los primeros Codificación binaria Tradicionalmente la codificación binaria ha sido la más utilizada por la facilidad que ofrece el desarrollo de programas informáticos y porque permite la aplicación de sencillos operadores genéticos. Además, la mayor parte de la teoría subyacente en los algoritmos genéticos está desarrollada para la codificación binaria, aunque existen ampliaciones a otros tipos de representaciones. Dentro de la codificación mediante números binarios cabe destacar el código Gray, utilizado en lugar del binario porque la separación que existe en el espacio codificado entre soluciones adyacentes en el espacio decodificado siempre es 1, como se puede observar en la tabla 3, utilizando la distancia hamming como medida de separación. Para las soluciones adyacentes 2 y 3, la distancia es 2 en código binario, mientras que en el código Gray es 1. Esto tiene importancia a la hora de aplicar los operadores genéticos, ya que pequeñas modificaciones en la codificación pueden provocar grandes movimientos en el espacio de soluciones decodificadas. Un inconveniente de la codificación binaria es su falta de adaptabilidad a muchos tipos de problemas. Esto no quiere decir que no se puedan codificar de esta forma, sino que el esfuerzo que se debe hacer para ello disminuye la eficiencia del algoritmo. Por ello existen otros tipos de codificaciones que aprovechan mejor las características propias de cada tipo de problema, llamadas codificaciones simbólicas. Tabla 3. Tipos de codificación binaria Código Binario Código Gray Codificación simbólica La idea básica de la codificación simbólica se debe a Syswerda (1991a) y ha permitido un mayor grado de libertad para la codificación de problemas. Pero, tal y como aseguró Davis 2 En Escalada-Imaz y Torres-Velázquez (1997) se encuentra un amplio estudio de los algoritmos genéticos desarrollados para representaciones basadas en orden.

10 Guía para recién llegados a los Algoritmos Genéticos. Elena Pérez (2010) 9 (1991), hay que tener en cuenta que esta decisión es un factor crítico a la hora de diseñar un buen algoritmo genético, hasta el punto que una decisión inapropiada puede llevarnos al fracaso Codificación permutacional La codificación permutacional ya la hemos visto con el ejemplo del viajante de comercio, donde a cada ciudad que debe visitar se le asignaba un número entero. Una posible solución se obtiene mediante una permutación de los n números enteros que tenemos, y el espacio de búsqueda estará formado por n!, siendo n las ciudades del problema. Esta codificación también sirve para problemas de programación de operaciones (scheduling) del tipo flow shop permutacional. En este caso, cada número entero representa a uno de los trabajos que debe ser secuenciados, y la permutación es el orden en que los trabajos serán realizados sobre las máquinas o centro de trabajo Codificación permutacional con repetición La codificación permutacional con repetición consiste en números enteros que se repiten tantas veces como el problema lo necesite. Se utiliza, entre otros problemas, para la programación de operaciones del tipo flow shop genérico y el job shop. Donde cada trabajo (representado por un número entero) se divide en operaciones que deben ser realizadas en máquinas o centros de trabajo diferentes y en un orden dado. El número de operaciones de cada trabajo nos dará las veces que el número entero que lo representa debe repetirse en la cadena de codificación. Por ejemplo, una solución codificada para un problema de 3 trabajos con 3 operaciones cada uno de ellos será: [ ], tres números enteros y cada uno de ellos tres veces repetido. La decodificación tendrá en cuenta el orden de las repeticiones dentro de la cadena. Así la primera operación a secuenciar será la primera de la pieza 1, después secuenciaremos la primera de la pieza 3, a continuación la segunda operación de la pieza 1, la primera de la pieza 2, la segunda de la 2, etc Codificación real La codificación real utiliza número reales y suele ser una codificación directa, es decir donde el valor de la solución es directamente el valor de en la cadena. 5.3 Inicialización Según Michalewicz (1995) la forma más eficaz para obtener los individuos (cadenas codificadas) que formarán parte de la primera iteración es la generación aleatoria. De esta forma, se podrá obtener una población inicial uniformemente distribuida por el espacio de búsqueda mejorando la exploración. Sin embargo, la calidad media de las soluciones generadas de esta forma será baja necesitando más pasos (iteraciones o generaciones) para ser mejoradas. Otra posible forma de inicialización, será utilizar una o varias heurísticas más sencillas capaces de encontrar diferentes soluciones que pasarán a ser parte de la población inicial. El problema que nos encontramos con este método es que podemos generar soluciones en zonas muy determinadas del espacio de búsqueda perdiendo poder exploratorio. Por otro lado, el beneficio será que ya partimos de soluciones de algún modo mejoradas. Naturalmente, esta capacidad de exploración inicial dependerá de la relación entre el número de soluciones potenciales totales y el número de individuos que formarán parte de la población. Por lo tanto, siguiendo este razonamiento, cuanto menor sea este ratio, mayor será el poder exploratorio del algoritmo. Pero por otra parte, cuanto mayor sea el número de soluciones con la que se trabaja menor será la velocidad de búsqueda, retrasando la convergencia del proceso y necesitando un mayor número de generaciones, iteraciones, lo que provocará unas mayores

11 Guía para recién llegados a los Algoritmos Genéticos. Elena Pérez (2010) 10 necesidades computacionales y temporales. Por tanto, esta decisión será un compromiso entre exploración y explotación del espacio de búsqueda. 5.4 Selección En la naturaleza, la selección sirve para determinar qué individuos sobreviven y se reproducen y cuales desaparecerán por una incorrecta adaptación al entorno. Este proceso es imitado mediante los métodos de selección. El proceso de selección es el que ha despertado un mayor interés a juzgar por la gran cantidad de estudios y métodos desarrollados. Los métodos de selección, basándose en la calidad de las soluciones (adaptación de los individuos), seleccionan a los mejores individuos (soluciones) para que se reproduzcan, formado parte de la población de padres. Por el contrario, los peores individuos (soluciones) no serán seleccionados y desaparecerán de la búsqueda. Este proceso permite que una misma solución pase varias copias a la población de padres. Se trata, por tanto, de un muestreo sin sustitución. Un concepto de gran importancia es la presión selectiva, que indica el grado con el que las mejores soluciones son favorecidas para formar parte de la población padre. A mayor presión selectiva, más se favorecerá a los mejores individuos y, por lo tanto, tendrán un mayor número de copias en la población padre. Esta presión dirige al algoritmo hacia poblaciones cada vez mejor adaptadas al problema. El ratio de convergencia de un algoritmo genético está en gran parte determinado por la magnitud de la presión selectiva. Con una alta presión selectiva se obtiene un mayor ratio de convergencia, con el inconveniente de aumentar la probabilidad de convergencia prematura hacia un subóptimo. Y por el contrario, si la presión es demasiado baja, el ratio de convergencia disminuirá y el algoritmo tardará más tiempo en encontrar la solución óptima, si es que la encuentra. En el caso más extremo, donde la presión selectiva es nula, es decir, todos los individuos tienen la misma probabilidad de sobrevivir, se producirá una búsqueda aleatoria por todo el espacio de soluciones. Los métodos existentes en la actualidad se dividen en tres, los basados en la calidad, en el orden y los que realizan la selección mediante torneos o competiciones. A continuación y basándose en los trabajos de Goldberg (1989) y Michalewicz (1995), se describirán los principales métodos de selección: Métodos proporcionales a la calidad. En este caso, la selección de padres se realiza teniendo en cuenta la magnitud de la calidad de las soluciones respecto de la del resto de la población. Por esto, superindividuos, es decir, los que tienen una calidad bastante superior a la del resto de la población, rápidamente coparán los puestos de la población de padres con un gran número de copias. El resultado es una pérdida de la diversidad en la población y una prematura convergencia. Dentro de esta categoría cabe destacar: Selección proporcional o método de la ruleta, desarrollado en un principio por Holland en 1975, y ampliamente analizado por otros autores como Brindle en su Tesis Doctoral en 1981 y Goldberg (1989). La probabilidad de selección p i, para el individuo i está dada por la siguiente ecuación: p f i i = n j= 1 f j siendo f i la calidad del individuo i, y n el tamaño de la población.

12 Guía para recién llegados a los Algoritmos Genéticos. Elena Pérez (2010) 11 La representación gráfica de este sistema es una ruleta dividida en n áreas cada una de ellas proporcional a la calidad de cada individuo de la población. La selección consistirá rotar n veces la ruleta y la zona donde caiga el marcador indicará el individuo seleccionado para reproducirse (Figura 2) Figura 2. Método de selección proporcional a la calidad De esta forma, los individuos con mayor calidad relativa tendrán mayores probabilidades de ser seleccionados para la población de padres, y además más de una vez. Por lo que se presenta el problema de superindividuos y, por lo tanto, de convergencia prematura. Para evitarlo se desarrollaron los siguientes métodos. Selección estocástica por restos, que asigna directamente a cada individuo un número de copias en la población de padres igual a [p i n], redondeando al menor entero más cercano, y con los restos, se aplica el método proporcional para obtener las copias vacantes. También fue desarrollado por Brindle, en cuyo estudió consideró las posibilidades de aceptar individuos repetidos o realizar un muestreo sin sustitución. Selección estocástica universal, similar al método de la ruleta, pero en lugar de tener una ruleta con un único marcador, se tienen n marcadores igualmente distanciados (Figura 3), y mediante una tirada se selecciona a los n individuos Figura 3. Método de selección estocástico universal La transcripción al lenguaje matemático parte de un número aleatorio r del que se obtienen, mediante la siguiente ecuación los r j necesarios para compararlos con las probabilidades acumuladas, p i, de cada individuo. Fue desarrollado por Baker en r + j 1 r j = j = 1,, n k El efecto de estos tipos de selección depende en gran medida del rango de la calidad de la población. Existe, por ello, la posibilidad de tener que modificar dichos rangos, modificando la función de calidad. Goldberg (1989) desarrolló diferentes formas de escalar la calidad.

13 Guía para recién llegados a los Algoritmos Genéticos. Elena Pérez (2010) Métodos basados en el orden o métodos de ordenación. Estos métodos seleccionan a los individuos no en función de la magnitud absoluta de su calidad, sino de la posición que ocupan en una lista ordenada cuando se les clasifica según ella. Esto origina que la presión selectiva sea independiente de los rangos en los que se mueve la calidad 3, y que el número esperado de hijos dependa únicamente de la posición, eliminando así el efecto pernicioso de los superindividuos. - Selección por ordenación lineal, propuesto por Baker (1985). Donde la probabilidad para el individuo situado en la posición i-ésima de una clasificación realizada según el orden decreciente de calidades será: p( i ) = q ( i 1) r n 1 1 q = r + 2 n 2 r 0, n( n 1) siendo n el tamaño de la población y r el parámetro que permite controlar la presión selectiva. Un r=0 indicará presión selectiva nula, ya que todos los individuos tendrán la misma probabilidad de ser seleccionados. Para el máximo valor de r (presión selectiva máxima), la probabilidad de cada individuo será: p ( i ) 2 = 1 n i n 1 1 Se comprueba que el individuo de mayor calidad, es decir, el primero en la clasificación, tiene un valor esperado de hijos de 2, mientras que para el peor individuo, es 0. - Selección por ordenación no lineal desarrollado por Michalewicz (1995). En este caso, la diferencia entre las probabilidades de selección para individuos situados en posiciones adyacentes en la clasificación, no es igual a lo largo de toda la ordenación. Se rige por la ecuación: i 1 p ( i ) = q ( 1 q ) q (0,1) donde q es el parámetro que permite controlar la presión selectiva. Si dicho parámetro aumenta, la presión aumentará, y por lo tanto la diferencia entre las probabilidades de los individuos adyacentes aumentará según disminuyen sus posiciones dentro de la clasificación. De esta forma estaremos dando mayor peso (importancia) a los individuos mejor clasificados, existiendo apenas diferencia entre los peores. 3 Whitley (Whitley, 1989) analiza varias causas por las que el método de ordenación mejora a los demás y compara su comportamiento frente al teorema del esquema.

14 Guía para recién llegados a los Algoritmos Genéticos. Elena Pérez (2010) Métodos basados en competiciones o torneos. Fueron inicialmente desarrollados por Brindle en En este caso, en cada paso se selecciona el nuevo padre mediante un torneo que se establece entre z individuos seleccionados de forma aleatoria, siendo éste el de mayor calidad. Es un muestreo con repetición. El proceso se repetirá hasta que la población de padres esté completa. Inicialmente Brindle utilizó un z = 2 (torneo binario), que es el de menor presión selectiva. Para aumentar dicha aumentaremos el valor de z, es decir, aumentar los individuos que compiten por cada puesto. Horn (Horn et al., 1994) recoge modificaciones a los métodos de torneo especialmente diseñados para los problemas multimodales 4 y multiobjetivo 5, donde se necesita controlar la cantidad de individuos a los que se permite pasar a la siguiente población dependiendo de su distribución en el espacio de búsqueda. Es decir, si se tiene una gran cantidad de individuos o soluciones en determinadas partes del espacio de búsqueda, no se permiten más individuos en esas zonas. Así se pretende que el algoritmo busque de forma más amplia, limitando la posibilidad de que toda la población caiga en una única zona de alta calidad. Para problemas multimodales, destacan la selección por torneo de Boltzmann 6 y la selección por torneo con actualización continua 7. Para problemas multiobjetivo se utilizan torneos que tienen en cuenta la superficie de Pareto. Al elegir el tipo de selección a utilizar, hay que tener en cuenta el tipo de problema a estudiar y algunas características importantes de cada uno de estos métodos, como por ejemplo las estudiadas por De la Maza y Tidor (1993). Estos autores analizan dos aspectos importantes de los métodos de selección, como son su comportamiento frente a modificaciones en la función de calidad, en cuanto a la escala y a la traslación de valores. Es importante estudiar cómo afectan las modificaciones de la escala en los métodos, ya que según converge el método en las últimas etapas, la escala de calidad de la población se reduce, de forma que la presión selectiva se modifica. Asimismo, la traslación de los valores de la función de calidad es también importante, puesto que en algunas ocasiones hace falta modificar la función objetivo de un problema de optimización para que sea válido como función de calidad del algoritmo. Como ya hemos visto, una de las modificaciones propuesta por Goldberg (1989) es la suma de una cantidad, siendo el resultado una traslación de valores, que dependiendo de la magnitud de dicha cantidad puede hacer que la calidad real del individuo sea despreciable, por lo que el método no sea capaz de distinguir a los mejores individuos. Los estudios llevados a cabo por los citados autores, demuestran que los métodos proporcionales son invariante frente a la escala, pero sí se ven influidos por la traslación de valores. Por el contrario, los métodos de ordenación y de torneo son invariantes tanto frente a la escala como a la traslación. En un nivel más teórico Goldberg y Ded (1991) comparan diferentes características de los métodos de selección. Sus recomendaciones más relevantes se pueden resumir en: 4 Los problemas multimodales se caracterizan por tener varios óptimos locales y globales, por lo que los métodos tradicionales de optimización suelen caen atrapados en uno de los muchos óptimos locales obteniéndose bajos rendimientos. Además, dada las condiciones de trabajo puede ser necesario encontrar más de un óptimo global y de entre ellos seleccionar el que mejor se adapte a las condiciones reales del problema (Pérez et al., 2001). 5 Los problemas multiobjetivo necesitan de un tratamiento especial para tener en cuenta todos los objetivos al mismo tiempo. Aunque inicialmente se propuso la idea de obtener una única función objetivo resultante de la suma ponderada de las funciones objetivo, se ha demostrado que el comportamiento de la búsqueda depende del rango en que se mueva cada objetivo. Los métodos basados en poblaciones están especialmente adaptados a este tipo de problemas ya que se puede establecer la frontera de Pareto, y trabajar sobre ella (Pérez et al. 2000). 6 Mahfound (1994) realizó un análisis bastante completo del método. 7 Un amplio estudio con diferentes modalidades es el realizado por Oei et al (1991).

15 Guía para recién llegados a los Algoritmos Genéticos. Elena Pérez (2010) 14 - Utilizar en las primeras generaciones bajos ratios de presión selectiva para prevenir la convergencia prematura. - Por el contrario, según evoluciona el sistema se deberían utilizar ratios cada vez mayores junto con algún operador mutación, para redescubrir los bloques constitutivos 8 perdidos durante el proceso. - Preservar la diversidad tanto espacial como temporal mediante métodos de selección que permitan la especialización. - Eliminar el ruido en la evaluación y muestreo de individuos mediante la competición. Las dos primeras conclusiones comparten la idea en la que se basan los modelos del recocido simulado, al principio una alta temperatura para que cualquier solución pueda ser aceptada (fase de alta exploración), y después una disminución lenta para que cada vez sea más difícil aceptar malas soluciones (fase de explotación).. También hay estudios que analizan el comportamiento de los sistemas de selección ante situaciones en las que la función de calidad no es determinista; es decir, en entornos ruidosos Miller y Goldberg (1997) presentan formas para medir el efecto del ruido dependiendo de su origen y de su magnitud, y de esta forma poder elegir el método más apropiado. Aparte de los métodos mencionados, cabe destacar algunas estrategias utilizadas para aumentar el rendimiento de los algoritmos genéticos relacionadas con el fortalecimiento de los mejores individuos. El método elitista propuesto por De Jong en 1975, consiste en pasar una copia del mejor individuo directamente a la siguiente población; de esta forma se previene su posible desaparición al llevar a cabo la recombinación. Michalewicz (1995) destaca otra posibilidad, la denominada modelo del valor esperado, donde a cada individuo se le asigna un contador que se decrementa al sufrir cruce o mutación. Cuando el contador cae hasta cero, ese individuo ya no está disponible para su selección nunca más. De esta forma eliminamos zonas del espacio de búsqueda suficientemente analizadas ya. Otra técnica que permite también mejorar el rendimiento es hibridizar los sistemas de selección, es decir, en un mismo algoritmo combinar el efecto de varios métodos de selección. De esta forma Baker (1985) utilizó un umbral máximo de convergencia para activar el método de ordenación y así disminuir la velocidad de convergencia, y un umbral mínimo para desactivar este método y continuar con el método proporcional a la calidad por defecto. 5.5 Operadores genéticos: Reproducción En los algoritmos genéticos, la reproducción se realiza, en primer lugar, intercambiando el material genético de los dos padres mediante un operador cruce apropiado, y después sobre las dos cadenas que se obtienen se realiza la mutación. El resultado son dos nuevas cadenas con propiedades de ambos padres y alguna mutación aleatoria. Por lo tanto, los principales operadores de reproducción son los de cruce y de mutación, que deben estar adaptados al tipo de codificación seleccionada para resolver el problema. Además, existe otro tercer tipo de operador llamado de inversión. A continuación mostraremos los operadores más importantes para algunas codificaciones 9. 8 La teoría matemática en la que se basa el funcionamiento de los algoritmos genéticos y que desarrollará en la sección X.5, tiene como pilar fundamental lo que se han denominado bloques constitutivos, que son segmentos de la cadena que son especialmente buenos y que dirigen la búsqueda hacia las zonas de mayor calidad. 9 Aunque es imposible una revisión completa de todos los operadores genéticos existentes, Michalewicz (Michalewicz, 1995) recoge los más importantes.

16 Guía para recién llegados a los Algoritmos Genéticos. Elena Pérez (2010) Operadores Cruce El operador cruce es el que juega el papel más importante dentro de los operadores genéticos, ya que permite el intercambio de características de una generación a la siguiente; es decir, el que hace evolucionar a las especies. Su realización es probabilística, se le asigna una probabilidad (p c )para que se pueda ejecutar. Su valor depende del tipo de problema, de la representación utilizada, y de muchos factores más. Inicialmente el valor dado fue del 60% (Goldberg, 1989), pero han surgido muchos estudios de cómo adaptar estas probabilidades al estado del proceso genético (Michalewicz, 1995). Es importante considerar que el operador cruce realiza dos trabajos, los denominados mecanismo e idea (Jones, 1995). La idea del cruce se basa en el hecho de que cada uno de los padres seleccionados tiene una probabilidad mayor que la media de la generación actual, de ofrecer un mejor material genético. La razón principal de mantener un conjunto de soluciones y utilizar el cruce es formar cada vez mejores individuos y combinarlos a su vez para conseguir otros nuevos aún mejores: cumplir el teorema de los bloques constitutivos. Si la idea del cruce así definida no se desarrolla en el algoritmo elegido, entonces no merece la pena gastar recursos en mantener una población de soluciones. El mecanismo del cruce es el proceso por el que se lleva a cabo la idea. Es decir, la forma del intercambio, la aplicación literal de los métodos para la implementación de cada operador cruce que serán explicados a continuación. Es importante separar estos dos conceptos del cruce ya que si un algoritmo realiza sólo el mecanismo, el resultado final es tal que no importa entonces que los padres seleccionados sean los mejores, al no aprovecharse sus buenas características. Se puede hablar de macromutación de los padres: cambio de la mayor parte del material genético de cada uno de los padres por otro que, en principio, no les aporta beneficios, tal y como pasa en las mutaciones. Existe otro método menos estudiado de producir hijos, pero en cuyo proceso no están implicados directamente dos padres. Fue desarrollado inicialmente por Syswerda en 1993 y modificado por Eshelman y Schaffer (1993). Consiste en la creación de los hijos teniendo en cuenta toda la información que proporciona el total de individuos de la generación actual. Para crear los nuevos individuos, se observa la frecuencia de los valores existentes en cada posición, y por medio de dicha frecuencia se van construyendo los hijos de forma estocástica. Dentro de la gran cantidad de operadores cruce existentes, citaremos los básicos para las codificaciones: binaria, permutacional y permutacional con repetición. - Operador con un punto de cruce. Es el operador clásico para la codificación binaria y del que han surgido los demás. Se genera un número aleatorio que determinará el punto de corte, o punto de intercambio de los cromosomas, según se muestra en la figura 4. Padre 1 Padre Hijo 1 Hijo Figura 4. Operador cruce 1-punto - Operador con N puntos de cruce. Es una ampliación del anterior. En este caso se determinan n puntos de cruce para lo que se deberán generar n números aleatorios.

17 Guía para recién llegados a los Algoritmos Genéticos. Elena Pérez (2010) 16 - Operador cruce uniforme. Es la generalización de los operadores anteriores. Cada gen tiene una probabilidad del 50% de ser intercambiado por el correspondiente del otro padre, utilizándose para ello una máscara (Figura 5). Fue desarrollado por primera vez por Ackeley en 1987, y posteriormente Syswerda (1989) realizó un estudio comparativo entre este operador y los operadores 1-punto y 2- puntos. La conclusión fue que el cruce uniforme funciona mejor que los otros dos en estudio. Padre 1 Padre Máscara Hijo 1 Hijo Figura 5. Operador cruce uniforme - Operador cruce ordenado (OX) 10. Desarrollado inicialmente por Davis en 1985 para la codificación permutacional, ha sido uno de los operadores clásicos para este tipo de representación, siendo ampliamente utilizado en la bibliografía. Se selecciona de forma aleatoria un segmento de las cadenas que serán las únicas que permanecerán inalteradas en las cadenas de los hijos. Los números enteros de cada padre que han quedado fuera son las que se intercambian. Para completar el resto de la cadena de los hijos, se necesita una cadena auxiliar, para el hijo 1 formada por los genes del padre 2 y para el hijo 2 formada por los del padre 1, comenzando a rellenarlo con los números que están a continuación del segundo corte y tomando la cadena como si fuese circular (Figura 6). En el ejemplo, la cadena auxiliar correspondiente al hijo 1 será: [ ]. Se tachan los números ya presentes en el hijo 1, ( 4 5 6), para asegurar la formación de hijos válidos, es decir [ ], y con los restantes se comienza a rellenar al hijo por su segundo corte. La operación a seguir con el hijo 2 es similar. Para el hijo 2 será [ ]. - Cruce generalizado basado en el orden (GOX) 11. Desarrollado por Bierwirth et al. (1996) para la codificación permutacional con repetición. 10 Order Crossover 11 Generalized Order Crossover.

18 Guía para recién llegados a los Algoritmos Genéticos. Elena Pérez (2010) 17 Padre 1 Padre Hijo 1 Hijo Figura 6. Operador cruce ordenado Como en el operador anterior, se seleccionan dos posiciones en la cadena mediante dos números aleatorios que determinan una subcadena en cada padre. La subcadena (3 1 1) del padre 1 va a pasar sin cambios al hijo 1, el resto de sus posiciones las heredará del padre 2. Para formar hijos válidos los números enteros del padre 1 que se van a intercambiar se tachan de la cadena de números enteros del padre 2 que pasan al hijo 1, es decir el segundo 3, el primer y segundo 1, [ ]. La subcadena del hijo 1 se insertará detrás del mismo número que en la que estaba en el padre 1, en este caso la subcadena está detrás del segundo 2, por lo que el hijo 2 será: [ ( ) ]. (Figura 7). Padre 1 Padre Hijo Hijo Figura 7. Operador cruce generalizado basado en el orden Estos son sólo algunos de los operadores cruce de los muchos que existen. Como se puede comprobar, es de gran importancia que estén adaptados a la codificación utilizada para resolver el problema, puesto que de no ser así se presentaría el problema de la obtención de hijos no válidos. Como ilustración se aplicará el operador cruce 1-punto a un problema del vendedor que debe visitar 9 ciudades (Figura 8). Padre 1 Padre Hijo 1 Hijo Figura 8. Obtención de hijos no válidos por un operador curce incorrecto

19 Guía para recién llegados a los Algoritmos Genéticos. Elena Pérez (2010) 18 Se obtiene una solución que visitará dos veces las ciudades 1, 2 y 3, y que por el contrario no visitará las 4, 5 y 7. Por lo tanto son soluciones que no se cumplen las condiciones del problema Operadores Mutación. Mientras el operador cruce combina aquellas buenas características de los individuos llevando a cabo la explotación de las áreas beneficiosas detectadas por la selección, el operador mutación incluye la diversidad en la búsqueda facilitando la exploración de áreas aún no tratadas. Por lo tanto se puede decir que la principal característica de este operador es permitir que todos los individuos del espacio de búsqueda tengan una probabilidad de ser explorados mayor de cero. Además, su funcionamiento permite recuperar características de los individuos que por medio de la selección y el cruce podrían haber perdido, cayendo en el olvido y que, aún siendo buenas características, sería imposible recuperar sin la acción del operador mutación. Existe una gran cantidad de operadores mutación. A continuación, se desarrollan algunos. - Mutación estándar. Es el operador por excelencia utilizado en la codificación binaria. La probabilidad de aplicación (p m ) s muy baja, para no incluir demasiada diversidad en la búsqueda y perder de esta forma la dirección de la misma. Según los estudios realizados por Holland, la probabilidad aceptable sería la comprendida entre 0.1 y 1%. Esta probabilidad se aplicará bit a bit, a diferencia de los operadores cruce que se refieren a cada pareja o incluso a otros operadores mutación, generalmente los aplicados sobre codificaciones no binarias, donde se aplicará sobre cada cadena o individuo. El proceso es sencillo y consiste en mutar el bit correspondiente según la probabilidad de mutación asignada (Figura 9) Figura 9. Operador mutación estandar - Mutación no uniforme. Desarrollado para codificaciones reales. Como demuestra Michelewicz (1995), el operador mutación estándar actúa de diferente forma en la codificación binaria que en la codificación real, de tal forma que el operador así diseñado actúa de una forma mucho más aleatoria para la codificación real que para la binaria, donde cambiar un bit aleatoriamente no implica producir un valor totalmente aleatorio del dominio. Para evitar este efecto se diseñó la mutación no uniforme. Dado un cromosoma formado por m variables, S t ={v 1, v 2, v 3,..., v k,...,v m }, cuyo elemento v k es seleccionado para mutar, el cromosoma resultante es de la forma S t+1 ={v 1, v 2, v 3,..., v k,...,v m }, donde: vk + Δ ν k = vk + Δ ( t,ub ν k ) ( t, ν LB) k si un número aleatorio es 0 si es 1 con UB y LB, el rango superior e inferior respectivamente del dominio de la variable v k. El valor Δ(t,y) devuelve un valor comprendido entre 0 e y:

20 Guía para recién llegados a los Algoritmos Genéticos. Elena Pérez (2010) 19 Δ( t, y ) = y ( 1 r t ( 1 T b ) ) r número aleatorio entre 0 y 1 T número total de generaciones b gra do de dependencia sobre el número de iteración Se recomienda b=5. Esto supone que en las generaciones iniciales, el operador mutación suma una cantidad mayor que en las finales. El objetivo es incentivar la exploración en las generaciones iniciales y la explotación en las finales, una búsqueda intensiva, más localizada. La adaptación del método al caso binario es sencilla. Se tiene un cromosoma binario de tal forma que el bit que muta está dado por (t,n): Δ( t,n ) si un número aleatorio es 0 ( t,n ) = Δ( t,n ) si es 1 El símbolo x indica que se busca al entero mayor más cercano a x, y x el entero menor más cercano. En este caso, asignando al parámetro b el valor 1.5, se busca que en las primeras generaciones muten los bits más significativos de la cadena para aumentar la capacidad exploratoria del algoritmo, mientras que en las últimas etapas se mutarán los menos significativos para dar más importancia a la búsqueda local. - Mutación basada en el orden (OBM) 12. Este operador está diseñado para que pueda trabajar tanto con codificaciones permutacionales como con las permutacionales con repetición. Consiste en el intercambio de los valores de dos posiciones seleccionadas aleatoriamente (Figura 10) Figura 10. Operador mutación OBM (codificación permutacional con repetición) - Mutación por permutación de un subconjunto (SSM 13 ). Desarrollado por Davis (Davis, 1991) para la codificación permutacional, pero que es directamente aplicable también a la permutacional con repetición. Se seleccionan dos posiciones de la cadena correspondiente al individuo que tiene que mutar, y los valores comprendidos entre ellas se permutan de forma aleatoria, dejando el resto del cromosoma igual (Figura 11): Figura 11. Operador mutación SSM (codificación permutacional) 12 Order Based Mutation. 13 Scramble Sublist Mutation.

Algoritmos Genéticos. Introduccion a la Robótica Inteligente

Algoritmos Genéticos. Introduccion a la Robótica Inteligente Algoritmos Genéticos Introduccion a la Robótica Inteligente 7 Marzo 2014 (IRIN) AGs 7/03/2014 1 / 43 Índice 1 Introducción 2 Algoritmos Genéticos 3 Algunos Fundamentos Matemáticos 4 Conclusiones (IRIN)

Más detalles

Algoritmos Genéticos

Algoritmos Genéticos Introducción a la Computación Evolutiva Tercera Clase: Algoritmos Genéticos Algoritmos Genéticos Desarrollados en USA durante los años 70 Autores principales: J. Holland, K. DeJong, D. Goldberg Aplicados

Más detalles

Algoritmos Genéticos. Algoritmos Genéticos. Introducción a la Computación Evolutiva. Tercera Clase: Algoritmos Genéticos

Algoritmos Genéticos. Algoritmos Genéticos. Introducción a la Computación Evolutiva. Tercera Clase: Algoritmos Genéticos Introducción a la Computación Evolutiva Tercera Clase: Algoritmos Genéticos Algoritmos Genéticos Desarrollados en USA durante los años 70 Autores principales: J. Holland, K. DeJong, D. Goldberg Aplicados

Más detalles

Algoritmos genéticos como métodos de aproximación analítica y búsqueda de óptimos locales

Algoritmos genéticos como métodos de aproximación analítica y búsqueda de óptimos locales Algoritmos genéticos como métodos de aproximación analítica y búsqueda de óptimos locales Jorge Salas Chacón A03804 Rubén Jiménez Goñi A93212 Juan Camilo Carrillo Casas A91369 Marco Vinicio Artavia Quesada

Más detalles

ALGORITMOS GENÉTICOS

ALGORITMOS GENÉTICOS Arranz de la Peña, Jorge Universidad Carlos III 100025106@alumnos.uc3m.es ALGORITMOS GENÉTICOS Parra Truyol, Antonio Universidad Carlos III 100023822@alumnos.uc3m.es En este documento se pretende analizar

Más detalles

Algoritmos Genéticos.

Algoritmos Genéticos. Algoritmos Genéticos. Miguel Cárdenas Montes, Antonio Gómez Iglesias Centro de Investigaciones Energéticas Medioambientales y Tecnológicas, Madrid, Spain miguel.cardenas@ciemat.es 15-19 de Octubre de 2011

Más detalles

Algoritmos Evolutivos

Algoritmos Evolutivos Algoritmos Evolutivos 2003-11-20 Cristóbal Romero, Pedro González y Sebastián Ventura 1.1 Introducción En general, cualquier tarea abstracta a realizar puede considerarse como la resolución de un problema

Más detalles

Desarrollo de un sistema capaz de optimizar rutas de entrega utilizando algoritmos genéticos

Desarrollo de un sistema capaz de optimizar rutas de entrega utilizando algoritmos genéticos MT 6 Desarrollo de un sistema capaz de optimizar rutas de entrega utilizando algoritmos genéticos Rosario Baltazar 1 Judith Esquivel Vázquez 2 Andrea Rada 3 Claudia Díaz 4 Resumen Durante los últimos 15

Más detalles

&$3Ì78/2 $/*25,7026 (92/87,926 $9$1=$'26 3$5$ 763 6.1. INTRODUCCIÓN

&$3Ì78/2 $/*25,7026 (92/87,926 $9$1=$'26 3$5$ 763 6.1. INTRODUCCIÓN &$3Ì78/2 6.1. INTRODUCCIÓN Los primeros avances para solucionar el TSP, por medio de Algoritmos Evolutivos han sido introducidos por Goldberg y Lingle en [68] y Grefenstette en [72]. En éste área muchos

Más detalles

Algoritmos Genéticos Y

Algoritmos Genéticos Y Algoritmos Genéticos Y Optimización n Heurística Dr. Adrian Will Grupo de Aplicaciones de Inteligencia Artificial Universidad Nacional de Tucumán awill@herrera.unt.edu.ar Operadores de Mutación El operador

Más detalles

Computación Evolutiva: Técnicas de Selección

Computación Evolutiva: Técnicas de Selección Computación Evolutiva: Técnicas de Selección Dr. Gregorio Toscano Pulido Laboratorio de Tecnologías de Información Centro de Investigación y de Estudios Avanzados del IPN Cinvestav-Tamaulipas Dr. Gregorio

Más detalles

Capítulo IV ALGORITMOS GENÉTICOS

Capítulo IV ALGORITMOS GENÉTICOS Capítulo IV ALGORITMOS GENÉTICOS 4.1. INTRODUCCIÓN La estructura de un algoritmo genético simple se corresponde con la estructura de cualquier programa evolutivo (ver figura 1.1). Durante la iteración

Más detalles

Introducción a la Computación Evolutiva

Introducción a la Computación Evolutiva Introducción a la Computación Evolutiva Sección de Computación CINVESTAV-IPN Av. IPN No. 2508 Col. San Pedro Zacatenco México, D.F. 07300 email: ccoello@cs.cinvestav.mx http: //delta.cs.cinvestav.mx/~ccoello

Más detalles

Búsqueda Local. cbea (LSI-FIB-UPC) Inteligencia Artificial Curso 2011/2012 1 / 33

Búsqueda Local. cbea (LSI-FIB-UPC) Inteligencia Artificial Curso 2011/2012 1 / 33 Introducción Búsqueda Local A veces el camino para llegar a la solución no nos importa, buscamos en el espacio de soluciones Queremos la mejor de entre las soluciones posibles alcanzable en un tiempo razonable

Más detalles

Introducción a los Algoritmos Genéticos. Tomás Arredondo Vidal 17/4/09

Introducción a los Algoritmos Genéticos. Tomás Arredondo Vidal 17/4/09 Introducción a los Algoritmos Genéticos Tomás Arredondo Vidal 17/4/09 Esta charla trata de lo siguiente: Introducción a algunos aspectos de los algoritmos genéticos. Introducción a algunas aplicaciones

Más detalles

FORMULACIÓN DE UN ALGORITMO GENÉTICO PARA EL PROBLEMA DE PROGRAMACIÓN DE ÓRDENES DE TRABAJO DE UNA EMPRESA DE ARTES GRÁFICAS

FORMULACIÓN DE UN ALGORITMO GENÉTICO PARA EL PROBLEMA DE PROGRAMACIÓN DE ÓRDENES DE TRABAJO DE UNA EMPRESA DE ARTES GRÁFICAS FORMULACIÓN DE UN ALGORITMO GENÉTICO PARA EL PROBLEMA DE PROGRAMACIÓN DE ÓRDENES DE TRABAJO DE UNA EMPRESA DE ARTES GRÁFICAS PROYECTO DE GRADO Javier mauricio gamboa salgado Código: 544004 John alexander

Más detalles

Capítulo V ALGORITMOS EVOLUTIVOS AVANZADOS 5.1. INTRODUCCIÓN 5.2. ALGORITMOS EVOLUTIVOS AVANZADOS CON MÚLTIPLES PADRES Y MÚLTIPLES CROSSOVERS

Capítulo V ALGORITMOS EVOLUTIVOS AVANZADOS 5.1. INTRODUCCIÓN 5.2. ALGORITMOS EVOLUTIVOS AVANZADOS CON MÚLTIPLES PADRES Y MÚLTIPLES CROSSOVERS Capítulo V ALGORITMOS EVOLUTIVOS AVANZADOS 5.1. INTRODUCCIÓN En este capítulo se presentan algunas modificaciones al diseño de un algoritmo evolutivo para mejorar su performance. El hecho de innovar en

Más detalles

Selección usando Algoritmos

Selección usando Algoritmos Capítulo 3 Selección usando Algoritmos Genéticos 3.1. Introducción En esta sección se aborda el uso de Algoritmos Genéticos (GA del inglés Genetic Algorithms) para selección de características. Así como

Más detalles

ESCUELA POLITÉCNICA NACIONAL

ESCUELA POLITÉCNICA NACIONAL ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA OPTIMIZACIÓN DE CONTROLADORES DIGITALES PID EN SISTEMAS DINÁMICOS USANDO ALGORITMOS GENÉTICOS PROYECTO PREVIO A LA OBTENCIÓN

Más detalles

Métodos evolutivos de Optimización. Prof. Cesar de Prada Dpto. Ingeneiria de Sitemas y Automática Universidad de Valladolid

Métodos evolutivos de Optimización. Prof. Cesar de Prada Dpto. Ingeneiria de Sitemas y Automática Universidad de Valladolid Métodos evolutivos de Optimización Prof. Cesar de Prada Dpto. Ingeneiria de Sitemas y Automática Universidad de Valladolid Indice Introducción Método de Montecarlo Algoritmos genéticos Tabú Search Simulated

Más detalles

Desarrollo de algoritmos genéticos, de recocido simulado e híbridos para la planificación de un taller flexible

Desarrollo de algoritmos genéticos, de recocido simulado e híbridos para la planificación de un taller flexible X Congreso de Ingeniería de Organización Valencia, 7 y 8 de septiembre de 2006 Desarrollo de algoritmos genéticos, de recocido simulado e híbridos para la planificación de un taller flexible Sara Lumbreras

Más detalles

Introducción a los Algoritmos Genéticos

Introducción a los Algoritmos Genéticos Marcos Gestal Pose Depto. Tecnologías de la Información y las Comunicaciones Universidade da Coruña http://sabia.tic.udc.es/ mgestal mgestal@udc.es Índice 1. Introducción 2 2. Orígenes 2 3. Bases Biológicas

Más detalles

ETSIINGENIO 2009 DIBUJO DE GRAFOS MEDIANTE ALGORITMOS GENÉTICOS

ETSIINGENIO 2009 DIBUJO DE GRAFOS MEDIANTE ALGORITMOS GENÉTICOS ETSIINGENIO 2009 DIBUJO DE GRAFOS MEDIANTE ALGORITMOS GENÉTICOS EtsiIngenio Inteligencia Artificial 1 Raposo López Alejandro Sánchez Palacios Manuel Resumen dibujo de grafos mediante algoritmos genéticos

Más detalles

Algoritmos Genéticos Y

Algoritmos Genéticos Y Algoritmos Genéticos Y Optimización n Heurística Dr. Adrian Will Grupo de Aplicaciones de Inteligencia Artificial Universidad Nacional de Tucumán awill@herrera.unt.edu.ar Algoritmos Genéticos - Operadores

Más detalles

ALGORITMOS GENÉTICOS

ALGORITMOS GENÉTICOS 1 Introducción ALGORITMOS GENÉTICOS Los Algoritmos Genéticos (AGs) son métodos adaptativos que pueden usarse para resolver problemas de búsqueda y optimización. Están basados en el proceso genético de

Más detalles

Representación, Codificación en un AG Población Inicial. Aptitud. Estrategia de Selección. Cruce, Mutación, Reemplazo. Condición de Parada.

Representación, Codificación en un AG Población Inicial. Aptitud. Estrategia de Selección. Cruce, Mutación, Reemplazo. Condición de Parada. Computación n Evolutiva: Algoritmos Genéticos 1.- Metaheurísticos. Computación Evolutiva: Algoritmos Genéticos 2.- Conceptos principales de un Algoritmo Genético 3.- Estructura de un Algoritmo Genético

Más detalles

Computación Evolutiva - Mutación: Cruza, Inversión y Mutación para Permutaciones

Computación Evolutiva - Mutación: Cruza, Inversión y Mutación para Permutaciones Computación Evolutiva - Mutación: Cruza, Inversión y Mutación para Permutaciones Dr. Gregorio Toscano Pulido Laboratorio de Tecnologías de Información Centro de Investigación y de Estudios Avanzados del

Más detalles

Introducción a los Algoritmos Genéticos

Introducción a los Algoritmos Genéticos Introducción a los Algoritmos Genéticos Francisco José Ribadas Pena INTELIGENCIA ARTIFICIAL 5 Informática ribadas@uvigo.es 17 de octubre de 2005 c FJRP 2005 ccia IA Métodos de 8 < : 1 Introducción 9 =

Más detalles

Capítulo VI MÉTODOS DE SOLUCIÓN PARA JOB SHOP SCHEDULING

Capítulo VI MÉTODOS DE SOLUCIÓN PARA JOB SHOP SCHEDULING Capítulo VI MÉTODOS DE SOLUCIÓN PARA JOB SHOP SCHEDULING 6.1. HEURÍSTICAS CONVENCIONALES El problema de job shop scheduling (JSSP) es un problema muy importante [69]; está entre los problemas de optimización

Más detalles

Modelo de un Algoritmo Genético con Selección Discriminatoria de Individuos bajo un Esquema de Ponderación de Probabilidades de Mutación

Modelo de un Algoritmo Genético con Selección Discriminatoria de Individuos bajo un Esquema de Ponderación de Probabilidades de Mutación Modelo de un Algoritmo Genético con Selección Discriminatoria de Individuos bajo un Esquema de Ponderación de Probabilidades de Mutación Victor Manuel Arroyo Apaza Orientador: Dr. Yván Jesús Túpac Valdivia

Más detalles

9.1.Los sistemas expertos. 9.2.Las redes neuronales artificiales. 9.3.Sistemas de inducción de reglas y árboles de decisión.

9.1.Los sistemas expertos. 9.2.Las redes neuronales artificiales. 9.3.Sistemas de inducción de reglas y árboles de decisión. TEMA 9 TÉCNICAS DE INTELIGENCIA ARTIFICIAL PARA EL ANÁLISIS DE LA INFORMACIÓN CONTABLE 9.1.Los sistemas expertos. 9.2.Las redes neuronales artificiales. 9.3.Sistemas de inducción de reglas y árboles de

Más detalles

Procesamiento Digital de Imágenes. Pablo Roncagliolo B. Nº 22. Algoritmos Genéticos. prb@2007 2

Procesamiento Digital de Imágenes. Pablo Roncagliolo B. Nº 22. Algoritmos Genéticos. prb@2007 2 Procesamiento Digital de Imágenes Pablo Roncagliolo B. Nº 22 prb@2007 2 1 El núcleo de cada célula humana contiene una base de datos química. Esta base de datos contiene todas las instrucciones que la

Más detalles

Introducción a los algoritmos genéticos y sus aplicaciones

Introducción a los algoritmos genéticos y sus aplicaciones Introducción a los algoritmos genéticos y sus aplicaciones Autora: Piedad Tolmos Rodríguez-Piñero Dirección: Paseo de los Artilleros s/n Madrid 28032 Teléfono: 91-3019901 E-Mail: tolmos@poseidon.fcjs.urjc.es

Más detalles

Computación Evolutiva: Algoritmos Genéticos

Computación Evolutiva: Algoritmos Genéticos Computación Evolutiva: Apuntes de la asignatura: Inteligencia Artificial Razonamiento Aproximado (Máster) Daniel Manrique Gamo Profesor Titular de Universidad Índice 1. Introducción 5 1.1. Bases de la

Más detalles

Ingeniería Energética E-ISSN: 1815-5901 orestes@cipel.ispjae.edu.cu. Instituto Superior Politécnico José Antonio Echeverría. Cuba

Ingeniería Energética E-ISSN: 1815-5901 orestes@cipel.ispjae.edu.cu. Instituto Superior Politécnico José Antonio Echeverría. Cuba Ingeniería Energética E-ISSN: 1815-5901 orestes@cipel.ispjae.edu.cu Instituto Superior Politécnico José Antonio Echeverría Cuba Carvajal- Pérez, Raúl Nicolás Un Algoritmo Genético Especializado en Planeamiento

Más detalles

Introducción a los Algoritmos Genéticos y la Programación Genética

Introducción a los Algoritmos Genéticos y la Programación Genética Introducción a los Algoritmos Genéticos y la Programación Genética Marcos Gestal Daniel Rivero Juan Ramón Rabuñal Julián Dorado Alejandro Pazos + X + - + % * 6.21 4.73-1.68 % X * 5.67-3.85 Y + Y X 0.23

Más detalles

Propuesta de un algoritmo genético para la programación diaria de los pedidos de una empresa del sector de la construcción

Propuesta de un algoritmo genético para la programación diaria de los pedidos de una empresa del sector de la construcción 5 th International Conference on Industrial Engineering and Industrial Management XV Congreso de Ingeniería de Organización Cartagena, 7 a 9 de Septiembre de 2011 Propuesta de un algoritmo genético para

Más detalles

Computación Evolutiva Algoritmos Genéticos

Computación Evolutiva Algoritmos Genéticos UNL - FICH - Departamento de Informática - Ingeniería Informática Inteligencia Computacional Computación Evolutiva Algoritmos Genéticos Temas a tratar - Generalidades de los algoritmos de computación evolutiva.

Más detalles

Algoritmos Genéticos

Algoritmos Genéticos Algoritmos Genéticos AG un vistazo rápido Desarrollado: USA en 1970 s Primeros nombres: J. Holland, K. DeJong, D. Goldberg Típicamente aplicado a: Optimización discreta Características exhibidas: No demasiado

Más detalles

Apuntes de Inteligencia Artificial

Apuntes de Inteligencia Artificial PONTIFICIA UNIVERSIDAD CATÓLICA DEL ECUADOR FACULTAD DE INGENIERÍA Apuntes de Inteligencia Artificial Algoritmos Genéticos JORGE AGUILAR JARAMILLO Algoritmos Genéticos 8 Algoritmos Genéticos 8.1 Introducción

Más detalles

Un algoritmo genético híbrido para resolver el EternityII. Rico, Martin; Ros, Rodrigo Directora: Prof. Dra. Irene Loiseau

Un algoritmo genético híbrido para resolver el EternityII. Rico, Martin; Ros, Rodrigo Directora: Prof. Dra. Irene Loiseau Un algoritmo genético híbrido para resolver el EternityII Rico, Martin; Ros, Rodrigo Directora: Prof. Dra. Irene Loiseau Temas Temas Introducción Eternity II Historia Descripción Demo Metaheurísticas Algoritmos

Más detalles

TÉCNICAS HEURÍSTICAS Y METAHEURÍSTICAS DE OPTIMIZACIÓN

TÉCNICAS HEURÍSTICAS Y METAHEURÍSTICAS DE OPTIMIZACIÓN TÉCNICAS HEURÍSTICAS Y METAHEURÍSTICAS DE OPTIMIZACIÓN RAMÓN ALFONSO GALLEGO RENDÓN ANTONIO ESCOBAR ZULUAGA ELIANA MIRLEDY TORO OCAMPO Universidad Tecnológica de Pereira Pereira - Risaralda - Colombia

Más detalles

Un algoritmo evolutivo simple para el problema de asignación de tareas a procesadores

Un algoritmo evolutivo simple para el problema de asignación de tareas a procesadores Un algoritmo evolutivo simple para el problema de asignación de tareas a procesadores Pablo Ezzatti CeCal, Facultad de Ingeniería Universidad de la República, Uruguay pezzatti@fing.edu.uy Sergio Nesmachnow

Más detalles

Programación Lineal Entera

Programación Lineal Entera Programación Lineal Entera P.M. Mateo y David Lahoz 2 de julio de 2009 En este tema se presenta un tipo de problemas formalmente similares a los problemas de programación lineal, ya que en su descripción

Más detalles

Un algoritmo evolutivo simple para el problema de asignación de tareas a procesadores

Un algoritmo evolutivo simple para el problema de asignación de tareas a procesadores Un algoritmo evolutivo simple para el problema de asignación de tareas a procesadores Pablo Ezzatti CeCal, Facultad de Ingeniería Universidad de la República, Uruguay pezzatti@fing.edu.uy Sergio Nesmachnow

Más detalles

? 50 30 20 20 emplear NA 0,788 0,367879 se queda s a 150 275 70-125 se pone s en s a 15 58 200-43 se pone s en s a

? 50 30 20 20 emplear NA 0,788 0,367879 se queda s a 150 275 70-125 se pone s en s a 15 58 200-43 se pone s en s a 350 MR Versión 1 1 Prueba Parcial 1/5 UNIVERSIDAD NACIONAL ABIERTA VICERRECTORADO ACADÉMICO ÁREA: INGENIERÍA MODELO DE RESPUESTA ASIGNATURA: Computación Evolutiva CÓDIGO: 350 MOMENTO: Primera Parcial VERSIÓN:

Más detalles

OPTIMIZACIÓN DE TRANSFORMACIONES LINEALES DE DATOS MEDIANTE BUSQUEDA LOCAL

OPTIMIZACIÓN DE TRANSFORMACIONES LINEALES DE DATOS MEDIANTE BUSQUEDA LOCAL OPTIMIZACIÓN DE TRANSFORMACIONES LINEALES DE DATOS MEDIANTE BUSQUEDA LOCAL INGENIERIA INFORMATICA AUTOR: FRANCISCO GODOY MUÑOZ-TORRERO TUTOR: JOSE MARIA VALLS FERRAN CO-DIRECTOR: RICARDO ALER MUR Contenidos

Más detalles

Algoritmos Genéticos. Aplicación al Juego de las N Reinas.

Algoritmos Genéticos. Aplicación al Juego de las N Reinas. Algoritmos Genéticos. Aplicación al Juego de las N Reinas. Juan Carlos Pozas Bustos NIA: 100025154 Univ.Carlos III de Madrid Ing.Telecomunicación España 100025154@alumnos.uc3m.es Términos generales En

Más detalles

Propuesta de un algoritmo evolutivo aplicado a problemas de optimización

Propuesta de un algoritmo evolutivo aplicado a problemas de optimización Propuesta de un algoritmo evolutivo aplicado a problemas de optimización Javier Izetta Riera 1 y Nilda M. Pérez Otero 1 1 Grupo de Investigación y Desarrollo en Informática Aplicada, Facultad de Ingeniería,

Más detalles

Matemáticas Evolutivas: Algoritmos Genéticos

Matemáticas Evolutivas: Algoritmos Genéticos Matemáticas Evolutivas: Algoritmos Genéticos María Teresa Iglesias Otero Departamento de Matemáticas Universidade da Coruña Cuál es la mejor forma de...? cuál es el camino más corto a...? cuál es la más

Más detalles

UTgeNes - Framework para Implementación y Estudio de Algoritmos

UTgeNes - Framework para Implementación y Estudio de Algoritmos UTgeNes - Framework para Implementación y Estudio de Algoritmos Genéticos Abstract UTgeNes es un framework para la implementación y estudio de algoritmos genéticos propuesto para la realización de trabajos

Más detalles

Revista Facultad de Ingeniería Universidad de Antioquia ISSN: 0120-6230 revista.ingenieria@udea.edu.co Universidad de Antioquia Colombia

Revista Facultad de Ingeniería Universidad de Antioquia ISSN: 0120-6230 revista.ingenieria@udea.edu.co Universidad de Antioquia Colombia Revista Facultad de Ingeniería Universidad de Antioquia ISSN: 0120-6230 revista.ingenieria@udea.edu.co Universidad de Antioquia Colombia Tabares, Héctor; Hernández, Jesús Pronóstico puntos críticos de

Más detalles

Programación Genética

Programación Genética Programación Genética Programación Genética consiste en la evolución automática de programas usando ideas basadas en la selección natural (Darwin). No sólo se ha utilizado para generar programas, sino

Más detalles

Temario III Algoritmos Combinatorios y Metaheurísticas

Temario III Algoritmos Combinatorios y Metaheurísticas Temario III Algoritmos Combinatorios y Metaheurísticas Verificación y Validación de Software UNCo 1 Contenidos Combinación de Datos de Test Algoritmos Combinatorios Metaheurísticas Búsqueda Tabú Algoritmos

Más detalles

Diseño de redes viales urbanas usando algoritmos genéticos. M. Angélica Pinninghoff J.* Eduardo Matthews D. * Héctor Díaz C.

Diseño de redes viales urbanas usando algoritmos genéticos. M. Angélica Pinninghoff J.* Eduardo Matthews D. * Héctor Díaz C. Diseño de redes viales urbanas usando algoritmos genéticos M. Angélica Pinninghoff J.* Eduardo Matthews D. * Héctor Díaz C. e-mail: mapinnin@inf.udec.cl * Departamento de Ingeniería Informática y Ciencias

Más detalles

Inteligencia Artificial para desarrolladores Conceptos e implementación en C#

Inteligencia Artificial para desarrolladores Conceptos e implementación en C# Introducción 1. Estructura del capítulo 19 2. Definir la inteligencia 19 3. La inteligencia de los seres vivos 22 4. La inteligencia artificial 24 5. Dominios de aplicación 26 6. Resumen 28 Sistemas expertos

Más detalles

Ingeniería en Informática

Ingeniería en Informática Departamento de Informática Universidad Carlos III de Madrid Ingeniería en Informática Aprendizaje Automático Junio 2007 Normas generales del examen El tiempo para realizar el examen es de 3 horas No se

Más detalles

TEMA II: ÁLGEBRA DE CONMUTACIÓN

TEMA II: ÁLGEBRA DE CONMUTACIÓN TEMA II: ÁLGEBRA DE CONMUTACIÓN En este capítulo veremos los métodos matemáticos que se disponen para las operaciones relacionadas con los circuitos digitales, así como las funciones más básicas de la

Más detalles

LIMITE DE SHANON PARA LA CAPACIDAD DE INFORMACIÓN

LIMITE DE SHANON PARA LA CAPACIDAD DE INFORMACIÓN CONVERSION ANALÓGICO A DIGITAL Con el paso del tiempo, las comunicaciones electrónicas han experimentado algunos cambios tecnológicos notables. Los sistemas tradicionales de comunicaciones electrónicas

Más detalles

TÉCNICAS EVOLUTIVAS PARA EL PROBLEMA DEL VIAJANTE

TÉCNICAS EVOLUTIVAS PARA EL PROBLEMA DEL VIAJANTE Mecánica Computacional Vol. XXII M. B. Rosales, V. H. Cortínez y D. V. Bambill (Editores) Bahía Blanca, Argentina, Noviembre 2003. TÉCNICAS EVOLUTIVAS PARA EL PROBLEMA DEL VIAJANTE Jessica A. Carballido,

Más detalles

ALGORITMOS GENÉTICOS ALGORITMOS GENÉTICOS ORÍGENES ALGORITMOS GENÉTICOS. Libros relevantes GENERACIÓN DE HIJOS: CROSSOVER POBLACIÓN INICIAL

ALGORITMOS GENÉTICOS ALGORITMOS GENÉTICOS ORÍGENES ALGORITMOS GENÉTICOS. Libros relevantes GENERACIÓN DE HIJOS: CROSSOVER POBLACIÓN INICIAL ALGORITMOS GENÉTICOS Modelización y Predicción con Tecnologías Emergentes 6 ALGORITMOS GENÉTICOS ORÍGENES Basados en la teoría de la evolución de Darwin. La idea es de John H. Holland (1929 -, University

Más detalles

ALGORITMOS GENETICOS ÍNDICE

ALGORITMOS GENETICOS ÍNDICE ALGORITMOS GENETICOS ÍNDICE 1. Introducción 1.1 Antecedentes 1.2 Definición 1.3 Problemática 1.4 Ventajas y Desventajas 1.5 Limitaciones 1.6 Como saber si es posible usar un Algoritmo Genético 2. Extensiones

Más detalles

OBJETIVOS. Estudiar los conceptos básicos de transmisión de señales de video y datos sobre redes de cable coaxial y fibra óptica.

OBJETIVOS. Estudiar los conceptos básicos de transmisión de señales de video y datos sobre redes de cable coaxial y fibra óptica. OBJETIVOS Estudiar los conceptos básicos de transmisión de señales de video y datos sobre redes de cable coaxial y fibra óptica. Analizar los diferentes tipos de arquitecturas utilizadas en el diseño de

Más detalles

Implementación del algoritmo UEGO sobre el entorno Matlab como alternativa al toolbox de optimización

Implementación del algoritmo UEGO sobre el entorno Matlab como alternativa al toolbox de optimización Implementación del algoritmo UEGO sobre el entorno Matlab como alternativa al toolbox de optimización Victoria Plaza Leiva Universidad de Almería Abstract Global optimization algorithms are widely used

Más detalles

OPTIMIZACIÓN DE RUTAS DE TRANSPORTE

OPTIMIZACIÓN DE RUTAS DE TRANSPORTE OPTIMIZACIÓN DE RUTAS DE TRANSPORTE Proyecto de Sistemas Informáticos Realizado por: Andrés Aguado Aranda, Javier Jiménez de Vega Dirigido por: José Jaime Ruz Ortiz Curso 2012/2013 2 RESUMEN En este proyecto

Más detalles

Procesamiento Digital de Imágenes. Compresión de imágenes

Procesamiento Digital de Imágenes. Compresión de imágenes FICH, UNL - Departamento de Informática - Ingeniería Informática Procesamiento Digital de Imágenes Guía de Trabajos Prácticos 8 Compresión de imágenes 2010 1. Objetivos Analizar las características y el

Más detalles

TESIS DOCTORAL. Desarrollo e implementación de una metodología para el diseño de sistemas de control mediante algoritmos evolutivos multiobjetivo

TESIS DOCTORAL. Desarrollo e implementación de una metodología para el diseño de sistemas de control mediante algoritmos evolutivos multiobjetivo UNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA ETS de Ingeniería Informática Departamento de Informática y Automática TESIS DOCTORAL Desarrollo e implementación de una metodología para el diseño de sistemas

Más detalles

CAPITULO II. MARCO TEÓRICO. Actualmente todas las personas que tengan un capital considerable pueden invertir en

CAPITULO II. MARCO TEÓRICO. Actualmente todas las personas que tengan un capital considerable pueden invertir en CAPITULO II. MARCO TEÓRICO II.1. Mercados Financieros II.1.1 Marco histórico Actualmente todas las personas que tengan un capital considerable pueden invertir en acciones a fin de obtener ganancias rápidas

Más detalles

M O N O G R Á F I C O: D A R W I N

M O N O G R Á F I C O: D A R W I N http://www.sinewton.org/numeros ISSN: 1887-1984 Volumen 71, agosto de 2009, páginas 29 47 Resumen Palabras clave Abstract Keywords 1. Introducción Algoritmos Genéticos. Una visión práctica Belén Melián

Más detalles

A L G O R I T M O S E VO L U T I VO S A P L I C A D O S A L A G E N E R AC I Ó N D E H O R A R I O S PA R A C O L E G I O

A L G O R I T M O S E VO L U T I VO S A P L I C A D O S A L A G E N E R AC I Ó N D E H O R A R I O S PA R A C O L E G I O E S C U E L A P O L I T É C N I C A N A C I O N A L F A C U L T A D D E C I E N C I A S D E P A R T A M E N T O D E M A T E M Á T I C A S A L G O R I T M O S E VO L U T I VO S A P L I C A D O S A L A G

Más detalles

Belgrano. Las tesinas UNIVERSIDAD DE BELGRANO. Departamento de Investigación Abril 2003. Facultad de Ingeniería y Tecnología Informática

Belgrano. Las tesinas UNIVERSIDAD DE BELGRANO. Departamento de Investigación Abril 2003. Facultad de Ingeniería y Tecnología Informática UNIVERSIDAD DE BELGRANO Las tesinas de Belgrano Facultad de Ingeniería y Tecnología Informática Optimización evolutiva de trayectorias de plataformas robóticas Nº 72 Pablo Luis Pettis Tutor: Raimundo O.

Más detalles

Optimización inspirada en la naturaleza

Optimización inspirada en la naturaleza Optimización inspirada en la naturaleza Efrén Mezura-Montes Laboratorio Nacional de Informática Avanzada (LANIA AC) Xalapa, Veracruz, MEXICO emezura@lania.mx http://www.lania.mx/~emezura 10ª feria de Posgrados

Más detalles

Algoritmos Genéticos Y

Algoritmos Genéticos Y Algoritmos Genéticos Y Optimización n Heurística Dr. Adrian Will Grupo de Aplicaciones de Inteligencia Artificial Universidad Nacional de Tucumán awill@herrera.unt.edu.ar Optimización n Tradicional Problemas

Más detalles

TEMA I: INTRODUCCIÓN A LA ELECTRÓNICA DIGITAL

TEMA I: INTRODUCCIÓN A LA ELECTRÓNICA DIGITAL TEMA I: INTRODUCCIÓN A LA ELECTRÓNICA DIGITAL 1. Electrónica Digital Antes de empezar en el tema en cuestión, vamos a dar una posible definición de la disciplina que vamos a tratar, así como su ámbito

Más detalles

Universidad Veracruzana Facultad de Física e Inteligencia Articial

Universidad Veracruzana Facultad de Física e Inteligencia Articial Universidad Veracruzana Facultad de Física e Inteligencia Articial Estudio Empírico de Operadores de Cruza en Algoritmos Genéticos para resolver Problemas de Optimización con Restricciones Documento de

Más detalles

GENÉTICA MENDELIANA: UN MODELO DIDÁCTICO DESARROLLADO CON LA HOJA DE CÁLCULO

GENÉTICA MENDELIANA: UN MODELO DIDÁCTICO DESARROLLADO CON LA HOJA DE CÁLCULO Informática Educativa Vol. 9, No. 2, 1996 UNIANDES - LIDIE, Colombia pp. 145-150 GENÉTICA MENDELIANA: UN MODELO DIDÁCTICO DESARROLLADO CON LA HOJA DE CÁLCULO Jorge MONTOYA R Propósito RESUMEN Utilizando

Más detalles

Una heurística para la asignación de máquinas a trabajos fijos

Una heurística para la asignación de máquinas a trabajos fijos VIII Congreso de Ingeniería de Organización Leganés, 9 y 10 de septiembre de 2004 Una heurística para la asignación de máquinas a trabajos fijos José Manuel García Sánchez, Marcos Calle Suárez, Gabriel

Más detalles

Algoritmos Genéticos aplicados a la resolución de problemas de optimización

Algoritmos Genéticos aplicados a la resolución de problemas de optimización 1 Algoritmos Genéticos aplicados a la resolución de problemas de optimización Luis Marco Giménez lmarcogimenez@gmail.com http://www.luismarco.nom.es RESUMEN Los Algoritmos Genéticos, como paradigma principal

Más detalles

Distribución Óptima de Horarios de Clases utilizando la técnica de Algoritmos Genéticos

Distribución Óptima de Horarios de Clases utilizando la técnica de Algoritmos Genéticos Distribución Óptima de Horarios de Clases utilizando la técnica de Algoritmos Genéticos Tesis Profesional Que para obtener el Título de Ingeniero en Computación Presenta CARLA LENINCA PACHECO AGÜERO Acatlima,

Más detalles

Administración de proyectos. Organizar, planificar y programar los proyectos de software

Administración de proyectos. Organizar, planificar y programar los proyectos de software Administración de proyectos Organizar, planificar y programar los proyectos de software Administración de proyectos Trata de las actividades que hay que realizar para asegurar que el software se entregará

Más detalles

Probabilidad y sus aplicaciones en ingeniería informática

Probabilidad y sus aplicaciones en ingeniería informática Probabilidad y sus aplicaciones en ingeniería informática Víctor Hernández Eduardo Ramos Ildefonso Yáñez c Víctor Hernández, Eduardo Ramos, Ildefonso Yánez EDICIONES CDÉMICS Probabilidad y sus aplicaciones

Más detalles

DESCRIPCIÓN DE POBLACIONES MENDELIANAS: EQUILIBRIO DE HARDY-WEINBERG

DESCRIPCIÓN DE POBLACIONES MENDELIANAS: EQUILIBRIO DE HARDY-WEINBERG DESCRIPCIÓN DE POBLACIONES MENDELIANAS: EQUILIBRIO DE HARDY-WEINBERG T. DOBZHANSKY G. H. HARDY CONCEPTO DE POBLACIÓN DESCRIPCIÓN ESTÁTICA DE POBLACIONES DESCRIPCIÓN DINÁMICA: EQUILIBRIO DE HARDY-WEINBERG

Más detalles

Códigos, filtros Bloom y redes superpuestas. Michael Mitzenmacher

Códigos, filtros Bloom y redes superpuestas. Michael Mitzenmacher Códigos, filtros Bloom y redes superpuestas Michael Mitzenmacher 1 Hoy... Códigos de borrado Fuente digital Filtros Bloom Caché de resumen, filtros Bloom comprimidos Entrega informada de contenido Combinando

Más detalles

CIDEAD. 2º BACHILLERATO. Tecnología Industrial II. Tema 17.- Los circuitos digitales. Resumen

CIDEAD. 2º BACHILLERATO. Tecnología Industrial II. Tema 17.- Los circuitos digitales. Resumen Tema 7.- Los circuitos digitales. Resumen Desarrollo del tema.. Introducción al tema. 2. Los sistemas de numeración.. El sistema binario. 4. Códigos binarios. 5. El sistema octal y hexadecimal. 6. El Álgebra

Más detalles

Programación de tareas, un reto diario en la empresa

Programación de tareas, un reto diario en la empresa Programación de tareas, un reto diario en la empresa Pedro Sánchez Martín Ingeniero del ICAI (1993) y Doctor en Ingeniería Industrial por la UPCO (1998). Profesor del Departamento de Organización Industrial

Más detalles

EIE 446 - SISTEMAS DIGITALES Tema 2: Sistemas de Numeración, Operaciones y Códigos

EIE 446 - SISTEMAS DIGITALES Tema 2: Sistemas de Numeración, Operaciones y Códigos EIE 446 - SISTEMAS DIGITALES Tema 2: Sistemas de Numeración, Operaciones y Códigos Nombre del curso: Sistemas Digitales Nombre del docente: Héctor Vargas Fecha: 1 er semestre de 2011 INTRODUCCIÓN El sistema

Más detalles

UNIVERSIDAD REY JUAN CARLOS

UNIVERSIDAD REY JUAN CARLOS UNIVERSIDAD REY JUAN CARLOS ESCUELA SUPERIOR DE INGENIERÍA INFORMÁTICA INGENIERÍA TÉCNICA EN INFORMÁTICA DE SISTEMAS Curso Académico 2009/2010 Proyecto de Fin de Carrera ESTUDIO EXPERIMENTAL CON DIFERENTES

Más detalles

Selección Sexual Discriminatoria en un Algoritmo Evolutivo con una Matriz de Preferencias para la mejora de calidad de los Horarios de Trabajo

Selección Sexual Discriminatoria en un Algoritmo Evolutivo con una Matriz de Preferencias para la mejora de calidad de los Horarios de Trabajo Selección Sexual Discriminatoria en un Algoritmo Evolutivo con una Matriz de Preferencias para la mejora de calidad de los Horarios de Trabajo Víctor Arroyo Ciencia de la Computación Universidad Católica

Más detalles

Tema 2. Ingeniería del Software I feliu.trias@urjc.es

Tema 2. Ingeniería del Software I feliu.trias@urjc.es Tema 2 Ciclo de vida del software Ingeniería del Software I feliu.trias@urjc.es Índice Qué es el ciclo de vida del Software? El Estándar 12207 Modelos de proceso Qué es el Ciclo de Vida del SW? Definición

Más detalles

German Flórez Larrahondo Miguel Eduardo Torres Moreno

German Flórez Larrahondo Miguel Eduardo Torres Moreno SIMULADOR PARA LA CONSTRUCCIÓN DE CIRCUITOS COMBINACIONALES POR MEDIO DE ALGORITMOS GENÉTICOS CON APLICACIÓN A UN SUMADOR DE 3 BITS, ORIENTADO A DISPOSITIVOS REPROGRAMABLES German Flórez Larrahondo Miguel

Más detalles

Grado de Ingeniería de Sistemas Audiovisuales.

Grado de Ingeniería de Sistemas Audiovisuales. Título: Autor: Titulación: Tutor: Diseño de Estrategias Óptimas en el Póker mediante Algoritmos Genéticos. Gabriel Marco Ángeles. Grado de Ingeniería de Sistemas Audiovisuales. José Miguel Leiva Murillo.

Más detalles

UNIVERSIDAD VERACRUZANA M O N O G R A F Í A. Licenciado en Sistemas Computacionales Administrativos. Yasmany Alejandro Arrieta Mendoza

UNIVERSIDAD VERACRUZANA M O N O G R A F Í A. Licenciado en Sistemas Computacionales Administrativos. Yasmany Alejandro Arrieta Mendoza UNIVERSIDAD VERACRUZANA Facultad de Contaduría y Administración Algoritmos Genéticos en Java M O N O G R A F Í A Para obtener el Título de: Licenciado en Sistemas Computacionales Administrativos Presenta:

Más detalles

Desarrollo de una aplicación para la implementación de Algoritmos Genéticos

Desarrollo de una aplicación para la implementación de Algoritmos Genéticos Universidad Central de Venezuela Facultad de Ciencias Escuela de Computación Desarrollo de una aplicación para la implementación de Algoritmos Genéticos Trabajo Especial de Grado Presentado ante la Ilustre

Más detalles

SIMULACIÓN CAPITULO 3 LECTURA 6.3. SIMULACIÓN Y ANÁLISIS DE MODELOS ESTOCÁSTICOS Azarang M., Garcia E. Mc. Graw Hill. México 3.

SIMULACIÓN CAPITULO 3 LECTURA 6.3. SIMULACIÓN Y ANÁLISIS DE MODELOS ESTOCÁSTICOS Azarang M., Garcia E. Mc. Graw Hill. México 3. LECTURA 6.3 SIMULACIÓN Y ANÁLISIS DE MODELOS ESTOCÁSTICOS Azarang M., Garcia E. Mc. Graw Hill. México CAPITULO 3 SIMULACIÓN 3.1 INTRODUCCIÓN Simulación es el desarrollo de un modelo lógico-matemático de

Más detalles

Gestión de operaciones

Gestión de operaciones Gestión de operaciones Modelo y modelado Pedro Sánchez Pedro Sánchez pedro.sanchez@upcomillas.es Contenidos Ejemplo de gestión Gestión de operaciones y optimización Modelo y modelado dld 2 1 Ejemplo de

Más detalles

Metaheurísticas: una visión global *

Metaheurísticas: una visión global * Metaheurísticas: una visión global * Belén Melián, José A. Moreno Pérez, J. Marcos Moreno Vega DEIOC. Universidad de La Laguna 38271 La Laguna {mbmelian,jamoreno,jmmoreno}@ull.es Resumen Las metaheurísticas

Más detalles

APLICABILIDAD DE MÉTODOS DE INTELIGENCIA ARTIFICIAL A LA CALIBRACIÓN DE REDES DE ACUEDUCTO

APLICABILIDAD DE MÉTODOS DE INTELIGENCIA ARTIFICIAL A LA CALIBRACIÓN DE REDES DE ACUEDUCTO APLICABILIDAD DE MÉTODOS DE INTELIGENCIA ARTIFICIAL A LA CALIBRACIÓN DE REDES DE ACUEDUCTO Juan Guillermo Saldarriga Valderrama * Profesor Titular del Departamento de Ingeniería Civil y Ambiental de la

Más detalles

Máster Universitario en Ingeniería de Caminos, Canales y Puertos Introducción al Análisis Numérico

Máster Universitario en Ingeniería de Caminos, Canales y Puertos Introducción al Análisis Numérico Máster Universitario en Ingeniería de Caminos, Canales y Puertos Introducción al Análisis Numérico Departamento de Matemática Aplicada Universidad Granada Introducción El Cálculo o Análisis Numérico es

Más detalles

Capítulo V Operaciones Booleanas

Capítulo V Operaciones Booleanas 85 Capítulo V Operaciones Booleanas 5.1 Introducción Es muy posible que en muchos casos sea necesario comparar dos objetos y determinar cuál es su parte común. Esto implica intersectar los dos objetos

Más detalles

Métodos Heurísticos en Inteligencia Artificial

Métodos Heurísticos en Inteligencia Artificial Métodos Heurísticos en Inteligencia Artificial Javier Ramírez rez-rodríguez Ana Lilia Laureano-Cruces Universidad Autónoma Metropolitana Métodos Heurísticos en Inteligencia Artificial Los problemas de

Más detalles