Académique Documents
Professionnel Documents
Culture Documents
Plan du chapitre
I. Introduction
II. Quelques methodes heuristiques
1
2
3
4
Algorithme A
Recuit Simule
Algorithmes genetiques
Algorithme de colonies de fourmis
I. Introduction
Pour les probl`emes de grandes tailles :
pas de temps de calculs raisonnables avec les methodes exactes
recherche de bonnes solutions approch
ees.
...
pices
Recuit simule
Algorithmes genetiques
:
:
xF
11
Algorithme A
S = {x0 }; S = ; F (x0 ) = 0.
Tant que S 6=
- D
eterminer x S tq (x) = F (x) + L(x) = minx 0 S ((x 0 ))
- S = S \ {x}; S = S {x}
- Si x = xF alors arr^
et (solution trouv
ee x)
Pour tout x 0 Successeur(x)
Si x 0
/ S S
S = S {x 0 }
F (x 0 ) = F (x) + l(x, x 0 );
(x 0 ) = F (x 0 ) + L(x 0 )
Un exemple
Recherche dun plus court chemin dans une grille avec obstacle. Les
deplacements autorises sont horizontaux et verticaux.
Choix de lheuristique :
L(x)
=
=
14
x 0 sommet de dpart
xF
x0
x F sommet darrive
Dplacements
horizontaux/verticaux
15
sommet dj
examin ( S )
1+3
1+5
x0
xF
sommet
examiner ( S )
1+5
L(x) : distance de x `
a xF
16
2+4
sommet dj
examin ( S )
2+4
1+3
sommet
examiner ( S )
1+5
x0
xF
1+5
L(x) : distance de x `
a xF
17
2+4
sommet dj
examin ( S )
2+4
1+3
sommet
examiner ( S )
1+5
x0
2+6
xF
1+5
L(x) : distance de x `
a xF
18
2+4
sommet dj
examin ( S )
2+4
1+3
sommet
examiner ( S )
1+5
x0
2+6
xF
1+5
L(x) : distance de x `
a xF
2+6
19
2+4
sommet dj
examin ( S )
2+4
1+3
sommet
examiner ( S )
1+5
x0
3+5
2+6
xF
1+5
L(x) : distance de x `
a xF
2+6
20
3+5
2+4
2+4
1+3
1+5
x0
2+6
sommet dj
examin ( S )
3+3
xF
sommet
examiner ( S )
1+5
L(x) : distance de x `
a xF
2+6
21
3+5
2+4
2+4
1+3
1+5
x0
2+6
3+3
sommet dj
examin ( S )
4+2
xF
sommet
examiner ( S )
1+5
L(x) : distance de x `
a xF
2+6
22
3+5
2+4
2+4
1+3
1+5
x0
2+6
3+3
4+2
5+1
5+1
xF
sommet dj
examin ( S )
sommet
examiner ( S )
1+5
L(x) : distance de x `
a xF
2+6
23
3+5
2+4
2+4
1+3
1+5
x0
2+6
3+3
4+2
5+1
5+1
6+0
xF
sommet dj
examin ( S )
sommet
examiner ( S )
1+5
L(x) : distance de x `
a xF
2+6
24
sommet dj
examin ( S )
xF
x0
sommet
examiner ( S )
25
Proprietes de A
On note l(x, y ) la distance de x `a son successeur y et L (x) est la distance
minimale de x `a xF .
Heuristique consistante : L est une heuristique consistante si
L(x) L(y ) + l(x, y )
x, y successeur de x.
x.
Proprietes
Si L est admissible alors lalgorithme A trouvera toujours le chemin
optimal.
Si L est consistante alors
L est admissible
lalgorithme A a une complexite lineaire
26
2) Recuit simule
Propose par Kirkpatrick et co-auteurs (1983).
Methode inspiree de la physique statistique (metallurgie). Analogie avec le
processus dalternance de refroisissement lent et de rechauffage (recuit)
dune pi`ece de metal afin dobtenir un etat denergie minimale.
27
f (x)
T
( r`egle de Metropolis)
28
Recuit simule
x0 solution initiale
k = 0; x = x0 (meilleure solution rencontr
ee).
Choisir une suite d
ecroissante de nombre k > 0 (k = 1, 2, )
Tant que (condition darr^
et non v
erifi
ee)
Choisir al
eatoirement
y proche
de xk (voisins)
f (y )f (xk )
k
Calculer p = min 1, e
D
efinition de xk+1 :
xk+1 = y avec probabilit
e p
xk+1 = xk avec probabilit
e 1p
Si f (xk+1 ) < f (x ) alors x = xk+1
k=k+1
Fin tant que
29
Remarques.
La fonction f nest pas necessairement lineaire.
Si f (y ) f (xk ) alors p = 1 xk+1 = y .
En revanche, si f (y ) > f (xk ) alors y nest pas necessairement rejete.
p est dautant plus faible que f (y ) f (xk ) est grand.
Choix courant de la temperature : k+1 = k avec < 1 ( = 0.99).
Si k nest pas trop faible alors la probabilite p peut etre suffisamment
grande pour saffranchir de lattraction dun minimum local.
30
3) Algorithme genetique
Analogie avec la genetique et levolution naturelle par croisement,
mutation et selection (Golberg 1989).
Principe de selection/croisement/mutation : faire evoluer une population
de solutions en selectionnant les meilleures solutions `a chaque etape
(nouvelle generation). Evolution par croisement des solutions selectionnees
avec des mutations possibles.
Croisement : Par exemple, 2 solutions x et y sous forme de codage binaire
(xi , yi {0, 1}) :
x = (x1 , x2 , , xn )
y = (y1 , y2 , , yn )
v = ( y1 , , yk1 , xk , , xn )
Un exemple : Binpack 2D
Placement optimal de rectangles sur des plaques pour minimiser le nombre
de plaques utilisees.
33
Codage
Operateurs de placement
: placement gauche/droite
+ : placement haut/bas
34
Croisement hybride
Parent 1 : 1432 + 5 +
Parent 2 : 51 4 + 3 2+
(a) Partie index
35
Croisement hybride
Parent 1 : 1432 + 5 +
Parent 2 : 51 4 + 3 2+
(b) Partie operateur
Finalement, on obtient
Enfant 1 : 15 4 + 32 +
Enfant 2 : 4132 + 5 +
36
Mutations
rotation dun rectangle
permutation de 2 rectangles
deplacement dun operateur
37
Remarques.
La fonction objectif f peut etre non-lineaire.
Temps de calculs souvent importants.
Difficultes de mise en oeuvre.
Fournit generalement une solution approchee.
Probl`emes dextrema locaux.
38