Definition
Scheduling Problem
A scheduling problem asks for an assignment of jobs to machines and times that satisfies the constraints of the instance and optimises a given objective.
Formally, an instance consists of a finite job set , a finite machine set , a feasibility predicate on assignments, and an objective function .
A schedule is a functionwhere means that job starts on machine at time .
The problem is to find a feasible schedule such that is optimal.
Components
Jobs
Each job represents a unit of work. Depending on the model, it may have a processing time , release time , deadline , weight , or a fixed interval .
Constraints
Objective
The objective function defines what counts as a good schedule. Common objectives include minimising maximum lateness, minimising total completion time, or maximising the number of compatible jobs.
Form
A scheduling problem is not one problem but a schema. A concrete problem is obtained by fixing:
- the structure of jobs;
- the machine model;
- the feasibility predicate;
- the objective.
For example, the interval scheduling problem fixes each job to an immutable interval and asks for the largest feasible subset of non-overlapping jobs.
Notation
Definition
Link to originalScheduling 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.