4. Scheduling Problems
4.1 Introduction to Scheduling Problems
A scheduling problem considers a set of jobs to be processed on a set of machines.
A job consists of one or more operations (or activities); each operation is assigned to a machine and it uses a constant processing time (here we deal only with deterministic problems). It is assumed that two consecutive operations of the same job are assigned to different machines and that all the machines are always available to the system. To solve the problem we need to find a sequence, and the correspondent time intervals, for processing the operations in each machine. A solution to the problem is called a schedule. A feasible schedule is one respecting that each machine can only process one operation at a time; different machines can not process the same job simultaneously and also some additional constraints related to the specific problem type. The problem type is characterised by the machine environment, the job characteristics and the objective function to be optimised.
The machine environment can have only one stage, where one job corresponds to only one operation, or it may be multi-stage, and in this case one job corresponds to several operations.
There may be more than one machine in a single stage environment, but then they will all work in parallel having the same function. Parallel machines can be of three different types: identical, uniform or unrelated. In the first case, the processing times of the jobs are independent of the machine; uniform parallel machines are identical except that they have different speeds; for unrelated parallel machines, the processing times of the jobs are dependent on the machine assignment.
Multi-stage machine environments are also designated as shop environments and can be of three different types: flow shop, open shop or job shop. In a flow shop scheme the processing alignment of the operations of a job, passing from one machine to the next, is the same for all the jobs. In an open shop system the ordering through what the jobs move from one machine to another is to be decided when solving the problem and may differ from job to job. In a job shop environment the order of processing the operations within the jobs and its correspondent machines are fixed apriority and are independent from job to job.
Speaking of the job characteristics, if there is only one machine or if they are identical parallel machines, the processing time of a job j is given by pj; otherwise, pij is the processing time of job j on machine i (or also pij is the processing time of operation oij). The processing times are non-negative integer parameters of the problem. The jobs may all be available at the beginning of the process or they may have release dates (rj for job j ), specifying when a job becomes available to the system. Jobs may also have due dates (dj for job j ), indicating a limited date for their conclusion. There may be dependence relations between jobs and it may be allowed to interrupt the processing of an operation; resuming it at a latter moment.
In off-line scheduling systems, the classical models, all the information of an instance is known apriority. In on-line systems the information on the number of jobs, their release and/or due dates are made available during the course of the scheduling.
4. Scheduling
38
According to the optimality criteria, several measures related to the processing times pj, the due dates dj, or the weights wj associated with the jobs j , may be used as the function to be optimised. Given a schedule the following measures may be computed: Cj - the completion time of job j ; Fj =Cj −rj - the flow time of job j ; formulated. The table 4.1 shows some common ones.
Table 4.1 Common Objective Functions for Scheduling Problems
Objective Function Description
min
max = minimisation of the maximum latenessj j s
E
E
max
min
max = minimisation of the maximum earliness∑
j j js
C w )
min
( minimisation of the total (weighted) completion time∑
j j js
F w )
min
( minimisation of the total (weighted) flow time∑
j j js
E w )
min
( minimisation of the total (weighted) earliness∑
j j js
T (w )
min
minimisation of the total (weighted) tardiness∑
j j js
U w )
min
( minimisation of the (weighted) number of late jobsGraham, Lawer, Lenstra & Rinnooy Kan (Graham, Lawler et al. 1979) presented a three-field description α |β|γ for scheduling problems where α represents the machine environment, β the job characteristics and γ the optimality criteria. The field α indicates if the system is a one-machine, a parallel machine or a shop environment, and the number of stages and machines. The β field indicates if it is an
on-line or off-line system, the existence of release and/or due dates, if pre-emption is or not allowed, if there are dependence relations between jobs and if processing times are unitary or arbitrary. For example |rj dj pmnt|Lmax is the representation of a one-machine problem with release dates and due dates where pre-emption is allowed and the objective is to minimise the maximum lateness; O3|pij =1|Cmax is an open shop problem with three machines, all processing times are unitary and the objective is to minimise the makespan; F2
(
P4,P3)
||∑
Cj is a two-stage flow shop to minimise the total completion time, where the two stages have four and three identical parallel machines, respectively.Many fundamental results on scheduling were stated in (Lenstra, Kan et al. 1977).
For further details on scheduling problems and theory please refer to the surveys (Lawler, Lenstra et al. 1993) and (Chen, Potts et al. 1998).
In the following sections of this chapter we will address the study of the algebraic structure of scheduling problems.