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.2 <strong>Métodos</strong> Heurísticos 25<br />
N(s) ⊂ S, que contém soluções vizinhas <strong>de</strong> s, e a melhor solução encontrada é escolhida.<br />
Esse processo se repete enquanto soluções melhores forem obtidas. Caso nenhuma<br />
solução melhor que a atual seja encontrada, tem-se um ótimo local e a busca termina.<br />
Embora seja possível que o ótimo local encontrado seja também um ótimo global, isso<br />
não é garantido pelo método.<br />
De maneira formal, o algoritmo geral <strong>de</strong> busca local é dado por:<br />
Definição 2.16 Dada uma instância (S,c) <strong>de</strong> um problema <strong>de</strong> otimização, em que S é um<br />
conjunto factível e c é o custo do mapeamento, a vizinhança é dada por N : S −→ 2 S em<br />
que se busca um ponto s ′ ∈ S a partir da sub-rotina:<br />
melhorar(s) =<br />
<br />
s ′ ∈ N(s) | c(s ′ ) < c(s)<br />
s, se não existe s ′ ∈ N(s) | c(s ′ ) < c(s)<br />
Um conceito importante da busca local é a função <strong>de</strong> vizinhança, pois ela espe-<br />
cifica, para cada solução, quais soluções são em algum aspecto ou proprieda<strong>de</strong> próximas<br />
e <strong>com</strong> isso direciona a busca. Essa proximida<strong>de</strong> po<strong>de</strong> ser medida pela quantida<strong>de</strong> <strong>de</strong> va-<br />
riáveis <strong>com</strong> valores iguais nas soluções, mas também po<strong>de</strong> ser medida utilizando outras<br />
métricas. Em cada iteração ocorre a movimentação pelo espaço <strong>de</strong> soluções em que um<br />
conjunto N(s) é avaliado, e alguma solução s ′ ∈ N(S) é escolhida, ou seja, todo vizinho<br />
s ′ ∈ N(S) é alcançado pela solução s através da operação chamada <strong>de</strong> movimento. Na<br />
Figura 2.2, para uma solução s, existem alguns vizinhos <strong>de</strong> s representados por s1,s2,s3 e<br />
s4.<br />
Figura 2.2: Exemplos <strong>de</strong> possíveis movimentos sobre a vizinhança<br />
<strong>de</strong> s.<br />
O procedimento geral da busca local é mostrado no Algoritmo 2.1. É um algo-<br />
ritmo básico <strong>de</strong> busca local, conhecido <strong>com</strong>o algoritmo <strong>de</strong> melhoria iterativa (Iterative<br />
Improvement Algorithm ou Hill Climbing Algorithm). Primeiro, o algoritmo inicia <strong>com</strong><br />
uma solução inicial factível s ′ ∈ S que po<strong>de</strong> ser gerada aleatoriamente ou criada através<br />
<strong>de</strong> uma heurística construtiva. A partir <strong>de</strong> uma solução inicial, a cada iteração o algoritmo<br />
busca na vizinhança da solução atual uma solução <strong>com</strong> menor custo. Se uma solução é<br />
encontrada, ela se torna a atual solução e o processo continua, caso contrário, a solução<br />
atual é um ótimo local e o algoritmo pára.