Solution of a practical pallet building problem with visibility and contiguity constraints