Paramétrer un Solveur avec VBA

De plus sachant que le coût est lié aux 3 produits, voyant le lien de cause à effet, je me suis dit solveur après peut-être ai-je tord..

En gros, comme j'ai dit dans l'annonce du départ je souhaite maximiser le résultat global et pour cela j'ai besoin que le solveur choisisse les meilleurs solutions ( choix entre 2 ) pour chacun des 3 produits différents dans le but de maximiser le global vu que le résultat est lié aux coûts des 3 produits

Quelques questions supplémentaires :

  • Tes produits correspondent bien aux colonnes (GA, GP et GT) ?
  • Le choix d'une des 2 lignes/solutions sur l'un des 3 produits conditionne-t-il le choix des 2 autres produits ? Dans ton fichier, tu as choisie la première solution pour chacun des 3 produits, ou la seconde, mais jamais solution 1 colonne GA, sol. 2 colonne GP et sol. 1 colonne GT par exemple...
  • VBA a-t-il une utilité quelconque ?

Oui mes produits correspondent à ces initiales.

Oui il conditionne le choix des autres d'ou la solution du solveur mais peut etre ai je faux... J'ai choisi la 1 ère solution pour tous cas j'avais une question et je devais prendre l'option 1 pour tous les produits ^^.

Et du coup VBA je ne sais pas trop... mais dans tous les cas je dois trouver la meilleure solution pour maximiser le résultat globale.. en utilisant soit l'uo1 soit la 2 pour chaque activité et donc pour les produits

Bonjour,

Regarde la formule de ta cellule cible ($G$80) que tu souhaites minimiser.

c'est égal à : 30 + (Admin_GA/1500+Admin_GP/1500+Admin_GT/2500) + (Prod_GA/1500+Prod_GP/1500+Prod_GT/2500) + (Distri_GA/1500+Distri_GP/1500+Distri_GT/2500)

Tous les numérateurs sont les valeurs des choix U1 ou U2 réalisés par activité, autrement dit, les valeurs en D68:F68, D72:F72, D76:F76.

Si tu réarranges cette formule en tenant compte du fait que 1/1500=5/3/2500 :

G80 : =30 + (5/3*Admin_GA/2500+5/3*Admin_GP/2500+Admin_GT/2500) + (5/3*Prod_GA/2500+5/3*Prod_GP/2500+Prod_GT/2500) + (5/3*Distri_GA/2500+5/3*Distri_GP/2500+Distri_GT/2500)

soit : =30+ (5/3*Admin_GA+5/3*Admin_GP+Admin_GT+5/3*Prod_GA+5/3*Prod_GP+Prod_GT+ 5/3*Distri_GA+5/3*Distri_GP+Distri_GT)/2500

mais : 5/3*Admin_GA+5/3*Admin_GP+Admin_GT est égal à 5/3*Admin_GA+5/3*Admin_GP+5/3*Admin_GT-2/3*Admin_GT, soit 5/3*(Admin_GA+Admin_GP+Admin_GT)-2/3*Admin_GT.

or Admin_GA+Admin_GP+Admin_GT = 50.000 donc on finit avec 5/3*Admin_GA+5/3*Admin_GP+Admin_GT = 5/3*50000-2/3*Admin_GT.

Tu fais la même chose avec les 2 autres activités et tu obtiens au final G80 : =30+(5/3*50000-2/3*Admin_GT+5/3*75000-2/3*Prod_GT+5/3*30000-2/3*Distri_GT)/2500, soit =30+5/3*155000/2500-2/3*(Admin_GT+Prod_GT+Distri_GT)/2500

Pour minimiser, tu laisses tomber les constantes 30+3/5*155000/2500 et /2500.

Au final, minimiser G80 revient à minimiser -(Admin_GT+Prod_GT+Distri_GT) autrement dit, à maximiser Admin_GT+Prod_GT+Distri_GT.

Tu as donc à la fois ta clé de répartition des coûts à l'intérieur d'une activité et le choix U1 ou U2 qu'il faut faire par activité.

Naturellement tout ça s'appuie sur les infos que tu as bien voulu nous donner.

Petites précisions concernant le solveur et les problèmes qu'il peut aider à résoudre :

1) il te faut bien souvent une fonction économique à maximiser ou minimiser (G80 dans ton cas)

2) il te faut des variables qui influent sur la fonction éco et qui "jouent" dans des domaines (binaire, entier, positifs, multiples de 3 .... entiers impairs positif <1500.51.... bref tu peux tout envisager)

3) en dehors de ces contraintes de variables, il te faut des contraintes qui limitent le domaine convexe des solutions possibles.

Ces contraintes doivent rester linéaires pour la programmation linéaire.

Ce sera un bon exercice pour toi que de reformuler ton problème en fournissant des réponses complètes et précises aux points 2 et 3.

Cdlt

Rechercher des sujets similaires à "parametrer solveur vba"