Clase 2, Parte 2: Métodos Tradicionales de Optimización y Búesqueda

Slides:



Advertisements
Presentaciones similares
Introducción a la Investigación de Operaciones
Advertisements

Branch-and-bound Search
Diseño y análisis de algoritmos
Diseño y análisis de algoritmos
Planificación de Monoprocesadores
Investigación de Operaciones
Búsqueda con retroceso
Optimización de Consultas Distribuidas
Logística (Manejo de la cadena de abastecimiento)
Grupo 4 Matías Melgar Pablo Carbonell
Inteligencia Artificial Búsqueda informada y exploración
Programación Lineal Entera Antonio H. Escobar Z Universidad Tecnológica de Pereira – Colombia Posgrado en Ingeniería – Maestría/Doctorado.
Investigación Algorítmica
Muestreo para la inspección por atributos
UNIVERSIDAD LATINA (UNILA) IV. IMPLANTACION DE ALGORITMOS.
Ajustando el Algoritmo al problema Universidad Nacional Oscar Lozano.
Inteligencia Artificial Búsqueda informada y exploración
Universidad Autónoma San Francisco
DERIVADAS PARCIALES Gráficas.
Aplicaciones de la derivada Resuelve problemas de optimización aplicando las ideas básicas relacionadas con extremos de funciones de una variable Bloque.
Métodos de Mejoría o de Busca Local Gladys Maquera I COPIOS Lima, 03 al 05 de noviembre de 2009.
Búsqueda de Aproximaciones: Algoritmos
Modelos de Programación Entera - Heurísticas
Complejidad Problemas NP-Completos
Programación Lineal Entera Antonio H. Escobar Z Universidad Tecnológica de Pereira – Colombia Posgrado en Ingeniería – Maestría/Doctorado.
Programación de Computadores
Universidad de los Andes-CODENSA
Resolución de Problemas Método Simplex
Trabajo presentado por: LUIS FERNANDO OBANDO ING
Optimización Combinatoria usando Algoritmos Evolucionistas Problemas de Optimización. Idea: Encontrar una solución "factible" y "óptima" de acuerdo a algún.
Capítulo 4 BUSQUEDA INFORMADA.
EL PODER DE SOLVER.
Scatter Search y Path Relinking Grupo 7 Giovanna Garula Rodrigo Guridi Referencias Fundamentals of Scatter Search and Path Relinking. Fred Glover Manuel.
Optimización, Búsqueda Heurística
Estructura de Datos y Algoritmos

Diseño y análisis de algoritmos
Programación Lineal Entera Antonio H. Escobar Z Universidad Tecnológica de Pereira – Colombia Posgrado en Ingeniería – Maestría/Doctorado.
Diseño y análisis de algoritmos
Tablas de Hash.
Diplomado en Logística de Negocios
Métodos de Búsqueda Informada. Búsqueda de la mejor Ruta En esta sección no sólo nos interesa encontrar una posible ruta, sino obtener aquella ruta que.
Complejidad de los problemas de decisión
ALGORITMOS APROXIMADOS
DEFINICIONES Sea (P) el siguiente problema de programación lineal:
Diseño y análisis de algoritmos
(Organización y Manejo de Archivos)
Parte II. Algorítmica. 3. Algoritmos voraces.
complejidad de un problema.
¿Por que estudiar búsquedas? Recordemos que la mayoría de los problemas en inteligencia artificial, involucran como tema central un proceso de búsqueda.
Backtracking 1. Método general. 2. Análisis de tiempos de ejecución.
Parte II. Algorítmica. 5. Backtracking. 1. Análisis de algoritmos.
Programación Lineal Entera Antonio H. Escobar Z Universidad Tecnológica de Pereira – Colombia Posgrado en Ingeniería Maestría en Ingeniería Eléctrica.
Aprendizaje en Árboles de Decisión
Parte I. Estructuras de Datos.
Análisis y Diseño de Algoritmos
Una introducción a la computación evolutiva
PROBLEMAS DE SATISFACCIÓN DE RESTRICCIONES
Capítulo 1. Conceptos básicos de la Estadística
1 Problemas de decisión Tipo particular de problemas de optimización Sistemas que evolucionan con el tiempo Se toman decisiones en momentos sucesivos de.
Parte I. Estructuras de Datos.
Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas.
Optimización Combinatoria y Grafos Búsqueda Tabú
ALGORITMO QUE ES ??.
DISEÑAR Y ELABORAR ALGORITMOS NOMBRE: LAURA PAEZ GARCIA GRADO Y GRUPO: 1 “3” MATERIA: INFORMÁTICA Y COMPUTACIÓN MAESTRO: ÁNGEL BUENDÍA TURNO: VESPERTINO.
Introducción a los TADs
Enseñar con Aprendizaje Basado en Problemas
Hernández Camacho Víctor Jesus Islas Sánchez Karla Vanessa
Mapas de Karnaugh y método de Quine McCluskey Ing. Mónica Patricia René_2010 1Ing. Mónica P. René_2010.
Algoritmo Genético para la solución del problema SAT René Clemente Juárez Angel Felipe Lara Valladares Junio 2012.
Transcripción de la presentación:

Clase 2, Parte 2: Métodos Tradicionales de Optimización y Búesqueda Diseño de Algoritmos (Heurísticas Modernas) Gabriela Ochoa http://www.ldc.usb.ve/~gabro/

Introducción Existen numerosos algoritmos para buscar el óptimo en espacios de soluciones ¿Por qué hay tantos? Porque ninguno es robusto. Un método para cada problema. Pero son muy efectivos cuando se adecuan a la tarea dada Dos clases de algoritmos Sólo evalúan soluciones completas Requieren la solución de soluciones parciales o aproximadas

Diferencia entre las dos clases Soluciones Completas Interrumpir el algoritmo y tener al menos una solución potencial Implican que todas las variables estan especificadas (Ej. Strings binarios de long n, SAT) Soluciones Parciales Al interrumpir, los resultados pueden no ser útiles Dos formas: (1) Solución incompleta al problema original, (2) Solución completa a un problema reducido (mas simple)

Soluciones Parciales (Incompletas) Residen en un subconjunto del espacio de búsqueda oiginal. Ejemplos: SAT: todas las soluciones (cadenas), con primeras dos variables en 1. (11xxx.. xxx) TSP: Todas las permutaciones de ciudades que contiene la secuencia ( 7 – 11 – 2 – 16 ) Se espera que la carácteristica fijada de las soluciones, forme parte de la verdadera solución

Soluciones Incompletas (problema reducido) Descomponer problema original en conjunto de problemas mas pequeños y simples Al resolver estos problemas pequeños y combinarlos, encontraremos una solucióna al problema original TSP: considerar k de las n ciudades, buscar el camino mínimo de i a j que pasa por todas esas k ciudades Dificultades: (1) Organizar los sub-espacios, (2) Función de evaluación que pueda ponderar calidad de soluciones oarcuakes

Búsqueda Exhaustiva Chequea todas y cada una de las soluciones en el espacio de búsqueda hasta encontrar óptimo global Si no se sabe el valor de evaluación del óptimo, no se sabe si se ha encontrado hasta recorrer todo Desventaja: Costo computacional prohibitivo para problemas reales Ventaja: Simple! Unico requerimiento, generar cada solución posible al problema de forma sistemática Hay maneras de reducir el cómputo, backtracking Fundamento de métodos como B&B y A*

Enumerando SAT Generar todos los posibles strings binarios de tamaño n, 2n. Dos posibles Maneras Usar mapping de enteros a binarios (ej. 0000→0, 0001 →1, 0010→2, 0011→3 … 1111 →15), luego generar enteros Trabajar directamente con binarios, agregar el 1 en binario 0001, para producir cada cadena en sucesuion Función de evaluación: 1 si la cadena satisface la expresión Booleana, 0 si no Parar búsqueda cuando el primer string evalue en 1

Organizando el Espacio de Búsqueda de SAT Sólo explorar aquellas partes del espacio que sean realmente necesarias Arbol binario de búsqueda (dibujarlo), y usar DFS DFS: elimina partes del espacio de búsqueda, chequeando si un nodo dado (sub-espacio), puede contener o no la solución. Si puede, la búsqueda prosigue, si no, la búsqueda vuelve al nodo padre Ej. Sea la clausula … and (x1 or not x2 or x3) and , y la asignación x1=0, x2=1, x3 = 0, no importa la asignacion de las demas variables, ya sabemos que la formula completa sera FALSE

Enumeracion TSP y NLP Mas elaborado, puede haber configuraciones no factibles TSP: Generar todas las permutaciones de n: (1) Mapping con los enteros, (2) procedimiento recursivo NLP: estrictamente hablando no es posible enumerar exhaustivamente espacios continuos (infinitos) NLP: es posible dividir el dominio de cada variable en un numero finito de intervalos, y considerar el producto Cartesiano de ellos

Búsqueda Local Focalizar la atención en la vecindad de una solución dada. Cuatro pasos Seleccionar una solución del espacio y evaluar sus méritos Aplicar transformación a la solución actual, para generar una nueva, y evaluar su mérito Si la nueva solución es mejor que la actual, cambiar la actual, sino desecharla Repetir los pasos 2 y 3, hasta que ninguna transformación, mejore el desempeño actual Puntos críticos: (1) tipo de transformación, (2 ) tamaño y características de la vecindad

Búsqueda Local y SAT Procedimiento GSAT, búsqueda local aleatorizada Dos parámetros, MAX-TRIES: número de intentos, MAX-FLIPS: máximo número de movimientos por intento Comienza de configuración aleatoria Cambia cada variable de 1 → 0 o 0→ 1, en sucesión y registra el íncremento en las clausulas que se hacen TRUE Luego de intentar todos los posibles flips (y no encontrar una asignación correcta), asigna como solución actual, la que tiene un mayor número de cláusulas que se statisfacen Difiere del Hill-climbing en que se puede aceptar soluciones que decrecen el número de clasusulas satisfechas

Búsqueda Local en el TSP y NLP Existen numerosos algoritmos de búsqueda local para el TSP (ej. 2-opt, Lin-Kernighan), comienzan de configuracion aleatoria (y van repitiendo) Gran diversidad de métodos para NLP Heuristicas para generar sucesion de puntos a evaluar Derivada de la función de evaluación Se concentran en zona acotada, vecindad de la solucion Todos trabajan con soluciones completas Ej. Métodos Bracketing Métodos de punto fijo, Métodos basados en Gradiante Método Simplex para problemas de programación lineal: Maximizar c.l de variables, sujeta a restricciones de desigualdad e igualdad

Soluciones Parciales Cuando los métodos discutidos s hasta ahora, fallan, es razonable pensar en la idea de evaluar soluciones parciales (incompletas) o aproximadas Algoritmos Greedy atacan el problema construyendo solución completa en serie de pasos Idea Simple: asignar todos los valores de las variables de decisión, una por una, y en cada paso tomar la mejor decisión posible Existe una manera (heurística) de saber cual seria la mejor decisión, la que produzca mas beneficio Enfoque corto-placista, tomar la mejor decision a corto plazo, no garantiza que se producira la mejor solución global

Algoritmo Greedy para SAT No es tan facil de diseñar, veamos ejemplos Para cada variable, en cualquier orden, asignar valor de verdad que satisfaga mayor número de cláusulas. Impráctica: Ej.: not x1 and (x1 or x2) and (x1 or x3), x1 = 1 Demasiado greedy, Idea: considerar el orden: Ordenar variables en base a su frec. de aparición Para cada variable, en orden, asignar valor de verdad que satisfaga mayor número de cláusulas. Un poco mejor, pero se puede encontrar fallas

Algoritmos Greedy para TSP y NLP TSP: Vecino mas cercano: comenzando por una ciuad (aleatoria), continuar con la ciudad mas cercana no visitada, y continuar hasta que no haya ciudades visitadas Puede ser inapropiado, alto precio por decisiones greedy al comienzo del proceso (Figura Ejemplo) Otro intento:

Dividir y Conquistar (Divide and Conquer) Idea para resolver un problema complicado Dividir en sub-partes Resolver cada una de las sub-partes Ensamblar un solución global Puede hacerse de manera recursiva (Ej. Generar permutaciones, algoritmos de sorting) Considerar: no siempre es factible. Ejemplo, dividir un TSP de 100 ciudades en 20 TSP´s de 5 ciudades. Como combinas esas 20 respuestas?

Programación Dinámica Principio: encontrar solución global, operando en un punto intermedio, entre donde nos encontramos y donde queremos llegar Dinámica el enfoque es útil en problemas donde el tiempo juega un rol importante, el orden de las operaciones es crucial Procedimiento recursivo, cada nuevo punto intermedio, es función de los puntos ya visitados

Branch and Bound y A* B&B: busqueda exhaustiva,, elimima ramas del árbol que no son de interés. Requiere de una cota inferior (o superior) de el costo de una solucion particular A*, también organiza espacio de búsqueda en un árbol Aplica Best-First-Search , ordenamiento de los nodos según criterio de adonde queremos llegar Mantiene dos listas de nodos: abiertos y cerrados

Conclusión Los métodos tradicionales ocupan dos capítulos del libro. Pero dejan mucho que desear Métodos débiles, diseñados para un tipo particular de problema, y solo alli funcionan eficientemente Dos enfoque principales: (1) soluciones completas y (2) soluciones parciales La mayoria de los problams reales no pueden resolverse con los métodos tradicionales!!