Jean-Louis Coulomb - Laurent Gerbaud

Slides:



Advertisements
Présentations similaires
LES NOMBRES PREMIERS ET COMPOSÉS
Advertisements

1. Résumé 2 Présentation du créateur 3 Présentation du projet 4.
Soutenance du stage de DEA.
Algorithmes Génétiques : Principes mathématiques et Utilisations
Licence pro MPCQ : Cours
Fonctions & procédures
Conception Préliminaire de Manipulateurs Mobiles et Génération de Consignes Évolutionnaires : une Méthodologie pour Intégrer la Commande dans l’Évaluation.
Collecte de données F. Kohler.
VIRAGES SYMETRIQUES EN PALIER, MONTEE ET DESCENTE
Performances 1 Évolution : Performance. Performances 2 Évolution : Mémoire.
Les éléments de mémorisation
A Pyramid Approach to Subpixel Registration Based on Intensity
Optimisation dans les télécommunications
Algorithmes génétiques
El-Djillali TALBI Doctorant systèmes industriels
Ordonnancement des mouvements de deux robots
variable aléatoire Discrète
Optimisation globale non déterministe
Machines tournantes et variation de vitesse
Les requêtes La Requête est une méthode pour afficher les enregistrements qui répondent à des conditions spécifiques. La requête est donc un filtre.
UNIVERSITE DES SCIENCES ET DE LA TECHNOLOGIE D’ORAN
Application des algorithmes génétiques
Vuibert Systèmes dinformation et management des organisations 6 e édition R. Reix – B. Fallery – M. Kalika – F. Rowe Chapitre 1 : La notion de système.
Vuibert Systèmes dinformation et management des organisations 6 e édition R. Reix – B. Fallery – M. Kalika – F. Rowe Chapitre 3 : Laide à la décision Laide.
Algorithmes Branch & Bound
Commande par algorithme génétique
Thème 1-A-3 De la diversification des êtres vivants à l’évolution de la biodiversité Cf TP 9.
Les Algorithmes Génétiques
Détection de co-évolution de gènes Master 2 : Informatique à Finalité Professionnelle et Recherche Unifiée (IFPRU) Parcours Ingénierie de lIntelligence.
Plan d’expérience dynamique pour la maximisation
Tableaux de distributions
Tableaux de distributions
LES NOMBRES PREMIERS ET COMPOSÉS
La phylogénie Définition :
Représentation des systèmes dynamiques dans l’espace d’état
Représentation des systèmes dynamiques dans l’espace d’état
Représentation des systèmes dynamiques dans l’espace d’état
Programmation linéaire en nombres entiers Algorithme de la subdivision successive («Branch and Bound Algorithm»)
Génération d’un segment de droite
Des indicateurs de performance pertinents et adéquats
CHAPITRE 19 - La génétique des populations
L’origine de la diversité
1.1 LES VECTEURS GÉOMÉTRIQUES
Les changements de numéraire dans la tarification d’options
2. Théorie de la consommation (demande)
1 La détection de gènes impliqués dans les maladies multifactorielles Marie-Pierre Etienne ENGREF Laboratoire GRESE Statistique et Génome.
AIP PRIMECA des Pays de La Loire – 9 novembre 2006
Programmation dynamique
Programmation linéaire en nombres entiers : les méthodes de troncature
ASI 3 Méthodes numériques pour l’ingénieur
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
Equation différentielle de 2ème ordre
1 - Programme de Seconde (juin 2009) Statistique et probabilités
DESIGN D’UN CODEUR- DÉCODEUR CHAOTIQUE AUTO-SYNCHRONISANT EN TEMPS RÉEL ET EN PRÉSENCE DE BRUIT Laboratoire d’Automatique et d’Informatique Industrielle-POITIERS.
1. Présentation générale du système
Suites numériques Définitions.
les méthodes de recherche locale
Optimisation par les algorithmes génétiques
Programmation linéaire en nombres entiers
Algorithmes Branch & Bound
Université Farhat Abbas_setif
Algorithmes génétiques en optimisation combinatoire
Implémentation d’un opérateur de répartition de sources lumineuses
Mr.D.MOKKADEM MATI CHEMS-EDDINE MEDJOUBI HALIMA
Optimisation par les algorithmes génétiques
ANNEE UNIVERSITAIRE :2010/2011
Peuplement d’une ville virtuelle S.ESTIENNE PRE001v1.01 Exemple d’utilisation du GA 1. Initialement une population est choisie au hasard. 2. Chaque individu.
Résolution des équations différentielles
Évolution de second ordre dans un algorithme évolutionnaire V. Lefort
Problème du Car Sequencing
Transcription de la présentation:

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

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

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

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

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

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

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

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

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

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

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

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

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.

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

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

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

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

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}

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

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

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

Jean-Louis Coulomb

Jean-Louis Coulomb

Démo Jean-Louis Coulomb

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

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

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.

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;

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)

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.

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 10010011 11101011 00011010 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

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 11111). Population initiale. On choisit ici une population de quatre individus au hasard, par exemple : N° Génotype Phénotype 1 0 1 1 0 1 13 2 1 1 0 0 0 24 3 0 1 0 0 0 8 4 1 0 0 1 1 19

Evaluation de l'adaptation. Application de la fonction d'adaptation : x->x². N° Génotype Phénotype Adaptation 1 0 1 1 0 1 13 169 2 1 1 0 0 0 24 576 3 0 1 0 0 0 8 64 4 1 0 0 1 1 19 361 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 1. 1 0 1 1 0 1 13 169 une copie de l'individu 2. 2 1 1 0 0 0 24 576 deux copies de l'individu 3. 3 1 1 0 0 0 24 576 aucune copie de l'individu 4. 4 1 0 0 1 1 19 361

} 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 1 0 1 1 0|1 0 1 1 0 0 2 1 1 0 0|0 1 1 0 0 1 3 1 1|0 0 0 1 1 0 1 1 4 1 0|0 1 1 1 0 0 0 0 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 1 0 1 1 0 0 12 144 2 1 1 0 0 1 25 625 3 1 1 0 1 1 27 729 4 1 0 0 0 0 16 256 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

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.

Jean-Louis Coulomb

Jean-Louis Coulomb

Jean-Louis Coulomb

Jean-Louis Coulomb

Jean-Louis Coulomb