TEORÍA DE REDES

La modelación de redes permite la resolución de múltiples problemas de programación matemática mediante la implementación de algoritmos especiales creados para tal fin, conocidos como Algoritmos  de optimización de redes. Dentro de los problemas más comúnmente resueltos mediante la modelación de redes se encuentran los ya vistos modelos de transporte, transbordo además de los muy conocidos modelos de determinación de cronograma de actividades para proyectos como lo son el PERT y el CPM.

CONCEPTOS BÁSICOS EN TEORÍA DE REDES

Gráfica: Una gráfica es una serie de puntos llamados nodos que van unidos por unas líneas llamadas ramales o arcos.

 

Red: Una red es una gráfica que presenta algún tipo de flujo en sus ramales. Por ejemplo una gráfica cuyo flujo en sus ramales sea la electricidad es una red eléctrica. En las redes se usa una simbología específica para denotar su tamaño y elementos que la constituyen, dicha notación es la (N, A) donde N representa el número de nodos que contiene la red y A representa el número de arcos o ramales.

Teoría de Redes
Bryan Antonio Salazar López

Cadena: Una cadena corresponde a una serie de elementos ramales que van de un nodo a otro. En el siguiente caso se resalta una cadena que va desde el nodo 1 hasta el nodo 7 y que se compone por los elementos [1-4, 4-7].

 

Ruta: Una ruta corresponde a los nodos que constituyen una cadena, en el siguiente caso [1, 4, 7].

Teoría de redes
Bryan Antonio Salazar López

Ciclo: Un ciclo corresponde a la cadena que une a un nodo con sigo mismo, en el siguiente ejemplo el ciclo está compuesto por la cadena [4-2, 2-5, 5-7, 7-4].

Teoría de redes
Bryan Antonio Salazar López

Ramal orientado: Un ramal o arco orientado es aquel que tiene un sentido determinado, es decir que posee un nodo fuente y un nodo destino.

Teoría de Redes
Bryan Antonio Salazar López

Gráfica orientada: Una gráfica orientada es aquella en la cual todos sus ramales se encuentran orientados.

Teoría de Redes
Bryan Antonio Salazar López

Árbol: Un árbol es una gráfica en la cual no existen ciclos, como el siguiente ejemplo.

Árbol de expansión: Un árbol de expansión es aquel árbol que enlaza todos los nodos de la red, de igual manera no permite la existencia de ciclos.

Teoría de Redes
Bryan Antonio Salazar López

Nodo fuente: El nodo fuente es aquel nodo en el cual todos sus ramales se encuentran orientados hacia afuera.

 

Nodo destino: El nodo destino es aquel nodo en el cual todos sus ramales se encuentran orientados hacia él.

Teoría de Redes
Bryan Antonio Salazar López

ALGORITMO DEL ÁRBOL DE EXPANSIÓN MÍNIMA

El algoritmo del árbol de expansión mínima es un modelo de optimización de redes que consiste en enlazar todos los nodos de la red de forma directa y/o indirecta con el objetivo de que la longitud total de los arcos o ramales sea mínima (entiéndase por longitud del arco una cantidad variable según el contexto operacional de minimización, y que puede bien representar una distancia o unidad de medida).

 

Sean

 

N = {1,2,3,...,n} el conjunto de nodos de la red.

Ck= Conjunto de nodos que se han enlazado de forma permanente en la iteración k

Čk= Conjunto de nodos que hacen falta por enlazarse de forma permanente.

PASO CERO (0): CONCEPTUALIZACIÓN DEL ALGORITMO

Definir los conjuntos C0 = {ø} y Č0 = {N}, es decir que antes del paso 1 no se han enlazado de forma permanente nodo alguno, y por ende el conjunto que representa a los nodos que hacen falta por enlazarse de forma permanente es igual a la cantidad de nodos que existen en la red.

PASO 1:

Se debe de escoger de manera arbitraria un nodo en el conjunto Č0 llamado i el cual será el primer nodo permanente, a continuación se debe de actualizar el conjunto C1 = {i}, que significa que al tiempo en que el conjunto C1 gana el elemento i el conjunto Č0 pierde el elemento i por ende ahora será igual a Č1 = N - {i}, además se debe actualizar el subíndice de los conjuntos k, el cual ahora será igual a 2.

PASO 2: PASO GENERAL "K"

Se debe de seleccionar un nodo j del conjunto ČK-1 ("k-1" es el subíndice que indica que se está haciendo referencia al conjunto de la iteración inmediatamente anterior) el cual tenga el arco o ramal con menor longitud con uno de los nodos que se encuentran en el conjunto de nodos de enlace permanente CK-1. Una vez seleccionado se debe de enlazar de forma permanente lo cual representa que pasa a formar parte del conjunto de enlaces permanentes y deja de formar parte del conjunto que todavía se debe conectar para lograr la expansión. Al actualizar el algoritmo en este paso los conjuntos deben de quedar de la siguiente forma.

 

CK = CK-1 + {j} mientras que ČK = ČK-1 - {j}

El paso general que define k que al mismo tiempo representa a las iteraciones debe de ejecutarse toda vez que el conjunto ČK no sea vacío, cuando este conjunto sea igual a vacío se tendrá el árbol de expansión mínima.

 

El entendimiento del algoritmo desde el punto de vista algebraico no es quizá el más simple, sin embargo mediante el ejemplo gráfico se verá que es un algoritmo muy sencillo de elaborar.

RESOLUCIÓN DE UN PROBLEMA DE ÁRBOL DE EXPANSIÓN MÍNIMA

EL PROBLEMA

 

La ciudad de Cali cuenta con un nuevo plan parcial de vivienda el cual contará con la urbanización de más de 7 proyectos habitacionales que se ubicarán a las afueras de la ciudad. Dado que el terreno en el que se construirá no se encontraba hasta ahora dentro de las zonas urbanizables de la ciudad, el acueducto municipal no cuenta con la infraestructura necesaria para satisfacer las necesidades de servicios públicos en materia de suministro de agua. Cada uno de los proyectos de vivienda inició la construcción de un nodo de acueducto madre, el cual cuenta con las conexiones de las unidades de vivienda propias de cada proyecto (es decir que cada nodo madre solo necesita estar conectado con un ducto madre del acueducto municipal para contar con su suministro). El acueducto municipal al ver la situación del plan parcial debe de realizar las obras correspondientes a la instalación de ductos madres que enlacen todos los nodos del plan con el nodo Meléndez (nodo que se encuentra con suministro de agua y que no pertenece al plan parcial de vivienda, además es el más cercano al mismo), la instalación de los ductos implica obras de excavación, mano de obra y costos de los ductos mismos, por lo cual optimizar la longitud total de los enlaces es fundamental. Las distancias existentes (dadas en kilómetros) correspondientes a las rutas factibles capaces de enlazar los nodos del plan parcial se presentan a continuación. Además la capacidad de bombeo del nodo Meléndez es más que suficiente para satisfacer las necesidades de presión que necesita la red madre.

Árbol de expansión mínima
Problema planteado por, Bryan Antonio Salazar López

El acueducto municipal le contacta a usted para que mediante sus conocimientos en teoría de redes construya una red de expansión que minimice la longitud total de ductos y que enlace todos los nodos del plan parcial de vivienda.

PASO 0:

Se definen los conjuntos iniciales C0 = {ø} que corresponde al conjunto de nodos enlazados de forma permanente en la iteración indicada en el subíndice y Č0 = {N = 1,2,3,4,5,6,7,8} que corresponde al conjunto de nodos pendientes por enlazar de manera permanente en la iteración indicada en el subíndice.

 

PASO 1:

Se debe definir de manera arbitraria el primer nodo permanente del conjunto Č0, en este caso escogeremos el nodo 1 (puede ser cualquier otro), que algebraicamente se representa con la letra i, se procede a actualizar los conjuntos iniciales, por ende C1 = {i} = {1} y Č0 = {N - i} = {2,3,4,5,6,7,8}, actualizamos k por ende ahora será igual a 2.

 

PASO 2:

Ahora se debe seleccionar el nodo j del conjunto ČK-1 (es decir del conjunto del paso 1) el cual presente el arco con la menor longitud y que se encuentre enlazado con uno de los nodos de enlace permanente del conjunto Ck-1 en el cual ahora solo se encuentra el nodo 1 (es decir que se debe de encontrar un nodo que tenga el arco de menor longitud enlazado al nodo 1).

Bryan Antonio Salazar López
Bryan Antonio Salazar López

Los arcos o ramales de color naranja representan los arcos que enlazan el conjunto ČK-1 (es decir del conjunto del paso 1, recordemos que K en este paso es igual a 2, por ende ČK-1= Č1) con los nodos de enlace permanente del conjunto Ck-1 en el cual ahora solo se encuentra el nodo 1, por ende ahora solo falta escoger el de menor longitud, que en este caso es el arco cuya longitud es 2, que enlaza de forma permanente ahora el nodo 2.

 

Al actualizar los conjuntos quedan así:

C2 = {1,2} y Č2 = {3,4,5,6,7,8}

 

Ahora se procede a actualizar k ya que se procede a efectuar la siguiente iteración. Ahora se seleccionará un nuevo nodo j del conjunto Č2que presente el enlace (ramal o arco) de menor longitud con los nodos que se encuentran en el conjunto C2.

Bryan Antonio Salazar López
Bryan Antonio Salazar López

Los arcos de color naranja representan los enlaces posibles y dado que existe empate entre las menores longitudes se elige de manera arbitraria, en este caso se representa nuestra elección con un arco de color verde, enlazando de forma permanente ahora el nodo 4.

 

Al actualizar los conjuntos quedan así:

C3 = {1,2,4} y Č3 = {3,5,6,7,8}

 

Ahora se procede a actualizar k ya que se procede a efectuar la siguiente iteración.

Bryan Antonio Salazar López
Bryan Antonio Salazar López

Lo que representan los arcos naranja y verde es ya conocido, ahora la línea azul interrumpida irá trazando nuestro árbol de expansión final. Dado a que el arco menor es el de longitud 3, ahora se enlazará de manera permanente el nodo 5.

 

Al actualizar los conjuntos quedan así:

C4 = {1,2,4,5} y Č4 = {3,6,7,8}

 

Ahora se procede a actualizar k ya que se procede a efectuar la siguiente iteración.

Bryan Antonio Salazar López
Bryan Antonio Salazar López

Ahora se enlazará de manera permanente el nodo 7.

 

Al actualizar los conjuntos quedan así:

C5 = {1,2,4,5,7} y Č5 = {3,6,8}

 

Ahora se procede a actualizar k ya que se procede a efectuar la siguiente iteración.

Bryan Antonio Salazar López
Bryan Antonio Salazar López

Ahora se enlazará de manera permanente el nodo 6.

 

Al actualizar los conjuntos quedan así:

C6 = {1,2,4,5,7,6} y Č6 = {3,8}

 

Ahora se procede a actualizar k ya que se procede a efectuar la siguiente iteración.

Bryan Antonio Salazar López
Bryan Antonio Salazar López

Se rompen los empates de forma arbitraria, ahora se enlazará de manera permanente el nodo 3.

 

Al actualizar los conjuntos quedan así:

C7 = {1,2,4,5,7,6,3} y Č7 = {8}

 

Ahora se procede a actualizar k ya que se procede a efectuar la última iteración.

Bryan Antonio Salazar López
Bryan Antonio Salazar López

Ahora se enlazará de manera permanente el nodo 8.

 

Al actualizar los conjuntos quedan así:

C8 = {1,2,4,5,7,6,3,8} = {N} y Č8 = {ø}

Por ende se ha llegado al árbol de expansión mínima

Bryan Antonio Salazar López
Bryan Antonio Salazar López

Árbol que presenta una longitud total minimizada de 21 kilometros de ductos.

RESOLUCIÓN DEL PROBLEMA DEL ÁRBOL EXPANSIÓN MÍNIMA MEDIANTE WINQSB

Como hemos mencionado en módulos anteriores la existencia de herramientas de resolución de problemas de programación matemática como WinQSB dejan que el aprendizaje de la resolución manual de los algoritmos de redes se justifique solo para fines académicos o de profundización. Por ende una vez vista la metodología manual de resolución del algoritmo atinente al árbol de expansión mínima se hace necesario en aras de eficiencia mostrar la resolución de este tipo de problemas mediante WinQSB.

 

El primer paso para resolver un problema de transporte mediante WinQSB es ingresar al módulo Network Modeling.

 

EL PROBLEMA

 

La ciudad de Cali cuenta con un nuevo plan parcial de vivienda el cual contará con la urbanización de más de 7 proyectos habitacionales que se ubicarán a las afueras de la ciudad. Dado que el terreno en el que se construirá no se encontraba hasta ahora dentro de las zonas urbanizables de la ciudad, el acueducto municipal no cuenta con la infraestructura necesaria para satisfacer las necesidades de servicios públicos en materia de suministro de agua. Cada uno de los proyectos de vivienda inició la construcción de un nodo de acueducto madre, el cual cuenta con las conexiones de las unidades de vivienda propias de cada proyecto (es decir que cada nodo madre solo necesita estar conectado con un ducto madre del acueducto municipal para contar con su suministro). El acueducto municipal al ver la situación del plan parcial debe de realizar las obras correspondientes a la instalación de ductos madres que enlacen todos los nodos del plan con el nodo Meléndez (nodo que se encuentra con suministro de agua y que no pertenece al plan parcial de vivienda, además es el más cercano al mismo), la instalación de los ductos implica obras de excavación, mano de obra y costos de los ductos mismos, por lo cual optimizar la longitud total de los enlaces es fundamental. Las distancias existentes (dadas en kilómetros) correspondientes a las rutas factibles capaces de enlazar los nodos del plan parcial se presentan a continuación. Además la capacidad de bombeo del nodo Meléndez es más que suficiente para satisfacer las necesidades de presión que necesita la red madre.

Problema planteado por Bryan Antonio Salazar López
Problema planteado por Bryan Antonio Salazar López

INGRESANDO A WINQSB

 

El primer paso para resolver un problema de transporte mediante WinQSB es ingresar al módulo Network Modeling.

WinQSB - Bryan Antonio Salazar López
WinQSB - Bryan Antonio Salazar López

Luego debemos seleccionar la opción Minimal Spanning Tree (Árbol de Expansión Mínima). Además en este submenú debemos de especificar el nombre del problema y el número de nodos. En nuestro caso el número de nodos es igual a 8, luego click en OK.

 

Una vez se realiza el paso anterior se  abrirá una ventana en la cual aparecerá la siguiente matriz:

WinQSB - Bryan Antonio Salazar López
WinQSB - Bryan Antonio Salazar López

En esta matriz se deben de consignar los valores de los ramales que unen las conexiones entre los nodos correspondientes, según el contexto de nuestro problema se deben de consignar las distancias entre los nodos si es que dichas conexiones existen de lo contrario en caso que la conexión no exista se debe dejar la celda en blanco. Hay que tener en cuenta que las distancias entre los nodos en este caso son exactamente conmutativas, es decir que si el nodo fuente es 2 y el destino es 4 la distancia existente entre estos es exactamente igual a la distancia existente entre un nodo fuente 4 y un nodo destino 2, sin embargo esta propiedad debe de especificarse en la matriz consignando los valores correspondientes a una conexión dos veces, es decir en la celda [From 1 - To 4] se debe de consignar la distancia 6, además debe de consignarse la misma distancia en la celda [From 4 - To 1].

WinQSB - Bryan Antonio Salazar López
WinQSB - Bryan Antonio Salazar López

Luego damos click en Solve and Analize y tendremos la siguiente ventana solución inmediatamente.

WinQSB - Bryan Antonio Salazar López
WinQSB - Bryan Antonio Salazar López

Podemos cotejar los resultados con los obtenidos de manera manual, 21 kilómetros de ductos es la distancia total una vez ejecutado el algoritmo del Árbol de Expansión Mínima.

ALGORITMO DE LA RUTA MÁS CORTA

El nombre que distingue este conjunto de problemas de por sí es bastante sugestivo, existen de forma manual algoritmos capaces de resolver tanto problemas de redes que presentan ciclos como de redes que no, entre los más conocidos se encuentran los algoritmos de Dijkstra y Floyd siendo el segundo más general que el primero. Sin embargo la complejidad de los algoritmos, en la práctica la complejidad que alcanzan las redes a ser resueltas mediante el algoritmo de la ruta más corta, y las herramientas de resolución de problemas de programación matemática hacen que la enseñanza de dichos algoritmos manuales sea muy ineficiente.

 

Ya en un módulo anterior Problema de Transbordo se ha planteado la resolución del algoritmo de la ruta más corta mediante programación lineal, por esta razón en este espacio nos enfocaremos en efectuar la solución mediante WinQSB con la facilidad que caracteriza al software.

RESOLUCIÓN DEL ALGORITMO DE LA RUTA MÁS CORTA MEDIANTE WINQSB

El módulo del WinQSB que permite la resolución del algoritmo de la ruta más corta es el Network Modeling, el cual utiliza una interfaz muy sencilla en forma de matriz en la cual hay que ingresar el valor de los ramales (dependiendo del contexto este valor puede representar distancias, tiempo, costos etc...) correspondiente a cada relación de un nodo con otro.

EL PROBLEMA

 

Un minero ha quedado atrapado en una mina, la entrada a la mina se encuentra ubicada en el nodo 1, se conoce de antemano que el minero permanece atrapado en el nodo 9, para llegar a dicho nodo hay que atravesar una red de túneles que van conectados entre sí. El tiempo de vida que le queda al minero sin recibir auxilio es cada vez menor y se hace indispensable hallar la ruta de acceso al nodo 9 más corta. Las distancias entre nodos de la mina se encuentran en la siguiente gráfica dadas en cientos de metros. Resuelva mediante cualquier paquete de herramientas de investigación operativa que permita establecer la ruta más corta para poder así auxiliar al minero.

Problema planteado por Bryan Antonio Salazar López
Problema planteado por Bryan Antonio Salazar López

PASO A PASO

 

Primero se debe ingresar al módulo Network Modeling del paquete WinQSB, una vez nos encontremos en este aparecerá el menú que se muestra en la siguiente gráfica, menú en el cual tendremos que seleccionar la opción Shortest Path Problem (Problema de la ruta más corta).

WinQSB - Bryan Antonio Salazar López
WinQSB - Bryan Antonio Salazar López

Además en este menú emergente debemos de ingresar la cantidad de nodos que conforman la red del problema y tenemos la posibilidad de asignarle un nombre al mismo, en nuestro caso la cantidad de nodos de la red es igual a 9; click en OK y aparecerá la siguiente ventana.

WinQSB - Bryan Antonio Salazar López
WinQSB - Bryan Antonio Salazar López

En esta ventana se debe ingresar la magnitud de cada ramal correspondiente a cada relación entre los nodos, tal como veremos a continuación.

WinQSB - Bryan Antonio Salazar López
WinQSB - Bryan Antonio Salazar López

Damos click en Solve and Analize y tendremos un menú emergente en el cual tendremos que seleccionar el nodo fuente y el nodo destino, tal como se muestra en la siguiente gráfica.

WinQSB - Bryan Antonio Salazar López
WinQSB - Bryan Antonio Salazar López

Una vez efectuada la selección tendremos la opción de ver el tabulado final y la opción de ver un paso a paso gráfico; para el tabulado final click en SOLVE y para el paso a paso click en SOLVE AND DISPLAY STEPS.

WinQSB - Bryan Antonio Salazar López
WinQSB - Bryan Antonio Salazar López

Podemos cotejar la solución que obtuvimos al plantear este problema como un modelo de transbordo con esta solución. La eficiencia se encuentra determinada en escoger la herramienta adecuada para resolver el problema planteado.


Bryan Salazar López

Cali, Colombia

Licencia Creative Commons
Ingeniería industrial