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
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.