Vous êtes sur la page 1sur 11

UNIVERSIDAD NACIONAL DE TRUJILLO

Escuela de Post Grado


Seccin de Postgrado de Doctorado
DOCTORADO EN CIENCIAS E INGENIERA
DESARROLLO DE PROBLEMAS DEL CAPITULO N 13

METODOS Y MODELOS DE OPTIMIZACION

AUTORES:
ALBUQUERQUE FERNNDEZ, Luis Jos
BENITES ALIAGA, Alex Antenor
DURAND ORELLANA, Roco del Pilar
HURTADO ZAMORA, Oswaldo

DOCENTE:
Dr. EVANGELISTA BENITES, Guillermo

TRUJILLO PER
2015
DESARROLLO DE PROBLEMAS DEL CAPITULO 13

Mtodos Numricos para Ingenieros 5ta Ed. Chapra, Steven C.,


Canale, Raymond P.
13.1. Dada la frmula
f(x)=-x2+8x-12
a) Determine en forma analtica (esto es, por medio de derivacin) el valor mximo y
el correspondiente de x para esta funcin.
b) Verifique la ecuacin (13.7) produce los mismos resultados con base en los
valores iniciales de X0=0, X1=2 y X2=6
DESARROLLO
a) La derivada de la funcin es:

f ' ( x) 2 x 8
f " ( x ) 2
; resolviendo la derivada con valor inicial 0, obtenemos x=4
c)

Usando la ecuacin del ejercicio del 13.7

x0 = 0

f(x0) = 12

x1 = 2

f(x1) = 0

x2 = 6

f(x2) = 0

x3

12( 4 36) 0(36 0) 0(0 4)


4
2( 12)(2 6) 2(0)(6 0) 2(0)(0 2)

13.12. Determine el mnimo de la funcin del problema 13.11 con los mtodos siguientes:

P g i n a 2 | 11

a) Mtodo de Newton (x0=-1, e=1%).


b) Mtodo de Newton, pero con el uso de una aproximacin en diferencias finitas
para las estimaciones de las derivadas

Donde

=fracci n de perturbaci n ( 0.01 ) , x 0=1

DESARROLLO
a) Mtodo de Newton (x0=-1)
La primera y la segunda derivada de la funcin que se est evaluando es:

f ' ( x) 6 10 x 9 x 2 16 x 3
(Primera Derivada)

f " ( x ) 10 18 x 48 x 2
(Segunda Derivada)
Trabajando con el mtodo de Newton-Raphson, el cual se resume en:

xi 1 xi

f ' ( x)
f '' ( x )
; Valor inicial es x0=-1

xi 1 xi

6 10 x i 9 x i2 16 x i3
10 18 xi

48 x i2

11
0.725
40

El valor de la funcin es 1,24. La segunda iteracin da -0,60703, que tiene un valor de la


funcin de 1,07233. El proceso se puede repetir, con los resultados tabulados a
continuacin:

P g i n a 3 | 11

f(x)

f'(x)

f"(x)

-1

-11

40

-0.725

1.24002

-2.61663

22.180

-0.60703

1.07233

-0.33280

16.76067

-0.58717

1.06897

-0.00781

15.97990

-0.58668

1.06897

-4.6E-06

15.96115

As, dentro de cuatro iteraciones, el criterio de parada se cumple y el resultado est


convergiendo sobre el verdadero valor de f (x) = 1,06897 en x = -0.58668.

b) Mtodo de Newton, pero con el uso de una aproximacin en diferencias finitas para
las estimaciones de las derivadas

Las aproximaciones en diferencias finitas de los derivados se pueden calcular como

f ' ( x)

f " ( x)

3.1120 2.8920
11.001
0.01

3.1120 2(3) 2.8920

0.01 2

40.001

Trabajando con el mtodo de Newton-Raphson, el cual se resume en:

xi 1

f ' ( x)
x i ''
f ( x)

=fracci n de perturbaci n ( 0.01 ) , x 0=1


; Valores

P g i n a 4 | 11

xi 1 xi

6 10 xi 9 xi2 16 xi3
10 18 xi

48 xi2

11 .001
0.725
40 .001

El valor de la funcin es 1,2399. La segunda iteracin da -0,6070, que tiene


un valor de la funcin de 1,0723. El proceso se puede repetir, con los
resultados tabulados a continuacin:
i

xi

xi

f(xi)

xi xi

f(xi xi)

xi+ xi

f(xi+ xi)

f'(xi)

f"(xi)

-1

-0.01

-0.99

2.8920

-1.0100

3.1120

-11.001

40.001

-0.7250

1.2399

-0.00725

-0.7177

1.2216

-0.7322

1.2595

-2.616

22.179

-0.6070

1.0723

-0.00607

-0.6009

1.0706

-0.6131

1.0746

-0.333

16.760

-0.5872

1.0690

-0.00587

-0.5813

1.0692

-0.5930

1.0693

-0.008

15.980

-0.5867

1.0690

-0.00587

-0.5808

1.0692

-0.5925

1.0692

-4.1E-06

15.961

As, dentro de cuatro iteraciones, el criterio de parada se cumple y el resultado est


convergiendo sobre el verdadero valor de f (x) = 1,0690 en x = -0.5867.

13.13. Desarrolle un programa con el empleo de un lenguaje de programacin o de macros,


para implantar el algoritmo de la bsqueda de la seccin dorada. Disee el programa
expresamente para que localice un mximo. La subrutina debe tener las
caractersticas siguientes:

Iterar hasta que el error relativo est por debajo de un criterio de detencin o

exceda un nmero mximo de iteraciones.


Dar los valores ptimos tanto de x como de f(x).

P g i n a 5 | 11

Minimice el nmero de evaluaciones de la funcin.

Pruebe su programa con el mismo problema del ejemplo 13.1.


DESARROLLO
Utilizando el Matlab
Sub GoldMax()
Dim ier As Integer
Dim xlow As Double, xhigh As Double
Dim xopt As Double, fopt As Double
xlow = 0
xhigh = 4
Call GoldMx(xlow, xhigh, xopt, fopt, ier)
If ier = 0 Then
MsgBox "xopt = " & xopt
MsgBox "f(xopt) = " & fopt
Else
MsgBox "Does not appear to be maximum in [xl, xu]"
End If
End Sub
Sub GoldMx(xlow, xhigh, xopt, fopt, ier)
Dim iter As Integer, maxit As Integer, ea As Double, es As Double
Dim xL As Double, xU As Double, d As Double, x1 As Double
Dim x2 As Double, f1 As Double, f2 As Double
Const R As Double = (5 ^ 0.5 - 1) / 2
ier = 0
maxit = 50
es = 0.001
xL = xlow
xU = xhigh
iter = 1
d = R * (xU - xL)
x1 = xL + d
x2 = xU - d
f1 = f(x1)
f2 = f(x2)
If f1 > f2 Then
xopt = x1
fopt = f1
Else
xopt = x2
fopt = f2
End If
If fopt > f(xL) And fopt > f(xU) Then
Do
d = R * d
If f1 > f2 Then
xL = x2
x2 = x1
x1 = xL + d
f2 = f1
f1 = f(x1)
Else
xU = x1
x1 = x2
x2 = xU - d
f1 = f2
f2 = f(x2)

P g i n a 6 | 11

End If
iter = iter + 1
If f1 > f2 Then
xopt = x1
fopt = f1
Else
xopt = x2
fopt = f2
End If
If xopt <> 0 Then ea = (1 - R) * Abs((xU - xL) / xopt) * 100
If ea <= es Or iter >= maxit Then Exit Do
Loop
Else
ier = 1
End If
End Sub
Function f(x)
f = 2 * Sin(x) - x ^ 2 / 10
End Function

13.14. Desarrolle un programa con el que se describe en el problema 13.13., pero haga que
ejecute una minimizacin o una maximizacin en funcin de la preferencia del
usuario.
DESARROLLO
Utilizando el Matlab
Sub GoldMinMax()
Dim ind As Integer
'Minimization (ind = -1); Maximization (ind =
1)
Dim xlow As Double, xhigh As Double
Dim xopt As Double, fopt As Double
xlow = 0.1
xhigh = 5

P g i n a 7 | 11

Call GoldMnMx(xlow, xhigh, -1, xopt, fopt)


MsgBox "xopt = " & xopt
MsgBox "f(xopt) = " & fopt
End Sub
Sub GoldMnMx(xlow, xhigh, ind, xopt, fopt)
Dim iter As Integer, maxit As Integer, ea As Double, es As Double
Dim xL As Double, xU As Double, d As Double, x1 As Double
Dim x2 As Double, f1 As Double, f2 As Double
Const R As Double = (5 ^ 0.5 - 1) / 2
maxit = 50
es = 0.001
xL = xlow
xU = xhigh
iter = 1
d = R * (xU - xL)
x1 = xL + d
x2 = xU - d
f1 = f(ind, x1)
f2 = f(ind, x2)
If f1 > f2 Then
xopt = x1
fopt = f1
Else
xopt = x2
fopt = f2
End If
Do
d = R * d
If f1 > f2 Then
xL = x2
x2 = x1
x1 = xL + d
f2 = f1
f1 = f(ind, x1)
Else
xU = x1
x1 = x2
x2 = xU - d
f1 = f2
f2 = f(ind, x2)
End If
iter = iter + 1
If f1 > f2 Then
xopt = x1
fopt = f1
Else
xopt = x2
fopt = f2
End If
If xopt <> 0 Then ea = (1 - R) * Abs((xU - xL) / xopt) * 100
If ea <= es Or iter >= maxit Then Exit Do
Loop
fopt = ind * fopt
End Sub
Function f(ind, x)
f = 2 * x + 3 / x
f = ind * f
End Function

P g i n a 8 | 11

13.17. En ciertos puntos atrs de un aeroplano se hacen mediciones de la presin. Los


datos tienen el mejor ajuste con la curva y=6*cosx-1.5*senx, desde x=0 hasta 6 s.
Utilice cuatro iteraciones del mtodo de la bsqueda de la seccin dorada para
encontrar la presin mnima. Elija xl=2 y xu=4
DESARROLLO
Primero, se utiliza la razn dorada para crear los puntos interiores:

5 1
( xu xl )
2
P g i n a 9 | 11

5 1
(4 2) 1.2361
2

x1 xl d
x1 2 1.2361 3.2361

x 2 xu d
x 2 4 1.2361 2.7639
y=6*cosx-1.5*senx

f ( x1 ) f (3.2361) 5.8317 f ( x 2 ) f ( 2.7639 ) 6.1303

El proceso se puede repetir y todas las iteraciones resumirse como


i

xl

f(xl)

x2

f(x2)

x1

f(x1)

xu

f(xu)

xopt

-3.8608

2.7639

-6.1303

3.2361

-5.8317

-2.7867

1.2361

2.7639

-3.8608

2.4721

-5.6358

2.7639

-6.1303

3.236
1

-5.8317

0.7639

2.7639

2.472
1

-5.6358

2.7639

-6.1303

2.9443

-6.1776

3.236
1

-5.8317

0.4721

2.9443

2.763
9

-6.1303

2.9443

-6.1776

3.0557

-6.1065

3.236
1

-5.8317

0.2918

2.9443

Despus de cuatro iteraciones, el proceso est convergiendo sobre el verdadero mnimo


en x = 2,9443 donde la funcin tiene un valor de f (x) = -6.1776.

13.18.
DESARROLLO
Primero, se utiliza la razn dorada para crear los puntos interiores:

P g i n a 10 | 11

5 1
( xu xl )
2

5 1
(60 0) 37.0820
2

x1 xl d
x1 0 37.0820 37.0820

x 2 xu d
x 2 60 37.0820 22 .9180

f ( x 2 ) f (22 .9180 ) 18.336

f ( x1 ) f (37.0820 ) 19.074

El proceso se puede repetir y todas las iteraciones resumirse como


i

xl

f(xl)

x2

f(x2)

x1

f(x1)

xu

f(xu)

xopt

22.9180

18.336

37.0820

19.074

60

4.126

37.0820

37.0820

22.9180

18.336

37.0820

19.074

45.8359

15.719

60

4.126

22.9180

37.0820

22.9180

18.336

31.6718

19.692

37.0820

19.074

45.8359

15.719

14.1641

31.6718

22.9180

18.336

28.3282

19.518

31.6718

19.692

37.0820

19.074

8.7539

31.6718

28.3282

19.518

31.6718

19.692

33.7384

19.587

37.0820

19.074

5.4102

31.6718

28.3282

19.518

30.3947

19.675

31.6718

19.692

33.7384

19.587

3.3437

31.6718

30.3947

19.675

31.6718

19.692

32.4612

19.671

33.7384

19.587

2.0665

31.6718

30.3947

19.675

31.1840

19.693

31.6718

19.692

32.4612

19.671

1.2772

31.1840

30.3947

19.675

30.8825

19.689

31.1840

19.693

31.6718

19.692

0.7893

31.1840

10

30.8825

19.689

31.1840

19.693

31.3703

19.693

31.6718

19.692

0.4878

31.3703

Despus de cuatro iteraciones, el proceso est convergiendo sobre el verdadero mnimo


en x = 31.3713 donde la funcin tiene un valor de f (x)=19.6934

P g i n a 11 | 11

Vous aimerez peut-être aussi