Método ODE óptimo para un número fijo de evaluaciones RHS


14

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.

x˙(t)=f(t,x(t)) for t[t0,t1]
x(t0)=x0
ffNN

Solo nos interesa el valor final .x(t1)

Estoy buscando resultados teóricos y prácticos que me ayuden a elegir el mejor método ODE en tal entorno.

Si, por ejemplo, N=2 , podríamos resolver el IVP usando dos pasos explícitos de Euler de ancho (t1t0)/2 o un paso de ancho t1t0 usando el método del punto medio. No me queda claro cuál es preferible. Para más grande N, 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 .n{wi}{xi}i=1nwig(xi)gdeg(g)2n1

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

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.x(t1)N

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


La correspondencia habitual de los métodos de Runge-Kutta de paso fijo con los métodos de Newton-Cotes se aplica al caso de que el método RK se aplique al IVP ; por ejemplo, aplicar el método clásico de cuarto orden a esa PIV es equivalente a realizar la regla de Simpson en f ( x ) . y=F(X)F(X)
JM

@JM: Soy consciente de eso. Solo pretendía usar las reglas de la cuadratura como un ejemplo de caracterización de la precisión de un método numérico para un determinado conjunto de entradas cuando el número de evaluaciones de funciones es limitado. Aparte de eso, estoy interesado en las EDO "verdaderas", es decir, aquellas que no se reducen a la integración estándar.
Florian Brucker

1
Esto se está volviendo más interesante. Ahora el número por sí solo no significa nada. Lo que podría ser útil es saber λ N / T , donde T es la longitud del intervalo de integración y λ es la constante de Lipschitz de f con respecto a x . Esto nos dirá cuán rígido es realmente el problema. Suponiendo que es rígido, un candidato probable es el método BDF de segundo orden. norteλN/TTλfX
David Ketcheson

@DavidKetcheson: Estoy más interesado en el enfoque general para elegir un método adecuado para un problema determinado que en el método óptimo para un problema específico. Tenemos una mayor cantidad de modelos que varían mucho en cuanto a rigidez y requisitos de tiempo.
Florian Brucker

Dices que es muy costoso de evaluar. ¿Puedes calcular un jacobiano? ¿Qué pasa con alguna aproximación que pueda corregir la rigidez principal? No estás en buena forma si tu problema es muy rígido y no tienes forma de corregirlo. F
Jed Brown

Respuestas:


7

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

S={zC:El |PAG(z)El |1}.

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)λhSλFh

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


Gracias. El artículo de Oseas y Shampine es realmente muy interesante. ¿Conoces resultados similares para problemas rígidos? Soy consciente de que generalmente se usan métodos implícitos para ellos, pero estos no tienen un límite a priori en el número de evaluaciones de RHS, por lo que son de poca utilidad en mi caso.
Florian Brucker

No sé nada de esto por problemas rígidos, pero sospecho que existe algo. Como usted dice, la pregunta es más sutil cuando se utilizan métodos implícitos. Un enfoque podría ser utilizar los métodos de Rosenbrock, que manejan bien los problemas rígidos pero tienen un número fijo de evaluaciones RHS.
David Ketcheson

6

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).S2S2S-1S


2
Puede suceder que usar un método de paso variable (o incluso de orden variable) podría ser más eficiente que apegarse obstinadamente a un método de paso fijo. Por ejemplo, se podría considerar el uso de un método extrapolativo como Bulirsch-Stoer: hacer algunas evaluaciones en algunos pasos y luego construir (aparentemente) estimaciones más precisas a partir de los resultados de esos pasos.
JM

Cierto. De hecho, muchos de los métodos óptimos son equivalentes en cierto sentido a una versión de paso variable de otro paso del tiempo. Runge-Kutta-Chebshev, por ejemplo, puede verse como un avance de Euler aplicado con los pasos de tiempo variables como puntos de Chebyshev.
Reid.Atcheson

@JM: Exactamente. Pero, ¿hay alguna manera de juzgar la precisión de estos enfoques con el número de evaluaciones de RHS, aparte de los experimentos numéricos (que serían muy complicados, dada la gran cantidad de enfoques posibles)?
Florian Brucker

@Florian, no en general. ¿Has oído hablar de las ecuaciones de Lorenz, supongo?
JM

1
@JM: Sí :) Es por eso que mencioné el ejemplo de cuadratura, donde la precisión se mide con un subconjunto (polinomios) del espacio del problema original. Estaría contento con los resultados que solo funcionan para un cierto subconjunto de problemas.
Florian Brucker

3

10-14F(X)

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.


+1. Cada vez que alguien pregunta sobre solucionadores de EDO eficientes, supongo que están interesados ​​en enormes sistemas de EDO que provienen de semi-discretizaciones PDE o grandes problemas de n-cuerpos.
David Ketcheson

¿Puede explicar cómo se relaciona esto con mi pregunta? No veo la conexión, ya que estoy interesado en el caso en el que la evaluación f(x)no es gratuita, sino más bien tan costosa que el número de evaluaciones es limitado.
Florian Brucker

@DavidKetcheson: este no es el caso aquí. Es más bien que tenemos requisitos de tiempo muy estrictos (tiempo real duro) en hardware débil (dispositivos integrados). Los propios sistemas ODE son relativamente pequeños.
Florian Brucker

nortenortenortenorte

nortenortenorte<1000

1

O(reyometro3)O(reyometro2)

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.


norte
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.