Question

J'ai créé un modèle dans Excel à utiliser conjointement avec Solver. Il fonctionne la plupart du temps. Le seul problème est que Solver ne traite pas vraiment les cellules sous forme binaire contraintes correctement. Quand il est fait de trouver une solution, certains chiffres sont en fait 0,9999996, 1,0000000003, 0,0000017, et ainsi de suite.

J'utilise Excel 2004 sur Mac OS X. Toutes les idées?

Était-ce utile?

La solution

En raison de la précision finie des ordinateurs et la nature des algorithmes d'optimisation, le solveur a des tolérances construit. Je voudrais essayer sur le bouton Options dans la boîte de dialogue Paramètres du solveur puis augmenter la précision (par exemple à partir de la valeur par défaut de 0,000001 à 0,00000001). Je ne sais pas si cela va fonctionner, mais il vaut la peine d'essayer.

Mon entreprise fait un solveur de qualité commerciale accroché à Excel appelé What'sBest. Si ce qui précède ne vous pas pu travailler en tenir compte. Vous pouvez trouver plus d'informations à www.lindo.com

Autres conseils

Si les valeurs binaires sont loin de 0 ou 1, vous pourriez avoir à aller aux options dans la fenêtre Solver et vérifiez si la case « Ignorer les contraintes entières est cochée ».

Si solveur ne parvient pas à trouver une solution dans le délai ou le nombre d'itérations permis (ou s'il n'y a pas de bonne réponse possible), il ne reviendra pas des réponses binaires.

Un possible le travail autour, en fonction du type de problème vous essayez de résoudre et comment exactement une réponse dont vous avez besoin , est de définir quelques cellules (probablement ceux avec les plus petites valeurs dans les cellules que vous calculez pour) avec le contstraints <=1 et >=0 plutôt que binaire. L'image que vous avez fournies n'apparaît pas, donc je ne suis pas exactement ce que vous étiez après.

(Il peut être utile de mettre en place une cellule avec un SUMPRODUCT pour les cellules non définies comme binaire;. Voir ci-dessous)

À titre d'exemple, si vous essayez de résoudre pour un total de 22 (qui n'a pas de solution), vous commencez avec:

9   1
9   1
9   1
6   1
3   1

Si vous définissez toutes les valeurs dans la deuxième colonne sous forme binaire, vous finirez avec:

9   0.5625
9   0.5625
9   0.5625
6   0.708333333
3   0.854166667

Si vous définissez la première 3 sous forme binaire, et les deux derniers en <=1 et >=0, vous vous retrouvez avec:

9   0
9   1
9   1
6   0.333333333
3   0.666666667

Le SUMPRODUCT pour les deux dernières lignes = 4, que vous pouvez ensuite utiliser pour régler manuellement l'un des deux derniers comme 1 et l'autre 0, selon que vous voulez une réponse légèrement au-dessous ou au-dessus de la cible.

J'avais problème similaire et pourrait le résoudre en allant aux options de solveur et la vérification « Utiliser l'échelle automatique ». Je ne suis pas sûr que cela va résoudre votre problème ou non, mais la peine d'essayer.

Probablement pas votre problème, mais il faut savoir il y a une case à cocher dans les options Ignore Integer Constraints qui est cochée par défaut dans Excel Solver. Au moins c'est le cas dans ma copie d'Excel 2011 pour Mac.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top