[ 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. 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

&$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

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

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 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 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

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

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

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

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

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

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

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

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

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

Sistema Incremental Generador de Oraciones y de Descodificación Lingüística. José Luciano Maldonado. luzmalvy@telcel.net.ve maldonaj@faces.ula.

Sistema Incremental Generador de Oraciones y de Descodificación Lingüística. José Luciano Maldonado. luzmalvy@telcel.net.ve maldonaj@faces.ula. Sistema Incremental Generador de Oraciones y de Descodificación Lingüística. José Luciano Maldonado. luzmalvy@telcel.net.ve maldonaj@faces.ula.ve Resumen: se describe la implementación experimental 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

LECCIÓN 8: CIRCUITOS Y ALGORITMOS DE MULTIPLICACIÓN DE ENTEROS

LECCIÓN 8: CIRCUITOS Y ALGORITMOS DE MULTIPLICACIÓN DE ENTEROS ESTRUCTURA DE COMPUTADORES Pag. 8.1 LECCIÓN 8: CIRCUITOS Y ALGORITMOS DE MULTIPLICACIÓN DE ENTEROS 1. Circuitos de multiplicación La operación de multiplicar es mas compleja que la suma y por tanto 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

TEMA 3: Control secuencial

TEMA 3: Control secuencial TEMA 3: Control secuencial Esquema: Índice de contenido TEMA 3: Control secuencial...1 1.- Introducción...1 2.- Biestables...3 2.1.- Biestables asíncronos: el Biestable RS...4 2.1.1.- Biestable RS con

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

CARTAS DE CONTROL. FeGoSa

CARTAS DE CONTROL. FeGoSa Las empresas en general, ante la apertura comercial han venido reaccionando ante los cambios y situaciones adversas, reaccionan por ejemplo ante: Disminución de ventas Cancelación de pedidos Deterioro

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

MATEMÁTICAS EMPRESARIALES II:

MATEMÁTICAS EMPRESARIALES II: MATEMÁTICAS EMPRESARIALES II: FUNCIÓN REAL DE VARIAS VARIABLES ÓPTIMOS DE UNA FUNCIÓN ESCALAR MATERIAL DIDÁCTICO DE SOPORTE González-Vila Puchades, Laura Ortí Celma, Francesc J. Sáez Madrid, José B. Departament

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

CLUSTERING MAPAS AUTOORGANIZATIVOS (KOHONEN) (RECUPERACIÓN Y ORGANIZACIÓN DE LA INFORMACIÓN)

CLUSTERING MAPAS AUTOORGANIZATIVOS (KOHONEN) (RECUPERACIÓN Y ORGANIZACIÓN DE LA INFORMACIÓN) CLASIFICACIÓN NO SUPERVISADA CLUSTERING Y MAPAS AUTOORGANIZATIVOS (KOHONEN) (RECUPERACIÓN Y ORGANIZACIÓN DE LA INFORMACIÓN) info@clustering.50webs.com Indice INTRODUCCIÓN 3 RESUMEN DEL CONTENIDO 3 APRENDIZAJE

Más detalles

Capítulo 12: Indexación y asociación

Capítulo 12: Indexación y asociación Capítulo 12: Indexación y asociación Conceptos básicos Índices ordenados Archivos de índice de árbol B+ Archivos de índice de árbol B Asociación estática Asociación dinámica Comparación entre indexación

Más detalles

EJERCICIOS RESUELTOS DE SECUENCIALES

EJERCICIOS RESUELTOS DE SECUENCIALES EJERCICIOS RESUELTOS DE SECUENCIALES 1) El sistema de apertura de una caja fuerte está compuesto por dos teclas A y B, un circuito secuencial a diseñar y un temporizador que mantiene la caja fuerte abierta

Más detalles

Capítulo 4 Procesos con estructuras de repetición

Capítulo 4 Procesos con estructuras de repetición Estructura de contador Capítulo 4 Procesos con estructuras de repetición Esta es una operación que incrementa en una unidad el valor almacenado en la variable c, cada vez que el flujo del diagrama pasa

Más detalles

Apuntes de Matemática Discreta 7. Relaciones de Orden

Apuntes de Matemática Discreta 7. Relaciones de Orden Apuntes de Matemática Discreta 7. Relaciones de Orden Francisco José González Gutiérrez Cádiz, Octubre de 2004 Universidad de Cádiz Departamento de Matemáticas ii Lección 7 Relaciones de Orden Contenido

Más detalles

Introducción INTRODUCCIÓN

Introducción INTRODUCCIÓN Introducción INTRODUCCIÓN Las empresas de distintos sectores económicos han concebido la logística como un proceso estratégico para mantener su actividad y garantizar la eficiencia de las operaciones de

Más detalles

Introducción general a la compresión de datos multimedia

Introducción general a la compresión de datos multimedia Introducción general a la compresión de datos multimedia Necesidad de la compresión La mayoría de las aplicaciones multimedia requieren volúmenes importantes de almacenamiento y transmisión. CD-ROM 640

Más detalles

LA MEDIDA Y SUS ERRORES

LA MEDIDA Y SUS ERRORES LA MEDIDA Y SUS ERRORES Magnitud, unidad y medida. Magnitud es todo aquello que se puede medir y que se puede representar por un número. Para obtener el número que representa a la magnitud debemos escoger

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

Búsqueda heurística Prof. Constantino Malagón

Búsqueda heurística Prof. Constantino Malagón Búsqueda heurística Prof. Constantino Malagón Area de Computación e Inteligencia Artificial 1 Búsqueda heurística Los métodos de búsqueda heurística disponen de alguna información sobre la proximidad de

Más detalles

UNIDAD 2 Configuración y operación de un sistema de cómputo Representación de datos Conceptos El concepto de bit (abreviatura de binary digit) es fundamental para el almacenamiento de datos Puede representarse

Más detalles

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE PRUEBAS DE SOFTWARE La prueba del software es un elemento crítico para la garantía de la calidad del software. El objetivo de la etapa de pruebas es garantizar la calidad del producto desarrollado. Además,

Más detalles

Representación de Datos. Una Introducción a los Sistemas Numéricos

Representación de Datos. Una Introducción a los Sistemas Numéricos Representación de Datos Una Introducción a los Sistemas Numéricos Tipos de Datos Datos Texto Número Imagen Audio Video Multimedia: Información que contiene números, texto, imágenes, audio y video. Como

Más detalles

Implantación y Aceptación del Sistema

Implantación y Aceptación del Sistema y Aceptación del Sistema 1 y Aceptación del Sistema ÍNDICE DESCRIPCIÓN Y OBJETIVOS... 2 ACTIVIDAD IAS 1: ESTABLECIMIENTO DEL PLAN DE IMPLANTACIÓN...5 Tarea IAS 1.1: De finición del Plan de... 5 Tarea IAS

Más detalles

1.1. Introducción y conceptos básicos

1.1. Introducción y conceptos básicos Tema 1 Variables estadísticas Contenido 1.1. Introducción y conceptos básicos.................. 1 1.2. Tipos de variables estadísticas................... 2 1.3. Distribuciones de frecuencias....................

Más detalles

CryptoByn: Un sistema de Encriptación basado en la aleatoriedad

CryptoByn: Un sistema de Encriptación basado en la aleatoriedad CryptoByn: Un sistema de Encriptación basado en la aleatoriedad Autor: Diego Sarmentero Abstract La criptología consiste en el estudio de los sistemas de cifrado, teniendo como objectivo ocultar el contenido

Más detalles

Preguntas y respuestas (rebatibles) sobre metodologías de desarrollo de software

Preguntas y respuestas (rebatibles) sobre metodologías de desarrollo de software Preguntas y respuestas (rebatibles) sobre metodologías de desarrollo de software Introducción Este documento recopila las preguntas, opiniones y respuestas que se produjeron en un pequeño curso sobre las

Más detalles

Circuitos de corriente continua

Circuitos de corriente continua nidad didáctica 3 Circuitos de corriente continua Qué aprenderemos? Cuáles son las leyes experimentales más importantes para analizar un circuito en corriente continua. Cómo resolver circuitos en corriente

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

? 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

Problemas indecidibles

Problemas indecidibles Capítulo 7 Problemas indecidibles 71 Codificación de máquinas de Turing Toda MT se puede codificar como una secuencia finita de ceros y unos En esta sección presentaremos una codificación válida para todas

Más detalles

Capítulo 2. Técnicas de Evaluación de la inversión en activos no circulantes.

Capítulo 2. Técnicas de Evaluación de la inversión en activos no circulantes. Capítulo 2. Técnicas de Evaluación de la inversión en activos no circulantes. 2.1 Generalidades. En la actualidad, en lo referente a las finanzas uno de los grandes problemas que los administradores y

Más detalles

18. Camino de datos y unidad de control

18. Camino de datos y unidad de control Oliverio J. Santana Jaria Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso 2006 2007 18. Camino de datos y unidad de control Un La versatilidad una característica deseable los Los

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

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

www.bvbusiness-school.com

www.bvbusiness-school.com Gráficos de Control de Shewart www.bvbusiness-school.com GRÁFICOS DE CONTROL DE SHEWART Una de las herramientas estadísticas más importantes en el Control Estadístico de Procesos son los Gráficos de Control.

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

Redes de Kohonen y la Determinación Genética de las Clases

Redes de Kohonen y la Determinación Genética de las Clases Redes de Kohonen y la Determinación Genética de las Clases Angel Kuri Instituto Tecnológico Autónomo de México Octubre de 2001 Redes Neuronales de Kohonen Las Redes de Kohonen, también llamadas Mapas Auto-Organizados

Más detalles

Statgraphics Centurión

Statgraphics Centurión Facultad de Ciencias Económicas y Empresariales. Universidad de Valladolid 1 Statgraphics Centurión I.- Nociones básicas El paquete Statgraphics Centurión es un programa para el análisis estadístico que

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

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

La gestión de proyectos es la rama de la ciencia de la administración que trata de la planificación y el control de proyectos.

La gestión de proyectos es la rama de la ciencia de la administración que trata de la planificación y el control de proyectos. DEFINICIÓN DE PROYECTO Un proyecto es un conjunto de acciones No repetitivas Únicas De duración determinada Formalmente organizadas Que utilizan recursos Podremos considerar un proyecto, a efectos de aplicarle

Más detalles

Funciones lineales. Objetivos. Antes de empezar. 1.Función de proporcionalidad directa pág. 170 Definición Representación gráfica

Funciones lineales. Objetivos. Antes de empezar. 1.Función de proporcionalidad directa pág. 170 Definición Representación gráfica 10 Funciones lineales Objetivos En esta quincena aprenderás a: Identificar problemas en los que intervienen magnitudes directamente proporcionales. Calcular la función que relaciona a esas magnitudes a

Más detalles

ETS Caminos Santander. Curso 2012. Ejercicios de introducción a la programación.

ETS Caminos Santander. Curso 2012. Ejercicios de introducción a la programación. Ejercicio 1. Saludo. El programa preguntará el nombre al usuario y a continuación le saludará de la siguiente forma "Hola, NOMBRE" donde NOMBRE es el nombre del usuario. Ejercicio 2. Suma. El programa

Más detalles

Fundamentos de Investigación de Operaciones Asignación y Vendedor Viajero

Fundamentos de Investigación de Operaciones Asignación y Vendedor Viajero Fundamentos de Investigación de Operaciones y Vendedor Viajero 23 de mayo de 2004 Si bien la resolución del problema de transporte mediante tableau parece ser muy expedita, existen ciertos tipos de problemas

Más detalles

Si el comando Solver no aparece en el menú Herramientas, deberá instalar la macro automática Solver como sigue:

Si el comando Solver no aparece en el menú Herramientas, deberá instalar la macro automática Solver como sigue: El Solver de Excel El Solver se utiliza para determinar el valor máximo o mínimo de una celda modificando otras celdas; por ejemplo, el beneficio máximo que puede generarse modificando los gastos de publicidad.

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

Capítulo 6. Modificar archivos de datos. Ordenar casos

Capítulo 6. Modificar archivos de datos. Ordenar casos Capítulo 6 Modificar archivos de datos Los archivos de datos no siempre están organizados de forma idónea. En ocasiones podemos desear cambiar el orden de los casos, o transponer las filas y las columnas,

Más detalles

construcción de programas Prof. Eliana Guzmán U.

construcción de programas Prof. Eliana Guzmán U. Unidad II. Metodología para la construcción de programas Prof. Eliana Guzmán U. Semestre: A-2015 Introducción Resolver un problema con una computadora conduce a la escritura de un programa y a su ejecución.

Más detalles

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas.

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas. El primer paso en el diseño de una base de datos es la producción del esquema conceptual. Normalmente, se construyen varios esquemas conceptuales, cada uno para representar las distintas visiones que los

Más detalles

RAID. Los detalles de las características segunda y tercera, cambian según los distintos niveles RAID. RAID 0 no soporta la tercera característica.

RAID. Los detalles de las características segunda y tercera, cambian según los distintos niveles RAID. RAID 0 no soporta la tercera característica. RAID Como se dijo anteriormente, el ritmo de mejora de prestaciones en memoria secundaria ha sido considerablemente menor que en procesadores y en memoria principal. Esta desigualdad ha hecho, quizás,

Más detalles

PATRONES. Experto. Solución:

PATRONES. Experto. Solución: PATRONES. Experto. Asignar una responsabilidad a la clase que tiene la información necesaria para cumplirla. Cuál es el principio fundamental en virtud del cual asignaremos las responsabilidades a los

Más detalles

www.fundibeq.org En estos casos, la herramienta Gráficos de Control por Variables" no es aplicable.

www.fundibeq.org En estos casos, la herramienta Gráficos de Control por Variables no es aplicable. GRAFICOS DE CONTROL POR ATRIBUTOS 1.- INTRODUCCIÓN Este documento describe la secuencia de construcción y las pautas de utilización de una de las herramientas para el control de procesos, los Gráficos

Más detalles

Tema 2 : Códigos Binarios

Tema 2 : Códigos Binarios Tema 2 : Códigos Binarios Objetivo: Conocer diferentes códigos binarios Conocer algunos códigos de detección y corrección de errores. Códigos alfanuméricos 1 Códigos Binarios A la representación de cifras,

Más detalles

SOLUCIÓN: a) Signo y magnitud:

SOLUCIÓN: a) Signo y magnitud: 1. Resolver las siguientes conversiones razonando los pasos seguidos (total 3 a. Dado el número 18525 expresado en decimal, calcular su representación numérica en signo y magnitud, en complemento a 2 y

Más detalles

Guía del agente de pruebas de Cúram

Guía del agente de pruebas de Cúram IBM Cúram Social Program Management Guía del agente de pruebas de Cúram Versión 6.0.5 IBM Cúram Social Program Management Guía del agente de pruebas de Cúram Versión 6.0.5 Nota Antes de utilizar esta

Más detalles

Algoritmos. Autor: José Ángel Acosta Rodríguez

Algoritmos. Autor: José Ángel Acosta Rodríguez Autor: 2006 ÍNDICE Página Índice 1 Problema 1. Movimiento de figuras geométricas.2 Problema 2. Conversión decimal a binario....3 Problema 3. Secuencias binarias..4 Problema 4. Conversión a binario a octal...

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

2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 5 ENTRADA/SALIDA. JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ Tema 5.

2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 5 ENTRADA/SALIDA. JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ Tema 5. ARQUITECTURAS DE COMPUTADORES 2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 5 ENTRADA/SALIDA JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ Tema 5. Unidad de E/S 1 Unidad de E/S Indice Introducción.

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

JUSTO A TIEMPO (JIT)

JUSTO A TIEMPO (JIT) PÁG. 1 DE 9 1. QUÉ ES? Just in time (que también se usa con sus siglas JIT), literalmente quiere decir Justo a tiempo. Es una filosofía que define la forma en que debería optimizarse un sistema de producción.

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

JGCBusing Manual de Usuario v1.0

JGCBusing Manual de Usuario v1.0 JGCBusing Manual de Usuario v1.0 Agosto 2012 Tabla de Contenido 1. Introducción... 3 2. JGCBusing. Herramienta Web... 4 2.1. Descripción... 4 2.2. Creación de una configuración desde cero... 8 2.3. Generación

Más detalles

Capítulo 10. Análisis descriptivo: Los procedimientos Frecuencias y Descriptivos

Capítulo 10. Análisis descriptivo: Los procedimientos Frecuencias y Descriptivos Capítulo 10 Análisis descriptivo: Los procedimientos Frecuencias y Descriptivos Al analizar datos, lo primero que conviene hacer con una variable es, generalmente, formarse una idea lo más exacta posible

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

MatemásTIC. Estudio y práctica del álgebra matricial con una aplicación TIC didáctica y sencilla. 65 Noviembre 2010, pp. 57-67

MatemásTIC. Estudio y práctica del álgebra matricial con una aplicación TIC didáctica y sencilla. 65 Noviembre 2010, pp. 57-67 65, pp. 57-67 Estudio y práctica del álgebra matricial con una aplicación TIC didáctica y sencilla MatemásTIC A lo largo de los distintos números de Suma nos planteamos en esta sección descubrir distintas

Más detalles

Laboratorio de Bioingeniería y Cronobiología. Dpto. de Teoría de la Señal y Comunicaciones. Universidad de Vigo RESUMEN

Laboratorio de Bioingeniería y Cronobiología. Dpto. de Teoría de la Señal y Comunicaciones. Universidad de Vigo RESUMEN VI Congreso Galego de Estatística e Investigación de Operacións Vigo 5-7 de Novembro de 2003 ESTADLAB: SOFTWARE MULTIPLATAFORMA DE APOYO A LA DOCENCIA DE PROBABILIDAD, VARIABLES ALEATORIAS Y PROCESOS ESTOCÁSTICOS

Más detalles

Ejemplos de conversión de reales a enteros

Ejemplos de conversión de reales a enteros Ejemplos de conversión de reales a enteros Con el siguiente programa se pueden apreciar las diferencias entre las cuatro funciones para convertir de reales a enteros: program convertir_real_a_entero print

Más detalles