metaheuristicas ideas, mitos, soluciones

243
METAHEURISTICAS Ideas, Mitos, Soluciones Irene Loiseau 2do Cuatrimestre 2010

Upload: bo-sears

Post on 05-Jan-2016

49 views

Category:

Documents


0 download

DESCRIPTION

METAHEURISTICAS Ideas, Mitos, Soluciones. Irene Loiseau 2do Cuatrimestre 2010. OPTIMIZACION COMBINATORIA. Qué es un problema de optimización combinatoria?. Ejemplos de problemas de optimización combinatoria: Problema de la suma de subconjuntos Determinación de caminos mínimos en grafos - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: METAHEURISTICAS Ideas, Mitos, Soluciones

METAHEURISTICASIdeas, Mitos, Soluciones

Irene Loiseau

2do Cuatrimestre 2010

Page 2: METAHEURISTICAS Ideas, Mitos, Soluciones

OPTIMIZACION COMBINATORIA

Qué es un problema de optimización combinatoria?

Page 3: METAHEURISTICAS Ideas, Mitos, Soluciones

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

• 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

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

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

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

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

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

Cómo se evalúan?

• problemas test

• problemas reales

• problemas generados al azar

• cotas inferiores

Page 11: METAHEURISTICAS Ideas, Mitos, Soluciones

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

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

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

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

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

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

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

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

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

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

• 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

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

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

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

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

METAHEURISTICAS

NO HAY UNA DEFINICION UNICA PARA ESTE TERMINO

• “Una metaheurística es un conjunto de conceptos que pueden ser usados para definir algoritmos heurísticas para un amplio espectro de problemas diferentes”.

• “Las metaheurísticas son estrategias de alto nivel que guían una heuristica específica del problema a resolver para mejorar su perfomance”

Page 27: METAHEURISTICAS Ideas, Mitos, Soluciones

Principales características de las metaheurísticas:

• Las metaheuristicas son estrategias que guían un proceso de búsqueda.

• Las metaheurísticas no son técnicas para un problema específico. Sus conceptos básicos se pueden describir con un alto nivel de abstración.

• El objetivo es explorar eficientemente el espacio de búsqueda para encontrar soluciones óptimas o casi óptimas.

• Las técnicas metaheurísticas van desde algoritmos simples de búsqueda local a complejos procesos de aprendizaje.

• Las metaheurísticas son en muchos casos algoritmos no-determinísticos.

• Las metaheurísticas pueden usar conocimiento del dominio específico de aplicación manejando heurísticas controladas por ellas.

• Algunas metaheurísticas hace uso de la “memoria” de la búsqueda para guiar los pasos futuros.

Page 28: METAHEURISTICAS Ideas, Mitos, Soluciones

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), Swarm Optimization• Redes neuronales (primeras ideas en los 60, resurgieron en los

80)• VNS• otras..

• Híbridos

Page 29: METAHEURISTICAS Ideas, Mitos, Soluciones

• 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 30: METAHEURISTICAS Ideas, Mitos, Soluciones

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.

Congresos

Page 31: METAHEURISTICAS Ideas, Mitos, Soluciones

LIBROS y ANALES

• Aarts,E.,Korst,J.,”Simulated Annealing and Boltzmann machines”, Wiley, 1989.

• Aarts,E. Lenstra,J.K., “ Local Search in Combinatorial Optimization”, Wiley,1998

• Alba,E.,"Parallel Metaheuristics:A New Class of Algorithms", Wiley, 2005.

• 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 32: METAHEURISTICAS Ideas, Mitos, Soluciones

• 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.• Talbi, E.G. "Metaheuristics:from design to implementation", Wiley, 2009. • Van Laarhoven,P.,Aarts,E.”Simulated Annealing:theory and applications”,

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

Page 33: METAHEURISTICAS Ideas, Mitos, Soluciones

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, 1953Algoritmo 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.

El proceso de “annealing” se puede simular modelando el material como un sistema de partículas. El algoritmo de Metropolis simula matemáticamente los cambios de energía del sistema cuando se lo somete a un proceso de enfriamiento hasta con converge a un estado de “congelamiento”

Page 34: METAHEURISTICAS Ideas, Mitos, Soluciones

30 años más tarde:

Kirkpatrick,S., Gellat,C., Vecchi,M., “Optimization by simulating annealing”, Science, 1983.

Tomando como base el trabajo de Metropolis et all, proponen usar estas ideas para buscar soluciones óptimas de problemas de optimización. Esto implica 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.

Page 35: METAHEURISTICAS Ideas, Mitos, Soluciones

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 36: METAHEURISTICAS Ideas, Mitos, Soluciones

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 37: METAHEURISTICAS Ideas, Mitos, Soluciones

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 38: METAHEURISTICAS Ideas, Mitos, Soluciones

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 39: METAHEURISTICAS Ideas, Mitos, Soluciones

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 40: METAHEURISTICAS Ideas, Mitos, Soluciones

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 41: METAHEURISTICAS Ideas, Mitos, Soluciones

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 42: METAHEURISTICAS Ideas, Mitos, Soluciones

Coloreo de grafos

(Ejemplo del libro de Reeves)

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.No es una buena función objetivo…………..

Qué pasa si se intentan usar intercambios para pasar de una solución factible a otra?.

Componentes bicolores. Complicado

Page 43: METAHEURISTICAS Ideas, Mitos, Soluciones

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.

• Los vecinos 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

Tampoco es una buena función objetivo…………..

Page 44: METAHEURISTICAS Ideas, Mitos, Soluciones

• Otra propuesta:

f (s) = - | Ci |2 + 2 |Ci| | Ei |

donde Ci de nodos en el subconjunto Vi

• Ninguna funciona demasiado bien en problemas grandes.

• A veces necesitamos sólo una solución factible del problema de coloreo y se usa sólo una función de penalidad

Page 45: METAHEURISTICAS Ideas, Mitos, Soluciones

• 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 46: METAHEURISTICAS Ideas, Mitos, Soluciones

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.

Presentaremos un caso tratado por K. Dowsland(libro de Rayward-Smith, Osman, Reeves, Smith, 1996).

Page 47: METAHEURISTICAS Ideas, Mitos, Soluciones

Se quieren programar los exámenes de un periodo en la Swansea University

Restricciones “fuertes”:

• 600 exámenes• 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 48: METAHEURISTICAS Ideas, Mitos, Soluciones

Objetivos secundarios:

• minimizar el numero de exámenes de mas de 100 alumnos después del periodo 10.• minimizar la cantidad de alumnos que tienen que dar dos exámenes en periodos

consecutivos.

No es un problema de optimización. Cuál es el objetivo? 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 49: METAHEURISTICAS Ideas, Mitos, Soluciones

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 50: METAHEURISTICAS Ideas, Mitos, Soluciones

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.

El manejo de vecinos en ambas fases fue diferente.

Page 51: METAHEURISTICAS Ideas, Mitos, Soluciones

Problemas de Ruteo de Vehículos

• El problema básico de Ruteo de Vehículos (Vehicle Routing Problem, VRP) requiere que se planifiquen de forma óptima las rutas de un conjunto de vehículos que tienen que visitar a un conjunto de clientes partiendo de un depósito.

• Hay muchas variantes del VRP, que puede incluir restricciones en la capacidad de los vehículos, en la longitud de los recorridos, tener horarios de entrega o recogida, etc.

• Problemas de optimización combinatoria de gran importancia económica y muy estudiados.

• El ejemplo que vamos a presentar fue propuesto en:

Chiang, W,Russell, R.,“Simulating annealing metaheuritics for the vehicle routing problem with time windows”, Annals of Operations Research 63

(1996)

Page 52: METAHEURISTICAS Ideas, Mitos, Soluciones

Para cada cliente i definimos:

• qi , carga o demanda del cliente i• si, tiempo de servicio 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,bi+si+tij}• wj, tiempo de espera si el vehículo llega a j antes de ej.• wj = ej – (bi+si+tij)

Page 53: METAHEURISTICAS Ideas, Mitos, Soluciones

• En este trabajo se construye una solución inicial usando un procedimiento de construcción de rutas en paralelo basado en una heurística inserción propuesta por Solomon.

• Se estima en primer lugar la cantidad de vehículos necesarios V y se genera esa cantidad de rutas. Al final se agregan rutas si quedaron clientes sin servir, o se trata de disminuir el nro de rutas si la cantidad inicial V alcanzó.

• Reglas para elegir que cliente insertar basadas en cual es el meno ej, en cual es la ventana de tiempo más estrecha, o en cual es el cliente más lejano al depósito.

• El lugar para insertar al cliente está determinado por una combinación de la distancia a la ruta y por el aumento del tiempo de viaje que produce insertar ese cliente.

• Se combinan los criterios y se elige que cliente insertar y donde viendo cual da la mejor solución.

Page 54: METAHEURISTICAS Ideas, Mitos, Soluciones

A partir de la solución inicial anterior se aplica un 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 vecindarios diferentes:

N1(S): construido a partir de elegir los dos vecinos siguientes del vecino i en la ruta p y los dos vecinos que no están en la ruta p que tienen menor costo de inserción en dicha ruta. Se evalua la posibilidad de insertar cada uno de estos cuatro elementos para cada cliente i, se repite el procedimiento para todos los i y al final se tiene una nueva solución S que es aceptada o no por el SA.

N2(S): se hacen intercambios de clientes entre todos los pares de rutas siempre que mejoren la solución.

Page 55: METAHEURISTICAS Ideas, Mitos, Soluciones

Función de Costo a optimizar

C(S) = b1 R + b2 T + b3 D

con pesos b1 >> b2> b3 y donde

R es el total de vehículos usados

D la distancia total recorrida

T el tiempo total de recorrer todas las rutas

Page 56: METAHEURISTICAS Ideas, Mitos, Soluciones

Parámetros y criterios de parada

Probabilidad inicial P0 = 0.05

Temperatura inicial T0 : se elige de forma que un movimiento peor sea aceptado con probabilidad Po.( se generan al azar movimientos para determinar esto)

Cambio de la temperatura (t)=0.95 t

Nrep proporcional a del tamaño del vecindario (0.95%)

Criterio de parada

Page 57: METAHEURISTICAS Ideas, Mitos, Soluciones

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 58: METAHEURISTICAS Ideas, Mitos, Soluciones

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 59: METAHEURISTICAS Ideas, Mitos, Soluciones

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 60: METAHEURISTICAS Ideas, Mitos, Soluciones

Volvemos al ejemplo de asignación de tareas que presentamos en “Búsqueda Local”:

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 61: METAHEURISTICAS Ideas, Mitos, Soluciones

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 62: METAHEURISTICAS Ideas, Mitos, Soluciones

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 63: METAHEURISTICAS Ideas, Mitos, Soluciones

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 64: METAHEURISTICAS Ideas, Mitos, Soluciones

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 65: METAHEURISTICAS Ideas, Mitos, Soluciones

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 66: METAHEURISTICAS Ideas, Mitos, Soluciones

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 67: METAHEURISTICAS Ideas, Mitos, Soluciones

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 68: METAHEURISTICAS Ideas, Mitos, Soluciones

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.

Page 69: METAHEURISTICAS Ideas, Mitos, Soluciones

La función objetivo queda

f(u) = (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 70: METAHEURISTICAS Ideas, Mitos, Soluciones

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 71: METAHEURISTICAS Ideas, Mitos, Soluciones

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 72: METAHEURISTICAS Ideas, Mitos, Soluciones

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)

TABUROUTE

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 73: METAHEURISTICAS Ideas, Mitos, Soluciones

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

Page 74: METAHEURISTICAS Ideas, Mitos, Soluciones

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 75: METAHEURISTICAS Ideas, Mitos, Soluciones

Vecinos: Al inicio de cada iteración se elige un cierto número de

ciudades al azar. Para cada una de ellas se hace el siguiente procedimiento:

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 76: METAHEURISTICAS Ideas, Mitos, Soluciones

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 77: METAHEURISTICAS Ideas, Mitos, Soluciones

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.

Se repite este procedimiento λ veces y se toma como solución inicial del Tabú Search la mejor solución encontrada.

La solución inicial puede ser no factible si no alcanza la cantidad de camiones disponible.

Estrategia de diversificación: se penalizan los nodos que han hecho “muchos” movimientos.

Page 78: METAHEURISTICAS Ideas, Mitos, Soluciones

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. En la mayoría de los casos mejoró los resultados que había hasta ese momento.

Page 79: METAHEURISTICAS Ideas, Mitos, Soluciones

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 80: METAHEURISTICAS Ideas, Mitos, Soluciones

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 81: METAHEURISTICAS Ideas, Mitos, Soluciones

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 82: METAHEURISTICAS Ideas, Mitos, Soluciones

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 83: METAHEURISTICAS Ideas, Mitos, Soluciones

Restricciones entre sitios lejanos:

• Restricción de distancia: dos radios en sitios diferentes no deben tener asignados la misma frecuencia, al menos que estén 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

Page 84: METAHEURISTICAS Ideas, Mitos, Soluciones

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 evalúan 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 85: METAHEURISTICAS Ideas, Mitos, Soluciones

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 86: METAHEURISTICAS Ideas, Mitos, Soluciones

• 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 87: METAHEURISTICAS Ideas, Mitos, Soluciones

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 88: METAHEURISTICAS Ideas, Mitos, Soluciones

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 89: METAHEURISTICAS Ideas, Mitos, Soluciones

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 90: METAHEURISTICAS Ideas, Mitos, Soluciones

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 91: METAHEURISTICAS Ideas, Mitos, Soluciones

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 < k, 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 92: METAHEURISTICAS Ideas, Mitos, Soluciones

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 93: METAHEURISTICAS Ideas, Mitos, Soluciones

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 94: METAHEURISTICAS Ideas, Mitos, Soluciones

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 95: METAHEURISTICAS Ideas, Mitos, Soluciones

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 96: METAHEURISTICAS Ideas, Mitos, Soluciones

“A greedy randomized adaptive search procedure for job shop scheduling” Binato, Hery, Loewenstern, Resende (2002)

• Un conjunto de n trabajos tiene que ser procesado en un conjunto de m máquinas. • Cada trabajo requiere un número de operaciones o tareas que tienen que ser

hechas en un orden dado.• Cada tarea tiene un tiempo de ejecución (independiente de la máquina donde se

lo procesa).• Una vez que un trabajo está siendo procesado en una máquina dada no se puede

interrumpir.• Cada máquina puede procesar un sólo trabajo por vez.• Se quiere determinar un orden de procesamiento de los trabajos en las máquinas

de modo a minimizar el tiempo total en el cual se pueden tener listos todos los trabajos. (makespan)

Page 97: METAHEURISTICAS Ideas, Mitos, Soluciones

• Una solución factible para este problema puede construirse analizando todas las permutaciones de las tareas que tienen que hacerse en cada máquina. (sólo hay que verificar las restricciones de precedencia).

• Este problema de Job Scheduling (JSP) es NP-hard. Incluso para instancias pequeñas los métodos exactos no han tenido éxito.

• En este trabajo se propone una heurística GRASP para el mismo.

Page 98: METAHEURISTICAS Ideas, Mitos, Soluciones

i) Fase constructiva (“goloso randomizado” )

Para construir una planificación (schedule) factible se agregan las tareas de a una.

Una operación puede ser agregada si ya han sido incluidas sus predecesoras.Entonces en cada paso hay n candidatas (una por trabajo).

Se elige al azar entre la tarea que hace crecer menos el makespan hasta ese momento, y las que difieren en un porcentaje de la misma.

(se pueden usar distribuciones de probabilidad que dan prioridad a algunas candidatas en particular)

Page 99: METAHEURISTICAS Ideas, Mitos, Soluciones

ii) Búsqueda Local

Se define un grafo en el cual el makespan corresponde a la longitud del camino más largo. (camino crítico, ver gráfico en el paper).

Cualquier orientación dentro del subgrafo que corresponde a una misma máquina define una planificación factible.

Dada una planificación se hace un intercambio a partir del camino crítico. Se intenta cambiar un par de operaciones consecutivas pertenecientes al camino,que se tengan que hacer en la misma máquina.

Page 100: METAHEURISTICAS Ideas, Mitos, Soluciones

iii) Intensificación

Se mantiene a lo largo del procedimiento un conjunto de soluciones “elite”. En este caso se incluyen como elite soluciones mejores que las que se tienen hasta el momento o que son muy diferentes de las que se tiene hasta el momento.

La función para elegir la próxima tarea a incorporar a la planificación toma en cuenta características de estas soluciones elite, favoreciendo la elección de tareas que tienen el mismo tiempo de inicio.

iv) POP

Cada varias iteraciones se realiza una búsqueda local sobre la solución parcial.

Page 101: METAHEURISTICAS Ideas, Mitos, Soluciones

• Se hicieron experimentos para determinar los mejores parámetros, si convenía usar intensificación, etc.

• Los autores reportan muy buenos resultados en problemas test de literatura.

Page 102: METAHEURISTICAS Ideas, Mitos, Soluciones

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 + heurística de conjunto independiente + extensión del subgrafo planar.

Page 103: METAHEURISTICAS Ideas, Mitos, Soluciones

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 104: METAHEURISTICAS Ideas, Mitos, Soluciones

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 105: METAHEURISTICAS Ideas, Mitos, Soluciones

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 106: METAHEURISTICAS Ideas, Mitos, Soluciones

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 107: METAHEURISTICAS Ideas, Mitos, Soluciones

Minimización de una función

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

s.a. –1 < x < 2

Se puede resolver analíticamente

Page 108: METAHEURISTICAS Ideas, Mitos, Soluciones

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 109: METAHEURISTICAS Ideas, Mitos, Soluciones

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 110: METAHEURISTICAS Ideas, Mitos, Soluciones

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 111: METAHEURISTICAS Ideas, Mitos, Soluciones

Parámetros

• Tamaño de la población 50

• Probabilidad de cruzamiento 0.25

• Probabilidad de mutación 0.01

Page 112: METAHEURISTICAS Ideas, Mitos, Soluciones

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 113: METAHEURISTICAS Ideas, Mitos, Soluciones

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 114: METAHEURISTICAS Ideas, Mitos, Soluciones

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 115: METAHEURISTICAS Ideas, Mitos, Soluciones

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 116: METAHEURISTICAS Ideas, Mitos, Soluciones

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 117: METAHEURISTICAS Ideas, Mitos, Soluciones

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 118: METAHEURISTICAS Ideas, Mitos, Soluciones

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 119: METAHEURISTICAS Ideas, Mitos, Soluciones

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 120: METAHEURISTICAS Ideas, Mitos, Soluciones

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 121: METAHEURISTICAS Ideas, Mitos, Soluciones

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 122: METAHEURISTICAS Ideas, Mitos, Soluciones

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 123: METAHEURISTICAS Ideas, Mitos, Soluciones

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 124: METAHEURISTICAS Ideas, Mitos, Soluciones

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 125: METAHEURISTICAS Ideas, Mitos, Soluciones

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 126: METAHEURISTICAS Ideas, Mitos, Soluciones

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 127: METAHEURISTICAS Ideas, Mitos, Soluciones

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 128: METAHEURISTICAS Ideas, Mitos, Soluciones

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 129: METAHEURISTICAS Ideas, Mitos, Soluciones

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 130: METAHEURISTICAS Ideas, Mitos, Soluciones

• 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 131: METAHEURISTICAS Ideas, Mitos, Soluciones

A family of genetic algorithms for the pallet loading problem. Herbert, Dowsland, ANOR, 1996.

• “Pallet loading” o “Two dimensional packing problem”.

• El container y las piezas son rectangulares. En este caso las piezas son todas iguales.

• Las piezas se acomodan paralelas a los bordes

Page 132: METAHEURISTICAS Ideas, Mitos, Soluciones

• Qué consideran una solución?. Una ubicación de las cajas en cualquier lugar del

rectángulo aunque se superpongan.

• Cómo representarla?Se considera al rectángulo total y a las cajas como

tableros de ajedrez, y se permite la ubicación de las cajas sólo en valores enteros.

Las coordenadas son múltiplos enteros de los anchos y largos de las cajas.

Una solución factible se define por un conjunto de posiciones ocupadas. Se representa por una matriz binaria que indica si en la posición i hay una caja o no.

Page 133: METAHEURISTICAS Ideas, Mitos, Soluciones

• Cómo hacer crossover y mutación?

Para hacer crossover se “corta” la matriz entre dos posiciones y se toma una parte de un padre y otra del otro.

La mutación es la clásica, cambiar un bit con una probabilidad baja.

Page 134: METAHEURISTICAS Ideas, Mitos, Soluciones

• Función objetivo

Si k es una solución se toma

f(k) = w1 n(k) – w2 m(k)

n(k): nro de cajas ubicadas, m(k) mide la superposición, wi,

pesos.Se usaron varias versiones de la función m(k):n ro de cajas

que overlap, nro de pares de cajas que overlap Otra función:

f(k) = a n(k) – 2 q(k)

donde a es el área de cada caja y q(k) es el área con overlap. Se toman en cuenta todas las funciones para elegir los individuos a cruzar.

Page 135: METAHEURISTICAS Ideas, Mitos, Soluciones

• Cómo generar la primera población?

Se eligió no formarla con buenas soluciones iniciales.

En cambio se genera asignando a cada bit de cada solución valor 1 con probabilidad opt/n

donde opt es un valor aproximado del número de cajas en una solución óptima y n es el nro de bits de cada individuo.

Page 136: METAHEURISTICAS Ideas, Mitos, Soluciones

• Reparación de soluciones

En la solución final puede haber soluciones no factibles.

En lugar de hacer una reparación simple descartando cajas que se superponen, se usa un operador de reparación basado en un modelo teórico de grafos. Se usa un modelo donde las posiciones de las cajas se representan en los nodos y se pone un eje si las posiciones de las cajas no se superponen. Se busca la clique máxima. (en este caso se pudo resolver el problema de clique porque hay pocas superposiciones).

• Parámetros

Page 137: METAHEURISTICAS Ideas, Mitos, Soluciones

Genetic and hybrid algorithms for graph coloringC.Fleurent,J. Ferland, Annals of Operations Research, 63,1996

• Los algoritmos genéticos “puros” no funcionan bien para problemas de optimización combinatoria.

• Esquemas híbridos• Se quiere colorear un grafo con k colores.

• Individuos: permutaciones de los nodos. Se evalúan usando una modificación de algoritmo de coloreo secuencial. (cuándo no hay más colores posibles se usa el que ha sido menos usado en los vecinos)

Page 138: METAHEURISTICAS Ideas, Mitos, Soluciones

Crossover:

Se genera al azar un vector binario str. Se copian los elementos del primer padre correspondientes a las posiciones que tienen

str(i) = 1. El resto de los nodos se ponen de acuerdo al orden en que están en el segundo padre.

padre1 1 2 3 4 5 6 7 8 9

2 5 8 1 9 3 7 4 6padre2

str 0 0 1 0 1 1 1 0 1

- - 3 - 5 6 7 - 9

2 8 3 1 5 6 7 4 9Primer paso

hijo

Page 139: METAHEURISTICAS Ideas, Mitos, Soluciones

Mutación:

se eligen dos posiciones al azar. Se mezclan al azar los elementos entre esas dos posiciones.

2 8 3 1 5 6 7 4 9

Se eligen al azar la 3era y la 6ta posición.

2 8 6 1 3 5 7 4 9

Page 140: METAHEURISTICAS Ideas, Mitos, Soluciones

Otras propuestas de representación y crossover. Si el conjunto de nodos se parte en k subconjuntos

C1, C2……. Ck , se arma un string donde s(i) = j si i Cj

Varias propuestas de crossover:

i) Elegir un punto al azar y cambiar las dos partes de los padres.

ii) Elegir dos puntos al azar y cambiar la parte entre esos dos puntos.

iii) Determinar un vector binario al azar y cambiar los elementos de los dos padres correspondientes a los bits iguales a 1.

Page 141: METAHEURISTICAS Ideas, Mitos, Soluciones

Función objetivo:

F(C1, C2……. Ck) = j E(Cj)

Las soluciones se ordenan de acuerdo a el valor de un rango en el cual las mejores soluciones se ponen primero. Se elige al azar dando mayor probabilidad de ser elegidas a las soluciones mejores.

Para elegir un padre se elige al azar un nro u en [0,N1/r ] donde r es un parámetro en el intervalo [1,2] .

Se toma el individuo en posición como padre. La posibilidad de elegir buenos padres crece con r.

En este caso se pone r=2 y después se va haciendo decrecer según r = 1+D donde D es una medida de la diversidad de la población.

Page 142: METAHEURISTICAS Ideas, Mitos, Soluciones

Diversidad de una población P:

ηij es el nro de individuos de P en los cuales el nodo i tiene color j

Di= (- j, ηij≠0 (ηij / P ) log (ηij / P ))/ log k

D = (i, Di) / V

D es un valor normalizado en el intervalo [0,1] que indica la diversidad de la población. Una población con todos sus individuos idénticos tiene entropía D igual a 0.

D se usa para decidir criterios de parada y elección de padres a cruzar

Page 143: METAHEURISTICAS Ideas, Mitos, Soluciones

Algoritmo Híbrido:

Los autores proponen una combinación de este algoritmo genético con búsqueda local o con el algoritmo TABUCOL (Tabu search), usados como mutación.

Page 144: METAHEURISTICAS Ideas, Mitos, Soluciones

Algoritmo genético para diseño de redes de comunicaciones usando Self Healing Rings

• Redes de telecomunicaciones

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

• Add-drop-multiplexers

• Stacked rings (paralelos, concéntricos)

• Hub que pertenece a todos los anillos.

Page 145: METAHEURISTICAS Ideas, Mitos, Soluciones

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 j debe seguir una única ruta en los anillos.

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

Page 146: METAHEURISTICAS Ideas, Mitos, Soluciones

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 147: METAHEURISTICAS Ideas, Mitos, Soluciones

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.

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

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

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

Page 148: METAHEURISTICAS Ideas, Mitos, Soluciones

• Nueva generación: se elige un padre “bueno” de acuerdo al valor de la función de evaluación y otro al azar con distribución uniforme.

• Cruzamiento clásico,

• Mutación

• Puede requerir un procedimiento de “reparación”.

• Criterio de parada.

Page 149: METAHEURISTICAS Ideas, Mitos, Soluciones

Heurística para el ruteo de demandas

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, las demandas con menores posibilidades, y dentro de ellas la que tiene mayor dij

5. Actualizar los dij. Si corresponde volver a 2, sino a 3. 6. Asignar demandas a rutas en dos anillos.

7. Actualizar los dij. Ir a 6.

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

Page 150: METAHEURISTICAS Ideas, Mitos, Soluciones

Heurísticas iniciales; Se usan dos heurísticas basadas en ideas de GRASP (describimos una de ellas acá)

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

1. Ordenar las demandas dij en orden decreciente. La lista de candidatos es una lista que contiene las demandas no procesadas de mayor valor, s es un paramétro del algoritmo, el tamaño de la lista de candidatos es min{s,q}. 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.

Page 151: METAHEURISTICAS Ideas, Mitos, Soluciones

iii) Si cada nodo 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.

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 hasta 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. Para las violación de cantidad de tráfico se usa la función de penalidad.

Page 152: METAHEURISTICAS Ideas, Mitos, Soluciones

Resultados:

• Experimentos para fijar parámetros

• Se comparó con CPLEX para problemas de 10 a 15 nodos. Soluciones casi óptimas a un tiempo muchísimo menor-

Page 153: METAHEURISTICAS Ideas, Mitos, Soluciones

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 154: METAHEURISTICAS Ideas, Mitos, Soluciones

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 155: METAHEURISTICAS Ideas, Mitos, Soluciones

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 156: METAHEURISTICAS Ideas, Mitos, Soluciones

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 157: METAHEURISTICAS Ideas, Mitos, Soluciones

• 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 158: METAHEURISTICAS Ideas, Mitos, Soluciones

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 159: METAHEURISTICAS Ideas, Mitos, Soluciones

• 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 160: METAHEURISTICAS Ideas, Mitos, Soluciones

• 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 161: METAHEURISTICAS Ideas, Mitos, Soluciones

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 162: METAHEURISTICAS Ideas, Mitos, Soluciones

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 163: METAHEURISTICAS Ideas, Mitos, Soluciones

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 164: METAHEURISTICAS Ideas, Mitos, Soluciones

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 165: METAHEURISTICAS Ideas, Mitos, Soluciones

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 166: METAHEURISTICAS Ideas, Mitos, Soluciones

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 167: METAHEURISTICAS Ideas, Mitos, Soluciones

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 168: METAHEURISTICAS Ideas, Mitos, Soluciones

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 169: METAHEURISTICAS Ideas, Mitos, Soluciones

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 170: METAHEURISTICAS Ideas, Mitos, Soluciones

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 171: METAHEURISTICAS Ideas, Mitos, Soluciones

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 172: METAHEURISTICAS Ideas, Mitos, Soluciones

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 173: METAHEURISTICAS Ideas, Mitos, Soluciones

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 174: METAHEURISTICAS Ideas, Mitos, Soluciones

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 175: METAHEURISTICAS Ideas, Mitos, Soluciones

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 176: METAHEURISTICAS Ideas, Mitos, Soluciones

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 177: METAHEURISTICAS Ideas, Mitos, Soluciones

Actualización de la feromona:

Se toma en cuenta el rango de las hormigas ordenadas de acuerdo a la calidad de sus soluciones en esa iteración, 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 178: METAHEURISTICAS Ideas, Mitos, Soluciones

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 179: METAHEURISTICAS Ideas, Mitos, Soluciones

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 pronto 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 180: METAHEURISTICAS Ideas, Mitos, Soluciones

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 181: METAHEURISTICAS Ideas, Mitos, Soluciones

• 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 182: METAHEURISTICAS Ideas, Mitos, Soluciones

• 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 183: METAHEURISTICAS Ideas, Mitos, Soluciones

K-árbol mínimo: Hamacher,Jornsten, Foulds, Hamacher, Wilson, (1998) Borndorfer, 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 184: METAHEURISTICAS Ideas, Mitos, Soluciones

Otras aplicaciones:

• Protein Folding

• Bin Packing

• Conjunto independiente máximo

• Problema de la mochila

• Planificación deportiva

Page 185: METAHEURISTICAS Ideas, Mitos, Soluciones

• ACO Algorithms achiece state of the art performance for several application problems (resource project scheduling problem, quadratic assignement, vechicle routing problem with time window,bin packing, shortest common spersequence, single machine total weighted tardiness problem (Dorigo, Stutzle, 2004).

• Problems where other algorithms appear to be superior to ACO: Graph coloring, job shop. (Dorigo, Stutzle, 2004)

Page 186: METAHEURISTICAS Ideas, Mitos, Soluciones

Scatter Search

Scatter Search: diseño básico y estrategias avanzadas Martí, Laguna, (2004)

Scatter Search se basa en combinar las soluciones que aparecen en el llamado conjunto de referencia. Esteconjunto almacena las ”buenas” soluciones que se hanido encontrando durante el proceso de búsqueda. Es importante destacar que el significado de buena no se restringe a la calidad de la solución, sino que también se considera la diversidad que esta aporta al conjunto de referencia.

Page 187: METAHEURISTICAS Ideas, Mitos, Soluciones

SS consta básicamente de cinco elementos:

• Diversification Generation Method. Un generador de soluciones diversas. El método se basa en generar

un conjunto P de soluciones diversas (alrededor de 100), del que extraeremos un subconjunto pequeño (alrededor de b=10) que denominamos conjunto de referencia RefSet.

• Improvement Method. Típicamente se trata de un método de búsqueda local para mejorar

las soluciones, tanto del conjunto de referencia como las combinadas antes de estudiar su inclusión en el conjunto de referencia. Es importante destacar que en las implementaciones donde se manejen soluciones no factibles, este método ha de ser capaz de, a partir

de una solución no factible, obtener una que sea factible y después intentar mejorar su valor. Si el método no logra mejorar a la solución inicial, se considera que el resultado es la propia solución inicial.

Page 188: METAHEURISTICAS Ideas, Mitos, Soluciones

• Reference Set Update Method.

Crear y actualizar el conjunto de referencia RefSet.

A partir del conjunto de soluciones diversas P se extrae el conjunto de referencia según el criterio de contener soluciones de calidad y diferentes entre sí (Calidad y Diversidad). Las soluciones en este conjunto están ordenadas de mejor a peor respecto de su calidad.

i) Creación. Iniciamos el conjunto de referencia con las b/2 (|RefSet|=b) mejores soluciones de P. Las b/2 restantes se extraen de P con el criterio de maximizar la mínima distancia con las ya incluidas en el conjunto de referencia. Para ello debemos de definir previamente una función de distancia en el problema.

Page 189: METAHEURISTICAS Ideas, Mitos, Soluciones

ii) Actualización. Las soluciones fruto de las combinaciones pueden entrar en el

conjunto de referencia y reemplazar a alguna de las ya incluidas, en caso de que las mejoren. Así pues, el conjunto de referencia mantiene un tamaño b constante, pero el valor de sus soluciones va mejorando a lo largo de labúsqueda. En implementaciones sencillas, la actualización de este conjunto se realiza únicamente por calidad, aunque se puede hacer también por diversidad.

Page 190: METAHEURISTICAS Ideas, Mitos, Soluciones

• Subset Generation Method. Un método para generar subconjuntos de RefSet a los que se

aplicará el método de combinación. SS se basa en examinar de una forma bastante exhaustiva todas las combinaciones del RefSet. Este método especifica la forma en que se seleccionan los subconjuntos para aplicarles el método de combinación. Una implementación sencilla, utilizada a menudo, consiste en restringir la búsqueda a parejas de soluciones. Así el método considera todas las parejas que se pueden formar con los elementos del RefSet y a todas ellas le aplica el método de combinación.

• Solution Combination Method. SS se basa en combinar todas las soluciones del conjunto de

referencia. Para ello, se consideran los subconjuntos formados por el método del paso 4, y se les aplica el método de combinación. La solución o soluciones que se obtienen de esta combinación pueden ser inmediatamente introducidas en el conjunto de referencia o almacenadas temporalmente en una lista hasta terminar de realizar todas las combinaciones y después ver qué soluciones entran en éste.

Page 191: METAHEURISTICAS Ideas, Mitos, Soluciones

Algoritmo Scatter Search1. Comenzar con P = Ø. Utilizar el método de generación

para construir una solución y el método de mejora para tratar de mejorarla; sea x la solución obtenida. Si x ∉ P entonces añadir x a P. (i.e., P = P ∪ x ), en otro caso, rechazar x.

Repetir esta etapa hasta que P tenga un tamaño prefijado.

2. Construir el conjunto de referencia RefSet = { x1, …, xb } con las b/2 mejores soluciones de Py las b/2 soluciones de P más diversas a las ya incluidas.

3. Evaluar las soluciones en RefSet y ordenarlas de mejor a peor respecto a la función objetivo.

4. Hacer NuevaSolución = TRUE

Page 192: METAHEURISTICAS Ideas, Mitos, Soluciones

Mientras (NuevaSolución)5. NuevaSolucion = FALSE

6. Generar los subconjuntos de RefSet en los quehaya al menos una nueva solución.

Mientras (Queden subconjuntos sin examinar) 7. Seleccionar un subconjunto y etiquetarlo como

examinado. 8. Aplicar el método de combinación a las soluciones

del subconjunto. 9. Aplicar el método de mejora a cada solución obtenida

por combinación. Sea x la solución mejorada: Si( f (x)< f (xb ) y x no está en RefSet) 10. Hacer xb = x y reordenar Refset 11. Hacer NuevaSolucion = TRUE

Page 193: METAHEURISTICAS Ideas, Mitos, Soluciones

Ejemplo Scatter Search problema de la mochila

Max 11x1 + 10 x2 + 9 x3 + 12 x4 + 10 x5 + 6 x6 + 7 x7 + 5 x8 + 3 x9 + 8 x10

Sujeto a

33 x1 + 27 x2 + 16 x3 + 14 x4 + 29 x5 + 30 x6 + 31 x7 + 33 x8 + 14 x9 + 18 x10 ≤ 100

xi {0,1}

Page 194: METAHEURISTICAS Ideas, Mitos, Soluciones

• Método de diversificación

• Método de mejora

• Método para actualizar el conjunto de referencia

• Método para generar el subconjunto

• Método de combinación de soluciones.

Page 195: METAHEURISTICAS Ideas, Mitos, Soluciones

An experimental evaluation of a Scatter Search for the Linear Ordering Problem, Campos, Glover, Laguna, Martí (1999).

• Dada una matriz con pesos el LOP consiste en encontrar una permutación p de las columnas (y filas) que maximice la suma de los pesos en el triángulo superior.

• En términos de grafos se trata de encontrar un “tournament” acíclico tal que la suma de las longitudes de los arcos sea máxima.

• El LOP tiene numerosas aplicaciones. Dos ejemplos bien conocidos son la triangulación de las matrices insumo producto de una economía, donde el ordenamiento óptimo permite a los economistas extraer información acerca de la estabilidad de la misma, o el problema de estratificación en arqueología, donde el LOP es usado para encontrar el orden cronológico más probable de las muestras encontradas en distintos lugares.

• LOP es NP-hard

Page 196: METAHEURISTICAS Ideas, Mitos, Soluciones

• Diversification generator: testearon 10 métodos, 6 basados en GRASP, uno es una combinación de estos 6, uno es azar, uno que usa memoria basada en frecuencia. Se quedan con este último.

• Improvement Method: permutaciones• Reference Set Uptade method : se mantiene la información

de cuales son las b mejores soluciones encontradas hasta el momento.

• Subset Generation Method: varios tipos de subconjuntos: todos los pares, subconjuntos de 3 obtenidos de los de dos, subconjuntos de los mejores i elementos para i desde 5 a b.

• Solution Combination Method: reglas para combinar las soluciones entre si. Cada solución vota por su primer elemento que no está en la combinación hasta el momento.

Page 197: METAHEURISTICAS Ideas, Mitos, Soluciones

Overall Procedure1. Start with P = Ø. Use the diversification generator DG10 to construct a

solution s. Apply the Improvement Method to s to obtain the improved solution s* . If s* Ï P then, add s* to P (i.e., P = P Ès* ), otherwise, discard s*. Repeat this step until |P| = PSize.

2. Order the solutions in P according to their objective function value (where the best overall solution is first on the list).

3. Build RefSet from P, with |RefSet| = b1+b2 (i.e., b = b1+b2). Take the first b1 solutions in P and assign them to RefSet. For each solution x in P-RefSet, calculate the minimum dissimilarity d(RefSet,x) to all solutions in RefSet. Select the solution x¢ with the maximum dissimilarity d(RefSet,x¢) of all x in P-RefSet. Add x¢ to RefSet, until |RefSet| = b1+b2. Make NewElements = TRUE.

Page 198: METAHEURISTICAS Ideas, Mitos, Soluciones

While (NewElements) do 4. Calculate the number of subsets (MaxSubset) that include at least one new element. Make NewElements = FALSE. For (SubsetCounter = 1, …, MaxSubset) do

5. Generate the next subset r from RefSet with the Subset Generation Method. This method generates one of four types of subsets with number of elements ranging from 2 to |RefSet|. Let subset r = { r1, …, rk }, for 2≤ k ≤ |RefSet|.

6. Apply the Solution Combination Method to r to obtain a new solution sr.

7. Apply the Improvement Method to sr, to obtain the improved solution sr* . If ( sr* is not in RefSet and the objective function value of sr* is better than the

objective function value of the worst element in RefSet ) then 8. Add sr* to RefSet and delete the worst element currently in RefSet. 9. Make NewElements = TRUE. End if End forEnd while

Page 199: METAHEURISTICAS Ideas, Mitos, Soluciones

Resultados:

Testearon el algoritmo en la biblioteca LOLIB, SGB y generadas al azar.

Resultados comparables a las mejores heurísticas hasta el momento.

Page 200: METAHEURISTICAS Ideas, Mitos, Soluciones

PATH relinking

Se combina con otros métodos metaheurísticos. Se construye un camino entre dos “buenas soluciones”, esperando de ese modo encontrar soluciones mejores que combinen los elementos de ambas.

Page 201: METAHEURISTICAS Ideas, Mitos, Soluciones

Variable Neighborhood Search

La idea es usar en el contexto de la búsqueda local varias definiciones de vecindarios.

Se supone que los mínimos locales de los distintos vecindarios no son iguales, pero si el mínimo global.

Page 202: METAHEURISTICAS Ideas, Mitos, Soluciones
Page 203: METAHEURISTICAS Ideas, Mitos, Soluciones

• Cómo elegir los vecindarios?.

• Algoritmos de búsqueda local.

Page 204: METAHEURISTICAS Ideas, Mitos, Soluciones

Se han propuesto varias extensiones del VNS básico.Ejemplo VNDS

Page 205: METAHEURISTICAS Ideas, Mitos, Soluciones

Algunos ejemplos de aplicaciones:

• Viajante de comercio

• El problema de determinar el árbol generador mínimo con restricciones de grado.

• El problema de la p-mediana

Page 206: METAHEURISTICAS Ideas, Mitos, Soluciones

Iterative Local Search

procedure Iterated Local Search

s0 = GenerarSolucionInicial

S* = BúsquedaLocal(s0) Repeat s´ = Perturbación (s*) s´* = BúsquedaLocal(s´) s* = Criteriodeaceptacion ( s*, s´*) until termination condition metend

Page 207: METAHEURISTICAS Ideas, Mitos, Soluciones

Más aplicaciones de metaheurísticas….

Page 208: METAHEURISTICAS Ideas, Mitos, Soluciones

“An improved Tabu search Algorithm for DNA

Sequencing with errors”, Blazewicz, Formanowicz, Glover, Kasprzak, Weglarz, Proceedings MIC´99

“Hybrid genetic algorithm for DNA sequencing with errors”, Blazewicz,Kasprzak,Kuroczki, Journal of Heuristics, 2002

-------------------------------------------------------------------

Problema: A partir de un conjunto de olegonucleótidos de longitud dada (usualmente 8-12 nucleótidos) reconstruir una cadena de ADN de longitud conocida n.

Page 209: METAHEURISTICAS Ideas, Mitos, Soluciones

Cómo se hace el procedimiento de secuenciar el ADN?

• No se puede leer la cadena entera• Secuenciamiento por hibridización. Detecta un conjunto

(spectrum) de oligonucleótidos (palabras) de una longitud dada l. (palabras de igual longitud sobre el alfabeto {A,C,G,T})

• A partir de esto hay que reconstruir la secuencia.

• La información tiene errores. • Errores “negativos” (faltan palabras). Errores positivos (hay

datos superfluos, palabras que no están en la secuencia original)

Page 210: METAHEURISTICAS Ideas, Mitos, Soluciones

• Si la secuencia es de longitud n, el spectrum ideal, sin errores, tiene n-l+1 diferentes palabras que se superponen en l-1 letras.

• Si en los experimentos de hibridización no hubiera errores el problema se reduce a detectar un camino euleriano en un grafo.

• Si, como ocurre en la práctica hay errores positivos y negativos el problema es NP-hard.

En este caso el objetivo de los algoritmos será maximizar el número de elementos del spectrum que den una solución (una cadena) de longitud menor o igual a n.

Page 211: METAHEURISTICAS Ideas, Mitos, Soluciones

Ejemplo: (si no hubiera errores)

• Secuencia ACTCTGG, n =7, l=3

• Supongamos que usamos los 64 oligonucleotidos de longitud 3.

• Si no hay errores el spectrum obtenido experimentalmente sería {ACT,CTC,CTG,TCT,TGG}

• La reconstrucción consiste en encontrar un orden tal que haya un overlap de 2 letras entre una palabra y la siguiente.

• Hay una única solución.

Page 212: METAHEURISTICAS Ideas, Mitos, Soluciones

Ejemplo: (ahora consideramos que pueda haber errores)

• Error negativo: CTC

• Errores positivos: CAA, TTG

• El spectrum quedaría {ACT,CAA,CTG,TCT,TGG,TTG}

• Con la función objetivo mencionada, acá habría dos soluciones óptimas

{ACT,TCT, CTG,TGG} da la solución ACTCTGG

{CAA,ACT,CTG,TGG} da la solución CAACTGG

• En la práctica si se usan los datos de experimentos reales esto no pasa.

Page 213: METAHEURISTICAS Ideas, Mitos, Soluciones

TABU SEARCH

• Dos estructuras de datos: una lista de palabras que constituyen las solución actual y una lista del resto de las palabras (conjunto “basura”).

• El nro. de palabras contenidas en una solución no puede ser mayor que la que produce una solución de n nucleótidos.

• No se aceptan movimientos que lleven a soluciones no factibles.

• Solución inicial generada al azar. (se podría mejorar esto, puede ocurrir que se disponga de la primera palabra experimentalmente)

Page 214: METAHEURISTICAS Ideas, Mitos, Soluciones

Tres clases de movimientos para obtener soluciones vecinas, a partir de las palabras:

• Inserción de una palabra

• Borrado de una palabra

• Cambio de lugar de una palabra

Cluster dentro de una solución: un conjunto de soluciones vecinas que se superponen en l-1 letras. Hay que actualizarlos después de cada movimiento.

Page 215: METAHEURISTICAS Ideas, Mitos, Soluciones

Movimientos a partir de los cluster:

• Borrado de un cluster

• Cambio de lugar de un cluster.

Reglas:

• Un cluster se puede correr si no “rompe” otro cluster.

• Sólo las palabras fuera de un cluster se pueden correr, y a posiciones donde no rompen un cluster

• Solo una palabra fuera de un cluster o si es la primera la la última de un cluster se puede borrar.

Page 216: METAHEURISTICAS Ideas, Mitos, Soluciones

Funciones objetivo:1. Maximizar el número de palabras en la solución2. Condensación: cociente entre el número de palabras en la

solución sobre el número de nucleótidos.

Si se usara sólo la primera casi no habría movimientos de borrado o cambio de lugar.

Como se combinan estas funciones:- Si el valor máximo de 2 se obtiene con más de un

movimiento, se elije el que resulta en un nro. mayor de palabras.

- Después de un número dado de movimientos sin mejora de la función 1, se ejecutan movimientos de extensión.

Page 217: METAHEURISTICAS Ideas, Mitos, Soluciones

Movimientos de extensión: se basan en la frecuencia, o sea en la cantidad de veces que una palabra apareció en una solución.

Se usan dos tipos de movimientos de extensión, en el siguiente orden:

• en primer lugar se intenta insertar una palabra con el menor valor de frecuencia.

• si no es posible insertar nada, se borra la palabra con el mayor valor de frecuencia

Después de un movimiento de extensión se vuelve al esquema anterior.

Page 218: METAHEURISTICAS Ideas, Mitos, Soluciones

LISTA TABU:

• se incluyen las palabras que se borran o que se incluyen.

• No se incluyen clusters.

• Se puede borrar o correr un cluster aunque tenga un elemento tabu.

• Si no hay ningún movimiento posible se usa el elemento “más viejo” de la lista Tabu.

• No se usa criterio de aspiración.

Después de un cierto número de iteraciones el algoritmo Tabu Search se reinicia con una nueva solución inicial generada a partir de los valores de frecuencia, se eligen las palabras con menor valor de frecuencia.

Page 219: METAHEURISTICAS Ideas, Mitos, Soluciones

Resultados computacionales:

Se construyeron ejemplos para realizar los experimentos a partir del GEnBank:

• Secuencias de 409 nucleótidos

• Spectrum de 400 elementos.

• Se simuló un experimento de hibridización, creando oligonucleíotidos de longitud 10.

• Se introdujeron errores. De un spectrum de ideal se borraron al azar 10 palabras y se introdujeron 10 nuevas generadas también al azar. (después se hizo lo mismo con 20,30, 40).

Page 220: METAHEURISTICAS Ideas, Mitos, Soluciones

Parámetros:

- Longitud de la secuencia original

- El número de movimientos de condensación que se realizan sin mejora del la función 1.(5)

- Número de movimientos de extensión. (4)

- Número de ciclos antes de reiniciar el algoritmo. (600)

- Número de veces que se reinicia el algoritmo. (4)

- Longitud de la lista tabú. (30)

- (opcional) La primera palabra de la secuencia original.

Page 221: METAHEURISTICAS Ideas, Mitos, Soluciones

Los resultados obtenidos muestran que en la mayoría de los casos, la cantidad del palabras determinadas coincidía en un 90% o más con el óptimo.

Los tiempos computacionales (Pentium II 300MHz) fueron de menos de 180 segundos en todos los casos.

Los autores dicen que los tiempos de un algoritmo exacto son “dramáticamente más grandes”.

Page 222: METAHEURISTICAS Ideas, Mitos, Soluciones

Algoritmo Genético

• Permutación de los índices de los oligonucleótidos. El valor i en la posición j indica que el oligonucleótido i sigue a j en la cadena.

• Para calcular la función de evaluación toma el mejor substring del cromosoma, o sea el que tiene más elementos, con la condición de que no produce una sucesión de más de n nucleótidos. Se supone que las palabras se superponen lo más posible.

• La función objetivo es el número de palabras del substring anterior dividido por n-l+1.

Page 223: METAHEURISTICAS Ideas, Mitos, Soluciones

• La población inicial se genera al azar con distribución uniforme, cuidando de no generar soluciones con subciclos de cardinal menor que el tamaño del spectrum.

• Las generaciones siguientes se construyen a partir de los mejores individuos, que se combinan al azar para el crossover.

• Para obtener el hijo, se elige el primer oligonucleótido al azar. Después con probabilidad 20% se elige el mejor sucesor entre

los restantes (o sea el que tiene el mayor overlap) . Con probabilidad del 80% se toma como siguiente a la palabra que tiene el mejor overlap entre los padres. Si no hay ninguna se elige una al azar.

• El algoritmo para después de un número de iteraciones sin mejora.

• Se va guardando la mejor solución producida a lo largo de las iteraciones.

Page 224: METAHEURISTICAS Ideas, Mitos, Soluciones

Parámetros:

• s (tamaño de la población, usaron s = 50)

• r (número de iteraciones sin mejora antes de parar, usaron r = 20)

Resultados computacionales:

• Se testeó en casos generados a partir secuencias de tmaño 109 al 509 del GEnBank en forma similar al ejemplo anterior, con oligonucleótidos de tamaño 10.

• Se introdujo un 20% de errores positivos y 20% negativos, en spectrum de 100 a 500 palabras.

• Los spectrum se introducen ordenados por orden alfabético.

Page 225: METAHEURISTICAS Ideas, Mitos, Soluciones

• Corridas de entre 13 y 437 segundos (Pentium II, 300 MHz, 256 MB)

• En este caso se compararon también las secuencias obtenidas con las originales usando el algoritmo de alineamiento de Waterman (programación dinámica) con valores match =1, gap = mismatch = -1).

• En promedio el score de similaridad fue de 99% a 82% según el tamaño de los problemas (conjuntos de palabras de 100 a 500 palabras).

• La calidad de las soluciones (nro. de palabras en la solución) fue de 98.3% al 100%.

Page 226: METAHEURISTICAS Ideas, Mitos, Soluciones

• Las soluciones fueron mejores que las del Tabu Search (aunque ambos son muy buenas), sobretodo en similaridad.

• El algoritmos genético puede devolver más soluciones óptimas que el Tabu.

• Se hicieron nuevos experimentos permitiendo a ambos algoritmos correr 40 minutos. (r=40, s=200 para el genético). Funcionó mejor en similaridad el genético.

• Trabajo futuro propuesto por los autores: combinar ideas de los dos métodos y con Scatter Search

Page 227: METAHEURISTICAS Ideas, Mitos, Soluciones

“A hybrid VNS/Tabu search Algorithm for apportioning the European Parliament” Villa, Lozano, Racero, Canca, LNCS 3906, 2006.

Problema:

• Como distribuir los escaños (cantidad de parlamentarios) por país en forma proporcional a los habitantes de cada país (en este caso de la Unión Europea).

• La distribución de la población se puede considerar fraccionaria, pero la cantidad de escaños es discreta. Entonces no se puede lograr una proporcionalidad perfecta.

• Hay varias metodologías para resolver esto aproximadamente en diversos ámbitos y países. También se toman en cuenta consideraciones políticas, como por ejemplo que haya un número mínimo de representantes por país.

Page 228: METAHEURISTICAS Ideas, Mitos, Soluciones

Modelo de programación lineal entera mixta

Min r (r + + r

- )

Sujeto a

sr smin

Nr sr = S

Nr pr = P

r + - r

- = (sr / S/ pr/ P) -1 r

r + , r

- 0, sr enteroDonde: • N es el nro de países• pr la población del país r• smin mínimo número de escaños por paíss r

+, r – , desviación positiva y negativa respecto de la relación entre escaños

y población.• P población total, S, número total de escaños.

Page 229: METAHEURISTICAS Ideas, Mitos, Soluciones

Se corrió el modelo para valores de smin de 0 a 5, y en todos los casos después de 5 horas con el CPLEX 7.0 no se obtuvo el óptimo. Si se encontraron soluciones factibles, mejores que las que se usan en la actualidad en la práctica.

Se propuso una heurística basada en VNS y Tabu Search

• Solución inicial: la situación actual (s01, s0

2, s03,…… s0

N)

• Varias estructuras de vecindarios simples que mantienen la factibilidad, es decir el total de escaños repartidos.

Page 230: METAHEURISTICAS Ideas, Mitos, Soluciones

Seudocódigo

InicializaciónRepetir mientras no se cumpla criterio de parada:i) k=1ii) mientras k≠ kmax a) Aplicar Tabú Search dentro de la vecindad k de la

solución actual b) Si la solución obtenida x´ es mejor que la mejor hasta el

momento poner x = x´ y poner k =1. Sino cambiar de vecindario o sea poner k = k+1

Parar

Como lista Tabu se usa que por un cierto número de iteraciones la cantidad de escaños para los países afectados por el cambio no puede cambiarse.

Page 231: METAHEURISTICAS Ideas, Mitos, Soluciones

Se obtuvieron soluciones mejores que la actual, y un poco mejores que las de CPLEX pero en este caso fue en pocos

segundos y no en las 5 hrs. que demoró el CPLEX.

Page 232: METAHEURISTICAS Ideas, Mitos, Soluciones
Page 233: METAHEURISTICAS Ideas, Mitos, Soluciones

“A Tabu Search Algorithm for Optimization of Gas Distribution Networks” Duarte, Goldbarg, Goldbarg, LNCS 3906, 2006

Problema: Encontrar la combinación de diámetros de mínimo costo para caños para satisfacer la demanda de una red de gas, dentro de un conjunto disponible en el comercio. Se deben satisfacer restricciones sobre la presión y otras.

Se supone que la topología de la red está definida.

Page 234: METAHEURISTICAS Ideas, Mitos, Soluciones

Modelo de programación lineal entera mixta

min k c(Dk) Lk

sujeto a

Pi PDi i N\{n0}

Dk ≤ DUk k NP

Dk D, k NP

NP es el conjunto de caños, N el conjunto de nodos de la red, n0 el nodo origen, D es el conjunto de diámetros comerciales, Lk es la longitud del caño k, c es una función de costo por unidad de longitud, Pi es la presión que se obtienen en el nodo i, PDi es la presión requerida en el nodo i y DUk es el diámetro del caño conectado al caño k más cercano a la fuente.

Para verificar que se cumplen los requerimientos de presión hay que resolver una ecuación nolineal.

Page 235: METAHEURISTICAS Ideas, Mitos, Soluciones

• A lo largo del algoritmos se mantiene la factibilidad de las soluciones.

• Se toma una solución inicial factible con el máximo diámetro en cada tramo o sea que es la más cara.

• La soluciones se representan como una lista de caños y sus diámetros, ordenada según BFS.

• El movimiento básico es decrecer los valores de los diámetros desde las hojas hasta la raíz del árbol tomando en cuenta la factibilidad. Hay que recalcular la presión en cada nodo.

Page 236: METAHEURISTICAS Ideas, Mitos, Soluciones

• Cuando se llega a un óptimo local (no se puede dismminuir ningún diámetro) se diversifica. Haciendo crecer algún diámetro y los que dependan de él.

• Cuando se cambia un diámetro esa rama se pone en la lista Tabu por un cierto número de iteraciones. (Tabu tenure al azar)

• Se usa el criterio de aspiración clásico.

• Se usaron dos criterios de parada: tiempo y nro de iteraciones sin mejora. En la práctica este último fue el que hizo terminar el algoritmo.

Page 237: METAHEURISTICAS Ideas, Mitos, Soluciones

Resultados computacionales:

Se generaron instancias de entre 51 y 1432 nodos, basadas en instancias de TSPLIB. Los flujos y las presiones requeridas se generaron al azar dentro de un rango predeterminado.

Se usó un conjunto de diámetros comerciales reales.

Se compararon los resultados con otros algoritmos de la literatura que los mismos autores implementaron para estos problemas.

Tanto la calidad de las soluciones como el tiempo de ejecución fueron mejores.

Como trabajo futuro se proponen paralelizar el algoritmo. Y también aplicarlo a redes más complicadas (en este caso las redes eran todas acíclicas).

Page 238: METAHEURISTICAS Ideas, Mitos, Soluciones
Page 239: METAHEURISTICAS Ideas, Mitos, Soluciones

Además de todos los ejemplos que vimos hay aplicaciones de metaheurísticas a muchos problemas diferentes…..y todos los días aparecen nuevos problemas. Algunos trabajos que tengo a mano:

• VLSI• Planificación de horarios de enfermeras• Gran variedad de problemas de planificación

industrial• Diseño de códigos• Diseño de portfolios• Otros problemas de Bioinformática

Page 240: METAHEURISTICAS Ideas, Mitos, Soluciones

OTRAS METAHEURISTICAS

• Swarm optimization• Artificial Inmune Systems

Page 241: METAHEURISTICAS Ideas, Mitos, Soluciones

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 242: METAHEURISTICAS Ideas, Mitos, Soluciones

• 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 243: METAHEURISTICAS Ideas, Mitos, Soluciones

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