Eliiyi working time
-
Upload
valeria-silveira -
Category
Documents
-
view
32 -
download
3
Transcript of Eliiyi working time
International Journal of Production ResearchVol. 48, No. 21, 1 November 2010, 6211–6233
Working time constraints in operational fixed job scheduling
Deniz Tursel Eliiyia and Meral Azizoglub*
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 underworking time limitations. The problem has several practical implications in bothproduction and service operations; however the relevant research is scarce. Weanalyse pre-emptive and non pre-emptive versions of the problem and its specialcases. We provide polynomial-time algorithms for some special cases. We showthat the non pre-emptive jobs problem is strongly NP-hard, and propose abranch-and-bound algorithm that employs efficient bounding procedures anddominance properties. We conduct a numerical experiment to observe the effectsof parameters on the quality of the solution. The results of our computationaltests for the branch-and-bound algorithm reveal that our algorithm can solve theinstances with up to 100 jobs in reasonable times. To the best of our knowledgeour branch-and-bound algorithm is the first optimisation attempt to solve theproblem.
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 taskswith specified weights, ready times and deadlines are to be processed on a number ofparallel 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. Theproblem 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 resourceavailability 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 serviceoperations such as maintenance scheduling, transportation systems and shift scheduling.Martello and Toth (1986), and Fischetti et al. (1987, 1992) consider the TFJS problem inscheduling of bus drivers. Kroon (1990), and Kroon et al. (1995) study both tactical andoperational versions of the problem in the assignment of incoming aircraft to gates and thecapacity planning of aircraft maintenance personnel. The OFJS problem may also beencountered 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: [email protected]
ISSN 0020–7543 print/ISSN 1366–588X online
� 2010 Taylor & Francis
DOI: 10.1080/00207540903289771
http://www.informaworld.com
data transmission (Faigle et al. 1999) and printed circuit board manufacturing (Spieksma1999).
Kovalyov et al. (2007) provide a thorough review on the applications and theory of theFJS problem. Another recent survey by Kolen et al. (2007) on FJS problems provides areview of the previous studies, presents proofs of some known results, and discussespotential application areas. The reader is referred to these survey articles for more detailedtheory and applications of the FJS problem.
In the basic FJS model, there are no restrictions on the capacity of the machines, andall machines are available at all times. However, the practical cases are often moresophisticated so that additional or more general constraints/parameters are needed; hencedifferent variants of the problem arise. One such variant in the literature involvesoperating time constraints on machines. Spread time and working time are two studiedforms of the operating time constraints. Spread time constraints impose an upper boundon the difference between the start time of the first operation and finish time of the lastoperation on any machine. The machine idle times are included in the spread time. TheTFJS problem with spread time constraints is studied by Fischetti et al. (1987, 1992) andthe OFJS problem with the spread time constraints is studied by Eliiyi and Azizoglu(2006). Working time constraints limit the actual operation time of each machine; nomachine is allowed to operate for more than T working time units. Consequently, theworking time of a machine is the sum of the processing times of the jobs scheduled onthat machine. Unlike spread time, it does not include the idle times of machines. Fischettiet al. (1989) report on a real life application of the bus driver scheduling problem withworking time constraints, where the drivers are not allowed to drive for more than eighthours in a day. The working time constraints may also find their applications inproduction environments where it may not be economical to operate some high precisionmachines more than some pre-specified time limit.
The research on the FJS problem with working time constraints is quite limited despiteits practical importance. To the best of our knowledge, there is a unique study on the OFJSproblem under working time constraints which is by Bouzina and Emmons (1996). Theauthors show that the problem of maximising the number of completed jobs ispolynomially solvable when pre-emption is allowed. The authors also prove that whenpre-emption is allowed the problem of maximising the weighted number of completed jobsis NP-hard in the ordinary sense, through transformation from the well-known binaryNP-hard knapsack problem (see Garey and Johnson 1979). There are two studies on thetactical problem by Fischetti et al. (1989, 1992). The authors deal with the bus driverscheduling problem with the objective of minimising the number of drivers necessary toperform all duties, where a driver cannot work for more than a given working time Tduring a day. The authors prove that the problem is NP-hard in the strong sense andpresent some polynomially solvable special cases (Fischetti et al. 1989). They present abranch-and-bound algorithm and observe its satisfactory performance on instancesgenerated close to the real-life situations. In their later study, Fischetti et al. (1992) providesome polynomial-time approximation algorithms for the problem.
In this study, we consider the OFJS problem with working time constraints and aim tomaximise the total weight of the processed jobs. Consequently, our study fills an importantgap in the FJS literature. The rest of the paper is organised as follows. We first present themathematical formulation of the OFJS problem with working time constraints (OFJSW)and provide the related literature. We then present our result settling the complexity of theproblem and analyse some polynomially solvable special cases of the pre-emptive problem.
6212 D.T. Eliiyi and M. Azizoglu
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,Pnj¼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:
MaximiseXmk¼1
Xnj¼1
wjxjk ð1Þ
subject to:
Xmk¼1
xjk � 1, j ¼ 1, . . . , n ð2Þ
Xj2Sa
xjk � 1, k ¼ 1, . . . ,m, a ¼ 1, 2, . . . , z� 1ð3Þ
Xnj¼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 0, 1f g, k ¼ 1, . . . ,m, j ¼ 1, . . . , n ð5Þ
International Journal of Production Research 6213
If the pre-emption of the jobs between machines, partial processing of the jobs or jobsplitting 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 thefollowing 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., jobsplitting, is not allowed. When a job is partially processed, its uncompleted part is simplydiscarded without occupying any machine’s capacity. For example, when job j is partiallyprocessed for p 0j 5 pj units, the weight gained is p 0j ðwj=pjÞ. We analyse two special casesthat 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 knapsacksolution. The algorithm assigns jobs, starting from the one with the highest weight/processing time ratio to the intervals within their processing window. It defines timeintervals 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 anassignment does not violate the T-constraint. Below is the stepwise description of thealgorithm.
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, . . . , tz�1. 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 H 6¼ ;:
Find:
j ¼ minfhag and a 0 ¼ argmina
haf g, a ¼ 1, . . . , z� 1:
Assign job j in interval ta 0 , ta 0þ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 2nvalues (i.e., rj and dj, for j¼ 1, . . . , n) thus the complexity of S2 is Oðn log nÞ. In S3, wescan forward through time stopping at t1, t2, . . . recording the processable job with the
6214 D.T. Eliiyi and M. Azizoglu
highest ratio. It takes Oðlog nÞ time to update this list every time we reach a new ta(a¼ 1, . . . , z�1), so the total run-time is Oðn log nÞ. S4 re-scans the list at most 2n�1 timesassigning the highest-ratio job. This process takes Oðn log nÞ time, as in S3. Hence, theworst-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 intervalseparately 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 withduplicates 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 minf Saj j,mg jobs, each to one machine.
The correctness of Algorithm 2 follows from that of Algorithm 1, as it is an adaptationof Algorithm 1 for jobs having equal weights per unit time. Theorem 2 states thecomplexity 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 mnintervals over all machines. Hence, the total running time of the algorithm isOð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 settlethe complexity of the problem.
When m¼ 1, the problem reduces to the single knapsack problem with conflicts withthe 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 ofthe items that are not allowed to be packed together into the knapsack. Also, consider aninstance of the OFJSW problem where wj ¼ aj, pj ¼ cj, T ¼ C and the jobs in sets Sa for allintervals a altogether form set E. The single knapsack problem with conflicts is stronglyNP-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 themaximum weighted independent set problem in an interval graph (Golumbic 2004).
For general m, the problem reduces to the bin packing problem with conflicts with thefollowing 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 thatconsists 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 thejobs in set Sa for all intervals a altogether form set E. The bin packing problem with
International Journal of Production Research 6215
conflicts is strongly NP-hard (see Jansen and Ohring 1997), so is our problem forgeneral m.
In the rest of this section, we examine some special polynomially solvable cases of theproblem 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. Foreach special case, we provide a polynomial time algorithm, prove that the algorithm solvesthis 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 innon-increasing order of their weights and assigns them to the machines until no more jobscan be processed without violating feasibility. Below is the stepwise description of thealgorithm.
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 interchangearguments 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 isavailable at time rj’ in S2 can be performed in constant time by simply considering for eachtime rj the number Mrj of available machines (initialising Mrj ¼ m for each rj, checking ifMrj 4 0, 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 sametime. The algorithm simply selects m highest-weighted jobs and assigns each to a differentmachine.
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 OFJSWproblem 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, letW be the sum of m highest weights.
6216 D.T. Eliiyi and M. Azizoglu
Clearly no higher weight than W can be achieved by any schedule, and Algorithm 4achieves W.
4.2 Optimisation procedure for the general problem
We propose a branch-and-bound (BB) algorithm to find the optimal schedule for the nonpre-emptive OFJSW problem. Our algorithm incorporates several reduction and boundingmechanisms. 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 optimalsolution. Properties 1, 2 and 3 are extended from Eliiyi and Azizoglu (2006) that aredeveloped for the OJFS problem with spread time constraints.
Property 1: If wj 4wi, ri � rj and di � dj then any optimal solution that includes job ishould also include job j.
The proof of Property 1 can be based on standard job-interchange arguments and istherefore omitted.
Property 2: If wj ¼ wi, ri � rj and di � dj with strict inequality holding at least once, thenthere 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 wj 4wi, 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 jobsthat 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 Sij j � 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 Azizoglu (2006), we generalise Properties 1 and 2 byconsidering the fact that there may exist a job that is dominated by a set of jobs, howevernot by a single job. We find this job set by the following procedure. Assume Di is the set ofjobs that can replace job i without altering any processing sequence, henceDi ¼ fj jrj � ri, dj � dig. Let Mi be the maximum weighted independent set formed bythe 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. Considera 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
International Journal of Production Research 6217
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 andP
j2Miwj 4wi, 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
j2Miwj�wi 4 0 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 ri 5 rj 5 di 5 dj, wi 4wj, 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:
ri rj djdi
ij
A
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 Zi 4Zj, as wi 4wj. Hence a solution that includes job j but
not job i cannot be optimal.
Property 6: If ri 5 rj 5 di 5 dj, wj 4wi, 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 jB
ri rj djdi
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 Zj 4Zi as wj 4wi, 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:
Xmk¼1
Xnj¼1
pjxjk � mT: ð7Þ
6218 D.T. Eliiyi and M. Azizoglu
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 Theorem5 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, . . . , tz�1. Let Sa be the set of jobs
processable in the interval ðta, taþ1Þ. For each interval, store the indices of the
minfm, Saj jg processable jobs with highest-ratios in the list:
H ¼ haka� �
, a ¼ 1, . . . , z� 1, ka ¼ 1, . . . , minfm, Saj jg :
S4. While T 04 0 and H 6¼ ;:
Find:
j ¼ min haka� �
and a 0 ¼ argmina
haka� �
, a ¼ 1, . . . , z� 1
ka ¼ 1, . . . , min m, Saj jf g;
If no machine is available in interval ½ta 0 , ta 0þ1Þ, do not schedule job j;Else, assign job j to one of the available machines of the interval;Set:
UB1 ¼ UB1 þmin T 0, ta 0þ1 � ta 0ð Þ
� �pj
wj and T 0 ¼ T 0 � ta 0þ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ðm log nÞ time to update this list every time we reach a new
ta (a¼ 1, . . . , z�1), so the total run-time is Oðmn log nÞ. S4 re-scans the list at most 2mn�1
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 Theorem3). Hence,
the worst-case complexity of Algorithm UB1 is Oðmn log nÞ þOðmnÞ, which reduces to
Oðmn log nÞ.
International Journal of Production Research 6219
UB1 is the upper bound value found by Algorithm UB1. Another upper bound can befound by simply ignoring the T-constraints. This relaxation reduces to the basic OFJSproblem. Bouzina and Emmons (1996) formulate this case as a minimum cost networkflow (MCNF) model, where the optimal solution can be found in O(n3) time (see Ahujaet al. 1993). For a single machine, the optimal solution can be found by a longest pathalgorithm. The results of our initial experiments have revealed that employing the MCNFalgorithm at each partial solution of the branch-and-bound algorithm is very timeconsuming, i.e., the effort spent to calculate the bound has outweighed the savingsobtained through partial solution eliminations. However, we employ the longest pathalgorithm and obtain satisfactory results when there is a single available machine in thepartial solution (due to the T-constraints). We hereafter let UB2 denote this second upperbound 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 viagenerating powerful initial feasible solutions. Algorithm LB below selects the best out ofthree 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 isthe resulting objective function value.
S3. Index jobs in their non-decreasing order of pj values and perform step S1.b. LB3 isthe 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 theirnon-decreasing order of ready times. A node at level l corresponds to a partial solution inwhich the decisions about the l jobs having the smallest ready times are set. For each nodeemanating from level l, there are at most mþ 1 decisions: one for rejecting job lþ 1 andone for processing job lþ 1 on machine k, k ¼ 1, . . . ,m. The assignment to machine k isfeasible if the machine does not process any overlapping job and the assignment does notviolate the T-constraint.
When there is more than one machine with no job assignments, we increase theefficiency of branching by considering only one empty machine to eliminate theduplication of the partial sequences, as all machines are identical. Specifically, weconsider only the first machine for the first job, leaving only two decisions. If job 1 is
6220 D.T. Eliiyi and M. Azizoglu
rejected then there are two decisions for job 2: rejection or assignment to machine 1, as allmachines 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 atmost min {m,l}þ 1 alternatives, and if only R (5m) machines are in use then there areRþ 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 partialschedule is employed. The power of fathoming is increased in this strategy, since completesolutions yielding early high-quality lower bounds are likely to be reached earlier. Thenode having the maximum upper bound is selected for branching. The remaining nodes arestored 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 ifrom the partial solution if Sij j � m, where Si is the set of jobs that dominate job i. Duringthe BB procedure, we remove a job from consideration if its assignment to any machineleads to an infeasible solution. We also remove a machine from consideration if no job canbe scheduled on it feasibly. We fathom the node representing the rejection of job i, if thereexists a scheduled job j such that wi 4wj, rj � ri and dj � di (otherwise Property 1 isviolated). We fathom the node representing the rejection of job i if there exists a scheduledjob 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 jto any machine if all jobs in Mj are already rejected (otherwise Property 4 is violated). Ifthere exists an unscheduled job i (such that pi � pj), and no job k that satisfiesri � rk � dk � rj is scheduled, then job j such that ri 5 rj � di 5 dj and wi 4wj cannot bescheduled on any machine (otherwise Property 5 is violated).
We find the initial lower bound by Algorithm LB. We also calculate a lower bound fora partial schedule with a set of unassigned jobs, say U, when the total processing time ofunassigned jobs is no more than the slack of our surrogate constraint. That is, whenP
j2U pj � mT�Pm
k¼1 Lk, where Lk is the load of machine k in the partial schedule. Indoing so, we update the machine available times and apply Algorithm LB to the jobs in setU. If the solution produced by Algorithm LB contains all jobs in U, then the optimalcompletion 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 aboveconditions. If only a single machine remains available for further assignments, we useminfUB1,UB2g as an upper bound. Otherwise we merely use UB1. The node is fathomed ifits upper bound is not greater than the best-known lower bound.
We update the best-known lower bound whenever a complete solution with a betterobjective function value is reached.
4.3 Computational experiment
A computational experiment was designed for assessing the performance of the boundingprocedures and the branch-and-bound algorithm. Random test problems were generatedfor n ¼ 20, 30, . . . , 100 jobs and m ¼ 2, 3, 4 machines. Our experimental setting is similar tothe one described in Fischetti et al. (1989). Two sets of ready times were generated; in thefirst 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% ofthe ready times are uniformly random in the range [30,40], 30% in the range [130,140] andthe remaining 40% in ranges [0,29], [41,129] and [141,200]. For each set, two uniform
International Journal of Production Research 6221
distributions for processing times were utilised: [5,10] (p ¼ 1) and [5,40] (p ¼ 2). T¼ 50 isused. Three weight sets were considered: wj ¼ pj (w ¼ 1), uniform in range [5,10] (the lowvariability case, w ¼ 2) and [5,40] (the high variability case, w ¼ 3). Note that, whenwj ¼ pj, the objective reduces to the maximisation of the total processing time. Ten randominstances were generated for each problem combination.
All algorithms are coded in MS Visual Cþþ 6.0, and solved on a computer having2.8GHz Pentium IV processor with 1GB memory. We impose a one-hour limit on thecentral processing unit (CPU) time, i.e., the execution of the branch-and-bound algorithmis terminated if it cannot reach an optimal solution in one hour.
We first investigate the performance of our lower and upper bounds. Table 1 andTable 2 report the average and maximum root node lower bound and upper bounddeviations, expressed as a percentage of optimal objective values and the number of timesthe bounds find optimal solutions for r ¼ 1 and r ¼ 2 settings, respectively. An emptyentry in the tables indicates that the algorithm could not return an optimal solution withinthe one-hour time limit for any of the 10 problem instances. The lower and upper boundsseem quite powerful. For r ¼ 1, the lower and upper bounding procedures yield respectivedeviations of no more than 14% and 11% from the optimal solutions. For r ¼ 2, themaximum respective deviations are 18% and 25%.
The average and maximum CPU times (in seconds) and the average and maximumnumber of nodes for r ¼ 1 and r ¼ 2 are presented in Tables 3 and 4, respectively. Thenumbers in parentheses are the numbers of instances that cannot be solved within thetermination 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, asthe number of alternative machines becomes lower for longer processing times. The r ¼ 1setting is easier than r ¼ 2 setting, as was hinted by the values in Tables 1 and 2. Note thatwhen r ¼ 1, the upper bound performances are better, reducing the CPU time. It can alsobe observed that when wj ¼ pj, the problem becomes easier than the other two weightsettings. When the variability of the weights is higher, the change in the objective functionis higher with a minor change in the solution. This in turn causes frequent updates in thebest 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 percentdeviations more clearly, we perform some additional runs with six and eight machines for20 to 70 jobs for r ¼ 1, p ¼ 2. Table 5 presents the results of the associated runs. Theexponential effect of the number of machines on the CPU time and the number of nodesare quite obvious. However, as the number of machines increases our initial upper boundseems to become better. This is because more jobs can be processed feasibly as m increasesfor a given n, thereby decreasing the gap between the surrogate relaxation and the optimalobjective value.
5. Conclusions
This study considered the operational fixed job scheduling problem under working timeconstraints. The objective was to maximise the total weight of the processed jobs. Weshowed that the non pre-emptive problem is NP-hard in the strong sense. We settled thecomplexity of several special cases and proposed a branch-and-bound algorithm for thegeneral problem. The branch and bound algorithm employs several efficient dominanceconditions between jobs and effective bounding mechanisms. We observed from the results
6222 D.T. Eliiyi and M. Azizoglu
Table
1.Lower
andupper
bounddeviationsatrootnodeforr¼1.
m¼2
m¼3
m¼4
(OPT-LB)/OPT
(%)
(UB-O
PT)/OPT
(%)
(OPT-LB)/OPT
(%)
(UB-O
PT)/OPT
(%)
(OPT-LB)/OPT
(%)
(UB-O
PT)/OPT
(%)
npw
Avg.
Max.
Avg.
Max.
#opt.*
Avg.
Max.
Avg.
Max.
#opt.
Avg.
Max.
Avg.
Max.
#opt.
20
11
3.00
7.00
0.00
0.00
12.20
4.03
0.42
2.90
30.00
0.00
0.30
2.96
10
22.81
6.15
1.03
2.52
22.02
6.08
0.84
2.88
40.00
0.00
0.50
2.88
10
30.74
2.17
1.64
3.54
31.71
3.95
0.62
3.59
20.00
0.00
0.00
0.00
10
21
3.40
13.00
0.00
0.00
15.13
14.00
0.00
0.00
04.32
8.63
0.25
1.52
12
4.24
8.77
4.14
7.46
16.01
10.53
3.30
6.58
07.25
13.98
3.41
10.81
13
3.83
13.44
4.55
8.63
26.13
11.69
2.47
7.17
05.06
8.51
2.85
6.16
0
30
11
2.30
5.00
0.00
0.00
21.80
3.33
0.00
0.00
02.45
5.00
0.20
1.52
12
2.68
6.14
0.34
0.88
12.96
5.45
0.17
0.60
03.00
4.93
0.67
1.48
03
2.86
5.68
1.64
6.75
01.55
3.26
1.25
3.27
20.88
2.37
0.41
0.98
221
1.30
4.00
0.00
0.00
42.07
4.00
0.00
0.00
22.45
9.50
0.00
0.00
22
3.46
7.04
3.34
6.33
25.33
9.78
1.79
5.43
17.12
9.82
1.58
4.31
03
3.78
7.60
2.02
4.29
24.12
8.97
2.23
4.92
05.97
8.66
2.34
6.50
0
40
11
1.50
3.00
0.00
0.00
31.93
3.33
0.00
0.00
21.80
4.50
0.51
2.04
22
2.32
5.04
0.67
1.63
02.07
3.59
0.37
1.60
0–
––
––
33.49
7.19
0.85
2.25
02.51
5.66
0.88
2.69
0–
––
––
21
2.00
5.00
0.00
0.00
32.67
6.67
0.00
0.00
12.70
9.50
0.00
0.00
02
5.02
10.71
2.40
6.58
05.93
11.21
0.91
2.75
16.00
9.09
0.63
2.63
03
3.75
7.97
2.81
6.03
15.16
9.54
1.29
4.62
06.15
8.64
0.66
1.36
0
50
11
1.90
4.00
0.00
0.00
21.53
2.67
0.00
0.00
22.05
4.00
0.25
2.04
12
3.08
5.81
0.55
1.49
03.00
6.00
0.15
0.54
0–
––
––
32.88
7.34
0.66
1.89
12.89
5.30
0.31
0.74
0–
––
––
21
1.30
3.00
0.00
0.00
41.67
3.33
0.00
0.00
00.85
2.00
0.00
0.00
22
5.36
12.90
0.74
3.95
15.56
8.74
0.60
1.72
05.12
9.02
0.79
2.14
03
4.73
11.30
2.03
3.56
14.72
8.87
1.83
3.29
14.24
7.71
0.90
1.81
0
60
11
1.10
3.00
0.00
0.00
21.67
4.67
0.00
0.00
30.60
1.52
0.92
3.09
42
2.54
5.52
0.20
0.66
22.28
4.05
0.21
1.59
0–
––
––
33.15
6.17
0.54
1.35
13.70
5.36
0.17
0.56
0–
––
––
21
1.10
4.00
0.00
0.00
51.07
3.33
0.00
0.00
31.40
3.00
0.00
0.00
22
2.81
8.00
2.11
4.17
15.21
10.83
0.73
3.33
05.87
8.61
0.28
0.71
03
2.81
5.78
2.30
5.31
25.14
8.10
1.12
4.38
04.79
7.71
0.66
1.75
0
(continued
)
International Journal of Production Research 6223
Table
1.Continued.
m¼2
m¼3
m¼4
(OPT-LB)/OPT
(%)
(UB-O
PT)/OPT
(%)
(OPT-LB)/OPT
(%)
(UB-O
PT)/OPT
(%)
(OPT-LB)/OPT(%
)(U
B-O
PT)/OPT
(%)
npw
Avg.
Max.
Avg.
Max.
#opt.*
Avg.
Max.
Avg.
Max.
#opt.
Avg.
Max.
Avg.
Max.
#opt.
7011
0.50
3.00
0.00
0.00
71.47
3.33
0.00
0.00
11.15
2.50
0.36
2.04
32
2.69
5.44
0.54
1.36
02.56
4.29
0.00
0.00
0–
––
––
33.51
7.06
0.49
1.65
03.03
3.85
0.20
0.42
0–
––
––
21
0.60
2.00
0.00
0.00
60.73
2.00
0.00
0.00
30.80
2.50
0.00
0.00
42
3.82
8.82
1.81
5.05
15.13
11.58
0.62
2.21
15.24
9.42
0.60
1.81
03
3.10
7.14
0.87
3.79
13.99
8.08
0.58
1.14
05.04
11.62
0.77
1.69
0
8011
0.00
0.00
0.00
0.00
10
1.47
4.00
0.00
0.00
21.25
3.00
0.30
1.52
42
2.30
4.17
0.82
1.33
13.28
5.94
0.18
0.86
0–
––
––
33.45
6.79
0.52
1.40
02.31
3.58
0.18
1.37
0–
––
––
21
0.80
4.00
0.00
0.00
70.87
2.67
0.00
0.00
30.65
2.50
0.00
0.00
42
3.53
5.93
0.96
2.17
14.55
8.26
0.93
2.63
05.38
8.43
0.28
1.06
03
3.93
6.69
1.96
4.00
13.38
7.97
0.60
1.14
03.35
5.29
0.38
0.78
0
9011
0.00
0.00
0.00
0.00
10
1.20
2.00
0.00
0.00
10.55
1.50
0.36
2.04
42
2.61
4.67
0.31
0.66
13.05
4.63
0.23
0.99
0–
––
––
32.44
4.49
0.64
1.84
02.80
5.13
0.43
1.29
0–
––
––
21
0.10
1.00
0.00
0.00
90.93
3.33
0.00
0.00
40.80
3.50
0.00
0.00
32
1.70
4.13
1.67
4.08
43.49
7.44
0.37
0.83
04.55
8.44
0.48
1.16
03
2.90
7.08
1.63
4.75
14.41
7.62
0.85
2.57
13.91
7.00
0.63
2.41
0
10011
0.00
0.00
0.00
0.00
10
0.40
2.00
0.00
0.00
60.90
2.50
0.25
1.52
32
3.41
5.06
0.50
0.64
02.35
4.18
0.18
0.47
2–
––
––
32.94
5.65
0.70
1.80
02.16
4.44
0.28
0.86
0–
––
––
21
0.00
0.00
0.00
0.00
10
0.20
0.67
0.00
0.00
70.60
2.00
0.00
0.00
42
2.86
6.93
0.63
1.90
23.73
8.63
0.46
1.87
04.49
6.67
0.17
0.57
03
2.32
4.28
1.62
3.91
13.86
7.01
0.67
1.23
03.74
7.60
0.32
0.85
0
Note:*Frequency
offindingoptimalsolutions(outof10instances).
6224 D.T. Eliiyi and M. Azizoglu
Table
2.Lower
andupper
bounddeviationsatrootnodeforr¼2.
m¼2
m¼3
m¼4
(OPT-LB)/OPT
(%)
(UB-O
PT)/OPT
(%)
(OPT-LB)/OPT
(%)
(UB-O
PT)/OPT
(%)
#opt.
(OPT-LB)/OPT
(%)
(UB-O
PT)/OPT
(%)
np
wAvg.
Max.
Avg.
Max.
#opt.*
Avg.
Max.
Avg.
Max.
Avg.
Max.
Avg.
Max.
#opt.
20
11
3.87
10.64
4.52
25.45
33.12
8.96
7.47
15.24
40.95
3.92
4.08
8.00
72
2.55
6.73
8.42
19.59
21.98
5.13
10.33
17.00
40.51
5.08
8.93
17.48
93
1.48
9.56
12.81
23.45
61.58
5.83
7.81
15.79
60.33
1.97
4.30
19.65
82
14.60
14.00
0.00
0.00
11.80
4.00
0.07
0.67
24.45
10.00
0.10
1.01
02
6.46
12.00
9.40
15.79
16.31
10.75
5.14
13.70
04.97
8.70
6.68
20.25
13
5.25
10.16
4.96
10.40
14.65
13.00
3.62
6.21
15.72
11.03
3.69
6.83
0
30
11
2.20
7.00
0.00
0.00
25.17
12.08
1.85
10.83
03.81
11.31
7.49
14.86
32
3.30
5.88
3.55
10.34
02.96
6.75
7.95
19.35
11.68
3.98
11.87
19.08
43
2.81
4.91
8.73
18.36
11.95
3.54
6.84
14.56
01.43
3.32
7.25
12.70
12
11.60
4.00
0.00
0.00
22.67
5.33
0.00
0.00
04.15
12.00
0.00
0.00
02
6.31
11.67
7.40
20.75
09.26
16.09
4.40
8.75
07.50
11.86
2.14
3.77
03
4.93
13.33
10.62
17.73
14.71
9.92
6.34
15.15
26.32
9.64
5.66
12.46
0
40
11
2.40
4.00
0.00
0.00
12.45
5.67
1.06
6.38
12.61
5.50
2.76
7.53
22
2.43
4.27
3.80
9.40
14.83
9.04
4.00
9.04
04.16
6.33
5.45
9.91
03
3.54
6.48
5.17
8.80
14.35
8.25
9.86
21.32
03.24
7.50
6.25
11.87
02
12.10
5.00
0.00
0.00
11.13
3.33
0.00
0.00
22.40
4.00
0.00
0.00
12
6.56
13.51
5.70
12.99
06.93
13.19
3.90
7.69
06.91
11.21
3.43
7.89
03
5.49
11.57
8.72
19.72
16.82
14.98
4.03
7.72
15.86
9.46
2.68
7.53
0
50
11
1.90
5.00
0.00
0.00
12.20
3.33
0.00
0.00
01.52
7.65
1.91
10.50
52
4.12
7.75
4.67
8.80
04.47
11.23
3.15
5.24
0–
––
––
32.78
5.84
3.78
6.78
03.21
6.74
4.31
10.91
0–
––
––
21
1.00
4.00
0.00
0.00
41.20
3.33
0.00
0.00
22.15
4.50
0.00
0.00
02
5.10
10.64
5.44
11.59
17.06
10.78
4.03
9.28
05.16
11.72
3.52
6.50
03
4.74
10.80
5.98
20.49
36.35
10.30
5.64
10.88
05.87
8.32
3.56
6.47
0
60
11
1.50
4.00
0.00
0.00
22.27
3.33
0.00
0.00
01.40
3.00
0.82
3.09
22
3.02
9.68
3.56
6.87
13.34
4.52
2.69
5.29
0–
––
––
33.82
7.49
4.00
8.26
12.61
4.23
3.97
6.76
0–
––
––
21
0.60
1.00
0.00
0.00
40.73
2.67
0.00
0.00
41.65
4.00
0.00
0.00
22
6.56
13.64
4.97
12.12
07.50
10.19
5.21
13.68
05.91
9.36
3.83
7.25
03
3.83
11.89
6.04
19.22
15.95
9.32
5.57
12.50
05.02
8.28
2.76
6.12
0
(continued
)
International Journal of Production Research 6225
Table
2.Continued.
m¼2
m¼3
m¼4
(OPT-LB)/OPT
(%)
(UB-O
PT)/OPT
(%)
(OPT-LB)/OPT
(%)
(UB-O
PT)/OPT
(%)
#opt.
(OPT-LB)/OPT
(%)
(UB-O
PT)/OPT
(%)
np
wAvg.
Max.
Avg.
Max.
#opt.*
Avg.
Max.
Avg.
Max.
Avg.
Max.
Avg.
Max.
#opt.
70
11
1.20
3.00
0.00
0.00
42.47
4.67
0.00
0.00
01.31
3.50
0.91
2.56
32
2.55
5.30
2.30
5.19
04.22
6.45
2.85
6.45
0–
––
––
33.64
6.69
2.68
6.39
02.61
4.65
3.09
6.20
0–
––
––
21
0.60
2.00
0.00
0.00
70.87
6.00
0.00
0.00
60.90
2.00
0.00
0.00
22
5.46
9.64
6.29
10.77
06.71
18.18
4.39
17.27
06.54
10.14
3.95
7.19
03
3.86
10.03
5.98
9.89
15.83
7.99
2.24
6.76
06.02
8.60
1.91
5.02
0
80
11
1.30
3.00
0.00
0.00
31.53
3.33
0.00
0.00
01.80
4.00
0.41
2.04
12
3.38
6.54
1.94
3.40
03.33
5.29
2.16
4.09
0–
––
––
32.75
4.64
2.34
4.43
02.84
5.94
2.70
5.42
0–
––
––
21
0.90
2.00
0.00
0.00
30.67
2.00
0.00
0.00
31.20
3.50
0.00
0.00
22
4.90
10.23
6.33
10.48
06.82
11.86
4.74
11.21
06.40
9.09
3.09
7.88
03
2.96
4.89
4.57
13.42
24.77
8.07
6.16
11.06
05.11
9.28
2.58
5.85
0
90
11
1.00
2.00
0.00
0.00
31.67
4.67
0.00
0.00
21.45
3.50
0.56
2.56
32
3.15
4.67
2.66
5.04
02.70
5.74
2.19
4.76
0–
––
––
32.53
5.69
3.30
5.44
13.73
5.50
2.81
6.09
0–
––
––
21
0.60
4.00
0.00
0.00
70.60
2.00
0.00
0.00
50.30
1.00
0.00
0.00
52
4.45
11.24
5.28
13.48
14.95
11.40
3.02
10.71
15.69
10.53
3.71
8.19
03
4.78
10.06
4.99
19.53
04.62
7.18
4.78
6.81
04.88
8.85
2.98
6.78
0
100
11
1.10
4.00
0.00
0.00
51.47
3.33
0.00
0.00
21.31
2.04
0.72
3.09
02
3.50
6.54
1.78
3.87
04.00
7.14
2.02
3.57
0–
––
––
32.81
5.83
2.50
4.04
12.62
5.08
3.40
8.13
0–
––
––
21
0.80
4.00
0.00
0.00
61.13
4.00
0.00
0.00
20.60
2.00
0.00
0.00
42
3.10
4.26
3.51
7.76
16.44
12.12
3.57
5.65
06.28
8.23
4.73
9.49
03
3.59
7.92
5.45
9.66
05.53
9.98
3.46
11.74
03.40
4.85
3.76
5.21
0
Note:*Frequency
offindingoptimalsolutions(outof10instances).
6226 D.T. Eliiyi and M. Azizoglu
Table
3.Branch-and-boundperform
ance
forr¼1.
m¼2
m¼3
m¼4
CPU
time(sec.)
#ofnodes
CPU
time
#ofnodes
CPU
time
#ofnodes
np
wAvg.
Max.
Avg.
Max.
Avg.
Max.
Avg.
Max.
Avg.
Max.
Avg.
Max.
20
11
0.04
0.28
2255
14,751
1.12
4.47
61,905
236,514
12.08
120.84
455,175
4,551,746
20.03
0.17
1704
9384
2.17
11.03
130,228
669,221
0.00
0.00
14
30.03
0.06
1357
3264
7.35
56.92
332,563
2,384,084
0.00
0.00
00
21
0.01
0.03
547
1713
0.32
1.98
14,843
88,113
1.26
4.39
67,434
260,438
20.01
0.02
254
762
0.03
0.05
907
2336
0.17
0.42
8200
22,063
30.01
0.05
266
1113
0.03
0.08
1409
4602
0.07
0.33
3130
15,714
30
11
0.08
0.47
3437
22,349
2.19
12.34
106,510
602,532
963.05(2)
3600.00
47,706,930
188,082,533
20.10
0.78
5465
41,529
37.14
277.77
1,991,300
14,838,614
2520.02(7)
3600.00
116,987,251
187,180,706
30.15
0.52
8170
28,359
336.67
2418.14
17,043,266
125,146,611
2881.15(7)
3600.00
138,628,253
181,540,361
21
0.01
0.03
277
1033
0.14
0.66
6632
31,344
4.40
32.67
184,036
1,357,997
20.02
0.05
862
1713
0.13
0.77
6101
38,496
2.24
9.89
95,917
408,137
30.02
0.05
701
1982
0.10
0.39
4813
19,861
0.79
3.72
35,488
176,688
40
11
0.06
0.17
2524
7446
3.27
13.31
131,369
537,121
1533.50(4)
3600.00
59,914,293
149,620,847
20.44
3.45
20,766
160,614
93.57
492.23
3,894,037
19,982,092
––
––
30.28
1.80
14,339
94,792
249.13
1892.11
10,656,156
82,029,375
––
––
21
0.01
0.03
283
897
0.36
1.06
13,061
36,880
11.76
99.72
421,261
3,509,020
20.04
0.08
1386
3067
0.71
1.84
26,221
72,336
6.40
30.22
243,168
1,119,148
30.04
0.17
1639
8004
0.41
1.53
16,697
67,787
4.30
27.22
175,171
1,135,865
50
11
0.06
0.17
2540
7079
3.07
22.09
113,939
843,035
1165.81(2)
3600.00
40,755,533
123,408,814
21.81
16.05
82,142
725,648
318.68
945.11
12,820,574
39,482,886
––
––
30.38
2.52
17,244
115,344
276.46
1286.64
11,493,919
49,969,862
––
––
21
0.03
0.14
976
6204
0.20
0.81
7179
30,927
14.81
51.42
503,061
1,719,003
20.02
0.05
554
1738
0.58
1.89
22,576
77,077
44.96
198.92
1,543,412
6,903,348
30.05
0.14
2011
6037
0.59
2.09
22,931
81,819
7.95
25.31
288,802
919,564
60
11
0.04
0.06
1228
2515
13.49
73.09
443,468
2,366,539
1779.68(4)
3600.00
53,837,505
115,986,396
20.26
0.88
11,090
38,892
739.94(1)
3600.00
27,273,438
129,892,759
––
––
30.71
3.44
30,117
148,358
773.43(1)
3600.00
29,729,577
138,196,738
––
––
21
0.01
0.06
387
2167
0.28
1.31
10,114
49,123
8.97
31.78
271,624
977,645
20.08
0.27
3199
11,431
0.91
1.56
34,334
63,447
125.84
807.06
4,185,758
27,441,930
30.05
0.20
2190
7807
1.36
6.38
49,788
235,553
80.90
361.25
2,584,951
11,979,150
(continued
)
International Journal of Production Research 6227
Table
3.Continued.
m¼2
m¼3
m¼4
CPU
time(sec.)
#ofnodes
CPU
time
#ofnodes
CPU
time
#ofnodes
np
wAvg.
Max.
Avg.
Max.
Avg.
Max.
Avg.
Max.
Avg.
Max.
Avg.
Max.
70
11
0.05
0.22
1618
8113
27.05
248.58
772,443
7,012,419
750.06(2)
3600.00
21,208,634
101,877,972
20.52
2.72
20,630
105,039
32.68
184.49
1,083,869
6,002,817
––
––
31.11
4.20
44,356
167,444
718.71(1)
3600.00
25,756,284
132,163,848
––
––
21
0.02
0.09
683
2,751
0.49
1.53
16,098
47,114
8.20
38.58
236,023
1,146,168
20.13
0.45
5273
17,519
4.11
17.78
142,954
622,702
73.13
483.73
2,157,757
14,365,845
30.06
0.19
2069
6950
2.76
12.41
99,147
463,961
165.67
1013.55
4,759,861
29,319,246
80
11
0.00
0.00
00
35.59
231.00
1,069,718
6,892,184
1286.10(3)
3600.00
33,229,105
100,026,328
24.84
27.77
196,588
1,142,307
360.22
3056.53
11,851,756
101,496,713
––
––
32.75
12.49
105,645
469,581
363.40
1087.00
12,030,410
37,132,849
––
––
21
0.00
0.02
101
619
0.16
0.52
4391
15,272
5.26
19.94
136,086
510,438
20.06
0.20
2338
7881
47.60
457.55
1,610,061
15,493,529
1025.06(2)
3600.00
30,348,360
111,404,924
30.08
0.19
3006
7498
2.48
6.52
79,249
208,546
84.36
267.52
2,432,865
8,414,521
90
11
0.00
0.00
00
26.69
222.14
812,143
6,811,096
1280.50(2)
3600.00
31,361,953
87,459,048
23.04
12.17
113,407
458,314
1257.52(3)
3600.00
38,198,267
114,949,812
––
––
35.76
37.47
218,731
1,441,512
2095.43(4)
3600.00
64,554,775
112,365,762
––
––
21
0.00
0.03
52
523
0.40
2.50
11,014
71,299
32.49
223.33
803,980
5,508,533
20.33
1.58
12,742
60,096
6.33
42.56
194,613
1,270,281
256.57
870.69
6,758,644
22,420,936
30.15
0.31
5685
11,722
18.14
132.03
579,628
4,217,326
551.73(1)
3600.00
14,376,542
93,323,439
100
11
0.00
0.00
00
12.76
70.27
327,346
1,759,495
930.96(2)
3600.00
21,675,000
86,433,080
25.87
27.09
191,442
884,784
494.09(1)
3600.00
13,987,574
105,322,481
––
––
321.07
129.66
680,606
4,241,219
1756.85(3)
3600.00
47,757,270
103,131,644
––
––
21
0.00
0.00
00
0.93
7.75
23,428
194,441
1.73
13.77
37,434
297,511
20.08
0.33
2845
11,743
4.02
19.33
112,163
496,219
443.78
2871.89
10,341,580
67,096,572
30.10
0.44
3395
14,913
7.31
23.89
206,110
699,688
1059.38(2)
3600.00
25,576,680
89,482,565
Note:*Thenumbersin
parentheses
givethenumber
ofinstancesthatcannotbesolved
inonehour.
6228 D.T. Eliiyi and M. Azizoglu
Table
4.Branch-and-boundperform
ance
forr¼2.
m¼2
m¼3
m¼4
CPU
time(sec.)
#ofnodes
CPU
time
#ofnodes
CPU
time
#ofnodes
np
wAvg.
Max.
Avg.
Max.
Avg.
Max.
Avg.
Max.
Avg.
Max.
Avg.
Max.
20
11
0.04
0.13
1701
5802
3.77
13.22
152,248
546,482
16.56
91.64
613,899
3,455,385
20.06
0.19
2553
8428
1.42
11.61
61,085
510,281
17.87
108.38
675,444
3,980,648
30.03
0.08
1383
3134
1.10
4.77
43,538
194,579
4.77
23.69
177,641
894,889
21
0.01
0.03
652
1591
0.08
0.19
3680
9839
1.17
3.48
60,556
196,063
20.01
0.02
216
818
0.04
0.22
1953
11,715
0.16
1.13
7806
56,904
30.01
0.02
211
395
0.02
0.06
751
3968
0.04
0.09
1705
4496
30
11
0.05
0.34
2490
17,059
36.08
112.66
1,509,165
4,431,131
1984.63(3)
3600.00
64,845,823
122,148,892
20.35
1.08
17,938
54,897
84.89
457.11
3,808,246
19,970,149
1385.93(3)
3600.00
44,959,175
122,209,269
30.23
0.63
11,401
32,706
96.39
757.00
4,221,202
33,053,703
1588.04(1)
3600.00
51,829,897
117,327,504
21
0.01
0.03
368
1230
0.28
2.14
12,298
93,744
5.46
28.70
229,401
1,130,915
20.01
0.03
415
1254
0.09
0.34
4015
15,300
0.33
1.86
13,837
75,895
30.02
0.05
734
1869
0.12
0.48
5611
24,370
0.65
3.24
27,776
141,041
40
11
0.07
0.22
2581
9099
370.78(1)
3600.00
13,314,187
129,205,355
2453.74(5)
3600.00
79,957,005
130,434,318
20.75
3.11
32,930
133,484
640.87(1)
3600.00
25,732,711
144,011,865
2720.42(7)
3600.00
92,314,270
129,202,858
31.16
4.14
54,772
209,455
884.82(1)
3600.00
33,919,851
140,469,090
3069.20(8)
3600.00
105,064,084
147,289,758
21
0.05
0.13
2194
5452
0.23
0.77
8871
29,665
3.87
22.13
141,709
794,474
20.02
0.08
838
4435
0.64
4.23
26,450
171,383
1.73
7.25
67,835
281,170
30.03
0.14
1336
6437
0.55
1.64
22,566
67,021
6.82
25.08
243,521
872,498
50
11
0.11
0.52
4008
20,094
13.31
67.66
450,065
2,185,537
2691.28(7)
3600.00
79,566,263
113,804,538
22.40
7.11
105,903
331,529
698.90(1)
3600.00
25,968,710
132,816,308
––
––
32.02
8.39
91,900
370,013
1122.13(2)
3600.00
41,736,065
133,008,494
––
––
21
0.02
0.08
631
3636
0.60
4.28
23,381
172,457
7.85
37.80
256,636
1,160,066
20.04
0.08
1707
3396
1.72
9.53
69,934
393,340
8.87
29.53
306,621
1,058,260
30.08
0.66
3453
28,351
0.94
4.06
36,893
154,758
34.31
259.44
1,182,937
9,003,661
60
11
0.28
0.92
9802
30,220
23.96
145.02
785,185
4,909,083
1832.69(5)
3600.00
52,629,602
104,730,240
24.22
16.63
153,300
548,784
1479.43(2)
3600.00
54,027,089
130,330,895
––
––
39.21
40.34
376,500
1,615,600
1356.94(3)
3600.00
48,640,324
129,454,562
––
––
21
0.03
0.17
1086
5799
1.07
5.52
36,551
189,688
9.19
65.88
264,184
1,852,513
20.06
0.14
2216
5717
8.43
75.38
314,613
2,799,067
65.54
262.58
2,091,232
8,318,734
30.08
0.22
3061
9174
1.81
7.13
67,694
250,811
39.23
258.72
1,227,167
7,800,135
(continued
)
International Journal of Production Research 6229
Table
4.Continued.
m¼2
m¼3
m¼4
CPU
time(sec.)
#ofnodes
CPU
time
#ofnodes
CPU
time
#ofnodes
np
wAvg.
Max.
Avg.
Max.
Avg.
Max.
Avg.
Max.
Avg.
Max.
Avg.
Max.
70
11
0.22
1.48
7910
55,217
34.61
279.78
1,003,681
8,023,430
2425.63(6)
3600.00
64,446,746
111,486,609
21.33
4.11
55,543
183,369
2045.36(5)
3600.00
67,746,358
133,064,064
––
––
31.70
8.19
68,507
325,967
1548.08(2)
3600.00
52,444,156
124,535,445
––
––
21
0.01
0.05
241
1876
0.40
2.74
11,923
81,741
11.84
55.47
326,960
1,536,813
20.09
0.19
3859
7696
1.56
9.97
58,156
375,302
143.98
982.38
4,233,507
28,324,634
30.17
1.03
7365
47,836
3.18
24.31
101,803
746,412
13.90
66.14
406,962
1,855,022
80
11
0.98
4.70
32,375
152,709
16.24
133.14
471,083
3,866,467
1194.81(3)
3600.00
31,555,975
104,083,969
25.39
38.64
204,012
1,444,332
1832.13(4)
3600.00
59,440,138
122,309,899
––
––
33.01
13.19
120,631
522,196
1160.48(2)
3600.00
37,419,184
116,600,539
––
––
21
0.02
0.08
738
2578
3.04
28.00
83,888
771,519
8.19
35.89
209,135
888,639
20.33
1.13
14,540
51,526
17.93
136.00
643,799
4,968,803
502.68
2200.52
14,824,632
59,611,463
30.07
0.25
2761
9900
31.62
248.97
1,164,729
9,145,666
171.11
947.38
4,808,975
26,731,680
90
11
0.23
1.00
7516
34,307
6.45
20.86
172,628
574,275
1755.49(3)
3600
41751941.5
92,437,815
22.80
8.95
113,809
362,239
1985.26(4)
3600.00
57,547,364
109,787,871
––
––
321.42
192.06
801,850
7,157,069
1684.64(3)
3600.00
53,435,972
118,592,306
––
––
21
0.03
0.16
797
4683
0.68
3.47
18,958
96,387
19.57
188.53
463,451
4,454,333
20.23
0.78
9665
33,852
95.01
864.08
3,361,004
30,621,360
1007.54(2)
3600.00
27,289,946
100,966,740
30.79
6.75
33,353
288,005
27.94
126.33
961,168
4,397,512
205.05
829.06
5,467,257
21,805,707
100
11
2.09
18.28
58,700
513,324
51.05
306.69
1,298,562
7,873,267
1509.23(4)
3600.00
32,669,626
79,635,312
24.68
30.34
151,832
959,209
1676.45(4)
3600.00
46,800,843
105,133,712
––
––
317.96
91.80
626,062
3,181,592
2614.42(6)
3600.00
72,376,520
101,598,681
––
––
21
0.04
0.23
835
4628
0.99
6.19
24,084
150,273
3.65
19.61
80,760
433,583
20.37
2.56
13,325
89,576
36.55
208.45
1,169,569
6,884,457
1890.09(3)
3600.00
47,173,985
96,236,669
30.23
0.69
9074
27,417
97.45
879.31
2,991,230
27,053,844
1830.76(4)
3600.00
43,822,443
95,097,436
Note:*Thenumbersin
parentheses
givethenumber
ofinstancesthatcannotbesolved
inonehour.
6230 D.T. Eliiyi and M. Azizoglu
Table
5.Effectofm
onbranch-and-boundperform
ance
(r¼1,p¼2).
n¼20
n¼30
CPU
time(sec.)
#of
nodes
(OPT-LB)/
OPT(%
)(U
B-O
PT)/
OPT(%
)CPU
time
#of
nodes
(OPT-LB)/
OPT(%
)(U
B-O
PT)/
OPT(%
)
mw
Avg.
Max.
Avg.
Max.
Avg.Max.Avg.
Max.
Avg.
Max.
Avg.
Max.
Avg.Max.Avg.
Max.
21
0.01
0.03
547
1713
3.40
13.00
0.00
0.00
0.01
0.03
277
1033
1.30
4.00
0.00
0.00
20.01
0.02
254
762
4.24
8.77
4.14
7.46
0.02
0.05
862
1713
3.46
7.04
3.34
6.33
30.01
0.05
266
1113
3.83
13.44
4.55
8.63
0.02
0.05
701
1982
3.78
7.60
2.02
4.29
41
1.26
4.39
67,434
260,438
4.32
8.63
0.25
1.52
4.40
32.67
184,036
1,357,997
2.45
9.50
0.00
0.00
20.17
0.42
8200
22,063
7.25
13.98
3.41
10.81
2.24
9.89
95,917
408,137
7.12
9.82
1.58
4.31
30.07
0.33
3130
15,714
5.06
8.51
2.85
6.16
0.79
3.72
35,488
176,688
5.97
8.66
2.34
6.50
61
32.36
123.84
1,396,462
5,322,328
4.06
12.33
1.09
2.74
877.04(1)3600.0033,612,267140,644,420
3.77
11.00
0.03
0.33
20.98
5.34
43,996
237,480
5.69
8.73
1.92
4.35
23.33
78.39
837,681
2,903,934
7.55
9.93
0.70
1.45
30.82
4.63
36,149
205,950
3.78
8.40
2.93
9.25
17.93
80.63
708,896
3,463,208
4.29
6.39
1.71
3.17
81
48.76
237.14
1,840,429
10,039,399
2.76
8.77
3.60
14.29
2749.69(6)3600.0086,141,854137,849,126
3.77
7.75
0.48
2.04
22.67
16.78
112,125
747,403
3.98
8.15
2.18
7.20
1178.06(3)3600.0035,109,303109,556,513
5.63
9.93
1.23
1.83
34.34
31.56
152,596
1,058,180
1.95
4.76
2.78
7.73
544.29(1)3600.0017,690,621120,554,552
5.08
7.96
1.40
3.08
n¼40
n¼50
CPU
time(sec.)
#of
nodes
(OPT-LB)/
OPT(%
)(U
B-O
PT)/
OPT(%
)CPU
time
#of
nodes
(OPT-LB)/
OPT(%
)(U
B-O
PT)/
OPT(%
)
mw
Avg.
Max.
Avg.
Max.
Avg.Max.Avg.
Max.
Avg.
Max.
Avg.
Max.
Avg.Max.Avg.
Max.
21
0.01
0.03
283
897
2.00
5.00
0.00
0.00
0.03
0.14
976
6204
1.30
3.00
0.00
0.00
20.04
0.08
1386
3067
5.02
10.71
2.40
6.58
0.02
0.05
554
1738
5.36
12.90
0.74
3.95
30.04
0.17
1639
8004
3.75
7.97
2.81
6.03
0.05
0.14
2011
6037
4.73
11.30
2.03
3.56
41
11.76
99.72
421,261
3,509,020
2.70
9.50
0.00
0.00
14.81
51.42
503,061
1,719,003
0.85
2.00
0.00
0.00
26.40
30.22
243,168
1,119,148
6.00
9.09
0.63
2.63
44.96
198.92
1,543,412
6,903,348
5.12
9.02
0.79
2.14
34.30
27.22
175,171
1,135,865
6.15
8.64
0.66
1.36
7.95
25.31
288,802
919,564
4.24
7.71
0.90
1.81
61
682.81
2703.1321,925,012
82,154,631
3.04
11.00
0.00
0.00
458.96
2498.5312,760,873
69,861,017
1.73
3.00
0.00
0.00
2919.06(2)*
3600.0031,373,231135,276,346
5.79
9.09
0.74
1.75
1758.51(2)3600.0047,055,836100,160,719
7.51
10.42
0.62
1.62
(continued
)
International Journal of Production Research 6231
Table
5.Continued.
n¼40
n¼50
CPU
time(sec.)
#of
nodes
(OPT-LB)/
OPT(%
)(U
B-O
PT)/
OPT(%
)CPU
time
#of
nodes
(OPT-LB)/
OPT(%
)(U
B-O
PT)/
OPT(%
)
mw
Avg.
Max.
Avg.
Max.
Avg.Max.Avg.
Max.
Avg.
Max.
Avg.
Max.
Avg.Max.Avg.
Max.
3320.97
1182.6610,504,905
41,112,652
5.25
8.79
1.29
4.95
1731.71(4)3600.0047,982,999104,944,678
5.12
9.65
0.54
1.44
81
––
––
––
––
––
––
––
––
21986.17(5)3600.0056,691,660111,271,281
7.07
9.26
0.81
2.28
––
––
––
––
32913.70(7)3600.0080,799,304110,991,764
4.08
6.75
1.16
2.85
––
––
––
––
n¼60
n¼70
CPU
time(sec.)
#of
nodes
(OPT-LB)/
OPT(%
)(U
B-O
PT)/
OPT(%
)CPU
time
#of
nodes
(OPT-LB)/
OPT(%
)(U
B-O
PT)/
OPT(%
)
mw
Avg.
Max.
Avg.
Max.
Avg.Max.Avg.
Max.
Avg.
Max.
Avg.
Max.
Avg.Max.Avg.
Max.
21
0.01
0.06
387
2167
1.10
4.00
0.00
0.00
0.02
0.09
683
2751
0.60
2.00
0.00
0.00
20.08
0.27
3199
11,431
2.81
8.00
2.11
4.17
0.13
0.45
5273
17,519
3.82
8.82
1.81
5.05
30.05
0.20
2190
7807
2.81
5.78
2.30
5.31
0.06
0.19
2069
6950
3.10
7.14
0.87
3.79
41
8.97
31.78
271,624
977,645
1.40
3.00
0.00
0.00
8.20
38.58
236,023
1,146,168
0.80
2.50
0.00
0.00
2125.84
807.06
4,185,758
27,441,930
5.87
8.61
0.28
0.71
73.13
483.73
2,157,757
14,365,845
5.24
9.42
0.60
1.81
380.90
361.25
2,584,951
11,979,150
4.79
7.71
0.66
1.75
165.67
1013.55
4,759,861
29,319,246
5.04
11.62
0.77
1.69
61
1102.09(1)3600.0027,291,029
86,624,145
1.77
3.33
0.03
0.33
879.32
3261.4120,443,914
74,694,778
1.10
4.33
0.00
0.00
22578.84(7)3600.0066,580,128100,350,675
4.36
9.94
0.60
1.60
––
––
––
––
31909.22(4)3600.0049,770,090112,076,808
4.07
6.36
0.48
1.09
2206.22(6)3600.0048,918,015
87,078,753
3.73
5.08
0.40
1.42
Note:*Thenumbersin
parentheses
givethenumber
ofinstancesthatcannotbesolved
inonehour.
6232 D.T. Eliiyi and M. Azizoglu
of an extensive computational study that the algorithm returns optimal solutions for manylarge-sized problem instances within one hour of CPU time.
Efficient approximation algorithms for larger-sized problem instances may be worthstudying as the problem has many practical applications and is likely to be solvedfrequently, probably with a larger number of machines. Another further research area maybe the inclusion of the spread time constraints in this problem. The relationship betweenworking 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 andapplications. Englewood Cliffs, NJ: Prentice Hall.
Bouzina, K.I. and Emmons, H., 1996. Interval scheduling on identical machines. Journal of GlobalOptimization, 9 (3–4), 379–393.
Eliiyi, D.T. and Azizoglu, 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 scheduleproblems. 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) classscheduling. 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 OperationalResearch, 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 OperationalResearch, 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 ofScheduling, 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.
International Journal of Production Research 6233
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.