La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Introducción al problema

Presentaciones similares


Presentación del tema: "Introducción al problema"— Transcripción de la presentación:

1 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

2 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

3 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

4 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

5 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

6 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

7 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

8 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

9 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

10 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

11 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

12 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

13 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

14 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

15 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

16 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

17 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

18 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

19 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

20 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

21 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

22 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

23 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

24 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

25 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

26 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

27 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

28 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

29 Branch & Cut: Algoritmos de separación
Búsqueda por Backtracking: Sea N(k) = {v1, v2, … , vp} tal que vi vi 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

30 Branch & Cut: Algoritmos de separación
Búsqueda por Backtracking: Sea N(k) = {v1, v2, … , vp} tal que vi vi 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

31 Branch & Cut: Algoritmos de separación
Búsqueda por heurística golosa: Sea N(k) = {v1, v2, … , vp} tal que vi vi 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

32 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

33 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

34 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

35 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

36 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

37 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

38 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

39 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

40 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

41 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

42 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

43 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

44 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

45 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

46 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

47 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

48 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

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

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

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

52 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

53 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

54 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


Descargar ppt "Introducción al problema"

Presentaciones similares


Anuncios Google