A genetic algorithm for 2D bin-packing (with rotations and guillotine cuts)