• Nie Znaleziono Wyników

Ogólnym zadaniem programowania liniowego nazywamy zadanie postaci

N/A
N/A
Protected

Academic year: 2021

Share "Ogólnym zadaniem programowania liniowego nazywamy zadanie postaci"

Copied!
25
0
0

Pełen tekst

(1)Badania operacyjne - Programowanie liniowe kierunek Informatyka, studia stacjonarne II stopnia, I rok wyklad. 1 1.1. Funkcje wielu zmiennych Sformułowanie zadania. Ogólnym zadaniem programowania liniowego nazywamy zadanie postaci:.              . J(u) = c1 u1 + ... + cn un → min .. (1). uk ≥ 0, k ∈ I. (2). a1,1 u1 + ... + a1,n un ≤ b1 ... am,1 u1 + ... + am,n un ≤ bm.   am+1,1 u1 + ... + am+1,n un = bm+1       ...      a u1 + ... + a un = bs s,1. ,. (3). s,n. gdzie u = (u1 , ..., un ) ∈ Rn , natomiast cj , ai,j , bi , i = 1, ..., s, j = 1, ..., n, sa˛ danymi liczbami rzeczywistymi, przy czym nie wszystkie liczby cj i nie wszystkie liczby aij sa˛ równe zero, I ⊂ {1, ..., n} jest ustalonym zbiorem indeksów; moz˙ liwe sa˛ tutaj przypadki: I = ∅, I = {1, ..., n}, m = s, m = 0. Symbolem x, y oznacza´c bedziemy iloczyn skalarny wektorów x = (x1 , ..., xn), y = ˛  (y 1 , ..., y n ), t.zn. x, y = ni=1 xi yi , natomiast zapis x ≥ y, 1.

(2) gdzie x = (x1 , ..., xn ), y = (y 1 , ..., y n ), bedzie oznaczał, z˙ e ˛ xi ≥ y i , i = 1, ..., n. Powyz˙ sze zadanie moz˙ emy zapisa´c nastepuj ˛ aco: ˛   J(u) = c, u → min .  u ∈ U = {u = (u1 , ..., un ) ∈ Rn ; ui ≥ 0 dla i ∈ I, Au ≤ b, Au = b}. (4). gdzie. .   A= . a1,1 .. . am,1. c = (c1 , ..., cn ),   ... a1,n a ... am+1,n   m+1,1 ..   .. .. . , A =  . .   ... am,n as,1 ... as,n     1 m+1 b b      ..   ..  b =  . , b =  . .     bm bs. .   , . Kaz˙ dy punkt u ∈ U nazywamy punktem dopuszczalnym zadania (4). Punkt u∗ ∈ U nazywamy rozwiazaniem zadania (4), gdy ˛ J(u∗ ) ≤ J(u) dla dowolnego u ∈ U . Kanonicznym zadaniem programowania liniowego nazywamy zadanie postaci   J(u) = c, u → min . ,  u ∈ U = {u = (u1 , ..., un) ∈ Rn ; u ≥ 0 , Au = b}. (5). Podstawowym zadaniem programowania liniowego nazywamy zadanie postaci   J(u) = c, u → min . ,  u ∈ U = {u = (u1 , ..., un ) ∈ Rn ; u ≥ 0 , Au ≤ b}. (6). gdzie A ∈ Rm×n , b ∈ Rm .. gdzie A i b sa˛ takie, jak wyz˙ ej.. 2.

(3) 1.2. Równowaz˙ no´s´c zada´ n. Zajmiemy sie˛ teraz zagadnieniem „równowaz˙ no´sci” zada´n róz˙ nego typu. Dokładniej, pokaz˙ emy, z˙ e rozwiazywanie zadania podstawowego i zadania ogólnego moz˙ na zastapi´ ˛ ˛ c rozwiazywaniem zadania kanonicznego. ˛ Istotnie, niech dane bedzie zadanie podstawowe (6) i rozwaz˙ my w przestrzeni Rn+m ˛ zadanie postaci  . d, z → min ..  z ∈ Z = {z = (u, v) ∈ Rn+m; z ≥ 0 , Cz = b}. ,. (7). gdzie d = (c, 0) ∈ Rn+m,. . ... a1,n a  1,1  . .. C = [A | Im×m ] =  .. .  am,1 ... am,n.  1 ... 0  .. ..  . .   0 ... 1. (Im×m jest macierza˛ jednostkowa˛ wymiaru m × m).Łatwo zauwaz˙ y´c, z˙ e je´sli u∗ ∈ U jest rozwiazaniem zadania (6), to z∗ = (u∗ , v∗ ), gdzie ˛ v∗ = b − Au∗ , jest rozwiazaniem zadania (7), t.zn. z∗ ∈ Z oraz ˛ d, z∗ ≤ d, z. dla dowolnego z ∈ Z. zadania (7), to u∗ jest rozwiazaniem Je´sli natomiast z∗ = (u∗ , v∗ ) ∈ Z jest rozwiazaniem ˛ ˛ zadania (6), t.zn. u∗ ∈ U oraz c, u∗ ≤ c, u. dla dowolnego u ∈ U . Podobnie, rozwiazywanie zadania ogólnego (4) moz˙ na zastapi´ zadania ˛ ˛ c rozwiazywaniem ˛ kanonicznego. Rzeczywi´scie, rozwaz˙ my w przestrzeni Rp (p = m + I + J + J, gdzie. 3.

(4) J = {1, ..., n}I) zadanie postaci 

(5)

(6)

(7)  i i  e, z. = c u + c w + −ci wi → min . i i     i∈I i∈J i∈J    i i  z ∈ Z = {z = (v, u ; i ∈ I, w ; i ∈ J, wi ; i ∈ J) ∈ Rp ; z ≥ 0,   

(8)

(9)

(10)    v+ Ai ui + Ai wi + −Ai wi = b,    

(11) i∈I

(12) i∈J

(13) i∈J , i i Ai u + Ai w + −Ai wi = b}     i∈I i∈J i∈J    p   = {z ∈ R ; z ≥ 0,           [I | A ; i ∈ I | A ; i ∈ J | −A ; i ∈ J] b i i i    m×m  z =  } .    0 | A ; i ∈ I | A ; i ∈ J | −A ; i ∈ J b i. i. (8). i. gdzie e = (0, ci ; i ∈ I, ci ; i ∈ J, −ci ; i ∈ J) ∈ Rp , v ∈ Rm , Ai - i-ta kolumna macierzy A, Ai - i-ta kolumna macierzy A. zadania ogólnego (4), to Je´sli u∗ ∈ U jest rozwiazaniem ˛ z∗ = (v∗ , ui∗ ; i ∈ I, w∗i ; i ∈ J, wi∗ ; i ∈ J), gdzie v∗ = b − Au∗ , w∗i = max{0, ui∗ }, i ∈ J, wi∗ = max{0, −ui∗ }, i ∈ J, jest rozwiazaniem zadania (8) (zauwaz˙ my, z˙ e ui∗ = w∗i − wi∗ dla i ∈ J). ˛ Je´sli natomiast z∗ = (v∗ , ui∗ ; i ∈ I, w∗i ; i ∈ J, wi∗ ; i ∈ J), jest rozwiazaniem zadania (8), to ˛ u∗ = (ui∗ ; i ∈ I, w∗i − wi∗ ; i ∈ J) jest rozwiazaniem zadania (4) (z dokładno´scia˛ do kolejno´sci współrzednych). ˛ ˛. 4.

(14) 1.3. Interpretacja geometryczna zada´ n programowania liniowego. Rozwaz˙ my zadanie podstawowe (6) w przypadku, gdy n = 2, czyli    J(u) = c1 u1 + c2 u2 → min .      . u ∈ U = {u = (u1 , u2 ) ∈ R2 ; u1 ≥ 0, u2 ≥ 0, . ai,1 u1 + ai,2 u2 ≤ bi , i = 1, ..., m}. Wprowad´zmy oznaczenia U0,1 = {(u1 , u2 ) ∈ R2 ; −u1 ≤ 0}, U0,2 = {(u1 , u2 ) ∈ R2 ; −u2 ≤ 0}, Ui = {(u1 , u2 ) ∈ R2 ; ai,1 u1 + ai,2 u2 ≤ bi }, i = 1, ..., m. Oczywi´scie U = U0,1 ∩ U0,2 ∩ U1 ∩ ... ∩ Um . Moz˙ liwe sa˛ nastepuj ˛ 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 5. (9).

(15) Ustalmy liczbe˛ α ∈ R. Równanie c1 u1 + c2 u2 = α opisuje poziomice˛ funkcjonału J odpowiadajac ˛ a˛ warto´sci α, czyli zbiór {(u1 , u2 ) ∈ R2 ; J(u) = α}. Jest to prosta o wektorze prostopadłym c = (c1 , c2 ). Przy wzro´scie warto´sci stałej α prosta ta zmienia swoje połoz˙ enie, przesuwajac ˛ sie˛ w sposób równoległy w kierunku wektora c, przy czym dla dowolnego punktu płaszczyzny istnieje α ∈ R takie, z˙ e punkt ten lez˙ y na prostej wyznaczonej przez α. W przypadku 20 zawsze istnieje „punkt pierwszego kontaktu” (by´c moz˙ e nie jedyny) przesuwajacej ˛ sie˛ prostej, w kierunku c, z wielobokiem U . Odpowiednia warto´s´c stałej α wynosi wówczas minJ(u) =: J∗ u∈U. 6.

(16) 7.

(17) W przypadku 30 ów „punkt pierwszego kontaktu” istnieje (by´c moz˙ e nie jedyny) lub nie. Je´sli nie istnieje, oznacza to, z˙ e zadanie nie ma rozwiazania; w takim przypadku ˛ inf J(u) = −∞.. u∈U. 8.

(18) Z powyz˙ szej dyskusji wynika, z˙ e zadanie (9) moz˙ e nie mie´c rozwiaza´ ˛ n, moz˙ e mie´c jedno rozwiazanie lub moz˙ e mie´c niesko´nczenie wiele rozwiaza ˛ ˛ ´n. Ponadto, w przypadku, gdy zbiór rozwiaza´ ˛ n jest niepusty, w zbiorze tym istnieje co najmniej jeden punkt, który jest wierzchołkiem wieloboku U . Podobna˛ analize˛ moz˙ na przeprowadzi´c w przypadku n = 3, zastepuj ˛ ac ˛ wielobok wielo´scianem, a prosta˛ - płaszczyzna.˛. 1.4. Punkty wierzchołkowe. Punkt v ∈ V ⊂ Rn nazywamy punktem wierzchołkowym (punktem ekstremalnym) zbioru wypukłego i domknietego V , je´sli przedstawienie ˛ v = αv1 + (1 − α)v2 ,. (10). gdzie α ∈ (0, 1), v1 , v2 ∈ V , moz˙ liwe jest tylko wtedy, gdy v1 = v2 . Innymi słowy, punkt v ∈ V jest punktem wierzchołkowym zbioru V , gdy nie jest on punktem wewnetrznym od˛ cinka o róz˙ nych ko´ncach nalez˙ acych do V . Pojecie ˛ ˛ punktu wierzchołkowego jest pojeciem ˛ fundamentalnym w teorii programowania liniowego. W dalszej cze´ ˛sci wykładu pokaz˙ emy, z˙ e je´sli zadanie kanoniczne (przy dowolnym n ∈ N) posiada rozwiazanie, to w´sród rozwiaza ˛ ˛ ´n jest co najmniej jeden punkt wierzchołkowy zbioru U = {u ∈ Rn ; u ≥ 0, Au = b}.. (11). Teraz podamy charakteryzacje˛ punktów wierzcholkowych zbioru postaci (11). Twierdzenie 1 Niech dany bedzie zbiór U postaci (11) i punkt v ∈ Rn , przy czym A ∈ ˛ Rm×n {0}, r := rankA. Punkt v jest punktem wierzchołkowym zbioru U wtedy i tylko wtedy, gdy istnieja˛ wska´zniki 1 ≤ j1 < ... < jr ≤ n takie, z˙e    v j ≥ 0, j ∈ {j1 , ..., jr }      v j = 0, j ∈ / {j , ..., j } 1.       . r. Aj1 v j1 + ... + Ajr v jr = b. kolumny Aj1 , ..., Ajr sa˛ liniowo niezalez˙ne w Rm 9. (12).

(19) Dowód powyz˙ szego twierdzeni moz˙ na znale´z´c w monografii [V]. Układ wektorów Aj1 ,...,Ajr wystepuj w warunkach (12) nazywamy baza˛ punktu ˛ acych ˛ wierzchołkowego v, a odpowiednie współrzedne vj1 ,...,v jr - współrzednymi bazowymi punktu ˛ ˛ wierzchołkowego v. Punkt wierzchołkowy, którego wszystkie współrzedne bazowe sa˛ do˛ datnie nazywamy nieosobliwym. Punkt wierzchołkowy, którego co najmniej jedna współrzedna ˛ 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, z˙ e baza nieosobliwego punktu wierzchołkowego zbioru (11) jest wyznaczona jednoznacznie. Osobliwy punkt wierzchołkowy moz˙ e mie´c wiele baz.. 1.5. Metoda sympleksowa. Metoda sympleksowa polega na „uporzadkowanym” sprawdzaniu warto´sci funkcjonału ˛ kosztu w punktach wierzchołkowych zbioru ograniczajacego („uporzadkowanie” oznacza ˛ ˛ tu, z˙ e warto´sci funkcjonału kosztu w kolejnych punktach nie rosna). ˛ Rozwaz˙ my zadanie kanoniczne postaci   J(u) = c, u → min .  u ∈ U = {u ∈ Rn ; u ≥ 0 , Au = b}. (13). gdzie 0 = A ∈ Rm×n , przy czym zakłada´c bedziemy w tym rozdziale, z˙ e U = ∅ (kwestia ˛ niepusto´sci zbioru U omówiona bedzie w dalszej cze´ ˛ ˛sci wykładu). Oczywi´scie rankA ≤ min{m, n} (podobnie, jak wcze´sniej, rankA oznacza´c bedziemy przez r). Równo´s´c ˛ Au = b moz˙ emy zapisa´c w postaci układu równa´n  i  A , u = bi , i = 1, ..., m,. gdzie Ai oznacza i-ty wiersz macierzy A. Nie zmniejszajac ˛ ogólno´sci rozwaz˙ a´n, moz˙ emy załoz˙ y´c, z˙ e r = m. Oczywi´scie r ≤ n. Jez˙ eli r = n, to powyz˙ szy układ ma dokładnie jedno rozwiazanie u, przy czym u ≥ 0 (gdyby która´s ze współrzednych punktu u była ujemna, ˛ ˛ 10.

(20) to zbiór U byłby pusty, co sprzeczne byłoby z naszym załoz˙ eniem). W konsekwencji zbiór U jest jednoelementowy i tym samym u jest rozwiazaniem zadania (13). ˛ Bedziemy wiec z˙ e r = m oraz r < n. Równo´s´c ˛ ˛ zakłada´c w dalszym ciagu, ˛ Au = b moz˙ emy wiec ˛ zapisa´c w postaci    a u1 + ... + a1,n un = b1   1,1 gdzie r = rankA < n.. (14). ...     a u1 + ... + a un = br r,1 r,n. Podamy teraz opis metody sympleksowej. Przypu´s´cmy, z˙ e dany jest punkt wierzchołkowy v zbioru U = {u ∈ Rn ; u ≥ 0 , Au = b} i załóz˙ my, z˙ e kolumny A1 ,...,Ar sa˛ baza˛ tego puntu, v1 ,...,v r - jego współrzednymi bazowymi ˛ (kwestia wyznaczenia „poczatkowego” punktu wierzchołkowego v zbioru U i okre´slenia ˛ jego współrzednych bazowych omówiona bedzie w dalszej cze´ ˛ ˛ ˛sci wykładu). Wprowad´zmy nastepuj ˛ ace ˛ oznaczenia . 1. u   .. u= .  ur . . . 1. v     .. , v =  .   vr. a ... a1,r  1,1  . .. B =  .. .  ar,1 ... ar,r. . . . . c   1    ..  , c =  . ,    c1.    = [A1 | ... | Ar ] . . Wówczas układ (14) moz˙ emy zapisa´c w postaci. Bu + Ar+1 ur+1 + ... + An un = b.. 11. (15).

(21) Z liniowej niezalez˙ no´sci kolumn A1 ,...,Ar (jest to baza punktu v) wynika, z˙ e istnieje macierz odwrotna B −1 . Współrzedne niebazowe punktu v sa˛ zerowe, a wiec ˛ ˛ z (15) otrzymujemy Bv = b, skad ˛ v = B −1 b. Mnoz˙ ac ˛ równo´s´c (15) lewostronnie przez B −1 , otrzymujemy u+. n

(22). B −1 Ak uk = B −1 b = v.. (16). k=r+1. Oznaczmy γ s,k = (B −1 Ak )s dla k = r + 1, ..., n, s = 1, ..., r s. gdzie (B −1 Ak ) oznacza s-ta˛ współrzedn ˛ a˛ wektora-kolumny B −1 Ak . Równo´s´c (16) moz˙ emy teraz zapisa´c w postaci nastepuj układu równa´n ˛ acego ˛    u1 + γ 1,r+1 ur+1 + ... + γ 1,n un = v1     r+1  u2 + γ + ... + γ 2,n un = v2 2,r+1 u .   ...      ur + γ r+1 + ... + γ r,n un = v r r,r+1 u. (17). Okre´slmy takz˙ e. γ s,k = (B −1 Ak )s dla k = 1, ...r, s = 1, ..., r (oczywi´scie γ s.k = δ s,k dla k = 1, ..., r, s = 1, ..., r, gdzie δ s,k = 1 gdy s = k oraz δ s,k = 0 gdy s = k). Pokazali´smy wiec, ˛ z˙ e majac ˛ ustalony punkt wierzchołkowy v zbioru U i wiedzac, ˛ z˙ e współrzedne z indeksami 1,...,r sa˛ jego współrzednymi bazowymi, moz˙ na zapisa´c ograniczenia ˛ ˛ (14) w równowaz˙ nej postaci (15) lub (16) lub (17). Warto´s´c funkcjonału kosztu J w punkcie u spełniajacym ograniczenia typu równo´sci ˛. 12.

(23) (14), moz˙ na zapisa´c w nastepuj ˛ acej ˛ postaci J(u) = c, u = =. . c, v −. = c, v −. n

(24). ci ui = c, u +. i=1 n

(25). B −1 Ai ui. i=r+1 n

(26). i=r+1. . +. n

(27). ci ui. i=r+1 n

(28). ci ui. i=r+1.   ( c, B −1 Ai − ci )ui .. Poniewaz˙ c, v = c, v = J(v), wiec ˛ J(u) = J(v) −. n

(29). ∆i ui ,. (18). i=r+1. gdzie. Okre´slmy takz˙ e.   ∆i = c, B −1 Ai − ci , i = r + 1, ..., n.. dla i = 1, ..., r. Oczywi´scie.   ∆i = c, B −1 Ai − ci. (19).   ∆i = c, B −1 Ai − ci = c, ei − ci = ci − ci = 0. dla i = 1, ..., r (tutaj ei jest i-ta˛ kolumna˛ macierzy jednostkowej o wymiarach r × r). Dokonajmy cze´ ˛sciowego podsumowania. Pokazali´smy, z˙ e zadanie (13) moz˙ emy zapisa´c w nastepuj ˛ acej ˛ postaci  n    J(u) = J(v) − ∆i ui → min . i=r+1.   U = {u = (u1 , ..., un) ∈ Rn ; u ≥ 0 , u spełnia (17)}. (20). Wystepuj ˛ ace ˛ w powyz˙ szym opisie wielko´sci γ s,k , vi , ∆i zapiszemy w postaci tzw. tablicy sympleksowej, odpowiadajacej ˛ punktowi wierzchołkowemu v. 13.

(30) Tablica sympleksowa I (dla punktu v) u1. ... ui. ... us. ... ur. ur+1. .... uk. 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). .... uj. .... un. Analizujac ˛ tablice˛ sympleksowa˛ I, moz˙ emy wyróz˙ ni´c trzy przypadki: 10 spełnione sa˛ nierówno´sci   ∆i = c, B −1 Ai − ci ≤ 0. (21). dla i = r + 1, ..., n, t.zn. w ostatnim wierszu tablicy sympleksowej wszystkie liczby ∆i sa˛ niedodatnie. W tym przypadku punkt v, dla którego skonstruowana została tablica sympleksowa, jest rozwiazaniem zadania. Istotnie, bowiem dla dowolnego u ∈ U mamy ˛ n

(31). J(u) = J(v) −. ∆i ui ≥ J(v). i=r+1. (bo ∆i ≤ 0, ui ≥ 0). 20 istnieje wska´znik k ∈ {r + 1, ..., n} taki, z˙ e   ∆k > 0  γ ≤ 0 dla i = 1, ..., r (czyli B −1 A ≤ 0) k i,k. (22). Oznacza to, z˙ e w k-tej kolumnie tablicy sympleksowej ostatni element (∆k ) jest dodatni, a pozostałe - niedodatnie. W tym przypadku inf J(u) = −∞ (dowód tego faktu pomijamy). u∈U. Oznacza to, z˙ e zadanie nie ma rozwiazania. ˛ 14.

(32) 30 nie zachodza˛ przypadki 10 i 20 ; w konsekwencji istnieja˛ wska´zniki k ∈ {r + 1, ..., n}, i ∈ {1, ..., r} takie, z˙ e ∆k > 0, γ i,k > 0.. (23). Oznacza to, z˙ e w k-tej kolumnie tablicy sympleksowej ostatni element (∆k ) jest dodatni i co najmniej jedna z liczb γ i,k jest dodatnia. Załóz˙ my, z˙ e zachodzi przypadek 30 i okre´slmy zbiór Iv,k = {i ∈ {1, ..., r}, γ i,k > 0}. Niech s ∈ Iv,k bedzie takim wska´znikiem, z˙ e ˛ vs vi = min γ s,k i∈Iv,k γ i,k. (24). Współczynnik γ s,k , gdzie wska´zniki k, s sa˛ okre´slone przez (23) i (24), nazywany jest elementem rozwiazuj tablicy sympleksowej I. ˛ acym ˛ Moz˙ na pokaza´c, z˙ e układ kolumn A1 , ..., As−1 , As+1 , ..., Ar , Ak. (25). jest baza˛ pewnego punktu wierzchołkowego w, przy czym J(w) ≤ J(v). Uwaga 1. Z faktu, z˙ e macierz A ma r wierszy wynika, wobec twierdzenia charakteryzujacego punkty wierzchołkowe, iz˙ baza (25) wyznacza punkt wierzchołkowy w sposób ˛ jednoznaczny. Moz˙ na wiec punktu w, korzystajac ˛ znale´z´c współrzedne ˛ ˛ z tego twierdzenia. Przejd´zmy teraz do przypadku ogólnego. Łatwo zauwaz˙ y´c, z˙ e je´sli współrzednymi ˛ bazowymi punktu v sa˛ v j1 , ..., vjr , gdzie 1 ≤ j1 < ... < jr ≤ n, to wzory wyraz˙ ajace ˛ zmienne bazowe i funkcjonał kosztu przy pomocy zmiennych niebazowych, przyjmuja˛ posta´c (poniz˙ ej symbolem Iv oznaczamy. 15.

(33) zbiór {j1 , ..., jr }).     uj1 = v j1 − γ j1 ,k uk    k∈I / v  ...       ujr = v jr − γ jr ,k uk . (26). k∈I / v. J(u) = J(v) −.

(34). ∆k uk ,. (27). k∈I / v. gdzie. γ ji ,k = (B −1 Ak )i ; i = 1, ..., r, k ∈ / Iv .   z B = [Aj1 | ... | Ajr ], c =  .   ∆k = c, B −1 Ak − ck , k ∈ / Iv ,  cj1  ..  . . Podobnie, jak wcze´sniej  cjr. (28) (29). vji = (B −1 b)i , i = 1, ..., r.. Uwaga 2. Współrzedne, o których mowa w Uwadze 1 moz˙ na wyznaczy´c przy pomocy ˛ powyz˙ szego wzoru. Okre´slmy takz˙ e γ ji ,k = (B −1 Ak )i = δ ji ,k , i = 1, ..., r, k ∈ Iv ,   ∆k = c, B −1 Ak − ck = 0, k ∈ Iv .. W tym przypadku tablica sympleksowa dla punktu v jest nastepuj ˛ aca: ˛. Tablica sympleksowa II (dla punktu v). 16.

(35) u1. ... uj1. ... uji. .... uk. ... ujs. .... uj. ... ujr. .... un. uj1 .. .. γ j1 ,1 .. .. .... 1 .. .. .... 0 .. .. ... γ j1 ,k .. .. .... 0 .. .. ... γ j1 ,j .. .. .... 0 .. .. ... γ j1 ,n .. .. v j1 .. .. uji .. .. γ ji ,1 .. .. .... 0 .. .. .... 1 .. .. .... γ ji ,k .. .. .... 0 .. .. .... γ ji ,j .. .. .... 0 .. .. .... γ ji ,n .. .. v ji .. .. ujs .. .. γ js ,1 .. .. .... 0 .. .. .... 0 .. .. .... γ js ,k .. .. .... 1 .. .. .... γ js ,j. .... 0 .. .. ... γ js ,n. v js. ujr. γ jr ,1. .... 0. .... 0. ... γ jr ,k. .... 0. ... γ jr ,j. .... 1. ... γ jr ,n. v jr. ∆1. .... 0. .... 0. .... .... 0. .... .... 0. .... ∆k. ∆j. ∆n. J(v). Tak, jak wcze´sniej, nalez˙ y rozwaz˙ y´c trzy przypadki: 10 spełniony jest warunek ∆k ≤ 0, k ∈ / Iv. (30). ∆k > 0, γ ji ,k ≤ 0, i = 1, ..., r. (31). 20 istnieje k ∈ / Iv takie, z˙ e. 30 nie zachodzi przypadek 10 i 20 ; w konsekwencji istnieja˛ k ∈ / Iv oraz ji ∈ Iv takie, z˙ e ∆k > 0, γ ji ,k > 0.. (32). Podobnie, jak wcze´sniej, moz˙ na sprawdzi´c, z˙ e w pierwszym przypadku punkt v jest rozwiazaniem zadania (13), w drugim - inf c, u = −∞, czyli zadanie (13) nie ma ˛ u∈U. rozwiazania. ˛ W trzecim przypadku moz˙ na wybra´c indeksy k oraz js ∈ Iv,k na podstawie warunku (31) oraz warunku v js v ji = min , γ js ,k ji ∈Iv,k γ ji ,k. (33). gdzie Iv,k = {ji ∈ Iv ; γ ji ,k > 0},które sa˛ analogiczne do warunków (23), (24). Nastepnie, ˛ nalez˙ y wykona´c przej´scie do nowego punktu wierzchołkowego w. Baza˛ punktu w bedzie ˛ układ kolumn (z dokładno´scia˛ do ich kolejno´sci) Aj1 , ..., Ajs−1 , Ajs+1 , ..., Ajr , Ak , 17.

(36) przy czym J(w) ≤ J(v). Współrzedne punktu w moz˙ na wyznaczy´c na podstawie twierdzenia charakteryzujacego ˛ ˛ punkty wierzchołkowe lub w sposób opisany w Uwadze 2. Uwaga 3. Moz˙ na pokaza´c, z˙ e  js   wj1 = v j1 − γ j1 ,k γv  js ,k    ..   .     js   wji = v ji − γ ji ,k γv   j ,k s   ..   .     js   wjs−1 = v js−1 − γ js−1 ,k γv   js ,k  wjs = vjs − γ js ,k γv. js. =0 js ,k    js   wjs+1 = v js+1 − γ js+1 ,k γv   js ,k   ..   .     js   wjr = v jr − γ jr ,k γv   j s ,k    v js k  w =γ   js ,k     l w = 0, l ∈ / Iv , l = k,. Tablica sympleksowa dla punktu w przyjmuje posta´c. Tablica sympleksowa III (dla punktu w). 18.

(37) u1. ... uj1. ... uji. ... uk. .... ujs. .... uj. ... ujr. .... un. ′. .... 1 .. .. .... 0 .. .. .... 0 .. .. .... γ j1 ,js .. .. ′. .... γ j1 ,j .. .. ′. .... 0 .. .. .... γ j1 ,n .. .. ′. .... γ ji ,j .. .. ′. .... 0 .. .. .... ′. γ k,j .. .. ′. .... 0 .. .. .... γ k,n .. .. ′. .... 0. ... γ js−1 ,n. 0 .. .. γ js+1 ,n. uj1 .. .. γ j1 ,1 .. .. u ji .. .. γ ji ,1 .. .. ′. .... 0 .. .. .... 1 .. .. .... 0 .. .. .... γ ji ,js .. .. uk .. .. γ k,1 .. .. ′. .... 0 .. .. .... 0 .. .. .... 1 .. .. .... γ k,js .. .. .... ujs−1. γ js−1 ,1. ′. .... 0. .... 0. .... 0. ... γ js−1 ,js. ′. ... γ js−1 ,j. ujs+1 .. .. γ js+1 ,1 .. .. ′. .... 0 .. .. .... 0 .. .. .... 0 .. .. .... γ js+1 ,js .. .. ′. ... γ js+1 ,j. ujr. γ jr ,1. .... 0. .... 0. .... 0. .... γ jr ,js. .... 0. .... 0. .... 0. .... ∆js. ′. ′. ∆1. ′. ′. ′. ′. ′. .... γ jr ,j. .... ∆j. ′. ′. wj1 .. .. γ ji ,n .. .. ′. wji .. .. ′. wk .. .. ′. wjs−1. ′. wjs+1. ′. .... 1. .... γ jr ,n. .... 0. .... ∆n. ′. ′. gdzie współczynniki γ i,j , ∆j sa˛ okre´slone przy pomocy wzorów analogicznych do (28), (29) z macierza˛ B postaci [Aj1 | ... | Ak | ... | Ajs−1 | Ajs+1 | ... | Ajr ] (podobnie, jak wcze´sniej, zakładamy tu, z˙ e wiersze i kolumny w tablicy sympleksowej oraz kolumny macierzy B sa˛ ustawione w kolejno´sci rosnacych indeksów). ˛ Uwaga 4. Moz˙ na pokaza´c, z˙ e   γ ′ = γ − γ ji ,k γ ji ,j js ,j ; i = 1, ..., r, i = s, j = 1, ...n, ji ,j γ js ,k. oraz.  γ′ = k,j. γ js ,j , γ js ,k. ′. j = 1, ...n,. ∆j = ∆j − ∆k. γ js ,j dla j = 1, ..., n. γ js ,k. Opisany wiec ˛ 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, z˙ e J(w) ≤ J(v). 19. wjr J(w).

(38) 1.6. Reguła antycykliczna. Podczas realizacji metody sympleksowej moz˙ e sie˛ zdarzy´c, z˙ e v ji v js = . ji ∈Iv,k γ j ,k γ js ,k i. 0 = min. Ze wzorów podanych w Uwadze 3 wynika, z˙ e 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 . Moz˙ na poda´c przykład zadania pokazujacy, ˛ z˙ e metoda sympleksowa moz˙ e sie˛ „zapetli´ ˛ c”, tzn. w kolejnych iteracjach punkt wierzchołkowy nie bedzie sie˛ zmieniał, a jego bazy bed ˛ ˛ a˛ zmieniały sie˛ w sposób okresowy (cykliczny). Moz˙ na jednak okre´sli´c (na róz˙ ne sposoby) regułe˛ wyboru elementu rozwiazuj w taki ˛ acego ˛ sposób, by unikna´ Kaz˙ da taka reguła nazywana jest reguła˛ antycyk˛c owego zapetlenia. ˛ liczna.˛ Podamy teraz opis jednej z takich reguł. Do tablicy sympleksowej punktu v (dla uproszczenia przyjmijmy, z˙ e kolumny A1 ,...,Ar tworza˛ baze˛ punktu v) dopisujemy r×r - wymiarowa˛ macierz jednostkowa˛ [di,j ]. Dopisane wyrazy przekształcamy w kaz˙ dej iteracji zgodnie ze wzorami podanymi w Uwadze 4, przy czym nie tworzymy współczynników „∆”. Element rozwiazuj ˛ acy ˛ γ s,k wybieramy w nastepuj ˛ acy ˛ sposób. Niech ∆k > 0 i Iv,k = {i ∈ {1, ..., r}, γ i,k > 0} = ∅. Okre´slmy zbiór vi vs = }. i∈Iv,k γ i,k γ s,k. Iv,k,1 = {s ∈ Iv,k ; min 20.

(39) Je´sli zbiór Iv,k,1 zawiera wiecej ˛ niz˙ jeden element, to tworzymy zbiór ds,1 di,1 = }. i∈Iv,k,1 γ i,k γ s,k. Iv,k,2 = {s ∈ Iv,k,1 ; min. Je´sli mamy juz˙ okre´slony zbiór Iv,k,m (m ≥ 2) i zawiera on wiecej ˛ niz˙ jeden element, to tworzymy zbiór Iv,k,m+1 = {s ∈ Iv,k,m;. di,m ds,m = }. i∈Iv,k,m γ i,k γ s,k min. Dowodzi sie, ˛ z˙ e istnieje l ∈ {1, ..., r + 1} takie, z˙ e zbiór Iv,k,l składa sie˛ z jednego elementu niz˙ jeden element. s, przy czym wszystkie zbiory Iv,k,i , i = 1, ..., l − 1, zawieraja˛ wiecej ˛ Jako indeks s, słuz˙ acy przyjmujemy ów jedyny ˛ do okre´slenia elementu rozwiazuj ˛ acego, ˛ element zbioru Iv,k,l . Moz˙ na pokaza´c, z˙ e stosowanie w kaz˙ dym kroku metody sympleksowej takiego sposobu wyboru indeksu s, wyznaczajacego element rozwiazuj iw ˛ ˛ acy, ˛ pozwala unikna´ ˛c zapetlenia ˛ sko´nczonej ilo´sci kroków znale´z´c rozwiazanie zadania, bad nie ˛ ˛ ´z stwierdzi´c, z˙ e rozwiazanie ˛ istnieje (1 ).. 1.7. Wybór poczatkowego punktu wierzchołkowego ˛. Niech dane bedzie zadanie kanoniczne ˛ J(u) = c, u → min .. (34). u ∈ U = {u = (u1 , ..., un ) ∈ Rn ; u ≥ 0 , Au = b},. (35). gdzie ∅ =  A ∈ Rm×n . Opisujac innymi, z˙ e ˛ metode˛ sympleksowa,˛ zakładali´smy miedzy ˛ zbiór U jest niepusty i znany jest pewien punkt wierzchołkowy tego zbioru. Pokaz˙ emy teraz jak stwierdzi´c, czy U = ∅ i znale´z´c ów punkt wierzchołkowy. Bez zmniejszania ogólno´sci rozwaz˙ a´n moz˙ emy załoz˙ y´c, z˙ e bi ≥ 0 dla i = 1, ..., m (mnoz˙ ac ˛ w razie potrzeby odpowiednie równania przez −1). 1. Zatem nie moz˙ e sie˛ takz˙ e zdarzy´c, z˙ e w nieuporzadkowany sposób bedziemy „przerabia´c” bazy jednego ˛ ˛. punktu wierzchołkowego, a takz˙ e, iz˙ w niesko´nczony sposób (cykliczny lub nie) bedziemy przerabia´c ˛ punkty wierzchołkowe (przej´scie do kolejnego punktu wierzchołkowego w = v oznacza, z˙ e vjs > 0 i w konsekwencji J(w) < J(v)).. 21.

(40) Rozwaz˙ my zadanie pomocnicze postaci J1 (z) = un+1 + ... + un+m → min .   u  ∈ Rn+m ; z ≥ 0, Cz = b}, z ∈ Z = {z =  w. (36) (37). gdzie C = [A | Im×m ], w = (un+1 , ..., un+m ). Układ Cz = b zapiszmy w postaci.    a u1 + ... + a1,n un + un+1 = b1   1,1. . ...     a u1 + ... + a un + un+m = bm m,1 m,n. Łatwo wida´c, z˙ e zbiór Z jest niepusty, bowiem. z0 := (0, b) ∈ Z. Łatwo tez˙ wida´c, z˙ e z0 jest punktem wierzchołkowym zbioru Z z baza˛ złoz˙ ona˛ z ostatnich m kolumn macierzy C, czyli wektorów jednostkowych e1 ,...,em ∈ Rm (rankC = m). Moz˙ na wiec punk˛ do zadania (36)-(37) zastosowa´c metode˛ sympleksowa˛ z poczatkowym ˛ tem wierzchołkowym z0 . Poniewaz˙ J1 (z) ≥ 0, z ∈ Z, wiec ˛ niemoz˙ liwy jest przypadek inf J1 (z) = −∞.. z∈Z. Zatem, stosujac ˛ metode˛ sympleksowa, ˛ w sko´nczonej ilo´sci kroków otrzymamy punkt wierzchołkowy z∗ = (u∗ , w∗ ) ∈ Z bed zadania (36)-(37). ˛ acy ˛ rozwiazaniem ˛ Moz˙ liwe sa˛ 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 ∈ U ) punkt z = (u, 0) nalez˙ ałby do zbioru Z oraz spełniona byłaby równo´s´c J1 (z) = 0, 22.

(41) co sprzeczne jest z nierówno´scia˛ J1 (z∗ ) > 0 i optymalno´scia˛ 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. Stad ˛ wynika, z˙ e u∗ jest punktem wierzchołkowym zbioru U . Istotnie, poniewaz˙ z∗ ≥ 0, wiec ˛ u∗ ≥ 0, natomiast z równo´sci Cz∗ = b wynika, z˙ e Au∗ = b. A wiec ˛ u∗ ∈ U . Przypu´s´cmy teraz, z˙ e u∗ = αu + (1 − α) u, gdzie α ∈ (0, 1), u, u  ∈ U . Punkty z = (u, 0), z = ( u, 0) nalez˙ a˛ oczywi´scie do zbioru Z,. przy czym. z∗ = αz + (1 − α) z.. Poniewaz˙ z∗ jest punktem wierzchołkowym zbioru Z, wiec ˛ to oznacza, z˙ e. skad ˛. z = z, u=u .. A zatem u∗ jest punktem wierzchołkowym zbioru U. Pokazali´smy wiec, ˛ z˙ e majac ˛ wyj´sciowe zadanie (34)-(35) i rozwaz˙ ajac ˛ zadanie pomocnicze (36)-(37), potrafimy stwierdzi´c (stosujac ˛ metode˛ sympleksowa˛ do zadania (36)-(37)), czy U = ∅ i, je´sli tak, wyznaczy´c poczatkowy punkt wierzchołkowy zbioru U . ˛ Uwaga 3. Majac ˛ punkt wierzchołkowy u∗ zbioru U moz˙ na wyznaczy´c rzad ˛ macierzy A i wskaza´c współrzedne bazowe punktu v∗ w nastepuj ˛ ˛ acy ˛ sposób. Dodatnie współrzedne ˛ punktu v∗ sa˛ oczywi´scie jego współrzednymi bazowymi. Uzupełniajac ˛ ˛ układ kolumn 23.

(42) odpowiadajacych tymz˙ e dodatnim współrzednym kolumnami wybranymi spo´sród pozostałych ˛ ˛ kolumn tak, by otrzymany układ stanowił baze˛ powłoki liniowej wszystkich kolumn, otrzymamy baze˛ punktu v∗ (zna´c tez˙ bedziemy rankA i współrzedne bazowe punktu v∗ ). Ta ˛ ˛ metoda w praktyce jest stosowana w przypadku małych warto´sci m i n. Z rozwaz˙ a´n dotyczacych 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. Korzystajac ˛ z opisu metody sympleksowej, udowodnimy teraz dwa podstawowe fakty teorii programowania liniowego. Twierdzenie 3 Na to, aby kanoniczne zadanie postaci (34)-(35) miało rozwiazanie, t.zn. ˛ aby istniał punkt u∗ ∈ U taki, z˙e c, u∗ = inf c, u. u∈U. potrzeba i wystarcza, aby 1) zbiór U był niepusty 2) funkcjonał J(u) = c, u 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, z˙ e istnieje punkt wierzchołkowy zbioru U . Moz˙ na wiec, c zadanie metoda˛ symplek˛ startujac ˛ z tego punktu, rozwiazywa´ ˛ sowa.˛ Z warunku 2) wynika, z˙ e w z˙ adnej iteracji nie zajdzie przypadek 20 (z opisu metody sympleksowej). Oznacza to, z˙ e po sko´nczonej ilo´sci kroków metoda sympleksowa zako´nczy sie˛ znalezieniem rozwiazania u∗ zadania (34)-(35). ˛ Twierdzenie 4 Je´sli zadanie (34)-(35) ma rozwiazanie, to w´sród rozwiaza´ ˛ ˛ n co najmniej jeden punkt jest punktem wierzchołkowym.. 24.

(43) Dowód.. Z twierdzenia 3 wynika, z˙ e U = ∅ i funkcjonał J jest ograniczony z dołu. na U . Z twierdzenia 2 wynika, z˙ e zbiór U ma co najmniej jeden punkt wierzchołkowy. „Startujac” ˛ z tego punktu, w sko´nczonej ilo´sci kroków matody sympleksowej, otrzymamy rozwiazanie u∗ , które jest punktem wierzchołkowym zbioru U (w z˙ adnej iteracji nie zajdzie ˛ przypadek 20 , gdyz˙ inf J(u) > −∞).. u∈U. Dowód twierdzenia jest zako´nczony.. 25.

(44)

Cytaty

Powiązane dokumenty

ii) Pan Aleksander stwierdzi l, ˙ze ´ srednie ryzyko portfela nie powinno przekroczy´ c 4 p. Zgodnie z nowymi przepisami firma budowalna Burz i buduj musi zagwarantowa´ c

Otrzymana sprzeczno´s´c ko´nczy dowód.... Otrzymana sprzeczno´s´c

√ 2 − 1, który należy do zbioru Z, a kresem górnym jest granica ciągu równa 1/2, która nie należy do zbioru

Jeśli natomiast szereg jest zbieżny, ale nie bezwzględnie, to permutując jego wyrazy możemy uzyskać szereg zbieżny o dowolnej sumie albo szereg rozbieżny 5.. 4 Używam tu

[r]

Rozwiązania proszę starannie i samodzielnie zredagować i wpisać do zeszytu prac domowych.. Zadania dotyczą sposobu wybiarania posłów do Parlamentu Europejskiego

Na ile sposob´ow mo˙zna podzieli´c 5 kanapek na 3 nierozr´o˙znialne talerze przy czy na ka˙zdym talerzu mo˙ze by´c dowolna liczba kanapek (w l¸acznie z zerem) oraz a) kanapki

Jaki jest warunek konieczny i dostateczny istnienia cyklu Eulera w spójnym grafie