1 seminario: elementos de metaheurísticas edición segundo semestre 2004 equipo docente: héctor...
TRANSCRIPT
1
Seminario: Elementos de Metaheurísticas
edición segundo semestre 2004
Equipo docente: Héctor Cancela, Graciela Ferreira, Pablo Rodríguez Bocca
Departamento de Investigación Operativa
INCO-Fac.Ingeniería, UdelaR
Montevideo, URUGUAY
2
Motivación
Existencia de sistemas de información y repositorios de datos en empresas permite realizar toma de decisiones en base a esta información.
Investigación de Operaciones: empleo de la metodología científica en la búsqueda de soluciones óptimas y como apoyo a la toma de decisiones a nivel operativo y gerencial.
Modelos y algoritmos de optimización: generación de soluciones de alta calidad para problemas de planificación de operaciones de la empresa.
3
Objetivos del curso
Presentar las técnicas metaheurísticas - herramienta para resolución aproximada de problemas de optimización combinatoria de alta complejidad, que no pueden ser resueltos en forma exacta en tiempos razonables.
4
Objetivos del curso (2)
Enfoque del curso: Aspectos conceptuales de optimización combinatoria y y
metaheurísticas. Casos de estudio: metaheurísticas y aplicaciones. Implementación.
Aspectos que el curso NO cubre: Métodos exactos para optimización combinatoria. Estudio teórico del comportamiento de las MH. Nociones básicas de optimización y programación
matemática.
5
Metodología
Estructura de seminario: Parte inicial a cargo de los docentes, dedicada a una
cobertura breve de los elementos conceptuales. Seminario a cargo de los estudiantes, y orientado y
moderado por los docentes, destinado a la presentación y discusión de metaheurísticas y aplicaciones.
Etapa de implementación y entrega de resultados. Presentaciones finales de resultados obtenidos.
Asistencia obligatoria.
6
Cupo
Cupo máximo: 20 estudiantes. Cupo mínimo: 10 estudiantes. Selección en base a:
Asistencia primeras tres clases. Sorteo entre los asistentes a estas clases.
Fecha prevista para la selección: 12 agosto.
7
Evaluación
Cuatro instancias obligatorias:
i) presentación oral de aplicaciones (grupos 2 estudiantes): Cada grupo presentará oralmente un caso de estudio, y preparará
comentarios y preguntas para dos adicionales.
ii) implementación de una heurística
iii) presentación oral de los resultados
iv) informe escrito final (individual):a) descripción de la implementación y resultados (máx: 10 carillas);
b) síntesis de comprensión de cada estudiante de presentaciones de otros grupos (máximo una carilla por presentación).
Presentaciones e informe escrito eliminatorios.
8
Bibliografía - libros
Encyclopedia of Operations Research and Management Science. Gass, Saul I.;
Harris, Carl M., eds. Kluwer, 1996. ISBN 0-7923-9590-5 Meta-heuristics: advances and trends in local search paradigms for optimization.
Stefan Voss, Silvano Martello, Ibrahim H. Osman and Catherine Roucairol (eds.). Kluwer Academic Publishers, 1999. ISBN: 0-7923-8369-9
Essays and surveys in metaheuristics. C.C. Ribeiro, P. Hansen. Kluwer, 2001
Genetic Algorithms in search, optimization, and machine learning. David E. Goldberg. Addison-Wesley, 1989. ISBN 0201157675.
Meta-heuristics : theory and applications. Osman, Ibrahim H.; Kelly, James P. eds.. Kluwer, 1996. ISBN: 0-792397-002
Facts, conjectures, and improvements for simulated annealing. Salamon, Peter; Sibani, Paolo; Frost, Richard. Siam, 2002. ISBN: 0898715083
9
Bibliografía - artículosHeuristics from nature for hard combinatorial optimization problems. A. Colorni and M. Dorigo
and F. Maffioli and V. Maniezzo and G. Righini and M. Trubian. International Transactions in Operational Research 3(1):1-21. http://citeseer.nj.nec.com/colorni96heuristics.html
Metaheuristics in CombinatorialOptimization: Overview and Conceptual Comparison. C. Blum and A. Roli. Technical report TR/IRIDIA/2001-13, IRIDIA, Université Libre de Bruxelles, Belgium
Testing Heuristics: We Have It All Wrong. Hooker, J. Journal of Heuristics 1:33-42. 1996.http://citeseer.nj.nec.com/hooker95testing.html
Designing and Reporting on Computational Experiments with Heuristic Methods. ichard S. Barr, Bruce L. Golden, James Kelly, William R. Stewart, Mauricio G.C. Resende. June 27,1995
Metaheuristicas: Una visión global. Melián, B., Moreno Perez, J.A., Marcos Moreno-Vega, J. Inteligencia Artificial, Revista Iberoamericana de Inteligencia Artificial. Numero 19, Volumen 2, páginas 7-28, 2003. (http://www.aepia.org/revista).
10
Conocimientos previos exigidos
Exigidos (plan 97): Curso de Introducción a la investigación de
operaciones. Curso de Taller de Programación.
Recomendados: Cursos adicionales en el área de Investigación de
operaciones, especialmente optimización.
11
Cronograma tentativo
Presentación temática inicial : lunes, martes y jueves, de 17 a 18:30 horas (del 5 al 16 de agosto).
Asignación de temas a grupos: 16 de agosto.
Presentación y discusión de aplicaciones:dos sesiones semanales, martes y jueves de 17 a 18:30, a partir del 24 de agosto hasta el 23 de setiembre.
Presentación de implementaciones, y presentaciones orales: 25 de octubre al 9 de noviembre.
Entrega del informe final: 11 de noviembre.
12
Datos contacto
Pagina web curso:http://www.fing.edu.uy/inco/grupos/invop/mh/.
E-mail:[email protected], [email protected]
13
Investigación de Operaciones
Empleo de la metodología científica en la búsqueda de soluciones óptimas y como apoyo a la toma de decisiones a nivel operativo y gerencial.
Área de investigación y de actividad profesional establecida a partir de la 2da Guerra Mundial.
Etapa de crecimiento y divulgación explosiva a partir de mediados de los 80, que continua actualmente.
Importante sinergia con el desarrollo de las tecnologías de la información y la comunicación.
14
Metodología de aplicación de Investigación de Operaciones
Pasos (a grandes rasgos):1.- Planteo y Análisis del problema a resolver
2.- Construcción de un modelo adecuado
3.- Obtención de datos y ajuste de parámetros del modelo
4.- Deducción de la(s) solucion(es)
5.- Validación del modelo y evaluación de solucion(es)
6.- Ejecución y Control de la(s) solucion(es) Optimización: concierne fundamentalmente etapas 2 y 4.
15
Problemas de Optimización
Nomenclatura: x=(x1, x2, ..., xn) variables del problema. D espacio de soluciones factibles. f(x) función objetivo. Valor óptimo de f: f0 = min {f(x): xD}
Conjunto de soluciones óptimas S0 = {xD: f(x)= f0} (también llamadas soluciones globalmente óptimas).
Dx
xf
que tal
)(min
16
Problemas de Programación Matemática
Nomenclatura: x=(x1, x2, ..., xn) variables del problema. f(x) función objetivo. g(x) restricciones del problema X espacio de soluciones. D= {xD: g(x)<=0 } espacio de soluciones factibles.
Xx
xf
0xg que tal
)(min
17
Problemas de Optimización Combinatoria
Nomenclatura: x=(x1, x2, ..., xn) variables del problem;
Para todo i, xi Di dominio de la variable, que es un conjunto discreto (finito o infinito).
X= D1D2 ... Dn espacio de soluciones (discreto). DX espacio de soluciones factibles.
que tal
)(min
Dx
xf
18
Ejemplo - Problema del Viajante de Comercio
Sea: un conjunto de ciudades Una ciudad origen O Un conjunto de aristas que une las ciudades,
con costos asociados Problema del viajante: recorrer todas las
ciudades, comenzando en O y terminando en O, al menor costo posible.
19
Ejemplo
• Problema • Una solución óptima (de valor 8)
O2
42
3
22
O2
2
22
20
Repaso - Complejidad Complejidad de un algoritmo:
Cantidad de operaciones elementales que se efectúan en el peor caso (en función del tamaño de los datos de entrada).
Complejidad de un problema: complejidad del algoritmo más eficiente para resolverlo.
Clases de complejidad: Clase P (polinomial) Clase NP (no-determinista polinomial) Clase EXP (exponencial)
21
Repaso - Complejidad (2) Problema abierto: PNP? Clases:
NP-completo NP-difícil
Problemas de optimización: algunos en P. muchos en NP-completo o NP-difícil (por ejemplo,
Problema del Viajante de Comercio).
22
Métodos de solución
Resolución analítica. Algoritmos exactos. Métodos de aproximación (p.ej, métodos
numéricos). Simulación y otros métodos aleatorizados. Heurísticas.
23
Algoritmos exactos para Optimización Combinatoria
Enumeración explícita o implícita de soluciones (programación dinámica, branch and bound).
Algoritmos basados en Programación Matemática (simplex, punto interior, branch&cut, branch&cut&price).
Otros específicos de cada problema. Únicos errores: redondeo, y eventualmente
truncamiento.
24
Métodos de aproximación
Encuentra solución con error máximo conocido a priori.
En algunos casos, error de aproximación fijo. En otros, posible elegir trade-off entre error de
aproximación y esfuerzo computacional (mayor esfuerzo, menor error).
Problemas en la clase PTAS - “Polynomial Time Approximation Schemes”.
25
Métodos aleatorios
Con cierta probabilidad, encuentra solución que tendrá un error máximo dado.
Variantes: Monte Carlo: siempre da una solución y estimación del
error, con intervalo de confianza asociado; mayor esfuerzo computacional disminuye el error y aumenta la confianza.
Las Vegas: puede dar o no una solución en un tiempo dado (cuando la da, es exacta); mayor esfuerzo computacional aumenta la probabilidad de tener una respuesta.
26
Heurísticas
"heurística" deriva del griego heuriskein, que significa "encontrar" o "descubrir".
Técnicas que busca soluciones de buena calidad (de valor cercano al óptimo?) a un costo computacional razonable, aunque sin garantizar la optimalidad de las mismas. En general, ni siquiera se conoce el grado de error.
27
Ejemplo sencillo de heurística: método avaro o goloso (greedy)
Idea: tratar de construir una solución eligiendo de manera iterativa los elementos componentes de menor costo.
Para algunos problemas con estructura particular, la solución construida es una solución óptima.
En general, no es el caso.
28
Aplicación al Viajante de Comercio - problema
7
22
3
10
7
5
35
o
29
Aplicación al Viajante de Comercio - paso 1
7
22
3
10
7
5
35
o
30
Aplicación al Viajante de Comercio - paso 2
7
22
3
10
7
5
35
o
31
Aplicación al Viajante de Comercio - paso 3
7
22
3
10
7
5
35
o
32
Aplicación al Viajante de Comercio - paso 4
7
22
3
10
7
5
35
o
33
Aplicación al Viajante de Comercio - paso 5
7
22
3
10
7
5
35
oSolución: costo 22
34
Aplicación al Viajante de Comercio
7
22
3
10
7
5
35
o Solución alternativa: costo 19
35
Metaheurísticas
“Heurísticas de nivel más alto” (Glover, 1986)
Características: estrategias que guían el proceso de búsqueda,
incluyendo en general heurísticas subordinadas. de uso genérico (no específicas para una clase
de problemas). admiten descripción a nivel abstracto deben instanciarse para cada clase de problemas.
36
Metaheurísticas
Objetivos: Encontrar rápidamente soluciones factibles
(puede ser en sí mismo problema NP-difícil). Encontrar soluciones factibles de buena
calidad (valor cercano al óptimo). Recorrer el espacio de soluciones sin quedar
“atrapados” en una zona. Nociones: exploración del espacio, explotación de las soluciones obtenidas.
37
Clasificaciones de Metaheurísticas
Inspiradas (o no) en la naturaleza (sistemas biológicos, físicos o sociales). Algoritmos Genéticos - Evolución de las especies Recocido simulado - Enfriamiento de metales Colonias de hormigas - ídem. Búsqueda dispersa - no bio-inspirada.
Aleatorias vs. determinísticas. Algoritmos Genéticos, Recocido simulado, Colonias de
hormigas: aleatorias. Búsqueda Tabú, Búsqueda dispersa: determinísticas.
38
Clasificaciones de Metaheurísticas
Basadas en un individuo vs. basadas en poblaciones: Recocido simulado, GRASP, búsqueda tabú, búsqueda
local y variantes: basadas en un individuo. Algoritmos Genéticos, Colonias de hormigas, Búsqueda
dispersa: basadas en poblaciones.
Constructivas vs. trayectorias: Recocido simulado, búsqueda tabú, algoritmos genéticos,
búsqueda local y variantes: trayectorias. GRASP, Colonias de hormigas: constructivas.
39
Clasificaciones de Metaheurísticas
Con memoria vs. sin memoria Recocido simulado, GRASP, Algoritmos Genéticos,
búsqueda local y variantes: sin memoria. Búsqueda tabú,Colonias de hormigas: con memoria.
Espacio sin estructura / espacio estructurado. Uso de única función de vecindad / múltiples vecindades. Función objetivo estática / dinámica.
40
Estructura del espacio
Estructura de vecindad: función N:D->2D , que asigna a cada solución x un conjunto de “soluciones vecinas”.
Soluciónes localmente mínimas (mínimos locales): x es mínimo local si para todo y que pertenece a N(x), f(x)<=f(y) (estricto si <).
Todo mínimo global es un mínimo local; el recíproco es falso.
que tal
)(min
Dx
xf
41
Esquema de clasificación X/Y/Z
Propuesto por Laguna (similar al esquema para filas de espera propuesto por Kendall)
X = A(adaptativo, con memoria) o M (sin memoria)
Y= N (búsqueda determinística) o S (muestreo aleatorio)
Z = 1 (basado en una solución) o P (basado en poblaciones).
42
Fin presentación inicial
-