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

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

x

2

y

2

y

4

4

x

4

x

3

y

x y

3

y

4

4

x y

2

x

4

x

2

y

2

y

4

4

P(x,y)

y

x y

2

x

4

x

2

y

2

y

4

4

x

4

x

3

y

x y

3

y

4

4

x y

2

x

4

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

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

(x,y)

(a s

1

t,b s

2

t)

(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

(x,y)

(a,b)

1
2

1

2

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,

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

 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.