Assembly Line Balancing Using Genetic Algorithms: June 2011

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/258918555

Assembly Line Balancing Using Genetic Algorithms

Conference Paper · June 2011

CITATIONS READS

0 2,358

3 authors:

Ricardo Pimenta Manuel F. Silva

2 PUBLICATIONS 1 CITATION
School of Engineering of the Polytechnic Institute of Porto
334 PUBLICATIONS 2,749 CITATIONS
SEE PROFILE
SEE PROFILE

Cecília Reis
Instituto Superior de Engenharia do Porto
44 PUBLICATIONS 572 CITATIONS

SEE PROFILE

All content following this page was uploaded by Manuel F. Silva on 28 December 2017.

The user has requested enhancement of the downloaded file.


44 Business Sustainability 2.0

Assembly line balancing using GAs Pimenta, Silva, Reis

ASSEMBLY LINE BALANCING USING GENETIC ALGORITHMS


Ricardo Pimenta, ISEP – Instituto Superior de Engenharia do Porto, 1050799@isep.ipp.pt
Manuel Silva, ISEP – Instituto Superior de Engenharia do Porto, mss@isep.ipp.pt
Cecília Reis, ISEP – Instituto Superior de Engenharia do Porto, cmr@isep.ipp.pt

Abstract: When defining the layout for flow or production lines, it is necessary to select the best
combination of operations to be performed at each work station. This process requires the fulfillment of a
set of conditions. It is necessary to guarantee that the operations are performed according to a feasible
sequence and that approximately equal quantities of time are used in each workstation. This process is
called Assembly Line Balancing. The Assembly Line Balancing problems are complex to solve, mainly due
to the high number of possible combinations. Among the methods used for this purpose, there are trial
and error methods, heuristics methods, computational methods for the evaluation of different options until
a good solution is found and optimization methods. In this paper is presented an application that was
developed to solve Assembly Line Balancing problems using a Genetic Algorithm. This application,
including an interface with the user, was developed in the C# programming language.
Keywords: Assembly Line Balancing, Genetic Algorithms.

options until a good solution is found and


optimization methods [3].
INTRODUCTION
In this work is described an application that
An assembly line consists in multiple was developed to solve Assembly Line Balancing
workstations in sequence, each with a set of problems using a Genetic Algorithm (GA). This
associated tasks, devoted to the manufacture or application includes a user interface for the easy
assembly of goods or products. Each task under definition of the problem and for the presentation
consideration has a set of precedence relations of the results to the user. The application was
with other tasks, specifying that some of them developed in the C# programming language.
must be completed before the task can start. Each
task has also associated an execution time. The Bearing these ideas in mind, the remaining of
execution time of each workstation must fulfill the this paper is organized as follows. Section two
Takt Time (TT), in order for the line to have a describes the assembly line balancing problem.
steady flow while achieving the demand, which is Section three presents a brief description of GAs.
called Assembly Line Balancing Problem (ALBP). Based on this theoretical foundation, section four
introduces the developed Genetic Algorithm for
There are two types of Simple Assembly Line the application under consideration and section
Balancing Problems (SALBP): five presents the results achieved by this
 SALBP-1: Given the Takt time, minimize application when used to solve an ALBP. Finally,
the number of workstations. in section six are presented the main conclusion of
this work and are proposed some ideas for future
 SALBP-2: Given the number of developments of the developed GA and
workstations, minimize the cycle time. application.
The SALBP-1 is mainly present when a new
assembly line system has to be installed and the
external demand can be estimated. By opposition,
SALBP-2 leads to the maximization of the DEFINING THE ASSEMBLY LINE
production of an already existing assembly line. BALANCING PROBLEM
This is of importance if any changes take place on
the production process or on the demand structure In order to clearly describe the problem of
[1]. ALB, an example problem is described in the
following. Consider the process diagram
(precedence diagram) for the production /
Among the methods used with this purpose, assembly of an example product, given in Erro! A
are trial and error methods, heuristics methods [2], origem da referência não foi encontrada..
computational methods for evaluation different
Business Sustainability 2.0 45

Assembly line balancing using GAs Pimenta, Silva, Reis

Considering the previous expressions, the


minimal number of workstations necessary for the
assembly line, to guarantee the fulfilment of the
Takt Time is given by equation (3):

(3)

After the line balancing has been completed, it


is possible to compute its efficiency. One possible
expression to calculate the efficiency of the
obtained solution is given by equation (4):
Fig. 1. Ordered graph of tasks
(4)
In this case, the production / assembly of the
product that we are considering requires N tasks
(in this case, N = 15) and the time necessary to GENETIC ALGORITHMS
complete each task (the value depicted above the
corresponding operation) is t(i) (in the problem Genetic Algorithms (GA) were developed by
described by Fig. 1, 1 ≤ i ≤ 15). John H. Holland, his colleges and students in the
The question of ALB is: 1960’s. The purposes of Holland’s research were
two:
 (i) SALBP-1: given the Takt time, how to
assign the N tasks to M stations (where, generally,  (i) to abstract and rigorously
M ≤ N), in order to minimize the number of explain the adaptive processes of natural
workstations? systems, and

 (ii) SALBP-2: given the number of  (ii) design artificial systems


workstations (M), how to assign the N tasks to M software that retains the important mechanisms
stations, in order to minimize the cycle time? of natural system.
This approach led to important discoveries in
both natural systems and in artificial systems [2,
Definitions and Concepts 3].
Considering that a production / assembly Genetic algorithms are a family of
operation is composed of N tasks, and that the computational models inspired by genetics and
time necessary to complete operation i (i = 1, 2, natural evolution. These algorithms model a
…, N) is t(i), then the time needed to finish a solution to a specific problem in a data structure,
complete unit is given by equation (1): called a chromosome, and apply operators that
recombine these structures while preserving
critical information [4, 5].
(1)
Briefly, the outline of a GA is as follows:
 Start: Generate a random population of
The Takt time (TT) of an assembly line is
n suitable solutions (chromosomes). The
given by equation (2):
values for the genes that constitute the
chromosome are randomly distributed
according to the corresponding parameters.
(2)
 Fitness: Select and evaluate the fitness
function for each chromosome.
In order to guarantee that the line, after being
balanced, is able to produce goods / products  New population: Create a new
according to the requested demand, the cycle time population by repeating the following steps:
of an assembly line must be equal or lower than o Selection - Select the best parent
the Takt time. The cycle time can be defined as: chromosomes according to their fitness.
These solutions are copied without
 1. the time between the output, at the end of
changes to the new population (elitism).
the line, of each successive units;
o Crossover - Select 60% to 90%
 2. the maximum time necessary in each one of
of the individuals to be replaced by the
the line workstations.
crossover of the parents: two random
46 Business Sustainability 2.0

Assembly line balancing using GAs Pimenta, Silva, Reis

parents are chosen and an arithmetic case, this operation would compromise the
mean operation is performed to produce integrity of the solutions, since it would make the
one new offspring. same gene repeated in a chromosome (unless
both chromosomes were exactly equal).
o Mutation - Select 0.1% to 5% of
Therefore, it is only applied the mutation operator
the individuals to be replaced by mutation
to generate a new chromosome.
of the parents: one random parent is
chosen. The mutation operator is tested with three
options. In the first option two random positions
 Spontaneous generation - The are selected, and the corresponding genes are
remaining individuals are replaced by new exchanged. For the second option only one
randomly generated ones (such as in step 1). position is randomly selected and the
 Loop - If the stop criteria were achieved corresponding gene is switched with the
then the algorithm stops, else, go to step 2. consecutive one. After several tests, the results
that revealed better performance are the tests
applying the third mutation operator option. This
GENETIC ALGORITHM DEVELOPMENT third option is described below and is the one that
was implemented.
In this section is described and explained the
developed GA. The mutation operator works according to the
following: two random positions are selected in the
The developed Genetic Algorithm works with a
chromosome; the first selected position is the
fixed population size of 20 individuals and the
position of the gene that will be moved, the second
initial population is randomly generated.
is the new position of the gene. The genes
between the first and second positions, including
Coding problem the gene on the second position will be shifted one
position to the right, or left, according to the
To simplify the coding of the problem, a selected positions, as presented in the example
number is assigned to each task. For example, to depicted in Fig. 3.
task “A” it is assigned number “1”, to task “B”,
number “2”, and so forth, until all tasks have a
number assigned. This way the problem is codified
using Permutation encoding. Each gene in the
chromosome represents a task. The order of the
genes in the chromosome sets the order in which
the tasks are executed. Fig. 3. Example of a Mutation

In Fig. 2 is shown an example of a To improve the algorithm, the mutations are


chromosome coded. It is possible to verify from done dynamically. This is performed by counting
this example that every number represents a task. the number of operations in the problem, and the
total number of precedents (the sum of the
number of precedence’s of all tasks). The number
of mutations done in each new generation is set
according with this total (corresponds to one
2 1 8 3 4 6 7 5 10 9
quarter of this total).

Fig. 2. Chromosome and the corresponding genes Design of the fitness function
Crossover and mutation may create some
Selection infeasible solutions when the GA is used to solve
ALBP. In these cases, individuals that infringe one
The selection method is “Selection by or more precedence restrictions might appear in
tournament”. According to this selection method the population. To prevent these situations, a
three chromosomes are randomly selected from penalty function is created to force the individuals
the population. From these chromosomes, the one of each generation to evolve to feasible solutions.
with the highest fitness is selected to be used in
the subsequent crossover and mutation So it is created a variable (called “penalty”) to
operations. count the penalties in the new generated
chromosome. This variable is incremented each
Crossover and Mutation time that a precedence restriction is not satisfied,
and also when the number of workstations is
In this GA, the crossover operation is not superior to the desired one. In this case the
applied to the chromosomes. In this particular
Business Sustainability 2.0 47

Assembly line balancing using GAs Pimenta, Silva, Reis

increment of the variable is equal to the number of This second GA will run for 500,000 iterations.
workstations above the desire value.
At the beginning of the algorithm the number
of precedence’s existing in the problem to be
solved is counted. This value is used to know the
maximum number of possible penalties. Based on
this value, the fitness of the chromosome is
calculated, and this value is kept in the variable,
“max_penalty”.
The fitness function is given by expression (5).

(5)

GA stop criteria
Being the objective of the GA to obtain a
solution that meets the precedence criteria and
satisfies the desired number of workstations, the
solution is obtained when there is a chromosome
with a value of the fitness function equal to 100%.
Based on the previous idea, the stop criteria
chosen in this GA were the fitness value.
Therefore, when the GA finds a solution with a
100% fitness, the algorithms stops.

Flow diagram of the developed GA


Figure 4 presents a flow diagram of the
developed GA. Looking at this diagram it is
possible to see how the algorithm works. This GA
runs until it obtains the number of solutions
defined by the user. This way, if it is defined that
the software has to find three solutions, this GA
will automatically run for three times.

Improvement of the GA Fig. 4. Flow diagram of the GA

To improve the results obtained by the first GA


(whose algorithm was just described), a second
version was implemented. This second GA only SIMULATION RESULTS
works on the solutions obtained by the first one, To test the developed application, the GA was
which we may call “feasible” solutions. applied to an example problem, in order to be
Consequently, the population of this GA is very possible to compare the results of the obtained
small, and limited to the solutions found by the first solution using this application, and the solutions
one. obtained by other authors, using distinct
This second GA will randomly select one of approaches.
the obtained solutions chromosome, and apply a The problem in question is an assembly line
mutation to it. The new solution is then submitted for a washing machine water pump, for which
to an evaluation, based on a new fitness function, there is an estimated demand of 200 units per
being calculated the idleness of the corresponding day. The assembly line is considered to work 480
solution and the standard deviation of the idleness minutes a day [6].
of each workstation. Based on those values, it is
verified if the solution is better than the original Table 1 presents the necessary operations to
one; in case it is, then this solution chromosome assemble the washing machine water pumps,
replaces the original chromosome. including the times needed for each operation and
the required precedence relations.
48 Business Sustainability 2.0

Assembly line balancing using GAs Pimenta, Silva, Reis

To solve this problem, the data presented in


Table 1 was inserted in the developed software
application, and the algorithm was run. Figure 5
presents the developed graphical interface for the
input of the parameters.
In the left upper part of this figure it is possible
to see a table where the data corresponding to the
assembly line is introduced. Following, it is
introduced the uptime of the line and the number
of units that are desired to produce in that time.
When the application begins to compute the
solution, the algorithm starts by generating the
initial population and calculates the fitness of each
chromosome, according to the first two blocks
Fig. 5. Graphical interface
presented in the flow diagram depicted in Figure 4.
After that, the genetic algorithm enters a loop
(also depicted in the flow diagram of Figure 4) to
find the number of solutions to the problem
defined by the user (in the case of this example,
the number of solutions is three, as can be seen
on the top right corner of Figure 5).

Operations Time(seconds) Precedents


A 30 -
B 55 A
C 28 B
D 6 B Fig. 6. Balancing line solutions

E 34 B In the particular case of the problem under


consideration, the algorithm runs for 35 minutes
F 35 C,D
and 37 seconds to find the three solutions. The
G 15 E solutions are showed in Figure 6, being the
corresponding chromosomes highlighted in blue.
H 22 E
After the first GA finds the “feasible” solutions,
I 12 -
the second GA is executed to improve these
J 6 I results. In this example the software is able to
K 25 J obtain two better solutions, being only presented
one of them in Figure 7.
L 30 J
The application also presents for the proposed
M 15 L solution, its efficiency, the delay of the balancing
N 15 L and total line idle time, the idleness and the
standard deviation of the idleness of each
O 60 K,M,N,F,G,H workstation, as can be seen also in Figure 7.
Tempo Total 388 (s) ≈ 6,47 (min) In the solution window, presented in Figure 7 it
is also depicted a graphic, which represents the
Table 1. Operations, time duration and precedence’s for the busy time in each workstation (blue part of the bar)
assembly of washing machines water pumps
and the idleness (green part of the bar).

ANALYSYS OF THE RESULTS


In the sequel are compared the solutions
obtained with the GA, and the solutions obtained
through the use of heuristics to solve this same
problem.
Business Sustainability 2.0 49

Assembly line balancing using GAs Pimenta, Silva, Reis

CONCLUSIONS
When defining the layout for flow or production
lines, it is necessary to perform the Line
Balancing. In this paper was presented an
application that was developed to solve Assembly
Line Balancing problems using a Genetic
Algorithm. This application, developed in the C#
programming language, includes a user interface.
To test the GA, the developed application was
applied to an example problem, in order to make
possible a comparison of the obtained results with
Fig. 7. Optimum result for the problem those obtained using heuristic methods.
It was verified that the solution found with the
Workstation 1 2 3 GA presents an efficiency and an idle time for the
3 10 4 11 12 line equal to the solution obtained by the
9125 7 13 8 14 15
6 application of heuristic methods, while taking 35
minutes of run time. Furthermore, it should be
GA Solution IABE CJDKLF GMHNO
mentioned that the GA found more than one
131 130 127 feasible solution to the problem.
13 14 17 Given the results obtained with this
Idleness 1,27% application, the authors intend to improve the GA
in order to allow the user to dynamically adjust the
1 9 2 10 12 3 4 13 14 cycle time or the number of workstations to
5 7 8 15
11 6 improve the results for more complex problems.
Heuristics AIBJK LCDMNF EGHO
Solution
128 129 131
16 15 13 References
Idleness 1,27% [1] A. Scholl, "Simple Assembly Line Balancing
Table 2.Comparison of the results obtained through the GA
Heuristic Approaches," Journal of Heuristics, 1996.
with the ones obtained using heuristics. [2] V. L. V. D. Jonnalagedda, B.M, "Heuristic
procedure for Mixed Model Assembly Line
To better compare the results, it is calculated Balancing Problem," presented at the Industrial
the idleness of the solution obtained using Engineering and Engineering Management (IEEM),
heuristics and this value is compared with the 2010.
results obtained using the GA. The idleness is the [3] G. Y. Li, Zhiliang Yuan, Qingfeng Fang, Minglun
percentage of inactivity in the assembly line. It can "Optimization methods of the product assembly line
system," presented at the Technology and
be obtained using the following expression.
Innovation Conference, 2006.
[4] L. Davis, Handbook of Genetic Algorithms, 1992.
[5] Goldberg, Genetic algorithms in Search,
(6) Optimization, and Machine Learning, 1989.
[6] G. F. Aguiar, et al., "Simulações de arranjos fisicos
por produto e balanceamento de linha de
Table 2 compares the balancing of the line produção," presented at the Cobenge, 2007.
when both methods are used. This table presents,
for each workstation, the tasks, the total time, the
idleness, and the idleness of the full assembly line.
As shown in the previous table, the solution
obtained using the GA has an idleness equal of
the solution obtained through the application of
heuristics. That means that the solution presented
by the GA is a valid solution to this problem.
Although both solutions present the same
idleness, analysing the table it is possible to
realize that the solutions presented by both
methods are different.

View publication stats

You might also like