En pratique, le temps d'exécution de la résolution numérique d'un IVP est souvent dominé par la durée de l'évaluation du côté droit (RHS) . Supposons donc que toutes les autres opérations sont instantanées (c'est-à-dire sans coût de calcul). Si le temps d'exécution global pour résoudre l'IVP est limité, cela revient à limiter le nombre d'évaluations de à un certain .
Nous ne sommes intéressés que par la valeur finale .
Je recherche des résultats théoriques et pratiques qui m'aideront à choisir la meilleure méthode ODE dans un tel contexte.
Si, par exemple, alors nous pourrions résoudre l'IVP en utilisant deux pas de largeur d'Euler explicites ou un pas de largeur t_1 - t_0 en utilisant la méthode du point médian. Il n'est pas immédiatement clair pour moi lequel est préférable. Pour un N plus grand , on peut bien sûr aussi penser aux méthodes à plusieurs étapes, aux schémas Runge-Kutta itérés, etc.( t 1 - t 0 ) / 2 t 1 - t 0 N
Ce que je recherche, ce sont des résultats similaires à ceux qui existent, par exemple pour les règles de quadrature: nous pouvons choisir poids et les points associés telle sorte que la règle de quadrature est exact pour tous les polynômes tels que .
Par conséquent, je recherche des limites supérieures ou inférieures sur la précision globale des méthodes ODE, étant donné un nombre limité d'évaluations autorisées de la RHS . Ce n'est pas grave si les bornes ne s'appliquent qu'à certaines classes de RHS ou imposent des contraintes supplémentaires à la solution (tout comme le résultat de la règle de quadrature qui ne s'applique qu'aux polynômes jusqu'à un certain degré).
EDIT: Quelques informations de base: Ceci est pour les applications en temps réel difficiles, c'est-à-dire que le résultat doit être disponible avant une date limite connue. D'où la limite du nombre d'évaluations de l'ERS comme facteur de coût dominant. En règle générale, nos problèmes sont rigides et relativement petits.
EDIT2: Malheureusement, je n'ai pas les exigences de synchronisation précises, mais il est sûr de supposer que sera plutôt petit (certainement <100, probablement plus proche de 10). Étant donné l'exigence en temps réel, nous devons trouver un compromis entre la précision des modèles (avec de meilleurs modèles conduisant à des temps d'exécution plus longs de la RHS et donc à un plus faible ) et la précision de la méthode ODE (avec de meilleures méthodes nécessitant une plus grande valeurs de ).
la source
Réponses:
Je pense qu'une référence clé pour répondre à votre question est cet article d'Osée et de Shampine . Je vais maintenant donner quelques informations.
En général, la taille de pas que vous pouvez utiliser lors de l'intégration numérique d'un IVP peut être limitée par la stabilité ou la précision. Si vous voulez choisir le meilleur solveur en termes de stabilité, vous devez considérer la région de stabilité absolue . Pour une méthode en une étape, c'est
Ici est la fonction de stabilité de la méthode; voir par exemple le texte de Hairer et. Al. Une condition nécessaire à la stabilité est que λ h ∈ S où λ se situe sur les valeurs propres du jacobien de f et h est la taille du pas. Ce n'est pas toujours une condition suffisante pour les problèmes non linéaires mais c'est généralement une bonne règle de base et est utilisée dans la pratique.P(z) λh∈S λ f h
Pour un traitement approfondi du problème de la recherche de méthodes (explicites) qui permettent de grandes tailles de pas stables, voir mon article sur les polynômes de stabilité et celui-ci sur l'optimisation des méthodes de Runge-Kutta pour les simulations de fluide compressible .
La stabilité est la préoccupation pertinente si vous constatez que la plus grande taille de pas stable vous donne déjà suffisamment de précision. D'un autre côté, la taille du pas peut à la place être limitée par vos exigences de précision. Ce qui est généralement fait, c'est le contrôle des erreurs locales. La solution est calculée à l'aide de deux méthodes, et leur différence est utilisée comme estimation de l'erreur dans la moins précise. La taille de pas est choisie de manière adaptative pour atteindre le plus près possible la tolérance prescrite.
Deux mesures théoriques sont essentielles pour prédire l'efficacité de la précision. Le premier est l' ordre de précision de la méthode, qui décrit la vitesse à laquelle l'erreur se rapproche de zéro lorsque la taille du pas diminue. Le second est l' indice d'efficacité de précision (voir l'article d'Osée et de Shampine lié dans la première phrase ci-dessus) qui prend en compte les constantes apparaissant dans les termes d'erreur et permet des comparaisons entre des méthodes du même ordre.
La précision et l'efficacité de la stabilité d'un large éventail de méthodes peuvent être calculées de manière simple et automatisée à l'aide de NodePy (avertissement: NodePy est développé par mes soins).
la source
Il n'y a pas beaucoup de résultats dans cette direction, car il est plus difficile que de simplement fixer la précision, car les considérations de stabilité peuvent souvent vous obliger à choisir des pas de temps plus petits que ceux dont vous auriez besoin pour la précision souhaitée. Les résultats sont donc répartis entre les cas rigides et non rigides. Dans le premier cas, les exigences en matière de délais et d'évaluations RHS ne sont généralement pas régies par l'exactitude, et dans le second cas, elles le sont.
Je vais me concentrer sur les méthodes explicites, car le cas implicite est beaucoup moins évident du nombre d'évaluations RHS que vous devrez utiliser ... cela dépend entièrement de la façon dont vous décidez de résoudre le système résultant.
Pour les systèmes non rigides:
Il existe des limites d'étape pour les méthodes Runge-Kutta explicites pour lesquelles il faut indiquer le nombre d'étapes (évaluations RHS) nécessaires pour atteindre un certain ordre de précision. Après le quatrième ordre, le nombre d'étapes dépasse l'ordre de précision et la disparité continue de croître. Le gros livre ODE du boucher: http://books.google.com/books/about/Numerical_Methods_for_Ordinary_Different.html?id=opd2NkBmMxsC
fait un bon travail en expliquant certaines de ces preuves de «non-existence».
Votre exemple de règle de quadrature conduit soit à une méthode de type à étapes multiples comme Adams-bashforth, soit à ce que l'on appelle maintenant des méthodes de correction spectrale différée. Pour adams-bashforth, vous n'avez besoin que d'une seule évaluation RHS par étape, mais comme les régions de stabilité sont si petites en général pour ces méthodes, vous finissez généralement par faire la même quantité de travail en termes d'évaluations RHS qu'une méthode Runge-Kutta avec la même commande.
Voici un article sur la correction spectrale différée:
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
Je ne sais pas comment ces méthodes d'intégration se comparent aux méthodes explicites standard, elles nécessitent souvent beaucoup plus de mémoire pour enregistrer les états de la solution aux nœuds en quadrature et je ne les ai donc jamais utilisées moi-même.
Pour les systèmes rigides:
il existe des pas de temps «optimisés», mais les résultats théoriques précis concernant leur efficacité sont malheureusement limités à quelques cas simples (et même ceux-ci se sont avérés ne pas être un travail trivial). Les trois résultats standard indiquent que pour les méthodes de Runge-Kutta à étages : l'axe réel le plus négatif qu'il peut inclure dans sa région de stabilité est un intervalle de longueur 2 S 2 , l'axe le plus imaginaire qu'il peut contenir est un intervalle de longueur S - 1 , et le plus grand cercle tangent à l'axe imaginaire qu'il peut contenir a un rayon S (tous ces éléments s'excluent mutuellement également).S 2S2 S−1 S
la source
Il y a bien sûr des exceptions (systèmes très grands, systèmes très rigides) mais un sentiment commun dans la communauté est que la question de la conception de solveurs ODE pour des systèmes "standard" est résolue. Par conséquent, je pense que la question que vous posez n'est pas très intéressante - elle concerne un composant de la conception du solveur ODE qui n'a plus d'importance. Cela peut également expliquer le manque de littérature sur le sujet.
la source
f(x)
n'est pas gratuite mais plutôt si chère que le nombre d'évaluations est limité.Donc, le premier point est de vous assurer que votre RHS est vraiment plus cher que l'algèbre linéaire sous-jacente.
Le deuxième point: il est connu de la littérature que les solveurs basés sur des méthodes "coûteuses" (c'est-à-dire des méthodes RK explicites) fonctionnent parfois plus rapidement que ceux "moins chers" (méthodes explicites en plusieurs étapes).
En résumé, je pense que vous ne devriez pas seulement considérer le nombre d'évaluations de l'ERS.
la source