Problème solveur : contrainte = multiple de 12

Fermé
dolostan Messages postés 6 Date d'inscription lundi 8 juillet 2013 Statut Membre Dernière intervention 28 mars 2018 - 28 mars 2018 à 12:47
JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 - 28 mars 2018 à 23:20
Bonjour,

Je m'arrache les cheveux sur le problème suivant :

Je cherche à optimiser le remplissage d'un conteneur de jus de fruit. Capacité max = 21.600 litres conditionnés en cartons de 12.

Le nombre de mois de stock "n" qui sera constitué sera le même pour toutes les références. La valeur de "n" m'importe moins que de savoir combien de litres par référence je dois commander pour remplir le conteneur.
Les données sont les suivantes :
- Conso mensuelle "Cm" connue
- Stock dispo "S" connu
- Qté à commander "Qc" = à optimiser
- Mois de stock correspondant "n" = variable

Calcul : (Cm x n) - S = Qc
ou sur Excel : D3 = (B3*$E$3)-C3

J'ai paramétré le solveur comme sur l'image ci-dessous. J'arrive au résultat attendu en terme de nombre de litres par référence et je sais donc que je commande pour 4.9 mois de stock et la somme des Qc fait bien 21.600L.

En revanche, impossible d'intégrer la contrainte que le résultat "Qc" optimisé par référence doit être un multiple de 12 !
Le seul sujet existant déjà sur le forum traitant des problèmes de multiples (utilisation de MOD(Variable;Diviseur)) avec une contrainte renvoyant à "0" ne m'a pas aidé malheureusement.

Y aurait il une âme charitable pour m'aider ?
D'avance merci.




A voir également:

3 réponses

eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 238
28 mars 2018 à 13:22
Bonjour,

sans fichier difficile d'être précis.
Tu dois mettre 2 colonnes pour ta quantité.
Une que le solveur fera varier de 1 à x avec le critère Entier, une pour la quantité réelle qui sera *12

Mais à voir ton image je m'étonne que le solveur soit nécessaire.
Tu ne peux pas mettre une simple formule ?
Par exemple en D3 :
=ENT((21600-D3)/12)*12


cjoint.com et coller ici le lien pour déposer un fichier (avec les explications de ce que tu veux calculer)
eric
0
dolostan Messages postés 6 Date d'inscription lundi 8 juillet 2013 Statut Membre Dernière intervention 28 mars 2018
28 mars 2018 à 14:14
Merci Eric, je mets à jour ma demande en postant le fichier excel.
0
dolostan Messages postés 6 Date d'inscription lundi 8 juillet 2013 Statut Membre Dernière intervention 28 mars 2018
28 mars 2018 à 14:19
À la lecture du fichier je penses que tu verras mieux l'intérêt du solveur
0
dolostan Messages postés 6 Date d'inscription lundi 8 juillet 2013 Statut Membre Dernière intervention 28 mars 2018
28 mars 2018 à 14:26
Ci-dessous le fichier excel.

On se rend compte que c'est la somme des quantités à commander par référence qui doit atteindre 21.600 et que chacune de ces quantités doit être un multiple de 12.

À moins que j'aborde le sujet sous un mauvais angle ?

https://www.cjoint.com/c/HCCmueuY3fB

Merci.
0
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 238
Modifié le 28 mars 2018 à 15:08
Et si tu testais ma formule pour dire ce que tu en penses ?

Par ailleurs tu dis "Je cherche à optimiser le remplissage d'un conteneur de jus de fruit. Capacité max = 21.600 litres"
Tu n'y fais référence nulle part.
Moi je comprend que tu veux remplir complètement tes containers.
Et "La valeur de "n" m'importe moins que ..."
Elle t'importe ou elle t'importe pas ?
Essais d'être clair sur ton besoin.
0
JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 858
28 mars 2018 à 23:20
Bonsoir,

En relâchant la contrainte d'intégrité et de multiple de 12 on peut calculer le nombre de mois de stock directement : =(21600+SOMME(C14:C18))/SOMME(B14:B18), soit 4,91661538461539.

Pour intégrer la contrainte de multiple de 12, tu mets en colonne Qc : =ARRONDI.SUP((B14*$E$12-C14)/12;), à recopier vers le bas.
Maintenant, tu raisonnes en pack de 12.
La contenance de 21600 litres devient donc 1800 pack de 12.

Pour calculer le nombre de mois de stock max tout en remplissant le container, tu peux utiliser le solveur avec E14 en cible et en variable. Pour la cible, tu cherches à maximiser.
Tu ajoutes une contrainte sur D19 qui doit être égale à 1800.
Tu gardes ton mode Grc.

Si tu ne mets rien en E14 ou même si tu mets certaines valeurs, le solveur te sortira des valeurs "curieuses" ou t'indiquera qu'il ne trouve pas de solution.
Je te conseille de mettre 5 en E14 avant de lancer le solveur.
5 est le plus petit entier supérieur au nombre de mois de stock calculé en relâchant la contrainte d'intégrité.


cordialement
0