Вы находитесь на странице: 1из 19

http://www.sinewton.

org/numeros

ISSN: 1887-1984 Volumen 71, agosto de 2009, pginas 2947

M O N O G

Algoritmos Genticos. Una visin prctica


Beln Melin Batista (Universidad de La Laguna) Jos A. Moreno Prez (Universidad de La Laguna) J. Marcos Moreno Vega (Universidad de La Laguna)
Fecha de recepcin: 7 de septiembre de 2009 Artculo solicitado al autor por la revista

Resumen

Los algoritmos genticos son mtodos de optimizacin inspirados en la teora de la evolucin natural originada a partir de los estudios de Darwin. Existe un soporte matemtico importante sobre su comportamiento y ha conseguido aplicaciones de xito en la mayora de los campos de aplicacin. En este trabajo describimos los fundamentos de los algoritmos genticos, las caractersticas bsicas de los modelos ms simples y los elementos que definen las versiones ms relevantes. Algoritmos Genticos. Optimizacin. Metaheursticas. Evolucin. Aplicaciones.

Palabras clave

F
Genetic algorithms are optimization methods inspired by the natural evolution theory originated from the studies of Darwin. There is an important mathematical support on their performance and they have achieved successful applications in most application fields. In this paper we describe the basics of genetic algorithms, the basic characteristics of the simplest models and the elements that define the relevant versions. Genetic Algorithms. Optimization. Metaheuristics. Evolution. Aplication.

Abstract

I C

Keywords

O:

1. Introduccin
Los Algoritmos Genticos (AG's) son mtodos de optimizacin basados en una simulacin parcial de los mecanismos de la evolucin natural. Estn basados en la teora de la evolucin que surge con las investigaciones de Charles Darwin (Darwin, 1859). Los algoritmos genticos fueron creados en la dcada de los 60's por John Holland (Holland, 1975), como un modelo para el estudio del fenmeno de adaptacin natural y para el desarrollo de mecanismos que permitieran incorporar este fenmeno a los sistemas de cmputo. Los algoritmos genticos alcanzaron popularidad a raz de la publicacin del libro de Goldberg (1989) que pona las bases fuertes para su aplicacin en problemas prcticos. Los algoritmos evolutivos constituyen una parte importante de la Computacin Evolutiva, un rea de la Inteligencia Artificial en constante crecimiento. Actualmente son innumerables las aplicaciones exitosas en las ms diversas reas industriales, comerciales y de la ingeniera (Goldberg y Sastry, 2008).

D A R W I N

Sociedad Canaria Isaac Newton de Profesores de Matemticas

Algoritmos Genticos. Una visin prctica


B. Melin Batista, J.A. Moreno Prez, J.M. Moreno Vega

1.1. Un poco de biologa La evolucin biolgica es el proceso de transformacin continua de las especies a travs de cambios producidos en sucesivas generaciones. Esta evolucin es la que da lugar a la aparicin de nuevas especies pero tambin la que permite su adaptacin a distintos ambientes con cambios en las caractersticas genticas de los individuos. La evolucin biolgica se produce bsicamente por dos procesos: la seleccin de individuos de la poblacin segn sus caractersticas y la alteracin gentica de los cromosomas que almacenan las caractersticas de la especie. La seleccin natural puede ser de dos categoras: la seleccin reproductiva hace que los individuos de ciertas caractersticas tengan mayor probabilidad de intervenir en los procesos de reproduccin y la seleccin ecolgica que hace que los individuos con ciertas caractersticas tengan mayor probabilidad de supervivencia. En ambos casos, las caractersticas que dan mayores probabilidades son las que favorecen la adaptacin al entorno: mayor capacidad para obtener y procesar el alimento, escapar de los depredadores y otros peligros, resistir a las fluctuaciones ambientales, etc. La alteracin gentica de los individuos de una poblacin tiene lugar durante la reproduccin de los individuos, o cuando stos sufren algn tipo de mutacin. En la reproduccin, los individuos intercambian material cromosmico; y en la mutacin, se altera parte de la informacin de los cromosomas. La recombinacin gentica es el proceso mediante el cual la informacin gentica se redistribuye entre dos cromosomas durante los procesos reproductivos y se transmiten a la descendencia. La mutacin es un cambio permanente y transmisible en material gentico de un individuo que se producen espordicamente, muchas veces ligado a los procesos de reproduccin. En la naturaleza, estos procesos ocurren sobre una generacin, y luego sobre su descendencia, y a continuacin sobre la descendencia de sta, y as sucesivamente. Despus de cada ciclo, la generacin actual ser mejor que las anteriores, en el sentido de que los individuos estarn ms evolucionados y ms adaptados al medio. 2.1. Un poco de historia Las tres figuras histricas claves en la aparicin de los algoritmos genticos, aparte de su creador John Hollad son, Darwin, Mendel y De Vries. Charles Robert Darwin. El 27 de diciembre de 1831 zarpa de Davenport (Inglaterra) el Beagle, buque al mando del capitn Fitz-Roy, con varios objetivos cientficos: completar el estudio de las costas de la Patagonia y Tierra del Fuego, realizar la cartografa de las costas de Chile, Per y algunas islas del Pacfico y realizar varias observaciones cronomtricas alrededor del mundo. A bordo viaja el joven naturalista de 22 aos, Charles Robert Darwin (1809-1882). El 6 de enero de 1832 el Beagle fondea frente a las costas de Tenerife. Sin embargo, las autoridades obligan a la tripulacin a permanecer a bordo del buque por miedo a que padezca el clera. La larga travesa del Beagle, que atraca el 2 de octubre en Falmouth, sirve a Darwin para enunciar su teora acerca del origen y evolucin de las especies. Uno de los elementos claves en la teora de Darwin es que la evolucin se debe a la Figura 1. Charles Darwin seleccin natural. Es decir, aquellos individuos ms adaptados al medio tienen mayor probabilidad de sobrevivir y, de esta forma, las caractersticas que les hacen mejores se propagan entre la descendencia. De esta forma, y de manera gradual, surgen las diversas especies.

O:

30

Vol. 71

agosto de 2009

NMEROS

Algoritmos Genticos. Una visin prctica


B. Melin Batista, J.A. Moreno Prez, J.M. Moreno Vega

Gregor Johann Mendel: El monje agustino austriaco Johann Mendel (1822-1884) se interes por los principios que rigen la herencia de caractersticas en las especies. En 1843 se orden sacerdote y diez aos ms tarde fue nombrado profesor suplente de la escuela moderna de Brno, lugar donde pas la mayor parte de su vida. En el jardn del mencionado convento cultiv algunas variedades de guisantes. Escogi algunas caractersticas con alternativas claras. Por ejemplo, semillas redondas o rugosas. Seleccion variedades de guisantes que producan descendencias homogneas para estas caractersticas y estudi sus sucesivas descendencias. De esta forma, pudo enunciar sus leyes acerca de la herencia. Estas muestran en qu proporcin se manifiestan las alternativas de cada caracterstica. Para explicar las proporciones observadas, Figura 2. Gregor Mendel Mendel enunci la hiptesis de que la primera generacin de guisantes contena elementos hereditarios para ambas alternativas del carcter. Sus trabajos pueden considerarse como la base de la gentica. Hugo De Vries: El botnico holands Hugo De Vries (1848-1935) tuvo un papel importante en la difusin de los estudios de Darwin y de Mendel. En 1889 recuper explicaciones propuestas por Darwin relacionados con la herencia gentica. Por otro lado, en 1900, diecisis aos despus de la muerte de Mendel, encontr sus trabajos y dio a conocer sus resultados, aunque en un principio no mencion a Mendel. La contribucin ms importante de De Vries fue la introduccin del concepto de mutacin en la explicacin de la evolucin de las especies. Defendi que las especies no surgan de manera gradual por procesos de seleccin natural, sino a travs de mutaciones de especies conocidas. Si estas mutaciones derivan en caractersticas beneficiosas, las mismas se propagan entre la descendencia. Sin embargo, sus teoras fueron abandonadas cuando se prob matemticamente que las leyes de Mendel de la herencia gentica y la deriva gentica permitan explicar la evolucin de las especies.

M O N O G R F I C O: D

Figura2. 3. HugoMendel De Vries Figura Gregor

John Holland: A John Holland (1929- ) se le reconoce la paternidad de los Algoritmos Genticos. Actualmente es profesor de Inteligencia Artificial de los Departamento de Psicologa y miembro activo del Laboratorio de Inteligencia Artificial del Departamento Ingeniera Elctrica y Ciencias de la Computacin de la Universidad de Mchigan. En 1975 defendi su tesis doctoral Adaptation in Natural and Artificial Systems (Adaptacin en Sistemas Naturales y Artificiales) en la Universidad de Michigan, la primera tesis doctoral en Ciencias de la Computacin en dicha universidad. En ella, se propona por primera vez una clase de mtodos, llamados Algoritmos Genticos, para la resolucin de problemas. La idea que subyace en los algoritmos genticos es que es posible implementar, en un Figura 4. John Holland ordenador, un programa que, guiado por los principios de la herencia y la evolucin de las especies, suministre la solucin de un problema.

A R W I N

Sociedad Canaria Isaac Newton de Profesores de Matemticas

Vol. 71

agosto de 2009

31

Algoritmos Genticos. Una visin prctica


B. Melin Batista, J.A. Moreno Prez, J.M. Moreno Vega

W D A R

Los algoritmos constituyen una de las reas ms prometedoras de La Inteligencia Artificial y se incluye en amplia relacin de tcnicas y mtodos de las Ciencias de la Computacin inspirados en la biologa. En particular, otros mtodos de la resolucin inteligente de problemas de optimizacin inspirados en la naturaleza que han alcanzado xitos notables y un cierto prestigio en el rea son: Las Redes Neuronales, Los Sistemas basados en Colonia de Hormigas, El Recocido Simulado, la Optimizacin por Enjambre, La Computacin de Membranas y la Optimizacin Extrema.

2. Problemas de Optimizacin
Un problema de optimizacin consiste, desde el punto de vista matemtico, en encontrar dnde se alcanza el ptimo de una funcin real. Por ptimo se entiende mximo o mnimo, segn el caso, y se puede transformar uno en el otro por un cambio de signo en la funcin. Este ptimo no tiene por que ser nico y el inters puede estar en encontrar todos los valores de la funcin donde se alcance el ptimo o slo uno de ellos; incluso puede ser suficiente con acercarse a la optimalidad en un alto grado. Formalmente, dada la funcin f: X a minimizar, se trata de encontrar el x* X tal que f(x*) f(x), x X. Se dice que x* es la solucin ptima del problema: min f(x): x X.

O: I C

En el caso ms general los elementos x X tienen varias componentes y el conjunto X es equivalente a un subconjunto de un espacio numrico multidimensional con el que se identifica. En este caso, el conjunto X se describe como el de los puntos de cierto espacio n que verifican ciertas condiciones que se expresan mediante desigualdades e igualdades que, en general, se representan conjuntamente por la condicin g(x) 0 donde g y 0 son multidimensionales. Por tanto el problema se representa formalmente por: min f(x): g(x) 0. Y haciendo explcitas las componentes de x y de g el problema es: min f(x1, x2, , xn): gi(x1, x2, , xn) 0, i = 1, 2, ..., m.

Finalmente, la funcin objetivo f tambin puede ser vectorial lo que da lugar al problema ms general: min f1(x1, x2, , xn), f2(x1, x2, , xn), ..., fk(x1, x2, , xn) sujeto a: gi(x1, x2, , xn) 0, i = 1, 2, ..., m. El trmino Optimizacin Global corresponde al estudio de aquellos problemas donde las variables pueden variar continuamente en un subconjunto de la recta real y se denominan variables continuas. Adems, en optimizacin global el papel de las restricciones se suele reducir a acotaciones en su campo de variacin siendo la complejidad de la funcin objetivo la que juega el papel fundamental. Sin embargo, en los problemas que surgen en aplicaciones prcticas en campos de la ingeniera, la gestin, la tcnica y la ciencia las variables slo pueden tomar valores en un conjunto finito (o a lo sumo numerable). En estos problemas, las restricciones juegan un papel fundamental que hace que las soluciones factibles representen unas combinaciones que pueden ser muy difciles de conseguir, casi tanto como optimizar la funcin objetivo, y constituyen el rea de la Optimizacin Combinatoria. En ste rea las variables suelen tomar valores enteros, y en muchos casos slo los valores 0 y 1.

O
32

Vol. 71

agosto de 2009

NMEROS

Algoritmos Genticos. Una visin prctica


B. Melin Batista, J.A. Moreno Prez, J.M. Moreno Vega

3. Optimizacin con algoritmo gentico


Un algoritmo gentico, desde el punto de vista de la optimizacin, es un mtodo poblacional de bsqueda dirigida basada en probabilidad. Bajo una condicin muy dbil (que el algoritmo mantenga elitismo, es decir, guarde siempre al mejor elemento de la poblacin sin hacerle ningn cambio) se puede demostrar que el algoritmo converge en probabilidad al ptimo. En otras palabras, al aumentar el nmero de iteraciones, la probabilidad de tener el ptimo en la poblacin tiende a 1 (uno). Un algoritmo gentico emula el comportamiento de una poblacin de individuos que representan soluciones y que evoluciona en base a los principios de la evolucin natural: reproduccin mediante operadores genticos y seleccin de los mejores individuos, correspondiendo stos a las mejores soluciones del problema a optimizar. Para aprovechar las ventajas del modelo del proceso evolutivo en la resolucin de un problema de optimizacin, se deben establecer las siguientes correspondencias: 1. Una apropiada codificacin de las posibles soluciones del problema representar a stas de la misma forma que el cromosoma. Representa a los individuos de la especie. Dada esta unvoca relacin, se usarn indistintamente los trminos solucin, codificacin, cromosoma o individuo. 2. La adecuacin de cada solucin ser una medida del comportamiento de sta en el problema particular considerado. Normalmente, es el valor objetivo de la solucin. As, una solucin est ms adecuada a un problema cuanto mejor sea su valor objetivo. 3. Se definirn unos operadores genticos que, al actuar sobre una o varias soluciones, suministren una o ms soluciones al alterar genticamente los cromosomas. Juegan el papel del cruce y la mutacin en el proceso evolutivo natural.

M O N O G R F I C

Poblacin Seleccin

O: D A

Cruce

R W

Mutacin

I N

Figura 5. Esquema de funcionamiento de un algoritmo gentico

Sociedad Canaria Isaac Newton de Profesores de Matemticas

Vol. 71

agosto de 2009

33

Algoritmos Genticos. Una visin prctica


B. Melin Batista, J.A. Moreno Prez, J.M. Moreno Vega

La versin simple o cannica del algoritmo gentico trabaja siguiendo los siguientes pasos: 1. 2. 3. 4. 5. 6. Generar una poblacin inicial de soluciones. Seleccionar, de la poblacin actual, las soluciones mejor adaptadas. Cruzar algunas soluciones para obtener su descendencia. Mutar algunas soluciones para obtener las soluciones mutadas. Elegir las soluciones que sobreviven y formarn la nueva generacin. Si no se alcanza el criterio de parada volver al paso 2.

W R A

Al finalizar los pasos anteriores, la mejor solucin de la poblacin es la que se propone como solucin del problema. 3.1. Un ejemplo Planteemos el siguiente problema de optimizacin: Encontrar el mximo global de la funcin real de una variable f(x) = x2 + 5x +3 sobre el intervalo (0,4) con una precisin de 3 dgitos tras el punto decimal. La funcin f es un polinomio de segundo grado cuyo mximo absoluto se encuentra en x = 2,5 alcanzo un valor de 9,25 como es fcil de comprobar. La forma de esta funcin en el intervalo dado se refleja en la figura siguiente.

O:

9,25

2,5
Figura 6. Grfica de la funcin a optimizar

M
34

Vol. 71

agosto de 2009

NMEROS

Algoritmos Genticos. Una visin prctica


B. Melin Batista, J.A. Moreno Prez, J.M. Moreno Vega

Para representar de forma apropiada las soluciones de este problema usamos la representacin binaria. Representamos cada nmero real del intervalo (0,4) en base 2 con una precisin de 103. Puesto que 4 = 1002 y 0,00000000012 = 210 < 103 ser suficiente con tomar como soluciones posibles del problema a los nmeros reales representados en forma binaria por dos cifras antes de la coma y 10 detrs. Algunos ejemplos se muestran a continuacin.
Cromosoma Nmero real

M O

[ 1 1,1 1 0 0 1 0 1 0 1 0 ] [ 0 1,1 0 0 0 1 1 1 0 1 0 ] [ 0 0,0 0 0 1 1 1 1 0 1 0 ] [ 1 0,0 1 0 1 1 1 0 0 0 0 ] [ 1 0,0 0 0 0 1 1 1 0 1 0 ]

3,791015625 1,546640625 0,119140600 2,359375000 2,056640600

N O G

Tabla 1. Poblacin inicial

El algoritmo gentico empieza con una poblacin de soluciones del problema de un tamao determinado. Una forma sencilla de construir una poblacin inicial de tamao n consiste en generar sus soluciones aleatoriamente. En este caso, se trata de obtener al azar n cadenas binarias de tamao 12. En la tabla siguiente se muestra una de tales poblaciones iniciales con n = 5 individuos. En dicha tabla se recoge la cadena binaria, el nmero real que representa y el valor de dicha cadena.
Cromosoma Nmero real: xi Valor de la funcin: f(xi)

R F

x1 = x2 = x3 = x4 = x5 =

[ 1 1,1 1 0 0 1 0 1 0 1 0 ] [ 0 1,1 0 0 0 1 1 1 0 1 0 ] [ 0 0,0 0 0 1 1 1 1 0 1 0 ] [ 1 0,0 1 0 1 1 1 0 0 0 0 ] [ 1 0,0 0 0 0 1 1 1 0 1 0 ]

x1 = 3,791015625 x2 = 1,546640625 x3 = 0,119140600 x4 = 2,359375000 x5 = 2,056640600

f(x1) = 5,8865 f(x2) = 8,3411 f(x3) = 4,9638 f(x4) = 9,2302 f(x5) = 9,0534

I C O:

Tabla 2. Evaluacin de la poblacin inicial

El mayor valor del objetivo en la poblacin es f(x3) = 9,2302 y el valor promedio es 7,495.

D A R

El siguiente paso ser seleccionar de la poblacin los elementos que van a someterse al cruzamiento y eventualmente a la mutacin. El procedimiento de seleccin debe ser tal que los individuos ms adaptados, es decir, las soluciones, x, con mayor valor de la funcin f(x), tengan mayor probabilidad de ser elegidos. Las probabilidades proporcionales al valor de la funcin se obtienen dividiendo cada f(xi) por la suma de todas ellas; en nuestro ejemplo es 37,475.
Cromosoma Valor de la funcin: f(xi) Probabilidades

x1 = x2 = x3 = x4 = x5 =

[ 1 1,1 1 0 0 1 0 1 0 1 0 ] [ 0 1,1 0 0 0 1 1 1 0 1 0 ] [ 0 0,0 0 0 1 1 1 1 0 1 0 ] [ 1 0,0 1 0 1 1 1 0 0 0 0 ] [ 1 0,0 0 0 0 1 1 1 0 1 0 ]

f(x1) = 5,8865 f(x2) = 8,3411 f(x3) = 4,9638 f(x4) = 9,2302 f(x5) = 9,0534 f(xi) = 37,475

f(x1) / f(xi) = 0,157 f(x2) / f(xi) = 0,223 f(x3) / f(xi) = 0,132 f(x4) / f(xi) = 0,246 f(x5) / f(xi) = 0,241

I N

Tabla 3. Probabilidades de seleccin

Sociedad Canaria Isaac Newton de Profesores de Matemticas

Vol. 71

agosto de 2009

35

Algoritmos Genticos. Una visin prctica


B. Melin Batista, J.A. Moreno Prez, J.M. Moreno Vega

Una de las tcnicas ms usuales para ello es emplear el conocido como mtodo de la rueda de hilar. La idea es construir una rueda de ruleta con sectores proporcionales a estas probabilidades.

100 0 15,7 75,8 38,0 51,2

x1 x2 x3 x4 x5

15.7% 22.3% 13.2% 24.6% 24.1%

Figura 7. Mtodo de la Rueda de la Ruleta

O:

En trminos matemticos se asigna a cada solucin, x, de la poblacin un segmento del intervalo [0,1] proporcional a su probabilidad; es decir al valor relativo de la funcin f:

x1

x2

x3

x4

x5

0
0.157 0.38 0.512 0.758

Figura 8. Mtodo de la Rueda de la Ruleta sobre el intervalo [0,1]

R
Si se obtienen los nmeros aleatorios 0,532 0,776 0,723 0,285 0,846 resultan seleccionados los individuos x4, x5, x4, x2 y x5.
Cromosoma Nmero real: xi Valor de la funcin: f(xi)

x4 = [10,0101110000] x5 = [10,0000111010] x4 = [10,0101110000] x2 = [01,1000111010] x5 = [10,0000111010]

x4 = 2,359375000 x5 = 2,056640600 x4 = 2,359375000 x2 = 1,546640625 x5 = 2,056640600

f(x4) = 9,2302 f(x5) = 9,0534 f(x4) = 9,2302 f(x2) = 8,3411 f(x5) = 9,0534

Tabla 4. Individuos seleccionados de la poblacin

O M

Ntese que al seleccionar con mayor probabilidad los mejores individuos la media de los valores seleccionados es mejor que la media de la poblacin de la que proviene. En este caso, el promedio de los valores de los individuos seleccionados sube hasta 8,58146.

36

Vol. 71

agosto de 2009

NMEROS

Algoritmos Genticos. Una visin prctica


B. Melin Batista, J.A. Moreno Prez, J.M. Moreno Vega

El siguiente paso consiste en obtener parejas de estos individuos para cruzarlos y aplicarles el operador de cruce considerado. Uno de los operadores ms usuales para cadenas binarias consiste en seleccionar al azar una posicin de cruce e intercambiar las subcadenas de la derecha.

[10,01011|10000]

[10,00001|11010]

O N O

[10,01011|11010]

[10,00001|10000]

Figura 9. Cruzamiento unipuntual

Por tanto de los padres x4 = [10,0101110000] y x5 = [10,0000111010] obtenemos los dos hijos [10,0101111010] y [10,0000110000] que si sustituyen a sus padres tenemos una nueva poblacin. Por tanto, de la poblacin inicial
Cromosoma Nmero real: xi Valor de la funcin: f(xi)

x1 = x2 = x3 = x4 = x5 =

[ 1 1,1 1 0 0 1 0 1 0 1 0 ] [ 0 1,1 0 0 0 1 1 1 0 1 0 ] [ 0 0,0 0 0 1 1 1 1 0 1 0 ] [ 1 0,0 1 0 1 1 1 0 0 0 0 ] [ 1 0,0 0 0 0 1 1 1 0 1 0 ]

x1 = 3,791015625 x2 = 1,546640625 x3 = 0,119140600 x4 = 2,359375000 x5 = 2,056640600

f(x1) = 5,8865 f(x2) = 8,3411 f(x3) = 4,9638 f(x4) = 9,2302 f(x5) = 9,0534

I C O:

Tabla 5. Poblacin inicial

con mejor valor 9,2302 y promedio 7,495 pasamos a la poblacin tras el cruzamiento y sustitucin

Cromosoma

Nmero real: xi

Valor de la funcin: f(xi)

x1 = [ 1 1,1 1 0 0 1 0 1 0 1 0 ] x1 = 3,791015625 x2 = [ 0 1,1 0 0 0 1 1 1 0 1 0 ] x2 = 1,546640625 x3 = [ 0 0,0 0 0 1 1 1 1 0 1 0 ] x3 = 0,119140600 x'4 = [ 1 0,0 1 0 1 1 1 1 0 1 0 ] x'4 = 2,369140625 x'5 = [ 1 0,0 0 0 0 1 1 0 0 0 0 ] x'5 = 2,046875000

f(x1) = 5,8865 f(x2) = 8,3411 f(x3) = 4,9638 f(x'4) = 9,2329 f(x'5) = 9,0447

A R W

Tabla 6. Poblacin tras cruzamiento y sustitucin

con mejor valor 9,2329 y promedio 7,483. Pero si los nuevos individuos generados sustituyen a los dos peores de la poblacin obtenemos la poblacin

Sociedad Canaria Isaac Newton de Profesores de Matemticas

Vol. 71

agosto de 2009

37

Algoritmos Genticos. Una visin prctica


B. Melin Batista, J.A. Moreno Prez, J.M. Moreno Vega

Cromosoma

Nmero real: xi

Valor de la funcin: f(xi)

x'4 = [ 1 0,0 1 0 1 1 1 1 0 1 0 ] x2 = [ 0 1,1 0 0 0 1 1 1 0 1 0 ] x'5 = [ 1 0,0 0 0 0 1 1 0 0 0 0 ] x4 = [ 1 0,0 1 0 1 1 1 0 0 0 0 ] x5 = [ 1 0,0 0 0 0 1 1 1 0 1 0 ]

x'4 = 2,369140625 x2 = 1,546640625 x'5 = 2,046875000 x4 = 2,359375000 x5 = 2,056640600

f(x'4) = 9,2329 f(x2) = 8,3411 f(x'5) = 9,0447 f(x4) = 9,2302 f(x5) = 9,0534

Tabla 6. Poblacin tras cruzamiento y sustitucin por los peores

R C O: D A

que tiene promedio 8,98046. Adems del cruzamiento, el otro operador bsico de los algoritmos genticos es la mutacin, que esencialmente modifica al azar algunos de los genes del cromosoma del individuo que muta. Para cadenas binarias la modificacin del gen consiste en intercambiar uno de los posibles valores por el otro; 0 por 1 o 1 por 0. La probabilidad de mutacin, y por tanto la frecuencia con la que se aplica, suele ser muy pequea con respecto al cruzamiento. Para aplicarlo a un individuo concreto, una vez fijada la probabilidad de mutacin, se puede decidir, gen a gen, si muta o no. Otra posibilidad es decidir para cada individuo si muta o no con esa probabilidad, y en caso de mutar un individuo, se elige al azar el gen que muta y se modifica su valor.

[ 1 0,0 1 0 1 1 1 0 0 0 0 ]

[ 1 0,0 1 1 1 1 1 0 0 0 0 ]

Figura 9. Mutacin en el quinto gen

Si en nuestro ejemplo muta el elemento x4 = [10,0101110000] en la posicin 5 se obtiene el nuevo cromosoma x''4 = [10,0111110000] que corresponde a 2,484375 y llega a alcanzar el valor del objetivo 9,2497. De esta forma la poblacin, tras el primer cruzamiento y la primera mutacin queda
Cromosoma Nmero real: xi Valor de la funcin f(xi)

x'4 = [ 1 0,0 1 0 1 1 1 1 0 1 0 ] x'4 = 2,369140625 x2 = [ 0 1,1 0 0 0 1 1 1 0 1 0 ] x2 = 1,546640625 x'5 = [ 1 0,0 0 0 0 1 1 0 0 0 0 ] x'5 = 2,046875000 x''4 = [ 1 0,0 1 1 1 1 1 0 0 0 0 ] x''4 = 2,484375000 x5 = [ 1 0,0 0 0 0 1 1 1 0 1 0 ] x5 = 2,056640600

f(x'4) = 9,2329 f(x2) = 8,3411 f(x'5) = 9,0447 f(x''4) = 9,2497 f(x5) = 9,0534

Tabla 7. Poblacin tras cruzamiento y sustitucin por los peores

O M

En esta situacin se ha concluido el primer ciclo evolutivo y la solucin propuesta es la mejor solucin de la poblacin que se trata de la solucin x* = 2,484375 que corresponde al cromosoma [10,0111110000] y tiene un valor objetivo f(x*) = 9,2497. La solucin aportada est muy cerca de la verdadera solucin optima x* = 2,5 que corresponde al cromosoma [10,1000000000] con un valor objetivo f(x*) = 9,25.

38

Vol. 71

agosto de 2009

NMEROS

Algoritmos Genticos. Una visin prctica


B. Melin Batista, J.A. Moreno Prez, J.M. Moreno Vega

De esta forma se cierra un ciclo evolutivo y se vuelve otra vez a trabajar con la nueva poblacin. Este proceso se itera hasta que se cumpla un criterio de parada.

3.2. La metfora Los algoritmos genticos se pueden utilizar para resolver prcticamente cualquier tipo de problema de optimizacin. Para ello es necesario establecer la correspondencia entre los distintos elementos del problema y las componentes del algoritmo gentico. Esta correspondencia se deriva de la particular interpretacin de la metfora que inspira los algoritmos genticos que viene reflejada en la tabla siguiente.
Evolucin Natural Algoritmo Gentico

O N O

Evolucin Heurstica Ambiente Problema Poblacin Conjunto Individuo Solucin Adaptacin Calidad Cromosoma Representacin Mutacin Movimiento Cruzamiento Combinacin
Tabla 8. Metfora de aplicacin de los algoritmos genticos

G R F I C O: D A R W I N

Una parte fundamental del diseo e implementacin de un algoritmo gentico para resolver un problema consiste en hacer una interpretacin adecuada de esta metfora con los matices pertinentes. El primer paralelismo presente en la metfora se presenta entre la propia evolucin como un proceso natural y el algoritmo gentico como una heurstica que gua el proceso de convertir un conjunto arbitrario de soluciones del problema en uno que contenga la solucin ptima, o una prxima a serlo. El ambiente natural en el que se desarrolla el fenmeno de la evolucin y las caractersticas del problema abordado por el algoritmo gentico representa el conjunto de caracterstica que condiciona la propia evolucin. El objeto de inters es la poblacin de individuos que evoluciona en la naturaleza y los elementos de un conjunto de soluciones que se van actualizando continuamente. Sus miembros se denominan, respectivamente, individuos y soluciones. En ellos se mide o evala la adaptacin al ambiente y su calidad como soluciones del problema para determinar el papel que juegan en la evolucin conjunta y el grado de xito alcanzado. Los cromosomas reflejan la manera de almacenar la informacin necesaria de los individuos para determinar las caractersticas de inters de la misma forma que la representacin de las soluciones determinan las caractersticas que se consideran importantes para el problema. Finalmente, las operaciones que permiten la interaccin entre los individuos o soluciones y los cambios que se producen en ellos son la mutacin o movimiento en el espacio de soluciones y el cruzamiento o combinacin de soluciones. Una vez establecida la interpretacin de la metfora que da lugar al diseo del algoritmo gentico existe una gran variedad de formas de implementar las distintas componentes que lo constituyen. Una de las versiones ms simples, que generalmente se denomina Algoritmo Gentico Cannico, es la descrita en el pseudocdigo siguiente:

Sociedad Canaria Isaac Newton de Profesores de Matemticas

Vol. 71

agosto de 2009

39

Algoritmos Genticos. Una visin prctica


B. Melin Batista, J.A. Moreno Prez, J.M. Moreno Vega

Procedure Algoritmo Gentico Begin t 0 ; Inicializar P(t) ; Evaluar P(t) ; Repeat Seleccionar P(t+1) desde P(t) ; Operar P(t+1) ; Evaluar P(t+1) ; t t + 1 ; Until Criterio_de_Parada ; End ;
Figura 10. Pseudocdigo de un algoritmo gentico estndar

D O:

El algoritmo gentico cannico sigue el esquema:

Poblacin

Seleccin

Padres y Mutantes

Operadores Genticos: Cruce y Mutacin


Nuevos Individuos Reemplazamiento

Figura 11. Esquema de funcionamiento de un algoritmo gentico estndar

N O M

3.3 Variantes fundamentales Las diferentes versiones de los algoritmos genticos surgen al especificar los distintos detalles de las componentes de un algoritmo gentico. Dos elementos importantes comunes a la mayora de los algoritmos genticos son el tamao de la poblacin y el criterio de parada. El tamao de la poblacin suele ser de varios cientos o miles de individuos y su eleccin se realiza a partir de la propia experiencia tratando de buscar un equilibrio entre el esfuerzo de cmputo y la capacidad de barrer completamente el espacio de bsqueda. El criterio de parada puede ser cualquiera de los comnmente utilizados en los mtodos de bsqueda heurstica referidos al esfuerzo de cmputo o al estancamiento de la bsqueda. El esfuerzo de cmputo se puede medir a travs del

40

Vol. 71

agosto de 2009

NMEROS

Algoritmos Genticos. Una visin prctica


B. Melin Batista, J.A. Moreno Prez, J.M. Moreno Vega

tiempo de CPU o nmero de operaciones bsicas aplicadas (como por ejemplo, nmero de cruzamientos), aunque lo ms corriente es limitar el nmero de generaciones o ciclos evolutivos que se ejecutan. El tamao de la poblacin y el nmero de generaciones dan lugar al nmero total de individuos que se evalan y su combinacin se utiliza para establecer comparaciones experimentales en el rendimiento de distintas estrategias implementadas. El estancamiento de la poblacin, en el sentido de que no mejora la evaluacin media o la mejor solucin aportada, en un cierto nmero de etapas es un criterio de parada razonable porque indica claramente que esfuerzos adicionales no producirn mejoras apreciables. Sin embargo, los algoritmos genticos tienen el riesgo de estancarse antes de alcanzar soluciones de alta calidad produciendo una convergencia prematura, por lo que se dotan de instrumentos para evitarlo, frecuentemente basados en el control de la diversidad de la poblacin. Esta diversidad se mide generalmente en trminos de los valores promedio o mejor de la funcin objetivo en la poblacin, aunque algunas propuestas ms avanzadas tienen en cuenta otros aspectos de diferenciacin entre sus individuos. Existen dos tipos de modelos clsicos Modelo Generacional: En cada iteracin, a partir de la poblacin existente se genera una poblacin completa de nuevos individuos con los operadores genticos. La nueva poblacin reemplaza a la anterior. Modelo Estacionario: En cada iteracin, se seleccionan dos padres de la poblacin y se les aplican los operadores genticos obteniendo dos hijos (posiblemente mutados). Los nuevos individuos reemplazan a sus padres.

M O N O G R F I

Modelo Generacional:

reemplazan o compiten con la poblacin anterior

O:

I1 I2 P son copias de I k k In

P1 P2 Pn

H1 con probabilidad pc H2 con probabilidad pm Hn

M1 M2 Mn

D A

Modelo Estacionario:
reemplazan o compiten con sus padres

R W

I1 I2 In

dos padres

P1 P2

siempre

H1 H2

con probabilidad

M1 M2

I N

Figura 12. Modelos generacional y estacional de un algoritmo gentico

Sociedad Canaria Isaac Newton de Profesores de Matemticas

Vol. 71

agosto de 2009

41

Algoritmos Genticos. Una visin prctica


B. Melin Batista, J.A. Moreno Prez, J.M. Moreno Vega

El elitismo persigue que se mantengan en la poblacin los mejores individuos que slo pueden ser reemplazados si aparece un individuo mejor.

N I W O: F R I C D A R

La competicin utiliza una comparacin entre los nuevos individuos y los existentes para establecer cul permanece en la poblacin y cul desaparece. El mejor reemplaza siempre al peor o con una probabilidad menor que 1, pero mayor que 1/2; regulando la presin selectiva. Codificacin. Tradicionalmente, y debido a las primeras aplicaciones de los algoritmos genticos para resolver problemas con variables numricas continuas, se ha usado como tcnica de codificacin la binaria (las variables reales se representan con cadenas binarias de ceros y unos). Sobre las cadenas se han definido de forma sencilla multitud de operadores. Esta sencillez de definicin, y el hecho de que casi la totalidad del estudio terico sobre el comportamiento del algoritmo se haya basado en esta codificacin, ha motivado que muchos investigadores usen la codificacin binaria para representar las soluciones de sus problemas. Sin embargo, en muchos problemas no es fcil codificar las soluciones a travs de cadenas binarias; o no es lo ms eficiente y eficaz. Adems si el problema tiene restricciones en las variables, puede ser complicado trabajar con operadores genticos que puedan dar lugar a soluciones no factibles. Para representar variables reales acotadas, se utiliza la siguiente tcnica. Si queremos utilizar una variable x con precisin y rango de variacin [a,b] hay que usar una cadena binaria con tamao c = 1 + log2 (ba) / . La cadena que representa al valor v ser la expresin en base 2 del nmero x = 2c (v a)/(b a). Recprocamente, el valor v correspondiente a una cadena binaria que en base 2 corresponda al nmero x es v = a + x2c (b a). Por ejemplo, si queremos representar una variable x en el intervalo [1,3] con una precisin de = 106 necesitamos una cadena de tamao c = 20. As, por ejemplo, la cadena binaria [100101110000111100101], es la expresin del nmero 1237477 en base 2 que corresponde al valor v = 1 + 1237477 (3 1) 220 = 2,180150. Operadores de cruce. Algunos de los operadores bsicos ms usuales son los siguientes. Cruce unipuntual: se selecciona al azar una posicin de cruce y se intercambian las subcadenas situadas a la derecha de esta posicin. Padres Hijos

[ 1 0 0 1 0 1 1|1 0 0 0 0 ] [ 1 0 0 1 0 1 1|1 1 0 1 0 ] [ 0 1 1 0 0 0 1|1 1 0 1 0 ] [ 0 1 1 0 0 0 1|1 0 0 0 0 ]


Tabla 9. Operador de Cruce unipuntual

Cruce bi-puntual: se selecciona al azar dos posiciones de cruce y se intercambian las subcadenas situadas entre dichas posiciones Padres Hijos

[ 1 0 0 1|0 1 1 1 0|0 0 0 ] [ 1 0 0 1|0 0 1 1 1|0 0 0 ] [ 0 1 1 0|0 0 1 1 1|0 1 0 ] [ 0 1 1 0|0 1 1 1 0|0 1 0 ]


Tabla 11. Operador de Cruce bi-puntual

42

Vol. 71

agosto de 2009

NMEROS

Algoritmos Genticos. Una visin prctica


B. Melin Batista, J.A. Moreno Prez, J.M. Moreno Vega

Cruce aleatorio: se decide al azar si se intercambia o no cada elemento de las subcadenas. Padres Hijos

[100101110000] [101101111000] [011000111010] [010000110010] Esquemas de seleccin.

O N O

Para elegir los 2p padres, p parejas, con los que realizar los cruzamientos se puede aplicar, entre otras, una de las siguientes frmulas: Por Torneo: Se eligen k al azar y de ellos se toma el mejor; se repite 2p veces como haga falta. Orden lineal: Se ordenan de mejor a peor y se escogen los 2p mejores. Aleatoria pura: Se escogen totalmente al azar 2p individuos. Procedimiento de la ruleta: se asignan probabilidades y se eligen 2p padres de acuerdo a ellas. Diverso/aleatorio: Se escoge p veces un padre al azar que se empareja con el individuo ms diferente a l. Diverso/elitista: Se escogen los p mejores y cada uno de ellos se empareja con el individuo ms diferente a l.

G R F

Adems, se pueden combinar varios de estos mtodos, lo que es bastante corriente en aplicaciones prcticas exitosas. Modelos con probabilidades uniformes. Para el estudio de las propiedades tericas del comportamiento de los algoritmos genticos hay que acudir a modelos simplificados, como el algoritmo gentico con probabilidades uniformes. En esta versin del algoritmo gentico, se considera un slo operador cruce y uno de mutacin, organizando la afliccin de los operadores genticos a los elementos seleccionados de la poblacin en una fase de cruce y seguida de una de mutacin. En la fase de cruce, para cada individuo seleccionado de la poblacin, se decide, con una probabilidad pc, si sta se toma como padre de un cruce. A continuacin se aparean aleatoriamente las codificaciones seleccionadas y se aplica el operador cruce a cada una de estas parejas. Las dos codificaciones hijas resultantes reemplazan a sus padres. Durante la fase de mutacin, para cada codificacin seleccionada de la poblacin, y para cada uno de los smbolos que la forman, se decide con una probabilidad dada, pm, si ste se altera o no. Las codificaciones mutadas ocupan el lugar de aquellas de las que provienen. 3.4. Algoritmo Gentico para problemas combinatorios La codificacin binaria de variables de cualquier tipo permite tericamente aplicar un algoritmo gentico a cualquier problema. De hecho, la forma en que se almacenan los datos a bajo nivel en el ordenador son siempre cadenas de ceros y unos. Sin embargo, existen otras alternativas ms especializadas de la codificacin adoptada y del diseo e implementacin de los diferentes operadores que son esenciales en el xito prctico de algoritmos genticos a problemas reales. Para mostrar algunas de las cuestiones especficas de la aplicacin de algoritmos genticos a problemas combinatorios escogemos un tipo importante de problema de optimizacin combinatoria: los problemas de seleccin. Estos problemas combinatorios con aplicaciones relevantes en clasificacin y en bioinformtica, son los consistentes en seleccionar de forma ptima un nmero fijo p de elementos de un universo de n miembros. En particular consideramos el problema de la p-mediana, un problema

I C O: D A R W I N

Sociedad Canaria Isaac Newton de Profesores de Matemticas

Vol. 71

agosto de 2009

43

Algoritmos Genticos. Una visin prctica


B. Melin Batista, J.A. Moreno Prez, J.M. Moreno Vega

I W

muy estudiado en la literatura y con importantes aplicaciones en planificacin logstica que permite ilustrar cmo utilizar algoritmos genticos para resolver problemas combinatorios. Una bibliografa actualizada sobre este problema puede verse en Reese (2006) y sobre la aplicacin de metaheurstica en Mladenovi et al. (2007); en particular, sobre la aplicacin de algoritmos genticos Alp et a. (2003). Vamos a describir los elementos para disear un Algoritmo Gentico para estos problemas: Codificacin, Seleccin, Cruzamaniento, Mutacin, El problema de la p-mediana se formula en los siguientes trminos: Dado un conjunto finito U de m puntos de demanda y un conjunto L de n puntos de localizacin, se desean seleccionar p de estos puntos, llamadas medianas que hagan mnima la suma de las distancias a los puntos de U.

min min Dist (u , x)


| X |= p x X X L uU

A D

El problema de la p-mediana pertenece a una importante clase de problemas de localizacin que cuenta en general con los siguientes elementos: Un conjunto de localizaciones potenciales: L = { v1 , v2 , ... , vm }. Un conjunto de usuarios del servicio. U = { u1 , u2 , ... , un }. Una funcin f(X) a minimizar definidas para cualquier X L con |X| = p. La funcin f se define a partir de las distancias usuario-localizacin: Dist: U L R

O:

I F

Entre estos problemas, los ms comunes son los de asignacin directa donde cada usuario se asigna al punto de localizacin seleccionado ms cercano y la funcin objetivo de un conjunto de localizaciones X se expresa en trminos de las distancias: Dist(ui ,X) = min {Dist(ui ,vj ) : vj X } f(X) Algunos problemas clsicos de este tipo son la p-mediana, el p-centro y el -centdian.

M
44

Vol. 71

agosto de 2009

NMEROS

Algoritmos Genticos. Una visin prctica


B. Melin Batista, J.A. Moreno Prez, J.M. Moreno Vega

Codificacin binaria. Dado que el conjunto de posibles selecciones es finito, se supone ordenado o indexado, y cada solucin del problema se representa por una n-upla binaria con p unos; un 1 en la i-sima posicin indica que el i-simo item est en la solucin. Las principales ventajas de esta codificacin son que pueden utilizarse los operadores genticos empleados por el algoritmo gentico clsico. Los inconvenientes son que esos operadores suministran, en general, soluciones no factibles, y que las np posiciones en las que aparece un cero no aportan informacin adicional y, sin embargo, ocupan memoria. Para subsanar el primero de los inconvenientes se puede penalizar la funcin objetivo con la desviacin entre el valor de p y el de unos en la solucin. Ejemplo: Si hay n = 7 items y se eligen p = 4 de ellos para cada solucin, algunos ejemplos de codificaciones de soluciones son: [1 0 1 0 0 1 1], [1 0 0 0 1 1 1], [1 1 1 1 0 0 0], Codificacin indexal. Otra codificacin es la p-upla ordenada de los ndices de los items seleccionados. La ordenacin se utiliza para asegurar que en las mismas circunstancias, el operador cruce, que se define a continuacin, suministra las mismas soluciones hijas. Se llama a esta codificacin, indexal. Ejemplo: Si el nmero de items posibles es n = 7 y se pretenden localizar p = 5 servicios, la solucin [1 0 1 0 1 1 1] se codifica como [1 3 5 6 7]. La codificacin indexal ha mostrado un mayor rendimiento que la codificacin binaria en algunos problemas prcticos. Cruce indexal.

M O N O G R F I C O: D A R W I

El operador de cruce indexal intercambia los ndices a la derecha de la posicin de cruce. Esta operacin se disea de forma que cada vez que acte sobre dos codificaciones padres con el mismo punto de cruce, d lugar a las mismas codificaciones hijas, y asegurando que las codificaciones resultantes sean factibles. Lo primero se consigue utilizando una ordenacin de los ndices, y lo segundo marcando aquellos ndices que necesariamente deben pasar de una codificacin a otra para que se cumpla el requerimiento de factibilidad. El cruce se implementa eligiendo al azar una de las p1 posiciones de ruptura. Las posiciones situadas a la derecha de sta, son las posiciones de cruce. El operador de cruce indexal mantiene, en cada una de las codificaciones hijas, los ndices de los respectivos padres situados a la izquierda de la posicin de cruce. En efecto, debido a las ordenaciones usadas para codificar las soluciones y aplicar el cruce, los ndices marcados ocupan la misma posicin en cada una de las soluciones. Si un ndice a la izquierda de la posicin de cruce no es marcado, no altera su posicin dentro de la solucin y no abandona sta durante el intercambio de ndices. Si ese ndice es marcado pueden ocurrir dos cosas: 1) tras las ordenaciones correspondientes, dicho ndice mantiene su posicin a la izquierda del punto de cruce, o 2) altera su posicin situndose a la derecha de dicho punto.

En ambos casos, tras el cruce, forma parte de la nueva solucin.

Sociedad Canaria Isaac Newton de Profesores de Matemticas

Vol. 71

agosto de 2009

45

Algoritmos Genticos. Una visin prctica


B. Melin Batista, J.A. Moreno Prez, J.M. Moreno Vega

El procedimiento para implementar el cruce indexal es el siguiente. Para cada una de las codificaciones de la pareja desarrollar los siguientes pasos:

Marcar los ndices que aparezcan en las posiciones de cruce de la codificacin enfrentada; Marcar los ndices de las posiciones de cruce que estn presentes en la otra codificacin; Colocar en las primeras posiciones, y en orden creciente, los ndices no marcados; colocar en las ltimas posiciones, y en orden creciente, los ndices marcados; Intercambiar los ndices de las posiciones de cruce; Eliminar las marcas y ordenar las codificaciones resultantes.

R D A

Ejemplo: Supongamos que las codificaciones padres son: [1 3 8 9 10] y [7 9 10 11 15]. Si la posicin de cruce es 2, las marcas son las siguientes: [1 3 8 9* 10*] y [7 9* 10* 11 15]. Tras ordenar los ndices no marcados quedan las secuencias: [1 3 8 9* 10*] y [7 11 15 9* 10*]. Aplicando la operacin de cruce resultan: [1 3 15 9 10] y [7 11 8 9 10], que una vez ordenadas dan lugar a las codificaciones hijas: [1 3 9 10 15] y [7 8 9 10 11]. La mutacin indexal se define de forma anloga a la considerada para cadenas binarias, esto es, cambia el ndice a mutar por otro no presente en la solucin. Ejemplo: Si la solucin actual es [1 3 8 9 10] y el ndice a mutar es el 3, una de las soluciones resultantes puede ser [1 5 8 9 10].

C I O O M N G R F

O:
46

4. Conclusiones
Los algoritmos genticos constituyen una de los instrumentos ms relevantes de las tcnicas de Inteligencia Artificial inspiradas en la naturaleza. Su inters terico y prctico est sustentado en estudios e investigaciones ampliamente difundidas en publicaciones de alto prestigio. Desde el punto de vista terico muestran cmo la naturaleza proporciona modelos sencillos que permiten dar solucin a problemas importantes en la sociedad actual. Desde el punto de vista prctico revelan cmo obtener fcilmente algoritmos eficientes que tengan xito en importantes aplicaciones prcticas. En este trabajo mostramos como se aplican los fundamentos de los algoritmos genticos, tanto para los problemas de optimizacin global para los que originalmente fueron concebidos, como para los problemas combinatorios que con cada vez mayor relevancia prctica aparecen en contexto actuales de la ciencia, la ingeniera, la gestin o la actividad empresarial e industrial.

Bibliografa
Alp, O., Erkut, E., Drezner, Z. (2003). An Efficient Genetic Algorithm for the p-Median Problem. Annals of Operations Research, 122 (1-4), 21-42. Darwin, C. (1859). On the Origin of Species by Means of Natural Selection. Murray, Londres. Goldberg, D., Sastry, K. (2008) Genetic Algorithms. The Design of Innovation. Springer, Berln. Goldberg, D.E. (1989). Genetic Algorithms in Search, Optimization and Machine Learning. AddisonWesley, Reading, MA.

Vol. 71

agosto de 2009

NMEROS

Algoritmos Genticos. Una visin prctica


B. Melin Batista, J.A. Moreno Prez, J.M. Moreno Vega

Mladenovi, N., Brimberg, J., Hansen, P., Moreno-Prez J.A. (2007). The p-median problem: A survey of metaheuristic approaches. European Journal of Operational Research, 179(3), 927-939.

M O

Reese, J. (2006). Solution methods for the p-median problem: An annotated bibliography. Networks, 48 (3), 125-142.
Beln Melin Batista, Departamento de Estadstica, I.O. y Computacin, Universidad de La Laguna, 38271 La Laguna. Naci el 11 de julio de 1976 en Arucas, Las Palmas de Gran Canaria. Es Doctora en Informtica y Profesora Titular de la Universidad de La Laguna. Ha sido miembro del comit de programa, comit organizador y revisora de varios congresos de Inteligencia Artificial y Heursticas para la resolucin de problemas. Es coautora de artculos de investigacin publicados en revistas internacionales como IEEE Transactions on Fuzzy Systems, Journal of Heuristics, European Journal of Operational Research, Networks, Computers and Operations Research, Parallel Computing, actuando como editora invitada en algunas de ellas. Jos Andrs Moreno Prez, Departamento de Estadstica, I.O. y Computacin, Universidad de La Laguna, 38271 La Laguna. Naci el 14 de mayo de 1958 en La Laguna, Tenerife. Licenciado en Matemticas en 1980 por la Universidad Complutense de Madrid, con el mejor expediente de su promocin tanto en la especialidad de Estadstica como en la de Investigacin Operativa, y doctor en Matemticas por la misma universidad con premio extraordinario de doctorado. Ha sido profesor de la Universidad Complutense hasta 1986 y en la actualidad catedrtico de Ciencias de la Computacin e Inteligencia Artificial. Es coautor de ms de 50 artculos de investigacin publicados en revistas internacionales especializadas en heursticas y actuado como editor invitado en varias de ellas. Jos Marcos Moreno Vega, Departamento de Estadstica, I.O. y Computacin, Universidad de La Laguna, 38271 La Laguna. Naci el 31 de julio de 1967 en Gldar, Las Palmas de Gran Canaria. Es Doctor en Informtica y Profesor Titular de la Universidad de La Laguna. Ha sido miembro del comit de programa, comit organizador y revisor de varios congresos de Inteligencia Artificial y Heursticas para la resolucin de problemas. Ha liderado diversos proyectos de investigacin dedicados al estudio de tcnicas heursticas en la resolucin de problemas de optimizacin. Es coautor de artculos de investigacin publicados en revistas internacionales como Studies in Locational Anlisis, European Journal of Operational Research, Journal of Heuristics, Fuzzy Sets and Systems, BMC Bioinformatics y Parallel Computing, actuando como editor invitado en algunas de ellas.

N O G R F I C O: D A R W I N

Sociedad Canaria Isaac Newton de Profesores de Matemticas

Vol. 71

agosto de 2009

47

Вам также может понравиться