optimisation non linéaire à 4 variables : Levenberg&Marquardt, recuit simulé
Répondre à la discussion
Affichage des résultats 1 à 2 sur 2

optimisation non linéaire à 4 variables : Levenberg&Marquardt, recuit simulé



  1. #1
    Anthonaille

    optimisation non linéaire à 4 variables : Levenberg&Marquardt, recuit simulé


    ------

    Bonjour Bonjour

    J'ai une série de 85 points et je souhaiterais déterminer les paramètres a,b,c,d tels que la fonction f(t) = at*e-bt + ct*e-dt décrive au mieux ma série de points.

    J'ai commencé par appliquer l'algo de Levenberg-Marquart pour la réduction de l'erreur quadratique totale (j'ai repris le code donné dans Numerical Recipes) mais il s'enferme dans les minima locaux et les résultats sont donc très dépendants des conditions initiales.

    J'ai ensuite implémenté un recuit simulé (là aussi en assimilant l'énergie à l'erreur quadratique totale) mais pareil il ne converge pas vers une solution satisfaisante même après plusieurs millions d'itérations.

    Le problème c'est que dans mes recherches, à part le recuit simulé je ne trouve que des méthodes 1D ou des méthodes qui converge vers le minimum local.

    Bref n'étant pas très familier de ce genre de choses, si jamais vous connaissez un algo qui pourrait correspondre à mon problème je vous en serai très reconnaissant

    A+

    -----

  2. #2
    invite06622527

    Re : optimisation non linéaire à 4 variables : Levenberg&Marquardt, recuit simulé

    Bonjour,

    Une méthode qui ne nécessite pas de fournir une estimation initiale et qui effectue un calcul direct (sans itération) est décrite dans un article publié sur Scribd : "Régressions et équations intégrales", par le lien :
    http://www.scribd.com/JJacquelin/documents
    Dans le cas de cette fonction à deux exponentielles, le calcul est exposé page 72. La correspondance des notations est :
    Notations utilisées pour la question posée : f(t)/t = a*exp(-b*t) + c*exp(-d*t)
    Notations utilisées pour la description du calcul : y(x) = b*exp(p*x) + c*exp(q*x)
    Donc t=x et y(x)=f(t)/t
    Si on me fourni les données numériques, je peux facilement les traiter avec le programme existant et donner le résultat, c'est à dire les valeurs ajustées de b, c, p et q qui correspondront donc respectivement à a, c, -b et -d.
    Eventuellement, on peut ensuite utiliser ces valeurs des coefficients en tant que données initiales pour l'algorithme de Levenberg-Marquart de façon à affiner le résultat (dans certains cas).

Discussions similaires

  1. Optimisation linéaire avec contraintes non linéaire
    Par thomas5701 dans le forum Mathématiques du supérieur
    Réponses: 5
    Dernier message: 24/01/2013, 00h28
  2. le critère de metropolis dans le recuit simulé
    Par invite5098bf5f dans le forum Mathématiques du supérieur
    Réponses: 0
    Dernier message: 23/08/2011, 11h09
  3. Optimisation impossible avec Gauss-Newton et Levenberg Marquardt
    Par Glouboz dans le forum Mathématiques du supérieur
    Réponses: 3
    Dernier message: 09/08/2010, 13h59
  4. Optimisation-levenberg-marquart
    Par membreComplexe12 dans le forum Mathématiques du supérieur
    Réponses: 0
    Dernier message: 27/04/2010, 17h47
  5. Méthode de Levenberg-Marquardt.
    Par invite1d80e60c dans le forum Mathématiques du supérieur
    Réponses: 0
    Dernier message: 03/01/2008, 12h56