42
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

Optimizacion Combinatoria, Exactos, Aprox, Heuristica Metaheuristica

Embed Size (px)

Citation preview

Page 1: Optimizacion Combinatoria, Exactos, Aprox, Heuristica Metaheuristica

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

Page 2: Optimizacion Combinatoria, Exactos, Aprox, Heuristica Metaheuristica

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.

Page 3: Optimizacion Combinatoria, Exactos, Aprox, Heuristica Metaheuristica

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.

Page 4: Optimizacion Combinatoria, Exactos, Aprox, Heuristica Metaheuristica

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.

Page 5: Optimizacion Combinatoria, Exactos, Aprox, Heuristica Metaheuristica

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.

Page 6: Optimizacion Combinatoria, Exactos, Aprox, Heuristica Metaheuristica

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.

Page 7: Optimizacion Combinatoria, Exactos, Aprox, Heuristica Metaheuristica

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.

Page 8: Optimizacion Combinatoria, Exactos, Aprox, Heuristica Metaheuristica

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

Page 9: Optimizacion Combinatoria, Exactos, Aprox, Heuristica Metaheuristica

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

Page 10: Optimizacion Combinatoria, Exactos, Aprox, Heuristica Metaheuristica

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.

Page 11: Optimizacion Combinatoria, Exactos, Aprox, Heuristica Metaheuristica

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.

Page 12: Optimizacion Combinatoria, Exactos, Aprox, Heuristica Metaheuristica

12

Datos contacto

• Pagina web curso:http://www.fing.edu.uy/inco/grupos/invop/mh/.

• E-mail:[email protected], [email protected]

Page 13: Optimizacion Combinatoria, Exactos, Aprox, Heuristica Metaheuristica

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.

Page 14: Optimizacion Combinatoria, Exactos, Aprox, Heuristica Metaheuristica

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.

Page 15: Optimizacion Combinatoria, Exactos, Aprox, Heuristica Metaheuristica

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

Page 16: Optimizacion Combinatoria, Exactos, Aprox, Heuristica Metaheuristica

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

Page 17: Optimizacion Combinatoria, Exactos, Aprox, Heuristica Metaheuristica

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

Page 18: Optimizacion Combinatoria, Exactos, Aprox, Heuristica Metaheuristica

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.

Page 19: Optimizacion Combinatoria, Exactos, Aprox, Heuristica Metaheuristica

19

Ejemplo

• Problema • Una solución

óptima (de valor 8)

O2

42

3

22

O2

2

22

Page 20: Optimizacion Combinatoria, Exactos, Aprox, Heuristica Metaheuristica

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)

Page 21: Optimizacion Combinatoria, Exactos, Aprox, Heuristica Metaheuristica

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

Page 22: Optimizacion Combinatoria, Exactos, Aprox, Heuristica Metaheuristica

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.

Page 23: Optimizacion Combinatoria, Exactos, Aprox, Heuristica Metaheuristica

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.

Page 24: Optimizacion Combinatoria, Exactos, Aprox, Heuristica Metaheuristica

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

Page 25: Optimizacion Combinatoria, Exactos, Aprox, Heuristica Metaheuristica

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.

Page 26: Optimizacion Combinatoria, Exactos, Aprox, Heuristica Metaheuristica

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.

Page 27: Optimizacion Combinatoria, Exactos, Aprox, Heuristica Metaheuristica

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.

Page 28: Optimizacion Combinatoria, Exactos, Aprox, Heuristica Metaheuristica

28

Aplicación al Viajante de

Comercio - problema

7

22

3

10

7

5

35

o

Page 29: Optimizacion Combinatoria, Exactos, Aprox, Heuristica Metaheuristica

29

Aplicación al Viajante de

Comercio - paso 1

7

22

3

10

7

5

35

o

Page 30: Optimizacion Combinatoria, Exactos, Aprox, Heuristica Metaheuristica

30

Aplicación al Viajante de

Comercio - paso 2

7

22

3

10

7

5

35

o

Page 31: Optimizacion Combinatoria, Exactos, Aprox, Heuristica Metaheuristica

31

Aplicación al Viajante de

Comercio - paso 3

7

22

3

10

7

5

35

o

Page 32: Optimizacion Combinatoria, Exactos, Aprox, Heuristica Metaheuristica

32

Aplicación al Viajante de

Comercio - paso 4

7

22

3

10

7

5

35

o

Page 33: Optimizacion Combinatoria, Exactos, Aprox, Heuristica Metaheuristica

33

Aplicación al Viajante de

Comercio - paso 5

7

22

3

10

7

5

35

oSolución: costo 22

Page 34: Optimizacion Combinatoria, Exactos, Aprox, Heuristica Metaheuristica

34

Aplicación al Viajante de

Comercio

7

22

3

10

7

5

35

o Solución alternativa: costo 19

Page 35: Optimizacion Combinatoria, Exactos, Aprox, Heuristica Metaheuristica

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.

Page 36: Optimizacion Combinatoria, Exactos, Aprox, Heuristica Metaheuristica

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.

Page 37: Optimizacion Combinatoria, Exactos, Aprox, Heuristica Metaheuristica

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.

Page 38: Optimizacion Combinatoria, Exactos, Aprox, Heuristica Metaheuristica

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.

Page 39: Optimizacion Combinatoria, Exactos, Aprox, Heuristica Metaheuristica

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.

Page 40: Optimizacion Combinatoria, Exactos, Aprox, Heuristica Metaheuristica

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

Page 41: Optimizacion Combinatoria, Exactos, Aprox, Heuristica Metaheuristica

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

Page 42: Optimizacion Combinatoria, Exactos, Aprox, Heuristica Metaheuristica

42

Fin presentación inicial

-