Fonctions > Résolution et optimisation > Choix d'un algorithme de résolution
Choix d'un algorithme de résolution
Vous pouvez choisir un algorithme de résolution pour les fonctions suivantes : Find, Minerr, Minimize, Maximize, Pdesolve, Odesolve, numol, genfit et polyroots, ainsi que pour les intégrales définies.
Pour afficher l'algorithme, cliquez avec le bouton droit de la souris sur le nom de la fonction ou sur l'opérateur d'intégrale.
Pour modifier l'algorithme de résolution, sélectionnez un algorithme de résolution dans la liste.
Sélection de l'algorithme pour les intégrales définies 
Les méthodes d'intégration numérique suivantes sont disponibles :
Romberg : applicable à la plupart des intégrales. Utilise des approximations trapézoïdales sur un nombre pair de sous-intervalles, puis compare les estimations séquentielles en additionnant les surfaces des trapèzes.
Adaptatif : applicable aux fonctions qui changent rapidement sur l'intervalle d'intégration. Également appelée méthode de quadrature adaptative.
Limite infinie :applicable aux intégrales dont une ou deux limites sont infinies. La fonction intégrée doit être réelle.
Point de terminaison singulier : applicable aux intégrales présentant une singularité ou un infini à l'une ou aux deux limites d'intégration. Également appelée méthode de Romberg à limites ouvertes.
Informations supplémentaires :
La sélection de l'algorithme n'est disponible que pour les intégrales définies.
Si au moins une des limites d'intégrale est supérieure à la valeur absolue de 10^307, ou si elle est infinie, la fonction Sélection automatique utilise l'algorithme de résolution Limite infinie. Dans les autres cas, elle utilise celui Adaptatif.
Sélection de l'algorithme pour Rechercher, Minerr, Minimiser et Maximiser 
Pour Find, Minerr, Minimize et Maximize, l'algorithme par défaut utilisé par Sélection automatique est la méthode Non linéaire : Levenberg-Marquardt.
Linéaire : applicable lorsque le problème a une structure linéaire, à savoir des fonctions objectives avec toutes les contraintes. Cet algorithme fournit des résultats rapides et précis.
Non linéaire : Levenberg-Marquardt : tente de trouver les zéros des erreurs dans les contraintes. Si aucun zéro n'est trouvé, la méthode minimise la somme des carrés des erreurs dans les contraintes.
Non linéaire : gradient conjugué : factorise une matrice de projection et applique la méthode du gradient conjugué pour minimiser approximativement un modèle quadratique du problème de barrière.
Non linéaire : SQP : cette méthode d'ensemble actif résout une séquence de sous-problèmes de programmation quadratique pour trouver la solution.
Non linéaire : point intérieur : cette méthode remplace le problème de programmation non linéaire par une série de sous-problèmes de barrière contrôlés par un paramètre de barrière.
Non linéaire : ensemble actif : les méthodes d'ensemble actif résolvent une séquence de sous-problèmes selon un modèle quadratique du problème d'origine.
Dépannage :
Essayez une autre méthode. Une méthode particulière peut fonctionner mieux ou moins bien que les autres pour le problème que vous essayez de résoudre.
Essayez une valeur initiale différente ou ajoutez une contrainte d'inégalité. Donnez une valeur initiale complexe si vous recherchez une solution complexe.
Utilisez Minerr au lieu de Find pour obtenir une solution approchée.
Essayez une valeur différente de TOL ou CTOL.
Pour les systèmes ayant plus d'une solution, la solution renvoyée dépend des valeurs initiales. Vous pouvez ajouter des inégalités pour forcer le solveur à trouver une solution différente.
Sélection de l'algorithme pour Pdesolve et numol 
Pour Pdesolve et numol, l'algorithme de résolution par défaut est Différences de 5 points récursives. Tous les algorithmes résolvent les problèmes à l'aide de la méthode Radau.
Polynomial : utilise les approximations polynomiales des dérivées spatiales du premier et du second ordre pour réduire le système PDE à un système ODE par la variable time.
Différences centrales : utilise les approximations par différences centrales des dérivées spatiales du premier ordre avec une application récursive pour les dérivées spatiales du second ordre afin de réduire le système PDE à un système ODE par la variable time.
Différences de 5 points : utilise les approximations par différences de 5 points des dérivées spatiales du premier ordre avec une approximation séparée pour les dérivées spatiales du second ordre afin de réduire le système PDE à un système ODE par la variable time.
Différences de 5 points récursives : utilise des approximations par différences de 5 points des dérivées spatiales du premier ordre avec une application récursive pour les dérivées spatiales du second ordre afin de réduire le système PDE à un système ODE par la variable time.
Sélection de l'algorithme pour Odesolve 
Adams/BDF (par défaut) : pour les systèmes non raides, Odesolve appelle le solveur Adams qui utilise les méthodes Adams-Bashforth. Si Odesolve détecte que le système de ODE est stiff, il passe au solveur BDF (formule de différenciation à rebours).
Fixe : appelle le solveur rkfixed qui utilise une méthode de Runge-Kutta à pas fixe.
Adaptatif : appelle le solveur Rkadapt qui utilise une méthode de Runge-Kutta avec un pas adaptatif.
Radau : pour les systèmes raides ou ayant des contraintes algébriques, Odesolve appelle le solveur Radau.
Sélection de l'algorithme pour genfit 
Levenberg-Marquardt optimisé (par défaut) : cette version optimisée de la méthode de minimisation de Levenberg-Marquardt est souvent plus rapide et moins sensible aux valeurs initiales imprécises et plus sensible aux erreurs dans les dérivées algébriques fournies.
Levenberg-Marquardt : cette méthode de minimisation est utilisée pour résoudre les problèmes non linéaires aux moindres carrés. Cette méthode doit être utilisée avec genfit pour une fonction qui se comporte bien et des valeurs initiales précises.
Sélection de l'algorithme pour polyroots 
LaGuerre (par défaut) : cette méthode est itérative et recherche des solutions dans le plan complexe.
Matrice compagnon : cette méthode convertit les équations en un problème de valeurs propres.
Est-ce que cela a été utile ?