kvantitativnemetodezaposlovnoodlučivanje iv. linearno...

35
Kvantitativne metode za poslovno odlučivanje * IV. Linearno programiranje Rudolf Scitovski, Ivan Vazler, Martina Briš 11. siječnja 2013. Sadržaj 1 Uvod 1 2 Maksimizacija profita – primarni LP problem 1 2.1 Geometrijska interpretacija LP-problema ...................... 4 2.2 Geometrijsko rješenje LP-problema .......................... 4 2.3 Opći problem linearnog programiranja ........................ 10 3 Minimizacija troškova – dualni LP problem 11 4 Metode za rješavanje 16 4.1 Geometrijska metoda .................................. 17 4.2 Simpleks metoda .................................... 17 5 Primjeri 27 6 Povijesni pregled 34 1 Uvod x 2 Maksimizacija profita – primarni LP problem Primjer 1. (Barković, 2010) Dva proizvoda P 1 ,P 2 proizvode se na jednom stroju s kapacitetom 16 sati dnevno uz korištenje ljudskog rada u obimu 10 sati dnevno i tržišnim ograničenjem od 3 proizvoda P 2 u zadanom vremenskom intervalu. Na proizvod P 1 nema ograničenje, što znači da tržište prihvaća svaku proizvedenu količinu tog proizvoda. Također, poznata je tržišna cijena * 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)

Upload: dangxuyen

Post on 07-Feb-2018

252 views

Category:

Documents


9 download

TRANSCRIPT

Page 1: Kvantitativnemetodezaposlovnoodlučivanje IV. Linearno ...scitowsk/Kvantitativne/Materijali/LP.pdf · Kvantitativnemetodezaposlovnoodlučivanje∗ IV. Linearno programiranje Rudolf

Kvantitativne metode za poslovno odlučivanje ∗IV. Linearno programiranje

Rudolf Scitovski, Ivan Vazler, Martina Briš

11. siječnja 2013.

Sadržaj1 Uvod 1

2 Maksimizacija profita – primarni LP problem 12.1 Geometrijska interpretacija LP-problema . . . . . . . . . . . . . . . . . . . . . . 42.2 Geometrijsko rješenje LP-problema . . . . . . . . . . . . . . . . . . . . . . . . . . 42.3 Opći problem linearnog programiranja . . . . . . . . . . . . . . . . . . . . . . . . 10

3 Minimizacija troškova – dualni LP problem 11

4 Metode za rješavanje 164.1 Geometrijska metoda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174.2 Simpleks metoda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

5 Primjeri 27

6 Povijesni pregled 34

1 Uvod

x

2 Maksimizacija profita – primarni LP problem

Primjer 1. (Barković, 2010) Dva proizvoda P1, P2 proizvode se na jednom stroju s kapacitetom16 sati dnevno uz korištenje ljudskog rada u obimu 10 sati dnevno i tržišnim ograničenjem od3 proizvoda P2 u zadanom vremenskom intervalu. Na proizvod P1 nema ograničenje, što značida tržište prihvaća svaku proizvedenu količinu tog proizvoda. Također, poznata je tržišna cijena

∗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)

Page 2: Kvantitativnemetodezaposlovnoodlučivanje IV. Linearno ...scitowsk/Kvantitativne/Materijali/LP.pdf · Kvantitativnemetodezaposlovnoodlučivanje∗ IV. Linearno programiranje Rudolf

Kvantitativne metode 2

strojnog rada od 10 kn po satu, tržišna cijena ljudskog rada od 5 kn po satu i tržišnom cijenomistraživanja tržišta od 5 kn po jedinici proizvoda.

Ako je poznato da je tržišna cijena proizvoda P1 50 kn, a tržišna cijena proizvoda P2 80 kn,treba odrediti količinu proizvodnje x? = (x?1, x?2)T proizvoda {P1, P2}, uz koju se postiže maksi-malni profit z? kao razlika prodajne cijene i troškova proizvodnje.

Inputi Proizvodi Kapaciteti Tržišne cijeneP1 P2 resursa (bi) resursa (ρi)

Stroj 2 4 16 10Ljudski rad 2 1 10 5Tržište (P2) 0 1 3 5

Cijene (σj) 50 80Troškovi 30 50

Profit (cj) 20 30

Tablica 1: Podaci o proizvodnji

Tablicu iz koje su vidljive veze između inputa (strojevi, ljudski rad, tržište) i outputa (ko-ličine proizvoda) zvat ćemo matrica tehnologije. U tablici je prikazana informacijska osnovaproizvodnje:

• Strojevi (što mogu proizvoditi, koliko sati rada im je potrebno za proizvodnju jedne jedinicepojedinog proizvoda, koliki su im dnevni kapaciteti u satima rada);

• Ljudski rad (što mogu proizvoditi, koliko sati rada im je potrebno za proizvodnju jednejedinice pojedinog proizvoda, koliki su im dnevni kapaciteti u satima rada);

• Tržište (kakva su tržišna ograničenja za pojedini proizvod koji se namjerava proizvoditi);

• Tržišne cijene po jedinici proizvoda i tržišne cijene jediničnih resursa.

Kod matematičke formulacije problema koristi se temeljna pretpostavka o linearnosti veza,koja se može razložiti na dvije pretpostavke:

• Proporcionalnost. Primjerice, ako je za proizvodnju jedne jedinice proizvoda P1 potrebno2 sata, onda je za proizvodnju x jedinica proizvoda P1 potrebno 2x sati strojnog rada;

• Aditivnost. Primjerice, ako je za proizvodnju jedne jedinice proizvoda P1 potrebno utrošiti2 sata, a za proizvodnju jedne jedinice proizvoda P2, 4 sata strojnog rada, onda je zaproizvodnju jedne jedinice proizvoda P1 i jedne jedinice proizvoda P2 potrebno utrošiti 6sati strojnog rada.

Uz oznake:

x1 − količina proizvodnje proizvoda P1,

x2 − količina proizvodnje proizvoda P2,

Page 3: Kvantitativnemetodezaposlovnoodlučivanje IV. Linearno ...scitowsk/Kvantitativne/Materijali/LP.pdf · Kvantitativnemetodezaposlovnoodlučivanje∗ IV. Linearno programiranje Rudolf

Kvantitativne metode 3

ograničenja proizvodnje vidljiva u Tablici 1 zapisat ćemo sljedećim sustavom linearnih nejed-nadžbi

2x1 + 4x2 ≤ 16

2x1 + x2 ≤ 10 (2.1)

x2 ≤ 3

Pri tome u ovom primjeru bilo bi prirodno još dodati ograničenja

x1 ≥ 0, x2 ≥ 0, (2.2)

ali taj zahtjev generalno ne mora biti postavljen. Sustav linearnih nejednadžbi, kojima su danaograničenja u proizvodnji, definira skup dopustivih točaka S ⊂ R2. Skup S je poliedar, koji možebiti omeđen (Slika 1a) ili neomeđen (Slika 1b). Ako je poliedar omeđen nazivamo ga još i politop.

1 2 3 4 5

1

2

3

(a) 2x1 + 4x2 ≤ 16, 2x1 + x2 ≤ 10, x2 ≤ 3x1 ≥ 0, x2 ≥ 0

-1 1 2 3 4 5

-1

1

2

3

(b) 2x1 + 4x2 ≤ 16, 2x1 + x2 ≤ 10, x2 ≤ 3

Slika 1: Omeđen i neomeđen skup dopustivih

Nadalje, troškovi proizvodnje jedne jedinica proizvoda P1, odnosno P2, su

2ρ1 + 2ρ2 (troškovi proizvodnje jedne jedinice proizvoda P1),

4ρ1 + ρ2 + ρ3 (troškovi proizvodnje jedne jedinice proizvoda P2),

a profit po jedinici proizvoda je razlika između jedinične prodajne cijene i jediničnih troškovaproizvodnje:

c1 = σ1 − (2ρ1 + 2ρ2) = 20 (profit po jedinici proizvoda P1),

c2 = σ2 − (4ρ1 + ρ2 + ρ3) = 30 (profit po jedinici proizvoda P2),

Cilj proizvodnje je maksimizirati profit f : R2 → R (funkcija cilja),

f(x1, x2) = c1x1 + c2x2, (2.3)

uz ograničenja (2.1)-(2.2) ili samo uz ograničenja (2.1). Dakle, radi se o problemu optimizacijefunkcije dviju varijabli na skupu S, pri čemu su i funkcija cilja i uvjeti koji određuju skup S

linearni. Ovaj problem naziva se problem linearnog programiranja (LP). Formalno, LP-problemmožemo formulirati na sljedeći način:

Page 4: Kvantitativnemetodezaposlovnoodlučivanje IV. Linearno ...scitowsk/Kvantitativne/Materijali/LP.pdf · Kvantitativnemetodezaposlovnoodlučivanje∗ IV. Linearno programiranje Rudolf

Kvantitativne metode 4

Primarni LP-problem: odrediti (x?1, x?2) ∈ S, tako da bude

argmax(x1,x2)∈S

f(x1, x2) = (x?1, x?2). (2.4)

2.1 Geometrijska interpretacija LP-problema

Neka je (O;~i,~j) pravokutni koordinatni sustav u ravnini, u kome je zadan vektor proizvodnje

~u = x1~i+ x2~j,

čije komponente x1, x2 predstavljaju količinu proizvodnje pojedinog proizvoda, i vektor profita

~c = c1~i+ c2~j,

čije komponente c1, c2 predstavljaju jedinične profite po pojedinom proizvodu. Tada funkcijucilja f : R2 → R možemo zapisati kao skalarni produkt

f(x1, x2) = ~c · ~u. (2.5)

Ako sa S označimo skup svih radij-vektora točaka iz skupa S, onda LP-problem (2.4) možemozapisati kao

argmax(x1,x2)∈S

f(x1, x2) = argmax~u∈S

(~c · ~u). (2.6)

Teorem 1. (Boyd and Vandenberghe, 2004; Čaklović, 2010; Neralić, 2003) Skup svih dopustivihtočaka S problema linearnog programiranja je konveksan. Problem linearnog programiranja (2.6)ima rješenje onda i samo onda ako je skup S neprazan i ako je funkcija cilja f ograničena odozgona tom skupu. Ako rješenje postoji, postiže se na barem jednom vrhu polijedra S.

2.2 Geometrijsko rješenje LP-problema

Poznato je (Boyd and Vandenberghe, 2004; Čaklović, 2010) da je smjer najbržeg rasta funkcijef : R2 → R u točki T = (ξ, η) određen smjerom vektora koji nazivamo gradijent funkcije f , akoji je definiran s

grad f(ξ, η) = ∂f(ξ,η)∂x1

~i+ ∂f(ξ,η)∂x2

~j (2.7)

Gradijent funkcije (2.3) u proizvoljnoj točki T = (ξ, η) je

grad f(ξ, η) = c1~i+ c2~j.

Zato ćemo LP-problem (2.4), odnosno (2.6), geometrijski promatrati kao traženje točke u skupuS koja je najudaljenija od ishodišta O u smjeru gradijenta funkcije cilja f , odnosno u smjeruvektora profita ~c.

Za zadani vektor ~c = c1~i+c2~j i točku T0 = (ξ, η) jednoznačno je određen pravac p koji prolazitočkom T0, a okomit je na vektor ~c.

Page 5: Kvantitativnemetodezaposlovnoodlučivanje IV. Linearno ...scitowsk/Kvantitativne/Materijali/LP.pdf · Kvantitativnemetodezaposlovnoodlučivanje∗ IV. Linearno programiranje Rudolf

Kvantitativne metode 5

(a) ~c · ~r0 < 0

~c~r0

T0

~r

P

(b) ~c · ~r0 > 0

~c~r0T0

~r

P

Slika 2: Pravac okomit na vektor ~c, koji prolazi danom tockom T0

Neka je P 6= T0 proizvoljna točka na pravcu p. Tada je vektor −−→T0P okomit na vektor ~c.Ako s ~r0 označimo radij-vektor točke T0, a s ~r radij-vektor točke P , onda taj zahtjev možemozapisati kao

(~r − ~r0) · ~c = 0,

odnosno~r · ~c− ~r0 · ~c = 0. (2.8)

(2.8) je Hesseov normalni oblik jednadžbe pravca p. Primijetite da je (vidi Sliku 2)

~r0 · ~c = ‖~c‖(~r0)c = c1ξ + c2η,

gdje je (~r0)c projekcija vektora ~r0 na vektor ~c. Ako je ~c · ~r0 > 0 (Slika 2a), onda

(~r0)c = ~c · ~r0‖~c‖

= c1ξ + c2η√c2

1 + c22

. (2.9)

predstavlja udaljenost točke T0 do ishodišta O, a ako je ~c · ~r0 < 0 (Slika 2b), onda je

|(~r0)c| =|~c · ~r0|‖~c‖

= |c1ξ + c2η|√c2

1 + c22

. (2.10)

udaljenost točke T0 do ishodišta O.

Teorem 2. Neka je S ⊂ R2 poliedar s vrhovima T1, . . . , Tm, m ≥ 1, a f : S → R, f(x1, x2) =c1x1 + c2x2 linearna funkcija cilja. LP-problem (2.4) geometrijski je ekvivalentan problemutraženja točke Tmax ∈ S, koja je najudaljenija od ishodišta u smjeru vektora profita ~c = c1~i+c2~j.Pri tome točka Tmax uvijek postoji, ne mora biti jedinstvena, a treba je tražiti među vrhovimapoliedra S.

Dokaz. Neka su ~r1, . . . , ~rm radij-vektori točaka T1, . . . , Tm. Prema Teoremu 1 rješenje LP-problema možemo zapisati

argmax(x1,x2)∈S

f(x1, x2) = argmax~u∈S

(~c · ~u) = argmaxi=1,...,m

(~c · ~ri)

Page 6: Kvantitativnemetodezaposlovnoodlučivanje IV. Linearno ...scitowsk/Kvantitativne/Materijali/LP.pdf · Kvantitativnemetodezaposlovnoodlučivanje∗ IV. Linearno programiranje Rudolf

Kvantitativne metode 6

a zbog invarijantnosti na množenje pozitivnim brojem imamo

argmax(x1,x2)∈S

f(x1, x2) = argmaxi=1,...,m

(~c · ~ri) = argmaxi=1,...,m

~c · ~ri‖~c‖

,

iz čega slijedi tvrdnja teorema.

Primjedba 1. Sličnim razmatranjem možemo zaključiti da je problem određivanja točke (x?1, x?2) ∈S, takve da je

(x?1, x?2) = argmin(x1,x2)∈S

f(x1, x2) = argmini=1,...,m

(~c · ~ri) = argmini=1,...,m

~c · ~ri‖~c‖

, (2.11)

geometrijski ekvivalentan problemu traženja točke Tmin ∈ S, koja je najbliža ishodištu u smjeruvektora (−~c) = −c1~i−c2~j. Pri tome točka Tmin uvijek postoji, ne mora biti jedinstvena, a trebaju tražiti među vrhovima poliedra S.

Skup dopustivih točaka (dopustivo područje) S iz Primjera 1 prikazan na Slici 3 je

S = {(x1, x2) ∈ R2+ : 2x1 + 4x2 ≤ 16, 2x1 + x2 ≤ 10, x2 ≤ 3}

Na Slici 3 prikazan je i smjer vektora profita ~c = 20~i+30~j, ‖~c‖ = 10√

13, kao i pravci okomiti na

-1 1 2 3 4 5 6

-1

1

2

3

4

Slika 3: Grafičko rješavanje LP problema iz Primjera 1

vektor ~c, a koji prolaze vrhovima poliedra. Iz niže navedene tablice vide se vrijednosti funkcijecilja u vrhovima poliedra i udaljenosti pravaca okomitih na vektor ~c, koji prolaze vrhovimapoliedra.

Ti (0, 0) (5, 0) (4, 2) (2, 3) (0, 3))~ri ~0 5~i 4~i+ 2~j 2~i+ 3~j 3~j

f(x1, x2) = ~ri · ~c 0 100 140 130 90di = ~ri·~c

‖~c‖ 0 10√13

14√13

13√13

9√13

U vrhu (x?1, x?2) = (4, 2) skupa S postiže se optimalno/maksimalno dopustivo rješenje na komefunkcija cilja postiže optimalnu/maksimalnu vrijednost z? = 140.

Primjer 2. Zadan je poliedar S s vrhovima

T1 = (12 , 1), T2 = (3, 1), T3 = (4, 2), T4 = (4, 5), T5 = (1, 5), T6 = (−2

3 ,103 ),

i vektor ~c = 2~i+~j (vidi Sliku 4), odnosno funkcija cilja f(x1, x2) = 2x1 + x2.

Page 7: Kvantitativnemetodezaposlovnoodlučivanje IV. Linearno ...scitowsk/Kvantitativne/Materijali/LP.pdf · Kvantitativnemetodezaposlovnoodlučivanje∗ IV. Linearno programiranje Rudolf

Kvantitativne metode 7

-1 1 2 3 4

1

2

3

4

5

S

~cT1 T2

T3

T4

T5

T6

p1

p2p3

p4

Slika 4: Geometrijska interpretacija LP-problem

Ti (12 , 1) (3, 1) (4, 2) (4, 5) (1, 5)) (−2

3 ,103 )

~ri12~i+~j 3~i+~j 4~i+ 2~j 4~i+ 5~j ~i+ 5~j −2

3~i+ 10

3~j

f(x1, x2) = ~ri · ~c 2 7 10 13 7 2

di = ~ri·~c‖~c‖

2√5

7√5

10√5

13√5

7√5

2√5

Dakle, postoji više točaka poliedra S koje su najbliže ishodištu u smjeru vektora ~c: to su svetočke na spojnici T1T6, ali postoji samo jedna točka poliedra S koja je najudaljenija od ishodištau smjeru vektora ~c: to je točka T4. Prema tome

argmin(x1,x2)∈S

(2x1 + x2) = argminTi∈S

~ri · ~c‖~c‖

= T1T6, argmax(x1,x2)∈S

(2x1 + x2) = argmaxTi∈S

~ri · ~c‖~c‖

= T4,

tj. minimum se postiže na svakoj točki dužine T1T6, a maksimum u točki T4. Vrijednosti funkcijecilja u vrhovima poliedra S su

f(T1) = 2, f(T2) = 7, f(T3) = 10, f(T4) = 13, f(T5) = 7, f(T6) = 2.

Zadatak 1. Riješite prethodni LP-problem uz ~c = 3~i+~j.

Primjer 3. Zadan je poliedar S s vrhovima

T1 = (−6,−1), T2 = (−3,−4), T3 = (5,−2), T4 = (5, 3), T5 = (2, 5), T6 = (−3, 4),

i vektor s ~c =~i+ 32~j (vidi Sliku 5), odnosno funkcija cilja f(x1, x2) = x1 + 3

2x2.

Ti (−6,−1) (−3,−4) (5,−2) (5, 3) (2, 5) (−3, 4)~ri −6~i−~j −3~i− 4~j 5~i− 2~j 5~i+ 3~j 2~i+ 5~j −3~i+ 4~j

f(x1, x2) = ~ri · ~c −7.5 −9 2 9.5 9.5 3

di = ~ri·~c‖~c‖

−7.5√3.25

−9√3.25

2√3.25

9.5√3.25

9.5√3.25

3√3.25

Page 8: Kvantitativnemetodezaposlovnoodlučivanje IV. Linearno ...scitowsk/Kvantitativne/Materijali/LP.pdf · Kvantitativnemetodezaposlovnoodlučivanje∗ IV. Linearno programiranje Rudolf

Kvantitativne metode 8

-6 -4 -2 2 4 6

-4

-2

2

4

S~c

T1

T2

T3

T4T5T6

Slika 5: Minimum i maksimum na poliedru S u smjeru ~c

Dakle, postoji postoji više točaka poliedra S koja su najudaljenija od ishodišta u smjeru vektora~c: to su sve točke na spojnici T4T5. Samo jedna točka poliedra S je najbliže ishodištu u smjeruvektora ~c: to je točka T2. Prema tome

argmin(x1,x2)∈S

(x1 + 32x2) = argmin

Ti∈S

~ri · ~c‖~c‖

= T2, argmax(x1,x2)∈S

(x1 + 32x2) = argmax

Ti∈S

~ri · ~c‖~c‖

= T4T5,

tj. maksimum se postiže na svakoj točki dužine T4T5, a minimum u točki T2. Vrijednosti funkcijecilja u vrhovima poliedra S su

f(T1) = −7.5, f(T2) = −9, f(T3) = 2, f(T4) = 9.5, f(T5) = 9.5, f(T6) = 3.

Primjer 4. (Martić, 1971) Promatramo problem maksimalnog korištenja raspoloživog materijalau proizvodnji (primjerice, u mesnoj industriji ili vinariji) uz maksimiranje utroška materijalasukladno matrici tehnologije prikazanoj u Tablici 2

Inputi Utrošak materijala RaspoloživostP1 P2 P3 materijala

Materijal M1 4 8 5 200Materijal M2 2 9 7 180

Tržišna ograničenja 80 22 60 380

Tablica 2: Podaci o proizvodnji

S x1, x2, x3 označimo broj komada proizvoda P1, P2, P3, koji se mogu proizvesti od materijalaM1, a s x4, x5, x6 broj komada proizvoda P1, P2, P3, koji se mogu proizvesti od materijala M2.Tako su primjerice, 4x1, količine materijalaM1 s kojima se može proizvesti x1 komada proizvodaP1, a 4x1 + 8x2 + 5x3 količina materijala M1 koja će se utrošiti ako proizvedemo x1 komadaproizvoda P1 i x2 komada proizvoda P2 i x3 komada proizvoda P3.

Page 9: Kvantitativnemetodezaposlovnoodlučivanje IV. Linearno ...scitowsk/Kvantitativne/Materijali/LP.pdf · Kvantitativnemetodezaposlovnoodlučivanje∗ IV. Linearno programiranje Rudolf

Kvantitativne metode 9

Primijetite također da je x1 + x4 ukupna količina proizvoda P1 koji će se proizvoditi. ZatoPrimarni LP-problem glasi

Primarni LP–problem: max (4x1 + 8x2 + 5x3 + 2x4 + 9x5 + 7x6) uz uvjete

4x1 + 8x2 + 5x3 ≤ 200

2x4 + 9x5 + 7x6 ≤ 180

x1 + x4 ≤ 80

x2 + x5 ≤ 22

x3 + x6 ≤ 60

x1, x2, x3, x4, x5, x6 ≥ 0

Uvođenjem matrice tehnologije A ∈ R5×6, vektora kapaciteta b ∈ R5, vektora cijena c ∈ R6

i vektora dopustivih točaka x ∈ R6,

A =

4 8 5 0 0 00 0 0 2 9 71 0 0 1 0 00 1 0 0 1 00 0 1 0 0 1

, b =

200180802260

, c =

485297

, x =

x1x2x3x4x5x6

,

primarni LP-problem svodi se na rješavanje optimizacijskog problema

argmaxx∈S

cTx, S = {x ∈ R6 : Ax ≤ b, x ≥ 0}.

Ako je x? ∈ S rješenje, onda je maksimalna vrijednost funkcije cilja z? = cTx?.Ovaj optimizacijski problem skraćeno ćemo pisati

max cTx, uz uvjet Ax ≤ b, x ≥ 0.

Page 10: Kvantitativnemetodezaposlovnoodlučivanje IV. Linearno ...scitowsk/Kvantitativne/Materijali/LP.pdf · Kvantitativnemetodezaposlovnoodlučivanje∗ IV. Linearno programiranje Rudolf

Kvantitativne metode 10

2.3 Opći problem linearnog programiranja

Inputi Proizvodi Kapaciteti Tržišne cijeneP1(x1) . . . Pn(xn) resursa resursa

Input:1 a11 · · · a1n b1 ρ1...

... aij

......

...Input:m am1 · · · amn bm ρm

Cijene σ1 · · · σn

Troškovi Σρiai1 · · · Σρiain

Profit c1 · · · cn

Tablica 3: Podaci o proizvodnji

Postavimo sada opći problem maksimizacije dobiti (vidi Tablicu 3). Općenito, pretpostavimoda treba proizvoditi n proizvoda P1, . . . , Pn u količinama x1, . . . , xn korištenjem m resursa ukoličinama b1, . . . , bm. Pri tome za izradu jedne jedinice proizvoda Pj koristi se i-ti resurs ukoličini aij . Dakle, ako su ρ1, . . . , ρm postojeće tržišne cijene resursa, a σ1, . . . , σn postojećetržišne cijene proizvoda, treba maksimizirati funkciju cilja

z = f(x1, . . . , xn) =n∑j=1

cjxj , (2.12)

gdje su

cj = σj −m∑i=1

ρiaij , j = 1, . . . , n, (2.13)

veličine profita, koji se ostvaruju na j-tom proizvodu, poštujući ograničenjan∑j=1

aijxj ≤ bi, i = 1, . . . ,m, (2.14)

x1, . . . , xn ≥ 0. (2.15)

Matrični zapis:

Za zadani vektor kapaciteta resursa b = (b1, . . . , bm)T ∈ Rm, vektor profita c =(c1, . . . , cn)T ∈ Rn i matricu tehnologije A ∈ Rm×n, treba odrediti vektor proizvodnjex? ∈ Rn+, tako da na njemu funkcija cilja z = 〈c, x〉 = cTx postiže svoj maksimumuz uvjet Ax ≤ b, tj.

maxx∈Rn

+{cTx ∈ R : Ax ≤ b} = cTx?. (2.16)

O egzistenciji rješenja i naznaci strategije traženja rješenja govori Teorem 1, str.4.

Page 11: Kvantitativnemetodezaposlovnoodlučivanje IV. Linearno ...scitowsk/Kvantitativne/Materijali/LP.pdf · Kvantitativnemetodezaposlovnoodlučivanje∗ IV. Linearno programiranje Rudolf

Kvantitativne metode 11

3 Minimizacija troškova – dualni LP problem

Primjer 5. Za podatke iz Primjera 1 treba odrediti jedinične cijene resursa (w?1, w?2, w?3), uz kojeće se postići minimalni troškovi proizvodnje.

Inputi Proizvodi Kapaciteti Tržišne cijeneP1 P2 resursa (bi) resursa (ρi)

Stroj 2 4 16 10Ljudski rad 2 1 10 5Tržište (P2) 0 1 3 5

Cijene (σj) 50 80Troškovi 30 50

Profit (cj) 20 30

Uz poznate tržišne cijene resursa ρi i tržišne cijene proizvoda σj , treba odrediti jediničnecijene resursa w1, w2, w3 (dualna varijabla, cijena u sjeni), tako da ukupni troškove prizvodnjebudu minimalni, tj. treba minimizirati

min(16w1 + 10w2 + 3w3) uz uvjete (3.1)

2w1 + 2w2 ≥ 50 (3.2)

4w1 + w2 + w3 ≥ 80

wi ≥ ρi, i = 1, 2, 3. (3.3)

Uvođenjem supstitucijeyi := wi − ρi, i = 1, 2, 3. (3.4)

problem (3.1) – (3.3) svodi se na optimizacijski problem

min(16y1 + 10y2 + 3y3) uz uvjete

2y1 + 2y2 ≥ 20

4y1 + y2 + y3 ≥ 30

y1, y2, y3 ≥ 0.

Naime, vrijedi

16y1 + 10y2 + 3y3 = 16w1 + 10w2 + 3w3 − (16ρ1 + 10ρ2 + 3ρ3) = 16w1 + 10w2 + 3w3 − 225,

pa je problem optimizacije funkcije zadane sa (3.1) ekvivalentan problemu optimizacije funkcije(y1, y2, y3) 7→ 16y1 + 10y2 + 3y3. Također sustav ograničenja (3.2)–(3.3) ekvivalenta je sustavuograničenja u varijablama (y1, y2, y3) jer je

2y1 + 2y2 = 2w1 + 2w2 − (2ρ1 + 2ρ2) ≥ 50− 30 = 20,

4y1 + y2 + y3 = 4w1 + w2 + w3 − (4ρ1 + ρ2 + ρ3) ≥ 80− 50 = 30.

Page 12: Kvantitativnemetodezaposlovnoodlučivanje IV. Linearno ...scitowsk/Kvantitativne/Materijali/LP.pdf · Kvantitativnemetodezaposlovnoodlučivanje∗ IV. Linearno programiranje Rudolf

Kvantitativne metode 12

Optimalno rješenje je y? = (203 ,

103 , 0)T , pri čemu je optimalna vrijednost funkcije cilja z? = 140.

Općenito, neka su ρ1, . . . , ρm postojeće tržišne cijene resursa, a σ1, . . . , σn postojeće tržišnecijene proizvoda. Ako su w1, . . . , wm jedinične cijene resursa, treba minimizirati ukupne troškoveproizvodnje

minw1,...,wm

m∑i=1

biwi uz uvjete (3.5)

m∑i=1

wiaij ≥ σj , j = 1, . . . , n, (3.6)

wi ≥ ρi, i = 1, . . . ,m. (3.7)

Uvođenjem supstitucijeyi := wi − ρi, i = 1, . . . ,m, (3.8)

problem (3.5) – (3.7) svodi se na optimizacijski problem

miny1,...,ym

m∑i=1

biyi uz uvjete (3.9)

m∑i=1

yiaij ≥ cj , j = 1, . . . , n, (3.10)

y1, . . . , ym ≥ 0, (3.11)

gdje je cj = σj −∑mi=1 ρiaij profit koji se ostvaruje na j-tom proizvodu. Naime, kako je

m∑i=1

yiaij =m∑i=1

wiaij −m∑i=1

ρiaij ,

a∑mi=1 ρiaij je konstanta, optimizacijski problemi (3.5) i (3.9) su ekvivalentni. Osim toga vrijedi

m∑i=1

yiaij =m∑i=1

wiaij −m∑i=1

ρiaij ≥ σj −m∑i=1

ρiaij = cj .

Matrični zapis:

Za zadani vektor kapaciteta resursa b ∈ Rm, vektor profita c ∈ Rn i matricu tehno-logije A ∈ Rm×n, treba odrediti vektor y? ∈ Rm+ , takav da je

miny∈Rm

+bT y = bT y?, uz uvjet (3.12)

AT y ≥ c. (3.13)

Svojstva:(Martić, 1966, 1971; Vanderbei, 2001)

• Ako je x dopustivo rješenje primarnog LP–problema (2.16), y dopustivo rješenje dualnogLP–problema (3.12)–(3.13), onda vrijedi cT x ≤ bT y;

Page 13: Kvantitativnemetodezaposlovnoodlučivanje IV. Linearno ...scitowsk/Kvantitativne/Materijali/LP.pdf · Kvantitativnemetodezaposlovnoodlučivanje∗ IV. Linearno programiranje Rudolf

Kvantitativne metode 13

• Ako je x dopustivo rješenje primarnog LP–problema (2.16), y dopustivo rješenje dualnogLP–problema (3.12)–(3.13) i ako vrijedi cT x = bT y, onda su x i y optimalna dopustivarješenja;

• Ako primarni i dualni LP–problem imaju dopustiva rješenja, tada postoje i optimalnadopustiva rješenja x?, y? i vrijedi cTx? = bT y?; Ako primarni LP–problem (2.16) nemadopustivo rješenje, onda odgovarajući dualni LP–problem (3.12)–(3.13) nema optimalnodopustivo rješenje i ako dualni LP–problem (3.12)–(3.13) nema dopustivo rješenje, ondaodgovarajući primarni LP–problem (2.16) nema optimalno dopustivo rješenje;

• Optimalno dopustivo rješenje x? primarnog LP–problema (2.16) postoji onda i samo ondaako postoji optimalno dopustivo rješenje y? dualnog LP–problema (3.12)–(3.13);U tom slučaju vrijedi cTx? = bT y?;

• Dualni problem dualnog problema ponovo je primarni problem LP.

Primjer 6. 1 (Martić, 1971) Dva proizvoda P1, P2 proizvode se na jednom stroju s kapacitetom24 sata dnevno uz korištenje ljudskog rada u obimu 21 sat dnevno i tržišnim ograničenjem od 9proizvoda P1 ili P2 u zadanom vremenskom intervalu. Treba odrediti količinu proizvodnje (x?1, x?2)proizvoda {P1, P2}, uz koju se postiže maksimalni profit z? kao razlika prodajne cijene i troškovaproizvodnje.

Inputi Proizvodi Kapaciteti Tržišne cijeneP1 P2 resursa (bi) resursa (ρi)

Stroj 1 4 24 2Ljudski rad 3 1 21 1Tržište 1 1 9 1

Cijene (σj) 8 15Troškovi 6 10

Profit (cj) 2 5

Tablica 4: Podaci o proizvodnji

Primarni LP-problem: max(2x1 + 5x2) uz uvjetex1 + 4x2 ≤ 243x1 + x2 ≤ 21x1 + x2 ≤ 9x1, x2 ≥ 0

1Na 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.

Page 14: Kvantitativnemetodezaposlovnoodlučivanje IV. Linearno ...scitowsk/Kvantitativne/Materijali/LP.pdf · Kvantitativnemetodezaposlovnoodlučivanje∗ IV. Linearno programiranje Rudolf

Kvantitativne metode 14

2 4 6

-1

1

2

3

4

5

6

S

~c

T1 T2

T3

T4

T5

Slika 6: Maksimum na poliedru S u smjeru vektora ~c = 2~i+ 5~j

Ti (0, 0) (7, 0) (6, 3) (4, 5) (0, 6))f(x1, x2) = ~ri · ~c 0 14 27 33 30

di = ~ri·~c‖~c‖ 0 14√

2927√29

33√29

30√29

U vrhu (x?1, x?2) = (4, 5) skupa S postiže se optimalno/maksimalno dopustivo rješenje na komefunkcija cilja postiže optimalnu/maksimalnu vrijednost z? = 33.

Matrični zapis ovog LP–problema glasi

max(cTx),Ax ≤ bx ≥ 0

A =

1 43 11 1

, b =

24219

, c =[

25

],

s rješenjem: x? = (4, 5)T , z? = 33.Provjerom prve restrikcije uočavamo da je prvi resurs (strojni rad) potpuno iskorišten, da

drugi resurs (ljudski rad) ima neiskorišteni kapacitet 4 i da je treći resurs (tržište) potpunoiskorišten.

Konstruirajmo sada odgovarajući dualni problem. Treba odrediti jedinične cijene naših re-sursa w1, w2, w3, tako da troškovi naše proizvodnje budu veći ili jednaki troškovima koje dozvo-ljava tržište, a da ukupni troškovi naše proizvodnje budu minimalni:

Dualni LP-problem: min(24w1 + 21w2 + 9w3) uz uvjetew1 + 3w2 + w3 ≥ 84w1 + w2 + w3 ≥ 15wi ≥ ρi

Uz supstituciju yi := wi − ρi ≥ 0 (wi = yi + ρi) dobivamo

min(24y1 + 21y2 + 9y3 + 78) uz uvjety1 + 3y2 + y3 ≥ 8− (1 · 2 + 3 · 1 + 1 · 1) = 24y1 + y2 + y3 ≥ 15− (4 · 2 + 1 · 1 + 1 · 1) = 5yi ≥ 0

Page 15: Kvantitativnemetodezaposlovnoodlučivanje IV. Linearno ...scitowsk/Kvantitativne/Materijali/LP.pdf · Kvantitativnemetodezaposlovnoodlučivanje∗ IV. Linearno programiranje Rudolf

Kvantitativne metode 15

odnosnomin(24y1 + 21y2 + 9y3) uz uvjety1 + 3y2 + y3 ≥ 24y1 + y2 + y3 ≥ 5yi ≥ 0

ili u matričnom zapisumax(bT y),AT y ≥ cy ≥ 0

s rješenjem: y? = (1, 0, 1)T , z? = 33.Pogledajmo kako će se promijeniti funkcija cilja u točki rješenja ako kapacitet prvog resursa

(strojni rad) povećamo za δ > 0

z? + ∆z? = (24 + δ)y?1 + 21y?2 + 9y?3= (24y?1 + 21y?2 + 9y?3) + δy?1 = z? + δy?1 = z? + δ.

Dakle, ako kapacitet prvog resursa (strojni rad) povećamo za δ > 0, funkcija cilja mogla bi sepovećati za δ jer je y?1 = 1.

Slično zaključujemo: ako kapacitet drugog resursa (ljudski rad) povećamo za δ > 0, funkcijacilja neće se povećati jer je y?2 = 0, a ako kapacitet trećeg resursa (prisutnost na tržištu) povećamoza δ > 0, funkcija cilja mogla bi se povećati za δy?3 = δ jer je y?3 = 1.

Primjer 7. Za ishranu jedne krave gospodarstvu stoje na raspolaganju dvije vrste stočne hraneH1, H2. Dnevne potrebe krave za hranjivim komponentama A,B,C (u kg), količine tih hranjivihkomponenti (u kg) u stočnoj hrani H1, H2 i cijene stočne hrane (u kn) vidljive su u niže navedenojtablici. Treba definirati optimalnu strategiju ishrane krave.

Hranjive Stočna hrana Dnevnekomponente H1 H2 potrebe

A 0.6 0.1 1.8B 0.1 0.4 1.2C 0.2 0.1 1.0

Cijene 20 40

Tablica 5: Podaci o ishrani krave

Ako s x1, odnosno x2, označimo dnevnu potrebnu količinu stočne hrane H1, odnosno H2,onda odgovarajući LP-problem možemo ovako formulirati

min(20x1 + 40x2) uz uvjet0.6x1 + 0.1x2 ≥ 1.80.1x1 + 0.4x2 ≥ 1.20.2x1 + 0.1x2 ≥ 1.0x1, x2 ≥ 0

odnosno

min(20x1 + 40x2) uz uvjet6x1 + x2 ≥ 18x1 + 4x2 ≥ 122x1 + x2 ≥ 10x1, x2 ≥ 0

Page 16: Kvantitativnemetodezaposlovnoodlučivanje IV. Linearno ...scitowsk/Kvantitativne/Materijali/LP.pdf · Kvantitativnemetodezaposlovnoodlučivanje∗ IV. Linearno programiranje Rudolf

Kvantitativne metode 16

2 4 6 8 10 12

2

4

6

8

10

12

14

S

~c

T1

T2

Slika 7: Minimum na poliedru S u smjeru vektora ~c = 20~i+ 40~j

Rješenje: x? = (4, 2)T , z? = 160.

Zadatak 2. Napišite odgovarajući dualni problem, odredite značenje dualnih varijabi, riješitedualni problem i napravite odgovarajuću postoptimalnu analizu problema.

4 Metode za rješavanje

Primjer 8. Razmotrimo ponovo Primjer 1. Treba riješiti sljedeći LP-problem

f(x1, x2) = 20x1 + 30x2 uz uvjete

2x1 + 4x2 ≤ 16

2x1 + x2 ≤ 10

x2 ≤ 3

x1, x2 ≥ 0

1 2 3 4 5

1

2

3

S

Slika 8: Dopustivo područje S i njegovi vrhovi

Skup mogućih rješenja S (dopustivo područje) u ovom slučaju je konveksni poliedar (ko-nveksni politop jer je ograničen) prikazan na Slici 8. Svaki od njegovih 5 vrhova dobije se kaopresjek dva pravca zadanih nekom od jednadžbi:

2x1 + 4x2 = 16, 2x1 + x2 = 10, x2 = 3, x1 = 0, x2 = 0,

Page 17: Kvantitativnemetodezaposlovnoodlučivanje IV. Linearno ...scitowsk/Kvantitativne/Materijali/LP.pdf · Kvantitativnemetodezaposlovnoodlučivanje∗ IV. Linearno programiranje Rudolf

Kvantitativne metode 17

Primijetite da u ovom slučaju možemo promatrati(5

2)

= 10 sustava od dvije jednadžbe s dvijenepoznanice. Na taj način dobivamo 9 točaka (jedan sustav nema rješenja). Za svaku točkutreba provjeriti svih 5 restrikcija. Vrhovi dopustivog područja S su one točke koje zadovoljavajusvih 5 restrikcija. Budući da se maksimum funkcije cilja postiže na barem jednom vrhu ovogkonveksog poliedra, jedna mogućnost je provjeriti njenu vrijednost u svim vrhovima. U ovomsluč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

Općenito LP-problem može imati n varijabli i m restrikcija, Ako je m ≥ n, trebalo bi riješiti(m

n

)= m!n!(m− n)! ,

sustava od m jednadžbi s n nepoznanica, čime dobivamo toliko ili manje točaka iz Rn. Odmah jejasno da bi to mogao biti vrlo veliki broj. Primjerice zam = 50 i n = 10 taj broj je 10 272 278 170.Zato se ova metoda ozbiljno ne razmatra.

4.1 Geometrijska metoda

Kao što smo pokazali u Odjeljku 2.2 u slučaju n = 2 (ili eventualno n = 3) LP-problemmaksimuma možemo rješavati tako da potražimo onaj vrh polijedra S, kroz koji prolazi pravacokomit na vektor ~c = 20~i+ 30~j, a koji je najudaljeniji od ishodišta koordinatnog sustava O.

Primjedba 2. 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 rješenje postiže na strnici poliedraTakodjer nacrtati jedan primjer u trodimenzionalnom području

4.2 Simpleks metoda

Sukladno Teoremu 1, str.4 točku optimalnog rješenja mogli bi potražiti sljedećim iterativnimpostupkom – algoritmom.

Algoritam 1. Korak 1: Odaberemo jedan vrh (početnu aproksimaciju) A0 i u njemu izračunamo vri-jednost funkcije cilja z0;

Korak 2: Za svaki susjedni vrh izračunamo vrijednost funkcije cilja i zadržimo se na onom vrhu u komesmo postigli najveću vrijednost2;

Korak 3: Ponavljamo Korak 2 dok god se vrijednost funkcije cilja povećava.2za n = 2 broj susjednih vrhova je 2, a za n = 3 to već može biti puno veći broj

Page 18: Kvantitativnemetodezaposlovnoodlučivanje IV. Linearno ...scitowsk/Kvantitativne/Materijali/LP.pdf · Kvantitativnemetodezaposlovnoodlučivanje∗ IV. Linearno programiranje Rudolf

Kvantitativne metode 18

Za podatke iz Primjera 1 tijek iterativnog postupka opisanog u Algoritmu 1 je

Iteracija Vrh Funkcija cilja Susjedni vrhovi Funkcija cilja

0 (0, 0) 0 (0, 3), (5, 0) 90 100

1 (5, 0) 100 (0, 0), (4, 2) 0 1402 (4, 2) 140 (5, 0), (2, 3) 100 130

Na taj način određeno je optimalno dopustivo rješenje x? = (4, 2)T , na kome funkcija ciljapostiže optimalnu vrijednost z? = 140.

Simpleks metodu za traženje optimalno dopustivog rješenja LP-problema maksimuma ilus-trirat ćemo na nekoliko primjera. Više se može vidjeti u literaturi navedenoj na kraju teksta.

Primjer 9. Razmotrimo ponovo Primjer 1, odnosno Primjer 8.

Maksimizirati z = 20x1 + 30x2uz uvjete 2x1 + 4x2 ≤ 16

2x1 + x2 ≤ 10x2 ≤ 3

x1, x2 ≥ 0

(4.1)

Lijevim stranama svake nejednakosti dodat ćemo nenegativne veličine (dopunske varijable)si ≥ 0 tako da nejednakosti iz (4.1) postanu jednakosti. Dopunske varijable ne smiju utjecatina vrijednost funkcije cilja. Odgovarajući LP-program (4.1) tada postaje

Maksimizirati z = 20x1 + 30x2 + 0s1 + 0s2 + 0s3uz uvjete 2x1 + 4x2 + s1 = 16

2x1 + x2 + s2 = 10x2 + s3 = 3

x1, x2, s1, s2, s3 ≥ 0

(4.2)

ili tablicno

x1 x2 s1 s2 s3 bi

2 4 1 0 0 162 1 0 1 0 100 1 0 0 1 3

20 30 0 0 0 0

x(0) =[

00

], s(0) =

16103

, z(0) = 0, (4.3)

U ovom primjeru dopunske varijable si imaju značenje neiskorištenih kapaciteta.Kao kod Algoritma 1 krenimo od početne aproksimacije: x(0) = (x(0)

1 , x(0)2 ) = (0, 0) (vidi

Sliku 9). Vektor dopunskih varijabli je s(0) = (s(0)1 , s

(0)2 , s

(0)3 ) = (16, 10, 3), a vrijednost funkcije

cilja z(0) = 0.Pokrenimo proizvodnju s maksimalno dopustivom količinom proizvoda P2 (jer, kao što se vidi

iz funkcije cilja on donosi veći profit). Proizvodnju proizvoda P1 za početak nećemo pokrenuti,dakle x(1)

1 = 0. Proanalizirajmo koja je to maksimalno dopustiva količina proizvodnje proizvoda

Page 19: Kvantitativnemetodezaposlovnoodlučivanje IV. Linearno ...scitowsk/Kvantitativne/Materijali/LP.pdf · Kvantitativnemetodezaposlovnoodlučivanje∗ IV. Linearno programiranje Rudolf

Kvantitativne metode 19

P2. Budući da neiskorišteni kapaciteti (dopunske varijable) moraju ostati nenegativni, iz (4.2)dobivamo

4x2 = 16− 2x1 − s1 ≤ 16 =⇒ x2 ≤ 164 = 4

x2 = 10− 2x1 − s2 ≤ 10 =⇒ x2 ≤ 101 = 10

x2 = 3− s3 ≤ 3 =⇒ x2 ≤ 31 = 3

x2

0 3 4

Dakle, najveća dopustiva količina proizvodnje proizvoda P2 može biti x(1)2 = 3. Tako do-

bivamo prvu aproksimaciju rješenja x(1) = (x(1)1 , x

(1)2 ) = (0, 3) (vidi Sliku 9). Primijetite da

smo tu količinu formalno mogli dobiti promatrajući kvocijente slobodnih koeficijenata sustava(4.2) i onih koeficijenata uz varijablu x2 koji su pozitivni. Od svih takvih kvocijenata izabiremonajmanji

min{164 ,

101 ,

31} = 3.

1 2 3 4 5

1

2

3

S

(0, 0)

(0, 3) (2, 3)

(4, 2)

Slika 9: Simplex metoda: kretanje po vrhovima dopustivog područje S

Budući da se vrijednost x(1)2 = 3 postiže na trećoj jednadžbi sustava (4.2), varijablu x2 izrazit

ćemo iz te jednadžbe i uvrstiti u preostale dvije i u funkciju cilja. Na taj način LP-program(4.2) postaje

Maksimizirati z = 20x1 + 30(3− s3) + 0s1 + 0s2 + 0s3uz uvjete 2x1 + 4(3− s3) + s1 = 16

2x1 + (3− s3) + s2 = 10x2 + s3 = 3

x1, x2, s1, s2, s3 ≥ 0

odnosno

Maksimizirati z − 90 = 20x1 + 0s1 + 0s2 − 30s3uz uvjete 2x1 + s1 − 4s3 = 4

2x1 + s2 − s3 = 7x2 + s3 = 3

x1, x2, s1, s2, s3 ≥ 0

(4.4)

Page 20: Kvantitativnemetodezaposlovnoodlučivanje IV. Linearno ...scitowsk/Kvantitativne/Materijali/LP.pdf · Kvantitativnemetodezaposlovnoodlučivanje∗ IV. Linearno programiranje Rudolf

Kvantitativne metode 20

Ovakvim izborom količine proizvodnje proizvoda P2 potpuno smo iscrpili treću restrikciju (tr-žišno ograničenje), pa odgovarajuća dopunska varijabla mora biti s(1)

3 = 0. Na taj način sustavom(4.4) potpuno su određene veličine:

x(1) = (0, 3), s(1) = (4, 7, 0), z(1) = 90.

Sustav (4.4) u tabličnom prikazu glasi

x1 x2 s1 s2 s3 bi

2 0 1 0 −4 42 0 0 1 −1 70 1 0 0 1 3

20 0 0 0 −30 −90

x(1) =[

03

], s(1) =

470

, z(1) = 90 (4.5)

Primjedba 3. Razmotrimo formalni put nastajanja tablice (4.5) iz tablice (4.3). Najprije utablici (4.3) treba izabrati pivot-stupac tako da u posljednjem retku tablice između pozitivnihbrojeva potražimo najveći (u našem slučaju to je drugi stupac). Nakon toga u pivot-stupcutreba izabrati pivot-element tako da za sve pozitivne elemente pivot-stupca potražimo minimalnikvocijent između slobodnog koeficijenta i odgovarajućeg koeficijenta u pivot-stupcu. Tako smoodredili pivot-element označen kvadratićem u tablici (4.3). Nakon toga tablicu (4.5) dobivamoprimjenom Gaussovih transformacija nad retcima tablice (4.3):

• treći redak pomnožiti s (−4) i dodati prvom;

• treći redak pomnožiti s (−1) i dodati drugom;

• treći redak pomnožiti s (−30) i dodati četvrtom.

Prijeđimo na traženje sljedeće - druge aproksimacije x(2) rješenja. Kao što se vidi iz funkcijecilja u (4.4) bolje rješenje moglo bi se potražiti uvođenjem u proizvodnju proizvoda P1 jer bito moglo dovesti do povećanja vrijednosti funkcije cilja. Pri tome dopunska varijabla s3 moralabi biti nula jer se uz nju nalazi negativni koeficijent (u protivnom, to bi dovelo do sniženjavrijednosti funkcije cilja). Iz (4.4) dobivamo

2x1 = 4− s1 ≤ 4 =⇒ x1 ≤ 42 = 2

2x1 = 7− s2 ≤ 7 =⇒ x1 ≤ 72 = 3.5

x2

0 2 3.5

Dakle, najveća dopustiva količina proizvodnje proizvoda P1 može biti x(2)1 = 2. Primijetite

da smo tu količinu formalno mogli dobiti promatrajući kvocijente slobodnih koeficijenata sustava(4.4) i onih koeficijenata uz varijablu x1 koji su pozitivni. Od svih takvih kvocijenata izabiremonajmanji

min{42 ,

72} = 2.

Page 21: Kvantitativnemetodezaposlovnoodlučivanje IV. Linearno ...scitowsk/Kvantitativne/Materijali/LP.pdf · Kvantitativnemetodezaposlovnoodlučivanje∗ IV. Linearno programiranje Rudolf

Kvantitativne metode 21

Budući da se vrijednost x(2)1 = 2 postiže na prvoj jednadžbi sustava (4.4), varijablu x1 izrazit

ćemo iz te jednadžbe (x1 = 2 − 12s1 + 2s3) i uvrstiti u preostale dvije i u funkciju cilja. Na taj

način LP-program (4.4) postaje

Maksimizirati z − 90 = 20(2− 12s1 + 2s3) − 30s3

uz uvjete 2x1 + s1 − 4s3 = 42(2− 1

2s1 + 2s3) + s2 − s3 = 7x2 + s3 = 3

x1, x2, s1, s2, s3 ≥ 0

odnosno

Maksimizirati z − 130 = − 10s1 + 10s3uz uvjete x1 + 1

2s1 − 2s3 = 2− s1 + s2 + 3s3 = 3

x2 + s3 = 3x1, x2, s1, s2, s3 ≥ 0

(4.6)

Kako je s(2)1 = 0 i s(2)

3 = 0, iz (4.6) možemo pročitati i ostale vrijednosti (vidi također Sliku 9):

x(2) = (2, 3), s(2) = (0, 3, 0), z(2) = 130.

Sustav (4.6) u tabličnom prikazu glasi

x1 x2 s1 s2 s3 bi

1 0 1/2 0 −2 20 0 −1 1 3 30 1 0 0 1 3

0 0 −10 0 10 −130

x(2) =[

23

], s(2) =

030

, z(2) = 130 (4.7)

Razmotrimo formalni put nastajanja tablice (4.7) iz tablice (4.5). Najprije u tablici (4.5)treba izabrati pivot-stupac tako da u posljednjem retku tablice između pozitivnih brojeva potra-žimo najveći (u našem slučaju on se nalazi u prvom stupcu). Nakon toga u pivot-stupcu trebaizabrati pivot-element tako da za sve pozitivne elemente pivot-stupca potražimo minimalni kvo-cijent između slobodnog koeficijenta i odgovarajućeg koeficijenta u pivot-stupcu. Tako smoodredili pivot-element označen kvadratićem u tablici (4.5). Nakon toga tablicu (4.7) dobivamoprimjenom Gaussovih transformacija nad retcima tablice (4.5).

Prijeđimo na traženje sljedeće - treće aproksimacije x(3) rješenja. Kao što se vidi iz funkcijecilja u (4.6), može se očekivati da će se funkcija cilja još povećati većim angažiranjem tržišnihmogućnosti (što boljim zadovoljavanjem treće nejednakosti). Istovremeno, vrijednost prve do-punske varijable s1 mora biti nula jer se uz nju nalazi negativni koeficijent (u protivnom, to bidovelo do sniženja vrijednosti funkcije cilja). Iz (4.6) dobivamo

2s3 = −2 + x1 ≥ −2 =⇒ s3 ≥ −13s3 = 3− s2 ≤ 3 =⇒ s3 ≤ 3

3 = 1s3 = 3− x2 ≤ 3 =⇒ s3 ≤ 3

1 = 3

Page 22: Kvantitativnemetodezaposlovnoodlučivanje IV. Linearno ...scitowsk/Kvantitativne/Materijali/LP.pdf · Kvantitativnemetodezaposlovnoodlučivanje∗ IV. Linearno programiranje Rudolf

Kvantitativne metode 22s3

−1 0 1 3

Najveće dopustivo angažiranje tržišta (treće dopunske varijable) smije biti s(3)3 = 1. Primi-

jetite da smo tu količinu formalno mogli dobiti promatrajuci kvocijente slobodnih koeficijenatasustava (4.6) i onih koeficijenata uz varijablu s3 koji su pozitivni. Od svih takvih kvocijenataizabiremo najmanji

min{33 ,

31} = 1.

Budući da se vrijednost s(3)3 = 1 postiže na drugoj jednadžbi sustava (4.6), varijablu s3 izrazit

ćemo iz te jednadžbe (s3 = 1 + 13s1 − 1

3s2) i uvrstiti u preostale dvije i u funkciju cilja. Na tajnačin LP-program (4.6) postaje

Maksimizirati z − 130 = − 10s1 + 10(1 + 13s1 − 1

3s2)uz uvjete x1 + 1

2s1 − 2(1 + 13s1 − 1

3s2) = 2− 1

3s1 + 13s2 + s3 = 1

x2 + (1 + 13s1 − 1

3s2) = 3x1, x2, s1, s2, s3 ≥ 0

odnosno

Maksimizirati z − 140 = − 203 s1 − 10

3 s2

uz uvjete x1 − 16s1 + 2

3s2 = 4− 1

3s1 + 13s2 + s3 = 1

x2 + 13s1 − 1

3s2 = 2x1, x2, s1, s2, s3 ≥ 0

(4.8)

Kako je s(3)3 = 1 i s(3)

2 = 0, iz (4.8) možemo pročitati i ostale vrijednosti (vidi također Sliku 9):

x(3) = (4, 2), s(3) = (0, 0, 1), z(3) = 140.

Sustav (4.8) u tabličnom prikazu glasi

x1 x2 s1 s2 s3 bi

1 0 −1/6 2/3 0 40 0 −1/3 1/3 1 10 1 1/3 −1/3 0 2

0 0 −20/3 −10/3 0 −140

x(3) =[

42

], s(3) =

001

, z(3) = 140 (4.9)

Budući da u funkciji cilja (odnosno u zadnjem retku tablice) više nema pozitivnih elemenatakoji bi osigurali povećanje funkcije cilja, algoritam je završio i postignuto je optimalno rješenje.

Primjedba 4. Iz posljednje simpleks tablice mogu se očitati i optimalne vrijednosti dualnihvarijabli (cijene u sjeni): w?1 = 20

3 , w?2 = 103 , w?3 = 0. Interpretirajte njihovo ekonomsko značenje.

Page 23: Kvantitativnemetodezaposlovnoodlučivanje IV. Linearno ...scitowsk/Kvantitativne/Materijali/LP.pdf · Kvantitativnemetodezaposlovnoodlučivanje∗ IV. Linearno programiranje Rudolf

Kvantitativne metode 23

Primjer 10. Simpleks metodom treba riješiti sljedeći LP-problem

Maksimizirati z = 5x1 + 4x2 + 3x3uz uvjete 2x1 + 3x2 + x3 ≤ 5

4x1 + x2 + 2x3 ≤ 113x1 + 4x2 + 2x3 ≤ 8x1, x2, x3 ≥ 0

(4.10)

O

xy

z

Ox

y

z

Slika 10: Polijedar iz Primjera 10

Skup mogućih rješenja S (dopustivo područje) u ovom slučaju je konveksni poliedar (ko-nveksni politop jer je ograničen) s vrhovima

(0, 0, 0), (52 , 0, 0), (0, 5

3 , 0), (0, 2, 0), (0, 0, 4), (2, 0, 1), (0, 1, 2).

prikazan na Slici 10. Budući da se maksimum funkcije cilja postiže na barem jednom vrhu ovogkonveksog poliedra, jedna mogućnost je provjeriti njenu vrijednost u svim vrhovima. I u ovomslučaju to je lako jer je broj vrhova malen:

Vrhovi (0, 0, 0) (52 , 0, 0) (0, 5

3 , 0) (0, 2, 0) (0, 0, 4) (2, 0, 1) (0, 1, 2)Funkcija cilja 0 12.5 6.667 8 12 13 10

Dakle, maksimum funkcije cilja postiže se u točki (2, 0, 1) i iznosi 13.

Primijenimo simpleks metodu na rješavanje ovog LP-problema. Lijevim stranama svakenejednakosti dodat ćemo nenegativne veličine (dopunske varijable) si ≥ 0 tako da nejednakostiiz (4.10) postanu jednakosti. Dopunske varijable ne smiju utjecati na vrijednost funkcije cilja.Odgovarajući LP-program (4.10) postaje

Maksimizirati z = 5x1 + 4x2 + 3x3 + 0s1 + 0s2 + 0s3uz uvjete 2x1 + 3x2 + x3 + s1 = 5

4x1 + x2 + 2x3 + s2 = 113x1 + 4x2 + 2x3 + s3 = 8xi, si ≥ 0

(4.11)

Page 24: Kvantitativnemetodezaposlovnoodlučivanje IV. Linearno ...scitowsk/Kvantitativne/Materijali/LP.pdf · Kvantitativnemetodezaposlovnoodlučivanje∗ IV. Linearno programiranje Rudolf

Kvantitativne metode 24

ili tablično

x1 x2 x3 s1 s2 s3 bi

2 3 1 1 0 0 54 1 2 0 1 0 113 4 2 0 0 1 8

5 4 3 0 0 0 0

x(0) =

000

, s(0) =

5118

, z(0) = 0, (4.12)

Kao kod Algoritma 1 krenimo od početne aproksimacije: x(0) = (x(0)1 , x

(0)2 , x

(0)3 ) = (0, 0, 0)

(vidi Sliku 10). Vektor dopunskih varijabli je s(0) = (s(0)1 , s

(0)2 , s

(0)3 ) = (5, 11, 8), a vrijednost

funkcije cilja z(0) = 0.Pokrenimo proizvodnju s maksimalno dopustivom količinom proizvoda P1 (jer, kao što se

vidi iz funkcije cilja on donosi veći profit). Proizvodnju proizvoda P2, P3 za početak nećemopokrenuti, dakle x(1)

2 = x(1)3 = 0. Proanalizirajmo koja je to maksimalno dopustiva količina

proizvodnje proizvoda P1. Budući da neiskorišteni kapaciteti (dopunske varijable) moraju ostatinenegativni, iz (4.11) dobivamo

2x1 = 5− 3x2 − x3 − s1 ≤ 5 =⇒ x1 ≤ 52 = 2.5

4x1 = 11− x2 − 2x3 − s2 ≤ 11 =⇒ x1 ≤ 114 = 2.75

3x1 = 8− 4x2 − 2x3 − s3 ≤ 8 =⇒ x1 ≤ 83 = 2.667

Dakle, najveća dopustiva količina proizvodnje proizvoda P1 može biti x(1)2 = 2.5. Tako dobi-

vamo prvu aproksimaciju rješenja x(1) = (x(1)1 , x

(1)2 , x

(1)3 ) = (2.5, 0, 0) (vidi Sliku 10). Primijetite

da smo tu količinu formalno mogli dobiti promatrajući kvocijente slobodnih koeficijenata sus-tava (4.11) i onih koeficijenata uz varijablu x1 koji su pozitivni. Od svih takvih kvocijenataizabiremo najmanji

min{52 ,

114 ,

83} = 5

2 .

Budući da se vrijednost x(1)1 = 2.5 postiže na prvoj jednadžbi sustava (4.11), varijablu x1

izrazit ćemo iz te jednadžbe i uvrstiti u preostale dvije i u funkciju cilja. Na taj način LP-program(4.11) postaje

Maksimizirati z − 12.5 = − 72x2 + 1

2x3 − 52s1 + 0s2 + 0s3

uz uvjete x1 + 32x2 + 1

2x3 + 12s1 = 5

2

− 5x2 − 2s1 + s2 = 1− 1

2x2 + 12x3 − 3

2s1 + s3 = 12

xi, si ≥ 0

(4.13)

Ovakvim izborom količine proizvodnje proizvoda P1 potpuno smo iscrpili prvu restrikciju paodgovarajuća dopunska varijabla mora biti s(1)

1 = 0. Na taj način sustavom (4.13) potpuno suodređene veličine:

x(1) = (52 , 0, 0), s(1) = (0, 1, 1

2), z(1) = 12.5.

Page 25: Kvantitativnemetodezaposlovnoodlučivanje IV. Linearno ...scitowsk/Kvantitativne/Materijali/LP.pdf · Kvantitativnemetodezaposlovnoodlučivanje∗ IV. Linearno programiranje Rudolf

Kvantitativne metode 25

Sustav (4.13) u tabličnom prikazu glasix1 x2 x3 s1 s2 s3 bi

1 32

12

12 0 0 5

20 −5 0 −2 1 0 10 −1 1 −3 0 2 1

0 −7 1 −5 0 0 −12.5

x(1) =

2.500

, s(1) =

0112

, z(1) = 12.5 (4.14)

Prijeđimo na traženje sljedeće - druge aproksimacije x(2) rješenja. Kao što se vidi iz funkcijecilja u (4.13) bolje rješenje moglo bi se potražiti uvođenjem u proizvodnju proizvoda P3 jer bi tomoglo dovesti do povećanja vrijednosti funkcije cilja. Pri tome varijabla x2 i dopunska varijablas1 morale bi biti nula jer se uz njih nalazi negativni koeficijent (u protivnom, to bi dovelo dosniženja vrijednosti funkcije cilja). Iz (4.13) dobivamo

12x3 = 5

2 − x1 ≤ 52 =⇒ x3 ≤ 5

− − − −x3 = 1− 2s3 ≤ 1 =⇒ x3 ≤ 1

Dakle, najveća dopustiva količina proizvodnje proizvoda P3 može biti x(2)3 = 1. Tako dobi-

vamo drugu aproksimaciju rješenja x(2) = (x(2)1 , x

(2)2 , x

(2)3 ) = (2, 0, 1) (vidi Sliku 10). Primijetite

da smo tu količinu formalno mogli dobiti promatrajući kvocijente slobodnih koeficijenata sus-tava (4.13) i onih koeficijenata uz varijablu x3 koji su pozitivni. Od svih takvih kvocijenataizabiremo najmanji

min{51 ,

11} = 1.

Budući da se vrijednost x(2)3 = 1 postiže na trećoj jednadžbi sustava (4.13), varijablu x3

izrazit ćemo iz te jednadžbe i uvrstiti u preostale dvije i u funkciju cilja. Na taj način LP-program (4.13) postaje

Maksimizirati z − 13 = − 3x2 − s1 + 0s2 − s3uz uvjete x1 + 2x2 + 2s1 − s3 = 2

− 5x2 − 2s1 + s2 = 1− x2 + x3 − 3s1 + 2s3 = 1

xi, si ≥ 0

(4.15)

Ovakvim izborom količine proizvodnje proizvoda P3 potpuno smo iscrpili treću restrikciju paodgovarajuća dopunska varijabla mora biti s(2)

3 = 0. Na taj način sustavom (4.15) potpuno suodređene veličine:

x(2) = (2, 0, 1), s(1) = (0, 1, 0), z(1) = 13.

Sustav (4.15) u tabličnom prikazu glasix1 x2 x3 s1 s2 s3 bi

1 2 0 2 0 −1 20 −5 0 −2 1 0 10 −1 1 −3 0 2 1

0 −3 0 −1 0 −1 −13

x(2) =

201

, s(2) =

010

, z(2) = 13. (4.16)

Page 26: Kvantitativnemetodezaposlovnoodlučivanje IV. Linearno ...scitowsk/Kvantitativne/Materijali/LP.pdf · Kvantitativnemetodezaposlovnoodlučivanje∗ IV. Linearno programiranje Rudolf

Kvantitativne metode 26

Budući da u funkciji cilja (odnosno u zadnjem retku tablice) više nema pozitivnih elemenatakoji bi osigurali povećanje funkcije cilja, algoritam je završio i postignuto je optimalno rješenje.

Primjedba 5. Iz posljednje simpleks tablice mogu se očitati i optimalne vrijednosti dualnihvarijabli (cijene u sjeni): w?1 = 1, w?2 = 0, w?3 = 1. Interpretirajte njihovo ekonomsko značenje.

Primjer 11. Simpleks metodom rijesimo LP-problem iz Primjera 43

Maksimizirati z = 4x1 + 8x2 + 5x3 + 2x4 + 9x5 + 7x6uz uvjete 4x1 + 8x2 + 5x3 ≤ 200

2x4 + 9x5 + 7x6 ≤ 180x1 + x4 ≤ 80

x2 + x5 ≤ 22x3 + x6 ≤ 60

xi ≥ 0

x1 x2 x3 x4 x5 x6 s1 s2 s3 s4 s5 bi

4 8 5 0 0 0 1 0 0 0 0 2000 0 0 2 9 7 0 1 0 0 0 1801 0 0 1 0 0 0 0 1 0 0 800 1 0 0 1 0 0 0 0 1 0 220 0 1 0 0 1 0 0 0 0 1 60

4 8 5 2 9 7 0 0 0 0 0 0

x(0) =

000000

, s(0) =

200180802260

, z(0) = 0.

x1 x2 x3 x4 x5 x6 s1 s2 s3 s4 s5 bi

4 8 5 0 0 0 1 0 0 0 0 2000 0 0 2 9 7 0 1 0 0 0 1801 0 0 1 0 0 0 0 1 0 0 800 9 0 −2 0 −7 0 −1 0 9 0 180 0 1 0 0 1 0 0 0 0 1 60

4 8 5 0 0 0 0 −1 0 0 0 −180

x(1) =

0000200

, s(1) =

200080260

, z(1) = 180.

x1 x2 x3 x4 x5 x6 s1 s2 s3 s4 s5 bi

36 0 45 16 0 56 1 8 0 −72 0 16560 0 0 2 9 7 0 1 0 0 0 1801 0 0 1 0 0 0 0 1 0 0 800 9 0 −2 0 −7 0 −1 0 9 0 180 0 1 0 0 1 0 0 0 0 1 60

4 0 5 169 0 56

9 0 − 19 0 −8 0 −196

x(2) =

0200200

, s(2) =

184080060

, z(2) = 196.

x1 x2 x3 x4 x5 x6 s1 s2 s3 s4 s5 bi

4 0 5 0 −8 0 1 0 0 −8 0 240 0 0 2 9 7 0 1 0 0 0 1801 0 0 1 0 0 0 0 1 0 0 800 1 0 0 1 0 0 0 0 1 0 220 0 7 −2 −9 0 0 −1 0 0 7 240

4 0 5 0 −8 0 0 −1 0 −8 0 −356

x(3) =

022000

1807

, s(3) =

240800

2407

, z(3) = 356.

3Kako bi se zadržala što jednostavnija forma tablice – sa što manje razlomaka, retci u kojima su se pojavilirazlomci pomnoženi su sa zajedničkim nazivnikom.

Page 27: Kvantitativnemetodezaposlovnoodlučivanje IV. Linearno ...scitowsk/Kvantitativne/Materijali/LP.pdf · Kvantitativnemetodezaposlovnoodlučivanje∗ IV. Linearno programiranje Rudolf

Kvantitativne metode 27

x1 x2 x3 x4 x5 x6 s1 s2 s3 s4 s5 bi

4 0 5 0 −8 0 1 0 0 −8 0 240 0 0 2 9 7 0 1 0 0 0 1801 0 0 1 0 0 0 0 1 0 0 800 1 0 0 1 0 0 0 0 1 0 22−28 0 0 −10 11 0 −7 −5 0 56 35 1032

0 0 0 0 0 0 −1 −1 0 0 0 −380

x(4) =

02224500

1807

, s(4) =

00800

103235

, z(4) = 380.

5 Primjeri4

Primjer 12. (Martić, 1971) Za zadanu matricu tehnologije (Tablica 6) treba odrediti optimalni proizvodniprogram koji će maksimizirati korištenje kapaciteta strojeva.

Inputi Proizvodi KapacitetiP1 P2 strojeva

Stroj S1 10 10 8000Stroj S2 10 30 18000Stroj S3 20 10 14000

Ukupno 40 50 40000

Tablica 6: Podaci o proizvodnji

Primarni LP–problem:

max (40x1 + 50x2) uz uvjete10x1 + 10x2 ≤ 800010x1 + 30x2 ≤ 1800020x1 + 10x2 ≤ 14000

x1, x2 ≥ 0

200 400 600 800

200

400

600

800

Slika 11: Grafičko rješavanje LP problema iz Primjera 12

4Za rješavanje i analizu LP-problema može se koristiti i besplatni software LINDO dostupan na http://www.lindo.com/

Page 28: Kvantitativnemetodezaposlovnoodlučivanje IV. Linearno ...scitowsk/Kvantitativne/Materijali/LP.pdf · Kvantitativnemetodezaposlovnoodlučivanje∗ IV. Linearno programiranje Rudolf

Kvantitativne metode 28

(xi, yi) (0, 0) (0, 600) (300, 500) (600, 200) (700, 0) (400, 400)f(xi, yi) 0 30000 37000 34000 28000 36000

Rješenje: x? = (300, 500)T , z? = 37000.Dualni LP–problem:

min (8000y1 + 18000y2 + 14000y3) uz uvjete10y1 + 10y2 + 20y3 ≥ 4010y1 + 30y2 + 10y3 ≥ 50

y1, y2, y3 ≥ 0.

Rješenje: y? = (3.5, 0.5, 0)T , z? = 37000.Značenje: pogledajmo kakav bi efekt proizvelo povečanje kapaciteta stroja S1 za 1:

(8000 + 1)y?1 + 18000y?

2 + 14000y?3 = 37000 + y?

1 = 37000 + 3.5,

Dakle, dualna varijabla y?1 pokazuje za koliko bi se povećala vrijednost funkcije cilja ako bi prvu restrikciju

(kapacitet stroja S1) povečali za 1.Za koliko bi se povećala vrijednost funkcije cilja (ukupno korištenje strojeva) ako bi raspoloživi kapacitetstrojeva S1 i S2 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 S3 povećali, a kapacitete strojeva S1 i S2 zadržali ? (Ništa sene bi promijenilo jer je treća dualna varijabla y?

3 = 0)

Primjer 13. Treba riješiti primarni i dualni LP-problem iz Primjera 4 (Martić, 1971).

Rješenje primarnog problema: x? = (0, 22, 245 , 0, 0,

1807 )T , z? = 380.

Formulirajte odgovarajući dualni LP-problem.Rješenje dualnog problema: y? = (1, 1, 0, 0, 0)T , z? = 380.

Primjer 14. (Martić, 1971) Promatramo prethodni problem maksimalnog korištenja raspoloživog mate-rijala u proizvodnji (primjerice, u mesnoj industriji) uz maksimiranje profita navedenog u Tablici 7.

Inputi ProfitP1 P2 P3

Materijal M1 20 50 30Materijal M2 18 70 40

Tablica 7: Porofit po vrstama materijala i jedinici proizvoda

Uz ograničenja kao u Primjeru 4 treba maksimizirati sljedeću funkciju cilja

max (20x1 + 50x2 + 30x3 + 18x4 + 70x5 + 40x6)

Rješenje primarnog problema: x? = (0, 1789 , 376

45 , 80, 209 , 0)T , z? = 25516

9 = 2835.11.Formulirajte odgovarajući dualni LP-problem.Rješenje dualnog problema: y? = (6, 68

9 ,269 , 2, 0)T , z? = 25516

9 = 2835.11.

Tekst koji slijedi nije kontroliran i treba ga uzeti s rezervom!

Page 29: Kvantitativnemetodezaposlovnoodlučivanje IV. Linearno ...scitowsk/Kvantitativne/Materijali/LP.pdf · Kvantitativnemetodezaposlovnoodlučivanje∗ IV. Linearno programiranje Rudolf

Kvantitativne metode 29

Inputi Vrste cigareta KapacitetiP1 P2 P3 P4 P5

Stroj S1 9.8 9.6 9.4 9.2 9.1 7368Stroj S2 18.6 18.6 18.6 18.6 18.6 14736Stroj S3 116.9 53.3 67.8 27.1 29.0 19648Stroj S4 58.5 15.2 15.2 15.2 15.2 6912Tržišnaograničenja 2.2 64 98.4 298 34.2

Profit 240 195 185 180 150

Tablica 8: Proizvodnja cigareta

Primjer 15. (Martić, 1971) Promatramo problem optimizacije proizvodnog programa jedne tvornicecigareta. Proizvodnja se obavlja na 4 stroja s kapacitetima i matricom tehnologije prikazanoj u Tablici 8.U tablici su također navedena tržišna ograničenja i profit po vrstama cigareta.

Primarni LP–problem:

max (240x1 + 195x2 + 185x3 + 180x4 + 150x5) uz uvjete9.80x1 + 9.60x2 + 9.40x3 + 9.20x4 + 9.10x5 ≤ 736818.6x1 + 18.6x2 + 18.6x3 + 18.6x4 + 18.6x5 ≤ 14736

116.9x1 + 53.3x2 + 67.8x3 + 27.1x4 + 29.0x5 ≤ 1964858.5x1 + 15.2x2 + 15.2x3 + 15.2x4 + 15.2x5 ≤ 6912

x1 ≤ 2.2x2 ≤ 64x3 ≤ 98.4x4 ≤ 298x5 ≤ 34.2

x1, x2, x3, x4, x5, x6 ≥ 0

Rješenje primarnog problema: x? = (0, 64, 98.4, 292.337, 0)T , z? = 83304.6.Formulirajte odgovarajući dualni LP-problem.Rješenje dualnog problema: y? = (0, 0, 0, 11.8421, 0, 15, 5, 0, 0)T , z? = 83304.6.Zbog čega cigarete P5 ne ulaze u optimalni proizvodni program ?Uputa: Matricu tehnologije svedite na 100 jedinica profita za svaku vrstu cigareta (prvi stupac pomnožitesa 100 i podijelite s 240 itd.) ili razmotrite dualni problem.

Primjer 16. (Martić, 1971) Promatramo proizvodnju jednog proizvoda koji je sastavljen od dvije kom-ponente K1, K2 u omjeru 1: 1. Treba odrediti optimalni proizvodni program ovih komponenti tako da jesvakog dana moguće proizvest maksimalni broj gotovih proizvoda. Komponente K1, K2 proizvode se natri stroja S1, S2, S3 prema matrici tehnologije navedene u Tablici 9.

Optimizacija proizvodnje ovisi o produktivnosti svakog stroja. Neka je

xi dnevna količina proizvodnje komponente Ki na stroju S1, i = 1, 2x2+i dnevna količina proizvodnje komponente Ki na stroju S2, i = 1, 2x4+i dnevna količina proizvodnje komponente Ki na stroju S3, i = 1, 2

Page 30: Kvantitativnemetodezaposlovnoodlučivanje IV. Linearno ...scitowsk/Kvantitativne/Materijali/LP.pdf · Kvantitativnemetodezaposlovnoodlučivanje∗ IV. Linearno programiranje Rudolf

Kvantitativne metode 30

Strojevi Komponente KapacitetiK1 K2

Stroj S1 8 4 24Stroj S2 4 6 24Stroj S3 1 2 8

Tablica 9: Vrijeme (sati) potrebno za proizvodnju komponenti K1,K2

Produktivnost stroja S1 prilikom proizvodnje komponenta K1 zadana je s 248 , a prilikom proizvodnje

komponenta K2 s 244 . Slično se može izračunati i produktivnost strojeva S2 i S3. Zato funkciju cilja

definiramo na sljedeći način:

z = 248 x1 + 24

4 x2 + 244 x3 + 24

6 x4 + 81x5 + 8

2x6

Primarni LP–problem:

max (3x1 + 6x2 + 6x3 + 4x4 + 8x5 + 4x6) uz uvjete8x1 + 4x2 ≤ 244x3 + 6x4 ≤ 24x5 + 2x6 ≤ 8

x1 + x3 + x5 − x2 − x4 − x6 = 0x1, x2, x3, x4, x5, x6 ≥ 0

Rješenje primarnog problema: x? = (0, 6, 1.2, 3.2, 8, 0)T , z? = 120. (dobiveno Mathematica programom)Rješenja nisu cjelobrojna, kao što zahtijeva problem. Ipak, u ovom slučaju i ovo necjelobrojno rješenjeima smisla jer možemo reći da svakih 5 dana treba proizvesti x? = (0, 30, 6, 16, 40, 0)T , uz z? = 600. Kakose 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 ?

Zadatak 3. (Martić, 1971) Treba odrediti optimalni proizvodni program u jednoj tvornici mliječnih pro-izvoda, gdje se proizvodi 5 vrsta mliječnih proizvoda na 4 stroja sukladno matrici tehnologije navedene uTablici 10. Optimizacija se treba provesti prema dva kriterija:

(a) Maksimalno korištenje kapaciteta;

(b) Maksimizacija profita ako se zna da je profit po jedinici proizvoda redom: 100, 10, 60, 80, 60, uztržišna ograničenja na proizvode redom: 120, 60, .5, 5, 2.

Rješenje primarnog problema:

(a) x? = (0, 706.58, 0, 87.3786, 1666.67)T , z? = 108004.Formulirajte odgovarajući dualni LP-problem.Rješenje dualnog problema: y? = (1.47249, 0., 1.0712, 0.779755)T , z? = 108004.Kakva su značenja dualnih varijabli u ovom slučaju ?

(b) x? = (120, 60, 0.5, 5, 2)T , z? = 13150.Formulirajte odgovarajući dualni LP-problem.Rješenje dualnog problema: y? = (0, 0, 0, 0, 100, 10, 60, 80, 60)T , z? = 13150.Kakva su značenja dualnih varijabli u ovom slučaju ?

Page 31: Kvantitativnemetodezaposlovnoodlučivanje IV. Linearno ...scitowsk/Kvantitativne/Materijali/LP.pdf · Kvantitativnemetodezaposlovnoodlučivanje∗ IV. Linearno programiranje Rudolf

Kvantitativne metode 31

Inputi Vrste mlijeka KapacitetiP1 P2 P3 P4 P5

Stroj S1 14 18 9 49 9 32000Stroj S2 2 10 1 26 1 35000Stroj S3 15 21 10 40 10 35000Stroj S4 6 0 9 0 18 30000

Tablica 10: Proizvodnja mliječnih proizvoda

Zadatak 4. (Martić, 1971) Na jednom stroju radeći 45 sati tjedno, mogu se proizvesti 3 različita pro-izvoda. Profit po proizvodima P1, P2, P3 je redom: 40, 120, 30. Za jedan sat rada stroj izradi 50 jedinicaproizvoda P1 ili 25 jedinica proizvoda P2 ili 75 jedinica proizvoda P3. Tržišna ograničenja proizvoda suredom: 1000, 500, 1500. Odredite tjedni optimalni proizvodni program koji će maksimizirati profit.

Rješenje primarnog problema:x? = (250, 500, 1500)T , z? = 115000.Formulirajte odgovarajući dualni LP-problem.Rješenje dualnog problema: y? = (2000, 0, 40, 3.333)T , z? = 115000.Kakva su značenja dualnih varijabli u ovom slučaju ?

Zadatak 5. (Martić, 1971) U nekom poduzeću proizvode se tri proizvoda P1, P2, P3 na bazi sirovina S1, S2prema niže navedenoj matrici tehnologije. Poduzeće mjesečno treba proizvesti barem 3 komada proizvodaP1, barem 5 komada proizvoda P2 i barem 4 komada proizvoda P3. Odredite optimalni proizvodni programkoji će minimizirati troškove proizvodnje.

S1 S2 KoličinaP1 1 1 3P2 1 5 5P3 2 1 4Cijene 25 20

z = min(25x1 + 20x2) uz uvjetex1 + x2 ≥ 3x1 + 5x2 ≥ 52x1 + x2 ≥ 4x1, x2 ≥ 0

Rješenje primarnog problema:x? = (1, 2)T , z? = 65.Formulirajte odgovarajući dualni LP-problem.Rješenje dualnog problema: y? = (15, 0, 5)T , z? = 65.Kakva su značenja dualnih varijabli u ovom slučaju ?

Primjer 17. (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 3m3, a po kutiji kratkih 1m3 drva;– Poduzeće godišnje raspolaže s 18× 100 000m3 drva;– Tržišna ograničenja za broj kutija dugih 7× 100 000 i kutija kratkih šibice 6× 100 000x1 – broj kutija dugih šibica u ×100 000

Page 32: Kvantitativnemetodezaposlovnoodlučivanje IV. Linearno ...scitowsk/Kvantitativne/Materijali/LP.pdf · Kvantitativnemetodezaposlovnoodlučivanje∗ IV. Linearno programiranje Rudolf

Kvantitativne metode 32

x2 – broj kutija kratkih šibica u ×100 000

max(3x1 + 2x2) uz uvjetex1 + x2 ≤ 9

3x1 + x2 ≤ 18x1 ≤ 7

x2 ≤ 6

x1, x2 ≥ 0

Rješenje: z? = 22.5 uz x?1 = x?

2 = 4.5.

1. Mijenja li se rješenje ako se uvede dodatno ograničenje da poduzeće u sljedećoj godini po ugovorumora proizvesti barem 5× 100 000 kutija bilo dugih bilo kratkih šibica ?

2. Kako se mijenja rješenje ako se promijeni funkcija cilja z = x1 + x2 ?

Primjer 18. (Neralić, 2003) Problem proizvodnje

Inputi Proizvodi KapacitetiP1 P2 resursa (bi)

Stroj S1 2 1 160Stroj S2 4 5 500Stroj S3 0 1 80

Profit (cj) 10 25

Tablica 11: Podaci o proizvodnji

max(10x1 + 25x2) uz uvjete2x1 + x2 ≤ 160

4x1 + 5x2 ≤ 500x2 ≤ 80

x1, x2 ≥ 0

Rješenje: x?1 = 25, x?

2 = 80, z? = 2250.Primjedba: Strojevi S2, S3 su u potpunosti iskorišteni, a stroj S1 ima slobodni kapacitet od 30 sati.Dualni problem:

min(160w1 + 500w2 + 80w3) uz uvjete2w1 + 4w2 ≥ 10w1 + 5w2 + w3 ≥ 25

w1, w2, w3 ≥ 0

Rješenje: w?1 = 0, w?

2 = 2.5, w?3 = 12.5, z? = 2250. (objasniti “dualne cijene”, “cijene u sjeni”, “oportu-

nitetni troskovi”)

Zadatak 6. Postavite LP za sljedeći problem proizvodnje

(a) Geometrijski riješite ovaj LP.

Page 33: Kvantitativnemetodezaposlovnoodlučivanje IV. Linearno ...scitowsk/Kvantitativne/Materijali/LP.pdf · Kvantitativnemetodezaposlovnoodlučivanje∗ IV. Linearno programiranje Rudolf

Kvantitativne metode 33

Inputi Proizvodi KapacitetiP1 P2 resursa (bi)

Stroj S1 3 2 12Stroj S2 5 2 10

Profit (cj) 1 0.5

Tablica 12: Podaci o proizvodnji

(b) Ako je kapacitet prvog stroja b1 = 10 fiksan, a kapacitet drugog stroja poraste na b′2 = 20, kako će

se promijeniti optimalno rješenje ? Što će se dogoditi ako je b2 > 20 ?

(c) Postavite, riješite i diskutirajte odgovarajući dualni problem.

Primjer 19. (Problem prehrane)(Martić, 1966; Neralić, 2003) Treba definirati program prehrane grupeljudi (primjerice vojske), tako da jelovnik bude raznolik, da sadrzava dovoljnu kolicinu potrebnih hranjivihsastojaka (bjelancevina, masti, vitamina, ugljikohidrata,. . . ), a da izdaci za sirovine budu minimalni;– H1, . . . ,Hn – prehrambeni artikli na tržištu– bj – tržišna cijena prehrambenog artikla Hj;– E1, . . . , En – hranjivi sastojci;– ci – minimalni zahtjev za hranjivim sastojkom Ei;– aij – količina hranjivog sastojka Ei u jednoj jedinici prehrambenog artikla Hj;– yj – količina prehrambenog artikla Hj;

Hranjivi H1 H2 . . . Hn Minimalnisastojci zahtjevi

E1 a11 a12 . . . a1n c1E2 a21 a22 . . . a2n c2. . . . . . . . . . . . . . . . . .Em am1 am2 . . . amn cm

Cijene: b1 b2 . . . bn

Tablica 13: Podaci o prehrani

miny1,...,yn

n∑j=1

bjyj uz uvjete

n∑j=1

yjaij ≥ ci, i = 1, . . . ,m,

y1, . . . , yn ≥ 0

Zadatak 7. Raspolažemo s dva prehrambena artikla: kruh i sir i kontroliramo samo dva hranjiva sastojka:kalorije i proteini. Poznato je da 1 lb5 kruha sadrži oko 1 000 kalorija i 25 g proteina, a 1 lb sira 2 000kalorija i 100 g proteina. Standardna hrana za 1 dan treba sadržavati barem 3 000 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 jedinooptimalno rješenje ? Koliki su minimalni troškovi ishrane ?

5lb: funta – pola kilograma

Page 34: Kvantitativnemetodezaposlovnoodlučivanje IV. Linearno ...scitowsk/Kvantitativne/Materijali/LP.pdf · Kvantitativnemetodezaposlovnoodlučivanje∗ IV. Linearno programiranje Rudolf

Kvantitativne metode 34

(b) Ako se cijena kruha poveća na 10.5 kn, a cijena sira ostane nepromijenjena, koliko se u tom slučajumože sastaviti optimalnih programa prehrane i koji su to programi ? Koliki su troškovi svakog odtih programa ?

(c) Pokažite da problem prehrane ima beskonačno mnogo rješenja ako je cijena kruha 6 kn, a sira 24kn 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 samokruh ako je p1 <

14p2, a samo sir ako je p1 >

12p2. U kojem intervalu mora biti cijena kruha p1,

da bi i kruh i sir bili u optimalnom programu ? U kojem odnosu su cijene kruha i sira u slučajupostojanja više optimalnih rješenja ?

(d) Formulirajte dualni problem i diskutirajte ga. Što su u ovom slučaju cijene u sjeni ?

Primjer 20. (Problem transporta)(Martić, 1966; Neralić, 2003) Iz m ishodišta (skladišta) neku robu trebatransportirati u n odredišta (trgovina), tako da ukupni transportni troškovi budu minimalni;– 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 bj;– xij – količina robe koju se namjerava prevesti iz ishodišta ai u odredište bj;

I/O b1 b2 . . . bn

a1 c11 c12 . . . c1n

a2 c21 c22 . . . c2n

. . . . . . . . . . . . . . .am cm1 cm2 . . . cmn

Tablica 14: Podaci o transportu

minxij

n∑j=1

m∑i=1

cijxij uz uvjete

n∑j=1

xij ≤ ai, i = 1, . . . ,m,

m∑i=1

xij ≥ bj , j = 1, . . . , n,

xij ≥ 0

Pokažite da vrijedin∑

j=1bj ≤

m∑i=1

ai

Zadatak 8. Konstruirajte jedno moguce rjesenje za problem transporta ako je(a) a1 = 10, a2 = 14, b1 = 3, b2 = 8, b3 = 9.(b) a1 = 10, a2 = 14, b1 = 5, b2 = 9, b3 = 10.

6 Povijesni pregledSmatra se da je potrebne osnove za rješavanje problema linearnog programiranja dao francuski matema-tičar J. B. J. Fourier 1827. godine u radu o rješavanju sustava linearnih nejednadžbi. Problem linearnog

Page 35: Kvantitativnemetodezaposlovnoodlučivanje IV. Linearno ...scitowsk/Kvantitativne/Materijali/LP.pdf · Kvantitativnemetodezaposlovnoodlučivanje∗ IV. Linearno programiranje Rudolf

Kvantitativne metode 35

programiranja formulirao je 1939. godine ruski matematičar L.V.Kantorovič, ali je to na Zapadu dugoostalo nepoznato. Tijekom II. svjetskog rata problem linearnog programiranja na razne načine koristiose u svrhu ratnih napora.

1947. godine G.B.Dantzig je predložio najvažniju metodu za rješavanje problema linearnog progra-miranja: Symplex Method za potrebe američkog ratnog zrakoplovstva, a 1951. objavio je tu metodu.

1975. godine ruski matematičar L.V.Kantorovič i nizozemski ekonomistom T.C. Koopman dobili suNobelovu nagradu za model linearnog programiranja u teoriji optimalne alokacije resursa. Dantzigov radsmatrao se previše matematičkim, a Nobelova nagrade se ne dodjeljuje za područje matematike.Primjedba 6. 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.