• Nie Znaleziono Wyników

Badania Operacyjne

N/A
N/A
Protected

Academic year: 2021

Share "Badania Operacyjne"

Copied!
33
0
0

Pełen tekst

(1)

Badania Operacyjne

kierunek Informatyka, studia II stopnia wyklad

1 Programowanie liniowe

Programowanie liniowe jest jednym z działów teorii zada´n ekstremalnych i głównym nurtem bada´n operacyjnych. Podstawy programowania liniowego stworzył Kantorowicz w latach 30-tych ubiegłego stulecia.

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

1.1 Modelowanie

Przykład 1 (planowanie produkcji). Wytwórca dysponuje okre´slonymi ilo´sciami ró˙znych

´srodkó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 zaplanowa´c produkcj ˛e, by całkowity dochód uzyskany ze sprzeda˙zy towarów był maksymalny.

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

(2)

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

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

Całkowit ˛a ilo´s´c i-tego ´srodka, wykorzystan ˛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 ˛epu- jaco:

Xn j=1

cjxj, przy czym oczywi´scie nale˙zy ˙z ˛ada´c, by

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.

(3)

1.2 Sformułowanie zadania

Ogólnym zadaniem programowania liniowego nazywamy zadanie postaci:

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

uk ≥ 0, k ∈ 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

, (3)

gdzie u = (u1, ..., un) ∈ 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 ⊂ {1, ..., n} jest ustalonym zbiorem indeksów; mo˙zliwe s ˛a tutaj przypadki:

I =∅, I = {1, ..., n}, m = s, m = 0. Wprowadzaj ˛ac oznaczenia c = (c1, ..., cn),

ai = (ai,1, ..., ai,n), mo˙zemy zapisa´c powy˙zsze zadanie w nast ˛epuj ˛acy sposób:

⎧⎪

⎪⎪

⎪⎪

⎪⎩

J(u) =hc, ui → min .

u∈ U = {u = (u1, ..., un)∈ Rn; ui ≥ 0 dla i ∈ I,

hai, ui ≤ bi dla i = 1, ..., m, hai, ui = bi dla i = m + 1, ..., s}

(4)

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

i=1xiyi). W dalszym ci ˛agu, zapis x≥ y,

gdzie x = (x1, ..., xn), y = (y1, ..., yn), b ˛edzie oznaczał, ˙ze xi ≥ yi, i = 1, ..., n.

(4)

Wobec tego, zadanie (4) 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}

(5) gdzie

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

⎥⎥

⎥⎦.

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

J(u)≤ J(u) dla dowolnego u ∈ U.

Kanonicznym zadaniem programowania liniowego nazywamy zadanie postaci

⎧⎨

J(u) =hc, ui → min .

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

, (6)

gdzie A ∈ Rm×n, b ∈ Rm.

Podstawowym zadaniem programowania liniowego nazywamy zadanie postaci

⎧⎨

J(u) =hc, ui → min .

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

, (7)

gdzie A i b s ˛a takie, jak wy˙zej.

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

(5)

Istotnie, niech dane b ˛edzie zadanie podstawowe (7) i rozwa˙zmy w przestrzeni Rn+m zadanie postaci

⎧⎨

hd, zi → min .

z ∈ Z = {z = (u, v) ∈ Rn+m; z ≥ 0 , Cz = b}

, (8)

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 (7), to z = (u, v), gdzie v = b− Au,

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

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

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

Podobnie, rozwi ˛azywanie zadania ogólnego (5) mo˙zna zast ˛api´c rozwi ˛azywaniem zadania kanonicznego. Rzeczywi´scie, rozwa˙zmy w przestrzeni Rp (p = m + I + J + J, gdzie

(6)

J ={1, ..., n}ÂI) 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

⎦}

, (9)

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 (5), 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 (9) (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 (9), to

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

(7)

1.4 Interpretacja geometryczna zada´ n programowania liniowego

Rozwa˙zmy zadanie podstawowe (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}

. (10)

Wprowad´zmy oznaczenia

U0,1 ={(u1, u2)∈ R2; −u1 ≤ 0}, U0,2 ={(u1, u2)∈ R2; −u2 ≤ 0},

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

Oczywi´scie

U = U0,1∩ U0,2∩ U1∩ ... ∩ Um. Mo˙zliwe s ˛a nast ˛epuj ˛ace przypadki:

10 zbiór U jest pusty

20 zbiór U jest niepustym wielobokiem wypukłym i ograniczonym

30 zbiór U jest niepustym wielobokiem wypukłym i nieograniczonym

(8)

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 o wektorze normalnym 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 c i „zamiataj ˛ac” cał ˛a płaszczyzn ˛e.

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

minu∈UJ(u) =: J

(9)
(10)

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) =−∞.

(11)

Z powy˙zszej dyskusji wynika, ˙ze zadanie (10) 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 analiz ˛e mo˙zna przeprowadzi´c w przypadku 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 zmiennych. 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

⎥⎥

⎥⎦,

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

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¤

.

(12)

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 zadania 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 ˛azaniem zadania wyj´sciowego, to u jest rozwi ˛azaniem zadania (=).

1.5 Punkty wierzchołkowe

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

v = αv1+ (1− α)v2, (11)

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 niezdegenerowanego odcinka o ko´ncach nale˙z ˛acych do V . Poj ˛ecie punktu wierzchołkowego jest poj ˛eciem fundamentalnym w teorii programowania liniowego.

(13)

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}. (12)

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

Twierdzenie 1 Niech dany b ˛edzie zbiór U postaci (12) 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 j1,...,jr∈ {1, ..., 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

(13)

Układ wektorów Aj1,...,Ajr wyst ˛epuj ˛acych w warunkach (13) 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 (12) jest wyznaczona jednoznacznie. Osobliwy punkt wierzchołkowy mo˙ze mie´c wiele baz.

1.6 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

⎧⎨

J(u) =hc, ui → min .

u∈ U = {u ∈ Rn; u≥ 0 , Au = b}

(14)

(14)

gdzie 0 6= A ∈ Rm×n, 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 ≤ 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 (14).

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

⎧⎪

⎪⎪

⎪⎪

⎪⎩

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

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

(15)

gdzie r = rankA < n.

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

U ={u ∈ Rn; u≥ 0 , Au = b}

i załó˙zmy, ˙ze kolumny A1,...,Ars ˛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

(15)

nast ˛epuj ˛ace oznaczenia

u =

⎢⎢

⎢⎣ u1 ... ur

⎥⎥

⎥⎦, v =

⎢⎢

⎢⎣ v1 ... vr

⎥⎥

⎥⎦, c =

⎢⎢

⎢⎣ c1

... c1

⎥⎥

⎥⎦,

B =

⎢⎢

⎢⎣

a1,1 ... a1,r

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

⎥⎥

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

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

Bu + Ar+1ur+1+ ... + Anun= b. (16) Z liniowej niezale˙zno´sci kolumn A1,...,Ar(jest to baza punktu v) wynika, ˙ze det B 6= 0. W konsekwencji istnieje macierz odwrotna B−1. Współrz ˛edne niebazowe punktu v s ˛a zerowe, a wi ˛ec z (16) otrzymujemy

Bv = b, sk ˛ad

v = B−1b.

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

Xn k=r+1

B−1Akuk= B−1b = v. (17)

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 (17) 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

. (18)

(16)

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 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 (15) w równowa˙znej postaci (16) lub (17) lub (18).

Warto´s´c funkcjonału kosztu J w punkcie u spełniaj ˛acym ograniczenia typu równo´sci (15), 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, (19)

gdzie

i

c, B−1Ai

®− ci, i = r + 1, ..., n.

Okre´slmy tak˙ze

i

c, B−1Ai

®− ci (20)

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

(17)

Dokonajmy cz ˛e´sciowego podsumowania. Pokazali´smy, ˙ze zadanie (14) mo˙zemy zapisa´c 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 (18)}

(21)

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

(18)

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 (22)

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

(23)

Oznacza to, ˙ze w k-tej kolumnie tablicy sympleksowej ostatni element (∆k) jest dodatni, a pozostałe - niedodatnie. W tym przypadku inf

u∈UJ(u) =−∞ (dowód tego faktu pomijamy).

Oznacza to, ˙ze zadanie nie ma rozwi ˛azania.

(19)

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

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

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

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

γs,k = min

i∈Ik

vi

γi,k (25)

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

Mo˙zna pokaza´c, ˙ze układ kolumn

A1, ..., As−1, As+1, ..., Ar, Ak (26) 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 (26) 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

(20)

zbiór {j1, ..., jr}) ⎧

⎪⎪

⎪⎪

⎪⎨

⎪⎪

⎪⎪

⎪⎩

uj1 = vj1 − P

k /∈Iv

γj1,kuk ...

ujr = vjr − P

k /∈Iv

γjr,kuk

(27)

J(u) = J(v)−X

k /∈Iv

kuk, (28)

gdzie

γji,k = (B−1Ak)i ; i = 1, ..., r, k = 1, ..., n (29) (w szczególno´sci γji,k = δji,k dla i = 1, ..., r, k ∈ Iv),

B = [Aj1 | ... | Ajr] , vji = (B−1b)i, i = 1, ..., r,

vk = 0, k /∈ Iv,

k

c, B−1Ak

®− ck = Xr

i=1

cji(B−1Ak)i− ck, k = 1, ..., n, (30)

gdzie c =

⎢⎢

⎢⎣ c1

... c1

⎥⎥

⎥⎦ (w szczególno´sci ∆k = 0 dla k ∈ Iv).

W tym przypadku tablica sympleksowa dla punktu v jest nast ˛epuj ˛aca:

Tablica sympleksowa II (dla punktu v)

(21)

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 /∈ Iv (22’)

20 istnieje k /∈ Iv takie, ˙ze

k > 0, γji,k ≤ 0, i = 1, ..., r (23’) 30 nie zachodzi przypadek 10 i 20; w konsekwencji istniej ˛a k /∈ Iv oraz ji ∈ Iv takie, ˙ze

k> 0, γji,k > 0. (24’) Podobnie, jak wcze´sniej, łatwo sprawdzi´c, ˙ze w pierwszym przypadku punkt v jest rozwi ˛azaniem zadania (14), w drugim - inf

u∈Uhc, ui = −∞, czyli zadanie (14) nie ma rozwi ˛azania.

W trzecim przypadku nale˙zy wybra´c element rozwi ˛azuj ˛acy γjs,kna podstawie warunku (24’) oraz warunku

vjs γjs,k min

ji∈Iv,k

vji

γji,k, (25’)

gdzie Iv,k ={ji ∈ Iv; γji,k > 0}, które s ˛a analogiczne do warunków (24), (25). Nast ˛epnie, nale˙zy wykona´c przej´scie do nowego punktu wierzchołkowego w. Z warunków (24’) i (25’) wynika, ˙ze baz ˛a punktu w b ˛edzie układ kolumn (z dokładno´scia do ich kolejno´sci)

Aj1, ..., Ajs−1, Ajs+1, ..., Ajr, Ak,

(22)

przy czym

J(w)≤ J(v).

Współrz ˛edne punktu w mo˙zna wyznaczy´c na podstawie twierdzenia charakteryzuj ˛acego punkty wierzchołkowe.

Uwaga 2. Mo˙zna pokaza´c, ˙ze

⎧⎪

⎪⎪

⎪⎪

⎪⎪

⎪⎪

⎪⎪

⎪⎪

⎪⎪

⎪⎪

⎪⎪

⎪⎪

⎪⎪

⎪⎪

⎪⎪

⎪⎨

⎪⎪

⎪⎪

⎪⎪

⎪⎪

⎪⎪

⎪⎪

⎪⎪

⎪⎪

⎪⎪

⎪⎪

⎪⎪

⎪⎪

⎪⎪

⎪⎪

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 /∈ Iv, l6= k, Tablica sympleksowa dla punktu w przyjmuje posta´c

Tablica sympleksowa III (dla punktu w)

(23)

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 (29),

(30) z macierz ˛a B postaci

[Aj1 | ... | Ak | ... | Ajs−1 | Ajs+1 | ... | Ajr]

(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 2. Mo˙zna pokaza´c, ˙ze

⎧⎨

γj0i,j = γji,jγγjs,kji,kγjs,j ; i = 1, ..., r, i6= 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).

(24)

2 Programowanie nieliniowe

2.1 Zadania bez ogranicze´ n - zasada Fermata i warunki dostate- czne

Rozwa˙zmy zadanie postaci (minimalizacyjne zadanie bezwarunkowe)

⎧⎨

J(u)→ inf , u∈ Rn

(31) gdzie J : Rn → R.

Punkt u ∈ Rn nazywamy punktem lokalnego minimum dla tego zadania, je´sli istnieje otoczenie V punktu u takie, ˙ze

J(u)≤ J(u)

dla dowolnego u ∈ V (gdy V = Rn mówimy, ˙ze u jest punktem globalnego minimum dla rozpatrywanego zadania). Prawdziwe jest nast ˛epuj ˛ace:

Twierdzenie 2 (zasada Fermata) Je´sli u jest punktem lokalnego minimum dla zada- nia (31) i funkcja J ma w punkcie u gradient ∇J(x) = (∂u∂J

1(u), ...,∂u∂J

n(u)), to

∇J(u) = 0.

Dowód. Istnienie gradientu funkcji J w punkcie u oznacza istnienie pochodnej funkcji ϕi : [−1, 1] 3 t 7→ J(u+ tei)∈ R

w punkcie t = 0, gdzie ei jest i-tym wektorem jednostkowym, i = 1, ..., n. Poniewa˙z u

jest punktem lokalnego minimum funkcjonału J, wi ˛ec ϕ0i(0) = 0, i = 1, ..., n.

A wi ˛ec ∇J(u) = 0, co ko´nczy dowód.

U˙zyteczne jest nast ˛epuj ˛ace

(25)

Twierdzenie 3 (warunki dostateczne drugiego rz ˛edu) Je´sli J : Rn → R jest klasy C2 oraz

i) ∇J(u) = 0,

ii) macierz ∇2J(u) =h

2J

∂xi∂xj(u)i

1≤i,j≤njest dodatnio okre´slona, tzn. deth

2J

∂xi∂xj(u)i

1≤i,j≤k >

0 dla dowolnego k = 1, ..., n,

to u jest punktem ´scisłego minimum lokalnego funkcji J na Rn (1).

2.2 Zadania z ograniczeniami

2.2.1 Zasada mno˙zników Lagrange’a Rozwa˙zmy zadanie postaci

⎧⎨

J(u)→ inf ,

u∈ U = {u ∈ Rn; fi(u) = θ, i = 1, ..., m}

(32)

gdzie fi : Rn→ R, i = 1, ..., m.

Mówimy, ˙ze punkt u ∈ Rn jest punktem lokalnego minimum dla zadania (32), je´sli istnieje otoczenie V tego punktu takie, ˙ze dla dowolnego punktu u ∈ V , spełniaj ˛acego ograniczenia

fi(u) = θ, i = 1, ..., m, mamy

J(u)≤ J(u)

(gdy V = Rn mówimy, ˙ze u jest punktem globalnego minimum).

1Mówimy, ˙ze punkt u ∈ Rn jest punktem ´scisłego minimum lokalnego funkcji J na Rn, je´sli istnieje otoczenie V tego punktu takie, ˙ze dla dowolnego punktu u ∈ V , u 6= u, mamy

J(u) < J(u).

(26)

Twierdzenie 4 (o funkcji uwikłanej) Niech dane b ˛ed ˛a funkcje gi = gi(w, z) : Rs+n → R, i = 1, ..., n, klasy C1 oraz punkt (a, b) ∈ Rs+n taki, ˙ze

gi(a, b) = 0, i = 1, ..., n det[∂gi

∂zj

(a, b)]1≤i,j≤n6= 0.

Wówczas istnieje δ > 0 i funkcja z = z(w) = (z1(w), ..., zn(w)) : K(a, δ)→ Rn klasy C1 taka, ˙ze

z(a) = b,

gi(w, z(w)) = 0, i = 1, ..., n.

Twierdzenie 5 (zasada mno˙zników Lagrange’a) Je´sli funkcje J, fi, i = 1, ..., m s ˛a klasy C1 na Rn i punkt u jest punktem lokalnego minimum dla zadania (32), to istniej ˛a liczby (mno˙zniki Lagrange’a) λ0, λ1, ..., λm ∈ R, nie wszystkie równe zero i takie, ˙ze

λ0∇J(u) +Pm

i=1λi∇fi(u) = 0.

Dowód. Warunek dany w tezie twierdzenia oznacza liniow ˛a zale˙zno´s´c wektorów

∇J(u),∇f1(u), ...,∇fm(u)

w przestrzeni Rn. Przypu´s´cmy, ˙ze warunek ten nie jest spełniony, tzn. powy˙zsze wektory s ˛a liniowo niezale˙zne. Oznacza to, ˙ze m + 1 ≤ n. W przypadku, gdy m + 1 < n mo˙zemy uzupełni´c układ wektorów ∇J(u),∇f1(u), ...,∇fm(u)wektorami dm+1, ..., dn−1 tak, by układ wektorów ∇J(u),∇f1(u), ...,∇fm(u), dm+1, ..., dn−1 był układem liniowo niezale˙znym w Rn.

Rozwa˙zmy teraz funkcje

g0(t, u) = J(u)− J(u) + t, gi(t, u) = fi(u), i = 1, ..., m,

gi(t, u) =hdi, u− ui , i = m + 1, ..., n − 1,

(27)

okre´slone na R1+n. Łatwo wida´c, ˙ze powy˙zszy układ funkcji spełnia zało˙zenia twierdzenia o funkcji uwikłanej z punktem (a, b) postaci (0, u). Z twierdzenia tego wynika, ˙ze istnieje δ > 0 i funkcja u = u(t) = (u1(t), ..., un(t)) : (−δ, δ) → Rn klasy C1 (dla naszych celów wystarcza ci ˛agło´s´c) taka, ˙ze

u(0) = u oraz

J(u(t)) = J(u)− t, fi(u(t)) = 0, i = 1, ..., m,

dla t ∈ (−δ, δ). To oznacza w szczególno´sci, ˙ze dla t ∈ (0, δ) punkty u(t) spełniaj ˛a ograniczenia typu równo´sci wyst ˛epuj ˛ace w zadaniu (32), przy czym

J(u(t)) = J(u)− t < J(u) < J(u) + t = J(u(−t)).

Przeczy to optymalno´sci punktu u.

Twierdzenie 6 Niech spełnione b ˛ed ˛a zało˙zenia poprzedniego twierdzenia. Je´sli dodatkowo wektory ∇fi(u), i = 1, ..., m, s ˛a liniowo niezale˙zne, to λ0 6= 0 i mo˙zna przyj ˛a´c λ0 = 1.

Proof. Przypu´s´cmy, ˙ze λ0 = 0. Wówczas Pm

i=1λi∇fi(u) = 0

przy czym λi 6= 0 dla pewnego i ∈ {1, ..., m}. W konsekwencji Pm

i=1λi∇fi(u)u = 0 (33)

dla dowolnego u ∈ Rn. Niech teraz u0 = (u10, ..., un0)∈ Rn b ˛edzie takim punktem, ˙ze

∇fi(u)u0 = λi, i = 1, ..., m (34) (istnienie takiego punktu wynika z twierdzenia Kroneckera-Capellego (2)). Zatem, z (33) i (34) wynika, ˙ze

0 =Pm

i=1λi∇fi(u)u0 =Pm

i=1λiλi > 0.

Otrzymana sprzeczno´s´c dowodzi fałszywo´sci przypuszczenia, ˙ze λ0 = 0.

2Układ równa´n liniowych Au = b, gdzie A ∈ Rm×n, x ∈ Rn, b ∈ Rmma co najmniej jedno rozwi ˛azanie wtedy i tylko wtedy, gdy rzA = rz[A | b].

(28)

Uwaga 7 Twierdzenie 5 mo˙zna wykorzysta´c do rozwi ˛azywania zada´n z ograniczeniami typu równo´sci i nierówno´sci. Istotnie, rozwa˙zmy zadanie postaci

⎧⎨

J(u)→ inf ,

u∈ U = {u ∈ Rn; fi(u) = 0, i = 1, ..., m, hk(u)≤ 0, k = 1, ..., s}

. (35)

Wprowadzaj ˛ac nowe zmienne w1,...,ws, rozwi ˛azywanie zadania (35) mo˙zna zast ˛api´c rozwi ˛azy- waniem zadania postaci

⎧⎪

⎪⎪

⎪⎪

⎪⎩

J(u, w) = ee J(u)→ inf , fei(u, w) = fi(u) = 0, i = 1, ..., m, ehk(u, w) = w2k+ hk(u) = 0, k = 1, ..., s.

(36)

Dokładniej, je´sli punkt u jest punktem lokalnego minimum dla zadania (35), to punkt (u, w), gdzie w = (w1∗, ..., ws∗), wk∗ = p

−hk(u), jest punktem lokalnego minimum dla zadania (36). Na odwrót, je´sli punkt (u, w) jest punktem lokalnego minimum dla zadania (36), to punkt u jest punktem lokalnego minimum dla zadania (35).

W bezpo´sredni sposób mo˙zna udowodni´c nast ˛epuj ˛ace

Twierdzenie 8 Je´sli funkcje J, fi, i = 1, ..., m, hk, j = 1, ..., s s ˛a klasy C1 na Rn i punkt u jest punktem lokalnego minimum dla zadania (35), to istniej ˛a mno˙zniki Lagrange’a λ0, λ1, ..., λm, μ1, ..., μs∈ R, nie wszystkie równe zero i takie, ˙ze

λ0 ≥ 0, μ1 ≥ 0, ..., μs ≥ 0 λ0∇J(u) +Pm

i=1λi∇fi(u) +Ps

k=1μk∇hk(u) = 0, j = 1, ..., n, μkhk(u) = 0, k = 1, ..., s.

2.2.2 Programowanie wypukłe - Twierdzenie Kuhna- Tuckera Rozwa˙zmy nast ˛epuj ˛ace zadanie

⎧⎨

f0(u)→ inf ,

u∈ U = {u ∈ Rn; u∈ A, fi(u)≤ θ, i = 1, ..., m}

(37)

(29)

gdzie A ⊂ Rn, fi : Rn→ R, i = 0, 1, ..., m.

Mówimy, ˙ze u jest rozwi ˛azaniem globalnym zadania (37), je´sli fi(u)≤ 0, i = 1, ..., m,

u ∈ A oraz

f0(u)≤ f0(u) dla dowolnego u ∈ Rn takiego, ˙ze

fi(u)≤ 0, i = 1, ..., m, u∈ A.

Poni˙zsze twierdzenie pokazuje, ˙ze w przypadku zadania (37), przy dodatkowych za- ło˙zeniach wypukło´sci, zasada Lagrange’a prawdziwa jest w postaci wzmocnionej.

Twierdzenie 9 (Kuhna-Tuckera) Niech f0, f1,...,fm : Rn → R b ˛ed ˛a funkcjami wy- pukłymi i A ⊂ Rn - zbiorem wypukłym. Je´sli u jest rozwi ˛azaniem globalnym zadania (37), to istniej ˛a mno˙zniki Lagrange’a λ0 ≥ 0, λ1 ≥ 0,...,λm ≥ 0 nie znikaj ˛ace jednocze´snie i takie, ˙ze

Xm i=0

λifi(u) = min

u∈A

Xm i=0

λifi(u) (38)

λifi(u) = 0, i = 1, ...m. (39) Jesli ponadto istnieje punkt u ∈ A taki, ˙ze

fi(u) < 0, i = 1, ..., m, (40)

to λ0 6= 0 i mo˙zna przyj ˛a´c λ0 = 1.

Na odwrót, je´sli istniej ˛a λ0 > 0, λ1 ≥ 0,...,λm ≥ 0 i punkt u takie, ˙ze f1(u)≤ 0, ..., fm(u)≤ 0,

u ∈ A,

(30)

Xm i=0

λifi(u) = min

u∈A

Xm i=0

λifi(u), λifi(u) = 0, i = 1, ...m, to u jest rozwi ˛azaniem globalnym zadania (37).

Uwaga 10 Łatwo wida´c, ˙ze przy zało˙zeniach wypukło´sci ka˙zde rozwi ˛azanie lokalne zada- nia (37) jest jego rozwi ˛azaniem globalnym.

Z faktu, ˙ze w przypadku funkcji wypukłej i ró˙zniczkowalnej na przestrzeni Rn zbiór punktów minimum globalnego pokrywa si ˛e ze zbiorem punktów, w których znika gradient tej funkcji, wynika nast ˛epuj ˛acy

Wniosek 11 Niech f0, f1,...,fm : Rn → R b ˛ed ˛a funkcjami wypukłymi i ró˙zniczkowalnymi.

Je´sli u jest rozwi ˛azaniem globalnym zadania (37) ze zbiorem A = Rn, to istniej ˛a mno˙zniki Lagrange’a λ0 ≥ 0, λ1 ≥ 0,...,λm ≥ 0 nie znikaj ˛ace jednocze´snie i takie, ˙ze

Pm

i=0λi∇fi(u) = 0, λifi(u) = 0, i = 1, ...m.

Je´sli ponadto istnieje punkt u ∈ Rn taki, ˙ze

fi(u) < 0, i = 1, ..., m, to λ0 6= 0 i mo˙zna przyj ˛a´c λ0 = 1.

Na odwrót, je´sli istniej ˛a λ0 > 0, λ1 ≥ 0,...,λm ≥ 0 i punkt u ∈ Rn takie, ˙ze f1(u)≤ 0, ..., fm(u)≤ 0,

Pm

i=0λi∇fi(u) = 0, λifi(u) = 0, i = 1, ...m, to u jest rozwi ˛azaniem globalnym zadania (37).

(31)

3 Metody numeryczne

3.1 Metoda gradientowa

Rozwa˙zmy zadanie bez ogranicze´n

⎧⎨

f0(u)→ min u∈ Rn

, zakładaj ˛ac, ˙ze funkcja f : Rn → R jest klasy C1.

Korzystaj ˛ac z definicji ró˙zniczkowalno´sci funkcji f0oraz nierówno´sci Cauchy’ego-Buniakowskiego (− |∇f0(u)| |v| ≤ h∇f0(u), vi ≤ |∇f0(u)| |v|, przy czym je´sli ∇f0(u) 6= 0, to prawa

nierówno´s´c jest równo´sci ˛a tylko dla v = α∇f0(u), a lewa nierówno´s´c - tylko dla v =

−α∇f0(u), gdzie α ≥ 0), mo˙zna pokaza´c, ˙ze je´sli ∇f0(u) 6= 0, to kierunkiem najszyb- szego spadku warto´sci funkcji f0 w punkcie u0jest kierunek antygradientu −∇f0(u)(tzn.

dla dowolnego h ∈ Rn, h 6= −∇f0(u)

f0(u+ τ (−∇f0(u))) < f0(u+ τ h)

dla dostatecznie małych τ > 0). Na tym spostrze˙zeniu opiera si ˛e konstrukcja tzw. metody gradientowej - metody przybli˙zonego wyznaczania rozwi ˛aza´n powy˙zszego zadania.

Niech dany b ˛edzie dowolny punkt u0 ∈ Rn. Rozwa˙zmy ci ˛ag (uk)k∈N∪{0} okre´slony w sposób rekurencyjny wzorem

uk+1 = uk− αk∇f0(uk), k = 0, 1, ..., (41) gdzie αk > 0 dla k = 0, 1, ... jest tzw. krokiem k-tej iteracji.

Uwaga 12 Je´sli ∇f0(uk)6= 0, to αk> 0 mo˙zna wybra´c tak, by spełniona była nierówno´s´c f0(uk+1) < f0(uk) (3). Je´sli ∇f0(uk) = 0, to post ˛epowanie nale˙zy przerwa´c (ci ˛ag tworzony

3Z okre´slenia ró˙zniczkowalno´sci funkcji f0w punkcie u:

f0(u + h) = f0(u) + h∇f0(u), hi + o(h), h ∈ Rn, wynika, ˙ze

f0(uk+1) − f0(uk) = αk[− |∇f0(uk)|2+bokk−1k ] < 0 dla dostatecznie małych warto´sci αk> 0, gdziebok(α) = o(−α∇f0(uk))

Cytaty

Powiązane dokumenty

Matematyka dla Chemik´ ow

(i) Poszczeg´ olne zadania nale˙zy oddawa´ c na osobnych kartkach podpisanych imieniem i nazwiskiem. (ii) Ka˙zde zadanie warte jest 5 punkt´ ow, niezale˙znie od stopnia

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

[r]

[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

Znajd´ z uk lad r´ owna´ n liniowych, kt´ orego zbiorem rozwi aza´

Rozwi azanie ka˙zdego zadania TRZEBA napisa´c na ODDZIELNEJ kartce (lub kartkach).. GAL, egzamin TEMAT