Sunteți pe pagina 1din 25

7

METODE DE OPTIMIZARE*
Metodele de optimizare se clasific, n raport cu problema care se pune pentru
funcia int sau scop, astfel:
1. Metode ce determin expresia analitic a funciei, care aproximeaz cel mai bine
o funcie tabelat dat prin puncte;
2. Metode ce determin diferii parametri ai funciei scop (int), pentru a obine un
extrem al funciei.
7.1. METODA CELOR MAI MICI PTRATE
resupunem c a!em o funcie definit printr"un tabel de !alori. #ac tabelul este
obinut n urma unor msurtori fizice, atunci elementele lui pot a!ea erori. $lementele
care difer mult de celelalte pot fi eliminate. roblema care se pune este s determinm
funcia analitic care aproximeaz cel mai bine datele din tabel sau curba care trece
prin punctele tabelului.
%onsiderm c funcia tabelat poate fi aproximat cu funcia: ( ) y f x
.
#eoarece funcia tabelat este cunoscut numai n anumite puncte, n numr de m, n
aceste puncte a!em urmtoarele erori:
( )
( )
( )
e y y y f x
e y y y f x
e y y y f x
m m m m m
1 1 1 1 1
2 2 2 2 2



'


(&.1)
care ar putea fi calculate dac am cunoa'te funcia ( ) y f x
.
entru determinarea funciei, !om anticipa nt(i o funcie care s se asemene foarte
mult cu curba realizat cu punctele tabelului. )ceast funcie poate fi: liniar,
*iperbolic, lo+aritmic, exponenial +eometric, tri+onometric etc.
)l doilea pas este determinarea funciei din condiiile ca suma abaterilor:
,,,,,,,,,,,,,,,,
-)
.iblio+rafie: /&0, /110,/120,/230
Metode n electronic
e =
( )
y y
i i
i=
m

1

(&.2)
s fie minim.
4n cazul unei drepte dat prin dou puncte, abaterea (&.2) este nul pentru toate dreptele
ce trec prin mi5locul se+mentului format de cele dou puncte. %a urmare problema nu
este unic determinat. )ceast problem se elimin dac considerm !aloarea absolut
a erorilor:
e y y
i
i
i=
m

1

(&.2a)
6ncon!enientul n cazul formulei (&.2a) l prezint funcia !aloare absolut care nu are
deri!at n punctele n care se anuleaz funcia. entru eliminarea acestor incon!eniente
s"a trecut la suma ptratelor erorilor, pe care o notm cu E.

( ) E y y
i i
i=
m

1
2

(&.7)
Metoda de optimizare a primit denumirea de metoda celor mai mici ptrate, conform
formulei (&.7) pentru c determin funcia ( ) y f x
pentru eroarea maxim 'i mai
poart denumirea 'i de regresie deoarece problema este de deducere a funciei
cunosc(nd !alorile ei ntr"un anumit numr de puncte.
7.1.1. REGRESIA LINIAR
8e consider funcia tabelat:
Tabelul 7.1
x x
1
x
2
x
7
x
1
9.. x
m
y
y
1
y
2
y
7
y
1
9..
y
m

unde m reprezint numrul de msurtori sau de !alori ale funciei. 8e cere s se
determine funcia liniar de forma +eneral

y ax b +

(&.1)
care s aproximeze cel mai bine funcia tabelat (tabelul &.1) asfel ca eroarea:
( )
2
1

+
m
i=
i i
y b ax E
(&.2)
s fie minim. :ecunoscutele a 'i b se determin din condiia de minim a lui E care
se realizeaz pentru anularea deri!atelor pariale n raport cu a 'i b ale lui E:
11;
Metode de optimizare

( ) ( )
( ) ( )

'

+
+

3 2
3 1 2
1
1
i
m
i=
i i
m
i=
i i
x y b ax
a
E
y b ax
a
E

(&.<)
=ezult sistemul n necunoscutele a 'i b :

m b+ x a= y
x b+ x a= x y
i
i=
m
i
i=
m
i
i=
m
i
i=
m
i i
i=
m

_
,

_
,

_
,

'



1 1
1
2
1 1
(&.&)
8oluiile sistemului liniar (&.&) n a 'i b sunt:

b
x y x x y
m x x
i
i=
m
i
i=
m
i
i=
m
i i
i=
m
i
i=
m
i
i=
m

_
,



2
1 1 1 1
2
1 1
2
(&.>)

a
m x y x y
m x x
i i
i=
m
i
i=
m
i
i=
m
i
i=
m
i
i=
m

_
,



1 1 1
2
1 1
2
(&.;)
:umitorii expresiilor lui a 'i b se anuleaz numai dac
x
i
sunt identice, caz
exclus.
4nlocuind !alorile lui a 'i b n ecuaia (&.1) a!em funcia liniar care aproximeaz
cel mai bine funcia tabelat dat (&.1).
123
Metode n electronic
7.1.1.1. Algoritm 7.1. Regresia liiar!
!ariabile
x"abscisele func#iei$%ector&
y"ordonatele func#iei$%ector&
m" numrul experien#elor$ ntreg&
sx" %ariabila pentru suma absciselor$ real&
sy" %ariabila pentru suma ordonatelor$ real&
sxx"%ariabila pentru sumele de forma x
'
$ real&
sxy" %ariabila pentru sumele de forma xy$ real&
a"coeficientul lui x$ real&
b" termenul liber$ real&
i" contor$ ntreg&

s
x
= (& s
y
= (& s
xy
= (& s
xx
= (&
pentru i = 1... m

calculeaz s
x
= s
x
+x
i
&
calculeaz s
y
= s
y
+y
i
&
calculeaz s
xy
= s
xy
+x
i
)y
i
&
calculeaz s
xx
= s
xx
+x
i
)x
i
&
*
calculeaz a =
m s +s s
m s +s s
&
xy x y
xx x x


calculeaz b =
s s +s s
m s +s s
xx y x xy
xx x x


;
*
,unc#ia este y = ax +b&
*
7.1.1.". Im#lemetarea algoritm$l$i 7.1
-),unc#ia ce implementeaz regresia liniar )-
%oid .eg/in0int nrp$
double x12$
double y12$
double )coef1$
double )coef'3

double sx=($sy=($sxx=($sxy=(&
int i&
for 0i=1&i4=nrp&i++3

121
Metode de optimizare
sx+=x1i2&
sy+=y1i2&
sxy+=x1i2)y1i2&
sxx+=x1i2)x1i2&
*
)coef1=0nrp)sxy+sx)sy3-0nrp)sxx+sx)sx3&
)coef'=0sy)sxx+sx)sxy3-0nrp)sxx+sx)sx3&
*
7.1.". REGRESIA POLINOMIAL
#ac re+resia liniar nu este satisfctoare se caut o funcie polinom de un anumit
+rad (2, 7, 19n).
?ie funcia dat n tabelul (&.1). %onsiderm c reprezentarea +rafic a acestei
funcii se aseamn foarte mult cu curba unui polinom de +radul n de forma:
y a x a x ...... a x a
n
n
n
n
+ + + +

1
1
1 3

(&.13)
:otm cu
y
i
expresia:

y
i
= a x a x ... a x a
n i
n
n+ i
n+
i
+ + + +
1
1
1 3

(&.11)
8e minimizeaz funcia int:
$ @
( )
y a x +a x ... a x a
i n i
n
n+ i
n+
i
i=
m

1
1
1 3
1
2
(&.12)
unde m reprezint numrul de !alori ale funciei tabelate.
:ecunoscutele sunt: a
n
$ a
n+1
$...$ a
(
.
(&.17)
8e deri!eaz n raport cu necunoscutele (&.17) 'i se obine sistemul:
122
Metode n electronic
ma x a x a x a x a y
x a x a x a x a x
i
i=
m
i
i=
m
i
5
i=
m
5 i
n
i=
m
n i
i
i=
m
i
i=
m
i
i=
m
i
5+
i=
m
5 i
n+
i=
m
3
1
1
2
1
2
1 1
1
3
2
1
1
7
1
2
1
1
1
1
+

_
,
+

_
,
+ +

_
,
+ +

_
,

_
,
+

_
,
+

_
,
+ +

_
,
+ +

_
,
+

_
,
+

_
,
+ +

_
,
+ +

_
,


a x y
x a x a x a x a x a x y
6666666666666666666666666666666666666666
n i i
i
p
i=
m
i
p+
i=
m
i
p+
i=
m
i
p+5
i=
m
5 i
p+n
i=
m
n i
p
i
1
3
1
1
1
2
1
2
1 1

6666666666666
x a x a x a x a x a x y
i
n
i=
m
i
n+
i=
m
i
n+
i=
m
i
n+5
i=
m
5 i
n
i=
m
n i
n
i
1
3
1
1
1
2
1
2
1
2
1

_
,
+

_
,
+

_
,
+ +

_
,
+ +

_
,

'


(&.11)
8istemul obinut este un sistem liniar n necunoscutele a
(
$ a
1
$ a
'
.$...$ a
n
'i se
rezol! cu una dintre metodele cunoscute n capitolul 7.
7.1.".1. Algoritm$l 7.".Meto%a #oliomial!
!ariabile
7" abscisele func#iei$ %ector&
8" ordonatele func#iei$ %ector&
m" numrul de puncte cunoscute ale func#iei$ ntreg&
n" gradul polinomului$ ntreg&

pentru i = 1. ... n+1

91i2 = (&
pentru : = 1$....$n+1 ;1i2 = (
*
pentru i = 1. ... n+1

pentru 5 = 1. ... m calculeaz 91i2 = 91i2+ y


5
)po<0x
5
$ i+13&
pentru : = 1$....$n+1
pentru 5 = 1. ... m calculeaz ;1i$:2 = ;1i$:2+ po<0x
5
$ i+:+'3&
*
Metoda6.ez6=ist.0n+1$;$9$=ol3& 0)se rezol% sistemul)3
*
coeficien#ii polinomului sunt =ol&
*
7.1.".". Im#lemetarea algoritm$l$i 7."
127
Metode de optimizare
-) ,unc#ia ntoarce"
( dac gradul polinomului este mai mare ca numrul de puncte
1 n caz de succes
)-
int .eg>ol0int nrp$
double xx12$
double yy12$
int grdp$
double coef123

static double mat1?rMax21?rMax2$b1?rMax2&


int i$:$5$putere&
if 0nrp4=grdp3 return (&
for0i=1&i4=grdp+1&i++3
for0:=1&:4=grdp+1&:++3

mat1i21:2=(&
putere=i+:+'&
for05=1&54=nrp&5++3mat1i21:2+=po<0xx152$putere3&
*
for0i=1&i4=grdp+1&i++3

b1i2=(&
putere=i+1&
for05=1&54=nrp&5++3b1i2=b1i2+yy152)po<0xx152$putere3&
*
@;A==0grdp+1$mat$b$coef3&
return 1&
*
7.1.&. REGRESIA 'IPER(OLIC
?ie funcia numeric dat n tabelul &.1. =eprezentarea +rafic prin puncte a acestei
funcii se aseamn foarte bine cu o funcie *iperbolic. 8e pune problema determinrii
funciei *iperbolice
y
ax+b

1
(&.12)
care aproximeaz cel mai bine funcia numeric. entru comoditatea calculului se
in!erseaz funcia *iperbolic 'i se construie'te funcia eroare:
E
y
ax b
i
i
i=
m

_
,

1
1
2
(&.1<)
rin deri!are n raport cu a 'i dup aceea cu b se obine sistemul liniar:
121
Metode n electronic

mb+ x a=
y
x b+ x a=
x
y
i
i=
m
i
i=
m
i
i=
m
i
i=
m
i
i
i=
m
1 1
1
2
1 1
1

_
,

_
,

_
,

'

(&.1&)
8oluiile sistemului (&.1&) sunt:
a
x
y
m
x
y
x m x
i
i=
m
i i=
m
i
i i=
m
i
i=
m
i
i=
m

_
,



1 1 1
1
2
2
1
1
(&.1>)
b
y
x
x
y
x
m x x
i=
m
i
i
i=
m
i
i
i
i=
m
i=
m
i
i=
m
i
i=
m

_
,



1
2
1 1 1
2
1 1
2
1

(&.1;)
4nlocuim !alorile lui a 'i b n funcia *iperbolic (&.12) 'i se obine funcia care
aproximeaz cel mai bine funcia numeric din tabelul &.1.
7.1.&.1. Algoritm 7.&. Regresia )i#er*oli+!
!ariabile
x"abscisele func#iei numerice$ real&
y"ordonatele func#iei numerice$ real&
m" numrul experien#elor$ ntreg&
s
x"
%ariabila ce con#ine sumele absciselor$ real&
s
y
" %ariabila ce con#ine suma in%erselor ordonatelor$ real&
s
xx
"%ariabila ce con#ine ptratul absciselor$ real&
s
xy
" %ariabila ce con#ine suma raportului dintre abscise Bi ordonate$
real&
a$b"coeficien#ii func#iei Ciperbolice$ real&
i" contor$ ntreg&

s
x
= (& s
y
= (& s
xy
= (& s
xx
= (&
pentru i = 1... m

calculeaz s
x
= s
x
+x
i
&
calculeaz s
y
= s
y
+
1
y
i
&
122
Metode de optimizare
calculeaz s
xy
= s
xy
+
x
y
i
i
&
calculeaz s
xx
= s
xx
+x
i
)x
i
&
*
calculeaz a =
s s +m s
m s +s s
&
x y xy
xx x x


calculeaz b =


s s +s s
m s +s s
&
xx y xy x
xx x x
,unc#ia este y
ax+b

1
&
*
7.1.&.". Im#lemetarea algoritm$l$i 7.&
A- =e+resia *iperbolic -A
ro+ramul principal poate fi realizat
de ctre cititor ca un exerciiu. 4n continuare este dat funcia:
-) ,unc#ia ce implementeaz regresia Ciperbolic )-
%oid .egDip0int nrp$
double )x$
double )y$
double )coef1$
double )coef'3

double sx=($sy=($sxx=($sxy=(&
int i&
for 0i=1&i4=nrp&i++3

sx+=x1i2&
sy+=1-y1i2&
sxy+=x1i2-y1i2&
sxx+=x1i2)x1i2&
*
)coef1=0nrp)sxy+sx)sy3-0nrp)sxx+sx)sx3&
)coef'=0sy)sxx+sx)sxy3-0nrp)sxx+sx)sx3&
*
7.1.,. REGRESIA E-PONEN.IAL
12<
Metode n electronic
8e constat c funcia numeric din tabelul &.1 reprezentat +rafic, se aseamn
foarte mult cu o exponenial. %onsiderm funcia exponenial de forma +eneral:
y=a b
x
(&.23)
n care a 'i b sunt constante poziti!e.
entru un calcul comod al constantelor a 'i b se lo+aritmeaz funcia (&.23)

y a x b + ln ln

(&.21)
'i se determin constantele asfel ca eroarea:
( )
2
1
ln ln ln


m
i=
i i
y b a+x E
(&.22)
s fie minim.
rin deri!area parial a funciei E n raport cu a 'i b se obine urmtorul
sistem:

'

,
_

,
_

,
_



m
i=
i i
m
i=
i
m
i=
i
m
i=
i
m
i=
i
y x b= x a+ x
y b= x a+ m
1 1
2
1
1 1
ln ln ln
ln ln ln

(&.27)
8oluiile sistemului obinut (&.27) sunt:
a
y x x y x
m x x
i
i=
m
i i i
i=
m
i
i=
m
i
i=
m
i
i=
m

1
]
1
1

_
,

1
]
1
1

'



exp
ln ln
1
2
1 1
2
1 1
2

(&.21)
b
m x y x y
m x x
i i i i
i=
m
i=
m
i=
m
i
i=
m
i
i=
m

1
]
1

_
,

1
]
1
1

'



exp
ln ln
1 1 1
2
1 1
2

(&.22)
7.1.,.1. Algoritm 7.,. Regresia e/#oe0ial!
!ariabile
12&
Metode de optimizare
x"abscisele func#iei numerice$ real&
y"ordonatele func#iei numerice$ real&
m" numrul absciselor func#iei$ ntreg&
s
x"
%ariabil a sumei absciselor$ real&
s
xx
" %ariabil a sumei ptratelor absciselor$ real&
s
ln y
" %ariabil a sumei logaritmilor din ordonate$ real&
s
xln y
"%ariabil a sumei absciselor nmul#ite cu logaritmul ordonatelor$
real&

s
x
= (& s
ln y
= (& s
xln y
= (& s
xx
= (&
pentru i = 1... m

calculeaz s
x
= s
x
+x
i
&
calculeaz s
xx
= s
xx
+x
i
)x
i
&
calculeaz s
lny
= s
lny
+ln y
i
&
calculeaz s
xln y
= s
xln y
+ x
i
ln y
i
&
*
calculeaz a =exp
ln ln
s s +s s
m s +s s
&
y xx x x y
xx x x

'


calculeaz b =exp
ln ln
ms +s
m s +s s

x y x y
xx x x

'

&
,unc#ia este y = ab
x
&
*
7.1.,.". Im#lemetarea algoritm$l$i 7.,
-) 0.egresia exponen#ial 3)-
-),unc#ia ce implementeaz regresia exponen#ial )-
%oid .egExp0int nrp$
double x12$
double y12$
double )coef1$
double )coef'3

double sx=($sy=($sxx=($sxy=(&
int i&
for 0i=1&i4=nrp&i++3

sx+=x1i2&
sy+=log0y1i23&
sxy+=x1i2)log0y1i23&
sxx+=x1i2)x1i2&
*
12>
Metode n electronic
)coef'=exp00nrp)sxy+sx)sy3-0nrp)sxx+sx)sx33&
)coef1=exp00sy)sxx+sx)sxy3-0nrp)sxx+sx)sx33&
*
7.1.1. REGRESIA GEOMETRIC
#ac funcia numeric din tabelul &.1 se aseamn cu o funcie de tip +eometric,
!om cuta s determinm funcia de forma:
y ax
b
(&.2<)
care s aproximeze cel mai bine funcia numeric.
8e lo+aritmeaz cel mai bine funcia (&.2<) 'i se construie'te funcia:
( )
2
1
ln ln ln


m
i=
i i
y x a+b E (&.2&)
8e calculeaz !alorile lui a 'i b asfel ca funcia E s fie minim. rin deri!area
parial n raport cu a 'i b a expresiei E 'i e+alarea deri!atelor cu zero se obine
urmtorul sistem n necunoscutele a 'i b:

( )

'

,
_

,
_



m
i=
i i
m
i=
i
m
i=
i
m
i=
i
m
i=
i
y x = x a+b x
y = x a+b m
1
2
1 1
1 1
ln ln ln ln ln
ln ln ln

(&.2>)
=ezol!(nd sistemul se obin urmtoarele !alori pentru a 'i b:
( ) ( ) ( ) ( ) ( )
( ) ( )
a
y x x x y
m x x
i
i=
m
i
i=
m
i
i=
m
i i
i=
m
i
i=
m
i
i=
m

_
,

_
,

_
,

_
,

_
,

_
,



exp
ln ln ln ln ln
ln ln
1
2
1 1 1
2
1 1
2

(&.2;)
( ) ( ) ( ) ( )
( ) ( )
b
m y x x y
m x x
i
i=
m
i i
i=
m
i
i=
m
i
i=
m
i
i=
m

_
,

_
,

_
,

_
,

_
,



ln ln ln ln
ln ln
1 1 1
2
1 1
2

(&.73)
%u aceste !alori funcia y ax
b
aproximeaz cel mai bine funcia tabelat (&.1) care
se aseamn cel mai bine cu o funcie de tip +eometric.
7.1.1.1. Algoritm$l 7.1. Regresia geometri+!
12;
Metode de optimizare
!ariabile
x"abscisele func#iei numerice$ %ector&
y"ordonatele func#iei numerice$ %ector&
m" numrul de abscise$ ntreg&
s
lnx"
%ariabil a sumei logaritmilor absciselor$ real&
s
ln y
" %ariabil a sumei logaritmilor ordonatelor$ real&
s
lnxlny
" %ariabil sumei produsului logaritmilor absciselor Bi a
logaritmilor ordonatelor$ real&
s
lnxlnx"
%ariabila sumei ptratelor logaritmilor absciselor$ real&
a$b" coeficien#ii$ real&
i" contor$ ntreg&

s
lnx
= (& s
ln y
= (& s
lnxlny
= (& s
lnxlnx
= (&
pentru i = 1... m

calculeaz s
lnx
= s
lnx
+ln0x
i
3&
calculeaz s
lnxlnx
= s
lnxlnx
+ln0x
i
3)ln0x
i
3&
calculeaz s
lny
= s
lny
+ln y
i
&
calculeaz s
lnxlny
=s
lnxlny
+ln0x
i
3) ln0y
i
3&
*
calculeaz a =exp
ln ln ln ln ln ln
ln ln ln ln
s s +s s
m s +s s
&
y x x x x y
x x x x

'

calculeaz b =
x x x x
y x y x
s +s s m
s +s s m
ln ln ln ln
ln ln ln ln


&

,unc#ia este y = ax
b
&
*
7.1.1.". Im#lemetarea algoritm$l$i 7.1
-),unc#ia ce implementeaz regresia geometric )-
%oid .eg@eo0int nrp$
double x12$
double y12$
double )coef1$
double )coef'3

double sx=($sy=($sxx=($sxy=(&
int i&
for 0i=1&i4=nrp&i++3

sx+=log0x1i23&
sy+=log0y1i23&
1<3
Metode n electronic
sxy+=log0x1i23)log0y1i23&
sxx+=log0x1i23)log0x1i23&
*
)coef'=0nrp)sxy+sx)sy3-0nrp)sxx+sx)sx3&
)coef1=exp00sy)sxx+sx)sxy3-0nrp)sxx+sx)sx33&
*
7.1.2. REGRESIA TRIGONOMETRIC
8e consider funcia numeric dat n tabelul &.1 'i funcia tri+onometric de forma:

y a b x + cos

(&.71)
care aproximeaz cel mai bine funcia numeric.
8e determin constantele a 'i b asfel ca funcia de a 'i b
( ) E y a+b x
i i
E=
m
cos
2
1

(&.72)
s fie minim.
rin e+alarea cu zero a deri!atelor pariale n raport cu a 'i b ale funciei E se
obine urmtorul sistem n necunoscutele a 'i b :

ma+ x b= y
x a+ x b= y x
i
i=
m
i
i=
m
i
i=
m
i
i=
m
i i
i=
m
cos
cos cos cos


1 1
1
2
1 1

_
,

_
,

_
,

'


(&.77)
8oluiile sistemului (&.72) sunt:

a
y x x y x
m x x
i
i=
m
i
i=
m
i
i=
m
i i
i=
m
i
i=
m
i
i=
m

_
,

_
,

_
,

_
,

_
,

_
,



1
2
1 1 1
2
1 1
2
cos cos cos
cos cos



(&.71)

b
m y x x y
m x x
i i
i=
m
i
i=
m
i
i=
m
i
i=
m
i
i=
m

_
,

_
,

_
,

_
,

_
,



cos cos
cos cos


1 1 1
2
1 1
2

(&.72)


@ 2 @
2


f
T
unde
f
"frec!ena,

" pulsaia, iar T "perioada.

se
stabile'te funcie de periodicitatea funciei numerice date.
1<1
Metode de optimizare
7.1.2.1. Algoritm$l 7.2. Regresia trigoometri+!
!ariabile
x"abscisele func#iei numerice$ %ector&
y"ordonatele func#iei numerice$ %ector&
m" numrul absciselor func#iei numerice$ ntreg&
" pulsa#ia$ real&
s
y
" suma ordonatelor func#iei numerice$ real&
s
cos 'x
" suma ptratelor cosinusurilor din abscise$ real&
s
cos x"
suma cosinusurilor din abscise$ real&
s
ycosx
"suma produsului ordonatelor cu cosinusul absciselor
corespunztoare$ real&
a$b" coeficien#ii func#iei$ real&
i" contor$ ntreg&

s
y
= (& s
cos 'x
= (& s
cos x
= (& s
ycos x
= (&
pentru i = 1... m

calculeaz s
y
= s
y
+ y
i
&
calculeaz s
cos 'x
= s
cos 'x
+ ( )
cos x
i
) ( )
cos x
i
&
calculeaz s
cos x
= s
cos x
+ ( )
cos x
i
&
calculeaz s
ycos x
= s
ycos x
+ y
i) ( )
cos x
i
&
*
calculeaz a =
s s +s s
m s +s s
&
y x x y x
x x x


cos cos cos
cos cos cos
2
2

calculeaz b =
m s +s s
m s +s s
&
y x x y
x x x


cos cos
cos cos cos 2

*
,unc#ia este
( ) f a+b x cos
&
*
7.1.2.". Im#lemetarea algoritm$l$i 7.2
%oid reg6trig0 int n$
double x12$
double y12$
double $<
double )coef1$
double )coef'3

int i&
1<2
Metode n electronic
double sx=($sy=($sxx=($sxy=(&
for0i=1&i4=n&i++3

sx+=cos0<)x1i23&
sy+=y1i2&
sxy+=y1i2)cos0<)x1i23&
sxx+= cos0<)x1i23)cos0<)x1i23&
*
)coef1=0sy)sxx+sx)sxy3-0n)sxx+sx)sx3&
)coef'=0n)sxy+sx)sy3-0n)sxx+sx)sx3&
*
7.1.7. REGRESIA M3LTIPL
)ceast re+resie se refer la funciile de mai multe !ariabile. %onsider(nd o funcie
numeric de n !ariabile
y f x x x
n
( , , .... , )
1 2
'i un tip de funcie analitic de n
!ariabile care se aseamn cu cea numeric, se pune problema determinrii funciei
analitice asfel ca ea s aproximeze cel mai bine funcia numeric. )ceast funcie se
determin prin minimizarea sumei ptratelor erorilor n punctele funciei numerice.
entru exemplificare considerm funcia de dou !ariabile numeric (
x y z , ,
) unde
z g x y ( , )
. 8uprafaa punctelor z se poate asemna cu un plan, *iperboloid de
rotaie, elipsoid de rotaie, cilindru, con etc.
Bom considera funcia numeric dat n fi+ura &.1
O
y
n
y
4
y
3
y
2
y
1
y
x
4
x
3
x
2
x
1 x
m
z
1n
z
2n z
3n
z
4n
z
14
z
m1
z
m2
z
m3
z
m4
z
nm
z
13
z
12
z
11
z
24
z
23
z
22
z
21
z
34
z
33
z
32
z
31
z
44
z
43
z
42
z
41
x
?i+.&.1.=eprezentarea funciei multiple.
%onsiderm c punctele
z z z
n 1 2
, ,...,
se afl aproximati! pe un plan:

F 9y ;x z + +
(&.7<)
8e pune problema determinrii acestui plan, adic a !alorilor constantelor ;$ 9$ F
astfel ca planul s aproximeze cel mai bine funcia numeric dat n tabelul &.2. 8e
construie'te funcia sumelor ptratelor erorilor n punctele reelei:
1<7
Metode de optimizare

( )
E z ;x 9y F
i: i :
:=
n
i=
m

1 1
2

(&.7&)
rin e+alarea deri!atelor pariale ale funciei E n raport cu necunoscutele ;$ 9$ F,
rezult un sistem liniar funcie de aceste necunoscute:

mnF+ x n;+ y m9= z
x nF+ x n;+ x y 9= x z
y mF+ x y ;+ y m9= y
i
i=
m
:
:=
m
i:
:=
n
i=
m
i
i=
m
i
i=
m
i
:=
m
i=
m
: i
:=
n
i=
m
i:
:
:=
n
i
:=
n
i=
m
: :
:=
n
:
:=
n
i=
m
1 1 1 1
1
2
1 1 1 1 1
1 1 1
2
1 1 1


_
,

_
,

_
,

_
,

_
,

_
,

_
,

_
,
z
i:

'

(&.7>)
Ctiliz(nd una dintre metodele numerice de rezol!are a sistemelor liniare din capitolul 7
se determin ;$ 9$ F$ deci planul cutat.
7.1.7.1. Algoritm$l 7.7. Regresia m$lti#l!
!ariabile
x" argumentele pe axa Gx a func#iei numerice$ %ector&
y" argumentele pe axa Gy a func#iei numerice$ %ector&
z" %alorile func#iei numerice$ matrice&
m" numrul de argumente pe Gx$ ntreg &
n" numrul de argumente pe Gy$ ntreg&
s
x "
sumele argumentelor de pe Gx$ real&
s
y
" suma par#ial a argumentelor de pe Gy$ real&
s
xx
" suma par#ial a ptratelor argumentelor x$ real&
s
xy
" suma par#ial a produselor argumentelor$ real&
s
yy
" suma par#ial a ptratelor argumentelor y$ real&
s
z
$s
xz
$s
yz
" sume par#iale ale termenilor liberi ai sistemului&
i" contor$ ntreg&

s
x
= (& s
y
= (& s
xy
= (& s
xx
= (& s
yy
= (& s
xz
=(& s
yz
=( &s
z
=(&
pentru i = 1$...$ m
pentru :=1$..$m
calculeaz s
x
= s
x
+x
i
&
calculeaz s
xx
= s
xx
+x
i
)x
i
&
calculeaz s
y
= s
y
+ y
i
&
calculeaz s
yy
= s
yy
+ y
i
) y
i
&
1<1
Metode n electronic
calculeaz s
xy
= s
xy
+ x
i
)y
i
&
calculeaz s
z
=s
z
+z
i:
& calculeaz s
xz
=s
xz
+x
i
)z
i:
&
calculeaz s
yz
=s
yz
+y
:
)z
i:
&
*
METGH; 0n$m$ s
x
& s
y
& s
xy
& s
xx
& s
yy
$ =G/ 3& -- rezol% sistemul
*
>lanul este z = ;x + 9y + F
*
7.1.7.". Im#lemetarea algoritm$l$i 7.7
-) ,unc#ia ntoarce +1 n caz de eroare ( altfel )-
int reg6mul0 int m$ -) pe Gx )-
int n$ -) pe Gy )-
double x12$
double y12$
double z121?M;72$
double )coef1$
double )coef'$
double )coefI3

int i$:&
double mat1J21J2$ tl1J2$det$det1$det'$detI&
for0i=1&i4=I&i++3

tl1i2=(&
for0:=1&:4=I&:++3 mat1i21:2=(&
*
mat112112=n)m&
for0i=1&i4=m&i++3

mat1121'2+=n)x1i2&
mat1'21'2+=n)x1i2)x1i2&
*
for0:=1&:4=n&:++3

mat1121I2+=m)y1:2&
mat1I21I2+=m)y1:2)y1:2&
*
for 0i=1&i4=m&i++ 3
for0:=1&:4=n&:++3

mat1'21I2+=x1i2)y1:2&
tl112+=z1i21:2&
tl1'2+=x1i2)z1i21:2&
tl1I2+=y1:2)z1i21:2&
*
mat1'2112=mat1121'2&
1<2
Metode de optimizare
mat1I2112=mat1121I2&
mat1I21'2=mat1'21I2&
det=mat112112)mat1'21'2)mat1I21I2+mat1'2112)mat1I21'2)mat112
1I2+
mat1121'2)mat1'21I2)mat1I2112+mat1I2112)mat1'21'2)mat1121I2+
mat112112)mat1I21'2)mat1'21I2+mat1'2112)mat1121'2)mat1I21I2&
if 0det==( 3 return +1&
det1=tl112)mat1'21'2)mat1I21I2+tl1'2)mat1I21'2)mat1121I2+
mat1121'2)mat1'21I2)tl1I2+tl1I2)mat1'21'2)mat1121I2+
tl112)mat1I21'2)mat1'21I2+tl1'2)mat1121'2)mat1I21I2&
det'=mat112112)tl1'2)mat1I21I2+mat1'2112)tl1I2)mat1121I2+
tl112)mat1'21I2)mat1I2112+mat1I2112)tl1'2)mat1121I2+
mat112112)tl1I2)mat1'21I2+mat1'2112)tl112)mat1I21I2&
detI=mat112112)mat1'21'2)tl1I2+mat1'2112)mat1I21'2)tl112+
mat1121'2)tl1'2)mat1I2112+mat1I2112)mat1'21'2)tl112+
mat112112)mat1I21'2)tl1'2+mat1'2112)mat1121'2)tl1I2&
)coef1=det1-det&
)coef'=det'-det&
)coefI=detI-det&
return (&
*
7.". OPTIMIZAREA NELINIAR 4R RESTRIC.II
4n cadrul acestui para+raf !or fi studiate dou metode pentru aflarea minimului
unei funcii de n !ariabile n lipsa relaiilor de restricie. 6n +eneral, problemele de
minimizare sunt cu relaii de restricie, dar aceste probleme pot fi reduse la probleme de
optimizare fr restricii ntr"o serie de aplicaii.
4n condiiile n care nu sunt restricii, funcia int
, 7 , x x x
n
( ) ( , , ..., )
1 2

(&.7;)
care are deri!atele pariale continue, are un minim local ntr"un punct 7
5
dac este
ndeplinit ine+alitatea:
, 7 , 7
5
( ) ( )
(&.13)
pentru orice !ector 7 din !ecintatea lui 7
5
.
#in analiza matematic cunoa'tem condiia necesar pentru ca o funcie , 7 ( ) s
aib un minim ntr"un punct 7 din domeniul de definiie al funciei:
"existena 'i rezol!abilitatea sistemului



,0x3
x
$ i $ $...$n&
i
3 12

(&.11)
"matricea
1<<
Metode n electronic

1
1
1
1
1
1
]
1


2
2
2
2
1
2
1
2
2 1
2
2
1
2

) (
...

) (

) (

) (
...

) (


) (
n
n n
n
x
x ,
x x
x ,
x x
x ,
x x
x ,
x x
x ,
x
x ,
K


(&.12)
s fie poziti! definit.
#intre metodele de optimizare neliniar fr restricii amintim: metode aleatoare de
cutare$ metode de cutare unidirec#ional Bi metode de gradient.
Metodele aleatoare de cutare au la baz o sc*imbare aleatoare a
componentelor !ectorului 7, pentru care se calculeaz !aloarea funciei ,073 'i se
compar cu !aloarea precedent a funciei.
Metodele de cutare unidimensional constau n modificarea succesi! a
componentelor !ectorului 'i compararea !alorilor funciei n punctele respecti!e.
Metodele de gradient efectueaz modificarea simultan a componentelor
!ectorului 7$ n a'a fel nc(t s rezulte o e!oluie a funciei ,073 opus +radientului.
)ceste metode se bazeaz pe +enerarea aleatoare a unor numere ntr"un domeniu
prestabilit.
7.".1. METODE ALEATOARE DE C3TARE
rocesul este iterati! 'i pentru fiecare etap se +enereaz o succesiune de numere
aleatoare a!(nd o densitate de probabilitate uniform n domeniul de !ariaie admis, cu
care se modific componentele !ectorului.
Metoda drumului aleator, una dintre metodele des utilizate, const n modificarea
!ectorului de poziie pentru noul punct astfel:
r 7 7
5 5
+
+

1
(&.17)
unde r este !ectorul unitate care are direcia aleatoare, 7
5
este !ectorul de poziie al
punctului anterior 'i un scalar. 8e calculeaz !aloarea funciei n noul punct 'i se
compar cu !aloarea funciei n !ec*iul punct. #ac, dup un anumit numr de iteraii
!aloarea lui , nu se mic'oreaz, se reduce scalarul p(n ce !aloarea lui de!ine mai
mic dec(t o eroare de calcul dat, er D 3.
7.".1.1. Algoritm$l 7.5. Meto%a %r$m$l$i aleator
1<&
Metode de optimizare
!ariabile
7"%ectorul de pozi#ie al punctului curent&
alfa"scalarul$ real&
er"eroarea de calcul$ real&
sol"sou#ia optimizrii$ real&
i"contor$ ntreg&
minim"minimul dintre %alorile func#iilor$ real&
%alcurent"%aloarea minim curent a func#iei$ real&
xcurent1'2&%aloarea anterioar Bi curent a abscisei punctului$ real&
maxiter"numrul maxim de itera#ii$ ntreg&

maxiter=1(((&
atLta timp cLt 0 alfa(Meps 3
contor=(
minim=,0x(1(2$x(1123&
calculeaz
xcurent1(2=x(1(2+alfa()r&
xcurent112=x(112+alfa()r&
%al6curenta=,0xcurent1(2$xcurent1123&
iNi+1&
*atLta timp cLt 00contor4=maxiter3 Bi 0%alcurentaMminim3 3&
dac 0%alcurenta4minim3

minim=%alcurenta&
x(1(2=xcurent1(2&
x(112=xcurent112&
*
dac 0contorMmaxiter3alfa(+=(.((1&
*
sol1(2=x(1(2&
sol112=x(112&
stop
*
7.".1.". Im#lemetarea algoritm$l$i 7.5
int cutare6aleatoare0 double 0)f30 double$ double3$
double x(12$
double gama($
double eps$
double rez123

double minim$%al6curenta$x6curent1'2&
int contor$maxiter&
maxiter=1(((&
1<>
Metode n electronic
<Cile0 gama(Meps 3
contor=(
minim=f0x(1(2$x(1123&
do
x6curent1(2=x(1(2+gama()rand01(13-1(()po<0+1$rand01(13 O '3&
x6curent112=x(112+gama()rand01(13-1(()po<0+1$rand01(13 O '3&
%al6curenta=f0x6curent1(2$x6curent1123&
contor++&
*<Cile 00contor4=maxiter3 PP 0%al6curentaMminim3 3&
if 0%al6curenta4 +1e1(3 return 1&
if0%al6curenta4minim3
minim=%al6curenta&
x(1(2=x6curent1(2&
x(112=x6curent112&
*
if 0contorMmaxiter3gama(+=(.((1&
*
rez1(2=x(1(2&
rez112=x(112&
return (&
*
7.".". METODA C3TRII 3NIDIMENSIONALE
)ceast metod determin minimul unei funcii , 7 ( ) prin modificarea
componentelor !ectorului 7 pe r(nd, ncep(nd cu prima component. 8e modific prima
component at(ta timp c(t se obine o !aloare mai mic a funciei n punctul curent
dec(t n cel precedent. %(nd aceast condiie nu mai este ndeplinit se trece la
urmtoarea component a !ectorului 7 'i se procedeaz la fel p(n se baleiaz toate
componentele !ectorului consider(nd, n acest caz, c s"a realizat un ciclu. 8e poate
ncepe un nou ciclu lu(nd ca punct iniial minimul obinut. Ea fiecare iteraie se
determin un nou punct funcie de precedentul asfel:
7 7 pas E
5 5 5 +
+
1

(&.11)
unde E
5
reprezint !ectorul E
5
@(3,3, 9,1,9,3), cifra 1 fiind pe locul 5$ 5=($1$
Q$n, iar pas reprezint pasul cu care se modific componentele. #up un ciclu nc*eiat
se trece la un nou ciclu cu !ectorul iniial cel pentru care s"a obinut minimul n ciclul
nc*eiat (precedent), lu(nd un nou pas mai mic, obinut din pasul precedent nmulit cu
o raie subunitar. 8e continu iteraia p(n c(nd pasF sau numrul de iteraii
dep'e'te un numr maxim dat. reprezint eroarea de calcul a punctului de minim.
7.".".1. Algoritm$l 7.6. Meto%a +!$t!rii $i%imesioale
!ariabile
1<;
Metode de optimizare
7"%ectorul coordonetelor punctelor&
pas"pasul de modificare al cooronatelor$ real&
E" maticea unitate de ordinul n ce are pe orizontal %ectorii E
5
&
5"contor$ ntreg&
minimcurent"minimul ob#inut pLn la pasul respecti%$ real&
Maxiter"numrul maxim de itera#ii$ ntreg&
t"%aloare subunitar cu care se multiplic pasul$ real&
p"%aloarea ini#ial a pasului$ real&
Maxiter=1(((&
t=(.1&
repet
pas=p&
minimcurent=,071(2$71123&
pentru 5=1 pLn la n calculeaz
7112=71(2+pas) E
5
&
%alcurent=minimcurent&
p=p)t&
pLn cLnd pas4 er&
*
minimul este %alcurent&
*
7.".".". Im#lemetarea algoritm$l$i 7.6
int cutare6unidimensional0 double 0)f30 double$ double3$
double x(12$
double pas$
double eps$
double rez123

double min6prec$min6curent$min6ant&
int i$nrp$st$dr&
min6curent=f0x(1(2$x(1123&
do

min6ant=min6curent&
for0i=(&i4'&i++3

nrp=(&
st=(&
dr=1&
do

nrp++&
x(1i2+=+st)pas+dr)pas&
min6prec=min6curent&
1&3
Metode n electronic
min6curent=f0x(1(2$x(1123&
if 0 0nrp==13 PP 0min6curentMmin6prec3 3

x(1i2+=')pas&
nrp++&
min6curent=f0x(1(2$x(1123&
st=1&
dr=(&
*
*
<Cile 0 0min6curent4min6prec3 3&
x(1i2+=st)pas+dr)pas&
min6curent=f0x(1(2$x(1123&
*
if 0min6curent4+1e1(3
rez1(2=x(1(2&
rez112=x(112&
return 1&
*
*
<Cile0 fabs0min6ant+min6curent3Meps3&
rez1(2=x(1(2&
rez112=x(112&
return (&
*
7.&. APLICA.II
1.8e dau datele experimentale din tabelul &.2:
Tabelul
7.'.
x
1 2 7 1 2 < & > ;
y
1.11 1.&2> 2.3&7< 2.1>>7 2.;>2; 7.2>71 1.2;;> 2.12;& <.1;1
)naliz(nd rezultatele !edem c funcia are e!oluia unei funcii exponeniale. 8e aplic
pro+ramul pentru re+resia exponenial 'i se obine funcia:
y . 0 . 3
x
12 12
2.8e d funcia:
z x y x y + +
2 2
2 1 7
8 se determine minimul funciei cu metoda drumului aleator, lu(nd punctul de start
(12,71) 'i @ 3.333331 'i cu metoda cutrii unidimensionale lu(nd punctul se start
(13,13) 'i @ 3.331.
%u metoda drumului aleator s"a obinut minimul n punctul (3.;;21>, 1,;;;&>), iar
minimul funciei z
min
@"1.;;;&&.
1&1
Metode de optimizare
)plic(nd metoda cutrii unidimensionale s"a obinut minimul n punctul (1, 2), iar
minimul funciei z
min
@"2.
1&2

S-ar putea să vă placă și

  • Conducerea Automata A Trenurilor
    Conducerea Automata A Trenurilor
    Document15 pagini
    Conducerea Automata A Trenurilor
    Silvia-Andreea
    Încă nu există evaluări
  • Lab 1 Access
    Lab 1 Access
    Document24 pagini
    Lab 1 Access
    Silvia-Andreea
    Încă nu există evaluări
  • 08 Cap6
    08 Cap6
    Document28 pagini
    08 Cap6
    Silvia-Andreea
    Încă nu există evaluări
  • Examen Subiecte Rezolvate
    Examen Subiecte Rezolvate
    Document13 pagini
    Examen Subiecte Rezolvate
    Silvia-Andreea
    Încă nu există evaluări
  • Lab 2 Access
    Lab 2 Access
    Document5 pagini
    Lab 2 Access
    Dan Petrescu
    Încă nu există evaluări
  • 07 Cap5
    07 Cap5
    Document35 pagini
    07 Cap5
    Silvia-Andreea
    Încă nu există evaluări
  • 13 Cap11
    13 Cap11
    Document16 pagini
    13 Cap11
    Silvia-Andreea
    Încă nu există evaluări
  • Sisteme de Dirijare A Traficului Naval - Indrumar de Laborator Politehnica
    Sisteme de Dirijare A Traficului Naval - Indrumar de Laborator Politehnica
    Document90 pagini
    Sisteme de Dirijare A Traficului Naval - Indrumar de Laborator Politehnica
    Mocanu Vicentiu-Adrian
    0% (1)
  • Microsoft Access 2007
    Microsoft Access 2007
    Document27 pagini
    Microsoft Access 2007
    mirellabt
    Încă nu există evaluări
  • Making of Talpa
    Making of Talpa
    Document77 pagini
    Making of Talpa
    Silvia-Andreea
    Încă nu există evaluări
  • 12 Cap10
    12 Cap10
    Document30 pagini
    12 Cap10
    Silvia-Andreea
    Încă nu există evaluări
  • 16 Anexa1
    16 Anexa1
    Document2 pagini
    16 Anexa1
    Silvia-Andreea
    Încă nu există evaluări
  • 05 Cap3
    05 Cap3
    Document41 pagini
    05 Cap3
    Mihaela Abrasu
    Încă nu există evaluări
  • 14 Cap12
    14 Cap12
    Document20 pagini
    14 Cap12
    Silvia-Andreea
    Încă nu există evaluări
  • 11 Cap9
    11 Cap9
    Document7 pagini
    11 Cap9
    Silvia-Andreea
    Încă nu există evaluări
  • 10 Cap8
    10 Cap8
    Document35 pagini
    10 Cap8
    Silvia-Andreea
    Încă nu există evaluări
  • 01 Coperta
    01 Coperta
    Document1 pagină
    01 Coperta
    Andrei Lucian Milea
    Încă nu există evaluări
  • Cap2 - Rezolvarea Numerica A Ecuatiilor Algebrice
    Cap2 - Rezolvarea Numerica A Ecuatiilor Algebrice
    Document32 pagini
    Cap2 - Rezolvarea Numerica A Ecuatiilor Algebrice
    hellenagreen
    Încă nu există evaluări
  • 02 Cuprins
    02 Cuprins
    Document4 pagini
    02 Cuprins
    Silvia-Andreea
    Încă nu există evaluări
  • SApT 006 28nov2012
    SApT 006 28nov2012
    Document12 pagini
    SApT 006 28nov2012
    Silvia-Andreea
    Încă nu există evaluări
  • 06 Cap4
    06 Cap4
    Document10 pagini
    06 Cap4
    Silvia-Andreea
    Încă nu există evaluări
  • 03 Cap1
    03 Cap1
    Document15 pagini
    03 Cap1
    Silvia-Andreea
    Încă nu există evaluări
  • SApT 005 21nov2012
    SApT 005 21nov2012
    Document14 pagini
    SApT 005 21nov2012
    Silvia-Andreea
    Încă nu există evaluări
  • SApT 004 31oct2012
    SApT 004 31oct2012
    Document13 pagini
    SApT 004 31oct2012
    Silvia-Andreea
    Încă nu există evaluări
  • SApT 003 24oct2012
    SApT 003 24oct2012
    Document8 pagini
    SApT 003 24oct2012
    Silvia-Andreea
    Încă nu există evaluări
  • SApT 002 17oct2012
    SApT 002 17oct2012
    Document15 pagini
    SApT 002 17oct2012
    Silvia-Andreea
    Încă nu există evaluări
  • SApT 001 10oct2012
    SApT 001 10oct2012
    Document11 pagini
    SApT 001 10oct2012
    Silvia-Andreea
    Încă nu există evaluări
  • T 7 Traductoare
    T 7 Traductoare
    Document5 pagini
    T 7 Traductoare
    Nicoleta
    Încă nu există evaluări