Escolar Documentos
Profissional Documentos
Cultura Documentos
Introdução
1
Princı́pios Básicos de Simulated Annealing
2
O Algoritmo de Metrópolis
3
Portanto, um material que está a 0oK têm to-
das suas moléculas no estado (nı́vel) funda-
mental de energia. Para outro valor de temperatu-
ra T , as moléculas ocupam diferentes nı́veis de energia
mantendo uma distribuição decrescente, isto é, no esta-
do fundamental existem sempre mais moléculas e esse
número diminui nos seguintes nı́veis de energia. Um au-
mento de temperatura significa a passagem de algumas
moléculas para nı́veis superiores de energia. Este proces-
so é adequadamente analisado pela mecânica estatı́stica.
Deve-se observar que o número de moléculas em movi-
mento num material é muito grande.
4
O algoritmo de Metrópolis gera uma sequência de es-
tados de um sólido, isto é, dado um sólido num estado i
e com energia Ei, gera-se o estado seguinte j mediante a
aplicação de um mecanismo de transição através de um
pequeno distúrbio. A energia do próximo estado é Ej ; se
a diferença de energia Ej - Ei é menor ou igual a zero,
o estado j é aceito. Se a diferença de energia é maior que
zero, o estado j é aceito com certa probabilidade, a qual
é dada como:
E −E
{ ki T j }
e b
5
Se a diminuição da temperatura é feita de maneira
paulatina, o sólido pode alcançar o estado de equilı́brio
em cada nı́vel de temperatura. No algoritmo de Metrópo-
lis esta condição é encontrada após gerar um grande
número de transições num dado nı́vel de temperatura.
Para cada valor de temperatura T, o sólido deve atingir
um equilı́brio térmico, caracterizado pela probabilidade
de estar num estado i com energia Ei dado pela dis-
tribuição de Boltzmann:
1 −E
( K Ti )
PT {X = i} = e b
Z(T )
6
Algoritmo de “Simulated Annealing” (SA)
7
Na figura 6.1 é mostrada a estrutura básica do algorit-
mo SA. Neste algoritmo, aplica-se uma ação combinada
do mecanismo de geração de alternativas e do critério
de aceitação. Tk é o parâmetro de controle ou temper-
atura e Nk é o número de alternativas geradas na k-
ésima iteração do algoritmo. Inicialmente quando T
é grande, grandes deteriorações da função ob-
jetivo podem ser aceitas; quando T decresce,
somente pequenas deteriorações são aceitas e
finalmente quando T tende a zero, nenhuma
deterioração é aceita. Esta caracterı́stica faz com
que o algoritmo SA seja diferente em relação aos algorit-
mos de busca local como os algoritmos heurı́sticos con-
strutivos.
A partir do estado i com custo f(i) gera-se o estado viz-
inho j com custo f(j) usando um mecanismo de geração
de vizinhança. O critério de aceitação determina se este
novo estado é aceito; assim deve-se calcular a seguinte
probabilidade:
1 se ↔ f (j) ≤ f (i)
PT {aceitaj } =
f (i)−f (j)
e( T )
se ↔ f (j) > f (i)
8
Algoritmo “Simulated Annealing”;
inicia
inicializar (T0 , N0 );
k := 0;
configuração inicial Si
repetir o procedimento
do L := 1 to Nk
gere (Sj de Si );
caso contrário
f (i)−f (j)
if exp Tk
> random[0, 1] faça Si := Sj ;
end do;
k := k + 1;
Critério de parada
termina;
9
Analogia Fı́sica e Simulated Annealing
10
Programa de Esfriamento
Temperatura inicial.
Taxa de esfriamento ou de diminuição de temperatu-
ra.
Número de tentativas de transição em cada nı́vel de
temperatura.
Critério de parada.
11
Existem muitas formulações matemáticas que
justificam a escolha desses parâmetros de con-
trole do programa de esfriamento da maneira
mais adequada. Na verdade, a escolha dos parâmetros
de controle já é um problema complexo. Entretanto, to-
dos os argumentos matemáticos estão baseados na su-
posição de que o processo deve atingir o quase-equilı́brio
em cada nı́vel de temperatura o que teoricamente leva
a uma exigência de esforço computacional muito eleva-
do para a maioria dos problemas de aplicações reais.
Na prática, esses parâmetros são calibrados
empiricamente para cada tipo de problema e
para esforços computacionais não proibitivos.
O algoritmo de simulated annealing foi desenvolvi-
do a partir da analogia com a construção de cristais
perfeitos na fı́sica. Entretanto, é possı́vel eliminar essa
origem na análise teórica do algoritmo SA. Toda a teo-
ria básica sobre SA pode ser reformulada us-
ando a teoria de processos estocásticos através
de cadeias de Markov.
12
SA Aplicado ao Problema de Planejamento
13
A Representação do Problema
ij i
s.a. B(γ eq + γ )θ + g + r = d
o
15
Na verdade, a formulação (6.1) já é uma modificação
do problema de planejamento que na sua formulação
original somente leva em conta os custos dos circuitos
adicionados na função objetivo. Entretanto, nessa for-
mulação original seria muito difı́cil e pouco eficiente im-
plementar um algoritmo de SA pois essa formulação ap-
resenta três grandes limitações:
16
A vantagem de usar a formulação (6.1) em
que a função objetivo tem um termo corre-
spondente a penalidade devido ao corte de
carga. O motivo da escolha é que esta formulação não
apresenta os problemas anteriormente mencionados, ap-
resentando uma grande flexibilidade para realizar tran-
sições através de configurações factı́veis e infactı́veis com
pequeno corte de carga. Nesta formulação, qualquer con-
figuração candidata ou proposta de adição de circuitos,
nkij , é “factı́vel” para a formulação (6.1), isto é, as con-
figurações que apresentam e não apresentam corte de
carga. Assim, o espaço das configurações factı́veis foi
acrescido para facilitar o processo de transição.
17
Por outro lado, o processo deve priorizar as
configurações e regiões factı́veis do problema
original, isto é, das regiões sem corte de carga. Este
objetivo é atingido de duas maneiras complementares:
18
Configuração Tı́pica
19
Nas figuras 6.3, 6.4, 6.5 e 6.6 são mostradas 4 con-
figurações do sistema de 6 barras de Garver onde são
mostradas configurações obtidas em diferentes estágios
do processo de transições do algoritmo SA. Assim, por
exemplo, a figura 6.5 representa a seguinte configuração:
1-2 1-3 1-4 1-5 1-6 2-3 2-4 2-5 2-6 3-4 3-5 3-6 4-5 4-6 5-6
n = 0 0 0 0 0 0 0 0 2 0 0 0 0 2 0
20
As figuras 6.3, 6.4, 6.5 e 6.6 representam a configu-
ração base, a configuração ótima, uma configuração com
corte de carga e uma configuração sem corte de carga
e com excesso de circuitos, respectivamente. Portanto,
as topologias das figuras 6.3, 6.4 e 6.6 são representadas
(codificadas) da seguinte forma:
1-2 1-3 1-4 1-5 1-6 2-3 2-4 2-5 2-6 3-4 3-5 3-6 4-5 4-6 5-6
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 4 0 1 0 0 2 0
0 0 0 0 0 1 0 0 4 0 1 0 0 3 0
21
g1 = 50 g1 = 50
t
r5 = 240 t t
240 80 240 80
? 65 - 37,903 ? 6 1 6
5 52,999 ? 6 1
n35 = 1
g3 = 165 g3 = 165
t 37,903 t 187,001
? 3 5.645 ? 3 51,251
? ?
40 40
H H
HH87,097 HH62,001
H
Hj r = 145
H HH
H 2 t Y
HH
HH HH
240 2,258 ? 240 31,748 6
? 62 6
2
w = 545 w = 0, 0
v1∗ = 0 @ v1∗ = 200 @
@ 2,258 @
@ @3,630
@@
I
@ n26 = 4 356,882 @@
R
@
@ @
@ @
r4 = 160@t
@ - 188,118 @
@
6 ? 4 6 4
n46 = 2
t6g6 = 0 160 ? t6
g6 = 545 160 ?
r5 = 120, 469 g1 = 50 g1 = 50
t t t
240 80 240 80
? 65 19,531 ?6 1 6
5 47,117 ?6 1
n35 = 1
g3 = 165 g3 = 165
t 100 t 192,883
? 3 27,734 ? 3 41,634
?
40 ?
40
HH 25 HHH
HH H H67,883
j r2 = 37, 77
H
H HH
HH t n23 = 1HHY
H
HHH
H
H H
H
240 21,797 6 240 35,483 6
? 62 6
2
w = 158, 239 w=0
v1∗ = 120 @ v1∗ = 250 @
@ @
@4,964 @11,592
n26 = 2 200 @@I
@ n26 = 4 337,925 @@
I
@
@ @
@ @
- 186,761 @
@ - 207,075 @
@
6 n46 = 2 4 6 n46 = 3 4
t6 160 ? t6
g6 = 545 160 ?
g6 = 386, 761
Figura 6.5: Configuração com corte de carga. Figura 6.6: Configuração sem corte de carga.
22
Mecanismo de Transição
23
Estrutura de vizinhança
A estrutura de vizinhança é o mecanismo
que permite gerar uma configuração candida-
ta nk+1
ij a partir da configuração corrente, nkij .
Um mecanismo de geração simples, que chamamos
mecanismo básico de transição , pode ser facil-
mente implementado. Assim, podem ser caracterizados
três tipos simples de obtenção de uma configuração can-
didata a partir da configuração corrente:
24
Este mecanismo gera as novas alternativas na sequência
adição-troca-retirada:
25
No esquema anterior, cada vez que o pro-
cesso volta ao item 1, o contador de iterações
para o nı́vel de temperatura Tk deve ser incre-
mentado em 1, até atingir o limite de Nk ; de-
pois o processo deve passar ao seguinte nı́vel
de temperatura. Entretanto, pode-se verificar que
para cada iteração controlada por Nk são realizadas até três
tentativas. Assim, no esquema anterior, é evidente que
para um determinado nı́vel de temperatura a quantidade
de tentativas para a obtenção de novas configurações
está dentro do intervalo [Nk , 3 × Nk ].
A sequência de operações é adição-troca-retirada, is-
to é, primeiro tenta-se a adição de um circuito, depois a
troca e finalmente a retirada de um circuito. No proble-
ma de planejamento o processo se inicia geralmente com
um corte de carga muito grande o que, intuitivamente,
levaria à conclusão de priorizar a adição de circuitos; en-
tretanto, uma vez obtida uma configuração sem corte de
carga é evidente que a prioridade seria a de retirar cir-
cuitos. Baseados nos argumentos anteriores, a sequência
de adição-troca-retirada deve ser invertida em determi-
nados momentos do processo a fim de melhorar o desem-
penho do algoritmo.
26
O mecanismo básico de transição deve ser implementa-
do de maneira eficiente com sequência trocada: adição-
troca-retirada quando a configuração corrente apre-
senta corte de carga maior que uma tolerância especifi-
cada wo, onde deve ser priorizada a adição de circuitos;
ou retirada-troca-adição quando a configuração cor-
rente apresenta um corte de carga menor que uma tol-
erância especificada wo, e portanto deve ser priorizada a
retirada de circuitos.
A primeira sequência é acionada mais frequentemente
nas fases iniciais do processo onde o corte de carga é el-
evado e a segunda sequência nas fases finais onde prati-
camente todas as configurações com corte de carga são
rejeitadas. Este mecanismo básico de transição apresen-
ta a vantagem de sua simplicidade e a possibilidade de
implementar um eficiente algoritmo de PL para calcular
rapidamente o corte de carga da configuração candida-
ta a partir da solução da configuração corrente, como
será mostrado mais adiante; entretanto, apresenta limi-
tações para sistemas de grande porte com muitas barras
não conexas.
27
Um mecanismo de geração de configurações
mais elaborado deve levar em conta a topolo-
gia da rede elétrica, assim o processo de adição
e retirada de circuitos em novos caminhos deve
garantir a conectividade do sistema, evitando
que sejam adicionados circuitos ineficientes ou
retiradas de circuitos em novos caminhos que
deixem outros circuitos sem possibilidade de
transportar energia elétrica. Em sistema grandes
e complexos, como o Norte-Nordeste brasileiro, às vezes
é necessária a adição de 3 a 6 circuitos sucessivos, cone-
tados em série, para garantir a conectividade do sistema.
28
Avaliação da função objetivo
i
s.a. B(xk + γ o)θ + g + r = d
(xkij + γijo ) |θi − θj | ≤ (xkij + γijo )φij
0≤g≤g
0≤r≤d
θj irrestrito
exp(− ∆v
T ) se ∆v ≥ 0
30
O Programa de Esfriamento
31
Temperatura inicial, To
+
∆V
To = m2 (6.4)
ln( m2Xo−m 1 (1−Xo )
)
32
Outra forma de determinar o valor de To é é obtida
usando a relação:
µ
To = f (xo) (6.5)
−Lnφ
em que é aceita φ % das vezes uma solução que é µ % pior
que a função objetivo da solução inicial f (xo) durante o
primeiro nı́vel de temperatura.
Exemplo 6.1 Encontrando To:
Em um problema de otimização, pretende-se aceitar
em φ = 13 % das vezes soluções cujas funções objetivo
são até µ = 1 % piores que a função objetivo da solução
inicial cujo valor é igual a f (xo) = 100000. Pretende-se
encontrar To.
Usando (6.5) temos seguinte:
0, 01
To = (100000) = 490
−Ln(0, 13)
33
Exemplo 6.2 Prove a relação (6.5):
Uma configuração cuja função objetivo f (xc) é µ %
pior que f (xo) é a seguinte:
Da definição de φ temos:
c o
f (x ) − f (x )
φ = exp −
To
34
Escolha de Nk
Nk constante:
Nk+1 = No (6.6)
Nk variável: ρ ≥ 1, 0
35
Determinação de Tk+1
Tk
Tk+1 = ln(1+δ)Tk (6.9)
[1 + 3σ(Tk ) ]
Tk
Tk+1 = λTk (6.10)
exp( σ(T ))
k
36
em que o novo valor de Tk+1 também depende do desem-
penho do processo, de maneira similar que na relação
(6.9).
37
Observação: Para o problema de planejamento de
sistemas de transmissão, as relações (6.9) e (6.10) ap-
resentam desempenhos similares aos obtidos usando a
relação (6.8) em relação a qualidade das configurações
encontradas, mas o número de iterações necessário para
convergência cresce de maneira proibitiva. A influência
dos parâmetros δ e λ assim como de σ(Tk ) é peque-
na e produzem taxas de diminuição de temperaturas
variáveis, mas elevadas, variando entre 0,94 e 0,99. Por-
tanto, resultados experimentais indicam que é mais prático
usar a relação (6.8) com uma adequada calibração dos
parâmetros o que foi verificado experimentalmente no
problema de planejamento de sistemas de transmissão.
38
Critério de parada:
39
Para problemas grandes e complexos, especialmente
aqueles que resolvem subproblemas subsidiários que re-
querem elevado esforço computacional como a maior-
ia dos problemas de sistemas elétricos de potência, o
critério de parada deve estar determinado pe-
lo número de subproblemas resolvidos e da
evolução do processo. Portanto, uma proposta de
critério de parada mais objetiva para o problema de
planejamento de sistemas de transmissão pode ser a seguinte:
40
Algoritmo de “Simulated Annealing”
Implementado
41
Determine a temperatura inicial
To
?
Defina os outros parâmetros de
controle: ρ, β, µ, ωo , εw
Nk = No = µ.Nt
?
MECANISMO DE TRANSIçãO
de transição
?
HH
Foi HH
H H
Parâmetros
satisfeito o HH N
H -
HH critério de parada ?
H
HH
Nk+1 e Tk+1
HH
H
H
S
?
Entrar na fase de
melhoramento local (opcional)
?
pare
42
1. Determinar a temperatura inicial: To.
2. Escolher ou calcular os parâmetros de controle (β, ρ, etc.)
usados nas relações (6.8)-(6.10), assim como também
o parâmetro µ, usado para definir o número de it-
erações na temperatura inicial, obtida através da relação
No = µ.Nt, onde Nt é o número de variáveis do sis-
tema, isto é, o número de circuitos candidatos. Es-
colha também wo que define o corte de carga para
fazer a seqüência adição-troca-retirada de circuitos
ou vice-versa . Valores tı́picos para wo estão na faixa
de 0,3 % a 1,0 % da demanda total do sistema e
εw é o mı́nimo corte de carga permitido para que
a configuração seja considerada factı́vel. Em termos
de planejamento de sistemas de transmissão foram
usados valores de εw da ordem de 0,1 % a 0,3 % da
demanda total do sistema.
3. Incrementar o contador de iterações ncon. Se ncon ≥
Nk ir ao passo 7; caso contrário, ir ao passo 4.
4. Se o corte de carga corrente wk for menor que wo, ir
ao passo 5; caso contrário, ir ao passo 6.
a) Obter uma configuração candidata simulando a
retirada de um circuito i aleatoriamente escolhi-
do; com a configuração candidata, assim obtida,
processar um PL e testar sua aceitação usando
(6.3). Se for aceita, atualize a configuração cor-
43
rente e as outras grandezas do processo (função
objetivo corrente, melhor configuração encontra-
da (incumbente), etc.) e volte ao passo 3; caso
contrário, ir a 5(b).
b) Obter uma configuração candidata simulando a
troca do circuito i com um circuito j aleatoria-
mente escolhido; com a configuração candidata,
assim obtida, processar um PL e testar sua acei-
tação usando (6.3). Se for aceita, atualize a con-
figuração corrente e as outras grandezas do pro-
cesso e volte ao passo 3; caso contrário, ir a 5(c).
c) Obter uma configuração candidata simulando a
adição do circuito j aleatoriamente escolhido; com
a configuração candidata, assim obtida, processar
um PL e testar sua aceitação usando (6.3). Se
for aceita, atualize a configuração corrente e as
outras grandezas do processo. Em qualquer caso,
volte ao passo 3.
5. Idem ao passo 5 com a seqüência trocada:
a) Simular a adição de um circuito. Se a configu-
ração for aceita, volte ao passo 3; caso contrário,
ir a 6(b).
b) Simular a troca de circuitos. Se a configuração for
aceita, volte ao passo 3; caso contrário, ir a 6(c).
c) Simular a retirada de um circuito. Em qualquer
44
caso, volte ao passo 3.
6. Testar o critério de parada: se o critério for satisfeito,
ir ao passo 8; caso contrário, ir ao passo 7.
7. Atualizar os parâmetros de controle: Nk+1 e Tk+1 e
voltar ao passo 3.
8. O processo de SA foi concluı́do, entrar na fase de
melhoramento local (busca local) e parar o processo.
45
O melhoramento local (busca local) pode ser um pro-
cesso muito rápido, pois nesta fase somente são tes-
tadas aquelas configurações candidatas que produzem
redução do investimento, portanto, somente são consid-
erados para avaliação os seguintes casos:
47
Processador Processador Processador Processador Processador Processador Processador Processador
1 2 3 4 5 6 7 8
r
r
r
r
r
48