Algoritmos de aproximación

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Algoritmos de aproximación"

Transcripción

1 Técnicas de diseño de algoritmos Algoritmos de aproximación Dra. Elisa Schaeffer PISIS / FIME / UANL Algoritmos de aproximación p. 1

2 Soluciones no-óptimas En situaciones donde todos los algoritmos conocidos son lentos, vale la pena considerar la posilibidad de usar una solución aproximada, o sea, una solución que tiene un valor de la función objetivo cerca del valor óptimo, pero no necesariamente el óptimo mismo. Depende del área de aplicación sí o no se puede hacer esto eficientemente. En muchos casos es posible llegar a una solución aproximada muy rápidamente mientras encontrar la solución óptima puede ser imposiblemente lento. Algoritmos de aproximación p. 2

3 Determinismo Un algoritmo de aproximación puede ser determinista o no determinista. Si el algoritmo de aproximación no es determinista y ejecuta muy rápidamente, es común ejecutarlo varias veces y elegir el mejor de las soluciones aproximadas así producidas. Algoritmos de aproximación p. 3

4 Factor de aproximación Un algoritmo de aproximación bien diseñado cuenta con un análisis formal que muestra que la diferencia entre su solución y la solución óptima es de un factor constante. Este factor se llama el factor de aproximación. < 1 para maximización > 1 para minimización Depende de la aplicación qué tan cerca debería ser la solución aproximada a la solución óptima. Algoritmos de aproximación p. 4

5 Tasa de aproximación El valor extremo del factor sobre el conjunto de todas las instancias del problema es la tasa o índice de aproximación (inglés: approximation ratio). Un algoritmo de aproximación tiene tasa constante si el valor de la solución encontrada es por máximo un múltiple constante del valor óptimo. Algoritmos de aproximación p. 5

6 Eficiencia También habrá que mostrar formalmente que el algoritmo de aproximación tiene complejidad polinomial. En el caso de algoritmos de aproximación probabilistas, basta con mostrar que sea polinomial con alta probabilidad. Algoritmos de aproximación p. 6

7 Esquemas de aproximación Si existe un método sistemático para aproximar la solución a factores arbitrarios, ese método se llama una esquema de aproximación (de tiempo polinomial) (inglés: (polynomial-time) approximation scheme). Tiempo polinomial: PTAS. Un libro de texto recomendable sobre algoritmos de aproximación es lo de Vazirani. Algoritmos de aproximación p. 7

8 Bin packing El problema de empaquetear a cajas: Dado: un conjunto finito de objetos Φ = {ϕ 1,ϕ 2...,ϕ N }, cada uno con un tamaño definido t(ϕ i ) R. Pregunta: Cómo empaquetear en cajas de tamaño fijo T los objetos así que T máx{t(ϕ i ) ϕ i Φ} y que el número de cajas utilizadas sea mínima. Este problema también es NP-completo. Algoritmos de aproximación p. 8

9 Algoritmo de aproximación 1. Ordenar las cajas en una fila. 2. Procesamos los objetos en orden. 3. Primero intentamos poner el objecto actualmente procesado en la primera caja de la fila. 4. Si cabe, lo ponemos allí, y si no, intentamos en la siguiente caja. 5. Iterando así obtenemos alguna asignación de objetos a cajas. Algoritmos de aproximación p. 9

10 Calidad de la solución Denotamos con OPT(Φ) el número de cajas que contienen por lo menos un objeto en la asignación óptima. Se puede mostrar que el algoritmo de aproximación simple utiliza al máximo 17 OPT(Φ)+2 cajas. 10 Esto significa que nunca alejamos a más de 70 % de la solución óptima. Algoritmos de aproximación p. 10

11 Mejora Podemos mejorar aún por ordenar los objetos así que intentamos primero el más grande y después el segundo más grande. Para este caso se puede mostrar que llegamos a utilizar al máximo 11 OPT(Φ)+4 cajas, que nos da una distancia 9 máxima de unos 22 % del óptimo. Algoritmos de aproximación p. 11

12 Problema del viajante Una versión los pesos un grafo completo ponderado son distancias entre los vértices d(v, w) que cumplen con la desigualdad de triángulo d(v,u) d(v,w)+d(w,u). También es un problema NP-completo. Algoritmos de aproximación p. 12

13 Algoritmo de aproximación 1. Construye un árbol de expansión mínimo en tiempo O(mlogn). 2. Elige un vértice de inicio cualquiera v. 3. Recorre el árbol con DFS en tiempo O(m+n) e imprime cada vértice a la primera visita (o sea, en preorden). 4. Imprime v en tiempo O(1). Algoritmos de aproximación p. 13

14 Análisis El DFS recorre cada arista del árbol 2 veces; podemos pensar en el recorrido como una ruta larga R que visita cada vértice por lo menos una vez, pero varias vértices más de una vez. Cortamos de la ruta larga R cualquier visita a un vértice que ya ha sido visitado, así logrando el mismo efecto de imprimir los vértices en preorder. Por la desigualdad de triángulo, sabemos que la ruta cortada R no puede ser más cara que la ruta larga R. Algoritmos de aproximación p. 14

15 Óptimos y árboles El costo total de R es dos veces el costo del árbol cubriente mínimo. Para lograr a comparar el resultado con el óptimo, hay que analizar el óptimo en términos de árboles cubrientes. Si eliminamos cualquier arista de la ruta óptima R OPT, obtenemos un árbol cubriente. Algoritmos de aproximación p. 15

16 La tasa El peso de este árbol es por lo menos el mismo que el peso de un árbol cubriente mínimo C. Entonces, si marcamos el costo de la ruta R con c(r), hemos mostrado que necesariamente c(r) c(r ) = 2C 2c(R OPT ). Algoritmos de aproximación p. 16

17 Búsqueda local Cuando hemos obtenido una solución heurística y aproximada de manera cualquiera a un problema de optimización, podemos intentar mejorarla por búsqueda local. Aplicamos operaciones pequeñas y rápidamente realizadas para causar cambios pequeños en la solución así que la solución mantiene factible y puede ser que mejora. Libros buenos de búsqueda local incluyen el libro de de Aarts y Lenstra y el libro de Hoos y Stützle. Algoritmos de aproximación p. 17

18 Un ejemplo: 2-opt Aplicada en el problema del viajante en un grafo ponderado no dirigido G = (V,E). El costo de una arista {v,w} es c(v,w) > 0. Elegimos (al azar) 2 aristas de la ruta R: {s,t} y {u,v}. Algoritmos de aproximación p. 18

19 Notaciones Marcamos el segmento de la ruta entre t y u por A y el otro segmento entre v y s por B así que A = [tr 1 r 2...r k u] B = [vw 1 w 2...w l s] R = [tr 1 r 2...r k uvw 1 w 2...w l st] Algoritmos de aproximación p. 19

20 Candidato a intercambio Si el grafo G también contiene las aristas {v,t} y {s,u}, evaluamos si c(s,t)+c(u,v) > c(s,u)+c(v,t). Si es así, podemos llegar a un costo total menor por reemplazar las aristas originales por las aristas más baratas {v,t} y {s,u}: R = [tr 1 r x 2...r k usw l w l 1...w 2 w 1 vt]. Algoritmos de aproximación p. 20

21 Ilustración Algoritmos de aproximación p. 21

NP-Completeness: Universidad Autónoma de Nuevo León Facultad de Ingeniería Mecánica y Eléctrica División de Posgrado en Ingeniería de Sistemas

NP-Completeness: Universidad Autónoma de Nuevo León Facultad de Ingeniería Mecánica y Eléctrica División de Posgrado en Ingeniería de Sistemas Universidad Autónoma de Nuevo León Facultad de Ingeniería Mecánica y Eléctrica División de Posgrado en Ingeniería de Sistemas Complejidad del problema de la Mochila NP-Completeness: (Knapsack problem)

Más detalles

Algoritmos aleatorizados

Algoritmos aleatorizados Técnicas de diseño de algoritmos Algoritmos aleatorizados Dra. Elisa Schaeffer elisa.schaeffer@gmail.com PISIS / FIME / UANL Algoritmos aleatorizados p. 1 Algoritmos aleatorizados = algoritmos que incorporan

Más detalles

Análisis de Algoritmos Problemas de grafos

Análisis de Algoritmos Problemas de grafos Análisis de Algoritmos Problemas de grafos Dra. Elisa Schaeffer elisa.schaeffer@gmail.com PISIS / FIME / UANL Problemas de grafos p. 1 INDEPENDENT SET es NP-completo Necesitamos un gadget : el triángulo.

Más detalles

Algoritmos pseudo-polinomiales

Algoritmos pseudo-polinomiales Análisis de Algoritmos Algoritmos pseudo-polinomiales Dra. Elisa Schaeffer elisa.schaeffer@gmail.com PISIS / FIME / UANL Algoritmos pseudo-polinomiales p. 1 HAMILTON PATH es NP-completo La reducción es

Más detalles

Análisis de Algoritmos Teoría de grafos

Análisis de Algoritmos Teoría de grafos Análisis de Algoritmos Teoría de grafos Dra. Elisa Schaeffer elisa.schaeffer@gmail.com PISIS / FIME / UANL Teoría de grafos p. 1 Grafos Un grafo G es un par de conjuntos G = (V,E) Teoría de grafos p. 2

Más detalles

COMPUTACIÓN ALEATORIZADA

COMPUTACIÓN ALEATORIZADA Conferencia magistral COMPUTACIÓN ALEATORIZADA Probabilidad y algoritmos Dra. Elisa Schaeffer Profesora del Posgrado de Ing. de Sistemas (PISIS) en la Facultad de Ing. Mecánica y Eléctrica (FIME), Coordinador

Más detalles

Dividir-conquistar y podar-buscar

Dividir-conquistar y podar-buscar Técnicas de diseño de algoritmos Dividir-conquistar y podar-buscar Dra. Elisa Schaeffer elisa.schaeffer@gmail.com PISIS / FIME / UANL DC y PB p. 1 Diseño de algoritmos La meta: encontrar una manera eficiente

Más detalles

Estructuras de datos Grafos

Estructuras de datos Grafos Estructuras de datos Grafos Dra. Elisa Schaeffer elisa.schaeffer@gmail.com PISIS / FIME / UANL Grafos p. 1 Matriz de adyacencia Un grafo G = (V,E) de n vértices etiquetados 1,2,3,...,n. Grafos p. 2 Matriz

Más detalles

Algoritmos y problemas

Algoritmos y problemas Análisis de Algoritmos Algoritmos y problemas Dra. Elisa Schaeffer elisa.schaeffer@gmail.com PISIS / FIME / UANL Algoritmos y problemas p. 1 Problema = un conjunto (posiblemente infinita) de instancias

Más detalles

Problemas NP-completos

Problemas NP-completos Análisis de Algoritmos Problemas NP-completos Dra. Elisa Schaeffer elisa.schaeffer@gmail.com PISIS / FIME / UANL Problemas NP-completos p. 1 Problemas NP-completos La clase NP contiene numerosos problemas

Más detalles

Tema 5: Problemas de Optimización

Tema 5: Problemas de Optimización Modelos de Informática Teórica - Universidad de Granada Contenido Problemas de Optimización Algoritmos ǫ-aproximados Análisis de problemas: cubrimiento por vértices, viajante de comercio, corte máximo,

Más detalles

Complejidad amortizada

Complejidad amortizada Análisis de algoritmos Complejidad amortizada Dra. Elisa Schaeffer elisa.schaeffer@gmail.com PISIS / FIME / UANL Complejidad amortizada p. 1 Complejidad amortizada La idea en el análisis de complejidad

Más detalles

! Las mismas ideas buenas sirven para desarrollar. ! Por eso es útil estudiar las estratégias clásicas del. Dividir y conquistar Algoritmo euclideano

! Las mismas ideas buenas sirven para desarrollar. ! Por eso es útil estudiar las estratégias clásicas del. Dividir y conquistar Algoritmo euclideano Diseño de algoritmos Temas integradores Diseño de algoritmos Algoritmos de aproximación, aleatorizados & heurísticos! Las mismas ideas buenas sirven para desarrollar algoritmos eficientes para una gran

Más detalles

Metaheurísticas y heurísticas. Algoritmos y Estructuras de Datos III

Metaheurísticas y heurísticas. Algoritmos y Estructuras de Datos III Metaheurísticas y heurísticas Algoritmos y Estructuras de Datos III Metaheurísticas Heurísticas clásicas. Metaheurísticas o heurísticas modernas. Cuándo usarlas? Problemas para los cuales no se conocen

Más detalles

Grafos Eulerianos y Hamiltonianos. Algoritmos y Estructuras de Datos III

Grafos Eulerianos y Hamiltonianos. Algoritmos y Estructuras de Datos III Grafos Eulerianos y Hamiltonianos Algoritmos y Estructuras de Datos III Grafos eulerianos Definiciones: Un circuito C en un grafo (o multigrafo) G es un circuito euleriano si C pasa por todos las aristas

Más detalles

Programación dinámica p. 1

Programación dinámica p. 1 Técnicas de diseño de algoritmos Programación dinámica Dra. Elisa Schaeffer elisa.schaeffer@gmail.com PISIS / FIME / UANL Programación dinámica p. 1 Programación dinámica En programación dinámica, uno

Más detalles

Estructuras de datos Listas y árboles

Estructuras de datos Listas y árboles Estructuras de datos Listas y árboles Dra. Elisa Schaeffer elisa.schaeffer@gmail.com PISIS / FIME / UANL Listas y árboles p. 1 Listas Listas son estructuras un poco más avanzadas que puros arreglos, como

Más detalles

The Traveling Salesperson Problem. D.Moshkovitz Complexity

The Traveling Salesperson Problem. D.Moshkovitz Complexity The Traveling Salesperson Problem 1 La misión: La vuelta al mundo 2 El problema: El dinero que cuesta 1795$ 3 Introducción Objetivos: Estudiar el problema Traveling Salesperson Problem (TSP). Resumen:

Más detalles

Estructuras de datos Árboles B

Estructuras de datos Árboles B Estructuras de datos Árboles B Dra. Elisa Schaeffer elisa.schaeffer@gmail.com PISIS / FIME / UANL Árboles B p. 1 Árboles B Árboles B son árboles balanceados que no son binarios. Todos los vértices contienen

Más detalles

Escuela de algoritmos de aproximación

Escuela de algoritmos de aproximación Escuela de algoritmos de aproximación Módulo 2: Introducción a los algoritmos de aproximación Francisco Javier Zaragoza Martínez Universidad Autónoma Metropolitana Unidad Azcapotzalco ITAM, 14 de septiembre

Más detalles

Universidad Autónoma de Nuevo León

Universidad Autónoma de Nuevo León Universidad Autónoma de Nuevo León Facultad de Ingeniería Mecánica y Eléctrica División de Posgrado en Ingeniería de Sistemas Eficiencia de la Búsqueda Local para Instancias Diferentes del Problema de

Más detalles

3-Coloring es NP-Completo

3-Coloring es NP-Completo 3-Coloring es NP-Completo Lic. Luis Miguel Prado Llanes Posgrado en Ingeniería de Sistemas Universidad Autónoma de Nuevo León 26 de mayo de 2008 Prado Llanes (PISIS) 3-Coloring 26.05.2008 1 / 36 Contenido

Más detalles

Parte de Algoritmos de la asignatura de Programación Master de Bioinformática. Grafos

Parte de Algoritmos de la asignatura de Programación Master de Bioinformática. Grafos Parte de Algoritmos de la asignatura de Programación Master de Bioinformática Grafos Web asignatura: http://dis.um.es/~domingo/algbio.html E-mail profesor: domingo@um.es Transparencias preparadas a partir

Más detalles

obtenido de la fusión de dos rutas y la posterior asignación a un vehículo con capacidad disponible.

obtenido de la fusión de dos rutas y la posterior asignación a un vehículo con capacidad disponible. El problema VRP, y por tanto su variante con flota heterogénea, son problemas de optimización combinatoria complejos que caen en la categoría de NP-completo (Choi and Tcha, 2007), lo que significa que

Más detalles

Escuela de algoritmos de aproximación

Escuela de algoritmos de aproximación Escuela de algoritmos de aproximación Módulo 3: Algoritmos de aproximación para problemas de ruteo Francisco Javier Zaragoza Martínez Universidad Autónoma Metropolitana Unidad Azcapotzalco ITAM, de septiembre

Más detalles

MARITZA HERRERA FLOREZ YUDY MARCELA BOLAÑOS RIVERA

MARITZA HERRERA FLOREZ YUDY MARCELA BOLAÑOS RIVERA ALGORITMOS DE APROXIMACIÓN PARA PROBLEMAS NP DUROS MARITZA HERRERA FLOREZ YUDY MARCELA BOLAÑOS RIVERA UNIVERSIDAD DEL CAUCA FACULTAD DE CIENCIAS NATURALES, EXACTAS Y DE LA EDUCACIÓN DEPARTAMENTO DE MATEMÁTICAS

Más detalles

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

ALGORITMOS HEURÍSTICOS Y APROXIMADOS. Análisis y diseño de algoritmos II- 2009 ALGORITMOS HEURÍSTICOS Y APROXIMADOS Análisis y diseño de algoritmos II- 2009 Problemas difíciles : Definiciones, ejemplos y propiedades Análisis y diseño de algoritmos II- 2009 Un viaje a Ciencias de

Más detalles

Complejidad Computacional

Complejidad Computacional Complejidad Computacional MLG521 Cristobal Rojas Pamela Alvarez Departamento de Ciencias de de la Ingeniería Departamento de Ingeniería Matemática Universidad Andrés Bello MLG521 Cómo medir la dificultad

Más detalles

Algoritmos heurísticos y aproximados. Clase 6/10/09

Algoritmos heurísticos y aproximados. Clase 6/10/09 Algoritmos heurísticos y aproximados Clase 6/10/09 Algoritmos aproximados y heurísticos para problemas NP-Hard Cómo resolver problemas NP-HARD? No pretendemos encontrar la mejor solución sino una buena

Más detalles

ARBOLES GENERADORES. Orlando Arboleda Molina. 16 de septiembre de Escuela de Ingeniería de Sistemas y Computación de La Universidad del Valle

ARBOLES GENERADORES. Orlando Arboleda Molina. 16 de septiembre de Escuela de Ingeniería de Sistemas y Computación de La Universidad del Valle ARBOLES GENERADORES Orlando Arboleda Molina Escuela de Ingeniería de Sistemas y Computación de La Universidad del Valle 16 de septiembre de 2008 Contenido Árboles generadores Algoritmo búsqueda por profundidad

Más detalles

Problema Robusto de Diseño de Red Capacitada Multiproducto

Problema Robusto de Diseño de Red Capacitada Multiproducto UNIVERSIDAD AUTÓNOMA DE NUEVO LEÓN Programa de Posgrado en Ingeniería de Sistemas VERANO DE INVESTIGACIÓN CIENTIFICA 2004 Problema Robusto de Diseño de Red Capacitada Multiproducto Becario (a): Damaris

Más detalles

Teoría de grafos y optimización en redes

Teoría de grafos y optimización en redes Teoría de grafos y optimización en redes José María Ferrer Caja Universidad Pontificia Comillas Definiciones básicas Grafo: Conjunto de nodos (o vértices) unidos por aristas G = (V,E) Ejemplo V = {,,,,

Más detalles

Complejidad computacional (Análisis de Algoritmos)

Complejidad computacional (Análisis de Algoritmos) Definición. Complejidad computacional (Análisis de Algoritmos) Es la rama de las ciencias de la computación que estudia, de manera teórica, la optimización de los recursos requeridos durante la ejecución

Más detalles

5.6 Árbol generador de un grafo

5.6 Árbol generador de un grafo 88 5.6 Árbol generador de un grafo Definición 5.59. Sea G un grafo simple. Un árbol generador de G es un subgrafo de G que es un árbol y contiene todos los vértices de G. Ejemplo 5.60. Un grafo y algunos

Más detalles

Algoritmo de Kruskal

Algoritmo de Kruskal Algoritmo de Kruskal Curso de Teoría Algebraica de Grafos Facultad de Ingeniería Universidad de la República 4 de mayo de 202 Árboles Un árbol es un grafo conexo y acíclico (sin ciclos). Un bosque es un

Más detalles

Representación y manipulación de grafos: caminos, expansión, cortes y flujos

Representación y manipulación de grafos: caminos, expansión, cortes y flujos Un grafo G es un par de conjuntos G =(V,E) Representación y manipulación de grafos: caminos, expansión, cortes y flujos V = un conjunto de n vértices u, v, w V E = un conjunto de m aristas V = n, E = m

Más detalles

! !

!  ! Programa semanal 1. Introducción a algoritmos: variables, condiciones y repeticiones; pseudocódigo 2. Matemáticas de algoritmos; lógica computacional 3. Modelos formales de computación: autómatas y máquinas

Más detalles

Algoritmos de Aproximación para el problema de Corte de Multicaminos (Multiway Cut)

Algoritmos de Aproximación para el problema de Corte de Multicaminos (Multiway Cut) Algoritmos de Aproximación para el problema de Corte de Multicaminos (Multiway Cut) Julián Viera Curso de Algoritmos de Aproximación 2016 Facultad de Ingeniería - IMERL 24 de octubre de 2016 Definición

Más detalles

RAMIFICAR-ACOTAR Y PLANOS DE CORTE

RAMIFICAR-ACOTAR Y PLANOS DE CORTE RAMIFICAR-ACOTAR Y PLANOS DE CORTE ELISA SCHAEFFER Programa de Posgrado en Ingeniería de Sistemas (PISIS) elisa@yalma.fime.uanl.mx INVESTIGACIÓN DE OPERACIONES EL MÉTODO RAMIFICAR-ACOTAR (RA) (ingl. Branch

Más detalles

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]

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] Análisis y Diseño de Algoritmos Introducción Análisis y Diseño de Algoritmos Concepto de algoritmo Resolución de problemas Clasificación de problemas Algorítmica Análisis de la eficiencia de los algoritmos

Más detalles

Apuntes de Teórico de Programación 3. Apuntes de Teórico PROGRAMACIÓN 3. Greedy. Versión 1.1

Apuntes de Teórico de Programación 3. Apuntes de Teórico PROGRAMACIÓN 3. Greedy. Versión 1.1 Apuntes de Teórico PROGRAMACIÓN 3 Greedy Versión 1.1 1 Índice Índice... Introducción... 3 Ejemplo 1 (problema de las monedas)... 3 Ejemplo (problema de la mochila)... 4 Aplicaciones del método Greedy a

Más detalles

Se puede dibujar la siguiente figura, empezando y terminando en el mismo punto, sin levantar e lápiz del papel?

Se puede dibujar la siguiente figura, empezando y terminando en el mismo punto, sin levantar e lápiz del papel? Se puede dibujar la siguiente figura, empezando y terminando en el mismo punto, sin levantar e lápiz del papel? Y esta otra? Los puentes de Königsberg Königsberg es famosa por ser la ciudad natal de Immanuel

Más detalles

Se puede dibujar la siguiente figura, empezando y terminando en el mismo punto, sin levantar e lápiz del papel?

Se puede dibujar la siguiente figura, empezando y terminando en el mismo punto, sin levantar e lápiz del papel? Se puede dibujar la siguiente figura, empezando y terminando en el mismo punto, sin levantar e lápiz del papel? Y esta otra? Los puentes de Königsberg Königsberg es famosa por ser la ciudad natal de Immanuel

Más detalles

ÁRBOLES CRISTIAN ALFREDO MUÑOZ ÁLVAREZ JUAN DAVID LONDOÑO CASTRO JUAN PABLO CHACÓN PEÑA EDUARDO GONZALES

ÁRBOLES CRISTIAN ALFREDO MUÑOZ ÁLVAREZ JUAN DAVID LONDOÑO CASTRO JUAN PABLO CHACÓN PEÑA EDUARDO GONZALES ÁRBOLES CRISTIAN ALFREDO MUÑOZ ÁLVAREZ JUAN DAVID LONDOÑO CASTRO JUAN PABLO CHACÓN PEÑA EDUARDO GONZALES ÁRBOL Un árbol es un grafo no dirigido, conexo, sin ciclos (acíclico), y que no contiene aristas

Más detalles

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

Introducción a la Computación (Matemática) 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

Más detalles

Universidad de Managua Curso de Programación Lineal

Universidad de Managua Curso de Programación Lineal Universidad de Managua Curso de Programación Lineal Profesor: MSc. Julio Rito Vargas Avilés. Objetivos y Temáticas del Curso Estudiantes: Facultad de CE y A Año académico: III Cuatrimestre 2014 ORIENTACIONES

Más detalles

Árboles de Expansión Mínima. Matemática Discreta. Agustín G. Bonifacio UNSL

Árboles de Expansión Mínima. Matemática Discreta. Agustín G. Bonifacio UNSL UNSL Árboles Definiciones y Ejemplos Caracterización Un árbol T es un grafo simple que satisface lo siguiente: si v y w son vértices en T, entonces existe una trayectoria simple única de v a w. Un árbol

Más detalles

NP-Completitud. Agustín J. González ELO320: Estructura de Datos y Algoritmos 1er. Sem ELO320 1

NP-Completitud. Agustín J. González ELO320: Estructura de Datos y Algoritmos 1er. Sem ELO320 1 NP-Completitud Agustín J. González ELO320: Estructura de Datos y Algoritmos 1er. Sem. 2002 ELO320 1 Introducción Hasta ahora todos los algoritmos estudiados han sido algoritmos de tiempo polinomial: para

Más detalles

4. Complejidad computacional

4. Complejidad computacional Fundamentos de Programación Entera 4. Complejidad computacional Carlos Testuri Germán Ferrari Departamento de Investigación Operativa Instituto de Computación Facultad de Ingeniería Universidad de la República

Más detalles

Algoritmos mas complejos. Algoritmos y Estructuras de Datos II (Programación I) Mgter. Vallejos, Oscar A.

Algoritmos mas complejos. Algoritmos y Estructuras de Datos II (Programación I) Mgter. Vallejos, Oscar A. Algoritmos mas complejos Divide y Vencerás Técnica empleada en cosas dispares. También en el diseño de algoritmos. (ordenación: Quicksort; Mergesort). Consiste básicamente en dividir un problema original

Más detalles

INAPROXIMABILIDAD. Curso: Algoritmos de aproximación Docente: Pablo Romero Estudiante: Daniel La Buonora Octubre de 2016

INAPROXIMABILIDAD. Curso: Algoritmos de aproximación Docente: Pablo Romero Estudiante: Daniel La Buonora Octubre de 2016 INAPROXIMABILIDAD Curso: Algoritmos de aproximación Docente: Pablo Romero Estudiante: Daniel La Buonora Octubre de 2016 Plan de la presentación - Definición de inaproximabilidad - Ejemplo con el problema

Más detalles

Backtracking: Esquema General

Backtracking: Esquema General Backtracking Idea: Técnica para recorrer sistemáticamente todas las posibles configuraciones de un espacio asociado a soluciones candidatos de un problema computacional. Se puede pensar este espacio tiene

Más detalles

Grafos. AMD Grado en Ingeniería Informática. AMD Grado en Ingeniería Informática (UM) Grafos 1 / 30

Grafos. AMD Grado en Ingeniería Informática. AMD Grado en Ingeniería Informática (UM) Grafos 1 / 30 Grafos AMD Grado en Ingeniería Informática AMD Grado en Ingeniería Informática (UM) Grafos / 0 Objetivos Al finalizar este tema tendréis que: Conocer la terminología básica de la teoría de grafos. Pasar

Más detalles

Algoritmos Voraces. Diseño y Análisis de Algoritmos

Algoritmos Voraces. Diseño y Análisis de Algoritmos Algoritmos Voraces Diseño y Análisis de Algoritmos Contenidos Contenidos 1 Introducción 2 Ejemplos básicos 3 Cambio de monedas 4 Problema de la mochila 5 Problemas de planificación de tareas 6 Patrones

Más detalles

Modelos de transporte: Problema del vendedor viajero. M. En C. Eduardo Bustos Farías

Modelos de transporte: Problema del vendedor viajero. M. En C. Eduardo Bustos Farías Modelos de transporte: Problema del vendedor viajero M. En C. Eduardo Bustos Farías as Variantes al problema de transporte Oferta no igual a la demanda total: Se agrega una columna de holgura en la tabla

Más detalles

Algoritmos de Aproximación

Algoritmos de Aproximación Algoritmos de Aproximación M. Andrea Rodríguez-Tastets Ayudante: Erick Elejalde Universidad de Concepción,Chile www.inf.udec.cl\ andrea andrea@udec.cl I Semestre - 2014 Introducción La mayoría de los algoritmos

Más detalles

Complejidad - Problemas NP-Completos. Algoritmos y Estructuras de Datos III

Complejidad - Problemas NP-Completos. Algoritmos y Estructuras de Datos III Complejidad - Problemas NP-Completos Algoritmos y Estructuras de Datos III Teoría de Complejidad Un algoritmo eficiente es un algoritmo de complejidad polinomial. Un problema está bien resuelto si se conocen

Más detalles

Algoritmos voraces (greedy)

Algoritmos voraces (greedy) Dr. Eduardo A. RODRÍGUEZ TELLO CINVESTAV-Tamaulipas 21 de marzo de 2018 Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Algoritmos voraces 21 de marzo de 2018 1 / 45 1 Algoritmos voraces (greedy) Aplicaciones de

Más detalles

Algoritmo de Fleury. por. Ramón Espinosa Armenta

Algoritmo de Fleury. por. Ramón Espinosa Armenta Algoritmo de Fleury por Ramón Espinosa Armenta El siguiente algoritmo, debido a Fleury (191), permite construir un circuito Euleriano en un multigrafo Euleriano. Algoritmo Fleury (G) Entrada. Un multigrafo

Más detalles

ALGORÍTMICA

ALGORÍTMICA ALGORÍTMICA 2012-2013 Parte I. Introducción a las Metaheurísticas Tema 1. Metaheurísticas: Introducción y Clasificación Parte II. Métodos Basados en Trayectorias y Entornos Tema 2. Algoritmos de Búsqueda

Más detalles

Heurísticas y Metaheurísticas

Heurísticas y Metaheurísticas Heurísticas y Metaheurísticas Laboratorio de Algoritmos y Estructuras de Datos III 2 do Cuatrimestre de 2013 Laboratorio de Algo III DC - FCEyN - UBA 2 do Cuatrimestre de 2013 1 / 24 Menú del día 1 Problemas

Más detalles

Tablas de dispersión

Tablas de dispersión Estructuras de datos Tablas de dispersión Dra. Elisa Schaeffer elisa.schaeffer@gmail.com PISIS / FIME / UANL Tablas de dispersión y conjuntos p. 1 Tablas de dispersión dinámicas Una tabla de dispersión

Más detalles

Clases de complejidad

Clases de complejidad Análisis de Algoritmos Clases de complejidad Dra. Elisa Schaeffer elisa.schaeffer@gmail.com PISIS / FIME / UANL Clases de complejidad p. 1 Clase de complejidad Los requisitos para definir una clase: fijar

Más detalles

LAS CIENCIAS DE LA PLANIFICACIÓN

LAS CIENCIAS DE LA PLANIFICACIÓN LAS CIENCIAS DE LA PLANIFICACIÓN 5. EL PROBLEMA DEL VIAJANTE (PV) (The Traveling Salesman Problem TSP) Un problema como el de las vacaciones, pero vital para las empresas, es el problema del viajante (PV):

Más detalles

Algoritmos para determinar Caminos Mínimos en Grafos

Algoritmos para determinar Caminos Mínimos en Grafos Problemas de camino mínimo Algoritmos para determinar Caminos Mínimos en Grafos Algoritmos y Estructuras de Datos III DC, FCEN, UBA, C 202 Problemas de camino mínimo Dado un grafo orientado G = (V, E)

Más detalles

Coloreo de Grafos. Algoritmos y Estructuras de Datos III

Coloreo de Grafos. Algoritmos y Estructuras de Datos III Coloreo de Grafos Algoritmos y Estructuras de Datos III Coloreo de nodos Definiciones: Un coloreo (válido) de los nodos de un grafo G = (V, X ) es una asignación f : V C, tal que f (v) f (u) (u, v) E.

Más detalles

Recorridos de Gráficas. comp-420

Recorridos de Gráficas. comp-420 Recorridos de Gráficas comp-420 Algoritmos de búsqueda en gráficas Una de las operaciones más frecuentes en una gráfica es la de visitar sus vértices uno por uno o en un orden deseado. Este procedimiento

Más detalles

Motivación: Problemas de optimización

Motivación: Problemas de optimización Motivación: Problemas de optimización Un tour π en un grafo G es una secuencia de arcos (a 1,a 2 ),..., (a k 1,a k ), (a k,a 1 ) en G tal que: a i a j para cada i j, {a 1,...,a k } es el conjunto de nodos

Más detalles

Modelos de Informática TeóricaCapítulo 4 - demostración de NP-completitud p.1/68

Modelos de Informática TeóricaCapítulo 4 - demostración de NP-completitud p.1/68 Modelos de Informática Teórica Capítulo 4 - demostración de NP-completitud Serafín Moral Callejón Departamento de Ciencias de la Computación Universidad de Granada Modelos de Informática TeóricaCapítulo

Más detalles

A5 Introducción a la optimización en redes

A5 Introducción a la optimización en redes 48 Materials David Pujolar Morales A5 Introducción a la optimización en redes Definición 1. Grafo finito. Sea un V un conjunto no vacío con un número finito de elementos y E una familia finita de pares

Más detalles

Algorítmica y Lenguajes de Programación. Complejidad computacional

Algorítmica y Lenguajes de Programación. Complejidad computacional Algorítmica y Lenguajes de Programación Complejidad computacional Complejidad computacional. Introducción La complejidad computacional estudia la dificultad inherente de problemas de importancia teórica

Más detalles

Clasificación de Sistemas. Clasificación de Sistemas. Clasificación de Sistemas. Clasificación de Sistemas

Clasificación de Sistemas. Clasificación de Sistemas. Clasificación de Sistemas. Clasificación de Sistemas Clasificación de Sistemas Clasificación de Sistemas Simples, complicados o complejos Deterministas o probabilistas Centralizados o distribuidos Reactivos o proactivos Rígidos o adaptativos Simples, complicados

Más detalles

Máquinas de Turing no-determinísticas (MTND)

Máquinas de Turing no-determinísticas (MTND) Máquinas de Turing no-determinísticas (MTND) Una MTND tiene los mismos componentes que vimos para una MTD, con la siguiente excepción. Un programa en una MTND es una tabla que mapea un par (q i, t i )

Más detalles

Algoritmos de Aproximación

Algoritmos de Aproximación Algoritmos de Aproximación Es bueno estar cerca? Complexity 1 Motivación Hemos visto muchos problemas NP-Completos Se conjetura que no hay algoritmos polinómicos para ninguno de ellos Complexity 2 Motivación

Más detalles

Uso de grafos para localizar el sanitario más cercano desde un punto de FIME mediante el Algoritmo de Dijkstra

Uso de grafos para localizar el sanitario más cercano desde un punto de FIME mediante el Algoritmo de Dijkstra Uso de grafos para localizar el sanitario más cercano desde un punto de FIME mediante el Algoritmo de Dijkstra Un grafo es un grupo de vértices (nodos) que está unido por un conjunto de líneas (aristas).

Más detalles

Optimización en redes sensoras

Optimización en redes sensoras Optimización en redes sensoras Conceptos y fundamentos Dra. Elisa Schaeffer FIME/CIIDIT UANL Con qué les quito el tiempo hoy Sensores, nodos y redes Teoría de grafos Modelado matemático Programación lineal

Más detalles

TEMA IV TEORÍA DE GRAFOS

TEMA IV TEORÍA DE GRAFOS TEMA IV TEORÍA DE GRAFOS Poli Abascal Fuentes TEMA IV Teoría de grafos p. 1/? TEMA IV 4. TEORÍA DE GRAFOS 4.1 GRAFOS 4.1.1 Introducción 4.1.2 Definiciones básicas 4.1.3 Caminos y recorridos 4.1.4 Subgrafos,

Más detalles

3.1 Descripción del problema del Agente Viajero (PAV).

3.1 Descripción del problema del Agente Viajero (PAV). CAPÍTULO 3 Problema del Agente Viajero. Optimización es uno de los temas con mayor debate dentro del área de cómputo. En este campo, el Problema del Agente Viajero (PAV) es uno de los problemas de optimización

Más detalles

MATROIDES Y EL ALGORITMO VORAZ

MATROIDES Y EL ALGORITMO VORAZ MATROIDES Y EL ALGORITMO VORAZ Natalia Castro - 19 de octubre de 2016 Algoritmos de Aproximación IMERL - Facultad de Ingeniería - UdelaR Edmonds loco-problem Edmonds se enfoca en algoritmos better than

Más detalles

IN34A - Optimización

IN34A - Optimización IN34A - Optimización Complejidad Leonardo López H. lelopez@ing.uchile.cl Primavera 2008 1 / 33 Contenidos Problemas y Procedimientos de solución Problemas de optimización v/s problemas de decisión Métodos,

Más detalles

1. Inducción Inducción básica. Universidad de la República Cálculo 1 Facultad de Ingeniería - IMERL Primer semestre 2017

1. Inducción Inducción básica. Universidad de la República Cálculo 1 Facultad de Ingeniería - IMERL Primer semestre 2017 Universidad de la República Cálculo 1 Facultad de Ingeniería - IMERL Primer semestre 017 Práctico 1 - Inducción y Número Real 1. Inducción 1.1. Inducción básica 1. Demostrar las siguientes afirmaciones

Más detalles

INGENIERÍA DE SISTEMAS INVESTIGACIÓN OPERATIVA

INGENIERÍA DE SISTEMAS INVESTIGACIÓN OPERATIVA INGENIERÍA DE SISTEMAS INVESTIGACIÓN OPERATIVA Sesión 4 Objetivos: Aplicar el método simplex a la solución de problemas reales. Contenido: Introducción al método Simplex Requerimiento del método Simplex

Más detalles

Algoritmos Heurísticos en Optimización Combinatoria

Algoritmos Heurísticos en Optimización Combinatoria Algoritmos Heurísticos en Optimización Combinatoria Rafael Martí Departamento de Estadística e Investigación Operativa Universitat de València Algoritmos Heurísticos Introducción Problemas Combinatorios

Más detalles

Grafos. Amalia Duch Brown Octubre de 2007

Grafos. Amalia Duch Brown Octubre de 2007 Grafos Amalia Duch Brown Octubre de 2007 Índice 1. Definiciones Básicas Intuitivamente un grafo es un conjunto de vértices unidos por un conjunto de líneas o flechas dependiendo de si el grafo es dirigido

Más detalles

Tema 4y 5. Algoritmos voraces. Algoritmos sobre grafos

Tema 4y 5. Algoritmos voraces. Algoritmos sobre grafos Tema 4y 5. Algoritmos voraces. Algoritmos sobre grafos Objetivos: Estudio de la técnica de diseño de algoritmos voraces Estudio de algunos problemas clásicos: Indice: Mochila con fraccionamiento Algoritmos

Más detalles

Algoritmos de búsqueda exhaustiva

Algoritmos de búsqueda exhaustiva Dr. Eduardo A. RODRÍGUEZ TELLO CINVESTAV-Tamaulipas 31 de enero de 2018 Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Algoritmos de búsqueda exhaustiva 31 de enero de 2018 1 / 22 1 Algoritmos de búsqueda exhaustiva

Más detalles

Teoría de Grafos. Herramientas de programación para procesamiento de señales

Teoría de Grafos. Herramientas de programación para procesamiento de señales Teoría de Grafos Herramientas de programación para procesamiento de señales Indice Nociones básicas: Definiciones Ejemplos Propiedades Nociones avanzadas: Grafos planares Árboles Representación en computadora

Más detalles

Investigación de Operaciones en Acción: Heurísticas para la Solución del TSP

Investigación de Operaciones en Acción: Heurísticas para la Solución del TSP Investigación de Operaciones en Acción: Heurísticas para la Solución del TSP Roger Z. Ríos Mercado Programa de Posgrado en Ingeniería de Sistemas Universidad Autónoma de Nuevo León José Luis González Velarde

Más detalles

El TAD Grafo. El TAD Grafo

El TAD Grafo. El TAD Grafo ! Esta representación resulta útil cuando el número de vértices se conoce previamente y permanecerá fijo durante la resolución del problema, pero resulta ineficiente si necesitamos añadir o eliminar vértices

Más detalles

Unidad 2: Problemas de camino mínimo

Unidad 2: Problemas de camino mínimo Representación Recorrido de grafos Camino mínimo Unidad 2: Problemas de camino mínimo Representación Matriz de adyacencia Matriz de incidencia Listas de vecinos Recorrido de grafos Estructuras de datos

Más detalles

Curso: Métodos de Monte Carlo Unidad 3, Sesión 7: Problemas de conteo

Curso: Métodos de Monte Carlo Unidad 3, Sesión 7: Problemas de conteo Curso: Métodos de Monte Carlo Unidad 3, Sesión 7: Problemas de conteo Departamento de Investigación Operativa Instituto de Computación, Facultad de Ingeniería Universidad de la República, Montevideo, Uruguay

Más detalles

Problemas de decisión y su complejidad computacional

Problemas de decisión y su complejidad computacional Problema de decisión Problemas de decisión y su complejidad computacional! Los problemas que tienen dos respuestas posibles! Sí o no! Verdad o falso! Posible o imposible Instancia! Existe o no existe!

Más detalles

Tema 1. Heurísticos en Optimización Combinatorial

Tema 1. Heurísticos en Optimización Combinatorial Tema 1. Heurísticos en Optimización Combinatorial p. 1/2 Tema 1. Heurísticos en Optimización Combinatorial Abdelmalik Moujahid, Iñaki Inza y Pedro Larrañaga Departamento de Ciencias de la Computación e

Más detalles

Introducción a la Teoría de Grafos

Introducción a la Teoría de Grafos Introducción a la Teoría de Grafos Flavia Bonomo fbonomo@dc.uba.ar do. Cuatrimestre 009 Programa Introducción a la teoría de grafos Problemas de camino mínimo Problemas de flujo máximo Clases de complejidad

Más detalles

Introducción a la Teoría de Grafos

Introducción a la Teoría de Grafos Introducción a la Teoría de Grafos Flavia Bonomo fbonomo@dc.uba.ar do. Cuatrimestre 009 Programa Introducción a la teoría de grafos Problemas de camino mínimo Problemas de flujo máximo Clases de complejidad

Más detalles

Análisis de algoritmos

Análisis de algoritmos Tema 13: Completitud NP M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom 1 Contenido Introducción P y NP La clase P (Polinómicamente acotado)

Más detalles

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

Universidad Nacional Autónoma de Nicaragua UNAN-Managua. Curso de Investigación de Operaciones Universidad Nacional Autónoma de Nicaragua UNAN-Managua Curso de Investigación de Operaciones Profesor: MSc. Julio Rito Vargas Avilés. Estudiantes: FAREM-Carazo Unidad II Modelos de Programación Lineal

Más detalles

1. Caminos Mínimos en un Grafo sin Pesos 2. Caminos Mínmos en un Grafo ponderado. 1. Algoritmo de Dijkstra

1. Caminos Mínimos en un Grafo sin Pesos 2. Caminos Mínmos en un Grafo ponderado. 1. Algoritmo de Dijkstra Tema - Soluciones Greedy para Problemas de Optimización sobre un Grafo Tema - Soluciones Greedy para Problemas de Optimización sobre un Grafo Germán Moltó Escuela Técnica Superior de Ingeniería Informática

Más detalles

EL PROBLEMA DE TRANSPORTE

EL PROBLEMA DE TRANSPORTE 1 EL PROBLEMA DE TRANSPORTE La TÉCNICA DE TRANSPORTE se puede aplicar a todo problema físico compatible con el siguiente esquema: FUENTES DESTINOS TRANSPORTE DE UNIDADES Donde transporte de unidades puede

Más detalles

Complejidad Computacional

Complejidad Computacional Análisis y Complejidad de Algoritmos Complejidad Computacional Arturo Díaz Pérez Lenguajes formales Gramáticas formales Jerarquía de Chomski Teoría de la complejidad Una desigualdad computacional Computabilidad

Más detalles