7/25/2019 Algoritmo genticos
1/22
Universidad Nacional Autnoma de Mxico
Posgrado en Ingeniera de sistemas
Maestra en Investigacin de Operaciones
Programacin Entera
Proyecto fnal
Gonzlez Vargas Carlos Arturo
19 de noviembre de 2013
7/25/2019 Algoritmo genticos
2/22
Algoritmos genticos: una alternativa en la bs!ueda de
soluciones para modelos matem"ticos
Gonzlez Vargas Carlos Arturo
2
ContenidoObjetivo############################################################################################################# $
Introduccin##################################################################################################### $
Algoritmos genticos######################################################################################%
Or!genes############################################################################################################ %
"obustidad en mtodos tradicionales de o#timizacin y b$s%ueda#######&
Evolucin natural y algoritmos genticos###################################################'
Codifcacin###################################################################################################### 9
&eleccin#########################################################################################################10
(eleccin por rueda de ruleta######################################################################## 11
(eleccin por rango####################################################################################### 11
(eleccin elitista############################################################################################ 11
(eleccin por estado estacionario#################################################################11
(eleccin por torneo###################################################################################### 11
(eleccin escalada#########################################################################################11
(eleccin )er"r!uica#######################################################################################12
Cruce################################################################################################################12
*ruce de 1 punto +(ingle ,oint -.c/ange (,#############################################13
7/25/2019 Algoritmo genticos
3/22
Algoritmos genticos: una alternativa en la bs!ueda de
soluciones para modelos matem"ticos
Gonzlez Vargas Carlos Arturo
3
*ruce de 2 puntos +ouble ,oint *rossover ,#########################################13
*ruce uni4orme +5ni4orm ,oint *rossover 5,############################################13
*ruces espec6cos de codi6caciones no binarias:##########################################1$
Algoritmos de 7eempla8o############################################################################## 1%
'utacin######################################################################################################### 1%
Evaluacin#######################################################################################################1&
Ejem#lo de algoritmo gentico###################################################################1&
Ventajas de los algoritmos genticos########################################################1'
(esventajas de los algoritmos genticos##################################################1
A#licaciones###################################################################################################1Conclusiones##################################################################################################19
"e)erencias#####################################################################################################20
7/25/2019 Algoritmo genticos
4/22
Algoritmos genticos: una alternativa en la bs!ueda de
soluciones para modelos matem"ticos
Gonzlez Vargas Carlos Arturo
$
Algoritmos genticos* una alternativa en la
b$s%ueda de soluciones #ara modelosmatemticos
Objetivo
7ecopilar in4ormacin sobre los algoritmos genticos para e.poner sus
orgenes obetivos alcances aplicaciones ; caractersticas usti6cando el por!u son una /erramienta !ue se debe de tomar en cuenta para la solucin de
problemas de optimi8acin combinatoria tales como son los problemas de
,rogramacin -ntera la cual motiva la elaboracin de este te.to#
Introduccin
7/25/2019 Algoritmo genticos
5/22
Algoritmos genticos: una alternativa en la bs!ueda de
soluciones para modelos matem"ticos
Gonzlez Vargas Carlos Arturo
%
Algoritmos genticos
(egn @oldberg los algoritmos genticos son algoritmos de bs!ueda
basados en la mec"nica de la seleccin natural ; la gentica# *ombinan la
sobrevivencia del m"s apto entre estructuras de secuencias con un intercambio
de in4ormacin estructurado aun!ue aleatori8ado para construir as un
algoritmo de bs!ueda !ue tenga algo de las genialidades de las bs!uedas
/umanas# -n cada generacin un nuevo arreglo de criaturas arti6ciales es
creado usando peda8os ; pie8as de lo m"s austado del anterior>
ocasionalmente una nueva pie8a ser" probada para meorar la medida# Aun!ue
aleatorios los algoritmos genticos no son una simple caminata aleatoria#
-.plotan e6cientemente la in4ormacin /istrica para especular sobre los
nuevos puntos de bs!ueda de donde se espera un meor desempeBo#C
+@oldberg 199
Orgenes
-l desarrollo de los algoritmos genticos se debe en gran medida a )o/n
Dolland investigador de la 5niversidad de Mic/igan# A 6nales de la dcada de
los &0 desarroll una tcnica !ue imitaba en su 4uncionamiento a la seleccin
natural# Aun!ue originalmente esta tcnica recibi el nombre de planesreproductivosC a ra8 de la publicacin en 19'% de su libro Adaptation in
Natural and Artifcial Systems +Dolland 19'% se conoce principalmente con el
nombre de Algoritmos @enticos# A grandes rasgos un Algoritmo @entico
consiste en una poblacin de soluciones codi6cadas de 4orma similar a
cromosomas# *ada uno de estos cromosomas tendr" asociado un valor de
auste !ue cuanti6ca su valide8 como solucin al problema# -n 4uncin de este
valor se le dar"n m"s o menos oportunidades de reproduccin# Adem"s con
cierta probabilidad se reali8ar"n mutaciones de estos cromosomas +@oldberg
2002#
7/25/2019 Algoritmo genticos
6/22
Algoritmos genticos: una alternativa en la bs!ueda de
soluciones para modelos matem"ticos
Gonzlez Vargas Carlos Arturo
&
Robustidad en mtodos tradicionales de optimiacin ! b"s#ueda
@oldberg menciona tres tipos principales de bs!ueda: Gasados en c"lculos
enumerativos ; aleatorios:
7/25/2019 Algoritmo genticos
7/22
Algoritmos genticos: una alternativa en la bs!ueda de
soluciones para modelos matem"ticos
Gonzlez Vargas Carlos Arturo
'
pero todos los problemas !ue no cumplan con esto se resuelven de manera
ine6ciente o no se pueden resolver por medio de estos mtodos#
,ara encontrar ventaas sobre otros mtodos de optimi8acin ; bs!ueda
tradicionales en cuanto a robustidad los algoritmos genticos deben ser
di4erentes en ciertas 4ormas 4undamentales:
?rabaan con un cdigo del conunto de par"metros no con el conunto
mismo +necesitan !ue el conunto de par"metros del problema de
optimi8acin est codi6cado en cadenas 6nitas sobre un determinado
al4abeto# ,or trabaar a nivel de cdigo ; no con las 4unciones ; sus
variables de control como los otros mtodos son m"s di4ciles de
engaBarC# Guscan una poblacin de puntos no un nico punto# Manteniendo una
poblacin de puntos muestrales bien adaptados se reduce la
probabilidad de caer en una cima 4alsa# -mplean la 4uncin obetivo no necesitan derivadas ni otra in4ormacin
complementaria tan di4cil a veces de conseguir# e este modo ganan
en e6ciencia ; en generalidad# (e valen de reglas de transicin estoc"sticas no deterministas#
7/25/2019 Algoritmo genticos
8/22
Algoritmos genticos: una alternativa en la bs!ueda de
soluciones para modelos matem"ticos
Gonzlez Vargas Carlos Arturo
como genotipo es el conunto de genes contenido en un genoma# -l genotipo
dar" lugar tras el desarrollo 4etal al 4enotipo del organismo esto es a sus
caractersticas 4sicas ; mentales tales como el color de oos la estatura o lainteligencia# se
llaman /aploides en caso contrario# -n el caso del ser /umano cada clula
som"tica +no germinales de su cuerpo contiene 23 pares de cromosomas#
urante la reproduccin se.ual se produce una recombinacin o cruce: en cada
padre se intercambian los genes entre cada par de cromosomas para 4ormar
un gameto +un cromosoma nico ; entonces los gametos de los dos padres
se emparean para constituir un conunto completo de cromosomas diploides#
-n el caso de la reproduccin /aploide los genes se intercambian entre dos
padres con una sola rama de cromosomas#
7/25/2019 Algoritmo genticos
9/22
Algoritmos genticos: una alternativa en la bs!ueda de
soluciones para modelos matem"ticos
Gonzlez Vargas Carlos Arturo
9
algoritmos !ue poseen un nivel genotpicoC ; uno 4enotpicoC +por eemplo la
cadena de bits !ue codi6ca una red neuronal ; la red en s misma#
(egn /emos visto podemos considerar !ue los algoritmos genticos tienen al
menos estos elementos en comn: poblaciones de cromosomas seleccin en
base a su capacidad cruces para producir descendencia nueva ; mutacin
aleatoria de la nueva descendencia#
7/25/2019 Algoritmo genticos
10/22
Algoritmos genticos: una alternativa en la bs!ueda de
soluciones para modelos matem"ticos
Gonzlez Vargas Carlos Arturo
10
normalmente mu; pe!ueBa +por eemplo 0#001 +?olmos 7odrigue8H
,iBero 2000#
ic/os operadores genticos unto con su aplicacin en algoritmos genticos
son e.plicados m"s adelante en este documento#
7/25/2019 Algoritmo genticos
11/22
Algoritmos genticos: una alternativa en la bs!ueda de
soluciones para modelos matem"ticos
Gonzlez Vargas Carlos Arturo
11
Individuo gentico binario+@estal 7ivero 7abuBal orado K ,a8os 2010#
entro de la trans4ormacin reali8ada desde el proceso natural /asta el
proceso computacional se deben de tomar en consideracin los papeles !ue
uegan los operadores genticos aplicados en el algoritmo en el paso de una
generacin a otra#
'eleccin
-s necesario /acer una seleccin con los individuos m"s capacitados para !ue
estos sean los !ue se reprodu8can con m"s probabilidad de acuerdo con la
teora de ar=in en la cual los m"s capacitados son los !ue deben sobrevivir ;
crear una nueva descendencia m"s 4acultada#
,or lo tanto una ve8 evaluado cada cromosoma ; obtenida su puntuacin se
tiene !ue crear la nueva poblacin teniendo en cuenta !ue los buenos rasgos
de los meores se transmitan a sta# -sta seleccin se puede reali8ar de varias
4ormas como se ver" a continuacin en algunas tcnicas recopiladas por Arran8
de la ,eBa ; ,arra ?ru;ol#
&eleccin #or rueda de ruleta(e crea para esta seleccin una ruleta con los cromosomas presentes en una
generacin# *ada cromosoma tendr" una parte de dic/a ruleta ma;or o menor
en 4uncin de la puntuacin !ue tenga cada uno# (e /ace girar la ruleta ; se
selecciona el cromosoma en el !ue se para la ruleta# -l cromosoma con ma;or
puntuacin saldr" con ma;or probabilidad# -n caso de !ue las probabilidades
7/25/2019 Algoritmo genticos
12/22
Algoritmos genticos: una alternativa en la bs!ueda de
soluciones para modelos matem"ticos
Gonzlez Vargas Carlos Arturo
12
di6eran muc/o este mtodo de seleccin dar" problemas puesto !ue si un
cromosoma tiene un 90L de posibilidades de ser seleccionado el resto apenas
saldr" lo !ue reducira la diversidad gentica#
&eleccin #or rango-n este mtodo a cada cromosoma se le asigna un rango numrico basado en
su aptitud ; la seleccin se reali8a con base en este raning# -n este ltimo
caso se va a producir una variedad gentica muc/o m"s rica !ue en el primer
caso# -l problema de esta seleccin es !ue la convergencia puede ser m"s
lenta ;a !ue no e.iste tanta di4erencia entre el meor cromosoma ; el resto
como ocurra antes#
&eleccin elitista-n ciertas ocasiones puede suceder !ue tras el cruce ; la mutacin perdamos
el cromosoma con meor adaptacin# -ste mtodo de seleccin copia el meor
cromosoma o alguno de los meores en la nueva poblacin# -l resto se reali8a
de la misma 4orma !ue /emos visto anteriormente# -l elitismo puede meorar
el 4uncionamiento de los algoritmos genticos al evitar !ue se pierda la meor
solucin# 5na variacin del elitismo es !ue el meor cromosoma solo se copie a
la siguiente generacin en caso de !ue tras una reproduccinNmutacin no se
/a;a generado un cromosoma meor#
&eleccin #or estado estacionario
7/25/2019 Algoritmo genticos
13/22
Algoritmos genticos: una alternativa en la bs!ueda de
soluciones para modelos matem"ticos
Gonzlez Vargas Carlos Arturo
13
&eleccin +err%uica-n esta seleccin los individuos atraviesan mltiples rondas de seleccin en
cada generacin#
7/25/2019 Algoritmo genticos
14/22
Algoritmos genticos: una alternativa en la bs!ueda de
soluciones para modelos matem"ticos
Gonzlez Vargas Carlos Arturo
1$
se podr"n volver a obtener estos padres recuperando as la bondad
previamente perdida#
-.isten multitud de algoritmos de cruce# (in embargo los m"s empleados son
los !ue se detallar"n a continuacin:
Cruce de , #unto -&ingle Point E.c/ange0 &P125na ve8 seleccionados dos individuos se cortan sus cromosomas por un punto
seleccionado aleatoriamente para generar dos segmentos di4erenciados en
cada uno de ellos: la cabe8a ; la cola# (e intercambian las colas entre los dos
individuos para generar los nuevos descendientes# e esta manera ambos
descendientes /eredan in4ormacin gentica de los padres>
Cruce de un #unto+@estal 7ivero 7abuBal orado K ,a8os 2010#
Cruce de 3 #untos -(ouble Point Crossover0 (P12-n ve8 de cortar por un nico punto los cromosomas de los padres como en elcaso anterior se reali8an dos cortes# eber" tenerse en cuenta !ue ninguno de
estos puntos de corte coincida con el e.tremo de los cromosomas para
garanti8ar !ue se originen tres segmentos# ,ara generar la descendencia se
escoge el segmento central de uno de los padres ; los segmentos laterales del
otro padre>
Cruce de dos #untos+@estal 7ivero 7abuBal orado K ,a8os 2010#
7/25/2019 Algoritmo genticos
15/22
Algoritmos genticos: una alternativa en la bs!ueda de
soluciones para modelos matem"ticos
Gonzlez Vargas Carlos Arturo
1%
Cruce uni)orme -4ni)orm Point Crossover0 4P12*ada gen de la descendencia tiene las mismas probabilidades de pertenecer a
uno u otro padre# Aun!ue se puede implementar de mu; diversas 4ormas la
tcnica implica la generacin de una m"scara de cruce con valores binarios# (i
en una de las posiciones de la m"scara /a; un 1 el gen situado en esa
posicin en uno de los descendientes se copia del primer padre# (i por el
contrario /a; un 0 el gen se copia del segundo padre# ,ara producir el segundo
descendiente se intercambian los papeles de los padres o bien se intercambia
la interpretacin de los unos ; los ceros de la m"scara de cruce#
7/25/2019 Algoritmo genticos
16/22
Algoritmos genticos: una alternativa en la bs!ueda de
soluciones para modelos matem"ticos
Gonzlez Vargas Carlos Arturo
1&
el problema aBadido de !u signo dar al resultado si los padres
tienen signos di4erentes#
o -.tensin: se toma la di4erencia e.istente entre los genes situadosen las mismas posiciones de los padres ; se suma al valor m"s
alto o se resta del valor m"s bao# (olventa el problema de
generar un nico descendiente# 5na variante basada en este
cruce son los Algoritmos genticos de evolucin di4erencial#
Algoritmos de "eem#lazo*uando en ve8 de trabaar con una poblacin temporal se /ace con una nica
poblacin sobre la !ue se reali8an las selecciones e inserciones deber"
tenerse en cuenta !ue para insertar un nuevo individuo deber" de eliminarse
previamente otro de la poblacin# -.isten di4erentes mtodos de reempla8o:
o Aleatorio: el nuevo individuo se inserta en un lugar escogido de
manera aleatoria en la poblacin>o 7eempla8o de padres: se obtiene espacio para la nueva
descendencia liberando el espacio ocupado por los padres#>o 7eempla8o de similares: una ve8 obtenido el auste de la
descendencia se selecciona un grupo de individuos +entre seis ;
die8 de la poblacin con un auste similar# (e reempla8an
aleatoriamente los !ue sean necesarios>o 7eempla8o de los peores: de entre un porcentae de los peores
individuos de la poblacin se seleccionan aleatoriamente los
necesarios para dear sitio a la descendencia# +@estal 7ivero
7abuBal orado K ,a8os 2010
Mutacin
?ras el cruce tiene lugar la mutacin#
7/25/2019 Algoritmo genticos
17/22
Algoritmos genticos: una alternativa en la bs!ueda de
soluciones para modelos matem"ticos
Gonzlez Vargas Carlos Arturo
1'
ser el aumento del tamaBo de la poblacin o garanti8ar la aleatoriedad de la
poblacin inicial#
,ara el caso de una codi6cacin binaria la mutacin consiste simplemente en
la inversin del gen mutado !ue corresponder" con un bit# -n el caso de una
codi6cacin numrica la mutacin podra consistir en sustituir un nmero por
otro o intercambiar un nmero por otro !ue est" en otra posicin del
cromosoma# -n el caso de codi6cacin por valor directo en el !ue por eemplo
usemos nmeros reales la mutacin puede consistir simplemente en modi6car
el valor en unos decimales# ,or ltimo en una codi6cacin en "rbol la
mutacin podra radicar en el cambio de operador de un nmero o incluso en
la mutacin de una rama entera +Arran8 de la ,eBa K ,arra ?ru;ol#
$valuacin
,ara el correcto 4uncionamiento de un Algoritmo @entico se debe de poseer
un mtodo !ue indi!ue si los individuos de la poblacin representan o no
buenas soluciones al problema planteado# e esto se encarga la 4uncin de
evaluacin !ue establece una medida numrica de la bondad de una solucin#
-sta medida recibe el nombre de auste# -n la naturale8a el auste +oadecuacin de un individuo puede considerarse como la probabilidad de !ue
ese individuo sobreviva /asta la edad de reproduccin ; se reprodu8ca# -sta
probabilidad deber" estar ponderada con el nmero de individuos de la
poblacin gentica#
-n el mundo de los Algoritmos @enticos se emplear" esta medicin para
controlar la aplicacin de los operadores genticos# -s decir permitir" controlar
el nmero de selecciones cruces copias ; mutaciones llevadas a cabo#
7/25/2019 Algoritmo genticos
18/22
Algoritmos genticos: una alternativa en la bs!ueda de
soluciones para modelos matem"ticos
Gonzlez Vargas Carlos Arturo
1
,ara representar una apro.imacin de la teora revisada /asta el momento a su
transcripcin computacional se eligi tomar un eemplo presentado por ?olmos
7odrigue8H,iBero tomado de Mitc/ell M# +199 ;a !ue se est" redactado en4orma parecida a un pseudocdigo de programacin sin serlo ;a !ue al estar
m"s desarrollado es m"s entendible:
(ea X el problema a resolver# ada una representacin de candidatas a
soluciones en una cadena de bits un algoritmo gentico simple trabaara del
siguiente modo:
1# *omen8ar con una poblacin P generada aleatoriamente de n
cromosomas de 1 bit#2# *alcular la capacidad (x) para cada cromosomaxde P#
3# (i (x)da un valor ptimo terminar en otro caso:$# 7epetir los siguientes pasos /asta !ue se /a;an creado ndescendientes:a# (eleccionar un par de cromosomas padre de P siendo la
probabilidad de seleccin una 4uncin creciente de la capacidad#
7/25/2019 Algoritmo genticos
19/22
Algoritmos genticos: una alternativa en la bs!ueda de
soluciones para modelos matem"ticos
Gonzlez Vargas Carlos Arturo
19
tiempo ; si la solucin !ue descubren resulta subptima no se puede
/acer otra cosa !ue abandonar todo el trabao /ec/o ; empe8ar de
nuevo# (in embargo los algoritmos genticos simplemente desec/anesta solucin subptima ; siguen por otros caminos>
J *uando se usan para problemas de optimi8acin resultan menos
a4ectados por los m".imos locales +4alsas soluciones !ue las tcnicas
tradicionales# Muc/os algoritmos de bs!ueda pueden !uedar atrapados
en los ptimos locales: si llegan a lo alto de una colina del paisae
adaptativo descubrir"n !ue no e.isten soluciones meores en las
cercanas ; concluir"n !ue /an alcan8ado la meor de todas aun!ue
e.istan picos m"s altos en algn otro lugar del mapa situacin !ue no
sucede para algoritmos genticos>J Otra ventaa es su /abilidad para manipular muc/os par"metros
simult"neamente# 7esulta interesante en caso de tener varios obetivos
a resolver>J o necesitan conocimientos espec6cos sobre el problema !ue intentan
resolver# 7eali8an cambios aleatorios en sus soluciones candidatas ;
luego utili8an la 4uncin de aptitud para determinar si esos cambios
producen una meora o no>J 7esulta sumamente 4"cil eecutarlos en las modernas ar!uitecturas
masivas en paralelo>J 5san operadores probabilsticos en ve8 de los tpicos operadores
determinsticos de las otras tcnicas#
)esventajas de los algoritmos genticos
J e6nir una representacin del problema# -l lenguae utili8ado para
especi6car soluciones candidatas debe ser robusto debe ser capa8 de
tolerar cambios aleatorios !ue no produ8can constantemente errores
4atales o resultados sin sentido# (e puede solucionar mediante la
de6nicin de los individuos como listas de nmeros donde cada nmero
representa algn aspecto de la solucin candidata#J ,ueden tardar muc/o en converger o no converger en absoluto
dependiendo en cierta medida de los par"metros !ue se utilicen#J ,ueden converger prematuramente debido a una serie de problemas# (i
un individuo !ue es m"s apto !ue la ma;ora de sus competidores
emerge mu; pronto en el curso de la eecucin se puede reproducir tan
abundantemente !ue merme la diversidad de la poblacin demasiado
pronto provocando !ue el algoritmo convera /acia el ptimo local !ue
7/25/2019 Algoritmo genticos
20/22
Algoritmos genticos: una alternativa en la bs!ueda de
soluciones para modelos matem"ticos
Gonzlez Vargas Carlos Arturo
20
representa ese individuo en lugar de rastrear el paisae adaptativo lo
bastante a 4ondo para encontrar el ptimo global# -sto es un problema
especialmente comn en las poblaciones pe!ueBas donde incluso unavariacin aleatoria en el ritmo de reproduccin puede provocar !ue un
genotipo se /aga dominante sobre los otros#
Aplicaciones
7/25/2019 Algoritmo genticos
21/22
Algoritmos genticos: una alternativa en la bs!ueda de
soluciones para modelos matem"ticos
Gonzlez Vargas Carlos Arturo
21
-cologa: -n la modelacin de 4enmenos ecolgicos tales como las
carreras de armamento biolgico la coHevolucin de par"sitoH/uesped
la simbiosis ; el Puo de recursos# @entica de poblaciones: -n el estudio de preguntas del tipo QGao !u
condiciones ser" viable evolutivamente un gen para la recombinacinRC -volucin ; aprendi8ae:
7/25/2019 Algoritmo genticos
22/22
Algoritmos genticos: una alternativa en la bs!ueda de
soluciones para modelos matem"ticos
Gonzlez Vargas Carlos Arturo
22
no sean lo su6cientemente e6cientes o tengan problemas para encontrar
soluciones en un tiempo adecuado#
Re&erencias
Arran8 de la ,eBa )# K ,arra ?ru;ol A# +s#4##Algoritmos Genticos!Madrid:5niversidad *arlos III#
@estal M# 7ivero # 7abuBal )# orado )# K ,a8os A# +2010# "ntroducci#n a
los Algoritmos Genticos y Programaci#n Gentica!
Top Related