optimizacija

17
7.1. Linearno programiranje 7.2. Cjelobrojno linearno programiranje 7.3. Transportni problem 7.4. Problem dodjeljivanja 7 Optimizacija Vlatko Èeriæ Metode optimizacije omoguæuju traženje najpovoljnijih rješenja razlièitih problema. U poslovnoj ekonomiji najviše se koriste metode linearne optimizacije koje omoguæuju nalaženje najpovoljnijih rješenja problema u kojima i funkcija cilja (tj. velièina koju želimo optimizirati) i ogranièenja imaju linearan oblik ovisnosti o nezavisnim varijablama. U ovom poglavlju prikazat æemo osnove najviše korištenih metoda linearne optimizacije: linearnog programiranja, cjelobrojnog linearnog programiranja, transportnog problema i problema dodjeljivanja. Naglasak je na prepoznavanju problema iz prakse koji se mogu riješiti linearnom optimizacijom, formulaciji optimizacijskog modela te analizi osjetljivosti rezultata optimizacije. 7.1. Linearno programiranje Metode optimizacije omoguæuju nalaženje najboljih rješenja razlièitih vrsta problema, i vrlo su pogodne za rješavanje problema u poslovnoj ekonomiji. Tipièni poslovni problemi vezani su za korištenje ogranièenih resursa (ljudi, oprema, materijali, financiranje i sl.) kojima se nastoji postiæi najveæa moguæa dobit, osigurati najveæa moguæa kvaliteta usluge s postojeæim poslovnim resursima i slièno. Kod svih tih metoda zajednièko je to da je potrebno formulirati model problema, analizirati moguæe varijante rješenja i meðu njima pronaæi najpovoljnije rješenje po odabranom kriteriju. U poslovnoj ekonomiji najviše se koriste metode linearne optimizacije koje omoguæuju nalaženje najpovoljnijih rješenja problema u kojima su i funkcija cilja (npr. dobit) i utrošci 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 zapoèeti opisom linearnog programiranja, najvažnije i najviše korištene metode za rješavanje poslovnih problema, koja je ujedno i temelj za niz drugih linearnih optimizacijskih metoda.

Upload: mexx007

Post on 20-Jan-2016

70 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: optimizacija

7.1. Linearno programiranje7.2. Cjelobrojno linearno programiranje7.3. Transportni problem 7.4. Problem dodjeljivanja

7Optimizacija

Vlatko Èeriæ

Metode optimizacije omoguæuju traženje najpovoljnijih rješenja razlièitih problema.U poslovnoj ekonomiji najviše se koriste metode linearne optimizacije kojeomoguæuju nalaženje najpovoljnijih rješenja problema u kojima i funkcija cilja (tj.velièina koju želimo optimizirati) i ogranièenja imaju linearan oblik ovisnosti onezavisnim varijablama. U ovom poglavlju prikazat æemo osnove najviše korištenihmetoda linearne optimizacije: linearnog programiranja, cjelobrojnog linearnogprogramiranja, transportnog problema i problema dodjeljivanja. Naglasak je naprepoznavanju problema iz prakse koji se mogu riješiti linearnom optimizacijom,formulaciji optimizacijskog modela te analizi osjetljivosti rezultata optimizacije.

7.1. Linearno programiranjeMetode optimizacije omoguæuju nalaženje najboljih rješenja razlièitih vrstaproblema, i vrlo su pogodne za rješavanje problema u poslovnoj ekonomiji. Tipièniposlovni problemi vezani su za korištenje ogranièenih resursa (ljudi, oprema,materijali, financiranje i sl.) kojima se nastoji postiæi najveæa moguæa dobit,osigurati najveæa moguæa kvaliteta usluge s postojeæim poslovnim resursima islièno. Kod svih tih metoda zajednièko je to da je potrebno formulirati modelproblema, analizirati moguæe varijante rješenja i meðu njima pronaæi najpovoljnijerješenje po odabranom kriteriju.U poslovnoj ekonomiji najviše se koriste metode linearne optimizacije koje omoguæujunalaženje najpovoljnijih rješenja problema u kojima su i funkcija cilja (npr. dobit) iutrošci resursa (npr. materijala ili vremena) linearno proporcionalni vrijednostimanezavisnih varijabli (npr. broju proizvedenih proizvoda). Stoga æemo u ovom poglavljuopisati metode linearne optimizacije. Prikaz æemo zapoèeti opisom linearnogprogramiranja, najvažnije i najviše korištene metode za rješavanje poslovnihproblema, koja je ujedno i temelj za niz drugih linearnih optimizacijskih metoda.

Page 2: optimizacija

88 I. INFORMACIJSKA TEHNOLOGIJA U POSLOVANJU

Primjer modela linearnog programiranja

Metodu linearnog programiranja demonstrirat æemo na jednostavnom primjeruproblema tvrtke Satex, malog proizvoðaèa satova, koja traži proizvodni plan koji bitvrtki osigurao maksimalnu moguæu dobit. Tvrtka proizvodi dvije vrste satova,Raketix i Rolix, pri èemu dobit po jednom prodanom primjerku sata iznosi 10 dolaraza model Raketix a 25 dolara za model Rolix. Potražnja za objema vrstama satova jevelika te nadmašuje proizvodni kapacitet tvrtke. Analizom proizvodnih kapacitetaustanovljeno je da je volumen proizvodnje koji se može postiæi ogranièen trimavrstama resursa, i to: specijalnim tranzistorima, vremenom radnika koji sastavljajusatove te vremenom radnika koji provjeravaju ispravnost satova. Tvrtka dnevno imana raspolaganju 40 specijalnih tranzistora, 200 sati radnika koji sastavljaju satove i160 sati radnika koji provjeravaju satove.Iako se na prvi pogled èini da treba proizvoditi iskljuèivo Rolix satove jer se za njihpostiže veæa dobit, ta vrsta satova zahtijeva više kritiènih resursa nego Raketixsatovi. Tako se samo u Rolix satove ugraðuje po jedan specijalni tranzistor, zasastavljanje jednog komada modela Raketix potreban je 1 sat a za model Rolix èak 4sata, dok za provjeru treba 1 sat rada za model Raketix, a 2 sata za model Rolix. Našcilj je pronaæi kakvim se proizvodnim programom može ostvariti najveæa moguæadobit te koliki æe biti iznos te dobiti. Ukoliko èitatelj pokuša samostalno riješiti ovajproblem (što mu i preporuèujemo), može se i sam uvjeriti da najpovoljnijiproizvodni program i nije tako lako naæi, premda je ovaj problem vrlo jednostavan isadrži svega dvije vrste proizvoda i tri ogranièenja.Pogledajmo sada kako formulirati model linearnog programiranja. Napominjemo daje izgradnja modela posao korisnika, dok izraèunavanje optimalnog rješenja i analizuosjetljivosti modela izvodi program korištenjem odgovarajuæih algoritama (postupakarješavanja problema). Interpretaciju dobivenih rezultata opet radi korisnik. Prvo æemo definirati varijable odluèivanja, tj. varijable o èijoj vrijednosti trebamodonijeti odluku (te vrijednosti dobivamo rješavanjem problema linearnog programi-ranja). Uvest æemo sljedeæe oznake za varijable odluèivanja: neka x1 bude traženakolièina dnevne proizvodnje Raketix satova, a x2 tražena kolièina dnevne proizvodnjeRolix satova. Buduæi da dobit po jednom primjerku sata iznosi 10 dolara za modelRaketix, a 25 dolara za model Rolix, ukupna dnevna dobit bit æe oèito "10 x1 + 25 x2".To je velièina koju maksimiziramo i koju nazivamo funkcija cilja.Slièno tome formulirat æemo i ogranièenja našeg problema. Tako za sastavljanjejednog Raketix sata treba 1 sat rada, dok za sastavljanje jednog Rolix sata treba 4sata rada, a dnevno imamo na raspolaganju 200 sati radnika koji sastavljaju satove.Stoga ovo ogranièenje oèito ima oblik "1 x1 + 4 x2 ≤ 200", a na jednak naèin možemodoæi i do ostalih ogranièenja. Dodatno prirodno ogranièenje je u tome što nijemoguæe proizvoditi negativne kolièine satova, tj. mora biti "x1 ≥ 0, x2 ≥ 0" (štovrijedi za sve varijable odluèivanja u ekonomskim problemima).

Page 3: optimizacija

897. Optimizacija

Na temelju ovih razmatranja formulirat æemo model linearnog programiranja ovogproblema:

Max (10 x1 + 25 x2) maksimizacija ukupne dnevne dobitiuz ogranièenja:

1 x2 ≤ 40 (1) broj specijalnih tranzistora1 x1 + 4 x2 ≤ 200 (2) vrijeme sastavljanja satova1 x1 + 2 x2 ≤ 160 (3) vrijeme provjeravanja satovax1 ≥ 0, x2 ≥ 0

Problem linearnog programiranja dakle vodi na optimizaciju vrijednosti nekelinearne funkcije varijabli odluèivanja uz zadovoljavanje odreðenog broja linearnihogranièenja napisanih u obliku nejednadžbi. Funkcija koju maksimiziramo nazivase funkcijom cilja, a koeficijenti u ogranièenjima nazivaju se tehnološkim koefici-jentima.Linearno programiranje rješava i probleme minimizacije funkcije cilja, npr. traženjenajjeftinije mješavine hrane za životinje koja æe zadovoljiti zahtjeve za potrebnomkolièinom kalorija, vitamina i sl. U problemima minimizacije èesto se pojavljuju iogranièenja tipa "veæe ili jednako", npr. kolièina vitamina u dnevnom obroku morabiti veæa ili jednaka kolièini koju traži odreðeni standard prehrane.

Grafièki naèin rješavanja modela linearnog programiranja

Primjer tvrtke Satex sadrži samo dvije varijable, što omoguæuje grafièki prikazoptimizacijskog modela. Takav je prikaz vrlo koristan za uvid u prirodu problemalinearnog programiranja, jer omoguæuje intuitivno razumijevanje problema, naèinanjegova rješavanja, karaktera optimalnog rješenja te analize osjetljivosti rješenja.Grafièki prikaz sadrži samo prvi kvadrant ravnine jer varijable odluèivanja ne moguimati negativnu vrijednost. Pogledajmo sada kako se mogu prikazati ogranièenja, iza to æemo uzeti primjer ogranièenja vremena sastavljanja satova: "1 x1 + 4 x2 ≤200". Kao prvo, prikazat æemo samu granicu podruèja ogranièenja, a to je pravac"1 x1 + 4 x2 = 200" koji dobijemo pretvaranjem nejednadžbe u jednadžbu. Taj pravacmožemo nacrtati tako da naðemo njegova presjecišta s objema koordinatnim osimai zatim ta presjecišta spojimo odreskom pravca. Presjecište s osi x1 dobijemo tako daizjednaèimo x2 s nulom, iz èega slijedi da je x1 = 200, a na isti naèin dobijemo da jepresjecište s osi x2 jednako x2 = 50. Kada ravnom linijom spojimo ta dva presjecištadobijemo odrezak pravca koji predstavlja gornji rub ogranièenja, a samo ogranièenjeprikazano je osjenèanom površinom ispod tog odreska pravca (slika 7.1.).

Page 4: optimizacija

90 I. INFORMACIJSKA TEHNOLOGIJA U POSLOVANJU

Kada na isti naèin grafièki prikažemo sva tri ogranièenja, dobit æemo podruèjemoguæih rješenja problema koje zadovoljava sva tri ogranièenja. Ovo podruèjeprikazano je kao osjenèana površina na slici 7.2.

No, ono što tražimo jest rješenje koje je ne samo moguæe veæ i najpovoljnije(optimalno) prema odabranom kriteriju. Prije nego što prijeðemo na traženjeoptimalnog rješenja obratimo pozornost na vrhove poligona (A, B, C, D, i 0) kojiuokviruje podruèje moguæih rješenja. Ti su vrhovi, zvani i ekstremne toèke podruèjamoguæih rješenja, od kljuènog znaèenja za traženje optimalnog rješenja. Naime,prema teoremu ekstremnih toèaka linearnog programiranja ukoliko postojioptimalno rješenje problema linearnog programiranja, tada bar jedno optimalnorješenje mora biti u ekstremnoj toèki podruèja moguæih rješenja. Ovaj teorempokazuje da traženje optimalnog rješenja možemo ogranièiti na konaèan broj

Slika 7.2. Podruèje moguæih rješenja problema tvrtke Satex

50

x2

50 100 150 200 x1

xx

+ 4 = 2002

1

Slika 7.1. Grafièki prikaz ogranièenja vremena sastavljanja satova

Page 5: optimizacija

917. Optimizacija

ekstremnih toèaka (u našem jednostavnom primjeru to je svega pet toèaka, dok kodsloženih problema to može biti jako velik broj toèaka).Ako nacrtamo funkciju cilja za nekoliko vrijednosti dobiti, vidjet æemo koja bi odekstremnih toèaka mogla predstavljati optimalno rješenje problema. Ukolikofunkciju cilja "10x1 + 25x2" izjednaèimo npr. s vrijednošæu $ 1000, dobivamojednadžbu pravca "10x1 + 25x2 = 1000", koji možemo nacrtati na isti naèin na kojismo crtali linije ogranièenja (slika 7.3.). Uzmimo još dvije moguæe vrijednostidobiti, $ 1500 i $ 2000 te i njih nacrtajmo crtkanom linijom na istoj slici. Linijejednake dobiti meðusobno su paralelne, pri èemu su linije s veæom vrijednostifunkcije cilja dalje od ishodišta.

Sada trebamo vidjeti koliko daleko možemo pomicati liniju jednake dobiti u smjeru odishodišta, a da ona sadrži bar još jednu toèku iz podruèja moguæih rješenja. Iz slike 7.3.jasno je da æe bar jedna od toèaka koja daje optimalnu vrijednost biti ekstremna toèka.Ona æe biti jedina toèka optimuma ukoliko linija dobiti nije paralelna ni jednoj linijiogranièenja, ili jedna od optimalnih toèaka u rijetkim sluèajevima da je linija jednakedobiti paralelna nekoj od linija ogranièenja (ukoliko bi npr. linija jednake dobiti bilaparalelna ogranièenju br. 2, tada bi sve toèke na odresku pravca BC, ukljuèujuæi iekstremne toèke B i C, predstavljale optimalno rješenje). U primjeru tvrtke Satex oèitoje da je toèka C optimalno rješenje problema, jer u njoj linija dobiti postiže svojunajveæu vrijednost. Koordinate toèke C (koje predstavljaju rješenje problema) dobitæemo kao koordinate presjecišta ogranièenja br. 2 i br. 3 pisanih u obliku jednadžbi,rješavajuæi jednostavan sustav dviju jednadžbi s dvije nepoznanice:

1 x1 + 4 x2 = 200 (2) vrijeme sastavljanja satova1 x1 + 2 x2 = 160 (3) vrijeme provjeravanja satova

50

x2

50 100 150 200 x1

40

80

A B

C

D1600

10 + 25 x

x = $2000

1

2

=$1500

=$1000

Slika 7.3. Linije jednake dobiti za razlièite vrijednosti dobiti

Page 6: optimizacija

92 I. INFORMACIJSKA TEHNOLOGIJA U POSLOVANJU

Rješenje, npr., možemo naæi tako da odbijemo drugu od prve jednadžbe, èimedobivamo "2 x2 = 40", što daje vrijednost rješenja x2 = 20. Kada dobivenu vrijednostvarijable x2 uvrstimo u bilo koju od gornjih dviju jednadžbi ogranièenja dobit æemovrijednost x1 = 120. Dakle, optimalno je proizvoditi 120 satova Raketix i 20 satovaRolix dnevno, za što dobit iznosi 10 · 120 + 25 · 20 = 1700 dolara dnevno.Buduæi da je optimalno rješenje na presjecištu ogranièenja br. 2 i br. 3, to ujednoznaèi da su ta dva ogranièenja iskorištena do kraja. Ogranièenje br. 1, tj. brojspecijaliziranih tranzistora, nije meðutim iskorišteno do kraja. Kada u nejednadžbutog ogranièenja (x2 ≤ 40) uvrstimo optimalnu vrijednost varijable x2 = 20, vidimo dajoš 20 specijaliziranih tranzistora koji nam dnevno stoje na raspolaganju nijeiskorišteno u optimalnom proizvodnom programu.

Simplex algoritam za rješavanje problema linearnog programiranja

U stvarnim problemima optimizacije susreæemo se sa stotinama ili èak tisuæamavarijabli odluèivanja i još veæim brojem ogranièenja, pa je za rješavanje problemalinearnog programiranja potrebno imati uèinkovit opæeniti postupak rješavanja(algoritam). Najpoznatiji i najviše korišten algoritam za rješavanje problemalinearnog programiranja je simplex algoritam, koji je 1947. godine razvio GeorgeDantzig. Simplex algoritam je algebarski postupak pretraživanja ekstremnih toèakapodruèja moguæih rješenja problema linearnog programiranja. Pri tome se redompretražuju susjedne ekstremne toèke, a kao sljedeæa ekstremna toèka izabire se onakoja daje jednako ili bolje rješenje nego prethodna.Simplex algoritam opisan je u literaturi posveæenoj linearnom programiranju (npr.Eppen i dr., 1993).Postoje brojni raèunalni programi posveæeni linearnom programiranju, a osim toga iprogrami za proraèunske tablice (npr. Excel) ukljuèuju dodatke za rješavanje proble-ma linearnog programiranja (vidi poglavlje o primjeni tabliènih kalkulatora u potporiodluèivanju).

Analiza osjetljivosti

Nalaženjem optimalnog rješenja nije završena analiza rješenja problema, veæ se onaupotpunjuje izvoðenjem analize osjetljivosti èiji je cilj ispitivanje promjena u izlaznimvrijednostima modela kao posljedice promjena u pojedinaènim ulaznim parametrimamodela. Analiza osjetljivosti dobivenih rješenja linearnim programiranjem provodi sekorištenjem standardnih izlaznih podataka dobivenih izvoðenjem simplex algoritma.Pogledajmo prvo zbog èega je važna analiza osjetljivosti dobivenog optimalnogrješenja. Vrijednosti parametara optimizacijskog modela, tj. jediniène dobiti te iznosi

Page 7: optimizacija

937. Optimizacija

ogranièenja resursa i tehnološki koeficijenti, u pravilu su procjene. Buduæi da semodeli prave zbog donošenja odluka koje æe se realizirati u bližoj ili daljojbuduænosti, procjena vrijednosti parametara (npr. troškova transporta) mora se teme-ljiti na predviðanju njihovih buduæih vrijednosti, što neminovno dovodi do pogrešaka.Analiza osjetljivosti daje nam stupanj osjetljivosti rezultata modela na malepromjene ulaznih parametara modela. Ukoliko je osjetljivost modela na neki ulazniparametar velika, znaèi da je potrebno uložiti dodatni napor i sredstva da se napravitoènija procjena tog parametra, jer i mala pogreška u vrijednosti tog parametradovodi do velike pogreške u rezultatu. Analiza osjetljivosti daje nam odgovore i naneka druga pitanja, a da pritom ne moramo ponovno izvoditi optimizacijski program.Moguæe je npr. odgovoriti na pitanja o tome bi li sadašnji proizvodni program ostaooptimalan èak i ako bismo morali smanjiti dobit na nekima od proizvoda, odnosnokoliko bi se poveæala dobit ukoliko bismo dokupili neki od ogranièenih resursa.

a) Marginalni trošakMarginalni trošak pokazuje iznos poveæanja optimalne vrijednosti funkcije ciljakada se vrijednost ogranièenja jedne vrste resursa poveæa za jednu jedinicu togresursa, uz nepromijenjene vrijednosti svih drugih parametara modela. Na slici 7.4. prikazana je grafièka interpretacija marginalnog troška na primjerutvrtke Satex za sluèaj poveæanja vrijednosti ogranièenja resursa br. 3 (vrijeme pro-vjeravanja satova). Vidimo da ovo poveæanje odgovara paralelnom pomakugraniène linije tog ogranièenja, što uzrokuje pomak optimalne toèke iz položaja C uC', gdje funkcija cilja ima nešto veæu vrijednost. Meðutim, optimalno rješenje idalje ostaje na presjecištu istih ogranièenja.

50

x2

50 100 150 200 x1

40

80

A B

C

D1600

(1)(2)

(3)C

Slika 7.4. Marginalni trošak poveæanja kolièine resursa br. 3

Page 8: optimizacija

94 I. INFORMACIJSKA TEHNOLOGIJA U POSLOVANJU

Rješenje optimizacijskog modela tvrtke Satex daje sljedeæe vrijednosti marginalnihtroškova: $0 za specijalne tranzistore (sjetimo se da taj resurs nije u potpunostiiskorišten u optimalnom rješenju), $2,5 za vrijeme sastavljanja satova, te $7,5 zavrijeme provjeravanja satova.Dobivene vrijednosti marginalnih troškova mogu nam pomoæi da naðemo odgovorna pitanje u koje bi resurse trebalo investirati kako bi se postiglo najveæe poveæanjedobiti. Resursi imaju svoju cijenu, pa pretpostavimo da jedna jedinica resursa br. 1stoji $4, jedna jedinica resursa br. 2 stoji $1, a jedna jedinica resursa br. 3 stoji $6,5.Kada od poveæanja dobiti za ulaganje u jednu jedinicu resursa odbijemo cijenu togresursa, vidimo da proširenje od jedne jedinice resursa br. 1 donosi gubitak od $4,proširenje od jedne jedinice resursa br. 2 donosi dobitak od $1,5, a proširenje odjedne jedinice resursa br. 3 donosi dobitak od $1.Upravi tvrtke Satex savjetovali bismo dakle da investira u poveæanje vremenasastavljanja satova (resurs br. 2) jer æe na taj naèin postiæi najveæe poveæanje dobiti.

b) Granice vrijednosti ogranièenjaDobiveni iznosi marginalnih troškova vrijede samo tako dugo dok promjeneogranièenja resursa ne dovedu do novog optimalnog rješenja koje leži u nekojdrugoj ekstremnoj toèki. Cilj traženja granica vrijednosti ogranièenja jest odreditido kojih se granica može promijeniti vrijednost pojedinog ogranièenja uz nepromi-jenjene vrijednosti svih drugih parametara modela, a da se ne promijeni optimalnatoèka (tj. ekstremna toèka).Granice vrijednosti ogranièenja resursa prikazat æemo grafièki na primjeruogranièenja resursa br. 3 (vrijeme provjeravanja satova) kod optimizacijskog mode-

50

x2

50 100 150 200 x1

40

80

A B

C

D1600

(3a)

100

(3)

(3b)

200 sati160 sati120 sati

Slika 7.5. Granice vrijednosti ogranièenja resursa br. 3 u kojima se njegov marginalni trošak ne mijenja

Page 9: optimizacija

957. Optimizacija

la tvrtke Satex. Kada se vrijednost tog ogranièenja smanji na 120 sati (linija 3a naslici 7.5.), dolazi do promjene optimalnog rješenja koje prelazi iz toèke C u toèku B,pa daljnje smanjenje vrijednosti ogranièenja br. 3 dovodi do promjene vrijednostimarginalnog troška resursa br. 3. S druge strane, kada se vrijednost ogranièenja br. 3poveæa na 200 sati (linija 3b na slici 7.5.), dolazi do promjene optimalnog rješenjakoje seli iz toèke C u toèku D.Rješenje optimizacijskog modela tvrtke Satex daje sljedeæa podruèja promjenevrijednosti svih ogranièenja: 20 - ∞ za specijalne tranzistore, 160 - 240 za vrijemesastavljanja satova, te 120 - 200 za vrijeme provjeravanja satova.

c) Promjena vrijednosti koeficijenata funkcije ciljaPromjena vrijednosti pojedinaènih koeficijenata funkcije cilja (uz nepromijenjenevrijednosti svih drugih parametara modela) oèito utjeèe na optimalnu vrijednostfunkcije cilja, a može dovesti i do novog optimalnog rješenja koje leži u nekojdrugoj ekstremnoj toèki. Grafièka interpretacija promjene vrijednosti koeficijenatafunkcije cilja odgovara promjeni nagiba linije jednakih vrijednosti funkcije cilja.Unutar nekih granica vrijednosti koeficijenata funkcije cilja sadašnje se optimalnorješenje ne mijenja, a kada se te granice prijeðu, tada se dobiva novo optimalnorješenje u nekoj drugoj ekstremnoj toèki. Uèinak promjene vrijednosti koeficijenata funkcije cilja prikazat æemo grafièki naprimjeru modela linearnog programiranja tvrtke Satex. Unutar odreðenih granicavrijednosti koeficijenata vrh C ostaje optimalno rješenje (sluèaj a na slici 7.6.), dokprijelazom preko tih granica rješenje prelazi ili na vrh B (sluèaj b na slici 7.6.) ili navrh D. Rješenje optimizacijskog problema tvrtke Satex daje sljedeæa podruèjavrijednosti koeficijenata u funkciji cilja u kojima se optimalno rješenje ne mijenja:6,25 - 12,5 za prvi koeficijent, te 20 - 40 za drugi koeficijent.

Slika 7.6. Promjene vrijednosti koeficijenata funkcije cilja

Page 10: optimizacija

96 I. INFORMACIJSKA TEHNOLOGIJA U POSLOVANJU

Primjene linearnog programiranja

Linearno programiranje ima brojne primjene u poslovnoj ekonomiji. Tako problemmješavine sastojaka (engl. blending) opisuje mješavinu sastojaka od kojih svaki imasvoju cijenu i svojstva i traži se takva mješavina koja zadovoljava zadane uvjete, nezahtijeva više od raspoložive kolièine sastojaka te dovodi do minimalnih troškova.Primjeri problema mješavine problemi su mješavine nafte i mješavine životinjskehrane. Problem odreðivanja mješavine proizvoda (engl. product mix) traži odreði-vanje kolièina razlièitih vrsta proizvoda koje treba proizvesti da bi se maksimiziraladobit. Pritom svaki od proizvoda zahtijeva odreðene proizvodne resurse i odreðenimiznosom doprinosi ukupnoj dobiti. Konaèna mješavina proizvoda mora uzeti u obzirogranièenja proizvodnih resursa te oèekivanu potražnju za proizvodom. Takva vrstaproblema je i prethodno prikazani problem proizvodnje satova.Problem distribucije i dodjeljivanja opisuje slanje dobara iz dostavnih centara (npr.tvornica) u centre potražnje (prodavaonice ili skladišta). Svaki dostavni centar imasvoj kapacitet i cijenu proizvoda, a svaki centar potražnje svoju razinu potražnje.Transportni troškovi mogu se razlikovati po smjerovima distribucije. Traži se takvododjeljivanje transporta koje æe minimizirati ukupne transportne troškove, a dapritom zadovolji potražnju i ne prekoraèi raspoložive kapacitete dostavnih centara.Problem nabave rješava problem odluke o nabavi proizvoda (ili materijala) srazlièitih mjesta koja nude razlièite kolièine, kvalitete i cijene proizvoda. Cilj jepostizanje maksimalne moguæe dobiti uz zadovoljenje razlièitih zahtjeva u pogledukarakteristika proizvoda i ogranièenja budžeta.

7.2. Cjelobrojno linearno programiranjeNeki problemi linearne optimizacije razlikuju se od problema linearnog programi-ranja. Tako se linearni problemi u kojima su neke ili sve varijable odluèivanja cijelibrojevi rješavaju cjelobrojnim linearnim programiranjem, problemi za koje postojiviše ciljeva višekriterijskim programiranjem, a problemi u kojima se želi što višepribližiti nekoj ciljnoj vrijednosti ciljnim programiranjem. Problemi višefaznogodluèivanja ili oni u kojima se parametri mijenjaju kroz razlièite vremenske perioderješavaju se dinamièkim programiranjem, a problemi u kojima se pojavljujusluèajne varijable stohastièkim programiranjem.Problemi u kojima ili funkcija cilja ili ogranièenja sadrže nelinearne izraze rješavajuse nelinearnim programiranjem. Sve ove metode pripadaju podruèju matematièkogprogramiranja. Mi æemo se ovdje ogranièiti na prikaz cjelobrojnog linearnogprogramiranja.Metoda cjelobrojnog linearnog programiranja omoguæuje modeliranje i rješavanjeproblema linearne optimizacije kod kojih bar neke varijable moraju imati

Page 11: optimizacija

977. Optimizacija

cjelobrojnu vrijednost. Kod èistog cjelobrojnog linearnog programiranja svevarijable odluèivanja moraju biti cjelobrojne, kod miješanog cjelobrojnoglinearnog programiranja neke varijable moraju biti cjelobrojne ali ostale mogu bitikontinuirane, dok kod 0-1 programiranja sve varijable mogu poprimiti samo vrijed-nosti 0 ili 1. Ovdje æemo prikazati samo èisto cjelobrojno linearno programiranje.

Primjer modela cjelobrojnog linearnog programiranja

Specifiènosti modela cjelobrojnog linearnog programiranja demonstrirat æemo najednom jednostavnom primjeru:

Max ( 6 x1 + 4 x2 )Uz ogranièenja:

1 x2 ≤ 3 ogranièenje br. 1 3,42 x1 + 2 x2 ≤ 12 ogranièenje br. 2 2 x1 + 2 x2 ≤ 8 ogranièenje br. 3 x1, x2 ≥ 0 i cjelobrojni

Ovaj primjer prikazan je na slici 7.7, na kojoj vidimo da bi optimalno rješenjeodgovarajuæeg modela linearnog programiranja bilo u vrhu A. Taj vrh, meðutim,nije cjelobrojan pa stoga i nije u podruèju moguæih rješenja našeg modela. Podruèjemoguæih rješenja sastoji se od cjelobrojnih toèaka unutar podru-èja ogranièenja, a to jeu ovom problemu ukupno 12 toèaka prikazanih na slici 7.7.

Slika 7.7. Grafièki prikaz problema cjelobrojnog linearnog programiranja

Page 12: optimizacija

98 I. INFORMACIJSKA TEHNOLOGIJA U POSLOVANJU

Naèin rješavanja problema cjelobrojnog linearnog programiranja

Postoji nekoliko pristupa rješavanju cjelobrojnog linearnog programiranja. Prvi odnjih koristi linearno programiranje sa zaokruživanjem, i to tako da se naðe rješenjeproblema linearnog programiranja i to se rješenje zaokruži na niže cjelobrojnorješenje. Kada naš primjer riješimo simplex metodom, kao optimalno rješenjedobijemo toèku A (2,817, 1,183) s vrijednošæu funkcije cilja od 21,63. Zaokruži-vanje koordinata rješenja na niže cijele brojeve daje toèku s koordinatama (2, 1)koja se nalazi u podruèju moguæih rješenja i èija je vrijednost funkcije cilja 17.Drugi pristup koristi potpuno nabrajanje, u kojem se izraèunavaju i usporeðujuvrijednosti funkcije cilja za sve cjelobrojne toèke u podruèju moguæih rješenja. Ta jemetoda upotrebljiva samo za male probleme jer porastom broja varijabli odluèi-vanja jako brzo raste i broj takvih toèaka. Metoda djelomiènog nabrajanja mnogo jeuèinkovitija jer se ogranièava na ispitivanje samo dijela svih cjelobrojnih toèaka upodruèju moguæih rješenja. Najviše korištena metoda ovog tipa je metoda grananjai ogranièavanja (engl. branch and bound), koja dijeli skup toèaka u dva meðusobnoiskljuèiva podskupa i zatim odluèuje koji æe se od tih dvaju podskupova odbaciti, akoji æe se dalje dijeliti na dva dijela. Ovaj se postupak nastavlja sve dok se ne doðedo toèke s optimalnom vrijednošæu funkcije cilja.Kada na naš problem primijenimo neku od posljednjih triju spomenutih metoda,dobit æemo da je optimalno rješenje toèka (2, 2), za koju je vrijednost funkcije ciljajednaka 20. Vidimo da je ovo rješenje znatno povoljnije od onog koje smo dobilikoristeæi linearno programiranje sa zaokruživanjem.Optimalno rješenje ovdje ne sadrži informacije o osjetljivosti problema. Analizuosjetljivosti možemo provesti tako da uzastopno rješavamo optimizacijski problem snovim vrijednostima parametara, što za veæi problem može biti dugotrajan posao. Zanaš jednostavan problem npr. jedinièno poveæanje kolièine resursa br. 2 donosi pove-æanje dobiti za 2 jedinice, dok isto ulaganje u ostale resurse ne donosi dodatnu dobit.

Primjene cjelobrojnog linearnog programiranja

Problem mješavine proizvoda traži odreðivanje kolièine razlièitih vrsta proizvoda kojetreba proizvesti da bismo ostvarili maksimalnu dobit. Problem izbora projekataodnosi se na izbor odreðenog broja projekata iz veæeg skupa predloženih projekata.Pritom projekti imaju razlièite potrebe za ljudskim resursima i sredstvima, te razlièiteizglede na povrat investicije. Uz neki ogranièeni budžet treba maksimizirati ukupnioèekivani povrat investicija. Problem lokacije pogona mora riješiti pitanje na kojim æese lokacijama, od veæeg broja moguæih, izgraditi jedan ili više pogona. Odluka moraminimizirati ukupne troškove koji se sastoje od troškova transporta prema odrediš-tima s razlièitom potražnjom te fiksnih troškova za rad i održavanje svih pogona.

Page 13: optimizacija

997. Optimizacija

7.3. Transportni problemVelika klasa problema linearnog programiranja posveæena je rješavanju problema umrežama, tj. problema koji su definirani na skupu èvorova povezanih lukovima.Mreže mogu biti stvarne fizièke transportne mreže, ali i apstraktne mrežne strukture.Primjeri problema optimizacije na fizièkim mrežama su problemi transporta,najkraæeg puta i maksimalnog toka u mreži. Problemi s apstraktnim mrežamaukljuèuju npr. dodjeljivanje, planiranje i upravljanje projektima te problem toka novca(engl. cash flow). Ovdje æemo se ogranièiti na opis dvaju problema posebno važnih zaprimjenu, i to transportnog problema i problema dodjeljivanja.Transportni problem služi za odreðivanje optimalnog naèina odvijanja transportaizmeðu veæeg broja centara za opskrbu i centara potražnje. Pritom svaki centar zaopskrbu ima svoj kapacitet (npr. proizvodni kapacitet) a svaki centar potražnje (npr.skladište) ima svoju razinu potražnje. Transportni putovi izmeðu razlièitih centaraza opskrbu i centara potražnje mogu imati razlièite jediniène cijene transporta. Tražise takva struktura transporta koja æe zadovoljiti potražnju, i to uz minimalne ukupnetransportne troškove.

Primjer transportnog problema

Kao primjer transportnog problema uzet æemo problem sljedeæih karakteristika.Potrebno je distribuirati robu iz triju centara za opskrbu (A, B i C) u èetiri centrapotražnje (1, 2, 3, 4). U tablici 7.1. dani su podaci o jediniènim transportnimtroškovima iz centara za opskrbu u centre potražnje. Ovaj transportni problem jebalansiran, tj. ukupna kolièina koju mogu isporuèiti centri za opskrbu (250 jedinica)jednaka je ukupnoj kolièini potražnje svih centara za potražnju.Optimizacijski model transportnog problema formulira se kao problem minimizacijeukupnih transportnih troškova u kojem ogranièenja predstavljaju jednadžbe ukupneisporuke iz svih centara za opskrbu te ukupne dostave u sve centre potražnje. Pritomtreba uzeti u obzir kapacitete centara za opskrbu i razinu potražnju u centrimapotražnje. Varijable odluèivanja predstavljaju broj jedinica robe koji se transportira izpojedinih centara opskrbe u pojedine centre potražnje.

Tablica 7.1. Jedinièni transportni troškovi za primjer transportnog problema

Page 14: optimizacija

Naèin rješavanja transportnog problemaTransportni problem zapravo je problem linearnog programiranja koji možemorješavati simplex metodom. Meðutim, buduæi da se radi o specifiènoj strukturimodela (npr. sva ogranièenja imaju oblik jednakosti), ona se može iskoristiti zauèinkovitije rješavanje problema. I zaista, specifièni algoritmi za rješavanje posebnihklasa problema linearnog programiranja mogu biti i do stotinjak puta brži od simplexalgoritma i zahtijevaju znatno manje memorije, pa stoga omoguæuju rješavanjeproblema veæih dimenzija u razumnom vremenu. Osim toga, oni daju cjelobrojnarješenja za probleme u kojima takva rješenja odgovaraju prirodi problema. Primjenom neke od metoda za rješavanje transportnog problema dobit æemooptimalno rješenje za naš problem, prikazano u tablici 7.2. Ukupna cijena transportaza ovo rješenje jest 2.020 dolara.

Osim prikazanih podataka, rješenje ukljuèuje i elemente za analizu osjetljivosti, npr.marginalne transportne troškove koji odgovaraju minimalnim troškovima što semoraju platiti da bi se uvela jedna dodatna jedinica transporta na nekim transportnimpravcima u odnosu na kolièinu transporta u tom pravcu u optimalnom rješenju. Takoje u našem problemu npr. marginalni transportni trošak izmeðu centra za opskrbu A icentra potražnje 3 jednak 11 dolara. Transportni problem može biti i neizbalansiran, tj. ukupna kolièina koju moguisporuèiti centri za opskrbu može biti manja ili veæa od ukupne kolièine potražnje.Ukoliko opskrba premašuje potražnju automatski se uvodi prividni centar potražnjeèija je potražnja jednaka suvišnoj ponudi, èime se transportni problem balansira.Transportni troškovi do tog prividnog centra potražnje stavljaju se na nulu jer nematroška transporta u taj nepostojeæi centar potražnje. Dobiveni optimalni rezultatitransportnog problema interpretiraju se tako što oni centri opskrbe koji u optimal-nom rješenju opskrbljuju uvedeni prividni centar potražnje zapravo nikuda ne šaljute kolièine robe (jer taj prividni centar potražnje uistinu ne postoji).Ukoliko pak potražnja premašuje opskrbu, automatski se uvodi prividni centar zaopskrbu èiji je kapacitet isporuke jednak suvišnoj potražnji, èime se transportniproblem balansira. Dobiveni optimalni rezultati transportnog problema interpreti-raju se tako što centri potražnje koje u optimalnom rješenju opskrbljuje prividnicentar opskrbe zapravo ne mogu nabaviti te kolièine robe (jer taj prividni centaropskrbe ne postoji).

100 I. INFORMACIJSKA TEHNOLOGIJA U POSLOVANJU

Tablica 7.2. Optimalno rješenje primjera transportnog problema:isporuke iz centara za opskrbu u centre potražnje

Page 15: optimizacija

1017. Optimizacija

Primjene transportnog problemaOsim primjena u transportu izmeðu tvornica i skladišta, skladišta i prodavaonica i sl.,transportni se problem koristi i za rješavanje složenog problema lokacije višestrukihkapaciteta. To je problem traženja najpovoljnijih lokacija za veæi broj centara razli-èitog kapaciteta (npr. tvornica, skladišta i prodavaonica) koji se mogu smjestiti na veæibroj moguæih lokacija. Traži se rješenje koje daje najmanje ukupne transportnetroškove. Ovaj se problem može riješiti tako da se za svaku moguæu kombinacijusmještaja centara na skupinu moguæih lokacija riješi odgovarajuæi transportni problem,èime se za svaku takvu kombinaciju dobije optimalno rješenje transporta za koje jevrijednost ukupnih transportnih troškova minimalna. Usporedba optimalnih rješenjarazlièitih kombinacija smještaja centara na skupinu moguæih lokacija daje lokacijukoja je najpovoljnija s obzirom na transportne troškove (ili više takvih lokacija).

7.4. Problem dodjeljivanjaProblem dodjeljivanja predstavlja specijalan sluèaj transportnog problema, a time iproblema linearnog programiranja. Problem dodjeljivanja služi za odreðivanjeoptimalnog naèina 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 imasvoj trošak ili vrijeme potrebno za izvoðenje akcije koja je vezana za dodjeljivanje(npr. izvoðenje nekog posla na nekom stroju). Traži se rješenje koje minimiziraukupni trošak izvoðenja aktivnosti.

Primjer problema dodjeljivanja

Kao primjer problema dodjeljivanja uzet æemo sljedeæi problem. Imamo èetiri poslakoja želimo dodijeliti na izvoðenje grupi od èetiriju strojeva, a svaki od poslovamože se izvoditi na bilo kojem stroju. Pritom se svaki posao obraðuje na samojednom stroju, a svaki stroj mora biti dodijeljen samo jednom poslu. Troškoviobrade pojedinog posla ovise o tome na kojem se stroju izvode, kao što se vidi utablici 7.3. Traži se takvo dodjeljivanje koje ima minimalan ukupni trošak obrade.

Tablica 7.3. Troškovi obrade poslova na razlièitim strojevima u problemu dodjeljivanja

Page 16: optimizacija

102 I. INFORMACIJSKA TEHNOLOGIJA U POSLOVANJU

Model linearnog programiranja problema dodjeljivanja formulira se kao problemminimizacije ukupnih troškova obrade, u kojem ogranièenja predstavljajujednadžbe dodjeljivanja poslova strojevima te strojeva poslovima. Varijable odluèi-vanja predstavljaju broj poslova razlièitih tipova koji se dodjeljuju razlièitim stroje-vima, i mogu poprimiti samo vrijednosti 0 i 1 (neki posao je ili dodijeljen nekomstroju ili mu nije dodijeljen).

Naèin rješavanja problema dodjeljivanja

Problem dodjeljivanja takoðer je specijalan sluèaj problema transporta u kojem jebroj centara za opskrbu jednak broju centara potražnje, svi centri za opskrbu imajukapacitet jednak jedan i svi centri potražnje imaju vrijednost potražnje jednakujedan. Rješenje problema dodjeljivanja može se dobiti primjenom postupaka zarješavanje transportnog problema, ali su razvijene i specifiène metode koje problem

dodjeljivanja rješavaju brže i uèinkovitije.Primjenom neke od metoda za rješavanje problema dodjeljivanja dobivamooptimalno rješenje za naš problem, prikazano u tablici 7.4. Ukupna cijena obrade zaovo rješenje jest 164 jedinice.Osim prikazanih podataka, rješenje ukljuèuje i elemente za analizu osjetljivosti, npr.marginalne troškove dodjeljivanja nekog posla nekom drugom stroju (a ne onomkojem je bio dodijeljen u optimalnom rješenju) koji odgovaraju dodatnom trošku(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 optimalnomrješenju) stoji 30 jedinica više od troškova optimalnog rješenja.Neizbalansiranost problema dodjeljivanja rješava se na isti naèin kao neizbalansira-nost kod problema transporta. Ukoliko ima više poslova nego strojeva, tada æe seautomatski uvesti prividni stroj, a posao koji æe biti dodijeljen tom stroju zapravonije dodijeljen ni jednom stroju. Ukoliko pak ima više strojeva nego poslova, tadaæe se automatski uvesti prividni posao, a stroj koji æe biti dodijeljen tom posluzapravo nije dodijeljen ni jednom poslu.

Tablica 7.4. Optimalno rješenje primjera dodjeljivanja poslova strojevima

Page 17: optimizacija

1037. Optimizacija

Primjene problema dodjeljivanja

Problem dodjeljivanja može se primijeniti na više razlièitih tipova dodjeljivanja,npr. dodjeljivanje poslova strojevima, radnika radnim zadacima, predstavnikaprodaje teritorijima, urednika rukopisima, ugovora ponuðaèima i sl.

Literatura1. Eppen, G. D., Gould, F. J., Schmidt, C. P., Introductory Management Science, 4th

Edition, Prentice Hall, Englewood Cliffs, 1993.

Preporuèena literatura1. Cook, T. M., Russell, R. A., Introduction to Management Science, 4th Edition,

Prentice Hall, Englewood Cliffs, 1989.Knjiga opisuje korištenje različitih metoda znanosti o upravljanju te posvećuje desetak

poglavlja problemima linearne optimizacije. Opisane su formulacija i metode

rješavanja problema te su demonstrirane na velikom broju primjera.

Web mjesta1. e-OPTIMIZATION.COMMUNITY

www.e-optimization.comWeb mjesto koje sadrži veliki broj raznovrsnih resursa iz područja optimizacije.

Softver1. LINDO

www.lindo.comJedan od najpoznatijih optimizacijskih softvera. Može se dobiti i vrlo upotrebljiva

besplatna verzija.