0

I'm trying to solve following problem. Given 192 items with specified length and width, I want to find a packaging order that minimizes the total surface area. The items all have the same height (which is not specified). Each package cannot contain more than 12 items, and due to the dimensions of the items it is not possible to store more than 1 item in the same layer. An item can only be stacked on top of another item if its width and length do not exceed the width and length of the lower item.

The goal is to minimize the total surface area, being the surface of the largest object (on the bottom).

I've found an extensive amount of literature on pallet and bin loading, but I can't figure out what I need exactly. Here's what I've come up with:

1) select the item i with the largest surface (width*length) and place it on the bottom of stack j.

2) select the item i with the second largest surface

a) if its width and height do not exceed stack j's bottom item's width and height, place it on top of the bottom item in stack j=1

b) if its width and height do exceed stack j's bottom item's width and height, rotate the item. If it fits, place it on top of the bottom item in stack j=1.

c) if the rotated item's width and height exceed stack j's bottom item's width and height, place it on the bottom of stack j+1 = 2

3) select the item with the third largest surface and repeat steps a, b and c

and so on...

Any remarks, or tips? I have no idea if this will yield an (optimal) solution.

Infinite Recursion
  • 6,511
  • 28
  • 39
  • 51

1 Answers1

1

Just a hint for thinking: the "can be stacked on top of" constraint defines a partial ordering of the items. The partial ordering can be represented as a graph by means of topological ordering.

Now you can consider the paths starting at every item, with length not exceeding 12. Tentative solutions can be tried by iteratively removing those paths from the graph until the graph is exhausted. (Whe you remove a path, you will have to repair other paths having items in common with it.)

It might be that the problem expressed in terms of paths is easier to solve than when expressed in terms of nodes.

An issue has to be solved: when removing a path, can it always be of the maximal length or can shorter ones yield better global solutions ?