Transportni Problem i Problem Asignacije_perić_perčinlić, Poljak (2)

64
SVEUČILIŠTE U ZAGREBU FAKULTET ORGANIZACIJE I INFORMATIKE VARAŽDIN Dario Perić Ivana Perčinlić Tihana Poljak TRANSPORTNI PROBLEM I PROBLEM ASIGNACIJE SEMINARSKI RAD

description

foi

Transcript of Transportni Problem i Problem Asignacije_perić_perčinlić, Poljak (2)

Page 1: Transportni Problem i Problem Asignacije_perić_perčinlić, Poljak (2)

SVEUČILIŠTE U ZAGREBUFAKULTET ORGANIZACIJE I INFORMATIKE

VARAŽDIN

Dario Perić

Ivana Perčinlić

Tihana Poljak

TRANSPORTNI PROBLEM I PROBLEM ASIGNACIJE

SEMINARSKI RAD

Varaždin, 2013.

Page 2: Transportni Problem i Problem Asignacije_perić_perčinlić, Poljak (2)

SVEUČILIŠTE U ZAGREBUFAKULTET ORGANIZACIJE I INFORMATIKE

VARAŽDIN

Dario Perić, 39324/10-R

Ivana Perčinlić, 39062/10-R

Tihana Poljak, 39212/10-R

Redoviti student

Smjer: Poslovni sustavi

Preddiplomski studij

TRANSPORTNI PROBLEM I PROBLEM ASIGNACIJE

SEMINARSKI RAD

Varaždin, svibanj 2013.

Page 3: Transportni Problem i Problem Asignacije_perić_perčinlić, Poljak (2)

Sadržaj

1. Uvod............................................................................................................................................1

2. Transportni problem....................................................................................................................2

2.1. Opći opis transportnog problema.........................................................................................2

2.2. Otvoreni model transporta....................................................................................................3

2.3. Slučaj degeneracije...............................................................................................................5

3. Rješavanje transportnog problema..............................................................................................7

3.1. MODI metoda.......................................................................................................................7

3.2. Metode za postavljanje početnog programa.......................................................................14

3.2.1. Metoda sjeverozapadnog kuta.....................................................................................14

3.2.2. Metoda minimalnih troškova.......................................................................................18

3.2.3. Vogelova aproksimativna metoda...............................................................................21

4. Problem asignacije.....................................................................................................................26

4.1. Matematički model.............................................................................................................30

4.2. Mađarska metoda................................................................................................................31

4.3. Otvoreni model problema asignacije..................................................................................37

6. Zaključak...................................................................................................................................38

7. Literatura...................................................................................................................................39

I

Page 4: Transportni Problem i Problem Asignacije_perić_perčinlić, Poljak (2)

1. Uvod

Problem transporta je jedan od prvih problema formuliranih u terminima linearnog

programiranja. Pored tzv. klasičnog problema transporta postoje različite generalizacije i mnoge

primjene od kojih ćemo neke u ovom seminaru razmotriti. Transportni problem se pojavljuje

kada treba programirati prijevoz neke robe iz više ishodišta u više ishodišta uz minimalne

troškove.

Problem asignacije odnosno problem dodjeljivanja je posebni slučaj transportnog

problema. Od transportnog problema se razlikuje po tome što su vrijednosti koje se nude i one

koje se traže jednake 1. Cilj koji se želi postići je neki optimum na osnovi neke mjere

individualne uspješnosti. Ovako formuliran zadatak asignacije se može primijeniti u mnogim

problemima rukovođenja. Neke od primjera problema asignacije ćemo prikazati kroz rješavanje

nekoliko zadataka.

1

Page 5: Transportni Problem i Problem Asignacije_perić_perčinlić, Poljak (2)

2. Transportni problem

2.1. Opći opis transportnog problema

Transportni problem je specijalan slučaj linearnog programiranja. Kod transportnog

problem je cilj pronalaska najboljeg mogućeg rješenja odnosno najpovoljnijeg. Pri provođenju

transportnog problema radi se o tome da se neko homogeno dobro u količini ai prenese odnosno

preveze s mjesta i na mjesto j pri čemu želimo postići da nam troškovi prijevoza budu minimalni.

Pri definiranju samog transportnog problema treba paziti na to da su troškovi po jedinici

robe koja se prevozi konstantni odnosno da količina robe koja se prevozi ne utječe na samu

cijenu prijevoza.

Općenito gledano transportni problem se dakle sastoji od sljedećih varijabli:

Skupa m točaka koje nam označavaju mjesta polazišta iz kojih dobra kreću Skupa n točaka koje nam označavaju mjesta na koja će dobra biti isporučena Skupa cij koji nam označava skup varijabilnih troškova za svaku jedinicu

proizvoda proizvedenog u ishodištu m[Ekonomski fakultet u Zagrebu, J.Kraljević – prezentacija Transportni problem]

Matematički bismo transportni problem mogli izraziti na sljedeći način: „Funkcija cilja

izražava ukupne troškove transporta (T) koje treba minimizirati, a koji se sastoje od umnožaka

jediničnih troškova transporta i količina koje se prenose.“. – Dražen Barković – Operacijska

Istraživanja

Drugim riječima rečeno, funkcija cilja nam je ukupni umnožak količine dobara koja se

prevozi i cijene prijevoza po jedinici dobra.

Što smo prikazali riječima također se može prikazati i matematičkim izrazom odnosno

formulom, a to je sljedeća:

minT=∑i=1

m

∑j=1

n

c ij x ij

Pri rješavanju transportnog problema postoje još neke stvari na koje treba obratiti pažnju,

a to su ograničenja. Ta ograničenja su sljedeća:

Za svako ishodište i postoji zahtjev da se čitava raspoloživa roba na ishodištu i pošalje na

određena mjesta gdje postoji potreba. Dakle želi se postići da se potroši sva količina koja je

raspoloživa.

2

Page 6: Transportni Problem i Problem Asignacije_perić_perčinlić, Poljak (2)

Vrijedi:

∑j=1

n

x ij=a i za i=1,2 ,…,m

Nadalje, sva odredišta j također trebaju dobiti željene količine bez obzira iz kojeg

ishodišta roba dolazila. Dakle želi se zadovoljiti potreba bez obzira na udaljenost ishodišta.

Vrijedi:

∑i=1

m

x ij=b j za j=1,2 , …, n

Na kraju zadnji uvjet koji mora vrijediti i bez kojeg čitav problem nema smisla je uvjet

nenegativnosti. Vrijedi:

x ij ≥ {za i=1,2 , …, mza j=1,2, …, n }

Uočavamo da količina koja će biti isporučena iz ishodišta i mora biti jednaka količini

koju potražuju odredišta j. Stoga zaključujemo da rješenje problema postoji samo onda ako je

suma svih ponuđenih količina jednaka sumi količina koje se potražuju ili skraćeno:

∑i=1

m

ai=∑j=1

n

b j

Na kraju treba uzeti u obzir i mogućnost da količine za isporuku neće biti jednake

količinama koje se potražuju. U slučaju da je količina robe za isporuku veća od količine robe

koja se potražuju uvodi se novo skladište ili mjesto za preuzimanje viška robe. Uvođenjem

dopunske varijable ponovno stvaramo problem koji ima rješenje. Također se može napraviti i

obrnuti postupak ukoliko je potražnja veća od količine. [Barković, 2001., str. 118]

2.2. Otvoreni model transporta

Transportni problem iako je sam po sebi specijalan slučaj linearnog programiranja ipak

nije jedinstven to jest možemo naići na slučaj koji nije zatvoreni problem. Taj slučaj se naziva

otvoreni model transporta i rješava se tako da se svodi na zatvoreni model transporta.

Otvoreni problem transporta je poseban slučaj transportnog problema u kojem nam uvjet

jednakosti ponuđene i tražene količini dobara nije jednak.

3

Page 7: Transportni Problem i Problem Asignacije_perić_perčinlić, Poljak (2)

Dakle vrijedi:

∑i=1

m

ai≠∑j=1

n

b j

Ranije smo naveli da transportni problem jedino može imati rješenje u slučaju da je tražena

količina dobara jednaka ponuđenoj količini dobara odnosno da vrijedi:

∑i=1

m

ai=∑j=1

n

b j

U slučaju u kojem se sada nalazimo, a to je slučaj da tražena količina nije jednaka

ponuđenoj količini ili obrnuto, nalazimo se u otvorenom modelu transporta. Otvoreni model

transporta je poseban slučaj transportnog problema u kojem ćemo nedostatak ponuđenih ili

traženih dobara, ovisno o tome čega nam nedostaje, nadopuniti tako da ćemo uvesti dopunske

varijable tj dopunsko ishodište ili odredište koje će poslati dobra koja nedostaju ili će prihvatiti

dobra koja su viška. Ovakav način rješavanja je ekvivalentan dodavanju dopunskih varijabli u

simpleks metodi.

Prvi slučaj na kojeg možemo naići je da je ponuda manja od ukupne potražnje. Ovaj

problem ćemo riješiti tako da uvedemo fiktivno ishodište koje će sadržavati onoliku količinu

dobara kolika je potrebna za zadovoljenje potražnje. Količinu dobara koja nam je potrebna ćemo

dobiti tako da od ukupne potražnje oduzmemo ukupnu ponudu. Matematički izraženo to izgleda

ovako:

am+1=∑j=1

n

b j−∑i=1

m

ai

Također moramo paziti na to da troškove transporta po jedinici proizvoda iz tog ishodišta

moraju biti jednaki nuli, jer moramo uzeti u obzir da je ovo ishodište fiktivno te da ne može

imati cijenu:

cm+1 , j=0 , j=1 ,…,n .

U drugom slučaju nam se javlja problem da je ukupna potražnja manja od ukupne

ponude. Ovo je obrnuti slučaj od prijašnjeg, no rješava se na gotovo jednak način. Dakle javlja

nam se problem da imamo ponuđeno više proizvoda nego što ih možemo isporučiti.

Kako bismo uskladili količine uvodimo odredište koje će ima potražnju za proizvodima

onoliku kolika je razlika između ponude i potražnje.

4

Page 8: Transportni Problem i Problem Asignacije_perić_perčinlić, Poljak (2)

Drugim riječima potražnju za fiktivno odredište koje smo uveli ćemo dobiti tako da od

ukupne ponude oduzmemo ukupnu potražnju. Matematički ćemo to izraziti na sljedeći način:

bn+1=∑i=1

m

ai−∑j=1

n

b i

Kao i kod prvog slučaja gdje nam je cijena transporta iz fiktivnog ishodišta prema svim

odredištima bila jednaka nuli, tako i u ovom slučaju postoji sličan uvjet, a to je da je cijena

transporta iz svih ishodišta u ovo fiktivno odredište jednaka nuli:

c i ,n+1=0 , i=1 , …, m.

[Ekonomski fakultet u Zagrebu, J.Kraljević – prezentacija Transportni problem]

2.3. Slučaj degeneracije

Degeneracija je relativno česta pojava u transportnom problemu. Do degeneracije dolazi

ako se u nekom dopuštenom rješenju pojavi manje od m+n-1 pozitivnih xij , gdje je m broj

ishodišta, a n broj odredišta, odnosno kada je rank matrice A, r(A)<m+n-1. Dakle degeneracije

znači da je broj bazičnih pozitivnih varijabli manji od zbroja broja redova i broja stupaca

umanjen za jedan.

Degeneracija je posljedica postojanja jedne ili više jednakih parcijalnih suma ponude ai i

potražnje bj tj vrijedi:

∑ ai'=∑ b j

'

Do degeneriranog bazičnog rješenja dolazi zato što su neka od rješenja m+n-1 jednaka

nuli odnosno neki xij = 0. Problem je u tome što se takvo bazično rješenje ne može poboljšati

metodama za dobivanje početnog rješenja, već moramo degenerirano rješenje pretvoriti u

nedegenerirano rješenje. Do degeneracije može doći upotrebom bilo koje metode u bilo kojoj

iteraciji.

Kao što smo već naveli degenerirano rješenje treba pretvoriti u nedegenerirano, a to se

radi tako da ubacimo u postupak zamišljeni teret u neko ili neka popunjena polja i to ona koja su

nam potrebna za izračunavanje svih vrijednosti ui i vj. Taj teret se obično označava slovom ε.

Valja napomenuti da ubacivanje zamišljene vrijednosti ne mijenja prvobitni problem niti

prvobitni karakter dodjele, a dovoljna je da se provede iteracije te postoji mogućnost da će ta

vrijednost do kraja provedbe svih iteracija nestati. [Barković, 2001., str. 138]

5

Page 9: Transportni Problem i Problem Asignacije_perić_perčinlić, Poljak (2)

6

Page 10: Transportni Problem i Problem Asignacije_perić_perčinlić, Poljak (2)

3. Rješavanje transportnog problema

Za rješavanje transportnog problema postoji puno metoda sa svojim pripadajućim

algoritmima za rješavanje. Te metode se mogu podijeliti na dvije osnovne skupine, a to su

metode koje zahtijevaju postavljanje početnog programa i metode koje ne zahtijevaju

postavljanje početnog programa.

Metode koje ne zahtijevaju postavljanje početnog programa su one metode koje ne polaze

od nekog već postojećeg programa nego postupno razvijaju program dok se ne dobije optimalni

program transporta. Od tih metoda najpoznatije su Ford-Fulkersonova metoda i metoda

razrješavajućih pribrojnika. Algoritmi za rješavanje ovih metoda su dosta komplicirani u odnosu

na metode koje zahtijevaju postavljanje početnog programa.1 U ovom seminaru ćemo veću

pažnju posvetiti metodama koje zahtijevaju postavljanje početnog programa. Jedna od

najpoznatija metoda je MODI metoda.

3.1. MODI metoda

Postoje mnoge metode za provjeravanje optimalnosti rješenja kojeg smo dobili

rješavanjem jednim od više mogućih postupaka. Jedan od načina provjere optimalnosti rješenja

je MODI metoda. Za MODI metodu nam je bitna jedna činjenica, a to je da ako je poznato

bazično rješenje nekog transportnog problema, tada je uvijek moguće odrediti realne brojeve ui

koji odgovaraju i=1,2,..,m i vj koji odgovaraju j=1,2,...,n. Ti brojevi su takvi da za svaki par (i,j)

za koje je xij bazična varijabla vrijedi:

ui+v j=cij

Nadalje, imamo dakle m+n-1 bazičnih varijabli, iz toga slijedi da ranije navedeni izraz je

zapravo sustav od m+n-1 jednadžbi sa m+n varijabli. Ova činjenica nam je bitna za daljnji tijek

provjeravanja optimalnosti odnosno tijek rješavanja MODI metode jer možemo jednu od veličina

ui ili vj odabrati po volji i koristiti u daljnjem tijeku rješavanja što ćemo vidjeti u nastavku.

1 Dobrenić S.: Operativno istraživanje, Fakultet organizacije i informatike Varaždin, 1978., str. 141-142.

7

Page 11: Transportni Problem i Problem Asignacije_perić_perčinlić, Poljak (2)

Pri tome se odabere jedna od te dvije varijable te njegove vrijednosti budu 0, pa se druge

izračunavaju sljedećom formulom:

v j=cij−ui

[Barković, 2001., str. 134]

U provođenju MODI metode postoje tri koraka koje ćemo u nastavku proći i pojasniti:

1. Ako je xk1 bazična varijabla unosimo jedinični trošak transporta na polje (k,1) te tablice.

Postupak ponavljamo za sve m+n-1 varijable. Na kraju se u zadnji stupac tablice unose

vrijednosti ui, a u zadnji redak vj.

Provodeći taj postupak dobivamo tablicu koje će otprilike ovako izgledati:

Tablica 3.1. Početna tablica MODI metode

ui

cij1,1 cij1,2 cij1,3 cij1,4 ui1

cij2,1 cij2,2 cij2,3 cij2,4 ui2

vj vj1 vj2 vj3 vj4

Pri tome valja napomenuti da neće sva polja biti popunjena, već će neka polja ostati

prazna!

2. U drugom koraku u polja koja su nam nakon prvog koraka ostala nepopunjena unosimo

vrijednosti koje dobivamo na sljedeći način:

c ij=ui+v j

To vrijedi za sve (i,j) za koje xij nije bazična varijabla.

Računajući vrijednosti na ranije naveden način dobivamo tablicu koja bi mogla teoretski

izgledati ovako:

Tablica 3.2. Tablica s unešenim bazičnim varijablama

ui

c ij c ij

c ij

8

Page 12: Transportni Problem i Problem Asignacije_perić_perčinlić, Poljak (2)

vj

3. Nakon drugog koraka dolazimo do trećeg i posljednjeg koraka u MODI metodi. U ovom

koraku računamo relativne specifične vrijednosti za prazna polja i to na sljedeći način:

c ij¿=c ij−c ij{i=1,2 ,…, m

j=1,2 , …, n

cij = 0 za sve (i,j) za koje su xij bazične varijable.

Ako nam se dogodi da za jedno dopušteno bazično rješenje klasičnog transportnog

problema postoji jedan c ij¿<0 , onda postoji i novo bazično rješenje.

Ako nam se pak dogodi da su svi c ij¿>0 tada je rješenje koje smo testirali optimalno.

Ako nam se dogodi da postoji jedan c ij¿=0 tada postoji više optimalnih bazičnih rješenja.

Na kraju kao zaključak možemo reći da MODI metoda možda i nije najjednostavnija metoda za

provjeravanje optimalnosti rješenja, ali je svakako vrlo efikasna te sa svojih svega tri koraka nam

neće oduzeti mnogo vremena kako bismo u potpunosti provjerili dobiveno rješenje. [Barković,

2001., str. 134]

Primjer rješavanja MODI metode

Modi metodom riješite problem transporta

min z=2 x11+4 x12+2x13+3 x21+4 x22+¿6 x23+2 x31+6 x32+4 x33 ¿

Uz zadana ograničenja:

x11+x12+x13=80x21+x22+x23=60x31+x32+ x33=40x11+x21+x31=55x11+x12+x13=70

x11+x12+x13=55

Broj ishodišta: 3

Broj odredišta: 3

Krenemo rješavati transportni problem pomoću IOR Tutorial alata:

1. KorakU prvo polje unosimo 55 čime smo zadovoljili potražnju prvog odredišta:

9

Page 13: Transportni Problem i Problem Asignacije_perić_perčinlić, Poljak (2)

Slika 1. 1. Korak dobivanja bazičnog rješenja transportnog problema

2. Korak: U drugo polje u prvom redu unosimo 25 čime smo iscrpili prvo skladište i brišemo taj red.

Slika 2. 2. Korak dobivanja bazičnog rješenja transportnog problema

10

Page 14: Transportni Problem i Problem Asignacije_perić_perčinlić, Poljak (2)

3. Korak: U drugo polje u drugom redu unosimo 45 čime smo zadovoljili potrebu drugog odredišta.

Slika 3. 3. Korak dobivanja bazičnog rješenja transportnog problema

4. Korak: Za zadnje odredište još unosimo vrijednosti koje su nam ostale:

Slika 4. 4. Korak dobivanja bazičnog rješenja transportnog problema

Dakle, početno bazično rješenje ovog problema transporta je:

11

Page 15: Transportni Problem i Problem Asignacije_perić_perčinlić, Poljak (2)

x11=55 , x12=25 , x13=0 , x21=0 , x22=45 , x23=15 , x31=0 , x32=0 , x33=40

Provodimo MODI metodu:

1. KorakTablica 1. 1. Korak MODI metode

a1 a2 a3 ai uiI1 2

554 25

2 4

80 0

I2 3 -1

4 +45

6 15

60

0

I3 2 -2

6 -4

4 40

40 -2

Ij 55 70 55bj 2 4 6

Rang = n+n-1=8+3-1=5

Z=640

crj¿= (ui+v j )−c ij

c13¿= (0+6 )−2=4

c21¿= (0+2 )−3=−1

c31¿=(−2+2 )−2=−2

c32¿=(−2+4 )−6=4

Optimalno rješenje je ako su svi c ij¿ negativni, ukoliko ima pozitivnih uzima se najveće i

dalje računa.

2. Korak

Tablica 2. 2. Korak MODI metode

12

Page 16: Transportni Problem i Problem Asignacije_perić_perčinlić, Poljak (2)

A1 a2 a3 ai uiI1 2

-554 10

2 15

80 0

I2 3 -1

4 60

6 -4

60

0

I3 2 2

6 0

4 40

40 2

Ij 55 70 55

bj 2 4 2r=5Z=580

c21¿= (0+2 )−3=−1

c23¿= (0+2 )−6=−4

c31¿=(2+2 )−2=2

c32¿=(2+4 )−6=0

3. Korak Tablica 3. 3. Korak MODI metode

A1 a2 a3 ai uiI1 2

154 10

2 55

80 0

I2 3 -1

4 60

6 -4

60

0

I3 2 40

6 -2

4 -2

40 0

Ij 55 70 55

bj 2 4 2r=5

Z=500

c21¿= (0+2 )−3=−1

c23¿= (0+2 )−6=−4

c31¿=(2+2 )−2=2

c32¿=(2+4 )−6=0

Postignuto je optimalno rješenje!

3.2. Metode za postavljanje početnog programa

13

Page 17: Transportni Problem i Problem Asignacije_perić_perčinlić, Poljak (2)

Metode koje zahtijevaju postavljanje početnog programa za njegovo postavljanje najčešće

koriste jednu od sljedećih metoda:

metoda sjeverozapadnog kuta

metoda minimalnih troškova

Vogelova aproksimativna metoda 2

3.2.1. Metoda sjeverozapadnog kuta

Metoda sjeverozapadnog kuta (North West Corner Rule) se naziva još i dijagonalna

metoda koja omogućuje postavljanje početnog bazičnog nedegeneriranog programa, odnosno

programa u kojem je broj upisanih polja jednak m+n−1, gdje m predstavlja broj ishodišta, a n

broj odredišta. Ova metoda raspoređivanja jedinica započinje od sjeverozapadnog kuta matrice

transporta.

Odnosno, u polje (1,1) se stavlja najveći mogući broj jedinica zavisno od ponude prvog

ishodišta i potražnje prvog odredišta. Tim se brojem može iskoristiti ponuda prvog ishodišta ili

podmiriti potražnja prvog odredišta koje se isključuje iz daljnjeg raspoređivanja. Ovaj postupak

se ponavlja na preostalim poljima po dijagonali matrice sve do polja (m,n), u matrici transporta,

dok se ne rasporede raspoložive količine svih ishodišta, odnosno dok se ne zadovolje zahtjevi

svih odredišta. 3

Za samu ilustraciju kako ova metoda funkcionira koristit ćemo se Dobrenićevom

knjigom, Operativno istraživanje. Za početak imamo tablicu 3.3. koja sadrži matricu troškove

prijevoza cij od svakog ishodišta do svakog odredišta. Sa desne strane navedene matrice troškova

se nalaze raspoložive količine otpreme iz svakog ishodišta. Ispod matrice troškova nalaze se

količine potreba svakog od ishodišta.

Tablica 3.3. Osnovni podaci problema transporta

2 Dobrenić S.: Operativno istraživanje, Fakultet organizacije i informatike Varaždin, 1978., str. 141.3 Zenzerović, Z.: Transportni problem linearnog programiranja, str.4.

14

Page 18: Transportni Problem i Problem Asignacije_perić_perčinlić, Poljak (2)

Matrica troškova (cij)

Ishodišta

(i)

Odredišta (j) Ukupna

otpremaB1 B2 B3 B4 B5

A1 30 28 3 13 25 20 a1

A2 27 4 11 2 17 15 a2

A3 8 12 1 22 7 25 a3

A4 13 21 19 15 23 40 a4

Ukupni

primitak

9 17 22 33 19 100

b1 b2 b3 b4 b5

Pomoću metode sjeverozapadnog kuta nalazimo početno bazično moguće rješenje.

Krećemo se po tablici u smjeru sjeverozapad – jugoistok i popunjavamo polja. U tablici 3.4. je

prikazan početni bazični program. Na početku se nalazimo u gornjem lijevom kutu, odnosno

sjeverozapadnom kutu u kojem se uspoređuje raspoloživa količina u ishodištu A1, u ovom

primjeru to je vrijednost 20, sa zahtijevanom količinom odredišta B1, u ovom primjeru 9. Sada se

manja vrijednost od ove dvije uspoređivane piše u polje (1,1). Manji broj u ovom primjeru je

broj 9 te će se on naći u sjeverozapadnom kutu matrice. Ovom vrijednošću je zadovoljen zahtjev

odredišta B1, a u ishodištu A1 je ostalo još raspoloživih jedinica tereta, točnije, njih 11.

Tablica 3.4. Početni bazični program po metodi sjeverozapadnog kuta

15

Page 19: Transportni Problem i Problem Asignacije_perić_perčinlić, Poljak (2)

U drugom koraku gledamo kako zadovoljiti odredište B2 uspoređujući raspoloživu

količinu na ishodištu A2 s nepodmirenim zahtjevima odredišta B2. U ovom primjeru

uspoređujemo 15 sa 6. Ovaj broj 6 je dobiven tako da je od zahtijevane količine tereta za B2, koja

iznosi 17, oduzet iznos koji nam je ostao od prethodnog koraka, odnosno od 11. Upisujemo 6 u

tablicu 3.4. u polje (2,2) jer je to manji broj od 15. Na taj način je podmiren zahtjev odredišta B2.

U ishodištu A2 je ostalo raspoloživo 9 jedinica.

U trećem koraku prelazimo na zadovoljavanje odredišta B3 tako što uspoređujemo

raspoloživu količinu ishodišta A3, odnosno 15, s nepodmirenim zahtjevima odredišta B3,

odnosno s 13 koji je dobiven tako što je od zahtijevane količine tereta za B 3, koja iznosi 22,

oduzet iznos koji nam je ostao od drugog koraka, odnosno od 9. Pošto je 13 manje od 15

upisujemo ga u polje (3,3) naše

matrice. Podmirili smo

zahtjev odredišta B3,

dok je u ishodištu A3

ostalo raspoloživo 12

jedinica tereta.

Ovaj postupak se

nastavlja sve dok nisu

podmireni zahtjevi svih

odredišta, odnosno dok

nisu raspoređene sve raspoložive količine svih ishodišta. Algoritam računanja je gotov onog

trenutka kad se nađemo u desnom donjem kutu, odnosno, u jugoistočnom kutu s čime je

16

Ishodišta

(i)

Odredišta (j) Ukupna

otpremaB1 B2 B3 B4 B5

A1

30 28 3 13 2520

A2

27 4 11 2 1715

A38 12 1 22 7

25

A4

13 21 19 15 2340

Ukupni

primitak 9 17 22 33 19 100

911

6 9

13 12

21 19

Page 20: Transportni Problem i Problem Asignacije_perić_perčinlić, Poljak (2)

završeno postavljanje bazičnog programa. Možemo vidjeti da je rješenje nedegenerirano,

odnosno da broj zauzetih polja u matrici iznosi m+n−1=4+5−1=8 . 4

Metoda sjeverozapadnog kuta ima veliku manu, a ta je da se u njoj ne obraća pažnja na

troškove prijevoza. Zbog toga ovakav program nije optimalan. Troškovi postavljenog početnog

programa pomoću sjeverozapadne metode se računaju po sljedećoj formuli:

Z=c11 x11+c12 x12+c22 x22+c23 x23+c33 x33+c34 x34+c44 x 44+c45 x45

Kada bismo podatke iz naše tablice sada uvrstili u ovu formulu ona bi izgleda kao što je

niže prikazano, a ukupni troškovi bi bili 1 730 novčanih jedinica.

Z=30 ∙ 9+28 ∙11+4 ∙ 6+11 ∙ 9+1 ∙13+22∙ 12+15∙ 21+23 ∙19

Z=1730

Vlastiti primjer

Neka je zadana matrica troškova prijevoza od svakog ishodišta do svakog odredišta

(tablica 3.5.). Početni bazični program, za ovaj primjer, riješit ćemo pomoću metode

sjeverozapadnog kuta. Na desnoj strani u matrici se nalaze raspoložive količine otpreme iz

svakog ishodišta, a ispod matrice nalaze se količine koje su potrebne svakom od ishodišta. U

ovom primjeru postoji četiri odredišta i tri ishodišta.

4 Dobrenić S.: Operativno istraživanje, Fakultet organizacije i informatike Varaždin, 1978., str. 144.

17

Tablica 3.5. Osnovni podaci problema

transporta

Page 21: Transportni Problem i Problem Asignacije_perić_perčinlić, Poljak (2)

Rješavajući ovaj primjer, kao

što je u prethodnom

poglavlju opisano primjerom iz

knjige, dolazimo do rješenja koje je

prikazano u tablici 3.6. Dobiveno

rješenje je početni bazični program.

Troškovi postavljenog

početnog programa se računaju pomoću

formule:

Z=c11 x11+c12 x12+c22 x22+c23 x23+c33 x33+c34 x34

Kada bismo u formuli unijeli podatke iz dobivenog početnog programa ona bi izgledala

kao što je niže prikazano. Na kraju je potrebno taj izraz i izračunati kako bismo znali koliki bi

18

Tablica 3.6. Početni bazični program po metodi sjeverozapadng kuta

Ishodišta

(i)

Odredišta (j) Ukupna

otpremaB1 B2 B3 B4

A11 12 25 4 40

A23 8 12 2 25

A35 30 9 15 35

Ukupni

primitak11 45 14 30 100

Ishodišta

(i)

Odredišta (j) Ukupna

otpremaB1 B2 B3 B4

A1

1 12 25 440

A2

3 8 12 225

A35 30 9 15

35

Ukupni

primitak 11 45 14 30 100

11 29

16 9

5 30

Page 22: Transportni Problem i Problem Asignacije_perić_perčinlić, Poljak (2)

nam bili ukupni troškovi. Nakon izračuna ustanovili smo da bi ukupni troškovi iznosili 1 090

novčanih jedinica.

Z=1∙ 11+12 ∙ 29+8 ∙16+12∙9+9 ∙5+15 ∙30

Z=1 09 0

3.2.2. Metoda minimalnih troškova

Za razliku od metode sjeverozapadnog kuta, metoda minimalnih troškova (The Least-

Cost Rule) koristi troškove isporuke kako bi se dobilo početno bazično moguće rješenje sa što

nižim troškovima isporuke. Nakon dobivanja takvog rješenja potreban je mali broj koraka za

nalaženje optimalnog rješenja problema. 5

Prikazat ćemo ovu metodu na jednom primjeru kako bi ona bila jednostavnija za

razumjeti. Radit ćemo na primjeru iz Dobrinićeve knjige, Operativno istraživanje. Početni

bazični program po ovoj metodi nalazi se u tablici 3.7.

U slučaju da u matrici troškova postoje dva ili više minimalnih troškova, popunjavamo

ono polje na koje je moguće staviti što veću količinu tereta. Kada u potpunosti iskoristimo

ukupni kapacitet određenog ishodišta ili potpuno zadovoljimo potrebe nekog odredišta, taj

stupac, odnosno redak u sljedećem razmatranju isključujemo. Ovaj postupak ponavljamo sve dok

potrebe odredišta ne budu potpuno zadovoljene, a kapaciteti svih ishodišta iskorišteni. 6

Najprije je potrebno u matrici pronaći polje koje ima najmanji trošak. To je na našoj

matrici polje (3,3) koje ima vrijednost 1. Zatim se u to polje upisuje najveća moguća količina. U

ovom primjeru se upisuje vrijednost 22 što predstavlja količinu koju odredište B3 zahtjeva. Ovo

odredište je sada potpuno namireno jer je mogućnost otpreme ishodišta A3 veća, te se treći stupac

isključuje iz razmatranja.

U idućem koraku ponovno tražimo najmanju vrijednost u matrici izuzev trećeg stupca

kojeg smo u prethodnom koraku eliminirali. Sljedeća minimalna vrijednost je 2, ona se nalazi u

matrici u polju (2,4). Pošto su potrebe odredišta B4 veće od kapaciteta otpreme ishodišta A2 u

polje upisujemo 15, odnosno maksimalan mogući iznos koji se može dostaviti na odredište B 4 od

5 Perić T.: Transportni problem, str. 29. 6 Marković M.: Metode rješavanja transportnog problema, str.24.

19

Page 23: Transportni Problem i Problem Asignacije_perić_perčinlić, Poljak (2)

strane ishodišta A2. Ovom radnjom smo u potpunosti iscrpili kapacitet otpreme ishodišta A2 pa

stoga taj red eliminiramo iz daljnjeg računanja.

U idućem koraku ponovno pronalazimo najmanju vrijednost u matrici bez da gledamo

treći stupac i drugi redak. Minimalna vrijednost je 7 koja se nalazi u polj (3,5) u matrici. U polje

se unosi najveća moguća količina. Pošto smo u prvom koraku od ishodišta A3 uzeli 22 jedinice

sada je na tom ishodištu preostalo samo 3 jedinice. Stoga vrijednost 3 upisujemo u polje (3,5).

Ovom radnjom smo u potpunosti iscrpili kapacitet otpreme ishodišta A3 te će on biti eliminiran

iz daljnjeg promatranja.

Tablica 3.7. Početni bazični program po metodi najmanjih troškova

Ovakav postupak

raspoređivanja ponavljamo sve dok sve količine ishodišta nisu raspoređene na ishodišta kao što

je vidljivo u tablici 3.7. Kao i kod metode sjeverozapadnog kuta dobili smo nedegenerirano

rješenje, odnosno rješenje koje sadrži m+n−1=8 zauzetih polja.

Na kraju je potrebno još izračunati ukupne troškove prema dobivenoj matrici. Računamo

ih po formuli:

Z=c14 x14+c15 x15+c24 x24+c33 x33+c35 x35+c41 x41+c42 x42+c45 x45

Uvrštavanjem podataka iz matrice dobivamo sljedeći izraz koji je prikaza niže. Na kraju

dobivamo da su ukupni troškovi jednaki 1 153 novčanih jedinica. Ovaj izraz je za 577 novčanih

jedinica manji od onoga kojeg smo dobili metodom sjeverozapadnog kuta, te možemo zaključiti

da je metodom minimalnih troškova dobiven optimalniji program.

20

Ishodišta

(i)

Odredišta (j) Ukupna

otpremaB1 B2 B3 B4 B5

A1

30 28 3 13 2520

A2

27 4 11 2 1715

A38 12 1 22 7

25

A4

13 21 19 15 2340

Ukupni

primitak 9 17 22 33 19 100

18 2

15

22 3

9 17 14

Page 24: Transportni Problem i Problem Asignacije_perić_perčinlić, Poljak (2)

Z=15 ∙18+25 ∙ 2+2 ∙15+1 ∙ 22+7 ∙3+13 ∙ 9+21 ∙17+23 ∙14

Z=1153

Vlastiti primjer

Za rješavanje vlastitog primjera koristit ću primjer kao i kod prikaza rješavanja zadatka

sjeverozapadnom metodom. Radi preglednosti i lakšeg snalaženja primjer se nalazi ispod, u

tablici 3.8.

Nakon rješavanja ovog

primjera metodom minimalnih

troškova, kao što je opisano u poglavlju iznad, dobivamo rješenje koje je prikazano u tablici 3.9.

21

Tablica 3.8. Osnovni podaci problema

transporta

Tablica 3.9. Početni bazični program po metodi najmanjih troškova

Ishodišta

(i)

Odredišta (j) Ukupna

otpremaB1 B2 B3 B4

A11 12 25 4 40

A23 8 12 2 25

A35 30 9 15 35

Ukupni

primitak11 45 14 30 100

Ishodišta

(i)

Odredišta (j) Ukupna

otpremaB1 B2 B3 B4

A1

1 12 25 440

A2

3 8 12 225

A35 30 9 15

35

Ukupni

primitak 11 45 14 30 100

11 24

25

14

5

21

5

Page 25: Transportni Problem i Problem Asignacije_perić_perčinlić, Poljak (2)

Troškovi postavljenog početnog programa se računaju pomoću formule:

Z=c11 x11+c12 x12+c14 x14+c24 x24+c32 x32+c33 x33

Nakon što unesemo naše podatke u ovu formulu dobivamo izraz koji je niže prikazan.

Također, potrebno je na kraju taj izraz izračunati kako bismo odredili koliki bi bili ukupni

troškovi. Izračunom smo ustanovili da ukupni troškovi iznose 1 125 novčanih jedinica. Obično,

kada se računa metodom minimalnih troškova se dobije povoljnije rješenje nego računajući

metodom sjeverozapadnog kuta, ali to u ovom primjeru nije slučaj. Dobiveni trošak je veći nego

u prošloj metodi.

Z=1∙ 11+12 ∙ 24+4 ∙5+2∙ 25+30 ∙ 21+9 ∙14

Z=1125

3.2.3. Vogelova aproksimativna metoda

Vogelova aproksimativna metoda (Vogel's Approximation Method) je također jedna od

metoda koje nam omogućuju postavljanje početnog programa. U ovoj metodi se vrši

uspoređivanje troškova transporta pa se na osnovu toga i obavlja sam transport tereta pritom

zadovoljavajući uvjete ishodišta i odredišta.

Vogelova metoda se sastoji od nekoliko koraka: 7

1. U svakom retku, odnosno svakom stupcu tražimo dva najmanja troška. Zatim

računamo razliku između ta 2 troška i nju upisujemo u stupac „razlika retka“ (r j), odnosno u

redak „razlika stupca“ (ri)

2. Pronalazimo najveću razliku redaka ili stupaca. U onom retku ili stupcu u kojem je

razlika najveća pronalazi se najmanji trošak i na to polje upisujemo maksimalnu količinu tereta.

3. Ponavljanje prva dva koraka onoliko puta dok se svi kapaciteti ishodišta ne iskoriste, a

sve potrebe odredišta ne zadovolje.

4Na primjeru iz knjige, Operativno istraživanje, ćemo prikazati kako ovi navedeni koraci

djeluju na nekoj stvarnoj matrici troškova. Koristit ćemo matricu kao i u prethodnim metodama.

7 Materijali s predavanja na kolegiju Operacijska istraživanja I

22

Page 26: Transportni Problem i Problem Asignacije_perić_perčinlić, Poljak (2)

U prvom koraku pronalazimo dva najmanja troška u svakom retku, odnosno svakom stupcu.

Zatim računamo razliku između ta 2 troška i nju upisujemo u stupac „razlika retka“,odnosno u

redak „razlika stupca“ kao što je označeno u tablici 3.10. Pa primjerice u prvom retku najmanje

vrijednosti su 13 i 3. Njihova razlika je 10 te ju upisujemo u posljednji stupac u tablici. Isto tako

radimo i za stupac. Najmanje vrijednosti u prvom stupcu su 13 i 8 te kada ih oduzmemo

dobivamo vrijednost 5 koju potom upisujemo u posljednji redak u tablici 3.10.

U sljedećem koraku pronalazimo najveću razliku bilo retka bilo stupca. U promatranom

primjeru koji je vidljiv u tablici 3.10. je vidljivo da je najveća razlika 11 koja se nalazi u

četvrtom stupcu. U tom stupcu pronađemo polje s najnižim troškovima te u njega stavljamo

najveću moguću količinu. U ovom primjeru polja s najnižim troškovima je polje (2,4) s

vrijednošću jednakom 2. U to polje sada upisujemo 15 jer je toliko najviše raspoloživo kapaciteta

otpreme ishodišta A2. Pošto smo iskoristili svih 15 jedinica na ishodištu A2, drugi redak

izbacujemo iz daljnjeg računanja te se radi toga u sva slobodna polja tog retka se stavlja „x“, a u

razliku reda upisujemo iza 2 slovo „Z“ što označava završeno kao što je označeno u tablici 3.10.

U slučaju da postoji više razlika stupaca ili redaka koji imaju istu najveću vrijednost tada

bismo odabrali onaj stupac, odnosno red, koji ima polje s najmanjim troškom

23

Tablica 3.10. Početak postavljanja početnog bazičnog programa po Vogelovoj

aproksimativnoj metodi

IshodištaOdredišta Ukupna

otprema

Razlika

redaB1 B2 B3 B4 B5

A1 30 28 3 13 25 20 10

A2 27 4 11 2 17 15 2. Z

A3 8 12 1 22 7 25 6

A4 13 21 19 15 23 40 2

Ukupni primitak 9 17 22 33 19 100

Razlika stupca5

5

8

9

2

2

11

2

10

16

x x x x15

Page 27: Transportni Problem i Problem Asignacije_perić_perčinlić, Poljak (2)

Pošto smo u prethodnom koraku izbacili jedan cijeli redak, potrebno je ponovno pronaći

nove razlike troškova za sve stupce. Nove vrijednosti se upisuju ispod postojećih kao što je

prikazano u tablici 3.10.

Nakon toga ponovno odabiremo stupac ili red s najvećom razlikom troškova. Sada je to

peti stupac čija je razlika čak 16. U tom stupcu ponovno tražimo polje s najmanjim troškom. To

je polje (3,5) čiji je trošak jednak 7. U to polje unosimo vrijednost 19 jer je to zahtjev odredišta

B5. Nakon takve raspodjele tereta stupac 5 se eliminira na isti način kao i redak 2 u prošlom

koraku. Na sva prazna polja u stupcu stavljamo „x“, a iza 16 u tom stupcu stavljamo slovo „Z“.

Ovaj korak je vidljiv u tablici 3.11.

Pošto smo sad eliminirali cijeli stupac potrebno je ponovno naći razlike za sve redove te

nove razlike zapisati iza postojećih u stupcu „Razlika reda“. Nakon toga se ponovno traži

najveća razlika, određuje polje s najmanjom vrijednosti u tom stupcu ili retku te se na kraju tom

polju dodaje količina tereta. Ovaj postupak se ponavlja sve dok i posljednje količine tereta nisu

raspoređene u polja, odnosno dok nisu svi kapaciteti otpreme ishodišta raspoređeni na odredišta.

Završni izgled matrice prikazan je u tablici 3.11.

Na kraju moramo još izračunati ukupne troškove prijevoza kako bismo mogli zaključiti

koja metoda je najpovoljnija. Prema dobivenoj tablici 3.11. troškovi se računaju prema sljedećoj

formuli:

Z=c13 x13+c24 x24+c32 x32+c33 x33+c35 x35+c41 x 41+c42 x 42+c44 x44

24

Tablica 3.11. Postavljanje početnog bazičnog programa po Vogelovoj

aproksimativnoj metodi

IshodištaOdredišta Ukupna

otprema Razlika redaB1 B2 B3 B4 B5

A1 30 28 3 13 25 20 10, 10, Z

A2 27 4 11 2 17 15 2. Z

A3 8 12 1 22 7 25 6, 7, 4, Z

A4 13 21 19 15 23 40 2, 2, 2, Z

Ukupni primitak 9 17 22 33 19 100

Razlika stupca

5,

5,

5, Z

8,

9,

9, Z

2,

2,

18, Z

11,

2,

7, Z

10,

16,

Z

x18x139

19x24x

x15xxx

xx20xx

Page 28: Transportni Problem i Problem Asignacije_perić_perčinlić, Poljak (2)

Z=3 ∙20+2∙ 15+12 ∙ 4+1 ∙2+7 ∙ 19+13 ∙ 9+21 ∙13+15 ∙ 18

Z=933

Kada bi usporedili obrađene tri metode za postavljanje početnog rasporeda, Vogelova

aproksimativna metoda bi bila u prednosti naspram metode sjeverozapadnog kuta i metode

minimalnih troškova. Program koji dobijemo ovom metodom ako nije optimalan onda je veoma

blizak optimalnom rješenju.

Vlastiti primjer

Rješavanje zadatka pomoću Vogelove metode prikazat ću na dosad korištenom primjeru

prikazanom u tablici 3.12.

Rješavajući ovaj primjer Vogelovom metodom, kao što je prikazano u poglavlju iznad,

dobili smo matricu koja je vidljiva u tablici 3.13.

25

Tablica 3.12. Osnovni podaci problema

transporta

Ishodišta

(i)

Odredišta (j) Ukupna

otpremaB1 B2 B3 B4

A11 12 25 4 40

A23 8 12 2 25

A35 30 9 15 35

Ukupni

primitak11 45 14 30 100

Page 29: Transportni Problem i Problem Asignacije_perić_perčinlić, Poljak (2)

Potrebno je još izračunati ukupne troškove kako bismo se uvjerili da je Vogelova metoda

najpovoljnija što se tiče visine troškova. Troškove računamo po sljedećoj formuli:

Z=c12 x12+c14 x14+c22 x22+c31 x31+c32 x32+c33 x33

Z=12∙ 10+4 ∙30+8 ∙25+5 ∙ 11+30 ∙ 10+9 ∙14

Z=921

Sada vidimo da je Vogelova metoda u prednosti naspram metode sjeverozapadnog kuta i

metode minimalnih troškova.

26

Tablica 3.13. Početni bazični program po Vogelovoj metodiIshodišta (i)

Odredišta (j) Ukupna

otpremaRazlika reda

B1 B2 B3 B4

A11 12 25 4 40 3, 8, 13, 12, 12, Z

A23 8 12 2 25 1, 6, 4, 8, 8, Z

A35 30 9 15 35 4, 6, 21, 30, Z

Ukupni primitak 11 45 14 30 100

Razlika stupaca

2, Z 4,

4,

4,

4,

4, Z

3,

3,

3, Z

2,

2, Z

x 10 x 30

x 25 x x

11

5

10 14 x

Page 30: Transportni Problem i Problem Asignacije_perić_perčinlić, Poljak (2)

4. Problem asignacije

Problem asignacije ili problem raspoređivanja je poseban slučaj transportnog problema.

Ono što ga razlikuje od transportnog problema su vrijednosti koje se nude i one koje se traže

jednake jedan. „Bit problema je u tome da se raspodijeli ili dodijeli n poslova (zadataka,

predmeta) na n mjesta (ljudi, strojeva), ali pod uvjetom da jedan posao može biti dodijeljen

samo jednom čovjeku, jedan rad samo jednom stroju, itd.“ [Barković, 2001., str. 149]

Cilj kod ovog posebnog slučaja transportnog problema je postići neki optimum na osnovi neke

mjere individualne uspješnosti. Takav zadatak se može primijeniti u mnogim problemima

rukovođenja.

Primjer kod kojeg bi se mogao primijeniti problem asignacije bi bio dodjela četiri radna

zadatka četvorici radnika, koji imaju različite sposobnosti, gdje bi cilj bio postizanje

maksimalnog učinka.

Još jedan problem može biti problem voznog parka u pogledu raspoređivanja traktora i

prikolica. Recimo da u čitavom gradu na različitim mjestima na raspolaganju stoji n traktora, a

treba na željezničku stanicu prevesti n prikolica koje su natovarene i čekaj na n skladišta.

Problem je u tome da se svakom od n traktora dodijeli odgovarajuća prikolica. Cilj može biti

minimizirati put koji se treba prijeći ili ukupno vrijeme vožnje traktora.

„Kod jedne matrice individualne uspješnosti tipa n2 imamo n! različitih asignacija.

Najprimitivniji način da se odredi optimalna asignacija jest da se odredi svih tih n! rasporeda pa

da se onda odabere ona asignacija koja je optimalna u pogledu zadane matrice individualne

efikasnosti. To je kod većih vrijednosti za n ogroman posao.“ [Barković, 2001., str. 149]

Barkovićevu tvrdnju ćemo sad i potkrijepiti i jednim primjerom preuzetim iz prezentacije sa

Ekonomskog fakulteta u Zagrebu.

27

Page 31: Transportni Problem i Problem Asignacije_perić_perčinlić, Poljak (2)

Primjer 1

Ivan, Marko, Luka i Juraj su kandidati za 4 posla. Svaki od njih treba određeno vrijeme

da obavi poslove. Vrijeme potrebno osobama da obave poslove dano je u tablici. Potrebno je

napraviti raspored osoba na poslove tako da je ukupna efikasnost optimalna.

Tablica 4.1. Primjer problema asignacije

POSAO 1 POSAO 2 POSAO 3 POSAO 4

IVAN 8 15 10 9

MARKO 17 18 12 12

LUKA 11 14 7 13

JURAJ 9 15 10 6

Jedan mogući pristup za rješavanje ovog zadatka je korištenje faktorijela. Pronaći ćemo

sve moguće rasporede osoba na poslove, izračunati ukupno vrijeme rasporeda i izabrati najmanje

što ćemo prikazati u tablici 4.2.

Tablica 4.2. Izračun ukupnog vremena rasporeda

IVAN MARKO LUKA JURAJ UKUPNO VRIJEME

P1 P2 P3 P4 8+18+7+6=29

P1 P2 P4 P3 8+18+13+10=49

P1 P3 P2 P4 8+12+14+6=40

P1 P3 P4 P2 8+12+13+15=48

P1 P4 P1 P2 8+12+11+15=46

P1 P4 P2 P1 8+12+14+9=43

… … … … …

U tablici 4.2 nisu prikazani svi izračuni, no jasan je princip. Budući da su u zadatku

zadana 4 posla, u tablici bi imali 24 permutacije odnosno 24 ukupna vremena (4! = 24).

Zamislimo što bi se dogodilo da smo imali 20 zadanih poslova. Budući da je 20! pak malo

prevelik broj za ručni izračun, ovakav način nije prikladan i najbolji za odabir najmanjeg

vremena.

28

Page 32: Transportni Problem i Problem Asignacije_perić_perčinlić, Poljak (2)

Sada ćemo promijeniti pristup računanja i jednostavno zaključiti da je svaka osoba

najbolja na nekom poslu i da svaki posao ima najboljeg radnika. Na temelju tih zaključaka

možemo sastaviti tablicu 4.3.

Tablica 4.3. Najbolji zaposlenici na pojedinom poslu

POSAO 1 POSAO 2 POSAO 3 POSAO 4 NAJBOLJI

IVAN 8 15 10 9 P1

MARKO 17 18 12 12 P3 i P4

LUKA 11 14 7 13 P3

JURAJ 9 15 10 6 P4

NAJBOLJI Ivan Luka Luka Juraj

U tablici 4.3 se sada jasno vidi koji je od kandidata najbolji na kojem poslu (zadnji

stupac) i na kojem je poslu netko od kandidata najbolji (zadnji redak). Sljedeći korak je da se od

svakog retka oduzme njegov najmanji element i time dobivamo barem jednu 0 u svakom retku.

U zadnji stupac ćemo staviti ui čime ćemo označiti najmanji element u tom retku.

Tablica 4.4. Dobivanje 0 u recima

POSAO 1 POSAO 2 POSAO 3 POSAO 4 ui

IVAN 0 7 2 1 8

MARKO 5 6 0 0 12

LUKA 4 7 0 6 7

JURAJ 3 9 4 0 6

Dobivene 0 u recima nam pokazuju koji je zaposlenik najbolji na kojem poslu. No, to nije

dovoljno. Postupak koji smo primijenili na retke sada moramo i na stupce što ćemo prikazati u

tablici 4.5. Najmanje elemente u stupcima ćemo označiti s vj.

29

Page 33: Transportni Problem i Problem Asignacije_perić_perčinlić, Poljak (2)

Tablica 4.5. Dobivanje 0 u stupcima

POSAO 1 POSAO 2 POSAO 3 POSAO 4 ui

IVAN 0 1 2 1 8

MARKO 5 0 0 0 12

LUKA 4 1 0 6 7

JURAJ 3 3 4 0 6

vj 0 6 0 0

Sada smo dobili matricu u kojoj su svi elementi nenegativni i također imamo barem jednu

0 u svakom retku i stupcu. Polja s 0 su kandidati za pridruživanje osoba poslovima. Ako je neka

osoba dobila određeni posao, izostavljamo redak osobe i stupac posla iz preostalog razmatranja.

Preostale osobe i poslovi se još trebaju pridružiti. Radi toga tražimo redak s jednom 0. Tu 0

asigniramo, preostale 0 u stupcu prekrižimo. Postupak se ponovi s preostalim recima (postupak

je primjenjiv i na stupce). Ako u tom postupku nad nulama dobijemo kompletnu asignaciju,

dobiveno rješenje je optimalno i prikazujemo ga u tablici 4.6.

Tablica 4.6. Prikaz optimalnog rješenja

POSAO 1 POSAO 2 POSAO 3 POSAO 4 ui

IVAN 0 1 2 1 8

MARKO 5 0 0 0 12

LUKA 4 1 0 6 7

JURAJ 3 3 4 0 6

vj 0 6 0 0

Nakon svih izračuna i slijeđenih postupaka, dobili smo optimalno rješenje u tablici 4.6.

Optimalno rješenje glasi da Ivan dobiva prvi posao, Marko drugi posao, Luka treći posao, a Juraj

četvrti posao. Ukupno vrijeme od ovog rasporeda osoba na poslove je najmanje i iznosi 39.

30

Page 34: Transportni Problem i Problem Asignacije_perić_perčinlić, Poljak (2)

4.1. Matematički model

Matematička formulacija problema asignacije [Barković, 2001, str. 149 i 150] glasi:

Zadana je kvadratna matrica tipa n

A0=(aij )0

s elementima a

ij( 0 )≥0

za i , j=1 ,. . ., n (n≥3 )

Treba odrediti kvadratnu matricu X=(x ij ) , x ij∈ {0,1 }

tipa n, koja se zove matrica permutacija,

tako da

x ij=x ij2

i , j=1,2 ,. . ., n (n≥3 ) (1.1)

∑i=1

n

x ij=∑j=1

n

x ij=1(1.2)

T=∑i=1

n

∑j=1

n

aij( 0 ) xij←min

(1.3)

Jednadžbe (1.1) i (1.2) utvrđuju:

x ij=¿ {1 , akojeposaododijeljenmjestuj ¿ ¿¿¿

U svakom redu i stupcu matrice X jedan je element jednak nula. Uvjet pod (1.3) zajedno s

jednadžbama (1.1) i (1.2) utvrđuju da treba izabrati iz matrice A0 n elemenata tako da ne

ostanu u istom retku ili stupcu dva elementa, a da suma svih elemenata bude minimalna.

Ako su istovremeno ispunjena ta tri uvjeta, onda je postignuto optimalno rješenje:

x ij≥0 (1.4)

31

Page 35: Transportni Problem i Problem Asignacije_perić_perčinlić, Poljak (2)

4.2. Mađarska metoda

Mađarsku metodu je prvi razvio H. W. Kuhn i to na osnovi jednog stavka teorije grafova iz

1916. godine mađarskog matematičara Kӧniga i Egervaryja. Osnova Kuhnova algoritma

[Barković, 2001, str. 150 i 151] za rješenje problema asignacije:

Ako se iz zadane matrice A = (aij) izvede matrica B = (bij) prema

b ij=a ij−u i−v j (1.5)

pri čemu su ui i vj konstante odabrane po volji, onda je rješenje od A identično s rješenjem

od B. Mađarska metoda koristi njegov dualni problem koji glasi:

Neka se odrede konstante ui i vj tako da vrijede odnosi

aij

( 0 )≥ui+v j , za x ij=0

(1.6)

aij

( 0 )=ui+v j , za xij > 0 (1.7)

Ako se izraz (1.6) supstituira u jednadžbu (1.5) dobije se

T≥∑ij

(u i+v j ) x ij=∑ij

ui x ij+∑ij

v j x ij=∑i (ui∑

j

x ij)+∑j (v j∑i

x ij)Iz jednadžbe (1.2) slijedi:

∑i

x ij=∑j

x ij=1

Slijedi:

T≥∑i

ui+∑j

v j

Problem minimuma ∑

ij

aij( 0 ) xij

identičan je s dualnim problemom

max (∑i

ui+∑j

v j)uz uvjet

a ij≥ui+v j

„Dualni problem je naročito dobro iskoristio Flood u svojoj metodi pronalaženja

optimalne asignacije. Floodova metoda se sastoji u brzoj redukciji matrice individualne

efikasnosti A0, pri čemu se dobije n nezavisnih nula, svaka u jednom redu i jednom stupcu. To se

postiže primjenom Kӧnigova stava pa otuda i naziv mađarska metoda ili „reducirana metoda

matrica“. Taj skup nezavisnih nula2 daje optimalno rješenje problema asignacije.“ [Barković,

2001. str. 151 i 152]

32

Page 36: Transportni Problem i Problem Asignacije_perić_perčinlić, Poljak (2)

Mađarsku metodu ćemo prikazati u 6 koraka na primjeru preuzetom iz knjige

„Operacijska istraživanja“ autora Dražena Barkovića, izdane 2001. godine sa stranice 152.

Primjer 2

Na pet radilišta stoji po jedna dizalica. Te dizalice nisu više potrebne i treba ih odvesti na

pet drugih radilišta. Pri tome treba minimizirati transportne kilometre. Udaljenosti od starih do

novih radilišta dane su sljedećom matricom:

Tablica 4.7. Početna matrica

N1 N2 N3 N4 N5

A1 23 32 29 17 28

A2 30 31 31 21 34

A3 36 27 22 32 26

A4 25 26 33 22 28

A5 31 34 33 40 32

1.korak reduciranje matrice

Minimalni element svakog stupca se odbije od elementa stupca, a u dobivenoj matrici se

na isti način odbije minimalni element svakog reda od elementa reda pa će to izgledati kao u

tablici 4.8 (gdje smo odbili najmanje elemente u stupcima) i tablici 4.9 (gdje smo još i odbili

najmanje elemente u recima).

Tablica 4.8. Matrica s odbijenim najmanjim elementom u stupcima

N1 N2 N3 N4 N5

A1 0 6 7 0 2

A2 7 5 9 4 8

A3 13 1 0 15 0

A4 2 0 11 5 2

A5 8 8 11 23 6

33

Page 37: Transportni Problem i Problem Asignacije_perić_perčinlić, Poljak (2)

Tablica 4.9. Matrica s odbijenim najmanjim elementom u recima

N1 N2 N3 N4 N5

A1 0 6 7 0 2

A2 3 1 5 0 4

A3 13 1 0 15 0

A4 2 0 11 5 2

A5 2 2 5 17 0

Na kraju prvog koraka uvijek dobijemo matricu s najmanje jednom 0 u redu ili stupcu.

2.korak pronalaženje optimalnog rješenja

Iz tablice 4.9 ćemo sada potražiti rješenje koje daje izraz (1.3) vrijednost nula. Takvo

rješenje karakterizirano je samo jednom 0 (nju ćemo markirati) u svakom redu i u svakom

stupcu. Ako se to dogodi, pronađeno je optimalno rješenje. Ukoliko to nije slučaj, pronađemo

jedan red s po mogućnosti najmanje 0 i markiramo jednu 0 u tom redu, a sve ostale koje imaju

zajednički red i stupac s markiranom 0 prekrižimo.

Iza toga se uoči red sa sljedećim najmanjim brojem markiranih 0 i ponovi se postupak. Taj

postupak ćemo ponavljati toliko dugo dok se ne može više nijedna 0 markirati. Prikazat ćemo to

sada u tablici 4.10.

Tablica 4.10. Matrica s markiranim i prekriženim 0

N1 N2 N3 N4 N5

A1 0 6 7 0 2

A2 3 1 5 0 4

A3 13 1 0 15 0

A4 2 0 11 5 2

A5 2 2 5 17 0

Nula koju smo markirali označava da je na tom mjestu izvršena dodjela, a ona nula koja

je prekrižena znači da na tom mjestu asignacija ne dolazi u obzir. U ovom primjeru je ovo i

ujedno optimalno rješenje odnosno optimalna asignacija.

34

Page 38: Transportni Problem i Problem Asignacije_perić_perčinlić, Poljak (2)

3.korak određivanje minimalnog broja redova i stupaca koji sadrže sve nule

Da bi ovaj korak izvršili morat ćemo izvršavati postupke sljedećim redom:

Osjenčaju se svi redovi koji nemaju markirane 0 Osjenčaju se svi stupci koji imaju najmanje jednu prekriženu 0 u markiranom redu Osjenčaju se svi redovi koji imaju markiranu 0 u prekriženom stupcu Ponavlja se 2. i 3. točka dok se više ne može markirati nijedan stupac i nijedan red Crvenom bojom se označe brojevi kod svakog neosjenčanog reda i svakog

osjenčanog stupcaNa ovaj se način dođe do minimalnog broja redova i stupaca koji sadrže sve 0.

4.korak novi, poboljšani izbor nula

Između elemenata koji nisu markirani linijama se izabere onaj najmanji. Taj element

ćemo nazvati a i njega ćemo odbiti od elemenata stupaca koji nisu markirani i dodati elementima

redova koji su markirani.

5.korak procjena dobivenog rješenja

Pomoću pravila koje smo definirali u drugom koraku istražujemo matricu koju smo dobili

u četvrtom koraku. Ako se pokaže da rješenje koje smo dobili u četvrtom koraku nije optimalno

morat ćemo ponoviti drugi korak.

35

Page 39: Transportni Problem i Problem Asignacije_perić_perčinlić, Poljak (2)

Primjer 3

Riješimo sada još jedan primjer, ali bez detaljnog objašnjavanja svih koraka. Prikazat

ćemo samo matrice i naznačiti na kojem smo točno koraku radi lakšeg praćenja. Primjer smo

preuzeli od Dražena Barkovića iz knjige „Operacijska istraživanja“ sa stranice 155.

Tablica 4.11. Početna matrica

N1 N2 N3 N4 N5

A1 12 8 7 15 4

A2 7 9 17 14 10

A3 9 6 12 6 7

A4 7 6 14 6 10

A5 9 6 12 10 6

1.korak

Tablica 4.12. Matrica s odbijenim najmanjim elementom u stupcima

N1 N2 N3 N4 N5

A1 5 2 0 9 0

A2 0 3 10 8 6

A3 2 0 5 0 3

A4 0 0 7 0 6

A5 2 0 5 4 2

2.korak

Tablica 4.13. Matrica s markiranim i prekriženim 0

N1 N2 N3 N4 N5

A1 5 2 0 9 0

A2 0 3 10 8 6

A3 2 0 5 0 3

A4 0 0 7 0 6

A5 2 0 5 4 2

36

Page 40: Transportni Problem i Problem Asignacije_perić_perčinlić, Poljak (2)

3.korak

Tablica 4.14. Matrica s minimalnim brojem redova i stupaca koji sadrže sve nule

N1 N2 N3 N4 N5

A1 5 2 0 9 0

A2 0 3 10 8 6

A3 2 0 5 0 3

A4 0 0 7 0 6

A5 2 0 5 4 2

4.korak

Tablica 4.15. Matrica s odbijenim/dodanim najmanjim elementom koji nije crvene boje i

ponovljenim drugim korakom

N1 N2 N3 N4 N5

A1 7 4 0 11 0

A2 0 3 8 8 4

A3 2 0 3 0 1

A4 0 0 5 0 4

A5 2 0 3 4 0

5.korak

Troškovi bi iznosili 7+7+6+6+6 = 32

Primjer 4

Riješit ćemo još jedan primjer koji smo izmislili tako da prikažemo da se problem

asignacije može riješiti u navedenih 5 koraka i s nekim izmišljenim brojevima. Početne brojeve

ćemo prikazati u tablici 4.16.

Tablica 4.16. Početna tablica

N1 N2 N3 N4

A1 10 9 5 5

A2 6 8 7 5

A3 7 1 12 7

A4 3 2 6 10

37

Page 41: Transportni Problem i Problem Asignacije_perić_perčinlić, Poljak (2)

Tablica 4.17. Tablica s dobivenim nulama i osjenčanim i prekriženim (crvenom

bojom označeni brojevi) redovima i stupcima

N1 N2 N3 N4

A1 7 8 0 0

A2 3 7 2 0

A3 4 0 7 2

A4 0 1 1 5

Tablica 4.18. Tablica s dobivenim optimalnim rješenjem

N1 N2 N3 N4

A1 7 8 0 2

A2 1 5 0 0

A3 4 0 7 4

A4 0 1 1 7

Z = 5+5+1+3=14

4.3. Otvoreni model problema asignacije

Svi dosad riješeni primjeri su također bili i primjeri zatvorenog modela problema

asignacije. Zatvoreni model je model kod kojeg imamo n radnika i n poslova. Za svakog radnika

zadana je njegova efikasnost na svakom od pojedinih poslova. Cilj je rasporediti sve radnike na

poslove tako da svakom radniku pripadne točno jedan posao i tako da svaki posao obavlja točno

jedan radnik. Pri tom želimo da ukupna efikasnost bude maksimalna (problem maksimuma).

Ako imamo zadana vremena obavljanja posla za svakog radnika i svaki posao onda

minimiziramo ukupno vrijeme (problem minimuma).

Pored zatvorenog modela postoji i otvoreni model problema asignacije kod kojega je sve

isto kao i zatvorenom obliku, samo što se razlikuje broj radnika i broj poslova.

38

Page 42: Transportni Problem i Problem Asignacije_perić_perčinlić, Poljak (2)

6. Zaključak

Na kraju bi valjalo istaknuti da je transportni problem vrlo važna komponenta u

poslovanju svakog poduzeća te stvara temelje za uspješno poslovanje. U svakoj organizaciji

težimo k tome da nam troškovi budu što manji kako bismo mogli maksimalizirati prihode, a to

možemo samo na način da maksimaliziramo iskorištenost resursa koje imamo na raspolaganju.

Pri tome će nam svakako koristiti transportni problem pomoću kojega ćemo smanjiti troškove na

njihov minimum i približiti iskorištenost prema maksimumu.

Obrađujući sam postupak rješavanja transportnog problema vidimo da postoji više

različitih načina rješavanja samog problema koje koristimo ovisno o tome u kakvoj situaciji se

nalazimo trenutno odnosno na kakav smo problem naišli. Dobar odabir postupka rješavanja

samog problema je ključan za postizanje samog rješenja problema. Dakle kao zaključak bismo

mogli reći da će nam transportni problem biti onoliko koristan koliko korisnim ga sami sebi

napravimo.

39

Page 43: Transportni Problem i Problem Asignacije_perić_perčinlić, Poljak (2)

7. Literatura

1. Barković D. (2001). Operacijska istraživanja. Osijek: Ekonomski fakultet.

2. Dobrenić S. (1978). Operativno istraživanje. Varaždin: Fakultet organizacije i informatike.

3. Fakultet organizacije i informatike (2013). Materijali s predavanja na kolegiju Operacijska

istraživanja I Rješavanje transportnog problema, dostupno 10.5.2011. na

http://servisi.foi.hr/elf2009/mod/resource/view.php?id=4612, str.3.

4. Frančić, M. Transportni problem linearnog programiranja. Dostupno 10.5.2013. na

http://veleri.hr/~mfrancic/TRANSPORTNI%20PROBLEM%20SKRIPTA.pdf

5. Kalpić D., Mornar V. (1996). Operacijska istraživanja. Zagreb: ZEUS.

6. Marković M.: Metode rješavanja transportnog problema, dostupno 10.5.20123. na

http://sr.scribd.com/doc/113349219/METODE-RJE%C5%A0AVANJA-TRANSPORTNOG-

PROBLEMA

7. Perić T. (2012) Transportni problem dostupno 10.5.2013 na

http://web.efzg.hr/dok/MAT//jkraljevic/TRANSPORTNI%20PROBLEM_web.pdf

http://web.efzg.hr/dok//EPO/fgaletic//Transport%20i%20asignacija.pdf

8. Prezentacija 6. Problem asignacije preuzeta 10.5.2013. sa stranica Ekonomskog fakulteta u

Zagrebu

9. Zenzerović, Z., Transportni problem linearnog programiranja. Dostupno 10.5.2013. na

http://www.pfri.uniri.hr/~zenzerov/TP-TEORIJA.doc

40