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.
Delta = - d(2,1) – d (5,3) + d(2, 5) + d(1, 3) 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 4 2 1 5 3 4 1 1 2 5 1 3 4 2 5 2 5 3 3 Delta = - d(2,1) – d (5,3) + d(2, 5) + d(1, 3)
Available algorithms Tabu Search Simulated Annealing Iterated local search Hill Climbing
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).
Move selection strategies Hill Climbing class To build the next move Full evaluation function To build the first move To compute the fitness delta Move selection strategies
Move selection strategies Hill Climbing class To build the next move To build the first move To compute the fitness delta Move selection strategies
Move selection strategies Hill Climbing class To build the next move To compute the fitness delta Move selection strategies
Move selection strategies Hill Climbing class To compute the fitness delta Move selection strategies
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 To compute the fitness delta Stopping criterion between two temperature updates Random move generator Cooling schedule strategy
Simulated Annealing class Stopping criterion between two temperature updates Random move generator Cooling schedule strategy
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. Choosing the Tabu List. Choosing the aspiration criterion. Choosing the continuation criterion. Could be reused from Hill Climbing Independent of the tackled problem
Tabu Search class To build the next move Full evaluation function To build the first move To compute the fitness delta Aspiration criterion Continuation criterion Tabu List
Continuation criterion Tabu Search class Aspiration criterion Continuation criterion Tabu List
Continuation criterion Tabu Search class Continuation criterion 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 Choosing the solution comparator. Choosing the continuation criterion. Could be reused from Hill Climbing Independent of the tackled problem
Iterated local search class A solution perturbation A local search A solution comparator 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
Hybridizing allows to combine: EO & MO Hybridizing Hybridizing allows to combine: The exploration power of population-based metaheuristics. The intensification power of single solution-based metaheurisitcs.
Scheme of an EA in ParadisEO-EO
ParadisEO-EO/ParadisEO-MO link
Hybrid EA
ParadisEO-MO 1.2 ?
Thank you for your attention 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