Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
1. UVOD<br />
Ekspanzija računarske industrije je doprinela napretku, ne samo<br />
programerskih, već i velikog broja srodnih matematičkih disciplina kao što su:<br />
kombinatorna optimizacija, numerička analiza, diskretna analiza, teorija<br />
algoritama, teorija konačnih automata. Iako većina ovih matematičkih disciplina<br />
nije direktno vezana za korišćenje računara, pravi smisao svog postojanja i<br />
primene su doživele tek u poslednjih pedesetak godina.<br />
Kombinatorna optimizacija beleži posebno brz napredak, pa je u ovom<br />
trenutku jedna od oblasti u kojoj se intenzivno <strong>rad</strong>i. Nagli razvoj računara je<br />
doneo mogućnosti testiranja programa na praktičnim primerima relativno velike<br />
dimenzije. Na taj način, ne samo što su rešavani problemi u praksi, već su<br />
dobijeni rezultati bili najčešće i predmet novog teorijskog razmatranja, koje je<br />
imalo za cilj da teorijski dokaže neke od praktičnih aspekata dobijenog rešenja.<br />
Dobijeni teorijski rezultati, potrebe industrije za sve boljim performansama pri<br />
rešavanju problema sve većih dimenzija i računarski resursi sposobni za<br />
skladištenje <strong>rad</strong>ikalno većeg broja podataka, generišu potrebu za potpuno<br />
novim metodama rešavanja, koje zatim ponovo generišu nove teorijske<br />
rezultate. Na taj način se zatvara krug, pri čemu se stalno poboljšava kako<br />
kvalitet rešenja, tako i teorijska zasnovanost metode.<br />
Često se dešava da pojedini algoritmi budu tako dobro projektovani i<br />
optimizovani pri implementaciji, da u dužem vremenskom intervalu daju odlične<br />
rezultate, koji su zadovoljavajući čak i za najzahtevnije korisnike. Međutim,<br />
kasnije se dimenzija datog problema u praktičnim primenama toliko poveća, da<br />
rešavanje tom metodom postaje sporo ili čak vremenski nedostižno. Zbog toga<br />
se stalno vrši poboljšavanje već postojećih, kao i neprekidna potraga za<br />
potpuno novim metodama. Navedimo samo neke od najpoznatijih: genetski<br />
algoritmi (genetic algorithms - GA), simulirano kaljenje (simulated annealing),<br />
neuralne mreže (neural networks), tabu pretraživanje (tabu search) i Lagrangeova<br />
relaksacija. Nešto detaljnije o ovim tehnikama će biti rečeno u narednim<br />
odeljcima.<br />
U nekim slučajevima je takođe moguće poboljšavanje performansi<br />
algoritama, njegovom paralelizacijom i implementacijom na višeprocesorskom<br />
računaru. Neke metode kombinatorne optimizacije su vrlo pogodne za<br />
paralelizaciju, kao na primer genetski algoritmi, pa je ubrzanje u odnosu na<br />
odgovarajući sekvencijalni algoritam ponekad čak blisko broju upotrebljenih<br />
procesora, što je teorijski optimum. U nekim primenama je višeprocesorski<br />
računar sastavljen od više personalnih računara povezanih u mrežu, pokazao<br />
zavidne performanse uz nisku nabavnu cenu ([Kon98]).