Lukas' Notes

computation scheduling

Definition

Interval Partitioning Problem

The interval partitioning problem is a scheduling problem in which each job has a fixed half-open interval

and every job must be processed. A feasible schedule assigns each job to a machine so that no two jobs assigned to the same machine overlap.
The objective is to minimise the number of machines used.

Derivation

The interval scheduling problem asks for the largest compatible subset of intervals on one machine. Interval partitioning changes the objective: no interval may be discarded, so incompatibility must be resolved by adding machines.

Let a schedule be a function

where is the machine assigned to job . Feasibility means that jobs on the same machine are pairwise compatible:

The optimisation problem is therefore

Difference from Interval Scheduling

In interval scheduling, the number of machines is fixed to one and the goal is to select as many compatible jobs as possible.

In interval partitioning, every job must be scheduled and the goal is to minimise the number of machines.

Algorithms

Earliest Start Time First Algorithm

Definition

Earliest Start Time First Algorithm

The earliest start time first algorithm is a greedy algorithm for the interval partitioning problem. It processes jobs in increasing order of start time and assigns each job to an available machine.

For jobs with intervals , let be the depth of the instance. The algorithm uses machines and assigns each job to a machine that is free at its start time.

Link to original