Está en la página 1de 24

INTEGRACION IV

INTRODUCCIN

UTN - Facultad Regional Rosario


Ingeniera Qumica

2009

FLOW SHEET
Diagrama de flujo o de
proceso

E1

E2
E3

F
Q

Diagrama de flujo de
informacin

Definiciones
Nodo:
Predecesores (antecesores): El nodo 3 es
antecesor del 2
Sucesores: El nodo 1 es sucesor del 2

Ciclo:
E2
E1

E3

conjunto de nodos que determinan un camino


cclico, es decir un camino que comienza y
termina en el mismo nodo

Se supone conocida L

Aspectos
estructurales
Topologa del sistema
de ecuaciones

Preprocesamiento
Mtodo de resolucin
eficiente.
Para sistemas
de alta
dimensin
Particionado en subsistemas
independientes.
Al ser resueltos cada uno de ellos en un orden
particular se obtiene la solucin global del
sistema de ecuaciones dado

ANLISIS ESTRUCTURAL
DE SISTEMAS DE
ELEVADA DIMENSIN

Particionado: Deteccin de tramos que


contienen reciclos y reduccin a pseudonodos
que los almacene
Rasgado: definicin de la(s)
iteradora(s) de cada pseudonodo

corriente(s)

Ordenamiento: determinacin del orden de


precedencia de los mdulos

Especificaciones de Variables y
Grados de Libertad de un Sistema de
Ecuaciones
Sea el siguiente sistema de ecuaciones:
f1(x1, x2, x3, x4) = 0
f2(x3, x4, x5) = 0
f3(x5, x6, x1) = 0

El sistema anterior puede ser representado segn el


siguiente esquema
f1

f2

x1

x2

ff

Funciones

xx

Variables

x3

Dado que existen:


6 variables y
3 ecuaciones,

f3

x4

x5

x6

Se deben especificar 3 variables para lograr un


sistema compatible.
Existen varias opciones para asignar las variables.
Por ejemplo, sea el conjunto especificado:
(X6, X5, X4)

Existe relacin entre las variables y las ecuaciones

El sistema luego de la asignacin de (X6, X5, X4)


como variables especificadas queda reducido a:

Orden de resolucin
x4
x5

f3

f2

f2

f1

f1
x5

x1

x3

x3

x2

x6

f3

x1

x2

x4

Existe una secuencia acclica de resolucin, sin


necesidad de iterar, ya que conocidas las variables
especificadas se puede resolver en dicha forma

El conjunto de asignaciones anteriores no es el nico que


puede realizarse.
Si el conjunto especificado fuera (X3, X4, X6), se tendra el
siguiente esquema de resolucin y de asignaciones de
variables:

f2

f3

x5

x1

x2

f3
x5
f2

x4

f1

x3
Aqu resulta en una secuencia cclica de resolucin, esto es:

x4
x3

f1

Si el conjunto especificado es (X1, X2, X6), se tendra el


siguiente esquema de resolucin:

f2

x5
x6

f3

x1
x3

f1

x2

x4

Conclusin
La eleccin de un conjunto de variables a ser especificadas
no es neutra, sino que segn como se la realice, el sistema
resultante podr o no ser resuelto secuencialmente,
Existe un grado de dificultad inherente que depende
estrictamente del modo en que se han realizado las
asignaciones.
En sistemas de elevada dimensin es muy difcil deducir
cmo especificar dicho conjunto, de manera tal de
minimizar el esfuerzo para resolver luego el sistema, por lo
que se han propuesto numerosos algoritmos para realizar
dicha tarea.

Deber resolverse simultneamente f1 y f2, o


Suponerse un valor para x4 o x3 e iterar secuencialmente
hasta lograr la convergencia

En general, un sistema de ecuaciones tiene la forma:


fi(x1, x2, .......xn) 0 ; i = 1, .... , M
Los grados de libertad del sistema se definen como la
diferencia entre el nmero de variables menos el de
ecuaciones:
Gl = (n M)
Se puede fcilmente demostrar que el nmero de
posible combinaciones para asignar los Gl grados de
libertad responde a la siguiente expresin:
n
n!
NA = C Gn A = =
GA m! GA!

Algoritmos para Seleccin


de Variables a Especificar
(Lee, Christensen y Rudd )

Algoritmo para la seleccin de variables de tal


forma de lograr una secuencia acclica de
resolucin (sin iteraciones).
Se introduce para el modelado el grafo bipartito.
Se construye definiendo:
nodos f (funciones),
nodos v (variables).
arcos dirigidos (conectan las ecuaciones con las
variables relacionadas)

Se define como grado local () al nmero de arcos


ligados a cada nodo.

f 1 ( v1 , v 2 , v 3 , v 4 ) = 0

Ejemplo 1

f 2 ( v 3 , v6 ) = 0

Dado el sistema de
ecuaciones:

Por ejemplo, el grado local para v1:

f 3 ( v 5 , v6 ) = 0

El mtodo se basa, segn Osteward, en las


siguientes consideraciones:

f 4 ( v 2 , v4 , v5 ) = 0

f1

v1

f2

v2

f4

f3

v3

v4

v5

(v1) = 1

v6

Cada ecuacin contiene exactamente una variable de


salida.
Cada variable aparece como elemento de salida en
solamente una ecuacin.
Las ecuaciones de grado uno, fi (xj) = 0, no agregan
informacin, ya que si existe una solucin real y nica
xj = c, sta es la variable determinada, por lo que se
eliminan del tratamiento

Aplicacin del algoritmo

Existe:
(vj) = 1 ?

Existe:
(fi) = 1 ?

No

No hay funciones y
variables a eliminar.

(vj) = 1 ?

Si

v1, entonces
f1 v1

f1

v1

f2

v2

v4

v5

v6

Existe:

f4

f3

v3

v4

f4

f3

v3

f2

v2

v2, entonces
f4 v2

Si

v5

v6

(vj) = 1 ?

Si

v3, entonces
f2 v3

(vj) = 1 ?

Si

v5, entonces
f3 v5

Algunas consideraciones:

(vj) = 1 ?

No

(vj) = 0 ?

Si

(v4 , v5)

Quedan fi ?

No

SISTEMA
ACICLICO

El sistema del ejemplo tiene 6 - 4 = 2 grados de


libertad.
El algoritmo permite la seleccin de variables para
asignar (entre las varias alternativas posibles), que
brinda una secuencia de resolucin de mnima
dificultad, en este caso, acclica

Cualquier variable de salida elegida se puede


explicitar de toda y cualquier ecuacin.
No se utiliza conocimiento heurstico sobre la
conveniencia de ligar una variable de salida con
una funcin, slo se utiliz el criterio de seleccionar
la primer variable de izquierda a derecha
Este criterio puede mejorarse, pero se requiere
algn tipo de informacin adicional.

Ejemplo 2

Hiptesis:

Sea el siguiente sistema:

Sistema adiabtico y estacionario.

F2, T2, P2

F4, T4, P4

F3, T3, P3

Ejemplo 2

F1, T1, P1

P1 P 2 P 3 P 4 = P
Las ecuaciones anteriores pueden expresarse segn el
siguiente sistema:
f 1 ( F 1 , F 2 , F 3 , F 4 )= 0

Ejemplo 2

Ejemplo 2

Balance de materia: f 1 = F 1 + F 2 + F 3 - F 4 = 0

Ecuaciones constitutivas:

Densidad de los fluidos constante. Fluido puro.

En funcin de las hiptesis asumidas:

Ecuaciones:

f 3 = H 1 ( T 1 , P1 )= 0

Prdidas de carga despreciables.


Trabajo de las fuerzas de presin despreciable.
Las presiones de las corrientes de entrada y
salida son iguales.

Generar un modelo, (sistema de ecuaciones) y


encontrar el conjunto de variables a especificar de
tal forma que la secuencia de resolucin resulte
conveniente.

Balance de energa:
f 2 = F1 H 1+ F 2 H 2 + F3 H 3 - F4 H 4 = 0

Caeras de igual seccin y altura equivalente


(trabajo de la fuerza de gravedad despreciable).

f 2 ( F 1 , H 1 , F2 , H 2 , F 3 , H 3 , F 4 , H 4 ) = 0

f 4 ( H 2 , T 2 , P) = 0

f 6 = H 4 ( T 4 , P4 )= 0

13 incgnitas

f 3 ( H 1 , T 1 , P) = 0

f 4 = H 2 ( T 2 , P 2 )= 0
f 5 = H 3 ( T 3 , P3 )= 0

6 ecuaciones

7 grados de
libertad

f 5 ( H 3 , T 3 , P) = 0
f 6 ( H 4 , T 4 , P) = 0

Aplicacin del algoritmo de Lee, Christensen y Rudd

Grafo bipartito

f1

f2

f3

f4

f5

f6

f1

f2

f3

f4

f5

Ejemplo 2

Ejemplo 2

(v1=F1, v2=F2, v3=F3, v4=F4, v5=H1, v6=H2, v7=H3, v8=H4, v9=T1,


v10,=T2, v11=T3, v12=T4, v13=P):

f6

v1

v2

(fi) = 1 ?
(vj) = 1 ?
(vj) = 1 ?

v1

v2

v3

v4

v5

v6

v7

v8

v9

v10

v11

v12

v13

(vj) = 1 ?
(vj) = 1 ?

v3

v4

v5

Ejemplo 2

Secuencia de resolucin
f1

v8

v12
v13

f2
v6

f4
v10
v13
f5
v11

v7

v3

f3

v8

v9

v10

v11

v12

v13

(vj) = 1 ?

Si v7 f5

Si v9 f3
Si v5 f2

(vj) = 1 ?

Si v8 f6

(vj) = 1 ?

No

Si v1 f1
Si v6 f4

(vj) = 0 ?
Si
v2, v3, v4, v10, v11, v12, v13
No

SISTEMA
ACICLICO

Al no incluir ninguna informacin adicional, respecto a


la conveniencia de especificar o no determinadas
variables, el conjunto de variables a especificar
obtenido fue (v2=F2, v3=F3, v4=F4, v10,=T2, v11=T3,
v12=T4, v13=P)

v1

f6

v7

No

Quedan fi ?

v2
v3
v4
v13

v6

v1

La secuencia (F1, F2, F3, T1, T2, T3, P) impuesta por el


criterio directo (especificamos las entradas para
calcular las salidas), no siempre resultar en una
secuencia acclica y por lo tanto, no siempre ser la
ms conveniente. Sin embargo, fsicamente es
atractiva ya que representa naturalmente el flujo de la
planta real.

Sistemas Cclicos

Grafo

Las variables (v1 ,v2, v3, v9, v10, v11, v13) han sido especificadas

v1

v2

v3

f2

v4

f3

v5

v6

f4

v7

v8

f5

v9

f6

v10

v11

v12

v13

(fi) = 1 ?

Si f1 v4

(fi) = 1 ?

Si F2 v8

(fi) = 1 ?

Si f4 v6

(fi) = 1 ?

Si F6 v12

(fi) = 1 ?

Si f3 v5

(fi) = 1 ?

No

(fi) = 1 ?

Si f5 v7

(vj) = 0 ?

Si

SISTEMA ACICLICO

Grafo

Ejemplo 3

f1

f2

f3

f4

f5

f 1 ( x1 , x 2 , x3 ) = 0
f 2 ( x1 , x 2 , x4 , x6 ) = 0
f 3 ( x3 , x4 , x5 , x6 ) = 0
f 4 ( x 3 , x 4 , x 5 , x 6 , x7 , x 8 ) = 0
f 5 ( x 6 , x7 , x 8 ) = 0

Ejemplo 3

Ejemplo 2

f1

Cuando se detectan ciclos, se obtiene un subgrafo


irreducible que tiene al menos un (vj) > 1
Se propone cortar (rasgar) el grafo de tal forma que el
nmero de variables iteradoras sea mnimo (Estas variables
deben ser inicializadas)
En general se podran necesitar c cortes, donde c es
menor que el nmero de ecuaciones fi; tales que se
resuelven si se asignan variables de salida a los posibles c fi
nodos, que surgen de los cortes, ya que de esta manera el
grafo resultante puede procesarse segn lo visto en los
ejemplos anteriores.
El nmero mnimo cmin de variables de corte se relaciona
con el grado local de la siguiente forma:
c min = mn ( v j ) - 1

v1

v2

(fi) = 1 ?
(vj) = 1 ?

v3

v4

No

No
Mnimo (vj) = 2

C min = 2 - 1 = 1

v5

v6

v7

v8

Existe un sistema cclico y se


debe determinar las corrientes
de corte (rasgado).

Se asigna f1 v1
(corriente iteradora )

v2

v3

f3

v4

f4

v5

Secuencia de resolucin

f5

v6

v7

Variables iteradoras (v1, v3)


Variables a ser especificadas: (v5, v7, v8).
v8

(fi) = 1 ?

No

(vj) = 1 ?

Si v4 f4

(vj) = 1 ?

Si v2 f2

(vj) = 1 ?

Si v6 f5

(vj) = 1 ?
No
Mnimo (vj) = 2
Se asigna f3 v3
(corriente iteradora )

(vj) = 1 ?
(vj) = 0 ?
Quedan fi ?

No
Si (v5, v7, v8)
No

SISTEMAS COMPATIBLES
DE N x N
Algoritmo de Steward para la
Determinacin del Conjunto de Salida

Ejemplo 3

Ejemplo 3

f2

f1

v6
v2

v3

v8

v7

v1

f2

f3

v4

f5

v5

v6

v3
v4

v7

f4

v8
v6

Se plantea la representacin del sistema mediante la


llamada matriz de ocurrencia o incidencia, que por
definicin es un arreglo de:
n filas, donde cada fila representa una ecuacin
n columnas, donde cada columna representa una
incgnita o variable.

Cada elemento en la matriz puede tomar los valores:


Uno (1), si es que para el elemento ai j existe una
vinculacin entre la funcin i y la variable j, (ai,j = 1)
Cero (0) caso contrario (ai,j = 0)

10

Ejemplo 4

Matriz de incidencia u ocurrencia

f 1 ( x1 )= 0

f 3 ( x1 , x2 , x3 )= 0
f 4 ( x1 , x2 , x3 , x4 )= 0

Ejemplo 4

f 2 ( x1 , x2 )= 0

x1

x2

x3

x4

f1

f2

f3

f4

f5

x5

f 5 ( x1 , x2 , x3 , x4 , x5 )= 0

Se define como variable de salida de una ecuacin a una


variable asignada a la misma, tal que se supone puede
calcularse a partir de conocerse el valor de las dems
variables contenidas en dicha ecuacin.
Si se toma el listado de pares (xi, fi), correspondientes a
cada asignacin realizada, se tiene el conjunto de salida.
Debe respetarse para esta definicin, los siguiente
principios:
Cada ecuacin debe tener asignada una y slo una
variable de salida,
Cada variable es variable de salida de una y slo una
ecuacin.

Se necesita para el clculo de cada variable de salida xi el


valor de las dems variables que estn contenidas en fi,
toda asignacin de un conjunto de salida define un orden o
secuencia en la cual el sistema de ecuaciones es resuelto.

Algoritmo de Steward para la


Determinacin del Conjunto de Salida
En el ao 1962 Steward propuso un mtodo para
determinar un posible conjunto de salida, utilizando la
matriz de incidencia.
La incidencia se obtiene:
para una funcin (fila) como el nmero de variables
que involucra
para una variable, por el nmero de funciones en las
que participa (columna).

11

Ejemplo 4

f3
f4
f5

x4

f5

x2

x3

x4

x5

1
1
1
1

1
1
1

1
1

x2
1
1
1
1

x3

x4

x5

1
1
1

1
1

x3 f3

x2

La fila con el menor


nmero de incidencia
es la primera (uno),
correspondiente a la
variable x1. Se asigna
x1 f1, luego se
elimina dicha fila y
columna,
Nuevamente, la fila de
menor incidencia es la
primera con uno,
siendo x2 f2, luego
se elimina dicha fila y
columna,

Orden de resolucin

x5

x5
1

f1
f2
f3
f4
f5

x5

1
1
x4
1
1

f4
f5

x1
1
1
1
1
1

f2
f3
f4
f5

x4 f4

Ejemplo 4

x3
1
1
1

Ejemplo 4

La idea bsica del mtodo es:


Tomar la fila (columna) con menor nmero de
incidencia, lo cual implica la ecuacin que
depende del menor nmero de incgnitas (o
alternativamente, la incgnita que afecta el menor
nmero de ecuaciones ) y de la fila en cuestin (o
columna) se selecciona el elemento que
pertenezca a una columna (fila) con el menor
nmero de incidencia.
Asignar la variable representada por tal columna a
la ecuacin asociada a la fila correspondiente.
Eliminar de la matriz ambas, fila y columna
Proseguir con el algoritmo hasta que se reduzca la
matriz a la dimensin unitaria.

f1

x1

f2

x2

f3

x1

x3

x2

f4

x4

f5

x5

x3
x1
x1

En este caso la secuencia de resolucin es acclica.


x5 f5

En general, cuando la estructura de la matriz de ocurrencia es diagonal,


o triangular existir una secuencia de resolucin acclica, esto es, sin
necesidad de recurrir a variables de iteracin o iteradoras.

12

Ejemplo 5
1

( x1 , x2 , x3 , x4 , x5 )

( x3 , x2 , x5 )

( x2 , x3 , x4 )

( x1 , x4 , x5 )

x1

x2

x3

x4

x5

f2

f3

f1
Ejemplo 5

Matriz de ocurrencia

f4

1
1

f5

La fila con el menor nmero de incidencia es 3. En cambio para las


columnas es 2, para x1. Luego, en la columna x1, f4 tiene menor
incidencia (3) que f1 (5), por lo tanto se asigna f4 x1. Se eliminan fila
y columna

( x2 , x3 , x4 , x5 )

f1
f2
f3
f5

f1
f3
f5

x2
1
1
1
1

x2
1
1
1

x3
1
1
1
1

x3
1
1
1

x4
1
1
1

x4
1
1
1

x5
1
1
1

Las fila con menor incidencia


es 3 (f2 y f3). Lo mismo para las
columnas (3 para x5 y x4).
Luego, se asigna f2 x5. Se
eliminan fila y columna
Las funciones f1, f2 y f3 forman
parte de una particin o
subconjunto que debe resolverse
en forma simultnea. Aqu
podemos realizar una asignacin
arbitraria f3 x3, f1 x2, f5 x4.

x4
x3
x2

Ejemplo 5

Ejemplo 5

Orden de resolucin
f3

x4

f4

x1

x5
x5
f2

x3
x3
f1 x4

x2

f5

x2

x5

13

Como se observa en la figura anterior, el


subconjunto (f1, f3, f5) debe resolverse
simultneamente. Esto implica, un orden
cuadrtico de convergencia. Sin embargo, se
puede linealizar el sistema, (rasgar), introduciendo
variables de corte (iteradoras) que permitan
resolverlo en forma acclica.
Esta estrategia reemplaza la resolucin del
sistema en forma simultnea por una secuencia
dada (f1, f3, f5) modificando el orden cuadrtico por
uno menor (sustitucin directa, Wegstein, etc.).

Arquitectura modular secuencial


Se define un diagrama de flujo de
informacin (DFI) que representa a la planta,
utilizando los mdulos existentes
Se define una estrategia de resolucin,
mediante el rasgado, particionado y
ordenamiento del DFI.

ARQUITECTURA MODULAR
SECUENCIAL
ALGORITMOS DE PARTICIONADO, RASGADO
Y ORDENAMIENTO.

Al forzar la particin del sistema global en subsistemas, se


pierde gran parte de la flexibilidad original, sacrificando
seguramente alternativas ptimas de particionado.
Es el precio a pagar por utilizar una gua no matemtica,
pero conveniente desde el punto de vista fsico o de
ingeniera.
conocemos las variables (generalmente asociadas a las
corrientes fsicas) de entrada, siendo el objetivo el clculo
las variables (corrientes) de salida.

xe
xe = variables de entrada

F(xe)

xs
xs = variables de salida

14

Cada mdulo debe resolverse por el mtodo ms


conveniente. Se supone que se han aplicado todos
los procedimientos vistos, de tal manera de
optimizar la secuencia de resolucin, fijados los xe.
Debe tenerse en cuenta que en los balances de
materia y energa, generalmente deben utilizarse
mtodos para estimar propiedades fisicoqumicas,
para el clculo por ejemplo de las constantes de
equilibrio, o entalpas.
Esto agrega un nmero importante de ecuaciones y
no linealidades.

una posible secuencia de resolucin sera (se conoce x1, y


se supone conocido adems el valor de la corriente x3 valor supuesto o corriente iteradora):

E3
x3 x5, x4
E4
x 4 x7 , x 6
E1
x1 x 2
E2
x 6 , x 2 x *3

se comparan los valores x3 y x3* en cada


iteracin hasta lograr que el error satisfaga un
criterio especificado, por ejemplo:

x*3 - x 3 < 10 -8
El orden de resolucin se llama orden de
procedencia o de resolucin. Las secuencias no
necesariamente son nicas. A las corrientes
iteradoras se las llama tambin corrientes de
corte (en este caso x3 ).
Al proceso de identificar los ciclos se lo llama
particionado.

Dada una planta, compuesta por diversos equipos


conectados entre s, todos representados por su
correspondiente sistema de ecuaciones, se puede obtener
un esquema (DFI):

x1

E1

x2

E2

x3

x6

E3

x5

x4
E4

x7

Ei = equipos
xi = variables de entrada o salida
o corriente

Corriente o grupo de
variable de iteracin

Como vimos, la estructura modular secuencial surge


como consecuencia de una asignacin que se orienta
segn los mdulos de equipos o bien las relaciones
fsicas en el proceso, contrariamente al flujo de
informacin matemtico inherente a las relaciones entre
las variables y funciones, segn la estructura del
sistema.
Estrategias:
el problema global se resuelve simultneamente y
para ello se particiona en subsistemas con un
criterio que da prioridad a la estructura (orientado a
ecuaciones)
Resolver los equipos o mdulos segn una
secuencia guiada por las interacciones fsicas,
(aplicar un criterio modular secuencial)

15

El resultado de aplicar los algoritmos de particionado es detectar


los ciclos, de tal manera de transformar el grafo original en una
secuencia lineal. Esta secuencia puede tener subgrafos cclicos.
Luego, se deber resolver cada subproblema (linealizar un grafo
cclico).

RASGADO DEL

La tcnica de rasgado consiste en detectar las corrientes de


corte que permitan que cada subgrafo cclico pueda ser resuelto,
esto es, detectar las corrientes de corte que permitan que cada
subgrafo cclico pueda ser solucionado mediante una tcnica
iterativa.

DIAGRAMA DE FLUJOS
O GRAFO

Asignar una corriente de corte es similar a definir una nueva


corriente de entrada a la planta, slo que sus valores son
supuestos y sirven para generar una secuencia que permita
resolver todas las ecuaciones del sistema, tantas veces como
sea necesario hasta lograr convergencia

Por ejemplo: para


realizar el rasgado se
toman como corrientes
de corte (una por cada
ciclo) las indicadas
como 2 y 8

11

2
3

3
7

A partir de los valores iniciales x2i y x8i,se pueden calcular:


x3 y x51 del nodo 5 ya que se conoce x2i y x8i
x41 del nodo 1, ya que se conoce x31
x11 del nodo 8, ya que la corriente 11, es de entrada.
x61 del nodo 2, ya que se dispone de x51.
x71 del nodo 3, ya que se dispone de x61.
x91 del nodo 6, ya que se conoce x71.
x101 del nodo 7, ya que se conoce x91.
Y recalcular
x81 del nodo 6, ya que se conoce x71
x21 del nodo 4, ya que se conoce x41 y x41

6
9

7
10

Si bien obtuvimos todos los valores asociados a las variables de


todas las corrientes, stos pertenecen a la primera iteracin.
Se debe verificar si los valores calculados x21 y x81 coinciden con
los supuestos x2i y x8i dentro del margen de error especificado.

Si lo hacen, finaliza el clculo.


De lo contrario, y aplicando sustitucin directa, se
proponen nuevos valores, generando una secuencia
tal que finaliza cuando se obtiene el criterio de error
deseado.
si bien es simple identificar las corrientes de corte en un grafo
sencillo, no resulta equivalente con cientos de nodos y/o
corrientes.
Luego, se necesita un mtodo sistemtico, implementable en
computadora, que permita tal seleccin.

16

Dado que se trata de un particionado de


ecuaciones, lo lgico resultara pensar en un
criterio que minimice el esfuerzo de clculo.
Pero, no existen tales criterios o lineamientos
sin conocer en detalle el problema a resolver.
El problema es que el algoritmo debe tratar
casos generales, por lo que debiramos obtener
criterios universales.

ALGORITMO DE
BARKELEY Y MOTARD
(1972)

Si se supone que todas la corrientes poseen la misma


cantidad de variables, es lgico pensar que se deben
buscar el mnimo nmero de corrientes de corte para
linealizar el ciclo (debido a que ello implica el mnimo
nmero de variables iteradoras).
Sin embargo, no est demostrado que un nmero
mayor de corrientes de corte implique mayor esfuerzo
de cmputo. No obstante, se puede asumir que as ser
en la mayora de los casos.
El algoritmo debera permitir que el usuario le
introduzca pesos penalizando ciertas corrientes y
favoreciendo otras, de tal manera de recorrer las
alternativas considerando tales criterios

El algoritmo propuesto por Barkeley y Motard tiene como


objetivo el rasgado de los subgrafos cclicos para obtener
un conjunto de corte con el menor nmero de corrientes
iteradoras.
Este algoritmo se basa en el concepto de grafo de corrientes
(S) o grafo dual al ya visto. ste se logra intercambiando los
roles, esto es, los nodos ahora son las corrientes y los arcos
se obtienen a travs del flujo de informacin en el DFI.
Para obtener el grafo S correspondiente a un diagrama de
flujo de informacin:
El primer paso es incorporar tantos nodos como
corrientes existan.
Luego, se vinculan stos segn el sentido de la
informacin que circula entre las corrientes en el grafo
original.

17

2
3

4
11

5
8

Grafo S
2

3
7

1
9

11

7
10

Nodo dominado.
Se dice que un nodo cualquiera ni en S es dominado
por otro nj si nj es el nico antecesor inmediato de ni.
Los autores proponen un proceso de reduccin de S
mediante el procedimiento de englobar (engullir o
fundir) los nodos dominados por sus dominantes sin
perder la informacin en el grafo S.
Por ejemplo,
el nodo 1 es dominado por el 11,
el 4 lo es por el 3 y
el 7 por el 6.

Es evidente que al manipular el grafo S


ahora se lo hace sobre las corrientes
(nodos), y dado que se buscan las
corrientes de corte, se comprende la
utilidad de la transformacin del algoritmo
propuesto por Barkeley y Motard

9
10

Reduccin del
grafo S

3
67

1
11

8 6

9
10

18

Se puede observar que no puede reducirse ms el


grafo S, ya que:
el nodo 2 tiene ms de un antecesor, el 11 y el
3.
Y lo mismo sucede con 5 y el 3.
Aqu se introduce un nuevo concepto, el de
autociclo, que es precisamente la particularidad que
presenta el nodo 5 que estn en ciclo con l mismo,
al ser antecesor y sucesor de s mismos
simultneamente.

Previamente se haba propuesto el conjunto (2,8),


que a los efectos prcticos (asumiendo que todas
las corrientes tienen la misma cantidad de variables,
y no disponiendo de ninguna otra informacin del
problema especfico), resultar equivalente al
conjunto (2,5).
Obviamente una vez que se han logrado las
corrientes iteradoras se puede proponer una
secuencia de resolucin (ordenamiento).

Este hecho est ntimamente relacionado con la


definicin de rasgado o corriente de corte, ya que por
definicin, cada corriente puede ser calculada slo si
se conocen las entradas al equipo (nodo) del cual sale;
y si una corriente forma un autociclo, esto implica que
no puede calculrsela en el DFI si no se conoce su
valor previamente, o lo que es lo mismo, si no se
procede al rasgado del ciclo al cual pertenece.
Para este ejemplo, las corriente 2 y 5 conforman un
conjunto de corrientes de corte de tamao mnimo.
Como se puede deducir en funcin del proceso de
reduccin, no necesariamente el conjunto (2,5) es el
nico resultado, ya que se podran obtener otros.

Hay situaciones especiales o particulares que se deben


contemplar.

Aqu, no existen nodos en los cuales se encuentre un


nico antecesor, por lo que no puede ser reducido. A este
caso se lo llama ciclo de dos corrientes y slo puede se
puede resolver (reducir) cortando una de las corrientes.
Si se presenta una sucesin de varios ciclos, en general,
es conveniente cortar corrientes intermedias que permitan
rasgar ms de un ciclo simultneamente.

19

Resumiendo

El algoritmo consiste en los siguientes pasos:

Reduccin de los nodos del grafo hasta


detectar autociclos o ciclos de dos corrientes.
Eleccin del conjunto de corrientes de corte,

1
2
3
4
5
6
7
8
9
10

Nodos con un
slo antecesor
inmediato

7
4

11

Algoritmo de procesamiento

10

Para la implementacin computacional es conveniente trabajar con


una lista que contenga la informacin de los nodos y sus
antecesores inmediatos.

Antece
sor
11
1, 4
2, 8
3
2, 8
5
6
7
7
9

segn el criterio expuesto.

Nodo

Grafo S

Se eliminan de
la lista esos
nodos y se los
reemplaza por
sus
dominantes

Nodo

Antecesor

2
3
5

11, 3
2, 5
2, 5

Nodo

Antecesor

Al eliminar 2
(autociclo), queda la
lista vaca

existen en la lista de
nodos un autociclo?
En la tabla figuran a la izquierda y
derecha en la misma fila

Se selecciona el nodo
como corriente de corte y
luego se lo elimina de la
tabla. (nodo 5)

Dos corrientes de corte


2y5

20

Una vez que se han obtenidos los ciclos y se han


rasgado, debe ordenarse el conjunto de nodos en la
forma en que sern resueltos.

ETAPA DE

En general, con la informacin que proveen los


algoritmos ya vistos (los subgrafos cclicos y las
corrientes de corte que los linealizan), es posible por
inspeccin en las listas disponibles (pasos
intermedios en cada algoritmo) ordenar los nodos
segn la secuencia de resolucin que imponen las
corrientes iteradoras seleccionadas.

ORDENAMIENTO

Matriz de
adyacencia
11

1
2

3
7

1 2 3 4 5 6 7 8
NODOS
Para completar la
1
1
matriz en la posicin
2
1
aij:
3
1
1, si existe un arco 4
1
que conecte ambos
5 1 1
nodos
6
1
1
0, en caso contrario 7
8
1

Algoritmo de

6
9

7
10

particionado de
Keham y Shacham

21

Algoritmo de particionado de Keham y Shacham

Introduce la matriz de ndices I.


Esta se define como una matriz de m filas (siendo
m el nmero de elementos no nulos de A) y dos
columnas.
Para una fila dada:
Contiene todos los nodos que dispongan de
sucesor inmediato
La columna de la derecha contiene dicho
sucesor inmediato.
Keham y Shacham propusieron un algoritmo
basado en la matriz de ndices que logra ubicar los
ciclos

La matriz de ndices correspondiente a la matriz de


adyacencias (o al grafo) anterior, es la siguiente

I=

A continuacin se computan las sucesivas


potencias de Ir (por ejemplo, Ir2) , de la siguiente
manera:
Se toma cada elemento de la columna izquierda
de la matriz anterior y se lo escribe nuevamente
en la columna izquierda de la matriz potencia
En la columna de la derecha de la matriz potencia
se ubica el nodo sucesor inmediato del que se
encontraba en la columna derecha en la matriz
anterior.

I r1 =

1
2
3
4
5
5
6
6
8

Una segunda reduccin se logra eliminando


los nodos:

4
3
6
5
1
2
5
7
4

1
2
3
4
5
5
6

de entrada: aquellos que no tienen


antecesores inmediatos (en la matriz
figuran en la columna de la izquierda y no
en la columna de la derecha )
de salida: aquellos que no tienen
sucesores y figuran en la columna de la
derecha pero no en la izquierda
Este paso permite la eliminacin de
informacin irrelevante y la creacin de
la matriz reducida Ir

4
3
6
5
1
2
5

I r2 =

1
2
3
4
45
5
56
6
6

5
6
5
1
2
4
3
2
1

Ir2 contienen la

informacin de
todos los
caminos de
longitud dos
Se debe
queagregar
se
una fila paraen
encuentran
repetir
4 en la
el el
grafo
columna
de la
(por ejemplo,
izquierda
1 4 5).

22

Para obtener Ir3 se procede tomando, por ejemplo, el primer


valor en Ir2 (primer fila = 1) y se recorren los correspondientes
sucesores (e la matriz Ir) del nodo colocado a la derecha, en
este caso 5.
1
2
3
3
4
4
5
5
6
6

1*
2
5
1
2
4*
5*
6
3
4

Cuando se obtienen en una fila valores


iguales en las dos columnas, existe un
camino que nace y termina en el nodo en
cuestin
Aqu obtenemos, adems de los caminos de
longitud 3, tres nodos (*) que pertenecen a
un camino cclico de longitud 3.
El algoritmo prosigue asignando los nodos a
un pseudonodo (1) que los engloba . Luego
se reemplazan en Ir por 1 para luego iniciar
nuevamente el proceso (a partir de Ir,2).

Ir,22
2
3
1
6

Ir,23
6
1
3
2

IIr,2r ==

2
3
1
6

2
3
1
6

14

2
3

3
6

41
15
15

15
1
2

15

Se comienza eliminando los


nodos de entrada y salida. En
este caso no existen. Luego, se
obtienen las sucesivas
potencias:

Los nodos 1, 4 y 5 se
reemplazan por el
pseudonodo 1

Grficamente

Ir,24
1
2
6
3

Los valores iguales en ambas


columnas se eliminan porque no
aportan informacin adicional

2*
3*
1*
6*

Luego, encontramos en Ir,24 un ciclo de longitud 4. Si se


reemplazan los nodos por un pseudonodo (2), se tendr
un slo nodo en la matriz Ir,3, por lo que el mismo ser
de entrada / salida y el proceso habr finalizado.

1,
4, 5
6

3
7

Se puede observar que se obtienen los ciclos y un orden de


resolucin.
No obstante, se sabe que para resolver cada ciclo hay que
designar una corriente iteradora. El criterio para decidir cada
una de ellas no se obtiene de este algoritmo.

23

En sntesis, el procedimiento
aplicado por el algoritmo es:
Eliminar los nodos de entrada y salida (obtener Ir).
Calcular las sucesivas potencias de Ir. Para ello se
recurre al expediente de reemplazar los sucesores de
los nodos en la matriz a elevar por los sucesores de los
mismos (en el grafo, o en Ir), colocndolos en la matriz
resultado. Si hubiese ms de un sucesor, se debe
proceder para cada uno de ellos.

24