La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Optimisation Optimisation sans dérivées: De Nelder-Mead aux méthodess globales.

Présentations similaires


Présentation au sujet: "Optimisation Optimisation sans dérivées: De Nelder-Mead aux méthodess globales."— Transcription de la présentation:

1 Optimisation Optimisation sans dérivées: De Nelder-Mead aux méthodess globales

2 Définition zLoptimisation dun problème ou dune fonction consiste à chercher la valeur des variables de la fonction qui minimise (ou qui maximise) sa valeur. zLoptimisation est généralement un problème compliqué, et il existe de multiples techniques, dont lutilisation doit être adaptée au type du problème.

3 Caractérisation des techniques doptimisation zOptimisation globale/locale yLoptimisation globale consiste à chercher le maximum de la fonction sur lensemble de définition yLoptimisation locale consiste à chercher le maximum de la fonction au voisinage dun point. zMéthode déterministe/stochastique yUne méthode stochastique parcourt lespace de recherche de façon « aléatoire ». Deux exécutions successives peuvent donner deux résultats différents. yUne méthode déterministe parcourt toujours lespace de recherche de la même façon.

4 x 2 +y 2

5

6

7

8

9

10

11

12

13

14 Méthode de la dérivée zLorsque lon sait calculer explicitement les zéros de la dérivée (ou du gradient), on sait que f(X)=0 est une condition nécessaire pour que X soit un point extrémal hors des frontières de lespace de définition. zCette méthode ne fonctionne que pour des fonctions analytiques simples.

15 Méthodes déterministes locales: le gradient Soit f(X) fonction dun vecteur X, à valeurs réelles, et son gradient f(X). On calcule la suite: X n+1 = X n - a f(X n ), a>0 Le choix de a est idéalement fait en minimisant pour a>0: G(a)=f(X n – a f(X n )) Ceci nest généralement pas possible, et on utilise pour trouver a des méthodes approchées.

16 Méthodes déterministes locales dordre 2 zPour accélérer la descente, on utilise les informations apportées par la dérivée seconde de la fonction (le Hessien pour les fonctions à plusieurs variables) zCes méthodes nécessitent de calculer la dérivée et le Hessien simultanément.

17 Méthodes déterministes locales dordre 2 zf(y) = f(x) + f(x) (y-x) + ½ f(x) (y-x) 2 + d zEn minimisant la forme quadratique en y: yf(x)+f(x)(y-x)=0 soit y = x – f(x)/f(x) zAlgorithme: yx n+1 = x n – f(x n ) / f(x n ) zMéthode connue en général sous le nom de méthode de Newton. zSa convergence est plus rapide que la méthode de gradient.

18 Méthodes déterministes locales dordre 2 (Newton)

19 Méthodes déterministes locales: BFGS zBFGS est une méthode qui approxime la matrice du hessien par analyse des gradients successifs zElle ne nécessite que la connaissance du gradient. zElle est plus rapide que le gradient, et moins rapide que la méthode de Newton zCest une méthode très utilisée en pratique.

20 BFGS

21 Méthodes locales: le simplexe de Nelder-Mead zMéthode travaillant sur un polytope: pour une fonction de n variables, on choisit n+1 points et on les fait évoluer par extension et contraction. zMéthode qui ne nécessite pas le calcul du gradient ou du hessien, et donc très pratique sur les fonctions complexes. zLes preuves de convergence sont peu claires zLalgorithme est simple et pratique.

22 Le simplexe de Nelder- Mead zChoix de n+1 points (x 1,..x n+1 ) zTri du simplexe: f(x 1 )

23 Nelder Mead

24 Optimisation stochastique zMéthodes doptimisation qui ne requièrent pas de régularité sur les fonctions à optimiser zMéthodes couteuses en temps de calcul qui ne garantissent pas de trouver loptimum. zLes résultats de convergence ne sappliquent pas en pratique.

25 Le recuit simulé zInitialisation: on part dun point x 0 choisi au hasard dans lespace de recherche. yOn construit x n+1 =x n +B(0,s) yOn fait évoluer la température de recuit: t n+1 =H(t n ) ySi f(x n+1 )f(x n ) alors : xSi |f(x n+1 )-f(x n )|e - k t alors on conserve x n

26 Paramètres importants zLe schéma de recuit H détermine la façon dont lalgorithme converge. yTrop rapide=>Lalgorithme converge vers un minimum local yTrop lent=>Lalgorithme converge trop lentement. zLe déplacement B(0,s) doit balayer suffisamment lespace sans trop déplacer le point.

27 Efficacité zLes algorithmes de recuit sont utiles sur des problèmes trop difficiles pour les techniques déterministes. zOn leur préfèrera des algorithmes de type génétique quand on peut construire des croisements qui ont un « sens ».

28 Algorithmes génétiques zTechniques doptimisation sappuyant sur des techniques dérivées de la génétique et de lévolution naturelle: yReproduction yCroisement yMutation zApparus aux Etats-Unis dans les années 60 à travers les travaux de John Holland zPopularisés par David Goldberg.

29 Codage dun élément et création de population zSoit x, variable de la fonction f(x) à optimiser sur [x min,x max ]. zOn réécrit x :2 n (x-x min )/(x max -x min ) zOn obtient alors un nombre compris dans lintervalle [0,2 n ], soit une chaine de n bits: yPour n=8: yPour n=16: zOn tire n éléments au hasard et les code comme ci-dessus.

30 Croisement zOn choisit deux parents : y y zOn tire au sort un site de croisement (3): y011|00111 y100|10111 zOn récupère les deux enfants: y011|10111 y100|00111

31 Mutation zOn sélectionne un élément: y zOn sélectionne un site de mutation (5): y zOn inverse la valeur du bit: y

32 Reproduction zPour chaque élément x i on calcule f(x i ) et S= (f(x i )) zPour chaque x i on calcule p(x i )=f(x i )/ (f(x i )) zOn retire les n éléments de la population k+1 à partir des n éléments de la population k en prenant comme probabilité de tirage p(x i )

33 Exemple de reproduction zSoit f(x)=4x(1-x) zx prend ses valeurs dans [0,1[

34 Fonctionnement dun AG zEtape 1: reproduction zEtape 2: croisement zEtape 3: mutation zEtape 4: test de fin, et retour à létape 1.

35 Le scaling zLe fonctionnement de lalgorithme dépend fortement de la valeur de ladaptation. zAu lieu dutiliser directement f(x) comme adaptation, on la « met à léchelle » en appliquant une fonction croissante. zExemples: y 5 (f(x)-10)/3: augmente la pression y 0.2 f + 20 : diminue la pression

36 Exemple de scaling

37 Le sharing zLa pression de sélection peut entrainer une convergence locale trop rapide. zLe sharing modifie ladaptation en fonction du nombre déléments voisins de lélément courant: f s (x i )=f(x i )/ j s(d(x i,x j )) ys est une fonction décroissante. yd(x i,x j ) mesure la distance entre i et j

38 Le sharing zLe sharing demande la mise en place dune fonction distance sur lespace des variables. zForme générale de s:

39 Problème du codage en chaine de bit zDeux éléments très différents au niveau du génotype peuvent avoir des phénotypes identiques. ySur un codage simple de [0,1] en 8 bits: y et représentent quasiment la même valeur (1/2) mais leur distance de Hamming est maximale. yOn peut utiliser des codes de Grey, ou employer des représentations adaptées.

40 Représentation adaptée zPour les fonctions à variable réelle, on code directement la variable par sa valeur zCroisement: y 1 = x 1 + (1- ) x 2 y 2 = (1- ) x 1 + x 2 pris dans [0.5,1.5] zMutation: y 1 = x 1 + B(0, )

41

42 Résolution de conflits aériens

43 Modélisation

44

45

46

47 Résultats

48

49

50

51

52

53

54 Le voyageur de commerce

55 Le voyageur de commerce: croisement

56 Nouveau croisement

57 Voyageur de commerce: mutation

58 B&B et intervalles (méthodes globales déterministes) zSoit la fonction: f(x,y) = y 6 + x 2 (11 x 2 y 2 - y y 4 - 2) y 8 + x / (2y) zSi lon calcule f(77617,33096), on obtient environ zLa valeur correcte est zLa programmation par intervalle a été utilisée au départ pour éviter les erreurs darrondi.

59 Opérations élémentaires zSoit deux intervalles X=[a,b] et Y=[c,d] zX+Y=[a+c,b+d] et X-Y=[a-d,b-c] zX*Y= y[ac,bd] si a>0 et c>0 y[bc,bd] si a>0 et c<00 et d<0 y[ad,bc] si a 0 y[bd,ad] si a<0

60 La division Il faut étendre R en lui ajoutant + zX/Y= [b/c,+ ] si b<0 et d=0 [-,b/d] et [b/c,+ ] si b<0 et c<00 et d=0 [-,a/c] et [a/d,+ ] si a>0 et c<00 et c=0

61 Autres opérations zToutes les opérations peuvent être étendues à la programmation par intervalle. zPour les fonctions monotones: yF([a,b])=[f(a),f(b)] si f croissante yF([a,b])=[f(b),f(a)] si f décroissante yExemple: Exp([a,b])=[e a,e b ] zLes compositions de fonction se traitent en composant les fonctions dextension sur les intervalles.

62 Le problème de dépendance zSoit X=[a,b], X-X = [a-b,b-a]<>[0,0]! zDe la même façon (X-1)(X+1) <> X 2 -1 z([0,2]-1)([0,2]+1)=[-1,1]*[1,3]=[-3,3] z[0,2] 2 -1=[0,4]-1=[-1,3] zLassociativité est conservée: yA+(B+C)=(A+B)+C yA(BC)=(AB)C zDistributivité perdue: A(B+C)<>AB+AC

63 Branch and bound zNom générique recouvrant des techniques de recherche divisant lespace de recherche et éliminant des parties de lespace en fonction de bornes. zDans le cas présent, cest la division de lespace en sous intervalle qui crée les branches, et le calcul dun estimateur par intervalle qui crée les bornes.

64 Minimisation zInitialiser: L<-{[a,b]} et e=estimateur de f sur [a,b] yExtraire I=[c,d] de L. Si e

65 Calcul dun estimateur zSoit X=[a,b]. Plusieurs méthodes: yMoyen le plus simple: e=f((a+b)/2) yTechnique de sampling: prendre n points régulièrement répartis dans X yTechnique stochastique: tirer au hasard n points dans X yCalculer f(x) et F(X) et regarder si le signe de la dérivée est constant sur X, auquel cas f est monotone

66 Insertion dun élément zPlusieurs possibilités pour insérer: yFirst In First Out yEn fonction de la taille de lintervalle (le plus grand en tête) yEn fonction de lestimateur (le plus petit en tête) yEn fonction de la borne inférieure (la plus petite en premier) yetc…

67 Test de fin zPlusieurs possibilités: yLa taille de lintervalle est inférieure à une quantité fixée. yLa taille de limage de lintervalle est inférieure à une quantité fixée… yEtc…

68 Extension à plus dune dimension zPour une fonction à plusieurs variables, la dichotomie se fait variable par variable. zOn coupera systématiquement en deux lintervalle le plus grand parmi ceux décrivant toutes les variables. zOn fait évoluer en conséquence le test de fin.

69

70 Quand lutiliser zMéthode extrêmement efficace lorsquil y a peu de variables. zLe temps de calcul croit comme 2 N ou N désigne le nombre de variables.


Télécharger ppt "Optimisation Optimisation sans dérivées: De Nelder-Mead aux méthodess globales."

Présentations similaires


Annonces Google