Wst¾ep do bada´n operacyjnych
Matematyka, studia I stopnia wyklad
1 Wst ¾ ep
G÷ównym przedmiotem Bada´n Operacyjnych s ¾a zadania optymalizacyjne, zarówno sko´ncze- nie jak i niesko´nczenie wymiarowe. Programowanie liniowe to dzia÷ Bada´n Operacyjnych dotycz ¾acy zada´n sko´nczenie wymiarowych, opisanych przy pomocy funkcji liniowych.
Zadania tego typu pojawiaj ¾a si ¾e przy modelowaniu m.in. procesów planowania produkcji, transportu oraz magazynowania surowców i wytworzonych dóbr.
2 Sformu÷owanie zadania
Ogólnym zadaniem programowania liniowego nazywamy zadanie postaci:
J(u) = c1u1+ ::: + cnun ! min : (1)
uk 0; k 2 I (2)
8>
>>
>>
>>
>>
>>
><
>>
>>
>>
>>
>>
>>
:
a1;1u1 + ::: + a1;nun b1 :::
am;1u1+ ::: + am;nun bm am+1;1u1+ ::: + am+1;nun= bm+1
:::
as;1u1+ ::: + as;nun= bs
; (3)
gdzie u = (u1; :::; un) 2 Rn, natomiast cj, ai;j, bi, i = 1; :::; s; j = 1; :::; n; s ¾a danymi liczbami rzeczywistymi, przy czym nie wszystkie liczby cj i nie wszystkie liczby aij s ¾a równe zero, I f1; :::; ng jest ustalonym zbiorem indeksów; mo·zliwe s ¾a tutaj przypadki:
I = ;, I = f1; :::; ng, m = s, m = 0.
Symbolem hx; yi oznacza´c b ¾edziemy iloczyn skalarny wektorów x = (x1; :::; xn), y = (y1; :::; yn), t.zn. hx; yi =Pn
i=1xiyi, natomiast zapis x y,
gdzie x = (x1; :::; xn), y = (y1; :::; yn), b ¾edzie oznacza÷, ·ze xi yi; i = 1; :::; n.
Powy·zsze zadanie mo·zemy zapisa´c nast¾epuj ¾aco:
8<
:
J(u) = hc; ui ! min :
u 2 U = fu = (u1; :::; un) 2 Rn; ui 0 dla i 2 I, Au b, Au = bg (4) gdzie
c = (c1; :::; cn);
A = 2 66 64
a1;1 ::: a1;n
... ... am;1 ::: am;n
3 77 75; A =
2 66 64
am+1;1 ::: am+1;n
... ... as;1 ::: as;n
3 77 75;
b = 2 66 64
b1 ... bm
3 77 75; b =
2 66 64
bm+1 ... bs
3 77 75:
Ka·zdy punkt u 2 U nazywamy punktem dopuszczalnym zadania (4). Punkt u 2 U nazywamy rozwi ¾azaniem zadania (4), gdy
J(u) J(u) dla dowolnego u 2 U .
Kanonicznym zadaniem programowania liniowego nazywamy zadanie postaci 8<
:
J(u) = hc; ui ! min :
u 2 U = fu = (u1; :::; un) 2 Rn; u 0 , Au = bg ; (5) gdzie A 2 Rmn, b 2 Rm.
Podstawowym zadaniem programowania liniowego nazywamy zadanie postaci 8<
:
J(u) = hc; ui ! min :
u 2 U = fu = (u1; :::; un) 2 Rn; u 0 , Au bg
; (6)
gdzie A i b s ¾a takie, jak wy·zej.
2.1 Równowa·zno´s´c zada´ n
Zajmiemy si ¾e teraz zagadnieniem równowa·zno´sci zada´n ró·znego typu. Dok÷adniej, poka·zemy, ·ze rozwi ¾azywanie zadania podstawowego i zadania ogólnego mo·zna zast ¾api´c rozwi ¾azywaniem zadania kanonicznego.
Istotnie, niech dane b ¾edzie zadanie podstawowe (6) i rozwa·zmy w przestrzeni Rn+m zadanie postaci
8<
:
hd; zi ! min :
z 2 Z = fz = (u; v) 2 Rn+m; z 0 , Cz = bg ; (7) gdzie d = (c; 0) 2 Rn+m,
C = [A j Imm] = 2 66 64
a1;1 ::: a1;n
... ...
am;1 ::: am;n
1 ::: 0 ... ...
0 ::: 1 3 77 75
(Imm jest macierz ¾a jednostkow ¾a wymiaru m m).×atwo zauwa·zy´c, ·ze je´sli u 2 U jest rozwi ¾azaniem zadania (6), to z = (u; v), gdzie
v = b Au; jest rozwi ¾azaniem zadania (7), t.zn. z 2 Z oraz
hd; zi hd; zi
dla dowolnego z 2 Z.
Je´sli natomiast z = (u; v) 2 Z jest rozwi ¾azaniem zadania (7), to u jest rozwi ¾azaniem zadania (6), t.zn. u 2 U oraz
hc; ui hc; ui dla dowolnego u 2 U .
Podobnie, rozwi ¾azywanie zadania ogólnego (4) mo·zna zast ¾api´c rozwi ¾azywaniem zadania kanonicznego. Rzeczywi´scie, rozwa·zmy w przestrzeni Rp (p = m + I + J + J, gdzie J = f1; :::; ngI) zadanie postaci
8>
>>
>>
>>
>>
>>
>>
>>
>>
>>
<
>>
>>
>>
>>
>>
>>
>>
>>
>>
>:
he; zi =X
i2I
ciui+X
i2J
ciwi+X
i2J
ciwi ! min : z 2 Z = fz = (v; ui; i 2 I; wi; i 2 J; wi; i 2 J) 2 Rp; z 0;
v +X
i2I
Aiui+X
i2J
Aiwi +X
i2J
Aiwi = b;
X
i2I
Aiui+X
i2J
Aiwi+X
i2J
Aiwi = bg
= fz 2 Rp; z 0;
2
4 [Imm j Ai; i 2 I j Ai; i 2 J j Ai; i 2 J]
0 j Ai; i 2 I j Ai; i 2 J j Ai; i 2 J 3 5 z =
2 4 b
b 3 5g
; (8)
gdzie e = (0; ci; i 2 I; ci; i 2 J; ci; i 2 J) 2 Rp, v 2 Rm, Ai - i-ta kolumna macierzy A, Ai - i-ta kolumna macierzy A.
Je´sli u 2 U jest rozwi ¾azaniem zadania ogólnego (4), to
z = (v; ui; i 2 I; wi; i 2 J; wi; i 2 J);
gdzie
v = b Au; wi = maxf0; uig; i 2 J;
wi = maxf0; uig; i 2 J;
jest rozwi ¾azaniem zadania (8) (zauwa·zmy, ·ze ui = wi wi dla i 2 J).
Je´sli natomiast
z = (v; ui; i 2 I; wi; i 2 J; wi; i 2 J);
jest rozwi ¾azaniem zadania (8), to
u = (ui; i 2 I; wi wi; i 2 J)
jest rozwi ¾azaniem zadania (4) (z dok÷adno´sci ¾a do kolejno´sci wspó÷rz ¾ednych).
2.2 Interpretacja geometryczna zada´ n programowania liniowego
Rozwa·zmy zadanie podstawowe (6) w przypadku, gdy n = 2, czyli 8>
>>
<
>>
>:
J(u) = c1u1+ c2u2 ! min :
u 2 U = fu = (u1; u2) 2 R2; u1 0; u2 0;
ai;1u1+ ai;2u2 bi; i = 1; :::; mg
: (9)
Wprowad´zmy oznaczenia
U0;1 = f(u1; u2) 2 R2; u1 0g;
U0;2 = f(u1; u2) 2 R2; u2 0g;
Ui = f(u1; u2) 2 R2; ai;1u1 + ai;2u2 big; i = 1; :::; m:
Oczywi´scie
U = U0;1\ U0;2\ U1\ ::: \ Um: Mo·zliwe s ¾a nast ¾epuj ¾ace przypadki:
10 zbiór U jest pusty
20 zbiór U jest niepustym wielobokiem wypuk÷ym i ograniczonym
30 zbiór U jest niepustym wielobokiem wypuk÷ym i nieograniczonym
Ustalmy liczb ¾e 2 R. Równanie
c1u1+ c2u2 =
opisuje poziomic ¾e funkcjona÷u J odpowiadaj ¾ac ¾a warto´sci , czyli zbiór f(u1; u2) 2 R2; J(u) = g:
Jest to prosta o wektorze prostopad÷ym c = (c1; c2). Przy wzro´scie warto´sci sta÷ej prosta ta zmienia swoje po÷o·zenie, przesuwaj ¾ac si ¾e w sposób równoleg÷y w kierunku wektora c, przy czym dla dowolnego punktu p÷aszczyzny istnieje 2 R takie, ·ze punkt ten le·zy na prostej wyznaczonej przez .
W przypadku 20 zawsze istnieje punkt pierwszego kontaktu (by´c mo·ze nie jedyny) przesuwaj ¾acej si ¾e prostej, w kierunku c, z wielobokiem U . Odpowiednia warto´s´c sta÷ej wynosi wówczas
minu2UJ(u) =: J
W przypadku 30 ów punkt pierwszego kontaktu istnieje (by´c mo·ze nie jedyny) lub nie.
Je´sli nie istnieje, oznacza to, ·ze zadanie nie ma rozwi ¾azania; w takim przypadku
u2UinfJ(u) = 1:
Z powy·zszej analizy wynika, ·ze zadanie (9) mo·ze nie mie´c rozwi ¾aza´n, mo·ze mie´c jedno rozwi ¾azanie lub mo·ze mie´c niesko´nczenie wiele rozwi ¾aza´n. Ponadto, w przypadku, gdy zbiór rozwi ¾aza´n jest niepusty, w zbiorze tym istnieje co najmniej jeden punkt, który jest wierzcho÷kiem wieloboku U .
Podobn ¾a dyskusj ¾e mo·zna przeprowadzi´c w przypadku n = 3, zast¾epuj ¾ac wielobok wielo´s- cianem, a prost ¾a - p÷aszczyzn ¾a.
2.3 Punkty wierzcho÷kowe
Punkt v 2 V Rn nazywamy punktem wierzcho÷kowym (punktem ekstremalnym) zbioru wypuk÷ego i domkni ¾etego V , je´sli przedstawienie
v = v1+ (1 )v2; (10)
gdzie 2 (0; 1), v1; v2 2 V , mo·zliwe jest tylko wtedy, gdy v1 = v2. Innymi s÷owy, punkt v 2 V jest punktem wierzcho÷kowym zbioru V , gdy nie jest on punktem wewn ¾etrznym od- cinka o ró·znych ko´ncach nale·z ¾acych do V . Poj ¾ecie punktu wierzcho÷kowego jest poj ¾eciem fundamentalnym w teorii programowania liniowego.
W dalszej cz ¾e´sci wyk÷adu poka·zemy, ·ze je´sli zadanie kanoniczne (przy dowolnym n 2 N) posiada rozwi ¾azanie, to w´sród rozwi ¾aza´n jest co najmniej jeden punkt wierzcho÷kowy zbioru
U = fu 2 Rn; u 0; Au = bg: (11)
Teraz podamy charakteryzacj ¾e punktów wierzcholkowych zbioru postaci (11).
Twierdzenie 1 Niech dany b ¾edzie zbiór U postaci (11) i punkt v 2 Rn, przy czym A 2 Rmnf0g, r := rankA. Punkt v jest punktem wierzcho÷kowym zbioru U wtedy i tylko wtedy, gdy istniej ¾a wska´zniki 1 j1 < ::: < jr n takie, ·ze
8>
>>
>>
><
>>
>>
>>
:
vj 0; j 2 fj1; :::; jrg vj = 0; j =2 fj1; :::; jrg Aj1vj1 + ::: + Ajrvjr = b
kolumny Aj1; :::; Ajr s ¾a liniowo niezale·zne w Rm
(12)
Dowód powy·zszego twierdzeni mo·zna znale´z´c w monogra i [V].
Uk÷ad wektorów Aj1,...,Ajr wyst ¾epuj ¾acych w warunkach (12) nazywamy baz ¾a punktu wierzcho÷kowego v, a odpowiednie wspó÷rz ¾edne vj1,...,vjr - wspó÷rz ¾ednymi bazowymi punktu wierzcho÷kowego v. Punkt wierzcho÷kowy, którego wszystkie wspó÷rz ¾edne bazowe s ¾a do- datnie nazywamy nieosobliwym. Punkt wierzcho÷kowy, którego co najmniej jedna wspó÷rz ¾edna bazowa jest równa zero nazywamy osobliwym. Zmienne uj1,...,ujr nazywamy zmiennymi bazowymi, a pozosta÷e - zmiennymi niebazowymi (przy ustalonej bazie Aj1,...,Ajr).
Z twierdzenia 1 wynika, ·ze baza nieosobliwego punktu wierzcho÷kowego zbioru (11) jest wyznaczona jednoznacznie. Osobliwy punkt wierzcho÷kowy mo·ze mie´c wiele baz.
2.4 Metoda sympleksowa
Metoda sympleksowa polega na uporz ¾adkowanym sprawdzaniu warto´sci funkcjona÷u kosztu w punktach wierzcho÷kowych zbioru ograniczaj ¾acego (uporz ¾adkowanie oznacza tu, ·ze warto´sci funkcjona÷u kosztu w kolejnych punktach nie rosn ¾a).
Rozwa·zmy zadanie kanoniczne postaci 8<
:
J(u) = hc; ui ! min :
u 2 U = fu 2 Rn; u 0 , Au = bg (13)
gdzie 0 6= A 2 Rmn, przy czym zak÷ada´c b ¾edziemy w tym rozdziale, ·ze U 6= ? (kwestia niepusto´sci zbioru U omówiona b ¾edzie w dalszej cz ¾e´sci wyk÷adu). Oczywi´scie rankA minfm; ng (podobnie, jak wcze´sniej, rankA oznacza´c b ¾edziemy przez r). Równo´s´c
Au = b mo·zemy zapisa´c w postaci uk÷adu równa´n
Ai; u
= bi; i = 1; :::; m;
gdzie Ai oznacza i-ty wiersz macierzy A. Nie zmniejszaj ¾ac ogólno´sci rozwa·za´n, mo·zemy za÷o·zy´c, ·ze r = m. Oczywi´scie r n. Je·zeli r = n, to powy·zszy uk÷ad ma dok÷adnie jedno rozwi ¾azanie u, przy czym u 0 (gdyby która´s ze wspó÷rz ¾ednych punktu u by÷a ujemna,
to zbiór U by÷by pusty, co sprzeczne by÷oby z naszym za÷o·zeniem). W konsekwencji zbiór U jest jednoelementowy i tym samym u jest rozwi ¾azaniem zadania (13).
B ¾edziemy wi ¾ec zak÷ada´c w dalszym ci ¾agu, ·ze r = m oraz r < n. Równo´s´c Au = b
mo·zemy wi ¾ec zapisa´c w postaci 8>
>>
<
>>
>:
a1;1u1+ ::: + a1;nun= b1 :::
ar;1u1+ ::: + ar;nun= br
(14)
gdzie r = rankA < n.
Podamy teraz opis metody sympleksowej. Przypu´s´cmy, ·ze dany jest punkt wierzcho÷kowy v zbioru
U = fu 2 Rn; u 0 , Au = bg
i za÷ó·zmy, ·ze kolumny A1,...,Ars ¾a baz ¾a tego puntu. Wprowad´zmy nast ¾epuj ¾ace oznaczenia
u = 2 66 64
u1 ... ur
3 77 75; v =
2 66 64
v1 ... vr
3 77 75; c =
2 66 64
c1
... c1
3 77 75;
B = 2 66 64
a1;1 ::: a1;r
... ... ar;1 ::: ar;r
3 77
75= [A1 j ::: j Ar] :
Wówczas uk÷ad (14) mo·zemy zapisa´c w postaci
Bu + Ar+1ur+1+ ::: + Anun= b: (15) Z liniowej niezale·zno´sci kolumn A1,...,Arwynika, ·ze istnieje macierz odwrotna B 1. Wspó÷rz ¾edne niebazowe punktu v s ¾a zerowe, a wi ¾ec z (15) otrzymujemy
Bv = b;
sk ¾ad
v = B 1b:
Mno·z ¾ac równo´s´c (15) lewostronnie przez B 1, otrzymujemy u +
Xn k=r+1
B 1Akuk = B 1b = v: (16)
Oznaczmy
s;k = (B 1Ak)s dla k = r + 1; :::; n; s = 1; :::; r
gdzie (B 1Ak)soznacza s-t ¾a wspó÷rz ¾edn ¾a wektora-kolumny B 1Ak. Równo´s´c (16) mo·zemy teraz zapisa´c w postaci nast ¾epuj ¾acego uk÷adu równa´n
8>
>>
>>
><
>>
>>
>>
:
u1 + 1;r+1ur+1+ ::: + 1;nun = v1 u2 + 2;r+1ur+1+ ::: + 2;nun = v2
:::
ur+ r;r+1ur+1+ ::: + r;nun = vr
: (17)
Okre´slmy tak·ze
s;k = (B 1Ak)s
dla k = 1; :::r; s = 1; :::; r (oczywi´scie s:k = s;kdla k = 1; :::; r; s = 1; :::; r, gdzie s;k = 1 gdy s = k oraz s;k = 0 gdy s 6= k).
Pokazali´smy wi ¾ec, ·ze maj ¾ac ustalony punkt wierzcho÷kowy v zbioru U i wiedz ¾ac, ·ze wspó÷rz ¾edne z indeksami 1,...,r s ¾a jego wspó÷rz ¾ednymi bazowymi, mo·zna zapisa´c ograniczenia (14) w równowa·znej postaci (15) lub (16) lub (17).
Warto´s´c funkcjona÷u kosztu J w punkcie u spe÷niaj ¾acym ograniczenia typu równo´sci (14), mo·zna zapisa´c w nast¾epuj ¾acej postaci
J(u) = hc; ui = Xn
i=1
ciui = hc; ui + Xn i=r+1
ciui
=
* c; v
Xn i=r+1
B 1Aiui +
+ Xn i=r+1
ciui
= hc; vi
Xn i=r+1
(
c; B 1Ai
ci)ui:
Poniewa·z
hc; vi = hc; vi = J(v);
wi ¾ec
J(u) = J(v)
Xn i=r+1
iui; (18)
gdzie
i =
c; B 1Ai
ci; i = r + 1; :::; n:
Okre´slmy tak·ze
i =
c; B 1Ai
ci (19)
dla i = 1; :::; r. Oczywi´scie
i =
c; B 1Ai
ci = hc; eii ci = ci ci = 0
dla i = 1; :::; r (tutaj ei jest i-t ¾a kolumn ¾a macierzy jednostkowej o wymiarach r r).
Dokonajmy cz ¾e´sciowego podsumowania. Pokazali´smy, ·ze zadanie (13) mo·zemy zapisa´c w nast ¾epuj ¾acej postaci
8>
<
>:
J(u) = J(v) Pn
i=r+1
iui ! min :
U = fu = (u1; :::; un) 2 Rn; u 0 , u spe÷nia (17)g
(20)
Wyst ¾epuj ¾ace w powy·zszym opisie wielko´sci s;k, vi, i zapiszemy w postaci tzw. tablicy sympleksowej, odpowiadaj ¾acej punktowi wierzcho÷kowemu v
Tablica sympleksowa I (dla punktu v)
u1 ::: ui ::: us ::: ur ur+1 ::: uk ::: uj ::: un u1 1 ::: 0 ::: 0 ::: 0 1;r+1 ::: 1;k ::: 1;j ::: 1;n v1
... ... ... ... ... ... ... ... ... ...
ui 0 ::: 1 ::: 0 ::: 0 i;r+1 ::: i;k ::: i;j ::: i;n vi
... ... ... ... ... ... ... ... ... ...
us 0 ::: 0 ::: 1 ::: 0 s;r+1 ::: s;k ::: s;j ::: s;n vs
... ... ... ... ... ... ... ... ...
ur 0 ::: 0 ::: 0 ::: 1 r;r+1 ::: r;k ::: r;j ::: r;n vr 0 ::: 0 ::: 0 ::: 0 r+1 ::: k ::: j ::: n J(v) Analizuj ¾ac tablic ¾e sympleksow ¾a I, mo·zemy wyró·zni´c trzy przypadki:
10 spe÷nione s ¾a nierówno´sci
i =
c; B 1Ai
ci 0 (21)
dla i = r + 1; :::; n; t.zn. w ostatnim wierszu tablicy sympleksowej wszystkie liczby i s ¾a niedodatnie. W tym przypadku punkt v, dla którego skonstruowana zosta÷a tablica sympleksowa, jest rozwi ¾azaniem zadania. Istotnie, bowiem dla dowolnego u 2 U mamy
J(u) = J(v)
Xn i=r+1
iui J(v)
(bo i 0, ui 0).
20 istnieje wska´znik k 2 fr + 1; :::; ng taki, ·ze 8<
:
k > 0
i;k 0 dla i = 1; :::; r (czyli B 1Ak 0) (22) Oznacza to, ·ze w k-tej kolumnie tablicy sympleksowej ostatni element (k) jest dodatni, a pozosta÷e - niedodatnie. W tym przypadku inf
u2UJ(u) = 1 (dowód tego faktu pomijamy).
Oznacza to, ·ze zadanie nie ma rozwi ¾azania:
30 nie zachodz ¾a przypadki 10 i 20; w konsekwencji istniej ¾a wska´zniki k 2 fr + 1; :::; ng, i 2 f1; :::; rg takie, ·ze
k > 0; i;k > 0: (23)
Oznacza to, ·ze w k-tej kolumnie tablicy sympleksowej ostatni element (k) jest dodatni i co najmniej jedna z liczb i;k jest dodatnia.
Za÷ó·zmy, ·ze zachodzi przypadek 30 i okre´slmy zbiór
Iv;k = fi 2 f1; :::; rg; i;k > 0g:
Niech s 2 Iv;k b ¾edzie takim wska´znikiem, ·ze vs
s;k = min
i2Iv;k
vi
i;k (24)
Wspó÷czynnik s;k, gdzie wska´zniki k; s s ¾a okre´slone przez (23) i (24), nazywany jest elementem rozwi ¾azuj ¾acym tablicy sympleksowej I.
Mo·zna pokaza´c, ·ze uk÷ad kolumn
A1; :::; As 1; As+1; :::; Ar; Ak (25) jest baz ¾a pewnego punktu wierzcho÷kowego w, przy czym
J(w) J(v):
Uwaga 1. Z faktu, ·ze macierz A ma r wierszy wynika, wobec twierdzenia charak- teryzuj ¾acego punkty wierzcho÷kowe, i·z baza (25) wyznacza punkt wierzcho÷kowy w sposób jednoznaczny. Mo·zna wi ¾ec znale´z´c wspó÷rz¾edne punktu w, korzystaj ¾ac z tego twierdzenia.
Przejd´zmy teraz do przypadku ogólnego. ×atwo zauwa·zy´c, ·ze je´sli wspó÷rz¾ednymi bazowymi punktu v s ¾a
vj1; :::; vjr;
gdzie 1 j1 < ::: < jr n, to wzory wyra·zaj ¾ace zmienne bazowe i funkcjona÷ kosztu przy pomocy zmiennych niebazowych, przyjmuj ¾a posta´c (poni·zej symbolem Iv oznaczamy
zbiór fj1; :::; jrg) 8
>>
>>
><
>>
>>
>:
uj1 = vj1 P
k =2Iv
j1;kuk :::
ujr = vjr P
k =2Iv
jr;kuk
(26)
J(u) = J(v) X
k =2Iv
kuk; (27)
gdzie
ji;k = (B 1Ak)i ; i = 1; :::; r; k =2 Iv (28)
k =
c; B 1Ak
ck; k =2 Iv; (29)
z B = [Aj1 j ::: j Ajr], c = (cj1; :::; cjr). Podobnie, jak wcze´sniej vji = (B 1b)i; i = 1; :::; r:
Uwaga 2. Wspó÷rz ¾edne, o których mowa w Uwadze 1 mo·zna wyznaczy´c przy pomocy powy·zszego wzoru.
Okre´slmy tak·ze
ji;k = (B 1Ak)i = ji;k; i = 1; :::; r; k 2 Iv;
k =
c; B 1Ak
ck = 0; k 2 Iv:
W tym przypadku tablica sympleksowa dla punktu v jest nast ¾epuj ¾aca:
Tablica sympleksowa II (dla punktu v)
u1 ::: uj1 ::: uji ::: uk ::: ujs ::: uj ::: ujr ::: un
uj1 j1;1 ::: 1 ::: 0 ::: j1;k ::: 0 ::: j1;j ::: 0 ::: j1;n vj1
... ... ... ... ... ... ... ... ... ...
uji ji;1 ::: 0 ::: 1 ::: ji;k ::: 0 ::: ji;j ::: 0 ::: ji;n vji
... ... ... ... ... ... ... ... ... ...
ujs js;1 ::: 0 ::: 0 ::: js;k ::: 1 ::: js;j ::: 0 ::: js;n vjs
... ... ... ... ... ... ...
ujr jr;1 ::: 0 ::: 0 ::: jr;k ::: 0 ::: jr;j ::: 1 ::: jr;n vjr
1 ::: 0 ::: 0 ::: k ::: 0 ::: j ::: 0 ::: n J(v) Tak, jak wcze´sniej, nale·zy rozwa·zy´c trzy przypadki:
10 spe÷niony jest warunek
k 0; k =2 Iv (30)
20 istnieje k =2 Iv takie, ·ze
k > 0; ji;k 0; i = 1; :::; r (31) 30 nie zachodzi przypadek 10 i 20; w konsekwencji istniej ¾a k =2 Iv oraz ji 2 Iv takie, ·ze
k > 0; ji;k > 0. (32)
Podobnie, jak wcze´sniej, mo·zna sprawdzi´c, ·ze w pierwszym przypadku punkt v jest rozwi ¾azaniem zadania (13), w drugim - inf
u2Uhc; ui = 1, czyli zadanie (13) nie ma rozwi ¾azania.
W trzecim przypadku mo·zna wybra´c indeksy k oraz js 2 Iv;k na podstawie warunku (31) oraz warunku
vjs
js;k = min
ji2Iv;k
vji
ji;k, (33)
gdzie Iv;k = fji 2 Iv; ji;k > 0g,które s ¾a analogiczne do warunków (23), (24). Nast ¾epnie, nale·zy wykona´c przej´scie do nowego punktu wierzcho÷kowego w. Baz ¾a punktu w b ¾edzie uk÷ad kolumn (z dok÷adno´sci ¾a do ich kolejno´sci)
Aj1; :::; Ajs 1; Ajs+1; :::; Ajr; Ak,
przy czym
J(w) J(v):
Wspó÷rz ¾edne punktu w mo·zna wyznaczy´c na podstawie twierdzenia charakteryzuj ¾acego punkty wierzcho÷kowe lub w sposób opisany w Uwadze 2.
Uwaga 3. Mo·zna pokaza´c, ·ze 8>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
><
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
:
wj1 = vj1 j1;k vjs .. js;k
.
wji = vji ji;k vjs ... js;k
wjs 1 = vjs 1 js 1;k vjs
js;k
wjs = vjs js;k vjs
js;k = 0 wjs+1 = vjs+1 js+1;k vjs
.. js;k
.
wjr = vjr jr;k vjs
js;k
wk = vjs
js;k
wl = 0; l =2 Iv; l 6= k;
Tablica sympleksowa dla punktu w przyjmuje posta´c
Tablica sympleksowa III (dla punktu w)
u1 ::: uj1 ::: uji ::: uk ::: ujs ::: uj ::: ujr ::: un
uj1 0j1;1 ::: 1 ::: 0 ::: 0 ::: 0j1;js ::: 0j1;j ::: 0 ::: 0j1;n wj1
... ... ... ... ... ... ... ... ... ...
uji 0ji;1 ::: 0 ::: 1 ::: 0 ::: 0ji;js ::: 0ji;j ::: 0 ::: 0ji;n wji
... ... ... ... ... ... ... ... ... ...
uk 0k;1 ::: 0 ::: 0 ::: 1 ::: k;j0 s ::: 0k;j ::: 0 ::: 0k;n wk
... ... ... ... ... ... ... ... ... ...
ujs 1 0js 1;1 ::: 0 ::: 0 ::: 0 ::: 0js 1;js ::: 0js 1;j ::: 0 ::: 0js 1;n wjs 1 ujs+1 0js+1;1 ::: 0 ::: 0 ::: 0 ::: 0js+1;js ::: 0js+1;j 0 0js+1;n wjs+1
... ... ... ... ... ... ...
ujr 0jr;1 ::: 0 ::: 0 ::: 0 ::: 0jr;js ::: 0jr;j ::: 1 ::: 0jr;n wjr
01 ::: 0 ::: 0 ::: 0 ::: j0s ::: 0j ::: 0 ::: 0n J(w) gdzie wspó÷czynniki 0i;j, 0j s ¾a okre´slone przy pomocy wzorów analogicznych do (28),
(29) z macierz ¾a B postaci
[Aj1 j ::: j Ak j ::: j Ajs 1 j Ajs+1 j ::: j Ajr]
(podobnie, jak wcze´sniej, zak÷adamy tu, ·ze wiersze i kolumny w tablicy sympleksowej oraz kolumny macierzy B s ¾a ustawione w kolejno´sci rosn ¾acych indeksów).
Uwaga 4. Mo·zna pokaza´c, ·ze 8<
:
0ji;j = ji;j ji;k
js;k js;j ; i = 1; :::; r; i 6= s; j = 1; :::n;
0k;j = js;j
js;k; j = 1; :::n;
oraz
0j = j k
js;j
js;k dla j = 1; :::; n:
Opisany wi ¾ec zosta÷ jeden krok metody sympleksowej w dowolnym przypadku (co do bazy punktu wierzcho÷kowego), czyli przej´scie od jednego punktu wierzcho÷kowego (v) zbioru U do drugiego punktu wierzcho÷kowego (w) tego zbioru (w przypadku 30) w taki sposób,
·ze
J(w) J(v).
2.5 Regu÷a antycykliczna
Podczas realizacji metody sympleksowej mo·ze si ¾e zdarzy´c, ·ze 0 = min
ji2Iv;k
vji
ji;k = vjs js;k.
Ze wzorów podanych w Uwadze 3 wynika, ·ze w takim przypadku w = v
i w konsekwencji
J(w) = J(v),
a przej´scie od punktu v do punktu w oznacza jedynie przej´scie od bazy Aj1; :::; Ajr
do bazy
Aj1; :::; Ak; :::; Ajs 1; Ajs+1; :::; Ajr.
Mo·zna poda´c przyk÷ad zadania pokazuj ¾acy, ·ze metoda sympleksowa mo·ze si ¾e zap ¾etli´c, tzn. w kolejnych iteracjach punkt wierzcho÷kowy nie b ¾edzie si ¾e zmienia÷, a jego bazy b ¾ed ¾a zmienia÷y si ¾e w sposób okresowy (cykliczny).
Mo·zna jednak okre´sli´c (na ró·zne sposoby) regu÷ ¾e wyboru elementu rozwi ¾azuj ¾acego w taki sposób, by unikn ¾a´c owego zap ¾etlenia. Ka·zda taka regu÷a nazywana jest regu÷ ¾a antycyk- liczn ¾a. Podamy teraz opis jednej z takich regu÷.
Do tablicy sympleksowej punktu v (dla uproszczenia przyjmijmy, ·ze kolumny A1,...,Ar
tworz ¾a baz ¾e punktu v) dopisujemy rr - wymiarow ¾a macierz jednostkow ¾a [di;j]. Dopisane wyrazy przekszta÷camy w ka·zdej iteracji zgodnie ze wzorami podanymi w Uwadze 4, przy czym nie tworzymy wspó÷czynników . Element rozwi ¾azuj ¾acy s;k wybieramy w nast ¾epuj ¾acy sposób.
Niech k> 0 i Iv;k = fi 2 f1; :::; rg; i;k > 0g 6= ?. Okre´slmy zbiór Iv;k;1 = fs 2 Iv;k; min
i2Iv;k
vi
i;k = vs s;kg:
Je´sli zbiór Iv;k;1 zawiera wi ¾ecej ni·z jeden element, to tworzymy zbiór Iv;k;2= fs 2 Iv;k;1; min
i2Iv;k;1
di;1
i;k = ds;1 s;kg.
Je´sli mamy ju·z okre´slony zbiór Iv;k;m (m 2) i zawiera on wi ¾ecej ni·z jeden element, to tworzymy zbiór
Iv;k;m+1 = fs 2 Iv;k;m; min
i2Iv;k;m
di;m
i;k = ds;m
s;kg.
Dowodzi si ¾e, ·ze istnieje l 2 f1; :::; r + 1g takie, ·ze zbiór Iv;k;l sk÷ada si ¾e z jednego elementu s, przy czym wszystkie zbiory Iv;k;i, i = 1; :::; l 1, zawieraj ¾a wi ¾ecej ni·z jeden element.
Jako indeks s, s÷u·z ¾acy do okre´slenia elementu rozwi ¾azuj ¾acego, przyjmujemy ów jedyny element zbioru Iv;k;l.
Mo·zna pokaza´c, ·ze stosowanie w ka·zdym kroku metody sympleksowej takiego sposobu wyboru indeksu s, wyznaczaj ¾acego element rozwi ¾azuj ¾acy, pozwala unikn ¾a´c zap ¾etlenia i w sko´nczonej ilo´sci kroków znale´z´c rozwi ¾azanie zadania, b ¾ad´z stwierdzi´c, ·ze rozwi ¾azanie nie istnieje (1).
2.6 Wybór pocz ¾ atkowego punktu wierzcho÷kowego
Niech dane b ¾edzie zadanie kanoniczne
J(u) = hc; ui ! min : (34)
u 2 U = fu = (u1; :::; un) 2 Rn; u 0 , Au = bg, (35) gdzie ; 6= A 2 Rmn. Opisuj ¾ac metod ¾e sympleksow ¾a, zak÷adali´smy mi ¾edzy innymi, ·ze zbiór U jest niepusty i znany jest pewien punkt wierzcho÷kowy tego zbioru. Poka·zemy teraz jak stwierdzi´c, czy U 6= ? i znale´z´c ów punkt wierzcho÷kowy.
Bez zmniejszania ogólno´sci rozwa·za´n mo·zemy za÷o·zy´c, ·ze bi 0 dla i = 1; :::; m (mno·z ¾ac w razie potrzeby odpowiednie równania przez 1).
1Zatem nie mo·ze si ¾e tak·ze zdarzy´c, ·ze w nieuporz ¾adkowany sposób b ¾edziemy przerabia´c bazy jednego punktu wierzcho÷kowego, a tak·ze, i·z w niesko´nczony sposób (cykliczny lub nie) b ¾edziemy przerabia´c punkty wierzcho÷kowe (przej´scie do kolejnego punktu wierzcho÷kowego w 6= v oznacza, ·ze vjs > 0 i w konsekwencji J(w) < J(v)).
Rozwa·zmy zadanie pomocnicze postaci
J1(z) = un+1+ ::: + un+m ! min : (36)
z 2 Z = fz = 2 4 u
w 3
5 2 Rn+m; z 0; Cz = bg; (37)
gdzie C = [A j Imm], w = (un+1; :::; un+m). Uk÷ad Cz = b zapiszmy w postaci 8
>>
><
>>
>:
a1;1u1+ ::: + a1;nun+ un+1 = b1 :::
am;1u1+ ::: + am;nun+ un+m= bm :
×atwo wida´c, ·ze zbiór Z jest niepusty, bowiem z0 := (0; b) 2 Z.
×atwo te·z wida´c, ·ze z0 jest punktem wierzcho÷kowym zbioru Z z baz ¾a z÷o·zon ¾a z ostat- nich m kolumn macierzy C, czyli wektorów jednostkowych e1,...,em 2 Rm (rankC = m).
Mo·zna wi ¾ec do zadania (36)-(37) zastosowa´c metod¾e sympleksow ¾a z pocz ¾atkowym punk- tem wierzcho÷kowym z0.
Poniewa·z
J1(z) 0; z 2 Z;
wi ¾ec niemo·zliwy jest przypadek
z2ZinfJ1(z) = 1:
Zatem, stosuj ¾ac metod ¾e sympleksow ¾a do zadania (36)-(37), w sko´nczonej ilo´sci kroków otrzymamy punkt wierzcho÷kowy z = (u; w) 2 Z b ¾ed ¾acy rozwi ¾azaniem zadania (36)- (37).
Mo·zliwe s ¾a tutaj dwa przypadki.
10 J1(z) > 0. Wówczas zbiór U (dany przez (35)) jest zbiorem pustym. Istotnie, w przeciwnym bowiem razie (czyli gdyby istnia÷ punkt u 2 U ) punkt z = (u; 0) nale·za÷by do zbioru Z oraz spe÷niona by÷aby równo´s´c
J1(z) = 0;
co sprzeczne jest z nierówno´sci ¾a J1(z) > 0 i optymalno´sci ¾a punktu z.
20 J1(z) = 0. Wówczas punkt z jest postaci (u; 0). Jako punkt uzyskany przy pomocy metody sympleksowej z jest punktem wierzcho÷kowym zbioru Z. St ¾ad wynika,
·ze u jest punktem wierzcho÷kowym zbioru U . Istotnie, poniewa·z z 0, wi ¾ec u 0, natomiast z równo´sci
Cz = b wynika, ·ze
Au = b.
A wi ¾ec
u 2 U . Przypu´s´cmy teraz, ·ze
u = u + (1 )eu;
gdzie 2 (0; 1), u; eu 2 U . Punkty z = (u; 0), ez = (eu; 0) nale·z ¾a oczywi´scie do zbioru Z, przy czym
z = z + (1 )ez.
Poniewa·z z jest punktem wierzcho÷kowym zbioru Z, wi ¾ec to oznacza, ·ze z = ez,
sk ¾ad
u = eu.
A zatem u jest punktem wierzcho÷kowym zbioru U .
Pokazali´smy wi ¾ec, ·ze maj ¾ac wyj´sciowe zadanie (34)-(35) i rozwa·zaj ¾ac zadanie pomoc- nicze (36)-(37), potra my stwierdzi´c (stosuj ¾ac metod ¾e sympleksow ¾a do zadania (36)-(37)), czy U 6= ? i, je´sli tak, wyznaczy´c pocz ¾atkowy punkt wierzcho÷kowy zbioru U .
Uwaga 3. Maj ¾ac punkt wierzcho÷kowy u zbioru U mo·zna wyznaczy´c rz ¾ad macierzy A i wskaza´c wspó÷rz ¾edne bazowe punktu v w nast ¾epuj ¾acy sposób. Dodatnie wspó÷rz ¾edne punktu v s ¾a oczywi´scie jego wspó÷rz ¾ednymi bazowymi. Uzupe÷niaj ¾ac uk÷ad kolumn odpowiadaj ¾acych tym·ze dodatnim wspó÷rz¾ednym kolumnami wybranymi spo´sród pozosta÷ych kolumn tak, by otrzymany uk÷ad stanowi÷ baz ¾e pow÷oki liniowej wszystkich kolumn, otrzy- mamy baz ¾e punktu v (zna´c te·z b ¾edziemy rankA i wspó÷rz¾edne bazowe punktu v). Ta metoda w praktyce jest stosowana w przypadku ma÷ych warto´sci m i n.
Z rozwa·za´n dotycz ¾acych zadania pomocniczego (36)-(37) wynika
Twierdzenie 2 Je´sli zbiór U dany przez (35) jest niepusty, to ma co najmniej jeden punkt wierzcho÷kowy.
Korzystaj ¾ac z opisu metody sympleksowej, udowodnimy teraz dwa podstawowe fakty teorii programowania liniowego.
Twierdzenie 3 Na to, aby kanoniczne zadanie postaci (34)-(35) mia÷o rozwi ¾azanie, t.zn.
aby istnia÷ punkt u 2 U taki, ·ze
hc; ui = inf
u2Uhc; ui potrzeba i wystarcza, aby
1) zbiór U by÷ niepusty
2) funkcjona÷ J(u) = hc; ui by÷ ograniczony z do÷u na zbiorze U . Dowód. Konieczno´s´c. Konieczno´s´c warunków 1) i 2) jest oczywista.
Dostateczno´s´c. Z warunku 1) i twierdzenia 2 wynika, ·ze istnieje punkt wierzcho÷kowy zbioru U . Mo·zna wi ¾ec, startuj ¾ac z tego punktu, rozwi ¾azywa´c zadanie metod ¾a symplek- sow ¾a. Z warunku 2) wynika, ·ze w ·zadnej iteracji nie zajdzie przypadek 20 (z opisu metody
sympleksowej). Oznacza to, ·ze po sko´nczonej ilo´sci kroków metoda sympleksowa zako´nczy si ¾e znalezieniem rozwi ¾azania u zadania (34)-(35).
Twierdzenie 4 Je´sli zadanie (34)-(35) ma rozwi ¾azanie, to w´sród rozwi ¾aza´n co najmniej jeden punkt jest punktem wierzcho÷kowym.
Dowód. Z twierdzenia 3 wynika, ·ze U 6= ? i funkcjona÷ J jest ograniczony z do÷u na U . Z twierdzenia 2 wynika, ·ze zbiór U ma co najmniej jeden punkt wierzcho÷kowy.
Startuj ¾ac z tego punktu, w sko´nczonej ilo´sci kroków matody sympleksowej, otrzymamy rozwi ¾azanie u, które jest punktem wierzcho÷kowym zbioru U (w ·zadnej iteracji nie zajdzie przypadek 20, gdy·z
u2UinfJ(u) > 1).
Dowód twierdzenia jest zako´nczony.