What is the maximum number of boxes that can fit in a rectangular container I'm looking for an algorithm for the following question:

What is the maximum number of boxes with sides a,b,c that can fit in
  a rectangular container with sides $x$,$y$,$z$.

For example, the following picture shows a container filled with boxes. 
Here is an example of how it works - 3dbinpacking.com
Any suggestions would be appreciated.
Edit: Let's simplify the task, supposing that every box have to be placed parallel to either x,y or z axis of the container, what would be the solution in this case ?
 A: You can get an upper bound by dividing the volume of the container by the volume of a single box. You can get a lower bound from taking a regular arrangement of the boxes and cutting it off at the countainer boundary. You may get a closer bound by trying more kinds of regular arrangements. But this doesn't rule out an even better solution by a more irregular arrangement.
You can simplify the situation by reducing the number of dimensions to 2, and simplify it further by only considering squares not rectangles. If you look at some solutions to that you will see that it's pretty hard: apparently the problem of packing 11 squares into as small a containing square as possible is still without a proof. Many of the arrangements look very irregular, which explains why there is no simple formula to capture them.
Judging from your example image, it could be that you are restricted to align the faces of each box parallel to the faces of the container. That would be a different kind of simplification. The problematic cases I just mentioned for squares packing wouldn't directly apply to that, but that doesn't mean that there is a simple solution either. The Box Packing Wolfram Demonstration may give you an idea of the kind of solutions to expect.
If you really have to find good (or perhaps even proven optimal) solutions, and are willing to put some effort into this, I'd suggest you start by reading some papers on box packing, to see what they do and what other sources they reference.
A: In your picture, the boxes are aligned with the axes and all oriented in the same way.  Assuming that is required (you don't say so) you just have six choices of orientation of the boxes.  One of them will allow you to pack $\lfloor \frac xa \rfloor \times \lfloor \frac yb \rfloor \times\lfloor \frac zc \rfloor$  boxes.  The other cases are similar, just permute $a,b,c$.  Just compute each one and take the largest.
