A branch and bound algorithm for a fractional
0-1 programming problem

arXiv:1603.04597v1 [] 15 Mar 2016

Irina Utkina, Mikhail Batsyn∗ , and Ekaterina Batsyna
Department of Applied Mathematics and Informatics,
Laboratory of Algorithms and Technologies for Network Analysis
National Research University Higher School of Economics
136 Rodionova street, Niznhy Novgorod, Russia
iutkina@hse.ru, mbatsyn@hse.ru, batcyna@hse.ru

Abstract. We consider a fractional 0-1 programming problem arising in
manufacturing. The problem consists in clustering of machines together
with parts processed on these machines into manufacturing cells so that
intra-cell processing of parts is maximized and inter-cell movement is
minimized. This problem is called Cell Formation Problem (CFP) and
it is an NP-hard optimization problem with Boolean variables and constraints and with a fractional objective function. Because of its high
computational complexity there are a lot of heuristics developed for it.
In this paper we suggest a branch and bound algorithm which provides
exact solutions for the CFP with a variable number of cells and grouping efficacy objective function. This algorithm finds optimal solutions
for 21 of the 35 popular benchmark instances from literature and for the
remaining 14 instances it finds good solutions close to the best known.

Keywords: cell formation; biclustering; branch and bound; upper bound; exact
solution

1

Introduction

The first work on the Group Technology in manufacturing was written by Flanders (1925). In Russia the Group Technology was introduced by Mitrofanov
(1933). The main problem in the Group Technology (GT) is to find an optimal
partitioning of machines and parts into manufacturing cells, in order to maximize
intra-cell processing and minimize inter-cell movement of parts. Maximization
of the so-called grouping efficacy is accepted in literature as a good objective
combining these two goals (Kumar & Chandrasekharan, 1990). This problem is
called the Cell Formation Problem (CFP) (Goldengorin et al., 2013). CFP with
grouping efficacy objective function is a fractional 0-1 programming problem.
Burbidge developed Product Flow Analysis (PFA) approach to this problem
and described the GT and the CFP in his book (Burbidge, 1961). Ballakur &
Steudel (1987) have shown that the CFP is an NP-hard problem for different
objective functions. That is why there have been developed a lot of heuristic

approaches (Goncalves & Resende, 2004; James et al., 2007; Bychkov et al.,
2013, Paydar & Saidi-Mehrabad, 2013) and almost no exact ones for the CFP
with a variable number of cells and grouping efficacy objective function.
Kusiak et al. (1993) consider one of the most simple variants of the CFP
called the machine partitioning problem in which it is necessary to partition
only machines into the specified number of cells minimizing the total Hamming
distance between machines inside the cells. The authors present an exact A*
algorithm for this variant of the CFP. They also develop a branch and bound
algorithm for the CFP with a variable number of cells, a limit on the number
of machines inside each cell, and maximization of the size of so-called mutually
separable cells as an objective function. Spiliopoulos & Sofianopoulou (1998) and
Arket et al. (2012) also present branch and bound algorithms for the machine
partitioning problem.
One of the recent exact approaches for the CFP with the grouping efficacy
objective function is suggested by Elbenani & Ferland (2012). These authors
suggest to reduce the fractional programming CFP problem to a number of ILP
problems by means of Dinkelbach approach and to solve each ILP problem with
CPLEX solver. Unfortunately they consider the CFP with a fixed number of cells
which is much easier. They solve 27 of the 35 popular benchmark instances, but
only for a fixed number of cells. The same simplified formulation of the CFP is
considered by Brusco (2015). The author develops a branch and bound algorithm
and solves 31 of the 35 instances, but again only for some fixed numbers of cells.
For example problem 26 is solved only for 7 cells and it requires more than 15
days of computational time.
To the best of our knowledge the only existing exact approach to the CFP
with a variable number of cells and grouping efficacy objective function is by
Bychkov et al. (2014) who suggested a new approach to reduce the CFP problem
to a small number of ILP problems and for the first time solved to optimality 14
of the 35 popular benchmark instances from literature using CPLEX software.
Zilinskas et al. (2015) considered the CFP with a variable number of cells as a
bi-objective optimization problem and developed an exact algorithm which finds
Pareto frontier.
In this paper we suggest an efficient branch and bound algorithm for the
CFP with a variable number of cells and grouping efficacy objective function.
We are able to find optimal solutions for 21 of the 35 benchmark instances. Note
also that the CFP is a biclustering problem in which we simultaneously cluster
machines and parts into cells. So the suggested approach can be also applied to
biclustering problems arising in data mining (Busygin et al., 2008).

2

Formulation

The objective of the CFP is to find an optimal partitioning of machines and
parts into groups (production cells, or shops) in order to minimize the inter-cell
movement of parts from one cell to another and to maximize intra-cell processing
operations. The input data for this problem is matrix A which contains zeroes

and ones. The size of this matrix is m×p which means that it has m machines and
p parts. The element aij of the input matrix is equal to one if part j should be
processed on machine i. The objective is to minimize the number of zeroes inside
cells and the number of ones outside cells. There have been suggested several
objective functions which combine these two goals. The objective function which
provides a good combination of these goals and is widely accepted in literature
is the grouping efficacy suggested by Kumar & Chandrasekharan (1990):
f=

nin
1
→ max,
n1 + nin
0

(1)

where n1 is the number of ones in the input matrix, nin
1 is the number of ones
inside cells, nin
is
the
number
of
zeroes
inside
cells.
0
The mathematical programming model for the CFP is the following (see also
Bychkov et al. (2014)).
Decision variables:
(
1 if machine i is assigned to cell k
xik =
(2)
0 otherwise
yjk =

(

1 if part j is assigned to cell k
0 otherwise

(3)

Objective function:
nin
1
n1 + nin
0

max
Constraints:
nin
1 =

p
c X
m X
X

(4)

aij xik yjk

(5)

(1 − aij )xik yjk

(6)

k=1 i=1 j=1

nin
0 =

p
c X
m X
X

k=1 i=1 j=1
c
X

xik = 1

∀i = 1, . . . , m

(7)

yjk = 1 ∀j = 1, . . . , p

(8)

k=1
c
X

k=1
p
m X
X

xik yjk ≥

p
m X
X

xik yjk ≥

xik

∀k = 1, . . . , c

(9)

yjk

∀k = 1, . . . , c

(10)

i=1

i=1 j=1

i=1 j=1

m
X
p
X
j=1

Here c = min(m, p) is the maximum possible number of cells. Constrains (7) and
(8) require that every machine and every part is assigned to exactly one cell.
Constrains (9) and (10) require that there are no cells having only machines
without parts or only parts without machines.

3
3.1

Branch and bound algorithm
Branching

Because of the biclustering structure of the CFP our branching goes by two parameters. The suggested algorithm has branching on machines and parts sequentially changing each other: machines-parts-machines-... We use vectors M (1×m)
and P (1 × p) for this purpose. Element Mi contains the cell to which machine
i is assigned and element Pj contains the cell to which part j is assigned. For
example M = [1231] and P = [11321] mean that cell 1 contains machines 1, 4 and
parts 1, 2, 5, cell 2 contains machine 2 and part 4, and cell 3 contains machine
3 and part 3.
Branching on machines makes changes in vector M . It starts from assigning
the first machine to cell 1. Let k be the number of cells in the current partial
solution. When the algorithm branches on machines, it takes the first machine
which is not assigned to any cell and tries to assign it to the existing cells with
numbers from 1 to k or creates a new cell (k + 1) for this machine.
Branching on parts makes changes in vector P . It starts with all zeroes inside
P which means that no parts are assigned to any cell. When the algorithm
branches on parts it takes the first part which is not assigned to any cell and
tries to assign it to the existing cells from 1 to k or to a new cell (k + 1)∗ (star
means that the number of the cell can be k + 1 or greater) if there are some
unassigned machines which can be also added later to this new cell. We assume
that the number of parts is greater than the number of machines.
The algorithm branches on parts and machines successively. It starts with
M = [100 . . . 0] and P = [00 . . . 0]. Next it changes vector P , then - vector M
and so on. This way the algorithm builds the search tree. The leaves of the
search tree contain complete solutions and other nodes contain partial solutions.
The complete search tree depends only on the number of machines and parts. It
contains all feasible solutions as its leaves.
To provide an efficient branching, before choosing a branch we calculate an
upper bound for each branch and choose the branch with the greatest value
of the upper bound. This branching strategy allows us to find good solutions
earlier.
3.2

Upper bound

To obtain an upper bound for a given partial solution we relax the original CFP
problem and suggest a polynomial algorithm to calculate an optimal solution or
an upper bound for the relaxed problem. The relaxed problem is formulated as

follows. We are given a partial solution in which some of the machines and parts
are already assigned to some cells. For example in Table 1 machines 1, 2 with
parts 1, 2, 3, 4 are assigned to cell 1, and machine 3 with part 5 is assigned to
cell 2. The objective is to assign the remaining machines independently on each
other to the existing cells or to a new cell, and assign the remaining parts to
the existing cells taking into account only the rows already assigned in the given
partial solution. In the relaxed problem we allow an independent assignment
of machines and parts to cells. In this case the best assignment for machine 4
will be to put it to cell 1 with parts 1, 2, 3, 4, 7. This will bring 4 ones and 1
zero inside cells. The best assignment for machine 5 will be to put it to a new
cell 3 with parts 7, 8. This will bring 2 ones and 0 zeroes inside cells. The best
assignment for parts 6 and 7 which takes into account only rows 1, 2, 3 will be
to put it to cell 2 (with machine 3). The best assignment for part 8 which takes
into account only rows 1, 2, 3 will be to put it to cell 1 (with machines 1, 2).
This optimal solution for the relaxed problem is shown in Table 2. This solution
is infeasible for the original CFP problem because independent assignment of
machines and parts is allowed and as a result we obtain non-rectangular cells
which can also intersect by columns. Since it is an optimal solution to the relaxed
problem it provides an upper bound to the original problem. In our example for
8
the partial solution we have f = 21+1
≈ 0.36 and the solution of the relaxed
problem gives us an upper bound to the complete solution of the CFP equal to
U B = 8+10
21+1 ≈ 0.82.
Table 1: A partial solution for the CFP
1
2
3
4
5

1
1
1
0
1
0

2
1
1
0
0
0

3
1
0
1
1
0

4
1
1
0
1
0

5
1
0
1
1
0

6
0
0
1
0
0

7
0
0
1
1
1

8
1
1
0
0
1

Table 2: Optimal solution for the relaxed CFP
1
2
3
4
5

1
1
1
0
1
0

2
1
1
0
0
0

3
1
0
1
1
0

4
1
1
0
1
0

5
1
0
1
1
0

6
0
0
1
0
0

7
0
0
1
1
1

8
1
1
0
0
1

In our example from Table 1 it is not obvious whether the chosen alternative
(a1 , b1 ) = (4, 1) (putting 4 ones and 1 zero inside cells) is better than alterna-

tive (a2 , b2 ) = (1, 0) for machine 3. To choose between two alternatives we use
CompareAlternatives function (see Algorithm 1). It returns the index (1 or
2) of the best alternative among two ones, −1 if it cannot choose between these
alternatives, or 0 if these two alternatives are equivalent. We do not provide the
proof of its correctness in this short paper.
Algorithm 1 Algorithm to choose between two alternatives
in
out
out
i
i
function CompareAlternatives(a1 , b1 , a2 , b2 , n1 , n0 , nin
1 , n0 , n̄1 , n̄0 , n1 , n0 )
∆a ← a2 − a1 , ∆b ← b2 − b1
⊲ ∆b should be non-negative
if (∆b = 0) then
if (∆a < 0) then
return 1
else if (∆a > 0) then
return 2
else
return 0
n1 −n̄out
−ni1
in
out
i
ac
1
ac ← nin
1 , bc ← n1 +n0 , bl ← bc , bu ← n1 +n0 −n̄0 −n0 , l ← bc , u ←
bc

if bl l − ∆a
− a1 then
≥ b1 ∆a
∆b
∆b
return 1 
− a1 then
≤ b1 ∆a
if bu u − ∆a
∆b
∆b
return 2
return -1

Below we present a polynomial algorithm of calculating the suggested upper
bound as an optimal solution of the relaxed CFP problem, if we can always
choose the best alternative for every machine and part, or as an upper bound
to this solution otherwise. We illustrate the algorithm on the instance shown in
Table 3.
Table 3: Example for upper bound calculation
1
2
3
4
5

1
1
1
0
0
0

2
1
1
0
1
0

3
1
1
0
1
0

4
1
1
0
0
0

5
1
0
0
0
1

6
0
0
1
0
1

7
0
0
1
0
0

8
0
0
0
1
0

9
0
1
0
1
1

in
1. Calculate the number of ones nin
1 and zeroes n0 inside the cells of the
out
given partial solution and the number of ones n̄1 and zeroes n̄out
which
0
cannot get inside cells in any solution (see gray area (the gray area with
black zeroes on black-and-white printing) in Table 3). The total number of
ones n1 and zeroes n0 are constant. From these values we get the numerator

Table 4: Solution providing the upper bound
1
2
3
4
5

1
1
1
0
0
0

2
1
1
0
1
0

3
1
1
0
1
0

4
1
1
0
0
0

5
1
0
0
0
1

6
0
0
1
0
1

7
0
0
1
0
0

8
0
0
0
1
0

9
0
1
0
1
1

in
ac = nin
1 and the denominator bc = n1 + n0 for the efficacy f = ac /bc of the
in
current partial solution. For the example in Table 3 we have: nin
1 = 11, n0 =
out
out
1, n̄1 = 0, n̄0 = 9, n1 = 19, n0 = 26, ac = 11, bc = 20.
2. For every unassigned machine (row) using Algorithm 1 we compare all possible alternatives of adding it to one of the existing cells or to a new cell.
For our example we have 3 alternatives for machine i = 4: 1) (4, 3) - add it to
cell 1 with parts 1, 2, 3, 4, 5, 8, 9 putting 4 ones and 3 zeroes inside this cell; 2)
(2, 2) - add it to cell 2 with parts 6, 7, 8, 9 putting 2 ones and 2 zeroes inside;
3) (2, 0) - add it to a new cell 3 with parts 8, 9 putting 2 ones and 0 zeroes
inside. Obviously alternative 3 is better than alternative 2. So we need to
compare only two alternatives (a1 , b1 ) = (2, 0) and (a2 , b2 ) = (4, 3). We have:
i
ni1 = 4, ni0 = 5, ∆a = 2, ∆b = 3, l = ac /bc = 11/20, u = (n1 − n̄out
1 − n1 )/bc =
out
i
15/20, bl = 20, bu = n1 + n0 − n̄0 − n0 = 31. And the values we need to
apply Algorithm 1 are:




7
31
∆a
∆a
∆a
− a1 = −2, bl l −
= − , bu u −
=
b1
∆b
∆b
3
∆b
12

So neither of the conditions in Algorithm 1 is satisfied and we cannot determine which alternative is better (Algorithm 1 returns −1). In this case we
build an alternative (max(a1 , a2 ), min(b1 , b2 )), which is better than both incomparable alternatives, and use it to obtain an upper bound on the solution
of the relaxed CFP problem. In our example it is alternative (4, 0).
Now for machine i = 5 we have: ni1 = 3, ni0 = 6, l = 11/20, u = 16/20, bl =
20, bu = 30. There are 3 alternatives (2, 4), (2, 1), and (1, 0). It is clear that
alternative (2, 4) is worse than (2, 1). For (a1 , b1 ) = (1, 0) and (a2 , b2 ) = (2, 1)
we have:




∆a
∆a
∆a
= −9, bu u −
= −6
b1
− a1 = −1, bl l −
∆b
∆b
∆b

∆a
So bu u − ∆a
∆b ≤ b1 ∆b − a1 and Algorithm 1 returns alternative (a2 , b2 ) =
(2, 1). Thus (2, 1) is the best alternative for machine 5.
3. For every unassigned part (column) in the same way using Algorithm 1 we
compare all possible alternatives of adding it to one of the existing cells or
leaving it unassigned. However in this case we take into account only ones
and zeroes which lie in the rows already assigned in the given partial solution

(blue area (the darkest area with white digits on black-and-white printing)
in Table 3).
In our example part 8 has only zeroes in this area and so it is better not to
add it to any cell. For part 9 (j = 9) we have 3 alternatives: 1) (1, 1) - add
it to cell 1 putting 1 one and 1 zero inside; 2) (0, 1) - add it to cell 2 putting
0 ones and 1 zero inside; 3) (0, 0) - do not add it to any cell. It is clear
that (0, 1) is a bad alternative and we need to compare only (a1 , b1 ) = (0, 0)
and (a2 , b2 ) = (1, 1). We have nj1 = 1, nj0 = 2, l = ac /bc = 11/20, u =
(n1 − n̄out
− nj1 )/bc = 18/20, bl = 20, bu = n1 + n0 − n̄out
− nj0 = 34. The
1
0
values needed to apply Algorithm 1 are:




∆a
∆a
∆a
b1
= −9, bu u −
= −3.4
− a1 = 0, bl l −
∆b
∆b
∆b

∆a
So bu u − ∆a
∆b ≤ b1 ∆b − a1 and Algorithm 1 returns alternative (a2 , b2 ) =
(1, 1) as the best alternative for part 9.
4. We calculate the upper bound by putting inside all the ones and zeroes
corresponding to the best alternatives chosen for all unassigned machines
and parts. For our example the corresponding solution which gives an upper
bound to the relaxed CFP problem (and thus to the original CFP problem
18
11+4+2+1
= 21
≈
also) is shown in Table 4. For this example we have U B = 19+0+1+1
0.86.

4

Results

The suggested branch and bound algorithm has been able to solve 21 of 35 popular benchmark instances from the literature exactly and to find good solutions
for the remaining 14 instances. The results are presented in Table 5. All computations were run on Intel Core i7 with 16Gb RAM. Note that the algorithm was
run without any initial solution while in the results reported by Bychkov et al.
(2014) the best-known solutions were used as initial. The results show that the
developed algorithm is more efficient than the approach suggested by Bychkov
et al. (2014).

5

Acknowledgment

This research is supported by Laboratory of Algorithms and Technologies for
Network Analysis, NRU HSE.

References
[2012]Arkat, J., Abdollahzadeh, H., Ghahve, H. (2012). A new branch and bound algorithm for cell formation problem. Applied Mathematical Modelling, 36, 5091-5100.
[1987]Askin, R. G., Subramanian, S. P. (1987). A cost-based heuristic for group technology configuration. International Journal of Production Research, 25(1), 101–113.

Table 5: Results
#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
a

Name
King & Nakornchai (1982)
Waghodekar & Sahu (1984)
Seifoddini (1989)
Kusiak (1987)
Kusiak & Chow (1987)
Boctor (1991)
Seifoddini & Wolfe (1986)
Chandrasekharan & Rajagopalan
Chandrasekharan & Rajagopalan
Mosier & Taube (1985a)
Chan & Milner (1982)
Askin & Subramanian (1987)
Stanfel (1985)
McCormick et al. (1972)
Srinivasan et al. (1990)
King (1980)
Carrie (1973)
Mosier & Taube (1985b)
Kumar et al. (1986)
Carrie (1973)
Boe & Cheng (1991)
Chandrasekharan & Rajagopalan
Chandrasekharan & Rajagopalan
Chandrasekharan & Rajagopalan
Chandrasekharan & Rajagopalan
Chandrasekharan & Rajagopalan
Chandrasekharan & Rajagopalan
McCormick et al. (1972)
Carrie (1973)
Kumar & Vannelli (1987)
Stanfel (1985)
Stanfel (1985)
King & Nakornchai (1982)
McCormick et al. (1972)
Chandrasekharan & Rajagopalan

(1986a)
(1986b)

(1989)
(1989)
(1989)
(1989)
(1989)
(1989)

(1987)

Size

Bestknown
solution

f

5×7
5×7
5 × 18
6×8
7 × 11
7 × 11
8 × 12
8 × 20
10 × 10
10 × 15
10 × 15
14 × 24
14 × 24
16 × 24
16 × 30
16 × 43
18 × 24
20 × 20
20 × 23
20 × 35
20 × 35
24 × 40
24 × 40
24 × 40
24 × 40
24 × 40
24 × 40
27 × 27
28 × 46
30 × 41
30 × 50
30 × 50
30 × 90
37 × 53
40 × 100

0.8235
0.6957
0.7959
0.7692
0.6087
0.7083
0.6944
0.8525
0.5872
0.7500
0.9200
0.7206
0.7183
0.5326
c
0.6899
0.5753
0.5773
0.4345
0.5081
0.7791
0.5798
1.0000
0.8511
0.7351
0.5329
0.4895
0.4726
0.5482
0.4706
0.6331
0.6012
0.5083
0.4775
0.6064
0.8403

0.8235
0.6957
0.7959
0.7692
0.6087
0.7083
0.6944
0.8525
0.5872
0.7500
0.9200
0.7206
0.7183
0.5326
0.6899
0.5753
0.5773
a
0.4211
a
0.4697
0.7791
a
0.5615
1.0000
0.8511
0.7351
a
0.5185
a
0.4648
a
0.4468
a
0.5017
a
0.4569
a
0.5942
a
0.5789
a
0.4860
a
0.4684
a
0.5680
a
0.8403

Bychkov et
Time, s al. (2014),
Time, s
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.19
0.00
0.00
2.89
5.51
97117.43
837.93
7045.64
5668.25
100000.00
100000.00
88.62
100000.00
0.00
33.70
86007.93
100000.00
100000.00
100000.00
100000.00
100000.00
100000.00
100000.00
100000.00
100000.00
100000.00
100000.00

0.63
2.29
5.69
1.86
9.14
5.15
13.37
18.33
208.36
6.25
2.93
259.19
259.19
b
20829.38
b
13719.99
b
24930.93
b
13250.01
b
43531.77
b
33020.13
b
11626.98
b
33322.08
0.00
b
6916.24
b
14408.88
b
34524.47
b
41140.94
b
44126.76
b
22627.28
b
71671.08
b
22594.20
b
31080.82
b
48977.01
b
99435.64
b
47744.04
b
24167.76

The problem is not solved to optimality by our algorithm within the time limit of 100000 seconds.
b
The problem is not solved to optimality by Bychkov et al. (2014). In this approach the problem is
divided into a number of IP subproblems and a time limit of 300 seconds is set for every subproblem.
c
A greater value is reported in some papers on heuristics probably due to an incorrect input matrix.

[1987]Ballakur, A., & Steudel, H. J. (1987). A within cell utilization based heuristic
for designing cellular manufacturing systems. International Journal of Production
Research, 25, 639–655.
[1991]Boctor, F. F. (1991). A linear formulation of the machine-part cell formation
problem. International Journal of Production Research, 29(2), 343–356.
[1991]Boe, W., Cheng, C. H. (1991). A close neighbor algorithm for designing cellular manufacturing systems. International Journal of Production Research, 29(10),
2097–2116.
[2015]Brusco, J. M. (2015) An exact algorithm for maximizing grouping efficacy in
partmachine clustering. IIE Transactions, 47:6, 653–671.
[1961]Burbidge, J. L. (1961). The new approach to production. Prod. Eng., December,
3–19.
[2008]Busygin, S., Prokopyev, O., Pardalos, P. M. (2008). Biclustering in data mining.
Computers & Operations Research 35(9), 2964–2987.
[2013]Bychkov, I., Batsyn, M., Sukhov, P., Pardalod, P.M.(2013) Heuristic Algorithm
for the Cell Formation Problem. In: Goldengorin B. I., Kalyagin V. A., Pardalos
P. M.(eds.) Models, Algorithms, and Technologies for Network Analysis. Springer
Proceedings in Mathematics & Statistics 59, 43–69.
[2014]Bychkov, I., Batsyn, M., Pardalos, P. (2014). Exact model for the cell formation
problem. Optimization Letters 8(8), 2203–2210.
[1973]Carrie, S. (1973). Numerical taxonomy applied to group technology and plant
layout. International Journal of Production Research, 11, 399–416.
[1982]Chan, H. M., Milner, D. A., (1982). Direct clustering algorithm for group formation in cellular manufacture. Journal of Manufacturing Systems 1 (1), 64–76.
[1986a]Chandrasekharan M. P., Rajagopalan R. (1986a). MODROC: an extension of
rank order clustering for group technology. International Journal of Production
Research, 24(5), 1221–1233.
[1986b]Chandrasekharan M. P., Rajagopalan R. (1986b). An ideal seed non-hierarchical
clustering algorithm for cellular manufacturing. International Journal of Production
Research, 24(2), 451–464.
[1987]Chandrasekharan, M. P., Rajagopalan, R. (1987). ZODIAC: An algorithm for
concurrent formation of part families and machine cells. International Journal of
Production Research, 25(6), 835–850.
[1989]Chandrasekharan, M. P., Rajagopalan, R. (1989). Groupability: Analysis of the
properties of binary data matrices for group technology. International Journal of
Production Research, 27(6), 1035–1052.
[2012]Elbenani, B., Ferland, J. A. (2012). Cell Formation Problem Solved Exactly with
the Dinkelbach Algorithm. Montreal, Quebec. CIRRELT-2012-07, 1–14.
[1925]Flanders, R. E., 1925. Design manufacture and production control of a standard
machine, Transactions of ASME, 46, 691–738.
[2013]Goldengorin, B., Krushinsky D., Pardalos, P. M. (2013). Cell Formation in Industrial Engineering. Theory, Algorithms and Experiments. Springer Optimization
and Its Applications 79, 206 p.
[2004]Goncalves, J. F., Resende, M. G. C. (2004). An evolutionary algorithm for manufacturing cell formation. Computers & Industrial Engineering 47, 247–273.
[2007]James, T. L., Brown, E. C., Keeling, K. B. (2007). A hybrid grouping genetic
algorithm for the cell formation problem. Computers & Operations Research, 34(7),
2059–2079.
[1980]King, J. R. (1980). Machine-component grouping in production flow analysis: An
approach using a rank order clustering algorithm. International Journal of Production Research, 18(2), 213–232.

[1982]King, J. R., Nakornchai, V. (1982). Machine-component group formation in group
technology: Review and extension. International Journal of Production Research,
20(2), 117–133.
[1986]Kumar, K. R., Kusiak, A., Vannelli, A. (1986). Grouping of parts and components
in flexible manufacturing systems. European Journal of Operations Research, 24,
387–397.
[1990]Kumar, K. R., Chandrasekharan, M. P. (1990). Grouping efficacy: A quantitative criterion for goodness of block diagonal forms of binary matrices in group
technology. International Journal of Production Research, 28(2), 233–243.
[1987]Kumar, K. R., Vannelli, A. (1987). Strategic subcontracting for efficient disaggregated manufacturing. International Journal of Production Research, 25(12),
1715–1728.
[1987]Kusiak, A. (1987). The generalized group technology concept. International Journal of Production Research, 25(4), 561–569.
[1987]Kusiak, A., Chow, W. S. (1987). Efficient solving of the group technology problem. Journal of Manufacturing Systems, 6(2), 117–124.
[1993]Kusiak, A., Boe,J. W., Cheng, C. (1993). Designing cellular manufacturing systems: branch-and-bound and A* approaches. IIE Transactions, 25:4, 46–56.
[1972]McCormick, W. T., Schweitzer, P. J., White, T. W. (1972). Problem decomposition and data reorganization by a clustering technique. Operations Research 20(5),
993–1009.
[1933]Mitrofanov, S. P. (1933). Nauchnye osnovy gruppovoy tekhnologii. Lenizdat,
Leningrad, Russia, 1933. 435 pages. (in Russian).
[1985a]Mosier, C. T., Taube, L. (1985a). The facets of group technology and their
impact on implementation, OMEGA, 13(6), 381–391.
[1985b]Mosier, C. T., Taube, L. (1985b). Weighted similarity measure heuristics for the
group technology machine clustering problem. OMEGA, 13(6), 577–583.
[2013]Paydar, M. M., Saidi-Mehrabad, M. (2013). A hybrid genetic-variable neighborhood search algorithm for the cell formation problem based on grouping efficacy.
Computers & Operations Research, 40(4), 980–990.
[1989]Seifoddini, H. (1989). A note on the similarity coefficient method and the problem
of improper machine assignment in group technology applications. International
Journal of Production Research, 27(7), 1161–1165.
[1986]Seifoddini, H., Wolfe, P. M. (1986). Application of the similarity coefficient
method in group technology. IIE Transactions, 18(3), 271–277.
[1998]Spiliopoulos, K., Sofianopoulou, S. (1998). An optimal tree search method for the
manufacturing systems cell formation problem. European Journal of Operational
Research, 105, 537–551.
[1990]Srinivasan, G., Narendran, T. T., Mahadevan, B. (1990). An assignment model
for the part-families problem in group technology. International Journal of Production Research, 28(1), 145–152.
[1985]Stanfel, L. (1985). Machine clustering for economic production. Engineering
Costs and Production Economics, 9, 73–81.
[1984]Waghodekar, P. H., Sahu, S. (1984). Machine-component cell formation in group
technology MACE. International Journal of Production Research 22, 937–948.
[2015]Zilinskas, J., Goldengorin, B., Pardalos, P. M. (2015). Pareto-optimal front of
cell formation problem in group technology. Journal of Global Optimization 61(1),
91–108.

