En la práctica, el tiempo de ejecución de resolver numéricamente un IVP menudo está dominado por la duración de la evaluación del lado derecho (RHS). Supongamos, por lo tanto, que todas las demás operaciones son instantáneas (es decir, sin costo computacional). Si el tiempo de ejecución general para resolver el IVP se limita entonces esto es equivalente a la limitación del número de evaluaciones deen cierta.
Solo nos interesa el valor final .
Estoy buscando resultados teóricos y prácticos que me ayuden a elegir el mejor método ODE en tal entorno.
Si, por ejemplo, , podríamos resolver el IVP usando dos pasos explícitos de Euler de ancho o un paso de ancho usando el método del punto medio. No me queda claro cuál es preferible. Para más grande , uno también puede pensar en métodos de varios pasos, esquemas iterados de Runge-Kutta, etc.
Lo que estoy buscando son resultados similares a los que existen, por ejemplo, para reglas de cuadratura: podemos elegir pesos { w i } y puntos asociados { x i } de modo que la regla de cuadratura ∑ n i = 1 w i g ( x i ) es exacto para todos los polinomios g tal que d e g ( g ) ≤ 2 n - 1 .
Por lo tanto, estoy buscando límites superiores o inferiores en la precisión global de los métodos ODE, dado un número limitado de evaluaciones permitidas del RHS . Está bien si los límites solo se cumplen para algunas clases de RHS o plantean restricciones adicionales en la solución x (al igual que el resultado para la regla de cuadratura que solo se cumple para polinomios hasta cierto grado).
EDITAR: Alguna información de fondo: Esto es para aplicaciones duras en tiempo real, es decir, el resultado debe estar disponible antes de una fecha límite conocida. De ahí el límite en el número de evaluaciones RHS N como el factor de costo dominante. Por lo general, nuestros problemas son rígidos y relativamente pequeños.
EDIT2: Desafortunadamente, no tengo los requisitos de sincronización precisos, pero es seguro asumir que será bastante pequeño (definitivamente <100, probablemente más cerca de 10). Dado el requisito en tiempo real, tenemos que encontrar una compensación entre la precisión de los modelos (con mejores modelos que conducen a tiempos de ejecución más largos del RHS y, por lo tanto, a un N más bajo ) y la precisión del método ODE (con mejores métodos que requieren mayor valores de N ).
fuente
Respuestas:
Creo que una referencia clave para responder a su pregunta es este artículo de Oseas y Shampine . Ahora daré algunos antecedentes.
En general, el tamaño del paso que puede usar al integrar numéricamente un IVP puede estar restringido por la estabilidad o la precisión. Si desea elegir el mejor solucionador en términos de estabilidad, debe considerar la región de estabilidad absoluta . Para un método de un solo paso esto es
Aquí es la función de estabilidad del método; véase, por ejemplo, el texto de Hairer et. Alabama. Una condición necesaria para la estabilidad es que λ h ∈ S donde λ se extiende sobre los valores propios del jacobiano de f y h es el tamaño del paso. Esto no siempre es una condición suficiente para problemas no lineales, pero generalmente es una buena regla general y se usa en la práctica.PAG( z) λ h ∈ S λ F h
Para un tratamiento extenso del problema de encontrar métodos (explícitos) que permitan grandes tamaños de pasos estables, vea este documento mío sobre polinomios de estabilidad y este sobre la optimización de los métodos de Runge-Kutta para simulaciones de fluidos compresibles .
La estabilidad es la preocupación relevante si encuentra que el tamaño de paso estable más grande ya le da suficiente precisión. Por otro lado, el tamaño del paso puede estar restringido por sus requisitos de precisión. Lo que generalmente se hace es el control local de errores. La solución se calcula utilizando dos métodos, y su diferencia se utiliza como una estimación del error en el menos preciso. El tamaño del paso se elige de forma adaptativa para lograr lo más estrechamente posible la tolerancia prescrita.
Dos medidas teóricas son clave para predecir la eficiencia de precisión. El primero es el orden de precisión del método, que describe la velocidad a la que el error se acerca a cero cuando se reduce el tamaño del paso. El segundo es el índice de eficiencia de precisión (ver el documento de Oseas y Shampine vinculado en la primera oración anterior) que tiene en cuenta las constantes que aparecen en los términos de error y permite comparaciones entre métodos del mismo orden.
La precisión y la eficiencia de estabilidad de una amplia gama de métodos se pueden calcular de manera simple y automatizada utilizando NodePy (descargo de responsabilidad: NodePy es desarrollado por mí).
fuente
No hay muchos resultados en esta dirección porque es más difícil que solo fijar la precisión, ya que las consideraciones de estabilidad a menudo pueden requerir que elija pasos de tiempo que son más pequeños de lo que necesitaría para la precisión que desea. Entonces los resultados se dividen entre los casos rígidos y no rígidos. En el primer caso, los requisitos de tiempo-pasos y evaluaciones de RHS generalmente no se rigen por la precisión, y en el segundo caso sí lo están.
Me centraré en métodos explícitos, ya que el caso implícito es mucho menos obvio cuántas evaluaciones de RHS necesitará usar ... eso depende completamente de cómo decida resolver el sistema resultante.
Para sistemas no rígidos:
Existen limitaciones de etapa para los métodos explícitos de Runge-Kutta para los cuales se dice cuántas etapas (evaluaciones de RHS) se necesitan para lograr un cierto orden de precisión. Después del cuarto orden, el número de etapas excede el orden de precisión y la disparidad continúa creciendo. El gran libro ODE de Butcher: http://books.google.com/books/about/Numerical_Methods_for_Ordinary_Different.html?id=opd2NkBmMxsC
hace un buen trabajo explicando algunas de estas pruebas de "no existencia".
Su ejemplo de regla de cuadratura conduce a un método de tipo de varios pasos, como Adams-bashforth, o a lo que ahora se llaman métodos de corrección espectral diferida. Para adams-bashforth solo necesita una evaluación RHS por paso, pero dado que las regiones de estabilidad son tan pequeñas en general para estos métodos, generalmente termina haciendo la misma cantidad de trabajo en términos de evaluaciones RHS que un método Runge-Kutta con el mismo orden.
Aquí hay un documento sobre corrección espectral diferida:
https://www.google.com/search?q=spectral+deferred+correction&aq=f&oq=spectral+deferred+correction&aqs=chrome.0.57j0l2j62.3336j0&sourceid=chrome&ie=UTF-8
No estoy seguro de cómo estos métodos de integración se comparan con los métodos explícitos estándar, a menudo requieren mucha más memoria para guardar estados de solución en nodos de cuadratura, por lo que nunca los he usado yo mismo.
Para sistemas rígidos:
existen pasos "optimizados", pero los resultados teóricos precisos sobre qué tan buenos pueden ser estos se limitan lamentablemente a algunos casos simples (e incluso aquellos que resultaron no ser un trabajo trivial). Los tres resultados estándar dicen que para los métodos Runge-Kutta con etapas : el eje real más negativo que puede incluir en su región de estabilidad es un intervalo de longitud 2 S 2 , el eje más imaginario que puede contener es un intervalo de longitud S - 1 , y el círculo más grande tangente al eje imaginario que puede contener tiene radio S (todos estos son mutuamente excluyentes también).S 2 S2 S- 1 S
fuente
Por supuesto, hay excepciones (sistemas muy grandes, sistemas muy rígidos), pero un sentimiento común en la comunidad es que la cuestión del diseño de solucionadores de EDO para sistemas "estándar" está resuelta. En consecuencia, creo que la pregunta que plantea no es muy interesante: aborda un componente del diseño de solucionador de ODE que ya no es importante. Esto también puede explicar la falta de literatura sobre el tema.
fuente
f(x)
no es gratuita, sino más bien tan costosa que el número de evaluaciones es limitado.Entonces, el primer punto es asegurarse de que su RHS sea realmente más costoso que el álgebra lineal subyacente.
El segundo punto: se sabe por la literatura que los solucionadores basados en métodos "caros" (es decir, métodos RK explícitos) a veces funcionan más rápido que los "más baratos" (métodos explícitos de varios pasos).
En resumen, creo que no solo debe considerar el recuento de evaluaciones de RHS.
fuente