Content uploaded by Lorenzo Tiacci

Author content

All content in this area was uploaded by Lorenzo Tiacci on Oct 25, 2017

Content may be subject to copyright.

- 1 -

Simultaneous balancing and buffer allocation decisions for the design of

mixed-model assembly lines with parallel workstations and stochastic

task times

Lorenzo Tiacci*

Università degli Studi di Perugia - Dipartimento di Ingegneria, Via Duranti, 93 – 06125 – Perugia, Italy

Abstract

The buffer allocation problem (BAP) and the assembly line balancing problem (ALBP) are amongst the most studied

problems in the literature on production systems. However they have been so far approached separately, although they

are closely interrelated. This paper for the first time considers these two problems simultaneously. An innovative

approach, consisting in coupling the most recent advances of simulation techniques with a genetic algorithm approach,

is presented to solve a very complex problem: the Mixed Model Assembly Line Balancing Problem (MALBP) with

stochastic task times, parallel workstations, and buffers between workstations. An opportune chromosomal

representation allows the solutions space to be explored very efficiently, varying simultaneously task assignments and

buffer capacities among workstations. A parametric simulator has been used to calculate the objective function of each

individual, evaluating at the same time the effect of task assignment and buffer allocation decisions on the line

throughput. The results of extensive experimentation demonstrate that using buffers can improve line efficiency. Even

when considering a cost per unit buffer space, it is often possible to find solutions that provide higher throughput than

for the case without buffers, and at the same time have a lower design cost.

Keywords: mixed-model assembly line; unpaced lines; asynchronous lines; buffer allocation; balancing; stochastic task times;

paralleling; genetic algorithm; discrete event simulation.

1 Introduction

Mixed model assembly lines have received a growing attention in the last years, due to their capability of

producing a variety of different product models simultaneously and continuously. This feature has become

fundamental with the increasing of customized products demand, and the design of such manufacturing

systems has nowadays a considerable industrial importance.

When different models are assembled in a line, the realized task times assigned to each station can vary, not

only for the variations in the speed of manual labour (stochastic task times), but also for the different

completion times required by different models in each station. In such conditions the adoption of

paced/synchronous lines gives rise to some difficulties. In fact, it is difficult to impose a production rate

given by a fixed cycle time for each station, because realized task times, and so the realized cycle time in

each station, are considerably dependent on the model types that are being assembled. For this reason the

adoption of un-paced asynchronous lines is usually preferred when different models have to be assembled.

In un-paced assembly lines, the stations can be decoupled by buffer stocks. If a station is generally faster

than another one, the buffer storage will soon be filled to capacity and lose its function. However, temporary

* Corresponding Author: Tel.: +39-075-5853743

E-mail address: lorenzo.tiacci@unipg.it

Web-site: www.impianti.dii.unipg.it/tiacci

- 2 -

deviations in realized task times, due to the model mix and/or to non-deterministic completion times, can be

compensated by allocating buffers among stations.

From these considerations it is clear that two fundamental aspects have to be taken into consideration in the

design of mixed model assembly lines: line balancing, to achieve a similar production rate in each station,

and buffers allocation, to compensate task times variations due to model mix and stochastic completion

times.

So far, the assembly line balancing problem (ALBP) and the buffer allocation problem (BAP) have been

treated in literature in a separate way, although they are closely interrelated. The majority of studies on the

BAP refer to flow-lines production systems, consisting in a linear sequence of unreliable machines, where

production rates in each stage are assumed to be known. The same problem can be transposed to assembly

lines, with the difference that production rates in each station depend on which tasks are assigned to it, that

is, on the result of the balancing procedure. Because even slight changes in the work content at a station

might lead to a more efficient buffer allocation and improve the system’s overall performance, the successive

planning of line balance and buffer allocation most likely will not lead to a global optimum of the whole

system (Boysen et al., 2008). As far as studies related to ALBP are concerned, they usually never consider

buffers between stations.

In this paper for the first time the line balancing problem and the buffer allocation problem are

simultaneously tackled. The problem considered is one of the most complexes in assembly line balancing

literature: mixed model lines, stochastic task times of completion, and parallel workstations.

While searching for a solution for this kind of problem one of the main issues is the performances evaluation

of such a complex line typology, considering also the extra-complexity due to the presence of buffers

between stations. To estimate the realized throughput is difficult, but it is needed in order to compare

different solutions.

We propose a genetic algorithm approach in which a parametric object oriented simulator is embedded in the

genetic algorithm structure to evaluate the fitness function (which include the realized throughput) of the

individuals at each iteration. This approach allows overcoming the limit of using indirect measures of

throughput, that can be calculated in an analytical way, but that are often not correlated to the realized

throughput.

The paper is organized as follows. In the next section a literary review on assembly line balancing problems,

buffers allocation problems and performances evaluation of assembly systems is carried out. In Section 3 the

particular problem taken into consideration is described in details. The genetic algorithm approach, coupled

to the parametric simulator for the objective function evaluation, is described in Section 4. Section 5 is

dedicated to the design of experiment for the evaluation of the proposed approach. In Section 6 results are

reported and discussed.

2 Literary Review

The literary review is organized in three sections. Section 2.1 is related to assembly line balancing problems,

with a particular focus on works related to the line features considered in this work: mixed model lines,

parallel workstations, and stochastic task times. Section 2.2 is focused on buffer allocation problems,

considering assembly systems in which the production rate in each station is not given a-priori, but is the

result of the balancing procedure. Section 2.3 is focused on the performances evaluation of assembly lines,

that is a critical and fundamental issue when different design alternatives have to be compared.

2.1 Line balancing

The Assembly Line Balancing Problem (ALBP) consists in assigning tasks to workstations, while optimizing

one or more objectives without violating tasks precedence constraints and any other restriction imposed on

the line. Scholl and Becker (2006) gave an overview of exact methods and heuristics developed to solve the

basic version of the problem, the so called Simple Assembly Line Balancing Problem (SALBP), which

- 3 -

provides single-model, paced line with fixed cycle time and deterministic task times. The SALBP can be

classified with respect to the objective type: in ‘type-1’ problem one tries to minimize the number of stations

for a given cycle time, while in ‘type-2’ problem one tries to minimize the cycle time for a given number of

workstations. So usually the two basic objectives (performances and costs) of the problem are treated in a

separate way, that is fixing one of the two as a constraint, and trying to optimize the other one. If both,

number of stations and the cycle time, can be altered, the problem is of ‘type E’, i.e. the line efficiency E can

be used to determine the quality of a balance. It is possible to maximize the line efficiency by simultaneously

minimizing the cycle time and the number of workstations, for example through a unique objective function

by applying objective-specific weighting factors.

Real problems are much more complicated than the SALBP, and research has recently evolved towards

formulating and solving generalized problems (namely Generalized Assembly Line Balancing Problem,

GALBP) with different additional characteristics, such as cost functions, equipment selection, paralleling,

stochastic task times and others. For a comprehensive classification of the possible features of the GALBP

see Becker and Scholl (2006) and Boysen et al. (2007).

The Mixed-model Assembly Line Balancing Problem (MALBP) can be seen as a particular case of the

GALBP. Here a set of similar models, that are variations of the same base product and only differ in specific

customizable product attributes, can be assembled simultaneously. Set-up times between models can be

reduced sufficiently enough to be ignored (Boysen et al., 2008). Studies published in the last years utilize

different approaches to solve it, such as: Simulated Annealing (McMullen and Frazier, 1998; Simaria and

Vilarinho, 2001; Vilarinho and Simaria, 2002), Ant techniques (McMullen and Tarasewich, 2003; McMullen

and Tarasewich, 2006; Yagmahan, 2011), Genetic Algorithms (Akpinar and Bayhan, 2011; Haq et al., 2006;

Simaria and Vilarinho, 2004; Tiacci et al., 2006; Zhang and Gen, 2011), and other heuristics (Askin and

Zhou, 1997; Bukchin et al., 2002; Jin and Wu, 2003; Karabati and Sayin, 2003; McMullen and Frazier, 1997;

Merengo et al., 1999).

Paralleling is another feature that characterizes many real assembly line configurations. There are different

forms of parallelism such as: parallel lines (Gokcen et al., 2006; Scholl and Boysen, 2009); parallel

workstations performing the same task set (Akpinar and Bayhan, 2011; Cakir et al., 2011); parallel two sided

lines (Ozcan et al., 2010; Roshani et al., 2012). When parallel workstations perform the same task set, it is

possible to perform tasks with processing time larger than the desired cycle time. In general, the possibility

to implement paralleling enlarges the solution space of the problem, so that feasible and potentially better

balanced configurations can be found (Tiacci et al., 2006; Vilarinho and Simaria, 2002).

The great majority of the studies on assembly line balancing problem consider deterministic task times.

Stochastic task times complicate very much the problem, because the blocking and starvation phenomena are

accentuated with respect to the deterministic case. For this reason, it becomes harder to predict line

performances , especially if different models are assembled. In fact, the variability of task times of different

models assigned to a workstation contributes to amplify blocking and starvation phenomena. The only papers

in literature that take into consideration stochastic task times, multiple products produced in a mixed-model

way, parallel workstations (without limits regarding the maximum number of replicas per work centre) are

the works from McMullen and Frazier (1998), McMullen and Tarasewich (2003), McMullen and Tarasewich

(2006) and Tiacci et al. (2006).

2.2 Buffer allocation

The buffer allocation problems have been extensively studied in the last decades, but they mostly refer to

transfer lines in which unreliable machines are assigned, and processing times, time between failures and

repair times are stochastic. In this context the inclusion of buffers increases the average production rate by

limiting the propagation of distributions, but at the cost of additional capital investments, floor space of the

line and inventory (Amiri and Mohtashami, 2012). In this type of problem, the average production rate in

each workstation is usually assigned, and it is not the result of a not trivial balancing procedure, which is on

the contrary requested in case of assembled products, where precedence constraints play a decisive role in

- 4 -

assigning tasks to workstations. Boysen et al. (2008) outlined that as even slight changes in the work content

at a station might lead to a more efficient buffer allocation and improve the system’s overall performance,

the successive planning of line balance and buffer allocation will most likely not lead to a global optimum of

the whole system. For example, an interesting attribute of asynchronous lines with no buffers is the so called

“bowl phenomenon” (Hillier and Boiling, 1966; Hillier and So, 1993), according to which the throughput of

a line can be improved by assigning smaller station loads to central stations of the line. A similar concept,

known as the “storage bowl phenomenon”, applies to buffer allocation, if buffer storages in the center (or at

bottleneck stations) are increased in size (Conway et al., 1988; Harris and Powell, 1999). It is difficult to

evaluate the interactions among these two effects, but it is clear that a sequential approach regarding

balancing and buffer allocation decisions may not lead to an optimal solution. Two studies by Hillier and

Hillier (2006) and Hillier (2013) approached the problem of simultaneously assigning the production rates

and the buffers size in unpaced reliable production lines, with no parallel stations. In these studies optimal

solutions are found for small instances (up to 4 stations) and for particular distributions (exponential or

Erlang) of processing times. In both these studies it is assumed that there is a fixed total amount of work to

be done, but that this work can be divided among the stations arbitrarily. That is, the complexity of the

Assembly Line Balancing Problem, where stations workload is determined by tasks assignment, that is in

turn constrained by precedence diagrams, is not considered.

On the other hand, there are no works in the ALBP literature that consider the extra complication of defining

the capacity of buffers between workstations while assigning tasks to workstations to obtain a balanced

solution. Battini et al. (2009) proposed an ‘indirect’ approach, that provides a step by step balancing-

sequencing procedure for mixed model assembly systems that aims to optimize the assembly line

performance and tries to contain the buffer dimensions. They divided the problem into two sequential sub-

problems: a long-term term balancing problem, and a short term sequencing problem. The tasks are first

assigned to each workstation (long term problem); then, to limit the use of buffers, the smoothness of the line

is optimized by choosing the most opportune sequence of models entering the line (short term problem). The

buffers capacity needed between each workstation is calculated ex-post through a simulation study. The

approach is indirect because the assignment of buffers capacity is not explicitly considered during the

balancing procedure of the line.

2.3 Performances evaluation

The design of an assembly line is a complex problem that, as many other industrial problems, has to take into

account two fundamental aspects: performances and costs. Performances of an assembly line are mainly

related to its throughput, i.e. to the number of products that can be completed in the unit time. One of the

main issues while solving ALBPs is that it is difficult to evaluate the throughput of a complex assembly line,

but it is necessary to compare different design alternatives. While costs of a determined line configuration

can be easily calculated from the amount of resources employed, it is often not easy to calculate its

throughput with an acceptable degree of precision.

Throughput analysis is important for the design, operation and management of production systems. A

substantial amount of research has been devoted to developing analytical methods to estimate the throughput

of production systems with unreliable machines and finite buffers. These models however are often meant to

be approximate models, and they often cannot mimic the manufacturing system dynamics very well and pose

restrictive assumptions (such as exponential distributions of processing times). Furthermore, they are often

complex in nature, and hard to develop (Li et al., 2009). Currently, analytical approaches for throughput

analysis are not able to take into consideration the same realistic line features (such as mixed models, parallel

workstations, non-exponential distribution etc.) that, on the contrary, algorithms developed for line balancing

provide.

For this reason most of the algorithms developed to solve mixed model assembly lines problems use some

‘indirect’ measure of throughput to compare the performances of different solutions during the searching

procedure. For example, methods that are developed to seek station assignments that lead to more balanced

- 5 -

workloads across stations and across products, like the above mentioned study by Battini et al. (2009), are

motivated to limit the effect, on the realized cycle time, of the sequencing of different models on the

assembly line. For an overview and a comparison among objectives to smoothen workload see Emde et al.

(2010). However one should remind that workload smoothing it is not an objective in itself, but a (supposed)

mean to achieve a high and stable throughput (Tiacci, 2012). Workload smoothing objectives are

substantially utilized, instead of throughput, because the throughput of a mixed model line is difficult to

estimate, while measures related to workload smoothing, for given tasks assignments, can be calculated

straightforwardly. But using workload smoothing as objective, as outlined by Karabati and Sayin (2003),

remains an approximate approach, for the very reason that the effects of the sequencing decision on the line

throughput are not incorporated explicitly.

Bukchin (1998) and Venkatesh and Dabade (2008) studied the correlation among different kinds of indirect

measures of throughput and the simulated throughput. From their works it is possible to conclude that is

difficult to find a measure of general validity for all the possible typologies of the problem and that a loss of

correlation of the same measures with the simulated throughput is expected as the number of features trying

to capture the complexity of real cases increases.

The only way to accurately evaluate the line throughput of a complex assembly line would be to build a

simulation model. However, as Bukchin (1998) and Altiparmak et al. (2007) outlined, the use of simulation

is not always practical, due to the need of evaluating a very large number of alternative system

configurations.

In this paper we adopt an approach that, thanks to the latest advances of the research on simulation

architectures and techniques, allows overcoming the limit to use, for the objective function evaluation,

indirect measures of throughput instead of the simulated one. This is performed by coupling a genetic

algorithm and an event/object oriented parametric simulator. The simulator, named Assembly Line Simulator

(Tiacci, 2012) and synthetically described in section 4.6, has some characteristics, like modularity and

fastness of execution, that allow it to be effectively coupled to those algorithms and procedures where

numerous variants of line configurations have to be simulated, and the evaluation of a fitness function (which

includes a line performances indicator, such as the throughput) has to be carried out several times.

3 The problem

The problem is to assign a certain number of tasks to a number of work centers, to define how many workers

there are in each work centre, to define the buffers capacity among WCs, while respecting precedence

constraints and trying to maximize the objective function.

3.1 Notation

i the task index (i = 0, …, N-1)

j the model index (j = 0, …, M-1)

k the work centre index (k = 0, …, P-1)

αj the demand proportion for model j

ct the imposed cycle time;

cteff the realized average cycle time;

N the number of tasks of the problem;

Nk the number of tasks assigned to work centre k;

M the number of models;

P the total number of work centres in the line;

tij the average time required to execute the task i on model type j;

σij the standard deviation of the time required to execute the task i on model type j;

cv the coefficient of variation of tij;

Wk the number of workers (or workstations) in work centre k;

- 6 -

Ek the number of pieces of equipment in work centre k (Ek = Wk . Nk);

Bk the buffer size between work centre k-1 and k;

CW annual cost of a worker;

CE annual cost of a piece of equipment;

CB annual cost per unit buffer space.

3.2 Tasks

A set of N tasks (numbered with i = 0,…, N-1) has to be performed in the line in order to complete each

product. Because we are dealing with mixed model lines, the number of models (types of product) to be

assembled can be higher than one, and it is indicated by M (numbered with j = 0, …, M-1). Input data are

thus represented by an N x M matrix tij whose elements represent the average completion time of task i on

model type j. If the completion of a model does not require the execution of a certain task, this would result

in a 0 in the corresponding matrix element. Task times are considered to be independent normal variates,

which is considered to be realistic in most cases of human work. The standard deviation

ij of the completion

time of task i for model j is taken equal to its mean value (tij) multiplied by the coefficient of variation cv (

ij

= cv . tij).

3.3 Line features

In the line, each operator has a WorkStation (WS) where he performs one or more tasks. An annual cost CW

is associated to each operator. Each Work Centre (WC) consists of either one WS, for the case of non-

paralleling, or multiple parallel WSs (see Fig. 1).

Figure 1. An assembly line with parallel workstations.

‘Paralleling’ means that when a WC consists of two or more workstations, all the tasks assigned to the WC

are not shared among the WSs, but each WS performs all of them. Thus an increment of production capacity

of the WC is obtained through the addition of one (or more) WS and the related operator who performs the

same set of tasks. Each task requires a different piece of equipment to be performed, to which a cost CE is

associated . So if one station is parallelized there is an extra cost due to equipment duplication.

The line is asynchronous, that is blockage as well as starvation are possible. Pieces are retrieved from buffers

following a First In First Out rule. If a buffer is placed before a WC with parallel WSs, pieces are retrieved

from the same buffer by all the WSs.

One WC with multiple WSs is considered busy if every WS inside is busy. If a WS finishes its work on a

workpiece while the subsequent WC is still busy, the workpiece cannot move on, and remains in the current

WS keeping it busy (‘blocking after processing’ policy); the WS will be released (i.e. it will be able to

process another workpiece) only when the workpiece leaves the WS. The first WC is never starved (there is

buffers

work centre

work station

operator

- 7 -

always raw material for the first WC) and the last station is never blocked (there is always storage space for

the finished product).

Models enter the line with a fixed sequence, able to comply with the demand proportion for each model. Set-

up times between models are considered negligible.

3.4 Constraints

The way tasks are assigned to WC is constrained by the precedence relations among tasks (which impose a

partial ordering, reflecting which task has to be completed before the others).

3.5 Objective (Fitness function)

The objective to minimize is the Normalized Design Cost (NDC), introduced by Tiacci et al. (2006). The

NDC takes into consideration the two fundamentals aspects between the trade-off exists: the economic aspect

and the performance aspect.

The economic aspect is evaluated through the Design Cost, that is in our case the total annual cost for labour,

equipment and buffers costs of the line configuration:

11

01

PP

k k k

kk

DC CE E CW W CB B

(1)

As shown in eq. (1), a cost per unit buffer space is considered, as in (Hillier and Hillier, 2006).

The performance aspect is taken into consideration introducing the realized cycle time (cteff), i.e. the actual

average cycle time of the line, that also corresponds to the throughput inverse. The realized cycle time can be

different from the imposed one (ct), but if cteff is higher than the ct a penalty in the evaluation of the line

configuration is considered. This is attained by increasing the Design Cost value if

eff

ct ct

:

2

1

eff

eff

eff

DC if ct ct

NDC ct ct

DC z if ct ct

ct

(2)

where z is a penalty factor that can be assigned according to the required observance of ct. The NDC reflects

the fact that in real cases a small deviation on the average cycle time with respect to the theoretical one is

admitted, especially if this implies consistent savings in terms of line configuration. Note that for z tending to

infinity the constraint related to the imposed cycle time becomes strict (type-I problem), while for z tending

to 0 the problem becomes equivalent to design costs minimization, with little regard for the imposed cycle

time. So in the latter case the algorithm could return solutions with effective cycle time quite distant from the

imposed ones.

4 The genetic algorithm approach

In this section a genetic algorithm approach to solve the defined problem is described. The genetic algorithm

is coupled with an object event/object oriented simulator that is used to calculate the individuals fitness

(Section 4.6).

4.1 Representation

Each individual is represented through a triple of chromosomes (see Fig. 2). Each chromosome is formed by

a number of genes, and can be seen as a vector formed by a number of elements. The first chromosome

- 8 -

contains an ordered sequence of all tasks, i.e. a number of elements equal to N. Their order corresponds to

the same order they are assigned to WCs.

The second chromosome is also a vector with N elements, and establishes the WC the task is given to. In this

chromosome the WCs are numbered in ascending order starting from the first one in the line, to the last one.

So when a task is assigned to a different WS with respect to the preceding task, the corresponding value in

the second chromosome will be incremented by one. Taking for example the individual depicted in Figure 2,

tasks 0,3 and 1 will be assigned to WC#0, tasks 6 and 4 to WC#1, tasks 2 and 5 to WC#2 and tasks 7,8,9 to

WC#3. In this way we chose to separate the sequence of tasks and the assignments to the stations into two

chromosomes. Alternatively, one could use separators in a unique variable length chromosome to split up a

sequence of tasks in different stations, as in Chica et al. (2011). However, we have preferred a separate

chromosome to represent task assignments because the use of separators implies the introduction of repair

mechanisms to be applied after the crossover operator, in order to redistribute spare tasks among available

stations and removing empty stations.

Figure 2. Chromosomal representation.

The third chromosome has a variable length (i.e. a variable number of genes), equal to the number of WCs in

the line decreased by 1. The ordered sequence represents the capacity of the buffers between each WC of the

line. In the example of Figure 2, the capacity of the buffer between WC#0 and WC#1 is 2, there is no buffer

between WC#1 and WC#2, and a buffer of 4 units between WC#2 and WC#3.

4.2 Decoding

The decoding phase is performed as follows. Tasks assignment to each WC is performed, as above

mentioned, by comparing the first two chromosomes, and assigning the task in the n-th position of CH1 to

the corresponding WC indicated in the n-th position of CH2. Once all tasks have been assigned to WCs, it

remains to calculate the number of workers (i.e. WSs) in each WC. This is performed by imposing a certain

probability of completion, pc, of all tasks assigned to each WC. To do this the so called ‘average model’ is

considered. First of all the weighted average

ˆ

i

t

, and the weighted standard deviation

ˆi

of the time needed

to execute each task i are calculated:

ˆ

i j ij

j

tt

,

2

ˆi j ij

j

. (3)

Then, the total time needed in a WC to perform all the tasks assigned to it will follow a normal distribution

N

2

ˆˆ

,

ii

ii

t

with mean value equal to the sum of average task times assigned to it,

ˆ

i

it

, and

standard deviation equal to

2

ˆi

i

. Using the inverse normal distribution function, it is possible to

calculate the time needed to complete all tasks assigned to a WC with a probability pc. Indicating with Tlimit

0 3 1 6 4 2 5 7 8 9

0 0 0 1 1 2 2 3 3 3

CH1

CH2

sequence with which tasks will be given

N° of work centre the task is given to

2 0 4

CH3

Buffer size between WCs

- 9 -

this time, the number of workers Wk assigned to the WC will be equal to the minimum integer value so that

ct .Wk ≥ Tlimit.

Table 1 shows how the number of workers Wk is calculated for the individual represented in Figure 2,

considering an imposed cycle time ct = 12, and pc = 80%.

Finally, the buffer capacity between each WC is indicated, as described in the preceding section, in the third

chromosome. Figure 3 shows the final line configuration related to the individual depicted in Figure 2. Note

that a buffer capacity equal to 0 means that there is no buffer between two WCs.

WCk

task

Tlimit

Wk

0

0

7

1.4

22

2.16

23.82

2

3

6

1.2

1

9

1.8

1

6

7

1.4

17

2.44

19.05

2

4

10

2

2

2

6

1.2

10

1.44

11.21

1

5

4

0.8

3

7

10

2

21

2.57

23.16

2

8

4

0.8

9

7

1.4

Table 1. Calculating the number of workers Wk in each WC (ct=12; pc=80%)

Figure 3. The line configuration corresponding to the individual depicted in fig. 2.

4.3 Initial population

The initial population is created randomly, respecting the precedence constraints. The first chromosome is

generated following the procedure adopted by Kim et al. (1996):

Step 1. Form an initial available set of tasks having no predecessors, and create an empty string (i.e. an

empty chromosome).

Step 2. Terminate, if the available set is empty. Otherwise go to Step 3.

Step 3. Select a task from the available set at random, and append it to the string.

Step 4. Update the available set by removing the selected task and by adding every immediate successor of

the task if all the immediate predecessors of the successor are already in the string. Go to Step 2.

2

4

tasks assigned

WC#0

0,3,1

WC#1

6,4

WC#2

2,5

WC#3

7,8,9

buffer size

- 10 -

Note that in Step 4 the available set is updated with tasks satisfying precedence constraints so that it always

ensures the generation of a feasible sequence.

To generate the second chromosome, a value equal to 1 is initially assigned to the first position of the vector.

Then the subsequent position can assume the same value as the previous one, or a value increased by 1. This

option is made at random, with a probability of 50%.

The generation of the third chromosome is done together with the second one: each time the value of the

gene in the second chromosome is increased by 1 (i.e. a new WC is created), a new gene is added to the third

chromosome, whose value is an integer uniformly distributed between 0 and b1 and represents the buffer

capacity before the corresponding WC.

4.4 Crossover

The Crossover operator is applied during the reproduction phase. Two individuals, namely p1 and p2

(parent1 and parent2), generate two children s1 and s2. The crossover operator involves all the three

chromosomes.

A single point crossover operator is applied for the first chromosome CH1 (Fig. 4a). A cut point c is chosen

randomly in one parent (p1), and the elements after the cut point are copied into the same position of the

offspring s1. These elements are removed from the other parent p2, and the remaining elements of p2 are

copied into the initial positions of s1 in the same order as they appear in p2. In this way a feasible sequence

that satisfies precedence restrictions is generated, avoiding also duplication or omissions of tasks.

For the second chromosome (CH2) the following method is adopted (Fig. 4b). The chosen cut point c is the

same as the one of the first chromosome. The values in the preceding positions are copied in the same order

from p1 to s1. Let d represent the difference between the last copied value of p1 and the corresponding value

of p2. The values of the positions to the right of the cut point of p2 are copied in the same positions in s1

after being increased by d. Note that in this way the first value after the cut-point in s1 can assume or a value

equal to the preceding gene (position), or at most increased by 1.

To generate the third chromosome (CH3) of the offspring it is necessary to gather information from both the

second and the third chromosomes of the parents (see Fig. 4c).The procedure starts by taking into

consideration the second chromosome (CH2) of each parent, where the same chosen cut point c of the

preceding steps is considered. Then the value in the preceding positions with respect to c is taken into

consideration to generate the cut points c’ and c’’ in the third chromosome (CH3) of the respective parents.

For example in the case of the individual depicted in Fig. 4c, suppose that the random cut point for CH2 of

p1 is c=5, that is the cut point between the 5th and the 6th element of the chromosome. So the value of the 5th

element has to be taken into consideration to generate the cut point in the CH3 of p1. In this case the value of

the 5th element is 2, so a cut point c’=2 (between the 2nd and the 3rd element) is generated in CH3 of p1. The

same procedure stands for p2: in this case the value of the 5th element of CH2 is 1, so a cut point c’’ = 1

(between the 1st and the 2nd element) is generated in CH3 of p1.

When the cut points are generated in the third chromosomes of both parents, the elements of p1 before the

cut point c’ are copied in the initial position of the third chromosome of s1. Then the elements after the cut

point c’’ in p2 are appended to the third chromosome of s1. In this way the correct number of genes in the

third chromosome of s1 is always guaranteed.

The second offspring s2 is generated inverting p1 and p2 roles.

4.5 Mutation

When a mutation occurs, the operator is applied to all the three chromosomes of the individual. For the first

chromosome the feasible insertion method is adopted (Kim et al., 1996). A task is randomly selected (eg.

task 5 in Fig. 5a) and its position is swapped with another feasible position in the chromosome. As in a

feasible sequence the selected task must follow all of its immediate predecessors and precede all of its

- 11 -

immediate successors, the potential positions are consecutive, forming a substring in the parent. Among the

potential insertions positions, one is randomly chosen.

Regarding the second chromosome (Fig. 5b), the mutation takes place in the following way: a position in the

chromosome is randomly chosen. Let p represent the value contained in this position, and l the value of the

preceding position. Naturally will be l ≤ p. If l = p, then all the values from p (included) onwards are

increased by one. This means that one WC has been divided into two. If l < p then all the values from p

onwards are decreased by one. This means that two WCs have been united.

The mutation of the third chromosome (Fig. 5c) is done by randomly selecting one of the element, and then

randomly increasing or decreasing by one unit the buffer capacity.

a. b.

c.

Figure 4. Crossover operator.

1 2 5 3 6

142 7 5 3 6 8 9 10

2 3 6 1 5 4 8 7 9 10

random cut point

p2

p1

s1

4 8 7 9 10

CH1

CH1

CH1

c

6

4 1 0 2 3

CH3

1 2 3 3 3

0 0 1 1 2 2 2 2 3 3 0 0 0 1 1

p2

p1

CH2 CH2

CH3

random cut point

4 1 63

CH3

2 3 4 4 40 0 1 1 2

s1

CH2

c’ = 2 c’’ = 1

c = 5 c = 5

1 2 3 3 3

2 3 4 4 40 0 1 1 2

0 0 1 1 2 2 2 2 3 3

0 0 0 1 1

d

= 2 –1 = +1

random cut point

p2

p1

s1

CH2

CH2

CH2

+1 +1 +1 +1 +1

c

- 12 -

a. b.

c.

Figure 5. Mutation operator.

4.6 Fitness evaluation: the Assembly Line Simulator (ALS)

The fitness of an individual is the Normalize Design Cost (eq. (2)). When an individual is decoded, all the

info related to the number of WCs in the line, the number of workers in each WC, the tasks (and thus the

pieces of equipment) assigned to each WC, the buffers capacities between WCs are known. We will use the

term ‘line configuration’ to refer to this set of information. So the DC of the line configuration associated to

the individual can be calculated straightforwardly through eq. (1).

The evaluation of the effective cycle time cteff of the line configuration (needed to calculate the NDC) is

performed by exploiting the integration capabilities of an Assembly Line Simulator (ALS) (Tiacci, 2012).

ALS is a parametric event-oriented simulator, developed in Java, capable to immediately calculate the

average cycle time of a complex line by simply receiving as inputs the task times durations, the line

configuration, and the sequence of models entering the line. Thanks to its object-oriented architecture,

different lines configurations can be created by the mean of very simple array representations, so that the

time required for building the model is zeroed. ALS has been developed following an event oriented

paradigm: the simulation run is performed only by events scheduling, rescheduling, cancelling etc.; by

avoiding the use of ‘processes’, execution times are kept very low with respect to the analogous process-

oriented version (Tiacci and Saetta, 2007), arriving to outperform Arena. These characteristics allow ALS to

be effectively coupled to those algorithms and procedures where numerous variants of line configurations

have to be simulated, and the evaluation of a fitness function (which includes a line performances indicator,

such as the cycle time in our case) has to be performed several times. ALS allows to overcome the limit of

1 4 2 7 5 3 6 8 9 10

CH1

possible insertion points

1 4 7

10

2 5

8 9

3 6

-1

before

mutation

after

mutation

4 1 0

CH3

4 0 0

CH3

2 3 4 4 4

1 1 1 2 2

CH2

3 4 5 5 51 1 2 2 3

+1 +1 +1 +1 +1+1

CH2

before

mutation

after

mutation

- 13 -

using traditional measures (not simulation-based) of the performance parameter (the line throughput or,

equivalently the effective cycle time) that are poorly correlated to its real value. To embed ALS, the genetic

algorithm procedure has been developed using the same programming environment of the simulator (Java).

ALS has then been imported as a library (for details refer to ALS documentation). ALS is contained in a

package named lineSimulator, which provides the public class Simulation, whose constructor’s

arguments represent the line configuration that has to be simulated and the other inputs needed to perform

the simulation (task times, models sequence etc,). When a Simulation object is created, the simulation model

of the assembly line is created, the simulation is performed and outputs (f.e. average cycle time, average flow

time, average WIP) are stored in the object attributes. To evaluate the average cycle time cteff of each line

configuration related to an individual, we set the simulation run performed by ALS to end when 3000 loads

have been completed.

It is noteworthy that annual inventory costs (equal to WIP multiplied by annual unit holding cost) could have

been considered, in the objective function, instead of buffer space cost. In fact, as above mentioned, ALS is

able to provide the average WIP as one of the outputs of the simulation. However, the amount of WIPs and

buffer spaces are expected to be highly correlated.

The methodology to generate different sequences of models entering the line has been chosen to reflect the

different nature of the balancing and the sequencing problems. The balancing problem has a long-term

nature, concerning the design phase of the assembly line. The sequencing problem has a short-term nature,

concerning the daily production. In other words, the exact production sequence is not usually already known

during the design stages of the assembly line (balancing problem), but only a few days before production

starts. For this reason the different design alternatives during the searching procedure are evaluated just

assuming a determined demand proportion among models, without specifying any exact sequence. This is

carried out by exploiting the possibility provided by ALS to generate random sequences of models while

respecting a determined demand proportion among models.

Once obtained cteff it is possible calculate the individual fitness function through eq. (2).

4.7 Genetic algorithm iterations and resulting general structure

The genetic algorithm structure is depicted in Fig. 6. After creating the initial population of NP individuals,

during the reproduction all the individuals are randomly coupled. Each couple of parents generates a couple

of children (as described in Section 4.4) that are added to the initial population. Each individual has now a

certain probability mr (mutation rate) of undergoing a mutation (Section 4.5). Each mutated individual is

added to the population, but the original one is also maintained in the population.

After terminating the mutation procedure, the fitness function of each individual of the resulting population

is calculated (fitness evaluation), and only the best NP individuals survive and pass the next generation. After

a number G of iterations the algorithm stops and the individual with the best fitness is considered the final

solution.

Figure 6. Genetic algorithm iterations and general structure.

initial population

selection

reproduction

(crossover)

mutation

new generation

iterations

- 14 -

5 Design of experiment

5.1 Experiment 1

The proposed approach has been tested on 5 problems (Bartholdi, 1993; Gunther et al., 1983; Rosenberg and

Ziegler, 1992; Scholl, 1993; Wee and Magazine, 1981) of different size, varying the number of tasks

between a minimum of 25 and a maximum of 297. With the aim of exploring a larger number of cases, each

of the 5 problems has been solved for 4 different cycle times (see Table 4). Furthermore, each of the 20

problems obtained has been solved for two different mixes (M = 2 products and M = 4 products), obtaining a

total number of 40 different explored cases.

The problems precedence diagrams can be downloaded from the dataset of Scholl (2012), in which the

number of tasks and precedence constraints among tasks are defined for a single model. Figure 7 shows for

example the precedence diagram of the 35 tasks problem from Gunther.

Figure 7. Precedence diagram of Gunther 35.

The task times tij for both the 2 and the 4 model instances that have been created for our study are available

at (Tiacci, 2015b). A coefficient of variation cv = 0.3 has been utilized to obtain task times standard

deviations. As it was mentioned in Section 4.6, during the searching procedure only the demand proportion

among models has been assumed to be known. In 2 models problems, the demand has been equally

distributed with 50% for m#1 and 50% for m#2. In 4 models problems, the following mix has been assumed:

50% m#1, 20% m#2, 20% m#3, 10% m#4. Sequences of models have been randomly generated while

respecting these demand proportions. The annual costs of a worker (CW) of a piece of equipment (CE) and

for unit buffer space (CB) have been considered respectively equal to 30000 and 3000 and 300 €/y. The

values of the genetic algorithm parameters utilized in the study are: NP = 40; mr = 0.55; G = 100, pc = 0.5,

b1 = 0.

The final solution obtained by a single run of the genetic algorithm is evaluated on the basis of the

Normalized Design Cost, considering a penalty coefficient z = 20 (see eq. (2)). To obtain the NDC value the

line configuration corresponding to the final solution is simulated again 10 times using ALS, for a length

equivalent to the completion of 5000 loads, and the average value of the cycle time is then used, together

with the number of workers, pieces of equipment, and buffer sizes, to calculate the NDC trough eq.(2). The

simulations carried out through ALS, for the final evaluation of solutions, consider deterministic sequences

of models entering the line: the sequence 1212121212 for 2 models problems; 1213141213 for 4 models

problems (McMullen and Frazier, 1998).

There is no other algorithm in literature which can be compared to ours. However it is interesting to evaluate

the potential advantage of using buffers (we will refer to the approach presented here in as ‘GA+BUF’) with

respect to an analogous genetic algorithm approach (indicated later on simply as ‘GA’) in which it is

0

1

4

6

9

11

2 3 10

57

13

17

812

13

27

32

14 15 20

16 19

18

21

24

29

22 23 26

25

33

28

30 31

34

- 15 -

assumed that there are no buffers between WCs. This is obtained, with respect to the approach proposed here

in, considering just the first two chromosomes for the individual representation, and applying the crossover

and mutation operators just to these two chromosomes. GA has already demonstrated its superiority with

respect to the other algorithms, in particular Simulated Annealing and Genetic algorithms approaches,

presented in literature, able to solve the same problem type without buffers (mixed-model, parallel stations,

stochastic task times of completion) (Tiacci, 2015a).

All the 40 instances above described have been solved following both the approaches. Because of the stochastic nature

of the genetic algorithm and the simulator, the solution found for an instance changes if the procedure is repeated using

a different random seed. For this reason, each of the 40 instances has been solved 20 times, and the mean and standard

deviation values of the NDC for each instance have been calculated (results are shown in Table 4). A comparison of the

best solutions found by the two approaches (GA+BUF and GA) has been made (Tables 4-7).

Table 2 summarizes the values of the parameters utilized in the experiment.

Parameter

Value

Basic GA parameters

Population size (NP)

40

Number of iterations (G)

100

Mutation rate (mr)

55%

Crossover rate (cr)

100%

Representation & other data

Penalty coefficient (z)

20

Probability of completion (pc)

50%

Worker cost (WC)

30000 €/year

Piece of equipment cost (EC)

3000 €/year

Buffer space cost (BC)

300 €/year

Objective function evaluation during each iteration

Simulation length (to calculate cteff)

Sequence of models

3000 loads

Random

Demand proportion of models:

2 models problems:

4 models problems:

m#1, m#2, m#3, m#4

50%, 50% - -

50%, 20%, 20%, 10%

Objective function evaluation of the final solution

Simulation length (to calculate cteff)

5000 loads

Number of replication

10

Deterministic sequence of models:

2 models problems:

4 models problems:

…1,2,1,2…

…1,2,1,3,1,4,1,2,1,3…

Design of experiment

Number of instances

40

Number of replications for each instance

20

Table 2. Experiment 1 settings.

- 16 -

5.2 Experiment 2

The structure of experiment 2 is the same of experiment 1, but refers to a more realistic scenario, in which

many of the simplifying assumptions of the first experiment have been relaxed, such as a limited number of

models, the same pieces of equipment costs and the same coefficient of variation for all tasks. To do this a

new instance has been generated, taking the same precedence diagram of the most complex instance in

literature, the one from Scholl with 297 tasks.

Firstly a coefficient of variation cvi for each task i has been randomly generated from a uniform distribution

with range [0.1, 0.5]. Analogously, different pieces of equipment costs CEi have been randomly generated

from a uniform distribution with range [100, 10.000].

Then, average completion times for 200 different models have been randomly generated, taking the task time

ti of the Scholl’s instance as reference. To do this, different degrees of customization and optional equipment

have been considered. Basically, tasks fall into three different categories (Golz et al., 2012):

common tasks have to be performed into every model. In this case the average task time is the same

for all models, and equal to ti;

OR-tasks are optionally performed depending on the customer specifications. This kind of task are

modelled assuming that they are performed only for one model (randomly chosen), with an average

completion time ti. For all the other models the completion time is set equal to 0;

XOR-tasks represent variants that are performed in every model. These tasks have been generated by

randomly assigning to each model an average completion time uniformly distributed in the range

[0.7ti, 1.3ti].

In this experiment, the degree of variability is defined by the fraction of the three different task categories as

low, medium and high. In the low task variability instances the distribution of tasks is defined as 70% for

common and 15% each for OR and XOR-tasks, while these fractions are 50 and 25% in the medium and 30

and 35% in the high part variability instances.

Low

Medium

High

70% common tasks

50% common tasks

30% common tasks

15% OR tasks

25% OR tasks

35% OR tasks

15% XOR tasks

25% XOR tasks

35% XOR tasks

Table 3. Degree of tasks’ variability

The demand proportion of each model and the exact model sequences for the final evaluation has been

generated for each instance in the following way. An exact sequence is firstly generated by appending each

model to the sequence a number of times drawn from a uniform distribution with range [1, 4]. Then, the

obtained sequence is randomly shuffled. The demand proportion for each model is calculated considering the

same proportion observed in the deterministic sequence. All the other settings are the same of experiment 1.

The instances data can be downloaded from (Tiacci, 2015b).

6 Results

Table 4 shows that GA+BUF obtains always mean values of NDC lower than GA. Considering a null

hypothesis H0: NDC(GA+BUF) ≥ NDC(GA), the P-value of the statistical test (difference in means of two

normal distributions, variances unknown and not necessarily equal) resulted lower than 0.001 in 34 out of the

40 instances, indicating that in these cases the null hypothesis has to be rejected with a probability of 99.9%,

and that the alternative hypothesis H1: NDC(GA+BUF) < NDC(GA) has to be accepted.

Decrease of NDC (indicated as %diff) reaches the 8% in some instances.

- 17 -

It can be observed that using buffers improves NDC mostly for small and medium sized instances, while for

problems from Barthold and Scholl (respectively 148 and 297 tasks), improvements are less important and

the significance levels of the statistic test worsen, especially in the Barthold’s problem.

Table 5 shows in details the results related to the best solutions found by GA and GA+BUF for each

instance.

In almost all the instances GA+BUF obtains a lower NDC. The reduction of NDC is obtained both through a

reduction of the effective cycle time cteff, which is achieved in almost all the instances (35 out of 40), and

through a reduction of the design cost DC (in 31 cases out of 40). It is noteworthy that in 26 cases out of 40

the use of buffers allows to achieve both these objectives at the same time, providing simultaneously more

efficient and economic solutions than in the case without buffer. Table 6 and Table 7 show the best solution

found respectively through GA and GA+BUF for the problem Gunther 35, 4 models, ct=30 (the precedence

diagram for this problem is depicted in Figure 7). In this example it is clear how the use of buffers allows

enlarging the solution space. In fact, although the number of WCs increase from 12 to 14, the use of buffers

allows decreasing paralleling (WSs decreases from 20 to 19), improving at the same time the performance

related to the effective cycle time of the line.

The use of buffers in production lines is usually linked, in the literature, to two concepts that are often

considered necessarily connected: performances improvement and increasing design costs. From this point of

view, there are 4 interesting cases in which a counter intuitive behaviour can be observed: the use of buffers

brings to a solution with a higher cycle time and a lower design cost than without buffers. It is noteworthy

that, however, even in these cases consistent reductions of NDC are obtained. This means that the possibility

to use buffers allows enlarging the solution space of the problem, and that the proposed algorithm is able to

explore this space to find solutions that would be hardly considered by standard constructive heuristics.

Table 8 shows in summary other characteristics of the best solutions found by GA and GA+BUF related to

all the 40 instances: the total number of WCs in the line, P; the total number of workers (or equivalently

WSs) in the line, WTOT=Wk

P-1

k=0 ; the total number of pieces of equipment in the line, ETOT=k

P-1

k=0 ; the

paralleling degree,

= WTOT/P; the total capacity of buffers in the line, BTOT=k

P-1

k=1 ; the greatest capacity of

a buffer in the line, BMAX = maxk (Bk); the percentage of WCs in the line that are preceded by a buffer,

B%=( βk

P-1

k=1 /(P-1), where βk = 1 if Bk > 0, βk = 0 otherwise. Off course the latter three characteristics are only

given for GA+BUF. The columns under the label “(GA+BUF)vs(GA)” indicate if the parameters P, WTOT,

ETOT,

are lower (“<”) or higher (“>”) in the solution provided by GA+BUF than in the corresponding one

provided by GA.

It is possible to outline how the solutions provided by GA+BUF are characterized by the use of small

buffers, that are rather distributed along the line. In fact, most of the solutions show a consistent percentage

(often higher than 50%) of WCs preceded by a buffer, while the maximum capacity of each buffer is lower

than or equal to 2 units in more than a half of the instances, and never exceeds 4 units.

In most of the cases (29 out of 40 instances) a reduction of the number of workers is obtained, while in 18

cases a reduction of the total number of pieces of equipment is achieved. There are 13 cases in which both

workers and pieces of equipment are reduced.

The GA+BUF algorithm seems to exploit the possibility to utilize buffers to find solutions with different

paralleling degree with respect to GA. However, it does not seem that the use of buffers is correlated to

solutions with higher or lower paralleling degree: in 17 cases out of 40 the paralleling degree decreases, in 13

cases increases, while in the remaining cases remains the same. The best solutions found by both methods for

all the 40 problems are published at (Tiacci, 2015c).

- 18 -

Table 4. Results of experiment 1

NDC (GA)

NDC (GA+BUF)

Problem

size

M

ct

Mean

St. Dev.

Mean

St. Dev.

%diff

P-Value

Roszieg

25

2

18

349,340

6,755

337,737

11,588

-3.32%

0.000

14

456,719

6,741

432,344

11,170

-5.34%

0.000

11

556,614

8,868

519,825

6,109

-6.61%

0.000

9

668,380

5,922

629,705

10,129

-5.79%

0.000

Gunther

35

2

54

461,962

6,398

444,195

13,317

-3.85%

0.000

41

617,048

7,011

590,459

16,492

-4.31%

0.000

36

678,793

6,684

650,360

12,946

-4.19%

0.000

30

793,423

8,628

739,983

12,788

-6.74%

0.000

Wee-mag

75

2

34

2,131,852

17,412

2,061,980

17,777

-3.28%

0.000

28

2,551,227

19,350

2,360,792

19,581

-7.46%

0.000

24

3,061,146

29,515

2,805,611

42,700

-8.35%

0.000

21

3,366,757

13,510

3,334,198

14,762

-0.97%

0.000

Barthold

148

2

470

949,227

20,431

924,543

23,876

-2.60%

0.001

403

1,039,616

22,178

1,017,833

25,158

-2.10%

0.003

378

1,070,935

19,380

1,065,328

24,568

-0.52%

0.214

351

1,125,704

28,487

1,112,551

18,864

-1.17%

0.047

Scholl

297

2

1515

2,906,985

30,937

2,842,294

51,014

-2.23%

0.000

1394

3,146,223

38,956

3,041,026

54,694

-3.34%

0.000

1301

3,276,713

61,707

3,207,868

35,550

-2.10%

0.000

1216

3,489,616

36,080

3,378,069

42,471

-3.20%

0.000

Roszieg

25

4

18

355,171

11,722

340,177

9,252

-4.22%

0.000

14

459,014

6,309

430,499

10,992

-6.21%

0.000

11

557,234

6,416

526,835

10,584

-5.46%

0.000

9

672,520

4,113

630,576

15,199

-6.24%

0.000

Gunther

35

4

54

462,558

7,573

440,614

6,588

-4.74%

0.000

41

622,918

10,751

583,174

17,631

-6.38%

0.000

36

679,911

8,942

648,196

18,679

-4.66%

0.000

30

792,238

7,152

741,642

11,321

-6.39%

0.000

Wee-mag

75

4

34

2,137,600

16,907

2,061,492

25,831

-3.56%

0.000

28

2,558,510

12,271

2,355,863

21,930

-7.92%

0.000

24

3,052,327

18,366

2,806,067

28,742

-8.07%

0.000

21

3,365,087

10,589

3,329,051

11,883

-1.07%

0.000

Barthold

148

4

470

955,869

22,222

930,774

20,408

-2.63%

0.000

403

1,045,238

19,436

1,016,547

19,921

-2.74%

0.000

378

1,081,947

23,898

1,062,538

20,798

-1.79%

0.005

351

1,130,987

31,944

1,117,308

21,365

-1.21%

0.060

Scholl

297

4

1515

2,920,733

49,685

2,864,793

41,930

-1.92%

0.000

1394

3,130,775

51,055

3,036,704

55,506

-3.00%

0.000

1301

3,285,752

29,528

3,223,923

57,774

-1.88%

0.000

1216

349,340

6,755

337,737

11,588

-2.58%

0.000

- 19 -

Table 5. Comparison of the best solutions found by GA and GA+BUF in each instance of experiment 1.

GA

GA+BUF

improvements

Problem

size

M

ct

cteff

DC

NDC

cteff

DC

NDC

%diff

cteff

DC

cteff &

DC

Roszieg

25

2

18

17.98

345,000

345,000

17.94

316,200

316,200

-8.35%

14

13.99

441,000

441,000

14.00

418,500

418,500

-5.10%

11

11.18

540,000

542,744

10.99

505,500

505,500

-6.86%

9

9.15

654,000

657,699

8.97

605,400

605,400

-7.95%

Gunther

35

2

54

56.09

435,000

448,064

53.74

424,500

424,500

-5.26%

41

41.91

597,000

602,822

40.33

560,700

560,700

-6.99%

36

37.09

654,000

665,928

36.13

623,100

623,263

-6.41%

30

31.14

759,000

780,768

30.20

714,000

714,662

-8.47%

Wee-mag

75

2

34

34.51

2,100,000

2,109,629

33.92

2,033,700

2,033,700

-3.60%

28

28.78

2,478,000

2,516,692

28.01

2,329,800

2,329,812

-7.43%

24

24.67

2,973,000

3,019,682

24.18

2,740,200

2,743,263

-9.15%

21

20.99

3,345,000

3,345,000

21.04

3,296,100

3,296,305

-1.46%

Barthold

148

2

470

482.81

894,000

907,274

470.51

894,300

894,321

-1.43%

403

406.32

996,000

997,353

399.72

967,200

967,200

-3.02%

378

385.91

1,020,000

1,028,934

377.90

1,023,600

1,023,600

-0.52%

351

364.41

1,053,000

1,083,743

352.09

1,072,800

1,073,007

-0.99%

Scholl

297

2

1515

1546.63

2,811,000

2,835,501

1517.99

2,754,000

2,754,215

-2.87%

1394

1431.39

3,042,000

3,085,764

1418.20

2,939,100

2,956,811

-4.18%

1301

1339.82

3,033,000

3,087,020

1301.85

3,159,900

3,159,927

2.36%

1216

1241.51

3,390,000

3,419,831

1243.32

3,239,400

3,272,097

-4.32%

Roszieg

25

4

18

17.98

345,000

345,000

18.05

316,200

316,251

-8.33%

14

14.15

441,000

441,991

14.06

416,400

416,540

-5.76%

11

11.29

537,000

544,404

11.10

511,800

512,724

-5.82%

9

9.08

663,000

664,103

9.11

599,400

601,162

-9.48%

Gunther

35

4

54

55.91

435,000

445,860

53.98

435,900

435,900

-2.23%

41

42.12

597,000

605,841

41.19

545,700

545,941

-9.89%

36

36.42

660,000

661,839

35.84

617,100

617,100

-6.76%

30

30.74

771,000

780,491

30.30

714,300

715,716

-8.30%

Wee-mag

75

4

34

34.49

2,100,000

2,108,627

34.13

2,008,200

2,008,793

-4.73%

28

28.64

2,508,000

2,533,907

27.99

2,313,000

2,313,000

-8.72%

24

24.66

2,964,000

3,008,564

24.03

2,756,100

2,756,181

-8.39%

21

21.23

3,339,000

3,346,990

21.16

3,302,400

3,306,435

-1.21%

Barthold

148

4

470

484.22

894,000

910,357

471.07

894,300

894,392

-1.75%

403

416.26

984,000

1,005,301

403.62

984,900

984,946

-2.02%

378

382.65

1,041,000

1,044,150

378.08

1,032,900

1,032,901

-1.08%

351

357.37

1,077,000

1,084,102

348.91

1,084,500

1,084,500

0.04%

Scholl

297

4

1515

1549.48

2,802,000

2,831,021

1500.76

2,814,600

2,814,600

-0.58%

1394

1422.23

3,003,000

3,027,623

1409.21

2,896,500

2,903,395

-4.10%

1301

1320.20

3,225,000

3,239,047

1304.55

3,126,600

3,127,067

-3.46%

1216

1247.12

3,372,000

3,416,162

1225.03

316,200

316,200

-3.70%

tot

35

31

26

- 20 -

WC#

WS

assigned

(Wk)

tasks assigned

0

1

2

3

4

5

6

7

8

9

10

11

2

2

1

2

1

2

1

2

1

2

2

2

0, 11

9, 1, 2

16, 4, 5, 6

3, 10

17, 7, 18

8, 12

13, 19

14, 15

20, 24, 25, 29

21, 22, 23

26, 27, 33

30, 28, 31, 32, 34

cteff = 30.74; DC = 771000; NDC = 780491

Table 6. The best GA solution for Gunther 35, 4 models, ct = 30.

WC#

WSs

assigned

(Wk)

Buffer size

(Bk)

tasks assigned

0

1

2

3

4

5

6

7

8

9

10

11

12

13

2

1

1

2

1

1

1

1

2

1

1

1

2

2

0

3

2

1

1

0

1

0

0

0

1

1

1

0

0, 11

4, 1, 16, 5, 7

2, 8

9, 12

3, 6

17, 18, 13

19

14

10, 15

20, 29, 24, 30

21, 31, 22

25, 23

26, 33, 27

28, 32, 34

cteff = 30.29; DC = 714300; NDC = 715716

Table 7. The best GA+BUF solution for Gunther 35, 4 models, ct = 30.

- 21 -

GA

GA+BUF

(GA+BUF)vs(GA)

Problem

size

M

ct

P

WTOT

ETOT

P

WTOT

ETOT

BTOT

BMAX

B%

P

WTOT

ETOT

Roszieg

25

2

18

9

9

25

1.000

8

8

25

4

1

57%

1.000

<

<

14

11

12

27

1.091

10

11

29

5

1

56%

1.100

<

<

>

>

11

9

14

40

1.556

9

13

38

5

1

63%

1.444

<

<

<

9

12

18

38

1.500

10

16

41

8

1

89%

1.600

<

<

>

>

Gunther

35

2

54

11

11

35

1.000

9

10

41

5

1

63%

1.111

<

<

>

>

41

11

15

49

1.364

9

13

56

9

3

75%

1.444

<

<

>

>

36

13

17

48

1.308

10

15

57

7

1

78%

1.500

<

<

>

>

30

14

20

53

1.429

15

19

47

10

2

57%

1.267

>

<

<

<

Wee-mag

75

2

34

49

59

110

1.204

48

57

106

19

2

36%

1.188

<

<

<

<

28

32

66

166

2.063

43

64

133

36

2

71%

1.488

>

<

<

<

24

31

78

211

2.516

30

71

199

44

3

86%

2.367

<

<

<

<

21

26

86

255

3.308

24

83

267

17

3

52%

3.458

<

<

>

>

Barthold

148

2

470

15

15

148

1.000

15

15

148

1

1

7%

1.000

403

17

18

152

1.059

16

17

152

4

1

27%

1.063

<

<

>

378

18

19

150

1.056

18

19

151

2

1

12%

1.056

>

351

19

20

151

1.053

19

20

157

6

2

28%

1.053

>

Scholl

297

2

1515

64

64

297

1.000

62

62

297

10

2

13%

1.000

<

<

1394

68

70

314

1.029

68

68

297

27

2

34%

1.000

<

<

<

1301

65

69

321

1.062

71

74

311

23

2

27%

1.042

>

>

<

<

1216

79

82

310

1.038

72

76

318

18

2

21%

1.056

<

<

>

>

Roszieg

25

4

18

9

9

25

1.000

8

8

25

4

1

57%

1.000

<

<

14

11

12

27

1.091

10

11

28

8

2

78%

1.100

<

<

>

>

11

9

14

39

1.556

9

13

40

6

1

75%

1.444

<

>

<

9

11

18

41

1.636

11

16

39

8

1

80%

1.455

<

<

<

Gunther

35

4

54

11

11

35

1.000

11

11

35

3

1

30%

1.000

41

13

15

49

1.154

12

14

41

9

2

73%

1.167

<

<

<

>

36

12

17

50

1.417

13

16

45

7

1

58%

1.231

>

<

<

<

30

12

20

57

1.667

14

19

47

11

3

62%

1.357

>

<

<

<

Wee-mag

75

4

34

52

60

100

1.154

43

55

117

24

2

50%

1.279

<

<

>

>

28

29

65

186

2.241

49

65

117

40

3

67%

1.327

>

<

<

24

27

76

228

2.815

27

70

214

47

4

92%

2.593

<

<

<

21

26

86

253

3.308

23

82

279

18

2

64%

3.565

<

<

>

>

Barthold

148

4

470

15

15

148

1.000

15

15

148

1

1

7%

1.000

403

18

18

148

1.000

18

18

148

3

1

18%

1.000

378

18

19

157

1.056

18

19

154

3

1

18%

1.056

<

351

19

20

159

1.053

20

21

151

5

1

26%

1.050

>

>

<

<

Scholl

297

4

1515

60

62

314

1.033

64

64

297

12

2

16%

1.000

>

>

<

<

1394

66

69

311

1.045

65

66

302

35

3

41%

1.015

<

<

<

<

1301

74

77

305

1.041

68

72

320

22

2

31%

1.059

<

<

>

>

1216

74

80

324

1.081

74

78

313

24

2

30%

1.054

<

<

<

Tot <

19

29

18

17

Tot >

8

3

14

13

Table 8. Experiment 1, details of the best solutions found by GA and GA+BUF in each instance.

- 22 -

Table 9 summarizes the results related to experiment 2 in terms of NDC, showing both mean values with

standard deviations on 20 replications and the best solutions found by GA and GA+BUF. The improvements

achievable through GA+BUF are always significant, even if in one instance (Tasks variability = High, ct =

1216) the best solution obtained by GA is slightly better than the one obtained by GA+BUF. The full

factorial design of experiment 2 has been analysed, considering all the 20 replications made for each

combination of factors. The factors considered are: the algorithm utilized (“alg”), the task times variability

(“variability”) and the imposed cycle time (“ct”). From the Analysis of Variance (Table 10) it is possible to

see that all the three factors have a significant impact on NDC. The nature of this impact can be deduced

from Figure 8, which shows that NDC increases when:

lower values of the imposed cycle time ct are adopted

the tasks variability is high

buffers are not allowed

The ANOVA also indicates that the two-way interaction between variability and cycle time is significant at a

level of 0.002. In particular, from the interaction plot reported in Figure 9, it is possible to observe that high

tasks variability has a negative impact on NDC especially when a lower ct is imposed.

20 replications

Best solutions

Tasks

variability

NDC (GA)

NDC (GA+BUF)

ct

Mean

St. Dev.

Mean

St. Dev.

%diff

P-Value

GA

GA+BUF

%diff

Low

1515

3,252,055

54,168

3,168,811

47,278

-2.56%

0.000

3,172,208

3,066,152

-3.34%

1394

3,412,357

41,870

3,331,053

39,212

-2.38%

0.000

3,313,580

3,261,335

-1.58%

1301

3,572,955

44,494

3,480,201

38,251

-2.60%

0.000

3,483,070

3,419,274

-1.83%

1216

3,747,311

47,716

3,619,870

29,880

-3.40%

0.000

3,652,285

3,569,738

-2.26%

Medium

1515

3,231,903

48,768

3,146,019

51,669

-2.66%

0.000

3,166,244

3,058,143

-3.41%

1394

3,401,777

38,622

3,313,782

35,476

-2.59%

0.000

3,323,044

3,244,134

-2.37%

1301

3,548,929

46,674

3,440,471

34,601

-3.06%

0.000

3,478,291

3,375,989

-2.94%

1216

3,718,324

45,393

3,581,791

41,511

-3.67%

0.000

3,576,205

3,501,839

-2.08%

High

1515

3,251,814

34,893

3,183,692

38,482

-2.09%

0.000

3,187,740

3,128,529

-1.86%

1394

3,473,200

67,565

3,366,519

28,414

-3.07%

0.000

3,365,786

3,324,772

-1.22%

1301

3,621,428

71,115

3,536,865

53,318

-2.34%

0.000

3,497,546

3,458,438

-1.12%

1216

3,770,309

53,361

3,685,377

38,035

-2.25%

0.000

3,608,296

3,614,561

0.17%

Table 9. Results of experiment 2.

Source DF Seq SS Adj SS Adj MS F p

variability 2 3.24729E+11 3.24729E+11 1.62365E+11 77.48 0.000

ct 3 1.52809E+13 1.52809E+13 5.09363E+12 2430.60 0.000

alg 1 1.09808E+12 1.09808E+12 1.09808E+12 523.99 0.000

variability*ct 6 45334086505 45334086505 7555681084 3.61 0.002

variability*alg 2 6967859364 6967859364 3483929682 1.66 0.191

ct*alg 3 21434613066 21434613066 7144871022 3.41 0.018

variability*ct*alg 6 16452201916 16452201916 2742033653 1.31 0.252

Error 456 9.55604E+11 9.55604E+11 2095622183

Total 479 1.77495E+13

Table 10. Experiment 2, Analysis of Variance on NDC.

- 23 -

Figure 8. Experiment 2, main Effects for NDC.

Figure 9. Experiment 2, interaction plot for NDC

7 Summary

With this work a decisive step forward in the literature is done by tackling for the first time simultaneously

the assembly line balancing problem and the buffer allocation problem. Due to the amplitude of the solution

space, it is very hard to approach the problem as a whole. However, to solve sequentially the balancing and

the buffer allocation problems (or vice versa) means not to take into consideration the interrelations between

the two problems. In fact, the structure of precedence constraints has a direct influence on the order in which

tasks can be assigned to each station, i.e. on tasks assignment to workstations. This in turn determines

stations workloads and their smoothness. Stations workloads and their smoothness have an influence on

starving and blocking phenomena, that are in turn influenced by buffer spaces among workstations.

An innovative approach, consisting in coupling the most recent advances of simulation techniques with a

genetic algorithm approach, has been presented to solve a very complex problem: the Mixed Model

Assembly Line Balancing Problem (MALBP) with stochastic task times, parallel workstations, and buffers

between workstations. An opportune chromosomal representation allows to explore the solutions space very

efficiently, varying simultaneously tasks assignments and buffers capacity among workstations. Our

va ria bilit y

cycl eT

alg

1515139413011216 G A +B UFGA

3600000

3400000

3200000

3600000

3400000

3200000

L

M

H

variability

1216

1301

1394

1515

cy cleT

Interaction Plot (data means) for NDC

Mean of NDC

HML

3700000

3600000

3500000

3400000

3300000

3200000

1515139413011216 GA +BUFGA

variability

cycleT

alg

Main Effects Plot (data means) for NDC

- 24 -

approach allows not only to simultaneously consider line balancing and buffer allocation beyond simple

work division in a line, but also to take into consideration complicated line structures.

A parametric simulator, named ALS, has been used to calculate the objective function of each individual,

evaluating at the same time the effect of tasks assignment and buffer allocation decisions on the line

throughput. ALS has been built following the event/object oriented paradigm. Its fastness and flexibility

allow its utilization in those algorithms and procedures where the evaluation of a fitness function (which

includes some performance parameters, like the throughput or the cycle time) has to be carried out a large

number of times. It allows overcoming the limit of using others measures of throughput (or cycle time),

presented in literature, that are poorly correlated to its real value when the complexity of the line increases.

The approach has been compared to an analogous approach in which buffers between workstations are not

allowed. The results of an ample experiment on different issues of the problem allow to draw some

conclusions: even considering a cost per unit buffer space, it is often possible to find solutions that provide

higher throughput than in the case without buffers, and at the same time have a lower design cost; using

buffers gives major benefits for small and medium sized instances; the solutions are generally characterized

by the use of small buffers, that are rather distributed along the line.

The promising results achieved in this work suggest continuing to exploit the latest advances in discrete

event simulation techniques to solve more complex problems or take into consideration different objectives.

For example, due to the computational complexities involved, the assembly line balancing problem and the

sequencing problems are usually addressed in literature independently from each other, although they are

closely interrelated. A possible improvement in the genetic algorithm approach presented here-in could be to

find a representation that allows considering the sequence of models entering the line as a variable itself, and

not as an input of the problem. By using ALS for the evaluation of the fitness function one could explicitly

consider the effect of different sequencing policies on the line throughput (and thus on the objective

function), taking at the same time the best sequencing, balancing and buffers allocation decisions.

8 References

Akpinar, S., Bayhan, G.M., 2011. A hybrid genetic algorithm for mixed model assembly line balancing

problem with parallel workstations and zoning constraints. Engineering Applications of Artificial

Intelligence 24, 449-457.

Altiparmak, F., Dengiz, B., Bulgak, A.A., 2007. Buffer allocation and performance modeling in

asynchronous assembly system operations: An artificial neural network metamodeling approach. Applied

Soft Computing 7, 946-956.

Amiri, M., Mohtashami, A., 2012. Buffer allocation in unreliable production lines based on design of

experiments, simulation, and genetic algorithm. International Journal of Advanced Manufacturing

Technology 62, 371-383.

Askin, R.G., Zhou, M., 1997. A parallel station heuristic for the mixed-model production line balancing

problem. International Journal of Production Research 35, 3095-3105.

Bartholdi, J.J., 1993. Balancing 2-Sided Assembly Lines - a Case-Study. International Journal of Production

Research 31, 2447-2461.

Battini, D., Faccio, M., Persona, A., Sgarbossa, F., 2009. Balancing-sequencing procedure for a mixed model

assembly system in case of finite buffer capacity. International Journal of Advanced Manufacturing

Technology 44, 345-359.

Becker, C., Scholl, A., 2006. A survey on problems and methods in generalized assembly line balancing.

European Journal of Operational Research 168, 694-715.

- 25 -

Boysen, N., Fliedner, M., Scholl, A., 2007. A classification of assembly line balancing problems. European

Journal of Operational Research 183, 674-693.

Boysen, N., Fliedner, M., Scholl, A., 2008. Assembly line balancing: Which model to use when?

International Journal of Production Economics 111, 509-528.

Bukchin, J., 1998. A comparative study of performance measures for throughput of a mixed model assembly

line in a JIT environment. International Journal of Production Research 36, 2669-2685.

Bukchin, J., Dar-El, E., Rubinovitz, J., 2002. Mixed model assembly line design in a make-to-order

environment. Computers & Industrial Engineering 41, 405-421.

Cakir, B., Altiparmak, F., Dengiz, B., 2011. Multi-objective optimization of a stochastic assembly line

balancing: A hybrid simulated annealing algorithm. Computers & Industrial Engineering 60, 376-384.

Chica, M., Cordon, O., Damas, S., 2011. An advanced multiobjective genetic algorithm design for the time

and space assembly line balancing problem. Computers & Industrial Engineering 61, 103-117.

Conway, R., Maxwell, W., McClain, J.O., Thomas, L.G., 1988. The role of work-in-process inventory in

serial production lines. Operations Research Letters 36.

Emde, S., Boysen, N., Scholl, A., 2010. Balancing mixed-model assembly lines: a computational evaluation

of objectives to smoothen workload. International Journal of Production Research 48, 3173-3191.

Gokcen, H., Agpak, K., Benzer, R., 2006. Balancing of parallel assembly lines. International Journal of

Production Economics 103, 600-609.

Golz, J., Gujjula, R., Gunther, H.O., Rinderer, S., Ziegler, M., 2012. Part feeding at high-variant mixed-

model assembly lines. Flexible Services and Manufacturing Journal 24, 119-141.

Gunther, R.E., Johnson, G.D., Peterson, R.S., 1983. Currently practiced formulations for the assembly line

balance problem. Journal of Operations Management 3, 209-221.

Haq, A.N., Rengarajan, K., Jayaprakash, J., 2006. A hybrid genetic algorithm approach to mixed-model

assembly line balancing. International Journal of Advanced Manufacturing Technology 28, 337-341.

Harris, J.H., Powell, S.G., 1999. An algorithm for optimal buffer placement in reliable serial lines. Iie

Transactions 31, 287-302.

Hillier, F.S., Boiling, R.W., 1966. The effect of some design factors on the efficiency of production lines

with variable operations times. Journal of Industrial Engineering 17, 651-658.

Hillier, F.S., So, K.C., 1993. Some data for applying the bowl phenomenon to large production line systems.

International Journal of Production Research 31.

Hillier, M., 2013. Designing unpaced production lines to optimize throughput and work-in-process

inventory. Iie Transactions 45, 516-527.

Hillier, M.S., Hillier, F.S., 2006. Simultaneous optimization of work and buffer space in unpaced production

lines with random processing times. Iie Transactions 38, 39-51.

Jin, M.Z., Wu, S.D., 2003. A new heuristic method for mixed model assembly line balancing problem.

Computers & Industrial Engineering 44, 159-169.

Karabati, S., Sayin, S., 2003. Assembly line balancing in a mixed-model sequencing environment with

synchronous transfers. European Journal of Operational Research 149, 417-429.

- 26 -

Kim, Y., Kim, J., Kim, Y., 1996. Genetic algorithms for assembly line balancing with various objectives.

Computers & Industrial Engineering 30, 397-409.

Li, J.S., Blumenfeld, D.E., Huang, N.J., Alden, J.M., 2009. Throughput analysis of production systems:

recent advances and future topics. International Journal of Production Research 47, 3823-3851.

McMullen, P., Frazier, G., 1998. Using simulated annealing to solve a multiobjective assembly line

balancing problem with parallel workstations. International Journal of Production Research 36, 2717-2741.

McMullen, P., Tarasewich, P., 2003. Using ant techniques to solve the assembly line balancing problem. Iie

Transactions 35, 605-617.

McMullen, P.R., Frazier, G.V., 1997. A heuristic for solving mixed-model line balancing problems with

stochastic task durations and parallel stations. International Journal of Production Economics 51, 177-190.

McMullen, P.R., Tarasewich, P., 2006. Multi-objective assembly line balancing via a modified ant colony

optimization technique. International Journal of Production Research 44, 27-42.

Merengo, C., Nava, F., Pozzetti, A., 1999. Balancing and sequencing manual mixed-model assembly lines.

International Journal of Production Research 37, 2835-2860.

Ozcan, U., Gokcen, H., Toklu, B., 2010. Balancing parallel two-sided assembly lines. International Journal

of Production Research 48, 4767-4784.

Rosenberg, O., Ziegler, H., 1992. A comparison of heuristic algorithms for cost-oriented assembly line

balancing. Zeitschrift für Operations Research 36, 477-495.

Roshani, A., Fattahi, P., Roshani, A., Salehi, M., Roshani, A., 2012. Cost-oriented two-sided assembly line

balancing problem: A simulated annealing approach. International Journal of Computer Integrated

Manufacturing 25, 689-715.

Scholl, A., 1993. Data of assembly line balancing problems. Schriften zur Quantitativen

Betriebswirtschaftslehre 16, 1-28.

Scholl, A., 2012. Data sets for SALBP. http://www.assembly-line-balancing.de.

Scholl, A., Becker, C., 2006. State-of-the-art exact and heuristic solution procedures for simple assembly line

balancing. European Journal of Operational Research 168, 666-693.

Scholl, A., Boysen, N., 2009. Designing parallel assembly lines with split workplaces: Model and

optimization procedure. International Journal of Production Economics 119, 90-100.

Simaria, A.S., Vilarinho, P.M., 2001. The simple assembly line balancing problem with parallel workstations

- A simulated annealing approach. International Journal of Industrial Engineering-Theory Applications and

Practice 8, 230-240.

Simaria, A.S., Vilarinho, P.M., 2004. A genetic algorithm based approach to the mixed-model assembly line

balancing problem of type II. Computers & Industrial Engineering 47, 391-407.

Tiacci, L., 2012. Event and object oriented simulation to fast evaluate operational objectives of mixed model

assembly lines problems. Simulation Modelling Practice and Theory 24, 35-48.

Tiacci, L., 2015a. Coupling a genetic algorithm approach and a discrete event simulator to design mixed-

model un-paced assembly lines with parallel workstations and stochastic task times. International Journal of

Production Economics 159, 319-333.

- 27 -

Tiacci, L., 2015b. Coupling a genetic algorithm approach and a discrete event simulator to design mixed-

model un-paced assembly lines with parallel workstations and stochastic task times - SUPPLEMENTARY

RESOURCES. www.researchgate.net/profile/Lorenzo_Tiacci.

Tiacci, L., 2015c. Simultaneous balancing and buffer allocation decisions for the design of mixed-model

assembly lines with parallel workstations and stochastic task times - SUPPLEMENTARY RESOURCES.

www.researchgate.net/profile/Lorenzo_Tiacci.

Tiacci, L., Saetta, S., 2007. Process-oriented simulation for mixed-model assembly lines, Proceedings of the

2007 Summer Computer Simulation Conference. Society for Computer Simulation International, San Diego,

USA, pp. 1250-1257.

Tiacci, L., Saetta, S., Martini, A., 2006. Balancing mixed-model assembly lines with parallel workstations

through a genetic algorithm approach. International Journal of Industrial Engineering-Theory Applications

and Practice 13, 402-411.

Venkatesh, J.V.L., Dabade, B.M., 2008. Evaluation of performance measures for representing operational

objectives of a mixed model assembly line balancing problem. International Journal of Production Research

46, 6367-6388.

Vilarinho, P., Simaria, A., 2002. A two-stage heuristic method for balancing mixed-model assembly lines

with parallel workstations. International Journal of Production Research 40, 1405-1420.

Wee, T.S., Magazine, A., 1981. An efficient branch and bound algorithm for an assembly line balancing

problem - part II: maximize the production rate. Working Paper No. 151, University of Waterloo, Waterloo.

Yagmahan, B., 2011. Mixed-model assembly line balancing using a multi-objective ant colony optimization

approach. Expert Systems with Applications 38, 12453-12461.

Zhang, W.Q., Gen, M., 2011. An efficient multiobjective genetic algorithm for mixed-model assembly line

balancing problem considering demand ratio-based cycle time. Journal of Intelligent Manufacturing 22, 367-

378.