Marco Antonio Heredia Velasco

Documentos relacionados
Marco Antonio Heredia Velasco

CAPÍTULO 3. GRASP (Greedy Randomized Adaptive Search Procedures). Los problemas de optimización surgen de las situaciones de aplicación práctica.

Escuela de algoritmos de aproximación

Complejidad Computacional

IN34A - Optimización

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

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

Análisis de algoritmos

Escuela de algoritmos de aproximación

Algorítmica y Lenguajes de Programación. Algoritmos voraces y divide y vencerás

SCHEDULING PARA MINIMIZAR EL TIEMPO DE TERMINACION: ALGORITMOS DE APROXIMACION EN LINEA Y FUERA DE LINEA.

CAPÍTULO 4 METODOLOGÍA PROPUESTA

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]

Complejidad Computacional

5. ESTRUCTURAS DE REPETICIÓN

2. PLANIFICACIÓN OPERACIONAL DE LA CAPACIDAD CON RESTRICCIONES DE TIEMPO

Práctica 2. Algoritmos de búsqueda local (local search algorithms) y algoritmos avariciosos (greedy algorithms)

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

Planeación y Búsqueda. IA Planeación de Trayectorias y Métodos de Búsqueda

Planeación de Trayectorias y Métodos de Búsqueda. Dr. Jesús Antonio González Bernal

9. Programación lineal entera.

Inicio. Cálculos previos GRASP. Resultados. Fin. Figura 5.1: Diagrama de flujo del algoritmo.

Programación entera 1

UNIVERSIDAD CARLOS III DE MADRID Ingeniería Informática Examen de Investigación Operativa

Tema 5: Problemas de Optimización

a. Diseñe un algoritmo que maximice el número de contenedores cargados.

Métodos Constructivos. Empiezan desde una solución vacía (a veces pequeña)

ESTIMACIÓN DE TIEMPO Y COSTO DE PRODUCTOS SOFTWARE

Propiedad de Completez (Parte 2) (3) Si A es un subconjunto de un campo ordenado F y u F, se dice que u es un máximo de A si,

Algoritmos de Planos de Corte

UN CASO PRÁCTICO DE LA OPTIMIZACIÓN DE LA PRODUCCIÓN EN MÁQUINAS EN PARALELO CON TIEMPOS DE CAMBIO DEPENDIENTES

Algoritmo de asignación de visitas a puntos de venta a rutas y de optimización de las rutas resultantes

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

OPTIMIZACIÓN EN GRAFOS Y EL PROBLEMA P=NP

Programación lineal: Algoritmo del simplex

ALGORÍTMICA

MARITZA HERRERA FLOREZ YUDY MARCELA BOLAÑOS RIVERA

El método Ramifica y acota (Branch and Bound) (V)

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

El objetivo de esta sección es aproximar la integral definida de una función ƒ(x) en un intervalo [a, b] es

Programa de teoría. Algoritmos y Estructuras de Datos II. 3. Algoritmos voraces. 1. Análisis de algoritmos 2. Divide y vencerás

Heurísticas y Metaheurísticas

Dividir-conquistar y podar-buscar

Sistemas Inteligentes I Tema 3. Juegos José A. Montenegro Montes

En el siguiente capítulo se hablará del uso del método de generación de columnas para resolver el problema de corte ( cutting stock ).

Algoritmos voraces (greedy)

Análisis de Algoritmos Problemas de grafos

1. Defina el problema de particionamiento. Escriba un ejemplo de este tipo de problema, junto con su formulación general en AMPL.

Fiabilidad. Fiabilidad. María Isabel Hartillo Hermoso Granada, 25 de Mayo FQM-5849

PLANIFICACIÓN Y CONTROL DE LA PRODUCCIÓN II MODULO 3 PROGRAMACION DE TAREAS EN EL TALLER DE MANUFACTURA

Estratégias generales de análisis y diseño de algorítmos

Geometría de Señales Espacios de Hilbert y aproximaciones

UNIVERSIDAD CARLOS III DE MADRID Ingeniería Informática Examen de Investigación Operativa 12 de septiembre de 2007

PARTE II: ALGORÍTMICA

Algoritmos glotones. mat-151

Metaheurísticas. Seminario 3. Problemas de optimización con técnicas basadas en poblaciones

Algoritmos y Complejidad

El análisis de los problemas de localización es un área fértil de investigación

OCW-V.Muto Métodos de interpolación Cap. XI CAPITULO XI. METODOS DE INTERPOLACION 1. EL METODO DE INTERPOLACION DE LA POSICION FALSA

CO5411. Dantzig-Wolfe / Descomposición de Benders. Prof. Bernardo Feijoo. 06 de febrero de 2008

Capítulo 4 Método Algebraico

Teoría de grafos y optimización en redes

El problema del agente viajero

UNIVERSIDAD CARLOS III DE MADRID Ingeniería Informática Examen de Investigación Operativa 16 de febrero de 2007

Técnicas de Resolución

suma de los n>0 primeros números que se lean del teclado. El número n es un dato y es

Métodos iterativos para Optimización Combinatorial

Métodos de Optimización para la toma de decisiones

Complejidad computacional (Análisis de Algoritmos)

Ejercicio Greedy. Algoritmos y Estructuras de Datos III FCEN, UBA. 27 de Marzo de 2015

Algoritmos glotones 2 (código de Huffman) mat-151

Redondeo, Truncamiento, Método del Punto Fijo y MétodoBarranquilla, de bisección / 22

Análisis de algoritmos

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

4. MÉTODO EXACTO DE RESOLUCIÓN Y ALGORITMO TABÚ

1 Método de la bisección. 1.1 Teorema de Bolzano Teorema 1.1 (Bolzano) Contenido

Análisis y Diseño de Algoritmos

Lógica Proposicional: Deducciones formales

Infor LN Servicio - Guía del usuario para Consola de distribución de carga de trabajo

Clases de complejidad computacional: P y NP

SECUENCIACIÓN DE UNA LÍNEA DE PRODUCCIÓN CON MÁQUINAS EN PARALELO MEDIANTE PROGRAMACIÓN ENTERA MIXTA MULTI-OBJETIVO

Ejercicios - Resolución de problemas lineales. Método Simplex

Programación Entera. Nelson Devia C. IN Modelamiento y Optimización Departamento de Ingeniería Industrial Universidad de Chile

1. Cuáles de las siguientes afirmaciones acerca del algoritmo Q-learning son ciertas

2.REVISIÓN DE LA LITERATURA

Aproximaciones a problemas NP duros: Algoritmos heurísticos y aproximados

Heurística GRASP para la minimización del makespan en máquinas paralelas no relacionadas con tiempos de preparación dependientes de la secuencia

Tema 01: Fundamentos del Análisis Asintótico de Algoritmos

Algoritmos y problemas

CAPÍTULO 4 PROGRAMACIÓN LINEAL ENTERA

Máquinas de Turing IIC3242. IIC3242 Máquinas de Turing 1 / 45

PLANIFICACIÓN MINERA ESTRATÉGICA CON DEEPMINE JUAN IGNACIO GUZMÁN GERENTE GENERAL, GEM

Control 2 IN mayo 2009

4.1. Polinomios y teoría de ecuaciones

Tema 2, 3 y 4 GRUPO 82 - INGENIERÍA INFORMÁTICA. Bernardo D Auria. 3 Diciembre Departamento de Estadística. Universidad Carlos III de Madrid

Solución Primer Parcial Matemática

Transcripción:

Escuela de Algoritmos de Aproximación Algoritmos glotones y Búsqueda local Marco Antonio Heredia Velasco Universidad Autónoma Metropolitana Unidad Azcapotzalco

Estudiaremos Dos técnicas estandar para diseñar algoritmos y heurísticas: Algoritmos glotones. Algoritmos de búsqueda local. Ambos métodos toman una secuencia de decisiones, y en cada decisión se optimiza una elección local.

Algoritmo glotón (Greedy) Voraz, ávido, avaro, devorador... goloso. Cada parte de una solución se construye tomando una decisión, que al momento es la mejor posible.

Muestra

Búsqueda local (local search) Se parte de una solución factible. Verifica si una pequeña modificación a la solución, obtiene una solución mejor (que mejore la función objetivo).

Búsqueda local (local search)

Búsqueda local (local search)

Búsqueda local (local search)

Búsqueda local (local search)

Búsqueda local (local search)

Búsqueda local (local search)

Búsqueda local (local search)

Ambos métodos: Opciones populares para heurísticas de problemas NP-completos. Fáciles de implementar. Naturales: ya se usaban para aproximar antes del concepto de NP-completez. Buenos tiempos de procesamiento, pero...

Ambos pueden fallar 7 3 12 99 8 5 6

Ambos pueden fallar

Planeación de tareas en máquinas paralelas idénticas

Planeación en máquinas paralelas idénticas n tareas a ejecutar en m máquinas idénticas Cada tarea tiene un tiempo de procesamiento p j. Cuando una tarea se ha empezado se debe completar. La planificación empieza en el tiempo 0.

Planeación en máquinas paralelas idénticas Tiempo de finalización de la tarea j = F j. La meta es planificar todos los trabajos de manera que se minimice el máximo tiempo de finalización: minimiza F max = máx i=1...n F j

Algoritmo de búsqueda local - Empezar con cualquier planificación - Considera la tarea que termina al último: - Si reasignarla a otra máquina hace que se termine antes, entonces reasignala a aquella máquina que haga que se termine primero - Repite hasta que el trabajo que termine al último ya no pueda reasignarse.

Algoritmo de búsqueda local - Empezar con cualquier planificación - Considera la tarea que termina al último: - Si reasignarla a otra máquina hace que se termine antes, entonces reasignala a aquella máquina que haga que se termine primero - Repite hasta que el trabajo que termine al último ya no pueda reasignarse.

Algoritmo de búsqueda local - Empezar con cualquier planificación - Considera la tarea que termina al último: - Si reasignarla a otra máquina hace que se termine antes, entonces reasignala a aquella máquina que haga que se termine primero - Repite hasta que el trabajo que termine al último ya no pueda reasignarse.

Algoritmo de búsqueda local - Este algoritmo de búsqueda es una 2-aproximación. - Obtiene una solución válida. - Está a un factor 2 del óptimo. - Termina en tiempo polinomial.

s Factor 2 del óptimo i - Llamemos F al tiempo óptimo. - Cada tarea debe de procesarse, entonces F máx i=1...n p i - Hay una máquina que al menos se le asigna el promedio de la carga total: F i=1...n p i/m - Todas las demás máquinas deben estar ocupadas hasta que se ejecuta i en el tiempo s. (s = F i p i )

s Factor 2 del óptimo i - Se parte la planificación en 2 partes, antes de s y después de s. - Después F pues sabemos F máx i=1...n p i - Antes: - Todas las máquinas están ocupadas entonces el trabajo total = m s - m s i=1...n p i entonces s i=1...n p i/m F

s Factor 2 del óptimo i - Tiempo de esta planificación 2F.

Tiempo polinomial - El mínimo tiempo de finalización F min nunca decrementa. F min

Tiempo polinomial - El mínimo tiempo de finalización F min nunca decrementa. F min

Tiempo polinomial - Ninguna tarea es reasignada más de una vez. - Por contradicción F min F min - F min > F min, esto es una contradicción. El algoritmo termina en a lo más n iteraciones

K-centros

k-centros Conjunto V de n puntos en el plano y un entero positivo k.

k-centros Conjunto V de n puntos en el plano y un entero positivo k. k = 3

k-centros Conjunto V de n puntos en el plano y un entero positivo k. k = 3

k-centros Conjunto V de n puntos en el plano y un entero positivo k. Seleccionar k centros tal que se minimiza la máxima distancia de un punto a su centro más cercano. k = 3

k-centros Conjunto V de n puntos en el plano y un entero positivo k. Encontrar S V con S = k que: minimice máx i V d(i, S) donde d(i, S) := mín j S d(i, j). k = 3 i

Algoritmo Glotón - Toma i V y S = {i}. - Mientras S < k: - Encuentra el punto j lo más alejado posible de los puntos en S (el que maximice d(j, S)). - añádelo a S.

Algoritmo Glotón - Toma i V y S = {i}. - Mientras S < k: - Encuentra el punto j lo más alejado posible de los puntos en S (el que maximice d(j, S)). - añádelo a S.

Algoritmo Glotón - Toma i V y S = {i}. - Mientras S < k: - Encuentra el punto j lo más alejado posible de los puntos en S (el que maximice d(j, S)). - añádelo a S.

Algoritmo Glotón - Toma i V y S = {i}. - Mientras S < k: - Encuentra el punto j lo más alejado posible de los puntos en S (el que maximice d(j, S)). - añádelo a S.

Algoritmo Glotón - Este algoritmo glotón es una 2-aproximación. - Obtiene una solución válida. - Termina en tiempo polinomial. - Está a un factor 2 del óptimo.

factor 2 del óptimo Toma una solución óptima y su valor r.

factor 2 del óptimo Toma una solución óptima y su valor r. r

factor 2 del óptimo Toma una solución óptima y su valor r. Dónde están los centros del glotón? r

factor 2 del óptimo Toma una solución óptima y su valor r. Dónde están los centros del glotón? r 2r r r

factor 2 del óptimo Toma una solución óptima y su valor r. Dónde están los centros del glotón? r

factor 2 del óptimo Toma una solución óptima y su valor r. Dónde están los centros del glotón? 2r r r r 2r El último de estos rojos en ser escogido fue el más alejado de todos los demás centros.

Planeación de Tareas en sólo una máquina con tiempos de vencimiento

Planeación de tareas en una máquina con vencimientos 0 10 l 2 l 3 l 1 l 4 - n tareas - Cada tarea tiene un tiempo de procesamiento p j, fecha de liberación l j, fecha de vencimiento v j. - Cuando una tarea se ha empezado se debe completar. - La planificación empieza en el tiempo 0.

Planeación de tareas en una máquina con vencimientos 0 10 l 2 l 3 l 1 l 4 - Tiempo de finalización de la tarea j = F j. - El atraso de la tarea j es A j = F j v j - La meta es planificar todos los trabajos minimizando el máximo atraso: minimiza A max = máx i=1...n A j

Planeación de tareas en una máquina con vencimientos 0 10 l 2 = 3 l 3 = 4 l 1 = 5 l 4 = 7 A 1 = 0 A 2 = 3 A 3 = 4 A 4 = 5 - Tiempo de finalización de la tarea j = F j. - El atraso de la tarea j es A j = F j v j - La meta es planificar todos los trabajos minimizando el máximo atraso: minimiza A max = máx i=1...n A j

Planeación de tareas en una máquina con vencimientos - NP-duro decidir si todas las tareas se pueden completar en su fecha de vencimiento. - Problema: supón que el valor óptimo es 0 entonces - Una α aproximación debe encontrar una solución con valor a lo más α 0 = 0. - No existe dicho algoritmo a menos que P=NP. - Solución: Se asume que todos los tiempos de vencimiento son negativos, así el valor óptimo siempre es positivo.

Fecha de vencimiento más temprana 0 10 l 1 = 3 l 2 = 2 l 3 = 5 l 4 = 6

Fecha de vencimiento más temprana 0 10 l 1 = 3 l 2 = 2 l 3 = 5 l 4 = 6

Fecha de vencimiento más temprana 0 10 l 1 = 3 l 2 = 2 l 3 = 5 l 4 = 6

Fecha de vencimiento más temprana 0 10 l 1 = 3 l 2 = 2 l 3 = 5 l 4 = 6

Fecha de vencimiento más temprana 0 10 l 1 = 3 l 2 = 2 l 3 = 5 l 4 = 6 Algoritmo glotón

Fecha de vencimiento más temprana - Este algoritmo glotón es una 2-aproximación. - Obtiene una solución valida. - Termina en tiempo polinomial. - Está a un factor 2 del óptimo.

Cota inferior - Sea S un subconjunto de tareas. - l(s) = mín j S l j - p(s) = j S p j - v(s) = máx j S v j - Valor óptimo A - Proposición. Para cualquier subconjunto S de tareas: A l(s) + p(s) v(s).

Cota inferior - Proposición. Para cualquier subconjunto S de tareas: A l(s) + p(s) v(s). - Demostración. - Considera la planeación óptima y fíjate en S. - Ninguna tarea se puede procesar antes de l(s). - El tiempo de procesamiento necesarios es p(s). - La última tarea a ser procesada, no se puede completar antes de l(s) + p(s). - v i v(s) entonces el atraso de i es al menos l(s) + p(s) v(s). - A A i

0 Factor de aproximación j t S = {,, } - j: trabajo con máximo atraso (A máx = A j = F j v j ). - t: La última vez que estuvo desocupada la máquina antes de F j. - S: conjunto de trabajos en el intervalo [t, F j ] - Tenemos: l(s) = t y p(s) = F j t. F j = p(s) + t = p(s) + l(s).

0 Factor de aproximación j t S = {,, } - Usando la proposición: A l(s) + p(s) v(s) l(s) + p(s) = F j. A l j + p j v j v j. - A máx = F j v j 2A.