15
IIE Transactions (1997) 29, 53–67 Assignment allocation and simulated annealing algorithms for cell formation GAJENDRA KUMAR ADIL, DIVAKAR RAJAMANI and DOUG STRONG Department of Mechanical and Industrial Engineering, The University of Manitoba, Winnipeg, Canada R3T 2N2 Received February 1993 and accepted June 1995 In this paper a nonlinear mathematical programming model is developed for cell formation that identifies part families and machine groups simultaneously with no manual intervention or subjective judgement. The objective of the model is minimization of the weighted sum of the voids and the exceptional elements. Changing weights for void and exceptional elements aids the designer with a systematic generation of different solutions, i.e., forming large loose cells or small tight cells. An assignment allocation algorithm (AAA) and a simulated annealing algorithm (SAA) are developed to solve the model. AAA and SAA compare favorably with many well-known procedures for the problems tested. AAA is less computer-intensive and hence large problems with 400 parts and 240 machines were solved with AAA in less than a minute on Sun Sparc station. However, AAA is sensitive to the initial machine grouping solution input to the algorithm. SAA gives consistent results but requires more computational time. 1. Introduction Cellular manufacturing (CM) has emerged as an impor- tant manufacturing concept in the past two decades. CM aims at achieving a decomposition of a manufacturing system into smaller subsystems (cells). In addition to the simplification of management through the creation of smaller subsystems, CM also leads to reduced material handling, reduced set-up time, reduced work-in-process inventory, reduced throughput time and improved se- quencing and scheduling on the shop floor (Askin et al., 1991). An important issue in designing a CM system is cell formation (CF). CF consists of identifying part families (PFs) and machine groups (MGs) such that the part families are processed within a machine group with minimum interaction with other groups. The processing requirements of the parts are commonly represented by a binary matrix known as a part–machine matrix, a = fa pm g. The element of matrix a, a pm is 1 or 0 depending on whether or not part p requires processing on machine m. Table 1a shows a part machine matrix a 1 for a system that has six parts and six machines. Row and column permutation of matrix a 1 yields a block diagonal matrix a 0 1 shown in Table 1b. In matrix a 0 1 one can identify two diagonal blocks (submatrices) that correspond to two subsystems or cells. The machine groups are MG1 = {1, 3, 5} and MG2 = {2, 4, 6}; the corresponding part families are PF1 = {1, 4, 5} and PF2 = {2, 3, 6}. In the above decomposition there are no ones outside the diagonal blocks, which implies that the two cells are independent, i.e., each part family is processed comple- tely within a machine group. Also, there are no zeros inside the diagonal blocks, which indicates that each part in a part family is processed by every machine in the corresponding machine group. This example illustrates a case when a perfect decomposition of a system into two subsystems (cells) is obtained. However, in most situa- tions a perfect decomposition is hardly obtained. This could be due to either the properties of the data or the inadequacies in the algorithm, or both (Chandrasekharan and Rajagopalan, 1989). An example is shown in Table 2, where dependency between cells cannot be avoided (a 2 is the initial matrix and a 0 2 is the permuted matrix). In the current partition, parts 2 and 5 require processing by both the machine groups. Also, not all the machines are required for processing by every part assigned to cell 1. In this situation, one would like to obtain a near-perfect decomposition considering the following objectives while partitioning the matrix (Srinivasan and Narendran, 1991). (1) to have minimum number of 0 entries inside the diagonal block (known as voids); and (2) to have minimum number of 1 entries outside the diagonal block (known as exceptional elements). A void represents the cost due to opportunity lost when a part allocated to a cell does not use a machine assigned in the cell. An exceptional element represents the intercell transportation cost. The voids and excep- 0740-817X # 1997 ‘‘IIE’’

Assignment allocation and simulated annealing algorithms for cell

Embed Size (px)

Citation preview

Page 1: Assignment allocation and simulated annealing algorithms for cell

IIE Transactions (1997) 29, 53±67

Assignment allocation and simulated annealing algorithms for

cell formation

GAJENDRA KUMAR ADIL, DIVAKAR RAJAMANI and DOUG STRONG

Department of Mechanical and Industrial Engineering, The University of Manitoba, Winnipeg, Canada R3T 2N2

Received February 1993 and accepted June 1995

In this paper a nonlinear mathematical programming model is developed for cell formation that identi®es part families and machine groupssimultaneously with no manual intervention or subjective judgement. The objective of the model is minimization of the weighted sum of thevoids and the exceptional elements. Changing weights for void and exceptional elements aids the designer with a systematic generation ofdifferent solutions, i.e., forming large loose cells or small tight cells. An assignment allocation algorithm (AAA) and a simulated annealingalgorithm (SAA) are developed to solve the model. AAA and SAA compare favorably with many well-known procedures for the problemstested. AAA is less computer-intensive and hence large problems with 400 parts and 240 machines were solved with AAA in less than aminute on Sun Sparc station. However, AAA is sensitive to the initial machine grouping solution input to the algorithm. SAA givesconsistent results but requires more computational time.

1. Introduction

Cellular manufacturing (CM) has emerged as an impor-tant manufacturing concept in the past two decades. CMaims at achieving a decomposition of a manufacturingsystem into smaller subsystems (cells). In addition to thesimpli®cation of management through the creation ofsmaller subsystems, CM also leads to reduced materialhandling, reduced set-up time, reduced work-in-processinventory, reduced throughput time and improved se-quencing and scheduling on the shop ¯oor (Askin etal., 1991).An important issue in designing a CM system is cell

formation (CF). CF consists of identifying part families(PFs) and machine groups (MGs) such that the partfamilies are processed within a machine group withminimum interaction with other groups. The processingrequirements of the parts are commonly represented by abinary matrix known as a part±machine matrix, a =fapmg. The element of matrix a, apm is 1 or 0 dependingon whether or not part p requires processing on machinem. Table 1a shows a part machine matrix a1 for a systemthat has six parts and six machines. Row and columnpermutation of matrix a1 yields a block diagonal matrixa01 shown in Table 1b. In matrix a01 one can identify twodiagonal blocks (submatrices) that correspond to twosubsystems or cells. The machine groups are MG1 ={1, 3, 5} and MG2 = {2, 4, 6}; the corresponding partfamilies are PF1 = {1, 4, 5} and PF2 = {2, 3, 6}.In the above decomposition there are no ones outside

the diagonal blocks, which implies that the two cells areindependent, i.e., each part family is processed comple-tely within a machine group. Also, there are no zerosinside the diagonal blocks, which indicates that each partin a part family is processed by every machine in thecorresponding machine group. This example illustrates acase when a perfect decomposition of a system into twosubsystems (cells) is obtained. However, in most situa-tions a perfect decomposition is hardly obtained. Thiscould be due to either the properties of the data or theinadequacies in the algorithm, or both (Chandrasekharanand Rajagopalan, 1989). An example is shown in Table2, where dependency between cells cannot be avoided(a2 is the initial matrix and a02 is the permuted matrix). Inthe current partition, parts 2 and 5 require processing byboth the machine groups. Also, not all the machines arerequired for processing by every part assigned to cell 1.In this situation, one would like to obtain a near-perfectdecomposition considering the following objectiveswhile partitioning the matrix (Srinivasan and Narendran,1991).

(1) to have minimum number of 0 entries inside thediagonal block (known as voids); and(2) to have minimum number of 1 entries outside the

diagonal block (known as exceptional elements).

A void represents the cost due to opportunity lostwhen a part allocated to a cell does not use a machineassigned in the cell. An exceptional element representsthe intercell transportation cost. The voids and excep-

0740-817X # 1997 ``IIE''

Page 2: Assignment allocation and simulated annealing algorithms for cell

tional elements created are dependent on the number ofdiagonal blocks and the size of each diagonal block. Ingeneral, as the number of diagonal blocks decreases thesize of blocks increases. This results in more voids andfewer exceptional elements. If all parts and machines aregrouped as one diagonal block (i.e., the cell is large andloose) we have maximum voids and no exceptionalelements. For example, in Table 2a, if all parts andmachines are treated as one diagonal block, we have19 voids and 0 exceptional elements. On the other hand,if the number of diagonal blocks is increased to 2 (i.e.,the cells become smaller and tighter) as in Table 2b, thevoids reduce to 3 and the exceptional elements increaseto 2. Thus, as the number of voids is reduced, thenumber of exceptional elements increases and vice versa.The objective of this paper is to partition the part±machine matrix to identify part families and the asso-ciated machine groups, considering the trade-off betweenvoids and exceptional elements explicitly.The cell formation problem is NP-complete (King and

Nakornchai, 1982). Hence, most of the procedures areheuristic in nature. The popular ones are production ¯owanalysis, (PFA) (Burbidge, 1989), rank order clustering,(ROC) (King and Nakornchai, 1982), modi®ed rankorder clustering, (MODROC) (Chandrasekharan and Ra-jagopalan, 1986), single linkage clustering, (SLC)(McAuley, 1972), average linkage clustering, (ALC)(Seifoddini and Wolfe, 1986), bond energy algorithm,(BEA) (McCormick et al., 1972), ZODIAC (Chandrase-kharan and Rajagopalan, 1987) and GRAFICS (Sriniva-san and Narendran, 1991). Comprehensive reviews of themethods are provided in Cheng (1992), Heragu (1994),Miltenburg and Zhang (1991) and Wemmerlov and Hyer(1986).SLC and ALC require a large amount of data storage

and computation of similarity matrices and do not formpart families (PFs) and machine groups (MGs) simulta-neously. SLC also suffers from the chaining problem.Algorithms such as ROC, MODROC, and BEA clusterthe rows and columns of a binary matrix followed by amanual intervention to identify the MGs and PFs. Thisbecomes very dif®cult for large problems that are notperfectly groupable. ZODIAC and GRAFICS identify

PFs and MGs simultaneously without any manual inter-vention. A few mathematical models have been proposedfor clustering (Boctor, 1991; Kasilingam, 1989; Kusiak,1987). These models use indirect measures such assimilarity/compatibility indices for performing part and/or machine groupings. Boctor (1991) and Kasilingam(1987) developed integer programming models for si-multaneous grouping of parts and machines. They, how-ever, considered constraints on number of parts and/ormachines assigned to a cell. This may not uncovernatural groupings that may exist in the data. Ribeiroand Pradin (1993) proposed a two-phase methodologythat minimizes the number of exceptional elements giventhe number of cells and by imposing constraints onnumber of parts and machines. In the ®rst phase apart±machine matrix is identi®ed by assigning parts toa machine, considering multiple copies of machine typesif available. In the second phase, the partition is obtainedby solving a p-median problem and then reassigningoperations (among the copies of machines) if this re-duces the intercell moves. To obtain a good partitioning,the procedure requires a number of trials to selectappropriate values of three parameters required in com-puting the distance matrix. Also, a kernel selection ruleneeds to be speci®ed (Ribeiro and Pradin, 1993). Noneof the above procedures has the ¯exibility to create largeloose cells or small tight cells to provide the designerwith alternative solutions in a controlled manner. Inaddition, the performance for larger problems is mostoften not reported.In this paper a nonlinear mathematical programming

model is developed for identifying PFs and MGs simul-taneously. The model considers minimization of aweighted sum of voids and exceptional elements as theobjective. Changing weights for voids and exceptionalelements gives the designer the ¯exibility of forminglarge loose cells (more voids but fewer exceptionalelements) or small tight cells (fewer voids and moreexceptional elements). The proposed model also identi-®es parts/machines that, if not assigned to a cell (ex-ternal parts/machines), can enhance the blockdiagonalization. These parts can be considered to havethe potential for subcontracting and the machines would

Table 1. Example of a perfect decomposition

(a) Matrix a1 (b) Matrix a01

Machines Machines

1 2 3 4 5 6 1 3 5 2 4 6

P 1 1 0 1 0 1 0 P 1 1 1 1 0 0 0

a 2 0 1 0 1 0 1 a 4 1 1 1 0 0 0

r 3 0 1 0 1 0 1 r 5 1 1 1 0 0 0

t 4 1 0 1 0 1 0 t 2 0 0 0 1 1 1

s 5 1 0 1 0 1 0 s 3 0 0 0 1 1 1

6 0 1 0 1 0 1 6 0 0 0 1 1 1

Table 2. Example of a imperfect decomposition

(a) Matrix a2 (b) Matrix a02

Machines Machines

1 2 3 4 5 6 1 3 5 2 4 6

P 1 1 0 1 0 0 0 P 1 1 1 0 0 0 0

a 2 0 1 0 1 1 1 a 4 1 1 0 0 0 0

r 3 0 1 0 1 0 1 r 5 0 1 1 1 0 0

t 4 1 0 1 0 0 0 t 2 0 0 1 1 1 1

s 5 0 1 1 0 1 0 s 3 0 0 0 1 1 1

6 0 1 0 1 0 1 6 0 0 0 1 1 1

54 Adil et al.

Page 3: Assignment allocation and simulated annealing algorithms for cell

serve as the common resources to the cells. Subse-quently, an iterative procedure called an assignmentallocation algorithm (AAA) is proposed to solve themodel. The performance of AAA has been evaluatedagainst many well-known procedures for problems se-lected from the published literature and AAA comparesfavorably. AAA is very simple and less computer-inten-sive. This is illustrated by solving problems of size400� 240.Although it has been observed that AAA provides a

good solution, it can be sensitive to the initial solution,the number of cells speci®ed and the groupability of theinput-part±machine matrix. A more robust simulatedannealing algorithm (SAA) has also been developed inthis paper. The solution obtained with SAA does notdepend on the initial con®guration and has an objectivefunction value closer to the global optimum (Laarhovenand Aarts, 1987). However, SAA requires signi®cantlymore computational time than AAA. Results from SAAhave been compared with AAA and many existingalgorithms.The remainder of the paper is organized as follows. In

Section 2 a nonlinear mathematical model is developedand in Section 3 the assignment allocation algorithm(AAA) and simulated annealing algorithm (SAA) tosolve the model are developed. Also in Section 3 weillustrate the AAA by considering numerical examples.Section 4 provides a comparison of the performance ofAAA and SAA with many existing procedures from thepublished literature. The performance of AAA for large(400 parts and 240 machines) problems in which datarange from well-structured (groupable) to ill-structured(ungroupable) is also presented in Section 4. Discussionand conclusions are presented in Sections 5 and 6respectively.

2. Mathematical model

The proposed model is based on the objective of mini-mizing the weighted sum of voids and exceptionalelements. The following notation is used.

Indices:p = parts �p � 1; 2; . . . ;P�;m = machines �m � 1; 2; . . . ;M�;c = cells �c � 1; 2; . . . ;C�.

Parameters:

apm � 1 if part p requires processing on machine m;0 otherwise;

P = number of parts;M = number of machines;C = upper limit on the number of cells to be formed;w = fraction representing the weight on exceptional

elements (0 � w � 1);�1ÿ w� = fraction representing the weight on voids.

Variables:

xpc � 1 if part p is allocated to cell c;0 otherwise;

ymc � 1 if machine m is assigned to cell c;0 otherwise:

nThen the model can be formulated as(M1)

Min z � wX

p

Xm

Xc

apmxpc�1ÿ ymc� �

�1ÿ w�X

p

Xm

Xc

�1ÿ apm�xpcymc �1�

subject to Xc

xpc � 1 8 p; �2�X

c

ymc � 1 8 m; �3�

xpc; ymc 2 f0; 1g 8 pmc: �4�

In the objective function given by (1), the ®rst termcaptures the contribution of the exceptional elements andthe second term represents the contribution of voids.Constraints (2) ensure that each part is allocated to onlyone cell. Constraints (3) guarantee that each machine isassigned to a cell. Binary restrictions on x and y vari-ables are imposed by constraints (4).C is given as an overestimate on the number of cells

to be formed. The model will select the appropriatenumber of cells. Because no upper-limit constraints onnumber of parts or machines assigned in a cell areimposed, the model will identify natural groupings thatexist in the data for a given weight.

3. Solution algorithms

In this section we develop two solution algorithms formodel (M1) developed in Section 2.

3.1. Assignment allocation algorithm (AAA)

In model (M1), two sets of variables ymc and xpc werede®ned in which the ®rst set relates to the machines andother to the parts. The solution of model (M1) is

Assignment allocation and simulated annealing algorithms 55

Page 4: Assignment allocation and simulated annealing algorithms for cell

equivalent to block diagonalization of a part±machinematrix minimizing the objective considered.A block, c (c � 1; 2; . . . ;C) represents a cell. ymc will

take a value of 1 or 0 depending on whether machine mis assigned to cell c or not. Similarly, xpc will take avalue of 1 or 0 depending on whether part p is allocatedto cell c or not. The objective function captures thecontribution of voids and exceptional elements given themachine assignment and part allocation.The nonlinearity of the model arises from the product

terms of these two variables sets. The model becomeslinear if one of the variable sets has known values. Thesolution algorithm proposed in this section is based onan iterative scheme. First, one set of variables (say, ymc)is ®xed and values of the other set of variables (xpc) areobtained. Then using the values of xpc so obtained, ymc

are obtained, and so on until a convergence is reached.The step that involves the determination of values of ymc

is referred to as assignment of machines to the cells, andthe one that involves the determination of values of xpc isreferred to as allocation of parts to the cells. Thealgorithm is thus named the assignment allocation algo-rithm (AAA). Srinivasan and Narendran (1991) devel-oped a similar approach for part±machine grouping tominimize the sum of the voids and exceptional elements.However, they provided no mathematical model for theproblem. Kasilingam (1989) proposed a similar proce-dure for part and machine groupings maximizing com-patibility indices between parts and machines.In model (M1), if ymc variables are ®xed at value Ymc 8

mc, we get the following submodel.

(M1.1) (Allocation submodel)

Min z1 �X

p

Xm

Xc

Bpmcxpc �5�

where Bpmc � w apm�1ÿ Ymc� � �1ÿ w� �1ÿ apm�Ymc

subject to Xc

xpc � 1 8 p; �6�

xpc 2 f0; 1g: �7�This submodel is separable by parts. This means that thevariable xpc can be solved for each p (p � 1; 2; . . . ;P)independently. The resulting problem for each part p canbe solved by inspection in the following way. Setxpc? � 1 such that

Bpc? � Minc

Xm

Bpmc:

The remaining xpc (c 6� c?), should be set equal to 0.The above can be interpreted as follows. Assume that

machine assignment to the cells is given. Let the numberof machines thus assigned in cell c be denoted by NMc.To ®nd an optimal placement of a part (row) p, one

should calculate the objective function value contribu-tion for that part (row). The contribution (due to voidsand exceptional elements) in the objective function ofthe part (or row) p depends upon which cell c the part isallocated to. If part p is allocated to cell c the contribu-tion is Bpc. The voids and exceptional elements resultingfrom an allocation can be computed by using the in-formation of row p of the part±machine matrix. The totalnumber of ones in the row is OPp. This represents thenumber of machines required by part (row) p. Thenumber of ones in the intersection of row p with allmachine columns assigned to cell c is UPpc. This givesthe number of machines in cell c that can be utilized bypart p if allocated to that cell. This allocation will givethe number of voids vppc = NMc ÿ UPpc and the numberof exceptional elements eppc = OPp ÿ UPpc. Weighingvoids and exceptional elements will give Bpc � w eppc

��1ÿ w� vpmc. The optimal allocation of the part is to acell c? for which the contribution Bpc is minimum.In a similar way we get an assignment submodel. It

can be shown that

wX

p

Xm

Xc

apmxpc�1ÿ ymc� � wX

p

Xm

Xc

apmymc�1ÿ xpc�:

To obtain an expression similar to (5) we substitutethis relationship for the exceptional element into theobjective function of model (M1). Then ®xing xpc equalto Xpc 8 pc will give the following submodel.

(M1.2) (Assignment submodel)

Min z2 �X

p

Xm

Xc

Dpmcymc �8�

where Dpmc � w apm�1ÿ Xpc� � �1ÿ w� �1ÿ apm�Xpc

subject to Xc

ymc � 1 8 m; �9�

ymc 2 f0; 1g: �10�This submodel can be solved for each ymc variable asfollows. Set ymc? � 1 such that

Dmc? � Minc

Xp

Dpmc

The remaining ymc (c 6� c?), are set equal to 0. Theassignment procedure can also be carried out in a similarway as described for the allocation.The assignment and allocation submodels are solved

iteratively until convergence is achieved. The detailedalgorithm steps are presented below.

Assignment allocation algorithm (AAA):

Step 1: Input

Read input data w, P, M, C, and {apm} matrix.

56 Adil et al.

Page 5: Assignment allocation and simulated annealing algorithms for cell

Step 2: Initialization

iteration count, i! 0OBJM0 (objective function value for machine assign-ment step) ! ÿUOBJP0 (objective function value for part allocation step)! ÿUwhere U is a large positive number.Step 3: Initial assignment

3.1. As a starting solution, we assume that each machineis assigned to an independent cell. Cell C(C � M � 1) is left empty to allow for parts to beexternal to cell. Assigning machine 1 to cell 1 initeration, i � 0, means set Y0

11 � 1, andY0

1c�8 c 6� 1� � 0.3.2. Update i! 1.Go to Step 4.Step 4: Allocation

4.1. Using the values of yiÿ1mc � Yiÿ1

mc (from the previousiteration), solve for xi

pc, i.e., ®nd Xipc, in the follow-

ing way.For p = 1 to P:(a) Count the number of ones in row p (say OPp),

of the part±machine matrix.(b) for c � 1 to C:

(i) Count the number of machines assigned tocell c (say NMc).

(ii) In the part±machine matrix, count the num-ber of ones in the intersection of row p

with all the columns (m) for whichYiÿ1

mc � 1 or columns corresponding to themachines that are assigned to cell c (sayUPpc).

(iii) Set eppc � OPp ÿ UPpc, vppc � NMc ÿ UPpc,and Bpc � w eppc � �1ÿ w� vppc.

(c) Assign part p to cell c (say, c?), for which Bpc isminimum, i.e., set Xi

pc? � 1 and the remainingXi

pc�c 6� c?� � 0.4.2. Set objective function value, OBJPi �Pp Bpc? .4.3. If the objective function value in the last two

iterations for Step 4 and Step 5 remains the same(i.e., OBJPi ÿ 1 � OBJPi and OBJMi ÿ 2 �OBJMi ÿ 1), go to Step 6;else, go to Step 5.

Step 5: Assignment

5.1. Using the current values of xipc � Xi

pc, solve for yimc,

i.e., ®nd Yimc in the following way.

For m � 1 to M:(a) Count the number of ones in column m (say

OMm), of the part±machine matrix.(b) for c � 1 to C:

(i) Count the number of parts assigned to cell c(say NPc).

(ii) In the part±machine matrix, count the num-ber of ones in the intersection of column m,with all the rows (p) for which Xi

pc � 1 or

columns corresponding to the parts that areassigned to cell c (say UMmc).

(iii) Set emmc � OMm ÿ UMmc, vmmc � NPc ÿUMmc, and Dmc � w emmc � �1ÿ w�vmmc.

(c) Assign machine m to cell c (say, c?), for whichDmc is minimum, i.e., set Yi

mc? � 1 and theremaining Yi

mc�c 6� c?� � 0.5.2. Set objective function value, OBJMi �Pm Dmc? .5.3. If the objective function value in the last two

iterations for Step 4 and Step 5 remains the same(i.e., OBJPiÿ1 � OBJPi and OBJMiÿ1 � OBJMi) goto Step 6;else, update the iteration count i! i� 1 and go toStep 4.

Step 6: Termination

Print the results and stop.

Illustration of the algorithm with numerical examples isprovided in the next section.

3.1.1 Illustration of AAA

In this section an example problem is solved to illustratethe algorithm steps. Then it is shown subsequently howchanges in relative weights to exceptional elements andvoids affect the part and machine grouping solution. Thesolution algorithm described in the previous section wascoded in Fortran-77 and run on a Sun Sparc 2 station.

Example 1An example with six parts and six machines is consid-ered to illustrate the algorithm.Step 1. Input to the part±machine matrix is shown in

Table 1a. The following values are taken: w =0.5, P = 6, M = 6, C = 7.

Step 2. The following initializations were made in thisstep: i � 0, OBJM0 � ÿ1 000 000:0, andOBJP0 � ÿ100 000:0.

Step 3. Initially (at i � 0), each machine is assigned to aseparate cell, machine 1 in cell 1, machine 2 incell 2, machine 3 in cell 3, machine 4 in cell 4,machine 5 in cell 5 and machine 6 in cell 6. Cell7 is left empty. This corresponds to the assign-ment Y0

11; Y022; Y

033; Y

044; Y

055; Y

066 � 1 and all other Y

variables are 0. Update the iteration numberi � 1.

Step 4. In this step we allocate parts to cells by using theinitial machine assignment obtained from Step 3.Consider part 1 ®rst. The objective functioncontribution of part 1 will be calculated forallocation to all possible cells. To do this forcell 1, we consider row 1 (this corresponds topart 1) and column 1 (since in cell 1 the onlymachine assigned is machine 1, which corre-sponds to column 1) of the part±machine matrix.

Assignment allocation and simulated annealing algorithms 57

Page 6: Assignment allocation and simulated annealing algorithms for cell

#Cell ! 1 2 3 4 5 6 7

Machine (column) ! 1 2 3 4 5 6 ÐPart (row) #

! 1 1 0 1 0 1 0 Ð23456

From row 1, the number of machines required by part1 is OP1 � 3 (which is the sum of ones in the row). Thenumber of machines assigned to cell 1 is NM1 � 1. In theintersection of row 1 and column 1 the number of ones isone, hence the number of machines that can be utilizedby part 1 when assigned to cell 1 is UP11 � 1. If part 1 isallocated to cell 1, we have the following. There will betwo exceptional elements, because only one of the threemachines required by part 1 is assigned to cell 1. Also,there will be no void as machine 1 assigned in cell 1 isrequired by part 1. We can calculate the number ofexceptional elements and voids also as:

ep11 � OP1 ÿ UP11 � 3ÿ 1 � 2;

vp11 � NM1 ÿ UP11 � 1ÿ 1 � 0:

Thus the objective function contribution will be,B11 � 0:5� 2� �1ÿ 0:5� � 0 � 1. Similar calculationsfor allocating part 1 to other cells are:

c � 2, NM2 � 1, UP12 � 0, ep12 � 3ÿ 0 � 3,vp12 � 1ÿ 0 � 1, B12 � 2;

c � 3, NM3 � 1, UP13 � 1, ep13 � 3ÿ 1 � 2,vp13 � 1ÿ 1 � 0, B13 � 1;

c � 4, NM4 � 1, UP14 � 0, ep14 � 3ÿ 0 � 3,vp14 � 1ÿ 0 � 1, B14 � 2;

c � 5, NM5 � 1, UP15 � 1, ep15 � 3ÿ 1 � 2,vp15 � 1ÿ 1 � 0, B15 � 1;

c � 6, NM6 � 1, UP16 � 0, ep16 � 3ÿ 0 � 3,

vp16 � 1ÿ 0 � 1, B16 � 2;c � 7, NM7 � 0, UP17 � 0, ep17 � 3ÿ 0 � 3,

vp17 � 0ÿ 0 � 0, B17 � 1:5.

Thus, assigning part 1 to cell 1, 3 or 5 will give theminimum value of 1 as the objective function contribu-tion. We break the tie arbitrarily by picking the last, i.e.,part 1 will be assigned to cell 5 or c� � 5 which givesB15 � 1.If we carry out similar calculations for other parts (p =

2, 3, 4, 5, and 6), we get the part allocation as shown inTable 3.Parts 1, 4, and 5 are allocated to cell 5 and parts 2, 3,

and 6 are allocated to cell 6 at iteration i � 1. Theobjective function value is 6.0 for this allocation.Step 5. For the part allocation obtained in Step 4, we

will ®nd machine assignments to the cells. To illustratethis procedure let us consider machine 1. The objectivefunction contribution for this machine assignment indifferent cells needs to be calculated. Because parts areassigned to cells 5 and 6 the other cells are empty at thisstep. We illustrate calculations for the ®rst non-emptycell, i.e., cell 5.Cell 5 has parts 1, 4, and 5 allocated; hence we have

to consider rows, 1, 4, and 5. The column correspondingto machine 1 is 1.

#

Machine (column) ! 1 2 3 4 5 6Cell# Part (row) #

!5 1 16 2 06 3 0!5 4 1!5 5 16 6 0

The number of parts requiring machine 1 is OM1 � 3(which is the sum of ones in column 1). The total

Table 3. Steps 2, 3, 4 and 5: intermediate results

Iter.

no. i

Part allocation/

machine assignment

Step Elements(part/machine) of cell Objective values

OBJPi/OBJMi

1 2 3 4 5 6 7

0 Machine 2,3 1 2 3 4 5 6 Ð ÿ100000.01 Part 4 Ð Ð Ð Ð 1, 4, 5 2, 3, 6 Ð 6.0

Machine 5 Ð Ð Ð Ð 1, 3, 5 2, 4, 6 Ð 0.0

2 Part 4 Ð Ð Ð Ð 1, 4, 5 2, 3, 6 Ð 0.0

Machine 5 Ð Ð Ð Ð 1, 3, 5 2, 4, 6 Ð 0.0

3 Part 4 Ð Ð Ð Ð 1, 4, 5 2, 3, 6 Ð 0.0

Machine 5 Ð Ð Ð Ð 1, 3, 5 2, 4, 6 Ð 0.0

58 Adil et al.

Page 7: Assignment allocation and simulated annealing algorithms for cell

number of parts assigned to cell 5 is NP5 � 3. Thenumber of allocated parts in cell 5 that require proces-sing on machine 1 is the sum of ones in the intersectionof column 1, with rows 1, 4, and 5. This will giveUM15 � 3. Thus the number of exceptional elements isep15 � OM1 ÿ UM15 � 3ÿ 3 � 0, and the number ofvoids is vp15 � NP5 ÿ UM15 � 3ÿ 3 � 0. The objectivefunction contribution D15 for this assignment will thus be0:5� 0� �1ÿ 0:5� � 0 � 0. The remaining calculationsfor this machine and other machines can also be carriedout in a similar way.

Assignment and allocation steps were carried outiteratively until convergence in the objective functionvalue was obtained after three iterations. In Table 3 the®rst line (corresponding to i � 0) shows the Steps 2 and3. Then in the same table Steps 4 and 5 for each iterationare shown.The solution identi®es the following two cells:

MG1={1, 3, 5}, PF1={1, 4, 5};MG2={2, 4, 6}, PF2={2, 3, 6}.

The above is the perfect partition with no voids and noexceptional elements as shown in Table 1b.

Example 2In this section we consider a 22-part and 11-machineproblem given in Cheng (1992), to illustrate the effect ofchanging weights. Cheng (1992) solved the above pro-blem by using a number of algorithms. The best group-ing obtained for this problem from these algorithms wasfrom ZODIAC, which gave 3 cells with 15 voids and 10exceptional elements.The algorithm developed in this paper controls the

type of cells (a large number of tight cells or a smallernumber of loose cells) to be formed, by changing theweight w. Table 4 shows the solution for differentweights. The types and number of cells are altered asw is changed. When the least weight is given to theexceptional element, i.e., w � 0:0, no part is assigned tothe cell and all the parts are identi®ed as external parts.At the other extreme, when the exceptional elements aregiven the maximum weight, i.e., w � 1, and a zeroweight is given to the voids, it forms one cell to whichall the parts are assigned. For weights between 0 and 1,with an increase in value of w the number of exceptionalelements decreases and the number of voids increases.The best solution from the existing procedures due toZODIAC is the same as the solution from the presentalgorithm with weight w � 0:7 (see Table 4). This solu-tion has a grouping measure (de®ned in the Appendixand discussed in Section 5) of 0.691. AAA gives a betterpartitioning at the weight of 0.6 with a grouping measureof 0.696. This solution is given in Table 5.AAA offers many advantages such as no requirement

for manual intervention for identi®cation of part familiesand machine groups; types of cells can be controlled bychanging the value of parameter w and it is computa-tionally ef®cient. However, an iterative procedure suchas AAA may be sensitive to initial solution. Therefore amore robust simulated annealing procedure is developedin the next section.

3.2. Simulated annealing algorithm (SAA)

Simulated annealing is one of the procedures that hasbeen successfully applied by researchers in solving largecombinatorial problems such as the parallel machinescheduling problem and the vehicle routing problem.Boctor (1991) applied simulated annealing for solvingpart±machine grouping problems with the objective ofminimizing the number of exceptional elements assum-ing that the upper limit on the number of machines in acell is known. Unlike the iterative procedure, the solu-tion obtained by simulated annealing does not depend onthe initial con®guration and has an objective functionvalue closer to the global optimum (Laarhoven andAarts, 1987). However, the rate of convergence is slowerin simulated annealing than the iterative procedure(AAA).In this section an implementation of the SAA to obtain

Table 4. Effect of weights on cell formation

Weight

w

Number

of groups

Number of

exceptional

elements

Number of

voids

Grouping

measure

0.0 1a 78 0 ÿ1.0000.1 6 29 0 0.628

0.2 6 29 0 0.628

0.3 5 26 0 0.667

0.4 6b 24 2 0.656

0.5 4c 13 11 0.688

0.6 3d 11 13 0.696

0.7 3 10 15 0.691

0.8 3 9 44 0.495

0.9 2 6 58 0.478

1.0 1 0 164 0.322

aAll parts were identi®ed as external parts.bPart 10 was identi®ed as an external part.cParts 7 and 13 were identi®ed as external parts.dPart 13 was identi®ed as an external part.

Table 5. AAA solution to example 2 (Cheng, 1992) for weight =0.6

Cell number Machines assigned Parts allocated

1 2,3,6 5,8,12,19

2 1,4,5,10 1,2,3,7,11,15,16,20,21,22

3 7,8,9,11 4,6,9,10,14,17,18

± 13 (external part)

Assignment allocation and simulated annealing algorithms 59

Page 8: Assignment allocation and simulated annealing algorithms for cell

grouping of parts and machines is proposed. The mainsteps in this algorithm are as follows. The maximumnumber of cells to be formed, C, is speci®ed. An initialmachine assignment is generated. Assignment of ma-chines to the cells is done by using a prede®ned rule.For example, in AAA, it was suggested that the value ofC be ®xed at one more than the total number ofmachines and initially each machine is assigned to aseparate cell, leaving one cell empty. Another way is toassign machines to cells randomly. One of the above tworules will be used to obtain an initial machine assign-ment. For this machine assignment, an initial part allo-cation is obtained by solving the allocation submodel(M1.1). Thus an initial solution (part families and ma-chine groups) and the objective function value areobtained. At each subsequent iteration, one machine ismoved from the current cell to another cell to get a newmachine assignment. The machine to be moved and thecell for this machine are selected randomly (Boctor,1991). Part allocation is made for this new machineassignment and the objective function value is computed.The generated solution (new part families and machinegroups) is accepted if the objective function value im-proves. If the objective function value does not improve,the solution is accepted with a probability dependingupon a cooling temperature, which is set to allow theacceptance of a large proportion of generated solutionsat the beginning. Then the cooling temperature is mod-i®ed to reduce the probability of acceptance. This en-ables the algorithm to escape from a local optimum at anearly stage. At each cooling temperature many moves areattempted and the algorithm stops when prede®ned con-ditions are met (Laarhoven and Aarts, 1987).The detailed steps of the proposed implementation of

SAA are presented below.

Simulated annealing algorithm (SAA)

Step 0: Initialize0.1. De®ne the annealing parameters: initial temperature

T0, minimum accepted transition at each tempera-ture ATmin, decrementing factor �, maximum num-ber of iterations imax, and ®nal acceptance ratio Rf .

0.2. Initialize iteration counter: i � 0.0.3. Generate initial machine assignment and allocate

parts by solving the allocation submodel (getSOL0, OBJ0).

Step 1: Execute outer loop, i.e., steps (1.1 to 1.7) untilconditions in step 1.7 are met.1.1. Initialize inner loop counter l � 0, and accepted

number of transitions AT � 0.1.2. Initialize solution for inner loop, SOLi

0 � SOLi,OBJi

0 � OBJi.1.3. Execute inner loop, i.e., steps (1.3.1 to 1.3.5) until

conditions in step 1.3.5 are met.

1.3.1. Update: l � l� 1.1.3.2. Generate a neighboring solution by perturb-

ing machine assignment and obtaining partallocation for new machine assignment (getSOLi

l, OBJil).

1.3.3. � �OBJil ÿ OBJi

lÿ1.1.3.4. If � � 0 or random(0,1) � e ÿ�=Ti then

(i) SOLil and OBJi

l are accepted;(ii) Update AT � AT � 1.

else(iii) solution is rejected, SOLi

l � SOLilÿ1,

OBJil � OBJi

lÿ1.1.3.5. If one of the following conditions holds true:

AT � ATmin; or l � M2 (M = number ofmachines), then assign Li (length of Markovchain (Laarhoven and Aarts, 1987)) = l,terminate the inner loop and go to step 1.4,else continue the inner loop and go to step1.3.1.

1.4. Update: i � i� 1.1.5. Update: SOLi � SOLiÿ1

Liÿ1, OBJi � OBJiÿ1Liÿ1.

1.6. Reduce the cooling temperature: Ti � � Tiÿ1.1.7. If one of the following conditions holds true:

i � imax; or the acceptance ratio (de®ned as AT=Li)� Rf ; or the objective function value for the last 10iterations remains the same, then terminate the outerloop and go to step 2, else continue the outer loopand go to step 1.1.

Step 2: Print the best solution obtained and terminate theprocedure.

The values of simulated annealing parameters used are asfollows: T0 � 10; ATmin = 25; � = 0.90; imax = 100; and Rf =0.01.

4. Computational experience

In this section the performances of AAA and SAA arecompared with a number of existing procedures for avariety of problems. The impact of different initialassignments on the performances of AAA and SAA isreported. A case study is also provided. Finally, compu-tational experience with AAA for large problems ispresented.

4.1. Data from open literature

Nine well-known algorithms, referred to as A1 to A9, foridentifying part families and machine groups are eval-uated and compared by Miltenburg and Zhang (1991) foreight well-known problems, referred to as P1 to P8, fromthe literature. The details of the problems and algorithmscan be obtained from Miltenburg and Zhang (1991). Theevaluation criterion to judge the goodness of the solu-tions considered is the `grouping measure' (stated as aprimary measure by Miltenburg and Zhang (1991)) and

60 Adil et al.

Page 9: Assignment allocation and simulated annealing algorithms for cell

is given in the Appendix. The grouping measure is highif the use of machines is greater (fewer voids) and if fewparts require processing on machines from more than onecell (fewer exceptional elements). The results obtainedwith AAA and SAA compare favorably with the ninealgorithms and are given in Table 6.We also consider 7 of the 12 problems given in

Ribeiro and Pradin (1993). The remaining 5 problemsuse multiple copies of machines and are excluded. Table7 provides the results obtained in comparison withRibeiro and Pradin (1993). For 5 of the 7 problems(except problems HN90 and KV87) the results are thesame in terms of numbers of cells, total numbers ofvoids and exceptional elements and grouping measure. Itis worth mentioning that in the procedure by Ribeiro andPradin (1993) the number of cells is an input parameter,whereas it is determined by AAA and SAA. Also, theyemphasize on minimizing the exceptional elements only.

Minimizing only exceptional elements may not yield agood partition. This is evident from the results obtainedfor problems HN90 and KV87. Although the number ofexceptional elements is smaller, this is achieved at theexpense of a substantial increase in the number of voids,leading to a low value of the grouping measure. AAAand SAA provide a better partition with a higher value ofthe grouping measure.

4.2. Well-structured and ill-structured data

Seven data sets from Chandrasekharan and Rajagopalan(1989) are taken, ranging from well-structured to themost ill-structured. All the data matrices consider 40parts and 24 machines. They vary only in the degree ofgroupability. The data sets (D1 to D7) are arranged indecreasing groupability order. The ®rst set of data (D1)is perfectly groupable and the last set (D7) is the least

Table 6. Comparison of AAA and SAA with nine algorithms

Problem �g from different algorithms

Existing algorithms AAA SAA

A1 A2 A3 A4 A5 A6 A7 A8 A9

P1 0.24 0.41 0.35 0.35 Ða 0.37 0.44 0.39 0.45 0.48 (0.7)b 0.48 (0.7)b

P2 0.53 0.76 0.76 0.76 Ða 0.76 0.73 0.76 0.76 0.76 (0.7) 0.76 (0.7)

P3 0.18 0.22 0.18 0.18 Ða 0.18 0.24 0.20 0.25 Ðc Ðc

P4 0.66 0.85 0.85 0.85 0.85 0.82 0.85 0.85 0.85 0.85 (0.7) 0.85 (0.7)

P5 0.57 0.57 0.57 0.57 0.57 0.57 0.57 0.57 0.57 0.57 (0.7) 0.57 (0.7)

P6 0.92 0.92 0.92d 0.92d 0.92d 0.92d 0.92d 0.92d 0.92d 0.92 (0.7) 0.92 (0.7)

P7 0.81 0.81 0.81 0.81 0.81 0.81 0.81 0.81 0.81 0.81 (0.7) 0.81 (0.7)

P8 0.68 0.57 0.63 0.59 0.57 0.59 0.68 0.58 0.64 0.68 (0.5) 0.68 (0.5)

aResults not available in Miltenburg and Zhang (1991).bNumber within bracket represents weight (w) at which the solution was obtained.cModi®ed data for this problem could not be matched with Miltenburg and Zhang (1991).dWas reported as 0.93 in Miltenburg and Zhang (1991), but acknowledged as typographical error.

Table 7. Comparison of AAA and SAA with Ribeiro and Pradin (1993)

Problem Size Ribeiro and Pradin (1993) for w = 0.7

AAA solution SAA solution

C� e v �g C� e v �g C� e v �g

HN90 20 � 20 5 14 15 0.64 6 16 10 0.66 5 14 14 0.65

4 11 40 0.49

SN90 10 � 20 4 0 0 1.00 4 0 0 1.00 4 0 0 1.00

KV87 41 � 30 3 6 313 0.23 13 34 23 0.54 13 31 29 0.53

2 3 526 0.17

CM81 (P8) 10 � 15 3 0 4 0.92 3 0 4 0.92 3 0 4 0.92

KU87 5 � 4 2 0 1 0.90 2 0 1 0.90 2 0 1 0.90

BS87 7 � 5 2 2 3 0.72 2 2 3 0.72 2 2 3 0.72

WS84 7 � 5 2 2 3 0.70 2 2 3 0.70 2 2 3 0.70

C�: number of cells formed; e and v are the numbers of exceptional elements and voids respectively.

Assignment allocation and simulated annealing algorithms 61

Page 10: Assignment allocation and simulated annealing algorithms for cell

groupable. Two effectiveness measures, grouping ef®-ciency and grouping ef®cacy, were used to evaluate theperformance of ZODIAC (Chandrasekharan and Rajago-palan, 1987) and GRAFICS (Srinivasan and Narendran,1991). These are de®ned in the Appendix. To be con-sistent, we compute these measures for the solutionobtained by using AAA and SAA on the data sets (D1to D7). We solved the seven data sets by using AAA andSAA for a weight equal to 0.7. A comparison ofperformance measures is provided in Table 8. Data givenin Chandrasekharan and Rajagopalan (1989) for D3 andD4 were found to be the same, so we treat them as oneproblem. It can be observed from the table that AAA andSAA compare favorably with the two algorithms on boththe measures for all the problems.

4.3. Effect of initial machine assignment

In this section the performances of AAA and SAA arecompared for different initial machine assignments (gen-erating random initial machine assignment in step 3.1 ofAAA and step 0.3 of SAA). We considered a perfectlygroupable matrix (problem D1) that can form 7 perfectclusters. The initial machine assignment is generatedrandomly in the following way. The maximum numberof cells, C, is varied from 7 to 25. Machines arerandomly assigned to the cells. Thus, AAA and SAAare run for 19 (C � 7; 8; . . . ; 25) different initial machinegrouping solutions. It was found that AAA gave a non-optimal solution for the 12 cases shown in Table 9.For the remaining 7 cases AAA gave an optimal

solution with a grouping measure of 1 and an objectivefunction value of 0.0. SAA is not sensitive to the initialsolution and gave an optimal solution for all the 25

cases.Next we considered problems comprising of well-

structured and ill-structured matrices (D1 to D7). Wegenerated 10 initial machine assignments for each pro-blem in the following ways. C was varied to take thevalues 15, 18, 20, 23, and 25, and for each value of C,two random number seeds were used. These problemswere solved by using AAA and SAA. The time taken byAAA was less than 1 second for each problem whereasthe average time taken by SAA was 54.7 seconds. Theminimum value, maximum value, mean value and stan-dard deviation (�n ÿ 1) of the solutions for 10 runs werecomputed for each problem and are shown in Table 10.The comparison shows that AAA gives good solutionsfor these problems. The deviations of objective functionvalue and grouping measure are greater in AAA thanSAA. However, as the groupability of data reduces, thesolution from AAA becomes less sensitive to the initialmachine assignment, i.e., the deviation in the objectivefunction value reduces. SAA gives better (lower value ofthe mean objective function value and higher value ofthe mean grouping measure) and more consistent solu-tions (objective function values and grouping measuresclose to the mean objective function value and the meangrouping measure).

4.4. A case study

In this section, AAA and SAA are applied to the datacollected from a local manufacturing company. This has26 machines and 37 parts. We solved this problem withAAA and SAA for w = 0.7. The initial machine assign-ment was obtained by setting the maximum number ofcells, C, to 27 and assigning each machine to a separate

Table 8. Comparison of AAA and SAA with ZODIAC and GRAFICS (Srinivasan and Narendran, 1991)

Problem Grouping ef®ciency, � Grouping ef®cacy, � AAA SAA

ZODIAC GRAFICS AAA SAA ZODIAC GRAFICS AAA SAA e v e v

D1 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 0 0 0 0

D2 0.95 0.95 0.95 0.96 0.85 0.85 0.85 0.85 10 11 10 11

D3/D4 0.92 0.92 0.92 0.93 0.38 0.74 0.73 0.73 23 17 23 11

D5 0.77 0.79 0.88 0.90 0.20 0.43 0.51 0.53 56 17 54 14

D6 0.72 0.79 0.86 0.89 0.18 0.45 0.45 0.49 65 17 61 13

D7 0.69 0.79 0.91 0.88 0.18 0.42 0.44 0.46 70 7 63 15

e and v are the numbers of exceptional elements and voids respectively.

Table 9.

C ! 7 8 9 10 11 12 13 14 15 17 20 22

Grouping measure 0.64 0.77 0.64 0.79 0.79 0.79 0.79 0.79 0.79 0.79 0.79 0.79

Objective function value 22.5 12.0 22.5 10.5 10.5 10.5 10.5 10.5 10.5 10.5 10.5 10.5

62 Adil et al.

Page 11: Assignment allocation and simulated annealing algorithms for cell

cell, leaving cell 27 empty. The rearranged part±machinematrices from AAA and SAA are shown in Tables 11and 12 respectively. The AAA gave a solution with anobjective function value of 45.8 and a grouping measureof 0.44. It took 0.17 seconds. The SAA gave a bettersolution with an objective function value of 41.8 and agrouping measure of 0.52. The computation time in thiscase was 137.5 seconds. We ran AAA for three randomlygenerated initial machine assignments. The groupingmeasures (objective function values) obtained were:0.52 (42.3), 0.50 (42.6) and 0.44 (45.8) respectively.The computational time for each was less than 0.2seconds. Thus a good solution can be obtained byrunning AAA a few times with different initial machinegroupings.

4.5. Large problems

Computational experience with large problems is re-ported in this section. To study the performance ofAAA on larger problems we replicated rows and col-umns of the seven problems (D1 to D7) ten times toobtain problems (L1 to L7) of size 400� 240. All theseproblems were solved with AAA for a weight of 0.7, andthe results are summarized in Table 13. The table showscomputational time, number of iterations required for theprocedure to converge, grouping measure(s), number ofgroups, number of voids and exceptional elements in the®nal solution. As expected, the objective function valuewas 100 times that of the smaller problems (D1 to D7)solved in Section 4.2. The cpu time required to solvethese problems was less than 1 minute in each case. Thuswe can see that AAA is very effective in solving large

problems. We also solved large problems (L1 to L7)with AAA, with different randomly generated initialmachine assignments. The number of iterations it tookto converge, and the grouping measures obtained for thesolution, are given in Table 14. The algorithm convergedwithin six iterations. Although the algorithm is sensitiveto the initial solution it yielded good solutions (com-pared with the grouping measures obtained for theseproblems shown in Table 13) in all cases.

5. Discussion

If the part±machine matrix is small, the model developedin this paper can be solved optimally by linearizing thenonlinear terms in the objective function (Stecke, 1981).For the solution of larger problems we have proposedAAA and SAA in this paper. It is observed in thepreceding section that AAA and SAA provide goodsolutions to the part±machine grouping problem. Theparameter w governs the types of cell to be formedand the value of w is required as input in AAA andSAA. Our experimentation indicated that a value ofw � 0:7 gives a good value of grouping measure con-sidered. However, owing to the nature of input data wemay obtain superior results in the range 0.5±0.7 for afew selected problems. For example in problem P8, thegrouping measure was 0.68 for a value of w in range0.5±0.65 and is superior to that obtained when theweight was 0.7. It should be noted that it is notnecessary to have all the voids (or exceptional elements)have the same weights. It is possible to give differentweights to different part/machine combinations to re¯ect

Table 10. Comparison of well-structured and ill-structured problems

Problem Grouping measure (objective value)

From AAA From SAA

Minimum Maximum Mean �n ÿ 1 Minimum Maximum Mean �n ÿ 1

D1 0.79a 1.00 0.96 0.09 1.00 1.00 1.00 0.00

(0.0)b (10.5) (2.1) (4.4) (0.0) (0.0) (0.0) (0.0)

D2 0.68 0.84 0.82 0.05 0.84 0.84 0.84 0.00

(10.3) (18.9) (11.2) (2.7) (10.3) (10.3) (10.3) (0.0)

D3/D4 0.55 0.69 0.68 0.04 0.69 0.69 0.69 0.00

(21.2) (28.5) (22.5) (2.2) (20.0) (21.2) (20.1) (0.4)

D5 0.37 0.46 0.42 0.04 0.38 0.43 0.41 0.01

(42.0) (45.9) (44.3) (1.3) (41.1) (42.7) (41.7) (0.7)

D6 0.28 0.40 0.36 0.03 0.34 0.40 0.39 0.02

(47.5) (51.4) (49.1) (1.4) (46.3) (46.8) (46.6) (0.2)

D7 0.27 0.38 0.31 0.04 0.31 0.35 0.33 0.02

(49.1) (52.7) (51.0) (1.0) (48.2) (48.5) (48.4) (0.1)

aGrouping measure.bObjective function value.

Assignment allocation and simulated annealing algorithms 63

Page 12: Assignment allocation and simulated annealing algorithms for cell

the scenario when opportunity costs on machines andtransportation costs of parts are not the same.The model and solution procedures developed in this

paper are important contributions to cell formation togenerate a ®rst cut partition of the part±machine matrix.The systematic generation of solutions by changing thevalue of w is interesting. Further research is warranted toconsider other manufacturing features. It is worth men-

tioning that the model and solution procedures developedin this paper can be extended to consider alternateprocess plans, which will further improve the qualityof the partition (Adil et al., 1993). Also, the model andsolution procedures have the potential to consider man-ufacturing parameters such as operation sequence, pro-duction volume and material handling. Further researchefforts should be directed towards this end.

Table 11. Rearranged matrix from AAA for case

Part Machine

1 1 1 1 1 2 2 1 1 2 2 2 2 1 1 1 2

8 2 6 8 1 6 5 9 4 7 0 5 1 2 9 0 7 2 3 3 5 6 1 3 4 4

1 1 1 1

2 1 1 1 1 1

3 1 1 1 1 1 1

4 1 1 1 1 1 1 1

11 1 1 1 1 1 1 1 1 1

15 1 1 1 1 1 1 1 1

27 1 1 1 1 1 1

7 1 1

8 1 1 1 1

9 1

10 1 1 1

19 1 1

20 1 1

21 1 1

22 1 1 1 1

23 1 1 1 1

24 1 1 1 1

25 1 1 1 1

26 1 1 1 1

36 1 1

37 1 1 1

12 1 1 1

5 1 1 1 1 1

14 1 1 1 1 1 1 1

18 1 1 1

28 1 1 1 1 1

29 1 1 1 1 1

30 1 1 1 1 1

31 1 1 1 1 1

32 1 1 1 1 1

33 1 1 1 1 1

6 1 1 1 1 1

13 1 1 1 1 1

16 1 1 1 1 1 1

17 1 1 1 1 1 1

34 1

35 1

64 Adil et al.

Page 13: Assignment allocation and simulated annealing algorithms for cell

6. Conclusions

In this paper a nonlinear mathematical programmingmodel for the identi®cation for part families and ma-chine groups has been developed. The model considersthe objective of minimization of a weighted sum of voidsand exceptional elements. This allows the weighing of

voids and exceptional elements differently and thus givesthe designer the ¯exibility to form large loose or smalltight cells. Subsequently, an algorithm called the assign-ment allocation algorithm (AAA) has been proposed tosolve the model. The algorithm identi®es natural group-ings present in the data and does not require any manualintervention or subjective judgment.

Table 12. Rearranged matrix from SAA for case

Part Machine

1 1 1 1 1 0 2 1 1 1 2 2 2 2 2 2 1 1

5 6 9 1 2 7 0 9 2 2 8 4 4 1 5 4 0 3 5 6 3 8 7 6 1 3

3 1 1 1 1 1 1

15 1 1 1 1 1 1 1 1

27 1 1 1 1 1 1

5 1 1 1 1 1

14 1 1 1 1 1 1 1

18 1 1 1

28 1 1 1 1 1

29 1 1 1 1 1

30 1 1 1 1 1

31 1 1 1 1 1

32 1 1 1 1 1

33 1 1 1 1 1

1 1 1 1

2 1 1 1 1 1

4 1 1 1 1 1 1 1

12 1 1 1

7 1 1

8 1 1 1 1

9 1

10 1 1 1

19 1 1

20 1 1

21 1 1

36 1 1

37 1 1 1

6 1 1 1 1 1

13 1 1 1 1

16 1 1 1 1

17 1 1 1 1

11 1 1 1 1 1 1 1 1 1

22 1 1 1 1

23 1 1 1 1

24 1 1 1 1

25 1 1 1 1

26 1 1 1 1

34 1

35 1

Assignment allocation and simulated annealing algorithms 65

Page 14: Assignment allocation and simulated annealing algorithms for cell

The results obtained with AAA have been evaluatedagainst 12 well-known algorithms and it has been gen-erally found that the AAA compares favorably with theother algorithms. AAA is very simple and less computer-intensive. The solution to problems of size 400 � 240with this algorithm in less than a minute of cpu timeshows the effectiveness of the algorithm in handlinglarge problems.Although AAA has been very effective in solving

large problems it may be sensitive to the initial solution.A more robust simulated annealing algorithm (SAA) hasalso been developed to compare with the AAA results. Ingeneral, SAA gives better and more consistent resultsthan the AAA. However, the computation time requiredby SAA is signi®cantly more than for the AAA. In ouropinion, for smaller problems, SAA is recommended.For large problems it is preferable to solve AAA a fewtimes with different initial machine assignments.

Acknowledgement

We thank Professor John Miltenburg of McMaster Uni-versity for the data provided in Table 6. We are gratefulto the two anonymous referees for their useful commentsand suggestions. The research reported in this paper wassupported by grants from NSERC Canada.

References

Adil, G.K., Rajamani, D. and Strong, D. (1993) An algorithm for cellformation considering alternate process plans, in Proceedings ofthe IASTED International Conference on Modeling andSimulation, Pittsburgh, PA, U.S.A., May 10-12, pp. 285±288.

Askin, R.G., Cresswell, S.H., Goldberg, J.B. and Vakharia, A.J.(1991) A Hamiltonian path approach to reordering the part±machine matrix for cellular manufacturing. International Journalof Production Research, 29(6), 1081±1100.

Boctor, F.F. (1991) A linear formulation of the machine±part cellformation problem. International Journal of ProductionResearch, 29(2), 343±356.

Burbidge, J.L. (1989) Production ¯ow analysis for planning grouptechnology, Clarendon Press, Oxford.

Chandrasekharan, M.P. and Rajagopalan, R. (1986) MODROC: anextension of rank order clustering for group technology.International Journal of Production Research, 24(5), 1221±1233.

Chandrasekharan, M.P. and Rajagopalan, R. (1987) ZODIAC ± analgorithm for concurrent formation of part-families and machine-cells. International Journal of Production Research, 25(6), 835±850.

Chandrasekharan, M.P. and Rajagopalan, R. (1989)GROUPABILITY: an analysis of the properties of binary datamatrices for group technology. International Journal ofProduction Research, 27(7), 1035±1052.

Cheng, C. (1992) Algorithms for grouping machine groups in grouptechnology. International Journal of Management Science(OMEGA), 20(4), 493±501.

Heragu, S.S. (1994) Group technology and cellular manufacturing.IEEE Transactions in Systems, Man and Cybernetics, 24(2),203±215.

Kasilingam, R.G. (1989) Mathematical programming approach to

Table 13. Results for large size problems

Problem cpu time (seconds) No. of

iterations

No. of cells e v Measures

� � �g

L1 30.1 3 7 0 0 1.000 1.000 1.000

L2 33.3 3 7 1000 1100 0.952 0.851 0.839

L3/L4 33.7 3 8 2300 1700 0.918 0.729 0.688

L5 33.5 3 11 5600 1700 0.875 0.507 0.388

L6 54.1 5 12 6500 1700 0.860 0.446 0.299

L7 33.0 3 14 7000 700 0.908 0.438 0.357

e and v are the numbers of exceptional elements and voids respectively.

Table 14. Results for the randomly generated starting solution

Problem Number of iterations for different run �g for different runs

1 2 3 4 5 1 2 3 4 5

L1 3 3 3 3 3 1.000 1.000 1.000 1.000 1.000

L2 3 4 4 4 3 0.839 0.839 0.839 0.839 0.839

L3/L4 4 5 5 5 4 0.695 0.695 0.695 0.694 0.690

L5 5 5 5 5 4 0.424 0.393 0.412 0.412 0.397

L6 4 5 5 5 4 0.407 0.412 0.407 0.356 0.390

L7 4 6 5 4 3 0.388 0.343 0.379 0.315 0.321

66 Adil et al.

Page 15: Assignment allocation and simulated annealing algorithms for cell

cell formation problems in ¯exible manufacturing systems.Unpublished Doctoral Dissertation, Department of IndustrialEngineering, University of Windsor, Canada.

King, J.R. and Nakornchai, V. (1982) Machine-component groupformation in group technology ± review and extension.International Journal of Production Research, 20(2), 117±133.

Kusiak, A. (1987) The generalized group technology concept.International Journal of Production Research, 25(4), 561±569.

Laarhoven, P.J.M. van and Aarts, E.H.L. (1987) Simulatedannealing: Theory and applications, Kluwer AcademicPublications, Dordrecht.

McAuley, J. (1972) Machine grouping for ef®cient production. TheProduction Engineer, 51(2), 53±57.

McCormick, W.T., Schweitzer, P.J. and White, T.W. (1972) Problemdecomposition and data recognization by a clustering technique.Operations Research, 20, 993±1009.

Miltenburg, J. and Zhang, W. (1991) A comparative evaluation ofnine well-known algorithms for solving the cell formationproblem in group technology. Journal of OperationsManagement, 10(1), 44±72.

Ribeiro, J.F.F. and Pradin, B. (1993) A methodology for cellularmanufacturing design. International Journal of ProductionResearch, 31(1), 235±250.

Seifoddini, H. and Wolfe, P.M. (1986) Application of the similaritycoef®cient method in group technology. IIE Transactions, 18(3),271±277.

Srinivasan, G. and Narendran, T.T. (1991) GRAFICS ± anonhierarical clustering algorithm for group technology.International Journal of Production Research, 29(3), 463±478.

Stecke, K.E. (1981) Production planning problems for ¯exiblemanufacturing system. Ph.D. Dissertation, Purdue University,West Lafayette, Indiana, U.S.A.

Wemmerlov, U. and Hyer, N.L. (1986) Procedures for the partfamily/machine group identi®cation problem in cellularmanufacturing. Journal of Operations Management, 6(2), 125±147.

Appendix

LetjAj = number of elements in set A;c = index of cell;d = number of `1's in the diagonal blocks;e = number of exceptional elements in the solution;M = number of machines;Mc = set of machines assigned to cell c;m = index of machine;o = number of `1's in matrix apm;P = number of parts;Pc = set of parts allocated to cell c;p = index of part;v = number of voids in the solution.Then,

o �X

p

Xm

apm;

d �X

c

Xp 2 Pc

Xm 2 Mc

apm;

v �X

c

Mcj j Pcj j ÿ d;

e � oÿ d:

Grouping measure (�g)

�g � �u ÿ �m;

where

�u � d=�d � v�;�m � 1ÿ d=o:

Grouping ef®ciency (�)

� � �1ÿ w� oÿ eoÿ e� v

� wMPÿ oÿ v

MPÿ o� eÿ v:

A value of 0.5 is recommended in ZODIAC (Chan-drasekharan and Rajagopalan, 1987) for w.

Grouping ef®cacy (�)

� � �oÿ e�=�o� v�:

Biographies

G.K. Adil is an Assistant Professor of Industrial Engineering at BilkentUniversity. He has a Ph.D (1994) in Industrial Engineering fromUniversity of Manitoba, M.Sc. (1990) in Industrial Engineering fromUniversity of Regina, M.Tech. (1987) in Mechanical Engineering fromIIT-Kanpur and B.Eng. (1985) in Mechanical Engineering from Ra-vishankar University. His research interests are in cellular manufactur-ing, production planning and concurrent engineering.

D. Rajamani is an Assistant Professor of Industrial Engineering atUniversity of Manitoba. He received his Ph.D. (1990) in IndustrialEngineering from University of Windsor, M.Tech. (1986) from IIT-Delhi and B. Tech. (1985) from IT-BHU, Varanasi. His researchinterests are in modeling of manufacturing systems and productionplanning and inventory control. Current research focus is on the designand operation of cellular manufacturing systems.

D. Strong is a Professor of Industrial Engineering at University ofManitoba. He holds a Ph.D. (Industrial Engineering), M.A.Sc. (Aero-physics) and B.A.Sc. (Electrical Engineering) from the University ofToronto. He has spent several years in manufacturing industries doingresearch in robotics, machine vision, control systems and CAD / CAM.He is currently working with local industry in improving techniques formodeling production operations and for accurately determining andprojecting production costs.

Assignment allocation and simulated annealing algorithms 67