Be straight

Be straight

субота, 16. октобар 2010.

Moć računarske simulacije

Kombinacija mogućnosti generisanja slučajnih brojeva sa programskim jezicima dovodi nas do veoma moćnih analitičkog alata.
Razmotrimo model reda čekanja u banci, gde klijenti dolaze, bivaju usluženi i odlaze. Znamo da matematički rešivi problemi zahtevaju vrlo precizne pretpostavke: vremena dolazaka i usluga moraju biti bez memorije (nezavisna jedna od drugih), red mora biti beskonačnog kapaciteta, klijent ne sme da se preskoči ili da odustane i tako dalje. Pored toga, možemo da analiziramo samo dugoročno ponašanje sistema, a ne bilo kakvo ponašanje u prelaznom režimu.
U stvarnosti, ni jedna od ovih pretpostavki nije potpuno ispunjena. Više ljudi dolazi u banku u vreme pauze za ručak, nego u druga vremena. Red čekanja je na početku, u trenutku otvaranja banke, prazan, a isto tako mora i da se izprazni na kraju radnog vremena, klijenti se preskaču ili odustaju sve vreme, često bez nekog razloga koji bi se mogao identifikovati, a gotovo je nemoguće imati servere koji ne pamte.
Simulacija može sve ovo da modeluje, pa i mnogo više. Ona je ograničena jedino u vremenu koje želite da potrošite da biste došli do potrebnih podataka i da biste ih programirali u simu-latoru. Da li se Vaš službenik na šalteru zamori u jedan popodne? Simulirajte! Da li klijenti manje odustaju u podne (pre ručka) nego u pet do jedan (posle ručka) ? Simulirajte! Možete u Vaš model sveta uključiti sve što hoćete. Vaši troškovi prikupljanja podataka mogu da budu ogromni, ali zato možete lepo da spakujete u model sve štoVam se dopada.
Suočeni sa takvom moći, zašto bi radili bilo šta drugo osim simulacije? Mnogi će reći: "I ne-mojte. Koristite simulaciju za sve." Medjutim, bolji odgovor je: "Nemojte koristiti simulaciju za sve." Problemi sa simulacijama, posebno sa onim velikim i složenim, su sledeći:
Validacija: Kako možete utvrditi da je simulacija korektan model stvarnosti? Greške mogu da se uvuku na mnogo mesta. Napisani program može da ne odražava model. Modeli za slučajne promenljive mogu da budu pogrešni. Svaki statistički test ima ugradjene pretpostavke koje mogu, ali ne moraju biti ispunjene.
Rasplinutost izlaza: U analitičkom modelu možemo da utvrdimo takve stvari kao što je da ako je brzina opsluživanja jednaka brzini dolazaka klijenata, tada je red čekanja nestabilan (i teži beskonačnoj dužini). Simulacija ne bi bila u stanju da utvrdi te rezultate sa takvom tač-nošću. Statistička priroda izlaza čini teškim donošenje bilo kakvih čvrstih zaključaka.
Specifičnost rezultata: Simulacije obično važe za jedan sistem iz realnog sveta. Rezultati koji važe za jednu simulaciju često ne važe za druge, slične probleme.
Računarsko vreme: Količina računarskog vremena koja je potrebna da bi se dobili statistički pouzdani rezultati obično se veoma potcenjuje. Simulacija bez dobre statističke analize pred-stavlja čisto rasipanje ciklusa centralne procesorske jedinice.
Uopšteno govoreći, evo pravila za upotrebu simulacije:
Simulaciju bi trebalo upotrebiti kad god preovladjuje jedan ili oba od sledećih uslova:
• realni sistem ne zadovoljava dovoljno dobro pretpostavke koje zahtevaju odgovarajući analitički modeli ili
• odgovarajuće formulisani model nema analitičko rešenje.
Ukoliko se zaposlite u oblasti operacionih istraživanja, velike su šanse da će Vam već u prvoj godini tražiti da uradite neki simulacioni projekat, zato što je računarska simulacija tehnika operacionih istraživanja koja se najčešće koristi u praksi. Tu do punog izražaja dolazi i neop-hodno znanje iz statistike. U sledećim odeljcima, pozabavićemo se uobičajenim problemima koji se javljaju u simulaciji. Oni obuhvataju izbor ulazne raspodele i analizu izlaza simulacije.

Нема коментара:

Постави коментар