Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Escola Politcnica
Universidade Federal do Rio de Janeiro
Proteo Eltrica
2.
Seletividade
3.
Algoritmo Gentico
AGRADECIMENTOS
Resumo do Projeto Final apresentado a Poli/UFRJ como parte dos requisitos necessrios
para a obteno do grau de Engenheiro Eletricista (Eng.)
Nos dias de hoje cada vez mais comum a implementao de sistemas automatizados
para a melhoria de processos em geral. Para a realizao de estudos de seletividade da
proteo eltrica, as ferramentas encontradas no mercado no possuem nenhum tipo de
automatizao, fazendo com que a experincia do operador seja decisiva para a obteno de
um bom resultado para o estudo. Logo, o desenvolvimento de uma ferramenta baseada em
mtodos de inteligncia artificial, que realize de forma automtica a otimizao dos tempos
de coordenao das protees eltricas de um determinado sistema ser importante para o
setor eltrico, pois trar de maneira mais rpida e eficiente os resultados esperados neste
tipo de estudo.
LISTA DE TABELAS
Tabela 2.1 Tipos de curva com relao aos valores de e
Pg. 18
Pg. 27
Pg. 28
Pg. 28
Tabela 3.4 t c
Pg. 35
min
e tc
mx
Pg. 35
Pg. 46
Pg. 47
Pg. 48
Pg. 49
Pg. 49
LISTA DE QUADROS
Figura 2.1 Sistema Eltrico com 2 barras
Pg. 15
Pg. 16
Pg. 18
Pg. 18
Pg. 19
Pg. 19
Pg. 19
Pg. 21
Pg. 27
Pg. 38
Pg. 42
Pg. 42
Pg. 45
Pg. 47
Pg. 48
Pg. 49
Pg. 61
Pg. 62
10
Pg. 65
Pg. 65
Pg. 65
Pg. 65
Pg. 66
Pg. 66
Pg. 66
Pg. 66
Pg. 67
Pg. 67
Pg. 67
Pg. 68
Pg. 68
11
NDICE
LISTA DE TABELAS.......................................................................................................... 9
LISTA DE QUADROS....................................................................................................... 10
1.
2.
3.
INTRODUO .......................................................................................................... 14
1.1.
MOTIVAO .......................................................................................................... 14
1.2.
OBJETIVO .............................................................................................................. 14
INTRODUO ......................................................................................................... 15
2.2.
SOBRECORRENTE.......................................................................................................... 21
3.1.
3.2.
5.
4.2.
RESULTADOS ......................................................................................................... 46
CONCLUSO............................................................................................................. 50
APNDICE 1 ...................................................................................................................... 51
ALGORITMO GENTICO.............................................................................................. 53
12
B.
A.1.
HISTRICO ............................................................................................................. 53
A.2.
A.3.
A.4.
A.5.
13
1. INTRODUO
1.1.
Motivao
A seletividade das protees eltricas de um sistema necessria para evitar o corte
1.2.
Objetivo
O objetivo deste trabalho verificar o potencial de aplicao de Algoritmos
14
Introduo
O estudo de seletividade consiste na coordenao dos tempos de operao das
protees eltricas que compem um determinado sistema, evitando que suas curvas de
corrente/tempo se cruzem ao longo de um determinado intervalo de valores de corrente.
Isto significa que a seletividade da proteo eltrica uma estratgia de proteo,
onde para um ponto n considerado, h um degrau crescente de tempo no sentido do rel
prximo desse ponto at os demais rels a jusante, ou seja t n > t n 1 > t n 2 > ... > t1 , de modo
a garantir e permitir a seletividade nos desligamentos do sistema [20].
Essa seletividade consiste de uma seqncia de desligamentos onde o rel mais
prximo do defeito atua primeiro. Se esse falhar, deve atuar o primeiro rel a montante com
um degrau de tempo, ou tempo de coordenao. Na ocorrncia de falha dessa ltima deve
atuar o prximo a montante e assim, sucessivamente [20].
2.2.
Tempo de Coordenao ( t c )
Para melhor entendermos os tempos que compem a coordenao dos rels de
DA
DB
Falha
RA
RB
15
DB
RA
tB
t DB
t rA
ts
16
(2.1)
t c = t D B + t rA + t s
ou
(2.2)
tc = t A t B
(2.3)
I >
onde
t : Tempo de operao, em segundos
k : Dial de tempo, em segundos
I : Corrente de fase, em pu
I>: Pick up ajustado, em pu. Ajuste de 2 a 20 x In, onde In a corrente nominal do sistema
e : so constantes
Substituindo (2.3) em (2.2), temos que o tempo de coordenao t c dado por:
17
tc =
kA A
kB B
A
B
I
I
1
1
I >
I >
(2.4)
18
19
A Figura 2.7 mostra como poderia ser feita a coordenao dos rels apresentados na
Figura 2.1 utilizando-se curvas tempo/corrente.
20
EMBEDEMBED
t(s)
Ra
Rb
i(pu)
21
Algoritmo Gentico
O Algoritmo Gentico um algoritmo de otimizao global e baseado na teoria da
evoluo. Utiliza busca paralela e estruturada de forma aleatria, efetivada por indivduos
com alto ou baixo valor de aptido para a maximizao ou minimizao de uma funo
objeto [25].
Os conceitos relativos teoria e implementao do Algoritmo Gentico so
mostrados no Apndice A.
O fluxograma bsico do Algoritmo Gentico, mostrado na Figura 3.1, foi elaborado
com base nas seguintes referncias da literatura, [1], [17], [16], [2], [5], [19].
22
Incio
Gerao da
Populao
Decodificao
Clculo da
Aptido
Soluo
Encontrada?
Sim
Fim
No
Seleo
Reproduo
Mutao
Substituio
pelo nmero de geraes estabelecidas, pelo tempo de execuo ou algum outro indicador.
A seleo dos indivduos da populao um passo importante, ou seja, os indivduos
selecionados tm a maior probabilidade de participarem do processo de escolha para uma
nova gerao. O melhor material gentico tem maior chance de ser selecionado. Aps a
escolha, so aplicados os operadores de cruzamento e/ou mutao. Primeiramente, o
cruzamento, dividindo a populao em pares de cromossomos da populao atual e a cada
novo indivduo aplica-se o processo de mutao, gerando desta forma uma nova populao
em substituio a anterior. Os indivduos da nova gerao so novamente avaliados pela
funo de adaptao, comeando assim um novo ciclo a partir da quinta etapa, at a
condio de trmino ser atendida.
Finalmente, quando a condio de trmino atendida o indivduo mais apto
considerado como um forte candidato para ser a soluo que estava sendo procurada. Em
ltima anlise, a impresso do resultado final feita de acordo com a necessidade do
usurio, podendo mostrar somente o melhor indivduo da ltima gerao, ou mostrar a
ltima populao inteira, ou qualquer indivduo que se possa extrair as informaes
desejadas.
24
3.2.
Algoritmo Gentico
Devido natureza no-linear da funo objetivo apresentada na Equao 2.4, com
seis diferentes valores para o dial de tempo ( ), quatro diferentes valores para a corrente
de pick up (I>) e quatro diferentes valores para as constantes e , h uma enorme
combinao de solues possveis para o problema, o que dificulta o uso de algoritmos de
otimizao clssicos. Por isso, optamos pela utilizao do algoritmo gentico para efetuar a
coordenao otimizada de rels de sobrecorrente.
A seguir, apresentaremos os parmetros implementados no desenvolvimento do
algoritmo gentico desenvolvido, assim como as rotinas elaboradas no MATLAB, para
compilao do Algoritmo Gentico.
Rotina Principal
a rotina responsvel por seguir o fluxograma de compilao do Algoritmo
Gentico, conforme a Figura 3.1.
Abaixo segue o algoritmo da Rotina Principal.
%__________________________________________________________________________
% Ferramenta Computacional para Otimizao do Tempo de Coordenao de Rels
%
de Sobrecorrente em Sistemas Radiais
%-------------------------------------------------------------------------%__________________________________________________________________________
% Desenvolvido por:
%
%
Janeiro/2008
%-------------------------------------------------------------------------clear
clc;
%__________________________________________________________________________
% Setup
%-------------------------------------------------------------------------npop=input('Nmero de Indivduos: ');
nger=input('Nmero de Geraes: ');
txcruz=input('Taxa de Cruzamento: ');
25
26
%-------------------------------------------------------------------------if flagplot==1
figure
plot(T3,T1,'.');
elseif nger==0
figure
plot(T3,T1,'.');
elseif (tol<=0.0001)
figure
plot(T3,T1,'.');
end
%__________________________________________________________________________
% Reproduo, Substituio e Mutao
%-------------------------------------------------------------------------if (tol>0.0001) && (nger~=0)
%__________________________________________________________________________
% Selecionando para a Reproduo
%-------------------------------------------------------------------------[Rank]=fitscalingrank(FA,nprogen);
[progen]=selectiontournament(Rank,nprogen,[],4);
Gencomp=size(pop,2);
options = gaoptimset('EliteCount',elitsm);
%__________________________________________________________________________
% Reproduo
%-------------------------------------------------------------------------[Kids] = crossoverscattered(progen,[],Gencomp,fApt,options,pop);
[KT1 KT2 KT3 KFA]=calculaFA(Kids);
%__________________________________________________________________________
% Substituio 1
%-------------------------------------------------------------------------[newpop NFA]=substituir(FA,KFA,pop,Kids);
pop=newpop;
%__________________________________________________________________________
% Mutao
%--------------------------------------------------------------------------
27
[MFA]=calculaFA(pop);
[mRank]=fitscalingrank(MFA,nprogen);
[mprogen]=selectiontournament(mRank,nprogen,[],4);
[mKids]=mutationuniform(mprogen,options,Gencomp,fApt,[],MFA,pop,txmut);
mKids=round(mKids);
[mmT1 mmT2 mmT3 mmFA]=calculaFA(mKids);
%__________________________________________________________________________
% Substituio 2
%-------------------------------------------------------------------------[mnewpop MFA]=substituir(MFA,mmFA,pop,mKids);
pop=mnewpop;
nger = nger-1
else
nger = nger-1;
end
end
%__________________________________________________________________________
% Finalizando
%-------------------------------------------------------------------------[vT1 vT2 vT3]=plotar(mAB1,mI1,mK1,mAB2,mI2,mK2,mAB3,mI3,mK3,mT1,mT2,mT3);
28
%
Janeiro/2008
%-------------------------------------------------------------------------function [pop]=inipop(npop)
pop=round(rand(npop, 21));
Codificao
Utilizaremos a codificao binria, principalmente pela fcil implementao
computacional. O conjunto formado pelos rels 1, 2 e 3 ser tratado com um indivduo,
onde cada indivduo possuir nove cromossomos: trs com dois genes, representando o tipo
de curva de tempo/corrente do rel, trs com dois genes, representando o valor pick up de
corrente do rel e por fim, trs com trs genes, representando o dial de tempo do rel. A
Figura 3.2 abaixo ilustra a composio dos indivduos.
A codificao do pick up de corrente foi feita a partir de uma sobrecarga de 20%
(vinte por cento) sobre o valor da corrente nominal do alimentador, e com um degrau de 0,5
pu para os Rels 1 e 2 e com um degrau de 0,05 pu para o Rel 3.
Rel 1
Rel 2
Rel 3
Nas Tabelas 3.1, 3.2 e 3.3 abaixo, seguem as codificaes das variveis
apresentadas acima.
Normalmente Inversa
Muito Inversa
Extremamente Inversa
Longamente Inversa
29
30
Corrente de Pick up
I (pu)
Rel 1 Rel 2 Rel 3
1,20
0,60
0,120
1,25
0,65
0,125
1,30
0,70
0,130
1,35
0,75
0,135
0,05
0 0 0
0,1
0 0 1
0,2
0 1 0
0,4
0 1 1
0,8
1 0 0
1,6
1 0 1
%
Janeiro/2008
%-------------------------------------------------------------------------function [sAB1 sI1 sK1 sAB2 sI2 sK2 sAB3 sI3 sK3]=separa(pop)
31
%______________________________________________
%Rel 1
%______________________________________________
% Alpha e Beta
AB1=pop(:,[1 2]);
% Corrente de Fase
I1=pop(:,[3 4]);
% Dial de Tempo
K1=pop(:,[5 6 7]);
%______________________________________________
%Rel 2
%______________________________________________
% Alpha e Beta
AB2=pop(:,[8 9]);
% Corrente de Fase
I2=pop(:,[10 11]);
% Dial de Tempo
K2=pop(:,[12 13 14]);
%______________________________________________
%Rel 3
%______________________________________________
% Alpha e Beta
AB3=pop(:,[15 16]);
% Corrente de Fase
I3=pop(:,[17 18]);
% Dial de Tempo
K3=pop(:,[19 20 21]);
%______________________________________________
% Leitura
%______________________________________________
32
% Alpha e Beta
k=size(pop,1);
for i=1:1:k
if isequal(AB1(i,:),[0 0])
sAB1(i,:)=[0.02 0.14];
elseif isequal(AB1(i,:),[0 1])
sAB1(i,:)=[1 13.5];
elseif isequal(AB1(i,:),[1 0])
sAB1(i,:)=[2 80];
elseif isequal(AB1(i,:),[1 1])
sAB1(i,:)=[1 120];
end
if isequal(AB2(i,:),[0 0])
sAB2(i,:)=[0.02 0.14];
elseif isequal(AB2(i,:),[0 1])
sAB2(i,:)=[1 13.5];
elseif isequal(AB2(i,:),[1 0])
sAB2(i,:)=[2 80];
elseif isequal(AB2(i,:),[1 1])
sAB2(i,:)=[1 120];
end
if isequal(AB3(i,:),[0 0])
sAB3(i,:)=[0.02 0.14];
elseif isequal(AB3(i,:),[0 1])
sAB3(i,:)=[1 13.5];
elseif isequal(AB3(i,:),[1 0])
sAB3(i,:)=[2 80];
elseif isequal(AB3(i,:),[1 1])
33
sAB3(i,:)=[1 120];
end
% Corrente de Fase
if isequal(I1(i,:),[0 0])
sI1(i,:)=1.2;
elseif isequal(I1(i,:),[0 1])
sI1(i,:)=1.25;
elseif isequal(I1(i,:),[1 0])
sI1(i,:)=1.3;
elseif isequal(I1(i,:),[1 1])
sI1(i,:)=1.35;
end
if isequal(I2(i,:),[0 0])
sI2(i,:)=.6;
elseif isequal(I2(i,:),[0 1])
sI2(i,:)=.65;
elseif isequal(I2(i,:),[1 0])
sI2(i,:)=.7;
elseif isequal(I2(i,:),[1 1])
sI2(i,:)=.75;
end
if isequal(I3(i,:),[0 0])
sI3(i,:)=.12;
elseif isequal(I3(i,:),[0 1])
sI3(i,:)=.125;
elseif isequal(I3(i,:),[1 0])
sI3(i,:)=.13;
34
35
sK1(i,:)=0.4;
else
sK1(i,:)=1.6;
end
end
if isequal(K2(i,:),[0 0 0])
sK2(i,:)=0.05;
elseif isequal(K2(i,:),[0 0 1])
sK2(i,:)=0.1;
elseif isequal(K2(i,:),[0 1 0])
sK2(i,:)=0.2;
elseif isequal(K2(i,:),[0 1 1])
sK2(i,:)=0.4;
elseif isequal(K2(i,:),[1 0 0])
sK2(i,:)=0.8;
elseif isequal(K2(i,:),[1 0 1])
sK2(i,:)=1.6;
elseif isequal(K2(i,:),[1 1 0])
n1=round(rand(1));
n2=round(rand(1));
n=n1+n2;
if n==1
sK2(i,:)=0.2;
else
sK2(i,:)=0.8;
end
elseif isequal(K2(i,:),[1 1 1])
n1=round(rand(1));
n2=round(rand(1));
n=n1+n2;
36
if n==1
sK2(i,:)=0.4;
else
sK2(i,:)=1.6;
end
end
if isequal(K3(i,:),[0 0 0])
sK3(i,:)=0.05;
elseif isequal(K3(i,:),[0 0 1])
sK3(i,:)=0.1;
elseif isequal(K3(i,:),[0 1 0])
sK3(i,:)=0.2;
elseif isequal(K3(i,:),[0 1 1])
sK3(i,:)=0.4;
elseif isequal(K3(i,:),[1 0 0])
sK3(i,:)=0.8;
elseif isequal(K3(i,:),[1 0 1])
sK3(i,:)=1.6;
elseif isequal(K3(i,:),[1 1 0])
n1=round(rand(1));
n2=round(rand(1));
n=n1+n2;
if n==1
sK3(i,:)=0.2;
else
sK3(i,:)=0.8;
end
elseif isequal(K3(i,:),[1 1 1])
n1=round(rand(1));
n2=round(rand(1));
n=n1+n2;
37
if n==1
sK3(i,:)=0.4;
else
sK3(i,:)=1.6;
end
end
end
Restries
As restries implementadas so:
min
mx
) [21];
) [20];
As Tabelas 3.4 e 3.5 mostram os valores atribudos a cada uma das restries
utilizadas.
tc
tc
min
200 ms
mx
250 ms
Tabela 3.4
tc
Tempo de Operao
T1
T2
T3
min
tc
mx
Mnimo
700ms
500ms
300 ms
38
Mximo
1600 ms
1200 ms
800 ms
%
Janeiro/2008
%-------------------------------------------------------------------------function [R]=restricoes(T1,T2,T3)
Ar=[1 -1 0;0 1 -1;1 0 0;0 1 0;0 0 1];
br=[0.2;0.25;0.2;0.25;0.7;1.6;0.5;1.2;0.3;0.8];
k=size(T1,2);
for i=1:1:k
x=[T1(:,i);T2(:,i);T3(:,i)];
b=Ar*x;
if (b(1)<br(1))
R(i)=1000;
elseif b(1)>br(2)
R(i)=1000;
else
R(i)=0;
end
if b(2)<br(3)
R(i)=R(i)+1000;
elseif b(2)>br(4)
R(i)=R(i)+1000;
39
else
R(i)=R(i)+0;
end
if b(3)<br(5)
R(i)=R(i)+600;
elseif b(3)>br(6)
R(i)=R(i)+600;
else
R(i)=R(i)+0;
end
if b(4)<br(7)
R(i)=R(i)+400;
elseif b(4)>br(8)
R(i)=R(i)+400;
else
R(i)=R(i)+0;
end
if b(5)<br(9)
R(i)=R(i)+200;
elseif b(5)>br(10)
R(i)=R(i)+200;
else
R(i)=R(i)+0;
end
end
Funo de Aptido
A Figura 3.3 mostra como feita a seletividade dos rels de sobrecorrente que
compem o sistema apresentado na Figura 3.1.
40
t0
t2
t3
t1
t 0 : Incio da falha
1
+R
t1 t 3 + C min
(4.1)
f apt =
k3 3
k1 1
+ C min
3
I1 1
I3
1
1
I3 >
I1 >
+R
onde
f apt : Funo de Aptido
41
(4.2)
e : so constantesEMBEDEMBED
Cmin : Constante de Continuidade
R : Penalidade aplicada pelas restries
Abaixo segue o algoritmo implementado para o clculo da funo de aptido.
%__________________________________________________________________________
%
Clculo da Funo de Aptido
%-------------------------------------------------------------------------%__________________________________________________________________________
% Desenvolvido por:
%
%
Janeiro/2008
%-------------------------------------------------------------------------function [FA]=aptidao(T1,T2,T3,R)
k=size(T3,2);
T1T2=T1-T2;
T2T3=T2-T3;
T=T1T2+T2T3;
for i=1:1:k
FA(i)=(1/(T(i)+1))+R(i);
end
42
%
Janeiro/2008
%-------------------------------------------------------------------------function parents = selectiontournament(expectation,nParents,options,tournamentSize)
if(nargin < 4)
tournamentSize = 4;
end
players = ceil(length(expectation) * rand(nParents,tournamentSize));
scores = expectation(players);
[unused,m] = max(scores');
parents = zeros(1,nParents);
for i = 1:nParents
parents(i) = players(i,m(i));
end
Reproduo
Para efetuarmos a reproduo, utilizamos o mtodo de reproduo uniforme. Outro
critrio utilizado foi o Elitismo, que consiste em selecionar automaticamente para a
prxima populao os n indivduos mais aptos da populao, onde n um nmero inteiro e
pr-determinado.
Abaixo segue o algoritmo desenvolvido para efetuarmos a reproduo
%__________________________________________________________________________
%
Funo de Reproduo
%-------------------------------------------------------------------------%__________________________________________________________________________
% Desenvolvido por:
%
%
Janeiro/2008
%--------------------------------------------------------------------------
43
Mutao
No algoritmo implementamos a mutao por troca de bit, citada no Apndice A
deste trabalho como um dos diferentes tipos de mutao utilizados. Neste tipo de mutao,
escolhe-se aleatoriamente uma posio de um descendente e nesta posio fazemos a troca
do valor do bit. As Figuras 3.4 e 3.5 mostram, para uma melhor visualizao, a
44
Ponto de Mutao
1 1 0 0 1 1 0 0
Descendente
Figura 3.4 Cromossomo de um dos Descendentes
1 1 1 0 1 1 0 0
Descendente
Figura 3.5 Cromossomo Aps Mutao
%
Janeiro/2008
8
%-------------------------------------------------------------------------function mutationChildren =
mutationuniform(parents,options,GenomeLength,FitnessFcn,state,thisScore,thisPopulation,mutationRate)
if(nargin < 8)
mutationRate = 0.01;
end
if(strcmpi(options.PopulationType,'doubleVector'))
mutationChildren = zeros(length(parents),GenomeLength);
for i=1:length(parents)
child = thisPopulation(parents(i),:);
mutationPoints = find(rand(1,length(child)) < mutationRate);
range = options.PopInitRange;
[r,c] = size(range);
if(c ~= 1)
range = range(:,mutationPoints);
45
end
lower = range(1,:);
upper = range(2,:);
span = upper - lower;
child(mutationPoints) = lower + rand(1,length(mutationPoints)) .* span;
mutationChildren(i,:) = child;
end
elseif(strcmpi(options.PopulationType,'bitString'))
mutationChildren = zeros(length(parents),GenomeLength);
for i=1:length(parents)
child = thisPopulation(parents(i),:);
mutationPoints = find(rand(1,length(child)) < mutationRate);
child(mutationPoints) = ~child(mutationPoints);
mutationChildren(i,:) = child;
end
end
Substituio
Aps os processos de reproduo e mutao, so geradas sub-populaes com
novos indivduos. necessrio que seja feita a substituio dos indivduos menos aptos da
populao pelos indivduos mais aptos das sub-populaes geradas aps a gerao e a
mutao, formando assim a nova populao.
Abaixo segue o algoritmo desenvolvido para efetuarmos a reproduo
%__________________________________________________________________________
%
Funo de Substituio
%-------------------------------------------------------------------------%__________________________________________________________________________
% Desenvolvido por:
%
%
Janeiro/2008
%-------------------------------------------------------------------------function [newpop NFA]=substituir(FA,KFA,pop,Kids)
[oFA,IXFA] = sort(FA);
[oKFA,IXKFA] = sort(KFA);
p=size(pop,2);
noFA=size(oFA,2);
noKFA=size(oKFA,2);
46
k=1;
l=noFA;
for i=1:1:noFA
if k<=noKFA
if oKFA(1,i)<oFA(1,l)
for j=1:1:p
newpop(i,j)=Kids(IXKFA(k),j);
NFA(i)=KFA(IXKFA(k));
end
else
for j=1:1:p
newpop(i,j)=pop(IXFA(l),j);
NFA(i)=FA(IXFA(l));
end
end
else
for j=1:1:p
newpop(i,j)=pop(IXFA(l),j);
NFA(i)=FA(IXFA(l));
end
end
k=k+1;
l=l-1;
end
Critrio de Parada
O algoritmo ser executado at o nmero mximo de n geraes, onde n um
nmero inteiro pr-determinado, ou at que o valor da diferena entre o valor da funo de
aptido encontrado do melhor indivduo e o valor da mdia das funes aptido da
populao seja menor que a tolerncia de 0,0001.
47
48
4. ESTUDO DE CASO
4.1.
Configurao do Sistema
Dado o sistema radial apresentado na Figura 4.1, so mostrados os valores de
~
Barra 1
Rel 1
50/51
D1
5,9 pu
0,5 pu
Rel 2
5,4 pu
50/51
Barra 2
Barra 3
D2
D3
0,1 pu
0,1 pu
0,1 pu
0,1 pu
0,1 pu
0,1 pu
0,1 pu
0,1 pu
0,1 pu
5 pu
50/51
Rel 3
Falha
Figura 4.1 Sistema Radial Proposto para Estudo
abriu, mas cargas sero cortadas, por conseqncia, maior prejuzo para as distribuidoras e
consumidores.
Neste estudo de caso procuraremos minimizar o tempo de coordenao entre os
Rels 1 e 3. Para efetuarmos a coordenao otimizada da proteo foi utilizada a ferramenta
computacional apresentada no captulo anterior.
4.2.
Resultados
Uma das caractersticas do Algoritmo Gentico a necessidade da busca da melhor
Operadores Genticos
Tamanho da Populao (N de Indivduos) 1500
N de Geraes 100
Taxa de cruzamento 80%
Taxa de Mutao 2%
Tabela 4.1 Operadores Genticos utilizados
50
Mdia
0,6924
Convergncia
Indivduo mais Apto
0,69239
51
1
Indivduo
1
Binrio
Decodificado 2
I1
1
0
1
1
80 1,25
0,20
2
0
I2
80
2
0
0,70
0,40
I3
3
1
3
1
120 0,125
0,10
52
T1 - T3
Para finalizar, com base nos parmetros fornecidos pelo melhor indivduo, foram
traadas as curvas corrente/tempo dos Rels 1, 2 e 3, apresentadas na Figura 4.4.
53
MERGEFORMAT
5. CONCLUSO
54
APNDICE 1
55
56
ALGORITMO GENTICO
A.1.
Histrico
Em meados da dcada de 70, John H. Holland props a tcnica de algoritmo
gentico (AG), inspirada nas teorias darwinianas. Este estudo foi responsvel pela
publicao Adaptation in Natural and Artificial Systems [1], [2].
O AG baseado na teoria da evoluo. Utiliza busca paralela e estruturada de forma
aleatria, efetivada por indivduos com alto ou baixo valor de aptido para a maximizao
ou minimizao de uma funo objeto. O AG utilizado basicamente para resolver
problemas em pesquisas numricas, otimizao de funes e aprendizagem de mquinas,
dentre outras reas [3]. A aplicao do AG destacada em sistemas classificadores de
dados que ocorrem geralmente na ordenao destes dados para um propsito, por exemplo,
para uma simples recuperao ou para efetuar uma anlise de dados [4]. Whitley [5] cita
que o AG freqentemente descrito como um mtodo de busca global, no utilizando
gradiente de informao e podendo ser combinado com outros mtodos para refinamento de
buscas quando h aproximao de um mximo ou mnimo local.
Atualmente o AG muito empregado na resoluo de problemas de bioinformtica,
como exemplo, a descoberta da estrutura de RNA [6], para a predio de non-coding
RNA (ncRNA) [7], para a construo de mapas de DNA [8] e para a descoberta de regies
regulatrias [9], [10].
A.2.
Computao Evolutiva
A computao evolucionria se inspira na teoria evolutiva para o desenvolvimento
57
A.3.
francs Jean Baptiste Pierre Antoine de Monet, conhecido como Lamarck. Para Lamarck as
caractersticas que um animal adquire durante sua vida podem ser transmitidas
hereditariamente. Este estudo ficou conhecido pela cincia como a lei do uso e desuso
[13]. Charles Darwin vem debater a teoria de Lamarck, de forma agressiva tentando de
forma cientfica explicar como as espcies evoluem. A seleo natural um processo de
evoluo, geralmente aceito pela comunidade cientfica como a melhor explicao para a
adaptao. O meio ambiente seleciona os seres mais aptos, em geral, s estes conseguem
reproduzir-se e os menos adaptados so eliminados ou pelo menos reduzidos em um
primeiro momento a uma minoria. Assim, s as diferenas que facilitam a sobrevivncia
so transmitidas gerao seguinte [14].
A seleo natural depende muito das condies ambientais, podendo selecionar
caractersticas de um determinado organismo ajudando na reproduo e sobrevivncia
deste, os organismos que no possuem tal caracterstica podem vir a morrer antes que se
reproduzam ou serem menos prolficos que os organismos que apresentam a caracterstica.
medida que as condies ambientais no variem essas caractersticas continuam sendo
adaptativas tornando-se comum na populao. Certas caractersticas so preservadas devido
vantagem seletiva que conferem, permitindo que o indivduo reproduza-se,
conseqentemente, deixando mais descendentes atravs de diversas interaes os
organismos podem vir a desenvolver caractersticas adaptativas muito complexas [15], [14].
A teoria da seleo natural no aplicada somente a organismos biolgicos,
podendo ser aplicada a qualquer organismo que se reproduz de modo a envolver tanto a
58
hereditariedade como a variao [16]. Assim, pode ocorrer seleo natural no reino no
biolgico.
Alguns pesquisadores buscaram na natureza a inspirao necessria para pesquisar e
desenvolver novas tcnicas de busca de solues para determinados problemas. Na natureza
o processo de seleo natural demonstra que seres mais preparados (aptos) compete com os
recursos naturais impostos, tendo assim uma maior probabilidade de sobreviver,
conseqentemente, disseminar o seu cdigo gentico [2]. Com o passar das geraes,
atravs de sucessivos cruzamentos e mutaes que ocorrem com as espcies, estes tendem a
estar cada vez mais adaptados ao meio ambiente em que vivem.
O AG trabalha com uma populao no qual cada indivduo um candidato a
soluo do problema. A funo de otimizao representa o ambiente no qual a populao
inicial encontra-se. Emprega-se no AG a mesma terminologia e os mesmos princpios da
teoria evolutiva e da gentica [1].
O AG relacionado com a seleo natural pode ser expressado como [13].
1 SE h organismo que se reproduzem;
2 SE os descendentes herdam as caractersticas de seus genitores;
3 SE h variao nas caractersticas;
4 SE o ambiente no suporta todos os indivduos de uma populao em
crescimento;
5
ENTO
os
indivduos
que apresentarem
menor
adaptao
59
A.4.
Parmetros Genticos
Alguns parmetros influenciam diretamente no desempenho e at mesmo na
convergncia do AG. O grau de influncia pode variar para mais ou para menos,
dependendo da aplicao dos mesmos.
Dentre os diversos tipos de parmetros, tem-se:
Tamanho da populao;
Codificao;
Funo de Aptido
Taxa de cruzamento;
Taxa de Mutao;
Substituio;
Convergncia;
Elitismo.
60
b) Taxa de Cruzamento
Este parmetro indica quantos indivduos da populao iro reproduzir. Com uma
taxa de cruzamento muito baixa, o algoritmo se torna direto, pois existir pouca diversidade
da populao a cada gerao. Para uma taxa de cruzamento alta, a populao poder ter
uma perda no seu material gentico, j que quase toda a populao ser substituda pelos
seus descendentes.
c) Convergncia
O elitismo foi introduzido por Kenneth de Jong (1975), para contribuir em uma
convergncia satisfatria do algoritmo. Este mtodo faz com que a melhor soluo de uma
determinada gerao no seja perdida pela no seleo reproduo.
A cada gerao, alguns dos melhores indivduos passam a fazer parte
automaticamente para as prximas geraes, at que encontrem outros indivduos melhores.
e) Funo de Aptido
1
f 0 ( x) + C min
(1)
onde:
f apt
- Funo de aptido;
f0
- Funo objetivo;
C min
f apt ( x) = C mx f 0 ( x)
f apt ( x) = 0
se f 0 ( x) < C mx
se f 0 ( x) C mx
(2)
onde:
C mx
- Varivel de redimensionamento.
62
aptido uma constante tal que seus valores sejam sempre positivos, conforme indicado na
Equao (3).
f apt ( x) = f 0 ( x) + f min
(3)
onde:
f min
f 0atual ( x) = f 0antiga ( x) + r Q ( x)
(4)
- Fator de Penalidade;
- Funo de Penalidade
f) Codificao
63
Cdigo gray.
Cdigo decimal
Cdigo binrio
Este um dos tipos mais utilizados pela sua simplicidade de tratamento. Neste caso
cada cromossomo representado por uma cadeia de genes ou bits que podem ter valores
0 ou 1. Este um processo importante j que a reproduo e a mutao trabalham com
o parmetro codificado.
O tamanho do cromossomo depende diretamente dos limites e da discretizao de
cada varivel, conforme exemplo abaixo.
Parmetros da varivel.
64
l inf
-0
Limite inferior
l sup
- 30
Limite Superior
pva
-1
Passo da varivel
n discreto =
l sup l inf
pva
+ 1 = 31
(2.5)
l cromossomo
l sup linf
log
+ 1
pva
= 5
= 1 + int
log(2 )
(2.6)
onde lcromossomo o nmero de bits que cada varivel representa e int o operador
pra nmeros inteiros.
Pode-se observar tambm que a varivel com 5 bits pode assumir um valor mximo
5
2 = 32 e a varivel no exemplo possui limite superior igual a 30. Para resolver este
problema, tem-se que fazer uma mudana de escala para se enquadrar dentro dos limites de
cada varivel e em seguida aplicar os operadores genticos.
Cdigo Octal
Este sistema o menos usado por no ser to trivial como o binrio, mas tem sua
importncia em problemas especficos os quais podem facilitar em muito a aplicao dos
operadores genticos. Para determinados problemas, esse tipo de cdigo pode melhorar em
muito a convergncia do algoritmo em relao aos outros cdigos.
Cdigo Hexadecimal
Assim como no sistema octal este sistema menos usado por no ser to trivial, mas
possui sua importncia para determinadas aplicaes.
65
Cdigo Gray
Este cdigo surgiu para resolver um determinado problema que apareceu no cdigo
binrio. O problema que no cdigo binrio uma distncia muito grande entre duas
variveis decimais vizinhas, ou seja, uma varivel de valor 7 em binrio representada por
0111 e uma varivel 8 representada por 1000 tem diversos bits diferentes um do outro,
mesmo sendo nmeros vizinhos. Esta situao pode provocar, em determinadas problemas
de otimizao, fatos indesejados. Ento este tipo de cdigo surgiu como uma adaptao ao
cdigo binrio, mas de forma a aproximar esta distncia.
A transformao do cdigo gray para decimal, comea com o nmero zero e um do
decimal que so iguais aos do cdigo gray. Para encontrar o nmero 2 e 3 refletem-se os
nmeros 0 e 1, no cdigo gray, conforme a Figura A.1, sendo que os nmeros refletidos so
antecedidos pelo nmero 1.
Gray
00
01
11
10
Decimal
0
1
2
3
Figura A.1 Transformao de Cdigo Gray para Decimal
Gray
000
001
011
010
110
111
101
100
Decimal
0
1
2
3
4
5
6
7
Figura A.2 Transformao de Cdigo Gray para Decimal
66
A.5.
Operadores Genticos
Os operadores genticos so responsveis pelo processo e otimizao, que
compreende a seleo e diversificao da espcie durante vrias geraes (ou seja, pelo
processo de otimizao). Eles fazem com que indivduos mais aptos tenham uma maior
probabilidade de cruzamento e desta forma conservem suas melhores caractersticas de
adaptao para seus descendentes. Em conseqncia, indivduos com baixa adaptabilidade
se perdem durante as geraes. Esta diversificao faz com que os indivduos se adaptam
melhor ao seu meio e conduz a uma populao com valores de aptido na maioria das vezes
timos.
Basicamente os operadores genticos so divididos em trs categorias:
Seleo;
Cruzamento;
Mutao.
a) Operador de Seleo
O operador de seleo tem como objetivo selecionar os indivduos mais adaptados
ao seu meio ambiente para sofrer a ao dos operadores de cruzamento e mutao e
conseqentemente gerar uma populao mais adaptada ao seu nicho ecolgico. Deste
modo, as geraes futuras tero uma menor probabilidade de serem extintas.
Abaixo so apresentados alguns dos mais importantes tipos de seleo.
Roleta
67
nmero de vezes que o tamanho da populao (N), com isso os indivduos que possuem
maior adaptabilidade tem uma maior chance de serem selecionados para reproduo.
Esta probabilidade dada pela Equao (7):
Pi =
fi
fm
(7)
f
fm =
i =1
(8)
Ranking
Torneio
Este mtodo derivado do mtodo da roleta, pois seu processo retorna o melhor
indivduo, em relao a sua adaptabilidade, de dois resultados obtidos pelo mtodo roleta.
Os indivduos com baixa adaptabilidade, neste mtodo, possuem poucas chances de serem
escolhidos para a aplicao dos operadores genticos, mesmo que estas sejam muito baixas.
Por beneficiar em muito os indivduos com maior adaptabilidade, este processo pode
favorecer a convergncia prematura.
68
b) Operador de Cruzamento
O operador de cruzamento tem como objetivo realizar a troca de material gentico
dos progenitores escolhidos pelo operador de seleo durante o cruzamento. Desta forma,
seus descendentes herdaro parte das caractersticas de um progenitor e parte do outro.
Com isso, as caractersticas dos progenitores mais adaptados sero conservadas de gerao
em gerao pelos seus descendentes, fazendo com que estes se adaptem melhor ao meio em
que vive. Este operador realizado em um nmero fixo de indivduos regidos por uma taxa
de cruzamento ( t c ).
Dentre os vrios tipos de cruzamento, temos:
Cruzamento uniforme;
Cruzamento varivel;
69
Uma representao deste tipo de cruzamento mostrada nas Figuras A.3 e A.4, com
o tamanho do cromossomo de 8 bits, codificao binria e com o ponto de corte escolhido
aleatoriamente na posio 4.
Ponto de Cruzamento
Ponto de Cruzamento
1 0 1 0 1 0 1 0
0 1 0 1 0 1 0 1
Genitor 1
Genitor 2
Figura A.3 Cromossomo dos Genitores
1 0 1 0 0 1 0 1
1 0 1 0 0 1 0 1
Descendente 1
Descendente 2
Figura A.4 Cromossomo dos Descendentes
Pontos de Cruzamento
1 0 1 0 1 0 1 0
0 1 0 1 0 1 0 1
Genitor 1
Genitor 2
Figura A.5 Cromossomo dos Genitores
1 0 0 1 0 1 1 0
0 1 1 0 1 0 0 1
Descendente 1
Descendente 2
Figura A.6 Cromossomo dos Descendentes
Cruzamento Uniforme
70
Neste tipo de cruzamento, cria-se uma mscara aleatria com o mesmo tamanho dos
cromossomos dos progenitores. O primeiro descendente formado de tal forma que,
quando a mscara tiver bit ativo ou igual a um, este descendente herda o bit do primeiro
progenitor e quando a mscara tiver bit inativo ou igual a zero, o progenitor herda o bit do
segundo progenitor. Para formar o segundo descendente, o processo ocorre de modo
semelhante, mas inverso. Quando a mscara tiver bit ativo, o segundo descendente herda o
bit do segundo progenitor e quando a mascar tiver bit inativo, o descendente herda o bit do
primeiro progenitor.
Uma representao para este tipo de cruzamento ser mostrada atravs das Figuras
A.7, A.8 e A.9 com o tamanho do cromossomo de 8 bits e com codificao binria.
1 0 1 0 1 0 1 0
0 1 0 1 0 1 0 1
Genitor 1
Genitor 2
Figura A.7 Cromossomo dos Genitores
1 1 0 0 1 1 0 0
Mscara
Figura A.8 Mscara Criada Aleatoriamente
1 0 0 1 1 0 0 1
0 1 1 0 0 1 1 0
Genitor 1
Genitor 2
Figura A.9 Cromossomo dos Genitores
Este tipo de cruzamento possui tambm uma semelhana muito grande com o
cruzamento de um ponto de corte. A diferena que realiza a troca de material gentico em
um ponto de corte, mas no apenas por indivduo e sim por cada varivel ou gene do
indivduo.
Uma melhor apresentao deste mtodo ser mostrada nas figuras A.10 e A.11,
sendo que cada indivduo utiliza cdigo binrio, os indivduos possuem duas variveis, o
71
1 0 1
Pontos de Cruzamento
0 1 0
0 1 0
Genitor 1
1 0 1
Genitor 2
1 0 0
0 0 1
0 1 1
Descendente 1
1 1 0
Descendente 2
Figura A.11 Cromossomo dos Descendentes
Neste tipo de cruzamento, escolhe-se um indivduo base e, para cada varivel deste,
tem-se que escolher um outro indivduo e um ponto para o cruzamento, ou seja, cada
varivel do indivduo base realiza o cruzamento com um indivduo diferente, escolhido
aleatoriamente. Desta forma, tenta-se aproveitar um maior nmero de caractersticas na
populao. Outro fato importante que este mtodo de cruzamento gera apenas um nico
descendente.
Para um melhor entendimento, uma representao ser mostrada nas Figuras A.12 e
A.13, sendo que cada indivduo utiliza cdigo binrio, os indivduos possuem duas
variveis, o tamanho destas variveis so de 3 bits e os pontos de corte escolhidos
aleatoriamente so em nmero de 2 e nas posies 2 e 1.
Pontos de Cruzamento
Genitor 1 - Base
1 0 1
0 1 0
Genitor 2
0 1 0
1 0 1
Genitor 3
0 0 0
1 1 1
72
1 0 0
0 1 1
Descendente
Figura A.13 Cromossomo do Descendente
Neste tipo de cruzamento, utiliza-se cdigo real. Para realizar o cruzamento faz-se a
mdia dos bits dos genitores formando assim um descendente. Caso uma mdia no seja
valor inteiro, realiza-se uma escolha aleatria para saber se o valor ser arredondado para
cima ou para baixo.
Nas Figuras A.14 e A.15, tem-se a representao deste tipo de cruzamento, sendo
que as posies 4 e 7 no obtiveram valores inteiros. Na posio 4, o valor foi arredondado
para baixo, escolhido de forma aleatria, e na posio 7 o valor foi arredondado para cima,
tambm de forma aleatria.
1 2 3 4 5 6 7
3 4 5 3 7 6 2
Genitor 1
Genitor 2
Figura A.14 Cromossomo dos Genitores
2 3 4 3 6 6 5
Descendente
Figura A.15 Cromossomo dos Genitores
c) Operador de Mutao
O operador de mutao tem como objetivo inserir novas caractersticas nos
descendentes e at mesmo restaurar as caractersticas perdidas a cada gerao. O processo
faz com que alguns descendentes de cada gerao, regidos por um percentual denominado
taxa de mutao ( t m ), sofram uma troca no valor de um de seus bits. A posio do bit
escolhida de forma aleatria.
Dentre os tipos de mutao, temos:
73
Mutao uniforme;
Troca de posies;
74
B. REFERNCIAS BIBLIOGRFICAS
[1] Dias, J.S.; Barreto, J.M. (1998), Algoritmo gentico: inspirao biolgica na soluo
de problemas - uma introduo, Revista Martima Brasileira - Suplemento Especial,
Pesquisa Naval, n 11, p. 105-128.
[2] M. Srinivas, Lalit M. Patnaik, "Genetic algorithms: A Survey," Computer, vol. 27,
no. 6, pp. 17-26, Jun., 1994 [3] Fogel, D.B. (1995), Evolutionary Computation, IEEE
Press: Piscataway, NJ.
[3] Fogel, D.B. (1995), Evolutionary Computation, IEEE Press: Piscataway, NJ.
[4] Furtado, J.C.; Lorena, L.A.N. (1998), Algoritmo gentico construtivo na otimizao de
problemas combinatrios de agrupamentos, III Oficina de cortes e empacotamento,
lac.inpe.br.
[5] Whitley, D. (1994), A genetic algorithm tutorial, Springer Science + Business Media
B.V., Formerly Kluwer Academic. p. 65-85.
[6] Fogel, G.B.; Porto, V.W.; Weekes, D.G.; Griffey, R.H.; Mcneil, J.A.; Lesnik, E.; Ecker,
D.J.; Sampath, R. (2002), Discovery of RNA structural elements using evolutionary
computation, Nucleic Acids Research, v.30, n 23, p. 5310-5317.
[7] Satrom, P.; Sneve, R.; Kristiansen, K.I; Snove, O.; Grnfeld, T.; Rognes, T.; Seeberg,
E. (2005), Predicting non-coding RNA genes in Escherichia Coli with boosted genetic
programming, Nucleic Acids Research, v.33, n 10, p. 3263-3270.
[8] Walker J.D.; File, P.E.; Miller, C.J.; Samson, W.B. (1994), Building DNA maps, a
genetic algorithm based approach, Advances in molecular bioinformatics. S. Schulze-
75
[10] Fogel, G.B.; Weekes, D.G.; Varga, G.; Dow, E.R; Harlow, H.B.; Onyia, J.E.; Su, C.
(2004) Discovery of sequence motifs related to coexpression of genes using evolutionary
computation, Nucleic Acids Research, v. 32, n 13, p. 3826-3835.
[11] Azevedo, F.M. (1999), Algoritmos genticos em redes neurais artificiais, V Escola
de Redes Neurais, promoo: Conselho Nacional de Redes Neurais ITA, So Jos dos
Campos, SP.
[12] Barreto, J.M. (1996), "Conexionismo e a Resoluo de Problemas", Titular Professor
Contestissertation, Departamento de Informtica e Estatstica, UFSC, Florianpolis, SC.
[18] Koza, J.R. (1995), Survey of genetic algorithms and genetic programming, Proc. of
Wescon 95, IEEE Press, p. 589-594.
[19] Zuben, F.J.V. (2000), Computao evolutiva: uma abordagem pragmtica, Tutorial:
Notas de aula da disciplina IA707, DCA/FEEC/Unicamp.
[20] SILVA, H. A. (2007), Treinamento Seletividade de Sistemas Eltricos, Relatrio
Marco 8, Projeto P&D Endesa Fortaleza\UFJF e UFRJ
[21] VAMP (2007), VAMP 210 Rel de Proteo de Geradores Instrues de
Operao e Configurao
76
[22] Institute of Electrical and Electronic Engineers (IEEE) (2001), IEEE Std 242-2001
Recommended Practice for Protection and Coord. of Industrial and Commercial Power
Systems - IEEE Buff BookT
[23] MANTOVANI, Jose Eduardo (2006), Sistema Inteligente para Alocao,
Especificao, Coordenao e Seletividade da Proteo em Redes Areas de Distribuio
de Energia Eltrica,XVII Seminrio Nacional de Distribuio de Energia Eltrica Belo
Horizonto/MG
[24] International Electrotechnical Commission (IEC) (1989), IEC 60255-3 Electrical
relays - Part 3: Single input energizing quantity measuring relays with dependent or
independent time
[25] GARCIA, P. A. N. (2007), Sistemas Inteligentes Aplicados Confiabiliade e
Seletividade de Plantas Termeltricas, Relatrio Marco 7, Projeto P&D Endesa
Fortaleza\UFJF e UFRJ
77