Introducción a la Computación (Matemática)

Documentos relacionados
ALGORITMOS HEURÍSTICOS Y APROXIMADOS. Análisis y diseño de algoritmos II- 2009

CAPITULO III. Determinación de Rutas de Entregas

Complejidad computacional (Análisis de Algoritmos)

METAHEURISTICAS Ideas, Mitos, Soluciones

greedy (adj): avaricioso, voraz, ávido, codicioso, glotón

Breve introducción a la Investigación de Operaciones

MODELOS DE INVESTIGACION DE OPERACIONES

Tema 3: El Método Simplex. Algoritmo de las Dos Fases.

ALGORÍTMICA

NOMBRE DE LA ASIGNATURA: MÉTODOS CUANTITATIVOS PARA ADMINISTRACIÓN. ESCUELA: DEPARTAMENTO: ADMINISTRACIÓN

Algebra lineal y conjuntos convexos

Complejidad de los Algoritmos

Ejemplo: El problema de la mochila. Algoritmos golosos. Algoritmos y Estructuras de Datos III. Segundo cuatrimestre 2013

(b) Cuál es la desventaja principal de una heurística con aprendizaje? es más informada que otra función heurística optimista h 2 *?

Clase 1: Primalidad. Matemática Discreta - CC3101 Profesor: Pablo Barceló. P. Barceló Matemática Discreta - Cap. 5: Teoría de números 1 / 32

UNIVERSIDAD MAYOR DE SAN SIMÓN FACULTAD DE CIENCIAS Y TECNOLOGÍA INGENIERÍA DE SISTEMAS BÚSQUEDA PRIMERO EL MEJOR

Objetivos formativos de Matemática Discreta. Tema 1: Conjuntos, aplicaciones y relaciones

Unidad 1: Espacio de Probabilidad

I. Complejidad de Problemas

Teoría de grafos y optimización en redes

UNIDAD 12: ESTADISTICA. OBJETIVOS

Scheduling Problem. Cuándo y dónde debo hacer cada trabajo?

SISTEMAS INFORMÁTICOS PROGRAMACION I - Contenidos Analíticos Ing. Alejandro Guzmán M. TEMA 2. Diseño de Algoritmos

Introducción a la programación lineal

PROGRAMACIÓN NO LINEAL INTRODUCCIÓN

Algoritmos Genéticos. Introducción a la Robótica Inteligente. Álvaro Gutiérrez 20 de abril de

Temario III Algoritmos Combinatorios y Metaheurísticas

Introducción a las RdP. Optimización basada en redes de Petri. Redes de Petri. Son objeto de estudio: RdP. Ejemplos:

Un algoritmo GRASP para un problema de rutas de vehículos escolares aplicado al transporte de personal de una empresa de manufactura

UNIDAD 1: NÚMEROS NATURALES OBJETIVOS

2.3 Clasificación de modelos matemáticos.

1: INTRODUCCIÓN AL USO DE LA HOJA DE CALCULO EXCEL COMO HERRAMIENTA PARA DESARROLLAR PROBLEMAS EN INGENIERÍA. SOLVER, REGRESION LINEAL MULTIPLE

Problemas de Rutas. Vicente Campos Aucejo Dpt. Estadística i Investigació Operativa Universitat de València vicente.campos@uv.es

Tema Contenido Contenidos Mínimos

Programación dinámica p. 1

Unidad 2: Ecuaciones, inecuaciones y sistemas.

Unidad V. 5.1 Recta tangente y recta normal a una curva en un punto. Curvas ortogonales.

Práctica N o 8 Desigualdades Válidas - Algoritmos de Planos de Corte - Algoritmos Branch & Cut

Conceptos Generales en los Proyectos de Optimización de

Sistemas de Inventario con Remanufacturación y Distribución

Facultad de Farmacia. Grado en Nutrición Humana y Dietética. Depto. de Estadística e Investigación Operativa ESTADÍSTICA

1. Considerar el problema de transporte definido por (Origen) a= (6, 7, 8), (Destino) b= (6, 9, 4, 2) y

Un Mecanismo de Vecindad con Búsqueda Local y Algoritmo Genético para el Problema de Transporte con Ventanas de Tiempo

ALGEBRA 1- GRUPO CIENCIAS- TURNO TARDE- Enteros

Alonso Ramirez Manzanares Computación y Algoritmos 03.05

EJERCICIO DE MAXIMIZACION

Métodos para escribir algoritmos: Diagramas de Flujo y pseudocódigo

Prof. Pérez Rivas Lisbeth Carolina

Programación Lineal. Modelo de Redes. Alcance de las aplicaciones. Curso: Investigación de Operaciones Ing. Javier Villatoro

Álgebra Lineal y Estructuras Matemáticas. J. C. Rosales y P. A. García Sánchez. Departamento de Álgebra, Universidad de Granada

Metaheurísticas. Seminario 4. Problemas de optimización con técnicas basadas en adaptación social

Objetivos formativos de Álgebra

Matemá'cas generales

Creamos patrones. Lee la información que se presenta en las Rutas del Aprendizaje. Prepara los materiales que utilizarás en la sesión.

Algoritmos basados en hormigas

Pruebas de Acceso a las Universidades de Castilla y León

UNIVERSIDAD DE MANAGUA Al más alto nivel

TÉCNICAS DE CONTAR. Se trata de contar el número de elementos que tiene un conjunto. Las técnicas de recuento se utilizan, por ejemplo, para

Investigación de Operaciones I. Problemas de Asignación

PROGRAMACION ÁREA DE MATEMÁTICAS QUINTO DE PRIMARIA TEMA 1: LOS NÚMEROS NATURALES CRITERIOS DE EVALUACIÓN: MÍNIMO EXIGIBLE: EVALUACIÓN:

Resolviendo Modelos de Mapas

MÁSTER UNIVERSITARIO EN INGENIERÍA DE SISTEMAS Y DE CONTROL. Curso 2010/2011. (Código: )

Nombre de la asignatura: Algoritmos y Lenguajes de programación.

Aprendizaje Automatizado

RELACIÓN DE PROBLEMAS DE CLASE DE PROGRAMACIÓN LINEAL ENTERA

Unidad Académica Profesional UAEM Tianguistenco, Paraje El Tejocote, San Pedro Tlaltizapán, Tianguistenco, México CP 52640

3 Polinomios y funciones racionales

Curso: Teoría, Algoritmos y Aplicaciones de Gestión Logística. Modelos de Inventarios, Parte 1: Modelos de tamaño económico de lote

Investigación de operaciones en acción: Heurísticas para la solución del TSP

Modelización Avanzada en Logística y Transporte

Optimización de Colonia de Hormigas para resolver el problema de Distribución en Planta

Probabilidad y Estadística

DIPLOMADO. Evaluación de la Calidad de la práctica docente para la implementación del Nuevo Modelo Educativo en Escuelas de Ingeniería del I.P.N.

C a l ses P P y y NP C a l se P C a l se N P N P [No N n o -De D te t rmin i i n s i ti t c i Polynomial-tim i e]

Ruta más Corta con una sóla Fuente de Inicio (Single-Source Shortest Paths) DR. JESÚS A. GONZÁLEZ BERNAL CIENCIAS COMPUTACIONALES INAOE

Normalmente usamos la palabra "combinación" descuidadamente, sin pensar en si el orden de las cosas es importante. En otras palabras:

1. Sucesiones y redes.

Algoritmos de Colonia de Hormigas para el Problema del Viajante de Comercio por Familias y para el Problema de Ruteo de Vehículos por Familias

PROGRAMACIÓN LINEAL ENTERA

Habilidades Matemáticas. Alejandro Vera

Contenidos mínimos 4B ESO. 1. Contenidos. Bloque I: Aritmética y álgebra.

Universidad Autónoma del Estado de México Licenciatura en Matemáticas Programa de Estudios: Programación Lineal

a) log3 81 = b) log = c) loga 27 = 3 d) log2 P = 4 e) El logaritmo de un número en cierta base, puede ser un número negativo?

ALGORITMOS GENÉTICOS

Con miras a conocer la metodología que se aplica en el Método SIMPLEX, tenemos a continiacion un ejemplo:

Tema No. 3 Métodos de Resolución de Modelos de Programación Lineal. El Método Gráfico y Método Simplex Autoevaluación y Ejercicios Propuestos

TEORÍA DE GRAFOS Ingeniería de Sistemas

Universidad Nacional Autónoma de Nicaragua UNAN-Managua. Curso de Investigación de Operaciones

Análisis y Diseño de Algoritmos Tablas de Hash

Notación Asintótica 2

TEMA 5: INTERPOLACION NUMERICA

Tema 3. El metodo del Simplex.

UNIVERSIDAD DE LOS LLANOS Facultad de Ciencias Básicas e Ingeniería Programa Ingeniería de Sistemas

MATEMÁTICAS 5. º CURSO UNIDAD 1: SISTEMAS DE NUMERACIÓN

Un algoritmo genético híbrido para resolver el EternityII. Rico, Martin; Ros, Rodrigo Directora: Prof. Dra. Irene Loiseau

Materia: Matemática de Octavo Tema: Raíces de un polinomio. Marco teórico

Bloque 1. Contenidos comunes. (Total: 3 sesiones)

Simulación I. Investigación Operativa, Grado en Estadística y Empresa, 2011/12

Split Delivery Vehicle Routing Problem: Heuristic based Algorithms

Universidad Tec Milenio: Profesional IO04001 Investigación de Operaciones I. Tema # 9

Transcripción:

Introducción a la Computación (Matemática) Heurísticas de Programación

Introducción a la Computación Menú del día de hoy Problemas Difíciles P y NP Viajante de Comercio Coloreo Problema de la mochila Ruteo de Vehículos Heurísticas y Metaheurísticas Golosa Búsqueda Local VNS GRASP Simulated Annealing Tabú Search Existen muchas variantes de los problemas. Heurísticas y Metaheurísticas son temas muy amplios, con muchas vairantes. Vamos a presentar una introducción.

Sobre problemas fáciles y difíciles Clases de complejidades (noción de problema difícil) Se fija un modelo de cómputo (similar al que vimos nosotros para contar cantidad de operaciones) y un recurso (tiempo, espacio, etc.) Clases de complejidad fundamentales: P : fácil encontrar una solución un problema está en P si existe un algoritmo que resuelve en tiempo polinomial cualquier instancia del problema, ej: mínimo de una lista (O(n)) NP : fácil chequear si es solución no necesariamente fácil de resolver. Problema fundamental de Ciencias de la Computación: P = NP? Todo esto se puede formalizar más, es solo una introducción.

Sobre problemas fáciles y difíciles Ejemplos Problemas en P: mínimo de una lista, ordenamiento, búsqueda, máximo común divisor, saber si un número es primo (2002), etc. Problemas en NP: viajante de comercio, ruteo de vehículos, suma de subconjuntos, corte de materiales, problema de la mochila, etc. (los detalles en minutos...) Computers and Intractability: A Guide to the Theory of NP-Completeness, Michael Garey and David S. Johnson. Qué hacemos con los problemas que son difíciles? Algoritmos Exactos cuando sea posible, para instancias de tamaño acotado Algoritmos Heurísticos aproximados, pero eficientes

Problema del Viajante de Comercio (TSP) Problema: Dada una lista de ciudades y distancias entre pares de ellas, cuál es la ruta más corta posible que visita cada ciudad exactamente una vez y regresa a la ciudad de origen? Muchas aplicaciones prácticas. Muchas variantes (costos simétricos/asimétricos, recolecciones y entregas, etc.)

Problema del Viajante de Comercio (TSP) Algoritmo Exacto Enumero todas las posibles soluciones (permutaciones de ciudades) y calculo el costo de cada una para quedarme con la mejor.

Problema del Viajante de Comercio (TSP) Algoritmo Exacto Complejidad: O(n!). 10 ciudades 1814400 posibilidades 50 ciudades 15207046600856689021806304083032384422188820784480256000000000000 Poco útil en la práctica.

Problema del Viajante de Comercio (TSP) Algoritmo Heurístico Heurística Golosa: Elegir la opción que parece mejor para la subsolución actual En cada paso el viajante elige moverse a la ciudad más cercana. Complejidad? De dónde empiezo? Para n ciudades distribuidas aleatoriamente en el plano, el algoritmo consigue un camino 25% más costoso que el camino más corto. Es posible construir instancias con una distribución de ciudades que haga que el algoritmo consiga la peor ruta (Gutin, Yeo, and Zverovich, 2002). Hagamos un poco de experimentación...

Problema del Viajante de Comercio (TSP) Algoritmo Heurístico: k-opt Existen heurísticas de refinamiento de una solución. Se construye una solución inicial para el problema, y luego se aplican operadores para refinar la solución. Operador 2-Opt: Remover 2 ejes y reemplazarlos con otros 2 ejes para reconectar los fragmentos resultantes de la remoción, y así obtener un nuevo camino más corto. Se puede generalizar a k-opt. En la práctica suelen utilizarse 2-Opt y 3-Opt dado que para k > 3 el operador se vuelve muy costoso. Variantes para aplicar el movimiento: First accept Best accept

Problema del Viajante de Comercio (TSP) 2-Opt: un ejemplo

Problema del Viajante de Comercio (TSP) En particular, es un problema NP-completo (cualquier otro problema en la clase NP puede transformarse en p en tiempo polinomial). Resolverlo equivale a probar P = NP. $1,000,000 del Clay Mathematics Institute

Problema de la mochila Problema: Dados una mochila que puede cargar hasta N kg, y un conjunto de ítems, cada uno con un peso (en kg) y un valor (en $), encontrar el subconjunto de ítems con máximo valor que quepa en la mochila. Muchas aplicaciones prácticas (e.g., conformación de un portfolio de acciones)

Problema de la mochila Algortimo Heurístico Heurística Golosa: Ordenar los items por peso (creciente) y meter en la mochila todos los de menor peso que pueda. Trato de meter muchos items Problema? Ordenar los items por valor en forma decreciente, y meter los más valiosos que pueda. Trato de meter cosas de mucho valor Problema? Ordenarlos según el valor por unidad de peso. (George Dantzig)

Problema de la mochila Algoritmo goloso: En cada paso de la construcción de una solución, tomar la mejor decisión local. Mochila: Elegir en cada paso el ítem con la mejor relación valor/peso que quepa en la mochila. Ejemplos (mochila que puede cargar hasta 15kg): Valor Peso Valor/Peso 4 12 0.33 2 2 1 2 1 2 1 1 1 10 4 2.5 Valor Peso Valor/Peso 12 12 1 9 10 0.9 4 5 0.8

Problema de Coloreo Problema: Dado un conjunto de nodos y ejes que los conectan, determinar la mínima cantidad de colores necesarios para pintar los nodos de forma tal que no haya nodos adyacentes pintados con el mismo color. Aplicaciones: Scheduling, asignación de frecuencias de radio, asignación de registros en compiladores, etc. Sudoku como problema de coloreo (cantidad fija de colores). Cómo sería un algoritmo goloso para este problema?

Problema de Ruteo de Vehículos (VRP) Problema: Dados n clientes y un depósito, se debe encontrar a lo sumo k rutas de costo total mínimo, donde cada ruta empieza y termina en el depósito. Además cada cliente tiene asociada una cantidad de mercadería que es recolectada al visitarlo. Los vehículos no pueden exceder una capacidad máxima Q de esta mercadería. Generalización del TSP. Es difícil incluso encontrar una solución factible.

Problema de Ruteo de Vehículos (VRP) Enfoque clásico: utilizar una heurística constructiva para tratar de obtener una solución inicial. Ejemplo: Cluster & Route Utilizo una técnica de clustering para obtener k clusters de clientes. Aplico una heurística de TSP en cada cluster (si viola la restricción de capacidad en los vehículos, vuelvo a clusterizar). Luego se aplican operadores para refinar la solución. Ejemplo: Operadores de TSP en cada ruta Operadores inter-ruta: Insertar un cliente en otra ruta para mejorar la calidad de la solución Intercambiar pares de clientes entre rutas.

Algoritmos de búsqueda local Comenzar con una solución S elegida al azar. 1 Explorar los vecinos de S. 2 S mejor vecino. 3 Repetir hasta no poder mejorar. Ejemplos: Mochila: Vecino = Sacar un ítem y poner otro. TSP: Vecino = intercambiar dos ciudades de un recorrido. VRP: Vecino = movimiento definido por algún operador (intercambiar clientes entre rutas).

Algoritmos de búsqueda local Comenzar con una solución S elegida al azar. 1 Explorar los vecinos de S. 2 S mejor vecino. 3 Repetir hasta no poder mejorar. Algunas cuestiones: Cómo defino el vecindario de soluciones? Cómo lo exploro? Variante: Inmediatamente después de encontrar una mejor solución, moverse a esa solución (criterios: first/best accept) Podría ser difícil incluso encontrar la solución inicial.

Optimización Combinatoria Todos los problemas que vimos tienen su versión como problemas de decisión y como problemas de optimización. Ejemplo: TSP Versión decisión: Existe un camino factible de costo menor que C? Versión de optimización: Encontrar el camino factible de costo mínimo Problemas de Optimización Combinatoria Dado un conjunto (finito) S de soluciones factibles y una función objetivo a optimizar f : S R, hallar s S tal que f (s ) f (s) (minimización) para todo s S.

Más sobre el tema Existen variantes (más complejas) de las técnicas que vimos que se utilizan para atacar problemas de optimización combinatoria. Muchas veces se combinan con la utilización de modelos matemáticos basados en Programación Lineal (Entera). Otras metaheurísticas famosas: Programación genética. Simulated annealing. Colonia de hormigas. GRASP VNS VND Si se quedaron con ganas... materias del DC: Investigación Operativa (Prof. Isabel Méndez-Díaz, Paula Zabala, Irene Loiseau). Metaheurísticas (Prof. Irene Loiseau).

Más sobre el tema Si se quedaron con ganas de TSP... In Pursuit of the Traveling Salesman: Mathematics at the Limits of Computation William J. Cook