An Introduction to Metaheuristics
Chun-Wei Tsai
Electrical Engineering, National Cheng Kung University
Outline
Optimization Problem and Metaheuristics
Metaheuristic Algorithms
• Hill Climbing (HC)
• Simulated Annealing (SA)
• Tabu Search (TS)
• Genetic Algorithm (GA)
• Ant Colony Optimization (ACO)
• Particle Swarm Optimization (PSO)
Performance Consideration
Conclusion and Discussion
Page 2
Optimization Problem
The optimization problems
– continuous
– discrete
The combinatorial optimization problem (COP) is a kind of the discrete
optimization problems
Most of the COPs are NP-hard
Page 3
The problem definition of COP
The combinatorial optimization problem
P = (S, f) can be defined as:
where opt is either min or max, x = {x1, x2, . . . , xn} is a set of variables,
D1,D2, . . . ,Dn are the variable domains, f is an objective function to be optimized,
and f : D1×D2×· · ·×Dn R+. In addition, S = {s | s ∈ D1×D2×· · ·×Dn} is the search
space. Then, to solve P, one has to find a solution s ∈ S with optimal objective
function value.
D1 D2 D3 D4
1
2
3
4
solutions1 1
Page 4
1
2
3
4
2
1
2
3
4
3
1
2
3
4
4
D1 D2 D3 D4
1
2
3
4
1
2
3
4
solution s2 2
2
1
2
3
4
1
2
3
4
3 3
Combinatorial Optimization Problem and Metaheuristics (1/3)
Complex Problems
– NP-complete problem (Time)
• No optimum solution can be found in a reasonable time with limited
computing resources.
• E.g., Traveling Salesman Problem
– Large scale problem (Space)
• In general, this kind of problem cannot be handled efficiently with limited
memory space.
• E.g., Data Clustering Problem, astronomy, MRI
Page 5
Combinatorial Optimization Problem and Metaheuristics (2/3)
Traveling Salesman Problem (n!)
– Shortest Routing Path
Path 1:
Path 2:
Page 6
Combinatorial Optimization Problem and Metaheuristics (3/3)
Metaheuristics
– It works by guessing the right directions for finding the true or near
optimal solution of complex problems so that the space searched, and
thus the time required, can be significantly reduced.
opt
opt
D2
s4
f
s3
s2
s1
s4
s3
s5
s1
D1
Page 7
s2
s5
opt
The Concept of Metaheuristic Algorithms
The word “meta” means higher level
while the word “heuristics” means to
find. (Glover, 1986)
The operators of metaheuristics
– Transition: play the role of searching the
solutions (exploration and exploitation).
Transition
Page 8
s2 = (2,2) D2
opt
D2
s2
s1
Evaluation
D1
o1 = 5
opt
D2
Determination
s'2
d1
d2
s'1
s'2
s1
o2 = 3
– Evaluation: evaluate the objective
function value of the problem in question.
– Determination: play the role of deciding
the search directions.
opt
s1 = (1,1)
s1
D1
D1
An example-Bulls and cows
Check all candidate solutions
Guess Feedback Deduction
– Secret number: 9305
– Opponent's try: 1234
Transition
• 0A1B
Evaluation
• 1234
Determination
– Opponent's try: 5678
Transition
• 0A1B
Evaluation
• 5678
Determination
– number 0 and 9 must be the secret
number
Page 9
from wiki
Classification of Metaheuristics (1/2)
The most important way to classify metaheuristics
– population-based vs. single-solution-based (Blum and Roli, 2003)
The single-solution-based algorithms work on a single solution, thus the name
– Hill Climbing
– Simulated Annealing
– Tabu Search
The population-based algorithms work on a population of solutions, thus the name
– Genetic Algorithm
– Ant Colony Optimization
– Particle Swarm Optimization
Page 10
Classification of Metaheuristics (2/2)
Single-solution-based
– Hill Climbing
– Simulated Annealing
– Tabu Search
Population-based
– Genetic Algorithm
Swarm Intelligence
– Ant Colony Optimization
– Particle Swarm Optimization
Page 11
Hill Climbing (1/2)
greedy algorithm
based on heuristic adaptation of the objective function to explore a better
landscape
begin
t0
Randomly create a string vc
Repeat
evaluate vc
select m new strings from the neighborhood of vc
Let vn be the best of the m new strings
If f(vc) < f(vn) then vc vn
t t+1
Until t N
end
Page 12
Hill Climbing (2/2)
Global optimum
Local optimum
Starting point
Starting point
search space
Page 13
Simulated Annealing (1/3)
Metropolis et al., 1953
From the annealing process found in the thermodynamics and metallurgy
To avoid the local optimum, SA allows worse moves with a controlled
probability---temperature
The temperature will become lower and lower due to the convergence
condition
Page 14
Simulated Annealing (2/3)
begin
t0
Randomly create a string vc
vc = 01110
Repeat
evaluate vc
f = 01110 = 3
select 3 new strings from the neighborhood of vc
Let vn be the best of the 3 new strings
If f(vc) < f(vn)
then vc vn
Else if (T > random()) then vc vn
Update T according to annealing schedule
t t+1
Until t N
end
Page 15
n1 = 00110, n2 = 11110,
n3 = 01100
vn = 11110
vc = vn= 11110
Simulated Annealing (3/3)
Global optimum
Local optimum
Local optimum
Starting point
Starting point
search space
Page 16
Tabu Search (1/3)
Fred W. Glover, 1989
To avoid falling into the local optima and searching
the same solutions, the solutions recently visited are
saved in a list, called the tabu list (a short-term
memory the size of which is a parameter).
Moreover, when a new solution is generated, it will
be inserted into the tabu list and will stay in the tabu
list until it is replaced by a new solution in a first-infirst-out manner.
http://spot.colorado.edu/~glover/
Page 17
Tabu Search (2/3)
begin
t0
Randomly create a string vc
Repeat
evaluate vc
select 3 new strings from the neighborhood of vc and not in the tabu list
Let vn be the best of the 3 new strings
If f(vc) < f(vn) then vc vn
Update tabu list TL
t t+1
Until t N
end
Page 18
Tabu Search (3/3)
Global optimum
Local optimum
Local optimum
Starting point
search space
Page 19
Genetic Algorithm (1/5)
John H. Holland, 1975
Indeed, the genetic algorithm is one of the most
important population-based algorithms.
Schema Theorem
– short, low-order, above-average schemata receive
exponentially increasing trials in subsequent
generations of a genetic algorithms.
David E. Goldberg
– http://www.illigal.uiuc.edu/web/technical-reports/
Page 20
Genetic Algorithm (2/5)
Page 21
Genetic Algorithm (3/5)
Page 22
Genetic Algorithm (4/5)
Initialization operators
Selection operators
– Evaluate the fitness function (or the objective function)
– Determinate the search direction
Reproduction operators
Crossover operators
– Recombine the solutions to generate new candidate solutions
Mutation operators
– To avoid the local optima
Page 23
Genetic Algorithm (5/5)
p1 = 01110, p2 = 01110
p3 = 11100, p4 = 00010
begin
t 0
initialize Pt
f1 = 01110 = 3, f2 = 01110 = 3
f3 = 11100 = 3, f4 = 00010 = 1
evaluate Pt
while (not terminated) do
s1 = 01110 = 0.3, s2 = 01110 = 0.3
s3 = 11100 = 0.3, s4 = 00010 = 0.1
begin
t t+1
select Pt from Pt-1
s4 = 11100 = 0.3
crossover and mutation Pt
p1 = 011 10, p2 = 01 110
p3 = 111 00, p4 = 11 100
evaluate Pt
end
end
c1 = 011 00, c2 = 01 100
c3 = 111 10, c4 = 11 110
c1 = 01101, c2 = 01110
c3 = 11010, c4 = 11111
Page 24
24
c1 = 01100, c2 = 01100
c3 = 11110, c4 = 11110
Ant Colony Optimization (1/5)
Marco Dorigo, 1992
Ant colony optimization (ACO) is another wellknown population-based metaheuristic originated
from an observation of the behavior of ants by
Dorigo
The ants are able to find out the shortest path
from a food source to the nest by exploiting
pheromone information
http://iridia.ulb.ac.be/~mdorigo/HomePageDorigo/
Page 25
Ant Colony Optimization (2/5)
Page 26
food
food
nest
nest
Ant Colony Optimization (3/5)
Create the initial weights of each path
While the termination criterion is not met
Create the ant population s = {s1, s2, . . . , sn}
Each ant si moves one step to the next city according the pheromone rule
Update the pheromone
End
Page 27
Ant Colony Optimization (4/5)
Solution construction
–
for choosing the next sub-solution is
defined as follows:
where
is the set of feasible (or candiate)
sub-solutions that can be the next sub-solution
of i;
is the pheromone value between the
sub-solutions i and j; and
is a heuristic value
which is also called the heuristic information.
Page 28
Ant Colony Optimization (5/5)
Pheromone Update is employed for updating the pheromone values
each edge e(i, j), which is defined as follows:
where
is the number of ants;
tour created by ant k.
Page 29
represents either the length of the
on
Particle Swarm Optimization (1/4)
James Kennedy and Russ Eberhart, 1995
The particle swarm optimization
originates from an observation of the
social behavior by Kennedy and Eberhart
global best, local best, and trajectory
http://clerc.maurice.free.fr/pso/
Page 30
Particle Swarm Optimization (2/4)
IPSO, http://appshopper.com/education/pso
http://abelhas.luaforge.net/
Page 31
Particle Swarm Optimization (3/4)
Create the initial population (particle positions) s = {s1,
s2, . . . , sn} and particle velocities v = {v1, v2, . . . , vn}
While the termination criterion is not met
global best
Evaluate the fitness values fi of each particle si
New motion
For each particle
Update the particle position and velocity
IF (fi < f’i ) Update the local best f’i = fi
IF (fi < fg ) Update the global best fg = fi
End
Page 32
trajectory,
current motion
local best,
personal best
Particle Swarm Optimization (4/4)
particle’s position and velocity update equations :
velocity Vik+1 = wVik +c1 r1 (pbi-sik) + c2 r2(gb-sik)
where vik: velocity of particle i at iteration k,
w, c1, c2: weighting factor,
r1, r2: uniformly distributed random number between 0 and 1,
sik: current position of agent i at iteration k,
pbi: pbest of particle i,
gb: gbest of the group.
position Xik+1 = Xik + Vik+1
Page 33
Larger w global search ability
Smaller w local search ability
Summary
Page 34
Performance Consideration
Enhancing the Quality of the End Result
– How to balance the Intensification and Diversification
– Initialization Method
– Hybrid Method
– Operator Enhancement
Reducing the Running Time
– Parallel Computing
– Hybrid Metaheuristics
– Redesigning the procedure of Metaheuristics
Page 35
Large Scale Problem
Methods for solving large scale problems (Xu and Wunsch, 2008)
– random sampling
– data condensation
– density-based approaches
– grid-based approaches
– divide and conquer
– Incremental learning
Page 36
How to balance the Intensification and Diversification
Intensification
– Local Search, 2-opt, n-opt
opt
Diversification
– Keeping Diversity
– Fitness Sharing
Intensification
– Increase the number of individuals
•
More computing resource
– Re-create
opt
Too much intensification local optimum
Too much diversification random search
Diversification
Page 37
Reducing the Running Time
Parallel computing
– This method generally does not reduce the overall computation time.
– master-slave model, fine-grained model (cellular model) and coarse-grained
model (island model) [Cant´u-Paz, 1998; Cant´u-Paz and Goldberg, 2000]
Sub-Population
Island 1
Population
Migration procedure
Sub-Population
Island 3
Page 38
Sub-Population
Island 2
Sub-Population
Island 4
Multiple-Search Genetic Algorithm (1/3)
The evolutionary process of MSGA.
Page 39
Multiple-Search Genetic Algorithm (2/3)
Multiple Search Genetic Algorithm (MSGA) vs. Learnable Evolution Model
(LEM)
Tsai’s MSGA
TSP problem pcb442
Page 40
Michalski’s LEM
Multiple-Search Genetic Algorithm (3/3)
It may face the premature convergence problem because diversity of
metaheuristics may decrease too quickly.
Each iteration may take more computation time than that of the original
algorithm.
Page 41
Pattern Reduction Algorithm
Concept
Assumptions and Limitations
The Proposed Algorithm
– Detection
– Compression
– Removal
Page 42
Concept (1/4)
Our observation shows that a lot of computations of most, if not all, of the
metaheuristic algorithms during their convergence process are redundant.
Page 43
(Data courtesy of Su and Chang)
43
Concept (2/4)
Page 44
44
Concept (3/4)
Page 45
45
Concept (4/4)
C1
0
0
1
0
C2
1
1
1
0
C1
0
0
1
0
C2
1
1
1
0
g =1, s =4
g =2, s =4
C1
0
0
1
0
C2
1
1
1
0
C1
0
0
C2
1
1
g =2, s =2
.
.
.
.
.
.
C1
0
0
1
0
C2
1
1
1
0
g =n, s =4
Metaheuristics
Page 46
g=1, s =4
C1
0
0
C2
1
1
g =n, s =2
Metaheuristics
+
Pattern Reduction
Assumptions and Limitations
Assumptions
– Some of the sub-solutions at certain point in the evolution process will
eventually end up being part of the final solution (Schema Theory, Holland
1975)
– Pattern Reduction (PR) is able to detect these sub-solutions as early as
possible during the evolution process of metaheuristics.
Limitations
– The proposed algorithm requires that the sub-solutions be integer or binary
encoded (i.e., combinatorial optimization problem).
Page 47
47
Some Results of PR
Page 48
The Proposed Algorithm
Create the initial solutions P = {p1, p2, . . . , pn}
While termination criterion is not met
Apply the transition, evaluation, and determination operators of the metaheuristics in
question to P
/* Begin PR */
Detect the sub−solutions R = {r1, r2, . . . , rm} that have a high probability not to be changed
Compress the sub−solutions in R into a single pattern, say, c
Remove the sub−solutions in R from P; that is, P = P \ R
P = P ∪ {c}
/* End PR */
End
Page 49
49
Detection
Time-Oriented
– aka static patterns
…
– Detect patterns not changed in a certain number of
iterations
T1: 1352476
T2: 7352614
T3: 7352416
Tn: 7
C1
416
Space-Oriented
T1 P1: 1352476
– Detect sub-solutions that are common at certain loci
P2: 7352614
…
Problem-Specific
Tn P1: 1
– E.g., for the k-means, we are assuming that patterns
P2: 7
near a centroid are unlikely to be reassigned to
another cluster.
Page 50
50
C1
C1
476
614
Problem-Specific
x1
x2
x3
x9
x4
x11
x10
x1
Cluster 0
Cluster 1
Cluster 2
Mean
Removed
x2
x9
Cluster 0
Cluster 1
Cluster 2
Mean
x5
x12
x6
x7
x8
x12
x6
x8
P = 12
P=9
1
1
1
1
2
2
2
2
3
3
3
3
1
1
1
1
2
2
2
2
3
3
3
3
x1
x2
x3
x4
x5
x6
x7
x8
x9
x10
x11
x12
x1
x2
x3
x4
x5
x6
x7
x8
x9
x10
x11
x12
P: Number of patterns
Page 51
51
Compression and Removal
The compression module plays the role of compressing all the subsolutions to be removed whereas the removal module plays the role of
removing all the sub-solutions once they are compressed.
Lossy Method
– May cause a “small” loss of the quality of the end result.
Page 52
52
An Example
Page 53
Simulation Environment
The empirical analysis was conducted on an IBM X3400 machine with 2.0 GHz Xeon CPU
and 8GB of memory using CentOS 5.0 running Linux 2.6.18.
Enhancement in percentage
– ((Tn - To) / To ) x 100
TSP
– Traditional Genetic Algorithm (TGA), HeSEA, Learnable Evolution Model (LEM), Ant Colony
System (ACS), Tabu Search (TS), Tabu GA, Simulated Annealing (SA).
Clustering
– Standard k-means (KM), Relational k-means (RKM), Kernel k-means (KKM), Scheme Kernel
k-means (SKKM), Triangle Inequality k-means (TKM), Genetic k-means Algorithm (GKA), or
Particle Swarm Optimization (PSO)
Page 54
54
The Results of Traveling Salesman Problem (1/2)
Page 55
55
The Results of Traveling Salesman Problem (2/2)
Page 56
56
The Results of Data Clustering Problem (1/3)
Data sets for Clustering
Page 57
57
The Results of Data Clustering Problem (2/3)
Page 58
58
The Results of Data Clustering Problem (3/3)
Page 59
59
Time Complexity
where n is the number of patterns,
k the number of clusters,
l the number of iterations,
and d number of dimensions.
Ideally, the running time of “k-means with PR” is independent of the number
of iterations.
In reality, however, our experimental result shows that setting the removal
bound to 80% gives the best result.
Page 60
60
Conclusion and Discussion (2/2)
In this presentation, we introduce the
– Combinatorial Optimization Problem
– Several Metaheuristic Algorithms
– The Performance Enhancement Method
• MSGA, PREGA and so on.
Future Work
– Developing an efficient algorithm that will not only eliminate all the redundant
computations but also guarantee that the quality of the end results by
“metaheuristics with PR” is either preserved or even enhanced, with respect to
those of “metaheuristics by themself.”
– Applying the proposed framework to other optimization problems and
metaheuristics.
Page 61
Conclusion and Discussion (2/2)
Future Work
– Applying the proposed framework to continuous optimization problem.
– Developing more efficient detection, compression, and removal methods.
Discussion
Page 62
• E-mail: cwtsai87@gmail.com
• MSN: cwtsai87@yahoo.com.tw
• Web site: http://cwtsai.ee.ncku.edu.tw/
• Chun-Wei Tsai is currently a postdoctoral fellow at the Electrical
Engineering of National Cheng Kung University.
• His research interests include evolutionary computation, web
information retrieval, e-Learning, and data mining.
Framework for metaheuristics
s1 = 0 1 1 1 0
s2 = 1 0 0 0 1
s1 = 0 1 1 0 0
s2 = 1 0 0 1 1
f1 = 2
p1 = 2/5
f2 = 3
p2 = 3/5
p1 = 2/6
p2 = 4/6
g=2
p1 = 3/7
p2 = 4/7
g=3
Create the initial solutions s = {s1, s2, …, sn}
While termination criterion is not met
Transit s to s’
Evaluate the objective function value of each solution s’I in s’.
Determine s
g=1
fitness
End
Page 64
.
.
.
p1 = 4/9
iteration
64
p2 = 5/9
g=n
Initialization Methods (1/4)
In general, the initial solutions of metaheuristics are randomly
generated and it may take a tremendous number of iterations, and
thus a great deal of time, to converge.
– Sampling
– Dimension reduction
– Greedy method
Page 65
65
Initialization Methods (2/4)
Page 66
66
Initialization Methods (3/4)
Page 67
67
Initialization Methods (4/4)
The refinement initialization method can provide a more stable solution
and enhance the performance of metaheuristics.
fitness
The risk of using the refinement initialization methods is that it may
cause metaheuristics to fall into local optima.
average
total
Page 68
iteration68
Local Search Methods (1/2)
The local search methods play an important role in fine-tuning the
solution found by metaheuristics.
13 8 5 6 7 4 9 2 0
31 8 5 6 7 4 9 2 0
18 3 5 6 7 4 9 2 0
15 8 3 6 7 4 9 2 0
16 8 5 6 7 4 9 2 0
17 8 5 6 3 4 9 2 0
14 8 5 6 7 3 9 2 0
19 8 5 6 7 4 3 2 0
12 8 5 6 7 4 9 3 0
10 8 5 6 7 4 9 2 3
Page 69
69
Local Search Methods (2/2)
We have to take into account how to balance metaheuristics and
local search.
Longer computation time may provide a better result, but
there is no guarantee.
Page 70
70
Hybrid Methods
Hybrid method combines pros from different metaheuristic algorithms for
enhancing the performance of metaheuristics
– E.g., GA plays the role of global search while SA plays the role of local search.
– Again, we may have to balance the performance of the hybrid algorithm.
Page 71
71
Data Clustering Problem
– Partitioning the n patterns into k groups or clusters based on some
similarity metric.
image1
codebook
Vector Quantization
k-means
Page 72
72
image2
0
You can add this document to your study collection(s)
Sign in Available only to authorized usersYou can add this document to your saved list
Sign in Available only to authorized users(For complaints, use another form )