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
-