Professional Documents
Culture Documents
Ivana Kuzmanovi
c, Kristian Sabo
Radni materijal za predavanja
1.1
(1)
uz uvjet
aTi x
bi , i M1
(2)
aTi x
aTi x
bi , i M2
(3)
bi , i M3 .
(4)
Problem (1)-(4) zovemo problem linearnog programiranja ili skraceno LP problem, pri tome
funkciju f zovemo funkcija cilja. Vektor x koji zadovoljava uvjete (2)-(4) zovemo dopustivo rjesenje, dok skup svih dopustivih rjesenja zovemo dopustivo podrucje. Za dopustivo
rjesenje x takvo da je
f (x ) = cT x cT x = f (x), za svako dopustivo rjesenje x,
kazemo da je optimalno dopustivo rjesenje.
Primjer 1. Zadan je LP problem
2x1 x2 + 4x3 min
x
uz uvjet
x1 + x2 + x4 2
3x2 x3 = 5
x3 + x4 0
x1 0
x3 0.
1
&
aTi x bi .
uz uvjet
Ax b,
gdje su A Rmn , b Rm , c Rn , x Rn . Pri tome je n broj varijabli, a m dimenzija
problema.
Primjer 2. LP problem iz Primjera 1 mozemo zapisati na sljedeci nacin
2x1 x2 + 4x3 min
x
uz uvjet
x1 x2 x4 2
3x2 x3 5
3x2 + x3 5
x3 + x4 0
x1 0
x3 0
ili u matricnom obliku
cT x min
x
uz uvjet
Ax b,
2
gdje su
A=
1 1
0 1
0
3 1
0
0 3
1
0
,
0
0
1
1
1
0
0
0
0
0
1
0
b=
2
5
5
0
0
0
2
1
c=
4 .
0
uz uvjet
x1 + 3x2 2
3x1 + x2 2
x1 0
x2 0.
Na Slici 1 prikazano je odgovarajuce dopustivo podrucje. Promatrajmo sve pravce p
oblika x1 x2 = , gdje je neki realan broj. Primjetimo da je vektor c = [1, 1]T
vektor normale pravca p . Jednadzba pravca p u eksplicitnom obliku glasi x2 = x1 ,
pri tome je odsjecak sto ga pravac p odsjeca na x2 osi. Uocimo da minimizirati
funkciju cilja na dopustivom podrucju znaci odrediti tako da pravac p prolazi kroz
dopustivo podrucje te da je pri tome najmanji moguci, odnosno (odsjecak sto ga
pravac p odsjeca na x2 osi) najveci moguci. Broj s tim svojstvom odredit cemo tako da
najprije odaberemo pocetni 0 tako da pravac p0 prolazi dopustivim podrucjem. Uocimo
da mozemo primjerice uzeti 0 = 0. Pri tome p0 translatiramo u smjeru vektora c tako
da ostanemo u dopustivom podrucju, sve dok odsjecak sto ga translatirani pravac p odsjeca
na x2 osi ne postane najveci moguci. Tocka koju smo dobili u tom granicnom slucaju ima
T
koordinate 12 , 12 te je x = 12 , 12
optimalno dopustivo rjesenje dok je odgovarajuca
optimalna vrijednost funkcije cilja = 1.
Opcenito, pretpostavimo da promatramo LP problem
cT x = c1 x1 + c2 x2 min ,
x1 ,x2
uz uvjet
Ax b,
gdje su c R2 , A Rm2 i b Rm .
Uocimo da se ovakav problem moze geometrijski vizualizirati. Skiciramo odgovarajuce
dopustivo podrucje D = {x R2 : Ax b} R2 . Neka je p pravac s jednadzbom
cT x = c1 x1 + c2 x2 = . Kandidate za dopustivo optimalno rjesenje trazimo na pravcu p ,
gdje je R takav da je p D 6= . Odaberemo posetni 0 takav da je p0 D 6= te neka
je je x0 radij vektor neke tocke na pravcu p0 . U svrhu trazenja optimalnog dopustivog
rjesenja trebamo translatirati pravac p0 . Ako ga translatiramo u smjeru vektora c za
korak > 0 imamo
cT (x0 + c) = cT x0 + kck2 cT x0 ,
3
2.5
2.5
x2
x2
x2
1.5
x2 =
1.0
1.0
x1
1.5
2.0
+
3x 1
2.0
0.5
x1 +
0.0
0.5
3x2
= 2 x1
x =
1 1
,
2 2
x1
0.0
-0.5
-0.5
-1.0
-1.0
-1.0
-0.5
0.0
0.5
1.0
1.5
2.0
2.5
-1.0
-0.5
0.0
0.5
1.0
1.5
2.0
2.5
2.5
x2
2.0
=
1.5
x1
x2
1.0
0.5
x1
0.0
-0.5
-1.0
-1.0
-0.5
0.0
0.5
1.0
1.5
2.0
2.5
uz uvjet
Ax = b
x 0,
zovemo standardni oblik problema linearnog programiranja-SOLP. Pri tome uvjet x 0
znaci da je svaka komponenta vektora x nenegativna te stoga taj uvjet zovemo uvjet
nenegativnosti.
Propozicija 1. Svaki se LP problem moze zapisati kao SOLP problem.
Dokaz. Ako je xj varijabla koja ne zadovoljava uvjet nenegativnosti, onda se ona moze
+
T
zapisati u obliku xj = x+
zujemo
j xj , gdje su xj , xj 0. Uvjetu oblika ai x bi pridru
novu varijablu si 0, pa taj uvjet prelazi u
aTi x + si = bi
si 0.
Slicno, uvjetima oblika aTi x bi pridruzujemo nove varijable si 0, pa taj uvjet prelazi
u
aTi x si = bi
si 0.
Primjer 5. LP problem iz Primjera 1 zapisan kao SOLP glasi
2x1 x+
2 + x2 + 4x3
min
+
x1 ,x+
2 ,x2 ,x3 ,x4 ,x4 ,s1 ,s2
uz uvjet
x1 + x+
2 x2 + x4 x4 + s1 = 2
3x+
2 3x2 x3 = 5
x3 + x+
4 x4 s2 = 0
x1 0
x+
0
2
x
0
2
x3 0
x+
0
4
x
0
4
s1 0
s2 0,
odnosno u matricnom obliku
cT x min,
x
uz uvjet
Ax = b
x 0,
gdje je
x=
x1
x+
2
x
2
x3
x+
4
x
4
s1
s2
c=
2
1
1
4
0
0
0
0
1 1 1
0 1 1 1
0
A = 0 3 1 1 0
0 0
0 ,
0 0
0
1 1 1 0 1
2
b = 5 .
0
x1 ,x2 ,x3
uz uvjet
x1 + 2x2 + x3 = 5
2x1 + 3x2 + x3 = 6
x2 0
x3 0.
6
x2 ,x3
uz uvjet
x2 + x3 = 4
x2
x3
0.
Uocimo da je novi problem SOLP. Osim toga rijec je o dvodimenzionalnom problemu kojeg
mozemo rijesiti primjenom geometrijskog algoritma. Kada dobijemo x2 i x3 , slijedi da je
x1 = 5 2x2 x3 . Nije tesko vidjeti da su x1 = 3, x2 = 4 te x3 = 0,
Primjedba 2. LP problem moze se rjesavati pomocu programskog paketa Mathematica
primjenom naredbe LinearProgramming. LP problem oblika
cT x min
c
uz uvjet
aTi x bi , i M1
aTi x bi , i M2
aTi x = bi , i M3
x 0
rjesavamo tako da definiramo vektor s takav da je
i M1
1,
si =
1, i M2
0,
i M3 .
1.2
1.2.1
uz uvjet
a11 x1 + a12 x2 + + a1n xn b1
a21 x1 + a22 x2 + + a2n xn b2
..
.
am1 x1 + am2 x2 + + amn xn bm
x1 , . . . , xn 0
ili u matricnom obliku
cT x min
x
uz uvjet
Ax b
x 0.
Primjedba 3. U popularnijoj varijanti ovaj se problem moze formulirati kao problem
minimizacije unosa kalorija, tako da cijenu po namirnici zamijenimo s kalorijama. Interesantna stranica na kojoj se mogu modelirati razlicite varijante ovog problema:
www.zweigmedia.com/RealWorld/dietProblem/diet.html
1.2.2
uz uvjet
a11 x1 + a12 x2 + + a1n xn b1
a21 x1 + a22 x2 + + a2n xn b2
..
.
am1 x1 + am2 x2 + + amn xn bm
x1 , . . . , xn 0
uz uvjet
Ax b
x 0.
Primijetimo da bi optimalni brojevi proizvedenih proizvoda trebali biti cijeli brojevi.
Ako su optimalna rjesenja prirodni brojevi, onda smo ovim modelom rijesili problem.
Opcenito se moze dogoditi da neko od rjesenja postavljenog LP problema nije cijeli broj.
U tom slucaju potrebno je problem rjesavati kao problem cjelobrojnog programiranja.
1.2.3
Pristup 3. minimizacija maksimalne vertikalne udaljenosti tocaka do pravca, odnosno minimizacija funkcionala
F (k, l) = max |kti + l yi |.
i=1,...,r
r
X
X
X
(kti + l yi )ti
t2i
ti
i=1
2
i=1
i=1
.
F2 (k, l) = X
r
r
, F2 (k, l) = X
(kti + l yi )
ti
r
i=1
i=1
(5)
uvijek ima rjesenje. Pri tome u slucaju t1 = . . . = tr sustav (5) ima beskonacno mnogo
rjesenja, dok je u suprotnom rjesenje sustava jednazbi (5) jedinstveno. Takoder, moze
se pokazati da je u slucaju jedinstvenog rjesenja matrica 2 F2 (k, l) pozitivno definitna
te je stoga jedinstveno rjesenje sustava (5) tocka u kojoj se postize globalni minimum
funkcionala F2 .
9
Pristup 2.
Primijetimo da je
|kti + l yi | = max{kti + l yi , kti l + yi }, i = 1, . . . , r.
Oznacimo s zi := |kti + l yi |, i = 1, . . . , r. Ocigledno je
kti + l yi zi ,
kti l + yi zi , i = 1, . . . , r.
Problem minimizacije funkcionala F1 mozemo zapisati u obliku
z1 + z2 + + zr + 0 k + 0 l
min
z1 ,...,zr ,k,l
uz uvjet
z1 + kt1 + l y1
z1 kt1 l y1
z2 + kt2 + l y2
z2 kt2 l y2
..
.
zr + ktr + l yr
zr ktr l yr
uz uvjet
Ax b,
gdje su
A=
1
0
1
0
0 1
0 1
..
.
0
0
0
0
0
t1
1
0 t1 1
0
t2
1
0 t2 1
R2r(r+2) ,
1
tr
1
1 tr 1
b=
y1
y1
y2
y2
..
.
R2r ,
yr
yr
1
1
..
.
c = Rr+2
1
0
0
Pristup 3.
Oznacimo li s
z := max |kti + l yi |,
i=1,...,r
uz uvjet
z + kt1 + l y1
z kt1 l y1
z + kt2 + l y2
z kt2 l y2
..
.
z + ktr + l yr
z ktr l yr
uz uvjet
Ax b,
gdje su
A=
1
t1
1
1 t1 1
..
R2r3 ,
.
1
tr
1
1 tr 1
b=
y1
y1
..
.
2r
R ,c = 0 ,
0
yr
yr
te x = [z, k, l]T .
Primjer 7. Zadani su podaci {(1, 1), (2, 3), (2.5, 4), (3, 5), (4, 11), (5, 15), (8, 16)} za koje
treba odrediti pravac s jednadzbom y = kt + l, koji ih najbolje aproksimira u smislu Pristupa 1, 2 i 3. Primjenom opisanog postupka, Pristupe 2 i 3 svedemo na LP problem te
primijenimo naredbu LinearProgramming. Pri tome treba paziti da varijable k i l u oba
pristupa ne zadovoljavaju uvijet nenegativnosti. Dobivamo sljedece pravce
Pristup 1. y = 0.996689 + 2.43046t
Pristup 2. y = 2t
Pristup 3. y = 1.2 + 2.2t.
11
15
10
10
Slika 4: Promijenjene tocke i pravci (Pristup 1 - crveno, Pristup 2 - plavo, Pristup 3 zuto)
1.2.4
Pretpostavimo da su zadani vektori c1 , . . . , cm Rn te realni brojevi d1 , . . . , dm . Definirajmo funkciju f : Rn R formulom f (x) = max {cTi x + di }. Funkcija f je po
i=1,...,m
uz uvjet
Ax b.
12
10
-5
10
15
20
25
30
uz uvjet
Ax b
z + cT1 x d1
z + cT2 x d2
..
.
z + cTm x dm ,
1.3
Zadaci
uz uvjete
2x1 + 3x2 6 0
x1 0
x1 6
x2 0
ako je
a) c = [1, 1]T
b) c = [1, 0]T
c) c = [2, 3]T
d) c = [0, 1]T
Rje
senje: a) x = [0, 2]T , b) x = [6, x2 ]T , x2 0, c) x = [x1 , 22/3x1 ]T , x1 [0, 3],
d) optimalna vrijednost je
13
Rje
senje: x = [2, 3]T
Zadatak 3. Zapisite sljedeci problem kao LP problem i graficki ga rijesite.
Obrtnik proizvodi dvije vrste proizvoda, A i B. Za (dijeljivu) jedinicu proizvoda A potrebno
je 2 minute pripreme, 1 minuta izrade i 3 minute zavrsnih radova. Za (dijeljivu) jedinicu
proizvoda B potrebno je 2 minute pripreme, 2 minute izrade i 1 minuta zavrsnih radova.
Svakoga dana moguce je utrositi 140 minuta za pripremu, 120 minuta za izradu i 150
minuta za zavrsne radove. Koliko jedinica svakog proizvoda obrtnik treba izraditi da bi
maksimizirao dobit ako jedinica proizvoda A ima cijenu 10 kn a jedinica proizvoda B 8 kn?
Rje
senje: x = [40, 30]T
Zadatak 4. Sljedeci problem zapisite kao problem linearnog programiranja. Jedna namirnica nalazi se u m skladista iz kojih se opskrbljuje n prodavaonica. Skladiste i, i = 1, . . . , m
sadrzi kolicinu si te namirnice a prodavaonici j,j = 1, . . . , n treba dostaviti kolicinu kj
namirnice. Neka je cij , i = 1, . . . , m, j = 1, . . . , n cijena prijevoza jedinice namirnice od
skladista i do prodavaonice j. Problem je opskrbiti sve prodavaonice potrebnom kolicinom
namirnice tako da je ukupna cijena prijevoza minimalna. Formulirajte navedeni problem
kao problem linearnog programiranja.
Rje
senje: Neka je xij kolicina namirnice koja je prevezena iz skladista i u prodavaonicu j, i = 1, . . . , m, j = 1, . . . , n.
m X
n
X
i=1 j=1
uz uvjet
n
X
j=1
m
X
xij si , i = 1, . . . , m
xij = kj , j = 1, . . . , n
i=1
xij 0, i = 1, . . . , m, j = 1, . . . , n
Zadatak 5. U jednom gradu ima n gradskih cetvrti i m osnovnih skola (u svakoj skoli
su ucenici od 1. do 8. razreda). Svaka skola j ima kapacitet cjr ucenika u razredu r,
j = 1, . . . , m, r = 1, . . . , 8. U gradskoj cetvrti i ima uir ucenika koji pohadaju razred
r, i = 1, . . . , n, r = 1, . . . , 8. Udaljenost gradske cetvrti i do skole j je dij , i = 1, . . . , n,
j = 1, . . . , m. Treba rasporediti ucenike po skolama tako da ukupna udaljenost koju ukupno
prijedu svi ucenici bude minimalna.
Zapisite navedeni problem kao problem linearnog programiranja (zanemarite cinjenicu da
broj ucenika mora biti cijeli broj).
14
uz uvjet
m
X
xijr = uir , i = 1, . . . , n, r = 1, . . . , 8
n
X
xijr cjr , j = 1, . . . , m, r = 1, . . . , 8
j=1
i=1
xijr 0, i = 1, . . . , n, j = 1, . . . , m, r = 1, . . . , 8
Zadatak 6. Pokazite da se sljedeci problem moze svesti na problem linearnog programiranja.
Na osnovi podataka (ti , yi ), i = 1, . . . , r, odrediti pravac s jednadzbom a t + b y + c = 0,
a , b , c R, gdje je F (a , b , c ) = min F (a, b, c) te
(a,b,c)R3
F (a, b, c) =
r
X
|ati + byi + c|
i=1
|a| + |b|
a
b
c
Rje
senje: Oznacimo a = |a|+|b|
, b = |a|+|b|
, c = |a|+|b|
, te zi = |a ti + b yi + c |, i =
zi + 0 + 0 min
zi ,,
i=1
uz uvjet
a ti + b yi + c zi , i = 1, . . . , r
(a ti + b yi + c ) zi , i = 1, . . . , r
+ = 1
a
a
b
b
2
2.1
max {cTi (x + (1 )y + di )}
i=1,...,m
i=1,...,m
i=1,...,m
i=1,...,m
= f (x) + (1 )f (y).
Primjedba 4. Analogno kao u Primjeru 10, moze se pokazati da ako su f1 , . . . , fm : P
R, P Rn konveksne, onda je funkcija f : P R zadana formulom
f (x) = max {fi (x)},
i=1,...,m
konveksna na P.
Definicija 3. Skup S Rn kazemo da je konveksan ako za svaki x, y S i za svaki
[0, 1] vrijedi x + (1 )y S.
16
x x + (1 )y
x + (1 )y y
2.2
A
b
=
x Rn : A x b .
I
0
17
Definicija 6. Neka su ai Rn , ai 6= 0 i bi R.
1) Skup {x Rn : aTi x = bi } zovemo hiperravnina u Rn s vektorom normale ai .
2) Skup {x Rn : aTi x bi } zovemo poluprostor u Rn .
Propozicija 2. Vrijede sljedece tvrdnje:
a) Poluprostor u Rn je konveksan skup.
b) Presjek od konacno mnogo konveksnih skupova je konveksan skup.
c) Poliedar u Rn je konveksan skup.
Dokaz.
a) Neka je = {x Rn : aTi x bi } dani poluprostor te neka su x, y te [0, 1].
Tada je aTi (x + (1 )y) = aTi x + (1 )aTi b + (1 )b = b. Kako su
x, y te [0, 1] proizvoljni slijedi da je konveksan skup.
b) Dokazimo tvrdnju najprije za dva konveksna skupa S1 i S2 . Pretpostavimo S1 S1 6=
(ako je S1 S1 = , tvrdnja slijedi trivijalno jer je konveksan po definiciji) i neka
su x, y S1 S1 , odakle slijedi da su x, y S1 i x, y S2 . Kako su prema
pretpostavci S1 i S2 konveksni slijedi da za svaki [0, 1] vrijedi x + (1 )y S1
i x + (1 )y S2 , odnosno x + (1 )y S1 S2 . Tvrdnja se za konacno
mnogo konveksnih skupova moze dokazati metodom matematicke indukcije.
c) Kako je poliedar presjek od konacno mnogo poluprostora, sukladno tvrdnji b) slijedi
da je i on konveksan.
Definicija 7. Neka je P poliedar u Rn . Vektor x P je ekstremna tocka poliedra P ako
ne postoje y, z P, y 6= x & z 6= x i skalar [0, 1] takvi da je x = y + (1 )z.
Dakle, ekstremna tocka poliedra je ona tocka koja se ne moze prikazati kao netrivijalna
konveksna kombinacija tocaka iz poliedra. Geometrijski gledano, to znaci da je ekstremna
tocka ona tocka poliedra koja se ne nalazi na nekom segmentu koji je sadrzan u poliedru.
u
Slika 7: x je ekstremna tocka poliedra, dok u i v nisu ekstremne tocke jer se mogu prikazati
kao netrivijalna konveksna kombinacija tocaka iz poliedra
18
(6)
x1 0
(7)
x2 0
(8)
x3 0.
(9)
(10)
x1 0
(11)
x2 0
(12)
x3 0
(13)
a) Neka je e1 = [1, 0, 0]T . Uvjeti (9), (11) i (12) aktivni su u e1 , dok uvjet (10) nije
aktivan u e1 . Kako uvjet (10) sadrzi jednakost te kako su vektori [1, 1, 1]T , [1, 0, 0]T
i [0, 1, 0]T linearno nezavisni, slijedi da je e1 bazicno rjesenje. Takoder, kako vektor
e1 zadovoljava uvjet (10) slijedi da je e1 bazicno dopustivo rjesenje.
b) slicno kao u a) moze pokazati da su e2 = [0, 1, 0]T i e3 = [0, 0, 1]T bazicna dopustiva
rjesenja.
T
c) Neka je x = 13 , 13 , 13 . Jedino je uvjet (10) aktivan u vektoru x prema tome x
nije bazicno rjesenje.
d) Neka je x = [0, 0, 0]T . Uvjeti (11), (12) i (13) aktivni su u x , no uvjet (10) koji
sadrzi jednakost nije aktivan u x te stoga x nije bazicno rjesenje. Kada bismo
uvjet (10) zamijenili s dva uvjeta x1 + x2 + x3 1 i x1 + x2 + x3 1, onda x
postaje bazicno rjesenje. Iz ovog zakljucujemo da definicija bazicnog rjesenja ovisi o
reprezentaciji poliedra.
Teorem 2. Neka je P poliedar i neka je x P. Sljedece tri tvrdnje su ekvivalentne
1) x je vrh poliedra.
2) x je ekstremna tocka poliedra.
3) x je bazicno dopustivo rjesenje.
Dokaz. Neka je poliedar P Rn zadan na sljedeci nacin
aTi x bi , i M1
(14)
aTi x
(15)
= bi , i M2 .
(17)
bi aTi x
.
aTi d
iI
Za proizvoljni x P imamo
cT x =
aTi x
iI
bi = cT x ,
iI
(18)
uz uvjet
x P.
Pri tome jednakost u (18) vrijedi onda i samo onda ako je aTi x = bi , za svaki i I. Kako
je x bazicno dopustivo rjesenje broj linearno nezavisnih vektora ai , i I koji su aktivni
u x jednak je n pa sustav aTi x = bi , i I ima jedinstveno rjesenje, a to je upravo x .
Na taj nacin dokazali smo da postoji vektor c takav da je cT x < cT x za svaki x 6= x ,
x P, odnosno da je x vrh poliedra P.
2.3
Konstrukcija bazi
cnog dopustivog rje
senja
(19)
x 0.
(20)
te uvjete nenegativnosti
Uocimo da uvjeta nenegativnosti (20) ima n, dok sustav linearnih jednazbi sadrzi m jednadzbi. Prema definiciji bazicnog dopustivog rjesenja treba postojati n linearno nezavisnih
uvjeta, koji su aktivni u vektoru x . To znaci da moraju biti zadovoljeni svi uvjeti u (19),
a da medu uvjetima iz (20) treba biti n m aktivnih, odnosno da n m komponenti
vektora x treba biti jednako 0.
a11 a12 a13
3
Primjer 13. Neka je P = {x R : Ax = b, x 0}, gdje su A =
te
a21 a22 a23
b = [b1 , b2 ]T te rang(A) = 2. Raspisemo li zapis poliedra P imamo:
a11 x1 + a12 x2 + a13 x3 = b1
a21 x1 + a22 x2 + a23 x3 = b2
x1 0
x2 0
x3 0.
U svrhu odredivanja bazicnog dopustivog rjesenja x R3 trebamo jedan uvjet s nejednakosti uciniti aktivnim. Stavimo da je primjerice x1 = 0. U tom slucaju ostale komponente
vektora x = [0, x2 , x3 ]T moraju zadovoljavati sustav jednadzbi
a12 x2 + a13 x3 = b1
a22 x2 + a23 x3 = b2 .
Pri tome je rjesenje jedinstveno onda i samo onda ako su vektori [a12 , a22 ]T te [a13 , a23 ]T
linearno nezavisni. Onda je
1
a12 a13
b1
x2
=
.
x3
a22 a23
b2
22
a12 a13
regularna, onda su tri vektora [a11 , a12 , a13 ]T , [a21 , a22 , a23 ]T
a22 a23
te [1, 0, 0]T , koji odreduju aktivne uvjete linearno nezavisni. Zaista, ako vektor [1, 0, 0]T
napisemo kao linearnu kombinaciju preostalih, dobivamo
Ako je matrica B =
1 = 1 a11 + 2 a21
0 = 1 a12 + 2 a22
0 = 1 a13 + 2 a23 .
Zbog regularnosti matrice B slijedi da su 1 = 2 = 0, odnosno da su vektori [a11 , a12 , a13 ]T , [a21 , a22 , a23 ]T
te [1, 0, 0]T linearno nezavisni. To znaci da je x = [0, x2 , x3 ]T bazicno rjesenje. Ako uz
to vrijedi da je x2 0 te x3 0, onda je x = [0, x2 , x3 ]T bazicno dopustivo rjesenje.
Opcenito vrijedi sljedeci teorem.
Teorem 3. Neka P = {x Rn : Ax = b, x 0}, gdje su A Rmn , b Rm te matrica
A punog ranga. Vektor x Rn je bazicno rjesenje onda i samo onda ako je Ax = b te
ako postoje indeksi B(1), . . . , B(m) takvi da vrijedi
a) Stupci AB(1) , . . . , AB(m) matrice A su linearno nezavisni;
b) Ako je i
/ {B(1), . . . , B(m)}, onda je xi = 0.
Na osnovi prethodnog teorema proizlazi procedura za konstrukciju bazicnog rjesenja.
nog rje
Procedura za konstrukciju bazic
senja
1. Odabrati m linearno nezavisnih stupaca AB(1) , . . . , AB(m) matrice A.
2. Staviti xi = 0 za svaki indeks i
/ {B(1), . . . , B(m)}.
3. Rijesiti sustav BxB = b, gdje su
B=
AB(1) AB(2)
AB(m)
xB(1)
..
xB =
,
.
xB(m)
0,
j
/ {B(1), . . . , B(n)}
xB(i) , j = B(i),
je bazicno rjesenje.
Pri tome xB(1) , . . . , xB(m) zovemo bazicne varijable, vektore AB(1) , AB(2) , . . . , AB(m)
zovemo bazicni vektori, B(1), . . . , B(m) zovemo bazicni indeksi, dok matricu B zovemo
matrica baze. Ako bazicno rjesenje x ima svojstvo x 0, onda je x bazicno dopustivo
rjesenje.
23
1 1
0 1
A=
1 0
0 1
1
0
0
0
0
1
0
0
0
0
1
0
0
0
,
0
1
8
12
b=
4 .
6
1 0 0 0
0 1 0 0
B=
0 0 1 0 ,
0 0 0 1
te rjesavamo sustav BxB = b, odakle je xB = [8, 12, 4, 6]T , odnosno x = [0, 0, 0, 8, 12, 4, 6]T
je bazicno rjesenje. Takoder, zbog x 0, vektor x je bazicno dopustivo rjesenje.
ii) Stupci A3 , A5 , A6 i A7 su linearno nezavisni te ih takoder mozemo odabrati za
bazicne vektore. Pri tome pripadna matrica baze glasi
2
6
B=
0
0
0
1
0
0
0
0
1
0
0
0
,
0
1
odakle sliejedi da je xB = [4, 12, 4, 6]T , odnosno bazicno rjesenje x = [0, 0, 4, 0, 12, 4, 6]T .
Uocimo da x nije bazicno dopustivo rjesenje.
Moze se pokazati da u zapisu poliedara u standardnom obliku
P = {x Rn : Ax = b, x 0}, A Rmn , b Rm ,
pretpostavka da je rang(A) = m, nije ogranicenje. Preciznije, vrijedi sljedeci teorem.
Teorem 4. Neka je P = {x Rn : Ax = b, x 0} neprazni poliedar pri cemu su A
Rmn , b Rm . Pretpostavimo da su aTi , i = 1, . . . , m retci matrice A, rang(A) = k < m
te da su retci aTij , j = 1, . . . , k linearno nezavisni. Neka je
Q = {x Rn : aTi1 x = bi1 , . . . , aTik x = bik , x 0}
poliedar u Rn . Onda je P = Q.
2.4
Degeneracija
(21)
x2 + 6x3 12
(22)
x1 4
(23)
x2 6
(24)
x1 0
(25)
x2 0.
(26)
x3 0.
(27)
a) Uocimo da je vektor x = [2, 6, 0]T bazicno dopustivo rjesenje. Naime uvjeti (21),
(24) i (27) aktivni su u x i ima ih tocno tri. Pri tome su odgovarajuci vektori
linearno nezavisni. Osim toga vektor x zadovoljava sve uvjete. Dakle vektor x je
nedegenartivno bazicno dopustivo rjesenje.
b) Vektor x = [4, 0, 2] je takoder bazicno dopustivo rjesenje, jer su uvjeti (21), (22)
i (23) aktivni u x . Pripadni vektori su linearno nezavisni. Takoder, uocimo da
vektor x zadovoljava sve uvjete te je stoga bazicno dopustivo rjesenje. Medutim
lako se vidi da je i uvjet (26) takoder aktivan u x , odakle slijedi da postoji cetiri
aktivna uvjeta u x , odnosno da je x degenerativno bazicno dopustivo rjesenje.
Definicija 12. Neka je
P = {x Rn : Ax = b, x 0}, A Rmn , b Rm ,
poliedar u standardnom obliku te neka je x bazicno rjesenje. Vektor x je degenerativno
bazicno rjesenje ako je vise od n m komponenti vektora x jednako 0.
Primjer 16. Zadan je poliedar u
gdje su
1 1
0 1
A=
1 0
0 1
1
0
0
0
0
1
0
0
0
0
1
0
0
0
,
0
1
8
12
b=
4 .
6
b) Ako je B =
1 0
, onda je bazicno dopustivo rjesenje x = [0, 0, 1]T , koje je
1 2
degenerativno.
1 0
c) Ako je B =
, onda je bazicno dopustivo rjesenje x = [0, 0, 1]T , koje je
1 2
degenerativno.
Primijetimo da poliedar P mozemo zapisati na sljedeci nacin
P = {[x1 , x2 , x3 ]T : x1 x2 = 0, x1 + x2 + 2x3 = 2, x1 , x3 0}.
Vektor x = [0, 0, 1]T u ovom zapisu poliedra postaje nedegenerativno bazicno dopustivo
rjesenje.
Zakljucujemo da svojstvo degenerativnosti ovisi o zapisu poliedra.
2.5
Egzistencija ekstremne to
cke
x + d
Sljedeci teorem pokazat ce da ako problem linearnog programiranja ima rjesenje te ako
odgovarajuci poledar ima ektremnu tocku, onda postoji optimalno rjesenje LP problema
koje je ekstremna tocka poliedra.
Teorem 6. Zadan je LP problem
cT x min,
x
uz uvjet
x P,
gdje je P poliedar. Pretpostavimo da P ima barem jednu ekstremnu tocku te da LP problem
ima optimalno rjesenje. Onda postoji optimalno rjesenje LP problema koje je ekstremna
tocka poliedra P.
Dokaz. Neka je Q skup svih optimalnih rjesenja LP problema. Sukladno pretpostavci
Q=
6 . Pretpostavimo da je poliedar P oblika
P = {x Rn : Ax b}.
Takoder pretpostavimo da je optimalna vrijednost funkcije cilja jednaka v. U tom je
slucaju Q = {x Rn : Ax b, cT x = v}. Nije tesko vidjeti da je Q takoder poliedar.
Ocigledno je Q P. Kako prema pretpostavci P ima ekstremnu tocku, sukladno Teoremu
5 P ne sadrzi pravac pa ni Q takoder ne sadrzi pravac. Zakljucujemo da Q ima ekstremnu
tocku. Neka je x ekstremna tocka od Q. Dokazimo da je x ujedno ekstremna tocka od
P. Pretpostavimo suprotno tj. da postoje vektori y, z P, y 6= x , z x te [0, 1]
takvi da je x = y + (1 )z. Onda je
v = cT x = cT y + (1 )cT z.
27
(28)
uz uvjet
x P,
gdje je P poliedar. Pretpostavimo da P ima barem jednu ekstremnu tocku. Onda je
vrijednost funcije cilja jednaka ili postoji ekstremna tocka poliedra koja je optimalna.
2.6
Zadaci
Zadatak 12. Neka je P Rn poliedar. Dokazite da niti jedna tocka x int P ne moze
biti ekstremna tocka poliedra.
28
1 7 22 0
5
A = 0 3 5 0
2
0 1
0 1 4
standardnom obliku P = {x R7 : Ax =
0 1
1 2 ,
0 3
7
b = 1 .
2
29
Simpleks metoda
uz uvjet
Ax = b
x 0,
gdje su A Rmn , b Rm te c Rn .
Sukladno Teoremu 7, optimalno rjesenje LP problema treba traziti medu bazicnim
dopustivim rjesenjima poliedra P = {x : Ax = b, x 0}. Kako je funkcija cilja f (x) =
cT x konveksna na Rn a poliedar P konveksan skup prema Teoremu 1, svaka tocka u kojoj
se postize lokalni minimum funkcije f ujedno je tocka u kojoj se postize globalni minimum
funkcije f . Analizirat cemo metodu za trazenje lokalnog minimuma funkcije f na skupu
P, koja je poznata pod nazivom simpleks metoda. Navedimo osnovni oblik algoritma na
kojem je zasnovana simpleks metoda.
Algoritam - Simpleks metoda
1. Odaberimo jedno bazicno dopustivo rjesenje poliedra P.
2. repeat
provjeriti sve bridove poliedra P koji izlaze iz odabranog bazicnog dopustivog
rjesenja;
if postoji brid po kojem mozemo smanjiti vrijednost funkcije cilja hodamo
po tom bridu dok ne dodemo do sljedeceg bazicnog dopustivog rjesenja.
Ako takvo bazicno dopustivo rjesenje ne postoji, poliedar je neomeden i
vrijednost funkcije cilja je .
else
return bazicno dopustivo rjesenje je optimalno
forever
Algoritam-Simpleks metoda zapisat cemo u algebarskom obliku. U tu svrhu uvodimo
neke pojmove.
Definicija 14. Neka je x P. Za vektor d Rn kazemo da je dopustivi smjer u vektoru
x, ako postoji > 0 takav da je x + d P.
Neka je x = [x1 , . . . , xn ]T bazicno dopustivo rjesenje poliedra P = {x : Ax = b, x 0}
te neka su B(1), . . . , B(m) indeksi bazicnih varijabli pri cemu je B = [AB(1) , . . . , AB(m) ]
matrica baze. Onda odgovarajuci bazicni dio vektora x glasi xB = B1 b. Nadalje, za
nebazicni dio vektora x vrijedi xi = 0 za svaki i N := {1, . . . , n} \ {B(1), . . . , B(m)}.
Pretpostavimo da se od bazicnog dopustivog rjesenje zelimo pomaknuti u novu tocku
oblika x + d. Pri tome zahtjevamo da vrijede sljedeca dva uvjeta:
1. uvjet optimalnosti: cT (x + d) < cT x.
30
2. uvjet dopustivosti: x + d P.
Pri tome > 0 zovemo duljina koraka, a d vektor smjera. U svrhu konstrukcije vektora
smjera odaberimo jednu nebazicnu varijablu xj , j N . Definirajmo vektor smjera d na
sljedeci nacin: za jtu kompomentu vektora d uzimamao da je dj = 1, te di = 0 za svaki
i N \{j}. Bazicni dio vektora d oznacimo s dB = [dB(1) , . . . , dB(m) ]T te cemo ga odrediti
iz uvjeta dopustivosti tj. tako da vrijedi x + d P, odnosno da je A(x + d) = b, odakle
slijedi da je Ax + Ad = b, odnosno
Ad = 0.
(29)
n
X
i=1
Ai di =
m
X
AB(i) dB(i) + Aj = 0,
i=1
uz uvjet
x1 + x2 + x3 + x4 = 2
2x1 + 3x3 + 4x4 = 2
x1 , x2 , x3 , x4 0.
Za matricu baze odaberemo
B = [A1 , A2 ] =
1 1
2 0
tj. dB =
iN
B1 Ai di . Vrijedi
cT d = cTB dB +
ci di =
iN
(ci cB B1 Ai )di =
iN
ci di .
iN
min
i=1,...,n;di <0
xi
di
min
i=1,...,m;dB(i) <0
xB(i)
dB(i)
Uocimo da je > 0.
Neka je l indeks takav da vrijedi
xB(l)
xB(i)
=
min
= .
i=1,...,m;dB(i) <0
dB(l)
dB(i)
Vrijedi da je dB(l) < 0 te xB(l) + dB(l) = 0, tj. bazicna varijabla xB(l) postaje 0, dok
odabrana nebazicna varijabla xj poprima vrijednost > 0.
33
Teorem 9.
regularna.
B(i), i 6= l,
, i = 1, . . . , m. Kad bi vektori AB(i) , i = 1, . . . , m
j,
i=l
bili linearno zavisni, tada bi postojali 1 , . . . , m ne svi nula tako da je
a) Oznacimo B(i) =
m
X
i AB(i) = 0.
i=1
i B1 AB(i) = 0,
i=1
B1 AB(i) ,
pa slijedi da su i vektori
i = 1, . . . , m takoder linearno nezavisni. Da bi
dokazali da pocetna pretpostavka nije istinita, pokazat cemo da vektori B1 AB(i) i =
1, . . . , m (tj. B1 AB(i) , i 6= l i B1 Aj ) moraju biti linearno nezavisni.
Kako je B1 B = I i AB(i) i-ti stupac matrice B, slijedi da je B1 AB(i) = ei , i =
1, . . . , n. Specijalno, vektori B1 AB(i) = ei , i = 1, . . . , n, i 6= l su linearno nezavisni
i l-ta komponenta im je jednaka nuli. S druge strane je B1 Aj = dB a l-ta
komponenta od dB je dB (l) sto je razlicito od nula po konstrukciji indeksa l
pa se B1 Aj ne moze zapisati kao linearna kombinacija vektora B1 AB(i) , i 6= l,
odnosno vektori B1 AB(i) , i = 1, . . . , m su linearno nezavisni.
b) Oznacimo y = x + d. Kako je Ay = b, AB(i) , i = 1, . . . , m linearno nezavisni
i yi = 0 za i 6 {B(1), . . . , B(m)}, po teoremu 3 slijedi da je y bazicno rjesenje.
Nadalje, kako je y 0, slijedi da je y bazicno dopustivo rjesenje.
2
Zapisimo sada sazeto sada jednu iteraciju Simpleks metode u algebarskom obliku.
=
min
=
min
.
i=1,...,m;ui >0
i=1,...,m;dB(i) <0
dB(i)
ui
34
xB(l)
xB(l)
=
.
dB(l)
ul
Napraviti novu matricu baze zamjenom stupca AB(l) s Aj . Novo BDR y dano je s
yj = , yB(i) = xB(i) + dB(i) = xB(i) ui te yi = 0 za sve i N \ {j}.
Kao sto smo vidjeli, u svakom koraku simpleks metode trebamo racunati inverz matrice
baze. Matrica baze B se u svakoj iteraciji simpleks metode razlikuje od matrice baze B iz
1 2
Primjer 19. Zadana je matrica C = 3 4 . Pomnozimo li treci redak matrice C s
5 6
11 14
2 i dodamo prvom retku dobivamo matricu 3 4 . Uocimo da je ova elementarna
5 6
transformacija nad retcima matrice C ekvivalentna mnozenju matrica QC, pri cemu je
1 0 2
Q = 0 1 0 .
0 0 1
Opcenito elementrana transformacija nad retcima proizvoljne matrice C Rmn , koja
se sastoji u mnozenju jtog retka matrice C sa skalarom 6= 0, te dodavanju itom
retku ekvivalentna je mnozenju matrica QC, pri cemu je
Q = I + Dij ,
gdje je I Rmm te Dij Rmm kvadratna matrica koja na sjecistu itog retka i jtog
stupca sadrzi element , dok su ostali elementi matrice Dij jednaki 0. Uocimo da je
matrica Q regularna jer je det(Q) = 1.
Neka su
B = AB(1) , . . . , AB(l1) , AB(l) , AB(l+1) , . . . , AB(m) te B = AB(1) , . . . , AB(l1) , Aj , AB(l+1) , . . . , AB(m) .
matrice baze u dvije uzastopne iteracije simpleks metode. Vrijedi
1
u1
.
. . ...
..
.
um
..
.
1
= Qm Qm1 Q1 B.
35
3.1
cTB xB
xB(1)
..
.
xB(m)
B1 A,
c1
cn
..
.
...
..
.
B1 A1
..
.
...
...
B1 An
..
.
1 2 2 1 0 0
20
A = 2 1 2 0 1 0 , b = 20 ,
2 2 1 0 0 1
20
36
1 0 0
B = 0 1 0 .
0 0 1
Pri tome su x1 , x2 , x3 nebazicne varijable dok su x4 , x5 i x6 bazicne varijable. Lako se
vidi da je odgovarajuce bazicno dopustivo rjesenje x = [0, 0, 0, 20, 20, 20]T . Pripadni tableu
glasi
10 12 12 0 0 0
0
x4 = 20
x5 = 20
x6 = 20
1
2
2
2
1
2
2
2
1
1 0 0
0 1 0
0 0 1
Medu nebazicnim varijablama zelimo odabrati onu koja ima negativni utjecaj. Vidimo da
mozemo odabrati varijable x1 , x2 ili x3 . Odaberimo x1 za nebazicnu varijablu koju cemo
uvesti u bazu. Pri tome prvi stupac u tableu zovemo pivot stupac. Odgovarajuci stupac je
vektor u = B1 A1 = [1, 2, 2]T (za bazicni dio vektora smjera vrijedi dB = u). Nadalje,
pripadna duljina koraka jednaka je
xB(i)
= min{20, 10, 10} = 10,
i:ui >0 ui
= min
sto znaci da iz baze mozemo izbaciti varijablu x5 ili x6 . Pretpostavimo da smo se odlucili
za varijablu x5 . Pri tome element na sjecistu prvog stupca i drugog retka simpleks tableua
zovemo pivot element, a to je u ovom slucaju 2. Nebazicna varijabla x1 ulazi u bazu,
dok bazicna varijabla x5 napusta bazu. Elementarnim transformacijama pivot stupac transformirat cemo u [0, 1, 0]T . Odgovarajucu transformaciju provest cemo i na nultom retku
simpleks tabeleua. Novi simpleks tableu glasi
100
0 7 2 0
x4 = 10 0 1.5 1 1 0.5 0
x1 = 10 1 0.5 1 0 0.5 0
x6 = 0 0 1 1 0 1 1.
Varijable x2 , x3 i x5 su nebazicne varijable, dok su x1 , x4 i x6 bazicne varijable. Pripadno bazicno dopustivo rjesenje glasi x = [10, 0, 0, 10, 0, 0]T . Uocimo da je rijec o degenarativnom rjesenju (sto cemo ovaj trenutak zanemariti). Dobri izbori nebazicne varijable
su x2 i x3 . Pretpostavimo da smo odabrali nebazicnu varijablu x3 . Pripadni pivot stupac
je u = [1, 1, 1]T (za bazicni dio vektora smjera vrijedi dB = u). Nadalje, pripadna
duljina koraka jednaka je
= min
i:ui >0
xB(i)
= min{10, 10} = 10,
ui
sto znaci da iz baze mozemo izbaciti varijablu x4 ili x1 . Pretpostavimo da smo se odlucili
za varijablu x4 , dakle pivot element je 1. Nakon elementarnih transformacija dobivamo
37
x3 = 10 0
x1 = 0 1
x6 = 10 0
1.5
1
2.5
1 1 0.5 0
0 1
1
0
0 1 1.5 1.
120
= min
= min
,
= 4,
i:ui >0 ui
1.5 2.5
sto znaci da je pivot element 2.5. Prema tome varijabla x6 izlazi iz baze te dobivamo novi
simpleks tableu:
136
0 0 0 3.6
1.6
1.6
x3 = 4 0 0 1 0.4
0.4 0.6
x1 = 4 1 0 0 0.6 0.4
0.4
x2 = 4 0 1 0 0.4 0.6 0.4.
S obzirom da su utjecaji svih varijabli nenegativni slijedi da je x = [4, 4, 4, 0, 0, 0]T optimalno bazicno dopustivo rjesenje.
U slucaju degenerativnog bazicnog dopustivog rjesenja, moze se pojaviti kruzenje ili
ciklus, odnosno pojava da se nakon nekoliko iteracija simpleks metode ponovo vratimo na
pocetno bazicno dopustivo rjesenje. Ovu pojavu ilustrirat cemo na sljedecem primjeru:
Primjer 21. Zada je simpleks tableu
3
3/4
x5 = 0
x6 = 0
x7 = 1
1/4
1/2
0
1/2 6 0 0
20
8
1 9 1 0 0
12 1/2 3 0 1 0
0
1
0 0 0 1.
3.2
Konstrukcija po
cetnog bazi
cnog dopustivog rje
senja
Da bi zapoceli simpleks algoritam, potrebno je jedno bazicno dopustivo rjesenje. Konstrukcija pocetnog BDR-a u nekim slicajevima je ocigledna, no opcenito predstavlja vrlo
slozen problem.
Specijalno, promotrimo LP problem tipa
cT x min
(30)
uz uvjet
Ax b, b 0
x 0.
Odgovarajuci SOLP je
cT x min
x,s
uz uvjet
Ax + s = b, b 0
x, s 0,
odnosno
cT x min
x,s
uz uvjet
[A I]
x
s
x
s
= b, b 0
0.
0
Sada je ocigledno da izbor B = I daje dopustivo rjesenje
koje je zbog pretposb
tavke b 0 ujedno i bazicno dopustivo rjesenje te se moze koristiti kao pocetni BDR u
simpleks metodi.
U opcem slucaju za LP oblika
cT x min
x
uz uvjet
Ax = b,
39
(31)
x 0,
problem konstrukcije pocetnog BDR-a slozen je problem koji zahtjeva rjesavanje pomocnog
LP problema.
Primjetimo da u LP problemu (31) bez smanjenja opcenitosti mozemo pretpostaviti
da je b 0 (ako nije, odgovarajuce jednadzbe u Ax = b pomnozimo s (-1)).
U svrhu odredivanja pocetnog BDR-a za problem (31) uvodimo novi vektor y =
[y1 , . . . , ym ] Rm , y 0 koji se zove vektor artificijelnih varijabli. Definiramo
pomocni LP problem
y1 + + ym min
(32)
x,y
uz uvjet
Ax + y = b,
x, y 0.
Uocimo:
1) Pomocni problem (32) je oblika (30) pa je jedan izbor pocetnog BDR-a
0
b
x
2) Ako je x dopustivo rjesenje od (31), onda je
optimalno rjesenje problema
0
(32) i optimalna vrijednost funkcije cilja u (32) je 0. Kontrapozicijom iz prethodne
tvrdnje slijedi da ako je optimalna vrijednost funkcije cilja u (32) razlicita od 0, onda
problem (31) nema rjesenja.
3) Ako je optimalna vrijednost funkcije cilja u (32) jednaka od 0 (tj. optimalni y = 0),
onda je pripadni optimalni x BDR od (31).
Primjer 22. Odrediti pocetno bazicno dopustivo rjesenje za LP problem
x1 2x2 min
(33)
uz uvjet
x1 x2 + x3 = 5
x1 + x2 + x4 = 8
x1 + x5 = 6
x2 + x6 = 6
x1 , x2 , x3 , x4 , x5 , x6 0
Rje
senje: Najprije prvu jednadzbu pomnozimo s (-1). Sada pomocni problem glasi
y1 + y2 + y3 + y4 min
uz uvjet
x1 + x2 x3 + y1 = 5
x1 + x2 + x4 + y2 = 8
x1 + x5 + y3 = 6
x2 + x6 + y4 = 6
x1 , x2 , x3 , x4 , x5 , x6 , y1 , y2 , y3 , y4 0
40
(34)
Pocetni BDR za problem (34) je [5, 8, 6, 6]T i iteracije simpleks metode dane su u sljedecim
tableuima
25
y1
y2
y3
y4
=5
=8
=6
=6
10
x1 = 5
y2 = 3
y3 = 1
y4 = 6
8
x1 = 6
y2 = 2
x3 = 1
y4 = 6
4
x1 = 6
x2 = 2
x3 = 3
y4 = 4
x1
x2
x3
x5
3 3
1
1
1
0
0
1 1 1 0 0 0 0
1
1
0
0
0
1
1
0
1
0
1
0
0
0
1
0
0
0
0
1
0
0 2 0 1
1 0 0
0 1 0
0 1 1
0 1 0
0 0 0
0
1
0
0
1
0
0
0
0
1
0
0
1
0 0 0
=2
=6
=3
=4
1
0
0
0
0 1
0 0
1 1
0 1
0
0
0
1
1
1
1
0
0
0
0
1
0
0
1
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0 0 0
1
1
1
0
1 1
0
1
0
0
0 0
1
0 1 1
1 1
0
0 1 1
0
1
0
0
0
0
0
1
2 1 1 1
1 1 1
0 0
1
0 1 1
0 1
0
1
0
0
0
0
0
1
0
0
1
0
0
0
0
0
1
0
0
0
0
1
0 1 0
1 1 0
0 1 0
0 0 1
2
0
0
1 0
0
1 1 0
1 1
0 0
0 1 1 1
1
0 1 0
1
0 1
0
0
0 0 1 1
1 1
0 1
0 1
0 1
0 0
1 1
x1
x2
x3
x5
=2
=6
=3
=4
1
0
0
0
0
1
0
0
0 1
0 0
1 1
0 1
0 1
0 1
0 0
1 1
=2
=6
=3
=4
0 0 0
1
0
0
0
0
1
0
0
0 1
0 0
1 1
0 1
0 1
0 1
0 0
1 1
Kako su svi utjecaji nenegativni, pocetni BDR je ujedno i optimalni pa je x = [2, 6, 3, 0, 4, 0]T
i cT x = 14.
Primjedba 7. Prethodno opisani postupak za odredivanje optimalnog rjesenja LP problema koji obuhvaca i rjesavanje pomocnog problema u literaturi je poznat kao dvofazna
simpleks metoda (eng. two-phase simplex method). Pod prvom fazom dvofazne metode podrazumjeva se odredivanje pocetnog BDR-a (tj. rjesavanje pomocnog problema) dok druga
faza sadrzi rjesavanje danog LP problema simpleks metodom.
3.3
Zadaci
5
8
6
6
0
Svedite problem na standardni problem linearnog programiranja i rijesite problem primjenom simpleks tableua. Zadani problem rijesite i geometrijski. Na tom grafickom prikazu
naznacite svaku iteraciju koju ste dobili primjenom simpleks tableua.
Rje
senje: x = [3, 7]T
Zadatak 18. Sljedeci problem zapisite kao LP problem i rijesite ga primjenom simpleks
metode.
Gradevinska tvrtka planira izgradnju novog stambenog naselja koje se sastoji od samostalnih kuca, dvodomki prizemnica i dvodomki katnica. Prema urbanistickom planu, na svakoj
od 60 zemljisnih jedinica s kojima tvrtka raspolaze moze se sagraditi ili tocno 6 samostalnih kuca ili tocno 4 dvodomke prizemnice ili tocno 2 dvodomke katnice ili prenamjeniti
zemljiste u zelenu povrsinu i ne graditi nista na njemu. Cijena izgradnje samostalne kuce
je 40 000 e, dvodomke prizemnice 50 000 e a dvodomke katnice 60 000 e. Zarada na svakoj
samostalnoj kuci je 15 000 e, dvodomki prizemnici 18 000 e a na katnici 20 000 e. Tvrtka
raspolaze s kapitalom od 2 880 000 e. Izgradnje jedne samostalne kuce zahtjeva 2500 sati
rada, dvodomke prizemnice 3000 sati rada a dvodomke katnice 4000 sati rada. Tvrtka
raspolaze s 240 000 sati rada. Koliko kuca pojedinog tipa gradevinar treba izgraditi da bi
ostvario maksimalni profit?
Rje
senje: Treba izgraditi 72 samostalne kuce.
Zadatak 19 (3 boda). U nekom koraku simpleks metode tableu glasi:
0 0 0
x1 = 0 1 0
3
x2 = 2 0 0 1 1
x3 = 3 1 0 0
1
Odredite skup vrijednosti nepoznatih parametara , i tako da
a) trenutno BDR je degenerativno;
b) x4 ulazi u bazu a x3 izlazi iz baze (uz uvazavanje Blandovog pravila);
c) optimalna vrijednost funkcije cilja je 0.
43
Literatura
[1] D. Bertsimas, J. N. Tsitsiklis, Introduction to Linear Optimization, Athena Scientific,
Belmont, Massachusetts, 1997.
[2] R. G. Bland, New Finite Pivoting Rules for Simplex Methos, Mathematics of Operations Research, 2(1977), 103-107
44