Documente Academic
Documente Profesional
Documente Cultură
sintaxa: linprog
sintaxa: quadprog
, , sintaxa: fgoalattain
, sintaxa: fminimax
, , sintaxa: fseminf
-rezolvarea sistemelor de ecuaţii liniare, sintaxa: \
-rezolvarea unei ecuaţii neliniare de o variabilă, sintaxa: fzero
-rezolvarea sistemelor de ecuaţii neliniare, sintaxa: fsolve
-aproximarea curbelor prin metoda celor mai mici pătrate:
sintaxa: \
1
-cele mai mici pătrate non-negative de tip liniar,
Toate funcţiile din OT sunt fişiere MATLAB tip M-file, scrise în limbaj MATLAB,
care implementează tehnici, algoritmi specifici de optimizare. Oricare din ele poate fi
vizualizată în cod MATLAB folosind procedura: type function_name
Utilizarea mediului de programare MATLAB este recomandată şi din cauza extremei
sale flexibilităţi. oricînd utilizatorul poate extinde OT prin propriile sale aplicaţii sub
forma de M-file, ori poate combina OT cu alte toolbox-uri existente. Pentru cei
interesaţi de problematica optimizărilor si a aplicaţiilor practice din inginerie, este
important de reţinut faptul că există în prezent mai multe toolbox-uri gratuite,
elaborate în mediul universitar, care operează in MATLAB şi care au implementat şi
alte tehnici de optimizare, in special de optimizare globală: algoritmi genetici,
programare geometrica, metoda coloniei de furnici, ş.a.
In ceea ce priveşte formarea inginereasca, acomodarea si lucrul cu MATLAB, are şi
alte avantaje:
-rezolvarera şi editarea calculelor matematice
-dezvoltarea de algoritmi
-modelarea simularea, vizualizarea sistemelor tehnice
2
-analiza datelor, vizualizarea lor
-reprezentări grafice de tip ştiinţific şi tehnic
Aceste posibilităţi se obţin prin setul de toolbox-uri: Curve Fitting Toolbox, Data
Acquisition Toolbox, Database Toolbox, Financial Time Series Toolbox, Financial
Toolbox, GARCH Toolbox, LMI Control Toolbox, Neural Network Toolbox.
Şi cum proiectarea de calitate include imperativ etapa de optimizare optimization
toolbox acoperă şi aceasta cerinţă a proiectării.
Inainte de a analiza rezolvarea problemelor de optimizare prin opţiunea MATLAB-
OT, trebuie clarificat un aspect important. Avantajul principal al MATLAB-OT este
că proiectantul are rezolvată problema scrierii programelor pentru algoritmii de
optimizare. Şi atunci , ne intrebăm firesc, ce rămîne în sarcina utilizatorului? Rămîn
exact elementele ce ţin de formarea sa inginerească şi de experienţa de proiectare:
-elaborarea modelului matematic al problemei de optimizare (determinarea funcţiei
ori funcţiilor obiectiv, exprimarea corectă a înttregului set de restricţii, delimitarea cît
mai precisă a domeniului de căutare)
-simplificarea, cînd se impune, a modelului matematic iniţial
-stabilirea genului de problemă (liniară, neliniară, pătratică, cu sau fără constrîngeri)
-alegerea acelei funcţii din MATLAB-OT care poate rezolva cel mai bine problema
-completarea M-file-ului ales cu datele problei
-alegerea modului de afişare a rezultatelor
-analiza rezultatelor
Trebuie înţeles ca programele de tip CAD nu pot înlocui specialistul. Fie ca e vorba
de MATLAB, fie ca e vorba de programe de tip element finit, ele doar măresc viteza
de proiectare dar nu au cum să suplinească experienţa de proiectare ori cunoaşterea
teoretică a domeniului. Şi cum modelele matematice ori algoritmii de rezolvare conţin
seturi de erori intrinseci (simplificari, linearizări, erori de metodă), este nevoie ca in
final soluţia rezultată să fie validată de analiza specialistului.
Aşa cum utilizarea programelor grafice nu ne transformă în artişti plastici, designeri
ori arhitecţi, nici programele inginereşti în sine nu ne pot transforma în buni ingineri.
Ele doar îi ajută pe bunii ingineri.
Cele mai multe fumcţii, rutine de optimizare cer definirea unui M-file care să conţină
funcţia obiectiv. Se mai pot folosi şi obiecte online create din expresii MATLAB.
dacă se vrea maximizarea funcţiei obiectiv, trebuie să se negativeze funcţia obiectiv,
din f devine –f. În cazul în care nu toţi parametrii sunt cunoscuţi, se pot folosi
3
opţiunile de parametrii lipsă (defaul parameters) dar se pot schimba opţiunile prin
structura options.
MATLAB-OT clasifică algoritmii de optimizare în două categorii:
-algoritmii pe scala medie, algoritmi standard (medium scale)
-algoritmii pe scala largă (large scale)
4
unde:
H este hessianul este o matrice pozitiv definită, simetrică
c este un vector constat
b este o constantă
Soluţia optimală a problemei apare cînd derivatele parţiale tind la zero, aşa încît:
unde:
5
polinomiale aproximează un numar de puncte prin polinoame unidimensiuonale a
căror minim poate fi exprimat uşor. Interpolarea înseamnă ca minimum se află in zona
determinată de punctele alese. Extrapolarea nu este o metodă recomandată pentru
minimizarea funcşiilor neliniare. Interpolarea polinomială este metoda care dă cele
mai bune rezultate pentru funcţiile obiectiv de tip continuu. Iteraţiile sunt de forma:
unde:
este iteraţia curentă
d este direcţia de căutare
este un parametru scalar ce reprezintă pasul , distanţa pînă la minim
Interpolarea pătratică
Presupune ca setul de date să fie aproximate printr-o funcţie unidimensională de
forma:
Punctul poate fi un maxim ori un minim. Este un minim cînd este pozitiv.
Determinarea coeficienţilor poate fi obţinută folosind combinaţii a trei
gradienţi ori funcţii de evaluare.
Date 3 puncte neuniforme şi asociindu-le valorile funcţiiei
unde:
,
Interpolarea cubică
Funcţia unidimensională folosită este:
6
iar extremul local este rădăcina ecuaţiei pătratice:
unde:
7
La astfel de probleme, reziduul are posibilitatea sa fie neglijabil la punctul
de optim deoarece traiectoriile prin care se ajunge la acel punct sunt realizabile. Cînd
jacobianul lui
gradientul vector al lui
hessenianul lui
Pînă cînd este suficient de mic, se foloseşte metodele Gauss-Newton ori
Levenberg-Marquardt pentru a determina direcţia de căutare a optimului
Metoda Gauss-Newton
Direcţia de căutare este dată pentru fiecare iteraţie de soluşia problemei de tip
cele mai mici pătrate:
Direcţia obţinută este cea rezultată din metoda Newton, cînd termenul este
ignorat. Se constată că metoda Gauss-Newton oferă o mai bună convergenţă, fiind
necesare cam 40-50 de iteraţii, faţă de 140 iteraţii la metoda BFGS. În cazul în care
termenul este semnificativ şi nu poate fi anulat, metoda Gauss-Newton este
dificil de aplicat şi se apelează la metoda Levenberg-Marquardt.
Metoda Levenberg-Marquardt
La această metodă, direcţia de căutare este dată ca soluţie a sistemului liniar de
ecuaţii: