25
Gradientní metody Metoda největšího spádu (volný extrém) Zoutendijkova metoda (vázaný extrém)

Gradientní metody

  • Upload
    yahto

  • View
    60

  • Download
    0

Embed Size (px)

DESCRIPTION

Gradientní metody. Metoda největšího spádu (volný extrém) Zoutendijkova metoda (vázaný extrém). Metoda největšího spádu. Řešíme úlohu na volný extrém Předpoklad: funkce f je diferencovatelná Největší spád je ve směru gradientu Volíme výchozí bod Určíme směr Určíme délku k-tého kroku - PowerPoint PPT Presentation

Citation preview

Page 1: Gradientní metody

Gradientní metody

Metoda největšího spádu (volný extrém)

Zoutendijkova metoda (vázaný extrém)

Page 2: Gradientní metody

Metoda největšího spádu

• Řešíme úlohu na volný extrém

• Předpoklad: funkce f je diferencovatelná

• Největší spád je ve směru gradientu

• Volíme výchozí bod• Určíme směr• Určíme délku k-tého

kroku • Konstruujeme

posloupnost bodů

fD)f( xxmin

d=- f x

k

,,,k)f(ηkdexxxx kkkkkk 210,,,...,,...,, 1121 xxx

Page 3: Gradientní metody

Pro lineární funkci je gradient směrnicí kolmice. Přímka účelové funkce se posouvá ve směru kolmice, tj. ve směru gradientu.

Nejkratší cesta?

Page 4: Gradientní metody

Gradientní metoda s krátkým krokem

• Volíme konstantní délku kroku

• Optimum:• Sledujeme

konvergenci:

• Zvolíme dostatečně malé - optimum:

f x 0

1

f x 0

0k kx x

21k k(x x ) ε

ε

Page 5: Gradientní metody

Příklad 1

• Minimalizujte funkci:• Výchozí bod:• Délka kroku:

2 22 1 2 1 2f x 12 4 4 4x x x x x

0

0

0x

0,1

1 2

1 2

1 0 0 1

2 1 1 2

3 2 2

8 4f x

12 4 8

0 0 0 4,80,1 f 0,1 ; f

0 12 1,2 2,4

0 4,8 0,48 1,920,1 f 0,1 ; f

1, 2 2, 4 1, 44 2,4

0,480,1 f

1, 44

x x

x x

x x x x

x x x x

x x x

3

4 3 3 4

1,92 0,68 1,280,1 ; f

2,4 1,68 1, 28

0,68 1,28 0,81 1,440,1 f 0,1 ; f

1,98 1, 28 2,11 1,64

x

x x x x

Page 6: Gradientní metody

Gradientní metoda s dlouhým krokem

• Pro každý krok počítáme délku kroku

• Pro největší zlepšení hodnoty účelové funkce

• Délka kroku – pomocná úloha

1( ) ( ( ))k k k kf f f x x x

0,0))(((max

kkk ffd

dxx

Page 7: Gradientní metody

Příklad 1 b

Stejná funkce i výchozí bod, hledáme takovou délku kroku,aby v bodě x1 dosáhla funkce minima (lokálního). Vyjádříme x1 a dosadíme do původní funkce f. Vzniklá funkce je konvexní funkce 1 proměnné , její bod minima najdeme pomocí první derivace=0.

1 0 1 0 11

2 22 1 2 1 2

2 21 1 1 1 1 1 1

11

1

1

00 0f

120 12

f x 12 4 4 4

f 12 12 4 12 144 576

1152 144 0

1440,125

1152

x x x

x x x x x

x

d

d

1 0 1 0 11

1

212 1 2 2

22 2 2 2 2

00 0 0 0f

120 12 12.0,125 1,5

6f

0

0 6 6f x

1,5 0 1,5

9 36 144

x x x

x

x x

f x

Page 8: Gradientní metody

Optimalizace s podmínkamiÚloha s přípustným směrem

• Řešíme úlohu na vázaný extrém (omezující podmínky mohou být nelineární)

• Konstruujeme posloupnost bodů

• Řešení je přípustné:

• Snížení účelové funkce dosáhneme, pokud navíc platí:

nji R,n,,j,x,m,,i,)(q)f( xxx 1010min

,,,kskdexxxx kkkkk 210,,,...,,...,, 1121 xx

0, 1, ,i k kq ( ) i m x s

( ) 0Tf s x

Page 9: Gradientní metody

Příklad 2• Je daná úloha:• Výchozí bod:

• Vektor s je přípustným směrem, pokud platí:

• Ke snížení hodnoty účelové funkce dojde, jestliže:

(Řešením může být více než jeden přípustný směr, v němž dojde ke snížení ÚF)

2 2

1 2

1 2

1 2

1 2

3 1 min

3

3 5

0; 0

x x

x x

x x

x x

1

2x

1 2

1 2

0

3 0

s s

s s

2 21 1 2 2

1

2

0

1 2

6 9 2 1

2 6

2 2

1 4

2 2

4 2 0

f x x x x x

xf x

x

f x f x

s s

Page 10: Gradientní metody

Grafické znázornění

X0 výchozí bod

X=(3,1) globální minimum

Page 11: Gradientní metody

Obecný algoritmus

• 1. krok - Výchozí řešení– Za výchozí bod iteračního postupu zvolíme libovolný bod x z

množiny M , tj. libovolné přípustné řešení, které označíme x0 , k = 0.

• 2. krok - Směr a délka kroku– Řešení (k+1) iteračního kroku vypočítáme pomocí směrového

vektoru a délky kroku

– Přitom musí platit: xk+1 M a f(xk+1 ) = f(xk + sk) < f(xk )• 3. krok - Test optimality

– Pokud nelze nalézt směrový vektor nebo délku kroku tak, aby byly splněny podmínky 2), je poslední nalezené řešení xk optimálním řešením a výpočet končí.

– Jinak je určeno nové řešení xk+1, položíme k = k+1 a přejdeme ke kroku 2 - budeme hledat nový směr a délku kroku.

Page 12: Gradientní metody

Zoutendijkova metoda

1. krok

Zvolíme přípustné výchozí řešení x0;k=0

Pokud bod leží na některé hraniční přímce (není vnitřním bodem množiny přípustných řešení), přidává se k úloze o optimálním směru podmínka:

0ia s

Page 13: Gradientní metody

Zoutendijkova metoda

2. krok

Určení optimálního směru: Směr, který svírá minimální úhel s gradientem a je přípustný.

Příslušná úloha je nelineární a nahrazuje se jednodušším lineárním vztahem – lineární normalizace vztahu

00

0

1,

1min

Tf xf x s s s s

s s

f x ss

Page 14: Gradientní metody

Úloha o optimálním směru

Vypočítáme gradienty funkcí f a g v bodě xk a vyřešíme pomocnou úlohu lineárního programování o optimálním směru. Jestliže opt. řešení úlohy (OS) má nulovou hodnotu kritéria, pak je algoritmus u konce a řešení xk je optimálním řešením

njs

qmi)(q

f(

j

kikki

kk

,,1,11

0)(a,,1pro0

)min

xsx

sx

Page 15: Gradientní metody

Úloha o optimálním směru

Úloha vede na řešení simplexem. Abychom zajistili nezápornost proměnných, přičteme 1:

k

1 1

0 2

0

pouze pro hraniční přímky (funkce), na nichž bod x leží

j

j

i k k

s

s

q ( )

x s

Page 16: Gradientní metody

Zoutendijkova metoda

3. krok: Určení optima

Jestliže opt. řešení úlohy (OS) má nulovou hodnotu kritéria, pak je algoritmus u konce a řešení xk je optimálním řešením, jinak pokračujeme krokem 4.

Page 17: Gradientní metody

Zoutendijkova metoda

4. Krok: Určení délky kroku

z hlediska přípustnosti nového řešení a z hlediska největší možné celkové změny hodnoty účelové funkce.

5. krok – test optimality II.– Jestliže délka kroku nulová, je řešení xk je optimální

– Jinak jsme nalezli nové řešení a přejdeme ke kroku 2.

0min:

+ max

,(min

**

*

***

)f(

M

)

kk

kk

k

sx

sx

Page 18: Gradientní metody

Příklad 2b

1. krok• Výchozí bod splňuje

první 2 omezující podmínky jako rovnice, tj. leží na příslušných hraničních přímkách

2 21 1 2 2

1 1 2

2 1 2

1 2

6 2 10

: 3

: 3 5

0; 0

f x x x x x

q x x

q x x

x x

0

1

2x

Page 19: Gradientní metody

Příklad 2b

2. Krok – úloha o OS

2 21 1 2 2

1

2

1 1 2

1

2 1 2

2

6 2 10

2 6

2 2

: 3

1

1

: 3 5

1

3

f x x x x x

xf x

x

q x x

q

q x x

q

1 2

1 2

1

2

1 2

1

2

0

0

3 0

1 1

1 1

4 2 min

2 6

2 2

4

2

s s

s s

s

s

s s

xf x

x

f x

1 1 2 2

1 1 2 2

1 2

1 2 2

1 2

1 2

1

2

1 2

1; 1

1; 1

1 1

2

3

0

4 1

2

2

2

4 2 2 mi

2 1 min

n

s s s s

s s s s

s s

s s

s s

s

s

s

s

s

s

Page 20: Gradientní metody

-4 2 0 0 0 0s1 s2 d1 d2 d3 d4 b

0 d1 1 1 1 0 0 0 20 d2 -1 3 0 1 0 0 20 d3 1 0 0 0 1 0 20 d4 0 1 0 0 0 1 2

4 -2 x x x x 00 d1 0 1 1 0 -1 0 00 d2 0 3 0 1 1 0 4-4 s1 1 0 0 0 1 0 20 d4 0 1 0 0 0 1 2

x -2 x x -4 x -8

Page 21: Gradientní metody

• Hodnota optimální ÚF úlohy o optimálním směru není nula – řešení není optimální.

1 2

1 1 2 2

1 2

2; 0

1; 1

1; 1

s s

s s s s

s s

Page 22: Gradientní metody

Příklad 2b- Určení délky kroku0

1 00

0 0

0 0

0

0

0

0

0

0

*

11 1

22 1

1 2 3...platí vždy

1 6 3 5

5 4 5

0

1 0

1

2 0

2

2

x

0

2 2

0 0 0 0

20

0

0

**0

0

min 1 6 1 2 2 2 10

min 2 6 5

4 6 0

3

23

23 3

min(2, )2 2

Page 23: Gradientní metody

01 0

0

0

01 1

0

11

2

11 1

22 1

3

25

1 2 ...bod leží jenom na q2 1

2

2 6 1

2 2 1

x

x

xf x

x

Page 24: Gradientní metody

Grafické znázornění

0

X0 =(2,1)

výchozí bod

X=(3,1) globální minimum

Směr s0

X1=(2,5;0,5)

Page 25: Gradientní metody

-1 -1 0 0 0s1 s2 d1 d2 d3 b

0 d1 1 1 1 0 0 20 d2 1 0 0 1 0 20 d3 0 1 0 0 1 2

1 1 x x x 00 d1 0 1 1 -1 0 0-2 s1 1 0 0 1 0 20 d3 0 1 0 0 1 2

x 0 x -2 x -4

1 2

1 1 2 2

1 2

1 2

2; 0

1; 1

1; 1

( ) : min

1 1 min

( ) 0

s s

s s s s

s s

Uf OS s s

Uf OS

ŘEŠENÍ JE OPTIMÁLNÍ