We help IT Professionals succeed at work.

Follow Up Question to "Maximizing the number of Cartons fitting in a Shipping Container" from 2005

richjea asked
Medium Priority
Last Modified: 2010-04-27

This is my first question in this forum, so please bear with me.

I have read with great interest a question posted by homeredunord and answered by billmercer 11/07/2005 - 11/14/2005. This seems to be almost exactly what I have been trying to accomplish for my own work, and although homeredunord solved it, there isn't an example of how and what he did.

I would really appreciate a copy of the solution or a more in-depth explanation of how it was done.

Plus, this is the middle section of what I hope to do. I would firstly like to take a retail carton, stipulate an outer carton qty e.g. 8, and work out the best orientation for packing the 8 retail cartons into the outer to give the best container fill (using homeredunord's solution, although I will be converting container to pallet fill). i.e. The outer carton could be made up as:

8 x 1 x 1
1 x 8 x 1
1 x 1 x 8
4 x 2 x 1
etc etc

I only want to go up to a max of 50 possible retails in a carton, so by using fractions for the first orientation, I can limit the permutations to 13, i.e:

100% x 1 x 1 (8 x 1 x 1)
50% x 2 x 1 (4 x 2 x 1)
25% x 2 x 2 (2 x 2 x 2)
etc etc

I did this mathematically, and created a ridiculously slow clunky database. I realise that I am still at the very early stages of learning custom functions on Filemaker Advanced so am way out of my depth and need help.

Finally, if I can do this I hope to use the xmCHART Plug-In to draw a picture of the layer build up of the cartons. I have solved this part by finding an answer on another forum; I just  felt it important to give you a picture of my whole problem rather than just the bit in the middle.

Any assistance would be greatly appreciated.
Watch Question

that would assume I have a slight idea of what you mean! does putting small boxes in big ones require a database? and what that matrix means:
8 x 1 x 1
1 x 8 x 1
1 x 1 x 8
4 x 2 x 1
etc etc ?????
Is that a way to show boxes? don"t tell me this a mathematical representation of a palette, I immediately get mad at that!


The last thing I want to do is make anyone mad (and even worse, I don't know what a "mathematical representation of a palette" is!

I am a lighting designer who created a database 8 years ago to keep track of new designs, to store images, and to create specification sheets for product manufacture in our 5 factories in China and presentations to customers. This has since expanded to encompass costings, shipments, sales analysis and warehousing of the stock in my company. My database holds 5000 products (1500 live), and I have 3 other sister companies now wanting to use the same databse, which will increase the database to over 15,000 lines. I have found that I am now getting out of my depth.

Reason for the question, I have found that our warehouse, which has a max 2500 pallet locations, could be reduced by 300+ pallets, shipping costs would be reduced (and therefore landed costs) if I improve the method of calculating carton packing.

It is currently done manually by deciding the best way to fit 8 products into 1 box, hence the confusing list of numbers. What I tried to indicate was that 8 boxes could be stored 8 high, or 4 high by 2 wide by 1 deep, and on of those permutations would get more stock on a pallet. Does this make more sense?

All the carton dimensions are stored on the database for the suppliers who access via the web and I believe that by using the information already stored in the system it would save a lot of time to use this information.

I realise that I can buy an application that does this for me, but what I like about databases is that it is one source of information; I'v found the more times information is inputted, the more likely mistakes are made.

If you beleive that this is not a job for Filemaker or worthy of further discussion, I value your opinion, and will end the question; and sorry for the length of the reply.



It is currently done manually by deciding the best way to fit 8 products into 1 box, hence the confusing list of numbers. What I tried to indicate was that 8 boxes could be stored 8 high, or 4 high by 2 wide by 1 deep, and on of those permutations would get more stock on a pallet. Does this make more sense?
it does, but does yr database have the size of parcels and boxes to fit in a palette?
that's where your chart does not mean anything to me... was is a 8x box compared to a 4x? bigger in all dimensions, double length, same width? what height? etc...
I have done a similar thing 3 years ago in 2D to fit labels on big sheets with a minimum loss of paper, and that was quite a lot of work giving a superbe result.
so I agree than it is worth trying in a database rather than in an external app, but probably not very easy.
so how would this work? you have a table of boxes, and they have to be allocated to palette for the least waste of space.


Thanks for talking this through.

my database holds all box dimensions. the most important is the retail box, this is fixed by the customer; then the outer box which is used for shipping, this is dependant on the number of retails we wish to ship it in. Once we decide the number (dependant on customer preference and sales data), the outer carton dimensions are decided manually and the database calculates the pallet fill, i.e. no. of products on a layer x the number of layers. This part of the calculation would be the "ugly sister" version of what you developed 3 years ago, but it works, and I have since found a better solution on another forum using custom functions. I don't know, it could even be yours!

My problem is taking the randomness out of deciding what the outer box size should be.
e.g. if the retail box was h30 x w20 x d40, and 8 were needed in an outer, there are different possible orientations that would work. The easiest would be to keep the box in the same orientation (hxwxd), but I know from experimenting that huge savings in m3 can be achieved by changing the orientation to wxdxh or dxwxh etc. Plus going back to my first comment which was badly explained, the possible stacking options for 8 is:
8high x 1wide x 1deep, so in the example the outer would be h240 x w20 x d40 - (plus the 5 other orientations, 1high x 8wide x 1 deep etc)
4high x 2wide x 1deep, so in the example the outer would be h120 x w40 x d40 -  (plus the 5 other orientations, 2high x 1wide x 4 deep etc)

so for a pack of 8 there are 12 possible outer carton sizes, and these will fit onto the pallet differently, some fitting more on than others, for bigger carton quantities, there are obviously more possible pack configurations.

For the sake of argument, my pallet is always width120cm x depth100cm, though this would need to be a manual field.

So, the problem I have is actually determining the best box I should put into the type of calculation you did 3 years ago (though it would have to go through that calculation to determine that).

a big thing, but quite interesting! the stuff you found is not mine, line was a 2D thing, just working on surfaces; Your problem is obvisouly more complex.
The raw idea I have is to make a table of all possible combinations for a given set of boxes (generated automatically from the box list) then search for the best volume.
Of course that list of combinations is the key of the principle.
For each box, you must consider, box flat, rotated 90°, box up, box up and rotated 90°.
For a set of 4 boxes, that gives 4 power 4 combinations, but with a nice script, that should be easy.
I obvisouly need more time to get it run, and I have a heavy job at the moment. So it may to wait a few weeks...
Do you also consider several layers of boxes on the same palette?


I can't thank you enough for the assistance!
A few weeks is perfect as I am for all intents and purposes incommunicado in China for 2 weeks from Monday, and I would not wish to appear rude by not replying quickly enough.
Yes, I will need to consider pallet layers, but only in the sense that I need to get one layer right, then multiply that exact layer until I get to <= the max height of the pallet, so that is the easy bit. The max pallet height will be 178cm less the pallet itself 16cm making a working height of 162cm.

ok, I'll be back at home in 3 weeks (France), normally, but here delays are rather vague (I am in Martinique (Carribean Islands).
In between, if I can work on it, some more questions:
If you need 2 layers, that means all boxes from the 1st row must be flat and the same height? or all up and same height?


Yes, all boxes on each layer must be the same height, but any could be turned 90º on the horizontal. I wouldn't want to get into mixed layers or pallets because it will become even more mind-blowingly complicated than it already is. Every layer will be the same configuration.

If I changed the top layer to a different height to squeeze on another layer for example, I may get a few more boxes on a pallet, but the amount of work involved in achieving that would not be justified by the saving in pallet space.

Just in case I would have time to work on it, can you give me some more info, or an example of boxes sizes for a palette, tell me if the sizes of boxes is only a few types, or can be any value...
Preferably a fm file or tabbed file, I don't have excel here.


The retail boxes could be any size at all, they are dependant on the design of the product (this is why I have added the pictures in the sample file to show the variation of size).
The outer boxes are dependant on the qty of retails in that box. I wish to limit the quantity of retails in an outer to max 50.
All outer carton dimensions have had 2cm added to each side. This is to allow for additional packaging material.
I have included (to my own embarrassment) the original calculation I used for calculating a layer, plus;
I have included the custom function I found on the web - I have left all the orignators details in the custom function as this was not my work. (This function was a sub function of another function to enable Filemaker to draw a cutting pattern for material into xmCHART. I hope I haven't done anything wrong by putting this in).
So the pallet calculation I did have and the improved one I now have works, but ..... I don't know whether the outer box I am using in it is the best sized and orientated one, and this is the heart of my question.


I don't know if I should go ahead; I spent 2 hours on it to releaze it is a lot more complex than I thought.
I had a look to Quick Pallet Maker, and I don't feel like doing something like this with fmaker.
I'll have a lok to yr stuff available for download and tell you if I have some clue..


I'll leave the question open until I return from China (Nov 5th), and if the answer is a no, I'll close the question, award the points and thank you for your time.

I just checked yr file... Can I say, as a confirmation, that a palette is only made of the same product? ie you need to calculate a palette for each of the record you sent to me? and the only problem is how to arrange a palette of N outer boxes to optimize volume usage?
That sounds much easier if true... let me know


yes, only ever one product and therefore only one box size per pallet

ok. I'll see. May be this opens a few new doors!

ok, I've a simple sketch which works. So far, it only puts all boxes the same way and determines which one among the 6 possible orientations for a box is the best. Do you need more?

I have tested a bit further, and of course this is not the best.
example with yr item 6856. my simple thing gives its best with 440 outer boxes / palette.
but by taking the 3rd best solution (420 boxes), you can fit 36 extra boxes with a different orientation, which gives 456 outer boxes / palette.
I am now trying to find the best fit by combining several boxes orientations in the same palette, but this may exceed by poor brain capacity, kind of stuck on finding the right approach for combined orientations...


It sounds like you have been able to achieve a whole lot more then me, my best was 400 per pallet. By getting to 456, this is giving me a 14% saving. I believe that by keeping the orientation the same for each layer as I think you have done, this would be enough to justify the changes you have achieved.

Plus, the guys stacking these pallets are warehouse staff and not computer experts and would prefer working with the same orientation of carton. The time saved with them not wondering which orientation to stack in would be time well spent.

Thank you for all the time you have spent on this. It's much appreciated.

if you are happy with all boxes the same, then it's over.
my file is just importing the necessary data from yours with no link, so its easy for you to use it.
shall I post it on a site for you to retrieve it?


Thanks. I cannot seem to download it from inside China, but I return on Thursday and will download it there and close the question.

Thank you for all your help.
I made a zip, just in case it would improve yr problem:

Not the solution you were looking for? Getting a personalized solution is easy.

Ask the Experts


Fantastic job. Thanks for all your help.
I'm closing the question and awarding the points.
Access more of Experts Exchange with a free account
Thanks for using Experts Exchange.

Create a free account to continue.

Limited access with a free account allows you to:

  • View three pieces of content (articles, solutions, posts, and videos)
  • Ask the experts questions (counted toward content limit)
  • Customize your dashboard and profile

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.


Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.