1 pièce(s) jointe(s)
Codage algorithme pour meilleur choix de compostions parmi une liste
Bonjour à tous,
Le titre de mon message est un peu obscur car j'ai un peu de mal à synthétiser mon objectif, qui semble pourtant assez simple. (Et je n'arrive pas du tout à coder l'opération)
Après de nombreuses tentatives, je me confronte à un mur, rien ne fonctionne. Bon je suis plus que débutant dans le codage, mais je ne m'attendais pas à ce que ce soit si difficile. Peut être que l'un d'entre vous à déjà réalisé une opération de similaire et pourra être un phare pour mon navire en perdition.
Je m'explique :
J'ai un objectif de composition en solution fertilisante pour les éléments N(Azote), P(Phosphore), K(Potassium), Ca(Calcium), Mg(Magnésium). Par exemple j'ai besoin de :
N : 75
P : 50
K : 85
Ca : 100
Mg : 20
Pour arriver à cette composition, j'ai une liste de fertilisant qui ont tous une proportion différente des éléments cités ci dessus (Ex 15-5-15 = 15% N ; 5% P ; 15% K).
Aussi, la liste des fertilisants est longue et je ne souhaites pas que l'algo me fasse une composition avec 50 fertilisant de type différents. Je cherche, pour l'exemple ci dessus, que l'algorithme me fasse une sortie en deux composition de 3 Fertilisants pour couvrir au plus proche possible le besoin tel que :
Apport 1 :
Fertilisant (n) : x kg
Fertilisant (n) : x kg
Fertilisant (n) : x kg
Apport 2 :
Fertilisant (n) : x kg
Fertilisant (n) : x kg
Fertilisant (n) : x kg
Je vous met un document Excel en PJ pour que vous puissiez mieux comprendre
La Feuille "Solution Objectif" comporte un exemple de besoin
La Feuille "Fertilisant" comporte la liste des équilibres à disposition
NB : J'ai peur que cet objectif soit hors de ma portée. Si vraiment cela s'avère complexe, je suis prêt a solliciter une prestation tarifée (Je ne sais pas si je peux me permettre d'écrire cela ici). J'ai réellement besoin de cette solution. Et je souhaites l'encoder en VBA, car mes connaissances pour automatiser le résultats vers un document Word, s'arrête aux macro VBA d'Excel.
En espérant que ce petit défi vous stimulera et que des solutions émergeront...