Upload
hoangnguyet
View
253
Download
11
Embed Size (px)
Citation preview
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
2.1.1 Problem ranca . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.1.2 Problem asignacije . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.1.3 Transportni problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.1.4 Problem trgovačkog putnika . . . . . . . . . . . . . . . . . . . . . . . . . . 62.1.5 Problem najkraćeg puta . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.1.6 Problem maksimalnog toka . . . . . . . . . . . . . . . . . . . . . . . . . . 92.1.7 Metoda kritičnog puta za planiranje realizacije projekta . . . . . . . . . . 102.1.8 Problem minimalnih troškova toka . . . . . . . . . . . . . . . . . . . . . . 102.1.9 Investicijsko odlučivanje . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.1.10 Problem raspoređivanja . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.1.11 Oglašavanje u marketingu . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.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)
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
Kvantitativne metode 4
c = {5,3,6,6,2};A = {{5,4,7,6,2}, {1,0,0,0,0}, {0,1,0,0,0}, {0,0,1,0,0}, {0,0,0,1,0}, {0,0,0,0,1}};b = {15,1,1,1,1,1};lp = LinearProgramming[(-c), (-A), (-b), Automatic, Reals];Print["Real: x*= ", lp, ", z*=", c.lp]lp = LinearProgramming[(-c), (-A), (-b), Automatic, Integers];Print["Integer: x*= ", lp, ", z*=", c.lp]
Dobivamo 0 − 1 rješenje: x?I = (1, 1, 0, 1, 0)T , z?
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
7 , 1, 1)T , z?R = 14.7143. Zaokruživanjem prema dolje dobivamo: x? = (1, 0, 0, 1, 1)T , z? = 13.
Zadatak 1. Razmotrite primjer naveden kod (Barković, 2010), str.78.
2.1.2 Problem asignacijePrimjedba 1. Vrijedi:• (∀a, b ∈ R) a · b = 0 ⇔ (a = 0 ∧ b 6= 0) ∨ (a 6= 0 ∧ b = 0) ∨ (a = 0 ∧ b = 0)• ∀a, b ∈ {0, 1},
a + b = 1 ⇔ (a = 1 ∧ b = 0) ∨ (a = 0 ∧ b = 1)a + b ≤ 1 ⇔ (a = 0 ∧ b = 0) ∨ (a = 0 ∧ b = 1) ∨ (a = 1 ∧ b = 0)
n – broj ponuditelja radova;m – broj poslova;cij – cijena po kojoj i-ti ponuditelj nudi izvođenje j-tog posla;
xij ={
1, i-ti ponuditelj izvodi j-ti posao,
0, i-ti ponuditelj ne izvodi j-ti posao
2
1
3
2
1
ponuditeljiposlovi
5
6
45
23
Slika 2: Problem asignacije
(a) Treba odrediti najpovoljniju ponudu tako da svaki posao (vidi Sliku 2) bude pridružen jednomponuditelju.
Minimizirati z = 5x11 + 4x12 + 2x13 + 6x21 + 5x22 + 3x23
uz uvjete x11 + x21 = 1x12 + x22 = 1x13 + x23 = 1
xij ∈ {0, 1}
Kvantitativne metode 5
Matrični zapis:
A1 =
1 0 0 1 0 00 1 0 0 1 00 0 1 0 0 1
b1 =
111
z = cT x→ minA1x = b1
c = ( 5 4 2 6 5 3 )T
x = (x11, x12, x13, x21, x22, x23)T
Rješenje: x? = (1, 1, 1, 0, 0, 0)T , z? = 11.
(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
3
2
1
(1200)
(1000)
(1000)
(400)
(750)ishodišta
odredišta
Slika 3: Transportni problem
Kvantitativne metode 6
Minimizirati z = 35x11 + 30x12 + 40x13 + 37x21 + 40x22 + 42x23
uz uvjete x11 + x12 + x13 ≤ 1200x21 + x22 + x23 ≤ 1000x11 + x21 ≥ 1000x12 + x22 = 400x13 + x23 = 750
xij ∈ Z+
Matrični zapis:
A =
−1 −1 −1 0 0 00 0 0 −1 −1 −11 0 0 1 0 00 1 0 0 1 00 0 1 0 0 1
b =
−1200−10001000400750
z = cT x→ minAx ≥ b
c = ( 35 30 40 37 40 42 )T
x = (x11, x12, x13, x21, x22, x23)T
Rješenje: x? = (50, 400, 750, 950, 0, 0)T , z? = 78900.
Zadatak 3. Napišite odgovarajući dualni problem. Primjenom gotovog programa pronađite rješenje iprotumačite značenja dualnih varijabli.Rješenje: y? = (2, 0, 37, 32, 42)T , z? = 78900
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:
xij 0 1 2 3 40 × 0 1 0 01 1 × 0 0 02 0 1 × 0 03 0 0 0 × 14 0 0 0 1 ×
z? = 170
Zato dodajemo novu restrikciju čime dobivamo novo rješenje s malo povećanom vrijednosti funkcije cilja:
x01 + x10 + x12 + x21 + x02 + x20 ≤ 2,
xij 0 1 2 3 40 × 1 0 0 01 1 × 0 0 02 0 0 × 1 03 0 0 0 × 14 0 0 1 0 ×
z? = 175
I drugo prolazno rješenje pokazuje da se opet pojavilo kruženje u novom subputu 0−1−0. Zato dodajemonovu restrikciju
x01 + x10 ≤ 1,
i na taj način dobivamo novo – završno rješenje s konačnom vrijednosti funkcije cilja:
xij 0 1 2 3 40 × 0 0 1 01 1 × 0 0 02 0 1 × 0 03 0 0 0 × 14 0 0 1 0 ×
z? = 195
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.
Minimizirati z = 15x12 + 10x13 + 6x24 + 17x26 + 8x32 + 5x34 + 10x35 + 4x45 + 6x46 + 2x56
uz uvjete x12 + x13 = 1 (ishodišni čvor 1 mora se napustiti)
x12 + x32 − x24 − x26 = 0 (unutrašnji čvor 2 )
x13 − x32 − x34 − x35 = 0 (unutrašnji čvor 3 )
x24 + x34 − x45 − x46 = 0 (unutrašnji čvor 4 )
x35 + x45 − x56 = 0 (unutrašnji čvor 5 )
x26 + x46 + x56 = 1 (mora se doći u odrdišni čvor 6 )
xij ∈ {0, 1}
x : x12 x13 x24 x26 x32 x34 x35 x45 x46 x56x? : 0 1 0 0 0 1 0 1 0 1 z? = 21.
1
2
3
6
5
4
Ishodište
Odredište
6
5
6
4
17
10
28
15
10
Slika 6: Najkraći put
Kvantitativne metode 9
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;
xij ={
1, ako je luk od čvora i do čvora j na putu,
0, inače
1
2
3
6
5
4F
F
10
10
6
4
8
12
1
1
0
0
0
2
0
5
0
0
0
4
3
2
Slika 7: Problem maksimalnog toka
Maksimizirati F = x12 + x13 (maksimalni protok)
uz uvjete x12 + x32 − x23 − x24 − x26 = 0 (unutrašnji čvor 2 )x13 + x23 + x43 − x32 − x34 − x35 = 0 (unutrašnji čvor 3 )x24 + x34 + x54 − x43 − x45 − x46 = 0 (unutrašnji čvor 4 )x35 + x45 − x54 − x56 = 0 (unutrašnji čvor 5 )x26 + x46 + x56 = x12 + x13 (ono što dolazi u čvor 6 jedanako je ulazu F
x12 ≤ 10, x13 ≤ 10, x23 ≤ 1, x26 ≤ 8, x24 ≤ 6, x32 ≤ 1, x34 ≤ 4,
x35 ≤ 12, x43 ≤ 4, x45 ≤ 2, x46 ≤ 3, x54 ≤ 2, x56 ≤ 5xij ≥ 0
1
2
3
6
5
4F ? = 16
F ? = 16
10
6
3
0
8
5
0
1 0 50
3
0
Slika 8: Maksimalni tok
x : x12 x13 x23 x24 x26 x32 x34 x35 x43 x45 x46 x53 x56x? : 10 6 0 3 8 1 0 5 0 0 3 0 5 F ? = 16.
Kvantitativne metode 10
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.
Za podatke iz t.2.1.5 dobivamo
x : x12 x13 x24 x26 x32 x34 x35 x45 x46 x56x? : 0 1 0 1 1 0 0 0 0 0 z? = 35.
1
2
3
6
5
4
Ishodište
Odredište
6
5
6
4
17
10
28
15
10
Slika 9: Najduži put
2.1.8 Problem minimalnih troškova toka
1
2
3
4
5
(20)
(5)
(15)
4, 8
4, 15
2, ?
6, 10 1, 15
2, 4
3, 51, 4
2, ?
Slika 10: Problem minimalnih troškova toka ovisni o troškovima i kapacitetima lukova
Kvantitativne metode 11
Minimizirati z = 4x12 + 4x13 + 2x23 + 2x24 + 6x25 + 1x34 + 3x35 + 2x45 + x53
uz uvjete x12 + x13 ≤ 20 (ishodišni čvor 1 dozvoljava 20)
x12 − x23 − x24 − x25 = 0 (unutrašnji čvor 2 )x13 + x23 + x53 − x34 − x35 = 0 (unutrašnji čvor 3 )x24 + x34 − x45 = 5 (čvor 4 potražuje 5)x25 + x35 + x45 − x53 = 15 (čvor 5 potražuje 15)x12 ≤ 15, x13 ≤ 8, x24 ≤ 4, x25 ≤ 10, x34 ≤ 15, x35 ≤ 5, x53 ≤ 4xij ≥ 0
Rješenje:x : x12 x13 x23 x24 x25 x34 x35 x45 x53x? : 12 8 8 4 0 11 5 10 0 z? = 150.
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:
Projekt I II III IV
dj 100 80 120 150pj 25 20 30 40
Kvantitativne metode 12
Primarni ILP:
Maksimizirati z =n∑
j=1pjxj
uz uvjeten∑
j=1djxj ≤ D, (veličina ukupne investicije ≤ raspoloživi kapital)
xij ∈ {0, 1}
In[1]:=c = {25., 20., 30., 40.};A = {{100., 80., 120., 150.}, {1., 0, 0, 0}, {0, 1., 0, 0},
{0, 0, 1., 0}, {0, 0, 0, 1.}};b = {400., 1., 1., 1., 1.};lp = LinearProgramming[(-c), (-A), (-b), Automatic, Integers];Print["Integer: x*= ", lp, ", z*=", c.lp]
D x1 x2 x3 x4
Real 200 0 0 .4167 1 52.5Integer 200 0 1 1 0 50.0Real 300 .3 0 1 1 77.5Integer 300 1 1 1 0 75.0Real 400 1 .375 1 1 102.5Integer 400 1 0 1 1 95.0
Tablica 2: Projekti u koje treba investirati
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
1 8:00 - 10:00 10 10 102 10:00 - 12:00 8 5 15 (10+5)3 12:00 - 14:00 9 3 18 (10+5+3)4 14:00 - 16:00 11 2 20 (10+5+3+2)5 16:00 - 18:00 13 3 13 (5+3+2+3)6 18:00 - 20:00 8 0 8 (3+2+3)7 20:00 - 22:00 5 0 5 (2+3)8 22:00 - 24:00 3 0 3 (3)
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
Primarni ILP:
Minimizirati z =8∑
i=1xi
uz uvjete x1 ≥ 10, (1. period: 8:00-10:00)x1 + x2 ≥ 8, (2. period: 10:00-12:00)x1 + x2 + x3 ≥ 9, (3. period: 12:00-14:00)x1 + x2 + x3 + x4 ≥ 11, (4. period: 14:00-16:00)x2 + x3 + x4 + x5 ≥ 13, (5. period: 16:00-18:00)x3 + x4 + x5 ≥ 8, (6. period: 18:00-20:00)x4 + x5 ≥ 5, (7. period: 20:00-22:00)x5 ≥ 3, (8. period: 22:00-24:00)xij ∈ Z+
Rješenje:
Počinje smjenu u: 8 : 00 10 : 00 12 : 00 14 : 00 16 : 00x : x1 x2 x3 x4 x5
x? : 10 5 3 2 3 z? = 23.
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
Dualni ILP:
Maximizirati z = 10y1 + 8y2 + 9y3 + 11y4 + 13y5 + 8y6 + 5y7 + 3y8
uz uvjete y1 + y2 + y3 + y4 ≤ 1,
y2 + y3 + y4 + y5 ≤ 1,
y3 + y4 + y5 + y6 ≤ 1,
y4 + y5 + y6 + y7 ≤ 1,
y5 + y6 + y7 + y8 ≤ 1,
yij ∈ Z+
Rješenje:
y : y1 y2 y3 y4 y5 y6 y7 y8y? : 1 0 0 0 1 0 0 0 z? = 23.
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
Počinje smjenu u: 8 : 00 10 : 00 12 : 00 14 : 00 16 : 00x : x1 x2 x3 x4 x5
x? : 9 4 3 2 3 z? = 21.
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
Tablica 4: Pojednostavljeni problem oglašavanja
x1 ≥ 1, (pokrivenost 1. regije) x2 + x3 + x5 ≥ 1, (pokrivenost 6. regije)x1 + x2 ≥ 1, (pokrivenost 2. i 3. regije) x4 ≥ 1, (pokrivenost 7. regije)x3 ≥ 1, (pokrivenost 4. regije) x4 + x5 ≥ 1, (pokrivenost 8. regije)x3 + x4 ≥ 1, (pokrivenost 5. regije) x5 ≥ 1, (pokrivenost 9. regije)xi ∈ {0, 1}
Rješenje: x : x1 x2 x3 x4 x5x? : 1 0 1 1 1 z? = 18.
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)
#1 3 0 0 1 0#2 2 1 0 0 25#3 1 0 1 2 0#4 0 1 1 1 0#5 0 2 0 2 20#6 0 0 2 0 20
Tablica 5: Načini rezanja dasaka duljine 10-ft
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
3x1 + 2x2 + x3 ≥ 50, (zahtjev za 3-ft daskama)x2 + x4 + 2x5 ≥ 65, (zahtjev za 4-ft daskama)x3 + x4 + 2x6 ≥ 40, (zahtjev za 5-ft daskama)xi ∈ Z+
Rješenje: x : x1 x2 x3 x4 x5 x6x? : 0 25 0 0 20 20 z? = 65.
Koliki je ukupni otpad?
Kvantitativne metode 16
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.