Problème d'obtimisation, déterminer les paramètres d'un bilan de masse
Répondre à la discussion
Affichage des résultats 1 à 19 sur 19

Problème d'obtimisation, déterminer les paramètres d'un bilan de masse



  1. #1
    FlorianDav

    Problème d'obtimisation, déterminer les paramètres d'un bilan de masse


    ------

    Bonjour à tous,
    Je travaille en ce moment sur un problème d’optimisation. Je veux connaitre les paramètres d'un modèle de diffusion.
    Le bilan de masse s'écrit :

    J'ai un tableau de valeurs qui correspond à C en fonction de z :
    Nom : tableau.PNG
Affichages : 261
Taille : 4,1 Ko

    De même, La concentration normalisée (adimensionnelle) à la surface est égale à 1 (z=0).
    La concentration normalisée (adimensionnelle) à l’extrémité du terrain est égale à 0 (z=1).

    Je connais Vx=0.01m mais je cherche la constante cinétique k et le coefficient de dispersion D.

    J'ai essayé de résoudre ce problème en résolvant l'équation différentielle puis en utilisant la méthode des moindres carrés pour trouver les paramètres V et k. Le problème est qu'il y a une multitude de valeurs k et V qui vont minimiser la fonction des moindres carrés. Je me demande donc si je ne fais pas fausse route ? Et s'il n'y a pas une méthode particulière à appliquer ? Y a t-il une fonction sur matlab qui permettrait de résoudre ce problème facilement ?

    Je vous remercie

    -----

  2. #2
    Dlzlogic

    Re : Problème d'obtimisation, déterminer les paramètres d'un bilan de masse

    Bonjour,
    D'abord, j'ai cherché la "formule" exprimée par le tableau donnant C en fonction de z
    Ajustement exponentiel Y= A + B * exp(C * X)
    A = -0.00270 B = 0.996 C = -5.75 (emq=0.00539)
    Comme vous pouvez le voir, la précision est excellente.

    Si j'ai bien compris, le vrai problème consiste à trouver k et D, (ou k et V ?).
    Avez-vous regardé du côté de la méthode de Monté-Carlo ?

  3. #3
    FlorianDav

    Re : Problème d'obtimisation, déterminer les paramètres d'un bilan de masse

    Bonjour

    Exactement, le problème consiste à trouver k et D. Par contre, je ne connais pas la méthode de Monté-Carlo. Comment l'appliquer dans cet exemple ?

    Merci

  4. #4
    FlorianDav

    Re : Problème d'obtimisation, déterminer les paramètres d'un bilan de masse

    Je viens de regarder un peu sur Internet. Concrètement, dans mon cas, cette méthode a pour but de trouver D et k qui minimisent la variance ?

  5. A voir en vidéo sur Futura
  6. #5
    Dlzlogic

    Re : Problème d'obtimisation, déterminer les paramètres d'un bilan de masse

    Vous avez une seule équation, avec deux variables, D et k.
    Il y a donc une infinité de couples qui satisfont cette équation. Comme il s'agit qu'une équation différentielle, le problème t un peu différent.
    La méthode de Monte-Carlo consiste à fait un grand nombre de calculs, avec différentes valeurs prises au hasard dans un intervalle considéré. La moyenne des résultats obtenus converge vers la valeur la plus probable.
    Je vais essayer dans ce sens là, je vous tiens au courant. Comme je n'ai aucune idée de l'intervalle possible, je risque de patauger un peu.

  7. #6
    FlorianDav

    Re : Problème d'obtimisation, déterminer les paramètres d'un bilan de masse

    J'ai essayé de faire cette méthode mais n'y suis pas parvenu. Par contre, en utilisant matlab, j'ai réussi à calculer la matrice de sensibilité et les moindres carrés pour les minimiser. Je ne sais pas si c'est correct de faire ainsi...

  8. #7
    PrRou_

    Re : Problème d'obtimisation, déterminer les paramètres d'un bilan de masse

    Bonjour
    La méthode de Monté Carlo converge très lentement : on l'utilise qu'en dernier recours.

    Citation Envoyé par FlorianDav Voir le message
    J'ai essayé de résoudre ce problème en résolvant l'équation différentielle puis en utilisant la méthode des moindres carrés pour trouver les paramètres D et k. Le problème est qu'il y a une multitude de valeurs k et D qui vont minimiser la fonction des moindres carrés. Je me demande donc si je ne fais pas fausse route ?
    En effet, à mon avis, vous ne pourrez pas déterminer k et D avec vos données. Comme vous dites, il y a une infinité de couples (k,D) qui vont minimiser les moindres carrés. Je m'explique.

    La résolution de l'équation différentielle produit deux paramètres supplémentaires (que je note C_1 et C_2) car c'est une équation diff linéaire d'ordre 2:



    Il faudrait donc utiliser les moindres carrés sur les 4 paramètres k, D, C_1, et C_2 !


    De plus, comme les valeurs de C(z) sont d'ordres de grandeur assez différents (puisque tendant vers 0), je pense qu'il vaut mieux minimiser les carrés des différences "relatives", et non des différences "absolue" comme habituellement dans les moindres carrés...

    Bref, on obtient après calculs, C_1 ~ 0, si bien qu'en effet, vous ne pourrez pas déterminer k et D avec vos données : il y a une infinité de couples (k,D) qui vont minimiser les moindres carrés,
    précisément C(z) ~ exp(-5.86 z) et
    k et D sont liés par k ~ .0586 + 34.3 D
    Dernière modification par PrRou_ ; 22/11/2016 à 08h20.

  9. #8
    PrRou_

    Re : Problème d'obtimisation, déterminer les paramètres d'un bilan de masse

    Citation Envoyé par FlorianDav Voir le message
    en utilisant matlab, j'ai réussi à calculer la matrice de sensibilité et les moindres carrés pour les minimiser. Je ne sais pas si c'est correct de faire ainsi...
    qu'avez-vous trouvé après calculs ?

  10. #9
    FlorianDav

    Re : Problème d'obtimisation, déterminer les paramètres d'un bilan de masse

    Le meilleur résultat que j'ai réussi à trouver est k=3.8 et D=0.11. Mais comme vous l'avez dit le nombre de couples qui minimisent la fonction est illimité...

  11. #10
    PrRou_

    Re : Problème d'obtimisation, déterminer les paramètres d'un bilan de masse

    k=3.8 et D=0.11
    est cohérent avec la relation annoncée
    k ~ 0.0586 + 34.3 D

    Mais on pourrait tout à fait avoir D=1 et k ~ 34.36 avec la même satisfaction par rapport aux données numériques et l'équation différentielle.

    Le problème vient du fait que C_1 = 0 (la constante C_1 venant de la résolution de l'équation différentielle, puis des moindres carrés) :
    si C_1 avait une valeur non nulle, alors on pourrait surement déterminer k et D...

    Dans votre problème, avez-vous une autre contrainte qui pourrait être "algébrisée" ?
    Dernière modification par PrRou_ ; 22/11/2016 à 13h26.

  12. #11
    Dlzlogic

    Re : Problème d'obtimisation, déterminer les paramètres d'un bilan de masse

    Bonjour,
    Pour l'instant, j'arrive à une assez bonne estimation :
    MinD =0.166 Mink=5.700 Res=-0.00000058
    MaxD =0.018 Maxk=4.400 Res=0.00000064
    C'est à dire que pour un couple (D,k) compris entre (0.166 ; 5.700) et (0.018 ; 4.400) on obtient une précision de 6E-7
    Bien sûr, on peut continuer à affiner.

  13. #12
    FlorianDav

    Re : Problème d'obtimisation, déterminer les paramètres d'un bilan de masse

    Non, je ne connais pas de contraintes particulières. J'ai mis toutes les informations dont je dispose dans mon premier message. Je me demande cependant s'il n'y a pas moyen de trouver une fonction de contrainte à partir des infos de l'énoncé.

  14. #13
    Dlzlogic

    Re : Problème d'obtimisation, déterminer les paramètres d'un bilan de masse

    Bonsoir,
    J'ai dû faire une fausse manipulation, le message que j'ai tapé vers 14H ne semble pas apparaître.
    Donc, je le répète.

    Je trouve le résultat suivant :
    MinD =0.166 Mink=5.700 Res=-0.00000058
    MaxD =0.018 Maxk=4.400 Res=0.00000064
    C'est à dire que pour D dans l'intervalle (0.019 ; 0.166) et k dans l'intervalle (4.400 ; 5.700) on a une précision de 6E-7.
    On peut encore affiner ce résultat.
    Bonne soirée.

  15. #14
    PrRou_

    Re : Problème d'obtimisation, déterminer les paramètres d'un bilan de masse

    Citation Envoyé par Dlzlogic Voir le message
    C'est à dire que pour D dans l'intervalle (0.019 ; 0.166) et k dans l'intervalle (4.400 ; 5.700) on a une précision de 6E-7.
    Totalement impossible car k ~ 0.0586 + 34.3 D

  16. #15
    PrRou_

    Re : Problème d'obtimisation, déterminer les paramètres d'un bilan de masse

    oups, message parti trop vite...

    Citation Envoyé par PrRou_ Voir le message
    C'est à dire que pour D dans l'intervalle (0.019 ; 0.166) et k dans l'intervalle (4.400 ; 5.700) on a une précision de 6E-7
    Pardon... on a une précision de 6E-7 sur k et D ?! C'est une blague ? Comment pourrait-on avoir une telle précision vue les données ??

    Si k est compris entre 4.4 et , alors D est compris grosso-modo entre 0.13 et 0.168
    car k ~ 0.0586 + 34.3 D

    Par ailleurs, je ne vois comment on peut justifier ces bornes... Pourquoi D=1 et k=34.36 n'est pas possible ?

  17. #16
    Dlzlogic

    Re : Problème d'obtimisation, déterminer les paramètres d'un bilan de masse

    Bonjour,
    La précision de 6E-7 n'est évidemment pas sur D et k mais sur l'égalité, c'est à dire en écrivant l'équation avec tous les termes d'un seul côté = 0.
    Cela signifie que la valeur des paramètres D et k influe peu sur le résultat, en matière de précision.
    Si la méthode que j'ai utilisée intéresse quelqu'un, je suis prêt à donner tous les détails.
    On a parlé plus haut de la méthode des moindres carrés, je n'ai pas compris où elle pourrait s'appliquer.

  18. #17
    PrRou_

    Re : Problème d'obtimisation, déterminer les paramètres d'un bilan de masse

    Citation Envoyé par Dlzlogic Voir le message
    La précision de 6E-7 n'est évidemment pas sur D et k mais sur l'égalité, c'est à dire en écrivant l'équation avec tous les termes d'un seul côté = 0.
    ...sachant que les coefficients des équations sont d'une précision de 10^(-3)...

    Citation Envoyé par Dlzlogic Voir le message
    On a parlé plus haut de la méthode des moindres carrés, je n'ai pas compris où elle pourrait s'appliquer.
    Elle sert a estimer les valeurs de k et D en tenant compte des données numériques.

  19. #18
    PrRou_

    Re : Problème d'obtimisation, déterminer les paramètres d'un bilan de masse

    Prenons les valeurs suivantes (elles sont très petites) :
    k = 0.0751
    D = 0.000488

    Alors on résout l'équation différentielle, en tenant compte de C(0)=1 et C(1)=0. On trouve
    C(z) ~ exp(-5.84 z) - 10^{-14} exp(26.4 z)

    On peut vérifier alors que les résultats pour z=0, z=0.1, ... jusqu'à z=1 sont très proches des données du tableau.
    Mais est-ce que ce coefficient -10^{-14} a un sens ?... je ne crois pas.

    Et si on pense que C(z) est de la forme exp( - ... z) seulement,
    alors on obtient uniquement une relation linéaire entre D et k (confer message #7).
    Il est donc impossible, dans ce cas, de déterminer D et k de manière objective.
    Dernière modification par PrRou_ ; 23/11/2016 à 12h57.

  20. #19
    PrRou_

    Re : Problème d'obtimisation, déterminer les paramètres d'un bilan de masse

    J'ai repris avec davantage de précisions mon estimation de la relation entre k et D :
    maintenant, j'arrive à k ~ 0.06 + 32.16 D

    Je ne vois pas ce qu'on peut faire de plus car :
    - tout couple (k,D) vérifiant cette relation linéaire donne une solution de l'équation différentielle (avec C(0)=1 et C(1)=0) qui coïncide bien avec le tableau de valeurs numériques ;
    - et tout couple (k,D) s'écartant de cette relation donne des résultats moins bons par rapport au tableau de valeurs.

Discussions similaires

  1. Réponses: 19
    Dernier message: 11/11/2015, 16h59
  2. Comment déterminer les valeurs réelles de deux paramètres telles que P(x) soit divisible par (x+1)²?
    Par NathanS-7 dans le forum Mathématiques du collège et du lycée
    Réponses: 3
    Dernier message: 21/03/2012, 17h06
  3. probléme d'obtimisation à indentifier.
    Par dragoon76p dans le forum Mathématiques du supérieur
    Réponses: 4
    Dernier message: 16/08/2010, 13h58
  4. Réponses: 7
    Dernier message: 19/07/2010, 20h47
  5. Determiner la masse depuis masse volumique
    Par invite8978f3fa dans le forum Physique
    Réponses: 4
    Dernier message: 26/05/2006, 12h31