A branch and bound algorithm for hoist scheduling of a circuit board production line