Resource-constrained multi-stage processing and assembly scheduling with sequential and batch operations