Professional Documents
Culture Documents
Ekonomski fakultet
Kosovska Mitrovica
SEMINARSKI RAD
Predmet: OPERACIONA ISTRAŽIVANJA
Mentor: Student:
Dr Radica Bojičic, docent Salina Arifi 49/17
1
1. UVOD
2
2. OPŠTI OBLIK ZADATAKA MATEMATIČKOG PROGRAMIRANJA
Kada postoji potreba za rešavanje različitih konkretnih zadataka, kao što su na primer,
organizacija proizvodnje, planiranje vojnih operacija, i slično, javlja se potreba da se takvi zadaci
prethodno matematički modeliraju, pa da se nakon toga traži njihovo optimalno rešenje. Za
razliku od klasične matematičke analize, u okviru koje se ispituju uslovi za određivanje
ekstremnih vrednosti realnih funkcija, osnovni predmet modela matematičkog programiranja je
aktivno razmatranje ograničavajućih uslova predstavljenih u vidu mogućih vrednosti
promenljivih.
Opšti oblik modela matematičkog programiranja možemo predstaviti u obliku zahteva za
određivanjem vrednosti promenljivih 𝑥1 , 𝑥2 , … , 𝑥𝑛 , na koje se nameću ograničenja u obliku
sistema jednačina
𝜓1 (𝑥1 , … , 𝑥𝑛 ) ≷ 𝑏1
𝜓𝑚 (𝑥1 , … , 𝑥𝑛 ) ≶ 𝑏𝑚
gde je ≶ ∈ {<, >, ≤, ≥, =}. Svaka 𝑛-torka brojeva 𝑥 = (𝑥1 , … , 𝑥𝑛 )𝑇 koja zadovoljava gore
navedeni sistem ograničenja jeste program ili dopustivo rešenje.
Iz skupa svih programa, treba izabrati onaj koji je u određenom smislu optimalan. Kriterijum
izbora optimalnog programa je neka funkcija 𝐹 = 𝐹(𝑥1 , … , 𝑥𝑛 ), koju nazivamo funkcija
kriterijuma ili funkcija cilja. U zavisnosti od prirode problema funkcija cilja 𝐹 može imati
najveću ili najmanju vrednost. Tako na primer, ako neka funkcija cilja 𝐹 izražava dohodak, tada
je treba maksimizirati, a u suprotnom je treba minimizirati.
Ako je sistem ograničenja 𝜓1 (𝑥1 , … , 𝑥𝑛 ) ≷ 𝑏1 ; 𝜓𝑚 (𝑥1 , … , 𝑥𝑛 ) ≶ 𝑏𝑚 dat u obliku normalnog
sistema linearnih nejednačina 𝐴𝑥 ≤ 𝑏 gde je 𝑥, 𝑏 ≥ 0, tada je funkcija cilja 𝐹 linearna funkcija
nepoznatih veličina
𝐹 = 𝑐1 𝑥1 + ⋯ + 𝑐𝑛 𝑥𝑛
Osnovni zadatak modela linearnog programiranja može se formulisati na sledeći način:
(𝑜𝑝𝑡)𝐹 = 𝑐1 𝑥1 + ⋯ + 𝑐𝑛 𝑥𝑛
pri sistemu ograničenja
𝑎11 𝑥1 + 𝑎12 𝑥2 + ⋯ + 𝑎1𝑛 𝑥𝑛 ≤ 𝑏1
𝑎21 𝑥1 + 𝑎22 𝑥2 + ⋯ + 𝑎2𝑛 𝑥𝑛 ≤ 𝑏2
...
𝑎𝑚1 𝑥1 + 𝑎𝑚2 𝑥2 + ⋯ + 𝑎𝑚𝑛 𝑥𝑛 ≤ 𝑏𝑚 1
1
Milan Božinović, Operaciona istraživanja, Ekonomski fakultet Kosovska Mitrovica, Kosovska Mitrovica, 2012.
godine, str.115.
3
3. OSNOVNE PREDPOSTAVKE MODELA LINEARNOG
PROGRAMIRANJA
Model linearnog programiranja, bez obzira o kom obliku problema se radi (problemu
maksimuma ili problemu minimuma), karakterišu neke zajedničke osobine – odnosno postoji
određeni broj pretpostavki koje moraju biti zadovoljene da bi određeni model predstavljao model
linearnog programiranja. Neke od osnovnih pretpostavki modela linearnog programiranja su:2
1. Linearnost. Pretpostavkva linearnosti podrazumeva postojanje linearnih zavisnoti
između promenljivih u zadatku linearnog programiranja. Ova pretpostavka zadovoljena je tako
što su funkcija cilja i ograničavajući uslovi u modelu linearnog programiranja izraženi linearnim
funkcijama. Kao posledica linearnosti u modelu linearnog programiranja zadovoljene su takođe
dve osnovne pretpostavke i to: proporcionalnost i aditivnost. Proporcionalnost podrazumeva
postojanje proporcionalnog odnosa u modelu linearnog programiranja između inputa i autputa,
dok aditivnost podrazumeva da se ukupna vrednost funkcije cilja ili pojedinih ograničenja može
dobiti kao zbir vrednosti pojedinih aktivnosti koje predstavljaju sastavne elemente modela
linearnog programiranja.
2. Izvesnost. Svi parametri modela linearnog programiranja su unapred jednoznačno
određeni, što znači da su koeficijenti funkcije cilja i sistema ograničenja deterministički određeni
i ne menjaju se u toku rešavanja modela. S obzirom na ovu osobinu model linearnog
programiranja smatramo determinističkim modelom.
3. Deljivost. Ova pretpostavka podrazumeva da promenljive u modelu linearnog
programiranja ne moraju biti celi brojevi. Prema tome, u opštem obliku modela linearnog
programiranja ne postavlja se takozvani uslov celobrojnosti rešenja, što znači da vrednosti
promenljivih mogu biti izražene i u obliku decimalnih brojeva. Ukoliko se, međutim, iz
određenih razloga zahteva celobrojnost promenljivih, onda je u pitanju specijalan oblik zadatka-
model celobrojnog linearnog programiranja.
4. Nenegativnost. Uslov nenegativnosti promenljivih predstavlja jednu od osnovnih
pretpostavki modela linearnog programiranja. Ova pretpostavka ima svoj metodološki i suštinski,
odnosno ekonomski značaj. Naime, kako opšti algoritam rešavanja modela linearnog
programiranja predstavlja simpleks metod, to je za primenu ovog metoda neophodno
zadovoljenje uslova nenegativnosti promenljivih, što čini metodološki aspekt uslova
nenegativnosti promenljivih. S druge strane, kako promenljive u modelu linearnog programiranja
koji se koristi za određene ekonomske analize predstavljaju određene ekonomske veličine, jasno
je da one ne mogu biti negativne.
2
Svetlana Rakočević, Marko Backović, Operaciona istraživanja – zbirka zadataka sa rešenjima i komentarima,
Ekonomski fakultet Podgorica, Podgorica, 2003. godine, str. 17.
4
4. PRIMENE SIMPLEKS METODA
3
Ljubiša Kocić, Gradimir Milovanović, Slađana Marinković, Operaciona istraživanja, Elektronski fakultet u Nišu,
Niš, 2008. godine, str. 25.
4
Marija Čigel, Dragan Vugdelija, Tibor Kiš, Operaciona istraživanja, Ekonomski fakultet Subotica, Subotica, 1996.
godine, str. 56.
5
Milan Božinović, Operaciona istraživanja, Ekonomski fakultet Kosovska Mitrovica, Kosovska Mitrovica, 2012.
godine, str. 137.
6
Svetlana Rakočević, Marko Backović, Operaciona istraživanja – zbirka zadataka sa rešenjima i komentarima,
Ekonomski fakultet Podgorica, Podgorica, 2003. godine, str. 45.
5
(max)F = c1 x1 + c2 x2 + ⋯ + cn xn
...
...
𝑥1 , 𝑥2 , … , 𝑥𝑛 ≥ 0
6
(𝑚𝑎𝑥)𝐹 = 𝑐1 𝑥1 + 𝑐2 𝑥2 + ⋯ + 𝑐𝑛 𝑥𝑛 + 0𝑥𝑛+1 + 0𝑥𝑛+2 + ⋯ + 0𝑥𝑛+𝑚 − 𝑀𝑥𝑛+𝑘,𝑀 − 𝑀𝑥𝑛+𝑚,𝑀
𝑎11 𝑥1 + 𝑎12 𝑥2 + ⋯ + 𝑎1𝑛 𝑥𝑛 + 𝑥𝑛+1 ≤ 𝑏1
...
...
𝑥1 , 𝑥2 , … , 𝑥𝑛 ≥ 0
7
Svetlana Rakočević, Marko Backović, Operacion istraživanja, Ekonomski fakultet Podgorica, Podgorica, 2003.
godine, str. 48.
7
ugovora i predviđene realizacije zaključeno je da se prozor tipa B mora proizvesti u količini od
najmanje 60 komada.
Prodajom krovnih prozora tipa A i B ostvaruje se profit u iznosu od 560, odnosno 420 dinara po
jedinici.
Odrediti optimalan mesečni program proizvodnje krovnih prozora, za koji će fabrika ostvariti
maksimalan ukupni profit. Objasniti dobijeni rezultat.
Rešenje. U koliko u ovom problemu sa 𝑥1 obeležimo broj krovnih prozora tipa A, a sa 𝑥2 broj
komada krivnih prozora tipa B koji će se prodati u toku posmatranog meseca, model linearnog
programiranja koji opisuje prethodno formulisnai problem možemo definisati u sledećem obliku:
(max)𝐹 = 560𝑥1 + 420𝑥2
3𝑥1 + 2𝑥2 ≤ 540
2𝑥1 + 4𝑥2 ≤ 420
𝑥2 ≥ 60
𝑥1 , 𝑥2 ≥ 0
koji će nam poslužiti za prethodno formulisani zahtev za određivanjem optimalnog broja
prizvedenih krovnih prozora prevedemo na metodološki zahtev za određivanjem nenegativnih
vrednosti promenljivih 𝑥1 i 𝑥2 za koje su zadovoljene nejednačine sistema ograničenja i za koje
funkcija cilja 𝐹 ostvaruje maksimlanu vrednost.
Da bi zadatak mogli rešiti korišćenjem simplek metoda, neophodno je pre svega sistem
nejednačina transformisati u sistem jednačina. Postupak pretvaranja sistema nejednačina u sistem
jednačina realizujemo na uobičajen način, uvođenjem u model dodatnih promenljivih koje
„izravnavaju“ levu i desnu stranu svake nejednačine. Imajući u vidu takvu ulogu dodatnih
promenljivih, naš sistem nejednačina transformisaćemo u sistem jednačina oblika
3𝑥1 + 2𝑥2 + 𝑥3 = 540
2𝑥1 + 4𝑥2 + 𝑥4 = 420
𝑥2 − 𝑥5 = 60
𝑥1 , 𝑥2 , 𝑥3 , 𝑥4 , 𝑥5 ≥ 0
Ko što vidimo, prve dve nejednačine smo pretvorili u jednačine na uobičajen način dodajući
levoj strani odgovarajuću dodatnu promeljivu koja će u bilo kom od rešenja imati onu vrednost
za koju je leva strana manja od desne. Specifičnost ovog primera u odnosu na prethodne
proizilazi iz karaktera treće nejednačine, u kojoj je leva strana veća ili jednaka u odnosu na desnu
stranu. Da bi ovu nejednačinu transformisali u jednačinu bilo je neophodno od leve sgtrane
oduzeti dodatnu promenljivu 𝑥5 , čija vrednost će očigledno u bilo kom rešenju biti pozitivna
ukoliko je leva strana veća od desne strane. Na ovakav način, s obzirom da se uz promenljivu 𝑥5
8
nalazi negativni koeficijenat u trećoj jednačini, vektori koji odgovaraju dodatnim promenljivim
ne obrazuju jediničnu matricu. Zbog toga ne postoji mogućnost da na uobičajen način otpočnemo
simpleks postupak rešavanja zadatka, odnosno jednostavno definišemo početno bazično rešenje.
Ovaj problem se prevazilazi tako što se u treću jednačinu, pored dodatne, uvodi i takozvana
veštačka promeljiva koja isključivo ima metodološku ulogu. Osim u sistem jednačina, veštačka
promenljiva se uvodi i u funkciju cilja, i to sa koeficijentom – 𝑀, pri čemu je 𝑀 veliki konačan
broj. Nakon ovako izvršenog postupka, naš zadatak će biti
(𝑚𝑎𝑥)𝐹 = 560𝑥1 + 420𝑥2 + 0𝑥3 + 0𝑥4 + 0𝑥5 − 𝑀𝑥5𝑀
3𝑥1 + 2𝑥2 + 𝑥3 = 540
2𝑥1 + 4𝑥2 + 𝑥4 = 420
𝑥2 − 𝑥5 + 𝑥5𝑀 = 60
𝑥1 , 𝑥2 , 𝑥3 , 𝑥4 , 𝑥5 , 𝑥5𝑀 ≥ 0
odnosno u matričnom obliku
𝑥1
.
(𝑚𝑎𝑥)𝐹 = (560,420,0,0, −𝑀) .
.
[𝑥5𝑀 ]
𝑥1
3 2 1 0 0 0 . 540
[2 4 0 1 0 0] . = [420]
0 1 0 0 −1 1 . 60
[𝑥5𝑀 ]
Početno bazično rešenje sada je određujemo na osnovu pretpostavke da su relane promenljive,
kao i dodatna promenljiva 𝑥5 , jednake nuli, odnosno
𝑥1 = 𝑥2 = 𝑥5 = 0
što znači da je početna baza 𝛼0 = (𝐴3 , 𝐴4 , 𝐴5𝑀 ), za koju su vrednosti bazičnih promenljivih
𝑥3 = 540
𝑥4 = 420
𝑥5𝑀 = 60
Početna matrica je očigledno jedinična matrica (čija je inverzna matrica takođe jedinična), tako
da će sada koeficijenti linearne kombinacije bazičnih i nebazičnih vektora biti
𝑥31 𝑥32 𝑥35 1 0 0 3 2 0 3 2 0
[ 𝑥41 𝑥42 𝑥45 ] = [0 1 0] [ 2 4 0 ] = [ 2 4 0 ]
𝑥5𝑀1 𝑥5𝑀2 𝑥5𝑀5 0 0 1 0 1 −1 0 1 −1
9
na osnovu čega je
3 2 0
(𝐹1 , 𝐹2 , 𝐹5 ) = (0,0, −𝑀) [ 2 4 0 ] = (0, −𝑀, 𝑀)
0 1 −1
Da bi utvrdili koji od prethodno nebazičnih vektora treba da uđe u bazu, primenjujemo I
simpleks kriterijum prema kome treba odrediti
max(𝑐𝑗 − 𝑧𝑗 ) > 0
tako da u našem početnom rešenje za 𝑗 = 1,2,5, imamo
𝑐1 − 𝐹1 = 560 − 0 = 560
𝑐2 − 𝐹2 = 420 − (−𝑀) = 420 + 𝑀
𝑐5 − 𝐹5 = 0 − 𝑀 = −𝑀
Kako se maksimalna pozitivna razlika I simpeks kriterijuma ostvaruje za 𝑗 = 2, to
konstantujemo da se u cilju dobijanja poboljšanog rešenja u bazu mora uključiti vektor 𝐴2 .
Da bi utvrdili koji će od prethodno bazičnih vektora napustiti bazu, primenjujemo II simpleks
kriterijum, prema kome treba odrediti
𝑥𝑖
𝜆 = 𝑚𝑖𝑛 𝑥𝑖𝑗>0
𝑥𝑖𝑗
S obzirom na strukturu prethodne baze, kao i na činjenicu da sada u bazu ulazi vektor 𝐴2 , za
izračunavanje vrednosti količnika imamo da je 𝑖 = 3,4,5𝑀, dok je 𝑗 = 2, tako da imamo
𝑥3 540
= = 270
𝑥32 2
𝑥4 420
= = 105
𝑥42 4
𝑥5𝑀 60
= = 60
𝑥5𝑀2 1
Kako je 𝜆 = 60 i ostvaruje se za 𝑖 = 5𝑀, konstantujemo da iz baze mora da izađe vektor koji
odgovara veštačkoj promenljivoj. Važno je napomenuti da ovakav vektor kada jednom napusti
bazu više u toku postupka rešavanja zadatka ne može postati bazičan.
Nova baza će, prema tome, biti 𝛼1 = (𝐴2 , 𝐴3 , 𝐴4 ), odnosno
2 1 0 0 0 1
𝛼1 = [4 0 1] i 𝛼1−1 = [1 0 − 2]
1 0 0 0 1−4
10
Vrednosti bazičnih promenljivih, na osnovu rezultata prethodne iteracije, su
𝑥2 = 𝜆 = 60
𝑥3′ = 𝑥3 − 𝜆𝑥32 = 540 − 60 ∙ 2 = 420
𝑥4′ = 𝑥4 − 𝜆𝑥42 = 420 − 60 ∙ 4 = 180
za koje će funkcija cilja biti
60
𝐹 = (420,0,0) [420] = 25200
180
Kako je 𝛼1 = (𝐴2 , 𝐴3 , 𝐴4 ), to imamo da je 𝛼1 ≠ (𝐴1 , 𝐴2 , 𝐴3 ), na osnovu čega linearnu
kombinaciju bazičnih i nebazičnih vektora možemo predstaviti u obliku
3 0 0 2 1 0 𝑥21 𝑥25 𝑥25𝑀
[ 2 0 0 ] = [4 0 0] [𝑥31 𝑥35 𝑥35𝑀 ]
0 −1 1 1 0 0 𝑥41 𝑥45 𝑥45𝑀
odakle dobijamo
𝑥21 𝑥25 𝑥25𝑀 0 0 1 3 0 0 0 −1 1
[𝑥31 𝑥35 𝑥35𝑀 ] = [1 0 − 2] [ 2 0 0 ] = [3 2 − 2]
𝑥41 𝑥45 𝑥45𝑀 0 1 −4 0 −1 1 2 4 −4
Odakle ćemo neophodne vrednosti funkcija za nebazične vektore dobiti iz proizvoda vrste
koeficijenata koji se u funkciji cilja nalaze uz bazične promenljive i matrice izračunatih vrednosti
koeficijenata linearne kombinacije, odnosno
0 −1 1
(𝐹1 , 𝐹, 𝐹5𝑀 ) = (420, 0, 0) [3 2 − 2] = (0, −420, 420)
2 4 −4
na osnovu čega za prvi simpleks kriterijum imamo
𝑐1 − 𝐹1 = 560 − 0 = 560
𝑐5 − 𝐹 = 0 − (−420) = 420
𝑐5𝑀 − 𝐹5𝑀 = −𝑀 − 420
Dakle, vektor 𝐴1 treba da uđe u novu bazu da bi se dobilo poboljšamo rešenje. Koji će od
prethodno bazičnih vektora napustiti bazu, zaključujemo na osnovu vrednosti količnika II
simpleks kriterijuma
11
𝑥2 60
= =∝
𝑥21 0
𝑥3 420
= = 140
𝑥31 3
𝑥4 180
= = 90
𝑥41 2
odakle vidimo da iz baze treba da izađe vektor 𝐴4 , tako da će nova baza biti
𝛼2 = (𝐴1 , 𝐴2 , 𝐴3 )
što znači da je 𝛼2 ≠ (𝐴4 , 𝐴5 , 𝐴5𝑀 ).
Matrica koja predstavlja novu bazu i njoj odgovarajuća inverzna matrica su
3 2 1 0 1 −4
1
𝛼2 = [2 4 0] i 𝛼2−1 = [ 0 0 2 ]
2
0 1 0 2 −3 8
Za novu bazu, vrednosti bazičnih promenljivih su
𝑥1 = 𝜆 = 90
𝑥2′ = 𝑥3 − 𝜆𝑥21 = 60
𝑥3′ = 𝑥3 − 𝜆𝑥31 = 150
sa vrednošću funkcije cilja
90
𝐹 = (560, 420, 0) [ 60 ] = 75600
150
Kao što vidimo, vrednost funkcije cilja je povećana u odnosu na odgovarajuću njenu vrednost iz
prethodne iteracije. Ovo povećanje u iznosu od 75600 − 2500 = 50400, kao što je poznato
mora da odgovara proizvodu 𝜆(𝑐1 − 𝐹1 ), što i u našem slučaju potvrđuje značenje vrednosti
parametar 𝜆, kao i kriterijuma optimalnosti.
Kao i u prethodnim iteracijama, sada treba odrediti koeficijente linearne kombinacije bazičnih i
nebazičnih vektora, odnosno
𝑥14 𝑥15 𝑥15𝑀
1 0 0−4 0 0 0 1 1 4−4
[𝑥24 𝑥25 𝑥25𝑀 ] = [ 0 0 2] [1 0 0] = [ 0 − 2 2 ]
𝑥34 𝑥35 𝑥35𝑀 2 2
2 1 8 0 −1 1 −3 − 8 8
na osnovu čega je
1 1 4−4
(𝐹4 , 𝐹5 , 𝐹5𝑀 ) = (650, 420, 0) [ 0 − 2 2 ] = (280, 700, −700)
2
−3 − 8 8
12
i simpleks kriterijum
𝑐4 − 𝐹4 = 0 − 280 = −280
𝑐5 − 𝐹5 = 0 − 700 = −700
𝑐5𝑀 − 𝐹5𝑀 = −𝑀 − 700
Kako su sve razlike I simpleks kriterijuma negativne, konstantujemo da je poslednje rešenje
ujedno i optimalno rešenje našeg zadatka. Prema tom rešenju, posmatrana fabrika građevinske
stolarije treba da proizvodi 90 krovnih prozora tipa A i 60 krovnih prozora tipa B, da bi na taj
način bio ostvaren maksimalan ukupni profit u iznosu od 75600 dinara. Ovako određen
optimalni proizvodni program ostvario bi se u uslovima punog korišćenja kapaciteta druge
mašine, dok bi ostalo neiskorišćeno 150 radnih časova prve mašine.
13
6. ZAKLJUČAK
Sam početak primene linearnog programiranja datira još od početka drugog svetskog rata. Tada
se ono primenjivalo u svrhe vojne industrije, a danas je svoju primenu našlo u gotovo svim
oblastima života, od medicine, građevinarstva pa sve do ekonomije. Linearno programiranje je
matematička metodologija za modeliranje i rešavanje različitih vrsta problema. Termirn
„prograiranje“ u ovom slučaju predstavlja sinonim za planiranje, odnosno određivanje
optimalnog rešenja. Sa druge strane, termin „linearno“ nam govori o tome da funkcija cilja i sve
njene ograničavajuće moraju biti linearne, odnosno moraju biti prvog stepena, što je zapravo
jedna od osnovnih pretpostavki modela linearnog programiranja. Linearno programiranje ima
zacilj da maksimizira korisnost ili minimizira troškove unutar zadatih ograničenja.
Prilikom rešavanja zadataka uz pomoć simpleks metode mogu se pojaviti različiti tipovi
ograničenja, pa na osnovu toga možemo razlikovati strandardni problem maksimuma, mešoviti
problem maksimuma i problem minimuma. U ovom radu detaljnije je bilo reči o mešovitom
problemu maksimuma. Ovaj problem podrazumeva da se funkcija cilja treba maksimizirati, a da
se u sistemu ograničenja osim znaka <, mogu pojaviti i znakovi ≥ ili =. Karakteristično za
mešoviti problem maksimuma jeste da se pored dodatnih promenljivih uvode i veštačke
promenljive, koje su nužne, jer bez njih ne bi bilo moguće odrediti početno bazično rešenje u
kome bi sve promenljive ispunjavale uslov nenegativnosti.
14
7. LITERATURA
15
16