Problème de contrainte avec le solveur Excel

Fermé
kbastien Messages postés 64 Date d'inscription dimanche 26 décembre 2010 Statut Membre Dernière intervention 1 avril 2020 - 31 oct. 2012 à 23:13
 koka - 11 janv. 2015 à 20:02
Bonjour,

J'utilise le solveur excel depuis peu et j'arrive à le faire fonctionner pour des exemple simple en y ajoutant des contraintes, par contre pour le problème avec le quel je voulais le résoudre via la solveur, je n'arrive pas à mettre les contrainte pour qu'il optimise mon résultat.

Je vous expose la situation:

D5 est la cellule à optimiser (max)
E2 et F2 sont les 2 variables du problème

E2 et F2 ne peuvent prendre que certaines valeurs

E2______F2
2000___2200
4000___2300
6000___2400
8000___2500
10000__2550
_______2600


Si ce n'est pas ces valeurs qui sont utilisé D5 affiche #VALEUR! et par conséquent fait bugger le solveur. J'ai essayer de régler le problème en faisant en sorte que chaqu'une de ces cellule ne puisse afficher que la liste que je lui assigne sinon il y a une alerte d'erreur qui l'empêche de prendre une autre valeur. J'ai essayer de mettre seulement des entier pour les variables dans le solveur, sans succès.

Ce que je cherche à faire c'est que le solveur trouve la plus grande valeur de D5 en essayant les possibilité de variable que je lui dicte Ex: E2=4000 et F2=2550 (voir les valeurs possible de chaque cellule plus haut)

voici le fichier excel en question https://www.cjoint.com/?0JFxlvnI7m2

2 réponses

eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
Modifié par eriiic le 31/10/2012 à 23:25
Bonjour,

tu as =#VALEUR! dans Calcul!A2:B2...
Si tu pouvais mettre un fichier corrigé.

Dans E2 et F2 tu dois mettre des formules pour générer les valeurs autorisées.
Les variables seront à déclarer au solveur.
Ca m'étonnerait que le solveur utilise les listes déroulantes...

Et si tu pouvais dire ou sont utilisées E2 et F2.

eric

Jamais tu ne répondras à un mp non sollicité...
Bon, ça c'est fait.
0
kbastien Messages postés 64 Date d'inscription dimanche 26 décembre 2010 Statut Membre Dernière intervention 1 avril 2020 4
1 nov. 2012 à 00:43
E2 et F2 sont des variables qui font en sorte que dans la feuille CALCUL A2 et B2 font une recherche dans le tableau à droite ex :à 4000' RPM de 2300 et température standard; A2 et B2 vont trouver respectivement la vitesse(KTAS:true air speed) et la consommation(GPH:gallon par heure)

avec ces informations combiné à B2,C2,D2 dans "flight planning" elle calcule en bout de ligne la distance parcouru par quantité d'essence.

si le solveur ne peut pas prendre de liste de choix déroulante, comment peut on contourné ce problème.

merci
Keven
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
1 nov. 2012 à 10:37
Bonjour,

par exemple :
E1: =$I$1*2000+2000
F1: =$J$1*100+2200-($J$1>3)*($J$1-3)*50
indiquer au solveur I1>=0, I1<=4, J1>=0, J1<=5

Je n'ai pas eu de réponse pour :
tu as =#VALEUR! dans Calcul!A2:B2...
Si tu pouvais mettre un fichier corrigé.


eric
0
kbastien Messages postés 64 Date d'inscription dimanche 26 décembre 2010 Statut Membre Dernière intervention 1 avril 2020 4
Modifié par kbastien le 1/11/2012 à 13:33
Je ne comprends pas pourquoi dans la feuille calcul ça a pu faire #VALEUR! car la seule façon pour que j'y arrive c'est en écrivant un texte en flightplanning! E2:F2, sinon si la formule de recherche des 2 cellule en question échoue il peut écrire "fuck" pour qu'on voit qu'il n'y a pas de solution pour les paramètre exigé. quand on utilise les paramètre dans la liste de choix moi Calcul!A2:B2 affiche des valeurs bien correct... Si tu pouvais me montrer ou ça bug pour toi en image ça serait apprécier pour que je comprenne mieux qu'est-ce que tu veux dire

http://cjoint.com/data/0KbnxJwIqWD.htm

1ere sous question: tes formules fonctionne bien. Le problème c'est qu'il y a quelque exception qui ne fonctionne pas ex: à 2000' tu ne peux pas avoir un régime de 2600rpm et donc la D5 affiche #N/A et le solveur(très capricieux) ne continu pas sans se soucier de cette erreur pour trouver la valeur max il bug encore y a t-il une manière d'éliminer ça en une formule ou faut-il que je mette une 15aine de contrainte de plus pour faire en sorte que quand
1i=0 Jn'égale pas 5
2000______2600
par exemple


Kéven
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
Modifié par eriiic le 1/11/2012 à 16:48
En fait c'est dû à la conversion sur 2003 qui se fait mal.

Sur 2010 j'ai mis ce que je te proposais (ne plus se servir des listes déroulantes en E2:F2 mais faire varier en I1:J1).
Seulement ta feuille calcul supporte mal (sans doute parce que pour le solveur un entier peut être égal à 2000.002 ?) , je te laisse voir pourquoi...

eric
0
bjr j ai compris le fonction de solveur ??
0