17.04.2015 Views

Diplomska naloga (.pdf)

Diplomska naloga (.pdf)

Diplomska naloga (.pdf)

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

3.3 Genetski algoritmi za problem večplastnega absorberja 28<br />

end;<br />

//Narišemo grafe odbojnosti najboljših štirih osebkov.<br />

plot(P 1,2,3,4 );<br />

3.3.1 Določitev začetne populacije<br />

Začetna populacija oz. prva generacija je sestavljena iz naključnih osebkov. Za<br />

zapis populacije smo uporabili seznam matrik. Vsaka matrika predstavlja en osebek<br />

populacije. Vsaka vsebuje dve vrstici, pri čemer prva vrstica shranjuje podatke o<br />

materialih po plasteh absorberja, druga pa podatke o debelini posamezne plasti.<br />

S funkcijo, ki generira začetno populacijo, smo naredili seznam matrik ustreznih<br />

velikosti in jih napolnili z naključnimi števili med 0 in 1. Ta števila smo ustrezno<br />

popravili v oznake materialov in debeline posameznih plasti:<br />

material j = ⌊rm j ·št_materialov + 1⌋,<br />

debelina j<br />

= rd j ·max_debelina,<br />

pri čemer rm in rd predstavljata naključni števili med 0 in 1. V primeru, da je<br />

posamezna plast tanjša od 0.1 mm, smo debelino plasti postavili na 0 mm. Debelina<br />

0.1 mm namreč predstavlja mejo, do katere je plast še možno izdelati.<br />

Začetno populacijo smo zgradili na dva načina. Z nastavitvijo parametra zacetna<br />

na ’Zacetna1’ naredi funkcija Populacija populacijo osebkov, katerih debelina celotnega<br />

absorberja je manjša od izbrane debeline. Z nastavitvijo parametra zacetna<br />

na ’Zacetna2’ pa naredi populacijo osebkov, za katere velja, da je posamezna plast<br />

absorberja tanjša od izbrane debeline. V prvem in drugem primeru max_debelina<br />

predstavlja največjo možno debelino posamezne plasti, le da se v prvem primeru ta<br />

tekom izdelave posameznih plasti absorberja ustrezno manjša.<br />

3.3.2 Kriterijska funkcija<br />

S kriterijsko funkcijo ocenimo kakovost osebkov v populaciji. Kakovost osebkov se<br />

v našem primeru odraža preko odbojnosti. Odbojnost izražamo v dB, zato bolj kot<br />

je negativna, manjši je odboj. S kriterijsko funkcijo preverimo, ali osebki ustrezajo<br />

dopustnim pogojem, torej ali dosegajo zahtevano odbojnost pri danih frekvencah.<br />

Če ustrezajo, ocenimo, koliko je posamezen osebek dejansko dober glede na naše<br />

želje (iskanje čim širšega frekvenčnega območja na danem frekvenčnem intervalu,<br />

iskanje čim tanjšega absorberja).<br />

V optimizaciji za vsak osebek posebej izračunamo odbojnost pri posameznih frekvencah<br />

z izbranega intervala in preverimo, ali osebek zadosti dopustnim pogojem.<br />

Pri optimizaciji po širini frekvenčnega pasu v primeru, da osebek zadosti dopustnemu<br />

pogoju (pri izbrani frekvenci ne preseže določene odbojnosti), preštejemo<br />

število tabeliranih frekvenčnih vrednosti levo in desno od izbrane, ki pogoju še<br />

zadoščajo. To število vrnemo kot vrednost kriterijske funkcije posameznega osebka.<br />

Dopustni pogoj preverjamo okoli izbrane frekvence na delovnem intervalu. Tako

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

Saved successfully!

Ooh no, something went wrong!