How to schedule n jobs that come at different times on 1 machine (each taking a different time to complete the task)?
This problem lends itself to Mixed Integer Programming. The trick is to consider that there are multiple versions of each job for each machine, and you have to cover each job once.

So you can have $c_{j,m}$ as the indicator variables that say if a job is assigned to a machine. You have to introduce a constraint that says $$\sum_m  c_{j,m} \geq 1.$$