Professional Documents
Culture Documents
1
Heuristic Optimization (01 Intro)
Outline
2
Heuristic Optimization (01 Intro)
Optimization
3
Heuristic Optimization (01 Intro)
Optimization
4
Heuristic Optimization (01 Intro)
Optimization Methods
Search techniques
Direct methods Indirect methods Evolutionary algorithms Simulated annealing Dynamic programming
Parallel Sequential
5 © W. Williams, ‘99
Heuristic Optimization (01 Intro)
Heuristics vs Meta-Heuristics
z Heuristic derives from the greek verb heuriskein (ενρισκειν) which
means “to find”
z Faster than mathematical optimization (branch & bound, simplex,
etc)
z “Meta” means “beyond, in an upper lever”
– Meta-heuristics are strategies that “guide” the search process
– The goal is to explore the search space in order to find (near-)optimal
solutions
– Meta-heuristics are not problem-specific
– The basic concepts of meta-heuristics permit an abstract level
description
– They may incorporate mechanisms to avoid getting trapped in
confined areas of the search space
7
Heuristic Optimization (01 Intro)
Classification
z Heuristic
– Constructive algorithms (greedy)
– Local search algorithms (hill-climbing…)
z Meta-heuristic
– Trajectory methods: Describe a trajectory in the search space
during the search process
z Variable Neighbourhood Search
z Iterated Local Search
z Simulated Annealing
z Tabu Search
– Population-based: Perform search processes which describe
the evolution of a set of points in the search space
z Evolutionary computation (Genetic Algorithms)
8
Heuristic Optimization (01 Intro)
Greedy
z Generate solutions from scratch by adding (to an
initially empty partial solution) components, until the
solution is complete
z A greedy algorithm works in phases. At each phase:
– You take the best you can get right now, without regard for
future consequences
– You hope that by choosing a local optimum at each step, you
will end up at a global optimum
z Example (Scheduling):
– 3 processors
– 9 jobs (3, 5, 6, 10, 11, 14, 15, 18 and 20 minutes)
9
Heuristic Optimization (01 Intro)
Local Search
z Iterative algorithm:
– Start from some initial solution
– Explore the neighbourhood of the current solution
– Replace the current solution by a better solution
z Different procedures depending on choice criteria and
termination criteria
– Stochastic: choose at random
– Hill climbing: only permit moves to neighbours that improve the
current
z Greedy – the best neighbour
z Anxious – the first neighbour improving
z Sideways moves – allows moves with same fitness
10
Heuristic Optimization (01 Intro)
11
Heuristic Optimization (01 Intro)
12
Heuristic Optimization (01 Intro)
z Strategy based on
dynamically changing
neighborhood structure.
13
Heuristic Optimization (01 Intro)
Tabu Search
Tabu Search
15
Heuristic Optimization (01 Intro)
16
Heuristic Optimization (01 Intro)
Simulated Annealing
17
Heuristic Optimization (01 Intro)
Simulated Annealing
s=GenerateInitialSolution()
e=Energy(s)
t=t(0)
while Termination criteria not met
s’=PickAtRandom( N(x) ); e’=Energy(s’);
If random(0,1) < P(e,e’,T) then If e’>ef ( s(worse)
') − f ( s )
−
Endif
s=s’
e T
P(e,e’,T)>0
Update(T) When TÆ0
end while
P(e,e’,T) Æ 0
18