0 evaluări0% au considerat acest document util (0 voturi)

7 vizualizări23 paginicellular manufacturing and optimization algorithms

Feb 02, 2013

© Attribution Non-Commercial (BY-NC)

PDF, TXT sau citiți online pe Scribd

cellular manufacturing and optimization algorithms

Attribution Non-Commercial (BY-NC)

0 evaluări0% au considerat acest document util (0 voturi)

7 vizualizări23 paginicellular manufacturing and optimization algorithms

Attribution Non-Commercial (BY-NC)

Sunteți pe pagina 1din 23

Taylor & Francis Informa Ltd Registered in England and Wales Registered Number: 1072954 Registered office: Mortimer House, 37-41 Mortimer Street, London W1T 3JH, UK

Publication details, including instructions for authors and subscription information: http://www.tandfonline.com/loi/tprs20

R.A. Pitts Jr & J.A. Ventura

a a b

Department of Industrial, Manufacturing and Information Engineering, Morgan State University, Baltimore, MD, USA

b

Department of Industrial and Manufacturing Engineering, The Pennsylvania State University, University Park, PA, USA Version of record first published: 28 Oct 2009.

To cite this article: R.A. Pitts Jr & J.A. Ventura (2009): Scheduling flexible manufacturing cells using Tabu Search, International Journal of Production Research, 47:24, 6907-6928 To link to this article: http://dx.doi.org/10.1080/00207540802400628

PLEASE SCROLL DOWN FOR ARTICLE Full terms and conditions of use: http://www.tandfonline.com/page/terms-andconditions This article may be used for research, teaching, and private study purposes. Any substantial or systematic reproduction, redistribution, reselling, loan, sub-licensing, systematic supply, or distribution in any form to anyone is expressly forbidden. The publisher does not give any warranty express or implied or make any representation that the contents will be complete or accurate or up to date. The accuracy of any instructions, formulae, and drug doses should be independently verified with primary sources. The publisher shall not be liable for any loss, actions, claims, proceedings, demand, or costs or damages whatsoever or howsoever caused arising directly or indirectly in connection with or arising out of the use of this material.

International Journal of Production Research Vol. 47, No. 24, 15 December 2009, 69076928

R.A. Pitts Jra* and J.A. Venturab

Department of Industrial, Manufacturing and Information Engineering, Morgan State University, Baltimore, MD, USA; bDepartment of Industrial and Manufacturing Engineering, The Pennsylvania State University, University Park, PA, USA (Received 31 December 2007; final version received 26 July 2008) Scheduling is an important aspect in the overall control of a flexible manufacturing system. The research presented focuses on production scheduling of jobs within a flexible manufacturing cell (FMC) one type of flexible manufacturing system. Due to the complexity of the FMC scheduling problem, a 01 mixed-integer linear programming (MILP) model is formulated for M machines and N jobs with alternative routings. Although small instances of the problem can be solved optimally with MILP models, a two-stage Tabu Search (TS2) algorithm that minimises the manufacturing makespan (MS) is proposed to solve medium-to-large-scale problems more efficiently. During Stage I (construction phase), two heuristics are utilised to generate an initial feasible sequence and an initial MS solution. In Stage II (improvement phase), the acquired initial solutions from Stage I are combined with a Tabu Search meta-heuristic procedure that provides improved MS solutions. The TS2 algorithm provides tremendous savings in computational time for medium/large-sized multi-machine FMC problems. Keywords: flexible manufacturing; Tabu Search; scheduling; meta-heuristics; mixed-integer linear programming

a

1. Introduction A flexible manufacturing system (FMS) is defined as a computer-controlled configuration of semi-dependent workstations and material-handling systems designed to efficiently manufacture low-to-medium volumes of various job types (Gamila and Motavalli 2003). The flexible manufacturing cell (FMC), a type of FMS, consists of a group of CNC machines and one material-handling device (e.g., robot, automated guided vehicle, conveyor, etc.) (Liu and MacCarthy 1996). This research addresses the problem of routing (which determines the machines on which each operation for a job is to be performed) and sequencing (which determines the placement of jobs into a specific order to be processed on the machines) within a FMC. A methodology is developed that minimises the manufacturing makespan (i.e. completion time), while reducing the time that is required to develop and produce realistic production schedules. Scheduling of FMSs has been extensively researched over the last three decades, and it continues to attract the interest of both the academic and industrial sectors (Chan and Chan 2004). There are numerous approaches to solving this problem in the

ISSN 00207543 print/ISSN 1366588X online 2009 Taylor & Francis DOI: 10.1080/00207540802400628 http://www.informaworld.com

6908

literature in relation to minimising maximum tardiness, makespan, or workload balancing. A common approach is through the use of mathematical programming (MP), which may provide optimal solutions but may be computationally expensive (Jiang and Hsiao 1994, Sawik 2004). Other approaches use MP-based heuristic methods (Liu and MacCarthy 1997, Shanker and Modi 1999, Pitts and Ventura 2006), simulation (Chan and Chan 2004), and metaheuristic methods such as simulated annealing (Low and Wu 2001), genetic algorithms (Yang and Wu 2003), ant colony optimisation (Kumar et al. 2003, Chan and Swarnkar 2006), particle swarm algorithms (Jerald et al. 2005), and hybrid methods (Swarnkar and Tiwari 2004) to solve the FMS scheduling problem. Another popular meta-heuristic method commonly used for solving FMS problems is Tabu Search (Logendran and Sonthinen 1997, Arikan and Erol 2006). Originally proposed by Glover (1989), this adaptive procedure has the ability to make use of many other methods, such as linear programming (LP) models and specialised heuristics, which are directed to overcome the limitations of local optimality with the use of a Tabu List (TL). The research in this study incorporates a Tabu Search meta-heuristic methodology for solving FMC scheduling problems of various sizes (e.g., small, medium and large). There are N jobs to be scheduled on M machines, and each job has one or more operations that can be processed on alternative machines. The overall objective for this research is to produce a set of sequences over all machines that will minimise the manufacturing makespan for a FMC. This scheduling problem is formulated as a 01 mixed-integer linear programming (MILP) model. This type of FMS problem is known to be a nondeterministic polynomial (NP)-hard problem (Blazewicz et al. 1988); thus, efficient solution methodologies need to be developed. Two methodologies which contain two stages are presented in this research. While most researchers focus on either routing or sequencing jobs as separate entities, this research uses both routing and sequencing of jobs jointly to examine the single objective of minimising the manufacturing makespan in a FMC. The remainder of the paper is divided into five sections. Section 2 describes the main mathematical programming model for the FMC scheduling problem used in this research. Section 3 presents the two-stage Tabu Search (TS2) algorithm. Section 4 provides an illustrative example for the problem, while Section 5 provides the computational results and compares the performance of the MILP model and the TS2 algorithm. Lastly, summary and conclusions are discussed in Section 6.

2. Mixed-integer linear programming (MILP) model for an FMC The objective of the basic model for the FMC scenario considered in this research is to produce a set of sequences over all machines that will minimise the manufacturing makespan. Some underlying assumptions and notation for the model are described below and the detailed MILP model is presented in Section 2.3.

2.1 Assumptions Several assumptions are made in modeling the problem. . Processing times are known ahead of time (from existing process plans). . Setup time for CNC machines is negligible or included in the processing times. . Transportation time between machines is instantaneous.

6909

. Job pre-emption is not allowed on individual machines. . Each machine is continuously available for production and there are no breakdowns. . Each machine can only process one job at a time and only perform one operation at a time.

The following is a listing of the subscripts, variables, and parameters used in the proposed MILP model. i or g 1, 2, . . . , N j or h 1, 2, . . . , J(i) k 1, 2, . . . , M Mij index for a job, where N is the total number of jobs index for processing operations, where J(i) is the final operation of job i, i 1, 2, . . . , N index for a machine, where M is the total number of machines set of valid optional machines for operation j of job i, j 1, 2, . . . , J(i); i 1, 2, . . . , N. For example, M32 {1, 3} denotes that the second operation of job 3 can be performed on either machine 1 or machine 3 manufacturing starting time of operation j of job i, j 1, 2, . . . , J(i), i 1, 2, . . . , N manufacturing completion time of job i, i 1, 2, . . . , N manufacturing processing time required for operation j of job i on machine k, j 1, 2, . . . , J(i), i 1, 2, . . . , N, k 1, 2, . . . , M large positive integer value ready time for job i, Ri ! 0, i 1, 2, . . . , N 1, if operation j of job i is performed on machine k 0, otherwise k 2 Mij, j 1, 2, . . . , J(i), i 1, 2, . . . , N 1, if operation j of job i is performed before operation h of job g on the same machine k 0, otherwise i 6 g; k 2 Mij \ Mgh, j 1, 2, . . . , J(i), i 1, 2, . . . , N, h 1, 2, . . . , J(g), g 1, 2, . . . , N max{Ci: i 1, 2, . . . , N}, makespan defined as the maximum completion timeof all jobs

Yijghk

2.3 Full MILP scheduling model for makespan minimisation The formulation of the full MILP model which minimises the maximum completion time for the routing and scheduling problem is now given: Min Z, subject to Bij X

k2Mij

Pijk Xijk

Bi, j1 ,

i 1, 2, . . . , N, j 1, 2, . . . , Ji 1,

6910 Bi,Ji X

k2Mij

k2MiJi

PiJik XiJik Z

0,

i 1, 2, . . . , N,

Xijk 1,

i 1, 2, . . . , N, j 1, 2, . . . , Ji,

Xghk Xijk 1

Yijghk Yghijk

1,

Bij Pijk Xijk Bgh Pghk Xghk 1 Yghijk ! Pijk Xijk , i 1, 2, . . . , N, g 1, 2, . . . , N, i 6 g, j 1, 2, . . . , Ji, h 1, 2, . . . , Jg, k 2 Mij \ Mgh , Bgh Pghk Xghk Bij Pijk Xijk 1 Yijghk ! Pghk Xghk , i 1, 2, . . . , N, g 1, 2, . . . , N, i 6 g, j 1, 2, . . . , Ji, h 1, 2, . . . , Jg, k 2 Mij \ Mgh , Bi1 ! Ri , Bij ! 0, i 1, 2, . . . , N, 8 9 10 11 12 7

i 1, 2, . . . , N, j 2, . . . , Ji, Z ! 0,

i 1, 2, . . . , N, j 1, 2, . . . , Ji, k 2 Mij ,

13

Constraint set (2) ensures that an operation j 1 cannot start before the previous operation j of the same job i has been completed. Constraint set (3) ensures that the makespan (z) is greater than or equal to the starting time and processing time of the last operation J(i) for job i, i 1, 2, . . . , N. Constraint set (4) ensures that one operation j of job i can only be performed on one machine k at a time. In essence, this constraint guarantees that each job i will take only one path through the system. Constraint set (5) shows that if different jobs i and g are routed through the same machine k and two different operations j and h of those two jobs are scheduled on the same machine k, they both cannot be performed simultaneously. Constraint set (6) guarantees that only one specific sequence can be chosen for operations j and h from jobs i and g, respectively, given that they are to be performed on the same machine k. Constraint set (7) ensures that if operation j of job i is chosen to be processed before operation h of job g, the starting time and processing time of operation j of job i must be less than or equal to the starting time of operation h of job g. The same logic applies to

6911

constraint set (8) for the reverse case when operation h of job g is chosen to be processed before operation j of job i. Again, these constraints reinforce that one job is always processed before a second job on a given machine to avoid conflicts. Constraint set (9) ensures that the first operation of a job i cannot start before it is ready. The non-negativity constraints (10) and (11) ensure that all starting times for the remaining operations and the manufacturing makespan are non-negative. Lastly, constraints (12) and (13) show the integrality restrictions for the 01 variables.

2.4 Two-phase routing and sequencing MILP model (2-MILP) After preliminary tests proved that the full 01 MILP model from Section 2.3 cannot solve medium-size problems optimally in a reasonable amount of time (Pitts 2006), the full MILP model was split into two MILP subproblems. During Subproblem 1 of this twophase procedure, the full 01 MILP model is relaxed by removing precedence constraint sets (2) and (3) and utilising only a few of the original constraint sets. When solved, this subproblem finds the best job routes by assigning the jobs to various alternative machines while ignoring specific job sequences. Many of the remaining original constraint sets (i.e. those not used in Subproblem 1) from the full 01 MILP model are utilised in Subproblem 2. In this second subproblem, the results from the first subproblem are used to determine the best sequence of these jobs. After both subproblems are completed, the original objective of minimising the manufacturing makespan is achieved. The detailed formulations of this two-stage MILP procedure are shown below, and it is referred to as the 2-MILP model in subsequent sections of this paper. Subproblem 1 Min Z, subject to X

k2Mij

14

Xijk 1,

i 1, 2, . . . , N, j 1, 2, . . . , Ji,

15

XX

i2N j2Ji

Pijk Xijk Z

0,

k 1, 2, . . . , M,

16 17 18

In Subproblem 1, only one new constraint set (16) was added. This new constraint set ensures that for every machine k, which is loaded with selected operations j 2 J(i) of jobs i 2 N, the total processing time on each machine is less than or equal to the overall makespan. The remaining Equations (14), (15), (17) and (18) are taken from the original formulation of the basic 01 MILP model from Section 2.3. Once the Subproblem 1 model is formulated and solved, the Xijk routing variables are fixed (i.e. the routes are fixed for all of the jobs to be processed). The Xijk variables that are assigned a value of one indicate that operation j of job i is assigned to machine k, while ^ those assigned a value of zero are not assigned to any machines. Thus, a new subscript Mij

6912

^ ^ (or Mgh ) is introduced where Mij fk : Xijk 1, k 2 Mij g. This represents the selection of the single machine k that is chosen (i.e. the job assigned to the machine) in Subproblem 1 from the set of optional machines Mij for operation j of job i. Once this important information has been established, Subproblem 2 can now be formulated with the following objective function and constraint sets. Subproblem 2 Min Z, subject to 19

Bij Pijk

Bi, j1 ,

^ i 1, 2, . . . , N, j 1, 2, . . . , Ji 1, k 2 Mij , 0, ^ i 1, 2, . . . , N, k 2 MiJi ,

20 21

22

Bij Pijk Bgh Pghk 1 Yghijk ! Pijk , i 1, 2, . . . , N, g 1, 2, . . . , N, i 6 g, ^ ^ j 1, 2, . . . , Ji, h 1, 2, . . . , Jg, k 2 Mij \ Mgh , Bgh Pghk Bij Pijk 1 Yijghk ! Pghk , i 1, 2, . . . , N, g 1, 2, . . . , N, i 6 g, ^ ^ j 1, 2, . . . , Ji, h 1, 2, . . . , Jg, k 2 Mij \ Mgh , Bi1 ! Ri , Bij ! 0, i 1, 2, . . . , N, 23

24 25 26 27

i 1, 2, . . . , N, j 2, . . . , Ji, Z ! 0,

28

These changes reflect that the Subproblem 2 model uses the new Xijk routing variables from Subproblem 1, thus reducing the total number of integer variables used in this model compared with the amount used in the original full 01 MILP model. Once Subproblem 2 has been solved, all jobs that have been previously routed are now in machine sequences, and a final makespan value is determined. Some computational results for this two-stage MILP model approach as compared with the full 01 MILP model, and the new TS2 algorithm, are discussed in Section 5. Although the 2-MILP model formulation can be used to solve slightly larger problems than those solved using the full 01 MILP model, a heuristic methodology is still necessary to make the proposed approach more practical for very large problems.

6913

The methodology presented in this research uses the Tabu Search method in a new and unique way. The algorithm includes two stages: a construction phase (Stage I) and an improvement phase (Stage II). Stage I incorporates two heuristics: (1) a smallest processing time rescheduling (SPTR) heuristic that generates initial feasible job routings (Pitts 2006), and (2) a common critical path-based heuristic developed by Vancheeswaran and Townsend (1993) that provides initial job sequences and an initial makespan solution (MSINIT). The latter heuristic will be denoted as the VT Heuristic henceforth. Stage II incorporates the Tabu Search meta-heuristic method. It is used in conjunction with an efficient pairwise interchange (PI) method, LP sub-problem formulations, and two job reassignment procedures adopted from the SPTR heuristic. In this stage, an attempt is made to improve on the MSINIT solution value found during Stage I of the algorithm. A snapshot of the TS2 Algorithm is shown in Figure 1. In the following subsections, background information on the Tabu Search methodology is presented, additional notation and terms are defined, then the detailed TS2 algorithm is shown. Due to the importance of determining a good initial route, the SPTR heuristic described here and originally developed by Pitts (2006) was tested against the routing phase of the MILP and an existing greedy heuristic called the Earliest Completion Time (ECT) heuristic developed by Ibarra and Kim (1977). Since no sample problems have been found in the literature to be used as a benchmark for testing the heuristics, a total of 27 test problems have been generated randomly in three data sets as follows. The size of each test problem is represented by the number of jobs and the number of machines, where the number of jobs ranges between 5 and 140. Each job had three operations and these operations could be processed on at least one of four total machines. Processing times were generated from an integer uniform distribution between 5 and 30. Since all three methods require very little computational effort, CPU time was not used as a major factor. The percent relative error, RE, which measures the deviation of the current MS solution, MScurrent, from the best known solution, MSbest (i.e. the value RE [(MScurrent MSbest)/ MSbest] * 100), was used as a major comparison factor for the three methods. Overall, the average RE for the ECT heuristic was determined to be 11.00%, with the average RE for all jobs ranging from 6.58 to 15.2%. The ECT heuristic only found the optimal solution once in one test case, and many of the other solutions found were worse as compared with the routing phase MILP solutions. However, the SPTR heuristic found the optimal solution in more test cases and, for the most part, the solutions were very close to the optimal values found with the routing MILP models. Comparing the SPTR heuristic with the routing MILP model, the overall average RE was determined to be 1.94%, with the average RE for all jobs ranging from 1.1 to 2.8%. These results indicate that this heuristic is an excellent choice for achieving optimal/near-optimal solutions for the routing subproblem.

3.1 Background on Tabu Search methodology In Glovers Tabu Search methodology, two important concepts short-term memory (STM) and long-term memory (LTM) are employed. During the short-term memory phase, the TS method intensifies the search for a solution by keeping limited track of a few moves (i.e. job pairs that are kept on a Tabu list of a specified length) in order to avoid cycling and guide the search out of a local optimum. At each iteration of the STM phase,

6914

Construction phase stage I SPTR heuristic determines initial job routings VT Heuristic determines initial job sequences & initial makespan solution

Retrieve data

Tabu search short-term memory (TS-STM) Iteration Seed: 1-2-3-4 Iteration #1 N1: 2-1-3-4 N2: 1-3-2-4 : : Iteration #2 : : Final STM Iteration Solution Tabu List (STM)

LP Subroutine Automatic generation of LP Call LP solver for solution Return solution to TS STM

Choose best MS value (5) & proceed to Iteration #2 using N1 as new seed seq.

After final STM Iteration, proceed to Long-term memory (TS-LTM) with best MS and sequences

Tabu Search Long-term memory (TS-LTM) Move/switch procedures moves & switches jobs (Xijk information) then chooses best MS value & sequence

After no improvement in MS solution during a # of LTM iterations, STOP heuristic and select final best makespan & sequences; Elsewise, proceed toTS-STM to perform STM iterations.

a neighbourhood of sequences is generated with the use of a perturbation technique such as adjacent pairwise interchange (API) (French 1982) from an initial seed sequence. Based on some objective function, the neighbourhood sequence that correlates to the best solution is chosen as the seed sequence for the next iteration, and the job pair that causes the perturbation of the initial seed sequence is placed on a Tabu List (TL). This TL (which is initially empty) is continuously updated throughout the search by adding and removing selected best moves (i.e. job pairs). The list is updated circularly according to the TL size that is, if the list was stored up to its maximum size, the oldest

6915

(earliest at the top of the list) move must be removed before adding the next sequence. During subsequent iterations, before a neighbourhood sequence is chosen as having the best solution, the job pair in the sequence that causes the perturbation of the seed is checked against the TL. If the job pair is present in the TL, the move is marked as a forbidden move, and the next best solution value and neighbourhood sequence are inspected. Along the way, any improvements found in the overall objective solution are maintained and updated as well. This is repeated for a period of time until some maximum number of STM iterations (denoted later as MAXSTM) is reached. However, if at any point during the STM iterations every move in a neighbourhood contains a Tabu move, an aspiration function (A) is activated to restrict the search from being trapped at a solution surrounded by Tabu neighbours. When a neighbourhood has only Tabu moves, the sequence with the smallest solution which is greater than the aspiration value is chosen as the next candidate seed sequence. Next, the LTM phase determines an improved solution for the objective function and allows for new unexplored regions to be searched and old regions to be blocked from being visited for some period of time. The STM procedure is then repeated by starting with a new seed sequence that is determined from the best solution chosen during the prior LTM phase. The entire methodology cycles repeatedly by switching between STM and LTM phases until some maximum number of LTM iterations (denoted later as MAXNLTM) during which no improvement over the best MS value was last found or some pre-specified maximum number of LTM iterations is attained. When this value is reached, the procedure stops, and the best solution along with its associated sequences are revealed. 3.2 Overview of TS2 algorithm methodology In Stage I, the SPTR heuristic initially assigns unscheduled jobs to machines based on their smallest processing time values and an initial MS value is determined. After this preliminary assignment of jobs to machines is performed, an attempt is made to improve the MS value during each iteration by moving a job (i, j) previously assigned to a bottleneck machine k to an alternative machine k0 2 Mij when slack time is greater than Pijk0 . Henceforth, this procedure is denoted as MOVE. When MOVE improves the makespan value with respect to machines k and k0 , the overall makespan value is updated. This MOVE process repeats until no improvement in the solution is found. Next, an ^ attempt is made to improve the MS once more by switching a pair of jobs i, j^ and (i0 , j0 ). ^ j^ is moved from the bottleneck Hereafter, this procedure is designated as SWITCH. Job i, ^ machine k to an alternative machine k0 , and job (i0 , j0 ) is moved from an alternative ^ machine k0 to the bottleneck machine k. When SWITCH improves the makespan value ^ and k0 , the overall makespan value is updated once again. This with respect to machines k entire process repeats (i.e. re-starting with MOVE) until no improvement in the solution is found, and then the heuristic terminates. A detailed description of both the MOVE and SWITCH procedures are now presented. Let Tk denote the total processing time of jobs assigned to machine k, Sk denote the set of jobs assigned to machine k, and B denote the set of machines whose Tk values are equivalent to the makespan value.

^ ^ ^ MOVE: Find a job i, j^ and a pair of machines k, k0 such that i, j^ is a job assigned to ^ a bottleneck machine k 2 B that can be reassigned to machine k0 2 Mij\B when jMijnBj ! 1, which decreases the relative makespan of the two machines, i.e. Tk0 Pi^jk0 5 MS. ^

6916

^ ^ If i, j^ and k, k0 exist, ^ ^ Sk Sk ni, j^ , Sk0 Sk0 [ i, j^ , Tk Tk Pi^j^k , and Tk0 Tk0 Pi^jk0 . Recompute ^ ^ ^ ^ ^ ^ MS max{Tk:k 1, . . . , M}, let set B {k: MS Tk, k 1, . . . , M}, and repeat MOVE. Otherwise, goto SWITCH. ^ ^ ^ SWITCH: Find a pair of jobs i, j^ and (i0 , j0 ) and a pair of machines k, k0 such that i, j^ is ^ a job assigned to a bottleneck machine k 2 B that can be reassigned to machine k0 2 Mij\B when jMijnBj ! 1, and (i0 , j0 ) is a job assigned to machine k0 2 Mij\B that can be reassigned to ^ machine k 2 B, all while decreasing the relative makespan of the two machines, i.e. Tk Pi^j^k Pi0 j0 k 5 MS and Tk0 Pi0 j0 k0 Pi^jk0 5 MS. ^ ^ ^ ^ ^ ^ ^ ^ If i, j^, (i0 , j0 ), and k, k0 exist, Sk Sk ni, j^ [ i0 j0 , Sk0 Sk0 ni0 j0 [ i, j^ , ^ ^ Tk Tk Pi^j^k Pi0 j0 k , and Tk0 Tk0 Pi0 j0 k0 Pi^jk0 . Recompute MS max{Tk:k 1, . . . , M}, ^ ^ ^ ^ ^ let set B {k: MS Tk, k 1, . . . , M}, and repeat MOVE. Otherwise, stop.

The VT heuristic is a single-pass procedure that uses earliest start times and processing times for all jobs and operations in the FMC. Based on an urgency criterion for all jobs processed on the machines, critical paths (i.e. sequences) are determined and the job with the maximum completion time is designated as a critical job. The finish time associated with this job is the initial feasible makespan (MSINIT) for Stage I. In Stage II, the Tabu Search meta-heuristic procedure is utilised. During the STM phase, neighbourhood sequences are formed from the seed sequence using the API method where two adjacent jobs are switched, and for each neighbourhood sequence an LP model is automatically generated if the switch does not contain Tabu job pairs. An LP solver subroutine is called to determine a MSLP value for the current neighbourhood sequence and the process is repeated for each neighbourhood sequence. That is, jobs are re-sequenced such that the move may potentially improve the objective value every time a new neighbourhood sequence is formed. This is equivalent to changing the Yijghk sequencing variables in the full 01 MILP model previously described in Section 2.3 which is the basis for the LP subproblem used within this heuristic methodology. Recall that the Xijk variables represent the routing determination factors (i.e. where operations are assigned to machines) and the Yijghk variables represent the sequencing determination factors (i.e. when the order to perform operations of jobs is determined). When all of the Xijk and Yijghk variables are fixed in the basic MILP model, it becomes an LP model that is solvable in polynomial time. This happens because once the Xijk and Yijghk integer variables from the 01 MILP model are set to 0 and 1 values, the computer no longer has to perform implicit enumeration for the 0 and 1 variables. At this point, the remaining variables no longer have integer conditions. A job sequence is fixed, and optimal job starting times are easily obtainable with the use of an optimisation LP solver. This entire procedure of generating an LP model automatically, solving the LP model, and retrieving a makespan solution value (MSLP) from the LP model is denoted as GENERATELP henceforth. Next, the Xijk routing variables are changed during the LTM phase of Stage II of the TS algorithm to diversify the search. Jobs are re-routed such that moving a job from one machine to another alters two or more sequences (i.e. MOVE procedure from the SPTR heuristic). This causes Xijk routing variables to be altered and could potentially improve the objective value once more. Another possibility for changing two or more sequences is by exchanging (i.e. switching) two jobs on two different machines (i.e. SWITCH procedure from the SPTR heuristic). In the scheduling research literature, usually one of these

6917

procedures is utilised; however, both are incorporated in this research in an attempt to obtain improved results. In summary, the intensification property of Glovers Tabu Search meta-heuristic enables the Yijghk sequencing variables to be extensively searched in a promising feasible region of the solution space. This region is based on a given set of Xijk routing variables. When no more improvements are found in this feasible region, the diversification property takes over by allowing another unexplored feasible region to be searched using a new set of sequences with modified Xijk variables. The SPTR heuristic, VT heuristic, STM and LTM properties comprise the basic structure of the TS2 algorithm, and they are detailed in the following steps of the methodology.

3.3 Additional notation and terms The following is a listing of the subscripts, variables, and parameters used in the TS2 algorithm. MSTS MSINIT MAXSTM MAXNLTM SIZETL ISTM ILTM INLTM MSSTM MSLTM MSLP A MSMOVE MSSWITCH 1, 2, 3 max{Ci: i 1, 2, . . . , N}, makespan defined as the maximum completion time of all jobs using the TS2 algorithm initial makespan value at the end of Stage I maximum number of STM iterations maximum number of LTM iterations with no improvement of the MSTS value the size of the TL the STM iteration counter the LTM iteration counter the LTM iteration counter where no improvement of the MSTS value was found at the end of a LTM phase the makespan value at the end of the STM phase the makespan value at the end of the LTM phase the makespan value found at the end of each LP model generation the value associated with an aspiration function which restricts the search from entrapment at a local optimum the best makespan solution found during the MOVE procedure the best makespan solution found during the SWITCH procedure large positive integer value values used to initialise the MAXSTM, MAXNLTM and SIZETL parameters. Note: Details on how to set these alpha values can be found in Pitts (2006).

3.4 Detailed steps of the TS2 algorithm Stage I (construction phase) Step 1: Retrieve scheduling data. This includes all job processing times, all job sequences, and all machines that are available for each job. Step 2: Invoke the SPTR heuristic and the VT heuristic to determine an initial makespan value (MSINIT) and its associated seed sequence.

Let MSTS MSINIT, MAXSTM 1, MAXNLTM 2, SIZETL 3, TL , ISTM 0, ILTM 0, INLTM 0, MSSTM , MSLTM , MSLP , A MSINIT, MSMOVE , and MSSWITCH .

Step 4: Invoke the Tabu Search Short Term Memory (STM) phase. (1) Form neighbourhood sequences from the seed sequence using API by interchanging adjacent jobs in each sequence if the job moves are not Tabu. If all job moves are Tabu (i.e. forbidden interchanged job pairs that are already on the set TL), aspiration occurs. During aspiration, for each Tabu neighbourhood sequence perform the GENERATELP procedure to determine a MSLP. Select the sequence with the smallest MSLP value, such that MSLP 4 A, as the next seed sequence and go to Step 4(3). If all job moves are not Tabu, perform the GENERATELP procedure to determine a MSLP for each feasible non-Tabu neighbourhood sequence. (2) Examine each neighbourhood sequence to choose the best neighbourhood solution ^ as the next seed sequence. Let MSLP be the MS value for the best neighbourhood ^ ^LP 5 MSSTM, then let MSSTM MSLP and A MSSTM. Assign the sequence. If MS sequence associated with the solution that corresponds to the best MSSTM as the next seed sequence and update the set TL. If MSSTM 5 MSTS, let MSTS MSSTM, assign its associated sequence as the overall best sequence and go to Step 4(3). (3) Let ISTM ISTM1. If ISTM MAXSTM, then let ISTM 0, MSSTM , A , and go to Step 5(1). Otherwise, let MSSTM and repeat Step 4(1). Step 5: Invoke the Tabu Search Long Term Memory (LTM) phase. (1) Generate a new seed sequence from the current seed sequence by moving one job to another machine using the MOVE procedure from the SPTR heuristic found in Pitts (2006): . Use the current seed sequence to move a job. . Compute the MSMOVE using the VT heuristic for each possible job move. If MSMOVE 5 MSLTM, then let MSLTM MSMOVE and assign the sequence associated with the solution as the current seed sequence. If MSLTM 5 MSTS, then let MSTS MSLTM, assign the sequence associated with the solution as the best overall seed sequence and repeat Step 5(1). If no possible job moves remain, go to Step 5(2). (2) Generate a new seed sequence from the current seed sequence by switching two jobs on two different machines using the SWITCH procedure from the SPTR heuristic found in Pitts (2006): . Use the current seed sequence to switch two jobs. . Compute the MSSWITCH using the VT heuristic for each possible job switch. If MSSWITCH 5 MSLTM, let MSLTM MSSWITCH and assign the sequence associated with the solution as the current seed sequence. If MSLTM 5 MSTS, let MSTS MSLTM, assign the sequence associated with

6919

the solution as the best overall seed sequence, let INLTM 0, ILTM ILTM 1, then go to Step 5(1). Otherwise, let INLTM INLTM 1 and ILTM ILTM 1. Step 6: If INLTM 5 MAXNLTM, then let MSLTM and go to Step 4(1). Otherwise, STOP the TS2 algorithm. The best makespan value (MSTS) has been found along with its associated machine sequences. At this time, a production schedule can be generated.

4. Illustrative example The following is a simple example with randomly generated data. This algorithm was coded using Microsoft Visual C.NET. The processing times have been generated from integer uniform distributions between 5 and 30. In this example, all jobs are ready at time 0. The parameters in Table 1 indicate that there are six jobs with three operations which can be performed on one of four machines, and some operations can be processed on alternative machines. For example, operation 1 of job 6 can be processed on either machine 3 or machine 4. This particular problem requires 176 integer variables in 352 constraints when used with the original 01 MILP model via LP_Solve, a MILP solver (Berkelaar et al. 2004). This indicates that the complete enumeration would require 2176 combinations in order to solve this problem optimally. Since LP_Solve uses the Branch-and-Bound method for the integers, the search space for solving this problem is reduced and complete enumeration is not necessary. When applying this data to the MILP model, the optimal MS value was determined to be 108 time units. After the initial job routes and sequences were determined during Stage I of the TS2 algorithm, the initial MS value was 149 time units. When Stage II was completed, the final MSTS value was 108 time units, which is equivalent to the optimal value. Solving the problem with the 01 MILP model took 28,852.125 seconds (i.e. 8.01 hours of CPU runtime) on a 2 GHz Pentium 4 computer, while it only took 14.51 seconds when using the TS2 algorithm. The significant CPU time-savings indicate that the TS2 algorithm is useful in solving larger FMC scheduling problems that would normally take days or weeks to find an optimal solution when using the traditional 01 MILP model approach.

5. Computational results The results from the TS2 algorithm and the 2-MILP have been compared with the optimal solutions from the 01 MILP model in Table 2. The small-size FMC problem category includes the range of three to six jobs with three operations and four machines, and six to seven jobs with two operations and three or four machines. Medium-size problems include the range of seven to eight jobs with three operations and four machines, six to seven jobs with three operations and three machines, and eight to nine jobs with two operations and three or four machines. The large-size problems include the range of nine to 10 jobs with two to three operations, and three to four machines in this research. Three data sets (problems) are generated for each of the aforementioned categories (e.g., small, medium, and large).

6920

Table 1. Processing times and machine routings for a six-job, three-operation, four-machine FMC scheduling problem. M/C 2 22 26 12 24 25 17 30 25 Job 6 Job 5 1 2 3 27 14 18 17 Job 4 1 2 3 M/C 3 M/C 4 Operation # M/C 1 M/C 2 M/C 3 M/C 4 20 19

Operation #

M/C 1

Job 1

1 2 3

5 22

Job 2

1 2 3

18 17

25 17 21 21 18 25

Job 3

1 2 3

16 16

1 2 3

Table 2. Results for small-size FMC problems of the TS2 algorithm, 01 MILP model, 2-MILP model and INIT procedure.

AVG CPU AVG CPU AVG RE for AVG CPU AVG RE AVG CPU AVG RE runtime AVG runtime 2-MILP vs. AVG runtime for INIT AVG runtime for TS2 vs. AVG NJ NO NM MSMILP for MILP (s) MS2-MILP for 2-MILP (s) MILP (%) MSINIT for INIT (s) vs. MILP (%) MSTS2 for TS2 (s) MILP (%) 76.00 76.67 82.67 87.67 87.00 82.33 0.037 0.063 0.153 0.370 0.968 0.179 16.92 4.55 2.06 0.38 3.57 0.00 73.67 81.33 87.33 96.67 111.33 83.67 0.020 0.023 0.072 0.020 0.023 0.023 13.33 10.91 7.82 10.69 32.54 1.62 65.33 75.67 81.67 90.00 88.00 83.67 0.871 0.361 0.189 3.301 7.849 0.023 0.51 3.18 0.82 3.05 4.76 1.62

3 4 5 6 6 7

3 3 3 2 3 2

4 4 4 3 4 4

6922

In Table 2, for a total of 18 different problems, the average solution values and average CPU runtime for the TS2 algorithm and 01 MILP model, as well as the average relative error (Avg. RE) values, are presented. In addition, the results of the 2-MILP model (from Section 2.4) as well as the INIT procedure (the initial makespan results at the end of Stage I) have been compared with the 01 MILP model and are also reported in the table. When comparing the 01 MILP model makespan solutions with those achieved using the TS2 algorithm, the TS2 algorithm fared very well. The overall average relative error (Avg. RE) for the small-size FMC problems (all three data sets) was determined to be 2.33%, with the Avg. RE for all jobs ranging from 0.51 to 4.76% for the TS2 algorithm. The 2-MILP models results ranged from 0 to 16.92% for its average relative error, with an overall average of 4.58%, while the INIT procedure yielded an overall average RE of 12.82% with a range from 1.62 to 32.54%. For most instances, the CPU runtimes for the TS2 algorithm are significantly shorter than those of the 01 MILP model. However, the CPU runtimes for the 2-MILP model were relatively close to those of the TS2 algorithm except in a small number of problem instances involving five jobs and seven jobs. The time-savings are a significant factor between the two MILP methods. The 01 MILP model CPU runtime values ranged from an average of 0.101 to 14,303 seconds with an average of 2430.652 seconds and the 2-MILP model values ranged from 0.037 to 0.968 seconds with an average of 0.295 seconds, while the TS2 algorithm values only ranged from an average of 0.023 to 7.849 seconds with an average of 2.099 seconds. Thus, while the TS2 algorithm may not be able to solve every small-size FMC problem optimally, it solves the test problems within 2.33% of the optimal value, on the average, overall in substantially less time. For medium-to-large-size FMC problems, the results from the TS2 algorithm have been compared with the solutions provided from the 2-MILP model (when possible), and also with the initial solution from Stage I (i.e. the INIT procedure). In addition, a lower bound (LB) for the makespan was used to help gauge the quality of the solution for these medium-to-large test problems, especially in cases where increased problem sizes prevent optimum values from being achieved in reasonable computational time. This LB is generated by finding the sum of the minimum processing times for all jobs and operations assigned to machines divided by the total number of machines used. Recall from Section 2.4 that the 2-MILP model uses relaxed precedence constraints in its first stage; thus, it is possible that optimality is not guaranteed during its second stage if its selected routes were not optimal/near-optimal routes. However, the solutions should remain somewhat close those of the 01 MILP model on the average. A lower bound for the optimal MS value can be determined as follows: PN PJi i1 j1 mink2Mij fPijk g 29 : LB M Table 3 provides the average solutions and CPU runtimes for the TS2 algorithm and 2-MILP model for medium-size problems, as well as the average relative error (Avg. RE). In addition, the results of the 2-MILP model and the initial makespan results from Stage I are also reported in the table. The overall average relative error (Avg. RE) from the LB for the medium-size FMC problems (all three data sets) was determined to be 8.18%, with the Avg. RE for all jobs ranging from 5.29 to 10.94% for the TS2 algorithm. The 2-MILP model yielded an overall Avg. RE of 8.95% from a range of 4.79 to 11.85%. The INIT procedure yielded results

Table 3. Results for medium-size FMC problems of the TS2 algorithm, 2-MILP model and INIT procedure w.r.t. the lower bound.

NJ 62.521 1205.271 50.200 48.943 7595.422 13.000 11.04 11.85 6.76 4.79 10.96 8.30 155.00 149.00 111.33 113.00 118.00 98.00 0.030 0.027 0.172 0.020 0.027 0.155 38.81 23.14 18.85 16.10 17.21 10.94

NO

NM

AVG LB

AVG MS2-MILP

AVG CPU runtime for TS2 (s) 7.568 3.275 7.905 6.733 13.842 0.155

AVG RE for TS2 vs. LB (%) 9.25 9.64 6.76 7.19 5.29 10.94

AVG CPU runtime for MILP (s) 28,800 28,800 28,800 28,800 28,800 28,800

6 7 7 8 8 9

3 3 3 2 3 2

3 3 4 3 4 4

6924

with an Avg. RE ranging from 10.94 to 38.81% for an overall average of 20.84% at the end of Stage I. Thus, the TS2 algorithm gives a slight advantage over the 2-MILP model with respect to the makespan results. Once again, the average CPU runtime values for the TS2 algorithm were substantially shorter than those of the 2-MILP model for the medium-size FMC problems. For the medium-size problems, the TS2 algorithm found solutions from a range of 0.155 to 13.842 seconds, on average, with an overall average of 6.58 seconds, while the 2-MILP model ranged from 13.00 to 7595.422 seconds, on average, with an overall average of 1495.893 seconds. Thus, even when comparing the TS2 algorithm with the 2-MILP model, there is a significant difference in the overall solution time. Table 4 provides the average solutions and CPU runtimes for the TS2 algorithm and INIT procedure for large-size problems, as well as the average relative error (Avg. RE). In addition, the results of the initial makespan results from Stage I are also reported in the table. The overall average relative error (Avg. RE) from the lower bound (LB) for the largesize FMC problems (all three data sets) was determined to be 7.37%, with the Avg. RE for all jobs ranging from 4.86 to 9.93% for the TS2 algorithm. The INIT procedure yielded results with an Avg. RE ranging from 11.35 to 22.54% at the end of Stage I, giving an overall average of 16.60%. Thus, the TS2 algorithm performed well with respect to the LB as well. The average CPU runtime values for the TS2 algorithm were substantially shorter than those of the INIT procedure for the large-size FMC problems. For the large-size problems, the TS2 algorithm found solutions that ranged from 2.641 to 15.662 seconds with an overall average of 7.249 seconds, while the INIT procedure ranged from 0.030 to 0.118 seconds, on average, with an overall average of 0.057 seconds. The power of the TS2 algorithm is graphically displayed in Figure 2. In this figure, notice that the average CPU runtime value of the TS2 algorithm is considerably shorter than the average value found using the 01 MILP model for small-size FMC problems, and noticeably shorter than the average CPU runtime value of the 2-MILP model for medium-size FMC problems.

6. Summary and conclusions This research has addressed the problem of routing and scheduling a FMC in a single facility. The primary objective in this research was to develop a methodology that minimises the manufacturing makespan within a FMS environment, while reducing the time that is required to develop and produce a realistic production schedule. In order to achieve the primary research objective, a formal mathematical model was formulated and used as a starting point for determining FMS schedules. The objective in this model was to minimise manufacturing makespan for jobs processed in a FMC environment. The models objective function was characterised for solvability in terms of size (e.g., jobs, operations, and machines). This was performed using a commercially available optimisation software tool called LP_Solve. The initial preliminary test problems consisted of using small processing times with at most seven jobs, three operations, and four machines. The problem was scaled up with larger processing times and various numbers of jobs, operations, and available machines in order to solve medium-to-largesize problems, but the MILP could not solve these problems.

Table 4. Results for large-size FMC problems of the TS2 algorithm and the INIT procedure w.r.t. the lower bound.

NJ 203.00 139.00 137.33 103.00 218.67 159.33 0.023 0.030 0.118 0.027 0.111 0.030 22.54 13.32 11.35 13.60 17.77 21.01 180.00 133.67 129.33 99.67 195.33 140.33 15.662 2.641 5.069 3.345 8.328 8.449

NO

NM

AVG LB

AVG MSINIT

AVG RE for TS2 vs. LB (%) 8.65 8.97 4.86 9.93 5.21 6.58

AVG CPU runtime for MILP (s) 28,800 28,800 28,800 28,800 28,800 28,800

AVG CPU runtime for 2-MILP (s) 28,800 28,800 28,800 28,800 28,800 28,800

9 9 10 10 10 10

3 3 2 2 3 3

3 4 3 4 3 4

6926

Average CPU runtimes for small, medium, and large size FMC problems 10000

2430.652 1495.893

100

Small size problems Medium size problems Large size problems 6.58 7.249 2.099

10

1

0.295

Next, a two-stage Tabu Search (TS2) algorithm was created to solve various instances of the problem in a more time-efficient manner. This algorithm was coded using Microsoft Visual C .NET on a Pentium 4, 2.0 GHz computer workstation. The effectiveness of the TS2 algorithm versus the NP-hard 01 MILP mathematical model, as well as versus another two-part MILP formulation (2-MILP), was evaluated. In order to accomplish this, an experimental comparison was performed using several test problems of various system sizes (i.e. changing the number of jobs, operations, and machines), and an examination of the FMC was conducted using the makespan performance measure. Small/medium/large-size problems were compared using the results of the developed 01 MILP model solved with the LP_Solve optimisation software against the results from the C coded TS2 algorithm. These were also compared with the 2-MILP model and the INIT procedure for the problems that could not be solved optimally within an average of 8 hours. It was shown that the TS2 algorithm found optimal solutions for several of the problems. For the small-size problems that had optimal makespan solutions, the TS2 algorithm was within 2.33% of the optimum makespan solution values on the overall average and the CPU runtime was substantially shorter. For medium-to-large-size problems, the TS2 algorithm performed very well against the lower bound values. In conclusion, the TS2 algorithm is an efficient methodology that collectively uses various heuristic techniques to solve small-, medium- and large-size FMC problems. The computational results show that the algorithm is effective in achieving near-optimal (and in some cases optimal) solutions for a wide range of test problems with pre-set parameters for its Stage II component. With the use of two separate stages, the TS2 algorithm is shown to improve its objective function value while keeping CPU runtime very short. Overall, this algorithm could be used to solve a variety of FMC problems for a number of jobs to help

6927

to reduce system makespan, reduce computational effort, and determine very good production schedules.

References

Arikan, M. and Erol, S., 2006. Meta-heuristic approaches for part selection and tool allocation in flexible manufacturing systems. International Journal of Computer Integrated Manufacturing, 19 (4), 315325. Berkelaar, M., et al., 2004. LPSolve IDE version 5.1.0.2 software. Boston: Free Software Foundation, Inc. Blazewicz, J., et al., 1988. New trends in machine scheduling. European Journal of Operational Research, 37 (3), 303317. Chan, F.T.S. and Chan, H.K., 2004. A comprehensive survey and future trend of simulation study on FMS scheduling. Journal of Intelligent Manufacturing, 15 (1), 87102. Chan, F.T.S. and Swarnkar, R., 2006. Ant colony optimisation approach to a fuzzy goal programming model for machine tool selection and operation allocation problem in an FMS. Robotics and Computer-Integrated Manufacturing, 22, 353362. French, S., 1982. Sequencing and scheduling: an introduction to the mathematics of the job-shop. New York: Wiley. Gamila, M.A. and Motavalli, S., 2003. A modeling technique for loading and scheduling problems in FMS. Robotics and Computer-Integrated Manufacturing, 19 (1/2), 4554. Glover, F., 1989. Tabu Search Part I. ORSA Journal of Computing, 1 (3), 190206. Ibarra, O.H. and Kim, C.E., 1977. Heuristic algorithms for scheduling independent tasks on nonidentical processors. Journal of the Association for Computing Machinery, 24 (2), 280289. Jerald, J., et al., 2005. Scheduling optimisation of flexible manufacturing systems using particle swarm optimisation algorithm. International Journal of Advanced Manufacturing Technology, 25, 964971. Jiang, J. and Hsiao, W., 1994. Mathematical programming for the scheduling problem with alternate process plans in FMS. Computers & Industrial Engineering, 27 (14), 1518. Kumar, R., Tiwari, M.K., and Shankar, R., 2003. Scheduling of flexible manufacturing systems: an ant colony approach. Proceedings of the Institute of Mechanical Engineers, Part B: Journal of Engineering Manufacture, 217 (10), 14431453. Liu, J. and MacCarthy, B.L., 1996. The classification of FMS scheduling problems. International Journal of Production Research, 34 (3), 647656. Liu, J. and MacCarthy, B.L., 1997. A global MILP model for FMS scheduling. European Journal of Operational Research, 100 (3), 441453. Logendran, R. and Sonthinen, A., 1997. A Tabu Search-based approach for scheduling job-shop type flexible manufacturing systems. Journal of the Operational Research Society, 48 (3), 264277. Low, C. and Wu, T.-H., 2001. Mathematical modeling approaches to operation scheduling problems in an FMS environment. International Journal of Production Research, 39 (4), 689708. Pitts, R.A., 2006. A mathematical programming approach for routing and scheduling flexible manufacturing cells. Thesis (PhD). The Pennsylvania State University. Pitts, R.A. and Ventura, J., 2006. Two-stage algorithm for routing and scheduling flexible manufacturing cells. In: Proceedings of the IIE Annual Conference & Exposition, Orlando, Florida, USA, 6 pp. (cd-rom).

6928

Sawik, T., 2004. Loading and scheduling of a flexible assembly system by mixed integer programming. European Journal of Operational Research, 154 (1), 119. Shanker, K. and Modi, B.K., 1999. A branch and bound based heuristic for multi-product resource constrained scheduling problem in FMS environment. European Journal of Operational Research, 113 (1), 8090. Swarnkar, R. and Tiwari, M.K., 2004. Modeling machine loading problems of FMSs and its solution methodology using a hybrid Tabu Search and simulated annealing-based heuristic approach. Robotics and Computer-Integrated Manufacturing, 20 (3), 199209. Vancheeswaran, R. and Townsend, M.A., 1993. Two-stage heuristic procedure for scheduling job shops. Journal of Manufacturing Systems, 12 (4), 315325. Yang, H. and Wu, Z., 2003. The application of adaptive genetic algorithms in FMS dynamic rescheduling. International Journal of Computer Integrated Manufacturing, 16 (6), 382397.