cursul nr7

Upload: sergiu88tm

Post on 13-Oct-2015

62 views

Category:

Documents


1 download

DESCRIPTION

AOIE

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