Int J Adv Manuf Technol (2012) 59:669–679 DOI 10.1007/s00170-011-3506-0
ORIGINAL ARTICLE
A hybrid simulated annealing-tabu search algorithm for the part selection and machine loading problems in flexible manufacturing systems Murat Arıkan & Serpil Erol
Received: 2 August 2010 / Accepted: 27 June 2011 / Published online: 16 July 2011 # Springer-Verlag London Limited 2011
Abstract Part selection and machine loading are two major problems in the production planning phase of the flexible manufacturing systems. The problems have a combinatorial structure and usually, in practice, it is difficult to deal with this kind of problems using a mathematical programming model. In this paper, the above problems are formulated as a mixed-integer programming model which is handled sequentially and solved by a diversification-strategy-added version of the hybrid tabu search/simulated annealing algorithm of Zhang et al. (Comput Oper Res 35:282–294, 2008) presented in 2008. The performance of the algorithm is tested on eight random-generated problems with different sizes. The results are compared with those of the mathematical programming model, the original version of Zhang et al.’s (Comput Oper Res 35:282–294, 2008) algorithm and also a tabu search algorithm developed earlier by the authors. Keywords Part selection . Machine loading . Flexible manufacturing systems . Tabu search . Simulated annealing
1 Introduction A flexible manufacturing system (FMS) is an integrated computer-controlled batch manufacturing system which is designed to combine the efficiency of transfer lines and the flexibility of jobshops in order to fulfill the requirements of M. Arıkan (*) : S. Erol Industrial Engineering Department, Gazi University, Ankara 06570, Turkey e-mail:
[email protected] S. Erol e-mail:
[email protected]
mid-volume/mid-variety production domain. FMSs constitute an alternate for the conventional production systems that fail to respond to the changing circumstances in the market. They offer some advantages such as low work-inprocess (WIP) and manpower levels, high-quality production, and increased machine utilization on the factory floor and thus, help in attaining lower manufacturing costs and higher product quality. However, to justify their high capital investment and to utilize their capabilities efficiently, a thorough planning prior to production is necessary. FMS planning problems mainly deal with ensuring the efficient utilization of the system resources. Stecke [1] classified the planning problems as part selection, machine loading, machine grouping, production ratio determination, and resource allocation. The focus of this study is on part selection and machine loading which are two main problems of the FMS planning phase. Part selection is choosing a subset from the list of part types which are waiting to be produced, for immediate and simultaneous processing. On the other hand, machine loading involves allocation of the operations and the required tools of selected part types among the machines or machine groups subject to the restriction of production resources. As can be seen from the definitions, the two problems have common constraints such as job–tool– machine compatibility, tool magazine, and machine time capacities. Thus, those problems are better treated simultaneously to avoid the inconsistency between their solution sets. Earlier efforts on integrated consideration of part selection and machine loading problems involve the studies by Rajagopalan [2], O’Grady and Menon [3], and Co et al. [4]. Later, Liang and Dutta [5] proposed integrated bicriterion models to solve the part selection and machine loading problems simultaneously. Moreno and Ding [6]
670
developed two heuristics with the objectives of balancing workloads and meeting due dates. Liang [7] employed a two-stage approach to the joint problem of part selection, machine loading, and machine speed selection problems in FMS. Denizel and Erengüç [8] addressed certain production planning problems of FMS including part selection and machine loading by branch and bound procedures based on linear programming relaxations for the models they present. Kumar and Shanker [9] used a genetic algorithm to solve part selection and machine loading problem as they exploit the mixed integer programming (MIP) model of the problem to make their algorithm less computation intensive. Mukhopadhyay et al. [10] developed a heuristic for a machine loading problem which is identical to that previously considered by Shanker and Srinivasulu [11]. Although this problem is termed as machine loading, they are interested in selecting a subset of jobs from a job pool as well as assigning the operations of selected jobs to the machines. The mentioned problem is studied then a number of times by different researchers [12–21], along with slightly different or the same objective functions and different solution techniques. Lee and Kim [22] considered multi-period order selection and loading problems in FMSs with the objective of minimizing earliness, tardiness, and subcontracting costs. Guerrero et al. [23] presented a modeling approach to machine loading problem in which they focused on the existence of the alternative routes instead of the individual operations. The problem and its extension which includes part selection are tackled by using mixed integer linear programming. Unfortunately, due to the combinatorial structure of the part selection and machine loading problems, mathematical programmingbased approaches that seek the optimal solution cannot be implemented efficiently especially when the problem size increases. In recent years, there has been an increasing trend in the studies that use the meta-heuristic approaches such as simulated annealing (SA) [24–26], tabu search (TS) [27–29], genetic algorithms (GA) [9, 13, 18, 26, 30, 31], artificial immune systems (AIS) [19, 26, 32, 33], partical swarm optimization (PSO) [20], ant colony optimization (ACO) [21, 34], and hybrid algorithms as SA/TS [14] and SA/GA [17] to solve the FMS planning problem as well as other combinatorial problems. Moreover, FMS planning phase has a multi-objective structure which may be considered in a simultaneous or sequential manner. Some researchers [4, 9, 16, 20, 24, 25, 28, 30, 35] handled the problem by taking a single objective into account. Some others [6, 13–15, 17, 19, 21, 29, 36] took two objectives into consideration one of which is associated with part selection and the other, with machine loading, but they ignored the tool allocation problem which is an important part of the FMS planning phase.
Int J Adv Manuf Technol (2012) 59:669–679
In this paper, as in Arıkan and Erol [27], part selection, machine loading, and tool allocation problems are considered in an integrated manner. During FMS operation, planning for system setup has to be performed periodically in fixed or variable intervals. Here, the planning period is assumed to be variable. The variable period method does not limit the size of the production period. Once the system is set up, production is continued until the production requirements are satisfied for all the part types selected to be produced [37]. Furthermore, batching approach is used in part selection. This approach necessitates partitioning the part types into separate batches. After all part types selected for a batch are processed, the tool magazines can be loaded by a different set of tools required for the new batch. Here, first, the problem is formulated as a bi-objective mixed-integer programming model which is solved sequentially. However, due to the computational complexity of the problem, when the problem size increases, it becomes impractical to use the given mathematical model. It is worth to note that the considered problems are associated with detailed planning phase and need to be solved in frequent intervals as daily or a couple of times a day. Therefore, the problem has to be tackled by a technique that achieves good solutions in shorter times. Thus, we propose a hybrid tabu search/simulated annealing algorithm to deal with the problem which is an enriched version of that developed by Zhang et al. [38]. The proposed algorithm is tested on eight randomly generated problems by comparing its performance with the results obtained from the mathematical model, original version of Zhang et al.’s [38] algorithm and also the tabu search algorithm previously developed by Arıkan and Erol [27]. The remainder of this paper is organized as follows: In Section 2, problem description and model formulation are given. Section 3 explains the solution methodology and also describes the details related with the problem encoding. In Section 4, results of the experiments are reported. Finally, conclusions and directions for future research are summarized in Section 5.
2 Problem description and model formulation The FMS considered here contains m general-purpose machines that are equipped with tool magazines and automatic tool changers. The capacities of tool magazines are known. The material handling system which links the machines to each other has the flexibility to route a part between any two machines. There are n part types waiting to be produced and each part includes one or more operations. It is assumed that each operation requires a cutting tool and may be processed on at least one machine. Demands for each part type, processing times, tool require-
Int J Adv Manuf Technol (2012) 59:669–679
ments for all operations, and tool slot occupations for all tools are known. As mentioned in the previous section, a variable planning period method is applied with batching approach. In this study, the objective of the part selection problem is maximizing the benefit gained by selecting the parts to be produced for the next production cycle. On the other hand, machine loading problem objective is minimizing the sum of positive and negative deviations from the average workload on each machine. Since the planning period is variable, the average workload is dependent on the total processing time of the selected part types. Considering the hierarchical structure of the FMS planning problems, it can be realized that part selection objective has a priority over machine loading objective. For example, if no part types are selected, the machine loading objective is automatically minimized as the average workload on each machine is 0 and consequently, total deviation from the average workloads is 0. However, this is not the desired output. It is better to optimize the part selection objective first and then to take the machine loading objective into account. So, it seems convenient to formulate the problem as a bi-objective mixed-integer linear programming model which is solved sequentially. The additional assumptions of the problem are as follows: –
– –
Production requirements of part types cannot be split among the machines. This means, if an operation of a part type is assigned to a machine, all requirements of that part should be processed on the same machine, The resources such as pallets, fixtures, etc., used in the system are sufficient and readily available, Material handling time between machines is negligible.
The mathematical model for the problem including the notations, decision variables, constraints is given below.
671
2.2 Decision variables If the operation k of part type i is processed on machine m 1, otherwise 0 If part type i is selected to be produced 1, otherwise 0 If tool type t is assigned to machine m 1, otherwise 0 Positive deviation amount from the average workload on machine m Negative deviation amount from the average workload on machine m
Vikm Yi Rtm Om Um
2.3 Formulation
Max
I X
Wi Yi
ð1aÞ
ðOm þ Um Þ
ð1bÞ
i¼1
Min
M X m¼1
s.t.
M :ð
2.1 Notations
Tool magazine capacity of machine m Tool slot requirement of tool type t If the operation k of part type i can be processed using tool type t on machine m 1, otherwise 0
Cm St TMikmt
X
Pikm :Di :Vikm þ Om Um Þ ¼
ði;kÞ2Jm
i k t m Wi Pikm Di Ti
Jm M(i,k)
Part types, i=1,2,…,I Operations, k=1,2,…,K Tool types, t=1,2,…..,T Machines, m=1,2,….,M Weight of part type i Processing time of operation k of part type i on machine m Demand for part type i Total time of part type processing K P M P Pikm :Di :Vikm i Ti ¼
I X
Ti :Di :Yi
8m
i¼1
ð2Þ X
Vikm ¼ Yi
8i; 8k
ð3Þ
m2M ði;kÞ
Vikm
T X
TMikmt :Rtm
8i; 8k; 8m
ð4Þ
8m
ð5Þ
t¼1
k¼1 m¼1
Set of operations that may be processed on machine m Set of machines where the operation k of job i can be processed
T X t¼1
st :Rtm Cm
672
Int J Adv Manuf Technol (2012) 59:669–679
Vikm 2 ð0; 1Þ
8i; 8k; 8m
ð6Þ
Yi 2 ð0; 1Þ
8i
ð7Þ
Rtm 2 ð0; 1Þ
8t; 8m
ð8Þ
Um ; Om 0
8m
ð9Þ
Objective 1a helps to determine the subset of part types that can be processed simultaneously to maximize the weighted sum. The weight associated with part type i (Wi) may have many different forms such as production rate, profit, a due date criteria, etc. For example, if Wi is a weight associated with the due dates, the parts which have earlier due dates should be given higher weights. Objective 1b is used to minimize the total system imbalance. Constraint 2 describes the workload balance. The total workload of the selected part I P types equals Ti :Di :Yi . In this case, the workload per I i¼1 P machine is calculated using the formula Ti :Di :Yi =M . i¼1
Constraint 3 ensures that, if part type i is selected to be produced, all the operations belonging part type i are assigned to any machine. Constraint 4 guarantees that, if the operation (i, k) is loaded on machine m, the tool type t is allocated to the machine m as well, which is required by operation (i, k). Constraint 5 assures that the number of tool slots occupied by the tools assigned to machine m do not exceed the tool magazine capacity of that machine. The constraints 6–9 specify the variable types and non-negativity conditions. First, the model is composed of the constraints 2–9 and solved under the part selection objective 1a. Then, the obtained objective function value is added as a constraint below the model and solved again using the machine loading objective 1b. As a result, the most balanced operation assignment is obtained, while part selection objective is maximized. Due to the combinatorial structure of the model, a hybrid tabu search/simulated annealing algorithm is employed to deal with the problem. In the next section, details of the solution procedure are discussed.
3 Hybrid tabu search/simulated annealing algorithm Tabu search (TS) and simulated annealing (SA) are two well-known meta-heuristic methods which have been proved to be very effective for many combinatorial optimization problems. They are both based on the local search algorithm since they start from an initial solution and use a generation mechanism to perturb from the current
solution to a new one in an iterative manner. Unlike the local search, in order to avoid being trapped in local optima, TS and SA employ different distinctive rules. TS [39, 40] takes advantage of the history records that are collected during the search process. At each iteration, a set of neighbors of the current solution is investigated and the best neighbor in terms of objective function is replaced with the current solution even though it has a worse objective value. Thus, it is possible to escape from the local optima. However, the algorithm may recur. TS forbids a number of recent moves to prevent recurring and to direct the search to the new regions. These moves are classified as tabu and stored in a structure called tabu list. The tabu status of a move can only be ignored when some aspiration criterion is met which labels a tabu move sufficiently attractive at that moment of the search. In addition to the basic structure of TS described above, diversification and intensification strategies can be included to enhance the solution quality [41]. Diversification strategies intend to guide the search towards the unvisited regions while intensification strategies encourage returning to attractive regions to search them more thoroughly. On the other hand, SA [42, 43] is an iterative randomsearch method which also starts from an initial solution and uses a generation mechanism to perturb randomly from the current solution to a new one. The name of the technique comes from the analogy with the physical annealing process of solid materials. In this technique, some worsening moves are accepted with the probability exp{−ΔC/T} which is a function of the difference in objective values between the current and perturbed solutions and a parameter called temperature (T). This function is called the metropolis criterion and generates high acceptance probabilities for bad moves at higher temperatures. As the temperature decreases, the probability of accepting bad moves also decreases, so SA may climb out of local optima. In this study, after a series of experiments with unsatisfactory results while employing pure SA and pure TS methods, we decided to use a hybrid tabu search/ simulated annealing algorithm to solve the FMS part selection and machine loading problem whose basic ideas were developed by Zhang et al. [38]. In their hybrid algorithm, SA is used to find promising elite solutions in the search history and TS intensifies the search around those elite solutions. The essence of the algorithm is a simple implementation of TS intensification strategy. By means of the metropolis criterion of SA procedure, sufficiently “good” solutions inside the solution space are determined during the operation of TS algorithm. The “good” solutions found are stored in a bounded length elite solutions list. Each new “good” solution is added on the top of elite solutions list when it is discovered. The current first solution of the elite list is always chosen (and removed) as a starting solution to resume the TS algorithm. With each new
Int J Adv Manuf Technol (2012) 59:669–679
and different starting solution, the algorithm is performed for a pre-specified number of iterations. The elite solutions list is always updated with the new “good” solutions encountered during the search. The old “good” solutions can be deleted from the list to keep the length stable. Given a suitable temperature (T) to be used in metropolis criterion, elite solutions in the list should be prevented from being exhausted. The algorithm terminates when the total number of iterations reaches to a given value or the optimal objective value is attained in case it is known. The algorithm has both diversification and intensification effect on the search. The use of the metropolis criterion in determining the elite solutions allows the selection of less attractive solutions in terms of the objective value. This means, at any TS iteration, some solutions worse than the best solution in the neighborhood can be selected to be stored in the elite list. Thus, restarting the algorithm with these different solutions assists to diversify the search. At the same time, it helps to intensify the search around those sufficiently “good” solutions. Here, we add an additional diversification strategy to the core TS part of the algorithm which uses the frequency-based memory. It is explained in the following sections. 3.1 Implementation of the algorithm for the FMS part selection and machine loading problem As in any meta-heuristic approach, in order to implement the algorithm, a series of decisions should be taken. Those decisions for the considered problem are clarified below. Solution encoding One of the most critical decisions for part selection and machine loading problems is determining which tools are loaded on which machines. The tool magazine load of the machines limits the range of operations that can be performed by the related machine. Since our primary objective aims to maximize weighted sum of selected part types and we use the assumption of each part is processed by one and only one corresponding set of tools, the solution requires that the system is loaded by a set of tools which are dissimilar as much as possible. Thus, the machines will be able to process broader range of operations and consequently, broader range of part types can be selected. Hence, the solution of the problem is defined by an array of size t (tool_mach[t]) which stores the machine number of the corresponding tool type is assigned (for example; tool_mach[5]=3 means that tool type 5 is allocated to machine 3, while tool_mach[5]=0 indicates that the associated tool is not allocated to any machine). This definition implies that each tool type is assigned to only one machine. Once the tool magazine loads of the machines are decided, it is easy to determine which parts to be selected and on which machine to assign the required operations. Because of the fact that each tool is
673
assigned once in the system, there will be only one machine to load any operation. Objective function An aggregate objective function is used in hybrid tabu search/simulated annealing algorithm which considers the part selection and machine loading objectives conjointly. For this purpose, both objectives are expressed proportionally. Furthermore, in order to incorporate infeasible solutions into the search procedure, a penalty function is defined the T which considers M P P total violation quantity in the st :Rtm Cm m¼1
t¼1
constraint set 5. The aggregate objective function can be written as: Max Z ¼ g:
I P
Wi :Yi
a:ðtotal violationÞ
i¼1 I P i¼1
Wi
ð10Þ
M P
ðUm þ Om Þ m¼1I P Ti :Di :Yi i¼1
The first part of the aggregate objective refers to part selection and the second part to machine loading. Since those two objectives have reverse directions, i.e., one is maximization and the other is minimization, maximizing the difference between them would give the desired outcome. It is emphasized that the part selection problem has the priority. Therefore, an appropriate weight (g) should be multiplied with the part selection objective to ensure that the aggregate objective exactly represents the sequential structure of the original model. Preliminary computations show that the sequential structure of the model can be assured for g=2.5. Additionally, a penalty coefficient (α) is attached to total violation value. In order to determine penalty coefficient for an associated problem, an experimental approach similar to that used by Srivastava and Chen [24] is employed. Initially, αl (lower limit of α) is taken as 0 and αu (upper limit of α) as sufficiently high as the algorithm certainly converges a feasible solution and with a ¼ ðal þ au Þ=2 the algorithm is run ten times with different seeds. If any of the runs gives an infeasible solution, αl =α and αu is kept fixed. Otherwise, αu =α and αl is kept fixed. The algorithm is repeated with updated α values, until the minimum α value that gives feasible solutions is found. Evaluation of the objective function One way of calculating the objective function is to run a subroutine that aims to load each operation of each part type on machines in a sequential manner by considering the current solution (tool types
674
Int J Adv Manuf Technol (2012) 59:669–679
assigned to machines). However, executing this subroutine with every candidate solution increases the run time of the algorithm. Therefore, a new procedure is designed to compute the objective value without performing the operation assignments with each move. This new procedure necessitates running a more extensive subroutine that is carried out once at every iteration, i.e., when the current solution is updated. It collects some kind of information to be used in calculating the objective functions with each move while assigning the operations to machines.
given in Eq. 11 and 12, are used to determine best solution in the neighborhood of the current solution. During the process of the algorithm, transition frequencies are saved from the first iteration and modified objective function is used to select best solutions in the neighborhood after a prespecified iteration limit (iterfreqlim). In this study, this limit is determined as 3,000, and the penalty coefficient is set to 1.0. With respect to the example given above:
Generation mechanism Increase/decrease and swap moves are used to generate neighbor solutions from the current one. At each iteration, all the variables in the current solution vector are perturbed once, and the move to be performed is selected randomly according to the following plan.
Modifiedf ðxÞ
& & &
If U(0,1)random[0,1] (f(x*) and f (xbest) stand for the objective functions of current solution and the best solution, respectively), then the solution is added on the top of the elite solutions list. If a pre-specified number of iterations (iterdiff) have been executed without an improvement in the best solution found so far, the core TS procedure of the TSSA algorithm is reinitiated with an elite solution from the top of the elite list while tabu classifications and transition frequencies are maintained. During the run of TSSA, the elite solutions found by SA are stored in the elite solutions list. The size of the elite list, i.e., maximum number of solutions stored in the list, is denoted as elitesize. The elite list is maintained as a circular list and when the list is full, as a new elite solution is found, the oldest solution in the list is deleted to keep the length fixed.
Int J Adv Manuf Technol (2012) 59:669–679
675
Table 1 Results of the test problems obtained from GAMS program, TS algorithm of Arıkan and Erol [27], original version of Zhang et al.’s [38] TSSA, and the proposed diversification strategy added TSSA algorithm GAMS
Problem no. m i 1 2 3 4 5 6 7 8 a
kt
Tabu search algorithm of Arıkan and Erol [27]
Proposed diversification strategy added TSSA (TSSAdiv)
Zhang et al.’s [38] original TSSA (TSSAZhang)
Best Average Best Average Best Average CPU time (Obj1a, Obj2b) (Obj1a, Obj2b) (Obj1a, Obj2b) (Obj1a, Obj2b) (Obj1a, Obj2b) (Obj1a, Obj2b) (Obj1a, Obj2b) (s)
5 20 3 20 (369.0c, 158.0c) (369.0, 158.0) 5 20 5 30 (287.0c, 35.2c) (287.0, 35.2) 5 30 3 30 (411.0c, 163.2c) (411.0, 163.2) 5 30 5 40 (454.0c, 5.6d) (454.0, 10.4) 8 30 3 30 (768.0c, 73.5c) (768.0, 126.0) 8 30 5 40 (480.0c, 80.0d) (480.0, 79.5)
(369.0, 158.0) (287.0, 43.1) (411.0, 163.2) (454.0, 32.4) (768.0, 137.8) (479.6, 135.9)
(369.0, 158.0) (287.0, 35.2) (411.0, 163.2) (454.0, 14.4) (768.0, 92.0) (480.0, 58.0)
(369.0, (283.4, (411.0, (454.0, (768.0, (474.6,
158.0) 40,0) 163.2) 28.52) 124.1) 76.6)
(369.0, 158.0) (287.0, 35.2) (411.0, 163.2) (454.0, 5.6) (768.0, 73.5) (480.0, 40.5)
(369.0, 158.0) 2,57 (285.8, 36.8) 51,11 (411.0, 163.2) 9,73 (454.0, 13.16) 160,68 (766.4, 108.18) 169,59 (476.9, 59.38) 296,09
8 40 3 40 (691.0c, 108.0c) (691.0, 108.5) (691.0, 163.8) (691.0, 108.0) (691.0, 108.3) (691.0, 108.0) (691.0, 108.1) 150,97 8 40 5 50 (883.0c, 49.0d) (883.0, 70.8) (883.0, 109.8) (883.0, 45.25) (883.0, 61.625) (883.0, 40.75) (883.0, 58.68) 544,55 Objective value of the part selection problem
b
Objective value of machine loading problem
c
Optimal solution is obtained within the given time limit (7,200 CPU s)
d
Optimal solution is not obtained within the given time limit (7,200 CPU s)
Temperature T of SA has an important effect on the selected elite solutions and consequently on the solution quality obtained from the TSSA algorithm. If the temperature is too low, the algorithm may be terminated earlier due to the elite solutions being quickly exhausted, whereas if the temperature is too high, it cannot guarantee that the “effective” elite solutions are selected [38]. It can be updated by the formula T=Temp/f(xbest), where Temp is a fixed parameter given at the start of the algorithm. Since our objective function is to be maximized, T will be reduced as new best solutions are found. In this study, elitesize and iterdiff are taken as 50 and 5, respectively. Furthermore, Temp is selected between 0.09 and 0.18, depending on the problem instance. Table 2 Proportional differences of part selection and machine loading objectives attained by proposed TSSA algorithm (TSSAdiv) from the GAMS solutions
a
System imbalance ratio (system imbalance/total workload) obtained from the GAMS results
b Average system imbalance ratio obtained from the TSSAdiv algorithm
Aspiration criteria Any move that improves the bestknown solution is accepted, even if the move is tabu. Stopping criterion The algorithm is terminated when a previously determined number of iterations (maxiter) is reached or in case the optimum values of objective functions are known as soon as the optimum values are obtained. Here, maxiter is problem-size-dependent and set to (1,250×t×m).
3.2 Steps of the algorithm Steps of the hybrid tabu search/simulated annealing algorithm are as follows. GAMS
TSSAdiv Average
Problem no.
i
k
t
Obj1 (1)
Proportional Obj2 (2)a
Obj1 (3)
Proportional Obj2 (4)b
(1–3)/1 %
(4)-(2)
m
1 2 3 4 5 6 7 8
5 5 5 5 8 8 8 8
20 20 30 30 30 30 40 40
3 5 3 5 3 5 3 5
20 30 30 40 30 40 40 50
369.0 287.0 411.0 454.0 768.0 480.0 691.0 883.0
0.1043 0.0140 0.0924 0.0020 0.0175 0.0162 0.0316 0.0059
369.0 285.8 411.0 454.0 766.4 476.4 691.0 883.0
0.1043 0.0145 0.0924 0.0047 0.0258 0.0125 0.0316 0.0071
0.00 0.42 0.00 0.00 0.21 0.65 0.00 0.00
0.0000 0.0005 0.0000 0.0027 0.0083 −0.0037 0.0000 0.0012
0.16
0.0011
Average differences from the GAMS results
676
Int J Adv Manuf Technol (2012) 59:669–679
Step1: Generate an initial solution X randomly and calculate the aggregate proportional objective function value (f(X)). Update the current solution and the best solution (X*=X, Xbest=X, fbest=f(X)), iter=0, totiter=0. Initialize the tabu lists and add the initial solution at the top of the elite solution list. Step 2: Save the first solution in the elite solutions list as current solution (X*=elitsolutionslist[1], elitesolutionslist[1]= ). Step 3: iter=iter+1, totiter=totiter+1, nn=1 {Generate neighbors of X* with respect to the generation mechanism} best_ f_in_neigh=0, mod_best_ f_in_neigh=0 (original and modified best objective functions in neighborhood) 3.1. Generate X´ from the nnth component of the current solution X* by randomly determined hk move, nn=nn+1 3.2. If totiter fbest) then begin If totiterbest_ f_in_neigh then begin best_ f_in_neigh=f(X(hk)), Xneigh=X(hk) (update the best solution in the neighborhood) end; end else begin If mod_ f(X(hk)) > mod_best_ f_in_neigh then begin mod_best_ f_in_neigh=mod_ f(X(hk)),
best_ f_in_neigh=f(X(hk)),
Xneigh=X(hk) (update the best solution in the neighborhood) end; end; end else go to Step 3.1. 3.4. If nn < t then go to Step 3.1. Step 4: Update the temperature T, the current solution, the tabu lists and transition frequency list (frequency[hk]=frequency[hk]+1) diff = best_ f_in_neigh - fbest If (best_ f_in_neigh > fbest) or (exp(diff/T) > random[0,1]) then save X* on the top of the elite solutions list. Step 5: If best_ f_in_neigh > fbest then update the best solution (Xbest=X*, fbest=best_ f_in_neigh, iter=0, iterbest=totiter) Step 6: If iter < iterfark then go to Step 3. Step 7: If ((elitesolutionslist[1] =
) or (totiter > maxiter)) or (the optimum values are
achieved in case they are known) then STOP else go to Step 2.
Int J Adv Manuf Technol (2012) 59:669–679
677
Average Machine Loading Objective Value
200 150 Objective Value
100 50 Arikan and Erol [27]
0 1
2
Zhang etal. [38] 3
4
5
6
Problem No Proposed algorithm
Zhang etal. [38]
Proposed algorithm 7
8
Arikan and Erol [27]
Fig. 1 Average machine loading objective value comparison of the proposed algorithm, Zhang etal.’s [38] algorithm, and TS algorithm of Arıkan and Erol [27]
4 Computational experiments and results The proposed algorithm is tested on eight random generated problems with different sizes. Test problems are defined by machine, part, operation, and tool numbers for which the machine numbers varies between 5 and 8, part numbers between 20 and 40, operation numbers between 3 and 5, and the tool numbers between 20 and 50 [27]. The algorithm is coded in TurboPascal programming language and implemented on a Pentium IV personal computer at 1.86 GHz. The performance of the algorithm is closely related with the values selected for the control parameters. The main parameters determining the performance of the algorithm are maxiter, iterdiff, ttadd/drop, ttswap, Temp, and penalty. After a series of preliminary computational experiments, the values of the foregoing control parameters are decided as given in the previous section. First, test problems are solved by CPLEX solver of GAMS (general algebraic modeling system), in two sequential steps as the mathematical model requires, to obtain exact solutions or lower/upper bounds. Then, the performance of the proposed algorithm is evaluated by comparing its results with those obtained from GAMS, original version of Zhang et al.’s [38] algorithm and Arıkan and Erol’s [27] tabu search algorithm. In Table 1, a summary of the computational results is given. The optimal part selection solution is obtained for each test problem while only the first, second, third, fifth, and seventh problems can be solved optimally via GAMS for the machine loading phase in the given time limit of 7,200 s. Diversification strategy added version (TSSAdiv) and original version (TSSAZhang) of hybrid Tabu search/simulated annealing algorithm are run ten times with
different seeds for each problem; best and average objective value pairs of part selection and machine loading are listed along with the objective values of Arıkan and Erol [27]. When part selection objective is considered, TSSAdiv attains the optimum solution value for all test problems. Furthermore, for the problems with numbers 1, 3, 4, 7, and 8, optimal part selection objective value is attained in all replications. It is seen from Table 2 that the maximum deviation from the optimum is %0.65 (%0.16 in average). With respect to the machine loading objective, for the problems with known optimum solution (problems 1, 2, 3, 5, and 7), TSSAdiv can reach the optimum machine loading assignment along with the optimal part selection solution. Optimum is obtained for the problems with number 1 and 3 in each replication, for the problems with number 2 and 7 in eight out of ten replications and for the problem with number 5 in only one replication. When the problems with non-optimal machine loading objective are considered (problems 4, 6, 8), it is seen that TSSAdiv is able to find better machine loading solutions other than the problem 4 for which the same solution with GAMS is attained as the best. In order to evaluate deviations for machine loading objective impartially, system imbalance rates are calculated as the proportion of total imbalance to total workload for each problem. In Table 2, system imbalance rates and the imbalance rate differences between GAMS and TSSAdiv solutions are also given. Relative differences are varying between −0.0037 and 0.0083 (%0.11 in average). When the proposed TSSAdiv is compared with TS algorithm of Arıkan and Erol [27] and the original version of Zhang et al.’s [38] TSSA, it is clear that all three
678
algorithms are successful in finding the optimum solution of the part selection problem. But, for the machine loading phase, as seen in Fig. 1, TSSAdiv outperforms the TS algorithm and the TSSAZhang. Considering the average total deviations, TSSAdiv performs better than TS in problems 2, 4, 5, 6, 7, and 8; it is also more effective than TSSAZhang in problems 2, 4, 5, 6, and 8.
5 Conclusion A main contribution of this paper is to develop an efficient hybrid algorithm for solving a combined part selection and machine loading problem of flexible manufacturing systems in which the part selection has a priority over machine loading. A major part of the literature on the considered problem ignores the tool allocation problem which is an integral part of the FMS planning problem and assumes the plannning period to be fixed. In this paper, we took into account the tool allocation problem along with the part selection and machine loading problem and received the planning period as variable, i.e., dependent to the workload of selected part types. A sequential mathematical model is given for the problem, but, because of its combinatorial structure, a hybrid tabu search/simulated annealing algorithm is proposed for the solution. The proposed hybrid algorithm uses the basic ideas developed by Zhang et al. [38], and it is enriched by a TS diversification strategy. The performance of the algorithm is demonstrated on eight different test problems by comparing the results with those obtained from the solution of the sequential mathematical model by CPLEX solver of the GAMS program, Zhang et al’s original TSSA algorithm [38], and with the results of Arıkan and Erol’s TS algorithm [27]. The proposed TSSA algorithm performs better than the other heuristic methods in reasonable times for a system with the same assumptions given in this paper. This study can be extended in several ways. Here, we chose the values of algorithm parameters based on some preliminary experiments. In order to obtain the best performance, a fine-tunning effort can be carried out on the algorithm’s parameter set. Furthermore, we considered two major problems of the FMS planning phase. Other planning problems can be included to the mathematical model and the proposed algorithm can be modified accordingly.
References 1. Stecke KE (1983) Formulation and solution of nonlinear integer production planning problems for flexible manufacturing systems. Manage Sci 23(3):273–288
Int J Adv Manuf Technol (2012) 59:669–679 2. Rajagopalan S (1986) Formulation and heuristic solutions for parts grouping and tool loading in flexible manufacturing systems. In: Stecke KE, Suri R (eds) Proceedings of the Second ORSA/ TIMS Conference on Flexible Manufacturing Systems: Operations Resarch Models and Applications. Elsevier, New York, pp 311–320 3. O’Grady PJ, Menon U (1987) Loading a flexible manufacturing system. Int J Prod Res 25(7):1053–1068 4. Co CH, Biermann JS, Chen SK (1990) A methodical approach to the flexible manufacturing system batching, loading and tool configuration. Int J Prod Res 28(12):2171–2186 5. Liang M, Dutta SP (1993) An integrated approach to the part selection and machine loading problem in a class of flexible manufacturing systems. Eur J Oper Res 67:387–404 6. Moreno AA, Ding FY (1993) Heuristics for the FMS loading and part type selection problems. Int J Flex Manuf Sys 5:287–300 7. Liang M (1994) Integrating machining speed, part selection and machine loading decisions in flexible manufacturing systems. Comput Ind Eng 26(3):599–608 8. Denizel M, Erengüç S (1997) Exact solution procedures for certain planning problems in flexible manufacturing systems. Comput Oper Res 24(11):1043–1055 9. Kumar N, Shanker K (2000) A genetic algorithm for FMS part type selection and machine loading. Int J Prod Res 38(16):3861– 3887 10. Mukhopadhyay SK, Midha S, Krishna VM (1992) A heuristic procedure for loading problems in flexible manufacturing systems. Int J Prod Res 30(9):2213–2228 11. Shanker K, Srinivasulu A (1989) Some solution methodologies for loading problems in a flexible manufacturing system. Int J Prod Res 27(6):1019–1034 12. Tiwari MK, Hazarika B, Vidyarthi NK, Jaggi P, Mukhopadhyay SK (1997) A heuristic solution approach to the machine loading problem of an FMS and its Petri net model. Int J Prod Res 35 (8):2269–2284 13. Tiwari MK, Vidyarthi NK (2000) Solving machine loading problems in a flexible manufacturing system using a genetic algorithm based heuristic approach. Int J Prod Res 38(14):3357– 3384 14. Swarnkar R, Tiwari MK (2004) Modeling machine loading problem of FMSs and its solution methodology using a tabu search and simulated annealing-based heuristic approach. Robot Comput Integ Manuf 20:199–209 15. Srinivas TMK, Allada V (2004) Solving the machine-loading problem in a flexible manufacturing system using a combinatorial auction-based approach. Int J Prod Res 42(9):1879–1893 16. Nagarjuna N, Mahesh O, Rajagopal K (2006) A heuristic based on multi-stage programming approach for machine-loading problem in a flexible manufacturing system. Robot Comput Integ Manuf 22:342–352 17. Tiwari MK, Kumar S, Kumar S, Prakash SR (2006) Solving parttype selection and operation allocation problems in an FMS: An approach using constraints-based fast simulated annealing algorithm. IEEE Trans Syst Man Cybern Syst Hum 36(6):1170–1184 18. Choudhary AK, Tiwari MK, Harding JA (2006) Part selection and operation-machine assignment in flexible manufacturing system environment: a genetic algorithm with chromosome differentiation-based methodology. Proc IME B J Eng Manufact 220(5):677–694 19. Prakash A, Khilwani N, Tiwari MK, Cohen Y (2008) Modified immune algorithm for job selection and operation allocation problem in flexible manufacturing systems. Adv Eng Softw 39:219–232 20. Biswas S, Mahapatra SS (2008) Modified particle swarm optimization for solving machine-loading problems in flexible manufacturing systems. Int J Adv Manuf Technol 39:931–942
Int J Adv Manuf Technol (2012) 59:669–679 21. Prakash A, Tiwari MK, Shankar R (2008) Optimal job sequence determination and operation machine allocation in flexible manufacturing systems: an approach using adaptive hierarchical ant colony algorithm. J Intell Manuf 19:161–173 22. Lee DH, Kim YD (1998) Iterative procedures for multi-period order selection and loading problems in flexible manufacturing systems. Int J Prod Res 36(10):2653–2668 23. Guerrero F, Lozano S, Koltai T, Larraneta J (1999) Machine loading and part type selection in flexible manufacturing systems. Int J Prod Res 37(6):1303–1317 24. Srivastava B, Chen WH (1996) Batching in production planning for flexible manufacturing systems. Int J Prod Econ 43:127–137 25. Mukhopadhyay SK, Singh MK, Srivastava R (1998) FMS machine loading: a simulated annealing approach. Int J Prod Res 36(6):1529–1547 26. Mandal SK, Pandey MK, Tiwari MK (2010) Incorporating dynamism in traditional machine loading problem: an AI-based optimisation approach. Int J Prod Res 48(12):3535–3559 27. Arıkan M, Erol S (2010) A long term memory tabu search algorithm for part selection and machine loading in flexible manufacturing systems. J Fac Eng Archit Gazi Univ 25(2):311–319 28. Srivastava B, Chen W (1993) Part type selection problem in flexible manufacturing systems: tabu search algorithms. Ann Oper Res 41:279–297 29. Sarma UMB, Kant S, Rai R, Tiwari MK (2002) Modelling the machine loading problem of FMSs and its solution using a tabusearch-based heuristic. Int J Comput Integ Manuf 15(4):285–295 30. Yang H, Wu Z (2002) GA-based integrated approach to FMS part type selection and machine-loading problem. Int J Prod Res 40 (16):4093–4110 31. Kumar A, Prakash TMK, Shankar R, Baveja A (2006) Solving machine-loading problem of a flexible manufacturing system with constraint-based genetic algorithm. Eur J Oper Res 175:1043– 1069
679 32. Chan FTS, Swarnkar R, Tiwari MK (2005) Fuzzy goalprogramming model with an artificial immune system (AIS) approach for a machine tool selection and operation allocation problem in a flexible manufacturing system. Int J Prod Res 43 (19):4147–4163 33. Khilwani N, Prakash A, Shankar R, Tiwari MK (2008) Fast Clonal Algorithm. Eng Appl Artif Intel 21:106–128 34. Chan FTS, Swarnkar R (2006) Ant colony optimization approach to a fuzzy goal programming model for a machine tool selection and operation allocation problem in an FMS. Robot Comput Integ Manuf 22:353–362 35. Lee DH, Kim YD (2000) Loading algorithms for flexible manufacturing systems with partially grouped machines. IIE Trans 32:33–47 36. Tiwari MK, Saha S, Mukhopadhyay SK (2007) Heuristic solution approaches for combined-job sequencing and machine loading problem in flexible manufacturing systems. Int J Adv Manuf Technol 31:716–730 37. Tabucannon MT, Dentcho NB, Basu S (1998) Using simulation to evaluate the batching approach to part type selection in flexible manufacturing systems. Integ Manuf Syst 9(1):5–14 38. Zhang CY, Li P, Rao Y, Guan Z (2008) A very fast TS/SA algorithm for the job shop scheduling problem. Comput Oper Res 35:282–294 39. Glover F (1989) Tabu search-Part I. ORSA J Comput 1(3):190– 206 40. Glover F (1990) Tabu search-Part II. ORSA J Comput 2(1):4–32 41. Glover F, Laguna M (1997) Tabu search. Kluwer Academic, Norwell 42. Kirkpatrick S, Gelatt CD Jr, Vecchi MP (1983) Optimization by simulated annealing. Science 220:671–680 43. Cerny V (1985) Thermodynamical approach to the travelling salesman problem: an efficient simulation algorithm. J Optim Theor Appl 45:41–51