Professional Documents
Culture Documents
7
7.1. 7.2. 7.3. 7.4. Linearno programiranje Cjelobrojno linearno programiranje Transportni problem Problem dodjeljivanja
Vlatko eri
Metode optimizacije omoguuju traenje najpovoljnijih rjeenja razliitih problema. U poslovnoj ekonomiji najvie se koriste metode linearne optimizacije koje omoguuju nalaenje najpovoljnijih rjeenja problema u kojima i funkcija cilja (tj. veliina koju elimo optimizirati) i ogranienja imaju linearan oblik ovisnosti o nezavisnim varijablama. U ovom poglavlju prikazat emo osnove najvie koritenih metoda linearne optimizacije: linearnog programiranja, cjelobrojnog linearnog programiranja, transportnog problema i problema dodjeljivanja. Naglasak je na prepoznavanju problema iz prakse koji se mogu rijeiti linearnom optimizacijom, formulaciji optimizacijskog modela te analizi osjetljivosti rezultata optimizacije.
88
7. Optimizacija
89
Na temelju ovih razmatranja formulirat emo model linearnog programiranja ovog problema: Max (10 x1 + 25 x2) uz ogranienja: 1 x2 40 1 x1 + 4 x2 200 1 x1 + 2 x2 160 x1 0, x2 0 Problem linearnog programiranja dakle vodi na optimizaciju vrijednosti neke linearne funkcije varijabli odluivanja uz zadovoljavanje odreenog broja linearnih ogranienja napisanih u obliku nejednadbi. Funkcija koju maksimiziramo naziva se funkcijom cilja, a koeficijenti u ogranienjima nazivaju se tehnolokim koeficijentima. Linearno programiranje rjeava i probleme minimizacije funkcije cilja, npr. traenje najjeftinije mjeavine hrane za ivotinje koja e zadovoljiti zahtjeve za potrebnom koliinom kalorija, vitamina i sl. U problemima minimizacije esto se pojavljuju i ogranienja tipa "vee ili jednako", npr. koliina vitamina u dnevnom obroku mora biti vea ili jednaka koliini koju trai odreeni standard prehrane. (1) broj specijalnih tranzistora (2) vrijeme sastavljanja satova (3) vrijeme provjeravanja satova maksimizacija ukupne dnevne dobiti
90
x2
50
x+
1
4x =
2
20 0
50
100
150
200
x1
Kada na isti nain grafiki prikaemo sva tri ogranienja, dobit emo podruje moguih rjeenja problema koje zadovoljava sva tri ogranienja. Ovo podruje prikazano je kao osjenana povrina na slici 7.2.
No, ono to traimo jest rjeenje koje je ne samo mogue ve i najpovoljnije (optimalno) prema odabranom kriteriju. Prije nego to prijeemo na traenje optimalnog rjeenja obratimo pozornost na vrhove poligona (A, B, C, D, i 0) koji uokviruje podruje moguih rjeenja. Ti su vrhovi, zvani i ekstremne toke podruja moguih rjeenja, od kljunog znaenja za traenje optimalnog rjeenja. Naime, prema teoremu ekstremnih toaka linearnog programiranja ukoliko postoji optimalno rjeenje problema linearnog programiranja, tada bar jedno optimalno rjeenje mora biti u ekstremnoj toki podruja moguih rjeenja. Ovaj teorem pokazuje da traenje optimalnog rjeenja moemo ograniiti na konaan broj
7. Optimizacija
91
ekstremnih toaka (u naem jednostavnom primjeru to je svega pet toaka, dok kod sloenih problema to moe biti jako velik broj toaka). Ako nacrtamo funkciju cilja za nekoliko vrijednosti dobiti, vidjet emo koja bi od ekstremnih toaka mogla predstavljati optimalno rjeenje problema. Ukoliko funkciju cilja "10 x1 + 25 x2" izjednaimo npr. s vrijednou $ 1000, dobivamo jednadbu pravca "10 x1 + 25 x2 = 1000", koji moemo nacrtati na isti nain na koji smo crtali linije ogranienja (slika 7.3.). Uzmimo jo dvije mogue vrijednosti dobiti, $ 1500 i $ 2000 te i njih nacrtajmo crtkanom linijom na istoj slici. Linije jednake dobiti meusobno su paralelne, pri emu su linije s veom vrijednosti funkcije cilja dalje od ishodita.
x2 80
10 x 1+
25
50 40
=$1 500
x = 2 $2
00
A
=$1 000
B C D 150 160
50
100
200
x1
Sada trebamo vidjeti koliko daleko moemo pomicati liniju jednake dobiti u smjeru od ishodita, a da ona sadri bar jo jednu toku iz podruja moguih rjeenja. Iz slike 7.3. jasno je da e bar jedna od toaka koja daje optimalnu vrijednost biti ekstremna toka. Ona e biti jedina toka optimuma ukoliko linija dobiti nije paralelna ni jednoj liniji ogranienja, ili jedna od optimalnih toaka u rijetkim sluajevima da je linija jednake dobiti paralelna nekoj od linija ogranienja (ukoliko bi npr. linija jednake dobiti bila paralelna ogranienju br. 2, tada bi sve toke na odresku pravca BC, ukljuujui i ekstremne toke B i C, predstavljale optimalno rjeenje). U primjeru tvrtke Satex oito je da je toka C optimalno rjeenje problema, jer u njoj linija dobiti postie svoju najveu vrijednost. Koordinate toke C (koje predstavljaju rjeenje problema) dobit emo kao koordinate presjecita ogranienja br. 2 i br. 3 pisanih u obliku jednadbi, rjeavajui jednostavan sustav dviju jednadbi s dvije nepoznanice: 1 x1 + 4 x2 = 200 1 x1 + 2 x2 = 160 (2) vrijeme sastavljanja satova (3) vrijeme provjeravanja satova
92
Rjeenje, npr., moemo nai tako da odbijemo drugu od prve jednadbe, ime dobivamo "2 x2 = 40", to daje vrijednost rjeenja x2 = 20. Kada dobivenu vrijednost varijable x2 uvrstimo u bilo koju od gornjih dviju jednadbi ogranienja dobit emo vrijednost x1 = 120. Dakle, optimalno je proizvoditi 120 satova Raketix i 20 satova Rolix dnevno, za to dobit iznosi 10 120 + 25 20 = 1700 dolara dnevno. Budui da je optimalno rjeenje na presjecitu ogranienja br. 2 i br. 3, to ujedno znai da su ta dva ogranienja iskoritena do kraja. Ogranienje br. 1, tj. broj specijaliziranih tranzistora, nije meutim iskoriteno do kraja. Kada u nejednadbu tog ogranienja (x2 40) uvrstimo optimalnu vrijednost varijable x2 = 20, vidimo da jo 20 specijaliziranih tranzistora koji nam dnevno stoje na raspolaganju nije iskoriteno u optimalnom proizvodnom programu.
Analiza osjetljivosti
Nalaenjem optimalnog rjeenja nije zavrena analiza rjeenja problema, ve se ona upotpunjuje izvoenjem analize osjetljivosti iji je cilj ispitivanje promjena u izlaznim vrijednostima modela kao posljedice promjena u pojedinanim ulaznim parametrima modela. Analiza osjetljivosti dobivenih rjeenja linearnim programiranjem provodi se koritenjem standardnih izlaznih podataka dobivenih izvoenjem simplex algoritma. Pogledajmo prvo zbog ega je vana analiza osjetljivosti dobivenog optimalnog rjeenja. Vrijednosti parametara optimizacijskog modela, tj. jedinine dobiti te iznosi
7. Optimizacija
93
ogranienja resursa i tehnoloki koeficijenti, u pravilu su procjene. Budui da se modeli prave zbog donoenja odluka koje e se realizirati u blioj ili daljoj budunosti, procjena vrijednosti parametara (npr. trokova transporta) mora se temeljiti na predvianju njihovih buduih vrijednosti, to neminovno dovodi do pogreaka. Analiza osjetljivosti daje nam stupanj osjetljivosti rezultata modela na male promjene ulaznih parametara modela. Ukoliko je osjetljivost modela na neki ulazni parametar velika, znai da je potrebno uloiti dodatni napor i sredstva da se napravi tonija procjena tog parametra, jer i mala pogreka u vrijednosti tog parametra dovodi do velike pogreke u rezultatu. Analiza osjetljivosti daje nam odgovore i na neka druga pitanja, a da pritom ne moramo ponovno izvoditi optimizacijski program. Mogue je npr. odgovoriti na pitanja o tome bi li sadanji proizvodni program ostao optimalan ak i ako bismo morali smanjiti dobit na nekima od proizvoda, odnosno koliko bi se poveala dobit ukoliko bismo dokupili neki od ogranienih resursa. a) Marginalni troak Marginalni troak pokazuje iznos poveanja optimalne vrijednosti funkcije cilja kada se vrijednost ogranienja jedne vrste resursa povea za jednu jedinicu tog resursa, uz nepromijenjene vrijednosti svih drugih parametara modela. Na slici 7.4. prikazana je grafika interpretacija marginalnog troka na primjeru tvrtke Satex za sluaj poveanja vrijednosti ogranienja resursa br. 3 (vrijeme provjeravanja satova). Vidimo da ovo poveanje odgovara paralelnom pomaku granine linije tog ogranienja, to uzrokuje pomak optimalne toke iz poloaja C u C', gdje funkcija cilja ima neto veu vrijednost. Meutim, optimalno rjeenje i dalje ostaje na presjecitu istih ogranienja.
x2 80
50 40
A (1)
50
100
94
Rjeenje optimizacijskog modela tvrtke Satex daje sljedee vrijednosti marginalnih trokova: $0 za specijalne tranzistore (sjetimo se da taj resurs nije u potpunosti iskoriten u optimalnom rjeenju), $2,5 za vrijeme sastavljanja satova, te $7,5 za vrijeme provjeravanja satova. Dobivene vrijednosti marginalnih trokova mogu nam pomoi da naemo odgovor na pitanje u koje bi resurse trebalo investirati kako bi se postiglo najvee poveanje dobiti. Resursi imaju svoju cijenu, pa pretpostavimo da jedna jedinica resursa br. 1 stoji $4, jedna jedinica resursa br. 2 stoji $1, a jedna jedinica resursa br. 3 stoji $6,5. Kada od poveanja dobiti za ulaganje u jednu jedinicu resursa odbijemo cijenu tog resursa, vidimo da proirenje od jedne jedinice resursa br. 1 donosi gubitak od $4, proirenje od jedne jedinice resursa br. 2 donosi dobitak od $1,5, a proirenje od jedne jedinice resursa br. 3 donosi dobitak od $1. Upravi tvrtke Satex savjetovali bismo dakle da investira u poveanje vremena sastavljanja satova (resurs br. 2) jer e na taj nain postii najvee poveanje dobiti. b) Granice vrijednosti ogranienja Dobiveni iznosi marginalnih trokova vrijede samo tako dugo dok promjene ogranienja resursa ne dovedu do novog optimalnog rjeenja koje lei u nekoj drugoj ekstremnoj toki. Cilj traenja granica vrijednosti ogranienja jest odrediti do kojih se granica moe promijeniti vrijednost pojedinog ogranienja uz nepromijenjene vrijednosti svih drugih parametara modela, a da se ne promijeni optimalna toka (tj. ekstremna toka). Granice vrijednosti ogranienja resursa prikazat emo grafiki na primjeru ogranienja resursa br. 3 (vrijeme provjeravanja satova) kod optimizacijskog modex2 100
20
0s
at i
80 160 s
12 0s
ati
50 40
ati
B (3) (3a)
(3b)
C D 150 160
50
100
200
x1
Slika 7.5. Granice vrijednosti ogranienja resursa br. 3 u kojima se njegov marginalni troak ne mijenja
7. Optimizacija
95
la tvrtke Satex. Kada se vrijednost tog ogranienja smanji na 120 sati (linija 3a na slici 7.5.), dolazi do promjene optimalnog rjeenja koje prelazi iz toke C u toku B, pa daljnje smanjenje vrijednosti ogranienja br. 3 dovodi do promjene vrijednosti marginalnog troka resursa br. 3. S druge strane, kada se vrijednost ogranienja br. 3 povea na 200 sati (linija 3b na slici 7.5.), dolazi do promjene optimalnog rjeenja koje seli iz toke C u toku D. Rjeenje optimizacijskog modela tvrtke Satex daje sljedea podruja promjene vrijednosti svih ogranienja: 20 - za specijalne tranzistore, 160 - 240 za vrijeme sastavljanja satova, te 120 - 200 za vrijeme provjeravanja satova. c) Promjena vrijednosti koeficijenata funkcije cilja Promjena vrijednosti pojedinanih koeficijenata funkcije cilja (uz nepromijenjene vrijednosti svih drugih parametara modela) oito utjee na optimalnu vrijednost funkcije cilja, a moe dovesti i do novog optimalnog rjeenja koje lei u nekoj drugoj ekstremnoj toki. Grafika interpretacija promjene vrijednosti koeficijenata funkcije cilja odgovara promjeni nagiba linije jednakih vrijednosti funkcije cilja. Unutar nekih granica vrijednosti koeficijenata funkcije cilja sadanje se optimalno rjeenje ne mijenja, a kada se te granice prijeu, tada se dobiva novo optimalno rjeenje u nekoj drugoj ekstremnoj toki. Uinak promjene vrijednosti koeficijenata funkcije cilja prikazat emo grafiki na primjeru modela linearnog programiranja tvrtke Satex. Unutar odreenih granica vrijednosti koeficijenata vrh C ostaje optimalno rjeenje (sluaj a na slici 7.6.), dok prijelazom preko tih granica rjeenje prelazi ili na vrh B (sluaj b na slici 7.6.) ili na vrh D. Rjeenje optimizacijskog problema tvrtke Satex daje sljedea podruja vrijednosti koeficijenata u funkciji cilja u kojima se optimalno rjeenje ne mijenja: 6,25 - 12,5 za prvi koeficijent, te 20 - 40 za drugi koeficijent.
96
7. Optimizacija
97
cjelobrojnu vrijednost. Kod istog cjelobrojnog linearnog programiranja sve varijable odluivanja moraju biti cjelobrojne, kod mijeanog cjelobrojnog linearnog programiranja neke varijable moraju biti cjelobrojne ali ostale mogu biti kontinuirane, dok kod 0-1 programiranja sve varijable mogu poprimiti samo vrijednosti 0 ili 1. Ovdje emo prikazati samo isto cjelobrojno linearno programiranje.
98
7. Optimizacija
99
100
Tablica 7.2. Optimalno rjeenje primjera transportnog problema: isporuke iz centara za opskrbu u centre potranje
Osim prikazanih podataka, rjeenje ukljuuje i elemente za analizu osjetljivosti, npr. marginalne transportne trokove koji odgovaraju minimalnim trokovima to se moraju platiti da bi se uvela jedna dodatna jedinica transporta na nekim transportnim pravcima u odnosu na koliinu transporta u tom pravcu u optimalnom rjeenju. Tako je u naem problemu npr. marginalni transportni troak izmeu centra za opskrbu A i centra potranje 3 jednak 11 dolara. Transportni problem moe biti i neizbalansiran, tj. ukupna koliina koju mogu isporuiti centri za opskrbu moe biti manja ili vea od ukupne koliine potranje. Ukoliko opskrba premauje potranju automatski se uvodi prividni centar potranje ija je potranja jednaka suvinoj ponudi, ime se transportni problem balansira. Transportni trokovi do tog prividnog centra potranje stavljaju se na nulu jer nema troka transporta u taj nepostojei centar potranje. Dobiveni optimalni rezultati transportnog problema interpretiraju se tako to oni centri opskrbe koji u optimalnom rjeenju opskrbljuju uvedeni prividni centar potranje zapravo nikuda ne alju te koliine robe (jer taj prividni centar potranje uistinu ne postoji). Ukoliko pak potranja premauje opskrbu, automatski se uvodi prividni centar za opskrbu iji je kapacitet isporuke jednak suvinoj potranji, ime se transportni problem balansira. Dobiveni optimalni rezultati transportnog problema interpretiraju se tako to centri potranje koje u optimalnom rjeenju opskrbljuje prividni centar opskrbe zapravo ne mogu nabaviti te koliine robe (jer taj prividni centar opskrbe ne postoji).
7. Optimizacija
101
102
Model linearnog programiranja problema dodjeljivanja formulira se kao problem minimizacije ukupnih trokova obrade, u kojem ogranienja predstavljaju jednadbe dodjeljivanja poslova strojevima te strojeva poslovima. Varijable odluivanja predstavljaju broj poslova razliitih tipova koji se dodjeljuju razliitim strojevima, i mogu poprimiti samo vrijednosti 0 i 1 (neki posao je ili dodijeljen nekom stroju ili mu nije dodijeljen).
dodjeljivanja rjeavaju bre i uinkovitije. Primjenom neke od metoda za rjeavanje problema dodjeljivanja dobivamo optimalno rjeenje za na problem, prikazano u tablici 7.4. Ukupna cijena obrade za ovo rjeenje jest 164 jedinice. Osim prikazanih podataka, rjeenje ukljuuje i elemente za analizu osjetljivosti, npr. marginalne trokove dodjeljivanja nekog posla nekom drugom stroju (a ne onom kojem je bio dodijeljen u optimalnom rjeenju) koji odgovaraju dodatnom troku (iznad optimalnog) to se mora platiti da bi se to dodjeljivanje napravilo. Tako npr. preraspodjela posla A na stroj br. 1 (umjesto na stroj br. 3 kao u optimalnom rjeenju) stoji 30 jedinica vie od trokova optimalnog rjeenja. Neizbalansiranost problema dodjeljivanja rjeava se na isti nain kao neizbalansiranost kod problema transporta. Ukoliko ima vie poslova nego strojeva, tada e se automatski uvesti prividni stroj, a posao koji e biti dodijeljen tom stroju zapravo nije dodijeljen ni jednom stroju. Ukoliko pak ima vie strojeva nego poslova, tada e se automatski uvesti prividni posao, a stroj koji e biti dodijeljen tom poslu zapravo nije dodijeljen ni jednom poslu.
7. Optimizacija
103
Literatura
1. Eppen, G. D., Gould, F. J., Schmidt, C. P., Introductory Management Science, 4th Edition, Prentice Hall, Englewood Cliffs, 1993.
Preporuena literatura
1. Cook, T. M., Russell, R. A., Introduction to Management Science, 4th Edition, Prentice Hall, Englewood Cliffs, 1989.
Knjiga opisuje koritenje razliitih metoda znanosti o upravljanju te posveuje desetak poglavlja problemima linearne optimizacije. Opisane su formulacija i metode rjeavanja problema te su demonstrirane na velikom broju primjera.
Web mjesta
1. e-OPTIMIZATION.COMMUNITY www.e-optimization.com
Web mjesto koje sadri veliki broj raznovrsnih resursa iz podruja optimizacije.
Softver
1. LINDO www.lindo.com
Jedan od najpoznatijih optimizacijskih softvera. Moe se dobiti i vrlo upotrebljiva besplatna verzija.