Professional Documents
Culture Documents
Dualni Problem+osjetljivost
Dualni Problem+osjetljivost
PROGRAMIRANJA
ANALIZA OSJETLJIVOSTI
28.03. i 04.04.2012.
n k l m
z c j x j max z ' bi yi by by i i i i min
j 1 i 1 i k 1 i l 1
n
a x j bi , i 1,..., k k l m
a a a
ij
j 1
ij yi ij yi ij yi c j ,
n i 1 i k 1 i l 1
a
j 1
ij x j bi , i k 1,..., l j 1,..., n,
n yi 0, i 1,..., k ,
a
j 1
ij x j bi , i l 1,..., m yi 0, i k 1,..., l ,
yi 0, i l 1,..., m .
x j 0, j 1,..., n.
n k l m
z c j x j min z ' bi yi by by i i i i max
j 1 i 1 i k 1 i l 1
n
a x j bi , i 1,..., k k l m
a a a
ij
j 1
ij yi ij yi ij yi c j ,
n i 1 i k 1 i l 1
a
j 1
ij x j bi , i k 1,..., l j 1,..., n,
n yi 0, i 1,..., k ,
a
j 1
ij x j bi , i l 1,..., m yi 0, i k 1,..., l ,
yi 0, i l 1,..., m .
x j 0, j 1,..., n.
n
z c j x j max
k l
z ' bi y '
i bi yi'
j 1 i 1 i k 1
n l m
aij x j bi , i 1,..., k
j 1
bi yi'' i i min
b y '
i k 1 i l 1
n k l
aij x j bi , i k 1,..., l ij i
a
i 1
y '
i k 1
aij yi'
j 1
l m
aij y ij i c j , j 1,..., n
n
aij x j bi , i k 1,..., l
'' '
i a y
j 1 i k 1 i l 1
n yi' 0, i 1,..., m
aij x j bi , i l 1,..., m
j 1 yi'' 0, i k 1,..., l .
x j 0, j 1,..., n.
Veze između dualnih varijabli netransformiranog i
transformiranog primarnog problema su sljedeće:
yi yi' , i 1,..., k
yi yi' yi'' , i k 1,..., l
yi yi' , i l 1,..., m
n
z c j x j min
k l
z ' bi y '
i bi yi'
j 1 i 1 i k 1
n l m
aij x j bi , i 1,..., k bi yi'' i i max
b y '
j 1 i k 1 i l 1
n k l
n yi' 0, i 1,..., m
a
j 1
ij x j bi , i l 1,..., m
yi'' 0, i k 1,..., l .
x j 0, j 1,..., n.
Veze između dualnih varijabli netransformiranog i
transformiranog primarnog problema za minimum su sljedeće:
yi yi' , i 1,..., k
yi yi' yi'' , i k 1,..., l
yi yi' , i l 1,..., m
S1 1 1 6
S2 2 1 10
S3 - 1 4
Dobit ($/kom) 3 2
x1, x2 – količina dnevne proizvodnje proizvoda A1 i A2, respektivno
z 3 x1 2 x2 max z 3 x1 2 x2 0 ( x3 x4 x5 ) max
x1 x2 6 x1 x2 x3 6
2 x1 x2 10 2 x1 x2 x4 10
x2 4 x2 x5 4
x1 , x2 0 x1 ,..., x5 0
Početna simpleks tablica
cj 3 2 0 0 0
ci Baza x0 x1 x2 x3 x4 x5
0 x3 6 1 1 1 0 0
0 x4 10 2 1 0 1 0
0 x5 4 0 1 0 0 1
z-c 0 -3 -2 0 0 0
Prva iteracija
cj 3 2 0 0 0
ci Baza x0 x1 x2 x3 x4 x5
0 x3 1 0 1/2 1 -1/2 0
3 x1 5 1 1/2 0 1/2 0
0 x5 4 0 1 0 0 1
z-c 15 0 -1/2 0 3/2 0
Druga iteracija
cj 3 2 0 0 0
ci Baza x0 x1 x2 x3 x4 x5
2 x2 2 0 1 2 -1 0
3 x1 4 1 0 -1 1 0
0 x5 2 0 0 -2 1 1
z-c 16 0 0 1 1 0
z ' 6 y1 10 y2 4 y3 min
y1 2 y2 3
y1 y2 y3 2
yi 0, i 1, 2, 3
Dual u kanonskom obliku
z ' 6 y1 10 y2 4 y3 0 ( y4 y5 ) M ( y6 y7 ) min
y1 2 y2 y4 y6 3
y1 y2 y3 y5 y7 2
yi 0, i 1,...,7
Početna simpleks tablica
bj 6 10 4 0 0 M M
bi Baza y0 y1 y2 y3 y4 y5 y6 y7
M y6 3 1 2 0 -1 0 1 0
M y7 2 1 1 1 0 -1 0 1
z’-b 5M -6+2M -10+3M -4+M -M -M 0 0
Prva iteracija
bj 6 10 4 0 0 M M
bi Baza y0 y1 y2 y3 y4 y5 y6 y7
10 y2 3/2 1/2 1 0 -1/2 0 1/2 0
M y7 1/2 1/2 0 1 1/2 -1 -1/2 1
z’-b 15+1/2M -1+1/2M 0 -4+M -5+1/2M -M 5-3/2M 0
Druga iteracija
bj 6 10 4 0 0 M M
bi Baza y0 y1 y2 y3 y4 y5 y6 y7
10 y2 3/2 1/2 1 0 -1/2 0 1/2 0
4 y3 1/2 1/2 0 1 1/2 -1 -1/2 1
z’-b 17 1 0 0 -3 -4 3-M 4-M
Treća iteracija
bj 6 10 4 0 0 M M
bi Baza y0 y1 y2 y3 y4 y5 y6 y7
10 y2 1 0 1 -1 -1 1 1 -1
6 y1 1 1 0 2 1 -2 -1 2
z’-b 16 0 0 -2 -4 -2 4-M 2-M
Kad problem rješavamo preko duala onda vrijednosti strukturnih varijabli nalazimo
u retku z’-b ispod varijabli koje čine početno bazično rješenje, s tim da se M ne
uzima u obzir. Tako imamo x1 = 4, x2 = 2. U optimalnom rješenju vrijednost z = z’.
Prema tome z’ = 16.
Dualna varijabla y1 = 1 odnosi se na prvo ograničenje i kazuje nam
da će se ukupna dobit povećati za 1 $ ako se raspoloživa količina
sirovine S1 poveća za 1 kg. Dualna varijabla y2 = 1 odnosi se na
drugo ograničenje i kazuje nam da će se ukupna dobit povećati za
1 $ ako se raspoloživa količina sirovine S2 poveća za 1 kg.
Primjer 2. Poduzeću za proizvodnju treba sirovina koja sadrži
najmanje 8 jedinica sastojka A, 25 jedinica sastojka B i 3 jedinice
sastojka C. Dobavljač D1 može ponuditi sirovinu koja sadrži 1
jedinicu sastojka A, 2 jedinice sastojka B i 1 jedinicu sastojka C,
po cijeni $2 po 1kg. Dobavljač D2 može ponuditi sirovinu koja
sadrži 1 jedinicu sastojka A i 5 jedinica sastojka B, po cijeni od $2
po 1kg.
Odrediti količine sirovina koje treba nabaviti od pojedinih
dobavljača s ciljem izrade optimalne smjese.
Rješenje:
Sastav sirovine (jed./kg)
D1 D2 Minimalne potrebe (jed.)
A 1 1 8
B 2 5 25
C 1 - 3
Nabavna cijena ($/kg) 2 2
z 2 x1 2 x2 min z 2 x1 2 x2 0 ( x3 x4 x5 )
p.o. M ( x6 x7 x8 ) min
x1 x2 8 p.o.
2 x1 5 x2 25 x1 x2 x3 x6 8
x1 3 2 x1 5 x2 x4 x7 25
x1 , x2 0 x1 x5 x8 3
x1 ,..., x8 0
Početna simpleks tablica
cj 2 2 0 0 0 M M M
ci Baza x0 x1 x2 x3 x4 x5 x6 x7 x8
M x6 8 1 1 -1 0 0 1 0 0
M x7 25 2 5 0 -1 0 0 1 0
M x8 3 1 0 0 0 -1 0 0 1
z-c 36M -2+4M -2+6M -M -M -M 0 0 0
cj 2 2 0 0 0 M M M
ci Baza x0 x1 x2 x3 x4 x5 x6 x7 x8
0 x5 2 0 -5/3 1/3 1 5/3 -1/3 -1
2 x2 3 0 1 2/3 -1/3 0 -2/3 1/3 0
2 x1 5 1 0 -5/3 1/3 0 5/3 -1/3 0
z-c 16 0 0 -2 0 0 2-M 0-M 0-M
Budući da se u retku z-c nalazi 0 ispod dopunske varijable x4, problem ima dva
optimalna rješenja. Prvo optimalno rješenje je: x1=5, x2=3, x5=2, z=16. Dualno
rješenje čitamo u retku z-c ispod artificijelnih varijabli, ne uzimajući u obzir
vrijednosti M (M je umjetno dodano s ciljem eliminiranja umjetnih varijabli iz baze,
pa njegove vrijednosti u optimalnoj simpleks tablici nemaju nikakvo značenje): y1=2,
y2=0, y3=0.
Dopunska varijabla x5=2 kazuje nam da u optimalnom rješenju imamo viška 2
jedinice sastojka C u odnosu na minimalne zahtjeve.
Drugo optimalno rješenje dobivamo uvođenjem varijable x4 u bazu, pri čemu
varijabla x5 izlazi iz baze.
Simpleks tablica nakon četvrte iteracije iteracije
cj 2 2 0 0 0 M M M
ci Baza x0 x1 x2 x3 x4 x5 x6 x7 x8
0 x4 6 0 0 -5 1 3 5 -1 -3
2 x2 5 0 1 -1 0 1 1 0 -1
2 x1 3 1 0 0 0 -1 0 0 1
z-c 16 0 0 -2 0 0 2-M 0-M 0-M
Drugo optimalno rješenje je: x1=3, x2=5, x4=6, z=16. Dualno rješenje: y1=2, y2=0,
y3=0. Dopunska varijabla x4=5 kazuje nam da imamo viška 5 jedinica sastojka S2 u
odnosu na minimalne zahtjeve. Ostala optimalna rješenja možemo dobiti
konveksnom kombinacijom dva optimalna rješenja.
Isti problem ćemo riješiti upotrebom duala.
bj 8 25 3 0 0
bi Baza y0 y1 y2 y3 y4 y5
0 y4 2 1 2 1 1 0
0 y5 2 1 5 0 0 1
z’-b 0 -8 -25 -3 0 0
Prva iteracija
bj 8 25 3 0 0
bi Baza y0 y1 y2 y3 y4 y5
0 y4 6/5 3/5 0 1 1 -2/5
25 y2 2/5 1/5 1 0 0 1/5
z’-b 10 -3 0 -3 0 5
Druga iteracija
bj 8 25 3 0 0
bi Baza y0 y1 y2 y3 y4 y5
8 y1 2 1 0 5/3 5/3 -2/3
25 y2 0 0 1 -1/3 -1/3 1/3
z’-b 16 0 0 2 5 3
cj 12 14 16+t 18 0 0 0
ci Baza x0 x1 x2 x3 x4 x5 x6 x7
18 x4 5 7/4 0 -1 1 1/2 -1/4 0
14 x2 5 -1 1 7/2 0 -1/2 1/2 0
0 x7 5 57/4 0 -25 0 7/2 -15/4 1
z j - cj 160 11/2 0 15-t 0 2 5/2 0
Prema tome, to rješenje ostaje optimalno sve dok je 15 t 0,
odnosno t 15. Sve dok je
c3 16 t 16 15 31 (c3 ( , 31])
ne dolazi do promjene optimalnog rješenja. Tek ako je prihod po
proizvodu x3 narastao na više od 31 vektor x3 ulazi u bazu, a iz
baze izlazi vektor x2, odnosno dolazi do promjene optimalnog
programa.
Razmotrimo što se događa ako se mijenjaju koeficijenti bazičnih
varijabli x2 i x4, odnosno koeficijenti vektora koji su u optimalnoj
bazi. Pitamo se u kojem intervalu mogu varirati ti koeficijenti, a da
to ne dovede do promjene optimalnog rješenja. Neka je c2 = 14 + t,
odnosno
z = 12x1 + (14+t)x2 + 16x3 + 18x4.
Budući da se mijenja koeficijent uz bazičnu varijablu to će
uzrokovati promjene u cijelom retku zj – cj, odnosno finalna
simpleks tablica sada izgleda ovako:
cj 12 14+t 16 18 0 0 0
ci Baza x0 x1 x2 x3 x4 x5 x6 x7
18 x4 5 7/4 0 -1 1 1/2 -1/4 0
14+t x2 5 -1 1 7/2 0 -1/2 1/2 0
0 x7 5 57/4 0 -25 0 7/2 -15/4 1
z j - cj 160+5t 11/2-t 0 15+7/2 t 0 2-1/2 t 5/2+1/2 t 0
Da bi to rješenje ostalo optimalno potrebno je da svi elementi u
retku zj – cj budu nenegativni, tj moraju biti ispunjene sljedeće
nejednadžbe:
Taj sustav nejednadžbi ispunjen je za sve t
11 11 [-30/7, 4], tj. za t iz tog intervala dano rješenje
t 0 t ,
2 2 ostaje optimalno. Budući da je c2 = 14 + t, to
7 30 znači da se optimalno rješenje ne mijenja dok
15 t 0 t , se c2 nalazi u intervalu [14-30/7, 14+4]=[9.714,
2 7
1 18]. Ukoliko je c2 < 9.714, izraz z3 – c3 postaje
2 t 0 t 4, negativan (u bazu ulazi x3), a ako je c2 > 18,
2
tada negativan postaje izraz z5 – c5 i u novu
5 1
t 0 t 5. bazu ulazi vektor x5.
2 2 Pri tome se vrijednost varijabli neće promijeniti,
ali će doći do promjene vrijednosti funkcije cilja.
Analognu analizu moguće je napraviti i za drugu bazičnu varijablu
(x4). Funkcija cilja je tada
z = 12x1 + 14x2 + 16x3 + (18+t)x4.
Na isti načine se dobije sustav jednadžbi:
11 7 22
t 0 t čije je rješenje c4 18
22
, 18 10 14.857, 28 .
2 4 7
7
15 t 0 t 15
Dakle dok se koeficijent c4 nalazi u tom intervalu,
1 nema promjene optimalnog rješenja.
2 t 0 t 4
2
5 1
t 0 t 10
2 4
Sličan pristup primjenjiv je i u slučaju kada se zajedno mijenjaju
nekoliko koeficijenata iz funkcije cilja. Uzmimo npr. da se
mijenjaju oba koeficijenta bazičnih varijabli c2 i c4, tj da funkcija
cilja izgleda ovako:
z = 12x1 + (14+t)x2 + 16x3 + (18+v)x4.
Finalna simpleks tablica sada je:
cj 12 14+t 16 18+v 0 0 0
ci Baza x0 x1 x2 x3 x4 x5 x6 x7
18+v x4 5 7/4 0 -1 1 1/2 -1/4 0
14+t x2 5 -1 1 7/2 0 -1/2 1/2 0
0 x7 5 57/4 0 -25 0 7/2 -15/4 1
z j - cj 160+5t 11/2- 0 15+7/2 t-v 0 2-1/2 5+1/2 t- 0
+5v t+7/4 v t+1/2 v 1/4 v
30 t 30 1
x0' 40 40 t 0 x0 tI1 ,
50 50 0
gdje je I1 jedinični vektor.
Simpleks procedura transformira vektor x0' na način da pored
originalnog vektora x0 mora transformirati i jedinični vektor I1.
Budući da je transformacija jediničnog vektora već zastupljena u
simpleks tablici (u našem primjeru vektor x5), to će se simpleks
'
procedurom novi vektor x0 transformirati na način da mu se samo
dodaje transformirani vektor x5, naravno pomnožen s parametrom t.
Prema tome, finalna simpleks tablica sada ima sljedeći oblik:
cj 12 14 16 18 0 0 0
ci Baza x0 x1 x2 x3 x4 x5 x6 x7
18 x4 5+1/2 t 7/4 0 -1 1 1/2 -1/4 0
14 x2 5-1/2 t -1 1 7/2 0 -1/2 1/2 0
0 x7 5+7/2 t 57/4 0 -25 0 7/2 -15/4 1
z j - cj 160+2t 11/2 0 15 0 2 5/2 0
cj 12 14 16 18 0 0 0
ci Baza x0 x1 x2 x3 x4 x5 x6 x7
18 x4 5-1/4 t 7/4 0 -1 1 1/2 -1/4 0
14 x2 5+1/2 t -1 1 7/2 0 -1/2 1/2 0
0 x7 5-15/4 t 57/4 0 -25 0 7/2 -15/4 1
z j - cj 160+5/2 t 11/2 0 15 0 2 5/2 0