Upload
urbain-verger
View
105
Download
3
Embed Size (px)
Citation preview
E3-SEM2-IEE
ENSE3/SEM2/IEE : Optimisation 2013-2014L.G.1
OptimisationOptimisation
Jean-Louis Coulomb - Laurent Gerbaud
Année 2013-2014
ENSE3 – filière SEM2 - filière IEEENSE3 – filière SEM2 - filière IEE
E3-SEM2-IEE
ENSE3/SEM2/IEE : Optimisation 2013-2014L.G.2
Objectif du cours
- Intérêt de l’optimisation
- Les algorithmes d’optimisation
- Les plans d’expériences
E3-SEM2-IEE
ENSE3/SEM2/IEE : Optimisation 2013-2014L.G.3
Le processus de conception
Vérification expérimentale
Analyse : calcul numérique(Simulation)
Cahier des charges
Choix de la structure
Dimensionnement
Modèles analytiquesou numériques
E3-SEM2-IEE
ENSE3/SEM2/IEE : Optimisation 2013-2014L.G.4
Paramètres individuels
Paramètres influençant la conception
Aide à la conception =>Optimisation automatique avec simulation du comportement par des méthodes numériques
ProcessusDe
Conception
Formulation du problème
Informations disponibles
Outils disponibles
Environnement de travail
Temps disponible
Organisation de l’entreprise
Décisions externes
Connaissances scientifiques
Connaissances opérationnelles
Compétence et motivation
Emotions
Manière personnelle de penser et d’agir
Paramètres externes
Jean-Louis Coulomb
E3-SEM2-IEE
ENSE3/SEM2/IEE : Optimisation 2013-2014L.G.5
Description du problème direct
Analyse, calcul, simulation
ModèleSorties ?Entrée
E3-SEM2-IEE
ENSE3/SEM2/IEE : Optimisation 2013-2014L.G.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
E3-SEM2-IEE
ENSE3/SEM2/IEE : Optimisation 2013-2014L.G.7
Gem = pi/(2*lambda)*(1-Kf)*sqrt(kr*beta*Ech*E) *pow(D,2)*(D+E)*BeEch=A*JcuA=kr*E*JcuKf = 1.5*p*beta*(e+E)/DBe=(2*la*M)/(D*log((D+2*E)/(D-2*(la+e)))C=pi*beta*Be*D/(4*p*Bfer)p=pi*D/deltaPVu=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)*Echlambda=D/LFobj = cva*Va+cvu*Vu+cpj*Pj
Rotor
Aimant
EntreferStator
Bobinage
Exemple du dimensionnement d’une machine à aimants permanents
E3-SEM2-IEE
ENSE3/SEM2/IEE : Optimisation 2013-2014L.G.8
Description du problème inverse
ModèleSortiesEntrée ?
Problème inverse
{Critères fixes}
{jeu de valeurs d ’entrée}1
{jeu de valeurs d ’entrée}2
{jeu de valeurs d ’entrée}3
{jeu de valeurs d ’entrée}n
…………………………...
E3-SEM2-IEE
ENSE3/SEM2/IEE : Optimisation 2013-2014L.G.9
Optimisation sans contraintes
Optimisation avec contraintes
Optimisation à objectifs multiples
Minimiser f(X)
iMiim xxx nRSXni ,...,1 nxxX ,...,1
Minimiser f(X)
0)( Xgj
nRSX sous les contraintes
mj ,...,1
Minimiser
0)( Xgj
nRSX sous les contraintes
mj ,...,1
)(
...
)(
)(1
Xf
Xf
XF
l
E3-SEM2-IEE
ENSE3/SEM2/IEE : Optimisation 2013-2014L.G.11
Principe de base de l’optimisation : méthode d’essai et erreur
Choix Paramètres
Détermination Performances
Performances Acceptables ?
non
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
E3-SEM2-IEE
ENSE3/SEM2/IEE : Optimisation 2013-2014L.G.12
Une session de dimensionnement
Optimisation Résultat
Contraintes par utilisateur
Initialisation après l'analyse (étape 3)
Restrictions et relaxationsdes contraintes
Problème de la prise en compte des aspects discrets
Analyse de sensibilité
(si algorithme avec gradients)
Contraintes fixes
Cahier des charges
Contraintes sur un intervalle
E3-SEM2-IEE
ENSE3/SEM2/IEE : Optimisation 2013-2014L.G.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.
E3-SEM2-IEE
ENSE3/SEM2/IEE : Optimisation 2013-2014L.G.14
Les algorithmes déterministes
Les méthodes directesutilisation uniquement de la fonction objectif
Branch and bound
algorithmes heuristiquesex : Hooke and Jeeves, Rosenbrock
algorithmes à bases théoriquesex : Powell
Les méthodes indirectesutilisation du calcul du gradient de la fonctionex :
méthode de Cauchy ou de la plus grande penteméthode de Newtonminimisation séquentielle quadratiqueméthode du gradient conjugué ou de quasi-Newton
E3-SEM2-IEE
ENSE3/SEM2/IEE : Optimisation 2013-2014L.G.15
Les différentes méthodes d’optimisation
Méthodes primitives
algorithmes stochastiques
Monté-Carlorecuit-simuléalgorithme génétiqueméthode taboucolonie de fourmis
algorithmes d’énumération implicitealgorithme de séparation et évaluation (branch and bound)réseaux de neurones
Méthodes convergentes
E3-SEM2-IEE
ENSE3/SEM2/IEE : Optimisation 2013-2014L.G.16
· 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.
Quelques méthodes en bref
kT
f
ep
f
Jean-Louis Coulomb
E3-SEM2-IEE
ENSE3/SEM2/IEE : Optimisation 2013-2014L.G.17
· 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.
Compromis exploration et exploitation
Jean-Louis Coulomb
E3-SEM2-IEE
ENSE3/SEM2/IEE : Optimisation 2013-2014L.G.18
Optimisation sous contraintes
Le modèle requis par un algorithme de type gradient :
Pi {i=1,n}
Cj, {j=1,m}
FobjModel
PiCj
FobjModèle
jmaxn21jjmin C),...pp,(pCC
ifixedi PP
),...pp,F(pFobj n21
idP
dFobj
i
j
dP
dC
Le modèle de dimensionnement :
Le problème d ’optimisation :
jfixedn21j C),...pp,(pC
imaxiimin PPP
or
orPi {i=1,n}
Cj,
{j=1,m}
Fobj
ModeldPi {i=1,n}
dFobj
dCj,
{j=1,m}
E3-SEM2-IEE
ENSE3/SEM2/IEE : Optimisation 2013-2014L.G.19
L’obtention des gradients en numériques
Différences finies
Différentielles finies
pas
norme
xxxfnorme
pasdxx
norme
pasdxx
norme
pasdxxf
xxxdf
Lim ni
nn
ii
ni
pas
.
)),....,,....(
).
,....,.
,.....
((
),....,,....(
1
11
1
0
n
i
xnorme1
21
i
niniipas
i
ni
pas
xxxfxpasxxfLim
x
xxxfi
)),....,,....(),....,,....((),....,,....( 110
1
E3-SEM2-IEE
ENSE3/SEM2/IEE : Optimisation 2013-2014L.G.20
Méthodes déterministes sans contraintes
Jean-Louis Coulomb
E3-SEM2-IEE
ENSE3/SEM2/IEE : Optimisation 2013-2014L.G.21
Méthodes déterministes avec contraintesMéthode des pénalités
Jean-Louis Coulomb
E3-SEM2-IEE
ENSE3/SEM2/IEE : Optimisation 2013-2014L.G.22 Jean-Louis Coulomb
E3-SEM2-IEE
ENSE3/SEM2/IEE : Optimisation 2013-2014L.G.23 Jean-Louis Coulomb
E3-SEM2-IEE
ENSE3/SEM2/IEE : Optimisation 2013-2014L.G.24
Démo
)2030)5.0(2030)5.0((01.0),( 2424 yyyxxxyxf
Jean-Louis Coulomb
E3-SEM2-IEE
ENSE3/SEM2/IEE : Optimisation 2013-2014L.G.25
· 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,
•….
Idée des Algorithmes Évolutionnaires
Jean-Louis Coulomb
E3-SEM2-IEE
ENSE3/SEM2/IEE : Optimisation 2013-2014L.G.26
· 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é.
De la sélection naturelle à l’organigrammed’un Algorithmes Évolutionnaires
Jean-Louis Coulomb
E3-SEM2-IEE
ENSE3/SEM2/IEE : Optimisation 2013-2014L.G.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.
E3-SEM2-IEE
ENSE3/SEM2/IEE : Optimisation 2013-2014L.G.28
fait;
Fonctionnement d'un algorithme génétique (1/3)
Faire tant que (il n'y a pas de
solution satisfaisante) et (le
temps est inférieur au temps
limite)
1. créer une population initiale2. évaluer l'adaptation de chaque individu
initialiser le temps;
incrémenter le temps3. sélectionner les parents
4. déterminer les gènes des nouveau-néspar 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
E3-SEM2-IEE
ENSE3/SEM2/IEE : Optimisation 2013-2014L.G.29
- 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 (2/3)
E3-SEM2-IEE
ENSE3/SEM2/IEE : Optimisation 2013-2014L.G.30
- 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.
Fonctionnement d'un algorithme génétique (3/3)
E3-SEM2-IEE
ENSE3/SEM2/IEE : Optimisation 2013-2014L.G.31
Codage informatique
· Codage et décodage d’un réel dans un entier 32 bits : 232 possibilités
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.
· Le codage binaire permet de tout coder : les réels, les entiers, les booléens, les caractères, …
· Il existe d’autres formes de codage (codage de Gray, codage réel, …)
10010011 11101011 00011010
X1=3,256 X1=0,658 X1=10,26
gène1 gène2 gène3
chromosome
maxminmax
min
_g
xx
xxg
ii
iii
max
minmaxmin )_(g
gxxxx iiiii
Jean-Louis Coulomb
E3-SEM2-IEE
ENSE3/SEM2/IEE : Optimisation 2013-2014L.G.32
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
Exemple
E3-SEM2-IEE
ENSE3/SEM2/IEE : Optimisation 2013-2014L.G.33
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
E3-SEM2-IEE
ENSE3/SEM2/IEE : Optimisation 2013-2014L.G.34
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ès1 0 1 1 0|1 0 1 1 0 02 1 1 0 0|0 1 1 0 0 13 1 1|0 0 0 1 1 0 1 14 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
E3-SEM2-IEE
ENSE3/SEM2/IEE : Optimisation 2013-2014L.G.35
Avantages
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.
Avantages et inconvénients
E3-SEM2-IEE
ENSE3/SEM2/IEE : Optimisation 2013-2014L.G.36 Jean-Louis Coulomb
E3-SEM2-IEE
ENSE3/SEM2/IEE : Optimisation 2013-2014L.G.37 Jean-Louis Coulomb
E3-SEM2-IEE
ENSE3/SEM2/IEE : Optimisation 2013-2014L.G.38 Jean-Louis Coulomb
E3-SEM2-IEE
ENSE3/SEM2/IEE : Optimisation 2013-2014L.G.39 Jean-Louis Coulomb
E3-SEM2-IEE
ENSE3/SEM2/IEE : Optimisation 2013-2014L.G.40 Jean-Louis Coulomb