You are on page 1of 23

METODO DE LA REGLA FALSA

En clculo numrico, el mtodo de regula falsi (regla falsa) o falsa posicin es un iterativo de resolucin numrica de ecuaciones no lineales. El mtodo combina el mtodo de biseccin y el mtodo. EL METODO

Se busca una solucin de la ecuacin f(x) = 0, una raz de f. Como en el mtodo de biseccin, se parte de un intervalo inicial [a0,b0] con f(a0) y f(b0) de signos opuestos, lo que garantiza que en su interior hay al menos una raz (vase el teorema de Bolzano). El algoritmo va obteniendo sucesivamente en cada paso un intervalo ms pequeo [ak, bk] que sigue incluyendo una raz de la funcin f. A partir de un intervalo [ak, bk] se calcula un punto interior ck:

Dicho punto es la interseccin de la recta que pasa por (a,f(ak)) y (b,f(bk)) con el eje de abscisas (igual a como se hace en el mtodo de la secante). Se evala entonces f(ck). Si es suficientemente pequeo, ck es la raz buscada. Si no, el prximo intervalo [ak+1, bk+1] ser:

[ak, ck] si f(ak) y f(ck) tienen signos opuestos; [ck, bk] en caso contrario.

ANALISIS DEL METODO Se puede demostrar que bajo ciertas condiciones el mtodo de la falsa posicin tiene orden de convergencia lineal, por lo que suele converger ms lentamente a la solucin de la ecuacin que el mtodo de la secante, aunque a diferencia de en el mtodo de la secante el mtodo de la falsa posicin siempre converge a una solucin de la ecuacin. El algoritmo tiene el inconveniente de que si la funcin es convexa o cncava cerca de la solucin, el extremo del intervalo ms alejado de la solucin queda fijo variando nicamente el ms cercano, convergiendo muy lentamente. Un ejemplo de este fenmeno se da en la funcin: Comenzando con [1,1]. El extremo izquierdo del intervalo, 1, nunca cambia; el extremo derecho se aproxima a 0 linealmente.

La situacin en que el mtodo falla es fcil de detectar (el mismo extremo del intervalo se elige dos veces seguidas) y fcil de corregir eligiendo un ck diferente, como:

Restndole peso a uno de los extremos del intervalo para obligar a que el prximo ck ocurra de ese lado de la funcin. El factor 2 usado arriba, garantiza una convergencia superlineal (asintticamente, el algoritmo ejecuta dos pasos normales por cada paso modificado). Hay otras formas que dan incluso mejores tasas de convergencia. El ajuste mencionado arriba, y otras modificaciones similares se conocen como Algoritmo Illinois. Ford1 resume y analiza las variantes superlineales del mtodo regula falsi modificado. A juzgar por la bibliografa, estos mtodos eran bien conocidos en los aos 1970 pero han sido olvidados en los textos actuales. Mtodo de la regla falsa - Aplicacin en Matlab: disp(' METODO DE LA REGLA FALSA '); disp(' ---------------------'); %f=input('INGRESE FUNCION: ','s'); f='exp(-x)-log(x)'; %xai=input('INGRESE LIMITE INFERIOR DEL INTERVALO: '); xai=1; %xbi=input('INGRESE LIMITE SUPERIOR DEL INTERVALO: '); xbi=2; %tol=input('INGRESE PORCENTAJE DE ERROR: '); tol=1; f=inline(f); i=1; ea(1)=100; if f(xai)*f(xbi) <>= tol, if f(xa(i))*f(xr(i))<> 0 xa(i+1)=xr(i); xb(i+1)=xb(i); end %xr(i+1)=(xa(i+1)+xb(i+1))/2;

xr(i+1)=xa(i+1)-(f(xa(i+1))*(xb(i+1)-xa(i+1)))/(f(xb(i+1))-f(xa(i+1))); ea(i+1)=abs((xr(i+1)-xr(i))/(xr(i+1))*100); fprintf('%2d \t %11.7f \t %11.7f \t %11.7f \t %7.3f \n',... i+1,xa(i+1),xr(i+1),xb(i+1),ea(i+1)); i=i+1; end else fprintf('No existe una raz en ese intervalo'); end

REGLA FALSA MODIFICADA La idea Se propone construir la recta con la mitad del valor de la funcin en el extremo que se repita ms de dos veces seguidas. Es decir, al construir la recta tomaremos el nuevo extremo, calculado en la iteracin anterior, y el valor de la funcin en l para obtener el primer punto de la recta. El segundo punto de la recta ser el otro extremo, el que se repite por segunda vez, y la mitad del valor de la funcin en este. El mtodo Al igual que en el mtodo de la regla falsa debemos construir una recta y luego encontrar su interseccin con el eje de las abscisas. Esta interseccin ser nuestro nuevo punto de divisin para el intervalo. Como el nico cambio que hicimos fue tomar la mitad del valor de la funcin en el primer extremo del intervalo, podemos modificar la frmula de recurrencia obtenida anteriormente solamente dividiendo por dos en donde aparezca (xn), cuando este extremo se halla repetido dos veces. Existe una sola excepcina la regla: en la primera iteracin no es necesario esperar ms dos repeticiones para efectuar la divisin. Puede verse un sencillo ejemplo de esta modificacin en la figura 9. La forma en que vamos seleccionando el intervalo con el que seguiremos el anlisis sigue siendo la misma que utilizamos en los mtodos de biseccin y regla falsa: el producto de la funcin evaluada en los extremos para verificar el cambio de signo.

Los inconvenientes Luego de los cambios que realizamos sobre el mtodo original de biseccin podemos ver que seguimos teniendo los mismos problemas y restricciones que nos impone el encerrar las races con un intervalo. Recuerde lo que suceda cuando tenamos un nmero par de races dentro del intervalo. O tambin el problema de la raz en el mnimo o mximo local. Todos estos problemas provienen del proceso de seleccin del intervalo: el anlisis mediante la verificacin de los signos de la funcin el los extremos de ste. En adelante nos olvidaremos de los intervalos que contienen a la raz. Trataremos con uno o dos puntos ubicados cuidadosamente y con derivadas o pendientes fijas METODO DE NEWTON RAPHSON En anlisis numrico, el mtodo de Newton (conocido tambin como el mtodo de Newton-Raphson o elmtodo de Newton-Fourier) es un algoritmo eficiente para encontrar aproximaciones de los ceros o races de una funcin real. Tambin puede ser usado para encontrar el mximo o mnimo de una funcin, encontrando los ceros de su primera derivada. Descripcin del mtodo 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 se ha hecho esto, el mtodo linealiza 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. 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. Ntese 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.

Obtencin del algoritmo Tres son las formas principales por las que tradicionalmente se ha obtenido el algoritmo de Newton-Raphson. La primera de ellas es una simple interpretacin geomtrica. En efecto, atendiendo al desarrollo geomtrico delmtodo de la secante, podra pensarse en que si los puntos de iteracin estn lo suficientemente cerca (a una distancia infinitesimal), entonces la secante se sustituye por la tangente a la curva en el punto. As pues, si por un punto de iteracin trazamos la tangente a la curva, por extensin con el mtodo de la secante, el nuevo punto de iteracin se tomar como la abscisa en el origen de la tangente (punto de corte de la tangente con el eje X). Esto es equivalente a linealizar la funcin, es decir, f se reemplaza por una recta tal que contiene al punto (x0, f (x0)) y cuya pendiente coincide con la derivada de la funcin en el punto, f'(x0). La nueva aproximacin a la raz, x1, se logra la interseccin de la funcin lineal con el eje X de abscisas. Matemticamente:

En la ilustracin adjunta del mtodo de Newton se puede ver que xn + mejor aproximacin que xn para el cero (x) de la funcin f.

es una

Una forma alternativa de obtener el algoritmo es desarrollando la funcin f (x) en serie de Taylor, para un entorno del punto xn:

Si se trunca el desarrollo a partir del trmino de grado 2, y evaluamos en xn + 1:

Si adems se acepta que xn + 1 tiende a la raz, se ha de cumplir que f(xn + 1) = 0, luego, sustituyendo en la expresin anterior, obtenemos el algoritmo. Finalmente, hay que indicar que el mtodo de Newton-Raphson puede interpretarse como un mtodo de iteracin de punto fijo. As, dada la ecuacin f(x) = 0, se puede considerar el siguiente mtodo de iteracin de punto fijo:

Se escoge h (x) de manera que g'(r)=0 (r es la raz buscada). Dado que g'(r) es:

Entonces:

Como h (x) no tiene que ser nica, se escoge de la forma ms sencilla:

Por tanto, imponiendo subndices:

Expresin que coincide con la del algoritmo de Newton-Raphson

Convergencia del mtodo El orden de convergencia de este mtodo es, por lo menos, cuadrtico. Sin embargo, si la raz buscada es de multiplicidad algebraica mayor a uno (i.e, una raz doble, triple, ...), el mtodo de Newton-Raphson pierde su convergencia cuadrtica y pasa a ser lineal de constante asinttica de convergencia 1-1/m, con m la multiplicidad de la raz. Existen numerosas formas de evitar este problema, como pudieran ser los mtodos de aceleracin de la convergencia tipo de Aitken o el mtodo de Steffensen. Derivados de Newton-Raphson destacan el mtodo de RalstonRabinowitz, que restaura la convergencia cuadrtica sin ms que modificar el algoritmo a:

Evidentemente, este mtodo exige conocer de antemano la multiplicidad de la raz, lo cual no siempre es posible. Por ello tambin se puede modificar el algoritmo tomando una funcin auxiliar g(x) = f(x)/f'(x), resultando:

Su principal desventaja en este caso sera lo costoso que pudiera ser hallar g(x) y g'(x) si f(x) no es fcilmente derivable. Por otro lado, la convergencia del mtodo se demuestra cuadrtica para el caso ms habitual en base a tratar el mtodo como uno de punto fijo: si g'(r)=0, y g' '(r) es distinto de 0, entonces la convergencia es cuadrtica. Sin embargo, est sujeto a las particularidades de estos mtodos. Ntese de todas formas que el mtodo de Newton-Raphson es un mtodo abierto: la convergencia no est garantizada por un teorema de convergencia global como podra estarlo en los mtodos de falsa posicin o debiseccin. As, es necesario partir de una aproximacin inicial prxima a la raz buscada para que el mtodo converja y cumpla el teorema de convergencia local.

Estimacin del error Se puede demostrar que el mtodo de Newton-Raphson tiene convergencia cuadrtica: si es raz, entonces:

Para una cierta constante C. Esto significa que si en algn momento el error es menor o igual a 0,1, a cada nueva iteracin doblamos (aproximadamente) el nmero de decimales exactos. En la prctica puede servir para hacer una estimacin aproximada del error: Error relativo entre dos aproximaciones sucesivas:

Con lo cual se toma el error relativo como si la ltima aproximacin fuera el valor exacto. Se detiene el proceso iterativo cuando este error relativo es aproximadamente menor que una cantidad fijada previamente. Teorema de convergencia local del mtodo de newton raphson Sea tal que si . Si , y , entonces existe un r>0 verifica que:

, entonces la sucesin xn con

para todo n y xn tiende a p cuando n tiende a infinito. Si adems Cdigo Matlab


syms x1 syms x2 syms x3 V=['sin(x1)+2^x2+log(x3)-7';'3*x1+2*x2-x3^3+1 ';'x1+x2+x3-5 ']; %se calcula el jacobiano: DV(1,:)=[diff(V(1,:),x1), diff(V(1,:),x2),diff(V(1,:),x3)]; DV(2,:)=[diff(V(2,:),x1), diff(V(2,:),x2),diff(V(2,:),x3)]; DV(3,:)=[diff(V(3,:),x1), diff(V(3,:),x2),diff(V(3,:),x3)]; %se da el valor de partida: x1=0; x2=4; x3=2; x_1o=[x1;x2;x3]; %se calcula H en ese punto Vo(1,:)=eval(V(1,:)); Vo(2,:)=eval(V(2,:)); Vo(3,:)=eval(V(3,:)); %Se calcula el Hessiano en ese punto DV1=eval(DV); %se calcula la Inversa del Hessiano en ese punto DV_1=DV1^-1; %se calcula el siguiente valor de iteracin

, entonces la convergencia es cuadrtica.

x_1=[x1;x2;x3]-DV_1*Vo; %cantidad de iteraciones maxima: n=50; %se define a = n, si se cumple condicion de error antes, a=n; for i=1:n %error relativo entre aproximaciones sucecivas er=norm(x_1-x_1o)/norm(x_1); if er<.0001 a=i; 'break;' end x1=x_1(1); x2=x_1(2); x3=x_1(3); x_1o=[x1;x2;x3]; Vo(1,:)=eval(V(1,:)); Vo(2,:)=eval(V(2,:)); Vo(3,:)=eval(V(3,:)); DV1=eval(DV); DV_1=DV1^-1; x_1=[x1;x2;x3]-DV_1*Vo; end a x_1

cambia

METODO DE LA SECANTE La idea Siguiendo con la recta y su interseccin con el eje x, ahora cambiaremos las condiciones para la seleccin de los puntos que la definen. Estos ya no deben encerrar necesariamente una raz de la funcin que analizamos. Trazamos una recta entre estos dos puntos iniciales y encontramos la interseccin con el eje de las abscisas. Con este nuevo punto y el segundo de los anteriormente dados, trazamos la prxima recta.

Primera iteracin en el mtodo de la secante. Observe como los valores iniciales dados, Xo y X1, no deben encerrar necesariamente a la raz. El mtodo Dados los puntos (xn , (xn)) y (xn+1 , (xn+1)) encontraremos una recta que pase por ellos de igual forma que lo hicimos en el mtodo de la regla falsa. Luego buscamos la interseccin de esa recta con el eje de las abscisas de la forma:

Esta ecuacin es exactamente igual a la ecuacin 4.7 en el mtodo de la regla falsa. A partir de ahora viene lo nuevo en este mtodo. La prxima recta la trazaremos entre (xn+1 , (xn+1)) y (xn+2 , (xn+2)). Es decir, el prximo punto ser una extrapolacin y no una interpolacin como lo era en la regla falsa. Ya no preguntamos por los signos de la funcin para seleccionar uno de los puntos dados, simplemente tomamos el inmediato anterior y trazamos la nueva recta. Para el caso de la figura 10 la prxima recta se trazara por los puntos (x1, (x1)) y (x2, (x2)). Los inconvenientes Suponga que la funcin y los valores iniciales son los que se muestran en la figura 11. Donde se encontrarn la recta y el eje x? Desde otro punto de vista: dado que (x1) (x2), qu suceder al evaluar la ecuacin 6.1? Este es un ejemplo fehaciente de divergencia y constituye la principal desventaja del mtodo. Como el ejemplo lo sugiere, las regiones de pendiente cercana a cero

son un verdadero peligro para el algoritmo y uno deber ser muy cuidadoso al seleccionar los dos puntos de partida. Otro problema es que si la distancia entre xn y xn+1es pequea entonces (xn) (xn+1) y si bien la ecuacin 15 podr ser evaluada computacionalmente hablando, los errores por redondeo pueden ser significativos. Cabe aclarar que llamamos una distancia pequea cuando el orden de magnitud de esta es cercano el del truncamiento que presupone el tipo dedatos que usamos en el caso particular. Veamos dos formas de solucionar este inconveniente. Ante todo debemos colocar un umbral, es decir un valor fijo que indicar la mnima distancia admisible entre (xn) y (xn+1). Cuando el valor absoluto de (xn) -(xn+1) sea menor que entonces en la frmula de recurrencia, ecuacin 6.1, saltearemos un punto trazando la recta entre (xn-1 , (xn-1)) y (xn+1 , (xn+1)). La segunda idea es la ms interesante porque la propondr usted. (?) Es importante recalcar que si bien este es uno de los mtodos ms rpidos computacionalmente hablando, tambin es muy sensible a los valores iniciales, podra no converger en absoluto con una mala seleccin de estos. Observe que este mtodo hace uso de ms informacin de la funcin. No slo usa los valores que toma esta sino tambin hace uso de una estimacin de la velocidad de cambio de la funcin cuando traza la secante entre dos puntos cercanos. Esto puede ser visto tambin como una aproximacin a la pendiente o derivada de la funcin en la zona de trabajo.

METODO DE

VON MISES

La idea Este mtodo surge como una alternativa interesante para solucionar el problema de la divergencia en el mtodo de Newton-Raphson. La propuesta es trazar todas las rectas con la misma pendiente. Esta pendiente puede ser fijada de antemano o se puede tomar la pendiente de la funcin en el punto de partida. El mtodo En este caso construiremos la recta con una pendiente fija m = (x0) con lo que la ecuacin de la recta nos quedar:

Para encontrar la interseccin con el eje x igualamos la ecuacin 8.1 a cero:

y luego despejamos x de recurrencia:

para obtener la frmula

Observe en la figura 14 el resultado de dos iteraciones aplicando este mtodo al mismo caso en el que el de Newton-Raphson diverga.

Los inconvenientes Hemos reducido notablemente la cantidad de informacin que tomamos de la funcin lo que hace ms lento al mtodo. Por otro lado tambin se redujeron notablemente los clculos que deben realizarse en cada iteracin. Haciendo un balance en la mayora de las funciones se verifica que el algoritmo en conjunto es ms lento que el de Newton-Raphson. Pero no olvidemos que es ms seguro por ser menos sensibles a las caractersticas de la funcin. METODO DE MULER Este es un mtodo para encontrar las races de ecuaciones polinomiales de la forma general:

f n ( x) a 0 a1 x a 2 x 2 ....... a n x n
Donde n es el orden del polinomio y las a son coeficientes constantes. Continuando con los polinomios, estos cumplen con las siguientes reglas: Para la ecuacin de orden n, hay n races reales o complejas. Se debe notar que esas races no son necesariamente distintas. Si n es impar, hay al menos una raz real. Si las races complejas existen, existe un par conjugado. Antecedentes Los polinomios tienen muchas aplicaciones en ciencia e ingeniera, como es el caso de su utilizacin en ajuste de curvas. Sin embargo, se considera que una de las aplicaciones mas interesantes y potentes es en los sistemas dinmicos, particularmente en los lineales. El polinomio ms conocido en el mundo cientfico, es el denominado, ecuacin caracterstica, que es de la forma:

a 2 x 2 a1 x a 0 0
Donde las races de este polinomio satisfacen:

x1, 2

a1

2 a1 4a 2 a 0

2a 0

Tambin denominados eigenvalores del sistema. Los eigenvalores pueden utilizarse para analizar un sistema, para nuestro caso es muy til en lo concerniente a la estabilidad. Con base en lo anterior, encontrar las races en sistemas de segundo orden es prcticamente sencillo, pero para sistemas de orden superior, puede resultar en un arduo trabajo. El mtodo Un predecesor del mtodo de Muller, es el mtodo de la secante, el cual obtiene races, estimando una proyeccin de una lnea recta en el eje x, a travs de dos valores de la funcin (Figura 1). El mtodo de Muller toma un punto de vista similar, pero proyecta una parbola a travs de tres puntos (Figura 2). El mtodo consiste en obtener los coeficientes de los tres puntos, sustituirlos en la frmula cuadrtica y obtener el punto donde la parbola intercepta el eje x. La aproximacin es fcil de escribir, en forma conveniente esta sera:

f 2 ( x ) a ( x x 2 ) 2 b( x x 2 ) c

f(x)

Lnea recta x

Raz estimada

x X1 X0 X

Raz

f(x)

Parbola 0

Raz

x X2 Raz estimada X1 X0 X

As, se busca esta parbola para intersectar los tres puntos [x0, f(x0)], [x1, f(x1)] y [x2, f(x2)]. Los coeficientes de la ecuacin anterior se evalan al sustituir uno de esos tres puntos para dar:

f ( x 0 ) a ( x 0 x 2 ) 2 b( x 0 x 2 ) c

f ( x1 ) a( x1 x 2 ) 2 b( x1 x 2 ) c

f ( x 2 ) a ( x 2 x 2 ) 2 b( x 2 x 2 ) c
La ltima ecuacin genera que, f ( x2 ) c , de esta forma, se puede tener un sistema de dos ecuaciones con dos incgnitas:

f ( x 0 ) f ( x 2 ) a ( x 0 x 2 ) 2 b( x 0 x 2 )

f ( x1 ) f ( x 2 ) a ( x1 x 2 ) 2 b( x1 x 2 )
Definiendo de esta forma:

h0 x1 x 0
0

h1 x2 x1

f ( x1 ) f ( x 2 ) f ( x 2 ) f ( x1 ) 1 x1 x 0 x 2 x1

Sustituyendo en el sistema:

( h0 h1 )b ( h0 h1 ) 2 a h0 0 h1 1
h1b h1 a h1 1
2

Teniendo como resultado los coeficientes:

1 0
h1 h0

b ah1 1

c f ( x2 )

Hallando la raz, se implementar la solucin convencional, pero debido al error de redondeo potencial, se usar una formulacin alternativa:

x3 x 2

2c b b 2 4ac

Despejando

x3 x 2

2c b b 2 4ac

La gran ventaja de este mtodo es que se pueden localizar tanto las races reales como las imaginarias. Hallando el error este ser:

Ea

x3 x 2 100% x3

Al ser un mtodo de aproximacin, este se realiza de forma secuencial e iterativamente, donde x1, x2, x3 reemplazan los puntos x0, x1, x2 llevando el error a un valor cercano a cero Programa Por ser un mtodo que trabaja de forma lineal, es posible una aplicacin computacional en forma sencilla, la cual sera: SubMuller (xr, h, eps, maxit) x2 = xr x1 = xr + h*xr x0 = xr h*xr Do

iter = iter + 1 h0 = x1 + x0 h1 = x2 x1 d0 = (f(x1)-f(x0))/h0 d1 = (f(x2)-f(x1))/h1 a = (d1 d0)/(h1 + h0) b = a*h1 +d1 c = f(x2) rad = sqrt (b*b 4*a*c) if I b+ rad I > l b - rad l then den = b + rad Else den = b rad End if dxr = -2*c/den xr = x2 + dxr Print iter, xr IF (Idxrl<eps*xr or iter>maxit) exit x0 = x1 x1 = x2 x2 = xr End do End Muller

METODO DE STEFFENSEN El mtodo de Steffensen (por Johan Frederik Steffensen) es un algoritmo para obtener los ceros de una funcin. El mtodo de Steffensen se puede considerar como una combinacin del mtodo de punto fijo y del mtodo deAitken.

Como el mtodo de Aitken esencialmente acelera la convergencia de otro mtodo, se puede definir este mtodo como el mtodo de punto fijo acelerado. Ventajas El mtodo de Steffensen presenta una convergencia rpida y no requiere, como en el caso del mtodo de Newton, la evaluacin de derivada alguna. Presenta adems, la ventaja adicional de que el proceso de iteracin slo necesita un punto inicial. Otra ventaja del mtodo de Steffensen es que -al igual que el de Newton- tiene convergencia cuadrtica. Es decir, ambos mtodos permiten encontrar las races de una funcin f "rpidamente" - en este caso rpidamente significa que en cada iteracin, el nmero de dgitos correctos en la respuesta se duplica. Pero la frmula para el mtodo de Newton requiere la evaluacin de la derivada de la funcin, el mtodo de Steffensen no, por lo que este ltimo puede ser programado para una funcin genrica, mientras que la funcin cumpla la restriccin mencionada anteriormente. El precio de la convergencia rpida es una doble evaluacin de la funcin: tanto f(xn) como f(xn + h) deben ser calculadas, lo que podra llevar un tiempo considerable dependiendo de la funcin f. Por comparacin, el mtodo de la secante slo necesita una evaluacin de la funcin por cada paso, as que con dos evaluaciones de la funcin del mtodo de la secante se pueden hacer dos pasos, y esos dos pasos aumentan el nmero de dgitos correctos en un factor de 1,6. En un solo paso de tiempo el mtodo de Steffensen (o de Newton) aumenta los dgitos correctos en un factor de 2, lo que es slo un poco mejor. Al igual que el mtodo de Newton y otros mtodos cuadrticamente convergentes, la debilidad fundamental en el mtodo de Steffensen es la eleccin del valor inicial x0. Si el valor de x0 no est "lo suficientemente cerca" de la solucin, el mtodo puede fallar y la secuencia de valores o bien puede oscilar entre dos valores, o bien diverger hacia infinito (ambas alternativas pueden suceder). Se calcula el siguiente punto de iteracin a partir de la expresin:

Algoritmo Para una sucesin {xn}, obtenida por el mtodo del punto fijo xn+1 = f(xn), partimos de tres puntos: y0= f(x0) z0= f(y0) Donde x0 es el punto inicial. Obteniendo as:

x1 = x0 (y0 x0)1/2 z0 2*y0 x0 En forma general: Xn+1 = xn (yn xn)1/2 zn 2* yn xn Donde si |xn+1 xn| = error < Tol entonces se satisface la tolerancia. Cdigo Matlab
function [x,i,tolf]=steffensen(x0,f,tolx,nmax) err=tolx+1; x=x0; phi=0; while(i<nmax & err>tolx) xx=x; fxk=feval(f,x); tolf=tolx*abs(phi); if abs(fxk)<=tolf break end fxk2=feval(f,x+fxk); phi=(fxk2-fxk)/fxk; x=xx-fxk/phi; err=abs(x-xx); i=i+1; end

ALGORITMO GENETICO Un algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir, para dar solucin a un problema especfico. En los aos 1970, de la mano de John Henry Holland, surgi una de las lneas ms prometedoras de la inteligencia artificial, la de los algoritmos genticos. Son llamados as porque se inspiran en la evolucin biolgica y su base gentico-molecular. Estos algoritmos hacen evolucionar una poblacin de individuos sometindola a acciones aleatorias semejantes a las que actan en la evolucin biolgica (mutaciones yrecombinaciones genticas), as como tambin a una Seleccin de acuerdo con algn criterio, en funcin del cual se decide cules son los individuos ms adaptados, que sobreviven, y cules los menos aptos, que son descartados. Es incluido dentro de los algoritmos evolutivos, que incluyen tambin las estrategias evolutivas, laprogramacin evolutiva y la programacin gentica. Dentro de esta ltima se han logrado avances curiosos: En 1999, por primera vez en la historia, se concedi una patente a un invento no realizado directamente por un ser humano: se trata de una antena de forma extraa, pero que funciona perfectamente en las condiciones a las que estaba destinada. No hay, sin embargo, nada injusto en el hecho de que el autor del algoritmo gentico del que sali la forma de la antena se haya atribuido la autora

de la patente, pues l escribi el programa e ide el criterio de seleccin que condujo al diseo patentado. Un algoritmo gentico es un mtodo de bsqueda dirigida basada en probabilidad. Bajo una condicin muy dbil (que el algoritmo mantenga elitismo, es decir, guarde siempre al mejor elemento de la poblacin sin hacerle ningn cambio) se puede demostrar que el algoritmo converge en probabilidad al ptimo. En otras palabras, al aumentar el nmero de iteraciones, la probabilidad de tener el ptimo en la poblacin tiende a 1 (uno). Funcionamiento Los algoritmos entre el conjunto de soluciones de un problema, llamado fenotipo, y el conjunto de individuos de una poblacin natural, codificando la informacin de cada solucin en una cadena, generalmente binaria, llamada cromosoma. Los smbolos que forman la cadena son llamados los genes. Cuando la representacin de los cromosomas se hace con cadenas de dgitos binarios se le conoce como genotipo. Los cromosomas evolucionan a travs de iteraciones, llamadas generaciones. En cada generacin, los cromosomas son evaluados usando alguna medida de aptitud. Las siguientes generaciones (nuevos cromosomas), operadores genticos, desobrecruzamiento y de mutacin. Cuando usar estos algoritmos Los algoritmos genticos son de probada eficacia en caso de querer calcular funciones no derivables (o de derivacin muy compleja) aunque su uso es posible con cualquier funcin. Deben tenerse en cuenta tambin las siguientes consideraciones:

Si la funcin a optimizar tiene muchos mximos/mnimos locales se requerirn ms iteraciones del algoritmo para "asegurar" el mximo/mnimo global. Si la funcin a optimizar contiene varios puntos muy cercanos en valor al ptimo, solamente podemos "asegurar" que encontraremos uno de ellos (no necesariamente el ptimo).

Funcionamiento de un algoritmo gentico bsico Un algoritmo gentico puede presentar diversas variaciones, dependiendo de cmo se aplican los operadores genticos (cruzamiento, mutacin), de cmo se realiza la seleccin y de cmo se decide el reemplazo de los individuos para formar la nueva poblacin. En general, el pseudocdigo consiste de los siguientes pasos:

Inicializacin: Se genera aleatoriamente la poblacin inicial, que est constituida por un conjunto de cromosomas los cuales representan las posibles soluciones del problema. En caso de no hacerlo aleatoriamente, es importante garantizar que dentro de la poblacin inicial, se tenga la diversidad estructural

de estas soluciones para tener una representacin de la mayor parte de la poblacin posible o al menos evitar laconvergencia prematura. Evaluacin: A cada uno de los cromosomas de esta poblacin se aplicar la funcin de aptitud para saber qu tan "buena" es la solucin que se est codificando. Condicin de trmino El AG se deber detener cuando se alcance la solucin ptima, pero sta generalmente se desconoce, por lo que se deben utilizar otros criterios de detencin. Normalmente se usan dos criterios: correr el AG un nmero mximo de iteraciones (generaciones) o detenerlo cuando no haya cambios en la poblacin. Mientras no se cumpla la condicin de trmino se hace lo siguiente: Seleccin Despus de saber la aptitud de cada cromosoma se procede a elegir los cromosomas que sern cruzados en la siguiente generacin. Los cromosomas con mejor aptitud tienen mayor probabilidad de ser seleccionados. Recombinacin La recombinacin es el principal operador gentico, representa la reproduccin sexual, opera sobre dos cromosomas a la vez para generar dos descendientes donde se combinan las caractersticas de ambos cromosomas padres. Mutacin modifica al azar parte del cromosoma de los individuos, y permite alcanzar zonas del espacio de bsqueda que no estaban cubiertas por los individuos de la poblacin actual. Reemplazo una vez aplicados los operadores genticos, se seleccionan los mejores individuos para conformar la poblacin de la generacin siguiente

Aplicaciones

Diseo automatizado, incluyendo investigacin en diseo de materiales y diseo multiobjetivo de componentes automovilsticos: mejor comportamiento ante choques, ahorros de peso, mejora de aerodinmica, etc. Diseo automatizado de equipamiento industrial.

Diseo automatizado de sistemas de comercio en el sector financiero. Construccin de rboles filogenticos. Optimizacin de carga de contenedores. Diseo de sistemas de distribucin de aguas. Diseo de topologas de circuitos impresos. Diseo de topologas de redes computacionales. En Teora de juegos, resolucin de equilibrios. Anlisis de expresin de genes. Aprendizaje de comportamiento de robots. Aprendizaje de reglas de Lgica difusa. Anlisis lingstico, incluyendo induccin gramtica, y otros aspectos de Procesamiento de lenguajes naturales, tales como eliminacin de ambigedad de sentido.

Infraestructura de redes de comunicaciones mviles. Optimizacin de estructuras moleculares. Planificacin de produccin multicriteria. Prediccin. Aplicacin de Algoritmos Genticos al Dilema del Prisionero Iterado Optimizacin de sistemas de compresin de datos, por ejemplo, usando wavelets. Prediccin de Plegamiento de protenas. Optimizacin de Layout. Prediccin de estructura de ARN. En bioinformtica, Alineamiento mltiple de secuencias. Aplicaciones en planificacin de procesos industriales, incluyendo planificacin job-shop. Seleccin ptima de modelos matemticos para la descripcin de sistemas biolgicos. Manejo de residuos slidos. Ingeniera de software. Construccin de horarios en grandes universidades, evitando conflictos de clases. Problema del viajante. Hallazgo de errores en programas.

Optimizacin de produccin y distribucin de energa elctrica. Diseo de redes geodsicas (Problemas de diseo). Calibracin y deteccin de daos en estructuras civiles.

You might also like