You are on page 1of 12

MAINSKI FAKULTET

U BEOGRADU

Predmet:

Metodi optimizacije

Seminarski rad

Metodi optimizacije
Izvetaj br. 3

Br. indeksa

Ime i Prezime

Datum

1059/10

Dimitrije Vasovi

03.02.2012

Ocena

Pregledao

Predmet:

MAINSKI FAKULTET
U BEOGRADU

Metodi optimizacije

Seminarski rad

1.Metoda bisekcije
Metodom polovljenja intervala odrediti aproksimativnu vrednost korena
funkcije s tanou
.

= 10 2
Funkcija:

y = x2 2 x 2 cos x
Koren jednaine

je nula funkcije

. Datu
f ( x ) = x2 2 x 2 cos x

x 2 2x 2cos x = 0

jednainu moemo napisati u obliku

i problem svesti na traenje


x 2 2x = 2cos x

preseka grafova funkcija

i
f1 ( x ) = x2 2 x

f 2 ( x ) = 2 cos x

Prvi korak u reavanju postavljenog zadatka je odreivanje polaznih graninih


taaka a, b takvih da f (a) i f (b) imaju razliite predznake.
Matlab program za crtanje grafika gornjih funkcija:
x=-3:0.01:4;
y1=2.*cos(x);
y2=x.^2 - 2.*x;
plot(x, y1)
hold on;
plot(x, y2)
grid

Br. indeksa

Ime i Prezime

Datum

1059/10

Dimitrije Vasovi

03.02.2012

Ocena

Pregledao

MAINSKI FAKULTET
U BEOGRADU

Predmet:

Seminarski rad

Metodi optimizacije

Slika 1 Grafik funkcije

Sa slike proizlazi da su polazne take graninog intervala:


i

a =1

b=2

Odreivanje broja iteracija za postizanje traene tonosti

= 10 2
n

log( b a ) log
=
log 2

log1 log 0.01


=6.6438
log 2

Br. indeksa

Ime i Prezime

Datum

1059/10

Dimitrije Vasovi

03.02.2012

Ocena

Pregledao

MAINSKI FAKULTET
U BEOGRADU

Predmet:

Metodi optimizacije

Seminarski rad

Usvajamo broj iteracija n =7.

Potrebno je nai reenja date funkcije za segmente a i b


y = 12 2 2 cos(1) = 2.0806
y = 22 4 2 cos(2) =0.8323

f (1) f (2) = 2.0806 0.8323

Manje od 0 pa se stavlja + to znai da se reenje nalazi u segmentu


Interval se polovi
ak + bk
2

1. Iteracija
y = 12 2 2 cos(1) = 2.0806
y = 1.52 3 2 cos(1.5) = 0.8915

f (1) f (1.5) = 2.0806 ( 0.8915)

Vee od 0 pa se stavlja - to znai da se reenje ne nalazi u segmentu


Interval se polovi
ak + bk
2

Br. indeksa

Ime i Prezime

Datum

1059/10

Dimitrije Vasovi

03.02.2012

Ocena

Pregledao

MAINSKI FAKULTET
U BEOGRADU

Predmet:

Metodi optimizacije

Seminarski rad

y = 1.52 3 2 cos(1.5) = 0.8915


y = 22 4 2 cos(2) =0.8323
f (1.5) f (2) = 0.8915 0.8323

Manje od 0 pa se stavlja + to znai da se reenje nalazi u segmentu


Interval se polovi
ak + bk
2

2. Iteracija
y = 1.752 3.5 2 cos(1.75) = 0.0810

y = 22 4 2 cos(2) =0.8323

f (1.75) f (2) = 0.0810 0.8323

Manje od 0 pa se stavlja + to znai da se reenje nalazi u segmentu


Interval se polovi
ak + bk
2

3. Iteracija
y = 1.752 3.5 2 cos(1.75) = 0.0810

Br. indeksa

Ime i Prezime

Datum

1059/10

Dimitrije Vasovi

03.02.2012

Ocena

Pregledao

MAINSKI FAKULTET
U BEOGRADU

Predmet:

y = 1.8752 3.75 2 cos(1.875)

Metodi optimizacije

Seminarski rad

0.3647
=

f (1.75) f (2) = 0.0810 0.3647

Manje od 0 pa se stavlja + to znai da se reenje nalazi u segmentu


Interval se polovi
ak + bk
2

4. Iteracija
y = 1.752 3.5 2 cos(1.75) = 0.0810

y = 1.81252 3.625 2 cos(1.8125)

=0.1389

f (1.75) f (1.8125)= 0.0810 0.1389

Manje od 0 pa se stavlja + to znai da se reenje nalazi u segmentu


Interval se polovi
ak + bk
2

5. Iteracija
y = 1.752 3.5 2 cos(1.75) = 0.0810

y = 1.781252 3.5625 2 cos(1.78125)

0.0282
=

f (1.75) f (1.8125)= 0.0810 0.0282

Manje od 0 pa se stavlja + to znai da se reenje nalazi u segmentu


Br. indeksa

Ime i Prezime

Datum

1059/10

Dimitrije Vasovi

03.02.2012

Ocena

Pregledao

MAINSKI FAKULTET
U BEOGRADU

Predmet:

Metodi optimizacije

Seminarski rad

Interval se polovi
ak + bk
2

6. Iteracija
y = 1.752 3.5 2 cos(1.75) = 0.0810

y = 1.765622 3.53124 2 cos(1.76562)

=0.0266

f (1.75) f (1.76562)= 0.0810 ( 0.0266)

Vee od 0 pa se stavlja - to znai da se reenje ne nalazi u segmentu


Interval se polovi
ak + bk
2

y = 1.765622 3.53124 2 cos(1.76562)


y = 1.781252 3.5625 2 cos(1.78125)

=0.0266

0.0282
=

f (1.76562) f (1.78125)= 0.0266 0.0282

Manje od 0 pa se stavlja + to znai da se reenje nalazi u segmentu


Interval se polovi
ak + bk
2

7. Iteracija
Br. indeksa

Ime i Prezime

Datum

1059/10

Dimitrije Vasovi

03.02.2012

Ocena

Pregledao

Predmet:

MAINSKI FAKULTET
U BEOGRADU

Metodi optimizacije

Seminarski rad

0.773435 + 0.78125
= 1.7773
2

f ( ak )
k

<0

f ( bk )

ak

>0

bk

1.0000

2.0000

1.5000

Predznak od

a k + bk
2

a + bk
f k

1.0000+2.0000
= 1.5000
2

2.0000

1.5000 + 2.0000
= 1.7500
2

1.7500

2.0000

1.7500 + 2.0000
= 1.8750
2

1.7500

1.8750

1.7500 + 1.8750
= 1.8125
2

1.7500

1.8125

1.7500 +1.8125
= 1.78125
2

1.7500

1.78125

1.7500 + 1.78125
= 1.765625
2

1.76562

1.78125

1.76562 + 1.78125
= 1.773435
2

1.773435

1.78125

Na kraju, stavljamo

.
c

0.773435 + 0.78125
= 1.7773
2

Br. indeksa

Ime i Prezime

Datum

1059/10

Dimitrije Vasovi

03.02.2012

Ocena

Pregledao

MAINSKI FAKULTET
U BEOGRADU

Predmet:

Metodi optimizacije

Seminarski rad

Slika 2 Nule funkcije

Funkcija

. Ima 2 nule
f ( x ) = x 2 x 2 cos x
2

Matlab program za odredjivanje nula funkcije:


function r=bis(f, a, b, n)
a0=a;
b0=b;
for i=0:n
c=(a0+b0)/2;
x=c;
y=eval(f);
if y==0
break;
else
x=a0;
if sign(y)==sign(eval(f))
a0=c;
else
b0=c;
end
end
end
r=c;

Br. indeksa

Ime i Prezime

Datum

1059/10

Dimitrije Vasovi

03.02.2012

Ocena

Pregledao

MAINSKI FAKULTET
U BEOGRADU

Predmet:

Seminarski rad

Metodi optimizacije

Sada pozivamo bis za razliite vrednosti n:


bis('x^2-2*x-2*cos(x)',-1,0,1)
bis('x^2-2*x-2*cos(x)',-1,0,2)
bis('x^2-2*x-2*cos(x)',-1,0,3)
bis('x^2-2*x-2*cos(x)',-1,0,4)
bis('x^2-2*x-2*cos(x)',-1,0,5)
bis('x^2-2*x-2*cos(x)',-1,0,6)
bis('x^2-2*x-2*cos(x)',-1,0,7)
bis('x^2-2*x-2*cos(x)',-1,0,30)
bis('x^2-2*x-2*cos(x)',-1,0,50)
bis('x^2-2*x-2*cos(x)',-1,0,100)

Rezultati: ans = -0.750000000000000


ans = -0.625000000000000
ans = -0.562500000000000
ans = -0.593750000000000
ans = -0.609375000000000
ans = -0.617187500000000
ans = -0.621093750000000
ans = -0.620762336533517
ans = -0.620762336586615
Taan
ans = -0.620762336586615
rezultat

1.Metoda Zlatnog preseka


Funkcija:

y = x 2 2 x 2 cos x
Odreivanje broja iteracija za postizanje traene tanosti

= 10 2

log
log(0.618)

log(0.01)
=9.568
log(0.618)

Br. indeksa

Ime i Prezime

Datum

1059/10

Dimitrije Vasovi

03.02.2012

Ocena

Pregledao

MAINSKI FAKULTET
U BEOGRADU

Predmet:

Metodi optimizacije

Seminarski rad

n = 10
x1 = (1 0.38197) a +0.38197 b
x2 = 0.38197 a + (1 0.38197) b
Potrebno je izraunati vrednosti funkcije u dobijenim takama, a potom te
vrednosti uporediti
Ako je

f ( x1 )>f ( x2 )
a x1
x1 x2
f1 f2
x2 = 0.38197 a + (1 0.38197) b
f 2 = f ( x2 )
Ako je

f ( x1 )<f ( x2 )
b x2
x2 x1
f 2 f1
x1 = (1 0.38197) a +0.38197 b
f1 = f ( x1 )

Br. indeksa

Ime i Prezime

Datum

1059/10

Dimitrije Vasovi

03.02.2012

Ocena

Pregledao

MAINSKI FAKULTET
U BEOGRADU

Predmet:

Seminarski rad

Metodi optimizacije

x1

x2

f ( x1 )

f ( x2 )

1
2
3
4
5
6
7
8
9
10

0.00000
0.38197
0.38197
0.38197
0.47214
0.47214
0.49342
0.49342
0.49342
0.49342

1.0000
1.0000
0.76393
0.61803
0.61803
0.52786
0.52786
0.51471
0.51973
0.51471

0.38197
0.61803
0.52786
0.47214
0.52786
0.50658
0.49342
0.50658
0.51471
0.51160

0.61803
0.76393
0.61803
0.52786
0.56231
0.52786
0.50658
0.51471
0.51973
0.51471

-2.4739
-2.4841
-2.5049
-2.5026
-2.5049
-2.5054
-2.5048
-2.5054
-2.5054
-2.5054

-2.4841
-2.3885
-2.4841
-2.5049
-2.5005
-2.5049
-2.5054
-2.5054
-2.5052
-2.5054

1.0000
0.61803
0.38197
0.23607
0.14590
0.09017
0.05572
0.03444
0.02128
0.01315

Minimum se nalazi posle 10 koraka na delu izmedju 0 i 1

a = 0.5065

b = 0.5147

Br. indeksa

Ime i Prezime

Datum

1059/10

Dimitrije Vasovi

03.02.2012

Ocena

Pregledao

You might also like