19
Production, Manufacturing and Logistics Solving mixed model sequencing problem in assembly lines with serial workstations with work overload minimisation and interruption rules Joaquín Bautista , Alberto Cano Nissan Chair, Universitat Politècnica de Catalunya, Avda. Diagonal 647, 7th floor, 08028 Barcelona, Spain article info Article history: Received 16 October 2009 Accepted 14 October 2010 Available online 26 October 2010 Keywords: Scheduling Sequencing Work overload Dynamic programming Linear programming abstract In this manuscript, we present a formulation for the MMSP-W (Mixed model sequencing problem with workload minimisation) for production lines with serial workstations. We demonstrate the validity of the basic models in the presence of a control system on the production line that allows the stopping of operations with no restrictions. We propose an extension of the basic models that allows conditioned interruption of operations to facilitate line management. We then propose a procedure to solve the pro- posed problem through BDP (Bounded Dynamic Programming), and demonstrate its validity through a computational experiment with reference instances and a case study linked to the Nissan powertrain plant in Barcelona. Ó 2010 Elsevier B.V. All rights reserved. 1. Introduction Circulating units in automobile production and assembly lines are not always identical. Although some units that are grouped into fam- ilies exhibit a certain degree of similarity, they may vary in the use of resources in the workstations and the consumption of components or parts. The use of human resources, automated systems and support tools to which a work load is assigned in each module or workstation is measured in units of time with a maximum average value called ‘‘cycle time’’, which is identical for all workstations. In addition, the consumption of parts or components for each product unit, which is defined by the BOM (Bill of Materials), is incorpo- rated into the WIP (Work In Progress) along the assembly line until the final products (e.g., engines and vehicles) are produced. These manufacturing lines with mixed products are very common in JIT (Just In Time) and DS (Douki Seisan) environments because they enable the handling of different variants of one or more products. This desirable flexibility determines the order or sequence in which the units on the line should be handled to achieve the following goals: (1) a drastic reduction in component stocks and intermediate semi-man- ufactured parts and (2) efficient use of the available manufacturing time. Boysen et al. (2009) established the following two categories of objectives to classify the literature on sequencing problems in these productive environments: Category A: focused on reducing work overloads related to the arrangement of the units in their sequence of passage along the assembly line. Category B: focused on reducing stock levels in the productive system in accordance with JIT and DS manufacturing methods. These objectives are implicit in the following three types of sequencing problems described in the literature: 1. MMSP (Mixed-model sequencing problems): problems dedicated to completing the maximum amount of work requested by the produc- tion program within the specified time with minimum overload, using additional resources, if necessary. 0377-2217/$ - see front matter Ó 2010 Elsevier B.V. All rights reserved. doi:10.1016/j.ejor.2010.10.022 Corresponding author. Tel.: +34 934011703; fax: +34 934016054. E-mail addresses: [email protected] (J. Bautista), [email protected] (A. Cano). URL: http://www.nissanchair.com (J. Bautista). European Journal of Operational Research 210 (2011) 495–513 Contents lists available at ScienceDirect European Journal of Operational Research journal homepage: www.elsevier.com/locate/ejor

EJOR dlsfnlsnfldksnfklsdn

Embed Size (px)

DESCRIPTION

sfbsa,bfasflabfabflbalfaflnabflablsfalsbfdlabdlfsbaldsaldasdlafblsaflasdlksaflksanlfasnfkafbajkbj

Citation preview

Page 1: EJOR dlsfnlsnfldksnfklsdn

European Journal of Operational Research 210 (2011) 495–513

Contents lists available at ScienceDirect

European Journal of Operational Research

journal homepage: www.elsevier .com/locate /e jor

Production, Manufacturing and Logistics

Solving mixed model sequencing problem in assembly lines with serialworkstations with work overload minimisation and interruption rules

Joaquín Bautista ⇑, Alberto CanoNissan Chair, Universitat Politècnica de Catalunya, Avda. Diagonal 647, 7th floor, 08028 Barcelona, Spain

a r t i c l e i n f o a b s t r a c t

Article history:Received 16 October 2009Accepted 14 October 2010Available online 26 October 2010

Keywords:SchedulingSequencingWork overloadDynamic programmingLinear programming

0377-2217/$ - see front matter � 2010 Elsevier B.V. Adoi:10.1016/j.ejor.2010.10.022

⇑ Corresponding author. Tel.: +34 934011703; fax:E-mail addresses: [email protected]: http://www.nissanchair.com (J. Bautista).

In this manuscript, we present a formulation for the MMSP-W (Mixed model sequencing problem withworkload minimisation) for production lines with serial workstations. We demonstrate the validity ofthe basic models in the presence of a control system on the production line that allows the stoppingof operations with no restrictions. We propose an extension of the basic models that allows conditionedinterruption of operations to facilitate line management. We then propose a procedure to solve the pro-posed problem through BDP (Bounded Dynamic Programming), and demonstrate its validity through acomputational experiment with reference instances and a case study linked to the Nissan powertrainplant in Barcelona.

� 2010 Elsevier B.V. All rights reserved.

1. Introduction

Circulating units in automobile production and assembly lines are not always identical. Although some units that are grouped into fam-ilies exhibit a certain degree of similarity, they may vary in the use of resources in the workstations and the consumption of components orparts.

The use of human resources, automated systems and support tools to which a work load is assigned in each module or workstation ismeasured in units of time with a maximum average value called ‘‘cycle time’’, which is identical for all workstations.

In addition, the consumption of parts or components for each product unit, which is defined by the BOM (Bill of Materials), is incorpo-rated into the WIP (Work In Progress) along the assembly line until the final products (e.g., engines and vehicles) are produced.

These manufacturing lines with mixed products are very common in JIT (Just In Time) and DS (Douki Seisan) environments because theyenable the handling of different variants of one or more products. This desirable flexibility determines the order or sequence in which theunits on the line should be handled to achieve the following goals: (1) a drastic reduction in component stocks and intermediate semi-man-ufactured parts and (2) efficient use of the available manufacturing time.

Boysen et al. (2009) established the following two categories of objectives to classify the literature on sequencing problems in theseproductive environments:

� Category A: focused on reducing work overloads related to the arrangement of the units in their sequence of passage along the assemblyline.� Category B: focused on reducing stock levels in the productive system in accordance with JIT and DS manufacturing methods.

These objectives are implicit in the following three types of sequencing problems described in the literature:

1. MMSP (Mixed-model sequencing problems): problems dedicated to completing the maximum amount of work requested by the produc-tion program within the specified time with minimum overload, using additional resources, if necessary.

ll rights reserved.

+34 934016054.(J. Bautista), [email protected] (A. Cano).

Page 2: EJOR dlsfnlsnfldksnfklsdn

496 J. Bautista, A. Cano / European Journal of Operational Research 210 (2011) 495–513

2. CSP (Car sequencing problems): problems dedicated to obtaining sequences that are restricted in the consecutive application of specialoptions (e.g., sunroof and special finishes) on the vehicles circulating on the assembly line.

3. LS (Level scheduling): problems dedicated to obtaining sequences that guarantee regularity in the consumption of components or parts,maintenance of the production mix in the working day and regularity in the workloads required by the units over time.

Boysen et al. (2009) offered an updated review of the literature within this framework.Among the works dedicated to the first type of problems are Okamura and Yamashina (1979) and Xiaobo and Ohno (1997, 2000), who

emphasise the minimisation of non-productive time generated by possible line stoppages; Yano and Rachamadugu (1991), Tsai (1995),Scholl et al. (1998) and Bautista and Cano (2008), who focus on sequences with a minimum work overload (MMSP-W: mixed modelsequencing problem with workload minimisation); and Bolat and Yano (1992a,b), who contemplate workstation idle time in addition tooverload.

Since the pioneering work by Parello et al. (1986) and Dincbas et al. (1988), several authors have been concerned with the CSP. Amongthe most recent works are those of Gravel et al. (2005), Gagné et al. (2006) and Boysen and Fliedner (2006a,b). An extension of this problemthat includes aspects regarding optimisation can be seen in Bautista et al. (2008).

The problems contemplated in LS have been discussed extensively in the literature on JIT environments (Monden (1998)). Some studiesemploying this manufacturing philosophy and related to the JIT supply chain were presented by Aigbedo (2004, 2009a,b) and Ding et al.(2006).

In this context, our study falls under the Category A objectives and Type 1 problems and focuses on the minimisation of overload in thesequences (MMSP-W).

This work is motivated by a case study that requires the adaptation of certain design procedures and models in the literature to solve thespecified cases. Our proposal contains the following: (1) four models for the MMSP-W for assembly lines with links between serial work-stations; (2) a unification of objectives for these models; (3) a dynamic programming based procedure to solve these models with rules forinterrupting operations; and (4) an application of the proposed procedure to a case study of the powertrain line of the Nissan plant inBarcelona.

The remainder of the manuscript is organised as follows. Section 2 presents two basic models for the MMSP-W that account for serialworkstations. Section 3 shows an example of the usefulness of these models when operations at the workstations are interrupted underany circumstances. Section 4 proposes a set of rules to interrupt operations and simplify the management of the manufacturing line controlsystem; these rules allow us to establish new models for the MMSP-W. Section 5 describes the graph associated with the problem underconsideration and establishes dominance properties between their vertices. Section 6 proposes overall and partial bounds on the overloadvalues shown by the sequences. Section 7 introduces a procedure based on BDP (Bounded Dynamic Programming) to solve the problem un-der consideration. Section 8 describes the computational experiments performed in the study and presents the results. Finally, Section 9shows the conclusions of the study.

2. Reference models with links between stations

To minimise work overload in the problem of mixed product sequencing in a production line with multiple stations, we begin with twomodels in the literature as our reference models:

� M1: a model proposed by Yano and Rachamadugu (1991) that focuses on maximising the total work completed in the assembly line.� M2: a model proposed by Scholl et al. (1998) that focuses on minimising work overload or additional effort.

Models M1 and M2 are valid when the links between serial stations are not taken into account and the objective is to maximise the totalwork completed (M1) or minimise the total process overload (M2).

Therefore, we propose two models, M3 and M4, which may be considered extensions of M1 and M2, respectively. These models take intoconsideration the existing links between neighbouring workstations of a production line with serial stations.

Model M3: this model, which aims to maximise the amount of work completed, is an extension of the Yano and Rachamadugu (1991)model. The parameters and variables of the model are described below:

Parameters

K Set of workstations (k = 1, . . . , jKj) bk Number of equivalent processors in station k I Set of product types (i = 1, . . . , jIj) di Programmed demand of the i type of product pi,k Processing time required (at normal activity) by a unit of the i type of product at station k T Total demand t Position index in the sequence (t = 1, . . . ,T) c Cycle time (standard time assigned to workstations to process any product) lk Time window (i.e. the maximum time that the workstation k is allowed to work on any product), where lk � c > 0 is the

maximum time that the WIP is held at workstation k

Obviously:PjIj

i¼1di ¼ T

Variables xi,t Binary variable that is equal to 1 if a product unit i (i = 1, . . . , jIj) is assigned to the position t (t = 1, . . . ,T) of the sequence,

and 0 otherwise

sk,t Start instant for the t-th unit of the sequence of products in station k (k = 1, . . . , jKj) vk,t Processing time applied to the t-th unit of the product sequence in station k for each processor (at normal activity)
Page 3: EJOR dlsfnlsnfldksnfklsdn

J. Bautista, A. Cano / European Journal of Operational Research 210 (2011) 495–513 497

Note that the bk coefficients represent the number of processors at each station instead of the number of workers, as in Yano and Rac-hamadugu (1991). These coefficients allow us to interchangeably refer to people, robots or human–machine systems.

On the other hand, the processing times, pi,k, are exclusive for workstation k; they are the standard times (at normal activity) required bythe tasks that have been exclusively assigned to workstation k in the previous phase of line balancing.

Under these conditions, we can define the following mathematical model:Model M3:

Max V ¼XjKjk¼1

bk

XT

t¼1

vk;t

!ð0Þ

subject to :XT

t¼1

xi;t ¼ di; i ¼ 1; . . . ; jIj ð1Þ

XjIji¼1

xi;t ¼ 1; t ¼ 1; . . . ; T ð2Þ

vk;t 6XjIji¼1

pi;kxi;t ; k ¼ 1; . . . ; jKj; t ¼ 1; . . . ; T ð3Þ

sk;t P ðt þ k� 2Þc; k ¼ 1; . . . ; jKj; t ¼ 1; . . . ; T ð4Þ

sk;t P sk;t�1 þ vk;t�1; k ¼ 1; . . . ; jKj; t ¼ 2; . . . ; T ð5Þ

sk;t P sk�1;t þ vk�1;t ; k ¼ 2; . . . ; jKj; t ¼ 1; . . . ; T ð6Þ

sk;t þ vk;t 6 ðt þ k� 2Þc þ lk; k ¼ 1; . . . ; jKj; t ¼ 1; . . . ; T ð7Þ

vk;t P 0; k ¼ 1; . . . ; jKj; t ¼ 1; . . . ; T ð8Þ

xi;t 2 f0;1g; i ¼ 1; . . . ; jIj; t ¼ 1; . . . ; T ð9Þ

If s1,1 = 0 is the time reference for the start instants of the operations, then we can consider that the earliest time at which operations can bestarted in M3 are smin

k;t ¼ ðt þ k� 2Þc 8k;8t.This hypothesis is valid when the units of the product (e.g., engines and cars) are moved along the assembly line at a constant speed and

a workstation must wait for the product to enter before working on it.In the model, V represents the value of the total work performed; constraint (1) requires that the programmed demand be satisfied;

constraint (2) indicates that only one product unit can be assigned in each position of the sequence; constraint (3) establishes that the pro-cessing time applied to each unit in each workstation is limited by the required processing time; constraints (4)–(6) establish that the ear-liest time at which the t-th product of the sequence at workstation k can be operated is the maximum of the following three: the expectedarrival time of the product at the beginning of the workstation smin

k;t

� �, the instant at which workstation k is released from operating on the

previous product (t � 1), or the instant at which the previous workstation (k � 1) releases the t-th product; constraint (7) limits the max-imum working time that can be applied to the t-th product of the sequence at workstation k; constraints (8) indicates that the processingtimes applied are not negative; and, finally, constraint (9) necessitates that the assigned variables be binary.

Model M4: this model, which aims to minimise the total overload W, is an extension of the model proposed by Scholl et al. (1998). Theadditional variables of the model are described below:

Variables

sk;t Positive difference between the start instant and the earliest start instant of the t-th operation in station k.

sk;t ¼ ½sk;t � ðt þ k� 2Þc�þ (with [x]+ = max{0,x}).

wk,t Overload generated for the t-th unit of the product sequence in station k measured in time. qk,t Processing time required (at normal activity) by the t-th unit of the product sequence at station k

Model M4:

Min W ¼XjKjk¼1

XT

t¼1

wk;t ð10Þ

subject to :XT

t¼1

xi;t ¼ di; i ¼ 1; . . . ; jIj ð11Þ

XjIji¼1

xi;t ¼ 1; t ¼ 1; . . . ; T ð12Þ

qk;t ¼XjIji¼1

pi;kxi;t ; k ¼ 1; . . . ; jKj; t ¼ 1; . . . ; T ð13Þ

qk;t �wk;t P 0; k ¼ 1; . . . ; jKj; t ¼ 1; . . . ; T ð14Þ

Page 4: EJOR dlsfnlsnfldksnfklsdn

498 J. Bautista, A. Cano / European Journal of Operational Research 210 (2011) 495–513

sk;t P sk;t�1 þ qk;t�1 �wk;t�1 � c; k ¼ 1; . . . ; jKj; t ¼ 2; . . . ; T ð15Þsk;t P sk�1;t þ qk�1;t �wk�1;t � c; k ¼ 2; . . . ; jKj; t ¼ 1; . . . ; T ð16Þsk;t þ qk;t �wk;t 6 lk; k ¼ 1; . . . ; jKj; t ¼ 1; . . . ; T ð17Þsk;t P 0; wk;t P 0; k ¼ 1; . . . ; jKj; t ¼ 1; . . . ; T ð18Þxi;t 2 f0;1g; i ¼ 1; . . . ; jIj; t ¼ 1; . . . ; T ð19Þs1;1 ¼ 0 ð20Þ

s1;1 ¼ 0 as the start instants of operations in the model, the objective function (10) represents the minimisation of the total work overload;constraint (13) links the processing times required by the types of product with the processing times required by the units of the sequence;and finally, constraints (14)–(18) establish the upper and lower limits of overload and the relative start instants for operations. In M4, thesemoments are as follows:

sk;t ¼ ½sk;t � ðt þ k� 2Þc�þ; k ¼ 1; . . . ; jKj; t ¼ 1; . . . ; T ð21Þ

The differences between the original models (M1 and M2) and those proposed here (M3 and M4) can be seen in more detail in Bautista andSuárez (2009) and Bautista and Cano (submitted for publication).

Given a sequence of products that are expressed using the permutation p = (p1, . . . ,pT), both the total work completed and the totaloverload can be evaluated by adding the following assignments to M3 and M4:

xi;t ¼1; if pt ¼ i;

0; if pt – i;

�i ¼ 1; . . . ; jIj; t ¼ 1; . . . ; T ð22Þ

3. An example

Consider the following example to illustrate the problem through the previously formulated models:There are six product units (T = 6), of which three are type A, one is type B, and two are type C. The product units are processed in three

workstations (jKj = 3), and the processing time of each unit of type of product (A,B,C) at each station is (m1,m2,m3), as indicated in Table 1.The following conditions are also taken into consideration: c = 4 (cycle time) and lk = 6, for all k = 1, . . . ,3 (time windows).Fig. 1 shows the optimum solution given by the mixed linear program associated with model M3, considering bk = 1 for all k = 1, . . . ,3.

The sequence of products that presents the maximum total work completed is C–C–A–A–B–A. In Fig. 1 we can see: (1) the total work com-pleted is V = 75 out of a total of 77 units required; (2) the total overload is W = 2 (the grey area in Fig. 1), which is generated at workstationm1 on product A1 at period 13 and at workstation m2 product A3 at period 31; (3) operations A1 �m1 and A3 �m2 may be interrupted atinstants 12 and 30 (the unfinished work, W = 2, must be completed at a final revision assembly line) or intensified by additional humanresources or by an increase in the activity of the operator to finish the operations at instants 12 and 30; (4) the total idle time (to finishthe operation before the moment set by the cycle) is U = 2, and it is generated at workstation m1 at periods 4 and 8 (note that the productsC2 and A1 reach workstation m1 at instants 4 and 8, respectively).

Table 1Processing times (pi,k), where A, B and C, corresponds to i = 1 to 3 (jIj = 3) product types and m1, m2, m3, corresponds to k = 1 to 3(jKj = 3) workstations.

A B C

m1 5 4 3m2 5 4 4m3 4 3 5

Fig. 1. Gantt chart for the optimum solution for the example provided by M3.

Page 5: EJOR dlsfnlsnfldksnfklsdn

Fig. 2. Gantt chart for the optimum solution for the example provided by M4.

J. Bautista, A. Cano / European Journal of Operational Research 210 (2011) 495–513 499

Similarly, Fig. 2 shows the optimum programming of operations given by model M4. The sequence obtained in this case is B–C–A–C–A–A,which is different from that of M3. The total overload is W = 2 (concentrated on m2 over two type-A units), and the total work completed isV = 75.

The solutions offered by M3 and M4 are optimum when we account for serial workstations, and they are realistic when the followingwork hypotheses are allowed:

1. The minimisation of overload does not differentiate which operations must be reduced or reinforced with additional work. Interruptingthe t-th operation at the station k is allowed at any time within interval [(t + k � 1)c, (t + k � 2)c + lk].

2. The appearance of a partial overload implies one of the following options: (a) the work is left pending for another recovery process at theend of the assembly line; or (b) the activity on the operation is increased using reinforcement tools and/or additional workers; (c) theassembly line is stopped until the work is completed.

3. A production control system reports the exact time at which the work on an operation must either be stopped or intensified.

The solutions shown in Figs. 1 and 2 will fulfil the aforementioned hypotheses. For example, in Fig. 1 we can see that the proposal instations m1 and m2 is to intensify work on units 3 and 6 (both type A), which corresponds to a 25% increase in activity in both cases. Thesolution offered by M4 (Fig. 2) requires that the activity on the same products be intensified, but this time the reinforcement is concen-trated only on station m2.

4. Models with overload restrictions

Although the hypotheses that are implicit in models M3 and M4 are valid in certain manufacturing lines, we may run into seriousimpediments if we attempt to directly apply the solutions offered by both models in real settings.

In practice, it is not always possible to stop a given operation at any instant between the final moment of the current cycle and the max-imum finishing time allowed by the time window. This possibility requires the ability to inform operators of interruptions and/or reinforce-ments at a precise moment to facilitate the work of the operators and to have the programmed automata act beyond their programmedroutines.

Although the aforementioned conditions are not impossible to achieve, they require high-level automation, which notably increases thecost of the control system for production operations. To facilitate the management of interruptions and work intensification, we proposethe following simple interruption rule: an operation will only be interrupted at the maximum finishing instant established by the timewindow if this instant is reached during the execution of the operation.

With this interruption rule, operators will be able to act independently while working at the normal activity without requiring the assis-tance of a centralised control system to visually and/or acoustically inform all workstations on the line when they should interrupt orintensify operations (hypothesis 3 of M3 and M4).

Under these conditions, we have the following equation for model M3:

ek;t ¼min sk;t þXjIji¼1

pi;kxi;t; ðt þ k� 2Þc þ lk

( ); k ¼ 1; . . . ; jKj; t ¼ 1; . . . ; T ð23Þ

where ek,t is the finishing instant of the t-th operation at station k.The unfinished work of the t-th unit of the sequence at station k can be formulated as follows:

wk;t ¼XjIji¼1

pi;kxi;t � vk;t ; k ¼ 1; . . . ; jKj; t ¼ 1; . . . ; T ð24Þ

The idle time is the following:

uk;t ¼ ½ðt þ k� 1Þc � ek;t �þ; k ¼ 1; . . . ; jKj; t ¼ 1; . . . ; T ð25Þ

Page 6: EJOR dlsfnlsnfldksnfklsdn

500 J. Bautista, A. Cano / European Journal of Operational Research 210 (2011) 495–513

The corrected finishing instant is as follows:

eck;t ¼ ek;t þ uk;t ; k ¼ 1; . . . ; jKj; t ¼ 1; . . . ; T ð26Þ

The proposed interruption rule can be incorporated into M3, giving the result shown below:Model M5:

Max V ¼XjKjk¼1

bk

XT

t¼1

vk;t

!ð0Þ

subject to : ð1Þ—ð9Þ

vk;t PXjIji¼1

pi;kxi;t �Mð1� yk;tÞ; k ¼ 1; . . . ; jKj; t ¼ 1; . . . ; T ð27Þ

sk;t þ vk;t P ðt þ k� 2Þc þ lk �Myk;t ; k ¼ 1; . . . ; jKj; t ¼ 1; . . . ; T ð28Þyk;t 2 f0;1g; k ¼ 1; . . . ; jKj; t ¼ 1; . . . ; T ð29Þ

where M = (T + jKj)c, and yk,t is a binary variable equal to 1 if the work required from the t-th operation at station k is completed and 0 if thereis an interruption. In addition, constraints (27) and (28) enable the value of the completed work to be fixed, vk,t, differentiating between sit-uations with and without interruption of the operation according to the proposed rule.

Regarding the application of the proposed rule for interruption in model M4, we can formulate the following:

ek;t ¼maxfsk;t þ qk;t ; lkg; k ¼ 1; . . . ; jKj; t ¼ 1; . . . ; T ð30Þ

where ek;t is the finishing instant of the cycle associated with station k and the unit in process.The completed work of the t-th unit of the sequence at station k will be as shown below:

vk;t ¼ qk;t �wk;t ; k ¼ 1; . . . ; jKj; t ¼ 1; . . . ; T ð31Þ

The idle time is formulated as follows:

uk;t ¼ ½c � ek;t�þ; k ¼ 1; . . . ; jKj; t ¼ 1; . . . ; T ð32Þ

The relative and corrected finishing instants are the following:

eck;t ¼ ek;t þ uk;t ; k ¼ 1; . . . ; jKj; t ¼ 1; . . . ; T ð33Þ

Adding the proposed operation interruption rule to M4 gives the following result:Model M6:

Min W ¼XjKjk¼1

XT

t¼1

wk;t ð10Þ

subject to : ð11Þ � ð20Þwk;t 6 Mð1� yk;tÞ; k ¼ 1; . . . ; jKj; t ¼ 1; . . . ; T ð34Þ

sk;t þ qk;t �wk;t P lk �Myk;t ; k ¼ 1; . . . ; jKj; t ¼ 1; . . . ; T ð35Þ

yk;t 2 f0;1g; k ¼ 1; . . . ; jKj; t ¼ 1; . . . ; T ð36Þ

where M = 2c, and the binary variable yk,t has a similar meaning as in M5, it takes the value 1 when there is no overload in the t-th operationat station k and the value 0 in the opposite case. In addition, constraints (34) and (35) allow the overload value to be set depending on theoperation being interrupted.

It is easy to establish a relationship between the objective functions proposed for M5 and M6 (which are identical to those of M3 and M4,respectively) through equality (24), as follows:

Theorem 1. If bk = 1 (k = 1, . . . , jKj), then the objective functions of M3, M4, M5 and M6 are equivalent.

Proof. We have:

MaxXjKjk¼1

bk

XT

t¼1

vk;t

!() Max

XjKjk¼1

bk

XT

t¼1

XjIji¼1

pi;kxi;t �wk;t

! !() Max

XjKjk¼1

bk

XT

t¼1

XjIji¼1

pi;kxi;t �XT

t¼1

wk;t

!

() Max V0 �XjKjk¼1

bk

XT

t¼1

wk;t

! !() Min

XjKjk¼1

bk

XT

t¼1

wk;t

!

where V0 ¼PjKj

k¼1 bkPjIj

i¼1dipi;k

� �is the total work required. Finally,

Max V ¼XjKjk¼1

bk

XT

t¼1

vk;t

!() Min W ¼

XjKjk¼1

bk

XT

t¼1

wk;t

!ð37Þ

Page 7: EJOR dlsfnlsnfldksnfklsdn

Fig. 3. Gantt chart for the optimum solution for the example provided by M5.

Fig. 4. Gantt chart for the optimum solution for the example provided by M6.

J. Bautista, A. Cano / European Journal of Operational Research 210 (2011) 495–513 501

Consequently, for bk = 1 (k = 1, . . . , jKj), the objective functions of M3, M4, M5 and M6 are equivalent, and therefore the sequences offered byM3 and M4 on one hand and M5 and M6 on the other hand should be equivalent.

The optimum solutions for the example that are offered by the models M5 and M6 are shown in Figs. 3 and 4, respectively.Models M5 and M6 offer optimum solutions with total overload W = 3, which is one unit more than that offered by M3 and M4. However,

these models comply with the interruption rule. In Figs. 3 and 4, we can observe that workers will interrupt the operation at the precisemoment at which the limit imposed by the time window is reached. On V0 = 77 total work required, work V = 74 has been completed.

On the other hand, in terms of evaluating a sequence of products p = (p1, . . . ,pT) subject to the constraints imposed in M5 and M6, theassignment of values to the variables xi,t proposed in (22) is also valid. However, to avoid the effect on the resolution time of the binaryvariables yk,t, we propose the following procedure:

Procedure Proc1: Determination of V (total work completed), W (total overload) and U (total idle time) for sequence p = (p1, . . . ,pT)Input: T, I, K, p, bk"k, pi,k"i"kOutput: V, W, U, sk,t, ek,t, vk,t, wk,t, uk,t "k"t0 Initialization: t = V = W = U = 01 while (t 6 T) do2 t t + 1; e0,t = 0; k = 03 while (k 6 jKj) do4 k k + 1; ek,0 = 05 sk,t = max{ek,t�1, ek�1,t, (t + k � 2)c}6 ek;t ¼minfsk;t þ ppt ;k; ðt þ k� 2Þc þ lkg7 vk,t = ek,t � sk,t

8 wk;t ¼ ppt ;k � vk;t

9 uk,t = [(t + k � 1)c � ek,t]+

10 V V + bkvk,t

11 W W + bkwk,t

12 U U + bkuk,t

13 end while14 end whileend Proc1

Page 8: EJOR dlsfnlsnfldksnfklsdn

502 J. Bautista, A. Cano / European Journal of Operational Research 210 (2011) 495–513

Given that the original problem (M1) is NP-hard (Yano and Rachamadugu (1991)), the Proc1 procedure may be used to evaluate V, W andU for a given sequence, which can be useful for determining optimal sequences through local search heuristics. Nonetheless, in this man-

uscript we focus on constructive procedures. For this purpose, we associate a graph in which possible sequences will be represented bypaths through it.

5. Graph associated with the problem

Similar to Bautista et al. (1996), we can build a linked graph without loops or direct cycles of T + 1 stages. The set of vertices in level t(t = 0, . . . ,T) will be noted as J(t). J(t, j) (j = 1, . . . , jJ(t)j) being a vertex of level t, which is defined by the triad ð~qðt; jÞ;~eðt; jÞ;Wðt; jÞÞ, where:

� ~qðt; jÞ ¼ ðq1ðt; jÞ; . . . ; qjIjðt; jÞÞ represents the vector of demand satisfied.� ~eðt; jÞ ¼ ðe1ðt; jÞ; . . . ; ejKjðt; jÞÞ represents the vector of finishing instants of the operations at the stations.� W(t, j) represents the total non-completed work (or overload) over the operations.

The vertex J(t, j) has the following properties:

XjIji¼1

qiðt; jÞ ¼ t ð38Þ

0 6 qiðt; jÞ 6 di i ¼ 1; . . . ; jIj ð39Þec

kðt; jÞ ¼maxfekðt; jÞ; ðt þ k� 1Þcg; k ¼ 1; . . . ; jKj ð40Þ

~ecðt; jÞ is the vector of corrected finishing instants in accordance with the cycle time.In short, a vertex J(t, j) will be represented as follows:

Jðt; jÞ ¼ fðt; jÞ;~qðt; jÞ;Wðt; jÞ;~eðt; jÞ;~ecðt; jÞg ð41Þ

At level 0 of the graph, there is only one J(0) vertex. Initially, we may consider that at level t, J(t) contains the vertices associated with all ofthe sub-sequences that can be built with t products that satisfy properties (38) and (39). However, it is easy to reduce the cardinal that J(t)may present a priori, establishing the following relationship of dominance and equivalence:

Jðt; jÞ � Jðt; j0Þ () ½~qðt; jÞ ¼~qðt; j0Þ� ^ ½~ecðt; jÞ �~ecðt; j0Þ� ^ ½Wðt; jÞ 6Wðt; j0Þ� ð42Þ

Jðt; jÞ � Jðt; j0Þ () ½~qðt; jÞ ¼~qðt; j0Þ� ^ ½~ecðt; jÞ ¼~ecðt; j0Þ� ^ ½Wðt; jÞ ¼Wðt; j0Þ� ð43Þ

With these relationships, we can reduce the search space for solutions in the graph. Therefore, at level t of the graph, J(t) will contain thevertices associated with non-dominated and non-equivalent sub-sequences, and at level T, J(T) will contain all the vertices associated withnon-equivalent and non-dominant completed sequences.

A transition arc through the type of product i exists between vertices J(t, j) of level t and vertex J(t + 1, ji) of level t + 1 in the followingcase:

~qðt; jÞ �~qðt þ 1; jiÞ ð44Þ

In transition Jðt; jÞ!i Jðt þ 1; jiÞ, the following is fulfilled:

~i ¼~qðt þ 1; jiÞ �~qðt; jÞ ð45Þ

where~i is the canonical vector representative of the type of product i.For vertex J(t + 1, ji) to be completely defined through the transition from J(t, j), it is necessary to determine Jðt þ 1; jiÞ ¼ fðt þ 1; jiÞ;

~qðt þ 1; jiÞ;Wðt þ 1; jiÞ;~eðt þ 1; jiÞ;~ecðt þ 1; jiÞg which can be obtained using the following procedure:

Procedure Proc2 (J(t, j), i): Transition Jðt; jÞ!i Jðt þ 1; jiÞInput: jKj, t, i, J(t, j); pi,k"i"kOutput: Jðt þ 1; jiÞ;~eðt þ 1; jiÞ;Wðt þ 1; jiÞ;~ecðt þ 1; jiÞ0 Initialization: k = 0; e0(t + 1, ji) = 0; W(t + 1, ji) = W(t, j)1 while (k 6 jKj) do2 k k + 13 s = max{ek(t, j), ek�1(t + 1, ji), (t + k � 1)c}4 ek(t + 1, ji) = min{s + pi,k, (t + k � 1)c + lk}5 ec

kðt þ 1; jiÞ ¼maxfekðt þ 1; jiÞ; ðt þ kÞcg6 w = s + pi,k � ek(t + 1, ji)7 W(t + 1, ji) W(t + 1, ji) + bkw8 end while9 ~qðt þ 1; jiÞ ¼~qðt; jÞ10 qi(t + 1, ji) = qi(t, j) + 1end Proc2

Page 9: EJOR dlsfnlsnfldksnfklsdn

J. Bautista, A. Cano / European Journal of Operational Research 210 (2011) 495–513 503

Indirectly, contribution to the overall overload generated in the transition from J(t, j) to J(t + 1, ji) may be calculated by incorporating theproduct i to the latter vertex, as follows:

aððt; jÞ ! ðt þ 1; jiÞÞ ¼Wðt þ 1; jiÞ �Wðt; jÞ ð46Þ

Under these conditions, finding a sequence that optimises the equivalent objectives proposed in (37) is equivalent to finding an optimumpath (which is maximum for V and minimum for W) from vertex J(0) to the set of vertices J(T) of stage T.

Therefore, any algorithm of extreme paths in the graphs is valid for finding solutions to the proposed problem. However, realistic indus-trial problems where jIj and T are large give rise to graphs with a large number of vertices. Therefore, we recommend resorting to proce-dures that do not explicitly require the presence of all of the vertices for calculation.

One of the following heuristics can also be used to find solutions to the problem:

1. Greedy constructive heuristics that compose a step-by-step sequence through contribution (46) or similar, obtained through Proc2.2. Heuristics based on a local search with the assistance of Proc1 to evaluate populations.

6. Bounding the values of the sequences

First, we establish overall bounds for function W defined in (37), and then we establish the partial bounds associated with the path forbuilding (complement) when a segment or subsequence of t members has already been built.

6.1. General bounds for W

If we account for the workstations independently, then we can write the following:

LB1ðkÞ ¼ bk

XjIji¼1

dipi;k � ðT � 1Þc � lk

" #þ; k ¼ 1; . . . ; jKj ð47Þ

which is a bound of the work that cannot be concluded at station k.Therefore, considering all stations, we have the following:

LB1 ¼XjKjk¼1

LB1ðkÞ ð48Þ

In the same manner, we can also consider the work required for each type of product independently, obtaining the following:

LB2ðiÞ ¼XjKjk¼1

bkpi;k � cXjKjk¼1

bk � bjKjðljKj � cÞ" #þ

; i ¼ 1; . . . ; jIj ð49Þ

Considering the demands of the products, we have the following:

LB2 ¼XjIji¼1

diLB2ðiÞ ð50Þ

Another alternative to obtain bounds from the products consists of using procedure Proc2:

LB3ðiÞ ¼Wð1; iÞ; i ¼ 1; . . . ; jIj ð51Þ

Wð1; iÞ Proc2ðJð0Þ!i Jð1; iÞÞ; i ¼ 1; . . . ; jIj ð52Þ

and the overall bound of W is:

LB3 ¼XjIji¼1

diLB3ðiÞ ð53Þ

6.2. Bound of the complement of a given segment

Let us assume that we have built a path from J(0) to vertex J(t, j), and thus we have the information Wðt; jÞ; ~qðt; jÞ; ~eðt; jÞ and~ecðt; jÞ.To complete a sequence up to stage T, we will need to link with J(t, j), T � t vertices (J(t + 1, j1), J(t + 2, j2), . . . , J(T, jT�t)). The values associ-

ated with these transitions give us a complement R, which gives a value for W when added to W(t, j). Making j = j0, we can write:

Rðt; jÞ ¼XT�t�1

s¼0

aððt þ s; jsÞ ! ðt þ sþ 1; jsþ1ÞÞ ð54Þ

W ¼Wðt; jÞ þ Rðt; jÞ ð55Þ

Page 10: EJOR dlsfnlsnfldksnfklsdn

504 J. Bautista, A. Cano / European Journal of Operational Research 210 (2011) 495–513

Under these conditions, we can delimit R(t, j) adapting the overall bound LB1.In effect, given station k, the time available to perform the pending operations is:

TDkðt; jÞ ¼ ðT þ k� 2Þc þ lk � eckðt; jÞ; k ¼ 1; . . . ; jKj ð56Þ

and the time required to perform these operations is:

TPkðt; jÞ ¼XjIji¼1

ðdi � qiðt; jÞÞpi;k; k ¼ 1; . . . ; jKj ð57Þ

Consequently,

LB1ðt; jÞ ¼XjKjk¼1

½TPkðt; jÞ � TDkðt; jÞ�þ ð58Þ

is a lower bound of the complement R(t, j).If we focus on the types of product, we will have:

LB2ðt; jÞ ¼XjIji¼1

ðdi � qiðt; jÞÞLB2ðiÞ ð59Þ

and

LB3ðt; jÞ ¼XjIji¼1

ðdi � qiðt; jÞÞLB3ðiÞ ð60Þ

which are also boundaries of the complement R(t, j).

7. The use of Bounded Dynamic Programming

The procedure we propose (from Bautista et al. (1996) and Bautista and Pereira (2009)) is called BDP (Bounded Dynamic Programming)and consists of generating a part of the graph described in Section 5 from level 0 to level T, one level at a time.

The generated vertices may potentially form a part of an optimum path (from 0 to T) that is based on the construction of an optimumsegment of t stages, from J(0) to J(t, j), and on the evaluation of the bound of the complement R(t, j) to reach stage T, for example LB1(t, j).

The procedure only keeps the information of two consecutive stages in memory, t and t + 1 (t = 0, . . . ,T � 1), for which it uses the fol-lowing lists K(t) and K(t + 1), respectively:

� List K(t) contains information about the vertices consolidated in stage t that can potentially form part of an optimum or good qualitypath.� List K(t + 1) contains the vertices that are tentatively generated one-by-one from each vertex of list K(t) through the possible transitions

between stages t and t + 1.

A record k(J(t, j)) of list K(t), k(J(t, j)) 2K(t), is composed of three elements:

kðJðt; jÞÞ ¼ fJðt; jÞ; LB1ðt; jÞ;C�ðJðt; jÞÞg ð61Þ

where C�(J(t, j)) is the vertex of stage t � 1 ancestor of J(t, j).Although the use of K(t) and K(t + 1) notably reduces memory needs, the number of vertices that can be generated for a stage can be

very large. Therefore, we impose a limitation on the number of H(t) vertices stored in stage t. This limitation, called window width, is rep-resented as H, H(t) 6 H (t = 1, . . . ,T). In addition, we set the maximum number of transitions from a vertex to the value jIj, which is, in addi-tion, the maximum value possible.

Evidently, some vertices tentatively generated in stage t will not be recorded in list K(t + 1). In effect, we use the following rules:

1. We ‘‘remove’’ an J(t + 1, ji) vertex generated when the value of its lower bound, LBZ = W(t + 1, ji) + LB1(t + 1, ji), is greater than or equal tothe value of a known solution Z0, because it is not possible to obtain a solution with a better value than Z0 through J(t + 1, ji).

2. We ‘‘reject’’ an J(t + 1, ji) vertex generated when there is a record k(J(t + 1,h) 2K(t + 1) with a vertex that dominates or is equivalent toJ(t + 1, ji): J(t + 1,h) (� _ �)J(t + 1, ji).

3. We ‘‘discard’’ the placement of an J(t + 1, ji) vertex generated on the list K(t + 1) when the list is full (H(t + 1) = H) and J(t + 1, ji) has alower bound LBZ = W(t + 1, ji) + LB1(t + 1, ji) that is greater than or equal to the largest of the lower bounds of the vertices alreadyrecorded in K(t + 1), although an optimum path may pass through J(t + 1, ji).

4. The J(t + 1, ji) vertex generated ‘‘replaces’’ a vertex J(t + 1,h) recorded on list K(t + 1), when J(t + 1, ji) dominates J(t + 1,h), or whenJ(t + 1, ji) has a lower bound that is lower than J(t + 1,h) and H(t + 1) = H, although the optimum path may pass through the movedvertex.

To obtain an initial solution with value Z0 (the upper bound of the value of the optimum solution), it is sufficient to use a Greedy pro-cedure assisted by Proc2, a local search assisted by Proc1, or BDP with a small window width, e.g., H = 1.

Page 11: EJOR dlsfnlsnfldksnfklsdn

J. Bautista, A. Cano / European Journal of Operational Research 210 (2011) 495–513 505

Under these conditions, we can write the following algorithm:

BDP-MMSPWInput: T, jIj, jKj, di(i = 1, . . . , jIj), pi,k(i = 1, . . . , jIj; k = 1, . . . , jKj), Z0

Output: K(T)0 Initialization: t = 0; K(t) = {J(0),LB1,�}; LBZmin =11 while (t < T) do2 K(t + 1) = {;}; j = 13 while (j 6 H(t)) do4 i = 15 while (i 6 jIj) do6 if qi(t, j) < di then7 generate vertex8 J(t + 1, ji) Proc2(J(t, j), i)9 determine LB1(t + 1, ji) (see (58))10 LBZ = W(t + 1, ji) + LB1(t + 1, ji)11 if LBZ P Z0 then12 remove J(t + 1, ji)13 else if $k(J(t + 1,h)) 2K(t + 1):J(t + 1,h)(� _ �)J(t + 1, ji) then14 reject J(t + 1, ji)15 else16 Let L(t + 1) = {k(t + 1,h) 2K (t + 1): J(t + 1, ji) � J(t + 1,h)}17 if L(t + 1) – {;} then18 K(t + 1) K(t + 1) � L(t + 1); H(t + 1) H(t + 1) � jL(t + 1)j19 end if20 if H(t + 1) < H then21 K(t + 1) K(t + 1) + {J(t + 1, ji), LB1(t + 1, ji), J(t, j)}22 H(t + 1) H(t + 1) + 123 else24 k(t + 1,hmax) = arg maxk(t+1,h)2K(t+1)(W(t + 1,h) + LB1(t + 1,h))25 LBZmax = W(t + 1,hmax) + LB1(t + 1,hmax)26 if LBZmax 6 LBZ then27 discard J(t + 1, ji)28 else29 replace J(t + 1,hmax) with J(t + 1, ji):30 K(t + 1) K(t + 1) � k(t + 1,hmax)31 K(t + 1) K (t + 1) + {J(t + 1, ji), LB1(t + 1,ji), J(t, j)}32 if LBZmin > LBZmax then33 LBZmin = LBZmax

34 end if35 end if36 end if37 end if38 end if39 i i + 140 end while41 j j + 142 end while43 Save K(t + 1); t t + 144 end while45 Save K(T)end BDP-MMSPW

When the procedure ends, we can initially find two possible situations:

� List K(T) is empty, which means that we are unable to find a solution with a value less than Z0.� List K(T) is not empty, which means that the records contained in K(T), k(T,h) 2K(T), are associated with vertices, J(T,h), whose over-

load is W(T,h) < Z0. In this case, we can regressively reconstruct a sequence from any of these vertices with a better value than Z0 usingthe K(t) lists and the ancestors of the vertices.

In addition, we can guarantee that we are able to build an optimum sequence from the k(T,h) 2K(T) – {£} records in any of the fol-lowing cases:

Case 1 : max06t6T

fHðtÞg < H ð62Þ

Page 12: EJOR dlsfnlsnfldksnfklsdn

Fig. 5. Graph for the example. In each vertex, the following quantities can be found: the subsequence of products, the value of W associated with the subsequence and thelower bound of the total overload (LBZ). The abbreviations ‘‘d’’ and ‘‘r’’ symbolise ‘‘dominated’’ and ‘‘removed’’, respectively.

506 J. Bautista, A. Cano / European Journal of Operational Research 210 (2011) 495–513

Case 2 : max06t6T

fHðtÞg ¼ H� �

^ ðWðT;hÞ 6 LBZminÞ ð63Þ

In any other case, the procedure is heuristic.Any type of heuristic can be developed to solve the problem represented by models M5 and M6. However, we have chosen BDP for sev-

eral reasons: (1) BDP has the potential to reduce the search space of solutions through the use of (a) dominance and equivalence relation-ships between vertices and (b) lower bounds for the values of the sequence and the complement of a given segment; (2) a good guide (LBZ)is available to find solutions; and (3) the effort spent searching for a solution (defined by parameter H) can be easily converted to CPU time.The relationship allows us to obtain a new solution (adjusting CPU time through H) under unexpected circumstances within the availabletime (e.g., lack of engine components, forced stops on the powertrain line).

Fig. 5 illustrates an application of the proposed procedure to the example using Z0 = 4 and H = 10.In the graph associated with Fig. 5 we can see the following:

(1) At stage t = 1, the vertex associated with the subsequence (B) has two extensions, (B,A) and (B,C), dominated by subsequences ofstage t = 2, (A,B) and (C,B), respectively. The extensions of the vertices: (A,B) of stage t = 2, (A,A,B), (A,C,B), (C,A,B) and (C,B,C) of staget = 3, (A,C,A,B), (C,A,A,B), (C,A,C,B) and (C,C,A,B) of stage t = 4, and (C,A,A,A,B), (C,A,A,C,B) and (C,C,A,A,B) of stage t = 5 are alsodominated.

(2) At stage t = 3, the vertex (A,A,A) is removed because LBZ = Z0 = 4. Similarly, the vertices (A,C,A,C) of stage t = 4 and (C,A,A,A,C) ofstage t = 5 are also removed for the same reason.

(3) At stage t = 6, the vertex (C,C,A,A,A,B) represents an optimal sequence with value W = 3; following the trace of the optimal path(highlighted in the graph) from t = 0 to t = 6, we can see that the partial overloads are concentrated in the vertices (C,C,A,A) and(C,C,A,A,A).

8. Computational experiment

8.1. Computational experiment with reference instances

We performed a first operation test of M5 with 225 small instances from the literature (see Bautista and Cano (2008)). These instancesare built from 45 demand plans (Table 2) and five processing time structures required by the products in the machines (Table 3).

To obtain optimum solutions, we have used two forms of solution as shown below:

1. Solver CPLEX v11.0 (single-processor license) running on a MacPro computer with an Intel Xeon 3.0 GHz CPU and 2 GB RAM using Win-dows XP without any limit on the CPU time. The results for W and CPU times are recorded in detail in Table 8 of the Appendix.

2. BDP programmed in C++, compiled with gcc v. 4.01, running on an Apple Macintosh iMac computer with an Intel Core 2 Duo 2.33 GHzprocessor and 3 GB RAM using MAC OS X 10.4.11. Neither the implementation nor the compiler used threads or any type of parallelcode; therefore, the computer can be considered a single 2.33 GHz processor. The 225 instances were solved using six correlative win-dow widths, H1 to H6 with values 1, 4, 16, 64, 256 and 512, respectively. We established 4 as the maximum number of transitions fromeach vertex, which coincides with jIj.

Page 13: EJOR dlsfnlsnfldksnfklsdn

Table 2Experimental data corresponding to a set of 45 production programs grouped in five blocks.

i Block 1 Block 2 Block 3 Block 4 Block 5

P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11 P12 P13 P14 P15 P16 P17 P18 P19 P20 P21 P22 P23 P24 P25 P26 P27 P28 P29 P30 P31 P32 P33 P34 P35 P36 P37 P38 P39 P40 P41 P42 P43 P44 P45

d1 13 1 1 1 7 7 7 1 1 1 5 5 5 3 3 3 4 5 5 5 1 1 1 1 1 1 1 3 3 3 3 3 3 5 5 5 5 5 5 7 7 7 7 7 7d2 1 13 1 1 7 1 1 7 7 1 5 3 3 5 3 3 4 5 5 1 5 3 3 5 5 7 7 1 1 5 5 7 7 1 1 3 3 7 7 1 1 3 3 5 5d3 1 1 13 1 1 7 1 7 1 7 3 5 3 5 5 4 4 5 1 5 5 5 7 3 7 3 5 5 7 1 7 1 5 3 7 1 7 1 3 3 5 1 5 1 3d4 1 1 1 13 1 1 7 1 7 7 3 3 5 3 5 4 4 1 5 5 5 7 5 7 3 5 3 7 5 7 1 5 1 7 3 7 1 3 1 5 3 5 1 3 1

J.Bautista,A.Cano

/EuropeanJournal

ofO

perationalR

esearch210

(2011)495–

513507

Page 14: EJOR dlsfnlsnfldksnfklsdn

Table 6NISSAN-9ENG instances and demand plans.

Family i Block I

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23

4 � 4 P1 30 30 10 40 40 50 20 20 70 10 10 24 37 37 24 30 30 60 10 20 60 20 10P2 30 30 10 40 40 50 20 20 70 10 10 23 37 37 23 30 30 60 10 20 60 20 10P3 30 30 10 40 40 50 20 20 70 10 10 23 36 36 23 30 30 60 10 20 60 20 10

Van P4 30 45 60 15 60 30 75 30 15 105 15 45 35 45 55 35 55 30 90 15 15 90 30P5 30 45 60 15 60 30 75 30 15 105 15 45 35 45 55 35 55 30 90 15 15 90 30

Trucks P6 30 23 30 30 8 15 15 38 8 8 53 28 23 18 23 28 18 8 15 45 15 8 45P7 30 23 30 30 8 15 15 38 8 8 53 28 23 18 23 28 18 8 15 45 15 8 45P8 30 22 30 30 7 15 15 37 7 7 52 27 22 17 22 27 17 7 15 45 15 7 45P9 30 22 30 30 7 15 15 37 7 7 52 27 22 17 22 27 17 7 15 45 15 7 45

Block II

24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46

4 � 4 P1 60 60 20 80 80 100 40 40 140 20 20 47 74 74 47 60 60 120 20 40 120 40 20P2 60 60 20 80 80 100 40 40 140 20 20 47 73 73 47 60 60 120 20 40 120 40 20P3 60 60 20 80 80 100 40 40 140 20 20 40 73 73 40 60 60 120 20 40 120 40 20

Van P4 60 90 120 30 120 60 150 60 30 210 30 90 70 90 110 70 110 60 180 30 30 180 60P5 60 90 120 30 120 60 150 60 30 210 30 90 70 90 110 70 110 60 180 30 30 180 60

Trucks P6 60 45 60 60 15 30 30 75 15 15 105 55 45 35 45 55 35 15 30 90 30 15 90P7 60 45 60 60 15 30 30 75 15 15 105 55 45 35 45 55 35 15 30 90 30 15 90P8 60 45 60 60 15 30 30 75 15 15 105 55 45 35 45 55 35 15 30 90 30 15 90P9 60 45 60 60 15 30 30 75 15 15 105 55 45 35 45 55 35 15 30 90 30 15 90

Table 3Experimental data corresponding to the five processing time structures by product and station.

i Processing times for products in stations

Structure 1 Structure 2 Structure 3 Structure 4 Structure 5

m1 m2 m3 m4 m1 m2 m3 m4 m1 m2 m3 m4 m1 m2 m3 m4 m1 m2 m3 m4

p1 92 103 101 95 91 120 90 100 111 120 85 82 113 119 115 116 115 99 104 96p2 97 98 105 104 80 105 113 107 114 113 100 94 114 113 112 118 104 119 100 102p3 103 104 99 96 107 88 117 86 83 85 115 119 82 85 84 87 89 98 114 87p4 108 95 95 105 114 87 100 114 98 87 110 115 95 87 94 81 95 87 85 118

lk 108 105 106 106 115 120 120 115 115 120 115 120 115 120 115 120 115 120 115 118bk 1 1 1 1 1 1 1 1 1 1 l 1 1 1 1 1 1 1 1 1

Table 4Number of optimums reached (#opt) and proven with BDP (#opt BDP), for each window width H in the 225 instancesstudied. ‘‘CPU average’’ and ‘‘CPU max’’ symbolise the average and maximum CPU times used (in seconds).

H #opt #opt BDP BDP CPU average BDP CPU max

1 8 0 0.0003 0.00034 67 0 0.0011 0.001216 171 7 0.0051 0.006264 216 39 0.0263 0.0425256 225 187 0.0790 0.2738512 225 225 0.0887 0.4194

Table 5Processing times, pi,k, of the operations on the nine types of engines (p1, . . . , p9) in the 21 stations (m1, . . . ,m21).

i Processing times for products in stationsStructure

m1 m2 m3 m4 m5 m6 m7 m8 m9 m10 m11 m12 m13 m14 m15 m16 m17 m18 m19 m20 m21

p1 104 103 165 166 111 126 97 100 179 178 161 96 99 147 163 163 173 176 162 164 177p2 100 103 156 175 114 121 96 97 174 172 152 106 101 155 152 185 179 167 150 161 161p3 97 105 164 172 114 122 96 95 173 172 168 105 102 142 156 183 178 181 152 157 154p4 92 107 161 167 115 124 93 106 178 177 167 97 101 154 152 178 169 180 152 159 168p5 100 101 148 168 117 127 96 94 178 178 167 101 99 146 153 169 173 172 160 162 172p6 94 108 156 167 117 130 89 102 171 177 166 100 101 143 152 173 178 173 151 160 170p7 103 106 154 168 115 120 94 103 177 175 172 96 96 154 154 172 174 173 155 162 167p8 100 102 164 156 111 121 101 102 171 173 157 104 102 153 156 182 175 168 148 158 149p9 101 110 155 173 111 134 92 100 174 175 177 96 99 155 156 171 175 184 167 157 169

lk 195 195 195 195 195 195 195 195 195 195 195 195 195 195 195 195 195 195 195 195 195bk 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

508 J. Bautista, A. Cano / European Journal of Operational Research 210 (2011) 495–513

Page 15: EJOR dlsfnlsnfldksnfklsdn

Table 7Results offered by CPLEX (3600 s) and BDP (H = (1, 10, 50, 100, 250, 500, 750, 1000)) for the 46 NISSAN-9ENG instances. The values of W, CPU time and lower bounds offered by both procedures are shown.

Instance Lower bound CPLEX 3600 s BDPH = 1 BDPH = 10 BDPH = 50 BDP H = 100 BDPH = 250 BDPH = 500 BDPH = 750 BDP H = 1000

CPLEX BDP W W CPU W CPU W CPU W CPU W CPU W CPU W CPU W CPU

Block I 1 50 52 2550 760 0.15 343 1.75 240 14.14 189 42.00 179 202.70 179 716.98 166 1576.33 166 2659.142 242 244 1073 572 0.15 572 1.72 516 13.72 470 39.85 470 193.17 464 687.43 464 1496.56 464 2472.363 421 423 2267 751 0.15 502 1.71 470 13.65 459 38.97 454 188.57 432 648.60 432 1285.03 432 2190.194 235 240 2675 934 0.15 585 1.71 473 13.48 473 38.40 443 185.73 443 659.92 443 1404.98 440 2460.435 557 558 1587 1031 0.15 990 1.65 960 11.99 922 31.81 922 146.36 902 446.73 897 1120.36 897 1646.796 285 296 1459 1205 0.15 755 1.70 697 12.93 679 37.12 675 173.02 667 590.21 667 1289.57 663 2153.417 721 723 1403 893 0.15 893 1.72 873 13.22 847 36.12 826 170.66 823 571.93 823 1332.27 823 2319.878 72 72 2322 570 0.15 232 1.77 177 14.51 177 42.71 146 213.94 146 769.60 129 1659.06 129 2716.609 657 662 2084 1507 0.15 1229 1.62 1172 11.47 1170 32.65 1166 141.66 1150 448.67 1150 996.32 1149 1498.9210 1210 1211 1321 1279 0.15 1279 1.62 1271 11.38 1263 31.64 1263 143.73 1251 432.84 1251 869.04 1249 1845.2711 43 43 1996 806 0.15 94 1.80 61 14.21 60 40.32 60 192.07 52 716.13 50 1270.12 50 2059.9712 227 230 2490 540 0.15 461 1.75 419 14.06 410 41.70 402 197.11 402 701.36 373 1595.74 369 2757.7413 164 165 2722 834 0.15 474 1.73 437 13.52 431 38.50 385 195.16 385 651.54 385 1443.35 379 2554.6914 290 291 2787 745 0.15 671 1.71 655 13.19 624 37.13 616 177.15 578 625.63 578 1329.50 578 2372.5615 393 395 2555 694 0.15 652 1.73 613 13.90 612 40.66 553 198.40 553 706.83 553 1497.23 553 2617.7616 96 99 2577 721 0.15 394 1.73 286 14.11 286 40.58 265 197.53 245 724.88 223 1570.60 223 2578.0717 409 411 2707 695 0.15 695 1.70 672 13.22 672 37.97 665 180.51 640 643.80 640 1384.36 640 2332.4018 456 467 1988 1380 0.15 1053 1.63 986 11.82 986 31.70 981 140.71 968 458.02 962 1001.94 962 1670.6519 947 948 1438 1022 0.15 1012 1.66 982 11.54 982 33.55 982 140.36 980 482.56 980 1005.56 980 1824.7020 50 50 2230 801 0.15 168 1.79 138 14.65 138 43.23 104 218.82 104 754.48 104 1609.10 104 2800.6021 480 491 3120 1317 0.15 964 1.67 877 12.63 877 34.32 869 163.68 854 575.48 854 1148.40 854 2031.8722 984 986 1200 1164 0.15 1164 1.65 1129 11.97 1125 31.97 1125 142.53 1125 467.70 1125 1022.01 1104 1813.1523 100 100 2105 659 0.15 137 1.77 129 14.07 129 40.74 120 192.88 118 714.10 118 1439.44 107 2630.03

Block II 24 140 142 5100 1524 0.97 1031 10.20 517 61.77 480 151.33 453 578.37 390 1843.82 390 3658.71 390 6107.4925 525 528 5295 1365 0.98 1153 10.18 1089 61.03 1089 146.71 1036 544.76 1036 1657.35 1036 3368.61 1026 5570.8026 900 903 1875 1563 0.97 1105 10.15 1082 60.58 1008 146.45 1008 547.61 971 1711.14 967 3469.07 932 5584.5027 510 515 5271 1884 0.98 1234 10.15 1003 60.75 997 144.75 949 542.06 942 1664.14 942 3341.58 941 5634.3228 1195 1199 – 2166 0.98 2049 10.01 1986 57.21 1971 132.38 1956 469.08 1940 1325.13 1918 2730.52 1915 4132.0129 630 641 – 2480 0.97 1587 10.10 1475 59.47 1468 141.09 1465 512.78 1441 1546.83 1421 3103.84 1421 5181.3930 1500 1503 2672 1899 0.98 1899 10.15 1800 60.36 1798 144.47 1759 531.10 1757 1610.47 1742 3024.21 1742 5433.7531 160 160 1545 1266 0.98 537 10.26 381 62.30 378 153.43 321 594.05 299 1885.86 284 3847.76 284 6211.8732 1365 1376 – 3125 0.96 2527 9.96 2475 57.72 2407 133.89 2407 462.41 2392 1357.99 2391 2606.97 2391 4298.4233 2476 2478 2704 2604 0.97 2604 9.97 2599 56.37 2582 127.96 2582 424.88 2565 1281.61 2563 2441.75 2563 3990.3734 120 120 1357 1612 0.97 234 10.33 167 62.19 144 150.61 144 594.16 139 1871.63 137 3850.44 137 5912.3635 476 479 4931 1125 0.97 939 10.20 884 61.87 829 151.54 817 573.98 817 1757.61 817 3608.43 777 6155.8636 382 385 5458 1868 0.97 1244 10.15 962 60.60 940 145.71 908 548.51 908 1638.33 896 3373.82 896 5540.9937 650 654 – 1676 0.97 1478 10.12 1347 60.51 1347 142.46 1347 518.74 1346 1580.17 1299 3237.03 1299 5373.7138 823 826 5125 1429 0.97 1388 10.18 1322 61.43 1269 148.30 1248 556.21 1219 1719.23 1159 3541.42 1159 5844.9439 245 248 5092 1532 0.97 910 10.20 666 61.79 596 150.43 596 557.91 589 1724.68 545 3623.51 545 5986.0840 875 878 2492 1392 0.97 1392 10.00 1392 60.27 1392 144.47 1392 525.51 1392 1634.58 1392 3223.35 1380 5402.3841 975 986 – 2855 0.96 2142 9.98 2077 57.66 2074 133.59 2053 460.19 2042 1327.12 2036 2691.20 2036 4370.0942 1951 1953 2741 2214 0.98 2110 10.10 2042 58.26 2026 134.41 2026 449.38 2026 1340.81 2011 2671.99 2011 4261.2743 130 130 1456 1549 0.97 454 10.27 307 63.60 256 155.83 256 600.31 256 1911.06 234 3942.54 234 6490.5644 1021 1031 6191 2732 0.96 1974 10.02 1864 58.63 1814 139.31 1814 498.16 1808 1482.77 1807 2971.74 1786 4964.1745 2026 2028 3199 2376 0.97 2376 10.02 2336 57.71 2312 132.80 2312 455.27 2312 1294.34 2275 2585.56 2275 4145.2746 220 220 4159 1360 0.97 367 10.26 287 62.38 280 149.34 253 551.44 250 1753.98 233 3446.11 233 5789.51

J.Bautista,A.Cano

/EuropeanJournal

ofO

perationalR

esearch210

(2011)495–

513509

Page 16: EJOR dlsfnlsnfldksnfklsdn

510 J. Bautista, A. Cano / European Journal of Operational Research 210 (2011) 495–513

For the initial solution Z0, we used the value of the solution obtained with the previous width Ha�1 for each window width Ha(a = 1, . . . ,6), except for the case with width H1 = 1 in which Z0 was fixed at 1.

Table 4 shows the number of optimums found by the BDP for each Ha in the 225 instances and the average and maximum values of thetime used. Column #opt BDP of Table 4 shows the number of optimums proven for each window width H using the BDP procedure, whereascolumn #opt shows the number of optimums reached when their value is known (i.e., through CPLEX).

In Table 4, we can observe that all of the optimums are reached with H = 256 using average and maximum times of 0.079 s and 0.274 s,respectively. Nonetheless, it was necessary to use H = 512 to guarantee all optimums. In this case, the average and maximum times were of0.0887 s and 0.4194 s.

Note the CPU times required by BDP in contrast to CPLEX (See Appendix, Table 8). Actually, CPLEX used an average CPU time of 4347.76 sper instance in a range of 0.2 s to 65359.875 s.

8.2. Study instances in the Nissan-BCN powertrain plant

The Nissan powertrain plant in Barcelona has an assembly line with 21 workstations (m1, . . . ,m21) assembling nine types of engines(p1, . . . ,p9) that are grouped into three families (4 � 4, vans and trucks). The basic features of the powertrain line are the following: (1)the twenty-one workstations are arranged serially and are linked to each other, as is set out in the models M3, M4, M5 and M6 proposedin this manuscript; (2) under normal conditions, each workstation is assigned the same number of processors (operators), who are trainedto work at the normal activity; and (3) currently, the powertrain line does not include a centralised control system to offer visual or acous-tic information about moments at which operations should be intensified or interrupted. However, a specific area at each workstation al-lows a product to be held longer than the cycle time, which is detrimental to the time available at the next station to process the sameproduct. Therefore, models M5 and M6 can be adapted ideally to the conditions of our case study. Approximately 380 tasks are involvedin assembling an engine, and these tasks are grouped into 140 operations. We solved a TSALB-1 problem (see Bautista and Pereira, 2007)considering average processing times (identical presence of the nine types of engines in the production mix), a cycle time of c = 180 s andarea available per station A = 4 m, giving rise to the 21 stations mentioned (see details on http://www.nissanchair.com/TSALBP). After theassignment of the operations to stations, we calculated the processing times of each engine type at each station, pi,k (i = 1, . . . ,9;k = 1, . . . ,21), and we supposed bk = 1 (k = 1, . . . ,21), which resulted in the data shown in Table 5.

In this context, we considered 46 instances associated with demand plans and grouped them into two blocks (see Table 6). Block I pre-sents instances (from 1 to 23) for the nine types of engines with demand plans of 270 units (T = 270), whereas Block II presents instances(from 24 to 46) with T = 540.

For the experiment, we considered an effective cycle time c = 175 s and an identical time window for all stations lk = 195 s (k = 1, . . . ,21),which corresponds to a play of over 10% on the cycle time. This data indicates that the instances with T = 270 are linked to a working day of13.125 h (in two shifts), whereas instances with T = 540 represent two working days.

Table 7 shows the best solutions for the 46 instances of the NISSAN-9ENG set. These solutions were obtained using the following tworesources:

1. Solver CPLEX v11.0 (single-processor license) running on a MacPro computer with an Intel Xeon 3.0 GHz CPU and 2 GB RAM using Win-dows XP, limiting the CPU time first to 3600 s. If a solution was not obtained in 3600 s, we reran CPLEX for 7200 s. The results for W areshown in the CPLEX 3600 s column of Table 7.

2. BDP programmed in C++, compiled with gcc v. 4.01 running on a Macintosh iMac computer with an Intel Core 2 Duo 2.33 GHz processorand 3 GB RAM, in conditions identical to those of Section 8.1. The 46 instances were solved using eight increasingly large windowwidths (1, 10, 50, 100, 250, 500, 750 and 1000). We considered a maximum of nine transitions from each vertex (number of types ofengines). The initial solution Z0 for each window width was the solution obtained by BDP with the previous window width, exceptin the case H = 1, where Z0 was established as1. The results for W and CPU times are also shown in Table 7. The maximum time allowedto obtain a reschedule when the line suffered an unexpected stop was two hours. With the available computer, this maximum timecorresponded to approximately H = 1000 for the powertrain instances.

From Table 7, we can comment on the following observations:

� CPLEX did not obtain a solution in five instances (28, 29, 32, 37 and 41) during the two hours of execution.� BDP with H = 1 obtained a better solution than CPLEX in 44 of 46 instances. In instances 34 and 43, CPLEX obtained slightly better solu-

tions than BDP with H = 1.� BDP with H = 10 surpassed CPLEX in all cases using CPU times under 2 s for the instances of Block I and under 11 s for the instances of

Block II.� The average improvement in overload W given by BDP with H = 1 on CPLEX was DW ¼WCPLEX �WBDP�1 ¼ 1411:01 s.� The average improvement in W given by BDP with H = 1000 in comparison to BDP with H = 1 was DW ¼WBDP�1 �WBDP�1000 ¼ 495:39 s,

whereas the average CPU time went from 0.56 s to 3791.07 s.� The values of the average overload W obtained by BDP decreased with saturation as the window width increased from

WBDP�1 ¼ 1401:65 s to WBDP�1000 ¼ 906:26 s.� In all instances, BDP always found a lower bound of W that was equal to or better than the bound offered by CPLEX.� We could not guarantee an optimum solution in some of the 46 instances.

9. Conclusions

We have presented two models, M3 and M4, on the sequencing of products to minimise the work overload in an assembly line withserial workstations. These models can be seen as an extension of the models proposed by Yano and Rachamadugu (1991) and Schollet al. (1998).

Page 17: EJOR dlsfnlsnfldksnfklsdn

J. Bautista, A. Cano / European Journal of Operational Research 210 (2011) 495–513 511

Using an example, we highlighted that these models may be useful when we have a production control system that informs the stationprocessors of the precise time at which the work in an operation must be stopped or intensified. For this reason, it will not always be pos-sible to implement the solutions offered by these models.

Thus, we proposed an extension of M3 and M4 to make the stations more autonomous, giving rise to models M5 and M6, which incor-porate rules about the interruption of the operations.

Then, we proposed a procedure based on Bounded Dynamic Programming to solve the sequencing problem to minimise overload, con-sidering the links between stations and the rules for the interruption of operations.

We performed a computational experiment with 225 instances from the literature using the solver CPLEX and BDP implementation,obtaining all of the optimums in average CPU times (for instance) of 4347.76 s for CPLEX and 0.0887 s for BDP. The experiment clearlyshows the superiority of BDP implementation over CPLEX.

We presented a case study related to the Nissan powertrain plant in Barcelona through 23 instances with T = 270 (a two-shift workingday) and an additional 23 instances with T = 540 (two working days), where each instance represented a possible scenario. The CPLEX sol-ver and BDP implementation were used once again to obtain solutions, and we observed the clear superiority of BDP over CPLEX in obtain-ing solutions and lower bounds. However, we were unable to guarantee that these solutions were optimum.

Finally, keeping in mind that we limited ourselves to solving models M5 and M6 in the present manuscript because these solutions suitthe current conditions of the powertrain plant studied, we propose the following future research: (1) design and use other solution pro-cedures for models M3, M4, M5 and M6; (2) extend these models to offer solutions that account for the levels of intensification (subject torealistic restrictions) that are required to complete the work; and (3) extend the models to multi-objective cases.

Acknowledgements

The authors greatly appreciate the collaboration of Nissan Spanish Industrial Operations (NSIO) as well as the Nissan Chair UPC for par-tially funding this research. This work was also partially funded by projects PROTHIUS-II, DPI2007-63026 and PROTHIUS-III, DPI2010-16759 including EDRF fundings from the Spanish government.

Appendix A

Table 8.

Table 8Optimums obtained for the 225 instances (45 programs x 5 structures) using model M5. The instances are named by program number and structure separated by ‘‘/’’. (V0. V, W andCPU symbolise the work required, the work completed, overload and CPU time required (in seconds), respectively.

Instance Vo V W CPU Instance Vo V W CPU Instance Vo V W CPU

1/1 6292 6243 49 11.52 16/1 5605 5567 38 1300.33 31/1 6410 6352 58 3723.751/2 6431 6185 246 5.44 16/2 5670 5535 135 172.44 31/2 6429 6229 200 1959.021/3 6407 5996 411 10.80 16/3 5705 5474 231 407.13 31/3 6523 6252 271 1210.911/4 7171 6294 877 15.52 16/4 5540 5300 240 333.16 31/4 6397 6083 314 453.671/5 6580 6337 243 5.58 16/5 5609 5515 94 250.55 31/5 6468 6288 180 2040.94

2/1 6448 6339 109 9.55 17/1 6400 6360 40 24989.86 32/1 6418 6358 60 362.232/2 6479 6113 366 11.17 17/2 6476 6322 154 1561.61 32/2 6511 6287 224 1520.172/3 6683 6254 429 15.86 17/3 6524 6258 266 3940.27 32/3 6593 6264 329 3315.092/4 7099 6293 806 14.33 17/4 6460 6121 339 24376.44 32/4 6711 6202 509 1219.492/5 6712 6350 362 30.80 17/5 6448 6320 128 3118.99 32/5 6530 6307 223 21462.22

3/1 6424 6314 110 9.45 18/1 6388 6331 57 8890.77 33/1 6414 6351 63 20434.953/2 6395 6108 287 10.39 18/2 6435 6247 188 10101.59 33/2 6443 6215 228 2431.003/3 6455 6010 445 3.23 18/3 6515 6224 291 1094.30 33/3 6561 6248 313 10045.583/4 5671 5591 80 0.23 18/4 6647 6170 477 3528.63 33/4 6635 6169 466 979.423/5 6268 6102 166 1.31 18/5 6520 6317 203 3112.27 33/5 6542 6319 223 5813.20

4/1 6436 6285 151 12.72 19/1 6392 6354 38 320.69 34/1 6386 6347 39 441.644/2 6599 6259 340 33.48 19/2 6503 6316 187 372.21 34/2 6509 6330 179 3476.924/3 6551 6214 337 10.00 19/3 6547 6236 311 3605.67 34/3 6487 6230 257 540.784/4 5899 5819 80 0.27 19/4 6723 6202 521 1176.39 34/4 6285 6033 252 86.534/5 6232 6020 212 0.27 19/5 6508 6302 206 27071.11 34/5 6354 6250 104 315.27

5/1 6370 6303 67 5688.09 20/1 6384 6348 36 192.69 35/1 6382 6339 43 215.675/2 6455 6159 296 457 59 20/2 6475 6326 149 2798.14 35/2 6441 6299 142 1237.995/3 6545 6128 417 943.59 20/3 6471 6214 257 226.83 35/3 6455 6180 275 261.835/4 7135 6294 841 9.48 20/4 6247 5995 252 58.86 35/4 6209 5957 252 174.525/5 6646 6350 296 647.83 20/5 6360 6284 76 69.47 35/5 6366 6272 94 62.06

6/1 6358 6312 46 5.53 21/1 6436 6351 85 65359.88 36/1 6390 6355 35 39.246/2 6413 6299 114 90.27 21/2 6491 6233 258 3861.78 36/2 6523 6341 182 1515.976/3 6431 6204 227 47.67 21/3 6563 6262 301 226.52 36/3 6525 6252 273 10945.806/4 6421 6083 338 229.25 21/4 6223 5995 228 70.61 36/4 6523 6146 377 3094.976/5 6424 6280 144 19 84 21/5 6404 6271 133 3678.36 36/5 6428 6257 171 6617.72

7/1 6364 6350 14 4.94 22/1 6434 6331 103 15804.28 37/1 6384 6332 52 15772.787/2 6515 6347 168 90.08 22/2 6511 6228 283 12042.48 37/2 6421 6267 154 1702.387/3 6479 6224 255 4852.97 22/3 6541 6204 337 89.80 37/3 6477 6228 249 821.13

(continued on next page)

Page 18: EJOR dlsfnlsnfldksnfklsdn

Table 8 (continued)

Instance Vo V W CPU Instance Vo V W CPU Instance Vo V W CPU

7/4 6535 6146 389 3076.41 22/4 6023 5869 154 3.63 37/4 6409 6083 326 853.677/5 6406 6240 166 1858.02 22/5 6324 6229 95 284.56 37/5 6446 6290 156 1490.00

8/1 6436 6369 67 3659.84 23/1 6432 6340 92 2893.02 38/1 6394 6339 55 4662.868/2 6437 6168 269 97.84 23/2 6477 6206 271 14503.19 38/2 6483 6241 242 1654.648/3 6569 6276 293 83.75 23/3 6525 6170 355 179.69 38/3 6569 6204 365 1541.618/4 6385 6083 302 85.67 23/4 5985 5831 154 4.20 38/4 6923 6248 675 1613.248/5 6490 6272 218 441.52 23/5 6330 6244 86 427.97 38/5 6588 6329 259 27950.77

9/1 6442 6347 95 2341.70 24/1 6438 6341 97 58324.36 39/1 6392 6327 65 7181.349/2 6539 6267 272 312.27 24/2 6525 6254 271 4241.22 39/2 6449 6203 246 6446.819/3 6617 6303 314 2031.69 24/3 6579 6277 302 821.20 39/3 6553 6202 351 1802.119/4 6499 6145 354 1845.88 24/4 6261 6033 228 122.36 39/4 6885 6234 651 1869.039/5 6472 6271 201 247.20 24/5 6398 6251 147 1349.44 39/5 6594 6337 257 2673.03

10/1 6430 6320 110 145.92 25/1 6434 6360 74 6374.41 40/1 6362 6340 22 28.4210/2 6497 6191 306 1376.95 25/2 6457 6209 248 1372.11 40/2 6481 6349 132 417.5510/3 6503 6112 391 5.08 253 6547 6228 319 114.44 40/3 6463 6228 235 1662.7710/4 5785 5705 80 0.20 25/4 6185 5957 228 13.05 40/4 6497 6132 365 2625.6410/5 6250 6203 47 4.08 25/5 6410 6276 134 288.14 40/5 6412 6288 124 658.33

11/1 6390 6345 45 10436.38 26/1 6440 6359 81 9575.78 41/1 6360 6326 34 131.3111/2 6469 6292 177 2337.83 26/2 6505 6237 268 1164.69 41/2 6447 6331 116 360.6311/3 6531 6234 297 4963.89 26/3 6601 6297 304 2506.94 41/3 6447 6216 231 242.2511/4 6685 6188 497 2764.61 264 6461 6129 332 1044.70 41/4 6459 6110 349 238.9111/5 6514 6340 174 3451.33 265 6478 6291 187 12453.34 41/5 6418 6296 122 309.66

12/1 6386 6346 40 11612.37 27/1 6438 6369 69 15144.13 42/1 6366 6339 27 626.1912/2 6455 6315 140 2341.53 27/2 6471 6207 264 995.66 42/2 6495 6320 175 1056.3412/3 6493 6240 253 1888.22 27/3 6585 6287 298 235.38 42/3 6501 6192 309 20323.3312/4 6447 6110 337 11290.49 27/4 6423 6109 314 385.09 42/4 6735 6202 533 2384.3012/5 6440 6314 126 2370.00 27/5 6484 6305 179 1499.64 42/5 6486 6295 191 6794.70

13/1 6388 6357 31 3542.86 28/1 6408 6334 74 3455.59 43/1 6362 6311 51 6547.8913/2 6489 6339 150 1483.39 28/2 6503 6281 222 28641.30 43/2 6427 6271 156 1400.3813/3 6509 6252 257 10937.13 28/3 6495 6180 315 70.55 43/3 6469 6186 283 1266.8313/4 6485 6132 353 4886.00 28/4 6035 5869 166 8.52 43/4 6659 6170 489 11708.7713/5 6434 6303 131 8910.48 28/5 6302 6232 70 40.89 43/5 6498 6314 184 918.80

14/1 6412 6363 49 12299.70 29/1 6406 6342 64 417.75 44/1 6368 6321 47 50178.4514/2 6463 6276 187 7299.72 29/2 6469 6255 214 49981.44 442/ 6475 6253 222 1802.0314/3 6539 6264 275 16845.02 29/3 6479 6146 333 219.98 44/3 6523 6160 363 1502.1114/4 6435 6110 325 1595.95 29/4 5997 5831 166 8.56 44/4 6935 6248 687 537.9514/5 6462 6318 144 6620.83 29/5 6308 6247 61 23.49 44/5 6566 6327 239 11194.28

15/1 6410 6354 56 20883.03 30/1 6416 6351 65 3957.08 45/1 6366 6307 59 6168.0315/2 6483 6302 181 2548.69 30/2 6531 6320 211 3098.97 45/2 6441 6215 226 7859.7015/3 6517 6238 279 333.67 30/3 6571 6280 291 5345.50 45/3 6507 6164 343 537.4215/4 6235 5995 240 161.05 30/4 6511 6146 365 1680.27 45/4 6897 6234 663 676.2215/5 6382 6283 99 1989.1 1 30/5 6450 6269 181 4646.91 45/5 6572 6335 237 1221.91

512 J. Bautista, A. Cano / European Journal of Operational Research 210 (2011) 495–513

References

Aigbedo, H., 2004. Analysis of parts requirements variance for a JIT supply chain. International Journal of Production Research 42, 417–430.Aigbedo, H., 2009a. A note on parts inventory and mass customization for a two-stage JIT supply chain with zero-one type of bills of materials. Journal of the Operational

Research Society 60/9, 1286–1291.Aigbedo, H., 2009b. On bills of materials structure and optimum product-level smoothing of parts usage in JIT assembly systems. International Journal of Systems Science 40/

8, 787–798.Bautista, J., Cano, A. Models for Mixed-Model Sequencing Problem with Overload Minimization considering workstations dependencies. A Case Study in Nissan Barcelona’s

Plant. European Journal of Operational Research, submitted for publication.Bautista, J., Cano, J., 2008. Minimizing work overload in mixed-model assembly lines. International Journal of Production Economics 112/1, 177–191.Bautista, J., Companys, R., Corominas, A., 1996. Heuristics and exact algorithms for solving the Monden problem. European Journal of Operational Research 88/1, 101–113.Bautista, J., Pereira, J., 2007. Ant algorithms for a time and space constrained assembly line balancing problem. European Journal of Operational Research 177/3, 2016–2032.Bautista, J., Pereira, J., Adenso-Dıaz, B., 2008. A GRASP approach for the extended car sequencing problem. Journal of Scheduling 11/1, 3–16.Bautista, J., Pereira, J., 2009. A dynamic programming based heuristic for the assembly line balancing problem. European Journal of Operational Research 194/3, 787–794.Bautista, J., Suárez, R. 2009. Mixed-model sequencing problem with overload minimization considering workstations dependencies. In: IEEE International Symposium on

Assembly and Manufacturing (ISAM 2009) Proceedings, vol. 1. pp. 351–357.Bolat, A., Yano, C.A., 1992a. Scheduling algorithms to minimize utility work at a single station on a 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 lines. Production Planning and Control 3, 406–412.Boysen, N., Fliedner, M., 2006a. Comments on solving real car sequencing problems with ant colony optimization. European Journal of Operational Research 182, 466–468.Boysen, N., Fliedner, M., 2006b. Comment on Gravel, M., Gagné, T.C., Price W.L., 2005. Review and comparison of three methods for the solution of the car sequencing problem.

Journal of the Operational Research Society 57, 1497–1498.Boysen, N., Fliedner, M., Scholl, A., 2009. Sequencing mixed-model assembly lines: Survey, classification and model critique. European Journal of Operational Research 192/2,

349–373.Dincbas, M., Simonis, H., Hentenryck, P.V. 1988. Solving the car-sequencing problem in constraint logic programming. In: 8th European Conference on Artificial Intelligence,

London, pp. 290–295.Ding, F.Y., Zhu, J., Sun, H., 2006. Comparing two weighted approaches for sequencing mixed-model assembly lines with multiple objectives. International Journal of

Production Economics 102, 108–131.Gagné, C., Gravel, M., Price, W.L., 2006. Solving real car sequencing problems with ant colony optimization. European Journal of Operational Research 174, 1427–1448.Gravel, M., Gagné, C., Price, W.L., 2005. Review and comparison of the three methods for the solution of the car sequencing problem. Journal of the Operational Research

Society 56, 1287–1295.

Page 19: EJOR dlsfnlsnfldksnfklsdn

J. Bautista, A. Cano / European Journal of Operational Research 210 (2011) 495–513 513

Monden, Y., 1998. Toyota Production System: An Integrated Approach to Just-in-Time, third ed. Norcross.Okamura, K., Yamashina, H., 1979. A heuristic algorithm for the assembly line model-mix sequencing problem to minimize the risk of stopping the conveyor. International

Journal of Production Research 17, 233–247.Parello, B.D., Kabat, W.B., Wos, L., 1986. Job-shop scheduling using automated reasoning: A case study of the car-sequencing problem. Journal of Automated Reasoning 2, 1–

42.Scholl, A., Klein, R., Domschke, W., 1998. Pattern based vocabulary building for effectively sequencing mixed-model assembly lines. Journal of Heuristics 4, 359–381.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 JIT 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., Rachamadugu, R., 1991. Sequencing to minimize work overload in assembly lines with product options. Management Science 37/5, 572–586.