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

Jean-Louis Coulomb - Laurent Gerbaud

Présentations similaires


Présentation au sujet: "Jean-Louis Coulomb - Laurent Gerbaud"— Transcription de la présentation:

1 Jean-Louis Coulomb - Laurent Gerbaud
Optimisation Année Jean-Louis Coulomb - Laurent Gerbaud ENSE3 – filière SEM2 - filière IEE

2 Objectif du cours Intérêt de l’optimisation Les algorithmes d’optimisation Les plans d’expériences

3 Le processus de conception
Cahier des charges Choix de la structure Dimensionnement Modèles analytiques ou numériques Analyse : calcul numérique (Simulation) Vérification expérimentale

4 Paramètres individuels
Paramètres influençant la conception Paramètres individuels Paramètres externes Connaissances scientifiques Formulation du problème Connaissances opérationnelles Informations disponibles Processus De Conception Environnement de travail Manière personnelle de penser et d’agir Outils disponibles Emotions Temps disponible Organisation de l’entreprise Compétence et motivation Décisions externes Aide à la conception => Optimisation automatique avec simulation du comportement par des méthodes numériques Jean-Louis Coulomb

5 Description du problème direct
Analyse, calcul, simulation Entrée Sorties ? Modèle

6 Modèle de dimensionnement
Numérique mise en œuvre pouvant être très aisée développement souvent facile calcul pouvant être lourds Semi-analytique Analytique construit par analyse connaissance requise pouvant être important mise en œuvre pouvant être longue souvent rapide voir dérivable Alternative : plans d’expériences

7 Exemple du dimensionnement d’une machine à aimants permanents
Gem = pi/(2*lambda)*(1-Kf)*sqrt(kr*beta*Ech*E) *pow(D,2)*(D+E)*Be Ech=A*Jcu A=kr*E*Jcu Kf = 1.5*p*beta*(e+E)/D Be=(2*la*M)/(D*log((D+2*E)/(D-2*(la+e))) C=pi*beta*Be*D/(4*p*Bfer) p=pi*D/deltaP Vu=pi*D/lambda*(D+E-e-la)*(2*C+E+e+la) Va=pi*beta*la*D/lambda*(D-2*e-la) Pj=pi*rhoCu*D/lambda*(D+E)*Ech lambda=D/L Fobj = cva*Va+cvu*Vu+cpj*Pj Stator Entrefer Bobinage Aimant Rotor

8 Description du problème inverse
Entrée ? Sorties Modèle Problème inverse {jeu de valeurs d ’entrée}1 {jeu de valeurs d ’entrée}2 {Critères fixes} {jeu de valeurs d ’entrée}3 …………………………... {jeu de valeurs d ’entrée}n

9 Optimisation sans contraintes
Minimiser f(X) Optimisation avec contraintes Minimiser f(X) sous les contraintes Optimisation à objectifs multiples Minimiser sous les contraintes

10 Normalisation Borne inférieure min Borne supérieure max Valeur réelle
Valeur normalisée - dans l’intervalle [0, +1] - dans l’intervalle [-1, +1] Jean-Louis Coulomb

11 Principe de base de l’optimisation : méthode d’essai et erreur
Choix Paramètres Détermination Performances non Performances Acceptables ? oui Ce qui caractérise une méthode d’optimisation : · Comment choisir les nouvelles valeurs des paramètres ? · Comment arrêter le processus de recherche Jean-Louis Coulomb

12 Analyse de sensibilité
Une session de dimensionnement Contraintes par utilisateur Initialisation après l'analyse (étape 3) Cahier des charges Résultat Optimisation Contraintes fixes Contraintes sur un intervalle Analyse de sensibilité Restrictions et relaxations des contraintes (si algorithme avec gradients) Problème de la prise en compte des aspects discrets

13 Les méthodes d’optimisations
Deux familles de méthodes d’optimisation Les méthodes déterministes · A contexte initial donné conduisent à la même solution finale. · Nécessitent peu d’évaluations de la fonction à optimiser. · Mais peuvent se bloquer sur un optimum local Les méthodes non déterministes (stochastiques) · A contexte initial donné peuvent conduire à des solutions différentes. · Nécessitent beaucoup d’évaluations de la fonction. · Possèdent la capacité de trouver l’optimum global.

14 Les algorithmes déterministes
Les méthodes directes utilisation uniquement de la fonction objectif Branch and bound algorithmes heuristiques ex : Hooke and Jeeves, Rosenbrock algorithmes à bases théoriques ex : Powell Les méthodes indirectes utilisation du calcul du gradient de la fonction ex : méthode de Cauchy ou de la plus grande pente méthode de Newton minimisation séquentielle quadratique méthode du gradient conjugué ou de quasi-Newton

15 Les différentes méthodes d’optimisation
Méthodes primitives algorithmes stochastiques Monté-Carlo recuit-simulé algorithme génétique méthode tabou colonie de fourmis algorithmes d’énumération implicite algorithme de séparation et évaluation (branch and bound) réseaux de neurones Méthodes convergentes

16 Quelques méthodes en bref
· La méthode des gradients : Minimum recherché dans la direction de la plus grande pente. · La méthode Monte Carlo : Évaluation en un grand nombre de points choisis aléatoirement. · Les méthodes hybrides : On peut par exemple utiliser la méthode des gradients en partant d’un grand nombre de points choisis aléatoirement. On peut ainsi espérer déterminer au fur et à mesure tous les optima locaux de la fonction. · Le recuit simulé : On effectue des déplacements aléatoires à partir d’un point initial. Si un déplacement mène à une meilleure valeur de la fonction f, il est accepté. Sinon, il est accepté avec un probabilité : où est la variation de la fonction, T est assimilé à une température qui décroît au cours du temps et k est une constante. · Les Algorithmes Évolutionnaires : Le principe est de simuler l’évolution d’une population d’individus auxquels on applique différents opérateurs génétiques et que l’on soumet à chaque génération à une sélection. Jean-Louis Coulomb

17 Compromis exploration et exploitation
· Exploration : les méthodes Monte Carlo permettent une bonne exploration de l’espace puisque tout point a une probabilité identique d’être atteint, mais il n’y a pas d’exploitation des résultats déjà obtenus. · Exploitation : Avec la méthode des gradients, l’exploration est moindre, mais l’exploitation des données précédentes par l’intermédiaire des gradients permet une bonne recherche locale. · Compromis Exploration/Exploitation : Les Algorithmes Évolutionnaires offrent un bon compromis entre exploration et exploitation. Jean-Louis Coulomb

18 Optimisation sous contraintes
Le modèle requis par un algorithme de type gradient : Le modèle de dimensionnement : Cj, {j=1,m} Pi Cj Modèle Fobj Fobj Pi {i=1,n} Model Le problème d ’optimisation : or Fobj Pi {i=1,n} dFobj or Cj, {j=1,m} Model dPi {i=1,n} dCj, {j=1,m}

19 L’obtention des gradients en numériques
Différences finies Différentielles finies

20 Méthodes déterministes sans contraintes
Jean-Louis Coulomb

21 Méthodes déterministes avec contraintes
Méthode des pénalités Jean-Louis Coulomb

22 Jean-Louis Coulomb

23 Jean-Louis Coulomb

24 Démo Jean-Louis Coulomb

25 Idée des Algorithmes Évolutionnaires
· Les Algorithmes Évolutionnaires sont inspirés du concept de sélection naturelle élaboré par Charles Darwin (The Origin of Species, 1859). · Les lois de variation, croisements et mutations, sont empruntées à Mendel et à la génétique moderne. · Le vocabulaire est calqué sur celui de l’évolution et de la génétique Individus (solutions potentielles), Population, Gènes (variables), Chromosomes, Parents, Croisement, Mutations, …. Jean-Louis Coulomb

26 De la sélection naturelle à l’organigramme
d’un Algorithmes Évolutionnaires · La sélection naturelle à fait ses preuves dans le monde vivant. · L’apparition d’espèces distinctes se fait par la sélection naturelle de variations individuelles. · C’est la lutte pour la vie, due à une population tendant à s’étendre dans un espace et avec des ressources finis. · Les individus les plus adaptés tendent à survivre plus longtemps et à se reproduire plus aisément. · Le point clef est l’apparition, par hasard, de variations individuelles. Cela explique les phénomènes d’évolution et d’adaptation sans avoir recourt ni à une création, ni à une modification directe de l’hérédité par le milieu, ni même à une finalité. Jean-Louis Coulomb

27 Algorithme génétique Technique basée sur la Théorie de l'évolution de Darwin A partir des données du problème, on crée (généralement aléatoirement) une "population" de solutions possibles. Les caractéristiques de chaque solution représentent ses gènes. Puis, on évalue chacune des solutions. On élimine une partie infime de celles qui se sont montrées inutiles ou désastreuses, et on recombine les gènes des autres afin d'obtenir de nouveaux individus-solutions. Selon la théorie évolutionniste, cette nouvelle génération sera globalement plus adaptée au problème que la précédente. On itère alors le procédé jusqu'à la naissance d'une solution que l'on jugera satisfaisante.

28 Fonctionnement d'un algorithme génétique (1/3)
initialiser le temps; 1. créer une population initiale 2. évaluer l'adaptation de chaque individu Faire tant que (il n'y a pas de solution satisfaisante) et (le temps est inférieur au temps limite) incrémenter le temps 3. sélectionner les parents 4. déterminer les gènes des nouveau-nés par recombinaison des gènes parentaux 5. faire subir des mutations aléatoires à la population évaluer l'adaptation de chaque individu 6. sélectionner les survivants fait;

29 Fonctionnement d'un algorithme génétique (2/3)
- Création de la population initiale. Si aucune idée de la solution du problème, génération aléatoire d ’une population. Sinon, création des individus qui représentent les solutions dont on dispose. Principal problème : choix de la taille de la population : compromis à trouver Besoin de suffisamment d’hétérogénéité. Une population trop grande augmente le temps de calcul. - Evaluation de l'adaptation. Mesure des performances de chaque individu par une fonction d'adaptation correspond au profit, à l'utilité de la solution par rapport au problème. - Sélection des parents. Pour que la génération suivante soit plus performante Accouplement des meilleurs individus. (chaque individu aura une chance proportionnelle à son adaptation de devenir parent)

30 Fonctionnement d'un algorithme génétique (3/3)
- Recombinaison (crossover). Pour donner naissance à un individu nouveau, prise aléatoire de quelques gênes de chacun des parents. - Mutation. modifications aléatoires du génome. ne pas muter tous les gènes d'un individu, sinon détermination complète aléatoire. rôle secondaire par rapport à la recombinaison - Sélection des survivants. ne garder que les solutions les plus intéressantes, tout en gardant une population assez grande et assez diversifiée. en général, conservation de la taille de la population d'une génération à l'autre. (autant de "morts" que de nouveaux-nés) Parfois, garde uniquement des enfants Cela assure la diversité et l'évolution de la population.

31 Codage informatique chromosome Un gène est un entier 32 bits
· Un chromosome est un tableau de gènes · Un individu est un tableau de chromosomes · Une population est un tableau d’individus. gène1 gène2 gène3 X1=3,256 X1=0,658 X1=10,26 · Le codage binaire permet de tout coder : les réels, les entiers, les booléens, les caractères, … · Codage et décodage d’un réel dans un entier 32 bits : 232 possibilités · Il existe d’autres formes de codage (codage de Gray, codage réel, …) Jean-Louis Coulomb

32 Exemple Le problème Recherche du maximum de la fonction x->x² sur l'ensemble [|1,31|] (on prend des entiers pour plus de simplicité). Codage du problème. Chaque individu représentera une valeur pour x. Son génotype sera la valeur de x exprimée en binaire (il suffit de 5 bits, car 31 se note ). Population initiale. On choisit ici une population de quatre individus au hasard, par exemple : N° Génotype Phénotype

33 Evaluation de l'adaptation.
Application de la fonction d'adaptation : x->x². N° Génotype Phénotype Adaptation Sélection des parents. Il suffit de tirer au hasard 4 individus parmi la population en tenant compte de leurs adaptations respectives. On obtient ainsi une nouvelle population comprenant par exemple: N° Génotype Phénotype Adaptation une copie de l'individu une copie de l'individu deux copies de l'individu aucune copie de l'individu

34 } accouplement des individus 1 et 2
Recombinaison. On choisit ici, pour le croisement de déterminer au hasard les 2 parents, et de "couper" les chromosomes au hasard : la première partie du chromosome ira au premier descendant, alors que la seconde ira à l'autre. N° Avant Après | | | | Seconde génération. Dans cet exemple, on choisit de limiter la durée de vie de chaque individu à une génération. La nouvelle génération sera donc composée exclusivement des enfants : N° Génotype Phénotype Adaptation Si on calcule la moyenne des valeurs d'adaptation, on obtient 293 pour la génération initiale, contre 439 pour la seconde. On se rapproche bien de la solution. Si on réitère le processus, on obtiendra des valeurs de plus en plus grandes, jusqu'à l'obtention de la solution. } accouplement des individus 1 et 2 } accouplement des individus 3 et 4

35 Avantages et inconvénients
pour parvenir au résultat, pas besoin de connaître les caractéristiques de la solution du problème seulement déterminer parmi deux solutions quelle est la meilleure. Inconvénients : algorithme très coûteux en temps de calcul difficile à programmer les paramètres comme la taille de la population et la fonction d'évaluation sont difficiles à établir il n'a qu'une très faible chance, voire aucune, de trouver la solution idéale il ne fait qu'en approcher.

36 Jean-Louis Coulomb

37 Jean-Louis Coulomb

38 Jean-Louis Coulomb

39 Jean-Louis Coulomb

40 Jean-Louis Coulomb


Télécharger ppt "Jean-Louis Coulomb - Laurent Gerbaud"

Présentations similaires


Annonces Google