Documente Academic
Documente Profesional
Documente Cultură
Lucrari Labor TO
Lucrari Labor TO
[x , x ] .
1
Display fixeaz nivelul prezentrii. Acesta poate fi: off n cazul n care
nu dorim informaii suplimentare, iter n cazul n care urmrim evoluia
procesului iterativ, final caz n care este prezentat numai evoluia final
2)
3)
f ( x ) = x (1 x ) .
Se caut punctul de minim situat n intervalul [0,10]. Pentru nceput,
realizm o m-funcie asociat funciei impuse pe care o definim f1.
function y=f1(x)
y=-x.*(1-x);
f(x)
Procedure
3.81966
10.7701
initial
6.18034
32.0163
golden
2.36068
3.21213
golden
0.5
-0.25
7
parabolic
0.5
-0.25
parabolic
0.5
-0.25
parabolic
current
satisfies
the
termination
criteria
using
OPTIONS.TolX of 1.000000e-012
x =
0.5000
Func-count
min f(x)
Procedure
90
initial
72
expand
42
expand
expand
10
reflect
12
contract inside
46
103
-0.25
shrink
47
106
-0.25
shrink
...
current
satisfies
the
termination
criteria
using
OPTIONS.TolX of 1.000000e-012
and
F(X)
satisfies
the
convergence
OPTIONS.TolFun of 1.000000e-008
xm =
0.5000
8
criteria
using
0
-0.5
-1
-1.5
-2
-2.5
-3
2
1.5
2
1.5
0.5
x2
0.5
0
x1
Func-count
min f(x)
Procedure
-0.0005
initial
-0.0015
expand
-0.0015
reflect
91
191
-2.59808
shrink
92
192
-2.59808
reflect
93
196
-2.59808
shrink
...
current
satisfies
the
termination
criteria
using
OPTIONS.TolX of 1.000000e-012
and
F(X)
satisfies
the
convergence
criteria
using
OPTIONS.TolFun of 1.000000e-008
3. Chestiuni de studiat
Funcie
Interval
1.388 x
+ 2.235 e
0.6398 x
[-3;3]
[-3;3]
[-3;3]
[-2;2]
[-2;2]
Lucrare de laborator
(1)
(2)
k = ak + ( bk-ak)
(3)
cu (0,1) i
bk +1 a k +1
=
bk a k
ii)
, (0,1)
(4)
ak+1
ak+1
k+1
k+1
bk
bk+1
(5)
a k + (1 ) ( bk a k ) + (1 ) ( bk a k ) = a k + (bk a k )
(6)
2 + 1 = 0 .
(7)
5 1
(0,1) .
2
5 1
0.618 .
2
de optim este situat n intervalul [ak,bk]. Dac nu, n ipoteza c f(k) f(k),
trecem la pasul 2, iar dac f(k) < f(k) trecem la pasul 3.
Pasul 2. Considerm ak+1 = k , bk+1 = bk , k+1 = k i k+1 = ak+1 +
b1 a1 b2 a 2
bn +1 a n +1
=n
bn a n
(8)
prin urmare:
bn +1 a n +1
=n.
b1 a1
(9)
3
.
4
ak
bk
bk a k
f ( k )
f ( k )
-3.0000
3.0000
6.0000
0.7933
2.2098
-3.0000
0.7082
3.7082
1.9242
0.7933
-1.5836
0.7082
2.2918
0.7933
0.8608
-1.5836
-0.1672
1.4164
1.0444
0.7933
-1.0426
-0.1672
0.8754
0.7933
0.7500
-0.7082
-0.1672
0.5410
0.7500
0.7659
-0.7082
-0.3738
0.3344
0.7565
0.7500
-0.5805
-0.3738
0.2067
0.7500
0.7522
-0.5805
-0.4528
0.1277
0.7510
0.7500
10
-0.5317
-0.4528
0.0789
0.7500
0.7503
11
-0.5317
-0.4829
0.0488
0.7502
0.7500
12
-0.5131
-0.4829
0.0301
0.7500
0.7500
13
-0.5131
-0.4944
0.0186
0.7500
0.7500
14
-0.5060
-0.4944
0.0115
0.7500
0.7500
15
-0.5016
-0.4944
0.0071
0.7500
0.7500
16
-0.5016
-0.4972
0.0044
0.7500
0.7500
17
-0.5016
-0.4988
0.0027
0.7500
0.7500
18
-0.5005
-0.4988
0.0017
0.7500
0.7500
19
-0.5005
-0.4995
0.0010
0.7500
0.7500
20
-0.5005
-0.4999
0.0006
0.7500
0.75
1.0000
2.0000
3.0000
4.0000
timp
11.1460
16.0230
21.0300
25.0360
3. Chestiuni de studiat
Funcie
Interval de
incertitudine
iniial
Valoare
de
minim
Minim
f ( x ) = x 4 + x3 + 5 x 2 + x + 2
[-3;3]
-0.1027
1.9491
f ( x ) = 5 x + x + 16
[-4;4]
-0.1
15.95
f ( x ) = sin( x ) cos( x )
[-2;2]
-0.7854
-1.4142
f ( x ) = e cos( x ) 5 sin( x )
[-7;-3]
-4.9112
-5.0917
[-3;4]
0.3889
-0.2086
f ( x ) = x x cos( x )
17
Lucrare de laborator
1. Scopul lucrrii
2. Prezentarea lucrrii
ba
, caz n care, n cadrul fiecrei
2
ba
ba
i =
+
2
2
(1)
Etapa de baz. Pasul 1. Dac bk-ak < , algoritmul se oprete, iar minimul
se gsete undeva n intervalul [ak;bk]. Dac nu, atunci se calculeaz:
k =
a k + bk
a + bk
, k = k
+ i se trece la pasul 2.
2
2
i deci:
bk +1 a k +1 =
1
1
(b1 a1 ) + 2 (1 k )
k
2
2
bn +1 an +1 =
1
1
(b1 a1 ) + 2 (1 n ) <
n
2
2
(2)
f ( x) = x 2 + x + 1
i a fost nscris ca fiier cu extensia .m. Pentru a simula cazul unei funcii
de calitate mult mai complexe i care necesit un timp de calcul mai mare,
s-a forat o pauz de 1 secund care determin un timp relativ mare pentru
evaluarea funciei.
Soluia de optim este evident
1
3
xopt = , y opt = .
2
4
Aplicm
14
12
f(x)
10
8
6
x=-0.5
punct de minim
4
2
0
-3
-2
-1 -0.5 0
ak
bk
bk a k
1.0000
-30.0000
30.0000
60.0000
2.0000
-30.0000
0.0001
30.0001
3.0000
-15.0001
0.0001
15.0002
4.0000
-7.5001
0.0001
7.5002
5.0000
-3.7501
0.0001
3.7502
6.0000
-1.8751
0.0001
1.8752
7.0000
-0.9376
0.0001
0.9377
8.0000
-0.9376
-0.4686
0.4689
9.0000
-0.7032
-0.4686
0.2346
10.0000
-0.5860
-0.4686
0.1174
11.0000
-0.5274
-0.4686
0.0588
12.0000
-0.5274
-0.4979
0.0295
13.0000
-0.5128
-0.4979
0.0148
14.0000
-0.5055
-0.4979
0.0075
3. Chestiuni de studiat
Se consider ca funcie obiectiv una dintre funciile prezentate n tabelul de
mai jos (funcia va fi impus de conductorul lucrrii):
Nr.
Crt.
Funcie
Interval de
incertitudine
iniial
Valoare
de
minim
Minim
f ( x ) = 2 x 2 x sin( x )
[-3;4]
f ( x ) = 7 x + x + 31
[-4;4]
-0.0714
30.9643
f ( x ) = cos( x ) 2 sin( x )
[-1;4]
2.0345
-2.2361
[-4;1]
-0.92
-1.3381
[-3;4]
-0.0943
10.9519
f ( x ) = x 2 x + 5 x + x + 11
Lucrare de laborator
Metoda Fibonacci
1. Scopul lucrrii
Scopul principal al acestei lucrri este ca prin implementarea i
rularea unui algoritm bazat pe metoda Fibonacci s familiarizeze pe cei
interesai cu problemele care apar n minimizarea funciilor de o singur
variabil.
2. Prezentarea lucrrii
Metoda Fibonacci este o procedur de minimizare a funciilor de o
singur variabil, n absena restriciilor, bazat exclusiv pe valorile funciei
obiectiv. Ca i metoda seciunii de aur, metoda propus caut minimizarea
numrului de valori calculate n cadrul procesului iterativ necesar asigurrii
unei precizii impuse n localizarea minimului. Spre deosebire de metoda
seciunii de aur, n cadrul acestei proceduri raportul de contracie
bk +1 a k +1
bk a k
nu este constant i este dependent de numrul iteraiei efectuate. n
construcia punctelor intermediare de test intervin valori ale termenilor din
irul Fibonacci.
irul Fibonacci este definit prin relaia de recuren:
FK+1 = FK + FK-1 , cu F0 = F1 = 1.
23
(1)
k = a k +
Fn k 1
(bk a k )
Fn k +1
(2)
k = ak +
Fn k
(bk a k ) .
Fn k +1
(3)
Fn k
(bk a k )
Fn k +1
(4)
Fn k 1
F
(bk a k ) = n k (bk a k ) .
Fn k +1
Fn k +1
(5)
bk +1 a k +1 = k a k =
sau
bk +1 a k +1 = bk k = bk a k
Fn k
(bk a k ) .
Fn k +1
(6)
k +1 = a k +1 +
Fn k 2
F
(bk +1 a k +1 ) = k + n k 2 (bk a k ) =
Fn k
Fn k
= ak +
Fn k 1
F
F
(bk a k ) + n k 2 (bk +1 a k +1 n k 1 (bk a k )) =
Fn k +1
Fn k
Fn k +1
= ak +
Fn k 1
F
F
(bk ak ) + n k 2 (1 n k 1 ) (bk ak ) .
Fn k +1
Fn k
Fn k +1
(7)
Fn k 1 Fn k +1 Fn k 1
F
=
= nk ,
Fn k +1
Fn k +1
Fn k +1
(8)
Deoarece
1
rezult:
F
k +1 = a k + n k 1 + n k 2 (bk a k ) = a k + n k (bk a k ) = k .
Fn k +1
Fn k +1 Fn k +1
(9)
Procednd prin calcul direct, obinem pentru cazul f(k) < f(k):
k +1 = k .
(10)
(11)
b2 a 2 Fn 1
=
b1 a1
Fn
(12)
bn a n =
1
(b1 a1 )
Fn
(13)
Fn > (b1 a1 ) / .
n continuare, vom prezenta algoritmul Fibonacci:
1 = a1 +
Fn 2
F
(b1 a1 ) , 1 = a1 + n 1 (b1 a1 )
Fn
Fn
Etapa de baz. Pasul 1. Dac f(k) > f(k) se trece la pasul 2, iar dac f(k)
f(k) se trece la pasul 3.
26
k +1 = a k +1 +
Fn k 2
(bk +1 a k +1 ) .
Fn k
k +1 = a k +1 +
Fn k 2
(bk +1 a k +1 ) .
Fn k
f ( x) = x 2 + x + 1 , prezentat i n
Valoarea de discernabilitate e1 = 10 6 .
27
b(k)
b(k)-
a(k)
-3.0000
3.0000
6.0000
-0.7082
0.7082
0.7933
2.2097
-3.0000
0.7082
3.7082
-1.5836
-0.7082
1.9242
0.7933
-1.5836
0.7082
2.2918
-0.7082
-0.1672
0.7933
0.8607
-1.5836
-0.1672
1.4164
-1.0426
-0.7082
1.0444
0.7933
-1.0426
-0.1672
0.8754
-0.7082
-0.5016
0.7933
0.7500
-0.7082
-0.1672
0.5410
-0.5016
-0.3738
0.7500
0.7659
-0.7082
-0.3738
0.3344
-0.5803
-0.5016
0.7565
0.7500
-0.5803
-0.3738
0.2066
-0.5016
-0.4525
0.7500
0.7523
-0.5803
-0.4525
0.1279
-0.5311
-0.5016
0.7510
0.7500
10
-0.5311
-0.4525
0.0787
-0.5016
-0.4820
0.7500
0.7503
11
-0.5311
-0.4820
0.0492
-0.5115
-0.5016
0.7501
0.7500
12
-0.5115
-0.4820
0.0295
-0.5016
-0.4918
0.7500
0.7501
13
-0.5115
-0.4918
0.0197
-0.5016
-0.5016
0.7500
0.7500
14
-0.5016
-0.4918
0.0098
-0.5016
-0.5016
0.7500
0.7500
a(k)
l(k)
m(k) teta1(k)
teta2(k)
28
1.0000
2.0000
3.0000
4.0000
timp
12.2170
16.0430
21.0310
26.0370
29
Observaie
3. Chestiuni de studiat
Se consider ca funcie obiectiv una dintre funciile prezentate n tabelul de
mai jos (funcia va fi impus de conductorul lucrrii):
Nr.
Crt.
Funcie
Interval de
incertitudine
iniial
Valoare
de
minim
Minim
f ( x ) = x 4 + x3 + 5 x 2 + x + 2
[-3;3]
-0.1027
1.9491
f ( x ) = 5 x + x + 16
[-4;4]
-0.1
15.95
f ( x ) = sin( x ) cos( x )
[-2;2]
-0.7854
-1.4142
f ( x ) = e cos( x ) 5 sin( x )
[-7;-3]
-4.9112
-5.0917
[-3;4]
0.3889
-0.2086
f ( x ) = x x cos( x )
30
Lucrare de laborator
1. Scopul lucrrii
Scopul principal al acestei lucrri este ca prin implementarea i
rularea unui algoritm bazat pe metoda cutrii liniare utiliznd derivata
funciei s familiarizeze pe cei interesai cu problemele care apar n
minimizarea funciilor de o singur variabil.
2. Prezentarea lucrrii
Considerm funcia f ( x) : [a, b] i acest interval [a,b] mrginit,
pe care funcia este convex i deci, derivabil. Dac n cadrul iteraiei k,
iniializat pe un interval de incertitudine [ak ,bk], alegem un punct de lucru
a k < k < bk
urmtoarele situaii:
i)
optim
= arg min{max(bk k , k a k )}.
k
(1)
optim
=
k
a k + bk
.
2
(2)
(3)
1
1
, facem k = 1 i trecem
=
n
b1 a1
2
la etapa de baz.
Etapa de baz. Pasul 1. Considerm k =
a k + bk
i evalum f | (k ) .
2
df
= 2 x + 1 . n cadrul subrutinelor de evaluare a
dx
elementar n forma:
f (c k )
f (c k )
ak
bk
bk a k
-3.0000
3.0000
6.0000
-3.0000
3.0000
-1.5000
-2.0000
1.7500
-1.5000
1.5000
-0.7500
-0.5000
0.8125
-0.7500
0.7500
-0.3750
0.2500
0.7656
-0.7500
-0.3750
0.3750
-0.5625
-0.1250
0.7539
-0.5625
-0.3750
0.1875
-0.4688
0.0625
0.7510
-0.5625
-0.4688
0.0938
-0.5156
-0.0313
0.7502
-0.5156
-0.4688
0.0469
-0.4922
0.0156
0.7501
-0.5156
-0.4922
0.0234
-0.5039
-0.0078
0.7500
10
-0.5039
-0.4922
0.0117
-0.4980
0.0039
0.7500
11
-0.5039
-0.4980
0.0059
-0.5009
-0.0018
0.7500
1.0000
1.0000
iniial
dar
precizii
de
calcul
diferite,
de
forma
1.0000
2.0000
3.0000
4.0000
timp
12.2480
16.0330
21.0400
26.0480
3. Chestiuni de studiat
Funcie
Interval de
incertitudine
iniial
Valoare
de
minim
Minim
f ( x ) = 2 x 2 x sin( x ) + 1
[-3;3]
f ( x ) = 7 x 2 + x + 31
[-4;4]
-0.0714
30.9643
f ( x ) = cos( x ) 2 sin( x )
[-1;4]
2.0345
-2.2361
[-4;1]
-0.92
-1.3381
3 x
f (x) = e
cos( x ) sin( x )
f ( x ) = x 2 x + 5 x + x + 11
[-3;4]
-0.0943
10.9519
f ( x ) = x 2 x sin( x ) + 2
[-4;4]
f ( x ) = x (1 cos( x )) sin( x )
[-3;5]
3.4368
6.434
f ( x ) = x (1 sin( x )) + cos( x )
[1;5]
-3
-4.4134
35
Lucrare de laborator
1. Scopul lucrrii
y1 = f ( x11 , x 21 ) .
C1
C2<C1
C3<C2
C4<C3
y 2 = f ( x21 , x22 )
y1 = f ( x11 , x21 )
( x12 , x21 )
x1
Figura 10. Metoda cutrii ciclice dup axele de coordonate
j = arg min f ( y j + d j )
1
Observaii
Pentru o astfel de procedur, direciile de cutare sunt dictate de
modul de prezentare a funciei obiectiv. Oricare schimbare a axelor de
coordonate (rotaii, translaii) care nu schimb efectiv minimul funciei i
nici complexitatea, poate determina o cretere sau o scdere a eficienei
metodei propuse (acest rezultat este exploatat n metoda cutrii ciclice cu
pas accelerat ce urmeaz a fi prezentat).
Prezentm n continuare modul de utilizare a acestei proceduri pentru
minimizare funciei:
f ( x1 , x2 ) = x13 + x23 3 x1 x2 .
pornind de la un punct de iniializare x0 = [7,7] . pentru o precizie = 0.01.
T
8
6
4
x2
2
0
-2
-4
-6
-8
-8
-6
-4
-2
0
x1
1.0153
7.0000
1.0309
2.6458
2.6458
1.0153
7.0000
1.0309
1.2754
1.0038
1.6266
1.0076
1.2754
1.0627
1.0038
1.6266
1.0076
1.1293
1.1293
1.0019
Columns 12 through 13
1.0009
1.0009
1.0019
1.0005
3. Chestiuni de studiat
Se consider funcia (forma funciei va fi impus de conductorul lucrrii) a
crei form este prezentat n tabelul de mai jos:
Punct
Punct de Valoare de
de
minim
minim
iniializare
Nr. Crt
Funcia
1.
6 x1 + 2 x12 2 x1 x2 + 2 x22
[ 1, 1]
[ 2, 1]
-6
2.
1
2
x1 + x22 + ( x1 + x2 10 )
9
[ 1, 1]
[5, 0.5]
7.5
3.
( x1 1)2 + 100 ( x1 x2 )2
[3, 4]
[1,1]
4.
5 ( x1 3) + ( x2 5 )
[0, 0]
[3,5]
5.
x12 x1 x2 + x22
[1, 2]
[0, 0]
39
6.
[0,3]
[5, 4]
-481
7.
2 x12 + 2 x22 + 2 x1 x2 4 x1 6 x2
[1,1]
1 4
3 , 3
8.
x12 x1 x2 + x22 2 x1 + x2
[3,5]
[1, 0]
-1
9.
5 x1 + 4 x1 x2 + x22 16 x1 12 x2
[1,1]
[ 4,14]
-152
10.
[ 3, 5]
[ 2,3]
-23
11.
x1 x2 + 2 x12 + 2 x1 x2 + x22
[1,1]
3
1, 2
-1.25
12.
x12 + x22 + x1 x2
[1,1]
[0, 0]
13.
x12 + 16 x22
[ 2, 2]
[0, 0]
[ 5, 8]
[1,1]
14.
(1 x1 )
+ ( x1 x2 )
14
3
izonivel.
b) S se evalueze eventualul punct de minim utiliznd algoritmul propus.
c) S se reprezinte grafic evoluia n procesul de cutare.
40
Lucrare de laborator
1. Scopul lucrrii
x2
y|
y
x2
x3
x1
pas accelerat.
x1
Cutarea se lanseaz n
j = arg min f ( y j + d j )
1
* = arg min f ( y k +1 + d ) .
1
Ctare ciclic
iniiale
Cutare ciclic
Pas
accelerat
Cutare ciclic
10
3.0032 3.0032
10
10
1.0011 1.0011
10
10
7
x2
11
x2
11
5
Pas accelerat
3
2
3
0
5
x1
10
5
x1
10
= 0 .1
= 0.01
= 0.001
Cutare ciclic
40
30
20
10
2
Precizia impusa prin k.
3. Chestiuni de studiat
Nr.
Crt
Funcia
1.
6 x1 + 2 x12 2 x1 x2 + 2 x22
[ 1, 1]
[ 2, 1]
-6
2.
1
2
x1 + x22 + ( x1 + x2 10 )
9
[ 1, 1]
[5, 0.5]
7.5
3.
( x1 1)
[3, 4]
[1,1]
[0, 0]
[3,5]
[0, 0]
[5, 4]
+ 100 ( x1 x2 )
4.
5 ( x1 3) + ( x2 5 )
5.
x12 x1 x2 + x22
6.
[1, 2]
[0,3]
7.
2 x12 + 2 x22 + 2 x1 x2 4 x1 6 x2
[1,1]
1 4
3 , 3
8.
x12 x1 x2 + x22 2 x1 + x2
[1, 0]
9.
5 x1 + 4 x1 x2 + x22 16 x1 12 x2
[3,5]
[1,1]
10.
[ 3, 5]
11.
x1 x2 + 2 x12 + 2 x1 x2 + x22
[1,1]
3
1, 2
12.
x12 + x22 + x1 x2
13.
x12 + 16 x22
[1,1]
[ 2, 2]
[0, 0]
[0, 0]
[ 5, 8]
[1,1]
14.
(1 x1 )
+ ( x1 x2 )
[ 4,14]
[ 2,3]
0
-481
14
3
-1
-152
-23
-1.25
0
0
0
Lucrare de laborator
Algoritmul Rosenbrock
1. Scopul lucrrii
j = arg min f ( x j + d j ) i x j +1 = x j + j d j .
1
d j daca j = 0
aj = n
i d i daca j 0
i= j
a j daca j = 1
j 1
, bj =
a
(a Tj d i* ) d i*
i =1
d *j =
daca j 2
bj
|| b j ||
(1)
Procedura de mai sus se poate scrie sub forma unui algoritm astfel:
Etapa de iniializare. Se consider dat > 0 pentru evaluarea condiiei de
j = arg min f ( y j + d j ) i y j +1 = y j + j d j .
1
Soluia de
optim
x1 = 3.0003
= 0 .1
x 2 = 1.0001
x1 = 3.0003
= 0.01
x 2 = 1.0001
x1 = 3.0003
= 0.001
x 2 = 1.0001
= 0.0001
x1 = 3.0002
x 2 = 1.0001
Numr de
iteraii
3.6748 10 12
3.6748 10 12
3.6748 10 12
7.7094 10 11
11
Se observ c pentru o precizie bun convergena este asigurat ntrun numr relativ mic de pai iar valorile de optim obinute prin rularea
programului sunt foarte apropiate de soluia real (aproape evident c soluia
real a problemei este x1 = 3 , x 2 = 1 cu un optim al funciei obiectiv
f opt = 0 ).
49
10
1
100
200
200
2
10
x2
0.1
0.1
1 1
10
0
100
-1
100
-2
-1
100
1
20
20
x1
funciei
este
asigurat
x1 = 2 , x 2 = 1, x3 = 2 la o valoare f min = 0.
50
de
punctul
de
coordonate
Precizia
= 0.1
0.0014
37
3.5612e-5
43
1.5051e-7
52
9.0768e-9
58
4.3982e-11
11
4.3981e-11
11
4.3981e-11
11
2.1523e-11
15
x3 = 2.0279
x1 = 2.0044
= 0.01
x 2 = 1.0009
x3 = 2.0045
x1 = 2.0003
= 0.001
x 2 = 1.0001
ciclic.
Cutare
x3 = 2.0003
x1 = 2.0001
= 0.0001
x 2 = 1.0000
x3 = 2.0001
x1 = 1.9998
= 0 .1
x 2 = 1.0000
x3 = 1.9998
x1 = 1.9998
= 0.01
x 2 = 1.0000
x3 = 1.9998
pas accelerat
Cutare cu
= 0.001
x1 = 1.9998
x 2 = 1.0000
x3 = 1.9998
x1 = 2.0000
= 0.0001
x 2 = 1.0000
x3 = 2.0000
51
x1 = 2.0000
= 0 .1
x 2 = 1.0000
1.3081e-11
13
1.3081e-11
13
1.3081e-11
13
1.3081e-11
13
x3 = 2.0000
x1 = 2.0000
= 0.01
x 2 = 1.0000
x3 = 2.0000
x1 = 2.0000
Rosenbrock.
= 0.001
x 2 = 1.0000
x3 = 2.0000
= 0.0001
x1 = 2.0000
x 2 = 1.0000
x3 = 2.0000
3. Chestiuni de studiat
Punct de
Funcia
Crt.
iniializare
Punct
Valoare
de
de
minim
minim
1.
6 x1 + 2 x12 2 x1 x2 + 2 x22
[ 1, 1]
[ 2, 1]
-6
2.
1
2
x1 + x22 + ( x1 + x2 10 )
9
[ 1, 1]
[5, 0.5]
7.5
3.
( x1 1)
[3, 4]
[1,1]
[0, 0]
[3,5]
+ 100 ( x1 x2 )
4.
5 ( x1 3) + ( x2 5 )
5.
x12 x1 x2 + x22
[1, 2]
[0, 0]
6.
[0,3]
[5, 4]
-481
2 x12 + 2 x22 + 2 x1 x2
[1,1]
1 4
3 , 3
7.
4 x1 6 x2
53
14
3
8.
9.
10.
x12 x1 x2 + x22 2 x1 + x2
[3,5]
[1, 0]
-1
5 x1 + 4 x1 x2 + x22 16 x1
[1,1]
[ 4,14]
-152
[ 3, 5]
[ 2,3]
-23
12 x2
2 x12 + 2 x22 + x1 x2 11 x1
8 x2
11.
x1 x2 + 2 x12 + 2 x1 x2 + x22
[1,1]
3
1, 2
-1.25
12.
x12 + x22 + x1 x2
[1,1]
[0, 0]
13.
x12 + 16 x22
[ 2, 2]
[0, 0]
[ 5, 8]
[1,1]
14.
(1 x1 )
+ ( x1 x2 )
54
Lucrare de laborator
Tehnici de gradient
1. Scopul lucrrii
f : n 1 , difereniabil pentru
f ( xk + d ) f ( xk )
= T f ( xk ) d < 0 .
(1)
(2)
df ( x) = T f ( x) h .
(3)
(4)
(5)
f ( x k +1 ) f ( x k ) = k T f ( x k ) f ( x k ) + O( k ) =
= k f ( x k ) + O ( k ) < 0
(6)
(7)
k > 0
(8)
g k* g k ( k ) g k* + k , k 0,
k =0
= <
(9)
sau
g k* g k ( k ) (1 k ) g k (0) + k g k* , 0 < k 1 .
(10)
f ( x k +1 ) < f ( x k )
fr a cuta
(11)
n sfrit, dac
(12)
2
,
L + 2
(13)
(14)
(15)
lim ( xk , X * ) = 0 .
(16)
(17)
k =0
= < ,
(18)
lim f ( x k ) = 0 .
k
60
(19)
k = arg min f ( x k f ( x k )) .
>0
k +1 = x n | f ( x) = f ( x k +1 )
k = x n | f ( x) = f ( x k ) .
61
(20)
(21)
f ( x k )
f ( x k +1 )
sunt
= 10 1
= 10 2
= 10 3
= 10 4
Soluia de
minim
x1 = 3.2937
x 2 = 1.0983
x1 = 3.1325
x 2 = 1.0442
x1 = 3.0634
x 2 = 1.0211
x1 = 3.0295
x 2 = 1.0098
Valoarea funciei
obiectiv
Timp necesar
Numr
procesrii
de iteraii
f min = 0.0074
0.321 sec.
f min = 3.08 10 4
0.861 sec.
11
27
f min = 1.61 10 5
1.883 sec
81
f min = 7.5433 10 7
8.352 sec
335
7
6
5
4
3
2
1
0
12
Distantafatademinim
10
10
20
30
40
50
Numar de iteratii
60
70
80
90
1.5e+003
500
6
x2
1e+003
1.5e+003
5
100
100
3
10
500
2
1
1
1
4
1e+003
10
5
x1
10
3 x2 6 x2
Curbele de izonivel pentru funcia considerat sunt prezentate n
figura 20. Din alura acestor curbe rezult c funcia considerat nu este
unimodal pentru x R n prezentnd mai multe puncte de extrem. Ne
propunem stabilirea unui minim local utiliznd tehnica de gradient.
Subrutina grad1.m implementeaz algoritmul de cutare propus.
3
-2
2.8
-3
2.6
2.4
x2
2.2
2
-5
-5
1.8
Solutia de
minim local
1.6
1.4
-4
-2
1.2
1
-3
-0.6
-0.4
-0.2
0.2
x1
0.4
0.6
0.8
f ( x1 , x 2 ) = 100 x 2 x12
) + (1 x )
2
f ( x1 , x 2 ) =
200 x 2 x12
-0.5
0
0.5
x2
1
1.5
2
2.5
3
-2
-1.5
-1
-0.5
0
x1
0.5
1.5
Acest lucru apare mai evident dac relum algoritmul propus pentru
o iniializare x1 = 5 , x 2 = 5 . Obinem o aproximare a soluiei de
optim x1 = 1.0007 , x 2 = 1.0013 n 11320 de iteraii la o valoare a
funciei obiectiv f opt = 4.3060 10 7. Succesiunea punctelor de test
este prezentat n figura 22.
3. Chestiuni de studiat
Punct de
Funcia
Crt.
iniializare
Punct
Valoare
de
de
minim
minim
1.
6 x1 + 2 x12 2 x1 x2 + 2 x22
[ 1, 1]
[ 2, 1]
-6
2.
1
2
x1 + x22 + ( x1 + x2 10 )
9
[ 1, 1]
[5, 0.5]
7.5
3.
( x1 1)2 + 100 ( x1 x2 )2
[3, 4]
[1,1]
4.
5 ( x1 3) + ( x2 5 )
[0, 0]
[3,5]
5.
x12 x1 x2 + x22
[1, 2]
[0, 0]
6.
[0,3]
[5, 4]
-481
2 x12 + 2 x22 + 2 x1 x2
[1,1]
1 4
3 , 3
x12 x1 x2 + x22 2 x1 + x2
[3,5]
[1, 0]
-1
5 x1 + 4 x1 x2 + x22 16 x1
[1,1]
[ 4,14]
-152
7.
8.
9.
4 x1 6 x2
12 x2
69
14
3
10.
2 x12 + 2 x22 + x1 x2 11 x1
8 x2
[ 3, 5]
[ 2,3]
-23
11.
x1 x2 + 2 x12 + 2 x1 x2 + x22
[1,1]
3
1, 2
-1.25
12.
x12 + x22 + x1 x2
[1,1]
[0, 0]
13.
x12 + 16 x22
[ 2, 2]
[0, 0]
[ 5, 8]
[1,1]
14.
(1 x1 )
+ ( x1 x2 )
70
Lucrare de laborator 10
Metoda Newton
1. Scopul lucrrii
f ( x) = f ( x k ) + f ( x k ) ( x x k ) +
1
2
( x x k ) H( x k ) ( x x k ) + 0( x x k )
2!
(1)
g k ( x) = f ( x) f ( x k ) = f ( x) ( x x k ) +
1
( x x k ) H( x k ) ( x x k )
2!
(2)
(3)
k +1 = k + k ( x k* x k ),
k (0,1)
(4)
(5)
72
(6)
vectorul gradient f ( x k ) ;
n3 nmuliri).
(7)
(8)
Se consider funcia f ( x1 , x 2 ) : R 2 R
f ( x1, x 2 ) = ( x1 3)4 + ( x1 3 x 2 )2 ,
6 ( x1 3 x 2 )
Metoda
Precizia
= 0 .1
= 0.01
Newtun
Metoda
= 0.001
= 0.0001
Soluia de
optim
x1 = 2.8795
x 2 = 0.9598
x1 = 2.8795
x 2 = 0.9598
x1 = 2.9482
x 2 = 0.9827
x1 = 3.0071
x 2 = 1.0024
74
Valoarea
funciei
obiectiv
Numr
de
iteraii
2.1072e-4
2.1072e-4
7.1986e-6
79
2.5359-9
340
x1 = 3.2937
= 0 .1
x 2 = 1.0983
x1 = 3.1325
= 0.01
x 2 = 1.0442
gradient
Metoda de
= 0.001
= 0.0001
x1 = 3.0634
x 2 = 1.0211
x1 = 3.0295
x 2 = 1.0098
0.0074
11
3.0856e-4
27
1.6176e-5
81
7.5433e-7
335
3. Chestiuni de studiat
Valoare
de
minim
Nr. Crt.
Funcia
1.
6 x1 + 2 x12 2 x1 x2 + 2 x22
[ 1, 1]
[ 2, 1]
-6
2.
1
2
x1 + x22 + ( x1 + x2 10 )
9
[ 1, 1]
[5, 0.5]
7.5
3.
( x1 1)
[3, 4]
[1,1]
[0, 0]
[3,5]
4.
+ 100 ( x1 x2 )
5 ( x1 3) + ( x2 5 )
2
75
5.
x12 x1 x2 + x22
[1, 2]
[0, 0]
6.
[0,3]
[5, 4]
-481
2 x12 + 2 x22 + 2 x1 x2
[1,1]
1 4
3 , 3
x12 x1 x2 + x22 2 x1 + x2
[3,5]
[1, 0]
-1
5 x1 + 4 x1 x2 + x22 16 x1
[1,1]
[ 4,14]
-152
[ 3, 5]
[ 2,3]
-23
7.
8.
9.
10.
4 x1 6 x2
12 x2
2 x12 + 2 x22 + x1 x2 11 x1
8 x2
14
3
11.
x1 x2 + 2 x12 + 2 x1 x2 + x22
[1,1]
3
1, 2
-1.25
12.
x12 + x22 + x1 x2
[1,1]
[0, 0]
13.
x12 + 16 x22
[ 2, 2]
[0, 0]
14.
(1 x1 )2 + ( x1 x2 )2
[ 5, 8]
[1,1]
76
Lucrare de laborator 11
Metoda gradienilor conjugai.
Algoritmul Fletcher-Reeves
1. Scopul lucrrii
(1)
d1 = f ( x1 )
Coeficientul k 1 se determin din condiia ca dk s fie H-conjugat cu
vectorul dk-1. n aceste condiii:
77
0 = d k1 H d k = d k1 H (f ( x k ) + k 1 d k 1 ) .
(2)
Rezult cu uurin:
k 1 =
d k1 H f ( x k )
.
d k1 H d k 1
(3)
(4)
(5)
(6)
1
x x , vectorul gradient este de forma f ( x) = c + x .
2
Prin urmare:
f ( x k + 1) = c + x k +1 = c + ( x k + k d k ) =
= (c + x k ) + k d k = f ( x k ) + k d k
(7)
(8)
Pe de alt parte,
d k d k = d k (f ( x k ) + k 1 d k ) = d k H f ( x k )
(9)
k =
f ( x k ) f ( x k )
.
d k f ( x k )
(10)
f ( x k ) f ( x k )
f ( x k ) d k = 0
d k f ( x k )
(11)
{f ( x1 ), f ( x2 ),..., f ( xk )}
(12)
(13)
pentru i 1, k .
f ( xi ) = d + i 1 d i 1
(14)
i prin urmare:
f ( x k +1 ) f ( xi ) = k (d i + i 1 d i1 ) d k .
80
(15)
(16)
d i d k +1 = d i (f ( x k +1 ) + k d k ) = d i f ( x k +1 )
(17)
( f ( xi +1 ) f ( xi )) f ( x k +1 ) .
(18)
(19)
j = arg min f ( y j + d j ) i y j +1 = y j + j d j .
>0
unde j =
f ( y j +1 )
f ( y j )
Pasul 3. Facem
2
2
y1 = x k +1 = y k +1 , d1 = f ( y1 ), j = 1, k k + 1
relum pasul 1.
n algoritmul prezentat intervin cteva modificri n raport cu metoda
expus. Astfel:
i) n pasul 1, lungimea pasului se stabilete prin cutare
unidimensional i nu analitic. Aceast modalitate se impune pentru ca
metoda s poat fi extins i n cazul n care f(x) este neliniar i nu neaprat
ptratic.
ii) Stabilirea coeficientului j n pasul 2 apare modificat n raport cu
prezentarea fcut. Noua form a coeficientului j este uor deductibil.
Construcia matricelor de deflecie
1
,
2
82
(20)
(21)
(22)
(23)
(24)
(25)
(26)
Prin urmare
Ck (f ( xk +1 ) f ( xk )) = ( xk +1 xk ) Dk (f ( xk +1 ) f ( xk )) .
(27)
(28)
(29)
( k Dk q k )( k Dk q k )
qk .
( k Dk q k ) q k
(30)
( k Dk qk )( k Dk qk )
.
( k Dk qk ) q k
(31)
Ck =
k k Dk qk qk Dk
k qk
qk Dk qk
(32)
k k k q k Dk + Dk q k k
q
k q k
k k
(33)
f ( x1 , x 2 ) =
6 ( x1 3 x 2 )
= 0.001
Precizia
= 0 .1
x 2 = 1.0911
x1 = 3.1267
= 0.01
0.0054
2.5747e-4
x 2 = 1.0423
= 0.001
= 0.0001
x1 = 3.0467
x 2 = 1.0156
x1 = 3.0284
x 2 = 1.0095
12
20
4.7496e-6
32
6.5318e-7
40
= 10 1
= 10 1
= 10 1
= 10 1
88
timp (sec.)
20
15
10
2
3
k (e=10e-k)
h = 0.01
Precizie
e = 0 .1
e = 0.01
Soluia de
optim
x1 = 3.1838
x 2 = 1.0605
Valoarea
Numr de
funciei obiectiv
iteraii
0.0011
Algoritmul nu funcioneaz
89
11
e = 0 .1
h = 0.001
e = 0.01
e = 0.001
e = 0 .1
h = 0.0001
e = 0.01
e = 0.001
x1 = 3.2718
x 2 = 1.0913
x1 = 3.1095
x 2 = 1.0361
0.0055
12
1.4527e-4
15
Algoritmul nu funcioneaz
x1 = 3.2773
x 2 = 1.0932
x1 = 3.1129
x 2 = 1.0377
x1 = 3.0152
x 2 = 1.0051
0.0059e-4
12
1.6245e-6
20
5.2833e-8
28
= 0 .1
= 0.01
= 0.001
10.506 s
18.346 s.
15.131 s
22.503 s
f ( x1 , x 2 , x3 ) = 2 x1 + 10 x 2 6 .
2 x + 2 x
1
3
Precizie
Metoda Fletcher-Reeves
= 0 .1
Soluia
de minim
x1 = 1.9998
Valoare
Numr de
funciei obiectiv
iteraii
x 2 = 1.0030
6.7001e-5
4.6722e-6
9.0904e-12
10
0.0036
26
6.3079e-5
36
4.8612e-7
48
x3 = 1.9998
x1 = 1.9993
= 0.01
x 2 = 0.9999
x3 = 1.9974
x1 = 2.0000
= 0.001
x 2 = 1.0000
x3 = 2.0000
x1 = 2.0348
= 0 .1
x 2 = 0.9999
Metoda de gradient
x3 = 2.0695
x1 = 2.0046
= 0.01
x 2 = 1.0000
x3 = 2.0092
x1 = 2.0004
= 0.001
x 2 = 1.0000
x3 = 2.0008
10
8
x3
6
4
2
Solutia de
minim.
0
10
10
8
6
4
2
x2
x1
Metoda
Newton
Metoda de
gradient
= 0 .1
= 0.01
= 0.001
= 0.0001
0.58 s
0.581 s
6.319 s
27.23 s
4.52 s
16.73 s
64.86 s
323.57 s.
3. Chestiuni de studiat
Punct de
iniializare
Punct de
minim
Valoare
de
minim
1.
6 x1 + 2 x12 2 x1 x2 + 2 x22
[ 1, 1]
[ 2, 1]
-6
2.
1
2
x1 + x22 + ( x1 + x2 10 )
9
[ 1, 1]
[5, 0.5]
7.5
3.
( x1 1)2 + 100 ( x1 x2 )2
[3, 4]
[1,1]
4.
5 ( x1 3) + ( x2 5 )
[0, 0]
[3,5]
5.
x12 x1 x2 + x22
6.
[1, 2]
[0,3]
[0, 0]
[5, 4]
7.
2 x12 + 2 x22 + 2 x1 x2 4 x1 6 x2
[1,1]
1 4
3 , 3
8.
x12 x1 x2 + x22 2 x1 + x2
[1, 0]
9.
5 x1 + 4 x1 x2 + x22 16 x1 12 x2
[3,5]
[1,1]
10.
2 x12 + 2 x22 + x1 x2 11 x1 8 x2
11.
x1 x2 + 2 x12 + 2 x1 x2 + x22
12.
x12 + x22 + x1 x2
13.
x12 + 16 x22
Nr.
Crt.
14.
(1 x1 )
+ ( x1 x2 )
0
-481
14
3
-1
[ 3, 5]
[1,1]
[1,1]
[ 2, 2]
[ 4,14]
[ 2,3]
[ 1,3 / 2]
[0, 0]
[0, 0]
-1.25
[ 5, 8]
[1,1]
-152
-23
0
0
Lucrare de laborator 12
Metoda Davidon-Fletcher-Powell
1. Scopul lucrrii
(1)
yj
constituie
soluia.
Dac
nu,
construim
direcia
de
cutare
j j D j q j q j D j
,
D j +1 = D j +
j qj
q j D j q j
unde:
j = j d j
q j = f ( y j +1 ) f ( y j ).
(2)
x D j +1 x = x D j x +
x j j x
j q j
x D j q j q j D j
q j D j q j
(3)
(a a )(b b) (a b) 2 ( x p j )
x D j +1 x =
+
.
b b
j q j
(4)
j q j = j d j (f ( y j +1 ) f ( y j )) .
(5)
j q j = j d j f ( y j ) = j f ( y j ) D j f ( y j ) .
(6)
(7)
Se consider funcia:
f ( x1 , x 2 ) = ( x1 3) + ( x1 3 x 2 ) ,
4
x
x
)
1
2
Punctul
de
minim
pentru
funcia
considerat
este
evident
= 0 .1
= 0.01
= 0.001
= 0.0001
Soluia de
minim
x1 = 3.2152
x 2 = 1.0723
x1 = 3.0609
x 2 = 1.0402
x1 = 3.0609
x 2 = 1.0203
x1 = 3.0289
x 2 = 1.0402
Valoarea funciei
obiectiv
Numr de
iteraii
f min = 0.0021
f min = 2.0942 10 4
f min = 1.3767 10 5
14
f min = 7.0163 10 6
44
300
200 3
3
200
4
3
200
300
10
2
x2
1
0.1
1
100
0.1
1
10
0
3
100
-1
-2
300
300
-3
-1
200
0
3
x1
300
6
Timp de
procesare
= 0 .1
= 0.01
= 0.001
= 0.0001
0.901 sec
x
x
)
1
2
100
Davidon-Fletcher-Powell
considernd
cunoscut
forma
= 0 .1
= 0.01
= 0.001
Soluia
de optim
x1 = 3.2071
x 2 = 1.0696
x1 = 3.0497
x 2 = 1.0166
x1 = 3.0497
x 2 = 1.0165
Valoarea
funciei obiectiv
Numr
de iteraii
f min = 0.0018
f min = 6.0871 10 6
f min = 6.0815 10 6
Precizia
= 0 .1
= 0.01
= 0.001
0.600s
0.611s
3. Chestiuni de studiat
Se consider funcia (forma funciei va fi impus de conductorul lucrrii) a
crei form este prezentat n tabelul de mai jos:
Punct de Punct de
iniializare minim
Valoare
de
minim
Nr. Crt.
Funcia
1.
6 x1 + 2 x12 2 x1 x2 + 2 x22
[ 1, 1]
[ 2, 1]
-6
2.
1
2
x1 + x22 + ( x1 + x2 10 )
9
[ 1, 1]
[5, 0.5]
7.5
3.
( x1 1)
[3, 4]
[1,1]
[0, 0]
[3,5]
+ 100 ( x1 x2 )
4.
5 ( x1 3) + ( x2 5 )
5.
x12 x1 x2 + x22
[1, 2]
[0, 0]
6.
[0,3]
[5, 4]
-481
2 x12 + 2 x22 + 2 x1 x2
[1,1]
1 4
3 , 3
7.
4 x1 6 x2
103
14
3
8.
9.
10.
x12 x1 x2 + x22 2 x1 + x2
[3,5]
[1, 0]
-1
5 x1 + 4 x1 x2 + x22 16 x1
[1,1]
[ 4,14]
-152
[ 3, 5]
[ 2,3]
-23
12 x2
2 x12 + 2 x22 + x1 x2 11 x1
8 x2
11.
x1 x2 + 2 x12 + 2 x1 x2 + x22
[1,1]
3
1, 2
-1.25
12.
x12 + x22 + x1 x2
[1,1]
[0, 0]
13.
x12 + 16 x22
[ 2, 2]
[0, 0]
14.
(1 x1 )2 + ( x1 x2 )2
[ 5, 8]
[1,1]
104
Lucrare de laborator 13
Metoda direciilor admisibile de coborre
(cazul liniar)
1. Scopul lucrrii
Scopul principal al acestei lucrri este ca prin implementarea i
rularea unui algoritm bazat pe metoda direciilor admisibile de coborre s
prezinte probleme de optimizare cu restricii impuse.
2. Prezentarea lucrrii
n cazul problemelor de optim fr restricii, procedurile clasice de
cutare se bazeaz pe stabilirea unei direcii de coborre i evoluia n lungul
acestei direcii cu un pas de cutare astfel nct s realizm condiia de
modificare n sens descresctor a valorilor funciei obiectiv. n general,
aplicarea unei astfel de metode nu este aplicabil n cazul minimelor cu
restricii deoarece evoluia n lungul direciei de coborre conduce ntr-o
zon n care punctele de lucru nu aparin domeniului valorilor admise. Prin
urmare ideea de direcie de coborre i pierde aplicabilitatea n cazul
problemelor de minim n prezena restriciilor. Considerm un punct de
lucru curent xk U n care U R n reprezint mulimea punctelor ce
satisfac restriciile impuse.
Direcia de cutare dk conform cerinelor problemei necesit s
satisfac simultan dou condiii:
pentru un > 0 , f ( x k + d ) < f ( x k ) ;
pentru impus anterior, x + d k U .
105
minimizrii funciei
f ( x) : R n R , n
A x b
(1)
Ex =e
poliedral).
Legat de modul n care sunt satisfcute restriciile de tip inegalitate,
remarcm c pentru un x fixat este posibil ca relaia la pasul i s fie
satisfcut ca egalitate:
ai1 x1 + ai 2 x 2 + ... + ain x n = bi .
(2)
(3)
E x = e.
Pentru suficient de mic este necesar ca:
A1 ( x + d ) = A1 x + A1 d b1
A2 ( x + d ) = A2 x + A2 d b2
(4)
E(x + d ) = E x + E d = e
A1 d 0 .
Cel
de
al
doilea
set
de
inecuaii
impune
d
1 2 d1
0; d = 1 .
este: A1 d 0;
2 d 2
3
d2
Gradientul funciei este:
f
x1 2 ( x1 6)
; f ( x)
=
f ( x ) =
f 2 ( x 2 2)
x 2
x1 = 2
x2 =3
8
= .
2
d 0;
8 d1 + 2 d 2 < 0 .
coborre i anume
A1 d 0, E d = 0, f ( x) d < 0 .
(5)
P1 .
minimizeaz
f ( x ) d
n restriciile
A1d 0
Ed = 0
1 di 1, i 1, n
P2 .
minimizeaz
f ( x ) d
n restriciile
A1d 0
Ed = 0
f ( x)d 1
P3 .
minimizeaz
f ( x ) d
n restriciile
A1d 0
Ed = 0
d d 1
care minimizeaz criteriul atunci valoarea de minim va fi mai mic sau cel
mult egal cu zero. n ipoteza c direcia d obinut ca soluie de minim
asigur f ( x) d < 0 atunci direcia obinut constituie direcia admisibil
de cutare i algoritmul continu. Dac soluia problemei d stabilete
valoarea
indicelui
f ( x ) d = 0
atunci
x,
constituie
un
punct
(6)
A2 d b2 A2 x .
(7)
Notm n continuare:
l = b2 A2 x, c = A2 d .
(8)
max
dac c 0
,
=
li
min c ci > 0, dac c 0
i
111
(9)
A1 x k = b1 , E x k = e i
f ( x) d
n restriciile
A1 d 0
Ed = 0
1 d j 1, j 1, n
k = arg min f ( x k + d k ) .
0 < max
0
x
yo
Utiliznd subrutina dac.m care implementeaz algoritmul propus,
obinem urmtorul rezultat dintr-o iniializare x0 = [0 ; 0] .
x =
0
0.8333
1.1290
0.8333
0.7742
0.5
Punct final
0
Initializarea cautarii
-0.5
-1
-1
-0.5
0.5
113
3. Chestiuni de studiat
Funcia
crt.
1.
2.
2 x12 + 2 x22 +
x1 + 2 x2 2
+2 x1 x2 4 x1
x1 0
6 x2
x2 0
x1 x2
x1 + x 2 1
x1 x2
x12 + x22 4 x1
3.
Restricii
2 x2
x1 0
Pct.
ini.
Valoare
f(x0)
4.
x1 2 x2 + 5
-3.5
1
3 ,
5
6
4.16
[0, 0]
[0,1]
-0.6
[1,1]
-4
1.6,
0.8
4.8
[0, 0]
13
17 ,
18
17
101
34
[1,1]
-4.6
[ 2,3]
-10.4
[0,1]
-4.6
1.2,
1.8
-7.88
0.5,
0.5
x2 0
2 x1 + x2 4
x1 + 2 x2 6
x1 0
2 x1 + 3 x2 6
x1 + 4 x2 5
x1 0
x2 0
2 x1 + 0.2 x12
5.
3 x2 + 0.2 x22
de
minim
x2 0
Minim
2 x1 + 3 x2 13
2 x1 + x2 10
x1 0
x2 0
5.6 x2
2 x1 3 x2 3 0
x1 + x2 3 0
2 x1 x2 4 0
x1 0
x2 0
114
Lucrare de laborator 14
Metoda gradientului proiectat
(cazul liniar)
1. Scopul lucrrii
(1)
(2)
xk +1 = Pu ( xk k f ( xk )) k = 1,2,...
115
(3)
(4)
(5)
k > 0 .
(6)
0 < 0 k
2
,
( L + 2)
(7)
k > 0 k = 1,2,...,
ca de exemplu k =
k = i
K =1
K =1
2
k
<,
(8)
1
.
k +1
0 < k 1, k > 0
(9)
min x ( xk k f ( xk )) , x U
117
(10)
Din acest motiv, metoda poate fi aplicat numai pentru cazurile n care
restriciile impuse determin o mulime U pentru care proiecia se obine
relativ simplu.
n continuare, vom prezenta un caz, pentru care proiecia gradientului
pe mulimea generat de restricii se obine relativ simplu (metoda
gradientului proiectat).
Considerm cazul minimizrii unei funcii f ( x) : R n , pentru care
restriciile de tip egalitate sau inegalitate sunt liniare:
minimizeaz f(x)
n restriciile A x b
(11)
Ex =e
pe care o presupunem de rang complet. Introducem matricea P =I MT(MMT)-1M. Evident, matricea P este simetric i involutiv i prin urmare
P este o matrice proiector. Aplicnd operatorul P oricrui vector, obinem
proiecia acestui vector n subspaiul restriciilor active. Pe ideea general,
vom propune ca direcie de cutare, proiecia antigradientului n subspaiul
restriciilor active, deci d = P f ( x) .
Vom arta c n cazul n care P f ( x) 0 , direcia d = P f (x)
este o direcie admisibil de cutare. n adevr:
2
deci
este
direcie
de
coborre.
Pe
de
alt
(12)
parte,
A u
P f ( x) = f ( x) + 1 = f ( x) A1 u + E v = 0 .
E v
(13)
119
A
matricea 1 i notm P = 1 . Vom arta c P f ( x) 0 .
E
Presupunem prin absurd c P f ( x) = 0 i deci
( I M ( M M ) 1 M ) f ( x) =
= f ( x) M ( M M ) 1 M f ( x) =
(13)
= f ( x) + M W = 0
n care ( M M ) 1 M f ( x) = W .
Pe de alt parte, A1 u + E v = M W + rj u j , unde rj reprezint un
vector corespunztor liniei j din A1. Prin urmare,
0 = f ( x) + M W + r ju j .
(14)
(15)
A1
d = M P f ( x) = 0 ,
E
120
(16)
(17)
w = (
[A
ln
A1
= M R ( m + l ) n ,
E
u
M ) 1 M f ( x ) R ( m + l ) n = ,
( n + l ) ( m + l )
v
n x
M
u1
.
.
.
u
j
.
.
E = A1
.
u m
v1
.
.
.
v
l
u1
.
.
.
u
j
.
.
.
E + r j u j
.
u m
v1
.
.
.
v
l
[ ]
(18)
(19)
(20)
0 max
unde max se determin ca i n cazul metodei direciilor admisibile de
cutare. Construim x k +1 = x k + k d k , stabilim partiiile A1, A2 ale lui A i
b1, b2 ale lui b nct A1 x k +1 = b1 , A2 x k +1 < b1 .
Facem k k + 1 i relum pasul 1.
3. Chestiuni de studiat
Se consider funcia obiectiv mpreun cu restriciile corespunztoare una
din funciile prezentate n tabelul urmtor (funcia va fi impus de
conductorul lucrrii):
122
Nr.
Funcia
crt.
1.
2.
2 x12 + 2 x22 +
x1 + 2 x2 2
+2 x1 x2 4 x1
x1 0
6 x2
x2 0
x1 x2
x1 + x 2 1
x1 x2
x12 + x22 4 x1
3.
Restricii
2 x2
x1 0
Pct.
ini.
Valoare
f(x0)
4.
x1 2 x2 + 5
-3.5
1
3 ,
5
6
4.16
[0, 0]
[0,1]
-0.6
[1,1]
-4
1.6,
0.8
4.8
[0, 0]
13
17 ,
18
17
101
34
[1,1]
-4.6
[ 2,3]
-10.4
[0,1]
-4.6
1.2,
1.8
-7.88
0.5,
0.5
x2 0
2 x1 + x2 4
x1 + 2 x2 6
x1 0
2 x1 + 3 x2 6
x1 + 4 x2 5
x1 0
x2 0
2 x1 + 0.2 x12
5.
3 x2 + 0.2 x22
de
minim
x2 0
Minim
2 x1 + 3 x2 13
2 x1 + x2 10
x1 0
x2 0
5.6 x2
2 x1 3 x2 3 0
x1 + x2 3 0
2 x1 x2 4 0
x1 0
x2 0
123