International Journal of Production Research, Vol. 43, No. 11, 1 June 2005, 2323–2353

Optimal scheduling for ﬂexible job shop operation M.C. GOMESy*, A.P. BARBOSA-PO´VOAz and A.Q. NOVAIS§ yCESUR-Department of Civil Engineering and Architecture, Instituto Superior Te´cnico, Av. Rovisco Pais, 1049-001 Lisboa, Portugal zCEG-IST-Department of Engineering and Management, Instituto Superior Te´cnico, Av. Rovisco Pais, 1049-001 Lisboa, Portugal §Department of Process Modelling and Simulation, Instituto Nacional de Engenharia, Tecnologia e Inovac¸a˜o, Est. Pac¸o do Lumiar, 1649-038 Lisboa, Portugal

(Received July 2004) This paper presents a new integer linear programming (ILP) model to schedule ﬂexible job shop, discrete parts manufacturing industries that operate on a maketo-order basis. The model considers groups of parallel homogeneous machines, limited intermediate buﬀers and negligible set-up eﬀects. Orders consist of a number of discrete units to be produced and follow one of a given number of processing routes. The model allows re-circulation to take place, an important issue in practice that has received scant treatment in the scheduling literature. Good solution times were obtained using commercial mixed-integer linear programming (MILP) software to solve realistic examples of ﬂexible job shops to optimality. This supports the claim that recent advances in computational power and MILP solution algorithms are making this approach competitive with others traditionally applied in job shop scheduling. Keywords: Scheduling; Flexible job shop; Make-to-order industries; Re-circulation; Integer linear programming model

1. Introduction Scheduling of activities that compete for limited resources over a ﬁnite time period is a pervasive problem that most organizations, both large and small, have to solve. Solution methodologies have been widely investigated in many ﬁelds of engineering, computer science, management science and business, causing the literature on scheduling to be large, diverse and diﬀuse (Reklaitis 1992, Brown et al. 1995). These methodologies can be classiﬁed as exact or approximate, depending on whether they seek for the optimal solution of a problem or for a good, hopefully near-optimal, solution. Except for a minority of problems for which constructive algorithms of polynomial complexity are described, most scheduling problems have been proved to be NP-hard which means the computational requirements for obtaining an optimal solution grow exponentially as the problem size increases. Exact approaches are

*Corresponding author. Email: [email protected] International Journal of Production Research ISSN 0020–7543 print/ISSN 1366–588X online # 2005 Taylor & Francis Group Ltd http://www.tandf.co.uk/journals DOI: 10.1080/00207540412331330101

2324

M.C. Gomes et al.

therefore limited to implicit enumeration algorithms tailored to the problem (branch and bound, dynamic programming) or to formulation in mixed-integer linear programming (MILP) and subsequent solution of the model, which also resorts to implicit enumeration. In either situation the algorithms display exponential complexity, which means exact methods can only be applied with success to problems of small size (French 1982). For larger scheduling problems, solution approaches described in the literature make use of heuristics, meta-heuristics (like Tabu search, simulated annealing or genetic algorithms), artiﬁcial intelligence (namely constraint programming and neural networks) or approximate solution of MILP models, such as Lagrangian relaxation (Jain and Meeran 1998). However, the size of NP-hard scheduling problems, for which results with exact methodologies can be obtained, has been consistently increasing with the expansion of computer capacity. In the case of MILP approaches, another factor adds to this eﬀect: the development of algorithms for solving this type of model, which have been incorporated into increasingly eﬃcient software tools nowadays available to researchers (Pan 1997, Sawik 2000, Harjunkoski and Grossmann 2002). These aspects have been explored both in the operations research and in the process systems engineering domains. In the former and since the 1950s, one of the main applications of scheduling has been in the production area, where decisions regarding resource allocation for the manufacture of goods have to be made. Research in this area has traditionally centred on discrete parts manufacturing industries. Two families of problems have been intensively studied: scheduling of ﬂow shops, where jobs visit a set of machines arranged sequentially until all their service needs are satisﬁed, and job shop scheduling, an environment where machines are grouped into work centres according to functions, and jobs visit the machines in diﬀerent orders. For the latter and starting in the middle 1970s, application of scheduling methodologies has been largely addressed. The increased tailoring of products to speciﬁc customer needs led to more product types and lower production requirements for individual products; multi-product batch and semi-continuous operations gained increased importance to corporate long-term business plans. The resulting need to share and co-ordinate productive resources increased the interest in solving scheduling problems in this type of industry (Reklaitis 1992). A literature survey of production scheduling, directed at discrete parts manufacturing industries, shows that the application of MILP formulations has been quite limited so far. French (1982) holds a negative view on the approach of scheduling problems by MILP, which is subscribed more recently by other authors such as Jain and Meeran (1998, 1999). Pinedo (1995) and Sule (1997) dedicate only an appendix of their books to mathematical programming formulations of scheduling problems. Most of the authors that apply MILP to scheduling problems in the discrete parts manufacturing ﬁeld aim at measuring the quality of a proposed heuristic or other approximate methods. With this purpose, they compare the optimal and approximate solutions of medium to small size problems. Some recent examples are the work of Yaghubian et al. (2001), Low and Wu (2001) and also the perspective of Zhu and Heady (2000) when developing their MILP model. Shapiro (1993), when presenting the model of Lageweg et al. (1977), also declares that the practical use of mathematical programming models for job shop scheduling is the identiﬁcation of demonstrably good schedules.

Optimal scheduling for ﬂexible job shop operation

2325

Few attempts to increase the performance of MILP models for scheduling this type of industry are reported in the literature, especially in the job shop case; some examples are given hereafter. Liao and You (1992) are the ﬁrst authors in 30 years to consider and improve the model presented by Manne (1960) for the general job shop-scheduling problem. Kim and Egbelu (1999) develop an optimization model for a job shop environment that resorts to commercial MILP software but is speeded up by a pre-processing phase. McKoy and Egbelu (1999) address a job shop scheduling problem where jobs have processing and assembly requirements; they present a mathematical programming model and an heuristic algorithm that combines this model with decision rules to reduce the problem size. Zhu and Heady (2000) present a MILP model for minimizing job earliness and tardiness in a multi-machine scheduling problem and analyse a range of hypothesis to increase model eﬃciency. They also express the view that, since MILP problems are known to be particularly susceptible to clever programming techniques, it is possible that future MILP implementations will eﬃciently solve problems of industrial size. For a review and comparison of MILP formulations for job shop, ﬂow shop and permutation ﬂow shop scheduling problems described in the literature, refer to Pan (1997). The situation of MILP-based scheduling for discrete parts manufacturing contrasts sharply with the development of this type of methodology for solving scheduling problems in the process industries. In this area, a greater eﬀort has been made to improve the performance of MILP models so that they can be applied to increasingly larger problems; a few examples are listed below. Shah et al. (1993) thoroughly explore the characteristics of the problem of short-term scheduling of multi-purpose batch operations so as to accelerate the solution of the MILP model they present. Papageorgiou and Pantelides (1996) propose a rigorous decomposition approach to solve a MILP model for campaign planning/scheduling of multi-purpose batch/semicontinuous plants and exploit it to reduce the size of models and the integrality gap. Wilkinson (1996) introduces temporal aggregation operators to address large-scale process scheduling problems. Other modelling techniques have been explored by Zhang and Sargent (1996), Schilling and Pantelides (1996) and Castro et al. (2001) where more generalized models were obtained at the cost of harder computational times. Combination of MILP models and other techniques is also an area of current research; two recent examples are the work of Harjunkoski and Grossman (2002), combining MILP and constraint programming to solve multi-stage scheduling problems, and the one of Roslo¨f et al. (2002) that combines MILP and a heuristic procedure to solve a large-scale industrial scheduling problem. As a main conclusion it can be stated that mathematical programming approaches to scheduling have the advantage of providing a general framework for modelling a large variety of problems (Harjunkoski and Grossmann 2002). Diﬀerent objective functions and incorporation of new constraints in the models are easily handled (Pan 1997), which is not the case for solution methodologies highly dependent on the problem structure. Use of this approach to tackle scheduling problems in discrete parts manufacturing has been quite limited so far but deserves further study since increasingly powerful hardware and software tools are available to researchers. In this paper we develop an integer linear programming (ILP) model (there are no continuous variables, only integer variables) for scheduling production in the job shop, make-to-order industries where set-up eﬀects are negligible. The model is

2326

M.C. Gomes et al.

quite general in its assumptions and closer to the reality of the manufacturing industry than many models presented in the literature for the job shop scheduling problem. Re-circulation in a job shop occurs when certain jobs visit some machines or machine groups more than once. Since this is quite a common phenomenon in the real world (Pinedo 1995) that has been scarcely addressed in the job shop scheduling literature so far, the model was extended to allow job re-circulation. Optimal solutions of the model for realistic examples were obtained by using commercial MIP software. The model is an adaptation to the job shop case of the model proposed by Chang and Liao (1994) for ﬂexible ﬂow shops with no set-up eﬀects. Invoking the problem NP-hardness, these authors present an approximate, near-optimal solution method for their model based on Lagrangian relaxation; optimal solution of the model was not attempted. This drawback was completely overcome in the present work and a general mathematical model for job shop scheduling is provided which is solved to optimality. In the remainder of this paper we deﬁne the problem and the underlying hypothesis (section 2) and present models for ﬂexible job shop scheduling with and without re-circulation (section 3). In section 4 the application of the models to realistic examples is described and the computational results analysed. Finally, the conclusions of the study are drawn in section 5. 2. Problem deﬁnition This section describes the ﬂexible job shop manufacturing environment modelled, which is depicted in ﬁgure 1. The shop manufactures medium-volume discrete products of diﬀerent types in a make-to-order basis. Production orders correspond to one product type each and have an associated demand (a number of discrete units to be produced) and due date; production must be scheduled to meet the orders due dates in a just-in-time philosophy.

1st b1

M1

b2

M2

b3

M3

b5

M5

b6

M6

2nd

b4

M4

b10

1st b7

M7

b8

M8

2nd

b9

Production sequence I Production sequence II Production sequence III Figure 1.

Manufacturing environment modelled.

M9

b11

Optimal scheduling for ﬂexible job shop operation

2327

Each product type has a pre-deﬁned processing route, or production sequence, and each operation in the sequence may be performed in a machine group. Machine groups, represented by rectangles in ﬁgure 1, consist of a few homogeneous machines that may process several units in parallel with an upper bound on the total number of units being processed at the same time—the machine group capacity. Machine groups have buﬀers (depicted by circles in ﬁgure 1) where units wait for processing in the group. Intermediate buﬀers have ﬁnite capacity, while input buﬀers of a production sequence (b1 and b7 in ﬁgure 1), as well as stocks of ﬁnished order units (b10 and b11 in ﬁgure 1), are considered as inﬁnite in size. Machine groups and buﬀers can be shared between production sequences or be unique to a production sequence. While none of the MIP job shop models reviewed by Pan (1997) models buﬀers, which means queues between machines are unlimited in size, ﬁnite buﬀers have to be considered when products are physically large and the buﬀer space between successive machines has a limited capacity. In ﬁgure 1, three production sequences, each corresponding to a product type, are shown. Re-circulation takes place in sequences I and III; note that one machine group in each sequence has two exit arrows instead of one, distinguished with the notation 1st and 2nd. In production sequence I, products go through machine groups M1, M2 and M3, (in this order); then, when leaving machine group M3 they enter the buﬀer of machine group M2 again. They are then processed a second time in machine group M2 and afterwards in machine group M3. This time, they leave this machine group to be processed in machine group M4, the last in the production sequence. The sequence of machine groups visited is thus M1M2M3M2M3M4. Regarding production sequence II, products are diﬀerently routed when leaving machine group M8, depending on whether this is the ﬁrst or the second time they visit the machine group. The sequence of machine groups visited in this sequence is M7M8M6M8M9. The number of units (of a given product type) in an order can be divided into diﬀerent lots (smaller numbers), which are loaded onto machine groups throughout the scheduling horizon. The way an order is divided for processing in a machine group is independent of the division that takes place in other machine groups of the same production sequence. Processing times depend only on the product type and the machine group; they are independent of the total number of units of a given product type loaded onto a machine group. The ﬂexibility in the present environment stems from the fact that one product unit can be processed in any machine of a machine group, and several units of diﬀerent product types may be in process at a given time period in a machine group. On the contrary, in the classical job shop problem there is only one machine for each operation which can only process one job at a time. Two other salient features that distinguish the environment modelled in the present work from the classical job shop problem studied in the literature deserve mention here. First, no restrictions are imposed upon the production sequences that the products may follow, while in the classical job shop scheduling problem all jobs visit the same set of machines in random order (Pan 1997, Demirkol et al. 1998), which is a rather theoretical assumption. Second, storage in intermediate buﬀers is limited while in the classical job shop problem there are no limits upon buﬀer size. Set-up time in ﬂow shop and job shop scheduling is a key concern for most practitioners and has been assumed by researchers to be negligible,

2328

M.C. Gomes et al.

sequence-independent or sequence-dependent (Low and Wu 2001). In the manufacturing environment modelled, set-up times and costs are assumed to be negligible. Finally, material handling facilities for the transport of products in the shop are assumed to be non-restrictive. This means the only constraints imposed on the problem of scheduling orders are the ﬁnite capacities of buﬀers and machine groups.

3. Mathematical models Mathematical programming models for the classical ﬂow shop and job shop problems published in the literature can be classiﬁed into two groups. One group uses binary variables that establish the sequence of jobs in machines and continuous variables that decide the time a job is started (or ﬁnished) in a given machine; the exact deﬁnition of variables depends on the model. Another group divides the scheduling horizon into a number of intervals of equal duration (discrete time representation) and uses binary variables associated with the processing of each job in each machine group at each interval limit. While the number of variables in the ﬁrst type of models depends on the number of jobs and machines, in the second group the variable count depends additionally on the length of the scheduling horizon. In this section a ‘discrete time model’ for ﬂexible job shops is presented and subsequently generalized to account for re-circulation within the production sequences. A feature of the proposed models is that they use integer variables associated with each interval limit as opposed to the common use of binary variables. This is explained by the fact that in the environment modelled, orders are composed of several discrete units, whereas in traditional job shop models each order corresponds to an individual job. Since orders may be divided into smaller lots for processing at machine groups, the use of a ‘sequencing model’ in this case would imply deﬁnition of binary sequencing variables for each unit of an order hence resulting in a very large model.

3.1 Model for the ﬂexible job shop problem While there is only one production sequence or ﬂow line in a ﬂow shop, job shops display multiple ﬂow lines that share manufacturing resources—machine groups and buﬀers in the present case. To generalize to the job shop case the ﬂexible ﬂow shop model of Chang and Liao (1994), which contains a single implicit production sequence, diﬀerent production sequences must be explicitly considered. Hence, a production sequence index was added to the ﬂexible ﬂow shop model indices (for orders, machine groups and time). Together with the introduction of a notation based on the deﬁnition of sets, this allowed the generic form of the constraints and objective function in the ﬂexible ﬂow shop model to be kept in the job shop model. Two features of the ﬂexible ﬂow shop model not considered in the generalization are variable machine group capacities throughout the scheduling horizon

2329

Optimal scheduling for ﬂexible job shop operation

(parameters) and overtime capacities (decision variables). These are minor simpliﬁcations that can be easily incorporated in the job shop model developed. The models will be subsequently described and commented in detail; they are written in a condensed form in the appendix. 3.1.1 Indices i j m t

Order Production sequence Machine group Time

The treatment of time in this work is shown in ﬁgure 2, where the scheduling horizon is divided into T intervals of equal length. Time at the interval limits will be called ‘instants’ from now onwards. The model requires intervals to be deﬁned before and after the scheduling horizon, as will be discussed later on.

3.1.2 Sets I J Ij M Mj

Set Set Set Set Set

of of of of of

orders (released at the beginning of the scheduling horizon) production sequences orders that follow production sequence j machine groups machine groups in production sequence j

Special set elements deﬁned for each production sequence j: fj lj

First machine group in production sequence j fj 2 Mj Last machine group in production sequence j lj 2 Mj

Sets I, J, Ij and M are unordered collections of elements while set Mj is the ordered set of machine groups in production sequence j. This means that for each machine group in Mj we can refer to its preceding and succeeding elements, which correspond to the machine groups before and after that machine group in production sequence j. To illustrate sets deﬁnition, we present an example with seven machine groups and two production sequences: J ¼ {1,2} Unordered set of production sequences M ¼ {m1, m2, m3, m4, m5, m6, m7} Unordered set of machine groups M1 ¼ {m1, m2, m4, m5, m7} Ordered set of machine groups for production sequence 1 Scheduling horizon

….

…. -4

-3

-2

-1

Figure 2.

0

1

2

3

4

T-1 T

Division of the scheduling horizon.

T+1

Time

2330

M.C. Gomes et al.

M2 ¼ {m2, m6, m5, m3} f1 ¼ m1 l1 ¼ m7 f2 ¼ m2 l2 ¼ m3

Ordered set of machine groups for production sequence 2 First machine group in production sequence 1 Last machine group in production sequence 1 First machine group in production sequence 2 Last machine group in production sequence 2

3.1.3 Parameters Qi di Cm Sm Pim Ai Bi Him Ni

Demand for order i (number of units) Due date for order i Capacity of machine group m Capacity of the buﬀer of machine group m Processing time of order i in machine group m Tardiness penalty coeﬃcient for one unit of order i/time unit Earliness penalty coeﬃcient for one unit of order i/time unit In-process inventory cost for order i in the machine group buﬀer m/time unit Penalty for each unit of order i not produced at the end of the scheduling horizon

3.1.4 Variables. Ximt Uimt Yit

Three kinds of variables are deﬁned:

Number of units of order i in the buﬀer preceding machine group m between instants t 1 and t Number of units of order i loaded onto machine group m for processing at instant t Number of ﬁnished units of order i between instants t 1 and t.

All variables are integer. Figure 3 illustrates the association of X and Y variables with intervals (of unit length) and U variables with interval limits (instants). Until they are ﬁnished, units of order i go (even if instantaneously) through the buﬀers that precede the machine groups in the corresponding production sequence; this is accounted for by the Ximt variables. Even when their processing has not started, units are considered to be lodged in the buﬀer before the ﬁrst machine group in the production sequence. However, the stock of ﬁnished units of an

Uimt

....

…. t–1

t

t+1

Ximt , Yit Figure 3.

Representation of the model variables.

Optimal scheduling for ﬂexible job shop operation

2331

order is not associated with any machine group; this is the reason why ‘ﬁnal buﬀers’ are described by a new set of variables Yit. The Uimt variables take into account division of order i into smaller sets for processing in machine group m and hence T X

U imt Qi

8i 2 I,

m 2 Mj : i 2 I j

ð1Þ

t¼0

is a constraint implicit in the model.

3.1.5 Constraints 3.1.5.1 Flow balance equations. Flow balance equations establish the relationship between the number of units of an order i in each buﬀer in adjacent time intervals. They are deﬁned over three types of buﬀers: intermediate, initial and ﬁnal buﬀers. The number of units in the intermediate and ﬁnal buﬀers at the start of the scheduling horizon (t ¼ 0): Xim0

8i 2 I, m 2 Mj jffj g : i 2 Ij

ð2Þ

Yi0

8i 2 I

ð3Þ

and the units loaded onto the machine groups at instants t ¼ Pim, t ¼ Pim þ 1, . . . , t ¼ 1 (i.e. before the start of the scheduling horizon): UimðPim Þ , UimðPim þ1Þ , . . . , Uimð1Þ

8i 2 I, m 2 Mj : i 2 Ij

ð4Þ

are preset parameters of the ﬂow balance equations.

3.1.5.2

Intermediate buﬀers

Ximðtþ1Þ ¼ Ximt þ Uiðm1ÞðtPiðm1Þ Þ Uimt 8i 2 I, m 2 Mj jffj g : i 2 Ij, t ¼ 0, . . . , T

ð5Þ

where: – Ximt is the number of units of order i in the buffer of machine group m between instants t 1 and t; – Uiðm1ÞðtPiðm1Þ Þ is the number of units of order i that the preceding machine group in the production sequence (m 1) ﬁnished processing at instant t and hence were added to the buffer of machine group m at that instant. Note that, since the processing time of order i at machine group m 1 is Pi(m1), the number of units of order i ﬁnished at instant t were loaded onto that machine group at instant t Pi(m1) (all processing times are integer); – Uimt is the number of units of order i loaded onto machine group m at instant t and hence withdrawn from the buffer; – Xim(t þ 1) is the number of units of order i in the buffer of machine group m between instants t and t þ 1, i.e. those that remain in the buffer after loading of the machine group m at instant t. Note that Xim(T þ 1) is the number of units of order i in the buﬀer of machine group m between instants T and T þ 1, i.e. at the end of the scheduling horizon.

2332

M.C. Gomes et al.

3.1.5.3 Initial buﬀer. For the ﬁrst machine group in the production sequence of order i the term Uiðm1ÞðtPiðm1Þ Þ is dropped from the equation since there is no machine group preceding it. Also, the number of units of order i initially in this buﬀer is Qi because all orders are released at the beginning of the scheduling horizon. The ﬂow balance equations are then: Xim0 ¼ Qi Ximðtþ1Þ ¼ Ximt Uimt

8i 2 I, 8i 2 I,

m ¼ f j : i 2 Ij m ¼ fj : i 2 Ij , t ¼ 0, . . . , T:

ð6Þ ð7Þ

3.1.5.4 Final buﬀer. Regarding the ﬁnal buﬀer, i.e. the stock of ﬁnished units of order i, since there are no other machine groups the term Uimt is dropped from the ﬂow balance equation. Finished units of an order are not associated with any buﬀer that precedes a machine group, so in the equation Ximt variables are replaced by Yit variables: Yiðtþ1Þ ¼ Yit þ UimðtPim Þ

8i 2 I,

m ¼ lj : i 2 Ij , t ¼ 0, . . . , T

ð8Þ

Yi(T þ 1) is the number of ﬁnished units of order i between instants T and T þ 1, i.e. at the end of the scheduling horizon. 3.1.5.5 Machine capacity constraints. A unit of order i loaded onto machine group m needs a period of length Pim to complete the processing; consequently the sum t X

Uim

ð9Þ

¼tPim þ1

is the total number of units of order i that machine group m is processing after being loaded at instant t and until instant t þ 1. The total amount of units being processed in each machine group between instants t and t þ 1 cannot exceed the machine group capacity Cm, hence the sum above must be extended to all production sequences containing the machine group and all products that follow these production sequences: XX j2J: m2Mj

t X

Uim Cm

8m 2 M, t ¼ 0, . . . , T:

ð10Þ

i2Ij ¼tPim þ1

3.1.5.6 Buﬀer capacity constraints. The total amount of units in the buﬀer of machine group m in each interval cannot exceed the buﬀer capacity: X X Ximt Sm 8m 2 M, t ¼ 0, . . . , T þ 1 ð11Þ j2J: m2Mj jf fj g

i2Ij

where Sm is the capacity of the buﬀer and the Ximt variables are summed over all production sequences containing machine group m (except for the sequences in which it is the ﬁrst machine group, since initial buﬀers are unlimited) and all products that follow these production sequences. The inequality must also hold for t ¼ T þ 1 since buﬀer capacities cannot be exceeded at the end of the scheduling horizon.

Optimal scheduling for ﬂexible job shop operation

2333

Because buﬀer capacities are limited, an order i (or part of it) will be loaded onto a machine group m at a given instant t only if the following buﬀer in the production sequence has room to store the units at instant t þ Pim, when processing is complete (refer to equation 5). Hence, although there may be units lodging in its buﬀer, a machine group may be empty if it is not possible to accommodate the units, once ﬁnished, in the next buﬀers. This is diﬀerent from machine blocking, where completed units remain in a machine group because the next buﬀer(s) in the production sequence(s) are full, thus reducing the machine group capacity available to work on other units. Blocking, in this sense, is not allowed by the model.

3.1.6 Objective function. The objective function includes three types of costs: costs derived from failing to meet the ‘just in time’ due dates, in-process inventory costs and costs of orders not fully completed at the end of the scheduling horizon. Units that constitute an order are accounted for individually in the objective function. If a unit is ﬁnished before the due date of the corresponding order, inventory costs are incurred; if it is completed afterwards an overdue penalty has to be paid for. Naming the overdue penalty and the inventory cost of each unit of order i per time unit as Ai and Bi, respectively, earliness/tardiness penalty coeﬃcients for order i at instant t are obtained by multiplying these coeﬃcients by the time interval between t and the order due date di: ( Bi ðd i tÞ t di 8i 2 I, t ¼ 0, . . . , T: ð12Þ it ¼ Ai ðt d i Þ t > di Diﬀerences in Ai and Bi coeﬃcients between orders may reﬂect their relative importance or priorities. To obtain the total penalty for order i, earliness/tardiness penalty coeﬃcients must be multiplied by the number of units of order i whose processing was ﬁnished at instant t, and the sum extended to the whole scheduling horizon: T X it

Zit

ð13Þ

t¼0

Zit is the number of units ﬁnished at instant t and hence whose processing started in the last machine group of production sequence j at instant t Pim: Zit ¼ UimðtPim Þ

8i, m ¼ lj : i 2 Ij , t ¼ 0, . . . , T:

ð14Þ

Units lodging in the intermediate buﬀers of production sequences are accounted for as in-process inventory costs. Him is deﬁned as the in-process inventory cost in the buﬀer of machine group m per unit of order i and time unit; the in-process inventory cost for order i in buﬀer m between instants t 1 and t corresponds to multiplying Him by the number of units of order i in the buﬀer during that interval, Ximt. The sum is extended to the scheduling horizon and all intermediate buﬀers of production sequence j: T X X t¼0

m2Mj jf fj g: i2Ij

Him Ximt :

ð15Þ

2334

M.C. Gomes et al.

The penalty term for orders not fully completed at the end of the scheduling horizon is: Ni ðQi YiðTþ1Þ Þ

ð16Þ

where Qi Yi(T þ 1) is the number of units of order i not completed at the end of the scheduling horizon and Ni the penalty coeﬃcient per unit (which may diﬀer between orders). Finally the objective function is obtained by adding the costs above and extending the sum to all production sequences and all products: 2 0 13 T XX X X @ it Zit þ 4Ni ðQi YiðTþ1Þ Þ þ min ð17Þ Him Ximt A5: j2J i2Ij

t¼0

m2Mj jffj g

If no penalty term was added, minimization of the second and third terms would imply a value of zero for X and Z variables, i.e. no production would take place.

3.2 Model for the ﬂexible job shop with re-circulation problem In the job shop with re-circulation, jobs may visit certain machine groups more than once. Re-circulation is a feature of industries like the semiconductor industry, where the multi-layered nature of silicon wafers implies many visits to the same machine group, or the mould making industry, where the process of carving a cavity has to be divided into stages due to the need of intermediate operations. Chang and Liao adapted their model and solution method (1994) to the semi-conductor industry (Chang et al. 1996), an environment that does not display the diﬀerent production sequences through machine groups typical of a job shop. To generalize the ﬂexible job shop model to the re-circulation case, a production stage index was added to the indices previously deﬁned. Also, instead of representing production sequences by ordered sets of machine groups, they are now ordered sets of pairs (machine group, production stage), as explained in section 3.2.2. 3.2.1 Indices i j m f t

Order Production sequence Machine group Production stage Time

3.2.2 Sets I J Ij M Mj Mj0

Set of orders (released at the beginning of the scheduling horizon) Set of production sequences Set of orders that follow production sequence j Set of machine groups Set of machine groups in production sequence j Set of pairs of machine groups and production stage (designated m f) in production sequence j

Optimal scheduling for ﬂexible job shop operation

2335

Special set elements: fj0 lj0

First pair m f (machine group, production stage) in production sequence j fj0 2 Mj0 Last pair m f (machine group, production stage) in production sequence j lj0 2 Mj0

In this model sets I, J, Ij, M and Mj are unordered while set Mj0 is ordered and corresponds to the machine groups sequence in production sequence j. The following example illustrates set deﬁnition: J ¼ {1,2} M ¼ {m1,m2,m3,m4,m5,m6,m7} M1 ¼ {m1,m2,m4,m5,m7} M2 ¼ {m2,m6,m5,m3} M10 ¼ fm11 , m12 , m14 , m22 , m15 , m17 , m25 g M20 ¼ fm12 , m16 , m15 , m13 , m26 , m25 , m23 , m33 g f10 ¼ m11 l10 ¼ m25 f20 ¼ m12 l20 ¼ m33

Unordered set of production sequences Unordered set of machine groups Unordered set of machine groups in production sequence 1 Unordered set of machine groups in production sequence 2 Ordered set of pairs m f in production sequence 1 Ordered set of pairs m f in production sequence 2 First pair m f in production sequence 1 Last pair m f in production sequence 1 First pair m f in production sequence 2 Last pair m f in production sequence 2

Note that in here, sets M1 and M2 merely state the machine groups present in each production sequence, while sets M10 and M20 establish the actual production sequences. In production sequence 1, products go once through machine groups m1, m4, and m7 (the corresponding elements in set M10 are m11 , m14 and m17 ) and twice through machine groups m2 and m5 (an so elements m12 , m22 , m15 and m25 can be found in M10 ). In production sequence 2 machine group m2 is visited once, machine groups m5 and m6 twice and machine group m3 three times. 3.2.3 Parameters Pim f

Processing time of order i on machine group m for the f th time.

All the other parameters are deﬁned as in the previous model (section 3.1). 3.2.4 Variables Xim f t Uim f t Yit

Number of units of order i in the buﬀer of machine group m between instants t 1 and t, waiting to be processed for the f th time in that machine group Number of units of order i loaded at instant t onto machine group m to be processed for the f th time Number of ﬁnished units of order i between instants t 1 and t

All variables are integers.

2336

M.C. Gomes et al.

3.2.4.1 Flow balance equations. The three ﬂow balance equations of the ﬂexible job shop model are generalized to include product re-circulation by replacing in the former model: – machine groups m by pairs m f (machine group, production stage); – sets Mj by sets Mj0 (ordered sets of m f pairs, which establish the production sequences in the re-circulation model). Given: 8i 2 I, m f 2 Mj0 jffj0 g : i 2 Ij

Xim f 0

Yi0 Uim f ðP

3.2.4.2

im f

8i 2 I

Þ , Uim f ðPim f þ1Þ , . . . , Uim f ð1Þ

ð18Þ ð19Þ

8i 2 I, m f 2 Mj0 : i 2 Ij

ð20Þ

Intermediate buﬀers Xim f ðtþ1Þ ¼ Ximf t þ Uiðm f 1ÞðtP f

8i 2 I, m 2

Mj0 jf fj0 g

iðm f 1Þ

Þ

Uim f t

ð21Þ

: i 2 Ij , t ¼ 0, . . . , T

where m f 1 is the pair (machine group, production stage) previous to m f in ordered set Mj0 . 3.2.4.3

Initial buﬀer 8i 2 I, m f ¼ fj0 : i 2 Ij

Xim f 0 ¼ Qi

f

Xim f ðtþ1Þ ¼ Xim f t Uim f t

3.2.4.4

fj0

ð22Þ

: i 2 Ij , t ¼ 0, . . . , T

ð23Þ

8i 2 I, m f ¼ lj0 : i 2 Ij , t ¼ 0, . . . , T

ð24Þ

8i 2 I, m ¼

Final buﬀer Yiðtþ1Þ ¼ Yit þ Uim f ðtP

im f

Þ

3.2.4.5 Machine capacity constraints. To generalize the machine capacity constraints in the ﬂexible job shop model to the re-circulation case, it is necessary to account for the units of order i loaded onto a machine group that correspond to diﬀerent production stages within the same production sequence. Consequently, the sum of the U variables is further extended to all m f pairs in set Mj0 : X X X j2J: m2Mj

t X

Uimf Cm

8m 2 M, t ¼ 0, . . . , T:

ð25Þ

0 f :m f 2Mj i2Ij ¼tPimf þ1

3.2.4.6 Buﬀer capacity constraints. Generalization of the buﬀer capacity constraints is similar to the previous one. All order units corresponding to diﬀerent production stages in the same production sequence have to be accounted for when

2337

Optimal scheduling for ﬂexible job shop operation

computing the number of units lodging in the buﬀer of each machine group between instants t 1 and t. The sum of the X variables is thus extended to all m f pairs in set Mj0 , except for the ﬁrst one: X X X Xim f t Sm 8m 2 M, t ¼ 0, . . . , T þ 1: ð26Þ j2J: f :m f 2M 0 jf f 0 g j j m2Mj

i2Ij

3.2.5 Objective function. Finally, objective function generalization is straightforward. On the one hand, Zit is the number of units of order i ﬁnished at instant t whose processing started in the last machine group of production sequence j at instant t Pim f : Zit ¼ Uim f ðtP

imf

Þ

8i, m f ¼ lj0 : i 2 Ij , t ¼ 0, . . . , T:

ð27Þ

On the other hand, in-process inventory costs have to account for the order units in machine group buﬀers that correspond to diﬀerent production stages in the same production sequence. Thus we have: 2 0 13 T XX6 X X X B C7 Min H im X im f t A5: @ it Zit þ 4N i ðQi YiðTþ1Þ Þ þ j2J i2I j

m2Mj f :m f 2M 0 jf f 0 g j j

t¼0

ð28Þ

4. Computational study To test model performance, examples of diﬀerent manufacturing environments were constructed: a ﬂexible ﬂow shop, a ﬂexible job shop and a ﬂexible job shop with re-circulation example. The Generic Algebraic Modelling System (GAMS) was used as the modelling tool and CPLEX version 7.0.0 (with default settings) as the solver running on a 1000 MHz Pentium III with 256MB RAM and Windows 2000 operating system. The ﬂexible ﬂow shop example (ﬁgure 4) is a realistic example of a discrete-part, make-to-order industry (Chang and Liao 1994). It displays eight machine groups arranged in line and four production sequences that run through the line but may skip some machine groups (depending on the sequence). For instance, machine group M6 is skipped in production sequence I. Application of the developed ﬂexible

M1

M2

M3

M4

M5

M6

Production sequence I Production sequence II Production sequence III Production sequence IV

Figure 4.

Flexible ﬂow shop example.

M7

M8

2338

M.C. Gomes et al.

M1

M2

M3

M4

M5

M7

M8

M6

M9

M10

M11

M12

M13

M14

M15

Production sequence I Production sequence II Production sequence III Production sequence IV

Figure 5.

Flexible job shop example.

2nd M1

M2

M3

M4

M5

M7

M8

1st M6 1st M9

M10

M11

2nd

M12

M13

Production sequence I Production sequence II Production sequence III Production sequence IV

Figure 6.

Flexible job shop with recirculation example.

job shop model to this example is possible since it includes, as a particular case, the ﬂexible ﬂow shop model. The second example (ﬁgure 5) describes a ﬂexible job shop and was built based on the previous example by adding machine groups (M9 to M15) and modifying the production sequences. Order ﬂows in the resulting production environment are now more complex. Finally, the third example addresses a job shop with re-circulation environment (ﬁgure 6). Thirteen groups of machines and four production sequences are considered; two of the production sequences display re-circulation. Namely, orders

2339

Optimal scheduling for ﬂexible job shop operation

following production sequence II must be processed again in machine group M3 after a ﬁrst visit and the ones following sequence III go twice through machine groups M10 and M11. The capacities of the machine groups and the preceding buﬀers are not uniform; tables 1–3 display the corresponding values. Processing times are integer and the same machine group displays diﬀerent processing times depending on the production sequence and production stage (when re-circulation is considered). Tables 4–6 display the values used; the last column is the total processing time for each production sequence. The cost coeﬃcients used in the objective function were Ai ¼ 20, Bi ¼ 1 and Him ¼ 0.1 8 i, m. As for the penalty coeﬃcient for not completing orders in the scheduling horizon, a value of Ni ¼ 107 8i was used. The three examples were tested with four scenarios (see tables 7–11) diﬀering in the number of orders to be scheduled: a ‘small’ (4 orders), a ‘medium’ (10 orders) and two ‘large’ (24 orders) scenarios. In all of these, order due dates are greater than or equal to the total processing times of the corresponding production sequence. The 10-order scenario used for the ﬂexible ﬂow shop example is based on the work of Chang and Liao (1994). For the ﬂexible job shop and ﬂexible

Table 1. Machine group m1 m2 m3 m4 m5 m6 m7 m8

Table 2.

Machine capacity

Buﬀer capacity

20 45 45 30 10 25 15 15

500 100 80 110 90 60 75 80

Machine groups and buﬀer capacities for the ﬂexible job shop example.

Machine group m1 m2 m3 m4 m5 m6 m7 m8 m9 m10 m11 m12 m13 m14 m15

Machine groups and buﬀer capacities for the ﬂexible ﬂow shop example.

Machine capacity

Buﬀer capacity

20 45 45 30 10 25 15 15 20 30 35 15 15 40 10

500 100 80 110 90 60 75 80 90 90 90 90 90 90 90

2340 Table 3.

M.C. Gomes et al. Machine groups and buﬀer capacities for the example of the ﬂexible job shop with recirculation.

Machine group

Machine capacity

Buﬀer capacity

20 45 45 30 10 25 15 15 20 30 35 40 10

500 100 80 110 90 60 75 80 90 90 90 90 90

m1 m2 m3 m4 m5 m6 m7 m8 m9 m10 m11 m12 m13

Table 4.

Processing times for the ﬂexible ﬂow shop example. Machine group

Production sequence I II III IV

m1

m2

m3

m4

m5

m6

m7

m8

Total time

3 3 3 3

4 5 4 —

1 1 3 1

4 3 — 3

4 — 4 —

— 5 — 5

2 2 2 2

2 2 2 2

20 21 18 16

Table 5.

Processing times for the ﬂexible job shop example. Machine group

Production sequence

m1

m2

m3

m4

m5

m6

m7

m8

I II III IV

3 3 — —

4 — — —

1 1 — 4

4 — — 7

4 5 — —

— 5 5 —

2 2 — —

2 2 — —

Machine group Production sequence

m9

m10

m11

m12

m13

m14

m15

Total time

I II III IV

— — 7 —

— — 8 8

— — 8 6

— — 7 —

— — 8 —

— — 6 6

— — — 9

20 18 49 40

job shop with re-circulation examples, another 10-order scenario was created that displays a more balanced distribution of orders between production sequences. In all other cases scenarios were applied unchanged to the three manufacturing environments.

2341

Optimal scheduling for ﬂexible job shop operation Table 6.

Processing times for the ﬂexible job shop with recirculation example. Machine group

Production sequence

m1

m2

m3 1st stage

m3 2nd stage

m4

m5

m6

m7

m8

I II III IV

3 3 — —

4 — — —

1 1 — 4

— 3 — —

4 — — 7

4 5 — —

— 5 5 —

2 2 — —

2 2 — —

Machine group Production sequence

m9

I II III IV

— — 7 —

m10 1st stage

m10 2nd stage

m11 1st stage

m11 2nd stage

m12

— — 8 8

— — 7 —

— — 8 6

— — 7 —

— — 6 6

Table 7. Order

— — — 9

20 21 48 40

Scenario with 4 orders. Due date

Production sequence

30 25 20 15

30 25 50 45

I II III IV

Table 8.

O1 O2 O3 O4 O5 O6 O7 O8 O9 O10

Total time

Demand (no. of units)

O1 O2 O3 O4

Order

m13

Scenario with 10 orders for the ﬂexible ﬂow shop example.

Demand (no. of units)

Due date

Production sequence

30 25 20 15 15 15 15 15 30 30

100 50 87 20 80 60 90 45 35 70

I I I I II II II II III IV

The large scenarios display the same number of orders but diﬀerent demand requirements and due dates: in the ‘close due dates’ scenario the due dates are spread over a smaller interval than the one assumed in the ‘distant due dates’ scenario. Two situations were solved for each of these scenarios: one in which storage in intermediate buﬀers is allowed and another with a no-wait storage policy, i.e. once processing of an unit is ﬁnished at a machine group, operation in

2342

M.C. Gomes et al. Table 9. Order

Scenario with 10 orders for the ﬂexible job shop and ﬂexible job shop with recirculation examples. Demand (no. of units)

Due date

Production sequence

30 25 20 15 15 15 30 15 15 30

100 50 87 22 80 60 90 50 40 70

I I I II II III III III IV IV

O1 O2 O3 O4 O5 O6 O7 O8 O9 O10

Table 10. Scenario with 24 orders and distant due dates (spread between instants 20 and 213). Demand Production Demand Production Order (no. of units) Due date sequence Order (no. of units) Due date sequence O1 O2 O3 O4 O5 O6 O7 O8 O9 O10 O11 O12

15 25 20 30 44 24 15 15 15 15 19 12

20 50 87 100 161 213 45 60 80 90 118 176

I I I I I I II II II II II II

O13 O14 O15 O16 O17 O18 O19 O20 O21 O22 O23 O24

30 39 37 22 17 10 30 28 45 20 27 25

50 110 133 146 166 191 70 113 122 151 172 200

III III III III III III IV IV IV IV IV IV

Table 11. Scenario with 24 orders and close due dates (spread between instants 20 and 120). Demand Production Demand Production Order (no. of units) Due date sequence Order (no. of units) Due date sequence O1 O2 O3 O4 O5 O6 O7 O8 O9 O10 O11 O12

15 25 20 30 27 18 15 15 15 15 30 20

20 50 87 100 78 91 45 60 80 90 50 83

I I I I I I II II II II II II

O13 O14 O15 O16 O17 O18 O19 O20 O21 O22 O23 O24

30 39 32 35 28 12 16 30 28 23 18 39

50 110 65 68 82 111 90 70 113 65 106 120

III III III III III III IV IV IV IV IV IV

Optimal scheduling for ﬂexible job shop operation

2343

the next machine group must be started immediately. This corresponds to assigning null capacities to the intermediate buﬀers in the IP model. Altogether, each manufacturing environment was tested with six data instances. Tables 12–17 show the results obtained by solving the models. Empty intermediate and ﬁnal buﬀers at the start of the scheduling horizon, as well as no units loaded onto machine groups before it were considered. Tables 12, 14 and 16 summarize the results by showing the number of variables and equations of each model, the objective function value and the optimality gap, and the number of iterations and computation time needed for solving the model. Also displayed is the scheduling horizon, which was found by testing diﬀerent values for the T parameter in the models (with T not lesser than the highest due date in the scenario) and choosing the lowest value (rounded to the nearest multiple of ten) that allows completion of all orders. Tables 13, 15 and 17 characterize the solutions more fully by showing other performance measures besides the objective function, which allow for solution comparison between instances. These are: the total demand (total number of units to be produced), the total number of units ﬁnished before and after the orders due dates, the average percentage of an order completed by its due date (ratio between the number of units produced until the order due date and the order demand 100) and the average earliness/tardiness per unit ﬁnished before/after the order due date. Regarding computation times (tables 12, 14 and 16), it is noteworthy that except for the ‘close due dates’ scenario in the ﬂexible job shop with re-circulation example, solution times to obtain (and conﬁrm) optimal solutions reach at most 16 minutes despite the fact that the medium and large scenarios display tenths of thousand variables and equations. Except for the small scenario where the eﬀect is negligible, introduction of re-circulation increased computation times considerably. In the ‘close due dates’ scenario, optimal solutions could not be found in reasonable time and consequently an upper limit for the optimality gap was allowed. With intermediate storage and an upper limit of 5%, the solver found a solution with an optimality gap of 0.75%. With a no-wait storage policy and an upper limit of 2%, a solution with an optimality gap of 1.71% was obtained; both solutions are reported in table 16. Although in these two cases optimal solutions could not be obtained, the margins of optimality are quite small (0.75 and 1.71%). Also observable is the dramatic decrease of computation times in the three examples when a zero-wait policy was imposed in the large scenarios. This can be explained by a lower degree of solution degeneracy, which speeds up the branch and bound search of the solver: the number of iterations is in fact considerably lower. Finally, diﬀerent due date distribution in the large scenarios only had a signiﬁcant impact upon solution times in the ﬂexible job shop with re-circulation example. In the ﬂexible ﬂow shop and job shop examples computation times are similar for the ‘distant due dates’ and the ‘close due dates’ scenarios, either with intermediate storage allowed or with a no-wait policy. Inspection of solution characteristics in tables 13, 15, 17 leads to further interesting conclusions. The average percentage of an order completed until the due date for the 24 order ‘distant due dates’ scenarios is near 99% in the ﬂow shop example and only slightly less in the job shop examples (between 96 and 97%). A greater diﬃculty in meeting

2344

Table 12. Summary of results for the ﬂexible ﬂow shop example. Scenario

Time horizon

Objective function

Optimality gap

No. of equations

No. of variables

No. of iterations

allowed allowed allowed

50 100 220

75.5 644.5 1350.2

0 0 0

2525 9959 44435

3078 15304 75588

1024 15576 78961

0.6 sec 25 sec 5 min

not allowed

220

3105.0

0

44435

75588

3230

11 sec

allowed

150

43554.7

0

30785

52068

60289

4 min

not allowed

150

45080.0

0

30785

52068

3406

8 sec

CPU time M.C. Gomes et al.

4 orders 10 orders 24 orders distant due dates 24 orders distant due dates 24 orders close due dates 24 orders close due dates

Intermediate storage

Scenario 4 orders 10 orders 24 orders distant due dates 24 orders distant due dates 24 orders close due dates 24 orders close due dates

Intermediate storage

Objective function

Total demand (no. of units)

Avg. % until due date

No. of units before due date

Average earliness

No. of units after due date

Average tardiness

allowed allowed allowed

75.5 644.5 1350.2

90 210 579

100.0 95.0 98.6

30 60 278

2.0 1.9 2.7

0 10 5

0.0 2.5 4.0

not allowed

3105.0

579

98.6

391

6.9

5

4.0

allowed

43554.7

575

70.6

319

4.7

164

12.8

not allowed

45080.0

575

70.1

336

9.0

168

12.5

Optimal scheduling for ﬂexible job shop operation

Table 13. Solution characterization for the ﬂexible ﬂow shop example.

2345

2346

Table 14. Summary of results for the ﬂexible job shop example. Scenario

Time horizon

Objective function

Optimality gap

No. of equations

No. of variables

No. of iterations

CPU time

allowed allowed allowed

60 100 220

1942.0 1715.5 3666.9

0 0 0

4182 12094 49762

4046 15918 78036

836 9288 77058

0.8 sec 13 sec 6 min

not allowed

220

7437.0

0

49762

78036

1651

9 sec

allowed

180

103572.6

0

41442

64596

80289

6 min

not allowed

180

105784.0

0

41442

64596

2049

8 sec

M.C. Gomes et al.

4 orders 10 orders 24 orders distant due dates 24 orders distant due dates 24 orders close due dates 24 orders close due dates

Intermediate storage

Scenario 4 orders 10 orders 24 orders distant due dates 24 orders distant due dates 24 orders close due. data 24 orders close due dates

Intermediate storage

Objective function

Total demand (no. of units)

Avg. % until due date

No. of units before due date

Average earliness

No. of units after due date

Average tardiness

allowed allowed allowed

1942.0 1715.5 3666.9

90 210 579

72.1 91.7 96.2

15 30 103

1.7 2.0 2.6

25 15 23

3.8 5.3 6.5

not allowed

7437.0

579

96.2

380

11.7

23

6.5

allowed

103572.6

575

45.9

83

2.7

329

15.7

not allowed

105784.0

575

46.2

205

10.4

329

15.8

Optimal scheduling for ﬂexible job shop operation

Table 15. Solution characterization for the ﬂexible job shop example.

2347

2348

Table 16. Summary of results for the ﬂexible job shop with recirculation example. Scenario

Time horizon

Objective function

Optimality gap

No. of equations

No. of variables

No. of iterations

allowed allowed allowed

50 100 220

1736.5 2011.5 2803.2

0 0 0

3118 11072 48228

3259 15504 78714

694 17954 111919

not allowed

220

7000.0

0

48228

78714

3647

allowed

180

129931.0

0.75%

39828

64794

345631

not allowed

180

143159.0

1.71%

39828

64794

19061

CPU time 0.6 sec 40 sec 16 min 27 sec 2 h 10 min 3.5 min

M.C. Gomes et al.

4 orders 10 orders 24 orders distant due dates 24 orders distant due dates 24 orders close due dates 24 orders close due dates

Intermediate storage

Scenario 4 orders 10 orders 24 orders distant due dates 24 orders distant due dates 24 orders close due dates 24 orders close due dates

Intermediate storage

Objective function

Total demand (no. of units)

Avg. % until due date

No. of units before due date

Average earliness

No. of units after due date

Average tardiness

allowed allowed allowed

1736.5 2011.5 2803.2

90 210 579

68.3 91.7 96.9

20 30 103

1.2 2.0 2.6

30 15 18

2.8 6.3 5.8

not allowed

7000.0

579

96.7

410

11.9

20

5.3

allowed

129931.0

575

41.6

114

2.7

352

18.4

not allowed

143159.0

575

41.3

188

9.1

352

20.1

Optimal scheduling for ﬂexible job shop operation

Table 17. Solution characterization for the ﬂexible job shop with recirculation example.

2349

2350

M.C. Gomes et al.

the due dates would be expected in the 24 order, ‘close due dates’ scenarios; indeed, on average, only 70% of an order is completed by its due date in the ﬂow shop example, a performance measure that decreases sharply in the job shop examples to values between 41 and 47%. The number of late units and the average tardiness per unit are also consistently and considerably higher in the ‘close due dates’ scenarios in any of the three examples. Imposing a zero-wait storage policy further constrains the problem and hence worsens the optimal solution, raising the corresponding value of the objective function; this can be conﬁrmed in both 24-order scenarios, in any of the three examples. Since the values used for the tardiness and earliness coeﬃcients, Ai and Bi, are 20 and 1, respectively, the objective function is less sensitive towards the latter, and the tendency will be to produce more early units than to increase the number of delayed units. This can be once more conﬁrmed in tables 13, 15 and 17 where a zero-wait policy with the large scenarios did in fact raise substantially the number of units produced before the due date, as well as the average earliness per unit, while only slightly increasing the number of delayed units and the average tardiness per unit.

5. Conclusions In this paper a generic ILP model for scheduling make-to-order ﬂexible job shops with negligible set-up eﬀects is presented. Contrary to the majority of job shop models described in the literature, the possibility of product re-circulation is included in the model. Machinery is organized in groups of parallel homogeneous machines, and intermediate buﬀers with limited capacity are considered. No restrictions are imposed upon the processing routes, or production sequences, that the products may follow in the job shop. Orders have an associated due date and discrete demand and production is scheduled so that due dates are met and in-process inventories reduced. The models developed were solved for realistic examples making use of commercially available mathematical programming software. The performance was generally good and supports the claim that MILP approaches to production scheduling problems are becoming competitive with the current hardware and software capabilities. This study also illustrates the ease of dealing with production complexities such as product re-circulation when this kind of approach is adopted. As further research the authors are now extending the present models to tackle the dynamic or reactive scheduling problems that are foreseeable elements of real production environments. This is a topic that has, so far, been insuﬃciently addressed in the scheduling literature as pointed out by Luh and Hoitomt (1993) and Dorn et al. (1998). Increasing problem complexity directly inﬂuences algorithm eﬃciency, as was observed when re-circulation was introduced in the ﬂexible job shop environment. The same can be expected to happen when dynamic characteristics of the problem are considered. Thus, another line of research that should be explored is the study of eﬃcient solution methods, which may include problem decomposition or combination of diﬀerent solution techniques.

2351

Optimal scheduling for ﬂexible job shop operation

Appendix. Models in condensed form A.1 Model for the ﬂexible job shop problem

min

XX

2 4Ni ðQi YiðTþ1Þ Þ þ

j2J i2Ij

T X

0 @

it

Zit þ

t¼0

X

13 Him Ximt A5

m2Mj jf fj g

Subject to: Ximðtþ1Þ ¼ Ximt þ Uiðm1ÞðtPiðm1Þ Þ Uimt 8i 2 I, m ¼ fj : i 2 Ij

X im0 ¼ Qi

8i 2 I, m ¼ fj : i 2 Ij , t ¼ 0, . . . , T

Ximðtþ1Þ ¼ Ximt Uimt

8i 2 I, m ¼ lj : i 2 Ij , t ¼ 0, . . . , T

Yiðtþ1Þ ¼ Yit þ UimðtPim Þ XX j2J: i2Ij m2Mj

X X

8i 2 I, m 2 Mj jffj g : i 2 Ij, t ¼ 0, . . . , T

t X

Uim Cm

8m 2 M, t ¼ 0, . . . , T

¼tPim þ1

Ximt Sm

8m 2 M, t ¼ 0, . . . , T þ 1

j2J: i2Ij m2Mj jf fj g

Variables Ximt, Uimt, Yit are integer. A.2 Model for the ﬂexible job shop with re-circulation problem 2

min

XX6 4N i ðQi YiðTþ1Þ Þ þ

T X

j2j i2I j

t¼0

0 B @

it

Zit þ

X

X

m2Mj f :m f 2M 0 jff 0 g j j

13 C7 Him X im f t A5

Subject to: Xim f ðtþ1Þ ¼ Xim f t þ Uiðm f 1ÞðtP

iðm f 1Þ

Þ

Uim f t 8i 2 I, m f 2 Mj0 jf fj0 g : i 2 Ij , t ¼ 0, . . . , T

Xim f 0 ¼ Qi 8i 2 I, m f ¼ fj0 : i 2 Ij Xim f ðtþ1Þ ¼ Xim f t Uim f t 8i 2 I, m f ¼ fj0 : i 2 Ij , t ¼ 0, . . . , T Yiðtþ1Þ ¼ Yit þ Uim f ðtP

im f

X X X j2J: f :m f 2M 0 i2Ij j m2Mj

X

X

8i 2 I, m f ¼ lj0 : i 2 Ij , t ¼ 0, . . . , T

Þ

t X ¼tP

X

Uim f Cm

8m 2 M, t ¼ 0, . . . , T

þ1 im f

Xim f t Sm

j2J: f :m f 2M 0 jf f 0 g i2Ij j j m2Mj

Variables X im f t , U im f t , Yit are integer.

8m 2 M, t ¼ 0, . . . , T þ 1

2352

M.C. Gomes et al.

References Brown, D.E., Marin, J.A. and Scherer, W.T., A survey of intelligent scheduling systems. In Intelligent Scheduling Systems, edited by D.E. Brown and W.T. Scherer, pp. 1–40, 1995 (Kluwer Academic Publishers: Boston, US). Castro, P., Barbosa-Po´voa, A.P.F.D. and Matos, H., An improved RTN continuous-time formulation for the short-term scheduling of multi-purpose batch plants. Indust. Eng. Chem. Res., 2001, 40, 2059–2068. Chang, S.-C. and Liao, D.-Y., Scheduling ﬂexible ﬂow shops with no set-up eﬀects. IEEE Trans. Robot. Autom., 1994, 10, 112–122. Demirkol, E., Mehta, S. and Uzsoy, R., Benchmarks for shop scheduling problems. Euro. J. Oper. Res., 1998, 109, 137–141. Dorn, J., Girsch, M., David, T. and Prianichnikova, A., Project REFRESH—A Reusable and Extendible Framework for Reactive Scheduling, 1998, Computer Science Department, Vienna University of Technology (http://www.dbai.tuwien.ac.at/proj/Refresh). French, S., Sequencing and Scheduling: An Introduction to the Mathematics of the Job-shop, 1982 (Ellis Horwood: Chichester, UK). GAMS—A User’s Guide, 1998 (GAMS Development Corporation, US). Harjunkoski, I. and Grossman, I.E., Decomposition techniques for multistage scheduling problems using mixed-integer and constraint programming approaches. Comput. Chem. Eng., 2002, 26, 1533–1552. Jain, A.S. and Meeran, S., Deterministic job shop scheduling: Past, present, future. Euro. J. Oper. Res., 1999, 113, 390–434. Jain, A.S. and Meeran, S., A state-of-the-art review of job-shop scheduling techniques, 1998, Technical report, University of Dundee, Scotland, UK. Kim, K.-H. and Egbelu, P.J., Scheduling in a production environment with multiple process plans per job. Int. J. Prod. Res., 1999, 37, 2725–2753. Lageweg, B.J., Lenstra, J.K. and Rinnooy Kan, A.H.G., Job shop scheduling by implicit enumeration. Manage. Sci., 1977, 24, 441–450. Liao, C.-J. and You, C.-T., An improved formulation for the job-shop scheduling problem. J. Oper. Res. Soc., 1992, 43, 1047–1054. Liao, D.-Y., Chang, S.-C., Pei, K.-W. and Chang, C.-M., Daily scheduling for R&D semiconductor fabrication. IEEE Trans. Semicon. Manuf., 1996, 9, 550–560. Low, C. and Wu, T.-H., Mathematical modelling and heuristic approaches to operation scheduling problems in an FMS environment. Int. J. Prod. Res., 2001, 39, 689–708. Luh, P.B. and Hoitomt, D.J., Scheduling of manufacturing systems using the lagrangian relaxation technique. IEEE Trans. Auto. Cont., 1993, 38, 1066–1079. Manne, A.S., On the job-shop scheduling problem. Oper. Res., 1960, 8, 219–223. McKoy, D.H.C. and Egbelu, P.J., Production scheduling in a process and assembly job shop. Prod. Plan. Cont., 1999, 10, 76–86. Pan, C.H., A study of integer programming formulations for scheduling problems. Int. J. Syst. Sci., 1997, 28, 33–41. Papageorgiou, L.G. and Pantelides, C.C., Optimal campaign planning/scheduling of multipurpose batch/semi-continuous plants. 2. A mathematical decomposition approach. Indust. Eng. Chem. Res., 1996, 35, 510–529. Pinedo, M., Scheduling: Theory, Algorithms and Systems, 1995 (Prentice-Hall: New Jersey, US). Reklaitis, S., Overview of Scheduling and Planning of Batch Process Operations, 1992 (NATO Advanced Study Institute, Batch Processing Systems Engineering, Antalya, Turkey). Roslo¨f, J., Harjunkoski, I., Westerlund, T. and Isaksson, J., Solving a large-scale industrial scheduling problem using MILP combined with a heuristic procedure. Euro. J. Oper. Res., 2002, 138, 29–42. Sawik, T., Mixed integer programming for scheduling ﬂexible ﬂow lines with limited intermediate buﬀers. Math. Comput. Model., 2000, 31, 39–52. Shah, N., Pantelides, C.C. and Sargent, R.W.H., A general algorithm for short-term scheduling of batch operations. II. Computational issues. Comput. Chem. Eng., 1993, 17, 229–244. Shapiro, J.F., Mathematical programming models and methods for production planning and scheduling. In Handbooks in Operations Research and Management Science,

Optimal scheduling for ﬂexible job shop operation

2353

Volume 4: Logistics of Production and Inventory, edited by S.C. Graves, A.H.G. Rinnooy Kan and P.H. Zipkin, pp. 371–443, 1993 (North Holland: Amsterdam). Schilling, G. and Pantelides, C.C., A simple continuous-time process scheduling formulation and a novel solution algorithm. Comput. Chem. Eng., 1996, 20, S1221–S1226. Sule, D.R., Industrial Scheduling, 1997 (PWS Publishing Company: Boston, US). Wilkinson, S.J., Aggregate Formulations for Large-scale Process Scheduling Problems, PhD thesis, 1996 (Imperial College, London, UK). Yaghubian, A.R., Hodgson, T.J. and Joines, J.A., Dry-or-buy decision support for dry kiln scheduling in furniture production. IIE Trans., 2001, 33, 131–136. Zhang, X. and Sargent, R., The optimal operation of mixed production facilities—general formulation and some solution approaches to the solution. Comput. Chem. Eng., 1996, 20, 897–904. Zhu, Z. and Heady, R.B., Minimizing the sum of earliness/tardiness in multi-machine scheduling—a mixed integer programming approach. Comput. Indust. Eng., 2000, 38, 297–305.

Optimal scheduling for ﬂexible job shop operation M.C. GOMESy*, A.P. BARBOSA-PO´VOAz and A.Q. NOVAIS§ yCESUR-Department of Civil Engineering and Architecture, Instituto Superior Te´cnico, Av. Rovisco Pais, 1049-001 Lisboa, Portugal zCEG-IST-Department of Engineering and Management, Instituto Superior Te´cnico, Av. Rovisco Pais, 1049-001 Lisboa, Portugal §Department of Process Modelling and Simulation, Instituto Nacional de Engenharia, Tecnologia e Inovac¸a˜o, Est. Pac¸o do Lumiar, 1649-038 Lisboa, Portugal

(Received July 2004) This paper presents a new integer linear programming (ILP) model to schedule ﬂexible job shop, discrete parts manufacturing industries that operate on a maketo-order basis. The model considers groups of parallel homogeneous machines, limited intermediate buﬀers and negligible set-up eﬀects. Orders consist of a number of discrete units to be produced and follow one of a given number of processing routes. The model allows re-circulation to take place, an important issue in practice that has received scant treatment in the scheduling literature. Good solution times were obtained using commercial mixed-integer linear programming (MILP) software to solve realistic examples of ﬂexible job shops to optimality. This supports the claim that recent advances in computational power and MILP solution algorithms are making this approach competitive with others traditionally applied in job shop scheduling. Keywords: Scheduling; Flexible job shop; Make-to-order industries; Re-circulation; Integer linear programming model

1. Introduction Scheduling of activities that compete for limited resources over a ﬁnite time period is a pervasive problem that most organizations, both large and small, have to solve. Solution methodologies have been widely investigated in many ﬁelds of engineering, computer science, management science and business, causing the literature on scheduling to be large, diverse and diﬀuse (Reklaitis 1992, Brown et al. 1995). These methodologies can be classiﬁed as exact or approximate, depending on whether they seek for the optimal solution of a problem or for a good, hopefully near-optimal, solution. Except for a minority of problems for which constructive algorithms of polynomial complexity are described, most scheduling problems have been proved to be NP-hard which means the computational requirements for obtaining an optimal solution grow exponentially as the problem size increases. Exact approaches are

*Corresponding author. Email: [email protected] International Journal of Production Research ISSN 0020–7543 print/ISSN 1366–588X online # 2005 Taylor & Francis Group Ltd http://www.tandf.co.uk/journals DOI: 10.1080/00207540412331330101

2324

M.C. Gomes et al.

therefore limited to implicit enumeration algorithms tailored to the problem (branch and bound, dynamic programming) or to formulation in mixed-integer linear programming (MILP) and subsequent solution of the model, which also resorts to implicit enumeration. In either situation the algorithms display exponential complexity, which means exact methods can only be applied with success to problems of small size (French 1982). For larger scheduling problems, solution approaches described in the literature make use of heuristics, meta-heuristics (like Tabu search, simulated annealing or genetic algorithms), artiﬁcial intelligence (namely constraint programming and neural networks) or approximate solution of MILP models, such as Lagrangian relaxation (Jain and Meeran 1998). However, the size of NP-hard scheduling problems, for which results with exact methodologies can be obtained, has been consistently increasing with the expansion of computer capacity. In the case of MILP approaches, another factor adds to this eﬀect: the development of algorithms for solving this type of model, which have been incorporated into increasingly eﬃcient software tools nowadays available to researchers (Pan 1997, Sawik 2000, Harjunkoski and Grossmann 2002). These aspects have been explored both in the operations research and in the process systems engineering domains. In the former and since the 1950s, one of the main applications of scheduling has been in the production area, where decisions regarding resource allocation for the manufacture of goods have to be made. Research in this area has traditionally centred on discrete parts manufacturing industries. Two families of problems have been intensively studied: scheduling of ﬂow shops, where jobs visit a set of machines arranged sequentially until all their service needs are satisﬁed, and job shop scheduling, an environment where machines are grouped into work centres according to functions, and jobs visit the machines in diﬀerent orders. For the latter and starting in the middle 1970s, application of scheduling methodologies has been largely addressed. The increased tailoring of products to speciﬁc customer needs led to more product types and lower production requirements for individual products; multi-product batch and semi-continuous operations gained increased importance to corporate long-term business plans. The resulting need to share and co-ordinate productive resources increased the interest in solving scheduling problems in this type of industry (Reklaitis 1992). A literature survey of production scheduling, directed at discrete parts manufacturing industries, shows that the application of MILP formulations has been quite limited so far. French (1982) holds a negative view on the approach of scheduling problems by MILP, which is subscribed more recently by other authors such as Jain and Meeran (1998, 1999). Pinedo (1995) and Sule (1997) dedicate only an appendix of their books to mathematical programming formulations of scheduling problems. Most of the authors that apply MILP to scheduling problems in the discrete parts manufacturing ﬁeld aim at measuring the quality of a proposed heuristic or other approximate methods. With this purpose, they compare the optimal and approximate solutions of medium to small size problems. Some recent examples are the work of Yaghubian et al. (2001), Low and Wu (2001) and also the perspective of Zhu and Heady (2000) when developing their MILP model. Shapiro (1993), when presenting the model of Lageweg et al. (1977), also declares that the practical use of mathematical programming models for job shop scheduling is the identiﬁcation of demonstrably good schedules.

Optimal scheduling for ﬂexible job shop operation

2325

Few attempts to increase the performance of MILP models for scheduling this type of industry are reported in the literature, especially in the job shop case; some examples are given hereafter. Liao and You (1992) are the ﬁrst authors in 30 years to consider and improve the model presented by Manne (1960) for the general job shop-scheduling problem. Kim and Egbelu (1999) develop an optimization model for a job shop environment that resorts to commercial MILP software but is speeded up by a pre-processing phase. McKoy and Egbelu (1999) address a job shop scheduling problem where jobs have processing and assembly requirements; they present a mathematical programming model and an heuristic algorithm that combines this model with decision rules to reduce the problem size. Zhu and Heady (2000) present a MILP model for minimizing job earliness and tardiness in a multi-machine scheduling problem and analyse a range of hypothesis to increase model eﬃciency. They also express the view that, since MILP problems are known to be particularly susceptible to clever programming techniques, it is possible that future MILP implementations will eﬃciently solve problems of industrial size. For a review and comparison of MILP formulations for job shop, ﬂow shop and permutation ﬂow shop scheduling problems described in the literature, refer to Pan (1997). The situation of MILP-based scheduling for discrete parts manufacturing contrasts sharply with the development of this type of methodology for solving scheduling problems in the process industries. In this area, a greater eﬀort has been made to improve the performance of MILP models so that they can be applied to increasingly larger problems; a few examples are listed below. Shah et al. (1993) thoroughly explore the characteristics of the problem of short-term scheduling of multi-purpose batch operations so as to accelerate the solution of the MILP model they present. Papageorgiou and Pantelides (1996) propose a rigorous decomposition approach to solve a MILP model for campaign planning/scheduling of multi-purpose batch/semicontinuous plants and exploit it to reduce the size of models and the integrality gap. Wilkinson (1996) introduces temporal aggregation operators to address large-scale process scheduling problems. Other modelling techniques have been explored by Zhang and Sargent (1996), Schilling and Pantelides (1996) and Castro et al. (2001) where more generalized models were obtained at the cost of harder computational times. Combination of MILP models and other techniques is also an area of current research; two recent examples are the work of Harjunkoski and Grossman (2002), combining MILP and constraint programming to solve multi-stage scheduling problems, and the one of Roslo¨f et al. (2002) that combines MILP and a heuristic procedure to solve a large-scale industrial scheduling problem. As a main conclusion it can be stated that mathematical programming approaches to scheduling have the advantage of providing a general framework for modelling a large variety of problems (Harjunkoski and Grossmann 2002). Diﬀerent objective functions and incorporation of new constraints in the models are easily handled (Pan 1997), which is not the case for solution methodologies highly dependent on the problem structure. Use of this approach to tackle scheduling problems in discrete parts manufacturing has been quite limited so far but deserves further study since increasingly powerful hardware and software tools are available to researchers. In this paper we develop an integer linear programming (ILP) model (there are no continuous variables, only integer variables) for scheduling production in the job shop, make-to-order industries where set-up eﬀects are negligible. The model is

2326

M.C. Gomes et al.

quite general in its assumptions and closer to the reality of the manufacturing industry than many models presented in the literature for the job shop scheduling problem. Re-circulation in a job shop occurs when certain jobs visit some machines or machine groups more than once. Since this is quite a common phenomenon in the real world (Pinedo 1995) that has been scarcely addressed in the job shop scheduling literature so far, the model was extended to allow job re-circulation. Optimal solutions of the model for realistic examples were obtained by using commercial MIP software. The model is an adaptation to the job shop case of the model proposed by Chang and Liao (1994) for ﬂexible ﬂow shops with no set-up eﬀects. Invoking the problem NP-hardness, these authors present an approximate, near-optimal solution method for their model based on Lagrangian relaxation; optimal solution of the model was not attempted. This drawback was completely overcome in the present work and a general mathematical model for job shop scheduling is provided which is solved to optimality. In the remainder of this paper we deﬁne the problem and the underlying hypothesis (section 2) and present models for ﬂexible job shop scheduling with and without re-circulation (section 3). In section 4 the application of the models to realistic examples is described and the computational results analysed. Finally, the conclusions of the study are drawn in section 5. 2. Problem deﬁnition This section describes the ﬂexible job shop manufacturing environment modelled, which is depicted in ﬁgure 1. The shop manufactures medium-volume discrete products of diﬀerent types in a make-to-order basis. Production orders correspond to one product type each and have an associated demand (a number of discrete units to be produced) and due date; production must be scheduled to meet the orders due dates in a just-in-time philosophy.

1st b1

M1

b2

M2

b3

M3

b5

M5

b6

M6

2nd

b4

M4

b10

1st b7

M7

b8

M8

2nd

b9

Production sequence I Production sequence II Production sequence III Figure 1.

Manufacturing environment modelled.

M9

b11

Optimal scheduling for ﬂexible job shop operation

2327

Each product type has a pre-deﬁned processing route, or production sequence, and each operation in the sequence may be performed in a machine group. Machine groups, represented by rectangles in ﬁgure 1, consist of a few homogeneous machines that may process several units in parallel with an upper bound on the total number of units being processed at the same time—the machine group capacity. Machine groups have buﬀers (depicted by circles in ﬁgure 1) where units wait for processing in the group. Intermediate buﬀers have ﬁnite capacity, while input buﬀers of a production sequence (b1 and b7 in ﬁgure 1), as well as stocks of ﬁnished order units (b10 and b11 in ﬁgure 1), are considered as inﬁnite in size. Machine groups and buﬀers can be shared between production sequences or be unique to a production sequence. While none of the MIP job shop models reviewed by Pan (1997) models buﬀers, which means queues between machines are unlimited in size, ﬁnite buﬀers have to be considered when products are physically large and the buﬀer space between successive machines has a limited capacity. In ﬁgure 1, three production sequences, each corresponding to a product type, are shown. Re-circulation takes place in sequences I and III; note that one machine group in each sequence has two exit arrows instead of one, distinguished with the notation 1st and 2nd. In production sequence I, products go through machine groups M1, M2 and M3, (in this order); then, when leaving machine group M3 they enter the buﬀer of machine group M2 again. They are then processed a second time in machine group M2 and afterwards in machine group M3. This time, they leave this machine group to be processed in machine group M4, the last in the production sequence. The sequence of machine groups visited is thus M1M2M3M2M3M4. Regarding production sequence II, products are diﬀerently routed when leaving machine group M8, depending on whether this is the ﬁrst or the second time they visit the machine group. The sequence of machine groups visited in this sequence is M7M8M6M8M9. The number of units (of a given product type) in an order can be divided into diﬀerent lots (smaller numbers), which are loaded onto machine groups throughout the scheduling horizon. The way an order is divided for processing in a machine group is independent of the division that takes place in other machine groups of the same production sequence. Processing times depend only on the product type and the machine group; they are independent of the total number of units of a given product type loaded onto a machine group. The ﬂexibility in the present environment stems from the fact that one product unit can be processed in any machine of a machine group, and several units of diﬀerent product types may be in process at a given time period in a machine group. On the contrary, in the classical job shop problem there is only one machine for each operation which can only process one job at a time. Two other salient features that distinguish the environment modelled in the present work from the classical job shop problem studied in the literature deserve mention here. First, no restrictions are imposed upon the production sequences that the products may follow, while in the classical job shop scheduling problem all jobs visit the same set of machines in random order (Pan 1997, Demirkol et al. 1998), which is a rather theoretical assumption. Second, storage in intermediate buﬀers is limited while in the classical job shop problem there are no limits upon buﬀer size. Set-up time in ﬂow shop and job shop scheduling is a key concern for most practitioners and has been assumed by researchers to be negligible,

2328

M.C. Gomes et al.

sequence-independent or sequence-dependent (Low and Wu 2001). In the manufacturing environment modelled, set-up times and costs are assumed to be negligible. Finally, material handling facilities for the transport of products in the shop are assumed to be non-restrictive. This means the only constraints imposed on the problem of scheduling orders are the ﬁnite capacities of buﬀers and machine groups.

3. Mathematical models Mathematical programming models for the classical ﬂow shop and job shop problems published in the literature can be classiﬁed into two groups. One group uses binary variables that establish the sequence of jobs in machines and continuous variables that decide the time a job is started (or ﬁnished) in a given machine; the exact deﬁnition of variables depends on the model. Another group divides the scheduling horizon into a number of intervals of equal duration (discrete time representation) and uses binary variables associated with the processing of each job in each machine group at each interval limit. While the number of variables in the ﬁrst type of models depends on the number of jobs and machines, in the second group the variable count depends additionally on the length of the scheduling horizon. In this section a ‘discrete time model’ for ﬂexible job shops is presented and subsequently generalized to account for re-circulation within the production sequences. A feature of the proposed models is that they use integer variables associated with each interval limit as opposed to the common use of binary variables. This is explained by the fact that in the environment modelled, orders are composed of several discrete units, whereas in traditional job shop models each order corresponds to an individual job. Since orders may be divided into smaller lots for processing at machine groups, the use of a ‘sequencing model’ in this case would imply deﬁnition of binary sequencing variables for each unit of an order hence resulting in a very large model.

3.1 Model for the ﬂexible job shop problem While there is only one production sequence or ﬂow line in a ﬂow shop, job shops display multiple ﬂow lines that share manufacturing resources—machine groups and buﬀers in the present case. To generalize to the job shop case the ﬂexible ﬂow shop model of Chang and Liao (1994), which contains a single implicit production sequence, diﬀerent production sequences must be explicitly considered. Hence, a production sequence index was added to the ﬂexible ﬂow shop model indices (for orders, machine groups and time). Together with the introduction of a notation based on the deﬁnition of sets, this allowed the generic form of the constraints and objective function in the ﬂexible ﬂow shop model to be kept in the job shop model. Two features of the ﬂexible ﬂow shop model not considered in the generalization are variable machine group capacities throughout the scheduling horizon

2329

Optimal scheduling for ﬂexible job shop operation

(parameters) and overtime capacities (decision variables). These are minor simpliﬁcations that can be easily incorporated in the job shop model developed. The models will be subsequently described and commented in detail; they are written in a condensed form in the appendix. 3.1.1 Indices i j m t

Order Production sequence Machine group Time

The treatment of time in this work is shown in ﬁgure 2, where the scheduling horizon is divided into T intervals of equal length. Time at the interval limits will be called ‘instants’ from now onwards. The model requires intervals to be deﬁned before and after the scheduling horizon, as will be discussed later on.

3.1.2 Sets I J Ij M Mj

Set Set Set Set Set

of of of of of

orders (released at the beginning of the scheduling horizon) production sequences orders that follow production sequence j machine groups machine groups in production sequence j

Special set elements deﬁned for each production sequence j: fj lj

First machine group in production sequence j fj 2 Mj Last machine group in production sequence j lj 2 Mj

Sets I, J, Ij and M are unordered collections of elements while set Mj is the ordered set of machine groups in production sequence j. This means that for each machine group in Mj we can refer to its preceding and succeeding elements, which correspond to the machine groups before and after that machine group in production sequence j. To illustrate sets deﬁnition, we present an example with seven machine groups and two production sequences: J ¼ {1,2} Unordered set of production sequences M ¼ {m1, m2, m3, m4, m5, m6, m7} Unordered set of machine groups M1 ¼ {m1, m2, m4, m5, m7} Ordered set of machine groups for production sequence 1 Scheduling horizon

….

…. -4

-3

-2

-1

Figure 2.

0

1

2

3

4

T-1 T

Division of the scheduling horizon.

T+1

Time

2330

M.C. Gomes et al.

M2 ¼ {m2, m6, m5, m3} f1 ¼ m1 l1 ¼ m7 f2 ¼ m2 l2 ¼ m3

Ordered set of machine groups for production sequence 2 First machine group in production sequence 1 Last machine group in production sequence 1 First machine group in production sequence 2 Last machine group in production sequence 2

3.1.3 Parameters Qi di Cm Sm Pim Ai Bi Him Ni

Demand for order i (number of units) Due date for order i Capacity of machine group m Capacity of the buﬀer of machine group m Processing time of order i in machine group m Tardiness penalty coeﬃcient for one unit of order i/time unit Earliness penalty coeﬃcient for one unit of order i/time unit In-process inventory cost for order i in the machine group buﬀer m/time unit Penalty for each unit of order i not produced at the end of the scheduling horizon

3.1.4 Variables. Ximt Uimt Yit

Three kinds of variables are deﬁned:

Number of units of order i in the buﬀer preceding machine group m between instants t 1 and t Number of units of order i loaded onto machine group m for processing at instant t Number of ﬁnished units of order i between instants t 1 and t.

All variables are integer. Figure 3 illustrates the association of X and Y variables with intervals (of unit length) and U variables with interval limits (instants). Until they are ﬁnished, units of order i go (even if instantaneously) through the buﬀers that precede the machine groups in the corresponding production sequence; this is accounted for by the Ximt variables. Even when their processing has not started, units are considered to be lodged in the buﬀer before the ﬁrst machine group in the production sequence. However, the stock of ﬁnished units of an

Uimt

....

…. t–1

t

t+1

Ximt , Yit Figure 3.

Representation of the model variables.

Optimal scheduling for ﬂexible job shop operation

2331

order is not associated with any machine group; this is the reason why ‘ﬁnal buﬀers’ are described by a new set of variables Yit. The Uimt variables take into account division of order i into smaller sets for processing in machine group m and hence T X

U imt Qi

8i 2 I,

m 2 Mj : i 2 I j

ð1Þ

t¼0

is a constraint implicit in the model.

3.1.5 Constraints 3.1.5.1 Flow balance equations. Flow balance equations establish the relationship between the number of units of an order i in each buﬀer in adjacent time intervals. They are deﬁned over three types of buﬀers: intermediate, initial and ﬁnal buﬀers. The number of units in the intermediate and ﬁnal buﬀers at the start of the scheduling horizon (t ¼ 0): Xim0

8i 2 I, m 2 Mj jffj g : i 2 Ij

ð2Þ

Yi0

8i 2 I

ð3Þ

and the units loaded onto the machine groups at instants t ¼ Pim, t ¼ Pim þ 1, . . . , t ¼ 1 (i.e. before the start of the scheduling horizon): UimðPim Þ , UimðPim þ1Þ , . . . , Uimð1Þ

8i 2 I, m 2 Mj : i 2 Ij

ð4Þ

are preset parameters of the ﬂow balance equations.

3.1.5.2

Intermediate buﬀers

Ximðtþ1Þ ¼ Ximt þ Uiðm1ÞðtPiðm1Þ Þ Uimt 8i 2 I, m 2 Mj jffj g : i 2 Ij, t ¼ 0, . . . , T

ð5Þ

where: – Ximt is the number of units of order i in the buffer of machine group m between instants t 1 and t; – Uiðm1ÞðtPiðm1Þ Þ is the number of units of order i that the preceding machine group in the production sequence (m 1) ﬁnished processing at instant t and hence were added to the buffer of machine group m at that instant. Note that, since the processing time of order i at machine group m 1 is Pi(m1), the number of units of order i ﬁnished at instant t were loaded onto that machine group at instant t Pi(m1) (all processing times are integer); – Uimt is the number of units of order i loaded onto machine group m at instant t and hence withdrawn from the buffer; – Xim(t þ 1) is the number of units of order i in the buffer of machine group m between instants t and t þ 1, i.e. those that remain in the buffer after loading of the machine group m at instant t. Note that Xim(T þ 1) is the number of units of order i in the buﬀer of machine group m between instants T and T þ 1, i.e. at the end of the scheduling horizon.

2332

M.C. Gomes et al.

3.1.5.3 Initial buﬀer. For the ﬁrst machine group in the production sequence of order i the term Uiðm1ÞðtPiðm1Þ Þ is dropped from the equation since there is no machine group preceding it. Also, the number of units of order i initially in this buﬀer is Qi because all orders are released at the beginning of the scheduling horizon. The ﬂow balance equations are then: Xim0 ¼ Qi Ximðtþ1Þ ¼ Ximt Uimt

8i 2 I, 8i 2 I,

m ¼ f j : i 2 Ij m ¼ fj : i 2 Ij , t ¼ 0, . . . , T:

ð6Þ ð7Þ

3.1.5.4 Final buﬀer. Regarding the ﬁnal buﬀer, i.e. the stock of ﬁnished units of order i, since there are no other machine groups the term Uimt is dropped from the ﬂow balance equation. Finished units of an order are not associated with any buﬀer that precedes a machine group, so in the equation Ximt variables are replaced by Yit variables: Yiðtþ1Þ ¼ Yit þ UimðtPim Þ

8i 2 I,

m ¼ lj : i 2 Ij , t ¼ 0, . . . , T

ð8Þ

Yi(T þ 1) is the number of ﬁnished units of order i between instants T and T þ 1, i.e. at the end of the scheduling horizon. 3.1.5.5 Machine capacity constraints. A unit of order i loaded onto machine group m needs a period of length Pim to complete the processing; consequently the sum t X

Uim

ð9Þ

¼tPim þ1

is the total number of units of order i that machine group m is processing after being loaded at instant t and until instant t þ 1. The total amount of units being processed in each machine group between instants t and t þ 1 cannot exceed the machine group capacity Cm, hence the sum above must be extended to all production sequences containing the machine group and all products that follow these production sequences: XX j2J: m2Mj

t X

Uim Cm

8m 2 M, t ¼ 0, . . . , T:

ð10Þ

i2Ij ¼tPim þ1

3.1.5.6 Buﬀer capacity constraints. The total amount of units in the buﬀer of machine group m in each interval cannot exceed the buﬀer capacity: X X Ximt Sm 8m 2 M, t ¼ 0, . . . , T þ 1 ð11Þ j2J: m2Mj jf fj g

i2Ij

where Sm is the capacity of the buﬀer and the Ximt variables are summed over all production sequences containing machine group m (except for the sequences in which it is the ﬁrst machine group, since initial buﬀers are unlimited) and all products that follow these production sequences. The inequality must also hold for t ¼ T þ 1 since buﬀer capacities cannot be exceeded at the end of the scheduling horizon.

Optimal scheduling for ﬂexible job shop operation

2333

Because buﬀer capacities are limited, an order i (or part of it) will be loaded onto a machine group m at a given instant t only if the following buﬀer in the production sequence has room to store the units at instant t þ Pim, when processing is complete (refer to equation 5). Hence, although there may be units lodging in its buﬀer, a machine group may be empty if it is not possible to accommodate the units, once ﬁnished, in the next buﬀers. This is diﬀerent from machine blocking, where completed units remain in a machine group because the next buﬀer(s) in the production sequence(s) are full, thus reducing the machine group capacity available to work on other units. Blocking, in this sense, is not allowed by the model.

3.1.6 Objective function. The objective function includes three types of costs: costs derived from failing to meet the ‘just in time’ due dates, in-process inventory costs and costs of orders not fully completed at the end of the scheduling horizon. Units that constitute an order are accounted for individually in the objective function. If a unit is ﬁnished before the due date of the corresponding order, inventory costs are incurred; if it is completed afterwards an overdue penalty has to be paid for. Naming the overdue penalty and the inventory cost of each unit of order i per time unit as Ai and Bi, respectively, earliness/tardiness penalty coeﬃcients for order i at instant t are obtained by multiplying these coeﬃcients by the time interval between t and the order due date di: ( Bi ðd i tÞ t di 8i 2 I, t ¼ 0, . . . , T: ð12Þ it ¼ Ai ðt d i Þ t > di Diﬀerences in Ai and Bi coeﬃcients between orders may reﬂect their relative importance or priorities. To obtain the total penalty for order i, earliness/tardiness penalty coeﬃcients must be multiplied by the number of units of order i whose processing was ﬁnished at instant t, and the sum extended to the whole scheduling horizon: T X it

Zit

ð13Þ

t¼0

Zit is the number of units ﬁnished at instant t and hence whose processing started in the last machine group of production sequence j at instant t Pim: Zit ¼ UimðtPim Þ

8i, m ¼ lj : i 2 Ij , t ¼ 0, . . . , T:

ð14Þ

Units lodging in the intermediate buﬀers of production sequences are accounted for as in-process inventory costs. Him is deﬁned as the in-process inventory cost in the buﬀer of machine group m per unit of order i and time unit; the in-process inventory cost for order i in buﬀer m between instants t 1 and t corresponds to multiplying Him by the number of units of order i in the buﬀer during that interval, Ximt. The sum is extended to the scheduling horizon and all intermediate buﬀers of production sequence j: T X X t¼0

m2Mj jf fj g: i2Ij

Him Ximt :

ð15Þ

2334

M.C. Gomes et al.

The penalty term for orders not fully completed at the end of the scheduling horizon is: Ni ðQi YiðTþ1Þ Þ

ð16Þ

where Qi Yi(T þ 1) is the number of units of order i not completed at the end of the scheduling horizon and Ni the penalty coeﬃcient per unit (which may diﬀer between orders). Finally the objective function is obtained by adding the costs above and extending the sum to all production sequences and all products: 2 0 13 T XX X X @ it Zit þ 4Ni ðQi YiðTþ1Þ Þ þ min ð17Þ Him Ximt A5: j2J i2Ij

t¼0

m2Mj jffj g

If no penalty term was added, minimization of the second and third terms would imply a value of zero for X and Z variables, i.e. no production would take place.

3.2 Model for the ﬂexible job shop with re-circulation problem In the job shop with re-circulation, jobs may visit certain machine groups more than once. Re-circulation is a feature of industries like the semiconductor industry, where the multi-layered nature of silicon wafers implies many visits to the same machine group, or the mould making industry, where the process of carving a cavity has to be divided into stages due to the need of intermediate operations. Chang and Liao adapted their model and solution method (1994) to the semi-conductor industry (Chang et al. 1996), an environment that does not display the diﬀerent production sequences through machine groups typical of a job shop. To generalize the ﬂexible job shop model to the re-circulation case, a production stage index was added to the indices previously deﬁned. Also, instead of representing production sequences by ordered sets of machine groups, they are now ordered sets of pairs (machine group, production stage), as explained in section 3.2.2. 3.2.1 Indices i j m f t

Order Production sequence Machine group Production stage Time

3.2.2 Sets I J Ij M Mj Mj0

Set of orders (released at the beginning of the scheduling horizon) Set of production sequences Set of orders that follow production sequence j Set of machine groups Set of machine groups in production sequence j Set of pairs of machine groups and production stage (designated m f) in production sequence j

Optimal scheduling for ﬂexible job shop operation

2335

Special set elements: fj0 lj0

First pair m f (machine group, production stage) in production sequence j fj0 2 Mj0 Last pair m f (machine group, production stage) in production sequence j lj0 2 Mj0

In this model sets I, J, Ij, M and Mj are unordered while set Mj0 is ordered and corresponds to the machine groups sequence in production sequence j. The following example illustrates set deﬁnition: J ¼ {1,2} M ¼ {m1,m2,m3,m4,m5,m6,m7} M1 ¼ {m1,m2,m4,m5,m7} M2 ¼ {m2,m6,m5,m3} M10 ¼ fm11 , m12 , m14 , m22 , m15 , m17 , m25 g M20 ¼ fm12 , m16 , m15 , m13 , m26 , m25 , m23 , m33 g f10 ¼ m11 l10 ¼ m25 f20 ¼ m12 l20 ¼ m33

Unordered set of production sequences Unordered set of machine groups Unordered set of machine groups in production sequence 1 Unordered set of machine groups in production sequence 2 Ordered set of pairs m f in production sequence 1 Ordered set of pairs m f in production sequence 2 First pair m f in production sequence 1 Last pair m f in production sequence 1 First pair m f in production sequence 2 Last pair m f in production sequence 2

Note that in here, sets M1 and M2 merely state the machine groups present in each production sequence, while sets M10 and M20 establish the actual production sequences. In production sequence 1, products go once through machine groups m1, m4, and m7 (the corresponding elements in set M10 are m11 , m14 and m17 ) and twice through machine groups m2 and m5 (an so elements m12 , m22 , m15 and m25 can be found in M10 ). In production sequence 2 machine group m2 is visited once, machine groups m5 and m6 twice and machine group m3 three times. 3.2.3 Parameters Pim f

Processing time of order i on machine group m for the f th time.

All the other parameters are deﬁned as in the previous model (section 3.1). 3.2.4 Variables Xim f t Uim f t Yit

Number of units of order i in the buﬀer of machine group m between instants t 1 and t, waiting to be processed for the f th time in that machine group Number of units of order i loaded at instant t onto machine group m to be processed for the f th time Number of ﬁnished units of order i between instants t 1 and t

All variables are integers.

2336

M.C. Gomes et al.

3.2.4.1 Flow balance equations. The three ﬂow balance equations of the ﬂexible job shop model are generalized to include product re-circulation by replacing in the former model: – machine groups m by pairs m f (machine group, production stage); – sets Mj by sets Mj0 (ordered sets of m f pairs, which establish the production sequences in the re-circulation model). Given: 8i 2 I, m f 2 Mj0 jffj0 g : i 2 Ij

Xim f 0

Yi0 Uim f ðP

3.2.4.2

im f

8i 2 I

Þ , Uim f ðPim f þ1Þ , . . . , Uim f ð1Þ

ð18Þ ð19Þ

8i 2 I, m f 2 Mj0 : i 2 Ij

ð20Þ

Intermediate buﬀers Xim f ðtþ1Þ ¼ Ximf t þ Uiðm f 1ÞðtP f

8i 2 I, m 2

Mj0 jf fj0 g

iðm f 1Þ

Þ

Uim f t

ð21Þ

: i 2 Ij , t ¼ 0, . . . , T

where m f 1 is the pair (machine group, production stage) previous to m f in ordered set Mj0 . 3.2.4.3

Initial buﬀer 8i 2 I, m f ¼ fj0 : i 2 Ij

Xim f 0 ¼ Qi

f

Xim f ðtþ1Þ ¼ Xim f t Uim f t

3.2.4.4

fj0

ð22Þ

: i 2 Ij , t ¼ 0, . . . , T

ð23Þ

8i 2 I, m f ¼ lj0 : i 2 Ij , t ¼ 0, . . . , T

ð24Þ

8i 2 I, m ¼

Final buﬀer Yiðtþ1Þ ¼ Yit þ Uim f ðtP

im f

Þ

3.2.4.5 Machine capacity constraints. To generalize the machine capacity constraints in the ﬂexible job shop model to the re-circulation case, it is necessary to account for the units of order i loaded onto a machine group that correspond to diﬀerent production stages within the same production sequence. Consequently, the sum of the U variables is further extended to all m f pairs in set Mj0 : X X X j2J: m2Mj

t X

Uimf Cm

8m 2 M, t ¼ 0, . . . , T:

ð25Þ

0 f :m f 2Mj i2Ij ¼tPimf þ1

3.2.4.6 Buﬀer capacity constraints. Generalization of the buﬀer capacity constraints is similar to the previous one. All order units corresponding to diﬀerent production stages in the same production sequence have to be accounted for when

2337

Optimal scheduling for ﬂexible job shop operation

computing the number of units lodging in the buﬀer of each machine group between instants t 1 and t. The sum of the X variables is thus extended to all m f pairs in set Mj0 , except for the ﬁrst one: X X X Xim f t Sm 8m 2 M, t ¼ 0, . . . , T þ 1: ð26Þ j2J: f :m f 2M 0 jf f 0 g j j m2Mj

i2Ij

3.2.5 Objective function. Finally, objective function generalization is straightforward. On the one hand, Zit is the number of units of order i ﬁnished at instant t whose processing started in the last machine group of production sequence j at instant t Pim f : Zit ¼ Uim f ðtP

imf

Þ

8i, m f ¼ lj0 : i 2 Ij , t ¼ 0, . . . , T:

ð27Þ

On the other hand, in-process inventory costs have to account for the order units in machine group buﬀers that correspond to diﬀerent production stages in the same production sequence. Thus we have: 2 0 13 T XX6 X X X B C7 Min H im X im f t A5: @ it Zit þ 4N i ðQi YiðTþ1Þ Þ þ j2J i2I j

m2Mj f :m f 2M 0 jf f 0 g j j

t¼0

ð28Þ

4. Computational study To test model performance, examples of diﬀerent manufacturing environments were constructed: a ﬂexible ﬂow shop, a ﬂexible job shop and a ﬂexible job shop with re-circulation example. The Generic Algebraic Modelling System (GAMS) was used as the modelling tool and CPLEX version 7.0.0 (with default settings) as the solver running on a 1000 MHz Pentium III with 256MB RAM and Windows 2000 operating system. The ﬂexible ﬂow shop example (ﬁgure 4) is a realistic example of a discrete-part, make-to-order industry (Chang and Liao 1994). It displays eight machine groups arranged in line and four production sequences that run through the line but may skip some machine groups (depending on the sequence). For instance, machine group M6 is skipped in production sequence I. Application of the developed ﬂexible

M1

M2

M3

M4

M5

M6

Production sequence I Production sequence II Production sequence III Production sequence IV

Figure 4.

Flexible ﬂow shop example.

M7

M8

2338

M.C. Gomes et al.

M1

M2

M3

M4

M5

M7

M8

M6

M9

M10

M11

M12

M13

M14

M15

Production sequence I Production sequence II Production sequence III Production sequence IV

Figure 5.

Flexible job shop example.

2nd M1

M2

M3

M4

M5

M7

M8

1st M6 1st M9

M10

M11

2nd

M12

M13

Production sequence I Production sequence II Production sequence III Production sequence IV

Figure 6.

Flexible job shop with recirculation example.

job shop model to this example is possible since it includes, as a particular case, the ﬂexible ﬂow shop model. The second example (ﬁgure 5) describes a ﬂexible job shop and was built based on the previous example by adding machine groups (M9 to M15) and modifying the production sequences. Order ﬂows in the resulting production environment are now more complex. Finally, the third example addresses a job shop with re-circulation environment (ﬁgure 6). Thirteen groups of machines and four production sequences are considered; two of the production sequences display re-circulation. Namely, orders

2339

Optimal scheduling for ﬂexible job shop operation

following production sequence II must be processed again in machine group M3 after a ﬁrst visit and the ones following sequence III go twice through machine groups M10 and M11. The capacities of the machine groups and the preceding buﬀers are not uniform; tables 1–3 display the corresponding values. Processing times are integer and the same machine group displays diﬀerent processing times depending on the production sequence and production stage (when re-circulation is considered). Tables 4–6 display the values used; the last column is the total processing time for each production sequence. The cost coeﬃcients used in the objective function were Ai ¼ 20, Bi ¼ 1 and Him ¼ 0.1 8 i, m. As for the penalty coeﬃcient for not completing orders in the scheduling horizon, a value of Ni ¼ 107 8i was used. The three examples were tested with four scenarios (see tables 7–11) diﬀering in the number of orders to be scheduled: a ‘small’ (4 orders), a ‘medium’ (10 orders) and two ‘large’ (24 orders) scenarios. In all of these, order due dates are greater than or equal to the total processing times of the corresponding production sequence. The 10-order scenario used for the ﬂexible ﬂow shop example is based on the work of Chang and Liao (1994). For the ﬂexible job shop and ﬂexible

Table 1. Machine group m1 m2 m3 m4 m5 m6 m7 m8

Table 2.

Machine capacity

Buﬀer capacity

20 45 45 30 10 25 15 15

500 100 80 110 90 60 75 80

Machine groups and buﬀer capacities for the ﬂexible job shop example.

Machine group m1 m2 m3 m4 m5 m6 m7 m8 m9 m10 m11 m12 m13 m14 m15

Machine groups and buﬀer capacities for the ﬂexible ﬂow shop example.

Machine capacity

Buﬀer capacity

20 45 45 30 10 25 15 15 20 30 35 15 15 40 10

500 100 80 110 90 60 75 80 90 90 90 90 90 90 90

2340 Table 3.

M.C. Gomes et al. Machine groups and buﬀer capacities for the example of the ﬂexible job shop with recirculation.

Machine group

Machine capacity

Buﬀer capacity

20 45 45 30 10 25 15 15 20 30 35 40 10

500 100 80 110 90 60 75 80 90 90 90 90 90

m1 m2 m3 m4 m5 m6 m7 m8 m9 m10 m11 m12 m13

Table 4.

Processing times for the ﬂexible ﬂow shop example. Machine group

Production sequence I II III IV

m1

m2

m3

m4

m5

m6

m7

m8

Total time

3 3 3 3

4 5 4 —

1 1 3 1

4 3 — 3

4 — 4 —

— 5 — 5

2 2 2 2

2 2 2 2

20 21 18 16

Table 5.

Processing times for the ﬂexible job shop example. Machine group

Production sequence

m1

m2

m3

m4

m5

m6

m7

m8

I II III IV

3 3 — —

4 — — —

1 1 — 4

4 — — 7

4 5 — —

— 5 5 —

2 2 — —

2 2 — —

Machine group Production sequence

m9

m10

m11

m12

m13

m14

m15

Total time

I II III IV

— — 7 —

— — 8 8

— — 8 6

— — 7 —

— — 8 —

— — 6 6

— — — 9

20 18 49 40

job shop with re-circulation examples, another 10-order scenario was created that displays a more balanced distribution of orders between production sequences. In all other cases scenarios were applied unchanged to the three manufacturing environments.

2341

Optimal scheduling for ﬂexible job shop operation Table 6.

Processing times for the ﬂexible job shop with recirculation example. Machine group

Production sequence

m1

m2

m3 1st stage

m3 2nd stage

m4

m5

m6

m7

m8

I II III IV

3 3 — —

4 — — —

1 1 — 4

— 3 — —

4 — — 7

4 5 — —

— 5 5 —

2 2 — —

2 2 — —

Machine group Production sequence

m9

I II III IV

— — 7 —

m10 1st stage

m10 2nd stage

m11 1st stage

m11 2nd stage

m12

— — 8 8

— — 7 —

— — 8 6

— — 7 —

— — 6 6

Table 7. Order

— — — 9

20 21 48 40

Scenario with 4 orders. Due date

Production sequence

30 25 20 15

30 25 50 45

I II III IV

Table 8.

O1 O2 O3 O4 O5 O6 O7 O8 O9 O10

Total time

Demand (no. of units)

O1 O2 O3 O4

Order

m13

Scenario with 10 orders for the ﬂexible ﬂow shop example.

Demand (no. of units)

Due date

Production sequence

30 25 20 15 15 15 15 15 30 30

100 50 87 20 80 60 90 45 35 70

I I I I II II II II III IV

The large scenarios display the same number of orders but diﬀerent demand requirements and due dates: in the ‘close due dates’ scenario the due dates are spread over a smaller interval than the one assumed in the ‘distant due dates’ scenario. Two situations were solved for each of these scenarios: one in which storage in intermediate buﬀers is allowed and another with a no-wait storage policy, i.e. once processing of an unit is ﬁnished at a machine group, operation in

2342

M.C. Gomes et al. Table 9. Order

Scenario with 10 orders for the ﬂexible job shop and ﬂexible job shop with recirculation examples. Demand (no. of units)

Due date

Production sequence

30 25 20 15 15 15 30 15 15 30

100 50 87 22 80 60 90 50 40 70

I I I II II III III III IV IV

O1 O2 O3 O4 O5 O6 O7 O8 O9 O10

Table 10. Scenario with 24 orders and distant due dates (spread between instants 20 and 213). Demand Production Demand Production Order (no. of units) Due date sequence Order (no. of units) Due date sequence O1 O2 O3 O4 O5 O6 O7 O8 O9 O10 O11 O12

15 25 20 30 44 24 15 15 15 15 19 12

20 50 87 100 161 213 45 60 80 90 118 176

I I I I I I II II II II II II

O13 O14 O15 O16 O17 O18 O19 O20 O21 O22 O23 O24

30 39 37 22 17 10 30 28 45 20 27 25

50 110 133 146 166 191 70 113 122 151 172 200

III III III III III III IV IV IV IV IV IV

Table 11. Scenario with 24 orders and close due dates (spread between instants 20 and 120). Demand Production Demand Production Order (no. of units) Due date sequence Order (no. of units) Due date sequence O1 O2 O3 O4 O5 O6 O7 O8 O9 O10 O11 O12

15 25 20 30 27 18 15 15 15 15 30 20

20 50 87 100 78 91 45 60 80 90 50 83

I I I I I I II II II II II II

O13 O14 O15 O16 O17 O18 O19 O20 O21 O22 O23 O24

30 39 32 35 28 12 16 30 28 23 18 39

50 110 65 68 82 111 90 70 113 65 106 120

III III III III III III IV IV IV IV IV IV

Optimal scheduling for ﬂexible job shop operation

2343

the next machine group must be started immediately. This corresponds to assigning null capacities to the intermediate buﬀers in the IP model. Altogether, each manufacturing environment was tested with six data instances. Tables 12–17 show the results obtained by solving the models. Empty intermediate and ﬁnal buﬀers at the start of the scheduling horizon, as well as no units loaded onto machine groups before it were considered. Tables 12, 14 and 16 summarize the results by showing the number of variables and equations of each model, the objective function value and the optimality gap, and the number of iterations and computation time needed for solving the model. Also displayed is the scheduling horizon, which was found by testing diﬀerent values for the T parameter in the models (with T not lesser than the highest due date in the scenario) and choosing the lowest value (rounded to the nearest multiple of ten) that allows completion of all orders. Tables 13, 15 and 17 characterize the solutions more fully by showing other performance measures besides the objective function, which allow for solution comparison between instances. These are: the total demand (total number of units to be produced), the total number of units ﬁnished before and after the orders due dates, the average percentage of an order completed by its due date (ratio between the number of units produced until the order due date and the order demand 100) and the average earliness/tardiness per unit ﬁnished before/after the order due date. Regarding computation times (tables 12, 14 and 16), it is noteworthy that except for the ‘close due dates’ scenario in the ﬂexible job shop with re-circulation example, solution times to obtain (and conﬁrm) optimal solutions reach at most 16 minutes despite the fact that the medium and large scenarios display tenths of thousand variables and equations. Except for the small scenario where the eﬀect is negligible, introduction of re-circulation increased computation times considerably. In the ‘close due dates’ scenario, optimal solutions could not be found in reasonable time and consequently an upper limit for the optimality gap was allowed. With intermediate storage and an upper limit of 5%, the solver found a solution with an optimality gap of 0.75%. With a no-wait storage policy and an upper limit of 2%, a solution with an optimality gap of 1.71% was obtained; both solutions are reported in table 16. Although in these two cases optimal solutions could not be obtained, the margins of optimality are quite small (0.75 and 1.71%). Also observable is the dramatic decrease of computation times in the three examples when a zero-wait policy was imposed in the large scenarios. This can be explained by a lower degree of solution degeneracy, which speeds up the branch and bound search of the solver: the number of iterations is in fact considerably lower. Finally, diﬀerent due date distribution in the large scenarios only had a signiﬁcant impact upon solution times in the ﬂexible job shop with re-circulation example. In the ﬂexible ﬂow shop and job shop examples computation times are similar for the ‘distant due dates’ and the ‘close due dates’ scenarios, either with intermediate storage allowed or with a no-wait policy. Inspection of solution characteristics in tables 13, 15, 17 leads to further interesting conclusions. The average percentage of an order completed until the due date for the 24 order ‘distant due dates’ scenarios is near 99% in the ﬂow shop example and only slightly less in the job shop examples (between 96 and 97%). A greater diﬃculty in meeting

2344

Table 12. Summary of results for the ﬂexible ﬂow shop example. Scenario

Time horizon

Objective function

Optimality gap

No. of equations

No. of variables

No. of iterations

allowed allowed allowed

50 100 220

75.5 644.5 1350.2

0 0 0

2525 9959 44435

3078 15304 75588

1024 15576 78961

0.6 sec 25 sec 5 min

not allowed

220

3105.0

0

44435

75588

3230

11 sec

allowed

150

43554.7

0

30785

52068

60289

4 min

not allowed

150

45080.0

0

30785

52068

3406

8 sec

CPU time M.C. Gomes et al.

4 orders 10 orders 24 orders distant due dates 24 orders distant due dates 24 orders close due dates 24 orders close due dates

Intermediate storage

Scenario 4 orders 10 orders 24 orders distant due dates 24 orders distant due dates 24 orders close due dates 24 orders close due dates

Intermediate storage

Objective function

Total demand (no. of units)

Avg. % until due date

No. of units before due date

Average earliness

No. of units after due date

Average tardiness

allowed allowed allowed

75.5 644.5 1350.2

90 210 579

100.0 95.0 98.6

30 60 278

2.0 1.9 2.7

0 10 5

0.0 2.5 4.0

not allowed

3105.0

579

98.6

391

6.9

5

4.0

allowed

43554.7

575

70.6

319

4.7

164

12.8

not allowed

45080.0

575

70.1

336

9.0

168

12.5

Optimal scheduling for ﬂexible job shop operation

Table 13. Solution characterization for the ﬂexible ﬂow shop example.

2345

2346

Table 14. Summary of results for the ﬂexible job shop example. Scenario

Time horizon

Objective function

Optimality gap

No. of equations

No. of variables

No. of iterations

CPU time

allowed allowed allowed

60 100 220

1942.0 1715.5 3666.9

0 0 0

4182 12094 49762

4046 15918 78036

836 9288 77058

0.8 sec 13 sec 6 min

not allowed

220

7437.0

0

49762

78036

1651

9 sec

allowed

180

103572.6

0

41442

64596

80289

6 min

not allowed

180

105784.0

0

41442

64596

2049

8 sec

M.C. Gomes et al.

4 orders 10 orders 24 orders distant due dates 24 orders distant due dates 24 orders close due dates 24 orders close due dates

Intermediate storage

Scenario 4 orders 10 orders 24 orders distant due dates 24 orders distant due dates 24 orders close due. data 24 orders close due dates

Intermediate storage

Objective function

Total demand (no. of units)

Avg. % until due date

No. of units before due date

Average earliness

No. of units after due date

Average tardiness

allowed allowed allowed

1942.0 1715.5 3666.9

90 210 579

72.1 91.7 96.2

15 30 103

1.7 2.0 2.6

25 15 23

3.8 5.3 6.5

not allowed

7437.0

579

96.2

380

11.7

23

6.5

allowed

103572.6

575

45.9

83

2.7

329

15.7

not allowed

105784.0

575

46.2

205

10.4

329

15.8

Optimal scheduling for ﬂexible job shop operation

Table 15. Solution characterization for the ﬂexible job shop example.

2347

2348

Table 16. Summary of results for the ﬂexible job shop with recirculation example. Scenario

Time horizon

Objective function

Optimality gap

No. of equations

No. of variables

No. of iterations

allowed allowed allowed

50 100 220

1736.5 2011.5 2803.2

0 0 0

3118 11072 48228

3259 15504 78714

694 17954 111919

not allowed

220

7000.0

0

48228

78714

3647

allowed

180

129931.0

0.75%

39828

64794

345631

not allowed

180

143159.0

1.71%

39828

64794

19061

CPU time 0.6 sec 40 sec 16 min 27 sec 2 h 10 min 3.5 min

M.C. Gomes et al.

4 orders 10 orders 24 orders distant due dates 24 orders distant due dates 24 orders close due dates 24 orders close due dates

Intermediate storage

Scenario 4 orders 10 orders 24 orders distant due dates 24 orders distant due dates 24 orders close due dates 24 orders close due dates

Intermediate storage

Objective function

Total demand (no. of units)

Avg. % until due date

No. of units before due date

Average earliness

No. of units after due date

Average tardiness

allowed allowed allowed

1736.5 2011.5 2803.2

90 210 579

68.3 91.7 96.9

20 30 103

1.2 2.0 2.6

30 15 18

2.8 6.3 5.8

not allowed

7000.0

579

96.7

410

11.9

20

5.3

allowed

129931.0

575

41.6

114

2.7

352

18.4

not allowed

143159.0

575

41.3

188

9.1

352

20.1

Optimal scheduling for ﬂexible job shop operation

Table 17. Solution characterization for the ﬂexible job shop with recirculation example.

2349

2350

M.C. Gomes et al.

the due dates would be expected in the 24 order, ‘close due dates’ scenarios; indeed, on average, only 70% of an order is completed by its due date in the ﬂow shop example, a performance measure that decreases sharply in the job shop examples to values between 41 and 47%. The number of late units and the average tardiness per unit are also consistently and considerably higher in the ‘close due dates’ scenarios in any of the three examples. Imposing a zero-wait storage policy further constrains the problem and hence worsens the optimal solution, raising the corresponding value of the objective function; this can be conﬁrmed in both 24-order scenarios, in any of the three examples. Since the values used for the tardiness and earliness coeﬃcients, Ai and Bi, are 20 and 1, respectively, the objective function is less sensitive towards the latter, and the tendency will be to produce more early units than to increase the number of delayed units. This can be once more conﬁrmed in tables 13, 15 and 17 where a zero-wait policy with the large scenarios did in fact raise substantially the number of units produced before the due date, as well as the average earliness per unit, while only slightly increasing the number of delayed units and the average tardiness per unit.

5. Conclusions In this paper a generic ILP model for scheduling make-to-order ﬂexible job shops with negligible set-up eﬀects is presented. Contrary to the majority of job shop models described in the literature, the possibility of product re-circulation is included in the model. Machinery is organized in groups of parallel homogeneous machines, and intermediate buﬀers with limited capacity are considered. No restrictions are imposed upon the processing routes, or production sequences, that the products may follow in the job shop. Orders have an associated due date and discrete demand and production is scheduled so that due dates are met and in-process inventories reduced. The models developed were solved for realistic examples making use of commercially available mathematical programming software. The performance was generally good and supports the claim that MILP approaches to production scheduling problems are becoming competitive with the current hardware and software capabilities. This study also illustrates the ease of dealing with production complexities such as product re-circulation when this kind of approach is adopted. As further research the authors are now extending the present models to tackle the dynamic or reactive scheduling problems that are foreseeable elements of real production environments. This is a topic that has, so far, been insuﬃciently addressed in the scheduling literature as pointed out by Luh and Hoitomt (1993) and Dorn et al. (1998). Increasing problem complexity directly inﬂuences algorithm eﬃciency, as was observed when re-circulation was introduced in the ﬂexible job shop environment. The same can be expected to happen when dynamic characteristics of the problem are considered. Thus, another line of research that should be explored is the study of eﬃcient solution methods, which may include problem decomposition or combination of diﬀerent solution techniques.

2351

Optimal scheduling for ﬂexible job shop operation

Appendix. Models in condensed form A.1 Model for the ﬂexible job shop problem

min

XX

2 4Ni ðQi YiðTþ1Þ Þ þ

j2J i2Ij

T X

0 @

it

Zit þ

t¼0

X

13 Him Ximt A5

m2Mj jf fj g

Subject to: Ximðtþ1Þ ¼ Ximt þ Uiðm1ÞðtPiðm1Þ Þ Uimt 8i 2 I, m ¼ fj : i 2 Ij

X im0 ¼ Qi

8i 2 I, m ¼ fj : i 2 Ij , t ¼ 0, . . . , T

Ximðtþ1Þ ¼ Ximt Uimt

8i 2 I, m ¼ lj : i 2 Ij , t ¼ 0, . . . , T

Yiðtþ1Þ ¼ Yit þ UimðtPim Þ XX j2J: i2Ij m2Mj

X X

8i 2 I, m 2 Mj jffj g : i 2 Ij, t ¼ 0, . . . , T

t X

Uim Cm

8m 2 M, t ¼ 0, . . . , T

¼tPim þ1

Ximt Sm

8m 2 M, t ¼ 0, . . . , T þ 1

j2J: i2Ij m2Mj jf fj g

Variables Ximt, Uimt, Yit are integer. A.2 Model for the ﬂexible job shop with re-circulation problem 2

min

XX6 4N i ðQi YiðTþ1Þ Þ þ

T X

j2j i2I j

t¼0

0 B @

it

Zit þ

X

X

m2Mj f :m f 2M 0 jff 0 g j j

13 C7 Him X im f t A5

Subject to: Xim f ðtþ1Þ ¼ Xim f t þ Uiðm f 1ÞðtP

iðm f 1Þ

Þ

Uim f t 8i 2 I, m f 2 Mj0 jf fj0 g : i 2 Ij , t ¼ 0, . . . , T

Xim f 0 ¼ Qi 8i 2 I, m f ¼ fj0 : i 2 Ij Xim f ðtþ1Þ ¼ Xim f t Uim f t 8i 2 I, m f ¼ fj0 : i 2 Ij , t ¼ 0, . . . , T Yiðtþ1Þ ¼ Yit þ Uim f ðtP

im f

X X X j2J: f :m f 2M 0 i2Ij j m2Mj

X

X

8i 2 I, m f ¼ lj0 : i 2 Ij , t ¼ 0, . . . , T

Þ

t X ¼tP

X

Uim f Cm

8m 2 M, t ¼ 0, . . . , T

þ1 im f

Xim f t Sm

j2J: f :m f 2M 0 jf f 0 g i2Ij j j m2Mj

Variables X im f t , U im f t , Yit are integer.

8m 2 M, t ¼ 0, . . . , T þ 1

2352

M.C. Gomes et al.

References Brown, D.E., Marin, J.A. and Scherer, W.T., A survey of intelligent scheduling systems. In Intelligent Scheduling Systems, edited by D.E. Brown and W.T. Scherer, pp. 1–40, 1995 (Kluwer Academic Publishers: Boston, US). Castro, P., Barbosa-Po´voa, A.P.F.D. and Matos, H., An improved RTN continuous-time formulation for the short-term scheduling of multi-purpose batch plants. Indust. Eng. Chem. Res., 2001, 40, 2059–2068. Chang, S.-C. and Liao, D.-Y., Scheduling ﬂexible ﬂow shops with no set-up eﬀects. IEEE Trans. Robot. Autom., 1994, 10, 112–122. Demirkol, E., Mehta, S. and Uzsoy, R., Benchmarks for shop scheduling problems. Euro. J. Oper. Res., 1998, 109, 137–141. Dorn, J., Girsch, M., David, T. and Prianichnikova, A., Project REFRESH—A Reusable and Extendible Framework for Reactive Scheduling, 1998, Computer Science Department, Vienna University of Technology (http://www.dbai.tuwien.ac.at/proj/Refresh). French, S., Sequencing and Scheduling: An Introduction to the Mathematics of the Job-shop, 1982 (Ellis Horwood: Chichester, UK). GAMS—A User’s Guide, 1998 (GAMS Development Corporation, US). Harjunkoski, I. and Grossman, I.E., Decomposition techniques for multistage scheduling problems using mixed-integer and constraint programming approaches. Comput. Chem. Eng., 2002, 26, 1533–1552. Jain, A.S. and Meeran, S., Deterministic job shop scheduling: Past, present, future. Euro. J. Oper. Res., 1999, 113, 390–434. Jain, A.S. and Meeran, S., A state-of-the-art review of job-shop scheduling techniques, 1998, Technical report, University of Dundee, Scotland, UK. Kim, K.-H. and Egbelu, P.J., Scheduling in a production environment with multiple process plans per job. Int. J. Prod. Res., 1999, 37, 2725–2753. Lageweg, B.J., Lenstra, J.K. and Rinnooy Kan, A.H.G., Job shop scheduling by implicit enumeration. Manage. Sci., 1977, 24, 441–450. Liao, C.-J. and You, C.-T., An improved formulation for the job-shop scheduling problem. J. Oper. Res. Soc., 1992, 43, 1047–1054. Liao, D.-Y., Chang, S.-C., Pei, K.-W. and Chang, C.-M., Daily scheduling for R&D semiconductor fabrication. IEEE Trans. Semicon. Manuf., 1996, 9, 550–560. Low, C. and Wu, T.-H., Mathematical modelling and heuristic approaches to operation scheduling problems in an FMS environment. Int. J. Prod. Res., 2001, 39, 689–708. Luh, P.B. and Hoitomt, D.J., Scheduling of manufacturing systems using the lagrangian relaxation technique. IEEE Trans. Auto. Cont., 1993, 38, 1066–1079. Manne, A.S., On the job-shop scheduling problem. Oper. Res., 1960, 8, 219–223. McKoy, D.H.C. and Egbelu, P.J., Production scheduling in a process and assembly job shop. Prod. Plan. Cont., 1999, 10, 76–86. Pan, C.H., A study of integer programming formulations for scheduling problems. Int. J. Syst. Sci., 1997, 28, 33–41. Papageorgiou, L.G. and Pantelides, C.C., Optimal campaign planning/scheduling of multipurpose batch/semi-continuous plants. 2. A mathematical decomposition approach. Indust. Eng. Chem. Res., 1996, 35, 510–529. Pinedo, M., Scheduling: Theory, Algorithms and Systems, 1995 (Prentice-Hall: New Jersey, US). Reklaitis, S., Overview of Scheduling and Planning of Batch Process Operations, 1992 (NATO Advanced Study Institute, Batch Processing Systems Engineering, Antalya, Turkey). Roslo¨f, J., Harjunkoski, I., Westerlund, T. and Isaksson, J., Solving a large-scale industrial scheduling problem using MILP combined with a heuristic procedure. Euro. J. Oper. Res., 2002, 138, 29–42. Sawik, T., Mixed integer programming for scheduling ﬂexible ﬂow lines with limited intermediate buﬀers. Math. Comput. Model., 2000, 31, 39–52. Shah, N., Pantelides, C.C. and Sargent, R.W.H., A general algorithm for short-term scheduling of batch operations. II. Computational issues. Comput. Chem. Eng., 1993, 17, 229–244. Shapiro, J.F., Mathematical programming models and methods for production planning and scheduling. In Handbooks in Operations Research and Management Science,

Optimal scheduling for ﬂexible job shop operation

2353

Volume 4: Logistics of Production and Inventory, edited by S.C. Graves, A.H.G. Rinnooy Kan and P.H. Zipkin, pp. 371–443, 1993 (North Holland: Amsterdam). Schilling, G. and Pantelides, C.C., A simple continuous-time process scheduling formulation and a novel solution algorithm. Comput. Chem. Eng., 1996, 20, S1221–S1226. Sule, D.R., Industrial Scheduling, 1997 (PWS Publishing Company: Boston, US). Wilkinson, S.J., Aggregate Formulations for Large-scale Process Scheduling Problems, PhD thesis, 1996 (Imperial College, London, UK). Yaghubian, A.R., Hodgson, T.J. and Joines, J.A., Dry-or-buy decision support for dry kiln scheduling in furniture production. IIE Trans., 2001, 33, 131–136. Zhang, X. and Sargent, R., The optimal operation of mixed production facilities—general formulation and some solution approaches to the solution. Comput. Chem. Eng., 1996, 20, 897–904. Zhu, Z. and Heady, R.B., Minimizing the sum of earliness/tardiness in multi-machine scheduling—a mixed integer programming approach. Comput. Indust. Eng., 2000, 38, 297–305.