How would you approach simulating garbage being compacted?
I guess the solution depends on your purpose: What is your storyboard, what is the degree of realism, etc... For example you don't say if we're supposed to see a compactor machine, it would partially hide the process.

But what you could do is create a group of objects (cans, boxes and whatever...), and prepare 2 shapekeys for each object: the basis and the contracted version. NB: To give various colors to the same object, use the Object Info node, Random output socket > ColorRamp (Constant mode) > Diffuse...

Then create a cube, give it a particle system > Hair (Advanced mode). In Particles > Render, enable Group and choose the group you've created. Enable the Rotation option and find the right orientation. Now you can animate the objects shapekeys.

Instead of particles, to avoid any objects overlapping, you could simply link-duplicate your objects.



And here was my try for the result only:


Find a frontal image of compacted garbage.
Create a normal (or bump) map of this picture with a software like CrazyBump.
Open those 2 pictures in the UV Editor.
Create a cube, subdivide it, bevel the edges, mark the 6 faces seams.
Unwrap it, in the UV Editor place each face on the garbage image.
Give your object a material, mix a Diffuse with a Glossy, plug the normal map into the Normal sockets.
Deform the cube a bit so that it doesn't look too square.