Descargar la presentación
La descarga está en progreso. Por favor, espere
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
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.