Professional Documents
Culture Documents
Kvantitativne Metode Za Poslovno Odlučivanje: IV. Linearno Programiranje
Kvantitativne Metode Za Poslovno Odlučivanje: IV. Linearno Programiranje
7. siječnja 2012.
Sadržaj
1 Uvod 2
Kvantitativne metode 2
1 Uvod
2 Problem linearnog programiranja (LP)
Informacijska osnova proizvodnje:
• Strojevi (što mogu proizvoditi, koliko vremena im je potrebno za proizvodnju jedne jedinice
proizvoda, koliki su im vremenskim kapaciteti);
• Ludski rad (što mogu proizvoditi, koliko vremena im je potrebno za proizvodnju jedne
jedinice proizvoda, koliki su im vremenskim kapaciteti);
Tablicu iz koje su vidljive veze između inputa (strojevi, ljudski rad, tržište) i outputa (količine
proizvoda) zvat ćemo matrica tehnologije.
Kod matematičke formulacije problema koristi se temeljna pretpostavka o linearnosti
veza, koja se može razložiti na dvije pretpostavke:
Kvantitativne metode 3
strojnog rada, onda je za proizvodnju jedne jedinice proizvoda P 1 i jedne jedinice proizvoda
P 2 potrebno utrošiti 6 sati strojnog rada;
x1 , x2 ≥ 0
Ovako definiran skup S je konveksan i nazivamo ga poliedar. Ako je poliedar ograničen, kao u
ovom primjeru, nazivamo ga politop.
(xi , yi ) (0, 0) (5, 0) (4, 2) (2, 3) (0, 3) (3, 2)
f (xi , yi ) 0 100 140 130 90 120
U vrhu (x1 , x2 ) = (4, 2) skupa S postiže se optimalno dopustivo rješenje na kome funkcija
cilja postiže optimalnu vrijednost z = 140.
Općenito, pretpostavimo da treba proizvoditi n proizvoda P 1 , . . . , Pn u količinama x1 , . . . , xn
korištenjem m resursa u količinama b1 , . . . , bm . Pri tome za izradu jedne jedinice proizvoda P j
koristi se i-ti resurs u količini aij . Dakle, ako su ρ1 , . . . , ρm postojeće tržišne cijene resursa, a
σ1 , . . . , σn postojeće tržišne cijene proizvoda, treba maksimizirati funkciju cilja
n
z = f (x1 , . . . , xn ) = c j x j , (2.1)
j =1
gdje su
m
c j = σ j − ρi aij , j = 1, . . . , n , (2.2)
i=1
Kvantitativne metode 4
1 1 2 3 4 5 6
1
x1 , . . . , xn ≥ 0. (2.4)
Matrični zapis:
Ax ≤ b. (2.6)
Teorem 1. Skup S = { x ∈ R n+ : Ax ≤ b } svih dopustivih rješenja problema linearnog programi-
ranja je konveksan.
Konveksni skup S = { x ∈ Rn+ : Ax ≤ b } nazivamo skup dopustivih rješenja (dopustivo
područje), vektor x ∈ R n optimalno dopustivo rješenje, a z = f (x ) optimalna vrijed-
nost funkcije cilja. Konveksni skup S nazivamo poliedar. Ako je poliedar ograničen, zovemo
ga politop.
Uz poznate tržišne cijene resursa ρi i tržišne cijene proizvoda σi , treba odrediti jedinične
cijene resursa w1 , w2 , w3 (dualna varijabla, cijena u sjeni), tako da ukupni troškove prizvodnje
Kvantitativne metode 5
Uvođenjem supstitucije
yi := w i − ρi , i = 1, 2, 3. (2.10)
problem (2.7) – (2.9) svodi se na optimizacijski problem
Naime, vrijedi
16y1 + 10y2 + 3y3 = 16w1 + 10w2 + 3w3 − (16ρ1 + 10ρ2 + 3ρ3 ) = 16w1 + 10w2 + 3w3 − 225,
Općenito, neka su ρ1 , . . . , ρm postojeće tržišne cijene resursa, a σ1 , . . . , σn postojeće tržišne
cijene proizvoda. Ako su w1 , . . . , wm jedinične cijene resursa, treba minimizirati ukupne troškove
proizvodnje
m
min
w1 ,...,wm
bi wi uz uvjete (2.11)
i=1
m
wi aij ≥ σ j , j = 1, . . . , n , (2.12)
i=1
wi ≥ ρ i , i = 1, . . . , m . (2.13)
Uvođenjem supstitucije
yi := w i − ρi , i = 1, . . . , m , (2.14)
Kvantitativne metode 6
a m i=1 ρi aij je konstanta, optimizacijski problemi (2.11) i (2.15) su ekvivalentni. Osim toga
vrijedi
m m m m
yi aij = wi aij − ρi aij ≥ σ j − ρi aij = c j .
i=1 i=1 i=1 i=1
Matrični zapis:
T
min b y = b T y , uz uvjet (2.18)
y ∈Rm
+
• Ako je x̂ dopustivo rješenje primarnog LP–problema (2.5)–(2.6), ŷ dopustivo rješenje du-
alnog LP–problema (2.18)–(2.19), onda vrijedi c T x̂ ≤ b T ŷ;
• Ako je x̂ dopustivo rješenje primarnog LP–problema (2.5)–(2.6), ŷ dopustivo rješenje dual-
nog LP–problema (2.18)–(2.19) i ako vrijedi c T x̂ = b T ŷ, onda su x̂ i ŷ optimalno dopustiva
rješenja;
• Ako primarni i dualni LP–problem imaju dopustiva rješenja, tada postoje i optimalno
dopustiva rješenja x , y i vrijedi cT x = b T y ; Ako primarni LP–problem (2.5)–(2.6) nema
dopustivo rješenje, onda odgovarajući dualni LP–problem (2.18)–(2.19) nema optimalno
dopustivo rješenje i ako dualni LP–problem (2.18)–(2.19) nema dopustivo rješenje, onda
odgovarajući primarni LP–problem (2.5)–(2.6) nema optimalno dopustivo rješenje;
Kvantitativne metode 7
x1 , x2 ≥ 0
Napišite matrični zapis ovog LP–problema i odgovarajući dualni problem. Što je rješenje dualnog
problema ?
Rješenje primarnog LP–problema: x = (4, 5)T , z = 33 ;
Rješenje dualnog LP–problema: y = (1, 0, 1)T , z = 33;
2.3 Primjeri
Primjer 3. (Martić, 1971) Za zadanu matricu tehnologije (Tablica 2) treba odrediti optimalni
proizvodni program koji će maksimizirati korištenje kapaciteta strojeva.
Primarni LP–problem:
x1 , x2 ≥ 0
(xi , yi ) (0, 0) (0, 600) (300, 500) (600, 200) (700, 0) (400, 400)
f (xi , yi ) 0 30000 37000 34000 28000 36000
1
Na web stranici http://www.zweigmedia.com/RealWorld/LPGrapher/lpg.html nalazi se program koji iscr-
tava područje određeno nejednakostima i rješava problem linearnog programiranja.
Kvantitativne metode 8
800
600
400
200
Dakle, dualna varijabla y 1 pokazuje za koliko bi se povećala vrijednost funkcije cilja ako bi prvu
restrikciju (kapacitet stroja S 1 ) povečali za 1 .
Za koliko bi se povećala vrijednost funkcije cilja (ukupno korištenje strojeva) ako bi raspoloživi
kapacitet strojeva S 1 i S 2 uvečali za 10 % ? (Ukupni kapacitet povećao bi se za 800 × 3.5 +
1800 × 0.5 = 3700)
Što bi se dogodilo ako bi kapacitet stroja S 3 povećali, a kapacitete strojeva S 1 i S 2 zadržali?
(Ništa se ne bi promijenilo jer je treća dualna varijabla y 3 = 0)
Kvantitativne metode 9
Primarni LP–problem:
x1 , x2 , x3 , x4 , x5 , x6 ≥ 0
Inputi Profit
P 1 P 2 P 3
Materijal M 1 20 50 30
Materijal M 2 18 70 40
Kvantitativne metode 10
Primjer 6. (Martić, 1971) Promatramo problem optimizacije proizvodnog programa jedne tvor-
nice cigareta. Proizvodnja se obavlja na 4 stroja s kapacitetima i matricom tehnologije prikazanoj
u Tablici 5. Tržišna ograničenja po vrstama cigareta su sledeća: P 1 (2.2), P 1 (64), P 1(98.4), P 1 (298), P 1 (34.2)
Primarni LP–problem:
x1 , x2 , x3 , x4 , x5 , x6 ≥ 0
Kvantitativne metode 11
tako da je svakog dana moguće proizvest maksimalni broj gotovih proizvoda. Komponente K 1 ,
K 2 proizvode se na tri stroja S 1 , S 2 , S 3 prema matrici tehnologije navedene u Tablici 6.
Primarni LP–problem:
x1 , x2 , x3 , x4 , x5 , x6 ≥ 0
Rješenja nisu cjelobrojna, kao što zahtijeva problem. Kako se u ovom slučaju može definirati
cjelobrojni optimalni proizvodnbi program ?
Formulirajte odgovarajući dualni LP-problem.
Rješenje dualnog problema: y = (2, 1, 6, 2)T , z = 120.
Kakva su značenja dualnih varijabli u ovom slučaju ?
Kvantitativne metode 12
Zadatak 2. (Martić, 1971) Treba odrediti optimalni proizvodni program u jednoj tvornici mli-
ječnih proizvoda, gdje se proizvodi 5 vrsta mliječnih proizvoda na 4 stroja sukladno matrici
tehnologije navedene u Tablici 7. Optimizacija se treba provesti prema dva kriterija:
(b) Maksimizacija profita ako se zna da je profit po jedinici proizvoda redom: 100, 10, 60, 80,
60, uz tržišna ograničenja na proizvode redom: 120, 60, .5, 5, 2.
Zadatak 3. (Martić, 1971) Na jednom stroju radeći 45 sati tjedno, mogu se proizvesti 3 različita
proizvoda. Profit po proizvodima P 1 , P 2 , P 3 je redom: 40, 120, 30. Za jedan sat rada stroj
izradi 50 jedinica proizvoda P 1 ili 25 jedinica proizvoda P 2 ili 75 jedinica proizvoda P 3 . Tržišna
ograničenja proizvoda su redom: 1000, 500, 1500. Odredite tjedni optimalni proizvodni program
koji će maksimizirati profit.
Kvantitativne metode 13
Zadatak 4. (Martić, 1971) U nekom poduzeću proizvode se tri proizvoda P 1 , P 2 , P 3 na bazi
sirovina S 1 , S 2 prema niže navedenoj matrici tehnologije. Poduzeće mjesečno treba proizvesti
barem 3 komada proizvoda P 1 , barem 5 komada proizvoda P 2 i barem 4 komada proizvoda P 3 .
Odredite optimalni proizvodni program koji će minimizirati troškove proizvodnje.
Primjer 8. (Sierksma, 2002) Neko poduzeće proizvodi kutije kratkih i dugih šibica;
– Profit po kutiji dugih šibica je 3 × $100, a po kutiji kratkih šibica 2 × $100;
– Stroj koji se koristi u proizvodnji može proizvesti 9 × 100 000 kutija kratkih ili dugih šibica;
– Po kutiji dugih šibica potrebno je 3m 3 , a po kutiji kratkih 1m 3 drva;
– Poduzeće godišnje raspolaže s 18 × 100000m 3 drva;
– Tržišna ograničenja za broj kutija dugih 7 × 100000 i kutija kratkih šibice 6 × 100000
x1 – broj kutija dugih šibica u ×100000
x2 – broj kutija kratkih šibica u ×100 000
x1 , x2 ≥ 0
Kvantitativne metode 14
x1 , x2 ≥ 0
w1 , w2 , w3 ≥ 0
Rješenje: w1 = 0, w2 = 2.5, w3 = 12.5, z = 2250. (objasniti “dualne cijene”, “cijene u sjeni”,
“oportunitetni troskovi”)
Kvantitativne metode 15
(b) Ako je kapacitet prvog stroja b1 = 10 fiksan, a kapacitet drugog stroja poraste na b2 = 20,
kako će se promijeniti optimalno rješenje ? Što će se dogoditi ako je b2 > 20 ?
Primjer 10. (Problem prehrane) (Martić, 1966; Neralić, 2003) Treba definirati program prehrane
grupe ljudi (primjerice vojske), tako da jelovnik bude raznolik, da sadrzava dovoljnu kolicinu
potrebnih hranjivih sastojaka (bjelancevina, masti, vitamina, ugljikohidrata,...), a da izdaci za
sirovine budu minimalni;
– H 1 , . . . , Hn – prehrambeni artikli na tržištu
– b j – tržišna cijena prehrambenog artikla H j ;
– E 1 , . . . , En – hranjivi sastojci;
– ci – minimalni zahtjev za hranjivim sastojkom E i ;
– aij – količina hranjivog sastojka E i u jednoj jedinici prehrambenog artikla H j ;
– y j – količina prehrambenog artikla H j ;
n
min b j y j uz uvjete
y1 ,...,yn
j =1
n
y j aij ≥ c i , i = 1, . . . , m ,
j =1
y1 , . . . , yn ≥ 0
Zadatak 6. Raspolažemo s dva prehrambena artikla: kruh i sir i kontroliramo samo dva hranjiva
sastojka: kalorije i proteini. Poznato je da 1 lb 2 kruha sadrži oko 1 000 kalorija i 25 g proteina,
a 1 lb sira 2000 kalorija i 100 g proteina. Standardna hrana za 1 dan treba sadržavati barem
3000 kalorija i 100 g proteina.
(a) Ako je cijena kruha 6 kn, a sira 21 kn po lb, kako bi izgledala optimalna prehrana ? Je li
to jedino optimalno rješenje ? Koliki su minimalni troškovi ishrane ?
2
lb: funta – pola kilograma
Kvantitativne metode 16
(b) Ako se cijena kruha poveća na 10.5 kn, a cijena sira ostane nepromijenjena, koliko se u
tom slučaju može sastaviti optimalnih programa prehrane i koji su to programi ? Koliki su
troškovi svakog od tih programa ?
(c) Pokažite da problem prehrane ima beskonačno mnogo rješenja ako je cijena kruha 6 kn, a
sira 24 kn po lb. Koji od tih optimalnih programa sadrži najmanje kruha ?
(d) Neka je p1 cijena kruha, a p2 cijena sira. Pokažite da optimalni program prehrane sadrži
samo kruh ako je p1 < 41 p2 , a samo sir ako je p1 > 21 p2 . U kojem intervalu mora biti
cijena kruha p 1 , da bi i kruh i sir bili u optimalnom programu ? U kojem odnosu su cijene
kruha i sira u slučaju postojanja više optimalnih rješenja ?
(d) Formulirajte dualni problem i diskutirajte ga. Što su u ovom slučaju cijene u sjeni ?
Primjer 11. (Problem transporta) (Martić, 1966; Neralić, 2003) Iz m ishodišta (skladišta) neku
robu treba transportirati u n odredišta (trgovina), tako da ukupni transportni troškovi budu mi-
nimalni;
– a1 , . . . , am ≥ 0 – količina robu u ishodištima
– b1 , . . . , bn ≥ 0 – potražnja robe po odredištima;
– cij ≥ 0 – cijena prevoza jedne jedinice robe iz ishodišta ai u odredište b j ;
– xij – količina robe koju se namjerava prevesti iz ishodišta ai u odredište b j ;
I/O b1 b2 . . . bn
a1 c11 c12 . . . c1n
a2 c21 c22 . . . c2n
... ... ... ... ...
am cm1 cm2 . . . cmn
n
m
min cij xij uz uvjete
xij
j =1 i=1
n
xij ≤ a i , i = 1, . . . , m ,
j =1
m
xij ≥ b j , j = 1, . . . , n ,
i=1
xij ≥ 0
Pokažite da vrijedi
n
m
b j ≤ ai
j =1 i=1
Kvantitativne metode 17
3 Metode za rješavanje
Primjer 12. Razmotrimo ponovo Primjer 1. Treba maksimizirati funkciju cilja
x1 , x2 ≥ 0
Skup mogućih rješenja S u ovom slučaju je konveksni poliedar (konveksni politop jer je
ograničen) prikazan na Slici 1. On ima 5 vrhova koji se nalaze na presjecima parova 5 pravaca koji
geometrijski predstavljaju rubove poluravnina. Budući da se maksimum funkcije cilja postiže
na barem jednom vrhu ovog konveksog poliedra, jedna mogućnost je provjeriti njenu vrijednost
u svim vrhovima. U ovom slučaju to je lako jer je broj vrhova malen
Vrhovi (0, 0) (0, 3) (2, 3) (4, 2) (5, 0)
Funkcija cilja 0 90 130 140 100
Kvantitativne metode 18
sustava od n jednadžbi s n nepoznanica, čime dobivamo toliko ili manje točaka iz R n . Odmah je
jasno da bi to mogao biti vrlo veliki broj. Primjerice za m = 50 i n = 10 taj broj je 10272278170.
Zato se ova metoda ozbiljno ne razmatra.
Na taj način određeno je optimalno dopustivo rješenje (x1, x2 ) = (4, 2), na kome funkcija cilja
postiže optimalnu vrijednost z = 140.
Primjedba 1. Neka je z ∈ R ++ . Jednadžbom z + 20x1 + 30x2 određen je pravac, koji zapisan u
eksplicitnom obliku glasi
z 2
x2 =
− x1 .
30 3
Njegov graf prikazan je na Slici 1b. Za z = 0 taj pravac prolazi ishodištem, a uzimanjem sve
veće pozitivne vrijednosti za broj z , graf pravca pomiče se prema rubu skupa dopustivih rješenja
S . Na taj način također možemo odrediti optimalno dopustivo rješenje.
Kroz primjere navesti primjere s odgovarajucim slikama:
– za slučaj neograničenog dopustivog područja
– za slučaj kada je dopustivo područje prazan skup
– za slučaj kada se rjesenje postize na strnici poliedra
Takodjer nacrtati jedan primjer u trodimenzionalnom podrucju
Kvantitativne metode 19
x1 , x2 ≥ 0
onda je prva restrikcija ekvivalentna zapisu s1 ≥ 0 . Drugim riječima varijabla s1 lijevu stranu
nejednakosti dopunjava do jednakosti. Zato varijablu s 1 nazivamo dopunska varijabla . U ovom
primjeru dopunska varijabla s 1 ima značenje neiskorištenog kapaciteta strojnog rada.
Ako za svaku restrikciju iz navedenog primjera uvedemo dopunsku varijablu, onda LP pro-
blem možemo formulirati na sljedeći način.
Kao kod geometrijske metode dane u Algoritmu 1 krenimo od pocetne aproksimacije: x(0) 1 = 0,
(0) (0) (0) (0)
x2 = 0 (vrh (0, 0) na Slici 1). Vrijednosti dopunskih varijabli su s 1 = 16, s 2 = 10, s3 = 3,
a vrijednost funkcije cilja z (0) = 0 .
Primjedba 2 . Zavisne varijable sustava (3.2)–(3.4) zovu se bazične varijable , a nezavisne varijable
tog sustava zovu se nebazične varijable .
Proizvodnju ima smisla pokrenuti s maksimalno dopustivom količinom proizvoda P 2 jer, kao
što se vidi iz funkcije cilja (3.1), on donosi veći profit. Kako za x 1 = 0 mora biti
s1 = 16 − 4x2 ≥ 0 ⇒ x2 ≤ 4,
s2 = 10 − x2 ≥ 0 ⇒ x2 ≤ 10,
s3 = 3 − x2 ≥ 0 ⇒ x2 ≤ 3,
x2 ≤ 3 ⇒ x2 ≤ 4 & x2 ≤ 10.
Kvantitativne metode 20
(1) (1)
Primijetite da je 3 = min{ 16 10 3
4 , 1 , 1 }. Tako dobivamo prvu aproksimaciju x1 = 0 , x 2 = 3 (vrh
(1) (1) (1)
(0, 3) na Slici 1). Vrijednosti dopunskih varijabli sada su s 1 = 4 , s 2 = 7 , s 3 = 0 , a vrijednost
funkcije cilja z (1) = 90 .
Iz jednakosti
s3 = 3 − x2
s1 = 4 − 2x1 ≥ 0 ⇒ x1 ≤ 2,
s2 = 7 − 2x1 ≥ 0 ⇒ x1 ≤ 3.5,
x2 = 3 ≥ 0,
x1 ≤ 2 ⇒ x1 ≤ 3.5.
Maksimizirati z = 90 + 20(2 − 21 s1 + 2s3 ) − 30s3 = 130 − 10s1 + 10s3 (3.9)
uz uvjete x1 = 2 − 21 s1 + 2s3 (3.10)
s2 = 7 − 2(2 − 21 s1 + 2s3 ) + s3 = 3 + s1 − 3s3 (3.11)
x2 = 3 − s3 (3.12)
x1 , x2 , s1 , s2 , s3 ≥ 0
Kvantitativne metode 21
x1 = 2 + 2s3 ≥ 0 ⇒ s3 ≥ −1,
s2 = 3 − 3s3 ≥ 0 ⇒ s3 ≤ 1,
x2 = 3 − s3 ≥ 0 ⇒ s3 ≤ 3,
s3 ≤ 1 ⇒ s3 ≥ −1 & s3 ≤ 3.
Kvantitativne metode 22
x1 x2 s1 s2 s3 bi
1 0 1/2 0 −2 2 0
2
0 0 −1 1 3 3 x(2) = , s(2) = 3 , z (2) = 130
3
0 1 0 0 1 3 0
0 0 10 0 −10 130
x1 x2 s1 s2 s3 b i
1 0 −1/6 2/3 0 4 0
(3) 4 (3)
0 0 −1/3 1/3 1 1 x = , s = 1 , z (3) = 140
2
0 1 1/3 −1/3 0 2 0
0 0 20/3 10/3 0 140
Primjedba 3. Primijetite da iz posljednje simpleks tablice mogu očitati i optimalne vrijednosti
dualnih varijabli (cijene u sjeni): w1 = 20 10
3 , w 2 = 3 , w 3 = 0 .
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 3a).
Međutim, ako bi zahtijev bio pronaći maksimum iste funkcije cilja, ali uz uvjet da varijable
smiju primiti samo nenegativne cjelobrojne vrijednosti x 1 , x2 ∈ Z +, onda se dopustivo područje
sastoji samo od 11 točaka (Slika 3b, a maksimalna vrijednost funkcije cilja postiže se u točki
xI = (1, 3)T , pri čemu je zI = 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).
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.
Zašto zaokruživanje prema gore ne bi imalo smisla?
U našem bi primjeru zaokruživanjem dobili točku x̂ = (2, 2)T i vrijednost funkcije cilja
ẑ = 270.
z z
Primijetite da je relativna pogreška funkcije cilja kod cjelobrojnog programiranja ( | z− I | ),
10%, dok je relativna pogreška funkcije cilja kod metode zaokruživanja ( |z z−ẑ |
) znatno veća i
Kvantitativne metode 23
a) LP-problem b) IP-problem
4 4
3 3
2 2
1 1
1 2 3 4 1 2 3 4
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-bound
Method) (vidi primjerice (Sierksma, 2002)).
Primjer 15. (Sierksma, 2002) U kontejner poznatog volumena 15 m 3 treba smjestiti što više
primjeraka od 5 objekata poznatog volumena i poznatog prihoda po komadu .
S xi , i = 1, . . . , 5 označimo broj komada pojedinog objekta koji treba staviti u kontejner tako
da ukupni prihod bude maksimalan. Odgovarajući ILP (ineger linear programming) problem
možemo zapisati
xi ∈ Z +
Specijalno, može se promatrati problem ranca kod kojega je xi ∈ {0, 1}. To znači da u
kontejner želimo staviti po jedan primjerak od samo nekih objekata, tako da ukupni prihod
Kvantitativne metode 24
Primjedba 4. Vrijedi:
• (∀a, b ∈ R ) a · b = 0 ⇔ (a = 0) ∨ (b = 0) ∨ (a = 0 ∧ b = 0)
n – izvođača radova;
m – poslova;
cij – cijena po kojoj i -ti izvođač nudi izvođenje posla j ;
1, i-ti posao izvodi j -ti ponuđač,
xij =
0, i-ti posao ne izvodi j -ti ponuđač
5 1
6
1
5 2
2
2
3
3
(a) Treba odrediti najpovoljniju ponudu tako da oba posla (vidi Sliku 4) budu pridružena
barem jednom ponuditelju.
Minimizirati z = 5x11 + 4x12 + 2x13 + 6x21 + 5x22 + 3x23
uz uvjete x11 + x21 = 1
x12 + x22 = 1
x13 + x23 = 1
xij ∈ {0, 1}
Kvantitativne metode 25
Matrični zapis:
1 0 0 1 0 0
1
z = c T → min
A = 0 1 0 0 1 0 b = 1
Ax = b
0 0 1 0 0 1 1
c = ( 5 4 2 6 5 3 )T
x = (x11 , x12 , x13 , x21 , x22 , x23 )T
(b) Treba odrediti najpovoljniju ponudu tako da oba posla (vidi Sliku 4) budu pridružena
barem jednom ponuditelju i da svaki ponuditelj dobije barem jedan posao.
Prethodnom sustavu restrikcija treba dodati
x11 + x12 + x13 ≥ 1
x21 + x22 + x23 ≥ 1
Matrični zapis:
1 0 0 1 0 0
1
0 1 0 0 1 0 1 z = c T → min
A = 0 0 1 0 0 1 b = 1
Ax ≥ b
1 1 1 0 0 0 1
0 0 0 1 1 1 1
c = ( 5 4 2 6 5 3 ) T
x = (x11 , x12 , x13 , x21 , x22, x23 )T
Zadatak 10. Za slučaj (a) i slučaj (b) napišite odgovarajuće dualne probleme. Primjenom
gotovog programa 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
n – skladišta (ishodišta);
m – trgovina (odredišta);
Ishodište i raspolaže sa S i robe
Odredište j potražuje barem D j robe
cij – 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
Kvantitativne metode 26
1
(1000)
(1200) 1
2 (400)
(1000) 2
3 (750)
Matrični zapis:
−1 −1 −1 0 0 0
−1200
0 0 0 −1 −1 −1 −1000 z = c T → min
A = 1 0 0 1 0 0 b = 1000
Ax ≥ b
0 1 0 0 1 0 400
0 0 1 0 0 1 750
c = ( 35 30 40 37 40 42 )T
x = (x11 , x12 , x13 , x21 , x22 , x23 )T
Zadatak 11. Napišite odgovarajući dualni problem. Primjenom gotovog programa pronađite
rješenje i protumačite značenja dualnih varijabli.
Rješenje: y = (2, 0, 37, 32, 42)T , z = 78900
m – broj čvorova;
n – broj lukova (bridova);
cij – trošak prolaza od i -tog do j -tog čvora;
1, ako je luk od čvora i do čvora j na putu,
xij =
0, inače
17
2 6 Odredište
15 6 6
1 8 4 10
Ishodište 5 4
10
3 5
10
Kvantitativne metode 27
Minimizirati z = 15x12 + 10x13 + 6x24 + 17x26 + 8x32 + 5x34 + 10x35 + 4x45 + 5x46 + 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 x56
x : 0 1 0 0 0 1 0 1 0 1 z = 21.
17
2 6 Odredište
15 6 6
1 8 4 10
Ishodište 5 4
10
3 5
10
Zadatak 12. Napišite odgovarajući dualni problem. Primjenom gotovog programa pronađite
rješenje i protumačite značenja dualnih varijabli.
m – broj čvorova;
n – broj lukova (bridova);
cij – prihod od i -tog do j -tog čvora; ako je c i0 ,j0 = 0, nećmo ići od čvora i 0 prema čvoru j 0 ;
1, ako je luk od čvora i do čvora j na putu,
xij =
0, inače
Kvantitativne metode 28
8 0 F
0 2 6
1 6 0 0
10 0 3
F
1 4
10 4 2
1 4 2 5
0 3 5
12 0
8 F = 16
2 6
0 3
F = 16 10 3
1 4
6 0 0
1 0 0 5
3 5
5
x : x12 x13 x23 x24 x26 x32 x34 x35 x43 x45 x46 x53 x56
x : 10 6 0 3 8 1 0 5 0 0 3 0 5 F = 16.
Kvantitativne metode 29
m – broj čvorova;
n – broj lukova (aktivnosti u projektu);
cij – procijenjeno vrijeme trajanja projekta od čvora i do čvor j ;
1, ako je projektna aktivnost i → j na kritičnom putu,
xij =
0, inače
Najkraće vrijeme potrebno za realizaciju projekta uzima se kao trajanje najdužeg puta.
Za podatke iz t.4.1.4 dobivamo
x : x12 x13 x24 x26 x32 x34 x35 x45 x46 x56
x : 0 1 0 1 1 0 0 0 0 0 z = 35.
17
2 6 Odredište
15 6 6
1 8 4 10
Ishodište 5 4
10
3 5
10
2, 4
2 4
(5)
4, 15 6, 10 1, 15
(20) 1 2, 2,
4, 8
3, 5
3 5 (15)
1, 4
Slika 11: Problem minimalnih troškova toka ovisni o troškovima i kapacitetima lukova
Kvantitativne metode 30
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 ≤ 4
xij ≥ 0
Rješenje:
x : x12 x13 x23 x24 x25 x34 x35 x45 x53
x : 12 8 8 4 0 11 5 10 0 z = 35.
Ovaj problem uključuje sve prethodno razmatrane probleme, tj. svaki od prethodno razma-
tranih problema može se promatrati kao specijalan slučaj problema minimalnih troškova toka:
• problem maksimalnog toka razmatran u t.4.1.5 može se gledati kao tok koji maksimizira
kapacitete u mreži;
• problem najkraćeg puta razmatran u t.4.1.4 može se gledati kao tok koji minimizira tro-
škove u mreži;
• transportni problem razmatran u t.4.1.3 može se gledati kao tok koji dozvoljava višestruka
ishodišta i odredišta.
Trgovački putnik polazi iz ishodišta (čvor 0 na Slici 12) i mora obići n čvorova (gradova), tako da
ni u jedan ne dolazi više od jedanput, a da troškovi puta budu minimalni. Na Slici 12 naznačeni
su troškovi pojedinih dionica puta. Primijetite da je broj svih mogućih ruta jednak broju svih
permutacija redosljeda obilaska 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 ;
1, ako je putnik prešao putod čvora i do čvora j ,
xij =
0, inače
Kvantitativne metode 31
3
40
2
40
35
25
50 45 65
4
50
1
80
30
0
Polazni model:
n
Minimizirati z = cij xij (4.1)
i=0 j
=i
uz uvjete
xij = 1, za svaki i = 0, 1, . . . , n
j
=i
(iz i -tog čvora putnik može otići samo u jedan novi čvor)
xij = 1, za svaki j = 0, 1, . . . , n
i
= j
(u j -ti čvor putnik može doći samo iz jednog čvora)
xij ∈ {0, 1}
Kvantitativne metode 32
i na taj način dobivamo novo – završno rješenje s konačnom vrijednosti funkcije cilja:
xij 0 1 2 3 4
0 × 0 0 1 0
1 1 × 0 0 0
z = 195
2 0 1 × 0 0
3 0 0 0 × 1
4 0 0 1 0 ×
Primjer 16. U niže navedenoj tablici vidljive su potrebne inesticija u projekte d j , profiti po
projektima p j , a u Tablici 13 rješenja problema za D = 200, 300, 400. Pri tome komparirana
su rješenja koja se dobivaju realnim i cjelobrojnim linearnim programiranjem uz korištenje pro-
gramskog sustava Mathematica:
Projekt I II III IV
dj 100 80 120 152
pj 25 20 30 40
Kvantitativne metode 33
Primarni ILP:
n
Maksimizirati z = p j x j
j =1
n
uz uvjete d j x j ≤ D, (veličina ukupne inesticije ≤ raspoloživi kapital)
j =1
xij ∈ {0, 1}
D x1 x2 x3 x4
Real 200 0 0 .4167 1 52.5
Integer 200 0 1 1 0 50.0
Real 300 .3 0 1 1 77.5
Integer 300 1 1 1 0 75.0
Real 400 1 .375 1 1 102.5
Integer 400 1 0 1 1 95.0
Problem se može razmatrati za medicinske sestre, vozače autobusa, kontrolore leta itd. Razmo-
trimo problem rasporeda broja medicinskih sestara u bolnici.
Zahtjevi Rješenje
Red.br. Perod dana Potrebno sestara Počinje smjenu Pridruženo sestara
1 8:00 - 10:00 10 10 10
2 10:00 - 12:00 8 0 10 (10+0)
3 12:00 - 14:00 9 8 18 (10+8)
4 14:00 - 16:00 11 2 20 (18+2)
5 16:00 - 18:00 13 3 13 (20+3-10)
6 18:00 - 20:00 8 0 13 (13-0)
7 20:00 - 22:00 5 0 5 (13-8)
8 22:00 - 24:00 3 0 3 (5-2)
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
Kvantitativne metode 34
vremenu mogu postojati manji ili veći zahtjevi za brojem sestara koji se očituju potrebom za
brojem sestara u dvosatnim periodima (vidi primjerice Tablicu 14). Treba pokriti radno vrijeme
tako da budu ispunjeni zahtjevi po periodima, a da pri tome ukupni broj sestara bude minimalan.
xi - broj sestara koje počinju rad u i -toj smjeni, i = 1, 2, 3, 4, 5. Primjerice, x 1 je broj sestara u
prvoj smjeni (8:00-16:00), x 2 je broj sestara u drugoj smjeni (10:00-18:00) itd.
Primarni ILP:
8
Minimizirati z = xi
i=1
uz uvjete x1 ≥ 10, (1. period)
x1 + x2 ≥ 8, (2. period)
x1 + x2 + x3 ≥ 9, (3. period)
x1 + x2 + x3 + x4 ≥ 11, (4. period)
x2 + x3 + x4 + x5 ≥ 13, (5. period)
x3 + x4 + x5 ≥ 8, (6. period)
x4 + x5 ≥ 5, (7. period)
x5 ≥ 3, (8. period)
xij ∈ Z+
Rješenje:
x : x1 x2 x3 x4 x5
x : 10 5 3 2 3 z = 23.
Na Slici 13 prikazan je broj potrebnih (tamnije) i zaposlenih-pridruženih (svjetlije) sestara po
periodima.
20
15
10
10 12 14 16 18 20 22 24
U nekoj zemlji izlazi 5 dnevnih listova (novina): A,B,C,D,E, a svaki pokriva barem jednu od 9
državnih regija (vidi Tablicu 15)
Kvantitativne metode 35
x : x1 x2 x3 x4 x5
x : 1 0 1 1 1 z = 18.
Promatrat ćemo jednostavni jednodimenzionalni problem. Skladište dasaka, koje raspolaže da-
skama duljine 10-ft, primilo je narudžbu za 50 dasaka duljine 3-ft, 65 dasaka duljine 4-ft i 40
dasaka duljine 5 -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
#1 3 0 0 1
#2 2 1 0 0
#3 1 0 1 2
#4 0 1 1 1
#5 0 2 0 2
#6 0 0 2 0
Kvantitativne metode 36
Najprije primijetimo da se dasaka duljine 10-ft može rezati na više načina da bi se dobile
tražene duljine dasaka: 3-ft, 4 -ft, 5 -ft (vidi Tablicu 16).
xi = broj dasaka duljine 10-ft rezanih na način #i, i = 1, 2, 3, 4, 5, 6;
Primarni ILP:
Minimizirati z = x 1 + 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 x6
x : 0 25 0 0 20 20 z = 65.
Koliki je ukupni otpad?
Primjedba 6. Radi lakšeg korištenja stručne literature, koja je najviše dostupna na engleskom
jeziku navedimo neke osnovne termine.
slack variable – dopunska varijabla
feasible region – dopustivo područje
initial approximation – početna aproksimacija
shadow prices – cijene u sjeni
objective function – funkcija cilja
integer programming – cjelobrojno programiranje
knapsack problem – problem ranca
asignment problem – problem asignacije (pridruživanja)
transportation problem – transportni problem
shorthest path problem – problem najkraćeg puta
maximum flow problem – problem maksimalnog toka
kritical path method – metoda kritičnog puta
minimal cost flow problem – problem minimalnih troškova toka
traveling salesman problem – problem trgovačkog putnika
investicijsko odlučivanje – capital budgeting applications (???)
scheduling problem – problem raspoređivanja
Literatura
H. 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 , 3 rd
Edition, Wiley, New Jersey, 2006.
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.
Kvantitativne metode 37