metaheuristicas ideas, mitos, soluciones irene loiseau 1er cuatrimestre 2009

177
METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

Upload: consuelo-reyes-nieto

Post on 25-Jan-2016

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

METAHEURISTICASIdeas, Mitos, Soluciones

Irene Loiseau

1er Cuatrimestre 2009

Page 2: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

OPTIMIZACION COMBINATORIA

Qué es un problema de optimización combinatoria?

Page 3: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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

Page 4: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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

Page 5: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

Cómo se modela matemáticamente un problema de optimización combinatoria?

Minimizar (o maximizar) f(x)sujeto a g (xi) bi i=1.........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)

Page 6: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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

Page 7: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

Có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

Page 8: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

HEURISTICAS

• 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

Page 9: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

Porqué 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

Page 10: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

Cómo se evalúan?

• problemas test

• problemas reales

• problemas generados al azar

• cotas inferiores

Page 11: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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

Page 12: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

Algunas heurísticas y algoritmos aproximados para el TSP

Heurística del vecino más próximo------------------------------------------------------------------------EmpezarElegir un nodo v cualquiera de GPoner l(v) = 0Inicializar 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 = wFin---------------------------------------------------------------------------------------Cuál es la complejidad de este algoritmo?.

Page 13: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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.

Page 14: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

Para INSERTAR el nodo v elegido

si ci j es el costo o la longitud de un eje (i,j), elegimos dos nodos i, i+1 que ya están en el circuito y son consecutivos en el mismo y tal que

ci v + cv i+1 – c i i+1

sea mínimo. Insertamos v entre i e i+1.

Page 15: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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)

Page 16: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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.

Page 17: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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?

Page 18: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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.

Page 19: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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

Page 20: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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

Page 21: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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

Page 22: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

ESQUEMA GENERAL DE UN ALGORITMO DE DESCENSO (O BUSQUEDA LOCAL)

S= conjunto de solucionesN(s) =soluciones “vecinas” de la solución s----------------------------------------------------------------Elegir una solución inicial s0 SRepetir Elegir s N(s0) tal que f(s) < f(s0) Reemplazar s0 por sHasta que f(s) > f(s0) para todos los s N(s0)----------------------------------------------------------------

Page 23: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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

Page 24: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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

Page 25: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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)}

Page 26: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

TECNICAS 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

Page 27: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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

Page 28: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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 problemasREVISTAS:• Journal of Heuristics, Kluwer• Revistas de Operations Research, Sistemas

Inteligentes, Inteligencia artificial, etc.

Page 29: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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.

Page 30: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

• 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 Annealing:theory and applications”, Kluwer,1988

• Voss, Martello, Osman, Rocairol, “Metaheuristics”, Kluwer, 1999.

Page 31: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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

Page 32: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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

Page 33: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

Si hacemos la siguiente correspondencia:

estado del sistema Solución factible

Energía Costo

cambio de estado Solución vecina

Temperatura Parámetro de control

estado de congelamiento Solución heurística

Page 34: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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

Page 35: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

ESQUEMA GENERAL DE UN ALGORITMO SIMULATING ANNEALING

-------------------------------------------------------------------------Elegir una solución inicial s0Elegir una temperatura inicial t0 > 0Elegir 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 < 0 entonces s := s0 Sino Generar x al azar en (0,1) Si x < exp (- / t) entonces s := s0 Fin Poner t = (t)Fin------------------------------------------------------------------

Page 36: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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

Page 37: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

Má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 < 1 Se acostumbra usar 0.8 < a < 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...............

Page 38: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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.

FactibilidadPenalidades en la función objetivoEvitar funciones “chatas”

Page 39: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

Coloreo 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

Page 40: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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

Page 41: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

Problemas 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

Page 42: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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.

Page 43: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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.

Page 44: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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

Page 45: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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 > 0 habían sido eliminadas.

La función objetivo fue f2 = c5Fue 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.

Page 46: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

Problemas 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 isi, tiempo de servicion del cliente iei, hora más temprana en que puede iniciarse el servicio en ili, última hora en que puede iniciarse el servicio en itij, tiempo de viaje entre i y jdij, distancia entre i y jQv, capacidad del vehículo vbi, momento en que se empieza el servicio en ibij, 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,bi+si+tij}wj, tiempo de espera si el vehículo llega a j antes de ej. wj = ej – (bi+si+tij)

Page 47: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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

Page 48: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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 CostoC(S) = b1 R + b2 T + b3 D con b1 >> b2> b3dondeR es el total de vehículos usadosD la distancia total recorrida T el tiempo total de recorrer todas las rutas

Page 49: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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

Page 50: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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

Page 51: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

ESQUEMA GENERAL DE TABU SEARCH

InicializaciónElegir una solución inicial s en SNiter:=0bestiter:=0bestsol:= sT:=Inicializar la función de aspiración AMientras ( f(s) > f(s*) y (niter- bestiter < nbmax) hacer niter := niter + 1generar 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ú Tsi f(s*) < f(bestsol) entonces bestsol:= s* bestiter := niter s:=s* -------------------------------------------------------------------------

Page 52: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

Qué 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)

Page 53: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

Volviendo 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)}

Page 54: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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

Page 55: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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)

Page 56: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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.

Page 57: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

Problema del viajante de comercio

Espacio de soluciones: • permutaciones de (1,2,……………..n)• Solución inicial al azar

Movimientos: • k intercambios, se usa k=2.

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

Page 58: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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

Page 59: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

Coloreo 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 Se va actualizando.

Page 60: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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.

Page 61: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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.

Page 62: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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)

Page 63: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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(n**2)

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.

Page 64: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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

Page 65: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

Problema de ruteo de vehículosProblema 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.

Page 66: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

En este caso particular, las características del problema tratado fueron:

a) todas las rutas empiezan y terminan en el depósito v0b) 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

Page 67: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

Algoritmo 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]

Page 68: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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.

Page 69: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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.

Page 70: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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:

Page 71: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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.

Page 72: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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

Page 73: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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

Page 74: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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.

Page 75: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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 fk3fi – 2fj fk

fi + fj – fk fl2fi + fj – 2 fk fl

Page 76: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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 | mdonde m es el número de canales de

separación.

• Este problema es NP-Hard

Page 77: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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.

Page 78: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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

Page 79: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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

Page 80: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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.

Page 81: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

GRASP

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

Page 82: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

• 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

Page 83: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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.

Page 84: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

EJEMPLOS

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

iJ* 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)

Page 85: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

Ejemplo:

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,}

Page 86: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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.

Page 87: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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

Page 88: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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

Page 89: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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.

Page 90: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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.

Page 91: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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.

Page 92: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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

Page 93: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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.

Page 94: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

ALGORITMOS 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

Page 95: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

Estructura 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) FinFin-----------------------------------------------------------------------

Page 96: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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

Page 97: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

Qué 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.)

Page 98: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

Minimización de una función

max f(x) = x sen (10 x) + 1

s.a. –1 < x < 2

Se puede resolver analíticamente

Page 99: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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 = 2**21 < 3000000 < 2**22 = 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/ 2**22 –1)

Población inicialSe construye una población de vectores de binarios de 22 bits.EvaluaciónLa función de evaluación es la función f

Page 100: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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 quedav3”= (1110000000111111000101)En cambio si se eligiera el 10mo gen quedaría v3” = (1110000001111111000101)

Page 101: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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)

Page 102: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

Parámetros

• Tamaño de la población 50

• Probabilidad de cruzamiento 0.25

• Probabilidad de mutación 0.01

Page 103: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

ResultadosDespués de 150 generaciones: vmax = (111........................) = 1.850773 f(vmax) = 2.85

# de Generación Función de evaluación

1 1.441942

6 2.250003

8 2.250283

9 2.250284

10 2.250363

12 2.328077

39 2.344251

40 2.345087

51 2.738930

99 2.849346

137 2.850217

145 2.850227

Page 104: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

Má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

Page 105: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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 < q1 elegir v1 sino elegir i tal que

qi-1 < r < qi

(algunos cromosomas pueden ser elegidos más de una vez)

Page 106: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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 < pc elegir el cromosoma para cruzamiento

Page 107: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

Aparear los cromosomas elegidos. Para cada par determinar al azar pos

(b1,b2.....bpos,bpos+1,...........bm)

(c1,c2.....cpos,cpos+1,............cm)

se reemplazan por

(b1,b2.....bpos,cpos+1,...........cm)

(c1,c2.....cpos,bpos+1,............bm)

Page 108: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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 < pm cambiar el bit.

Page 109: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

El 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:

Jugador 1 Jugador 2 P1 P2 Traiciona Traiciona Coopera Coopera

Traiciona Coopera Traiciona Coopera

1 5 0 3

1 0 5 3

Page 110: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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

Page 111: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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.

Page 112: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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

Page 113: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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

Page 114: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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?

Page 115: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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)

Page 116: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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.

Page 117: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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

Page 118: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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.

Page 119: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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?

Page 120: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

A 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

Page 121: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

• 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

Page 122: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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.

Page 123: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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

Page 124: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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

Page 125: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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

Page 126: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

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

• guardar traza de los caminos prometedores

Cada hormiga funciona como un agente computacional que en cada iteración t produce una solución completa del problema que va construyendo paso a paso.

Page 127: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

Características principales de un algoritmo de colonia de hormigas para problemas de optimización combinatoria:

Para cada problema particular tenemos que definir:

• Un conjunto finito de componentes C = {c1, c2 ... cn}• Un conjunto finito L de posibles conexiones o transiciones

entre los elementos de C• Para cada lij L un costo de conexión Jij • Un conjunto de restricciones sobre los elementos de C y L

El problema se representa por un grafo G = ( C, L). las soluciones se pueden pensar como caminos factibles en G.

Page 128: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

• Los estados del problema se definen como sucesiones de elementos de C, s =( ci1, ci2...... cik). Estados factibles o soluciones.

• Una estructura de vecinos

• Un costo asociado a cada solución

ij valor heurístico asociado a un eje conteniendo información a priori sobre el problema.

Page 129: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

Objetivos y más detalles:

• Obtener una solución intercambiando información entre las hormigas, mejor que la que cada una construye individualmente.

• Cada hormiga usa información propia o del nodo que esta visitando o de la conexión que que está recorriendo.

Page 130: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

• Las hormigas se comunican entre ellas en forma indirecta a través de la información que proveen las huellas de pheromona.

• Las hormigas no tienen un comportamiento adaptativo individual.

• Cada hormiga busca una solución de mínimo costo.

• Cada hormiga tiene una memoria que puede usar para almacenar información del camino que esta recorriendo. la memoria se puede usar para construir una solución factible, para evaluar la solución actual y para reconstruir el camino hacia atrás.

Page 131: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

• Una hormiga en estado sr puede moverse a cualquier nodo de su vecindario N. Se mueve en función de una regla probabilística de decisión.

• Cuando la hormiga se mueve del nodo i al nodo j se puede actualizar el valor de la huella de pheromona ij. O sino cuando termina de construir la solución recorre el camino hacia atrás y actualiza entonces ij .

• Cuando terminan su trabajo de construir la solución y actualizar la pheromona, la hormiga “muere”.

Page 132: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

Evaporación de la pheromona:

Se disminuye la intensidad de la pheromona a lo largo de las iteraciones para evitar una convergencia muy rápida a un óptimo local.

Page 133: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

Esquema general de un algoritmo de colonia de hormigas:

ij valor que indica la atracción a priori del movimiento (i,j)

• pk ij= (ij + (1 - ) ij )/ ((ij + (1 - ) ij ))

donde la sumatoria del denominador es sobre los movimientos posibles para la

hormiga k.

• 0 < 1, parámetros definidos por el usuario.

Page 134: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

Esquema:

1. Inicialización2. Construcción Para k=1,m hacer hasta que k termine: Repetir - Calcular ij para todo (i,j) - Elegir el próximo movimiento con probabilidad pk ij

- Agregar el movimiento a la lista Tabú de la hormiga k.

3. Actualización de la huella Para cada movimiento (i,j) calcular ij y actualizar la

matriz de trazas.ij = ij + ij

4. Si se verifica condición de parada parar, sino repetir.

Page 135: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

Otra forma de la regla de transición de estados

(i,j) . (i,j)

si (i,j) Tabuk

(i,z) . (i,z)

Pk(i,j) = (i,z) TabuK

0 si (i,j) Tabuk

Page 136: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

Pseudo Código de Colonia de Hormigas

Inicialización de niveles de pheromona, seteo de parámetros.

Loop /*Para cada iteración t */Inicializar hormigas Loop /* Para cada paso */ For cada hormiga k

Armar un conjunto Ak de estados de expansión posibles a partir del estado actual de la hormiga k.

Aplicar la regla de transición de estados sobre el conjunto Ak y elegir un nuevo estado j. EndUntil todas las hormigas hayan generado una solución completa del problema.Actualizar niveles de pheromona.

Until condicion_de_finalización

Page 137: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

Aplicación al problema del viajante de comercio

Cada hormiga es un agente con las siguientes características:

En cada paso elegir una ciudad a visitar en base a Pk(i,j).

No repetir ciudades hasta completar un tour.

Al completar un tour, depositar pheromona sobre los arcos del mismo.

Page 138: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

Regla de transición o sea probabilidad con la cual una hormiga k posicionada en la ciudad i elige moverse hacia la ciudad j:

(i,j)

. (i,j)

si j Vecinosk(i)

(i,z) . (i,z)

Pk(i,j) = z Vecinosk(i)

0 sino

Page 139: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

Actualización de la feromona al terminar cada ciclo:

m

(i,j) = . (i,j) + k (i,j)

k =1

es el coeficiente de persistencia de pheromona o sea ( 0< <1), (1 - ) representa la evaporación.

k (i,j) representa la cantidad de pheromona depositada en los arcos por la hormiga k.

Page 140: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

Q / Lk si (i,j) pertenece al tour generado por la hormiga k

k (i,j) =

0 sino

• Q es una constante,

• Lk la longitud del tour generado por la hormiga k.

Page 141: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

Otra forma de actualizar la feromona:

Después que todas las hormigas completaron su tour, cada una de ellas deposita una cantidad de pheromona igual a

k (t) = 1 / Lk (t)

en cada eje lij usado donde Lk (t) es la longitud del tour hecho por la hormiga k en la interación t. o sea

ij (t) ----------- ij (t) + k (t)

para todo eje (i,j) que haya sido usado por alguna hormiga.

Evaporación de pheromona: ij (t) ------- (1- ) ij (t)

Page 142: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

Sobre este equema básico se han propuestos muchas variantes de colonia de hormigas para el TSP (y para otros problemas también)

• Sistemas elitistas: usar la información del mejor tour hallado hasta el momento.

• La pheromona depositada depende del “rango” de las hormigas.

• Sistemas de colonia de hormigas Max-Min: se limita el rango de variación de la pheronoma.

• Regla pseudoramdom para elegir el próximo elemento.

Page 143: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

Otras aplicaciones de colonia de hormigas:

• Ruteo de vehículos con restricciones de capacidad.

• Ruteo de vehículos con ventanas de tiempo y dependencia temporal.

Page 144: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

• Coloreo de grafos (Costa, Hertz): Solución constructiva basada en algoritmos conocidos (DSATUR). Usan la feromona para indicar si es conveniente que dos nodos tengan el mismo color. Resultados razonablemente buenos.

• Horarios en universidades: Pocas aplicaciones. Socha et al).La feromona representa la conveniencia de que una clase se asigne a un horario. Se agrega algoritmo de mejora a la mejor solución encontrada.

Page 145: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

• Scheduling: varias aplicaciones

• Set covering: (Leguizamon, Michalewicz, 2000 y Hadji et al., 2000).Dada una matriz binaria A, donde cada columna tiene un costo, encontrar el conjunto de columnas que cubre las filas a costo mínimo. La heurística usada para elegir columnas está basada en cuántas filas quedan cubiertas al elegir una columna. Búsqueda local. Los resultados fueron buenos pero no mejoraron los mejores resultados hasta el momento.

Page 146: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

• Partición de un grafo en árboles: (Cordone, Maffioli, 2003). Problema que se presenta en el área diseño de redes de

comunicaciones. Se tiene un grafo con costos en los ejes y pesos en los nodos. Se quiere encontrar un bosque de p árboles generador del grafo, de costo mínimo y tal que el peso de cada árbol esté entre dos valores dados W- y W+. En este caso cada nodo j tiene p valores ij de feromona, indicando si es conveniente que forme parte del árbol Ti. La función heurística es el costo mínimo de agregar el nodo cj al árbol Ti,

multiplicada por una penalidad.Cada hormiga construye una solución completa. Se aplica un

procedimiento de búsqueda local al final.Elección de los nodos iniciales: se eligen p nodos al azar.

Después se generan árboles con el algoritmo goloso, y se eligen como nodos iniciales los centroides de estos árboles.

Page 147: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

K-árbol mínimo: Hamacher,Jornsten, Foulds, Hamacher, Wilson, 1998) Bordorfer, Ferreira,Martin, 1998). Aplicaciones a leasing de reservas de petróleo, a ubicación de plantas, etc. La heurística es la longitud de los arcos. Las hormigas empiezan desde un eje elegido al azar y usan la regla pesudo-random proportional con q0 = 0.8.

Al final de cada iteración se aplica Tabú Search a la mejor solución obtenida.

Page 148: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

Mínima supersecuencia común entre L strings. (aplicaciones a análisis de ADN y a procesos de producción).(Michel, Middendorf, 1999). No usa función heurística.

L = {bbbaaa,bbaab,cbaab,cbaaa}

Una supersecuencia mínima en este caso es

(cbbbaaab)

Notación sij denota el carácter de Li en la posición j

Page 149: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

Cada hormiga construye una supersecuencia empezando por el primer carácter de uno de los strings. Este carácter se saca del string.

Después en cada paso:

i) Elige un carácter que sea el primero de al menos un string (con ciertos criterios).

ii) Saca ese carácter de esos primeros lugares.

iii) Se repite sobre el nuevo conjunto de strings L´, hasta que L´esté constituido sólo por strings vacíos.

Page 150: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

Más detalles:

• vk = (v1k….vl

k) con l = | L| , vik apunta a la primera posición

si vik de Li (la posición que tiene un candidato para incluir)

Ej; con el L del ejemplo, vk = (2,2,3,3) y

s1v1k = s12 = b

s2v2k = s22 = b

s3v3k = s33 = a

s4v4k = s43 = a

Inicialmente vk = (1,1,1,1), al final vk = (|L1| + 1,… (|Ll| + 1}

Page 151: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

En cada paso, dentro de los posibles caracteres a agregar la hormiga k elige usando la fórmula pseudorandom entre los elementos de Nvk

k = {x/ existe i tq x = si vik }

usando como feromona la suma de la feromona de todas las apariciones de x en los l strings:

ivik

(la suma es sobre los i tq si vik = x).

O sea la feromona toma en cuenta la cantidad de veces que aparece x como primer elemento y es mayor cuanto mayor es la feromona en las componentes sij para las cuales si vik = x.

Page 152: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

Describen otra variante que toma en cuenta cuántos caracteres de Li faltan cubrir.

Se actualiza después el vector vk

vik = vi

k + 1 si si vik = x

vik sino

Page 153: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

Actualización de la feromona:

Se toma en cuenta el rango de las hormigas para actualizar la feromona o sea se usa una fórmula del tipo:

k = g(rk) / |sk|

donde g es una función que depende del rango de k.

Se define un vector zk = (z1k….zl

k) donde zik apunta a un

carater de Li candidato a recibir feromona.

zk se inicializa como (1,…1)

Page 154: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

sk es la secuencia construida por la hormiga k.

xh carácter en la posición h en sk

Se pone:

Mhk = {sizik / sizik = xh}

Se actualiza:

zik = zi

k + 1 si si zik = x

vik sino

Page 155: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

Entonces la feromona que deposita la hormiga en cada componente que visita queda:

ij k = ( k / | Mh

k| )(2 (|sk| -h+1)/ (|sk|2 + |sk|))

La suma total de la feromona depositada por la hormiga k es k.

Cada carácter de un string recibe una cantidad de feromona que depende de cuán adelante fue elegido por la hormiga k, cuán buena es la solución sk y el número de strings de los cuales fue elegido en el mismo paso de la construcción.

Page 156: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

Otras características:

• Usa un paso de “mirar hacia delante antes de decidir” y usa los resultados de ese mirar hacia delante como la heurística usual en colonia de hormigas.

• Varias colonias de hormigas trabajan en paralelo.• Colonias que trabajan hacia delante y hacia atrás

• Muy buenos resultados.

Page 157: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

Otras aplicaciones:

• Protein Folding

• Bin Packing

• Conjunto independiente máximo

• Problema de la mochila

Page 158: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

Más ejemplos de aplicaciones de técnicas metaheurísticas…………..

Page 159: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

OTRAS METAHEURISTICAS

• Scatter Search and Path Relinking• Noisy methods• Algoritmos Meméticos• VNS• Swarm optimization

Page 160: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

Comentarios y Conclusiones

Cuándo usar metaheuristicas?.

• Problemas difíciles (NP-hard)• Problemas difíciles de modelar• Problemas reales donde se quiere tener una “buena” solución urgentemente.

Ventajas

• Relativamente fáciles de programar, transportables.• Modificación del problema de los datos,flexibilidad, interacción con el usuario.• Paralelización

Page 161: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

• Qué metaheurística elegir?.

• Cuál es mejor?. Cómo comparar?.

• Cómo saber si los resultados son buenos?.

• Cómo se hace para implementar una metaheurística exitosa?.

• Paralelización.

Page 162: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

• Falta “teoría”• Nomenclatura• PROGRAMACION• Híbridos

Relación con: • Heurísticas tradicionales• Métodos exactos (cotas, branch and cut,generación de

columnas, etc.)

Page 163: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

Estadísticas del MIC”99

• Tabú Search : 23• Local Search: 10• GRASP: 12• Simulating annealing: 6• Algoritmos genéticos y evolutivos: 17• Scatter Search: 2• Redes neuronales: 2• Colonia de hormigas: 2• Exactos + metaheuristicas : 2• Generalidades: 6 • Varios: 11

Page 164: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

CONCLUSIONES

• Cuándo usar técnicas metaheurísticas?• Cuál elegir?• Cómo hacer para decidir si es buena?

Heurísticas vrs Métodos Exactos?

Page 165: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

Algoritmo genético para diseño de redes de comunicaciones usando Self Healing Rings, Harmony,Klincewicz,Luss, Rosenwin, Journal of Heuristics, nro 6, 85-105 (2000)

• Redes de telecomunicaciones

• Qué es un self healing ring (SHR)?. En este caso se usan anillos unidemiensionales.

• Add-drop-multiplexers

• Stacked rings (paralelos, concéntricos)

• Hub que pertenece a todos los anillos.

• Con esta tecnología se arman diferentes topologías.

Page 166: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

En este caso se asume que:

• Cada nodo puede ser servido por muchos SHR´s con un ADM para cada uno. Hay un costo por colocar cada ADM.

• Una demanda dada entre un par de nodos i y h debe seguir una única ruta en los anillos (la demanda no se parte).

• El hub puede ser usado para cambiar tráfico entre los anillos. Hay un costo por cada unidad de tráfico que cambia de anillo.

• Hay un límite a la cantidad de ADM que pueden estar conectados a un SHR.

• La capacidad de cada SHR está acotada.

Page 167: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

El problema es entonces:

Determinar a que anillos tiene que ser conectado cada nodo y como rutear las demandas a costo mínimo.

• El problema se puede formular matemáticamente como un problema de programación lineal entera.

Page 168: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

Algoritmo Genético

N número de nodos, R número de anillos

• Representación: Cromosomas binarios de longitud (N-1)R, indicando si para el nodo i hay un ADM en el anillo k. (variable binaria xik asociada).

• A partir de cada cromosoma se usa una heurística para determinar como se rutean las demandas.

• Función objetivo: costos + penalidad por no poder rutear todas las demandas.

• Población inicial: se genera parte al azar y parte usando una heurística.

Page 169: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

• Nueva generación: se elige un conjunto de soluciones elite para pasar a la nueva generación. El resto se obtiene por cruzamiento. Se elige un padre “bueno” de acuerdo al valor de la función de evaluación y el otro al azar con distribución uniforme.

• Cruzamiento clásico, puede requerir un procedimiento de “reparación” si la solución no es factible.

• Mutación clásica al azar.

• Criterio de parada.

Page 170: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

Heurística para el ruteo de demandas dado un cromosoma.1. Basada en los valores de los xik determinar para cada dij todas

las posibles rutas.

2. Si una demanda tiene una sola ruta posible asignarla a ella.

3. Actualizar para cada demanda no asignada el conjunto de rutas factibles. Si alguna queda con una sola posibilidad volver a 2.

4. Asignar en primer lugar a un sólo anillo, de entra las demandas con menor cantidad de rutas posibles, la que tiene mayor dij.

Page 171: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

5. Actualizar los dij. Si corresponde volver a 2, sino a 4.

6 Asignar demandas a rutas en dos anillos con el mismo criterio de 4.

7. Actualizar los dij. Ir a 6.

8. Si no hay demandas no asignadas parar. Sino tendremos una solución no factible: asignar las demandas no asignadas lo mejor posible (en orden decreciente de los dij y tomando en cuenta las que poducen “menor infactibilidad” )

Page 172: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

Cómo se genera la población inicial

Una parte es al azar: para cada nodo i se determina al azar un nro q entre 1 y R Se asigna i a q anillos elegidos al azar entre los que no tienen su cantidada de ADM colmada. Sino hay suficientes anillos disponibles se lo asigna a algunos que ya están completos.

Al final se usa un algoritmo de reparación si las soluciones quedan infactibles respecto de la cantidad de ADM.

Page 173: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

Para la otra parte de la población inicial se usan dos heurísticas basadas en ideas de GRASP:

Heurística para generar soluciones iniciales donde cada nodo está en un sólo anillo. Trata de crear R subconjuntos de nodos combinando paso a paso varios grupos de nodos.

1. Ordenar las demandas dij en orden decreciente.

2. La lista de candidatos es una lista que contiene las demandas no procesadas de mayor valor, si s es un paramétro del algoritmo, el tamaño de la lista de candidatos es min{s,q}, donde q es la cantidad de demandas no procesadas.

Page 174: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

Elegir al azar dij de la lista de candidatos:

i) si ni I ni j están en ningún grupo abrir un grupo nuevo

ii) si uno de los nodos está en un grupo, agregar el otro nodo al grupo si no se violan las restricciones. Sino ponerlo en un grupo nuevo.

iii) Si cada no pertenece a un grupo diferente, combinar los dos grupos en uno si no se viola ninguna restricción. Sino dejar los grupos como están.

Repetir hasta que no queden demandas sin procesar.

Page 175: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

3. Si quedan más de R grupos, recorrer todos los pares en orden arbitrario. Si es posible combinar los dos grupos en uno sólo. Repetir hasta que haya R grupos o menos o haste que no se encuentren soluciones factibles. Si quedan más de R grupos se hacen combinaciones no factibles, empezando por combinar los dos grupos más pequeños. Si la solución viola la cantidad de nodos se repara de la misma forma que en el caso de la población elegida al azar.

Para las violación de cantidad de tráfico se usa la función de penalidad.

Page 176: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

Se usó otra heurística similar para generar otra parte de la población inicial, compuesta por soluciones sin intercambio de tráfico entre anillos.

Page 177: METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 1er Cuatrimestre 2009

RESULTADOS

- Se compararon resultados para casos chicos (10 o 15 nodos) con los resultados de CPLEX.

- Problemas de simetría en las soluciones y como arreglarlos.

- Después se generaron problemas al azar más grandes.

- El algoritmo no optimiza los valores de R.

- No necesariamente un valor menor de R hace que los costos sean menores.