09.05.2013 Views

Condução de Experimentos Computacionais com Métodos ...

Condução de Experimentos Computacionais com Métodos ...

Condução de Experimentos Computacionais com Métodos ...

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!