• Nie Znaleziono Wyników

Wst¾ep do bada´n operacyjnych

N/A
N/A
Protected

Academic year: 2021

Share "Wst¾ep do bada´n operacyjnych"

Copied!
25
0
0

Pełen tekst

(1)

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)

(2)

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 .

(3)

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

(4)

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).

(5)

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

(6)

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 .

(7)

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

(8)

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:

(9)

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)

(10)

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,

(11)

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;

(12)

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:

(13)

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

(14)

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:

(15)

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

(16)

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)

(17)

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,

(18)

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)

(19)

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).

(20)

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:

(21)

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)).

(22)

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.

(23)

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 .

(24)

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

(25)

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.

Cytaty

Powiązane dokumenty

Wszystkie punkty x nie b¦d¡ce liczbami caªkowitymi s¡ wi¦c punktami ci¡gªo±ci f... Teraz sprawdzamy zera

[r]

wstaw wynik zamiast x 1 z prawej strony wszystkich równa´n (czyli uaktualnij współczyn- niki przy zmiennych niebazowych i wyrazy wolne). Po operacji wymiany bazy otrzymujemy

Wreszcie, rozwa˙zana na pocz ˛ atku implikacja tak˙ze jest fałszywa w tej interpretacji.... Budujemy dowód zało˙zeniowy

Dla dowolnego wzz, koniunkcja w poprzedniku badanej implikacji nie mo˙ze mie´c warto´sci 1 przy tym wzz, poniewa˙z dla takiego wzz p miałaby warto´s´c 1, a implikacja p → q

[r]

 mo˙zna pisa´c ogólne funkcje działaj ˛ ace dla wszystkich pochodnych pewnej klasy bazowej;.  elastyczny system typów: mo˙zna dodawa´c nowe typy bez modyfikacji ju˙z istniej

[r]