Unweighted Interval Scheduling, Online

Given are nn intervals of the form [sj,fj)[s_j , f_j) with sj<fjs_j < f_j, for j=1,,nj = 1, \ldots , n. These intervals are the jobs that require uninterrupted processing during that interval. We will assume (without loss of generality) that the sjs_j’s and the fjf_j’s are nonnegative integers. We say that two intervals (or jobs) overlap if their intersection is nonempty, otherwise they are called disjoint. Further, there are machines. In the basic interval scheduling problem each machine can process at most one job at a time and is always available, i.e. each machine is continuously available in [0,)[0,\infty). We assume that, when processed, each job is assigned to a single machine, thus, we do not allow interrupting a job and resuming it on another machine, unless explicitly stated otherwise. The basic interval scheduling problem is now to process all jobs using a minimum number of machines. In other words, find an assignment of jobs to machines such that no two jobs assigned to the same machine overlap while using a minimum number of machines. We call an assignment of (a subset of) the jobs to the machines a schedule. This is the online version of the problem.

Parameters

  • nn: number of tasks (intervals)
  • kk: number of machines (resources)

Filters

Computational Model

Randomization

Approximation

Algorithms Table

Displaying 6 of 6 algorithms

See more
Fixed priority shortest job first1940O(nlogn)O(n \log n)O(n+k)O(n+k)
Priority scheduling1940O(n)O(n)O(n+k)O(n+k)
Shortest remaining time first1940O(n)O(n)O(n+k)O(n+k)
First come, first served1940O(n)O(n)O(n+k)O(n+k)
Round-robin scheduling1940O(n)O(n)O(n+k)O(n+k)
Multilevel queue scheduling1940O(n)O(n)O(n+k)O(n+k)

Reductions Table

Insuffient Data to display table

Other relevant algorithms

Insuffient Data to display table