International Journal of Production Research, Vol. 43, No. 11, 1 June 2005, 2323–2353
Optimal scheduling for flexible 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 flexible job shop, discrete parts manufacturing industries that operate on a maketo-order basis. The model considers groups of parallel homogeneous machines, limited intermediate buffers and negligible set-up effects. 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 flexible 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 finite time period is a pervasive problem that most organizations, both large and small, have to solve. Solution methodologies have been widely investigated in many fields of engineering, computer science, management science and business, causing the literature on scheduling to be large, diverse and diffuse (Reklaitis 1992, Brown et al. 1995). These methodologies can be classified 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), artificial 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 effect: the development of algorithms for solving this type of model, which have been incorporated into increasingly efficient 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 flow shops, where jobs visit a set of machines arranged sequentially until all their service needs are satisfied, and job shop scheduling, an environment where machines are grouped into work centres according to functions, and jobs visit the machines in different orders. For the latter and starting in the middle 1970s, application of scheduling methodologies has been largely addressed. The increased tailoring of products to specific 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 field 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 identification of demonstrably good schedules.
Optimal scheduling for flexible 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 first 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 efficiency. 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 efficiently solve problems of industrial size. For a review and comparison of MILP formulations for job shop, flow shop and permutation flow 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 effort 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). Different 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 effects 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 flexible flow shops with no set-up effects. 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 define the problem and the underlying hypothesis (section 2) and present models for flexible 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 definition This section describes the flexible job shop manufacturing environment modelled, which is depicted in figure 1. The shop manufactures medium-volume discrete products of different 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 flexible job shop operation
2327
Each product type has a pre-defined processing route, or production sequence, and each operation in the sequence may be performed in a machine group. Machine groups, represented by rectangles in figure 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 buffers (depicted by circles in figure 1) where units wait for processing in the group. Intermediate buffers have finite capacity, while input buffers of a production sequence (b1 and b7 in figure 1), as well as stocks of finished order units (b10 and b11 in figure 1), are considered as infinite in size. Machine groups and buffers 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 buffers, which means queues between machines are unlimited in size, finite buffers have to be considered when products are physically large and the buffer space between successive machines has a limited capacity. In figure 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 buffer 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 differently routed when leaving machine group M8, depending on whether this is the first 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 different 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 flexibility 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 different 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 buffers is limited while in the classical job shop problem there are no limits upon buffer size. Set-up time in flow 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 finite capacities of buffers and machine groups.
3. Mathematical models Mathematical programming models for the classical flow shop and job shop problems published in the literature can be classified 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 finished) in a given machine; the exact definition 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 first 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 flexible 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 definition of binary sequencing variables for each unit of an order hence resulting in a very large model.
3.1 Model for the flexible job shop problem While there is only one production sequence or flow line in a flow shop, job shops display multiple flow lines that share manufacturing resources—machine groups and buffers in the present case. To generalize to the job shop case the flexible flow shop model of Chang and Liao (1994), which contains a single implicit production sequence, different production sequences must be explicitly considered. Hence, a production sequence index was added to the flexible flow shop model indices (for orders, machine groups and time). Together with the introduction of a notation based on the definition of sets, this allowed the generic form of the constraints and objective function in the flexible flow shop model to be kept in the job shop model. Two features of the flexible flow shop model not considered in the generalization are variable machine group capacities throughout the scheduling horizon
2329
Optimal scheduling for flexible job shop operation
(parameters) and overtime capacities (decision variables). These are minor simplifications 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 figure 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 defined 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 defined 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 definition, 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 buffer of machine group m Processing time of order i in machine group m Tardiness penalty coefficient for one unit of order i/time unit Earliness penalty coefficient for one unit of order i/time unit In-process inventory cost for order i in the machine group buffer 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 defined:
Number of units of order i in the buffer 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 finished 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 finished, units of order i go (even if instantaneously) through the buffers 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 buffer before the first machine group in the production sequence. However, the stock of finished units of an
Uimt
....
…. t–1
t
t+1
Ximt , Yit Figure 3.
Representation of the model variables.
Optimal scheduling for flexible job shop operation
2331
order is not associated with any machine group; this is the reason why ‘final buffers’ 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 buffer in adjacent time intervals. They are defined over three types of buffers: intermediate, initial and final buffers. The number of units in the intermediate and final buffers 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 flow balance equations.
3.1.5.2
Intermediate buffers
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) finished 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 finished 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 buffer 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 buffer. For the first 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 buffer is Qi because all orders are released at the beginning of the scheduling horizon. The flow 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 buffer. Regarding the final buffer, i.e. the stock of finished units of order i, since there are no other machine groups the term Uimt is dropped from the flow balance equation. Finished units of an order are not associated with any buffer 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 finished 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 Buffer capacity constraints. The total amount of units in the buffer of machine group m in each interval cannot exceed the buffer 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 buffer and the Ximt variables are summed over all production sequences containing machine group m (except for the sequences in which it is the first machine group, since initial buffers are unlimited) and all products that follow these production sequences. The inequality must also hold for t ¼ T þ 1 since buffer capacities cannot be exceeded at the end of the scheduling horizon.
Optimal scheduling for flexible job shop operation
2333
Because buffer 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 buffer 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 buffer, a machine group may be empty if it is not possible to accommodate the units, once finished, in the next buffers. This is different from machine blocking, where completed units remain in a machine group because the next buffer(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 finished 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 coefficients for order i at instant t are obtained by multiplying these coefficients 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 Differences in Ai and Bi coefficients between orders may reflect their relative importance or priorities. To obtain the total penalty for order i, earliness/tardiness penalty coefficients must be multiplied by the number of units of order i whose processing was finished 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 finished 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 buffers of production sequences are accounted for as in-process inventory costs. Him is defined as the in-process inventory cost in the buffer of machine group m per unit of order i and time unit; the in-process inventory cost for order i in buffer m between instants t 1 and t corresponds to multiplying Him by the number of units of order i in the buffer during that interval, Ximt. The sum is extended to the scheduling horizon and all intermediate buffers 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 coefficient per unit (which may differ 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 flexible 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 different production sequences through machine groups typical of a job shop. To generalize the flexible job shop model to the re-circulation case, a production stage index was added to the indices previously defined. 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 flexible 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 definition: 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 defined 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 buffer 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 finished 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 flow balance equations of the flexible 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 buffers 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 buffer 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 buffer Yiðtþ1Þ ¼ Yit þ Uim f ðtP
im f
Þ
3.2.4.5 Machine capacity constraints. To generalize the machine capacity constraints in the flexible 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 different 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 Buffer capacity constraints. Generalization of the buffer capacity constraints is similar to the previous one. All order units corresponding to different production stages in the same production sequence have to be accounted for when
2337
Optimal scheduling for flexible job shop operation
computing the number of units lodging in the buffer 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 first 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 finished 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 buffers that correspond to different 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 different manufacturing environments were constructed: a flexible flow shop, a flexible job shop and a flexible 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 flexible flow shop example (figure 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 flexible
M1
M2
M3
M4
M5
M6
Production sequence I Production sequence II Production sequence III Production sequence IV
Figure 4.
Flexible flow 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 flexible flow shop model. The second example (figure 5) describes a flexible job shop and was built based on the previous example by adding machine groups (M9 to M15) and modifying the production sequences. Order flows in the resulting production environment are now more complex. Finally, the third example addresses a job shop with re-circulation environment (figure 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 flexible job shop operation
following production sequence II must be processed again in machine group M3 after a first visit and the ones following sequence III go twice through machine groups M10 and M11. The capacities of the machine groups and the preceding buffers are not uniform; tables 1–3 display the corresponding values. Processing times are integer and the same machine group displays different 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 coefficients used in the objective function were Ai ¼ 20, Bi ¼ 1 and Him ¼ 0.1 8 i, m. As for the penalty coefficient 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) differing 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 flexible flow shop example is based on the work of Chang and Liao (1994). For the flexible job shop and flexible
Table 1. Machine group m1 m2 m3 m4 m5 m6 m7 m8
Table 2.
Machine capacity
Buffer capacity
20 45 45 30 10 25 15 15
500 100 80 110 90 60 75 80
Machine groups and buffer capacities for the flexible job shop example.
Machine group m1 m2 m3 m4 m5 m6 m7 m8 m9 m10 m11 m12 m13 m14 m15
Machine groups and buffer capacities for the flexible flow shop example.
Machine capacity
Buffer 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 buffer capacities for the example of the flexible job shop with recirculation.
Machine group
Machine capacity
Buffer 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 flexible flow 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 flexible 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 flexible job shop operation Table 6.
Processing times for the flexible 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 flexible flow 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 different 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 buffers is allowed and another with a no-wait storage policy, i.e. once processing of an unit is finished at a machine group, operation in
2342
M.C. Gomes et al. Table 9. Order
Scenario with 10 orders for the flexible job shop and flexible 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 flexible job shop operation
2343
the next machine group must be started immediately. This corresponds to assigning null capacities to the intermediate buffers 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 final buffers 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 different 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 finished 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 finished 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 flexible job shop with re-circulation example, solution times to obtain (and confirm) 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 effect 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, different due date distribution in the large scenarios only had a significant impact upon solution times in the flexible job shop with re-circulation example. In the flexible flow 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 flow shop example and only slightly less in the job shop examples (between 96 and 97%). A greater difficulty in meeting
2344
Table 12. Summary of results for the flexible flow 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 flexible job shop operation
Table 13. Solution characterization for the flexible flow shop example.
2345
2346
Table 14. Summary of results for the flexible 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 flexible job shop operation
Table 15. Solution characterization for the flexible job shop example.
2347
2348
Table 16. Summary of results for the flexible 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 flexible job shop operation
Table 17. Solution characterization for the flexible 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 flow 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 confirmed in both 24-order scenarios, in any of the three examples. Since the values used for the tardiness and earliness coefficients, 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 confirmed 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 flexible job shops with negligible set-up effects 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 buffers 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 insufficiently addressed in the scheduling literature as pointed out by Luh and Hoitomt (1993) and Dorn et al. (1998). Increasing problem complexity directly influences algorithm efficiency, as was observed when re-circulation was introduced in the flexible 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 efficient solution methods, which may include problem decomposition or combination of different solution techniques.
2351
Optimal scheduling for flexible job shop operation
Appendix. Models in condensed form A.1 Model for the flexible 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 flexible 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 flexible flow shops with no set-up effects. 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 flexible flow lines with limited intermediate buffers. 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 flexible 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.