Optimisation d'une valeur sous 2 contraintes

Bonjour

Je cherche à maximiser une valeur en respectant 2 contraintes.

Pour cela il faut créer 2 boucles sous VBA.

Un schéma valant mieux qu'un long discours je l'ai inclus dans le fichier joint

118boucles.zip (49.91 Ko)

Merci de votre aide

Bonjour

A vérifier

Bonjour Banzai64 et bonne année

Un grand merci de m'apporter une fois de plus ton aide.

Ta solution répond parfaitement au problème posé ...... comme d'habitude.

Mais je m'aperçois en testant la solution que j'ai fait une erreur de raisonnement.

Tu as bien compris que le but était à chaque itération de choisir le produit dont le format supplémentaire réduisait le plus le coût total.

D'où le tri par ordre décroissant de la colonne F.

Quand on simule manuellement la solution, on voit que le 2° format sur le produit 1 réduit le coût de 3 599 789. C'est bon.

Après tri décroissant, le produit 1 reste en tête. Mais en fait le 3° format sur ce produit ne réduit plus le coût que de 1 199 930.

Alors qu'un 2° format sur le produit 2 le réduit de 1 757 984

Puis un 2° format sur le produit 3 de 1 349 880

Puis un 2° format sur le produit 4 de 1 323 996

Puis un 2° format sur le produit 5 de 1 268 720

et enfin, seulement, le 3° format sur le produit 1 qui réduit le coût de 1 199 930.

Il faut donc choisir quel produit va réduire le plus le coût total par une autre solution que celle de trier la colonne F par ordre décroissant.

Une solution pourrait être de mettre dans la colonne G la formule

=F8-C8/(E8+1)

Puis trier la colonne G par ordre décroissant avant de reprendre la macro.

Ce n'est pas très élégant, mais ça doit marcher.

Si tu as une autre idée, je suis preneur.

Encore merci de ton aide

Bertrand

Bonsoir

legrandb a écrit :

Tu as bien compris

Heuuuu question suivante s'il te plait

Avec la macro actuelle on obtient au dernier écart 5843 (je ne sais pas si le résultat est meilleur en allant vers 0 ou le contraire)

Ma réflexion : Partager un gâteau, moins il y à de part, plus les parts sont importantes

J'ai fait un essai en triant la colonne E en ordre croissant et la colonne F en ordre décroissant,

J'obtiens comme dernier écart 6025 : C'est mieux ou non ?

Moi je veux bien essayer de construire une macro suivant tes réflexions, si cela te permet de trouver la meilleure solution

A suivre

Bonsoir Banzai64

Tu as largement mérité quelques explications complémentaires

Si l'exemple est théorique, l'application que j'en ferai est bien réelle.

Le but du jeu est de calculer à partir de quel moment quelque chose revient plus cher que l'économie que je peux réaliser en le faisant.

Si cette chose coûte 500, et que le revenu de l'argent est de 8% (..... si tu connais une banque qui propose ce taux, merci de me donner son adresse), tant que, en le faisant, j'économise un investissement de 500/0,08 = 6 250, je suis gagnant. Dés que je passe sous cette barre, je suis perdant.

Par exemple, si j'incrémente de 1 la valeur de la colonne E et que, ce faisant, je réduis le total de la colonne F de 5 000, je vais économiser : 5000 x 0.08 = 400 pour un investissement de 500. Je deviens donc perdant et j'arrête.

Le but est bien de calculer la limite au delà de laquelle, je perds. Le nombre de parts de gâteau est donc sans importance.

Je pense qu'il faut oublier le tri des colonnes E ou F et trier la colonne G (à créer avec la formule que je propose) par ordre décroissant .... si on retient cette solution pour trouver, sur une itération donnée, la valeur qui réduit le plus le total de la colonne F.

C'est limpide dans ma tête, mais les mots me manquent pour l'écrire

Si je ne suis pas assez clair , ne te gènes pas. Je comprendrais.

Bertrand

Bonjour

J'ai marqué la formule en dur dans la feuille "Données"

Possibilité de l'effacer dans la feuille résultat (enlèves la remarque sur la ligne - vers la fin de la macro)

'.Range("G8:G" & NbLg).ClearContents

A tester

C'est bon ! Tu m'as eu.

Je vais me coucher et je teste demain

Bonne nuit

Bertrand

J'ai testé

C'est tout bon bien sûr.

Encore un grand merci Banzai64 pour ton aide précieuse.

Bien amicalement

Bertrand

Rechercher des sujets similaires à "optimisation valeur contraintes"