OPTIMIZING MODULAR MACHINING LINE DESIGN PROBLEM Sana Belmokhtar ∗ Alexandre Dolgui ∗ Xavier Delorme ∗ Ivan Ignatenko ∗∗ ∗
Division for Industrial Engineering and Computer Science Ecole des Mines 158 cours Fauriel 42023 Saint Etienne, France {belmokhtar,dolgui,delorme}@emse.fr ∗∗ Grodno State University 22 Ozhesko St 230023 Grodno, Belarus
[email protected]
Abstract: A generalization of modular transfer line designing problem is addressed. The problem is defined as a selection of a subset of modules from a given set and their arrangement into several stations respecting the technological and cycle time constraints. The objective is to minimize the line cost defined by the cost of the established stations and their modules. An approach based on mixed integer programming is proposed to tackle the problem. Experimental computations are c 2006 IFAC. reported to highlight the capacities of the model. Copyright ° Keywords: modular transfer line, optimization, mixed integer programming
1. INTRODUCTION New generation of manufacturing systems have to be modular to meet new market requirement (Dashchenko, 2003). Modularity brought many advantages as easy overhaul and fast reconfiguration (Mehrabi et al., 2000). It increased feasibility of product/component change, increased product variety, reduced lead time. Moreover it facilitates the introduction of new product or the use of new technology process. Although these benefits, a formal approach for modularity is still lacking (Kusiak, 1999). In this paper, an approach is suggested in order to configure/reconfigure modular manufacturing system when a set of available modules is known. The modules can be: 1) rehabilitated from an existant line in case of a redesign/reconfiguration (previous units), 2) newly designed after a special study, 3)
available on the market. The current study focuses on completely automatic machining lines where operations are performed with multi-spindle units. These lines consist in a series of stations disposed linearly without buffers in between. The parts are manufactured by the activation of all the machining units which equip the stations. The cycle time is determined by the execution time of the slowest station. Each part spend one cycle time at each station. Then, the transfer mechanism moves the parts to the next station where another cycle time is spend and so on until the last station. At each station the machining process is performed in several sequential stages, in each of them several spindle units are activated in parallel (all the stages of any station are performed without moving the part processed at the corresponding station). Thus, all the operations performed at the same stage are done simultaneously.
1998), (Rekiek et al., 2002) and (Scholl, 1999). Parallel execution of operations by spindle units makes SALBP methods inadequate to solve the considered problem. An equipment selection problem has been studied in (Bukchin and Tzur, 2000) and (Bukchin and Rubinovitz, 2002). The main difference is that only one type of equipment per station is considered. Moreover, the operations are executed sequentially at stations.
Fig. 1. A multi-stage machining station with 4 spindle units Figure 1 illustrates a station with three sequential stages. The cycle time begins when the first stage, materialized by its spindle unit, is positioned in front of the part. At this moment, the corresponding spindle unit is activated. Then, the second stage is positioned by a rotation of the mechanism. By the same way the operations of the second stage are performed by a simultaneous activation of the two parallel spindle units. Finally, the third stage is positioned where the last operation is executed. The problem considered remains in selecting a subset of spindle units and then assigning them to several stages partitionned into stations while respecting the technological constraints. The objective is to minimize the total cost which is estimated to be the sum of fixed cost of stations and costs of spindle units. The costs of spindle units could consider a part of the exploitation costs if they are known at this step of design. The rest of the paper is organized as follows: Section 2 presents a brief review on close problems in the literature. Section 3 gives a formal description of the problem as a Mixed Integer Program (MIP). Section 4 illustrates the problem by a small example. Experimental results are reported in Section 5. Finally, some perspectives and conclusion are given in Section 6.
2. RELATED WORKS The Simple Assembly Line Balancing Problem (SALBP) can be seen as a particular case of the studied problem. In SALBP a set of elementary operations has to be gathered in a minimal number of stations. Methods based on branch and bound algorithms (Johnson, 1988) and dynamic programming approaches (Held et al., 1963) have been proposed to solve it. Comprehensive surveys are presented in (Baybars, 1986), (Erel and Sarin,
Machining line design problems have been studied in (Dolgui et al., 2005a) and (Dolgui et al., 2005b). The objective was to minimize the total number of spindle units and stations with respect to several technological constraints. A Mixed Integer Program (MIP), heuristics and a decomposition approach have been suggested. However, these models can not be used to solve the current problem for the following reasons: - The mode of activation is different, in the cited works the spindles are executed sequentially. - Previously, all possible combinations of grouping operations were considered. So, spindle units were built during the optimization process. Therefore, solutions could provide unavailable spindle units. - The objective was to minimize the number of stations and spindle units. All equipment were supposed to have the same cost. In the current problem, each spindle unit has its own cost. The closest problem was studied in (Dolgui et al., 2004) for configuration of machining lines on the basis of a given set of spindle units. The case of parallel execution of blocks at station was considered. Obviously, the previous work is a special case of the new considered problem. In particular, the generalization concerns the following issues: - Previously, only one stage was considered per station whereas several sequential ones are considered at present. - In the case studied in (Dolgui et al., 2004) the cycle time was treated in a pre-processing by eliminating the spindle units which do not respect the cycle time. Due to the sequential activation of stages in a station, for the new problem the cycle time constraints should be added explicitly in the model. - In presence of several stages two levels of incompatibilities for spindle units should be considered, i.e. the inability of spindle units to be assigned: (a) to the same stage (b) to the same station.
In the next section, a formal description of the new defined problem with a mixed integer programm are presented.
3. FORMAL DESCRIPTION OF PROBLEM 3.1 Constraints Several constraints are considered in the proposed model. They are described as follows: • Each operation is performed once at the line; • The operating time of any station can not exceed the cycle time; • Precedence constraints exist between some operations and define a partial order; • There are constraints forbidding the assignment of incompatible spindle units: - to the same station, these constraints are named exclusion constraints. - to the same stage, the constraints are named parallelism constrains. • Constraints giving the imperative requirements for executing some operations on the same station are considered, they are named inclusion constraints; • The number of stages for each station is limited; • Constraints on the number of spindle units per station and on the number of stations at the line are taken into account.
3.2 Notations Notations are introduced as follows: • N = {1, . . . , n} is the set of operations that have to be performed on each part (drilling, milling, boring, etc.); • B = {br |br ⊂ N} corresponds to the set of all available multi-spindle units, where each is defined by the subset of operations it performs. For the sake of simplicity, the term block is used henceforth to refer to a spindle unit. Thus, the block br ⊂ N is said to contain the operations performed by the corresponding spindle unit; • cr and tr are respectively the cost and the execution time of block br ; • CS is the cost for any created station; • CT is the objective cycle time of the line to not exceed; • m0 and n0 are respectively the maximum number of stations which can be created and maximum number of assigned blocks at any station, respectively; • q0 is the maximal number of stages at any station ;
• The precedence constraints are represented over the set N by an acyclic oriented digraph Gor = (N, Dor ). An arc (i, j) ∈ N × N belongs to the set Dor if the operation j must be executed after the operation i; • The inclusion constraints are represented by a collection Dos of subsets of operations from N such that all operations of the same subset from Dos must be performed at the same station; • The exclusion constraints are represented by a collection Dbs of subsets Dl ⊆ B such that all blocks from the set Dl cannot be assigned all together at the same station. But any subset strictly included in any Dl can be assigned to the same station; • The parallelism constraints are represented by a collection Dpb of subsets Dp ⊆ B such that all blocks from the set Dp can be assigned to the same stage of a station. Each station k = 1, . . . , m0 is represented by the set of its different stages {sk1 , . . . , skq0 , } and consequently the line can be represented by L = m0 0 {s11 , . . . , s1q0 , . . . , sm 1 , . . . , sq0 }. Furthermore, Q(i) = {br ∈ B|i ∈ br } is defined to be the set of all blocks from B performing the operation i ∈ N. The decisions variables are as follows: 1 if block br ∈ B is assigned to stage skj , k = 1, . . . , m0 ; xrjk = 0 otherwise. 1 if station k is opened, k = m∗ + 1, . . . , m0 ; yk = 0 otherwise. where m∗ is a lower bound on the number of stations to be established. Since it is sure to establish m∗ stations, the variables yk started from m∗ + 1. ctkj are continuous variables defining the execution time of the stage skj . 3.3 MIP model The objective function is expressed as follows: m0 X
Minimize
CSyk +
k=m∗ +1
|B| m0 qk X XX
cr xrjk (1)
r=1 k=1 j=0
Constraints (2) ensure for each operation from N its execution in only one station: X r=1,...,|B|, br ∈Q(i)
q0 m0 X X k=1 j=0
xrjk = 1,
∀i ∈ N
(2)
The precedence constraints are expressed by (3): j−1 k X X
X
xslh ≥
h=1 l=1
s=1,...,|B|,
X
xrjk
r=1,...,|B|,
bs ∈Q(a)
(3)
br ∈Q(b)
∀(a, b) ∈ Dor , ∀j = 2, . . . , q0 , ∀k ∈ 1, . . . , m0 The inclusion constraints for operations are given by: q0 X
X s=1,...,|B|,
xslk =
l=1
X r=1,...,|B|,
bs ∈Q(i)
q0 X
xrjk
j=1
(4)
br ∈Q(j)
∀(i, j) ∈ Dos , ∀k ∈ 1, . . . , m0 The exclusion constraints for blocks are respected if: q0 X
X r=1,...,|B|,
xrjk ≤ |Dl | − 1,
j=1
(5)
br ∈Dl bs
∀Dl ∈ D , ∀k ∈ 1, . . . , m0 The maximal number of blocks by station is respected by: |B| q0 X X
xrjk ≤ n0 ,
∀k = 1, . . . , m0
(6)
r=1 j=1
The constraints of parallelism are formulated as follows: X
xsjk ≤ (1 − xrjk )n0 ,
s=1,...,|B|,
(7)
6∃Dp ∈D pb ,{bs ,br }⊂Dp
∀r = 1, . . . , |B|, ∀k = 1, . . . , m0 , ∀j = 1, . . . , q0 The cycle time constraints are given by: tr xrjk ≤ ctkj , ∀r = 1, . . . , |B|, ∀k, 1, . . . , m0 , ∀j = 1, . . . , q0 , q0 X
ctkj ≤ CT,
∀k = 1, . . . , m0
(8) (9)
j=1
The following constraints are added in order to forbid empty stations when building solutions: yk−1 − yk ≥ 0,
k = m∗ + 2, . . . , m0
3.4 Variables reduction In (1)-(11), the blocks can be assigned to all 0 stages [s11 , sm q0 ]. Each variable corresponds to a possible assignment. The number of variables can be minimized by exploiting the structure of the data. In particular, the precedence and inclusion constraints can be used to eliminate some possible assignments. So, the idea is to eliminate the variables by reducing the interval of possible assign0 ments to [headr , tailr ] ⊆ [s11 , sm q0 ]. For instance, a block which has at least one predecessor could not be assigned to the first stage of the first station (headr >= s12 ). Thus, the variable corresponding to the assignment to s11 can be omitted. This principle is tightened by adjusting the interval of operations involving by the inclusion constraints. The algorithm used for the model (1) − (11) to compute the headr is reported bellow. To obtain the tails the precedence graph should be reversed and the same is used again to obtain the transition variable head0r for each block br . Then for all blocks br , tailr = m0 + 1 − head0r . Algorithm for computation of headr Step1. For all (j ∈ N) ub(j) = rank(j)∗ endFor nimp = 0 Step2. Set impub = 0 Step3. For all (Dt ∈ Dos ) um = max{ub(j) | j ∈ Dt } endFor For all (j ∈ Dt ) ub(j) = um endFor Step4. For all (j ∈ N) uj = max{ub(i) + 1 | i ∈ P red(j)} endFor If (uj > ub(j)) then ub(j) = uj impub = impub + 1 endIf Step5. Set nimp = nimp + 1 If (nimp > |N|) then stop (there is no feasible solution) endIf If (impub > 0) then goto Step2. endIf Step6. Set headr = max{ub(j) | j ∈ br } ∀br ∈ B Step7. Set m∗ = max{ub(j) | j ∈ N} ∗ rank(j) is the rank of operation j in the precedence graph Gor
(10) 4. AN ILLUSTRATION EXAMPLE
yk ≥ xrjk , ∀r = 1, . . . , |B|, k ≥ m∗ + 1, ∀j = 1, . . . , q0
(11)
A set of 5 operations has to be performed, i.e. N = {1, . . . , 5}. The different spindle units available to
perform the operations are described in Table 1. The cost of a station is 250 and the cycle time has not to exceed 30. The upper bound on the number of stations is 3 and there is maximum 2 stages per station. Table 1. Spindle units description br b1 b2 b3 b4 b5 b6 b7 b8
operations 1 2 3 1,2 1,3 1,2,3 4 5
2
tr 5.4 7.8 12.8 8.6 8.6 8.6 12.5 6.8
cr 14.5 16.9 18.7 25.4 30.6 41.4 11.4 16.5
3
headr s12 s11 s12 s12 s12 s12 s11 s12
4
tailr s32 s31 s32 s31 s32 s31 s31 s32
5
blocks could be incompatible. In this case, the constraints can be represented by an hyper-graph. A feasible solution for the instance described bellow is defined by L = {s11 , s12 , s21 , s22 } where block b1 and b2 are assigned to stage s11 , block b3 to s12 , block b7 to s21 and block b8 to s22 . The cost of this solution corresponds to the cost of 2 stations: 2 × 250 which is added to the cost of all assigned blocks: c1 , c2 , c3 , c7 and c8 i.e: 14.5 + 16.9 + 18.7 + 11.4 + 16.5. The cycle time of the line is defined by the slowest station: for the first station the execution time is the addition of the times of stage 1 and 2. The time of stage 1 is determined by the maximum operating time between t1 and t2 which is t2 = 7.8. The time of stage 2 is t3 = 12.8. Thus, the time of station 1 is equal to 20.6. The time of the second station is 12.5+6.8=19.3. Therefore, the actual cycle time is 20.6.
Fig. 2. Precedence graph Gor 5. EXPERIMENTAL STUDY The precedence graph Gor given in Figure 2 represents the partial relation between operations 2 and 3 and between operation 4 and operation 5. Thus, operations 2 can not be performed at the same stage than operation 3, for example. 1
3
Fig. 3. Inclusion constraints Gos The inclusion graph Gos corresponds to the collection Dos (see Figure 3). Therefore, operations 1 and 3 must be assigned on the same station.
In this section, computation studies are reported. The model has been implemented with ILOG Cplex 9.0 which use a Branch and Cut. The computations run on a Pentium 4 with 2.8 Ghz and 448 Mo of RAM. The aim is to study the influence of some characteristics of the problem on the global performance of the algorithm. More precisely, the impact of number of operations |N| and the density of the precedence graph are observed. The density is defined as the ratio between the number of edges in the digraph Gor and the number of edges in the corresponding complete graph (the graph with the same vertices and all possible edges). Table 2. Computational results
b1
b2
Fig. 4. Parallelism graph Gbp The graph Gbp (see Figure 4) provides the parallelism possibilities described previously by Dpb . For instance, the blocks b1 can be with only b2 in parallel at the same stage. In others words, b1 should not be assigned to the same stage than other blocks br , r = 3, . . . , 8. b5
b8
b4 bs
Fig. 5. Exclusion graph G
The incompatibility between blocks are given by Dbs . They are represented in Gbs (see Figure 5), where the blocks b5 and b8 should not be at the same station. Similarly for blocks b8 and b4 . For this exemple, there are only couples of incompatibilities, so a graph can be used. Nevertheless, the model considers the general case where several
|N| |B| minT maxT avgT median avg nodes avg vars
20 40 6.2 34.4 12.2 10.2 70.5 120.9
30 60 111.2 14400 3719.5 1186.39 1940.4 509.2
50∗ 100 15.7 14400 4359.29 1631.64 97758.5 1439.7
60∗ 120 216.15 14400 11697 641.8 14758.6 2055
∗
For two instances on the ten the proof of the optimality has not been achieved
Table 3. Influence of density of precedence graph Density(Gor ) Density(Gor ) minT maxT avgT min nodes max nodes avg nodes avg vars
|N| = 20, |B| = 40 ∈ [0.05, 0.1] ∈ [0.2, 0.5] 1.35 0.9 264.41 152.09 83.69 22.05 16 62 8481 2248 3354.5 3221.7 634.3 391.8
≥ 0.55 0.16 14.08 3.1 0 435 103.1 235.4
The results are reported in Table 2. Each column corresponds to one family of ten instances generated randomly which are described by their number of operations |N| and number of blocks |B|. The rows minT, maxT, avgT and median provide respectively the minimum, maximum, average and median of the running time in seconds for the corresponding family. min nodes, max nodes and avg nodes provide respectively the minimal, maximal and average number of nodes developed in the Branch and Cut for each corresponding family. avg vars provides the average number of variables in the families. From Table 2 it is observed that when the size of instances increases (20 to 30 operations) the size of the tree increases (in average it goes from 70.5 to 169499 nodes) due to the growing of the number of variables. By the same way, the computation time increases from 0.5 to more than 14400 seconds (for two instances with 50 and two with 60 operations the run was stopped). Table 3 presents the computations results on three families of instances with the same characteristics (the chosen values are |N| = 20, |B| = 40) while varying the density of precedence graph. As the density of precedence graph grows a decrease of the running time is noticed. When the density is high (precedence graph is dense), few possibilities for assignments of blocks to stations become feasible. Thus, leading to a smaller size of the tree which is measured by the average number of nodes.
6. CONCLUSION In this paper, the problem of configuration / reconfiguration of modular machining lines is addressed. A set of spindle units has to be selected from a given set. They have to be partitioned into several serial stages of different stations. A feasible assignment should respect several constraints as: precedence, inclusion, incompatibility and cycle time. The objective is to minimize the total cost estimated as the cost of station and the costs of the selected spindle units. The costs considered are the fixed costs but exploitation costs could also been considered. An exact approach based on mixed integer programming is suggested. Such approach is not limited to automatic machining transfer lines but can be easily extended to any flow line with mixed (sequential and parallel) execution of operations. Computation results obtained using Cplex are promising. Problems with up to 60 operations and 120 blocks have been solved to optimality (although the proof was not obtained for four instances of them). Nevertheless, the model could still be improved by integrating bounds on the objective. Furthermore, applying
cutting plan by finding valid inequalities for the specific structure of the problem should improve the results. Acknowledgement The authors would appreciate the support of the project INTAS project N 03-51-5501. REFERENCES Baybars, I. (1986). A survey of exact algorithms for the simple line balancing problem. Management Science 32, 909–932. Bukchin, J. and J. Rubinovitz (2002). A weighted approach for assembly line design with station paralleling and equipment selection. IIE Transactions 35, 73–85. Bukchin, J. and M. Tzur (2000). Design of flexible assembly line to minimize equipement cost. IIE Transactions 32, 585–598. Dashchenko, A. (2003). Manufacturing Technologies for Machines of the Future 21st Century Technologies. Springer. Dolgui, A., B. Finel, N. Guschinsky, L. Levin and F. Vernadat (2005a). An heuristic approach for transfer lines balancing. Journal of Intelligent Manufacturing 16(2), 159–171. Dolgui, A., B. Finel, N. Guschinsky, L. Levin and F. Vernadat (2005b). MIP approach to balancing transfer lines with blocks of parallel operations. IIE Transactions. (in Press). Dolgui, A., N. Guschinsky, G. Levin, M. Louly and S. Belmokhtar (2004). Balancing of transfer lines with simultaneously activated spindles. In: C. Pereira, G.Morel, Information Control Problems in Manufacturing: A Proceedings Volume of the IFAC Symposium. Elsevier. (In Press). Erel, E. and S.C. Sarin (1998). A survey of the assembly line balancing procedures. Production Planning and Control 9(5), 414–434. Held, M., R.M. Karp and R. Shareshian (1963). Assembly line balancing dynamic programming with precedence constraints. Operations Research 11, 442–459. Johnson, J.R. (1988). Optimally balancing large assembly lines with fable. Management Science 34, 240–253. Kusiak (1999). Enginnering Design: Products, Processes, and Systems. Academic Press. Mehrabi, M.G., A.G. Ulsoy and Y. Koren (2000). Reconfigurable manufacturing systems: Key to futur manufacturing. Journal of Intelligent Manufacturing 11, 403–419. Rekiek, B., A. Dolgui, A. Dechambre and A. Bratcu (2002). State of art of assembly lines design optimisation. Annual Reviews in Control 26(2), 163–174. Scholl, A. (1999). Balancing and Sequencing of Assembly Lines. Physica-Verlag Heidelberg.