Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Metaheuristicas PDF
Metaheuristicas PDF
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)
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
Son ciegas, no saben si llegan a la solucin ptima. Por lo tanto, se les debe
indicar cundo deben detenerse.
-3-
Tcnicas metaheursticas
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.
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.
-5-
Tcnicas metaheursticas
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.
Dada una solucin, el conjunto de soluciones a las que se puede acceder mediante
los movimientos considerados se denomina vecindario.
-6-
Tcnicas metaheursticas
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 2 3 5 7 6 8 4 9 1 10
Solucin vecina 2 3 7 6 8 5 4 9 1 10
Solucin de partida 2 3 5 7 6 8 4 9 7 10
Solucin vecina 2 3 7 6 8 5 4 9 5 10
-8-
Tcnicas metaheursticas
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.
Solucin de partida 2 3 5 7 6 8 4 9 1 10
Solucin vecina 2 3 7 6 8 5 4 9 1 10
-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.
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.
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.
- 10 -
Tcnicas metaheursticas
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 2 4 1 3 6 8 1 4 2 3
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.
- 11 -
Tcnicas metaheursticas
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.
- 12 -
Tcnicas metaheursticas
- 13 -
Tcnicas metaheursticas
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;
- 14 -
Tcnicas metaheursticas
No S
S
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
- 15 -
Tcnicas metaheursticas
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.
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
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.
- 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).
- 18 -
Tcnicas metaheursticas
2.5. Conclusiones
- 19 -
Tcnicas metaheursticas
- 20 -
Tcnicas metaheursticas
3. Algoritmos genticos
3.1. Presentacin
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
Descodificacin Entorno
Cromosomas
Funcin
Descodificacin
Solucin del objetivo Funcin de
Cadenas
problema adaptacin
Codificacin
3.2. Mtodo
- 22 -
Tcnicas metaheursticas
Por otra parte, con una determinada probabilidad las cadenas de los individuos se
someten a algn tipo de modificacin (mutacin).
- 23 -
Tcnicas metaheursticas
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
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.
- 25 -
Tcnicas metaheursticas
donde:
Pi: es la probabilidad de seleccionar el individuo i
Fj: es la funcin de adaptacin del individuo j
- 26 -
Tcnicas metaheursticas
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.
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.
- 27 -
Tcnicas metaheursticas
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 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.
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.
Padre 1 11101001
Descendiente 11001100
Padre 2 01001100
- 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:
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.
- 30 -
Tcnicas metaheursticas
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.
11101101
Fig.11. Justificacin del operador de inversin
(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.
Evaluacin de la funcin de
adaptacin de los individuos
de la poblacin
Seleccin
Cruce
Mutacin
Reduccin
si
Criterio de detencin
satisfecho?
no
Fin
- 32 -
Tcnicas metaheursticas
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.
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
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,
3.4. Conclusin
- 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.
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.
- 36 -
Tcnicas metaheursticas
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
R<exp(-c/T)
s=s* no
- 37 -
Tcnicas metaheursticas
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:
T0
f = f (S cand ) f (S 0 ) = (1 + ) f (S 0 ) f (S 0 ) = S 0
=e f ( So )
T0 = S0
= e f /T0 ln( )
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)
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
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?
s no
Solucin
mejor?
pct<minporcent?
cont=0
s
no
cont=cont+1
- 40 -
Tcnicas metaheursticas
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
- 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
- 43 -
Tcnicas metaheursticas
- 44 -
Tcnicas metaheursticas
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
- 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 -