AN INTEGER PROGRAMMING MODEL FOR LOGICAL ... - CiteSeerX

9 downloads 91501 Views 582KB Size Report
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

Suggest Documents