Machining task allocation in discrete manufacturing systems