You are on page 1of 17

Optimizacija

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.

7.1. Linearno programiranje


Metode optimizacije omoguuju nalaenje najboljih rjeenja razliitih vrsta problema, i vrlo su pogodne za rjeavanje problema u poslovnoj ekonomiji. Tipini poslovni problemi vezani su za koritenje ogranienih resursa (ljudi, oprema, materijali, financiranje i sl.) kojima se nastoji postii najvea mogua dobit, osigurati najvea mogua kvaliteta usluge s postojeim poslovnim resursima i slino. Kod svih tih metoda zajedniko je to da je potrebno formulirati model problema, analizirati mogue varijante rjeenja i meu njima pronai najpovoljnije rjeenje po odabranom kriteriju. U poslovnoj ekonomiji najvie se koriste metode linearne optimizacije koje omoguuju nalaenje najpovoljnijih rjeenja problema u kojima su i funkcija cilja (npr. dobit) i utroci resursa (npr. materijala ili vremena) linearno proporcionalni vrijednostima nezavisnih varijabli (npr. broju proizvedenih proizvoda). Stoga emo u ovom poglavlju opisati metode linearne optimizacije. Prikaz emo zapoeti opisom linearnog programiranja, najvanije i najvie koritene metode za rjeavanje poslovnih problema, koja je ujedno i temelj za niz drugih linearnih optimizacijskih metoda.

88

I. INFORMACIJSKA TEHNOLOGIJA U POSLOVANJU

Primjer modela linearnog programiranja


Metodu linearnog programiranja demonstrirat emo na jednostavnom primjeru problema tvrtke Satex, malog proizvoaa satova, koja trai proizvodni plan koji bi tvrtki osigurao maksimalnu moguu dobit. Tvrtka proizvodi dvije vrste satova, Raketix i Rolix, pri emu dobit po jednom prodanom primjerku sata iznosi 10 dolara za model Raketix a 25 dolara za model Rolix. Potranja za objema vrstama satova je velika te nadmauje proizvodni kapacitet tvrtke. Analizom proizvodnih kapaciteta ustanovljeno je da je volumen proizvodnje koji se moe postii ogranien trima vrstama resursa, i to: specijalnim tranzistorima, vremenom radnika koji sastavljaju satove te vremenom radnika koji provjeravaju ispravnost satova. Tvrtka dnevno ima na raspolaganju 40 specijalnih tranzistora, 200 sati radnika koji sastavljaju satove i 160 sati radnika koji provjeravaju satove. Iako se na prvi pogled ini da treba proizvoditi iskljuivo Rolix satove jer se za njih postie vea dobit, ta vrsta satova zahtijeva vie kritinih resursa nego Raketix satovi. Tako se samo u Rolix satove ugrauje po jedan specijalni tranzistor, za sastavljanje jednog komada modela Raketix potreban je 1 sat a za model Rolix ak 4 sata, dok za provjeru treba 1 sat rada za model Raketix, a 2 sata za model Rolix. Na cilj je pronai kakvim se proizvodnim programom moe ostvariti najvea mogua dobit te koliki e biti iznos te dobiti. Ukoliko itatelj pokua samostalno rijeiti ovaj problem (to mu i preporuujemo), moe se i sam uvjeriti da najpovoljniji proizvodni program i nije tako lako nai, premda je ovaj problem vrlo jednostavan i sadri svega dvije vrste proizvoda i tri ogranienja. Pogledajmo sada kako formulirati model linearnog programiranja. Napominjemo da je izgradnja modela posao korisnika, dok izraunavanje optimalnog rjeenja i analizu osjetljivosti modela izvodi program koritenjem odgovarajuih algoritama (postupaka rjeavanja problema). Interpretaciju dobivenih rezultata opet radi korisnik. Prvo emo definirati varijable odluivanja, tj. varijable o ijoj vrijednosti trebamo donijeti odluku (te vrijednosti dobivamo rjeavanjem problema linearnog programiranja). Uvest emo sljedee oznake za varijable odluivanja: neka x1 bude traena koliina dnevne proizvodnje Raketix satova, a x2 traena koliina dnevne proizvodnje Rolix satova. Budui da dobit po jednom primjerku sata iznosi 10 dolara za model Raketix, a 25 dolara za model Rolix, ukupna dnevna dobit bit e oito "10 x1 + 25 x2". To je veliina koju maksimiziramo i koju nazivamo funkcija cilja. Slino tome formulirat emo i ogranienja naeg problema. Tako za sastavljanje jednog Raketix sata treba 1 sat rada, dok za sastavljanje jednog Rolix sata treba 4 sata rada, a dnevno imamo na raspolaganju 200 sati radnika koji sastavljaju satove. Stoga ovo ogranienje oito ima oblik "1 x1 + 4 x2 200", a na jednak nain moemo doi i do ostalih ogranienja. Dodatno prirodno ogranienje je u tome to nije mogue proizvoditi negativne koliine satova, tj. mora biti "x1 0, x2 0" (to vrijedi za sve varijable odluivanja u ekonomskim problemima).

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

Grafiki nain rjeavanja modela linearnog programiranja


Primjer tvrtke Satex sadri samo dvije varijable, to omoguuje grafiki prikaz optimizacijskog modela. Takav je prikaz vrlo koristan za uvid u prirodu problema linearnog programiranja, jer omoguuje intuitivno razumijevanje problema, naina njegova rjeavanja, karaktera optimalnog rjeenja te analize osjetljivosti rjeenja. Grafiki prikaz sadri samo prvi kvadrant ravnine jer varijable odluivanja ne mogu imati negativnu vrijednost. Pogledajmo sada kako se mogu prikazati ogranienja, i za to emo uzeti primjer ogranienja vremena sastavljanja satova: "1 x1 + 4 x2 200". Kao prvo, prikazat emo samu granicu podruja ogranienja, a to je pravac "1 x1 + 4 x2 = 200" koji dobijemo pretvaranjem nejednadbe u jednadbu. Taj pravac moemo nacrtati tako da naemo njegova presjecita s objema koordinatnim osima i zatim ta presjecita spojimo odreskom pravca. Presjecite s osi x1 dobijemo tako da izjednaimo x2 s nulom, iz ega slijedi da je x1 = 200, a na isti nain dobijemo da je presjecite s osi x2 jednako x2 = 50. Kada ravnom linijom spojimo ta dva presjecita dobijemo odrezak pravca koji predstavlja gornji rub ogranienja, a samo ogranienje prikazano je osjenanom povrinom ispod tog odreska pravca (slika 7.1.).

90

I. INFORMACIJSKA TEHNOLOGIJA U POSLOVANJU

x2

50

x+
1

4x =
2

20 0

50

100

150

200

x1

Slika 7.1. Grafiki prikaz ogranienja vremena sastavljanja satova

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.

Slika 7.2. Podruje moguih rjeenja problema tvrtke Satex

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

Slika 7.3. Linije jednake dobiti za razliite vrijednosti dobiti

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

I. INFORMACIJSKA TEHNOLOGIJA U POSLOVANJU

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.

Simplex algoritam za rjeavanje problema linearnog programiranja


U stvarnim problemima optimizacije susreemo se sa stotinama ili ak tisuama varijabli odluivanja i jo veim brojem ogranienja, pa je za rjeavanje problema linearnog programiranja potrebno imati uinkovit openiti postupak rjeavanja (algoritam). Najpoznatiji i najvie koriten algoritam za rjeavanje problema linearnog programiranja je simplex algoritam, koji je 1947. godine razvio George Dantzig. Simplex algoritam je algebarski postupak pretraivanja ekstremnih toaka podruja moguih rjeenja problema linearnog programiranja. Pri tome se redom pretrauju susjedne ekstremne toke, a kao sljedea ekstremna toka izabire se ona koja daje jednako ili bolje rjeenje nego prethodna. Simplex algoritam opisan je u literaturi posveenoj linearnom programiranju (npr. Eppen i dr., 1993). Postoje brojni raunalni programi posveeni linearnom programiranju, a osim toga i programi za proraunske tablice (npr. Excel) ukljuuju dodatke za rjeavanje problema linearnog programiranja (vidi poglavlje o primjeni tablinih kalkulatora u potpori odluivanju).

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)

B (2) C (3) C D 150 160 200 x1

50

100

Slika 7.4. Marginalni troak poveanja koliine resursa br. 3

94

I. INFORMACIJSKA TEHNOLOGIJA U POSLOVANJU

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.

Slika 7.6. Promjene vrijednosti koeficijenata funkcije cilja

96

I. INFORMACIJSKA TEHNOLOGIJA U POSLOVANJU

Primjene linearnog programiranja


Linearno programiranje ima brojne primjene u poslovnoj ekonomiji. Tako problem mjeavine sastojaka (engl. blending) opisuje mjeavinu sastojaka od kojih svaki ima svoju cijenu i svojstva i trai se takva mjeavina koja zadovoljava zadane uvjete, ne zahtijeva vie od raspoloive koliine sastojaka te dovodi do minimalnih trokova. Primjeri problema mjeavine problemi su mjeavine nafte i mjeavine ivotinjske hrane. Problem odreivanja mjeavine proizvoda (engl. product mix) trai odreivanje koliina razliitih vrsta proizvoda koje treba proizvesti da bi se maksimizirala dobit. Pritom svaki od proizvoda zahtijeva odreene proizvodne resurse i odreenim iznosom doprinosi ukupnoj dobiti. Konana mjeavina proizvoda mora uzeti u obzir ogranienja proizvodnih resursa te oekivanu potranju za proizvodom. Takva vrsta problema je i prethodno prikazani problem proizvodnje satova. Problem distribucije i dodjeljivanja opisuje slanje dobara iz dostavnih centara (npr. tvornica) u centre potranje (prodavaonice ili skladita). Svaki dostavni centar ima svoj kapacitet i cijenu proizvoda, a svaki centar potranje svoju razinu potranje. Transportni trokovi mogu se razlikovati po smjerovima distribucije. Trai se takvo dodjeljivanje transporta koje e minimizirati ukupne transportne trokove, a da pritom zadovolji potranju i ne prekorai raspoloive kapacitete dostavnih centara. Problem nabave rjeava problem odluke o nabavi proizvoda (ili materijala) s razliitih mjesta koja nude razliite koliine, kvalitete i cijene proizvoda. Cilj je postizanje maksimalne mogue dobiti uz zadovoljenje razliitih zahtjeva u pogledu karakteristika proizvoda i ogranienja budeta.

7.2. Cjelobrojno linearno programiranje


Neki problemi linearne optimizacije razlikuju se od problema linearnog programiranja. Tako se linearni problemi u kojima su neke ili sve varijable odluivanja cijeli brojevi rjeavaju cjelobrojnim linearnim programiranjem, problemi za koje postoji vie ciljeva viekriterijskim programiranjem, a problemi u kojima se eli to vie pribliiti nekoj ciljnoj vrijednosti ciljnim programiranjem. Problemi viefaznog odluivanja ili oni u kojima se parametri mijenjaju kroz razliite vremenske periode rjeavaju se dinamikim programiranjem, a problemi u kojima se pojavljuju sluajne varijable stohastikim programiranjem. Problemi u kojima ili funkcija cilja ili ogranienja sadre nelinearne izraze rjeavaju se nelinearnim programiranjem. Sve ove metode pripadaju podruju matematikog programiranja. Mi emo se ovdje ograniiti na prikaz cjelobrojnog linearnog programiranja. Metoda cjelobrojnog linearnog programiranja omoguuje modeliranje i rjeavanje problema linearne optimizacije kod kojih bar neke varijable moraju imati

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.

Primjer modela cjelobrojnog linearnog programiranja


Specifinosti modela cjelobrojnog linearnog programiranja demonstrirat emo na jednom jednostavnom primjeru: Max ( 6 x1 + 4 x2 ) Uz ogranienja: 1 x2 3 3,42 x1 + 2 x2 12 2 x1 + 2 x2 8 x1, x2 0 i cjelobrojni Ovaj primjer prikazan je na slici 7.7, na kojoj vidimo da bi optimalno rjeenje odgovarajueg modela linearnog programiranja bilo u vrhu A. Taj vrh, meutim, nije cjelobrojan pa stoga i nije u podruju moguih rjeenja naeg modela. Podruje moguih rjeenja sastoji se od cjelobrojnih toaka unutar podru-ja ogranienja, a to je u ovom problemu ukupno 12 toaka prikazanih na slici 7.7. ogranienje br. 1 ogranienje br. 2 ogranienje br. 3

Slika 7.7. Grafiki prikaz problema cjelobrojnog linearnog programiranja

98

I. INFORMACIJSKA TEHNOLOGIJA U POSLOVANJU

Nain rjeavanja problema cjelobrojnog linearnog programiranja


Postoji nekoliko pristupa rjeavanju cjelobrojnog linearnog programiranja. Prvi od njih koristi linearno programiranje sa zaokruivanjem, i to tako da se nae rjeenje problema linearnog programiranja i to se rjeenje zaokrui na nie cjelobrojno rjeenje. Kada na primjer rijeimo simplex metodom, kao optimalno rjeenje dobijemo toku A (2,817, 1,183) s vrijednou funkcije cilja od 21,63. Zaokruivanje koordinata rjeenja na nie cijele brojeve daje toku s koordinatama (2, 1) koja se nalazi u podruju moguih rjeenja i ija je vrijednost funkcije cilja 17. Drugi pristup koristi potpuno nabrajanje, u kojem se izraunavaju i usporeuju vrijednosti funkcije cilja za sve cjelobrojne toke u podruju moguih rjeenja. Ta je metoda upotrebljiva samo za male probleme jer porastom broja varijabli odluivanja jako brzo raste i broj takvih toaka. Metoda djelominog nabrajanja mnogo je uinkovitija jer se ograniava na ispitivanje samo dijela svih cjelobrojnih toaka u podruju moguih rjeenja. Najvie koritena metoda ovog tipa je metoda grananja i ograniavanja (engl. branch and bound), koja dijeli skup toaka u dva meusobno iskljuiva podskupa i zatim odluuje koji e se od tih dvaju podskupova odbaciti, a koji e se dalje dijeliti na dva dijela. Ovaj se postupak nastavlja sve dok se ne doe do toke s optimalnom vrijednou funkcije cilja. Kada na na problem primijenimo neku od posljednjih triju spomenutih metoda, dobit emo da je optimalno rjeenje toka (2, 2), za koju je vrijednost funkcije cilja jednaka 20. Vidimo da je ovo rjeenje znatno povoljnije od onog koje smo dobili koristei linearno programiranje sa zaokruivanjem. Optimalno rjeenje ovdje ne sadri informacije o osjetljivosti problema. Analizu osjetljivosti moemo provesti tako da uzastopno rjeavamo optimizacijski problem s novim vrijednostima parametara, to za vei problem moe biti dugotrajan posao. Za na jednostavan problem npr. jedinino poveanje koliine resursa br. 2 donosi poveanje dobiti za 2 jedinice, dok isto ulaganje u ostale resurse ne donosi dodatnu dobit.

Primjene cjelobrojnog linearnog programiranja


Problem mjeavine proizvoda trai odreivanje koliine razliitih vrsta proizvoda koje treba proizvesti da bismo ostvarili maksimalnu dobit. Problem izbora projekata odnosi se na izbor odreenog broja projekata iz veeg skupa predloenih projekata. Pritom projekti imaju razliite potrebe za ljudskim resursima i sredstvima, te razliite izglede na povrat investicije. Uz neki ogranieni budet treba maksimizirati ukupni oekivani povrat investicija. Problem lokacije pogona mora rijeiti pitanje na kojim e se lokacijama, od veeg broja moguih, izgraditi jedan ili vie pogona. Odluka mora minimizirati ukupne trokove koji se sastoje od trokova transporta prema odreditima s razliitom potranjom te fiksnih trokova za rad i odravanje svih pogona.

7. Optimizacija

99

7.3. Transportni problem


Velika klasa problema linearnog programiranja posveena je rjeavanju problema u mreama, tj. problema koji su definirani na skupu vorova povezanih lukovima. Mree mogu biti stvarne fizike transportne mree, ali i apstraktne mrene strukture. Primjeri problema optimizacije na fizikim mreama su problemi transporta, najkraeg puta i maksimalnog toka u mrei. Problemi s apstraktnim mreama ukljuuju npr. dodjeljivanje, planiranje i upravljanje projektima te problem toka novca (engl. cash flow). Ovdje emo se ograniiti na opis dvaju problema posebno vanih za primjenu, i to transportnog problema i problema dodjeljivanja. Transportni problem slui za odreivanje optimalnog naina odvijanja transporta izmeu veeg broja centara za opskrbu i centara potranje. Pritom svaki centar za opskrbu ima svoj kapacitet (npr. proizvodni kapacitet) a svaki centar potranje (npr. skladite) ima svoju razinu potranje. Transportni putovi izmeu razliitih centara za opskrbu i centara potranje mogu imati razliite jedinine cijene transporta. Trai se takva struktura transporta koja e zadovoljiti potranju, i to uz minimalne ukupne transportne trokove.

Primjer transportnog problema


Kao primjer transportnog problema uzet emo problem sljedeih karakteristika. Potrebno je distribuirati robu iz triju centara za opskrbu (A, B i C) u etiri centra potranje (1, 2, 3, 4). U tablici 7.1. dani su podaci o jedininim transportnim trokovima iz centara za opskrbu u centre potranje. Ovaj transportni problem je balansiran, tj. ukupna koliina koju mogu isporuiti centri za opskrbu (250 jedinica) jednaka je ukupnoj koliini potranje svih centara za potranju. Optimizacijski model transportnog problema formulira se kao problem minimizacije ukupnih transportnih trokova u kojem ogranienja predstavljaju jednadbe ukupne isporuke iz svih centara za opskrbu te ukupne dostave u sve centre potranje. Pritom treba uzeti u obzir kapacitete centara za opskrbu i razinu potranju u centrima potranje. Varijable odluivanja predstavljaju broj jedinica robe koji se transportira iz pojedinih centara opskrbe u pojedine centre potranje.

Tablica 7.1. Jedinini transportni trokovi za primjer transportnog problema

100

I. INFORMACIJSKA TEHNOLOGIJA U POSLOVANJU

Nain rjeavanja transportnog problema


Transportni problem zapravo je problem linearnog programiranja koji moemo rjeavati simplex metodom. Meutim, budui da se radi o specifinoj strukturi modela (npr. sva ogranienja imaju oblik jednakosti), ona se moe iskoristiti za uinkovitije rjeavanje problema. I zaista, specifini algoritmi za rjeavanje posebnih klasa problema linearnog programiranja mogu biti i do stotinjak puta bri od simplex algoritma i zahtijevaju znatno manje memorije, pa stoga omoguuju rjeavanje problema veih dimenzija u razumnom vremenu. Osim toga, oni daju cjelobrojna rjeenja za probleme u kojima takva rjeenja odgovaraju prirodi problema. Primjenom neke od metoda za rjeavanje transportnog problema dobit emo optimalno rjeenje za na problem, prikazano u tablici 7.2. Ukupna cijena transporta za ovo rjeenje jest 2.020 dolara.

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

Primjene transportnog problema


Osim primjena u transportu izmeu tvornica i skladita, skladita i prodavaonica i sl., transportni se problem koristi i za rjeavanje sloenog problema lokacije viestrukih kapaciteta. To je problem traenja najpovoljnijih lokacija za vei broj centara razliitog kapaciteta (npr. tvornica, skladita i prodavaonica) koji se mogu smjestiti na vei broj moguih lokacija. Trai se rjeenje koje daje najmanje ukupne transportne trokove. Ovaj se problem moe rijeiti tako da se za svaku moguu kombinaciju smjetaja centara na skupinu moguih lokacija rijei odgovarajui transportni problem, ime se za svaku takvu kombinaciju dobije optimalno rjeenje transporta za koje je vrijednost ukupnih transportnih trokova minimalna. Usporedba optimalnih rjeenja razliitih kombinacija smjetaja centara na skupinu moguih lokacija daje lokaciju koja je najpovoljnija s obzirom na transportne trokove (ili vie takvih lokacija).

7.4. Problem dodjeljivanja


Problem dodjeljivanja predstavlja specijalan sluaj transportnog problema, a time i problema linearnog programiranja. Problem dodjeljivanja slui za odreivanje optimalnog naina dodjeljivanja n elemenata (npr. poslova) na n mjesta (npr. strojeva), i to tako da svaki element bude dodijeljen jednom i samo jednom mjestu. Pritom se elementi ne mogu dijeliti na manje dijelove, a svako dodjeljivanje ima svoj troak ili vrijeme potrebno za izvoenje akcije koja je vezana za dodjeljivanje (npr. izvoenje nekog posla na nekom stroju). Trai se rjeenje koje minimizira ukupni troak izvoenja aktivnosti.

Primjer problema dodjeljivanja


Kao primjer problema dodjeljivanja uzet emo sljedei problem. Imamo etiri posla koja elimo dodijeliti na izvoenje grupi od etiriju strojeva, a svaki od poslova moe se izvoditi na bilo kojem stroju. Pritom se svaki posao obrauje na samo jednom stroju, a svaki stroj mora biti dodijeljen samo jednom poslu. Trokovi obrade pojedinog posla ovise o tome na kojem se stroju izvode, kao to se vidi u tablici 7.3. Trai se takvo dodjeljivanje koje ima minimalan ukupni troak obrade.

Tablica 7.3. Trokovi obrade poslova na razliitim strojevima u problemu dodjeljivanja

102

I. INFORMACIJSKA TEHNOLOGIJA U POSLOVANJU

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).

Nain rjeavanja problema dodjeljivanja


Problem dodjeljivanja takoer je specijalan sluaj problema transporta u kojem je broj centara za opskrbu jednak broju centara potranje, svi centri za opskrbu imaju kapacitet jednak jedan i svi centri potranje imaju vrijednost potranje jednaku jedan. Rjeenje problema dodjeljivanja moe se dobiti primjenom postupaka za rjeavanje transportnog problema, ali su razvijene i specifine metode koje problem

Tablica 7.4. Optimalno rjeenje primjera dodjeljivanja poslova strojevima

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

Primjene problema dodjeljivanja


Problem dodjeljivanja moe se primijeniti na vie razliitih tipova dodjeljivanja, npr. dodjeljivanje poslova strojevima, radnika radnim zadacima, predstavnika prodaje teritorijima, urednika rukopisima, ugovora ponuaima i sl.

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.

You might also like