algoritmos no restringidos de una sola variable

26
ALGORITMOS NO RESTRINGIDOS DE UNA SOLA VARIABLE Los problemas de programación no lineal se presentan de muchas formas distintas. Al con trario del método símplex para programación lineal, no se dispone de un algoritmo que re suelva todos estos tipos especiales de problemas. En su lugar, se han desarrollado algoritmos para algunas clases (tipos especiales) de problemas de programación no lineal. Esta sección presenta algunos tipos de algoritmos para el problema no restringido: Sección dorada Método de Newton Biseccion Búsqueda directa METODO SECCION DORADA Se dice que una función de una sola variable es unimodal, cuando tiene un solo punto mínimo o máximo. Obviamente, en una función unimodal, un punto mínimo o máximo es global o absoluto. Toda función cóncava o convexa es unimodal, pero no toda función unimodal es cóncava o convexa. El método de la sección dorada requiere que la función sea de una sola variable y unimodal. La estrategia de este método se basa en tres puntos iniciales: dos considerados los extremos de un intervalo ( x 1 yx 2 ¿ y el tercero ( x ¿¿ 3) ¿

Upload: ana-torres

Post on 08-Sep-2015

218 views

Category:

Documents


3 download

DESCRIPTION

algoritmos unimodales

TRANSCRIPT

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 algunasclases (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 (y el tercero entre los dos primeros de tal suerte que la relacin entre la distancia de este punto interno al extremo y la distancia entre los extremos 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 constante . Este valor constante, que recibiera de los antiguos griegos el 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 X1(k) y X2(k) y entonces:

De esta relacin se establece que:

(1)

Si se supone que se est minimizando la funcin f(x), entonces si , se elimina del anlisis [, ]. Si se elimina el rango []. En el primer caso se tiene que los nuevos extremos del rango de incertidumbre son:

la constante de reduccin quedara definida por:

(2)

Tomando (1) en (2) se tiene:

Pero de (2) se tiene que (3) puede escribirse como:

La solucin ( de la ecuacin anterior viene dada por:

Para el Segundo caso se obtendran un resultado similar. El mtodo de la seccin de oro procede as para el caso de minimizacin de una funcin , unimodal, de una sola variable.

Condiciones:

Minimizando

1. F(X1) > F(X2) a= X1 b=b

1. F(X1) < F(X2) a= a b=X2

Maximizando

1. F(X1) > F(X2) a= a b=X2

1. F(X1) < F(X2) a= X1 b=b

Ecuaciones:

Ejercicio 1:

Use el mtodo de seccin dorada para encontrar el mnimo de la funcin con un error menor a en los intervalos [1,2]

Iteracin 1:

Iteracin 2:

Iteracin 3:

Iteracin 4:

Iteracin 5:

METODO DE NEWTON RAPSHON

Elmtodo de Newton-Raphsones 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 unaiteracindel 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 funcinderivable en un intervaloen el quetenga una razy dado un valor realcercano a dicha raz, el mtodo iterativo converge a esta razde la funcin inicial (es decir, a la solucin de que pertenece al intervalo.

;n0

La funcines mostrada en azul y la lnea tangente en rojo. Vemos quexn+1es una mejor aproximacin quexnpara la razxde 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 rectatangenteen 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 Seaf: [a,b] ->R funcin derivable definida en el intervalo real [a,b]. Empezamos con un valor inicialx0y definimos para cadanmero naturaln Dondefdenota laderivadadef.

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. Quedando esta: Xn+1= Xn - .

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

e) Y con los pasos anteriores se halla la aproximacin mejorada de Xn+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:

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:

Sustituimos:

P1= 1.714285

Calculamos el error y sustituimos queda:

r = r= 41,66 %

Iteracin 2, Cuando n=2:

Al sustituir:

Me queda que:

P2=1.585701

Al calcular el error y sustituir:

r = r= 8,11 %

Iteracin 3, Cuando n=3:

Al sustituir:

Me queda que:

P3=1,580148

Al calcular el error y sustituir nos queda:

r = r= 0,35%

Iteracin 4, Cuando n=4:

Al sustituir:

Me queda que:

P4=1,580138

Al calcular el error y sustituir nos queda:

r = 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

Error

Punto inicial

Max f(x) ; Min f(x)

=0,01

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 > se continua iterando.

Para la 1o Iteracin

-Calcular el punto medio:

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

Si f(x) < 0 entonces

Si f(x) > 0 entonces

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

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

Ejemplo

Funcin

Error

Punto inicial

Max f(x) = 12x 3x4 2 x6

=0,01 * 2 = 0,02

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

Iteracin 1:

F(1) = 12- 12(1)3-12(1)5= -12 como -12 < 0 entonces

|1-0| = 11 > 0,02 Se sigue iterando

Nuevos puntos (0,1)

Iteracin 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:

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:

F = 12- 12(7/8)3-12(7/8)5= -2,19 como -2,19 < 0 entonces

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

Nuevos puntos (3/4; 7/8)

Iteracin 5:

F = 12- 12(13/16)3-12(13/16)5= 1,31 como 1,31 > 0 entonces

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

Nuevos puntos (13/16;7/8)

Iteracin 6:

F= 12- 12(27/32)3-12(27/32)5= -0,340 como -0,34 < 0 entonces

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

Nuevos puntos (13/16; 27/32)

Iteracin 7:

F = 12- 12(53/64)3-12(53/64)5= 0,511 como 0,511 > 0 entonces

|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 (a, b).

Paso general i. Sea = ( , ) el intervalo actual de incertidumbre (en la iteracin 0, ( = a) y ( = b). La siguiente tabla muestra cmo se determinan y :

El siguiente intervalo de incertidumbre, se determina de la siguiente manera:

1. Si f () > f (), entonces < x* < . Sea = establezca = (,)

2. Si f () < f (), entonces < x* < . Sea = establezca = (,)

3. Si f () = f (), entonces < x* < . Sea = y = establezca = (,)

La manera de determinar y garantiza que < como se demostrar en breve. El algoritmo termina en la iteracin k si , donde es un nivel de exactitud especificado por el usuario.

En el mtodo dictomo, los valores y se sitan simtricamente alrededor del punto medio del intervalo de incertidumbre actual. Esto significa que:

= 0.5 ( + )

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() y f(), 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:

Entonces el intervalo de incertidumbre en la iteracin i es igual a (, ) o (, ). Considere el caso = (, ), lo que significa que est incluida en . En la iteracin i+1, seleccionamos igual a en la iteracin i, lo cual conduce a la siguiente ecuacin:

(Iteracin i+1) = (iteracin i)

La sustitucin produce

+ a[(iteracin i) - ] = + a( - )

O

+ [ + (- ) - ] = - ( - )

La cual se simplifica como

Esta ecuacin da por resultado = , se selecciona la raz positiva

= = 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:

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 . 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)=

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)=

()(

(

ITERACION 1

=

3 0.618(3 0)= 1.146 ; = 3.438

0 + 0.618(3 0)= 1.854 ; = 5.562

;

ITERACION 2

=

3 0.618(3 1.146)= 1.854; = 5.562

Como en iteracin 0 = 1.854; = 5.562

1.146 + 0.618(3 1.146)= 2.292; = 5.903

;

El ejerci terminara cuando el intervalo de incertidumbre se ajuste o se estreche a la tolerancia deseada.