Vous êtes sur la page 1sur 43

IT306 Topicos em Sistemas de Energia Eletrica III

Metodos Computacionais para Sistemas Eletricos de Potencia


Captulo 2 Armazenamento compacto de matrizes esparsas

2.1 Introducao e motivacoes

O estudo de varios dos problemas associados a redes eletricas de potencia passam


pela resolucao de um sistema de equacoes algebricas lineares do tipo:

Ax = b

em que a matriz A e esparsa e os vetores x e b podem ser chamados de esparsos


sob certas condicoes.

Alguns exemplos: calculo de fluxo de carga


analise de contingencias
despacho economico
planejamento da expansao de redes
calculo de curto-circuito
analise de estabilidade

1
2.1.1 Matrizes esparsas

 Exemplo

Considere o circuito eletrico de corrente contnua mostrado a seguir.

1 R 3 R 5
I1 I5
V1 V3 V5
I3
R R

V2 V4
I2 I4
2 R 4

Aplicando a lei das correntes de Kirchhoff para todos os nos do circuito:

1 R 3
I1
I1 =I12 + I13
I13 I2 =I21 + I24
R I12 I3 =I31 + I34 + I35
I4 =I42 + I43
I5 =I53
2

2
Utilizando a lei de Ohm e considerando que todas as resistencias do circuito sao
iguais a 1 :

V1 V2 V1 V3
I1 = +
1 1
V2 V1 V2 V4
I2 = +
1 1
V3 V1 V3 V4 V3 V5
I3 = + +
1 1 1
V4 V2 V4 V3
I4 = +
1 1
V5 V3
I5 =
1
ou:

I1 = 2V1 V2 V3
I2 = V1 + 2V2 V4
I3 = V1 + 3V3 V4 V5
I4 = V2 V3 + 2V4
I5 = V3 + V5

Colocando na forma matricial:

2 1 1 0 0

I1 V1

I2
1 2 0 1 0 V2



I3 =
1 0 3 1 1
V3

I =GV
I4 0 1 1 2 0 V4
I5 0 0 1 0 1 V5


Circuitos de corrente alternada: I =YV


I e V sao os fasores de corrente e tensao. Y e a matriz admitancia.

3
Formacao da matriz Y

P
1. Elemento da diagonal Ykk = admitancias dos ramos conectados ao no k
2. Elemento fora da diagonal Ykm = - admitancia do ramo que conecta o no k ao no
m

Se nao ha ramo conectando os nos k e m Ykm = 0

No exemplo anterior, nota-se que os nos do circuito c.c. tem de 1 a 3 ramos


conectados
Em redes eletricas em geral o mesmo acontece, ou seja, cada barra tem alguns
poucos ramos conectados, independentemente do numero de nos

Caracterstica : o numero medio de ramos conectados as barras e o mesmo


independentemente do tamanho do sistema
Resultado : quanto maior for o sistema, maior sera o numero de elemen-
tos nulos das matrizes de rede

Em geral as matrizes utilizadas na analise de sistemas eletricos de potencia possuem


um numero de elementos nulos muito maior que o numero de elementos nao nulos.
Por exemplo:

Y matriz admitancia nodal


J matriz Jacobiana para a resolucao do problema de fluxo de carga
pelo metodo de Newton
B , B matrizes utilizadas para a resolucao do problema de fluxo de carga
pelo metodo desacoplado rapido

4
Para uma rede de NB barras e NR ramos:

 a matriz Y tera dimensao (NB NB)

 todos os elementos da diagonal sao nao nulos

 os elementos fora da diagonal Ykm e Ymk serao nao nulos se houver um ramo
conectando as barras k e m

 resumindo:

Numero total de elementos NB2

Numero de elementos da diagonal (sempre nao nulos) NB

Numero de elementos nao nulos fora da diagonal 2 NR

Numero total de elementos nao nulos NB + 2 NR

Grau de esparsidade porcentagem de elementos nulos da matriz:

numero de elementos nulos NB2 (NB + 2 NR)


GE = 100% = 100%
numero total de elementos NB2

Exemplos

NB NR GE

10 20 50%
100 200 95%
1000 2000 99,5%

5
 Exemplo

Considerar uma rede com 1663 barras e 2349 ramos (baseada no sistema eletrico
interligado das regioes Sul, Sudeste e Centro-Oeste do Brasil). A matriz Y tera a
seguinte estrutura:

Y=

O grau de esparsidade neste caso e:

16632 (1663 + 2 2349)


GE = 100% = 99,77%
16632

Problema : grande espaco de memoria necessario para armazenar os elementos


da matriz Y (e outras), sendo a grande maioria deles iguais a zero

6
Definicao de matriz esparsa : e aquela para a qual e vantajosa a utilizacao
do fato de que muitos de seus elementos sao
iguais a zero para fins de economia de memoria
e calculos

Esta definicao e geral e envolve dois aspectos basicos: espaco de memoria e volume
de calculos

Ha aplicacoes em que as matrizes possuem um GE nao tao elevado mas pode-se


obter grandes vantagens em termos de volume de calculos

2.1.2 Vetores esparsos

Considere um sistema de equacoes algebricas lineares do tipo:

Ax = b

Em certos casos, as seguintes situacoes especiais podem ocorrer:

Situacao 1 : O vetor b e esparso apresenta grande numero de elemen-


tos nulos
Situacao 2 : O vetor x e esparso deseja-se conhecer apenas alguns pou-
cos elementos

Hoje em dia as chamadas tecnicas de vetores esparsos sao utilizadas rotineiramente


em programas de analise de redes eletricas de potencia. O objetivo e tratar as
situacoes acima de forma eficiente, minimizando os calculos necessarios para se
obter a solucao.

7
2.1.3 Tecnicas de esparsidade

Considerando a definicao de matrizes esparsas (secao 2.1.1) e as situacoes onde


aparecem os vetores esparsos (secao 2.1.2), pode-se estabelecer os princpios
basicos das chamadas tecnicas de esparsidade:

 minimizar a quantidade de dados armazenados

 minimizar o numero de operacoes realizadas

 preservar a esparsidade

Um algoritmo que atenda aos princpios acima e mais complicado e difcil de


programar, sendo conveniente somente quando ha claras vantagens em termos de
espaco de armazenamento e volume de calculos

8
2.1.4 Algumas aplicacoes de tecnicas de matrizes esparsas

Categoria Areas

Analise Numerica calculo de autovalores e autovetores, sistemas de


equacoes lineares e nao lineares, equacoes dife-
renciais ordinarias e parciais, etc.

Matematica analise combinatoria, programacao dinamica, te-


oria de grafos, estatstica, etc.

Engenharia metodos de compensacao em circuitos, projeto


de circuitos assistidos por computador, siste-
mas eletricos de potencia, analise no domnio da
frequencia, sistemas hidraulicos, analise estrutu-
ral, analise de torres de transmissao, problemas
de vibracao, etc.

Ciencias aplicadas engenharia qumica, processamento de dados,


genetica, simulacao de reservatorios etc.

Ciencias qumica, fsica, etc.

Humanidades administracao, economia, ciencias sociais, socio-


logia, desenvolvimento urbano, etc.

Exerccio(s) proposto(s): (2.1), (2.2)


Prazo de entrega: uma semana

9
2.2 Tecnicas de esparsidade

Os princpios basicos das chamadas tecnicas de esparsidade sao:

 MINIMIZAR A QUANTIDADE DE DADOS ARMAZENADOS

 minimizar o numero de operacoes realizadas

 preservar a esparsidade

A ideia e armazenar somente os elementos nao nulos da matriz

Na realidade, e necessario armazenar informacoes adicionais, como por exemplo:

 as posicoes (linhas e colunas) dos elementos nao nulos

 encadeamentos entre os elementos armazenados

 apontadores diversos

No caso de matrizes que sao armazenadas segundo esse princpio basico mas sua
inversa e que e de fato utilizada nos calculos, posicoes adicionais devem ser previstas
(esse assunto sera discutido adiante)
E necessario prever mais um espaco de armazenamento adicional (overhead)

Neste captulo serao apresentados alguns exemplos de esquemas de armazenamento


compacto de matrizes esparsas

10
2.3 Esquemas de armazenamento compacto de matrizes esparsas

Ideia basica: armazenar somente os elementos nao nulos da matriz (mais algumas
informacoes adicionais) utilizando um conjunto de vetores e apontadores de tal
forma que o espaco total de memoria utilizado seja menor que o requerido para
armazenar toda a matriz.

Existem muitos esquemas propostos para o armazenamento de matrizes esparsas:

 foram propostos esquemas para matrizes simetricas e assimetricas

 alguns apresentam facilidades para alteracoes de seus elementos

 outros apresentam facilidades para operacoes utilizando as matrizes

 as suas eficiencias sao diferentes

A escolha do esquema de armazenamento a ser utilizado depende do problema


que se quer resolver. A eficiencia da resolucao do problema pode variar em funcao
do esquema utilizado

11
Considere a seguinte matriz:

1 2 3 4

a d k 1

b e g 2
A=
f i l 3

c j m 4

Esquema de armazenamento por coordenadas

Linha = [ 1 4 3 2 3 2 1 3 2 1 4 4 ]
Coluna = [ 4 3 4 1 2 2 2 3 3 1 1 4 ]
Valor = [ k j l b f e d i g a c m ]

Esquema de armazenamento na forma de serie de vetores esparsos

Incio de linha = [ 1 4 7 10 ]
Coluna = [ 1 2 4 1 2 3 2 3 4 1 3 4 ]
Valor = [ a d k b e g f i l c j m ]

Cada esquema apresenta caractersticas proprias com relacao a:

 custo de localizacao de elementos na estrutura

 implementacao de operacoes envolvendo a matriz

 eficiencia no uso de memoria

12
2.3.1 Esquema de Knuth

1 2 3 4

6 1

9 4 7 2
A=
5 3

2 8 4

Posicao 1 2 3 4 5 6 7
AN 6 9 4 7 5 2 8 elementos nao nulos
I 1 2 2 2 3 4 4 linha
J 2 1 2 4 1 2 4 coluna
NR 0 3 4 0 0 7 0 posicao do proximo elemento na linha
NC 3 5 6 7 0 0 0 posicao do proximo elemento na coluna
JR 1 2 5 6 apontador de incio de linha
JC 2 1 0 4 apontador de incio de coluna

Localizacao do elemento (4, 4):

 elementos nao nulos da linha 4 comecam na posicao JR(4) = 6

 na posicao 6 esta armazenado o elemento da linha I = 4 e coluna J = 2

 o proximo elemento nao nulo esta na posicao NR(6) = 7

 na posicao 7 esta armazenado o elemento da linha I = 4 e coluna J = 4, ou seja,


AN(7) = 8 = A4,4

 como NR(7) = 0, nao ha mais elementos nao nulos na linha 4

13
Obtencao da linha e coluna do elemento armazenado na posicao 5

 como I(5) = 3 e J(5) = 1, AN(5) = A3,1

Os elementos nao nulos podem ser armazenados em qualquer ordem no vetor AN

A posicao de cada elemento do vetor AN e armazenada em dois vetores I (linha) e J


(coluna)

Para facilitar a obtencao de elementos de uma certa linha ou coluna da matriz, e


necessario armazenar tambem:

 um par de apontadores (NR e NC) que indicam as posicoes dos proximos


elementos nao nulos da linha ou coluna

 apontadores de incio de linha (JR) e coluna (JC)

Para cada elemento nao nulo de A e necessario armazenar 5 valores, alem dos
apontadores de incio de linha e coluna

Vantagens do esquema de Knuth:

 pode-se acrescentar ou eliminar elementos facilmente

 pode-se varrer as linhas e colunas eficientemente

Exerccio(s) proposto(s): (2.3)


Prazo de entrega: uma semana

14
2.3.2 Esquema circular KRM (Knuth-Rheinboldt-Mesztenyi)

1 2 3 4
6 1

9 4 7 2
A=
5 3

2 8 4

Posicao 1 2 3 4 5 6 7
AN 6 9 4 7 5 2 8 elementos nao nulos
NR 1 3 4 2 5 7 6 posicao do proximo elemento na linha
NC 3 5 6 7 2 1 4 posicao do proximo elemento na coluna
JR 1 2 5 6 apontador de incio de linha
JC 2 1 0 4 apontador de incio de coluna

Localizacao do elemento (4, 2):

 elementos nao nulos da linha 4 comecam na posicao JR(4) = 6 S4 = {6}

 o proximo elemento nao nulo da linha 4 esta na posicao NR(6) = 7


S4 = {6, 7}

 como NR(7) = 6 S4 , nao ha mais elementos nao nulos na linha 4

 elementos nao nulos da coluna 2 comecam na posicao JC(2) = 1 S 2 = {1}

 o proximo elemento nao nulo da coluna 2 esta na posicao NC(1) = 3


S 2 = {1, 3}

 o proximo elemento nao nulo da coluna 2 esta na posicao NC(3) = 6


S 2 = {1, 3, 6}

 como NC(6) = 1 S 2 , nao ha mais elementos nao nulos na coluna 2

 S4 S 2 = 6 A4,2 = AN(6) = 2

15
Localizacao do elemento (1, 1):

 elementos nao nulos da linha 1 comecam na posicao JR(1) = 1 S1 = {1}

 como NR(1) = 1 S1 , nao ha mais elementos nao nulos na linha 1

 elementos nao nulos da coluna 1 comecam na posicao e JC(1) = 2 S 1 = {2}

 o proximo elemento nao nulo da coluna 1 esta na posicao NC(2) = 5


S 1 = {2, 5}

 como NR(5) = 2 S 1 , nao ha mais elementos nao nulos na coluna 1

 S1 S 1 = A1,1 = 0

Ao se percorrer os elementos de uma linha (coluna), nao se obtem diretamente as


informacoes das colunas (linhas)

Segundo Sergio Pissanetzky, Sparse matrix technology, Academic Press, 1984. Na


pagina 19, le-se: ...given a position k of AN find the corresponding row and column
indices i and j , has no solution except that of inspecting the entire matrix., ou seja,
afirma-se que e impossvel obter a linha e coluna de um elemento armazenado em
uma certa posicao (por exemplo, posicao 5), a menos que se percorra toda a matriz

Esta afirmacao nao e verdadeira. Tome-se como exemplo a determinacao da linha e


da coluna do elemento localizado na posicao 3. O seguinte procedimento e
realizado:

 Definir Sli nha = {3}

 NR(3) = 4 Sli nha = {3, 4}

 NR(4) = 2 Sli nha = {3, 4, 2}

 NR(2) = 3 ja aparece em Sli nha encerrar

16
 Definir Scoluna = {3}

 NC(3) = 6 Scoluna = {3, 6}

 NC(6) = 1 Scoluna = {3, 6, 1}

 NC(1) = 3 ja aparece em Scoluna encerrar

 Definicao da linha: O unico elemento de JR que aparece em Sli nha e o 2, que


esta na posicao 2 Esta e a linha

 Definicao da coluna: O unico elemento de JC que aparece em Scoluna e o 1,


que esta na posicao 2 Esta e a coluna

Portanto, o elemento da posicao 3 corresponde ao elemento (2,2) da matriz, e vale


4.

O esquema circular KRM requer um menor espaco de memoria se comparado com o


esquema de Knuth

17
2.3.3 Esquema circular KRM modificado

1 2 3 4
6 1

9 4 7 2
A=
5 3

2 8 4

Posicao 1 2 3 4 5 6 7
AN 6 9 4 7 5 2 8 elementos nao nulos
NR -1 3 4 -2 -3 7 -4 posicao do proximo elemento na linha
NC 3 5 6 7 -1 -2 -4 posicao do proximo elemento na coluna
JR 1 2 5 6 apontador de incio de linha
JC 2 1 0 4 apontador de incio de coluna

Localizacao do elemento (4, 2):

 elementos nao nulos da linha 4 comecam na posicao JR(4) = 6 S4 = {6}

 o proximo elemento nao nulo da linha 4 esta na posicao NR(6) = 7


S4 = {6, 7}

 como NR(7) = 4 < 0, nao ha mais elementos nao nulos na linha 4

 elementos nao nulos da coluna 2 comecam na posicao JC(2) = 1 S 2 = {1}

 o proximo elemento nao nulo da coluna 2 esta na posicao NC(1) = 3


S 2 = {1, 3}

 o proximo elemento nao nulo da coluna 2 esta na posicao NC(3) = 6


S 2 = {1, 3, 6}

 como NC(6) = 2 < 0, nao ha mais elementos nao nulos na coluna 2

 S4 S 2 = 6 A4,2 = AN(6) = 2

18
Localizacao do elemento (1, 1):

 elementos nao nulos da linha 1 comecam na posicao JR(1) = 1 S1 = {1}

 como NR(1) = 1 < 0, nao ha mais elementos nao nulos na linha 1

 elementos nao nulos da coluna 1 comecam na posicao JC(1) = 2 S 1 = {2}

 o proximo elemento nao nulo da coluna 1 esta na posicao NC(2) = 5


S 1 = {2, 5}

 como NC(5) = 1 < 0, nao ha mais elementos nao nulos na coluna 1

 S1 S 1 = A1,1 = 0

Assim como no esquema circular KRM, ao se percorrer os elementos de uma linha


(coluna), nao se obtem diretamente as informacoes das colunas (linhas)

O esquema circular KRM modificado permite a obtencao da linha e coluna de um


elemento a partir de sua posicao de maneira mais eficiente

Obtencao da linha e coluna do elemento armazenado na posicao 4:

 como NR(4) = 2 < 0, o elemento pertence a linha 2

 NC(4) = 7

 como NC(7) = 4 < 0, o elemento pertence a coluna 4 AN(4) = A2,4

19
2.3.4 Esquema RR(C)O (Row-wise Representation Complete and Ordered)

1 2 3 4 5 6 7 8 9 10
1 3 5 1

A= 2

7 1 3

Posicao 1 2 3 4 5 6
IA 1 4 4 6 apontador de incio de linha
JA 3 4 8 6 8 ndice de coluna
AN 1 3 5 7 1 elementos nao nulos

Os elementos nao nulos da linha 1 comecam na posicao IA(1) = 1


Como IA(2) = 4 IA(2) IA(1) = 3 ha 3 elementos nao nulos na linha 1 e
estao armazenados nas posicoes 1, 2 e 3
O primeiro elemento nao nulo da linha 1 e AN(1) = 1 localizado na coluna
JA(1) = 3, ou seja AN(1) = A1,3 , etc.

E um esquema bastante utilizado, pois:

 exige pequeno espaco de armazenamento

 e de facil manipulacao para adicao, multiplicacao e transposicao de matrizes


esparsas

 e de facil manipulacao para a resolucao de sistemas de equacoes lineares


envolvendo matrizes esparsas (do tipo A x = b, sendo A uma matriz esparsa)
adequado para utilizacao em sistemas de potencia

Outras versoes sao possveis, como CR(C)O (column-wise representation complete


and ordered), RR(U)U (row-wise representation upper and unordered), etc.

20
Exerccio(s) proposto(s): (2.4)
Prazo de entrega: uma semana

2.3.5 Esquema de Zollenkopf

Considerar a seguinte rede de 6 barras e 7 ramos e a estrutura da respectiva matriz


admitancia nodal.

1 2 3 4 5 6
1
1 2 3
2

3
A=
4

5
4 5 6
6

Considerar que a matriz seja:

 estruturalmente simetrica se Ai ,j 6= 0 entao Aj,i 6= 0

 numericamente assimetrica em geral Ai ,j 6= Aj,i

21
Posicao LCOL NOZE ITAG LNXT DE CE RE
1 1 3 2 2 A1,1 A2,1 A1,2
2 3 4 4 0 A2,2 A4,1 A1,4
3 6 3 1 4 A3,3 A1,2 A2,1
4 8 3 3 5 A4,4 A3,2 A2,3
5 10 4 5 0 A5,5 A5,2 A2,5
6 13 3 2 7 A6,6 A2,3 A3,2
7 6 0 A6,3 A3,6
8 1 9 A1,4 A4,1
9 5 0 A5,4 A4,5
10 2 11 A2,5 A5,2
11 4 12 A4,5 A5,4
12 6 0 A6,5 A5,6
13 3 14 A3,6 A6,3
14 5 0 A5,6 A6,5
LCOL indicador do incio dos elementos nao nulos da coluna (linha)
NOZE numero de elementos nao nulos da coluna (linha)
ITAG ndice de linha (coluna) dos elementos armazenados em CE (RE)
LNXT posicao do proximo elemento nao nulo da coluna (linha)
DE elemento da diagonal da matriz
CE elementos nao nulos fora da diagonal armazenados por coluna
RE elementos nao nulos fora da diagonal armazenados por linha

Busca dos elementos da coluna/linha 1 da matriz:

 DE(1) = A1,1 e o elemento da diagonal ; ha NOZE(1) = 3 elementos nao nulos


na coluna/linha 1

 os elementos nao nulos da coluna/linha 1 comecam a ser armazenados na


posicao LCOL(1) = 1

 ITAG(1) = 2 corresponde a linha/coluna 2 CE(1) = A2,1 e RE(1) = A1,2

 proximo elemento nao nulo esta na posicao LNXT(1) = 2

 ITAG(2) = 4 corresponde a linha/coluna 4 CE(2) = A4,1 e RE(2) = A1,4

22
 como LNXT(2) = 0 nao ha mais elementos nao nulos na coluna/linha 1

Busca dos elementos da coluna/linha 5 da matriz:

 DE(5) = A5,5 e o elemento da diagonal ; ha NOZE(5) = 4 elementos nao nulos


na coluna/linha 1

 os elementos nao nulos da coluna/linha 5 comecam a ser armazenados na


posicao LCOL(5) = 10

 ITAG(10) = 2 corresponde a linha/coluna 2 CE(10) = A2,5 e RE(10) = A5,2

 proximo elemento nao nulo esta na posicao LNXT(10) = 11

 ITAG(11) = 4 corresponde a linha/coluna 4 CE(11) = A4,5 e RE(11) = A5,4

 proximo elemento nao nulo esta na posicao LNXT(11) = 12

 ITAG(12) = 6 corresponde a linha/coluna 6 CE(12) = A6,5 e RE(12) = A5,6

 como LNXT(12) = 0 nao ha mais elementos nao nulos na coluna/linha 5

E um esquema bastante utilizado em sistemas de potencia

Nao e o melhor esquema em termos de economia de armazenamento, mas


apresenta boa flexibilidade de utilizacao

O esquema de Zollenkopf tambem pode ser utilizado para matrizes estrutural e


numericamente simetricas. Neste caso, os vetores RE e DE nao sao necessarios.

23
 Exemplo

Considerar a matriz simetrica a seguir.

1 2 3 4
1,0 2,0 1

2,0 3,0 4,0 2


A=
5,0 3

4,0 6,0 4

A estrutura de armazenamento compacto de Zollenkopf sera:

POSICAO LCOL NOZE ITAG CE LNXT

1 4 2 1 2,0 3

2 1 3 4 4,0 0

3 6 1 2 3,0 2

4 7 2 1 1,0 8

5 4 6,0 0

6 3 5,0 0

7 2 4,0 5

8 2 2,0 0

24
A posicao dos elementos, dos ndices e apontadores depende do processo de
armazenamento da matriz, que pode ser definido de varias maneiras diferentes

Acesso a elementos da estrutura

Para acessar os elementos da coluna k da matriz:

il = lcol (k)

do while (il .gt. 0 )


m = itag (il)
x = ce (il)
il = lnxt (il)
end do

Acesso aos elementos da coluna 2:

k 2
il 1 3 2 0 (fim)
m 1 (linha 1) 2 (linha 2) 4 (linha 4)
x 2,0 (elemento (1,2)) 3,0 (elemento (2,2)) 4,0 (elemento (4,2))

25
Inicializacao da estrutura

Para uma rede de nb barras:

do i = 1 , nb
lcol (i) = i
itag (i) = i
lnxt (i) = 0
noze (i) = 1
nseq (i) = i
ce (i) = 0.0
end do

LF = nb + 1

do i = LF , ( MAX - 1 )
lnxt (i) = i + 1
itag (i) = 0
ce (i) = 0.0
end do

lnxt (MAX) = 0
itag (MAX) = 0
ce (MAX) = 0.0

MAX Numero maximo de elementos nao nulos previsto


E igual ao numero de elementos nao nulos da matriz mais uma folga,
caso a matriz deva ser manipulada e haja a possibilidade de aparecimento
de elementos nao nulos em posicoes originalmente nulas

LF Apontador da proxima posicao livre da estrutura


Atribui-se o valor inicial (LF = nb + 1) pois as primeiras nb posicoes
conterao os elementos da diagonal

26
O vetor NSEQ indica a ordem das linhas (colunas) a serem processadas quando a
matriz armazenada e utilizada nos calculos
Em geral a troca de posicao de linhas (colunas) pode minimizar o aparecimento de
elementos nao nulos em posicoes originalmente nulas
Esse assunto sera discutido com detalhes adiante

A inicializacao pode ser feita de outras maneiras


Esta em particular ja prepara os vetores de forma que os nb elementos da diagonal
ocupem as nb primeiras posicoes os elementos da diagonal podem ser acessados
sem busca pela estrutura de armazenamento

Armazenamento dos elementos da matriz

Considerar que os elementos da matriz A a ser armazenada sejam definidos como


(modelo de fluxo de carga linearizado de uma rede eletrica):

1
Akm = = Amk (matriz simetrica)
xkm
X 1
Akk =
xkm
mk

em que:

k, m barras terminais do ramo


xkm reatancia serie do ramo k-m
k conjunto composto pelas barras vizinhas da barra k

27
 Exemplo

1 2
x12

x13

1/x12 + 1/x13 1/x12 1/x13

A= 1/x12 1/x12

1/x13 1/x13

28
Para uma rede de nb barras e nr ramos:

do i = 1 , nr

k = barrainicial (i)
m = barrafinal (i)
y = 1.0 / x(i)

ce (k) = ce (k) + y Atualiza elemento Akk


ce (m) = ce (m) + y Atualiza elemento Amm

offdiag (k,m,-y) Insere (ou atualiza) elemento Akm


offdiag (m,k,-y) Insere (ou atualiza) elemento Amk

end do

29
Rotina offdiag

offdiag (k,m,valor)

il = lcol (m)

l = itag (il) Atualiza elemento

ila = il > =
k : l ce (il) = ce (il) + valor
il = lnxt (il)


RETURN
>
il : 0
6= =
il : lcol (m)
=

lnxt (ila) = LF lcol (m) = LF

noze (m) = noze (m) + 1


ce (LF) = valor
itag (LF) = k
Insere elemento ilf = lnxt (LF)
lnxt (LF) = il
LF = ilf

RETURN

30
 Exemplo

Considerar a rede de 3 barras e 4 ramos a seguir.

1 2
x12

x23
x13 x23

Os dados dos ramos sao:

Ramo De Para Reatancia [pu]


1 1 2 0,1
2 2 3 0,1
3 2 3 0,1
4 1 3 0,2

Os elementos da matriz A sao definidos como:

1
Akm = = Amk (matriz simetrica)
xkm
X 1
Akk =
xkm
mk

31
resultando em:

1 2 3

15 10 5 1

A= 10 30 20 2

5 20 25 3

Dimensionamento dos vetores de armazenamento:

Os vetores NSEQ, NOZE e LCOL terao dimensao 3 (= NB)

Os vetores ITAG, CE e LNXT terao dimensao 15 (= NB + 2NR + folga)

32
Apos a inicializacao:

Posicao NSEQ NOZE LCOL ITAG CE LNXT


1 1 1 1 1 0 0
2 2 1 2 2 0 0
3 3 1 3 3 0 0
4 0 0 5
5 0 0 6
6 0 0 7
7 0 0 8
8 0 0 9
9 0 0 10
10 0 0 11
11 0 0 12
12 0 0 13
13 0 0 14
14 0 0 15
15 0 0 0

MAX 15
LF 4

33
Insercao do ramo 1 (de 1 para 2):

Posicao NSEQ NOZE LCOL ITAG CE LNXT


1 1 12 1 1 0 10 0 5
2 2 12 24 2 0 10 0
3 3 1 3 3 0 0
4 01 0 -10 5 2
5 02 0 -10 6 0
6 0 0 7
7 0 0 8
8 0 0 9
9 0 0 10
10 0 0 11
11 0 0 12
12 0 0 13
13 0 0 14
14 0 0 15
15 0 0 0

MAX 15
LF 4 5 6

i 1
1 2
k 12
m 21 10 10 1
y 10 A=
10 10 2
il 210
l 21
ilf 56
ila 1

34
Insercao do ramo 2 (de 2 para 3):

Posicao NSEQ NOZE LCOL ITAG CE LNXT


1 1 2 1 1 10 5
2 2 23 4 2 10 20 07
3 3 12 36 3 0 10 0
4 1 -10 2
5 2 -10 0
6 02 0 -10 73
7 03 0 -10 80
8 0 0 9
9 0 0 10
10 0 0 11
11 0 0 12
12 0 0 13
13 0 0 14
14 0 0 15
15 0 0 0

MAX 15
LF 4 5 6 7 8
1 2 3
i 1 2
k 12 23 10 10 1
m 21 32
y 10 10 A= 10 20 10 2

il 210 3420 10 10 3
l 21 312
ilf 56 78
ila 1 42

35
Insercao do ramo 3 (de 2 para 3):

Posicao NSEQ NOZE LCOL ITAG CE LNXT


1 1 2 1 1 10 5
2 2 3 4 2 20 30 7
3 3 2 6 3 10 20 0
4 1 -10 2
5 2 -10 0
6 2 -10 -20 3
7 3 -10 -20 0
8 0 0 9
9 0 0 10
10 0 0 11
11 0 0 12
12 0 0 13
13 0 0 14
14 0 0 15
15 0 0 0

MAX 15
LF 4 5 6 7 8
1 2 3
i 1 2 3
k 12 23 23 10 10 1
m 21 32 32
y 10 10 10 A= 10 30 20 2

il 210 3420 6427 20 20 3


l 21 312 2123
ilf 56 78
ila 1 42 42

36
Insercao do ramo 4 (de 1 para 3):

Posicao NSEQ NOZE LCOL ITAG CE LNXT


1 1 23 1 1 10 15 5
2 2 3 4 2 30 7
3 3 23 68 3 20 25 0
4 1 -10 2
5 2 -10 09
6 2 -20 3
7 3 -20 0
8 01 0 -5 96
9 03 0 -5 10 0
10 0 0 11
11 0 0 12
12 0 0 13
13 0 0 14
14 0 0 15
15 0 0 0

MAX 15
LF 4 5 6 7 8 9 10

i 1 2 3 4
k 12 23 23 13
m 21 32 32 31
y 10 10 10 5

il 210 3420 6427 6150


l 21 312 2123 212
ilf 56 78 9 10
ila 1 42 42 15

37
A matriz final e:

1 2 3
15 10 5 1

A = 10 30 20 2

5 20 25 3

Exerccio(s) proposto(s): (2.5), (2.6), (2.7)


Prazo de entrega: duas semanas

38
Referencias

 A.J. Monticelli, Fluxo de Carga em Redes de Energia Eletrica, Edgard


Blucher, 1983.
 W.F. Tinney, V. Brandwajn, S.M. Chan, Sparse vector methods, IEEE
Transactions on Power Apparatus and Systems, vol.PAS-104, n.2, 1985.
 I.S. Duff, A survey of sparse matrix research, Proceedings of the IEEE, vol.65,
n.4, 1977.
 K. Zollenkopf, Bi-factorization basic computational algorithms and
programming techniques, In: J.K. Reid, Large sparse sets of linear equations,
Academic Press, 1971.
 S. Pissanetzky, Sparse matrix Technology, Academic Press, 1984.
 I.S. Duff, A survey of sparse matrix research, Proceedings of the IEEE, vol.65,
n.4, 1977.
 S.A. Soman, S.A. Khaparde, S. Pandit, Computational methods for large sparse
power systems analysis: an object oriented approach, Kluwer Academic
Publishers, 2002.

Materiais interessantes

 J.M. Campagnolo, http://www.labspot.ufsc.br/campagno/Pos.html, Captulo


III, ultimo acesso em 14/02/2014.

39
Apendice

No primeiro exemplo apresentado chegou-se ao seguinte sistema de equacoes lineares:

I1 2 1 1 0 0 V1


I2
1 2 0 1 0 V2



I3 =
1 0 3 1 1
V3

I =YV
I4 0 1 1 2 0 V4
I5 0 0 1 0 1 V5

correspondente ao circuito:

1 R 3 R 5
I1 I5
V1 V3 V5
I3
R R

V2 V4
I2 I4
2 R 4

Pode-se notar que:

A matriz Y tem determinante nulo, ou seja, nao apresenta inversa. Verifica-se


facilmente a dependencia linear entre as linhas de Y. Por exemplo:

linha 5 = (linha 1 + linha 2 + linha 3 + linha 4)

40
Portanto, nao e possvel obter o vetor solucao (tensoes nodais) atraves de:

V = Y1 I

Nao e possvel especificar todos os componentes do vetor independente (correntes


nodais), pois, exceto por uma coincidencia, a lei das correntes de Kirchhoff sera
violada. Por exemplo, isso acontecera se o vetor I for:

IT =
 
1 1 1 1 1
Esses problemas ocorrem devido a falta de um no de referencia para o circuito. A
adocao de um no de referencia (no cuja tensao e conhecida a priori) permite:

que o problema tenha solucao, pois a matriz Y tera inversa

que se respeite a lei das correntes de Kirchhoff, pois a corrente neste no sera
calculada em funcao das demais

Voltando ao circuito exemplo e tomando o no 5 como referencia:

1 R 3 R 5
I1 I5
V1 V3
I3
V5 = 0
R R

V2 V4
I2 I4
2 R 4

pode-se resolver o problema de duas maneiras diferentes.

41
Maneira 1: eliminando a linha e a coluna de Y e o componente de I correspondentes
ao no de referencia

2 1 1 0

1 2 0 1
Y=
1 0 3 1

0 1 1 2

IT =
 
1 1 1 1

T
V = Y1 I =

5,5 6,0 4,0 5,5

A injecao de corrente no no de referencia pode ser calculada por (aplicacao da lei das
correntes de Kirchhoff para o no 5):

V5 V3 0 4,0
I5 = I53 = = = 4 A
R35 1,0

e, neste caso, verifica-se que:

I5 = (I1 + I2 + I3 + I4 )

42
Maneira 2: colocando um numero muito grande (tendendo ao infinito) no elemento
da diagonal correspondente ao no de referencia

2 1 1 0 0


1 2 0 1 0
Y=
1 0 3 1 1

0 1 1 2 0
0 0 1 0

A matriz inversa sera:

7/4 3/2 1 5/4 0



3/2 2 1 3/2 0
Y1

=
1 1 1 1 0

5/4 3/2 1 7/4 0
0 0 0 0 0

ou seja, os elementos da linha e a coluna correspondentes ao no de referencia sao iguais


a zero, o que equivale a nao considera-los. O vetor independente sera:

IT =
 
1 1 1 1

em que o valor de nao importa, pois nao influenciara nos calculos (este valor sera
sempre multiplicado por zero). A solucao sera:

T
V = Y1 I =

5,5 6,0 4,0 5,5 0

A solucao obtida, assim como o posterior calculo da corrente injetada no no de


referencia, sao identicos aos mostrados anteriormente.

43

Vous aimerez peut-être aussi