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,
constrîngerile, respectiv vectorul fminimax,
corespunzător din partea dreaptă A x b fseminf, linprog,
lsqlin, quadprog
Aeq, beq Matricea Aeq şi vectorul beq sunt coeficienţii fgoalattain,
sistemului liniar de ecuaţii ce exprima fmincon,
restricţiile, respectiv vectorul din partea fminimax,
dreaptă Aeq x beq fseminf, linprog,
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ă f ' x sau din cea pătratică
2
x' H x f ' x
fun Funcţia ce urmează să fie optimizată fgoalattain,
fminbnd,
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ă x ' H x f ' x .
Matricea H trebuie să fie simatrică
lb, ub Vectorii (matricile) limită sus/jos fgoalattain,
-upper/lower fmincon,
Au aceeaşi dimensiune cu x. Dacă lb are mai fminimax,
puţine elemende decît x, să presupunem m, fseminf, linprog,
doar primele m elemente din x vor fi limitate lsqcurvefit,
jos. Variabilele care nu au limite impuse se lsqlin, lsqnonlin,
specifica prin -Inf pentru limita minimă şi Inf quadprog
pentru limita maximă. Astfel daca lb(i)=
-Inf, înseamnă că variabila x (i ) nu are limită
inferioară
nonlcon Funcţia poate considera astfel constrîngerile fgoalattain,
de tip inegalitaţi neliniare ori egalităţi fmincon,
fminimax
3
obiectiv
xdata, Datele de intrare şi datele de ieşire care se lsqcurvefit
ataşează unei ecuaţii
ydata
X0 Punctul de start. Poate fi un scalar, un vector Toate funcţiile mai
sau o matrice puţin
fminbnd
VARIABILE DE IEŞIRE
Funcţii Descriere Se foloseşte la :
attainfacto Factorul de dobîndire al soluţiei x fgoalattain
r
exitflag Condiţia de ieşire TOATE FUNCŢIILE
fval Valoarea funcţiei obiectiv fun pentru soluţia fgoalattain,
x 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
lsqlin,
lsqnonlin,
lsqnonneg
resnorm Valoarea normei pătratice a rezidualului lsqcurvefit,
pentru soluţia x lsqlin,
lsqnonlin,
lsqnonneg
5
dacă funcţia nu converge
GoalsExactAchie Numarul de ţinte care trebuiesc M fgoalattain
ve atinse exact
GradConstr Gradientul pentru constrîngeri M fgoalattain,
neliniare fmincon,
fminimax
GradObj Gradientul pentru functia B fgoalattain,
obiectiv definită de utilizator fmincon, fminimax,
fminunc, 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 n n , 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 n n , 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
LevenbergMarqu Alege alg Levenberg- M lsqcurvefit,
ardt Marquardt în loc de Gauss- lsqnonlin
Newton
LineSearchTipe Alege algoritmul line-search M fminunc, fsolve,
lsqcurvefit,lsqnonlin
MaxFunEvals Nr maxim de funcţii evaluate B fgoalattain,fminbn
6
d,
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,
lsqlin, lsqnonlin,
quadprog
MeritFunction Foloseşte functia merit- M fgoalattain,
multiobiectiv în detrimentul fminimax
celei cu un singur obiectiv
fmincon
MinAbsMax Numarul de F (x ) 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
PrecondBandWid Limita superioara a L fmincon, fminunc,
th preconditionarii pentru PCG fsolve,lsqcurvefit,
lsqlin,lsqnonlin,
quadprog
TolCon Încheierea toleranţei pentru B fgoalattain,fminco
depaşirea constrîngerii n,fminimax,
fseminf
TolFun Încheierea toleranţei pentru B fgoalattain,fminco
valorile funcţiei n
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
7
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
Scop: rezolvă probleme de optimizare multiobiectiv de tip atingerea ţintei -goal
attainment-
aşa încît
8
Descriere: fgoalattain rezolvă proble de minimizare de tip multiobiectiv.
9
transferă problema dependentă de parametrii P1, P2…direct funcţiilor 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 funcţiei obiectiv calculate in fun,
ca şi soluţie x
[x,fval,attainfactor] = fgoalattain(...) returnează factorul de atingere,
attainment la solutia x
[x,fval,attainfactor,exitflag] = fgoalattain(...) returnează valoarea exitflag
care descrie condiţia de oprire a algoritmului
[x,fval,attainfactor,exitflag,output] = fgoalattain(...) returnează structura
output care conţine informaţii despre optimizare
[x,fval,attainfactor,exitflag,output,lambda] = fgoalattain(...) returnează
structura lambda care conţine lagrageanul soluţiei x
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
nonlcon: functia calculeaza constringerile de tip inegalitati neliniar e c( x) 0 si
constringerile de tip ecuatii neliniare ceq 0 . 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
10
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
11
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
12
13