Upload
nguyenlien
View
228
Download
1
Embed Size (px)
Citation preview
Dualnost main→
Sadrzaj
1 Dualna zadaca 21.1 Standardni oblik – primjer . . . . . . . . . . 31.2 Rjesenje primarne zadace. . . . . . . . . . . 31.3 Aktivni uvjeti . . . . . . . . . . . . . . . . . 91.4 Dualna simpleks metoda . . . . . . . . . . . 101.5 Primjer dualne simpleks metode . . . . . . 111.6 Primal–dual simpleks metoda . . . . . . . . 151.7 Primjer primal–dual simpleks metode . . . . 17
� � � �
2/22
1 Dualna zadaca
Primarna zadaca. Kanonski oblik zadace
max {zτx | x ≥ 0, Ax ≤ b} (P)
Dualna zadaca ima formu
min {yτb | y ≥ 0, yτA ≥ zτ} (D)
Zadatak. Dokazati da je dual duala primal.
Teorem dualnosti Ako su dopustivi skupovi P i Dneprazni onda
max {zτx | Ax ≤ b } = min {yτb | y ≥ 0, yτA = zτ} .
� � � �
3/22
1.1 Standardni oblik – primjer
Primarna zadaca: Dualna zadaca:
max x1+ x2 min 4y1−4y2+8y3
uz uvjete uz uvjete
−2x1− x2 ≤ 4 −2y1− y2+2y3 =1
−x1+2x2 ≤−4 −y1+2y2− y3 =1
2x1− x2 ≤ 8 yi ≥0
1.2 Rjesenje primarne zadace.
Potrebna je inicijalizacija jer nema uvjeta nenegativnosti na
primarnu varijablu.
� � � �
4/22
Simpleks tabela primarne zadace, novi λ-stupac i ζ-redak
x1 x2 λ
w1 2 1 1 4
w2 1 −2 1 −4
w3 −2 1 1 8
ζ 0 0 −1 0
z 1 1 0 0
w3 λ w2
w1 − 53
4 − 43
12
x2 − 13
1 − 23
0
x1 − 23
1 − 13
4
ζ 0 −1 0 0
z −1 2 −1 4
Brisanjem λ-stupca i ζ-retka dobiva se optimalna tabela.
Rjesenje x = (4, 0) je presjek pravaca w2 = 0 i w3 = 0, v. sliku 1.
� � � �
5/22
�
z = (1, 1) z = a2 + a3
w1 = 0
w2 = 0
w3 = 0
a1 = (−2,−1)
a2 = (−1, 2)
a3 = (2,−1)
P
v
Slika 1: Primal i dual � � � �
6/22
Dualna zadaca ima uvjet u formi jednakosti. Polazni rjecnik i
simpleks tabela dualne zadace su
h1 = 2y1 + y2 − 2y3 + 1 (= 0)
h2 = y1 − 2y2 + y3 + 1 (= 0)
−c = −4y1 + 4y2 − 8y3
y1 y2 y3
h1 2 1 −2 1
h2 1 −2 1 1
−u −4 4 −8 0
gdje smo s u oznacili vektor funkcije cilja dualne zadace.
Primjetite da u posljednjem retku stoji −u jer u dualnoj zadaci
minimiziramo.
Pocetak optimizacije: h1 i h2 ubacujemo u bazu.
� � � �
7/22
y1 y2 h1
y3 1 12
− 12
12
h2 2 − 32
− 12
32
−u −12 0 4 −4
y1 h2 h1
y353
− 13
− 23
1
y243
− 23
− 13
1
−u −12 0 4 −4
y = (0, 1, 1) je optimalna tocka i vrijednost od dualne funkcije
cilja iznosi 4 (zasto?).
� � � �
8/22
y1 y2 h1
y3 1 12
− 12
12
h2 2 − 32
− 12
32
−u −12 0 4 −4
y1 h2 h1
y353
− 13
− 23
1
y243
− 23
− 13
1
−u −12 0 4 −4
y = (0, 1, 1) je optimalna tocka i vrijednost od dualne funkcije
cilja iznosi 4 (zasto?).
– dopustiva je jedino promjena od y1
� � � �
8/22
y1 y2 h1
y3 1 12
− 12
12
h2 2 − 32
− 12
32
−u −12 0 4 −4
y1 h2 h1
y353
− 13
− 23
1
y243
− 23
− 13
1
−u −12 0 4 −4
y = (0, 1, 1) je optimalna tocka i vrijednost od dualne funkcije
cilja iznosi 4 (zasto?).
– dopustiva je jedino promjena od y1
– stoga h-stupce ne gledamo
� � � �
8/22
y1 y2 h1
y3 1 12
− 12
12
h2 2 − 32
− 12
32
−u −12 0 4 −4
y1 h2 h1
y353
− 13
− 23
1
y243
− 23
− 13
1
−u −12 0 4 −4
y = (0, 1, 1) je optimalna tocka i vrijednost od dualne funkcije
cilja iznosi 4 (zasto?).
– dopustiva je jedino promjena od y1
– stoga h-stupce ne gledamo
– koeficijent uz y1, u posljednjem retku je negativan
� � � �
8/22
y1 y2 h1
y3 1 12
− 12
12
h2 2 − 32
− 12
32
−u −12 0 4 −4
y1 h2 h1
y353
− 13
− 23
1
y243
− 23
− 13
1
−u −12 0 4 −4
y = (0, 1, 1) je optimalna tocka i vrijednost od dualne funkcije
cilja iznosi 4 (zasto?).
– dopustiva je jedino promjena od y1
– stoga h-stupce ne gledamo
– koeficijent uz y1, u posljednjem retku je negativan
– desni stupac je pozitivan. Dakle,
� � � �
8/22
y1 y2 h1
y3 1 12
− 12
12
h2 2 − 32
− 12
32
−u −12 0 4 −4
y1 h2 h1
y353
− 13
− 23
1
y243
− 23
− 13
1
−u −12 0 4 −4
y = (0, 1, 1) je optimalna tocka i vrijednost od dualne funkcije
cilja iznosi 4 (zasto?).
– dopustiva je jedino promjena od y1
– stoga h-stupce ne gledamo
– koeficijent uz y1, u posljednjem retku je negativan
– desni stupac je pozitivan. Dakle,
– tabela je optimalna.
� � � �
9/22
1.3 Aktivni uvjeti
Definicija. Ako tocka x ∈ P zadovoljava uvjet wi = 0 onda
takav uvjet nazivamo aktivnim uvjetom, a odgovarajuci indeks
retka aktivnim indeksom.
Lema. Skup svih indeksa bazicnih varijabli je podskup skupa
aktivnih indeksa.
Komponente rjesenja dualne zadace iz primjera
y = (0, 1, 1)
su aktivni indeksi. Nadalje
z = 0 · a1 + 1 · a2 + 1 · a3.
Vidi ponovno sl. 1.
� � � �
10/22
1.4 Dualna simpleks metoda
Primarna i dualna zadaca zadane su u kanonskoj formi (D).
Uvodimo novu varijablu u ∈ Rn (w u primarnoj zadaci)
uτ = yτA− zτ .
Tada je u ≥ 0 ako i samo ako je y ∈ D. Transponirana simpleks
tabela polaznog dualnog rjecnika je
u1 · · · un
y1 −β1
... A...
ym −βm
−z −z1 · · · −zn c = 0
(1)
Nebazicne varijable su u retku, a bazicne u stupcu.
� � � �
11/22
1.5 Primjer dualne simpleks metode
Primarna zadaca:
max − 2x1 − x2 − x3
uz uvjete
− 2x1 + x2 − x3 ≤−2
x1 + 2x2 ≤ 1
x1, x3, x3 ≥ 0
Dualna zadaca:
min − 2y1 + y2
uz uvjete
− 2y1 + y2 ≥−2
y1 + 2y2 ≥−1
− y1 ≥−1
y1, y2 ≥ 0
u1 u2 u3 −b
y1 −2 1 −1 2
y2 1 2 0 −1
−zτ 2 1 1 c = 0
Polazna simpleks
tabela dualne zadace.
� � � �
12/22
u1 u2 u3 −b
y1 −2 1 −1 2
y2 1 2 0 −1
−zτ 2 1 1 c = 0
Vrijednost c = 0 mozemo povecati jedino ako povecamo
varijablu y1 i to do granice
y1 = min{1, 1} = 1.
Imamo dva moguca kljucna elementa transformacije γ11 i γ13.
Odlucimo li se za γ11 = −2 tada y1 postaje nebazicna varijabla,
a u1 ulazi u bazu. Dualna Gauss – Jordanova (dGJT)
transformacije daju novu tabelu
� � � �
13/22
y1 u2 u3 −b
u1 − 12
− 12
12
−1
y212
52
− 12
0
−zτ 1 2 1 2
koja je optimalna. Rjesenje je
(y1, y2) = (1, 0)
i ta tocka je presjek pravaca
u1 = −2y1 + y2 + 2 = 0, y2 = 0.
Odabirom γ12 = −1 za
kljucni element
transformacije dobili bi
optimalnu tabelu s istim
rjesenjem ali kao presjek
pravaca u3 = 0, y2 = 0.
u1 u2 y1 −b
u3 2 −1 −1 −2
y2 1 2 0 −1
−zτ 0 2 1 2
� � � �
14/22
1.6 Primal–dual simpleks metoda
Dualna simpleks tabela je tabela pridruzena negativnom
rjecniku primarne zadace
δ = Ax − b
c =−zτx + c0
GJT nad negativnim rjecnikom vodi maksimizaciji primarne
funkcije cilja pa prema tome dualnu simpleks tabelu mozemo
shvacati kao tabelu za rjesavanje i primarnog i dualnog
problema.
• dGJT optimiziraju dualni problem.
• GJT optimiziraju primarni problem.
� � � �
15/22
Primal–dual simpleks tabela.
x1 · · · xn δ
y1 δ1
... A...
ym δm
uτ u1 · · · un c = 0
(2)
Primarne nebazicne varijable δ = Ax− b ∈ Rm (manjak), Dualne
nebazicne varijable u = Aτy − z ∈ Rn (visak).
(x1, . . . , xn,δ1, . . . , δm) ∈ Rn+m
(u1, . . . , un,y1, . . . , ym) ∈ Rn+m
Primjetimo da u svakom koraku simpleks tabele vrijedi
[ x δ ]τ [ u y ] = xτu + δτy = 0.
� � � �
16/22
1.7 Primjer primal–dual simpleks metode
Dana je zadaca linearnog programiranja
max − x1 + 2x2 + x3
uzuvjete
x1 + x3 ≥ 1
x2 ≤ 4
x2 − x3 ≥−4
− x1 + x2 − x3 ≤ 5
xi ≥ 0
� � � �
17/22
i njena primarno dualna simpleks tabela
x1 x2 x3 δ
y1 −1 0 −1 1
y2 0 1 0 −4
y3 0 −1 1 −4
y4 −1 1 −1 −5
u 1 −2 −1 c = 0
δ ima i pozitivne i negativne komponente ⇒ x nije dopustiva.
u ima i pozitivne i negativne komponente ⇒ y nije dopustiva.
Pretpostavimo da smo se odlucili za povecanje dualne funkcije
cilja. Njenu vrijednost mozemo povecati povecanjem y1 do
granice y1 = 1. Nova tabela je nakon dGJT transformacije
� � � �
18/22
y1 x2 x3 δ
x1 −1 0 1 −1
y2 0 1 0 −4
y3 0 −1 1 −4
y4 −1 1 0 −6
u 1 −2 −2 1
Sada je x = (1, 0, 0) primarna dopustiva tocka. Vrijednost
’primarne’ funkcije cilja mozemo smanjiti ako povecamo x2 do
granice
x2 = min{4, 6} = 4
pa x2 postaje nebazicna varijabla, a y2 bazicna varijabla.
Dualna dGJT daje
� � � �
19/22
y1 y2 x1 δ
x3 −1 0 1 −1
x2 0 1 0 −4
y3 0 1 1 −8
y4 −1 −1 0 −2
u 1 2 −2 −7
Vrijednost primarnog funkcionala mozemo smanjiti ako
povecamo x3 do granice
x3 = min{1, 8} = 1.
Tada x2 postaje nebazicna, a x1 bazicna varijabla i nova tabela
je nakon GJT
� � � �
20/22
y1 y2 x1 δ
x3 −1 0 1 −1
x2 0 −1 0 −4
y3 1 1 −1 −7
y4 −1 −1 0 −2
u −1 2 2 −9
Vrijednost primarnog funkcionala mozemo smanjiti ako
povecamo y1 do granice
y1 = min{7} = 7.
U sljedecem koraku nakon dobiva se optimalna tabela
� � � �
21/22
y3 y2 x1 δ
x3 · · · −8
x1 · · · −4
y1 · · · −7
y4 · · · −9
u 1 3 1 −16
Rjesenje:
x = (0, 4, 8)
y = (0, 3, 1, 0)
zτx = bτy = 16.
� � � �