Está en la página 1de 9

Algoritmos genticos:

Aplicacin al problema de la mochila.


Javier Hidalgo Snchez

Jess Ignacio Turrado Martnez

Universidad Carlos III de Madrid


Coria, Cceres, Espaa

Universidad Carlos III de Madrid


Len, Espaa

100056426@alumnos.uc3m.es

100056173@alumnos.uc3m.es

ABSTRACT

propagarn en sucesivas generaciones hacia un nmero de


individuos creciente. La combinacin de buenas caractersticas
procedentes de diferentes predecesores, puede a veces producir
superindividuos", cuya adaptacin es mucho mayor que la de
cualquiera de sus antecesores. De esta manera, las especies
evolucionan logrando unas caractersticas cada vez mejor
adaptadas al entorno en el que viven.

En los aos 70, surgi una de las lneas ms prometedoras de


la inteligencia artificial, los algoritmos genticos. Reciben este
nombre, porque se inspiran en la evolucin biolgica.
Realizaremos una descripcin del Algoritmo Gentico Simple,
que es la base de los algoritmos genticos. Posteriormente
veremos una serie de mejoras u extensiones del AGS para
adaptar el algoritmo a cada tipo de problema. Para finalizar,
ilustraremos la teora con un ejemplo: El problema de la
Mochila. A pesar de ser un problema relativamente simple,
esta situacin se presenta con cierta frecuencia en los mbitos
econmico e industrial, donde la mochila suele representar la
restriccin presupuestaria (cantidad mxima de recursos
econmicos de los que se dispone) y donde la utilidad de los
objetos seleccionados se equipara a un beneficio econmico
por adquirir o llevar a cabo ciertas acciones.

2 ALGORITMO GENTICO SIMPLE

Keywords: algoritmo gentico, problema de la mochila.

2.1 ALGORITMO

1 INTRODUCCIN
Un algoritmo es una serie de pasos organizados que describe el
proceso que se debe seguir, para dar solucin a un problema
especfico. En los aos 1970, de la mano de John Henry
Holland, surgi una de las lneas ms prometedoras de la
inteligencia artificial, la de los algoritmos genticos. Son
llamados as porque se inspiran en la evolucin biolgica y su
base gentico-molecular.
Por lo tanto, son tcnicas de resolucin de problemas de
optimizacin, que se basan en emular la HERENCIA
GENTICA y el PRINCIPIO DE SUPERVIVENCIA.
En la naturaleza los individuos de una poblacin compiten
entre s en la bsqueda de recursos tales como comida, agua y
refugio. Incluso los miembros de una misma especie compiten
a menudo en la bsqueda de un compaero. Aquellos
individuos que tienen ms xito en sobrevivir y en atraer
compaeros tienen mayor probabilidad de generar un gran
nmero de descendientes. Por el contrario, individuos poco
dotados producirn un menor nmero de descendientes. Esto
significa que los genes de los individuos mejor adaptados se

Los Algoritmos Genticos son adecuados en aquellos


problemas para los cuales no existen tcnicas especializadas.
Incluso en el caso en que dichas tcnicas existan, y funcionen
bien, pueden efectuarse mejoras de las mismas combinndolas
con los Algoritmos Genticos.

El algoritmo gentico simple (AGS) es de la siguiente manera:

t=0;
Crear poblacin inicial  P(t);
Evaluar P(t);
Repetir hasta condicin de finalizacin
o t = t +1;
o Seleccin P(t-1)  P(t);
o Cruce P(t);
o Mutacin P(t);
o Evaluar P(t);

Siendo t la variable temporal y P(t) la poblacin en cada


instante de tiempo.
2.2 REPRESENTACIN DE VARIABLES
La representacin de variables en algoritmos genticos guarda
un paralelismo con la gentica: cada SOLUCIN del problema
(FENOTIPO) se representa por un INDIVIDUO de la
poblacin (GENOTIPO).

La poblacin inicial ene l algoritmo gentico simple (AGS) se


genera de forma aleatoria.

2.4 EVALUACIN
La evaluacin consiste en asignar una SALUD a los individuos
de la poblacin. Lo ms sencillo, si se puede, es utilizar el
valor de la funcin objetivo.

Figura 2.1. Paralelismo con la gentica.


Los individuos (o genotipos) estn formados por una cadena
de caracteres o CROMOSOMAS.
Los cromosomas estn formados por GENES o caracteres que
representan la codificacin en binario de las VARIABLES de
optimizacin. A veces se identifica un GEN con cada carcter
y otras veces se identifica un gen con el conjunto de caracteres
que representan una variable.
Los genes pueden tomar dos diferentes VALORES (0, 1), que
se denominan ALELOS.
Supongamos que tenemos un problema en el que hay dos
variables x, y
cuyos valores estn acotados:

0 x 7 , 0 y 15 .

Observamos que la variable x


puede tomar ocho valores diferentes, y la y puede tomar
diecisis. Esto significa que para codificar la variable x

8 m = 3 ) y para
m
la variable y necesitamos cuatro ( 2 14 m = 4 ).

necesitamos un gen de tres alelos ( 2

Tendremos entonces un cromosoma de siete alelos formado


por dos genes. Si x = 2 e y = 7 , la representacin en
binario del individuo es la representada en la Figura 2.2.
cromosoma


individuo: 0 1 0 0 1 1 1
 


gen 1
(x)

La funcin objetivo (o funcin de adaptacin) para cada


cromosoma devuelve un nmero real, que se supone es
proporcional a la adaptacin del individuo al problema.
En la seccin 3 se vern diferentes mtodos de adaptacin de
la funcin objetivo a cada tipo de problema.

2.5 SELECCIN
La seleccin determina los individuos que van a ser padres
de la siguiente generacin. Es un intento de imitacin de la
SELECCIN NATURAL, es decir, supervivencia del
individuo ms sano. En nuestro caso, los individuos ms sanos
son aquellos que tienen mejor salud.
El mtodo de seleccin consiste en tomar tantos padres como
el tamao de la poblacin y asignando a cada individuo una
salud relativa de acuerdo a su contribucin a la salud total de
la poblacin. Es el conocido MTODO DE LA RULETA.

Pi =

si

(0.1)

s
j =1

Tomemos como ejemplo la Figura 2.3: suponemos que


tenemos cuatro cromosomas. En la ruleta representamos su
salud relativa. Como observamos, el cromosoma 4 es el que
tiene mayor probabilidad de ser padre de la siguiente
generacin al ser el individuo ms apto. EL caso contrario es
el cromosoma 1.

gen 2
(y )

Figura 2.2. Representacin en binario.

2.3 POBLACIN INICIAL


El objetivo de establecer una poblacin inicial es el de
seleccionar los puntos de partida de la bsqueda en el espacio
de soluciones.
La definicin del tamao de la poblacin es muy importante:
un valor muy grande provocar un consumo mayor de recursos
y un valor muy pequeo barrer un espacio de bsqueda
menor y, por ello, tardar ms en encontrar la mejor solucin.

Figura 2.3. Mtodo de la Ruleta

2.6 CRUCE
El cruce consiste en combinar las cadenas de caracteres de los
padres por parejas y obtener su descendencia, imitando la
HERENCIA GENTICA, es decir, el hijo tendr
caractersticas de los padres.

DE

ALGORITMOS

3.1 DEFINIR VARIABLES Y FUNCIN


OBJETIVO
Hay que tener en cuenta las indicaciones genricas para
cualquier problema de optimizacin. Adems, si es posible,
intentar acotar el espacio de soluciones.

El mtodo consiste en tres pasos:

3
DISEO
GENTICOS

Emparejamiento: se toman los padres de dos en dos


aleatoriamente, por ejemplo, de acuerdo al orden de
la seleccin).
Probabilidad de cruce: de acuerdo a una determinada
probabilidad, los padres se cruzan o pasan a la
siguiente generacin sin cruce, es decir, no tienen
descendencia.
Cruce: se utiliza el CRUCE SIMPLE, en el que se
selecciona aleatoriamente una posicin del
cromosoma a partir de la cual los dos padres
intercambian sus valores.

Para ilustrar el CRUCE SIMPLE vemos la Figura 2.4. Se ha


elegido aleatoriamente que los padres crucen por la posicin
dos. El hijo tiene los dos primeros genes del padre y los tres
siguientes son de la madre. La hija tiene los dos primeros de la
madre y los tres siguientesl del padre.

Para definir las variables:

Formarn

Intentar no alargar los cromosomas ms de lo


necesario, ya que eso tiene un coste.
Determinar si hay un rango posible de valores.

parte

de

los

cromosomas

Cromosoma = [ v1 , v2 ,..., vn ] .

Para definir la funcin objetivo:

A veces la definicin es clara por la naturaleza del


problema.
Otras veces es compleja su definicin (por ejemplo:
trayectoria de robots) y hay alternativas.
Problema del multiobjetivo.

3.2 REPRESENTACIN DE VARIABLES


Padre

0 1 1 1 0

Hijo

0 1 0 0 0

Madre

1 1 0 0 0

Hija

1 1 1 1 0

Figura 2.4. Cruce simple.

2.7 MUTACIN

2m 1 (m = nmero de bits).
Rango de la variable: [Vmax , Vmin ]

Exactitud

Nmero de intervalos:

longitud

del

intervalo

El mtodo consiste en cambiar, de acuerdo a una tasa, uno de


los caracteres binarios por su contrario. La tasa de mutacin
suele ser muy baja para no perder el efecto de la supervivencia
del ms sano.

(Vmax Vmin ) / (2 1) .

Cada intervalo de valores de la variable se representa


con un nico valor en binario.

V = VMIN + X b (VMAX VMIN ) / (2m 1) .

Variantes en el nmero de intervalos =


inferior, extremo superior, centrada).

2m

(extremo

Otras codificaciones:

Reales.
Especficas del problema. Caso especial en
problemas de permutacin, que veremos ms
adelante.

3.3 POBLACIN INICIAL


0

Para la codificacin en binario:

La mutacin tiene como objetivo aadir combinaciones


genticas para favorecer la expansin por el espacio de
bsqueda y evitar ptimos locales. Continuando con nuestro
paralelismo con la naturaleza, la mutacin es una imitacin de
la MUTACIN GENTICA.

Para la discretizacin de las variables continuas, hay que


determinar la exactitud:

Lo primero es fijar el parmetro del tamao de la poblacin.


Los tipos de tamao, pueden ser:

Figura 2.5. Mutacin.

Tamao grande:

Buena muestra de partida para rastrear el


espacio de bsqueda.
o En general, ms tiempo para llegar a la
solucin ptima.
Tamao pequeo:
o Peligro de convergencia rpida a un
ptimo local.
o Ms rpido
No obstante, hay que estudiar el comportamiento
especfico de CADA PROBLEMA.
En ocasiones, se toma una poblacin inicial con
tamao superior a la poblacin de las sucesivas
generaciones.
o

Para generar la muestra, se puede proceder de las siguientes


maneras:

Al azar: como en el AGS. Puede salir no


representativa (50% de 0, y 50% de 1).

Compromiso entre asegurar una muestra


repartida y estocasticidad.

Figura 3.3. Muestra aleatoria parcial.

Invertida:
o La mitad de la muestra al azar y la otra
mitad por inversin binaria.
o Uniformidad en binario. Se asegura contar
inicialmente con todo el material gentico
y a partes iguales
o .

Figura 3.1. Muestra aleatoria.

Uniforme: individuos barriendo uniformemente el


espacio de soluciones (fenotipos).
Figura 3.4. Muestra invertida.

Dependencia del problema y en gran medida del


TAMAO.

3.4 EVALUACIN
Problemas que pueden surgir en la funcin objetivo:

Figura 3.2. Muestra uniforme.

Aleatoria parcial:
o Se divide el tamao de la muestra entre el
nmero de parmetros.
o Se hacen k submuestras, en las que uno de
los
parmetros
toma
valores
uniformemente repartidos y los otros
valores aleatorios.

Puede dar valores negativos.


Puede ser no discriminatoria, esto significa que
todos los individuos estn en un rango muy
parecido.
Que el problema sea de minimizacin.

Las soluciones genricas a estos tres problemas pueden ser:

Escalado:
o

Traslacin: f = f + b trasladamos el
cero a la cota inferior, y nos resuelve el
problema de minimizacin. Esto nos puede
meter en el problema de que NO sea
discriminatorio.
'

f ' = a f +b.

Escalado lineal

Escalado potencial

Emparejamiento, que puede ser:


o Por orden: se ordenan todos los
posibles padres de acuerdo a su salud
y se forman parejas por orden. A
veces se opta por el orden contrario.
Muy simple y fcil de implementar,
tpicamente combinado con seleccin
natural previa y todos un hijo.
o Al azar: como en AGS

Probabilidad de cruce: se cruza una parte de los


emparejados, de acuerdo a una probabilidad Pc
(parmetro a determinar).
Cruce, que puede ser:
o Cruce simple: Por un punto
determinado al azar.
o Cruce mltiple: Por n puntos
determinados al azar.
o Cruce uniforme: Bit a Bit con un
50%. Mscara.

f ' = f k.

Ranking.

Las soluciones especficas para el problema de minimizacin


pueden ser:

f ' = CotaSup. f
1
f'= .
f

Cota Superior

Inversa

3.5 SELECCIN
Independientemente del mtodo de seleccin, una posibilidad
consiste en reducir los aspirantes a padres a los mejores:

Padres + hijos: Los (N - n) peores mueren. Los n


mejores son candidatos a padres y componen con sus
(N - n) hijos la siguiente generacin.
Umbral de supervivencia: Sobreviven los que lo
superan. El problema es la determinacin de este
umbral y su evolucin, ya que si es fijo, al principio
no pasa ninguno y al mejorar la poblacin lo pasar
la mayora. Tambin se produce un nmero variable
de individuos que habr que compensar.

Hay que determinar cuntos hijos va a tener cada individuo de


la poblacin (toda o la parte que haya superado la seleccin
previa):

Todos un hijo: No representa la ida de la


supervivencia del ms apto, pero puede tener
sentido con seleccin natural previa. Es fcil de
implementar.
Ruleta: Como el AGS.
Valor esperado: Se calculan las saludes
normalizadas y el nmero de descendientes
esperado. Se asignan las partes enteras. El resto:
o Reparto determinista: por orden del valor
fraccionario.
o Reparto
por
ruleta:
probabilidad
proporcional a la fraccin.
o Reparto estocstico: orden y probabilidad
igual a la fraccin.

Torneo: Se toman aleatoriamente conjuntos de


k padres posibles. Los ganadores (mejores)
sern los padres.

Elitismo: Este concepto expresa la idea de que


el mejor individuo de la actual generacin pase
sin modificar a la siguiente generacin. De esta
forma no se perder el mejor cromosoma. Al
resto de la poblacin se le aplica la
reproduccin
normalmente.
Suelen
ser
algoritmos que convergen ms rpido a la
solucin, aunque esto depender de cada
problema.

3.6 CRUCE
Tiene tres etapas:

3.7 MUTACIN
A una pequea parte de la poblacin, se le introducen cambios
en su material gentico.
La tasa a la que se introducen estos cambios, puede ser:

Tasa constante: de acuerdo a una probabilidad Pm.


Tasa decreciente: se parte de una Pm relativamente
alta y rebajarla generacin a generacin (con
exponencial, potencias decrecientes de 2, lineal,).
Esto favorece primero la exploracin y luego la
convergencia.
Tasa variable en funcin de la posicin del Bit:
favorecer las mutaciones para ajustar la solucin al
ptimo o para dar grandes saltos. Lo normal es que
los Bits significativos los determine la seleccin.
Operador Inversin: invertir un intervalo entero
determinado al azar.

3.8 TEST DE FINALIZACIN


Para realizar el test de finalizacin, se requiere definir antes
una serie de criterios, como son:

Nmero de generaciones: ligado al tiempo del


algoritmo.
Nmero de evaluaciones: compromiso entre tamao
de la poblacin y nmero de generaciones, es decir,
si yo aumento el nmero de generaciones para un
mismo tipo de evaluacin, tendr que disminuir el
nmero de individuos.
Nmero de generaciones sin mejora: existe el peligro
de atravesar una fase larga en un ptimo local.
Acercamiento a un valor conocido de antemano:
cuando hay un valor objetivo satisfactorio, y se
busca principalmente la composicin de valores de
las variables. Es decir, si no s cul es el ptimo,
pero s un valor que me sirve (solucin factible), me
quedo con ella.

4 ALGORITMOS
RESTRICCIONES

GENTICOS

CON

Los algoritmos genticos se inventaron para poder resolver


cualquier problema de optimizacin. Sin embargo, no se
suelen llevar bien en los problemas con restricciones. Para
ello, existen soluciones standart a los problemas que presentan
las restricciones.

Las restricciones dividen el espacio de bsqueda en zonas


factibles y no factibles. Las cuestiones que surgen al resolver
problemas mediante algoritmos genticos son varias:

Penalizaciones estticas: no varan con el avance del


algoritmo. El valor de la penalizacin permanece
constante generacin tras generacin.
Penalizaciones dinmicas: varan de generacin en
generacin. Normalmente, se penaliza menos al
principio del algoritmo para favorecer que los
individuos se agrupen en las zonas buenas
(factibles). Segn avanza el tiempo, la penalizacin
crece de valor para matar las soluciones malas (o
no factibles).

y
generacin actual
=
G n de generaciones a ejecutar
y = 1, 2,...

Cmo evaluar los individuos no factibles?


Cmo relacionar los individuos factibles y los no
factibles?
Son validos los operadores de seleccin, cruce y
mutacin que hemos diseado?

Por ejemplo, sea el espacio de bsqueda representado en la


Figura 4.1, pero, por restricciones del problema, tan slo las
zonas rayadas son posibles soluciones factibles. El problema
aparece cuando un individuo pertenece a la regin no factible,
como el que est sealado.

(0.2)

Penalizacin mortal: consiste en eliminar a


todos los no factibles. Es una tcnica peligrosa
cuando la regin de no factibles es grande.
Superioridad factible: se basa en el principio de
que cualquier factible es mejor que cualquier no
factible.

4.2 OPERADORES ESPECFICOS


Suele ocurrir que al cruzar individuos factibles resulte uno no
factible. Para ello realizamos trucos que aseguren que el
nuevo individuo sea factible. Estos trucos consisten en definir
los operedores de cruce y mutacin de forma que arrojen
soluciones factibles.

4.2.1 CRUCE PMX


?

Regin Factible
Regin No Factible

Padre

Madre

Hijo

Hija

Figura 4.1. Espacio de soluciones con restricciones.


Vamos a ver dos mtodos para solucionar los problemas de
individuos no factibles.

4.1 PENALIZACIONES
Consiste en aadir a la funcin objetivo penalizaciones que se
aplican cuando se violan las restricciones.

Figura 4.2. Cruce PMX1.


Se realizan dos cortes al azar y se intercambian las posiciones
de la ventana central. El resto de valores se toman del original
salvo que ya est colocado. En este caso se busca la
coincidencia en el individuo.

Las penalizaciones suelen medir el grado de infactibilidad


del individuo.
1

Existen varios tipos de penalizaciones:

No se estn representando valores en binario. Los nmeros


representan la posicin de los genes.

Consiste en tomar una ventana al azar del individuo e invertir


las posiciones.

4.2.2 CRUCE OX

Padre

Madre

Hijo

Hija

Figura 4.3. Cruce OX1.


Se toma una ventana central al azar con dos cortes y se
intercambin los genes. El resto de genes se rellena a partir de
los valores de la madre en orden.

5 APLICACIN AL PROBLEMA DE LA
MOCHILA
Un problema tpico de programacin es el que nos ocupa, el
problema de la mochila [4], que responde a la siguiente
situacin: imagnese hacer una excursin a la que solo
podemos llevar una mochila que, lgicamente, tiene una
capacidad limitada. Cada objeto que introducimos ocupa un
volumen dentro de la misma y en contrapartida durante el viaje
nos proporcionar un beneficio o utilidad (ejemplo: una
cantimplora), el problema surge cuando debemos elegir qu
objetos seleccionar para llevar en la mochila de forma que
nuestro beneficio sea mximo (tengamos todo lo necesario) sin
exceder su capacidad.
Los datos del problema son los siguientes:

4.2.3 CRUCE CX

Padre

Madre

n: nmero de objetos entre los que se puede elegir.


pi: peso del objeto i-simo que no es ms que una
forma de hacer referencia a un objeto cualquiera que
pueda ser incluido en la mochila -, es decir, ci
representa el coste de escoger un objeto, en tanto en
cuanto va a ocupar un espacio de la mochila que
dejar fuera otros objetos.
bi: utilidad o beneficio que proporciona el objeto isimo.
C: capacidad de la mochila, equivale al presupuesto
mximo del que se dispone. Tomamos C = 40.

Los valores del ejemplo sencillo que vamos a tratar los


recogemos en la Tabla 1.
Hijo

6
Tabla 1. Tabla de pesos y beneficios.

Hija

pi

30

20

22

10

bi

100

75

80

40

20

Figura 4.4.Cruce CX .
Los elementos vienen de los padres en la misma posicin.

Los elementos a introducir en la mochila van a ser nuestras


variables objeto de anlisis, cada variable la denotaremos
como

xi . Se asignar el valor 1 si llevamos el objeto y con un

0 en el caso contrario.

4.2.4 INVERSIN SIMPLE

La restriccin vendr marcada por la capacidad mxima de la


mochila, de tal forma que la suma de todos los objetos
multiplicados por el espacio que ocupan en la mochila no
podr exceder dicha capacidad mxima. Matemticamente:
n

Figura 4.5.. Inversin Simple1.

px
i =1

i i

C.

(0.3)

Tal y como se expresa en la definicin, el objetivo de este


problema es seleccionar aquellos objetos que introducidos en
la mochila nos proporcionan una mayor utilidad. En otras
palabras, lo que debemos hacer es maximizar la utilidad de
nuestra mochila.
Matemticamente:

p x
i

es de tipo lineal, por lo que buscaremos una

penalizacin lineal, por ejemplo, cogemos lo que me paso de


peso y lo multiplicamos por un un factor k .
De esta manera, la funcin de salud queda:

max z = bi xi .

(0.4)

i =1

Representamos a cada individuo con un cromosoma de 5


alelos, en el que el bit i hace referencia al objeto i. Por
ejemplo, supongamos que tenemos el genotipo de la Figura
5.1: significa que nos llevaramos los obejtos 1, 3 y 5.

individuo
1
0
1
1
0
x1 x2 x3 x4 x5

Figura 5.1. Ejemplo de genotipo.


La funcin de salud que vamos a utilizar en primera instancia
es
n

z = bi xi

i =1

i =1

s = bi xi k ( pi xi c) + ,

(0.8)

donde,

0
n

( pi xi C ) + = n
i =1
p x C
i
i

i =1

si

p x
i =1

(0.9)

si pi xi > C
i =1

Cunto vale k ? El tamao de k puede variar en funcin de


n. Tambin habra que estudiar la no-factibilidad en funcin de
k : un k muy grande puede dar lugar a valores de salud
negativos, lo cual es absurdo. Esto se podra arreglar sumando
una cota, pero podramos entrar en problemas de nodiscriminacin.

(0.5)

i =1

Obtener una poblacin inicial de 6 individuos por el mtodo


de la muesta invertida.

Si evaluamos el individuo anterior, tenemos que


n

z = bi xi = 100 + 80 + 1 = 220

(0.6)

El mtodo consiste en generar la mitad de la poblacin de


forma aleatoria y la otra mitad sern los inversos de los
primeros, tal y como se observa en la Figura 5.1.

i =1

Comprobamos la condicin de capacidad:


n

px
i =1

i i

= 30 + 22 + 10 = 62 > 40

(0.7)

Este individuo incumple la restriccin de capacidad de la


mochila. Es un individuo no factible.
Discutir la posibilidad de utilizar la funcin z para evaluar
la salud de los individuos en la resolucin del problema de
la mochila 0-1 genrico mediante algoritmos genticos.
Determinar razonadamente una funcin apropiada para
este propsito, en la que se tenga en cuenta el valor de z.
No es adecuado porque el algoritmo evolucionara a poner
todo 1 y esa solucin es NO Factible.
Cmo evaluar los no factibles? Podemos penalizarlos
buscando una expresin matemtica adecuada. La restriccin

0 0 1 1 0

1 1 0 0 1

1 1 1 1 0

0 0 0 0 1

0 0 0 1 1

1 1 1 0 0

Figura 5.1. Muestre invertida.


Seleccionar los padres de la siguiente generacin por el
mtodo de la ruleta a partir de los generados aneriormente.
Tomamos un valor de k = 7 . Evaluamos los individuos
anteriores y comprobamos la restriccin de capacidad.

s = 80 + 40 = 120
1
peso = 22 + 10 = 32

s = 100 + 75 + 80 + 40 7 (82 40) = 1


2
peso = 30 + 20 + 22 + 10 = 82 No Factible
s = 40 + 20 = 60
3
peso = 10 + 7 = 17

s = 100 + 75 + 20 7 (57 40) = 76


4
peso = 30 + 20 + 7 = 57 No Factible
s = 20
5
peso = 7

s = 100 + 75 + 80 7 (72 40) = 31


6
peso = 30 + 20 + 22 = 72 No Factible
Tabla 2. Evaluacin de los individuos.
Individuo

Salud

Salud Relativa

120

0,3896

0,0032

60

0,1948

76

0,2468

20

0,0649

31

0,1006

Total

308

Al hacer la ruleta entran individuos No Factibles a ser padres,


por lo que no es un buen mtodo de seleccin. Por lo tanto,
diseamos el mtodo de seleccin matando a los
indivividuos no factibles para que no sean padres de la
siguiente generacin. De esta manera, slo los individuos 1, 3
y 5 pueden ser padres. Por el mtodo de la ruleta se procedera
a asignar cuntos hijos tendra cada individuo, hasta completar
una poblacin de 6 individuos.

6 REFERENCIAS
[1]

Apuntes asignatura Inteligencia Artificial en Redes


de comunicacin, Julio Villena Romn
Universidad Carlos III de Madrid
http://www.it.uc3m.es/jvillena/irc/

[2]

Algoritmos genticos Wikipedia, Enciclopedia


libre
http://es.wikipedia.org/wiki/Algoritmo_gentico

[3]

Tutorial - Introduction to Genetic Algorithms


http://www.obitko.com/tutorials/genetic-algorithms/

[4]

Apuntes de la asignatura Mtodos Cuantitativos de


Organizacin II, Miguel Gutirrez Universidad
Carlos III de Madrid

[5]

Algoritmos Genticos, Abdelmalik Moujahid, Iaki


Inza y Pedro Larraaga - Departamento de Ciencias
de la Computacin e Inteligencia Artificial,
Universidad del Pas Vasco.

También podría gustarte