multiple link exchange for distribution network optimization · os algoritmos a um método...
TRANSCRIPT
Multiple Link Exchange for Distribution Network
Optimization
Pedro Miguel Nunes Aires
Thesis to obtain the Master of Science Degree in
Integrated Master Degree in Electrical and Computer
Engineering
Examination Committee
Chairperson: Prof. Maria Eduarda de Sampaio Pinto de Almeida Pedro
Supervisor: Prof. Luís António Fialho Marcelino Ferreira
Member of the Committee: Prof. João José Esteves Santana
October 2013
iii
Agradecimentos
Aos professores Luís António Fialho Marcelino Ferreira e Célia Maria Santos Cardoso de Jesus
pela ajuda, orientação e disponibilidade demonstrada durante todo o período de trabalho. Ao professor
Pedro Manuel Santos de Carvalho pelas sugestões e apoio prestado.
Aos meus pais, ao meu irmão e aos meus amigos, que sempre me apoiaram.
iv
Resumo
Este trabalho tem como objectivo o desenvolvimento de dois algoritmos para a optimização de
redes de distribuição de energia eléctrica, o Single Link Exchange e o Multiple Link Exchange, no
sentido de minimizar as perdas de potência activa.
Os algoritmos foram desenvolvidos com recurso à ferramenta computacional MATLAB e
testados em diversas redes. De forma a testar os limites dos algoritmos, aumentaram-se as resistências
de alguns ramos das redes e geraram-se impedâncias aleatórias nas redes. No final compararam-se
os algoritmos a um método iterativo e a outros algoritmos de optimização de redes de distribuição.
A partir dos resultados obtidos, chegou-se à conclusão que, ao contrário do Single Link
Exchange, o Multiple Link Exchange é muito exigente computacionalmente, o que leva a um enorme
tempo de execução, mas raramente fica preso numa solução local optimum.
Palavras-chave
Reconfiguração de redes de distribuição, Perdas mínimas de potência, Single Link Exchange, Multiple
Link Exchange
v
Abstract
This work aims to develop two algorithms for the electric power distribution networks
optimization, Single Link Exchange and Multiple Link Exchange, in order to minimize the real power
losses.
These algorithms were developed in MATLAB and tested on several networks. Towards testing
the limits of the algorithms, the resistance of some branches was increased and random values of
impedance were generated for the networks. Then, the algorithms were compared to an iterative method
and to other distribution networks optimization algorithms.
The obtained results showed that, unlike the Single Link Exchange, the Multiple Link Exchange
is computationally very demanding, which leads to a huge runtime, but it rarely gets trapped in a local
optimum solution.
.
Keywords
Distribution networks reconfiguration, Minimal power losses, Single Link Exchange, Multiple Link
Exchange
vi
Índice
Agradecimentos ................................................................................................................................... iii
Resumo.................................................................................................................................................. iv
Abstract .................................................................................................................................................. v
Índice de figuras ................................................................................................................................. viii
Índice de tabelas ................................................................................................................................... ix
Lista de abreviações ............................................................................................................................. x
Lista de símbolos ................................................................................................................................. xi
1. Introdução .......................................................................................................................................... 1
1.1. Redes de distribuição ................................................................................................................... 1
1.2. Objectivos do trabalho .................................................................................................................. 2
1.3. Organização dos capítulos ........................................................................................................... 3
2. Trânsito de Energia ........................................................................................................................... 4
2.1. Equações do trânsito de energia .................................................................................................. 4
2.2. Método de Newton-Raphson ........................................................................................................ 6
2.3. Aplicação do Método Newton-Raphson ao trânsito de energia ................................................... 7
2.4. Processo iterativo ......................................................................................................................... 8
2.5. Perdas de potência activa .......................................................................................................... 10
3. Reconfiguração de redes de distribuição ..................................................................................... 11
3.1. Single Link Exchange ................................................................................................................. 12
3.1.1. Estrutura do algoritmo ......................................................................................................... 12
3.1.2. Redes de teste .................................................................................................................... 15
3.1.2.1. Rede de 8 barramentos ......................................................................................... 15
3.1.2.2. Rede de 16 barramentos ....................................................................................... 17
3.1.2.3. Rede de 33 barramentos ....................................................................................... 20
3.1.2.4. Rede de 94 barramentos ....................................................................................... 23
3.2. Multiple Link Exchange............................................................................................................... 24
3.2.1. Estrutura do algoritmo ......................................................................................................... 24
3.2.2. Redes de teste .................................................................................................................... 28
3.2.2.1. Rede de 8 barramentos ......................................................................................... 28
vii
3.2.2.2. Rede de 16 barramentos ....................................................................................... 29
3.2.2.3. Rede de 33 barramentos ....................................................................................... 31
3.2.2.4. Rede de 94 barramentos ....................................................................................... 32
3.3. Comparação de resultados ........................................................................................................ 33
4. Aumento de resistências nas redes .............................................................................................. 35
4.1. Rede de 8 barramentos .............................................................................................................. 35
4.2. Rede de 16 barramentos ............................................................................................................ 38
4.3. Rede de 16 barramentos pura ................................................................................................... 41
4.4. Comparação de resultados ........................................................................................................ 43
5. Impedâncias aleatórias das redes ................................................................................................. 44
5.1. Teste 1 ........................................................................................................................................ 44
5.2. Teste 2 ........................................................................................................................................ 45
5.3. Comparação de resultados ........................................................................................................ 46
6. Analogia do método de Jacobi-Gauss-Seidel aos algoritmos ................................................... 47
6.1. Descrição do método .................................................................................................................. 47
6.2. Comparação aos algoritmos ...................................................................................................... 48
7. Comparação com outros algoritmos ............................................................................................. 52
7.1. Rede de 33 barramentos ............................................................................................................ 53
7.2. Rede de 94 barramentos ............................................................................................................ 53
7.3. Rede de 135 barramentos .......................................................................................................... 54
7.4. Comparação de resultados ........................................................................................................ 55
8. Conclusões e Trabalhos Futuros .................................................................................................. 56
Referências Bibliográficas ................................................................................................................. 57
Anexos .................................................................................................................................................. 58
A. Dados da rede de 94 barramentos ............................................................................................... 58
B. Dados da rede de 135 barramentos ............................................................................................. 60
C. Código em MATLAB ..................................................................................................................... 63
viii
Índice de figuras
Figura 1.1 - Esquema de um sistema de energia eléctrica ..................................................................... 1
Figura 1.2 - Rede radial ........................................................................................................................... 2
Figura 2.1 - Esquema unifilar do barramento genérico ......................................................................... 4
Figura 2.2 - Esquema monofásico equivalente da linha entre os barramentos e .............................. 5
Figura 2.3 - Fluxograma do processo iterativo para o método de Newton-Raphson ............................. 9
Figura 3.1 - Sistema de distribuição radial ............................................................................................ 11
Figura 3.2 - Fluxograma do algoritmo SLE ........................................................................................... 14
Figura 3.3 - Rede de 8 barramentos ..................................................................................................... 15
Figura 3.4 - Rede de 8 barramentos após reconfiguração ................................................................... 16
Figura 3.5 - Rede de 16 barramentos ................................................................................................... 17
Figura 3.6 - Rede de 16 barramentos após reconfiguração ................................................................. 19
Figura 3.7 - Rede de 33 barramentos ................................................................................................... 20
Figura 3.8 - Rede de 33 barramentos após reconfiguração ................................................................. 22
Figura 3.9 - Rede de 94 barramentos ................................................................................................... 23
Figura 3.10 - Fluxograma do algoritmo MLE ......................................................................................... 27
Figura 3.11 - Rede de 8 barramentos ................................................................................................... 28
Figura 3.12 - Rede de 16 barramentos ................................................................................................. 29
Figura 3.13 - Rede de 33 barramentos ................................................................................................. 31
Figura 3.14 - Rede de 94 barramentos ................................................................................................. 32
Figura 3.15 - Comparação dos algoritmos quanto à redução de perdas nas redes ............................. 33
Figura 3.16 - Comparação dos algoritmos quanto ao número de trocas efectuadas ........................... 34
Figura 3.17 - Comparação dos algoritmos quanto ao número de trânsitos de energia efectuados ..... 34
Figura 4.1 - Rede de 8 barramentos ..................................................................................................... 35
Figura 4.2 - Aumento da resistência dos ramos 1-2 e 2-6 na rede de 8 barramentos ......................... 35
Figura 4.3 - Aumento da resistência dos ramos 1-2 e 5-1, 2-6 e 4-5 na rede de 8 barramentos ......... 36
Figura 4.4 - Aproximação do aumento da resistência dos ramos 1-2,5-1 na rede de 8 barramentos .. 36
Figura 4.5 - Aumento da resistência em todos os ramos na rede de 8 barramentos ........................... 37
Figura 4.6 - Rede de 16 barramentos ................................................................................................... 38
Figura 4.7 - Aumento da resistência dos ramos 1-8 e 8-9 na rede de 16 barramentos ....................... 38
Figura 4.8 - Aumento da resistência dos ramos 1-4 e 1-8, 1-4 e 1-13, 1-8 e 1-13 na rede de 16
barramentos .......................................................................................................................................... 39
Figura 4.9 - Aumento da resistência dos ramos 4-6 e 9-11, 13-15 e 8-10 na rede de 16 barramentos40
Figura 4.10- Aumento da resistência em todos os ramos na rede de 16 barramentos ........................ 40
Figura 4.11 - Aumento da resistência dos ramos 1-4 e 1-8, 1-4 e 1-13, 1-8 e 1-13 na rede de 16
barramentos pura .................................................................................................................................. 41
Figura 4.12 - Aumento da resistência dos ramos 4-6 e 9-11, 13-15 e 8-10 na rede de 16 barramentos
pura ........................................................................................................................................................ 42
Figura 4.13 - Aumento da resistência em todos os ramos na rede de 16 barramentos pura ............... 42
ix
Índice de tabelas
Tabela 3.1 - Potências de carga da rede de 8 barramentos ................................................................. 15
Tabela 3.2 - Resistência e reactância dos ramos da rede de 8 barramentos ...................................... 15
Tabela 3.3 - Dados da rede de 8 barramentos original e após a reconfiguração com o SLE .............. 16
Tabela 3.4 - Dados da rede de 16 barramentos ................................................................................... 17
Tabela 3.5 - Passos seguidos pelo SLE na rede de 16 barramentos ................................................... 18
Tabela 3.6 - Dados da rede de 16 barramentos original e após a reconfiguração com o SLE ............ 19
Tabela 3.7 - Dados da rede de 33 barramentos ................................................................................... 21
Tabela 3.8 - Dados da rede de 33 barramentos original e após a reconfiguração com o SLE ............ 21
Tabela 3.9 - Dados da rede de 94 barramentos original e após a reconfiguração com o SLE ............ 23
Tabela 3.10 - Dados da rede de 8 barramentos original e após a reconfiguração com o MLE ........... 28
Tabela 3.11 - Dados da rede de 16 barramentos original e após a reconfiguração com o MLE ......... 29
Tabela 3.12 - Passos seguidos pelo MLE na rede de 16 barramentos ................................................ 30
Tabela 3.13 - Dados da rede de 33 barramentos original e após a reconfiguração com o MLE ......... 31
Tabela 3.14 - Dados da rede de 94 barramentos original e após a reconfiguração com o MLE ......... 32
Tabela 5.1 – Impedâncias dos ramos da rede de 8 barramentos em p.u. no teste 1 .......................... 44
Tabela 5.2 - Impedâncias dos ramos a inserir em p.u. no teste 1 ........................................................ 44
Tabela 5.3 - Comparação dos resultados obtidos no teste 1 ................................................................ 45
Tabela 5.4 - Impedâncias dos ramos da rede de 8 barramentos em p.u. no teste 2 ........................... 45
Tabela 5.5 - Impedâncias dos ramos a inserir em p.u. no teste 2 ........................................................ 46
Tabela 5.6 - Comparação dos resultados obtidos no teste 2 ................................................................ 46
Tabela 6.1 - Teste aos métodos de Jacobi-Gauss-Seidel .................................................................... 50
Tabela 7.1 - Comparação com outros algoritmos na rede de 33 barramentos .................................... 53
Tabela 7.2 - Comparação com outros algoritmos na rede de 94 barramentos .................................... 53
Tabela 7.3 - Comparação com outros algoritmos na rede de 135 barramentos .................................. 54
Tabela A.1 - Dados da rede de 94 barramentos ................................................................................... 59
Tabela A.2 - Dados da rede de 135 barramentos ................................................................................. 62
xi
Lista de símbolos
θ Argumento da tensão
∆P Erro de fecho da potência activa
∆Q Erro de fecho da potência reactiva
[J] Matriz Jacobiano
B Susceptância
G Condutância
I Amplitude da corrente
p.u. Por unidade
P Potência activa
PC Potência activa de carga
PG Potência activa gerada
PL Perdas de potência activa
Q Potência reactiva
QC Potência reactiva de carga
QG Potência reactiva gerada
R Resistência
S Potência complexa
SC Potência complexa de carga
SG Potência complexa gerada
SL Perdas de potência complexa
V Tensão complexa
V Amplitude da tensão (valor eficaz)
X Reactância
YT Admitância transversal de uma linha
yij Elemento da matriz de admitâncias nodais
Z Impedância complexa
ZL Impedância longitudinal de uma linha
1
1. Introdução
1.1. Redes de distribuição
As redes de distribuição fazem parte de um sistema de energia eléctrica, o qual compreende a
produção, transporte, distribuição e consumo de energia eléctrica. A produção desta energia é
maioritariamente oriunda de centrais térmicas ou hídricas, de grandes dimensões, que se encontram
afastadas de locais de grande consumo, devido à indisponibilidade de recursos energéticos primários
e de infraestruturas nestes locais. De seguida, esta energia entra na rede de transporte, composta por
linhas em muito alta tensão, sendo os níveis de tensão usados em Portugal de 150, 220 e 400 kV.
Através de transformadores, a energia eléctrica chega à rede de distribuição, responsável pela sua
condução aos consumidores. Na Figura 1.1 está representado o esquema de um sistema de energia
eléctrica.
Figura 1.1 ‐ Esquema de um sistema de energia eléctrica
Devido ao papel fulcral de um sistema de energia eléctrica, este deve cumprir alguns requisitos,
como a disponibilidade de energia eléctrica em qualquer lugar onde seja requerida, a qualidade desta
energia (tensões dentro dos limites impostos, frequência constante, forma de onda sinusoidal) e a
preocupação ambiental na produção da energia eléctrica.
2
Quanto às redes em estudo, as redes de distribuição, estas são operadas em Portugal pela
EDP Distribuição e são constituídas por linhas aéreas e cabos subterrâneos de alta (60 kV), média
(essencialmente a 30, 15 e 10 kV) e baixa tensão (400 V), subestações, postos de transformação e
outros equipamentos acessórios necessários à sua exploração. Os equipamentos ligados à iluminação
pública também fazem parte das redes de distribuição.
Como se pode verificar pela Figura 1.1, a energia produzida por fontes renováveis (solar, mini-
hídrica e eólica) ou cogeração é entregue à rede de distribuição.
Em relação à estrutura topológica, estas redes são maioritariamente radiais. Uma rede radial é
uma rede composta por linhas que se ramificam a partir de um ponto de alimentação, sem nunca mais
se encontrarem, como mostra a Figura 1.2. Este tipo de redes é caracterizado por menor fiabilidade e
menor custo que as redes malhadas e o trânsito de energia é feito do ponto de alimentação para a
carga.
Figura 1.2 - Rede radial
1.2. Objectivos do trabalho
O principal objectivo deste trabalho é o desenvolvimento de dois algoritmos para a optimização
de redes de distribuição, denominados Single Link Exchange e Multiple Link Exchange. Estes
algoritmos são desenvolvidos no sentido de minimizar as perdas de potência activa nas redes de
distribuição.
Outro objectivo deste trabalho é comparar os algoritmos desenvolvidos e verificar as suas
limitações.
3
1.3. Organização dos capítulos
Neste 1º capítulo foram introduzidas as redes de distribuição e apresentadas as suas
características.
No 2º capítulo é descrito o método de trânsito de energia utilizado (Newton-Raphson), bem
como as formas de calcular as perdas de potência activa.
No 3º capítulo descrevem-se os algoritmos utilizados na reconfiguração de redes de
distribuição: SLE e MLE. Os algoritmos são testados em várias redes e no final comparam-se os
resultados obtidos.
O 4º capítulo consiste na observação do comportamento dos algoritmos SLE e MLE quando
são aumentadas as resistências de alguns ramos das redes.
No 5º capítulo são geradas impedâncias aleatórias nas redes, para verificar, mais uma vez, o
comportamento dos algoritmos.
O 6º capítulo faz uma analogia entre o método de Jacobi-Gauss-Seideil e os algoritmos em
estudo.
No 7º capítulo são comparados os resultados obtidos através dos algoritmos SLE e MLE com
outros algoritmos de reconfiguração de redes de distribuição.
No 8º capítulo são apresentadas as conclusões do trabalho.
4
2. Trânsito de Energia
Além do trânsito de energia inicial, em cada reconfiguração da rede é necessária a realização
de um outro trânsito, como o intuito de calcular as perdas da nova configuração da rede. Dado que as
equações do trânsito de energia são não-lineares, é necessário recorrer a um método iterativo. O
método escolhido foi o de Newton-Raphson, já que este, face aos métodos de Gauss-Seidel e do
Desacoplamento, tem uma convergência mais rápida que o primeiro, é mais robusto que o segundo,
ou seja, tem uma maior capacidade de chegar a uma solução correcta e é considerado o método de
referência na solução do trânsito de energia.
2.1. Equações do trânsito de energia
Considerando-se o barramento genérico , do sistema da Figura 2.1, a potência injectada ,
definida como a diferença entre a potência gerada e consumida no barramento , é dada por:
(1)
Figura 2.1 ‐ Esquema unifilar do barramento genérico
Aplicando a lei de Kirchhoff ao barramento , do esquema equivalente em da linha que liga
os nós e , Figura 2.2, obtém-se a equação:
∗
∗ 21 1
(2)
Ou:
∗
∗ (3)
5
Onde:
21
(4)
1
(5)
Figura 2.2 ‐ Esquema monofásico equivalente da linha entre os barramentos e
Da equação (3) obtém-se:
∗ (6)
Substituindo e na equação (6), para um sistema com
barramentos, obtêm-se 2 equações reais, em coordenadas polares das tensões. Para o barramento
, estas equações são:
cos sin (7)
sin cos (8)
As redes que serão utilizadas neste trabalho não possuem barramentos do tipo PV, ou
barramentos de tensão controlada. Este tipo de barramentos está normalmente associado a geração,
e, nas redes de distribuição estudadas, existe apenas um barramento onde ocorre injecção de potência,
6
sendo este definido como barramento de referência/balanço. Os restantes barramentos são, portanto,
do tipo PQ, ou seja, de carga.
As equações do trânsito de energia podem ser escritas na forma matricial:
, , 0 (9)
o que permite classificar as variáveis das equações em variáveis de estado, controlo ou
perturbação. Ao resolver o trânsito de energia, as variáveis de estado são calculadas e as variáveis de
controlo e perturbação especificadas. As variáveis de estado ou dependentes são o módulo e
argumento da tensão nos barramentos PQ e as potências activa e reactiva no barramento de balanço,
as variáveis de controlo ou independentes são o módulo e argumento da tensão no barramento de
balanço e as variáveis de perturbação ou incontroláveis são as cargas activas e reactivas, impostas
pelos consumidores.
2.2. Método de Newton-Raphson
Considerando o sistema de equações
, … ,⋮
, … ,⋮
, … ,
(10)
Ou na forma matricial:
(11)
Se se tomar um valor inicial das incógnitas , tem-se:
∆ (12)
Ao linearizar a função em torno de , obtém-se:
∆ (13)
Ou
∆ ∆ (14)
7
A matriz Jacobiano de dimensões , é dada por:
⋯
⋮ ⋱ ⋮
⋯
(15)
∆ e ∆ são vectores de n elementos:
∆∆⋮
∆ (16)
∆ ⋮ (17)
Na iteração , a equação (14) fica:
∆ ∆ (18)
Em ordem a ∆ tem-se:
∆ ∆ (19)
Para se obter uma melhor aproximação da solução final, adiciona-se o acréscimo ∆ ao
vector de incógnitas da iteração anterior:
∆ (20)
2.3. Aplicação do Método Newton-Raphson ao trânsito de energia
As equações (7) e (8) correspondem às potências activas e reactivas injectadas, em função
dos módulos e argumentos das tensões (com o barramento 1 de balanço):
, … , , , … , (21) , … , , , … , (22)
8
Com pequenas variações de e , tem-se:
∆ ∆ ⋯ ∆
∆⋯
∆ (23)
∆ ∆ ⋯ ∆∆
⋯∆
(24)
As equações (23) e (24) podem ser compactadas na forma:
∆∆
∆∆ / (25)
Em que é o jacobiano de dimensões 2 1 2 1 e é dado por:
(26)
Para :
sin cos (27)
cos sin (28)
Para :
(29) (30) (31) (32)
2.4. Processo iterativo
O processo iterativo do cálculo de tensões abrange os seguintes passos:
1. Estimar os valores iniciais dos módulos e argumentos das tensões nos barramentos.
2. Calcular os erros de fecho ∆ e ∆ entre os valores especificados e calculados pelas
equações (7) e (8):
9
∆ (33)
∆ (34)
3. Calcular o jacobiano .
4. Calcular os acréscimos ∆ e ∆ , resolvendo o sistema de equações (25).
5. Actualizar os valores do módulo e argumento da tensão das barras PQ:
∆ (35) ∆ (36)
6. Repetir os passos 2 a 5 até à convergência, isto é, quando os valores absolutos dos erros
de fecho forem inferiores a uma tolerância :
|∆ |, |∆ | (37)
De seguida apresenta-se um fluxograma do processo iterativo:
Figura 2.3 ‐ Fluxograma do processo iterativo para o método de Newton‐Raphson
10
2.5. Perdas de potência activa
Depois de achada uma solução para o trânsito de energia, através do método acima descrito,
é altura de calcular o factor de optimização em estudo: as perdas de potência activa. Duas formas de
as calcular são:
(38)
1∗
∗
21∗
∗ , (39)
Enquanto na primeira equação é necessária a potência activa no barramento de balanço, na
segunda equação são necessários os módulos e argumentos das tensões dos barramentos
constituintes da rede, todas variáveis de estado calculadas pelo trânsito de energia.
11
3. Reconfiguração de redes de distribuição
A reconfiguração de redes de distribuição é definida por uma mudança na estrutura da rede,
como consequência do fecho e abertura de ramos. Os principais objectivos desta técnica são assegurar
o restauro de serviço após contingências, reduzir perdas e equilibrar as cargas no sistema, com a
condição de manter a rede radial.
Dado que o objectivo desta dissertação é minimizar as perdas nas redes de distribuição,
podemos formular o problema como:
Minimizar ,
Sujeito a:
1, … ,Nº de ramos (40)
1, … ,Nº de barramentos (41)
Conectividade das cargas
Estrutura radial da rede
Onde representa as perdas de potência activa da rede, o módulo da corrente no ramo ,
o valor máximo de corrente que pode transitar no ramo , o módulo da tensão no barramento
e e os valores mínimo e máximo de tensão no barramento . Estes valores de tensão
limites foram considerados 0.9 p.u. e 1.1 p.u., de modo a obter um bom funcionamento da rede. A
conectividade das cargas prende-se com o facto de todas as cargas necessitarem de conexão à fonte
de alimentação.
Para melhor percepção do processo de reconfiguração de redes e das suas restrições,
apresenta-se a seguinte figura:
Figura 3.1 ‐ Sistema de distribuição radial
12
Por simplificação, os barramentos, como já havia sido referido, são do tipo PQ ou de carga, isto
é, as cargas têm elasticidade nula em relação à tensão, sendo constantes a potência activa e reactiva
absorvidas.
Na Figura 3.1, os ramos representam as linhas que transportam a corrente desta rede radial.
Alguns destes ramos têm interruptores, representados por rectângulos, os quais estão fechados e são
apelidados de sectionalizing switches. Quanto aos ramos a tracejado, estes representam as linhas com
interruptores abertos designados tie switches. A rede pode ser reconfigurada fechando um tie switch e
abrindo um sectionalizing switch. Este processo é denominado de branch exchange ou link exchange.
Quanto à restrição da estrutura radial da rede, apresenta-se o seguinte exemplo: fechando o
ramo 21, cria-se um loop constituído pelos ramos 1,2,3,21,7,6. Então, é necessário abrir um ramo com
um sectionalizing switch, de forma a restaurar a estrutura radial do sistema. Qualquer um dos
interruptores dos ramos 1,3 ou 6 pode ser aberto de forma a romper o loop.
Com o objectivo de minimizar as perdas de potência activa, foram criados dois algoritmos, em
linguagem MATLAB, que têm por base o branch exchange: o Single Link Exchange e o Multiple Link
Exchange.
3.1. Single Link Exchange
Tal como o nome indica, o SLE é um algoritmo que insere e remove ramos da rede um a um.
Nas redes estudadas, considerou-se que todos os ramos têm sectionalizing switches, isto é, todos os
ramos podem ser removidos, desde que as restrições sejam cumpridas.
A partir da configuração inicial, o algoritmo vai inserir um ramo na rede, encontrar o loop criado
pela inserção do mesmo e, se benéfico, isto é, se houver redução de perdas, remover um ramo desse
mesmo loop. O processo termina quando a configuração com menos perdas, ou óptima, for encontrada.
De notar que em cada reconfiguração é necessário realizar um trânsito de energia, para o cálculo das
perdas de potência activa.
3.1.1. Estrutura do algoritmo
O algoritmo SLE segue os seguintes passos:
1. Realiza um trânsito de energia, para calcular as perdas iniciais da rede.
2. Insere um ramo na rede, da lista de ramos a inserir.
3. Encontra o loop criado pela inserção do ramo.
4. Remove os ramos do loop um a um e calcula as perdas da rede após a remoção de cada ramo,
de modo a descobrir o ramo que conduz ao mínimo de perdas de potência na rede.
13
5. Se a remoção do ramo descoberto no passo 4 contribuir para redução de perdas na rede,
procede à remoção deste ramo, o qual passa para a lista de ramos a inserir.
6. Repete os passos 2 a 5, inserindo os ramos seguintes um a um da lista de ramos a inserir, até
encontrar a configuração óptima.
Na Figura 3.2 encontra-se representado o algoritmo em forma de fluxograma.
As funções usadas neste algoritmo foram:
net = SingleLinkExchange(network,Z1): função do algoritmo, recebendo como parâmetros a
estrutura network, a qual inclui todos os dados da rede e a matriz Z1, a qual inclui os dados
sobre os ramos a inserir (ou tie lines) e retornando a estrutura net, sendo esta os dados da
rede optimizada.
[V,S_barr,Perdas1] = NewtonRaphson(net,pv): função que calcula o trânsito de energia através
do método Newton-Raphson, explicado acima. Recebe como parâmetros a estrutura da rede
net e a estrutura pv, destinada aos barramentos do tipo PV, a qual não é usada e retorna as
tensões dos barramentos, as potências injectadas nos mesmos e as perdas da rede.
path = EncontraLoop(Z,barr): função que a partir da matriz Z, matriz de impedâncias da rede,
cria uma matriz de adjacências e chama a função recursiva de procura PesquisaLoop. Retorna
o loop formado após a inserção de uma tie line.
path = PesquisaLoop(barr,Adj,visit,path): função de procura em profundidade primeiro (DFS –
“Depth-first-search”) no grafo que representa a rede. Esta função, sendo recursiva, recebe o
barramento barr onde se encontra a procura, a matriz de adjacências Adj, a qual tem valor um
quando existe um ramo entre dois barramentos e zero quando não existe, o vector visit, que
tem valor um se o barramento já foi visitado, zero caso contrário e o valor dois para o
barramento inicial, e o vector path, que contém os barramentos do loop encontrados. Esta
função parte de um barramento (variável barr da função EncontraLoop) e vai visitando outros
barramentos até encontrar de novo o barramento inicial, devolvendo o loop encontrado através
do vector path. Se um barramento já foi visitado, a função vai procurar outro que ainda não foi,
e seguir por esse caminho. Quando um barramento não possui mais barramentos adjacentes
não visitados, a chamada recursiva termina, devolvendo o controlo de execução para o
barramento que o antecedeu na recursão.
[ind1,ind2,perdas1,pf] = Perdas(path,index1,index2,network,pv,ss,pf): função que retira os
ramos um a um de um loop (vector path) e calcula a melhor configuração da rede, com base
no mínimo de perdas de potência da mesma rede. Recebe também os parâmetros index1 e
index2, que correspondem aos barramentos do ramo inserido, as estruturas network e pv,
mencionadas na função NewtonRaphson acima, e as variáveis ss (o barramento de
alimentação) e pf (contador do número de trânsitos de energia calculados). São retornados os
barramentos (ind1 e ind2) do ramo que leva ao mínimo de perdas (perdas1) e o contador pf. É
nesta função que, sempre que um ramo é removido, são verificadas as restrições de corrente
14
(se existirem), tensão, conectividade de cargas e estrutura radial da rede, mencionadas
anteriormente. Se alguma restrição não se verifica, o ramo é imediatamente excluído da
hipótese de ser removido.
Figura 3.2 ‐ Fluxograma do algoritmo SLE
15
3.1.2. Redes de teste
De modo a verificar a funcionalidade deste algoritmo de optimização, aplicou-se o mesmo a
quatro redes de distribuição.
3.1.2.1. Rede de 8 barramentos
Figura 3.3 ‐ Rede de 8 barramentos
Nesta rede temos 2 pontos de alimentação (barramentos 1 e 8), 6 barramentos de carga
(barramentos 2 a 7) e 2 ramos possíveis de inserir (tie lines): 2-3 e 5-7. Os dados da rede são os
seguintes:
Barramento PL (MW) QL (MVAr)
2 5 5
3 5 5
4 5 5
5 5 5
6 5 5
7 5 5 Tabela 3.1 ‐ Potências de carga da rede de 8 barramentos
Ramo R (p.u.) X (p.u.)
1-2 0.03 0.03
2-6 0.03 0.03
6-7 0.03 0.03
8-5 0.03 0.03
5-4 0.03 0.03
4-3 0.03 0.03
Tie Lines
2-3 0.03 0.03
5-7 0.03 0.03 Tabela 3.2 ‐ Resistência e reactância dos ramos da rede de 8 barramentos
16
Na optimização da rede, considerou-se o barramento 8 como sendo o barramento 1, já que são
os dois barramentos de alimentação, de tensão 1 pu, de modo a haver um único barramento de balanço
(barramento 1).
Para uma potência de base de 100MVA, os resultados obtidos foram os seguintes:
Configuração original Depois da reconfiguração
Ramos em aberto 2-3, 5-7 3-4, 6-7
Perdas de potência activa (kW) 433.002 337.550
Módulo da tensão (p.u.)
Vmax = 1.0000 (barramento 1)
Vmax = 1.0000 (barramento 1)
Vmin = 0.9817 (barramentos 3 e 7)
Vmin = 0.9879 (barramentos 3,4,6 e 7)
Número de trocas 2
Redução das perdas 22.04 %
Número de trânsitos de energia 13
Tabela 3.3 ‐ Dados da rede de 8 barramentos original e após a reconfiguração com o SLE
Figura 3.4 ‐ Rede de 8 barramentos após reconfiguração
Após a aplicação do algoritmo a esta rede, verifica-se uma redução de cerca de 22% nas perdas
de potência activa da rede, com um aumento do módulo da tensão mínima. Dado que todos os ramos
da rede original possuem a mesma impedância e as cargas são iguais para todos os barramentos, a
configuração final simétrica era esperada.
17
3.1.2.2. Rede de 16 barramentos
De seguida, foi testada a rede de distribuição da Figura 3.5, constituída por 3 pontos de
alimentação (barramentos 1, 2 e 3), 13 barramentos de carga e 3 ramos possíveis de inserir: 5-11, 10-
14 e 7-16.
Figura 3.5 ‐ Rede de 16 barramentos
Os dados da rede são os seguintes:
Ramo Resistência
(p.u.) Reactância
(p.u.)
PL no barramento de recepção (MW)
QL no barramento de
recepção (MVAr)
Bateria de condensadores no
barramento de recepção (MVAr)
1-4 0.075 0.1 2.0 1.6 – 4-5 0.08 0.11 3.0 1.5 1.1 4-6 0.09 0.18 2.0 0.8 1.2 6-7 0.04 0.04 1.5 1.2 – 2-8 0.11 0.11 4.0 2.7 – 8-9 0.08 0.11 5.0 3.0 1.2
8-10 0.11 0.11 1.0 0.9 – 9-11 0.11 0.11 0.6 0.1 0.6 9-12 0.08 0.11 4.5 2.0 3.7 3-13 0.11 0.11 1.0 0.9 – 13-14 0.09 0.12 1.0 0.7 1.8 13-15 0.08 0.11 1.0 0.9 – 15-16 0.04 0.04 2.1 1.0 1.8
Tie Lines 5-11 0.04 0.04 – – – 10-14 0.04 0.04 – – – 7-16 0.12 0.12 – – –
Tabela 3.4 ‐ Dados da rede de 16 barramentos
De modo a exemplificar o funcionamento do algoritmo, a Tabela 3.5 apresenta os passos
seguidos pelo SLE. Tal como aconteceu na rede anterior, nesta os barramentos 2 e 3 foram
considerados como sendo o barramento 1.
18
Para uma potência de base de 100 MVA, as perdas iniciais são de 0.514029 MW.
Tabela 3.5 ‐ Passos seguidos pelo SLE na rede de 16 barramentos
Quando se insere o ramo 5-11, verifica-se que as perdas da rede diminuem se for removido o ramo 11-9. O mesmo acontece para o ramo 10-14, com
a remoção do ramo 8-10. Para os ramos inseridos a seguir, 7-16 e 11-9, verifica-se que a remoção de qualquer ramo dos loops criados não leva à redução de
perdas. O passo seguinte seria inserir o ramo 8-10 na rede. Porém, este ramo foi o último a ser retirado, fazendo com que não seja necessário continuar com
a execução algoritmo.
Ramos em aberto Ramo inserido Loop criado Ramo retirado (teste) Perdas (MW) Ramo retirado
5-11 10-14 7-16
5-11 1-4-5-11-9-8-1
1-4 1.366144
11-9 4-5 0.682129 11-9 0.495995 9-8 0.712176 8-1 1.384534
11-9 10-14 7-16
10-14 1-8-10-14-13-1
1-8 1.375231
8-10 8-10 0.468330
14-13 0.514717
13-1 0.755020
11-9 8-10 7-16
7-16 1-4-6-7-16-15-13-1
1-4 1.026326
Nenhum
4-6 0.538485 6-7 0.483007
16-15 0.496647 15-13 0.531177 13-1 0.719388
11-9 8-10 7-16
11-9 1-4-5-11-9-8-1
1-4 1.300834
Nenhum 4-5 0.643779 5-11 0.485768 9-8 0.709627 8-1 1.207721
19
Os resultados obtidos após a aplicação do algoritmo foram:
Configuração original Depois da reconfiguração
Ramos em aberto 5-11, 10-14, 7-16 11-9, 8-10, 7-16
Perdas de potência activa (kW) 514.029 468.330
Módulo da tensão (p.u.)
Vmax = 1.0000 (barramento 1)
Vmax = 1.0000 (barramento 1)
Vmin = 0.9682 (barramento 12)
Vmin = 0.9707 (barramento 12)
Número de trocas 2
Redução das perdas 8.89 %
Número de trânsitos de energia 21
Tabela 3.6 ‐ Dados da rede de 16 barramentos original e após a reconfiguração com o SLE
Figura 3.6 ‐ Rede de 16 barramentos após reconfiguração
Como as potências de carga são muito elevadas nos barramentos 8, 9 e 12, o ponto de
alimentação 2 “livra-se” das cargas dos barramentos 10 e 11, as quais passam a ficar alimentadas
pelos pontos de alimentação 3 e 1, respectivamente, levando a uma redução de 8,89% das perdas na
rede.
20
3.1.2.3. Rede de 33 barramentos
Figura 3.7 ‐ Rede de 33 barramentos
A terceira rede a ser testada (Figura 3.7) tem um único ponto de alimentação (barramento 1),
32 barramentos de carga e 5 ramos possíveis de inserir: 8-21, 9-15, 12-22, 18-33 e 25-29. A tensão
nominal é de 12.66kV.
Na tabela seguinte encontram-se os dados da rede:
Ramo R (Ω) X (Ω) PL no barramento de recepção (kW)
QL no barramento de recepção
(kVAr)
1-2 0.09922 0.047 100 60 2-3 0.493 0.2511 90 40 3-4 0.366 0.1844 120 80 4-5 0.3811 0.1941 60 30 5-6 0.819 0.707 60 20 6-7 0.1872 0.6188 200 100 7-8 0.7114 0.2351 200 100 8-9 1.03 0.74 60 20 9-10 1.044 0.74 60 20 10-11 0.1966 0.065 45 30 11-12 0.3744 0.1238 60 35 12-13 1.468 1.155 60 35 13-14 0.5416 0.7129 120 80 14-15 0.591 0.526 60 10 15-16 0.7463 0.545 60 20 16-17 1.289 1.721 60 20 17-18 0.732 0.574 90 40 2-19 0.164 0.1565 90 40
21
19-20 1.5042 1.3554 90 40 20-21 0.4095 0.4784 90 40 21-22 0.7089 0.9373 90 40 3-23 0.4512 0.3083 90 40 23-24 0.898 0.7091 420 200 24-25 0.896 0.7011 420 200 6-26 0.203 0.1034 60 25 26-27 0.2842 0.1447 60 25 27-28 1.059 0.9337 60 20 28-29 0.8042 0.7006 120 70 29-30 0.5075 0.2585 200 600 30-31 0.9744 0.963 150 70 31-32 0.3105 0.3619 210 100 32-33 0.341 0.5302 60 40
Tie Lines 8-21 2 2 – – 9-15 2 2 – – 12-22 2 2 – – 18-33 0.5 0.5 – – 25-29 0.5 0.5 – –
Tabela 3.7 ‐ Dados da rede de 33 barramentos
Para uma potência de base de 100kVA, os resultados foram os seguintes:
Configuração original Depois da reconfiguração
Ramos em aberto 8-21, 9-15, 12-22, 18-33, 25-29 7-8, 14-15, 9-10, 32-33, 25-29
Perdas de potência activa (kW) 202.677 139.551
Módulo da tensão (p.u.)
Vmax = 1.0000 (barramento 1)
Vmax = 1.0000 (barramento 1)
Vmin = 0.9131 (barramento 18)
Vmin = 0.9378 (barramento 32)
Número de trocas 4
Redução das perdas 31.15 %
Número de trânsitos de energia 75
Tabela 3.8 ‐ Dados da rede de 33 barramentos original e após a reconfiguração com o SLE
22
Figura 3.8 ‐ Rede de 33 barramentos após reconfiguração
A reconfiguração desta rede ocorre no sentido de tirar carga ao ramo central (ramos 2 a 18
com ramificação dos ramos 6 a 33). Como o ramo do lado direito (ramos 3 a 25) contém dois
barramentos com potências de carga muito elevadas (barramentos 24 e 25), este não podia “aguentar”
com mais cargas. Por este motivo, o ramo do lado esquerdo (ramos 2 a 22) é o responsável por aliviar
a carga do ramo central.
Apesar das resistências dos ramos a inserir serem superiores às resistências dos ramos da
rede, quatro dos primeiros são inseridos, sendo um mal necessário para reduzir as perdas na rede (em
31.15%), as quais eram provocadas maioritariamente pela sobrecarga do ramo central.
23
3.1.2.4. Rede de 94 barramentos
A última rede a ser testada foi a rede da Figura 3.9, com 11 pontos de alimentação (A a K), 83
barramentos de carga e 13 ramos possíveis de inserir. A tensão nominal é de 11.4kV. Os dados desta
rede encontram-se no Anexo A.
Figura 3.9 ‐ Rede de 94 barramentos
Com uma potência de base de 1MVA, os resultados obtidos são apresentados na Tabela 3.9:
Configuração original Depois da reconfiguração
Ramos em aberto
5-55, 7-60, 11-43, 12-72, 13-76, 14-18, 16-26, 20-83, 28-32, 29-39, 34-
46, 40-42, 53-64
6-7, 12-13, 33-34, 38-39, 41-42, 54-55, 61-62, 71-72, 82-83, 11-43, 14-18, 16-
26, 28-32 Perdas de
potência activa (kW)
531.994 469.877
Módulo da tensão (p.u.)
Vmax = 1.0000 (barramento 1)
Vmax = 1.0000 (barramento 1)
Vmin = 0.9285 (barramento 9)
Vmin = 0.9532 (barramento 71)
Número de trocas
11
Redução das perdas
11.68 %
Número de trânsitos de
energia 331
Tabela 3.9 ‐ Dados da rede de 94 barramentos original e após a reconfiguração com o SLE
24
Mais uma vez, a reconfiguração é feita no sentido de diminuir a carga dos ramos mais
sobrecarregados, aumentando a mesma nos ramos com menos carga. Os resultados finais são uma
redução de 11.68% das perdas de potência activa e um aumento significativo do módulo da tensão
mínima (de 0,9285 p.u. para 0.9532 p.u.).
3.2. Multiple Link Exchange
No seguimento do SLE vem o MLE. Este algoritmo tem como objectivo verificar se as perdas
obtidas no após a reconfiguração são menores que as obtidas a partir do SLE, já que em vez de inserir
e remover um só ramo de cada vez, insere e remove múltiplos ramos. Dado o aumento exponencial de
complexidade à medida que o número de ramos a inserir e a remover de cada vez aumenta, o MLE
restringe-se ao branch exchange de dois ramos de cada vez.
Dada uma configuração inicial, o algoritmo insere dois ramos na rede, encontra os dois loops
criados pela inserção dos mesmos e, se houver redução de perdas na rede, remove um ou dois ramos
da rede (um de cada loop).
3.2.1. Estrutura do algoritmo
Os passos do MLE são:
1. Realiza um trânsito de energia, para calcular as perdas iniciais da rede.
2. Insere um ramo na rede, da lista de ramos a inserir.
3. Encontra o loop criado pela inserção do ramo.
4. Repete os passos 2 e 3 para o ramo seguinte da lista de ramos a inserir, removendo o ramo
inserido em 2, de modo a que o loop encontrado seja diferente do encontrado em 3. Depois de
encontrado o loop, insere novamente o ramo.
5. Remove ramo do primeiro loop.
6. Caso o ramo removido do primeiro loop não seja comum ao segundo loop, remove os ramos
deste último um a um e calcula as perdas da rede após a remoção de cada ramo, de modo a
descobrir o ramo que conduz ao mínimo de perdas de potência na rede. Caso contrário, insere
o ramo removido.
7. Repete os passos 5 e 6 para todos os ramos do primeiro loop.
8. Caso os loops contenham ramos em comum, segue para o passo 9. Caso contrário, segue
para o passo 12.
9. Remove ramo do segundo loop.
10. Caso o ramo removido do segundo loop não seja comum ao primeiro loop, remove os ramos
deste último um a um e calcula as perdas da rede após a remoção de cada ramo, de modo a
25
descobrir o ramo que conduz ao mínimo de perdas de potência na rede. Caso contrário, insere
o ramo removido.
11. Repete os passos 9 e 10 para todos os ramos do segundo loop.
12. Se a remoção dos ramos descobertos nos passos 6 e 10 contribuir para redução de perdas na
rede, procede à remoção destes ramos, os quais passam para a lista de ramos a inserir.
13. Repete os passos 2 a 12, inserindo os ramos seguintes da lista de ramos a inserir, até encontrar
a configuração óptima.
Na Figura 3.10 encontra-se representado o algoritmo em forma de fluxograma.
As funções usadas no algoritmo SLE são usadas também neste algoritmo, à excepção da
própria função do algoritmo. As novas funções são as seguintes:
net = MultipleLinkExchange(network,Z1): função do algoritmo MLE, cujos parâmetros são os
mesmos da função do algoritmo SLE.
[net,Z1,pf] = PerdasMulti(network,Z2,ind1,ind2,pf): esta função retira os ramos um a um de
dois loops e calcula a melhor configuração da rede, com base no mínimo de perdas de potência
da mesma rede. Recebe a estrutura da rede network, os dados dos ramos a inserir (na matriz
Z2), os índices dos ramos da lista a inserir ind1 e ind2 e pf, contador de trânsitos de energia.
Retorna a rede modificada net, a lista de ramos a inserir actualizada Z1 e o contador pf.
28
3.2.2. Redes de teste
De modo a verificar a funcionalidade do algoritmo MLE, bem como as diferenças em relação
ao SLE, este foi aplicado às mesmas quatro redes de distribuição.
3.2.2.1. Rede de 8 barramentos
Figura 3.11 ‐ Rede de 8 barramentos
Para uma base de 100MVA, os resultados foram os seguintes:
Configuração original Depois da reconfiguração
Ramos em aberto 2-3, 5-7 3-4, 6-7
Perdas de potência activa (kW) 433.002 337.550
Módulo da tensão (p.u.)
Vmax = 1.0000 (barramento 1)
Vmax = 1.0000 (barramento 1)
Vmin = 0.9817 (barramentos 3 e 7)
Vmin = 0.9879 (barramentos 3,4,6 e 7)
Número de trocas 1
Redução das perdas 22.04 %
Número de trânsitos de energia 31
Tabela 3.10 ‐ Dados da rede de 8 barramentos original e após a reconfiguração com o MLE
29
3.2.2.2. Rede de 16 barramentos
Figura 3.12 ‐ Rede de 16 barramentos
Como foi feito para o Single Link Exchange, na Tabela 3.12 apresentam-se os passos seguidos
pelo algoritmo Multiple Link Exchange, para melhor percepção do mesmo.
Para uma potência de base de 100 MVA, os resultados obtidos foram:
Configuração original Depois da reconfiguração
Ramos em aberto 5-11, 10-14, 7-16 11-9, 8-10, 7-16
Perdas de potência activa (kW) 514.029 468.330
Módulo da tensão (p.u.)
Vmax = 1.0000 (barramento 1)
Vmax = 1.0000 (barramento 1)
Vmin = 0.9682 (barramento 12)
Vmin = 0.9707 (barramento 12)
Número de trocas 1
Redução das perdas 8.89 %
Número de trânsitos de energia 179
Tabela 3.11 ‐ Dados da rede de 16 barramentos original e após a reconfiguração com o MLE
30
Para uma potência de base de 100 MVA, as perdas iniciais são de 0.514029 MW.
Tabela 3.12 ‐ Passos seguidos pelo MLE na rede de 16 barramentos
Ramos em aberto Ramos inseridos Loops criados Ramos retirados (teste) Perdas (MW) Ramos retirados
5-11 10-14 7-16
5-11 10-14
1-4-5-11-9-8-1 1-8-10-14-13-1
1-4/8-10 1.300834
11-9 8-10
4-5/8-10 0.643779 5-11/8-10 0.485768 11-9/8-10 0.468330 9-8/14-13 0.709610 8-10/11-9 0.468330 10-14/11-9 0.495995 14-13/11-9 0.514717 13-1/11-9 0.755020
11-9 8-10 7-16
8-10 7-16
1-8-10-14-13-1 1-4-6-7-16-15-13-1
1-8/15-13 1.317531
Nenhum
8-10/7-16 0.468330 10-14/7-16 0.495995 14-13/7-16 0.514717 1-4/10-14 1.020838 4-6/8-10 0.538485 6-7/8-10 0.483007 7-16/8-10 0.468330 16-15/8-10 0.496647 15-13/8-10 0.531177
11-9 8-10 7-16
7-16 11-9
1-4-6-7-16-15-13-1 1-4-5-11-9-8-1
4-6/11-9 0.538485
Nenhum
6-7/11-9 0.483007 7-16/11-9 0.468330 16-15/11-9 0.496647 15-13/11-9 0.531177 13-1/11-9 0.719388 4-5/7-16 0.643779 5-11/7-16 0.485768 11-9/7-16 0.468330
9-8/6-7 0.695752 8-1/6-7 1.172104
31
3.2.2.3. Rede de 33 barramentos
Figura 3.13 ‐ Rede de 33 barramentos
Para uma potência de base de 100kVA, os resultados foram os seguintes:
Configuração original Depois da reconfiguração
Ramos em aberto 8-21, 9-15, 12-22, 18-33, 25-29 7-8, 14-15, 9-10, 32-33, 25-29
Perdas de potência activa (kW) 202.677 139.551
Módulo da tensão (p.u.)
Vmax = 1.0000 (barramento 1)
Vmax = 1.0000 (barramento 1)
Vmin = 0.9131 (barramento 18)
Vmin = 0.9378 (barramento 32)
Número de trocas 3
Redução das perdas 31.15 %
Número de trânsitos de energia 981
Tabela 3.13 ‐ Dados da rede de 33 barramentos original e após a reconfiguração com o MLE
32
3.2.2.4. Rede de 94 barramentos
Figura 3.14 ‐ Rede de 94 barramentos
Com uma potência de base de 1MVA, os resultados obtidos são apresentados na Tabela 3.14:
Configuração original Depois da reconfiguração
Ramos em aberto
5-55, 7-60, 11-43, 12-72, 13-76, 14-18, 16-26, 20-83, 28-32, 29-39, 34-46,
40-42, 53-64
6-7, 12-13, 33-34, 38-39, 41-42, 54-55, 61-62, 71-72, 82-83, 11-43, 14-18, 16-
26, 28-32 Perdas de
potência activa (kW)
531.994 469.877
Módulo da tensão (p.u.)
Vmax = 1.0000 (barramento 1)
Vmax = 1.0000 (barramento 1)
Vmin = 0.9285 (barramento 9)
Vmin = 0.9532 (barramento 71)
Número de trocas
9
Redução das perdas
11.68 %
Número de trânsitos de
energia 2579
Tabela 3.14 ‐ Dados da rede de 94 barramentos original e após a reconfiguração com o MLE
33
3.3. Comparação de resultados
Após o teste dos dois algoritmos em quatro redes de distribuição, é altura de comparar os dois
quanto à redução de perdas da rede, o número de trocas de ramos e o número de trânsitos de energia
realizados.
Figura 3.15 ‐ Comparação dos algoritmos quanto à redução de perdas nas redes
Quanto à redução de perdas de potência activa nas redes, verifica-se na Figura 3.15, que
ambos os algoritmos chegam à mesma solução em todas as redes testadas. De facto, os dois
algoritmos encontram a melhor solução local em cada iteração, sendo a solução final a soma das
soluções locais encontradas. No entanto, o MLE, em cada iteração, inserindo e removendo dois ramos,
encontra a melhor solução numa região maior que a região onde o SLE actua, aproximando-se mais
de uma solução óptima global. Portanto, seria de esperar que o MLE levasse a uma maior redução de
perdas.
Em relação às características das redes, já foi verificado que as cargas variam grandemente
nas redes, sendo que a reconfiguração ocorre no sentido de aliviar a carga nos ramos mais
sobrecarregados. Quanto aos ramos, observa-se que a resistência (parâmetro da impedância com mais
influência na perdas de potência activa) destes varia do seguinte modo: a rede de 8 barramentos é
constituída por ramos cuja resistência é igual para todos, a rede de 16 barramentos tem como máximo
de resistência 0.12 e mínimo de 0.04, sendo o máximo 3 vezes superior ao mínimo, a rede de 33
barramentos tem como máximo e mínimo de resistência 2 e 0.164 respecivamente, o que dá um factor
de 12 e a rede de 94 barramentos tem com máximo de resistência 0.5371 e mínimo 0.0243, sendo o
quociente entre ambos de aproximadamente 22. De facto, a diferença entre o máximo e o mínimo de
resistência destas redes não é muito grande, o que pode justificar o facto de o MLE chegar aos mesmos
resultados que o SLE. No próximo capítulo, são testados vários valores de resistência em diversos
ramos, para verificar o comportamento dos algoritmos em situações adversas.
22,04
8,89
31,15
11,68
22,04
8,89
31,15
11,68
0
5
10
15
20
25
30
35
Rede de 8barramentos
Rede de 16barramentos
Rede de 33barramentos
Rede de 94barramentos
Redução das perdas (%)
Single Link Exchange Multiple Link Exchange
34
Figura 3.16 ‐ Comparação dos algoritmos quanto ao número de trocas efectuadas
Dado que o MLE insere e remove dois ramos de cada vez, enquanto o SLE apenas insere e
remove um ramo de cada vez, seria de esperar que as trocas efectuadas pelo segundo fossem menores
que as trocas efectuadas pelo primeiro algoritmo, como se verifica na Figura 3.16. O número de trocas
aumenta com o aumento do número de ramos a inserir e do número de barramentos da rede.
Figura 3.17 ‐ Comparação dos algoritmos quanto ao número de trânsitos de energia efectuados
A Figura 3.17 demonstra a maior complexidade do algoritmo MLE, face ao SLE: o número de
trânsitos de energia realizados pelo segundo algoritmo é muito menor que pelo primeiro e esta diferença
é maior, quanto maior é a dimensão da rede. Este aumento do número de trânsitos de energia traduz-
se num aumento do tempo de execução do algoritmo.
2 2
4
11
1 1
3
9
0
2
4
6
8
10
12
Rede de 8barramentos
Rede de 16barramentos
Rede de 33barramentos
Rede de 94barramentos
Número de trocas
Single Link Exchange Multiple Link Exchange
13 21 75331
31 179
981
2579
0
500
1000
1500
2000
2500
3000
Rede de 8barramentos
Rede de 16barramentos
Rede de 33barramentos
Rede de 94barramentos
Número de trânsitos de energia
Single Link Exchange Multiple Link Exchange
35
4. Aumento de resistências nas redes
Para verificar o comportamento dos algoritmos em condições adversas, foram alterados os
valores das resistências de diversos ramos nas redes de 8 e 16 barramentos, enquanto os outros
parâmetros da rede (reactâncias e potências de carga activa e reactiva) se mantiveram inalterados.
4.1. Rede de 8 barramentos
Figura 4.1 ‐ Rede de 8 barramentos
Em primeiro lugar, foi aumentada progressivamente a resistência de dois ramos, um ligado ao
ponto de alimentação e outro não. Os resultados apresentam-se nas figuras abaixo.
Figura 4.2 ‐ Aumento da resistência dos ramos 1‐2 e 2‐6 na rede de 8 barramentos
Na Figura 4.2, pode-se observar que o SLE chega sempre ao mesmo valor de perdas finais
que o MLE, até um determinado valor de perdas iniciais limite, a partir do qual o trânsito de energia não
consegue ser calculado. Porém, pode-se verificar que, para um mesmo valor de resistência, o ramo 1-
2 conduz a maiores perdas na rede que o ramo 2-6, já que o primeiro é um ramo de ligação a um ponto
36
de alimentação. Também é de notar que o trânsito de energia não consegue ser calculado para um
valor de resistência menor do ramo 1-2 (aproximadamente 1.4 p.u.) que do ramo 2-6 (aproximadamente
2 p.u.), comprovando a maior sensibilidade do sistema para este ramo.
De seguida foi aumentada a resistência de quatro ramos dois a dois, dois ligados ao ponto de
alimentação e outros dois não:
Figura 4.3 ‐ Aumento da resistência dos ramos 1‐2 e 5‐1, 2‐6 e 4‐5 na rede de 8 barramentos
Figura 4.4 ‐ Aproximação do aumento da resistência dos ramos 1‐2,5‐1 na rede de 8 barramentos
Finalmente foram encontradas situações em que o MLE consegue chegar a uma rede de
perdas de potência mínimas menores que o SLE. Apesar de não estarem representados, foram
encontradas situações idênticas às da Figura 4.3, gráfico da direita, com o aumento das resistências
dos ramos 2-6 e 3-4, 3-4 e 6-7 e 6-7 e 4-5. Analisando as Figuras 4.3 e 4.4, verifica-se que o SLE pára
de conseguir “acompanhar” o MLE para um valor de resistência muito mais baixo dos ramos 1-2 e 5-1
(0.044 p.u.) que dos ramos 2-6 e 4-5 (0.73 p.u.) e dos ramos mencionados acima. E mais, a partir de
37
aproximadamente 0.5 p.u., para os ramos 1-2 e 5-1, o MLE também deixa de conseguir encontrar uma
configuração melhor que a configuração original, evidenciando-se, mais uma vez, a sensibilidade da
rede face aos ramos de ligação ao ponto de alimentação.
O último teste a ser feito consistiu no aumento da resistência de todos os ramos da rede:
Figura 4.5 ‐ Aumento da resistência em todos os ramos na rede de 8 barramentos
Neste teste, também se verificou que o MLE consegue chegar a perdas mínimas menores que
o SLE a partir da resistência de 0.24 p.u. e, a partir de aproximadamente 0.4 p.u. o MLE também já não
consegue encontrar uma configuração melhor que a configuração original. Finalmente, para um valor
de resistência de sensivelmente 0.8 p.u., o trânsito de energia já não consegue ser calculado.
De modo a tentar chegar a conclusões, foram feitos testes idênticos para a rede de 16
barramentos.
38
4.2. Rede de 16 barramentos
Figura 4.6 ‐ Rede de 16 barramentos
Em primeiro lugar, aumentou-se progressivamente a resistência dos ramos 1-8 e 8-9,
individualmente, e os resultados foram os seguintes:
Figura 4.7 ‐ Aumento da resistência dos ramos 1‐8 e 8‐9 na rede de 16 barramentos
As conclusões a tirar são as mesmas que as tiradas no mesmo teste na rede de 8 barramentos
e pode-se observar, mais uma vez, que o SLE chega sempre ao mesmo valor de perdas finais que o
MLE, quando é aumentada a resistência de um só ramo.
De seguida, foram aumentadas as resistências dos ramos ligados ao ponto de alimentação,
dois a dois:
39
Figura 4.8 ‐ Aumento da resistência dos ramos 1‐4 e 1‐8, 1‐4 e 1‐13, 1‐8 e 1‐13 na rede de 16 barramentos
Por observação da Figura 4.8, conclui-se que MLE consegue chegar a perdas mínimas
menores que o SLE, com o aumento da resistência dos ramos 1-4 e 1-8 e 1-4 e 1-13. No entanto, para
os ramos 1-8 e 1-13 tal não acontece.
Nos ramos 1-4 e 1-8, o SLE deixa de acompanhar o MLE para valores de resistência acima de
0.975 p.u., e nos ramos 1-4 e 1-13 para valores acima de 1.575 p.u..
O terceiro teste consistiu no aumento da resistência de quatro ramos, dois a dois, não ligados
ao ponto de alimentação:
40
Figura 4.9 ‐ Aumento da resistência dos ramos 4‐6 e 9‐11, 13‐15 e 8‐10 na rede de 16 barramentos
Quando se aumenta a resistência dos ramos 4-6 e 9-11, o SLE consegue sempre chegar à
rede óptima. Porém, quando se aumenta nos ramos 13-15 e 8-10, tal não acontece e o SLE não
consegue chegar à rede de perdas de potência mínimas, a partir de uma resistência de quase 7 p.u.
(do ramo 13-15).
O último teste consistiu no aumento da resistência de todos os ramos da rede:
Figura 4.10‐ Aumento da resistência em todos os ramos na rede de 16 barramentos
Pela Figura 4.10, pode verificar-se que ambos os algoritmos chegam à solução óptima até um
valor de resistência do ramo 1-4 de 0.3 p.u.. No entanto, o algoritmo MLE não consegue chegar a
perdas mínimas menores que o SLE.
Após a realização destes testes na rede de 16 barramentos, os quais não se revelaram muito
conclusivos e são de difícil comparação com os resultados obtidos para a rede de 8 barramentos,
41
tornou-se necessário realizar os testes para uma rede de 16 barramentos cujos ramos fossem todos
iguais, bem como as potências de carga (tal como acontece na rede de 8 barramentos).
4.3. Rede de 16 barramentos pura
Nesta rede, a impedância dos ramos é de 0.04+j0.04 p.u. e a potência de carga de 2+j2 MVA,
não existindo baterias de condensadores em nenhum barramento.
Aumentando as resistências dos ramos ligados ao ponto de alimentação, dois a dois,
obtiveram-se os seguintes resultados:
Figura 4.11 ‐ Aumento da resistência dos ramos 1‐4 e 1‐8, 1‐4 e 1‐13, 1‐8 e 1‐13 na rede de 16 barramentos pura
Na Figura 4.11, pode-se observar que o algoritmo MLE consegue chegar a perdas de potência
mínimas menores que o SLE, para o aumento da resistência de todos os ramos ligados ao ponto de
alimentação, dois a dois, ao contrário do teste efectuado para a rede de 16 barramentos original.
42
De facto, o SLE deixa de conseguir chegar à rede óptima a partir da resistência dos ramos em
teste de 1 p.u..
No teste seguinte, aumentou-se a resistência de quatro ramos, dois a dois, não ligados ao
ponto de alimentação:
Figura 4.12 ‐ Aumento da resistência dos ramos 4‐6 e 9‐11, 13‐15 e 8‐10 na rede de 16 barramentos pura
Ao contrário do que sucedeu para a rede de 16 barramentos original, o SLE não consegue
encontrar a rede óptima a partir da resistência de quase 4 p.u., para o aumento dos ramos 4-6 e 9-11.
Para o aumento dos ramos 13-15 e 8-10, o valor de resistência para o qual só o MLE consegue
encontrar a rede de perdas mínimas é o mesmo que para os ramos 4-6 e 9-11, sendo muito inferior ao
da rede de 16 barramentos original (7 p.u.).
Por fim, procedeu-se ao aumento da resistência de todos os ramos da rede:
Figura 4.13 ‐ Aumento da resistência em todos os ramos na rede de 16 barramentos pura
43
Na Figura 4.13, pode-se observar que o algoritmo MLE não consegue chegar a perdas mínimas
menores que o SLE, tal como acontece na rede de 16 barramentos original. No entanto, os algoritmos
conseguem alcançar a rede de perdas mínimas até uma resistência superior, de aproximadamente 0.5
p.u..
4.4. Comparação de resultados
Depois de feitos alguns testes nestas três redes, é altura de comparar os resultados obtidos e
tentar tirar algumas conclusões sobre o funcionamento dos algoritmos.
Em primeiro lugar pode-se concluir que, quando se aumenta progressivamente a resistência
num só ramo, o algoritmo SLE chega sempre ao mesmo valor de perdas finais que o MLE. Tratando-
se de um ramo de ligação ao ponto de alimentação, a rede vai ter que se “apoiar” noutro ramo do
mesmo tipo, se existente, levando a um aumento de perdas muito superior do que se se tratasse de
um ramo em que nenhum barramento fosse um ponto de alimentação. Dado que o aumento de perdas
é superior, o trânsito de energia não consegue ser calculado para um valor de resistência menor.
Em relação às redes cujos parâmetros têm os mesmos valores, verifica-se que, quando se
aumenta a resistência de dois ramos ligados ao ponto de alimentação, em simultâneo, a partir de uma
certa resistência o algoritmo SLE não consegue encontrar a rede de perdas mínimas, ao contrário do
algoritmo MLE. Quanto ao aumento da resistência de dois ramos não ligados ao ponto de alimentação,
também simultaneamente, chegou-se à conclusão que estes têm de pertencer a loops diferentes para
que o MLE chegue a uma rede de perdas menores do que a rede encontrada pelo SLE, e a sua
resistência deve ser elevada.
A rede de 16 barramentos original destaca-se das outras duas por não ter os parâmetros da
rede todos iguais. O que é verificado nessas redes verifica-se parcialmente nesta rede, possivelmente
devido à diferente distância entre os ramos, ou mesmo à diferença entre as potências de carga dos
barramentos.
Finalmente, quando se aumenta a resistência de todos os ramos em simultâneo da rede de 8
barramentos, a partir de um determinado valor de resistência verifica-se que o SLE deixa de conseguir
chegar à rede óptima, obtida pelo MLE. Tal não ocorre na rede de 16 barramentos, em que o aumento
da resistência de todos os ramos tem como consequência a rápida transgressão das restrições de
corrente e tensão.
Através das observações feitas, podemos concluir que existem situações em que a utilização
do SLE não é suficiente, isto é, não chega à rede de perdas de potência mínimas, sendo necessário
aplicar o MLE. Este algoritmo, apesar de ser computacionalmente mais exigente que o primeiro,
raramente fica preso numa solução local optimum, encontrando uma solução ideal entre todas as
possíveis.
44
5. Impedâncias aleatórias das redes
Neste capítulo, foi estudado o comportamento dos algoritmos quando a rede é constituída por
impedâncias aleatórias. Com este objectivo, foi utilizada a função randn do MATLAB, a qual retorna um
valor pseudoaleatório, retirado da Distribuição Gaussiana.
De entre os vários testes realizados na rede de 8 barrramentos, apresentam-se de seguida dois
deles.
5.1. Teste 1
Neste teste, as impedâncias dos ramos da rede, bem como da lista de ramos a inserir, foram:
Ramo 1 2 3 4 5 6 7
1 0 -0.0248 + j0.2979
0 0 0.2818 + j0.2834
0 0
2 -0.0248 + j0.2979
0 0 0 0 0.1343 - j0.2415
0
3 0 0 0 0.1434 + j0.3260
0 0 0
4 0 0 0.1434 + j0.3260
0 0.0978 + j0.2069
0 0
5 0.2818 + j0.2834
0 0 0.0978 + j0.2069
0 0 0
6 0 0.1343 - j0.2415
0 0 0 0 0.1454 - j0.0607
7 0 0 0 0 0 0.1454 - j0.0607
0
Tabela 5.1 – Impedâncias dos ramos da rede de 8 barramentos em p.u. no teste 1
Ramo Impedância
2-3 0.0588 - j0.1575
5-7 0.1777 - j0.2294
Tabela 5.2 ‐ Impedâncias dos ramos a inserir em p.u. no teste 1
45
Os resultados obtidos foram:
Estado Ramos em aberto Perdas (kW) Redução das perdas
Inicial 2-3 5-7
2299.192 -
Após algoritmo SLE 4-5 5-7
405.920 82.345 %
Após algoritmo MLE 4-5 5-7
405.920 82.345 %
Tabela 5.3 ‐ Comparação dos resultados obtidos no teste 1
De facto, para as impedâncias dos ramos da rede e dos ramos a inserir, das Tabelas 5.1 e 5.2,
os algoritmos SLE e MLE chegam ao mesmo valor de perdas finais, reduzindo as perdas da rede em
82.345%.
5.2. Teste 2
Neste segundo teste, as impedâncias dos ramos da rede de 8 barramentos e dos ramos a
inserir na mesma foram:
Ramo 1 2 3 4 5 6 7
1 0 -0.1663 - j0.1958
0 0 -0.2313 - j0.1067
0 0
2 -0.1663 - j0.1958
0 0 0 0 -0.4005 + j0.1928
0
3 0 0 0 0.1040 - j0.0040
0 0 0
4 0 0 0.1040 - j0.0040
0 -0.0070 - j0.1596
0 0
5 -0.2313 - j0.1067
0 0 -0.0070 - j0.1596
0 0 0
6 0 -0.4005 + j0.1928
0 0 0 0 0.2037 - j0.0266
7 0 0 0 0 0 0.2037 - j0.0266
0
Tabela 5.4 ‐ Impedâncias dos ramos da rede de 8 barramentos em p.u. no teste 2
46
Ramo Impedância
2-3 -0.1429 + j0.2703
5-7 -0.0450 - j0.1178
Tabela 5.5 ‐ Impedâncias dos ramos a inserir em p.u. no teste 2
Para as impedâncias das Tabelas 5.4 e 5.5, obtiveram-se os seguintes resultados:
Estado Ramos em aberto Perdas (kW) Redução das perdas
Inicial 2-3 5-7
-2177.865 -
Após algoritmo SLE 3-4 5-7
-2249.207 -3.276 %
Após algoritmo MLE 2-3 2-6
-2483.632 -14.040 %
Tabela 5.6 ‐ Comparação dos resultados obtidos no teste 2
A partir da Tabela 5.6, podemos concluir que o SLE não consegue obter a rede óptima, ao
contrário do MLE.
Devido ao facto de inicialmente as perdas da rede terem valor negativo, após a reconfiguração
este valor é ainda mais negativo.
5.3. Comparação de resultados
Dado que alguns valores de resistência e reactância aleatórios eram negativos, originando em
alguns casos perdas negativas, percebe-se logo que este é um problema não aplicável nas redes de
distribuição de energia eléctrica, mas apenas num circuito eléctrico.
Em relação aos resultados obtidos para os dois testes apresentados, verificou-se que o SLE
consegue obter a mesma rede óptima que o MLE nuns casos, mas não noutros, devendo-se tal,
possivelmente, ao elevado módulo da resistência em alguns ramos.
47
6. Analogia do método de Jacobi-Gauss-Seidel aos algoritmos
6.1. Descrição do método
O método de Jacobi-Gauss-Seidel é um algoritmo utilizado para determinar a solução de um
sistema de equações lineares. Este método iterativo é eficiente em termos de cálculo e armazenamento
para sistemas de grande dimensão, com muitas entradas a zero, já que os sistemas de pequenas
dimensões são resolvidos por técnicas directas, como a eliminação de Gauss.
Dado o sistema de equações lineares:
(42)
Com
⋯⋯
⋮ ⋮ ⋱ ⋮…
(43)
⋮ (44)
⋮ (45)
E decompondo em
(46)
Onde
0 ⋯ 00 ⋯ 0⋮ ⋮ ⋱ ⋮0 0 …
(47)
0 … 0 0⋱ ⋮ ⋮
⋮ ⋱ 0 ⋮… , 0
(48)
48
0 ⋯⋮ ⋱ ⋱ ⋮0 … 0 ,
0 … … 0
(49)
Pode-se reescrever o sistema de equações lineares como:
(50)
Este método iterativo é dado por:
(51)
Ou
1
, 1,2, … , (52)
Partindo de um vector inicial , o algoritmo vai calcular os valores de , até à
convergência. De notar que o cálculo de utiliza apenas os elementos de que já haviam
sido calculados.
Este método converge sempre, se a matriz A for estritamente diagonal dominante, isto é, se
para todas as linhas ou colunas da matriz, o módulo do valor na diagonal da matriz for superior à soma
dos módulos dos restantes valores da linha ou coluna, ou seja:
| | ∑ ou | | ∑ (53)
6.2. Comparação aos algoritmos
O algoritmo SLE pode ser comparado a este algoritmo, na medida em que partindo de uma
configuração inicial da rede e de um conjunto de ramos em aberto ( ), insere e remove ramos até o
método convergir para a solução óptima, sendo a solução do problema um conjunto de ramos em
aberto final ( ). Em cada passo, o algoritmo insere um ramo ( ), do conjunto de ramos em aberto,
na rede e remove o mesmo ramo, se a sua inserção não for benéfica para a rede, ou outro ramo, sendo
o ramo removido a solução . Na inserção do ramo seguinte ( ), o algoritmo tem em conta a
alteração efectuada no passo anterior
49
Quanto ao critério de convergência, não existe um critério quantificável para o SLE, existindo
situações em que o algoritmo não converge para a solução óptima, como foi verificado anteriormente
neste trabalho.
Em relação ao algoritmo MLE, sabe-se que este insere dois ramos, do conjunto de ramos em
aberto, na rede e remove dois ramos. Se a rede tiver quatro ramos possíveis de inserir, vamos ter o
seguinte sistema, utilizando a conotação :
(54)
Dado que os dois primeiros ramos são inseridos, o objectivo é chegar à solução . Como,
(55)
Então,
(56)
Para os dois ramos a inserir de seguida, quere-se chegar à solução , que é dada por:
(57)
E assim sucessivamente até ao fim da lista de ramos a inserir.
Como estamos perante sistemas do tipo
(58)
Que pode ser reescrito como
(59)
O método de Jacobi-Gauss-Seidel também pode ser usado para resolver estes sistemas, já
é uma matriz quadrada e a dimensão de é igual à dimensão de .
50
O método iterativo, para cada par de soluções, é então dado por:
(60)
Tal como foi feito para os algoritmos SLE e MLE, aqui testaram-se estes dois métodos de
Jacobi-Gauss-Seidel (equação (51) equipara-se ao SLE e conjunto de equações (60) equiparam-se ao
MLE), a várias matrizes. Mantendo a matriz 84
12 constante, os resultados obtidos para 100
iterações (nos métodos de Jacobi-Gauss-Seidel) foram os seguintes:
Matriz A Método Solução x Número de iterações
5 1 11 4 22 1 6
1.44681.95741.1915
-
Jacobi-Gauss-Seidel-SLE 1.44681.95741.1915
12
Jacobi-Gauss-Seidel-MLE 1.44681.95741.1915
7
2 1 11 1 22 1 3
171
-
Jacobi-Gauss-Seidel-SLE 1.44873.62192.1731
10 100
Jacobi-Gauss-Seidel-MLE 171
19
1 1 11 1 22 1 2
1.60007.20000.8000
-
Jacobi-Gauss-Seidel-SLE 1.49982.99962.9996
10 100
Jacobi-Gauss-Seidel-MLE 2.28181.52121.5212
10 100
Tabela 6.1 ‐ Teste aos métodos de Jacobi‐Gauss‐Seidel
A primeira matriz A, sendo estritamente diagonal dominante, leva a que ambos os métodos
cheguem à solução correcta do sistema. Para a segunda matriz A, os valores da diagonal da primeira
matriz são reduzidos, levando a que a matriz deixe de ser estritamente diagonal dominante. Como
consequência, o primeiro método não converge. Porém, o segundo método converge para a solução
correcta do sistema, o que pode ser justificado pelo facto de a matriz estar perto de ser estritamente
diagonal dominante, já que para algumas linhas ou colunas a condição (53) é satisfeita. Continuando
51
a reduzir-se os valores da diagonal, chega-se à terceira matriz A, para a qual os dois métodos não
convergem para a solução do sistema.
De facto, os resultados dos testes para estes dois métodos são muito semelhantes aos
resultados obtidos ao longo do trabalho para os algoritmos desenvolvidos: nos testes em redes
uniformizadas e reais, ambos os algoritmos chegam ao mesmo valor de perdas finais; aumentando a
desordem dos sistemas, através do aumento das resistências de vários ramos, a partir de um certo
valor de resistência o SLE não consegue chegar ao mesmo valor de perdas que o MLE e, continuando
a aumentar as resistências, verifica-se que nenhum dos algoritmos consegue encontrar uma
configuração melhor que a configuração original.
Em relação ao número de iterações realizadas pelos métodos, verifica-se que o método que se
equipara ao MLE converge em menos iterações, o que pode ser comparado com o facto de o MLE
realizar menos trocas que o SLE.
52
7. Comparação com outros algoritmos
Neste capítulo, comparam-se os resultados obtidos através dos algoritmos desenvolvidos com
outros algoritmos de reconfiguração de redes de distribuição: Ant Colony Search Algorithm, Genetic
Algorithm e Tabu Search Algorithm.
Quanto ao primeiro algoritmo, este imita o comportamento de formigas. Inicialmente, as
formigas deslocam-se aleatoriamente e, quando encontram comida, retornam à sua colónia, deixando
um rasto de feromonas. Quando as outras formigas encontram esse rasto, é provável que o sigam e o
reforcem. No entanto, há medida que o tempo passa, os rastos de feromonas vão se evaporando,
reduzindo o seu poder de atracção. Quanto menor o caminho, maior a densidade de feromonas, já que
este é percorrido mais frequentemente. A vantagem da evaporação das feromonas é o facto de evitar
a convergência para um local optimum, já que, se esta não existisse, os caminhos escolhidos pelas
primeiras formigas seriam excessivamente atractivos para as outras formigas, delimitando o espaço de
exploração.
O algoritmo genético (Genetic Algorithm) consiste na evolução de uma população em busca de
melhores soluções, onde cada indivíduo tem uma série de propriedades que podem ser alteradas. A
evolução começa com uma população de indivíduos gerados aleatoriamente e consiste num processo
iterativo, em que cada iteração corresponde a uma geração. Em cada geração, o valor da função
objectivo do problema de optimização de cada indivíduo é avaliada e os indivíduos mais capazes são
selecionados para formar uma nova geração, sendo as suas propriedades recombinadas ou mutadas.
O algoritmo termina quando um número máximo de gerações produzidas é atingido ou o valor da função
objectivo do problema de optimização da população é alcançado.
O terceiro algoritmo é um algoritmo de pesquisa local. As pesquisas locais pegam numa
potencial solução para um problema e verificam os vizinhos imediatos (soluções similares), com o
objectivo de encontrarem uma solução aperfeiçoada. No entanto, têm tendência a ficar presas em
regiões subóptimas. A pesquisa Tabu melhora a execução destas técnicas, usando estruturas de
memória que contêm as soluções visitadas ou um conjunto de regras definidas. Se uma potencial
solução foi visitada dentro de um determinado período de tempo, ou se viola alguma regra, esta é
marcada como “tabu” (proibida). Esta característica faz com que o algoritmo seja capaz de superar as
soluções localmente óptimas e atingir um resultado óptimo global.
Note-se que estes algoritmos de reconfiguração não foram todos testados nas mesmas redes
e os resultados apresentados são os resultados presentes nas respectivas referências.
53
7.1. Rede de 33 barramentos
Na rede de 33 barramentos foi testado apenas o Genetic Algorithm:
Original SLE MLE Genetic [10]
Ramos em aberto 8-21, 9-15, 12-
22, 18-33, 25-298-7, 14-15, 10-9,
32-33, 25-29 8-7, 14-15, 10-9,
32-33, 25-29 8-7, 14-15, 10-9,
32-33, 25-29
Perdas (kW) 202.677 139.551 139.551 139.6
Tempo de Execução (seg.)
- 4 56 5
Tabela 7.1 ‐ Comparação com outros algoritmos na rede de 33 barramentos
Para a rede de 33 barramentos, verifica-se que o SLE e o MLE chegam ao mesmo valor de
perdas final que o Genetic Algorithm. De facto, o tempo de execução do SLE é semelhante ao tempo
de execução do Genetic, ao contrário do MLE.
7.2. Rede de 94 barramentos
Esta rede foi testada com o Ant Colony Search Algorithm:
Original SLE MLE Ant Colony Search [5]
Ramos em aberto
6-56, 8-61, 12-44, 13-73, 14-77, 15-19, 17-27, 21-84, 29-33, 30-40, 35-
47, 41-43, 54-65
56-55, 7-8, 12-44, 73-72, 13-14, 15-19, 17-27, 84-83, 29-33, 40-39, 34-
35, 42-43, 63-62
56-55, 7-8, 12-44, 73-72, 13-14, 15-19, 17-27, 84-83, 29-33, 40-39, 34-
35, 42-43, 63-62
55-56, 7-8, 12-44, 72-73, 13-14, 15-19, 17-27, 83-84, 29-33, 39-40, 34-
35, 42-43, 62-63
Perdas (kW) 531.994 469.877 469.877 469.88
Tempo de Execução (seg.)
- 117 1340 241
Tabela 7.2 ‐ Comparação com outros algoritmos na rede de 94 barramentos
Observa-se que, para esta rede, a configuração final alcançada pelos algoritmos desenvolvidos
é a mesma que a alcançada pelo Ant Colony Search. O algoritmo SLE é o que leva um menor tempo
de execução.
54
7.3. Rede de 135 barramentos
Dado que os algoritmos Genetic e Tabu Search foram testados nesta rede, testaram-se
também os algoritmos SLE e MLE. Esta rede é constituída por 135 barramentos, dos quais 8 são de
alimentação e 21 tie lines. A tensão nominal da rede é de 13.8 kV e os dados da mesma encontram-se
no Anexo B.
Os resultados obtidos foram os seguintes:
Original SLE MLE Genetic [10] Tabu Search
[11]
Ramos em aberto
142-73, 9-24, 15-83, 38-135, 25-51, 50-96, 55-98, 62-120, 66-79, 79-131,
84-135, 91-104, 90-129, 90-103, 92-104, 92-132, 96-120, 110-47, 126-76,
128-77, 135-98
142-141, 24-9, 15-83, 98-135, 51-48, 96-95, 52-53, 118-
104, 66-79, 79-131, 84-135, 91-104, 90-
129, 89-90, 92-104, 92-132, 96-50, 106-
105, 126-125, 128-77, 35-38
142-141, 24-9, 15-83, 98-135, 51-48, 96-95, 52-53, 118-
104, 66-79, 79-131, 84-135, 91-104, 90-
129, 89-90, 92-104, 92-132, 96-50, 106-
105, 126-125, 128-77, 35-38
141-142, 48-51, 52-53, 83-84, 89-90, 95-96, 105-106,
104-118, 125-126, 127-128, 9-24, 15-83,
38-135, 50-96, 92-104, 92-132, 96-120, 110-47, 126-76, 128-77,
135-98
141-142, 48-51, 52-53, 83-84, 89-90, 95-96, 105-106,
104-118, 125-126, 127-128, 9-24, 15-83,
38-135, 50-96, 66-79, 79-131,
91-104, 90-129, 92-104, 92-132, 135-
98 Perdas (kW)
320.268 279.836 279.836 280.2 280.16
Tempo de Execução
(seg.) - 978 15466 240 47
Tabela 7.3 ‐ Comparação com outros algoritmos na rede de 135 barramentos
Para esta rede, observa-se que os algoritmos SLE e MLE chegam à mesma configuração final,
como acontece para as outras redes. Em relação aos outros dois algoritmos, verifica-se que as
configurações finais diferem uma da outra e da obtida com os algoritmos SLE e MLE. No entanto o
valor de perdas final é idêntico. A diferença nas configurações pode dever-se a variações nos dados
da rede original.
Em relação ao tempo de execução, para esta rede os algoritmos desenvolvidos foram os mais
demorados, sendo o Tabu Search o algoritmo mais rápido, seguido do Genetic Algorithm, SLE e, por
fim, MLE.
55
7.4. Comparação de resultados
Após os testes realizados em várias redes, verifica-se que ambos os algoritmos desenvolvidos
obtêm a mesma rede final que os outros algoritmos. E mais, para redes mais pequenas, o tempo de
execução do algoritmo SLE é idêntico ou ainda inferior ao dos algoritmos comparados. Para a rede
maior, tal já não se verifica.
Quanto ao algoritmo MLE, observa-se que o tempo de execução do mesmo é muito superior
ao dos outros algoritmos. De facto, em redes reais, como as duas últimas testadas, ou redes cujos
parâmetros são relativamente uniformizados, este algoritmo é ultrapassado pelo SLE, o qual tem um
tempo de execução muito menor, apresentando os mesmos resultados.
Apesar de, para redes maiores, o SLE ter um tempo de execução maior, é computacionalmente
pouco exigente, o que faz com que seja uma viável alternativa aos outros algoritmos de reconfiguração
de redes de distribuição.
56
8. Conclusões e Trabalhos Futuros
Este trabalho tinha como objectivos o desenvolvimento de dois algoritmos de optimização de
redes de distribuição, o SLE e o MLE, optimização esta no sentido de minimizar as perdas de potência
activa nas redes, e posteriormente compará-los e descobrir as suas limitações.
Testando os algoritmos em quatro redes, conseguiu-se chegar às primeiras conclusões: o
algoritmo MLE, apesar de realizar menos trocas que o SLE, é computacionalmente muito mais exigente,
realizando muito mais trânsitos de energia, o que se traduz num tempo de execução muito superior.
Quanto ao aumento da resistência de alguns ramos de redes cujos parâmetros têm os mesmos
valores, este permitiu revelar fraquezas no SLE: se a resistência de dois ramos ligados ao ponto de
alimentação ou dois ramos não ligados ao ponto de alimentação, mas de loops diferentes, for muito
elevada, o algoritmo SLE não consegue encontrar a rede de perdas de potência mínimas, ficando preso
numa solução local optimum, ao contrário do algoritmo MLE.
Aquando da geração de impedâncias aleatórias nas redes, chegou-se à conclusão que o
algoritmo SLE também não consegue encontrar a rede óptima, ao contrário do MLE, para alguns casos.
Outra conclusão a que se chegou foi que o método dos algoritmos desenvolvidos é idêntico ao
método iterativo de Jacobi-Gauss-Seidel para determinar a solução de um sistema de equações
lineares, demonstrando a menor complexidade destes algoritmos face a outros algoritmos de
reconfiguração de redes de distribuição, como os algoritmos introduzidos no capítulo 7.
Também se chegou à conclusão que o SLE apresenta os mesmos resultados que o MLE, em
redes reais ou redes cujos parâmetros são relativamente uniformizados, e que estes apresentam
resultados idênticos aos obtidos por outros algoritmos de reconfiguração de redes de distribuição.
No final, a conclusão a que se chega é que o MLE, ao contrário do SLE, é muito exigente
computacionalmente, levando a um tempo de execução muito elevado, mas é um algoritmo que
apresenta uma maior confiança na obtenção da rede óptima, já que raramente fica preso numa solução
localmente óptima.
Quantos às sugestões de trabalhos futuros, seria importante executar os algoritmos
apresentados no capítulo anterior na mesma máquina onde são testados os algoritmos desenvolvidos,
para que a comparação dos resultados fosse mais precisa.
Também seria interessante inserir geração distribuída nas redes e verificar os impactos da
mesma no problema de reconfiguração de redes.
57
Referências Bibliográficas
[1] J. P. Sucena Paiva, “Redes de Energia Eléctrica – Uma Análise Sistémica”, IST Press, Abril 2005.
[2] P. F. Gomes Manageiro, “Cálculo de perdas em redes de distribuição através de redes adjuntas”,
Dissertação para obtenção do Grau de Mestre em Engenharia Electrotécnica e de Computadores,
Instituto Superior Técnico, Dezembro 2007.
[3] M. Chakravorty, D. Das, “Voltage stability analysis of radial distribution networks”, International
Journal of Electrical Power & Energy Systems, vol. 23, issue 2, Feb. 2001, pp. 129–135.
[4] C. Ababei, R. Kavasseri, “Speeding-up network reconfiguration by minimum cost maximum flow
based branch exchanges,” in Proc. 2010 IEEE PES T&D Conf. Expo., New Orleans, LA.
[5] C.T. Su, C.F. Chang, J.P. Chiou, “Distribution network reconfiguration for loss reduction by ant
colony search algorithm”, Electric Power Systems Research 75 (2005) 190–199.
[6] M.E. Baran, F.F. Wu, “Network reconfiguration in distribution systems for loss reduction and load
balancing,” IEEE Trans. Power Delivery, vol. 4, no. 2, pp. 1401-1407, Apr. 1989.
[7] J.P. Chiou, C.F. Chang, C.T. Su, “Variable Scaling Hybrid Differential Evolution for Solving Network
Reconfiguration of Distribution Systems”, IEEE Trans. Power Systems, vol. 20, no. 2, May 2005.
[8] C. J. S. Alves, “Métodos Iterativos para Sistemas Lineares”, Jun. 2001, acesso em 28 Set. 2013.
Disponível em http://www.math.ist.utl.pt/~calves/cursos/SisLin-Iter.htm.
[9] R. Kavasseri, C. Ababei, REDS: REpository of Distribution Systems (Internet), actualizada em 19
Jun. 2012, acesso em 20 Set. 2013. Disponível em http://www.dejazzer.com/reds.html.
[10] M. A. N. Guimaraes, C. A. Castro, R. Romero, “Reconfiguration of distribution systems by a
modified genetic algorithm,” in Proc. IEEE Power Tech, Lausanne, Switzerland, 2007, pp. 401–
406.
[11] M. A. N. Guimaraes, C. A. Castro, “Reconfiguration of Distribution Systems for Loss Reduction
using Tabu Search”, 15th PSCC, Liege, 22-26, Aug. 2005.
58
Anexos
A. Dados da rede de 94 barramentos
Ramo Resistência (Ω) Reactância (Ω) PL no barramento de recepção (kW)
QL no barramento de recepção
(kVAr) A-1 0.1944 0.6624 0 0 1-2 0.2096 0.4304 100 50 2-3 0.2358 0.4842 300 200 3-4 0.0917 0.1883 350 250 4-5 0.2096 0.4304 220 100 5-6 0.0393 0.0807 1100 800 6-7 0.0405 0.1380 400 320 7-8 0.1048 0.2152 300 200 7-9 0.2358 0.4842 300 230 7-10 0.1048 0.2152 300 260 B-11 0.0786 0.1614 0 0 11-12 0.3406 0.6944 1200 800 12-13 0.0262 0.0538 800 600 12-14 0.0786 0.1614 700 500 C-15 0.1134 0.3864 0 0 15-16 0.0524 0.1076 300 150 16-17 0.0524 0.1076 500 350 17-18 0.1572 0.3228 700 400 18-19 0.0393 0.0807 1200 1000 19-20 0.1703 0.3497 300 300 20-21 0.2358 0.4842 400 350 21-22 0.1572 0.3228 50 20 21-23 0.1965 0.4035 50 20 23-24 0.1310 0.2690 50 10 D-25 0.0567 0.1932 50 30 25-26 0.1048 0.2152 100 60 26-27 0.2489 0.5111 100 70 27-28 0.0486 0.1656 1800 1300 28-29 0.1310 0.2690 200 120 E-30 0.1965 0.3960 0 0 30-31 0.1310 0.2690 1800 1600 31-32 0.1310 0.2690 200 150 32-33 0.0262 0.0538 200 100 33-34 0.1703 0.3497 800 600 34-35 0.0524 0.1076 100 60 35-36 0.4978 1.0222 100 60 36-37 0.0393 0.0807 20 10 37-38 0.0393 0.0807 20 10 38-39 0.0786 0.1614 20 10 39-40 0.2096 0.4304 20 10 38-41 0.1965 0.4035 200 160 41-42 0.2096 0.4304 50 30 F-43 0.0486 0.1656 0 0 43-44 0.0393 0.0807 30 20 44-45 0.1310 0.2690 800 700 45-46 0.2358 0.4842 200 150 G-47 0.2430 0.8280 0 0
59
47-48 0.0655 0.1345 0 0 48-49 0.0655 0.1345 0 0 49-50 0.0393 0.0807 200 160 50-51 0.0786 0.1614 800 600 51-52 0.0393 0.0807 500 300 52-53 0.0786 0.1614 500 350 53-54 0.0524 0.1076 500 300 54-55 0.1310 0.2690 200 80 H-56 0.2268 0.7728 0 0 56-57 0.5371 1.1029 30 20 57-58 0.0524 0.1076 600 420 58-59 0.0405 0.1380 0 0 59-60 0.0393 0.0807 20 10 60-61 0.0262 0.0538 20 10 61-62 0.1048 0.2152 200 130 62-63 0.2358 0.4842 300 240 63-64 0.0243 0.0828 300 200 I-65 0.0486 0.1656 0 0
65-66 0.1703 0.3497 50 30 66-67 0.1215 0.4140 0 0 67-68 0.2187 0.7452 400 360 68-69 0.0486 0.1656 0 0 69-70 0.0729 0.2484 0 0 70-71 0.0567 0.1932 2000 1500 71-72 0.0262 0.0528 200 150 J-73 0.3240 1.1040 0 0
73-74 0.0324 0.1104 0 0 74-75 0.0567 0.1932 1200 950 75-76 0.0486 0.1656 300 180 K-77 0.2511 0.8556 0 0 77-78 0.1296 0.4416 400 360 78-79 0.0486 0.1656 2000 1300 79-80 0.1310 0.2640 200 140 80-81 0.1310 0.2640 500 360 81-82 0.0917 0.1883 100 30 82-83 0.3144 0.6456 400 360
Tie Lines 5-55 0.1310 0.2690 – – 7-60 0.1310 0.2690 – – 11-43 0.1310 0.2690 – – 12-72 0.3406 0.6994 – – 13-76 0.4585 0.9415 – – 14-18 0.5371 1.0824 – – 16-26 0.0917 0.1883 – – 20-83 0.0786 0.1614 – – 28-32 0.0524 0.1076 – – 29-39 0.0786 0.1614 – – 34-46 0.0262 0.0538 – – 40-42 0.1965 0.4035 – – 53-64 0.0393 0.0807 – –
Tabela A.1 ‐ Dados da rede de 94 barramentos
60
B. Dados da rede de 135 barramentos
Ramo Barramento
de envio Barramento de recepção
Resistência (Ω)
Reactância (Ω)
PL no barramento de recepção
(kW)
QL no barramento de recepção
(kVAr) 0 0 136 0.33205 0.76653 0 0 1 136 137 0.00188 0.00433 47.78 19.009 2 137 138 0.2234 0.51535 42.551 16.929 3 138 139 0.09943 0.22953 87.022 34.622 4 139 140 0.15571 0.35945 311.31 123.855 5 140 141 0.16321 0.37677 148.869 59.228 6 141 142 0.11444 0.26417 238.672 94.956 7 141 8 0.05675 0.05666 62.299 24.786 8 8 9 0.52124 0.27418 124.598 49.571 9 8 10 0.10877 0.1086 140.175 55.768 10 10 11 0.39803 0.20937 116.813 46.474 11 10 12 0.91744 0.31469 249.203 99.145 12 10 13 0.11823 0.11805 291.447 115.592 13 13 14 0.50228 0.26421 303.72 120.835 14 13 15 0.05675 0.05666 215.396 85.695 15 15 16 0.29379 0.15454 198.586 79.007 16 1 17 0.33205 0.76653 0 0 17 17 18 0.00188 0.00433 0 0 18 18 19 0.22324 0.51535 0 0 19 19 20 0.10881 0.25118 30.127 14.729 20 20 21 0.71078 0.37388 230.972 112.92 21 20 22 0.18197 0.42008 60.256 29.459 22 22 23 0.30326 0.15952 230.972 112.92 23 22 24 0.02439 0.0563 120.507 58.915 24 24 25 0.04502 0.10394 0 0 25 25 26 0.01876 0.04331 56.981 27.857 26 26 27 0.11823 0.1123 364.665 178.281 27 27 28 0.02365 0.02361 0 0 28 28 29 0.18954 0.0997 124.647 60.939 29 29 30 0.39803 0.20937 56.981 27.857 30 28 31 0.05675 0.05666 0 0 31 31 32 0.09477 0.04985 85.473 41.787 32 32 33 0.41699 0.21934 0 0 33 33 34 0.11372 0.05982 396.735 193.96 34 31 35 0.07566 0.07555 0 0 35 35 36 0.3696 0.19442 181.152 88.563 36 36 37 0.26536 0.13958 242.172 118.395 37 35 38 0.05675 0.0566 75.316 36.821 38 2 39 0.33205 0.76653 0 0 39 39 40 0.11819 0.27283 1.254 0.531 40 40 41 2.96288 1.01628 6.274 2.66 41 40 42 0.00188 0.00433 0 0 42 42 43 0.06941 0.16024 117.88 49.971 43 43 44 0.81502 0.42872 62.668 25.566 44 43 45 0.06378 0.14724 172.285 73.034 45 45 46 0.13132 0.30315 458.556 194.388 46 46 47 0.06191 0.14291 262.962 111.473 47 47 48 0.11444 0.26417 235.761 99.942 48 48 49 0.28374 0.28331 0 0 49 49 50 0.28374 0.28321 109.215 46.298
61
50 48 51 0.04502 0.10394 0 0 51 51 52 0.02626 0.06063 72.809 30.865 52 52 53 0.06003 0.13858 258.473 109.57 53 53 54 0.03002 0.06929 69.169 29.322 54 54 55 0.02064 0.04764 21.843 9.26 55 52 56 0.10881 0.25118 0 0 56 56 57 0.25588 0.1346 20.527 8.702 57 57 58 0.41699 0.21934 150.548 63.819 58 58 59 0.50228 0.26421 220.687 93.552 59 59 60 0.3317 0.17448 92.384 39.163 60 60 61 0.20849 0.10967 0 0 61 47 62 0.13882 0.32047 226.693 96.098 62 3 63 0.0075 0.01732 0 0 63 63 64 0.27014 0.62362 294.016 116.974 64 64 65 0.3827 0.88346 83.015 33.028 65 65 66 0.33018 0.7622 83.015 33.028 66 66 67 0.3283 0.75787 103.77 41.285 67 67 68 0.17072 0.39409 176.408 70.184 68 68 69 0.55914 0.29412 83.015 33.028 69 68 70 0.05816 0.13425 217.917 86.698 70 70 71 0.7013 0.3689 23.294 9.267 71 71 72 1.02352 0.53839 5.075 2.019 72 70 73 0.06754 0.15591 72.638 28.899 73 73 74 1.32352 0.45397 405.99 161.523 74 4 75 0.01126 0.02598 0 0 75 75 76 0.72976 1.68464 100.182 42.468 76 76 77 0.22512 0.51968 142.523 60.417 77 77 78 0.20824 0.48071 96.042 40.713 78 78 79 0.0469 0.10827 300.454 127.366 79 79 80 0.6195 0.61857 141.238 59.873 80 80 81 0.34049 0.33998 279.847 118.631 81 81 82 0.56862 0.29911 87.312 37.013 82 81 83 0.10877 0.1086 243.849 103.371 83 83 84 0.56862 0.29911 247.75 105.025 84 5 85 0.01126 0.02598 0 0 85 85 86 0.41835 0.96575 89.878 38.101 86 86 87 0.10499 0.13641 1137.28 482.108 87 86 88 0.43898 1.01338 458.339 194.296 88 88 89 0.0752 0.02579 385.197 163.29 89 89 90 0.07692 0.17756 0 0 90 90 91 0.33205 0.76653 79.608 33.747 91 91 92 0.08442 0.19488 87.312 37.013 92 92 93 0.1332 0.30748 0 0 93 93 94 0.2932 0.29276 74.001 31.37 94 94 95 0.21753 0.21721 232.05 98.369 95 95 96 0.26482 0.26443 141.819 60.119 96 93 97 0.10318 0.23819 0 0 97 97 98 0.13507 0.31181 76.449 32.408 98 6 99 0.00938 0.02165 0 0 99 99 100 0.16884 0.38976 51.322 21.756 100 100 101 0.11819 0.27283 59.874 25.381 101 101 102 2.28608 0.78414 9.065 3.843 102 101 103 0.45587 1.05236 2.092 0.887 103 103 104 0.696 1.60669 16.735 7.094 104 104 105 0.45774 1.05669 1506.522 638.634 105 105 106 0.20298 0.26373 313.023 132.694 106 106 107 0.21348 0.27737 79.831 33.842 107 107 108 0.54967 0.28914 51.322 21.756
62
108 108 109 0.54019 0.28415 0 0 109 107 110 0.0455 0.05911 202.435 85.815 110 110 111 0.47385 0.24926 60.823 25.874 111 111 112 0.86241 0.45364 45.618 19.338 112 112 113 0.56862 0.29911 0 0 113 108 114 0.77711 0.40878 157.07 66.584 114 114 115 1.08038 0.5683 0 0 115 109 116 1.06633 0.57827 250.148 106.041 116 116 117 0.47385 0.24926 0 0 117 104 118 0.32267 0.74488 68.809 28.593 118 118 119 0.14633 0.33779 32.072 13.596 119 119 120 0.12382 0.28583 61.084 25.894 120 7 121 0.01126 0.02598 0 0 121 121 122 0.6491 1.49842 94.622 46.26 122 122 123 0.04502 0.10394 49.858 24.375 123 123 124 0.5264 0.18056 123.164 60.214 124 123 125 0.02064 0.04764 78.35 38.304 125 125 126 0.53071 0.27917 145.475 71.121 126 125 127 0.09755 0.2252 21.369 10.447 127 127 128 0.11819 0.27283 74.789 36.564 128 127 129 0.13882 0.32047 227.926 111.431 129 129 130 0.04315 0.09961 35.614 17.411 130 130 131 0.09192 0.2122 249.295 121.877 131 131 132 0.16134 0.37244 316.722 154.842 132 132 133 0.37832 0.37775 333.817 163.199 133 133 134 0.39724 0.39664 249.295 121.877 134 134 135 0.2932 0.29276 0 0
Tie Lines 135 142 73 0.13132 0.30315 - -136 9 24 0.26536 0.13958 - -137 15 83 0.14187 0.14166 - -138 38 135 0.08512 0.08499 - -139 25 51 0.04502 0.10394 - -140 50 96 0.14187 0.14166 - -141 55 98 0.14187 0.14166 - -142 62 120 0.0394 0.09094 - -143 66 79 0.12944 0.29882 - -144 79 131 0.01688 0.03898 - -145 84 135 0.3317 0.17448 - -146 91 104 0.14187 0.17166 - -147 90 129 0.07692 0.17756 - -148 90 103 0.07692 0.17756 - -149 92 104 0.07692 0.17756 - -150 92 132 0.07692 0.17756 - -151 96 120 0.26482 0.26443 - -152 110 47 0.49696 0.64567 - -153 126 76 0.17059 0.08973 - -154 128 77 0.05253 0.12126 - -155 135 98 0.2932 0.29276 - -
Tabela A.2 ‐ Dados da rede de 135 barramentos
63
C. Código em MATLAB
Função SingleLink Exchange
function net = SingleLinkExchange(network,Z1) % Função que aplica o algoritmo Single Link Exchange net=network; pf=0; display(sprintf('\nRamos em aberto:')); for i=1:size(Z1,1) display(sprintf('%d-%d',Z1(i,1),Z1(i,2))); end [V,S_barr,net.perdas]=NewtonRaphson(net,[]); pf=pf+1; a=1; for i=1:size(V,2) if abs(V(i))<a && V(i)~=0 a=abs(V(i)); b=i; end end display(a); display(b); Perdas_iniciais=net.perdas; net.perdasinic=Perdas_iniciais; display(sprintf('\nPerdas inicias: %f MW\n',real(net.perdas)*net.Sb)); a=1; iter=0; ind=size(Z1,1); changes=0; while a~=0 trocas=zeros(1,size(Z1,1)); aux=0; for i=1:ind net.Z(Z1(i,1),Z1(i,2))=Z1(i,3); net.Z(Z1(i,2),Z1(i,1))=Z1(i,3); path=EncontraLoop(net.Z,net.gerador); if size(path,2)==1 path=EncontraLoop(net.Z,Z1(i,1)); if size(path,2)==1 path=EncontraLoop(net.Z,Z1(i,2)); end end [losses1,losses2,losses3,pf]=Perdas(path,Z1(i,1),Z1(i,2),net,[],net.gerador,pf); display(sprintf('%d-%d->%d-%d:%f',Z1(i,1),Z1(i,2),losses1,losses2,losses3*net.Sb)); iter=iter+1; if losses3<net.perdas ind=size(Z1,1); trocas(i)=1;
64
display(sprintf('\nTroca %d-%d->%d-%d:%f\n',Z1(i,1),Z1(i,2),losses1,losses2,losses3*net.Sb)); net.perdas=losses3; net.Z(Z1(i,1),Z1(i,2))=Z1(i,3); net.Z(Z1(i,2),Z1(i,1))=Z1(i,3); Z1(i,1)=losses1; Z1(i,2)=losses2; Z1(i,3)=net.Z(losses1,losses2); net.Z(losses1,losses2)=0; net.Z(losses2,losses1)=0; changes=changes+1; else net.Z(Z1(i,1),Z1(i,2))=0; net.Z(Z1(i,2),Z1(i,1))=0; end end if sum(trocas==0)~=size(Z1,1) && i~=size(Z1,1) for j=i+1:size(Z1,1) net.Z(Z1(j,1),Z1(j,2))=Z1(j,3); net.Z(Z1(j,2),Z1(j,1))=Z1(j,3); path=EncontraLoop(net.Z,net.gerador); if size(path,2)==1 path=EncontraLoop(net.Z,Z1(j,1)); if size(path,2)==1 path=EncontraLoop(net.Z,Z1(j,2)); end end [losses1,losses2,losses3,pf]=Perdas(path,Z1(j,1),Z1(j,2),net,[],net.gerador,pf); display(sprintf('%d-%d->%d-%d:%f',Z1(j,1),Z1(j,2),losses1,losses2,losses3*net.Sb)); iter=iter+1; if losses3<net.perdas ind=size(Z1,1); trocas(j)=1; display(sprintf('\nTroca %d-%d->%d-%d:%f\n',Z1(j,1),Z1(j,2),losses1,losses2,losses3*net.Sb)); net.perdas=losses3; net.Z(Z1(j,1),Z1(j,2))=Z1(j,3); net.Z(Z1(j,2),Z1(j,1))=Z1(j,3); Z1(j,1)=losses1; Z1(j,2)=losses2; Z1(j,3)=net.Z(losses1,losses2); net.Z(losses1,losses2)=0; net.Z(losses2,losses1)=0; changes=changes+1; else net.Z(Z1(j,1),Z1(j,2))=0; net.Z(Z1(j,2),Z1(j,1))=0; end end end for k=2:size(trocas,2)-1 if trocas(k)==1 && trocas(k+1)==0 aux=1; ind=k-1; end end if trocas(end)==1 aux=1;
65
ind=size(Z1,1)-1; end if aux==0 break end end display(sprintf('\nNúmero de iterações: %d',iter)); display(sprintf('Número de power flows: %d',pf)); display(sprintf('Número de trocas: %d',changes)); display(sprintf('Perdas finais: %f MW',real(net.perdas)*net.Sb)); display(sprintf('Redução das perdas: %f %%',(real(Perdas_iniciais)-real(net.perdas))/real(Perdas_iniciais)*100)); display(sprintf('\nRamos em aberto:')); for i=1:size(Z1,1) display(sprintf('%d-%d',Z1(i,1),Z1(i,2))); end end Função NewtonRaphson
function [V,S_barr,Perdas1] = NewtonRaphson(net,pv) % Função que calcula o trânsito de energia para uma rede % Método: Newton-Raphson V=net.V; S_barr=net.S_barr; Z=net.Z; B1=net.B1; Qc=net.Qc; gerador=net.gerador; n_barr=size(V,2); delta=ones(1,(sum(V~=0)-1)*2); deltaP=zeros(1,sum(V~=0)-1); deltaQ=deltaP; H=zeros(sum(V~=0)-1); N=H; J=H; L=H; iter=0; ang=zeros(1,sum(V~=0)-1); abs_V=ang; Y=zeros(n_barr); for i=1:n_barr if V(i)~=0 for j=1:n_barr if i~=j && Z(i,j)~=0 Y(i,j)=-1/Z(i,j);
66
Y(i,i)=Y(i,i)+1i*B1(i,j)/2+1/Z(i,j); end end Y(i,i)=Y(i,i)+1i*Qc(i); end end G=real(Y); B=imag(Y); while max(abs(delta))>1e-4 P=zeros(1,n_barr); Q=zeros(1,n_barr); for i=1:n_barr if V(i)~=0 for j=1:n_barr P(i)=P(i)+abs(V(i))*abs(V(j))*(G(i,j)*cos(angle(V(i))-angle(V(j)))+B(i,j)*sin(angle(V(i))-angle(V(j)))); Q(i)=Q(i)+abs(V(i))*abs(V(j))*(G(i,j)*sin(angle(V(i))-angle(V(j)))-B(i,j)*cos(angle(V(i))-angle(V(j)))); end end end a=1; for i=2:n_barr if V(i)~=0 && i~=gerador deltaP(a)=real(S_barr(i))-P(i); deltaQ(a)=imag(S_barr(i))-Q(i); a=a+1; end end delta=[deltaP deltaQ]'; a=1; for i=1:n_barr-1 if V(i+1)~=0 && i+1~=gerador b=1; for j=1:n_barr-1 if V(j+1)~=0 && j+1~=gerador if i==j H(a,b)=-Q(i+1)-B(i+1,i+1)*abs(V(i+1))^2; N(a,b)=P(i+1)+G(i+1,i+1)*abs(V(i+1))^2; J(a,b)=P(i+1)-G(i+1,i+1)*abs(V(i+1))^2; L(a,b)=Q(i+1)-B(i+1,i+1)*abs(V(i+1))^2; else H(a,b)=abs(V(i+1))*abs(V(j+1))*(G(i+1,j+1)*sin(angle(V(i+1))-angle(V(j+1)))-B(i+1,j+1)*cos(angle(V(i+1))-angle(V(j+1)))); L(a,b)=H(a,b); N(a,b)=abs(V(i+1))*abs(V(j+1))*(G(i+1,j+1)*cos(angle(V(i+1))-angle(V(j+1)))+B(i+1,j+1)*sin(angle(V(i+1))-angle(V(j+1)))); J(a,b)=-N(a,b); end b=b+1; end
67
end a=a+1; end end Jac=[H N; J L]; Acresc=Jac\delta; a=1; aux=0; for i=1:n_barr-1 if V(i+1)~=0 && i+1~=gerador ang(a)=angle(V(i+1))+Acresc(a); abs_V(a)=abs(V(i+1))+Acresc(size(Acresc,1)/2+a-aux)*abs(V(i+1)); a=a+1; end end a=1; for i=1:n_barr if V(i)~=0 && i~=gerador V(i)=abs_V(a)*(cos(ang(a))+1i*sin(ang(a))); a=a+1; end end iter=iter+1; if iter>6 break end end S_barr(gerador)=P(gerador)+1i*Q(gerador); Perdas1=0; if iter<=6 for i=1:n_barr if V(i)~=0 Perdas1=Perdas1+S_barr(i); end end end end
68
Função EncontraLoop function path = EncontraLoop(Z,barr) % Função que encontra um caminho o qual torne a rede não radial n_barr=size(Z,2); visit=zeros(1,n_barr); Adj=zeros(n_barr); for i=1:n_barr for j=1:n_barr if Z(i,j)~=0 Adj(i,j)=1; end end Adj(i,i)=1; end visit(barr)=2; path=barr; path=PesquisaLoop(barr,Adj,visit,path); end Função PesquisaLoop function path = PesquisaLoop(barr,Adj,visit,path) % Função recursiva de procura num grafo % Pára quando encontra o barr de origem, ou todos os barramentos já tiverem % sido visitados if visit(barr)==0 visit(barr)=1; end for i=1:size(visit,2) if size(path,2)>1 && visit(path(end))==2 break end if Adj(barr,i)~=0 if visit(i)==0 path=[path i]; path=PesquisaLoop(i,Adj,visit,path); end if visit(i)==2 && i~=barr && size(path,2)>2 && path(1)~=path(end) path=[path i]; end end if size(path,2)>1 && visit(path(end))~=2 if barr==path(end-1) path(end)=[]; end end end end
69
Função Perdas function [ind1,ind2,perdas1,pf] = Perdas(path,index1,index2,network,pv,ss,pf) % Função retira os ramos um a um de um loop e calcula a melhor configuração % da rede, com base no mínimo de perdas da mesma rede ind1=0; ind2=0; perdas1=1000; net=network; nospv=pv; for i=1:size(path,2)-1 if (path(i)~=index1 || path(i+1)~=index2) && (path(i+1)~=index1 || path(i)~=index2) net.Z(path(i),path(i+1))=0; net.Z(path(i+1),path(i))=0; b=0; if path(i)==ss || path(i+1)==ss if sum(net.Z(path(i),:)==0)==size(net.Z,2) || sum(net.Z(path(i+1),:)==0)==size(net.Z,2) b=1; end end if b==1 net.Z(path(i),path(i+1))=network.Z(path(i),path(i+1)); net.Z(path(i+1),path(i))=network.Z(path(i+1),path(i)); else a=0; [V,S_barr,perdas]=NewtonRaphson(net,nospv); pf=pf+1; if perdas==0 perdas2=2000; % display(sprintf('PF não converge com barr %d-%d retirado',path(i),path(i+1))); else perdas2=perdas; end for l=1:size(V,2) if abs(V(l))~=0 && (abs(V(l))<=0.9 || abs(V(l))>=1.1) a=1; break end end if real(perdas2)<1000 % display(sprintf('%d-%d: %f',path(i),path(i+1),real(perdas2)*net.Sb)); end if real(perdas2)<perdas1 && a==0 ind1=path(i); ind2=path(i+1); perdas1=real(perdas2); end net.Z(path(i),path(i+1))=network.Z(path(i),path(i+1)); net.Z(path(i+1),path(i))=network.Z(path(i+1),path(i)); end end end end
70
Função MultipleLinkExchange function net = MultipleLinkExchange(network,Z1) % Função que aplica o algoritmo Multiple Link Exchange net=network; pf=0; for i=1:size(Z1,1) network.Z(Z1(i,1),Z1(i,2))=Z1(i,3); network.Z(Z1(i,2),Z1(i,1))=Z1(i,3); end display(sprintf('\nRamos em aberto:')); for i=1:size(Z1,1) display(sprintf('%d-%d',Z1(i,1),Z1(i,2))); end [V,S_barr,net.perdas]=NewtonRaphson(net,[]); pf=pf+1; Perdas_iniciais=net.perdas; net.perdasinic=Perdas_iniciais; display(sprintf('\nPerdas inicias: %f MW\n',real(net.perdas)*net.Sb)); a=1; iter=0; ind=size(Z1,1); changes=0; while a~=0 aux=0; if size(Z1,1)>2 trocas=zeros(1,size(Z1,1)); for i=1:ind if i==size(Z1,1) perdas1=net.perdas; [net,Z1,pf]=PerdasMulti(net,Z1,i,1,pf); if perdas1~=net.perdas trocas(i)=1; changes=changes+1; end iter=iter+1; else perdas1=net.perdas; [net,Z1,pf]=PerdasMulti(net,Z1,i,i+1,pf); if perdas1~=net.perdas trocas(i)=1; changes=changes+1; end iter=iter+1; end end if sum(trocas==0)~=size(Z1,1) && i~=size(Z1,1) for j=i+1:size(Z1,1) if j==size(Z1,1) perdas1=net.perdas; [net,Z1,pf]=PerdasMulti(net,Z1,j,1,pf); if perdas1~=net.perdas trocas(j)=1; changes=changes+1;
71
end iter=iter+1; else perdas1=net.perdas; [net,Z1,pf]=PerdasMulti(net,Z1,j,j+1,pf); if perdas1~=net.perdas trocas(j)=1; changes=changes+1; end iter=iter+1; end end end else trocas=0; [net,Z1,pf]=PerdasMulti(net,Z1,1,2,pf); iter=iter+1; changes=changes+1; end for k=2:size(trocas,2)-1 if trocas(k)==1 && trocas(k+1)==0 aux=1; ind=k-1; end end if trocas(end)==1 aux=1; ind=size(Z1,1)-1; end if aux==0 break end end display(sprintf('\nNúmero de iterações: %d',iter)); display(sprintf('Número de power flows: %d',pf)); display(sprintf('Número de trocas: %d',changes)); display(sprintf('Perdas finais: %f MW',real(net.perdas)*net.Sb)); display(sprintf('Redução das perdas: %f %%',(real(Perdas_iniciais)-real(net.perdas))/real(Perdas_iniciais)*100)); display(sprintf('\nRamos em aberto:')); for i=1:size(Z1,1) display(sprintf('%d-%d',Z1(i,1),Z1(i,2))); end end
72
Função PerdasMulti
function [net,Z1,pf] = PerdasMulti(network,Z2,ind1,ind2,pf) net=network; Z1=Z2; losses5=0; losses6=0; losses7=0; losses8=0; losses9=10000; network.Z(Z1(ind1,1),Z1(ind1,2))=Z1(ind1,3); network.Z(Z1(ind1,2),Z1(ind1,1))=Z1(ind1,3); network.Z(Z1(ind2,1),Z1(ind2,2))=Z1(ind2,3); network.Z(Z1(ind2,2),Z1(ind2,1))=Z1(ind2,3); net.Z(Z1(ind1,1),Z1(ind1,2))=Z1(ind1,3); net.Z(Z1(ind1,2),Z1(ind1,1))=Z1(ind1,3); path1=EncontraLoop(net.Z,net.gerador); if size(path1,2)==1 path1=EncontraLoop(net.Z,Z1(ind1,1)); if size(path1,2)==1 path1=EncontraLoop(net.Z,Z1(ind1,2)); end end net.Z(Z1(ind1,1),Z1(ind1,2))=0; net.Z(Z1(ind1,2),Z1(ind1,1))=0; net.Z(Z1(ind2,1),Z1(ind2,2))=Z1(ind2,3); net.Z(Z1(ind2,2),Z1(ind2,1))=Z1(ind2,3); losses1=Z1(ind1,1); losses2=Z1(ind1,2); losses3=Z1(ind2,1); losses4=Z1(ind2,2); path2=EncontraLoop(net.Z,net.gerador); if size(path2,2)==1 path2=EncontraLoop(net.Z,Z1(ind2,1)); if size(path2,2)==1 path2=EncontraLoop(net.Z,Z1(ind2,2)); end end net.Z(Z1(ind1,1),Z1(ind1,2))=Z1(ind1,3); net.Z(Z1(ind1,2),Z1(ind1,1))=Z1(ind1,3); display(sprintf('%d-%d/%d-%d\n',Z1(ind1,1),Z1(ind1,2),Z1(ind2,1),Z1(ind2,2))); for j=1:size(path1,2)-1 net.Z(path1(j),path1(j+1))=0; net.Z(path1(j+1),path1(j))=0; b=0; if path1(j)==net.gerador || path1(j+1)==net.gerador if sum(net.Z(path1(j),:)==0)==size(net.Z,2) || sum(net.Z(path1(j+1),:)==0)==size(net.Z,2) b=1; end end c=0; for l=1:size(path2,2)-1 if path1(j)==path2(l) || path1(j+1)==path2(l) c=c+0.5;
73
end end if b==1 || c==1 net.Z(path1(j),path1(j+1))=network.Z(path1(j),path1(j+1)); net.Z(path1(j+1),path1(j))=network.Z(path1(j+1),path1(j)); else [index1,index2,index3,pf]=Perdas(path2,path1(j),path1(j+1),net,[],net.gerador,pf); if index3<losses9 losses5=path1(j); losses6=path1(j+1); losses7=index1; losses8=index2; losses9=index3; end display(sprintf('%d-%d/%d-%d:%f',path1(j),path1(j+1),index1,index2,index3*net.Sb)); net.Z(path1(j),path1(j+1))=network.Z(path1(j),path1(j+1)); net.Z(path1(j+1),path1(j))=network.Z(path1(j+1),path1(j)); end end d=0; for m=1:size(path1,2) for n=1:size(path2,2) if path1(m)==path2(n) && (path1(m)~=net.gerador || path2(n)~=net.gerador) d=d+1; end end end if d>0 for j=1:size(path2,2)-1 net.Z(path2(j),path2(j+1))=0; net.Z(path2(j+1),path2(j))=0; b=0; if path2(j)==net.gerador || path2(j+1)==net.gerador if sum(net.Z(path2(j),:)==0)==size(net.Z,2) || sum(net.Z(path2(j+1),:)==0)==size(net.Z,2) b=1; end end c=0; for l=1:size(path1,2)-1 if path2(j)==path1(l) || path2(j+1)==path1(l) c=c+0.5; end end if b==1 || c==1 net.Z(path2(j),path2(j+1))=network.Z(path2(j),path2(j+1)); net.Z(path2(j+1),path2(j))=network.Z(path2(j+1),path2(j)); else [index1,index2,index3,pf]=Perdas(path1,path2(j),path2(j+1),net,[],net.gerador,pf); if index3<losses9 losses5=path2(j); losses6=path2(j+1); losses7=index1; losses8=index2; losses9=index3;
74
end display(sprintf('%d-%d/%d-%d:%f',path2(j),path2(j+1),index1,index2,index3*net.Sb)); net.Z(path2(j),path2(j+1))=network.Z(path2(j),path2(j+1)); net.Z(path2(j+1),path2(j))=network.Z(path2(j+1),path2(j)); end end end net.Z(Z1(ind1,1),Z1(ind1,2))=0; net.Z(Z1(ind1,2),Z1(ind1,1))=0; net.Z(Z1(ind2,1),Z1(ind2,2))=0; net.Z(Z1(ind2,2),Z1(ind2,1))=0; display(sprintf('\n%d-%d/%d-%d:%f\n',losses5,losses6,losses7,losses8,losses9*net.Sb)); if losses9<net.perdas display(sprintf('Troca %d-%d/%d-%d->%d-%d/%d-%d:%f\n',losses1,losses2,losses3,losses4,losses5,losses6,losses7,losses8,losses9*net.Sb)); net.perdas=losses9; aux=0; if (losses5==losses1 && losses6==losses2) || (losses5==losses2 && losses6==losses1) net.Z(losses3,losses4)=Z1(ind2,3); net.Z(losses4,losses3)=Z1(ind2,3); Z1(ind2,1)=losses7; Z1(ind2,2)=losses8; Z1(ind2,3)=net.Z(losses7,losses8); net.Z(losses7,losses8)=0; net.Z(losses8,losses7)=0; aux=1; end if (losses7==losses1 && losses8==losses2) || (losses7==losses2 && losses8==losses1) net.Z(losses3,losses4)=Z1(ind2,3); net.Z(losses4,losses3)=Z1(ind2,3); Z1(ind2,1)=losses5; Z1(ind2,2)=losses6; Z1(ind2,3)=net.Z(losses5,losses6); net.Z(losses5,losses6)=0; net.Z(losses6,losses5)=0; aux=1; end if (losses5==losses3 && losses6==losses4) || (losses5==losses4 && losses6==losses3) net.Z(losses1,losses2)=Z1(ind1,3); net.Z(losses2,losses1)=Z1(ind1,3); Z1(ind1,1)=losses7; Z1(ind1,2)=losses8; Z1(ind1,3)=net.Z(losses7,losses8); net.Z(losses7,losses8)=0; net.Z(losses8,losses7)=0; aux=1; end if (losses7==losses3 && losses8==losses4) || (losses7==losses4 && losses8==losses3) net.Z(losses1,losses2)=Z1(ind1,3); net.Z(losses2,losses1)=Z1(ind1,3); Z1(ind1,1)=losses5; Z1(ind1,2)=losses6; Z1(ind1,3)=net.Z(losses5,losses6); net.Z(losses5,losses6)=0;
75
net.Z(losses6,losses5)=0; aux=1; end if aux==0 net.Z(losses1,losses2)=Z1(ind1,3); net.Z(losses2,losses1)=Z1(ind1,3); Z1(ind1,1)=losses5; Z1(ind1,2)=losses6; Z1(ind1,3)=net.Z(losses5,losses6); net.Z(losses5,losses6)=0; net.Z(losses6,losses5)=0; net.Z(losses3,losses4)=Z1(ind2,3); net.Z(losses4,losses3)=Z1(ind2,3); Z1(ind2,1)=losses7; Z1(ind2,2)=losses8; Z1(ind2,3)=net.Z(losses7,losses8); net.Z(losses7,losses8)=0; net.Z(losses8,losses7)=0; end end end
Métodos Jacobi-Gauss-Seidel
%% Jacobi-Gauss-Seidel clear all clc A=[5 1 -1 1 -4 2 2 1 6]; B=[8 -4 12]'; %% x=inv(A)*B x=A\B; display(x); %% SingleLink D=[A(1,1) 0 0 0 A(2,2) 0 0 0 A(3,3)]; L=[0 0 0 A(2,1) 0 0 A(3,1) A(3,2) 0]; U=[0 A(1,2) A(1,3) 0 0 A(2,3) 0 0 0]; x=zeros(size(B)); a=0; iter=0;
76
while a==0 aux2=x; x=(D+L)\(B-U*x); iter=iter+1; if max(abs(aux2-x))<1e-5 || iter>99 break end end display(iter); display(x); %% Multiple Link D1=[A(1,1) 0 0 A(2,2)]; L1=[0 0 A(2,1) 0]; U1=[0 A(1,2) 0 0]; B1=[B(1) B(2)]'; C1=[A(1,3) A(2,3)]'; D2=[A(2,2) 0 0 A(3,3)]; L2=[0 0 A(3,2) 0]; U2=[0 A(2,3) 0 0]; B2=[B(2) B(3)]'; C2=[A(2,1) A(3,1)]'; D3=[A(1,1) 0 0 A(3,3)]; L3=[0 0 A(3,1) 0]; U3=[0 A(1,3) 0 0]; B3=[B(1) B(3)]'; C3=[A(1,2) A(3,2)]'; x=zeros(size(B)); a=0; iter=0; while a==0 aux2=x; x12=(D1+L1)\(B1-C1*x(3)-U1*[x(1) x(2)]'); x(1)=x12(1); x(2)=x12(2); x23=(D2+L2)\(B2-C2*x(1)-U2*[x(2) x(3)]'); x(2)=x23(1); x(3)=x23(2); x13=(D3+L3)\(B3-C3*x(2)-U3*[x(1) x(3)]'); x(1)=x13(1); x(3)=x13(2); iter=iter+1; if max(abs(aux2-x))<1e-5 || iter>99 break end end display(iter); display(x);