Sei sulla pagina 1di 46

Informe de seminarios

Introduccin a los
Algoritmos
genticos
Introduccin a los algoritmos evolutivos

Legern lvarez, Jaime


Nez Jimnez, Alejandro
Ortiz de Lanzagorta, Jse

Modelizacin y Anlisis Numricos, DMAMI, ETSI Minas, UPM

Mayo~Junio 2012, Madrid

Queremos agradecer al profesor Francisco Michavila Pitarch la


organizacin de los distintos seminarios, la flexibilidad y la ayuda prestada para
poder realizar este pequeo informe.
Agradecemos muy especialmente a Rubn Rodrguez Torrado su actitud
abierta y extraordinariamente generosa que ha mostrado con nosotros.

1. Introduccin ................................................................................. 4
2. Origen de los algoritmos genticos ................................................. 7
2.1 Breve historia .......................................................................... 7
2.2 Tcnicas evolutivas vs otras tcnicas de optimizacin ................ 9
3. Fundamentos de los algoritmos genticos...................................... 12
3.1 Generacin de la poblacin inicial ........................................... 13
3.2 Operadores genticos .............................................................. 14
3.2.1 Cruce ............................................................................... 15
3.2.2 Mutacin ......................................................................... 16
3.3 Evaluacin de los individuos ................................................... 17
3.4 Seleccin de individuos ........................................................... 18
3.5 Resolucin del ejemplo ........................................................... 20
4. Aplicaciones reales de AG............................................................ 22
4.1 Algoritmos genticos en economa
AG en modelos de gestin de recursos naturales ........................ 22
4.1.1 AG en economa .............................................................. 23
4.1.2 Modelo de explotacin pesquera con AG .......................... 23
4.1.3 Conclusiones.................................................................... 31
4.2 Algoritmos genticos en optimizacin del espacio: problema de
la mochila ................................................................................ 32
4.2.1 El problema de la mochila ................................................ 32
4.3

Algoritmos

genticos

en

geometra:

optimizacin

de

trayectorias de viaje, caso arquetpico: problema del Salesman ... 37


4.3.1 Resolucin del problema con AG...................................... 38
4.3.2 Conclusiones.................................................................... 41
5. Conclusiones ............................................................................... 43
6. Bibliografa y material empleado .................................................. 46

1. Introduccin
Throw up a handful of feathers, and all must fall to the ground
according to definite laws; but how simple is this problem compared to the action
and reaction of the innumerable plants and animals which have determined, in
the course of centuries, the proportional numbers and kinds of trees now growing
on the old Indian ruins!
Charles Darwin, The origin of species, 1859
La naturaleza que existe hoy es la optimizacin de la naturaleza
que existi ayer.
Con esta sencilla generalizacin del concepto de evolucin y
lucha de especies o war of nature, es fcil comprender que la
optimizacin forma parte de nosotros.
Entendiendo por optimizacin la bsqueda de una cierta mejora
comparativa, una ventaja, un mejor rendimiento o una mayor eficacia,
toda la actividad humana se encuentra movida sutilmente por la
bsqueda incansable de mejoras.1
Aquellos que hemos optado por actividades tcnicas, y en
especial los ingenieros (y en particular, los ingenieros de energa),
buscamos mejoras en todos los campos de la tcnica para hacer los
procesos ms eficientes y mejorar la vida de la gente. Con esta
finalidad: diseamos mejores mquinas, desarrollamos mejores
materiales, pulimos mtodos y procedimientos y todo ello al menor
coste posible.

A este respecto existen teoras evolutivas basadas en el concepto de mquinas de los


genes o mquinas de la supervivencia que apuntan al origen de este comportamiento. Niko
Tinbergen. Richard Dawkins, The Selfish Gen, 1976

Cuando los problemas que abordamos alcanzan una complejidad


o un tamao que excede nuestras capacidades naturales de clculo,
empleamos mtodos de anlisis y modelizacin numrica para obtener
resultados tiles que nos permitan seguir avanzando.
El desarrollo de mtodos de clculo numrico puede remontarse
a los orgenes de la civilizacin. Sumerios y egipcios empleaban
nmeros y mtodos de clculo muy rudimentarios2, siendo los griegos
(con figuras destacadas como la de Arqumedes) quienes le dan forma.
El clculo adquiere un aspecto similar al actual en el siglo XII con la
introduccin de la notacin decimal y del cero. No obstante, podemos
fechar el principio del clculo numrico, tal como lo entendemos hoy
en da, en el siglo XVII, con el desarrollo de tablas de logaritmos y su
aplicacin en numerosos problemas cientfico-prcticos.
A finales de este siglo llega la eclosin de los mtodos numricos
con las grandes figuras de la fsica y las matemticas: Newton, Gregory,
Euler, Taylor, Lagrange, Gauss, etctera, para, despus de una cierta
atona en el siglo XIX, renovar su mpetu con la entrada del siglo XX.
La revolucin informtica impacta con toda su fuerza sobre el
clculo numrico, causando un autntico punto de inflexin en su
evolucin. La potencia que aportan estos elementos hace crecer de
manera exponencial el inters en el anlisis numrico, que pasa a ser
considerado un miembro de pleno derecho de la matemtica y a formar
parte indispensable de las herramientas de todo ingeniero.
Con la progresiva complicacin de los problemas que se
abordaban, se desarrollaron nuevos mtodos, algunos tan eficaces

Incluso se ha descubierto una ecuacin para la aproximacin del rea de un crculo, en la


cual el nmero se aproxima con
. [Saavedra P. Matemtica Numrica. Enciclopedia de Ciencias.
Volumen Matemticas. UAM. 2010.]

como el mtodo de bsqueda de mximos y mnimos locales: NelderMead downhill simplex method3 de uso general en infinidad de
aplicaciones.
No obstante, la mayora de los mtodos que haba hasta la
dcada de los setenta, adolecan el defecto de no poder diferenciar el
mximo absoluto de la funcin de un mximo local.
Para tratar de resolver ste y otros inconvenientes, se desarrollan
en los ltimos compases del siglo XX un nuevo grupo de algoritmos
que buscan emular la seleccin natural.
Nuestra lucha particular por alcanzar metas cada vez ms lejanas
y derribar las limitaciones de la tcnica, promueve la evolucin de los
mtodos de clculo. Estos mtodos de clculo, surgidos de la necesidad
y la imaginacin, encontraron la inspiracin en la ms reservada
intimidad de la naturaleza, viendo la luz por primera vez los algoritmos
genticos y evolutivos.

Haupt R.L., Haupt S.E. Practical Genetic Algorithms

2. Origen de los algoritmos


genticos
2.1. Breve historia
Los primeros ejemplos de lo que hoy podramos llamar
algoritmos genticos, surgieron a finales de la dcada de los cincuenta,
desarrollados por bilogos especializados en la evolucin, quienes
buscaban realizar modelos de aspectos de la evolucin natural.
Ninguno de ellos pens que la estrategia evolutiva se podra aplicar de
una forma ms general a problemas artificiales.
Sin embargo la aplicacin de estos algoritmos en campos
artificiales, principalmente la ingeniera, no tard en llegar. Durante la
dcada

de

los

60

distintos

investigadores

desarrollaron

independientemente algoritmos inspirados en la evolucin. En 1965 el


profesor Ingo Rechenben, de la Universidad Tcnica de Berln,
introdujo la que llam Estrategia Evolutiva. En esta tcnica no haba ni
poblacin ni cruzamiento; un padre mutaba para producir un
descendiente y se conservaba el mejor de los dos, convirtindose en
padre de la siguiente ronda de mutacin.
Posteriormente Fogel desarrolla la Programacin Evolutiva,
donde se introduce por primera vez el concepto de poblacin, lo que
permita que la salida de resultados no dependiera slo de la entrada de
datos actuales sino tambin de las anteriores. Sin embargo, en estas dos
metodologas se obvia un fenmeno fundamental de la propia
evolucin, que es el cruzamiento.

Holland fue el primero en proponer explcitamente los


cruzamientos. Con la publicacin del libro Adaptacin en Sistemas
Naturales y Artificiales, basado en investigaciones del propio Holland,
se presenta por primera vez de forma rigurosa y sistemtica el concepto
de sistemas digitales adaptativos utilizando la mutacin, la seleccin y
el cruzamiento. Surgiendo as lo que posteriormente se llamara como
Algoritmos Genticos
Entre principios y mediados de los 80, los algoritmos genticos se
estaban aplicando en una amplia variedad de campos. Desde problemas
de matemticas tericas como el problema de la mochila (binpacking)
hasta problemas tangibles de ingeniera como la optimizacin
estructural.
Al principio, estas aplicaciones eran principalmente tericas, sin
embargo, los algoritmos genticos pronto migraron al sector comercial,
debido principalmente al crecimiento exponencial de la potencia de
computacin. Hoy en da, los algoritmos genticos estn resolviendo
problemas de reas de estudio tan diversas como la prediccin en la
bolsa, ingeniera aeroespacial, ingeniera petrolfera, diseo de
microchips, bioqumica y biologa molecular. Algunos de los cuales los
trataremos en el desarrollo de este trabajo.

2.2. Tcnicas evolutivas vs otras tcnicas de


optimizacin
El gran avance que ha experimentado el campo de los algoritmos
genticos en los ltimos aos se debe en gran medida a que cuenta con
una serie de ventajas con respecto a enfoques tradicionales de
optimizacin.

Algunas

de

estas

ventajas

las

enumeramos

continuacin.
En primer lugar y probablemente lo ms importante es que los
algoritmos genticos son intrnsecamente paralelos. La mayora de los
algoritmos, sin embargo, son en serie slo pueden explorar el espacio
de soluciones en una direccin al mismo tiempo. Y si la solucin a la
que convergen es un extremo local, no pueden hacer otra cosa que
abandonar el trabajo hecho y empezar de nuevo. Por otro lado, ya que
los algoritmos genticos tienen descendencia mltiple, pueden explorar
mltiples direcciones a la vez.
En segundo lugar, las tcnicas evolutivas no necesitan
conocimientos especficos sobre el problema que intentan resolver. As
mismo, al depender nicamente los algoritmos genticos de la funcin
objetivo la convergencia de la solucin ptima no est vinculada a
requisitos de continuidad, diferenciabilidad, convexidad, lo que
proporciona a los algoritmos genticos una mejora sustancial con
respecto a los mtodos clsicos.
En tercer lugar, debido al paralelismo que le permite evaluar
implcitamente muchos esquemas a la vez. Los algoritmos genticos
son realmente efectivos en la resolucin de problemas no lineales, cuyo
espacio de soluciones potenciales es realmente grande, demasiado vasto
para hacer una bsqueda exhaustiva en un tiempo razonable. En un
9

problema no lineal, la aptitud de cada componente tiene efectos en


cadena sobre la aptitud de los dems y cambios mltiples que, aunque
individualmente puedan ser perjudiciales, puede desencadenar el efecto
conjunto que lleve al ptimo del sistema.
Finalmente, una de las principales ventajas de los algoritmos
genticos y que a primera vista puede parecer una desventaja es que los
Algoritmos Genticos no saben nada del problema que van a resolver.
Como sus decisiones estn basadas en la aleatoriedad, todos los
caminos de bsqueda son posibles; en contraste, cualquier estrategia de
resolucin de problemas que dependa de un conocimiento previo, debe
inevitablemente empezar descartando muchos caminos a priori,
perdiendo as cualquier solucin novedosa que pueda existir.
A pesar de los amplios logros obtenidos por los Algoritmos
Genticos en la resolucin de problemas, no son la panacea. Los
Algoritmos Genticos tienen ciertas limitaciones entre las que se
cuentan las siguientes.
Un problema habitual se encuentra en que los algoritmos
genticos debido a que desarrollan varios caminos en paralelo a la vez
son demasiado lentos en encontrar un extremo local una vez que estn
en sus proximidades, siendo frecuente tener que utilizar tcnicas
hbridas que con tcnicas de optimizacin local, producen una mejora
considerable en la bsqueda de la solucin y en la disminucin de los
tiempos de clculo.
Otro problema muy conocido que puede surgir con un Algoritmo
gentico se conoce como convergencia prematura. Si un individuo que
es ms apto que la mayora de sus competidores emerge muy pronto en
el curso de la ejecucin, se puede reproducir tan abundantemente que
merme la diversidad de la poblacin demasiado pronto, provocando
10

que el algoritmo converja hacia el ptimo local que representa ese


individuo, en lugar de rastrear el paisaje adaptativo lo bastante a fondo
para encontrar el ptimo global.
Sin embargo, los problemas antes mencionados se pueden
superar por distintas vas y ninguno afecta a la validez y al desarrollo de
la evolucin artificial. As, las ventajas de los Algoritmos genticos en
mltiples y diversos problemas superan con creces sus desventajas. Lo
que ha impulsado su enorme desarrollo en las ltimas dcadas.

11

3. Fundamentos de los algoritmos


genticos
Una vez explicadas las generalidades a cerca de los algoritmos
genticos, su origen, en qu se inspiran y porqu funcionan bien, llega
el turno de explicar concretamente los procedimientos de los que se
sirve.
Continuando con la idea que les dio origen, los mecanismos
usados para optimizar mediante algoritmos genticos estn inspirados
en la naturaleza, en concreto en la evolucin de las especies.
De los seres vivos, las definiciones ms elementales de nuestra
infancia sealan que stos nacen, crecen, se relacionan y mueren. As
pues, inspirndose en estos conceptos tan triviales se elaboran los
fundamentos de los algoritmos genticos. No es exactamente as como
se producen, pues los elementos seleccionados no son seres vivos, pero
a modo de comparacin, no podra ser ms acertado.
Antes de pasar a explicar los mecanismos de estos algoritmos,
conviene sealar una cosa. En la evolucin natural hay un factor
constante de aleatoriedad. Si un individuo perfectamente adaptado
tiene la mala suerte de sufrir un accidente fortuito, por mucho que est
mejor adaptado que otros al entorno, morir. De forma general, es
cierto que los individuos mejor adaptados acaban por imponerse, pero
dentro de los casos particulares hay una probabilidad, por pequea que
sea, de que un individuo cualquiera no consiga salir adelante. Esto se
explicar con ms detalle en el apartado de seleccin.
A continuacin pasaremos a describir los pasos que sigue el
algoritmo gentico estndar, tratando de referenciarlos al proceso
12

natural en el que se basan. Para ello vamos a establecer un ejemplo de


extrema sencillez, en el que nuestro problema ser: hallar el mximo de
la funcin siguiente:
en el intervalo

3.1. Generacin de la poblacin inicial


Quiz el smil menos evidente con la naturaleza, es tan sencillo
como parece. Se elige de entre el conjunto de individuos pertenecientes
al dominio del problema a optimizar, un nmero de ellos, de forma
aleatoria, consiguindose una poblacin inicial lo ms heterognea
posible, que permite trabajar teniendo en cuenta la diversidad que
presenta nuestro problema, tendiendo a los ptimos de forma ms
rpida y abarcando todo lo posible.
Para evaluar los individuos de forma efectiva, el mtodo usado es
la codificacin. Como se ver ms adelante, los individuos tienen que
reproducirse, mutar, etc. Hay muchas formas de codificar, por ejemplo,
en el caso de mltiples variables, cada individuo est representado por
un vector cuyas coordenadas son las variables. Si es un individuo
numrico, puede escribirse el nmero en cdigo binario y de nuevo
crear un vector en que cada coordenada sea un 1 o un 0 segn
corresponda.
En nuestro ejemplo, cada punto estar codificado en cdigo
binario del siguiente modo:

13

Este nmero binario se corresponde con un elemento de nuestro


problema a optimizar, y se evala en la funcin f(x).
En caso de que el problema ya haya sido estudiado parcialmente
con anterioridad, en vez de elegir una poblacin inicial aleatoria, se
puede elegir basndose en clculos previos, lo que ayudar a una
convergencia ms rpida.
En nuestro ejemplo, la seleccin de la poblacin inicial se puede
realizar de diversas maneras. Una sera coger elementos del dominio al
azar. Otra posibilidad es hacer vectores de dimensin cuatro e irlos
llenando de 1 o 0 aleatoriamente. Al final obtenemos una poblacin de
cuantos individuos queramos. Nosotros tomaremos un tamao n=8, y
los elementos sern cogidos aleatoriamente.

3.2. Operadores genticos


Sin embargo, si no introducimos variaciones en nuestras
poblaciones, el problema no dejar de ser evaluar funciones y comparar
las que mejores resultados generan. Adems, de ser as, no abarcaran
la diversidad de la que presumen, y por tanto no tendran en cuenta
partes de la poblacin que pueden ser de gran inters.
Es aqu cuando aparecen los operadores genticos, cuya funcin
principal es dar heterogeneidad a las poblaciones con las que se trabaja.
De nuevo basados en fenmenos naturales, ayudan a nuestro algoritmo

14

a parecerse ms a la realidad de la evolucin, as como a obtener


resultados mejores.

3.2.1.

Cruce

Como ocurre en la naturaleza, las generaciones provienen de una


previa, y el individuo es resultado de la combinacin de sus
progenitores. As, si tenemos una poblacin de n individuos, podemos
juntarlos de dos en dos, y combinarlos para que den a su vez otros n
elementos. En nuestro ejemplo, la poblacin se representa con un
elemento numrico, que como hicimos antes se sustituye por un vector
cuyas coordenadas son la representacin binaria del mismo
As pues, teniendo dos nmeros pertenecientes a nuestra
poblacin, podemos cortar uno de los vectores por donde queramos,
por ejemplo dejar en la primera mitad un elemento y en la otra tres.

Y hacemos lo complementario con la pareja, de forma que


si ahora unimos nos quedar:

Hemos obtenido as la descendencia de los elementos


progenitores. De nuevo entra la gran componente de aleatoriedad en el
proceso, es decir, el corte puede ser por el primer elemento, por el
segundo, o en casos ms complejos en otros lugares. Cabe destacar que
para problemas en los que los elementos son an ms complejos, se
pueden usar matrices para representarlos. El proceso de cruce aunque
es ms elaborado, es conceptualmente similar.
15

3.2.2.

Mutacin

Como en la naturaleza, los elementos con los que trabajamos


mutan. Es un fenmeno mucho menos frecuente y brusco en la
naturaleza, pero de nuevo, sirve para diversificar la poblacin, llegar a
todos los puntos posibles y, aunque en ocasiones la mutacin resulta ser
peor, puede servir para escapar de mnimos locales y alcanzar el
mnimo global.
El mecanismo se basa en cambiar ciertos elementos por otros, de
forma aleatoria. En nuestro ejemplo concreto podramos cambiar algn
1 por algn 0 o viceversa.
La mutacin tambin est sujeta a las decisiones tomadas al
configurar el algoritmo. Es posible disponer una probabilidad muy alta
de variacin por mutacin, consiguindose una mayor heterogeneidad
en las poblaciones pero tambin una mayor dificultad computacional.
Como ejemplo para el problema que venimos desarrollando,
podemos mutar un elemento de nuestro conjunto.

16

3.3. Evaluacin de los individuos


En una poblacin, tal y como explicaba Darwin en su teora
sobre la evolucin de las especies, sobreviven las mejor adaptadas. Para
saber qu individuos son los mejor adaptados, tenemos que establecer
un criterio de evaluacin. Este criterio lo definimos mediante la funcin
de evaluacin, es decir la funcin que se quiere optimizar. sta mide la
interaccin del individuo con nuestro problema.
La funcin de evaluacin devuelve un dato numrico, que
permite reflejar la bondad para el problema dado. En los problemas
reales no es sencillo determinar esta funcin de evaluacin, ya que
presentan un gran nmero de variables y factores a considerar.
Por tanto, para poder comparar unos individuos con otros, los
evaluamos dentro de nuestra funcin a optimizar. Los valores ms
favorables son los mejor adaptados, y por tanto los que tendrn mayor
probabilidad de seguir adelante.
En el caso de nuestro ejemplo, ser tan simple como evaluar la
funcin en el punto que se considere.
Es evidente que si nuestro problema trata de buscar un mximo,
los valores de mayor bondad en la evaluacin sern los que al ser
evaluados en f(x) den un valor numrico mayor.

17

3.4. Seleccin de individuos


Es en este apartado donde se plasma de forma ms rigurosa la
teora de Darwin. Una vez se tiene una poblacin y se evala, se asigna
una probabilidad de supervivencia directamente proporcional a la
bondad obtenida en la evaluacin del individuo. Ms tarde, de forma
aleatoria, se eligen los individuos que pasarn a la siguiente generacin
y se descartan los que no.
Se trata pues de la evolucin natural. Todos tienen posibilidades
de seguir adelante, pero evidentemente los mejor adaptados tienen ms.
Sin embargo, como se coment al inicio de este apartado, existe un
componente de aleatoriedad que no asegura a ningn individuo la
supervivencia.
En nuestro caso, representar el componente de aleatoriedad es
muy complejo, as que de cada generacin de n elementos nos
quedaremos con los n-2 mejores, hasta que queden dos, de los que
cogeremos al mejor de ellos. ste ser nuestro mximo.
Por otro lado, hay que tener en cuenta que, al reproducirse los
progenitores, se pueden conservar tanto como deshacerse de ellos, es
decir, pasar de n individuos a 2n o volver a tener n. De nuevo esto
depende del algoritmo usado. En nuestro caso, con los progenitores y
su siguiente generacin compuestos por 2n individuos, de entre todos
cogeremos a los n mejores, consiguiendo as mejores resultados.
Una de las ms clebres formas de aplicar este operador es el
llamado mtodo de la ruleta. Conceptualmente, los principios en que se
basa son los mismos, pero resulta interesante comentarla por ser
propuesta por el propio creador de los algoritmos genticos.
18

La seleccin por el mtodo de la ruleta fue propuesta inicialmente


por Holland en 1975. El procedimiento consiste en dividir una ruleta en
tantas secciones como individuos, de forma que el rea de cada una de
dichas secciones sea proporcional a la bondad relativa del individuo.
Posteriormente, por la generacin de un nmero aleatorio se selecciona
a un individuo, es decir, se realiza una seleccin aleatoria de unas de
las soluciones, en la que la probabilidad de seleccin depende de la
calidad de dicha solucin.
A pesar de la sencillez del mtodo, es una tcnica que resulta en
mltiples ocasiones ineficiente para resolver problemas de optimizacin
con algoritmos genticos, ya que presenta una convergencia prematura
que puede dar al traste con el proceso evolutivo del algoritmo
quedndose estancado en un mnimo local.
Para evitar este inconveniente, a lo largo de los aos, conforme la
implantacin, utilizacin e implantacin de los algoritmos genticos fue
creciendo; se disearon mltiples tcnicas, no slo de seleccin, sino
tambin de mutacin y reproduccin, construyendo un amplio
conjunto de opciones adaptadas a distintos problemas particulares.

19

3.5. Resolucin del ejemplo


Despus de tanto comentar nuestro ejemplo vamos a proceder a
resolverlo. Para ello se introducirn una serie de simplificaciones y para
facilitar el clculo se prescindirn de algunos de los componentes de
aleatoriedad.
La poblacin inicial se generar con Matlab aleatoriamente. Se
reproducirn los individuos 1 y 2, 3 y 4, 5 y 6 y 7 y 8 tomando el corte
en la mitad del vector. Se prescindir de mutaciones y se conservarn
los progenitores y la siguiente generacin antes de la seleccin, en la
que se descartarn la mitad de elementos y otros dos para ir reduciendo
la poblacin.

Primera generacin
Segunda generacin
Elemento
Elemento binario Evaluacin Descendencia binaria Descendencia Evaluacin descendencia
2
(0,0,1,1)
9
(0,0,0,0)
0
0
12
(1,1,0,0)
-11
(1,1,1,1)
15
-56
6
(0,1,1,0)
25
(0,1,0,0)
4
21
4
(0,1,0,0)
21
(0,1,1,0)
6
25
6
(0,1,1,0)
25
(0,1,0,1)
5
24
1
(0,0,0,1)
0
(0,0,1,0)
2
9
2
(0,0,1,0)
9
(0,0,1,0)
2
9
14
(1,1,1,0)
-39
(1,1,1,0)
14
-39

Seleccionados de las generaciones primera y segunda


Elemento Elemento binario Evaluacin Descendencia binaria Descendencia Evaluacin descendencia
6
(0,1,1,0)
25
(0,1,0,0)
4
21
4
(0,1,0,0)
21
(0,1,1,0)
6
25
6
(0,1,1,0)
25
(0,1,0,0)
4
21
4
(0,1,0,0)
21
(0,1,1,0)
6
25
6
(0,1,1,0)
25
(0,1,0,1)
5
24
5
(0,1,0,1)
24
(0,1,1,0)
6
25

Los seleccionados de las generaciones tercera y cuarta resultan


ser todos el mismo valor, el 6. Podemos comprobar que efectivamente
20

ste es el valor mximo (usando el clculo elemental). Por tanto,


nuestro algoritmo ha convergido antes incluso de que se termine la
poblacin. Esto se debe en parte a la simpleza del problema, a las
restricciones que pusimos a la hora de plantearlo y como no, a un cierto
factor aleatorio, pues la poblacin inicial contiene dos elementos.

21

4. Aplicaciones reales de los AG


Las aplicaciones reales de los AG son muchas y muy variadas,
alcanzando campos tan distintos como la biologa y biotecnologa, a la
gestin logstica de grandes corporaciones o la optimizacin de
procesos de elevada complejidad. Pero el empleo de los AG no termina
en la tcnica, ciencias sociales como la economa o la sociologa estn
implementando en algunas de sus reas esta herramienta de clculo
como modelo de evolucin del pensamiento social o econmico.
En

estos

tres

ejemplos

hemos

querido

estudiar

muy

superficialmente tres aplicaciones de los AG, dejndonos muchas otras


en el tintero, como: bsqueda de nuevos biomateriales, prediccin del
signo de mercados, modelos de aprendizaje, etctera.

4.1. Algoritmos genticos en economa:


AG en modelos de gestin de recursos
naturales
Al igual que en cualquier otro campo, los AG deben adaptarse a
las peculiaridades de la modelizacin econmica. Despus de apuntar
algunas peculiaridades de los AG en economa, pasaremos a estudiar la
gestin de un recurso natural renovable, basado en la pesca, pero que
podra ser fcilmente reinterpretado como un cultivo de microalgas
para producir biocombustibles.

22

4.1.1.

AG en economa

En general, el uso de los AG en economa se ha destinado a la


modelizacin

del

comportamiento

de

agentes

del

mercado,

utilizndolos para simular su aprendizaje o evolucin. En estos


modelos, las poblaciones de vectores son ideas, estrategias de gestin,
agentes econmicos en definitiva, que son evaluados por el mercado
con distintos criterios de seleccin. Aquellos que son capaces de superar
las exigencias del mercado aprenden de la experiencia concibiendo
nuevas ideas al interactuar con otros agentes o construyen soluciones
ms creativas.
Existen mltiples ajustes que hacer a los AG para poder aplicar
estos modelos de comportamiento econmico en una simulacin,
muchos de ellos se pueden recopilar en la bounded rationality4 que
establece las condiciones para la simulacin matemtica del
comportamiento de los agentes partiendo de las carencias de
informacin y capacidad de anlisis de stos.

4.1.2.

Modelo de explotacin pesquera con

AG
El modelo que vamos a estudiar, que busca optimizar la gestin
de la explotacin pesquera, parte de las suposiciones:
Los agentes no conocen la dinmica de reproduccin del
recurso natural5

Brillante concepto desarrollado por Herber A. Simon para la modelizacin matemtica de


problemas de decisin-making, que puede encontrarse en:Bounded Rationality, Gerd Gigerenzer, 2002,
MIT press
5
De aqu que podamos equipararlo a un cultivo de microalgas y no a un cultivo tradicional,
como el de caa de azcar para la produccin de biodiesel, ya que se controla la produccin.

23

Los agentes slo buscan el beneficio econmico mximo en


cada uno de los presentes
Los agentes, que en este caso seran pescadores, tienen como
variable de decisin su potencial de captura, representado por el
tamao del barco; pero carecen de informacin alguna sobre cmo
alcanzar el mximo beneficio en cada salida. Tan slo pueden saber
cmo les ha ido a otros pescadores en la misma jornada que a ellos y
aprender de sus propias experiencias anteriores.
Las variables que afectan al objetivo a maximizar, el beneficio,
son los costes fijos

y de los costes variables

Las interdependencias entre las variables son muchas: a barcos


ms grandes ms costes fijos, pero mayor potencial de pesca; a ms
capturas, mayor aumento de los costes variables (ms nmero de horas
de trabajo por unidad de captura); a mayor competencia, ms rpido
ascienden los costes variables, etctera.
La variable a optimizar ser por tanto el tamao del barco, que
determinar el potencial de captura. La estrategia de los distintos
patronos puede cambiar con la experiencia y/o copiando a otros
barcos, e incluso formando nuevas ideas.
Las ecuaciones que utilizamos para representar matemticamente
la situacin sern:
Crecimiento de la poblacin: curva logstica6:

es la poblacin actual de peces,

es la capacidad

mxima y el parmetro de crecimiento.

Modelo de crecimiento poblacional basado en el trabajo de Pierre Francois Verhulst

24

Potencial de captura (catching potencial):


Donde

es el tamao del bote, guardado en vectores de

diez elementos binarios, teniendo diez como tamao


mximo.
Ingresos: normalizamos el precio a uno, igualando
capturas

a ingresos.

Costes fijos (fixed costs): utilizamos una dependencia no


lineal con el tamao del bote:

Siendo un 25% del potencial de captura para el tamao


mximo.
Costes variables (variable costs): descienden con el tamao
del barco pero aumentan con la disminucin de la
poblacin, incluyendo en

el nmero de faenadores:

Capturas reales: tan slo tendremos un operador de


decisin acerca de si salir a faenar o no:
Beneficio: si se cumple la condicin anterior, pescamos
todo nuestro potencial , de modo que el beneficio:
Ajuste de las nuevas poblaciones tras las capturas:

Establecidas estas ecuaciones y las variables que las componen,


procedemos a definir el AG que utilizamos para simular el modelo.
25

Cada reiteracin ser un ao de pesca, de modo que el patrn


pueda cambiar el tamao del barco de un turno para otro. Los
principales procesos del AG se modelizarn:
Seleccin: la asignacin de posibilidades de supervivencia
la realizamos en base al beneficio obtenido:

Reproduccin: con un parmetro de probabilidad de


reproduccin

que tomaremos como

; una

pareja de casos son cortados por un punto arbitrario e


intercambian sus finales.
Mutacin: el valor de cada uno de los diez elementos del
vector que define el tamao del barco puede ser alterado de
forma aleatoria considerando las probabilidades de ser
cambiado:

La interpretacin conductual de estos procesos hace referencia a


tres tipos de aprendizaje distintos: ratios de mutacin altos hacen
referencia a gestiones creativas, mientras que el ratio de reproduccin
nos muestra qu actitud se tiene ante la adopcin de estrategias llevadas
a cabo por otros agentes, a mayor ratio, mayor inters por las
innovaciones introducidas por otros gestores.
Todas las posibles combinaciones de conductas se simularon con
cuatro posibles escenarios, aunque solo comentaremos dos de ellos:
Escenario base: la poblacin mxima iguala al potencial de
captura de los pescadores y es sostenible la mxima captura
posible. Hay diez pescadores.
26

Escenario competitivo: ahora la competencia aumenta con


veinte pescadores en la misma zona y una sostenibilidad de
la especie que limita el total de capturas a la mitad.
En ambos escenarios hacemos

con cambios de

tamao posibles en cualquier iteracin.


El resultado para el escenario base es que el tamao ptimo sera
casi el mximo 9.99 de 10. La convergencia es mayor con gestiones
ms conservadoras (

bajos), pero se alcanza deprisa con cualquier

ratio, excepto con los ms altos, donde el beneficio neto medio cae
apreciablemente.

Las conclusiones es que, para este caso tan favorable, donde


cualquier ratio de capturas es sostenible, todas las conductas alcanzan
un buen nivel de beneficios. Sin embargo, las muy conservadoras se
27

quedan a un 20% del beneficio mximo debido a su gestin del riesgo,


siendo las ligeramente ms abiertas las que ms se aproximan al
ptimo.
En el escenario competitivo las cosas cambian bastante. El
tamao ptimo del barco se queda en 4.6 y el beneficio mximo
individual baja de los 137 um del anterior escenario, a tan slo 98 um.
En muchas de las simulaciones se producen extinciones de la
especie al producir capturas por encima del nivel sostenible y las
prdidas son ahora frecuentes en muchos gestores.
Cuando las innovaciones son bajas, los pescadores no disponen
de la suficiente flexibilidad para reaccionar rpido a una disminucin
de la especie, lo que desencadena quiebras tras un periodo de
sobreexplotacin:

Cuando los gestores son muy conservadores, su gestin del riesgo


les lleva a estrategias de bajo beneficio y subexplotacin del recurso,
estrategia que consigue mantener la especie y a los pescadores:

28

Por ltimo, antes altas tasas de creatividad en la gestin de las


capturas, se producen una sucesin de ciclos econmicos en los que se
alternan los grandes beneficios, acompaados por la sobre-explotacin
del recurso; lo que desemboca en riesgos de extincin y periodos de
prdidas. El proceso se reinicia cuando la especie se recupera y vuelven
a aumentar las capturas:

A partir del anlisis de los distintos escenarios planteados, surge


una importante conclusin: la importancia del ratio de reproduccin
parece ser irrelevante ante el tremendo impacto de los cambios en el
ratio de mutacin7. Esta conclusin puede proceder de la simplificacin
del modelo, donde la existencia de una nica variable de decisin no

A diferencia de los modelos biolgicos, donde la reproduccin tiene un peso mucho ms


grande que la mutacin.

29

lleva a un nico mximo por escenario y caso, en lugar de mltiples


mximos locales que compitiesen entre s.
Este sencillo ejemplo de aplicacin de los AG en economa no
explota todos los recursos de esta poderosa herramienta. Para empezar,
es ingenuo utilizar una nica variable de decisin, para este caso, como
mnimo podramos tener: jornadas de pesca, tamao del barco (ligado a
nmero de empleados), frecuencia de revisin y reparacin del barco, y
muchas ms, que produciran mltiples caminos de llegar a distintos
mximos locales. Ah s se pondra a prueba el potencial de los AG y la
reproduccin y mutacin de estrategias tendran un peso ms
equilibrado.
As mismo, se han simplificado al mximo las variables, siendo
posible incluir muchas ms como el desgaste del barco y las
reparaciones previsibles (modelizadas con una distribucin de
probabilidades), la variable aleatoria del tiempo atmosfrico, incluir en
los costes variables la influencia de las fluctuaciones del precio en el
clculo de los costes variables (incluso de otros precios directamente
relacionados, como los combustibles), as como un milln de variables
ms que complican el modelo y suman exigencia computacional.
Por ltimo, las variables a optimizar no tienen por qu ser
necesariamente econmicas. En el mundo en que vivimos, cada vez
ms concienciado, afortunadamente, de que debemos desarrollar una
explotacin econmica de los recursos naturales sostenible, un valor a
optimizar sera el reemplazo de la especie y su mantenimiento en el
tiempo, as como minimizar el impacto ambiental de la explotacin de
este recurso.

30

4.1.3.

Conclusiones

Los AG son una herramienta con ya un largo recorrido en


economa. El ejemplo propuesto es tan solo un ejemplo acadmico de
aplicacin de los AG en economa, pero que puede ser extrapolable a
problemas reales de gestin sin tener que modificar los conceptos que
subyacen.
Los principales problemas con que se encuentran los AG en
economa son con la modelizacin del entorno en el que se mueve el
agente y las limitaciones que este tiene acerca de la informacin del
mercado, as como los procesos cognitivos y de decisin.
No obstante, estas barreras se van superando y la simulacin del
comportamiento

socio-econmico

con

sistemas

evolutivos

aprendizajes virtuales, como el de los pescadores del ejemplo, son cada


vez mejores. An as, aspectos como la transmisin de la informacin
en los mercados, los procesos internos de decisin, la memoria de las
experiencias anteriores, as como otros muchos aspectos de las
interrelaciones sociales y mentales de los seres humanos; suponen un
vasto campo de investigacin en la simulacin numrica de modelos
econmicos.
El futuro de estos modelos es prometedor y aspiran a ser una
herramienta imprescindible para los decission makers del maana,
tratando de facilitar su trabajo y mejorar as la calidad de vida de todas
las personas.

31

4.2. Algoritmos genticos en


optimizacin del espacio: problema
de la mochila
La gestin del espacio disponible de la forma ms eficiente
posible ha sido siempre un reto para el hombre. Con la llegada de la
revolucin industrial y la instauracin del capitalismo como rgimen
econmico, se convirti en una tarea esencial. A partir de entonces, ya
no se busca tan slo la gestin del espacio disponible, sino su
optimizacin hasta mximos insospechados.
Pensemos en el packaging de grandes multinacionales, como la
archiconocida

empresa

sueca

de

muebles

con

nombres

impronunciables. Este tipo de compaas destinan un gran esfuerzo a la


optimizacin del producto y a la optimizacin de su embalaje. Ante
tiradas de cientos de millones de unidades, hasta el centmetro ms
insignificante puede suponer millones de euros en prdidas.
En este apartado nos limitaremos a un problema introductorio a
esta disciplina, basado en la mejor distribucin de los bultos en una
mochila.

4.2.1.

El problema de la mochila

Un ejemplo de aplicacin de algoritmos genticos en la


optimizacin del espacio, es el arquetpico problema de la mochila. Es
un problema aparentemente sencillo, de planteamiento muy simple,
pero de solucin compleja.
Imagnese hacer una excursin a la que solo podemos llevar una
mochila que, lgicamente, tiene una capacidad limitada. Cada objeto
32

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:
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, pi representa el coste de
escoger un objeto, en tanto en cuanto va a ocupar un
espacio en la mochila que dejar fuera otros objetos.8
bi: utilidad o beneficio que proporciona el objeto i-simo.
C: capacidad de la mochila, equivale al presupuesto
mximo del que disponemos. Tomamos C = 40.
Los valores del ejemplo sencillo que vamos a tratar los recogemos
en la siguiente tabla:

Es lo que en economa se da en llamar coste de oportunidad

33

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 0 en caso contrario.
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 no puede exceder la capacidad de la mochila C.
Podemos expresar esta idea matemticamente como:

Como nuestro problema consiste en optimizar el beneficio que


nos aportarn los objetos de nuestra mochila sin exceder la capacidad,
la funcin a optimizar ser evidentemente el beneficio total que
denotaremos z y que ser la suma de cada elemento por su beneficio
respectivo. Matemticamente:

Representamos a cada individuo con un cromosoma de cinco


alelos, es decir, equivale a tener un vector de cinco puntos, que
representar a cada uno de los individuos, es decir, a cada una de las
combinaciones posibles. Por ejemplo, supongamos que tenemos el
genotipo de la figura siguiente, en el cual nos llevaramos los objetos 1,
3 y 5:

34

La funcin con la que vamos a evaluar, nos da el siguiente


resultado para este individuo:

Luego comprobamos que el individuo no sobrepase la capacidad


de la mochila:

Este individuo no cumple con la restriccin de capacidad, por lo


que es un individuo no factible.
Llegamos pues a la conclusin de que la funcin de evaluacin
no es adecuada, pues tender siempre a valores ms grandes de los que
nos permite la restriccin de espacio. As pues, tenemos que cambiar
nuestra funcin de evaluacin.
Cmo se puede corregir esta tendencia? Podemos penalizar los
elementos no factibles buscando una expresin matemtica adecuada.
La restriccin usada es lineal, por lo que buscaremos una penalizacin
lineal, por ejemplo, tomando el exceso del peso mximo y lo
multiplicamos por un factor k.
Con esta modificacin, la funcin de evaluacin queda:

35

Donde se define de forma condicional la parte nueva de la


funcin:

Donde el tamao de k puede variar en funcin de n. Tambin


habra que estudiar la falta de coherencia 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
otros problemas para la resolucin de nuestro problema.
Ya tenemos definido nuestro problema, lo nico que queda por
hacer es programarlo y definir los criterios con los que se trabajar en
este caso. Como se explic antes, habr que seleccionar un modo de
reproduccin, uno de mutacin, de seleccin, etc. Adems de las
peculiaridades propias de nuestro problema.
Llegados a este punto se acaban todas las dificultades. Gracias a
la enorme potencia de los algoritmos genticos, obtenemos en un
tiempo de computacin ms que razonable un resultado muy bueno.
De nuevo, como se explic antes, el criterio de parada se puede basar
en un determinado nmero de iteraciones mximas, una parada
cuando todos los individuos de la poblacin sean el mismo, etc.

36

4.3. Algoritmos genticos en geometra:


optimizacin de trayectorias de viaje,
caso arquetpico: problema del
Salesman
El problema del viajante (en ingls, Travelling Salesman Problem) es
uno de los problemas ms famosos en el campo de la optimizacin
combinatoria computacional. El enunciado clsico es:
Sean N ciudades de un territorio. El objetivo es encontrar una ruta que,
comenzando y terminando en una ciudad concreta, pase una solo vez por cada
una de las ciudades y minimice la distancia recorrida por el viajante.
Es decir, encontrar una permutacin:

Siendo d [x, y] la distancia entre la ciudad X y la ciudad Y.


El problema del viajante, aunque a priori parece tener una
solucin relativamente sencilla, en la prctica presenta enormes
dificultades.
La solucin ms directa y evidente es la que se consigue
aplicando la fuerza bruta: evaluar todas las posibles combinaciones y
quedarse con la de menor distancia. El problema reside, en el nmero
de posibles combinaciones, que viene dado por el factorial del nmero
de ciudades (N!), esto hace que esta solucin sea impracticable para
valores de N moderados, con la potencia actual de computacin. Por
ejemplo, si un ordenador fuese capaz de calcular la longitud de cada
combinacin en un microsegundo, tardara 3,6 segundos en resolver el

37

problema para diez ciudades, casi dos horas para 13 ciudades y 77147
aos para resolver con slo 20 ciudades.
Por ello, los algoritmos clsicos no son capaces de resolver el
problema

general

sin

demasiadas

simplificaciones.

Obteniendo

soluciones que aunque aceptables, distan mucho de la ptima.


Por otro lado, se encuentran las tcnicas modernas como los
algoritmos genticos, que aunque no encuentran soluciones exactas,
permiten encontrar aproximaciones suficientemente buenas (un 97% de
la optimizacin) y se pueden aplicar a conjuntos de ciudades muy
grandes (millones de nodos) con tiempos de ejecucin razonables.

4.3.1.

Resolucin del problema con AG

Antes de comenzar, queremos recordar que el propsito de este


trabajo no es, ni mucho menos, presentar las soluciones de los
problemas que planteamos, sino estudiar cmo son abordados por la
algoritmia evolutiva y analizar su potencial de resolucin en campos de
aplicacin reales.
Un programa de Algoritmos Genticos capaz de resolver el
problema del Viajante estara constituido por las siguientes partes:
Inicializacin: Se genera la poblacin inicial aleatoriamente.
Esta poblacin estar formada por distintas posibles soluciones
del problema. Es decir, cada individuo ser una ruta que recorra
todas las ciudades sin repetir ninguna, comenzando y acabando
en nuestra ciudad de referencia.
As mismo, cada individuo se presenta como un conjunto
de cromosomas. Los cromosomas utilizados para representar
cada individuo varan segn el programa utilizado. Aunque en
38

la prctica es poco habitual, la manera ms simple de


representar

una

solucin

de

este

problema

mediante

cromosomas, consiste en una simple lista de nodos. Por


ejemplo, si {1, 2, 3, 4, 5} son los nodos de nuestro problema de
5 ciudades. Una posible solucin del problema sera el recorrido:
{1 34 2 5 1}, que se representara como (1, 3, 4, 2,
5). Como el problema no permite pasar dos veces por la misma
ciudad, nuestros individuos deben tener necesariamente todos
los cromosomas distintos.
Evaluacin: A cada uno de los individuaos de esta poblacin se
aplicar la funcin aptitud para saber qu tan buena es la
solucin. Es habitual usar como funcin aptitud la inversa de la
distancia recorrida de tal manera que convertimos nuestro
problema de minimizacin en un problema de maximizacin.
Por tanto, los individuos ms adaptados sern los que hagan
mxima la funcin aptitud. Ntese que ahora slo habr que
calcular la distancia recorrida del nmero de individuos
seleccionados al azar no todos los individuos, como en los
mtodos clsicos.
Seleccin: Despus de conocer la aptitud de cada individuo se
procede a elegir los individuos que sern cruzados en la
siguiente generacin. Los individuos con mayor aptitud (rutas
de menor distancia) tienen mayor probabilidad de ser
seleccionados. Es interesante hacer notar que aunque los
individuos con mejor aptitud tienen ms probabilidades de ser
seleccionados,

eso

no

quiere

decir

que

vayan

ser

seleccionados. Cualquier programa de Algoritmos Genticos


tiene un cierto aspecto de aleatoriedad de tal manera que
39

aunque a la larga se acaben imponiendo los ptimos en una


nica iteracin no tienen por qu imponerse necesariamente.
Cruzamiento: El cruzamiento es el principal operador gentico,
representa la reproduccin sexual, opera sobre dos individuos a
la vez para generar dos descendientes donde se combinan las
caractersticas de ambos cromosomas padres. No todos los
individuos supervivientes a la seleccin sufren cruzamiento
solo

un

determinado

porcentaje

de

ellos,

elegidos

aleatoriamente. En nuestro ejemplo de cinco nodos dos posibles


rutas seran:
(1, 3, 4, 2, 5)
El

operador

aleatoriamente

(1, 2, 4, 5, 3)

cruzamiento

nuestros

ms

individuos

en

habitual
un

cortara

determinado

cromosoma, por ejemplo el segundo, obteniendo:


(1, 3,

4, 2, 5)

(1,2,

4, 5, 3)

Y los combinara entre s:


(1, 3, 4, 5, 3)

(1, 2, 4, 2, 5)

Obteniendo as dos nuevas vas de recorrer las distintas


ciudades.
Mutacin: Modifica al azar parte del cromosoma de algunos
individuos, permitiendo alcanzar zonas del espacio de bsqueda
que no estaban cubiertas por los individuos de la poblacin
actual.
Por ejemplo, si una de las filas generadas aleatoriamente,
que contienen un orden concreto de visita de las ciudades es:
(1, 3, 4, 2, 5)

40

En nuestro ejemplo una mutacin sera cambiar el orden de


dos cromosomas aleatoriamente:
(1, 4, 3, 2, 5)
Lo que en la prctica implica un cambio en el orden de las
ciudades visitadas.
No todos los individuos de la poblacin mutan en cada
iteracin del algoritmo, tan slo un porcentaje de ellos elegido al
azar, pudiendo incrementar a nuestra voluntad la probabilidad de
mutacin de cada individuo, produciendo poblaciones ms
cambiantes o menos.
Llegados a este punto, tras aplicar todos los operadores
genticos, volveramos a comenzar el bucle, realizando la
evaluacin de los distintos caminos obtenidos, seleccionando a
los mejores recorridos y utilizando los operadores de mutacin y
cruzamiento.
Condicin de trmino: El Algoritmo Gentico se debera detener
cuando se alcance la solucin ptima, pero sta evidentemente se
desconoce, por lo que se deben utilizar otros criterios de
detencin. Normalmente se usan dos criterios: correr el AG un
nmero mximo de iteraciones (generaciones) o detenerlo
cuando no haya cambios en la poblacin.

4.3.2.

Conclusiones

En definitiva, los algoritmos genticos permiten encontrar


soluciones aproximada a problemas sin soluciones prcticas como este
problema del vendedor ambulante.
Soluciones, que aunque inexactas, sern en la mayora de las
ocasiones muy prximas a las ptimas. Con este ejemplo, se nos
41

muestra una vez ms las amplias posibilidades de clculo que nos


abren los algoritmos genticos. Posibilidades que han promovido su
rpido avance en todas las ciencias y aplicaciones humanas en los
ltimos aos.
En el campo de las trayectorias y el estudio geomtrico de las
rutas de comercio, el uso de los algoritmos genticos para optimizar los
litros de combustible que empleamos en logstica, permite ahorrar, no
solo miles de millones de euros en transporte, sino, quizs ms
importante a largo plazo, millones de toneladas de contaminantes
emitidos a la atmsfera.

42

5. Conclusiones
Resulta complicado tratar de resumir todo lo que hemos
aprendido durante la realizacin de este informe. Sin embargo, la
leccin ms importante que extraemos de esta redaccin no es lo que
hemos aprendido, sino todo aquello que nos queda por aprender. Todas
las aplicaciones prcticas de los algoritmos evolutivos aplicados a la
optimizacin de procesos, sus distintas modificaciones para adaptarse a
distintos problemas, los cambios que se producen con las variaciones de
los operadores genticos y un milln de temas ms, todos ellos
tremendamente interesantes.
Este informe es una introduccin conceptual a los algoritmos
genticos. Nuestro propsito ha sido el de presentar al lector una visin
general del funcionamiento de esta herramienta de anlisis numrico y
modelizacin, para que pueda comprender el funcionamiento y el
potencial de la misma. Para conseguir este objetivo, hemos explicado
de dnde vienen y cmo son los algoritmos genticos, mostrando
aplicaciones de los mismos en campos muy distantes. Esperamos haber
conseguido despertar el mismo inters por los AG que el que ellos han
generado en nosotros.
Haciendo un balance personal, los tres redactores de este texto
hemos descubierto un mundo nuevo, una metodologa de un potencial
que nos era desconocido hasta la fecha. Nuestra imaginacin se deja
llevar hacia nuevos retos para los AG, ayudada por su genial
concepcin de la optimizacin informtica como una lucha de especies,
y vuela hacia horizontes que esperamos alcanzar algn da.

43

Haciendo un balance ms general, a nivel de carrera, nos apena


la falta de continuidad de una asignatura que, por su aplicacin directa
en numerosos apartados de la ingeniera, consideramos esencial.
Posiblemente la clave no est en crear herederas de esta asignatura, ni
segundas partes, sino en implementar la utilizacin de mtodos de
diferencias y elementos finitos en las distintas materias que se imparten
en el grado. Es una carencia importante y sera una capacidad muy
apreciada en el mercado laboral, ya que no son pocas las empresas
dedicadas a la simulacin y anlisis matemtico en el rea tcnica,
muchas veces formando un departamento o un rea de apoyo en
grandes corporaciones.
La inclusin del uso generalizado de la informtica en las
ingenieras es una exigencia del guin, la mayora de los docentes (y de
los alumnos) coincidiran en este anlisis, como, posiblemente, tambin
coincidiran en el diagnstico de que falta tiempo para que esta
inclusin sea factible.
Volviendo a los AG, estamos convencidos de que su desarrollo,
de la mano del resto de tcnicas de anlisis numrico, facilitar cada da
ms la labor del ingeniero, mdico, economista o socilogo,
permitindole alcanzar metas nunca antes pensadas e impulsndole
hacia objetivos cada vez ms elevados. Todo esto redundar, sin
ninguna duda, en una mejora sensible de la calidad de su trabajo,
siendo en ltima instancia una ganancia social de la que todos los
ciudadanos nos beneficiaremos.

44

La redaccin de este informe ha sido un viaje hacia selvas


vrgenes para nosotros, que nos ha permitido descubrir nuevas especies
de llamativos colores y extraos pelajes, cuyo estudio nos ha llenado de
satisfaccin. As mismo, hemos contado con el apoyo incondicional de
dos personas que consideramos ya compaeros de viaje, si bien nos
llevan muchas millas de ventaja. Hablamos del profesor Francisco
Michavila y de su ponente invitado Rubn Rodrguez Torrado. Gracias
a su apoyo hemos descubierto nuestro amor hacia estas increbles
herramientas.
Hoy queremos recordar con satisfaccin la prediccin cumplida,
realizada por el propio Darwin en las frases finales de su obra El Origen
de las especies:
In the distant future I see open fields for far more important researches.
[] Light will be thrown on the origin of man and his history.

45

6. Bibliografa y material empleado


Enciclopedia de Ciencias: Matemtica numrica
o Vol. Matemticas, 2010
o Saavedra Barrera, Patricia
o Dpto. de Matemticas, Universidad Autnoma
Metropolitana, Itzapalpa, Mxico
Genetic algorithms in Resource economic models, A way to
model bounded rationality in resource explotation?,2007

o Sylvie Geisendorf
o Professor of Environment and Economics
o ESCP Europe Business School Berlin
Practical Genetic Algorithms
o Randy L. Haupt; Sue Ellen Haupt
o Ed: Wiley-Interscience, 2ed, 2004
Wikipedia.org
o El problema de la mochila
o Problema del viajante
o Proceso estocstico
o Genetic Algorithm: Initialization
Optimizacin de problemas dinmicos con algoritmos
genticos, 2004
o Enrique Alba y Juan F. Saucedo
o Dpto de Lenguajes y Ciencias de la Computacin
o E.T.S.I. informticos, Universidad de Mlaga
Social Systems Engineering center:
o Insiorc.org
Problema del viajante, algoritmos genticos
Algoritmos genticos y computacin evolutiva
o Adam Marczyk, 2004
o The-geek.org

46

Potrebbero piacerti anche