laborator_4_topdf
DESCRIPTION
TOTRANSCRIPT
-
36
Lucrare de laborator
Metoda cutrii ciclice dup axele de coordonate
1. Scopul lucrrii Scopul principal al acestei lucrri este ca prin implementarea i rularea unui algoritm bazat pe metoda cutrii ciclice dup axele de coordonate s familiarizeze pe cei interesai cu problemele care apar n minimizarea funciilor de o singur de mai multe variabile. 2. Prezentarea lucrrii
Metoda pe care o prezentm n continuare este o metod rudimentar (metoda mai este cunoscut sub denumirea de metod naiv), n care se exploateaz succesiv posibilitile de minimizare pe direcia axelor de
coordonate nOxOxOx ,......., 21 , urmnd ca procedura s fie reluat ciclic pn la atingerea (eventual) a unei zone de incertitudine final admis.
n figura 3.1. este dat o reprezentarea geometric a evoluiei
procesului de cutare prin metoda propus. n planul variabilelor 21Oxx ,
curbele trasate reprezint aa numitele curbe de izonivel care sunt grafice ale locului geometric din plan ce satisfac urmtoarea condiie:
.),( 21 constxxf = (Din pcate, o astfel de reprezentare grafic este posibil numai pentru funcii de dou variabile).
Punctul de iniializare a cutrii se consider ),( 21111 xxfy = . Pstrnd neschimbat valoarea 21x , urmrim o procedur de minimizare
dup direcia 1x
O pn la atingerea minimului parial ),( 2112 xx . n
continuare, pstrm valoarea 121 xx = procednd la o minimizare pe direcia
6
-
37
2xO , pn la atingerea valorii ),( 22212 xxfy = . n acest moment am ncheiat procedura de cutare pe un ciclu (am epuizat direciile oferite de axele de
coordonate) i relum ciclul de cutare din punctul 2y .
Descrierea algoritmic a unei astfel de proceduri este urmtoarea:
Etapa de iniializare. Se impune 0> condiia de STOP (incertitudinea final). Se aleg direciile de cutare 11 ed = , 22 ed = , ... nn ed = , unde ei reprezint baza canonic ortogonal pentru n . Se impune iniializarea lui
1x i se consider 11 xy = i 1== jk i se trece la etapa de baz.
Etapa de baz. Pasul 1. Se determin
)(minarg1
jjj dyf +=
i se calculeaz jjjj dyy +=+ 1 . Dac nj < atunci 1+ jj i se reia pasul 1. Dac j = n, se trece la pasul 2.
Pasul 2. Considerm 11 ++ = nk yx . Dac
-
38
Observaii
Pentru o astfel de procedur, direciile de cutare sunt dictate de
modul de prezentare a funciei obiectiv. Oricare schimbare a axelor de
coordonate (rotaii, translaii) care nu schimb efectiv minimul funciei i
nici complexitatea, poate determina o cretere sau o scdere a eficienei
metodei propuse (acest rezultat este exploatat n metoda cutrii ciclice cu
pas accelerat ce urmeaz a fi prezentat).
Prezentm n continuare modul de utilizare a acestei proceduri pentru
minimizare funciei:
( ) .3, 21323121 xxxxxxf += pornind de la un punct de iniializare [ ] .7,70 Tx = pentru o precizie .01.0=
-8 -6 -4 -2 0 2 4 6 8-8
-6
-4
-2
0
2
4
6
8
x1
x2
Figura 11. Curbele de izonivel pentru funcia prezentat
-
39
Aplicnd algoritmul prezentat materializat n subrutina coord.m,
obinem urmtoarele rezultate: y = 1.0009 1.0005 A = Columns 1 through 11 7.0000 2.6458 2.6458 1.2754 1.2754 1.0627 1.0627 1.0153 1.0153 1.0038 1.0038 7.0000 7.0000 1.6266 1.6266 1.1293 1.1293 1.0309 1.0309 1.0076 1.0076 1.0019 Columns 12 through 13 1.0009 1.0009 1.0019 1.0005
n figura 11 este prezentat graficul de evoluie n procesul de cutare.
3. Chestiuni de studiat
Se consider funcia (forma funciei va fi impus de conductorul lucrrii) a
crei form este prezentat n tabelul de mai jos:
Nr. Crt Funcia Punct
de iniializare
Punct deminim
Valoare de minim
1. 2 21 1 1 2 26 2 2 2x x x x x + + [ ]1, 1 [ ]2, 1 -6 2. ( )221 2 1 21 109x x x x+ + + [ ]1, 1 [ ]5,0.5 7.5 3. ( ) ( )2 21 1 21 100x x x + [ ]3, 4 [ ]1,1 0 4. ( ) ( )2 21 25 3 5x x + [ ]0,0 [ ]3,5 0 5. 2 21 1 2 2x x x x + [ ]1,2 [ ]0,0 0
-
40
6. 2 21 2 1 29 16 90 128x x x x + [ ]0,3 [ ]5, 4 -481 7. 2 21 2 1 2 1 22 2 2 4 6+ + x x x x x x [ ]1,1 1 4,3 3
143
8. 2 21 1 2 2 1 22x x x x x x + + [ ]3,5 [ ]1,0 -1 9. 21 1 2 2 1 25 4 16 12+ + x x x x x x [ ]1,1 [ ]4,14 -152 10. 2 21 2 1 2 1 22 2 11 8+ + x x x x x x [ ]3, 5 [ ]2,3 -23 11. 2 21 2 1 1 2 22 2x x x x x x + + + [ ]1,1 31, 2 -1.25 12. 2 21 2 1 2x x x x+ + [ ]1,1 [ ]0,0 0 13. 2 21 216x x+ [ ]2, 2 [ ]0,0 0 14. ( ) ( )2 21 1 21 x x x + [ ]5, 8 [ ]1,1 0
a) S se traseze graficul funciei considerate mpreun cu curbele de
izonivel.
b) S se evalueze eventualul punct de minim utiliznd algoritmul propus.
c) S se reprezinte grafic evoluia n procesul de cutare.
-
41
Lucrare de laborator
Metoda cutrii ciclice cu pas accelerat
1. Scopul lucrrii Scopul principal al acestei lucrri este ca prin implementarea i rularea unui algoritm bazat pe metoda cutrii ciclice dup axele de coordonate cu pas accelerat s familiarizeze pe cei interesai cu problemele care apar n minimizarea funciilor de o singur de mai multe variabile. 2. Prezentarea lucrrii
mbuntirea procesului de cutare poate fi fcut intercalnd ntre dou etape de cutare ciclic dup axele de coordonate, un proces de cutare
pe o direcie impus de soluiile finale n cadrul ciclurilor amintite: kx i
1+kx cu forma kkk xxd = +1 .
n figura 12, pentru o funcie obiectiv ipotetic, sunt prezentate primele dou cicluri de cutare ntr-un algoritm cu pas accelerat.
Cutarea se lanseaz n
1x i dup evalurile minimului n lungul direciilor 1Ox i 2Ox , obinem
punctul 2x . Urmeaz un pas accelerat; n fapt, un proces de minimizare pe
direcia 121 xxd = care ofer ca soluie un punct y. Acest punct constituie punctul de reiniializare a unui nou procedeu de cutare ciclic dup axele
x1
x2
x1
x2
x3
y y|
Figura 12. Un ciclu de cutare 0
7
-
42
de coordonate care stabilete soluia 3x . n continuare, intercalm un nou
pas accelerat pe direcia 232 xxd = i procedura continu pn la atingerea condiiei de STOP: condiia de ncheiere a procesului de cutare i nx 1 punctul de iniializare a cutrii. Considerm 11 xy = i 1== jk i se trece la etapa de baz. Etapa de baz. Pasul 1. Calculm
)(minarg1
jjj dyf +=
i construim jjjj dyy +=+ 1 . Dac nj < , atunci 1+ jj i se reia pasul 1.
Dac j = n, facem 11 ++ = nk yx . n condiia
-
43
Considerm funcia obiectiv ce urmeaz a fi modificat de forma:
221
4121 )3()3(),( xxxxxf += .
Pentru minimizarea funciei utilizm metoda cutrii ciclice cu pas
accelerat implementat prin subrutina Matlab sub denumirea coord_acc.
Pentru condiia iniial 10,10 21 == xx i o precizie 001.0=e obinem soluia de minim:
0011.1,0032.3 21 == xx . Rezultatele comparative sunt prezentate n tabelul 7.1:
Cond
iniiale Ctare ciclic Cutare ciclic
Pas
accelerat Cutare ciclic
10 5.3111 5.3111 3.8921 3.8921 3.0036 3.0032 3.0032
10 10 1.7704 1.7704 1.2973 1.0011 1.0011 1.0011
Atingerea soluiei de minim se obine n opt iteraii n condiiile
realizrii preciziei de calcul impuse.
De remarcat este c n cazul unor condiii iniiale identice i pentru o
aceeai precizie, convergena n punctul de minim se realizeaz n 113
iteraii n cazul n care utilizm metoda cutrii ciclice dup axele de
coordonate.
n figura 13 sunt prezentate evoluiile procesului de cutare pentru
metoda cutrii ciclice cu pas accelerat (vezi figura a) i prin metoda
cutrii ciclice dup axele de coordonate (vezi figura b).
n continuare, vom analiza pe un exemplu concret modul n care
precizia de calcul impus afecteaz timpii de calcul necesari asigurrii unei
precizii impuse n cazul algoritmului de cutare ciclic cu pas accelerat.
Tabelul 7.1. Rezultatele pentru exemplul considerat
-
44
0 5 102
3
4
5
6
7
8
9
10
11
x1
x2
0 5 102
3
4
5
6
7
8
9
10
11
x1
x2
Pas accelerat
Considerm funcia (funcia Rosenbrock):
21
221221 )1()(100),( xxxxxf += .
i un punct de iniializare 10,10 21 == xx .
Aplicm procedura de minimizare utiliznd metoda cutrii ciclice cu
pas accelerat pentru o precizie de evaluare a punctului de minim de forma
3,2,1,10 = kk i vom stabili timpii de calcul necesari pentru a asigura precizia impus.
Precizia 1.0= 01.0= 001.0= Cutare ciclic 0.07sec. 0.451sec. 47.067sec.
Cutare cu pas accelerat 0.12sec. 0.311sec. 4.36sec
a) cutare ciclic cu pas accelerat b) cutare ciclic dup axele de coordonate
Figura 13. Rezultatele metodei dihotomice
Tabelul 7.2. Rezultatele pentru exemplu
-
45
Rezultatele sunt prezentate n tabelul 7.2, n care au fost incluse i
datele referitoare la durata de calcul necesar asigurrii aceleai precizii
utiliznd metoda cutrii ciclice dup axele de coordonate.
1 2 30
10
20
30
40
50
Precizia impusa prin k.
Tim
pi d
e ca
lcul [s
ec.]
n figura de mai sus sunt prezentate dependenele timpilor de calcul necesari
asigurrii unei precizii impuse pentru cele dou metode de cutare analizate.
Observaii. O prim observaie care trebuie fcut este legat de
posibilitile de comparare a mai multor proceduri de cutare a minimului.
n principiu metodele pot fi comparate pe baza a trei criterii:
1. Precizia metodei evaluat prin distana dintre valoarea minim a
funciei obiectiv obinut prin aplicarea procedurii de cutare i
valoarea de minim real sau prin distana dintre vectorul ce
caracterizeaz punctul de minim obinut i vectorul ce caracterizeaz
minimul real.
2. Numrul de evaluri numerice a funciei obiectiv (i a derivatei
funciei obiectiv) necesar stabilirii punctului de minim.
3. Timpul de calcul necesar obinerii soluiei finale.
Figura 14. Dependena timpului de calcul - precizie
-
46
3. Chestiuni de studiat
Se consider funcia (forma funciei va fi impus de conductorul lucrrii) a
crei form este prezentat n tabelul de mai jos:
Nr. Crt Funcia
Punct de iniializare
Punct deminim
Valoare de minim
1. 2 21 1 1 2 26 2 2 2x x x x x + + [ ]1, 1 [ ]2, 1 -6 2. ( )221 2 1 21 109x x x x+ + + [ ]1, 1 [ ]5,0.5 7.5 3. ( ) ( )2 21 1 21 100x x x + [ ]3, 4 [ ]1,1 0 4. ( ) ( )2 21 25 3 5x x + [ ]0,0 [ ]3,5 0 5. 2 21 1 2 2x x x x + [ ]1, 2 [ ]0,0 0 6. 2 21 2 1 29 16 90 128x x x x + [ ]0,3 [ ]5,4 -481 7. 2 21 2 1 2 1 22 2 2 4 6+ + x x x x x x [ ]1,1 1 4,3 3
143
8. 2 21 1 2 2 1 22x x x x x x + + [ ]3,5 [ ]1,0 -1 9. 21 1 2 2 1 25 4 16 12+ + x x x x x x [ ]1,1 [ ]4,14 -152 10. 2 21 2 1 2 1 22 2 11 8+ + x x x x x x [ ]3, 5 [ ]2,3 -23 11. 2 21 2 1 1 2 22 2x x x x x x + + + [ ]1,1 31, 2 -1.25 12. 2 21 2 1 2x x x x+ + [ ]1,1 [ ]0,0 0 13. 2 21 216x x+ [ ]2, 2 [ ]0,0 0 14. ( ) ( )2 21 1 21 x x x + [ ]5, 8 [ ]1,1 0
a) S se traseze graficul funciei considerate mpreun cu curbele de izonivel.
b) S se evalueze eventualul punct de minim utiliznd algoritmul propus.
c) S se reprezinte grafic evoluia n procesul de cutare.