Utilisation du solver

achestyx

XLDnaute Nouveau
bonjour,

Je cherche a résoudre un problème qui je pense pourrait être résolu avec le solver d'Excel. Comme je ne suis pas familier de cet outil je m'adresse à vous. Si vous avez une réponse à mon problème qui n'est pas articulée autour du solveur je suis quand même preneur... :)

Je veux repartir une quantité de marchandise entre 4 dépôts.
La répartition se fait en fonction des stocks et des ventes réalisée par dépôt.

L'objectif final est d'avoir, après répartition, un taux de stock sur chaque dépôt qui soit le plus proche possible de la part des ventes du dépôt.

Exemple : le depot1 réalise 30% des ventes du produit X. Compte tenu de la quantité de produit X à répartir et de son stock de départ, il faut que le dépot1 reçoive une quantité à définir pour que son stock après répartition représente 30% de la quantité totale du produit X.

Une seule contrainte :
On ne peut répartir que la quantité initiale. On ne peut pas prendre dans le stock existant d'un dépôt en sur-stock pour en servir un autre.


J'ai joins un fichier d'exemple qui présente :
Une liste de produit
Une quantité à répartir.
Les quantités vendues par chaque dépôt
Les quantités en stock dans chaque dépôt.
2 colonnes de total.
Le %age de ventes de chaque dépôt.
La répartition attendue (en jaune) avec des valeurs d'exemple saisies manuellement mais que je souhaite automatiser...
Le %age de stock après répartition.

Si ce n'est pas clair ou si vous avez des questions n'hésitez pas...

Merci
 

Pièces jointes

  • repartition.xlsx
    14.5 KB · Affichages: 133
  • repartition.xlsx
    14.5 KB · Affichages: 133
  • repartition.xlsx
    14.5 KB · Affichages: 132

Misange

XLDnaute Barbatruc
Re : Utilisation du solver

Bonjour

Je ne pense pas que tu puisses résoudre cela avec le solver si facilement. En effet tu as 4 cellules variables : chacune recevant la quantité répartie pour 1 dépot. Le solver te permet de trouver une valeur dans une cellule mais pas simultanément dans 4. De plus il faut appliquer une contrainte sur la somme de tes 4 cellules qui doit être exactement égale à la quantité totale à répartir.
Si quelqu'un d'autre a une idée ça m'intéresserait de voir le cheminement pour résoudre ce problème. Pour ma part je ne vois pas.
 

achestyx

XLDnaute Nouveau
Re : Utilisation du solver

Hello

En fait, je pensais que c'est typiquement le genre de chose qu'était capable de faire le solveur. J'imaginais justement qu'il pouvait faire varier plusieurs cellules pour atteindre une solution contrairement aux formules qui elles sont limitées lorsqu'elles sont interdépendantes...
 

achestyx

XLDnaute Nouveau
Re : Utilisation du solver

Bonjour,

Merci pour la réponse. Je n'ai pas encore réussi à lui faire calculer l'ensemble des 7 lignes de mon exemple ni à limiter les réponses à un entier, mais je ne désespère pas. En tout cas, merci encore, car ce premier exemple m'aide bien à comprendre le solveur.

Achestyx
 

Misange

XLDnaute Barbatruc
Re : Utilisation du solver

Bonjour Chalet53
Oui je me suis pris les pieds dans le tapis entre les différents entrepots et les différents produits. Ton approche donne un début de réponse mais suivant les données, je crains qu'il n'y ait fréquemment pas de réponse correcte. Du coup on peut se demander quel est l'intérêt du solveur dans ce cas.
 

Misange

XLDnaute Barbatruc
Re : Utilisation du solver

Bonjour

Oui le solveur est en thérorie fait pour ce que tu demandes. Mais chaque ligne est en fait ici un problème différent. Il faut donc faire fonctionner le solveur ligne par ligne....
Ensuite il y a de multiples cas ou il ne peut pas y avoir de réponse correcte. Par exemple si le stock avant répart est déjà supérieur aux ventes.
Donc fais juste attention à ce que la vérification manuelle des données du solveur ne te prenne pas un temps fou. Le solveur a tendance à écrire des valeurs même si c'est complètement inadapté :( donc il ne faut pas lui faire confiance les yeux fermés.
 

CHALET53

XLDnaute Barbatruc
Re : Utilisation du solver

Bonjour,

Avec une macro pour lancer sur toutes les lignes (j'ai remis les valeurs à 0)

En ligne 20 à 29 colonne D à K les scénarios associé à chaque ligne
Repris dans la macro
Macro qui pourrait être valable pour n lignes

Activer le solver dans VBE si nécessaire

a+
 

Pièces jointes

  • achestyx.xls
    55 KB · Affichages: 116
  • achestyx.xls
    55 KB · Affichages: 110
  • achestyx.xls
    55 KB · Affichages: 103
Dernière édition:

CHALET53

XLDnaute Barbatruc
Re : Utilisation du solver

Re,

une version entièrement paramétrée (sur la base des contraintes déjà définies)

Je suggérerai, si le résultat est satisfaisant, de gérer les arrondis sur quatre colonnes supplémentaires (à partir du résultat du solveur)

A+
 

Pièces jointes

  • achestyxbis.xls
    55.5 KB · Affichages: 101

achestyx

XLDnaute Nouveau
Re : Utilisation du solver

Hello,

Pour commencer, un tout grand merci à CHALET53 pour son aide précieuse et le temps consacré à mon problème.

De mon coté en testant sur Excel 2003 j'ai eu pas mal de souci au niveau des références du Solver. J'ai même du changer le nom de la méthode SolverOk en SolvOK dans certains de mes tests mais pas dans tous. J'ai du passer à coté d'une subtilité...

Au final ca marche bien. La macro proposé est générique et se prête bien à mon besoin. CHALET53, j'étais arrivé à la même conclusion que toi avec la nécessité de gérer les arrondis dans des colonnes supplémentaires via par exemple une fonction du genre arrondi.au.multiple.

Je vais tenter de porter le code sur 2010 afin de l'appliquer à mon problème initial.

Je clôture le sujet.

Merci au forum
 

Discussions similaires

Réponses
13
Affichages
733
Réponses
2
Affichages
1 K

Statistiques des forums

Discussions
312 489
Messages
2 088 854
Membres
103 975
dernier inscrit
denry