Sunteți pe pagina 1din 5

Expert Systems with Applications 39 (2012) 1142311427

Contents lists available at SciVerse ScienceDirect

Expert Systems with Applications


journal homepage: www.elsevier.com/locate/eswa

Cell formation in group technology using constraint programming and Boolean satisability
Ricardo Soto a,c,, Hakan Kjellerstrand b, Orlando Durn a, Broderick Crawford a, Eric Monfroy d, Fernando Paredes e
a

Ponticia Universidad Catlica de Valparaso, Chile Independent Researcher, Sweden Universidad Autnoma de Chile, Chile d Universidad Tcnica Federico Santa Mara, Chile e Escuela de Ingeniera Industrial, Universidad Diego Portales, Santiago, Chile
b c

a r t i c l e

i n f o

a b s t r a c t
Cell formation consists in organizing a plant as a set of cells, each of them containing machines that process similar types or families of parts. The idea is to minimize the part ow among cells in order to reduce costs and increase productivity. The literature presents different approaches devoted to solve this problem, which are mainly based on mathematical programming and on evolutionary computing. Mathematical programming can guarantee a global optimal solution, however at a higher computational cost than an evolutionary algorithm, which can assure a good enough optimum in a xed amount of time. In this paper, we model and solve this problem by using state-of-the-art constraint programming (CP) techniques and Boolean satisability (SAT) technology. We present different experimental results that demonstrate the efciency of the proposed optimization models. Indeed, CP and SAT implementations are able to reach the global optima in all tested instances and in competitive runtime. 2012 Elsevier Ltd. All rights reserved.

Keywords: Manufacturing cells Machine grouping Constraint programming Boolean satisability

1. Introduction Group technology (GT) is a common methodology for increasing productivity in manufacturing systems. Cell formation is a key step in GT, it consists in dividing a plant into a set cells, that process part families, in such a way the part ow among cells in minimized or eliminated. A part family corresponds to a group of parts requiring similar and often identical operation processes, materials, and tools. It is well known that manufacturing cells provide considerable cost and productivity benets to practical manufacturing environments (Selim, Askin, & Vakharia, 1998). A main problem in cell formation is the identication of machine and component groups. This identication process requires an effective approach to form part families so that similarity within a part family can be maximized. According to Selim et al. (1998), clustering analysis is one of the most used methods for manufacturing cell design. However, since the cell formation problem is known to be NP-complete, there is still the challenge of creating an efcient clustering method.

This paper focuses on the efcient solving of manufacturing cell formation problems. We introduce constraint programming (CP) and Boolean satisability (SAT) as powerful techniques to tackle this problem. We implement ve different models by using ve different global optimizers: two CP-based solvers, two SAT-based solvers, and a hybrid CP+SAT solver. Those implementations demonstrate the efciency and feasibility of using this technology for solving cell formation problems. Indeed, all implementations are able to reach the global optimum in all instances and most of them in excellent runtime. This paper is organized as follows: Sections 3 and 4 give an overview of constraint programming and SAT, respectively. The cell formation problem is described and modeled in Section 5. Experimental results are presented and discussed in Section 6. Finally, we conclude and we give some directions for future work. 2. Related work The research work devoted to solve cell formation problems have had two complementary research trends, which can be organized into two groups: approximate methods and global optimization. Approximate methods such as metaheuristics are mostly focused on searching an approximate solution in a xed amount of time, hence they cannot guarantee a global optimum. On the contrary, global optimization aims at analyzing the complete

Corresponding author at: Ponticia Universidad Catlica de Valparaso, Chile. Tel.: +56 32 2273659; fax: +56 32 2273859. E-mail address: ricardo.soto@ucv.cl (R. Soto). URL: http://www.hakank.org (H. Kjellerstrand).
0957-4174/$ - see front matter 2012 Elsevier Ltd. All rights reserved. http://dx.doi.org/10.1016/j.eswa.2012.04.020

11424

R. Soto et al. / Expert Systems with Applications 39 (2012) 1142311427

search space to guarantee a global optimum, as a consequence the computational cost in terms of memory and time consumed is commonly higher. Within the rst group, different metaheuristics have been used for cell formation, for instance Aljaber, Baek, and Chen (1997) and Lozano, Daz, Egua, and Onieva (1999) use Tabu Search, Wu, Chang, and Chung (2008) presents a simulated annealing (SA) approach, Durn, Rodriguez, and Consalter (2010) combines particle swarm optimization with a data mining technique, and Venugopal and Narendran (1992) propose the use of genetic algorithms (GA). In Gupta, Gupta, Kumar, and Sundaram (1996), the same genetic representation of solutions as Venugopal and Narendran (1992) is used, but a different multi-objective optimization approach is followed for the simultaneous minimization of the total number of intercell-intracell moves and within-cell load variation. Hybridization techniques can also be found in the literature. For instance, Wu et al. (2008) combined SA and GA, James, Brown, and Keeling (2007) presented a hybrid solution including local search and GA, and Nsakanda, Diaby, and Price (2006) proposed a solution methodology based on a combination of a GA and large-scale optimization techniques. On the second group, preliminary experiments for cell formation were performed by using linear programming, some examples are the works of Purcheck (1975) and Olivia-Lopez and Purcheck (1979). Linear quadratic models have also been proposed, for instance by Kusiak and Chow (1987) and Boctor (1991). Goal programming (GP) is another paradigm for global optimization. It can be seen as a generalization of linear programming, for handling multiple objective functions. Some GP-models have been proposed by Sankaran (1990) and Shafer and Rogers (1991). Hybridizations of global optimization techniques and metaheuristics can also be found in this group, for instance Boulif and Atif (2006) combines branch-and-bound techniques with a genetic algorithm. In this paper, we focus on unexplored global optimization techniques in the context of cell formation, namely constraint programming and Boolean satisability, which as far as we know, have not been applied yet for optimal manufacturing cell design. 3. Constraint programming Constraint programming is a powerful programming paradigm devoted to the efcient resolution of constraint-based problems. It draws on methods from operational research, numerical analysis, articial intelligence, and programming languages. Currently, CP is widely used in different application areas, for instance, in computer graphics to express geometric coherence, in engineering design for the conception of complex mechanical structures, in database systems to ensure and/or restore data consistency, in electrical engineering to locate faults, and even for sequencing the DNA in molecular biology (Rossi, 2006). In CP, a problem is formulated as a constraint satisfaction problem (CSP). This representation mainly consists in a sequence of variables lying in a domain, and a set of relations over such variables, namely the constraints. Formally, a CSP P is dened by a triple P hX ; D; C i where  X is an n-tuple of variables X hx1 ; x2 ; . . . ; xn i.  D is a corresponding n-tuple of domains D = hd1, d2, . . . , dnisuch that xi 2 di, and di is a set of values, for i = 1, . . . , n.  C is an m-tuple of constraints C = hc1, c2, . . . , cmi, and a constraint cj is dened as a subset of the Cartesian product of domains dj1 djn , for j = 1, . . . , m.
j

Formally, a COP P is dened by a 4-tuple P hX ; D; C ; f i, where f is the objective function to be maximized or minimized. 3.1. CSP solving The basic CP idea for solving CSPs is to build a tree-data structure holding the potential solutions by interleaving two main phases: enumeration and propagation. In the enumeration phase, a variable and a value from its domain are chosen to create a tree branch. In the propagation phase, a consistency property is enforced to prune the tree, i.e., the values that do not lead to any solution are temporarily deleted from domains (see Bessire (2006, chap. Constraint propagation) for a detailed description about constraint propagation). In this way, the exploration does not inspect unfeasible instantiations accelerating the whole process. Algorithm 1 (see Fig. 1) illustrates a general procedure for solving CSPs. The goal is to iteratively generate partial solutions, backtracking when an inconsistency is detected, until a result is reached. The algorithm has as input the set of constraints and domains. Then, a while loop encloses a set of actions to be performed until success (i.e a solution is reached) or a failure is detected (i.e. no solution is found). The rst two enclosed actions correspond to the variable and value selection. The third action is a call to a propagation procedure, which is responsible for attempting to prune the tree. Finally two conditions are included to perform backtracks. A shallow backtrack corresponds to try the next value available from the domain of the current variable, and the backtracking returns to the most recently instantiated variable that has still values to reach a solution. Algorithm 2 (see Fig. 1) is a CP-based branch and bound algorithm for handling COPs, in particular minimization problems (maximization problems are handled similarly). It is a slight modication of algorithm 1. It includes a cost function as an additional input and maintains an upper bound on the global minimum in the variable m, which is initialized to +1 at the beginning of the search. This upper bound is used to discard parts of the search space whose cost is larger than it by adding f(x) 6 m to the set of constraints. The idea is to propagate involving the cost function (line 5). Finally, the upper bound is updated whether a better solution has been found (line 6). 4. SAT solving SAT solvers are also propagation-based solvers, but devoted to Boolean variables and clause constraints. Most modern SAT solvers are based on the DavisPutnamLogemannLoveland (DPLL) algorithm (Davis, Logemann, & Loveland, 1962), which also interleaves two phases: enumeration and propagation (so called unit propagation). They incorporate sophisticated engineering to (1) achieve a fast constraint propagation, to (2) record as nogoods part of the search that lead to failure, and (3) to automate the search by tracking how often a variable is part of the reason for causing failure (activity) and concentrating search on variables with high activity. Some SAT solvers frequently restart the search from scratch relying on nogoods recording to prevent repeated search, and activity to drive the search into more protable areas (see En & Srensson (2003) for a gentle presentation of modern SAT solving). Fig. 2 depicts a rough architecture of a modern SAT solver. The search starts the unit propagation process which interacts with the clause database. When a failure is detected, conict analysis is initiated. Conict analysis uses the graph of explanations to construct a nogood which is a resolvent of clauses causing the failure. This is stored in the clause database and causes search to backjump. It prevents the search revisiting the same set of decisions. Activity counters (not detailed in gure) record which variables

A solution to a CSP is an assignment {x1 ? a1, . . . , xn ? an} such that ai 2 di for i = 1, . . . , n and aj1 ; . . . ; ajn 2 cj , for j = 1, . . . , m. j In a CP context, an optimization problem is simply an extension of a CSP, which is called COP (constrained optimization problem).

R. Soto et al. / Expert Systems with Applications 39 (2012) 1142311427

11425

Fig. 1. Left: The branch and prune algorithm. Right: The branch and bound algorithm.

Search

 Mmax, the maximum number of machines per cell. We selected as the objective function to be minimized the number of times that a given part must be processed by a machine that does not belong to the cell that the part has been assigned to. Let:
Unit Propagation

Conict Analysis

 yik  zjk

1 if machine i 2 cell k; 0 otherwise;

1 if part j 2 family k; 0 otherwise;

Clause Database
Fig. 2. SAT solver architecture.

The problem is represented by the following mathematical model:


C X M X P X minimize aij zjk 1 yik : k1 i1 j1

are most responsible for failure, these are the variables chosen for enumeration by the search. 5. Problem statement In this work, we model the cell formation problem by using an array-based clustering approach. The idea is to represent the processing requirements of parts on machines through an incidence matrix named machine-part. This matrix holds binary domains, and is denoted as A = [aij], where

Subject to
C X yik 1 8i ; k1 C X zjk 1 8j ; k1 M X i1

yik 6 M max

8k :

6. Experiments We have performed a large set of experiments in order to exhibit the efciency of our implementations. We have designed and launched ve different cell formation models in ve different solvers (two CP solvers, two SAT solvers, and a hybrid SAT+CP solver) by using four enumeration strategies, coming from the combination of two variable ordering heuristics and two value ordering heuristics. The description of solvers, ordering heuristics,1 and models is given in Tables 13, respectively. Cell formation models have been written in MiniZinc (Nethercote et al., 2007) and the corresponding code source is available in Kjellerstrand and Soto (2011). We have tested 50 problems (10 instances considering 5 values of Mmax, see Table 4) on a 2.80 GHz Intel Core i7 930 with 12 Gb RAM running Ubuntu Linux. The global amount of experiments is about 3500, considering 5 models, 5 solvers, 4 enumeration strategies,2 and 50 problems. Such 50 problems have been taken from Boctors experiments (Boctor, 1991). Table 4 contrasts the optimum value reached by using different techniques for the 50 problems. For each Mmax, column 1 (Op) depicts the global optimum of the given problem, column 2 (CS) the optimum value reached using
1 Let us note that this problem owns a Boolean domain for all variables, so rst-fail and anti-rst-fail act equally. 2 The conguration of enumeration strategies is unavailable for SAT solvers.

aij

1 if jth part visits ith machine; 0 otherwise:

Let us note that when a machine-part incidence matrix is constructed, no machine groups or part of families are easily visible. The main objective is machine grouping is the formation of set of machines and workpieces in groups so that the number of intercell transportation of pieces is minimized. Therefore, the initial (left matrix in Fig. 3) has to be transformed into a matrix that has a block diagonal structure (right matrix in Fig. 3). This rearrangement aims at minimization of total intercell moves and of within-cell load variation. A rigorous mathematical formulation of machine-component grouping problem with these objectives is given by Boctor (1991). The optimization model is stated as follows. Let:        M, be the number of machines, P, the number of parts, C, the number of cells, i, the index of machines (i = 1, . . . , M), j, the index of parts (j = 1, . . . , P), k, the index of cells (k = 1, . . . , C), A = [aij] the M P binary machine-part incidence matrix,

11426

R. Soto et al. / Expert Systems with Applications 39 (2012) 1142311427

0 0 0 0 0 0 0 0 1 1 0 0

0 0 0 0 0 0 1 1 0 0 1 1

1 1 1 1 1 1 0 0 0 0 0 0

0 0 0 0 0 0 1 0 1 1 1 1

1 0 1 0 1 0 0 0 0 0 0 0

0 0 0 0 0 0 1 1 0 1 0 1

1 1 0 0 1 0 0 0 0 0 0 0

0 1 1 0 1 0 0 0 0 0 0 0

0 0 0 0 0 0 1 1 1 1 1 1

0 1 1 0 0 1 0 0 0 0 0 0

0 0 1 1 0 0 0 0 0 0 0 0

0 0 0 0 0 0 1 0 1 1 0 1

1 1 1 1 1 1 0 0 0 0 0 0

0 1 1 0 1 0 0 0 0 0 0 0

1 1 0 0 1 0 0 0 0 0 0 0

1 0 1 0 1 0 0 0 0 0 0 0

0 1 1 0 0 1 0 0 0 0 0 0

0 0 1 1 0 0 0 0 0 0 0 0

0 0 0 0 0 0 1 1 0 0 1 1

0 0 0 0 0 0 1 0 1 1 0 1

0 0 0 0 0 0 0 0 1 1 0 0

0 0 0 0 0 0 1 1 0 1 0 1

0 0 0 0 0 0 1 0 1 1 1 1

0 0 0 0 0 0 1 1 1 1 1 1

Fig. 3. Left: Initial incidence matrix. Right: Rearranged matrix.

Table 1 Solver description. FznTini It is a general purpose constraint solver based on SAT (Boolean satisability problem (Gomes, Kautz, Sabharwal, & Selma, 2008, chap. Satisability solvers)). Models are written in MiniZincnFlatZinc (Marriott et al., 2008) and then launched in Tinisat via Booleanization. Details about FznTini and the transformation process into Tinisat can be seen in Huang (2008). It (Boll, Suy, & Villaret, 2010) is a general purpose constraint solver based on SMT (Satisability Modulo Theories) (Nieuwenhuis & Oliveras, 2006) working under a similar principle that FznTini. Fzn2smt compiles models from the FlatZinc language to the standard SMT-LIB language. Thus, models can be solved in any SMT solver, working by default with Yices 2 (Dutertre & de Moura, 2006). It is a well-known constraint programming solver. It has been implemented as a C++ library, but currently can be interfaced to several languages, among others, MiniZinc, Alice, Ruby, and Lisp. Implementation details of Gecode can be seen in Schulte and Tack (2006). It is another well-known constraint (logic) programming solver. It has been implemented on top of Prolog, and extended along the years with several specic CP primitives and features. Several academic publications involve Eclipse (Puget, 1994). It is a lazy clause solver, which can be seen as a hybrid that combines some of the advantages of CP (high level modeling and programmable search) with some of the advantages of SAT solvers (reduced search by nogood creation, and effective autonomous search). Details of its implementation can be seen in Feydy and Stuckey (2009).

fzn2smt

Gecode Eclipse Chuffed

Table 2 Variable and value ordering heuristics used. anti-rst-fail occurrence min max Selects the variable with biggest domain size Selects the variable with the largest number of attached constraints Selects the minimum value of the domain Selects the maximum value of the domain

our CP/SAT implementation, column 3 (Sa) the optimum value using simulated annealing, and column 4 (Pso) the optimum value using particle swarm optimization. Here, it is possible to see that the proposed models are unique in reaching the global optimum for all instances. Table 5 depicts the best solving times for each solver. Results consider the total time of solving the set of 50 problems together. Here, the FznTini solver takes the rst place, this should be

expected as FznTini is a completely SAT-based solver ideally tuned for 0-1 models such as the cell formation one. As mentioned in footnote number 4, SAT solvers do not care about variable and value ordering, being tagged with - in the table. The second place is taken by Fzn2Smt, this also should be expected as the principle behind this solver is similar to FznTini. Gecode, which is a purely CPbased solver, is ranked third. Its performance is quite surprising since it is a nite domain solver, not only for Boolean models such as the search engines behind FznTini (Tinisat) and Fzn2Smt (Yices 2). The hybrid CP+SAT appears in the fourth place, although it is outperformed by purely CP and SAT solvers, it arises as a competitive alternative. Finally, Eclipse appears in the last place, this is also expected since Eclipse is a general purpose CP/CLP solver rather tuned for nite domain problems than binary ones. With respect to model performance, it turns out that our improved models behave in general better than the original one (MCDP1). Indeed, for FznTini, Fzn2Smt, Gecode/fz, and Eclipse, the

Table 3 Different models implemented. MCDP1 MCDP2 MCDP3 It exactly corresponds to the original mathematical programming model presented in Section 5. It is an extension of MCDP1 that includes a dual representation of the problem. Two additional arrays are added in order to identify the machine assignments (i.e. which machines have been assigned to the yi,k matrix) as well as the part assignments (i.e. which parts have been assigned to the zj,k matrix). This model skips the initial matrix representation of MCDP1 and MCDP2. Decision variables are now completely handled via lists including the dual representation of MCDP2. This allows one to introduce an extra heuristic for the constraints that ensure that a part should be in the same cell as one of its machines, and vice versa. This model is an extension of MCDP3 that includes symmetry breaking (Gent & Smith, 2000) in order to reduce the search space. The idea is to force using cells in order e.g., if there is a machine assigned to cell k, then there must be a machine assigned to cell k 1. This model implements sets instead of single decision variables. It maintains the dual representation of MCDP2 and the extra heuristic of MCDP3. Additionally, it involves the use of the partitiona and all_differentb global constraints for speeding up the solving process.

MCDP4 MCDP5
a b

The partition global constraint forces to partition a given universe into disjoint sets. The alldifferent(X1, . . . , Xn) constraint species that the values assigned to the variables X1, . . . , Xn must be pairwise distinct (Rgin, 1994).

R. Soto et al. / Expert Systems with Applications 39 (2012) 1142311427 Table 4 Optimum values for CP and SAT (CS), simulated annealing (Sa), and particle swarm optimization (Pso). P Mmax = 8 Op 1 2 3 4 5 6 7 8 9 10 11 7 4 14 9 5 7 13 8 8 CS 11 7 4 14 9 5 7 13 8 8 Sa 11 7 5 14 9 5 7 13 13 8 Pso 11 7 5 15 10 5 7 14 9 9 Mmax = 9 Op 11 6 4 13 6 3 4 10 8 5 CS 11 6 4 13 6 3 4 10 8 5 Sa 11 6 4 13 6 3 4 20 5 5 Pso 11 6 4 13 8 3 5 11 8 8 Mmax = 10 Op 11 4 4 13 6 3 4 8 8 5 CS 11 4 4 13 6 3 4 8 8 5 Sa 11 10 4 13 6 3 4 20 8 5 Pso 11 5 5 13 6 3 5 10 5 7 Mmax = 11 Op 11 3 3 13 5 3 4 5 5 5 CS 11 3 3 13 5 3 4 5 5 5 Sa 11 3 4 13 7 3 4 11 8 5 Pso 11 4 4 13 5 4 5 6 5 7 Mmax = 12 Op 11 3 1 13 4 2 4 5 5 5 CS 11 3 1 13 4 2 4 5 5 5 Sa 11 3 4 13 4 3 4 7 8 5

11427

Pso 11 4 3 13 5 4 5 6 8 6

Table 5 Best times for solving 50 problems together. Test rank 1 2 3 4 5 Solver fzntini fzn2smt Gecode/fz Chuffed ECLiPSe/ic Best model MCDP3 MCDP5 MCDP4 MCDP1 MCDP4 Var. ord. occurrence anti_rst_fail occurrence Val. ord. max min max Total time 115.87 s 149.37 s 181.99 s 304.11 s 817.02 s

use of the dual representation and the extra heuristic (included in MCDP3, MCDP4, and MCDP5) allow a better propagation process, which positively impact the solving time. In the case of Fzn2Smt, Gecode/fz and Eclipse, the propagation process is boosted with the use of symmetry breaking (included in MCDP4 and MCDP5). 7. Conclusions In this paper, we have modeled and solved the cell formation problem by using state-of-the-art CP and SAT technology. We have implemented ve different models and we have tested them in ve solvers: two CP solvers, two SAT solvers, and a hybrid SAT+CP solver. The results demonstrated the feasibility of using this approach, as well as the good performance of the proposed models. Indeed, the global optimum was reached in all instances and in excellent runtime. The results illustrated here can clearly be extended by enhancing the solving engines with autonomous search. This will allow an automatic conguration of enumeration strategies with the aim of enhancing even more the propagation and as a consequence to obtain better solving processes. References
Aljaber, N., Baek, W., & Chen, C. (1997). A tabu search approach to the cell formation problem. Computers and Industrial Engineering, 32(1), 169185. Bessire, C. (2006). Handbook of constraint programming. Elsevier (pp. 2984). Boctor, F. (1991). A linear formulation of the machine-part cell formation problem. International Journal Production Research, 29(2), 343356. Boll, M., Suy, J., & Villaret, M. (2010). A system for solving constraint satisfaction problems with smt. In Proceedings of 13th international conference on theory and applications of satisability testing (SAT). Lecture notes in computer science (Vol. 6175, pp. 300305). Springer. Boulif, M., & Atif, K. (2006). A new branch-&-bound-enhanced genetic algorithm for the manufacturing cell formation problem. Computers and Operations Research, 33, 22192245. URL <http://portal.acm.org/citation.cfm?id=1139278.1139288>. Davis, M., Logemann, G., & Loveland, D. W. (1962). A machine program for theoremproving. Communication of the ACM, 5(7), 394397. Durn, O., Rodriguez, N., & Consalter, L. (2010). Collaborative particle swarm optimization with a data mining technique for manufacturing cell design. Expert Systems with Applications, 37(2), 15631567. Dutertre, B., & de Moura, L. M. (2006). A fast linear-arithmetic solver for dpll(t). In Proceedings of the 18th international conference on computer aided verication (CAV). Lecture notes in computer science (Vol. 4144, pp. 8194). Springer.

En, N., & Srensson, N. (2003). An extensible sat-solver. In Proceedings of the 6th international conference on theory and applications of satisability testing (SAT). LNCS (Vol. 2919, pp. 502518). Springer. Feydy, T., & Stuckey, P. J. (2009). Lazy clause generation reengineered. In Proceedings of the 15th international conference on principles and practice of constraint programming (CP). Lecture notes in computer science (Vol. 5732, pp. 352366). Springer. Gent, I. P., & Smith, B. M. (2000). Symmetry breaking in constraint programming. In Proceedings of the 14th European conference on articial intelligence (ECAI) (pp. 599603). IOS Press. Gomes, C. P., Kautz, H., Sabharwal, A., & Selma, B. (2008). Handbook of knowledge representation. Elsevier (pp. 89134). Gupta, Y., Gupta, M., Kumar, A., & Sundaram, C. (1996). A genetic algorithm-based approach to cell composition and layout design problems. International Journal of Production Research, 34(2), 447482. Huang, J. (2008). Universal Booleanization of constraint models. In Proceedings of the 14th international conference on principles and practice of constraint programming (CP). Lecture notes in computer science (Vol. 5202, pp. 144158). Springer. James, T., Brown, E., & Keeling, K. (2007). A hybrid grouping genetic algorithm for the cell formation problem. Computers and Operations Research, 34(7), 20592079. Kjellerstrand, H., & Soto, R. (2011). Manufacturing cell design models. <http:// www.inf.ucv.cl/rsoto/MCDP>, visited 11/2011. Kusiak, A., & Chow, W. (1987). Efcient solving of the group technology problem. Journal of Manufacturing Systems, 6, 117124. Lozano, S., Daz, A., Egua, I., & Onieva, L. (1999). A one-step tabu search algorithm for manufacturing cell design. Journal of the Operational Research Society, 50(5). Marriott, K., Nethercote, N., Rafeh, R., Stuckey, P. J., de la Banda, M. G., & Wallace, M. (2008). The design of the zinc modelling language. Constraints, 13(3), 229267. Nethercote, N., Stuckey, P. J., Becket, R., Brand, S., Duck, G. J., & Tack, G. (2007). MiniZinc: Towards a standard CP modelling language. In Proceedings of CP. LNCS (Vol. 4741, pp. 529543). Springer. Nieuwenhuis, R., & Oliveras, A. (2006). On sat modulo theories and optimization problems. In Proceedings of the 9th international conference on theory and applications of satisability testing (SAT). Lecture notes in computer science (Vol. 4121, pp. 156169). Springer. Nsakanda, A., Diaby, M., & Price, W. (2006). Hybrid genetic approach for solving large-scale capacitated cell formation problems with multiple routings. European Journal of Operational Research, 171(3), 10511070. Olivia-Lopez, E., & Purcheck, G. (1979). Load balancing for group technology planning and control. International Journal of MTDR, 19, 259268. Puget, J. (1994). A C++ implementation of CLP. In SCIS. Singapore. Purcheck, G. (1975). A linear-programming method for the combinatorial grouping of an incomplete set. Journal of Cybernetics, 5, 5158. Rgin, J.-C. (1994). A ltering algorithm for constraints of difference in CSPs. In Proceedings of the 12th national conference on articial intelligence (AAAI) (pp. 362367). Rossi, F. (2006). Handbook of constraint programming. Elsevier. Sankaran, S. (1990). Multiple objective decision making approach to cell formation: A goal programming model. Mathematical Computer Modeling, 13, 7177. Schulte, C., & Tack, G. (2006). Views and iterators for generic constraint implementations. In Recent advances in constraints (2005). LNCS (Vol. 3978, pp. 118132). Springer-Verlag. Selim, H., Askin, R., & Vakharia, A. (1998). Cell formation in group technology: Review, evaluation and directions for future research. Computers and Industrial Engineering, 34(1), 320. Shafer, S., & Rogers, D. (1991). A goal programming approach to cell formation problems. Journal of Operations Management, 10, 2834. Venugopal, V., & Narendran, T. T. (1992). A genetic algorithm approach to the machine-component grouping problem with multiple objectives. Computers and Industrial Engineering, 22(4), 469480. Wu, T., Chang, C., & Chung, S. (2008). A simulated annealing algorithm for manufacturing cell formation problems. Expert Systems with Applications, 34(3), 16091617.

S-ar putea să vă placă și