You are on page 1of 36

Optimization Techniques & Problem

Solving By Artificial Bee Colony


(ABC) Algorithms
User Defined Problem
110050119090
110050119038
110050119102
110050119104

DEBTIRTHA SARKAR
ABHI DHANANI
DHRUV MISTRY
PARTH THAKORE
Project Guide : Prof. Sachin Daxini

PRESENTED AT BITS EDU CAMPUS - 11th Dec., 2014

Motivation for The Project


Our team has taken a project on Optimization
Technique by using ABC Algorithms.
We have done research work and studied
advanced techniques for finding the best
optimal solution amongst all the modern
techniques available.
Here we are introducing the latest optimization
technique for finding more accurate results
than any other technique.

Actually we are deeply interested in the working


of honey bees and its study, which is called
Melittology, so we have opted for the similar
project on Artificial Bee colony Algorithm
inspiring from working of honey bees.

Results show that the performance of the ABC is


better than or similar to those of other
population-based algorithms with the advantage
of employing fewer control parameters.

Introduction
Optimization is a technique for finding the best optimal
solution amongst all the solutions.
It is done either to minimize or maximize or both the
objective function.
An optimization problem consists of maximizing or
minimizing a real function by systematically
choosing input values from within an allowed set and
computing the value of the function. The generalization of
optimization theory and techniques to other formulations
comprises a large area of applied mathematics. More
generally, optimization includes finding "best available" values
of some objective function given a defined domain (or a set of
constraints), including a variety of different types of objective
functions and different types of domains.

Several modern heuristic algorithms have been developed for solving


combinatorial and numeric optimization problems. These algorithms can
be classified into different groups depending on the criteria being
considered, such as population based, iterative based, stochastic,
deterministic, etc. Especially the latest ones we have studied are Particle
Swarm intelligence(PSO), Differencial Evolution, Genetic Algorithm(GA)
and Artificial Bee Colony(ABC).
We have studied 4 papers of D. Karaboga published on this artificial bee
colony in 2007, 2008, 2010 and recently in 2014 and developed this
algorithm n solved one problem using Metlab.
1.

D. Karaboga, B. Basturk, A powerful and Efficient Algorithm for Numerical Function


Optimization: Artificial Bee Colony (ABC) Algorithm, Journal of Global Optimization,
Volume:39, Issue:3,pp:459-171, November 2007.

2.

D. Karaboga, B. Basturk, On The Performance Of Artificial Bee Colony (ABC)


Algorithm, Applied Soft Computing,Volume 8, Issue 1, January 2008.
Dervis Karaboga (2010) Artificial bee colony algorithm. Scholarpedia,
5(3):6915
D. Karaboga, B. Gorkemli, "A Quick Artificial Bee Colony (qABC) Algorithm
and its Performance on Optimization Problems", Applied Soft Computing,
vol.23, pp.227-238, 2014

3.

4.

Literature
Swarm intelligence has become a research interest to many
research scientists of related fields in recent years. The term swarm
is used in a general manner to refer to any restrained collection of
interacting agents or individuals.
There two fundamental concepts that are self-organization and
division of labour, are necessary and sufficient properties to obtain
swarm intelligent behavior such as distributed problem solving
systems that self-organize and adapt to the given environment:
a) Self-organization can be defined as a set of dynamical
mechanisms, which result in structures at the global level of
a system by means of interactions among its low-level
components.

These mechanisms establish basic rules for the interactions


between the components of the system. The rules ensure that the
interactions are executed on the basis of purely local information
without any relation to the global pattern.
Karaboga have characterized four basic properties on which self
organization relies: Positive feedback, negative feedback,
fluctuations and multiple interactions.
b) Inside a swarm, there are different tasks, which are
performed simultaneously by specialized individuals. This
kind of phenomenon is called division of labour.

Simultaneous task performance by cooperating specialized


individuals is believed to be more efficient than the
sequential task performance by unspecialized individuals.

The minimal model of forage selection that leads to the emergence


of collective intelligence of honey bee swarms consists of three
essential components: food sources, employed foragers and
unemployed foragers.
i) Food Sources: The value of a food source
depends on many factors such as its proximity
to the nest, its richness or concentration of its
energy, and the ease of extracting this energy.
For the sake of simplicity, the profitability
of a food source can be represented with a single quantity
ii) Employed foragers: They are associated
with a particular food source which they are
currently exploiting or are employed at.
They carry with them information about this
particular source, its distance and direction
from the nest.

iii) Unemployed foragers: They are continually


at look out for a food source to exploit.
There are two types of unemployed foragers:
scouts, searching the environment surrounding
the nest for new food sources and onlookers
waiting in the nest and establishing a foodsource through the information shared by employed foragers.
The exchange of information among bees is the most important
occurrence in the formation of the collective knowledge. The most
important part of the hive with respect to exchanging information is
the dancing area. Communication among bees related to the
quality of food sources takes place in the dancing area. This dance is
called a waggle dance.

Working of Honey Bees


The colony of artificial bees consists of three groups of bees: employed
bees, onlookers and scouts.
Each cycle of the search consists of three steps:
- sending the employed bees onto their food sources and
evaluating their nectar amounts;
- after sharing the nectar information of food sources, the selection
of food source regions by the onlookers and evaluating the nectar
amount of the food sources;
- determining the scout bees and then sending them randomly onto
possible new food sources.
At the initialization stage, a set of food sources is randomly selected by the
bees and their nectar amounts are determined. At the first step of the
cycle, these bees come into the hive and share the nectar information of
the sources with the bees waiting on the dance area.
A bee waiting on the dance area for making decision to choose a food
source is called onlooker and the bee going to the food source visited by
herself just before is named as employed bee.

After sharing their information with onlookers, every employed bee


goes to the food source area visited by herself at the previous cycle
since that food source exists in her memory, and then chooses a new
food source by means of visual information in the neighborhood of
the one in her memory and evaluates its nectar amount.

At the second step, an onlooker prefers a food source area


depending on the nectar information distributed by the employed
bees on the dance area.
As the nectar amount of a food source increases, the probability of
that food source chosen also increases. After arriving at the selected
area, she chooses a new food source in the neighborhood of the one
in the memory depending on visual information as in the case of
employed bees.
The determination of the new food source is carried out by the bees
based on the comparison process of food source positions visually.
At the third step of the cycle, when the nectar of a food source is
abandoned by the bees, a new food source is randomly determined
by a scout bee and replaced with the abandoned one.

Co-Relation With ABC Algorithm

In ABC algorithm, the position of a food source represents a


possible solution to the optimization problem and the nectar
amount of a food source corresponds to the quality (fitness) of the
associated solution. The number of the employed bees or the
onlooker bees is equal to the number of solutions in the
population. At the first step, the ABC generates a randomly
distributed initial population P(C=0) of SN solutions (food source
positions), where SN denotes the size of employed bees or
onlooker bees. Each solution xi (i=1; 2; . . . ; SN) is a D-dimensional
vector. Here, D is the number of optimization parameters.
After initialization, the population of the positions (solutions) is
subject to repeated cycles, C= 1; 2; . . . ;MCN, of the search
processes of the employed bees, the onlooker bees and the scout
bees. An employed bee produces a modification on the
position(solution) in her memory depending on the local
information (visual information) and tests the nectar amount
(fitness value) of the new source (new solution).

If the nectar amount (fitness) of the new one is higher than that of
the previous one, the bee memorizes the new position(solution)
and forgets the old one. Otherwise she keeps the position(solution)
of the previous one in her memory.
After all employed bees complete the search process, they share
the nectar information of the food sources and their position
information with the onlooker bees.
An onlooker bee evaluates the nectar information (fitness value)
taken from all employed bees and chooses a food source(solution)
with a probability related to its nectar amount (fitness value).
As in the case of the employed bee, she produces a modification
on the position(solution) in her memory and checks the nectar
amount(fitness) of the candidate source. If the nectar(fitness) is
higher than that of the previous one, the bee memorizes the new
position (new solution) and forgets the old one.

In this work, ABC is used for optimizing a large set of numerical test
functions and the results produced by ABC algorithm are compared with
the results obtained by genetic algorithm, particle swarm optimization
algorithm, differential evolution algorithm and evolution strategies.
Results show that the performance of the ABC is better than or similar to
those of other population-based algorithms with the advantage of
employing fewer control parameters.

The main steps of the algorithm are as below:


1: Initialize Population
2: repeat
3: Place the employed bees on their food sources
4: Place the onlooker bees on the food sources depending on their
nectar amounts
5: Send the scouts to the search area for discovering new food
sources
6: Memorize the best food source found so far
7: until requirements are met

Step by Step Procedure of ABC


Consider the optimization problem as follows:
Minimize

f ( x) x 21 x22

5 x1 , x2 5

Control Parameters of ABC Algorithm are set as;


Colony size, CS = 6
Limit for scout, L = (CS*D)/2 = 6
dimension of the problem, D = 2
First, we initialize the positions of 3 food sources (CS/2) of employed
bees, randomly using uniform distribution in the range (-5, 5).
x = 1.4112 -2.5644
0.4756 1.4338
-0.1824 -1.0323
f(x) values are; 8.5678
2.2820
1.0990

Fitness function;

1 / 1 f i iffi 0
fiti

1 abs( f i )iffi 0
Initial fitness vector is:
0.1045
0.3047
0.4764
Maximum fitness value is 0.4764, the quality of the best food source.

Cycle=1

//Employed bees phase


1st employed bee

vij xij ij ( x ij xkj ) with this formula, produce a new solution.

k=1 //k is a random selected index.


j=0 //j is a random selected index.
= 0.8050 // is randomly produced number in the range *-1, 1].
v 0 = 2.1644 -2.5644
Calculate f(0) and the fitness of 0.
f(0) = 11.2610 and the fitness value is 0.0816.

Apply greedy selection between x0 and 0


0.0816 < 0.1045, the solution 0 couldnt be improved, increase its trial
counter.

2nd employed bee


vij xij ij ( x ij xkj ) with this formula produce a new solution.
k=2 //k is a random selected solution in the neighbourhood of i.
j=1 //j is a random selected dimension of the problem.
= 0.0762 // is randomly produced number in the range *-1, 1].
1= 0.4756 1.6217
Calculate f(1) and the fitness of 1.
f(1) = 2.8560 and the fitness value is 0.2593.
Apply greedy selection between x1 and 1
0.2593 < 0.3047, the solution 1 couldnt be improved, increase its trial
counter.

3rd employed bee


vij xij ij ( x ij xkj ) with this formula produce a new solution.

k=0 //k is a random selected solution in the neighbourhood of i.


j=0 //j is a random selected dimension of the problem.
= -0.0671 // is randomly produced number in the range *-1, 1].
2= -0.0754 -1.0323
Calculate f(2) and the fitness of 2.
f(2) = 1.0714 and the fitness value is 0.4828.
Apply greedy selection between x2 and 2.
0.4828 > 0.4764, the solution 2 was improved, set its trial counter as 0
and replace the solution x2 with 2.
x = 1.4112 -2.5644
0.4756 1.4338
-0.0754 -1.0323
f(x) values are; 8.5678 ,2.2820 & 1.0714
fitness vector is:
0.1045, 0.3047, 0.4828

//Calculate the probability values p for the solutions x by means of their


fitness
cs / 2
//values by using the formula; p i fit i /
fit i
i 1
p=
0.1172
0.3416
0.5412

//Onlooker bees phase


//Produce new solutions i for the onlookers from the solutions xi selected
//depending on pi and evaluate them.

1st onlooker bee


i=2
2=
-0.0754
-2.2520
Calculate f( 2) and the fitness of 2.
f( 2) = 5.0772 and the fitness value is 0.1645.

Apply greedy selection between x2 and 2

0.1645 < 0.4828, the solution 2 couldnt be improved, increase its


trial counter

2nd onlooker bee


i=1
1=

0.1722
1.4338
Calculate f(1) and the fitness of 1.
f(1) = 2.0855 and the fitness value is 0.3241.
Apply greedy selection between x1 and 1
0.3241 > 0.3047, the solution 1 was improved, set its trial counter as 0
and replace the solution x1 with 1.
x =1.4112 -2.5644
0.1722 1.4338
-0.0754 -1.0323

f(x) values are;


8.5678
2.0855
1.0714
fitness vector is:
0.1045
0.3241
0.4828

3rd onlooker bee


i=2
2=
0.0348
-1.0323
Calculate f(2) and the fitness of 2.
f(2) = 1.0669 and the fitness value is 0.4838.
Apply greedy selection between x2 and 2

0.4838 > 0.4828, the solution 2 was improved, set its trial counter as 0
and replace the solution x2 with 2.
x=
1.4112 -2.5644
0.1722 1.4338
0.0348 -1.0323
f(x) values are;
8.5678
2.0855
1.0669
fitness vector is:
0.1045
0.3241
0.4838
//Memorize best

Best =
0.0348
-1.0323

//Scout bee phase


Trial Counter =
1
0
0
//There is no abandoned solution since L = 6
//If there is an abandoned solution (the solution of which the trial
counter value is
//higher than L = 6); generate a new solution randomly to replace with
the
//abandoned one.
Cycle = Cycle+1
The procedure is continued until the termination criterion is attained

Squeeze casting process


Squeeze casting (SC) is a hybrid metal forming process, in
which the molten metal solidifies under pressure within the
die cavity. The applied pressure forces the molten metal to
have an intimate contact with the mould metal which in turn
leads to rapid heat transfer that yields a pore free, finer grain
size, close dendrite arm spacing components with mechanical
properties approaching those of a wrought product. The most
important parameters in SC have been identified as melt
temperature, melt quality (i.e., the absence of oxide films and
inclusions) and quantity, die temperature, applied pressure,
and pressure duration.

The squeeze casting process, combining the advantages of the casting and forging
processes, has been widely used to produce quality castings. Because of the high
pressure applied during solidification, porosities caused by both gas and shrinkage
can be prevented or eliminated. The cooling rate of the casting can be increased
by applying high pressure during solidification, since that contact between the
casting and the die is improved by pressurization, which results in the foundation
of fine-grained structures.

As shown in Fig. 1, squeeze casting consists of entering liquid metal into a


preheated, lubricated die and forging the metal while it solidifies. The load is
applied shortly after the metal begins to freeze and is maintained until the entire
casting has solidified. Casting ejection and handling are done in much the same
way as in closed die forging. There are a number of variables that are generally
controlled for the soundness and quality of the castings.

Figure 1: Schematic illustrating squeeze casting process operations. (a) Melt charge, preheat, and lubricate
tooling. (b) Transfer melts into die cavity. (c) Close tooling, solidify melt under pressure. (d) Eject casting, clean
dies, charge melt stock.

What are the Benefits of Squeeze Casting?

Using this method it is possible to produce heat-treatable castings (not possible in


conventional die casting due to air entrapment). It has become known as squeeze
casting because the casting is squeezed in a controlled fashion under high pressure to
complete the filling of the die.
The applied pressure and instantaneous contact of molten metal with the die surface
produces a rapid heat transfer condition that yields a pore-free, fine-grained casting
with mechanical properties approaching those of a wrought product. Squeeze casting
offers high metal yield, minimum gas or shrinkage, low porosity and an excellent
surface finish, combined with lower operating costs.
Squeeze casting decreases the percentage of porosity and increases density as well
as grain size. This fine grain size improves the mechanical properties of the squeeze
cast component.
Another big advantage of squeeze casting is the possibility of using pre-forms (highporosity bodies made from specially selected materials). By infiltrating these with
molten metal under high pressure it is possible to further improve the properties of
the aluminium through composites and, hence, create working surfaces that are
extremely hard wearing. Of the many casting techniques available, squeeze casting
has greater potential to create less defective cast components. Since the asfabricated components can be readily used in service (or require only minor postfabrication treatment), squeeze casting is regarded as a net or near-net shape
fabrication route.

EXPERIMENTAL VALUES FOR SC


PROCESS PARAMETERS.

RESULTS OF EXPERIMENT AND


GENETIC ALGORITHM.
EXPERIMENTAL VALUE

GENETIC ALGORITHM

ABC ALGORITHM

Squeeze Pressure in
N/mm2

106

105.901

106

Die preheat
Temperature in C

34

35.103

36.5049

Pressure Duration in
seconds

30

15.124

15

Ultimate Tensile
strength in N/mm2

270

272.258

272.375

Hardness in BHN

97

98.013

98.054

Objective value

367

370.271

370.429

PROBLEM STATEMENT
Optimization of squeeze casting process using Artificial bee colony technique,
in order to increase the ultimate tensile strength and hardness of the alloy
material LM24(Al-Si Alloy), mitigating the flaws and defects, as well as
optimizing the design of the object being casted:
1. Study of modern and heuristic optimization techniques.
2. Study of Artificial bee colony technique.
3. study of squeeze casting process and its design parameters
4. Formulating ABC code and procedure to determine the optimization
of SCP.
5. SCP changes and re-evaluation of the process.
6. Comparison with GA in terms of optimal value determined.
7. Analysis of ABC and GA in order to determine the suitable technique
to implement.
8. Feedback of ABC over different present scenarios.
9. Evaluation and suggest further action/research.

PROJECT OBJECTIVES
Study of ABC algorithms in detail and finding the optimal
solution of manufacturing process (Squeeze casting process)
by maximizing hardness and ultimate tensile strength of
LM24.
Maximization of Manufacturing constraints appeared in
squeeze casting:
- Ultimate Tensile Strength(UTS)
- Hardness(BHN)

WORK PROGRESS
Detailed study of Genetic Algorithm (GA), Genetic
Programming (GP), and Particle swarm optimization
(PSO), Differential evolution algorithm and Artificial
Bee Colony (ABC) Algorithms.
We have done Literary work of many topics especially
the new techniques surrounding of optimization.
We have solved the squeeze casting process and find
optimum solution by ABC Algorithms.
We have prepared an excel sheet of one iteration
which gives an idea about how the solution can be
found by such algorithms.

CONCLUSION
The aluminium alloy LM24, which was chosen for this work, is
associated with excellent pressure tightness, good hot tear
resistance, poor weldability, good machinability and high
corrosion resistance when we optimized squeeze pressure, die preheat temperature and pressure duration.

By using ABC algorithm, we can get maximum hardness and


ultimate tensile strength of the given LM24 material.

Here we can conclude that if we gone through all the techniques of


optimization, ABC gives quite nearest and best optimal solution of
given problem.

REFERENCES
D. Karaboga, B. Basturk Akay, An artificial bee colony (abc)
algorithm on training artificial neural networks, in: 15th IEEE Signal
Processing and Communications Applications, SIU 2007, Eskisehir,
Turkiye, June, pp. 14.
www.elsevier.com/locate/amc
Akay B and Karaboga D. Parameter Tuning for the Artificial Bee
Colony Algorithm. Lecture Notes in Computer Science, 2009, 5796,
608-619.
Akay B and Karaboga D. Artificial Bee Colony Algorithm for Largescale Problems and Engineering Design Optimization.Journal of
Intelligent Manufacturing, 2010, 1-14
B. Andres-Toro, J.M. Giron-Sierra, Multi objective optimization and
multivariable control of the beer fermentation process with the use
of evolutionary algorithms, J. Zhejiang Univ. Sci. 5 (4) (2003) 378389

Thank You..

You might also like