UC IA_Solve : Résolution de problèmes et décision Introduction à l'optimisation - DA IODAA AgroParisTech

La page est créée Philippe Gregoire
 
CONTINUER À LIRE
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