+ All Categories
Home > Documents > Concepte de baza ale metodelor numerice

Concepte de baza ale metodelor numerice

Date post: 09-Nov-2015
Category:
Upload: ribizli
View: 244 times
Download: 5 times
Share this document with a friend
Description:
Metode numerice
16
1 CONCEPTE DE BAZĂ 1.1 Introducere Optimizarea este o ramură a matematicii, care ne oferă instrumentele necesare pentru determinarea valorilor unuia sau a mai multor parametri corespunzând maximului sau minimului unei funcţii. Problemele de optimizare au fost formulate încă de Euclid, dar bazele matematice au fost puse abia după apariţia calculului diferenţial şi a calculului variaţional, în secolele 17 şi 18 [Mihăileanu,1974]. Importanţa optimizării este reflectată de multitudinea de aplicaţii ale acesteia practic în toate domeniile de activitate. Au fost dezvoltate o mulţime de metode de optimizare, fiecare dintre acestea fiind dedicate unui anumit tip de problemă. Faptul că încă nu avem o metodă de optimizare care să rezolve orice tip de problemă nu trebuie privit ca un neajuns sau o limitare. Creşterea continuă a performanţelor calculatoarelor face ca multitudinea de algoritmi de optimizare numerici să fie diferenţiaţi nu numai prin numărul de iteraţii, sau numărul paşilor necesari atingerii soluţiei cu o anumită precizie, ci şi prin timpul necesar determinării ei. Cercetătorul trebuie să formuleze cu multă atenţie modelul matematic al problemei de optimizare. Este primul şi cel mai important pas în rezolvarea problemei, pentru că de acurateţea modelului matematic va depinde rezultatul final. Pasul următor constă în alegerea metodei potrivite de rezolvare a problemei şi rezolvarea efectivă a problemei. Pasul final constă în testarea rezultatelor numerice. 1.2 Conceptul de optimizare O problemă de optimizare are trei componente de bază: o funcţie obiectiv ce trebuie minimizată sau maximizată. De exemplu, într-un proces de fabricaţie urmărim să maximizăm productivitatea sau să minimizăm costul. un set de necunoscute sau variabile de decizie care determină valoarea funcţiei obiectiv. În cadrul problemelor de fabricaţie, variabilele de decizie pot să includă parametri de reglare ai unor procese tehnologice, sau mărimea diferitelor resurse utilizate, sau timpul afectat diferitelor acţiuni etc.
Transcript
  • 1

    CONCEPTE DE BAZ 1.1 Introducere

    Optimizarea este o ramur a matematicii, care ne ofer instrumentele necesare pentru determinarea valorilor unuia sau a mai multor parametri corespunznd maximului sau minimului unei funcii. Problemele de optimizare au fost formulate nc de Euclid, dar bazele matematice au fost puse abia dup apariia calculului diferenial i a calculului variaional, n secolele 17 i 18 [Mihileanu,1974]. Importana optimizrii este reflectat de multitudinea de aplicaii ale acesteia practic n toate domeniile de activitate. Au fost dezvoltate o mulime de metode de optimizare, fiecare dintre acestea fiind dedicate unui anumit tip de problem. Faptul c nc nu avem o metod de optimizare care s rezolve orice tip de problem nu trebuie privit ca un neajuns sau o limitare. Creterea continu a performanelor calculatoarelor face ca multitudinea de algoritmi de optimizare numerici s fie difereniai nu numai prin numrul de iteraii, sau numrul pailor necesari atingerii soluiei cu o anumit precizie, ci i prin timpul necesar determinrii ei. Cercettorul trebuie s formuleze cu mult atenie modelul matematic al problemei de optimizare. Este primul i cel mai important pas n rezolvarea problemei, pentru c de acurateea modelului matematic va depinde rezultatul final. Pasul urmtor const n alegerea metodei potrivite de rezolvare a problemei i rezolvarea efectiv a problemei. Pasul final const n testarea rezultatelor numerice. 1.2 Conceptul de optimizare

    O problem de optimizare are trei componente de baz: o funcie obiectiv ce trebuie minimizat sau maximizat. De exemplu,

    ntr-un proces de fabricaie urmrim s maximizm productivitatea sau s minimizm costul.

    un set de necunoscute sau variabile de decizie care determin valoarea funciei obiectiv. n cadrul problemelor de fabricaie, variabilele de decizie pot s includ parametri de reglare ai unor procese tehnologice, sau mrimea diferitelor resurse utilizate, sau timpul afectat diferitelor aciuni etc.

  • Optimizare numeric. Algoritmi i programe n C

    14

    un set de restricii ce permit necunoscutelor s ia anumite valori i s le exclud pe altele. De exemplu, n cadrul anumitor procese, variabilele de decizie pot lua valori numai n cadrul anumitor intervale.

    Definiie: Problema de optimizare const n determinarea valorilor variabilelor de decizie care minimizeaz sau maximizeaz funcia obiectiv i-n acelai timp satisfac toate restriciile.

    Cu toate c marea majoritate a problemelor de optimizare au o singur funcie obiectiv, menionm dou excepii:

    lipsa funciei obiectiv; n anumite situaii (la proiectarea circuitelor integrate) scopul const n determinarea unui set de variabile care s satisfac restriciile. Nu se dorete n mod explicit optimizarea a ceva, prin urmare nu avem de definit o funcie obiectiv. Acest tip de probleme poart denumirea de probleme de posibilitate.

    mai multe funcii obiectiv; adesea se dorete optimizarea unui anumit numr de funcii obiectiv diferite, simultan. De regul aceste funcii obiectiv nu sunt compatibile i valorile variabilelor de decizie pentru care una dintre funciile obiectiv este optim sunt departe de a optimiza restul funciilor obiectiv.

    n practic, problemele de optimizare cu funcii obiectiv multiple sunt reformulate sub forma unei singure funcii obiectiv, sau anumite funcii obiectiv sunt considerate restricii. Toate aceste aspecte vor fi descrise pe larg n cadrul capitolului destinat optimizrii multicriteriale. Variabilele de decizie sunt eseniale. Inexistena acestora ar face imposibil definirea matematic a funciei obiectiv i respectiv a restriciilor. Restriciile nu sunt eseniale. Domeniul optimizrii fr restricii este unul dintre cele mai importante n cadrul optimizrii i dispune de un numr impresionant de algoritmi i programe pe calculator.

    Vom introduce noiunile de baz ale teoriei optimizrii numerice prin intermediul a dou exemple simple. S considerm urmtoarea funcie algebric:

    ;)()(2),( 222122

    212121 xxxxxxxxF +++= (1.1)

    dependent de cele dou variabile x1 i x2. Ne propunem s determinm valorile celor dou variabile pentru care funcia F(x1,x2) are valoarea minim. Pentru c ne-am definit un scop, sau obiectiv, s determinm minimul funciei (1.1), ea poart numele de funcie obiectiv. Variabilele x1 i x2 poart numele de variabile de decizie. Dup cum se poate observa, problema noastr depinde doar de dou variabile de decizie. Nu exist ns limite ale numrului variabilelor de decizie. Pentru c nu exist alte condiii suplimentare impuse variabilelor de decizie, problema determinrii minimului funciei algebrice (1.1) poart denumirea de

  • Concepte de baz

    15

    problem de optimizare fr restricii. n figura 1.1 este reprezentat imaginea tridimensional a funciei (1.1). Pentru a putea aprecia mai uor poziia punctului de minim al acestei funcii vom reprezenta aceeai funcie i prin curbe de valoare constant (vezi fig.1.2). Pentru aceasta, s ne imaginm c secionm suprafaa definit de funcia F(x1,x2), cu plane i, paralele cu planul x1Ox2 (planul orizontal). Intersecia oricruia dintre planele i cu suprafaa definit de funcia F(,x2 x1) este o curb nchis. Proiectm fiecare dintre curbele astfel obinute, pe planul orizontal i obinem graficul din figura 1.2. Pe aceast imagine este destul de uor s apreciem c poziia punctului de minim se gsete n cadranul IV, foarte aproape de originea sistemului cartezian de axe de coordonate.

    Punctul de minim respect condiia ca derivatele pariale de ordinul nti ale funciei (1.1) s fie nule:

    ==

    =++=

    ;0)(421),(

    ;0)(222),(

    22122

    2

    21

    2211

    1

    21

    xxxxx

    xxF

    xxxx

    xxF

    (1.2)

    Rezolvnd sistemul (1.2) obinem soluia de optim:

    Fig.1.1 Imaginea grafic tridimensional a funciei date de relaia 1.1.

  • Optimizare numeric. Algoritmi i programe n C

    16

    (1.3)

    (1.4)

    ==

    ;793.0;185.0

    *2

    *1

    xx

    n acest exemplu, soluia optim a problemei de optimizare se determin uor att grafic, ct i analitic. Grafic este uor de apreciat poziia punctului de minim dac reprezentm funcia (1.1) prin curbe de valoare constant (vezi fig.1.2).

    n cazurile practice ns, cnd funcia obiectiv este puternic neliniar, iar

    numrul variabilelor de decizie este mare, ambele variante de mai sus nu ne sunt de folos, dar vom putea aplica cu succes o metod numeric.

    n al doilea exemplu s considerm aceeai funcie obiectiv (1.1), nsoit de

    restricia de tip inegalitate, notat g(x1,x2), avnd expresia: ( ) ;010002, 2121 = xxxxg

    Aceast nou exemplu reprezint o problem de optimizare cu restricii. Soluia acestei probleme const n determinarea valorilor variabilelor de decizie pentru care funcia obiectiv (1.1) ia valoarea minim i n acelai timp este verificat i restricia (1.4) impus problemei. n figura 1.3 este reprezentat ntr-un sistem de axe triortogonal att funcia obiectiv (1.1) ct i restricia (1.4)., n timp ce n figura 1.4, aceleai funcii sunt reprezentate prin curbe de valoare constant.

    Fig.1.2 Graficul funciei (1.1), reprezentat prin curbe de valoare constant.

  • Concepte de baz

    17

    Fig.1.3 Imaginea 3D a funciei obiectiv (1.1), alturi de restricia (1.4).

    Fig.1.4 Imaginea funciei obiectiv (1.1) i a restriciei (1.4), dat prin curbe de valoare constant.

  • Optimizare numeric. Algoritmi i programe n C

    18

    (1.5)

    Din figura 1.4 nu este foarte uor s apreciem schimbarea poziiei punctului de optim al problemei de optimizare cu restricii aproximativ n apropierea originii sistemului de axe x1Ox2, dar rezolvarea pe cale numeric a problemei ne va conduce la rezultatul:

    ==

    ;0005.0;4999.0

    *2

    *1

    xx

    n punctul de optim cu restricii funcia obiectiv va avea valoarea fmin = 7.5, n timp ce n acelai punct restricia (1.4) este nc ndeplinit, adic g = -0.000546 < 0. 1.3 Modelul matematic general

    Dup ce am vzut cele dou exemple de mai sus, putem formula modelul matematic general al problemei de optimizare sub forma urmtoare: Minimizm F(X); (funcia obiectiv) Supus la :

    ;

    ,...,2,1;

    ,...,2,1;0)(

    ,...,2,1;0)(

    2

    1

    maxmin

    =

    ====

    n

    iii

    k

    j

    x

    xx

    Xunde

    nixxx

    lkXhmjXg

    M

    n cadrul acestui model, restriciile pot fi la rndul lor funcii liniare sau

    neliniare, dependente de variabilele de decizie. n acelai timp aceste inegaliti pot fi exprimate prin funcii explicite sau implicite i pot fi evaluate att analitic ct i numeric, n funcie de procedurile de care dispunem. De multe ori este important de cunoscut dac aceste funcii sunt continue i dac au derivatele de orinul nti continue. Dac restriciile hk(X), de tip egalitate, sunt date sub form explicit, atunci pot fi utilizate n vederea reducerii numrului variabilelor de decizie considerate. Totui aceast alternativ nu se poate aplica ntotdeauna deoarece restriciile de tip egalitate chiar date sub form explicit, pot avea expresii neliniare complicate. Restriciile ximin xi ximax poart numele de restricii explicite. Aceste restricii se includ n setul de restricii global, dar se prefer tratarea lor separat deoarece definesc domeniul de existen al variabilelor de decizie.

  • Concepte de baz

    19

    (1.6)

    Modul n care a fost definit modelul matematic general (1.5) al problemei de optimizare nu este unic, n literatura de specialitate putnd fi gsite i alte formulri, ns echivalente cu acesta. 1.4 Optimizare iterativ Majoritatea problemelor de optimizare numeric necesit alegerea iniial a unui punct de start X0, ale crui coordonate sunt reprezentate de un set de variabile de decizie. Plecnd din acest punct, determinarea punctului de optim se face iterativ. Una dintre cele mai comune relaii de recuren folosite de algoritmii iterativi, are forma:

    ;11 += qqq SXX unde: q este un indice iterativ; S vectorul direciei de cutare n spaiul definit de restricii; * - o mrime scalar denumit factor de salt i care definete distana cu

    care ne deplasm din punctul Xq-1 n Xq, aflat pe direcia S. S considerm o problem de optimizare cu restricii n care vectorul X al

    variabilelor de decizie are doar dou componente x1 i x2, ca n figura 1.5.

    Fig.1.5 Determinarea iterativ a soluiei unei probleme de optimizare cu restricii.

    200 -1

    300 400

    100

    50

    10

    +1

    0.0

    -2 X0

    S

    X1 ( = 2)

    X1 ( = 15)

  • Optimizare numeric. Algoritmi i programe n C

    20

    Punctul de start X0 se alege iniial i fie acesta de coordonate x10 = -8, respectiv x20 = -28. S considerm de asemenea c cunoatem direcia de minimizare dat prin vectorul S de coordonate:

    ;0.10.2

    =S

    Dac alegem valoarea factorului de salt = 2, atunci:

    ;3012

    24

    288

    0.10.2

    228801

    =

    +

    =

    +

    =+= SXX

    n acest punct, putem aprecia F(X1) 360 iar g(X1) -2.8, fa de punctul X0 n care F(X0) 425. Prin urmare aplicnd factorul de salt = 2, s-a ajuns n noul punct X1 n care funcia F are o valoare mai mic dect n punctul X0 i acest lucru este i cel dorit, n timp ce restricia g este respectat. Acest fapt ne duce la gndul c am putea s folosim un factor de salt de mrime mai mare. S considerm de data aceasta un = 15 i dac refacem calculele de mai sus, vom obine:

    ;4338

    1530

    288

    0.10.2

    1528801

    =

    +

    =

    +

    =+= SXX

    Acum se poate aprecia c funcia obiectiv n noul punct X1 are valoarea F(X1) 8, ceea ce reprezint o valoare mult mai bun dect n cazul anterior, dar restricia g n noul punct este g(X1) +1.6, ceea ce nseamn ca aceasta a fost depit. Prin urmare am folosit un factor de salt prea mare i este necesar micorarea acestuia. n cadrul relaiei (1.6) am folosit pentru factorul de salt notaia *, nelegnd prin aceasta, valoarea optim a factorului de salt pentru care funcia obiectiv are valoarea minim pe direcia S i n acelai timp restricia g este respectat. Din punct de vedere practic, toate estimrile fcute mai sus trebuie realizate n mod automat, pe calculator i folosind diferite valori ale lui , putem aplica o metod numeric de interpolare, pentru a determina acea valoare *, pentru care funcia obiectiv F(X) ia cea mai mic valoare pe direcia S i n acelai timp sunt respectate toate condiiile suplimentare impuse de restricii. Astfel, prin acest procedeu de cutare pe diferite direcii, transformm problema de optimizare dependent de n variabile, ntr-o problem dependent de o singur variabil i anume . De aici i numele acestei proceduri de optimizare, de cutare unidimensional. Odat ajuni n punctul X1, trebuie determinat direcia de minimizare n acest punct i apoi s cutm s reducem valoarea funciei obiectiv pe noua direcie de minimizare.

    Din acest exemplu, se poate deduce uor c algoritmii de optimizare neliniar, bazai pe relaia (1.6) pot fi separai n dou pri. Prima parte se refer la determinarea direciei de cutare S. A doua parte se refer la determinarea factorului optim de salt *, ce definete mrimea deplasrii n direcia S. Dup cum

  • Concepte de baz

    21

    (1.7)

    (1.8)

    se va vedea, fiecare dintre aceste componente joac un rol fundamental n eficiena unui algoritm de optimizare numeric. 1.5 Existena i unicitatea soluiei optime Din punct de vedere practic, este deosebit de important de tiut dac punctul de optim este unul relativ sau unul global. Se recomand ca procedura de optimizare s fie reluat de mai multe ori, din puncte de start diferite, iar dac rezultatul optimizrii este acelai, atunci putem fi convini c am determinat punctul de optim. Uneori ns, este posibil determinarea matematic a condiiilor necesare existenei punctului de optim i n acelai timp suficiena acestora, pentru a dovedi c punctul de optim este un optim global i nu doar unul relativ. 1.5.1 Existena i unicitatea soluiei optime n absena restriciilor Pentru nceput, ne propunem s determinm condiiile de existen i unicitate ale punctului de minim al funciei obiectiv F(X), atunci cnd nu sunt impuse alte condiii suplimentare problemei de optimizare. Teorema lui Fermat ne spune c dac un punct X este punct de extrem pentru funcia F(X), atunci gradientul funciei trebuie s se anuleze n acel punct, adic:

    ;0)( = XF n care:

    ;

    )(

    )(

    )(

    )(2

    1

    =

    nxXF

    xXF

    xXF

    XFM

    Dup cum tim, reciproca acestei teoreme nu este adevrat i prin urmare, condiia (1.7) este necesar, nu i suficient pentru determinarea minimului funciei F(X). Acest lucru este simplu de demonstrat dac ne referim la figura 1.6, ce reprezint variaia unei funcii dependente de o singur variabil. n aceast situaie, gradientul funciei F(x) este de fapt, derivata sa de ordinul nti n raport cu variabila x. Dup cum se poate uor observa n figura 1.6, gradientul funciei F(x) se anuleaz n fiecare dintre cele trei puncte x1, x2 respectiv x3. n punctele n care derivata de ordinul nti ia valoarea zero, tangenta la graficul lui F(x) este

  • Optimizare numeric. Algoritmi i programe n C

    22

    A

    B

    C

    O x1 x2 x3

    x

    F(x)

    Fig.1.6 Optime relative ale unei funcii dependente de o singur variabil.

    (1.9)

    orizontal i n figura 1.6, tangenta la graficul funciei este orizontal n toate cele trei puncte A, B respectiv C. Punctul x1 este punct de minim, punctul x3 este punct de maxim, n timp ce punctul x2 nu este nici punct de minim i nici punct de maxim. Cu toate acestea, derivata de ordinul nti a funciei F(x) se anuleaz n fiecare dintre cele trei puncte. Prin urmare, numai anularea gradientului funciei F(X) ntr-un punct nu nseamn imediat c acel punct este un punct de extrem pentru funcia respectiv. Din cadrul analizei matematice tim c pentru ca o funcie dependent de o singur variabil s admit un punct de minim, derivata sa de ordinul doi, trebuie s fie pozitiv, iar pentru funcia din figura 1.6, aceast condiie este ndeplinit numai de punctul x1. n cazul general, pentru funcii dependente de n variabile, aceasta este echivalent cu condiia ca matricea hessian s fie pozitiv definit, unde prin matrice hessian nelegem matricea derivatelor pariale de ordinul doi ale lui F(X), dependent de cele n variabile de decizie, adic:

    ;

    )()()(

    )()()(

    )()()(

    )(

    2

    2

    2

    2

    1

    2

    2

    2

    22

    2

    12

    21

    2

    21

    2

    21

    2

    =

    nnn

    n

    n

    xXF

    xxXF

    xxXF

    xxXF

    xXF

    xxXF

    xxXF

    xxXF

    xXF

    XH

    LLLLL

    L

    L

  • Concepte de baz

    23

    (1.10)

    Fig.1.7 Reprezentarea grafic a funciei 1.10.

    Definiie: O funcie F(X) este convex (concav) dac i numai dac pentru orice pereche de puncte distincte u i v din domeniul lui F(X) i pentru 0 < < 1,

    .))1(()()1()( vufvfuf +

    +

    Not: Dac F(X) este o funcie liniar, atunci ea este i convex i concav n acelai timp. Teorema 1: Dac F1(X) i F2(X) sunt ambele convexe (concave), atunci F1(X)+F2(X) este de asemenea convex (concav). Teorema 2: O funcie continu, dublu difereniabil F(X) este convex dac i numai dac |Hi(X)| 0, i = 1, 2, , n, unde prin Hi(X) s-au notat minorii diagonali ai matricei hessiene (1.9). Teorema 3: O funcie continu, dublu difereniabil F(X) este concav dac i numai dac |H1(X)| 0, |H2(X)| 0, |H3(X)| 0, , (-1)n|Hn(X)| 0. Exemplu: Determinai caracterul funciei:

    ( ) ( ) ;11),( 222121 = xxxxF Dac reprezentm n MathCad graficul acestei funcii, vom obine imaginea din figura 1.7. ncepem prin a calcula gradientul funciei (1.10):

    ( )( ) ;12

    12)(

    2

    1

    2

    1

    =

    =xx

    xFxF

    XF

    Acum calculm matricea hessian:

  • Optimizare numeric. Algoritmi i programe n C

    24

    ;20

    02)(

    22

    2

    12

    221

    2

    21

    2

    =

    =xF

    xxF

    xxF

    xF

    XH

    Evalum minorii matricei hessiene:

    |H1(X)| = -2 0;

    Prin urmare, funcia (1.10) este concav (admite un punct de maxim), ceea ce se poate vedea i din figura 1.7. 1.5.2 Existena i unicitatea soluiei optime n prezena restriciilor Pentru nceput vom considera o problem de minimizare cu restricii, n care poziia punctului de optim este condiionat de cel puin o restricie. Pentru aceasta ne vom referi la exemplul din figura 1.8. Presupunem c suntem n punctul P0. n vederea determinrii unui nou punct cruia s-i corespund o valoare a funciei obiectiv mai mic dect valoarea funciei obiectiv din punctul P0, este necesar determinarea direciei vectorului S, direcie n care valoarea funciei se micoreaz fr a depi ns limitele impuse de restricii. Orice direcie S n care are loc minimizarea funciei obiectiv, o vom numi direcie utilizabil. Mai clar, tangenta la linia de valoare constant a funciei obiectiv n acest punct va limita toate direciile utilizabile posibile. Orice direcie S pe partea acestei linii, care va reduce valoarea funciei obiectiv este definit ca direcie utilizabil i aceast poriune a spaiului o vom denumi sector utilizabil. Aici trebuie s facem observaia c produsul scalar al oricrui vector direcie S pe care-l lum n sectorul utilizabil, cu gradientul funciei obiectiv, va fi negativ sau zero, adic:

    ;0)( XFS (1.11) Aceasta nseamn c unghiul dintre cei doi vectori trebuie s fie cuprins n intervalul [90o, 270o], deoarece produsul scalar a doi vectori este definit ca produsul mrimilor absolute de nmulit cu cosinusul unghiului dintre cei doi vectori, iar cosinusul unui unghi este negativ pentru valori ale unghiului cuprinse n intervalul mai sus amintit. n mod analog, un hiperplan tangent la o suprafa restrictiv n punctul P0, va limita sectorul admisibil, unde vectorul direcie S este definit ca admisibil dac o mic deplasare n aceast direcie nu va depi limita impus de restricie. n acest caz produsul scalar dintre vectorul direcie S i gradientul funciei restrictive este negativ sau nul, adic:

  • Concepte de baz

    25

    ;0)( XgS (1.12) Prin urmare i unghiul dintre aceti doi vectori trebuie s fie cuprins n intervalul [90o, 270o]. n concluzie, pentru ca un vector direcie s conduc la determinarea punctului de optim, trebuie s fie n acelai timp i direcie admisibil i utilizabil, deci orice vector direcie situat n sectorul admisibil-utilizabil satisface acest criteriu. Dac vectorul direcie este aproape tangent la hiperplanul ce mrginete sectorul admisibil, o mic deplasare n aceast direcie va avea ca rezultat depirea restriciei, dar va conduce rapid la reducerea valorii funciei obiectiv. Pe de alt parte, dac vectorul direcie este ales aproape tangent la linia de valoare constant a funciei obiectiv, deplasarea n aceast direcie va respecta ntotdeauna condiia impus de restricie dar valoarea funciei obiectiv nu va avea o scdere accentuat, ba mai mult, dac funcia obiectiv este neliniar ar putea exista posibilitatea ca valoarea funciei s nceap s creasc. n general, n problemele de optimizare pot exista mai multe restricii active, unde o restricie este considerat activ dac valoarea ei este mai mic sau egal cu zero. n acest caz, trebuie gsit vectorul direcie care respect toate restriciile. Necesitatea ca un vector direcie s

    Sector admisibil

    Sector utilizabil

    Sector admisibilutilizabil

    F=10

    F = 50

    F = 40

    F = 30 F = 20

    g = -5 g = 0

    S

    F g

    F

    g X1

    X2

    Fig. 1.8 Direcia de cutare admisibil-utilizabil.

    P0

    P1

  • Optimizare numeric. Algoritmi i programe n C

    26

    ndeplineasc simultan ambele cerine, adic s fie situat n sectorul admisibil-utilizabil se transpune matematic astfel:

    .0)(

    ;0)(;0)(

    XgcarepentrujSXg

    SXF

    j

    j (1.13)

    S considerm acum punctul P1 din figura 1.8, ce reprezint pentru acest exemplu punctul de optim (minim). n acest punct gradientul funciei obiectiv i gradientul restriciei au aceeai direcie dar sensurile sunt diferite. Pentru aceasta vectorul S va fi tangent n acelai timp i la linia de valoare constant a funciei F(X) i la linia de valoare constant a restriciei, deci va forma un unghi de 90o cu ambele gradiente. Aceast condiie o scriem matematic sub forma:

    = =

    + =++m

    j

    l

    kkkmjj XhXgXF

    1 1

    ;0)()()( (1.14) n care j 0, iar m+k este fr restricie de semn.. Dac problema de optimizare este fr restricii, atunci ecuaia (1.14) se reduce la condiia (1.7) de anulare a gradientului funciei obiectiv. Ecuaia (1.14) reprezint una din condiiile Kuhn-Tucker [Vanderplaats,1989], de existen a unui punct de optim, necesare a fi ndeplinite. Dac vectorul X definete un punct de optim atunci acesta trebuie s ndeplineasc pe lng condiia (1.14) urmtoarele dou condiii:

    ;sec admisibiltorulinfiesaX (1.15) .0;,...,2,1;0)( == jjj mjXg (1.16)

    Condiia (1.15) exprim necesitatea ca punctul X s satisfac toate condiiile impuse de restricii. Deasemenea ecuaia (1.16) impune condiia ca dac una din restriciile gj(X) nu este satisfcut precis (adic gj(X) 0), atunci corespunztor ei, multiplicatorul lui Lagrange j trebuie s fie nul. 1.6 Concluzii La nceputurile dezvoltrii acestei discipline, pentru o serie de probleme mai simple, avnd un numr mic de variabile, s-au folosit diferite metode grafice de determinare a punctului de optim. Odat cu creterea numrului variabilelor ns, singura modalitate de rezolvare eficient a problemelor de optimizare este analiza acestora cu ajutorul metodelor numerice, pe calculator. n mod firesc, este necesar o metod de rezolvare logic i sistematic. Dar avem avantajul c putem opera cu un numr mare de variabile de decizie i de restricii, care ar fi imposibil de vizualizat grafic. De asemenea, un mare avantaj este dat de reducerea timpului de rezolvare, datorita vitezei mari de lucru a calculatorului electronic.

  • Concepte de baz

    27

    Totodat, trebuie menionat c dac o metod de optimizare este implementat pe calculator, ea poate fi utilizat la rezolvarea mai multor probleme de optimizare diferite. Astfel, procesul de optimizare necesit o minim interaciune om-main. Procesul de optimizare nu se bazeaz n mod exclusiv pe experiena cercettorului. De aici rezult posibilitatea de a aduce mbuntiri reale n activitatea de proiectare. Totui, timpul de calcul crete odat cu creterea numrului variabilelor de decizie. Dac dorim s considerm toate variabilele de decizie posibile, costul proiectrii poate deveni foarte mare. De asemenea, nu putem stoca experien ct timp suntem limitai de dimensiunile programului sau de capacitaea de memorie a calculatorului electronic. Dac de exemplu, modelul matematic al problemei de optimizare nu este foarte precis, rezultatul optimizrii va fi unul eronat. De aceea rezultatele teoretice trebuie ntotdeauna validate experimental. Multe dintre procedurile de optimizare prezint dificulti la lucrul cu funcii discontinue. De asemenea, funciile neliniare pot prezenta o convergen lent, sau pot fi neconvergente. Aceste funcii trebuie formulate cu grij, pentru a putea fi rezolvate pe calculator. n acelai timp, trebuie s avem certitudinea c algoritmul de optimizare va determina punctul de optim global. De aceea, este necesar reluarea procesului de optimizare din mai multe puncte de start diferite, pentru a fi convini c rezultatul obinut este corect.

  • Optimizare numeric. Algoritmi i programe n C

    28


Recommended