Optimisation Stochastique

Transcription

Optimisation Stochastique
Optimisation Stochastique
Pr Pierre Collet
Laboratoire ICUBE
Campus Numérique des Systèmes Complexes
[email protected]
1
Problématique
◆  Problèmes inverses
Ø 
Profil d’aile
Ø 
Évaluation de la
qualité par
équations de
Navier-Stokes
Problèmes difficiles
◆  Problèmes NP-complets très difficiles à résoudre
◆  Voyageur de commerce : (n-1)!/2 chemins possibles !
◆  Si un ordinateur est capable d'évaluer 1 milliard de chemins / s.
Ø  16 villes : 653.109 chemins = 653s = 0,18h.
Ø  17 villes : 10461.109 chemins = 10461s = 2,9h.
Ø  18 villes : 177843.109 chemins = 177843s = 49h = 2,05j
Ø  25 villes : 3,10.1023 chemins = 3,10.1014s
= 86 milliards d'heures = 9,8 millions d'années !!!
3
Pierre Collet : Optimisation Stochastique
Types de problèmes (fonctions) à optimiser
q  Unimodal
Un optimum
Plusieurs
optima
global
locaux
q  Multimodal
(Dans ce cours, on cherchera à minimiser les valeurs)
Notion d'optimisation
q  Trouver x* tq F(x*) = Inf { F(y) pour y ∈ Ω }
E, espace mesuré, Ω ⊂ E, F: Ω’R
F est la fonction objectif à minimiser
Minimum global : x* tq ∀ x ∈ Ω, F(x*) ≤ F(x)
Minima locaux :
x* tq ∃ ε > 0, ∀ x ∈ B (x*, ε) ∩ Ω, F(x*) ≤ F(x)
(Minima stricts si inégalités strictes pour x≠x*)
Espaces de recherche en optimisation
q  Continus
Ø  Dérivables
Ø  Non dérivables
q  Discontinus
q  Discrets
q  Combinatoires
q  Mixtes
Méthode locale pour problème discret
q  Algorithme « Glouton »
Ø  xi+1= « Meilleur voisin » de xi
Ø  Contexte:
–  Tout espace (possiblement discrétisé)
–  Fonctionne avec toute fonction
Ø 
Optimum global ici !
Ou plutôt là ?
Condition nécessaire:
–  x0 bien choisi.
x0
Méthode locale, coûteuse (surtout si plusieurs dimensions), qui détermine
le plus proche optimum local (attention à la discrétisation !)
Fonction continue et dérivable
q  Descente de gradient (gradient search)
Dérivée nulle
= optimum local !
x1 x2 x0
q 
q 
q 
q 
La fonction doit être gentille (continue et dérivable)
xi+1 = xi – α f’(xi)
Efficace, mais c’est une recherche locale (et il faut avoir le bon α !)
On ne trouve l’optimum global que si x0 est bien choisi L
Méthodes énumératives
◆  Contexte:
Ø  Espace fini
Ø  Toute fonction F
Ø  Ordre de parcours
Optimum global apparemment ici !
Mais en fait là !
–  Fixé
–  Dépend du problème
◆  Conditions nécessaires
Ø  Taille de l’espace limitée
Ø  Discrétisation bien choisie
Méthodes globales, mais coûteuses et non fiables pour des problèmes continus
9
Méthodes stochastiques
◆  Utilisent des variables aléatoires permettant de ne pas tout
explorer de manière exhaustive (problèmes difficiles)
◆  Sélectionner xi dans Ω d’après une distribution de
probabilités
◆  Monte-Carlo (Metropolis, Ulam 1949)
◆  Évolution Artificielle (1953, renaissance en 1990)
◆  Recuit simulé (Kirkpatrick, Gelatt et Vecchi, 1983)
Méthode de Monte-Carlo
◆  Méthode née avec les ordinateurs, inventée par Fermi,
Ulam, von Neumann, … Metropolis et utilisée sur
ENIAC, MANIAC à partir de 1947 pour prédire (sans les
résoudre) le résultat d’équations différentielles.
◆  Naissance des mathématiques expérimentales grâce aux
ordinateurs.
◆  L’idée est d’utiliser un grand nombre d’essais aléatoires
pour trouver une solution approchée à un problème donné.
◆  Le degré zéro d’une approche Monte-Carlo est la
recherche aléatoire (on essaie des millions de solutions au
hasard et on garde la meilleure).
N. Metropolis and S. Ulam, « The Monte Carlo method », Journal of the American Statistical Association 44:335-341, 1949.
Surface d’un étang par Monte-Carlo
◆  Utilisation plus subtile :
Sur 100 cailloux envoyés,
34 « ploufs » !
q  Pour augmenter la précision : envoyer plus de cailloux !
q  Qualité du résultat dépendant de la qualité du générateur
de nombres pseudo-aléatoires !
Ø  Mersenne twister (2è version)
Recuit simulé (simulated annealing)
◆  Kirkpatrick, Gelatt, Vecchi, 1983.
◆  Analogie avec procédés métallurgiques pour un « Hill-Climbing
avancé »
◆  Au début, x0 pour lequel on calcul l’ « énergie » E0 (fonction
d’évaluation qu’on cherche à minimiser) et on choisit arbitrairement
une « température » de départ élevée T0.
◆  On se déplace la solution dans Ω dépendant de T.
◆  Si la solution est meilleure, on la garde. Sinon, on prend la nouvelle
solution avec la probabilité e–(ΔE)/T (algo de Metropolis/Hastings).
◆  On fait baisser la température, (linéairement ou par paliers).
Ø  Variation linéaire : Ti+1=0,99 Ti
◆  Sous certaines conditions, on finit par trouver l’optimum global
après une série de mutations de plus en plus faibles (température qui
diminue) en un temps infini.
Pierre Collet : Intelligence
Artificielle
13
Fonctionnement visuel
On commence par secouer fort
Fonctionnement visuel
Puis on secoue moins fort
Garantie de trouver l’optimum global
◆  Recuit simulé : sous certaines conditions, on peut garantir
qu’on trouvera avec certitude l’optimum global dans un temps infini.
◆  Dans la pratique, la convergence requise est si lente que
les utilisateurs du recuit simulé font converger l’algo trop
vite pour conserver cette garantie è Possibilité de
convergence prématurée vers un optimum local, même
avec un recuit simulé !!!
◆  Les algorithmes évolutionnaires ne garantissent pas
l’obtention de l’optimum global, sauf à paramétrer pou
Comment choisir quel algorithme ?
◆  Critère de choix des méthodes de recherche :
Ø 
Ø 
Ø 
Complexité du problème (unimodal, multimodal)
Type d’espace de recherche (continu, discontinu,
discret, mixte)
Régularité de la fonction objectif (forme de l’espace de
recherche)
◆  Algorithme stochastique : la qualité des résultats
dépend de la qualité du générateur de nombres
pseudo-aléatoires
No free lunch theorem
◆  En 1997, démonstration mathématique par McCready et
Wolpert qu’on ne peut pas espérer qu’il existe un
algorithme d’optimisation meilleur que les autres sur
l’ensemble des problèmes existants :
Il n’y a pas de miracle à attendre : pas de « repas gratuit »
◆  Grandes implications !
◆  Les algorithmes miraculeux « boîte noire » n’existent pas,
ou plutôt : si tous les algorithmes sont au mieux
équivalents, il est impossible de faire mieux qu’une
recherche aléatoire !!!
Retour de la recherche aléatoire !
◆  Si (sur tous les problèmes existants) tous les algorithmes
d’optimisation sont équivalents, alors aucun ne peut faire
mieux (sur tous les problèmes existants) qu’une recherche
aléatoire !
◆  Surtout : on peut faire pire !!!
◆  Pourquoi essayer de faire mieux ?
Problèmes combinatoires de type « voyageur de commerce »
Performance recherche aléatoire
Ensemble des problèmes existants
Algorithmes d’optimisation
◆  Objectif : faire mieux que la recherche aléatoire sur un
domaine particulier (car, par le NFL, …)
◆  Il faut s’écarter de la Recherche Aléatoire pour faire mieux
sur le domaine à résoudre (quitte à faire moins bien
ailleurs)
◆  Il faut un algorithme avec tout plein de paramètres pour le
faire « coller au problème »
Paramétrage d’algorithme d’optimisation
◆  Beaucoup d’algorithmes avec « deux boutons » pour régler
EvE (Exploitation vs Exploration) :
Ø  Optimisation par colonie de fourmis (pondération objectif vs
comportement collectif)
Ø 
Optimisation par essaim particulaire (pondération meilleure
position globale / meilleur position personnelle connue)
◆  Mais comment coller à un problème précis avec 2 boutons ?
◆  Algorithmes génétiques : très grand nombre de paramètres
(taille de la population, opérateurs génétiques (croisement,
mutation), opérateurs de sélection, de remplacement, …
◆  Garantie qu’on peut coller au problème à résoudre mais…
paramétrage très difficile !
Conclusion NFL
◆  NFL => Impossible de faire mieux que Recherche Aléatoire sur
l’ensemble des problèmes
◆  Pour faire mieux, il faut accepter de faire pire (danger)
◆  Nécessiter d’adapter l’algorithme au problème à résoudre
◆  Nécessité de pouvoir jouer sur un grand nombre de paramètres :
Ø 
Ø 
Ø 
Ø 
Peu de paramètres : facile à paramétrer mais difficile de coller au problème
Nombreux paramètres…
Tentation : paramétrage automatique mais… si objectif « boîte noire » cf.
NFL !!!
Possible pour une catégorie de problèmes
Intérêt des algorithmes évolutionnaires : tout plein de paramètres ! Ils
peuvent ainsi être très performants !