Industrial Engineering and Computer Sciences Division (G2I) ... transfer lines [12] and [14] which are often used in automotive industry. These lines are required ...
Industrial Engineering and Computer Sciences Division (G2I)
AN INTEGER PROGRAMMING MODEL FOR LOGICAL LAYOUT DESIGN OF MODULAR MACHINING LINES S. BELMOKHTAR, A. DOLGUI N. GUSCHINSKY, G. LEVIN Novembre 2005
RESEARCH REPORT 2005-500-018
An integer programming model for logical layout design of modular machining lines
Sana Belmokhtar1 , Alexandre Dolgui1 , Nikolai Guschinsky2 and Genrikh Levin2 1
Scientific Methods for Industrial Management Dept. (MSGI) Industrial Engineering and Computer Science Division (G2I) Ecole des Mines de Saint Etienne 158, cours Fauriel, 42023 Saint Etienne Cedex 2, France E-mail: {belmokhtar,dolgui}@emse.fr 2 United Institute of Informatics Problems National Academy of Sciences of Belarus Surganov Street 6, 220012 Minsk, Belarus E-mail:{gyshin, levin}@newman.bas-net.by
Abstract The problem of designing a modular manufacturing lines is addressed. The modules are multi-spindle units and each unit executes simultaneously a subset of operations. This paper presents an approach to select the right spindle units and to arrange them into linear workstations. Our objective is to design such lines respecting technological constraints by minimizing the investment cost, which takes into account the fixed costs of workstations and spindle units. The set of all available spindle units and their costs is known. An approach based on integer programming (IP) is suggested and two models
1
are developed. Experiments were carried out which highlight the IP models capacities and limits.
1
Introduction
The work presented in this paper was carried out in conjunction with the European Project INTAS 03-51-5501. An industrial partner proposed to develop a decision aided system to solve cost effectively the problem of designing machining lines. The analyze of the problem and literature conducted us to the following conclusions: 1) the design problem is close to assembly line balancing problem; 2) few methods exist to solve line balancing problems in machining/process environment; 3) as far as can be determined, there aren’t methods for line balancing with parallel operations; indeed, the considered industrial problem deals with the multi-spindle station machining lines, so, the grouping operations for simultaneous execution by the same station is a crucial issue here. Because of these issues, our motivations for this research are the following: 1. To open a new area for applications of line balancing methods. Indeed often line balancing methods are studied in the assembly environment. This problem is an opportunity to extend this approach to machining/process environment. 2. To generalize SALBP when several operations can be executed in parallel at the same station. Indeed, a large number of actual industrial problems cannot be solved with the standard SALBP methods due to the fact that SALBP covers only sequential execution of operations. 3. To broaden SALBP when operation costs depend on where the corresponding operation is executed and in which combination. The assumption of SALBP 2
concerning the same cost of operations for all stations and assignments is too restrictive for some industrial applications. 4. To show how the available mathematical programming solvers (ILOG Cplex, XpressMP, etc.) can be used to solve exactly this problem with acceptable calculation time. This software is now accessible for both industrial and academic communities. However, if efficient solutions are sought then an effort in the mathematical modeling have to be accomplished. This is a promising research issue. Let’s examine the core of our research project. Our interest focuses on machining transfer lines [12] and [14] which are often used in automotive industry. These lines are required when there is a need for high machining precision and productivity [5]. Such a line consists of a series of machining workstations. Each workstation activates one or several spindle units which perform simultaneously a fixed set of operations. The parts to be manufactured are moved further down the line on a common transfer mechanism (most often this is a conveyor). The downtime of one station causes the whole line to come to a halt and thus the output is reduced to zero. An illustration of such a line is given in figure 1 composed of 3 workstations with the line flow from bottom to top. The first workstation is equipped with two opposing spindle units: the left unit with two spindles and the right with only one spindle. The second workstation is single unit station situated to the left of the conveyer. This unit consists of two spindles. Finally, the last station composed of one horizontal spindle unit (on the left) and one vertical unit (on the right). The activation of spindle units is simultaneous (in parallel) at workstations. Moreover, the execution of one spindle unit leads to a simultaneous execution of the 3
Figure 1: Machining line with multi-spindle stations corresponding operations. Thus, all operations performed at the same station are done simultaneously. These multiple operating tools activated in parallel increase the throughput relatively to the serial production systems (where the spindles are activated in sequence). In [18] several configurations are examined where the parallel one is shown to have the highest throughput and the best characteristics for scalability. The modular machining lines are advantageous: maintenance and overhaul are easier, installation is rapid and reconfiguration become possible [22]. Moreover, this type of line is a very profitable system, reliability is higher and fewer spare parts 4
are required. Usually, for these lines, the set of all available spindle units (standard modules) is known. A library of available modules is constructed on the basis of: market analysis; previous units; complementary unit design studies. Then, armed with this knowledge, we study the design a logical line layout when a set of available spindle units is known beforehand. We assume that the average cost of one station and of each available spindle unit are known. Designing a logical layout corresponds to a selection of a subset of spindle units from the library and grouping them into workstations to build a line for machining a given product. An operation can usually be performed by different available spindle units (listed in the library), the aim is to choose the best one to perform each operation. The objective is to minimize the total investment cost composed of stations and spindle unit costs.
2
State of the art
This design problem can be seen as belonging to family of Line Balancing problems. The Simple Assembly Line Balancing Problem (SALBP) deals with elementary operations which are executed sequentially at workstations. We refer to [1], [9], [28] and [29] for comprehensive survey. Many research have been achieved to develop effective solutions to solve exactly the SALBP, they are often based on branch and bound algorithms [15] and dynamic programming approaches [13]. In this frame, a stream of efforts have been made to develop efficient lower bounds based on known bounds for both bin packing [21] and one machine scheduling [15]. Since the problem is known to be NP-hard [16] and [29], exact resolution is applicable only for moderately sized problems. For the larger problems, two types of heuristics have been suggested: constructive ones based on priority rules [31] (a multiple-rule heuristic is presented in [2]) and metaheuristics as genetic algorithms [17], [26] and tabu search 5
[19]. For neighborhood search, all search based on shifts and swaps are reported in [23] and [27]. Usually, the SALBP is studied in an assembly environment. A few works have been achieved on the line balancing problem for machining/process environment. In [30], the problem of machining line balancing is investigated where the times of operations are not constant but are functions of the cutting modes. Thus, the SALBP is solved jointly with the selection of cutting modes. Nevertheless, the considered problem in this paper of designing modular machining lines cannot be directly solved by the cited procedures for the following reasons: 1. A spindle unit executes often more than one operation simultaneously. 2. There are often more than one available spindle units to execute each operation but only one should be chosen for a design solution. 3. The activation of spindle units is simultaneous at workstations. 4. The objective is to minimize the investment cost which takes into account not only the number of workstations but also their cost and the cost of spindle units used. Optimization of line balancing simultaneously with equipment selection are studied in [3] [4] [10] and [11]. The goal of Line Balancing with Equipment Selection is minimizing the line cost by assigning simultaneously operations and pieces of equipment to workstations. The objective is to minimize the total equipment cost. Beyond the differences (1) and (3) cited above, our case considers several equipments (i.e. spindle units) which are assigned to each workstation whereas only one type of
6
equipment is considered in the cited works. Therefore, the known methods of the literature can’t be applied directly to solve the considered problem. The most similar problems are studied in [6] and [7]. Nevertheless, two main differences remains in: a) all the combinations of operations are considered without regarding to the availability of the resulting modules; b) spindle units work in a sequential way at workstations and the objective is to minimize a weighted sum of the number of workstations and spindle units. Three approaches have been suggested: an integer programming (IP) [6] and [7], heuristics [6] and a decomposition of the problem into sub problems which are solved exactly [7]. These models can’t be used to solve the problem studied in this paper for the following reasons: • All the combination of grouping operations are considered in cited works, then blocks of operations (which corresponds to the spindle units performing this subset of operations) are build during the optimization process. This leads to solutions containing spindle units which may not be available. In the new problem, only the set of available spindle units is considered and therefore all solutions can be realized. • Due to the sequential order of activation of spindle heads at workstations, solutions provided by the last proposed methods are not necessary valid for the new problem. Operations related with precedence constraints can be performed on the same station by different serial spindle units whereas they do in parallel in the considered problem. • In the previous works the authors are interested to minimize the number of stations and the blocks and ignored the dependence of the spindle head cost on the set of operations performed (it is supposed that all equipments have the 7
Figure 2: General approach for decision making
same cost). This assumption leads to solutions where the number of spindle units is minimal but not necessary with the minimal cost which is reached by the considered objective in this paper. In fact, the models in [6] and [7] can be considered as only a preliminary step of analysis. With these models we can obtain a set of possible spindle units for the considered problem. In this paper, we consider the lines where all the blocks at the same station are executed simultaneously and a set of available spindle units is known in advance (library of modules). We developed the IP models for the design of these modular machining lines. A diagram of the design approach using our IP models is presented in figure 2 [8]. This is integrated in a holistic approach for line design which is similar to the framework of modular line design suggested in [32].
8
The rest of the paper is organized into four sections. In Section 3, two integer programs are presented for this problem. Section 4 offers some improvements on the models by reducing their size. Section 5 deals with the experimental study. Finally, Section 6 contains the conclusion.
3
Integer Programming Models
3.1
Notations and data
Notations as well as our specific assumptions are: - N = {1, . . . , n} is the set of operations that have to be performed on each part (drilling, milling, boring, etc.). - B = {bj |bj ⊆ N} corresponds to the set of all available multi-spindle units, where each is defined by the subset of operations it performs. A block br is physically composed of one or several tools performing simultaneously corresponding operations. For the sake of simplicity, the term block is used henceforth to refer to a multi spindle-unit. Thus, the block br ⊆ N is said to contain the operations performed by the corresponding multi-spindle unit. - qr is the cost of block br ; - Cs is the average cost for any created workstation; - m0 and n0 are the maximum number of workstations which can be created and maximum number of blocks which can be assigned to any workstation, respectively;
9
It is assumed that the following constraints are known: i) the precedence relations between operations, ii) the exclusion conditions for blocks and iii) the inclusion constraints for operations to be executed at the same workstation. These are defined as: 1. Precedence relations impose an order which should be respected between some operations. For example, before drilling or boring one part a jig boring should be performed. A jig boring consists in making a notch when ”true position” locating is required. The order relation over the set N can be represented by an acyclic 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. 2. Exclusion conditions correspond to incompatibility between some operations, e.g. it can be the inability to activate some tools on the same workstation. The same kind of constraints have been already studied in [24] where the assignment of tasks may be restricted by some incompatibilities, minimum or maximum distances in terms of time or space between stations performing a pair of tasks (or subset) are taken into account. In our case, this incompatibility is extended to blocks such that blocks involving incompatible operations are not allowed to be assigned at the same workstation. The constraints are represented by a collection Dbs of subsets Dl ⊆ B such that all blocks from the set Dl cannot be assigned to the same workstation. But any subset strictly included in Dl can be assigned to the same workstation. 3. Restriction related to operations which have to be executed on the same station are refereed as inclusion relations. For example, if a precise distance is required between two holes, the operations corresponding to their drilling should be performed at the same workstation. If these operations are performed on 10
different workstations, due to the part moving from one station to another, the chance of drilling the second hole at the correct distance from the first becomes slight. The inclusion conditions can be represented by a family Dos of subsets Dt ⊆ N such that all operations of the same subset Dt from Dos should be performed at the same workstation. In [25] similar restrictions are considered, these operations are introduced as one operation. Beyond the possibility of merging the operations, we also consider the case when operations can be performed separately with different spindle units (if such tools are available in the library). Let introduce a small example to illustrate the constraints. For this, the set of operations N = {1, . . . , 6} and the set of blocks B = {b1 , . . . , b8 } where b1 = {1, 3}, b2 = {1, 3, 4}, b3 = {1, 4}, b4 = {3}, b5 = {5}, b6 = {6}, b7 = {2, 6}, b8 = {2}. The © ª precedence constraints are: Dor = (1, 6), (1, 2), (1, 5) . The inclusion constraints © ª are given by: Dos = {1, 3} and the exclusion constraints are represented by: © ª Dbs = {b3 , b5 }, {b1 , b5 }, {b2 , b5 } . An admissible solution for this problem is shown in figure 3 where all the constraints are fulfilled. The most often different solutions with the same cost can exist, for this example it might be a structure such that blocks b2 and b7 are assigned to the first station and b5 is in the second station. However, in this case the configuration violates two precedence constraints: (1, 2) and (1, 6). In the next sections two integer programs are presented for the considered problem. For both programs we need to define the interval where each block can be assigned. Thus, we introduce it as follow: K(r) = [headr , tailr ] ⊆ [1, m0 ] is the interval of the workstation indices where the block br ∈ B can be assigned. The headr is the earliest station where block br can be assigned and tailr is the last: headr and tailr values are computed on the 11
Station 1
Station 2
b2 = {1, 3, 4}
b5 = {5}
part i+1
part i
b7 = {2, 6}
Figure 3: A feasible solution basis of problem constraints. Obviously, the number of decision variables is directly proportional to the width of the interval K(r).
3.2
First Integer Program (IP1)
To give a formal statement of the Integer Program, the following variables and additional parameters are introduced: - Decision variables xrk are defined as follows: 1 if block br ∈ B is assigned to station k, k = 1, . . . , m0 ; xrk = 0 otherwise. - y is the decision variable for the number of created workstations; The definition of the following parameters have been studied to model effectively the set of constraints. This step in neither obvious nor straightforward and integrate some preliminary analyses by exploiting the special structure of the input data. - Two subsets of blocks are distinguished: those containing some common operations (no empty intersection) and those without common operations. These sets are defined as follows: 12
i) F = {F1 , . . . , Fv } is a collection of subsets of B such that: - ∀br , bt ∈ Fs and s ∈ [1, v] =⇒ br ∩ bt 6= ∅ ; - ∀(br , bt ) ∈ B × B and |br ∩ bt 6= ∅ =⇒ ∃s ∈ [1, v] such that br , bt ∈ Fs ; Fs is a subset containing of blocks at least one operation in common. ii) F0 = B\
S s∈[1,v]
Fs , F0 is the set blocks without operations in common
with others. Hence, each block from F0 is the only block performing its operations. Evidently, these blocks are included in any admissible solution. - wrt =| br ∩ Dt | and Wt = {br ∈ B | wrt > 0}, ∀br ∈ B and Dt ∈ Dos . Thus, for each subset Dt (inclusion constraint) corresponds a set Wt containing all blocks of operations which deal with the Dt . - Uti = {br ∈ B | i ∈ br }, ∀i ∈ Dt , ∀Dt ∈ Dos . Thus, for each operation i ∈ Dt corresponds a set Uti containing all blocks performing the operation i. - M (r) is the set of operations i ∈ N\br such that ∃j ∈ br and (i, j) ∈ Dor . Therefore, M (r) is the set of operations which precede the operations of the block br . - H = {br ∈ B | M (r) 6= ∅} is the set of all blocks which has at least one operation-predecessor. - H(r) = {bt ∈ B | bt ∩ M (r) 6= ∅}, ∀br ∈ B. H(r) is the set of blocks which precede br , i.e. the blocks which perform the predecessors of the operations performed in br . - htr =| bt ∩ M (r) | for r ∈ H and t ∈ H(r). This parameter represents the number of operation-predecessors of block br contained in the block bt . 13
- B ∗ is the subset of B that can be assigned to the last workstation of the line. - m∗ is a lower bound of the number of workstations to create. The goal function expresses the total fixed cost of the line which is the sum of the cost of creating workstations and the fixed cost of blocks assigned to them. Thus, the function considers only the investment costs and is given by the following expression: Minimize Cs y +
|B| m0 X X
(qr + εk)xrk
(1)
r=1 k=1
where ε is a sufficiently small nonnegative value. This parameter was added in order to privilege some solutions over others. Indeed, several solutions can exist with the same cost, but for each solution, blocks are assigned to the workstations differently. The ε technique reduces computation time by considering for each set of solutions which have the same cost, just the solution which assigns the blocks to the earliest possible workstation. The following two constraints ensure the execution of every operation from N in at most one workstation. The constraint (2) deals with blocks which have no common operations. X
xrk = 1,
∀br ∈ F0
(2)
k∈K(r)
The constraint (3) deals with operations for which there are several blocks, this constraint forbids the choice of more than one block in conflict. Due to the constraint which ensure the exactly once execution of each operation, there will be just one block selected from those able to perform this operation. X X
xrk ≤ 1,
br ∈Fs k∈K(r)
14
∀s ∈ [1, v]
(3)
Constraint (4) obliges the execution of all the operations from the set N in exactly one workstation:
X X
| br | xrk =| N |
(4)
br ∈B k∈K(r)
The order relations between operations over the set N are respected by constraint (5) which ensures the assignment of predecessors to earlier stations: X
X
htr xts ≥ |M (r)|xrk ,
∀br ∈ H, ∀k ∈ K(r)
(5)
bt ∈H(r) s∈K(t),s m0 n0 . bi ∈B 0
In particular these conditions are fulfilled if ∃i ∈ N\br such that bs ∩br 6= ∅ for any block bs from B including the operation i. In the first three cases, precedence constraints are violated if block br is selected. In the last case, if the block br is chosen, then the operation i cannot be executed at the line. 2. A subset D is deleted from Dbs if |D| > n0 . Actually, no more than n0 blocks can be assigned at each station. The constraint given by D is automatically respected and it can be omitted to avoid redundancy. There are another types of constraints which can be deleted. More precisely, if there are br , bs ∈ Dl , Dl ∈ Dbs such that br ∩ bs 6= ∅. These blocks can’t be assigned at the same station because of the common operations they perform. Therefore, the constraints which forbid assignment of these blocks to the same workstation can be omitted, since the blocks are mutually exclusive in any feasible 18
solution, see constraint 3. 3. Intersecting subsets from Dos can be merged. By definition, a subset of Dos corresponds to operations which should be executed at the same workstation. If two subsets have operations in common, then the operations of both subsets have to be performed at the same workstation and could be merged into one subset. This coherence checking of the input data removes some elements which can’t be present in any admissible solution. Nevertheless, some conditions have to be fulfilled in order to get a feasible solution. They are cited in the next section.
4.2
Feasibility checking
The following conditions are necessary for the feasibility of the problem formulated by (1)-(9): -
S
r=1,...,|B| br
=N
- The precedence digraph (N, Dor ) is acyclic. - For all Dt ∈ Dos there exists B0 ⊆ B of pairwise disjoint blocks such that: - |B0 | ≤ n0 and Dt ⊆
S
br ∈B0 br
- D0 6⊂ B0 for all D0 ∈ Dbs / Dor for all i, j ∈ - (i, j) ∈
S
br ∈B 0 br
Further improvements can be achieved. The model size can be reduced by reducing the interval [headr , tailr ], as well as by obtaining a better lower bound on the number of workstations to be created, i.e. m∗ . 19
4.3
Model reduction
Algorithm 1 is suggested in order to decrease the length of K(r) = [headr , tailr ] for each block br . The main idea is: 1) to compute the earliest station for each operation; and then 2) to find the earliest station for blocks by considering first the precedence constraints and finally inclusion constraints. Step1. For all (j ∈ N)
ub(j) = 1;
nimp = 0; Step2. Set impub = 0; Step3. For all (Dt ∈ Dos )
um = max{ub(j) | j ∈ Dt };
For all (j ∈ Dt ) Step4. For all (j ∈ N)
ub(j) = um ; uj = max{ub(i) + 1 | i ∈ P red(j)}
if uj > ub(j) then ub(j) = uj ; impub = impub + 1 end Step5. Set nimp = nimp + 1; if nimp > |N| then stop (there is no feasible solution) end if impub > 0 then goto Step2. end Step6. Set headr = max{ub(j) | j ∈ br } for each br ∈ B; Step7. Set m∗ = max{ub(j) | j ∈ N} Algorithm 1: Computation of heads headr
20
To obtain the tailr of any block br , the following substitutions in this algorithm are necessary: - The graph (N, Dor ) is reversed and the same algorithm is applied for all blocks br ∈ B to get head0r ; - Then for all blocks br ∈ B, tailr = m0 + 1 − head0r . As shown in the above algorithm, the lower bound m∗ on the number of workstations is equal to the maximum among the earliest station indices for operations. Since all operations have to be performed, the line can’t have less than this number of workstations. A set B∗ of blocks without successors satisfying the following conditions can be accepted as an ’upper bound’ of the set of blocks that can be assigned to the last workstation: for any Dt ∈ Dos either br ∩ Dt = ∅ or there is B0 ⊆ B∗ of S mutually disjoint blocks such that br ∈ B0 , |B0 | ≤ n0 and Dt ⊆ br ∈B0 br .
4.4
A numerical example
Let’s illustrate the problem by an example of machining line design for producing the part shown in figure 4. This is a simplified real life example. The operations and constraints are real. The costs have been modified. There are 14 operations and 21 blocks, described in table 1 and 2. The station cost is 15500. The precedence constraints are as follow : Dor = {(3, 4), (4, 5), (6, 7), (7, 8), (9, 10), (1, 11), (2, 11), (5, 11), (8, 11), (10, 11), (13, 11), (12, 13), (1, 14), (2, 14), (5, 14), (8, 14), (10, 14), (13, 14)}. © The exclusion constraints are: Dbs = {5, 8}, {6, 8}, {9, 8}, {1, 7}, {2, 7}, {3, 7}, {4, 7}, {5, 7}, {6, 7}, {10, 7}, {11, 7}, {13, 7}, {14, 7}, {15, 7}, {16, 7}, {17, 7}, {18, 7}, {19, 7}, {20, 1}, {20, 2}, {20, 3}, {20, 4}, {20, 5}, {20, 6}, {20, 10}, {20, 11}, {20, 12}, 21
b)flat shaded
a)wireframe
Figure 4: Body 3D model (Mechanical Desktop) number
type of operation
1
Drill hole H1
2
diameter
number
type of operation
diameter
® 14
8
Ream hole H4
® 10
Drill hole H2
® 14
9
Drill hole H5
® 10.2
3
Drill hole H3
® 9.8
10
Countersink facet hole H5
® 13.2
4
Countersink facet hole H3
® 12
11
Tap a hole H5
M12-6G
5
Ream hole H3
® 10
12
Drill hole H6
® 10.2
6
Drill hole H4
® 9.8
13
Countersink facet hole H6
® 13.2
7
Countersink facet hole H4
® 12
14
Tap a hole H6
M12-6G
Table 1: Set of operations N
{20, 13}, {20, 14}, {20, 15}, {20, 16}, {20, 17}, {20, 18}, {20, 19}, {21, 1}, {21, 2}, {21, 3}, {21, 4}, {21, 5}, {21, 6}, {21, 10}, {21, 11}, {21, 12}, {21, 13}, {21, 14} {21, 15}, ª {21, 16}, {21, 17}, {21, 18}, {21, 19} . © ª The inclusion constraints are given by: Dos = {1, 2}, {3, 6} . The optimal solution for the described designing problem is composed of 5 stations where the first station is equipped with the two multi-spindle units b3 and b5 . 22
Spindle unit
Operations
Cost
Spindle unit
Operations
Cost
b1
1,3,6
12200
b12
1,2,4,7
14150
b2
2,4,7
10100
b13
3,6
10000
b3
1,2,3,6
14400
b1 4
1,6
10200
b4
4,7
7950
b15
1
10900
b5
9,12
10200
b16
2
10900
b6
10,13
7450
b17
1,2
13800
b7
5,8
9000
b18
3
9000
b8
11
9750
b19
6
9000
b9
14
9750
b20
5
8500
b10
2,3,6
12300
b21
8
8500
b11
1,4,7
10150
Table 2: Set of available spindle units B
The second is composed of b4 and b6 , the third station is composed of b7 , the fourth of b8 and the fifth of b9 . Thus, the total cost is equal to 146000.
5
Experimental study
We have used ILOG CONCERT 2.0 technology and solved test instances with ILOG CPLEX 9.0 with default parameters. The instances are generated randomly but with characteristics close to real industrial problems. The purpose of the experimental study is twofold: first to show the benefit achieved by a better formulation of the problem and second to examine the impact of three problem characteristics: 1) precedence graph density, 2) number of blocks in the set B and 3) number of operations in the set N. The quality of the algorithm is measured by two criteria:
23
i) the size of the tree of branch and cut (the number of nodes in CPLEX); ii) the running time of the algorithm (measured in seconds) which corresponds to the time of proving and finding the optimal solution. The calculations were run on a Pentium 3 with 1 GHZ.
5.1
Effect of model size reduction
number of variables 2200 2000 1800 1600 1400 1200 1000 800 600 400 200 0 20 25 30
execution time in seconds 12000
Algorithm 1 K(r)=[1,m0]
10000
Algorithm 1 K(r)=[1,m0]
8000 6000 4000 2000 35 40 45 number of operations
50
55
60
Figure 5: Number of variables reduction
0 20
25
30 35 40 number of operations
45
50
Figure 6: Computation time reduction
Figure 5 shows the difference between the number of variables when no reduction is applied i.e. K(r) = [1, m0 ] for any block br from B and after reduction using Algorithm 1. This increases the capacity to resolve large scale problems, i.e. when the number of operations and blocks becomes consequent. Figure 6 shows the combinatorial explosion which occurs when the number of operations passes 50. Nevertheless, applying the Algorithm 1 reduces the number of variables (the curve Algorithm 1 in figure 5) and resolves the large problems in few seconds (see the curve Algorithm 1 on figure 6).
24
5.2
Comparison between models
In table 3 each column corresponds to a set of 10 instances described by : |N| the number of operations and |B| the number of blocks (spindle units). The instances are solved with the first and second models and the results are reported in the first part of the table for the first model and to the second part for the second model. Comparing to the first model the second allows to solve instances up to 75 operations and 220 blocks in maximum 9609 seconds (except for four of them which exceed this time).
5.3
Impact of parameters
For this part of tests the IP2 model is used to solve all the instances. This is justified by the performance of IP2 comparing to IP1. 5.3.1
Precedence graph density
A series of tests have been run and the obtained results are reported in table 4 in order to study the impact of the precedence graph density OS on the two criteria cited above (tree size or number of nodes and computation time). OS is a measure for the density of the precedence graph, it was introduced by Mansoor and Yadin [20]. In order to define it, let pij denotes an element of the precedence matrix P such that:
1 if operation i precedes operation j, pij = 0 otherwise.
OS = 2Z/|N|(|N| − 1), where Z is the number of non zeroes in P . This ratio is equal to zero when no precedence constraints exists between operations and it is equal to one if only one sequence is possible.
25
Models
IP1
IP2
Measures of performance
|N| = 25 |B| = 75
|N| = 35 |N| = 115
|N| = 50a |B| = 150
|N| = 75b |B| = 220
minimum running time
0.09
0.08
75.92
–
maximum running time
1.86
2058.36
10341.2
–
average running time
0.92
212.15
2835.38
–
minimum number of nodes
0
0
343
–
maximum number of nodes
346
75644
27922
–
average number of nodes
113.1
8042.6
9276.25
–
average number of constraints
1113.4
2673.4
12401.4
35032.3
average number of variables
298.7
581.8
2639.1
5479.2
minimum running time
0.08
0.08
1.98
904.2
maximum running time
0.96
9.07
2317.73
9609.06
average running time
0.24
1.75
588.62
7016.98
minimum number of nodes
0
0
0
1264
maximum number of nodes
68
359
16318
28518
average number of nodes
9
359
5380.25
7819
average number of constraints
561.7
1527.5
11318.3
34015.7
average number of variables
304.1
585.8
2646.1
5488.2
a
five instances were not solved with model IP1 after 3 hours
b
four instances were not solved with model IP2 after 3 hours
Table 3: Comparison between models
For each family, described by its number of operations and blocks, five subfamilies were generated regarding to the density value i.e.: OS = os1 ∈ [0.05, 0.1], OS = os2 ∈]0.1, 0.3], OS = os3 ∈]0.3, 0.6] and OS = os4 ∈]0.6, 0.8]. Some instances are solved in the pre-solve applied by Cplex or at the root node of the branch and cut tree. If such instances exists besides a family then it is mentioned 26
|N | = 20, |B| = 45, m0 = 12
|N | = 35, |B| = 105, m0 = 28
os1
os2
os3
os4
os1
os2
os3
os4
min run
0.06
0.03
0.02
0.02
1.24
0.65
0.45
0.24
max run
0.55
0.16
0.5
0.07
431.6
97.04
82.5
14.6
avg run
0.17
0.07
0.1
0.03
65.36
21.97
21
2.08
avg nodes
8.5
0
1
0
308.4
53.7
187.5
20.1
avg constraints
1033.4
745
427.9
320.9
2586.2
2367.6
2229.7
1413.1
avg variables
480.5
383.4
279.5
228.7
8954.5
8290.1
7757.6
3772.4
|N | = 55, |B| = 165, m0 = 28
|N | = 75, |B| = 220, m0 = 34
os1
os2
os3
os4
os1
os2
os3
os4
min run
30.58
3.57
0.63
0.37
904.2
11.2
2.97
1.37
max run
7200.39
7200.43
2150.63
16.45
9609.06∗
7201.08
7200.92
4470
avg run
3024
2303.28
387.44
24.34
7016.98∗
3974.81
3210.84
499.49
avg nodes
25013.1
9426.9
3646.6
327.3
7819∗
7723.5
4970.2
9780.2
avg constraints
19106.3
15714.8
9743.7
6290.1
34015.7
31476.4
26735.7
9201.5
avg variables
3900.8
3327.7
2474.6
1939.8
5479.2
5269.3
4731.8
2700.2
Table 4: Tests for precedence density influence
by zero in the minimum number of nodes. We notice a variation in the running time depending on the density of the precedence graph. In fact, comparing results of sub-families with the same characteristics but not the density, we can see that the instances with low density take much more time to be solved. This can be explained by the fact that instances with low density have more possibilities of sequencing and assigning, therefore leading to a larger tree size.
27
5.3.2
Number of blocks
The influence of the number of blocks |B| is studied in table 5 by testing four families with 25, 35, 45 and 65 operations, respectively. For each family three subfamilies of ten instances are generated with different values of |B|. Thus, there is 120 instances in total. As expected, as the number of blocks increases the average running time, given by the line (avg run), increases. Nevertheless, for all the subfamilies with 25 operations this difference do not seems to be obvious because of the small combinatorial. However, when the number of blocks is large the possibilities of choice for each operation increase and leads to a higher number of branches which make the instances more difficult (the increase of running time and number of nodes).
6
Conclusion
These last years have seen a drastic improvement in computer aided design which reduces product development times. Nevertheless, the design of the manufacturing systems did not know such amelioration. Thus, the time to design/redesign the system and build it becomes critical. A rapid design of systems composed of modular components is a possible solution. Thus, efforts have to be made to present optimal approaches for designing such systems. Decisions related to the design of machining lines have significant financial implications. An economic benefit can be achieved when the optimal design is reached. New perspectives resolving a large number of problems in industrial engineering area arise due to powerful mathematical programming solvers as ILOG Cplex, XpressMP, etc. Nevertheless, searching adequate models have to be done in order to solve this problem effectively. An efficient formulation for such an advanced design problem 28
|N | = 25, m0 = 12, OS = os1
|N | = 35, m0 = 28, OS = os1
|B| = 35
|B| = 55
|B| = 75
|B| = 45
|B| = 75
|B| = 100
min run
0.02
0.04
0.07
0.08
0.21
0.39
max run
0.59
0.48
0.5
1.56
18.26
200.12
avg run
0.1
0.1
0.17
0.29
3.72
25.81
nodes
0
0
0
0
0
0
constraints
68
7
7
54
440
4875
variables
6.8
0.7
0.7
5.4
84
524.8
|N | = 45, m0 = 30, OS = os1
|N | = 65, m0 = 30, OS = os1
|B| = 55
|B| = 90
|B| = 120
|B| = 75
|B| = 110
|B| = 180
min run
0.22
0.51
0.73
4.32
0.81
1.15
max run
27.86
171.77
684.45
224
1128.15
3353.2
avg run
8.33
28.74
152.12
68.84
261.05
832.01
nodes
0
0
0
0
0
0
constraints
308
1637
6190
2259
59704
31201
variables
72
255.9
881.6
649.5
8657.3
5055.4
Table 5: Tests for number of blocks influence
is neither obvious nor straightforward. The work presented in this paper is dedicated to the development of efficient Integer Programming models for a novel and important problem of optimal design of modular machining lines. A succinct modeling of complex constraints and some techniques to reduce the model size are suggested and successfully used to decrease computation time. A significate number of tests (more than 300) has been performed. The results show that problems with up to 75 operations are solved in few seconds on average. Note: our experience shows that the size of the industrial problems for such lines usually does 29
not exceed 150 operations. Certain operations can be grouped in macro-operations, thus, the suggested model can be considered as sufficiently powerful and promising. The proposed approach can be used to reconfigure a modular machining line when a part changes or when new technology processes have to be considered. The proposed models are not limited to the application for designing machining lines. Indeed, this approach can be applied to any line balancing problem where operations could be executed in parallel at the same workstation. One feature of the above problem’s structure is a large number of constraints. We believe that coupling the optimization approach presented here with constraint programming techniques may be suitable to solve this problem. We propose also to introduce some special cuts which leads to quality solutions faster. Nevertheless, much further research should be done to tackle a larger number of line design problems, for instance: the machining and assembly lines with sequential order of blocks and mixed mode (a sequence of set of parallel blocks) at each station.
References [1] Baybars, I. (1986). A survey of exact algorithms for the simple line balancing problem. Management Science, 32, 909 − 932. [2] Boctor, F. (1995). A Multiple-rule Heuristic for Assembly Line Balancing. Journal of the Operational Research Society, 46, 62 − 69. [3] Bukchin, J. (2000). Design of flexible assembly line to minimize equipement cost, IIE Transactions, 32, 585 − 598. [4] Bukchin, J. & Rubinovitz J. (2002). A weighted approach for assembly line design with station paralleling and equipment selection. IIE Transactions, 35, 73 − 85. 30
[5] Dashchenko, A. I. (Ed) (2003). Manufacturing Technologies for Machines of the Future 21st Century Technologies, Springer. [6] Dolgui, A., Finel, B., Guschinsky, N., Levin, L. & Vernadat, F. (2005). An heuristic approach for transfer lines balancing. Journal of Intelligent Manufacturing, 16(2), 159 − 171. [7] Dolgui, A., Finel, B., Guschinsky, N., Levin, L. & Vernadat, F. (2005). MIP approach to balancing transfer lines with blocks of parallel operations. IIE Transactions (in Press). [8] Dolgui, A. Guschinsky, N. Levin, G. Louly, M. & Belmokhtar, S. (2004). Balancing of transfer lines with simultaneously activated spindles. Information Control Problem in Manufacturing: A Proceedings Volume of the IFAC Symposium, Salvador de Bahia (April 5-7), Elsevier (in Press) [9] Erel, E. & Sarin, S.C. (1998). A survey of the assembly line balancing procedures. Production Planning and Control, 9(5), 414 − 434. [10] Graves, S.C. & Holmes Redfield, C. (1988). Equipment selection and task assignment for multi-product assembly system design. International Journal of Flexible Manufacturing Systems, 1, 31 − 50. [11] Graves, S.C. & Lamar, B.W. (1983). An integer programming procedure for assembly design problems. Operations Research, 31(3), 522 − 545. [12] Groover, M.P. (1987). Automation, production systems and computer integrated manufacturing, Prentice Hall, Englewood Cliffs, New Jersey.
31
[13] Held, M., Karp, R.M. & Shareshian, R. (1963). Assembly line balancingDynamic programming with precedence constraints. Operations Research, 11, 442 − 459. [14] Hitomi, K. (1996). Manufacturing system engineering, Taylor&Francis. [15] Johnson, J.R. (1988). Optimally balancing large assembly lines with FABLE. Management Science, 34, 240 − 253. [16] Karp, R.M. (1972). Reducibility among combinatorial problems, in Complexity of Computer Computation, Miller, R.E. and Thatcher, J.W. (eds.) Plenum Press, New York, 85 − 103. [17] Kim, Y.K., Kim, Y.J, & Kim, Y. (1996). Genetic algorithm forassembly line balancing problem with various objectives. Computers and Industrial Eginnering, 30 (3), 397 − 409. [18] Koren, Y., Heisel, U., Jovane, F., Moriwaki, T., Pritchow, G., Van Brussel, H., & Ulsoy, A.G. (1999). Reconfigurable Manufacturing Systems, CIRP Annals, 48(2), 527 − 598. [19] Lapierre, S.D., Ruiz, A. & Soriano, P. (2006) Balancing assembly lines with tabu search, European Journal of Operational Research, 168 (3), 826 − 837. [20] Mansoor, E.M. & Yadin, M. (1971). On the problem of assembly line balancing, in Developments in Operations Research, Avi-Itzhak, B. (ed), Gordon and Breach, New York, 361 − 375. [21] Martello, S. & Toth, P. (1990). Knapsack problems: Algorithms and computer implementations. Wiley, New York.
32
[22] Mehrabi, M.G., Ulsoy, A.G. & Koren, Y. (2000). Reconfigurable manufacturing systems: Key to futur manufacturing. Journal of Intelligent Manufacturing, 11, 403 − 419. [23] Moodie, C.L. & Young, H.H. (1965). A heuristic method of assembly line balancing for assumptions of constant or variable workelement times. Journal of Industrial Engineering, 16, 23 − 29. [24] Park, K., Park, S., & Kim, W. (1996). A heuristic for an assembly line balancing problem with incompatibility, range and partial precedence constraints. Computers and Industrial Engineering, 32(2), 321 − 332. [25] Pastor, R. & Corominas, A. (2000). Assembly line balancing with incompatibilities and bounded workstation loads. Ricerca Operativa, 30, 23 − 45. [26] Pierreval, H., Caux, C., Paris, J.L. & Viguier, F. (2003). Evolutionary approaches to the design and organization of manufacturing systems. Computers and Industrial Engineering, 44, 339 − 364. [27] Rachamadugu, R. & Talbot, B. (1991). Improving the equality of workload assignments in assembly lines. International Journal of Production Research, 29, 619 − 633. [28] Rekiek, B., Dolgui, A., Dechambre, A. & Bratcu, A. (2002). State of art of assembly lines design optimisation. Annual Reviews in Control, 26(2), 163 − 174. [29] Scholl, A. (1999). Balancing and Sequencing of Assembly Lines. Physica-Verlag Heidelberg.
33
[30] Szadkowski, J. (1997). Critical path concept for multi-tool cutting processes optimization In: Manufacturing, Modeling, Management and Control: A Proceedings Volume of the IFAC Symposium, Vienna, Austria, Elsevier, 393 − 398. [31] Talbot, F.B. Paterson, J.H. & Gehrlein, W.V. (1986). A comparative evaluation of heuristic line balancing techniques, Management Science, 32, 430 − 454. [32] Zhang, G.W., Zhang, S.C. & Xu, Y. S. (2002). Research on flexible transfer line schematic design using hierarchical process planning, Journal of Materials Processing Technology, 129, 629 − 633.
34
Ecole Nationale Supérieure des Mines de Saint-Etienne Centre G2I 158, Cours Fauriel 42023 SAINT-ETIENNE CEDEX 2 www.emse.fr