Tabu Search class - Docking@GRID

Parallel Cooperative
Optimization Research
Group
ParadisEO-MO : software framework for
single solution-based metaheuristics
http://paradiseo.gforge.inria.fr
Laboratoire d’Informatique
Fondamentale de Lille
Outline
• Algorithms in ParadisEO-MO 1.1 :
–
–
–
–
Hill climbing
Simulated Annealing
Tabu search
Iterated local search
• Hybridization with ParadisEO-EO.
• What’s next in ParadisEO-MO 1.2 ?
Design concepts
• Single solution metaheurisitcs
 neighbourhood exploration.
• Generating another solution ?
 disturbing the current solution
 make a movement.
• Base of ParadisEO-MO = moMove.
Move chosen : Two-Opt
• Two points within the string are selected and the
segment between them is inverted. This operator put in
two new edges in the tour.
4
2 1 5 3 4
2 5 1 3 4
2
4
1
3
5
2
1
3
Delta = - d(2,1) – d (5,3) + d(2, 5) + d(1, 3)
5
Available algorithms
Hill
Climbing
Tabu
Search
Simulated Iterated
Annealing local search
Hill Climbing
Designing a Hill Climbing
• Designing a move operator, its features.
• Designing/implementing the operator to build
the first move (and implicitly the first neighbor).
• Designing/implementing the operator to update
a given move to its successor.
• Designing/implementing the incremental
evaluation function.
• Choosing the neighbor selection strategy.
• No continuation criterion (stopping as a local
optimum is reached).
Hill Climbing class
To build
the next move
To build
the first move
Full evaluation
function
To compute
the fitness delta
Move selection
strategies
Hill Climbing class
To build
the next move
To build
the first move
To compute
the fitness delta
Move selection
strategies
Hill Climbing class
To build
the next move
To compute
the fitness delta
Move selection
strategies
Hill Climbing class
To compute
the fitness delta
Move selection
strategies
Hill Climbing class
Move selection
strategies
Hill Climbing class
Hill Climbing class
Simulated Annealing
How can a Simulated Annealing be built ?
Could be reused from Hill Climbing
• Designing a move operator, its features.
• Designing/implementing the operator to
build a random candidate move.
• Designing/implementing the incremental
evaluation function.
• Choosing the cooling schedule strategy.
Independent of the tackled problem
Simulated Annealing class
Full evaluation
function
Random
move
generator
Cooling schedule
strategy
To compute
the fitness
delta
Stopping criterion
between two
temperature updates
Simulated Annealing class
Random
move
generator
Cooling schedule
strategy
Stopping criterion
between two
temperature updates
Simulated Annealing class
Stopping criterion
betwenn two
temperature updates
Cooling schedule
strategy
Simulated Annealing class
Stopping criterion
between two
temperature updates
Simulated Annealing class
Simulated Annealing class
Tabu Search
How can Tabu Search be built ?
• Design a move operator, its features.
• Design/implement the operator to build the first
move (and implicitly the first neighbor).
• Design/implement the operator to update a given
move to its successor.
• Design/implement the incremental evaluation
function.
Could be reused from Hill Climbing
• Choosing the Tabu List.
• Choosing the aspiration criterion.
• Choosing the continuation criterion.
Independent
of the tackled
problem
Tabu Search class
To build the next move
To build
the first
move
Full evaluation
function
To compute
the fitness delta
Aspiration criterion
Tabu List
Continuation criterion
Tabu Search class
Aspiration criterion
Tabu List
Continuation criterion
Tabu Search class
Tabu List
Continuation criterion
Tabu Search class
Continuation criterion
Tabu Search class
Tabu Search class
Iterated local search
Designing an iterative local search
• Design/implement the operator to make a
perturbation on a solution.
• Design/implement a local search
Could be reused from Hill Climbing
• Choosing the solution comparator.
• Choosing the continuation criterion.
Independent
of the tackled
problem
Iterated local search class
A local search
A solution
comparator
A solution
perturbation
A stopping
criterion
Iterated local search class
A local search
A solution
comparator
A stopping
criterion
Iterated local search class
A solution
comparator
A stopping
criterion
Iterated local search class
A stopping
criterion
Iterated local search class
Iterated local search class
EO & MO  Hybridizing
• Hybridizing allows to combine:
– The exploration power of population-based
metaheuristics.
– The intensification power of single solutionbased metaheurisitcs.
Scheme of an EA in ParadisEO-EO
ParadisEO-EO/ParadisEO-MO link
Hybrid EA
ParadisEO-MO 1.2 ?
Any questions ?
Thank you for your attention
• Multi-objective metaheuristics ???
 ParadisEO-MOEO.
• Parallel and distributed metaheuristics ???
 ParadisEO-PEO.
• ParadisEO web site:
http://paradiseo.gforge.inria.fr
• OPAC team web site:
http://www.lifl.fr/OPAC