A GRASP for graph planarization. Resende, Ribeiro. 1996. Meta heurísticas Agustín Pecorari.

Slides:



Advertisements
Presentaciones similares
Tania Guzmán García Luis González Varela Alexandre González Rivas
Advertisements

Diseño y análisis de algoritmos
GRAFOS: ALGORITMOS FUNDAMENTALES
Sesión 3: Teoría de Grafos
Grupo 4 Matías Melgar Pablo Carbonell
OPTIMIZACIÓN EN REDES EN ALGUNOS PROBLEMAS DE OPTIMIZACIÓN PUEDE SER ÚTIL REPRESENTAR EL PROBLEMA A TRAVÉS DE UNA GRÁFICA: ruteo de vehículos, distribución.
MATEMÁTICAS DISCRETAS.
José Enrique Gonzalez Roberto Clavell
Búsqueda Informada Heurísticas.
Método de Ford-Fulkerson
Grafos dualmente cordales y sus relaciones con otros tipos de grafos
Solución de problemas por búsqueda inteligente

V.Álvarez M.D. Frau J.R. Narro P. Reyes Matemática Discreta Tema 5: Coloración 1/24 Capítulo 5: Coloración Introducción. Coloración de vértices. Coloración.
Métodos de Mejoría o de Busca Local Gladys Maquera I COPIOS Lima, 03 al 05 de noviembre de 2009.
Teoría de Grafos.
Complejidad Problemas NP-Completos
 La resolución de problemas algorítmicos no solamente implica que los informáticos sepan programar sino necesitan de otras habilidades como tener una.
AED I. Estructuras de Datos.
GRAFOS HUGO ARAYA CARRASCO.
Teoría de Grafos.
Programación entera y grafos
Matemáticas para Ciencias de la Computación MCC3182
PROGRAMACIÓN PARALELA EN ALGORITMOS SOBRE GRAFOS
Ejemplos de Grafos: Red de tráfico con caminos y cruces.
Grafos. Un Grafo G es un par de conjuntos (V, E), donde V es un conjunto no vacío de elementos llamados vértices o nodos y E es un conjunto formado por.
Ciudad de Könisberg, Prusia, en XVIII:
Asignación de Registros
Teoria de grafos.-clase 4
Coloración de Grafos Planos
Trabajo presentado por: LUIS FERNANDO OBANDO ING
Capítulo 4 BUSQUEDA INFORMADA.
Universidad de los Andes-CODENSA
Optimización, Búsqueda Heurística
Problemas de Decisión y Optimización
Matemáticas Discretas
Diseño y análisis de algoritmos

Complejidad de los problemas de decisión
Parte II. Algorítmica. 3. Algoritmos voraces.
Grafos planos Jose hungria.
Teoría de Grafos.-Clase 2
Algoritmos y Estructuras de Datos III (segunda parte) 1er cuatrimestre 2010 Min Chih Lin Irene Loiseau.
Algoritmos de Búsqueda Simulated Annealing Es un algoritmo de Hill­Climmbing estocástico. Inspirado en el proceso físico (Termodinámica) de enfriamiento.
Diseño y análisis de algoritmos
1 Algoritmos Avaros (Greedy Algorithms) Agustín J. González ELO-320: Estructura de Datos y Algoritmos.
APLICACIONES.
Agustín J. González ELO320: Estructura de Datos y Algoritmos
Capítulo 7 Estimación de Parámetros Estadística Computacional
Matemáticas Discretas
EQUIPO #7 Aplicaciones de Grafos Erick Ramiro Adrián.
METAHEURISTICAS Ideas, Mitos, Soluciones
3- PROGRAMACION LINEAL PARAMETRICA
Coloración de grafos Teoría de Grafos
Sesión 3: Teoría de Grafos
Minimum Spanning Tree (Árbol de Expansión Mínima)
Tema 10: Algoritmos voraces
1 Flujo Máximo Agustín J. González ELO320: Estructura de Datos y Algoritmos.
Agustín J. González ELO320: Estructura de Datos y Algoritmos
Minimum Spanning Tree (Árbol de Expansión Mínima)
Búsqueda en Vecindades Variables (Variable Neighborhood Search - VNS)
Cecilia Laborde González
Estructura de Datos 4 Grafos Dirigidos
Instituto Tecnológico De Villahermosa Alumno: Lázaro García Hernández.
GRAFOS.
Método Simplex Es un procedimiento sistemático y eficiente para encontrar y probar soluciones situadas en los puntos extremos de la región de soluciones.
Matemáticas Discretas MISTI
Recorridos de grafos Segunda Parte M.C. Meliza Contreras González.
La clase P juega un papel importante en la teoría de la complejidad computacional debido a que: 1. P es invariante para todos los modelos de cómputo que.
Non-guillotine 2D bin packing problem Eduardo Pérez Mederos Miguel Monterrey Varela Jaime González Valdés Óscar Mateos López.
Transcripción de la presentación:

A GRASP for graph planarization. Resende, Ribeiro Meta heurísticas Agustín Pecorari

Descripción del problema Un grafo se dice plano si se lo puede dibujar en un plano de forma que no se crucen las aristas. K 3,3 y K 5 no son planos. Problema de optimización: encontrar el subgrafo plano máximo. NP-Hard. Se utiliza para resolver problemas de layout de circuitos, maquinaría entre otros problemas.

Algoritmos disponibles Jayakumar et al. Dos algoritmos de O(|V| 2 ). 1.Construye un subgrafo plano de expansión. Tomando de a un nodo, el que agrega la cantidad máxima de aristas que no conducen a un grafo no plano. 2.Empieza desde subgrafo plano de expansión biconectado y construye el subgrafo plano maximal contenido en él. Cai, Han y Tarjan. Algoritmo de O(|E|.log|V|). Di Battista y Tamassia. Algoritmo de O(|E|.log|V|).

Algoritmos disponibles Cimikowski, heurística. Para cada componente biconectado de un grafo no plano, encuentra árboles de expansión aristas-disjuntos cuya unión sea plana. Bajo ciertas condiciones llega a por lo menos 2/3 del óptimo. Jünger y Mutzel. Exact branch-and-cut. Desigualdades que definen facetas. Takefuji y Lee. Redes neuronales. Parten de un secuenciamiento arbitrario de los nodos y determinan dos conjuntos de aristas que pueden ser representadas sin que se crucen respectivamente por encima o debajo de la línea central. Mejorado por Goldschmidt y Takvorian.

Heurística de dos fases Goldschmidt y Takvorian Fase 1. –Determinar secuencia ∏ de los vértices. π(a)=1 π(b)=2 π(c)=3 π(d)=4 –Supongamos e 1 =(a,b) y e 2 =(c,d). Por ejemplo: –Se dice que e 1 y e 2 están cruzados si: π(a) < π(c) < π(b) < π(d) π(c) < π(a) < π(d) < π(b)

Heurística de dos fases. Cont. Goldschmidt y Takvorian Fase 2. –Particionar el conjunto E en B, R y P. –| B + R | sea grande (máximo posible). –De manera tal que ningún par de aristas se “cruce”, estando las dos en B o las dos en R. Goldschmidt y Takvorian muestran que si ∏ corresponde a un ciclo Hamiltoniano en un subgrafo H de G o en algún edge-augmentation plano de H => el subgrafo plano que produce contiene por lo menos ¾ de la cantidad de aristas que el máximo subgrafo plano.

Heurística de dos fases. Cont. Goldschmidt y Takvorian El algoritmo intenta utilizar ordenes ∏ relacionados a ciclos Hamiltonianos. Estos ciclos se buscan con un procedimiento aleatorio. O un algoritmo greedy determinístico. –El primer vértice es el de grado mínimo. –El vértice v k+1 es elegido entre los adyacentes a v k. Se toma el que tenga grado mínimo en el grafo G k inducido por V \{v 1...v k }. –Si no hubiese ningún vértice adyacente a v k, entonces se elije el de grado mínimo en G k.

Heurística de dos fases. Cont. Goldschmidt y Takvorian Sea H=(E, I): –Los vértices corresponden a aristas de G. –e 1 y e 2 de H están conectados si las correspondientes aristas de G están cruzadas respecto de ∏. H se llama Overlap graph si: –Sus vértices pueden tener una correspondencia biunívoca con una familia de intervalos en una línea. –Dos intervalos se solapan si se cruzan y ninguno está contenido en el otro. –Dos vértices de H están conectados por una arista sii sus correspondientes intervalos se solapan.

Heurística de dos fases. Cont. Goldschmidt y Takvorian Ejemplo: G ∏H

Heurística de dos fases. Cont. Goldschmidt y Takvorian La segunda fase consiste en colorear con Rojo ( R ) o Azul ( B ) el máximo número de vértices de H, de forma tal que formen un conjunto independiente (estable). Equivale a buscar un subgrafo bipartido con la mayor cantidad de vértices. NP-hard. Usan algoritmo greedy para generar subgrafo maximal. Genera un conjunto independiente máximo B cE de H, reduce H sacando los vértices en B y las aristas incidentes a B.

Heurística de dos fases. Cont. Goldschmidt y Takvorian Ahora busca el conjunto independiente máximo R c E \ B. Este procedimiento es polinomial (no encuentra el óptimo necesariamente) O(|E| 3 ). GT no produce el óptimo y bajo simples def. de vecindad tampoco óptimos locales.

GRASP procedure GRASP(ListSize, MaxIter, RdmSeed) InputInstance(); do k=1,…..MaxIter  ConstructGreedyRandomizedSolution(ListSize, RdmSeed) LocalSearch(BestSolutionFound); UpdateSolution(BestSolutionFound); od; return BestSolutionFound end GRASP

GRASP. Generación secuencia ∏. procedure ConstructGreedyRandomSolution(α,seed,V,E, ∏) 1 d = min vЄV {deg G (v)}; đ = max vЄV {deg G (v)}; 2 RCL = {vЄV : d ≤ deg G (v) ≤ α (đ - d) +d}; 3 v 1 = random(seed, RCL); 4 V = V \ {v 1 }; G 1 = grafo inducido en G por V ; 5 do k=2,…,|V|  6 d = min vЄ V {deg Gk-1 (v)}; đ = max vЄ V {deg Gk-1 (v)}; 7 if ADJ Gk-1 (v k-1 ) ≠ Ø  8 RCL = {v Є ADJ Gk-1 (v k-1 ) : d ≤ deg Gk-1 (v) ≤ α (đ - d) +d}; 9 else 10 RCL = {v Є V : d ≤ deg Gk-1 (v) ≤ α (đ - d) +d}; 11 fi; 12 v k =random(seed, RCL); 13 V = V \ {v k }; G k = grafo inducido en G por V ; 14 od; 15 return ∏=(v 1,v 2,…,v |V| ) end ConstructGreedyRandomSolution

GRASP. Búsqueda Local procedure LocalSearch(V,E, ∏) 1 do ∏ no es óptima  2 encontrar ∏’ Є N (∏) tal que X (∏’) < X (∏); 3 ∏ = ∏’; 4 od 5 return ∏=(v 1,v 2,…,v |V| ) end LocalSearch Siendo X (∏) cantidad de pares de aristas cruzadas. Y N (∏) vecindad formada por todo ∏’ con 2 pos ≠.

GRASP procedure GRASPforGP(α,seed,MaxIter,V,E, ∏*, B *, R *) 1 do k=1,2,…,MaxIter  2 ConstructGreedyRandomSolution(α,seed,V,E, ∏) 3 LocalSearch(V,E, ∏) 4 SecondPhaseGT(V,E, ∏, B, R ) 5 UpdateSolution(∏, B, R, ∏*, B *, R *) 6 od; 7 return ∏*, B *, R * end GRASPforGP

procedure EnlargePlanar( B, R, P,V) 1 do p Є P  2 Bp = Ø; 3 do b Є B  4 if p y b se cruzan  5 B p = B p U {b}; 6 do r Є R  7 if r y b se cruzan  goto 12 fi; 8 od; 9 fi; 10 od; 11 ( B,R,P ) = ( B U {p} \ Bp, R U Bp, P \ {p}); 12 od; 13 return B,R end EnlargePlanar GRASP. Post-procesamiento.

Conclusiones Se probó un gran conjunto de problemas test standard y en la mayoría de ellos la nueva heurística iguala o mejora los resultados anteriores. En algunos casos encuentra soluciones óptimas antes desconocidas.