ALGORITHMES D'OPTIMISATION NON LINÉAIRE: DESCENTE DE GRADIENT, LM, BFGS, SIMPLEX
pgl10
Messages postés380Date d'inscriptionsamedi 18 décembre 2004StatutMembreDernière intervention29 octobre 2023
-
29 juin 2009 à 22:25
shenron666
Messages postés229Date d'inscriptiondimanche 14 septembre 2003StatutMembreDernière intervention20 août 2014
-
2 juil. 2009 à 11:09
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
shenron666
Messages postés229Date d'inscriptiondimanche 14 septembre 2003StatutMembreDernière intervention20 août 2014 2 juil. 2009 à 11:09
Merci à vous tous pour ces explications détaillées des cas pratiques ;-)
pgl10
Messages postés380Date d'inscriptionsamedi 18 décembre 2004StatutMembreDernière intervention29 octobre 202311 1 juil. 2009 à 16:33
=> SHENRON666 : pour continuer encore un peu sur les utilisations de toutes ces méthodes on peut citer en géométrie 3d l'ajustement automatique d'une surface au meilleur voisinage d'un nuage de points. Qu'il s'agisse soit d'une surface implicite, exemple une sphère définie par son centre et son rayon, soit d'une surface paramétrique, exemple une surface de Bézier définie par un tableau de points de contrôle, dans tous les cas la fonction à minimiser est la somme des distances, ou de leurs carrés, des points du nuage à la surface provisoire et les variables sont les valeurs qui définissent cette surface. On en déduit la surface optimum.
=> PISTOL_PETE : merci d'avoir mis côte à côte ces diverses méthodes ayant des caractéristiques différentes et qui peuvent convenir plus ou moins à certains types de problèmes ou à certains cas particuliers. ( je n'ai pas 10 parce que cela ne se compile pas sur mon vieux VC6 !! )
Pistol_Pete
Messages postés1053Date d'inscriptionsamedi 2 octobre 2004StatutMembreDernière intervention 9 juillet 20137 1 juil. 2009 à 11:11
>PGL10 Effectivement au niveau de la stabilité la méthode Fletcher-Reeves avec relance périodique est très bonne.
Pour Shenron666, ces fonctions sont largement utilisé en chimie, en mécanique, en mathématique... en fait, presque toutes les disciplines.
Pour être concret, voici ma problématique; On sait que des particules d'un matériaux sont des parallélogrammes 3D. La problématique est de trouver la largeur, la longueur et l'épaisseur de ces particules: (L, l et e).
Ce sont donc mes trois paramètres que je vais optimiser par ces méthodes en minimisant une fonction "résidu" bien déterminé. Une fois la convergence atteinte, je connaitrais les paramètres optimaux (L*, l* et e*) de mes particules.
pgl10
Messages postés380Date d'inscriptionsamedi 18 décembre 2004StatutMembreDernière intervention29 octobre 202311 30 juin 2009 à 20:18
Les méthodes de calcul dont on parle ici ont pour but de trouver le minimum d'une fonction à plusieurs variables en principe sans contraintes, c'est à dire sans limites du domaine à explorer, mais avec un nombre d'appel à la fonction et/ou son gradient le plus faible possible. Cela sert en économie pour optimiser un gain en fonction de paramètres, cela sert pour résoudre des équations non linéaires, ainsi que de nombreux autres problèmes.
pgl10
Messages postés380Date d'inscriptionsamedi 18 décembre 2004StatutMembreDernière intervention29 octobre 202311 30 juin 2009 à 20:00
Bonjour Pistol_Pete
Je suis bien d'accord avec tes commentaires. L'ancienne méthode de Davidon Fletcher Powell, qui n'est pas là, est complètement surpassée par BFGS, on peut l'oublier. Mais si BFGS est le plus souvent la meilleure en rapidité,je crois que la méthode de Flechter et Reeves avec relance périodique peut dans certains cas être plus robuste. C'est justement pour cela que ton application est très utile pour faire divers essais et comparaisons. Donc encore bravo.
shenron666
Messages postés229Date d'inscriptiondimanche 14 septembre 2003StatutMembreDernière intervention20 août 2014 30 juin 2009 à 19:46
et sinon, concrètement, ça sert à quoi ?
désolé si la question vous parait bête mais comme ce n'est pas mon domaine ce serai sympa d'avoir quelques explications sur l'application réelle de ce programme ;-)
Pistol_Pete
Messages postés1053Date d'inscriptionsamedi 2 octobre 2004StatutMembreDernière intervention 9 juillet 20137 30 juin 2009 à 11:32
Après une petite recherche bibliographique, j'ai ajouté deux fonctions d'optimisation à mon programme :
La méthode de Fletcher-Reeves avec relance périodique (toutes les 2 itérations! ) et celle de Polack-Robière.(qui est juste une variante de Fletcher-Reeves).
Voici mes commentaires :
Ce sont deux méthodes très correctes, mais pas aussi bien que la méthode BFGS. D'ailleurs Fletcher-Reeves date de 1964 et la méthode BFGS de 1970. Le F de BFGS est pour ... Fletcher!
La méthode BFGS est donc une amélioration de la méthode de Fletcher-Reeves.
Pistol_Pete
Messages postés1053Date d'inscriptionsamedi 2 octobre 2004StatutMembreDernière intervention 9 juillet 20137 30 juin 2009 à 08:19
Bonjour PGL10
Merci de ton commentaire. Effectivement, je voulais faire une navigation sur les courbes la plus intuitif possible. Je pense y être arrivé avec une IHM style google Maps.
Pour la méthode de Fletcher et Reeves, je ne connaissais pas, mais je vais la regarder et surement faire une petite update de cette source...
pgl10
Messages postés380Date d'inscriptionsamedi 18 décembre 2004StatutMembreDernière intervention29 octobre 202311 29 juin 2009 à 22:25
Bravo pour l'aspect démonstratif et très didactique. La méthode de Fletcher et Reeves avec relance périodique a la réputation d'être très robuste. Ce serait sympa de l'ajouter.
2 juil. 2009 à 11:09
1 juil. 2009 à 16:33
=> PISTOL_PETE : merci d'avoir mis côte à côte ces diverses méthodes ayant des caractéristiques différentes et qui peuvent convenir plus ou moins à certains types de problèmes ou à certains cas particuliers. ( je n'ai pas 10 parce que cela ne se compile pas sur mon vieux VC6 !! )
1 juil. 2009 à 11:11
Pour Shenron666, ces fonctions sont largement utilisé en chimie, en mécanique, en mathématique... en fait, presque toutes les disciplines.
Pour être concret, voici ma problématique; On sait que des particules d'un matériaux sont des parallélogrammes 3D. La problématique est de trouver la largeur, la longueur et l'épaisseur de ces particules: (L, l et e).
Ce sont donc mes trois paramètres que je vais optimiser par ces méthodes en minimisant une fonction "résidu" bien déterminé. Une fois la convergence atteinte, je connaitrais les paramètres optimaux (L*, l* et e*) de mes particules.
30 juin 2009 à 20:18
30 juin 2009 à 20:00
Je suis bien d'accord avec tes commentaires. L'ancienne méthode de Davidon Fletcher Powell, qui n'est pas là, est complètement surpassée par BFGS, on peut l'oublier. Mais si BFGS est le plus souvent la meilleure en rapidité,je crois que la méthode de Flechter et Reeves avec relance périodique peut dans certains cas être plus robuste. C'est justement pour cela que ton application est très utile pour faire divers essais et comparaisons. Donc encore bravo.
30 juin 2009 à 19:46
désolé si la question vous parait bête mais comme ce n'est pas mon domaine ce serai sympa d'avoir quelques explications sur l'application réelle de ce programme ;-)
30 juin 2009 à 11:32
La méthode de Fletcher-Reeves avec relance périodique (toutes les 2 itérations! ) et celle de Polack-Robière.(qui est juste une variante de Fletcher-Reeves).
Voici mes commentaires :
Ce sont deux méthodes très correctes, mais pas aussi bien que la méthode BFGS. D'ailleurs Fletcher-Reeves date de 1964 et la méthode BFGS de 1970. Le F de BFGS est pour ... Fletcher!
La méthode BFGS est donc une amélioration de la méthode de Fletcher-Reeves.
30 juin 2009 à 08:19
Merci de ton commentaire. Effectivement, je voulais faire une navigation sur les courbes la plus intuitif possible. Je pense y être arrivé avec une IHM style google Maps.
Pour la méthode de Fletcher et Reeves, je ne connaissais pas, mais je vais la regarder et surement faire une petite update de cette source...
29 juin 2009 à 22:25