ARTICLE IN PRESS
Int. J. Production Economics 112 (2008) 177–191 www.elsevier.com/locate/ijpe
Minimizing work overload in mixed-model assembly lines Joaquı´ n Bautistaa,, Jaime Canob a
Nissan Chair—UPC, Escuela Te´cnica Superior de Ingenierı´a Industrial de Barcelona, Universitat Polite`cnica de Catalunya, Avenida Diagonal 647, 08028 Barcelona, Spain b Departament d’Estadı´stica i Investigacio´ Operativa, Universitat Polite`cnica de Catalunya, Jordi Girona 1-3, C5, 08034 Barcelona, Spain Received 5 December 2005; accepted 28 August 2006 Available online 10 April 2007
Abstract A variant of the mixed-model sequencing problem on assembly lines is the one proposed by Yano and Rachamadugu in 1991. They consider time windows in workstations and the work overload concept—sum of differences between real completion time in the workstation and due dates, which depends on the time window value. This paper proposes some procedures for solving the problem, and compares them with others taken from literature using two computational experiments. r 2007 Elsevier B.V. All rights reserved. Keywords: Scheduling; Sequencing; Just-in-time; Work overload; Heuristics
1. Introduction Assembly lines are efficient means of making great amounts of products. Initially, by using singlemodel assembly lines, manufacturing companies were able to efficiently produce big quantities of a product. Nowadays, the mixed-model assembly line makes it possible to manufacture a product with many small variations while avoiding significant setups. In doing so, companies can produce all of the variations of the same product simultaneously and match the production with the changing demands of clients while keeping inventories small. This variability on the final product involves a great amount of optional extras that can have different Corresponding author. Tel.: +34 93 401 17 03; fax: +34 93 401 60 54. E-mail address:
[email protected] (J. Bautista).
versions as well, therefore the production sequence of the products becomes important and must be considered. Hence, after an assembly line has been balanced (work has been spread out over the line stations) considering average processing times and production mixes, the order in which units have to be introduced into the assembly line must be considered by taking into account certain criteria. To sequence mixed-models in assembly lines some criteria have been considered in the literature (Scholl, 1999), two main sequencing objectives are the constant rate of part usage (Monden, 1983; Miltenburg, 1989; Bautista et al., 1996), and the leveling of work load (Yano and Bolat, 1989; Xiaobo and Ohno, 2000). More than one criterion has also been considered simultaneously (Aigbedo and Monden, 1997; Kotani et al., 2004). This paper deals with the criterion of minimizing work overload, treated in Bolat (1997), Bolat and
0925-5273/$ - see front matter r 2007 Elsevier B.V. All rights reserved. doi:10.1016/j.ijpe.2006.08.019
ARTICLE IN PRESS 178
J. Bautista, J. Cano / Int. J. Production Economics 112 (2008) 177–191
Yano (1992a, b), Yano and Rachamadugu (1991), and Scholl et al. (1998), between others. The problem considers jobs on products with processing times greater and less than the cycle time. If products with rich work content are introduced successively into an assembly line, work overload can occur and work on products can be left unfinished due to the limited spare-time window for the worker. In automotive assembly lines, work overload can lead to the work being unfinished and then having to be completed in the ‘‘nursing’’ area, to the assignment of utility workers, or to the costly halting of a line so that the work can be finished in the station. Exact methods, like Branch and Bound, have been used to solve the problem not only with the load criteria (Xiaobo and Ohno, 1997) but also with the parts usage rate criteria (Korkmazel and Meral, 2001). Nevertheless, computational expense is acceptable only for small instances. For example, Bolat (1997) reports an optimal algorithm that requires huge computational effort and memory allocation for instances with 20 products and 8 stations. Thus, the majority of the research has been focused on heuristics and meta-heuristics methods. Some heuristics obtain optimal solutions for specific parameter conditions or rate of load of the problem. Yano and Rachamadugu (1991) considered the aim of minimizing the work overload caused by the sequence and put forward a model of the problem. A case with a single-station and two types of products is studied and a procedure is proposed which obtains an optimal solution when certain conditions are satisfied. Afterwards they extend the procedure for K stations and two products, and propose a O (KN2) computational complexity. Continuing with the case of single-station and two products, Bolat and Yano (1992a) give four procedures to minimize work overload. Two of them are based on spacing rules. The other two procedures are greedy. Optimal solutions can be obtained whit the procedures depending on the load of the systems and certain conditions on parameter values. Later on, the objective proposed in Bolat and Yano (1992b) is the minimization of the number of total special units exceeding the k permitted in sequential parts of size l. The authors develop a sequencing procedure, which provides optimal solutions under certain conditions. Tsai (1995) extends the problem (Yano and Rachamadugu, 1991; Bolat and Yano, 1992a)
considering the displacement time required by the worker to go from one finished product to the next product entering the station. The author establishes two objectives: (1) to minimize total worker displacement and (2) to minimize the unfinished work in the station. The proposed procedure gives an optimal solution under certain conditions and has complexity O(log N). When the problem is extended to more than one station, the aforementioned algorithm can be used to calculate bounds. A mathematical formulation is also given by Scholl et al. (1998). The authors consider several products and stations, and the minimization of work overload, or its equivalent, utility work (work done by utility workers). They use a Tabu Search procedure with a pattern-based vocabulary building strategy for solving the problem. A reformulation of the original model is proposed with the aim of finding a set of appropriate patterns and combining them to obtain a complete sequence. Computational experience with the vocabulary building heuristic and an uninformed Tabu Search is done, comparing the efficiency of the procedures with the best solution found. Other meta-heuristics methods have been used to solve the problem: Simulated Annealing (Bolat, 1997), Neural Networks (Smith et al., 1996), or Genetic Algorithms (Hyun et al., 1998). Some of them consider more than one sequencing objective. Lately, the multi objective approaches have been tackled with two-phase algorithms (Zeramdini et al., 2000; Korkmazel and Meral, 2001; or Kotani et al., 2004). In this paper, we focus on the aforementioned procedures of Yano and Rachamadugu (1991), and Bolat and Yano (1992a). We extend some of their procedures, minimizing the work overload and the idleness. This paper is organized as follows: In Section 2, the problem and the assembly line configuration are described. A formulation of Yano and Rachamadugu (1991) for measuring work overload is also described. In Section 3, we consider the sequencing of products with optional components on a single-station. A procedure inspired on Bolat and Yano (1992a, b) greedy procedures is proposed. In Section 4 we consider more than two products on a single-station. The procedure from Section 3 is extended, and an extension of a procedure from Yano and Rachamadugu (1991) is also proposed. The case with more than two products and multistation is considered in Section 5. Section 6 contains
ARTICLE IN PRESS J. Bautista, J. Cano / Int. J. Production Economics 112 (2008) 177–191
computational experiments and results. Concluding remarks are mentioned in Section 7. 2. Problem description The leveling of the work load in mixed-model assembly lines has been treated with several approaches. According to the assembly line configuration and the productive system policies, an approach of the problem should be selected. We consider stations to be closed; that is, the work on products can be done only when it is inside the station boundaries. We assume this through the consideration of various situations in car assembly lines: a worker cannot invade the next station to finish his work because it may interfere with the job of the next worker; or when robots or tools are used, work cannot be done beyond the reach of the automation; in some cases, line stations make use of the so called pirate ship (as in Nissan assembly plant in Barcelona), which is a mobile structure that travels with the product from the lower boundary to the upper (downstream), solely within the station limits, containing the tools, equipment and components the worker needs for doing his job. The worker is over the structure. Fig. 1 shows a pirate ship used to assemble front pieces of the vehicle. The platform contains pieces
179
and tools, and it can be raised or lowered to improve the ergonomics. This is the industrial environment in which the problem arises. In this production system, the procedures described in this paper can be applied. In the following subsections, the characteristics and assumptions of the problem analyzed are described and its formulation is also given. 2.1. Line configuration and assumptions The following are the assembly line characteristics and problem assumptions:
All the work to be done on the assembly line has already been balanced on K assembly line stations. Products move on a paced belt through the line. There are no buffers between stations. Products require a specific job quantity in each station. Such jobs are measured in processing time and are assumed to be deterministic. Set-up times are assumed to be included in the processing time. The production rate is dictated by both: the conveyor speed (paced) and the fixed product launch frequency (cycle time c—time between the launching of two consecutive products in the line).
Fig. 1. Pirate ship.
ARTICLE IN PRESS 180
J. Bautista, J. Cano / Int. J. Production Economics 112 (2008) 177–191
Cycle time c is smaller than the greatest processing time and it is predetermined. The upstream and downstream station limits are closed, the workers cannot work beyond them. Operators move downstream on the conveyor while performing their job on products. Two operators work simultaneously in a singlestation. Early start operator schedule is considered. An idle operator does not move to any other station. The time required by operators to move upstream is negligible. In case of imminent work overload, utility workers assist to finish the job on time.
Thus, given a set of products, their respective processing times and limited station lengths, the order in which products must be introduced into the line has to be determined while minimizing the work overload (uncompleted work). A feasible solution is given by a sequence length T containing all ni P units demanded of each product i(i ¼ 1,y,I) (T ¼ Ii¼1 ni ). Work overload (wo) occurs when the job on a product cannot be finished before the product leaves the station, taking into account the normal quantity of operators working at normal speed. If workers reach the upstream station limit
before the next product unit comes in the stations, idle worker time (o) is produced. The movement of workers in their stations is depicted in Fig. 2. The conveyor moves from the left to the right. Arrows represent the processing times, and dotted lines represent the worker displacement from one finished product to the next product on the line. Two arrow lengths are used in each station: greater and less than c. Length of station k (k ¼ 1,y,K) is represented by Lk. To reach the product in position 7 in station 1, the worker cannot go beyond the upstream station limit and he/she has to wait o1 cycle time units (see detail 1). In station 2 there are neither work overload nor idleness problems. Worker in station 3 is not capable to finish the jobs on products 4 and 5 (see details 2 and 3) due to the time allocated (L3) is not enough to complete the jobs in the given sequence. A work overload of wo1 cycle time units are produced on product 4, and wo2 units on product 5. 2.2. A model for the problem Yano and Rachamadugu (1991) proposed a formulation to schedule the jobs in order to minimize work overload. It is assumed that one or
Fig. 2. Movement of workers in stations.
ARTICLE IN PRESS J. Bautista, J. Cano / Int. J. Production Economics 112 (2008) 177–191
more workers can be at a station, and the saturation of work in stations is not necessarily complete. Since minimizing total work overload is equivalent to maximizing total completed work, Yano and Rachamadugu (1991) establish as the objective function the latter one. Let I denote the number of different products or jobs considered, K denote the number of stations in the assembly line, pik denote the processing time for product i (i ¼ 1,y,I) in station k (k ¼ 1,y,K), T is the total of products to be sequenced (or length of the sequence), utk denote the workload of station k due to the t-th unit of the sequence. stk is the starting time of the t-th (t ¼ 1,y,T) unit in the sequence in station k, Lk the length of station k, and bk the number of workers at station k. Without loss of generality the original position of the worker is assumed to be at the upstream station limit (s1k ¼ 0, for k ¼ 1,y,K), and the cycle time is assumed to be the unit time (c ¼ 1). A sequence is represented by the binary variables xit, which take the value of 1 if product i is assigned in position t of the sequence and 0 otherwise. Lk could also be understood as the maximum number of items that can be inside the station k in any instant, or the maximum time granted for a product in the station (by station we also mean time window). The following mixed integer linear programming model can be formulated MAX
K X k¼1
bk
T X
utk
(1)
(7) utkX0; stk X0; xit 2f0; 1g for i¼1; :::; I; t¼1; :::; T and k ¼1; :::; K;
(8) The objective function (1) maximizes the completed work taking into account the number of workers in each station. Constraints (2) and (3) ensure that each job has been allocated and that only one job has been assigned in the t-th position, respectively. Constraints (4) indicate that the assigned time in position t is at most the processing time of the job assigned in this position. Constraints (5) ensure the job in position t can be started only when the job has arrived to the station. Constraints (6) ensure that the job in position t of the sequence starts only if the job in position t1 has been finished. Constraints (7) ensure the job in position t cannot be processed beyond the downstream station limit. Jobs can be started only when the product is inside the station, whether the previous work has been completed or it has left the station unfinished. Nonnegative and binary restrictions are considered in (8). The size of the model increases exponentially with the number of products and stations. Another mathematical formulation of the problem is given by Scholl et al. (1998), but their formulation only minimizes the work overload. The problem is considered to be NP-hard (Yano and Rachamadugu, 1991; Tsai, 1995; Scholl et al., 1998; Kotani et al., 2004). 3. Single-station procedures
xit ¼ ni
for i ¼ 1; :::; I;
(2)
xit ¼ 1
for t ¼ 1; :::; T;
(3)
t¼1
I P
for t ¼ 1; . . . ; T and k ¼ 1; . . . ; K;
t¼1
s.t. T P
stk þ utk pt 1 þ Lk
181
i¼1
utk p
I P
pik xit
for t ¼ 1; :::; T and k ¼ 1; :::; K;
i¼1
(4) stk Xt 1 for t ¼ 1; :::; T and k ¼ 1; :::; K , stk Xst1;k þ ut1;k
(5)
for t ¼ 1 and k ¼ 1; . . . ; K; (6)
Consider two kinds of products with different processing times in the station: basic products (which we call B) with processing time inferior to c; and special products (which we called A) with processing time greater than c. This situation can be easily seen in car assembly lines, when a product may or may not receive an optional part at a station (i.e. global positioning system, computer or sunroof). Therefore, consecutively long subsequences of products, which demand a greater level of work, are not desirable because work overload may be produced. Without loss of generality, the cycle time is assumed to be the unit time (c ¼ 1). The following notation is used: pa is the processing time for a unit A, pb is the processing time for a unit B, na is the number of units A to be sequenced, nb is the number
ARTICLE IN PRESS J. Bautista, J. Cano / Int. J. Production Economics 112 (2008) 177–191
182
of units B to be sequenced, and L is the maximum time granted for processing any unit in a station. Thus, pboc ¼ 1opa. Parameters pa, pb and L, are expressed in cycles. The sequence length is T ¼ na+nb. The objective is to find a sequence that allows the completion of the maximum number of jobs, while minimizing the total work lost. We will proceed showing the proposed procedure. 3.1. Proposed procedure Following regarding to the idea of regeneration (to bring the worker back to the upstream station limit), we propose a heuristic algorithm (henceforth called Ud) that builds pseudo cycles. With this, we first try to avoid the priority given to a specific type of product. Second, we try to follow the regular production idea (Monden, 1983; Bautista et al., 1996). In this way, it is not necessary to repeat a subsequence exactly, and products can be scheduled taking into account the remaining production (and, if necessary, can be weighted). Nowadays, assembly companies wishes are not only to regularize production of products but also to aid in the reduction of work overload. If priority in scheduling is given to a product with large work content, products with low work content will be postponed, producing idle time at the end of the sequence, which also can produce incomplete work. Additionally avoiding idle times helps to reduce overload (Yano and Rachamadugu, 1991; Sarker and Pan, 1998). On the other hand, if priority is given to products with low work content, products with work content greater than the cycle time will be delayed and will cause more work overload than is necessary. The constructive procedure tries to cause the operator displacements to follow a cyclic pattern (up and down inside the station), from the lower to upper limit of the window (see Fig. 3), avoiding, if possible, ether overload or worker idle time. When both magnitudes are bigger than zero, the smaller
Fig. 3. Up–down movement worker diagram.
value is chosen. Magnitudes can be weighted. Let woA and woB the accumulated work overload caused by the assignment of a product A, and the accumulated idle time caused by the allocation of a product B (respectively) until period t of the sequence. st denotes the starting time of job in position t, and da and db denote the remaining production of product A and B respectively. Thus, given an instance [na, nb, pa, pb, L], apply the following procedure: Initialization da ¼ na, db ¼ nb, t ¼ 1, st ¼ 0, woA ¼ 0, woB ¼ 0, sequence(t) ¼ +, 8t, t ¼ 1,y,T. While tpT do While da 40 AND st + papt1+L do sequence(t) ’A; st ’ st+ pa; da’da1; t’ t +1 End While While db 40 AND t p st+ pb do sequence(t) ’B; st ’ st + pb; db’db1; t’ t +1 End While If db ¼ 0 then While da 40 do sequence(t) ’A; woA’woA+st + pat+1L; st ’ t1+L; da’da1; t’ t +1 End While End If If da ¼ 0 then While db 40 do sequence(t) ’B; woB’woB+t stpb; st ’ t; db’db1; t’ t +1 End While End If End While Suppose, for example, 5 units of product type A and 10 units of product type B have to be sequenced. The processing times are 1.15 and 0.95 for units A and B, respectively. The station length is 1.24. As previously stated, processing times and window length are expressed in time cycle units. Table 1 shows the sequence obtained with procedure Ud. To measure work overload in the example sequence, the following notation is defined: ft is the finishing time of job in position t and wt denotes the work overload caused by the job in position t. With procedure Ud, the sequence in Table 1 is obtained, producing 0.01 units of work overload.
ARTICLE IN PRESS J. Bautista, J. Cano / Int. J. Production Economics 112 (2008) 177–191
183
Table 1 Sequence obtained with Ud1 procedure Position t
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Sequence ft wt
A 1.15
B 2.10
B 3.05
B 4.00
A 5.15
B 6.10
B 7.05
B 8.00
A 9.15
B 10.10
B 11.05
B 12.00
A 13.15
B 14.10
A 15.24 0.01
4. Single-station and multi-product procedures
Fig. 4. Tendency of the position of the worker in a station with a sequence obtained by BY1.
Since the required time for producing all products can be determined, a lower bound for either unavoidable work overload (lbw) or unavoidable idle time (lbo) can be obtained as follows: lbw ¼ ½ðna pa þ nb pb ðT 1 þ LÞÞ csþ
(9)
and lbo ¼ ½ðT ðna pa þ nb pb ÞÞ csþ ,
(10)
where cs is an optional value to indicate the cost in the station due to work overload or idle time. Bolat and Yano (1992a) presented two greedy procedures, which we henceforth call BY1 and BY2. BY1 is greedy in the sense that, in each step, it gives priority to the assignment of products with rich work content, but it will avoid, if possible, incurring work overload, and so the position of the worker in the station is going to be close to the downstream station limit, see Fig. 4. In each step, BY2 tries to assign a product with poor work content, but when it is possible, tries to avoid idleness. Since we know that BY1 could give good results for overloaded instances, and BY2 could produce good results for unloaded instances, and depending on the values of lbw and lbo, we suggest to apply algorithms BY1, BY2, or Ud according to the following decision rules: (i) If lbw40, the algorithm BY2 is applied. (ii) If lbo40, we apply the algorithm BY1. (iii) If lbw ¼ lbo ¼ 0, algorithm Ud is used.
In previous sections, the approach of the problem assumes that products needing to be assembled are characterized by the presence or absence of an additional job in the station. Nevertheless, there are products in industry, such as automobiles, which present a great variety of versions of the same option or component (i.e. electric seat, thermal seat, or electric back adjustment seat). Each one of these options can be distinguish from the others by their work content, so the approach of the problem we have dealt with should consider more than two jobs on products differentiable by processing times. We assume each product, distinguishable by option or attribute, has a different processing time, and even when the product does not need any extra option to be completed within a station, it requires a minimum amount of work. In the following subsections, we extend a procedure from Yano and Rachamadugu (1991). This procedure is henceforth called YR. The original procedure considers two optional jobs. YR is based on the repetition of a stable subsequence, which is composed of ma units A, and mb units B. The subsequence is repeated until there are not enough units to complete more subsequences. Then, the remaining units are allocated in such a way that the work overload produced is minimized. The extension proposed considers multiple-products. We also extend the Ud procedure. We name them YR-x and Ud-x, respectively. 4.1. YR-x procedure With respect to repetitive cycles, the following algorithm (YR-x) consists in finding subsequences composed of mi units of each product i(i ¼ 1,y,I). While there are enough unscheduled units, the subsequence is repeated. Otherwise, a new subsequence is calculated with the remaining products. Let ni the quantity to be produced of product i, pi the processing time for a product of class i, A the set of products with processing time bigger than the
ARTICLE IN PRESS J. Bautista, J. Cano / Int. J. Production Economics 112 (2008) 177–191
184
cycle time (pio1), B the set of products with processing time smaller than the cycle time (pio1), and xi the maximum consecutive quantity of product i that can be scheduled without causing overload or idle time. The pattern can be found solving iteratively the following mathematical programming model: , I I X X max pi m i mi (11) i¼1
yi ¼ m i y0
max
I X
pi m i p
I X
i¼1
(17)
s.t.
(12)
I X
for
i ¼ 1; . . . ; I ,
(18)
pi yi p1,
(19)
yi ¼ 1;
(20)
i¼1
mi ,
(13) I X
i¼1
(14)
i¼1
The following conditions must also be satisfied for model (11–14): xip(L1)/(pi1), 8iAA, and xip(L1)/(1pi), 8iAB. di represent the remaining production of product i after determining a subsequence and repeating it conveniently in the sequence under construction. Let us note that when t ¼ 0, di ¼ ni. After a subsequence found, it is necessary to schedule all mi products that the current subsequence contains. To arrange products in the subsequence, we alternatively consider the set A, then the set B. The order in which units will be incorporated is done according to diminishing value of index ri ¼ mi 1 pi ; 8i; i ¼ 1; :::; I. Thus, from the set A, let i* be the item with bigger index ri. Then, mi* products from i* are consecutively assigned. Then, from set B, let i* be the item with bigger index ri, and mi* items corresponding to product i* are assigned. These rules are applied until no more units remain. Note that the model (11)–(14) is a non-linear model. The model will be used in the following section as a subproblem to solve a larger problem. To try to save computation time, we linearize the model. Let: I X
pi yi
yi xi y0 p0
mi X0 and integer for i ¼ 1; :::; I;
y0 ¼ 1=
I X i¼1
s.t. for i ¼ 1; :::; I ,
(16)
Given yi and y0, mi ¼ yi/y0. The quantities of the products which are then going to build a subsequence are then determined with the following model:
i¼1
mi p minfxi ; d i g
for all i ¼ 1; :::; I
mi ,
y0 ; yi X0: for
i ¼ 1; . . . ; I
(21)
In (18) xi denotes the maximum number of products i that can be consecutively sequenced without causing work overload or idle time. If y0 is a multiple of yi a perfect cycle has been found. If not, the values of the variables are rounded down in order to obtain the quantities of the models in a cycle. When no solution for the above model is found, a series of products belonging to set A are assigned according to the diminishing value of index ri ¼ mi|1pi|, provided that no overload is caused. Then, in an effort to regenerate, a serie of products of set B are also assigned according to ri, but in this case, idle times are allowed. Table 2 shows the sequence obtained with this procedure for 4 products A, B, C, and D with processing times [0.82, 0.94, 1.19, 1.15], and demand [3,5,7,1], respectively. The station length for this example is 1.2 units of cycle time. The result for the example is 0.46 cycle time units of work lost. The bound is 0.44. Basically, the sequence is built with three different subsequences: [C,B,B,B,D,A], [C,B,B], and [C,A]. Only the last sub-cycle is repeated because remaining products are sufficient for completing a new one, after which,
(15)
i¼1
Table 2 YR-x sequence Position t
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Sequence Finish Time ft Work overload wt
C 1.19
B 2.13
B 3.07
B 4.01
D 5.16
A 6.00
C 7.19
B 8.13
B 9.07
C 10.20 0.06
A 11.02
C 12.20 0.01
A 13.02
C 14.20 0.01
C 15.20 0.19
C 16.20 0.19
ARTICLE IN PRESS J. Bautista, J. Cano / Int. J. Production Economics 112 (2008) 177–191
three units of product C are still remaining, causing unavoidable work overload. 4.2. Ud-x procedure An extension of procedure Ud is proposed in this subsection. This heuristic algorithm (called Ud-x) also considers the single-station case but differentiates two sets of products, the sets A and B, containing products with processing time greater and smaller than cycle time, respectively. The procedure tries to favor the movement of the workers from the lower to the upper limit of its station. Doing this in two cyclic steps, we
attempt to regenerate. This means that, in the first step, products from set A, and in the second step, products from set B, are allocated, without going beyond the station limits. For deciding the type of product to sequence in the period t, we make use of a dynamic index ri ¼ di |1pi|, where i belongs to the set A or B considered in the current stage t. If t ¼ 0 then di ¼ ni. Since ri depends on the pending production of product i, it must be updated in each phase. The product of the set under analysis with the bigger index ri is selected and assigned in period t. Thus, assuming the worker starts the job on the first product of the sequence at the upstream station limit, while products are pending to be sequenced, the next steps are repeated:
Initialization di ¼ ni 8iAA[B; t ¼ 1; st ¼ 0; sequence(t) ¼ +, 8t, t ¼ 1,y,T. While t pT do Obtain IA ¼ {iAA / di 40 AND st+ pi pt1+L} While IA 6¼+ do arg max h¼ d i 1 pi i 2 IA sequence(t) ’h; st’st+ph; dh’dh 1; t’t+1; IA ¼ {iAA / di 40 AND st+ pi pt1+L} End While Obtain IB ¼ {iAB / di 40 AND t p st+ pi} While IB 6¼+ do arg max h¼ d i 1 pi ; i 2 IB sequence(t) ’h; st’st+ph; dh’dh 1 t’t+1; IB ¼ {iAB / di 40 AND t p st+ pi} End While Obtain IA ¼ {iAA /P di 40 AND st+ pi pt1+L} If IA ¼ + and d i 40 then i2A
arg min h¼ d i 1 pi ; i 2 A ^ d i 40 sequence(t) ’h; woA’woA+(st+ pht+1L) st’t1+L; dh’dh1; t’t+1 End If Obtain IB ¼ {iAB /P di 40 AND t p st+ pi} If IB ¼ + and d i 40 then i2B
arg min h¼ d i 1 pi ; i 2 B ^ d i 40 sequence(t) ’h; woB’woB+(t st ph); st’t; dh’dh1; t’t+1 End If End While
185
ARTICLE IN PRESS J. Bautista, J. Cano / Int. J. Production Economics 112 (2008) 177–191
186
P the sequence, sci ðtÞ ¼ K k¼1 ðwopi ðkÞ þ woi ðk; tÞÞ csk . The algorithm proceeds as follows:
A product will be a candidate only if it has pending production. Table 3 shows the sequence obtained with this procedure for the previous example. Note that in the example, the procedure assigns products until position 7 avoiding overloads. Then, it is impossible to assign a product without generating overload or idle time. Product C is chosen generating an overload of 0.04 units. The same situation occurs when assigning a product in position 10, and product C is chosen again. After instant 14, work overload is unavoidable. The work overload obtained is 0.44 units of cycle time.
Let sk(t) be the initial position of the worker in station k at the beginning of period t. Initialization: sk (1) ¼ 0 8k, k ¼ 1,y,K; sequence(t) ¼ 0 8t, t ¼ 1,y,T; di ¼ ni 8i, i ¼ 1,y,I. For t ¼ 1 to T do For i ¼ 1 to I do If di40 then Determine sci(t) End if End for arg min h¼ sci ðtÞ d i 40 Sequence(t) ¼ h dh’dh1 End For
5. Multi-station procedure In this section we tackle the problem with multistations and multi-products. The procedures for single-station and multi-products showed in the above section are modified to be used with the multi-station procedure of Yano and Rachamadugu (1991), with the intention of getting an index of the work overload that a candidate can produce later in the sequence if it is allocated in the current period. The sequence is built progressively in such a way that for each sequencing instant t, and for each product with remaining production, the unit with the best overload index is selected and assigned in the tth position of the sequence. New notation is introduced and some variables are redefined for the multi-station case. Let Lk denote the length of station k, pik is the processing time for product i in station k, wopi(k) stands for the work overload prediction caused in station k assuming a product i is assigned in current position in the sequence, woi(k,t) stands for the work overload caused in station k if a product i is assigned in position t, skt denotes the initial position of the worker in station k in period t, csk denotes the weight (cost) associated with station k, and sci(t) denotes the total work overload that product i produces if it is assigned in period t of
The work overload prediction wopi(k) is computed with the single-station procedures for comparing the results obtained with each one. We use YR-x procedure for getting a bound, and Ud-x for obtaining an estimation of the work overload, considering the remaining production di in period t. If product i is allocated within period t of the sequence, the work overload caused in the current period in each station is obtained as follows: woi ðk; tÞ ¼ ½ðskt t þ 1Þ þ pik Lk þ
8i 2 A , (22)
woi ðk; tÞ ¼ ½t skt pik þ
8i 2 B .
(23)
Since a product can have greater or smaller processing time than cycle time, it can cause work overload or idle time. Then, for each kind of set, A and B, we measure the effect of the assignment of the product in the position t with (22) and (23). With those bounds the unproductive time is also taken into account.
Table 3 Ud-x sequence Position t
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Sequence Finish Time ft Work overload wot
C 1.19
A 2.01
C 3.20
A 4.02
D 5.17
B 6.11
B 7.05
C 8.20 0.04
A 9.20
C 10.20 0.01
B 11.14
B 12.08
B 13.02
C 14.20 0.01
C 15.20 0.19
C 16.20 0.19
ARTICLE IN PRESS J. Bautista, J. Cano / Int. J. Production Economics 112 (2008) 177–191
6. Computational experience In the next experiments we apply the procedure for multi-station and multi-product mentioned in Section 5. This multi-station procedure uses singlestation procedure to find the best product candidate to schedule in position t of the sequence. The onestation algorithms we use in the experiment are Ud-x and YR-x. We use them separately for comparing the results. Both procedures consider multiple-products. Experiment one is done with small instances of four stations and four products. All these instances consider a total of 16 products. Experiment number two is done with larger instances. 6.1. Experiment 1 For this experiment, we solve a total of 225 instances of the following characteristics: (a) all problems present 4 different products and 4 stations; (b) 45 production programs (production mixes) are considered. Production mixes are grouped in five different blocks; (c) 5 different processing times structures in stations are considered; and (d) each instance is built combining one production program of (b), and one processing time structure of (c). For further details about the production programs and the processing times structures, see Appendix B. The data of this experiment assume the cycle time as the unit time, c ¼ 1. We used two quality indicators in the experiment: the average percent deviation (deb) and the average of confirmed optimums (Oeb), by processing time structure (e), by mix blocks (b), and for the total of problems. To obtain the index O, we calculate a work overload bound lbw: " ! #þ K I X X lbw ¼ ni pik T þ 1 Lk csk . (24) k¼1
i¼1
187
In Table 4, results have been obtained using Ud-x to determine the predictor of lost work in station k. The smallest average deviation is obtained for those instances with structure that considers two of the products with high work content in all the stations, especially for the block 1, in which one of the products has a high demand. For structure 3 and 4, Ud-x reaches the value of the work overload lower bound for 13% of the instances. Worse values are obtained when processing times are distant to cycle time. When the algorithm YR-x was used for determining a bound of work overload, the results in Table 5 are obtained. We also compare the solutions obtained when each procedure is used in the multi-stations procedure: Ud-x and YR-x. Table 6 shows the percentage of times (G) each procedure obtained a better solution than the other procedure. For each processing time and mix block better results are obtained when Ud-x is used in the determination of the best candidate i to schedule in the position t of the sequence. 6.2. Experiment 2 The proposed procedures are tested with the 100 instances found in Scholl et al. (1998). They are slightly different from the instances in experiment 1, for these instances the value of the cycle time is 90 TU (time units), the measurement unit is still the time, and instances do not consider weights (cost) at stations. The instances are grouped in accordance to the number of stations, products and station lengths. There are two groups of small problems, four groups with instances of normal size (10 stations and 10 products), 1 group with instances that have
Table 4 Results of the multi station experiment, with Ud-x algorithm Str
deb(%)
Oeb(%)
Block
1 2 3 4 5 db
de
1
2
3
4
5
0.742 3.686 1.701 0.049 1.028 1.44
0.578 2.344 1.352 0.401 1.517 1.24
0.349 1.597 1.249 0.612 1.055 0.97
0.467 1.874 1.546 0.262 1.012 1.03
0.557 2.038 1.846 0.336 1.244 1.20
0.54 2.31 1.54 0.33 1.17 1.178
Oe
Block 1
2
3
4
5
25.0 0.0 50.0 50.0 25.0 30.00
0.0 0.0 16.7 16.7 0.0 6.67
0.0 0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0 0.0
5.00 0.00 13.33 13.33 5.00 7.333
ARTICLE IN PRESS J. Bautista, J. Cano / Int. J. Production Economics 112 (2008) 177–191
188
Table 5 Results of the multi station experiment, with YR-x algorithm Str
deb(%)
Oeb(%)
Block
1 2 3 4 5 db
1
2
3
4
5
0.730 2.591 1.738 0.128 0.712 1.18
0.583 1.768 1.292 0.630 1.641 1.18
0.338 1.585 1.194 1.225 1.095 1.09
0.447 1.754 1.502 0.787 1.158 1.13
0.522 1.873 1.577 0.717 1.410 1.22
Oe
Block
de
0.52 1.91 1.46 0.70 1.20 1.160
1
2
3
4
5
25.0 25.0 50.0 0.0 50.0 30.00
0.0 16.7 16.7 0.0 0.0 6.67
0.0 0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0 0.0
0.0 4.2 8.3 0.0 0.0 2.5
5.00 9.17 15.00 0.00 10.00 7.833
Table 6 Winner algorithm Proc.
Winner algorithm by block (%)
Winner algorithm by structure (%) Gi
Block
Ud-x YR-x
1
2
3
4
5
65.00 70.00
56.67 53.33
57.14 48.57
70.00 40.00
55.00 47.50
60.76 51.88
Gi
Structure 1
2
3
4
5
44.44 66.67
42.22 68.89
42.22 64.44
86.67 15.56
73.33 33.33
57.78 49.78
Table 7 Data set specifications (taken from Scholl et al., 1998) Group
Instances
I
K
Lk
T (number of instance)
1 2 3 4 5 6 7 8 9
1–5 6–10 11–40 41–50 51–60 61–70 71–80 81–90 91–100
5 5 10 20 10 20 10 10 10
5 5 10 10 20 20 10 10 10
110 [88,132] 110 110 110 110 [88–132] 150 110
10(2),20(2),30(1) 10(2),20(2),30(1) 50,80,110,140,170,200,250,300,350,400 (3 each) 140,200,250,300,350 (2 each) 140,200,250,300,350 (2 each) 140,200,250,300,350 (2 each) 140,200,250,300,350 (2 each) 140,200,250,300,350 (2 each) 140,200,250,300,350 (2 each)
20 products and 10 stations, another group has problems with 20 stations and 10 products and the group with bigger instances has 20 stations and 20 products each. All of the groups consider fixed window lengths for all of its instances, except for three groups. Station lengths of groups 2 and 7 take a value between the interval [88,132]. Only 10 instances have window lengths fixed to 150 TU. Sequence lengths are between 10 and 400 products. Table 7 shows the general characteristics of the instances. Processing times for the instances were calculated randomly according to certain conditions. More details on the generation of these data sets are given
in Scholl et al. (1998). Instances of group nine consider a basic model, and its demand is also randomly chosen. The processing times of the basic model are randomly chosen such that pikpmin {p2k,y,pIk} is valid for all the stations. This group is special because it reflects the real automotive situation, in which a product can contain, or not, optional extras depending on the model. As mentioned in Section 4, those extra jobs require more (and different) processing time in the stations, adding workload to employees. We use the same global index used by Scholl et al. (1998) for measuring the quality of each procedure. Originally, instead of weak lower bounds, the
ARTICLE IN PRESS J. Bautista, J. Cano / Int. J. Production Economics 112 (2008) 177–191
objective function values wo*h of the best known solution for an instance h is used when comparing procedures. Since this measure is not defined for wo*h ¼ 0, the following aggregated relative deviation is used: !, 100 100 100 X X X woh woh woh 100%. rel:wo : h¼1
h¼1
h¼1
189
Table 9 Results for instances of group nine
Rel.wo1 Rel.wo2 Rel.wo3 #best Cpu
Ud-x
Ud-xC
Ud-xR
YR-x
334.23 0.0073 0.0605 8 2.78
526.05 0.4523 0.5290 1 3.20
455.32 0.2882 0.3562 1 2.14
743.87 5.8481 6.2096 0 2430.1
(25) We have added two more indexes for aggregated relative deviation. The original index (rel.wo2) and two new variants are used and defined below. rel.wo1 the value wo*h is the lower bound obtained by (26); rel.wo2 the value wo*h is the best solution found with our procedures; rel.wo3 the value wo*h is the best solution found considering the bound on the optimal solution value obtained with CPLEX after 15 minutes of search. " #þ K I X X lbw ¼ ni pik ðc ðT 1Þ þ Lk Þ . (26) k¼1
i¼1
Computations are performed in a 2.4 GHz. Pentium IV computer with 512 MB RAM running Microsoft windows XP. CPLEX 7.5 is used to solve any linear programming or mixed integer linear programming problem. Table 8 shows the above indexes (rel.wo1–3), the number of times a procedure got the best solution (#best) considering only our four procedures, and the average time needed (in seconds) to find solution for one instance (cpu). We also have made two variations of the Ud-x procedure: Ud-xC and Ud-xR. The procedure Ud-x allows to incur in idle time only once in each regeneration cycle in contrast to Ud-xC, which does not incur neither in idle time nor in work overload while this is possible. Ud-xR allows a maximum Table 8 Global results for experiment 2
Rel.wo1 Rel.wo2 Rel.wo3 #best Cpu
Ud-x
Ud-xC
Ud-xR
YR-x
45.64 5.49 6.00 19 3.99
41.82 2.73 3.22 42 4.96
40.97 2.11 2.59 44 4.56
69.25 27.90 28.51 2 4267
quantity of work overload until the position t of the sequence. This quantity is limited by lbw/T*t. lbw is a lower bound of work overload considering multiple-stations obtained using (26). The solution offered by CPLEX after 15 minutes of computation for 40 instances are smaller than the best value obtained with our procedures. For 4 instances the result is the same than the one obtained with CPLEX. The optimum of those 4 instances is reached. Two of those optimums are reached with Ud-x, one with Ud-xC, and two with Ud-xR. Following the analysis of Scholl et al. (1998), a similar analysis is done only for the 10 instances belonging to group nine. It is shown in Table 9. Only for instances 2 and 10 from the 10 instances group considering basic model, CPLEX found a better solution than those found with our procedures. Indexes rel.wo1 in Table A2 grows dramatically because seven of the ten lower bounds better are zero. 7. Conclusion This paper treats with a variant of the problem of sequencing products (mixed-models) on a paced assembly line. We consider the approach in which a product demands a component (attribute), which has different versions, and requires different processing times in the application of each. The aim of these procedures is to minimize work overload (lost work) in all the stations of the assembly line due to the limited time given to the stations and to the work loads along a given sequence. Both boundaries of stations are closed, and we assume the displacement time the workers need to go from one product in to the next is negligible. We compiled some procedures found in literature: Yano and Rachamadugu (1991), Bolat and Yano (1992a), and we propose the procedure Ud-x, inspired on the previous procedures. Procedures considering more
ARTICLE IN PRESS J. Bautista, J. Cano / Int. J. Production Economics 112 (2008) 177–191
190
than two different products and multi-stations are also proposed. Experiment one considers 225 problems with four stations and four different products. Results obtained dealing with the deviation in relation to a bound, are highly satisfactory, as well for the totality of processing time structures, as the blocks of programming production of experiment 1. Results of experiment two show CPU time required for Ud procedure is acceptable for big instances, and when work overload is spread out along the sequence, the best results of the experiment are obtained.
Appendix A
Acknowledgments
C hl 1
Given an instance h of work overload of experiment 1 [T,I,K,ni,pik,csk,Lk], let: C h1 be the minimum weighted time needed for processing the T units of problem h: XK XI C h1 ¼ n p csk . i ik k¼1 i¼1 C h2 be the maximum granted time for processing T units of problem h: ! K X h C2 ¼ T 1 þ Lk csk . k¼1
be the real time needed for processing all units of problem h with a sequence obtained by procedure l. The relative deviation between the bound and the total time needed for processing all the work, for the problem h with the procedure l (dhl) is obtained as follows: " #þ h h C hl maxfC ; C g 1 1 2 . dhl ¼ maxfC h1 ; C h2 g
We acknowledge Nissan Spanish Industrial Operations (NSIO) in Barcelona as well as the UPC Nissan Chair for partially funding this research work. This research paper has also been partially funded by DPI2004-03475 grant from the Spanish government. The second author of this paper acknowledges the grant from the Consejo Nacional de Ciencia y Tecnologı´ a (CONACYT), Mexico, and the support from the aforementioned grants. We thank Dr. Armin Scholl for providing their instances to us, and to the referees for their comments.
The mean deviation (dlH) offered by the procedure l for a set of problems H (h ¼ 1,y,|H|), with
Table B1 Production programs for experiment 1 i Block 1
Block 2
Block 3
Block 4
Block 5
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 1 2 3 4
13 1 1 1
1 13 1 1
1 1 13 1
1 1 1 13
7 7 1 1
7 1 7 1
7 1 1 7
1 7 7 1
1 7 1 7
1 1 7 7
5 5 3 3
5 3 5 3
5 3 3 5
3 5 5 3
3 3 5 5
3 3 4 4
4 4 4 4
5 5 5 1
5 5 1 5
5 1 5 5
1 5 5 5
1 3 5 7
1 3 7 5
1 5 3 7
1 5 7 3
1 7 3 5
1 7 5 3
3 1 5 7
3 1 7 5
3 5 1 7
3 5 7 1
3 7 1 5
3 7 5 1
5 1 3 7
5 1 7 3
5 3 1 7
5 3 7 1
5 7 1 3
5 7 3 1
7 1 3 5
7 1 5 3
7 3 1 5
7 3 5 1
7 5 1 3
7 5 3 1
Table B2 Processing times structures for experiment 1 i
Processing times for products in stations Structure 1
1 2 3 4 L(k) cs(k)
Structure 2
Structure 3
Structure 4
Structure 5
1
2
3
4
1
2
3
4
1
2
3
4
1
2
3
4
1
2
3
4
0.92 0.97 1.03 1.08 1.08 10
1.03 0.98 1.04 0.95 1.05 9.5
1.01 1.05 0.99 0.95 1.06 9.9
0.95 1.04 0.96 1.05 1.06 9.9
0.91 0.80 1.07 1.14 1.15 9
1.20 1.05 0.88 0.87 1.20 9
0.90 1.13 1.17 1.00 1.20 9.5
1.00 1.07 0.86 1.14 1.15 10
1.11 1.14 0.83 0.98 1.15 9.5
1.20 1.13 0.85 0.87 1.20 10
0.85 1.00 1.15 1.10 1.15 9
0.82 0.94 1.19 1.15 1.20 10
1.13 1.14 0.82 0.95 1.15 10
1.19 1.13 0.85 0.87 1.20 9.5
1.15 1.12 0.84 0.94 1.15 9
1.16 1.18 0.87 0.81 1.20 10
1.15 1.04 0.89 0.95 1.15 9.5
0.99 1.19 0.98 0.87 1.20 9.5
1.04 1.00 1.14 0.85 1.15 9
0.96 1.02 0.87 1.18 1.18 10
ARTICLE IN PRESS J. Bautista, J. Cano / Int. J. Production Economics 112 (2008) 177–191
cardinal |H|, is obtained as follows: P dhl 8h2H H . dl ¼ jHj Appendix B Table B1, referring to experiment 1 in Section 6, contains 45 production programs grouped in 5 blocks. Block 1 has a production mix with a high demand of one kind of unit; the second block shows two products with greater demand; block 3 has a balanced mix; one unit with low demand is given in block 4; and block 5 presents an unbalanced mix. Table B2 displays the processing times for products in the different stations. The first structure presents a similar time to the cycle time; structure two has processing times distant of cycle time; structure three has unbalanced times between the first two and the last two stations; structure 4 contains two products that can cause overload in all stations; in structure 5 each station have a different product with high work content. References Aigbedo, H., Monden, Y., 1997. A parametric procedure for multicriterion sequence scheduling for just-in-time mixedmodel assembly lines. International Journal of Production Research 35, 2543–2564. Bautista, J., Companys, R., Corominas, A., 1996. Heuristics and exact algorithms for solving the Monden problem. European Journal of Operational Research 88, 101–113. Bolat, A., 1997. Efficient methods for sequencing minimum job sets on mixed model assembly lines. Naval Research Logistics 44, 419–437. Bolat, A., Yano, C.A., 1992a. Scheduling algorithms to minimize utility work at a single station on paced assembly line. Production Planning and Control 3, 393–405. Bolat, A., Yano, C.A., 1992b. A surrogate objective for utility work in paced assembly line. Production Planning and Control 3, 406–412.
191
Hyun, C.J., Kim, Y., Kim, Y.K., 1998. A genetic algorithm for multiple objective sequencing problems in mixed model assembly lines. Computers and Operations Research 25, 675–690. Korkmazel, T., Meral, S., 2001. Bicriteria sequencing methods for the mixed-model assembly line in just-in-time production systems. European Journal of Operational Research 131, 188–207. Kotani, S., Ito, T., Ohno, K., 2004. Sequencing problem for a mixed-model assembly line in the Toyota production system. International Journal of Production Research 42, 4955–4974. Miltenburg, J., 1989. Level schedules for mixed-model assembly lines in just-in-time productions systems. Management Science 35, 192–207. Monden, Y., 1983. Toyota Production System. Industrial Engineering and Management Press, Institute of Industrial Engineers, Atlanta, GA. Sarker, B., Pan, H., 1998. Designing a mixed-model assembly line to minimize the costs of idle time and utility times. Computers and Industrial Engineering 34, 609–628. Scholl, A., 1999. Balancing and Sequencing of Assembly Lines, second ed. Physica, Heidelberg. Scholl, A., Klein, R., Domschke, W., 1998. Pattern based vocabulary building for effectively sequencing mixed-model assembly lines. Journal of Heuristics 4, 359–381. Smith, K., Palaniswami, M., Krishnamoorthy, M., 1996. Traditional heuristics versus hopfield neural network approach to a car sequencing problem. European Journal of Operational Research 93, 300–316. Tsai, L.H., 1995. Mixed-model sequencing to minimize utility work and the risk of conveyor stoppage. Management Science 41, 485–495. Xiaobo, Z., Ohno, K., 1997. Algorithms for sequencing mixed models on an assembly line in a sit production system. Computers and Industrial Engineering 32, 47–56. Xiaobo, Z., Ohno, K., 2000. Properties of a sequencing problem for a mixed model assembly line with conveyor stoppages. European Journal of Operational Research 124, 560–570. Yano, C.A., Bolat, A., 1989. Survey, development and applications of algorithms for sequencing paced assembly lines. Journal of Manufacturing and Operations Management 2, 172–198. Yano, C.A., Rachamadugu, R., 1991. Sequencing to minimize work overload in assembly lines with product options. Management Science 37, 572–586. Zeramdini, W., Aigbedo, H., Monden, Y., 2000. Bicriteria sequencing for just-in-time mixed-model assembly lines. International Journal of Production Research 38, 3451–3470.