Complete and Approximate Methods for Off-Line Placement of Hardware Tasks on Reconfigurable Devices,