Kvantitativne metode za poslovno odlučivanje * V. Cjelobrojno programiranje Rudolf Scitovski, Ivan Vazler, Martina Briš 23. siječnja 2013. Sadržaj 1 Uvod 1 2 Problem cjelobrojnog programiranja 2 2.1 Neki specijalni problemi cjelobrojnog programiranja ................ 3 2.1.1 Problem ranca ................................. 3 2.1.2 Problem asignacije ............................... 4 2.1.3 Transportni problem .............................. 5 2.1.4 Problem trgovačkog putnika .......................... 6 2.1.5 Problem najkraćeg puta ............................ 8 2.1.6 Problem maksimalnog toka .......................... 9 2.1.7 Metoda kritičnog puta za planiranje realizacije projekta .......... 10 2.1.8 Problem minimalnih troškova toka ...................... 10 2.1.9 Investicijsko odlučivanje ............................ 11 2.1.10 Problem raspoređivanja ............................ 12 2.1.11 Oglašavanje u marketingu ........................... 14 2.1.12 Problem krojenja/rezanja materijala ..................... 15 1 Uvod x * Obvezni predmet u 5. semestru sveučilišnog preddiplomskog studijskog programa Poduzetništvo Eko- nomskog fakulteta u Osijeku (45 sati predavanja i 15 sati vježbi, 5 ECTS bodova)
16
Embed
Kvantitativne metode za poslovno odlučivanje V. Cjelobrojno ...
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Kvantitativne metode za poslovno odlučivanje ∗V. Cjelobrojno programiranje
Rudolf Scitovski, Ivan Vazler, Martina Briš
23. siječnja 2013.
Sadržaj1 Uvod 1
2 Problem cjelobrojnog programiranja 22.1 Neki specijalni problemi cjelobrojnog programiranja . . . . . . . . . . . . . . . . 3
x∗Obvezni predmet u 5. semestru sveučilišnog preddiplomskog studijskog programa Poduzetništvo Eko-
nomskog fakulteta u Osijeku (45 sati predavanja i 15 sati vježbi, 5 ECTS bodova)
Kvantitativne metode 2
2 Problem cjelobrojnog programiranja
Primjer 1. Razmotrimo sljedeći LP problem (Slika 1a):
Maksimizirati z = 35x1 + 100x2 uz uvjete
25x1 + 100x2 ≤ 343.75
1375x1 + 100x2 ≤ 4056.25
100x2 ≤ 325
x1, x2 ≥ 0
Njegovo rješenje postiže se za x? = (2.75, 2.75)T , a vrijednost funkcije cilja je z? = 371.25(vidi Sliku 1a).
Međutim, ako bi zahtijev bio pronaći maksimum iste funkcije cilja, ali uz uvjet da varijablesmiju primiti samo nenegativne cjelobrojne vrijednosti x1, x2 ∈ Z+, onda se dopustivo područjesastoji samo od 11 točaka (Slika 1b, a maksimalna vrijednost funkcije cilja postiže se u točkix?
I = (1, 3)T , pri čemu je z?I = 335. Problem pronalaženja optimalne točke s cjelobrojnim koor-
dinatama u dopustivom području naziva se problem cjelobrojnog programiranja(Barković,2010; Vanderbei, 2001; Sierksma, 2002).
0.5 1.0 1.5 2.0 2.5 3.0
1
2
3
4a) LP-problem
0.5 1.0 1.5 2.0 2.5 3.0
1
2
3
4b) IP-problem
0.5 1.0 1.5 2.0 2.5 3.0
1
2
3
4c) Zaokruživanje
Slika 1: LP i odgovarajući IP problem
Odmah bi nam moglo pasti na pamet da potražimo optimalnu točku, kao rješenje klasičnog(realnog) LP problema i onda zaokruživanjem njenih koordinata prema dolje dobijemo cjelo-brojno rješenje. U našem bi primjeru zaokruživanjem dobili točku x = (2, 2)T i vrijednostfunkcije cilja z = 270.Zašto zaokruživanje prema gore ne bi imalo smisla?
Primijetite da je relativna pogreška funkcije cilja kod cjelobrojnog programiranja ( |z?−z?
I |z? ),
10%, dok je relativna pogreška funkcije cilja kod metode zaokruživanja ( |z?−z|z? ) znatno veća i
iznosi oko 30%.
Kvantitativne metode 3
Zbog toga su u literaturi razrađene brojne metode za rješavanje problema cjelobrojnog pro-gramiranja. Najpoznatija takva metoda je metoda grananja i ograđivanja (Branch-and-boundMethod) (vidi primjerice (Sierksma, 2002)).
2.1 Neki specijalni problemi cjelobrojnog programiranja
2.1.1 Problem ranca
Primjer 2. (Sierksma, 2002) U kontejner poznatog volumena 15m3 treba smjestiti što višeprimjeraka od 5 objekata poznatog volumena i poznatog prihoda po komadu .
Objekt Prihod Volumen
A 5 5B 3 4C 6 7D 6 6E 2 2
Tablica 1: Podaci za problem ranca
Sa x1, x2, x3, x4, x5 označimo broj komada pojedinog od objekta A, B, C, D, E koji trebastaviti u kontejner tako da ukupni prihod bude maksimalan. Odgovarajući ILP (ineger linearprogramming) problem možemo zapisati
Maksimizirati z = 5x1 + 3x2 + 6x3 + 6x4 + 2x5 uz uvjete
5x1 + 4x2 + 7x3 + 6x4 + 2x5 ≤ 15
xi ∈ Z+
Rješenje ovog problema (x? = (3, 0, 0, 0, 0)T , z? = 15) može se dobiti slobodno dostupnimgotovim programom:http://www.zweigmedia.com/RealWorld/LPGrapher/lpg.html
Specijalno, može se promatrati problem ranca kod kojega je xi ∈ {0, 1}. To znači da ukontejner želimo staviti po jedan primjerak od samo nekih objekata, tako da ukupni prihodbude maksimalan. U tom slučaju govorimo o 0-1 programiranju. Prethodni primjer tada bimogli formulirati na sljedeći način:
Maksimizirati z = 5x1 + 3x2 + 6x3 + 6x4 + 2x5 uz uvjete (2.1)
5x1 + 4x2 + 7x3 + 6x4 + 2x5 ≤ 15
x1 ≤ 1, x2 ≤ 1, x3 ≤ 1, x4 ≤ 1, x5 ≤ 1
xi ∈ {0, 1}
Prethodno spomenuti gotovi program ne predviđa rješavanje ovakvih problema. Zato ćemo seposlužiti Mathematica–programom
I = 14. Provjerite ranije spomenutim gotovim pro-gramom da kao rješenje problema (2.1), kod kojeg umjesto uvjeta xi ∈ {0, 1} tražimo xi ≥ 0, dobivamo:x?R = (1, 0, 2
(b) Treba odrediti najpovoljniju ponudu tako da svaki posao (vidi Sliku 2) bude pridružen jednomponuditelju i da svaki ponuditelj dobije barem jedan posao.Prethodnom sustavu restrikcija treba dodati
x11 + x12 + x13 ≥ 1x21 + x22 + x23 ≥ 1
Matrični zapis:
A2 =[
1 1 1 0 0 00 0 0 1 1 1
]b2 =
[11
] z = cT x→ minA1x = b1A2x ≥ b2
c = ( 5 4 2 6 5 3 )T
x = (x11, x12, x13, x21, x22, x23)T
Rješenje: x? = (0, 1, 1, 1, 0, 0)T , z? = 12.
Zadatak 2. Za slučaj (a) i slučaj (b) napišite odgovarajuće dualne probleme. Primjenom gotovog pro-grama pronađite rješenja i protumačite njihovo značenje.Rješenje: (a) y? = (5, 4, 2)T , z? = 11, (b) y? = (5, 4, 2, 0, 1)T , z? = 12
2.1.3 Transportni problemn – broj ishodišta (skladišta);m – broj odredišta (trgovina);Ishodište i raspolaže sa Si jedinica robeOdredište j potražuje barem Dj jedinica robecij – troškovi transporta jedne jedinice robe iz ishodišta i u odredište j;xij – količina robe koja iz ishodišta i odlazi u odreište j
2.1.4 Problem trgovačkog putnikaTrgovački putnik polazi iz ishodišta (čvor 0 na Slici 4) i mora obići n čvorova (gradova), tako da ni ujedan ne dolazi više od jedanput, a da troškovi puta budu minimalni. Na Slici 4 naznačeni su troškovipojedinih dionica puta. Primijetite da je broj svih mogućih ruta jednak broju svih permutacija redosljedaobilaska gradova. Primjerice, već za relativno mali broj n = 20, broj svih mogućih obilazaka je ogroman:n! = 2432008176640000 ≈ 2.4× 1018. Slično kao i ranije, označimo:cij – procijenjeni troškovi puta i↔ j;
xij ={
1, ako je putnik prešao putod čvora i do čvora j,
0, inače
0
1
2
3
4
4040
30
2550
50
45 65
35
80
Slika 4: Problem trgovačkog putnika (0 je početak i kraj puta)
Kvantitativne metode 7
Polazni model:
Minimizirati z =n∑
i=0
∑j 6=i
cijxij (2.2)
uz uvjete∑j 6=i
xij = 1, za svaki i = 0, 1, . . . , n
(iz i-tog čvora putnik može otići samo u jedan novi čvor)∑i 6=j
xij = 1, za svaki j = 0, 1, . . . , n
(u j-ti čvor putnik može doći samo iz jednog čvora)
xij ∈ {0, 1}
Prvo prolazno rješenje pokazuje da se pojavilo kruženje u subputu 0− 2− 1− 0:
Dakle optimalna ruta je: 0− 3− 4− 2− 1− 0, pri čemu su troškovi puta z? = 195.Primjedba 2. Problem se može definirati tako da se automatski ispituju i eliminiraju subputovi. Modelu(2.2) treba dodati sljedeće restrikcije (vidi (Vanderbei, 2001)):
tj ≥ ti + 1− (n + 1)(1− xij), i ≥ 0, j ≥ 1, i 6= j,
t0 = 0,
ti ∈ {0, 1, . . . , n}.
Na taj način u modelu se pojavljuje n2 + n + 1 varijabla.
Kvantitativne metode 8
2.1.5 Problem najkraćeg putam – broj čvorova;n – broj lukova (bridova);cij – trošak prolaza od i-tog do j-tog čvora;
xij ={
1, ako je luk od čvora i do čvora j na putu,
0, inače
1
2
3
6
5
4
Ishodište
Odredište
6
5
6
4
17
10
28
15
10
Slika 5: Problem najkraćeg puta
Za ishodišni čvor mogu postojati samo izlazi;Za odredišni čvor mogu postojati samo ulazi;Za svaki unutrašnji čvor vrijedi: ako uđemo u njega, moramo ga i napustiti.
Zadatak 4. Napišite odgovarajući dualni problem. Primjenom gotovog programa pronađite rješenje iprotumačite značenja dualnih varijabli.
2.1.6 Problem maksimalnog tokam – broj čvorova;n – broj lukova (bridova);cij – prihod od i-tog do j-tog čvora; ako je ci0,j0 = 0, nećmo ići od čvora i0 prema čvoru j0;
2.1.7 Metoda kritičnog puta za planiranje realizacije projektaKontrola i evaluacija projektaKako identificirati uska grlaKoliko je neophodno vrijeme za realizaciju projekta
m – broj čvorova;n – broj lukova (aktivnosti u projektu);cij – procijenjeno vrijeme trajanja projekta od čvora i do čvor j;
xij ={
1, ako je projektna aktivnost i→ j na kritičnom putu,
0, inačeNajkraće vrijeme potrebno za realizaciju projekta uzima se kao trajanje najdužeg puta.
Ovaj problem uključuje sve prethodno razmatrane probleme, tj. svaki od prethodno razmatranihproblema može se promatrati kao specijalan slučaj problema minimalnih troškova toka:
• problem maksimalnog toka razmatran u t.2.1.6 može se gledati kao tok koji maksimizira kapaciteteu mreži;
• problem najkraćeg puta razmatran u t.2.1.5 može se gledati kao tok koji minimizira troškove umreži;
• transportni problem razmatran u t.2.1.3 može se gledati kao tok koji dozvoljava višestruka ishodištai odredišta.
2.1.9 Investicijsko odlučivanjeD – kapital raspoloživ za investiranje;n – broj projekata;dj – veličina investicije u projekt j;pj – profit od projekta j;
xj ={
1, poduzeće je odlučilo investirati u projekt j,
0, poduzeće neće investirati u projekt j∑nj=1 djxj – ukupna investicija;∑nj=1 pjxj – ukupni profit;∑nj=1 dj > D – kapital raspoloživ za investiranje nije dovoljan za pokretanje svih projekata.
Primjer 3. U niže navedenoj tablici vidljive su potrebne inesticija u projekte dj, profiti po projektima pj,a u Tablici 2 rješenja problema za D = 200, 300, 400. Pri tome komparirana su rješenja koja se dobivajurealnim i cjelobrojnim linearnim programiranjem uz korištenje programskog sustava Mathematica:
2.1.10 Problem raspoređivanjaProblem se može razmatrati za medicinske sestre, vozače autobusa, kontrolore leta itd. Razmotrimoproblem rasporeda broja medicinskih sestara u bolnici.
Zahtjevi RješenjeRed.br. Perod dana Potrebno sestara Počinje smjenu Pridruženo sestara
Tablica 3: Potreban broj medicinskih sestara u bolnici
Sestre imaju 8 satno radno vrijeme organizirano po smjenama koje mogu početi od 8:00, 10:00, 12:00,14:00, 16:00 sati. Na taj način pokriva se vrijeme od 8:00 do 24:00. U tom vremenu mogu postojati manjiili veći zahtjevi za brojem sestara koji se očituju potrebom za brojem sestara u dvosatnim periodima (vidi
Kvantitativne metode 13
primjerice Tablicu 3). Treba pokriti radno vrijeme tako da budu ispunjeni zahtjevi po periodima, a dapri tome ukupni broj sestara bude minimalan.xi - broj sestara koje počinju rad u i-toj smjeni, i = 1, 2, 3, 4, 5.
Primjerice, x1 je broj sestara u prvoj smjeni (8:00-16:00), x2 je broj sestara u drugoj smjeni(10:00-18:00) itd.
10 8 9 11 13 8 5 38 10 12 14 16 18 20 22 24
x1x2
x3
x4x5
Slika 11: Pokrivanje radnog vremena sestrama po periodima
Dakle, u prvu smjenu treba doći 10 seatara, u drugu 5, u treću 3, u četvrtu 2 i u petu smjenu 3 sestre.Na taj način pokriveni su svi zahtjevi po periodima. Na Slici 11a prikazan je broj potrebnih (tamnije) izaposlenih-pridruženih (svjetlije) sestara po periodima.
10 8 9 11 13 8 5 38 10 12 14 16 18 20 22 24
x?1 = 10
x?2 = 5
x?3 = 3
x?4 = 2
x?5 = 3
Slika 12: Pokrivanje radnog vremena sestrama po periodima
Kvantitativne metode 14
10 12 14 16 18 20 22 24
5
10
15
20
a) Početno stanje
8 10 12 14 16 18 20 22 24
5
10
15
20
b) Stanje nakon korekcije dualom
Slika 13: Broj potrebnih (tamnije) i zaposlenih-pridruženih (svjetlije) sestara po periodima
Ovo pokazuje da ako u prvom (odnosno petom) periodu broj potrebnih sestara smanjimo za 1, vrijednostfunkcije cilja (ukupni broj potrebnih sestara) smanjit će se za 1. Stvarno, ako u prvom periodu (8:00-10:00) zahtjev za brojem sestara smanjimo od 10 na 9 i u petom periodu (8:00-10:00) zahtjev za brojemsestara smanjimo od 13 na 12, dobivamo novo rješenje ILP-problema
Ponovo su ispunjeni svi zahtjevi po periodima, ali je ukupno potreban broj medicinskih sestara smanjenza 2. Na Slici 11b prikazan je broj potrebnih (tamnije) i zaposlenih-pridruženih (svjetlije) sestara poperiodima nakon navedene korekcije.
2.1.11 Oglašavanje u marketinguU nekoj zemlji izlazi 5 dnevnih listova (novina): A,B,C,D,E, a svaki pokriva barem jednu od 9 državnihregija (vidi Tablicu 4)
x1 ={
1, ako je oglas objavljen u dnevnom listu A,
0, ako oglas nije objavljen u dnevnom listu Aitd.Primarni ILP:
Minimizirati z = 3x1 + 4x2 + 3x3 + 7x4 + 5x5
uz uvjete
Kvantitativne metode 15
Dnevni listovi Regije koje pokriva Cijena oglasa
A 1, 2, 3 3B 2, 3, 6 4C 4, 5, 6 3D 5, 7, 8 7E 6, 8, 9 5
2.1.12 Problem krojenja/rezanja materijalaPromatrat ćemo jednostavni jednodimenzionalni problem. Skladište dasaka, koje raspolaže daskamaduljine 10-ft, primilo je narudžbu za 50 dasaka duljine 3-ft, 65 dasaka duljine 4-ft i 40 dasaka duljine5-ft. Problem je odrediti minimalni broj dasaka duljine 10-ft kojima će se pokriti tražena narudžba.
Način rezanja 3-ft daske 4-ft daske 5-ft daske otpad (ft) broj dasaka (xi)
Najprije primijetimo da se dasaka duljine 10-ft može rezati na više načina da bi se dobile traženeduljine dasaka: 3-ft, 4-ft, 5-ft (vidi Tablicu 5).xi = broj dasaka duljine 10-ft rezanih na način #i, i = 1, 2, 3, 4, 5, 6;
Primarni ILP:Minimizirati z = x1 + x2 + x3 + x4 + x5 + x6, uz uvjete
Primjedba 3. Radi lakšeg korištenja stručne literature, koja je najviše dostupna na engleskom jezikunavedimo neke osnovne termine.
slack variable – dopunska varijablafeasible region – dopustivo područje
initial approximation – početna aproksimacijashadow prices – cijene u sjeni
objective function – funkcija ciljainteger programming – cjelobrojno programiranje
knapsack problem – problem rancaassignment problem – problem asignacije (pridruživanja)
transportation problem – transportni problemshorthest path problem – problem najkraćeg putamaximum flow problem – problem maksimalnog toka
kritical path method – metoda kritičnog putaminimal cost flow problem – problem minimalnih troškova tokatraveling salesman problem – problem trgovačkog putnika
capital budgeting applications – investicijsko odlučivanje(???)scheduling problem – problem raspoređivanja
LiteraturaH.Bader, S. Fröhlich, Matematika za ekonomiste, original: Einführung in die Mathematik für Volks- und
Betriebswirte, s njemačkog preveo prof. Bogumir Schön, Rad, Beograd, 1980.
D.Barković, Operacijska istraživanja, drugo izdanje, Sveučilište u Osijeku, Osijek, 2010.
M. S. Bazaraa, H.D. Sherali, C.M. Shetty, Nonlinear Programming. Theory and Algorithms, 3rd Edition,Wiley, New Jersey, 2006.
D. L.Boyd, L.Vandenberghe,Convex optimization, Cambridge University Press, Cambridge, 2004
L.Čaklović, Geometrija linearnog programiranja, Element, Zagreb, 2010.
Lj.Martić, Matematičke metode za ekonomske analize II, Narodne novine, Zagreb, 1966.
Lj.Martić, Primjena matematičkih metoda u ekonomskoj analizi, Informator, Zagreb, 1971.
L.Neralić, Uvod u matematičko programiranje, Element, Zagreb, 2003.
K. Sabo, Linearno programiranje (Radni materijal za predavanja), Odjel za matematiku, Sveučilište uOsijeku, 2011.http://www.mathos.hr/lp/Materijali/predavanje16_lp.pdf
R. J.Vanderbei, Linear Programming. Fundations and Extensions, 2rd Edition, Kluwer, 2001.
G. Sierksma, Linear and Integer Programming. Theory and Practice, 2rd Edition, Marcel Dekker, NewYork, 2002.