You are on page 1of 9

INTRODUCCION A LOS ALGORITMOS MEMETICOS

Yecid Yahuita Ponce



Universidad Mayor de San Andres
Carrera de Informtica
La Paz, Bolivia



Resumen

Los algoritmos memticos (MA) son tcnicas de optimizacin que combinan sinrgicamente conceptos tomados
de otras metaheursticas, tales como la bsqueda basada en poblaciones (como en los algoritmos evolutivos), y
la mejora local (como en las tcnicas de seguimiento del gradiente). En este trabajo se muestra la anatoma
general de un MA, y se proporcionan pautas para el diseo de los mismos. Asimismo, se muestra una
panormica general del amplio abanico de aplicaciones que tienen estas tcnicas. El trabajo concluye
bosquejando algunos de los aspectos de mayor inters actual en el desarrollo del rea.

1. Introduccin


Los orgenes de los algoritmos memticos (MA) se
remontan a tales de los aos ochenta a pesar de que
algunos trabajos en dcadas anteriores tambin
tienen similares caractersticas. En aquella poca, el
campo de la computacin evolutiva estaba
comenzando a avanzarse slidamente, una vez que
el choque conceptual que haba causado la
introduccin de estas tcnicas al mundo de la
optimizacin se iba atenuando. Otro tanto caba decir
de tcnicas relacionadas como podan ser el recocido
simulado (SA) o la bsqueda tab (TS). En general,
estas tcnicas hacan uso de heursticas
subordinadas para llevar a cabo el proceso de
optimizacin, motivo por el cual se acuno el trmino
`metaheursticas' para denominarlas (vase el primer
artculo de esta monografa).

Fue en este escenario en el que surgi la idea
bsica que sustenta a los MA: combinar conceptos
y estrategias de diferentes metaheursticas


para intentar aunar las ventajas de las mismas. La
denominacin `mimtico' surge del trmino ingls
`meme' , acunado por R. Dawkins como el anlogo
del gen en el contexto de la evolucin cultural. La
siguiente cita [36] (nuestra traduccin) ilustra el
concepto:

\Ejemplos de `memes' son melodas,
ideas, frases hechas, modas en la
vestimenta, formas de hacer vasijas, o
de construir bvedas. Del mismo
modo que los genes se propagan en
el acervo gentico a travs de
gametos, los `memes' se propagan en
el acervo memtico saltando de
cerebro a cerebro en un proceso que,
en un amplio sentido, puede
denominarse imitacin."

Tras esta definicin tan provocadora subyace la
idea central de los MA: mejoras individuales de las
soluciones en cada uno de los agentes junto con
procesos de cooperacin y competiciones

1


de tipo poblacional. En un claro caso de
resonancia histrica, los MA
1
tuvieron los mismos
difciles comienzos que los clsicos algoritmos
evolutivos (EA) y como estos, han conseguido
vencer las reticencias iniciales a su uso, hasta el
punto de haberse convertido hoy en da en un
modelo de optimizacin puntero, con inanidad de
aplicaciones prcticas. La Seccin 4 dar una
breve panormica de las mismas. Previamente, se
ver una definicin un tanto mas precisa de qu
es lo que se entiende por MA. Tal como se
mostrar en la Seccin 2 a travs de una plantilla
algortmica general, un MA puede ser visto como
una estrategia de bsqueda en la que un conjunto
de agentes optimizadores cooperan y compiten
[99].

Tras presentar la plantilla algortmica
anteriormente mencionada, se proceder a discutir
cmo esta puede ser instanciada para abordar
problemas de optimizacin concretos. En este
sentido, se ver como un MA intenta explotar todo
el conocimiento que sobre dichos problemas de
optimizacin se tenga. Esta filosofa de
funcionamiento est muy en la lnea de lo que L.
Davis defenda ya a principios de los 90 [35], y que
posteriormente vino a ser confirmado por
resultados tericos bien conocidos, como por
ejemplo el Teorema de \No Free Lunch" (NFL) de
Wolpert y Macready [136].

Esta explotacin del conocimiento sensible que
sobre el problema de optimizacin se tiene puede
llevarse a cabo de diferentes formas, erg., usando
heursticas preexistentes, representaciones ad
hoc, etc. Estos aspectos sern tratados en la
Seccin 3. Finalizaremos este trabajo con una
breve resea de algunas de las lneas de
investigacin mas interesantes que en la
actualidad estn abiertas en el campo de los MA.



2. Anatoma de un MA

Los MA combinan conceptos de diferentes
metaheursticas tal como se adelant anterior-
mente. En particular, la relacin de estas tcnicas
con los EA resulta especialmente significativa, al
menos desde lo que se podra denominar un punto
de vista sintctico. Esto es fundaren

1
Los trminos EA hbrido, y EA Lamarckiano se usan
tambin frecuentemente para referirse a estas tcnicas


talmente debido a la naturaleza poblacional de
los MA, y por este motivo comenzaremos la
descripcin de estas tcnicas abordando los
aspectos heredados de los EA.

Un MA mantiene en todo momento una poblacin
de diversas soluciones al problema considerado.
Llamaremos agente a cada una de las mismas.
Esta denominacin es una extensin del trmino
individuo tan comnmente empleado en el
contexto de los EA, y permite capturar elementos
distintivos de los MA que se mostraran ms
adelante (por ejemplo, un agente puede contener
ms de una solucin al problema considerado [6]).
Estos agentes se interrelacionan entre s en un
marco de competicin y de cooperacin, de
manera muy semejante a lo que ocurre en la
Naturaleza entre los individuos de una misma
especie (los seres humanos, sin ir ms lejos).
Cuando consideramos la poblacin de agentes en
su conjunto, esta interaccin puede ser
estructurada en una sucesin de grandes pasos
temporales denominados generaciones. La Figura
1 muestra el esquema de una de estas
generaciones.

PROC Paso-Generacional
(#" pob : Agente[ ], # ops : Operador[ ])
Variables
criadores; nueva pob : Agente[ ];
Inicio
criadores Seleccionar(pob);
nueva pob Reproducir(criadores, ops);
pob Actualizar (pob, nueva pob)
Fin

Figura 1: Esquema de una generacin. En
esta figura y en todas las posteriores, los
parmetros de entrada y entrada/salida se
marcan respectivamente con # y #".

Tal como se muestra, cada generacin consiste en la
actualizacin de la poblacin de agentes, usando
para tal fin una nueva poblacin obtenida mediante la
recombinacin de las caractersticas de algunos
agentes seleccionados. Precisamente, este
componente de seleccin es, junto con el paso final
de actualizacin, el responsable de forzar la
competicin entre agentes. Ms concretamente, la
seleccin se encarga de elegir una muestra de los
mejores agentes con-tenidos en la poblacin actual.
Esto se realiza mediante el empleo de una funcin
gua F
g
encargada de cuantificar cun bueno es cada
uno de los agentes en la resolucin del problema


FUNC Reproducir
(# pob : Agente[ ]; # ops : Operador[ ]) ! !
Agente[ ]
Variables
buf : Agente[ ][ ]; j
: N;
Inicio
buf[0] pob;
PARA j 1:jopsj HACER
buf[j] Aplicar (ops[j], buf[j 1]);
FINPARA; DEVOLVER
buf[jopsj]
Fin

Figura 2: Generacion de la nueva poblacin.




abordado. Por su parte, el reemplazo o
actualizacin incide en el aspecto competitivo, en-
cargndose de la importante tarea de limitar el
tamao de la poblacin, esto es, eliminar algunos
agentes para permitir la entrada de otros nuevos y
as enfocar la tarea de bsqueda. En este proceso
tambin puede emplearse la informacin
proporcionada por la funcin gua para seleccionar
los agentes que se eliminarn.

Tanto la seleccin como el reemplazo son
procesos puramente competitivos en los que
nicamente vara la distribucin de agentes
existentes, esto es, no se crean nuevos agentes.
Esto es responsabilidad de la fase de
reproduccin. Dicha reproduccin tiene lugar
mediante la aplicacin de cierto nmero de
operadores re-productivos tal como se muestra en
la Figura 2. Como puede apreciarse, es posible
emplear un nmero variado de operadores. No
obstante, lo ms tpico es emplear nicamente dos
operadores: recombinacin y mutacin. El primero
es el responsable de llevar a cabo los procesos de
cooperacin entre agentes (usual-mente dos,
aunque es posible considerar grupos ms grandes
[41]). Dicha cooperacin tiene lugar mediante la
construccin de nuevos agentes empleando
informacin extrada del grupo de agentes
recombinados, y quizs alguna informacin
externa (si bien esto ltimo suele ser en ocasiones
algo que se intenta evitar, erg., ver [77]).
Precisamente, la inclusin de informacin externa
no contenida en ninguno de los agentes
involucrados es responsabilidad del operador de
mutacin. Bsicamente, este tipo de operador
generara un nuevo agente mediante la
modocacin parcial de un agente existente.


PROC Optimizador-Local
(#" actual : Agente, # op : Operador)
Variables
nuevo : Agente
Inicio
REPETIR
nuevo Aplicar (op, actual);
SI (Fg(nuevo) F Fg(actual)) ENTONCES
actual nuevo;
FINSI
HASTA QUE Terminacion-Local();
DEVOLVER actual;
Fin

Figura 3: Esquema de un optimizador local


En relacin con los operadores de mutacin, es
posible definir un meta-operador basado en la
aplicacin iterativa de un operador de mutacin
arbitrario sobre un agente. El empleo de estos
metaoperadores es uno de los rasgos ms
distintivos de los MA. Concretamente, dichos
meta-operadores iteran la aplicacin del operador
de mutacin, conservando los cambios que llevan
a una mejora en la bondad del agente, motivo por
el cual son denominados optimizadores locales. La
Figura 3 ilustra el proceso. Como puede verse, la
iteracin en la aplicacin del operador de mutacin
y la subsiguiente conservacin de los cambios
favorables se realiza hasta que se alcanza un
cierto criterio de terminacin (un nmero de
iteraciones fijo, un cierto nmero de iteraciones sin
mejora, haber alcanzado una mejora suficiente,
etc.).

Estos optimizadores locales pueden considerar-se
cmo un operador ms, y como tales pueden
emplearse en diferentes fases de la reproduccin.
Por ejemplo, pueden usarse tras la aplicacin de
otros operadores \simples" de recombinacin y
mutacin, aplicarse solo a un sub-conjunto de los
agentes o nicamente ser aplicado al final del ciclo
reproductivo. En cualquier caso, es la existencia
de estos optimizadores individuales la que justifica
el empleo de la denominacin `agente' en la jerga
de los MA: El algoritmo puede caracterizarse como
una coleccin de agentes que realizan
exploraciones autnomas del espacio de
bsqueda, cooperan-do ocasionalmente a travs
de la recombinacin, y compitiendo continuamente
por los recursos computacionales a travs de la
seleccin y el reemplazo
2
.

2
Como puede apreciarse, el empleo de optimizacin


Tras haber descrito el paso generacional bsico,
podemos ahora considerar una visin global de un
MA basada en la iteracin de este proced-miento,
tal como se muestra en la Figura 4.

FUNC MA (# tamanoPob~ : N;
# ops : Operador[ ]) ! Agente
Variables
pob : Agente[ ];
Inicio
pob Iniciar-Poblacion(tamanoPob~);
REPETIR
pob Paso-Generacional (pob, ops)
SI Convergencia(pob) ENTONCES
pob Reiniciar-Poblacion(pob);
FINSI
HASTA QUE Terminacion-MA()
DEVOLVER i-esimo-Mejor(pob, 1);
Fin

Figura 4: El esqueleto generico de un MA

La generacin de la poblacin inicial puede
acometerse de diferentes formas. Por ejemplo,
pueden crearse jpobj agentes al azar, o emplear
las soluciones proporcionadas por heursticas
existentes [76][126]. Una posibilidad ms
sofisticada es el empleo de optimizadores locales
para tal n, tal como se ilustra en la Fig. 5:

FUNC Iniciar-Poblacion (#
: N) ! Agente[ ]
Variables
pob : Agente[ ];
agente :
Agente; j : N;
Inicio
PARA j 1: HACER agente
Agente-Aleatorio();
pob[j] Optimizador-Local (agente);
FINPARA
DEVOLVER pob
Fin

Figura 5: Generacin guiada de la poblacin
inicial.

La funcin para la reiniciacin de la poblacin es
otro de los componentes fundamentales del MA,
ya que de el depender que se haga un uso
apropiado de los recursos computacionales del
sistema, o por el contrario estos se malgasten

local es un elemento diferenciador de los MA, pero ni es
el nico, ni es imprescindible encontrarlo en la forma
descrita. Debe pues evitarse caer en la falsa igualdad
MA = EA+bsqueda local.


en la explotacin de una poblacin de agentes
que haya alcanzado un estado degenerado,
erg., con una gran similitud entre todos los
agentes de la poblacin. Esto es lo que se
conoce como convergencia del MA, y es algo
que puede ser cuantiado empleando por
ejemplo medidas clsicas de Teora de la
Informacin como la entropa de Shannon [34].
Una vez se ha detectado la convergencia del
MA (cuando la entropa ha cado por debajo de
un cierto valor lmite por ejemplo), la poblacin
de agentes se reinicia, conservando una
porcin de la misma, y generando nuevos
agentes para completarla (Figura 6).

FUNC Reiniciar-Poblacion
(# pob : Agente[ ])! Agente[ ]
Variables
nueva pob : Agente[
]; j; cons : N;
Inicio
cons jpobj %CONSERVAR;
PARA j 1:cons HACER newpop[j]
i-esimo-Mejor(pob, j);
FINPARA
PARA j (cons + 1) : jpobj HACER
nueva pob[j] Agente-Aleatorio();
nueva pob[j]
Optimizador-Local (nueva pob[j]);
FINPARA; DEVOLVER
nueva pob
Fin

Figura 6: Reiniciacin de la poblacin en un
MA.

La funcin anterior completa la definicin
funcional de un MA. A modo de resumen, la
Tabla 1 muestra una comparativa de los
conceptos ms relevantes de los MA, y cmo
estos difieren del modelo ms clsico de los
GA.


3. Tcnicas para el Diseo
de MA

Cuando se aborda el diseo de un MA efectivo
para un cierto problema, hay que partir de la base
de que no existe procedimiento sistemtico para
tal fin, ya que de lo contrario se entrara en
convicto con resultados tericos bien cono-codos
(erg., el Teorema NFL). Ello implica que
nicamente pueden considerarse heursticas de
diseo, que probablemente resultaran en un MA



Cuadro 1: Comparativa de algunos de los
aspectos ms distintivos de los GA y los MA.
GA
codificacin esquemas, cadenas lineales,
alfabetos predefinidos
individuo solucin al problema
cruce intercambio no-guiado
de informacin
mutacin introduccin aleatoria
de nueva informacin

MA
representacin formas, no-linealidad,
cercana al problema
agente solucin/ones al problema +
mecanismo mejora local
recombinacin intercambio guiado
de informacin
mutacin introduccin sensible
de nueva informacin
mejora local aprendizaje lamarckiano


efectivo, pero que obviamente no lo pueden
garantizar.

El primer elemento que resulta imprescindible
determinar es la representacin de las soluciones
al problema. Por ejemplo, supngase que se est
intentando resolver una instancia del problema del
viajante de comercio (TSP). In-formalmente, las
soluciones son rutas cerradas que visitan n
ciudades solo una vez. La cuestin en este punto
es qu caractersticas de estas soluciones
manipularan los operadores reproductivos. Para
empezar, es posible expresar las rutas como una
permutacin de las ciudades, y definir operadores
que manipulen los valores existentes en
posiciones especcas de la per-mutacin. Esta
sera la representacin basada en posiciones de
las permutaciones [27][47]. Por otro lado, los
operadores podran manipular informacin
relativa a la adyacencia entre elementos de las
permutaciones. Dado que el TSP se define a partir
de una matriz de distancia entre pares de
ciudades, es intuitivo observar que este ultimo
enfoque sera ms conveniente. De hecho,
puede comprobarse que esto es as en la
prctica, y que operadores basados en adyacencia
[77] funcionan mejor sobre este problema que
otros basados en posiciones tales como PMX [48]
o CX [101].

El ejemplo anterior del TSP ilustra la necesidad
de capturar de alguna manera cuantitativa


la relacin que existe entre una representacin de
un problema y su bondad. A tal efecto, se han
definido diferentes criterios como los que a
continuacin se mencionan. Algunos de los
mismos son generalizaciones de conceptos
propios de los GA, mientras que otros s pueden
ser ms especcos del modelo MA:


Minimizacin de la epistaxis: se habla de
epistaxis cuando los elementos bsicos de
informacin a partir de los cuales se
construyen las soluciones (y que son
manipula-dos por los operadores
reproductivos) interactan de manera no
aditiva sobre la funcin gua [33]. La
existencia de una interaccin de este tipo
impide que se pueda descomponer la funcin
objetivo en trminos optimizables de manera
independiente. Obviamente, cuanto menor
sea es-ta interaccion no aditiva, mayor sera
tam-bien la relevancia que en terminos
abso-lutos tengan los elementos de
informacin manipulados por los operadores,
y menos propensa sera la funcin gua a
extraviar la bsqueda.

Minimizacion de la varianza de bondad
[113]: La varianza en bondad de un cier-to
elemento de informacin es la varianza en los
valores que devuelve la funcin gua,
medida sobre un conjunto representativo de
soluciones con dicho elemento de
informacin. De manera similar a lo que
ocurra en el criterio anterior, cuanto menor
sea esta varianza ms signicativos seran
los elementos de informacin, y habra
menos \ruido" en la funcin gua.

Maximizacion de la correlacion de bondad:
asumiendo un cierto operador reproducti-vo,
se mide la correlacion existente entre la
adecuacion de los agentes progenitores y
los agentes descendientes. Si la correlacion
es alta, los agentes buenos tendran una
des-cendencia buena por lo general. Dado
que la fase de seleccin se encarga de elegir
a los agentes de mayor adecuacion, la
busque-da se ira desplazando
gradualmente hacia las zonas ms
prometedoras del espacio de bsqueda.

3
Este impedimento ha de entenderse en el sentido de
que una optimizacin separada de los elementos basicos
de informacin conducira a un optimo local de la fun-
cion objetivo.


En cualquier caso, lo que resulta claro de la
discusion anterior es que en ultimo extremo la
seleccin de una representacin es algo que
de-pende de los operadores empleados. Es
pues la seleccin de operadores el problema de
diseo que debe abordarse. En este sentido,
existen dos vertientes: la seleccin de un
operador de entre un conjunto de operadores
preexistentes, o la definicin de nuevos
operadores. En el primer caso, la lnea de
actuacion podra ser la que sigue [27]:

1. Sea - = f!
1
; !
2
; ; !
k
g el conjunto de
operadores disponibles. En primer lugar
se identica la representacin
manipulada por cada uno de ellos.

2. Usar cualquiera de los criterios anterior-
mente mencionados para evaluar la
bondad de cada representacin.
3. Seleccionar el operador !
i
que manipule
la representacin de mayor bondad.

Esto se denomina analisis inverso de operado-
res, ya que en cierto sentido se realiza una cier-
ta ingeniera inversa para determinar el opera-
dor/representacin ms ventajoso. La alterna-
tiva es el analisis directo, en el que se
dise~nan nuevos operadores como sigue [27]:

1. Identicar varias representaciones para
el problema considerado.

2. Usar cualquiera de los criterios anterior-
mente mencionados para evaluar la
bondad de cada representacin.
3. Crear nuevos operadores
-
0
=
f!
1
0
; !
2
0
; ; !
m
0
g a travs de la ma-
nipulacion de los elementos de informacin
ms relevantes.

El ultimo paso del analisis directo puede re-
alizarse empleando para tal n algunas plan-
tillas genericas (independientes de los elemen-
tos de informacin manipulados) dise~nadas a
tal n, erg., \random respectful recombina-tion"
(R
3
), \Random Assorting Recombina-tion"
(RAR), \Random Transmitting Recombi-nation"
(RTR), etc. [112].

Tanto en el caso de seleccin de un opera-dor
\clasico" como de creacion de un opera-


dor a partir de las plantillas genericas men-
cionadas anteriormente, se estaran empleando
tpicamente operadores \ciegos", que manipu-lan
informacin relevante pero lo hacen sin us-ar
informacin de la instancia del problema que se
pretende resolver. Obviamente resul-tara muy
interesante ser capaces de introducir conocimiento
adicional para poder guiar esta manipulacion. A
los operadores reproductivos que usan este
conocimiento del problema se les denomina
heursticos o hbridos (hasta en cier-to caso se
los tildo de memeticos), pudiendo considerarse
dos ambitos principales en los que utilizar dicho
conocimiento: la seleccion de la informacion de
los progenitores que se usara en la
descendencia, y la seleccion de la informacion
externa que se empleara.

Con respecto a lo primero, la evidencia ex-
perimental sugiere que la propiedad de respeto
(transmision de caractersticas comunes a todos
los progenitores) es beneciosa (e.g., vease [28]
[77]). Tras esta transmision inicial de informa-
cion, la descendencia puede completarse de dife-
rentes maneras. Por ejemplo, Radclie y Surry
[113] proponen el empleo de optimizadores lo-
cales, o tecnicas de enumeracion implcita. En
ambos casos, el metodo elegido se aplicara
para completar las soluciones empleando cuanta
in-formacion externa fuera necesaria.

En el caso particular de utilizar tecnicas de enu-
meracion mplicita (por ejemplo, ramicacion y
acotacion), el enfoque anterior puede ser
computacionalmente costoso. Una alternativa es el
empleo de dicha tecnica de enumeracion
implcita, restringida al conjunto de informa-cion
contenida en los agentes progenitores. Este
enfoque se denomina recombinacion dinastica-
mente optima [31] (DOR), y tiene la propiedad de
ser monotono creciente en la bondad de las
soluciones generadas, i.e., cualquier descendien-
te es al menos tan bueno como el mejor de sus
progenitores.

El conocimiento del problema puede incluirse
tambien en los operadores mediante el empleo
de heursticas constructivas. Por ejemplo, EAX
(Edge Assembly Crossover) [97] es un operador
especializado para el TSP en el que se emplea
una heurstica voraz para la construccion de
la descendencia.

Las ideas expuestas en los parrafos anteriores
son aplicables a los operadores de mutacion,


aunque con ciertas salvedades, ya que estos
estan forzados a introducir nueva informacion.
En general, notese que la solucion parcial a la
cual se ha hecho mencion anteriormente puede
obtenerse mediante la eliminacion de algunos
elementos de informacion de una solucion. Ello
quiere decir que mediante la posterior apli-cacion
de un procedimiento de completado de los ya
mencionados se obtendra una solucion
mutada.

Como cierre de esta seccion, es importante
rese~nar una vez mas el caracter heurstico de
los principios de dise~no mencionados. Hay aun
mucho por hacer en esta vertiente metodologi-ca
de los MA (e.g., vease [64]). En este senti-do,
notese que la losofa de los MA es muy
exible, y desde siempre se oriento a la in-
corporacion de ideas tomadas de otras meta-
heursticas. Por ello, del estudio de las diferen-
tes tecnicas de optimizacion discutidas en es-ta
monografa pueden obtenerse nuevas ideas y
herramientas conducentes a nuevos y mas po-
tentes algoritmos memeticos.



4. Aplicaciones de los MA


Existen cientos de aplicaciones de los MA en el
ambito de la optimizacion combinatoria. Eso no
es sorprendente si tenemos en consideracion que
existen miles de problemas de optimizacion
pertenecientes a la clase NP, donde los MA se
han mostrado de gran valor. Curiosamente, es
frecuente que estos MA se hallen disfrazados u
ocultos bajo otras denominaciones (EA/GA
hbridos, EA/GA lamarckianos, etc.), tal como se
menciono en la Seccion 1. No obstante, esta
falta de consistencia terminologica es cada vez
menos frecuente.

Hecha esta apreciacion, ofrecemos aqu una
breve lista de algunas de las aplicaciones que dan
cuenta de la popularidad que ha alcanza-do esta
metodologa. Destacamos los siguientes:
problemas de particionado en grafos [83] [138],
particion de numeros [7], conjunto Independi-
ente de cardinalidad maxima [1] [54] [122], em-
paquetado [117], coloreado de grafos [26] [39] [43]
[24], recubrimiento de conjuntos [4], plan-icacion
de tareas en una maquina con tiem-pos de \set-
up" y fechas de entrega [44] [87], planicacion de
tareas en varias maquinas [22]


[78] [88], problemas de asignacion
generalizados [23], problemas de mochila
multidimensional [5] [29] [51], programacion
entera no-lineal [127] asignacion cuadratica
[18] [81] [82], particiona-do de conjuntos [72], y
muy especialmente el problema del viajante de
comercio [50] [56] [82] [92] [114].

Es de destacar que en una gran parte de es-
tas publicaciones los propios autores
destacan que la metodologa constituye el
estado del arte para el problema en
consideracion, lo que es de interes debido
a que estos son problemas \clasicos" en el
area de la optimizacion com-binatoria.

El paradigma fue utilizado en otros proble-
mas menos conocidos, pero sin duda de igual
importancia, como son: emparejamiento par-
cial de formas geometricas [105], optimizacion
en \paisajes NK" [80], dise~no de trayectorias
optimas para naves espaciales [32], asignacion
de frecuencias [59], construccion de arboles de
expansion mnimos con restricciones de gra-
do [115], problemas de emplazamiento [57] [71]
[123], optimizacion de rutas [120], problemas
de transporte [46] [100], asignacion de tare-
as [53], isomorsmos en grafos [129], proble-
mas de biconexion de vertices [60], agru-
pamiento [85], telecomunicaciones [10] [111]
[121], identicacion de sistemas no-lineares
[40], optimizacion multiobjetivo [62], progra-
macion de tareas de mantenimiento [13] [14]
[15], \open shop scheduling" [21] [42] [74],
\owshop scheduling" [19] [94] [95], plani-
cacion de proyectos [98] [116] [106], plani-
cacion de almacen [132], planicacion de
pro-duccion [38] [89] [8], confeccion de
horarios [11] [75] [108], planicacion de turnos
[37], plani-cacion de juegos deportivos [25] y
planicacion de examenes [12] [49].

Los MA, tambien han sido citados en la litera-tura
de aprendizaje en maquinas y robotica co-mo
algoritmos geneticos hbridos. Destacamos
algunas aplicaciones como por ejemplo: entre-
namiento de redes neuronales [58] [90] [128], re-
conocimiento de caractersticas [2], clasicacion
de caractersticas [69] [86], analisis de series
temporales [103], aprendizaje de comportamien-
tos reactivos en agentes moviles [30], plani-
cacion de trayectorias [102] [109] [119], control
optimo [20], etc.

En las areas de la Electronica y la Ingeniera


podemos destacar: proyectos de VLSI [3], op-
timizacion de estructuras [137] y mecanica de
fracturas [107], modelado de sistemas [131],
control de reactores qumicos [140], calibracion
de motores [61], problemas de dise~no optimo en
Aeronautica [9] [110], dise~no de sistemas opti-
cos [55], control de traco [125], y planicacion
en problemas de potencia [130] entre otros.

Otras aplicaciones de estas tecnicas pueden en-
contrarse en: Medicina [52] [133], Economa
[73] [104], Oceanografa [96], Matematicas [118]
[134] [135], Procesamiento de imagenes y de voz
[16] [70] [139], y un sinnumero de ellas en
Bi-ologa Molecular.




5. Conclusiones


Existen dos fuerzas importantes que favorecen la
aplicacion de MA en varias areas. Por un la-do,
la creciente disponibilidad de sistemas de
computacion concurrente, generalmente basa-
dos en clusters, permite a los investigadores la
posibilidad de paralelizar con cierta facilidad los
programas. Los MA se adaptan muy bien a este
tipo de paralelismo, a lo que hay que a~nadir la
creciente relevancia de lenguajes como Java, que
facilitan aun mas esta tarea. Por otro la-do, ya
existe una mejor comprension, al menos
heurstica, sobre como crear MA ecientes. A ello
se suman ciertos avances recientes en la teora
de la complejidad computacional de ope-radores
de recombinacion.

Existe tambien un creciente interes en el de-
sarrollo sistematico de los MA mediante la in-
corporacion de otras tecnicas. Estas pueden ser
de dos tipos: exactas (e.g., algoritmos de
ramicacion y poda, algoritmos de tratabili-dad a
parametro jo, etc.), o metaheurstica (como la
incorporacion de periodos de Busque-da Tabu
para la difersicacion, etc.). Un ejem-plo clasico
puede encontrarse en [7]: un metodo muy
basico de Busqueda Tabu potencia un MA y
permite obtener muy buenas soluciones en un
problema donde las tecnicas de Recocido Simu-
lado tuvieron grandes dicultades.

Existen abiertas algunas lneas muy intere-
santes en Investigacion, como por ejemplo
en la co-evolucion. Citando [91]:


\Es posible que una generacion futu-
ra de MA trabaje en dos niveles y dos
escalas temporales. En una escala de
corto alcance, un conjunto de agentes
trabajara en el espacio de busque-
da asociado al problema mientras que
en una escala de mas largo plazo,
los agentes adaptaran las heursti-
cas a ellos asociadas. Nuestro trabajo
con D. Holstein que sera presentado
en este libro puede ser clasicado co-
mo un primer paso en esta direccion
prometedora. Sin embargo, es razona-
ble pensar que en breve se implemen-
taran de manera practica nuevos y
mas complejos esquemas, involucran-
do soluciones, agentes y tambien re-
presentaciones."

En el trabajo con D. Holstein, fue empleado un MA
que tambien utilizaba Busqueda Lo-cal Guiada.
Algunos artculos mas recientes estan en esta
direccion [17][63][67]. Krasnogor introdujo la
terminologa de \multimeme" para
inequvocamente identicar MA que tambien
adaptan la denicion de vecindario utilizado en
las busquedas locales [68], y con colegas esta
aplicando el metodo en el dicil proble-ma de la
prediccion de las estructuras secun-darias de las
protenas [65]. Otro estudio de es-tos temas
puede encontrarse en [124].

Otras areas de interes en el desarrollo de
MA estan en el uso de estructuras de la
poblacion [45][93], busquedas locales auto-
adaptables [66] y nuevos operadores de
recom-binacion siguiendo las metodologas
empleadas en [56][79][84][90].


Referencias

[1] C.C. Aggarwal, J.B. Orlin, and R.P. Tai.
Optimized crossover for the indepen-
dent set problem. Operations Research,
45(2):226{234, 1997.

[2] J. Aguilar and A. Colmenares. Resolu-
tion of pattern recognition problems us-
ing a hybrid genetic/random neural net-
work learning algorithm. Pattern Analy-
sis and Applications, 1(1):52{61, 1998.

[3] S. Areibi, M. Moussa, and H. Abdullah.
A comparison of genetic/memetic algo-


rithms and heuristic searching. In Pro-
ceedings of the 2001 International Con-
ference on Articial Intelligence ICAI 2001,
Las Vegas, Nevada, June 25, 2001.

[4] J. Beasley and P.C. Chu. A genetic algo-
rithm for the set covering problem. Eu-
ropean Journal of Operational Research,
94(2):393{404, 1996.

[5] J. Beasley and P.C. Chu. A genetic algo-
rithm for the multidimensional knapsack
problem. Journal of Heuristics, 4:63{86,
1998.

[6] R. Berretta, C. Cotta, and P. Moscato.
Enhancing the performance of memet-ic
algorithms by using a matching-based
recombination algorithm: Results on the
number partitioning problem. In M. Re-
sende and J. Pinho de Sousa, editors,
Metaheuristics: Computer-Decision Mak-
ing, pages 65{90. Kluwer Academic Pub-
lishers, Boston MA, 2003.

[7] R. Berretta and P. Moscato. The num-ber
partitioning problem: An open chal-lenge
for evolutionary computation ? In D.
Corne, M. Dorigo, and F. Glover, editors,
New Ideas in Optimization, pages
261{278. McGraw-Hill, Maiden-head,
Berkshire, England, UK, 1999.

[8] R. Berretta and L. F. Rodrigues. A
memetic algorithm for multi-stage capac-
itated lot-sizing problems. Internation-al
Journal of Production Economics. En
prensa.

[9] A.H.W. Bos. Aircraft conceptual design
by genetic/gradient-guided optimization.
Engineering Applications of Articial In-
telligence, 11(3):377{382, 1998.

[10] L. Buriol, M.G.C. Resende, C.C. Ribeiro,
and M. Thorup. A memetic algorithm for
OSPF routing. In Sixth INFORMS
Telecommunications Conference, March
10-13, 2002 Hilton Deereld Beach, Boca
Raton, Florida, pages 187{188, 2002.

[11] E. K. Burke, D. G. Elliman, and R. F.
Weare. A hybrid genetic algorithm for
highly constrained timetabling problems.
In Proceedings of the Sixth International
Conference on Genetic Algorithms,
pages 605{610. Morgan Kaufmann, San
Fran-cisco, CA, 1995.


[12] E.K. Burke, J.P. Newall, and R.F. Weare.
A memetic algorithm for university exam
timetabling. In E.K. Burke and P. Ross,
editors, The Practice and Theory of Au-
tomated Timetabling, volume 1153 of Lec-
ture Notes in Computer Science, pages
241{250. Springer-Verlag, 1996.

[13] E.K. Burke and A.J. Smith. A memet-ic
algorithm for the maintenance schedul-
ing problem. In Proceedings of the
ICONIP/ANZIIS/ANNES '97 Confer-
ence, pages 469{472, Dunedin, New
Zealand, 1997. Springer-Verlag.

[14] E.K. Burke and A.J. Smith. A memet-ic
algorithm to schedule grid mainte-nance.
In Proceedings of the Interna-tional
Conference on Computational In-
telligence for Modelling Control and Au-
tomation, Vienna: Evolutionary Compu-
tation and Fuzzy Logic for Intelligent
Control, Knowledge Acquisition and In-
formation Retrieval, pages 122{127. IOS
Press, 1999.

[15] E.K. Burke and A.J. Smith. A multi-stage
approach for the thermal genera-tor
maintenance scheduling problem. In
Proceedings of the 1999 Congress on Evo-
lutionary Computation, pages 1085{1092,
Piscataway, NJ, USA, 1999. IEEE.

[16] S. Cadieux, N. Tanizaki, and T. Okamu-ra.
Time ecient and robust 3-D brain image
centering and realignment using hybrid
genetic algorithm. In Proceed-ings of the
36th SICE Annual Conference, pages
1279{1284. IEEE, 1997.

[17] R. Carr, W. Hart, N. Krasnogor, J. Hirst,
E. Burke, and J. Smith. Alignment of
protein structures with a memetic evo-
lutionary algorithm. In W. B. Langdon et
al., editors, GECCO 2002: Proceedings
of the Genetic and Evolutionary Compu-
tation Conference, pages 1027{1034,
New York, 9-13 July 2002. Morgan
Kaufmann Publishers.

[18] J. Carrizo, F.G. Tinetti, and P. Moscato.
A computational ecology for the quadrat-ic
assignment problem. In Proceedings of the
21st Meeting on Informatics and Op-
erations Research, Buenos Aires, Argenti-
na, 1992. SADIO.

You might also like