Sunteți pe pagina 1din 25

ALGORITMOS NO RESTRINGIDOS DE UNA SOLA VARIABLE

Los problemas de programacin no lineal se presentan de muchas formas


distintas. Al contrario del mtodo smplex para programacin lineal, no se
dispone de un algoritmo que resuelva todos estos tipos especiales de
problemas. En su lugar, se han desarrollado algoritmos para algunas clases
(tipos especiales) de problemas de programacin no lineal.
Esta seccin presenta algunos tipos de algoritmos para el problema no
restringido:
Seccin dorada
Mtodo de Newton
Biseccion
Bsqueda directa

METODO SECCION DORADA


Se dice que una funcin de una sola variable es unimodal, cuando tiene
un solo punto mnimo o mximo. Obviamente, en una funcin unimodal, un
punto mnimo o mximo es global o absoluto. Toda funcin cncava o convexa
es unimodal, pero no toda funcin unimodal es cncava o convexa.
El mtodo de la seccin dorada requiere que la funcin sea de una sola
variable y unimodal. La estrategia de este mtodo se basa en tres puntos
iniciales: dos considerados los extremos de un intervalo (
x
( 3)

x 1 y x2

y el tercero

entre los dos primeros de tal suerte que la relacin entre la distancia

de este punto interno al extremo

x 2 ( x 2x 3 )

y la distancia entre los extremos

x
( 2x 1 ) es siempre una constante. Si el rango de incertidumbre inicial es

[a(0), b(0)], el proceso reduce este intervalo en cada evaluacin, en un valor


. Este valor constante, que recibiera de los antiguos griegos el

constante

nombre de seccin de oro, se calcula de la siguiente manera. Sea la k ensima


iteracin, con el rango de incertidumbre [a (k), b(k)] y los puntos a examinar X 1(k)
y X2(k) y entonces:
=

x (k2 )a(k)
b(k )a(k)

b(k)x (k1 )
b(k)a(k )

De esta relacin se establece que:


( k)
(k )
( k)
( k)
(k )
(k)
x(k)
2 a =b x1 x 1 a ( k ) b x 2

(1)
Si se supone que se est minimizando la funcin f(x), entonces si
f ( x(2k ) )

f ( x(1k ) ) , se elimina del anlisis [ x(k)


2
,

(k)
(k)
se elimina el rango [ a , x 1 ]. En el primer caso

(k)

(k+1)

(k)

(k +1)

=x2 , a

(k)

(k+1 )

=a , x 2

(k +1)

x2

(k +1)

(k+1)
x(k)
2 a

(k)

(k)

=x 1

la constante de reduccin

(k)

quedara definida por:

(k)

(k)

x1 a

x2 a

x (k)
2 a

b(k) a(k)

=
(k)

(2)
Tomando (1) en (2) se tiene:

f ( x(2k ) ) f ( x(1k ) )

( f ( x (2k ) ) f ( x (1k )) )

los nuevos extremos del rango de incertidumbre son:


b

]. Si

se tiene que

(k)

( k)

(k)

(k)

(k )

( k)

( k)

(k )

(k )

(k )

( k)

(k )

(k )

(k )

x 1 a =b x2 =b x 2 + a a =b a ( x 2 a )

x1 a

(k)

(k)

(k)

(k)

b a (x2 a ) 1
=
= 1
(k)
(k)
(k)

x 2 a
x (k)
2 a
Pero de (2) se tiene que (3) puede escribirse como:
1
= 1 2+ 1=0

La solucin ( >0

de la ecuacin anterior viene dada por:

51
0.618
2

Para el Segundo caso

x
x
f ( 1( k ) )
f ( 2(k) )

se obtendran un resultado similar.

El mtodo de la seccin de oro procede as para el caso de minimizacin de


una funcin

f ( x) , unimodal, de una sola variable.

Condiciones:
Minimizando
a F(X1) > F(X2)

a= X1

b=b

F(X1) < F(X2)

a= a

b=X2

a F(X1) > F(X2)

a= a

b=X2

a= X1

b=b

Maximizando

F(X1) < F(X2)

Ecuaciones:
x 1=b( 0.618 )( ba )
x 2=a+ ( 0.618 )(ba)

Ejercicio 1:
Use el mtodo de seccin dorada para encontrar el mnimo de la funcin
2

x + 4 cos x

con un error menor a

Iteracin 1:
x 1=b( 0.618 )(ba)
x 1=2( 0.618 )(21)
x 1=1,382
x
2
f ( 1)=x + 4 cos x

x
f ( 1)=(1,382)2+ 4 cos (1,382)

x
f ( 1)=5,908760464

=0,1 en los intervalos [1,2]

x 2=a+ ( 0.618 )(ba)


x 2=1+ ( 0.618 )(21)
x 2=1,618
x
2
f ( 2)=x + 4 cos x

x
2
f ( 2)=(1,618) + 4 cos (1,618)

x
f ( 2)=6,616329175

x
x
f ( 1) a=a ; b=x 2
f ( 2)>

1,6181
=0.618
21

Iteracin 2:
x 1=b( 0.618 )(ba)
x 1=1,618( 0.618 )(1,6181)
x 1=1,236076
x
f ( 1)=x2 + 4 cos x

x
2
f ( 1)=(1,236076) + 4 cos (1,236076)

x
f ( 1)=5,526953074

x 2=a+ ( 0.618 )(ba)


x 2=1+ ( 0.618 )(1,6181)
x 2=1,381924
x
2
f ( 2)=x + 4 cos x

x
f ( 2)=(1,381924)2 +4 cos(1,381924)

x
f ( 2)=5,908550534

x
x
f ( 1) a=a ; b=x 2
f ( 2)>

1,3819241
=0,381924
21

Iteracin 3:
x 1=b( 0.618 )(ba)
x 1=1,381924( 0.618 )(1,3819241)
x 1=1,145894968
x
f ( 1)=x2 + 4 cos x

x
2
f ( 1)=(1,145894968) + 4 cos (1,145894968)

x
f ( 1)=5,312275333

x 2=a+ ( 0.618 )(ba)


x 2=1+ ( 0.618 )(1,3819241)
x 2=1,236029032
x
f ( 2)=x2 + 4 cos x

x
2
f ( 2)=(1,236029032) + 4 cos (1,236029032)

x
f ( 2)=5,526837035

x
x
f ( 1)
f ( 2)>

a=a ; b=x2

1,2360290321
=0,236029032
21

Iteracin 4:
x 1=b( 0.618 )(ba)
x 1=1,236029032( 0.618 )(1,2360290321)

x 1=1,09016309
x
2
f ( 1)=x + 4 cos x

x
f ( 1)=(1,09016309)2+ 4 cos (1,09016309)

x
f ( 1)=5,187731537

x 2=a+ ( 0.618 )(ba)


x 2=1+ ( 0.618 )(1,2360290321)
x 2=1,145865942
x
2
f ( 2)=x + 4 cos x

x
f ( 2)=(1,145865942)2 + 4 cos (1,145865942)

x
f ( 2)=5,312208853

x
x
f ( 1)
f ( 2)>

a=a ; b=x2

1,1458659421
=0,145865942
21

Iteracin 5:

x 1=b( 0.618 )(ba)


x 1=1,145865942( 0.618 )(1,1458659421)
x 1=1,05572079
x
2
f ( 1)=x + 4 cos x

x
f ( 1)=(1,05572079)2+ 4 cos (1,05572079)

x
f ( 1)=5,113867385

x 2=a+ ( 0.618 )(ba)


x 2=1+ ( 0.618 )(1,1458659421)
x 2=1,090145152
x
2
f ( 2)=x + 4 cos x

x
f ( 2)=(1,090145152)2 + 4 cos (1,090145152)

x
f ( 2)=5,18769245

x
x
f ( 1)
f ( 2)>

a=a ; b=x2

1,0901451521
=0,090145152
21

0 , 090145152< 0,1

METODO DE NEWTON RAPSHON


El mtodo de Newton-Raphson es un mtodo iterativo con el que se
pueden encontrar aproximaciones de soluciones de ecuaciones no lineales. El
mtodo parte de un valor inicial que se introduce en una expresin
relacionada con la ecuacin, obteniendo as un resultado. Ese resultado se
introduce en la misma expresin, obteniendo un nuevo resultado, y as
sucesivamente. Si la eleccin del valor inicial es buena, cada vez que
introducimos unos de los resultados obtenidos en esa expresin (es decir,
cada vez que realizamos una iteracin del mtodo) el mtodo nos proporciona
una aproximacin a la solucin real mejor que la que tuviramos
anteriormente. Vamos a ponerle smbolos matemticos al asunto:
Dada una funcin
una raz

derivable en un intervalo

y dado un valor real

converge a esta raz

en el que

cercano a dicha raz, el mtodo iterativo

de la funcin inicial (es decir, a la solucin de

que pertenece al intervalo

tenga

;n0

La funcin es mostrada en azul y la lnea tangente en rojo. Vemos


que xn+1 es una mejor aproximacin que xn para la raz x de la funcin f.

El mtodo de Newton-Raphson es un mtodo abierto, en el sentido de


que su convergencia global no est garantizada. La nica manera de alcanzar
la convergencia es seleccionar un valor inicial lo suficientemente cercano a la
raz buscada. As, se ha de comenzar la iteracin con un valor razonablemente
cercano al cero (denominado punto de arranque o valor supuesto). La relativa
cercana del punto inicial a la raz depende mucho de la naturaleza de la propia
funcin; si sta presenta mltiples puntos de inflexin o pendientes grandes en
el entorno de la raz, entonces las probabilidades de que el algoritmo diverja
aumentan, lo cual exige seleccionar un valor supuesto cercano a la raz. Una
vez que se ha hecho esto, el mtodo lnealiza la funcin por la
recta tangente en ese valor supuesto. La abscisa en el origen de dicha recta
ser, segn el mtodo, una mejor aproximacin de la raz que el valor anterior.
Se realizarn sucesivas iteraciones hasta que el mtodo haya convergido lo
suficiente. f(x)= 0 Sea f : [a, b] -> R funcin derivable definida en el intervalo

real [a, b]. Empezamos con un valor inicial x0 y definimos para cada nmero
natural n Donde f denota la derivada de f.
Se puede observar que el mtodo descrito es de aplicacin exclusiva
para funciones de una sola variable con forma analtica o implcita cognoscible.
Existen variantes del mtodo aplicables a sistemas discretos que permiten
estimar las races de la tendencia, as como algoritmos que extienden el
mtodo de Newton a sistemas multivariables, sistemas de ecuaciones, etc.
PASOS PARA APLICAR EL MTODO DE NEWTON RAPHSON
a) Se expresa la ecuacin como fx=0 e identificamos la funcin f. ejemplo
se tiene: Ln(xn-1)+Cos(xn-1) = 0 queda F(x)= Ln(xn-1)+Cos(xn-1).

b) Calcular la derivada. En este caso sera:

c) Se

construye

la

formula.

ln(X n1)+cos ( X n1)


1
sen ( Xn1)
Xn1

1
sen ( Xn1 )
.
Xn1

Quedando

esta:

X n+1=

Xn

d) Comenzar con una aproximacin inicial. X0= 1,3.


e) Y con los pasos anteriores se halla la aproximacin mejorada de X n+1
que es la interseccin del eje x y la recta tangente de la funcin f(x) en el
punto [X0, f(x0)].
Y as se obtienen los siguientes valores:

X0= 1,3

x1=1,21815

X1= 1,21815

X2= 1,34322

X2=1,34322

X3= 1,39177

X3= 1,39177

X4=1,39770

X4=1.39770

X5= 1,39775

X5=1,39775

X5 ES LA SOLUCIN

CLCULO DEL ERROR ABSOLUTO


La estimacin del error absoluto se desarrolla con el valor obtenido en la ltima
iteracin y el valor de la iteracin anterior. El error verdadero solo puede
calcularse si se cuenta con los valores verdaderos.
Se calcula con la siguiente frmula:
P n+1 P n
100
P n+1

EJERCICIOS

RESUELTOS

MEDIANTE

EL

MTODO

DE

NEWTON

RAPHSON
EJERCICIO 1.
Dada la funcin f(x) =X3+X2+X-20 cuya tolerancia es igual a s=10 -2y Po= 1,
determine la raz.
Resolvemos:
f(x)= X3+X2+X-20
f(x)= 3X2+2X1+1
Iteracin 1, cuando n=1 tenemos:

P + P + P 020
P1=P0 0 2 0
1
3 P0 + 2 P0 +1
Sustituimos:
3

P1=1

1 +1 +120
2
1
31 +21 +1

P1= 1.714285

Calculamos el error y sustituimos queda:


r =

1.7142851

100
1.714285

r=

41,66 %
Iteracin 2, Cuando n=2:
P13 + P12 + P120
P2=P1
3 P 12 +2 P11+1

Al sustituir:

P2=1.714285

1.7142853+ 1.7142852+1.71428520
31.7142852+21.7142851 +1.714285

Me queda que:
P2=1.585701
Al calcular el error y sustituir:
r =

1.5857011.714285

%
Iteracin 3, Cuando n=3:

100
1.585701

r= 8,11

P3=P2

P2 + P 2 + P220
2
1
3 P2 + 2 P2 +1

Al sustituir:

P3=1.585701

1.5857013 +1.5857012 +1.58570120


31.5857012 +21.5857011+1.585701

Me queda que:
P3=1,580148
Al calcular el error y sustituir nos queda:
r =

1,5801481.585701

100
1,580148

0,35%
Iteracin 4, Cuando n=4:
P33+ P 32+ P3 20
P 4=P3
3 P32+ 2 P31 +1
Al sustituir:

P 4=1,580148

1,580148 + 1,580148 +1,58014820


2
1
31,580148 + 21,580148 +1,580148

Me queda que:
P4=1,580138
Al calcular el error y sustituir nos queda:

r=

r =

1,5801381,580148

100
1,580138

r=

0,0006%
Dado que 0.0006 es < 0.001, se dice que se ha encontrado una raz
satisfactoria en P4=1,580138
La tabla:

METODO DE BISECCION
Para este tipo de ejercicios dan:
Funcin
Max f(x) ; Min f(x)

Error
=0,01

Punto inicial
(x, x)

Nota: El error debe multiplicarse por 2, por lo que =0,01*2 = 0,02

Pasos
Primero hay que tener en cuenta que cuando se Maximiza la funcin
debe ser cncava () y si se minimiza la funcin debe ser convexa ( ). Para
determinar si la funcin es cncava o convexa se debe obtener la primera y
segunda derivada de la funcin
Si f(x) y f(x) < 0 La funcin es cncava.
Si f(x) y f(x) > 0 La funcin es convexa.

Nota: Si el problema es maximizar y al verificar la curva de esta es convexa


entonces el problema no tiene solucin.
Al verificar la concavidad o convexidad se procede a verificar usando el
error para determinar si se debe seguir iterando.
Si

x
x

> se continua iterando.

Para la 1o Iteracin
-Calcular el punto medio:
x'=

x+x
2

-Se sustituye x en f(x) y aplicar la siguiente regla para obtener los nuevos
puntos:

Si f(x) < 0 entonces

x=x '

Si f(x) > 0 entonces

x=x '

Con los nuevos puntos se procede a calcular la segunda iteracin hasta que
xx

Para expresar la solucin correctamente se sustituye la ltima x en la


funcin original
Ejemplo
Funcin
Error
4
Max f(x) = 12x 3x 2 =0,01 * 2 = 0,02
x6
F(x)= 12- 12x3-12x5 < 0 es Cncava
F(x) = -36x2 60 x4 < 0 es Cncava
Como |2-0| > 0,02 se procede con la primera iteracin

Punto inicial
( x , x )=(0,2)

Iteracin 1:
'

x=

x + x 0+2
=
=1
2
2

F(1) = 12- 12(1)3-12(1)5= -12


|1-0| = 1

como -12 < 0 entonces

x=1

1 > 0,02 Se sigue iterando

Nuevos puntos (0,1)


Iteracin 2:
'

x=

x + x 0+1 1
=
=
2
2
2

F(1/2) = 12- 12(1/2)3-12(1/2)5= 10,13

como 10,13 > 0 entonces

|1/2 1 | = 0,5 > 0,02 Se sigue iterando


Nuevos puntos (1/2, 1)
Iteracin 3:
1
+1
x+x 2
3
'
x=
=
=
2
2
4

F = 12- 12(3/4)3-12(3/4)5= 4,09 como 4,09 > 0 entonces


|3/4 1 | = 0,25 > 0,02 Se sigue iterando
Nuevos puntos (3/4, 1)
Iteracin 4:
3
+1
x+x 4
7
'
x=
=
=
2
2
8

x=

3
4

x=

1
2

F = 12- 12(7/8)3-12(7/8)5= -2,19

x=

como -2,19 < 0 entonces

7
8

|3/4-7/8| = 0,125 > 0,02 Se sigue iterando


Nuevos puntos (3/4; 7/8)
Iteracin 5:
3 7
+
x
+
x
4 8 13
'
x=
=
=
2
2
16
F = 12- 12(13/16)3-12(13/16)5= 1,31
x=

como

1,31

>

entonces

13
16

|13/16 7/8 | = 0,0625 > 0,02 Se sigue iterando


Nuevos puntos (13/16;7/8)
Iteracin 6:
13 7
+
x + x 16 8 27
'
x=
=
=
2
2
32
F= 12- 12(27/32)3-12(27/32)5= -0,340
x=

como -0,34 < 0 entonces

27
32

|13/16-27/32| = 0,0312 > 0,02 Se sigue iterando


Nuevos puntos (13/16; 27/32)
Iteracin 7:

13 27
+
x + x 16 32 53
'
x=
=
=
2
2
64
F = 12- 12(53/64)3-12(53/64)5= 0,511
x=

como 0,511 > 0 entonces

53
64

|53/64 27/32 | = 0,015 < 0,02 Se deja de iterar y se sustituye el x en f(x)


Solucin
F(53/64)= 12(53/64) 3(53/64)4 2(53/64)6 = 7,88

MTODO DE BSQUEDA DIRECTA:


Los mtodos de bsqueda directa se aplican sobre todo a funciones de una
sola variable estrictamente unimodales, en donde la optimizacin de funciones
de una sola variable es clave en el desarrollo del algoritmo general de mltiples
variables.
La idea de los mtodos de bsqueda directa es identificar el intervalo de
incertidumbre que se sabe incluye el punto de solucin ptima. El
procedimiento localiza el ptimo estrechando de manera interactiva el intervalo
de incertidumbre a un nivel de exactitud deseada.
En esta seccin se presentan dos algoritmos de bsqueda estrechamente
relacionados; el dictomo y el de la seccin dorada. Ambos buscan la
maximizacin de una funcin unimodal f(x) a lo largo del intervalo a x b que
incluye el punto ptimo x*. Los dos mtodos se inician con el intervalo inicial de
incertidumbre

I0

(a, b).

I i1

Paso general i. Sea


(en la iteracin 0, (
determinan

x1

xL

=(

xL

= a) y (

x2

xR

,
xR

) el intervalo actual de incertidumbre

= b). La siguiente tabla muestra cmo se

Ii

El siguiente intervalo de incertidumbre,

se determina de la siguiente

manera:
1. Si f (

xi

) > f (

establezca
2. Si f (

xi

) < f (

establezca
3. Si f (
xR

xi
=

Ii

Ii

)=f(
x2

x2
=(
x2
=(
x2

), entonces
xL

x2

xR

La manera de determinar

Ii

x1

x2

. Sea

xR

x2

x1

< x* <

xR

. Sea

xL

x1

), entonces

establezca

< x* <

), entonces
x1

xL

x1

< x* <
x2

x2

. Sea

xL

x1

I i +1

<

Ii

como

=(

x1

x2

garantiza que

se demostrar en breve. El algoritmo termina en la iteracin k si


donde es un nivel de exactitud especificado por el usuario.

Ik

En el mtodo dictomo, los valores

x1

x2

se sitan simtricamente

alrededor del punto medio del intervalo de incertidumbre actual. Esto significa
que:
I i +1 = 0.5 ( I i

+ )

La aplicacin repetida del algoritmo garantiza que la longitud del


intervalo de incertidumbre se aproxime a la exactitud deseada, .
En el mtodo de la seccin dorada, la idea es ms elaborada.
Observamos que cada intervalo del mtodo dictomo requiere calcular los dos
valores f(

x1

) y f(

x2

), pero al final se descarta uno de ellos. Lo que el

mtodo de la seccin dorada propone es ahorrar clculos al reutilizar el valor


desechado en la iteracin inmediatamente subsiguiente.
Definamos:
x 1=x R (x R x L )

x R x L
x 2=x L + 0< <1

Entonces el intervalo de incertidumbre


xL

x2

) o (

significa que
x2

igual a

x1
x1

x1

xR

Ii

en la iteracin i es igual a (

). Considere el caso

est incluida en

Ii

Ii

= (

xL

), lo que

. En la iteracin i+1, seleccionamos

en la iteracin i, lo cual conduce a la siguiente ecuacin:

x 2 (Iteracin i+1) =

x 1 (iteracin i)

La sustitucin produce
xL

x2

+ a[ x 2 (iteracin i) -

xL ] =

xR

+ a( x R

xL )

O
xL

+ [ x L

+ ( x R -

xL ) -

xL ] =

xR

- ( x R

xL )

La cual se simplifica como


a2 +1=0

Esta ecuacin da por resultado

1 5
2

, se selecciona la raz

positiva
=

1+ 5
2

= 0.681 porque

se encuentra entre 0 y 1 (0 <

< 1)
El diseo de los clculos de la seccin dorada garantiza una reduccin a
en los intervalos de incertidumbre sucesivos, es decir:
i+ 1= I i
I
El mtodo de la seccin dorada converge con ms rapidez que el
mtodo dictomo porque, en ste, el estrechamiento del intervalo de
incertidumbre se desacelera apreciablemente a medida que

I . Adems,

el mtodo de la seccin dorada requiere la mitad de los clculos porque recicla


un conjunto de clculos de iteracin inmediata anterior.
Ejemplo:

Maximizar F(x)=

3x,
1(
x +20 ) ,
3

0 x 2
2 x 3

El valor mximo de f(x) ocurre en x=2. La tabla siguiente demuestra los


clculos para las iteraciones 1 y 2 siguiendo los mtodos dictomo y de la
seccin dorada, con = 0.1. Continuando

1. REALIZAR POR EL MTODO DE SECCION DORADA

Maximizar F(x)=

3x,
1(
x +20 ) ,
3

0 x 2
2 x 3

L
R x L
1+ 5
1= x (
)(
x
2
x

2=
x

L+(

1+ 5
R x L
)
2
(
x
x

ITERACION 1
0= ( 0,3 )
=
I

L
( , x R)

1=
x

3 0.618(3 0)= 1.146 ;

f ( x1 ) = 3.438

2=
x

0 + 0.618(3 0)= 1.854 ;

f ( x2 ) = 5.562

f ( x2 )

ITERACION 2

f (x1 )

x L =1..146

I 1 (1.146, 3)

x
0= (1.146, 3 )

L
= ( , x R)
I

1=
x

Como
2=
x
f ( x2 )

3 0.618(3 1.146)= 1.854;


1=
x

x2

f (x1 ) = 5.562

en iteracin 0 = 1.854;

1.146 + 0.618(3 1.146)= 2.292;

f (x1 )

x L =1.854

f (x1 ) = 5.562

f (x2 ) = 5.903
I 1 (1.854, 3)

El ejerci terminara cuando el intervalo de incertidumbre se ajuste o se


estreche a la tolerancia deseada.

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