This document summarizes a research paper on the operational fixed job scheduling problem with working time constraints. The paper considers the problem of maximizing the total weight of jobs that can be processed within working time limits on parallel machines. It analyzes preemptive and non-preemptive versions of the problem and provides polynomial-time algorithms for some special cases of the preemptive problem. For the non-preemptive problem, the paper shows it is strongly NP-hard and proposes a branch-and-bound algorithm with computational testing showing it can solve instances with up to 100 jobs in reasonable time.
1. International Journal of Production Research
Vol. 48, No. 21, 1 November 2010, 6211–6233
Working time constraints in operational fixed job scheduling
Deniz Tu¨ rsel Eliiyia and Meral Azizog˘ lub*
aDepartment of Business Administration, Izmir University of Economics, Sakarya Cad.,
No: 156, Izmir, 35330 Turkey; bDepartment of Industrial Engineering, Middle East
Technical University, Ankara, 06531, Turkey
(Received 14 January 2009; final version received 25 August 2009)
In this study we consider the operational fixed job scheduling problem under
working time limitations. The problem has several practical implications in both
production and service operations; however the relevant research is scarce. We
analyse pre-emptive and non pre-emptive versions of the problem and its special
cases. We provide polynomial-time algorithms for some special cases. We show
that the non pre-emptive jobs problem is strongly NP-hard, and propose a
branch-and-bound algorithm that employs efficient bounding procedures and
dominance properties. We conduct a numerical experiment to observe the effects
of parameters on the quality of the solution. The results of our computational
tests for the branch-and-bound algorithm reveal that our algorithm can solve the
instances with up to 100 jobs in reasonable times. To the best of our knowledge
our branch-and-bound algorithm is the first optimisation attempt to solve the
problem.
Keywords: fixed job scheduling; working time constraints; branch-and-bound
1. Introduction
Fixed job scheduling (FJS) is a well-studied and applied area of scheduling where tasks
with specified weights, ready times and deadlines are to be processed on a number of
parallel resources. A task can be processed only between its ready time and its deadline,
and the processing time of the job is equal to the exact difference between these. The
problem has two variants: tactical and operational. The tactical fixed job scheduling
(TFJS) problem aims to minimise the total cost of the resources to accommodate all tasks,
whereas the operational fixed job scheduling (OFJS) problem assumes fixed resource
availability and selects a subset of tasks for processing so as to maximise the total weight.
The FJS problem appears in many applications in manufacturing and service
operations such as maintenance scheduling, transportation systems and shift scheduling.
Martello and Toth (1986), and Fischetti et al. (1987, 1992) consider the TFJS problem in
scheduling of bus drivers. Kroon (1990), and Kroon et al. (1995) study both tactical and
operational versions of the problem in the assignment of incoming aircraft to gates and the
capacity planning of aircraft maintenance personnel. The OFJS problem may also be
encountered in scheduling earth-observing satellites, as mentioned in Wolfe and Sorensen
(2000). Other application areas include class scheduling (Kolen and Kroon 1991), satellite
*Corresponding author. Email: meral@ie.metu.edu.tr
ISSN 0020–7543 print/ISSN 1366–588X online
2010 Taylor Francis
DOI: 10.1080/00207540903289771
http://www.informaworld.com
2. 6212 D.T. Eliiyi and M. Azizog˘lu
data transmission (Faigle et al. 1999) and printed circuit board manufacturing (Spieksma
1999).
Kovalyov et al. (2007) provide a thorough review on the applications and theory of the
FJS problem. Another recent survey by Kolen et al. (2007) on FJS problems provides a
review of the previous studies, presents proofs of some known results, and discusses
potential application areas. The reader is referred to these survey articles for more detailed
theory and applications of the FJS problem.
In the basic FJS model, there are no restrictions on the capacity of the machines, and
all machines are available at all times. However, the practical cases are often more
sophisticated so that additional or more general constraints/parameters are needed; hence
different variants of the problem arise. One such variant in the literature involves
operating time constraints on machines. Spread time and working time are two studied
forms of the operating time constraints. Spread time constraints impose an upper bound
on the difference between the start time of the first operation and finish time of the last
operation on any machine. The machine idle times are included in the spread time. The
TFJS problem with spread time constraints is studied by Fischetti et al. (1987, 1992) and
the OFJS problem with the spread time constraints is studied by Eliiyi and Azizog˘ lu
(2006). Working time constraints limit the actual operation time of each machine; no
machine is allowed to operate for more than T working time units. Consequently, the
working time of a machine is the sum of the processing times of the jobs scheduled on
that machine. Unlike spread time, it does not include the idle times of machines. Fischetti
et al. (1989) report on a real life application of the bus driver scheduling problem with
working time constraints, where the drivers are not allowed to drive for more than eight
hours in a day. The working time constraints may also find their applications in
production environments where it may not be economical to operate some high precision
machines more than some pre-specified time limit.
The research on the FJS problem with working time constraints is quite limited despite
its practical importance. To the best of our knowledge, there is a unique study on the OFJS
problem under working time constraints which is by Bouzina and Emmons (1996). The
authors show that the problem of maximising the number of completed jobs is
polynomially solvable when pre-emption is allowed. The authors also prove that when
pre-emption is allowed the problem of maximising the weighted number of completed jobs
is NP-hard in the ordinary sense, through transformation from the well-known binary
NP-hard knapsack problem (see Garey and Johnson 1979). There are two studies on the
tactical problem by Fischetti et al. (1989, 1992). The authors deal with the bus driver
scheduling problem with the objective of minimising the number of drivers necessary to
perform all duties, where a driver cannot work for more than a given working time T
during a day. The authors prove that the problem is NP-hard in the strong sense and
present some polynomially solvable special cases (Fischetti et al. 1989). They present a
branch-and-bound algorithm and observe its satisfactory performance on instances
generated close to the real-life situations. In their later study, Fischetti et al. (1992) provide
some polynomial-time approximation algorithms for the problem.
In this study, we consider the OFJS problem with working time constraints and aim to
maximise the total weight of the processed jobs. Consequently, our study fills an important
gap in the FJS literature. The rest of the paper is organised as follows. We first present the
mathematical formulation of the OFJS problem with working time constraints (OFJSW)
and provide the related literature. We then present our result settling the complexity of the
problem and analyse some polynomially solvable special cases of the pre-emptive problem.
3. International Journal of Production Research 6213
The non pre-emptive problem and the specifics of our optimisation procedure together
with the results of a computational experiment are presented next. Finally, we conclude
with some further research topics.
2. The OFJSW models
There are n jobs to be scheduled for processing on m identical parallel machines. Job j
arrives at its integer ready time rj, and completes at its deadline dj if it is selected for
processing. The integer processing time of job j is pj, where dj ¼ pj þ rj. If partial
processing is allowed, then a job can be processed by less than pj units between rj and dj.
The weight of job j, indicating its relative importance, is denoted by wj. Each machine can
process for at most T units of processing time. We assume the total processing time, Pn
j¼1 pj, is greater than T, so that the working time constraint is not redundant.
The time is assumed to be divided into periods not necessarily equal in length; let
ft1, t2, . . . , tzg be the sequence of the rj and dj values in chronological order with duplicates
removed, and Sa be the set of jobs that resides the interval ½ta, taþ1Þ between its ready time
and deadline for all a ¼ 1, 2, . . . , z 1. The only decision variable of the model is the
binary assignment variable, which is defined as follows:
xjk ¼
1, if job j is processed on machine k
0, otherwise
, 8j, k :
Bouzina and Emmons (1996) present the following integer programming model for the
OFJSW problem:
Maximise
Xm
k¼1
Xn
j¼1
wjxjk ð1Þ
subject to:
Xm
k¼1
xjk 1, j ¼ 1, . . . , n ð2Þ
X
j2Sa
xjk 1, k ¼ 1, . . . ,m, a ¼ 1, 2, . . . , z 1 ð3Þ
Xn
j¼1
pjxjk T, k ¼ 1, . . . ,m ð4Þ
The objective function in (1) requires the maximisation of the total weight of the
processed jobs. Constraint set (2) ensures that each job j is processed by at most one
machine. The condition that no machine can process more than one job at a time is
handled by constraint set (3). Working time constraints for the machines (T-constraints)
are stated in constraint set (4). Constraint set (5) below forces the integrality in job-machine
assignments, i.e., does not allow the pre-emption of the jobs between the
machines and requires full processing of the jobs.
xjk 2 f0, 1g, k ¼ 1, . . . ,m, j ¼ 1, . . . , n ð5Þ
4. 6214 D.T. Eliiyi and M. Azizog˘lu
If the pre-emption of the jobs between machines, partial processing of the jobs or job
splitting is allowed, constraint set (5) should be replaced by constraint set (6):
0 xjk 1, k ¼ 1, . . . ,m, j ¼ 1, . . . , n ð6Þ
We study the pre-emptive and non pre-emptive versions of the OFJSW problem in the
following sections.
3. The pre-emptive OFJSW model – partial processing allowed
In this section, we assume pre-emption and partial processing are allowed for jobs.
However, the simultaneous processing of the jobs on more than one machine, i.e., job
splitting, is not allowed. When a job is partially processed, its uncompleted part is simply
discarded without occupying any machine’s capacity. For example, when job j is partially
processed for p0
j 5pj units, the weight gained is p0
j ðwj=pjÞ. We analyse two special cases
that are polynomially solvable. For each case, we provide a polynomial-time algorithm,
prove that the algorithm solves the case, and settle its time complexity.
Special case 1: there is only one machine, i.e., m^1
We develop an algorithm for this case, utilising the idea of a continuous single knapsack
solution. The algorithm assigns jobs, starting from the one with the highest weight/
processing time ratio to the intervals within their processing window. It defines time
intervals such that there are no arrivals or completions between two consecutive intervals.
The job is scheduled if the machine is available during that interval and if such an
assignment does not violate the T-constraint. Below is the stepwise description of the
algorithm.
Algorithm 1
S1. Index the jobs in their non-increasing order of wj/pj ratios.
S2. Let ft1, t2, . . . , tzg be the sequence of rj and dj values in chronological order with no
duplicates.
S3. Scan forward through time stopping at t1, t2, . . . , tz1. For each interval ½ta, taþ1Þ,
store the index of the highest-ratio processable job ha in list: H ¼ fhag,
a ¼ 1, . . . , z 1.
S4. While satisfying the T-constraint and H6¼ ;:
Find:
j ¼ minfhag and a0 ¼ arg min
a
fhag, a ¼ 1, . . . , z 1:
Assign job j in interval ½ta0 , ta0þ1Þ. Remove j from list H.
The correctness proof of Algorithm 1 can be done simply by standard job interchange
arguments and thus it is omitted. Theorem 1 below states the complexity result.
Theorem 1: Algorithm 1 runs in Oðn log nÞ.
Proof: S1 requires sorting n values; this can be done in Oðn log nÞ. S2 requires sorting 2n
values (i.e., rj and dj, for j¼1, . . . , n) thus the complexity of S2 is Oðn log nÞ. In S3, we
scan forward through time stopping at t1, t2, . . . recording the processable job with the
5. International Journal of Production Research 6215
highest ratio. It takes Oðlog nÞ time to update this list every time we reach a new ta
(a¼1, . . . , z1), so the total run-time is Oðn log nÞ. S4 re-scans the list at most 2n1 times
assigning the highest-ratio job. This process takes Oðn log nÞ time, as in S3. Hence, the
worst-case complexity of Algorithm 1 is Oðn log nÞ.
Special case 2: processing times are identical to weights, i.e., wj^pj, }j
When wj ¼ pj, 8j, the objective reduces to maximising the total processing time.
Algorithm 2 solves this special case optimally. The algorithm considers each interval
separately in chronological order and assigns the available jobs to the machines.
Algorithm 2
S1. Let ft1, t2, . . . , tzg be the sequence of rj and dj values in chronological order with
duplicates removed.
S2. While satisfying T-constraints for k ¼ 1, . . . ,m:
For each interval ðta, taþ1Þ for a ¼ 1, 2, . . . , z 1 do:
Let Sa be the set of jobs processable in the interval ðta, taþ1Þ for a ¼ 1,
2, . . . , z 1;
Assign the first minfjSaj,mg jobs, each to one machine.
The correctness of Algorithm 2 follows from that of Algorithm 1, as it is an adaptation
of Algorithm 1 for jobs having equal weights per unit time. Theorem 2 states the
complexity result.
Theorem 2: Algorithm 2 runs in Oðn maxfm, log ngÞ.
Proof: S1 runs in Oðn log nÞ as we sort 2n values. S2 runs in OðmnÞ as there are mn
intervals over all machines. Hence, the total running time of the algorithm is
Oðn maxfm, log ngÞ, determining its complexity.
4. The non pre-emptive OFJSW model
In this section we analyse the OFJSW problem with non pre-emptive jobs. We first settle
the complexity of the problem.
When m¼1, the problem reduces to the single knapsack problem with conflicts with
the following analogy. Consider a knapsack problem consisting of items with weights aj,
capacity requirements cj, an integer capacity of C, and a set E that consists of the pairs of
the items that are not allowed to be packed together into the knapsack. Also, consider an
instance of the OFJSW problem where wj ¼ aj, pj ¼ cj, T ¼ C and the jobs in sets Sa for all
intervals a altogether form set E. The single knapsack problem with conflicts is strongly
NP-hard, then so is our problem with m¼1. The single knapsack problem with conflicts,
hence the single-machine case of our problem, can be seen as a generalisation of the
maximum weighted independent set problem in an interval graph (Golumbic 2004).
For general m, the problem reduces to the bin packing problem with conflicts with the
following analogy. Consider a bin packing problem consisting of items with weights aj,
capacity requirements cj, an integer capacity of C for each of the m bins and set E that
consists of the pairs of items that are not allowed to be packed together into the same bin.
Also, consider an instance of the OFJSW problem where wj ¼ aj, pj ¼ cj, T ¼ C and the
jobs in set Sa for all intervals a altogether form set E. The bin packing problem with
6. 6216 D.T. Eliiyi and M. Azizog˘lu
conflicts is strongly NP-hard (see Jansen and Ohring 1997), so is our problem for
general m.
In the rest of this section, we examine some special polynomially solvable cases of the
problem and present an optimisation algorithm together with the computational results.
4.1 Special polynomially solvable cases
The special cases arise from some special characteristics of the problem parameters. For
each special case, we provide a polynomial time algorithm, prove that the algorithm solves
this particular case, and settle its time complexity.
Special case 3: all processing times are equal to one, i.e. pj^1, }j
For the unit processing times case, we propose a greedy algorithm that sorts the jobs in
non-increasing order of their weights and assigns them to the machines until no more jobs
can be processed without violating feasibility. Below is the stepwise description of the
algorithm.
Algorithm 3
S1. Index the jobs in their non-increasing order of wj values.
S2. While satisfying T-constraints,
For j ¼ 1, . . . , n:
If no machine is available at time rj, do not schedule job j;
Else, assign job j to any available machine at time rj.
The correctness proof of Algorithm 3 can be done simply by standard job interchange
arguments and thus it is omitted. Theorem 3 below states the complexity result.
Theorem 3: Algorithm 3 runs in Oðn log nÞ.
Proof: The sorting operation in S1 takes Oðn log nÞ time. The check ‘If no machine is
available at time rj’ in S2 can be performed in constant time by simply considering for each
time rj the number Mrj of available machines (initialising Mrj ¼ m for each rj, checking if
Mrj40, and setting Mrj ¼ Mrj 1 if job j is scheduled at time rj). As we consider n jobs,
S2 takes OðnÞ time. The overall complexity of the algorithm is therefore Oðn log nÞ.
Special case 4: all ready times are identical, i.e. rj^r, }j
The following Oðn log nÞ algorithm solves the case where all jobs are ready at the same
time. The algorithm simply selects m highest-weighted jobs and assigns each to a different
machine.
Algorithm 4
S1. Select m jobs that have highest wj values.
S2. Assign the selected jobs each to a different machine.
Theorem 4: Algorithm 4 runs in Oðn log nÞ time and solves the non pre-emptive OFJSW
problem when all ready times are identical.
Proof: The complexity of the algorithm is defined by the complexity of the sorting oper-ation,
i.e., Oðn log nÞ, in S1. For proving correctness, letWbe the sum of m highest weights.
7. International Journal of Production Research 6217
Clearly no higher weight than W can be achieved by any schedule, and Algorithm 4
achieves W.
4.2 Optimisation procedure for the general problem
We propose a branch-and-bound (BB) algorithm to find the optimal schedule for the non
pre-emptive OFJSW problem. Our algorithm incorporates several reduction and bounding
mechanisms. We first derive some properties about the structure of an optimal solution,
and present our lower and upper bounding procedures. Then, we provide the implemen-tation
details of our branch-and-bound algorithm.
4.2.1 Properties of an optimal solution
In this section, we present some properties that characterise the structure of an optimal
solution. Properties 1, 2 and 3 are extended from Eliiyi and Azizog˘ lu (2006) that are
developed for the OJFS problem with spread time constraints.
Property 1: If wj4wi, ri rj and di dj then any optimal solution that includes job i
should also include job j.
The proof of Property 1 can be based on standard job-interchange arguments and is
therefore omitted.
Property 2: If wj ¼ wi, ri rj and di dj with strict inequality holding at least once, then
there exists an optimal schedule that includes job j if job i is processed.
The proof directly follows from the proof of Property 1, and is therefore omitted.
We hereafter say that job j dominates job i if wj4wi, ri rj and di dj, or if wj ¼ wi,
ri rj and di dj with strict inequality holding at least once. We let Si be the set of jobs
that dominate job i. Property 3 establishes another characteristic of an optimal solution,
which is a direct consequence of Properties 1 and 2.
Property 3: If jSij m, then no optimal solution processes job i.
The proof directly follows the definition of the dominance, and is therefore omitted.
The jobs that satisfy the conditions of Property 3 can be eliminated, thereby reducing
the problem size. As in Eliiyi and Azizog˘ lu (2006), we generalise Properties 1 and 2 by
considering the fact that there may exist a job that is dominated by a set of jobs, however
not by a single job. We find this job set by the following procedure. Assume Di is the set of
jobs that can replace job i without altering any processing sequence, hence
Di ¼ fj jrj ri, dj dig. Let Mi be the maximum weighted independent set formed by
the jobs in Di. This set can be found in Oðn log nÞ steps. Note that when no jobs in set Di
overlap, the maximum weighted independent set solution includes all jobs in Di. Consider
a 5-job problem with the following data:
j 1 2 3 4 5
rj 1 2 2 4 5
pj 5 1 1 2 1
wj 7 5 4 1 3
8. 6218 D.T. Eliiyi and M. Azizog˘lu
Note that D1¼{2, 3, 4, 5} and M1¼{2, 5}.
The following property establishes a relation between job i and the jobs in set Mi.
Property 4: In an optimal solution, if job i is processed and P
j2Mi
wj4wi, then at least
one job in Mi should be processed.
Proof: A solution that consists of job i but not any job in Mi cannot be optimal as its
objective function value increases byP
j2Mi
wjwi40 units by replacing job i with all jobs
in Mi.
Properties 5 and 6 establish some further features of an optimal solution.
Property 5: If ri5rj5di5dj, wi4wj, pi pj, and no job is available for processing
during ½ri, rj , then any solution that includes job j, but not job i, cannot be optimal.
Proof: The condition stated is illustrated in the following figure:
i
j
A
ri rj di dj
Consider an optimal solution that includes job j, but not job i. Let Zj be the associated
objective function value. Note that there is no processable job in the interval ½ri, rj , i.e., set
A in the figure is empty. Assume we remove job j from the solution and assign job i to the
machine that is freed by job j. The objective function value of this new solution is
Zi ¼ Zj wj þ wi. Note that Zi4Zj, as wi4wj. Hence a solution that includes job j but
not job i cannot be optimal.
Property 6: If ri5rj5di5dj, wj4wi, and no job is available for processing during
½di, dj , then any optimal solution that includes job i, but not job j, cannot be optimal.
Proof: The condition is illustrated in the following figure:
i j
B
ri rj di dj
Consider an optimal solution that includes job i, but not job j, with an objective
function value of Zi. As there is no processable job in the interval ½di, dj , set B is empty.
Assume we remove job i and assign job j to the machine that is freed by job i. The objective
function value of this new solution is Zj ¼ Zi wi þ wj. Since Zj4Zi as wj4wi, a
solution that includes job i, but not job j, cannot be optimal.
4.2.2 Upper bounds
Consider the surrogate relaxation of our problem, where instead of constraint set (4)
representing the T-constraints, we have:
Xm
k¼1
Xn
j¼1
pjxjk mT: ð7Þ
9. International Journal of Production Research 6219
In the absence of overlapping constraints, this representation reduces our problem to
the well-known single knapsack problem with capacity mT. This problem is known to be
NP-hard in the ordinary sense (Garey and Johnson 1979), then so is the surrogate relax-ation
of our problem. We show through Theorem 5 that the surrogate relaxation problem
can be solved in polynomial-time when partial processing and pre-emption are allowed.
Consequently, we find an upper bound to the OFJSW problem by Algorithm UB1.
Algorithm UB1
S1. Index the jobs in their non-increasing order of wj/pj ratios.
S2. Let ft1, t2, . . . , tzg be the sequence of rj and dj values in chronological order with no
duplicates.
S3. Scan forward through time stopping at t1, t2, . . . , tz1. Let Sa be the set of jobs
processable in the interval ðta, taþ1Þ. For each interval, store the indices of the
minfm, jSajg processable jobs with highest-ratios in the list:
, a ¼ 1, . . . , z 1, ka ¼ 1, . . . , minfm, jSajg :
H ¼ haka
S4. While T040 and H6¼ ;:
Find:
and a0 ¼ arg min
j ¼ min haka
a
, a ¼ 1, . . . , z 1
haka
ka ¼ 1, . . . , minfm, jSajg;
If no machine is available in interval ½ta0 , ta0þ1Þ, do not schedule job j;
Else, assign job j to one of the available machines of the interval;
Set:
UB1 ¼ UB1 þ
min T0, ðta0þ1 ta0 Þ
pj
wj and T0 ¼ T0 ðta0þ1 taÞ
Remove j from list H.
The correctness proof of Algorithm UB1 can be done simply by standard job
interchange arguments and thus it is omitted. Theorem 5 below states the complexity
result.
Theorem 5: Algorithm UB1 runs in Oðmn log nÞ.
Proof: The relaxed problem reduces to a single machine problem with m overlaps at-a-
time, hence the solution procedure is merely an adaptation of Algorithm 1 for this case.
S1 requires sorting n values; this can be done in Oðn log nÞ. S2 requires sorting 2n values
(i.e., rj and dj, for j¼1, . . . , n) thus the complexity of S2 is Oðn log nÞ. In S3, we scan
forward through time stopping at t1, t2, . . . , to find the set of m processable jobs with
highest-ratios. It takes Oðmlog nÞ time to update this list every time we reach a new
ta (a¼1, . . . , z1), so the total run-time is Oðmn log nÞ. S4 re-scans the list at most 2mn1
times assigning the highest-ratio jobs. This process takes OðmnÞ time, as the availability
of machines can be checked in constant time (see the proof of Theorem 3). Hence,
the worst-case complexity of Algorithm UB1 is Oðmn log nÞþOðmnÞ, which reduces to
Oðmn log nÞ.
10. 6220 D.T. Eliiyi and M. Azizog˘lu
UB1 is the upper bound value found by Algorithm UB1. Another upper bound can be
found by simply ignoring the T-constraints. This relaxation reduces to the basic OFJS
problem. Bouzina and Emmons (1996) formulate this case as a minimum cost network
flow (MCNF) model, where the optimal solution can be found in O(n3) time (see Ahuja
et al. 1993). For a single machine, the optimal solution can be found by a longest path
algorithm. The results of our initial experiments have revealed that employing the MCNF
algorithm at each partial solution of the branch-and-bound algorithm is very time
consuming, i.e., the effort spent to calculate the bound has outweighed the savings
obtained through partial solution eliminations. However, we employ the longest path
algorithm and obtain satisfactory results when there is a single available machine in the
partial solution (due to the T-constraints). We hereafter let UB2 denote this second upper
bound value obtained by the longest path solution for a single available machine.
4.2.3 Lower bounds
The lower bounds can enhance the efficiency of the branch-and-bound procedure via
generating powerful initial feasible solutions. Algorithm LB below selects the best out of
three lower bounds constructed by simple greedy procedures.
Algorithm LB
S1.
(a) Index jobs in non-increasing order of wj/pj values.
(b) While satisfying T-constraints for k ¼ 1, . . . ,m:
For j ¼ 1, . . . , n:
If no machine is available during ½rj, dj , do not schedule job j;
Else assign job j to one of the available machines in the interval.
(c) Let LB1 be the resulting objective function value.
S2. Index jobs in their non-increasing order of wj values and perform step S1.b. LB2 is
the resulting objective function value.
S3. Index jobs in their non-decreasing order of pj values and perform step S1.b. LB3 is
the resulting objective function value.
S4. Set LB¼Max {LB1, LB2, LB3}.
4.2.4 Branch-and-bound algorithm
In our branch-and-bound (BB) procedure, we assume that the jobs are indexed in their
non-decreasing order of ready times. A node at level l corresponds to a partial solution in
which the decisions about the l jobs having the smallest ready times are set. For each node
emanating from level l, there are at most mþ1 decisions: one for rejecting job lþ1 and
one for processing job lþ1 on machine k, k ¼ 1, . . . ,m. The assignment to machine k is
feasible if the machine does not process any overlapping job and the assignment does not
violate the T-constraint.
When there is more than one machine with no job assignments, we increase the
efficiency of branching by considering only one empty machine to eliminate the
duplication of the partial sequences, as all machines are identical. Specifically, we
consider only the first machine for the first job, leaving only two decisions. If job 1 is
11. International Journal of Production Research 6221
rejected then there are two decisions for job 2: rejection or assignment to machine 1, as all
machines are empty. If job 1 is scheduled, there are three decisions for job 2: rejection,
assignment to machine 1 and assignment to machine 2. Similarly, for job l there are at
most min {m,l}þ1 alternatives, and if only R (5m) machines are in use then there are
Rþ2 decisions for job l: one for rejecting and one for assignment to machine k,
k¼1, . . . ,Rþ1. A depth-first strategy that introduces one job at a time to the partial
schedule is employed. The power of fathoming is increased in this strategy, since complete
solutions yielding early high-quality lower bounds are likely to be reached earlier. The
node having the maximum upper bound is selected for branching. The remaining nodes are
stored in a stack in non-increasing order of their upper bounds.
We first reduce the problem size by using the result of Property 3. We remove job i
from the partial solution if jSij m, where Si is the set of jobs that dominate job i. During
the BB procedure, we remove a job from consideration if its assignment to any machine
leads to an infeasible solution. We also remove a machine from consideration if no job can
be scheduled on it feasibly. We fathom the node representing the rejection of job i, if there
exists a scheduled job j such that wi4wj, rj ri and dj di (otherwise Property 1 is
violated). We fathom the node representing the rejection of job i if there exists a scheduled
job j such that wi ¼ wj, rj ri and dj di, with strict inequality holding at least once
(otherwise Property 2 is violated). We fathom the node representing the assignment of job j
to any machine if all jobs in Mj are already rejected (otherwise Property 4 is violated). If
there exists an unscheduled job i (such that pi pj), and no job k that satisfies
ri rk dk rj is scheduled, then job j such that ri5rj di5dj and wi4wj cannot be
scheduled on any machine (otherwise Property 5 is violated).
We find the initial lower bound by Algorithm LB. We also calculate a lower bound for
a partial schedule with a set of unassigned jobs, say U, when the total processing time of
unassigned jobs is no more than the slack of our surrogate constraint. That is, when P
j2U pj mT Pm
k¼1 Lk, where Lk is the load of machine k in the partial schedule. In
doing so, we update the machine available times and apply Algorithm LB to the jobs in set
U. If the solution produced by Algorithm LB contains all jobs in U, then the optimal
completion from the partial schedule is available, hence the node is not considered further.
We calculate an upper bound for a node if it cannot be fathomed by any of the above
conditions. If only a single machine remains available for further assignments, we use
minfUB1,UB2g as an upper bound. Otherwise we merely use UB1. The node is fathomed if
its upper bound is not greater than the best-known lower bound.
We update the best-known lower bound whenever a complete solution with a better
objective function value is reached.
4.3 Computational experiment
A computational experiment was designed for assessing the performance of the bounding
procedures and the branch-and-bound algorithm. Random test problems were generated
for n ¼ 20, 30, . . . , 100 jobs and m ¼ 2, 3, 4 machines. Our experimental setting is similar to
the one described in Fischetti et al. (1989). Two sets of ready times were generated; in the
first set (when r ¼ 1), ready times follow a discrete uniform distribution in the range
[0,200], while in the second set (r ¼ 2), a peak time distribution is considered where 30% of
the ready times are uniformly random in the range [30,40], 30% in the range [130,140] and
the remaining 40% in ranges [0,29], [41,129] and [141,200]. For each set, two uniform
12. 6222 D.T. Eliiyi and M. Azizog˘lu
distributions for processing times were utilised: [5,10] (p ¼ 1) and [5,40] (p ¼ 2). T¼50 is
used. Three weight sets were considered: wj ¼ pj (w ¼ 1), uniform in range [5,10] (the low
variability case, w ¼ 2) and [5,40] (the high variability case, w ¼ 3). Note that, when
wj ¼ pj, the objective reduces to the maximisation of the total processing time. Ten random
instances were generated for each problem combination.
All algorithms are coded in MS Visual Cþþ 6.0, and solved on a computer having
2.8GHz Pentium IV processor with 1GB memory. We impose a one-hour limit on the
central processing unit (CPU) time, i.e., the execution of the branch-and-bound algorithm
is terminated if it cannot reach an optimal solution in one hour.
We first investigate the performance of our lower and upper bounds. Table 1 and
Table 2 report the average and maximum root node lower bound and upper bound
deviations, expressed as a percentage of optimal objective values and the number of times
the bounds find optimal solutions for r ¼ 1 and r ¼ 2 settings, respectively. An empty
entry in the tables indicates that the algorithm could not return an optimal solution within
the one-hour time limit for any of the 10 problem instances. The lower and upper bounds
seem quite powerful. For r ¼ 1, the lower and upper bounding procedures yield respective
deviations of no more than 14% and 11% from the optimal solutions. For r ¼ 2, the
maximum respective deviations are 18% and 25%.
The average and maximum CPU times (in seconds) and the average and maximum
number of nodes for r ¼ 1 and r ¼ 2 are presented in Tables 3 and 4, respectively. The
numbers in parentheses are the numbers of instances that cannot be solved within the
termination limit. It can be seen that the p ¼ 1 case (low variability in processing times)
reduces the efficiency, as expected. This is because fewer node evaluations are necessary, as
the number of alternative machines becomes lower for longer processing times. The r ¼ 1
setting is easier than r ¼ 2 setting, as was hinted by the values in Tables 1 and 2. Note that
when r ¼ 1, the upper bound performances are better, reducing the CPU time. It can also
be observed that when wj ¼ pj, the problem becomes easier than the other two weight
settings. When the variability of the weights is higher, the change in the objective function
is higher with a minor change in the solution. This in turn causes frequent updates in the
best solution and increases the CPU time for the other two weight settings.
To see the effect of number of the machines on the CPU time and the percent
deviations more clearly, we perform some additional runs with six and eight machines for
20 to 70 jobs for r ¼ 1, p ¼ 2. Table 5 presents the results of the associated runs. The
exponential effect of the number of machines on the CPU time and the number of nodes
are quite obvious. However, as the number of machines increases our initial upper bound
seems to become better. This is because more jobs can be processed feasibly as m increases
for a given n, thereby decreasing the gap between the surrogate relaxation and the optimal
objective value.
5. Conclusions
This study considered the operational fixed job scheduling problem under working time
constraints. The objective was to maximise the total weight of the processed jobs. We
showed that the non pre-emptive problem is NP-hard in the strong sense. We settled the
complexity of several special cases and proposed a branch-and-bound algorithm for the
general problem. The branch and bound algorithm employs several efficient dominance
conditions between jobs and effective bounding mechanisms. We observed from the results
23. International Journal of Production Research 6233
of an extensive computational study that the algorithm returns optimal solutions for many
large-sized problem instances within one hour of CPU time.
Efficient approximation algorithms for larger-sized problem instances may be worth
studying as the problem has many practical applications and is likely to be solved
frequently, probably with a larger number of machines. Another further research area may
be the inclusion of the spread time constraints in this problem. The relationship between
working time and spread time constraints should be analysed in this case.
Acknowledgment
We thank the referees for their constructive comments that improved the clarity of the presentation.
References
Ahuja, R.K., Magnanti, T.L., and Orlin, J.B., 1993. Network flows: theory, algorithms and
applications. Englewood Cliffs, NJ: Prentice Hall.
Bouzina, K.I. and Emmons, H., 1996. Interval scheduling on identical machines. Journal of Global
Optimization, 9 (3–4), 379–393.
Eliiyi, D.T. and Azizog˘ lu, M., 2006. Spread time constraints in operational fixed job scheduling.
International Journal of Production Research, 44 (20), 4343–4365.
Faigle, U., Kern, W., and Nawijn, W.M., 1999. A greedy online algorithm for the k-track
assignment algorithm. Journal of Algorithms, 31 (1), 196–210.
Fischetti, M., Martello, S., and Toth, P., 1987. The fixed job schedule problem with spread-time
constraints. Operations Research, 35 (6), 849–858.
Fischetti, M., Martello, S., and Toth, P., 1989. The fixed job schedule problem with working-time
constraints. Operations Research, 37 (3), 395–403.
Fischetti, M., Martello, S., and Toth, P., 1992. Approximation algorithms for fixed job schedule
problems. Operations Research, 40 (51), S96–S108.
Garey, M.R. and Johnson, D.S., 1979. Computers and intractability: a guide to the theory of NP-completeness.
San Francisco, CA: Freeman.
Golumbic, M.C., 2004. Algorithmic graph theory and perfect graphs. Amsterdam: North Holland.
Jansen, K. and Ohring, S., 1997. Approximation algorithms for the time constrained scheduling.
Information and Computation, 132 (2), 85–108.
Kolen, A.J.W. and Kroon, L.G., 1991. On the computational complexity of (maximum) class
scheduling. European Journal of Operational Research, 54 (1), 23–38.
Kolen, A.W.J., et al., 2007. Interval scheduling: a survey. Naval Research Logistics, 54 (5), 530–543.
Kovalyov, M.Y., Ng, C.T., and Cheng, T.C.E., 2007. Fixed interval scheduling: models,
applications, computational complexity and algorithms. European Journal of Operational
Research, 178 (2), 331–342.
Kroon, L.G. 1990. Job scheduling and capacity planning in aircraft maintenance. Thesis (PhD).
Rotterdam School of Management, Erasmus University, The Netherlands.
Kroon, L.G., Salomon, M., and Van Wassenhove, L.N., 1995. Exact and approximation algorithms
for the operational fixed interval scheduling problem. European Journal of Operational
Research, 82 (1), 190–205.
Martello, S. and Toth, P., 1986. A heuristic approach to the bus driver scheduling problem.
European Journal of Operational Research, 24 (1), 106–117.
Spieksma, F.C.R., 1999. On the approximability of an interval scheduling problem. Journal of
Scheduling, 2 (5), 215–227.
Wolfe, W.J. and Sorensen, S.E., 2000. Three scheduling algorithms applied to the earth observing
systems domain. Management Science, 46 (1), 148–168.
24. Copyright of International Journal of Production Research is the property of Taylor Francis Ltd and its
content may not be copied or emailed to multiple sites or posted to a listserv without the copyright holder's
express written permission. However, users may print, download, or email articles for individual use.