Академический Документы
Профессиональный Документы
Культура Документы
Problemas de optimizaci on
optima
Estos problemas son muy relevantes, principalmente en
ingenier a
Problemas de optimizaci on
resorte tiene un grosor, en funci on del grosor la exibilidad del resorte cambia (la funci on no es necesariamente incremental). En nuestra aplicaci on hay una restricci on de que tan delgado y grueso puede ser el resorte. Lo que deseamos es encontrar el valor de grosor x optimo para maximizar la exibilidad y
Todos los valores reales entre grosor m nimo y grosor m aximo
Optimizaci on combinatoria
tienen distinto peso y valor monetario. Tambi en contamos con un saco que aguanta un peso m aximo. Deseamos meter en nuestro saco aquellos objetos que maximicen nuestra ganancia monetaria pero que no excedan la resistencia del saco
Cualquier conguraci on que no exceda la resistencia del saco
es v alida
Problemas de optimizaci on
Sin importar el tipo de optimizaci on El problema radica en que el espacio de soluciones puede ser
muy grande
Tan grande que es computacionalmente intratable Se necesitan m etodos que de alg un modo encuentren una
Disciplina asentada fuertemente en las matem aticas Se enfoca principalmente a la resoluci on de problemas de
Algoritmos bio-inspirados
resolver problemas
Este tipo de t ecnicas bio-inspiradas tiene una gran presencia
en problemas de optimizaci on
Ejemplos: Algoritmo de las hormigas Algoritmo de las abejas Algoritmo de bacterias Algoritmos gen eticos En este curso centraremos nuestra atenci on en los algoritmos
gen eticos
Basados en la selecci on natural de Darwin Pueden resolver tanto problemas num ericos como problemas
combinatorios
Es una heur stica de b usqueda
Selecci on Natural
Las especies tienden a adaptarse a su medio Cada vez que sucede la reproducci on, existe la probabilidad de
adaptado a su medio
Dado que est a mejor adaptado, tiene m as probabilidad de
reproducirse
Eventualmente es posible que la caracter stica nueva
reproducirse
mejores descendientes para que vivan en la siguiente generaci on, todos los no seleccionados mueren
Notar que el remplazo es generacional, ning un individuo vive
m as de una generaci on (puede haber una excepci on que se ver a despu es)
Al alcanzar una condici on de paro se termina el proceso y se
En pseudo-c odigo
Determinar tama no de la poblaci on T Generar aleatoriamente la poblaci on inicial de tama no T Repetir Determinar la aptitud de los individuos de la poblaci on Seleccionar N individuos A partir de los individuos seleccionados, generar M descendientes mediante el mecanismo de reproducci on De los M descendientes seleccionar T mediante el mecanismo de remplazo Hacer que los descendientes seleccionados se conviertan en la nueva poblaci on Hasta cumplirse condici on de paro Regresar mejor individuo de la poblaci on nal
A considerar
La optimizaci on es un caso especial de b usqueda Un algoritmo gen etico es una heur stica Como sabemos las heur sticas tratan de sesgar el espacio de
natural
A considerar
buen resultado, podr a ser el optimo pero dado que el espacio de b usqueda es gigante, es posible que nunca podamos asegurarnos de ello
Convergencia
Al inicio de la b usqueda nuestros individuos se encuentran
exploraci on VS explotaci on
Elitismo
generaciones
Algunos estudios sostienen que es necesario introducir elitismo
Qu e necesita denirse?
Para cualquier problema de optimizaci on podemos utilizar el esqueleto general que se mencion o antes, sin embargo es necesario denir dependiendo del problema:
El tama no de la poblaci on La condici on de parada La estructura del individuo La funci on de aptitud Mecanismo de selecci on de individuos El mecanismo de reproducci on El mecanismo de remplazo
Tama no de la poblaci on
espacio de b usqueda
Entre m as grande, mayor ser a la poblaci on Para el problema de las reinas con 100 individuos basta
Condici on de parada
Puede ser un n umero m aximo de generaciones Puede ser cuando se alcance la convergencia Puede ser cuando un individuo represente la meta En el caso de las reinas lo que conviene es detenerse cuando
La estructura es totalmente dependiente del problema Una forma popular de representar individuos es mediante
cadenas de bits
Para el caso del ejemplo cada individuo puede ser una matriz
que representa al tablero, puede ser que tenga un 1 en la posici on donde hay una reina y un 0 en otro caso. Notar que s olo puede haber 8 unos
Funci on de aptitud
Depende del problema Para este caso la aptitud podr a ser el n umero de ataques
total, hay que tener cuidado de no contar el mismo ataque dos veces
Entre menos ataques mejor es el individuo Cero ataques es el ideal
Por torneo:
Se seleccionan aleatoriamente 2 o m as individuos De esos seleccionados se escoge al mejor Es posible que se ltren individuos no tan buenos
Por ruleta:
Para problemas de maximizaron Se tienen una ruleta, esta ruleta tambi en podr a verse como
un pastel
A los individuos con mayor aptitud les corresponde una
aproximaci on
Si se utiliza ruleta es necesario hacer una normalizaci on, ya
que la ruleta se usa en maximizaron y el problema de las reinas requiere una minimizaci on
La normalizaci on es simple, digamos que el valor m nimo de
ataques (0) corresponde al valor 100 y el valor m aximo de ataques (24) corresponde a 0. A partir de eso se sacan los dem as valores
En general es preferible la ruleta a los torneos
Mecanismo de reproducci on
Sexual Tomamos dos de los individuos seleccionados y los cruzamos Por ejemplo, si los individuos son una cadena de bits, podemos partir a los individuos a la mitad y cruzar las mitades para generar dos descendientes Asexual S olo consideramos a un individuo Se generan uno o m as descendientes que son una mutaci on del padre Para el problema de las reinas podr a usarse cualquiera de los
dos, aunque en principio el sexual parece m as complicado puesto que podr a ser que se generaran soluciones invalidas
Consideremos una reproducci on asexual El descendiente se genera a partir de escoger una reina y
Mecanismo de remplazo
A considerar
Muchas de las decisiones del algoritmo gen etico son aleatorias Esto quiere decir que todo el proceso es aleatorio? Si el proceso es aleatorio quiere decir que el algoritmo no es
resultados
La parte aleatoria es para favorecer la exploraci on
Tarea 8
las reinas
Puede ser en cualquier lenguaje de programaci on Pueden utilizar cualquier variaci on del algoritmo que quieran La tarea tiene un reporte asociado