Microsoft 365 Faire des associations de chiffres pour optimiser une commande

stephlonfils

XLDnaute Nouveau
Bonjour,

J'ai un tableau reprenant toutes une série de longueurs de barres nécéssaires à la construction de châssis en aluminium.
Je dois calculer le nombre de barres à commander à mon fournisseur.
Sachant qu'il propose des barres de 300 cm et que je souhaite le moins de chutes possibles.
Comment associer les différentes longueurs entre elles pour optimiser ma commande et donc avoir le moins de chutes possibles?

Merci beaucoup pour votre aide.

Stéphanie
 

Pièces jointes

  • Production atelier New.xlsx
    39.2 KB · Affichages: 6

xUpsilon

XLDnaute Accro
Bonjour,

Pas sûr que passer par Excel soit le plus efficace, là il faut simplement utiliser ses cellules grises.
- Pour avoir le moins de chutes possibles ça veut dire soit que la somme de toutes les chutes est faible, soit que tu optimises de manière à avoir aucune chute sur toutes les barres possibles puis il te reste ce qu'il restera.
- Je pense que faire des associations est intéressant ici car tes barres ont des dimensions qui s'incrémentent de 100 en 100 donc c'est facile à utiliser : par ex, barre de 850+2150 = 3000 -> 1 barre pleine avec 0 chute.
Je te propose donc de faire ça autant que possible, ce qui nous donne :
- 850 + 2150
- 950 + 2050
- 1050 + 1950
- 1150 + 1850
- 1250 + 1750
- 1350 + 1650
- 1450 + 1550

Reste alors les barres de 2250 et de 2350, et tu n'auras pas d'autre choix que d'avoir des chutes sur celles là, car tu n'as pas besoin de barres de longueur inférieure à 850mm.

Tu auras donc 650 + 750mm de chute par série (si j'ai bien compris t'as besoin de 4 éléments par produit donc tu auras 4*(650+750) mm de chutes par unité produite.

Bonne continuation
 

xUpsilon

XLDnaute Accro
Oh eh bien à automatiser c'est d'autant plus compliqué que les possibilités sont grandes. Ce que j'entends c'est que là c'était simple car les arrangements par 2 sont faciles à trouver, donc par un petit bout de code c'est réglé. Mais imaginons que tu as 550 800 1350 et 1650. Eh bien à ce moment là que privilégier ? 1350+1650 = 3000 mais 550+800+1650 aussi.
Et puis surtout, plus l'échantillon de valeurs est grand et plus c'est compliqué : tester si il existe x tel que x + 1650 = 3000 c'est facile pour x existant tel que, mais si x = x1 + x2 + x3 + x4 bah pour trouver toutes ces valeurs, les arranger et les ressortir, ça va tourner pendant un moment. Et je te laisse imaginer si on ne trouve pas la valeur 3000 exacte et qu'on préfère alors sortir la somme la plus proche de 3000. Il va falloir que tu testes un nombre de combinaisons énorme.
Bref, c'est faisable, mais ça peut vite devenir excessivement long à faire tourner si les valeurs moins "faciles à utiliser" que celles citées plus haut.

Bonne continuation