Professional Documents
Culture Documents
Assembly Line Balancing Using Genetic Algorithms: June 2011
Assembly Line Balancing Using Genetic Algorithms: June 2011
Assembly Line Balancing Using Genetic Algorithms: June 2011
net/publication/258918555
CITATIONS READS
0 2,358
3 authors:
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.
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.
(3)
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
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
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.
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.