J.K.

Hao, Université d'Angers 1
Méta-heuristiques et leurs applications


Jin-Kao Hao

LERIA
Université d'Angers
2, Boulevard Lavoisier
F- 49045 Angers Cedex 01

téléphone : 02 41 73 50 76
email : hao@info.univ-angers.fr
Web : www.info.univ-angers.fr/pub/hao
J.K. Hao, Université d'Angers 2
1. Optimisation combinatoire
2. Panorama sur les méthodes de résolution
3. Approche de recherche locale
4. Approche d’évolution
5. Approche d’hybridation
6. Exemple d’applications
7. Conclusions

PLAN

J.K. Hao, Université d'Angers 3
1ère partie

Panorama sur les méthodes de résolution


Cette partie est fondée sur l‟article de synthèse suivante :

J.K. Hao, P. Galinier et M. Habib
Métaheuristiques pour l'optimisation combinatoire
et l'affectation sous contraintes.
Revue d'Intelligence Artificielle Vol.13 (2) : 283-324, 1999.

Article accessible à : www.info.univ-angers.fr/pub/hao

J.K. Hao, Université d'Angers 4
Quelques références générales

 Handbook of Applied Optimization, P.M. Pardalos & M.G.C. Resende,
Oxford University Press, 2002.
 Modern Heuristic Techniques for Combinatorial Problems, C.R.
Reeves (Ed.), McGraw-Hill, 1995.
 New Ideas in Optimization, D.Corne, M. Dorigo et F. Glover (Ed.),
McGraw-Hill, 1999.
 Tabu Search, F. Glover & M. Laguna, Kluwer Academic Publishers,
1997.
 Simulated Annealing and Boltzmann Machines, E. Aarts & J. Korst,
Johne Wiley & Sons, 1989.
 Genetic Algorithms in Search, Optimization, and Machine Learning,
D.E. Goldberg, Addison-Wesley, 1989.
J.K. Hao, Université d'Angers 5
Optimisation combinatoire

Minimisation

étant donné un couple (S,f) où
• S un ensemble fini de solutions ou configurations (espace de recherche)
• f : S÷R une fonction de coût (ou objectif)
trouver s*eX _ S tel que f(s*) s f(s) ¬ s eX (config. faisables ou réalisables)











• •





s*
S
X
Remarques :
• pour la maximisation, il suffit de remplacer "f(s*) s f(s)" par " f(s*) > f(s)"
• en pratique, S et f ne sont pas nécessairement donnés à l'avance (pb codage)
• la plupart des pb d'optimisation intéressants sont dans la classe NP-difficile
Exemple : voyager de commerce (TSP)
J.K. Hao, Université d'Angers 6

méthodes de recherche
(RO)
construction
rech. locale
MD
(<72)
tabou
(86)
glouton
(<56)
SEP
(<66)
recuit
(83)
méthodes de recherche
(IA)
construction réparation
min-conflit
(90)
GSAT
(92)
A*
(68)
CSP
(74)
algorithmes
évolutifs
AG
(75)
prog.
évo.
(66)
stratégies
d'évolution
(73)
recombinaison
scatter search
path relinking
(77)
Méthodes de résolution
Quatre grandes approches :

1. Construction : instanciation successive des variables selon un ordre statique ou
dynamique (branch & bound, CSP, méthodes gloutonnes...)
2. Recherche locale : réparation itérative d'une configuration complète par des
modifications locales (descente, recuit simulé, recherche tabou, min-conflit...)
3. Evolution : évolution d'une population de solutions par des opérations "génétiques"
(sélection, croisement, et mutation), ex : algorithmes génétiques...
4. Hybridation : combinaison de différentes approches (évolution + RL, évolution +
construction...)
J.K. Hao, Université d'Angers 7
Méthodes de résolution

Approche de construction
- l'instanciation successive des variables selon un ordre statique ou dynamique.
- si exacte (complète), alors complexité exponentielle dans le pire des cas
- ex : branch & bound, CSP, méthodes gloutonnes...

Approche de recherche locale ou voisinage
- réparation itérative d'une config. complète par des modifications locales
- non-exacte
- ex : descente, recuit simulé, recherche tabou, mais aussi min-conflit...
Remarque : possibilité d'insérer la recherche locale dans un algorithme exact (complet)

Approche d'évolution
- évolution d'une population de solutions par des opérations "génétiques"
(sélection, croisement, et mutation)
- non-exacte
- ex : algo. génétiques, stratégies d'évolution, programmation évolutive...
J.K. Hao, Université d'Angers 8

Remarques :
- domaine de recherche en pleine actualité et en évolution constante
- revue & conférence spécialisées
* Metaheuristics International Conference (MIC) (depuis 1995)
* Journal of Heuristics (depuis 1995, fondateur : F. Glover)


rech. locale algo. évolutifs
MD tabou
métaheuristiques
recuit algo. génét. prog. évo.
stratégies d'évo.
méthodes hybrides
Autres
Métaheuristiques
J.K. Hao, Université d'Angers 9
Heuristique

une méthode approchée conçue pour un problème particulier pour produire
des solutions non nécessairement optimales (avec un temps de calcul
raisonnable)

Métaheuristique

• une stratégie (règle) de choix pilotant une heuristique
(introduite initialement dans le contexte de la méthode taboue)
• un schéma de calcul heuristique, général et adaptable à un ensemble
de problèmes différents

Champs d’applications privilégiés

problèmes de recherche difficiles qu‟on ne sait pas traiter autrement
Heuristiques v.s. métaheuristiques
J.K. Hao, Université d'Angers 10
Deux principes de base pour une recherche heuristique


Intensification (ou exploitation)

• permet d‟examiner en profondeur une zone particulière
de l‟espace de recherche

Diversification (ou exploration)

• permet d‟orienter la recherche vers de nouvelles zones (prometteuses)
dans l‟espace de recherche

Une recherche heuristique efficace
• nécessite un bon compris entre intensification et diversification

Remarque: Métaheuristiques fournissent des moyens différents pour la mise en
oeuvre de ces deux principes complémentaires.

J.K. Hao, Université d'Angers 11
Voisinage
- fonction N : S ÷2
S
, ¬ s eS, N(s) c S,
i.e. cette fonction associe à chaque point de S un sous-ensemble de S
e.x. pour les CSP, changement de la valeur d‟une variable
- seS est un optimum local par rapport à N si ¬ s'eN(s), f(s) s f(s') (pour pb. min.)

Fonction d’évaluation Eval
- fonction Eval : S ÷ R, ¬ s eS,
i.e. cette fonction permet de quantifier la qualité des points de S
- Eval = f (objectif initial) si l‟on travaille dans l‟espace de recherche réalisable
- Eval = f + une fonction de pénalité si l‟on travaille dans l‟espace non réalisable

Stratégie de mouvement
- règle de choix permettant de passer d‟une configuration courante
à une configuration voisine.
Recherche locale – éléments de base
J.K. Hao, Université d'Angers 12

Procédure générale

étape 1 (initialisation)
a) choisir une solution initiale s e S
b) s* ÷ s (i.e. s* mémorise la meilleure solution trouvée)

étape 2 (choix et terminaison)
a) choisir s' eN(s)
b) s ÷ s' (i.e. remplacer s par s')
c) terminer et retourner la meilleure solution trouvée si la condition d'arrêt vérifiée

étape 3 (mise à jour)
a) s* ÷ s si f(s) < f(s*)
b) aller à l'étape 2

Remarque : métaheuristiques différentes => stratégies de choix différentes à l'étape 2
Recherche locale – la procédure
J.K. Hao, Université d'Angers 13
Recherche locale
point initial
point final
voisinage
J.K. Hao, Université d'Angers 14
Recherche locale – la descente

Méthode de descente stricte

étape 2 (choix et terminaison)

Choisir un voisin s‟ eN(s) tq f(s‟) < f(s) (s‟ est plus performant que s)
s ÷ s‟ (i.e. remplacer s par s‟)
terminer si ¬ s‟eN(s), f(s‟) > f(s)

Remarque :
décisions à prendre
o *1ère ou meilleure amélioration
o comment évaluer rapidement les voisins à chaque itération
(technique delta, matrice de gains)

Propriété : s'arrête au 1er optimum local rencontré

remèdes simples :
o relance multiple aléatoire
o acceptation de voisins moins performants
J.K. Hao, Université d'Angers 15
Recherche locale – recuit simulé


Recuit simulé

étape 2 (choix et terminaison)

1. choisir au hasard s' e N(s) (s‟ n‟est pas nécessairement meilleur que s)
2. si f(s') s f(s), alors accepter s, sinon accepter s avec une probabilité p(Af,T)
3. terminer si la condition d'arrêt est réalisée (un nb. max d'itér est effectué...)

Remarque :

 décisions à prendre
1. comment déterminer la probabilité p(Af,T) (diminution périodique ou
continu)
2. comment évaluer rapidement les voisins à chaque itération (delta)

 une recherche partiellement fondée sur le hasard

J.K. Hao, Université d'Angers 16
Schéma de refroidissement

Schéma de refroidissement (cooling schedule): la fonction qui spécifie
l‟évolution (souvent la diminution progressive) de la température
Schéma de décroissance par palier:
1. la température est conservée pour un nombre d‟itération variables
(paliers), la longueur de chaque palier est inversement proportionnelle à
la valeur de la température
Autres schémas de refroidissement :
1. décroître la température à chaque itération.
2. une température constante (algorithme de Metropolis).
3. fonction de température non-monotone.
J.K. Hao, Université d'Angers 17
Le critère de Metropolis
Fonction CritMetropolis(Af,T)
- Si Af < 0 renvoyer VRAI
- Sinon
avec une probabilité de exp(Af,T) renvoyer VRAI
Sinon renvoyer FAUX
Commentaires:
1. Un voisin qui améliore (Af <0) ou à coût égal (Af = 0) est toujours accepté.
2. Une dégradation faible est acceptée avec une probabilité plus grande qu‟une
dégradation plus importante.
3. La fonction CritMetropolis(Af,T) est une fonction stochastique : appelée deux
fois avec les mêmes arguments, elle peut renvoyer tantôt «vrai» et tantôt
«faux».
J.K. Hao, Université d'Angers 18
Recherche locale – recuit simulé
(avec paliers et refroidissement géométrique)

Algorithme général

Générer une configuration initiale s ;
s* ÷ s;
T := T0;
Repeat
nb_moves := 0
For i := 1 to iter_palier
choisir au hasard s' e N(s);
calculer Af = f(s‟) – f(s);
if CritMetropolis(Af, T) then
s ÷ s‟;
if f(s)<f(s*) then s* ÷ s;
nb_moves := nb_moves + 1;
acceptance_rate := i / nb_moves;
T := T * coeff;
Until <condition fin>
Retourner s*
J.K. Hao, Université d'Angers 19
Recherche locale – tabou

Recherche tabou

étape 2 (choix et terminaison)

1. choisir s‟ e N(s) tq ¬ s" e N(s), f(s') s f(s") (s‟ est le plus performant des
voisins de s, mais peut être moins performant que s)
(liste tabou pour empêcher des cycles)
2. s <- s', même si f(s') > f(s)
3. terminer si la condition d'arrêt est réalisée (nb. max d'itér effectué...)

Remarque :

 La règle de choix permet à tabu d‟aller au delà des optima locaux
 décisions à prendre
1. que stocker dans la liste tabou
2. comment déterminer la longueur de la liste (statique ou dymanique)
3. comment évaluer rapidement les voisins à chaque itération (delta)
 Mécanismes spécifiques pour intensification et diversification
J.K. Hao, Université d'Angers 20
Recherche locale (résumé)

Descente :

choisir un voisin plus performant s' e N(s) i.e. f(s') < f(s)
Rapide mais s'arrête au 1er optimum local rencontré


Recuit :

choisir au hasard s' e N(s); si f(s') s f(s) alors accepter s'
sinon accepter s' avec probabilité p(Af,T)


Tabou :

choisir un des meilleurs voisins s' e N(s), accepter s' même si f(s') > f(s) (liste
tabou pour empêcher des cycles)

 Recuit et tabou ne s'arrêtent pas au 1er optimum local rencontré
J.K. Hao, Université d'Angers 21
D’autres formes de recherche locale

Recherche à Voisinage Variable (VNS – Variable Neighborhood Search)
La descente s‟opère avec un ensemble de voisinages N
k
(ex: dans le cas d‟un
problème 0-1, N
k
(x) = { distance_hamming(x,x‟)=k}

GRSAP (Greedy randomized adaptative search procedures)
La descente (ou une autre RL) est appliquée sur des solutions initiales
générées avec une procédure gloutonne non-déterministe.

Randow-Walk
Avec une probabilité p, prendre un voisin au hasard
Avec une probabilité 1-p, appliquer la descente
Un exemple : le fameux algorithme WalkSAT (GSAT est une descente stricte)

Méthode bruitage (Noising method)
La recherche locale est appliquée avec une fonction d‟évaluation f bruitée ou
sur les données bruitées du problème



J.K. Hao, Université d'Angers 22
Recherche locale : performance

Théorique

preuves de convergence dans certains cas (recuit simulé, tabou...), mais
difficlement utilisables en pratique

Pratique

 très bons résultats pour de nombreux problèmes difficiles
 adaptation indispensable :
• le codage du problème (configuration et espace de recherche)
• le voisinage (connaissances spécifiques du problème)
• techniques pour traiter les contraintes
• les structures de données employées

Amélioration

 hybridation avec les algorithmes génétiques
 hybridation avec l'approche de construction
J.K. Hao, Université d'Angers 23
Approche d’évolution

Notion principale
 évolution d'un ensemble de configurations (population)
 opérateurs d'évolution : sélection, recombinaison et mutation

Procédure générale
étape 1 : (initialisation)
Choisir un ensemble de configurations initiales (population)

étape 2 : (évolution)
Sélection sur la population
Application d'opérateurs de recombinaison et de mutation

étape 3 : (mise à jour)
Réorganisation de la population (ex, élimination des configurations
non-performantes de la population)

Remarques :
 différentes écoles : AG, stratégies d'évolution et program. évolutive
 un cadre algorithmique très général et puissant
J.K. Hao, Université d'Angers 24
Remarques :
justification par le théorème des schémas :
 les schémas courts et performants (building blocks) se X et se multiplient
 la performance d'une config. est un indicateur directe de la performance de tous
les schémas auxquels elle appartient (// implicite)
décisions à prendre :
 comment évaluer rapidement les configurations de la population
 comment équilibrer l'exploitation et l'exploration


1 0 1 1 0 1
1 0 1 1 0 0

1 0 1
0
1
0 1
0 1 0
0 1
1 0 1
0
1 0 1
0 1 0 0 1
X parents
enfants
Algorithme génétique simple (Holland 75)
Caractéristiques :
 codage universel du problème sous forme de chaînes en 0/1
 opérateurs "génétiques" stochastiques (aveugles) : mutation et croisement
Croisement : échange de bits entre deux config. (monopoint, bi-points, uniforme...)
Mutation : modification de valeurs de bits déterminés au hasard d'une config. (enfant)
J.K. Hao, Université d'Angers 25
Approche d’évolution


La pratique

 Spécialisation :

 configuration (codage) adapté au problème (ex, permutation pour TSP)
 opérateurs d'évolution (mutation et croisement) adaptés au problème

 Hybridation :

 avec l'approche de construction
 avec la recherche locale







Remarque: intégration indispensable de connaissances spécifiques
••••••
X
••••••
••••••
••••••
X
••••••
X
••••••
••••••
J.K. Hao, Université d'Angers 26
Approche d’évolution : performance

Théorique

 preuves de convergence dans certains cas, difficilement utilisables en pratique

Pratique

 résultats souvent faibles avec AG naïfs, i.e. mutation et croisement aveugles

 résultats fortement compétitifs avec AG spécialisés
o codage adapté au problème
o opérateurs “génétiques” intégrant des connaissances du problème

 résultats fortement compétitifs, même les meilleurs avec AG hybrides
o hybridation avec l'approche de construction (ex, glouton)
o hybridation avec la recherche locale : GLS - Genetic Local Search

Remarque :
 l'adaptation est indispensable
J.K. Hao, Université d'Angers 27
Approche hybride – génétique recherche locale

Idée de base :

combiner 2 méthodes complémentaires : recherche globale et recherche locale
- diversification avec recombinaison (spécifique)
- intensification avec recherche locale

2 Schéma d'hybridation

AG + descente :
les configurations de la population sont des optima locaux.

AG + tabou (recuit) :
les configurations de la population sont améliorées pendent un nombre
fixe d'itérations.

Principe de conception

 l'opérateur de RL doit être performant
 l'opérateur de croisement doit être spécialisé au problème
J.K. Hao, Université d'Angers 28
Algorithme génétique hybride


Procédure générale

étape 1 (initialisation)
a) générer une population de configurations P
b) appliquer une recherche locale à chacune des configurations de P

étape 2 (évolution et terminaison)
a) choisir p1 et p2 dans P
b) générer une configuration e par une recombinaison de p1 et p2
c) améliorer e par l'application de la recherche locale
d) Insérer la nouvelle configuration e dans la population
e) terminer et retourner la meilleure solution trouvée si la cond. d'arrêt vérifiée

étape 3 (mise à jour)
a) re-organisation de la population (ex, élimination des configurations
non-performantes de la population)
J.K. Hao, Université d'Angers 29
Génétique recherche locale
P1
P2
Fils
J.K. Hao, Université d'Angers 30
P1
P2
Fils
Algorithme génétique hybride
RL
J.K. Hao, Université d'Angers 31
D’autres approches fondées sur la notion de population/agent

La recherche dispersée (Scatter Search)

Optimisation par colonie de fourmis

Optimisation par essaim particulaire (Particle Swarm Optimization)



J.K. Hao, Université d'Angers 32
Adaptation des méta-heuristiques

Résolution d'un problème avec une métaheuristique

 analyse et modélisation du problème à traiter
 choix d'une métaheuristique selon
o la qualité des solutions recherchées
o la disponibilité des connaissances sur le problème
o le savoir-faire...
 adaptation de la métaheuristique au problème
o configuration (espace de recherche)
o fonction d‟évaluation
o voisinage
o opérateurs de recherche
o traitement des contraintes
o structures de données...

Évaluation de l'algorithme (benchmarking si possible)

 qualité de la meilleure solution trouvée ou profile de recherche
 rapidité, i.e. l'effort (le "temps" de calcul, le nb d'itération...) nécessaire pour
trouver une solution
 robustesse
J.K. Hao, Université d'Angers 33
Conclusions sur les métaheuristiques

Atouts
 générales et applicables à une très large classe de problèmes
 possibilité de compromis entre le temps de calcul et la qualité de solution
 possibilité d'intégrer des connaissances spécifiques du problème
 domaines d'application privilégiés : problèmes combinatoires de grande taille

"Inconvénients"
 optimum global non garanti
 adaptation souvent indispensable
 difficulté de prévoir la performance (qualité et temps)

Performance
 théorique: preuve de convergence dans certains cas, non utilisable en pratique
 pratique : dépend de l'adaptation au problème (codage du problème,
connaissances spécifiques, traitement de contraintes, structures de données...)

Perspectives:
 Systèmes de résolution génériques fondés sur les métaheuristiques

 L’approche méta-heuristique constitue un outil puissant pour la résolution de
problèmes combinatoires difficiles (discrets et continus)

J.K. Hao, Université d'Angers 34
Deuxième partie

Exemples d'application

J.K. Hao, Université d'Angers 35
Exemples d'application

Applications

 positionnement d'antennes pour les réseaux radio-mobiles (Esprit 4)
 affectation de fréquences dans les réseaux radio-mobiles (France Telecom)
 planification journalière de prises de vues d'un satellite (Application CNES)
 évolution d‟équipements de réseaux télécoms (Bouygues Telecom)
 planification de rencontres sportives (Sports League Scheduling)
 planification de rencontres d'équipage (Progressive Party Problem)


Problèmes de référence

 SAT & Max-SAT
 coloration et T-coloration de graphes
 satisfaction de contraintes CSP et Max-CSP
 sac-à-dos multidimensionnel (mono-objectif et multi-objectif)

J.K. Hao, Université d'Angers 36
Coloration de graphes

k-coloration (satisfaction)
étant donné un graphe G=<V,E>, trouver une partition de V en k classes
telle que 2 nœuds adj. ne soient pas dans la même classe (k-coloriable)
Coloration (optimisation)
o déterminer le plus petit k pour lequel le graphe est k-coloriable (le nb chromatique)

Intérêts du problème
o beaucoup d'applications : affectation de fréquences, emploi du temps, ordonnan…
o beaucoup de travaux existants
o grande difficulté : NP-difficile (impossible de colorier de manière exacte des
graphes aléatoires de densité 0.5 > 90 nœuds, d'après Johnson et al. 91)
o un des 3 problèmes traités par le "2
nd
Dimacs Implementation Challenge" (92-93)
A C
B D
A
D
E B
C E
J.K. Hao, Université d'Angers 37
Coloration de graphes


Algorithmes connus

construction

DSATUR (Brélaz 79)
RLF (Recursive largest First) (Leighton 79)
XRLF (Johnson et al. 91)

recherche locale

recuit simulé (Chams et al. 87, Johnson et al. 91)
tabou (Hertz & de Werra 87, Dorne & Hao 97)

Hybridation

population + RL + construction (Morgenstern 94)
croisement d'affectation et RL (Fleurent & Ferland 94, Costa et al. 95)
croisement spécialisé et RL (Dorne & Hao 98, Galinier & Hao 99)
J.K. Hao, Université d'Angers 38
Algorithme génétique locale pour la coloration


Processus de résolution générale
1. On fixe le nombre de couleurs k, on cherche une k-coloration propre
2. Si succès, on décrémente k, on va à l'étape 1)
3. On s'arrête quand on n'arrive plus à trouver une k-coloration

Définitions
o espace de recherche S : toutes les partitions de V en k classes
S = {s , s est une partition de V en k classes {V
1
,V
2
,...,V
k
} }
o fonction d'évaluation f : le nombre d'arêtes ayant deux extrêmes coloriées avec
une même couleur
¬s e S, f(s) = , {<u,v> e E | u eVi et v e Vi }
Remarque :
f(s) = 0 si s est une coloration propre pour une valeur de k fixe
J.K. Hao, Université d'Angers 39
A C
B D
A
D
E
B
C E
A C
B D
A
D
E B
C E
Algorithme génétique locale pour la coloration

Recherche locale avec tabou

 voisinage : on change la classe d'un nœud en conflit
 liste tabou :
o contenu : quand un nœud u perd sa couleur c(u), u est interdit de reprendre c(u)
pendant l(u) itérations
o longueur : l(u) définie dynamiquement en fonction du nombre de nœuds en conflit.

 évaluation des configurations :
o structure de données performantes
o algorithmes incrémentaux pour une évaluation rapide des voisins.

J.K. Hao, Université d'Angers 40
Algorithme génétique locale pour la coloration

Croisements classiques
uniforme : la couleur d'un nœud chez un enfant est déterminée aléatoirement par la
couleur de l'un des parents

affectation : la couleur d'un nœud est déterminée d'après les règles suivantes:
si les deux parents ont la même couleur, alors prendre cette couleur
si les deux parents n'ont pas la même couleur, alors prendre aléatoirement la
couleur de l'un des parents (ou une autre couleur)

Remarque :
Problème de permutation de couleurs; ces croisements ne permettent pas de
transmettre les bonnes propriétés des parents aux enfants.
A C
B D
A
D
E
B
C E

A C
B D
A
D
E
B
C E
J.K. Hao, Université d'Angers 41
Algorithme génétique locale pour la coloration

Croisement spécialisé GPX (Greedy Partition Crossover) (P. Galinier et J.K. Hao, Hybrid
evolutionary algorithms for graph coloring. Journal of Combinatorial Optimization, 3(4): 379-397, 1999.)
 Une bonne propriété est la suivante :
o toute classe de grand cardinal doit être conservée chez l'enfant.

 Le croisement GPX
o pour chaque classe l pair, transmettre la classe de cardinal maximum de p1
o pour chaque classe l impair, transmettre la classe de cardinal maxi. de p2
A B C D E F G H I J
C D E G A F I B H J
D E F G
D E F G B H J A C
I
A B C H I J
D E F G B H J
A C I
C A I B H J
parents enfant
J.K. Hao, Université d'Angers 42
I
p1,i
I
p2,j
Algorithme génétique locale pour la coloration

Croisement spécialisé UIS (Union of Independent Sets) (R. Dorne et J.K. Hao, A new
genetic local search algorithm for graph coloring. LNCS 1498 : 745-754, Sept. 1998)

 Une autre bonne propriété est la suivante :
o si deux classes sans conflit V
1
i
e p1 et V
2
j
ep2 partagent un nombre
important de nœuds, on doit conserver les deux classes chez l'enfant.

 Le croisement UIS
o I
p1,i
_V
1
i
e p1 est un ensemble indépendant de cardinal maximum chez p1,
on cherche chez p2 un ens. indépendant I
p2,j
_V
2
j
e p2 tel que ¬ j e{1..K},
|I
p1,i
· I
p2,j
|soit maximal
o on construit une classe i chez l'enfant par l'union de I
p1,i
et I
p2,j

o les nœuds absents sont distribués aléatoirement

Remarque : un ou deux enfants peuvent être générés
J.K. Hao, Université d'Angers 43
Résultats sur des benchmarks


Jeux de test (DIMACS benchmarks)
o graphes construits (Leighton 79, Culberson 79)
o graphes aléatoires G
n,d
(Hertz & de Werra 87, Johnson et al. 91)

Critères d'évaluation
o qualité de la meilleure solution (la plus petite valeur pour k)
o rapidité en terme de nombre d'itérations et en temps

Paramètres
o taille de la population : 5 ou 10
o solutions initiales : construites avec l'algorithme de DSATUR
o nombre d'itérations pour chaque RL : 250 à 4000
o liste tabou : réglage dynamique et automatique
o condition d'arrêt : une k-coloration trouvée ou nb max. d'itérations atteint
J.K. Hao, Université d'Angers 44
Résultats sur des benchmarks
J.K. Hao, Université d'Angers 45
Problèmes de T-coloration

T-coloration simple
- étant donné un graphe G=<V,E> et un ensemble Tij d'entiers positifs incluant
la valeur 0 pour chaque (Vi,Vj)eE, trouver une fonction c : V-> {1,2...k} telle que :
¬ (Vi,Vj)eE, | c(Vi) - c(Vj) |eTij
(la distance entre chaque paire de couleurs de 2 noeuds adj. = des valeurs de Tij)

Remarques :
- si Tij = {0,1...dij}, alors ¬ (Vi,Vj)ÎE, | c(Vi) - c(Vj) | ≥ dij

- "T-Span" d'une T-coloration : la distance entre la couleur max. et la couleur min.
- "T-Span" d'un graphe G : le plus petit "T-span" de tts les T-colorations poss. de G
V1 V2
V3 V4
1
3
5
1
2
1 4
2
3
T-span = 4
• •
• •
(d12)
(d14)
(d13)
(d24)
(d34)
T-coloration
J.K. Hao, Université d'Angers 46








2
2
1
1
V1 3
4
V4
V3
V2
4
2
T-coloration
avec ensembles
T-coloration avec ensembles
À chaque noeud Vi, on associe :
- un entier bi > 1, le nb de couleurs demandé par Vi et
- un ensemble Ti d'entiers incluant la valeur 0 (val. interdites entre paire de couleurs)

Colorier chaque noeud Vi eV avec bi >1 couleurs tout en respectant les contraintes :
- la distance entre chaque paire de couleurs d'un même noeud Vi doit être différente
des valeurs de Ti : ¬ Vi e V, m, n e{1...bi}, m = n, | c(Vim) - c(Vin) | e Ti,
- la distance entre chaque paire de couleurs de 2 noeuds adj. Vi et Vj doit être
différente des valeurs de Tij : ¬ (Vi,Vj) e E, mÎ{1...bi}, n e{1...bj}, |c(Vim) - c(Vjn)| e Tij

Remarques :
- si Ti = {0,1...di}, alors ¬Vi e V, m,nÎ{1...bi}, m = n, |c(Vim) - c(Vin) > di
- affectation de fréquences est une application concrète de la T-coloration
Problèmes de coloration
J.K. Hao, Université d'Angers 47
Problèmes de coloration
Méthodes de résolution
 coloration
• construction : DSATUR (Brélaz 79), RLF (Recurs. largest First) (Leighton 79)
• recuit simulé (Chams et al. 87, Johnson et al. 91), tabou (Hertz & de Werra 87)
• hybridation (Fleurent & Ferland 94, Morgenstern 94, Costa et al. 95)
 T-coloration simple
• ordre dynamique (glouton) (Gamst 92)
• tabou et recuit simulé (Costa 93)
 T-coloration avec ensembles
• ordre dynamique (glouton) et tabou (Jiang 96)
Algorithmes récents
 Algorithme hybride “génétique + tabou” pour la coloration
 Algorithme tabou pour T-coloration et T-coloration avec ensemble
J.K. Hao, Université d'Angers 48
Problèmes de coloration

Jeux de test

 coloration
• DIMACS benchmarks
• graphes de taille jusqu'à 1000 noeuds et 200 couleurs environ

T-coloration
• jeux aléatoires (pas de benchmark disponible)
+ distance de séparation prise entre 1 et 5
+ nb de couleurs par noeud pris entre 1 et 5
• graphes de taille jusqu'à 1 000 noeuds (environ 3 000 variables
entières, 4 millions de contraintes) et 2 000 couleurs

Remarque : d'après (Johnson et al. 91), aucun algo. exact exist. ne peut
colorier des graphes aléatoires de densité 0.5 > 90 noeuds
J.K. Hao, Université d'Angers 49
Problèmes de coloration


Résultats

 coloration
• les algorithmes tabou et hybrides dominent les algo. de construction
• AG hybrides améliorent les meilleurs résultats de certains jeux DIMACS

 T-coloration
• les algorithmes tabou et hybrides dominent l'algorithme DSATUR adapté
• les résultats de l'algo. tabou sont proches de l'estimation théorique

Remarques :

 intéressant d'initialiser la recherche avec un algo. de construction
J.K. Hao, Université d'Angers 50
SAT & Max-SAT
Définition SAT
- étant donnée une conjonction de clauses, déterminer une
affectation des valeurs {0,1} à toutes les variables qui rend toutes les
clauses vraies.
- si toutes les clauses ne peuvent pas être satisfaites, alors
déterminer une affectation qui maximise le nombre de clauses vraies
(Max-SAT).

Remarque : un des problèmes NP-Complet les plus étudié avec des
applications variées (VLSI, emploi du temps, …).

J.K. Hao, Université d'Angers 51
SAT & Max-SAT

Méthodes de résolution
- algorithmes complets
* Davis & Putnam (depuis 1960) : SATZ (1997), Zchaff (2002)...

- algorithmes incomplets
* recherche locale : tabou, recuit simulé
* GSAT & WalkSAT (92, 94), unitWalk (2002)
* hybride "génétique et tabou" GASAT (2003)

GASAT

- un croisement spécifique fondée sur la satisfaction de clauses
* corriger les clauses fausses
* conserver les clauses vraies
- un algorithme tabou

J.K. Hao, Université d'Angers 52
Problème de rencontres d'équipages
(PPP - Progressive Party Problem)

Le problème

affecter 29 équipages visiteurs de tailles différentes à 13 bateaux hôtes de
capacités diff. pour T périodes de temps consécutives avec les contraintes :

• chaque équipage visiteur visite un bateau différent pour chaque période différente.
• deux équipages ne doivent pas se rencontrer plus d'une fois
• la capacité de chaque hôte doit être respectée

Remarques :
• problème de base avec T = 6, plus difficile quand T augmente,
• pas de solution connue pour T > 8 (en 1996), mais T= 10 une borne sup.
• contraintes hétérogènes, non binaires
J.K. Hao, Université d'Angers 53
Problème de rencontres d'équipages
(PPP - Progressive Party Problem)

Méthodes de résolution
- programmation linéaire en nombres entiers : échec pour T<6 (Brailsford et al. 96)
- program. par contraintes 1: T = 6 et 7 en 20-30 mn, échec pour T > 8 (Smith et la 96)
- program. par contraintes 2 : T < 7 en quelques sec., T = 8 en quelques heures,
échec pour T>9 (Cosytec 97)

Approche heuristique avec tabou (Galinier & Hao 98)
- une formalisation du problème en CSP :
* var. = un couple (équipage, période) et dom. = l'ens. des hôtes D = {1...13}
* contraintes : n-aires
- deux voisinages :
* N1 : changer la valeur d'une seule variable en conflit (équipage, période)
(changer l'hôte d'un équipage qui viole des contraintes)
* N2 : échanger les valeurs de 2 variables (une au moins est en conflit)
(échanger les hôtes de 2 équipages d'une même période)
- algorithmes de recherche locale (descente, metropolis, tabou)
- évaluation et analyse de la performance de 2 voisinages et des algorithmes
J.K. Hao, Université d'Angers 54
Problème de rencontres d'équipages
(PPP - Progressive Party Problem)

Résultats

- pour Ts9, solutions en moins de 5 secondes
- échec pour T = 10 (une contrainte non satisfaite)

Remarques :
- résolution du pb jusqu'à T = 9 avec N1 et N2
- N2 plus performant car il permet de résoudre le pb. jusqu'à T= 8 avec la descente
- pas de différence significative entre métaheuristiques utilisées (recuit et tabou)

- problème ouvert pour T = 10

=> jusqu'à T = 9, problème simple pour la recherche locale
J.K. Hao, Université d'Angers 55

Planification de tournois sportifs
(SLSP – Sports League Scheduling Problem)


Semaine 1

Semaine 2

Semaine 3

Semaine 4

Semaine 5

Semaine 6

Semaine 7

Période 1

1 vs 2

1 vs 3

5 vs 8

4 vs 7

4 vs 8

2 vs 6

3 vs 5

Période 2

3 vs 4

2 vs 8

1 vs 4

6 vs 8

2 vs 5

1 vs 7

6 vs 7

Période 3

5 vs 6

4 vs 6

2 vs 7

1 vs 5

3 vs 7

3 vs 8

1 vs 8

Période 4

7 vs 8

5 vs 7

3 vs 6

2 vs 3

1 vs 6

4 vs 5

2 vs 4

Exemple d’une programmation valide pour 8 équipes
Le problème
Planifier les tournois entre T équipes (T pair) sur T-1 semaines, chaque semaine étant
découpée en T/2 périodes avec les contraintes suivantes :
- unicité / semaine : chaque équipe joue exactement 1 fois / semaine,
- double / période : aucune équipe ne peut jouer plus de 2 fois / période,
- tournoi simple : chaque équipe joue contre toutes les autres exactement une fois.
Remarque: problème se résout en temps linéaire si (T -1) MOD 3=0 (T=10, 16, 22, 28, 34, 40, 46)
problème encore ouvert sinon (T=12, 14, 18, 20, 24, 26, 30, 32, 36, 38, 42, 44...)
J.K. Hao, Université d'Angers 56
Planification de tournois sportifs
(SLSP – Sports League Scheduling Problem)
Méthodes de résolution

- PLEN avec contraintes de cardinalité (Cplex) : T ≤ 12 (McAloon et al. 97)
- PPC avec contraintes de différence (ILOG Solver) : T ≤ 14 (McAloon et al. 97)
- PPC avec algorithmes de filtrage puissants (ILOG Solver) : T ≤ 24 (Régin 98)
- PPC avec transformation du problème (ILOG Solver) : T ≤ 40 (Régin 99)

Approche heuristique avec tabou (Hamiez & Hao 00)
• une formalisation du problème en CSP
• une heuristique pour la construction d‟une solution initiale
• voisinage fondé sur échange entre deux matches (dont un est en conflit)
• traitement de contraintes : satisfaction constante et pénalité
• longueur de la liste tabou dynamique
J.K. Hao, Université d'Angers 57
Planification de tournois sportifs
(SLSP – Sports League Scheduling Problem)


Résultats
- solutions trouvées jusqu‟à T = 40
- pour T s 20, solutions en quelques secondes

Remarques sur l‟algorithme tabou:
- solution initiale joue un rôle important
- la façon de traiter les contraintes joue un rôle important
- diversification indispensable

Remarque sur le problème :
- beaucoup à faire pour résoudre le problème pour T> 40 équipes
si (T-1) MOD 3 = 0


J.K. Hao, Université d'Angers 58
, . . . , max b x A c s x c

  
s ×
{ }
n
m n m n
x et b A c 1 , 0 , ,
* *
e N e N e N e
×



Sac-à-dos multidimensionnel

Définition du problème

Etant donné n variables bivalentes et m contraintes linéaires
avec
Remarque :
- très nombreuses applications dans des domaines variés,
- NP-difficile, résolutions exactes limitées à des instances n < 90 et m < 5.
J.K. Hao, Université d'Angers 59
Sac-à-dos multidimensionnel

Méthodes de résolution
• algorithmes exacts (B&B) (Shih 79)
• relaxation (Fréville & Plateau 93)
• Tabou (Glover & Kochenberger 97, Hanafi & Fréville 98) (très bon résultats)
• génétiques spécialisés (Chu & Beasley 98)
• algorithme hybride “simplex + tabou” (Vasquez & Hao 00d)

Jeux de test
• benchmark OR-LIB et d‟autres (n=100 à 2500 et m = 5 à 100)

Résultats
• L‟algorithme hybride fournit les meilleurs résultats pour l‟ensemble des
benchmarks les plus difficiles.
J.K. Hao, Université d'Angers 60







2
2
1
1
S1
3
3
S4
S3
S2
4
4 stations

2
Affectation de fréquences dans les réseaux radio-mobiles

Le problème
étant donné
1. n stations {S1, S2...Sn}
2. les trafics bi (i e {1...n}), i.e. le nombre de fréquences demandé par
station
3. les contraintes d'interférences définies par une matrice de réutilisation
M[n,n]
o "co-station": | f
i,g
– f
i,h
| > M[i,i], ¬ ie{1...n}, ¬ g,he{1..Ti}, g=h
o "stations adjacentes": | f
i,g
– f
j,h
| > M[i,j],¬i,je{1...n}, i=j, ¬ge{1..bi},
¬h e{1..bj}
trouver un plan d'affectation
en minimisant les interférences avec k fréquences données (interférences
mesurées en termes de contraintes violées)

Remarque : c'est un problème de coloration généralisé
J.K. Hao, Université d'Angers 61
Affectation de fréquences dans les réseaux radio-mobiles

Méthodes de résolution existantes
 recuit simulé (Duque-Anton et al. 93, CNET 95)
 réseaux de neurones (Kunz 91)
 algorithmes génétiques (Crompton et al. 94)
 algorithmes de coloration (Gamst 86, CNET 95)

Algorithmes Tabou et génétiques récents
(Dorne & Hao 95, Hao & Dorne 96, Renaud & Camanida 97, Hao et al. 98)
• Traitements de contraintes
• Croisement spécialisés
J.K. Hao, Université d'Angers 62
Un algorithme tabou

 configuration : une affectation respectant les trafics et les contraintes de co-
station



 fonction de voisinage N : S ÷ 2
S
: s et s' voisins s'ils diffèrent par la valeur
d'une seule fréqu. en conflit d'une station

 liste tabou : attribut mémorisé = <station, ancienne_val_de_fréqu.>

 la longueur de la liste tabou : une fonction linéaire de la taille du voisinage

 évaluation incrémentale des configurations : valeur d'évaluation de chaque
mouvement possible (une matrice A de w x k )

 aspiration : accepter tout mouvement conduisant à une configuration de
qualité supérieure à la meilleure configuration rencontrée

Affectation de fréquences dans les réseaux radio-mobiles
f11f12 f21 f22 f23 f31 f32 f41
S1 S2 S3 S4
J.K. Hao, Université d'Angers 63
Affectation de fréquences dans les réseaux radio-mobiles

Un algorithme tabou

étape 1 (initialisation)
• choisir une solution initiale s eS
• mémoriser la meilleure solution trouvée s* ÷ s
• initialiser les structures de données (liste tabou, matrice A...)

étape 2 (choix et terminaison)
• choisir un des meilleurs voisins non tabou s'eN(s) tq ¬ s"eN(s), f(s') < f(s")
• s ÷ s' (même si s' est moins performant que s)
• terminer si max_itér est effectué (ou si s n'est plus améliorée pendant
max_itér)

étape 3 (mise à jour)
• s* ÷ s si f(s) < f(s*)
• rendre le dernier mouvement tabou pendant k itérations
• mettre à jour d'autres structures de données (matrice A...)
• aller à l'étape 2
J.K. Hao, Université d'Angers 64
Affectation de fréquences dans les réseaux radio-mobiles


Jeux de test fictifs et réels (fournis par le CNET)

 nb de fréquences par station : 1 à 4
 distance de séparation de fréquences de co-station : 2 à 4
 distance de séparation de fréquences de stations adjacentes : 1 à 3
 de grande taille, jusqu'à
• 1 000 variables entières
• 54 valeurs par variables
• 35 000 contraintes

Résultats

 L‟algorithme tabou et l‟algo. génétique spécialisé dominent largement
l'approche classique de construction
 Les croisements standards jouent un rôle marginal

J.K. Hao, Université d'Angers 65
Réseaux urbain : 50 km x 46 km
568 sites potentiels
56792 points de mesure du signal radio
17393 STP
6652 TTP pour 2988.08 „erlang‟
Positionnement d’antennes pour les réseaux radio-mobiles
Matrice de perte en propagation du signal radio
o pour chaque site les valeurs de l‟atténuation du signal radio sur tous les STP

Antennes
o différents types : omnidirectionnelle, directionnelle large ou petite ouverture
o paramètres : puissance (26 à 55 dBm), azimut (0° à 359°), tilt (-15° à 0°)
o nombre d‟émetteurs (TRX) : 1 à 7 selon trafic à assurer
Zone géographique
o un ensemble S de points de service (STP en bleu) : seuil de qualité Sq du signal radio
défini par un niveau de champ (-82 dBm2W„incar‟,-90 dBm8W „outdoor‟,...),
o un ensemble T c S de points de trafic (TTP en blanc) : estimation de trafic en erlang,
o un ensemble L de sites candidats pour le positionnement d‟antennes
J.K. Hao, Université d'Angers 66
Positionnement d’antennes pour les réseaux radio-mobiles

Déterminer
 un sous ensemble de sites parmi les sites candidats,
 pour chaque site sélectionné, le nombre et le type d‟antennes,
 pour chaque antenne, la valeur de chacun de ses 3 paramètres (puiss, tilt et azimut).

Les contraintes impératives
 Couverture : tous les STP doivent être couverts par une antenne,
 Connexité locale : toute cellule constitue une seule composante connexe (en V8),
 ‘Hand-over’ : toute cellule doit avoir des points de recouvrement avec ses voisines.

Objectifs
 minimiser le nombre de sites sélectionnés,
 minimiser les interférences générées par les antennes,
 maximiser le trafic supporté par le réseau,
 maximiser le rendement des émetteurs de chaque antenne.

Remarques :
o très grande combinatoire pour le choix d‟un positionnement réalisable
o grande complexité de calcul pour vérifier les contraintes et pour évaluer les objectifs
o importante demande de ressource mémoire ( 200 à 500 MO de données par jeux)

J.K. Hao, Université d'Angers 67
Contexte

 quelques études pour les réseaux micro cellulaires (indoor), rien pour les
réseaux cellulaires de grande taille
 Projet européen ESPRIT 4 ARNO (Algorithms for Radio Network Optimisation)
 Méthodes heuristiques étudiées :
o recuit simulé, tabou, génétique, réseaux de neurone
o heuristiques spécifiques

Une approche heuristique fondée sur la méthode tabou (Vasquez & Hao 00a)

 Pré-traitement pour réduire par une heuristique la combinatoire
 Optimisation par méthode tabou pour rechercher des solutions réalisables
 Post-optimisation par raffinement local pour améliorer la solution

Remarques :

 Une méta-heuristique seule n‟est pas suffisante pour aborder le problème

Positionnement d’antennes pour les réseaux radio-mobiles
J.K. Hao, Université d'Angers 68
Réseaux Sites potent. Min. sites Min. cellules STP


Construction
Autoroute 250 25 75 29954
Rural 320 22 65 72295
Petite zone urbaine 568 24 70 17393
Ville à grand trafic 244 21 61 48512


Extension
Autoroute 250 25 75 29954
Rural 320 47 140 80854
Petite zone urbaine 568 63 189 42492
Ville à grand trafic 244 113 337 48512

Positionnement d’antennes : résultats

Caractéristiques des réseaux
J.K. Hao, Université d'Angers 69
Un réseau urbain : 50 km x 46 km
- 568 sites potentiels
- 56792 points de mesure du signal radio
- 17393 points de service (STP)
- 6652 points de trafic (TTP) pour 2988.08 ‘erlang’
Positionnement d’antennes : résultats
Contraintes :
o toutes les contraintes satisfaites : couverture, connexité locale et hand-over.
Objectifs :
o nombre de sites / antennes : 34 / 52 (35 direct. petite ouverture, 17 direct. large
ouverture)
o interférences : niveau très bas
o trafic assuré : 85%
o rendement des émetteurs : très bon

Remarque : les approches par pénalités n‟ont pas trouvé de solution réalisable.
J.K. Hao, Université d'Angers 70
Un réseau autoroute : 39km x 168km
-250 sites potentiels
-29954 STP
Positionnement d’antennes : résultats
Contraintes :
 toutes les contraintes satisfaites : couverture, connexité locale et
hand-over.
Objectifs :
 nombre de sites/antennes : 58 / 103
 1 omni-directionnelle, 67 direct. petite ouverture, 35 direct. large
ouverture
 interférences : niveau très bas
 trafic assuré : moyen
 rendement des émetteurs : très bon
J.K. Hao, Université d'Angers 71
Planification journalière de prises de vues d'un satellite

Le problème

étant donné :
 un ensemble P de photographies (mono ou stéréo) à planifier pour le jour suivant ;
 une pondération (l'agrégation de certains critères) pour chaque photo ;
 les différentes possibilités de réalisation de chaque photographie :
• trois pour les mono (une des trois caméras utilisables - avant, milieu et arrière),
• une seule pos. pour les stéréo (à réaliser conjoint. par les caméras avant et arrière)
 un ensemble de contraintes binaires et ternaires à respecter impérativement (non
chevauchement et respect des temps de transitions entre prises de vues...)
 une contrainte de mémoire : non dépassement de la capacité en mémoire d'une caméra
par la somme des photos réalisées sur la caméra.

déterminer un sous-ensemble P'_P tel que :
 la somme des pondérations associées à l'ensemble des photos de P' soit maximale
toutes les contraintes soient respectées.

Remarque :
peut être formalisé comme un un sac-à-dos en variable 0/1 sous contraintes logiques
J.K. Hao, Université d'Angers 72
Planification de prises de vues


Méthodes de résolution
 algorithme exact (Verfaillie et al. 96)
 algorithmes gloutons (Agnèse et al. 95)
 algorithme tabou (Agnèse et al. 95)

Un algorithme tabou récent (Vasquez & Hao 00b)
 une formalisation du pb. en sac-à-dos 0/1 sous contraintes (au lieu de CSP)
 un algorithme tabou intégrant :
• une technique de relaxation de la contrainte de mémoire
• un voisinage efficace
• une technique d'évaluation incrémentale rapide
• une gestion dynam. de la liste tabou fondée sur les fréqu. de mouvements

Calcul des bornes supérieures (Vasquez & Hao 00c)
 Programmation dynamique et tabou (partition de graphes)
J.K. Hao, Université d'Angers 73
Planification de prises de vues


Jeux de test (définis par le CNES, disponibles sur l'internet)
 deux types
sans contrainte de mémoire (optimum connu)
avec contrainte de mémoire (optimum non connu)
 de grande taille, jusqu'à
900 variables entières
17 000 contraintes (binaires, ternaires et n-aines)

Résultats
 jeux sans contrainte de mémoire : solution optimale en moins de deux minutes
 jeux avec contrainte de mémoire :
• quelques secondes pour atteindre les meilleures solutions connues
• amélioration des meilleures solutions connues en quelques minutes



J.K. Hao, Université d'Angers 74
Conclusions

 L'approche métaheuristique est très prometteuse pour la résolution
de problèmes combinatoires de grande échelle
 L‟approche métaheuristique pourrait être combinée avec d‟autres
méthodes exactes ou heuristiques
 Une bonne performance nécessite souvent :
• d'une formalisation adéquate du problème
• d'une adaptation "intelligente" d'une métaheuristique :
+ l'intégration des connaissances spécifiques du problème
+ des structures de données efficaces

PLAN

1. 2. 3. 4. 5. 6. 7.

Optimisation combinatoire Panorama sur les méthodes de résolution Approche de recherche locale Approche d’évolution Approche d’hybridation Exemple d’applications Conclusions

J.K. Hao, Université d'Angers

2

1ère partie

Panorama sur les méthodes de résolution
Cette partie est fondée sur l‟article de synthèse suivante : J.K. Hao, P. Galinier et M. Habib Métaheuristiques pour l'optimisation combinatoire et l'affectation sous contraintes. Revue d'Intelligence Artificielle Vol.13 (2) : 283-324, 1999. Article accessible à : www.info.univ-angers.fr/pub/hao

J.K. Hao, Université d'Angers

3

Optimization. Genetic Algorithms in Search. Tabu Search. J. McGraw-Hill. Glover & M. Glover (Ed.Corne.R. Simulated Annealing and Boltzmann Machines. Aarts & J. Pardalos & M. 1989. New Ideas in Optimization. Université d'Angers 4 . Dorigo et F. and Machine Learning.). Oxford University Press. M. Johne Wiley & Sons. McGraw-Hill.Quelques références générales       Handbook of Applied Optimization. 1989. Laguna.). Kluwer Academic Publishers. Resende. E. C. Reeves (Ed. 1995. Addison-Wesley.M.K. P.C. D. Hao.E. D. 2002. 1999. F. Modern Heuristic Techniques for Combinatorial Problems. Korst.G. 1997. Goldberg.

Hao.Optimisation combinatoire Minimisation étant donné un couple (S.f) où • S un ensemble fini de solutions ou configurations (espace de recherche) • f : SR une fonction de coût (ou objectif) trouver s*X  S tel que f(s*)  f(s)  s X (config. S et f ne sont pas nécessairement donnés à l'avance (pb codage) • la plupart des pb d'optimisation intéressants sont dans la classe NP-difficile J. il suffit de remplacer "f(s*)  f(s)" par " f(s*)  f(s)" • en pratique.K. Université d'Angers 5 . faisables ou réalisables) • X S • • • • • • • • • • • • s* • • • • Exemple : voyager de commerce (TSP) Remarques : • pour la maximisation.

Hybridation : combinaison de différentes approches (évolution + RL... Université d'Angers 6 . 2..) Recherche locale : réparation itérative d'une configuration complète par des modifications locales (descente.. min-conflit. méthodes gloutonnes.) J.) Evolution : évolution d'une population de solutions par des opérations "génétiques" (sélection. CSP.K.. recuit simulé. Hao. et mutation).... Construction : instanciation successive des variables selon un ordre statique ou dynamique (branch & bound. locale construction algorithmes évolutifs réparation glouton SEP (<56) (<66) scatter search MD tabou recuit path relinking (<72) (86) (83) (77) CSP A* AG (74) (68) (75) prog. ex : algorithmes génétiques. 4. croisement. 3. d'évolution (66) (73) Quatre grandes approches : 1. stratégies min-conflit GSAT (92) (90) évo. recherche tabou.Méthodes de résolution méthodes de recherche (RO) méthodes de recherche (IA) construction recombinaison rech. évolution + construction.

génétiques.ex : algo. croisement. stratégies d'évolution.non-exacte .l'instanciation successive des variables selon un ordre statique ou dynamique.réparation itérative d'une config.ex : descente..K.. Approche de recherche locale ou voisinage . alors complexité exponentielle dans le pire des cas .. CSP.Méthodes de résolution Approche de construction .non-exacte . programmation évolutive.ex : branch & bound. J. recuit simulé. méthodes gloutonnes.. Université d'Angers 7 . recherche tabou. Remarque : possibilité d'insérer la recherche locale dans un algorithme exact (complet) Approche d'évolution . et mutation) . complète par des modifications locales . ... Hao.si exacte (complète).évolution d'une population de solutions par des opérations "génétiques" (sélection. mais aussi min-conflit.

prog. méthodes hybrides Remarques : .K. Hao. évolutifs Autres MD tabou recuit algo. Glover) J.domaine de recherche en pleine actualité et en évolution constante . locale algo. génét. fondateur : F. évo.revue & conférence spécialisées * Metaheuristics International Conference (MIC) (depuis 1995) * Journal of Heuristics (depuis 1995. stratégies d'évo.Métaheuristiques métaheuristiques rech. Université d'Angers 8 .

Heuristiques v. Université d'Angers 9 . métaheuristiques Heuristique une méthode approchée conçue pour un problème particulier pour produire des solutions non nécessairement optimales (avec un temps de calcul raisonnable) Métaheuristique • une stratégie (règle) de choix pilotant une heuristique (introduite initialement dans le contexte de la méthode taboue) • un schéma de calcul heuristique.K.s. Hao. général et adaptable à un ensemble de problèmes différents Champs d’applications privilégiés problèmes de recherche difficiles qu‟on ne sait pas traiter autrement J.

Université d'Angers 10 . J.Deux principes de base pour une recherche heuristique Intensification (ou exploitation) • permet d‟examiner en profondeur une zone particulière de l‟espace de recherche Diversification (ou exploration) • permet d‟orienter la recherche vers de nouvelles zones (prometteuses) dans l‟espace de recherche Une recherche heuristique efficace • nécessite un bon compris entre intensification et diversification Remarque: Métaheuristiques fournissent des moyens différents pour la mise en oeuvre de ces deux principes complémentaires. Hao.K.

e.fonction N : S 2S. min.e.Recherche locale – éléments de base Voisinage . Université d'Angers 11 .x.Eval = f (objectif initial) si l‟on travaille dans l‟espace de recherche réalisable . cette fonction associe à chaque point de S un sous-ensemble de S e.Eval = f + une fonction de pénalité si l‟on travaille dans l‟espace non réalisable Stratégie de mouvement . changement de la valeur d‟une variable .fonction Eval : S  R. i. J.  sS.K. N(s)  S.  sS.sS est un optimum local par rapport à N si  s'N(s). f(s)  f(s') (pour pb. cette fonction permet de quantifier la qualité des points de S . pour les CSP.règle de choix permettant de passer d‟une configuration courante à une configuration voisine. Hao.) Fonction d’évaluation Eval . i.

K. s* mémorise la meilleure solution trouvée) étape 2 (choix et terminaison) a) choisir s' N(s) b) s  s' (i. Université d'Angers 12 .e. remplacer s par s') c) terminer et retourner la meilleure solution trouvée si la condition d'arrêt vérifiée étape 3 (mise à jour) a) s*  s si f(s) < f(s*) b) aller à l'étape 2 Remarque : métaheuristiques différentes => stratégies de choix différentes à l'étape 2 J.e.Recherche locale – la procédure Procédure générale étape 1 (initialisation) a) choisir une solution initiale s  S b) s*  s (i. Hao.

Université d'Angers 13 .Recherche locale voisinage point final point initial J.K. Hao.

f(s‟) > f(s) Remarque : décisions à prendre o *1ère ou meilleure amélioration o comment évaluer rapidement les voisins à chaque itération (technique delta. matrice de gains) Propriété : s'arrête au 1er optimum local rencontré remèdes simples : o relance multiple aléatoire o acceptation de voisins moins performants J. Hao.K. Université d'Angers 14 .Recherche locale – la descente Méthode de descente stricte étape 2 (choix et terminaison) Choisir un voisin s‟ N(s) tq f(s‟) < f(s) (s‟ est plus performant que s) s  s‟ (i. remplacer s par s‟) terminer si s‟N(s).e.

K. 3. Hao.T) terminer si la condition d'arrêt est réalisée (un nb.T) (diminution périodique ou continu) 2.) Remarque :  décisions à prendre 1. choisir au hasard s' N(s) (s‟ n‟est pas nécessairement meilleur que s) si f(s')  f(s).. comment évaluer rapidement les voisins à chaque itération (delta) une recherche partiellement fondée sur le hasard  J. sinon accepter s avec une probabilité p(Df.. max d'itér est effectué.Recherche locale – recuit simulé Recuit simulé étape 2 (choix et terminaison) 1. alors accepter s. Université d'Angers 15 . comment déterminer la probabilité p(Df. 2.

la température est conservée pour un nombre d‟itération variables (paliers). Université d'Angers 16 . décroître la température à chaque itération. 2.Schéma de refroidissement Schéma de refroidissement (cooling schedule): la fonction qui spécifie l‟évolution (souvent la diminution progressive) de la température Schéma de décroissance par palier: 1. Hao.K. fonction de température non-monotone. J. la longueur de chaque palier est inversement proportionnelle à la valeur de la température Autres schémas de refroidissement : 1. 3. une température constante (algorithme de Metropolis).

Hao.Le critère de Metropolis Fonction CritMetropolis(Df.Si Df < 0 renvoyer VRAI .Sinon avec une probabilité de exp(Df. 3. J. elle peut renvoyer tantôt «vrai» et tantôt «faux». 2.T) . La fonction CritMetropolis(Df. Un voisin qui améliore (Df <0) ou à coût égal (Df = 0) est toujours accepté. Une dégradation faible est acceptée avec une probabilité plus grande qu‟une dégradation plus importante. Université d'Angers 17 .K.T) est une fonction stochastique : appelée deux fois avec les mêmes arguments.T) renvoyer VRAI Sinon renvoyer FAUX Commentaires: 1.

Université d'Angers 18 . calculer Df = f(s‟) – f(s). T := T0.K. acceptance_rate := i / nb_moves. s*  s. nb_moves := nb_moves + 1. Repeat nb_moves := 0 For i := 1 to iter_palier choisir au hasard s' N(s). Until <condition fin> Retourner s* J. T) then s  s‟. if f(s)<f(s*) then s*  s.Recherche locale – recuit simulé (avec paliers et refroidissement géométrique) Algorithme général Générer une configuration initiale s . if CritMetropolis(Df. T := T * coeff. Hao.

Université d'Angers 19  . Hao.K..s'. choisir s‟  N(s) tq  s" N(s). max d'itér effectué. comment évaluer rapidement les voisins à chaque itération (delta) Mécanismes spécifiques pour intensification et diversification J. 3. f(s')  f(s") (s‟ est le plus performant des voisins de s. Remarque :   La règle de choix permet à tabu d‟aller au delà des optima locaux décisions à prendre 1. mais peut être moins performant que s) (liste tabou pour empêcher des cycles) s <. comment déterminer la longueur de la liste (statique ou dymanique) 3. même si f(s') > f(s) terminer si la condition d'arrêt est réalisée (nb..) 2. que stocker dans la liste tabou 2.Recherche locale – tabou Recherche tabou étape 2 (choix et terminaison) 1.

T) Tabou : choisir un des meilleurs voisins s'  N(s). Hao. si f(s')  f(s) alors accepter s' sinon accepter s' avec probabilité p(Df. Université d'Angers 20 .K. accepter s' même si f(s') > f(s) (liste tabou pour empêcher des cycles)  Recuit et tabou ne s'arrêtent pas au 1er optimum local rencontré J.e.Recherche locale (résumé) Descente : choisir un voisin plus performant s'  N(s) i. f(s') < f(s) Rapide mais s'arrête au 1er optimum local rencontré Recuit : choisir au hasard s'  N(s).

Université d'Angers 21 .K.D’autres formes de recherche locale Recherche à Voisinage Variable (VNS – Variable Neighborhood Search) La descente s‟opère avec un ensemble de voisinages Nk (ex: dans le cas d‟un problème 0-1. Randow-Walk Avec une probabilité p.x‟)=k} GRSAP (Greedy randomized adaptative search procedures) La descente (ou une autre RL) est appliquée sur des solutions initiales générées avec une procédure gloutonne non-déterministe. Nk(x) = { distance_hamming(x. appliquer la descente Un exemple : le fameux algorithme WalkSAT (GSAT est une descente stricte) Méthode bruitage (Noising method) La recherche locale est appliquée avec une fonction d‟évaluation f bruitée ou sur les données bruitées du problème J. prendre un voisin au hasard Avec une probabilité 1-p. Hao.

)...K.Recherche locale : performance Théorique preuves de convergence dans certains cas (recuit simulé. tabou. Hao. mais difficlement utilisables en pratique Pratique  très bons résultats pour de nombreux problèmes difficiles  adaptation indispensable : • le codage du problème (configuration et espace de recherche) • le voisinage (connaissances spécifiques du problème) • techniques pour traiter les contraintes • les structures de données employées Amélioration  hybridation avec les algorithmes génétiques  hybridation avec l'approche de construction J. Université d'Angers 22 .

stratégies d'évolution et program.K. Université d'Angers 23 .Approche d’évolution Notion principale  évolution d'un ensemble de configurations (population)  opérateurs d'évolution : sélection. recombinaison et mutation Procédure générale étape 1 : (initialisation) Choisir un ensemble de configurations initiales (population) étape 2 : (évolution) Sélection sur la population Application d'opérateurs de recombinaison et de mutation étape 3 : (mise à jour) Réorganisation de la population (ex. Hao. élimination des configurations non-performantes de la population) Remarques :  différentes écoles : AG. évolutive  un cadre algorithmique très général et puissant J.

K. Hao. (monopoint. est un indicateur directe de la performance de tous les schémas auxquels elle appartient (// implicite) décisions à prendre :  comment évaluer rapidement les configurations de la population  comment équilibrer l'exploitation et l'exploration J. (enfant) 1 1 0 1 1 0 1 1 0 1 0 0 Remarques : justification par le théorème des schémas :  les schémas courts et performants (building blocks) se X et se multiplient  la performance d'une config..Algorithme génétique simple (Holland 75) Caractéristiques :   codage universel du problème sous forme de chaînes en 0/1 opérateurs "génétiques" stochastiques (aveugles) : mutation et croisement Croisement : échange de bits entre deux config. bi-points.) 1 1 0 1 0 1 parents 1 1 0 1 1 0 enfants 0 1 0 0 0 1 X 0 1 0 0 1 0 Mutation : modification de valeurs de bits déterminés au hasard d'une config. uniforme. Université d'Angers 24 ..

K.Approche d’évolution La pratique  Spécialisation :    configuration (codage) adapté au problème (ex. Hao. Université d'Angers 25 . permutation pour TSP) opérateurs d'évolution (mutation et croisement) adaptés au problème Hybridation :   avec l'approche de construction avec la recherche locale •••••• •••••• •••••• •••••• •••••• X •••••• X X •••••• Remarque: intégration indispensable de connaissances spécifiques J.

Genetic Local Search  Remarque :  l'adaptation est indispensable J. difficilement utilisables en pratique Pratique   résultats souvent faibles avec AG naïfs. i.Approche d’évolution : performance Théorique  preuves de convergence dans certains cas.e.K. Hao. même les meilleurs avec AG hybrides o hybridation avec l'approche de construction (ex. mutation et croisement aveugles résultats fortement compétitifs avec AG spécialisés o codage adapté au problème o opérateurs “génétiques” intégrant des connaissances du problème résultats fortement compétitifs. glouton) o hybridation avec la recherche locale : GLS . Université d'Angers 26 .

Principe de conception  l'opérateur de RL doit être performant  l'opérateur de croisement doit être spécialisé au problème J. Hao.K.intensification avec recherche locale 2 Schéma d'hybridation AG + descente : les configurations de la population sont des optima locaux. AG + tabou (recuit) : les configurations de la population sont améliorées pendent un nombre fixe d'itérations.Approche hybride – génétique recherche locale Idée de base : combiner 2 méthodes complémentaires : recherche globale et recherche locale . Université d'Angers 27 .diversification avec recombinaison (spécifique) .

élimination des configurations non-performantes de la population) J. Hao.K. d'arrêt vérifiée étape 3 (mise à jour) a) re-organisation de la population (ex.Algorithme génétique hybride Procédure générale étape 1 (initialisation) a) générer une population de configurations P b) appliquer une recherche locale à chacune des configurations de P étape 2 (évolution et terminaison) a) choisir p1 et p2 dans P b) générer une configuration e par une recombinaison de p1 et p2 c) améliorer e par l'application de la recherche locale d) Insérer la nouvelle configuration e dans la population e) terminer et retourner la meilleure solution trouvée si la cond. Université d'Angers 28 .

Hao.K. Université d'Angers 29 .Génétique recherche locale P2 P1 Fils J.

K. Hao.Algorithme génétique hybride RL P2 P1 Fils J. Université d'Angers 30 .

K. Hao. Université d'Angers 31 .D’autres approches fondées sur la notion de population/agent La recherche dispersée (Scatter Search) Optimisation par colonie de fourmis Optimisation par essaim particulaire (Particle Swarm Optimization) J.

e..) nécessaire pour trouver une solution J. i.K... Université d'Angers 32 robustesse . l'effort (le "temps" de calcul. le nb d'itération. adaptation de la métaheuristique au problème o configuration (espace de recherche) o fonction d‟évaluation o voisinage o opérateurs de recherche o traitement des contraintes o structures de données..Adaptation des méta-heuristiques Résolution d'un problème avec une métaheuristique   analyse et modélisation du problème à traiter choix d'une métaheuristique selon o la qualité des solutions recherchées o la disponibilité des connaissances sur le problème o le savoir-faire.  Évaluation de l'algorithme (benchmarking si possible)    qualité de la meilleure solution trouvée ou profile de recherche rapidité... Hao.

traitement de contraintes. Hao. non utilisable en pratique  pratique : dépend de l'adaptation au problème (codage du problème...Conclusions sur les métaheuristiques Atouts     générales et applicables à une très large classe de problèmes possibilité de compromis entre le temps de calcul et la qualité de solution possibilité d'intégrer des connaissances spécifiques du problème domaines d'application privilégiés : problèmes combinatoires de grande taille "Inconvénients"  optimum global non garanti  adaptation souvent indispensable  difficulté de prévoir la performance (qualité et temps) Performance  théorique: preuve de convergence dans certains cas.) Perspectives:  Systèmes de résolution génériques fondés sur les métaheuristiques  L’approche méta-heuristique constitue un outil puissant pour la résolution de problèmes combinatoires difficiles (discrets et continus) J. structures de données.K. Université d'Angers 33 . connaissances spécifiques.

Deuxième partie

Exemples d'application

J.K. Hao, Université d'Angers

34

Exemples d'application
Applications

     

positionnement d'antennes pour les réseaux radio-mobiles (Esprit 4) affectation de fréquences dans les réseaux radio-mobiles (France Telecom) planification journalière de prises de vues d'un satellite (Application CNES) évolution d‟équipements de réseaux télécoms (Bouygues Telecom) planification de rencontres sportives (Sports League Scheduling) planification de rencontres d'équipage (Progressive Party Problem)

Problèmes de référence     SAT & Max-SAT coloration et T-coloration de graphes satisfaction de contraintes CSP et Max-CSP sac-à-dos multidimensionnel (mono-objectif et multi-objectif)

J.K. Hao, Université d'Angers

35

Coloration de graphes
k-coloration (satisfaction) étant donné un graphe G=<V,E>, trouver une partition de V en k classes telle que 2 nœuds adj. ne soient pas dans la même classe (k-coloriable)

A E B
Coloration (optimisation)
o

C
A D B C E

D

déterminer le plus petit k pour lequel le graphe est k-coloriable (le nb chromatique)

Intérêts du problème o o o o beaucoup d'applications : affectation de fréquences, emploi du temps, ordonnan… beaucoup de travaux existants grande difficulté : NP-difficile (impossible de colorier de manière exacte des graphes aléatoires de densité 0.5 > 90 nœuds, d'après Johnson et al. 91) un des 3 problèmes traités par le "2nd Dimacs Implementation Challenge" (92-93)
J.K. Hao, Université d'Angers 36

Université d'Angers 37 . 91) recherche locale recuit simulé (Chams et al. Costa et al. Dorne & Hao 97) Hybridation population + RL + construction (Morgenstern 94) croisement d'affectation et RL (Fleurent & Ferland 94. Hao. Galinier & Hao 99) J.Coloration de graphes Algorithmes connus construction DSATUR (Brélaz 79) RLF (Recursive largest First) (Leighton 79) XRLF (Johnson et al.K. 95) croisement spécialisé et RL (Dorne & Hao 98. Johnson et al. 87. 91) tabou (Hertz & de Werra 87.

.v>  E | u Vi et v  Vi } Remarque : f(s) = 0 si s est une coloration propre pour une valeur de k fixe J. On fixe le nombre de couleurs k. on va à l'étape 1) On s'arrête quand on n'arrive plus à trouver une k-coloration Définitions o o espace de recherche S : toutes les partitions de V en k classes S = {s  s est une partition de V en k classes {V1. f(s) =  {<u. Université d'Angers 38 ..Vk} } fonction d'évaluation f : le nombre d'arêtes ayant deux extrêmes coloriées avec une même couleur s  S.V2.Algorithme génétique locale pour la coloration Processus de résolution générale 1. 2. on cherche une k-coloration propre Si succès. Hao. 3. on décrémente k.K...

Université d'Angers 39  .Algorithme génétique locale pour la coloration Recherche locale avec tabou  voisinage : on change la classe d'un nœud en conflit A E B  C A B C D E A E B C A D B C E D D liste tabou : o contenu : quand un nœud u perd sa couleur c(u). évaluation des configurations : o structure de données performantes o algorithmes incrémentaux pour une évaluation rapide des voisins. u est interdit de reprendre c(u) pendant l(u) itérations o longueur : l(u) définie dynamiquement en fonction du nombre de nœuds en conflit. J. Hao.K.

alors prendre cette couleur si les deux parents n'ont pas la même couleur.K. Hao. ces croisements ne permettent pas de transmettre les bonnes propriétés des parents aux enfants. A E B C A B C D E A E B J. Université d'Angers C A B C D E D D 40 . alors prendre aléatoirement la couleur de l'un des parents (ou une autre couleur) Remarque : Problème de permutation de couleurs.Algorithme génétique locale pour la coloration Croisements classiques uniforme : la couleur d'un nœud chez un enfant est déterminée aléatoirement par la couleur de l'un des parents affectation : la couleur d'un nœud est déterminée d'après les règles suivantes: si les deux parents ont la même couleur.

Journal of Combinatorial Optimization. transmettre la classe de cardinal maximum de p1 pour chaque classe l impair.K.K.Algorithme génétique locale pour la coloration Croisement spécialisé GPX (Greedy Partition Crossover) (P. Galinier et J.  Le croisement GPX o o pour chaque classe l pair. transmettre la classe de cardinal maxi. de p2 parents ABC DEFG CDEG AFI ABC C A C I A I HIJ BHJ HIJ BHJ I DEFG BHJ A C enfant DEFG DEFG BHJ J. Hybrid evolutionary algorithms for graph coloring. Université d'Angers 41 . Hao. 3(4): 379-397. 1999. Hao.)  Une bonne propriété est la suivante : o toute classe de grand cardinal doit être conservée chez l'enfant.

i Ip2. Dorne et J.i V1i  p1 est un ensemble indépendant de cardinal maximum chez p1. Hao. Hao.Algorithme génétique locale pour la coloration Croisement spécialisé UIS (Union of Independent Sets) (R. Ip1. Sept.i  Ip2. on doit conserver les deux classes chez l'enfant.j V2j  p2 tel que  j {1. Université d'Angers 42 .jsoit maximal on construit une classe i chez l'enfant par l'union de Ip1. indépendant Ip2. on cherche chez p2 un ens.K. A new genetic local search algorithm for graph coloring..j Remarque : un ou deux enfants peuvent être générés J.j les nœuds absents sont distribués aléatoirement  o o Ip1. Le croisement UIS o Ip1.K.i et Ip2. LNCS 1498 : 745-754.K}. 1998)  Une autre bonne propriété est la suivante : o si deux classes sans conflit V1i  p1 et V2j p2 partagent un nombre important de nœuds.

Culberson 79) graphes aléatoires Gn.d (Hertz & de Werra 87. Johnson et al.Résultats sur des benchmarks Jeux de test (DIMACS benchmarks) o o graphes construits (Leighton 79. 91) Critères d'évaluation o o qualité de la meilleure solution (la plus petite valeur pour k) rapidité en terme de nombre d'itérations et en temps Paramètres o o taille de la population : 5 ou 10 solutions initiales : construites avec l'algorithme de DSATUR o o o nombre d'itérations pour chaque RL : 250 à 4000 liste tabou : réglage dynamique et automatique condition d'arrêt : une k-coloration trouvée ou nb max. Université d'Angers 43 .K. d'itérations atteint J. Hao.

Université d'Angers 44 .Résultats sur des benchmarks J.K. Hao.

étant donné un graphe G=<V. Hao.2.Vj)E. | c(Vi) . Université d'Angers .  des valeurs de Tij) Remarques : ..1.E> et un ensemble Tij d'entiers positifs incluant la valeur 0 pour chaque (Vi.si Tij = {0. et la couleur min.c(Vj) |Tij (la distance entre chaque paire de couleurs de 2 noeuds adj.."T-Span" d'un graphe G : le plus petit "T-span" de tts les T-colorations poss.c(Vj) | ≥ dij ."T-Span" d'une T-coloration : la distance entre la couleur max. alors  (Vi..dij}.Vj)ÎE.Vj)E. trouver une fonction c : V-> {1. de G V1 T-coloration V3 •1 •3 2 (d12) 4(d14) 1(d34) •3 V2 T-span = 4 2 (d13) 1 (d24) • 5 V4 45 J.K. .k} telle que :  (Vi.Problèmes de T-coloration T-coloration simple .. | c(Vi) .

si Ti = {0. Hao. le nb de couleurs demandé par Vi et . m..bi}...c(Vin)  di . on associe : .. | c(Vim) .Problèmes de coloration T-coloration avec ensembles À chaque noeud Vi. mÎ{1.Vj) E. m. m  n.affectation de fréquences est une application concrète de la T-coloration V1 T-coloration avec ensembles V3 3 • • 4 • 2 4 2 • • • 1 V2 2 • 1 • V4 46 J.la distance entre chaque paire de couleurs d'un même noeud Vi doit être différente des valeurs de Ti :  Vi V.1..K. |c(Vim) . n {1. alors Vi V. . m  n.un entier bi  1. |c(Vim) .di}.bi}.c(Vin) | Ti. n {1..la distance entre chaque paire de couleurs de 2 noeuds adj.bj}..c(Vjn)| Tij Remarques : .bi}... Université d'Angers .nÎ{1. Vi et Vj doit être différente des valeurs de Tij : (Vi..un ensemble Ti d'entiers incluant la valeur 0 (val. interdites entre paire de couleurs) Colorier chaque noeud ViV avec bi 1 couleurs tout en respectant les contraintes : .

Université d'Angers 47 . largest First) (Leighton 79) • recuit simulé (Chams et al. 95)  T-coloration simple • ordre dynamique (glouton) (Gamst 92) • tabou et recuit simulé (Costa 93)  T-coloration avec ensembles • ordre dynamique (glouton) et tabou (Jiang 96) Algorithmes récents  Algorithme hybride “génétique + tabou” pour la coloration  Algorithme tabou pour T-coloration et T-coloration avec ensemble J.K. Hao. tabou (Hertz & de Werra 87) • hybridation (Fleurent & Ferland 94. Costa et al. RLF (Recurs. 87.Problèmes de coloration Méthodes de résolution  coloration • construction : DSATUR (Brélaz 79). 91). Morgenstern 94. Johnson et al.

Hao.K.Problèmes de coloration Jeux de test  coloration • DIMACS benchmarks • graphes de taille jusqu'à 1000 noeuds et 200 couleurs environ T-coloration • jeux aléatoires (pas de benchmark disponible) + distance de séparation prise entre 1 et 5 + nb de couleurs par noeud pris entre 1 et 5 • graphes de taille jusqu'à 1 000 noeuds (environ 3 000 variables entières. Université d'Angers 48 .5 > 90 noeuds J. aucun algo. ne peut colorier des graphes aléatoires de densité 0. exact exist. 91). 4 millions de contraintes) et 2 000 couleurs Remarque : d'après (Johnson et al.

tabou sont proches de l'estimation théorique Remarques :  intéressant d'initialiser la recherche avec un algo.Problèmes de coloration Résultats  coloration • les algorithmes tabou et hybrides dominent les algo. de construction • AG hybrides améliorent les meilleurs résultats de certains jeux DIMACS  T-coloration • les algorithmes tabou et hybrides dominent l'algorithme DSATUR adapté • les résultats de l'algo. de construction J. Hao. Université d'Angers 49 .K.

Hao. déterminer une affectation des valeurs {0. Université d'Angers 50 .si toutes les clauses ne peuvent pas être satisfaites. alors déterminer une affectation qui maximise le nombre de clauses vraies (Max-SAT). J. .1} à toutes les variables qui rend toutes les clauses vraies.étant donnée une conjonction de clauses. emploi du temps. …).SAT & Max-SAT Définition SAT .K. Remarque : un des problèmes NP-Complet les plus étudié avec des applications variées (VLSI.

. recuit simulé * GSAT & WalkSAT (92.SAT & Max-SAT Méthodes de résolution ...algorithmes complets * Davis & Putnam (depuis 1960) : SATZ (1997).un croisement spécifique fondée sur la satisfaction de clauses * corriger les clauses fausses * conserver les clauses vraies . Université d'Angers 51 .un algorithme tabou J.algorithmes incomplets * recherche locale : tabou. Zchaff (2002). 94). unitWalk (2002) * hybride "génétique et tabou" GASAT (2003) GASAT . Hao.K.

K. • pas de solution connue pour T > 8 (en 1996).Problème de rencontres d'équipages (PPP . Hao. • deux équipages ne doivent pas se rencontrer plus d'une fois • la capacité de chaque hôte doit être respectée Remarques : • problème de base avec T = 6. plus difficile quand T augmente. non binaires J.Progressive Party Problem) Le problème affecter 29 équipages visiteurs de tailles différentes à 13 bateaux hôtes de capacités diff. mais T= 10 une borne sup. • contraintes hétérogènes. pour T périodes de temps consécutives avec les contraintes : • chaque équipage visiteur visite un bateau différent pour chaque période différente. Université d'Angers 52 .

. = l'ens.algorithmes de recherche locale (descente. metropolis. période) (changer l'hôte d'un équipage qui viole des contraintes) * N2 : échanger les valeurs de 2 variables (une au moins est en conflit) (échanger les hôtes de 2 équipages d'une même période) .13} * contraintes : n-aires .K. Hao. échec pour T  8 (Smith et la 96) .program. Université d'Angers 53 .programmation linéaire en nombres entiers : échec pour T6 (Brailsford et al.deux voisinages : * N1 : changer la valeur d'une seule variable en conflit (équipage.une formalisation du problème en CSP : * var. des hôtes D = {1. = un couple (équipage. par contraintes 2 : T < 7 en quelques sec. T = 8 en quelques heures.évaluation et analyse de la performance de 2 voisinages et des algorithmes J. tabou) .Problème de rencontres d'équipages (PPP .program.Progressive Party Problem) Méthodes de résolution .. 96) .. échec pour T>9 (Cosytec 97) Approche heuristique avec tabou (Galinier & Hao 98) . période) et dom. par contraintes 1: T = 6 et 7 en 20-30 mn.

Progressive Party Problem) Résultats .pas de différence significative entre métaheuristiques utilisées (recuit et tabou) . Université d'Angers 54 .K.échec pour T = 10 (une contrainte non satisfaite) Remarques : .N2 plus performant car il permet de résoudre le pb. problème simple pour la recherche locale J.résolution du pb jusqu'à T = 9 avec N1 et N2 . jusqu'à T= 8 avec la descente .pour T9.problème ouvert pour T = 10 => jusqu'à T = 9.Problème de rencontres d'équipages (PPP . solutions en moins de 5 secondes . Hao.

tournoi simple : chaque équipe joue contre toutes les autres exactement une fois. 26. 38. 42. 36. 30. 14. chaque semaine étant découpée en T/2 périodes avec les contraintes suivantes : . 32.Planification de tournois sportifs (SLSP – Sports League Scheduling Problem) Le problème Planifier les tournois entre T équipes (T pair) sur T-1 semaines.) J. 40. .double / période : aucune équipe ne peut jouer plus de 2 fois / période. . 16. 20. 44. Semaine 1 Période 1 Période 2 Période 3 Période 4 1 vs 2 3 vs 4 5 vs 6 7 vs 8 Semaine 2 1 vs 3 2 vs 8 4 vs 6 5 vs 7 Semaine 3 5 vs 8 1 vs 4 2 vs 7 3 vs 6 Semaine 4 4 vs 7 6 vs 8 1 vs 5 2 vs 3 Semaine 5 4 vs 8 2 vs 5 3 vs 7 1 vs 6 Semaine 6 2 vs 6 1 vs 7 3 vs 8 4 vs 5 Semaine 7 3 vs 5 6 vs 7 1 vs 8 2 vs 4 Exemple d’une programmation valide pour 8 équipes Remarque: problème se résout en temps linéaire si (T -1) MOD 3=0 (T=10. 18. 28.. 34. Hao.. 46 problème encore ouvert sinon (T=12.unicité / semaine : chaque équipe joue exactement 1 fois / semaine. Université d'Angers 55 . 22. 24.K.

97) . 97) .PPC avec contraintes de différence (ILOG Solver) : T ≤ 14 (McAloon et al. Université d'Angers 56 .PPC avec algorithmes de filtrage puissants (ILOG Solver) : T ≤ 24 (Régin 98) .PLEN avec contraintes de cardinalité (Cplex) : T ≤ 12 (McAloon et al. Hao.K.PPC avec transformation du problème (ILOG Solver) : T ≤ 40 (Régin 99) Approche heuristique avec tabou (Hamiez & Hao 00) • une formalisation du problème en CSP • une heuristique pour la construction d‟une solution initiale • voisinage fondé sur échange entre deux matches (dont un est en conflit) • traitement de contraintes : satisfaction constante et pénalité • longueur de la liste tabou dynamique J.Planification de tournois sportifs (SLSP – Sports League Scheduling Problem) Méthodes de résolution .

pour T  20.solution initiale joue un rôle important . solutions en quelques secondes Remarques sur l‟algorithme tabou: .diversification indispensable Remarque sur le problème : .Planification de tournois sportifs (SLSP – Sports League Scheduling Problem) Résultats . Université d'Angers 57 .K. Hao.solutions trouvées jusqu‟à T = 40 .beaucoup à faire pour résoudre le problème pour T> 40 équipes si (T-1) MOD 3  0 J.la façon de traiter les contraintes joue un rôle important .

b   *m et x  0. Université d'Angers 58 . A.très nombreuses applications dans des domaines variés. 1 Remarque : . avec    n *n mn c   . Hao.c. résolutions exactes limitées à des instances n < 90 et m < 5.x  b .Sac-à-dos multidimensionnel Définition du problème Etant donné n variables bivalentes et m contraintes linéaires     max c  x . . J.NP-difficile.K. s. A   .

Hao. Hanafi & Fréville 98) (très bon résultats) • génétiques spécialisés (Chu & Beasley 98) • algorithme hybride “simplex + tabou” (Vasquez & Hao 00d) Jeux de test • benchmark OR-LIB et d‟autres (n=100 à 2500 et m = 5 à 100) Résultats • L‟algorithme hybride fournit les meilleurs résultats pour l‟ensemble des benchmarks les plus difficiles.Sac-à-dos multidimensionnel Méthodes de résolution • algorithmes exacts (B&B) (Shih 79) • relaxation (Fréville & Plateau 93) • Tabou (Glover & Kochenberger 97.K. Université d'Angers 59 . J.

Hao. g.. les contraintes d'interférences définies par une matrice de réutilisation M[n.  i{1...e..j]..n}).. i. g{1. le nombre de fréquences demandé par station 3.h|  M[i.n}. les trafics bi (i {1. Université d'Angers 60 • 1 • ..Affectation de fréquences dans les réseaux radio-mobiles Le problème S1 3 • • • 2 3 2 • S2 • • 1 4 stations S4 2 S3 4 étant donné 1.g – fi. S2.n}.. gh o "stations adjacentes": | fi. h {1.h|  M[i.Ti}..bi}.j{1.i.bj} trouver un plan d'affectation en minimisant les interférences avec k fréquences données (interférences mesurées en termes de contraintes violées) Remarque : c'est un problème de coloration généralisé J.h{1.g – fj.i]. ij.n] o "co-station": | fi.Sn} 2... n stations {S1.K.

94)  algorithmes de coloration (Gamst 86.Affectation de fréquences dans les réseaux radio-mobiles Méthodes de résolution existantes  recuit simulé (Duque-Anton et al.K. Université d'Angers 61 . Hao et al. CNET 95)  réseaux de neurones (Kunz 91)  algorithmes génétiques (Crompton et al. Hao & Dorne 96. Renaud & Camanida 97. 93. Hao. 98) • Traitements de contraintes • Croisement spécialisés J. CNET 95) Algorithmes Tabou et génétiques récents (Dorne & Hao 95.

Affectation de fréquences dans les réseaux radio-mobiles Un algorithme tabou  configuration : une affectation respectant les trafics et les contraintes de costation S1 S2 S3 S4 f11f12 f21 f22 f23 f31 f32 f41 fonction de voisinage N : S 2S : s et s' voisins s'ils diffèrent par la valeur d'une seule fréqu. ancienne_val_de_fréqu. en conflit d'une station liste tabou : attribut mémorisé = <station.K. Hao. Université d'Angers 62      .> la longueur de la liste tabou : une fonction linéaire de la taille du voisinage évaluation incrémentale des configurations : valeur d'évaluation de chaque mouvement possible (une matriceDde w x k ) aspiration : accepter tout mouvement conduisant à une configuration de qualité supérieure à la meilleure configuration rencontrée J.

.. Hao.Affectation de fréquences dans les réseaux radio-mobiles Un algorithme tabou étape 1 (initialisation) • choisir une solution initiale s S • mémoriser la meilleure solution trouvée s*  s • initialiser les structures de données (liste tabou.) • aller à l'étape 2 J.K.) étape 2 (choix et terminaison) • choisir un des meilleurs voisins non tabou s'N(s) tq s"N(s). matriceD. Université d'Angers 63 ... f(s') < f(s") • s  s' (même si s' est moins performant que s) • terminer si max_itér est effectué (ou si s n'est plus améliorée pendant max_itér) étape 3 (mise à jour) • s*  s si f(s) < f(s*) • rendre le dernier mouvement tabou pendant k itérations • mettre à jour d'autres structures de données (matriceD.

jusqu'à • 1 000 variables entières • 54 valeurs par variables • 35 000 contraintes Résultats   L‟algorithme tabou et l‟algo. Hao.Affectation de fréquences dans les réseaux radio-mobiles Jeux de test fictifs et réels (fournis par le CNET)     nb de fréquences par station : 1 à 4 distance de séparation de fréquences de co-station : 2 à 4 distance de séparation de fréquences de stations adjacentes : 1 à 3 de grande taille.K. Université d'Angers 64 . génétique spécialisé dominent largement l'approche classique de construction Les croisements standards jouent un rôle marginal J.

Université d'Angers 65 . directionnelle large ou petite ouverture o paramètres : puissance (26 à 55 dBm)..).08 „erlang‟ Zone géographique o un ensemble S de points de service (STP en bleu) : seuil de qualité Sq du signal radio défini par un niveau de champ (-82 dBm2W„incar‟. tilt (-15° à 0°) o nombre d‟émetteurs (TRX) : 1 à 7 selon trafic à assurer J. o un ensemble L de sites candidats pour le positionnement d‟antennes Matrice de perte en propagation du signal radio o pour chaque site les valeurs de l‟atténuation du signal radio sur tous les STP Antennes o différents types : omnidirectionnelle. Hao... o un ensemble T  S de points de trafic (TTP en blanc) : estimation de trafic en erlang.-90 dBm8W „outdoor‟.K.Positionnement d’antennes pour les réseaux radio-mobiles Réseaux urbain : 50 km x 46 km 568 sites potentiels 56792 points de mesure du signal radio 17393 STP 6652 TTP pour 2988. azimut (0° à 359°).

 ‘Hand-over’ : toute cellule doit avoir des points de recouvrement avec ses voisines. Remarques : o très grande combinatoire pour le choix d‟un positionnement réalisable o grande complexité de calcul pour vérifier les contraintes et pour évaluer les objectifs o importante demande de ressource mémoire ( 200 à 500 MO de données par jeux) J.Positionnement d’antennes pour les réseaux radio-mobiles Déterminer  un sous ensemble de sites parmi les sites candidats. Objectifs  minimiser le nombre de sites sélectionnés.  Connexité locale : toute cellule constitue une seule composante connexe (en V8).  maximiser le trafic supporté par le réseau.  minimiser les interférences générées par les antennes. Université d'Angers 66 .K. tilt et azimut).  maximiser le rendement des émetteurs de chaque antenne. le nombre et le type d‟antennes.  pour chaque antenne. la valeur de chacun de ses 3 paramètres (puiss.  pour chaque site sélectionné. Les contraintes impératives  Couverture : tous les STP doivent être couverts par une antenne. Hao.

Hao. génétique. tabou. réseaux de neurone o heuristiques spécifiques Une approche heuristique fondée sur la méthode tabou (Vasquez & Hao 00a)    Pré-traitement pour réduire par une heuristique la combinatoire Optimisation par méthode tabou pour rechercher des solutions réalisables Post-optimisation par raffinement local pour améliorer la solution Remarques :  Une méta-heuristique seule n‟est pas suffisante pour aborder le problème J. rien pour les réseaux cellulaires de grande taille Projet européen ESPRIT 4 ARNO (Algorithms for Radio Network Optimisation) Méthodes heuristiques étudiées : o recuit simulé.K.Positionnement d’antennes pour les réseaux radio-mobiles Contexte    quelques études pour les réseaux micro cellulaires (indoor). Université d'Angers 67 .

Positionnement d’antennes : résultats Caractéristiques des réseaux Réseaux Sites potent. Université d'Angers 68 . Min.K. cellules STP Construction Autoroute Rural Petite zone urbaine Ville à grand trafic 250 320 568 244 25 22 24 21 75 65 70 61 29954 72295 17393 48512 Extension Autoroute Rural Petite zone urbaine Ville à grand trafic 250 320 568 244 25 47 63 113 75 140 189 337 29954 80854 42492 48512 J. sites Min. Hao.

Objectifs : o nombre de sites / antennes : 34 / 52 (35 direct.K. Université d'Angers 69 . Hao. 17 direct.08 ‘erlang’ Contraintes : o toutes les contraintes satisfaites : couverture. connexité locale et hand-over.Positionnement d’antennes : résultats Un réseau urbain : 50 km x 46 km  568 sites potentiels  56792 points de mesure du signal radio  17393 points de service (STP)  6652 points de trafic (TTP) pour 2988. petite ouverture. large ouverture) o interférences : niveau très bas o trafic assuré : 85% o rendement des émetteurs : très bon Remarque : les approches par pénalités n‟ont pas trouvé de solution réalisable. J.

Positionnement d’antennes : résultats Un réseau autoroute : 39km x 168km 250 sites potentiels 29954 STP Contraintes :  toutes les contraintes satisfaites : couverture. Université d'Angers 70 . connexité locale et hand-over. 35 direct.K. Hao. petite ouverture. 67 direct. Objectifs :  nombre de sites/antennes : 58 / 103  1 omni-directionnelle. large ouverture  interférences : niveau très bas  trafic assuré : moyen  rendement des émetteurs : très bon J.

Université d'Angers 71 .Planification journalière de prises de vues d'un satellite Le problème étant donné :  un ensemble P de photographies (mono ou stéréo) à planifier pour le jour suivant . milieu et arrière). Remarque : peut être formalisé comme un un sac-à-dos en variable 0/1 sous contraintes logiques J. pour les stéréo (à réaliser conjoint.)  une contrainte de mémoire : non dépassement de la capacité en mémoire d'une caméra par la somme des photos réalisées sur la caméra.. déterminer un sous-ensemble P'P tel que :  la somme des pondérations associées à l'ensemble des photos de P' soit maximale toutes les contraintes soient respectées.avant. Hao. • une seule pos..  une pondération (l'agrégation de certains critères) pour chaque photo .  les différentes possibilités de réalisation de chaque photographie : • trois pour les mono (une des trois caméras utilisables .K. par les caméras avant et arrière)  un ensemble de contraintes binaires et ternaires à respecter impérativement (non chevauchement et respect des temps de transitions entre prises de vues.

K. en sac-à-dos 0/1 sous contraintes (au lieu de CSP)  un algorithme tabou intégrant : • une technique de relaxation de la contrainte de mémoire • un voisinage efficace • une technique d'évaluation incrémentale rapide • une gestion dynam. 95) Un algorithme tabou récent (Vasquez & Hao 00b)  une formalisation du pb. 95)  algorithme tabou (Agnèse et al. 96)  algorithmes gloutons (Agnèse et al.Planification de prises de vues Méthodes de résolution  algorithme exact (Verfaillie et al. de mouvements Calcul des bornes supérieures (Vasquez & Hao 00c)  Programmation dynamique et tabou (partition de graphes) J. Université d'Angers 72 . de la liste tabou fondée sur les fréqu. Hao.

disponibles sur l'internet)  deux types sans contrainte de mémoire (optimum connu) avec contrainte de mémoire (optimum non connu)  de grande taille. jusqu'à 900 variables entières 17 000 contraintes (binaires. Université d'Angers 73 . ternaires et n-aines) Résultats  jeux sans contrainte de mémoire : solution optimale en moins de deux minutes  jeux avec contrainte de mémoire : • quelques secondes pour atteindre les meilleures solutions connues • amélioration des meilleures solutions connues en quelques minutes J.K. Hao.Planification de prises de vues Jeux de test (définis par le CNES.

Conclusions    L'approche métaheuristique est très prometteuse pour la résolution de problèmes combinatoires de grande échelle L‟approche métaheuristique pourrait être combinée avec d‟autres méthodes exactes ou heuristiques Une bonne performance nécessite souvent : • • d'une formalisation adéquate du problème d'une adaptation "intelligente" d'une métaheuristique : + l'intégration des connaissances spécifiques du problème + des structures de données efficaces J. Hao. Université d'Angers 74 .K.

3908  70.4397.3908 W 74802039 85F.38087F80.0398 4730 .447.479208F3F96:08 742594309.4 4730 #03./4 24-08 F94/08/07F84:943089.:982:F :6:0 394309.289 % 479208%.4 &3. .943/017F6:03.409.   .:/030:74308 :3  .110.:7.0789F/ 3078  .9020398 /0 .479208/0.08/.2.8F8   ..:/ .-4:09F3F96:087F.  %  7F80.943 .3/.  W %7.9.4 .

4319 / :3089.943/0.0 F.9433.:7.7.943703..0590794:924:.4 &3.943 $ $ $ $ 1  1  1  1  1  1  1  1  143.-4: .3908/0.9.43/:8.94370850.431:7.943 .943/017F6:03. 200:70.02039.110.:.0:7/ :3080:017F6: 03 .48388 8/11G70395..70/0.80908.97.4397F0        ..8909....0:7/ F.:.*/0*17F6:  .9F 8:5F70:70..0789F/ 3078  .0 /0 .7F2039.857.431:7.943 8909.38087F80.02039 5488-0 :302.390897.43:0:7/0.997-:92F2478F89.9433F.431:7.9438 .0330*.483.1.9..4 89.110.431:7.483./4 24-08 &3.479209.4397.-4:  .0/:.0/08.943 .-4: :30143.39:30.6:024:.9.0$F$ 8098 .3.9.08/.943/0..943/06:.943 :30.

9:708/0/433F08 8909.0 .-4: 2.200:7084:943974:.-4: F9.97.479209.*9F70890110.943/017F6:03./4 24-08 &3.9.*9F7 F9.40990723.020399.392.396:08 W 907230782.48383439.38087F80.9:708/0/433F08 2.943 W .50 .-4:503/.487:3084:94339.8.2F47F0503/.9438 W 2099704:7/ .:9708897:.08Z$ W 2F247807.50 39.F08  8 W 39.399F7.487:3/08200:78.97.:7.9:F 4:883 0895:8.110.843 W .0  F9.50 2804:7 W 8  881 8 1 8  W 703/700/0730724:.08/.-4:8 Z 8 968Z 8 1 8 1 8 W 8 8  2H2088 08924385071472.80708897:.

.

.

50   .4 &3.0789F/ 3078  . W .07 F9.

3/09.98    .9.08/.-4:09 .702039 .943 /89.943/017F6:03.70%     3-/017F6:03.74802039889.9438.886:0/0..3.8F/423039.0/08F5...789.3908 #F8:9.0:785.7.   .4397.0789F/ 3078  .918097F08 14:7385.0/08F5.7.479209.4 89.-08 W  .943/017F6:03.38087F80.085.43897:.0 .3/.5574.4 &3.110.-08039G708 W .943 08./4 24-08 0:/090891.7.73.4 F3F96:085F.7..0 :86:  W  ..7/84:039:3702.03908 /07.08/089.3.943/017F6:03.943 /89.08/0.7.:7./..

 7. 7.0789F/ 3078  ..:7.943 /0 97.7.7 :3 3.97. 7.0    /2 .943 /: 83.1./4 8:7 94:8 08 $%! 3903308 4 /11F70398 9508  423/70.1.7  /2  4:9/447 4 :3 03802-0 %  $ /0 54398 /0 97. %%! 03 -..943 /: 83.0.88:707   .4 &3./4 4 54:7 .2:9 S  S 99 S  S 4 342-70/ F20990:78 %# 804397.: :7-.943300 .3//..: /0 .3903308 .943300 /70. 7..2G9708  5:88.3.56:0 4 :3 03802-0 $ /0 54398 /0 807.99F3:.!48943302039/ ./4 24-08 #F80.3..0 /0 50790 03 5745.9F $6 /: 83.3   2   2  8908 54903908  54398 /0 208:70 /: 83./4  $%! %%!54:7  07.6:0 890 08 .079:70 4 5.390330854:7087F80.0:78 /0  ./4 /F13 5.3 430 F47. 03 07..  0892..9854:70548943302039/ ..3 4 :303802-0/08908.70 4: 50990 4:.0 $%! 03 -0:  80: /0 6:.25  /2  3.1.

72 08 8908 .07  94:90 .:7.2807 0 97.4:.9470 54:7 0 .390 /02..42509F /0 ..3//.0:0 .7 08 ..3/0 .0:7 /0 .F7107 08 .:07 08 4-0.42548.0798 5..48308 -0.3903308  54:7 .390 .0  94:90 ..3908 25F7.9.:3 /0 808  5.4397.08  4:.390330854:7087F80..3908 09 54:7 F.9433F8  232807 08 39071F703.8..7 :30 .6:0 .4:.7.390330  43309F 4.918 4 25479.42-3.3/0 .2G9708 5:88 99 09 .4397..918  232807 0 342-70 /0 8908 8F0.6:0 890 8F0.4 &3.079:70  94:8 08 $%! /4.702039 .0:0 /49 .2807 0 703/02039 /08 F20990:78 /0 .-0 4 7.:  2.76:08  4 97G8 7.039 H970 ...3903308  2. 8:55479F 5...08 F3F7F08 5.9433F 0 342-70 09 0 950 / . .6:0 .2:9 08 .7 0 7F80.390330 #02.98  54:7 .43300 03 '  .1.0 2F2470     /0 /433F08 5.: 54:7 .43899:0 :30 80:0 .4 / :3 548943302039 7F.!48943302039/ .7 0:   ./4 24-08 F9072307  :3 84:8 03802-0 /0 8908 5.3/0 /0 70884:7.3/ 4.47 /08 54398 /0 70.390330 .0789F/ 3078  .0. 808 ..

07.9435.0 0:7896:0 143/F0 8:7 .0:.708 3/447 703 54:7 08 7F80.113020394.54:7.3/0 9.4 .0 !74090:745F03$!#%#  47928147#.86:0 .8.84:943 #02.-4: F3F96:0 7F80.4 &3.9470 5928.708 /0 7. 0:7896:080:03 0895..16:08 &30 .-4: 54:770.5574.39054:7.!48943302039/ ./40947 5928.9435.74 .-47/070574-G20   .0:./4 24-08 439090    6:06:08 F9:/08 54:7 08 7F80.2F4707.77.-08 !489 45928.943 F94/080:7896:08F9:/F08  4 70.0789F/ 3078  .07/0884:94387F.72F94/09.:7.: .7:300:7896:0.: 2.76:08   &302F9.90203954:77F/:705..    !7F 97.-4: '.42-3. 2F94/0 9.:/030:7430 4 0:7896:0885F.390330854:7087F80.:982:F 9.88:118.

: #F80.                 903843 :9474:90 #:7.3903308 7F8:9.3/ 97.0:08 $%! 43897:.1.943 :9474:90 #:7.                    .30 '0  7.0789F/ 3078  .: $908 549039 3 8908 3 ..!48943302039/ .30 '0  7.98 .7.1. !0990 430 :7-.4 &3. !0990 430 :7-.9F7896:08/087F80.3/ 97.

 7.!48943302039/ .3903308 7F8:9.43309F 4.07 -0.918  4 342-70 /0 8908 .3/ 4.3908 8. %%! 54:7  07.4397..908  ./4 O  54398 /0 807.3908  4 94:908 08 .0 09 ..1.3 4397.981.4:.3  22 O  8908 54903908 O  54398 /0 208:70 /: 83.0 $%! O 54398/097.::7-.079:70 .98 &37F80.

3903308   . .

9 .4 &3. .085.0.-0   .079:70  /70.1.: 97G8 -.8974:.9 50990 4:.079:70 4 39071F703.5574.08  3.88:7F   4 703/02039 /08 F20990:78  97G8 -43 #02.F/084:9437F.75F3.76:0  08.8 4 97.70 4:.8.0789F/ 3078  .   /70.9F83 4395.

918   342-70/08908.3/ 4.:.4:.:9474:90 22 O 8908 54903908 O $%! 4397.908.4397.07 -0.3908   94:90808.39088.!48943302039/ .43309F4.3903308 7F8:9..009.079:70 .981.98 &37F80.

3903308 ..

4 &3..704:.079:70  39071F703.079:70 /70.88:7F 2403  703/02039/08F20990:7897G8-43   .0.08 3.1.   423 /70.9 509904:.0789F/ 3078  .:97G8-.9 .943300 /70.8  97.

79G708 54:7.9434:73..310754:704:78:.943  .-0 .8.8:98.3908 8403970850.31.39  :30543/F7.807.9 /0890258/097..2F7.:.7.9F08 #02..:08   :30.6:05494  08/11F7039085488-9F8/07F.020390970850..9438.0.F08 03802-0/0854948/0! 8492.508 24344:89F7F4 5.708.9F032F2470/ :30.6:054947..!.38.G70/057808/0.84220/08543/F7.9090 0 574-G20 F9.884.3908-3.8F.-08 .2F7...43439 5.5..943/0.708099073.50 W 974854:7082434 :30/089748...76:0  50:9H9701472.2.4220:3:38.8.2F7...3894380397057808/0.4397.943/0.9.  /4803..8802039/0.390/02F2470343/F5.70870850.2F7. /F9072307:384:8 03802-0! !906:0  ..39 20:09.:08/ :38.77G70 W :3080:0548 54:70889F7F4 7F.7F.4397.84220/08 549487F.02039 343..079.77G70  :303802-0/0..39 /433F   :303802-0!/054947.8F088:7.094:90808.4397.3909.7.5..90725F7...

390846:08   .4397.0789F/ 3078  .84:8.4 &3.

!.   .   ...479209.  :301472.4792084:9438 3G8009..-4: 3G8009.943/:5- 038.4 .  /48 .039 '.009.479209.8.:08 F94/08/07F84:943  .  &3.86:0 .9 '071.31.943/057808/0.-4:7F.479200.

36:0/070.0011.4397.483.0 W :3090.:.-4: 5.3908 ...4 .020398 .7F2039.4397.86:0 .07.508   .79943/07.390/02F2470 W :3.84:8.8909..-4:39F7.:/08-473088:5F70:708 '.9433.36:0/ F..26:0099.4 &3...-4:143/F08:70817F6: /024:.943/3.39 W :3090.:0:/0$!  :3.22.2 /0.943/0.   !747.0789F/ 3078  .479209.5/0 W :3008943/3.

943/08200:70884:9438.98  0:8.38.0 :86:   .433:  /07.943/057808/0.4 &3.4397.9903/7008200:70884:9438.0.3908 -3.:08 0:/09089 /F1385.4397.2F47.0..43/0854:7.433:08036:06:0823:908   ..708093 .31.0789F/ 3078  .433:08 W .390/02F2470 W 6:06:0880..7.708 9073.!.38.390/02F247084:9434592..-08039G708  .390/02F2470 4592:2343..433: .4397..4397.390/02F2470 4592:2.0032438/0/0:23:908  0:.70$ /8543-088:7 3907309  /0:9508 8.3/09.4397.308 #F8:9.

4 &3.00  .02F9./F6:.0889084:.90/:574-G20 / :30.59.5574.943.7F84:943/0574-G208 .5574.0:7896:008997G857420990:8054:7.42-3.039 W W / :301472.88./.0:7896:0  39F7.9433900390/ :302F9.9:708/0/433F08011.43.03F.:8438     .:97082F94/080..94708/07.3.0:7896:054:77.3/0F.433./ .0.9H970.0885F.02F9.16:08/:574-G20 /08897:.908 4:0:7896:08 &30-43305071472.0789F/ 3078  .943/08.8...42-3F0..3.08   .