Patent ID: 8924007

Claim:
A tangible computer readable medium having instructions stored thereon that, when executed by a processor, cause the processor to perform a process comprising: receiving a list of items to be transported, at least one of the items being a different shape or size from another of the items; determining at least one container as an optimal number and a type of container to be used for transporting the items; initializing an empty space list that lists empty spaces available within the at least one container; initializing a placed item list and an unplaced item list, wherein the placed item list comprises a list of items already loaded on the at least one container and the unplaced item list comprises a list of items to be loaded on the at least one container; and determining an optimal arrangement of the items to be transported in the at least one container by, while there are more items to be loaded on the at least one container: performing an item iterating process comprising: sorting the unplaced items in the unplaced item list according to an item sort criteria; sorting the empty spaces in the empty space list according to an empty space sort criteria; sorting rotations according to a rotation sort criteria; applying iteration criteria that determines an order between an unplaced item selection, an empty space selection, and a rotation selection; and selecting, in said order, (1) an item from the sorted unplaced item list, (2) an empty space from the sorted empty space list, and (3) a rotation from the sorted rotations; inserting the selected item into the selected space, the item oriented according to the selected rotation; updating the empty space list to reflect insertion of the selected item; and updating the placed item list to include the selected item and the unplaced item list to delete the selected item.