Beruflich Dokumente
Kultur Dokumente
1. Introduction Formulation dun problme doptimisation : Terminologie : variables, fonction objectif, limitations Ecriture des problmes sans/avec limitations Applications en Mcanique : exemples de problmes acadmiques et industriels, fonctions cot et limitations Reprsentation graphique dun problme doptimisation 2 variables Rappels mathmatiques (gradient, convexit, formule de Taylor, conditions doptimalit dans le cas sans limitations) Diffrentes classes de problmes : fonctions linaires, quadratiques, non linaires, continues, non continues, non partout dfinies, diffrentiables ou non, convexes ou non , unimodales, multimodales 2. Notion de plan dexpriences Dfinitions : intrt, relation avec loptimisation, notion de facteurs, effets, interactions, .. Plans factoriels complets, fractionnaires, ... Exemple 3. Mthodes dapproximation Approximations locales : linarisation , linarisation convexe, approximations quadratiques Exemple Approximations globales, surfaces de rponse 4. Minimisation 1 dimension localisation du minimum (dichotomie, ..), Mthodes de Newton-Raphson, de la scante, interpolation polynmiale, section dor Exemple 5. Minimisation en dimension n sans limitations : sans drives : simplexe (Nelder-Mead) avec drives 1 : relaxation, plus forte pente, gradient conjugu Mthodes de Newton et quasi-Newton Problmes numriques : mise lchelle, conditionnement du Hessien Exemple : Minimisation de lnergie potentielle dune poutre cantilever
res
6. Minimisation avec limitations aspects thoriques : conditions doptimalit, Lagrangien, point-col, interprtation Exemple Mthodes primales : directions admissibles, gradient rduit, gradient projet Mthodes de pnalit Mthodes duales : Lagrangien augment Critres doptimalit, exemple du FSD
7. Application au calcul des structures : calcul des sensibilits, mise en uvre, logiciels calcul des sensibilits par diffrences finies calcul des sensibilits par drivation des quations dquilibre en lments finis: tat direct et adjoint optimisation de forme : remaillage, estimation derreur Mise en uvre de loptimisation : couplages CAO-calcul, utilisation de bibliothques, logiciels E.F. commerciaux intgrant de loptimisation, logiciels de gestion de calculs, logiciels de diffrentiation automatique optimisation multi-critres, multi-disciplinaire 8. Identification Principe de lidentification, exemple mthode de Levenberg-Marquardt exemples (systme de 2 ressorts, problme de thermique) 9. Mthodes pour loptimisation globale et cas des variables discrtes recuit simul algorithmes volutionnaires exemple (section dune poutre) 10. Optimisation topologique Principe Aspects thoriques : homognisation Application en lasticit 2D : mthode de Ole et Sigmund, mthode ESO, algorithme volutionnaire.
Chapitre I - Introduction
1.
Conception optimale :
Optimiser la conception dune pice, dune structure = rechercher la meilleure structure possible, cest--dire celle qui assure le prix de revient minimum (cots de ltude, de la fabrication, des matires premires, de la maintenance, )
Variables de conception, (ou paramtres doptimisation, variables de dcision) et telle quelle vrifie certaines restrictions : limitations, (ou contraintes doptimisation)
Ce problme se formule de manire mathmatique tout fait gnrale : Minimiser f(x) x avec les conditions : gj (x) ! 0
j = 1, , m
Terminologie : f : fonction cot x = (x1 , x2 , , xn ) : vecteur des variables de conception (x " Rn ) gj (x) , j = 1, , m = limitations
Introduction
Lensemble A des points vrifiant toutes les limitations est appel le domaine admissible Loptimum global x*, sil existe vrifie : f(x*) ! f(x) # x " A $ Rn On dira que x* est un optimum local de f sil est un minimum dans une rgion limite seulement, cest--dire sil existe % & 0 tel que : f(x*) ! f(x) # x" A et vrifiant '' x x* '' ! % Le minimum global est le minimum local pour lequel la valeur de f est la plus faible, compare celle des autres minimums.
Minimums locaux
Minimum global et minimums locaux 1 dimension, sans limitations. Gnralement, loptimum dun problme avec contraintes est atteint sur la frontire du domaine admissible (sinon, cela signifie que les contraintes sont inutiles ). Si en x*, gj(x*) = 0, on dit que x* sature gj. , ou que gj. est sature en x*. Reprsentation graphique dun problme 2 variables. Lorsque x est dans R2 , on peut reprsenter graphiquement les problmes doptimisation en utilisant les isovaleurs (ou lignes de niveau, analogues aux altitudes sur les cartes gographiques) de la fonction cot et des limitations : Les isovaleurs 0 des contraintes dlimitent le domaine admissible A (intersection pour tout j des domaines o lon a gj (x) ! 0 ) Les isovaleurs de f (trac des courbes + valeur associe) permettent de localiser graphiquement le minimum de f lintrieur du domaine admissible (ou les minimums locaux), cest--dire le point de plus faible altitude lintrieur de A. La figure suivante donne un exemple dune telle reprsentation.
Introduction
Minimum local xl
g1 = 0
g2 = 0 g4 = 0
Minimum global x*
f = f1
xm
g3 = 0
Exemple : problme avec 4 limitations, fonction avec plusieurs minima locaux : Le but de loptimisation est de rechercher x* A tel que f(x*) ! f(x) pour tout x " A si on suppose f(x*) < f(xl), x* est le minimum global xl est un minimum local de f admissible, xm est un minimum local de f non admissible (contrainte g3 non satisfaite) Le minimum global x* est atteint sur la frontire du domaine admissible : la contrainte g2 est sature en x*. Mais dans le cas gnral dun problme de conception, mme avec 2 variables seulement, on ne dispose pas de cette reprsentation graphique, qui ncessite le calcul de la fonction cot et des limitations en un trs grand nombre de points sur tout le domaine. Nous utiliserons ce type de reprsentation essentiellement pour comprendre comment fonctionnent les algorithmes de minimisation. Notons cependant que si on na que 2 variables, et si un calcul rapide de toutes les fonctions est possible, on peut avoir recours une rsolution graphique. Exemple doptimisation dune structure : conception dune colonne tubulaire en compression
D t
Introduction
Donnes : la charge P, la hauteur h, le matriau On minimise la masse : F = W = () D t h Les variables de conception sont le diamtre moyen D et lpaisseur t. La colonne doit rsister en flambement global ; en flambement local, en rupture statique. La contrainte axiale de compression : *= doit donc vrifier : * ! *R * ! *fg = (rupture) (flambement global)
P !Dt
4! EI !Dth
2 Et D 3(1 ! " )2
* ! *fl =
(flambement local)
Les conditions de faisabilit sont : D&t D & 10-6 t & 10-6 Sous forme standard , le problme scrit : Minimiser f(D, t) = (D, t) avec :
W ( D, t ) !"Dth = W0 W0
Introduction
(Exemples dapplications)
Introduction
Remarques gnrales sur lapplication des mthodes doptimisation. - On peut utiliser divers choix de variables : aires de sections, dimensions, forme, topologie. Tout dpend de la libert dont disposent les concepteurs. - Plusieurs formulations diffrentes peuvent donner des rsultats quivalents, mais : - Plusieurs formulations thoriquement quivalentes peuvent tre trs diffrentes sur le plan de leur efficacit numrique. Le choix dune formulation efficace est souvent le premier problme rsoudre. - Les mthodes de calcul des fonctions sont multiples : analytiques, diffrences finies, lments finis, quations intgrales - Il est toujours prfrable dcrire le problme sous forme adimensionnelle - Les temps calcul et la nature de la solution obtenue dpendent fortement de lestimation initiale (utilisation des connaissances acquises sur le sujet, plans dexpriences numriques dans le domaine de conception, ) - On ne peut que rarement affirmer que lon atteint un minimum global ; souvent, on se contente damliorer une conception prexistante. - Il nexiste pas de logiciel bote noire universel, rsolvant automatiquement tout problme doptimisation; bien souvent, les logiciels proposent diffrents modules parmi lesquels il faut choisir lalgorithme le mieux adapt (ventuellement plusieurs mthodes successivement). On distingue gnralement deux grandes catgories de mthodes : les mthodes qui recherchent un minimum local en utilisant par exemple les drives des fonctions, et les mthodes globales qui font souvent appel des processus alatoires.
Introduction
2.
x: vecteur colonne de Rn , xT =(x1, x2, xn) I : matrice identit H : matrice (n, n), HT sa transpose H HT est symtrique car (H HT)T = (HT)T HT = H HT Dt(H) = dterminant de H Si dt(H) = 0, H est une matrice singulire Si H est non singulire, il existe une matrice unique H-1 = matrice inverse de H telle que : H H-1 = H 1 H = I Produit scalaire de 2 vecteurs : xT x not aussi (x, x ) Norme dun vecteur x de Rn : ++ x ++ = (xT x)1/2 = (, xi2 )1/2 Des vecteurs x1, x2, xp sont dits orthogonaux si xiT xj = 0 pour tout i - j Ils sont orthonorms si, en plus, xiT xi = 1 pour tout i Une matrice carre symtrique est dite semi-dfinie positive si lon a : x " Rn , xT H x & 0 pour tout x - 0, (dfinie positive si on a ingalit stricte > ) Diffrentiabilit
!2f !x1 !x 2 : : : :
( x ) . .
: . : . : . : .
% ' ' ' ' ' . ' ' . ' ' . ' 2 ! f ( x )' ' 2 !xn & .
Introduction
Formule de Taylor
Pour une fonction dune seule variable r fois drivable, la formule de Taylor donne une approximation de f au voisinage dun point x : f(x+s) = f(x) + sf(x) +
o O(sr) . 0 quand s . 0 Pour les fonctions de n variables, nous utiliserons seulement le dveloppement dordre 2 : f(x+s) = f(x) + sT /f(x) + ! sT H(x) s + ++ s++ 2 O(s) o O(s) . 0 quand s . 0
Directions de descente
s " Rn est une direction de descente pour la fonction f au point x sil existe un intervalle [0, %] $ R tel que lon ait: f(x+r s) < f(x) pour tout r " [0, %] Caractrisation des directions de descente : s est une direction de descente si et seulement si : sT /f(x) < 0 En effet : f(x+rs) = f(x) + r sT /f(x) + ! r2 sT H(x) s + Pour r suffisamment petit, on aura : f(x+rs) < f(x) si et seulement si sT /f(x) < 0 Interprtation graphique en 2D: Toutes les directions qui sont situes dans le demi-plan contenant -/f(x) sont des directions de descente. En particulier, s = -/f(x) est la direction de plus grande descente (ou plus forte pente) ; en effet, parmi les s norms, -
!f ( x) !f ( x)
Proprit du gradient
Le gradient de f en x est orthogonal la ligne de niveau passant par x : f = constante sur la ligne de niveau, donc : df = /fT (x) dx = 0
dx x
/f(x)
Introduction
Convexit
Cest une proprit importante dans le contexte de loptimisation, car une bonne partie des rsultats thoriques sur lesquels sappuient les mthodes de minimisation sont valables seulement pour des fonctions convexes, et des domaines convexes. On dit quune fonction f : Rn . R est convexe si :
#x"Rn, #y "Rn , #r tel que 0 ! r ! 1, on a : f(rx + (1 r) y) ! r f(x) + (1 r) f(y) f est dite strictement convexe si on a lingalit stricte pour x - y et 0 < r < 1 Si lingalit est en sens inverse, la fonction est dite concave (&) ou strictement concave (>).
r x + (1 r) y y Fonction convexe Soit f : Rn . R. Les proprits suivantes sont quivalentes : f est une fonction convexe # x " Rn , # y " Rn ,f(y) & f(x) + /fT (x) (y-x) (si f est 2 fois continment diffrentiable) la matrice hessienne de f est semi-dfinie positive.
Ensemble convexe : On dit quun ensemble A $ Rn est convexe si le segment joignant 2 points quelconques de A est contenu dans A : #x"A, #y " A , #r tel que 0 ! r ! 1, on a : rx + (1 r) y " A
Introduction
y y
Ensemble convexe
preuve : Soit x* un minimum local de f ; le dveloppement de Taylor en x* donne pour tout x: f(x) = f(x*) + (x x* )T /f(x*) + ! (x x* )T H(x*) (x x* ) + ++ (x x* )++2 O(x x* ) o O(x x* ) . 0 quand x x* . 0 Supposons que /f(x*) - 0 ; en prenant x = x* - r /f(x*) avec r > 0, on a : f (x) = f(x*) - r /f(x*)T /f(x*) + ! r2 /f(x*)T H(x*) /f(x*) + r3 ++ /f(x*)++ O(/f(x*) ) Pour r suffisamment petit, la somme des 3 derniers termes est ngative, do une contradiction. Donc : f(x) = f(x*) + ! (x x* )T H(x*) (x x* ) + ++ (x x* )2++ O(x x* ) Supposons H(x*) non semi-dfinie positive. Il existe alors s tel que sT H(x*) s < 0 Pour x = x* + r s, on obtient :
f(x) = f(x*) +
Pour r suffisamment petit, la somme des 2 derniers termes est ngative, do une contradiction. Donc H(x*) est semi-dfinie positive.
Introduction
10
f(x*)
f(x*) = 0 f(x*) = 0
alors x* est un minimum local de f. Preuve : Soit x = x* + r s o '' s '' = 1 On a alors, pour tout r suffisamment petit:
f(x + r s) = f (x*) +
Pour tout r - 0 , le second terme est > 0, ce qui implique : f(x + r s) > f (x*) pour tout r suffisamment petit, ce qui signifie bien que x* est minimum local de f.
Conditions ncessaires et suffisantes doptimalit globale dans le cas de fonctions convexes Si f est une fonction convexe continment diffrentiable, x* est un optimum global de f si et seulement si /f (x*) = 0 Remarque : cest la seule CNS doptimalit dont on dispose.
Introduction
11
Introduction
12
1.
Introduction
A lorigine, les P.E. sappliquent lexprimentation (non numrique) et concernent la stratgie de recherche suivre pour rpondre un certain nombre de questions ; lexprimentateur cherche comment slectionner les expriences faire, quelle est la meilleure stratgie pour :
! ! ! !
Conduire le plus rapidement possible aux rsultats esprs, Eviter des expriences inutiles, Apporter une bonne prcision, Conduire la modlisation et loptimisation des phnomnes tudis
Une littrature abondante existe sur les P.E., mais dans le cas d' "exprimentation" numrique, tous les aspects lis aux erreurs de mesure sont sans objet (rptitions de la mme exprience par exemple) Un plan d'expriences peut tre utilis comme une mthode d'optimisation, pour trouver une ou des solutions au problme pos, mais aussi comme une tape prliminaire loptimisation et a alors pour objectif le choix des variables optimiser et des fonctions prendre en compte dans une formulation mathmatique classique pour rsoudre le problme par une mthode de gradient par exemple. Terminologie : Rponse : grandeur laquelle on sintresse (y) ; son choix est un autre problme. Facteurs : variables qui peuvent tre continues ou discrtes (x1, x2 , xn), qualitatives (pas de logique de classement) ou quantitatives. Niveaux : valeurs prises par un facteur dans les expriences Mthode classique (cf relaxation, ou directions alternes) : fixer les niveaux de toutes les variables sauf une (ex : x1) laquelle on donne plusieurs valeurs successivement ; la mesure de la rponse donne une courbe y=f(x1). Recommencer pour chaque facteur Mais : 7 facteurs, 5 niveaux donne 57 = 78125 expriences 7 facteurs, 3 niveaux donne 37 = 2187 expriences Pour diminuer le nombre dexpriences, il faut faire varier les niveaux de tous les facteurs la fois chaque exprience. Ceci permettra dtudier un grand nombre de facteurs, de dtecter les interactions entre facteurs, et de trouver les facteurs influents. Pour cela, au dpart, le nombre de niveaux sera gnralement fix 2 seulement par facteur: Niveau bas dun facteur: borne infrieure, note par 1 Niveau haut : borne suprieure, note par +1 Reprsentation graphique (gomtrique): domaine de variation dun facteur, espace exprimental, domaine dtude, 1 exprience=1 point
Plans dexpriences
12
Facteur 2 +1
Domaine dtude
-1 Facteur 1 -1 +1
Plan dexpriences : liste des combinaisons de niveaux de facteurs pour lesquels la rponse du modle doit tre observe. (cf. liste des points du domaine de conception partir desquels une approximation est construite) Surface de rponse : ensemble des rponses correspondant tous les points du domaine, associe un modle mathmatique f (modle postul, approximation) de la rponse : y = f(x1, x2 , xn) (avec 2 variables, la reprsentation gomtrique du P.E. et de la surface de rponse associe est possible dans un espace de dimension 2 ou 3, sous forme de lignes ou de surface d' isovaleurs) Les plans dexpriences ne font pas tous appel des surfaces de rponse : les plus simples utilisent seulement 2 niveaux (rponse linaire), et la notion de surface de rponse napparat pas explicitement. Les approximations les plus utilises sont des polynmes de degr 1 ou 2. Si un modle est insuffisant (pas assez prcis), il sera possible d'ajouter des termes au polynme et des points au P.E. pour obtenir une meilleure approximation. Diffrents types de plans : Plans de criblage : pour trouver les facteurs les plus influents sur une rponse. Plans de modlisation = plans pour surfaces de rponse: modles du 1er ou 2me degr Plans de mlanges : adapts aux facteurs dpendants Plans complets/fractionnaires : plans factoriels complets : toutes les combinaisons des niveaux de facteurs sont prsentes plans factoriels fractionnaires : tous les niveaux de chaque facteur sont prsents , mais pas toutes les combinaisons possibles de facteurs
Historique : travaux de Fisher (1925) pour des essais combinant plusieurs facteurs, applications en agronomie (trs grand nombre de paramtres), puis aspects thoriques tudis par les statisticiens (Plackett et Burman, 1946), ensuite applications par les industriels et universitaires (Box, Behnken, Taguchi, ).
Plans dexpriences
13
2.
Ce sont les plus simples, mais ils ont de nombreuses applications (complets ou fractionnaires) 2.1 Plan complet 2 facteurs : 22 Exemple : tude du rendement dune raction chimique 2 facteurs : temprature et pression
P (bars) C 2 A 1 T (C) 60 80 B D
Variables centres rduites : changement dunit de mesure et dorigine pour avoir niveau bas= -1 et niveau haut = +1 pour tous les facteurs : T P Var.c..rd. 60C 1 bar -1 70C 1.5 bar 0 80C 2 bars 1
La variable centre rduite prend la valeur 0 au milieu du domaine. Pas : valeur en units dorigine correspondant 1 en units rduites. (pour T, pas = 10C)
Matrice dexprience (ou matrice des essais) : N Temprature Facteur 1 -1 +1 -1 +1 Pression Facteur2 -1 -1 +1 +1 Rendement (rponse) 60 70 80 95
1 2 3 4
Effet global et effet moyen dun facteur : Moyenne des rponses au niveau +1 de T:
P
y+ = ! (y2 + y4) = 82.5 Moyenne des rponses au niveau -1 de T: y- = ! (y1 + y3) = 70 Effet global de la temprature :
1 2 y-
y3=80
y4=95
Plans dexpriences
ETg = (y+ - y- ) = 12.5 Effet moyen de la temprature : ET = ! ETg = ! (y+ - y- ) = 6.25 soit : ET = ! ( - y1 + y2 - y3 + y4) Et de mme pour leffet moyen de la pression : EP = ! ( - y1 - y2 + y3 + y4) Remarque : les rponses sont numrotes dans lordre des essais (cf. matrice dexpriences) ; les signes dans ET et EP sont ceux qui apparaissent dans la colonne du facteur tudi. Cette rgle se gnralise tous les plans factoriels 2 niveaux quel que soit le nombre de facteurs. Moyenne de toutes les rponses : I = " (y1 + y2 + y3 + y4) = " (60 +70 +80 +95) = 305/4 = 76.25 (valeur de la rponse au centre du domaine exprimental) Interaction entre les facteurs : lorsque leffet dun facteur dpend du niveau des autres facteurs : Au niveau bas de T, leffet de la pression est : Ep- = ! ( y3 - y1 ) = ! (80 60) = 10 Au niveau haut de T : Ep+ = ! ( y4 - y2 ) = ! (95 70) = 12.5 Linteraction de la temprature sur la pression est la moiti de la diffrence entre Ep+ et EpEtp = ! { ! ( y4 - y2 ) - ! ( y3 - y1 ) } = " (y1 - y2 - y3 + y4) Etp = ! (12.5 10) = 1.25 Interaction de la pression sur la temprature : ! ( ! (95 80) ! (70 60) ) = ! (7.5 5) = 1.25 On a: interaction T sur p = interaction p sur T (rsultat gnral) ETp = EpT = " (y1 - y2 - y3 + y4) Remarque: Interaction: couplage des effets des facteurs sur la rponse Indpendance: les niveaux d'un facteur ne sont pas lis aux niveaux des autres (toutes les combinaisons sont ralisables) Pour retrouver ces formules dans un cas gnral , on construit la matrice des effets :
Plans dexpriences
15
Matrice des effets N Moyenne Temprature Facteur 1 -1 +1 -1 +1 Pression Facteur2 -1 -1 +1 +1 Interaction 12 Rendement (rponse) 60 70 80 95
1 2 3 4
+1 +1 +1 +1
+1 -1 -1 +1
Div.
4 6.25
4 11.25
4 1.25
Effet 76.25
Signe d'une rponse dans la formule d' interaction = (signe facteur1) * (signe facteur 2) Pour les plans factoriels 2 niveaux, les effets et les interactions se calculent de cette manire quel que soit le nombre de facteurs. conclusion de lexemple : le meilleur rendement est obtenu en augmentant la fois la pression et la temprature. 2.2 Plan complet 3 facteurs : 23 Exemple : tude dune mulsion de bitume . Problme : recherche de linfluence dun acide gras et de lacide chlorhydrique sur la stabilit de lmulsion, pour 2 bitumes A et B. Facteur 1 : acide gras : faible (-) et forte (+) concentration Facteur 2 : acide chlorhydrique : trs dilu (-) et peu dilu (+) Facteur 3 : nature du bitume : A (-) et B (+) (cest une variable discrte) Rponse : indice de stabilit de lmulsion (en points) Objectif : mulsion stable (indice faible) Domaine exprimental : cube
Plans dexpriences
16
Fac.2
(HCl)
Fac.3
(bitume)
Int. 12 + + + +
Int. 13 + + + +
Int. 23 + + + +
In. 123 + + + +
Rponses 38 37 26 24 30 28 19 16
+ + + +
+ + + +
+ + + +
Div. Effets
8 27.25
8 -1
8 -6
8 -4
8 -0.25
8 -0.25
8 0.25
8 0
Interprtation : Leffet du facteur 2 (E2) est le plus important ; il est < 0 : la valeur de la rponse diminue quand le facteur passe du niveau 1 +1. E1 est faible (la concentration dacide gras est sans importance) La nature du bitume est galement importante (meilleur rsultat avec B) Pas dinteractions significatives Notation de Box : E1 " 1, E123 " 123
2.3 Construction des plans factoriels complets k facteurs : 2k Construction de la matrice dexprience et numrotation Numrotation dite classique : les essais sont numrots de 1 n. Dans les colonnes, les valeurs sont les suivantes : Suite des signes du facteur 1 : - + - + - + Suite des signes du facteur 2 : - - + + - - Suite des signes du facteur 3 : - - - - + + + + Et ainsi de suite (8-, 8+ ; 16-, 16 + ; ) 2k essais faire, k effets principaux, 2k -k- 1 interactions Reprsentation matricielle : soit X la matrice forme des lignes et colonnes des moyennes, facteurs, interactions :
Moy.
X=
+1 +1 +1 +1
-1 +1 -1 +1
-1 -1 +1 +1
+1 -1 -1 +1
Plans dexpriences
17
On a alors :
1 t X Y 4
1 t X Y n
On peut considrer la transformation du vecteur des rponses Y par la matrice Xt comme le moyen de faire apparatre leffet de chaque facteur sparment, alors que les influences ne sont pas visibles directement dans Y Xt caractrise lemplacement des points exprimentaux, do limportance de bien placer ces points. Les matrices Xt sont des matrices dHadamard, qui ont des proprits mathmatiques particulires : X -1 =
1 t X n
(calcul des rponses partir des effets) (I = matrice identit)
Et on a : Y=XE Xt X = n I
3.
On peut dmontrer que cette valeur de Xt X est celle qui donne la meilleure prcision possible Units : la moyenne, les effets et les interactions sont exprims dans les mmes units que celles utilises pour mesurer les rponses.
Soit X la matrice d'expriences. Xt X = matrice d'information (Xt X)-1 = matrice de dispersion Critres doptimalit dun plan dexpriences :
Plans dexpriences
18
a) critre de la matrice unit : Xt X = n I o n = nombre dexpriences est le meilleur critre, mais ne peut tre satisfait que pour n = 4 p b) dterminant maximal : dt (Xt X) le plus grand possible c) Trace minimale : tr(Xt X) -1 la plus faible possible (trace = somme des lments de la diagonale principale) d) Llment maximal de la diagonale principale doit tre le plus faible possible. Remarques : ces critres ne sont pas incompatibles ; a) implique b), c) et d). Si (Xt X)-1 est diagonale, la matrice d'expriences est dite orthogonale Il existe un trs grand nombre de matrices d'expriences, pour des domaines cubiques ou sphriques, des modles du 1er ou 2me degr (Box-Behnken, Doehlert, ); pour choisir un P.E., on dispose de tables donnant les matrices d'expriences possibles en fonction du nombre d'expriences envisag, de niveaux des variables,
Rfrences : Introduction aux plans dexpriences, Jacques Goupy, Dunod, Paris, 2001, Plans dexpriences pour surfaces de rponse, Jacques Goupy, Dunod, 1999, Plans d'expriences, applications l'entreprise, Jean-Jacques Droesbeke, Jeanne Fine, Gilbert Saporta Editeurs, Technip Pratique des plans d'expriences, Paul Schimmerling, Jean-Claude Sisson, Ai Zadi, Tec&Doc
Plans dexpriences
19
Cette notion d'approximation est aussi connue sous le nom de "surfaces de rponse"; elle est largement utilise dans le contexte des plans d'expriences considrs comme outils d'optimisation, lorsqu'il y a plus de 2 niveaux par facteur (approximations linaires sinon);
Approximations
20
De plus, les approximations permettent de relier analytiquement les fonctions aux paramtres ce qui permet : ! de rsoudre des problmes approchs de minimisation de manire plus robuste ! de capitaliser les connaissances relatives au problme tudi quand on utilise des approximations globales (surfaces de rponse) Les approximations peuvent tre de deux types : les approximations globales et les approximations locales.
2.Approximations locales Soit le problme doptimisation suivant : Minimiser f(x) x avec les conditions : gj (x) ! 0 j = 1, , m Une approximation locale de ce problme au point x0 consiste approcher la fonction cot f et les limitations gj par des approximations de Taylor f x et g jx 0 0 autour de ce point x0. On minimise alors une suite de problmes approchs : Minimiser f x (x) 0 x avec les conditions :
Ap Ap Ap
g Ap jx (x) ! 0
0
j = 1, , m
On considre en gnral pour x0 la solution du problme approch prcdent. On arrte le processus lorsque deux problmes approchs successifs donnent des solutions trs proches. Comme ces approximations ne sont valables que localement, on imposera en gnral la solution du problme approch de rester dans un certain voisinage du point de dpart (techniques de rgion de confiance), sinon des solutions successives peuvent osciller entre plusieurs points.
2.1 Linarisation directe
On utilise un dveloppement limit dordre 1 par rapport xi et on considre les approximations suivantes:
f L (x ) = f (x0 ) + # (xi " x0i )
i =1 n n
!f (x0 ) !x i !g j !x i
gL j (x ) = g j (x 0 ) + # (x i " x 0i )
i =1
(x0 )
Approximations
21
On utilise un dveloppement limit dordre 1 par rapport linverse des variables yi=
( x ) = f ( x0 ) + # ( xi " x0i )
i =1 n
x 0 i !f x i !x i
( x0 ) ( x0 )
gj
( x ) = g j ( x0 ) + # ( xi " x0i )
i =1
x 0 i !g j x i !x i
2.3 Linarisation convexe La linarisation convexe consiste linariser les fonctions par rapport aux variables ou par rapport leur inverse (choix fait variable par variable) de manire obtenir un domaine admissible approch le plus conservatif possible (si possible inclus dans le domaine admissible rel, mais ce nest pas systmatiquement vrifi). Dans le cas o les limitations imposes sont de la forme : gj (x) ! 0 j = 1, , m lapproximation convexe g j est conservative par rapport aux deux prcdentes si elle surestime la valeur de la contrainte, cest--dire si on a :
C
g j ! g j et g j ! g j
On prendra donc, pour chaque variable xi, le terme le plus grand entre :
!gj (x 0) !xi
(lin. directe)
(lin. rciproque)
(x ) "
R gj
(x ) = #
( xi " x0 i )2 !g j
xi !x i
i =1
( x0 )
Si les paramtres sont positifs (cest souvent le cas), on dfinit donc la linarisation convexe par :
Approximations
22
g j ( x ) = g j ( x 0 ) + % ( x i " x 0 i ) Ci
C i =1
!g j !x i
( x0 )
( x ) = f ( x0 ) + # ( x i " x0 i )
i =1 n
!f !x i
( x0 ) +
2 i = 1 k = 1 !x i !x k 1
n n
##
! f
2
( x0 )
Q gj
( x ) = g j ( x0 ) + # ( x i " x0 i )
i =1
!g j !x i
( x0 ) +
2 i = 1 k = 1 !x i !x k
##
! gj
Exercice : Calculer les approximations linaires directe, rciproque, convexe et lapproximation quadratique de la fonction g au point (1,1)
g(x1 , x 2 ) =
2 x 2 + 0.25 x1
3 3 x1
!1
fonction g exacte
linarisation convexe de g
Approximations
23
3. Approximations globales
Les approximations globales relient les fonctions aux variables de conception en sappuyant sur un quadrillage ou sur un ensemble de points rpartis dans tout ou partie du domaine admissible. Ces approximations sont gnralement dautant meilleures ou plus sres (critres de qualit dfinir) que lapproximation est plus riche (dpendant dun grand nombre de paramtres) et quelle est dfinie partir dun grand nombre de points reprsentatifs. Cependant, les approximations polynmiales de degr lev prsentent un risque doscillations ; en pratique, ce sont les degrs 2 ou 3 les plus utiliss. Supposons que lon cherche approcher la fonction g(x1, x2) (f ou lun des gj). On choisit dapprocher cette fonction sur lespace de conception sous la forme suivante :
g ap ( x1 , x 2 ) = P ( x1 , x 2 ) {!}
x1
Point utilis Pour lapproximation
gj = 0 x2
3.1 Interpolation
Si le nombre de points utiliss pour dfinir lapproximation Nap est gal Np, alors on interpole la fonction g sur lespace de conception par la formule :
% % P x Nap , y Nap % ,
" # g (x1 , y1 ) & ' & ' g (x 2 , y 2 ) & ,{ )}= ' ... & ' & ' g xN , y N ap ap & * -
$ ( ( ( ( ( +
Remarque : il faut que les points sont placs de telle sorte que la matrice Pn soit inversible
Approximations
24
g ap ( x1 , x 2 ) = P ( x1 , x 2 ) Pn
[ ]!1 {"}
J ({!}) =
La minimisation de cette fonction cart par rapport {a} permet dobtenir le vecteur de paramtres :
g(x1 , x 2 ) =
2 x 2 + 0.25 x1
3 3 x1
!1
sous
la
g(x1 , x 2 ) = 1, x1 , x 2
{!}
partir des points d'valuation suivants: (0.5, 0.5 ), (0.5,1.5 ), (1.5, 0.5 ), (1.5,1.5 ) .
Approximations
25
Introduction
Le cas particulier de la minimisation unidirectionnelle, ou unidimensionnelle est trs particulier car il concerne deux situations :
!
Min f(x) x R
En effet, tout point dans la direction sk scrit : x = xk + ! sk xk , sk " Rn et on peut dfinir la fonction F(!) = f( xk + ! sk) avec ! > 0, xk et sk connus.
La recherche du pas !* qui minimise F(!) est un problme de minimisation 1 dimension (recherche 1D, linaire ). Reprsentation graphique dans le cas de 2 dimensions :
2
1 0
1 .5
8
0 .5
0
4
- 0 .5
-1
1
- 1 .5
B
- 1 .5 -1 - 0 .5 0 0 .5 1 1 .5 2
-2 -2
Coupe suivant AB
! ] encadrant le minimum
b) Rduction de cet intervalle : plutt que de minimiser f avec prcision dans une direction, on rduit lintervalle initial (!g , !d) jusqu' une longueur finale donne. On aura, dans certains cas, besoin de supposer f unimodale pour justifier les algorithmes: cela signifie quelle est dcroissante jusqu !* , puis croissante : !1 < !2 < !* !* < !1 < !2 # f(!1) > f(!2) # f(!1) < f(!2)
Min_1Dim
26
2.
Cette mthode suppose f unimodale. Soit un point de dpart !0 donn. Lobjectif est de trouver 3 points !k-2 , !k-1 et !k tels que lon ait : f(!k-2 ) > f(!k-1) et f(!k-1) < f(!k) On dfinit le paramtre dexpansion r > 1, le pas $0 et t (0 < t < 1/r) lalgorithme est le suivant : a) calculer f(!0) et f(!0 + $0)
b) Si f(! + $ ) > f(! ), aller en d)
0 0 0
Sinon, soit !1 = !0 + $0 et $1 = r $0 (expansion, $1 > $0 ) Calculer f(!1 + $1) c) Si f(!1 + $1) < f(!1), soit !2 = !1 + $1 et $2 = r $1 et continuer calculer !k et $k ainsi jusqu ce que lon ait: f(!k + $k) > f(!k) ; aller alors en h). d) on a f(!0 + $0) > f(!0) soit !1 = !0 et $1 = - t $0 Calculer f(!1 + $1) e) Si f(!1 + $1) > f(!1), aller en g) sinon, f) Soit !2 = !1 + $1 et $2 = r $1 calculer !k et $k de cette manire jusqu ce que lon ait: f(!k + $k) > f(!k) ; aller alors en h).
f(!0) f(!1)
f(!1) = f(!0)
f(! + $ )
1 1
!2=!1+$1
!1=!0
!0 + $0
g) on a : f(!1 + $1) > f(!1) Le minimum est encadr par (!0 - t $0 ) et (!0 + $0) ; aller en i) h) Les 3 derniers points vrifient : f(!k-2 ) > f(!k-1) et f(!k-1) < f(!k) Le minimum est encadr par !k-2 et !k i) Rduire lintervalle par une des mthodes suivantes ...
Min_1Dim
27
3.
Mthode de dichotomie
Lintervalle, (a, b) contenant le minimum est suppos connu. Principe : diviser par 2, chaque pas, la longueur de lintervalle en calculant la fonction en 2 points. - f unimodale, (a, b) donns, - calculer c=(a+b)/2, d milieu de [a, c], e milieu de [c, b] - Calculer f en ces 5 points. f unimodale, donc on peut toujours liminer 2 des 4 sous-intervalles : on garde les 2 sous-intervalles entourant la valeur minimale parmi les 4. - Calculer 2 nouveaux points (milieux des 2 sous-intervalles) - Test darrt : sur la longueur de lintervalle, ou sur le nombre ditrations (= sa rduction).
a0
d0 a1 d1
c0 c1 e1
e0 b1
b0
Il faut
Min_1Dim
28
4.
Dans cette mthode, les intervalles successifs sont rduits dans un rapport constant qui permet de rutiliser 3 des 4 points de litration prcdente. Principe : a) intervalle initial [0, c], soient a et b 2 points entre 0 et c b) liminer un des sous-intervalles [0, a] ou [b, c], suivant les valeurs de f c) si longueur de lintervalle < % , fin d) sinon, calculer la fonction en UN seul nouveau point qui permet de dcouper le nouvel intervalle (rduit) en 3 segments de manire analogue au dcoupage initial, et aller en b)
Pour que 3 points sur 4 soient rutiliss, a et b doivent donc tre tels que : symtrie : rapport constant : c-b=a (c- b)/ c = (b - a)/ b
(c- b)/ c = ( b - (c-b) ) / b bc b2 bc + c2 - bc = 0 -1 + (c/b) 2 - (c/b) = 0 &= 5 , et c/b = (1 '5)/2 c/b > 0 # c/b = (1 + '5)/2 = 1.618034..= nombre dor
a'
b'
Nouveau point Il faut 13 calculs de f pour rduire lintervalle initial par 100, 22 pour le rduire par 10000
Min_1Dim
29
5.
Cest une mthode trs gnrale et trs utilise pour la rsolution dquations non linaires. Pour trouver le minimum de f(x), on l'applique la recherche d'un point stationnaire de f c'est--dire la rsolution de: f(x*) = 0 La mthode consiste linariser f : Au point xk, on considre l'approximation: f(x) ( f(xk) + (x - xk ) f(xk) = f1(x)
x0
x1
x2
f'(x k ) =x f''(x k )
k
Lim
x k+1 ! x * x k ! x*
2
="
($ > 0)
k )* - La mthode revient supposer f quadratique, il y a donc convergence en un seul pas si f est quadratique, mais : - il faut f et la drive seconde de f, et il faut f(xk) > 0 - et pas de convergence globale Variante : la mthode de la scante permet dviter le calcul de la drive seconde de f ; elle est analogue la mthode de Newton, mais on remplace f par une approximation du type diffrences finies: f(xk) (
f '( xk ) ! f '( xk !1 ) xk ! xk !1
Min_1Dim
30
Interpolation polynomiale
(cf chapitre sur les mthodes dapproximations) Le principe est dapprocher f par une fonction dont on sait calculer facilement le minimum, par exemple une parabole ou une cubique. Pour dterminer les coefficients du polynme, on utilisera plusieurs valeurs de f, ou bien des valeurs de f et de sa drive, mme de sa drive seconde si on peut la calculer. On itrera sur lapproximation polynmiale, en remplaant par exemple un des points par le dernier minimum estim. Approximation quadratique : on doit calculer les coefficients a, b, c tels que : fq (x ) = a x2+ b x + c soit une approximation de f(x) ; il faut donc 3 donnes : la valeur de f en 3 points, ou f en 2 points et sa drive en 1 point. Soient xk et yk 2 points de lintervalle contenant le minimum, ou bien dfini par les bornes sur les variables ; on calcule par exemple f(xk ), f(xk ), f(yk ). On a alors : fq (xk ) = a xk2+ b xk + c = f(xk ) fq (yk ) = a yk2+ b yk + c = f(yk ) fq (xk ) = 2 a xk + b = f(xk ) do a, b, c, et si f est convexe, le minimum de fq est x*1 = - b/ 2a Ce nouveau point est ensuite utilis pour refaire une interpolation ; on calcule f(x*1), (ventuellement f(x*1 )) et on fait une nouvelle approximation en utilisant 3 des quantits connues.
approximation
f(x)k
f(x)k
Fonction exacte
f(yk) xk yk x*
xk yk x*1
approximation cubique : de manire analogue au cas quadratique, les coefficients du polynme sont calculs partir de f en 4 points , ou de f et son gradient en 2 points. si on veut prendre en compte la non-convexit de f dans lintervalle initial, il existe des mthodes plus sophistiques
Min_1Dim
31
1.
Mthode de relaxation
On optimise une seule variable la fois, les autres restant fixes ! ne ncessite quune mthode 1D, mais pas trs efficace.
1 .5
0 .5
- 0 .5
-1
- 1 .5
-2 -2
- 1 .5
-1
- 0 .5
0 .5
1 .5
2.
Cest une mthode qui nutilise pas les drives de la fonction. (mthode dordre 0). En dimension n, un simplexe est un polygone n + 1 sommets (en 2D : triangle) Le principe est de dplacer dans le domaine un simplexe en remplaant itrativement le plus mauvais point, (cest--dire le point du simplexe o f atteint sa plus grande valeur), par un point meilleur. Il y a 3 tapes : rflexion, contraction, expansion. Dans ses grandes lignes, lalgorithme est le suivant : a) Soit un simplexe : x0, x1, xn , qui peut tre construit au dpart en prenant par exemple : xj = x0 + p ej +
k =1 k" j
a
q ek
j = 1, , n
avec :
n 2
( n + 1 + n ! 1)
q=
a n 2
( n + 1 ! 1)
Min_sans_lim
32
b)
soit :
xs le point du simplexe o f est maximale f(xs) = fs xg celui o elle prend sa 2me plus grande valeur xi celui o elle est minimale f(xi) = fi w : barycentre des points xj pour j"s (sauf le max)
c) rflexion (sloigner de xs): crer un point xr sur la droite xs w : xr = w + #(w - xs ) calculer f(xr) = fr xg xs w rflexion expansion xr xe avec # > 0 (#=1)
xi
d) si fi < fr < fg
remplacer xs par xr
et aller en b) (i, g, r)
e) si fr < fi (xr meilleur que le min actuel) : essayer daller plus loin (expansion) en calculant : xe = w + $( xr - w) avec $ > 0 ($=2)
f) si f(xe) < fr remplacer xs par xe et aller en b) avec (i, g, e) g) sinon (f(xe) % fr ) remplacer xs par xr et aller en b) avec (i, g, r)
xc = w + & (w - xs)
(&=0.5)
xs
xc w
xr xi
Min_sans_lim
33
xs
xc w
xr xi j) si fc > fs (xc encore moins bon que le pire des points, se rapprocher du meilleur): remplacer tous les points par : xj' = xi + 0.5 (xi - xj) et aller en b) avec le simplexe de taille rduite (s', i, q') xg
xs
Critre de convergence :
Min_sans_lim
34
Ncessite les drives 1res Cette mthode est attribue Cauchy (1847) ; elle utilise la proprit du gradient : en tout point x, -)f(x) est la direction de plus grande descente, et suit le schma gnral des algorithmes de minimisation: construire une suite de points x1, x2, , xk, tels que f(xk+1) < f(xk) et qui converge vers un point stationnaire de f La mthode de la plus forte pente consiste prendre : xk+1 = xk- #k )f(xk) avec # = pas optimal obtenu par une recherche 1d Le test darrt pourra porter sur : - la variation de f : *f(xk+1) - f(xk) * < (f - ou la variation des variables x : **xk+1 - xk ** < (x - ou la: norme du gradient : **)f(xk+1)** < (x Le taux de convergence est linaire ; cest une mthode peu efficace car il y a un risque de zig-zag sur les fonctions mal conditionnes; en effet : #k = pas optimal, donc F(#) = f(xk- # )f(xk)) est minimale en #k F(#k) = 0 = )f(xk)T )f (xk- # )f(xk)) = )f(xk)T )f (xk+1) ! avec le gradient pas optimal, 2 directions conscutives sont orthogonales, donc la suite des points (xk ) oscille si f mal conditionne (de type valle troite ) Exemple : le graphique ci-dessous reprsente les itrs obtenus avec la mthode de plus forte pente sur la fonction : f(x)=! xT A x avec A = # "1
!50 1$ 2& %
f o n c t io n q 2 v
2 0
433.2
1 4 0 0
361 79 .82 1 5 88 1 2 13 4 6 6. 21 71 54 4 . 1 0 4 14
5 7 2 .2 6 8 1 1 9
-2
0109
1 2 0 0
1 0 0 0
8 0 0
6 0 0
4 0 0
2 0 0
Orthogonalit des directions successives : attention, les axes du graphique ne sont pas orthonorms
Min_sans_lim
35
4. Mthodes du gradient conjugu et de Fletcher-Reeves Caractristique des mthodes de directions conjugues : elles convergeront en n itrations sur des fonctions quadratiques de n variables. Pour une fonction quelconque (non quadratique), ceci signifie quau voisinage du minimum la convergence sera rapide, car on sait (Taylor) quon peut approximer localement toute fonction par une fonction quadratique. Dfinition de directions conjugues: Soit A une: matrice symtrique dfinie positive ; on dit que s0 , s1 , , sn-1 + Rn sont conjugues par rapport A si on a : siT A sk = 0 pour tous i, k, i " k Algorithme du gradient conjugu : Soit q(x)= ! xT A x + bT x + c une fonction quadratique minimiser, avec A : matrice symtrique dfinie positive, b + Rn, c + R a) k=0, point initial x0 , g0 = )f(x0)=A x0 + b, s0 = - g0 b) Calcul du pas optimal dans la direction sk : #k = c) Point suivant : xk+1 = xk + #k sk d) Gradient et direction suivants : g sk+1 = -gk+1 + $k sk e) k=k+1 ; si k<n aller en b), sinon fin Justification du calcul de #k: dans la direction sk on a : F(# ) = f(xk + # sk ) Le pas optimal est cherch comme solution de F(#) = 0, soit : F(#) = skT )f(xk + # sk) = skT {A (xk + # sk) + b} = skT {(A xk + b) + # A sk } = skT { )f(xk) + # A sk } F(#) = 0 donne donc bien:
k+1
s kT g k s kT As k
k
= )f(x
k+1
),
gk +1T As k $ = s kT As k
s kT !f ( xk ) # =s kT As k
k
La mthode de Fletcher-Reeves est une adaptation du gradient conjugu pour des fonctions non quadratiques. Les diffrences sont les suivantes : - Calcul du pas optimal #k par recherche 1D - Calcul de $ : $k = ,,)f(xk+1) ,, 2 / ,,)f(xk),, 2 - Test darrt ncessaire, puisquon na plus la proprit de convergence en n itrations. Une autre variante, la mthode de Polak-Ribire utilise : $k = ( )f(xk+1) - )f(xk) ) T )f(xk+1) / ,, )f(xk) ,, 2
Min_sans_lim
36
5. Mthode de Newton Cest une mthode dordre 2 (ncessite les drives secondes de la fonction minimiser), gnralisation n dimensions de la mthode de Newton-Raphson. En un point xk donn, on calcule le prochain point (xk+1 = xk+s) en utilisant lapproximation quadratique locale de f au point xk : f(xk+s) - f(xk) +sT )f(xk) + ! sT H(xk) s = q(s) avec H(x) =)2f(x) On prend comme point suivant le minimum de q(s) , qui est dfini par: )q(s) = )f(xk)+ H(xk) s = 0 soit : sk = - (H(xk)) -1 )f(xk) La mthode de Newton consiste donc itrer sur la formule de mise jour suivante : xk+1 = xk - (H(xk)) -1 )f(xk) Elle converge en un seul pas si f est quadratique, mais prsente plusieurs inconvnients : Risque de divergence (si non convexit, H(xk) nest pas dfinie positive) Risque de convergence vers un point stationnaire qui nest pas un minimum si H(xk) nest pas dfinie positive (maximum local, point de selle) Pour tenter dviter ces problmes, on peut ajouter une tape de minimisation unidirectionnelle ; sk est alors considr comme une direction de descente; on doit faire une recherche unidirectionnelle, et on a la formule de Newton plus gnrale :: xk+1 = xk - #k (H(xk)) -1 )f(xk) ncessit de calculer les drives secondes et dinverser le Hessien Les mthodes de quasi-Newton (ou mtrique variable ) vont permettre de remdier ces difficults.
Min_sans_lim
37
6. Mthodes de mtrique variable ou de quasi-Newton Leur principe est de remplacer, dans la formule de la mthode de Newton, (H(xk)) -1 par une matrice Bk calcule chaque itration de telle sorte que la suite (Bk) converge vers (H(xk)) -1. Puisque lon na plus le Hessien exact, il est cette fois indispensable dutiliser une recherche unidirectionnelle : Newton : Quasi-Newton : xk+1 = xk - #k (H(xk)) -1 )f(xk) xk+1 = xk - #k B k )f(xk)
Il reste dfinir comment construire la suite (B k ). Plusieurs algorithmes existent pour cela. On utilise une mise jour du type : B k+1 = B k + . k avec . k telle que B k+1 soit symtrique dfinie positive.
et on impose la condition, dite quation de quasi-Newton : B k+1 ( )f(xk+1) - )f(xk) ) = xk+1 - xk note : B k+1 &k = /k avec : /k = xk+1 - xk et &k = )f(xk+1) - )f(xk) )
Remarque : cf. l approximation de f par diffrences finies en dimension 1, ou mthode de la scante : f(x) - (f(y) f(x)) / (y - x) ; ici B k doit approcher (H(xk))-1) .
Lalgorithme dune mthode de quasi-Newton se droule selon les tapes suivantes: a) k=0 ; soient x point initial, B une matrice symtrique dfinie positive (par exemple la matrice identit) b) c) d) Calculer la direction de descente : s k = - B k )f(xk) Recherche unidirectionnelle : calculer #k minimisant f(x k + #k s k) Calculer : le point suivant le gradient en ce point : la variation de x : la variation du gradient : x k+1 = x k + #k s k )f(xk+1) /k = xk+1 - xk &k = )f(xk+1) - )f(xk) )
e) Calculer Bk+1 : ce calcul diffre selon lalgorithme choisi ; nous donnons les formules correspondant aux deux mthodes qui sont le plus couramment utilises : 0 la mthode de Davidon-Fletcher-Powell : Bk+1 = Bk +
Min_sans_lim
38
Remarques: Il faut procder des rinitialisations de la matrice Bk priodiquement pour assurer la convergence globale. BFGS est moins sensible que DFP aux imprcisions de la recherche unidirectionnelle. Elle a un taux de convergence superlinaire, et est souvent considre comme une des mthodes les plus efficaces. BFGS est aussi utilise pour rsoudre des systmes d'quations.
Min_sans_lim
39
x : variables relles, continues gj et hl : contraintes, ou limitations, ou restrictions, continues, (diffrentiables, convexes ? ) galits et/ou ingalits (galits seulement ?) Point admissible : qui vrifie les limitations domaine admissible : ensemble A de tous les points x o toutes les limitations sont satisfaites (convexe ?). (domaine non admissible : ensemble de tous les points x o au moins une des limitations nest pas satisfaite) (Q) scrit aussi : Minimiser f(x) x "A
Gnralement, la solution x* se trouve sur la frontire du domaine admissible (sinon les limitations sont inutiles, problme mal pos ). Si une limitation dingalit est nulle en un point x elle est dite active ou sature en x. Une des difficults, dun point de vue algorithmique, est que lon ne sait pas a priori quelles limitations seront actives loptimum. g3 g4 Domaine admissible g2
g1 # g2 # g1
Min_lim
32
Cas particuliers (rsultats thoriques, mthodes associes): f, gj et hl linaires f, gj et hl linaires ou quadratiques f quelconque, gj et hl linaires f, gj et hl convexes Dans le cas gnral : recherche dun minimum local
2. Rsultats thoriques
Il faut dj dfinir le cadre dans lequel des conditions doptimalit peuvent tre tablies : 2.1 Qualification des limitations Dfinitions : soit x situ sur la frontire de A . Un arc de courbe est admissible en x si il part de x et est contenu dans A au voisinage de x. Une direction admissible est un vecteur tangent un arc de courbe admissible en x. (on peut se dplacer sur ce vecteur en restant dans le domaine admissible, au moins dans un voisinage de x) Proprit : Toute direction y admissible en x vrifie : # gj(x)T . y ! 0 pour toute limitation gj sature en x (parce que gj doit tre ! 0) Mais la rciproque nest pas toujours vraie (voir figure).
g1(x) = - (1-x1)3 + x2
Rciproque fausse : on a : # gj(x)=(3(1-x1)2, 1) T En x0=(1, 0) : # gj(x) . y ! 0 (= 0) avec le vecteur y=(1, 0) et pourtant : y non admissible (Contraintes non qualifies)
Min_lim
33
y est telle que : # gj(x)T . y ! 0 pour toute gj sature en x est quivalent : y est une direction admissible on dit alors que A vrifie lhypothse de qualification des contraintes (Q.C.) en x (les limitations sont qualifies en x) Exemples densembles admissibles vrifiant (QC) :
! ! ! !
quand les fonctions gj sont toutes linaires, quand les gradients des contraintes actives sont linairement indpendants, quand toutes les fonctions s gj sont convexes (et que A nest pas vide) ...
Dans les autres cas, on ne peut pas vrifier (QC) , et on ne connat pas de conditions doptimalit (donc on na pas de garantie de convergence des mthodes bases sur ces conditions) 2.2 Condition ncessaire doptimalit (Karush, Kuhn et Tucker) 2.2.a cas des contraintes dgalit (fonction 2 variables) Minimiser f(x1, x2) h(x1, x2)=0 (Qe)
La contrainte dgalit exprime une relation implicite entre x1 et x2 que lon peut crire sous la forme explicite (mme si elle nest pas dterminer) x2=$ ( x1). Le problme revient alors dterminer le minimum de la fonction dune seule variable % dfinie par : % ( x1)= f(x1, $ ( x1)). Une condition ncessaire pour obtenir ce minimum est : d! "f "f d# x1, # (x1 )) + x1, # (x1 )) (x1 ) = (x1 ) = 0 ( ( dx1 "x 1 "x 2 dx1 Dautre part, la relation dgalit (Qe) implique : !h !h d" h (x1, " (x1 )) = 0 # x1, " (x1 )) + x1, " (x1 )) (x1 ) = 0 ( ( !x 1 !x 2 dx1 Des deux dernires quations, on tire : ! #h " #f #f d$ #h d$ x1, $ (x1 )) + x1, $ (x1 )) x1, $ (x1 )) (x1 ) + % & (x1, $ (x1 )) + (x1 )' = 0 ( ( ( #x 1 #x 2 dx1 #x 2 dx1 ( #x 1 )
*%+ , En regroupant diffremment on peut crire : ! #f " #f #h d$ #h x1, $ (x1 )) + % x1, $ (x1 )) + x1, $ (x1 )) + % x1, $ (x1 ))' = 0 (x1 )& ( ( ( ( #x 1 #x 1 dx1 #x 2 ( #x 2 ) *%+ , Cette relation est vrifie pour tous les extremums lis de la fonction f et quelque soit & . La valeur particulire de & qui est telle que le systme suivant est vrifi reprsente le multiplicateur de Lagrange associ la limitation h(x1, x2)=0 :
Min_lim
34
!h " !f % !x (x1, # (x1 )) + $ !x (x1, # (x1 )) = 0 % 1 1 & ! f ! h % (x1, # (x1 )) + $ !x (x1, # (x1 )) = 0 % 2 ' !x 2 La rsolution du problme (P) revient ainsi dterminer (x1*, x2*, & ) tels que : !h * * " !f * * $ !x x 1 , x 2 + # !x x 1 , x 2 = 0 1 $ 1 $ !f ! h * * * * x1 , x2 +# x1 , x2 =0 % ! x ! x 2 $ 2 $ * * $h x1 , x 2 = 0 & On introduit la fonction de Lagrange : L(x1, x2, & ) = f(x1, x2) + & h (x1, x2) Les relations prcdentes correspondent aux conditions de stationnarit du Lagrangien L : " !L * * $ !x x 1 , x 2 , # = 0 $ 1 $ !L * * x1 , x 2 , # = 0 % $ !x 2 $ !L * * x1 , x 2 , # = 0 $ & !# Ces conditions de Lagrange caractrisent un point stationnaire (minimum, maximum, ou point de selle) de f vrifiant les galits : hl (x) = 0 l = 1, p
Elles sont ncessaires mais ne sont pas suffisantes. En effet, elles peuvent correspondre soit un minimum, un maximum ou bien encore un point-selle. Exemple 2.2.1 : Minimiser 2x1 + x2 Avec h(x) = x12 + x22 1 = 0 L(x, & ) = 2x1 + x2 + & (x12 + x22 1 )
!L = 0 donne : !xi
2 + 2 & x1 = 0 1 + 2 & x2 = 0 x1 = -1/& x2 = -1/(2& ) et h(x) = 0 ' (1/& )2 + 1/(2& ) 2 = 0 5 = 4& 2 & = ( 5/2 2 points vrifient les conditions de Lagrange, mais un seul est minimum : ces conditions sont ncessaires, mais pas suffisantes pour quun point soit optimum.
Min_lim
35
(2/( 5,1/( 5)
(-2/( 5,-1/( 5)
Exemple 2.2.2 . Prise en compte des conditions aux limites laide des multiplicateurs de Lagrange : a. On considre le cas lmentaire de lquilibre dun ressort de rigidit k dont lune des extrmits est fixe, une force F tant applique lautre extrmit.
2 F
La solution en dplacement du systme est obtenue en recherchant le minimum li suivant : $ k !k % " u1 # 1 Min E(u1,u2 ) = u1,u2 ( & ' ! Fu2 (Energie potentielle totale) !k k ) 2 * + , u2 u1,u2
u1 = 0 (contra int e d' galit) Le Lagrangien associ scrit : $ k !k % " u1 # 1 L(u1,u2 , & ) = u1,u2 ) * ' ( ! Fu2 + & (u1 ! 0 ) 2 + !k k , - u2 . La stationnarit du Lagrangien induit la rsolution du systme suivant : " k !k 1# $ u1 % $ 0 % ( !k k 0 ) & u ' = & F ' ( )& 2' & ' & ' & ' ( + 1 0 0) , - * . - 0. La rsolution du systme donne : F u1 = 0,u2 = , ! = F k On peut remarquer dune part, que le systme algbrique est inversible, alors que la matrice de rigidit non modifie par les conditions aux limites ne lest pas et dautre
Min_lim
36
part, que le multiplicateur de Lagrange a une interprtation physique(cest la raction au signe prs). Dans le cas gnral, si lon impose un systme issu dune modlisation par lments finis des conditions aux limites sur certains degrs de libert du type : uip = uip , p = 1,...nc le Lagrangien scrit : nc 1 L((u ), ! ) = u [K ](u ) " u (F ) + # !p uip " uip 2 p =1
o : (u) est le vecteur des degrs de libert de dimension n, [K] la matrice de rigidit assemble de dimension n*n. La stationnarit de L induit le systme rsoudre suivant : ! [K ] [B]" # (u )$ # (F )$ % T &' (=' ( ) ), + (* ), ( B 0 % & [ ] [ ] + . Bipp = 1, p = 1,...nc sinon Bij = 0 o :
2.2.b cas des contraintes dgalit (gnral) Minimiser f(x) h1(x)=0 . hp(x)=0
(Qe)
p
L(x, & ) = f(x) + !
o les nombres & l sont les multiplicateurs de Lagrange & l " R pour l =1, 2, , p
l =1
& l hl (x)
Les conditions de Lagrange caractrisent un point stationnaire (minimum, maximum, ou point de selle) de f vrifiant les galits : hl (x) = 0 l = 1, p Si x est solution de (Qe), alors il existe des nombres & l " R, l =1,2, , p tels que :
p !L !f "h = + # !l =0 !x i !x i l = 1 "x l
hl (x) = 0
l = 1, p
ce qui peut sexprimer aussi par : une condition ncessaire pour que x soit solution de (Qe) est quil existe un & tel que (x, & ) soit un point stationnaire de L. La mthode des multiplicateurs de Lagrange consiste rechercher la solution de (Qe) en rsolvant la condition de stationnarit de L: #x L = 0 #& L = 0
Min_lim
37
2.2.c Problme avec limitations dingalit : Conditions ncessaires doptimalit (KKT, Karush, Kuhn, Tucker) : On suppose que : f, gj j=1, ..., m sont continues et diffrentiables lhypothse de Q.C. est vrifie en x" A Alors, si x est un optimum local, il existe des nombres & j ) 0 tels que : # f(x) + ! & j# gj(x) = 0
j=1
& j gj(x) = 0
g1
Cne des directions admissibles
g2
x0
# g1
# g2 -# f(x0)
lensemble des directions admissibles est lintersection des demi-espaces dfinis par : {y tel que # gj(x)T . y ! 0 pour toute gj sature en x} x est un optimum (local) : -# f(x) fait un angle obtus avec chaque direction admissible (on ne peut plus diminuer f sans sortir du domaine admissible). -# f(x) est une combinaison linaire, coefficients & j > 0, des # gj(x), pour toute gj sature en x nuls. on a soit & j =0, soit gj(x) = 0 : les & j associs aux limitations non actives sont
Min_lim
38
On suppose que : f, gj , j=1, ..., m , hl, l =1, ..., p sont continues et diffrentiables l lhypothse de Q.C. est vrifie en x" A Alors, si x est un optimum local, il existe des nombres & j ) 0 et l de signe quelconque tels que : # f(x) + ! & j# gj(x) + ! l# hl(x) = 0
j=1
l=1
& j gj(x) = 0
j=1, ..., m
Remarques : * On suppose x" A , donc on a gj(x) ! 0 hl(x) = 0 * Si on a des limitations dgalit seulement, on retrouve les conditions de Lagrange 2.3 Condition suffisante doptimalit (pour des ingalits) Dfinition : (x*, & * ) est un point-selle (point-col) de la fonction de Lagrange: L(x, & ) = f(x) + ! & jgj(x)
j=1
& j ) 0 j=1, ..., m si on a : L(x*, & ) ! L(x*, & * ) ! L(x, & * ) pour tout x " Rn, pour tout & " Rm
Ceci signifie quen (x*, & * ), L a un minimum en fonction de la variable x et un maximum en fonction de &
CS doptimalit : si (x*, & * ) est un point-col de L(x, & ), alors x* est loptimum global du problme (Q). Cest un rsultat trs gnral (fonctions non convexes, non diffrentiables, variables discrtes,) mais pour certains problmes, il n existe pas de point-col...
CS doptimalit du second ordre: si on suppose que f, gj pour j=1, ..., m, hl pour l=1, , L sont 2 fois continment diffrentiables,
Min_lim
39
x* est un minimum local de (Q) sil existe des multiplicateurs de Lagrange & et tels que : Les conditions ncessaires de KKT sont vrifies en x* La matrice Hessienne du Lagrangien : # 2L(x*) = # 2f(x*) + ! & j# 2gj(x*) + ! l# 2h l(x*) = 0 est dfinie positive sur le sous-espace de Rn tangent aux contraintes actives en x*. yT # 2L(x*) y > 0 pour tout vecteur y + 0 qui vrifie : # hlT (x*) y = 0 pour l=1, , p et # gj T (x*) y = 0 pour tout j pour lequel gj (x*) = 0 avec & j < 0 2.4 CNS dans le cas convexe Si on suppose que f et gj pour j=1, ..., m sont convexes et diffrentiables, alors : x* optimum global de (Q) conditions de K.K.T. vrifies en x*
j=1
l =1
Remarque : en pratique, il est trs rare de savoir si les conditions de convexit sont satisfaites. Cela nempche pas dutiliser des algorithmes qui sappuient sur ces conditions doptimalit, mais on obtiendra gnralement au mieux un minimum local. Pour tre fiable et robuste, un algorithme doit inclure des vrifications qui permettent dexclure les points-selle (en x) et les maxima (o les conditions de stationnarit sont aussi satisfaites).
Exemple :
Min_lim
40
On va montrer que la rsolution des conditions de KKT donne les valeurs du minimum x et des multiplicateurs & associs :
$ %0 0! "
$ %0 2! "
(1)
(2) (3)
Pour rsoudre, on tudie les diffrents cas possibles (ce nest pas une mthode gnrale).
Min_lim
41
Si & 1 = & 2 = 0, (2) est vrifie, mais pas (1) Si & 1 + 0 et & 2 = 0, (1) ' 2 x1 + 2 x1 & 1 = 0, & 1 = -1 ne vrifie pas (3), donc x1 = 0 (2) scrit & 1 (x22 9) =0, et comme & 1 + 0, x2 = 3 si x2 = 3, (1) ' 1 + 6& 1 = 0 ,impossible avec (3) donc x2 = -3, et (1) ' 1 - 6& 1 = 0, do & 1 = 1/6 La rsolution des conditions de KKT donne donc : x1 = 0 x2 = -3 & 1 = 1/6 &2 = 0 Interprtation (voir figure) : la solution est en (0, -3), la limitation g2 est inactive, le gradient de f est parallle au gradient de g1
2.5 Problme dual Soit le problme : avec : Minimiser f(x) gj(x) ! 0 j=1, ..., m x = (x1, ..., xn ) (Q)
Daprs la CS doptimalit, trouver un point-col du Lagrangien associ (Q) permet de rsoudre le problme:
p
L(x,& ) = f(x) +
j=1
& j gj
Point col : (x*, & *) tel que : L(x*, & ) ! L(x*, & * ) ! L(x, & * ) pour tout x" Rn, tout &" Rm ou encore : (x*,& *) = Max Min (L(x, & )) & x On dfinit la fonction duale : w(& ) = Min {L(x,& )} x" A et on appelle problme dual la recherche du maximum de la fonction duale w : Maximiser w(& ) &)0 (D)
Min_lim
42
Sous certaines conditions (convexit, matrice # x2L(x*, & ) non singulire), ces 2 problmes sont quivalents ( on a : f(x*) = w(& *) ) ; les algorithmes de minimisation avec limitations peuvent tre classes en : * mthodes primales : rsolvent (P) ex : directions admissibles, gradient projet, gradient rduit, * mthodes duales : rsolvent (D) ex : mthode dUzawa, de pnalits , Lagrangien augment * mthodes primales-duales : (P) et (D) ex : mthode SQP remarques : * w et (D) sont dfinis mme sil nexiste pas de point-col. * w est une fonction concave (en & ) * Le problme dual est souvent plus facile rsoudre que le primal * Dans le cas particulier o le problme est sparable, la formulation duale est particulirement intressante : Problme sparable : f et les contraintes scrivent : f(x) = ! fi ( xi ) gj(x) = ! gji ( xi )
j=1
i =1 m
j = 1, , m
Li (xi, & )
et la minimisation de L par rapport x peut tre faite indpendamment dans chaque direction xi . Les mthodes dapproximation telles que la linarisation convexe et la MMA conduisent des problmes sparables.
Exemple de rsolution du problme dual : Min f(x) = x12 + x22 + x32 Sous les contraintes : g1(x) = - x1 - x2 + 10 ! 0 g2(x) = - x2 - 2 x3 + 8 ! 0 L(x,& ) = x12 + x22 + x32 + & 1(- x1 - x2 + 10) + & 2(- x2 - 2 x3 + 8) = L1(x, & ) + L2(x, & ) + L3(x,& ) L1(x, & ) = x12 - & 1x1 L2(x, & ) = x22 - & 1x2 - & 2x2 L3(x, & ) = x32 - 2& 2 x3
Min_lim
43
L0(x, & ) = 10& 1 + 8& 2 On cherche le minimum de L en x, cest--dire un point stationnaire de L : / L// x1 = / L1// x1 = 2 x1 - & 1 = 0 ' x1 = & 1 /2 / L// x2 = 0 ' x2 = (& 1 +& 2 ) /2 / L// x3 = 0 ' x3 = & 2 On obtient la fonction duale en remplaant x1, x2, x3 par ces valeurs dans L(x,& ) ; on trouve : w(& ) = - (1/2)& 12 (5/4)& 22 (1/2)& 1 & 2 + 10& 1 + 8& 2 et w sera maximale pour : / w/ / & 1 = 0 = - & 1 ! & 2 + 10 / w/ / & 2 = 0 = - (5/2)& 2 ! & 1+ 8 soit : & 1* = 10 - & 2/2 & 2* = 4/3 & 1 = 28/3 w(& 1*, & 2*) = 182.66 Les valeurs de x associes sont : x1 = 14/3 = 4.66 x2 = 16/3 = 5.33 x3 = 4/3 et f(x*) = (142 + 162 +42)/9 = 468/9 = 52
Min_lim
44
3. Mthodes primales
3.1 Changement de variables * Pas de rgle gnrale * Attention aux non-linarits introduites 3.2 Directions admissibles Principe : litration k, chercher une direction sk telle que, en un point o gj est sature (j" J): * sk admissible : xk + t sk " A pour t " [0, $ ] # gj T ( xk) sk ! 0 j" J
# gj #f
sk
A
Mthode de Zoutendijk : chercher sk comme solution de : (L) Min # fT ( xk) sk # gj T ( xk) sk ! 0 j" J skT sk = 1 ou bien (contraintes satures) ,- si - = 1 (normalisation)
Cest un problme de programmation linaire. Algorithme : (a) (b) (c) point initial x0, k=0 Rsoudre le problme linaire (L) pour trouver sk si # fT(xk) sk < 0,
Min_lim
45
dterminer par une recherche unidirectionnelle : que - le pas maximal possible dans la direction yk , cest- dire le pas . m tel xk + . m y soit encore dans le domaine admissible. - le pas optimal Faire k=k+1 et aller en (b) sinon (# fT(x0) sk = 0), arrt Remarque : Trs simple, mais : * les points sortent du domaine admissible frontire * changement de contrainte sature ? Variante (Topkis et Veinott): Min v # fT(xk) sk v ! 0 gj (xk) + # gjT ( xk) sk - uj v ! 0 imposer sk de scarter de la
1 variable v et la direction sk inconnus, uj > 0 fixs (=1 ?) Si v* < 0, toutes les gj restent < 0 pour des petits dplacements
Min_lim
46
par une suite de problmes sans contraintes Si lon dfinit la fonction h telle que : " 0 si y ! 0 h (y ) = # % +$ si y > 0 la rsolution du problme doptimisation revient rsoudre le problme de minimisation sans limitation suivant :
!h (g (x))
j j j=1
La fonction H tant discontinue et infinie en dehors du domaine admissible, on ne peut utiliser cette mthode telle quelle. Une mthode de pnalit consiste minimiser une fonction (pnalise) de la forme : Min P (x, ! ) = f(x) + " (x, ! ) x o la fonction / est telle : quelle force loptimum saturer approximativement les limitations qui doivent ltre qu elle naltre pas trop la solution approche obtenue Le paramtre de pnalisation . est caler pour que la solution approche soit prcise sans que le systme minimiser soit trop mal conditionn. 4.2 Pnalit extrieure Modifier la fonction minimiser pour quelle prenne de grandes valeurs en dehors du domaine admissible. Exemple avec 1 variable, 1 limitation :
f gj (x) > 0
Min_lim 47
gj (x) ! 0
Pour cela, on dfinit : < gj (x) >+ = 0 pour gj (x) ! 0 gj (x) pour gj (x) > 0 et on considre la fonction obtenue en ajoutant la fonction f(x) minimiser les termes : r < gj >+2 o r est un scalaire > 0 (facteur de pnalit), ceci pour chaque contrainte gj . On obtient la fonction : 0 (x, r) = f(x) + r ! <gj(x)>+2
j =1 m
et on considre le problme : Minimiser 0 (x, r) = f(x) + r ! <gj(x)>+2 (P) Soit (x*) la solution de (P). Si on a choisi r assez grand , les termes <gj(x*)>+2 seront petits , ce qui signifie que x* sera presque admissible. Mais en pratique, si r est trs grand, 0 est mal conditionne. Cest pourquoi on procde itrativement, en augmentant r progressivement, et en initialisant chaque recherche par la solution prcdente. Algorithme gnral : (a) (b) k=1, choix de x1, r1(proportion cot/pnalit) Rsoudre (par une mthode sans limitations) : Minimiser 0 (x, rk) = f(x) + rk ! <gj(x)>+2 (Pk)
j =1 m j =1 m
avec pour point de dpart xk 1 solution xk* (c) Tester si les limitations sont suffisamment satisfaites : Max (gj(x)) ! 2 ? j=1,,m Si oui, fin, x* = xk Si non, (d) augmenter le facteur de pnalit : rk = rk 3 c ( par ex. 1 < c < 10 ) mettre jour le point de dpart : xk+1 = xk* k=k+1 aller en (b) * facile implanter, mais pas trs performant (conditionnement), solution toujours lgrement non admissible Remarque : Dans le cas de limitations dgalit (hl (x) = 0 l = 1, p), la fonction pnalise considrer est :
Min_lim
48
0 (x, r) = f(x) + r
j=1
(hj(x))2
1 j =1 g j ( x)
log(-gj(x))
ou le facteur de pnalit r doit cette fois tendre vers 0 pour que x sapproche de la frontire du domaine admissible. On rsout donc une succession de problmes sans contraintes : 0 (x, rk) = f(x) + rk ! avec : rk+1 = rk 3 c ( par ex. 0.1 < c < 1 )
1 j =1 g j ( x)
k=1,
f
gj (x) > 0 gj (x) ! 0
Il faut connatre un point de dpart admissible * cette pnalisation nest pas valable sur la frontire ni lextrieur du domaine admissible. 4.4 Approximation des multiplicateurs de K.K.T. loptimum
Min_lim 49
Les mthodes de pnalit permettent dobtenir les valeurs des multiplicateurs loptimum. Exemple avec la pnalit extrieure : La solution xk* du k-ime problme sans contraintes : Minimiser 0 (x, rk) = f(x) + rk ! <gj(x)>+2
j =1 m
(Pk)
(1)
Par ailleurs, soit x* la solution du problme initial (Q) ; si les contraintes sont qualifies en x* , les conditions ncessaires de KKT sappliquent, et il existe des nombres & j* ) 0 j=1,,m uniques tels que : # f(x*) +
m j =1
! & j* # gj(x*) = 0
(2)
& j* gj(x*) = 0 Soit J lensemble des indices des contraintes satures en x*. Pour les autres indices j 4 J, gj(x*) < 0 . On peut supposer qu partir dune certaine itration K, les points xk* vrifieront aussi gj(xk*) < 0 Les termes associs : <gj(xk*)>+ sont donc nuls pour j 4 J ,et il reste dans (1) : # f(xk*) + 2 rk "
j!J m
0
<gj(xk*)>+ # gj(xk*)
=0
pour k > K
# f et # gj sont continues, les & j sont uniques donc, en passant la limite : & j* = lim 2 rk <gj(xk*)>+ pour j " J Les valeurs des & j* permettent, par exemple, destimer linfluence des limitations sur la valeur de f loptimum. 4.5 Mthode du Lagrangien augment Les deux mthodes prcdentes permettent dobtenir des solutions approches qui convergent vers la solution thorique avec les facteurs de pnalisation (vers linfini pour la pnalit extrieure, vers 0 pour la pnalit intrieure). Toutefois le processus de convergence est confront des problmes de conditionnement pour les valeurs limites des paramtres. La mthode du lagrangien augment mixe la stationnarit du lagrangien et la mthode des pnalits extrieures. Elle est associe un processus itratif permettant dobtenir des solutions prcises mme pour des valeurs finies du paramtre de pnalisation. On considre la fonction :
+2
+ gj 2r La stationnarit de A implique :
j=1 +
A (x, ! ,r ) = f (x ) + r "
!j
(Lagrangien augment)
m ! "g j "A "f j = + 2r # + gj =0 "x i "x i "x i j=1 2r Les relations de Kuhn et Tucker scrivent :
Min_lim
50
m !g j !f + $ "j = 0, " jg j = 0, " j # 0 !xi j=1 !xi En comparant les deux dernires relations, on peut introduire un processus itratif, afin damliorer lestimation des multiplicateurs de Lagrange, en prenant : ! j = max ! j + 2 r g j ,0
Lalgorithme de rsolution associ est alors : (a) (b) k=1, choix de x1, r, & 1 (souvent nul) Rsoudre (par une mthode sans limitations) :
+2
Min x
A (x, !k ,r ) = f (x ) + r "
! jk 2r
j=1
+ gj
Tester si les limitations sont suffisamment satisfaites : Max (gj(x)) ! 2 ? j=1,,m Si oui, fin, x* = xk, & *= & k+1 Si non, (e) augmenter ventuellement le facteur de pnalit : rk = rk 3 c ( par ex. 1 < c < 10 ) mettre jour le point de dpart : xk+1 = xk* k=k+1 aller en (b) * La mthode est assez faiblement dpendante du facteur de pnalisation r. 4.6. Exemple une variable
Soit minimiser la fonction f(x)=0.5 x sous la limitation g(x)=4-x ! 0 par les diffrentes mthodes de pnalit. a. Pnalits extrieures. La fonction pnalise scrit :
Pext (x,r) = 0.5x + r 4 ! x Sa minimisation induit les solutions approches dpendant de r : 0.5 xr = 4 ! 2r
b. Pnalits intrieures La fonction pnalise scrit : t Pint (x, t) = 0.5x ! 4!x La solution approche associe est :
+2
Min_lim
51
xt = 4 +
t 0.5
c. Lagrangien augment
+4"x 2r La stationnarit de A par rapport x donne : !j ! j 0.5 "A (x, ! ,r) = 0.5 # 2 r +4#x = 0 $ x* = 4 + # "x 2r 2r 2r On part de lestimation initiale : & 1=0 La minimisation de A(x,0,r) donne 0.5 x2 = 4 ! 2r La nouvelle estimation du multiplicateur est :
* ! 2 = max !1 + 2rg j (x 2 ),0 = 0.5
!j
+2
Min_lim
52
Chapitre VII Lien optimisation - mcanique : calcul des sensibilits, mise en uvre, logiciels
1. Couplage calcul optimisation 1.1 Introduction
analyse par lments finis (ou quations intgrales, ) procds, ou
Contexte :
paisseurs, sections, distances, dimensions, coordonnes de points, pentes, rayons de courbure, Orientation de fibres, densit, Proprits de matriau (problmes didentification de lois de comportement) , forces, coefficients de frottement, Nombre de raidisseurs, de rainures, de couches ou de plis dans un composite (variables discrtes) Prsence ou absence de matire (variables binaires 0/1, optimisation topologique)
Etc Les variables sont associes des donnes du modle E.F. : des nuds, des lments ou des entits gomtriques, technologiques (groupes dlments) Toute donne dun code de simulation numrique peut tre prise comme une variable identifier ou optimiser. Fonctions : explicites, ou partir des rponses = rsultats du calcul mcanique poids, surface, volume, Contrainte, dplacement, dformation, temprature, Energie de dformation, travail, Frquences propres, modes propres, Norme de lcart calcul exprience (identification)
M
54
Lien optim-mca
Minimiser wM
$!
#
d"
"
Tout rsultat de la simulation numrique peut tre pris comme fonction objectif ou limitation. * Problmes multi-objectifs, multidisciplinaires 1.2 Couplage direct Principe : le code de minimisation calcule itrativement une suite de valeurs des variables (v1, v2 , , vk # v*) et fait appel au code de simulation pour valuer les fonctions f(vk), g1(vk), gm(vk) , ceci chaque itration k.
vK+1
Lien optim-mca
55
Ncessit dun interfaage pour lutilisation itrative simulation / optimisation Points cls / difficults de linterfaage : Dveloppeurs Choix des variables : quel paramtrage disponible (forme), restrictions pour cohrence du modle Mise jour des variables (gnrer tout le modle chaque itration ?) Optimisation de forme : remaillage, estimateurs derreur Accs aux sources ? ou utilisation des fichiers dchange ?
Utilisateurs : Formulation reprsentative du problme rel Temps de calcul disponible Choix dun algorithme Mise lchelle, tests darrt Contrle de la prcision au cours des itrations, Minimum local ou global Validation de la solution trouve
Lien optim-mca
56
c) Construire partir de ces valeurs une approximation de la fonction objectif : fa et des limitations : g1a, , gma (ex : polynmes) En fonction du nombre de points p et de leur choix, lapproximation peut tre locale ou globale (surfaces de rponse) d) Rsoudre le problme approch : Minimiser fa g1a $ 0 gma $ 0
o fa, g1a , gma , sont des fonctions explicites des variables ; la minimisation est donc trs rapide car elle nimplique pas de calculs E.F. On obtient une solution v* a e) f) Calculer les fonctions exactes f(v*a), g1 (v*a), , gm (v*a) (une simulation E.F.) Test de convergence # Fin ou aller en a) La convergence est obtenue lorsque les solutions successives sont proches et que lcart entre les valeurs approches et les valeurs exactes des fonctions est suffisamment faible.
Intrt : spare (% ) tapes simulation E.F. et minimisation, paralllisme possible pour les simulations, contrle du nombre de calculs des fonctions. En optimisation de structures, cette approche est souvent utilise avec la mthode de linarisation convexe, ou des asymptotes mobiles (approximations locales). Ces deux mthodes permettent davoir des problmes approchs sparables, qui pourront tre traits trs efficacement par des algorithmes duaux.
Lien optim-mca
57
avec
(1)
d.f. avant :
(2)
d.f. centres :
une simulation supplmentaire par variable implantation numrique immdiate comment choisir la perturbation ' vi ? Problmes numriques lis aux approximations des drives par diffrences finies f:R# R Erreur de troncature : termes ngligs dans le dveloppement de Taylor : f(x+h) = f(x) + h f(x) + ! h2 f(y) avec x $ y $ x+h
Erreur de condition (arrondi, dpend de la prcision machine) soustraction de 2 nombres trop proches f(x+h)- f(x) dcroissante en h, augmenter h pour diminuer lerreur
Lien optim-mca
58
erreur sur un calcul par d .f. = somme dune erreur linaire en h et dune erreur en 1/h Trouver un compromis (par une tude de convergence pralable) : - valeur valable sur tout le domaine - pour toutes les variables et les fonctions ou utiliser plusieurs pas En cas de difficults de convergence, vrifier les gradients (toujours vrai, quelle que soit la mthode de calcul des drives) Exemple 1 variable : f2(x) = x2 f2(x=1) = 2 f4(x) = x4 f4(x=1) = 4
Trac des valeurs obtenues pour f2(1) et f4(1)par diff. finies avant et centres en fonction du pas. Valeurs du pas de perturbation : 1.0000 0.2000 0.0400 (divis par 5) 1.67e-017
Lien optim-mca
59
(3)
(a) (b) (c) Les termes (a) et (b) ne posent gnralement pas de problme : (a) correspond la drivation des termes de F o les variables apparaissent explicitement, Pour le terme (b), si on se place dans le cadre de llasticit, F est explicite en fonction du vecteur des dplacements. Dune manire gnrale, les fonctions minimiser ou les limitations sexpriment en fonction de la variable dtat. Par contre, le vecteur dtat U dpend implicitement des variables, puisque la matrice K nest jamais inverse. comment calculer le terme (c) ? Deux approches principales pour le calcul des sensibilits par drivation des quations dquilibre : mthode directe et tat adjoint Avec U calcul par rsolution linaire (lasticit) K(v) U(v) = Q(v) (4)
(6)
La matrice de rigidit K a dj t triangularise : Le calcul du gradient de f ncessite la rsolution de cas de charge seulement (1 rsolution par variable)
Lien optim-mca
60
!f(v) ! F(v,U(v)) !F(v, U(v)) ! U(v) = + !vi ! vi ! vi !U K !U !Q !K = " U !vi !vi !vi
et (6):
do :
!F -1 !F K , en rsolvant : KT ( = !U !U
( dpend de la fonction quon drive f, mais pas de la variable par rapport laquelle on drive Le calcul du gradient de f ncessite un seul cas de charge rsoudre Pour un problme donn, autant de rsolutions que de fonctions driver (1 f.objectif + m limitations) Pour le calcul des gradients, on choisira la mthode directe ou ltat adjoint selon le nombre de variables et de fonctions.
Lien optim-mca
61
Calcul des gradients par la mthode directe Pour chaque variable vi Drives de Ke et Qe 2nd mb lmentaire :
Calcul des gradients par ltat adjoint Pour chaque fonction gj (f et gj) 2nd mb lm. tat adjoint :
!g j !U
m+1
(assemblage)
We=
Assemblage We # Wi n Rsolution #
We= n
m+1
Termes explicites
!g j !vi
dg j dvi
!g j !vi
!g j !U !U !vi
!g j !vi
dg j dvi
!g j !vi
+ " jT Wi
Lien optim-mca
62
Lien optim-mca
63
3.Optimisation de forme
3.1 Choix des variables de conception, contrle du modle gomtrique Nuds du maillage en lments finis : trop nombreux, ne garantissent pas la rgularit des contours Modles CAO bass sur : courbes de Bzier, splines, B-splines, NURBS, Les variables dfinissent les positions de ples, qui ne sont pas forcment situs sur la courbe optimiser. Il faut privilgier des approximations de faible degr afin dviter les oscillations. Le modle doit tre remis jour partir des valeurs des variables seulement : indpendance des variables entre elles, dfinition de contraintes pour garantir la cohrence du modle.
?
Dans certains cas, les limitations dgalit peuvent permettre dliminer certaines variables et de rduire le problme.
Lien optim-mca
64
3.2 Actualisation du modle lments finis (analyse de sensibilit, mise jour des variables)
maillage, estimation derreur, adaptation : repositionnement ou remaillage mise jour donnes mcaniques (charges, c.limites,..)
Modle numrique
Lien optim-mca
65
CONMIN, NEWSUMT, IDESIGN, et dautres ... Codes dlments finis incluant de loptimisation: NASTRAN, I-DEAS, SAMCEF, ABAQUS, GENESIS , OPTISTRUCT(optimisation topologique), Plate-formes de gestion de calculs : Motiv par besoin de couplage entre plusieurs simulations (fluide-structure, mcanique-acoustique,) optimisation multi-critres, multi-disciplinaire Boss-Quattro LMS-Optimus iSIGHT modeFRONTIER http://www.samtech.fr/ http://www.lms.be http ://www.engineous.com http://esteco1.area.trieste.it
Lien optim-mca
66
Calcul de sensibilits par diffrences finies 1. Principe Calcul de gradients par perturbation des variables d.f. avant :
!f(v) f(vi + "vi ) ! f(vi ) % "vi !vi !f(v) f(v + "vi ) ! f(vi ! "vi ) % i !vi 2"vi
d.f. centres :
( v + "v ) # f ( v ) ! ( v + "v ) # ! ( v ) 1 " 2 f f "f i c i (v) = + c + ( v + $"vi )%vi , 0 & $ & 1 " vi % vi % vi 2 " vi 2
Le calcul de sensibilit par diffrence finie avant utilise lapproximation suivante :
Lerreur de condition crot avec la perturbation, tandis que lerreur de troncature dcrot avec la perturbation. Lerreur de condition peut-tre trs importante dans le cas de systmes mal conditionns.
Lien optim-mca
67
Exemple 1 : Une fonction f a une valeur thorique pour un jeu de paramtres donn de : f(v) = 19.273428 Sa valeur thorique pour une perturbation dun des paramtres de 0.0001 est de : f(v+' vi)=19.273491 En fait, les valeurs sont calcules avec 6 chiffres significatifs. Les valeurs des sensibilits obtenues par diffrences finies avant sont de : 0.63 en thorie et de 1. en calcul numrique. Exemple 2 On considre un systme en (u,v) dpendant dun paramtre x :
u (x ) =
Pour x=100
Lien optim-mca
68
thermo couples
& (T (h, ! ) % T ) +
2 j cal j exp j cal ijkl
jauges
& (# (h, ! , C
j cal ijkl
, " , Fi )% # j exp
)+
2
tractions
& ($ (C
, " , Fi )% $ j exp
A, B, C sont des constantes utilises pour adimensionner la fonction cot ou pour donner plus dimportance certaines expriences.
qn = ! (T " T
4
sur S 2 (radiation) :
4 R
qn = h (T " T! )
sur S1 (convection) :
Problme mcanique
sur S Fi
sur Sui
! ij n j = Fi
ui = ui
Connu:
Cp , k , ! , h Q TR , T" , T , q
Inconnu:
moyen
r r T , q = ! k "T
[K ]T (T ) = (F )T
Cijkl (T ), ! (T ) r f Fi , ui
r u , ! ij
[K (T )]u (u ) = (F (T ) )u
Figure 1.
qn = ! (T 4 " TR4 )
thermocouples
sur S 2 (radiation) :
qn = h (T " T! )
sur S1 (convection) :
Problme mcanique
sur S Fi
! ij n j = Fi
jauges
Loi de Hooke : ! ij = Cijkl (T ) (" kl % # T $ kl )
+
T
dansV : "! ij + fi = 0 "x j
Connu:
Inconnu:
moyen
Cp , k Q , T (t = 0 , x )
h,!
Fi r u , ! ij
thermo couples
& (T (h, ! ) % T ) +
2 j cal j exp j cal ijkl , " , Fi ) % # j exp
Courbes de traction
jauges
& (# (h, ! , C
j cal ijkl
)+
2
tractions
& ($ (C
, " , Fi )% $ j exp
Figure 2.
Ce problme doptimisation est priori sans limitation, sauf si on impose aux paramtres dappartenir un intervalle fix lavance ou si on impose certaines relations dgalit entre paramtres (pente lorigine,).
yi interpolation
y = f(x, p1,, pn) p1,, pn tant les paramtres identifier. La fonction cart minimiser est alors : J ( p1 , ...., pn ) = " ( f ( xi , p1 , ...., pn ) ! yi ) 2
n exp
(p)
p est le vecteur des paramtres La fonction cart scrit alors comme la norme du vecteur (V) :
4
(V )= [A]( p )! (B )
! P( x1 % o : [A]= %... % % P( xn exp + " & & , & & , # y1 $ ' ( (B )= ' ... ( 'y ( ) n exp *
La minimisation de J par rapport aux paramtres fournit alors le systme rsoudre suivant :
Alors :
Remarque : Si lon dsire dfinir une loi de comportement du type(figure 5) : ! =C " m o C et m sont deux paramtres identifier, on se ramne au cas prcdent en effectuant le changement de variables suivant : y = Ln (! ), x = Ln (" ), p1 = Ln (C ), p2 = m y
yi
yi
xi Figure 4.
xi Figure 5.
!J de la fonction cart J par rapport aux paramtres pi peut priori !pi tre effectu par une des mthodes suivantes : - mthode des diffrences finies - mthode directe - mthode de ltat adjoint
Le calcul des sensibilits En gnral, on identifie plusieurs paramtres, aussi on privilgiera la mthode des diffrences finies (toujours possible si les systmes inverser sont bien conditionns) ou la mthode de ltat adjoint si lon accs aux sources du code de calcul. En effet la mthode directe requiert, par itration doptimisation, autant de rsolutions quil y a de paramtres, tandis que la mthode de ltat adjoint requiert autant de rsolution quil y a de fonctions dont on recherche les sensibilits (une dans le cas de lidentification). Les calculs associs la mthode de ltat adjoint sont : !J !J ! (d ) = (1) !pi ! (d ) !pi o (d) est le vecteur des degrs de libert du systme. (d) est le vecteur des tempratures aux nuds (T) et/ou le vecteur des dplacements aux nuds (u). (d) est obtenu par rsolution du systme suivant : (2) [K ](d )= (F ) o [K] et (F) sont les matrices de rigidit et vecteur second membre globaux. Par drivation de (2), on obtient : ! ([K ](d )) ! ([K ] ) ! ( d ) ! (F ) (3) = = (d )+ [K ] !pi !pi !pi !pi
! (d ) !pi
! ( d ) ! (F ) ! ([K ] ) = " (d ) !pi !pi !pi Introduisant (4) dans (1), on obtient : " $ (F ) $ ([K ] ) # $J $J = ! (d )& [K ]!1 % % $pi & $pi $ (d ) $ p i ' ( Si lon note par (!) le vecteur tat adjoint obtenu par rsolution de : " $J # [K ](! )= % % $ (d ) & & ' ( la sensibilit de J par rapport chacun des paramtres est obtenue par : " $ (F ) $ ([K ] ) # $J = ! & % (d )' & $pi ' $pi $ p i ( )
[K ]
(4)
2.3. Exemple didentification en thermique unidimensionnelle. On considre le phnomne dchange thermique dans un barreau de section circulaire. Celui-ci est soumis ses extrmits des conditions de temprature et de flux impos. Sa surface latrale est soumise des changes par convection. On fait lhypothse que la temprature est uniforme dans une section. Dans ce cas, lquation diffrentielle gouvernante applique au champ de temprature T(x) scrit :
"k d 2T dx 2 +! T " Q=0
q (L ) = ! k
dT (L ) = q dx
Thermocouple A (x = L/3)
Thermocouple B (x = 2L/3)
Thermocouple B (x = 2L/3)
T (0) = T
(diffusion) (convection)
q (L ) = q
On cherche identifier les valeurs de " et de q laide de mesures de temprature en A et B aux cotes x = L/3 et x = 2L/3. On ralise un modle aux lments finis linaires deux nuds rgulier dont le nombre dlments est un multiple de 3 (les points de mesure A et B concident avec des nuds du maillage).
Ti
lment deux nuds x=0
Tj
x=L
Modle lments finis Forme forte La forme forte associe lquation diffrentielle scrit : " # L d 2T WF = * T * % $k + ! T $ Q & dx = 0 % & 0 dx 2 ' ( dT ) T * , T vrifiant T (0 )= T , q (L )= $ k (L ) = q dx Forme faible Aprs intgration par parties, la forme faible scrit : " $T * $T # L W = + T* & k + ! T *T % T *Q ' dx + T * ( L) q = 0 & $x $x ' 0 ( )
* T * , T vrifiant T * (0 )= 0, T (0 )= T
Ti
Tj
Sur un lment, T varie en fonction des degrs de libert de llment (T )e et des fonctions de forme (N) par la relation : T ( x) = N ( x) (T )e o:
N ( x) =
xj ! x l
x ! xi l
T e = Ti
Tj
l = x j ! xi
Introduisant ces dernires relations dans la forme faible, on obtient: " # % ' $ & (N ) & N ' W = 2 T * )3 * k + ! (N ) N + dx (T )e ( Q 3 (N )dx , + T * ( L) q = 0 e e e' &x &x ' . / 0 e
* + TN [k ]e (T )e ! ( f )e } { +1 q = 0
( ), (T )vrifiant T1* = 0, T1 = T
o :
[k ]e = 0e
( f )e
" % (N ) % N # k & 1 $1' ! l & 2 1 ' + ! (N ) N ) dx = * (k + + 6 *1 2 + (matrice de rigidit) $ 1 1 % x % x l , , . / Q !l " = ' Q (N )dx = # $ (vecteur second membre lmentaire) e 2 %l &
( )
[K ](T ) ! (F )}= 0 {
Do le systme rsoudre :
[K ](T ) = (F )
avec : T1 = T
o :
[K ] = ! [k ]
ass
(F ) = ! ( f )e + (F )cont
ass
!
ass
(utilisant les connectivits) ! 0 " # $ ... $ (contribution au contour) (F )cont = # # 0 $ # # %q $ $ & ' Aprs rduction du systme assembl en introduisant la condition la limite au nud 1, on obtient le systme rsoudre suivant : " " k !l # # Ql + & ( ' T ' " T2 # & -l 6 . ' k !l $ 2k 2! l %& ' & + ( + 0 ... 0 0 ' ) l *& ' & 3 l 6 ' ) * & T3 ' & Ql & ' ) ( k + ! l 2k + 2! l ( k + ! l ... * & ' 0 0 & ' ) l 6 * & ' l 3 l 6 ' ) *& T ' & Ql k ! l 2 k 2 ! l 4 & ' ) ' 0 ( + + ... 0 0 *& & ' ) *& l 6 l 3 '= & ' ) ... ... ... ... ... ... * & ... ' & ... ' ) *& ' ' 2k 2! l k ! l * & TN ' & ) Ql 0 0 0 ... + ( + *& & ' ) ' l 3 l 6 ' ) *& ' & k !l k !l * &T ' & ' ) Ql 0 0 0 ... ( + + N +1 & ' ) (q ' l 6 l 3 * + ,& & ' & ' 2 . & ' . Calcul de sensibilit Si le nombre dlment N = 3m, alors le point de mesure A concide avec le nud de numro m+1 tandis que le point B correspond au nud de numro 2m+1. La fonction cart scrit alors : 2 2 J = (Tm +1 ! TA ) + (T2 m +1 ! TB ) Le calcul de la sensibilit de J par rapport " scrit daprs les relations du paragraphe 2.2. # % (F ) % ([K ] ) $ %J = ! ' & T )( ( ' %" ( %" %" ) *
[K ](! )= % %
! #J " Dans notre cas, le vecteur $ scrit : $ # (T ) % % & '
0 ! " # $ ... # $ # 2 (Tm +1 % TA ) $ ! &J " # $ =# # $ 0 $ # & (T ) $ ' ( # $ .... # $ # 2 (T2m +1 % TB )$ # $ 0 ' ( " $ (F ) $ ([K ] ) # % T )' scrit : Le vecteur des pseudo-forces & ( & $! ' $! ( ) " l # % $ 6 T & ' 2l l % & ) 0 % & )3 6 % 0 & ) l 2l l % & ) % & )6 3 6 " + (F ) + ([K ] ) # % 0 & ) 0 l 2l &$) $ =% % (T )& 6 3 & ) % +! & % + ! , - % & ) ... ... ... % ... & ) % 0 & )0 0 0 % & ) % & ) % 0 & )0 0 0 . % & % & , 2.4. Exemple de problme mal pos
0 0 0
" T2 # (% & 0*% & * % T3 & & 0*% *% & *% T & 4 & 0*% *% & * % ... ... & *% & l * % TN & & 6*% *% & l * %T & N +1 & 3* /% % & , -
La rsolution de problme inverse peut conduire des systmes algbriques mal conditionns, en particulier en raison dun mauvais choix de mesures (nature, position des capteurs, ). Par exemple, considrons le problme acadmique suivant : On cherche valuer les tempratures sur les deux faces dune paroi partir de 2 mesures de temprature obtenues par des capteurs disposs dans lpaisseur de la paroi. Cele-ci a une paisseur h. On utilise la coordonne a-dimensionnelle ! =
x . L
Lquation diffrentielle gouvernante (quation de la chaleur en rgime tabli sans source de chaleur) :
! 2T !" 2 =0
10
xa
xb x 0 a b 1
x=0
x=L
On peut alors faire les deux remarques suivantes : si les deux capteurs sont trs proches (b ! a ) , les erreurs sur les tempratures values peuvent devenir trs importantes. Les deux capteurs ont tendance donner la mme information , ce qui se traduit par lobtention dun systme mal conditionn. Selon les valeurs relatives des erreurs de mesure on peut obtenir des valuations plus ou moins errones. Par exemple, si !a = ! , !b = ! , les erreurs sur les valuations sont : ! 0 = !1 = ! (mme ordre de grandeur des erreurs). Par contre, si !a = ! , !b = "! , les erreurs sur les valuations sont :
"0 = b+a 2!b!a " , "1 = " , qui peuvent tre beaucoup plus importantes que les b!a b!a
erreurs de mesure.
11
MQ14 Mini projet Identification en thermique On considre lexemple didentification en thermique unidimensionnelle prsent dans le cours. 1. Etude de convergence du modle E.F. Utiliser le programme de calcul crit dans lenvironnement MATLAB pour effectuer une tude de convergence de la solution en faisant varier la finesse du maillage en considrant les valeurs suivantes (en units cohrentes) : L 1
q 1
T 1
k 1
" 1 et 5
Q 1
2. Calcul de sensibilits. On dveloppe une procdure numrique didentification dun ou de plusieurs paramtres du modle (" ou q par exemple) par la rsolution de problme inverse. On sappuiera sur des rsultats exprimentaux traduits par des tempratures mesures aux points A et B (x=L/3 et x=2L/3) a. Dterminer les sensibilits des tempratures calcules en A et B par rapport " et q par la mthode des diffrences finies avant pour les jeux de paramtres prcdents en effectuant une tude de convergence des sensibilits en fonction des valeurs des perturbations #" et # q . b. Comparer avec des calculs utilisant la mthode directe. c. 3. Procdure didentification a. Dvelopper des procdures didentification de " en couplant le programme lment finis avec une procdure de minimisation en utilisant la mthode de ltat adjoint pour obtenir les sensibilits. b. Tester vos dveloppements en utilisant pour valeurs exprimentales celles obtenues numriquement pour " =1. Prendre au dbut du processus itratif " =0 et vrifier que la procdure didentification converge vers " =1. 4. Application Utiliser votre programme pour identifier " avec les donnes suivantes : q L k Q TA T 1 1 1 1 1 0.7959
TB 0.5640
12
Optimum continu
Var-discrtes.doc
Loptimisation en variables discrtes semble a priori plus facile quen continu, puisque le domaine admissible est "plus petit" . Mais il est disjoint (ensemble de points), les limitations dgalit sont difficiles satisfaire, et il ny a pas forcment dingalits actives loptimum. Le problme est en fait plus difficile quen variables continues. Il existe des mthodes spcifiques pour la recherche doptimum en variables discrtes : 10 ! calcul combinatoire : explose trs vite ! (10 variables, 5 valeurs chacune : 5 possibilits, soit environ 9. 10 6 ! mthodes de coupes, ! mthodes de recherche arborescente ( branch and bound ), mais elles sont difficiles gnraliser. Une autre difficult en optimisation est le cas o il existe plusieurs, voire un grand nombre de minima locaux (fonction multimodale) . Mme si les variables sont continues et les fonctions drivables, les mthodes bases sur le calcul du gradient ne peuvent trouver que le minimum local le plus proche du point de dpart. Il faut alors excuter ces algorithmes avec diffrents points initiaux pour esprer trouver loptimum global, ou au moins plusieurs optima locaux. Les deux mthodes prsentes dans ce chapitre: recuit simul et algorithmes volutionnaires peuvent en fait servir rsoudre la fois le cas des variables discrtes et celui de l'optimisation globale. Ce sont deux catgories de mthodes stochastiques (utilisant des processus alatoires, donc plusieurs excutions d'un mme programme pourront donner des solutions diffrentes). Elles ncessitent bien souvent un trs grand nombre dvaluations de la fonction cot (des centaines, des milliers, des dizaines de milliers,...). Mais elles permettent dapporter des solutions des problmes pour lesquels aucune autre mthode ne peut sappliquer. 2. Mthode du recuit simul origine : analogie avec le refroidissement dun mtal : on le refroidit lentement (et mme on le rchauffe) pour obtenir un mtal sans dfaut (un tat dnergie stable). La fonction cot est assimile une nergie, et on va descendre lentement vers le minimum, en autorisant la fonction remonter de temps en temps, ou plus prcisment: on construit une suite de points qui ne font pas systmatiquement diminuer la fonction par rapport au point prcdent, en esprant ainsi ne pas sarrter un minimum local. Cette mthode a t dveloppe initialement par Metropolis et al. (1953), puis applique loptimisation par Kirkpatrick (1983) ; de nombreuses variantes existent. 2.1 Principe gnral de la mthode: Soit x = (x1, , xn ) la variable, f(x) la fonction minimiser, g(x) = (g1(x), , gm(x)) les limitations. L'algorithme utilise un gnrateur de nombres alatoires sur [0, 1] (loi uniforme) a) initialisations : point de dpart x0 admissible ; calculer f(x0) ; k=1 ; iter=0 ; j=1 ; T = T1 ; choix de : it_max = nb max diterations pour T fix j_max = nb max ditrations sur T b) iter=iter+1 ; gnrer alatoirement un point xk ; calculer la fonction f(xk)
Var-discrtes.doc
c) Tester : si le point nest pas admissible (limitations non satisfaites), le rejeter et aller en b) si le point est admissible et meilleur que le prcdent ( f(xk) < f(xk -1) ) : accepter xk ; k = k+1 ; aller en d)
si le point est admissible et moins bon que le prcdent (f(xk) > f(xk-1) ) : "quelquefois" accepter vk , "quelquefois" le rejeter. Cette dcision est prise avec une certaine probabilit : la probabilit dacceptation, en utilisant le procd suivant: gnration d'un nombre z alatoire, 0 ! z ! 1 calcul de: #f = f(xk) - f(xk-1) calcul de pTj (#f) = temprature . test (voir 2.2 et figure ci-dessous): si z < pTj (#f) " accepter le point xk si z " pTj (#f) " refuser le point xk (# f > 0 ) ou T est un paramtre dit
exp( "!f ) Tj
d) Test darrt des itrations: si iter < it_max aller en b) (itrations T fixe) sinon, si j < j_max : diminuer T : Tj+1 = $ * Tj ; j= j+1 ; aller en b) sinon, fin ; prendre le meilleur des xk comme solution x* 2.2 Test dacceptation dun point qui fait augmenter f :
T diminue au cours des itrations: ainsi on accepte de moins en moins de valeurs de x qui font augmenter la fonction dune valeur #f:
pT1(#f)
T1 = 10
z pT2(#f)
T2=4
Intervalle dacceptation de x
-#f
Var-discrtes.doc
Un nombre alatoire z qui satisfait le critre dacceptation pour T1 : z < p T1(#f) ne le satisfera pas forcment pour T2 < T1 ; un point qui fait augmenter f de #f aura donc plus de chances dtre accept pour T grand , cest--dire en dbut ditrations sur j. Lide est dviter de rester prs dun minimum local : au dbut, la suite de points xk peut explorer le domaine, mais il faut ensuite converger vers le minimum global : dans ce but, la fin du processus, on retient essentiellement les points qui font diminuer f. 2.3 Choix des paramtres de lalgorithme Lalgorithme comporte deux niveaux ditrations : sur la valeur de la temprature, et T fixe, sur les perturbations de points. Le choix de la temprature initiale T1 doit permettre pratiquement tous les dplacements dans le domaine de conception. Dans ltape b), les points xk sont gnrs par perturbations alatoires dun point prcdent, damplitude maximale rT fixe, soit dcroissante au cours des itrations, soit ajuste en tenant compte de la proportion de points accepts. Chaque variable peut tre modifie composante par composante, ou bien par des vecteurs alatoires. La prise en compte des variables valeurs discrtes se fait lors de la gnration des perturbations : ce sont par exemple les indices des valeurs admissibles dans une table qui sont utiliss.
3. Algorithmes volutionnaires
Il sagit dune autre catgorie de mthodes inspires dun phnomne naturel : lvolution des espces vivantes. Cest initialement John Holland qui dveloppa ce type de mthodes au milieu des annes 70. Leur application loptimisation est plus rcente (milieu des annes 80). Ces algorithmes sont bass sur lide dadaptation dune population son environnement. On utilise lanalogie : 1 point de lespace de conception " 1 individu un ensemble de points " une population, ou une gnration fonction objectif " adaptation au milieu Ces mthodes ont pour principe de faire voluer une population par trois oprateurs : slection, croisement, mutation
de manire gnrer une nouvelle population mieux adapte (dont les individus ont de meilleures valeurs de la fonction objectif), ceci jusqu convergence des individus vers le ou les optimum(s). Il existe deux grandes classes de mthodes : algorithmes gntiques (GA) et stratgies dvolution (ES) Pour faciliter lanalogie avec la notion dadaptation, on prsente gnralement ces algorithmes en supposant que la fonction objectif doit tre maximise et non minimise ; il faut galement quelle ne prenne que des valeurs positives (pour les calculs de probabilit de slection). On peut toujours se ramener ce cas en prenant F(X) = A - f(X) avec A = constante > 0 Les paragraphes suivants donnent les principes de base de ces mthodes. Il en existe une multitude de variantes
Var-discrtes.doc
3.1 Algorithmes gntiques. Un algorithme type peut tre reprsent comme suit :
Calcul de la fonction objectif pour l'valuation des individus: f(X1), f(X2), , , f(Xnpop)
Test de convergence
p ( Xk )
f ( Xk )
npop
!
soit St = {Y , Y , , , Y
1 2 npop
j=1
f (X j )
Croisement (probabilit pc ): Slection des "parents": pour chaque individu Yk , tirage d'un nb alatoire z Si z < pc , Yk est slectionn Les points slectionns sont combins 2 par 2 au hasard pour donner 2 nouveaux points ("enfants") qui vont remplacer leurs "parents" ; les autres points (non croiss) sont recopis et ajouts aux enfants pour constituer la gnration suivante Gt+1.
Mutation (probabilit pm ) Les points de la nouvelle gnration sont slectionns avec une probabilit pm (faible) pour subir une perturbation alatoire.
Var-discrtes.doc
Les caractristiques gnrales de ces mthodes sont les suivantes : elles ne ncessitent que le calcul de la fonction objectif, et peuvent sappliquer dans un cadre trs gnral : pour des fonctions et/ou limitations non convexes, non drivables, non continues, des variables discrtes ou continues (la prise en compte des limitations se fait la plupart du temps par une pnalisation. Leur convergence est gnralement trs lente (mais amliorations possibles par hybridation avec dautres approches, nombreux travaux en cours) Il faut raliser un compromis entre exploration (pour atteindre loptimum global) et exploitation (pour converger) Elles sont facilement paralllisables (calcul simultan dune population)
Quelques oprateurs classiques sont dcrits ci-dessous : a) Slection Cest loprateur qui favorise l exploitation . Les probabilits de slection des points sont dabord calcules, partir des fonctions dvaluation (cot).
p(Xk )
= npop
j=1
f(Xk )
j ! f(X )
Ensuite on procde comme suit : au 1er point (quelconque) on associe lintervalle [0, p(X1)], au suivant, lintervalle [p(X1), p(X2)], et ainsi de suite ; lintervalle [0, 1] est ainsi divis en segments Sk de longueur p(Xk) ; Sk est attribu au point Xk .
et pour slectionner m points, on effectue m fois : gnration dun nombre alatoire z dans lintervalle [0, 1] slection du point Xk tel que z % Sk
Certains points pourront ainsi tre slectionns plusieurs fois, avec une probabilit dpendant de leur fonction objectif, et dautres limins. Dans une utilisation classique, il est indispensable de vrifier que le meilleur point de chaque gnration a t slectionn. Dans des stratgies permettant de trouver plusieurs optima, il peut tre utile de ne pas slectionner trop de points proches les uns des autres. Variantes : slection par le rang : les points sont classs par ordre de leurs fonctions dvaluation et p(X) est calcule en fonction des rangs et non des valeurs de f,
Var-discrtes.doc
slection par tournoi : les points sont compars par sous-ensembles, le meilleur de chaque sous-ensemble est slectionn
b) Croisement Le but de cet oprateur est lexploration : crer de nouveaux points partir des points slectionns, qui seront si possible mieux adapts que leurs parents, cest--dire qui auront une meilleure fonction objectif. Croisement rel barycentrique : Soient X1 et X2 deux points croiser ; on gnre 2 points sur la droite X1X2: Z = a X1 + (1- a) X2 et Z = (1 a) X1 + a X2 o a est un nombre alatoire - compris entre 0 et 1 si on veut rester sur le segment X1X2 - compris entre - d et 1 + d (par ex. (-0.5, 1.5]) si on veut faciliter lexploration du domaine. Croisement binaire. Les premires versions des algorithmes gntiques utilisaient une reprsentation binaire des variables, mme si leurs valeurs pouvaient tre continues dans le problme pos. Les intervalles de variation de chaque variable taient discrtiss , permettant le codage des variables par une chane binaire (de longueur lie au nombre de valeurs possibles) appele chromosome pour continuer lanalogie avec la biologie. Si cette phase de codage nest plus utile pour des variables relles, elle est conserve pour les variables discrtes : tout point peut tre reprsent par une liste de valeurs entires (par exemple des indices de valeurs des variables), qui peut tre mise aussi sous forme binaire. Tout point est donc assimil une chane de 0 et de 1 de longueur L . Le croisement de 2 points consiste leur faire changer des parties de leurs chromosomes respectifs, coups au hasard : Exemple de croisement 1 point : Une valeur entire c comprise entre 1 et L est choisie alatoirement. Les deux points X1 et X2 donnent les 2 enfants Z et Z :
X1
X2
Var-discrtes.doc
Dans ce cas, une variable au plus est modifie entre les parents et les enfants. Variantes : croisement 2 points, croisement uniforme (sur chaque variable) c) Mutation Elle est applique un faible pourcentage des points, choisis alatoirement. Son rle est daugmenter la diversit de la population. Mutation relle : une perturbation gaussienne est ajoute X : X " X + N(0, &) Lcart-type & peut tre variable au cours des itrations (dcroissant pour exploiter plus, croissant pour explorer plus). Mutation binaire : transformation dun 0 en 1 ou inversement, un emplacement choisi alatoirement entre 0 et L. Test de convergence Il est prudent davoir un test sur le nombre maximum de calculs de la fonction objectif, au cas o Mais on arrte gnralement les itrations lorsqu il ny a plus damlioration de la fonction objectif depuis plusieurs gnrations successives ; tous les points de la population ont alors converg vers la mme solution (perte de la diversit, il ne resterait plus que la mutation pour voluer). La convergence dun algorithme gntique se reprsente souvent par le trac des 2 courbes : meilleur f et f moyen au cours des gnrations. Attention : cause du caractre stochastique de la mthode, le rsultat dune seule excution nest pas significatif (la solution pourrait se trouver dans la premire gnration !) : il faut toujours prsenter des moyennes de plusieurs runs . 3.2 Stratgies dvolution (ES). Les principales diffrences entre AG et ES sont les suivantes : la taille de la population peut tre plus faible que dans les AG (jusqu moins de 10 individus pour les AE, plutt 20 quelques centaines pour AG). dans les AG, 2 parents ont 2 enfants, et les enfants remplacent les parents ; dans les ES, parents ont ' enfants, avec ' >> la slection est dterministe : les meilleurs points, sans tirage alatoire, parmi les ' enfants ou bien parmi les (' + ) parents + enfants Le croisement est un oprateur essentiel pour les AG, peu important pour les ES.
Au contraire, la mutation est un oprateur essentiel pour les ES, peu important pour les AG. Certaines versions des ES utilisent une mutation adaptative : lcart-type & devient alors une variable supplmentaire, ajoute aux variables de conception ; elle va ellemme tre optimise.
Var-discrtes.doc
Loptimisation topologique : linconnue est bien sr la topologie de la pice, ce qui signifie que loptimisation peut faire apparatre ou disparatre des trous, des renforts, des changements de connexions entre lments (enlever ou ajouter une barre,). Cest une mthode intressante surtout dans la phase de prconception dune pice nouvelle ou pour laquelle on veut remettre en question la conception habituelle. Actuellement (2004), loptimisation topologique peut donner des tendances, mais pas directement une forme adapte la fabrication, car on ne sait pas encore tenir compte prcisment des impratifs technologiques. En pratique, il faut gnralement ajouter une tape doptimisation de forme une fois que la topologie optimale a t dtermine approximativement.
Comme en dimensionnement et en optimisation de forme, la fonction objectif minimiser et les limitations satisfaire sont le plus souvent lies la masse, aux contraintes ou aux dplacements. Le critre le plus utilis est la compliance (compliance = travail des forces extrieures = nergie lastique), qui constitue une mesure globale de la rigidit de la structure: minimiser la compliance = maximiser la rigidit.
Domaine variable ! Trous
Milieu continu
Optimisation_topologique
67
Barres
pour un treillis
Pour un treillis de poutres ou de barres dont les points sont donns, le problme consiste chercher les meilleures connections (rigidit maximale, masse minimale) parmi toutes les connections possibles. Cest donc un problme discret.
Optimisation_topologique
68
Pour surmonter ces difficults, il existe essentiellement deux approches : a) intgrer les damiers dans la formulation : on introduit la notion de problme relax : - Pour les treillis, on permettra aux sections de varier continment de 0 s. - Pour les milieux continus, on tend le domaine de conception des matriaux composites, qui contiendront les solutions en damier, en utilisant la thorie de lhomognisation qui permet de calculer et d'optimiser les proprits effectives des matriaux composites. Les variables seront alors continues. Cette formulation a donn lieu de nombreux dveloppements et des logiciels performants; elle est prsente rapidement dans le paragraphe 3. b) restreindre lespace de conception pour viter lapparition des damiers. On constate que, surface de trous gale, plus le nombre de trous est lev, plus le primtre de la rgion solide augmente : Exemple : dans un carr, on compare les primtres obtenus pour une mme surface de matire, avec 1 trou circulaire, 4 trous, pour une surface totale des trous = # r2 1 trou de rayon r primtre = 2 #r 4 r/2 primtre = 4*2 # r/2 = 4# r .. n r/$n primtre= 2 # r $ n Lintroduction dune borne suprieure sur le primtre rduira donc le nombre de trous et sopposera lapparition de damiers. Cette limitation peut tre introduite par pnalisation dans un algorithme volutionnaire.
pour tout v %V
" dx # V
!
avec : Fv = forces de volume, fs = tractions de surface u est solution des quations dquilibre avec une matrice de rigidit dfinie par les modules Eijkl : K(E ijkl) u = F
Optimisation_topologique
69
Rsolution : - on choisit tout dabord le type de microstructure, ce qui dtermine les variables au niveau de la cellule de base du matriau composite - le milieu macroscopique est suppos constitu dune infinit de cellules qui se rptent priodiquement. Par une procdure dhomognisation, on calcule les valeurs des proprits du matriau au niveau macroscopique Ead - on rsout le problme doptimisation pour E % Ead = ensemble des tenseurs de rigidit des composites ayant la microstructure (m) choisie. Exemple dans le cas 2D, si on choisit une microstructure (m) carre telle que reprsente cidessous :
vide
&
'
Microstructure (m) ( Au niveau de la microstructure, les variables sont : - la densit de matire , =1- ) , avec ) = t2 , o t est la taille du trou et lorientation de la cellule * dans la structure (modle anisotrope). Les constantes du matriau dpendent donc de et * :
On calcule Eijkl (), par une procdure dhomognisation (analyse lments finis dune rgion constitue dun trs grand nombre de cellules) en quelques valeurs de entre 0 et 1 et on interpolera pour pouvoir valuer Eijkl () en toute valeur. La dpendance de Eijkl par rapport la rotation de la cellule * est donne par des formules analytiques. ( Au niveau de la structure optimiser, on dfinit un maillage, et on associe chaque lment une variable et une variable *. =0 correspond au vide, =1 de la matire, et 0 < < 1 un matriau composite poreux. Avec cette formulation, lexistence dune solution est garantie.
Optimisation_topologique
70
Structure optimiser
microstructure
Cellule 1, *1
Cellule 2, *2
Mais on obtient un grand nombre de variables, et la mthode serait difficile appliquer si on devait passer par un algorithme de minimisation de type gradient. Son intrt vient de ce quil est possible dtablir les conditions doptimalit (Kuhn et Tucker) du problme et de les rsoudre itrativement, dune manire explicite : ainsi chaque variable et *.est mise jour par une formule simple utilisant les rsultats dune analyse lments finis ; les valeurs des multiplicateurs de Kuhn et Tucker doivent tre eux aussi calculs itrativement par une formule explicite. La solution obtenue convergence, qui est donc stable par rapport au maillage, doit ensuite tre transforme pour liminer les densits intermdiaires (quelques itrations de pnalisation). Cette mthode est utilise par exemple dans le logiciel OPTISTRUCT (ALTAIR, travaux de recherche Bendsoe, Kikuchi) et savre assez efficace mme sur de gros problmes. Une approche utilisant divers types de microstructures (lamins squentiels) a t dveloppe par G. Allaire au CEA. De nombreuses approches inspires de l'homognisation existent, parmi lesquelles celle propose par Bensoe et Sigmund. Les variables de conception sont alors les densits des lments, et les proprits mcaniques sont calcules explicitement (au lieu de la procdure d'homognisation) en fonction des proprits d'un lment de densit 1. Cette approche simplifie est dcrite dans le paragreaphe suivant.
Optimisation_topologique
71
pour e= 1, ,N
f: dfinit le volume impos par rapport au volume initial qui est rectangulaire, avec tous les lments de densit gale 1 xmin est une valeur faible correspondant llimination dun lment, (qui, en pratique, ne sera pas dtruit afin qu'il n'y ait pas singularit de K). xe: variables optimiser, 1 densit pour chaque lment xmax: densit maximale = 1 Si on prend un domaine rectangulaire, maill en carrs de ct 1, une seule matrice de rigidit lmentaire K doit tre calcule, pour llment de rfrence de densit 1. Pour une densit xe , la matrice de rigidit de llment devient : Ke = (xe )p K o K est la matrice de rigidit dun lment de densit 1 et Ke celle dun lment de densit xe
Cot de la matire
rigidit
densit Lexposant p pnalise les densits intermdiaires. En effet, avec q=2 ou q=4, les densits intermdiaires (entre 0 et 1) ne sont pas intressantes pour lalgorithme de minimisation de la compliance volume fix car elles donnent une rigidit faible pour un cot de matire important. Cette formulation permet d'liminer de la solution finale les densits qui ne sont ni 0 ni 1.
On utilise les conditions de stationnarit du Lagrangien associ au problme pour tablir une formule de mise jour des variables ; celle-ci quivaut rendre uniforme sur le domaine la densit dnergie de dformation. Leffet de damier est vit par une procdure de lissage des sensibilits : sur chaque lment e, la sensibilit de la compliance par rapport la variable locale xe est remplace par une valeur moyenne pondre des sensibilits calcules sur les lments voisins.
Optimisation_topologique
72
Pour stabiliser la convergence et satisfaire les bornes, la variation des variables est limite chaque itration (rgion de confiance, ou move-limits ).
Re =
! vm e !vm max
6. Tests de convergence :
- si on vient de dtruire des lments, aller en 3) pour refaire une analyse avec le nouveau maillage sinon, - si aucun lment na une contrainte infrieure dau moins p% ( 25% par exemple) la contrainte maximale, arrter. Ceci signifie que tous les lments restant sont utiles. - sinon, modifier le coefficient RRi : RRi+1 = RRi + ER et aller en 3. avec ER = evolution rate
Optimisation_topologique
73
Deux paramtres sont dfinir pour excuter cette procdure trs simple : RRi0 et ER ; des valeurs de 1% conviennent gnralement ; sinon, elles sont dterminer par quelques essais. Exemple : structure 2 barres, structure avec contraintes de surface uniforme Gnralisation de la mthode ESO : Cas de charge multiples : la mthode stend facilement. Ltape 3 comprend plusieurs rsolutions avec des seconds membres diffrents, mais la mme matrice de rigidit. Llimination des lments se fait lorsque leurs rapports de rejet pour chaque charge est infrieur au seuil fix. Conditions aux limites multiples : idem, mais il faut cette fois autant danalyses lments finis que de cas de conditions aux limites. Limitations sur la rigidit : On utilise la compliance : C=1/2 {F}T {U} avec U solution de [K] {U} = {F}
Minimiser C revient maximiser la rigidit globale de la structure ; on imposera une limite sur C: C < C Lorsquon enlve llment i, de rigidit Ki, on a une matrice de rigidit globale K* et: -K = K* - K = - Ki On suppose que le chargement ne change pas quand on enlve llment i : K* ( U + - U) = F soit : (K + - K) ( U + - U) = F
K U + -K U + K -U + -K - U = F en ngligeant le terme du 2me ordre -K - U, on a : -U = -K -1 -K U et la variation de lnergie de dformation scrit : -C= ! F T -U = -1/2 F T K 1 - K U U = K1 F et donc F T K 1 = U T -K = - K i donc on a : -C = ! U T Ki U = ! Ui T Ki Ui avec Ui = vecteur dplacement du ime lment Pour rechercher la structure la plus lgre possible ayant une rigidit suffisante, on dfinit
Optimisation_topologique
74
)i = ! Ui T Ki Ui (nergie de dformation de llment) comme un indicateur de sensibilit pour choisir les lments liminer. La procdure est analogue au cas prcdent. Limitations sur les dplacements : Pour imposer une condition telle que :
U j < U
on suit le mme raisonnement que dans le cas dune limite sur la rigidit, mais cette fois on calcule les indicateurs de sensibilit en considrant des charges unitaires : Fj =( 0 , 0, , 0, 1, 0, .) (j me composante =1)
o Uj est le dplacement d la charge Fj, Ui et Uij sont les composantes de U et de Uj correspondant au i me lment. Lindicateur de sensibilit (changement de Uj quand on enlve le ime lment) est ici : )i = Uji Ki Uj
Optimisation_topologique
75
La fonction dvaluation est construite partir de la fonction objectif, et les limitations sil y en a, sont traites par pnalit. Loprateur de croisement a pour but de gnrer de nouvelles topologies en combinant deux topologies dj values et slectionnes comme parents . Le croisement binaire standard peut tre appliqu, mais il existe des oprateurs mieux adapts (croisement diagonal ou par blocs pour des problmes de plaques par exemple, voir figure)
Enfants
Le code dlments finis associ doit tre capable de grer lassemblage slectif de la matrice de rigidit et du vecteur chargement, cest--dire de prendre en compte les seuls lments prsents dans lindividu (le nombre de degrs de libert et donc les dimensions de la matrice changent). Il se pose aussi le problme des parties non connexes : dans la version de base des AG, les oprateurs de croisement et de mutation peuvent faire apparatre des lments isols. Il faut avoir une procdure de correction, pour les liminer ou bien les reconnecter au reste de la structure.
Optimisation_topologique
76