Análisis de Ciclos en SRIT

Anuncio
Análisis de Ciclos en redes de intercambio: Algoritmos utilizados
Se utilizan dos algoritmos, uno, para determinar todos los ciclos presentes y otro para
determinar cuales de ellos son independientes.
Para la enumeración de todos los ciclos existentes, podemos hacer uso de dos
herramientas:
a) un grafo bipartito, donde los nodos se dividen en dos
categorías de diferente naturaleza (fuentes y sumideros) y los
arcos del grafo –equipos de intercambio- sólo vinculan nodos de
distinto tipo. Así, por ejemplo, en la figura 1 se representa una
red de intercambio de 7 equipos entre 3 fuentes y otros tantos
sumideros.
V
1
2
3
4
5
Figura 1
b) una matriz de adyacencias, que consiste en un arreglo de nS
filas (sumideros) por nF columnas (fuentes). En esta matriz, si existe un intercambio entre la
corriente i y la j, el elemento de la fila y columna correspondientes tendrá una asignación; de lo
contrario estará vacío.
V
1
2
3
Debe tenerse en cuenta que, si entre una fuente y un sumidero existen
más de un intercambio, en la matriz de adyacencias sólo podrá
4
representarse uno de ellos pero, en este caso, con esa asignación se estará
5
declarando un número de ciclos igual a los intercambios no representados.
Figura 2
Del mismo modo, y para simplificar el tratamiento posterior, en el grafo
bipartito se pueden reducir a uno todos los arcos que vinculan a dos nodos.
Previo al análisis de ciclos, conviene eliminar los arcos y nodos que no pueden formar
parte de un ciclo. Una corriente que está presente en un solo equipo nunca podrá repetirse y,
consecuentemente, la misma y el equipo que la conecta con el resto del sistema pueden ser
eliminados del análisis. De acuerdo a esto, serán eliminados el nodo 5 en la figura 1 y la
tercera fila en la matriz de adyacencias.
Si bien esta última es más conveniente para un tratamiento computacional, no resulta
práctica para el análisis de ciclos. Por ello, en lo que sigue, trabajaremos sobre el grafo
bipartito.
Una vez que disponemos de la representación de la red, debemos comenzar con el análisis
de ciclos.
El algoritmo que permite enumerar todos los ciclos existentes se basa en recorrer el grafo
en un sentido arbitrario. Cuando en una secuencia [...nodo - arco - nodo...] se verifica la
repetición de un nodo, los arcos comprendidos entre las dos repeticiones constituyen un ciclo.
1
A partir de esta información es posible construir la matriz de ciclos y arcos (o intercambios),
donde se individualizan la totalidad de ciclos presentes en el sistema y, para cada uno de ellos,
los arcos que se encuentran involucrados.
En el cuadro 1 se resumen los pasos a seguir para determinar dicha matriz a partir de la
información contenida en el grafo.
Numeremos los arcos para que resulte más sencilla la
determinación de los ciclos, como puede verse en la figura 3.
V
2
1
Así, tomando el Vapor como nodo inicial, por ejemplo,
puede considerarse la secuencia de nodos [V 3 1 4 V]. Como
el nodo V ya está en la lista, el conjunto de arcos (1, 3, 4, 2)
constituye un ciclo, identificado como L1 en la figura 4, que
muestra la matriz de ciclos y arcos para el ejemplo.
1
5
3
4
3
2
6
4
Figura 3
Cuadro 1: GENERACIÓN DE LA MATRIZ DE CICLOS Y ARCOS
1. Si dos nodos están vinculados por N (N > 1) arcos, incorporar N-1
ciclos a la matriz de ciclos y arcos y eliminar del grafo N-1 arcos de ese
conjunto.
2. Generar una lista inicial vacía. Tomar un nodo cualquiera.
3. Si el nodo figura en la lista de nodos ir a 6; si no
4. Incorporar el nodo a la lista de nodos.
5. Tomar un arco cualquiera que contenga al nodo y no haya sido
considerado. Tomar el otro nodo vinculado por el arco. Ir a 3.
6. La secuencia que comienza en la inclusión previa del nodo en la lista y
que concluye con el arco elegido, que termina en ese nodo, constituye un
ciclo.
7. Si el ciclo ya ha sido detectado, desecharlo. Si no, incorporarlo a la
matriz de ciclos y arcos.
8. Eliminar de la lista el último nodo. Considerar el nuevo último nodo
(anterior penúltimo).
9. Si el nodo tiene arcos aún no considerados ir a 5; si no
10. Si en la lista de nodos hay un solo elemento Terminar; si no, ir a 8.
De un modo análogo se detecta el ciclo L3, que se
muestra en la figura 4. Una vez hecho esto, debe
verificarse que L3 es independiente de L1 y L2.
Ciclos
El proceso sigue, de acuerdo al algoritmo, eliminando el nodo V de la lista y eligiendo otro
arco aún no analizado que intercambie con 4; el único que falta es el intercambio con la
corriente 2 (arco 6). Luego debe elegirse el intercambio
Arcos
con la corriente 3 (arco 5). Ahora la lista queda [V 3 1 4
1
2
3
4
5
6
2 3], detectándose otro ciclo, no considerado aún, el (3,
L1
4, 6, 5), indicado como L2 en la figura.
L2
L3
Figura 4
2
El algoritmo destinado a determinar el conjunto de ciclos independientes utiliza la
propiedad de los grafos donde, si los ciclos L1 y L2 tienen en común el conjunto de arcos S,
L1 = Sa U S y L2 = Sb U S, entonces Lx = Sa U Sb es un ciclo en el grafo pero no puede ser
considerado independiente de L1 y L2 y uno de los ciclos del conjunto (L1, L2, Lx) debe ser
eliminado.
De lo anterior, queda claro que, en la matriz de la figura 4, debemos eliminar uno de los
tres ciclos detectados hasta el momento, por ejemplo, L3.
Al continuar aplicando el algoritmo se detectan más ciclos, pero, éstos ya han sido
encontrados por otra vía.
Lo anterior es coherente con la regla general de Hohmann, ya que en la figura 3 aparecen 5
corrientes y 6 equipos en un solo subsistema, lo que determina la existencia de dos ciclos.
Por supuesto que la determinación de los ciclos independientes en un grafo la deberemos
realizar toda vez que modifiquemos la estructura de la red, por ejemplo por la eliminación de
un intercambio.
3
Descargar