Source: http://docplayer.es/10287416-Algoritmos-evolutivos-aplicados-a-problemas-de-diseno-de-redes-confiables.html
Timestamp: 2018-11-17 17:53:02+00:00

Document:
ALGORITMOS EVOLUTIVOS APLICADOS A PROBLEMAS DE DISEÑO DE REDES CONFIABLES - PDF
Download "ALGORITMOS EVOLUTIVOS APLICADOS A PROBLEMAS DE DISEÑO DE REDES CONFIABLES"
Jesús Caballero Gallego
1 ALGORITMOS EVOLUTIVOS APLICADOS A PROBLEMAS DE DISEÑO DE REDES CONFIABLES Autor: Ing. Héctor Enrique Magnago Director Local: Lic. Francisco Javier Díaz Director Externo: Mg. José Luís Hernández Tesis presentada para obtener el grado de Magíster en Redes de Datos FACULTAD DE INFORMÁTICA UNIVERSIDAD NACIONAL DE LA PLATA Febrero de 2006
2 Agradecimientos Esta es una excelente oportunidad para manifestar mi más sincero agradecimiento a todos aquellos que de una forma u otra me ha motivado a seguir adelante, a no rendirme y ser cada vez mejor. A mis directores Javier Díaz y José Hernández por su invalorable guía y ayuda en la elaboración del mismo, especialmente a José por su incondicional apoyo durante la escritura de esta tesis y su disposición a colaborar con las dificultades. Al Centro de Cómputos y a la Facultad de Ingeniería de la Universidad Nacional de Río Cuarto, que brindaron los recursos necesarios para la realización de esta maestría y para la ejecución del proyecto de investigación del cual formó parte esta tesis. A mis compañeros de trabajo por sus palabras de aliento y confianza. Por último quiero destacar mi agradecimiento a mi familia; a mis padres, a quienes les debo mucho de lo bueno que he aprendido en la vida y, muy especialmente a mi hija Gabriela, por su comprensión, y compañía, por las penas y alegrías vividas juntos y sobre todo, por ser la fuerza que me mantuvo siempre en pie. 2
3 Índice 1 INTRODUCCIÓN ANTECEDENTES Y MOTIVACIÓN ÁREAS DE APLICACIÓN REDES DE CONMUTACIÓN DE CIRCUITOS A NIVEL DE BACKBONE INTERCONEXIÓN DE REDES REDES DE FIBRA ÓPTICA PARA TELEFONÍA COMPUTADORAS TOLERANTES A FALLAS Y ARQUITECTURA DE SWITCH OBJETIVOS DE LA TESIS METODOLOGÍA PROPUESTA CONTENIDO DE LA TESIS RESUMEN DISEÑO DE REDES DESCRIPCIÓN DEL PROBLEMA FORMULACIÓN GENERAL DEL PROBLEMA DISEÑOS BASADOS EN LA UTILIZACIÓN UN ALGORITMO DETERMINÍSTICO DISEÑOS ÓPTIMOS UTILIZANDO ALGORITMOS ESTOCÁSTICOS PROBLEMA DE DISEÑO DE REDES REPRESENTACIÓN MATRICIAL DE GRAFOS MODELADO CON VARIABLES BINARIAS ÁRBOL CONJUNTO DE CORTE Y NODOS DE ARTICULACIÓN RESUMEN EL PROBLEMA DE OPTIMIZACIÓN EN DISEÑO DE REDES CONFIABLES INTRODUCCIÓN CONFIABILIDAD EN REDES DEFINICIONES BÁSICAS ANÁLISIS DE LA CONFIABILIDAD DE UNA RED ESTIMACIÓN DE LA CONFIABILIDAD
4 3.2.4 EVALUACIÓN DE LA CONFIABILIDAD POR SIMULACIÓN DISEÑO ÓPTIMO DE REDES CONFIABLES RESUMEN ALGORITMOS EVOLUTIVOS INTRODUCCIÓN REPRESENTACIÓN GENÉTICA DE LAS SOLUCIONES CREACIÓN DE LA POBLACIÓN INICIAL FUNCIÓN DE EVALUACIÓN O FUNCIÓN DE ADAPTABILIDAD (FITNESS) SOLUCIONES FACTIBLES Y NO FACTIBLES: MANEJO DE LAS RESTRICCIONES DEL PROBLEMA MECANISMOS DE SELECCIÓN DE PADRES MÉTODOS PROPORCIONALES MÉTODO DE SELECCIÓN POR JERARQUÍAS SELECCIÓN LOCAL OPERADORES GENÉTICOS OPERADOR DE CRUZAMIENTO MUTACIÓN CRUZAMIENTO VS. MUTACIÓN ELITISMO MODELOS DE POBLACIÓN MODELO GLOBAL (PANMÍTICO) MODELO REGIONAL MODELO DE DIFUSIÓN LOCAL REINSERCIÓN PARÁMETROS DE LOS ALGORITMOS EVOLUTIVOS CONCLUSIONES DISEÑO DE UN ALGORITMO EVOLUTIVO PARA LA OPTIMIZACIÓN DE REDES CONFIABLES INTRODUCCIÓN FORMULACIÓN DEL PROBLEMA ENFOQUE EVOLUTIVO REPRESENTACIÓN DE LAS SOLUCIONES
5 5.5 GENERACIÓN DE LA POBLACIÓN INICIAL FUNCIÓN OBJETIVO Y FUNCIÓN DE APTITUD CONOCIMIENTO ESPECÍFICO DEL PROBLEMA EN EL CÁLCULO DE LA CONFIABILIDAD OPERADORES GENÉTICOS MECANISMO DE SELECCIÓN OPERADOR DE CRUZAMIENTO OPERADOR DE MUTACIÓN BÚSQUEDA LOCAL ALMACENAMIENTO DE SOLUCIONES EVALUADAS POST OPTIMIZACIÓN EXPERIMENTOS Y RESULTADOS CONCLUSIONES EJEMPLOS DE APLICACIÓN INTRODUCCIÓN DESCRIPCIÓN DE LOS EXPERIMENTOS CASO CASO CASO CASO CONCLUSIONES APÉNDICE REDES TOTALMENTE CONECTADAS Caso 1: problemas 1 y 2. Matriz de 5 nodos y 10 enlaces Caso 2: problemas 3, 4 y 5. Matriz de 7 nodos y 21 enlaces Caso 3: problemas 6, 7 y 8. Matriz de 8 nodos y 28 enlaces Caso 4: problemas 9, 10 y 11: Matriz de 9 nodos y 36 enlaces Caso 5: problema 12, 13 y 14. Matriz de 10 nodos y 45 enlaces Caso 6: problema 15. Matriz 15 nodos y 105 enlaces Caso 7: problema 16. Matriz de 20 nodos y 190 enlaces Caso 8: problema 17. Matriz de 25 nodos y 300 enlaces REDES NO TOTALMENTE CONECTADAS Caso 9: problema 18. Matriz de 14 nodos y 21 enlaces Caso 10: problema 19. Matriz de 16 nodos y 24 enlaces
6 Caso 11: problema 20. Matriz de 20 nodos y 30 enlaces TABLA DE COMPARACIÓN DE RESULTADOS CONCLUSIONES REFERENCIAS Y BIBLIOGRAFÍA
7 Resumen En la actualidad existe un conjunto de problemas para los cuales no se conoce ningún método eficiente para resolverlos computacionalmente. Este conjunto pertenece a la clase NP-completa o NP-hard. Muchos de dichos problemas tratados mediante la utilización de meta-heurísticas, han sido resueltos con resultados alentadores en muchos de los casos. Entre las meta-heurísticas más utilizadas se encuentran los algoritmos evolutivos, los cuales están inspirados en los mecanismos de la evolución natural. En la planificación de sistemas de telecomunicaciones el diseño de la configuración necesaria para prestar un servicio de manera óptima respecto de algún criterio de desempeño es fundamental. Por ejemplo, si el criterio de desempeño es el costo, un problema a resolver es encontrar una topología de red que interconecte sus nodos al menor costo y que tenga la propiedad de asegurar la comunicación confiable de datos. En esta tesis se analizan e implementan estrategias para el Diseño Óptimo de Redes de Datos para la obtención de topologías de mínimo costo y de confiabilidad admisible. En otras palabras se busca lograr, en forma eficiente, una asignación óptima de recursos económicos que asegure una confiabilidad especificada del sistema bajo diseño. La focalización está puesta en el diseño de redes de gran escala, tales como un backbone de telecomunicaciones, donde la métrica relevante es la confiabilidad total, es decir, la probabilidad de que cada par de nodos pueda comunicarse. En este trabajo se implementa un Algoritmo Evolutivo híbrido, para resolver un problema de diseño de redes confiables, con estructura poblacional por vecindades, utilización de límites superiores para la confiabilidad, el cálculo de ésta a través de un algoritmo de reducción recursiva de la varianza (RVR), con población sembrada y un mecanismo de búsqueda local incorporado a modo de post-optimizador. Los resultados obtenidos en este trabajo indican, por un lado, que el algoritmo propuesto es superior a los utilizados anteriormente en la literatura, y que las soluciones generadas son aceptables para un diseño óptimo de redes confiables. 7
8 Se incluyen ejemplos de aplicación de las estrategias propuestas a un conjunto de redes propuestas en la literatura y se realiza un análisis comparativo de resultados. 8
9 CAPITULO 1 1 Introducción 1.1 Antecedentes y motivación En los últimos años las redes de comunicaciones han adquirido una enorme importancia en una gran variedad de aplicaciones relacionadas con la mayoría de las actividades que se desarrollan en el mundo moderno. Esto ha producido un rápido desarrollo de la infraestructura de redes, del software y de los servicios de Internet, lo que ha renovado el interés por los problemas de diseño de redes de comunicaciones, generando asimismo un enorme desafío para el diseño, por cuanto son necesarias redes cada vez más complejas, más confiables, más eficientes y más económicas. Uno de los más importantes objetivos de la planificación de sistemas de telecomunicaciones es el diseño de la configuración necesaria para prestar un servicio de manera óptima respecto de algún criterio de desempeño. Por ejemplo, si el criterio de desempeño es el costo, un problema a resolver es encontrar una topología de red que interconecte sus nodos al menor costo y que tenga la propiedad de asegurar la comunicación confiable de datos. La optimización topológica de redes es un problema clásico de investigación operativa con aplicabilidad práctica en diversos campos de las telecomunicaciones, diseño de redes de computadoras, etc. Inicialmente los trabajos relativos a redes altamente confiables se concentraron en sistemas cuyas fallas podrían causar daños masivos o pérdida de vidas humanas, por ejemplo centrales nucleares o sistemas aeronáuticos. Actualmente se consideran también sistemas cuya necesidad de alta confiabilidad tiene un sentido económico. En ese sentido, el uso de las redes de comunicaciones se ha incrementado 9
10 significativamente en los últimos años debido al dramático crecimiento de la demanda de las comunicaciones para uso personal o de negocios, lo que está transformado a la sociedad actual. En este cuadro, el diseño de estructuras de redes confiables, como el primer recurso necesario para mantener esta sociedad de información, se está convirtiendo en una actividad muy crítica. En esta tesis se analizan e implementan estrategias para el Diseño Óptimo de Redes de Datos para la obtención de topologías de mínimo costo y de confiabilidad admisible. En otras palabras se busca lograr, en forma eficiente, una asignación óptima de recursos económicos que asegure una confiabilidad especificada del sistema bajo diseño. La focalización está puesta en el diseño de redes de gran escala, tales como un backbone de telecomunicaciones, donde la métrica relevante es la confiabilidad total, es decir, la probabilidad de que cada par de nodos pueda comunicarse (Dengiz, 1997). En este contexto, se analiza un problema de optimización discreto restringido. Se trata de optimización porque el objetivo es minimizar el costo asociado a la red. Es discreto porque hay número determinado (o indeterminado pero numerable) de estados de la red y, finalmente restringido, porque la o las soluciones admisibles están condicionadas a cumplir ciertas imposiciones de diseño, en este caso, de confiabilidad. 1.2 Áreas de aplicación Las primeras redes de telecomunicaciones definían su confiabilidad únicamente a través de mediciones de conectividad (un enlace, físicamente, funciona o no funciona). En la actualidad, si bien la tecnología permite contar con enlaces mucho más confiables, el concepto de confiabilidad pasa no sólo por la determinación del funcionamiento físico del mismo, sino además por consideraciones de situaciones derivadas del enrutamiento dinámico, tales como congestionamiento y retardos, que pueden llegar a producir el colapso de la red completa. Las redes actuales son bastante densas, lo que resulta en una menor probabilidad de desconexión. Sin embargo, el aumento de la densidad es ocasionado por el incremento del tráfico. Esto significa que la capacidad y congestión deberían ser 10
11 incluidas como criterios de desempeño en el diseño alterando la métrica de costos o la lista de restricciones impuesta en el problema de optimización que se resuelve. Esto permite utilizar las técnicas y métodos desarrollado para redes cuya medida de la confiabilidad, por ejemplo, tiene que ver con la probabilidad de conexión o desconexión de los enlaces, a redes más complejas donde puede definirse la operatividad como la capacidad de mantener un desempeño admisible medido en otros términos, tales como retardos, capacidad de los enlaces, probabilidad de conexión de enlaces, etc. En todos estos casos las entidades relevantes son nodos y conexiones entre nodos, y en general el principal objetivo buscado es lograr una comunicación segura en toda la red al menor costo. La solución a este problema tiene un amplio rango de aplicación en algunas áreas como las que se describen a continuación Redes de conmutación de circuitos a nivel de backbone En este tipo de redes, tal como es el caso de las redes públicas de telefonía, un canal de comunicaciones está dedicado a un par de usuarios durante el tiempo en que tiene lugar la llamada. La capacidad de trabajo de la red puede verse reducida por la falla de sus componentes y podría resultar que cierto número de usuarios finales o nodos no puedan conectarse, esto se denomina call blocking. A diferencia con las redes de conmutación de paquetes donde la falla incrementa los retardos en la transmisión, en este caso la performance de la red está definida en términos de bloqueo en lugar de retardos Interconexión de redes Son casos especiales de redes de conmutación de circuitos para la interconexión de redes donde el modelo de conectividad esté basado en modelos de falla debido a la congestión y al mal funcionamiento de sus componentes. En estos casos es particularmente importante el diseño de redundancia en la interconexión de redes. 11
12 1.2.3 Redes de fibra óptica para telefonía Los enlaces de fibra óptica tienen alta capacidad, esto motiva el rápido reemplazo de redes de cable tradicionales. Pero, es justamente por esa mayor capacidad que las redes de fibras ópticas son menos densas, más bien de pocos enlaces, y si la confiabilidad no es tenida en cuenta en el diseño, una simple falla en un enlace puede dejar fuera de servicio una gran parte de la red. Debido a los pocos enlaces de una red de fibra óptica, nuevamente puede considerarse apropiada la medición de conectividad para cuantificar la confiabilidad Computadoras tolerantes a fallas y arquitectura de switch Son sistemas de computadoras que tiene la capacidad de continuar operando en presencia de una falla de uno o más componentes del mismo tipo con el propósito de incrementar la performance del sistema. Para el análisis de la confiabilidad de estos sistemas se los modela como redes, tales como las que estamos considerando. 1.3 Objetivos de la tesis El objetivo principal de esta tesis es modelar, desarrollar e implementar estrategias aplicadas al Diseño Optimo de Redes de Información de tal manera de obtener una topología que minimice un criterio de desempeño (por ejemplo el costo) a la vez que satisface restricciones adicionales impuestas (por ejemplo de confiabilidad). Los objetivos específicos son: Estudiar diferentes alternativas para solucionar problemas de tipo combinatorio relacionados con el objetivo principal planteado, haciendo énfasis en las técnicas que aporta la Computación Evolutiva. Estudiar las diferentes formas de evaluar o estimar la confiabilidad de una red compleja y la aplicación de formas de reducir el costo computacional asociado. 12
13 1.4 Metodología propuesta En este tipo de problemas deben resolverse dos cuestiones básicas: la determinación de la mejor topología y el cálculo de otros parámetros de desempeño como retardos o confiabilidad de la red. Esta última implica, junto con el problema de determinar la mejor topología, grandes esfuerzos de cálculo por cuanto deben trabajar con espacios de búsqueda muy grandes, dependiendo del tamaño de la red. Se examinarán las diversas formulaciones existentes para su diseño, así como las metodologías y algoritmos de solución propuestos. Entre ellos, se seleccionan los Algoritmos Evolutivos (AE) ya que muestran ventajas para resolver estos problemas de optimización combinatorios, cuyas características hacen necesaria la implementación de heurísticas capaces de proporcionar buenas soluciones en tiempos razonables. Se estudiará el Diseño Óptimo de Redes de mínimo costo, sujeto a restricciones de confiabilidad con el supuesto de fallas en los enlaces y se propone como estrategia de resolución un AE con operadores genéticos ad-hoc enriquecidos con conocimiento específico del problema, lo cual permite acotar el espacio de búsqueda del algoritmo. Un proceso evolutivo sobre una población (soluciones posibles) corresponde a una búsqueda dentro de un espacio de soluciones potenciales. Tal búsqueda sugiere encontrar un equilibrio entre dos objetivos aparentemente en conflicto: explotar las mejores soluciones y explorar el espacio de búsqueda en forma global. Existen estrategias que benefician totalmente uno de esos aspectos pero desestiman el otro. Por ejemplo, puede hacerse una buena exploración del espacio de búsqueda ignorando la explotación de regiones promisorias, o explotar la mejor solución para obtener una posible mejora, sin buscar otras soluciones en otras regiones. Finalmente se incluyen ejemplos de aplicación de las estrategias propuestas a sistemas reportados en la literatura con el objeto de comparar los resultados y analizar las ventajas de los métodos propuestos en esta tesis. 13
14 1.5 Contenido de la Tesis Los problemas de diseño topológico de redes de información caen dentro de la categoría de problemas de optimización combinatoria. En muchos casos, cuando el tamaño de la instancia del problema crece, los tiempos de resolución del mismo a través de técnicas exhaustivas pueden resultar inadmisibles. Por esta razón las heurísticas en general y la computación evolutiva en particular, son una alternativa válida para atacar este tipo de problemas. Este trabajo se centra en la resolución de problemas de diseño óptimo de redes confiables utilizando técnicas evolutivas. A continuación se muestra un esquema del desarrollo del mismo. En el capítulo 2 se realiza una revisión de las metodologías existentes aplicadas para resolver problemas de diseño de redes. La complejidad matemática asociada a la resolución de la obtención de la topología óptima se discute en el Capítulo 3. El abordaje del diseño de una red de comunicaciones cuando la función objetivo es el costo de implementación y la restricción recae sobre la confiabilidad del sistema, está plasmado en este capitulo, ubicando al problema dentro de una clase de problemas de optimización combinatoria. Este diseño se utiliza como problema test para analizar el comportamiento de un algoritmo estocástico. En el capítulo 4 se realiza una revisión de las técnicas proporcionadas por la computación evolutiva para resolver problemas de optimización. El mismo contiene los conceptos básicos relacionados con la aplicación de Algoritmos Evolutivos (AE), basados en AG, para resolver problemas de optimización. En el capítulo 5 se describe el diseño de un algoritmo evolutivo con conocimiento específico del problema para encontrar una topología de mínimo costo sujeto a restricciones de confiabilidad entre todas las terminales de la red. El Capítulo 6 contiene ejemplos de diseño de redes resueltos a través de las metodologías propuestas en esta tesis. Las conclusiones y futuras líneas de 14
15 investigación se presentan en el Capítulo Resumen En este primer capitulo se han descrito las motivaciones por las cuales se ha iniciado este trabajo. Se enuncian las áreas donde se aplican los algoritmos propuestos en esta tesis. Finalmente se plantea una metodología de trabajo para el diseño del algoritmo proponiendo métodos de computación evolutiva. En el último punto se describen los contenidos de cada capitulo que conforman esta tesis. 15
16 CAPÍTULO 2 2 Diseño de redes 2.1 Descripción del Problema Las redes de comunicaciones han experimentado un enorme crecimiento en la última década debido, entre otros factores, al uso progresivo de la red de redes o Internet. Los requerimientos de calidad de servicio y confiabilidad de las redes modernas, acompañadas por grandes inversiones en ellas, han tornado críticos los problemas de diseño de las mismas siendo necesario el diseño óptimo de redes que reúnan características determinadas. Esto conlleva la resolución de problemas cada vez más complejos y más grandes. Complejos desde un punto de vista de complejidad computacional y grandes respecto del tamaño de las entradas de instancias de dichos problemas. Desde el conocido problema del Minimum Spanning Tree resuelto a través de un algoritmo determinístico, varios tipos de problemas confluyen cuando se trata de optimizar una red de comunicaciones. Además, son diferentes los criterios de optimización que pueden ser considerados: el costo de instalación, costo de operación, confiabilidad de la red, o incluso más de un objetivo a optimizar simultáneamente. La mayoría de los problemas involucrados en diseño de redes están catalogados como problemas de tipo NP-Hard o NP-Completo, es decir que no existen a la fecha algoritmos que puedan encontrar solución en un tiempo acotado polinomialmente respecto del tamaño de la entrada. No obstante, la necesidad de encontrar soluciones basada en las cuestiones 16
17 mencionadas anteriormente, han conducido las investigaciones a la utilización de heurísticas y metaheurísticas que permitan, cuando no obtener el óptimo global, encontrar buenas soluciones. Así, algoritmos como simulated annealing, tabú search, redes neuronales y algoritmos evolutivos entre otros han experimentado un notable adelanto e interés por parte de los investigadores como técnicas alternativas a las técnicas clásicas que permiten la obtención de buenas soluciones a los problemas planteados. Esta tesis pretende estudiar y resolver algunos problemas de diseño de redes utilizando algoritmos evolutivos cuando se desea el diseño óptimo de una red de comunicaciones desde distintos criterios de optimización: diseño de redes de mínimo costo, diseño de redes de máxima confiabilidad, u otros. En particular en esta tesis se abordará el diseño de redes de mínimo costo con restricciones de confiabilidad. No obstante las metodologías propuestas permiten el abordaje de los otros problemas mencionados. El diseño de redes con otros criterios de optimización, por ejemplo la confiabilidad con restricciones económicas, simplemente puede ser resuelto con las herramientas presentadas en este trabajo mediante la adaptación de la función objetivo. Con algún esfuerzo adicional, pueden atacarse problemas con criterios de optimización multiobjetivo; por ejemplo, optimizar simultáneamente costo y confiabilidad. 2.2 Formulación general del problema En el diseño de redes de comunicaciones, una etapa importante consiste en encontrar la mejor forma de interconectar los componentes de una red, optimizando alguna variable respetando ciertas restricciones impuestas. La variable a optimizar suele ser el costo mientras que las restricciones más comunes están aplicadas sobre flujos de datos, retardos de transmisión o confiabilidad, entre otras. El problema del diseño de redes óptimas puede representarse a través de un modelo matemático o conjunto de ecuaciones que relaciona las variables involucradas y consiste en determinar una topología definida por la cantidad y posición de los enlaces que transportarán los datos a través de la red y sus características. A fin de obtener una distribución óptima de enlaces, con respecto a algún 17
18 criterio específico, se define el Diseño Optimo de la Red de Datos como un problema de optimización, cuya formulación general es la siguiente (Nemhauser, 1999): Min / Max f ( q) st. g( q) g* (1.1) Siendo g* el valor máximo admitido y q es un vector de variables binarias tal que: q i = 1, si el enlace i existe (1.2) q i = 0 en caso contrario. Los criterios de desempeño f ( q ), pueden ser diversos, por ejemplo: de tipo económico, relacionados con la capacidad del enlace, los retardos, la confiabilidad del sistema, etc. En cuanto al conjunto de las restricciones g( q), el diseño debe garantizar también la satisfacción de las condiciones impuestas, por ejemplo, sobre el throughput, confiabilidad o disponibilidad. Cualquiera sea la formulación dada, el problema resultante es un problema de optimización combinatoria. La resolución o forma de ataque de esta clase de problemas, sin embargo, depende fuertemente del caso particular que se trate. Un intento de clasificación de los métodos de resolución propuestos puede ser la siguiente: Diseños basados en la utilización un algoritmo determinístico Para algunos problemas de diseño, existen algoritmos deterministicos bien probados y bien conocidos que arrojan resultados satisfactorios. El problema del Minimum Spanning Tree, por ejemplo, puede resolverse a través de un algoritmo greedy con buena performance. El algoritmo de Dijkstra, permite encontrar el camino de mínimo costo entre dos nodos de una red, para construir las tablas de ruteo en cada nodo. Estos son algunos ejemplos de algoritmos determinísticos que, además, garantizan la obtención del óptimo global en tiempo polinomial. 18
19 Para otro tipo de formulaciones no se han reportado métodos de resolución que garanticen la obtención del óptimo global para cualquier tamaño de una instancia. En estos casos pueden utilizarse varias alternativas (Papadimitriou y Steiglitz, 1982), algunas de las cuales se listan a continuación: 1- Algoritmos Exponenciales: entre los que se incluyen las técnicas de enumeración implícitas, como el algoritmo de Branch and Bound, Branch and Cut y Programación Dinámica. Estas técnicas pueden ser aplicadas con éxito a instancias de tamaño razonable. Algunos de los algoritmos exponenciales aplicados hasta la actualidad que pueden citarse son: 1) métodos basados en la enumeración implícita con criterio de terminación y 2) Branch and Bound aplicado a la resolución de problemas de optimización de tamaño pequeño con funciones objetivo lineales y restricciones convexificadas (Jan, 1993). 2- Algoritmos de búsqueda Local: Estos son métodos de ataque ampliamente utilizado. Son análogos en optimización discreta a la técnica de hill climbing. Se basa en la búsqueda de óptimos locales en la vecindad de un punto. Un método de esta clase es el Tabu Search (Glover, 2002) Diseños óptimos utilizando algoritmos estocásticos Desde el punto de vista de la optimización son métodos probabilísticos de orden cero (sólo requieren los valores de la función a ser optimizada). La búsqueda del óptimo está guiada por conceptos probabilísticos y pueden resolver cualquier tipo de problemas de optimización. Las desventajas residen en que, dada su naturaleza estocástica, no ofrecen ninguna garantía de convergencia para una corrida dada, y además el costo computacional puede ser elevado; aunque esta última característica puede ser mejorada sustancialmente, incorporando conocimiento específico del problema a resolver (Schoenauer, 1995). En contraste con los algoritmos de búsqueda local éstas son técnicas de búsqueda global que proveen una forma de salir de un óptimo local aceptando 19
20 selectivamente soluciones de mayor costo que la corriente. El problema que se plantea en esta tesis es uno de un gran grupo de problemas para los cuales no han podido desarrollarse algoritmos que sean lo suficientemente rápidos para encontrar el óptimo global. Sin embargo es posible diseñar algoritmos eficientes que arrojen una solución cuasi-óptima. Estos algoritmos no garantizan la obtención del óptimo global, pero pueden encontrar buenas soluciones, teniendo en cuenta los tiempos de cálculo. 2.3 Problema de diseño de redes Una red puede ser modelada a través de un grafo simple (sin lazos ni redundancias) (Brecht, 1995) G ( V, E) = donde V { v, v2,, } 1 L v n = es el conjunto de n nodos o vértices que representan los centros de comunicaciones de la red y E = e, e2,, e } es un conjunto de m vínculos o enlaces que permiten la conexión { 1 L m e ( v, ) entre los nodos. Cada enlace se identifica con un par no ordenado k i v j. Los vínculos pueden ser orientados o no-orientados representando enlaces de comunicaciones que son unidireccionales o bidireccionales respectivamente, pero no se permiten lazos cerrados ni enlaces redundantes (un par de nodos cualesquiera están directamente vinculados, como máximo, por un único enlace). Un enlace es incidente sobre dos nodos, si los dos nodos están unidos por el enlace. En la figura 2.1 se muestra un ejemplo de un grafo no orientado que representa una red Figura Grafo simple representando el modelo de una red 20
21 Donde G = ( V, E) V = E = { 1, 2,3, 4,5,6,7,8} {( 1, 2 ),( 1, 4 ),( 2,3 ),( 2,5 ),( 2,7 ),( 3,6 ),( 4,5 ),( 4,8 ),( 5,7 ),( 6,7 ),( 7,8) } La cardinalidad de un conjunto H, denotada como H es la cantidad de elementos que dicho conjunto posee. Así el número de nodos en un grafo G se representa como n = V mientras que el número de enlaces es e = E. Para el grafo de la figura 2.1 n= V = 8 y e= E = 11. Un problema de diseño de redes consiste en la elección de enlaces de comunicaciones, de diferentes características o tecnologías, entre un conjunto de nodos dado, de forma tal que la red resultante alcance un conjunto de valores (tales como costo o confiabilidad) y cumpla con otro conjunto de requerimientos que operan como restricciones al problema. Existen dos aspectos a tener en cuenta en el diseño óptimo de redes confiables: la obtención de la topología de mínimo costo y el cálculo de la confiabilidad. El segundo aspecto limita el espacio de búsqueda factible entre el conjunto de todas las topologías posibles. Además la confiabilidad depende de la topología de la red Representación Matricial de Grafos Los grafos constituyen una herramienta útil para el estudio y modelado topológico de redes. Ahora bien, para analizarlos y procesarlos computacionalmente es factible representarlos en forma matricial. A continuación se presentan algunas variantes de las mismas, las cuales se utilizarán en este trabajo (Deo, 1974) Matriz incidente Sea un grafo G con n nodos y m enlaces, sin lazos. Se define la matriz A de dimensión n por m tal que A= [ a ij ], donde la n filas corresponden a los n nodos y las m 21
22 columnas corresponden a los m enlaces. Por ende, a = 1 si el j-ésimo enlace es ij e j incidente al i-ésimo nodo v i ; o será igual a cero en caso contrario. Esta matriz A se denomina matriz de incidencia nodo-enlace o simplemente matriz de incidencia. A veces, si la matriz A representa el grafo G se la simboliza como A(G). En la figura 2.2 se muestra la matriz de incidencia del grafo representado en la figura 2.1. A (G) = Figura Matriz de incidencia del grafo de la figura 2.1 En esta representación matricial se puede observar que dado que los enlaces son incidentes en dos nodos, cada columna de A tiene exactamente dos unos. La cantidad de unos en cada fila representa la cantidad de enlaces que inciden sobre el nodo asociado la cual se define como grado de un nodo. Una fila con todos 0, representa un nodo aislado y finalmente, la permutación de dos filas (o columnas) cualesquiera de A( G), simplemente resulta en un renumeración de los nodos (o enlaces) del mismo grafo G Matriz de adyacencia y matriz de costo Sean n el número de nodos y m la cantidad de enlaces de una red de datos representada por un grafo simple G. Luego, la matriz de conexión matriz binaria de dimensión n por n y donde: M = m ij es una m ij 1 si el enlace que une los nodos i y j está disponible = 0 en caso contrario 22
23 2.1. La figura 2.3 muestra la matriz de adyacencia del grafo representado en la figura C ( G) = Figura Matriz de adyacencia del grafo de la figura. 2.1 La matriz de costo C c tiene la misma dimensión que la matriz de = ij adyacencia donde cada elemento c ij representa el costo del enlace entre los nodos i y j. Así, mientras que la matriz de adyacencia representa un grafo simple, la matriz de costo representa un grafo simple ponderado Los ceros se mantienen invariante, asumiendo que un costo nulo representa un enlace que no está disponible (tiene mayor coherencia matemática si un enlace inexistente se representara por, pero habitualmente se utiliza la representación con 0 dado que permite al algoritmo interpretar redes no totalmente conectadas). La figura 2.4 muestra la matriz de costo asociada al grafo representado en la figura 2.1, cuyos valores ha sido elegido arbitrariamente C ( G) = Figura Matriz de costo del grafo de la figura
24 Las matrices M ( G ) y C( G) son siempre cuadradas dado que tanto las filas como las columnas representan el mismo parámetro (los nodos del grafo) y son simétricas porque el enlace que une el i-ésimo con el j-ésimo nodo es el mismo que une el j-ésimo con el i-ésimo nodo. Al no estar permitidos los lazos, la diagonal es siempre nula Modelado con variables binarias El grafo que modela la red puede ser representado en un arreglo unidimensional teniendo en cuenta todos los enlaces posibles entre los nodos. Si se considera la red de 5 nodos representada por la figura 2.5, la cantidad de enlaces posibles está dada por la cardinalidad del conjunto E la cual puede calcularse como E ( V 1) V = = 10 2 Figura Red de ejemplo Todos los enlaces posibles (i,j) entre cada par de nodos i y j, numerando los nodos de 1 a 5 conforman el conjunto E={e 1, e 2, e 3, e 4, e 5, e 6, e 7, e 8, e 9, e 10 }={(1,2) (1,3) (1,4) (1,5) (2,3) (2,4) (2,5) (3,4) (3,5) (4,5)}. El arreglo que representa la topología es x tal que x i =1 si e i existe y x i =0 en caso contrario. En definitiva, la representación de x con el esquema de conexión de la figura 2.5 será: x= [ ] El modelado con variables binarias está relacionado con la forma de representar soluciones que se utilizarán al aplicar algoritmos evolutivos para resolver el problema. 24
25 2.3.3 Árbol Un árbol es un grafo simple conectado que no contiene ciclos. Cualquier grafo contiene por lo menos un árbol, y dado que se consideran únicamente grafos finitos, también hay una cantidad finita de árboles en un grafo. Si en un grafo G existe un y sólo un camino entre cada par de vértices, entonces G es un árbol y un grafo es un árbol si está mínimamente conectado Spanning Tree Se dice que un árbol T es un Spanning Tree de un grafo G conectado, si T es un subgrafo de G y contiene todos los nodos de G. La figura 2.6 muestra uno de los posibles Spanning Tree del grafo G. Figura Un grafo con un spanning tree remarcado Dado que los spanning Trees son los árboles más grandes (con mayor cantidad de enlaces) que pueden concebirse dentro de un grafo determinado, a veces se los denomina subgrafo de árbol máximo. Encontrar un Spanning Tree de un grafo conectado es relativamente simple. Si G no tiene ciclos, G es su propio Spanning Tree, es decir: un grafo G conectado siempre tendrá, al menos, un Spanning Tree. La importancia de este tipo de árbol, en el problema que se intenta resolver en esta tesis es que una red se considera operativa si y sólo si todos sus nodos son alcanzables desde cualquier otro, a través de enlaces disponibles. Un Spanning Tree 25
26 concede la conectividad mínima necesaria (n-1 enlaces) para que esta condición se cumpla. Reducir la cantidad de enlaces manteniendo la red operativa es una de las formas posibles de alcanzar el objetivo de minimizar costos, sin dejar necesariamente de cumplir con la confiabilidad pretendida Conjunto de corte y nodos de articulación En un grafo G conectado, un conjunto de corte (cut-set) es un conjunto de enlaces (que vinculados con sus nodos limitantes constituyen un subgrafo) cuya remoción de G lo desconecta. Un conjunto de corte siempre corta un grafo en dos. Dado que en un árbol la extracción de cualquier enlace parte lo desconecta, cada enlace constituye un conjunto de corte por sí mismo y no existe ningún conjunto de corte con más de un elemento. Figura Remover el conjunto de corte { d e, f }, divide en dos al grafo Si se busca todos los conjuntos de corte de la red, el o los conjuntos que tienen el menor número de elementos representarán el punto más vulnerable. En el ejemplo de la figura 2.7, la caída del enlace h aísla completamente al nodo 3, mientras que para que otro nodo quede aislado, deberán cortarse o caerse más de un enlace simultáneamente. A partir de las definiciones anteriores se puede afirmar que, dado el grafo conectado G y un conjunto de corte S arbitrariamente elegido, éste contendrá al menos 26
27 un enlace de cada posible spanning tree de G. La inversa, es decir, cualquier conjunto mínimo de enlaces que contenga al menos un enlace de cada spanning tree es un conjunto de corte, también es cierta. Se define también el mínimo conjunto de corte (MCC) como el conjunto de corte con menor cantidad de enlaces que desconecta el grafo G (en otras palabras el conjunto mínimo de enlace que, removidos de G, lo desconecta), por ejemplo el MCC de un árbol es uno. Los nodos de articulación son nodos cuya caída desconecta el grafo, es decir, lo separa en dos o más componentes. El grafo de la figura 2.8 tiene dos nodos de articulación, los nodos 2 y 3. Figura Red con dos nodos de articulación Por otra parte, se dice que un grafo es biconectado si y sólo sí no contiene nodos de articulación. Análogamente se define la conectividad nodo como el mínimo número de nodos que removidos (conjuntamente con sus enlaces incidentes) dejan el grafo desconectado. El grado de un nodo v, es el número de enlaces que inciden sobre v, si todos los nodos del grafo tienen el mismo grado, se dice que es un grafo regular. 2.4 Resumen En este capitulo se han introducido algunos conceptos básicos de diseño topológico de redes y se justifica la importancia de modelar las redes mediante grafos y sus representaciones matriciales, así como la elección de métodos estocásticos para la 27
28 búsqueda de buenas soluciones en tiempos razonables. También se presentan algunos conceptos de teoría de grafos, que serán de interés en el desarrollo de los algoritmos. Entre ellos, tiene especial interés los grafos que mantienen mínimamente conectados a todos los nodos del grafo original y que se definió como spanning tree. 28
29 CAPÍTULO 3 3 EL PROBLEMA DE OPTIMIZACIÓN EN DISEÑO DE REDES CONFIABLES 3.1 Introducción Los problemas de optimización pueden dividirse en forma natural, en dos categorías: aquellos con variables continuas, y aquellos con variables discretas o problemas combinatorios. En los primeros, la atención se centra en un conjunto de números reales o de funciones reales; en los segundos, la atención está puesta en un objeto de un conjunto finito o infinito contable, tal como un entero, una permutación, una combinación o un grafo. Estas dos clases de problemas tienen características diferentes, y los métodos de resolución aplicados a ellos resultan muy disímiles. Los problemas de diseño de redes confiables de datos pertenecen a la segunda categoría. El problema de diseño de red, estudiado en este trabajo, consiste en encontrar una red de comunicaciones que minimice el costo total de la misma, bajo ciertas condiciones de confiabilidad dadas. En este contexto se analiza en profundidad un problema de optimización discreta restringido. Es optimización porque el objetivo es minimizar el costo asociado a una red de telecomunicaciones, es discreta porque las variables sólo toman valores de un conjunto finito de números, lo que permite su simulación exacta; finalmente, es restringido debido a que el objetivo está condicionado a cumplir con un conjunto de exigencias. En este caso la restricción es la confiabilidad. Tanto el problema de diseño de redes de comunicaciones confiables como el 29
30 cálculo de la confiabilidad de una red dada, son problemas NP-hard (Garey, 1979). Esto significa que el esfuerzo computacional crece exponencialmente con el número de nodos y enlaces en la red y dado que, durante el proceso de diseño debe calcularse la confiabilidad de un gran número de topologías candidatas, el tiempo de cálculo resulta prohibitivo aún con redes de tamaño relativamente pequeño (Srivaree-Ratana, 2000). Una instancia de un problema de optimización es un par (F,c), donde F es el conjunto de puntos factibles, y c es la función de costo (función objetivo), una aplicación tal que: c: F R 1 (3.1) El problema es encontrar un f F para el cual: c( f ) c( y), para todo y F (3.2) El punto f es llamado un óptimo global. Un problema de optimización es un conjunto I de instancias asociadas al mismo. Informalmente, en una instancia se tienen los datos de entrada y suficiente información como para obtener una solución; un problema de optimización es una colección de instancias, todas generadas en forma similar (Garey, 1999). 3.2 Confiabilidad en redes Definiciones básicas Debido a la inherente dificultad de calcular la confiabilidad en una red independientemente del tiempo, se emplea un modelo de probabilidad discreto en el análisis de la misma. Esto es, los componentes de la red (nodos y enlaces) pueden estar en uno de dos estados: operativo o en falla, en forma independiente de los estados de los otros componentes. 30
31 Entonces, el análisis de confiabilidad del problema es: dada la probabilidad de que cada componente esté operativo, calcular una medida de la confiabilidad de la red. Esta definición de confiabilidad no incluye consideraciones de reparación; en lugar de eso se dice que: dado un tiempo suficientemente extenso t, se define la confiabilidad como la probabilidad que un componente no falle en el tiempo t. El punto de arranque es una red G = ( V, E), donde V es un conjunto de nodos o vértices y E es un conjunto de enlaces no dirigidos o aristas. Cuando se estudia el modelo de conectividad de cada e E se define p e como Pr [ e esté operativo], que es la confiabilidad de e. Este modelo puede servir también para estudios de flujos (camino más corto) asociando una capacidad Ce con cada e E y se interpreta p e como la probabilidad de que e esté operativo y tiene una capacidad Ce. También definimos 1-p e como la probabilidad de que e falle o tenga una capacidad cero. Es conveniente para estudios de confiabilidad de redes definir un contexto para un análisis más general. Un sistema binario estocástico representa las fallas aleatorias como una función Ψ donde sus componentes T pueden tener dos estados: operativo o fallado. Si S es el conjunto de componentes operativos entonces puede definirse Ψ como sigue: Ψ ( S ) 1 = 0 si cuando S está operativo y suceden T S, el sistema está operativo si cuando S está operativo y suceden T S, el sistema falla El problema computacionalmente se puede definir ( S) RS (, p) = Pr Ψ = 1 (3.3) Dado el modelo de red descrito antes, el problema general del análisis de la confiabilidad de una red es, Cual es la probabilidad de que una red esté operativa, dada la probabilidad de que cada uno de los enlaces estén operativos? 31
32 3.2.2 Análisis de la confiabilidad de una red Un sistema está formado por componentes los cuales pueden ser susceptibles de falla. La falla de un componente cualquiera se da a un tiempo desconocido pero estimable a través de una variable aleatoria T. La figura 3.1 muestra una curva típica de confiabilidad de un componente en función del tiempo. La forma de la curva tiene relación directa con la distribución de probabilidades de falla del componente. R(t) 1 t Figura 3.1 Confiabilidad de un componente De esta forma la confiabilidad del mismo esta dada por la probabilidad que no falle en un tiempo no inferior a un valor especificado. Esto es [ no falla en T t] R = Pr (3.4) Tomando un tiempo t admisible, la confiabilidad del componente será un valor escalar representado por un punto en la curva de la figura 3.1. Interesa ahora definir una medida (o índice) de confiabilidad para una red, que esté basada en su topología y en la confiabilidad de sus componentes. La forma de obtener dichos índices varía dependiendo de los datos con que se cuente. Un dato imprescindible es el referente a la topología de la red, pero según se disponga o no con datos sobre las confiabilidades elementales de los componentes, se pueden adoptar dos enfoques (Cancela, 1993): 32
33 Solidez o resistencia a fallas: Este enfoque se basa en la posibilidad de comparar dos topologías y determinar cual de ellas es más confiable, para lo cual es necesario considerar algunos parámetros en ellas. Intuitivamente, una red que tiene una topología de árbol (sólo un spanning tree) resulta menos confiable que otra que posee una topología en anillo. Reichelt (2003), propone el conteo de todos los posibles spanning trees en una red para dar un índice de confiabilidad relativa sobre la misma. Otra alternativa es contar la cantidad de puntos de articulación que la red tiene (la topología con menor número de puntos de articulación será más confiable). Confiabilidad: Se calcula la probabilidad de funcionamiento de la red sobre la base de las confiabilidades elementales de cada componente, dadas mediante probabilidades de funcionamiento de los mismos. El enfoque a tomar en este trabajo es el segundo, considerándose un modelo probabilístico basado en un grafo estocástico donde se asignan probabilidades de funcionamiento a nodos y enlaces. Sobre grafos de este tipo, existen básicamente tres medidas de interés: a) La confiabilidad entre dos nodos, denotada R ( G 2 ), es la probabilidad de que para un par específico de nodos s y t, hay al menos un conjunto de enlaces operacionales: una ruta que conectan los nodos s y t. b) La confiabilidad de k-nodos, que se denota (G), es la probabilidad de que para un conjunto específico K de k nodos, hay un conjunto de enlaces operacionales conectando cada par de nodos en K. R k c) La confiabilidad de todos los nodos, R A (G) es la probabilidad que haya un conjunto de vínculos operacionales, o una ruta, entre todo par de nodos de la red. Dado un conjunto de nodos K y un nodo s K ( k = K ) y dada una red G con enlaces de confiabilidad p e, la confiabilidad de k-nodo está definida por 33
34 [ s ] RGsK (,,, p) = Pr Existe un camino operativo desde a cada nodo en k e De aquí se deducen los dos casos especiales mencionados. Para k=2, que es el caso de dos terminales, R (,,, ) 2 Gst p e y para k=v para todos los nodos, RA( Gsp,, e). s es el nodo fuente y {K\s} los nodos terminales (Ball, 1992). La confiabilidad del sistema dependerá de la confiabilidad de sus componentes y de la interconexión entre ellos. Por lo tanto, la confiabilidad de la red, definida como la probabilidad de que ésta sea operativa, dependerá de las confiabilidades de los enlaces y de la topología de la misma. En este trabajo se estudia la medida de confiabilidad de todos los nodos modelando a la red mediante un grafo probabilístico, considerando que los enlaces fallan con cierta probabilidad q e y los nodos son confiables (p nodo =1). Para un enlace e E, denotándose con pe a la probabilidad de que el enlace esté operativo y con q e =1-p e a la probabilidad que el mismo falle y, si se considera que en cualquier instante sólo un conjunto de enlaces de G estará operacional, un estado de G es un subgrafo (N,E ) donde Ω E ' E es el conjunto de enlaces que está operacional. Si es el conjunto de todos los posibles estados operacionales, la confiabilidad exacta de la red esta dada por la siguiente expresión (Dengiz, 1997): ( ) R G = p e q e Ω e E' e E'\ E (3.5) El tamaño de Ω crece exponencialmente en función del tamaño de la red haciendo impracticable su cálculo aún tratándose de redes de tamaño moderado (Colbourn, 1991). Se han presentado métodos de cálculo exacto de la confiabilidad basados en enumeración de estados, caminos mínimos (min-path) o conjuntos de corte mínimos (cut-set) (Aggarwal, 1981), (Aggarwal,1982), (Nakawaza, 1981), (Rai,1982), (Cavers, 1975). No obstante, las mejoras relativas al tiempo computacional no han sido importantes. Así en el cálculo de la confiabilidad para redes de tamaño considerable, una alternativa a utilizar es estimarla con métodos basados en simulación. 34
35 Cabe aclarar que el modelo utilizado se adecua a realidades donde la información a comunicarse entre dos nodos se rutea de forma dinámica a través de la red. Esto significa que si bien puede existir un camino predeterminado para comunicar dos nodos, se puede elegir un camino alternativo en caso de falla de algún componente intermedio del camino predeterminado (por ejemplo, el ruteo de paquetes entre dos hosts de Internet). No se consideran aquí detalles como el control de congestión y retrasos en la comunicación (problemas clásicos en redes de datos y de transporte) (Ball, 1992) Estimación de la confiabilidad A raíz de los problemas derivados de la complejidad computacional asociada al cálculo exacto de la confiabilidad, se han propuesto métodos que, o bien intentan reducir el espacio explorado o bien, basados en modelos de simulación, permiten estimar un valor para la confiabilidad de una red dada las probabilidades de falla de sus componentes. Un método ampliamente conocido es el algoritmo de Jan (Jan, 1993), propuesto para encontrar una topología de mínimo costo con una confiabilidad no inferior a un valor dado R 0. Jan sugiere calcular un límite inferior de la cantidad de enlaces e*, que combinados de alguna manera permitan que la red posea una confiabilidad mayor o igual a R 0. De esta forma evita la inspección de aquellas redes con una cantidad de enlaces tal que se puede asegurar que su confiabilidad será inferior a la requerida. En realidad, esta propuesta tiende a evitar el cálculo de la confiabilidad cuando a priori puede determinarse que su valor será inferior al requerido y por tanto descartable (o penalizable) en lo referente al problema de diseño de la red. De hecho, una red de n nodos con menos de n-1 enlaces tiene confiabilidad 0. La red más confiable con n enlaces debe ser un spanning tree, mientras que si se consideran n+1 enlaces la red más confiable tiene una topología de anillo. Finalmente si se cuentan con n+2 nodos, la red más confiable se dispone como muestra la figura
Whitepaper Firewalls Son los Suficientes para dar Seguridad Integral al VoIP? Tabla de Contenido I. Introducción... 3 II. Definiciones... 3 III. Seguridad... 4 IV. Interoperabilidad... 5 V. Disponibilidad...
1.- DATOS DE LA ASIGNATURA. Ingeniería Forestal. Clave de la asignatura: SATCA: 2-3-5 2.- PRESENTACIÓN. Caracterización de la asignatura.
1.- DATOS DE LA ASIGNATURA. Nombre de la asignatura: Carrera: Clave de la asignatura: Investigación de Operaciones. Ingeniería Forestal. FOD-1023 SATCA: 2-3-5 2.- PRESENTACIÓN. Caracterización de la asignatura.
En este trabajo se propone un posible método para permitir esto. Organización ISP Internet
Multihoming casero Horacio J. Peña * 1. Resumen Las organizaciones actuales dependen cada vez más de su conectividad hacia. Para disminuir el riesgo de la perdida de ésta se recurre a la paralelización

References: resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución