saobraĆajni fakultet-ramo fuško-programiranje u saobraćaju

13
SAOBRAĆAJNI FAKULTET SEMINARSKI RAD PROGRAMIRANJE U SAOBRAĆAJU TEMA: VRSTE PROGRAMIRANJA U SAOBRAĆAJU MENTOR: Prof.dr Muharem Kozić STUDENT: Ramo Fuško ASISTENT: Larisa Ramić BR. INDEXA: 15/09-I 1

Upload: mladen-stojanovic

Post on 21-Jan-2016

134 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: SAOBRAĆAJNI FAKULTET-Ramo Fuško-Programiranje u saobraćaju

SAOBRAĆAJNI FAKULTET

SEMINARSKI RAD

PROGRAMIRANJE U SAOBRAĆAJU

TEMA: VRSTE PROGRAMIRANJA U SAOBRAĆAJU

MENTOR: Prof.dr Muharem Kozić STUDENT: Ramo Fuško

ASISTENT: Larisa Ramić BR. INDEXA: 15/09-I

Travnik, septembar 2012.god.

1

Page 2: SAOBRAĆAJNI FAKULTET-Ramo Fuško-Programiranje u saobraćaju

SADRŽAJ:

UVOD ……………………….…………………………………………..…………3

1. PROGRAMIRANJE U SAOBRAĆAJU.…………………………………...42. VRSTE PROGRAMIRANJA U SAOBRAĆAJU.....………….………….....5

2.1. Dinamičko programiranje……………………………………………..62.2. Linearno (stohastičko) programiranje…………………………………72.3. Nelinearno programiranje……………………………………………...8

ZAKLJUČAK……………………………………………………………………....9 LITERATURA……………………………………………………………………10

2

Page 3: SAOBRAĆAJNI FAKULTET-Ramo Fuško-Programiranje u saobraćaju

UVOD

Programiranje je pisanje uputa računaru što i kako učiniti, a izvodi se u nekom od programskih jezika. Programiranje je umjetnost i umijeće u stvaranju programa za računare. Stvaranje programa sadrži u sebi pojedine elemente dizajna, umjetnosti, znanosti, matematike kao i inžinjeringa. Osoba koja stvara program zove se programer1.

Svaki programer piše programski kod u nekom programskom jeziku. Različiti programski jezici podržavaju različite stilove programiranja (programska paradigma). Različiti programski jezici zahtjevaju različite nivoe znanja, umijeća i detalja koje programer treba posjedovati.

Jedini programski jezik koji računar može direktno izvršavati je mašinski jezik (mašinski kod ili binarni kod). U počecima računarstva programeri su pisali u mašinskom kodu, što je bilo vrlo komplikovano i zamorno. Sljedeći korak u razvoju računarskog programiranja ogleda se u upotrebi simboličkih jezika, poznatih pod zajedničkim nazivom asembler. Asemblerski jezici sastoje se od jednostavnih instrukcija koje se direktno i jednoznačno mogu prevesti u mašinski kod koji se direktno izvršava. Iako mnogo pogodnije i od mašinskog programiranja, asemblersko programiranje karakteriše velika količina posla koju programer mora obaviti, zbog činjenice da su operacije i dalje elementarne. Zbog toga su stručnjaci stvorili programske jezike višeg nivoa pomoću kojih se piše izvorni kod koji se u mašinski kod prevodi posredstvom specijalnih programa - prevodilaca čiji je zadatak da prevede kod višeg programskog jezika u mašinski kod tzv. interpreter i kompajler.

Postoje dva tipa programiranja:

1. Strukturno . programiranje (engl. structured programing) skup je programskih postupaka koji vode logičkoj organizaciji i čitljivosti programa.Logička organizacija programa olakšava pisanje, održavanje i popravak programa.

2. Modularno programiranje je prva i najvažnija metoda strukturnog programiranja.

Modularno programiranje sastoji se u podjeli programa u manje cjeline, koje se mogu neovisno pisati i provjeravati, a po završetku ugraditi u glavni program.

1 hr.wikipedia.org/wiki/Računalno_programiranje

3

Page 4: SAOBRAĆAJNI FAKULTET-Ramo Fuško-Programiranje u saobraćaju

1. PROGRAMIRANJE U SAOBRAĆAJU

Programiranje u saobraćaju predstavlja proces planiranja i rješavanja saobraćajnih problema i složenih saobraćajnih tokova i situacija korištenjem određene metode, odnosno određenog programa.

Budući da je saobraćaj izuzetno komplicirana ljudska djelatnost, korištenje klasičnih metoda rješavanja problema je jako nepraktično i gotovo nemoguće. Adekvatno rješavanje mnogobrojnih saobraćajnih problema (razvrstvanje i upravljanje saobraćajnim tokovima, regulisanje saobraćaja, organizacija transporta i sl.) zahtijeva korištenje naprednih računalnih sustava kojima će upravljati za to osposobljeni stručnjaci. U biti, sve to zahtijeva saobraćajno programiranje, odnosno saobraćajne programere.

Saobraćajni programeri i programi kojima oni upravljaju moraju biti izuzetno precizni i prilagođeni saobraćajnoj struci, jer je transport izuzetno precizna djelatnost u kojoj vrijedi izreka “time is money”. Ukoliko saobraćajni program ne odgovori na ovaj zadatak adekvatno, nastaje saobraćajna pometnja, odnosno kolaps koji umnogome smanjuje prihode saobraćajnom poduzeću ili cjelokupnom saobrćajnom sistemu kojim se nastoji upravljati.

Slika 1. Korištenje naprednih računarskih programa prilikom rješavanja konkretnih saobraćajnih problema

4

Page 5: SAOBRAĆAJNI FAKULTET-Ramo Fuško-Programiranje u saobraćaju

2. VRSTE PROGRAMIRANJA U SAOBRAĆAJU

Vrsta programiranja u saobraćaju određuje zapravo načine i puteve na koji se određeni problemi u saobraćaju rješavaju. U klasičnom programiranju računalni program predstavlja, zapravo, skup uputa računalu što treba učiniti i kako to izvesti. Postoje razne vrste programa ovisno o zadatku koji želimo da program izvrši. Tako postoje tekstprocesori za pisanje teksta, proračunske tablice za izradu tablica, baze podataka i dr. Računalni program se pomoću jezičnog prevoditelja mora prevesti u binarni brojevni sustav da bi ga računar razumio i izvršavao.

Saobraćajne su situacije i problemi, za razliku od prilično jednostavnih računalnih problema koji zahtijevaju prilično praktična rješenja, u većini slučajeva prilično kompleksni, počevši od najjednostavnijeg regulisanja saobraćaja na raskrsnicama, pa do upravljanja cjelokupnim sustavima u gradovima i organizaciji transporta.

Zbog svega toga, saobraćaj je zahtijevao posebne vrste programa koji bi odgovorili na velik broj zadataka koji su pred njih postavljani, a samim tim i posebne vrste programiranja.

Kako bi se saobraćajni problemi što adekvatnije riješili, tijekom vremena razvijeno je mnoštvo saobraćajnih programa i sustavnih sistema saobraćajnog planiranja. Vremenom su se izdvojila tri sistema saobraćajnog programiranja koja se i danas koriste, a to su:

1. Dinamičko programiranje2. Linearno stohastičko programiranje3. Nelinearno programiranje

5

Page 6: SAOBRAĆAJNI FAKULTET-Ramo Fuško-Programiranje u saobraćaju

2.1. Dinamičko programiranje

Dinamičko programiranje je poseban matematički aparat, koji omogućava optimalnoplaniranje višeetapnih procesa upravljanja. Optimalno upravljanje je ono upravljanje, koje dajenajbolje rješenje u smislu postizanja maksimalnog cilja operacije. Za praktičnu primjenu metodedinamičkog programiranja potrebno je da svaki razmatrani proces ima svoj jasno postavljenimatematički model, sa precizno definisanim ciljem (funkcija cilja), koji treba maksimizirati iliminimizirati i ograničenjima koja se moraju uzeti u obzir u toku procesa.Proces se riječima može opisati kao ponašanje sistema u toku vremena.Neka p označava početno stanje sistema, a p1 , p2 ...pn stanje sistema u uzastopnimvremenskim trenucima.Ako postoji relacija:

p0 =p, pn+1=W (pn), n = 0,1,2….

koja predstavlja skup vektora

p,p1 ,p2 ...

kao reprezentaciju ponašanja sistema u diskretnim trenucima vremena n = 0,1,2... tada skup

vektora (p,p1 ,p2 ...) definiše proces, tj. jednu specijalnu vrstu procesa koja se naziva višeetapni

proces.Relacija (1) može da se napiše kao:

pn = Wn ( p )

što znači n-puta primijenjen operator W .Jasno je da je ovakva vrsta procesa definisana početnim stanjem sistema p i transformacijom W(p),što se simbolično može predstaviti sa:

p,Wp

2.2. Linearno (stohastičko) programiranje

6

Page 7: SAOBRAĆAJNI FAKULTET-Ramo Fuško-Programiranje u saobraćaju

Linearno stohastičko programiranje (LSP) karakteriše se parametrima slučajnog karaktera kojifigurišu ili u ograničenjima ili u funkciji cilja. Mnogi zadaci iz prakse se svode na LSP, jer je dovoljno da bar jedan parametar u klasičnom linearnom programiranju ima svoju vjerovatnoću raspodjele, tj. da je deterministički, pa da se radi o LSP.Opšta postavka zadatka LSP:Potrebno je odrediti komponente n-dimenzionog vektora:

x = (x1 , x2, ...xn)

koje zadovoljavaju skup ograničenja

Σ ai, jxi, j ≥ bi i 1,2,...,mxi j ≥ 0, ( j 1, 2,...,n )

tako da funkcija cilja:

F (X) = Σ cj * xj

dobije maksimalnu (minimalnu) vrijednost, u slučaju kada su sve, ili samo neke od veličinaai , j ,b j ,c j stohastičke veličine.Iz ovakve formulacije funkcije cilja ne može se jasno zaključiti šta je maksimum a štaminimum funkcije. Ovaj problem može se svesti na deterministički stohastički model u kome figurišu donje i gornje granice stohastičkih veličina.U slučaju kada su samo koeficijenti c j ( j = 1,2...n) stohastičke veličine, za funkciju ciljatakvog zadatka može se uzeti matematičko očekivanje

F = M (F (X)) = Mc ,c ,...cn (Σc1 * xj)

2.3. Nelinearno programiranje

7

Page 8: SAOBRAĆAJNI FAKULTET-Ramo Fuško-Programiranje u saobraćaju

Da su u zadatku iznalaženja optimalnog plana transporta umjesto rastojanja između mjestadata vremena vožnje između mjesta koja su u funkciji opterećenja vozila, a funkcija cilja predstavlja cijenu koštanja prevoza koja je nelinearna, onda bi to bio nelinearni transportni problem.Matematski je:

Φi,j = ai,j * xi2

,j + bi,j xi,j

troškovi transporta iz i u j se mijenjaju u zavisnosti od količine robe po kvadratnom zakonu.

Sada je funkcija cilja nelinearna:

F = Σ * Σ (ai,j * xi2

,j + bi,j xi,j)

Bez obzira na to o kakvoj se nelinearnoj funkciji cilja radi, zadatak iznalaženja optimalnogplana transporta svodi se na minimizaciju funkcije cilja oblika:

F = Σ * Σ Φi,j (xi,j)

gdje su Φi,j (xi,j) zadane nelinearne funkcije koje zavise od jednog argumenta xi , j separabilne funkcije.2

ZAKLJUČAK

2 Ibrahim Jusufranić, Osnove drumskog saobraćaja, IUT Travnik, Travnik 2007.god.

8

Page 9: SAOBRAĆAJNI FAKULTET-Ramo Fuško-Programiranje u saobraćaju

Programiranje je pisanje uputa računaru što i kako učiniti, a izvodi se u nekom od programskih jezika. Programiranje je umjetnost i umijeće u stvaranju programa za računare. Stvaranje programa sadrži u sebi pojedine elemente dizajna, umjetnosti, znanosti, matematike kao i inžinjeringa. Osoba koja stvara program zove se programer.

Programiranje u saobraćaju predstavlja proces planiranja i rješavanja saobraćajnih problema i složenih saobraćajnih tokova i situacija korištenjem određene metode, odnosno određenog programa. Budući da je saobraćaj izuzetno komplicirana ljudska djelatnost, korištenje klasičnih metoda rješavanja problema je jako nepraktično i gotovo nemoguće.

Vrsta programiranja u saobraćaju određuje zapravo načine i puteve na koji se određeni problemi u saobraćaju rješavaju. U klasičnom programiranju računalni program predstavlja, zapravo, skup uputa računalu što treba učiniti i kako to izvesti. Postoje razne vrste programa ovisno o zadatku koji želimo da program izvrši.

Saobraćajne su situacije i problemi, za razliku od prilično jednostavnih računalnih problema koji zahtijevaju prilično praktična rješenja, u većini slučajeva prilično kompleksni, počevši od najjednostavnijeg regulisanja saobraćaja na raskrsnicama, pa do upravljanja cjelokupnim sustavima u gradovima i organizaciji transporta.

Kako bi se saobraćajni problemi što adekvatnije riješili, tijekom vremena razvijeno je mnoštvo saobraćajnih programa i sustavnih sistema saobraćajnog planiranja. Vremenom su se izdvojila tri sistema saobraćajnog programiranja koja se i danas koriste, a to su:

1. Dinamičko programiranje2. Linearno stohastičko programiranje3. Nelinearno programiranje

Svako od ovih vrsta programiranja ima svoje posebnosti i primjenjuje se pri rješavanju određenih saobraćajnih problema kako bi se proces odvijanja saobraćaja odvijao što efikasnije, sigurnije i brže. U budućnosti će upravljanje saobraćajnim sistemom, vjerovatno, biti isključivo stvar računalnog programiranja i upravljanja, a razvoj programa i vrsta programiranja nameće se kao prioritet u ostvarenju tog cilja.

9

Page 10: SAOBRAĆAJNI FAKULTET-Ramo Fuško-Programiranje u saobraćaju

LITERATURA

1. hr.wikipedia.org/wiki/Računalno_programiranje

2. Ibrahim Jusufranić, Osnove drumskog saobraćaja, IUT Travnik, Travnik 2007.god.

10