MNF 04b

background image

Metody Numeryczne w Fizyce 1

Minima funkcji wielu zmiennych

1

© Andrzej Brozi, Instytut Fizyki Politechniki Łódzkiej

0.5

1

1.5

2

2.5

3

0.5

1

1.5

2

2.5

3

4

6

8

10

x

Wykres badanej funkcji

y

Poszukiwanie minimów funkcji wielu zmiennych

Okre lenie zagadnienia

Problem polega na poszukiwaniu minimum funkcji wielu zmiennych. Funkcja mo e by dowolna (tzn. dowolnego rz du,

tak e nieliniowa). Do badania w przykładach wybierzemy nast puj c funkcj (jest to obwód jakiej figury geometrycznej

uzale niony od długo ci dwóch jej boków przy ustalonej warto ci powierzchni całej figury, oznaczymy j przez P(x,y)):

P(x,y)

x

y

1

x y

2

x y

2

x

4

2 x

2

y

2

y

4

4

x y

x

y

Funkcja badana faktycznie ma minimum wynosz ce 2.8284271507 w punkcie x=y=0.7070110163 (s to warto ci

obliczone numerycznie). Podczas ilustrowania działania omawianych dalej metod szukania minimum b d zakłada jako

punkt wyj ciowy punkt o współrz dnych (2.25,3.00).

background image

Metody Numeryczne w Fizyce 1

Minima funkcji wielu zmiennych

2

© Andrzej Brozi, Instytut Fizyki Politechniki Łódzkiej

P(x,y)

x

x y

2

x

4

2 x

2

y

2

y

4

4

x

4

2 x

3

y

2 x y

3

y

4

4

x y

2

x

4

2 x

2

y

2

y

4

4

P(x,y)

y

x y

2

x

4

2 x

2

y

2

y

4

4

x

4

2 x

3

y

2 x y

3

y

4

4

x y

2

x

4

2 x

2

y

2

y

4

4

(czerwona gwiazdka na rysunku oznacza faktyczne poło enie minimum lokalnego).

Znamy analityczne wyra enia na składowe jej gradientu:

background image

Metody Numeryczne w Fizyce 1

Minima funkcji wielu zmiennych

3

© Andrzej Brozi, Instytut Fizyki Politechniki Łódzkiej

Jest to do „perfidna” funkcja, wida to dopiero po obejrzeniu jej wykresu dla wi kszego zakresu argumentów — w

zasadzie z faktu, e ma to by obwód figury w funkcji długo ci boków wynika, e x i y musza by dodatnie, jednak podczas

oblicze numerycznych warto ci po rednie zmiennych mog by bardzo ró ne.

Obok przedstawiam wykres tej wła nie funkcji dla wi kszego zakresu zmienno ci argumentów — wida na nim, e

funkcja ma zarówno minimum lokalne jak i maksimum lokalne, ale globalnie minimum d y do – , a maksimum do + .

Metoda połowienia kroku

Metoda jest najprostsz adaptacj metod poznanych dla funkcji jednej zmiennej. Przebieg oblicze jest nast puj cy:

1. Wybieramy punkt startowy (x

o

,y

o

), obliczamy warto P(x

o

,y

o

) i gradient grad(P(x,y)) badanej funkcji w tym punkcie,

2. W kierunku przeciwnym do obliczonego gradientu “wykonujemy krok” o wybranej wcze niej długo ci — obliczamy

nowe współrz dne punktu (x

1

,y

1

) i now warto funkcji P(x

1

,y

1

),

3. Je li nowa warto funkcji jest

mniejsza ni warto z poprzedniego punktu obliczamy jej gradient w tym punkcie

grad(P(x

1

,y

1

)) i wykonujemy nast pny krok (czyli powtarzamy etap 2 powy ej), je li jednak warto funkcji

nie zmalała

to wracamy do poprzedniego punktu, zmniejszamy krok (np. o połow ), i powracamy do etapu 2 — wykonujemy ten

skrócony krok i ponownie sprawdzamy warto funkcji.

Ju na podstawie tego opisu mo emy zauwa y , e je li trafimy wreszcie (by mo e przypadkiem) do minimum to

kolejny krok przeniesie nas dalej — do punktu o wi kszej warto ci funkcji i mo emy powtarza etap 2 w niesko czono

(albo do chwili gdy osi gniemy zadan minimaln długo kroku).

Oto przykładowy przebieg oblicze w metodzie „połowienia kroku”:

cykl 1,

warto funkcji: 6.0912

bł d wzgl.: 1.15357

background image

Metody Numeryczne w Fizyce 1

Minima funkcji wielu zmiennych

4

© Andrzej Brozi, Instytut Fizyki Politechniki Łódzkiej

cykl 2,

warto funkcji: 4.72901

bł d wzgl.: 0.671957

cykl 3,

warto funkcji: 3.69826

bł d wzgl.: 0.307534

w cyklu 4 zmniejszam krok z 1 na 0.5

cykl 4,

warto funkcji: 2.93152

bł d wzgl.: 0.036449

w cyklu 5 zmniejszam krok z 0.5 na 0.25

cykl 5,

warto funkcji: 2.8836

bł d wzgl.: 0.0195064

w cyklu 6 zmniejszam krok z 0.25 na 0.125

cykl 6,

warto funkcji: 2.83676

bł d wzgl.: 0.00294435

w cyklu 7 zmniejszam krok z 0.125 na 0.0625

cykl 7,

warto funkcji: 2.83149

bł d wzgl.: 0.00108422

w cyklu 8 zmniejszam krok z 0.0625 na 0.03125

cykl 8,

warto funkcji: 2.82883

bł d wzgl.: 0.000142345

w cyklu 9 zmniejszam krok z 0.03125 na 0.015625

cykl 9,

warto funkcji: 2.82872

bł d wzgl.: 0.000102758

w cyklu 10 zmniejszam krok z 0.015625 na 0.0078125

w cyklu 10 zmniejszam krok z 0.0078125 na 0.00390625

w cyklu 10 zmniejszam krok z 0.00390625 na 0.00195313

cykl 10,

warto funkcji: 2.82843

bł d wzgl.: 9.56914e –007

Wyniki metody „połowienia kroku”:

współrz dne minimum: x_min=0.708081, y_min=0.708099,

bł dy wzgl. x i y: 0.00151403, 0.00153917

warto funkcji: 2.82843

bł d wzgl.warto ci: 9.56914e-007, warto prawdziwa: 2.82843

warto ci składowych gradientu:

x-owa: 0.00276355,

y-owa: 0.00278872

Ogólnie taka metoda post powania działa do dobrze, jednak je eli mamy pecha i wybierzemy zbyt du warto

pierwszego kroku — mo emy „przeskoczy ” szukane minimum i potem ju tylko oddala si od niego do niesko czono ci

background image

Metody Numeryczne w Fizyce 1

Minima funkcji wielu zmiennych

5

© Andrzej Brozi, Instytut Fizyki Politechniki Łódzkiej

(wybrana funkcja przykładowa ma wła nie tak własno — istnieje dobrze okre lone minimum lokalne , ale w połowie

swej dziedziny funkcja maleje do – ).

Drug wad jest stosunkowo powolna zbie no — je li wybrali my zbyt krótki krok pocz tkowy poszukiwania

minimum mog si bardzo dłu y . Rysunek powy ej pokazuje przebieg poszukiwa minimum t wła nie metod .

Metoda najszybszego spadku (the steepest descent method)

Jest to metoda nieco bardziej skomplikowana — najpierw, jak zwykle, wybieramy punkt startu i obliczamy gradient

badanej funkcji w tym punkcie. Warto ci składowych gradientu okre laj nam lini (maj c kierunek gradientu). Je li

zało ymy, e x i y b d le e na tej wła nie linii to mo emy badan funkcj przekształci do postaci parametrycznej:

x

x

0

P(x,y)

x

t

y

y

0

P(x,y)

y

t

P(x,y)

P x

0

P(x,y)

x

t , y

0

P(x,y)

y

t

Badana funkcja b dzie wtedy funkcj jednej zmiennej i b dziemy mogli zastosowa do niej znane ju nam metody

szukania minimum funkcji jednej zmiennej (jest oczywi cie pewien kłopot — nie b dziemy zna wła ciwych granic

przedziału zmiennej t w jakim powinni my poszukiwa minimum — musimy przyj co „z kapelusza” ). Gdy ju

znajdziemy warto parametru t minimalizuj c badan funkcj to na jej podstawie obliczymy nowe współrz dne x i y.

x

1

x

0

P(x,y)

x

t

min

y

1

y

0

P(x,y)

y

t

min

Operacj t powtarzamy tak długo a zadowol nas warto ci składowych gradientu — w minimum musz oczywi cie

wynosi zero, zatem to na ile ró ni si od zera mo e stanowi pewn „miar odległo ci” od minimum. W metodzie tej nie

zwracamy zbytniej uwagi na zmiany warto ci badanej funkcji — w ka dym cyklu przesuwamy si na inn , trudn do

przewidzenia, odległo .

Przykładowy przebieg oblicze w metodzie „steepest descent”:

cykl: 1,

warto funkcji: 4.51207

bł d wzgl.: 0.595258

cykl: 2,

warto funkcji: 2.97947

bł d wzgl.: 0.0534011

cykl: 3,

warto funkcji: 2.83593

bł d wzgl.: 0.00265193

cykl: 4,

warto funkcji: 2.82944

bł d wzgl.: 0.000357943

cykl: 5,

warto funkcji: 2.82853

bł d wzgl.: 3.72817e –005

cykl: 6,

warto funkcji: 2.82844

bł d wzgl.: 4.22643e –006

cykl: 7,

warto funkcji: 2.82843

bł d wzgl.: 4.57242e –007

cykl: 8,

warto funkcji: 2.82843

bł d wzgl.: 4.26757e –008

cykl: 9,

warto funkcji: 2.82843

bł d wzgl.: –3.42853e –009

cykl: 10,

warto funkcji: 2.82843

bł d wzgl.: –8.53522e –009

Wyniki metody „steepest descent”:

współrz dne: x_min=0.706976, y_min=0.707148,

bł dy wzgl. x i y: –5.01624e –005, 0.000193142,

warto funkcji: 2.82843,

bł d wzgl. warto ci: –3.42853e –009,

warto prawdziwa: 2.82843,

warto ci składowych gradientu:

x-owa: –0.000249537,

y-owa: –6.28107e –006.

Metoda ta mo e by łatwo zaadaptowana do przypadku funkcji o dowolnej liczbie zmiennych — niezale nie od liczby

zmiennych problem zawsze sprowadzamy do poszukiwania minimum funkcji jednej zmiennej (funkcji parametru t).

background image

Metody Numeryczne w Fizyce 1

Minima funkcji wielu zmiennych

6

© Andrzej Brozi, Instytut Fizyki Politechniki Łódzkiej

Metoda „rank-one

Jest to metoda zbli ona do metody najszybszego spadku, jednak oprócz gradientu (czyli pierwszych pochodnych)

wykorzystuje si w niej równie drugie pochodne. Podobnie jak w metodzie najszybszego spadku wybieramy jaki punkt

pocz tkowy i obliczamy w nim warto ci funkcji i jej gradientu. Zakładamy, e istnieje jaki „wła ciwy kierunek”, który

oznaczymy jako (s

1

,s

2

) i wzdłu niego b dziemy zmienia warto ci x i y (w metodzie najszybszego spadku kierunek ten

jednoznacznie wyznaczał nam gradient funkcji):

x

a

t s

1

y

b

t s

2

Zakładamy, e wła nie takie równania parametryczne mo na podstawi do wyra enia na badan funkcj P(x,y) (pomimo

faktu, e kierunków tych na razie nie znamy) po czym rozwijamy j w szereg Taylora (dwuwymiarowy) wokół punktu o

współrz dnych (a,b):

f (x,y)

f (a s

1

t,b s

2

t)

f (a,b)

t s

1

f

x

s

2

f

y

t

2

2

s

2

1

2

f

x

2

2s

1

s

2

2

f

x y

s

2

2

2

f

y

2

Wszystkie pochodne w powy szym wzorze obliczane s w punkcie (a,b). Je li za s

1

i s

2

przyjmiemy warto ci spełniaj ce

nast puj cy układ równa :

s

1

2

f

x

2

s

2

2

f

x y

f

x

s

1

2

f

x y

s

2

2

f

y

2

f

y

to dostaniemy:

background image

Metody Numeryczne w Fizyce 1

Minima funkcji wielu zmiennych

7

© Andrzej Brozi, Instytut Fizyki Politechniki Łódzkiej

f (x,y)

f (a,b)

1
2

t 1

2

1 s

1

2

f

x

2

2s

1

s

2

2

f

x y

s

2

2

2

f

y

2

B dzie zatem zachodzi :

J e

li

|t| < 1

i

s

2

1

2

f

x

2

2s

1

s

2

2

f

x y

s

2

2

2

f

y

2

> 0

to

f(x,y) < f(a,b)

Spełnienie tych warunków jest do łatwe je eli tylko szukaj c kolejnego nie oddalimy si zbytnio od poprzedniego

przybli enia.

Przykładowy przebieg oblicze w metodzie „rank-one”:

cykl: 1,

warto ci: funkcji: -32.0051

bł d wzgl.: –12.3155,

t_min: 0.499999,

cykl: 2,

warto ci: funkcji: -3.21376

bł d wzgl.: –1.13624,

t_min: 0.235521

cykl: 3,

warto ci: funkcji: 2.82844

bł d wzgl.: 6.21862e –006,

t_min: 0.196386

cykl: 4,

warto ci: funkcji: 2.82843

bł d wzgl.: 3.20727e –007,

t_min: 0.230203

cykl: 5,

warto ci: funkcji: 2.82843

bł d wzgl.: 1.00811e –009,

t_min: 0.280505

cykl: 6,

warto ci: funkcji: 2.82843

bł d wzgl.: –9.05838e –009, t_min: 0.362769

Wyniki metody „rank-one”:

współrz dne: x_min=0.714811, y_min=0.714811,

bł dy wzgl. x i y: 0.0110318, 0.0110318,

warto funkcji: 2.82859,

bł d wzgl. warto ci: 5.87003e –005,

warto prawdziwa: 2.82843,

warto ci składowych gradientu:

x-owa: 0.0214388,

y-owa: 0.0214388.

background image

Metody Numeryczne w Fizyce 1

Minima funkcji wielu zmiennych

8

© Andrzej Brozi, Instytut Fizyki Politechniki Łódzkiej

Adaptacja metody „rank-one” do wi kszej liczby wymiarów.

Zmiana polega na zast pieniu układu dwóch równa słu cych w przypadku dwuwymiarowym do wyznaczenia

składowych kierunku poszukiwa (s

1

,s

2

) układem odpowiedniej (wi kszej) liczby równa :

G s

f

w przypadku dwóch wymiarów układ ten wygl da tak:

2

f

x

2

2

f

x y

2

f

x y

2

f

y

2

s

1

s

2

f

x

f

y

dla trzech i wi cej:

2

f

x

2

2

f

x y

2

f

x z

2

f

x y

2

f

y

2

2

f

y z

2

f

x z

2

f

y z

2

f

z

2

s

1

s

2

s

3

f

x

f

y

f

z

(mo e to by całkiem spory układ równa ).

Wszystkie pochodne byłyby oczywi cie obliczane w aktualnym punkcie. Rozwi zanie tego układu powinno da nam

wektor składowych kierunku poszukiwania nast pnego punktu (i tak wła nie post powali my w przypadku zagadnienia

dwuwymiarowego). Jednak w przypadku wi kszej liczby wymiarów zamiast rozwi zywa dokładnie du y układ równa

posłu ymy si przybli eniem:

s

H f

w którym macierz H ma zbiega si do odwrotno ci G w miar zbli ania si do lokalnego minimum, którego poszukujemy.

Na pocz tek przyjmiemy, e jest to macierz jednostkowa (zawieraj ca jedynki na głównej przek tnej), w miar post pu

oblicze b dziemy j modyfikowa — modyfikacja b dzie polega na dodawaniu poprawki E:

E

u u

T

Poprawk t b dziemy wyznacza nast puj co. Najpierw zauwa amy, e (je li drugie pochodne obliczamy numerycznie)

mo liwy jest zapis:

G s

f

G x

f

Wówczas, je li dodatkowo zało ymy (o czym była mowa ju wcze niej), e kolejne poprawki E zbli aj macierz H do

odwrotno ci macierzy G otrzymamy:

H E

f

x

H

uu

T

f

x

które to równanie b dzie spełnione je li zajdzie równocze nie:

u

x H f

i

u

T

f

1

Tryb post powania podczas poszukiwania minimum t metod b dzie nast puj cy:

1 Wybieramy punkt pocz tkowy ,

a

2 Obliczamy wektor pochodnych cz stkowych

(je li trzeba numerycznie).

f a

3 Poszukujemy minimum funkcji jednej zmiennej t (parametru): f t

f a tH f a

4 Zast pujemy przez

a

a t

min

f a

5 Koniec oblicze nast puje gdy uznamy, e zmiany s wystarczaj co małe

a

6 Wyznaczamy now macierz H:

background image

Metody Numeryczne w Fizyce 1

Minima funkcji wielu zmiennych

9

© Andrzej Brozi, Instytut Fizyki Politechniki Łódzkiej

6.1

wektor u

x

H f

a

1

a

0

H f a

1

f a

0

6.2

współczynnik wyznaczamy z równania: u

T

f

1

6.3

cała poprawka: E

uu

T

6.4

i nowa macierz: H

1

H

0

uu

T

Programowanie liniowe

Okre lenie zagadnienia

Zagadnienia programowania liniowego polegaj na znalezieniu maksimum zadanej liniowej funkcji wielu zmiennych

przy uwzgl dnieniu wielu dodatkowych warunków narzuconych na te zmienne.

Metoda znana jako „programowanie liniowe” zacz ła by powszechnie stosowana podczas II Wojny wiatowej do

rozwi zywania zagadnie logistycznych (w armiach angielskiej i ameryk skiej). Nazwa ta jest uzasadniona co najwy ej

historycznie, bo w swej oryginalnej postaci metoda ta nie miała nic wspólnego z programowaniem komputerów.

Przykład sformułowania problemu

Załó my, e mamy fabryk produkuj c dwa typy płaszczy: zwykłe przeciwdeszczowe i luksusowe. Cały proces

produkcji obejmuje trzy procesy cz stkowe: krojenie materiałów, szycie i pakowanie. Płaszcze produkuje si partiami (po

ile tam sztuk) — jednak ze wzgl du na uwarunkowania lokalne (dost pno wykwalifikowanego personelu itp.) liczba

godzin, które mo na przeznaczy na ka dy z procesów jest ograniczona. Konkretnie: na ci cie mo na przeznaczy 42

godziny (roboczogodziny), na szycie — 60 godzin i na pakowanie — 32 godziny. Ilo czasu jak trzeba przeznaczy na

ka d z czynno ci jest inna dla ka dego typu płaszcza. Wycinanie materiału na płaszcz przeciwdeszczowy zajmuje 8 godzin,

podczas gdy wycinanie płaszczy luksusowych zajmuje 5 godzin. Szycie płaszcza zwykłego zajmuje 3 godziny, a

luksusowego 16. Pakowanie: 5 godzin dla partii płaszczy zwykłych i 6 godzin dla luksusowych. Na ka dej partii płaszczy

zwykłych zarabiamy 500 zł, a na ka dej partii płaszczy luksusowych — 400 zł.

Dodatkowo zakładamy, e wszyscy pracownicy otrzymuj takie samo wynagrodzenie (niezale nie od tego czy pracuj

czy nie, e materiały („substraty”) i (ewentualne) narzuty kosztuj tyle samo (niezale nie od procesu) oraz e fabryka mo e

sprzeda wszystko co wyprodukuje. Chcemy wiedzie w jaki sposób zmaksymalizowa zysk.

Dane:

zwykły

przeciwdeszczowy

luksusowy

dost pny

czas pracy

ci cie

8

5

42

szycie

3

16

60

pakowanie

5

6

32

zysk

500

400

Wprowad my oznaczenia: x

1

— liczba partii zwykłych płaszczy przeciwdeszczowych, jakie fabryka mo e

wyprodukowa w ci gu dnia, x

2

— analogiczna liczba dla płaszczy luksusowych.

Tzw.

„funkcj celu” (któr chcemy zmaksymalizowa ) b dzie zysk: z = 500x

1

+ 400x

2

. Mamy te ograniczenia

(dotycz ce czasu pracy):

8x

1

+ 5x

2

42

(ci cie)

3x

1

+ 16x

2

60

(szycie)

5x

1

+ 6x

2

32

(pakowanie)

background image

Metody Numeryczne w Fizyce 1

Minima funkcji wielu zmiennych

10

© Andrzej Brozi, Instytut Fizyki Politechniki Łódzkiej

Ddatkowo dodamy jeszcze ograniczenia oczywiste (zwane trywialnymi):

x

1

0 i x

2

0

W przypadku tak prostych problemów (pod wzgl dem liczby zmiennych) mo na pozwoli sobie na zastosowanie

metody graficznej. Posłu y ona jako ilustracja i umo liwi pó niejsze wprowadzenie metody numerycznej.

Metoda graficzna

Najpierw wykre lamy nasz „obszar zainteresowania” — tzn. obszar, w którym warto ci obu zmiennych spełniaj

narzucone na nie warunki.

Na tym samym wykresie mo emy te zaznaczy linie odpowiadaj ce kilku wybranym warto ciom zysku — w ten sposób

mo emy szybko zorientowa si uzyskanie jakich zysków w ogóle wchodzi w gr , a jakie warto ci s niemo liwe do

uzyskania. Na koniec, równie z rysunku, łatwo jest zorientowa si , któr dy b dzie przebiega linia zysku odpowiadaj ca

warto ci maksymalnej — je li ju okre limy przez który „naro nik” obszaru ma przechodzi zauwa ymy, przez punkt

wspólny których dwóch warunków musi przechodzi linia zysku i wyznaczymy warto ci x

1

i x

2

odpowiadaj ce

maksymalnemy zyskowi, a potem i sam zysk. W naszym przykładzie maksymalizuj zysk warto ci x

1

=4 i x

2

=2, a odpowiada

im zysk wynosz cy 2800.

Przypadek ogólniejszy

Jak łatwo zauwa y parametry zostały „r cznie” tak dobrane aby otrzyma wynik wyra aj cy si liczbami całkowitymi

— gdyby wynikiem nie były liczby całkowite mogliby my mie spory problem — np. ze wzgl dów technicznych nie byłoby

mo liwe wykonywanie tylko cz ci partii towaru (przykładem mo e by cho by i huta i (niemo liwa do uzyskania)

„ułamkowa cz

wytopu” z wielkiego pieca).

background image

Metody Numeryczne w Fizyce 1

Minima funkcji wielu zmiennych

11

© Andrzej Brozi, Instytut Fizyki Politechniki Łódzkiej

Wracaj c do naszego przykładu — był on bardzo prymitywny: ró ni pracownicy otrzymuj ró ne wynagrodzenia, do

wytworzenia jednego wyrobu potrzeba wielu ró nych materiałów (o ró nych cenach), mo e doj jeszcze zu ycie energii,

koszty utylizacji odpadków itd., itp.. W rzeczywisto ci problem nigdy nie b dzie tylko dwuwymiarowy — liczba wymiarów

b dzie o wiele wi ksza — zatem metody graficznej nie da si zastosowa . Jednak prawdziwy pozostanie fakt, e

rozwi zaniem b dzie wierzchołek wielowymiarowej bryły (b d cej naszym obszarem zainteresowania), który b dzie

styczny do „linii zysku” (albo cie lej do czego „o jeden mniej wymiarowego” ni nasz obszar zainteresowania).

„Na oko” wydaje si , e rozwi zanie mo na by znale badaj c warto ci zysku odpowiadaj ce wszystkim „naro nikom”

— jednak okazuje si , e w przypadku np. 16 zmiennych i 20 warunków (tych „nietrywialnych”, tzn. pomijaj c oczywiste

warunki głosz ce, e dana zmienna ma by wi ksza od zera) otrzymujemy ok. 7 milionów naro ników (a jest to problem,

wg standardów programowania liniowego, bardzo mały). Potrzebne jest wi c inne podej cie.

Nosi ono nazw metody „simplex”, a jej zasad działania mo na zilustrowa za pomoc adaptacji do przypadku

wielowymiarowego metody, któr posłu yli my si w (dwuwymiarowym) przypadku rozwi zywanym graficznie.

W najwi kszym skrócie i uproszczeniu metoda ta działa nast puj co: wybieramy jaki wierzchołek (cho by i ten dla

wszystkich zmiennych wynosz cych zero), sprawdzamy jaka jest w nim warto naszej funkcji celu (zysku), nast pnie

spo ród s siednich wierzchołków wybierzemy ten, dla przej cia do którego przyrost funkcji celu b dzie maksymalny,

przejdziemy do niego i z kolei w ród jego s siadów b dziemy szuka wierzchołka daj cego maksymalny przyrost funkcji

celu. Operacje takie b dziemy powtarza a do znalezienia si w wierzchołku, którego wszyscy s siedzi daj ujemny

przyrost funkcji celu — uznamy wówczas problem za rozwi zany.

Oczywi cie aby operacj t mógł samodzielnie przeprowdzi komputer musimy odpowiednio przygotowa dane i

sformułowa algorytm rozwi zywania takich problemów dla dowolnej liczby zmiennych i dowolnej liczby ogranicze .

Posta kanoniczna problemu

Najpierw okre lmy

posta standardow zagadnienia — odpowiada ona uporz dkowaniu wszystkich nierówno ci

opisuj cych zagadnienie:

z

c

1

x

1

c

2

x

2

c

n

x

n

c

11

x

1

c

12

x

2

c

1

x

n

b

1

c

21

x

1

c

22

x

2

c

2

x

n

b

2

c

m1

x

1

c

m2

x

2

c

mn

x

n

b

m

x

1

,x

2

, ,x

n

0

Warto zauwa y , e w postaci standardowej wszystkie warunki „nietrywialne” zapisane s w postaci

„mniejszy lub

równy” — zatem podczas przepisywania zagadnienia do postaci standardowej mo e by konieczne odwrócenie niektórych

nierówno ci (pomno enie przez –1, z czym b dzie si wi za zmiana znaków współczynników na przeciwne). Natomiast

wszystkie warunki trywialne maj posta

„wi kszy lub równy” (to zazwyczaj nie b dzie ulega zmianie).

W postaci kanonicznej zawsze mówimy o maksymalizacji funkcji, a warunki nietrywialne musz mie posta

równo ci — co mo na uzyska przez wprowadzenie zmiennych dodatkowych.

Rozwa my to na nast puj cym przykładzie — mamy zminimalizowa funkcj z:

z

x

1

3x

2

4x

3

2x

1

4x

3

4

x

1

x

2

5x

3

4

2x

2

x

3

2

x

1

,x

2

,x

3

0

background image

Metody Numeryczne w Fizyce 1

Minima funkcji wielu zmiennych

12

© Andrzej Brozi, Instytut Fizyki Politechniki Łódzkiej

W postaci standardowej zagadnienie to przybierze posta :

z

x

1

3x

2

4x

3

2x

1

4x

3

4

x

1

x

2

5x

3

4

2x

2

x

3

2

x

1

,x

2

,x

3

0

Znak funkcji z został zmieniony aby my mogli mówi o maksymalizacji. Aby zamieni t posta na kanoniczn musimy

sprowadzi nierówno ci b d ce warunkami (ograniczeniami) nietrywialnymi do równo ci — zrobimy to wprowadzaj c

dodatkowe zmienne:

2x

1

4x

3

4

2x

1

4x

3

x

4

4

x

4

0

Je li przeprowadzimy tak operacj dla wszystkich warunków otrzymamy:

z

x

1

3x

2

4x

3

2x

1

4x

3

x

4

4

x

1

x

2

5x

3

x

5

4

2x

2

x

3

x

6

2

x

1

,x

2

,x

3

,x

4

,x

5

,x

6

0

co jest wła nie postaci kanoniczn naszego zagadnienia.

Przykład realizacji metody simplex

Rozpatrzmy działanie takiej metody na poprzednim przykładzie (produkcja płaszczy). Problem maksymalizacji zysku

z produkcji płaszczy ma, w postaci kanonicznej, nast puj c posta :

z

500x

1

400x

2

8x

1

5x

2

x

3

42

3x

1

16x

2

x

4

60

5x

1

6x

2

x

5

32

x

1

,x

2

,x

3

,x

4

,x

5

0

background image

Metody Numeryczne w Fizyce 1

Minima funkcji wielu zmiennych

13

© Andrzej Brozi, Instytut Fizyki Politechniki Łódzkiej

Na rysunku powy ej widzimy nasz “obszar zainteresowania” przedstawiony jako obszar ograniczony prostymi o

równaniach postaci x

i

= 0. Istotne dla nas wierzchołki, w których b dziemy bada zmiany funkcji celu oznaczone s na

rysunku wielkimi literami A...E, natomiast wierzchołki, które wprawdzie równie stanowi punkty przeci cia par prostych

x

i

= 0, ale jako nie nale ce do kraw dzi interesuj cego nas obszaru s z naszego punktu widzenia nieistotne, oznaczone

s jako X, Y, Z (s jeszcze dwa takie wierzchołki, ale znalazły si poza wykresem).

Mo na zauwa y , e w ka dym z wierzchołków pokazanych na wykresie powy ej

dwie zmienne maj warto zero,

a

trzy pozostałe nie.

W ogólnym przypadku, je li problem był okre lony przez n zmiennych, do których dodali my jeszcze m zmiennych

dodatkowych (mamy ich wi c w sumie n+m) to w ka dym z wierzchołków n spo ród zmiennych przyjmuje warto zero.

Zmienne, które w danym wierzchołku maj warto ci niezerowe okre lamy jako podstawowe (w danym wierzchołku), a

pozostałe jako niepodstawowe (w tym e wierzchołku). Zbiór warto ci wszystkich zmiennych (podstawowych i

niepodstawowych) w danym wierzchołku okre lamy jako rozwi zanie odpowiadaj ce temu wierzchołkowi. W tabeli

pokazano, które zmienne s podstawowe, a które nie, w poszczególnych wierzchołkach w naszym przykładzie:

wierzchołek

zmienne

podstawowe

zmienne

niepodstawowe

A

B

C

D

E

x

1

, x

2

, x

4

x

1

, x

4

, x

5

x

3

, x

4

, x

5

x

2

, x

3

, x

5

x

1

, x

2

, x

3

x

3

, x

5

x

2

, x

3

x

1

, x

2

x

1

, x

4

x

4

, x

5

background image

Metody Numeryczne w Fizyce 1

Minima funkcji wielu zmiennych

14

© Andrzej Brozi, Instytut Fizyki Politechniki Łódzkiej

Mo na zauwa y , e przemieszczaj c si od wierzchołka do wierzchołka po obwodzie interesuj cego nas obszaru za

ka dym razem zmieniamy jedn ze zmiennych podstawowych na niepodstawow i odwrotnie: A B x

2

x

5

, B C

x

1

x

3

, C D x

2

x

4

, D E x

1

x

5

, E A x

3

x

4

.

Rozwi zanie metod simplex rozpoczynamy od nadania wszystkim zmiennym wyst puj cym w oryginalnym problemie

warto ci zerowych. Je li wierzchołek ten nale y do kraw dzi obszaru zainteresowania to wszystkie warto ci zerowe s

dopuszczalnym rozwi zaniem naszego problemu (zazwyczaj tak jest) i mo emy rozpocz obliczenia — je li nie —

b dziemy musieli znale inny wierzchołek, od którego rozpoczniemy (o tym jak to zrobi — pó niej).

W przykładowym problemie rozwi zaniem pocz tkowym b dzie x

1

=0 i x

2

=0 (jak wida na rysunku takie rozwi zanie

jest dopuszczalne — jest to punkt C). W przypadku gdy nie mamy rysunku (np. problem jest wielowymiarowy)

podstawiamy zało one warto ci zerowe do warunków problemu (sformułowanego w postaci kanonicznej — a wi c ju z

wprowadzonymi zmiennymi dodatkowymi) i sprawdzamy czy warunki te nie s sprzeczne. Je li nie s — rozwi zanie jest

dopuszczalne. Łatwo zauwa y (patrz c na funkcj celu z), e zwi kszanie x

1

(od warto ci zerowej) spowoduje wi kszy

przyrost funkcji celu (zysku — z) ni analogiczne zwi kszanie warto ci x

2

— poszukamy wi c zmiennej niepodstawowej,

która ma najwi kszy współczynnik w (maksymalizowanej przez nas) funkcji celu (w wierzchołku od którego rozpocz li my

zmiennymi niepodstawowymi były wła nie x

1

i x

2

). Zdecydowawszy si na x

1

pozwalamy jej przyj warto niezerow (a

wi c sta si zmienn podstawow ) — musimy okre li , która z dotychczasowych zmiennych podstawowych ma sta si

niepodstawow . W tym celu równania okre laj ce warunki przepiszemy w nast puj cej postaci:

x

3

42

8x

1

5x

2

x

4

60

3x

1

16x

2

x

5

32

5x

1

6x

2

Sprawdzamy teraz, która z pozostałych zmiennych pierwsza osi gnie zero gdy warto zmiennej x

1

b dzie wzrasta

ponad zero — w tym celu wystarczy podzieli wolny wyraz w ka dym z równa przez współczynnik stoj cy przy x

1

otrzymamy: 42/8 (5.25) dla x

3

, 60/3 (20) dla x

4

i 32/5 (6.4) dla x

5

— najszybciej spadnie do zera zmienna x

3

i t te zmienn

wybieramy jako „zamiennik” dla x

1

. Z naszej tabeli wynika, e przeniesiemy si do wierzchołka B.

W wierzchołku B powtarzamy cał procedur — sprawdzamy, która ze zmiennych niepodstawowych staj c si

podstawow b dzie mie najwi kszy wpływ na wzrost funkcji celu z. W wierzchołku tym (B) zmiennymi niepodstawowymi

s x

2

i x

3

— funkcj celu przepiszemy wi c z ich wykorzystaniem:

x

1

42

5x

2

x

3

8

z

500

42

5x

2

x

3

8

400x

2

2625

87.5x

2

62.5x

3

Wynika st d, e je li zmienna x

2

stanie si podstawow to b dzie to mie wi kszy wpływ na wzrost z ni taka zmiana

w przypadku x

3

(wła ciwie, poniewa współczynnik przy zmiennej x

3

jest ujemny, mogliby my wył czy j z tych rozwa a

— tylko jej warto ci ujemne mogłyby wpływa na wzrost z, a te s „z definicji” wykluczone). Warunki przepiszemy w

nast puj cej postaci (pami taj c, e x

3

ma pozosta niepodstawow — czyli wynosz c zero):

x

1

42

5x

2

8

3x

1

x

4

60

16x

2

5x

1

x

5

32

6x

2

Jak wida pierwszego z warunków nie trzeba ju przekształca (odpowiedni form uzyskał gdy wyznaczali my warto

zmiennej x

1

), pozostałe dwa przekształcamy (wykorzystuj c wyra enie na x

1)

:

x

1

42

5x

2

8

x

4

354

113x

2

8

x

5

46

23x

2

8

background image

Metody Numeryczne w Fizyce 1

Minima funkcji wielu zmiennych

15

© Andrzej Brozi, Instytut Fizyki Politechniki Łódzkiej

Ponownie sprawdzamy współczynniki (wolny wyraz podzielony przez współczynnik stoj cy przy x

2

) — najmniejszym

jest 46/23 (odpowiadaj cy zmiennej x

5

) — czyli to zmienna x

5

pierwsza osi gnie zero gdy x

2

b dzie wzrasta od zera. Zatem

zmienna x

5

stanie si niepodstawow , za zmienna x

2

stanie si podstawow — „przenosi” nas to z wierzchołka B do

wierzchołka A.

Znan ju procedur powtarzamy w wierzchołku A. Znowu przekształcamy funkcj celu tak aby wyra ona była przez

zmienne niepodstawowe (w tym przypadku/wierzchołku s to x

3

i x

5

). Wychodz c od ostatnio zmodyfikowanej postaci

funkcji celu otrzymujemy i przekształcaj c ostatnie z powy szych równa (wi

ce x

5

z x

2

):

z

2625

87.5x

2

62.5x

3

2625

87.5

8x

5

46

23

62.5x

3

2800

62.5x

3

700

23

x

5

Jak wida doszli my do momentu, gdy nie jeste my w stanie zwi kszy warto ci funkcji celu z poniewa obie

wyst puj ce we wzorze zmienne podstawowe maj ujemne współczynniki. Stwierdzamy wi c, e znale li my rozwi zanie

optymalne — konkretnie z = 2800. Podstawienie x

3

=0 i x

5

=0 we wzorach na warunki zagadnienia daje:

8

x

1

5x

2

42

5x

1

6x

2

32

Sk d łatwo otrzymujemy x

1

=4 i x

2

=2 (czyli ten sam wynik, który otrzymali my metod graficzn ).

Warto zwróci tu uwag , e w bardziej skomplikowanych przypadkach mo liwe jest „zap tlenie” rozwi zania (gdy

proces zacznie przebiega sekwencj wierzchołków nie zwi kszaj c warto ci funkcji celu).

Pocz tkowe przybli enie rozwi zania

Problem znajdowania pocz tkowego przybli enia rozwi zania zilustrujemy na nieco zmodyfikowanym przykładzie

fabryki płaszczy. Dodamy jeszcze jeden warunek — fabryka musi produkowa przynajmniej jedn parti płaszczy

przeciwdeszczowych dziennie.

Po uwzgl dnieniu tego dodatkowego warunku posta kanoniczna problemu jest nast puj ca:

z

500x

1

400x

2

8x

1

5x

2

x

3

42

3x

1

16x

2

x

4

60

5x

1

6x

2

x

5

32

x

1

x

6

1

x

1

,x

2

,x

3

,x

4

,x

5

,x

6

0

background image

Metody Numeryczne w Fizyce 1

Minima funkcji wielu zmiennych

16

© Andrzej Brozi, Instytut Fizyki Politechniki Łódzkiej

A przedstawienie graficzne wygl da tak jak na rysunku obok. Jak wida zastosowane wcze niej rozwi zanie

pocz tkowe, w którym obie zmienne wyst puj ce w oryginalnym sformułowaniu problamu wynosz zero nie jest

dopuszczalne — dotychczasowy punkt C nie znajduje si ju na kraw dzi obszaru zainteresowania — zało enie x

1

=0 łamie

warunek x

6

0.

Aby rozpocz jednak w jaki sposób obliczenia zaczynamy od

funkcji pseudocelu z . Funkcj t wprowadzamy maj c

na celu zwi kszenie warto ci zmiennej x

6

i doprowadzenia jaj do warto ci dodatniej. Przeprowadzimy w tym celu jeden

cykl metody simplex dla celu danego równaniem:

z’ = x

6

= x

1

– 1

i z pozostałymi warunkami oryginalnymi. Zgodnie z zasadami stwierdzamy, e zmiana x

1

b dzie mie wi kszy wpływ na

z ni zmiana x

2

. Wobec tego zmienna x

1

staje si zmienn podstawow — zmiennymi podstawowymi s wi c obecnie x

3

,

x

4

, x

5

i x

6

, zatem utrzymuj c dla x

2

warto zero mamy:

x

3

42

8x

1

x

4

60

3x

1

x

5

32

5x

1

x

6

1

x

1

Wida , e przy wzro cie x

1

ponad zero x

6

b dzie pierwsz zmienn , która osi gnie zero i wła nie x

6

stanie si

niepodstawow . Mamy teraz x

2

=0 i x

6

=0, sk d wynika, e x

1

=1, x

3

=34, x

4

=57 i x

5

=27.

To jest wła nie wyj ciowe przybli enie rozwi zania i od niego mo na rozpocz dalsze rozwi zywanie zagadnienia

metod simplex.

Przeprowadzony jeden cykl z funkcj pseudocelu “przeniósł” nas z punktu C do punktu Y (zaznaczonego na rysunku

powy ej).

Gdyby uzyskany punkt nie był dopuszczalnym rozwi zaniem musieliby my wybra inn funkcj pseudocelu — mogłaby

to by np. suma wszystkich zmiennych niedodatnich.

background image

Metody Numeryczne w Fizyce 1

Minima funkcji wielu zmiennych

17

© Andrzej Brozi, Instytut Fizyki Politechniki Łódzkiej

Problemy z rozwi zaniami b d cymi liczbami całkowitymi

W rozwi zanym przykładzie otrzymali my wynik wyra ony liczbami całkowitymi — bardzo nas to satysfakcjonuje. W

wielu przypadkach rozwi zania b d ce liczbami całkowitymi s jedynymi dopuszczalnymi — nie sposób sobie wyobrazi

wyprodukowania ułamka zawarto ci wielkiego pieca stali czy „gruszki” betonu — istniej procesy produkcyjne, w których

nie mo na zostawi cz ci produkcji „na jutro”.

Znajdowanie rozwi za całkowitych mo e znakomicie utrudni rozwi zywania takich zagadnie . Mo na sobie z tym

jednak poradzi stosuj c nast puj ce podej cie:

Na pocz tku rozwi zujemy zagadnienie tak samo jak w przedstawionych przykładach — czyli tak jaby zadowalało nas

znalezienie rozwi za ułamkowych. Gdy znajdziemy ju rozwi zanie optymalne sprawdzamy czy wyra a si ono liczbami

całkowitymi — je li tak „mamy problem z głowy”. Je li nie — wybieramy t zmienn , która w rozwi zaniu nie jest

całkowita (je li jest ich kilka to wybieramy któr kolwiek) i zaczynamy rozwi zywa

dwa problemy — w ka dym z nich

do oryginalnego zestawu warunków dodajemy jeden dodatkowy ograniczaj cy zmienno tej wła nie zmiennej —

uniemo liwiaj cy jej przyj cie tej wła nie warto ci ułamkowej.

Gdyby na przykład zmienna x

1

w obliczonym rozwi zaniu przyjmowała warto 3.3 przyst piliby my do rozwi zywania

dwóch „nowych” zagadnie — jedno z nich zostałoby „wzbogacone” o warunek

x

1

3, a drugie o warunek x

1

4. Procedur

tak powtarzaliby my (zapisuj c otrzymywane rozwi zania całkowite — o ile oczywi cie takie by my „po drodze”

uzyskiwali) tak długo a wyczerpaliby my wszystkie mo liwo ci. Nast pnie spo ród zanotowanych rozwi za całkowitych

wybraliby my najlepsze (maksymalizuj ce funkcj celu).

Nale y zwróci uwag , e dodanie warunków do nowych „podproblemów” ogranicza „obszar zainteresowania” dla

danego podproblemu — je li podczas rozwi zywania którego z podproblemów znale li my rozwi zanie optymalne dla

danego „podobszaru” to rozwi zywanie kolejnych podproblemów dotycz cych tego samego podobszaru mija si z celem

— umo liwia bowiem co najwy ej powtórne znalezienie tego samego rozwi zania.


Wyszukiwarka

Podobne podstrony:
MNF 06
Matematyka PG PP kl2 MPZ sprawdzian 04B arkusz
MNF 03
MNF 05
elektro wyklad 04b
PR1 04b
04b RACHUNEK ZYSKÓW I STRAT
04b BUDOWA CIALA STALEGOid 53 Nieznany (2)
MNF 01
0656PWsrTz1 Rysunek 04b
FIG-04B
miernictwo 04b oscyloskop ox 800
Matematyka PG PP kl2 MPZ sprawdzian 04B instrukcja
04b harmonogram spotkan, awans zawodowy
zx 04b
1570 04B

więcej podobnych podstron