unidad tematica ix - fi.unsj.edu.ar pdf/unidad ix.… · energía y para completar la resolución...

27
1 UNIDAD TEMATICA IX SISTEMATIZACION DE DIAGRAMAS DE FLUJO PREPROCESAMIENTO DE LA INFORMACIÓN 1- INTRODUCCIÓN La resolución por computadora de los balances de materia y energía en estado estacionario en esquema modular, consta de dos partes: a) Preparación de la información b) Resolutiva Cada módulo debe ser resuelto a través de sus ecuaciones de balance de masa y energía y para completar la resolución del Diagrama de Flujo de Información (DFI), deben ser resueltos todos los módulos. Para ello debe proveerse a la etapa b) la secuencia de resolución de los equipos, que debe ser tal que las corrientes de entrada de un módulo hayan sido salida de módulos resueltos anteriomente. La primera etapa (a), de sistematización de la información asociada al DFI se denomina PREPROCESAMIENTO, que será tratada a continuación 2- REPRESENTACIÓN COMPUTACIONAL DEL DIAGRAMA DE FLUJOS El DFI es el conjunto de módulos (equipos) y corrientes que representan unívocamente la planta química a simular La representación de una operación de un equipo es: figura 1 x N-1 = vector de propiedades de todas las corrientes de entrada a N x N = vector de propiedades de todas las corrientes de salida a N N = módulo, representación de una unidad de operación tal que: x N = f N (x N-1 ) N x N-1 x N

Upload: dinhkhanh

Post on 01-Oct-2018

223 views

Category:

Documents


0 download

TRANSCRIPT

1

UNIDAD TEMATICA IX

SISTEMATIZACION DE DIAGRAMAS DE FLUJO

PREPROCESAMIENTO DE LA INFORMACIÓN

1- INTRODUCCIÓN La resolución por computadora de los balances de materia y energía en estado estacionario en esquema modular, consta de dos partes:

a) Preparación de la información

b) Resolutiva

Cada módulo debe ser resuelto a través de sus ecuaciones de balance de masa y energía y para completar la resolución del Diagrama de Flujo de Información (DFI), deben ser resueltos todos los módulos. Para ello debe proveerse a la etapa b) la secuencia de resolución de los equipos, que debe ser tal que las corrientes de entrada de un módulo hayan sido salida de módulos resueltos anteriomente. La primera etapa (a), de sistematización de la información asociada al DFI se

denomina PREPROCESAMIENTO, que será tratada a continuación

2- REPRESENTACIÓN COMPUTACIONAL DEL DIAGRAMA DE FLUJOS

El DFI es el conjunto de módulos (equipos) y corrientes que representan unívocamente la planta química a simular La representación de una operación de un equipo es:

figura 1 x N-1 = vector de propiedades de todas las corrientes de entrada a N x N = vector de propiedades de todas las corrientes de salida a N N = módulo, representación de una unidad de operación tal que:

x N = f N (x N-1)

N x N-1 x N

2

Para que el sistema de ecuaciones de balance representado por (f N ) sea computable, se deberá cumplir al momento de resolución de N, que x N-1 contenga: * Propiedades de salida de un equipo M, tal que M preceda a N en la secuencia de resolución. * Propiedades de corrientes alimentadoras de la planta. * Propiedades propuestas, para las corrientes iteradoras. Dado que las propiedades de las corrientes de alimentación son impuestas por el exterior y las de las corrientes iteradoras son procesadas en unidades de resolución diferentes a los módulos, es necesario garantizar que la información de x que se origina en módulos Mi = N, haya sido obtenida con anterioridad a la resolución de N. Por lo tanto el PREPROCESAMIENTO es la etapa previa a la de resolución de los módulos.

Diagrama de Flujo de Información sin reciclos

figura 2 Al no existir reciclos se establece muy facilmente el orden en la resolución. ( 1, 2, 5, 3, 4, 7, 6) o también: (1, 7, 2, 5, 3, 4, 6) Diagramas de flujo sin reciclos no es frecuente en plantas químicas, generalmente se presentan plantas con retorno de corrientes. Sin embargo siempre es posible a los efectos del tratamiento reducir un DFI con reciclos a uno sin ello.

Diagramas de Flujo de Información con reciclos

5 9 10

6 11

1 2 4 3

5 6

7

1 2 3 4

8 7

5 9

1 2 3 4 5 1 2 3 4 8

7 6

10 8 6 11

9 7 12

figura 3

3

Es necesario decidir qué corrientes son elegidas como iteradoras. Al pretender resolver el equipo 2, las propiedades de la corriente 10 no son conocidas porque es salida del equipo 7, que requiere resolución previa de 6, 5, 4, 3 y 2. Se ha identificado una zona con retroalimentación. Si llamamos A al subconjunto del DFI formado por los equipos 2, 3, 4, 5, 6, 7 y sus corrientes asociadas, podemos obtener un DFI sin reciclos como el siguiente:

En este caso la secuencia de resolución es: (1, A, 8, 9) El preprocesamiento deberá reducir entonces todo DFI con reciclos a uno sin ellos, o sea que se ha identificado la zona con reciclo y se ha transformado en un

pseudonodo. El paso siguiente es determinar las corrientes de cada pseudonodo, que

se definirán como iteradoras. Esto se aplica a cada uno de los pseudonodos constituidos. Finalmente, una vez eliminados los reciclos, se establece el orden definitivo de resolución, que de este modo es sencillo. El diagrama de bloques que representa este tratamiento es el que se muestra en la figura 5 Esta sistematización permite caracterizar las tres etapas que componen toda tarea de preprocesamiento:

A: PARTICIONADO: Detección de los tramos que contienen reciclos, tal que puedan ser reducidos a pseudonodos que eliminen los reciclos.

B: RASGADO: Definición de las corrientes iteradoras de cada pseudonodo

C: ORDENAMIENTO: Determinación del orden de precedencia de los módulos (secuencia de resolución), una vez elegidas las corrientes iteradoras.

1 2 A 5

11

12

1 8

9 figura 4

4

figura 5

A continuación se analiza un ejemplo:

figura 6

DFI

¿Existen reciclos? NO

Se identifica y funden

en pseudonodos que

los eliminan

Se eligen las

corrientes iteradoras

de cada pseudonodo

Se establece el orden

de precedencia FIN

SI

A

B

C

1 2 3 4 5 6

1 2 3 4 8 9

11 10 9 8 7

7 6 5 10

12 13 14

5

1 2

3,4,5,6 B

7

A- PARTICIONADO Se obtienen los pseudonodos siguientes: A: [ 2, 3, 4, 5, 6, 7 ] B: [ 8, 9, 10 ] que permiten obtener como secuencia [ 1, A, B ] (DFI sin reciclos)

B- RASGADO Se definen como iteradoras las corrientes 9 en A y 8 en B y se obtiene el siguiente grafo:

figura 7

C- ORDENAMIENTO

Una posible secuencia de nodos derivada de este rasgado es:

[ 1, 5, 6, 7, 2, 3, 4, 8 , 9, 10 ] Nótese que si se hubiera tomado como pseudonodo A al conjunto (3, 4, 5, 6), se hubiera obtenido el siguiente grafo, que aún es cíclico:

figura 8

1 2 3 4 5 6

1 2 3 4 8 9

11 10 9 8 7

7 6 5 10

12 13 14

6

3- ELEMENTOS DE LA TEORÍA DE GRAFOS FINITOS

GRAFO: Es la representación formada por el conjunto finito de N nodos, vinculados entre sí por pares, mediante C corrientes.

N = { M1 , M2 , M3 .................... , MN } NODOS

C = { C12 , C1J ,........... CIK , ...........Cm n } CORRIENTES

figura 9

GRAFO DIRIGIDO: Es un grafo dirigido cuando todas sus corrientes son dirigidas. Se simboliza con “G”. Sinónimo es Digrafo.

figura 10 CORRIENTE DIRIGIDA: Dos nodos se vinculan a través de una corriente dirigida si y solo si la corriente nace en uno de ellos y termina en el otro (Tiene sentido establecido). PREDECESORES Y SUCESORES INMENDIATOS: Sea una corriente dirigida Cij que nace en Mi y termina en Mj a través de Cij y a Mi como predecesor inmediato de Mj a través de Cij y a Mj como sucesor inmediato de Mi a través de Cij.

M3

M1

M2 M4

C12 C25 C45

M3

M1

C12 C32 C45 C34

M2 M4

C24

C42

M3

7

C32 C45 C34

M2 M4

C24

CAMINO (r): entre dos nodos Mi y Mq en un grafo finito “G”, es un conjunto de corrientes dirigidas, ordenadas según la secuencia de recorrido por medio de sus sentidos, que se originan en Mi y termina en Mq r ij = Cij, Cjk, ..................., Cmp, Cpq NODOS PREDECESORES Y SUCESORES: Se dice que Mi es predecesor de Mq si existe al menos un camino de Mi a Mq (Mq es sucesor de Mi). CAMINO CICLICO: Si un camino se origina y termina en un mismo nodo, es cíclico (Mi = Mq). Es útil aclarar que en un camino cíclico, los nodos que éste atraviesa pueden aparecer más de una vez en el recorrido. CICLO: Dado un grafo finito dirigido G, se define como ciclo Cr al subconjunto de nodos que determinan el camino cíclico ( r ). SUBGRAFO CICLICO: Si existe Cr y Cr es un subconjunto propio de N, el subconjunto determinado por Cr y todas sus corrientes asociadas se denomina Subgrafo Cíclico. Si Cr existe y no es un subconjunto propio de N, se denomina Grafo Cíclico G. CAMINO SIMPLE: Se dice que un camino es simple si todos los nodos que el camino atraviesa, incluidos el inicial y final, aparecen solo una vez en el recorrido. EJEMPLO: En el grafo de la figuna anterior: C12 = es una corriente dirigida entre M1 y M2

r14 = {C12 , C24 } es un camino simple entre M1 y M4 M2 = es sucesor inmediato de M1 M4 = es sucesor de M1

r33 = {C32 , C24 , C43 } es un camino cíclico de M3 a M3

Cr33 = M2 , M4 , M3 } ciclo correspondiente La siguiente figura representa un subgrafo cíclico de G

figura 11

CICLO MAXIMO: Un ciclo es máximo sí y solo sí todos los demás ciclos de G, o tienen sus nodos contenidos en CM, o no tienen ningún nodo común con él.

M3

8

Si se aplica la definición del grafo de la fig 6, donde se pueden identificar los siguientes ciclos: C1 = {8, 9, 10} C2 = {3, 4, 5, 6} C3 = {2, 3, 4, 5, 6, 7} Se puede ver que: C1 es un ciclo máximo (ninguno de los otros ciclos C2 y C3 poseen un nodo común con él) C2 no es ciclo máximo, los nodos (3) , (4) , (5) y (6) son comunes a C3, pero C2 no contiene a C3 C3 sí es un ciclo máximo GRAFO SIMPLE: Es aquel grafo dirigido en el cuál puede existir a lo sumo una corriente entre un dado par de nodos Mi y Mj, que nace en Mi y termina en Mj. CAMINO CICLICO SIMPLE: Es el camino simple que empieza y termina en un mismo nodo. CICLO SIMPLE: Es el conjunto de nodos que determinan el camino cíclico simple.

4- PARTICIONADO Se trata en esta sección de redefinir los conceptos ya introducidos a partir de los elementos de la teoría de grafos. Retomamos el ejemplo de la fig 6: a) Todo DFI es un grafo dirigido en el que sus nodos son los módulos del DFI y las corrientes dirigidas del grafo, las corrientes del DFI. A este grafo se lo llama grafo de equipos o simplemente grafo. b) Un pseudonodo máximo es un subgrafo cíclico (GCM) determinado por un ciclo máximo (CM)

Por lo tanto, el Particionado es la operación de reducción de un Grafo a otro, en

el cuál se reemplazan por nodos todos los subgrafos cíclicos determinados por

ciclos máximos.

Se analizan a continuación algunos métodos de particionado.

9

A =

Métodos Matriciales de Detección de Ciclos. Matriz de Adyacencia.

figura 12

Se define como Matriz de Adyacencia ( A ) de orden ( n x n), donde n es el número de nodos del dígrafo, a la matriz de elemento genérico [aij] = 1 si existe una corriente dirigida Cij que nace en el nodo (i) y termina en el nodo (j). En caso contrario [ aij ] = 0 La matriz de adyacencia asociada al grafo anterior es: 1 2 3 4 5

1 1

2 1

3 1 1

4

5 1

La fila q vacía denota que el nodo (q) no es antecesor inmediato de ningún otro nodo en G y la columna p vacía indica que en nodo (p) no es sucesor inmediato de nodo alguno en G. El algoritmo que se emplea permite la detección sistemática y posterior fusión en pseudonodos de ciclos en el grafo y finalmente, de los subgrafos cíclicos a través de los ciclos máximos que los definen. La base del algoritmo es la multiplicación por sí misma (potenciación) de la matriz de adyacencia obteniéndose las sucesivas matrices

Ar con r = 1, 2, 3, ........................., n

La propiedad fundamental de A es presentada por el sig. teorema:

En la matriz Ar un elemento genérico [aij] no nulo, indica con su valor el

número de caminos formados por ( r ) corrientes que nacen en el nodo (i) y

terminan en el nodo (i) De este teorema se deduce que si para un valor de (r) existen en A

r elementos no

nulos en posiciones de la diagonal principal de la matriz [aii] 0 existirán [aii]r caminos de ( r) corrientes que nacen en (i) y terminan (i) . O sea [aii]r ciclos de los cuáles el nodo (i) forma parte.

1 2 3 4

5

10

El método se basa entonces en la obtención de las sucesivas potencias de la matriz de adyacencia hasta detectar la presencia de elementos no nulos en la diagonal principal de A Ejemplo: A A

2 A

3

1 2 3 4 5 1 2 3 4 5 1 2 3 4 5

1 1 1 1 1 1 1

2 1 2 1 1 2 1

3 1 1 3 1 3 1

4 4 4

5 1 5 1 5 1 1

Si la matriz potencia A

r presenta elementos no nulos en su diagonal principal, es

porque existe un camino de ( r ) corrientes que saliendo de (i) llega a (i) y por lo tanto ha detectado un ciclo. En r = 3 aparecen en la diagonal ppal de A

3 los nodos (2) (3) y (5) con elementos no

nulos, ya que éstos son los elementos del ciclo asociados al camino cíclico de r = 3 corrientes en el problema analizado.

Método de Particionado de Kehat y Shacham

En este método se eliminan las desventajas del método matricial de detección subgrafos cíclicos anterior, en cuanto al tamaño de la matriz de adyacencia y de su escaso volumen de información (matriz dispersa) y de las operaciones matriciales en las áreas vacías de aquellas. Se adopta una representación tabular, con una tabla o lista, de la información del Diagrama de Flujo de Información a pesar de que los fundamentos del método es matricial. Apliquemos los conceptos de matriz de adyacencia al grafo de la figura 13 Cuando se obtiene A

r con r = 4 se detecta el ciclo [ 2, 3, 7, 6 ]

Del análisis de las potencias de Ar, se nota:

* Puesto que A es dispersa (7 posiciones de información sobre 49), una elevada proporción de espacio no es usada. Esto se repite en las otras potencias. * Las filas y las columnas que en A no poseían elementos no nulos, no los tienen en las sucesivas potencias. En el caso de filas de A, el nodo (4) corresponde a un nodo

sin sucesores inmediatos (nodo terminal), no se inicia ningún camino r. Igual en el caso de las columnas, (5) es nodo sin antecesores inmediatos, nodo inicial. Esto nos hace remarcar que en la matriz A no solo hay espacios sin información sino que hay filas y columnas que no aportan información en A y en sus potencias sucesivas.

11

* En una matriz altamente dispersa como A, las operaciones matriciales de multiplicación implican cálculos sobre las posiciones vacías que solamente aumentan los tiempos de cálculo.

Estas desventajas sirven para justificar el algoritmo de Kehat y Shacham:

Fundamentos:

Se eliminan en las matrices del ejemplo las filas (columnas) vacías y las columnas (filas) correspondientes al mismo nodo. De este modo se obtienen las matrices : 2 3 6 7 2 3 6 7

2 1 jk 2 1

3 1 3 1

6 1 6 1

7 1 7 1 A1 A2 2 3 6 7 2 3 6 7

2 1 2 1

3 1 3 1

6 1 6 1

7 1 7 1 A3 A4 Esta reducción es solo la eliminación de los nodos terminales de entrada o salida que no tienen posibilidades de integrar un ciclo.

En este punto se define la Matriz de Indices B, de (m x 2), donde cada una de las m filas corresponde a cada uno de los elementos no nulos contenidos en la matriz cuadrada asociada, o sea a cada una de las corrientes del grafo.

Para una fila h de esta matriz el elemento de la columna de la izquierda (I1h ) es el

número de nodo (i) en la matriz cuadrada asociada, que corresponde a cada [aij] 0 en ésta. El elemento de la columna de la derecha ( I2

h ) es el número (j) del mismo

[aij] 0 en la cuadrada asociada. Por lo tanto, a cada una de las matrices A

r del ejemplo con r = 1, 4, se le puede

asignar una matriz de índices Br .

En cada una de estas matrices B

r , la columna de la izquierda representa todos y cada

uno de los nodos antecesores de un camino de r corrientes que nace en ( I1h ) y la

columna de la derecha los nodos sucesores (I2h

) que corresponden a un camino de

r corrientes originado de (I1h ) para todo h = 1, m.

12

Las matrices de índices Br de la siguiente figura, contienen la misma información que

las Ar asociadas, con el consiguiente ahorro de posiciones de memoria.

1 2 2 3 2 7 2 6 2 2

2 3 3 7 3 6 3 2 3

3 4 6 2 6 3 6 7 6 6

3 7 7 6 7 2 7 3 7 7

5 6

6 2

7 6

B A B1 A1 B1

2 A1

2 B1

3 A1

3 B1

4 A1

4

Se observa que en B1 se han eliminado los nodos terminales, que a partir de allí no participarán en el cálculo de las sucesivas potencias. Si tomamos la matriz B1

2, se puede obtener B1

3 a partir de aquélla reemplazando

cada elemento (I2 ) en B12 por el sucesor inmediato de ( I2 ) en B1.

Así si ( 1 ) = ( 2 ) , el nodo I2 = ( 7 ) será reemplazado en B13 por el sucesor inmediato

de (7) , que según consta en B1 , es el nodo (6). De este modo: En B1

2 (6) se reemplaza por (2) en B1

3

(3) “ (7) “ (2) “ (3) “ obteniéndose las siguientes matrices

2 7 2 6

3 6 3 2

6 3 6 7

7 2 7 3

B1

2 B1

3

La matriz de índices B1

3 es asociada a la matriz de potencia A1

3. O sea que con este

procedimiento se reemplaza la operación de multiplicación de A12 x A1 , por el

mecanismo de reemplazar los sucesores en B12 por sus sucesores inmediatos para

generar B13 .

Se reitera este procedimiento para obtener la B1

4 asociada a A1

4 . Se puede observar

que la presencia de nodos en la diagonal ppal, se convierte en la existencia de un par de nodos iguales en ciertas filas de B1

4 (I1 = I2 ). Si un nodo es sucesor de sí mismo,

a través de un camino de r corrientes, forma parte de un ciclo de r nodos.

13

Resumen del algoritmo de Kehat y Shacham

Conceptos básicos:

a) A cada matriz potencia A

r se asocia una representación tabular (matriz de índices)

que mantiene la misma información que Ar a través de los subíndices de los

elementos [aij] 0 b) El producto de matrices se reemplaza por el procedimiento de reemplazo de los nodos sucesores en B

r , por sus respectivos sucesores inmediatos para obtener B

r+1

c) La matriz de adyacencia A , a través de su “tabla” asociada B, se simplifica en cada etapa del cálculo por eliminación de los nodos terminales del grafo.

Etapas del algoritmo

1) Los nodos sin corrientes de entrada son eliminados del tratamiento y almacenados como nodos de entrada. En el caso de la matriz A esto significa prescindir de las columnas vacías y las filas de igual número. En las tablas B, implica eliminar todos los nodos que existiendo en la columna de la izquierda, no figuran en ninguna posición de la columna de la derecha (no son sucesores de ningún nodo y por lo tanto no poseen corrientes de entrada). 2) Los nodos sin corrientes de salida son eliminados del tratamiento y almacenados como nodos de salida. En A se prescinde de las filas vacías y las columnas de igual número. En B, se eliminan los nodos de la derecha que no figuran en ninguna posición en la columna izquierda. O sea estos nodos no son antecesores de ningún nodo y por lo tanto no poseen corrientes de salida. 3) Se repiten los pasos 1 y 2 hasta que no queden en B nodos sin sucesores ni antecesores inmediatos. 4) Se computan por el mecanismo de búsqueda de sucesores inmediatos, las sucesivas potencias de A a través de la representación de índices B. Si un sucesor en B

r-1 tuviera más de un sucesor inmediato en B se repetirá en B

r el elemento (I1) de

Br-1

hasta computar todas las ramificaciones producidas por las existencia de sucesores inmediatos múltiples. 5) Luego del cómputo de B

r se identifican los ciclos de ( r ) nodos. Esta identificación

que en A significaba detectar la aparición de elementos no nulos en la diagonal principal de A

r , consiste en detectar las (p) igualdades I1 = I2 , que pueden aparecer

en Br.

6) Se comparan ( p ) y ( r ). Si ( p ) es mayor que ( r ), se han detectado mas de un ciclo de r equipos. Puesto que las potencias de B de orden ( r ) implican caminos de ( r ) corrientes, el hallar un camino cíclico de orden r implica un ciclo de ese orden.

14

Por lo tanto, si (p) que es el número de igualdades I1 = I2 es mayor que ( r ), esto puede corresponder solo al caso de que se hayan detectado simultáneamente mas de un ciclo de r nodos. Por lo tanto (p) solamente puede ser múltiplo entero de ( r ). En el caso de p = q x r , con q entero positivo, se emplea el método de identificación de cada ciclo desarrollado por Norman. 7) Si p = r se funden los p elementos del ciclo en único pseudonodo y se almacena la composición del mismo. Ej: si (2, 3, 4) forman un ciclo de p = r = 3, se reemplaza en B 2, 3 y 4 por un pseudonodo. Si se usa el mismo número (2) para identificar al pseudonodo, se almacenará la composición de (2) = 2, 3, 4 y luego se reemplazará en B , toda vez que aparezcan (3) y (4) por (2). Nótese que si luego del reemplazo se presentara una fila con I1 = 2 y I2 = 2 en B, se eliminarán ambos valores, ya que la información que aportan es trivial. Una vez reemplazado el pseudonodo en B, se vuelve al paso 1 y se reinicia la secuencia. El algoritmo se considera concluido cuando la tabla B se vacía, sea luego de la fusión de ciclos en pseudonodos o luego de la eliminación de nodos sin sucesores o antecesores inmediatos

15

RASGADO DE DIAGRAMAS DE FLUJO DE INFORMACIÓN

Una vez aplicado el particionado al DFI, se ha reducido el grafo original a otro en el que los subgrafos cíclicos detectados están enlazados en secuencia lineal.

El rasgado conduce a la selección de corrientes de corte asociadas a cada

subgrafo cíclico, que lo transforman en una secuencia lineal de resolución

iterativa, hasta convergencia de las propiedades de las corrientes de corte.

Supongamos el sugrafo de la figura 13 (c), que corresponde al sector del DFI indicado en (a). En (b) se indica el subgrafo asociado y en (c) el mismo subgrafo sin la información terminal de las corrientes de entrada y salida.

fig. 13 (a)

7

11

6

9

5

2

1

3

0

10

1

2

4

3

8

16

Para resolver este subgrafo cíclico como parte de una simulación, será necesario rasgar el grafo linealizándolo. Si los criterios del caso aconsejan elegir la corriente (8) como de corte, el esquema se reduce a lo mostrado en (d). En la etapa resolutiva se seguirán los siguientes pasos: 1- Proponer valores a las propiedades de la corriente 8º. 2- Computar las secuencias de equipos 3, 2, 4, 1, que producirán como salida 8*. 3- Comparar los valores de 8* con 8º 4- Repetir el proceso luego de una nueva propuesta de valores 8º para obtener una salida 8* .Este proceso se reitera (n) veces, hasta que se cumpla que las propiedades de 8* sean iguales a las de 8º 5- En este punto el subgrafo se considera resuelto y las propiedades de las corrientes asociadas a él, totalmente conocidas. En general, este procedimiento implicó dos pasos: a) Elección de un criterio para seleccionar las corrientes de corte b) Elección de las corrientes de corte a partir de ese criterio.

Criterios de selección de corrientes de corte

Los criterios de selección de los conjuntos de las corrientes de corte es el

problema mas crítico y específico del preprocesamiento del DFI .

Crítico porque de ello depende la velocidad de convergencia de la computación y específico porque es imposible establecer a priori un criterio de selección óptimo que sea independiente del DFI a resolver.

17

Aún no existe un criterio universal que permita elegir el conjunto óptimo, por lo que es tema de muchas investigaciones. De todos modos, puede adoptarse como criterio de optimización que “el mejor conjunto de corte” es aquel que minimiza los tiempos de computación, que establece un punto de partida.

La resolución iterativa de un conjunto de corrientes de corte implica en una iteración n el trabajo de proponer los valores de la corr. iteradoras.

Si llamamos x1 , x2,......, xj , ....., xu , a los vectores de propiedades de la “u”

corrientes de corte, en cada iteración deberán proponerse los m1 + m2 + .......... +

mu valores de las variables independientes de las corrientes. En gral. el trabajo de proposición se hace en base a mecanismos de aceleración de la convergencia del tipo:

( xjº ) = F [ ( xj* )n-1 ; ( xj* )n-2 .......]

o sea que se tienen en cuenta para proponer los nuevos valores, los valores de salida de una o más iteraciones anteriores. En algunos de los métodos de aceleración de la convergencia, la operativa es muy complicada y por lo tanto el tiempo de computación es considerables. Aún más crítico es que en gral. es función creciente del número de variables que es necesario acelerar. Como consecuencia un buen criterio inicial de selección de corrientes de corte que

optimicen el tiempo de computación, es elegir el menor número de variables en el

conjunto de corrientes de corte.

Se define como “peso” (w) de una corriente, a un valor numérico asociado a la

misma que permite reflejar cuantitativamente alguna propiedad diferencial de la

misma respecto de la convergencia en un sistema iterativo.

Dadas 2 corrientes i y j , si el peso de i (wi) es > que el peso de j (wj) , esto indica que j es preferible a i en cuanto a la optimización de la convergencia.

Una de las formas de definir pesos es asignar a toda corriente un peso igual al

número de variables independientes de la misma. “Por lo tanto el primer criterio de selección de corrientes puede definirse como: Sea CC = [ c1, c2, c3, .........., cu ] un conjunto de u corrientes que lineariza totalmente el subgrafo. Sea W = [ w1 , w2 , w3 , ......, wu ] el conjunto de pesos de las corrientes asignados, iguales al número de variables independientes de cada corriente. Se deberá buscar el conjunto CC tal que P sea mínimo, con:

u

P = wi

i=1 En el caso de un DFI en el que todas las corrientes tengan igual nº de variables independientes, buscar el mínimo de P es buscar el mínimo nº de corrientes de corte según:

18

W = [ w1 , w2 , w3 , ......, wu ] ; w1 = w2 = w3 = ...... = wu = w

u u

P = wi = w = u * w

i=1 i=1 Por lo tanto el mínimo de ( P ) = mín ( u x w ) = w x mín (u) Resumiendo dos criterios posibles para optimizar el conjunto de corrientes de corte son: 1) Buscar el set de corte que minimice la sumatoria de los pesos de las corrientes del set 2) Buscar el mínimo nº de corrientes de corte. En el caso en que el nº de variables independientes de todas las corrientes sea el mismo, los dos criterios son uno solo. El segundo criterio es el mas simple y es el que se aborda en este curso. A partir de éste se desarrolla un algoritmo clásico que permite implementar este criterio.

Algoritmo de Lee y Rudd

Estos autores desarrollaron un algoritmo que permite utilizar cualquiera de los dos criterios expuestos. Solo se verá la primera parte del mismo, que operando sin asignar pesos a las variables, obtiene el mínimo conjunto de corrientes de corte.

Elementos

Una de las características fundamentales del algoritmo de Lee Rudd (LRI) es que requiere el conocimiento de todos los ciclos simples que componen el subgrafo a estudiar. Esto exige un tipo especial de particionado, en el cuál se computan todos y cada uno de los ciclos simples detectados al buscar ciclos máximos. La información de los ciclos que componen el ciclo máximo a rasgar, se sistematiza en

una matriz de ciclo C de dimensiones ( m x n ) donde m es el nº de caminos cíclicos

simples del subgrafo y n el nº de corrientes del subgrafo. Un elemento genérico de la

matriz [cij] distinto de cero, si el camino cíclico (i) incluye la corriente j . Caso contrario será nulo.

A

C

B

D

E

1 5

8

3 2 4

7

6

figura 14

19

En el subgrafo cíclico de la fig 14 se pueden detectar los siguientes caminos cíclicos simples:

L1 : (2, 3)

L2: (1, 2, 4)

L3 : (7, 8)

L4 : (4, 5, 6, 7)

Rango de un camino cíclico r es el nº de corrientes que componen ese ciclo simple Li

n

ri = cij n = nº de corrientes del subgrafo

i=1

Frecuencia de una corriente fj es el nº de veces que una corriente aparece con elementos no nulos en C . O sea el nº de ciclos en los que participa cada corriente

n

fj = cij n = nº de ciclos simples del subgrafo

j=1

CORRIENTES RANGO

1 1 2

1 1 1 3

1 1 2

1 1 1 1 4

1 2 1 2 1 1 2 1

Esta es la matriz de ciclos del subgrafo ampliada con los vectores rango y frecuencia

Corriente contenida: Se dice que una corriente j1 está contenida en otra j2 si se cumplen las siguientes condiciones:

1) f j2 f j1

2) [ cij1 ] [ cij2 ] = [ c ij2 ] para todo i = 1, m . Donde el operador indica suma booleana --------------------------------------------------------------------------------------------------------------------

Nota: El álgebra de Boole es aquella que utiliza variables que sólo pueden tomar 2 valores llamadas variables booleanas.

CICLOS

FRECUENCIA

A

+ +

20

A los dos valores diferentes de una variable booleana se les codifica con los bits “0” y “1”. Estos valores no representan dígitos numéricos, sino que representan dos estados distintos de un dispositivo.

OPERACIONES BÁSICAS DEL ÁLGEBRA DE BOOLE. OPERACIONES LÓGICAS. La suma lógica: Representa la unión de dos conjuntos (AUB). Supuestas dos variables lógicas A y B.

A + B = 1 Si A ó B ó A y B = 1

A + B = 0 Si A y B = 0 El producto lógico: Representa la intersección de dos conjuntos (A Ω B). Supuestas dos variables lógicas A y B.

A · B = 1 Si A y B = 1

A · B = 0 Si A ó B = 0 ---------------------------------------------------------------------------------------------------------------------

Aplicando las condiciones del algoritmo al ejemplo.

Si se toma j1 = 3 y j2 = 2 puede verse que j1 está contenida en j2 puesto que: a) f j2 = f2 = 2 f j1 = f3 = 1 f j2 > f j1 b) [ c1j1 ] [ c1j2 ] = 1 1 = 1 = [ c ij2 ] [ c2j1 ] [ c2j2 ] = 0 1 = 1 = [ c ij2 ] Es importante el sentido físico del concepto de corriente contenida. Dado que el objetivo del algoritmo es encontrar el menor nº de corrientes que corten el subgrafo, será de particular interés detectar qué corrientes tienen más poder que otras para linearizar un grafo. Si se observa en la fig. 14 las corrientes usadas para ejemplificar la corriente contenida, se obtendrá que la corriente 3 sólo participa en el camino cíclico ( 2, 3 ). Esto se refleja cuantitativamente en su f = 1. Por el contrario la corriente 2 con f = 2 forma parte de (2, 3) y de (2, 1, 4) Si se recuerda que basta con cortar una corriente para abrir un ciclo, cortando 3 solo abriremos (2, 3 ). Sin embargo eligiendo 2 como corr. de corte, se abre además (1, 2, 4). O sea que la potencialidad de 3 para abrir el camino cíclico (2, 3) está contenida

+

+ +

+

21

como parte de la capacidad de corte de 2, que ejecuta la linearización de dos ciclos con una sola corriente de corte.

En gral, una corriente contenida no posee más posibilidades de linearización que

aquélla que la contiene y por lo tanto no debe ser tenida en cuenta en el análisis.

Operativa

El algoritmo de Lee y Rudd se basa en la reducción de la matriz de ciclos C , por eliminación de las corrientes contenidas, hasta lograr que los rangos de los ciclos se

reduzcan a r = 1 En el ejemplo, además de 3 contenida en 2, se puede considerar 5 y 6 contenidas en 4, 8 en 7 y 1 en 2, con lo cuál la matriz de ciclos se reduce a :

2 4 7

1 1

1 1 2

1 1

1 1 2

En este punto, los caminos cíclicos L1 y L3, han reducido su rango a r1 = r3 = 1. Es entonces obligatorio elegir la única corriente que determina el rango unitario para cada ciclo, puesto que de no cortar esas corrientes después de la reducción, el ciclo no sería abierto nunca. Se eligen entonces las corrientes: 2 que determina el rango de L1 unitario y la corriente 7 que hace L3 =1. Al cortar 2 se abren los caminos cíclicos L1 y

L2 y al cortar 7 lo hacen L3 y L4. El grafo ha quedado totalmente linearizado.

Puede suceder que, luego de agotada la etapa de reducción, no aparezcan valores unitarios en los rangos de los ciclos, tal como se muestra a continuación:

1 2 3 4 5

1 1 2

1 1 2

1 1 2

1 1 2

1 1 1 3

1 1 1 3

1 1 2

1 1 2

En este caso, se deben seguir los siguientes pasos: 1- Se construye una lista con las combinaciones de corrientes que no cortan cada uno de los ciclos. Esta lista representa los conjuntos de corrientes que no solucionan el

L1

L2

L3

L4

L1

L2

L3

L4

L5

L6

L7

L8

22

L1 =

problema de abrir todos los ciclos, ya que cualquier conjunto de corrientes que figure en la lista, no abre al menos un ciclo y por lo tanto no lineariza el subgrafo,

134

123

145

125

45

25

345

235

2- Se construye una tabla de las combinaciones de todas las n corrientes (5 en el ejemplo) agrupadas de a q donde q es el nº de elementos del mayor conjunto de corrientes que no abren un ciclo.

123

124

125

134

135

145

234

235

245

345

Se comparan los elementos de las dos tablas anteriores y se encuentra que las combinaciones (124), (135), (234), (245) no figuran el la lista L1 y por lo tanto constituyen un set de corrientes de corte que abren totalmente el subgrafo. Pero no estamos seguros de que este conjunto de q = 3 corrientes de corte, sea el mínimo que lineariza el subgrafo.

Para buscar un conjunto mínimo, se toma q1 = q - 1 y se construyen la lista L2 y la tabla de combinaciones de n corrientes tomadas de a q1 . L2 es ahora todo par de corrientes que no abre el subgrafo y se construye a partir de L1, tomando las combinaciones de los elementos que componen cada conjunto en L1, de a q1 según la tabla de la fig. 15 La tabla de combinaciones se muestra en la fig. 16 Comparando con L2, se encuentra que solamente el par (2, 4) figura en la tabla de pares de corrientes pero no en L2, se concluye que, para este caso, el set de corrientes (2, 4) es un conjunto de corrientes de corte que abre totalmente el grafo.

23

13 14 34

12 13 23

14 15 45

12 15 25

45

25

34 35 45

23 25 35

figura 15

12 23 34 45 13 24 35

14 25 15

figura 16

Si finalmente se construye L3 , con q2 = q1 - 1 las cinco corrientes en L3 , a partir de L2 y por lo tanto, no hay ninguna corriente capaz de linearizar totalmente el grafo. Nótese que este paso era innecesario ya que al no existir ningún rango 1 en la ultima matriz de ciclos, ninguna corriente era capaz por sí sola de abrir ni siquiera un ciclo, mucho menos el total de ciclos del grafo. En resumen, el conjunto mínimo de corrientes de corte que lineariza el grafo es un

conjunto de 2 corrientes: 2 y 4.

Desventajas del método:

* Requerimineto de la matriz de ciclos que exige un tratamiento de particionado con detección de todos y cada uno de los ciclos. El mantenimiento de esta información en memoria requiere áreas de almacenamiento de datos grandes. * El procesamiento del análisis combinatorio requerido para completar el algoritmo cuando la reducción no da resultados, es laborioso y puede elevar el tiempo de computación a valores muy altos. Como contrapartida garantiza la obtención del conjunto mínimo de corrientes de corte.

Los autores han propuesto variantes al método como un acelerador del cálculo asociado al análisis combinatorio y la aplicación de pesos arbitrario que no se tratan aquí.

134

123

145

125

45

25

345

235

L1 L2

24

ORDENAMIENTO

El particionado redujo el grafo del DFI a una secuencia lineal de subgrafos cíclicos identificados como pseudonodos máximos.

El rasgado definió el conjunto de corrientes iteradoras para poder linearizar cada subgrafo mediante la resolución iterativa de las propiedades de dicho conjunto. En este momento se requiere establecer la forma final en que el procesamiento

entregará al programa de simulación la lista ordenada de los equipos a resolver y

las corrientes iteradoras que deberán ser inicializadas y posteriormente

aceleradas en su convergencia. El Ordenamiento comprende dos problemas: 1) El ordenamiento de la secuencia de resolución de cada subgrafo 2) La secuencia de resolución final del DFI completo

1) Algoritmo de Ordenamiento de Subgrafos Cíclicos

Paso 1: Se identifican todas las corrientes conocidas al iniciar la etapa resolutiva, o sea: las corrientes alimentadoras del subgrafo y las corrientes definidas como iteradoras por el rasgado.

Paso 2: Se investigan uno a uno los nodos del subgrafo de manera de detectar uno en el que todas sus corrientes de entrada sean conocidas.

Paso 3: Cuando ese equipo ha sido hallado, se lo ubica en el orden de precedencia en la próxima posición y se adicionan en la lista de corrientes conocidas las salidas de ese nodo.

Paso 4: Se repiten los pasos 1 a 3 hasta que todos los nodos del subgrafo hayan sido ordenados Esto se muestra en el diagrama de bloques de la figura 17.

2) Construcción de la Lista Ordenada de Equipos Una vez establecido el orden de precedencia para cada subgrafo cíclico, siguiendo el ordenamiento de los pseudonodos máximos del particionado, es posible construir dos listas ordenadas de equipos:

a) La primera lista consiste en ordenar para la etapa ejecutiva, tantas

secuencias de resolución como pseudonodos máximos haya detectado el

particionado, enlazadas secuencialmente en el orden que éste produjo.

Esta sistemática indica que el programa de ejecución tomará cada uno de los subgrafos y los resolverá sin abandonarlo, hasta haberlo concluído totalmente. Este

25

cálculo iterativo llevará a convergencia todas las corrientes de corte (uj) de un subgrafo, antes de pasar al siguiente. En este caso, el programa ejecutivo opera cada vez sólo con las corrientes de corte del subgrafo que trata.

figura 17 LISTEQ: Lista de nodos del subgrafo cíclico LISSAL: Orden de precedencia C: Conjunto de corrientes conocidas, formado por alimentadoras, iteradoras y salidas de equipos ya incluídos en LISSAL. Ni: Un nodo de LISTEQ cij: Corr. de entrada a Ni (j = 1,.......nNi ) , nNi : número de corrientes de entrada a Ni cki: Corr. de salida de Ni (k = 1,.......mNi ), mNi : número de corrientes de salida de Ni

Elimine Ni de

LISTEQ

EMPIECE

¿LISTEQ

VACIA?

i = 1

NO

cij C

j de Ni

¿ Ni en

LISTEQ?

Coloque en C todo

cki de Ni y Ni en la

posición siguiente

de LISSAL

FIN SI

i = i+1

NO

SI

SI

NO

26

b) La segunda lista se construye en base a una secuencia UNICA de resolución

de todo el DFI, por lo que el programa de cálculo deberá operar simultáneamente con la convergencia de N corrientes iteradoras donde:

m

N = uj m = nº de subgrafos cíclicos detectados por el particionado. j=1 En gral, la primera alternativa es la más conveniente, excepto en ciertos casos particulares. Ejemplo:

La información producida por las tres etapas de pre-procesamiento es: Subgrafos cíclicos: 2 (A, B, C ) y ( D, E, F ) Corrientes de Corte : Subgrafo (A, B, C ) : corriente 2 Subgrafo ( D, E, F ) : corriente 6 Ordenamiento: Subgrafo ( A, B, C ) : ( C, A, B ) Subgrafo ( D, E, F ) : ( E, F, D ) Analizamos el comportamiento del programa de resolución a partir de la siguiente secuencia de ejecución: a) Se resuelve el primer subgrafo ( A, B, C ) iterando hasta convergencia de la corriente 2. Al cumplirse este requisito, se conoce la corriente 5 y por lo tanto: b) Se resuelve el subgrafo ( D, E, F ), iterando hasta convergencia de la corriente 6

Durante la etapa a) , el programa ejecuta los equipos según:

{( C, A, B ), ( C, A, B ), ( C, A, B ),.........., ( C, A, B )}

----------------------- r1 veces ----------------------------- hasta lograr la convergencia de 2 (una sola corriente)

4 3

1 2 5 6 9

8 7

A

E C B D

F

27

Durante la etaba b) , el programa ejecuta:

{( E, F, D ), ( E, F, D ), ( E, F, D ), ........... ( E, F, D )}

----------------------- r2 veces------------------------------ hasta lograr la convergencia de 6 (una sola corriente) En cada etapa el programa debe resolver 3 equipos y converge 1 sola corriente de corte. Analizando otra alternativa: a) Se resuelve todo el DFI en conjunto hasta convergencia simultánea de 2 y 6. En este caso el programa debe calcular:

{( C, A, B, E, F, D ), ( C, A, B, E, F, D ), ............. ( C, A, B, E, F, D )

--------------------------------- r3 veces ---------------------------------------

El programa está obligado a manejar el total de los equipos en cada iteración, con la desventaja adicional de tener que acelerar simultáneamente la convergencia de 2 corrientes. Además, durante la aceleración de la convergencia de la corriente 6, se emplean valores de las propiedades de la corriente 5 que cambian hasta tanto 2 no logre la convergencia.

Por ello, se puede afirmar que la alternativa de resolución secuencial, no

simultánea, de los distintos subgrafos cíclicos, es la más recomendable para la

simulación.

Es importante recalcar, que el pre-procesador deberá entregar su información de

salida, de acuerdo a la estructura del programa ejecutivo. Para éste no es lo

mismo operar de una u otra forma y a programa de simulación dado, será

necesario adecuar el procesador a sus necesidades