coordinating production planning in cellular manufacturing environment using tabu search
TRANSCRIPT
Coordinating production planning in cellular manufacturing
environment using Tabu search
Mingyuan Chen*, Dong Cao
Department of Mechanical and Industrial Engineering, Concordia University, 1455 de Maisonneuve Boulevard,
West Montreal, Que., Canada H3G 1M8
Received 8 July 2002; accepted 24 February 2004
Abstract
In this paper, an integrated model for production planning in cellular manufacturing (CM) systems is proposed.
The model considers general CM features such as quadratic terms for inter-cell material handling and decisions for
manufacturing cell construction. In addition, the solution of the model will provide production planning decisions
such as times to start part processing and levels of finished part inventory. The model is then transformed to
equivalent simpler models and is solved by Tabu search based procedure. Results from testing numerical examples
show encouraging behaviors of the developed model and algorithm.
q 2004 Elsevier Ltd. All rights reserved.
Keywords: Production planning; Cellular manufacturing; Integer programming; Tabu search
1. Introduction
Cellular manufacturing (CM) is a widely used approach for organizing machines and people into
groups to produce a variety of parts in part families. CM is also effective in implementing flexible
manufacturing systems and is normally associated with automated batch production (Singh, 1996).
Successful CM implementations have resulted in reduced set-up times, reduced material flow and in-
process inventory, better system management, improved production efficiency and product quality (Hyer
& Wemmerlov, 1989; Wemmerlov & Johnson, 1997). In the past 30 years, CM problems have been
studied by many researchers as summarized by Reisman, Kumar, and Cheng (1997), and Sarker and
Mondal (1999). Recently, CM research has expanded to developing integrated models and methods as
discussed in Song and Choi (2001). For example, Atmani, Lashkari, and Caron (1995) presented a model
0360-8352/$ - see front matter q 2004 Elsevier Ltd. All rights reserved.
doi:10.1016/j.cie.2004.02.002
Computers & Industrial Engineering 46 (2004) 571–588www.elsevier.com/locate/dsw
* Corresponding author.E-mail addresses: [email protected] (M. Chen); [email protected] (D. Cao).
for simultaneous cell formation and operation allocation. Lockwood, Mahmoodi, and Mosier (2000)
studied CM scheduling problems. Production planning in CM systems was discussed in Chen (2001) and
Olorunniwo (1996). A variety of effective methods were developed to investigate and solve CM
problems. These include traditional mathematical programming (Chen, 1998; Heragu & Chen, 1998)
and simulation studies (Shang & Tadikamalla, 1998; Shinn & Williams, 1998). Non-traditional methods
such as neural networks, Tabu search, genetic search and simulated annealing have also been used to
search for optimal solutions of various CM problems as can be found in Jamal (1993), Joines, Culbreth,
and King (1996), Lozano, AdensoDiaz, and Onieva (1999), Rao and Gu (1995), Sofianopoulou (1997).
Some of the methods were compared in Asokan, Prabhakaran, and Kumar (2001) for their effectiveness
and efficiency in solving CM problems.
In this paper, we followed the integrated approach to study a production planning problem over a
certain planning horizon in CM systems with fixed charge cost. Most existing mathematical
programming models for cell formation assume that the number of cells has been given and the cells
have been identified. The solutions of the problems were then to allocate proper machines to the cells and
to decide the part families to be processed. The purposes are to minimize certain criteria such as material
handling cost or dis-similarities among part families. For CM planning, Schaller, Erenguc, and Vakharia
(2000) proposed an integer programming model to simultaneously determine the cells to be used and
units of parts to be processed in different time periods. In this paper, we consider a similar production
planning problem, but the integer programming model developed in this research has more general
features where not only the number of cells, but also the formation of the cells are to be determined by
the solution of the model. The objective of the model is to minimize the total cost including inter-cell
material handling cost, fixed cell set-up cost, production set-up cost and product inventory cost in the
system. Detailed description of the problem and the development of the integer programming model are
given in Section 2. Due to the NP-hardness of the model we employ an embedded optimization
technique to transform the original model to a parametric LP problem. A specially designed Tabu search
(Glover & Laguna, 1997) procedure is developed to find optimal or near-optimal solution of the
transformed problem. Model transformations are presented in Section 3. Details of the Tabu search
process are discussed in Section 4. We tested the developed methods using several numerical examples.
Detailed data and computational results of one of the example problems are presented in Section 5. In
Section 6, we present the summary, conclusions and our plans for future research in this area.
2. Model description
Consider a manufacturing system consisting of a number of machines to process different types of
parts. Each part-type may require some or all of the machines for processing. Machines are grouped into
a number of manufacturing cells. The types and units of machines to be allocated in the constructed cells
will be determined for minimum production costs. In addition, we need to decide the best time periods
for part processing in a production planning horizon of multiple time periods. Finished parts inventory is
allowed in the production system. A non-linear mixed integer programming model was developed to
solve this CM production planning problem. The objective function of this model is to minimize the total
cost including inter-cell material handling cost, fixed cost for setting up cells, fixed production cost,
inventory cost and machine cost. In solving this problem, we assume that there is a single process plan
for each part-type. Since there is no alternative process plans, part processing cost is not included in
M. Chen, D. Cao / Computers & Industrial Engineering 46 (2004) 571–588572
the objective function. The model is formulated with the assumption of different distances or different
unit costs for material handling between different cells. This more general feature resulted in non-linear
quadratic terms of material handling cost in the objective function. The set-up cost associated with a
certain part-type takes place in a time period if that type of parts are processed in that period. This is also
a non-linear function. Other cost terms and constraint functions in the model are linear. Minimizing the
given cost function is subject to manufacturing process requirements. In developing this model, we
assume that machine capacities are limited so that multiple units of the same type of machines may be
required in a cell. The machines to be placed in the cells are not fixed as in Schaller et al. (2000), but to be
determined by the model depending on finished parts delivery and production planning. Before the
details of the model are presented, we first give the notations.
2.1. Known parameters and coefficients
t time index, t ¼ 1;…;T
i part-type index, i ¼ 1;…; I
j index of operations of part-type i; j ¼ 1;…; Ji
k machine index, k ¼ 1;…;K
c cell index, c ¼ 1;…;C
Rilm material handling cost for one unit of part i between cell l and cell m; l;m ¼ 1;…;C; l – m;
i ¼ 1;…; I
Fc fixed cost to form cell c in the system
DiðtÞ demand for finished number of part-type i in time period t
Hi unit inventory cost of holding part-type i for one time period
Si fixed cost for processing part-type i
Wi cost to operate one unit of machine k; k ¼ 1;…;K
AiðjkÞ capacity requirement to process operation j of part-type i by machine k
Uc largest number of machines allowed in cell c
2.2. Decision variables
PiðtÞ units of part-type i to be processed in period t
ViðtÞ units of finished part-type i held in inventory in period t
nkc units of type k machine to be placed in cell c
xiðjkÞc ¼1; if operation j of part-type i will be processed by machine k in cell c;
0; otherwise;
(
yic ¼1; if part-type i will be processed in cell c;
0; otherwise;
(
zc ¼1; if cell c will be formed;
0; otherwise;
(
M. Chen, D. Cao / Computers & Industrial Engineering 46 (2004) 571–588 573
diðtÞ ¼1; if PiðtÞ . 0;
0; if PiðtÞ ¼ 0;
(
The value of AiðjkÞ indicates the capacity required for machine k to process operation j of one unit of
part-type i: Subscripts j and k are related by the given process plan and are not independent to each other.
Using the above-defined variables and parameters with ðP;V ;X;Y ;Z;D;NÞ ¼
ðPiðtÞ;ViðtÞ; xiðjkÞc; yic; zc; diðtÞ; nkcÞ; we formulate the mathematical programming model for planning
CM production as below:
MP:
min MPðP;V ;X;Y ;Z;D;NÞ ¼XTt¼1
XI
i¼1
XCl¼1
XCm¼1;–l
1
2RilmPiðtÞyilyim þ
XCc¼1
Fczc þXTt¼1
XI
i¼1
HiViðtÞ
þXTt¼1
XI
i¼1
SidiðtÞ þXKk¼1
XCc¼1
Wknkc; ð1Þ
s.t.
XCc¼1
xiðjkÞc ¼ 1; j ¼ 1;…Ji; i ¼ 1;…; I; ð2Þ
xiðjkÞc # yic; j ¼ 1;…; Ji; i ¼ 1;…; I; c ¼ 1;…;C; ð3Þ
yic # zc; i ¼ 1;…; I; c ¼ 1;…;C; ð4Þ
XKk¼1
nkc # Uczc; c ¼ 1;…;C; ð5Þ
XI
i¼1
AiðjkÞPiðtÞxiðjkÞc # nkc; k ¼ 1;…;K; c ¼ 1;…;C; t ¼ 1;…;T ; ð6Þ
PiðtÞ þ Viðt 2 1Þ2 ViðtÞ ¼ DiðtÞ; i ¼ 1;…; I; t ¼ 1;…;T ; ð7Þ
PiðTÞ $ 0; i ¼ 1;…; I; t ¼ 1;…; T ; ð8Þ
ViðtÞ $ 0; i ¼ 1;…; I; t ¼ 1;…;T 2 1; ð9Þ
ViðTÞ ¼ 0; i ¼ 1;…; I; ð10Þ
diðtÞ ¼1; if PiðtÞ . 0;
0; if PiðtÞ ¼ 0;
(ð11Þ
xiðjkÞc; yic; zc; diðtÞ ¼ 0; 1; nkc $ 0; integer variables; ;i; j; c; t: ð12Þ
The objective function, Eq. (1), is to minimize the summation of the cost considered in this model.
The first term of this cost function is the inter-cell material handling cost to move parts between cells.
The second term is the fixed charge cost for setting up manufacturing cells. The third term is the cost
of holding the finished items over the planning horizon. The fourth term is the cost for setting up
the system to process different parts in different time periods. The last term is the summation
M. Chen, D. Cao / Computers & Industrial Engineering 46 (2004) 571–588574
of machine costs. The first constraint in the model, Eq. (2), enforces that any operation of any part will
be processed in only one of the cells. Eq. (3) presents the relationship between operations and parts.
Eq. (4) ensures that if a part is processed in a certain cell, then that cell must be constructed. Eq. (5)
gives the maximum number of machines to be placed in a cell, should it be built. Eq. (6) presents
machine capacity requirements based on processing times required to process the parts. Eq. (7) is the
relationship between production and inventory levels over the planning horizon. Eq. (8) states that the
production in all time periods should not be negative. In solving this model, we assume that the initial
inventory levels of processed parts are known and no backlog is allowed as shown in Eq. (9). Eq. (10)
states that at the end of the planning horizon, there are no inventories left. Eq. (11) enforces the set-up
cost associated with processing each part-type. Eq. (12) states integer requirement for some of the
decision variables.
3. Solution method
Problem MP is a nonlinear mixed integer programming problem. If we ignore the last three terms in
the objective function in Eq. (1) and remove Eqs. (7)–(12) from MP, the model will be simplified to a
quadratic assignment problem with fixed charge cost. The simplified model is NP-hard (Nemhauser &
Wolsey, 1988). Therefore, MP is also NP-hard since it includes additional decision variables for cell
formation and production planning. It is well known that directly solving such problems by brute-force
algorithms is difficult due to NP-hardness of computation. From our experience in developing and
computing other similar models, we found that the computational difficulties are mainly caused by the
constraints in Eqs. (5) and (6) related to general integer decision variables nkc: It is unfortunate that the
integer requirement for nkc cannot be relaxed and treated as continuous variables in this model. Since nkc
are the numbers of different types of machines in each cell, they are relatively small. If they are treated as
continuous variables, then to round-up or round-down these variables will make the solution infeasible.
With such considerations, we did not take the approximate approach of relaxing the integer requirement
for these variables. Instead, we developed a heuristic method in this research to solve the presented
problem. We first transform model MP into an equivalent problem of reduced size with an embedded
sub-optimization problem. We then use a Tabu search procedure to search for optimal solution of the
transformed problem. Details of the problem transformation are presented below.
3.1. A sub-optimization problem
Assuming that ðX;Y ;Z;D;NÞ ¼ ðxiðjkÞc; yic; zc; diðtÞ; nkcÞ is a partial solution to problem MP, consider
the following sub-optimization problem with respect to decision variables PiðtÞ and ViðtÞ:
SP:
min SPðP;VÞ ¼XTt¼1
XI
i¼1
XCl¼1
XCm¼1;–l
1
2RilmPiðtÞyilyim þ
XTt¼1
XI
i¼1
HiViðtÞ; ð13Þ
s.t.
Eqs: ð6Þ– ð11Þ:
M. Chen, D. Cao / Computers & Industrial Engineering 46 (2004) 571–588 575
The above sub-optimization problem is in fact to determine the optimal production plan for minimum
inventory and material handling costs when cell-machine configuration is given by (X; Y ;Z;D;N). Note
that Eq. (11) is equivalent to:
PiðtÞ. 0; if diðtÞ ¼ 1;
¼ 0; if diðtÞ ¼ 0:
(ð14Þ
The following corollary can be derived from Eq. (7), the production and inventory relation constraint.
Corollary 1. The material handling cost
XTt¼1
XI
i¼1
XCl¼1
XCm¼1;–l
1
2RilmPiðtÞyilyim
depends only on the cell configuration determined by X; Y and Z when the accumulated demands of
different products over the planning horizon are constant.
This corollary can be verified by noting that
XTt¼1
XI
i¼1
XCl¼1
XCm¼1;–l
1
2RilmPiðtÞyilyim ¼
XI
i¼1
XCl¼1
XCm¼1–l
1
2Rilmyilyim
XTt¼1
PiðtÞ
!;
and
XTt¼1
PiðtÞ ¼XTt¼1
DiðtÞ2 Við0Þ ¼ constant:
By Corollary 1, we equivalently restate problem SP as follows.
SP
min SPðVÞ ¼XTt¼1
XI
i¼1
HiViðtÞ; ð15Þ
s.t.
Eqs: ð6Þ– ð11Þ:
Problem SP is defined where a partial solution ðX; Y ; Z;D;NÞ; is feasible to the original problem. For
computational convenience, we express problem SP by introducing a new variable a with an associated
coefficient u1:
SP0
min SPðX;Y ;Z;D;NÞ ¼XTt¼1
XI
i¼1
HiViðtÞ þ a £ u1; ð16Þ
M. Chen, D. Cao / Computers & Industrial Engineering 46 (2004) 571–588576
s.t.
XI
i¼1
AiðjkÞPiðtÞxiðjkÞc 2 a # nkc; k ¼ 1;…;K; c ¼ 1;…;C; t ¼ 1;…;T : ð17Þ
Eqs: ð7Þ– ð11Þ;
where a $ 0 is to measure the maximum violation of machine availability and u1 . 0 is the penalty
ratio for this violation. a £ u1 is the penalty term imposed on the objective function when the machine
availability is not respected. The following corollary presents the equivalence between problems
SP and SP0.
Corollary 2. If a partial solution ðX;Y ;Z;D;NÞ is feasible to the original problem MP, then there exists
a positive value up1 such that for any u1 . up1; problems SP and SP0 have identical optimal solutions.
Proof. When ðX;Y ;Z;D;NÞ is feasible to MP, problem SP0 is a penalty expression of problem SP and
a £ u1 is the penalty term. By the exact penalty theory in Bazaraa, Sherali, and Shetty (1993), it can be
shown that there exists a positive value up1 such that for any u1 . up1;a £ u1 is an exact penalty function,
i.e. a £ u1 ¼ 0: This means that problems SP and SP0 have identical optimal solution for u1 . up1: A
Remarks.
1. Problem SP0 is always feasible for any given partial solution ðX;Y ;Z;D;NÞ; except when Við0Þ ,
Dið1Þ; i [ 1;…; I: In fact, when Við0Þ , Dið1Þ; the system must be set to process part-type i at time
period 1 ðdið1Þ ¼ 1Þ; since no backlog is allowed. In the rest of this paper, we always let dið1Þ ¼ 1; if
Við0Þ , Dið1Þ:
2. When a partial solution ðX; Y ; Z;D;NÞ is infeasible to problem MP, the partial solution may be
feasible to problem SP0 with a non-zero penalty value in the objective function.
Consider the objective function of problem SP:
SPðS;VÞ ¼XTt¼1
XI
i¼1
XCl¼1
XCm¼1;–l
1
2RilmPiðtÞyilyim þ
XTt¼1
XI
i¼1
HiViðtÞ: ð18Þ
The analytic form of this function related to ðX;Y ;Z;D;NÞ is not available. However, from
Corollaries 1 and 2, we know that it can be evaluated by using optimal solution corresponding to the
partial solution ðX; Y ; Z;D;NÞ of problem SP0. In fact, problem SP0 with fixed partial solution ðX;Y ;Z;
D;NÞ is a linear programming problem which can be solved without much difficulty. In Section 3.2, we
will re-formulate problem MP with embedded optimization sub-problems. We then present a heuristic
method with parametric linear programming and Tabu search process to find optimal or near optimal
solutions of the original problem.
M. Chen, D. Cao / Computers & Industrial Engineering 46 (2004) 571–588 577
3.2. An embedded optimization problem
With the sub-optimization problem SP defined in Section 3.1, we consider the following embedded
optimization problem:
MP0
min MP0ðX; Y ;Z;D;NÞ ¼XCc¼1
Fczc þ SMðX; Y ; Z;D;NÞ þXTt¼1
XI
i¼1
SidiðtÞ þXKk¼1
XCc¼1
Wknkc; ð19Þ
s.t.
Eqs: ð2Þ– ð5Þ; ð11Þ and ð14Þ;
where SMðX; Y ; Z;D;NÞ is the objective function value of the sub-optimization problem SP0 as defined
in Section 3.1 with given partial solution ðX;Y ; Z;D;NÞ: From Corollaries 1 and 2, we know that solving
problem MP0 for any u1 . up1 is equivalent to solving the original problem MP. We now impose a
penalty term converted from the cell limit constraint Eq. (5) to obtain the following embedded
optimization problem:
MP00
min MP00ðX;Y ;Z;D;NÞ ¼XCc¼1
Fczc þ SMðX; Y ;Z;D;NÞ þXTt¼1
XI
i¼1
SidiðtÞ þXKk¼1
XCc¼1
Wknkc
þXCc¼1
u2 £ Devc; ð20Þ
s.t.
Eqs: ð2Þ– ð4Þ; ð11Þ and ð14Þ;
where
Devc ¼
XKk¼1
nkc 2 Uczc; ifXKk¼1
nkc 2 Uczc . 0;
0; otherwise;
8>><>>:
and u2 is a positive penalty ratio. The term u2 £ Devc is the penalty imposed on the objective function
when the cell capacity limit is exceeded. Since the penalty term u2 £ Devc is an exact penalty function
(Bazaraa et al., 1993; Cao & Leung, 2002), the following theorem can be directly derived from
Corollaries 1 and 2.
Theorem 1. There exist positive values up1 and up2 such that for any ðu1; u2Þ $ ðup1; up2Þ; solving problem
MP00 is equivalent to solving the original problem MP.
Proof. The relaxed admissible region of problem MP00 consists of a limited number of alternatives. From
Corollary 2, we know that any infeasible solution is associated with a penalty value on the objective
function of problem MP00, and for any feasible partial solution, there exists a positive value up1 such that
M. Chen, D. Cao / Computers & Industrial Engineering 46 (2004) 571–588578
for anyu1 $ up1; the penalty term vanishes. The above theorem is obvious on noticing the limited number
of alternatives and the exact penalty property of both penalty terms for a partial feasible solution. A
3.3. Removing dependent decision variables
In Section 3.2, an equivalent embedded optimization problem was formulated with decision variables
PiðtÞ and ViðtÞ removed. Before the detailed heuristic solution procedure is presented, the mathematical
programming model can be further simplified by removing other dependent decision variables for more
efficient computation. A closer inspection on the decision variables ðX; Y ; Z;D;NÞ will reveal that Y and
Z are not independent. In fact, in the set of decision variables ðX;Y ;ZÞ; only X are independent. Once the
values of X are given, the values of Y and Z will be uniquely determined as follows, based on the fact that
the parameters Rilm and Fc in MP are all non-negative:
yic ¼ max{xiðjkÞc; ;k ¼ 1;…;K}; ð21Þ
zc ¼ max{yic; ;i ¼ 1;…; I}: ð22Þ
In Section 3.1, we have concluded that solving the original problem MP is equivalent to finding an
optimal solution to problem MP00. This optimization problem is of a simple structure in which three
independent decision variables ðX;D;NÞ are present. In searching for an optimal solution, we employ a
Tabu search procedure in X;D and N domains, since variables Y and Z are dependent on X as shown in
Eqs. (21) and (22). Details of the search process are presented in Section 4.
4. Tabu search for solving the embedded problem
Transforming problem MP into MP00 does not change its NP-hardness property since its basic
structure has not changed. Solving problem MP00 is still NP-hard. In this section, we present a short-term
Tabu search method to solve MP00 aiming at finding optimal or near optimal solutions to the original
problem.
Tabu search is a meta-heuristic method developed by Glover (1989, 1990a,b). In many different
applications, it has been successful in finding optimal or near-optimal solutions to difficult combinatorial
optimization problems. The main difficulty of finding optimal solutions for such problems is due to the
existence of many local optima. In the basic short-term scheme of Tabu search, the strategy to escape
from local optima is quite straightforward. It requires the search process to depart from a local optimal
solution xl and move to the best possible solution xp in the neighborhood, not to terminate the search at
the current local optimum. When the neighborhood is too large to be explored, only part of the
neighborhood (a sub-neighborhood) may be searched. With the search history incorporated in the search
process, certain attributes of the recently visited area of solutions are classified as Tabu active. Future
moves containing these elements are excluded. The Tabu mechanism prevents the moves going back to
these solutions to avoid local optima. On the other hand, Tabu active status (a Tabu list) of a move may
be modified if certain appropriately defined aspiration criterion is satisfied. This may lead the search
procedure to a good solution. Before the step-by-step algorithm of the short term Tabu search procedure
is presented, several concepts used in the search process are introduced below.
M. Chen, D. Cao / Computers & Industrial Engineering 46 (2004) 571–588 579
† Feasible solution. A feasible solution ðX;D;NÞ ¼ ðX; YðXÞ;ZðXÞ;D;NÞ satisfying all constraints
of problem MP00, i.e. Eqs. (2)–(5), (11) and (12), where yic and zc are functions of xiðjkÞc as given in
Eqs. (21) and (22), respectively.
† Swap operation. A swap operation occurs in one of the following three cases:
Case 1. A swap operation in X is to change two x values from xiðjkÞc ¼ 1 and xiðjkÞc0 ¼ 0 to
xiðjkÞc ¼ 0 and xiðjkÞc0 ¼ 1; where c0 – c: The values of all other variables are unchanged.
Denote the new solution generated in this way by ðX0;D;NÞ; the solution transition ðX;
D;NÞ! ðX0;D;NÞ is called a swap move in X: In fact, in solving our manufacturing cell
formation problem, such transition corresponds to the change of cells in which operation j on
part i is executed.
Case 2. A swap operation in D is to change the value of a single component diðtÞ from
diðtÞ ¼ 1 to diðtÞ ¼ 0; or from diðtÞ ¼ 0 to diðtÞ ¼ 1: The values of all other variables are
unchanged. Denote the new solution generated in this way by ðX;D0;NÞ the solution transition
ðX;D;NÞ! ðX;D0;NÞ is called a swap move in D: Note that this swap operation will not be
performed if dið1Þ are determined by Við0Þ , Dið1Þ:
Case 3. A swap operation in N is to change a single component nkc from its current value to a
new value with the value of other decision variables unchanged. Denote the new
solution created in such way by ðX;D;N 0Þ; the solution transition ðX;D;NÞ! ðX;D;N 0Þ is
called a swap move in N: The switch of a nkc value is done in one of the following three
different ways:
(W1). n0kc ¼ nkc þ 1;
(W2). n0kc ¼ nkc 2 1; if nkc 2 1 . 0;
(W3). n0kc ¼ 0:
To let n0kc ¼ 0 from its current value for speeding up the search process in locating an
optimal or near optimal solution of the problem in MP00. This is a unique feature developed
in this search. The reason is that a good solution of the problem requires that some cells
only have certain types of machines. The move from a general integer directly to zero saves
many unnecessary steps.
† Solution neighborhood. Given a solution ðX;D;NÞ; the neighborhood of this solution QðX;D;NÞ is
defined by the ensemble of the swap moves defined in Cases 1–3. In the Tabu search process,
the neighborhood of each solution ðX;D;NÞ contains limited number of solutions to be explored.
The size of the neighborhood is determined based on several considerations. As discussed earlier,
evaluation of each solution requires solving a linear programming sub-problem SP0. The size of
the neighborhood should allow a thorough search within the neighborhood and fast moving to
other areas of the whole feasible region.
† Aspiration criterion. The objective function value MP00ðX;Y ;Z;D;NÞ of the revised problem MP00
is used as the aspiration level F: That is, F ¼ MP00ðX;Y ;Z;D;NÞ:
† Stopping criterion. The Tabu search procedure stops if a predetermined number of iterations
have been reached; or the solution has not been improved after a certain number of consecutive
iterations (Glover, 1990b). These numbers are normally decided before the search started with
reference to given Tabu list size and problem size.
With the above definitions and discussion, the following short-term Tabu search procedure is adapted
from Pirlot (1996) to solve the CM planning problem:
M. Chen, D. Cao / Computers & Industrial Engineering 46 (2004) 571–588580
1. Initialization. Select an initial solution ðX;D;NÞ1 satisfying Eqs. (2)–(4). Initialize the best value Fp
of F and the corresponding solution ðX;D;NÞp:
FðX;D;NÞ1 ! Fp;
ðX;D;NÞ1 ! ðX;D;NÞp:
The three Tabu lists TL1, TL2 and TL3 corresponding to variables X;D and N; respectively, are set
empty.
2. Iterative search. Let ðX;D;NÞz denote the current solution, for step z ¼ 1; 2;…; �F is used to store the
best value of F encountered during the exploration of the neighborhood or sub-neighborhood of
ðX;D;NÞz: Let ð �X; �D; �NÞ denote the solution in QðX;D;NÞz for which Fð �X; �D; �NÞ ¼ �F. �F is initially set
to 1: For all ðX;D;NÞ [ QðX;D;NÞz; if F , �F and if the move ðX;D;NÞz ! ðX;D;NÞ is not Tabu or
the move is Tabu but the corresponding F passes the aspiration criterion, then let
FðX;D;NÞ! �F and ðX;D;NÞ! ð �X; �D; �NÞ:
Let ð �X; �D; �NÞ! ðX;D;NÞzþ1:
If �F , Fp: then ð �X; �D; �NÞ! ðX;D;NÞp and �F ! Fp:
A move is established: ðX;D;NÞz ! ðX;D;NÞzþ1 and modify the associated Tabu list information.
3. End. If the stopping criterion is reached, stop. The above algorithm was coded in C with the linear
programming sub-problems solved by CPLEX subroutines. It was executed on a PC computer with
Pentium III-600 processor. This algorithm was tested with several numerical examples. Details of one
of them are presented and discussed in Section 5.
5. Numerical examples
The heuristic algorithm presented in Section 4 has been applied to solve a number of small-size
problems with up to four machine types allocated to three possible cells to process four different part-
types, each having 2–3 operations. The planning decisions were made over three time periods. To test
the effectiveness of the heuristic algorithm, the nonlinear terms in MP were linearized with added
constraint. The linearization was done in a way similar to that in Chen (2001). The original model then
became a mixed integer linear programming problem and was solved by LINDO. The obtained optimal
solutions of these example problems were used to compare with the solutions found by the heuristic
search algorithm. The heuristic search procedure started with arbitrarily set initial solutions and was able
to find near optimal solutions within 200 search iterations. For all the tested example problems, the
relative errors of the best objective function values from the heuristic solutions were less than 1%
comparing to those from the real optimal solutions. It took from 30 min to 2 h to find the optimal
solutions of these example problems using LINDO on the PC computer. It took less than 5 min to
complete the 200 iterations using the developed heuristic search algorithm to find the near optimal
solutions of these problems with the same computer. These preliminary results are very encouraging
since they demonstrate the effectiveness and efficiency of the algorithm in solving this difficult problem.
M. Chen, D. Cao / Computers & Industrial Engineering 46 (2004) 571–588 581
In the rest of this section, we present the details of one larger example problem solved by the developed
heuristic algorithm.
In this example problem, we consider five types of machines to be allocated to four possible cells.
Multiple units of the same type of machines can be placed in any of the cells to be built. These machines
process five different part-types, each having two to four operations. Data of machine costs, maximum
number of available machines and machine capacity requirements by part operations are given in
Table 1. For example, Table 1 shows that the unit cost of machine type 1 is 30. Required machine
capacities to process part-types 1–3 are 0.04, 0.035 and 0.03 units of machine types 1–3, respectively.
Similar data for processing other parts are also shown in Table 1. Table 2 presents the distances among
the four possible cells as well as maximum number of machines allowed for each cell and corresponding
fixed cell set-up costs. The demands of different products over the planning horizon of six periods are
given in Table 3. Table 4 presents set-up cost Si to process different part-types, unit inventory cost Hi and
the initial inventory levels Við0Þ for the part-types.
The Tabu search process starts with penalty ratios u1 ¼ u2 ¼80,000 and Tabu list sizes LT1 ¼
LT2 ¼ 35 and LT3 ¼ 20: These three Tabu lists correspond to variables X;D and N; respectively. The
initial machine allocations are shown in Table 5 which are arbitrarily given. This initial solution may not
be feasible to the original problem MP, but it is a feasible solution of the embedded optimization
problem MP00. In solving this example problem, the Tabu search process terminates if solutions are not
improved after 30 consecutive iterations. Results from the best solution found by this search process are
summarized in Tables 6 and 7 for cell formation, machine allocation and production planning decisions.
Table 1
Machine part operation data
Machine type Unit machine cost Part-type
1 2 3 4 5
1 30 0.040 0 0.025 0 0.025
2 30 0.035 0.023 0 0.030 0.020
3 30 0.030 0.030 0.035 0 0.030
4 30 0 0 0 0.035 0
5 30 0 0.035 0 0.020 0.035
Table 2
Cell data
Cell number 1 2 3 4
1 0.0 0.1 0.2 0.3
2 0.1 0.0 0.1 0.4
3 0.2 0.1 0.0 0.5
4 0.3 0.4 0.5 0.0
Cell capacity 6 7 15 45
Fixed cell cost 120 140 300 900
M. Chen, D. Cao / Computers & Industrial Engineering 46 (2004) 571–588582
Table 4
Set-up cost ðSiÞ; unit inventory cost ðHiÞ and initial inventories level ðViÞ
Part-type Si Hi Við0Þ
1 15.0 0.4 0
2 15.0 0.4 0
3 15.0 0.4 0
4 15.0 0.4 0
5 15.0 0.4 0
Table 3
Demands over periods
Period Part-type
1 2 3 4 5
1 60 30 40 45 40
2 40 40 40 60 50
3 30 50 35 30 45
4 25 60 50 25 50
5 40 50 60 50 45
6 40 45 40 40 50
Table 5
Initial machine allocation
Machine type Cell number
1 2 3 4
1 1 2 3 0
2 1 2 4 0
3 2 1 4 0
4 1 1 4 0
5 2 1 3 0
Table 6
Best solution for cell part and machine allocation
Cell to set-up Cell 1 Cell 2 Cell 3
Parts to be processed 2,3 1,2 1,4,5
Machine type/units 1/2, 3/2, 5/2 1/3, 2/2, 3/2 1/2, 2/5, 3/3, 4/2,5/3
M. Chen, D. Cao / Computers & Industrial Engineering 46 (2004) 571–588 583
As for production planning, almost all part-types are processed in every time period. Two exceptions are
that the system is not set up to process part-type 1 or part-type 4 in period 4. The objective function
values corresponding to the Tabu search iterations are shown in Table 8. This set of data in Table 8 are
also plotted and shown in Figs. 1 and 2. Fig. 1 shows the general trend of the objective function while
Table 7
Best production/inventory levels
Part-type Period
1 2 3 4 5 6
1 60/0 40/0 55/25 0/0 40/0 40
2 30/0 40/0 52.86/2.86 57.14/0 50/0 45/0
3 40/0 40/0 35/0 52.86/2.86 57.14/0 40/0
4 47.86/2.86 57.14/0 55/25 0/0 50/0 40/0
5 40/0 50/0 45/0 50/0 45/0 50/0
Table 8
Objective function value ðFÞ evolution
Iteration 1 2 3 4 5 6 7 8 9 10
F 682,135 673,740 653,538 644,202 602,255 593,997 573,835 572,120 564,531 562,186
Iteration 11 12 13 14 15 16 17 18 19 20
F 562,126 482,096 402,067 402,007 333,176 260,977 260,947 188,732 188,702 188,672
Iteration 21 22 23 24 25 26 27 28 29 30
F 188,642 113,804 113,774 113,744 68,684 68,654 68,649 68,654 68,668 68,689
Iteration 31 32 33 34 35 36 37 38 39 40
F 68,719 68,719 68,713 76,287 76,783 89,975 92,660 98,158 115,110 132,432
Iteration 41 42 43 44 45 46 47 48 49 50
F 138,756 155,237 159,422 159,472 164,886 155,411 155,432 170,789 155,490 178,892
Iteration 51 52 53 54 55 56 57 58 59 60
F 178,862 178,839 178,868 178,898 178,928 178,846 178,794 178,783 178,773 178,787
Iteration 61 62 63 64 65 66 67 68 69 70
F 178,813 178,843 178,788 178,759 178,672 178,645 178,598 151,996 151,986 151,928
Iteration 71 72 73 74 75 76 77 78 79 80
F 151,914 151,911 141,891 141,881 141,872 141,867 141,862 141,835 141,834 141,779
Iteration 81 82 83 84 85 86 87 88 89 90
F 139,804 129,827 82,889 80,890 71,695 69,900 68,929 49,944 47,949 33,975
Iteration 91 92 93 94 95 96 97 98 99 100
F 33,945 33,915 33,885 33,855 32,287 32,259 32,229 21,838 15,594 6563
Iteration 101 102 103 104 105 106 107 108 109 110
F 6558 6572 6592 6613 6634 6616 6586 2472 1935 1911
Iteration 111 112 113 114 115 116 117 118 119 120
F 1899 1894 1920 1957 2010 17,011 26,022 27,587 34,593 50,059
Iteration 121 122 123 124 125 126 127 128 129 130
F 54,540 54,556 60,074 60,110 62,167 83,439 89,492 108,846 130,195 155,483
Iteration 131 132 133 134 135 136 137 138 139 140
F 155,453 155,470 155,500 155,463 155,403 155,373 155,350 155,334 155,316 155,346
Iteration 141 142 143 144 145 146 147 148 149 150
F 155,299 155,324 155,316 155,346 155,382 155,435 146,094 146,031 146,023 146,021
M. Chen, D. Cao / Computers & Industrial Engineering 46 (2004) 571–588584
Fig. 2 presents the detailed moves of the function value around iteration No. 112. The best objective
function value Fp ¼ 1894 for this example problem was achieved at that point.
The obtained final solution shows that cells 1–3 should be built. Part-types 1 and 2 will be processed
by the machines allocated to the three cells, while part-types 3–5 are processed by the machines in only
one of the cells. That is, type 3 parts are processed in cell 1, types 4 and 5 parts are processed in cell 3.
The cross cell processing is due to the limited sizes of the cells. Cell 4 is not selected even if it has a
larger limit to house more machines since setting up this cell is much more expensive than setting up
other cells. The heuristic algorithm took about 10 min on the PC computer to find this solution. For this
example problem, we were not able to use LINDO or CPLEX to confirm that this solution is indeed
optimal since the size of the linearized mixed integer programming model is quite large and the required
amount of computation exceeds our computing capacity.
6. Remarks
† Tabu search is a meta-heuristic method. The quality of the solution found by our method depends
on several factors. We found that the initial solution of the problem affects the final results
Fig. 2. Detailed moves around the minimum.
Fig. 1. Objective function value moves.
M. Chen, D. Cao / Computers & Industrial Engineering 46 (2004) 571–588 585
significantly. The sizes of the Tabu list LT1, LT2 and LT3 can also make significant differences in
the final solution. A more careful selection of the initial solution could reduce the computing time
to large extent.
† There are no general guidelines to determine the optimal sizes of the Tabu lists. In practice, the
search process should be constructed with different Tabu list sizes. From the computation of the
example problems in this paper, we observed that the Tabu list sizes suggested by Glover (1997)
from 5 to 10 evaluated solutions did not work well in solving our problems. We found that the
size around 30 worked best for us. When the initial solution is far from the optimal or sub-optimal
solution, a larger Tabu list works better. If it can be decided that the initial solution should not be
far from the optimal solution, then a smaller Tabu list will make the process more efficient.
7. Summary and conclusions
In this paper, the problem of production planning in CM systems was discussed. Production planning,
cell formation and fixed charge costs were considered simultaneously. The problem was formulated as a
non-linear mixed integer-programming model. The solution of the model is to minimize total cost of
inter-cell material handling, cell construction and required machines, and to minimize production
planning related cost. The formulation integrates both cell design and cell operation aspects in a single
mathematical programming model. The complicated features of the NP-hard model make it impossible
to solve the problem within tolerable computational times on regular computing platforms, if traditional
optimization methods are used. In order to obtain optimal or near optimal solutions of the problem, an
embedded optimization procedure was developed to transform the original mixed integer-programming
model into a binary problem. We then applied Tabu search method to find optimal or near optimal
solution of the reduced problem. One of the advantages of the developed approach is that the search
process does not need to start with a feasible solution to the original problem. The final solution found by
the search process will be feasible even the initial solution was infeasible. Example problems tested in
this research showed that the developed search method can arrive at near optimal solutions in most cases.
Similar approach can be found in the literature. For example, Teghem, Pirlot, and Antoniadis (1995)
developed a simulated annealing algorithm with embedded linear program to solve a production
planning problem. While in this research a heuristic algorithm coupling Tabu search and linear
programming is developed to solve an integrated production planning and cell formation problem in a
CM environment.
The developed model and algorithm can be further extended without much technical difficulty. For
example, job-scheduling requirement may be included in the model as side constraints (Cao & Uebe,
1995). They can be treated by using penalty functions with certain modifications of the present Tabu
search procedure. The current and extended models may be solved by developing deeper search
procedures and more powerful computational algorithms. For example, better lower bounds could be
generated by Lagrangian relaxation for deeper Tabu search as suggested in Glover and Laguna (1997).
In addition, adaptive Tabu list size (Salhi, 2002) could be used instead of fixed Tabu list size. The above-
mentioned model and algorithm modifications will be further explored for better search performances in
our future research in this area.
M. Chen, D. Cao / Computers & Industrial Engineering 46 (2004) 571–588586
Acknowledgements
This research is supported by Research Grant No. OGP0121863 from Natural Sciences and
Engineering Research Council (NSERC) of Canada and by Faculty of Engineering and Computer
Science Research Support Fund, Concordia University, Montreal, Que., Canada. The authors sincerely
thank the anonymous referee for his/her comments and suggestions on an earlier version of this paper.
References
Asokan, P., Prabhakaran, G., & Kumar, G. S. (2001). Machine-cell grouping in cellular manufacturing systems using non-
traditional optimisation techniques. A comparative study. International Journal of Advanced Manufacturing, Technology,
18, 140–147.
Atmani, A., Lashkari, R. S., & Caron, R. J. (1995). A mathematical programming approach to joint cell formation and operation
allocation in cellular manufacturing. International Journal of Production Research, 33, 1–15.
Bazaraa, M., Sherali, H., & Shetty, C. (1993). Nonlinear programming: Theory and algorithms. New York: Wiley.
Cao, D., & Leung, L. C. (2002). A partial cooperation model for non-unique linear two-level decision problems. European
Journal of Operational Research, 140, 134–141.
Cao, B., & Uebe, G. (1995). Solving transportation problems with nonlinear side constraints with Tabu search. Computers and
Operations Research, 22, 593–603.
Chen, M. (1998). A mathematical programming model for system reconfiguration in a dynamic cellular manufacturing
environment. Annals of Operations Research, 77, 109–128.
Chen, M. (2001). A model for integrated production planning in cellular manufacturing systems. Integrated Manufacturing
Systems, 12, 275–284.
Glover, F. (1989). Tabu search. Part 1. INFORMS Journal on Computing, 1, 190–206.
Glover, F. (1990a). Tabu search. Part 2. INFORMS Journal on Computing, 2, 4–32.
Glover, F. (1990b). Tabu search. A tutorial. Interfaces, 20, 74–94.
Glover, F., & Laguna, M. (1997). Tabu search. Boston: Kluwer.
Heragu, S. S., & Chen, J.-S. (1998). Optimal solution of cellular manufacturing system design: Bender’s decomposition
approach. European Journal of Operational Research, 107, 175–192.
Hyer, N. L., & Wemmerlov, U. (1989). Group technology in the US manufacturing industry: a survey of the current practices.
International Journal of Production Research, 27, 1287–1304.
Jamal, A. M. M. (1993). Neural network and cellular manufacturing. Industrial Management and Data Systems, 93, 21–25.
Joines, J. A., Culbreth, C. T., & King, R. E. (1996). Manufacturing cell design: an integer programming model employing
genetic algorithms. IIE Transactions, 28, 69–85.
Lockwood, W., Mahmoodi, F., & Mosier, C. (2000). Scheduling unbalanced cellular manufacturing systems with lot splitting.
International Journal of Production Research, 38, 951–966.
Lozano, S., Adenso-Diaz, B., & Onieva, L. (1999). A one-step Tabu search algorithm for manufacturing cell design. OR; the
Journal of the Operational Research Society, 50, 509–516.
Nemhauser, G. L., & Wolsey, L. A. (1988). Integer and combinatorial optimization. New York: Wiley.
Olorunniwo, F. O. (1996). Changes in production planning and control systems with implementation of cellular manufacturing.
Production and Inventory Management, 37, 65–70.
Pirlot, M. (1996). General local search methods. European Journal of Operational Research, 92, 493–511.
Rao, H. A., & Gu, P. (1995). A multi-constraint neural network for the pragmatic design of cellular manufacturing systems.
International Journal of Production Research, 33, 1049–1070.
Reisman, A., Kumar, A., & Cheng, C. H. (1997). Cellular manufacturing: a statistical review of the literature (1965–1995).
Operations Research, 45, 508–535.
Salhi, S. (2002). Defining tabu list size and aspiration criterion with tabu search methods. Computers and Operations Research,
29, 67–86.
M. Chen, D. Cao / Computers & Industrial Engineering 46 (2004) 571–588 587
Sarker, B. R., & Mondal, S. (1999). Grouping efficiency measures in cellular manufacturing: a survey and critical review.
International Journal of Production Research, 37, 285–314.
Schaller, J. E., Erenguc, S. S., & Vakharia, A. J. (2000). A mathematical approach for integrating the cell design and production
planning decision. International Journal of Production Research, 38, 3953–3971.
Shang, J. S., & Tadikamalla, P. R. (1998). Multicriteria design and control of a cellular manufacturing system through
simulation and optimization. International Journal of Production Research, 36, 1515–1529.
Shinn, A., & Williams, T. (1998). A stitch in time: a simulation of cellular manufacturing. Production and Inventory
Management Journal, 39, 72–77.
Singh, N. (1996). Systems approach to computer-integrated design and manufacturing. New York: Wiley.
Sofianopoulou, S. (1997). Application of simulated annealing to a linear model for the formulation of machine cells in group
technology. International Journal of Production Research, 35, 501–513.
Song, S.-J., & Choi, J.-H. (2001). Integrated autonomous cellular manufacturing. A new concept for the 21st century.
International Journal of Manufacturing Technology and Management, 3, 293–307.
Teghem, J., Pirlot, M., & Antoniadis, C. (1995). Embedding of linear programming in a simulated annealing algorithm for
solving a mixed integer production planning problem. Journal of Computational and Applied Mathematics, 64, 91–102.
Wemmerlov, U., & Johnson, D. J. (1997). Cellular manufacturing at 46 user plants: implementation experiences and
performance improvements. International Journal of Production Research, 35, 29–49.
M. Chen, D. Cao / Computers & Industrial Engineering 46 (2004) 571–588588