En análisis numérico , un tamaño de paso de adaptación se utiliza en algunos métodos para la solución numérica de las ecuaciones diferenciales ordinarias (incluyendo el caso especial de la integración numérica ) con el fin de controlar los errores del método y para asegurar propiedades de estabilidad , tales como A-estabilidad . El uso de un tamaño de paso adaptativo es de particular importancia cuando hay una gran variación en el tamaño de la derivada. Por ejemplo, al modelar el movimiento de un satélite alrededor de la Tierra como una órbita estándar de Kepler , un método de pasos de tiempo fijo como el método de Eulerpuede ser suficiente. Sin embargo, las cosas son más difíciles si se desea modelar el movimiento de una nave espacial teniendo en cuenta tanto la Tierra como la Luna como en el problema de los Tres cuerpos . Allí, surgen escenarios en los que uno puede tomar grandes pasos de tiempo cuando la nave espacial está lejos de la Tierra y la Luna, pero si la nave espacial se acerca a colisionar con uno de los cuerpos planetarios, entonces se necesitan pequeños pasos de tiempo. El método de Romberg y Runge-Kutta-Fehlberg son ejemplos de métodos de integración numérica que utilizan un tamaño de paso adaptativo.
Ejemplo
Para simplificar, el siguiente ejemplo utiliza el método de integración más simple, el método de Euler ; en la práctica, se prefieren los métodos de orden superior, como los métodos de Runge-Kutta , debido a sus propiedades superiores de convergencia y estabilidad.
Considere el problema del valor inicial
donde y y f pueden denotar vectores (en cuyo caso esta ecuación representa un sistema de EDO acopladas en varias variables).
Se nos da la función f ( t , y ) y las condiciones iniciales ( a , y a ), y nos interesa encontrar la solución en t = b . Sea y ( b ) la solución exacta en b , y sea y b la solución que calculamos. Nosotros escribimos, dónde es el error en la solución numérica.
Para una secuencia ( t n ) de valores de t , con t n = a + nh , el método de Euler da aproximaciones a los valores correspondientes de y ( t n ) como
El error de truncamiento local de esta aproximación está definido por
y por el teorema de Taylor , se puede demostrar que (siempre que f sea lo suficientemente suave) el error de truncamiento local es proporcional al cuadrado del tamaño del paso:
donde c es alguna constante de proporcionalidad.
Hemos marcado esta solución y su error con un .
No conocemos el valor de c . Apliquemos ahora el método de Euler nuevamente con un tamaño de paso diferente para generar una segunda aproximación ay ( t n +1 ). Obtenemos una segunda solución, que etiquetamos con un. Tome el nuevo tamaño de paso para que sea la mitad del tamaño de paso original y aplique dos pasos del método de Euler. Esta segunda solución es presumiblemente más precisa. Como tenemos que aplicar el método de Euler dos veces, el error local es (en el peor de los casos) el doble del error original.
Aquí, asumimos el factor de error es constante en el intervalo . En realidad, su tasa de cambio es proporcional a. Restar soluciones da la estimación del error:
Esta estimación de error local tiene una precisión de tercer orden.
La estimación del error local se puede utilizar para decidir el tamaño del paso debe modificarse para lograr la precisión deseada. Por ejemplo, si una tolerancia local deestá permitido, podríamos dejar que h evolucione como:
La es un factor de seguridad para garantizar el éxito en el próximo intento. El mínimo y el máximo son para evitar cambios extremos del tamaño del paso anterior. Esto debería, en principio, dar un error de aproximadamenteen el próximo intento. Si, consideramos que el paso fue exitoso y la estimación del error se utiliza para mejorar la solución:
Esta solución tiene una precisión de tercer orden en el ámbito local (segundo orden en el ámbito global), pero como no hay una estimación de error para ella, esto no ayuda a reducir el número de pasos. Esta técnica se llama extrapolación de Richardson .
Comenzando con un tamaño de paso inicial de , esta teoría facilita nuestra integración controlable de la EDO desde el punto a , utilizando un número óptimo de pasos dada una tolerancia de error local. Un inconveniente es que el tamaño del paso puede llegar a ser prohibitivamente pequeño, especialmente cuando se utiliza el método de Euler de orden inferior .
Se pueden desarrollar métodos similares para métodos de orden superior, como el método de Runge-Kutta de cuarto orden. Además, se puede lograr una tolerancia de error global escalando el error local al alcance global.
Estimaciones de error incrustadas
Los métodos adaptativos de tamaño de paso que utilizan una estimación de error denominada "incrustada" incluyen los métodos de Runge-Kutta-Fehlberg , Cash-Karp y Dormand-Prince . Estos métodos se consideran más eficientes desde el punto de vista computacional, pero tienen menor precisión en sus estimaciones de error.