ENSE3/SEM2/IEE : Optimisation 2013-2014 LG

Download Report

Transcript ENSE3/SEM2/IEE : Optimisation 2013-2014 LG

E3-SEM2-IEE
Optimisation
Année 2013-2014
Jean-Louis Coulomb - Laurent Gerbaud
ENSE3 – filière SEM2 - filière IEE
1
L.G.
ENSE3/SEM2/IEE : Optimisation 2013-2014
E3-SEM2-IEE
Objectif du cours
- Intérêt de l’optimisation
- Les algorithmes d’optimisation
- Les plans d’expériences
2
L.G.
ENSE3/SEM2/IEE : Optimisation 2013-2014
E3-SEM2-IEE
Le processus de conception
Cahier des charges
Choix de la structure
Dimensionnement
Analyse : calcul numérique
(Simulation)
Modèles analytiques
ou numériques
Vérification expérimentale
3
L.G.
ENSE3/SEM2/IEE : Optimisation 2013-2014
E3-SEM2-IEE
Paramètres influençant la conception
Paramètres individuels
Paramètres externes
Connaissances scientifiques
Formulation du problème
Connaissances opérationnelles
Manière personnelle de
penser et d’agir
Informations disponibles
Processus
De
Conception
Environnement de travail
Outils disponibles
Temps disponible
Emotions
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
4
L.G.
Jean-Louis Coulomb
ENSE3/SEM2/IEE : Optimisation 2013-2014
E3-SEM2-IEE
Description du problème direct
Analyse, calcul, simulation
Entrée
5
L.G.
Modèle
Sorties ?
ENSE3/SEM2/IEE : Optimisation 2013-2014
E3-SEM2-IEE
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
6
L.G.
ENSE3/SEM2/IEE : Optimisation 2013-2014
E3-SEM2-IEE
Exemple du dimensionnement d’une machine
à aimants permanents
Entrefer
Aimant
Rotor
7
L.G.
Stator
Bobinage
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
ENSE3/SEM2/IEE : Optimisation 2013-2014
E3-SEM2-IEE
Description du problème inverse
Entrée ?
Sorties
Modèle
Problème inverse
{jeu de valeurs d ’entrée}1
{Critères fixes}
{jeu de valeurs d ’entrée}2
{jeu de valeurs d ’entrée}3
…………………………...
{jeu de valeurs d ’entrée}n
8
L.G.
ENSE3/SEM2/IEE : Optimisation 2013-2014
E3-SEM2-IEE
Optimisation sans contraintes
Minimiser f(X)
X  x1,...,xn 
xim  xi  xiM
i  1,...,n  X  S  R n
Optimisation avec contraintes
Minimiser f(X)
X S  R n
sous les contraintes
gj (X )  0
j  1,...,m
Optimisation à objectifs multiples
f1 (X ) 


Minimiser F (X ) 
...


fl (X )
n
X S  R
sous les contraintes
9
gj (X )  0
L.G.
j  1,...,m
ENSE3/SEM2/IEE : Optimisation 2013-2014
Principe de base de l’optimisation :
méthode d’essai et erreur
E3-SEM2-IEE
Choix Paramètres
non
Détermination Performances
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
11
L.G.
Jean-Louis Coulomb
ENSE3/SEM2/IEE : Optimisation 2013-2014
E3-SEM2-IEE
Une session de dimensionnement
Contraintes par utilisateur
Initialisation après l'analyse (étape 3)
Cahier des charges
Contraintes fixes
Optimisation
Résultat
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
12
L.G.
ENSE3/SEM2/IEE : Optimisation 2013-2014
E3-SEM2-IEE
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.
13
L.G.
ENSE3/SEM2/IEE : Optimisation 2013-2014
E3-SEM2-IEE
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
14
L.G.
ENSE3/SEM2/IEE : Optimisation 2013-2014
E3-SEM2-IEE
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
15
L.G.
ENSE3/SEM2/IEE : Optimisation 2013-2014
Quelques méthodes en bref
E3-SEM2-IEE
· 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é :
pe

f
kT
où f 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
16
génération à une sélection.
L.G.
Jean-Louis Coulomb
ENSE3/SEM2/IEE : Optimisation 2013-2014
E3-SEM2-IEE
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.
17
L.G.
Jean-Louis Coulomb
ENSE3/SEM2/IEE : Optimisation 2013-2014
E3-SEM2-IEE
Optimisation sous contraintes
Le modèle de dimensionnement :
Pi
Modèle
Le modèle requis par un algorithme de
type gradient :
Cj, {j=1,m}
Cj
Fobj
Pi {i=1,n}
Le problème d ’optimisation :
or
or
Cjmin  Cj (p1 , p2 ,...pn )  Cjmax
Pimin  Pi  Pimax
Pi  Pifixed
L.G.
dFobj
dPi
dC j
dPi
Cj (p1 , p2 ,...pn )  Cjfixed
Fobj  F(p1 , p2,...pn )
18
Model
Fobj
Fobj
dFobj
Pi {i=1,n}
dPi {i=1,n}
Model
Cj, {j=1,m}
dCj,
{j=1,m}
ENSE3/SEM2/IEE : Optimisation 2013-2014
E3-SEM2-IEE
L’obtention des gradients en numériques
Différences finies
 ( f ( x1 ,....xi  pasi ,....,xn )  f ( x1 ,....xi ,....,xn )) 
f ( x1 ,....xi ,....,xn )
 Lim pasi 0 

xi
pas
i


Différentielles finies
df ( x1 ,....xi ,....,xn ) 
dxi . pas
dxn . pas 
dx1. pas

( f ( x1  norm e ,....xi  norm e ,....,xn  norm e )



f
(
x
,....
x
,....,
x
))
1
i
n
Lim pas 0 

 norm e

.

 pas

norm e
n
 x1
2
i 1
19
L.G.
ENSE3/SEM2/IEE : Optimisation 2013-2014
E3-SEM2-IEE
Méthodes déterministes sans contraintes
20
L.G.
Jean-Louis Coulomb
ENSE3/SEM2/IEE : Optimisation 2013-2014
E3-SEM2-IEE
Méthodes déterministes avec contraintes
Méthode des pénalités
21
L.G.
Jean-Louis Coulomb
ENSE3/SEM2/IEE : Optimisation 2013-2014
E3-SEM2-IEE
22
L.G.
Jean-Louis Coulomb
ENSE3/SEM2/IEE : Optimisation 2013-2014
E3-SEM2-IEE
23
L.G.
Jean-Louis Coulomb
ENSE3/SEM2/IEE : Optimisation 2013-2014
E3-SEM2-IEE
Démo
f ( x, y)  0.01 ((x  0.5)  30 x  20 x  ( y  0.5)  30 y  20 y)
4
24
L.G.
Jean-Louis Coulomb
2
4
2
ENSE3/SEM2/IEE : Optimisation 2013-2014
Idée des Algorithmes Évolutionnaires
E3-SEM2-IEE
· 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,
•….
25
L.G.
Jean-Louis Coulomb
ENSE3/SEM2/IEE : Optimisation 2013-2014
De la sélection naturelle à l’organigramme
d’un Algorithmes Évolutionnaires
E3-SEM2-IEE
· 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é.
26
L.G.
Jean-Louis Coulomb
ENSE3/SEM2/IEE : Optimisation 2013-2014
E3-SEM2-IEE
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.
27
L.G.
ENSE3/SEM2/IEE : Optimisation 2013-2014
Fonctionnement d'un algorithme génétique (1/3)
E3-SEM2-IEE
initialiser le temps;
1. créer une population initiale
Faire tant que (il n'y a pas de
solution satisfaisante) et (le temps
2. évaluer l'adaptation de chaque individu
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;
28
L.G.
ENSE3/SEM2/IEE : Optimisation 2013-2014
Fonctionnement d'un algorithme génétique (2/3)
E3-SEM2-IEE
- 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)
29
L.G.
ENSE3/SEM2/IEE : Optimisation 2013-2014
Fonctionnement d'un algorithme génétique (3/3)
E3-SEM2-IEE
- 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.
30
L.G.
ENSE3/SEM2/IEE : Optimisation 2013-2014
E3-SEM2-IEE
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
xi  ximin
gi  max min g max
xi _ xi
xi  x
min
i
 (x
max
i
min
i
_x
gi
)
g max
· Il existe d’autres formes de codage (codage de Gray, codage réel, …)
31
L.G.
Jean-Louis Coulomb
ENSE3/SEM2/IEE : Optimisation 2013-2014
E3-SEM2-IEE
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 :
32
L.G.
N°
Génotype
Phénotype
1
01101
13
2
11000
24
3
01000
8
4
10011
19
ENSE3/SEM2/IEE : Optimisation 2013-2014
E3-SEM2-IEE
Evaluation de l'adaptation.
Application de la fonction d'adaptation : x->x².
N°
Génotype
Phénotype
Adaptation
1
01101
13
169
2
11000
24
576
3
01000
8
64
4
10011
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
33
L.G.
une copie de l'individu 1.
1
01101
13
169
une copie de l'individu 2.
2
11000
24
576
deux copies de l'individu 3.
3
11000
24
576
aucune copie de l'individu 4.
4
10011
19
361
ENSE3/SEM2/IEE : Optimisation 2013-2014
E3-SEM2-IEE
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°
1
2
3
4
Avant
0 1 1 0|1
1 1 0 0|0
1 1|0 0 0
1 0|0 1 1
Après
01100
11001
11011
10000
} accouplement des individus 1 et 2
} accouplement des individus 3 et 4
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°
1
2
3
4
Génotype
01100
11001
11011
10000
Phénotype
12
25
27
16
Adaptation
144
625
729
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.
34
L.G.
ENSE3/SEM2/IEE : Optimisation 2013-2014
E3-SEM2-IEE
Avantages et inconvénients
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.
35
L.G.
ENSE3/SEM2/IEE : Optimisation 2013-2014
E3-SEM2-IEE
36
L.G.
Jean-Louis Coulomb
ENSE3/SEM2/IEE : Optimisation 2013-2014
E3-SEM2-IEE
37
L.G.
Jean-Louis Coulomb
ENSE3/SEM2/IEE : Optimisation 2013-2014
E3-SEM2-IEE
38
L.G.
Jean-Louis Coulomb
ENSE3/SEM2/IEE : Optimisation 2013-2014
E3-SEM2-IEE
39
L.G.
Jean-Louis Coulomb
ENSE3/SEM2/IEE : Optimisation 2013-2014
E3-SEM2-IEE
40
L.G.
Jean-Louis Coulomb
ENSE3/SEM2/IEE : Optimisation 2013-2014