10.02.2014 Views

Usporedba heurističkih algoritama na problemima ... - Zemris - FER

Usporedba heurističkih algoritama na problemima ... - Zemris - FER

Usporedba heurističkih algoritama na problemima ... - Zemris - FER

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

3. Optimiranje realnih funkcija jedne varijable<br />

3.1 Prikaz realnog broja pomoću bi<strong>na</strong>rnog vektora<br />

Kod uspoređivanih heurističkih <strong>algoritama</strong>, osim kod penjanja uzbrdo, koristi se bi<strong>na</strong>rni<br />

x ∈ dg,<br />

gg .<br />

vektor za prikaz realnog broja, koji predstavlja kodiranu vrijednost [ ]<br />

Vektor čiji su svi bitovi postavljeni <strong>na</strong> nulu predstavlja donju granicu intervala a vektor sa<br />

svim jedinicama gornju granicu. Toč<strong>na</strong> pretvorba kromosoma u realni broj izvodi se prema<br />

relaciji<br />

x dg b<br />

= +<br />

( ) ( gg − dg )<br />

n<br />

2 − 1<br />

pri čemu je dg donja granica intervala, gg gornja granica a b broj kojeg predstavlja<br />

kromosom. Obrnuto, pretvorba realnog broja x u kromosom – bi<strong>na</strong>rni zapis izvodi se prema<br />

relaciji:<br />

x − dg n<br />

b = ( 2 − 1 ) .<br />

gg − dg<br />

,<br />

Broj bitova izraču<strong>na</strong>va se prema relaciji<br />

[<br />

p<br />

log ( gg − dg) * 10 + 1 ]<br />

n ≥<br />

log 2<br />

.<br />

3.2 Optimiziranje funkcija primjenom heurističkog algoritma<br />

penjanje uzbrdo<br />

3.2.1 Opis heuristike<br />

Heuristika (xsd, xsg) {<br />

razdijeli interval [xsd, xsg] <strong>na</strong> n ekvidistantnih dijelova<br />

početak svakog intervala i kraj zadnjeg su kandidati<br />

odaberi <strong>na</strong>jboljeg kadidata i zapamti njegove susjede<br />

return (<strong>na</strong>jbolji kandidat)<br />

}<br />

Algoritam Penjanje_uzbrdo_OptFje(n){<br />

Y=Heuristika (dg, gg);<br />

Xbest=Y;<br />

searching=true;<br />

while (searching) {<br />

Y=Heuristika (xsd, xsg);<br />

if Profit(Y) > Profit(Xbest) then Xbest=Y;<br />

else searching=false;<br />

}<br />

return (Xbest);<br />

}<br />

Algoritam 3.1 Heuristički algoritam penjanje uzbrdo primijenjen <strong>na</strong> optimiranje funkcija<br />

7

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

Saved successfully!

Ooh no, something went wrong!