Condução de Experimentos Computacionais com Métodos ...
Condução de Experimentos Computacionais com Métodos ...
Condução de Experimentos Computacionais com Métodos ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
2.3 <strong>Métodos</strong> Metaheurísticos 31<br />
borhood Search (SVNS), que resolve o problema saindo <strong>de</strong> gran<strong>de</strong>s vales. Para gran<strong>de</strong>s<br />
instâncias, o algoritmo Variable Neighborhood De<strong>com</strong>position Search (VNDS) é imple-<br />
mentado em dois níveis, intercalando o VNS <strong>com</strong> aproximações sucessivas [45, 46].<br />
2.3.2 Simulated Annealing<br />
Simulated Annealing foi criado por Kirkpatrick et al. [58] em 1983. É uma<br />
técnica baseada em busca local, em que a busca é feita <strong>de</strong> maneira probabilística,<br />
pois utiliza probabilida<strong>de</strong>s para escolher uma solução vizinha. O objetivo <strong>de</strong> se utilizar<br />
probabilida<strong>de</strong>s está em tentar escapar <strong>de</strong> ótimos locais <strong>de</strong> baixa qualida<strong>de</strong>. Essa técnica<br />
também fundamenta-se em uma analogia <strong>com</strong> a termodinâmica, em um processo chamado<br />
recozimento físico <strong>de</strong> sólidos, que simula o resfriamento <strong>de</strong> um conjunto <strong>de</strong> átomos<br />
aquecidos. Foram utilizadas [72, 27, 58] <strong>com</strong>o referências básicas <strong>de</strong>ssa subseção.<br />
Como Simulated Annealing trabalha <strong>de</strong> forma probabilística, consi<strong>de</strong>re uma<br />
heurística <strong>de</strong> melhoria, on<strong>de</strong> uma solução vizinha <strong>de</strong> s é selecionada uniformemente<br />
<strong>de</strong> maneira aleatória na vizinhança N(s). Então, toda solução vizinha s ′ ∈ N(s) tem a<br />
probabilida<strong>de</strong> 1<br />
|N(s)| <strong>de</strong> ser escolhida, sendo que a primeira solução s′ gerada <strong>de</strong> melhor<br />
custo que s é aceita, ou seja, a solução s é substituída por s ′ . Se nesta busca aleatória<br />
soluções não-melhores forem aceitas, o método provavelmente conseguirá extrapolar a<br />
busca para além do primeiro ótimo local encontrado, contudo, a convergência em direção<br />
a bons ótimos locais ficará <strong>com</strong>prometida. Para resolver este problema <strong>de</strong> convergência<br />
utiliza-se um fator <strong>de</strong> <strong>de</strong>terioração da qualida<strong>de</strong> da solução, que não <strong>de</strong>ve ultrapassar um<br />
<strong>de</strong>terminado limite. Este limite é chamado <strong>de</strong> ∆ e é dado por ∆ = f (s ′ ) − f (s).<br />
O Algoritmo 2.3 <strong>de</strong>screve o funcionamento do Simulated Annealing. Primeiro, é<br />
gerada uma solução inicial (linha 1). A cada iteração é gerado aleatoriamente um único<br />
vizinho s ′ da solução corrente s (linha 6). Suponha um problema <strong>de</strong> minimização, ∆<br />
equivale a variação do valor da função objetivo quando é realizado um movimento na<br />
vizinhança, ou seja, ∆ = f (s ′ )− f (s). Se ∆ < 0 (linha 8), o movimento é aceito e a solução<br />
vizinha passa a ser a nova solução atual. Caso ∆ ≥ 0 (linha 11), s ′ também po<strong>de</strong> ser aceita,<br />
mas <strong>com</strong> probabilida<strong>de</strong> e −∆<br />
T , e T é um parâmetro do método que equivale a temperatura e<br />
que regula a probabilida<strong>de</strong> <strong>de</strong> aceitar soluções <strong>de</strong> pior custo.<br />
A temperatura T inicia <strong>com</strong> um valor alto T0 (linha 3). Após uma quantida<strong>de</strong> fixa<br />
<strong>de</strong> iterações, que representam quantas iterações são necessárias para o sistema atingir o<br />
equilíbrio térmico em uma dada temperatura, a temperatura é diminuída gradativamente<br />
por uma razão <strong>de</strong> resfriamento α, tal que Tk ← α × Tk−1, e 0 < α < 1 (linha 15). Este<br />
procedimento faz <strong>com</strong> que diminua a chance <strong>de</strong> entrar em mínimos locais. À medida em<br />
que T se aproxima <strong>de</strong> zero, o algoritmo <strong>com</strong>porta-se <strong>com</strong>o o método <strong>de</strong> <strong>de</strong>scida porque<br />
diminui a probabilida<strong>de</strong> <strong>de</strong> se aceitar movimentos <strong>de</strong> piora, pois <strong>com</strong>o T → 0, tem-se