The Job-shop scheduling problem (n,m,J,Cmax) is concerned with
ordering n jobs on m machines: each job is composed of an ordered list
of m operations and must be processed during a uninterrupted time
period of a given length on each of the m machines. The objective is
to minimise the makespan, i.e., the maximum of job completion times.