05.08.2013 Views

M.Sc. thesis - Fei

M.Sc. thesis - Fei

M.Sc. thesis - Fei

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

onde:<br />

δ =<br />

<br />

(2r) 1/(ηm+1) − 1, se r < 0.5<br />

1 − [2(1 − r)] 1/(ηm+1) , se r ≥ 0.5 , (3.7)<br />

e r é um número aleatório de distribuição uniforme no intervalo 0 ≤ r < 1.<br />

3.2 Algoritmos Evolucionários de Múltiplos Objetivos<br />

Algoritmos Evolucionários de Múltiplos Objetivos (Multi-Objective Evolutionary Algorithms<br />

MOEA), de acordo com Coello (2006), surgiram pela primeira vez em 1983 por David <strong>Sc</strong>ha-<br />

efer através de seu Vector Evaluated Genetic Algorithm (VEGA), Algoritmo 3. Este MOEA<br />

consiste de um GA com um mecanismo de seleção modificado: A cada geração sub-populações<br />

são criadas para cada objetivo e sobre estas sub-populações é aplicada seleção proporcional. Estas<br />

sub-populações são embaralhadas após a seleção e então aplica-se cruzamento e mutação de modo<br />

usual. VEGA possui a habilidade de reter soluções acima da média e boas candidatas à Fronteira<br />

de Pareto, mas conforme GOLDBERG as solucões extremas de cada objetivo são perdidas, restando<br />

somente as soluções próximas ao centro da Fronteira de Pareto. Nesta crítica ao VEGA, Goldberg<br />

(1989, p. 199–201) propõe originalmente a utilização de dominância Pareto para MOEAs aplicados<br />

a problemas de múltiplos objetivos.<br />

Algoritmo 3: Vector Evaluated Genetic Algorithm (SCHAFFER, 1984 apud DEB, 2001, p. 179–<br />

184)<br />

início<br />

t = 0<br />

para cada i,1 ≤ i ≤ n faça<br />

/* n = 〈tamanho da populaç~ao〉 */<br />

inicialize xi ∈ P(t)<br />

q = n/m /* m = 〈número de objetivos〉 */<br />

enquanto ¬ término faça<br />

embaralhe P(t)<br />

divida P(t) em q subpopulações<br />

para cada j,1 ≤ j ≤ q faça<br />

para cada i,1 ≤ i ≤ q faça<br />

avalie a aptidão f j<br />

i (xi)<br />

faça seleção proporcional em P j (t) armazenenando em O j (t)<br />

O(t) = q<br />

j=1 O j (t)<br />

aplique cruzamento e mutação em O(t)<br />

P(t + 1) = O(t)<br />

t = t + 1<br />

29

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

Saved successfully!

Ooh no, something went wrong!