ahigh-volume production by exploiting similarities of dierent products and activities in their production/
execution. With respect to part manufacturing, the main idea of GT is to identify similar parts and classify
them into groups to take advantage of their similarities. After the parts are classied into groups, cells of
machines are congured and are dedicated to the production of specic groups of parts.*Institute of Engineering Cybernetics, Technical University of Wroclaw, Wroclaw 50372, Polandb Belarus State University, and United Institute of Informatics Problems, National Academy of Sciences of Belarus,
Minsk 220012, Belarusc MACSI team of INRIA-Lorraine and LORIA-INPL, Ecole des Mines de Nancy, Parc de Saurupt, Nancy Cedex 54042, France
Received 1 November 2001; accepted 1 November 2002
Available online 24 March 2004
A single machine scheduling problem is studied. There is a partition of the set of n jobs into g groups on the basis ofgroup technology. Jobs of the same group are processed contiguously. A sequence independent setup time precedes the
processing of each group. Two external renewable resources can be used to linearly compress setup and job processing
times. The setup times are jointly compressible by one resource, the job processing times are jointly compressible by
another resource and the level of the resource is the same for all setups and all jobs. Polynomial time algorithms are
presented to nd an optimal job sequence and resource values such that the total weighted resource consumption is
minimum, subject to meeting job deadlines. The algorithms are based on solving linear programming problems with
two variables by geometric techniques.
2004 Elsevier B.V. All rights reserved.
Keywords: Scheduling; Single machine; Group technology; Resource allocation; Linear programming
1. Motivation and literature review
We study a single machine scheduling problem with resource dependent setup and processing times
under group technology (GT) constraints.
GT is an approach to manufacturing and engineering management that seeks to achieve the eciency ofSingle machine group scheduling with resourcedependent setup and processing times
Adam Janiak a, Mikhail Y. Kovalyov b, Marie-Claude Portmann c,*
European Journal of Operational Research 162 (2005) 112121
E-mail addresses: firstname.lastname@example.org, email@example.com (M.-C. Portmann).
0377-2217/$ - see front matter 2004 Elsevier B.V. All rights reserved.doi:10.1016/j.ejor.2002.11.004
.There are publications on scheduling problems without group technology constraints but with resource
dependent job processing times or release dates. Among them are papers by Janiak [15,16], Cheng andJaniak , Janiak and Portmann , Chen et al. , Janiak and Kovalyov , Li et al. , Cheng et al.
, Cheng et al. , Biskup and Jahnke . Some models of this type are discussed in the monograph of
Blazewicz et al. .
It is natural to study the situations where group scheduling and resource allocation decisions are
A single machine batch scheduling problem with resource dependent parameters has been studied by
Cheng and Kovalyov  and Cheng et al. . In this problem, there is a single group that can be partitioned
into batches and jobs of the same batch complete together when the latest job of this batch has nished itsprocessing. The processing of each batch is preceded by a common setup time. The former paper contains
complexity results, dynamic programming algorithms and approximation for the case when only the job
processing times are resource dependent. The latter paper assumes that the setup time is also resource
dependent and presents polynomial time algorithms for this case. To the best of our knowledge, there are
no other results available in the literature for group or batch scheduling problems with resource dependent
setup and/or processing times.
2. Problem formulation
We study the following problem.
There are n independent, non-preemptive and simultaneously available jobs to be scheduled for pro-cessing on a single machine. A partition of the set of jobs into g groups is given. Jobs of the same group areprocessed contiguously and cannot be split into subgroups processed separately. Each group Gf includes qfjobs,
Pgf1 qf n. A sequence independent machine setup time Sf precedes the processing of the rst job of
group Gf , f 1; . . . ; g. Each job Jj has a processing time pj and a deadline dj, j 1; . . . ; n.The setup times are variables depending on an equal amount x of a renewable continuously divisible or
discrete resource used for their performing: sf af bf x, where af is the value of sf for x 0 and bf is thevalue of the setup time reduction per unit of the resource, f 1; . . . ; g. It is assumed that x 2 0; xmax andaf bf xmax > 0, f 1; . . . ; g.
Similarly, the job processing times depend on an amount y of the same or another renewable resource:pj rj tjy; y 2 0; ymax, rj tjymax > 0, j 1; . . . ; n. It is assumed that both resources are either contin-In many applications, a major setup of the machine is needed for switching between the groups and aminor setup is needed for its switching between the jobs of the same group. When setup times are sequence
independent, the time requirement for a minor setup can be included in the processing time of the corre-
Studies of GT were originated by Mitrofanov  and Opitz . Numerous manufacturing companies
have taken advantage of GT to improve productivity and competitiveness, see, for example, Ham et al. ,
Wemmerlv and Hyer , Tatikonda and Wemmerlv , Hadjinicola and Ravi Kumar , and Gun-
asekaran et al. .
The rst publications on scheduling in group technology environments are due to Petrov , andYoshida et al. . Results on group scheduling problems are reviewed by Potts and Van Wassenhove 
and Liaee and Emmons . Results not included in these reviews can be found in papers of Kovalyov and
Tuzikov , Janiak and Kovalyov , Janiak et al. , Liu and Yu .
Note that GT approach does not allow group splittings. In a more general batching approach, each
group can be partitioned into two or more batches processed separately, see Potts and Kovalyov
A. Janiak et al. / European Journal of Operational Research 162 (2005) 112121 113uous or discrete.
The rest of the paper is organized as follows. In Section 3, we study the special case called FIX, in which
114 A. Janiak et al. / European Journal of Operational Research 162 (2005) 112121the sequence of groups is xed and y 2 Y1; Y2, where 06 Y1 < Y26 ymax and Y1; Y2 are given rationalnumbers. We present On log n and On log2 maxfn;maxj ftjg; v;w; xmax; Y2g time algorithms to solveproblem FIX if the resource is continuously divisible and discrete, respectively. In the following section, we
show that the original problem can be reduced in On2 gnminfg; log ng time to Ogn problems FIX.Hence, the original problem can be solved in Ogn2 log n and Ogn2 log2 maxfn;maxj ftjg; v;w; xmax; ymaxgtime if the resource is continuously divisible and discrete, respectively. The cases when all processing timesare xed or all setup times are xed are studied in Section 5. Algorithms faster than the generic ones are
presented for these cases. The paper concludes with some remarks and suggestions for future research.
3. Problem FIX with a xed group sequence
We begin our analysis of the problem 1GTjsf af bf x; pj rj tjy, Cj6 djjvx wy with noting thatthere exists an optimal schedule, if any such schedule exists, in which jobs of the same group are sequencedin the earliest deadline (ED) order, see Potts and Van Wassenhove .
Let G1; . . . ;Gg be the xed group sequence. Consider solutions, in which the groups are sequencedG1; . . . ;Gg, the jobs of each group are sequenced in the ED order and x 2 0; xmax, y 2 Y1; Y2, x y6 emax.We show how to nd values x0 and y0 such that Cj6 dj for all jobs, and vx wy is minimized.
Denote by f ; j the job sequenced as the jth in group Gf . A solution is feasible with respect, to thedeadlines if and only if
pf ;i6 df ;j; j 1; . . . ; gf ; f 1; . . . ; g: 1
Since setup and processing times are resource dependent, rewrite (1) as the set of linear inequalities with
two variables x and y. Calculate
rf ;i; Tjf
Xjtf ;i; Af
Xfbh; f 1; . . . ; g; j 1; . . . ; qf :deadlines are satised, i.e., Cj6 dj for all j, and the total weighted resource consumption vx wy is min-imized. All numerical data are assumed to be positive integers. Values v and w are assumed to be relativelyprime without loss of generality. Variables x and y are real numbers if the resource is continuously divisibleand they are integer numbers if the resource is discrete.
Observe that there exists an optimal schedule where the machine has no idle time until it nishes pro-
cessing of the latest job. Therefore, we consider such schedules only and assume that any schedule is
represented by the sequence of jobs within each group and the sequence of groups.
Adapting the three-eld notation ajbjc of Graham et al. , we denote the above problem as1GTjsf af bf x, pj rj tjy, h, Cj6 djjvx wy, where h 2 fcntn; dscr; g and represents emptysymbol. If h cntn, then the resource is continuously divisible. If h dscr, then the resource is discrete. Ifh , then the resource is either continuously divisible or discrete.led by setting emax xmax ymax.solution species the values x and y of the resource and the job schedule. Given a solution, jobletion times Cj, j 1; . . . ; n, can be calculated. The objective is to nd a solution such that thexmax emax or ymax emax, respectively, because inequalities x y6 emax and x; yP 0 imply x; y6 emax.Assume without loss of generality that the resources are the same. The case of dierent resources can bethe same resource is used to compress setups and processing times, then there is an additional con-t x y6 emax. Assume that emaxP maxfxmax; ymaxg. If xmax > emax or ymax > emax, then we can seti1 i1 h1 h1
These calculations can be done in On time because Pgf1 qf n.Denote Rf
qhh and Tf
qhh . Then (1) together with the other restrictions on x and y can be
Af Rf1 Rjf Bf x Tf1 T jf y6 d f ;j;f 1; . . . ; g; j 1; . . . ; qf ; 06 x6 xmax; 06 y6 ymax; x y6 emax: 2
3.1. Continuously divisible resource
Assume that x and y are real numbers. Observe that if xmax Y26 emax and the point x; y xmax; Y2does not satisfy (2) for some f and j or if xmax Y2 > emax and no point emax Y2; Y2 and xmax; emax xmaxsatises (2), then there is no feasible solution to problem FIX. Furthermore, if the point 0; Y1 satises (2),then x0 0 and y0 Y1 minimize vx wy and determine a solution to problem FIX. Assume that thefeasibility of the above mentioned points has been checked. It can be done in On time.
We use a geometric approach to nd x and y such that inequalities (2) are satised and vx wy isminimized. Draw each function Bf x Tf1 T jf y Af Rf1 Rjf df ;j as a straight line, denotedLf ;jx; y, in the xy plane. It is easy to see that the solution to (2) corresponds to the domain which isbounded from below by the upper envelope UE for the family of lines fL x; yjj 1; . . . ; q ; f
A. Janiak et al. / European Journal of Operational Research 162 (2005) 112121 115f ;j f1; . . . ; gg. An example of a feasible domain to problem FIX is given in Fig. 1. The boundary of this domaincan include a part of UE and some parts of the lines x 0, x xmax, y Y1, y Y2 and x y emax. Theboundary is drawn with a double line.
It is known from computational geometry (see, for example, Boissonnat and Yvinec  and Van Hoesel
et al. ) that an upper envelope for the family of N lines can be constructed in ON logN time. It isrepresented by the sequence of lines in increasing or decreasing order of their slopes and corresponding
breakpoints x; y in decreasing or increasing order of y.Assume that the upper envelope UE is constructed. Denote by UE its part such that 06 x6 xmax,
Y16 y6 Y2 and x y6 emax. Let all breakpoints of UE including the two endpoints be x1; y1;x2; y2; . . . ; xu; yu. Clearly, u6 n 1. It is easy to see that x0; y0 can be found fromFig. 1. An example of a feasible domain to problem FIX.
Consider polygon POL described by (2) and vx wy6 z. It is easy to see that this polygon is an inter-
fasterertices of polygon POL can be found in Ou time by nding the lines which intersect vx wy z,section of the feasible domain to problem FIX with continuously divisible resource given in Fig. 1 and the
half-plane vx wy6 z. The set of vertices of this polygon is a subset of the set consisting of the u break-points of the upper envelope UE, points 0; Y2, xmax; Y1, xmax; Y2, emax Y2; Y2, xmax; emax xmax andtwo intersection points of the line vx wy z with the boundary of the feasible domain to problem FIX.The above mentioned bisection search can be performed in the range wdY1e;wdY1e 1; . . . ;U . In eachiteration of this search, for a trial value z of the objective function, the following feasibility problem FEA issolved:
Problem FEA: Is there at least one integer point x; y in the polygon POL described by (2) andvx wy6 z?
Problem FEA can be solved as follows. Zamanskii and Cherkasskii  give an OQ logM algorithmfor counting the number of integer points in a polygon bounded by straight lines of type y q=mx q.Here q and m are relatively prime integer numbers, Q is the number of vertices of the polygon and M is themaximum divisor m among all the lines. The algorithm is based on a formula given by Zamanskii andCherkasskii for the number of integer points in a trapezoidal set fy q=mx q; yP 0; 06 c16 x < c2g. Aderivation of their formula with some minor modications is given by Shallcross .
According to the formula, the number of integer points in the trapezoidal set can be found in Ologmtime. Then the number of integer points in the polygon POL can be found by dropping a perpendicular onaxis x from each vertex of POL and counting the number of integer points under each side of POL in allintervals obtained.U minfvx wyjx; y 2 fxmax; Y1; xmax; Y2; emax Y2; Y2; xmax; emax xmaxgg:vx0 wy0 minfvx wyjx; y 2 fx1; y1; . . . ; xu; yugg:Thus, if group sequence is xed and y 2 Y1; Y2, then the problem 1GTjsf af bf x, pj rj tjy,
cntn, Cj6 djjvx wy can be solved in On log n time. Note that x0 and y0 are rational numbers becausexk; yk, k 1; . . . ; u, are intersection points of the lines with integer or rational coecients (Y1 and Y2 arerational).
3.2. Discrete resource
Now assume that the resource is discrete. The algorithm of solving problem FIX in this case is based on
the following ideas.
We perform a bisection search in the range of the objective function values vx wy. In each iteration ofthis search, we verify if there is an integer solution to...