• Nie Znaleziono Wyników

Programowanie liniowe

N/A
N/A
Protected

Academic year: 2021

Share "Programowanie liniowe"

Copied!
51
0
0

Pełen tekst

(1)

Programowanie liniowe

1 Wst ˛ ep

Programowanie liniowe jest jednym z działów teorii zada´n ekstremalnych. Podstawy pro- gramowania liniowego stworzył Kantorowicz w latach 30-tych ubiegłego stulecia.

Przedmiotem programowania liniowego s ˛a zadania polegaj ˛ace na szukaniu punktów minimum (b ˛ad´z maksimum) funkcji liniowej na zbiorze opisanym układem równo´sci lub nierówno´sci lin- iowych. Najprostszym przykładem zadania programowania liniowego jest zadanie znalezienia punktu minimum funkcji f (x) = ax na przedziale [c, d] ⊂ R+0. W postaci zadania programowa- nia liniowego mo˙zna zapisa´c wiele praktycznych zagadnie´n natury ekonomicznej.

Przykład 1(planowanie produkcji). Wytwórca dysponuje okre´slonymi ilo´sciami ró˙znych ´srod- ków (surowce, praca, sprz ˛et), wykorzystywanych do produkcji ró˙znych towarów. Wia-domo, jaka ilo´s´c i-tego ´srodka jest potrzebna do produkcji jednostki j-tego towaru, a tak˙ze jaki dochód daje sprzeda˙z ka˙zdej wyprodukowanej jednostki j-tego towaru. Wytwórca powinien tak za- planowa´c produkcj ˛e, by całkowity dochód uzyskany ze sprzeda˙zy towarów był maksymalny.

Model. Wprowad´zmy nast ˛epuj ˛ace oznaczenia:

m - ilo´s´c ´srodków n - ilo´s´c towarów

aij - ilo´s´c jednostek i-tego ´srodka potrzebna do produkcji jednostki j-tego towaru bi - dost ˛epna ilo´s´c jednostek i-tego ´srodka

xj - wielko´s´c produkcji j-tego towaru (niewiadoma)

cj - dochód uzyskiwany ze sprzeda˙zy jednostki j-tego towaru

Całkowit ˛a ilo´s´c i-tego ´srodka, zu˙zyt ˛a podczas produkcji, mo˙zna wi ˛ec wyrazi´c nast ˛epuj ˛aco:

Xn j=1

aijxj.

Ilo´s´c ta powinna by´c mniejsza lub równa dost ˛epnej ilo´sci jednostek i-tego ´srodka, czyli Xn

j=1

aijxj ≤ bi, i = 1, ..., m.

Dochód uzyskany ze sprzeda˙zy wszystkich wyprodukowanych towarów wyra˙za si ˛e nast ˛epujaco:

Xn j=1

cjxj,

(2)

przy czym oczywi´scie

xj ≥ 0, j = 1, ..., n.

Mo˙zna wi ˛ec sformułowa´c opisane zagadnienie w nast ˛epuj ˛acy sposób:

zmaksymalizowa´c funkcjonał kosztu (dochód) Xn

j=1

cjxj

przy ograniczeniach

xj ≥ 0, j = 1, ..., n, Xn

j=1

aijxj ≤ bi, i = 1, ..., m.

Przykład 2(zagadnienie transportowe). Wytwórca zamierza przesła´c pewn ˛a ilo´s´c jednostek to- waru z kilku magazynów do kilku punktów sprzeda˙zy. Ka˙zdy punkt sprzeda˙zy zło˙zył zamówie- nie u wytwórcy na okre´slon ˛a ilo´s´c jednostek towaru. Ka˙zdy magazyn dysponuje okre´slonymi zapasami towaru. Wytwórca zna koszt transportu jednostki towaru z ka˙zdego magazynu do ka˙zdego punktu sprzeda˙zy. Nale˙zy tak zaplanowa´c dystrybucj ˛e towaru, by koszt transportu był minimalny.

Model. Aby sformułowa´c powy˙zsze zadanie jako zadanie programowania liniowego, wprowad´zmy nast ˛epuj ˛ace oznaczenia:

m - ilo´s´c magazynów

n - ilo´s´c punktów sprzeda˙zy

ai - ilo´s´c jednostek towaru znajduj ˛acych si ˛e w i-tym magazynie

bj - zapotrzebowanie (ilo´s´c jednostek) na towar zło˙zone przez j-ty punkt sprzeda˙zy

xij - ilo´s´c jednostek towaru przesyłana z i-tego magazynu do j-tego punktu sprzeda˙zy (niewiadoma)

cij - koszt przesłania jednostki towaru z i-tego magazynu do j-tego punktu sprzeda˙zy Całkowity koszt transportu mo˙zna wi ˛ec wyrazi´c nast ˛epuj ˛aco:

Xm i=1

Xn j=1

cijxij.

˙Z ˛ada si ˛e dodatkowo, aby ka˙zdy punkt sprzeda˙zy otrzymał dokładnie bj jednostek towaru i aby ka˙zdy magazyn wysłał dokładnie ai jednostek towaru. Naturalnym zało˙zeniem jest, ˙ze

xij ≥ 0, i = 1, ..., m, j = 1, ..., n.

Mo˙zemy wi ˛ec sformułowa´c nasze zagadnienie w nast ˛epuj ˛acy sposób:

zminimalizowa´c funkcjonał kosztu

(3)

przy ograniczeniach

xij ≥ 0, i = 1, ..., m, j = 1, ..., n.

Xn j=1

xij = ai, i = 1, ..., m, Xm

i=1

xij= bj, j = 1, ..., n.

W przypadku m = 2, n = 3 zadanie przyjmuje posta´c

c11x11+ c12x12+ c13x13+ c21x21+ c22x22+ c23x23→ min . x11≥ 0, x12≥ 0, x13≥ 0, x21≥ 0, x22≥ 0, x23≥ 0,

x11+ x12+ x13= a1

x21+ x22+ x23= a2

x11+ x21 = b1

x12+ x22 = b2

x13+ x23= b3.

Przykład 3 (zagadnienie diety). Dane s ˛a zawarto´sci okre´slonych składników od˙zywczych w ró˙znych produktach spo˙zywczych (dokładniej, w 100 g (jednostce) ka˙zdego z rozpatrywanych produktów), n.p. wiadomo, ile mg fosforu zawiera 100 g ka˙zdego z rozpatrywanych produktów.

Znane jest równie˙z minimalne dzienne zapotrzebowanie organizmu na poszczególne składniki od˙zywcze oraz maksymalna (dopuszczalna) dzienna dawka ka˙zdego z tych składników, która nie powinna by´c przekraczana. Znaj ˛ac koszt jednostki ka˙zdego z rozpatrywanych produktów, nale˙zy uło˙zy´c diet ˛e w taki sposób, by pokrywała minimalne dzienne zapotrzebowanie organizmu na składniki od˙zywcze, nie szkodziła i jej koszt był minimalny.

Model. Wprowad´zmy nast ˛epuj ˛ace oznaczenia:

m - ilo´s´c składników od˙zywczych n - ilo´s´c produktów spo˙zywczych

aij - ilo´s´c mg i-tego składnika od˙zywczego w 100 g j-tego produktu spo˙zywczego bi - minimalne dzienne zapotrzebowanie (w mg) organizmu na i-ty składnik od˙zywczy dj - maksymalna dzienna dawka (w mg) i-tego składnika od˙zywczego

xj - ilo´s´c jednostek (100 g) j-tego produktu spo˙zywczego przewidziana w diecie (niewiadoma) cj - koszt jednostki (100 g) j-tego produktu spo˙zywczego

Powy˙zsze zagadnienie mo˙zna sformułowa´c w postaci nast ˛epuj ˛acego minimalizacyjnego zada- nia programowania liniowego:

c1x1+ ... + cnxn→ min . xj ≥ 0, j = 1, ..., n,

ai1x1 + ... + ainxn ≥ bi, i = 1, ..., m, ai1x1+ ... + ainxn≤ di, i = 1, ..., m.

(4)

2 Sformułowanie zadania

Ogólnym zadaniem programowania liniowego nazywamy zadanie postaci (u = (u1, ..., un)

∈ Rn):

J(u) = c1u1+ ... + cnun→ min . (I.1)

uk ≥ 0, k ∈ I (I.2)

⎧⎪

⎪⎪

⎪⎪

⎪⎨

⎪⎪

⎪⎪

⎪⎪

a1,1u1+ ... + a1,nun≤ b1 ...

am,1u1+ ... + am,nun≤ bm am+1,1u1+ ... + am+1,nun = bm+1

...

as,1u1+ ... + as,nun = bs

, (I.3)

gdzie cj, ai,j, bi, i = 1, ..., s, j = 1, ..., n, s ˛a danymi liczbami rzeczywistymi, I ⊂ {1, ..., n} jest ustalonym zbiorem indeksów; mo˙zliwe s ˛a tutaj przypadki: I = ∅, I = {1, ..., n}, m = s, m = 0.

Powy˙zsze zadanie mo˙zemy zapisa´c nast ˛epuj ˛aco:

½ J(u) =hc, ui → min .

u∈ U = {u = (u1, ..., un)∈ Rn; ui ≥ 0 dla i ∈ I, Au ≤ b, Au = b} (1) gdzie

c = (c1, ..., cn),

A =

⎢⎣

a1,1 ... a1,n

... ... am,1 ... am,n

⎥⎦ , A =

⎢⎣

am+1,1 ... am+1,n

... ... as,1 ... as,n

⎥⎦ ,

b =

⎢⎣ b1

... bm

⎥⎦ , b =

⎢⎣ bm+1

... bs

⎥⎦ .

(symbolem hx, yi oznaczamy iloczyn skalarny wektorów x = (x1, ..., xn), y = (y1, ..., yn), t.zn.

hx, yi =Pn

i=1xiyi; zapis

x≥ y, gdzie x = (x1, ..., xn), y = (y1, ..., yn), oznacza, ˙ze

xi ≥ yi, i = 1, ..., n).

Ka˙zdy punkt u ∈ U nazywamy punktem dopuszczalnym dla zadania (1). Punkt u ∈ U nazywamy rozwi ˛azaniem zadania (1), gdy

J(u)≤ J(u)

(5)

Kanonicznym zadaniem programowania liniowego nazywamy zadanie postaci

½ J(u) =hc, ui → min .

u∈ U = {u = (u1, ..., un)∈ Rn; u≥ 0 , Au = b} . (I.6) Podstawowym zadaniem programowania liniowego nazywamy zadanie postaci

½ J(u) =hc, ui → min .

u∈ U = {u = (u1, ..., un)∈ Rn; u≥ 0 , Au ≤ b} . (I.7) Zajmiemy si ˛e teraz zagadnieniem „równowa˙zno´sci” zada´n ró˙znego typu.

A mianowicie, rozwi ˛azywanie zadania podstawowego mo˙zna zast ˛api´c rozwi ˛azywaniem zadania kanonicznego. Istotnie, niech dane b ˛edzie zadanie podstawowe (I.7) i rozwa˙zmy w przestrzeni Rn+m zadanie postaci

½ hd, zi → min .

z ∈ Z = {z = (u, v) ∈ Rn+m; z≥ 0 , Cu = b} , (I.9) gdzie d = (c, 0) ∈ Rn+m,

C = [A| Im×m] =

⎢⎣

a1,1 ... a1,n

... ... am,1 ... am,n

1 ... 0 ... ... 0 ... 1

⎥⎦

(Im×m jest macierz ˛a jednostkow ˛a wymiaru m × m).

Łatwo zauwa˙zy´c, ˙ze je´sli u ∈ U jest rozwi ˛azaniem zadania (I.7), to z = (u, v), gdzie v = b− Au,

jest rozwi ˛azaniem zadania (I.9), t.zn. z ∈ Z oraz hd, zi ≤ hd, zi dla dowolnego z ∈ Z.

Je´sli natomiast z = (u, v) ∈ Z jest rozwi ˛azaniem zadania (I.9), to u jest rozwi ˛azaniem zadania (I.7), t.zn. u ∈ U oraz

hc, ui ≤ hc, ui dla dowolnego u ∈ U.

Podobnie, rozwi ˛azywanie zadania ogólnego (1) mo˙zna zast ˛api´c rozwi ˛azywaniem zadania kanon- icznego. Rzeczywi´scie, rozwa˙zmy w przestrzeni Rp (p = m + I + J + J, gdzie J = {1, ..., n}ÂI)

(6)

zadanie postaci

⎧⎪

⎪⎪

⎪⎪

⎪⎪

⎪⎪

⎪⎪

⎪⎪

⎪⎨

⎪⎪

⎪⎪

⎪⎪

⎪⎪

⎪⎪

⎪⎪

⎪⎪

he, zi =X

i∈I

ciui+X

i∈J

ciwi+X

i∈J

−ciwi → min . z ∈ Z = {z = (v, ui; i∈ I, wi; i∈ J, wi; i∈ J) ∈ Rp; z≥ 0,

v +X

i∈I

Aiui+X

i∈J

Aiwi+X

i∈J

−Aiwi = b, X

i∈I

Aiui+X

i∈J

Aiwi+X

i∈J

−Aiwi = b}

={z ∈ Rp; z≥ 0,

∙ [Im×m£ | Ai; i∈ I | Ai; i∈ J | −Ai; i∈ J]

0| Ai; i∈ I | Ai; i∈ J | −Ai; i∈ J¤

¸ z =

∙ b b

¸ }

, (I.10)

gdzie e = (0, ci; i∈ I, ci; i∈ J, −ci; i∈ J) ∈ Rp, Ai - i-ta kolumna macierzy A, Ai- i-ta kolumna macierzy A.

Je´sli u ∈ U jest rozwi ˛azaniem zadania ogólnego (1), to

z = (v, ui; i∈ I, wi; i∈ J, wi; i∈ J), gdzie

v = b− Au, wi = max{0, ui}, i ∈ J, wi = max{0, −ui}, i ∈ J,

jest rozwi ˛azaniem zadania (I.10) (zauwa˙zmy, ˙ze ui = wi − wi dla i ∈ J).

Je´sli natomiast

z = (v, ui; i∈ I, wi; i∈ J, wi; i∈ J), jest rozwi ˛azaniem zadania (I.10), to

u = (ui; i∈ I, wi− wi; i∈ J) jest rozwi ˛azaniem zadania (1).

2.1 Zadania

Zadanie 1. Zapisa´c nast ˛epuj ˛ace zadanie w postaci zadania programowania liniowego.

Producent odzie˙zy powinien okre´sli´c, ile kurtek i płaszczy nale˙zy wyprodukowa´c tak, aby zysk osi ˛agniety z ich sprzeda˙zy był maksymalny. Do produkcji wykorzystywany jest jeden rodzaj tkaniny. Producent posiada 150 m2 tej tkaniny. Zgodnie z zamówieniami nale˙zy wyprodukowa´c co najmniej 20 kurtek i co najwy˙zej 10 płaszczy. Do produkcji jednej kurtki i jednego płaszcza potrzeba odpowiednio 2, 5 m2 i 4 m2 tkaniny. Przy sprzeda˙zy jednej kurtki producent osi ˛aga zysk

(7)

Pewien wytwórca posiada centrale zbytu z Lublinie, Łodzi i Szczecinie. Centrale te posiadaj ˛a odpowiednio 40, 20 i 40 jednostek produktu. Punkty sprzeda˙zy zamówiły nastepuj ˛ace ilo´sci jednostek produktu: Białystok - 25, Cieszyn - 10, Kraków - 20, Sopot - 30, Warszawa - 15.

Koszt transportu jednostki (w zł) z ka˙zdej centrali zbytu do dowolnego punktu sprzeda˙zy podaje nast ˛epujaca tablica:

Białystok Cieszyn Kraków Sopot Warszawa

Lublin 55 30 40 50 40

Łód´z 35 30 100 45 60

Szczecin 40 60 95 35 30

Nale˙zy tak zaplanowa´c dystrybucj ˛e produktu, by koszt transportu był minimalny.

Zadanie 3. Zapisa´c nast ˛epuj ˛ace zadanie w postaci zadania programowania liniowego.

Wytwórca mebli powinien okre´sli´c, ile stoł ów, krzeseł, biurek i szaf powinien wyprodukowa´c, by zysk z ich sprzeda˙zy był maksymalny. Do produkcji wykorzystywane sa dwa typy desek.

Wytwórca posiada 1500 m desek I typu i 1000 m - desek II typu oraz dysponuje kapitałem 860 godzin roboczych na wykonanie zaplanowanej produkcji. Ze zło˙zonych zamówie´n wynika, ˙ze nale˙zy wyprodukowa´c co najmniej 40 stołów, 130 krzeseł, 30 biurek i nie wi ˛ecej ni˙z 10 szaf. Do produkcji ka˙zdego stołu, krzesła, biurka i szafy potrzeba odpowiednio 5, 1, 9, 12 m desek I typu i 2, 3, 4, 1 m desek II typu. Na wykonanie stołu potrzeba 3 godzin pracy, krzesła -2 godzin, biurka - 5 godzin, szafy - 10 godzin. Ze sprzeda˙zy jednego stołu, krzesła, biurka i szafy wytwórca osi ˛aga zysk odpowiednio 50, 20, 60 i 40 zł.

Zadanie 4. Zapisa´c nast ˛epuj ˛ace zadanie w postaci zadania programowania liniowego.

Zadaniem dietetyka jest opracowanie składu porannej owsianki tak, aby zawierała ona niezb ˛edne dzienne zapotrzebowanie organizmu na okre´slone składniki od˙zywcze i jednocze´snie była mo˙zliwie najta´nsz ˛a. Dietetyk ma dyspozycji płatki Corn Flakes i Nesquik. ´Sniadanie powinno zawiera´c co najmniej 1 mg witaminy B1, 12 mg ˙zelaza i mie´c warto´s´c energetyczn ˛a równ ˛a 360 kcal. 100 g płatków Corn Flakes zawiera 1, 2 mg witaminy B1, 12 mg ˙zelaza i ma warto´s´c energetyczn ˛a równ ˛a 358 kcal, natomiast 100 g płatków Nesquik zawiera 1, 5 mg witaminy B1, 10 mg ˙zelaza i ma warto´s´c energetyczn ˛a równ ˛a 390 kcal. Ponadto 100 g płatków Corn Flakes kosztuje 32 gr, a 100 g płatków Nesquik - 36 gr.

Zadanie 5. Zapisa´c nast ˛epuj ˛ace zadanie w postaci zadania programowania liniowego.

Dyrektor pewnego przedsi ˛ebiorstwa powinien obsadzi´c trzy stanowiska, które wymagaj ˛a ró˙znych kwalifikacji i praktyki zawodowej, przy czym ma do dyspozycji trzech pracowników. Ze wzgl ˛edu na ró˙zne ich kwalifikacje i do´swiadczenie zawodowe warto´s´c (dla przedsi ˛ebiorstwa) ka˙zdego z tych pracowników zale˙zy od stanowiska, na którym jest on zatrudniony. Poni˙zsza tabela zawiera oceny warto´sci poszczególnych pracowników zatrudnionych na poszczególnych stanowiskach

Stanowisko I Stanowisko II Stanowisko III

Pracownik A 5 4 7

Pracownik B 6 7 3

Pracownik C 8 11 2

(8)

Nale˙zy tak rozmie´sci´c pracowników na rozwa˙zanych stanowiskach, by całkowita ich warto´s´c dla przedsi ˛ebiorstwa była maksymalna.

Zadanie 6. Zapisa´c nast ˛epuj ˛ace zadanie w postaci zadania programowania liniowego.

Producent farb powinien okre´sli´c, ile litrów farby białej, zielonej, niebieskiej i czerwonej nale˙zy wyprodukowa´c, aby zysk osi ˛agni ˛ety z ich sprzeda˙zy był maksymalny. Do produkcji wykorzysty- wane s ˛a trzy surowce: A, B i C. Producent posiada 230 litrów surowca A, 200 litrów - surowca B i 170 litrów - surowca C oraz dysponuje kapitałem 160 godzin roboczych. Z przyj ˛etych za- mówie´n wynika, ˙ze nale˙zy wyprodukowa´c co najmniej 125 litrów farby białej, co najmniej 135 litrów - farby zielonej, co najwy˙zej 205 litrów - farby niebieskiej i nie mniej ni˙z 175 litrów - farby czerwonej. Ilo´sci (w litrach) poszczególnych surowców potrzebnych do wyprodukowania 1 litra ka˙zdej farby przedstawione s ˛a w nast ˛epuj ˛acej tabeli

biała zielona niebieska czerwona

A 0,30 0,60 0,35 0,15

B 0,25 0,20 0,45 0,55

C 0,45 0,20 0,20 0,30

.

Zysk ze sprzeda˙zy 1 litra farby białej wynosi 7 zł, zielonej - 6 zł, niebieskiej - 7 zł, czerwonej - 5 zł.

Zadanie 7. Zapisa´c nast ˛epuj ˛ace zadanie w postaci zadania programowania liniowego.

Hodowca krowy karmi zwierz ˛e produktami pochodz ˛acymi z gospodarstwa rolnego. Jednak ze wzgl ˛edu na konieczno´s´c zapewnienia w diecie odpowiednich ilo´sci pewnych składników od˙zyw- czych (nazwijmy je A, B, C) hodowca musi zakupi´c raz w roku trzy dodatkowe produkty (nazwi- jmy je I, II, III), które zawieraj ˛a te składniki. Jeden kilogram produktu I zawiera 63 g skład- nika A i 9 g składnika B, jeden kilogram produktu II zawiera 14 g składnika B i 28 g składnika C, za´s jeden kilogram produktu III zawiera 50 g składnika A i 15 g składnika C. Minimalne zapotrzebowanie zwierz ˛ecia na poszczególne składniki wynosi:

870 g składnika A, 200 g składnika B, 450 g składnika C.

Ka˙zdy z produktów zawiera jednak pewne ilo´sci szkodliwych ´srodków konserwuj ˛acych. I tak, 1 kg produktu I zawiera 7 g tych ´srodków, produktu II - 11 g, produktu III - 9 g. Roczne spo˙zycie ´srodków konserwuj ˛acych nie powinno przekroczy´c 150 g. Przyjmijmy na koniec, ˙ze 1 kg produktu I kosztuje 35 zł, produktu II - 29 zł, a produktu III - 19 zł. Celem hodowcy jest ustalenie ilo´sci kupowanych produktów I, II, III tak, aby zapewni´c zwierz ˛eciu wła´sciw ˛a diet ˛e i jednocze´snie ponie´s´c mo˙zliwie najmniejsze koszty.

(9)

Zadanie 10. Zapisa´c zadanie 4 w postaci kanonicznego zadania programowania liniowego.

Zadanie 11. Zapisa´c zadanie ogólne

⎧⎪

⎪⎪

⎪⎨

⎪⎪

⎪⎪

J(u) = u1+ 2u2+ 3u3 → min . u∈ U = {u = (u1, u2, u3)∈ R3; u1 ≥ 0,

10u1+ 20u2+ 30u3 ≤ 11, 100u1+ 200u2 + 300u3 ≤ 12

1

2u1+13u2+ 14u3 = 0} w postaci zadania kanonicznego.

Zadanie 12. Zapisa´c zadanie ogólne

⎧⎪

⎪⎪

⎪⎪

⎪⎪

⎪⎨

⎪⎪

⎪⎪

⎪⎪

⎪⎪

J(u) = 3u1+ 5u2 + 7u3+ 9u4 → min . u∈ U = {u = (u1, u2, u3, u4)∈ R4; u2 ≥ 0, u4 ≥ 0,

11u1+ 12u2+ 13u3+ 14u4 ≤ 1, 21u1+ 23u3 ≤ −1,

32u2 ≥ 8,

1

1u1+ 12u2+13u3+14u4 = 2,

1

11u1+141u4 =−2}

w postaci zadania kanonicznego.

(10)

3 Interpretacja geometryczna zada´ n programowania lin- iowego

Rozwa˙zmy zadanie podstawowe (I.7) w przypadku, gdy n = 2, czyli

⎧⎨

J(u) = c1u1 + c2u2 → min .

u∈ U = {u = (u1, u2)∈ R2; u1 ≥ 0, u2 ≥ 0, ai,1u1+ ai,2u2 ≤ bi, i = 1, ..., m}

. (II.1)

Wprowad´zmy oznaczenia

U0 ={(u1, u2)∈ R2; u1 ≥ 0, u2 ≥ 0},

Ui ={(u1, u2)∈ R2; ai,1u1+ ai,2u2 ≤ bi}, i = 1, ..., m.

Oczywi´scie

U =

\m i=0

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

(11)

Ustalmy liczb ˛e α ∈ R. Równanie

c1u1+ c2u2 = α

opisuje poziomic ˛e funkcjonału J odpowiadaj ˛ac ˛a warto´sci α, czyli zbiór {(u1, u2)∈ R2; J(u) = α}.

Jest to prosta prostopadła do wektora c = (c1, c2). Przy zmianie warto´sci stałej α od −∞ do

∞ prosta ta zmienia swoje poło˙zenie, przesuwaj ˛ac si ˛e w sposób równoległy w kierunku wektora ci „zamiataj ˛ac” cał ˛a płaszczyzn ˛e.

W przypadku 20 zawsze istnieje „punkt pierwszego kontaktu” (by´c mo˙ze nie jedyny) przesuwa- j ˛acej si ˛e prostej z wielobokiem U . Odpowiednia warto´s´c stałej α wynosi wówczas

minu∈UJ(u) =: J

(12)

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

u∈UinfJ(u) =−∞.

(13)

Z powy˙zszej dyskusji wynika, ˙ze zadanie (II.1) 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 wierz- chołkiem wieloboku U .

Podobn ˛a analiz ˛e mo˙zna przeprowadzi´c w przypadku, gdy n = 3, zast ˛epuj ˛ac wielobok wielo´s- cianem, a prost ˛a - płaszczyzn ˛a.

Matod ˛a graficzn ˛a mo˙zna tak˙ze rozwi ˛aza´c niektóre zadania o wi ˛ekszej ni˙z 2 lub 3 ilo´sci zmien- nych. Rozwa˙zmy mianowicie zadanie postaci

½ J(u) =hc, ui → min .

u∈ U = {u ∈ Rm+2; u≥ 0 , Au = b}

gdzie

A =

⎢⎣

a1,1 ... a1,m a1,m+1 a1,m+2

... ... ... ... am,1 ... am,m am,m+1 am,m+2

⎥⎦ , b =

⎢⎣ b1

... bm

⎥⎦ ,

(14)

przy czym rankA = m i kolumny A1,...,Am s ˛a liniowo niezale˙zne. Wprowad´zmy oznaczenia

A =

⎢⎣

a1,1 ... a1,m

... ... am,1 ... am,m

⎥⎦ , A =

⎢⎣

a1,m+1 a1,m+2

... ... am,m+1 am,m+2

⎥⎦ ,

u =

⎢⎣ u1

... um

⎥⎦ , u =

∙ um+1 um+2

¸ ,

c =

⎢⎣ c1

... cm

⎥⎦ , c =

∙ cm+1

cm+2

¸ .

Zatem

A =h

A | Ai , u =

∙ u u

¸

, c =£ c | c¤

. W konsekwencji warunek

Au = b mo˙zemy zapisa´c jako

Au + Au = b.

St ˛ad

u = A−1b− A−1 Au.

Zauwa˙zmy teraz, ˙ze rozwi ˛azywanie zadania wyj´sciowego mo˙zna zast ˛api´c rozwi ˛azywaniem zada-

nia postaci ( D

c, A−1b− A−1 AuE +­

c, u®

→ min . u∈ U = {u ∈ R2; u≥ 0 , A−1 Au≤ A−1b}

(=) Dokładniej, je´sli u jest rozwi ˛azaniem zadania (=), to

u =

∙ u u

¸ , gdzie

u = A−1b− A−1 Au, jest rozwi ˛azaniem zadania wyj´sciowego. Na odwrót, je´sli u =

∙ u u

¸

jest rozwi ˛aza- niem zadania wyj´sciowego, to u jest rozwi ˛azaniem zadania (=).

(15)

3.1 Zadania

Zadanie 1. Rozwi ˛aza´c w sposób geometryczny nast ˛epuj ˛ace zadanie:

⎧⎪

⎪⎪

⎪⎪

⎪⎨

⎪⎪

⎪⎪

⎪⎪

J(u) = u1 + u2 → min . u∈ U = {u = (u1, u2)∈ R2; u≥ 0,

−2u1− u2 ≤ −2,

1

2u1− u212,

−u1+ u2 ≤ 2, u1 ≤ 3}

.

Zadanie 2. Rozwi ˛aza´c w sposób geometryczny nast ˛epuj ˛ace zadanie:

⎧⎪

⎪⎪

⎪⎪

⎪⎨

⎪⎪

⎪⎪

⎪⎪

J(u) =−2u1+ u2 → min . u∈ U = {u = (u1, u2)∈ R2; u≥ 0,

−u1− u2 ≤ −1,

−u1+ u2 ≤ −1,

−u1+ 2u2 ≤ 0, 2u1− u2 ≤ 5}

.

Zadanie 3. Rozwi ˛aza´c w sposób geometryczny nast ˛epuj ˛ace zadanie:

⎧⎪

⎪⎨

⎪⎪

J(u) = 2u1− u2 → min . u∈ U = {u = (u1, u2)∈ R2; u≥ 0,

12u1+ u2 ≤ 2,

12u1− u2 ≤ −1}

.

Zadanie 4. Rozwi ˛aza´c w sposób geometryczny nast ˛epuj ˛ace zadanie:

⎧⎪

⎪⎨

⎪⎪

J(u) =−u1+ u2 → min . u∈ U = {u = (u1, u2)∈ R2; u≥ 0,

12u1+ u2 ≤ 2,

13u1+ u2 = 1}

.

Zadanie 4. Rozwi ˛aza´c w sposób geometryczny nast ˛epuj ˛ace zadanie.

W pewnym zakładzie wytwarzane s ˛a produkty A i B. Do produkcji ka˙zdego z nich wykorzystywana jest praca trzech maszyn: M1, M2, M3. Maszyna M1 mo˙ze by´c wykorzystana przez 24000 s, M2 - 40000 s, M3 - 27000 s. Poni˙zsza tabela podaje czas pracy ka˙zdej maszyny potrzebny do wyprodukowania jednostki ka˙zdego produktu

(16)

A B

M1 3 6

M2 8 4

M3 9 3

Zysk ze sprzeda˙zy jednostki produktu A wynosi 9 zł, B - 6 zł. Nale˙zy zaplanowa´c produkcj ˛e tak, by zysk ze sprzeda˙zy był maksymalny.

Zadanie 6. Rozwi ˛aza´c w sposób geometryczny nast ˛epuj ˛ace zadanie:

⎧⎪

⎪⎪

⎪⎨

⎪⎪

⎪⎪

J(u) =−u1− 3u2− 2u4− 3u5 → min . u∈ U = {u = (u1, u2, u3, u4, u5)∈ R5; u≥ 0,

u1+ 2u4+ 3u5 = 15, 2u1+ u3+ u4+ 5u5 = 20,

u1+ u2+ 2u4+ u5 = 10}

.

Zadanie 7. Rozwi ˛aza´c w sposób geometryczny nast ˛epuj ˛ace zadanie:

⎧⎪

⎪⎪

⎪⎨

⎪⎪

⎪⎪

J(u) =−u1− 2u2+ u3 → min .

u∈ U = {u = (u1, u2, u3, u4, u5)∈ R5; u≥ 0, 3u1− 2u2+ 2u3 − 2u4+ 3u5 = 38,

−u1+ u2+ 3u4− u5 = 13, u1− u2+ u3 = 14}

.

4 Punkty wierzchołkowe

Punkt v ∈ V ⊂ Rn nazywamy punktem wierzchołkowym (punktem ekstremalnym) zbioru wypukłego i domkni ˛etego V , je´sli przedstawienie

v = αv1+ (1− α)v2, (III.1)

gdzie α ∈ (0, 1), v1, v2 ∈ V , mo˙zliwe jest tylko wtedy, gdy v1 = v2. Innymi słowy, punkt v∈ V jest punktem wierzchołkowym zbioru V , gdy nie jest on punktem wewn ˛etrznym odcinka o ró˙znych ko´ncach nale˙z ˛acych do V . Poj ˛ecie punktu wierzchołkowego jest poj ˛eciem fundamen- talnym w teorii programowania liniowego.

W dalszej cz ˛e´sci wykładu poka˙zemy, ˙ze je´sli zadanie kanoniczne (przy dowolnym n ∈ N) posiada rozwi ˛azanie, to w´sród rozwi ˛aza´n jest co najmniej jeden punkt wierzchołkowy zbioru

U ={u ∈ Rn; u≥ 0, Au = b}. (III.2)

Teraz podamy charakteryzacj ˛e punktów wierzcholkowych zbioru postaci (III.2).

(17)

Twierdzenie 1 Niech dany b ˛edzie zbiór U postaci (III.2) 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 istniej ˛a wska´zniki 1 ≤ j1 < ... < jr ≤ n takie, ˙ze

⎧⎪

⎪⎨

⎪⎪

vj ≥ 0, j ∈ {j1, ..., jr} vj = 0, j /∈ {j1, ..., jr} Aj1vj1 + ... + Ajrvjr = b

kolumny Aj1, ..., Ajr s ˛a liniowo niezale˙zne w Rm

(III.4)

Dowód. Konieczno´s´c. Na wst ˛epie zauwa˙zmy, ˙ze równo´s´c Au = b

mo˙zna zapisa´c w nastepuj ˛acy, równowa˙zny sposób

A1u1+ ... + Anun= b. (III.5)

Niech v b ˛edzie punktem wierzchołkowym zbioru U . Je´sli v = 0, to z przynale˙zno´sci v do zbioru U (por. definicja punktu wierzchołkowego) wynika, ˙ze b = 0. Z kolei z warunku A 6= 0 wynika,

˙ze r = rankA≥ 1. Zatem istniej ˛a kolumny Aj1,...,Ajr, które s ˛a liniowo niezale˙zne w Rm, przy czym

Aj1 · 0 + ... + Ajr · 0 = b, co oznacza, ˙ze v = 0 spełnia warunki (III.4).

Załó˙zmy wi ˛ec, ˙ze v 6= 0 i niech vj1,...,vjk b ˛ed ˛a wszystkimi dodatnimi współrz ˛ednymi wektora v.

Z warunku Av = b oraz przedstawienia (III.5) wynika, ˙ze

Aj1vj1 + ... + Ajkvjk = b (III.6) (oczywi´scie

vj = 0, j /∈ {j1, ..., jk}).

Poka˙zemy teraz, ˙ze kolumny Aj1, ..., Ajk s ˛a liniowo niezale˙zne w Rm. Załó˙zmy wi ˛ec, ˙ze

α1Aj1 + ... + αkAjk = 0 (III.7) dla pewnych α1, ..., αk∈ R. Ustalmy ε > 0 i rozwa˙zmy punkty postaci

v+ = (v1+, ..., v+n), gdzie

v+jp = vjp + εαp, p = 1, ..., k, v+j = 0, j /∈ {j1, ..., jk} oraz

v = (v1, ..., vn),

(18)

gdzie

vjp = vjp − εαp, p = 1, ..., k, vj = 0, j /∈ {j1, ..., jk}.

Z faktu, ˙ze vjp > 0, p = 1, ..., k, wynika, ˙ze dla dostatecznie małej liczby ε > 0 spełnione b ˛ed ˛a warunki

v+ ≥ 0, v ≥ 0.

Ponadto, mno˙z ˛ac (III.7) przez ε i −ε oraz dodaj ˛ac do (III.6), dostajemy równo´sci Av+ = b, Av= b.

Oznacza to, ˙ze v+, v ∈ U. Ponadto,

v = 1

2(v++ v).

Poniewa˙z v jest punktem wierzchołkowym, wi ˛ec oznacza to, ˙ze v+= v,

czyli

α1 = ... = αk= 0, co ko´nczy dowód liniowej niezale˙zno´sci kolumn Aj1, ..., Ajk. Z powy˙zszego wynika, ˙ze k ≤ r.

Je´sli k = r, to z (III.6) wynika, ˙ze spełnione s ˛a warunki (III.4).

Je´sli za´s k < r, to mo˙zna uzupełni´c układ kolumn Aj1, ..., Ajk

kolumnami

Ajk+1, ..., Ajs

tak, aby układ

Aj1, ..., Ajk, Ajk+1, ..., Ajs (III.8) był liniowo niezale˙zny i aby

1) dodanie do´n dowolnej kolumny Aj dawało układ liniowo zale˙zny lub

2) s było równe n.

(19)

W obu przypadkach układ (III.8) tworzy baz ˛e liniowej powłoki wektorów A1,...,An. Wymiar tej powłoki jest równy rz ˛edowi macierzy A, czyli s = r. Dodaj ˛ac do lewej strony równo´sci (III.6) sum ˛e

Ajk+1vjk+1+ ... + Ajrvjr = Ajk+1· 0 + ... + Ajr · 0 = 0, otrzymujemy (III.4).

Dostateczno´s´c. Niech v ∈ Rnb ˛edzie punktem spełniaj ˛acym warunki (III.4). Wówczas v ∈ U.

Przypu´s´cmy, ˙ze

v = αv1+ (1− α)v2, (III.9)

gdzie v1, v2 ∈ U, α ∈ (0, 1). Poka˙zemy, ˙ze v1 = v2. Zauwa˙zmy, ˙ze je´sli vj = 0, to z (III.9) oraz nierówno´sci

0 < α < 1, vj1 ≥ 0, vj2 ≥ 0 otrzymujemy

0≤ αv1j + (1− α)v2j = vj = 0,

co oznacza, ˙ze v1j = vj2(= 0). Je´sli wi ˛ec v = 0, to v jest punktem wierzchołkowym zbioru U . Przypu´s´cmy wie´c, ˙ze v 6= 0. Dla zako´nczenia dowodu wystarczy pokaza´c, ˙ze v1j = vj2 dla tych wska´zników j, dla których vj > 0.

Z waruków (III.4) wynika, ˙ze dodatnimi współrz ˛ednymi punktu v mog ˛a by´c jedynie współrz ˛edne vj1, ..., vjr.

Niech

D :={j ∈ {j1, ..., jr}; vj > 0}.

Oczywi´scie D 6= ∅. Poniewa˙z

v1j = vj2 = 0, j /∈ D, wi ˛ec równo´sci

Av1 = b, Av2 = b mo˙zemy zapisa´c w postaci X

j∈D

Ajv1j = b, X

j∈D

Ajv2j = b.

Z liniowej niezale˙zno´sci wektorów Aj, j ∈ D, i z powy˙zszych równo´sci wynika, ˙ze vj1 = v2j, j ∈ D,

co ko´nczy dowód twierdzenia.

(20)

Układ wektorów Aj1,...,Ajr wyst ˛epuj ˛acych w warunkach (III.4) nazywamy baz ˛a punktu wierz- chołkowego v, a odpowiednie współrz ˛edne vj1,...,vjr - współrz ˛ednymi bazowymi punktu wierz- chołkowego v. Punkt wierzchołkowy, którego wszystkie współrz ˛edne bazowe s ˛a dodatnie nazy- wamy 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 (przy ustalonej bazie Aj1,...,Ajr).

Z twierdzenia 1 wynika, ˙ze baza nieosobliwego punktu wierzchołkowego zbioru (III.2) jest wyz- naczona jednoznacznie, natomiast osobliwy punkt wierzchołkowy mo˙ze mie´c wiele baz.

4.1 Zadania

Zadanie 1. Znale´z´c, w oparciu o Twierdzenie 1, punkty wierzchołkowe zbioru U ={u = (u1, u2)∈ R2; u≥ 0, −1

3u1+ u2 = 1}.

Zadanie 2. Znale´z´c, w oparciu o Twierdzenie 1, punkty wierzchołkowe zbioru U ={u = (u1, u2, u3, u4)∈ R4; u≥ 0,

u1+ u2+ 3u3+ u4 = 3, u1− u2+ u3+ 2u4 = 1}.

Zadanie 3. Znale´z´c, w oparciu o Twierdzenie 1, punkty wierzchołkowe zbioru U ={u = (u1, u2, u3, u4)∈ R4; u≥ 0,

u1+ u4 = 0, 2u2+ u4 = 3, 3u3 = 0} i wskaza´c ich bazy.

Zadanie 4. Znale´z´c, w oparciu o Twierdzenie 1, punkty wierzchołkowe zbioru U ={u = (u1, u2, u3)∈ R3; u≥ 0,

u1+ 2u2 + 3u3 = 4, −u1+ 5u3 = 0}.

Poda´c bazy znalezionych punktów wierzchołkowych.

Zadanie 5. Znale´z´c, w oparciu o Twierdzenie 1, punkty wierzchołkowe zbioru U ={u = (u1, u2, u3)∈ R3; u≥ 0,

u1 + u2+ 2u3 = 10, −u1+ 3u3 = 9, u1+ 2u2+ 7u3 = 29}.

(21)

5 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 badanych punktach nie rosn ˛a).

Rozwa˙zmy zadanie kanoniczne postaci

½ J(u) =hc, ui → min .

u∈ U = {u = (u1, ..., un)∈ Rn; u≥ 0 , Au = b} (IV.1) gdzie 0 6= A ∈ Rm×n. B ˛edziemy zakłada´c 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 ≤ min{m, n} (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

Xn j=1

ai,juj = bi, i = 1, ..., m.

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 (IV.1).

B ˛edziemy wi ˛ec zakłada´c w dalszym ci ˛agu, ˙ze r < n. Wówczas równo´s´c Au = b

mo˙zemy zapisa´c w postaci ⎧

a1,1u1+ ... + a1,nun= b1 ...

ar,1u1+ ... + ar,nun= br

(IV.2) gdzie r < n.

Podamy teraz opis metody sympleksowej. Przypu´s´cmy, ˙ze dany jest punkt wierzchołkowy v zbioru

U ={u = (u1, ..., un)∈ Rn; u≥ 0 , Au = b}

i załó˙zmy, ˙ze kolumny A1,...,Ar s ˛a baz ˛a tego puntu, v1,...,vr - jego współrz ˛ednymi bazowymi (kwestia wyznaczenia „pocz ˛atkowego” punktu wierzchołkowego v zbioru U i okre´slenia jego współrz ˛ednych bazowych omówiona b ˛edzie w dalszej cz ˛e´sci wykładu). Wprowad´zmy nast ˛epu- j ˛ace oznaczenia

u =

⎢⎣ u1 ... ur

⎥⎦ , v =

⎢⎣ v1 ... vr

⎥⎦ , c =

⎢⎣ c1 ... cr

⎥⎦ ,

(22)

B =

⎢⎣

a1,1 ... a1,r

... ... ar,1 ... ar,r

⎥⎦ = [A1 | ... | Ar] .

Wówczas układ (IV.2) mo˙zemy zapisa´c w postaci

Bu+ Ar+1ur+1+ ... + Anun= b. (IV.3) Z liniowej niezale˙zno´sci kolumn A1,...,Ar (jest to baza punktu v) wynika, ˙ze istnieje macierz odwrotna B−1. Współrz ˛edne niebazowe punktu v s ˛a zerowe, zatem punkt v mo˙zemy zapisa´c w postaci

v =

∙ v 0

¸ , przy czym v ≥ 0. A wi ˛ec z (IV.3) otrzymujemy

Bv= b, sk ˛ad

v = B−1b.

Mno˙z ˛ac równo´s´c (IV.3) lewostronnie przez B−1 otrzymujemy u +

Xn k=r+1

B−1Akuk= B−1b = v. (IV.4)

Oznaczmy

γs,k = (B−1Ak)s dla k = r + 1, ..., n, s = 1, ..., r

gdzie (B−1Ak)s oznacza s-t ˛a współrz ˛edn ˛a wektora-kolumny B−1Ak. Równo´s´c (IV.4) mo˙zemy teraz zapisa´c w postaci nast ˛epuj ˛acego układu równa´n

⎧⎪

⎪⎨

⎪⎪

u1+ γ1,r+1ur+1+ ... + γ1,nun= v1 u2+ γ2,r+1ur+1+ ... + γ2,nun= v2

...

ur+ γr,r+1ur+1+ ... + γr,nun= vr

. (2)

Okre´slmy tak˙ze

γs,k = (B−1Ak)s

dla k = 1, ...r, s = 1, ..., r (oczywi´scie γs.k = δs,k dla k = 1, ..., r, s = 1, ..., r, gdzie δs,k jest symbolem Kronekera).

Pokazali´smy, ˙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 (IV.2) w równowa˙znej postaci (IV.3) lub (IV.4) lub (2) lub (??) lub (??).

(23)

Korzystaj ˛ac z (??), warto´s´c funkcjonału kosztu J w punkcie u spełniaj ˛acym ograniczenia typu równo´sci (IV.2), 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, (IV.8)

gdzie

i

c, B−1Ai

®− ci = Xr

s=1

csγs,i− ci, i = r + 1, ..., n.

Okre´slmy tak˙ze

i

c, B−1Ai

®− ci (IV.9)

dla i = 1, ..., r (oczywi´scie

i

c, B−1Ai

®− ci =hc, eii − ci = ci− ci = 0

dla i = 1, ..., r, gdzie ei jest i-t ˛a kolumn ˛a macierzy jednostkowej o wymiarach r × r).

Dokonajmy cz ˛e´sciowego podsumowania.Zadanie (IV.1) zapisali´smy w nast ˛epuj ˛acej postaci

⎧⎨

J(u) = J(v)− Pn i=r+1

iui → min .

U ={u = (u1, ..., un)∈ Rn; u≥ 0 , u spełnia (2)}

Wyst ˛epuj ˛ace w powy˙zszym opisie wielko´sci γs,k, vi, ∆i zapiszemy w postaci t.zw. tablicy sympleksowej, odpowiadaj ˛acej punktowi wierzchołkowemu v

(24)

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)

Teraz skonstruujemy (o ile to b ˛edzie konieczne!) punkt wierzchołkowy w zbioru U , dla którego J(w)≤ J(v).

Dokładniej, wybierzemy wska´znik k ∈ {r + 1, ..., n} i warto´s´c wk ≥ 0 tak, aby nowy punkt w, którego k-ta współrz ˛edna jest równa wk, a pozostałe spełniaj ˛a warunki

w1 = v1− γ1,kwk, ..., wi = vi− γi,kwk, ..., ws = vs− γs,kwk, ...,

wr = vr− γr,kwk, wr+1 = ... = wk−1 = wk+1 = ... = wn= 0, (IV.10) czyli warunki

w = v− (B−1Ak)wk, wj = 0, j = r + 1, ..., n, j 6= k, (IV.11) spełniał tak˙ze warunki

w≥ 0, J(w) ≤ J(v)

i był punktem wierzchołkowym zbioru U (z (IV.11) i (IV.3) wynika, ˙ze przy dowolnym wyborze wk ≥ 0, dla punktu w okre´slonego przez (IV.10) mamy

Aw = B(v− (B−1Ak)wk) + Xn j=r+1

Ajwj = Bv− Akwk+ Akwk= b).

Oczywi´scie wtedy

J(w) = J(v)− ∆kwk. (IV.12)

Otó˙z, analizuj ˛ac tablic ˛e sympleksow ˛a I, rozwa˙zmy trzy przypadki:

10 spełnione s ˛a nierówno´sci

i

c, B−1Ai

®− ci ≤ 0 (IV.13)

(25)

dla i = r + 1, ..., n, t.zn. w ostatnim wierszu tablicy sympleksowej wszystkie liczby ∆i s ˛a niedodatnie. W tym przypadku punkt v jest rozwi ˛azaniem zadania. Istotnie, bowiem dla dowolnego u ∈ U mamy

J(u) = J(v)− Xn i=r+1

iui ≥ j(v) (bo ∆i ≤ 0, ui ≥ 0).

20 istnieje wska´znik k ∈ {r + 1, ..., n} taki, ˙ze

½ ∆k > 0

γi,k≤ 0 dla i = 1, ..., r (czyli B−1Ak≤ 0) (IV.14) Oznacza to, ˙ze w k-tej kolumnie tablicy sympleksowej ostatni element (∆k) jest dodatni, a pozostałe - niedodatnie. W tym przypadku, przy dowolnym wyborze warto´sci wk > 0 punkt w okre´slony przez (IV.10) spełnia warunek

w≥ 0 (czyli w ∈ U) i w konsekwencji inf

u∈UJ(u) =−∞, gdy˙z

J(w) = J(v)− ∆kwk −→

wk→∞ −∞

(w jest tutaj punktem postaci (IV.10). Oznacza to, ˙ze zadanie nie ma rozwi ˛azania.

30 nie zachodz ˛a przypadki 10 i 20; w konsekwencji istniej ˛a wska´zniki k ∈ {r + 1, ..., n}, i∈ {1, ..., r} takie, ˙ze

k > 0, γi,k > 0. (IV.15)

Oznacza to, ˙ze w k-tej kolumnie tablicy sympleksowej ostatni element (∆k) jest dodatni i co najmniej jedna z liczb γi,k jest dodatnia.

Poka˙zemy teraz, jak wybra´c wk≥ 0, aby punkt postaci (IV.10) spełniał warunek w≥ 0.

Okre´slmy zbiór

Ik={i ∈ {1, ..., r}, γi,k > 0}.

Otó˙z, je´sli i ∈ {1, ..., r} \ Ik (czyli γi,k ≤ 0), to

wi = vi− γi,kwk ≥ vi ≥ 0 przy dowolnym wyborze wk≥ 0. Je´sli za´s

0≤ wk ≤ min

i∈Ik

vi γi,k, to

wi = vi− γi,kwk ≥ vi− γi,k

vi γ = 0

(26)

dla dowolnego i ∈ Ik (bo γi,k > 0).

W rozwa˙zanym przypadku punkt w okre´slony przez (IV.10) spełnia te˙z warunek J(w) = J(v)− ∆kwk ≤ J(v)

przy dowolnym wyborze wk≥ 0

Niech teraz s ∈ Ik b ˛edzie takim wska´znikiem, ˙ze vs

γs,k = min

i∈Ik

vi

γi,k (IV.16)

Współczynnik γs,k, gdzie wska´zniki k, s s ˛a okre´slone przez (IV.15) i (IV.16), nazywany jest elementem rozwi ˛azuj ˛acym tablicy sympleksowej I.

Ustalmy teraz jeden z elementów rozwi ˛azuj ˛acych tablicy I - γs,k. Połó˙zmy w (IV.10) i (IV.12) wk = vs

γs,k. Otrzymujemy punkt w = (w1, ..., wn) o współrz ˛ednych

w1 = v1− γ1,k vs

γs,k, ..., wi = vi− γi,k vs

γs,k, ..., ws−1 = vs−1− γs−1,k vs γs,k, ws = vs− γs,k

vs

γs,k = 0, ws+1 = vs+1− γs+1,k vs

γs,k, ..., wr = vr− γr,k vs γs,k, wr+1 = 0, ..., wk−1 = 0, wk = γvs

s,k, wk+1= 0, ..., wn = 0,

(IV.17)

daj ˛acy warto´s´c funkcjonału kosztu

J(w) = J(v)− ∆k vs

γs,k ≤ J(v). (IV.18)

Jak zostało pokazane w ∈ U.

Teraz poka˙zemy, ˙ze w postaci (IV.17) jest punktem wierzchołkowym zbioru U z baz ˛a

A1, ..., As−1, As+1, ..., Ar, Ak. (IV.19) (gdyby wybra´c 0 ≤ wk < min

i∈Ik

vi

γi,k (o ile to mo˙zliwe), to punkt w nie byłby punktem wierz- chołkowym z baz ˛a A1, ..., As−1, As+1, ..., Ar, Ak, poniewa˙z jego współrz ˛edna ws nie byłaby ze- rowa). Otó˙z, uwzgl ˛edniaj ˛ac fakt, ˙ze

ws = 0, wr+1 = ... = wk−1 = wk+1 = ... = wn= 0, (gdyby wybra´c wk < min

i∈Ik

vi

γi,k, to punkt w nie byłby punktem wierzchołkowym z baz ˛a A1, ..., As−1, As+1, ..., Ar

poniewa˙z jego współrz ˛edna ws nie byłaby zerowa) warunek

(27)

mo˙zemy zapisa´c w postaci

A1w1 + ... + As−1ws−1+ As+1ws+1+ ... + Arwr+ Akwk = b.

Zatem, zgodnie z twierdzeniem charakteryzuj ˛acym punkty wierzchołkowe, wystarczy zauwa˙zy´c,

˙ze układ kolumn (IV.19) jest liniowo niezale˙zny. Istotnie, przypu´s´cmy, ˙ze

α1A1 + ... + αs−1As−1+ αs+1As+1+ ... + αrAr+ αkAk = 0, (IV.20) gdzie α1, ..., αs−1, αs+1, ..., αr, αk ∈ R. Poniewa˙z

Ak = IAk= BB−1Ak= Xr

i=1

Ai(B−1Ak)i = Xr

i=1

Aiγi,k, wi ˛ec z (IV.20) wynika, ˙ze

0 = Xr

i=1 i6=s

αiAi+ αk

Xr i=1

γi,kAi = Xr

i=1 i6=s

i+ αkγi,k)Ai+ αkγs,kAs.

Z uwagi na fakt, ˙ze układ kolumn A1, ..., As, ..., Ar jest baz ˛a punktu v (a wi ˛ec układem liniowo niezale˙znym), z ostatniej równo´sci wynika, ˙ze

αi+ αkγi,k = 0, i∈ {1, ..., r}, i 6= s, αkγs,k = 0.

Ale γs,k > 0 (jako element rozwi ˛azuj ˛acy), wi ˛ec αk = 0 i w konsekwencji αi = 0 dla i ∈ {1, ..., r} r {s}. Oznacza to liniow ˛a niezale˙zno´s´c układu (IV.19).

Zatem punkt w dany przez (IV.17) jest punktem wierzchołkowym zbioru U , przy czym układ (IV.19) jest jego baz ˛a, a zmienne u1, ..., us−1, us+1, ..., ur, uk - zmiennymi bazowymi.

Teraz, podobnie jak w przypadku punktu wierzchołkowego v (przypomnijmy, ˙ze układ (??) okre´slał zmienne bazowe punktu u spełniaj ˛acego ograniczenia (IV.2) przy pomocy zmiennych niebazowych i współrz ˛adnych punktu wierzchołkowego v), okre´slimy zmienne bazowe

u1, ...us−1, us+1, ..., ur, uk

punktu u spełniaj ˛acego ograniczenia (IV.2) przy pomocy zmiennych niebazowych i współrz ˛ed- nych punktu wierzchołkowego w. W tym celu z s-tego równania układu (??) wyznaczmy zmi- enn ˛a uk:

uk= vs γs,k − 1

γs,kus− Xn j=r+1

j6=k

γs,j

γs,kuj. (IV.21)

Cytaty

Powiązane dokumenty

[r]

[r]

Najpierw odejmujemy od wierszy drugiego i trzeciego wiersz pierwszy, a nast epnie dodajemy wiersz drugi

je´sli za´s wypadnie reszka, to przeznacza po low e koron wykupionych tego miesi , aca na zakup z lotych , monet. Obliczy´ c przybli˙zone prawdopodobie´ nstwo, ˙ze w przeci agu

[r]

Z lodziej wybra l monitory wykonuj¸ac pierwszy krok metody podzia lu i ogranicze´n dla zerojedynkowego

Arystoteles nawiązywał do platońskiej refleksji nad naturą wiedzy i stwierdził za swoim nauczycielem, że przedmiotem wiedzy może stać się tylko to, co jest istotne w bycie, a

Obliczanie wyznacznik´ ow czwartego stopnia przy zastosowaniu operacji