OI Vebe 6 dr Milan Radojii milan radojicicfon
OI Vežbe 6 dr Milan Radojičić milan. radojicic@fon. bg. ac. rs
Sadržaj U današnjoj prezentaciji: v Rešavaće se zatvoreni transportni problem v Formirati konkretni matematički model postavljenih zadataka v Odrediti početno bazno dopustivo rešenje
Zadatak 1 Transport robe se vrši iz 3 skladišta u 3 prodavnice. Jedinični troškovi transporta, količine robe na zalihama i količine robe koje su potrebne prodavnicama su date u tabeli: P 1 P 2 P 3 Raspoloživa količina S 1 2 2 4 30 S 2 5 3 1 30 S 3 3 6 2 50 Potrebna količina 40 50 20 a) Formulisati matematički model transportnog problema; b) Odrediti početno rešenje; c) Odrediti optimalno rešenje;
Zadatak 1 Pošto je ukupna raspoloživa količina robe u skladištima jednaka ukupnoj potrebnoj količini robe po prodavnicama, radi se o zatvorenom transportnom problemu ( ). P 1 P 2 P 3 Raspoloživa količina S 1 2 2 4 30 S 2 5 3 1 30 S 3 3 6 2 50 Potrebna količina 40 50 20
Matematički model postavljenog problema Realan sistem Upravljačke odluke: Količina robe koja se transportuje od skladišta S 1, S 2, S 3 do prodavnica P 1, P 2, P 3 Kriterijum upravljanja: Ukupni troškovi transporta Cilj: minimizirati Ograničavajući faktori: Raspoloživa količina robe u skladištu S 1 Raspoloživa količina robe u skladištu S 2 Raspoloživa količina robe u skladištu S 3 Potrebna količina robe u prodavnici P 1 Matematički model xij , i = 1, 2, 3, j = 1, 2, 3 min f(x) = 2 x 11 + 2 x 12 + 4 x 13 + 5 x 21 + 3 x 22 + 1 x 23 + 3 x 31 + 6 x 32 + 2 x 33 p. o. x 11 + x 12 + x 13 = 30 x 21 + x 22 + x 23 = 30 x 31 + x 32 + x 33 = 50 x 11 + x 21 + x 31 = 40 x 12 + x 22 + x 32 = 50 x 13 + x 23 + x 33 = 20 xij, ≥ 0, i, j = 1, 2, 3
Određivanje početnog rešenja Obzirom da Vogelova aproksimativna metoda daje najmanju vrednost funkcije cilja tj. pronalazi početo bazno rešenje koje je najbliže optimalnom, pri rešavanju linearnog transportnog modela korisićemo tu metodu za određivanje početnog rešenja. Algoritam: K 1) Za svaki red i za svaku kolonu izračunati razliku između dva najmanja elementa u matrici cena; K 2) Izabrati red ili kolonu za koju je ova razlika najveća i u polje (i, j) koje ima najmanju vrednost u tom redu ili koloni dodeliti vrednost min{ai, bj}; K 3) Ako je ai ≤ bj tada red i isključiti iz daljeg razmatranja i ažurirati razlike između dva najmanja elementa za svaku kolonu; K 4) Ako je ai ≥bj tada kolonu j isključiti iz daljeg razmatranja i ažurirati razlike između dva najmanja elementa za svaki red; K 5) Koraci 2 -4 se ponavljaju sve dok se ne rasporedi sva količina robe
Određivanje početnog rešenja K 1) Za svaki red i za svaku kolonu računamo razlike između dva najmanja elementa u matrici cena: T 0: ponuda tražnja 40 50 20 P 1 P 2 P 3 30 S 1 2 2 4 30 S 2 5 3 1 50 S 3 3 6 2
Određivanje početnog rešenja K 1) Za svaki red i za svaku kolonu računamo razlike između dva najmanja elementa u matrici cena: T 0: ponuda tražnja 40 50 20 P 1 P 2 P 3 Razlika reda 30 S 1 2 2 4 2 -2=0 30 S 2 5 3 1 3 -1=2 50 S 3 3 6 2 3 -2=1
Određivanje početnog rešenja K 1) Za svaki red i za svaku kolonu računamo razlike između dva najmanja elementa u matrici cena: T 0: ponuda tražnja 40 50 20 P 1 P 2 P 3 Razlika reda 30 S 1 2 2 4 2 -2=0 30 S 2 5 3 1 3 -1=2 50 S 3 3 6 2 3 -2=1 2 -1=1 Razlika kolone
Određivanje početnog rešenja K 2) Najveća razlika iznosi 2 i odogovara drugom redu. T 0: ponuda tražnja 40 50 20 P 1 P 2 P 3 Razlika reda 30 S 1 2 2 4 2 -2=0 30 S 2 5 3 1 3 -1=2 50 S 3 3 6 2 3 -2=1 2 -1=1 Razlika kolone
Određivanje početnog rešenja K 2) Najveća razlika iznosi 2 i odogovara drugom redu. Najmanja vrednost u tom redu se nalazi u polju (2, 3) T 0: ponuda tražnja 40 50 20 P 1 P 2 P 3 Razlika reda 30 S 1 2 2 4 2 -2=0 30 S 2 5 3 1 3 -1=2 50 S 3 3 6 2 3 -2=1 2 -1=1 Razlika kolone
Određivanje početnog rešenja K 2) Najveća razlika iznosi 2 i odogovara drugom redu. Najmanja vrednost u tom redu se nalazi u polju (2, 3), pa će se tom polju dodeliti vrednost x 23= min{a 2, b 3}= min{30, 20}=20. T 0: ponuda tražnja 40 50 20 P 1 P 2 P 3 Razlika reda 30 S 1 2 2 4 2 -2=0 30 S 2 5 3 1 3 -1=2 50 S 3 3 6 2 3 -2=1 2 -1=1 Razlika kolone 20 3 -2=1
Određivanje početnog rešenja K 3) i K 4) Na skladištu S 2 ostalo je 10 jedinica robe (a 2=30 -20=10). T 0: ponuda tražnja 40 50 20 P 1 P 2 P 3 Razlika reda 30 S 1 2 2 4 2 -2=0 30 (10) S 2 5 3 1 3 -1=2 50 S 3 3 6 2 3 -2=1 2 -1=1 Razlika kolone 20 3 -2=1
Određivanje početnog rešenja K 3) i K 4) Na skladištu S 2 ostalo je 10 jedinica robe (a 2=30 -20=10). Pošto je a 2 veće od b 3 (30>20) tražnja prodavnice P 3 je u potpunosti zadovoljena i tu kolonu više nećemo posmatrati pri određivanju razlika. T 0: ponuda 40 50 20 Razlika reda tražnja P 1 P 2 P 3 30 S 1 2 2 4 2 -2=0 30 (10) S 2 5 3 1 3 -1=2 50 S 3 3 6 2 3 -2=1 2 -1=1 Razlika kolone 20 3 -2=1
Određivanje početnog rešenja Pošto nije sva roba raspoređena ponovo se određuju razlike između dva najmanja elementa u redovima i kolonama. T 0: ponuda tražnja 40 50 20 P 1 P 2 P 3 Razlika reda 30 S 1 2 2 4 2 -2=0 30 (10) S 2 5 3 1 3 -1=2 50 S 3 3 6 2 3 -2=1 2 -1=1 Razlika kolone 20 3 -2=1
Određivanje početnog rešenja Pošto nije sva roba raspoređena ponovo se određuju razlike između dva najmanja elementa u redovima i kolonama. Razlike kolone nisu promenjene pa je dovoljno ponovo izračunati samo razlike redova. T 0: ponuda tražnja 40 50 20 P 1 P 2 P 3 Razlika reda 30 S 1 2 2 4 2 -2=0 30 (10) S 2 5 3 1 5 -3=2 20 3 -1=2 50 S 3 3 6 2 6 -3=3 3 -2=1 2 -1=1 Razlika kolone
Određivanje početnog rešenja Najveća razlika sada iznosi 3 i odogovara trećem redu. T 0: ponuda tražnja 40 50 20 P 1 P 2 P 3 Razlika reda 30 S 1 2 2 4 2 -2=0 30 (10) S 2 5 3 1 5 -3=2 20 3 -1=2 50 S 3 3 6 2 6 -3=3 3 -2=1 2 -1=1 Razlika kolone
Određivanje početnog rešenja Najveća razlika sada iznosi 3 i odogovara trećem redu. Najmanja vrednost u tom redu se nalazi u polju (3, 1), pa će se tom polju dodeliti vrednost x 31= min{a 3, b 1}= min{50, 40}=40. T 0: ponuda tražnja 40 50 20 P 1 P 2 P 3 Razlika reda 30 S 1 2 2 4 2 -2=0 30 (10) S 2 5 3 1 5 -3=2 20 3 -1=2 50 S 3 3 6 2 6 -3=3 3 -2=1 2 -1=1 Razlika kolone 40 3 -2=1
Određivanje početnog rešenja Na skladištu S 3 ostalo je 10 jedinica robe (a 3=50 -40=10). T 0: ponuda tražnja 40 50 20 P 1 P 2 P 3 Razlika reda 30 S 1 2 2 4 2 -2=0 30 (10) S 2 5 3 1 5 -3=2 20 3 -1=2 50 (10) S 3 3 6 2 6 -3=3 3 -2=1 2 -1=1 Razlika kolone 40 3 -2=1
Određivanje početnog rešenja Tražnja prodavnice P 1 je u potpunosti zadovoljena, pa ni tu kolonu više nećemo posmatrati pri određivanju razlika. T 0: ponuda tražnja 40 50 20 P 1 P 2 P 3 Razlika reda 30 S 1 2 2 4 2 -2=0 30 (10) S 2 5 3 1 5 -3=2 20 3 -1=2 50 (10) S 3 3 6 2 6 -3=3 3 -2=1 2 -1=1 Razlika kolone 40 3 -2=1
Određivanje početnog rešenja Pošto je robu moguće transponovati samo do P 2, dovoljno je pronaći najmanju vrednost u toj koloni. Ona se nalazi u polju (1, 2) pa će se tom polju dodeliti vrednost x 12= min{a 1, b 2}= min{30, 50}=30. T 0: ponuda tražnja 40 50 20 P 1 P 2 P 3 30 S 1 2 2 30 (10) S 2 5 50 (10) S 3 3 Razlika kolone 40 3 -2=1 Razlika reda 4 2 -2=0 3 1 5 -3=2 20 3 -1=2 6 2 6 -3=3 3 -2=1 2 -1=1 30
Određivanje početnog rešenja U prodavnicu P 2 moguće je transponovati još 20 jedinica robe (b 2=5030=20). T 0: ponuda tražnja 40 50 (20) 20 P 1 P 2 P 3 30 S 1 2 2 30 (10) S 2 5 50 (10) S 3 3 Razlika kolone 40 3 -2=1 Razlika reda 4 2 -2=0 3 1 5 -3=2 20 3 -1=2 6 2 6 -3=3 3 -2=1 2 -1=1 30
Određivanje početnog rešenja U prodavnicu P 2 moguće je transponovati još 20 jedinica robe (b 2=5030=20). Skaldište S 1 je ispražnjeno. T 0: ponuda tražnja 40 50 (20) 20 P 1 P 2 P 3 30 S 1 2 2 30 (10) S 2 5 50 (10) S 3 3 Razlika kolone 40 3 -2=1 Razlika reda 4 2 -2=0 3 1 5 -3=2 20 3 -1=2 6 2 6 -3=3 3 -2=1 2 -1=1 30
Određivanje početnog rešenja Sledeća bazna promenljiva će biti x 22= min{a 2, b 2}= min{10, 20}=10 T 0: ponuda tražnja 40 50 (20) 20 P 1 P 2 P 3 30 S 1 2 2 30 (10) S 2 5 3 50 (10) S 3 3 Razlika kolone 40 3 -2=1 Razlika reda 4 2 -2=0 1 5 -3=2 20 3 -1=2 6 2 6 -3=3 3 -2=1 2 -1=1 30 10
Određivanje početnog rešenja U prodavnicu P 2 moguće je transponovati još 10 jedinica robe (b 2=2010=10). T 0: ponuda tražnja 40 50 (20, 10) 20 P 1 P 2 P 3 30 S 1 2 2 30 (10) S 2 5 3 50 (10) S 3 3 Razlika kolone 40 3 -2=1 Razlika reda 4 2 -2=0 1 5 -3=2 20 3 -1=2 6 2 6 -3=3 3 -2=1 2 -1=1 30 10
Određivanje početnog rešenja U prodavnicu P 2 moguće je transponovati još 10 jedinica robe (b 2=2010=10). Skladište S 2 je ispražnjeno. T 0: ponuda tražnja 40 50 (20, 10) 20 P 1 P 2 P 3 30 S 1 2 2 30 (10) S 2 5 3 50 (10) S 3 3 Razlika kolone 40 3 -2=1 Razlika reda 4 2 -2=0 1 5 -3=2 20 3 -1=2 6 2 6 -3=3 3 -2=1 2 -1=1 30 10
Određivanje početnog rešenja Preostalih 10 jedinica robe će se transponovati iz S 3 u P 2 (x 32= 10). T 0: ponuda tražnja 40 50 (20, 10) 20 P 1 P 2 P 3 30 S 1 2 2 30 (10) S 2 5 3 50 (10) S 3 3 6 Razlika kolone 40 3 -2=1 30 10 10 Razlika reda 4 2 -2=0 1 5 -3=2 20 3 -1=2 2 6 -3=3 3 -2=1 2 -1=1
Određivanje početnog rešenja Početno rešenje je dato u tabeli: ponuda tražnja 40 50 (20, 10) 20 P 1 P 2 P 3 30 S 1 2 2 30 (10) S 2 5 3 50 (10) S 3 3 6 40 30 10 10 4 1 20 2 Početno rešenje: Ukupni troškovi transporta: F 0 = 2*30 + 3*10 + 1*20 + 3*40 + 6*10 = 290
Zadatak 2 Transport robe se vrši iz 4 skladišta u 4 prodavnice. Jedinični troškovi transporta, količine robe na zalihama i količine robe koje su potrebne prodavnicama su date u tabeli: P 1 P 2 P 3 P 4 Raspoloživa količina S 1 3 5 3 1 30 S 2 4 1 4 2 25 S 3 7 1 2 6 25 S 4 4 5 5 3 60 Potrebna količina 40 25 55 20 a) Formulisati matematički model transportnog problema; b) Odrediti početno rešenje; c) Odrediti optimalno rešenje;
Napomena: Prilikom određivanja početnog rešenja, dovoljno je sve promene vršiti na jednoj simpleks tabeli, kao što će biti prikazano na sledećim slajdovima. T 0: ponuda tražnja 40 25 55 20 P 1 P 2 P 3 P 4 30 S 1 3 5 3 1 25 S 2 4 1 4 2 25 S 3 7 1 2 6 60 S 4 4 5 5 3
T 0: ponuda tražnja 40 25 55 20 P 1 P 2 P 3 P 4 Razlika reda 30 S 1 3 5 3 1 2 25 S 2 4 1 4 2 1 25 S 3 7 1 2 6 1 60 S 4 4 5 5 3 1 1 0 1 1 Razlika kolone
T 0: ponuda tražnja 40 25 55 20 P 1 P 2 P 3 P 4 Razlika reda 30 S 1 3 5 3 1 25 S 2 4 1 4 2 1 25 S 3 7 1 2 6 1 60 S 4 4 5 5 3 1 1 0 1 1 Razlika kolone 20 2
T 0: ponuda tražnja 40 25 55 20 P 1 P 2 P 3 P 4 Razlika reda 30 (10) S 1 3 5 3 1 25 S 2 4 1 4 2 1 25 S 3 7 1 2 6 1 60 S 4 4 5 5 3 1 1 0 1 1 Razlika kolone 20 2
T 0: ponuda tražnja 40 25 55 20 P 1 P 2 P 3 P 4 Razlika reda 30 (10) S 1 3 5 3 1 25 S 2 4 1 4 2 1, 3 25 S 3 7 1 2 6 1, 1 60 S 4 4 5 5 3 1, 0 1 1 Razlika kolone 20 2, 0
T 0: ponuda tražnja 40 25 55 20 P 1 P 2 P 3 P 4 Razlika reda 30 (10) S 1 3 5 3 1 25 S 2 4 1 4 2 1, 3 25 S 3 7 1 2 6 1, 1 60 S 4 4 5 5 3 1, 0 1 1 Razlika kolone 25 20 2, 0
T 0: ponuda tražnja 40 25 55 20 P 1 P 2 P 3 P 4 Razlika reda 30 (10) S 1 3 5 3 1 25 S 2 4 1 4 2 1, 3 25 S 3 7 1 2 6 1, 1 60 S 4 4 5 5 3 1, 0 1 1 Razlika kolone 25 20 2, 0
T 0: ponuda tražnja 40 25 55 20 P 1 P 2 P 3 P 4 Razlika reda 30 (10) S 1 3 5 3 1 25 S 2 4 1 4 2 1, 3 25 S 3 7 1 2 6 1, 1, 5 60 S 4 4 5 5 3 1, 0, 1 1, 1 0 1, 1 1 Razlika kolone 25 20 2, 0, 0
T 0: ponuda tražnja 40 25 55 20 P 1 P 2 P 3 P 4 Razlika reda 30 (10) S 1 3 5 3 1 25 S 2 4 1 4 2 1, 3 25 S 3 7 1 2 6 1, 1, 5 60 S 4 4 5 5 3 1, 0, 1 1, 1 0 1, 1 1 Razlika kolone 25 25 20 2, 0, 0
T 0: ponuda tražnja 40 25 55 (30) 20 P 1 P 2 P 3 P 4 Razlika reda 30 (10) S 1 3 5 3 1 25 S 2 4 1 4 2 1, 3 25 S 3 7 1 2 6 1, 1, 5 60 S 4 4 5 5 3 1, 0, 1 1, 1 0 1, 1 1 Razlika kolone 25 25 20 2, 0, 0
T 0: ponuda tražnja 40 25 55 (30) 20 P 1 P 2 P 3 P 4 Razlika reda 30 (10) S 1 3 5 3 1 25 S 2 4 1 4 2 1, 3 25 S 3 7 1 2 6 1, 1, 5 60 S 4 4 5 5 3 1, 0, 1 1, 1, 1 0 1, 1, 2 1 Razlika kolone 25 25 20 2, 0, 0
T 0: ponuda tražnja 40 25 55 (30) 20 P 1 P 2 P 3 P 4 30 (10) S 1 3 5 3 25 S 2 4 1 4 2 1, 3 25 S 3 7 1 2 6 1, 1, 5 60 S 4 4 5 5 3 1, 0, 1 1, 1, 1 0 1, 1, 2 1 Razlika kolone 25 10 25 1 Razlika reda 20 2, 0, 0
T 0: ponuda tražnja 40 25 55 (30, 20) 20 P 1 P 2 P 3 P 4 30 (10) S 1 3 5 3 25 S 2 4 1 4 2 1, 3 25 S 3 7 1 2 6 1, 1, 5 60 S 4 4 5 5 3 1, 0, 1 1, 1, 1 0 1, 1, 2 1 Razlika kolone 25 10 25 1 Razlika reda 20 2, 0, 0
T 0: ponuda tražnja 40 25 55 (30, 20) 20 P 1 P 2 P 3 P 4 30 (10) S 1 3 5 3 25 S 2 4 1 4 2 1, 3 25 S 3 7 1 2 6 1, 1, 5 60 S 4 4 5 5 3 1, 0, 1 1, 1, 1 0 1, 1, 2 1 Razlika kolone 25 10 25 1 Razlika reda 20 2, 0, 0
T 0: ponuda tražnja 40 25 55 (30, 20) 20 P 1 P 2 P 3 P 4 30 (10) S 1 3 5 3 25 S 2 4 1 4 2 1, 3 25 S 3 7 1 2 6 1, 1, 5 60 S 4 4 5 5 3 1, 0, 1 0 1, 1, 2 1 Razlika kolone 40 1, 1, 1 25 10 25 1 Razlika reda 20 2, 0, 0
T 0: ponuda tražnja 40 25 55 (30, 20) 20 P 1 P 2 P 3 P 4 30 (10) S 1 3 5 3 25 S 2 4 1 4 2 1, 3 25 S 3 7 1 2 6 1, 1, 5 60 (20) S 4 4 5 5 3 1, 0, 1 0 1, 1, 2 1 Razlika kolone 40 1, 1, 1 25 10 25 1 Razlika reda 20 2, 0, 0
T 0: ponuda tražnja 40 25 55 (30, 20) 20 P 1 P 2 P 3 P 4 30 (10) S 1 3 5 3 25 S 2 4 1 4 2 1, 3 25 S 3 7 1 2 6 1, 1, 5 60 (20) S 4 4 5 5 3 1, 0, 1 0 1, 1, 2 Razlika kolone 40 1, 1, 1 25 10 25 20 1 Razlika reda 1 20 2, 0, 0
T 0: ponuda tražnja 40 25 55 (30, 20) 20 P 1 P 2 P 3 P 4 30 (10) S 1 3 5 3 25 S 2 4 1 4 2 1, 3 25 S 3 7 1 2 6 1, 1, 5 60 (20) S 4 4 5 5 3 1, 0, 1 0 1, 1, 2 Razlika kolone 40 1, 1, 1 25 10 25 20 1 Razlika reda 1 20 2, 0, 0
Početno rešenje: Ukupni troškovi transporta: F 0 = 3*10+1*25+2*25+4*40+5*20 =385 T 0: ponuda tražnja 40 25 55 (30, 20) 20 P 1 P 2 P 3 P 4 30 (10) S 1 3 5 3 25 S 2 4 1 4 2 1, 3 25 S 3 7 1 2 6 1, 1, 5 60 (20) S 4 4 5 5 3 1, 0, 1 0 1, 1, 2 Razlika kolone 40 1, 1, 1 25 10 25 20 1 Razlika reda 1 20 2, 0, 0
Napomene: Ukoliko postoje dva ili više kolona ili redova sa istim najvećim razlikama, transport će se vršiti preko polja sa najmanjom vrednošću u nekom od tih redova ili kolona. Ukoliko postoje dva ili više kolona ili redova sa istim najvećim razlikama, a ne postoji jedinstvena najmanja vrednost u nekom od tih redova ili kolona, transport će se vršiti preko polja u koje može da se transponuje najveća količina robe. Početno bazno rešenje dato u tabelama T 0 može, ali ne mora da bude optimalno (kao što je slučaj u ovim zadacima). U sledećoj prezentaciji testiraće se optimalnost početnog baznog rešenja i naći će se “bolje” rešenje.
OI Vežbe 6 dr Milan Radojičić milan. radojicic@fon. bg. ac. rs
- Slides: 50