Optimal job scheduling is a class of
optimization problem
In mathematics, engineering, computer science and economics
Economics () is a behavioral science that studies the Production (economics), production, distribution (economics), distribution, and Consumption (economics), consumption of goo ...
s related to
scheduling
A schedule (, ) or a timetable, as a basic time-management tool, consists of a list of times at which possible tasks, events, or actions are intended to take place, or of a sequence of events in the chronological order in which such things ...
. The inputs to such problems are a list of ''
jobs'' (also called ''processes'' or ''tasks'') and a list of ''
machines
A machine is a physical system that uses power to apply forces and control movement to perform an action. The term is commonly applied to artificial devices, such as those employing engines or motors, but also to natural biological macromolec ...
'' (also called ''processors'' or ''workers''). The required output is a ''schedule'' – an assignment of jobs to machines. The schedule should optimize a certain ''
objective function
In mathematical optimization and decision theory, a loss function or cost function (sometimes also called an error function) is a function that maps an event or values of one or more variables onto a real number intuitively representing some "cost ...
''. In the literature, problems of optimal job scheduling are often called machine scheduling, processor scheduling, multiprocessor scheduling, or just scheduling.
There are many different problems of optimal job scheduling, different in the nature of jobs, the nature of machines, the restrictions on the schedule, and the objective function. A convenient notation for optimal scheduling problems was introduced by
Ronald Graham
Ronald Lewis Graham (October 31, 1935July 6, 2020) was an American mathematician credited by the American Mathematical Society as "one of the principal architects of the rapid development worldwide of discrete mathematics in recent years". He ...
,
Eugene Lawler
Eugene Leighton (Gene) Lawler (1933 – September 2, 1994) was an American computer scientist and a professor of computer science at the University of California, Berkeley... Reprinted in .
Academic life
Lawler came to Harvard as a graduate stu ...
,
Jan Karel Lenstra and
Alexander Rinnooy Kan.
It consists of three fields:
α,
β and
γ. Each field may be a comma separated list of words. The α field describes the machine environment, β the job characteristics and constraints, and γ the objective function. Since its introduction in the late 1970s the notation has been constantly extended, sometimes inconsistently. As a result, today there are some problems that appear with distinct notations in several papers.
Single-stage jobs vs. multi-stage jobs
In the simpler optimal job scheduling problems, each job ''j'' consists of a single execution phase, with a given processing time ''p
j''. In more complex variants, each job consists of several execution phases, which may be executed in sequence or in parallel.
Machine environments
In single-stage job scheduling problems, there are four main categories of machine environments:
* 1:
Single-machine scheduling Single-machine scheduling or single-resource scheduling is an optimization problem in computer science and operations research. We are given ''n'' jobs ''J''1, ''J''2, ..., ''Jn'' of varying processing times, which need to be scheduled on a single m ...
. There is a single machine.
* P:
Identical-machines scheduling Identical-machines scheduling is an optimization problem in computer science and operations research. We are given ''n'' jobs ''J''1, ''J''2, ..., ''Jn'' of varying processing times, which need to be scheduled on ''m'' identical machines, such that ...
. There are
parallel machines, and they are identical. Job
takes time
on any machine it is scheduled to.
* Q:
Uniform-machines scheduling
Uniform machine scheduling (also called uniformly-related machine scheduling or related machine scheduling) is an optimization problem in computer science and operations research. It is a variant of optimal job scheduling. We are given ''n'' jobs ...
. There are
parallel machines, and they have different given speeds. Job
on machine
takes time
.
* R:
Unrelated-machines scheduling
Unrelated-machines scheduling is an optimization problem in computer science and operations research. It is a variant of optimal job scheduling. We need to schedule ''n'' jobs ''J''1, ''J''2, ..., ''Jn'' on ''m'' different machines, such that a ce ...
. There are
parallel machines, and they are unrelated – Job
on machine
takes time
.
These letters might be followed by the number of machines, which is then fixed. For example, P2 indicates that there are two parallel identical machines. Pm indicates that there are ''m'' parallel identical machines, where ''m'' is a fixed parameter. In contrast, P indicates that there are ''m'' parallel identical machines, but ''m'' is not fixed (it is part of the input).
In multi-stage job scheduling problems, there are other options for the machine environments:
* O:
Open-shop problem. Every job
consists of
operations
for
. The operations can be scheduled in ''any'' order. Operation
must be processed for
units on machine
.
* F:
Flow-shop problem. Every job
consists of
operations
for
, to be scheduled in ''the given'' order. Operation
must be processed for
units on machine
.
* J:
Job-shop problem. Every job
consists of
operations
for
, to be scheduled in that order. Operation
must be processed for
units on a ''dedicated'' machine
with
for
.
Job characteristics
All processing times are assumed to be integers. In some older research papers however they are assumed to be rationals.
*
, or
: the processing time is equal for all jobs.
*
, or
: the processing time is equal to 1 time-unit for all jobs.
*
: for each job a release time is given before which it cannot be scheduled, default is 0.
*
: an online problem. Jobs are revealed at their release times. In this context the performance of an algorithm is measured by its
competitive ratio
Competitive analysis is a method invented for analyzing online algorithms, in which the performance of an online algorithm (which must satisfy an unpredictable sequence of requests, completing each request without being able to see the future) is c ...
.
*
: for each job a due date is given. The idea is that every job should complete before its due date and there is some penalty for jobs that complete late. This penalty is denoted in the objective value. The presence of the job characteristic
is implicitly assumed and not denoted in the problem name, unless there are some restrictions as for example
, assuming that all due dates are equal to some given date.
*
: for each job a strict deadline is given. Every job must complete before its deadline.
* pmtn: Jobs can be preempted and resumed possibly on another machine. Sometimes also denoted by 'prmp
'.
*
: Each job comes with a number of machines on which it must be scheduled at the same time. The default is 1. This is an important parameter in the variant called
parallel task scheduling.
Precedence relations
Each pair of two jobs may or may not have a precedence relation. A precedence relation between two jobs means that one job must be finished before the other job. For example, if job i is a predecessor of job j in that order, job j can only start once job i is completed.
* prec: There are no restrictions placed on the precedence relations.
* chains: Each job is the predecessor of at most one other job and is preceded by at most one other job.
* tree: The precedence relations must satisfy one of the two restrictions.
** intree: Each node is the predecessor of at most one other job.
** outtree: Each node is preceded by at most one other job.
* opposing forest: If the graph of precedence relations is split into
connected components, then each connected component is either an intree or outtree.
* sp-graph: The graph of precedence relations is a
series parallel graph
Series may refer to:
People with the name
* Caroline Series (born 1951), English mathematician, daughter of George Series
* George Series (1920–1995), English physicist
Arts, entertainment, and media
Music
* Series, the ordered sets used in ...
.
* bounded height: The length of the longest directed path is capped at a fixed value. (A directed path is a sequence of jobs where each job except the last is a predecessor of the next job in the sequence.)
* level order: Each job has a level, which is the length of the longest directed path starting from that job. Each job with level
is a predecessor of every job with level
.
* interval order: Each job
has an interval and job
is a predecessor of
if and only if the end of the interval of
is strictly less than the start of the interval for
.=
In the presence of a precedence relation one might in addition assume ''time lags''. The time lag between two jobs is the amount of time that must be waited after the first job is complete before the second job to begin. Formally, if job i precedes job j, then
must be true. If no time lag
is specified then it is assumed to be zero. Time lags can also be negative. A negative time lag means that the second job can begin a fixed time before the first job finishes.
* ''ℓ'': The time lag is the same for each pair of jobs.
*
: Different pairs of jobs can have different time lags.
Transportation delays
*
: Between the completion of operation
of job
on machine
and the start of operation
of job
on machine
, there is a transportation delay of at least
units.
*
: Between the completion of operation
of job
on machine
and the start of operation
of job
on machine
, there is a transportation delay of at least
units.
*
: Machine dependent transportation delay. Between the completion of operation
of job
on machine
and the start of operation
of job
on machine
, there is a transportation delay of at least
units.
*
: Machine pair dependent transportation delay. Between the completion of operation
of job
on machine
and the start of operation
of job
on machine
, there is a transportation delay of at least
units.
*
: Job dependent transportation delay. Between the completion of operation
of job
on machine
and the start of operation
of job
on machine
, there is a transportation delay of at least
units.
Various constraints
* rcrc: Also known as Recirculation or flexible job shop. The promise on
is lifted and for some pairs
we might have
. In other words, it is possible for different operations of the same job to be assigned to the same machine.
* no-wait: The operation
must start exactly when operation
completes. In other words, once one operation of a job finishes, the next operation must begin immediately. Sometimes also denoted as 'nwt'.
* no-idle: No machine may ever be idle between the start of its first execution to the end of its last execution.
*
: Multiprocessor tasks on identical parallel machines. The execution of job
is done simultaneously on
parallel machines.
*
: Multiprocessor tasks. Every job
is given with a set of machines
, and needs simultaneously all these machines for execution. Sometimes also denoted by 'MPT'.
*
: Multipurpose machines. Every job
needs to be scheduled on one machine out of a given set
. Sometimes also denoted by ''M''
''j''.
Objective functions
Usually the goal is to minimize some objective value. One difference is the notation
where the goal is to maximize the number of jobs that complete before their deadline. This is also called the ''throughput''. The objective value can be sum, possibly weighted by some given priority weights
per job.
* -: The absence of an objective value is denoted by a single dash. This means that the problem consists simply in producing a feasible scheduling, satisfying all given constraints.
*
: the ''completion time'' of job
.
is the maximum completion time; also known as the
makespan
In operations research
Operations research () (U.S. Air Force Specialty Code: Operations Analysis), often shortened to the initialism OR, is a branch of applied mathematics that deals with the development and application of analytical methods t ...
. Sometimes we are interested in the ''mean'' completion time (the average of
over all ''j''), which is sometimes denoted by mft (mean finish time).
*
: The ''flow time'' of a job is the difference between its completion time and its release time, i.e.
.
*
:
Lateness
Late or LATE may refer to:
Everyday usage
* Tardy
Tardiness is the habit of being late or delaying arrival. Being late as a form of misconduct may be formally Punishment, punishable in various arrangements, such as workplace, school, etc. An op ...
. Every job
is given a due date
. The lateness of job
is defined as
. Sometimes
is used to denote feasibility for a problem with deadlines. Indeed using binary search, the complexity of the feasibility version is equivalent to the minimization of
.
*
:
Throughput
Network throughput (or just throughput, when in context) refers to the rate of message delivery over a communication channel in a communication network, such as Ethernet or packet radio. The data that these messages contain may be delivered ov ...
. Every job is given a due date
. There is a unit profit for jobs that complete on time, i.e.
if
and
otherwise. Sometimes the meaning of
is inverted in the literature, which is equivalent when considering the decision version of the problem, but which makes a huge difference for approximations.
*
:
Tardiness
Tardiness is the habit of being late or delaying arrival. Being late as a form of misconduct may be formally punishable in various arrangements, such as workplace, school, etc. An opposite personality trait is punctuality.
Workplace tardiness ...
. Every job
is given a due date
. The tardiness of job
is defined as
.
*
:
Earliness. Every job
is given a due date
. The earliness of job
is defined as
. This objective is important for ''just-in-time scheduling.''
There are also variants with
multiple objectives, but they are much less studied.
Examples
Here are some examples for problems defined using the above notation.
*
– assigning each of
given jobs to one of the two identical machines so to minimize the maximum total processing time over the machines. This is an optimization version of the
partition problem
In number theory and computer science, the partition problem, or number partitioning, is the task of deciding whether a given multiset ''S'' of positive integers can be partition of a set, partitioned into two subsets ''S''1 and ''S''2 such that th ...
* 1, prec,
– assigning to a single machine, processes with general precedence constraint, minimizing maximum lateness.
* R, pmtn,
– assigning tasks to a variable number of unrelated parallel machines, allowing preemption, minimizing total completion time.
* J3,
,
– a 3-machine job shop problem with unit processing times, where the goal is to minimize the maximum completion time.
*
– assigning jobs to
parallel identical machines, where each job comes with a number of machines on which it must be scheduled at the same time, minimizing maximum completion time. See
parallel task scheduling.
Other variants
* All variants surveyed above are ''deterministic'' in that all data is known to the planner. There are also ''stochastic'' variants, in which the data is not known in advance, or can perturb randomly.
* In a ''load balancing game'', each job belongs to a strategic agent, who can decide where to schedule his job. The
Nash equilibrium
In game theory, the Nash equilibrium is the most commonly used solution concept for non-cooperative games. A Nash equilibrium is a situation where no player could gain by changing their own strategy (holding all other players' strategies fixed) ...
in this game may not be optimal. Aumann and Dombb
assess the inefficiency of equilibrium in several load-balancing games.
See also
*
Fractional job scheduling
Fractional job scheduling is a variant of optimal job scheduling in which it is allowed to break jobs into parts and process each part separately on the same or a different machine. Breaking jobs into parts may allow for improving the overall perf ...
References
{{Reflist
External links
Scheduling zoo(by Christoph Dürr, Sigrid Knust, Damien Prot, Óscar C. Vásquez): an online tool for searching an optimal scheduling problem using the notation.
Complexity results for scheduling problems(by Peter Brucker, Sigrid Knust): a classification of optimal scheduling problems by what is known on their runtime complexity.
*