Você está na página 1de 47

Tcnicas metaheursticas

lvaro Garca Snchez

Tcnicas metaheursticas

1. Introduccin
Desde los aos sesenta han ido apareciendo diferentes mtodos de resolucin de
problemas conocidos por el nombre de tcnicas metaheursticas. Estas tcnicas son
de especial inters en el caso de variables enteras aunque tambin se aplican a
problemas con variables reales.
Un heurstico es un procedimiento simple, a menudo basado en el sentido comn, que se
supone que ofrecer una buena solucin (aunque no necesariamente la ptima) a problemas
difciles, de un modo fcil y rpido. (Zanakins y Evans, 1981)
Los heursticos se utilizan, por ejemplo, cuando no existe un mtodo exacto de
resolucin, cuando existe un mtodo exacto que consume mucho tiempo para
ofrecer la solucin ptima, cuando existen limitaciones de tiempo o como paso
intermedio para obtener una solucin inicial para la aplicacin de otra tcnica
Algunos autores (Silver et al., 1980) proponen la siguiente clasificacin de mtodos
de resolucin mediante heursticos:
Mtodos constructivos, que se caracterizan por construir una solucin
definiendo diferentes partes de ella en sucesivos pasos.
Mtodos de descomposicin, dividen el problema en varios ms pequeos y la
solucin se obtiene a partir de la solucin de cada uno de estos.
Mtodos de reduccin, tratan de identificar alguna caracterstica de la solucin
que permita simplificar el tratamiento del problema.
Mtodos de manipulacin del modelo, obtienen una solucin del problema
original a partir de otra de otro problema simplificado (con menos restricciones,
linealizando el problema, etc.)
Mtodos de bsqueda por entornos, en las que se parte de una solucin inicial a
la que se realizan modificaciones en sucesivas iteraciones para obtener una
solucin final. En cada iteracin existe un conjunto de soluciones vecinas
candidatas a ser nueva solucin en el proceso. En este grupo se encuadran las
tcnicas metaheursticas.

-2-

Tcnicas metaheursticas

Las tcnicas metaheursticas son procedimientos de bsqueda que tampoco


garantizan la obtencin del ptimo del problema considerado y que tambin se
basan en la aplicacin de reglas relativamente sencillas. A diferencia de los
heursticos, las tcnicas metaheursticas tratan de huir de ptimos locales
orientando la bsqueda en cada momento dependiendo de la evolucin del
proceso de bsqueda.
La aplicacin de las tcnicas metaheursticas es especialmente interesante en caso
de problemas de optimizacin combinatoria: problemas en las que las variables de
decisin son enteras (o discretas, al menos) en las que, generalmente, el espacio de
soluciones est formado por ordenaciones de valores de dichas variables. Sin
embargo, las tcnicas metaheursticas se pueden aplicar tambin a problemas de
otro tipo, como con variables continuas, por ejemplo.
La lgica de las tcnicas metaheursticas es similar: el punto de partida es una
solucin (o conjunto de soluciones) que tpicamente no es ptima. A partir de ella
se obtienen otras parecidas, de entre las cuales se elige una que satisface algn
criterio, a partir de la cual comienza de nuevo el proceso. Este proceso se detiene
cuando se cumple alguna condicin establecida previamente.
Las tcnicas metaheursticas ms extendidas son la siguientes: los algoritmos
genticos, la bsqueda tab, el recocido simulado, la bsqueda scatter, las
colonias de hormigas, la tcnica conocida por el nombre ingls GRASP. Las redes
neuronales, tambin incluidas entre las tcnicas metaheursticas, son de naturaleza
diferente a las tres no se van a considerar.
Todas las tcnicas metaheursticas tienen las siguientes caractersticas (Sadiq, S. M.
y Habib, Y., 1999):
Son ciegas, no saben si llegan a la solucin ptima. Por lo tanto, se les debe
indicar cundo deben detenerse.
Son algoritmos aproximativos y, por lo tanto, no garantizan la obtencin de la
solucin ptima.
Aceptan ocasionalmente malos movimientos (es decir, se trata de procesos de
bsqueda en los que cada nueva solucin no es necesariamente mejor en
trminos de la funcin objetivo que la inmediatamente anterior). Algunas
veces aceptan, incluso, soluciones no factibles como paso intermedio para
acceder a nuevas regiones no exploradas.

-3-

Tcnicas metaheursticas

Son relativamente sencillos; todo lo que se necesita es una representacin


adecuada del espacio de soluciones, una solucin inicial (o un conjunto de ellas)
y un mecanismo para explorar el campo de soluciones.
Son generales. Prcticamente se pueden aplicar en la resolucin de cualquier
problema de optimizacin de carcter combinatorio. Sin embargo, la definicin
de la tcnica ser ms o menos eficiente en la medida en que las operaciones
tengan relacin con el problema considerado.
La regla de seleccin depende del instante del proceso y de la historia hasta ese
momento. Si en dos iteraciones determinadas, la solucin es la misma, la nueva
solucin de la siguiente iteracin no tiene por qu ser necesariamente la mismaEn general, no lo ser.
Aunque las soluciones que ofrecen los tcnicas metaheursticas no son las ptimas
y, en general, ni siquiera es posible conocer la proximidad de las soluciones al
ptimo, permiten estudiar problemas de gran complejidad de una manera sencilla
y obtener soluciones suficientemente buenas en tiempos razonables.
A pesar de que estas tcnicas son relativamente recientes, los campos de aplicacin
de los tcnicas metaheursticas son numerosos (electrnica, telecomunicaciones,
electromagnetismo, etc.), y entre ellos se encuentra el de la Ingeniera de
Organizacin.
A continuacin se explican las caractersticas ms importantes de tres de estas
tcnicas: la bsqueda tab, los algoritmos genticos y el recocido simulado.

-4-

Tcnicas metaheursticas

2. Bsqueda tab

2.1.

Presentacin

Esta tcnica fue propuesta por Glover en 1986. Su nombre est relacionado con las
acepciones de tab como prohibicin impuesta por las costumbres sociales como
una medida de prevencin y prohibicin de algo que constituye un riesgo. Los
tabes sociales suelen pervivir durante un tiempo y luego acaban por extinguirse.
Sin embargo, mientras estn vigentes, los tabes no operan como prohibiciones
cuando la alternativa prohibida resulta mucho ms interesante que el resto.
En el caso de esta tcnica, los tabes se traducen en determinadas prohibiciones en
el proceso de bsqueda y el riesgo del que se pretende huir es que la bsqueda
quede atrapada en un conjunto de soluciones sin poder salir de l. Para ello, a lo
largo de proceso, se almacena informacin sobre las caractersticas de las
soluciones visitadas y sobre las operaciones realizadas para obtener dichas
soluciones, el proceso tiene memoria de lo ocurrido. Como sealan Glover y
Laguna (1997), la memoria, que permite guiar el proceso de bsqueda, es la
principal caracterstica de esta tcnica; en este sentido, una mala eleccin puede
ofrecer ms informacin que una eleccin aleatoria y, por tanto, puede ser
preferible. Con la memoria es posible orientar la bsqueda hacia soluciones con
buenas caractersticas a la vez que se exploran nuevas de regiones del espacio de
soluciones que son potencialmente interesantes. Existen dos tipos de memoria: la
memoria a corto plazo y la memoria a largo plazo. Simplemente con el empleo de
la memoria a corto plazo, es posible disear un buen proceso de bsqueda, aunque
la mejor forma de explotar todas las posibilidades que ofrece esta tcnica es el
empleo de los dos tipos de memoria.
A veces, como en la analoga del campo social, las prohibiciones dejarn de serlo
cuando se cumplan determinadas condiciones y no operarn como tales
prohibiciones.
Bsicamente, la tcnica opera como sigue: dada una solucin, se examina un
conjunto de soluciones vecinas de aquella y se selecciona la mejor de entre las
vecinas, que pasa a ser la nueva solucin (aun cuando no sea mejor que la solucin
-5-

Tcnicas metaheursticas

de partida). Sin embargo, no todas las soluciones vecinas son soluciones


candidatas a ser nueva solucin, algunas estn prohibidas. Este proceso se repite
iterativamente hasta que se cumple alguna condicin establecida anteriormente.
Con el

procedimiento de la bsqueda tab, que se detalla en los prximos

epgrafes, se pretende evitar la convergencia en torno a ptimos locales. Para ello,


se veta el acceso a determinadas soluciones, evitando as (con ms o menos xito,
segn configuren los parmetros del mtodo) la repeticin cclica de un conjunto
de soluciones prximas a un ptimo local y se alienta la exploracin de regiones de
soluciones potencialmente interesantes. Como indica Glover (1989), con el
procedimiento de la bsqueda tab se trata de evitar la vuelta a estados de soluciones
anteriores, es decir, a soluciones visitadas anteriormente cuyo mejor movimiento a
partir de ella es el mismo que el de la vez anterior en que tal solucin fue visitada.
La mayora de las aplicaciones de la bsqueda tab se han comenzado a
desarrollar a partir de finales de los aos ochenta. La bsqueda tab se ha
aplicado, entre otros, a los siguientes problemas: telecomunicaciones, finanzas,
ingeniera de organizacin, medicina, etc.
Se debe apuntar que la bsqueda tab no es un tcnica rgida, sino que se debe
confeccionar para cada problema concreto. La forma que adopta el algoritmo
depende en gran medida del problema que se pretenda resolver y de la
representacin que del mismo se adopte. Por lo tanto, este captulo (de carcter
descriptivo) describe los elementos ms significativos de la metodologa de forma
genrica y, en algunos casos, cita ejemplos concretos que sirven para ilustrarla.
2.2.

Bsqueda tab simplificada. Memoria de corto plazo

En este epgrafe se describe la modalidad ms sencilla de la bsqueda tab, que se


caracteriza por el empleo, nicamente, de la memoria a corto plazo.
El procedimiento parte de una solucin inicial, en la forma de un vector x, a partir
de la cual obtiene una nueva solucin efectuando cambios elementales, que se
denominan movimientos, en la solucin de partida. A su vez, a partir de esta
solucin se obtiene, de la misma forma, otra y as sucesivamente.
Dada una solucin, el conjunto de soluciones a las que se puede acceder mediante
los movimientos considerados se denomina vecindario.
-6-

Tcnicas metaheursticas

De entre todas las soluciones que componen el vecindario, existe un conjunto de


ellas que estn prohibidas (bien por sus caractersticas o bien por el movimiento
elemental que condujo a las mismas): son las soluciones tab y durante un
determinado nmero de iteraciones estn vetadas.
La nueva solucin, en cada transicin, es la mejor solucin de entre las vecinas. No
es una condicin necesaria (a diferencia de otros procedimientos) que la nueva
solucin sea mejor que la existente.
Esta tcnica tambin tiene en cuenta la posibilidad de que los movimientos
prohibidos puedan restringir el rea de bsqueda y que ciertas regiones que
podran arrojar buenos resultados queden sin explorar. Para evitar que esto ocurra,
existe un criterio de aspiracin: es posible aceptar una solucin clasificada como
tab como nueva solucin si cumple con alguna determinada condicin.
Por ltimo, el proceso de bsqueda se detiene cuando se cumple algn criterio de
finalizacin.
A continuacin se describen los elementos (tipo de solucin inicial, tipo de
vecindario, etc.) que integran la bsqueda tab y algunas de las posibles
alternativas para cada uno estos elementos.
Para ilustrar algunos aspectos de la bsqueda tab, se considerar el problema del
viajante con diez ciudades.
Solucin inicial
Cada una de las posibles soluciones del problema debe poder ser expresada en
forma de un vector o una matriz, x. En el problema del viajante, el elemento x(i)
puede representar la posicin en la que se visita la ciudad cuyo ndice es i o el
ndice de la ciudad que se visita en lugar i-simo (esta ltima ser la que
emplearemos).
Para comenzar a aplicar esta tcnica es necesario disponer de una solucin inicial.
Esta solucin se puede obtener a partir un heurstico (tpicamente de aplicacin
ms sencilla), de forma aleatoria o, sencillamente, a partir de una solucin
conocida (si el problema se refiere a un sistema ya en funcionamiento, la solucin
del sistema real es una posible solucin de partida).

-7-

Tcnicas metaheursticas

Funcin objetivo
Se trata de la funcin cuyo valor se pretende hacer mximo o mnimo. En cada una
de las iteraciones del procedimiento es necesario calcular el valor de la funcin
objetivo de las soluciones candidatas a ser la nueva solucin.
Tipos de movimientos
Como se ha indicado anteriormente, la bsqueda tab explora posibles soluciones
a partir de una dada mediante movimientos sencillos. Estos pueden ser,
bsicamente, de dos tipos:
Insercin (insert en la literatura sajona), en la que un determinado elemento
(componente de un vector, columna en una matriz, etc.) de la solucin, x(i),
pasa a ocupar otra posicin, j. El resto de los elementos de la solucin quedan
desplazados, como se puede apreciar en la figura 1.

Solucin de partida

10

Solucin vecina

10

Fig.1. Movimiento de insercin

Intercambio (swap), en el que dos elementos de la solucin intercambian su


posicin (figura 2).
Solucin de partida

10

Solucin vecina

10

Fig.2. Movimiento de intercambio

En ocasiones, para simplificar, se consideran solamente movimientos de


insercin, ya que un intercambio se puede considerar como un caso especial de
insercin.
En cada caso, dependiendo de la forma que adopte la solucin del problema
considerado, se debe definir qu significa un movimiento de intercambio o uno de
insercin. Adems, es posible restringir el abanico de posibilidades permitiendo
-8-

Tcnicas metaheursticas

slo la seleccin de movimientos que afecten a elementos de la solucin que no


estn alejados ms de una determinada distancia. La distancia significar en cada
caso una cosa diferente.
Lista tab
La lista tab constituye la memoria a corto plazo del proceso de bsqueda.
Mediante la lista se alienta la exploracin de diferentes regiones de soluciones y se
dificulta la convergencia en torno a un ptimo local.
En cada iteracin existir un conjunto de soluciones tab. Las soluciones son tab
en funcin de las caractersticas de la misma o en funcin de las soluciones por las
que se haya transitado en el pasado reciente. A continuacin se explican los dos
posibles motivos por los cuales una solucin es tab.
En primer lugar, una solucin puede ser tab si posee alguna caracterstica que
no est permitida. Estas caractersticas se llaman atributos. En cada iteracin
existe un conjunto de atributos que no estn permitidas, son los denominados
atributos tab, por ejemplo, el valor de un determinado elemento de la
solucin.
En la configuracin de la bsqueda tab empleada en cada problema, se debe
definir de qu manera se convierten en tab determinados atributos
(caractersticas de la solucin), de tal manera que al pasar de una solucin x1 a
otra x2 mediante un determinado movimiento, se genere de forma automtica
el o los atributos tab asociados a la transicin anterior. Asimismo se debe
definir la longitud de la lista tab, es decir, el nmero de iteraciones durante el
cul dicho atributo va a ser tab.
Al pasar de una solucin a otra mediante un movimiento de insercin, como en
la figura, se puede generar el atributo tab consistente en que la ciudad 5 no
puede ser visitada en tercer lugar.
Solucin de partida

10

Solucin vecina

10

Fig.3. Atributos tab

-9-

Tcnicas metaheursticas

En segundo lugar, una solucin puede ser tab si para llegar a ella se ha
realizado un movimiento no permitido. Entonces se habla de movimiento tab.
Como en el caso anterior, la definicin de la bsqueda tab debe sealar el tipo
de movimientos tab asociados a cada iteracin y el nmero de iteraciones
durante el que dicho movimiento es, efectivamente, tab.
En el ejemplo anterior, un posible movimiento tab generado a partir de la
transicin considerada puede ser el consistente en insertar la ciudad que ocupe
el lugar sexto en el tercero.
A continuacin se citan algunos ejemplos de atributos tab:
que los elementos que ocupan las posiciones i y j en la solucin tomen los
valores a y b respectivamente;
que el elemento que ocupe la posicin i tome el valor a o que el elemento que
ocupe la posicin j tome el valor b;
que elemento que ocupe la posicin i sea mayor que un determinado valor a.
Igualmente, los siguientes son ejemplos de movimientos tab:
intercambiar los elementos de las posiciones i y j;
mover el elemento que est en las posicin i;
mover los elementos de las posiciones i y j;
mover el elemento i a una posicin anterior a la posicin a.
En cada aplicacin concreta se debe definir si las soluciones se convierten en tab
por haber llegado a ellas mediante movimientos tab o porque existen atributos
tab. Lo ms habitual es trabajar con atributos tab y no con movimientos tab,
aunque, de hecho, la definicin de un atributo tab est relacionada con los
movimientos que hacen que una determinada solucin tenga un atributo o no.
Tanto si el algoritmo trabaja con atributos tab como si lo hace con soluciones tab,
existe una lista denominada lista tab. Esta lista registra la informacin pertinente
para identificar las soluciones tab y no tab en cada una de las iteraciones. El
nmero de iteraciones que un movimiento o un atributo es tab viene dado por la
longitud de la lista tab.
La lista tab puede ser de dos tipos.

- 10 -

Tcnicas metaheursticas

Lista tab explcita, en la que se almacena el conjunto de todas las soluciones


que estn prohibidas porque contienen atributos tab. Esta alternativa consume
una cantidad muy elevada de recursos aunque puede ser interesante cuando se
utilizan estrategias que registran y analizan ciertas soluciones especiales.
Lista de atributos, en la que slo se registran los atributos tab en cada una de
las iteraciones. Por ejemplo, una lista tab de atributos puede ser como la de la
figura 4:

Posicin en la solucin

Valor del elemento de la solucin

Fig.4. Lista tab de atributos

Se trata de una lista tab de longitud igual a cinco formada por atributos tab. Las
dos primeras columnas indican, por ejemplo, que una solucin que contenga el
valor 4 en la segunda posicin y el 5 en la cuarta se considerar tab. Cada par de
columnas se interpretan de la misma manera. Cuando se alcanza una nueva
solucin, aparecen dos nuevas columnas, correspondientes a los atributos de la
solucin que se abandona que pasan a ser tab y desaparecen las dos columnas
correspondientes a la iteracin ms antigua.
La lista tab es uno de los elementos ms relevantes de esta tcnica metaheurstica.
Con ella se trata de impedir procesos de bsqueda cclicos en torno a un ptimo
local. Se debe tener presente que una lista tab muy larga puede impedir que el
heurstico explore regiones de soluciones interesantes, mientras que una lista tab
muy pequea puede conducir a bucles en torno a un ptimo local.
Glover (1989) seala que en las diferentes aplicaciones de la bsqueda tab se
observa que existe un rango de valores amplio para la longitud de la lista tab que
hace que el proceso de bsqueda evite bsquedas cclicas y, a la ve, ofrezca buenos
resultados. Conviene, por ello, al tratar de resolver un problema, realizar un serie
de ensayos previos para tratar de buscar cotas a la longitud de la bsqueda tab.
Con estos ensayos se observar que para valores muy pequeos de la longitud, el
proceso de bsqueda converger muy pronto entorno a ptimos locales; esto se
observa cuando aparecen repeticiones peridicas del valor de la funcin objetivo.

- 11 -

Tcnicas metaheursticas

Al contrario, para longitudes muy elevadas se observar un rpido empeoramiento


de las soluciones por las que pasa el proceso de bsqueda.
El nmero de iteraciones durante el cual permanecer un atributo tab puede ser
diferente. Con ello se pretende alentar la bsqueda en nuevas regiones (cuando el
nmero de iteraciones durante el cual el atributo es tab es elevado) o para
intensificarla en la regin en la que est en un determinado instante (cuando el
nmero es pequeo). Esta estrategia constituye una primera aproximacin al
concepto de estrategia de diversificacin y de intensificacin, que se comentarn
ms adelante.
Por ejemplo, si la memoria es explcita, es posible saber si la solucin seleccionada
en cada iteracin ha sido previamente seleccionada, de manera que se puede
multiplicar por un determinado factor el tiempo durante el cual el atributo
correspondiente ser tab, para hacer menos probable que la bsqueda realice un
nuevo ciclo. Para evitar que el nmero de iteraciones durante el cual un atributo es
tab, L, crezca indefinidamente, es necesario reducir dicho valor con un
determinado criterio, por ejemplo, cada vez que transcurra un nmero
determinado de iteraciones (dividiendo L, por ejemplo, por un determinado
factor).
Criterio de aspiracin
Existen casos en los que una solucin tab perteneciente al vecindario puede dejar
de serlo si cumple con un determinado criterio de aspiracin. Al permitir la
seleccin de soluciones tab, la bsqueda gana flexibilidad y permite la
exploracin de regiones de soluciones que pueden arrojar buenos resultados. A
continuacin se describen algunos criterios de aspiracin:
Criterio de aspiracin por defecto. Se trata del caso ms simple, segn el cual si
todas las soluciones en un determinado instante son tab se elegir aquella que
ha sido tab durante un mayor nmero de operaciones desde que fue
catalogada como tal, es la solucin menos tab porque es aquella a la que le
quedan menos iteraciones para dejar de ser tab.
Criterio de aspiracin determinado por la funcin objetivo. Una solucin dejar
de ser tab si el valor de la funcin objetivo correspondiente es mejor que el de
la mejor solucin encontrada hasta el momento (carcter global) o que la mejor
solucin del espacio de soluciones consideradas en ese instante (carcter local).

- 12 -

Tcnicas metaheursticas

Criterio de aspiracin segn la direccin de bsqueda. Un movimiento m que


introduce un atributo tab se acepta siempre y cuando si, primero, introduzca
una mejora en la funcin objetivo y, segundo, que en la transicin que dio lugar
a que dicho movimiento m fuera tab se realiz un movimiento que mejorara la
funcin objetivo.
Criterio de aspiracin segn la influencia del movimiento. Existen movimientos
cuya influencia sobre la evolucin del algoritmo es mayor que la de otros. Es
decir, determinados movimientos conducen a nuevas regiones de soluciones
mientras que otros no; los primeros tienen mayor influencia sobre la evolucin
de la bsqueda que los primeros. En este caso, se debe definir y cuantificar el
nivel de influencia de un determinado movimiento. Segn este criterio, un
movimiento (o un atributo correspondiente a un movimiento) de poca
influencia deja de serlo si tras l se ha realizado otro de mayor influencia. Esto
es as porque la posibilidad de que tenga lugar un proceso cclico es mucho
menor.
Por ejemplo, en el problema del viajero, si representamos la solucin como la
ordenacin de las ciudades por las que se desplaza, podemos cuantificar la
influencia de un movimiento a partir de la distancia entre las ciudades que se
ven afectadas por el movimiento.
Lista de candidatos. Exploracin del vecindario.
En cada iteracin es necesario considerar un conjunto de soluciones de entre las
cuales se seleccionar la prxima solucin. La exploracin de todas las soluciones
candidatas puede exigir mucho tiempo. En estos casos conviene explorar el
vecindario de una manera ms eficiente. A continuacin se citan algunas de las
posibles formas para generar las candidatas en cada iteracin.
Exploracin completa. Una primera forma de estudiar el vecindario consiste en
evaluar todas y cada una de las soluciones vecinas que son accesibles mediante
los movimientos definidos. En ocasiones esto puede ser muy costoso en
trminos de tiempo y por eso se emplean otros mtodos ms eficientes.
Exploracin aleatoria, en la que se acepta como nueva solucin la primera
solucin vecina que se encuentre mejor que la actual. De esta forma es ms
probable acceder a ciertas regiones con buenas soluciones.

- 13 -

Tcnicas metaheursticas

Exploracin por aspiracin1. En este caso se estudia el vecindario solucin por


solucin hasta que se encuentra una solucin vecina cuyo valor de la funcin
objetivo supera un determinado umbral. Una vez obtenida esta solucin, se
estudian otras M soluciones ms y se escoge la mejor de entre todas las
estudiadas. Generalmente se obliga a este mtodo a estudiar un nmero
mnimo y un nmero mximo de soluciones.
Exploracin mediante una lista de movimientos de lite. En una determinada
iteracin se estudia un nmero elevado de soluciones vecinas. De stas, se
seleccionan las k mejores y se almacenan los movimientos que han conducido a
la obtencin de dichas soluciones en una lista de movimientos de lite. En la
presente iteracin se utilizar el primer movimiento de la lista, el la siguiente el
segundo y as sucesivamente hasta que finalmente un movimiento cae por
debajo de un determinado umbral o transcurre un determinado nmero de
iteraciones. Cuando una de estas condiciones se cumple se construye de nuevo
la lista de movimientos de lite y se procede de la misma manera.
Exploracin mediante abanicos de soluciones. Con este mtodo, en una
determinada iteracin se examina un conjunto de soluciones de las que se
escogen las p mejores. A su vez se repite el proceso con estas soluciones
obteniendo de nuevo las p mejores. As un nmero de veces determinado, al
cabo de las cuales se obtiene un conjunto de p caminos a partir de la solucin
inicial. El camino que se escoge es el mejor de todos ellos. A partir de la
solucin en la que termina el proceso comienza de nuevo la exploracin. Con
este mtodo, en ocasiones, los caminos tendrn alguna solucin en comn, por
lo tanto, ser necesario general alguna solucin adicional para mantener
siempre p caminos.
Criterio de detencin
En cada transicin se debe estudiar si el proceso de bsqueda se debe detener o no.
Existen cuatro criterios que se utilizan tpicamente para finalizar el proceso de
bsqueda y admitir una solucin como buena. Son los siguientes:
1. haber efectuado un determinado nmero de iteraciones desde el comienzo del
proceso de bsqueda;

En la literatura sajona, este mtodo de exploracin se conoce como aspiration plus.


- 14 -

Tcnicas metaheursticas

2. haber realizado un determinado nmero de iteraciones sin mejorar la solucin;


3. haber alcanzado un determinado tiempo de computacin;
4. haber logrado un valor de la funcin objetivo suficientemente bueno.
En la figura 5 se muestra un diagrama de flujo en el que se muestra cmo opera la
bsqueda tab con memoria a corto plazo.
Examen de la lista de candidatos.
Generar un (nuevo) movimiento de las
lista de candidatos para crear una
solucin de prueba x a partir de la
solucin actual.

Identificar los atributos de x que


cambiaron para crear x

Incluyen estos atributos


un conjunto crtico de
atributos activos?

No

Evaluar la solucin x

Satisface el criterio de aspiracin?

Actualizacin de la solucin si x es
mejor que cualquiera los candidatos
examinados hasta el momento

No

No

Se han evaluado todas las


soluciones candidatas de acuerdo con
la forma de crear la lista de
candidatos?
S
Ejecutar el movimiento de x al mejor
x registrado

Fig.5. Diagrama de flujo de la memoria a corto plazo

- 15 -

Tcnicas metaheursticas

2.3.

Bsqueda tab y memoria de largo plazo

La bsqueda tab, tal y como se ha formulado en el apartado anterior , incorpora


una memoria (en forma de la lista tab). Esta memoria se refiere slo al corto plazo
y, en ocasiones, puede ser adecuada para la resolucin de determinados
problemas.
Sin embargo, la bsqueda tab puede ser ms potente si, adems de la memoria a
corto plazo, se incorporan estructuras de memoria a largo plazo que permitan
seguir estrategias ms eficientes.
Con el empleo de la memoria a largo plazo se registran soluciones denominadas de
lite con objeto de intensificar la bsqueda hacia regiones potencialmente atractivas
(estrategias de intensificacin) o bien para orientar la bsqueda hacia regiones no
suficientemente exploradas (estrategias de diversificacin).
Memoria de frecuencia
La memoria de frecuencia a largo plazo consta de dos indicadores: el indicador de
permanencia y el indicador de transicin. Ambos indicadores se expresan en forma
de ratios. En el caso del indicador de permanencia, el numerador del ratio es el
nmero de iteraciones durante las cuales la solucin seleccionada posea un
determinado atributo. En el indicador de transicin, el numerador es el nmero de
veces que un determinado movimiento ha tenido lugar o un determinado atributo
sale o entra de la solucin.
El denominador, en ambos casos puede ser (1) el nmero total de iteraciones
realizadas en el proceso de bsqueda, (2) el valor del mximo numerador o (3) la
suma de todos los numeradores.
En el problema del viajante, un indicador de permanencia puede ser el nmero de
veces que la ciudad C1 ha ocupado el lugar i-simo en la solucin. Un posible
indicador de transicin es el nmero de veces que intercambian su posicin las
ciudades C1 y C2.
Estrategias de intensificacin
Las estrategias de intensificacin modifican las reglas de seleccin de soluciones
vecinas para explorar con mayor profundidad determinadas regiones del espacio
de soluciones:

- 16 -

Tcnicas metaheursticas

alentando la aparicin de determinadas caractersticas de las nuevas soluciones


o fomentando determinados movimientos que presumiblemente conduzcan a
regiones atractivas o
volviendo a regiones de soluciones ya visitadas con intencin de explorarlas de
forma ms exhaustiva.
Una forma incorporar las estrategias de intensificacin consiste en tener un registro
de k soluciones, las k mejores visitadas durante el proceso. Cuando se encuentra
una solucin mejor que cualquier otra visitada hasta entonces se aade al final de
la lista y se toma la primera solucin x1 de la lista como punto de partida del
proceso de bsqueda. Adems de los atributos activos que estn operando en ese
momento, se tienen en cuenta los atributos tab asociados a la solucin x1 que se
generaron cuando esa solucin se acept como nueva solucin en el proceso de
bsqueda. De esta manera el proceso de bsqueda vuelve a una solucin visitada
anteriormente pero, sin embargo, el camino iniciado es otro y los atributos tab
son, en general, diferentes, de modo que cabe esperar que de esta forma se
exploren soluciones del entorno de una solucin interesante no exploradas con
anterioridad.
Otra forma que adoptan las estrategias de intensificacin son las denominadas
estrategias de intensificacin por descomposicin. Estas estrategias consisten en la
construccin de soluciones de partida del proceso de bsqueda mediante la
combinacin de elementos o atributos interesantes de las soluciones visitadas. Para
ello es til la memoria a largo plazo: los indicadores de permanencia indican si un
atributo es atractivo o no, dependiendo de que cuando aparezca, las soluciones que
lo contienen sean de calidad o no respectivamente. Si un atributo aparece ligado
sistemticamente con soluciones de buena calidad conviene intensificar la
bsqueda en regiones de soluciones que ofrezcan dicho atributo y, al contrario, si
las soluciones son de mala calidad conviene abandonar la bsqueda en tales
regiones.
Un ejemplo de esta segunda opcin para el problema del viajante es la siguiente
consiste en identificar las ciudades que estn en los extremos del recorrido de
muchas soluciones de elevada calidad y dejarlos atrapados en el interior del
recorrido para modificar otras partes de la solucin.

- 17 -

Tcnicas metaheursticas

Estrategias de diversificacin
Con las estrategias de diversificacin se persigue la exploracin de nuevas
regiones. Para ello, en primer lugar, se puede modificar el valor de la funcin
objetivo de manera que aumente o disminuya segn los atributos que contenga
dicha solucin hayan aparecido en pocas o en numerosas ocasiones a lo largo de la
exploracin. En un problema de maximizacin, se define el valor de un
movimiento como el incremento de la funcin objetivo. Cuanto mayor es el valor
de un movimiento, ms atractiva es la solucin a la que conduce ese movimiento.
El valor del movimiento puede modificarse de la siguiente manera:
valor del movimiento = valor del movimiento - d penalizacin
donde la penalizacin suele depender de la frecuencia del atributo (medida segn
los ratios descritos antes) y d es un parmetro de diversificacin. Las
penalizaciones negativas o incentivos tienen el objetivo de alentar la aparicin
determinados atributos y las penalizaciones positivas, inhibir la aparicin de
dichos atributos. Por su lado, los valores elevados de d indican una mayor
tendencia a la diversificacin (a explorar nuevas regiones).
Para diversificar el proceso de bsqueda tambin se puede, peridicamente,
reiniciar el proceso con una nueva solucin de partida construida a partir de la
informacin almacenada de la memoria a largo plazo, fomentando la aparicin de
atributos que han aparecido con poca frecuencia e inhibiendo la de aquellos que
han aparecido en ms ocasiones.
Por otro lado, si la permanencia de un determinado atributo conduce a soluciones
tanto de buena como de mala calidad, el atributo puede estar anclando la bsqueda
a una regin sin resultados interesantes y conviene deshacerse de l. Al contrario,
si la aparicin poco frecuente de un atributo conduce al mismo resultado de antes
quiz la bsqueda est siendo restringida al no incluir regiones con dicho atributo
y convenga introducirlo. En ambos casos se trata de diversificar la bsqueda.
Existen diferentes formas de realizar diferentes etapas, unas en las que se
intensifica el proceso de bsqueda y otras en las que se diversifica. Sin embargo, no
se conoce suficientemente bien cmo combinar intensificacin y diversificacin de
la manera ms eficiente.

- 18 -

Tcnicas metaheursticas

Estructura del proceso


Las estrategias de diversificacin y de intensificacin se introducen en el proceso
de bsqueda de forma conjunta con los pasos descritos anteriormente para la
bsqueda tab con memoria de corto plazo.
Al final de cada iteracin se comprueba si se satisface alguna determinada
condicin que active una fase de diversificacin o de intensificacin. Por ejemplo,
si transcurrido un determinado nmero de iteraciones la solucin no ha mejorado,
se inicia una fase de diversificacin: se modifican el valor de los movimientos
segn se ha descrito anteriormente durante un nmero de iteraciones o hasta que
no se cumpla alguna condicin, o se reinicializa el proceso generando una nueva
solucin, etc.
Igualmente, en determinados instantes y cuando se cumpla una determinada
condicin, se inicia una etapa de intensificacin utilizando, por ejemplo, alguna de
las medidas descritas ms arriba.
2.4.

Oscilacin estratgica

Objetivo: permitir la bsqueda en determinadas regiones no exploradas mediante


la admisin como soluciones actuales soluciones no factibles. Las soluciones no
factibles tienen una penalizacin. La penalizacin se modifica segn el nmero de
veces que el algoritmo haya transitado por soluciones no factibles. Ejemplo en la
pg. 159 de Essays and surveys in metaheuristics
2.5.

Conclusiones

La bsqueda tab ofrece un conjunto muy amplio de posibilidades para la


resolucin de problemas combinatorios. El mtodo se basa en la acumulacin de
informacin sobre el proceso de bsqueda.
De forma sucinta comentaremos que, con respecto a la convergencia de la
bsqueda tab, el proceso de bsqueda ordinario, de carcter determinista, no
converge a un ptimo local. Sin embargo, se puede demostrar que la bsqueda
converge asintticamente al introducir elementos estocsticos (definiendo
funciones de probabilidad que gobiernen el proceso de seleccin de candidatos, el
grado de reversibilidad de determinados movimientos as como la aplicacin del
criterio de aspiracin).
- 19 -

Tcnicas metaheursticas

Es posible disear procesos de bsqueda sencillos que ofrecen ventajas frente a


otros mtodos. Se pueden disear bsquedas ms elaboradas cuyo desarrollo exige
ms tiempo pero son ms eficientes.
En este captulo introductorio se han comentado los aspectos ms relevantes, pero
existen muchas otras consideraciones que dan lugar a diferentes alternativas que,
en cada caso, hacen que la bsqueda tab adopte formas particulares.

- 20 -

Tcnicas metaheursticas

3. Algoritmos genticos

3.1.

Presentacin

La tcnica metaheurstica de los algoritmos genticos fue ideada por Holland en


1975 y est inspirada en los procesos de adaptacin de los seres vivos. Los
resultados de los patrones de evolucin de los seres vivos han sido sobradamente
probados con xito (a lo largo de la evolucin de las especies) y constituyen la base
de los algoritmos genticos. Por un lado, estos patrones permiten que con el
transcurso del tiempo se exploren continuamente nuevas posibilidades y, por otro,
y en condiciones normales, raramente conducen a la obtencin de individuos
absolutamente desadaptados e incapaces de sobrevivir.
Partiendo de una poblacin inicial, es decir, un conjunto inicial de soluciones, se
realizan manipulaciones por las que se obtienen sucesivas poblaciones. La funcin
de adaptacin indica la bondad de las soluciones consideradas en cada momento.
En cada iteracin se realizan una serie de operaciones con los individuos de la
poblacin, de entre las cuales las ms comunes son: la seleccin, el cruce, la
mutacin y la inversin. La aplicacin de los operadores anteriores permite
obtener, tpicamente, soluciones con mejores funciones de adaptacin.
Los algoritmos genticos pertenecen al grupo de las tcnicas evolucionarias, que
son aquellas tcnicas que en cada iteracin disponen de un conjunto de soluciones
a partir de las cuales obtienen un nuevo conjunto de soluciones.
Nomenclatura
Como se ha dicho, los algoritmos genticos estn basados en la observacin de la
evolucin natural de las especies. Existen, por lo tanto, analogas entre la
nomenclatura propia de la Biologa y la que se emplea en la tcnica metaheurstica
de los algoritmos genticos.
Los cromosomas de los seres vivos contienen la informacin de los mismos. Estos
cromosomas estn, a su vez, formados por genes, y cada uno de los genes es
responsable de un rasgo del individuo. Los genes estn formados por secuencias
de cuatro tipos de aminocidos.
- 21 -

Tcnicas metaheursticas

La informacin contenida en los cromosomas se llama genotipo. La descodificacin


(realizada por diferentes enzimas) del genotipo de cada individuo da lugar a un
conjunto de caractersticas (llamado fenotipo), lo que le confiere al individuo unas
determinadas condiciones de adaptacin en funcin del entorno en el que se
encuentre.
En los algoritmos genticos, el equivalente del genotipo es una cadena de
caracteres. El equivalente del fenotipo es la solucin que resulta de la
descodificacin de la cadena anterior y, finalmente, la funcin objetivo hace las
veces de entorno y permite evaluar la bondad de las soluciones.
El significado del trmino individuo es distinto en el contexto de los algoritmos
genticos y en el mbito biolgico. En trminos biolgicos, un individuo es un
animal o vegetal de determinada especie. Sin embargo, y haciendo un abuso del
lenguaje, al hablar de un individuo nos referimos a una cadena de caracteres que
representan una solucin o un conjunto de ellas. El conjunto de individuos
constituye una poblacin. La figura 6 ilustra la relacin entre los algoritmos
genticos y la biologa:

Cromosomas

GENOTIPO
Cadenas

Entorno

Descodificacin

FENOTIPO
Descodificacin
Codificacin

Solucin del
problema

ADAPTACIN
Funcin
objetivo

Funcin de
adaptacin

Fig.6. Analogas entre la tcnica metaheurstica y la Biologa

3.2.

Mtodo

El mtodo que siguen los algoritmos genticos no es nico y rgido. Existen


diferentes mtodos propuestos por diversos autores, con caractersticas similares
pero con diferencias significativas. Todos ellos trabajan con un conjunto de
individuos que son sometidos a diferentes operadores genticos con objeto de
obtener nuevos y mejores individuos. Las variantes de los operadores y la forma
- 22 -

Tcnicas metaheursticas

en la que se aplican sobre la poblacin determinan las diferencias ms notables


entre unos algoritmos y otros.
A continuacin se describen someramente algunos de los aspectos del mtodo que
siguen los algoritmos genticos. Ms adelante se profundiza en los aspectos ms
relevantes de la tcnica.
El espacio de soluciones del problema tratado queda representado por un conjunto
finito de cadenas o matrices. Cada una de estas, a las que se les denomina
individuos, representa al menos una solucin del problema. Debe existir, por lo
tanto, un cdigo que establezca una relacin entre las diferentes soluciones y las
representaciones de las mismas.
En cada instante existe un conjunto de individuos llamado poblacin. A lo largo de
proceso de bsqueda (y a diferencia de otras tcnicas metaheursticas) los
algoritmos genticos exploran un conjunto de soluciones y no una sola. De esta
forma, se pretende que el proceso de bsqueda no quede atrapado en un ptimo
local.
De cada uno de los individuos es posible obtener su funcin de adaptacin a travs
de la evaluacin de la solucin a la que representa. Cuanto mayor es dicha funcin
mejor es la solucin (su equivalente en el mbito biolgico es la capacidad del
individuo para sobrevivir y generar descendencia).
Los individuos mejor adaptados (con mayores valores de la funcin de adaptacin)
son seleccionados, con mayor probabilidad cuanto mayor sea la funcin de
adaptacin (seleccin). Estos individuos los padres se someten a una operacin
de cruce, por el que se generan nuevos individuos que conforman la
descendencia resultado de la unin de diferentes elementos de la cadena de los
progenitores.
Algunos (o todos) los individuos que formaban la poblacin inicial son
reemplazados por parte (o todo) el conjunto de los nuevos individuos de la
descendencia (reduccin). En cualquier caso, al comienzo de cada iteracin se
cuenta siempre con una poblacin de un determinado nmero de individuos, que
permanece constante durante el proceso de bsqueda.
Por otra parte, con una determinada probabilidad las cadenas de los individuos se
someten a algn tipo de modificacin (mutacin).

- 23 -

Tcnicas metaheursticas

El proceso se detiene cuando se cumple alguna condicin relativa al tiempo de


proceso o al nmero de iteraciones o a la bondad de las soluciones obtenidas hasta
el momento.
Codificacin de la solucin
El algoritmo trabaja con la representacin de las soluciones y realiza
modificaciones sobre las mismas sin conocer cules son las soluciones que
representan los individuos. Por lo tanto, el proceso desconoce las soluciones con
las que trabaja, por esto es importante que la codificacin permita una
representacin adecuada de las soluciones y que las modificaciones que el
algoritmo realice sobre dichas representaciones tengan significado respecto del
problema que se aborde. De no ser as, lo que se puede obtener es cualquier tipo de
individuos sin que mejore la funcin de adaptacin.
Atendiendo al tipo de relacin que se establece entre las representaciones y las
soluciones podemos distinguir tres tipos de codificacin:
Uno-a-muchos: existen individuos que aun siendo diferentes representan la
misma solucin. En este caso el algoritmo trabaja con las representaciones de
las soluciones como si efectivamente fueran diferentes (aunque no lo son de
hecho, el valor de la funcin de adaptacin es el mismo porque la solucin que
representan es la misma). Este tipo de codificaciones provoca que la bsqueda
sea menos eficiente porque el algoritmo se detiene en la exploracin y
comparacin de individuos que aparentemente son diferentes pero que
corresponden a la misma solucin.
Muchas a una: muchas soluciones quedan representadas por una sola
representacin. Esta representacin no es adecuada porque adolece de cierta
falta de detalle (si un individuo representa a diferentes soluciones puede
ocurrir que ese individuo represente a soluciones con caractersticas muy
diferentes). Adems, en cada paso se debe seleccionar cual de las soluciones a
las que representa cada individuo se evala; tpicamente la mejor, por lo que
existe un proceso de optimizacin local del cual las tcnicas metaheursticas
tratan de huir en general. Por otro lado, puede ser interesante si permite
explorar las soluciones atendiendo a algn rasgo en particular, cuya
importancia tenga ms peso que cualquier otro. En este sentido, el proceso de
bsqueda puede ser ms eficiente.

- 24 -

Tcnicas metaheursticas

Una-a-una: cada solucin queda representada por uno y solo un individuo. Es el


mejor tipo de representacin, ya que el espacio de bsqueda es el ms pequeo
posible de entre los que se pueden obtener sin perder nada de informacin
relativa a las soluciones.
Por otro lado, atendiendo a la naturaleza de la representacin podemos distinguir
dos grandes grupos:
Codificaciones binarias. Las representaciones son cadenas de ceros y unos. Este
tipo de codificacin es que el que ms se ha empleado en la literatura, tratando
de obtener ventajas derivadas del empleo de los diferentes operadores basado
en el teorema de los esquemas (que se comentar al final).
Codificaciones no binarias: aunque menos empleadas, pueden ofrecer ciertas
ventajas. Exigen un tratamiento diferente al de las codificaciones binarias.
(comentar las ventajas que dicen algunos autores)
Seleccin de la poblacin inicial
Como en el resto de tcnicas metaheursticas, las solucin de partida (la poblacin
en este caso) se puede obtener de forma aleatoria o partir de la aplicacin de
alguna regla sencilla o, simplemente, a partir de soluciones conocidas obtenidas
por experiencias anteriores.
La generacin de una poblacin de forma aleatoria es ventajosa en cuanto que
permite que el proceso de bsqueda comience con un conjunto de soluciones
suficientemente diferentes. Por otro lado, al generar una poblacin aleatoria, si el
resultado del proceso de bsqueda es satisfactorio, esto ser por las bondades del
propio proceso y no por el mtodo de generacin de la primera poblacin.
Seleccin
Con este operador se obtiene el conjunto de individuos de la poblacin actual que
va a generar la descendencia de una poblacin dada, que formarn parte de
individuos de la siguiente poblacin.
En trminos biolgicos, los individuos ms adaptados tienen ms probabilidad de
sobrevivir y de procrear en mayor medida. La tcnica metaheurstica, igualmente,
selecciona aquellas soluciones cuya funcin de adaptacin sea mayor. Sin embargo,
si slo se eligieran aquellos individuos cuya funcin de adaptacin fuera mayor
existira el peligro de converger en torno a un ptimo local de forma prematura.
- 25 -

Tcnicas metaheursticas

La probabilidad de que este operador seleccione a cada individuo es mayor cuanto


mayor sea su funcin de adaptacin. Algunas de las formas de establecer esta
relacin son las siguientes.
Seleccin proporcional (es el criterio de seleccin de la propuesta original de
Holland). La probabilidad de seleccin de cada individuo es proporcional a su
funcin de adaptacin. Conviene notar que se trata de una probabilidad y no
una proporcin determinista: los individuos mejor adaptados tienen ms
probabilidad de ser seleccionados y, por lo tanto, por trmino medio sern
elegidos en mayor proporcin, pero no existen garantas de que en una
iteracin particular los individuos sean seleccionados en proporciones idnticas
a sus probabilidades de seleccin.
Pi =

Fi
Fj
j

donde:
Pi: es la probabilidad de seleccionar el individuo i
Fj: es la funcin de adaptacin del individuo j
Seleccin determinista. En este caso s que se trata de proporciones deterministas.

Los individuos son seleccionados en una proporcin directamente proporcional


a su funcin de adaptacin. Con este tipo de seleccin se acelera la
convergencia del algoritmo: si existen soluciones mejor adaptadas que otras
pero prximas a un ptimo local, la bsqueda se centrar en la regin de dicho
ptimo local, a pesar de que puedan existir otros individuos peor adaptados
alejados de dicho ptimo y ms prximos a otro ptimo local (mejor que el
anterior) o incluso ms prximo al ptimo global.
Normalizacin. La seleccin proporcional plantea algunos problemas. Por

ejemplo, no siempre tiene sentido que si a un individuo le corresponde una


funcin de adaptacin cuyo valor es el doble que la de otro (est doblemente
mejor adaptados), aquel tenga el doble de probabilidades de ser seleccionado
que este. Adems, si las diferencias entre los valores de las funciones de
adaptacin de los individuos son muy elevadas se puede provocar una
convergencia prematura del proceso en un entorno de la regin donde se
ubican los individuos con mayores valores de la funcin de adaptacin. Al
contrario, en ocasiones, a pesar de que las diferencias entre diferentes valores
- 26 -

Tcnicas metaheursticas

de la funcin de adaptacin no sean elevadas en comparacin con los valores


absolutos de la misma, puede ocurrir que las soluciones sean bien diferentes en
trminos del objetivo que se persigue.
Para solventar estos y otros problemas se propone una correccin
(normalizacin) de los valores de la funcin de adaptacin de la siguiente
manera:
F 'i =

F ' max F ' min


(Fi Fmin )
Fmax Fmin

donde:
Fmax y Fmin representan, respectivamente, el mayor y el menor valor de entre
todos los valores de la funcin de adaptacin de los individuos de la poblacin.
Fmax y Fmin son, respectivamente, el mayor y el menor de valor que toma la
funcin de adaptacin normalizada, a partir de la cual se procede como en el
caso de la seleccin proporcional.
La dificultad de esta alternativa radica en que no es sencillo encontrar los
valores de Fmax y Fmin adecuados.
Clasificacin. Segn este criterio, se asignan probabilidades de seleccin

directamente proporcionales al lugar que ocupa cada individuo en la


clasificacin que se establece al ordenar los individuos por valor creciente de la
funcin de adaptacin. Es decir:
F 'i =

Ri
2 Ri
=
Rj N ( N + 1)
j

donde:
Ri es la posicin que ocupa el individuo i al ordenar la poblacin por valor
creciente de la funcin de adaptacin.
N es el nmero total de individuos de la poblacin.
Lo que se pretende con este mtodo es seleccionar a los individuos
independientemente de la funcin de adaptacin y atendiendo slo a sus
posiciones relativas.
Seleccin por torneo. A pesar de que los dos mtodos anteriores tratan de evitar

la relacin proporcional entre la funcin de adaptacin y la probabilidad de


- 27 -

Tcnicas metaheursticas

seleccin, la idea de proporcin no desaparece por completo al efectuarse una


seleccin proporcional, ya sea con las posiciones que ocupan los individuos o
las funciones de adaptacin normalizadas.
Este ltimo procedimiento abandona por completo el criterio de seleccin
proporcional y est basado en comparaciones (torneos) entre individuos. En el
proceso se van comparando parejas y se va estableciendo una clasificacin de
los individuos. En primer lugar, se escogen dos individuos de la poblacin al
azar. Aquel cuya funcin de adaptacin sea menor pasa a formar parte de la
lista de clasificacin, y como se trata del primer elemento elegido ocupar el
ltimo lugar. Este elemento deja de ser un candidato para participar en nuevas
comparaciones porque ya ha sido clasificado. El otro elemento de la
comparacin (mejor adaptado) s vuelve a ser candidato para participar en
nuevas comparaciones. Repitiendo este proceso se obtiene finalmente una lista
con la clasificacin definitiva de los individuos de la poblacin.
Esta clasificacin, tal y como se obtiene, es la que se emplea en el proceso de
seleccin. Ya no es necesario realizar ningn tipo de asignacin de probabilidad
proporcional porque, de hecho, el elemento aleatorio se introduce mediante la
eleccin de los individuos que participan en cada comparacin.
Cruce
Este operador, conocido tambin como el de recombinacin, es el ms importante
de esta tcnica metaheurstica. El objetivo del cruce es combinar elementos de
informacin de diferentes individuos, de modo que las caractersticas interesantes
que estaban dispersas en diferentes individuos queden reunidas en uno nuevo,
confiando en que los individuos obtenidos de esta manera representen soluciones
de mejor calidad.
La forma en que se realiza el cruce depende del tipo de representacin que se
escoja. Para ilustrar algunas posibilidades supondremos que la representacin de
las soluciones de un determinado problema es de tipo binario y es una cadena de
ocho elementos. Los individuos A y B han sido seleccionados para someterlos al
operador del cruce:
Individuo A: 1 1 1 0 1 0 0 1
Individuo B: 0 1 0 0 1 1 0 0
Podemos describir los siguientes tipos de cruce (que no son los nicos):
- 28 -

Tcnicas metaheursticas

Operador de cruce simple. Segn este tipo se cruce, se selecciona un punto de la

cadena en cada uno de los padres y se generan nuevos individuos combinando


las partes que generan los cortes anteriores, como aparece en la figura 7.
Padres

11101001

01001100

Descendientes

11101100

01001001

Fig.7. Operador de cruce simple

Operador con dos puntos de corte. Es anlogo al anterior, salvo que se seleccionan

dos puntos de corte y los padres intercambian los elementos de la cadena que
quedan entre dichos puntos para generar los descendientes.

Padres

11101001

01001100

Descendientes

11101101

01001000

Fig.8. Operador de cruce con dos puntos de corte

Operador de cruce conforme a una mscara de cruce. En este caso, los genes de los

descendientes se obtienen de acuerdo con el criterio dado por una mscara. La


mscara, en el ejemplo, es una cadena de ceros y unos. Para cada posicin de la
descendencia se tomar el gen del padre 1 si el valor de la mscara para dicha
posicin es 1 y del padre 2 si el valor del gen es 0.

Mscara de cruce

11010010

Padre 1

11101001

Descendiente

11001100

Padre 2

01001100

Fig.9. Operador de cruce conforme a una mscara de cruce


- 29 -

Tcnicas metaheursticas

Reproduccin
En trminos biolgicos, los individuos mejor adaptados perduran durante varias
operaciones. Por eso, el operador de seleccin escoge aquellos individuos con
buenas caractersticas y que deben perdurar a lo largo del tiempo y no
desperdigarse entre otros individuos nuevos. El operador de reproduccin
selecciona a los individuos de una determinada poblacin que pertenecen tambin
a la siguiente, sin sufrir ningn otro tipo de modificacin.
Mutacin
Con los operadores anteriores se obtienen individuos que combinan rasgos que
estn presentes en los individuos de la poblacin. Sin embargo, pueden existir
caractersticas que quedan sin explorar si slo se emplean los operadores
anteriores. Con la mutacin se introducen modificaciones en los individuos de la
descendencia.
Siguiendo con el ejemplo anterior, la mutacin consistira en transformar un cero
en uno (o viceversa) con una probabilidad determinada:

Individuo antes de la mutacin

11010010

Individuo tras la mutacin

11101101

Fig.10. Operador de mutacin

Si la probabilidad con la que tiene lugar la mutacin en muy pequea, es difcil que
vuelvan a aparecer caractersticas que han sido abandonadas por el operador de
cruce. En una determinada regin puede ocurrir que las si las primeras tres
posiciones estn ocupadas por elementos 1, el resultado obtenido no sea bueno,
por lo tanto los operadores de seleccin y cruce harn que los esas caractersticas se
abandonen. Pero si cambia la regin en la que tiene lugar la exploracin, es decir, si
el resto de los elementos cambian notablemente, pude ocurrir que tres 1 en las
tres primeras posiciones arrojen un buen resultado; la mutacin permite que esas
caractersticas se vuelvan a recuperar.
Si la probabilidad de mutacin es elevada, es probable que alguna de las
caractersticas adecuadas de la solucin se pierda y la tcnica se desve de regiones
potencialmente interesantes sin haber explorado con suficiente profundidad las

- 30 -

Tcnicas metaheursticas

regiones visitadas. En el caso extremo de que la probabilidad de mutacin fuera


uno el proceso se convertira en una exploracin de todo el espacio de soluciones
altamente ineficiente al no eliminar la posibilidad de examinar un individuo ms
de una vez.
Reduccin
Inversin
El objetivo de este operador no es modificar las caractersticas de ningn individuo
ni obtener alguna nueva, sino realizar modificaciones en las representaciones de tal
manera que la probabilidad de que los individuos resultantes del cruce en
posteriores iteraciones tengan ms probabilidad de ser individuos mejor
adaptados.
Dado un determinado individuo, como el de la figura 11, es ms probable que tras
una operacin de cruce, el par de cromosomas indicados con crculo permanezcan
unidos a que lo hagan los dos cromosomas sealados con un cuadrado. Sin
embargo, puede ocurrir que sean los cromosomas indicados con los cuadrados los
que ofrezcan mejores funciones de adaptacin.

11101101
Fig.11. Justificacin del operador de inversin

Para evitar que esto ocurre se introduce la mutacin. Pero previamente es


necesario ampliar la codificacin de las soluciones. Los individuos que antes
quedaban representados por una cadena de ocho bits ahora quedan representados
por ocho parejas de elementos. Cada pareja est formada por el valor del bit y por
la posicin que dicho bit ocupa en la cadena. El individuo de la figura 11, podra
quedar representado de alguna de las siguientes maneras:
(1,1),(1,2),(1,3),(0,4),(1,5),(1,6),(0,7),(1,8)
(1,8),(1,1),(1,3),(0,4),(1,5),(1,2),(1,6),(0,7)
(1,6),(1,8),(1,3),(0,4),(1,5),(1,2),(0,7),(1,1)

- 31 -

Tcnicas metaheursticas

Con esta ltima representacin del individuo es mucho ms probable que los bits
que antes estaban indicados con cuadrados permanezcan en un mismo individuo
tras realizar una operacin de cruce.
El operador de inversin introduce modificaciones de este tipo para equilibrar las
probabilidades de asociadas a que diferentes agrupaciones de bits permanezcan
igual tras las operaciones de seleccin y cruce. Sin embargo, en ningn caso se
introduce ninguna modificacin en trminos del conjunto de soluciones
considerados en cada iteracin.
Para finalizar, se propone el flujograma de una de las posibles combinaciones de
los operadores anteriores, la que describen Pham D.T. y Karaboga D. (2000).
Generacin de la poblacin
inicial

Evaluacin de la funcin de
adaptacin de los individuos
de la poblacin

Seleccin

Cruce

Mutacin

Reduccin

si

Criterio de detencin
satisfecho?
no
Fin

Fig.12. Algoritmo gentico de Pham D.T. y Karaboga D. (2000)

- 32 -

Tcnicas metaheursticas

3.3. Justificacin de la eficacia de los algoritmos genticos. Teorema de


los esquemas
A continuacin se ofrece una explicacin de la eficacia de los algoritmos que no
pretende ser una demostracin rigurosa.
Para poder dar una explicacin de cmo operan los algoritmos genticos es
necesario introducir el concepto de esquema. Cada una de las representaciones de
las soluciones con las que trabaja el algoritmo es un vector del espacio de
soluciones, que tiene tantas dimensiones como genes.
Un esquema es la regin del espacio de soluciones (un hiperplano) que queda
determinado cuando se establecen los valores de determinados genes. Si
consideramos, por ejemplo, un problema en el que cada solucin quede
representada por cinco genes, cada uno de los cuales puede tomar cualquier valor
entero entre 0 y 9, podemos definir el siguientes esquema:
X2X3X
Este esquema representa el hiperplano del espacio de soluciones definido por
todos aquellos vectores cuyo segundo y cuarto genes son 2 y 3 respectivamente.
El orden de un esquema viene dado por el nmero de genes cuyos valores quedan
definidos por dicho esquema. Los diferentes vectores pueden ser contemplados
como esquemas de orden igual al nmero de genes.
Por otro lado, la distancia de un esquema es la diferencia entre las posiciones que
ocupan los genes ltimo y primero definidos por el esquema. En el ejemplo
anterior la distancia es 4 2 = 2.
La hiptesis sobre la que se sustentan los algoritmos genticos es la siguiente: un
punto determinado del espacio de soluciones aporta informacin relevante (es
representativo) de los esquemas a los que pertenece. Es decir, si el cromosoma
42231
ofrece una buena funcin de adaptacin, los esquemas que lo contienen (y entre
ellos el del ejemplo anterior) probablemente tambin contengan ms cromosomas
con buenos valores de la funcin de adaptacin. Como, adems, un determinado
cromosoma es el resultado de la interseccin de un conjunto de esquemas, la
bsqueda de una buena solucin pasa por la bsqueda de un buen conjunto de
esquemas.
- 33 -

Tcnicas metaheursticas

Por otro lado, es preferible estudiar esquemas de orden reducido, porque definen
regiones ms amplias del espacio de soluciones y, a su vez, contienen a los
esquemas de mayor orden. Adems, la interseccin de esquemas de orden
reducido define otros de mayor orden. As, por ejemplo, si los esquemas:
XX3X y 4XXX
ofrecen soluciones mejores que la media del resto de los esquemas considerados,
cabe esperar que el esquema
4X3X
represente una regin de soluciones potencialmente ms interesante que el resto de
esquemas.
Sin embargo, aunque existen esquemas de orden reducido mejores que otros, se
desconoce cules son los mejores y cuales los peores. Una forma de comprobar si,
efectivamente, un esquema contiene cromosomas interesantes pasara por explorar
sistemticamente dichos esquemas. Sin embargo, la exploracin sistemtica
consume el tiempo que las tcnicas metaheursticas tratan de ahorrar.
El mecanismo de los algoritmos genticos orienta la bsqueda de manera que es
capaz de combinar la deteccin de nuevos esquemas interesantes con la
exploracin de aquellos conocidos y potencialmente interesantes (un esquema es
potencialmente interesante porque algn o algunos cromosomas contenidos en
ellos ofrecen resultados superiores a la media).
Por ltimo, en los casos en los que se debe elegir durante muchas ocasiones entre
dos alternativas, cada una de las cuales ofrece un resultado que responde a una
determinada distribucin de probabilidad (una mejor y otra peor), la estrategia
ptima (en trminos de la esperanza de los resultados obtenidos) consiste en
incrementar exponencialmente el nmero de selecciones de la alternativa que en
mayor nmero de veces ha ofrecido mejor resultado.
El caso de los algoritmos genticos constituye una extensin del problema anterior
en el que no se trata de una alternativa sino de muchas. Supongamos el caso en el
que slo existe cruce y que la seleccin de los individuos se realiza
proporcionalmente al valor de la funcin de adaptacin. Si en un determinado
instante la poblacin ofrece un conjunto de individuos en los que un determinado
esquema H ofrece mejores resultados que la media, es decir:
f ( H ) = (1 + c) f
- 34 -

Tcnicas metaheursticas

donde
f(H) es la media de los valores de la funcin de adaptacin de los individuos
contenidos en dicho esquema y
f es la media de los valores de la funcin de adaptacin de la poblacin,
la cantidad de individuos que contengan dicho esquema en la siguiente generacin
aumentar en la misma proporcin, esto es:
m( H , t + 1) = m( H , t )

f (H )
= (1 + c) m( H , t )
f

donde m(H,t) y m(H, t+1) son, respectivamente, el nmero de individuos


contenidos en el esquema H en el instante t y en el instante t+1.
La explicacin no es tan sencilla; existen ms operadores genticos que alteran la
proporcin en la que aumentan los individuos contenidos en un determinado
esquema, los individuos estn contenidos en varios esquemas (si se consideran
esquemas de orden 1, estn contenidos en un nmero igual a las dimensiones del
espacio de soluciones considerado), y, por ltimo, no se trata de seleccionar entre
dos alternativas en cada iteracin, sino entre un conjunto de ellas.
Holland y Goldberg ofrecen demostraciones rigurosas del teorema de los
esquemas prestando atencin a estas consideraciones y concluyen que con el
operador de seleccin y cruce se espera obtener descendientes mejor adaptados
que sus antecesores.
3.4.

Conclusin

Los algoritmos genticos son constituyen una tcnica metaheurstica ampliamente


estudiada con multitud de variantes y con aplicaciones a numerosos campos. Su
particularidad consiste en que en cada iteracin estudia un conjunto de soluciones
a partir de las que realiza operaciones, para combinar caractersticas de las mismas
con nimo de obtener poblaciones de mejor calidad.

- 35 -

Tcnicas metaheursticas

4. Recocido simulado

4.1.

Presentacin

La tcnica del recocido simulado fue formulada por Kirkpatrick, Gelatt y Vecchi en
1983. Esta tcnica est inspirada en el proceso de solidificacin de los slidos. En
este proceso, a medida que baja la temperatura el slido va modificando su
configuracin. Cada una de las configuraciones tiene asociada una energa
determinada. Por otro lado, a medida que la temperatura decrece, el conjunto de
configuraciones que puede adoptar el slido (y por lo tanto los diferentes estados
de energa) se va restringiendo.
Con una velocidad de enfriamiento muy rpida se obtienen slidos no cristalinos,
porque partiendo de estados energticos elevados la temperatura desciende
rpidamente

las

molculas

no

pueden

reconfigurarse

para

adoptar

configuraciones cada vez ms estables (con menor energa) debido a que, como
hemos dicho, las posibles configuraciones se reducen conforme disminuye la
temperatura.
El recocido simulado trata de hacer mnima una funcin, que hace las veces de
nivel de energa del slido. A lo largo del proceso se van explorando diferentes
soluciones, que en trminos del proceso de solidificacin equivalen las diferentes
configuraciones que puede adoptar el slido. Igual que en el proceso de
solidificacin, en el recocido simulado se define una variable temperatura, T, que
influye en las posibles soluciones a las que se puede acceder en cada iteracin.
El recocido simulado ha sido aplicado, entre otros, a los siguientes campos: diseo
de circuitos, comunicaciones, Investigacin operativa, Fsica y Geofsica, Biofsica,
Bioqumica y Biologa molecular.

4.2.

Descripcin del proceso

Partiendo de una solucin inicial y de una temperatura inicial, se exploran un


nmero L de soluciones vecinas. Tras examinar cada solucin vecina, si sta es
- 36 -

Tcnicas metaheursticas

mejor que la solucin de partida, se acepta como nueva solucin. Si es peor, se


admitir como nueva solucin con una determinada probabilidad:
probabilidad de aceptar un solucin peor = e

f
T

donde f es el incremento de la funcin objetivo, fsolucin candidata fsolucin actual


T es la temperatura
La probabilidad de aceptar una solucin cuyo valor de la funcin objetivo es mejor
que la actual es mayor cuanto mayor sea la temperatura y cuanto menor sea el
incremento de la funcin objetivo que se trata de minimizar.
El proceso anterior se repite hasta que se cumple alguna determinada condicin.
Por lo tanto, antes de comenzar el proceso es necesario definir una solucin inicial,
un vecindario y una manera de acceder a las soluciones vecinas, una temperatura
inicial, una temperatura final y una ley de enfriamiento y un criterio de detencin.
Generar solucin inicial

T = T0

T = T0
o
F<Fobj
o
T>Tf

Generar vecino, s*

Dc=c(s*) - c(s)

si

no
c<0
D
R= rnd(0,1)

s=s*

si

s=s*

R<exp(-c/T)

no

Fig.13. Diagrama de flujo del recocido simulado

- 37 -

Tcnicas metaheursticas

Una solucin inicial


Como en las tcnicas anteriores, la solucin de partida puede ser una solucin
obtenida a partir de una tcnica ms sencilla, o de forma aleatoria o bien a partir de
una solucin conocida del problema considerado.
Vecindario
Debe establecerse cmo se generan las soluciones que conforman el vecindario
dada una determinada solucin y la forma de seleccionar una de ellas, como
candidata a ser la nueva solucin.
Temperatura inicial
Conviene definir una temperatura inicial de manera que la aplicacin de la tcnica
sea suficientemente robusta, es decir, que la solucin alcanzada no dependa de la
solucin de partida. Esto se traduce en una temperatura inicial suficientemente alta
que permita movimientos errticos al principio del proceso.
Por otro lado, conviene que el proceso sea eficiente y no admita movimientos de
empeoramiento desorbitados.
Por ello conviene establecer la probabilidad, , de aceptar una solucin Scand que
sea un por uno peor que la inicial So. De acuerdo con esto, y si f es la funcin
objetivo, es posible determinar la temperatura inicial:

f = f (S cand ) f (S 0 ) = (1 + ) f (S 0 ) f (S 0 ) = S 0

= e f /T0

=e

T0
f ( So )

T0 =

ln( )

S0

Velocidad de enfriamiento
La velocidad de enfriamiento puede ser de tipo aritmtico, geomtrico, etc. Existen
estudios que analizan diferentes velocidades.

Temperatura final
En teora, la temperatura final del proceso de bsqueda debera ser 0. Sin embargo,
la probabilidad de aceptar movimientos de empeoramiento se hace muy pequea

- 38 -

Tcnicas metaheursticas

sin necesidad de alcanzar los 0 grados. Lundy y Mees (1986) proponen una
temperatura final que viene dada por la siguiente expresin:

Tf <

ln( n 1) ln( ) + ln( 1 ) ln( n)

donde es la probabilidad de que se obtenga una solucin cuyo valor de la


funcin objetivo menos el de la ptima global es menor que y
n es el nmero de elementos del espacio de soluciones.

Criterio de detencin

Como en las tcnicas anteriores, el criterio de detencin puede ser haber superado
un determinado tiempo de computacin, el nmero mximo de iteraciones o un
nmero de iteraciones sin haber mejorado la solucin o haber alcanzado un
determinado valor de la funcin objetivo.
Adems, en esta tcnica, opera un criterio adicional de detencin que es el de la
temperatura final, de manera que al alcanzarla, el procedimiento se detiene.
Por ltimo, conviene sealar una criterio de detencin adicional para el caso en el
que el proceso se detiene cuando durante un nmero determinado de iteraciones
(cada una de ellas a una determinada temperatura) no se ha mejorado la solucin.
Tras realizar las L exploraciones correspondientes a una determinada temperatura
puede ser que no se considere la iteracin correspondiente a dicha temperatura en
el cmputo de iteraciones en las que la solucin no ha mejorado. Esto es as, si el
porcentaje de soluciones de empeoramiento aceptadas es superior a un
determinado valor. En este caso, se considera que aunque el proceso no ha
mejorado la solucin, no conviene penalizar (anotndolo en el contador de
iteraciones sin mejorar la solucin) porque existe la posibilidad de acceder a
regiones interesantes. En este caso, el flujograma quedara como se muestra en la
figura:

- 39 -

Tcnicas metaheursticas
Generar solucin inicial

T = T0

T = T0
o
F<Fobj
o
T>Tf

Generar vecino, s*

Dc=c(s*) - c(s)

si

no

c<0
D
r = rnd(0,1)

s=s*

s
r<exp(-c/T)
s=s*
pct=pct+1

no

no

L soluciones
exploradas?

Solucin
mejor?

no

pct<minporcent?

cont=0
s

no
cont=cont+1

Fig.13. Diagrama de flujo de una variante del recocido simulado

4.3.

Variantes del recocido simulado

Existen numerosas variantes del recocido simulado cuyo objetivo es mejorar su


eficiencia mediante la reduccin del nmero de iteraciones necesarias para
alcanzar una buena solucin. A continuacin se citan, a ttulo de ejemplo, dos de
estas variantes (Aarts, E. y Korst, J., 2001):

- 40 -

Tcnicas metaheursticas

Criterio de aceptacin basado en un umbral determinista. En esta variante una


solucin peor que la actual se acepta siempre que el incremento de la funcin
no supere un determinado umbral. Este umbral disminuye a medida que el
proceso de bsqueda avanza, el umbral disminuye. En esta variante, una vez
seleccionada la solucin candidata la el criterio de seleccin no incorpora
ningn elemento aleatorio.
Recocido simulado con saltos en la temperatura. En este caso, la temperatura crece
rpidamente o disminuye rpidamente en determinadas fases del proceso con
nimo de permitir la exploracin de nuevas regiones en el primer caso o con
intencin de explorar ms a fondo una determinada regin del espacio de
soluciones.

4.4.

Conclusiones

Ms

El recocido simulado puede ser formulado en trminos de cadenas de Markov, lo


cual ha permitido estudiar aspectos relativos a las configuraciones ms adecuadas
del la tcnica y la convergencia del proceso de bsqueda (Aarts et al.,1986, Otten y
van Ginneken, 1989, Sadiq y Habib, 1999 y Aats y Korst, 2001). Se ha demostrado
que si el recocido simulado opera durante un tiempo infinito la probabilidad de
alcanzar una solucin no ptima es cero. Sin embargo, para que el proceso sea
eficiente se debe establecer un nmero limitado de exploraciones en cada
temperatura. La temperatura inicial debe ser suficientemente alta como para que la
probabilidad de aceptar cualquier solucin al comienzo sea prcticamente uno.

- 41 -

Tcnicas metaheursticas

5. Bsqueda scatter
La bsqueda scatter fue originalmente propuesta por Glover en 1997. Esta tcnica,
es una tcnica evolucionaria (como los algoritmos genticos y las colonias de
hormigas). Basado en la combinacin de reglas para la programacin de la
produccin de los aos sesenta y en la combinacin de restricciones en problemas
de programacin entera y no lineal.
En cada iteracin se dispone de un conjunto de soluciones del problema y a partir
de ellas se realizan operaciones para obtener un nuevo conjunto de soluciones que
sean de alta calidad y que, al mismo tiempo, sean suficientemente diferentes.
(despus se ver en qu sentido) para lograr una bsqueda que abarque.
Para conseguir los objetivos anteriores combina soluciones para obtener otras
mejores y mantiene un conjunto de soluciones de referencia que son las que utiliza
para obtener las nuevas soluciones.
Premisas (artculo Scatter Search and Path Relinking, p.4)

Etapas:
1. Generacin de soluciones iniciales:
a partir de una mtodo particular (aleatorio, con otras reglas, etc.)
utilizando una imagen fantasma: una representacin fcil del problema con
lmites que se van relajando hasta que finalmente despararecen
2. Mejora de las soluciones
3. Actualizacin de la lista de referencia
4. Generacin de agrupamientos
Combinacin de soluciones

Tpicamente la generacin de soluciones se realiza teniendo en cuenta todos los


pares de soluciones del conjunto de soluciones de referencia.

- 42 -

Tcnicas metaheursticas

Etapas:
1. Generacin de un conjunto de soluciones iniciales que sean suficientemente
diferentes como para que la diversidad del conjunto permita una bsqueda por
todo el espacio de soluciones. A estas soluciones se les aplica algn heurstico
para obtener soluciones mejores.
2. Seleccin de las mejores soluciones de las obtenidas anteriormente. El nico
criterio en este caso no es el del valor de la funcin objetivo; una solucin puede
ser seleccionada si mejora la diversidad del conjunto a pesar de no ofrecer el
mejor de valor de la funcin objetivo de entre las candidatas.
3. Combinacin estructurada de las soluciones elegidas anteriormente. Estas
soluciones pueden quedar tanto dentro como fuera de la regin convexa
definida por las soluciones de referencia. La soluciones obtenidas de esta
manera si modifican para garantizar que son soluciones aceptables.
4. Aplicacin de los heursticos del paso 1 para mejorar las soluciones obtenidas.
5. Por ltimo se selecciona un conjunto de las mejores soluciones obtenidas en el
paso anterior y se incluyen en el conjunto de soluciones de referencia.
Caractersticas de la bsqueda dispersa:
El conjunto de soluciones de referencia contiene informacin til sobre la
situacin (o la forma) de las mejores soluciones.
Para explotar de forma adecuada la informacin contenida en el conjunto de
soluciones de referencia conviene disear mecanismos que permitan obtener
soluciones fuera de las regiones a las que pertenece las soluciones de referencia y,
adems, incorporar heursticos para mejorar las que se han obtenido.

6. GRASP
Greedy randomized adaptative search procedure
Dos fases:
Fase constructiva. Mediante un proceso constructivo se genera alguna solucin
inicial de forma greedy. En esta etapa se construye la solucin paso a paso. En
cada paso existe un conjunto de soluciones (de elementos que se aaden a la
- 43 -

Tcnicas metaheursticas

solucin en proceso de construccin): RCL (restricted candidate list). Para que


en un determinado paso de la etapa de construccin se considere como
candidato un elemento, el aumento (o la disminucin) de la funcin objetivo
que se logra con dicho elemento debe estar en un determinado rango (que
queda fijado por un parmetro, )
Cada una de estos elementos tiene una probabilidad de ser incorporado a la
solucin. Existen diferentes formas de asignar probabilidades a los elementos
que se incorporan.
Fase de bsqueda local. A partir de la solucin generada se estudia el
vecindario con nimo de encontrar nuevas soluciones.
Greedy Randomized Adaptative Search Procedure
Dos fases:
Construccin de una determinada solucin.

En cada fase constructiva existe un conjunto de elementos candidatos para


construir la solucin (aspecto greedy): lista restringida de candidatos.

De estos candidatos se selecciona aleatoriamente alguno de ellos (aspecto


aleatorio).

Y tras cada fase de la construccin se modifica la lista restringida de


candidatos (aspecto adaptativo)

Optimizacin local de la primera solucin obtenida. A partir de la solucin


obtenida en la fase constructiva se define un vecindario y se realizan iteraciones
mientras exista algn elemento en el vecindario mejor que la solucin en cada
iteracin.
En los extremos: bsqueda greedy pura (en la que la lista de candidatos contiene
un solo elemento) y bsqueda aleatoria (en la que la lista de candidatos incluye
todos los elementos restantes para construir la solucin). La tcnica GRASP se debe
situar en algn punto entre estos dos extremos. A medida que el algoritmo se
aproxima a uno estrictamente greedy se reduce la varianza de las soluciones
obtenidas en la fase constructiva, pero la calidad de las soluciones que se obtienen
en la fase de optimizacin local disminuye. Si, al contrario, el procedimiento se
hace cercano a la bsqueda aleatoria, las varianza de la soluciones aumenta mucho
y no hay garantas de comenzar la fase de optimizacin con soluciones

- 44 -

Tcnicas metaheursticas

suficientemente atractivas. El tiempo necesario en la primera opcin es mucho


mayor que en la segunda. Un mtodo intermedio arroja tiempos...
Limitacin: cada ciclo es independiente de los anteriores. El procedimiento no
aprende de su historia. Alternativas en la fase constructiva:
Reactive GRASP: el parmetro que determina el compromiso entre la bsqueda
aleatoria y la bsqueda greedy se selecciona en cada construccin,
dependiendo de las soluciones que se han obtenido anteriormente.
Perturbacin de la funcin objetivo
art. 48 hablan de un problema concreto, falta generalidad)

(en

el

Funcin se sesgo. Una vez definida la lista de elementos candidatos a formar


parte de la solucin, se asigna una probabilidad a cada uno de ellos en funcin
del orden que ocupan en el conjunto de los elementos de la lista. Se han
propuesto diferentes funciones que introducen el sesgo de diferentes maneras.
Incorporacin de la memoria. Para mejorar el proceso global se incorpora una
memoria de largo plazo formada por soluciones de lite. Una solucin pasa a
formar parte de este grupo de soluciones de lite si es suficientemente buena
(segn algn criterio) y suficientemente diferente del resto de soluciones de
lite. La seleccin de los elementos que se incorporan a la solucin en la fase
constructiva se relaciona con las veces que dicho elemento aparece en las
soluciones de lite, favoreciendo que los elementos que aparecen en las
soluciones de lite aparezcan en la fase constructiva.
Principio de proximidad ptima. Cabe esperar que cerca de buenas soluciones
se encuentren otras soluciones, igualmente, buenas. Por eso, Fleurent y Glover
(1999) proponen realizar procesos de optimizacin local no solamente tras
finalizar la etapa constructiva sino en diferentes momentos a lo largo de ella (no
necesariamente en todos para preservar la eficiencia global del procedimiento).

7. Colonia de hormigas
Maniezzo
Basado en el comportamiento de las hormigas. Las hormigas dejan a su paso un
rastro de feromonas que le sirve de medio de comunicacin entre ellas. Esta tcnica
- 45 -

Tcnicas metaheursticas

emplea hormigas que crean soluciones al problema considerado. En cada interacin


se dispone de un conjunto de hormigas que construyen un conjunto de soluciones.
Se trata, por lo tanto, de una tcnica evolucionaria, como los algoritmos genticos y
la bsqueda scatter.
Cada hormiga construye una solucin mediante un mtodo constructivo pasando
de unos estados a otros, todos soluciones parciales, cada vez ms completos. En
trminos de un problema de optimizacin, el rastro de feromonas depositadas por
las hormigas se traduce en la probabilidad de pasar de un estado a otro
determinado.
Al final, tras conocer la calidad de las soluciones obtenidas por cada una de las
hormigas, se modifica el rastro de feromonas asociado a los cambios de estado de
acuerdo con algn criterio que premie las transiciones correspondientes a
hormigas que han ofrecido buenos resultados.
En la construccin de nuevas soluciones, las hormigas tendrn en cuenta:
el atractivo que la transicin de un estado a otro ofrece de acuerdo con algn
criterio que a priori permite evaluar la idoneidad de dicha transicin;
la experiencia acumulada a partir de las soluciones construidas en iteraciones
anteriores que esta almacenada en el rastro asociado a los movimientos que se
realizan para construir una solucin.
Comentar el primer artculo de Dorigo con el ejemplo del problema del viajante.
Variante: (bien contado en p.479 libro verde) MMAS: el valor del rastro est
acotado inferior y superiormente. Se inicializar los rastros a un valor mximo. A
medida que se realizan iteraciones se actualizan los rastros pero nunca quedan por
debajo de un determinado valor con el objeto de evitar el estancamiento en torno a
un ptimo local. Este artculo tiene, adems, otras variantes interesantes.
(en el mismo artculo). Describe el ANTS: como una extensin de las colonias de
hormigas: Aproximated Non-deterministic Tree Search, parecidos a los 'Tree
search algorithms' pero que incorporan elementos de las colonias de hormigas: el
atractivo de las opciones que se consideran en cada rama y la actualizacin del
rastro.

- 46 -

Tcnicas metaheursticas

Referencias y bibliografa
Aarts, E. y Korst, J., (2001). Selected Topics in Simulated Annealing. Captulo de
Essays and Surveys in Metaheuristics. Kluwer Academic Publishers,
Massachusetts .
Daz, A. et al (1996). Optimizacin Heurstica y Redes Neuronales. Paraninfo.
Madrid.
Falkenauer, E. (1989). Genetic Algorithms and Grouping Problems. John Wiley and
Sons, 1998. Cheichester.
Godberg, D. E. (1989). Genetic Algorithms in Search, Optimization, and Machine
Learning, Addison-Wesley, Reading, MA.
Glover, F. (1989). Tabu search: Part I, ORSA Journal on Computing 1. 190-206.
Glover, F. (1990). Tabu search: Part II, ORSA Journal on Computing 2 (1990) 4-32.
Holland, John H. (1975). Adaptation in Natural and Artifitial Systems, University
of Michigan Press, Ann Arbor.
Lundy, M. y Mees, A. (1986). Convergence of an Annealing Algorithm
Mathematical Programming, Vol. 34, p. 111-124
Pham D.T. y Karaboga D. (2000). Inteligent Optimisation Techniques. Springer.
London.
Reeves, C. (1995). Modern Heuristic Techniques for Combinational Problems. R.,
McGraw-Hill. Guildford.
Sadiq, S. M. y Habib, Y. (1999). Iterative Computer Algorithms with Applications
in Engineering. Solving Combinatorial Optimization Problems.Wiley. CIUDAD.
AO.

Silver, E. A. et al (1980). A tutorial on Heuristic Methods. European Journal of


Operational Reseach. Vol. 5.
Zanakins, S. H. y Evans, J. R. (1981). Heuristic Optimization: Why, When and
How to Use It. Interfaces. Vol. 11(5) .

- 47 -

Você também pode gostar