Algorithmes d`optimisation multicritère Théorie de l`évolution

Transcription

Algorithmes d`optimisation multicritère Théorie de l`évolution
Algorithmes d’optimisation multicritère
Algorithmes de résolution
Algorithmes exacts
Heuristiques
Heuristiques
spécifiques
B&B
Prog. Dyn.
Métaheuristiques
2 phases
Selon Jones, Mirrazavi et Tamiz (2002):
- 70% Algorithmes évolutionnistes
- 24% Recuit simulé
- 6% Recherche tabou
Recuit
simulé
Recherche
Algorithmes
évolutionnistes
tabou
Note: certains transparents sont tirés de divers présentations disponibles sur le web
(Thiele, Dhaenens, Talbi). Je reste bien sûr seul responsable de toute erreur.
2
Olivier Spanjaard – RHAD
Métaheuristiques pour l’optimisation combinatoire multicritère
Opérateurs génétiques
Théorie de l’évolution
•
Darwin, L’origine des espèces, 1859:
• Il existe au sein de chaque espèce de nombreuses variations, chaque
individu étant différent
• Les ressources naturelles étant finies, il naît rapidement plus d’êtres
vivants que la nature ne peut en nourrir; il en résulte une lutte pour
l’existence entre chaque organisme
• Les individus survivants possèdent des caractéristiques qui les rendent
plus aptes à survivre (sélection naturelle)
• Les organismes survivants transmettent leurs avantages à leur
descendance; l’accumulation au cours des générations des petites
différences entre chaque branche généalogique crée de nouvelles
espèces de plus en plus aptes à survivre
3
Optimisation
Nature
Espace de recherche
Ecosystème
Fonction(s) objectif(s)
Ressources
Groupe de solutions similaires
Espèces
Distance mathématique
Différence biologique
Olivier Spanjaard – RHAD
Métaheuristiques pour l’optimisation combinatoire multicritère
Chaque individu est représentée par un génotype et s’exprime sous la
forme d’un phénotype
Une fonction d’adaptation permet de distinguer les individus les plus
performants
L’opérateur de sélection décrit la manière dont les candidats sont
choisis pour la reproduction
L’opérateur de croisement correspond à la méthode utilisée pour
mélanger les génotypes des parents
L’opérateur de mutation décrit la fréquence et la nature des
changements affectant le génotype lors de la transmission des gènes
•
•
•
•
Génération d’une
population initiale
Reproduction
des individus:
• Croisement
Itération • Mutation
Sélection
croisement
individu
mutation
population
Condition d’arrêt
4
Olivier Spanjaard – RHAD
Métaheuristiques pour l’optimisation combinatoire multicritère
Algorithmes evolutionnistes
1.
2.
3.
4.
5.
6.
7.
8.
tĸ0
A(0) ĸ Ø
Tant qu’une condition d’arrêt n’est pas remplie faire
t ĸ t+1
B(t) ĸ générer(A(t-1))
{créer une nouvelle génération}
A(t) ĸ sélectionner(A(t-1),B(t))
{sélectionner les parents}
Fin tant que
Retourner le(s) « meilleur(s) » individu(s) de A(t)
Algorithmes génétiques
Stratégies évolutionnistes
générer(A(t-1))
générer(A(t-1))
1. Reproduire des individus à l’aide de
l’opérateur de croisement
1. Choisir aléatoirement un individu
dans A(t-1) et le dupliquer
2. Appliquer l’opérateur de mutation
sur les nouveaux individus
2. Appliquer l’opérateur de mutation sur
cet individu
5
Olivier Spanjaard – RHAD
Métaheuristiques pour l’optimisation combinatoire multicritère
Exemple monocritère (codage décimal)
Exemple monocritère
On cherche à optimiser une fonction f: ƒ\]a,b] o ƒ.
f(x)
a
Etape 1: choix du codage et d’une fonction d’adaptation
Codage (génotype): séquence de bits, nombre décimal…
Fonction d’adaptation: f
Etape 2: Opérateurs de croisement et de mutation
10100110
10100101
ax + (1-a)y
00010101
Olivier Spanjaard – RHAD
Métaheuristiques pour l’optimisation combinatoire multicritère
x + İ (İ dans [-1,1] )
10101101
Olivier Spanjaard – RHAD
6
Métaheuristiques pour l’optimisation combinatoire multicritère
Objectifs
Remarque: l’opérateur de mutation permet de maintenir de la
diversité et favorise l’exploration
Ex: si toutes les solutions dans la population sont dans [x,y], il
n’est plus possible de sortir de l’intervalle avec le seul
opérateur de croisement
1er problème: en croisant deux points, on peut obtenir un
point dans l’intervalle ]a,b[
ĺ il est nécessaire d’affiner le codage, en utilisant par
exemple une fonction intermédiaire qui replonge dans un
espace fermé
Ex: c(x)=x si x<=a et c(x)=x-b+a si x>b
2e problème: optimisation multimodale, si l’on veut trouver
plusieurs optima il est nécessaire de pénaliser les points
qui ont une forte densité de population dans le voisinage
(technique des niches) Ex:f’(x)=f(x)/m
où m nb sol « voisines »
7
x
b
y2
Diversité
Comment maintenir la
diversité dans
l’approximation ?
o estimation de la
densité
y1
Convergence
8
Olivier Spanjaard – RHAD
Comment guider la
population vers l’ensemble
de Pareto ?
n fonction de sélection
Métaheuristiques pour l’optimisation combinatoire multicritère
Fonctions d’adaptation (Fitness)
Fonctions fondées sur la dominance
A la différence du cas monocritère, où fonction objectif et fonction d’adaptation
sont souvent identiques, le choix de la fonction d’adaptation ne va pas de soi.
Somme pondérée
Les poids utilisés varient au cours de
la recherche afin de trouver un
ensemble de solutions efficaces
Dominance
Types d’information:
profondeur de dominance ĺ Sur quel front un individu est situé
rang de dominance ĺ Par combien d’individus est dominé un individu
compteur de dominance ĺ Combien d’individus sont dominés par un individu
On se base sur la dominance de
Pareto pour calculer la valeur de la
fonction d’adaptation
ĺ meilleurs résultats en pratique
9
Olivier Spanjaard – RHAD
Métaheuristiques pour l’optimisation combinatoire multicritère
NSGA (Srinivas et Deb, 1995)
10
Olivier Spanjaard – RHAD
NDS (Fonseca et Fleming, 1995)
Métaheuristiques pour l’optimisation combinatoire multicritère
Sélection
Fonctions d’adaptation hybrides
(Zitzler et Thiele, 1999)
Nb de solutions
dominées
Cte + Ȉ solutions dominant
11
Olivier Spanjaard – RHAD
(Zitzler, Laumanns et Thiele, 2001)
Sélection proportionnelle : on tire aléatoirement les solutions conservées, en
biaisant selon la fonction d’adaptation.
Inconvénient: un individu largement supérieur aux autres sera sélectionné un
nombre trop élevé de fois, entraînant une convergence trop précoce de
l’algorithme.
Sélection selon le rang : les individus sont rangés par ordre de valeur
d’adaptation, et une proba de sélection est donnée à chacun selon son rang.
Tournois (Horn, Nafpliotis et Goldberg, 1994) : deux individus A et B rentrent
en compétition par rapport à un ensemble de tdom individus de la population appelé
ensemble de comparaison. Si le compétiteur A domine tous les individus de
l’ensemble et l’autre compétiteur B est dominé par un individu de l’ensemble, alors
l’individu est sélectionné. Le paramètre tdom contrôle la pression de sélection.
Elitisme : combiné à l’un des trois approches ci-dessus, cela consiste en la sélection
automatique des solutions efficaces trouvées, éventuellement départagées selon
la densité.
S( ): nb de solutions dominées
Ȉ S(solutions
dominant)
Métaheuristiques pour l’optimisation combinatoire multicritère
12
Olivier Spanjaard – RHAD
Métaheuristiques pour l’optimisation combinatoire multicritère
Fonction de partage
Maintien de la diversité
Dégrade l’évaluation d’un individu selon le nombre d’individus
similaires:
f ( x)
f ' ( x)
m( x )
On module la probabilité de sélection d’un individu en fonction de la
densité de population dans son voisinage
Voisins
Hypergrille
Compteur de niches: m( x)
Partage
¦ sh(dist ( x, y))
yPop
Propriétés de la fonction de partage sh :
0 d sh(dist ( x, y )) d 1 2. sh(0) 1
1.
lim
3.
dist ( x , y ) o f
sh(dist ( x, y )) 0
sh
On prend la distance au kième
La densité de population
plus proche voisin pour estimer correspond au nb d’individus
la densité
dans la même boîte
Ex: pour une fonction d’
évaluation à minimiser on
rajoute l’inverse de cette valeur
13
Olivier Spanjaard – RHAD
Métaheuristiques pour l’optimisation combinatoire multicritère
Exemple: Arbres couvrants multicritères
sh(dist ( x, y ))
1 (
dist ( x, y )
V sh
)D
0
si
dist ( x, y ) V sh
1
sinon
V sh
Olivier Spanjaard – RHAD
14
dist
Métaheuristiques pour l’optimisation combinatoire multicritère
Encodage en un nombre de Prüfer
Procédure d’encodage en un nombre de Pr¾fer
Pas 1. Soit j le sommet de plus petit indice en une feuille de l’arbre T.
Pas 2. Poser k comme premier chiffre si le sommet k est adjacent à j.
Pas 3. Supprimer le sommet j et l’arête de j à k, en créant ainsi un
arbre à n-1 sommets.
Pas 4. Répéter les pas 1-3 jusqu’à ce qu’une arête reste et renvoyer le
nombre de Prüfer à n-2 chiffres.
3
6
4
Arbre
2
1
7
5
15
Olivier Spanjaard – RHAD
Métaheuristiques pour l’optimisation combinatoire multicritère
16
Nombre de Prüfer
1
1
1
2
2
Olivier Spanjaard – RHAD
Métaheuristiques pour l’optimisation combinatoire multicritère
Opérateurs génétiques (Zhou et Gen)
Decodage d’un nombre de Prüfer
Masque
1 0 1 1 0 1 0
Parent 1
1 1 2 2 3 3 3
Pas 1. Soit P le nombre de Prüfer initial et P* l’ensemble des sommets
non inclus dans P.
Parent 2
1 2 1 3 2 3 1
Pas 2. Soit j le sommet de plus indice dans P*, et soit k le chiffre le plus
à gauche dans P. Ajouter l’arête de j à k dans l’arbre. Retirer j de P* et k
de P. Si k n’apparaît plus dans la partie restante de P, le placer dans P*.
Répéter la procédure jusqu’à ce qu’il ne reste plus de chiffre dans P.
Enfant 1
1 2 2 2 2 3 1
Enfant 2
1 1 1 3 3 3 3
Procédure de décodage d’un nombre de Pr¾fer
Pas 3. Si il ne reste plus de chiffre dans P, il reste exactement deux
sommets, r et s, dans P*. Ajouter l’arête de r à s dans l’arbre.
Choisir deux positions au hasard
Parent
1 1 2 2 3 3 3
Echanger les chiffres
Enfant
1 1 3 2 3 2 3
Croisement
Mutation
Fonction d’adaptation : rang de dominance
Maintien de la diversité : utilisation d’une fonction de partage
Sélection proportionnelle : on tire aléatoirement les individus conservés en
biaisant le tirage selon les valeurs de la fonction d’adaptation
Olivier Spanjaard – RHAD
17
Métaheuristiques pour l’optimisation combinatoire multicritère
Résultats numérique et limites
•
•
L’algorithme renvoie une approximation de la frontière efficace en 35s
environ sur des instances à 50 sommets
L’encodage de Prüfer ne garantit pas que des codes voisins
correspondent bien à des arbres voisins
Exemple: Les nombres 3241 et 3242 conduisent à deux arbres qui ont
seulement deux arêtes sur cinq en commun
5
1
3
6
•
5
Théoriquement (par analyse):
– Comportement asymptotique:
1
3
« Est-ce qu’on converge bien vers l’ensemble de Pareto si on
s’autorise un temps infini ? »
2
6
– Analyse du temps d’exécution:
D’autres codages ont été proposés, qui semblent conduire à une
meilleure approximation de la frontière efficace
On dispose aujourd’hui d’algorithmes exacts qui résolvent plus
rapidement des instances de cette taille. Par contre, sur des instances de
grande taille, peu d’autres approches sont envisageables
19
Olivier Spanjaard – RHAD
Métaheuristiques pour l’optimisation combinatoire multicritère
Empiriquement (par expérimentations numériques)
4
2
Olivier Spanjaard – RHAD
Evaluer les performances des
algorithmes
4
•
18
Métaheuristiques pour l’optimisation combinatoire multicritère
« Quel est le temps moyen pour engendrer l’ensemble de Pareto ? »
20
Olivier Spanjaard – RHAD
Métaheuristiques pour l’optimisation combinatoire multicritère
Problème: Détérioration
f2
t
f2
Epsilon-Dominance
t+1
population
de taille 3
éliminée
H-dominée
dominée
Définition 1: H-Dominance
A H-domine B ssi
(1+H)·f(A) t f(B)
(Warburton, 1987)
nouvelle
solution
nouvelle
solution
f1
f1
La nouvelle solution acceptée en t+1 est dominée par une solution
trouvée précédemment (et « perdue » durant la procédure de sélection)
Objectif: maintenir une « bonne » frontière de Pareto (distance +
diversité)
21
Olivier Spanjaard – RHAD
Pareto
H-Pareto
Métaheuristiques pour l’optimisation combinatoire multicritère
Algorithme générique
Définition 2: ensemble H-Pareto
Un sous-ens de l’ens Pareto-optimal
qui H-domine toutes les solutions
Pareto-optimales
Olivier Spanjaard – RHAD
22
Assurer Convergence et Diversité
Procédure de recherche itérative
t:=0
A(0):=Ø
tant que terminer(A(t),t) = faux faire
t:=t+1
f(t):=générer()
A(t):=sélectionner(A(t-1),f(t))
fin tant que
Retourner A(t)
Objectif: Maintenir un ensemble H-Pareto
Idée: H-grille, i.e. maintenir un
ens boîtes non-dom (une solution par boîte)
3
y2
(1+H)
2
(1+H)
(1+H)
1
1
23
Olivier Spanjaard – RHAD
Métaheuristiques pour l’optimisation combinatoire multicritère
Métaheuristiques pour l’optimisation combinatoire multicritère
24
(1+H)
2
(1+H)
y1
3
(1+H)
Olivier Spanjaard – RHAD
Algorithme: (H-sélectionner)
Accepter une nouvelle
solution f si
n la boîte correspondante
n’est pas dominée par une
boîte représentée dans la
population
ET
o tout autre solution dans la
même boîte est dominée
par la nouvelle solution
Métaheuristiques pour l’optimisation combinatoire multicritère
Validité de l’algorithme
Validité de l’algorithme
Théorème (Laumanns et al.):
Soit F = (f1, f2, f3, …) une séquence infinie de vecteurs
passés un par un à l’algorithme H-sélectionner, et Ft l’union
des premiers t vecteurs de F.
Alors pour tout t > 0, on vérifie:
n la population A à l’instant t est un ens H-Pareto de Ft
o la taille de la population A à l’instant t est bornée par le
terme (K = “max sur un critère”, m = “nombre de critères”):
§ log K ·
¨¨
¸¸
log(
1
H
)
©
¹
Idée de la preuve:
n 3 causes pour que At ne soit pas dans l’ensemble H-Pareto
de Ft :
À l’instant k d t une solution nécessaire a été manquée
À l’instant k d t une solution nécessaire a été exclue
At contient un f  ensemble de Pareto de Ft
o
Nb de boîtes dans l’espace des critères:
Au plus une solution par boîte
m 1
Partition en §¨ log K ·¸ chaînes de boîtes
m 1
§ log K ·
¨¨
¸¸
© log(1 H ) ¹
¨ log(1 H ) ¸
©
¹
25
Olivier Spanjaard – RHAD
Métaheuristiques pour l’optimisation combinatoire multicritère
Indicateurs pour comparer les frontières
Olivier Spanjaard – RHAD
26
m
§ log K ·
¨¨
¸¸
© log(1 H ) ¹
Métaheuristiques pour l’optimisation combinatoire multicritère
Indépendamment des préférences
(Hansen et Jaskiewicz, 1998)
Approximation de l’ens de Pareto (sortie de l’algorithme) =
ens de solutions incomparables
ND(X) = ensemble des éléments efficaces de X
(1)
A domine faiblement B
A
A
B
ND(AUB) = A
B
(2)
C domine D
ND(CUD) = C et D - ND(CUD)  Ø
B
Est-ce que A est meilleure que B?
Indépendamment
Oui (strict.)
Non
des préférences
En fonction des
De combien?
Sur quels aspects?
préférences
D
Olivier Spanjaard – RHAD
Métaheuristiques pour l’optimisation combinatoire multicritère
A domine strictement C
ND(AUC) = A et CŀND(AUC) = Ø
A
B est incomparable avec C
C
Remarque: (3) Ÿ (2) Ÿ (1) pour A,B,C  Ø
!
27
(3)
28
Dominance, dominance stricte  partie asymétrique de dominance faible
Exemple: A domine faiblement B et B ne domine pas faiblement A, et
pourtant A ne domine pas B, et A ne domine pas strictement B
Olivier Spanjaard – RHAD
Métaheuristiques pour l’optimisation combinatoire multicritère
Indicateurs: exemples quand la frontière
efficace est connue
En fonction des préférences
Objectif: Obtenir des indicateurs permettant de
comparer deux approximations A et B.
application d’un
indicateur
A
B
A
432.34
0.3308
0.3637
0.3622
6
hypervolume
distance
diversité
étalement
cardinalité
B
420.13
0.4532
0.3463
0.3601
5
comparaison et
interprétation des
indicateurs
“A est meilleure”
Olivier Spanjaard – RHAD
29
Métaheuristiques pour l’optimisation combinatoire multicritère
Indicateurs: exemples quand la frontière
efficace est inconnue
Unaire
Hypervolume
Binaire
Couverture
B
C(A,B) = 25%
C(B,A) = 75%
A
S(A)
A
30
Olivier Spanjaard – RHAD
Métaheuristiques pour l’optimisation combinatoire multicritère
Propriétés des indicateurs unaires
Il semble désirable pour un indicateur d’être compatible avec les
différentes formes de dominance
Hypervolume
Avantage : Compatible avec la dominance faible dès lors que le point de
référence garantit que toute approximation réalisable est évaluée
positivement
Inconvénient : Dépend du choix d’un point de référence (le choix d’un
point de référence ou d’un autre peut conduire à une inversion du sens
de la préférence)
Distance moyenne
Avantage : Compatible avec la dominance stricte pour des approximations
de même cardinal
Inconvénient : Des incompatibilités pour des approximations de
cardinaux distincts
(Zitzler et Thiele, 1999)
31
Olivier Spanjaard – RHAD
Métaheuristiques pour l’optimisation combinatoire multicritère
32
Olivier Spanjaard – RHAD
Métaheuristiques pour l’optimisation combinatoire multicritère
Limites des indicateurs unaires (pratiques)
Limites des indicateurs unaires (théoriques)
Indicateurs unaires: distance moyenne, nombre de solutions
Théorème (Zitzler et al.):
Soient A et B deux approximations de la frontière efficace.
Il n’existe pas d’indicateur unaire qui soit capable de
détecter est-ce que A domine faiblement B.
Ce constat tient toujours si on considère une combinaison
finie d’indicateurs unaires.
Les indicateurs unaires ne permettent pas de détecter estce que A domine faiblement B; au maximum ils permettent
de détecter que B ne domine pas faiblement A.
S est meilleure que T pour les
deux indicateurs
33
Olivier Spanjaard – RHAD
T est meilleure que S pour les
deux indicateurs
Métaheuristiques pour l’optimisation combinatoire multicritère
Couverture
C(A,B)=1 signifie que tous les vecteurs dans B sont dominés au sens large
par un vecteur A
C(A,B)=0 représente la situation où aucun point de B n’est dominé au sens
large par un vecteur de A
C(A,B) pas nécessairement égal à 1-C(B,A)
Compatible avec la dominance faible si on considère A comme meilleure
que B dès lors que C(A,B)=1 (tautologique!), sinon des cycles:
Exemple: C(A,B)>C(B,A)
pt ds A
pt ds B
pt ds C
min
C(A,B)=0 et C(B,A)=3/4
C(B,C)=0 et C(C,B)=1/2
C(A,C)=1/2 et C(C,A)=0
Inconvénient: relation pauvre
35
Olivier Spanjaard – RHAD
Métaheuristiques pour l’optimisation combinatoire multicritère
34
Olivier Spanjaard – RHAD
Métaheuristiques pour l’optimisation combinatoire multicritère

Documents pareils