Vous êtes sur la page 1sur 101

Introduction

loptimisation
combinatoire
S. Ben Ismail
Majeure Informatique INF413 C5
2e semestre 2012

Objectifs pdagogiques

l'issue de ce cours, vous devriez tre capables de :


connaitre la dirence entre "heuristique" et "mta-heuristique"
comprendre la classication gnrale des mthodes d'optimisation
combinatoire et les concepts sous-jacents
dcrire le fonctionnement des mthodes classiques
modliser un problme et lui appliquer une mthode d'optimisation
(cf PC)

Avec un peu plus de temps et de pratique :


valuer et comparer plusieurs mthodes d'optimisation sur un
problme donn
combiner direntes mthodes de manire performante

1 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Plan du cours
1

Introduction

Mthodes d'optimisation

Construction

Recherche locale

volution

Hybridation

Conclusion

2 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Sommaire
1

Introduction

Mthodes d'optimisation

Construction

Recherche locale

volution

Hybridation

Conclusion
3 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Optimisation : ksako ?

Langue franaise
optimiser (v.) : permettre d'obtenir le meilleur rsultat possible par
une action adapte
synonymes : amliorer, maximiser, mettre au point, optimaliser

Mathmatiques : la branche optimisation


soit f : 7 R, trouver x tel que f (x ) = minx f (x )
(notation x = arg min(f ))
Terminologie
(ou S ) : espace de recherche, espace des {tats, congurations,
solutions, alternatives}
f : fonction objectif, cot/perte minimiser (si gain maximiser,
considrer g = f )
x (ou s ) : optimum, minimum
4 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Exemples de problmes d'optimisation : cas continu


= Rn
20e

=R

0.2

fonction de Ackley

Pn
i =0

x
i

f (x ) =
1

en

Pn
i =1

cos(2xi )

+ 20 e

n = 2, x = (0, 0)
optimum global : x tq x , f (x f (x )
optimum local : x tq x , f (x ) f (x )

5 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Exemples de problmes d'optimisation : cas discret

Problme du Voyageur du Commerce


(Traveling Salesman Problem (TSP))

donnes : n villes, une matrice de distances


D = (d )
ij

problme : trouver un chemin passant une


fois et une seule par chaque ville et
minimisant la distance totale parcourue
'

ensemble des partitions d'un ensemble n lments


(n1)!

pour un problme symtrique


2
optimisation discrte ( vs continue )
|| =

Optimisation combinatoire
minimisation d'une fonction sur un ensemble ni (mais potentiellement
trs grand)
6 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

numration exhaustive

1. gnrer tous les trajets possibles


2. calculer leurs distances
3. choisir le trajet ayant la distance minimale

5
10
15
20
25
30

Temps de calcul
12
12 microsecondes
181 440
0,18 seconde
43 milliards
12 heures
6 E+16
19 sicles
3 E+23
9,8 milliards d'annes
4 E+30 1,4 millions de millards de sicles
||

1. un trajet valu en une microseconde (1 million de solutions par seconde)


7 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Et avec des machines plus puissantes ?

On excute un algorithme de complexit


linaire/quadratique/cubique/exponentielle sur une machine
N : taille maximale de problme pouvant tre trait
Machine actuelle 100x plus rapide 1000x plus rapide
n
N
100 N
1000 N
n
N
10 N
31.6 N
n
N
4.64 N
10 N
n
2
N
N + 6.64
N + 9.97
1

2
3
4

Puissance de calcul vs avances algorithmiques


cart entre la croissance de la rapidit des machines et la taille des
donnes traitables
ne pas compter uniquement sur l'augmentation des capacits
matrielles mais surtout sur l'innovation algorithmique
8 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Et part le TSP ?

sac dos (Knapsack Problem) : dcoupage de matire premire


allocation de frquences pour les rseaux radio-mobiles
positionnement d'antennes pour les rseaux radio-mobiles
routage dans les rseaux tlcom
rsolution de conits de trac arien, roulage en aroport
(ENAC/Eurocontrol)
ordonnoncement de tches dans un atelier de production (Jobshop
Scheduling) (Airbus)
aectation de personnel (Air France)
rpartition des charges dans les camions/contnaires (Bin Packing)
...
quipes de R&D EDF, SNCF, France Tlcom etc.
ores de travail en optimisation :
https ://portail.telecom-bretagne.eu
9 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Sommaire
1

Introduction

Mthodes d'optimisation

Construction

Recherche locale

volution

Hybridation

Conclusion

10 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Optimisation = modlisation + rsolution

1.
2.
3.
4.

modlisation d'un problme : espace de recherche, solutions


formulation mathmatique : fonction objectif, contraintes
application d'une mthode d'optimisation
obtention d'une solution

11 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Terminologie

mthode complte trouve toujours une solution


mthode optimale trouve toujours la meilleure solution (optimum global)
mthode exacte (exhaustive) explore l'espace de recherche dans sa
totalit (numration intelligente) => optimale
mthode approche (approximative) explore une sous-partie de l'espace
de recherche
mthode dterministe excute toujours la mme suite d'oprations
mthode probabiliste (ou stochastique) fait des choix probabilistes
guids par des tirages alatoires

12 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Classication des mthodes d'optimisation combinatoire

1. Les mthodes exactes ne sont ecaces que pour les instances de


problmes de petite taille,
2. On ne s'intressera ici qu'aux mthodes approches.
13 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Heuristique

tymologie : du grec ancien eurisko,  trouver 


mthode approche conue pour un problme d'optimisation
particulier permettant de trouver des solutions avec un temps de
calcul raisonnable
traduit une stratgie, une manire de penser, s'appuyant sur notre
connaissance du problme
indispensable pour les problmes NP diciles car gnralement en
temps polynomial

Heuristique 6= Algorithme exact


algorithme exact : garantit une solution optimale
heuristique : pas de garantie d'optimalit
14 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Mtaheuristique (ou mta-heuristique)

une heuristique est spcique un problme et ne peut pas tre


gnralise
mta + heuristique =  au-del  +  trouver  = trouver avec
un plus haut niveau d'abstraction
une mta-heuristique est un ensemble de concepts : voisinage
(modication d'une solution), utilisation de la mmoire, inspiration
de la physique ou la nature ...
une mta-heuristique est une heuristique gnraliste, pouvant
s'appliquer plusieurs problmes d'optimisation
classication habituelle des mtaheuristiques : en fonction du
nombre de solutions qu'elles manipulent
mtaheuristiques solution unique
mtaheuristiques population de solutions
15 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Paradigmes des mthodes approches (heuristiques et


mtaheuristiques)

Construction solution construite par une suite de choix


Recherche locale (ou voisinage) une solution initiale modie
itrativement
volution une population de solutions volue par des oprateurs
gntiques (slection, croisement, mutation)
Hybridation mlange des approches prcdantes
16 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Sommaire
1

Introduction

Mthodes d'optimisation

Construction

Recherche locale

volution

Hybridation

Conclusion

17 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Principe des heuristiques constructives

HeuristiqueConstructive() : solution s
: solution,
;

Fonction

s
s

( s n'est pas une solution complete) faire


choisir un nouvel element de solution e
s s +e;

Tant que

Fait
Retourner

s;

Fin

18 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Heuristiques constructives gloutonnes

Dnition
Un algorithme glouton (greedy ) est un algorithme qui,
chaque tape de la rsolution d'un problme, fait un
choix optimal dans l'espoir que le rsultat nal soit
optimal.
Heuristique constructive gloutonne : chaque tape, ajouter le
meilleur lment de solution e
Exemple : rendu de monnaie
comment rendre 8 avec des pices de 6, 4 et 1 ?
8 = 6 + 1 + 1 (or 8 = 4 + 4)
les valeurs des pices de monnaie du systme montaire sont
choisies pour qu'un algorithme glouton soit optimal
19 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Problme du sac dos (Knapsack

Problem

(KP))

donnes : sac dos vide, objets ayant chacun un poids et une valeur
objectif : maximiser la valeur totale des objets dans le sac
contrainte : poids maximal autoris dans le sac
$4

12

kg

15 kg
$2

$2

g
2k

g
1k

$1 1 k g

$10

g
4k

http ://fr.wikipedia.org/wiki/Problme_du_sac__dos
20 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Heuristique constructive gloutonne pour le KP

: rajouter en priorit les objets ayant le meilleur rapport


valeur/poids, jusqu' ce que le sac soit rempli.
objet valeur ($) poids (kg) rapport valeur/poids ($/kg)

7
12
0.58

3
7
0.43

10
9
1.11

1
2
0.5

2
5
0.4
valeur=0, poids=0
stratgie

21 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Heuristique constructive gloutonne pour le KP

: rajouter en priorit les objets ayant le meilleur rapport


valeur/poids, jusqu' ce que le sac soit rempli.
objet valeur ($) poids (kg) rapport valeur/poids ($/kg)

7
12
0.58

3
7
0.43

10
9
1.11

1
2
0.5

2
5
0.4

valeur=10, poids=9
stratgie

21 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Heuristique constructive gloutonne pour le KP

: rajouter en priorit les objets ayant le meilleur rapport


valeur/poids, jusqu' ce que le sac soit rempli.
objet valeur ($) poids (kg) rapport valeur/poids ($/kg)

7
12
0.58

3
7
0.43

10
9
1.11

1
2
0.5

2
5
0.4

valeur=10+7=17, poids=9+12=21
stratgie

21 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Heuristique constructive gloutonne pour le KP

: rajouter en priorit les objets ayant le meilleur rapport


valeur/poids, jusqu' ce que le sac soit rempli.
objet valeur ($) poids (kg) rapport valeur/poids ($/kg)

7
12
0.58

3
7
0.43

10
9
1.11

1
2
0.5

2
5
0.4

valeur=10+1=11, poids=9+2=11
stratgie

21 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Heuristique constructive gloutonne pour le KP

: rajouter en priorit les objets ayant le meilleur rapport


valeur/poids, jusqu' ce que le sac soit rempli.
objet valeur ($) poids (kg) rapport valeur/poids ($/kg)

7
12
0.58

3
7
0.43

10
9
1.11

1
2
0.5

2
5
0.4

valeur=11+3=14, poids=11+7=18
stratgie

21 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Heuristique constructive gloutonne pour le KP

: rajouter en priorit les objets ayant le meilleur rapport


valeur/poids, jusqu' ce que le sac soit rempli.
objet valeur ($) poids (kg) rapport valeur/poids ($/kg)

7
12
0.58

3
7
0.43

10
9
1.11

1
2
0.5

2
5
0.4

valeur=11+2=13, poids=11+5=16
stratgie

21 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Heuristique constructive gloutonne pour le KP

: rajouter en priorit les objets ayant le meilleur rapport


valeur/poids, jusqu' ce que le sac soit rempli.
objet valeur ($) poids (kg) rapport valeur/poids ($/kg)

7
12
0.58

3
7
0.43

10
9
1.11

1
2
0.5

2
5
0.4
- - - - valeur=11 , poids=11 kg
stratgie

21 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Heuristique constructive gloutonne pour le KP

: rajouter en priorit les objets ayant le meilleur rapport


valeur/poids, jusqu' ce que le sac soit rempli.
objet valeur ($) poids (kg) rapport valeur/poids ($/kg)

7
12
0.58

3
7
0.43

10
9
1.11

1
2
0.5

2
5
0.4
- - - - valeur=11 , poids=11 kg
or - - - - valeur=10+2=12 , poids=9+5=14 kg
stratgie

21 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

TSP : heuristique du plus proche voisin

plus proche voisin (nearest neighbour )


1. initialisation : choisir alatoirement une premire ville
2. chaque tape, une suite de villes a t construite
y rajouter la ville la plus proche de la ville courante (dernire
ville)
3. relier la dernire ville la premire (pour obtenir un cycle)

22 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

PPV : illustration

Rouen
Rennes

Reims

Metz

Chartres

Poitiers
Lyon

Toulouse
23 / 68

S. Ben Ismail

Annecy

Nice
Introduction l'optimisation combinatoire

PPV : illustration

10

23 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

PPV : illustration

10

23 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

PPV : illustration

10

23 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

PPV : illustration

10

23 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

PPV : illustration

10

23 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

PPV : illustration

10

23 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

PPV : illustration

10

23 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

PPV : illustration

10

23 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

PPV : illustration

10

23 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

PPV : illustration

10

23 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

PPV : illustration

10

23 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Heuristiques d'insertion pour le TSP

ide de construction :
1. initialisation : choisir alatoirement une premire ville
2. chaque tape, un cycle de villes a t constuit
y insrer LA ville qui minimise un critre donn

insertion du plus proche voisin (nearest insertion) : insrer la ville la


plus proche des villes dj visites

moindre cot (cheapest insertion) : insrer la ville ayant le


(engeandrant la plus petite
augmentation de la longueur du cyle)
moindre cot d'insertion

illustration : OptimGUI.jar
(http ://mr-nutz.no-ip.org/Valentin/projets.php ?page=0)

24 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Insertion du PPV : illustration

10

25 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Insertion du PPV : illustration

10

25 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Insertion du PPV : illustration

10

25 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Insertion du PPV : illustration

10

25 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Insertion du PPV : illustration

10

25 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Insertion du PPV : illustration

10

25 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Insertion du PPV : illustration

10

25 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Insertion du PPV : illustration

10

25 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Insertion du PPV : illustration

10

25 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Insertion du PPV : illustration

10

25 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Insertion du PPV : illustration

10

25 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Rcapitulatif

Approches constructives gloutonnes


en O (n) (ou polynomial)
une succession de choix localement optimaux ne garantit pas une
solution optimale

26 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Sommaire
1

Introduction

Mthodes d'optimisation

Construction

Recherche locale

volution

Hybridation

Conclusion

27 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Introduction la recherche locale

La fable des randonneurs : il tait une fois ... [1]

4 randonneurs perdus la montagne en 4 endroits dirents


il faut rejoindre la valle de plus basse altitude, l o les secours
passent rgulirement
brouillard (ou la nuit avec une lampe frontale) => observation de
l'environnement immdiat
un croisement de sentiers : on ne peut examiner qu'un chemin la
fois, en s'y ebgageant
moyens : un altimtre et une boussole

Stratgies dployes : que faire quand on se trouve


croisement de sentiers ?
Dernires nouvelles (selon l'quipe de secours qui
est alle les chercher) ?
28 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Randonneur 1

a oubli son cours de complexit

stratgie :  je suis sportif, j'explore tous les chemins possibles ! 


rsultat : le pauvre, il court toujours dans la montagne ! ... mais il
n'est pas encore mort de lassitude.
Il doit tre bien motiv -

Moralit
la recherche exhaustive numrative ne fut pas un choix judicieux !

29 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Randonneur 2

meilleur que son ami

stratgie :  descendre pour aller en bas, quoi de plus normal ? :


tant que je peux descendre, je le fais ! 
rsultat : pas de chance /, il a termin dans une cuvette.
Aprs une nuit glaciale il s'est rendu compte que ce n'tait pas le
point le plus bas. Il s'est remis en marche pour enn descendre,
puis, au bon endroit.
Moralit
la recherche gloutonne basique peut marcher, mais pas cette fois-ci !
avec un autre point de dpart a aurait pu mieux se passer.
descendre toujours peut conduire une impasse !

30 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Randonneur 3

a suivi la MAJ INFO

stratgie :  je descends, mais j'autorise, de temps autre (joue aux


ds), des chemins qui montent. 
tient compte de l'inclinaison des chemins qui montent
un certain moment, il a march (sans le savoir) sur les pas du
2me randonneur
rsultat : il est arriv un point trs bas, qu'il n'a pas quitt, et les
quipes de secours l'ont trouv ,

Moralit
des dgradations occasionnelles de la fonction objectif peuvent nous
faire chapper d'un optimum local

31 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Randonneur 4

tait attentif en INF 413

stratgie :  tant que je peux descendre, je le fais en empruntant le


chemin de plus grande pente
si je ne peux plus descendre, j'emprunte le chemin qui remonte avec
la plus faible pente
je mmorise les derniers chemins que je viens d'emprunter pour ne
pas emprunter les emprunter tout de suite. 
rsultat : idem que le 3me
mais qui du 3me et du 4me arriva premier ? l'histoire ne le dit pas
Moralit
avec une mmoire court terme, on peut s'pargner des boucles
innies
32 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Principe de la recherche locale

Ide
on s'attend ce que les bonnes solutions partagent des structures
similaires donc, les meilleures solutions devraient pouvoir tre
obtenues aprs des petites modications de bonnes solutions, etc ...
Principe
solution initiale
transformations successives

Voisinage
fonction 2 : x 7 (x )
traduit la notion de solutions proches, semblables, voisines
suite de solutions : une trajectoire dans l'espace de recherche
33 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Structure gnrale d'une recherche locale

Fonction

s :

RechercheLocale(f , , s ) : meilleure solution s


, z : reel
0

solution

s s ; z f (s ) ;
0

( s 0 dans (s )
s s0 ;
z f (s ) ;

Tant que

Fait
Retourner

ET

acceptable(s 0 )) faire

s ;

Fin

34 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Exemples de voisinages pour le TSP

Soit u et v deux villes, x et y leurs villes conscutives respectives


dans la solution d'un TSP
oprateurs de voisinage :
insertion
- supprimer u et l'insrer aprs v
- supprimer u et x, et insrer (u,x) aprs v
- supprimer u et x, et insrer (x,u) aprs v
change (swap )
- changer u et v
- changer (u,x) et v
- changer (u,x) et (v,y)
2-opt
- remplacer (u,x) et (v,y) par (u,v) et (x,y)

35 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Insertion : illustration 1

u=7
v = 10

10

10

36 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Insertion : illustration 1

u=7
v = 10

10

10

36 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Insertion : illustration 2

u = 7, x = 3
v = 10
v

10

10

37 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Insertion : illustration 2

u = 7, x = 3
v = 10
v

10

10

37 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

change : illustration

u=7
v = 10

10

10

38 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

change : illustration

u=7
v = 10

10

10

38 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

2-opt : illustration

u = 7, x = 3
v = 10 y = 8
v

10

10

39 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

2-opt : illustration

u = 7, x = 3
v = 10 y = 8
v

10

10

39 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Mthodes de descente du gradient

Algorithme du gradient en optimisation continue


schma itratif utilis : xk + = xk k f (xk )

Adaptation au cas discret : mthode de descente du gradient (Hill


Climbing )
choix de la solution s 0 : premire (descente simple) ou meilleure
amlioration (plus grande pente)
2. cf TC131 : Mthodes et outils pour l'analyse numrique - PC1 - STP2
Introduction l'optimisation

40 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Descente du gradient

Fonction

s :

HillClimbing(f , , s ) : meilleure solution s


, z : reel
0

solution

s s ; z f (s ) ;
0

( s 0 dans (s )
s s0 ;
z f (s ) ;

Tant que

Fait
Retourner

ET

f (s 0) < z )

faire

s ;

Fin

41 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Plus grande pente

Fonction

s :

SteepestHillClimbing(f , , s ) : meilleure solution s


, z : reel
0

solution

s s ; z f (s ) ;
0

Tant que

s 0 dans (s )

f (s )
s s0 ;
z f (s ) ;
00 ) faire

Fait
Retourner

ET

s 00

s s fs

( )\{ 0 }, ( 0 ) <

s ;

Fin

42 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Mthodes de descente : avantages et inconvnients

une mthode locale basique, rapide, mais s'arrte au premier


optimum local trouv
elle s'y trouve pige (2me randonneur de la fable)
Ide d'amlioration : 3me et 4me randonneurs de la fable
autoriser, de temps en temps, une dgradation de la solution
courante
contrler la dgradation pour viter la divergence de l'algorithme

43 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Recuit simul

(Simulated Annealing ),

1983

analogie avec la thermodynamique (mtallurgie)


1. initialement, un mtal est chau haute temprature
2. puis refroidissement de la temprature
brutalement (trempe) tat solide amorphe
progressivement tat solide cristallin

mtallurgie
nergie
tat amorphe
tat cristallin
temprature
recuit

44 / 68

S. Ben Ismail

optimisation

minimum local
minimum global
paramtre de contrle
recuit simul : dplacement
dans
(recherche locale)
Introduction l'optimisation combinatoire

Principe du RS

RecuitSimule(f , , s , T , , k ) :
s :
T : //temperature
s s ; T T ;
(T > )
choisir s 0 aleatoirement dans (s ), 4f
(4f 0)
s s 0 ; //accepter s 0

Fonction

meilleure solution

solution

reel

Tant que

faire

Si

fs

fs

( 0) ( )

Alors

Sinon

s s 0 ; avec la probabilite e Tf
4

Fin Si

T k .T //refroidir la temperature (k = 0.999 par ex.)


Fait
45 / 68

Fin

Retourner

s ;

S. Ben Ismail

Introduction l'optimisation combinatoire

Remarque

mthode stochastique
4f
probabilit d'acceptation p(4f , T ) = e T
E 0 E
probabilit de Mtropolis en thermodynamique : e T
4f : si dgradation norme probabilit plus petite
T : plus la temprature descent, plus la probabilit d'acceptation
devient petite
on autorise plus de dgradation au dbut qu' la n : convergence
vers un tat d'nergie minimale

46 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Recherche tabou

(Tabu Search),

1989 (Glover)

Principe (4me randonneur)

: on mmorise les dernires congurations


visites (liste tabou)
choisir un des meilleurs voisins qui n'appartient pas la liste tabou,
mme s'il dgrade f
pas de tirages alatoires
mmoire court terme

paramtres :
nombre maximal d'itrations
fonctionnement de la liste tabou : le
taille de la liste tabou : statique ou dynamique

47 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Recherche locale : conclusion I

L'lment qui caractrise une recherche locale est le choix de la solution


voisine s 0 dans le voisinage V (s )
Descente :
s 0 est une solution voisine plus performante que s : f (s 0 ) f (s )
s 0 est LA solution voisine LA plus performante f (s 0 ) f (s ) et
s 00 V (s ) f (s 0 ) f (s 00 )

Recuit simul :
s 0 est choisie au hasard

accepte si plus performante que

accepte si moins performante que

avec une probabilit donne

Recherche tabou :
s 0 est l'une des meilleures solutions voisines de s ,

n'apparteneant

pas la liste tabou

48 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Recherche locale : conclusion II

Comparaison
Descente (2me randonneur) : mthode rapide, mais se termine au
premier optimum local rencontr
Recuit & Tabou (3me et 4me randonneurs) : ne s'arrtent pas au
premier optimum local rencontr (grce aux dgradations de f )

49 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Dilemme Intensication vs Diversication

Intensication (exploitation) : focaliser l'eort de recherche sur une


zone particulire de l'espace de recherche (autour des meilleures
solutions rencontres)
Diversication (exploration) : explorer des nouvelles zones
prometteuses de l'espace de recherche pour trouver potentiellement
d'autres bonnes solutions
Un bon compromis trouver !
En recherche locale : essentiellement de l'exploitation, diversication
dans RS et RT

50 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Sommaire
1

Introduction

Mthodes d'optimisation

Construction

Recherche locale

volution

Hybridation

Conclusion

51 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Algorithmes gntiques, 1975 (Holland)

Ide gnrale :
inspiration naturelle
recherche dans l'espace de congurations : faire voluer (recombiner
et modier) un ensemble de solutions du problme, et en
slectionner la meilleure la n

Terminologie :
une solution constitue un individu ayant une valuation (ou fonction
de performance) (tness )
un ensemble de solutions constitue une population
une combinaison de deux solutions est un croisement (parents,
enfants )
une modication d'une solution est une mutation

52 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Principe

Fonctionnement
1. valuation des individus
2. slection des meilleurs parmi eux
3. croisements
4. mutations
convergence : apparition des individus
les plus performants
les bons parents donnent lieu
de bons enfants par hritage
les mutation permettent de
diversier la population (explorer
ailleurs)
53 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Ingrdients principaux

codage des solutions (chromosomes )


gnration d'une population initiale
processus de slection
oprateurs de mutation et de croisement
paramtres : taille de la population, critre d'arrt (nombre total de
gnrations, stagnation), probabilit de mutation

54 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Oprateurs gntiques

55 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Exemple basique : optimisation de fonction relle alliot

minimiser f (x ) = 4x (x 1), = [0, 1[


codage d'une solution : squence de 8 bits gale la reprsentation
binaire de E (x 2 )
exemple : x = 0.3 [0, 1[, x 2 =76.8, E (x 2 ) [0, 2 1[
76 en binaire donne 01001100
8

squence
01110010
11011110
00011010
01101100

56 / 68

S. Ben Ismail

valeur
0.7266255
0.8671875
0.1015625
0.4218750

f (x )

0.794678
0.460693
0.364990
0.975586

Introduction l'optimisation combinatoire

Application au TSP

chromosome : tableau contenant l'indice des villes


tness : distance totale parcourue
croisement : cf PC
mutation : change de 2 villes
tout l'heure en PC : extension au problme de routage de
vhicules (VRP : plusieurs TSP en mme temps)

57 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Autres mthodes base de population

colonies de fourmis (ACO )

essaims particulres (PSO )


58 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Sommaire
1

Introduction

Mthodes d'optimisation

Construction

Recherche locale

volution

Hybridation

Conclusion

59 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Hybridation

exploitation de la recherche locale dans un algorithme gntique


population initiale
oprateur de mutation remplac par une procdure de recherche
locale => algorithme mmtique
amlioration des enfants gnrs
cf PC

60 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Sommaire
1

Introduction

Mthodes d'optimisation

Construction

Recherche locale

volution

Hybridation

Conclusion

61 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Adquation mthode/problme

tant donn un problme d'optimisation, quelle mthode choisir


pour produire une solution optimale (ou acceptable)
avec un temps de calcul raisonnable ?

Pas de recette miracle !


essayer plusieurs mthode (avec plusieurs paramtrages) peut tre
ncessaire pour trouver la bonne
appel au savoir-faire et l'exprience de l'utilisateur

No Free Lunch Theorm (1997) : En moyenne, sur toutes les

fonctions de cot possibles, tous les algorithmes d'optimisation ont


des performances quivalentes avec un temps d'excution ni
il n'y pas d'algorithme d'optimisation meilleur que tous les autres
62 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Directives pour bien utiliser les mtaheuristiques [2]

mthodes de recherche locale


on doit pouvoir gnrer facilement une solution dans S
les solutions dans le voisinage V (s ) doivent tre "proches" de s

mthodes de recherche base de population


il faut que l'information pertinente se transmette durant la phase de
croisement
la combination de deux parents quivalents ne doit pas produire une
progniture dirente des parents
la diversit doit tre prserve dans la population

Do it simple !

63 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Quelques recettes

tuning des paramtres : source de dicult


algorithmes stochastiques => ne jamais se contenter d'une seule
excution
excutions (runs) nombreuses, indpendantes
faire des mesures statistiques (moyennes, cart-types)
faire des tests statistiques pour appuyer des conclusions
choses mesurer :
rsultat moyen pour un temps donn
temps moyen pour atteindre un rsultat
proportion des excutions % de l'optimum
meilleures solutions obtenues

64 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Pour terminer

domaine de recherche riche et en constante volution (revues et


confrences spcialises)
en tant qu'ingnieurs : savoir qu'on dispose de plusieurs mthodes
choisir la mieux adapte :
au problme d'optimisation (espace de recherche, fonction objectif
...)
ce que l'on cherche : une "bonne" solution trouve rapidement, ou
LA solution x% de l'optimum

pour une bonne performance :


bonne fomalisation/modlisation du problme
adaptation "intelligente" d'une mtaheuristique : intgration des
connaissances spciques + structures de donnes ecaces

65 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Lectures complmentaires

3. http ://cs.gmu.edu/
66 / 68

S. Ben Ismail

sean/book/metaheuristics/
Introduction l'optimisation combinatoire

La suite en PC

Un problme d'optimisation rsolu avec plusieurs heuristiques et


mtaheuristiques

67 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Rfrences Bibliographiques I

I. Charon, A. Germa, and O. Hudry.

Mthodes d'optimisation combinatoire.


Masson, 1996.
Alain Hertz and Marino Widmer.
Guidelines for the use of meta-heuristics in combinatorial
optimization.
European Journal of Operational Research, 151(2) :247  252, 2003.
Meta-heuristics in combinatorial optimization.

68 / 68

S. Ben Ismail

Introduction l'optimisation combinatoire

Vous aimerez peut-être aussi