Title: METAHEURISTICAS Ideas, Mitos, Soluciones
1METAHEURISTICASIdeas, Mitos, Soluciones
- Irene Loiseau
- 1er Cuatrimestre 2009
2OPTIMIZACION COMBINATORIA
- Qué es un problema de optimización combinatoria?
3- Ejemplos de problemas de optimización
combinatoria - Problema de la suma de subconjuntos
- Determinación de caminos mínimos en grafos
- Flujo en redes
- Asignación de tareas
- Problema de la mochila
- Problemas de ruteo de vehículos. El problema del
Viajante de comercio - Diseño de redes de comunicaciones
- Ruteo en redes de comunicaciones
- VLSI
4- Planificación de tareas
- Asignación de recursos y horarios en
instituciones educativas - Minimizaron de desperdicios en el corte de
materiales - Localización de plantas
- Planificación financiera
- Problemas de energía
- Biología Computacional (secuenciamiento de ADN,
árboles filogenéticos, doblamiento de proteínas) - etc.
5Cómo se modela matemáticamente un problema de
optimización combinatoria?
- Minimizar (o maximizar) f(x)
- sujeto a g (xi) ? bi
i1.........m1 - h (xi) ci
i m1 1,....... M - xi ? Z
- -----------------------------------------
- función objetivo
- variables de decisión
- restricciones
- (No siempre se puede modelar exactamente así un
problema de optimización combinatoria)
6Cómo se modela como problema de programación
lineal entera un problema de optimización
combinatoria?
- Problema de la mochila
- Problema de asignación
- Problema de flujo máximo
- Problema del viajante de comercio.
7Cómo se resuelve un problema de optimización
combinatoria?
- Enumeración completa o algoritmo de fuerza
bruta. Sirve? - COMPLEJIDAD COMPUTACIONAL
- Qué hacer?
- SOLUCIONES EXACTAS
- HEURISTICAS
8HEURISTICAS
- Heurísticas clásicas
- Metaheurísticas o heurísticas modernas o
sistemas inteligentes - Cuándo usarlas?
- Problemas para los cuales no se conocen buenos
algoritmos exactos - Problemas difíciles de modelar
9Porqué usarlas?
- Adaptabilidad a modificaciones de los datos o del
problema una vez que ya se obtuvo un resultado. - Fáciles de implementar y programar
- Basadas en tener una gran capacidad de cálculo
- No sólo para problemas de optimización
combinatoria
10Cómo se evalúan?
- problemas test
- problemas reales
- problemas generados al azar
- cotas inferiores
11Problema del viajante de comercio (TSP)
- Dado un grafo G con longitudes asignadas a los
ejes queremos determinar un circuito hamiltoniano
de longitud mínima. - No se conocen algoritmos polinomiales para
resolver el problema del viajante de comercio. - Tampoco se conocen algoritmos ?- aproximados
polinomiales para el TSP general (si se conocen
cuando las distancias sean euclideanas) - Es el problema de optimización combinatoria más
estudiado.
12Algunas heurísticas y algoritmos aproximados para
el TSP
- Heurística del vecino más próximo
- --------------------------------------------------
---------------------- - Empezar
- Elegir un nodo v cualquiera de G
- Poner l(v) 0
- Inicializar i 0
- Mientras haya nodos sin marcar hacer
- poner i i 1
- elegir el eje (v,w) más
barato tal que w no esté marcado. - poner l(w) i
- poner v w
- Fin
- --------------------------------------------------
------------------------------------- - Cuál es la complejidad de este algoritmo?.
13- Heurísticas de inserción
- --------------------------------------------------
----------------------- - Empezar
- Construir un circuito de longitud 3.
- Marcar los nodos del circuito
- Mientras haya nodos sin marcar hacer
- ELEGIR un nodo v sin marcar
- INSERTAR v en el circuito
- Fin
- --------------------------------------------------
--------------------- - Cómo ELEGIR?. Cómo INSERTAR?.... variantes de la
heurística de inserción.
14- Para INSERTAR el nodo v elegido
- si ci j es el costo o la longitud de un eje
(i,j), elegimos dos nodos i, i1 que ya están en
el circuito y son consecutivos en el mismo y tal
que - ci v cv i1 c i i1
- sea mínimo. Insertamos v entre i e i1.
15- Podemos ELEGIR el nuevo nodo v para agregar al
circuito tal que - v sea el nodo más próximo a un nodo que ya está
en el circuito. - v sea el nodo más lejano a un nodo que ya está en
el circuito. - v sea el nodo más barato, o sea el que hace
crecer menos la longitud del circuito. - v se elige al azar.
-
- En los dos primeros casos y en el cuarto la
complejidad del algoritmo es O(n2), en el tercero
es O(n2 log n)
16- En el caso de grafos euclideanos (por ejemplo
grafos en el plano R2), se puede implementar un
algoritmo de inserción -
- usando la cápsula convexa de los nodos como
circuito inicial - insertando en cada paso un nodo v tal que el
ángulo formado por los ejes (w,v) y (v,z), con w
y z en el circuito ya construido, sea máximo. - Hay muchas variantes sobre estas ideas.
17- Heurística del árbol generador
- --------------------------------------------------
------------- - Encontrar un árbol generador mínimo T de G
- Duplicar los ejes de T
- Armar un circuito euleriano E con los ejes de T y
sus duplicados - Recorrer E usando DFS y armar un circuito
hamiltoniano G - --------------------------------------------------
------------------------ - Cuál es la complejidad de este algoritmo?
18- Teorema Si las distancias del grafo cumplen la
desigualdad triangular la heurística del árbol
generador tiene una perfomance en el peor caso
dada por - xH (i)/ x (i)
2 - O sea si las distancias son euclideanas hay
algoritmos polinomiales para el problema del TSP
aproximado.
19- Perfomance de las otras heurísticas en el peor
caso - Si las distancias en G son euclideanas se puede
probar que valen las siguientes cotas para la
perfomance en el peor caso - Vecino más próximo xh (i)/ x (i) ½
(?log n? 1) - Inserción del más próximo xh (i)/ x (i) 2
- Inserción del más lejano xh (i)/ x (i) 2
log n 0.16 - Inserción del más barato xh (i)/ x (i)
2
20- Heurísticas de mejoramiento
- Cómo podemos mejorar la solución obtenida por
alguna heurística constructiva como las
anteriores? - Heurística 2-opt de Lin y Kernighan
- --------------------------------------------------
------------------------ - Obtener una solución inicial H (o sea un circuito
hamiltoniano H), por ejemplo con alguna de las
heurísticas anteriores. - Mientras sea posible hacer
- . Elegir dos ejes de G tal que al
sacarlos de H y reemplazarlos por los dos
necesarios para reconstruir un nuevo circuito
hamiltoniano H obtengamos un H de longitud
menor a la de H. - . H H
- . Fin
- --------------------------------------------------
-------------------------------------- - Cuándo para este algoritmo?. Se obtiene la
solución óptima del TSP de este modo? - Algoritmo de búsqueda local
21- En vez de elegir para sacar de H un par de ejes
que nos lleve a obtener un circuito de menor
longitud podemos elegir el par que nos hace
obtener el menor H entre todos los pares
posibles.(más trabajo computacional) - Esta idea se extiende en las heurísticas k-opt
donde se hacen intercambios para cualquier k. O
sea en vez de sacar dos ejes, sacamos k ejes de H
y vemos cual es la mejor forma de reconstruir el
circuito. En la práctica se usa sólo 2-opt o 3
opt. - Estas mismas ideas se pueden usar para construir
un algoritmo Tabu Search para el TSP definiendo
los vecinos de una solución usando 2- opt o 3
opt. .
22ESQUEMA GENERAL DE UN ALGORITMO DE DESCENSO (O
BUSQUEDA LOCAL)
- S conjunto de soluciones
- N(s) soluciones vecinas de la solución s
- --------------------------------------------------
-------------- - Elegir una solución inicial s0 ?S
- Repetir
- Elegir s ? N(s0) tal que f(s) lt f(s0)
- Reemplazar s0 por s
- Hasta que f(s) gt f(s0) para todos los s ? N(s0)
- --------------------------------------------------
--------------
23- Cómo determinar las soluciones vecinas de una
solución s dada? - Qué se obtiene con este procedimiento? Sirve?
- Optimos locales y globales
- Espacio de búsqueda
24Problema de asignación de tareas
- Supongamos que tenemos el problema de asignar
tareas a un sola máquina de modo a minimizar el
tiempo total de ejecución. - Cada trabajo j tiene un tiempo de procesamiento
p j y una fecha de entrega d j. El objetivo es
entonces minimizar -
- T ?j max (C j dj),0
- donde C j es el momento en que se completa el
trabajo j.
25- Como elegir las soluciones iniciales?. A priori
se puede tomar cualquier permutación de las
tareas. - Determinación de los vecinos de una solución
dada en este caso podemos tomar los que se
obtengan de la solución actual cambiando la
posición de un trabajo con otro. - En un problema con 4 trabajos por ejemplo los
vecinos de (1,2,3,4) serán - N(s) (1,3,2,4),(3,2,1,4),(1,2,4,3),
- (1,4,3,2),(2,1,3,4),(4,2,3,1)
26TECNICAS METAHEURISTICAS
- Simulated annealing (primeros trabajos 1953,
1983) - Algoritmos Tabú Search (primeras aplicaciones a
optimización combinatoria en 1986, basado en
algunas ideas de los 70) - Algoritmos genéticos y evolutivos (primeras ideas
en los 60, mayormente aplicaciones a problemas de
IA). - GRASP (1989)
- Colonia de hormigas (1992)
- Redes neuronales (primeras ideas en los 60,
resurgieron en los 80) - otras..
- Híbridos
27- Origen, motivación, exceso de nomenclatura,
similitudes forzadas con problemas de la física
y la biología por ejemplo, etc. - Se usan en otros problemas, que no son de
optimización combinatoria también.
28- BIBLIOGRAFIA
- De que tratan los libros de metaheuristicas?.
- De que tratan los papers?
- nuevas ideas para las metaheuristicas
tradicionales. - nuevas metaheurísticas
- aplicaciones a una enorme cantidad de problemas
- REVISTAS
- Journal of Heuristics, Kluwer
- Revistas de Operations Research, Sistemas
Inteligentes, Inteligencia artificial, etc.
29- LIBROS y ANALES
- Aarts,E.,Korst,J.,Simulated Annealing and
Boltzmann machines, Wiley, 1989. - Aarts,E. Lenstra,J.K., Local Search in
Combinatorial Optimization - Bonabeau, E.,Dorigo, M.,Theraulaz,G.,Swarm
Intelligence,Oxford University Press, 1999. - Corne,D., Dorigo,M.,Glover, F., New ideas in
Optimization, McGrawHill, 1999. - Davis,L.(ed),Handbook of genetic algorithms,
Reinhold,1991. - Dorigo,M.,Stutzle,T.,Ant Colony Optimization,
MIT Press 2004. - Glover,F., Laguna,M., Tabu Search, Kluwer
Academic Pub., 1997. - Glover, F., Laguna, M., Taillard, E., de Werra,
D. (eds), Tabu Search, Annals of Operations
Research, Vol. 41, 1993. - Goldberg, D., Genetic algorithms in Search,
Optimization and Machine learning,
Addison-Wesley,1989. - Haupt,R.,Haupt,S.,Practical genetic
algorithms,Wiley,1998. - Hertz,J., Krog,A., Palmer,R., Introduction to
the theory of neural computacion,
Addison_Wesley, 1991.
30- Holland,J. Adaptation in netural and artificial
systems,MIT Press, 1975. - Laporte, G., Osman,I.H., Metaheuristics in
Combinatorial - Optimization, Annals of Operations Research,
Vol 63, 1996. - Michalewicz, Z.,Genetic algorithms Data
Structures Evolutionary programs, 1996. - Mitchell,M.,An introduction to genetic
algorithms (complex adaptive systems), 1996. - Osman,I.,Kelly,J.,(eds) Metaheuristics theory
and applications, Kluwer Academic pub., 1996. - Pham,D.,Karaboga,D. Intelligent Optimization
Techniques Genetic Algorithms, Tabu Search,
Simulated Annealing, and Neural Networks,
Springer Verlag, 1998. - Rayward- Smith, Osman, Reeves, Smith, Modern
heuristics search methods, 1996. - Reeves, C. (ed), Modern heuristics techniques
for combinatorial Problems, Blackwell,1993 - Van Laarhoven,P.,Aarts,E.Simulated
Annealingtheory and applications, Kluwer,1988 - Voss, Martello, Osman, Rocairol,
Metaheuristics, Kluwer, 1999.
31SIMULATING ANNEALING
- Ideas básicas
- Metropolis, A., Rosenbluth,M., Rosenbluth,A.,
Teller, A., Teller,E., Equation of state
calculation by fast computing machines, J. of
Chemistry Physics, 1953 - Algoritmo para simular el proceso de enfriamiento
de un material en un baño de calor (annealing). - Si un material sólido se calienta por encima de
su punto de fundición y después se enfría hasta
quedar en estado sólido, las propiedades de este
sólido dependen de la velocidad de enfriamiento. - 30 años más tarde
- Kirkpatrick,S., Gellat,C., Vecchi,M.,
Optimization by simulating annealing, Science,
1983. - Proponen mejorar el algoritmo básico de (descenso
o búsqueda local), permitiendo movimientos donde
el valor de la función empeora con una frecuencia
gobernada por una función de probabilidad que
cambia a lo largo del algoritmo, inspirada en el
trabajo de Metropolis et all.
32- Las leyes de la termodinámica dicen que a
temperatura t la probabilidad de un crecimiento
de la energía de magnitud ?E está dada por - p (?E) exp ( -?E/
kt) (1) -
- donde k es la constante de Boltzman.
- Metropolis et all. generan una perturbación y
calculan el cambio de energía. Si la energía
decrece el sistema se mueve al nuevo estado. Si
crece el nuevo estado es aceptado con
probabilidad (1). El procedimiento se repite para
un número predeterminado de iteraciones para cada
temperatura, después de lo cual la temperatura se
disminuye hasta que el sistema se congela en
estado sólido. - Kirkpatrick et all., y Cerny (1985) propusieron
en forma independiente usar este algoritmo en
problemas de optimización combinatoria haciendo
un paralelo entre el proceso de enfriamiento y
los elementos de este tipo de problemas
33Si hacemos la siguiente correspondencia
34- Con esto cualquier algoritmo de búsqueda local
puede convertirse en un algoritmo annealing
tomando al azar un cierto numero de vecinos y
permitiendo que elija una solución peor de
acuerdo a la ecuación (1) - Cómo es la función de energía para la mayor parte
de los materiales?. - Cómo es la función objetivo en problemas de
optimización?.
35ESQUEMA GENERAL DE UN ALGORITMO SIMULATING
ANNEALING
- --------------------------------------------------
----------------------- - Elegir una solución inicial s0
- Elegir una temperatura inicial t0 gt 0
- Elegir una función de reducción de temperatura ?
(t) - Repetir mientras no se verifique la condición de
parada - Repetir hasta icount nrep (t)
- Elegir al azar s ? N(s0
) - ? f(s) - f(s0 )
- Si ? lt 0
- entonces s
s0 - Sino
- Generar x
al azar en (0,1) - Si x
lt exp (-? / t) entonces s s0 - Fin
- Poner t ? (t)
- Fin
- --------------------------------------------------
----------------
36- Qué hay que hacer para usar este esquema en la
práctica? - Definir conjunto de soluciones
- Definir función de costo
- Definir vecinos
- Elegir parámetros temperatura, nrep, ?
- Elegir criterio de parada
37Más Detalles
- La temperatura inicial debe ser suficientemente
alta como para permitir un intercambio casi
libre de las soluciones vecinas. - La forma de reducir la temperatura es vital para
el éxito de la heurística. Hay que determinar -
- número de repeticiones en cada
temperatura. - forma de reducción de la
temperatura - Muchas iteraciones por temperatura para pocos
valores de temperatura o al revés. - Por ejemplo ? (t) a t con a lt 1
- Se acostumbra usar 0.8 lt a lt 0.99
- nrep puede crecer geométricamente o
aritméticamente en cada temperatura. - En algunos casos se usa la historia para
determinar nrep - Otra propuesta ? (t) t/ (1 b t ) con b
chico - En la práctica...............
38- Criterios de parada
- teóricos
- en la práctica.....nro. de iteraciones sucesivas
sin mejora - Elección del espacio de soluciones y definición
de vecinos muy importante. - Factibilidad
- Penalidades en la función objetivo
- Evitar funciones chatas
39Coloreo de grafos
- Grafo G (V, X)
-
- Se puede plantear el problema como particionar el
conjunto de vértices en K conjuntos. - Una solución sería entonces
- s (V1,V2, Vk )
- El objetivo es entonces minimizar k.
- Qué pasa si se intentan usar intercambios para
pasar de una solución factible a otra?. - Componentes bicolores. Complicado
40- Ideas
- Cambiar la definición de solución factible.
Poner como solución factible una partición
cualquiera de V, aunque no defina un coloreo
factible. - Entonces los vecinos son los que se obtienen a
partir de s cambiando un nodo de un conjunto Vi a
otro. - Agregar a la función objetivo una función de
penalidad que cuente cuantos ejes hay dentro de
cada subconjunto o sea - f (s) k ? Ei
- donde Ei es el conjunto de ejes entre nodos del
conjunto Vi - No es una buena función objetivo..
41Problemas de horarios en instituciones educativas
- Cada institución tiene sus propias reglas.
- Muchas restricciones y objetivos.
- Consideremos acá el problema de programar un
conjunto dado de exámenes en un numero fijo de
franjas horarias, de modo que ningún estudiante
tenga que dar dos exámenes a la vez, y que haya
aulas del tamaño necesario para los mismos. - Puede haber muchas otras restricciones.
- Consideremos el ejemplo presentado por
Dowsland,K., 1996
42- Restricciones
- 3000 alumnos, 24 franjas horarias disponibles
- ningún alumno puede dar dos exámenes al mismo
tiempo. - algunos pares de exámenes pueden ser programados
en el - mismo horario.
- algunos pares de exámenes NO pueden ser
programados - en el mismo horario.
- algunos grupos de exámenes tienen que ser
programados en un cierto orden. - algunos exámenes tienen que ser programados
dentro de determinadas ventanas de tiempo. - no puede haber mas de 1200 alumnos dando examen
al - mismo tiempo.
43- Objetivos secundarios
- Minimizar el numero de exámenes de mas de 100
alumnos después de el periodo 10. - minimizar la cantidad de alumnos que tienen que
dar dos exámenes en periodos consecutivos. - Difícil encontrar una solución factible.
- Primer paso decidir cuales serán las soluciones
factibles y cuales restricciones se incorporaran
a la función objetivo como penalidades. - El problema básico de horarios se puede modelar
como un problema de coloreo de grafos. La
solución propuesta se basa en algoritmos
Simulating Annealing para ese problema. - Espacio de soluciones asignación de exámenes a
las 24 franjas que verifiquen las restricciones
de orden. - Vecinos cambiar una franja horaria para un
examen.
44- Costo
- w1 c1 w2 c2 w3 c3 w4 c4 w5 c5 w6 c6
- donde
- c1 es el número de conflictos de los estudiantes
- c2 es el número de exámenes que colisionan por
otras razones - c3 es el número de violaciones de ventanas de
tiempo - c4 es el número de violaciones de la capacidad
de las aulas - c5 es el número de exámenes que no verifican la
segunda restricción secundaria - c6 es el número de exámenes de mas de 100
alumnos fuera del periodo preferido. - w1,w2,w3,w4,w5,w6 pesos
45- RESULTADOS
- Mucho experimentos con enfriamiento muy lento.
- Pesos altos para las restricciones mas
importantes, permitieron que cuando quedaban
satisfechas no volvieran a ser violadas. - Basada en las observaciones de estos primeros
experimentos, se intento un procedimiento en 2
etapas. - La función objetivo para la primera fase fue
- f1 w1 c1 w2 c2 w3 (c3 c6) w4 c4
- Este primer problema se resolvió con relativa
facilidad poniendo todos los pesos en 1y usando
una tasa de enfriamiento de 0.99 cada 1000
iteraciones. Se obtuvieron entonces soluciones
con costo 0. - La fase 2 partió de esta solución final y
trabajo en un espacio de soluciones en las cuales
todas las soluciones con f1 gt 0 habían sido
eliminadas. - La función objetivo fue
- f2 c5
- Fue necesario usar un esquema de enfriamiento muy
lento para obtener buenos resultados. Se uso una
temperatura inicial de 20, reduciéndola a 0.99 t
cada 5000 iteraciones.
46Problemas de Ruteo de Vehículos
- Chiang, W,Russell, R.,Simulating annealing
metaheuritics for the vehicle routing problem
with time windows, Annals of Operations Research
63 (1996) - Ruteo de vehículos con ventanas de tiempo
- qi , carga o demanda del cliente i
- si, tiempo de servicion del cliente i
- ei, hora más temprana en que puede iniciarse el
servicio en i - li, última hora en que puede iniciarse el
servicio en i - tij, tiempo de viaje entre i y j
- dij, distancia entre i y j
- Qv, capacidad del vehículo v
- bi, momento en que se empieza el servicio en i
- bij, momento en que puede empezar a servirse al
cliente j suponiendo que el cliente j va después
del i en una ruta. - bij max ej,bisitij
- wj, tiempo de espera si el vehículo llega a j
antes de ej. - wj ej (bisitij)
47- Estimación inicial de la cantidad de vehículos
requeridos - Rutas iniciales
- Reglas para tratar de mantener la factibilidad
de las ventanas de tiempo durante la
construcción. - La inserción de un cliente en una ruta se
determina usando el crecimiento de la longitud de
la ruta y del tiempo de recorrido.
48- Algoritmo Simulating annealing
- Soluciones factibles
- conjunto de rutas que verifican las ventanas de
tiempo R1,.Rv donde Rp es el conjunto de
clientes visitados por el vehículo p - Vecinos se obtienen cambiando un cliente de una
ruta a otra o intercambiando 2 clientes. (Se
consideraron 2 opciones). - Función de Costo
- C(S) b1 R b2 T b3 D con b1 gtgt b2gt b3
- donde
- R es el total de vehículos usados
- D la distancia total recorrida
- T el tiempo total de recorrer todas las rutas
49- Parámetros del algoritmo
- Temperatura inicial T0
- Probabilidad inicial P0 0.05
- Cambio de la temperatura ?(t)0.95 t
- Nrep proporcional a del tamaño del vecindario
(0.95) - Criterio de parada
50TABU SEARCH
- CONCEPTOS BASICOS
- Permitir elegir una solución vecina que no sea
estrictamente mejor que la actual para salir de
un mínimo local. - Usar una lista Tabú de soluciones (o movimientos)
para evitar que el algoritmo cicle. - Usar una función de aspiración que permita en
algunos casos elegir un elemento o movimiento
Tabú.
51ESQUEMA GENERAL DE TABU SEARCH
Inicialización Elegir una solución inicial s en
S Niter0 bestiter0 bestsol
s T? Inicializar la función de aspiración
A Mientras ( f(s) gt f(s) y (niter- bestiter lt
nbmax) hacer niter niter 1 generar un
conjunto V de soluciones sv en N(s) que no sean
Tabu o tales que A(f(s))? f(sv) elegir una
solución s que minimice f en V actualizar la
función de aspiración A y la lista Tabú T si
f(s) lt f(bestsol) entonces
bestsol s bestiter niter
ss -----------------------------
--------------------------------------------
52Qué hay que hacer para usar este esquema?
- Determinar el conjunto de soluciones factibles S.
- Determinar la función objetivo f.
- Dar un procedimiento para generar los elementos
de N(s), vecinos de s. - Decidir el tamaño del conjunto V ? N(s) que será
considerado en cada iteración - Definir el tamaño de la lista Tabú T.
- De ser posible definir una cota inferior para la
función objetivo f. - Definir la función de Aspiración A(z) para todos
los valores z que puede tomar la función
objetivo. - Definir criterios de parada (nbmax y/o
comparación con la cota inferior si la hay)
53Volviendo al ejemplo anterior
- Como construir el conjunto de soluciones
posibles V ? - En este caso, si, cuando la solución actual es
(1,2,3,4) la lista Tabu, proveniente de los pasos
anteriores del algoritmo es - T (1,3,2,4),(3,1,2,4)(3,2,1,4)
- Entonces V tiene solo cuatro elementos
- (1,2,4,3), (1,4,3,2),(2,1,3,4),(4,2,3,1)
-
54- Posibles reglas Tabu a usar en este caso
- impedir todos los movimientos donde i ocupa la
posición p(i) y j ocupa la posición p(j) - impedir los movimientos donde alguna de las
situaciones arriba suceda - impedir que el trabajo i vuelva a una posición k
con k lt p(i) - impedir que el trabajo i cambie de posición
- impedir que i y j cambien de posición
- Como elegir el tiempo de permanencia en la lista
Tabu - valor fijo ( a ser ajustado en la
experimentación) - valor aleatorio entre un tmin y tmax dados a
priori. - valor variable de acuerdo al tamaño de la lista y
las variaciones del valor de la función objetivo.
55- Ejemplos de criterios de aspiración
- cuando todos los movimientos o vecinos posibles
son Tabu, se elige alguno de ellos (el menos
tabu) - cuando con un movimiento tabu se obtiene una
solución mejor que la mejor hasta ese momento
(global o en la región)
56- Ejercicio
- Pensar cómo implementaría un algoritmo tipo Tabu
search para el siguiente problema - Encontrar el árbol de mínimo peso de con k ejes
(MWKT) en un grafo G (V,X) con pesos en los
ejes.
57Problema del viajante de comercio
- Espacio de soluciones
- permutaciones de (1,2,..n)
- Solución inicial al azar
- Movimientos
- k intercambios, se usa k2.
- Tamaño del espacio ( n-1)!/2
- de vecinos de una solución dada n(n-1)/2
- Todas las soluciones son alcanzables entre si
- Es fácil generar vecinos al azar y actualizar el
costo - Con estas definiciones se puede usar el esquema
básico
58MAS DETALLES de Tabu search......
- Uso de la memoria a largo plazo, en
contraposición con la que se usa para manejar
N(s), a corto plazo - Frecuencia guardar información sobre atributos
en una misma posición, movimientos que se
repiten, datos sobre el valor de la solución
cuando un atributo esta en una posición dada,
etc. - Lista de soluciones elite
- Intensificación
- Diversificación
- Camino de soluciones entre dos soluciones
prometedoras. - Etc.
59Coloreo de grafos
- (Using Tabu Search Techniques for graph
coloring, Hertz, de Werra, Computing 39,
345-351, 1987) - El problema de coloreo de grafos consiste en
determinar cual es el mínimo número de colores
con los cuales se pueden colorear los nodos de un
grafo sin que dos nodos adyacentes tengan el
mismo color. - Características del algoritmo Tabú Search
implementado - G (V,X) grafo
- Soluciones factibles
- s (V1,V2,.Vk)
- (cada solución es una partición de V)
- Se arma una solución inicial al azar
- Función objetivo
- f(s) ? ( E (Vi) ,
i 1.k) - Vecinos cambiar un nodo de un conjunto Vi a
otro. - Lista Tabú
- (x,i), x ? Vi por varias
iteraciones - Función de aspiración
- Inicial A(z) z 1
60- Problemas de horarios en instituciones educativas
- (Tabú Search for large scale timetabling
problems, Hertz,A.,European Journal of
Operations Research, 54, 1991.) - Se tratan en este trabajo dos problemas
relacionados con los horarios de los cursos y con
asignar alumnos a los mismos cumpliendo una serie
de restricciones. - Nos referiremos en particular al problema de
establecer los horarios. -
- En este caso una de las mayores dificultades está
en establecer que es lo que se va considerar la
región factible, o sea el conjunto de soluciones
S. - El problema consiste en asignar un horario de
comienzo a todas las clases x que se deben
dictar. - Dada la cantidad de restricciones planteadas se
eligen algunas para definir un horario factible y
las demás se tratan con penalidades en la función
objetivo.
61- Un horario se dice factible si solo pueden
ocurrir los siguientes conflictos - cursos dictados en forma simultánea tienen el
mismo profesor. - idem algunos alumnos en común.
- Los alumnos o los profesores no tienen suficiente
tiempo para ir de un edificio a otro. - Para cada turno x de una materia se define como
a(x) los posibles horarios en los que puede ser
dictado y como p(x) los momentos t a los cuales
puede ser movido el curso x manteniendo la
factibilidad.
62- La función objetivo queda
- f(u,v) ?? (p4 d(x,y) o(x,y) e(x,y) )
- ?? b(x,y) (p5 d(x,y) p6e(x,y))
- donde para un par de turnos de clase x, y
- d(x,y) es el número de profesores en común
- e(x,y) es el número de alumnos en común
- o(x,y) depende del número de cursos opcionales
entre x e y - (puede ser 0,1 o 2)
- b(x,y) 1 si los cursos se dictan en lugares
distantes y 0 sino. - l(x) duración del curso x
- Ut es el conjunto de cursos dictados en el
periodo t - Asignacion U (U1.Uk)
63- Problema de localización de plantas
- N talleres de una fabrica tiene que ser ubicados
en N posibles ubicaciones. Se conocen las
distancias aij entre los lugares y el flujo de
circulación de partes entre cada taller. - Se desea minimizar el total de las distancias
recorridas por las partes. - Función objetivo
- F ( S ) ? ? aij bsisj
- Movimientos cambiar de posición dos plantas.
- Facil de calcular el cambio de la función
objetivo. - Permite explorar todos los vecinos.
- Tamaño de N(S) O(n2)
- Lista Tabu
- Pares. Movimientos que mandan a p y q a lugares
donde ya estuvieron en las últimas t iteraciones. - Se pueden considerar también en la lista Tabu las
posiciones donde estuvieron esos elementos. - Tamaño variable. Puede ser al azar.
64- Criterios de aspiración
- El movimiento deja de ser Tabu si mejora la mejor
solución hasta el momento. - Penalidad de un movimiento
- se calcula la frecuencia fm con que un
movimiento se realiza se pone - pm 0 si m cumple con el
criterio de aspiración - w fm sino
- y se usa como valor del movimiento
-
- f (x m ) f(x) pm
65Problema de ruteo de vehículos
- (A Tabu Search heuristic for the vehicle routing
problem, Gendreau, Hertz, Laporte, Management
Science, Vol 40, nro 10, 1994) - El problema básico de ruteo de vehículos consiste
en determinar que recorrido tienen que hacer un
número de vehículos dado para visitar un cierto
número de lugares prefijados y volver al lugar de
origen con un costo o tiempo mínimo. El conocido
problema del Viajante de Comercio es un caso
particular del mismo. - Importancia de este tipo de problemas.
66- En este caso particular, las características del
problema tratado fueron - a) todas las rutas empiezan y terminan en el
depósito v0 - b) cada ciudad (salvo el depósito) es visitada
exactamente una vez por uno y solo un vehículo. - c) en cada ciudad hay una demanda qi (q0 0)
- d) la demanda total de una ruta no puede superar
la capacidad de los vehículos Q. - e) en cada ciudad hay que considerar un tiempo de
servicio ti (t0 0 ). - f) la longitud total de una ruta (tiempo de
recorrido mas tiempo de servicio) no puede
superar un valor máximo L
67Algoritmo Tabu Search propuesto
- Soluciones Una solución S es un conjunto de m
rutas R1,.....Rm donde cada vértice vi, salvo el
deposito, pertenece a una única ruta. - (las soluciones entonces no consideran las
restricciones d y f). - Función objetivo
- F1 (S) ? ? cij
- donde cij es el tiempo para ir de la ciudad i a
la ciudad j - F2 (S) F1 (S) p1 ? max 0, (?qi) Q
- p2 ? max 0, ? cij ? ti) L
68- Vecinos
- Una ciudad se inserta en otra ruta solo si en
ella está alguno de sus k vecinos mas próximos, o
en una ruta vacía si hace falta crear una nueva
ruta. Para obtener la nueva solución se
reoptimiza esa nueva ruta. - Lista Tabu
- Se prohibe a una ciudad volver a una cierta
ruta por un cierto número de iteraciones. - Tamaño variable, y dependiente de variables
aleatorias.
69- Función de aspiración
- Un movimiento de la lista Tabu se acepta si la
solución que produce es factible y mejora el
valor de F1 o es no factible y mejora el valor de
F2. -
- Ajuste de los parámetros de penalidad
- Los parámetros p1 y p2 se revisan cada h
iteraciones. Si las pasadas h iteraciones
produjeron soluciones que cumplen la restricción
d p1 se divide por 2, sino se multiplica por 2.
Lo mismo para p2.
70- Criterio de parada
- Si los valores de la función no cambiaron después
de Nmax iteraciones. - Soluciones iniciales
- Si las ciudades se representan en coordenadas
en el plano, se ordenan según el ángulo que
forman con el deposito. Se arma una solución para
el TSP para estas ciudades, y después se parte
en m rutas, donde m es el número máximo de
vehículos disponibles. - Estrategias de intensificación y diversificación
71- RESULTADOS
- Se testearon con 14 problemas de literatura, de
entre 50 y 199 ciudades y se compararon los
resultados con otras 12 heuristicas clasicas o
implementaciones de simulating annealing y Tabu
Search.
72Problema de supervivencia de redes de
comunicaciones
- Solución para problemas de supervivencia de
redes de comunicaciones. Una estrategia con
búsqueda Tabú, Gustavo Vulcano, Tesis de
Licenciatura, Depto. de Computación, Facultad de
Ciencias Exactas y Naturales, UBA, 1997) - El problema consiste en diseñar una red de
comunicaciones de costo mínimo que cumpla ciertas
condiciones de seguridad en el caso en que haya
una falla en alguno de sus componentes. Los
requerimientos de seguridad pueden ser muchos. En
el caso considerado aquí la red esta formada por
dos tipos de centrales - Tipo 2, son los nodos troncales de la misma y por
lo tanto la salida de servicio de una de ellas no
debe impedir la comunicación entre cualquier otro
par de centrales de tipo 2. - Tipo 1, Su rotura podría impedir la comunicación
entre otros dos nodos.
73- Heurística Tabu implementada
- Soluciones, espacio no-conexo.
- Construcción de la solución inicial usando una
heurística constructiva llamada
greedy-ears-sparse - Para construir los vecinos se usan heurísticas
de intercambio. Después de analizar varias se
propone la 1-opt. - Lista Tabú
- Función de Aspiración
- Problemas en que fue testeado el algoritmo
- Resultados
74- A tabu search algorithm for frecuency assignment
- Castelino, Hurley, Sephens, Annals of Operations
research,63,1996. - En que consiste el problema de asignación de
frecuencias. - Modelado como problema de coloreo de grafos con
restricciones. - En este caso se consideró el problema de asigna
frecuencias de radio para comunicarse entre
varios lugares, donde hay transmisores y
receptores. Las frecuencias disponibles están
separadas por 50 KHZ. No todos los canales se
pueden asignar. - Se ponen restricciones para minimizar la
interferencia.
75- Restricciones en el mismo sitio
- Separación cada par de frecuencias en un mismo
lugar tiene que estar separadas por una cantidad
fija (500 kHZ o 10 canales). esto se escribe como - fi fj ? m
- donde m es el número de canales de separación.
- itermodulacion
- 2 fi fj ? fk
- 3fi 2fj ? fk
- fi fj fk ? fl
- 2fi fj 2 fk ? fl
76- Restricciones entre sitios lejanos
- Restricción de distancia dos radios en sitios
diferenctes no deben tener asignados la misma
frecuencia, al menos que esten suficientemente
lejos - fi fj ? 0
- restricciones de canal
- fi fj ? m
- donde m es el número de canales de separación.
- Este problema es NP-Hard
77- Tabu Search
- Una asignación de frecuencias se representa por
un vector - (fi .............fn )
- Los vecinos difieren de la actual asignación en
una sola frecuencia. Se representan por el
movimiento que indica la posición y el valor. - Las soluciones se evaluan en función del número
de interferencias. - detalles de implementación
- Comparación con método de búsqueda local y con
algoritmo genético.
78- Code design, Honkala, Ostergard, 1997
- construcción de códigos para transmisión de la
información. - Como hacer para corregir el ruido y reconstruir
79- El código
- palabras (vectores) sobre un alfabeto de q
símbolos - distancia de Hamming
- longitud de una palabra
- peso de una palabra
- C q-ary code de longitud n.
- distancia d(C)
- esfera de Hamming
- distancia mínima de código 2 e 1
- e-error-correcting code
80- PROBLEMA
- determinar
-
- Aq (n,d) el cardinal máximo de un código de q
símbolos con palabras de longitud n y distancia
mínima al menos d. -
- Porqué se busca esto?
- Varias metaheurísticas.
81GRASP
- (Feo, T.,Resende, M.,Greedy randomized adaptive
search procedures, Journal of Global
Optimization, 1995, pp 1,27) - Esquema de un algoritmo GRASP
- --------------------------------------------------
---------------------- - Mientras no se verifique el criterio de parada
- ConstruirGreedyRandomizedSolución (
Solución) - Búsqueda Local (Solución)
- ActualizarSolución (Solución,
MejorSolución) - End
- --------------------------------------------------
-----------------------
82- Algoritmo ConstruirGreedyRandomizedSolución
(Solución) - En vez de usar un algoritmo goloso que elija el
elemento más prometedor para agregar a la
solución, en cada iteración se elige al azar
entre los que cumplen que no pasan de un
porcentaje ß del valor del mejor elemento. - Se puede limitar el tamaño de la lista de estos
elementos. - Algoritmo Búsqueda Local (Solución)
- Definición de intercambios
83- Qué tenemos que hacer para usar esta metodología
para un problema particular? - Determinar el conjunto de soluciones factibles S.
- Determinar la función objetivo f.
- Dar un procedimiento para generar los elementos
de N(s), vecinos de s o sea los intercambios de
la búsqueda local. - Decidir el tamaño del conjunto V ? N(s) que será
considerado en cada iteración. - Determinar el parámetro ß
- Definir criterios de parada.
84EJEMPLOS
- Cubrimiento de conjuntos
- Dados n conjuntos P1, P2,..Pn
- sea I ?i Pi y J
1,2,.n - Un subconjunto J de J es un cubrimiento si
- ?i?J Pi I
- El problema de recubrimiento mínimo (set covering
problem) consiste en determinar un cubrimiento
de I de cardinal mínimo ( o sea con la mínima
cantidad de conjuntos Pi)
85Ejemplo
- P1 1,2 , P2 1,3 , P3 2 , P4 3
- Los cubrimientos mínimos tienen cardinal 2 y son
- P1 P2, ó
- P1 P4, ó
- P2 P3,
86- Primer paso
- ConstruirGreedyRandomizedSolución ( Solución)
- Un algoritmo goloso podría ser agregar al
cubrimiento el conjunto que cubre la mayor
cantidad de elementos de I sin cubrir. - En este caso para el algoritmo GreedyRandomized
consideramos como conjuntos candidatos a los que
cubren al menos un porcentaje ? del número
cubierto por el conjunto determinado por el
algoritmo goloso. - También se puede limitar el tamaño de la lista de
candidatos a tener a lo sumo ? elementos. - Dentro de esta lista de conjuntos se elige
uno al azar.
87- Segundo paso
- Búsqueda Local (Solución)
- Para el algoritmo de descenso se definen los
vecinos usando el siguiente procedimiento de
intercambios - Un k,p-intercambio, con p lt q, consiste en
cambiar si es posible k-uplas del cubrimiento por
p-uplas que no pertenezcan al mismo. - Ejemplo cambiar la 2-upla P2 1,3 con la
1-upla P4 3
88- Ejemplo
- P1 3,4 , P2 3 , P3 2 ,
- P4 2,3,4 , P5 3,4,5 , P6 1,4,5 ,
P7 2,3 , - P8 4
- Tomamos ? 40
- En la primer iteración la lista es P1, P4, P5
,P6 , P7. Supongamos que sale elegido al azar
P5.. - Para el segundo paso la lista es P3, P4,P6 ,
P7. Si resultara elegido P3 tendríamos el
cubrimiento P3, P5 ,P6 que no es óptimo y
podriamos pasar al algoritmo de búsqueda local. - Si en primer lugar hubiera resultado elegido P6.
y después hubiera salido P4.hubieramos obtenido
la solución óptima P4,P6 .
89- Resultados presentados en el trabajo de Feo y
Resende - Testearon el algoritmo en problemas no muy
grandes pero difíciles que aparecían en la
literatura. - Lograron resolver problemas pequeños pero que aún
no habían sido resueltos. Se hicieron 10 corridas
para cada ejemplo con ß 0.5,0.6,0.7,0.8,0.9. - Usaron solo 1,0 intercambios o sea sólo se
eliminaron columnas superfluas.
90- 2. Máximo conjunto independiente
- En este caso la medida para decidir que nodo
agregar al conjunto independiente puede ser el
grado. Se puede hacer un algoritmo goloso que en
cada iteración agregue el nodo de menor grado. - El intercambio se hizo de la siguiente forma
- Si tenemos un conjunto independiente S de tamaño
p, para cada k-upla de nodos en ese conjunto
hacemos una búsqueda exhaustiva para encontrar el
máximo conjunto independiente en el grafo
inducido por los nodos de G que no son - adyacentes a los nodos de S S \ v1.....vk.
Si el conjunto N resultante es de cardinal mayor
que S entonces S U N es un conjunto
independiente mayor que S.
91- RESULTADOS
- Se testeó el algoritmo en grafos generados al
azar de 1000 nodos (con ciertas condiciones). Se
usó un máximo de 100 iteraciones y ß 0.1. - Se hizo un preprocesamiento para facilitar el
trabajo de GRASP, que se corre en grafos más
chicos que los originales.
923. Job Scheduling
- Problema Un conjunto de tareas debe ser
ejecutada en un único procesador. Hay tiempos no
simétricos de transición entre tareas. - Base del algoritmo se construye un camino
hamiltoniano en forma golosa. Se usa un
procedimiento de intercambio de nodos para la
búsqueda local.
93- 4. A GRASP for graph planarization, (Resende,
Ribeiro, 1995). - Problema Encontrar un subconjunto F de los ejes
de G tal que el grafo G\F sea planar. - Base un algoritmo GRASP como primer paso de una
heurística conocida que antes usaba un algoritmo
goloso heuristica de conjunto independiente
extension del subgrafo planar.
94ALGORITMOS GENETICOS
- Primeras ideas Holland ( 1975) (hay algún trabajo
anterior) - Basados en los principios de evolución y
herencia. - Modelar o simular fenómenos naturales, evolución
de las especies, procesos de selección natural,
mutación, etc. - Vocabulario de la genética individuos,
cromosomas, etc. - Programas o algoritmos evolutivos
95Estructura general de un algoritmo evolutivo
- --------------------------------------------------
---------------- - Empezar
- t 0
- inicializar P(t)
- evaluar P(t)
- Mientras no se cumpla la condición de parada
hacer - Empezar
- t t 1
- construir P (t) a partir de P(
t-1) - modificar P(t)
- evaluar P (t)
- Fin
- Fin
- --------------------------------------------------
---------------------
96- P(t) x1, x2, x3........xn población de la
generación t - Los xk son los individuos de esa población. Cada
uno representa una solución del problema que se
está tratando. - Se evalúa cada individuo usando una función
apropiada para medirlo. - Para formar la población de la siguiente
generación se eligen los mejores, se realiza el
cruzamiento y eventualmente se realiza una
mutación. - Después de un numero de generaciones se espera
que el mejor individuo represente una buena
solución (casi óptima).
97Qué hace falta para construir un algoritmo
genético para un problema particular?
- representación genética de las soluciones
- forma de generar la población inicial
- función de evaluación
- operadores genéticos que alteren la
- composición de los hijos.
- determinación de parámetros (tamaño de la
población, probabilidad de aplicar operadores
genéticos, etc.)
98- Minimización de una función
- max f(x) x sen (10 x) 1
-
- s.a. 1 lt x
lt 2 - Se puede resolver analíticamente
99- Representación
- Cromosoma vector binario de longitud
relacionada con la precisión requerida (en este
caso queremos 6 decimales) - -1,2 tiene que dividirse en 3000000 intervalos
- (22 bits)
- 2097152 221 lt 3000000 lt 222 4194304
- Para convertir un string binario en un número
real -
- pasar (b21...............b0) de base 2 a base 10
y obtener x - x -1 x (3/ 222 1)
- Población inicial
- Se construye una población de vectores de
binarios de 22 bits. - Evaluación
- La función de evaluación es la función f
100- Operadores genéticos
-
- Mutación
- Se altera uno o mas genes con una probabilidad
igual a la tasa de mutación predeterminada - Por ejemplo si el 5to gen de
- v3 (1110100000111111000101)
- es elegido para mutación el nuevo cromosoma queda
- v3 (1110000000111111000101)
- En cambio si se eligiera el 10mo gen quedaría
- v3 (1110000001111111000101)
101- Cruzamiento
- Supongamos que tienen que cruzarse v2 y v3 y que
el punto de cruzamiento queda en el 5to gen. - Entonces si
- v2 (0000001110000000010000)
- v3 (1110000000111111000101)
- los nuevos cromosomas son
- v2 (0000000000111111000101)
- v3 (1110001110000000010000)
102- Parámetros
- Tamaño de la población 50
- Probabilidad de cruzamiento 0.25
- Probabilidad de mutación 0.01
103ResultadosDespués de 150 generaciones vmax
(111........................) 1.850773
f(vmax) 2.85
104Más detalles
- Población inicial al azar de tamaño al azar
- Se calcula eval (vi) para cada cromosoma vi de la
población. - Valor de la población
- F ?i eval (vi)
- Probabilidad de selección de vi
- pi eval(vi) / F
- Probabilidad de selección
-
- qi ?1j pj
105- Proceso de selección de la nueva población
- Hacer pop veces
- Generar un número al azar r en el intervalo (0,1)
- Si r lt q1 elegir v1 sino elegir i tal que
- qi-1 lt r lt qi
- (algunos cromosomas pueden ser elegidos más de
una vez)
106- Crossover (entre los individuos de la nueva
población) - Dada la probabilidad dada de crossover pc
(parámetro) se toman pc pop cromosomas para
participar del cruzamiento. - Para cada cromosoma de la nueva población
- generar r al azar en (0,1)
- si r lt pc elegir el cromosoma para cruzamiento
107- Aparear los cromosomas elegidos. Para cada par
determinar al azar pos -
- (b1,b2.....bpos,bpos1,...........bm)
- (c1,c2.....cpos,cpos1,............cm)
- se reemplazan por
- (b1,b2.....bpos,cpos1,...........cm)
- (c1,c2.....cpos,bpos1,............bm)
108- Mutación
- Dada la probabilidad de mutación pm se cambian
- pm m pop bits.
- Para cada cromosoma y para cada bit generar r al
azar entre 0 y 1. - Si r lt pm cambiar el bit.
109El dilema del prisionero
- Cuento dos prisioneros están en celdas
separadas, imposibilitados de comunicarse y se
les pide que traicionen al otro en forma
independiente............ - El dilema del prisionero puede jugarse como un
juego de 2 jugadores, donde cada uno a su turno
traiciona o coopera con el otro. El puntaje que
cada uno saca esta dado por la siguiente tabla
110- Queremos diseñar un algoritmo que aprenda una
estrategia para jugar al dilema del prisionero - Representación de la estrategia
- Consideraremos estrategias determinísticas, que
usen los resultados de las tres últimas jugadas
para decidir la jugada actual. - Una estrategia se representa por un string de 64
bits indicando que hacer después de cada una de
las posibles historias, más 6 bits para iniciar
el juego (total 70 bits).
111- Esquema del algoritmo
- Elegir una población inicial a cada jugador se
le asigna al azar un string. - Para determinar el score de cada jugador
haciéndolo jugar con los otros. El score es el
promedio de todos los juegos. - Un jugador con score promedio se le asigna un
par, a uno por debajo del promedio ninguna, y a
los que están por encima 2 parejas. - Los jugadores exitosos se aparean al azar para
producir dos descendientes por pareja. La
estrategia de cada descendiente se arma a partir
de la estrategia de sus padres usando crossover y
mutación.
112- Resultados experimentales
- Partiendo de una población al azar se obtuvieron
poblaciones donde el jugador medio era tan
exitoso como el de las mejores heurísticas
conocidas hasta el momento. - Se sacaron conclusiones acerca del
comportamiento de los mejores jugadores - i) Continúe cooperando después de tres
cooperaciones mutuas .... (ponga C después de
recibir (CC)(CC)(CC)) - ii)Provoque traicione después que el otro
traiciona después de varias cooperaciones (ponga
D después de recibir (CC)(CC)(CD))
113El problema del viajante de comercio
- Representación
- Conviene usar vector binario en este caso?. Haría
falta un vector binario de log2 n bits para
cada ciudad, n log2 n en total. - Que pasaría con el crossover y la mutación?.
- Algoritmos de reparación
- Es mejor usar una representación entera. Usamos
un vector (i1,i2,......in) para representar un
tour. - Inicialización
- Se pueden usar heurísticas constructivas
empezando de distintas ciudades o generar los
tours al azar.
114- Crossover
- Hay muchas posibilidades, por ejemplo
- Padres
- (1,2,3,4,5,6,7,8,9,10,11,12)
- (7,3,1,11,4,12,5,2,10,9,6,8)
- Se toma por ejemplo el segmento (4,5,6,7) y queda
el descendiente - (1,11,12,4,5,6,7,2,10,9,8,3)
- De la misma forma se construye el otro hijo.
- Se puede hacer mutación acá?.Cámo?
115- Otra representación La ciudad i está en la
posición j si el tour va de la ciudd I a la
ciudad j. - Posible cruzamiento
- Elegir al azar un eje del primer padre, después
elegir el eje que sigue del segundo y así
siguiendo. (Si elige un eje que genera subtour,
se elige al azar uno que no genere subtour). - Ej padres
- (2 3 8 7 9 1 4 5 6)
- (7 5 1 6 9 2 8 4 3)
- Hijo (2 5 8 7 9 1 6 4 3)
116- Otra posibilidad de cruzamiento.
- Elegir una ciudad al azar y después el menor eje
de ambos padres saliendo de esa ciudad. Si ese
produce ciclo elegir el otro. Si ese también
produce ciclo elegir otro dentro de un pool de q
ejes elegidos al azar.
117- Otra representación
- Si tenemos el tour
- C (1 2 4 3 8 5 9 6 7)
- se representa por (1 1 2 1 4 1 3 1 1)
- (i representa la posición en la que está la
ciudad que sigue en el orden en el tour que
queda después que se fueron sacando las
anteriores). -
118- Acá se puede usar el cruzamiento clásico.
- Padres
- (1 1 2 1 4 1 3 1 1)
- ( 5 1 5 5 5 3 3 2 1)
- Hijos
- (1 1 2 1 5 3 3 2 1)
- (5 1 5 5 4 1 3 1 1)
- corresponden a tours válidos
- Ver que significa esto respecto de los circuitos
representados por los padres y los hijos.
119- Representaciones matriciales
- M matriz binaria donde mij 1 si la ciudad i
está antes que la ciudad j en el circuito. - Características de estas matrices?.
- Ideas de cruzamiento?
120A family of genetic algorithms for the pallet
loading problem. Herbert, Dowsland, ANOR, 1996.
- Pallet loading o Two dimensional packing
problem. - Suponemos que el container y las piezas son
rectangulares. - Las piezas se acomodan paralelas a los bordes
121- Qué consideran una solución?.
- Cómo representarla?
- Cómo hacer crossover y mutación?
- Función objetivo
- Cómo generar la primera población?
- Reparación de soluciones
122- Porqué funcionan los algoritmos genéticos (con
representación binaria)?. - Esquemas
- ( x x 1 1 x x 0 0 1 1 x 1)
- ( 1 1 0 1 1 x x 1 1 1 1 0)
- Idea de porqué sobreviven los mejores esquemas.
123- Orden de un esquema
- Longitud de un esquema
- Teorema del esquema. (Schema Theorem)
- Los esquemas cortos, de bajo orden de valor
(fitness) por encima de la media van a ser
revisados un número exponencialmente creciente de
veces en las generaciones de un algoritmo
genético.
124Ventajas y desventajas de los Algoritmos
Genéticos
- Inicialmente GA se usaba para problemas típicos
de Inteligencia Artificial (reconocimiento de
patrones, machine learning, etc.) - Aplicaciones exitosas a problemas de Optimización
- Problema como hacer la representación.
- Ventajas...............
125COLONIA DE HORMIGAS
- (primeras ideas Dorigo , Colorni, Maniezzo,
1991) - Inspiración en modelo biológico
- comportamiento de una colonia de hormigas
(Argentine ants) en un experimento de laboratorio
donde tenían que llegar a la comida por uno de
dos puentes de distinta longitud. Después de unos
minutos la mayoría de las hormigas eligen siempre
el más corto. Las hormigas dejan una huella de
pheromona cada vez que recorren un camino. Cada
vez que una hormiga llega a una intersección
elige para seguir la rama por donde hay más
pheromona.
126- A partir de allí surgen las ideas básicas que
permiten construir soluciones a problemas de
optimización - buscar en forma paralela a lo largo de ? huellas
o caminos -