40
DUAL PROBLEMA LINEARNOG PROGRAMIRANJA (12.4.2017) Doc. dr. sc. Tunjo Perić 12.4.2017 1

DUAL PROBLEMA LINEARNOG PROGRAMIRANJA · 2019-09-25 · Dual problema linearnog programiranja (LP) • Svaki problem LP (primal) ima svoj dualni oblik (dual). • Poznavanje relacija

  • Upload
    others

  • View
    25

  • Download
    2

Embed Size (px)

Citation preview

Page 1: DUAL PROBLEMA LINEARNOG PROGRAMIRANJA · 2019-09-25 · Dual problema linearnog programiranja (LP) • Svaki problem LP (primal) ima svoj dualni oblik (dual). • Poznavanje relacija

DUAL PROBLEMA LINEARNOG

PROGRAMIRANJA

(12.4.2017)

Doc. dr. sc. Tunjo Perić

12.4.2017 1

Page 2: DUAL PROBLEMA LINEARNOG PROGRAMIRANJA · 2019-09-25 · Dual problema linearnog programiranja (LP) • Svaki problem LP (primal) ima svoj dualni oblik (dual). • Poznavanje relacija

Dual problema linearnog programiranja (LP)

• Svaki problem LP (primal) ima svoj dualni oblik (dual).

• Poznavanje relacija između primala i duala ključno je za

razumijevanje naprednih tema iz linearnog i nelinearnog

programiranja, a daje i interesantne ekonomske poglede kod analize

osjetljivosti.

• Ako je primal problem maksimuma, onda je njegov dual problem

minimuma, i obrnuto.

• Uobičajeno je da za problem maksimuma koristimo oznake z, x1,

x2, ... , xn, a za problem minimuma oznake w, y1, y2, ... , ym.

• Standardni problem maksimuma možemo pisati kao

12.4.2017 2

Page 3: DUAL PROBLEMA LINEARNOG PROGRAMIRANJA · 2019-09-25 · Dual problema linearnog programiranja (LP) • Svaki problem LP (primal) ima svoj dualni oblik (dual). • Poznavanje relacija

max z = c1x1 + c2x2 + ... + cnxn

p.o. a11x1 + a12x2 + ... + a1nxn b1

a21x1 + a22x2 + ... + a2nxn b2

.................................................

am1x1 + am2x2 + ... + amnxn bm

xj 0 (j = 1, 2, ... , n).

• Dual standardnog problema maksimuma možemo pisati kao:

min w = b1y1 + b2y2 + ... + bmym

a11y1 + a21y2 + ... + am1ym c1

a12y1 + a22y2 + ... + am2ym c2

..............................................

a1ny1 + a2ny2 + ... + amnym cn

yi 0 (i = 1, 2, ... , m).

(1)

(2)

12.4.2017 3

Page 4: DUAL PROBLEMA LINEARNOG PROGRAMIRANJA · 2019-09-25 · Dual problema linearnog programiranja (LP) • Svaki problem LP (primal) ima svoj dualni oblik (dual). • Poznavanje relacija

• Problem minimuma koji ima sva ograničenja , a sve varijable

nenegativne naziva se standardni problem minimuma, kao problem

(2). Dual standardnog problema minimuma je standardni problem

maksimuma, kao problem (1).

Nalaženje duala standardnog problema maksimuma ili minimuma

• Nalaženje duala problema LP je jednostavno ako se koristi tablični

način rješavanja problema LP.

• Ilustrirajmo tablični način nalaženja duala na primjeru 1 (prethodno

predavanje):

12.4.2017 4

Page 5: DUAL PROBLEMA LINEARNOG PROGRAMIRANJA · 2019-09-25 · Dual problema linearnog programiranja (LP) • Svaki problem LP (primal) ima svoj dualni oblik (dual). • Poznavanje relacija

max z = 30x1 + 20x2 + 10x3

p.o. 8x1 + 4x2 + x3 48

5x1 + 3x2 + 2x3 31

3x1 + 2x2 + x3 19

x2 3

x1, x2, x3 0.

• Dual prethodnog primarnog problema je

min w = 48y1 + 31y2 + 19y3 + 3y4

p.o. 8y1 + 5y2 + 3y3 30

4y1 + 3y2 + 2y3 + y4 20

y1 + 2y2 + y3 10

y1, y2, y3, y4 0.

12.4.2017 5

Page 6: DUAL PROBLEMA LINEARNOG PROGRAMIRANJA · 2019-09-25 · Dual problema linearnog programiranja (LP) • Svaki problem LP (primal) ima svoj dualni oblik (dual). • Poznavanje relacija

• Ako je standardni problem minimuma napisan kao

min w = 50y1 + 20y2 + 30y3 + 80y4

p.o. 400y1 + 200y2 + 150y3 + 500y4 500

3y1 + 2y2 6

2y1 + 2y2 + 4y3 + 4y4 10

2y1 + 4y2 + y3 + 5y4 8

y1, y2, y3, y4 0.

• Dual prethodnog primarnog problema je

max z = 500x1 + 6x2 + 10x3 + 8x4

p.o. 400x1 + 3x2 + 2x3 + 2x4 50

200x1 + 2x2 + 2x3 + 4x4 20

150x1 + 4x3 + x4 30

500x1 + 4x3 + 5x4 80

x1, x2, x3, x4 0

12.4.2017 6

Page 7: DUAL PROBLEMA LINEARNOG PROGRAMIRANJA · 2019-09-25 · Dual problema linearnog programiranja (LP) • Svaki problem LP (primal) ima svoj dualni oblik (dual). • Poznavanje relacija

Dual općeg problema LP

• Na žalost mnogi realni problemi ne mogu se napisati kao

standardni problemi maksimuma ili minimuma. Na primjer

max z = 4x1 + 3x2

p.o. 2x1 + 2x2 = 5

2x1 – x2 3

x1 – x2 1

x1 0, x2 je neograničeno

nije standardni problem maksimuma pošto ima jedno ograničenje

oblika jednakosti, jedno ograničenje oblika i jednu varijablu koja

je neograničena (nije ograničena na nenegativnost).

• Također, problem

(3)

12.4.2017 7

Page 8: DUAL PROBLEMA LINEARNOG PROGRAMIRANJA · 2019-09-25 · Dual problema linearnog programiranja (LP) • Svaki problem LP (primal) ima svoj dualni oblik (dual). • Poznavanje relacija

min w = 3y1 + 5y2 + 4y3

p.o. 3y1 + 6y2 + 2y3 5

3y1 – 2y3 2

y2 + y3 = 1

8y1 + 4y2 12

y1 je neograničeno, y2, y3 0.

• Da bismo odredili dual problema (3) potrebno ga je najprije napisati u

standardnom obliku, tj. sva ograničenja moraju biti oblika , a sve

varijable moraju biti ograničene na negativnost. Ograničenje oblika

pretvara se u ograničenje oblika množenjem lijeve i desne strane

ograničenja s (-1). Ograničenje oblika jednakosti treba napisati kao

dva ograničenja, jedno ograničenje će biti oblika , a drugo oblika .

Potom se ograničenje oblika pretvara u ograničenje množenjem s

(-1). Svaka neograničena varijabla xi zamjenjuje je s xi’ – xi’’, gdje su

xi’ 0 i xi’’ 0.

• Prema tome, imamo

(4)

12.4.2017 8

Page 9: DUAL PROBLEMA LINEARNOG PROGRAMIRANJA · 2019-09-25 · Dual problema linearnog programiranja (LP) • Svaki problem LP (primal) ima svoj dualni oblik (dual). • Poznavanje relacija

max z = 4x1 + 3x2’ – 3x2’’

p.o. 2x1 + 2x2’ – 2x2’’ 5

-2x1 – 2x2’ + 2x2’’ -5

-2x1 + x2’ – x2’’ -3

x1 - x2’ + x2’’ 1

x1, x2’, x2’’ 0.

• Iz ovako napisanog problema nije teško napisati dual, budući da se

ovdje radi o standardnom problemu maksimuma.

• Da bismo napisali dual problema (4) potrebno je problem

minimuma napisan u općem obliku napisati kao standardni

problem minimuma, koji ima sva ograničenja oblika .

Ograničenja oblika pretvaraju se u oblik množenjem lijeve i

desne strane ograničenja s (-1). Kao i kod općeg problema za

maksimum, umjesto ograničenja oblika jednakosti treba napisati

dva ograničenja, jedno oblika , a drugo oblika , s tim da se

ovdje ograničenje oblika množi s (-1) i pretvara u ograničenje

oblika .

12.4.2017 9

Page 10: DUAL PROBLEMA LINEARNOG PROGRAMIRANJA · 2019-09-25 · Dual problema linearnog programiranja (LP) • Svaki problem LP (primal) ima svoj dualni oblik (dual). • Poznavanje relacija

• I ovdje se svaka neograničena varijabla yi zamjenjuje je s yi’ – yi’’,

gdje su yi’ 0 i yi’’ 0.

• Prema tome, imamo

min w = 3y1’ – 3y1’’ + 5y2 + 4y3

p.o. 3y1’– 3y1’’ + 6y2 + 2y3 5

3y1’ – 3y1’’ – 2y3 2

y2 + y3 1

-y2 – y3 -1

8y1’ - 8y1’’ + 4y2 12

-8y1’ + 8y1’’ – 4y2 -12

y1’, y1’’, y2, y3 0.

Iz problema minimuma napisanog u standardnom obliku

jednostavno je napisati njegov dual.

12.4.2017 10

Page 11: DUAL PROBLEMA LINEARNOG PROGRAMIRANJA · 2019-09-25 · Dual problema linearnog programiranja (LP) • Svaki problem LP (primal) ima svoj dualni oblik (dual). • Poznavanje relacija

Dualni teorem i njegove konsekvence

• Pretpostavimo da je primal standardni problem maksimuma s m

ograničenja i n varijabli. Onda će njegov dual biti standardni

problem minimuma s m varijabli i n ograničenja.

• Primal i dual se mogu napisati kako slijedi:

max z = c1x1 + c2x2 + … + cnxn

p.o. a11x1 + a12x2 + … + a1nxn b1

a21x1 + a22x2 + … + a2nxn b2

………………………………

ai1x1 + ai2x2 + … + ainxn bi

………………………………………………

am1x1 + am2x2 + … + amnxn bm

xj 0 (j = 1, 2, … , n)

Primarni problem (5)

12.4.2017 11

Page 12: DUAL PROBLEMA LINEARNOG PROGRAMIRANJA · 2019-09-25 · Dual problema linearnog programiranja (LP) • Svaki problem LP (primal) ima svoj dualni oblik (dual). • Poznavanje relacija

min w = b1y1 + b2y2 + … + bmym

a11y1 + a21y2 + … + am1ym c1

a12y1 + a22y2 + … + am2ym c2

………………………………

a1jy1 + a2jy2 + … + amjym cj

………………………………….

a1ny1 + a2ny2 + … + amnym cn

yi 0 (i =1, 2, … , m).

Oslabljena dualnost

• Ako izaberemo bilo koje dopustivo rješenje duala, w-vrijednost za

dopustivo rješenje duala bit će najmanje toliko velika kolika je

z-vrijednost za dopustivo rješenje primala. Ovaj je rezultat

formalno prikazan u lemi 1.

Dualni problem (6)

12.4.2017 12

Page 13: DUAL PROBLEMA LINEARNOG PROGRAMIRANJA · 2019-09-25 · Dual problema linearnog programiranja (LP) • Svaki problem LP (primal) ima svoj dualni oblik (dual). • Poznavanje relacija

• Lema 1. Oslabljena dualnost (prema W. L. Winston, Operations

Research, Thomson Books/Cole, 2004.)

Neka

bude bilo koje moguće rješenje primala a y = [y1, y2, … , ym] neka

bude bilo koje moguće rješenje duala. Onda je

(z-vrijednost za x) (w-vrijednost za y).

Dokaz. Pošto je yi 0, množeći i-to ograničenje primala iz (5) sa yi

dolazimo do sljedeće važeće nejednakosti:

yiai1x1 + yiai2x2 + … + yiainxn biyi (i = 1, 2, …, m).

Sumirajući m nejednakosti u (7), nalazimo da je

1

2x

n

x

x

x

(7)

1 1 1

m n m

i ij j i i

i j i

y a x b y

(8)

12.4.2017 13

Page 14: DUAL PROBLEMA LINEARNOG PROGRAMIRANJA · 2019-09-25 · Dual problema linearnog programiranja (LP) • Svaki problem LP (primal) ima svoj dualni oblik (dual). • Poznavanje relacija

Pošto je xj 0, množenje j-tog dualnog ograničenja u (6) sa xj daje

sljedeću važeću nejednakost:

xja1jy1 + xja2jy2 + … + xjamjym cjxj (j = 1, 2, …, n).

Zbrajanjem n nejednakosti iz (9) dobivamo

Kombiniranjem (8) i (10) dobivamo

što je željeni rezultat.

• Ako je raspoloživo moguće rješenje primala, oslabljena se

dualnost može koristiti za dobivanje granice na optimalnu

vrijednost funkcije cilja dualnog problema i obrnuto.

(9)

1 1 1

.m n n

i ij j j j

i j j

y a x c x

(10)

1 1 1 1

n m n m

j j i ij j i i

j i j i

c x y a x b y

12.4.2017 14

Page 15: DUAL PROBLEMA LINEARNOG PROGRAMIRANJA · 2019-09-25 · Dual problema linearnog programiranja (LP) • Svaki problem LP (primal) ima svoj dualni oblik (dual). • Poznavanje relacija

• Na primjer, lako se vidi da je u primjeru 1 moguće rješenje primala

x1 = x2 = x3 = 1. Ovo rješenje ima z-vrijednost 30 + 20 + 10 = 60.

Oslabljena dualnost sada implicira da za bilo koje moguće rješenje

duala (y1, y2, y3), mora vrijediti

48y1 + 31y2 + 19y3 + 3y4 60.

Pošto je dual problem minimuma, i bilo koje dualno moguće

rješenje mora imati w 60, to znači da je optimalna w-vrijednost za

dual 60. A to pak znači da oslabljena dualnost omogućuje

korištenje bilo kojeg primarnog mogućeg rješenja pri određivanju

granice optimalne vrijednosti funkcije cilja duala.

Analogno, možemo uzeti bilo koje moguće rješenje duala da bi

odredili granicu na optimalnu vrijednost funkcije cilja primala.

• Na primjer, promatrajući dual primjera 1 možemo vidjeti da je y1 =

10, y2 = 10, y3 = 0 i y4 = 0 moguće rješenje duala. Ovo rješenje

duala ima vrijednost funkcije cilja 48(10) + 31(10) + 19(0) + 3(0) =

790. Iz oslabljene dualnosti vidimo da bilo koje moguće rješenje

primala

12.4.2017 15

Page 16: DUAL PROBLEMA LINEARNOG PROGRAMIRANJA · 2019-09-25 · Dual problema linearnog programiranja (LP) • Svaki problem LP (primal) ima svoj dualni oblik (dual). • Poznavanje relacija

mora zadovoljavati

30x1 + 20x2 + 10x3 790.

Pošto je primal problem maksimuma a svako moguće rješenje

primala ima z 790, možemo zaključiti da je optimalna vrijednost

funkcije cilja primala 790.

• Ako definiramo

1

2

3

x

x

x

1

2

1 2b i c ... n

m

b

bc c c

b

12.4.2017 16

Page 17: DUAL PROBLEMA LINEARNOG PROGRAMIRANJA · 2019-09-25 · Dual problema linearnog programiranja (LP) • Svaki problem LP (primal) ima svoj dualni oblik (dual). • Poznavanje relacija

onda za točku

vrijednost funkcije cilja primala može se napisati kao cx, a za točku

[y1, y2, … , yn] vrijednost funkcije cilja duala može se napisati kao

yb.

• Lema 2. (Winston, Operations Research, 2004) Neka je

moguće rješenje primala, a moguće rješenje

duala.

1

2x

n

x

x

x

1

2x

n

x

x

x

1 2y ...

my y y 12.4.2017 17

Page 18: DUAL PROBLEMA LINEARNOG PROGRAMIRANJA · 2019-09-25 · Dual problema linearnog programiranja (LP) • Svaki problem LP (primal) ima svoj dualni oblik (dual). • Poznavanje relacija

Ako je onda je optimalno rješenje primala, a

optimalno rješenje duala.

Dokaz. Iz oslabljene dualnosti znamo da za bilo koje moguće

rješenje primala x,

Prema tome, bilo koje moguće rješenje primala mora dati z-

vrijednost koja ne premašuje Pošto je moguće rješenje

primala i ima vrijednost funkcije cilja primala od mora

biti optimalno rješenje primala. Slično, pošto je moguće rješenje

primala, oslabljena dualnost implicira da za bilo koje moguće

rješenje y,

Prema tome, bilo koje moguće rješenje duala daje vrijednost

funkcije cilja koja nadmašuje

Pošto je moguće rješenje duala a ima vrijednost funkcije cilja

duala mora biti optimalno rješenje duala.

cx yb, x y

cx yb.

yb. x

cx yb, x

x

cx yb.

cx.

y

yb cx, y12.4.2017 18

Page 19: DUAL PROBLEMA LINEARNOG PROGRAMIRANJA · 2019-09-25 · Dual problema linearnog programiranja (LP) • Svaki problem LP (primal) ima svoj dualni oblik (dual). • Poznavanje relacija

Dualni teorem (Winston, Operations Research, 2004)

• Oslabljena dualnost se može koristiti za dokazivanje sljedećih

rezultata:

Lema 3. Ako je primal neograničen, onda je dualni problem

nemoguć. Dokaz ne izvodimo.

Lema 4. Ako je dual neograničen, onda je primal nemoguć. Dokaz

ne izvodimo.

• Leme 3 i 4 opisuju relacije između primala i duala u dva relativno

beznačajna slučaja, koji su od ograničenog interesa.

• Mi smo primarno zainteresirani za relacije između primala i duala

kad primal ima optimalno rješenje. Neka je = optimalna

vrijednost funkcije cilja primala, a optimalna vrijednost funkcije

cilja duala. Ako primal ima optimalno rješenje, onda dualni teorem

opisuje relacije između primala i duala.

z

w

12.4.2017 19

Page 20: DUAL PROBLEMA LINEARNOG PROGRAMIRANJA · 2019-09-25 · Dual problema linearnog programiranja (LP) • Svaki problem LP (primal) ima svoj dualni oblik (dual). • Poznavanje relacija

• Teorem 1. (Dualni teorem)

Pretpostavimo da je BV optimalna baza za primal. Onda je cBVB-1

optimalno rješenje duala. Također je

Dokaz. Argument korišten u dokazivanju Dualnog teorema

uključuje sljedeće korake:

1. Koristi se činjenica da je BV optimalna baza za primal da se

pokaže da je cBVB-1 moguće rješenje duala.

2. Pokazati da je optimalna vrijednost funkcije cilja primala =

vrijednost funkcije cilja duala za cBVB-1.

3. Pronašli smo da moguće rješenje primala (iz BV) i moguće

rješenje duala (cBVB-1) imaju jednaku vrijednost funkcija cilja. Iz

Leme 2 zaključujemo da je cBVB-1 optimalno za dual i

Sada verificiramo korak 1 za slučaj gdje je primal standardni

problem maksimuma s n varijabli i m ograničenja. Nakon

dodavanja dopunskih varijabli s1, s2, … , sm primalu, primarni i

dualni problem izgledaju kako slijedi:

.z w

.z w

12.4.2017 20

Page 21: DUAL PROBLEMA LINEARNOG PROGRAMIRANJA · 2019-09-25 · Dual problema linearnog programiranja (LP) • Svaki problem LP (primal) ima svoj dualni oblik (dual). • Poznavanje relacija

max z = c1x1 + c2x2 + … + cnxn

p.o. a11x1 + a12x2 + … + a1nxn + s1 = b1

a21x1 + a22x2 + … + a2nxn + s2 = b2

……………………………………………….

am1x1 + am2x2 + … + amnxn + sm = bm

xj 0 (j = 1, 2, … , n); si 0 (i = 1, 2, … , m).

min w = b1y1 + b2y2 + … + bmym

a11y1 + a21y2 + … + am1ym c1

a12y1 + a22y2 + … + am2ym c2

………………………………….

a1ny1 + a2ny2 + … + amnym cn

yi 0 (i =1, 2, … , m).

(11)

Primarni

problem

(12)Dualni

problem

12.4.2017 21

Page 22: DUAL PROBLEMA LINEARNOG PROGRAMIRANJA · 2019-09-25 · Dual problema linearnog programiranja (LP) • Svaki problem LP (primal) ima svoj dualni oblik (dual). • Poznavanje relacija

Neka je BV optimalna baza za primal, a definirajmo cBVB-1 = [y1,

y2, ... , ym]. Prema tome, za optimalnu bazu BV, yi je i-ti element od

cBVB-1. BV je optimalno za primal, stoga koeficijent svake varijable

u retku 0 primarne tablice BV mora biti nenegativan. Koeficijent

uz xj u retku 0 BV tablice dan je kao

Znamo da je pa je za j = 1, 2, ... , n,

Dakle, cBVB-1 zadovoljava svako od n ograničenja duala.

jc

1c aj BV j jc B c

1

2

1 2 ...

j

j

m j

mj

a

ay y y c

a

1 1 2 2 ...j j m mj jy a y a y a c

0,jc

1 1 2 2 ... 0.j j m mj jy a y a y a c

12.4.2017 22

Page 23: DUAL PROBLEMA LINEARNOG PROGRAMIRANJA · 2019-09-25 · Dual problema linearnog programiranja (LP) • Svaki problem LP (primal) ima svoj dualni oblik (dual). • Poznavanje relacija

Pošto je BV optimalna baza primala, znamo da svaka dopunska

varijabla ima nenegativan koeficijent u BV tablici primala. Znamo

također da je yi jednak koeficijentu uz si u retku 0 BV tablice, tj. yi

je i-ti element od cBVB-1. Stoga je za i = 1, 2, ... , m, yi 0. Pokazali

smo da su cBVB-1 zadovoljava svih n ograničenja u (12) i da su svi

elementi cBVB-1 nenegativni. Dakle, cBVB-1 je zaista dualno moguće.

Korak 2 dokaza dualnog teorema zahtijeva da pokažemo da je:

vrijednost funkcije cilja duala za cBVB-1 = vrijednost funkcije cilja

primala za BV

Znamo da je vrijednost funkcije cilja primala za BV jednaka

cBVB-1b. A vrijednost funkcije cilja duala za dualno moguće rješenje

cBVB-1 je

(13)

1

2 1

1 1 2 2 1 2... ... c b.m m m BV

m

b

bb y b y b y y y y B

b

12.4.2017 23

Page 24: DUAL PROBLEMA LINEARNOG PROGRAMIRANJA · 2019-09-25 · Dual problema linearnog programiranja (LP) • Svaki problem LP (primal) ima svoj dualni oblik (dual). • Poznavanje relacija

Prema tome, relacija (13) vrijedi.

• Propozicija 1.

Kad nađemo optimalno rješenje primala upotrebom simpleks

algoritma, također smo pronašli i optimalno rješenje duala.

Pretpostavimo da je primal standardni problem maksimuma s m

ograničenja. Korištenjem simpleks metode za rješavanje ovog

problema, moramo dodati dopunske varijable si ograničenjima

primala. Pretpostavimo da je BV optimalna baza za primal. Onda

nam dualni teorem kaže da je cBVB-1 = [y1, y2, ... , ym] optimalno

rješenje duala. Pokazali smo da je yi koeficijent uz si u retku 0

optimalne BV tablice primala. Dakle, pokazali smo da ako je

primal standardni problem maksimuma, onda je koeficijent uz si u

retku 0 optimalne tablice primala optimalna vrijednost i-te dualne

varijable.

12.4.2017 24

Page 25: DUAL PROBLEMA LINEARNOG PROGRAMIRANJA · 2019-09-25 · Dual problema linearnog programiranja (LP) • Svaki problem LP (primal) ima svoj dualni oblik (dual). • Poznavanje relacija

• Ako primal ima ograničenja oblika ili = , onda se optimalna

vrijednost duala nalazi na sljedeći način:

ako je ograničenje oblika , onda je optimalna vrijednost dualne

varijable yi jednaka koeficijentu uz dopunsku varijablu si u retku 0,

ako je ograničenje oblika , onda je optimalna vrijednost dualne

varijable yi jednaka koeficijentu uz dopunsku varijablu ei u retku 0

ali znakom –,

ako je ograničenje oblika (=), onda je optimalna vrijednost dualne

varijable yi jednaka koeficijentu uz artificijelnu varijablu ai, od

kojeg treba oduzeti M (kod problema minimuma treba dodati M).

Odavde slijedi da dualna varijabla yi kod ograničenja oblika (=)

može biti ili .

0 0

12.4.2017 25

Page 26: DUAL PROBLEMA LINEARNOG PROGRAMIRANJA · 2019-09-25 · Dual problema linearnog programiranja (LP) • Svaki problem LP (primal) ima svoj dualni oblik (dual). • Poznavanje relacija

Ekonomska interpretacija duala - cijene u sjeni (Shadow Prices)

• Definicija 1. Cijena u sjeni i-tog ograničenja je iznos za koji se

poboljšava z-vrijednost (povećava u problemu maksimuma a

smanjuje u problemu minimuma) ako povećamo bi za 1 (sa bi na bi

+ 1). Ovo pretpostavlja da nakon promjene desne strane i-tog

ograničenja sa bi na bi + 1 tekuća baza i dalje ostaje optimalna.

• Cijena u sjeni i-tog ograničenja problema maksimuma je optimalna

vrijednost i-te dualne varijable. Cijene u sjeni su dualne varijable,

tako da znamo da će cijena u sjeni za ograničenje oblika biti

nenegativna, za ograničenje oblika bit će nepozitivna, a za

ograničenje oblika (=) bit će bez restrikcija u znaku.

• Za minimizacijski problem, cijena u sjeni i-tog ograničenja je iznos

za koji jedinična promjena i-tog ograničenja poboljšava ili

pogoršava optimalnu z-vrijednost uz pretpostavku da tekuća baza

ostaje optimalna. Može se pokazati da je cijena u sjeni i-tog

ograničenja problema minimuma = -(optimalna vrijednost i-te

dualne varijable).

12.4.2017 26

Page 27: DUAL PROBLEMA LINEARNOG PROGRAMIRANJA · 2019-09-25 · Dual problema linearnog programiranja (LP) • Svaki problem LP (primal) ima svoj dualni oblik (dual). • Poznavanje relacija

• U funkciji cilja duala

w = b1y1 + b2y2 + ... + bmym

svaki biyi možemo interpretirati kao doprinos profitu po jedinici

resursa i raspoloživih za primarni problem.

• Dualna varijabla yi interpretira se kao doprinos profitu po jedinici

resursa i (i = 1, ..., m), kad je tekući skup bazičnih varijabli korišten

za dobivanje primarnog rješenja. Drugim riječima yi su upravo

cijene u sjeni.

• Dakle yi* možemo interpretirati kao doprinos profitu po jedinici

resursa i kad se koristi optimalno rješenje.

• Budući da aktivnost j u primarnom problemu troši aij jedinica

resursa i,

interpretira se kao tekući doprinos profitu miksa resursa koji bi bili

potrošeni kad bi se koristila jedna jedinica aktivnosti j (j = 1, ..., n).

12.4.2017 27

1

m

ij i

i

a y

Page 28: DUAL PROBLEMA LINEARNOG PROGRAMIRANJA · 2019-09-25 · Dual problema linearnog programiranja (LP) • Svaki problem LP (primal) ima svoj dualni oblik (dual). • Poznavanje relacija

• Za svaku aktivnost j, ovaj isti miks resursa vjerojatno bi se mogao

koristiti na druge načine, ali ni jedna alternativna upotreba ne bi

trebala biti razmatrana ako je manje profitabilna od jedne jedinice

aktivnosti j.

• Budući da se cj interpretira kao jedinični profit od aktivnosti j,

svako funkcionalno ograničenje u dualnom problemu interpretira

se kako slijedi:

kaže nam da tekući doprinos profitu gornjeg miksa

resursa mora biti najmanje jednak doprinosu profitu jedne jedinice

aktivnosti j. U protivnom ne bismo imali najbolju moguću

upotrebu tih resursa.

• yi 0 govori nam da doprinos profitu resursa i (i = 1, ..., m) mora

biti nenegativan; u protivnom bilo bi bolje ne koristiti taj resurs.

• interpretira se kao minimizacija ukupne implicitne

vrijednosti resursa potrošenih na aktivnosti.12.4.2017 28

1

m

ij i i

i

a y c

1

m

i i

i

w b y

Page 29: DUAL PROBLEMA LINEARNOG PROGRAMIRANJA · 2019-09-25 · Dual problema linearnog programiranja (LP) • Svaki problem LP (primal) ima svoj dualni oblik (dual). • Poznavanje relacija

Neke značajne formule

• Ovdje ćemo pokazati kako se optimalna simpleks tablica može

izraziti primjenom matričnog računa. Ovdje razvijene formule

koristit će se u analizi osjetljivosti i definiranju dualnog problema

LP.

• Pretpostavimo da rješavamo problem maksimuma napisan u

kanonskom obliku s m ograničenja i n varijabli. Neke varijable

mogu biti dopunske, varijable viška ili umjetne. Međutim, mi smo

ih označili s x1, x2, ..., xn.

• Onda, problem LP možemo napisati kao

12.4.2017 29

1 1 2 2

11 1 12 2 1 1

21 1 22 2 2 2

1 1 2 2

max ...

p.o. ...

...

...........................................

...

n n

n n

n n

m m mn n m

z c x c x c x

a x a x a x b

a x a x a x b

a x a x a x b

1 2 , ,..., 0nx x x

(1)

Page 30: DUAL PROBLEMA LINEARNOG PROGRAMIRANJA · 2019-09-25 · Dual problema linearnog programiranja (LP) • Svaki problem LP (primal) ima svoj dualni oblik (dual). • Poznavanje relacija

• Primjer: Poduzeće “X” proizvodi 3 proizvoda, označena s A, B i C.

Za proizvodnju proizvoda A, B i C potrebno je 1, 2 i 1 m3 sirovine,

respektivno. Za proizvodnju proizvoda A, B i C potrebno je utrošiti

2, 1 i 2 sata rada radnika, respektivno. Nema ograničenja prodaje

proizvoda A i C, dok se najviše može prodati 4 proizvoda B.

Dnevno je raspoloživo 12 m3 sirovine i 16 sati rada radnika. Neto

dobit po proizvodima A, B i C iznosi 400, 600 i 300 kn,

respektivno.

Odrediti optimalni plan dnevne proizvodnje.

• Rješenje: xi = dnevno proizvedena količina proizvoda i (i = 1, 2, 3)

12.4.2017 30

1 2 3

1 2 3

1 2 3

2

1 2 3

max 400 600 300

p.o. 2 12

2 2 18

4

, , 0

z x x x

x x x

x x x

x

x x x

(2)

Page 31: DUAL PROBLEMA LINEARNOG PROGRAMIRANJA · 2019-09-25 · Dual problema linearnog programiranja (LP) • Svaki problem LP (primal) ima svoj dualni oblik (dual). • Poznavanje relacija

• Kanonski oblik modela (2) izgleda kako slijedi

• Tablica 1. Početna simpleks tablica

12.4.2017 31

1 2 3 1 2 3

1 2 3 1

1 2 3 2

2

max 400 600 300 0 0 0

p.o. 2 =12

2 2 =18

z x x x s s s

x x x s

x x x s

x

3

1 2 3 1 2 3

=4

, , , , , 0

s

x x x s s s

z x1 x2 x3 s1 s2 s3 bi

1 -400 -600 -300 0 0 0 0

0 1 2 1 1 0 0 12

0 2 1 2 0 1 0 18

0 0 1 0 0 0 1 4

Page 32: DUAL PROBLEMA LINEARNOG PROGRAMIRANJA · 2019-09-25 · Dual problema linearnog programiranja (LP) • Svaki problem LP (primal) ima svoj dualni oblik (dual). • Poznavanje relacija

• Tablica 1. Optimalna simpleks tablica

• Dakle, z = 4400, x1 = 8, x2 = 2, s3 = 2, x3 = s1 = s2 = 0.

• Neka BVi bude bazična vaijabla za redak i optimalne tablice.

• Ako je BV = {BV1, BV2, ..., BVm} skup bazičnih varijabli u

optimalnoj tablici, onda možemo definirati m x 1 vektor

12.4.2017 32

z x1 x2 x3 s1 s2 s3 bi

1 0 0 100 266.67 66.67 0 4400

0 1 0 1 -0.33 0.67 0 8

0 0 0 0 -0.67 0.33 1 2

0 0 1 0 0.67 -0.33 0 2

Page 33: DUAL PROBLEMA LINEARNOG PROGRAMIRANJA · 2019-09-25 · Dual problema linearnog programiranja (LP) • Svaki problem LP (primal) ima svoj dualni oblik (dual). • Poznavanje relacija

• Također definirajmo

NBV = skup nebazičnih varijabli u optimalnoj tablici

xNBV = (n – m) x 1 vektor nebazičnih varijabli.

• U našoj optimalnoj tablici BV1 = x1, BV2 = s3, BV3 = x2. Dakle,

• NBV = {x3, s1, s2}. Onda je12.4.2017 33

1

2

BVx .

m

BV

BV

BV

x

x

x

1

BV 3

2

x .

x

s

x

Page 34: DUAL PROBLEMA LINEARNOG PROGRAMIRANJA · 2019-09-25 · Dual problema linearnog programiranja (LP) • Svaki problem LP (primal) ima svoj dualni oblik (dual). • Poznavanje relacija

• Izrazimo optimalnu tablicu u uvjetima BV i originalnog problema

(1). Najprije definirajmo sljedeće.

• cBV = 1 x m vektor [cBV1, cBV2, ..., cBVm].

• cNBV = 1 x (n – m) vektor koeficijenata nebazičnih varijabli.

• B = m x m matrica čiji j-ti stupac je stupac za BVj u (1).

Za naš problem

12.4.2017 34

3

NBV 1

2

x .

x

s

s

1 0 2

2 0 1 .

0 1 1

B

Page 35: DUAL PROBLEMA LINEARNOG PROGRAMIRANJA · 2019-09-25 · Dual problema linearnog programiranja (LP) • Svaki problem LP (primal) ima svoj dualni oblik (dual). • Poznavanje relacija

• aj = stupac (u ograničenjima) uz varijablu xj u (1). Na primjer, u

našem primjeru

• N = m x (n – m) matrica čiji su stupci koeficijenti iz ograničenja uz

nebazične varijable. U našem primjeru

• b = m x 1 vektor stupac koji čine koeficijenti na desnoj strani

ograničenja. Kod nas je

12.4.2017 35

2

2

a 1 .

1

1 1 0

2 0 1 .

0 0 0

N

12

b 8 .

4

Page 36: DUAL PROBLEMA LINEARNOG PROGRAMIRANJA · 2019-09-25 · Dual problema linearnog programiranja (LP) • Svaki problem LP (primal) ima svoj dualni oblik (dual). • Poznavanje relacija

• Model (1) možemo napisati na sljedeći način:

z = cBVxBV + cNBVxNBV

p.o. BxBV + NxNBV = b

xBV, xNBV 0.

• Analogno, naš primjer možemo napisati kao

12.4.2017 36

1 3

3 1

2 2

max 400 0 600 300 0 0

x x

z s s

x s

1 3

3 1

2 2

1 0 2 1 1 0 12

p.o. 2 0 1 2 0 1 18

0 1 1 0 0 0 4

x x

s s

x s

1 3

3 1

2 2

0 0

0 , 0 .

0 0

x x

s s

x s

(3)

Page 37: DUAL PROBLEMA LINEARNOG PROGRAMIRANJA · 2019-09-25 · Dual problema linearnog programiranja (LP) • Svaki problem LP (primal) ima svoj dualni oblik (dual). • Poznavanje relacija

• Množenjem ograničenja modela (3) s B-1 dobivamo

B-1BxBV + B-1NxNBV = B-1b, ili xBV + B-1NxNBV = B-1b.

Gaussovim postupkom izračunali smo

• Iz (4) dobivamo

ili

12.4.2017 37

(4)

1

0.33 0.67 0

0.67 0.33 1 .

0.67 0.33 0

B

1 3

3 1

2 2

0.33 0.67 0 1 1 0 0.33 0.67 0 12

0.67 0.33 1 2 0 1 0.67 0.33 1 18

0.67 0.33 0 0 0 0 0.67 0.33 0 4

x x

s s

x s

1 3

3 1

2 2

1 0.33 0.67 8

0 0.67 0.33 2

0 0.67 0.33 2

x x

s s

x s

Page 38: DUAL PROBLEMA LINEARNOG PROGRAMIRANJA · 2019-09-25 · Dual problema linearnog programiranja (LP) • Svaki problem LP (primal) ima svoj dualni oblik (dual). • Poznavanje relacija

• Iz prethodnog zaključujemo sljedeće:

• Stupac za xj u ograničenjima optimalne tablice = B-1aj

• Desna strana ograničenja optimalne tablice = B-1b.

• U našem primjeru stupac za x3 = B-1a3:

• Sada ćemo pokazati kako se redak 0 izražava kroz BV i originalni

LP (1). Za početak pomnožimo ograničenja (izražena u obliku

BxBV + NxNBV = b) s vektorom cBVB-1:

cBVxBV + cBVB-1NxNBV = cBVB-1b,

a originalnu funkciju cilja napišimo u obliku

z – cBVxBV – cNBVxNBV = 0

12.4.2017 38

(5)

(6)

0.33 0.67 0 1 1

0.67 0.33 1 2 0 .

0.67 0.33 0 0 0

(7)

(8)

Page 39: DUAL PROBLEMA LINEARNOG PROGRAMIRANJA · 2019-09-25 · Dual problema linearnog programiranja (LP) • Svaki problem LP (primal) ima svoj dualni oblik (dual). • Poznavanje relacija

• Zbrajanjem (7) i (8) dobivamo

z + (cBVB-1N – cNBV)xNBV = cBVB-1b.

• Iz (9), koeficijent od xj u retku 0 je

cBVB-1 (stupac od N za xj) – (koeficijent uz xj u cNBV) = cBVB-1aj – cj,

a desna strana retka 0 je cBVB-1b.

• Neka

i

desna strana optimalne tablice retka 0 = cBVB-1b.

Kod nas je cBVB-1 = [266.67, 66.67, 0], a koeficijent uz nebazičnu

varijablu x3

12.4.2017 39

(9)

_1c aj BV j jc B c (10)

(11)

_

13 3 3

1

a 266.67 66.67 0 2 300 400 300 100.

0

BVc c B c

Page 40: DUAL PROBLEMA LINEARNOG PROGRAMIRANJA · 2019-09-25 · Dual problema linearnog programiranja (LP) • Svaki problem LP (primal) ima svoj dualni oblik (dual). • Poznavanje relacija

12.4.2017 40

_

14 4 4

1

a 266.67 66.67 0 0 0 266.67.

0

BVc c B c

_

15 5 5

0

a 266.67 66.67 0 1 0 66.67.

0

BVc c B c

_

16 6 6

0

a 266.67 66.67 0 0 0 0.

1

BVc c B c

Dakle, iz retka 0 direktno isčitavamo vrijednosti dualnih varijabli.

U našem primjeru je y1 = 266.67, y2 = 66.67, y3 = 0.