Lukas' Notes

computation scheduling

Definition

Scheduling Notation

Scheduling notation is the three-field notation

for classifying a scheduling problem. The field describes the machine environment, describes job characteristics and constraints, and describes the objective function.

Machine environment

The field describes the machines and the operational structure of each job.

For single-stage jobs, each job has one operation.

Except for the special case , a single-stage machine environment has the form

where is the machine type and is the number of machines.

NotationMeaning
one machine
identical parallel machines
uniform parallel machines with different speeds
unrelated parallel machines

If is omitted, the number of machines is part of the input. For example, denotes an arbitrary number of identical parallel machines.

Thus is not an additional fourth field. It is the first part of in environments such as , , and .

For identical machines, job has the same processing time on every machine. For uniform machines, machine has speed , so job takes time

on machine . For unrelated machines, the processing time depends directly on the pair and is written .

Shop environments

For multi-stage jobs, each job consists of several operations. Usually, only one operation of the same job may be processed at a time.

Shop environments use the same pattern , but now describes the order structure of operations rather than only the speed relation between machines.

NotationNameStructure
open shopoperations may be scheduled in any order
flow shopoperations follow the same fixed machine order for every job
job shopeach job has its own fixed operation order

As before, may be omitted when the number of machines is variable or clear from context.

In an open-shop or flow-shop instance, job has operations for . Operation must be processed on machine and takes time .

In a job-shop instance, job has operations for . Operation must be processed on machine and takes time . The machines for different operations of the same job are usually distinct:

Job constraints

The field lists additional job characteristics and constraints.

NotationMeaning
release time; job cannot be processed before time
due date; lateness may be allowed but penalised
strict deadline; job must complete by
preemption is allowed
precedence constraints are present

Preemption means that a job may be stopped and resumed later, possibly on another machine. A precedence constraint is a partial order on jobs. If , then job may start only after job has completed.

Objectives

The field states the quantity to optimise. Unless stated otherwise, the objective is minimisation.

For a schedule, define for each job :

Here is the completion time, is the lateness, and is the unit penalty for missing the due date.

ObjectiveMeaning
absentfind any feasible schedule
minimise the number of late jobs, equivalently maximise on-time throughput
minimise maximum lateness
minimise makespan
minimise total completion time, equivalently average completion time

Conventions

Variants

Scheduling notation is not completely uniform in the literature. Some authors omit from when the objective already contains or , since those objectives require due dates. Some authors also write instead of when strict deadlines are clear from context.

Most scheduling models use integer input parameters unless another domain is stated explicitly.

Scheduling Zoo

Definition

Scheduling Zoo

Link to original

Examples

Writing notation

One machine with no additional constraints and objective of minimising makespan is written as

Three identical machines with precedence constraints and deadlines, where the task is to check whether every job can meet its deadline, can be written as

Two uniform machines with release times and objective of minimising average completion time can be written as

Since is fixed for an instance, this is equivalent to minimising .

Reading notation

The notation

means a single-machine problem where each job has a release time and a strict deadline. The objective is to minimise the number of jobs completed after their deadlines, or equivalently to maximise the number completed on time.

The notation

means a single-machine problem where each job has a release time. The objective is to minimise the total completion time, equivalently the average completion time.

The notation

means an unrelated-parallel-machine problem with a variable number of machines. Jobs have release times and may be preempted. The objective is to minimise the maximum lateness.

Room booking

A room can host at most one event at a time. Each event has a fixed interval and processing time

The problem of booking the maximum number of compatible events can be written as

This is the interval scheduling problem when each selected job must occupy its given interval.
If is not forced to equal , then even feasibility on one machine becomes hard; see a deadline gap can hide subset sum.

Two-machine factory scheduling

Suppose there are two identical machines and each job has release time , due date , and processing time . The decision version asks whether all jobs can be completed by their due dates. One notation is

The equality expresses the decision requirement that no job is late.