cursul nr7
Post on 13-Oct-2015
53 Views
Preview:
DESCRIPTION
TRANSCRIPT
CURSUL NR
CURSUL NR. 7.
PREZENTAREA FUNCIILOR CONINUTE N MATLAB-OPTIMIZATION TOOLBOX
Exist mai multe moduri de a grupa funciile coninute in toolbox-ul de optimizare. Pentru o prezentare ct mai sintetic vom accepta urmtoarele variante de clasificare a funciilor dar i a problemelor pe care acestea le rezolv:Dup problemele rezolvate:
-funcii care rezolv probleme de minimizare
-funcii care rezolv sisteme liniare i neliniare de ecuaii
-funcii care rezolv probleme liniare i neliniare de aproximare a curbelor-fitting-funcii utilitare- prin ele se seteaz parametrii ori se regasesc anumii parametrii
-funcii demo pentru probleme standard medium scale
- funcii demo pentru probleme complexe large scale
Funciile care rezolv probleme de optimizare sunt:
fgoalattain probleme minimizare tip multiobiectivfminbnd probleme minimizare tip scalare, neliniare cu limite ale domeniului
fmincon probleme minimizare neliniare cu constrngeri
fminmax probleme minimizare tip minimax
fminsearch, fminunc probleme minimizare tip neliniar far constrngeri
fseminf probleme minimizare tip semi-infinitelinprog probleme minimizare tip programare liniar
quadprog probleme minimizare tip programare ptratic
Funcii care rezolv sisteme de ecuaii:\ se folosete simbolul \ pentru rezolvarea ecuaiilor liniarefsolve pentru rezolvarea ecuaiilor neliniare
fzero pentru rezolvarea ecuaiilor neliniare scalare
Funcii care rezolv probleme de aproxinare a curbelor prin metoda celor mai mici ptrate:
\ se folosete acest operator pentru metoda celor mai mici patrate n varianta liniara i fr constrngeri
lsqlin metoda celor mai mici patrate n varianta liniara cu constrngeri
lsqcurvefit aproximarea curbelor neliniarelsqnonlin metoda celor mai mici patrate n varianta neliniara
lsqnonneg metoda celor mai mici patrate n varianta liniara i non-negativFuncii utilitarefymult nmulire cu baza fundamental nenula a spaiului vectorialgangstr trasform n zero elementele suficient de mici ale unor matrici specificate
optimget obine valorile opionale optimale ale parametriloroptimset editeaz sau creaz strcturile opionale optimale ale parametrilorVariabilele funciilor
Variabilele folosite de funciile din toolbox se grupeaz n dou categorii: de intrare i de ieire. n tabelele urmtor sunt marcate variabilele de intrare i de ieire dar i descrierea i funciile care le folosesc:VARIABILE DE INTRARE
FunciiDescriereSe folosete la:
A, bMatricea A i vectorul b sunt coeficienii sistemului liniar de inecuaii ce exprim constrngerile, respectiv vectorul corespunztor din partea dreapt
fgoalattain,
fmincon, fminimax,
fseminf, linprog,
lsqlin, quadprog
Aeq, beqMatricea Aeq i vectorul beq sunt coeficienii sistemului liniar de ecuaii ce exprima restriciile, respectiv vectorul din partea dreapt
fgoalattain,
fmincon, fminimax,
fseminf, linprog,
lsqlin, quadprog
C, dMatricea C i vectorul d sunt coeficienii sistemului liniar ce trebuie rezolvat, respectiv vectorul din partea dreaptlsqlin, lsqnonneg
fVectorul coeficienilor pentru termenul liniar din ecuaia liniar sau din cea ptratic
linprog, quadprog
funFuncia ce urmeaz s fie optimizatfgoalattain, fminbnd, fmincon, fminimax,
fminsearch, fminunc, fseminf, fsolve, fzero,
lsqcurvefit, lsqnonlin
goalVectorul valorilor pe care funcia obiectiv se dorete s le ating. El are aceeasi dimensiune ca i numarul funciilor obiectivfgoalattain
HMatricea coeficienilor pentru termenii patratici din ecuaia ptratic . Matricea H trebuie s fie simatricquadprog
lb, ubVectorii (matricile) limit sus/jos -upper/lowerAu aceeai dimensiune cu x. Dac lb are mai puine elemende dect x, s presupunem m, doar primele m elemente din x vor fi limitate jos. Variabilele care nu au limite impuse se specifica prin -Inf pentru limita minim i Inf pentru limita maxim. Astfel daca lb(i)= -Inf, nseamn c variabila nu are limit inferioarfgoalattain,
fmincon, fminimax,
fseminf, linprog,
lsqcurvefit,
lsqlin, lsqnonlin,
quadprog
nonlconFuncia poate considera astfel constrngerile de tip inegalitai neliniare ori egalitifgoalattain,
fmincon, fminimax
nthetaNumarul constrngerilor de tip semi-infinitfseminf
optionsStructura opional optimizat a parametrilorTOATE FUNCIILE
P1, P2, Funcii suplimentare date fun, nonlcon, seminfcon dac exist- cnd funcia de optimizare cere i aceste funcii, de exmplu:f= feval(fun,x,P1,P2,)
[c, ceq]=feval(nonlcon,x,P1,P2,)
[c,ceq,K1,K2,,Kn,s]=
feval(seminfcon,x,s,P1,P2,)n acest fel aceeai functie fun, nonlcon, sau seminfcon poate rezolva un numr de probleme similare cu parametrii diferii, far s foloseasc variabile globalefgoalattain,
fminbnd, fmincon,
fminimax,
fminsearch,
fminunc, fseminf,
fsolve, fzero,
lsqcurvefit,
lsqnonlin
seminfconFolosit la calculul constrngerilor de tip inegaliti neliniare ori egaliti i la constrngeri semi-infinite fseminf
weightVector de evaluare a atingerii funciilor obiectivfgoalattain
xdata, ydataDatele de intrarei datele de ieire care se ataeaz unei ecuaiilsqcurvefit
X0Punctul de start. Poate fi un scalar, un vector sau o matriceToate funciile mai puin fminbnd
x1, x2 Intervalul n cadrul cruia funcia este minimizatfminbnd
VARIABILE DE IEIRE
FunciiDescriereSe folosete la:
attainfactorFactorul de dobndire al soluiei xfgoalattain
exitflagCondiia de ieireTOATE FUNCIILE
fvalValoarea funciei obiectiv fun pentru soluia xfgoalattain,
fminbnd, fmincon,
fminimax,
fminsearch,
fminunc, fseminf,
fsolve, fzero,
linprog, quadprog
gradValoarea gardientului pentru fun la soluia x. Dac fun nu poate calcula funcia gradient, el se aproximeaz prin diferene finite.fmincon, fminunc
hessianValoarea hessianului lui fun la soluia x. Pentru metodele tip large-scale dac fun la nu calculeaz hessianul, se folosesc diferenele finite.fmincon, fminunc
jacobianValoarea jacobianului lui fun la soluia x. La fel, se folosesc diferenele finite dac nu se poate calcula.lsqcurvefit,
lsqnonlin, fsolve
lambdaLagrageanul pentru soluia x. Structura lui lambda este diferit pentru variantele de tipuri de restriciifgoalattain,
fmincon,
fminimax,
fseminf, linprog,
lsqcurvefit,
lsqlin,
lsqnonlin,
lsqnonneg,
quadprog
maxfvalmax{fun(x)} la soluia xfminimax
outputConine informaii despre rezultatul optimizariiTOATE FUNCIILE
residualValoarea rezidualului pentru soliia xlsqcurvefit,
lsqlin,
lsqnonlin,
lsqnonneg
resnormValoarea normei ptratice a rezidualului pentru soluia xlsqcurvefit,
lsqlin,
lsqnonlin,
lsqnonneg
xSoluia aflat prin funcia de optimizare. Dac exitflag>0, atunci este o soluie, altfel x este o valoarea a rutinei de optimizare care s-a terminat prematurTOATE FUNCIILE
Parametrii opionale de optimizareSe folosete aceeai structur de tabel pentru sistematizarea setului de parametrii, cu observaia c se introduce o coloan suplimentar care specific dac parametrii se folosesc la funcii tip large-scale L, medium-scale M sau la ambele tipuri A.Nume param.DescriereL,M,AFolosit de:
DerivativeChekCompara gradientul ori jacobianul cu diferenele finiteMfgoalattain,fminconfminimax, fminunc,
fseminf, fsolve,
lsqcurvefit,
sqnonlin
DiagnosticsAfieaz informaii tip diagnostic despre funciile ce urmeaz s fie minimizate ori rezolvateAToate fminbnd,
fminsearch, fzero, lsqnonneg
DiffMaxChangeVariaia maxim n valoarea variabilelor pentru diferene finiteMfgoalattain, fmincon,fminimax, fminunc,fseminf, fsolve,lsqcurvefit, lsqnonlin
DiffMinChangeVariaia minim n valoarea variabilelor pentru diferene finiteMfgoalattain, fmincon,fminimax, fminunc,fseminf, fsolve,lsqcurvefit, lsqnonlin
DisplayDac valoare este off, nu se prezint ieirile, daca este iter se afieaz dup fiecare iteraie, dac este final se afieaz doar la final iar dac este notify, se afieaz doar dac funcia nu convergeBToate
GoalsExactAchieveNumarul de inte care trebuiesc atinse exactMfgoalattain
GradConstrGradientul pentru constrngeri neliniareMfgoalattain, fmincon,
fminimax
GradObjGradientul pentru functia obiectiv definit de utilizatorBfgoalattain, fmincon, fminimax, fminunc, fseminf
HessianDac se seteaz on funcia folosete hessianul ori informaii despre (HessMult) el pentru funcia obiectiv. Dac se seteaz off hessianul se aproximeaz prin diferene finite.Lfmincon, fminunc
HessMultFuncia multiplicativ hessian definit de utilizatorLfmincon, fminunc,
quadprog
HessPatternModelul tip matrice rarsparsity- a hessianului n varianta diferene finite. Dimensiunea este , unde n este numarul de elemente din x0, punctul de start.Lfsolve, lsqcurvefit,
lsqnonlin
JacobianDac se seteaz on funcia folosete jacobianul ori informaii despre (JacobMult) el pentru funcia obiectiv. Dac se seteaz off jacobianul se aproximeaz prin diferene finite.Lfsolve, lsqcurvefit,
lsqnonlin
JacobMultFuncia multiplicativ jacobian definit de utilizatorLfsolve, lsqcurvefit,
lsqlin, lsqnonlin
JacobPatternModelul tip matrice rarsparsity- a jacobianului n varianta diferene finite. Dimensiunea este , unde n este numarul de elemente din x0, punctul de start.Lfsolve, lsqcurvefit,
lsqnonlin
LargeScaleFolosete algoritmul tip large-scaleBfmincon, fminunc, fsolve,linprog, lsqcurvefit, lsqlin, lsqnonlin, quadprog
LevenbergMarquardtAlege alg Levenberg-Marquardt n loc de Gauss-NewtonMlsqcurvefit, lsqnonlin
LineSearchTipeAlege algoritmul line-searchMfminunc, fsolve,
lsqcurvefit,lsqnonlin
MaxFunEvalsNr maxim de funcii evaluateBfgoalattain,fminbnd,
fmincon, fminimax,
fminsearch, fminunc,fseminf, fsolve,lsqcurvefit, lsqnonlin
MaxIterNumarul maxim de iteraiiBToate cu excepia fzero i lsqnonneg
MaxPCGIterNumarul max de iteraii ale PCGLfmincon, fminunc, fsolve, lsqcurvefit, lsqlin, lsqnonlin, quadprog
MeritFunctionFolosete functia merit-multiobiectiv n detrimentul celei cu un singur obiectiv fminconMfgoalattain, fminimax
MinAbsMaxNumarul de pt a min cel mai dificil caz n valoare absolutMfminimax
NonlEqnAlgorithmAlege alg L-M sau G-N in loc de trust-region algMfsolve
PrecondBandWidthLimita superioara a preconditionarii pentru PCGLfmincon, fminunc, fsolve,lsqcurvefit, lsqlin,lsqnonlin, quadprog
TolConncheierea toleranei pentru depairea constrngeriiBfgoalattain,fmincon,fminimax, fseminf
TolFunncheierea toleranei pentru valorile funcieiBfgoalattain,fminconfminimax,
fminsearch,
fminunc, fseminf, fsolve,
linprog (large-scale only),
lsqcurvefit,
lsqlin (large-scale only),
lsqnonlin,
quadprog (large-scale only)
TolPCGncheierea toleranei pentru iteraia PCGLfmincon, fminunc, fsolve,
lsqcurvefit, lsqlin,
lsqnonlin, quadprog
TolXncheierea toleranei pentru xBToate funciile cu excepiamedium-scale algorithms linprog, lsqlin i quadprog
TypicalXValorile tipice pentru x. Lungimea vectorului este egal cu murul de elemente din punctul de start x0.Lfmincon, fminunc, fsolve,lsqcurvefit, lsqlin,lsqnonlin, quadprog
PREZENTAREA FUNCIILOR CARE REALIZEAZ MINIMIZARI1. fgoalattain
Scop: rezolv probleme de optimizare multiobiectiv de tip atingerea intei -goal attainment-
aa nct
unde x, weight, goal, b, beq, lb, i ub sunt vectori, A si Aeq sunt matrici,iar c(x),ceq(x),F(x) sunt funcii care returneaz vectori. F(x), c(x), i ceq(x)pot fi funcii neliniare.Sintaxa:
Descriere: fgoalattain rezolv proble de minimizare de tip multiobiectiv.
x = fgoalattain(fun,x0,goal,weight) face ca funcia obiectiv fun- s ating obiectivul prin mofificarea lui x , pornind de la valoare de start x0, modificarea fiind weightx = fgoalattain(fun,x0,goal,weight,A,b) rezolv problema daca e supus la inegalitil liniare de tip
x = fgoalattain(fun,x0,goal,weight,A,b,Aeq,beq) rezolv problema daca e supus la un sistem de ecuaii liniare . Seteaz dac nu exist inegaliti.x = fgoalattain(fun,x0,goal,weight,A,b,Aeq,beq,lb,ub) problema definete limitele superioare i inferioare ale variabilelor de optimizare, asa nct soluia este de tipul
EMBED Equation.3
EMBED Equation.3 x = fgoalattain(fun,x0,goal,weight,A,b,Aeq,beq,lb,ub,nonlcon) problema este supus la inecuaii neliniare c(x) sau ecuaii neliniare ceq(x) definite n nonlcon. Funcia optimizeaz aa nct . Se seteaz dac nu exist limite specificate variabilelor.
x = fgoalattain(fun,x0,goal,weight,A,b,Aeq,beq,lb,ub,nonlcon,...options,P1,P2,)
transfer problema dependent de parametrii P1, P2direct funciilor fun, nonlcon. Se seteaz matrici vide n locul A, b, Aeq,beq,lb,ub,nonlcon si options dac aceste argumente nu sunt cerute.[x,fval] = fgoalattain(...) returneaz valorile funciei obiectiv calculate in fun, ca i soluie x[x,fval,attainfactor] = fgoalattain(...) returneaz factorul de atingere, attainment la solutia x
[x,fval,attainfactor,exitflag] = fgoalattain(...) returneaz valoarea exitflag care descrie condiia de oprire a algoritmului
[x,fval,attainfactor,exitflag,output] = fgoalattain(...) returneaz structura output care conine informaii despre optimizare[x,fval,attainfactor,exitflag,output,lambda] = fgoalattain(...) returneaz structura lambda care conine lagrageanul soluiei x
Variabilele de intrarefun: este funcia minimizat, accept un vector x i returneaz un vector F, funcia obiectiv evaluat in x.
x = fgoalattain(@myfun,x0,goal,weight)
unde myfun este o funcie MATLAB
sau fun poate fi un obiect inline
x = fgoalattain(inline('sin(x.*x)'),x0,goal,weight);goal: vector al valorilor pe care functia obiectiv vrem s le ating. Vectorul are aceeasi lungime ca i numarul de obiective coninute F returnate de fun. Functia fgoalattaint minimizeaz valorile n vectorul F pentru a atinge valorile date prin ,goalnonlcon: functia calculeaza constringerile de tip inegalitati neliniar e si constringerile de tip ecuatii neliniare . Functia are ca intrare vectorul x si returneaza doi vectori: c si ceq. Vectorul c contine inecuatiile neliniare evaluate in x iar vectorul ceq ecuatiile neliniare evaluate in x.options se va explica separate, in paragraf dedicat
Argumente de iesire
exitflag descrie conditiile de iesire
>0 functia converge catre solutia x
0 numarul maxim de functii evaluate prin algoritm a fost depasit
top related