Introducción al problema

Slides:



Advertisements
Presentaciones similares
Introducción a la Investigación de Operaciones
Advertisements

Complejidad Computacional
Programación entera En muchos problemas reales las variables sólo pueden tomar valores enteros Ejemplos: decisiones sobre inversiones, compras, arranques,
Programación entera En muchos problemas reales las variables sólo pueden tomar valores enteros Ejemplos: decisiones sobre inversiones, compras, arranques,
4. ANÁLISIS FACTORIAL Introducción Modelo factorial ortogonal
Inteligencia Artificial
Diseño y análisis de algoritmos
Diseño y análisis de algoritmos
GRAFOS Presentado por: Oscar Leonardo Ramírez John Freddy Sandoval
Planificación de Monoprocesadores
DESCRIPCION DE SISTEMAS
PROGRAMACIÓN PARALELA Tema 5: Análisis de algoritmos paralelos
Resolución de Problemas
NUMERO DE CONTROL: NOMBRE DEL TRABAJO: MAPA CONCEPTUAL
Introducción a los Algoritmos
Grupo 4 Matías Melgar Pablo Carbonell
Instituto Tecnológico De Villahermosa
Programación Lineal Entera Antonio H. Escobar Z Universidad Tecnológica de Pereira – Colombia Posgrado en Ingeniería – Maestría/Doctorado.
La minimización de los costes
Investigación Algorítmica
KRIGING.
5.3 Funciones Especiales Ecuación de Bessel de orden v (1) donde v  0, y x = 0 es un punto singular regular de (1). Las soluciones de (1) se.
Sistemas de Ecuaciones Diferenciales Lineales
Método de Ford-Fulkerson
Inteligencia Artificial Búsqueda informada y exploración
METODO SIMPLEX El método Simplex es un procedimiento iterativo que permite ir mejorando la solución a cada paso. El proceso concluye cuando no es posible.
Investigación Operativa

SATISFACCION DE RESTRICCIONES Sección 1-3
Modelos de Programación Entera - Heurísticas
Complejidad Problemas NP-Completos
Programación Lineal Entera Antonio H. Escobar Z Universidad Tecnológica de Pereira – Colombia Posgrado en Ingeniería – Maestría/Doctorado.
1 Algoritmos Elementales de Grafos Agustín J. González ELO-320: Estructura de Datos Y Algoritmos 1er.Sem
Programación Matemática para distribución eficiente de censistas en censos nacionales: el Censo 2010 de la Provincia de Buenos Aires como caso de estudio.
Universidad de los Andes-CODENSA
Programación Lineal Entera
Trabajo presentado por: LUIS FERNANDO OBANDO ING
Optimización Combinatoria usando Algoritmos Evolucionistas Problemas de Optimización. Idea: Encontrar una solución "factible" y "óptima" de acuerdo a algún.
EL PODER DE SOLVER.
Optimización, Búsqueda Heurística
Problemas de Decisión y Optimización
Algoritmos.
Diseño y análisis de algoritmos
Programación Lineal Entera Antonio H. Escobar Z Universidad Tecnológica de Pereira – Colombia Posgrado en Ingeniería – Maestría/Doctorado.
TESINA DE LICENCIATURA EN INFORMÁTICA
Diseño y análisis de algoritmos
DEFINICIONES Sea (P) el siguiente problema de programación lineal:
Diseño y análisis de algoritmos
Parte II. Algorítmica. 3. Algoritmos voraces.
UNIVERSIDAD NACIONAL INTERCULTURAL DE LA AMAZONIA
Combinación de Clasificadores
MÉTODO DE PIXELES DE BORDE
Backtracking 1. Método general. 2. Análisis de tiempos de ejecución.
Agustín J. González ELO320: Estructura de Datos y Algoritmos
Parte II. Algorítmica. 4. Programación dinámica.
Experimentación Numérica
3- PROGRAMACION LINEAL PARAMETRICA
Parte I. Estructuras de Datos.
Una introducción a la computación evolutiva
Modelos Cuantitativos
Parte I. Estructuras de Datos.
Tema 10: Algoritmos voraces
Agustín J. González ELO320: Estructura de Datos y Algoritmos
Instituto Tecnológico De Villahermosa Alumno: Lázaro García Hernández.
Sesión 6: Redes Bayesianas - Inferencia
Introducción a los TADs
Prof. Juan José Bravo B., M.Sc. ©
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.
Resolución de Problemas Método Gráfico
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.
Transcripción de la presentación:

Introducción al problema Un algoritmo Branch & Cut para un problema de asignación de frecuencias en redes de telefonía celular Modelado del problema Conceptos básicos Modelos de PLE Estudio Poliedral Branch & Cut Tesis de Licenciatura de Diego Delle Donne Director: Dr. Javier Marenco Departamento de Computación, FCEN, Universidad de Buenos Aires. Resultados computacionales Conclusiones y trabajo futuro Un algoritmo Branch & Cut para un problema de asignación de frecuencias en redes de telefonía celular

Introducción al problema Redes de telefonía celular: ¿Cómo funcionan las comunicaciones? Hand-over Un algoritmo Branch & Cut para un problema de asignación de frecuencias en redes de telefonía celular

Introducción al problema Posibles problemas: Co-canalización (mismo canal) Interferencia por canales adyacentes Un algoritmo Branch & Cut para un problema de asignación de frecuencias en redes de telefonía celular

Introducción al problema Tendido de una red para cubrir una zona: … pero la cantidad de canales disponibles es muy limitada… Un algoritmo Branch & Cut para un problema de asignación de frecuencias en redes de telefonía celular

Introducción al problema Objetivos de una asignación de frecuencias: 1. Asignar un canal a cada antena de manera tal que no se produzcan co-canalidades. 2. Minimizar la interferencia generada por canales adyacentes en las antenas. Un algoritmo Branch & Cut para un problema de asignación de frecuencias en redes de telefonía celular

Introducción al problema Consideraciones: Antenas habituales de 120 grados y más de una por sector Canales de control (BCCH) Vs. canales de transferencia (TCH) Problema muy estudiado heurísticamente pero muy poco estudiado de manera exacta. Omitimos otras características del problema: Canales bloqueados, distancias mínimas, etc. Un algoritmo Branch & Cut para un problema de asignación de frecuencias en redes de telefonía celular

Introducción al problema Modelado del problema Conceptos básicos Modelos de PLE Estudio poliedral Branch & Cut Resultados computacionales Conclusiones y trabajo futuro Un algoritmo Branch & Cut para un problema de asignación de frecuencias en redes de telefonía celular

Modelado del problema G = (V, E) C = {c1, c2, … , ct} Objetivo: Colorear G usando colores de C, de manera tal que el coloreo minimice la cantidad de vértices adyacentes que reciben colores adyacentes (NP-H). Un algoritmo Branch & Cut para un problema de asignación de frecuencias en redes de telefonía celular

Conclusiones y trabajo futuro Modelado del problema Conceptos básicos Modelos de PLE Estudio poliedral Branch & Cut Nuevos resultados Conclusiones y trabajo futuro Un algoritmo Branch & Cut para un problema de asignación de frecuencias en redes de telefonía celular

Hallar que maximice { ctx / Ax ≤ b } Conceptos básicos Programación lineal Hallar que maximice { ctx / Ax ≤ b } Ejemplo: x = (x1,x2) Maximizar x1 + x2 Sujeto a x1 + 3 x2 ≤ 12 3 x1 + 4 x2 ≤ 20 x1, x2 ≥ 0 Un algoritmo Branch & Cut para un problema de asignación de frecuencias en redes de telefonía celular

Conceptos básicos Maximizar x1 + x2 Sujeto a x1 + 3 x2 ≤ 12 1+2 = 3 2 2+1 = 3 1 1 2 x1 Un algoritmo Branch & Cut para un problema de asignación de frecuencias en redes de telefonía celular

Conceptos básicos Maximizar x1 + x2 Sujeto a x1 + 3 x2 ≤ 12 12/5 16/5 x1 Un algoritmo Branch & Cut para un problema de asignación de frecuencias en redes de telefonía celular

Programación lineal entera Conceptos básicos Programación lineal entera Hallar que maximice { ctx / Ax ≤ b } Planos de corte x2 1 2 3 4 5 x1+x2 = 5 x1 Un algoritmo Branch & Cut para un problema de asignación de frecuencias en redes de telefonía celular

Programación lineal entera Conceptos básicos Programación lineal entera Branch & Bound Branch & Cut = Branch & Bound + Planos de corte x2 1 2 3 4 5 x2 ≥ 3 x2 ≤ 2 x1 Un algoritmo Branch & Cut para un problema de asignación de frecuencias en redes de telefonía celular

Programación lineal entera NP-C Conceptos básicos Complejidad Programación lineal P Programación lineal entera NP-C Un algoritmo Branch & Cut para un problema de asignación de frecuencias en redes de telefonía celular

Resultados computacionales Conceptos básicos Modelos de PLE Estudio poliedral Branch & Cut Resultados computacionales Conclusiones y trabajo futuro Un algoritmo Branch & Cut para un problema de asignación de frecuencias en redes de telefonía celular

Modelos considerados: Modelos de PLE Modelos considerados: Stable model (Méndez Díaz y Zabala, 2001) Orientation model (Grötschel et. al., 1998) Distance model Representatives model (Campêlo, Corrêa y Frota, 2004) Un algoritmo Branch & Cut para un problema de asignación de frecuencias en redes de telefonía celular

xvc indica si el vértice v está pintado con el color c Modelos de PLE: Stable model xvc indica si el vértice v está pintado con el color c zvw indica si los vértices v y w reciben colores adyacentes Un algoritmo Branch & Cut para un problema de asignación de frecuencias en redes de telefonía celular

Resultados computacionales Modelos de PLE Estudio poliedral Branch & Cut Resultados computacionales Conclusiones y trabajo futuro Un algoritmo Branch & Cut para un problema de asignación de frecuencias en redes de telefonía celular

Q = {c1, c2, c3} Estudio poliedral Definición: Sea una clique de G y un vértice de la clique. Sea un conjunto de colores consecutivos. Definimos la 3-Colors Inner Clique Inequality como: Teorema: La 3-Colors Inner Clique Inequality es válida para PS(G,C) y, si |C| > y |C| > |K| + 4, además define facetas de PS(G,C). Q = {c1, c2, c3} Un algoritmo Branch & Cut para un problema de asignación de frecuencias en redes de telefonía celular

Q = {c1, c2, c3} Estudio poliedral Definición: Sea una clique de G y un vértice de la clique. Sea un conjunto de colores consecutivos. Definimos la 3-Colors Outer Clique Inequality como: Teorema: La 3-Colors Outer Clique Inequality es válida para PS(G,C) y, si |C| > y |C| > |K| + 4, además define facetas de PS(G,C). Q = {c1, c2, c3} Un algoritmo Branch & Cut para un problema de asignación de frecuencias en redes de telefonía celular

Q = {c1, c2, c3 ,c4} Estudio poliedral Definición: Sea una clique de G y un vértice de la clique. Sea un conjunto de colores consecutivos. Definimos la 4-Colors Vertex Clique Inequality como: Teorema: La 4-Colors Vertex Clique Inequality es válida para PS(G,C) y, si |C| > y |C| > |K| + 4, además define facetas de PS(G,C). Q = {c1, c2, c3 ,c4} Un algoritmo Branch & Cut para un problema de asignación de frecuencias en redes de telefonía celular

Q = c1 c2 …… cq Estudio poliedral Definición: Sea una clique de G y Q = {c1,…,cq} un conjunto de colores consecutivos. Definimos la Consecutive Colors Clique Inequality como: q-1 adyacencias Teorema: La Consecutive Colors Clique Inequality es válida para PS(G,C) y, si |C| > , |C|>|Q|, |C|>|K|+4, |K|> y |C| > 2|K|-|Q|+2, además define facetas de PS(G,C). x x x x x x x Q = c1 c2 …… cq Resta 2 adyacencias Resta 1 adyacencia Un algoritmo Branch & Cut para un problema de asignación de frecuencias en redes de telefonía celular

C = … Estudio poliedral Definición: Sea una clique de G y , p conjuntos no adyacentes de colores consecutivos. Definimos la Multi Consecutive Colors Clique Inequality como: Teorema: La Multi Consecutive Colors Clique Inequality es válida para PS(G,C). C = … Un algoritmo Branch & Cut para un problema de asignación de frecuencias en redes de telefonía celular

Estudio poliedral Definición: Sea una clique de G y un color disponible. Definimos la Clique Inequality (Méndez Díaz y Zabala, 2001) como: Teorema: Las Clique Inequalities son válidas para PS(G,C) y, si K es una clique maximal y |C| > , entonces también definen facetas de PS(G,C). Un algoritmo Branch & Cut para un problema de asignación de frecuencias en redes de telefonía celular

Resultados computacionales Estudio poliedral Branch & Cut Resultados computacionales Conclusiones y trabajo futuro Un algoritmo Branch & Cut para un problema de asignación de frecuencias en redes de telefonía celular

Planos de corte: Algoritmos de separación Branch & Cut Técnicas usadas: Planos de corte: Algoritmos de separación Cotas primales: Redondeo de soluciones Reducción de subproblemas por implicaciones lógicas Selección de variable para el branch Un algoritmo Branch & Cut para un problema de asignación de frecuencias en redes de telefonía celular

Branch & Cut: Algoritmos de separación Dada una solución fraccional y* = (x*,z*), buscamos cliques que violen la 3CIK Inequality: Elegimos un vértice k y definimos el peso de un vértice v adyacente a k como: El objetivo ahora es encontrar una clique K N(k) de manera tal que valor a superar Un algoritmo Branch & Cut para un problema de asignación de frecuencias en redes de telefonía celular

Branch & Cut: Algoritmos de separación Búsqueda por Backtracking: Sea N(k) = {v1, v2, … , vp} tal que vi vi+1 i = 1,…,p-1 v1 v2 … vp < Un algoritmo Branch & Cut para un problema de asignación de frecuencias en redes de telefonía celular

Branch & Cut: Algoritmos de separación Búsqueda por Backtracking: Sea N(k) = {v1, v2, … , vp} tal que vi vi+1 i = 1,…,p-1 Datos de entrada: Conjunto de vértices y pesos de los mismos Adyacencias entre los vértices Valor a superar por el peso de las cliques Parametrización: Límite de nodos del árbol a inspeccionar. Qué cliques devolver: N primeras, N mejores, todas. Salida: Lista de cliques que violan la restricción, ordenada por los pesos de las cliques en forma decreciente Un algoritmo Branch & Cut para un problema de asignación de frecuencias en redes de telefonía celular

Branch & Cut: Algoritmos de separación Búsqueda por heurística golosa: Sea N(k) = {v1, v2, … , vp} tal que vi vi+1 i = 1,…,p-1 Datos de entrada: Algoritmo: Conjunto de vértices y pesos de los mismos K = {v1} para i = 2 hasta p si K U {vi} es una clique K = K U {vi} fin para si K supera el valor a superar devolver K si no devolver {} Adyacencias entre los vértices Valor a superar por el peso de las cliques Parametrización: Cantidad de cliques a devolver (una para cada vi inicial) Salida: Lista de cliques que violan la restricción, ordenada por los pesos de las cliques en forma decreciente Un algoritmo Branch & Cut para un problema de asignación de frecuencias en redes de telefonía celular

Branch & Cut: Algoritmos de separación Podemos ahora utilizar los mismos métodos de separación para la 3COK Inequality: Al igual que antes, elegimos un vértice k y en este caso definimos el peso de un vértice v adyacente a k como: El objetivo ahora es encontrar una clique K N(k) de manera tal que valor a superar Un algoritmo Branch & Cut para un problema de asignación de frecuencias en redes de telefonía celular

Branch & Cut: Algoritmos de separación Repetimos el mismo procedimiento de separación para la 4CVK Inequality: En este caso el peso de cada vértice v adyacente a k se deine como: Y el objetivo ahora es, nuevamente, encontrar una clique K N(k) de manera tal que valor a superar Un algoritmo Branch & Cut para un problema de asignación de frecuencias en redes de telefonía celular

Branch & Cut: Algoritmos de separación Veamos ahora el caso de la CCK Inequality: No podemos definir el peso de un vértice sin especificar antes K! Un algoritmo Branch & Cut para un problema de asignación de frecuencias en redes de telefonía celular

Branch & Cut: Algoritmos de separación Veamos ahora el caso de la CCK Inequality: Dado Q={c1, … , cq}, definimos el “peso estimado” de cada vértice v V como: Y usamos estos pesos para ordenar los vértices en un algoritmo similar al explicado (tanto en el backtracking como en la heurística), pero en el cual el valor a superar depende de los vértices utilizados en la clique. Un algoritmo Branch & Cut para un problema de asignación de frecuencias en redes de telefonía celular

C = Branch & Cut: Algoritmos de separación Extendiendo intervalos para la MCCK Inequality: C = Un algoritmo Branch & Cut para un problema de asignación de frecuencias en redes de telefonía celular

Branch & Cut: Redondeo de soluciones Cotas primales: Redondeo de soluciones Algoritmo: mientras queden xvc fraccionarias elegir (v,c) tal que xvc = max{xvc : 0 < xvc < 1} fijar xvc = 1 fijar xvc’ = 0 para todo c’ c fijar xwc = 0 para todo w, vw E fin mientras Si para todo v solución encontrada Un algoritmo Branch & Cut para un problema de asignación de frecuencias en redes de telefonía celular

Branch & Cut: Implicaciones lógicas Reducción de subproblemas por implicaciones lógicas: Algoritmo: Si fijar para todo c’ c fijar para todo w, vw E Si y para vw E fijar si fijar si no Un algoritmo Branch & Cut para un problema de asignación de frecuencias en redes de telefonía celular

Branch & Cut: Selección de variable de branch Selección de variable para branch: Se elige la variable xvc cuyo valor esté más cercano a 0.5 Un algoritmo Branch & Cut para un problema de asignación de frecuencias en redes de telefonía celular

Resultados computacionales Branch & Cut Resultados computacionales Conclusiones y trabajo futuro Un algoritmo Branch & Cut para un problema de asignación de frecuencias en redes de telefonía celular

Resultados computacionales Contexto: Instancias de prueba extraídas del proyecto EUCLID CALMA. Conjunto de prueba de 30 instancias (escogidas de la experimentación preliminar) Pentium IV con 1Gb de memoria RAM y un microprocesador de 1.8 Ghz. Las familias de desigualdades parecen no funcionar muy bien cuando se las utiliza por separado. La combinación de las desigualdades MCCK y K brindan una fuerte fase de planos de corte para el branch & cut Un algoritmo Branch & Cut para un problema de asignación de frecuencias en redes de telefonía celular

Resultados computacionales Este gráfico muestra los tiempos de ejecución promedio para diferentes combinaciones de familias utilizando como base la combinación MCCK+K. También se muestra el tipo de separación utilizada para buscar las cliques. Un algoritmo Branch & Cut para un problema de asignación de frecuencias en redes de telefonía celular

Resultados computacionales Visualizando en detalle los tiempos obtenidos por el backtracking podemos ver que la mejor combinación para este conjunto de pruebas resulta ser la combinación base (MCCK+K), utilizando el criterio “best” para la búsqueda de cliques. Un algoritmo Branch & Cut para un problema de asignación de frecuencias en redes de telefonía celular

Resultados computacionales Luego se testearon diferentes valores para la cantidad de cliques devueltas por el backtracking (con MCCK+K y devolviendo las “mejores” cliques). También se muestra el límite de nodos para la exploración del árbol de backtracking: 150, 300, 450 y 600 nodos. Un algoritmo Branch & Cut para un problema de asignación de frecuencias en redes de telefonía celular

Resultados computacionales Analizando en detalle nuevamente podemos ver que los mejores tiempos se obtienen usando un número entre 14 y 22 cliques (en particular el mejor caso se obtuvo usando 20 cliques) con un límite de 150 nodos. Un algoritmo Branch & Cut para un problema de asignación de frecuencias en redes de telefonía celular

Resultados computacionales Finalmente se experimentó con diferentes valores la cantidad de rondas de cortes utilizadas durante las fases de planos de cortes. A su vez, se varía el skip factor con valores entre 1 y 5. Un algoritmo Branch & Cut para un problema de asignación de frecuencias en redes de telefonía celular

Resultados computacionales En este caso, viendo en detalle, se nota que la diferencia entre los valores para el skip factor utilizando infinitas rondas es despreciable, aunque para los demás valores de rondas no lo es. Un algoritmo Branch & Cut para un problema de asignación de frecuencias en redes de telefonía celular

Resultados computacionales El agregado de las demás familias a la combinación base de MCCK+K sólo empeora los tiempos de resolución. La mejor elección de parámetros para el Branch & Cut se logra utilizando el backtracking con un límite de 150 nodos en la exploración del árbol de bactracking y devolviendo las mejores 20 cliques halladas. Además de un skip factor de 1 y la utilización de infinitas rondas de cortes. Ahora con esta combinación de desigualdades válidas y la mejor parametrización hallada comparamos los tiempos obtenidos contra la ejecución de CPLEX sobre el modelo original. Un algoritmo Branch & Cut para un problema de asignación de frecuencias en redes de telefonía celular

Resultados computacionales Un algoritmo Branch & Cut para un problema de asignación de frecuencias en redes de telefonía celular

Resultados computacionales Un algoritmo Branch & Cut para un problema de asignación de frecuencias en redes de telefonía celular

Resultados computacionales Conclusiones y trabajo futuro Un algoritmo Branch & Cut para un problema de asignación de frecuencias en redes de telefonía celular

Conclusiones y trabajo futuro El poliedro asociado al problema tiene una estructura combinatoria muy interesante. El Branch & Cut parece ser muy eficiente y las desigualdades válidas propuestas parecen ayudar en forma decisiva. La experimentación muestra que la combinación “MCCK+K+best 20” parece ser la mejor parametrización para el algoritmo branch & cut. Un algoritmo Branch & Cut para un problema de asignación de frecuencias en redes de telefonía celular

Conclusiones y trabajo futuro Adaptar el algoritmo para intentar la resolución de instancias más grandes. Profundizar el estudio sobre los otros modelos. Incorporar a este modelo los aspectos dejados de lado al comienzo. Un algoritmo Branch & Cut para un problema de asignación de frecuencias en redes de telefonía celular

Departamento de Computación, FCEN, Universidad de Buenos Aires. ¡¡Muchas gracias!! Diego Delle Donne Departamento de Computación, FCEN, Universidad de Buenos Aires. Un algoritmo Branch & Cut para un problema de asignación de frecuencias en redes de telefonía celular