Scheduling problems¶
Part 1 · Combinatorial optimization problems · Chapter 7 · Lecture notes, volume 1 (PDF) · Slides · Exercises: Scheduling problems
Prerequisites
-
From this module, Chapter 1 «Combinatorial optimization problems»: what a combinatorial optimization problem is, the number of candidate solutions, primal and dual bounds, and the partitions of a set (Bell numbers).
-
From this module, Chapter 3 «Packing problems»: the bin packing problem.
Objectives
At the end of this chapter you will be able to:
-
classify a scheduling problem with the three-field notation, and state the problem \(P\,||\,C_{\max}\);
-
describe a schedule by the sets of jobs of the machines, and compute loads and makespan;
-
count the assignments and the distinct schedules of an instance;
-
build a first schedule by hand, assigning every job to the least loaded machine;
-
compute a lower bound on the optimal makespan and use it to prove that a schedule is optimal.
7.1 Overview of the family¶
-
The scheduling problems of this chapter share the same data: a set \(\mathscr{J} = \{1,2,\dots,n\}\) of \(n\) jobs, \(m\) parallel machines and, for each job, a processing time.
-
A solution assigns every job to a machine: the jobs \(J_h\) of machine \(h\) are processed one after the other, and the machine completes them at the time \(L_h\), its load.
-
The objective is to minimize the makespan \(C_{\max} = \max_h L_h\), the completion time of the last job.
A parallel machine scheduling problem partitions the jobs among the machines so that the last machine finishes as early as possible. The members of the family differ in the machine environment, described by the three-field notation.
- The table lists the members of the family, with the section that defines each of them.
| Problem | Notation | Machines | Section |
|---|---|---|---|
| identical parallel machines | \(P\,||\,C_{\max}\) | every job takes \(t_j\) on every machine | 7.2 |
| machines with different speeds | \(Q\,||\,C_{\max}\) | machine \(h\) has its own speed | 7.1.1 |
| unrelated parallel machines | \(R\,||\,C_{\max}\) | job \(j\) takes \(t_{jh}\) on machine \(h\) | 7.1.1 |
7.1.1 The three-field notation¶
-
Scheduling problems are classified with the three-field notation \(\alpha\,|\,\beta\,|\,\gamma\) of Graham, Lawler, Lenstra and Rinnooy Kan, where:
-
\(\alpha\) describes the machine environment: \(1\) for a single machine, \(P\) for identical parallel machines, \(Q\) for parallel machines with different speeds, \(R\) for unrelated parallel machines;
-
\(\beta\) describes the job characteristics, such as release dates \(r_j\) or precedence constraints prec; an empty field means that there are none;
-
\(\gamma\) describes the objective function, such as the makespan \(C_{\max}\) or the total completion time \(\sum_j C_j\).
-
-
In this notation, \(P\,||\,C_{\max}\) is the problem of scheduling jobs without additional characteristics on identical parallel machines, minimizing the makespan.
Next: 7.2 Scheduling on identical parallel machines
Exercises on this chapter: Scheduling problems
In depth: what the course does on this problem