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.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.

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

Saved successfully!

Ooh no, something went wrong!