laborator_4_topdf

11
36 Lucrare de laborator Metoda căutării ciclice după axele de coordonate 1. Scopul lucrării Scopul principal al acestei lucrări este ca prin implementarea şi rularea unui algoritm bazat pe metoda căutării ciclice după axele de coordonate să familiarizeze pe cei interesaţi cu problemele care apar în minimizarea funcţiilor de o singură de mai multe variabile. 2. Prezentarea lucrării Metoda pe care o prezentăm în continuare este o metodă rudimentară (metoda mai este cunoscută sub denumirea de “metodă naivă”), în care se exploatează succesiv posibilităţile de minimizare pe direcţia axelor de coordonate n Ox Ox Ox ,....... , 2 1 , urmând ca procedura să fie reluată ciclic până la atingerea (eventual) a unei zone de incertitudine finală admisă. În figura 3.1. este dată o reprezentarea geometrică a evoluţiei procesului de căutare prin metoda propusă. În planul variabilelor 2 1 Ox x , curbele trasate reprezintă aşa numitele curbe de izonivel care sunt grafice ale locului geometric din plan ce satisfac următoarea condiţie: . ) , ( 2 1 const x x f = (Din păcate, o astfel de reprezentare grafică este posibilă numai pentru funcţii de două variabile). Punctul de iniţializare a căutării se consideră ) , ( 21 11 1 x x f y = . Păstrând neschimbată valoarea 21 x , urmărim o procedură de minimizare după direcţia 1 x O până la atingerea minimului parţial ) , ( 21 12 x x . În continuare, păstrăm valoarea 12 1 x x = procedând la o minimizare pe direcţia 6

Upload: ilie-ablachim-constantin-denis

Post on 22-Sep-2015

214 views

Category:

Documents


2 download

DESCRIPTION

TO

TRANSCRIPT

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