You are on page 1of 42

Seminario:

Elementos de Metaheursticas
edicin segundo semestre 2004

Equipo docente: Hctor Cancela, Graciela Ferreira, Pablo Rodrguez Bocca Departamento de Investigacin Operativa INCO-Fac.Ingeniera, UdelaR
Montevideo, URUGUAY

Motivacin
Existencia de sistemas de informacin y repositorios de datos en empresas permite realizar toma de decisiones en base a esta informacin. Investigacin de Operaciones: empleo de la metodologa cientfica en la bsqueda de soluciones ptimas y como apoyo a la toma de decisiones a nivel operativo y gerencial. Modelos y algoritmos de optimizacin: generacin de soluciones de alta calidad para problemas de planificacin de operaciones de la empresa.
2

Objetivos del curso


Presentar las tcnicas metaheursticas -

herramienta para resolucin aproximada de problemas de optimizacin combinatoria de alta complejidad, que no pueden ser resueltos en forma exacta en tiempos razonables.

Objetivos del curso (2)


Enfoque del curso:
Aspectos conceptuales de optimizacin combinatoria y y metaheursticas. Casos de estudio: metaheursticas y aplicaciones. Implementacin.

Aspectos que el curso NO cubre:


Mtodos exactos para optimizacin combinatoria. Estudio terico del comportamiento de las MH. Nociones bsicas de optimizacin y programacin matemtica.
4

Metodologa
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 presentacin y discusin de metaheursticas y aplicaciones. Etapa de implementacin y entrega de resultados. Presentaciones finales de resultados obtenidos.

Asistencia obligatoria.
5

Cupo
Cupo mximo: 20 estudiantes. Cupo mnimo: 10 estudiantes. Seleccin en base a:
Asistencia primeras tres clases. Sorteo entre los asistentes a estas clases.

Fecha prevista para la seleccin: 12 agosto.

Evaluacin
Cuatro instancias obligatorias: i) presentacin oral de aplicaciones (grupos 2 estudiantes):
Cada grupo presentar oralmente un caso de estudio, y preparar comentarios y preguntas para dos adicionales.

ii) implementacin de una heurstica iii) presentacin oral de los resultados iv) informe escrito final (individual):
a) descripcin de la implementacin y resultados (mx: 10 carillas); b) sntesis de comprensin de cada estudiante de presentaciones de otros grupos (mximo una carilla por presentacin).

Presentaciones e informe escrito eliminatorios.


7

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

Bibliografa - artculos
Heuristics 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 visin global. Melin, B., Moreno Perez, J.A., Marcos MorenoVega, J. Inteligencia Artificial, Revista Iberoamericana de Inteligencia Artificial. Numero 19, Volumen 2, pginas 7-28, 2003. (http://www.aepia.org/revista). 9

Conocimientos previos exigidos


Exigidos (plan 97):
Curso de Introduccin a la investigacin de operaciones. Curso de Taller de Programacin.

Recomendados:
Cursos adicionales en el rea de Investigacin de operaciones, especialmente optimizacin.

10

Cronograma tentativo
Presentacin temtica inicial : lunes, martes y jueves,
de 17 a 18:30 horas (del 5 al 16 de agosto).

Asignacin de temas a grupos: 16 de agosto. Presentacin y discusin de aplicaciones:


dos sesiones semanales, martes y jueves de 17 a 18:30, a partir del 24 de agosto hasta el 23 de setiembre. Presentacin de implementaciones, y presentaciones orales: 25 de octubre al 9 de noviembre.

Entrega del informe final: 11 de noviembre.

11

Datos contacto
Pagina web curso: http://www.fing.edu.uy/inco/grupos/invop/mh/.
E-mail: cancela@fing.edu.uy, ferreira@fing.edu.uy

12

Investigacin de Operaciones
Empleo de la metodologa cientfica en la bsqueda de soluciones ptimas y como apoyo a la toma de decisiones a nivel operativo y gerencial. rea de investigacin y de actividad profesional establecida a partir de la 2da Guerra Mundial. Etapa de crecimiento y divulgacin explosiva a partir de mediados de los 80, que continua actualmente. Importante sinergia con el desarrollo de las tecnologas de la informacin y la comunicacin.
13

Metodologa de aplicacin de Investigacin de Operaciones


Pasos (a grandes rasgos):
1.- Planteo y Anlisis del problema a resolver 2.- Construccin de un modelo adecuado 3.- Obtencin de datos y ajuste de parmetros del modelo 4.- Deduccin de la(s) solucion(es) 5.- Validacin del modelo y evaluacin de solucion(es)

6.- Ejecucin y Control de la(s) solucion(es)


Optimizacin: concierne fundamentalmente etapas 2 y 4.

14

Problemas de Optimizacin
min f ( x) tal que xD

Nomenclatura:
x=(x1, x2, ..., xn) variables del problema. D espacio de soluciones factibles. f(x) funcin objetivo. Valor ptimo de f: f0 = min {f(x): xD} Conjunto de soluciones ptimas S0 = {xD: f(x)= f0} (tambin llamadas soluciones globalmente ptimas).

15

Problemas de Programacin Matemtica


min f ( x) tal que g x 0 x X

Nomenclatura:
x=(x1, x2, ..., xn) variables del problema. f(x) funcin objetivo. g(x) restricciones del problema X espacio de soluciones. D= {xD: g(x)<=0 } espacio de soluciones factibles.

16

Problemas de Optimizacin Combinatoria


min f ( x) tal que xD

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.

17

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

Ejemplo
Problema
2
2 3 2 O O

Una solucin ptima (de valor 8)


2
2 2 2

19

Repaso - Complejidad
Complejidad de un algoritmo:
Cantidad de operaciones elementales que se efectan en el peor caso (en funcin del tamao de los datos de entrada).

Complejidad de un problema: complejidad del algoritmo ms eficiente para resolverlo. Clases de complejidad:
Clase P (polinomial) Clase NP (no-determinista polinomial) Clase EXP (exponencial)
20

Repaso - Complejidad (2)


Problema abierto: PNP? Clases:
NP-completo NP-difcil

Problemas de optimizacin:
algunos en P. muchos en NP-completo o NP-difcil (por ejemplo, Problema del Viajante de Comercio).

21

Mtodos de solucin
Resolucin analtica. Algoritmos exactos. Mtodos de aproximacin (p.ej, mtodos numricos). Simulacin y otros mtodos aleatorizados. Heursticas.

22

Algoritmos exactos para Optimizacin Combinatoria


Enumeracin explcita o implcita de soluciones (programacin dinmica, branch and bound). Algoritmos basados en Programacin Matemtica (simplex, punto interior, branch&cut, branch&cut&price). Otros especficos de cada problema. nicos errores: redondeo, y eventualmente truncamiento.
23

Mtodos de aproximacin
Encuentra solucin con error mximo conocido a priori. En algunos casos, error de aproximacin fijo. En otros, posible elegir trade-off entre error de aproximacin y esfuerzo computacional (mayor esfuerzo, menor error). Problemas en la clase PTAS - Polynomial Time Approximation Schemes.
24

Mtodos aleatorios
Con cierta probabilidad, encuentra solucin que tendr un error mximo dado. Variantes:
Monte Carlo: siempre da una solucin y estimacin del error, con intervalo de confianza asociado; mayor esfuerzo computacional disminuye el error y aumenta la confianza. Las Vegas: puede dar o no una solucin en un tiempo dado (cuando la da, es exacta); mayor esfuerzo computacional aumenta la probabilidad de tener una respuesta.
25

Heursticas
"heurstica" deriva del griego heuriskein, que significa "encontrar" o "descubrir". Tcnicas 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.

26

Ejemplo sencillo de heurstica: mtodo avaro o goloso (greedy)


Idea: tratar de construir una solucin eligiendo de manera iterativa los elementos componentes de menor costo. Para algunos problemas con estructura particular, la solucin construida es una solucin ptima. En general, no es el caso.

27

Aplicacin al Viajante de Comercio - problema


7

5
10 3 5 2 o 7

28

Aplicacin al Viajante de Comercio - paso 1


7

5
10 3 5 2 o 7

29

Aplicacin al Viajante de Comercio - paso 2


7

5
10 3 5 2 o 7

30

Aplicacin al Viajante de Comercio - paso 3


7

5
10 3 5 2 o 7

31

Aplicacin al Viajante de Comercio - paso 4


7

5
10 3 5 2 o 7

32

Aplicacin al Viajante de Comercio - paso 5


7

5
10 3 5 2 o 7

Solucin: costo 22
33

Aplicacin al Viajante de Comercio


7

5
10 3 5 2 o 7

Solucin alternativa: costo 19

34

Metaheursticas
Heursticas de nivel ms alto (Glover, 1986) Caractersticas:
estrategias que guan el proceso de bsqueda, incluyendo en general heursticas subordinadas. de uso genrico (no especficas para una clase de problemas). admiten descripcin a nivel abstracto deben instanciarse para cada clase de problemas.
35

Metaheursticas
Objetivos:
Encontrar rpidamente soluciones factibles (puede ser en s mismo problema NP-difcil). Encontrar soluciones factibles de buena calidad (valor cercano al ptimo). Recorrer el espacio de soluciones sin quedar atrapados en una zona. Nociones: exploracin del espacio, explotacin de las soluciones obtenidas.
36

Clasificaciones de Metaheursticas
Inspiradas (o no) en la naturaleza (sistemas biolgicos, fsicos o sociales).
Algoritmos Genticos - Evolucin de las especies Recocido simulado - Enfriamiento de metales Colonias de hormigas - dem. Bsqueda dispersa - no bio-inspirada.

Aleatorias vs. determinsticas.


Algoritmos Genticos, Recocido simulado, Colonias de hormigas: aleatorias. Bsqueda Tab, Bsqueda dispersa: determinsticas.
37

Clasificaciones de Metaheursticas
Basadas en un individuo vs. basadas en poblaciones:
Recocido simulado, GRASP, bsqueda tab, bsqueda local y variantes: basadas en un individuo. Algoritmos Genticos, Colonias de hormigas, Bsqueda dispersa: basadas en poblaciones.

Constructivas vs. trayectorias:


Recocido simulado, bsqueda tab, algoritmos genticos, bsqueda local y variantes: trayectorias. GRASP, Colonias de hormigas: constructivas.
38

Clasificaciones de Metaheursticas
Con memoria vs. sin memoria
Recocido simulado, GRASP, Algoritmos Genticos, bsqueda local y variantes: sin memoria. Bsqueda tab,Colonias de hormigas: con memoria.

Espacio sin estructura / espacio estructurado. Uso de nica funcin de vecindad / mltiples vecindades. Funcin objetivo esttica / dinmica.

39

Estructura del espacio


min f ( x) tal que xD

Estructura de vecindad: funcin N:D->2D , que asigna a cada solucin x un conjunto de soluciones vecinas. Solucines localmente mnimas (mnimos locales): x es mnimo local si para todo y que pertenece a N(x), f(x)<=f(y) (estricto si <). Todo mnimo global es un mnimo local; el recproco es falso.
40

Esquema de clasificacin 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 (bsqueda determinstica) o S (muestreo aleatorio) Z = 1 (basado en una solucin) o P (basado en poblaciones).
41

Fin presentacin inicial


-

42

You might also like