UC IA_Solve : Résolution de problèmes et décision Introduction à l'optimisation - DA IODAA AgroParisTech
←
→
Transcription du contenu de la page
Si votre navigateur ne rend pas la page correctement, lisez s'il vous plaît le contenu de la page ci-dessous
UC IA_Solve : Résolution de problèmes et décision Introduction à l’optimisation DA IODAA AgroParisTech Christine MARTIN 2016-2017
Le problème général • On a toujours 3 éléments – Une espace d’état E • Connexe ?, Convexe?, Borné ?, Discret ?, … – Une fonction objectif : f : E → G • Dérivable ?, Convexe ?, Multi-modes ?, Multi-objectif ? – Des contraintes • Dynamiques ? , Implicites?, … – Le problèmes est : Min x E f(x) IODAA 2016-2017 2
Le problème général • Exemple d’une fonction de R² dans R IODAA 2016-2017 3
Méthodes itératives
Algorithmes numériques itératifs • On part d’un point x0 • On itère : xk → xk+1 • On calcule f(xk+1) et on compare avec f(xk) • On mesure ainsi « l’adaptation » du nouveau point au critère f – Meilleurs, moins bon • On continue jusqu’à … l’arrêt ! IODAA 2016-2017 5
Algorithmes numériques itératifs • Critères de qualité d’un algorithme : – Domaine dans lequel la convergence est assurée – Vitesse de convergence – Coût de chaque itération • complexité x cout unitaire • Les paramètres « principaux » des algorithmes – Initialisation ? – Comment définir le passage d’une itération à la suivante ? – Quand s’arrêter ? IODAA 2016-2017 6
Algorithmes numériques itératifs • On dit qu’une méthode est « localement convergente » si sa convergence dépend « fortement » du choix du point initial • On dit qu’une méthode est « globalement convergente » si sa convergence dépend « faiblement » du choix du point initial IODAA 2016-2017 7
Méthode aveugle / naïve • Recherche aléatoire pure : – L'aveugle se déplace au hasard et se rappelle de la position du plus bas point rencontré. • L’optimum peut être détecté, mais ça peut être très long ! IODAA 2016-2017 8
Méthode aveugle / naïve • Méthode « basique » d’exploration aléatoire de l’espace d’état. On cherche Min x E f(x) – On tire un point xk dans l’espace E – On calcule f(xk) – On tire un nouveau point xk+1 ; f(xk+1) – Si f(xk+1) ≤ f(xk) alors xk+1 remplace xk – Sinon on recommence ! • De génération en génération, les points deviennent meilleurs • Algorithme « glouton » • Convergence lente et non assurée • Méthode simple ! IODAA 2016-2017 9
Méthode des coordonnées • On suppose f de classe C1 • A chaque itération, on minimise f selon une variable; les autres étant maintenues fixées • On itère classiquement de manière circulaire ou par aller-retour Converge sous certaines hypothèses Trouver une meilleure stratégie de recherche IODAA 2016-2017 10
Méthodes de descente • On considère une fonction numérique f : Rn → R différentiable. • Le principe général des méthodes de descente est de construire une séquence (xk)k≥0 de points de Rn qui va converger vers un minimum local x. Cette séquence sera construite en choisissant un point initial x0 Rn puis, pour k≥0, à répéter tant que nécessaire les étapes suivantes : – 1. choisir une direction de descente dk Rn –{0} ; – 2. choisir une taille de pas k > 0 ; – 3. poser xk+1 = xk + k dk et continuer avec k = k + 1. • Le problème est de bien choisir x0, les directions dk et les tailles de pas k. • À chaque étape, dk et k sont choisis tels que f(xk+1) < f(xk) (sauf si on a atteint le minimum, c’est-à-dire xk = x*). IODAA 2016-2017 11
Dérivée directionnelle • La dérivée directionnelle de f dans la direction d au point x : f : Rn R f f ( x hd ) f ( x) ( x) lim d h 0 h f ( x) T f ( x)d d IODAA 2016-2017 12
Dérivée directionnelle / pente • Si ||d|| = 1 la dérivée directionnelle est le taux d’accroissement de f dans la direction d au point x • Le taux d’accroissement est maximal dans la direction du gradient • Le gradient indique la direction de plus grande pente IODAA 2016-2017 13
Descente de gradient • Minimum – dk = -f(xk) – xk+1 = xk - k f(xk) si pas trop coûteux – k minimise f(xk - k f(xk)) à déterminer – On s’arrête lorsque f(xk) = 0 ou ||f(xk)|| < ε IODAA 2016-2017 14
Descente de gradient IODAA 2016-2017 15
Avantages /critiques • Principe simple • Basée sur une approximation linéaire • Peut converger rapidement • Minimum local – Plusieurs initialisations différentes – Attention de ne pas retomber dans le piège d’une méthode aveugle • Nécessite de pouvoir calculer le gradient IODAA 2016-2017 16
Exercice • On considère la fonction : – F(x1,x2) = 2x1²+x2²-x1x2 et x(0) = (1,4) • Calculer x(1) et x(2) suivant la méthode du gradient à pas optimal • Montrer que les directions successives sont orthogonales IODAA 2016-2017 17
Variantes • Méthode des directions conjuguées • Méthode du gradient conjugué • Méthode de Newton – Approximation quadratique • Méthode du gradient projeté • Méthode du gradient réduit • Méthode du gradient stochastique • … • IODAA 2016-2017 18
Taxonomie • la descente déterministe, • la descente stochastique et • la descente vers le premier meilleur. • Méthodes génériques vs méthodes spécifiques IODAA 2016-2017 19
Le recuit simulé • Méthode inspirée de la métallurgie • Méthode locale • Méthode d’exploration stochastique – Tirer un point xk dans l’espace E, calculer f(xk) – Tirer un nouveau point xk+1 dans un « voisinage » de xk – Si f(xk+1) ≤ f(xk) alors xk+1 remplace xk – Sinon xk+1 remplace quand même xk suivant une certaine probabilité qui décroît au fur et à mesure des itérations IODAA 2016-2017 20
Le recuit simulé IODAA 2016-2017 21
Le recuit simulé • Classiquement on considère un paramètre dit de température noté T (T0 à l’état initial) – qui va décroître au cours du temps – qui est lié à la capacité de remise en cause du meilleur candidat • à l’image de l’effet de la température sur le mouvement des particules • Si on note ΔE la variation d’énergie entre deux positions xk+1 et xk – La probabilité d’accepter xk+1 est souvent fournit par e-(ΔE/T) (règle de Métropolis) IODAA 2016-2017 22
Le recuit simulé • Variation de la température : – Par paliers • On garde une température fixe pendant n itérations puis on diminue la température et on itère – Continue • Ti+1 = λTi avec λ < 1 – 0,9 ≤ λ ≤ 0,99 est en général satisfaisant IODAA 2016-2017 23
Le recuit simulé • La température ainsi que sa règle de variation permettent de gérer le compromis exploitation, exploration – Lorsque la température est grande, l’exploration est forte • La probabilité de conserver une position moins satisfaisante que la précédente est forte – Lorsque la température devient plus faible on est plus intransigeant IODAA 2016-2017 24
Le recuit simulé • Moins de blocage sur les minima locaux • Peu s’appliquer à – des cas discrets – Des cas non dérivables • Notion de voisinage • Paramétrage non trivial et empirique – Forte influence du choix de T et de sa variation • Solution trouvée • Temps de calcul • Amélioration : retenir la meilleur position abordée IODAA 2016-2017 25
Le recuit simulé • Application au problème du voyageur de commerce ? Comment représenter les états ? Notion de voisinage ? Implémentation de la méthode IODAA 2016-2017 26
Vous pouvez aussi lire