1 / 25

Optimisation non linéaire sans contraintes

Optimisation non linéaire sans contraintes. Recherche opérationnelle GC-SIE. Méthodes de descente. Directions de descente. Problème : min f : IR n  IR f continûment différentiable Idée : On démarre d’un point x 0

yoshino-gen
Download Presentation

Optimisation non linéaire sans contraintes

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Optimisation non linéairesans contraintes Recherche opérationnelle GC-SIE

  2. Méthodes de descente

  3. Directions de descente • Problème : min f : IRn IR f continûment différentiable • Idée : • On démarre d’un point x0 • On génére des vecteurs x1, x2,… tels que la valeur de f décroit à chaque itération : f(xk+1) < f(xk) k=1,2,… Michel Bierlaire

  4. x3 x1 x4 x2 x0 Directions de descente f(x)=c1 f(x)=c2 < c1 f(x)=c3 < c2 Michel Bierlaire

  5. Directions de descente • Soit x  IRn tel que f(x)  0. • Condidérons la demi-droite xa = x – af(x) • Théorème de Taylor (1er ordre) f(x+s) = f(x) + f(x)Ts + o(¦¦s¦¦) avec s = xa-x f(xa) = f(x) + f(x)T(xa-x) + o(¦¦xa-x¦¦) = f(x) – a ¦¦f(x)¦¦2 + o(a¦¦f(x)¦¦) = f(x) – a ¦¦f(x)¦¦2 + o(a) Michel Bierlaire

  6. Directions de descente f(xa) = f(x) – a ¦¦f(x)¦¦2 + o(a) • Si a est petit, on peut négliger o(a) • Donc, pour a positif mais petit, f(xa) < f(x) Théorème : • Il existe d tel que, pour tout a ]0,d[ f(x- af(x)) < f(x) Michel Bierlaire

  7. Directions de descente • Gradient = plus forte pente • Question : y a-t-il d’autres directions de descente que -f(x) ? • Appliquons le même raisonnement avec d  0. Michel Bierlaire

  8. Directions de descente • Condidérons la demi-droite xa = x + ad • Théorème de Taylor (1er ordre) f(x+s) = f(x) + f(x)Ts + o(¦¦s¦¦) avec s = xa-x f(xa) = f(x) + f(x)T(xa-x) + o(¦¦xa-x¦¦) = f(x) + a f(x)Td+ o(a ¦¦d¦¦) = f(x) + a f(x)Td+ o(a) Michel Bierlaire

  9. Directions de descente f(xa) = f(x) + a f(x)Td+ o(a) • Si a est petit, on peut négliger o(a) • Pour avoir f(xa) < f(x), il faut f(x)Td < 0 Théorème : • Soit d tel que f(x)Td < 0. Il existe d tel que, pour tout a ]0,d[ f(x+ad) < f(x) Michel Bierlaire

  10. Directions de descente Définition : • Soit f:IRnIR, une fonction continûment différentiable, et x un vecteur de IRn. Le vecteur d  IRn est appelé direction de descente de f en x ssi f(x)Td < 0 Michel Bierlaire

  11. Méthodes de descente Algorithme de base : • Soit x0 IRn.Poser k=0. • Tant que f(xk)  0 • Choisir dk tel que f(xk)Tdk < 0 • Choisirak > 0 • Poser xk+1 = xk + ak dk Michel Bierlaire

  12. Méthodes de descente Notes : • Il y a beaucoup de choix possibles • En général, on choisit ak tel que f(xk+akdk) < f(xk) mais il y a des exceptions • Il n’y a aucune garantie de convergence pour l’algorithme de base Michel Bierlaire

  13. Choix de la direction • Ecrivons dk = -Dkf(xk) où Dk est une matrice n x n • La condition f(xk)Tdk < 0 s’écrit f(xk)T Dkf(xk) > 0 • Si Dk est définie positive, cette condition est toujours vérifiée. • Le choix de la direction revient donc au choix d’une matrice définie positive. Michel Bierlaire

  14. Choix de la direction Quelques exemples souvent utilisés • Méthode de la plus forte pente • Dk = I • xk+1 = xk – akf(xk) • Méthode de Newton • Dk = (2f(xk))-1 • xk+1 = xk – ak(2f(xk))-1 f(xk) Attention: il faut que 2f(xk) soit inversible et déf. pos. Michel Bierlaire

  15. - Dk = - Exemple : dki = Choix de la direction • Mise à l’échelle diagonale - dki > 0 pour tout i Michel Bierlaire

  16. Choix de la direction • Méthode de Newton modifiée • Dk = (2f(x0))-1 • xk+1 = xk – ak(2f(x0))-1 f(xk) • etc… Michel Bierlaire

  17. Choix du pas • Règle de minimisation • Problème à une seule variable • Règle d’approximation • Minimisation prend du temps • Section d’or nécessite l’unimodalité • A-t-on besoin du minimum exact ? • Idée : • Choisir un pas qui diminue suffisamment la valeur de la fonction. Michel Bierlaire

  18. Choix du pas : approximation • Démarche: • Voyons d’abord ce que sont de « mauvais » pas. • Déterminons des règles empêchant les « mauvais » pas. • Prenons • f(x) = x2 • x*= 0 Michel Bierlaire

  19. Choix du pas : approximation • Algorithme • dk = (-1)k+1 • ak = 2+3(2-(k+1)) • xk=(-1)k(1+2-k) • Lorsque k est grand • dk = (-1)k+1 • ak 2 • xk (-1)k Michel Bierlaire

  20. Choix du pas : approximation • Algorithme • dk = (-1)k+1 • ak = 2+3(2-(k+1)) • xk=(-1)k(1+2-k) • Lorsque k est grand • dk = (-1)k+1 • ak 2 • xk (-1)k Michel Bierlaire

  21. Choix du pas : approximation • Problème : • très petites diminutions de f relativement à la longueur des pas • Solution : • exiger une diminution suffisante de f Michel Bierlaire

  22. a Choix du pas : approximation f(xk)+af(xk)Tdk f(xk)+ab1f(xk)Tdk b1  ]0,1[ Michel Bierlaire

  23. Choix du pas : approximation • On choisit ak tel que f(xk+akdk) £ f(xk)+akb1f(xk)Tdk b1  ]0,1[ • Reprenons l’exemple (k grand et impair) • f(x)=x2, xk = -1, dk=1, ak=2, f’(x)=2x f(-1+21) £ 1+2b1(-2 1) 1 £ 1 – 4 b1 4 b1 £ 0 Impossible L’algorithme sera rejeté par cette règle Michel Bierlaire

  24. Choix du pas : approximation • Conditions d’Armijo-Goldstein f(xk+akdk) £ f(xk)+akb1f(xk)Tdk b1  ]0,1[ Michel Bierlaire

  25. Choix du pas : approximation Algorithme de recherche linéaire • Soient g(a), b1,l  ]0,1[, a0 > 0 • Pour k=1,2,… • Si f(xk+akdk) £ f(xk)+akb1f(xk)Tdkalors a*=ak STOP • ak+1 = lak Michel Bierlaire

More Related