Trouver LA solution parmi toutes celles proposées par Solveur !

mongril

XLDnaute Nouveau
Bonsoir,

J'utilise Solveur pour obtenir la valeur de deux cellules A1 et B1 de façon à ce qu'une troisième C1 soit égale à 0.

La cellule C1 est la valeur minimale d'une plage de cellules qui dépendent de A1 et B1.

Le problème ainsi posé ne comporte pas qu'une seule solution et Solveur me donne donc des résultats systématiquement différents.

Le hic c'est que je souhaite obtenir la combinaison A1 + B1 la plus petite possible et j'ignore comment procéder pour rajouter cette contrainte ???

Admettons que les solutions proposées soient A1 = 3 et B1 = 10 (A1 + B1 = 13) ou A1 = 5 et B1 = 6 (A1 + B1 = 11), j'aimerais alors obtenir la seconde solution, 11 étant inférieur à 13.

Est-ce possible ?

Merci infiniment par avance.

Je vous souhaite une excellente soirée.

P.S. Peut être ne suis-je pas assez précis ??
 

ROGER2327

XLDnaute Barbatruc
Re : Trouver LA solution parmi toutes celles proposées par Solveur !

(...)

Ahhh, on croyait que tu étais venu dire merci à Roger....

(...)
eric
Mon pauvre eriiiic ! En 2012 ! Quelle idée saugrenue ! Ce que vous pouvez être vieux jeu, quelquefois... Resaisissez-vous, que diable !



Bonne nuit.



ROGER2327
#6031


Mercredi 18 Gidouille 139 (Visitation de Mère Ubu - fête Suprême Seconde)
14 Messidor An CCXX, 9,5040h - lavande
2012-W27-1T22:48:34Z
 

mongril

XLDnaute Nouveau
Re : Trouver LA solution parmi toutes celles proposées par Solveur !

La solution n'est en réalité pas linéaire puisqu'il existe beaucoup de variables qui modifient les solutions. En clair la solution n'est pas systématiquement L12=802512,921769508-0,871697450897949*C12 mais varie en fonction d'autres paramètres.

Donc merci à Roger de s'être penché sur le problème mais sa solution ne s'applique pas de manière systématique.

Je te remercie surtout toi parce que tu m'as aidé à voir le problème autrement et débloquer la solution.

Revenons à ta dernière suggestion :

Solveur m'indique qu'il n'est pas possible d'ajouter la contrainte O17 ent entier parce que O17 n'est pas une variable.
 

mongril

XLDnaute Nouveau
Re : Trouver LA solution parmi toutes celles proposées par Solveur !

Bonjour à tous, désolé pour le manque de politesse, je ne pensais pourtant pas avoir été impoli jusque là.

Et désolé pour ROGER2327. Je ne voulais pas le vexer, je ne suis d'ailleurs pas certain de l'avoir vexé. Je le remercie d'avoir pris le temps de me répondre mais la solution n'est malheureusement pas linéaire.

Vous trouverez ci-joint le classeur remanié, il contient deux contraintes supplémentaires D17 doit être égal à 1 (autrement dit la variable C17 doit être un multiple de 50 000) et N17 doit également être égal à 1 (autrement dit M17 doit être un multiple de 50 000).

Le Solveur ne trouve malheureusement aucune solution, or il en existe bel et bien une.

Merci d'avance.

Bonne après-midi.
 

Pièces jointes

  • Exemple 2.xls
    87.5 KB · Affichages: 31
  • Exemple 2.xls
    87.5 KB · Affichages: 37
  • Exemple 2.xls
    87.5 KB · Affichages: 34

mongril

XLDnaute Nouveau
Re : Trouver LA solution parmi toutes celles proposées par Solveur !

Rebonjour,

Non C17 et M17 sont des variables. Les valeurs qui apparaissent dans le fichier sont celles qu'il avait préalablement trouvées alors que la contrainte "multiple de 50 000" n'était pas définie. Il trouvait alors 254 420 €, avec cette nouvelle contrainte il devrait trouver 250 000 € puisque 250 000 € est multiple de 50 000 et la valeur plus proche de la valeur optimale qu'est 254 420 €.

Je sèche, je ne pige pas où ça coince ?!
 

eriiic

XLDnaute Barbatruc
Re : Trouver LA solution parmi toutes celles proposées par Solveur !

A voir ton fichier inutile d'ajouter la condition entier puisque justement on le calcule en entier.
Ta division doit amener des erreurs d'arrondi, avec le mod() que je t'avais suggéré ça a l'air d'être mieux.
En D17 :
=MOD(C17;50000)
même punition pour M17
eric
 

mongril

XLDnaute Nouveau
Re : Trouver LA solution parmi toutes celles proposées par Solveur !

Si je mets D17=mod(C17;50000) et N17=mod(M17;50000) il faut que j'indique comme contrainte D17=0 et M17=0, on est bien d'accord ? Mais ça ne fonctionne pas mieux pour autant.

Ça me dépasse !?
 

eriiic

XLDnaute Barbatruc
Re : Trouver LA solution parmi toutes celles proposées par Solveur !

Si je mets D17=mod(C17;50000) et N17=mod(M17;50000) il faut que j'indique comme contrainte D17=0 et M17=0, on est bien d'accord ?
oui

Chez moi il m'a sorti 250000 en C17 et rien en M17.

eric
 

Pièces jointes

  • Exemple 2-1.xls
    89.5 KB · Affichages: 34

mongril

XLDnaute Nouveau
Re : Trouver LA solution parmi toutes celles proposées par Solveur !

Bonsoir,

Merci eriiic.

Ce qui est curieux c'est que si j'efface tes résultats et que je relance le solveur, les résultats sont radicalement différents. Il est un peu capricieux ce solveur, non ?

Ou alors je ne sais vraiment pas l'utiliser !

Bonne fin de soirée.
 

eriiic

XLDnaute Barbatruc
Re : Trouver LA solution parmi toutes celles proposées par Solveur !

Bonsoir,

Capricieux, peut-être. Sans doute aussi que si on le connait bien on l'utilise mieux.
C'est surtout qu'il ne faut pas en attendre des miracles non plus et connaitre son fonctionnement.
Fais des recherche sur le net pour ça.

Sur un modèle linéaire c'est simple.
Sinon savoir ce qu'on fait avec les options (as-tu été les voir d'ailleurs ? tu as un bouton...), lesquelles choisir et comment il réagit en conséquence c'est une autre paire de manche.
Ce n'est sûrement pas moi qui t'expliquera cela.

De plus tu ne l'aides pas beaucoup non plus.
Cellules variables : $C$17;$C$18;$C$20;$M$17;$M$18;$M$20
Tu ne fixes aucune condition dessus pour encadrer sa recherche...
En plus, dans l'aide, ils disent de fixer les valeurs de départ pour les cellules variables. Plus tu lui donnes des valeurs proches de la solution optimum, plus il a de chance de trouver (en gros si tu lui fournis la solution il la trouve).

Je l'avais lancé à partir de ton fichier où C17 contenait 254420.
Seul critère : minimiser E18 avec D17=0 (=M17 multiple de 50000). Ce qu'il fait...
Il baisse C17 jusqu'à ce que les conditions soient réunies => C17=250000.00124375 et E18=251111.74
Il a du augmenter E18 pour respecter le critère sur D17....
On peut dire qu'il s'en est bien tiré sur ce coup là.

Mais si tu lui mets C17=548000 il va essayer successivement : 545222, 540758, 432606, ..., 359658, ..., 350526, jusqu'à 350000...
Il passe à coté de solutions valides de par son fonctionnement, de tes choix initiaux et des options choisies (que tu as dû laisser par défaut mais correspondent-elles à ton modèle et lesquelles choisir ?).
Un exemple : il déplace sur une courbe avec un certain pas en regardant la variation, les minima, les maxima, les points d'inflexions et que sais-encore. Si le pas est trop grand il va par exemple rater un minima, un point d'inflexion, un maxima et pour lui la courbe n'a fait que décroitre sur cet intervalle.

Tu voulais minimiser et j'ai vu que tu n'avais même mis min, d'où mon intervention.
Mon aide sur le solveur ne peut aller plus loin, c'est au-delà de mes compétences.
Je t'avoue que sorti des cas simples j'ai rarement réussi à en tirer grand chose.

Je trouve que l'approche de roger était intéressante : quelle allure à la courbe. Même si tu ne peux la mettre en équation sans doute que ça aide à faire les bons choix dans les options du solveur et dans l'initialisation des variables.

Ce sont juste des éléments de réflexion pour toi.
Pour démarrer voici le seul lien que j'ai sur le solveur :
Le solveur d'EXCEL
Si dans tes recherches tu trouves d'autres sites intéressants tu peux nous faire partager.

eric
 

Discussions similaires

Statistiques des forums

Discussions
312 281
Messages
2 086 752
Membres
103 387
dernier inscrit
Loloninho