Optimiser un algorithme en faisant varier un paramètre

jacky128

XLDnaute Nouveau
Bonjour,

Dans le fichier joint, j'ai calculé une suite de valeurs (colonne B) à partir de données sources (colonne A). La suite en colonne B dépend d'un paramètre, alpha, en E2.

En D22, j'ai calculé une erreur.

Ce que j'aimerais, c'est que mon fichier fasse varier la valeur d'alpha jusqu'à me renvoyer celle pour laquelle l'erreur en D22 est minimale. Est ce qu'il est possible de faire ça ?

Je pensais à une macro VBA qui fait varier la valeur de la case E2 en allant chercher des valeurs dans une liste prédéfinie, et qui stocke pour chacune de ces valeurs, l'erreur associée (en D22). Puis la macro renverrait le couple (E2, D22) pour D22 minimale. Mais je ne sais pas coder en VBA, et cette solution n'est peut être pas la plus optimale ! Donc toutes vos remarques sont les bienvenues.

Merci d'avance !
 

Pièces jointes

  • Algorithme à optimiser.xlsx
    12.2 KB · Affichages: 25
  • Algorithme à optimiser.xlsx
    12.2 KB · Affichages: 29
  • Algorithme à optimiser.xlsx
    12.2 KB · Affichages: 28

Dugenou

XLDnaute Barbatruc
Re : Optimiser un algorithme en faisant varier un paramètre

Bonjour,
avec données/analyse scenario/scénario pour crer différentes hypothèses pour les valeurs de E2 et avoir un tableau de résultat.
J'ai créé 4 scénarii avec les valeurs 0.4, 0.2, 0.1, 0.6 et j'ai obtenu une valeur minimale pour 0.1
il reste à recommencer pour des valeurs inférieures à 0.1 et fonction des limites que tu donnes pour cette valeur.
Cordialement
 

jacky128

XLDnaute Nouveau
Re : Optimiser un algorithme en faisant varier un paramètre

Merci beaucoup pour ta réponse, je ne connaissais pas cette fonction d'Excel.

Est ce qu'il est possible de créer les scenarii de façon automatique, afin qu'il calcule pour des valeurs de E2 allant de 0,001 à 0,999 par exemple ? Je ne peux pas créer tous ces scenarii de façon manuelle...
 

Dugenou

XLDnaute Barbatruc
Re : Optimiser un algorithme en faisant varier un paramètre

1000 scénarii, ça ma parait beaucoup et surtout difficile de lire les résultats !
je crois qu'il vaudrait mieux essayer d'encadrer la valeur par approches successives sauf si le comportement de ton modèle est complètement aléatoire
sinon tu fais une macro (avec l'enregistreur pour commencer) qui copie une valeur d'une liste et qui colle le résultat dans un tableau, puis tu ajoute une boucle de i =1 à 1000
Cordialement
 

eriiic

XLDnaute Barbatruc
Re : Optimiser un algorithme en faisant varier un paramètre

Bonjour,

Essaie avec le solveur.
Tu peux essayer différents modèles dans les options si tu sais comment varient tes données.
eric
 

Pièces jointes

  • Algorithme à optimiser.xlsx
    87.4 KB · Affichages: 27
  • Algorithme à optimiser.xlsx
    87.4 KB · Affichages: 30
  • Algorithme à optimiser.xlsx
    87.4 KB · Affichages: 25

Dugenou

XLDnaute Barbatruc
Re : Optimiser un algorithme en faisant varier un paramètre

Une macro de bourrin qui met 30 sec à parcourir les 999 valeurs
nul doute que d'éminents contributeurs feront mieux

Edit : merci Eriiic ! comme je m'en sers jamais, je ne savais pas le faire !
 

Pièces jointes

  • Jacky128 Algorithme macro.xls
    85 KB · Affichages: 26

Statistiques des forums

Discussions
312 364
Messages
2 087 624
Membres
103 624
dernier inscrit
PhilduMorvan