Submitted Successfully!
To reward your contribution, here is a gift for you: A free trial for our video production service.
Thank you for your contribution! You can also upload a video entry or images related to this topic.
Version Summary Created by Modification Content Size Created at Operation
1 handwiki -- 2306 2022-10-20 01:37:17

Video Upload Options

We provide professional Video Production Services to translate complex research into visually appealing presentations. Would you like to try it?

Confirm

Are you sure to Delete?
Cite
If you have any further questions, please contact Encyclopedia Editorial Office.
HandWiki. Notation for Theoretic Scheduling Problems. Encyclopedia. Available online: https://encyclopedia.pub/entry/30497 (accessed on 15 November 2024).
HandWiki. Notation for Theoretic Scheduling Problems. Encyclopedia. Available at: https://encyclopedia.pub/entry/30497. Accessed November 15, 2024.
HandWiki. "Notation for Theoretic Scheduling Problems" Encyclopedia, https://encyclopedia.pub/entry/30497 (accessed November 15, 2024).
HandWiki. (2022, October 20). Notation for Theoretic Scheduling Problems. In Encyclopedia. https://encyclopedia.pub/entry/30497
HandWiki. "Notation for Theoretic Scheduling Problems." Encyclopedia. Web. 20 October, 2022.
Notation for Theoretic Scheduling Problems
Edit

A convenient notation for theoretic scheduling problems was introduced by Ronald Graham, Eugene Lawler, Jan Karel Lenstra and Alexander Rinnooy Kan in. 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.

scheduling problems job characteristics constraints

1. Machine Environment

1.1. Single Stage Problems

Each job comes with a given processing time.

1
there is a single machine
P
there are [math]\displaystyle{ m }[/math] parallel identical machines
Q
there are [math]\displaystyle{ m }[/math] parallel machines with different given speeds, length of job [math]\displaystyle{ j }[/math] on machine [math]\displaystyle{ i }[/math] is the processing time [math]\displaystyle{ p_{j} }[/math] divided by speed [math]\displaystyle{ s_i }[/math].
R
there are [math]\displaystyle{ m }[/math] parallel unrelated machines, there are given processing times [math]\displaystyle{ p_{ij} }[/math] for job [math]\displaystyle{ j }[/math] on machine [math]\displaystyle{ i }[/math]

These letters might be followed by the number of machines which is then fixed, here [math]\displaystyle{ m }[/math] stands then for a fixed number. For example, [math]\displaystyle{ P2||C_{\max} }[/math] is the problem of assigning each of the [math]\displaystyle{ n }[/math] given jobs to one of the 2 given machines so to minimize the maximum total processing time over the machines.

1.2. Multi-Stage Problem

O
Open shop problem. Every job [math]\displaystyle{ j }[/math] consists of [math]\displaystyle{ m }[/math] operations [math]\displaystyle{ O_{ij} }[/math] for [math]\displaystyle{ i=1,\ldots,m }[/math]. The operations can be scheduled in any order. Operation [math]\displaystyle{ O_{ij} }[/math] must be processed for [math]\displaystyle{ p_{ij} }[/math] units on machine [math]\displaystyle{ i }[/math].
F
Flow shop problem. Every job [math]\displaystyle{ j }[/math] consists of [math]\displaystyle{ n_j }[/math] operations [math]\displaystyle{ O_{ij} }[/math] for [math]\displaystyle{ k=1,\ldots,n_j }[/math], to be scheduled in that order. Operation [math]\displaystyle{ O_{ij} }[/math] must be processed for [math]\displaystyle{ p_{ij} }[/math] units on machine [math]\displaystyle{ i }[/math].
J
Job shop problem. Every job [math]\displaystyle{ j }[/math] consists of [math]\displaystyle{ n_j }[/math] operations [math]\displaystyle{ O_{kj} }[/math] for [math]\displaystyle{ k=1,\ldots,n_j }[/math], to be scheduled in that order. Operation [math]\displaystyle{ O_{kj} }[/math] must be processed for [math]\displaystyle{ p_{kj} }[/math] units on a dedicated machine [math]\displaystyle{ \mu_{kj} }[/math] with [math]\displaystyle{ \mu_{kj}\neq \mu_{k'j} }[/math] for [math]\displaystyle{ k\neq k' }[/math].

2. Job Characteristics

The processing time may be equal for all jobs ([math]\displaystyle{ p_i=p }[/math], or [math]\displaystyle{ p_{ij}=p }[/math]) or even of unit length ([math]\displaystyle{ p_i=1 }[/math], or [math]\displaystyle{ p_{ij}=1 }[/math]). All processing times are assumed to be integers. In some older research papers however they are assumed to be rationals.

[math]\displaystyle{ r_j }[/math]
for each job a release time is given before which it cannot be scheduled, default is 0.
[math]\displaystyle{ online-r_j }[/math]
This is an online problem. Jobs are revealed at their release times. In this context the performance of an algorithm is measured by its competitive ratio.
[math]\displaystyle{ d_j }[/math]
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 [math]\displaystyle{ d_j }[/math] is implicitly assumed and not denoted in the problem name, unless there are some restrictions as for example [math]\displaystyle{ d_j=d }[/math], assuming that all due dates are equal to some given date.
[math]\displaystyle{ \bar d_j }[/math]
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'.
[math]\displaystyle{ size_j }[/math]
Each job comes with a number of machines on which it must be scheduled at the same time, default is 1.

2.1. Precedence Relations

Precedence relations might be given for the jobs, in form of a partial order, meaning that if i is a predecessor of i' in that order, i' can start only when i is completed.

prec
Given general precedence relation. If [math]\displaystyle{ i\prec j }[/math] then starting time of [math]\displaystyle{ j }[/math] should be not earlier than completion time of [math]\displaystyle{ i }[/math].
chains
Given precedence relation in form of chains (indegrees and outdegrees are at most 1).
tree
Given general precedence relation in form of a tree, either intree or outtree.
intree
Given general precedence relation in form of an intree (outdegrees are at most 1).
outtree
Given general precedence relation in form of an outtree (indegrees are at most 1).
opposing forest
Given general precedence relation in form of a collection of intrees and outtrees.
sp-graph
Given precedence relation in form of a series parallel graph.
bounded height
Given precedence relation where the longest directed path is bounded by a constant.
level order
Given precedence relation where each vertex of a given level l (i.e. the length of the longest directed path starting from this vertex is l) is a predecessor of all the vertices of level l-1.
interval order
Given precedence relation for which one can associate to each vertex an interval in the real line, and there is a precedence between x and y if and only if the half open intervals x=[s_x,e_x) and y=[s_y,e_y) are such that e_x is smaller than or equal to s_y.
quasi-interval order
Quasi-interval orders are a superclass of interval orders defined in Moukrim: Optimal scheduling on parallel machines for a new order class, Operations Research Letters, 24(1):91-95, 1999.
over-interval order
Over-interval orders are a superclass of quasi-interval orders defined in Chardon and Moukrim: The Coffman-Graham algorithm optimally solves UET task systems with overinterval orders, SIAM Journal on Discrete Mathematics, 19(1):109-121, 2005.
Am-order
Am orders are a superclass of over-interval orders defined in Moukrim and Quilliot: A relation between multiprocessor scheduling and linear programming. Order, 14(3):269-278, 1997.
DC-graph
A divide-and-conquer graph is a subclass of series-parallel graphs defined in Kubiak et al.: Optimality of HLF for scheduling divide-and-conquer UET task graphs on identical parallel processors. Discrete Optimization, 6:79-91, 2009.
2-dim partial order
A 2-dimensional partial order is a k-dimensional partial order for k=2.
k-dim partial order
A poset is a k-dimensional partial order iff it can be embedded into the k-dimensional Euclidean space in such a way that each node is represented by a k-dimensional point and there is a precedence between two nodes i and j iff for any dimension the coordinate of i is smaller than or equal to the one of j.

In the presence of a precedence relation one might in addition assume time lags. Let [math]\displaystyle{ S_j }[/math] denote the start time of a job and [math]\displaystyle{ C_j }[/math] its completion time. Then the precedence relation [math]\displaystyle{ i \prec j }[/math] implies the constraint [math]\displaystyle{ C_i + l_{ij} \leq S_j }[/math]. If no time lag [math]\displaystyle{ l_{ij} }[/math] is specified then it is assumed to be zero. Time lags can be positive or negative numbers.

l
job independent time lags. In other words [math]\displaystyle{ l_{ij}=l }[/math] for all job pairs i, j and a given number l.
[math]\displaystyle{ l_{ij} }[/math]
job pair dependent arbitrary time lags.

2.2. Transportation Delays

[math]\displaystyle{ t_{jk} }[/math]
Between the completion of operation [math]\displaystyle{ O_{kj} }[/math] of job [math]\displaystyle{ j }[/math] on machine [math]\displaystyle{ k }[/math] and the start of operation [math]\displaystyle{ O_{k+1,j} }[/math] of job [math]\displaystyle{ j }[/math] on machine [math]\displaystyle{ k+1 }[/math], there is a transportation delay of at least [math]\displaystyle{ t_{jk} }[/math]units.
[math]\displaystyle{ t_{jkl} }[/math]
Between the completion of operation [math]\displaystyle{ O_{kj} }[/math] of job [math]\displaystyle{ j }[/math] on machine [math]\displaystyle{ k }[/math] and the start of operation [math]\displaystyle{ O_{l,j} }[/math] of job [math]\displaystyle{ j }[/math] on machine [math]\displaystyle{ l }[/math], there is a transportation delay of at least [math]\displaystyle{ t_{jkl} }[/math] units.
[math]\displaystyle{ t_k }[/math]
Machine dependent transportation delay. Between the completion of operation [math]\displaystyle{ O_{kj} }[/math] of job [math]\displaystyle{ j }[/math] on machine [math]\displaystyle{ k }[/math] and the start of operation [math]\displaystyle{ O_{k+1,j} }[/math] of job [math]\displaystyle{ j }[/math] on machine [math]\displaystyle{ k+1 }[/math], there is a transportation delay of at least [math]\displaystyle{ t_{k} }[/math] units.
[math]\displaystyle{ t_{kl} }[/math]
Machine pair dependent transportation delay. Between the completion of operation [math]\displaystyle{ O_{kj} }[/math] of job [math]\displaystyle{ j }[/math] on machine [math]\displaystyle{ k }[/math] and the start of operation [math]\displaystyle{ O_{l,j} }[/math] of job [math]\displaystyle{ j }[/math] on machine [math]\displaystyle{ l }[/math], there is a transportation delay of at least [math]\displaystyle{ t_{kl} }[/math] units.
[math]\displaystyle{ t_j }[/math]
Job dependent transportation delay. Between the completion of operation [math]\displaystyle{ O_{kj} }[/math] of job [math]\displaystyle{ j }[/math] on machine [math]\displaystyle{ k }[/math] and the start of operation [math]\displaystyle{ O_{l,j} }[/math] of job [math]\displaystyle{ j }[/math] on machine [math]\displaystyle{ l }[/math], there is a transportation delay of at least [math]\displaystyle{ t_{j} }[/math] units.

2.3. Various Constraints

rcrc
Recirculation, also called Flexible job shop. The promise on [math]\displaystyle{ \mu }[/math] is lifted and for some pairs [math]\displaystyle{ k\neq k' }[/math] we might have [math]\displaystyle{ \mu_{kj}= \mu_{k'j} }[/math].
no-wait
The operation [math]\displaystyle{ O_{k+1,i} }[/math]must start exactly when operation [math]\displaystyle{ O_{k,i} }[/math] completes. Sometimes also denoted as 'nwt'.
no-idle
No machine is ever idle between two executions.
[math]\displaystyle{ size_j }[/math]
Multiprocessor tasks on identical parallel machines. The execution of job [math]\displaystyle{ j }[/math] is done simultaneously on [math]\displaystyle{ size_j }[/math]parallel machines.
[math]\displaystyle{ fix_j }[/math]
Multiprocessor tasks. Every job [math]\displaystyle{ j }[/math]is given with a set of machines [math]\displaystyle{ fix_j\subseteq\{1,\ldots,m\} }[/math], and needs simultaneously all these machines for execution. Sometimes also denoted by 'MPT'.
[math]\displaystyle{ M_j }[/math]
Multipurpose machines. Every job [math]\displaystyle{ j }[/math]needs to be scheduled on one machine out of a given set [math]\displaystyle{ M_j\subseteq\{1,\ldots,m\} }[/math]. Sometimes also denoted by 'M_j'.

3. Objective Functions

Usually the goal is to minimize some objective value. One difference is the notation [math]\displaystyle{ \sum U_j }[/math] 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 [math]\displaystyle{ w_j }[/math] 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.
[math]\displaystyle{ C_j }[/math]
This denotes the completion time of job [math]\displaystyle{ j }[/math].
[math]\displaystyle{ F_j }[/math]
The flow time of a job is difference between its completion time and its release time, i.e. [math]\displaystyle{ F_j=C_j-r_j }[/math].
[math]\displaystyle{ L_j }[/math]
Lateness. Every job [math]\displaystyle{ j }[/math] is given a due date [math]\displaystyle{ d_j }[/math]. The lateness of job [math]\displaystyle{ j }[/math] is defined as [math]\displaystyle{ C_j-d_j }[/math]. Sometimes [math]\displaystyle{ L_{\max} }[/math] 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 [math]\displaystyle{ L_{\max} }[/math].
[math]\displaystyle{ U_j }[/math]
Throughput. Every job is given a due date [math]\displaystyle{ d_j }[/math]. There is a unit profit for jobs that complete one time, i.e. [math]\displaystyle{ U_j=1 }[/math] if [math]\displaystyle{ C_j\leq d_j }[/math] and [math]\displaystyle{ U_j=0 }[/math] otherwise. Sometimes the meaning of [math]\displaystyle{ U_j }[/math] is inverted in the literature, which is equivalent when considering the decision version of the problem, but which makes a huge difference for approximations.
[math]\displaystyle{ T_j }[/math]
Tardiness. Every job [math]\displaystyle{ j }[/math] is given a due date [math]\displaystyle{ d_j }[/math]. The tardiness of job [math]\displaystyle{ j }[/math] is defined as [math]\displaystyle{ T_j = \max\{0, C_j-d_j\} }[/math].
[math]\displaystyle{ E_j }[/math]
Earliness. Every job [math]\displaystyle{ j }[/math] is given a due date [math]\displaystyle{ d_j }[/math]. The earliness of job [math]\displaystyle{ j }[/math] is defined as [math]\displaystyle{ E_j = \max\{0, d_j-C_j\} }[/math]. This objective is important for just-in-time' scheduling.

4. Examples

Adapted from [1]

1|prec|[math]\displaystyle{ L_\max }[/math]
a single machine, general precedence constraint, minimizing maximum lateness.
R|pmtn|[math]\displaystyle{ \sum C_i }[/math]
variable number of unrelated parallel machines, allowing preemption, minimizing total completion time.
J3|[math]\displaystyle{ p_{ij} }[/math]|[math]\displaystyle{ C_\max }[/math]
3-machines job shop with unit processing times, minimizing maximum completion time.
P|[math]\displaystyle{ size_{j} }[/math]|[math]\displaystyle{ C_\max }[/math]
[math]\displaystyle{ m }[/math] parallel identical machines, each job comes with a number of machines on which it must be scheduled at the same time, minimizing maximum completion time (see also parallel task scheduling problem).

References

  1. Graham, R. L.; Lawler, E. L.; Lenstra, J.K.; Rinnooy Kan, A.H.G. (1979). "Optimization and Approximation in Deterministic Sequencing and Scheduling: a Survey". Elsevier. pp. (5) 287–326. http://mat.uab.es/~alseda/MasterOpt/79_03_scheduling_survey.pdf. 
More
Information
Contributor MDPI registered users' name will be linked to their SciProfiles pages. To register with us, please refer to https://encyclopedia.pub/register :
View Times: 1.1K
Entry Collection: HandWiki
Revision: 1 time (View History)
Update Date: 20 Oct 2022
1000/1000
ScholarVision Creations