2009-07-26 8 views
2

J'ai un ensemble d'articles, avec les attributs associés (poids, longueur, largeur). J'ai également un ensemble de types d'empaquetage, avec les attributs associés (poids maximum, longueur, largeur)Algorithme d'empaquetage

Je cherche un algorithme pour déterminer la MOINS de boîtes pour emballer les articles dedans. Jusqu'ici, j'ai exploré le problème du sac à dos, et bien qu'il puisse se rapprocher, je ne suis pas vraiment confronté à un problème de poids et de type de valeur.

Voici un exemple:

Articles: 10 x Article # 1, (1 lb chacun, 24" long, 12" de large) 5 x Point # 2, (2lb chacun, 24" long, 6" large)

emballage Types: Petite boîte (MaxWeight = 40lbs, 24 "x12") grande boîte (MaxWeight = 75lbs, 24 "x24")

Les moyens possibles pour le paquet de ce serait: 2x Petite boîte -> Un pour chaque type d'article 1x Grande boîte -> Tout ce que je Je voudrais retourner le résultat de la boîte unique, bien que si je pouvais retourner toutes les combinaisons possibles, cela fonctionnerait aussi.

+0

Dupliquer: http://stackoverflow.com/questions/1170478/how-to-create-an-optimized-function-function-in-python – Mathieu

+0

Merci, j'ai jeté un oeil, mais j'ai besoin de faire un peu de 2 emballage dimensionnel, ou tridimensionnel (pas si important) et j'ai des tailles de bacs de différence disponibles. –

Répondre

7

Vous décrivez bin packing. Notez que ce problème est NP-difficile, donc vous n'obtiendrez pas la solution optimale sans un contrôle de force bruce. Cela dit, il existe des algorithmes qui vous obtiennent, IMO, une réponse assez bonne.

Recherche autour des descriptions de meilleur ajustement décroissant et premier ajustement décroissant.