Documente Academic
Documente Profesional
Documente Cultură
1
Funcţii care rezolvă probleme de aproxinare a curbelor –prin metoda celor mai
mici pătrate:
\ se foloseşte acest operator pentru metoda celor mai mici patrate în varianta liniara şi
fără constrîngeri
lsqlin metoda celor mai mici patrate în varianta liniara cu constrîngeri
lsqcurvefit aproximarea curbelor neliniare
lsqnonlin metoda celor mai mici patrate în varianta neliniara
lsqnonneg metoda celor mai mici patrate în varianta liniara şi non-negativă
Funcţii utilitare
fymult înmulţire cu baza fundamentală nenula a spaţiului vectorial
gangstr trasformă în zero elementele suficient de mici ale unor matrici specificate
optimget obţine valorile opţionale optimale ale parametrilor
optimset editează sau crează strcturile opţionale optimale ale parametrilor
Variabilele funcţiilor
Variabilele folosite de funcţiile din toolbox se grupează în două categorii : de intrare
şi de ieşire. În tabelele următor sunt marcate variabilele de intrare şi de ieşire dar şi
descrierea şi funcţiile care le folosesc :
VARIABILE DE INTRARE
Funcţii Descriere Se foloseşte la :
A, b Matricea A şi vectorul b sunt coeficienţii fgoalattain,
sistemului liniar de inecuaţii ce exprimă fmincon, fminimax,
constrîngerile, respectiv vectorul fseminf, linprog,
corespunzător din partea dreaptă lsqlin, quadprog
Aeq, beq Matricea Aeq şi vectorul beq sunt coeficienţii fgoalattain,
sistemului liniar de ecuaţii ce exprima fmincon, fminimax,
restricţiile, respectiv vectorul din partea fseminf, linprog,
dreaptă lsqlin, quadprog
C, d Matricea C şi vectorul d sunt coeficienţii lsqlin, lsqnonneg
sistemului liniar ce trebuie rezolvat, respectiv
vectorul din partea dreaptă
f Vectorul coeficienţilor pentru termenul liniar linprog, quadprog
din ecuaţia liniară sau din cea pătratică
2
fmincon, fminimax,
fminsearch, fminunc,
fseminf, fsolve, fzero,
lsqcurvefit, lsqnonlin
goal Vectorul valorilor pe care funcţia obiectiv se fgoalattain
doreşte să le atingă. El are aceeasi dimensiune
ca şi numarul funcţiilor obiectiv
H Matricea coeficienţilor pentru termenii quadprog
patratici din ecuaţia pătratică .
Matricea H trebuie să fie simatrică
lb, ub Vectorii (matricile) limită sus/jos fgoalattain,
-upper/lower fmincon, fminimax,
Au aceeaşi dimensiune cu x. Dacă lb are mai fseminf, linprog,
puţine elemende decît x, să presupunem m, lsqcurvefit,
doar primele m elemente din x vor fi limitate lsqlin, lsqnonlin,
jos. Variabilele care nu au limite impuse se quadprog
specifica prin -Inf pentru limita minimă şi Inf
pentru limita maximă. Astfel daca lb(i)= -Inf,
înseamnă că variabila nu are limită
inferioară
nonlcon Funcţia poate considera astfel constrîngerile fgoalattain,
de tip inegalitaţi neliniare ori egalităţi fmincon, fminimax
3
minimizată
VARIABILE DE IEŞIRE
Funcţii Descriere Se foloseşte la :
attainfactor Factorul de dobîndire al soluţiei x fgoalattain
exitflag Condiţia de ieşire TOATE FUNCŢIILE
fval Valoarea funcţiei obiectiv fun pentru soluţia xfgoalattain,
fminbnd, fmincon,
fminimax,
fminsearch,
fminunc, fseminf,
fsolve, fzero,
linprog, quadprog
grad Valoarea gardientului pentru fun la soluţia x. fmincon, fminunc
Dacă fun nu poate calcula funcţia gradient, el
se aproximează prin diferenţe finite.
hessian Valoarea hessianului lui fun la soluţia x. fmincon, fminunc
Pentru metodele tip large-scale dacă fun la nu
calculează hessianul, se folosesc diferenţele
finite.
jacobian Valoarea jacobianului lui fun la soluţia x. La lsqcurvefit,
fel, se folosesc diferenţele finite dacă nu se lsqnonlin, fsolve
poate calcula.
lambda Lagrageanul pentru soluţia x. Structura lui fgoalattain,
lambda este diferită pentru variantele de tipuri fmincon,
de restricţii fminimax,
fseminf, linprog,
lsqcurvefit,
lsqlin,
lsqnonlin,
lsqnonneg,
quadprog
maxfval max{fun(x)} la soluţia x fminimax
4
x Soluţia aflată prin funcţia de optimizare. Dacă TOATE FUNCŢIILE
exitflag>0, atunci este o soluţie, altfel x este o
valoarea a rutinei de optimizare care s-a
terminat prematur
5
fseminf
Hessian Dacă se setează on funcţia L fmincon, fminunc
foloseşte hessianul ori
informaţii despre (HessMult)
el pentru funcţia obiectiv. Dacă
se setează off hessianul se
aproximează prin diferenţe
finite.
HessMult Funcţia multiplicativă hessian L fmincon, fminunc,
definită de utilizator quadprog
HessPattern Modelul tip matrice rară– L fsolve, lsqcurvefit,
sparsity- a hessianului în lsqnonlin
varianta diferenţe finite.
Dimensiunea este , unde
n este numarul de elemente din
x0, punctul de start.
Jacobian Dacă se setează on funcţia L fsolve, lsqcurvefit,
foloseşte jacobianul ori lsqnonlin
informaţii despre (JacobMult)
el pentru funcţia obiectiv. Dacă
se setează off jacobianul se
aproximează prin diferenţe
finite.
JacobMult Funcţia multiplicativă jacobian L fsolve, lsqcurvefit,
definită de utilizator lsqlin, lsqnonlin
JacobPattern Modelul tip matrice rară– L fsolve, lsqcurvefit,
sparsity- a jacobianului în lsqnonlin
varianta diferenţe finite.
Dimensiunea este , unde
n este numarul de elemente din
x0, punctul de start.
LargeScale Foloseşte algoritmul tip large- B fmincon, fminunc,
scale fsolve,linprog,
lsqcurvefit, lsqlin,
lsqnonlin, quadprog
LevenbergMarquardt Alege alg Levenberg- M lsqcurvefit, lsqnonlin
Marquardt în loc de Gauss-
Newton
LineSearchTipe Alege algoritmul line-search M fminunc, fsolve,
lsqcurvefit,lsqnonlin
MaxFunEvals Nr maxim de funcţii evaluate B fgoalattain,fminbnd,
fmincon, fminimax,
fminsearch,
fminunc,fseminf,
fsolve,lsqcurvefit,
lsqnonlin
MaxIter Numarul maxim de iteraţii B Toate cu excepţia fzero
şi lsqnonneg
MaxPCGIter Numarul max de iteraţii ale L fmincon, fminunc,
PCG fsolve, lsqcurvefit,
6
lsqlin, lsqnonlin,
quadprog
MeritFunction Foloseşte functia merit- M fgoalattain, fminimax
multiobiectiv în detrimentul
celei cu un singur obiectiv
fmincon
MinAbsMax Numarul de pt a min cel M fminimax
mai dificil caz în valoare
absolută
NonlEqnAlgorithm Alege alg L-M sau G-N in loc M fsolve
de trust-region alg
PrecondBandWidth Limita superioara a L fmincon, fminunc,
preconditionarii pentru PCG fsolve,lsqcurvefit,
lsqlin,lsqnonlin,
quadprog
TolCon Încheierea toleranţei pentru B fgoalattain,fmincon,fmi
depaşirea constrîngerii nimax, fseminf
TolFun Încheierea toleranţei pentru B fgoalattain,fmincon
valorile funcţiei fminimax,
fminsearch,
fminunc, fseminf,
fsolve,
linprog (large-scale
only),
lsqcurvefit,
lsqlin (large-scale
only),
lsqnonlin,
quadprog (large-scale
only)
TolPCG Încheierea toleranţei pentru L fmincon, fminunc,
iteraţia PCG fsolve,
lsqcurvefit, lsqlin,
lsqnonlin, quadprog
TolX Încheierea toleranţei pentru x B Toate funcţiile cu
excepţia
medium-scale
algorithms linprog,
lsqlin şi quadprog
TypicalX Valorile tipice pentru x. L fmincon, fminunc,
Lungimea vectorului este egală fsolve,lsqcurvefit,
cu muărul de elemente din lsqlin,lsqnonlin,
punctul de start x0. quadprog
1. fgoalattain
7
Scop: rezolvă probleme de optimizare multiobiectiv de tip atingerea ţintei -goal
attainment-
aşa încît
unde x, weight, goal, b, beq, lb, şi ub sunt vectori, A si Aeq sunt matrici,iar c(x),ceq(x),
F(x) sunt funcţii care returnează vectori. F(x), c(x), şi ceq(x)pot fi funcţii neliniare.
Sintaxa:
8
x = fgoalattain(fun,x0,goal,weight,A,b,Aeq,beq,lb,ub) problema defineşte limitele
superioare şi inferioare ale variabilelor de optimizare, asa încît soluţia este de tipul
Variabilele de intrare
fun : este funcţia minimizată, acceptă un vector x şi returnează un vector F, funcţia
obiectiv evaluată in x.
x = fgoalattain(@myfun,x0,goal,weight)
unde myfun este o funcţie 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 conţinute F returnate de fun. Functia
fgoalattaint minimizează valorile în vectorul F pentru a atinge valorile date prin ,goal
9
nonlcon: 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
<0 functia nu converge catre o solutie
lambda contine lagrangeanul pentru solutia x. Structura este:
lower limita inferioara lb
upper limita superioara ub
ineqlin inecuatii liniare
eqlin ecuatii liniare
ineqnonlin inecuatii neliniare
eqnonlin ecuatii neliniare
maxfval maximul valorilor functiei evaluate la solutia x maxfval = max{fun(x)}.
output contine informatii despre optimizare, avind structura:
iterations numarul de iteratii considerate
funcCount numarul evaluarilor functiei.
algorithm algoritm folosit
10
DiffMinChange schimbarile minime acceptate in variabile pentru diferente
finite
Display tipurile afisarii 'off' nu se afiseaza iesirea; 'iter' se afiseaza iesirea dupa
fiecare iteratie; 'final' se afiseaza doar iesirea finala.
GradConstr gradientul pentru constringerile definite de utilizator
GradObj gardientul pentru functia obiectiv definite de utilizator. Se foloseste
la aplicatiile de tip large scale si este optionala folosirea la cele standard,
medium scale
MaxFunEvals numarul maxim permis pentru evaluarile functiei
MaxIter numarul maxim permis pentru iteratii
MeritFunction se foloseste daca este cazul functiilor multiobiectiv, s-a setat
'multiobj'. Se foloseste fmincon merit function daca este cazul unei singure
functii obiectiv si s-a setat 'singleobj'.
MinAbsMax Numarul de F(x) pentru a minimiza cel mai defavorabil caz-
valori absulute
TolCon limita tolerantei pentru incalcarea constringerilor
TolFun limita tolerantei pentru valorile functiei
TolX limita tolerantei pentru x
11
Apoi se apeleaza rutina de optimizare, de tip minimax:
12