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

Documentos relacionados
OPTIMIZACIÓN Y SIMULACIÓN PARA LA EMPRESA. Tema 4 Optimización no Lineal

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

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS. Conceptos, algoritmo y aplicación al problema de las N reinas

METAHEURISTICAS Ideas, Mitos, Soluciones

Complejidad computacional (Análisis de Algoritmos)

Breve introducción a la Investigación de Operaciones

Optimización. Búsqueda en una Dimensión ITESM. Búsqueda en una Dimensión Profr. E. Uresti - p. 1/19. Dr. E Uresti

SOLUCIÓN NUMÉRICA DE ECUACIONES ALGEBRAICAS Y TRASCENDENTES

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

Clase 9 Programación No Lineal

RESOLUCIÓN DE MODELOS DE PROGRAMACIÓN ENTERA MÉTODOS DE CORTE CORTES DE GOMORY

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

MODELOS DE INVESTIGACION DE OPERACIONES

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

Introducción a la Programación Dinámica. El Problema de la Mochila

El método simplex 1. 1 Forma estándar y cambios en el modelo. 2 Definiciones. 3 Puntos extremos y soluciones factibles básicas. 4 El método simplex.

Contenido: Solución algebraica a los problemas de programación lineal con el método simplex.

Programación NO Lineal (PNL) Optimización sin restricciones

Técnicas de Clasificación Supervisada DRA. LETICIA FLORES PULIDO

PROGRAMACIÓN LINEAL ENTERA

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

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

Aprendizaje: Boosting y Adaboost

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

Estado 3.2 (coste = 9)

PASO 1: Poner el problema en forma estandar.

CAPITULO III. Determinación de Rutas de Entregas

I. Complejidad de Problemas

Tema 15: Combinación de clasificadores

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.

2.3 Clasificación de modelos matemáticos.

ALGORÍTMICA

ELEMENTOS DE LA CARTERA EN BASE A INSTRUMENTOS INTERNACIONALES. Herrera Flores David Eduardo Delgadillo Hernández Stefani

Desarrollo de las condiciones de optimalidad y factibilidad. El problema lineal general se puede plantear como sigue:

Desarrollando un producto nuevo

Universidad de Santiago de Chile Facultad de Ciencia Departamento de Matemática y Ciencias de la Computación

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

Sistemas de ecuaciones no lineales

DISEÑO DE REDES EN LA CADENA DE SUMINISTRO

Matemáticas II. Carrera: IFM Participantes. Representantes de la academia de sistemas y computación de los Institutos Tecnológicos.

Algebra lineal y conjuntos convexos

OPTIMIZACIÓN VECTORIAL

Pasos en el Método Simplex

UNIDAD 12: ESTADISTICA. OBJETIVOS

Algoritmos basados en hormigas

Máximos y mínimos. Mínimo global Máximo global máximo relativo mínimo relativo

DISEÑO DE METAHEURÍSTICOS HÍBRIDOS PARA PROBLEMAS DE RUTAS CON FLOTA HETEROGÉNEA (2 Parte) : GRASP Y CONCENTRACIÓN HEURÍSTICA

Universidad de Valladolid. Departamento de informática. Campus de Segovia. Estructura de datos Tema 4: Ordenación. Prof. Montserrat Serrano Montero

Complejidad de los Algoritmos

(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 *?

PROBLEMA 1. Considere el siguiente problema de programación lineal:

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

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

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

Algoritmos glotones. mat-151

Micro y Macroeconomía

Ejercicios para el Examen departamental

El Proceso. Capítulo 2 Roger Pressman, 5 a Edición. El Proceso de Desarrollo de Software

3.º ESO. Matemáticas orientadas a las enseñanzas aplicadas

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]

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

PROGRAMACION CUADRATICA

Especificación y uso de módulos en C++(II)

Trabajo Práctico Optativo

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

El Método Simplex. H. R. Alvarez A., Ph. D. 1

Lo que se hace entonces es introducir variables artificiales ADAPTACIÓN A OTRAS FORMAS DEL MODELO.

INSTITUTO POLITÉCNICO NACIONAL SECRETARÍA ACADÉMICA DIRECCIÓN DE ESTUDIOS PROFESIONALES EN INGENIERÍA Y CIENCIAS FÍSICO MATEMÁTICAS

PERFIL DE EGRESO INSTITUCIONAL

Programación Lineal. El método simplex

INSTITUTO POLITÉCNICO NACIONAL SECRETARÍA ACADÉMICA DIRECCIÓN DE ESTUDIOS PROFESIONALES EN INGENIERÍA Y CIENCIAS FÍSICO MATEMÁTICAS

PROGRAMACIÓN NO LINEAL INTRODUCCIÓN

Derivadas Parciales (parte 2)

Instituto tecnológico de Minatitlán. Investigación de operaciones Ing. Erika Lissette Minaya mortera Unidad 3: programación no lineal

Z Optima X 1 + X 2 5 Z 1 -X 1 + 2X Región factible. Figura 1

Programación Lineal. El modelo Matemático

DIRECCIÓN DE PLANIFICACIÓN, PRESUPUESTO Y FINANCIAMIENTO

Universidad del Rosario Economía Matemática II Taller 8 - Kuhn Tucker

CI-6675 Algoritmos y Estructuras Optimizadas para Videojuegos

MÉTODO DEL DUAL (TEORIA DE DUALIDAD)

Introducción a la programación lineal

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

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

Programación entera: Ejemplos, resolución gráfica, relajaciones lineales. Investigación Operativa, Grado en Estadística y Empresa, 2011/12

INTRODUCCION 1.1.-PREAMBULO

EL PROBLEMA GENERAL DE OPTIMIZACION

Materias Titulación Materia Carácter Grado de Finanzas y Contabilidad 23 - Optatividad de 4º curso Optativa

May 4, 2012 CAPÍTULO 5: OPTIMIZACIÓN

POST-OPTIMIZACIÓN Y SENSIBILIDAD EN PROBLEMAS LINEALES.

MilkoScan Minor La producción láctea rentable en sus manos. Dedicated Analytical Solutions

Firsap Sistemas S.L. Parque Científico y Tecnológico de Extremadura. Avda de Elvas s/n Badajoz Telf:

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE ESTUDIOS SUPERIORES ACATLÁN LICENCIATURA EN MATEMÁTICAS APLICADAS Y COMPUTACIÓN

PLE: Ramificación y Acotamiento

Tema 5: Análisis de Sensibilidad y Paramétrico

Universidad Tec Milenio: Profesional HG04002 Análisis de Decisiones I

Análisis y síntesis de sistemas digitales combinacionales

1. Introducción 2. Esquema básico 3. Codificación 4. Evaluación 5. Selección 6. Operadores 7. Ejemplo. Algoritmos genéticos

Aplicación del modelo de frontera estocástica de producción para analizar la eficiencia técnica de la industria eléctrica en México

Inteligencia Artificial

Sistemas de Ecuaciones. Lineales I

Transcripción:

CAPÍTULO 3 GRASP (Greedy Randomized Adaptive Search Procedures). Los problemas de optimización surgen de las situaciones de aplicación práctica. Estos problemas se aplican en distintas áreas, tales como: telecomunicación, logística, finanzas, transportación y producción. Aunque desde el punto de vista teórico es posible enumerar todas las posibles soluciones y evaluar cada una de ellas con respecto al valor de la función objetivo, en la práctica es imposible analizar y evaluar todas las posibles soluciones ya que el número de combinaciones crece exponencialmente con el tamaño del problema. También pueden existir restricciones de tiempo para el proceso de toma de decisiones (ver [9], [10], [11]). En las últimas décadas se han realizado grandes esfuerzos para desarrollar métodos que no requieran enumerar explícitamente todas las soluciones. Sin embargo, para un gran número de aplicaciones, los métodos exactos continúan siendo de poca utilidad, debido al esfuerzo enumerativo requerido. Desde un punto de vista práctico, en esas situaciones es deseable contar con métodos de solución que puedan proporcionar soluciones de calidad con un esfuerzo computacional razonable. La calidad de las soluciones se puede probar utilizando cotas para el valor de la solución óptima. Este hecho ha motivado el desarrollo de métodos de aproximación en donde el objetivo es buscar soluciones de calidad en un tiempo razonable [9]. 3.1 Métodos Heurísticos. En los últimos años ha habido un crecimiento en el desarrollo de procedimientos heurísticos para resolver problemas de optimización combinatoria. El auge que

experimentan los procedimientos heurísticos se debe a la necesidad de disponer de herramientas que permitan ofrecer soluciones rápidas a problemas reales. Es importante destacar el hecho de que los algoritmos heurísticos no garantizan la optimalidad, aunque su propósito es encontrar una solución cercana al óptimo en un tiempo razonable. Un método heurístico se puede describir como un procedimiento que se basa en un conjunto de ideas intuitivas, que sin ser rigurosos, puedan ser utilizadas en la búsqueda de soluciones de calidad para un problema dado. La forma más simple de los métodos heurísticos son la búsqueda local y los procedimientos voraces. El objetivo de la búsqueda local es mejorar una solución factible inicial para un problema, mientras que un procedimiento voraz es un método constructivo que permite obtener una solución factible para un problema dado. La búsqueda por mejores métodos de aproximación, combinado con el desarrollo en la tecnología de la computación, ha dado origen la que se conoce como métodos meta heurísticos [9], [12]. 3.1.1 Búsqueda Local. La Búsqueda Local es una técnica utilizada para mejorar una solución inicial para un problema de optimización. Es un proceso iterativo que consiste en lo siguiente. En cada iteración se busca una solución vecina de la solución actual que mejore el valor de la función objetivo. Para cada solución x X se define una estructura de vecindad N( x) X tal que cada solución x N( x) puede ser alcanzada a partir de x mediante una operación simple denominada movimiento. El proceso iterativo se repite hasta que ya no

se puede encontrar una solución vecina que mejore el valor de la función objetivo de la solución actual. [9]. En la figura 3.1 se muestra, en su forma más general, un algoritmo de búsqueda local. Algoritmo de búsqueda local. Sea f(x) la función a minimizar, x una solución factible y N(x) una estructura de vecindad. CriterioParada falso mientras (no se satisfaga CriterioParada) hacer x = arg min { f ( y) : y N( x) } si ( f ( x ) < f ( x)) entonces x x En otro caso CriterioParada cierto fin sí fin mientras Figura 3.1 3.1.2 Algoritmo Voraz.

También es un procedimiento iterativo que empieza con una solución vacía. En cada iteración se añade un elemento a la solución, y el procedimiento termina cuando se obtiene una solución factible. Para la selección de los candidatos se utiliza una función voraz que mide el beneficio de añadir el elemento a la solución. En la figura 3.2 se muestra, en su forma más general, un algoritmo voraz. Algoritmo voraz. Sean S una solución parcial, E el conjunto factible de elementos que pueden ser añadidos a la solución parcial, e i los elementos del conjunto E y g una función voraz. S mientras (S no factible ) hacer Evaluar la función voraz g para cada elemento de E Seleccionar el mejor elemento e E de acuerdo con el valor de la función voraz g (i.e. e = arg min { g(e i ) i = 1,... E }) S S {e} Actualizar E fin mientras Figura 3.2 3.1.3 GRASP.

La palabra GRASP proviene de las siglas de Greedy Randomized Adaptive Search Procedures que se puede traducir como: Procedimientos de Búsqueda Voraces Aleatorizados y Adaptativos (ver figura 3.3). El método GRASP se introduce inicialmente por Feo y Resende en [12]. Es un procedimiento iterativo que consiste en: una fase de construcción (ver figura 3.4) y una fase de búsqueda local. Se obtiene una solución factible durante la fase de construcción aplicando un procedimiento voraz. En cada iteración del procedimiento voraz se agrega un nuevo elemento a la solución de acuerdo al valor de una función voraz. En lugar de escoger siempre el mejor elemento candidato (i.e. e E tal que e = argmin {g(e i ) para i=1..., E }), se construye una lista con los mejores candidatos, de donde se selecciona uno aleatoriamente. El término adaptativo se refiere al hecho de que los beneficios asociados con cada elemento son actualizados en cada iteración de la fase de construcción para reflejar los cambios producidos por selecciones previas. Una vez que se construye una solución utilizando un procedimiento voraz, se realiza un procedimiento de búsqueda local. Algoritmo GRASP.

mientras ( el criterio no satisfecho) hacer Construye una solución inicial usando el procedimiento voraz Realiza una búsqueda local para mejorar la solución construida. fin mientras. Figura 3.3 Algoritmo de fase de construcción del GRASP. Sea f una función voraz, α es valor del parámetro para controlar la aleatoriedad del procedimiento, x una solución parcial, C el conjunto de elementos candidato y RCL la lista restringida de candidatos. x Inicializa el conjunto de candidatos C mientras ( x infactible) hacer a = min { f ( t) t C } b = max { f ( t) t C } { c C f ( c) a + ( b a) } RCL = α Seleccionar aleatoriamente un elemento c RCL x x {} c Actualizar C fin mientras. Figura 3.4