Sie sind auf Seite 1von 108

Optimisation en Mcanique

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.

Formulation d'un problme d'Optimisation

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, )

fonction cot (ou objectif)

poids volume fonction des contraintes nergie de dformation dforme,

dfinie partir de paramtres ajuster :

Variables de conception, (ou paramtres doptimisation, variables de dcision) et telle quelle vrifie certaines restrictions : limitations, (ou contraintes doptimisation)

dimensions forme type de matriau orientation de fibres,

contraintes dplacements frquences propres charges critiques dimensions, faisabilit,

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 local Minimum global

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

! -1!0 !R ! g2 (D, t) = -1!0 ! fg ! g3 (D, t) = -1!0 ! fl t g4 (D, t) = -1!0 D


g1 (D, t) = Ce problme est reprsent graphiquement comme suit :

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.

Notations et rappels mathmatiques


Vecteurs, matrices

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

Soit f une fonction drivable, f : Rn . R ; on appelle gradient de f en x le vecteur :

" !f & $ !x ( x ) $ $ 1 $ : $ $ $ $ /f(x) = gradf (x) = # : ' $ $ $ !f : $ $ ( x )$ $ $ ! x % n (


Si f admet aussi des drives secondes, on peut dfinir le hessien de f en x :

" !2f $ ( x ) $ !x 2 1 $ $ !2f $ ( x ) 2 $ / f(x) = Hf (x) = !x 2 !x1 $ : $ $ : $ $ : $ #

!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) +

s r !1 (r-1) s2 f(x) + + f (x) + O(sr) (r ! 1)! 2

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)

est le vecteur qui minimise la valeur sT /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 f(x) + (1 r) f(y) f(rx + (1 r) y)

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

Ensemble non convexe

3. Conditions d'optimalit Conditions ncessaires d'optimalit locale :


Soit f "C2 (Rn) (2 fois continment diffrentiable) Si x* est un minimum local de f, alors : /f(x*) = 0, et H(x*) = /2 f(x*) est semi- dfinie positive

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*) +

r2 T s H(x*) s + r3 ++ s++ 2 O(s) 2

Pour r suffisamment petit, la somme des 2 derniers termes est ngative, do une contradiction. Donc H(x*) est semi-dfinie positive.

Introduction

10

Remarque : cette condition nest pas suffisante ; en 1 dimension :

f(x*)

f(x*) = 0 f(x*) = 0

Conditions suffisante d'optimalit locale


Soit f "C2 (Rn) (2 fois continment diffrentiable) Si un point x* vrifie : /f(x*) = 0, et H(x*) = /2 f(x*) est dfinie positive

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*) +

r2 T s H(x*) s + r2 ++ s++ 2 O(rs) 2

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

Chapitre II Notion de plan dexpriences

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.

Plans factoriels complets deux niveaux : 2k

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

y+ y1=60 y2=70 T (C) 60 80 14

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

Matrice des effets : Essai 1 2 3 4 5 6 7 8 Moy. + + + + + + + + Fac.1


(ac.gr)

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.

Fac1 Fac2 In12

X=

+1 +1 +1 +1

-1 +1 -1 +1

-1 -1 +1 +1

+1 -1 -1 +1

Plans dexpriences

17

Vecteur des rponses :

! y1 $ # & # y2 & Y= # & # y3 & #y & " 4%


!I $ # & # E1 & E= # & # E2 & # " E12 & %
E=

Vecteur des effets :

On a alors :

1 t X Y 4

Et pour tout plan factoriel complet 2 niveaux : E=

1 t X Y n

avec n = nombre des essais = 2k

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.

Notion de plan optimal

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

Chapitre III - Mthodes dApproximation


1.Principe
Soit le problme doptimisation suivant : Minimiser f(x) x avec les conditions : gj (x) ! 0 j = 1, , m En mcanique, on na pas en gnral de relations explicites liant la fonction cot f et les limitations gj aux paramtres x. Ces relations sont implicites et font intervenir des rsolutions de systmes algbriques issus de modlisations par lments finis. Lutilisation dalgorithmes doptimisation ncessitant un processus itratif peut faire intervenir un grand nombre de ces rsolutions. De plus, le processus itratif peut diverger, laissant lutilisateur sans rsultat significatif. En fait, on traite souvent un problme doptimisation en rsolvant des approximations successives du problme, tablies partir d'un faible nombre de calculs de f et gj. Lalgorithme utilis est alors le suivant :

Optimisation par approximations successives Donnes pour la premire approximation

dtermination d'une approximation

minimisation sous limitation du problme approch (algorithme d'optimisation) -> x*ap(i)

arrt du processus si IIx*ap(i)-x*ap(i-1)II<e

modification des donnes de l'approximation

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

2.2 Linarisation inverse (rciproque)

On utilise un dveloppement limit dordre 1 par rapport linverse des variables yi=

1 et on transforme le problme en considrant : xi


f
R

( 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 :

(xi "x 0i)


et :

!gj (x 0) !xi

(lin. directe)

!gj (xi "x 0i) x 0i (x 0) xi !xi

(lin. rciproque)

Il faut donc choisir en fonction du signe de chaque terme de la somme:


L gj

(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 )

!g j & 1 si #0 ' !x i ' o : Ci = ( ' x0 i si !g j $ 0 ' !x i ) xi


Remarque : si les contraintes sont de la forme : gj (x) " 0 j = 1, , m et/ou si les xi peuvent tre ! 0, ce choix nest plus valable. 2.4 Approximation quadratique On utilise des dveloppements de Taylor dordre 2 en 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 )

(xi !x 0i)(xk !x 0k)

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

( x0 ) (xi !x0i)(xk !x0k)

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 ) {!}

P ( x1 , x 2 ) est un vecteur (1, N p ) dfinissant la forme de


o :

l 'approximation (par exemple, base polynomiale)

{!} est le vecteur de paramtres (N p , 1)de l 'approximation


On peut, ce niveau, diffrencier une approximation obtenue par interpolation de celle obtenue par minimisation dcarts en moindres carrs.

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 :

{"} = [Pn ]!1 {#} ! P (x1 , y1 ) % % P (x 2 , y 2 ) o : [Pn ] = % ...

% % 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

La solution scrit alors directement :

Approximations

24

g ap ( x1 , x 2 ) = P ( x1 , x 2 ) Pn

[ ]!1 {"}

3.2 Approximation par moindres carrs


Si le nombre de points utiliss pour dfinir lapproximation Nap est suprieur Np, alors Pn est rectangulaire, et on approche la fonction g sur lespace de conception en minimisant une fonction cart en moindres carrs dfinie par :

J ({!}) =

T 1 Pn ]{!}" { #}) ([Pn ]{!}" { #}) [ ( 2

La minimisation de cette fonction cart par rapport {a} permet dobtenir le vecteur de paramtres :

{"}= ([A ]) {#} , [A ] = [Pn ] [Pn ] , {#}= [Pn ] {$}


!1 T T

Exercice : Dterminer une approximation de :

g(x1 , x 2 ) =

2 x 2 + 0.25 x1

3 3 x1

!1

sous

la

forme approche suivante :

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

Chapitre IV - Minimisation une dimension


1.

Introduction

Le cas particulier de la minimisation unidirectionnelle, ou unidimensionnelle est trs particulier car il concerne deux situations :
!

une seule variable est optimiser :

Min f(x) x R

en dimension n, dans cas o la direction de descente sk est connue:

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

La minimisation 1D comporte gnralement deux tapes : a) Recherche dun intervalle [0,

! ] 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)

f a alors 1 seul minimum, mais nest pas forcment continue ni drivable.

Min_1Dim

26

2.

Mthode dencadrement du minimum

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(!k + $k) > f(!k)

f(!2) !0 !1=!0 + $0 !2=!1 + $1

f(!k + $k) > f(!k)

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

Sous-intervalles limins la 1re itration

Sous-intervalle limin la 2me itration

Il faut

17 calculs de f pour rduire lintervalle de 100, 29 pour le rduire de 10000.

- il existe une version utilisant les drives

Min_1Dim

28

4.

Mthode de la section d'or

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'

c' Sous-intervalle limin

Nouveau point Il faut 13 calculs de f pour rduire lintervalle initial par 100, 22 pour le rduire par 10000

Min_1Dim

29

5.

Mthodes de Newton Raphson et de la scante

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

et on prend comme prochain point lintersection de f1 avec laxe des x : x


k+1

f'(x k ) =x f''(x k )
k

- Taux de convergence dordre 2 :

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

Chapitre V Minimisation locale sans limitations

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.

Mthode du simplexe (Nelder-Mead)

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 :

x0: point initial p=

n 2

( n + 1 + n ! 1)

q=

a n 2

( n + 1 ! 1)

ek: vecteur de base dans la direction k

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)

h) si fg < fr < fs calculant xc:

(xr pas meilleur que xg), se rapprocher de xi (contraction): en

xc = w + & (w - xs)

avec 0 < & < 1 xg

(&=0.5)

xs

xc w

xr xi

Min_sans_lim

33

i) si fc ' fs, remplacer xs par xc et aller en b) avec (c, g, i)

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

xc Xq xs Nouveau simplexe aprs contraction, xi

Critre de convergence :

& 1 n #2 2 ( f j ( f ( w )) ' %1+n " <( j=0 $ !


(Arrt lorsque toutes les valeurs de la fonction sur les points du simplexe sont proches en moyenne) Cest une mthode assez efficace et robuste lorsquil y a peu de variables ( < 10), utiliser lorsquon ne dispose pas des drives de f. Il faut vrifier que la qualit gomtrique des simplexes ne se dgrade pas.

Min_sans_lim

34

3. Mthode de la plus forte pente

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

7 5 2 .014 0 1 5 5 1 .9 . 288 3 5 4 1 .827 8 7 6 4 3 7 9 5 3 7 6 7 4 21 .2 8 4 5 6.6 . 9 8 3 0 7 5 41 9 1 .0 6 1 31 . 7 7 6 1 09 4 76 9 63 0 6 14 .0 5 2 7 4 8 1 7 4. 2 . 0 . 45 0 8 2 . 350 8 14 8 4 1 1 72 71 2 8 5 4 5 5 7 3 2 0 .6 .2 3 .3 7 .9 4 0 7 9 1 .8 68 3 8 7 6 4 0 62 3 11 6 2 4 55 9 .6 7 3 .2 7 . 9 7 68 8 4 6 5 96 0 . 4 76 87 7 7 1 1 1 46 96 0 3 . 9 20 4 . 1 0 88 . 3 1 12 7 6 30 2 4 4 5 46 05 6

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

(si A = I, cest lorthogonalit)

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 +

! k ! kT BK ! k ! kTBK ! kTB k ! k ! kT " k

Min_sans_lim

38

0 la mthode BFGS (Broyden-Fletcher-Goldfarb-Shanno) B


k+1

! ' k B k ' k $ ! k " kT B k + B k " k ! kT = B + #1 + kT k & ! kT " k ( ' % "


k

f) k = k + 1 ; test darrt : fin ou aller en b)

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

Chapitre VI - Minimisation locale avec limitations


1. Introduction
Problme pos : avec : ici, on suppose : Minimiser f(x) gj(x) ! 0 j=1, ..., m hl (x) = 0 l=1, ..., p x = (x1, ..., xn ) (Q)

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

Direction y admissible # gj(x)T . y ! 0

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)

Si la rciproque est vraie, cest--dire si :

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 :

!p = uip " = "1,..."nc

2.2.b cas des contraintes dgalit (gnral) Minimiser f(x) h1(x)=0 . hp(x)=0

(Qe)

On introduit la fonction de Lagrange :

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

(ou encore : # x L = 0) (ou encore : # & L = 0)

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

j=1, ..., m des limitations linairement

Et si x est rgulier (gradients indpendants), alors les & j sont uniques.

Caractrisation de loptimum : interprtation graphique des conditions de KKT : f dcroissante

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

Conditions de KKT pour un problme avec limitations dgalit et dingalit

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 :

Minimiser f(x)=x12 + x2 Sous les contraintes : g1 (x) = x12 + x22 9 ! 0 g2 (x) = x1 + x2 1 ! 0

Min_lim

40

On va montrer que la rsolution des conditions de KKT donne les valeurs du minimum x et des multiplicateurs & associs :

2 0# , # 2g = &2 0# ), g est f , g1 , g2 sont diffrentiables , f et g1 sont convexes (# 2f = & 1 2


linaire Les conditions de KKT scrivent : # f(x) + & 1 # g1 (x) + & 2 # g2 (x) = " & 1 g1 (x) = & 1 ( x12 + x22 9) & 2 g2 (x) = & 2 ( x1 + x2 1) &1 ) 0 &2 ) 0

$ %0 0! "

$ %0 2! "

! 2x 1 $ ! 2x 1 $ !11 $ % + '1" % + '2" % = 0 # 1 & #1& # 2x 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)

(Q) = problme primal, (D) = problme dual

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

On a alors aussi: L(x, & ) = !


n i =1

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

* sk dir. de descente : f dcrot dans la dir. sk # fT ( xk) sk < 0

# 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

j" J (toutes les contr.)

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

4. Mthodes de pnalit et du Lagrangien Augment


4.1 Principe Remplacer le problme contraint : Minimiser f(x) avec : gj(x) ! 0 j=1, ..., m (Q)

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 :

Min !(x)= f(x)+H(x)


o H(x)=

!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

SI on considre lquilibre du ressort du paragraphe 2.2.2, on doit minimiser :

$ k !k % " u1 # 1 2 Min & (u1,u2 ,r) = u1,u2 ) ' ( ! Fu2 + r u1 * u ! k k 2 + ,- 2. u1,u2


1 k + 2r F , u2 = F 2r 2rk Ces valeurs tendent vers la solution exacte quand r ! + " .
Ce qui donne : u1 = 4.3 Pnalit intrieure Mme principe que la pnalit extrieure, mais pour obtenir un minimum approch par lintrieur du domaine (donc toujours admissible). On dfinit : 0 (x, r) = f(x) - r ! ou bien : 0 (x, r) = f(x) - r !
m j =1

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)

est un point stationnaire de 0 : #0 (xk*,rk) = # f(xk*) + 2 rk ! <gj(xk*)>+ # gj(xk*) = 0


j =1 m

(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

avec pour point de dpart xk

1 solution xk* (c) (d) Actualiser les multiplicateurs :


* ! jk +1 = max ! jk + 2 r g j (xk ),0

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

A(x, ! ,r) = 0.5x + r

!j

+2

La minimisation de A(x, & 2,r) donne :

x2 = 4 On a donc obtenu la solution exacte au bout de 2 itrations, ceci pour r quelconque.

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 :

pour loptimisation de produits ou de lidentification de paramtres Variables :

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)

Etc Valeurs globales ou ponctuelles, intgrales, moyennes, valeurs maximales, Exemples :

M
54

Lien optim-mca

Minimiser wM

Minimiser (maximum (! )) " Minimiser

$!
#

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.

Donnes Variables de conception

vK+1

Minimisation simulation numrique (lments finis) (programmation mathmatique)

Rsultats critres / limitations (gradients)

f(vk), g1(vk), gm(vk)

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

1.3 Mthodes dapproximation (surfaces de rponse)


Principe : a) Effectuer p simulations numriques pour p valeurs bien choisies des variables v1,v2, , vp v1=(v11, , vn1) b) On obtient : f1=f(v1), f2=f(v2), , fp=f(vp)

et ventuellement ses drives. De mme pour chaque limitation.

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

2. Calcul des sensibilits


La plupart des mthodes de descente efficaces ncessitent les gradients de la fonction objectif et des limitations, et certaines mthodes dapproximation galement. Ce calcul nest pas immdiat lorsque les fonctions driver ne sont pas exprimes explicitement en fonction des variables, et cest le cas par exemple avec une modlisation par lments finis. Exemple : lasticit linaire Soit : v = (v1, , vn) les variables U (v) la rponse considre (ex : dplacements) f(v) la fonction considre (ex : norme des dplacements)

" !f & $ $ $ !v1 $ On doit calculer & f = # ' $ !f $ $ $ % !vn (

avec

f(v) = F(v, U(v))

(1)

2.1) Calcul des sensibilits par diffrences finies

d.f. avant :

!f(v) f(vi + "vi ) ! f(vi ) % "vi !vi

(2)

d.f. centres :

!f(v) f(v + "vi ) ! f(vi ! "vi ) % i !vi 2"vi

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

f(x) ( f(x+h)-f(x) ) / h = ! h f(y) = troncature, croissante en h, diminuer h pour diminuer lerreur

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

2.2) Calcul analytique des sensibilits


Remarque : calcul analytique signifie quon tablit analytiquement les expressions calculer ; elles sont ensuite discrtises et leur valeur est calcule par le code dlments finis. U dpend de v car cest la solution des quations dquilibre pour une valeur de v donne, donc :

!f(v) ! F(v,U(v)) !F(v, U(v)) ! U(v) = + !vi ! vi ! vi !U

(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)

Drivation par rapport vi :

!K !U !Q U+K = (5) !vi !vi !vi

si on peut calculer supplmentaire :

!K !Q !U , , on peut obtenir par une rsolution linaire !vi !vi !vi

mthode directe, ou pseudo-charges :

!U !Q !K = " U !vi !vi !vi

(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

!U pourra servir au calcul du gradient dautres fonctions !vi


ou bien mthode de ltat adjoint (charges virtuelles) on a (3):

!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(v) !F !F -1 !Q !K " U) = + K ( ! vi !U !vi !vi !vi


on dfinit : ( T = vecteur dtat adjoint

On peut calculer directement le produit ( T =

!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

Schma dimplantation numrique des calculs analytiques de sensibilits

Assemblage des matrices de rigidit Ke Triangularisation Assemblage du chargement Qe dans Q Rsolution # U

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 #

!Qe !Ke Ue !vi !vi !U !vi

Rsolution # ( j Pour chaque variable vj Drives de Ke et Qe

Pour chaque fonction gj (f, gj)

We= n

!Qe !Ke Ue !vi !vi

m+1

Termes explicites

!g j !vi

Assemblage We # Wi Termes explicites

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

2.3) Calcul semi-analytique


Cest un calcul bas sur les expressions analytiques (mthode directe ou tat adjoint) mais utilisant des diffrences finies pour les calculs drives des matrices de rigidit lmentaires. Cette mthode vite davoir besoin des programmes sources des modles lments finis utiliss

2.4) Logiciels de diffrentiation automatique


A partir des programmes calculant les fonctions, de la dsignation des variables, gnrent les programmes donnant les drives Exemples de logiciels: ADOL_C, ADIFOR, ODYSSEE, A suivre http://www.inria.fr/rrrt/rr-3555.html http://www.sc.rwth-aachen.de/Research/AD/ http://euler.mcs.utulsa.edu/~class_diaz/cs8243/

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)

Variables Modle gomtrique

maillage, estimation derreur, adaptation : repositionnement ou remaillage mise jour donnes mcaniques (charges, c.limites,..)

Modle numrique

Analyse (lments finis)

Fonction objectif, limitations, Sensibilits

Etape de Minimisation Si convergence , fin sinon


Il faut disposer doutils dactualisation du modle lments finis tels que : repositionnement des nuds, par exemple par lissage laplacien ou repositionnement lastique, ceci pour les modifications de forme de faible amplitude remaillage pour les modifications plus importantes estimateur derreur et maillage adaptatif, afin de contrler que lerreur commise reste constante au cours de loptimisation.

Lien optim-mca

65

4. Logiciels doptimisation et de gestion de calculs


Bibliothques gnrales: Nag, IMSL, Optimization Toolbox de Matlab, Logiciels (commercialiss ou libres) Solvopt http://www.kfunigraz.ac.at/imawww/kuntsevich/solvopt/ Minlp (integer prog.) DOT,VisualDOC, BIGDOT,.. http://www.gamsworld.org/minlp/ http://www.vrand.com/

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

Un site concernant la Recherche (revue, congrs,) : http://www.aero.ufl.edu/~issmo/

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 :

2. Sources derreur Dveloppement limit :

!f 1 ! 2f f ( v + ! vi ) = f ( v ) + ( v ) " vi + ( v + #!vi )"vi2 , 0 $ # $ 1 2 ! vi 2 ! vi


o le vecteur des paramtres perturb !vi scrit :

!vi = 0, 0, 0..."vi , 0, ...0 (composantes nulles sauf la ime)

!vi est la valeur de la perturbation associe la ime variable.


Mais le calcul de f est dj entach derreur. Ceci est d la prcision machine, des erreurs darrondi lors dinversion de systme, En fait, sur un aspect numrique, on

( v ) = f ( v ) + ! ( v ) o ! ( v ) est lerreur de condition. Lquation ne calcule pas f(v) mais f c c


prcdente scrit alors :

!f 1 ! 2f f ( v + ! vi ) + " c ( v + ! vi ) = f ( v ) + " c ( v ) + ( v ) # vi + ( v + $!vi )#vi2 , 0 % $ % 1 2 ! vi 2 ! vi


On en dduit alors lexpression de la drive :

( 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 :

( v + !v ) " f (v) f !f i (v) # ! vi $ vi


Ce calcul est entach derreur de condition ec() vi) et de troncature et() vi) :

( v + !v ) " f (v) f !f i (v) = + e c ( # vi ) + e t ( # vi ) ! vi # vi


avec : ec ( $vi ) =

! c ( v + " vi ) # ! c ( v ) 1 " 2f , e t ( $ vi ) = ( v + %"vi )$vi $ vi 2 " vi 2

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 :

Calculons la sensibilit de u par rapport x thorique:

!101 x " # u $ # 10 $ ' x 100 ( % v & = % 10 & ) *+ , + ,


!10x + 1000 10100 ! x 2

u (x ) =

Pour x=100

Lien optim-mca

68

Chapitre VIII - Identification en mcanique (problme inverse)


1. Introduction.
1.1.Problme direct La rsolution dun problme direct en thermomcanique du solide consiste dterminer : les champs de temprature, de flux thermiques, de dplacements, de contraintes, de dformations connaissant : ! les proprits du matriau telles que la conductivit et la capacit calorifique, la loi de comportement liant contraintes, dformations et temprature (module de Young, coefficient de Poisson, courbe dcrouissage dpendants de la temprature) ! les conditions initiales et aux limites : tempratures initiales, conditions dchange thermique (convection, radiation,) et conditions aux limites mcaniques (dplacements ou efforts imposs, coefficients de frottement) Au plan mathmatique, la rsolution dun problme direct revient rsoudre analytiquement ou de manire approche(lments finis) un systme dquations diffrentielles associes des conditions initiales et des conditions aux limites ,tous les paramtres rgissant le systme tant connus. On peut reprsenter les oprations associes un calcul direct en thermolasticit par la figure 1. 1.2.Problme inverse Par opposition , la rsolution dun problme inverse consiste dterminer un ou plusieurs paramtres dfinissant le systme (paramtres matriaux ou conditions aux limites) en sappuyant sur des rsultats exprimentaux obtenus partir dun ou plusieurs essais. Le principe est de caler ces paramtres de telle manire que des calculs analytiques ou par lments finis raliss avec ces paramtres identifis donnent des rsultats sapprochant au mieux des rsultats exprimentaux. Pour un problme de thermolasticit (figure 2), les inconnues pourraient tre les facteurs dchange h et ! ainsi que la loi de comportement dfinie en fonction de la temprature par les coefficients Cijkl(T) et les efforts Fi . Parmi ces paramtres, on peut considrer que h, ! et les efforts Fi dpendent du systme tudi, alors que les coefficients Cijkl(T) sont intrinsques au matriau. On pourra par exemple utiliser des expriences complmentaires (tractions simples diffrentes tempratures) pour les dterminer. On cherchera donc minimiser une fonction cart que lon considre en moindre carrs sous la forme :

A J (h, ! , Cijkl , " , Fi )= B C

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.

Problme direct en thermolasticit


Problme thermique

qn = ! (T " T
4

sur S 2 (radiation) :
4 R

qn = h (T " T! )

sur S1 (convection) :

dans V (conduction) : & ! k "T ! Q = 0 C T


p

sur S3 ( flux impos ) : qn = q


qn = " k r r !T = " k #T . n !n

sur S 4 (temprature impose) : T =T

Problme mcanique
sur S Fi

sur Sui

! ij n j = Fi

dansV : "! ij + fi = 0 "x j


Loi de Hooke : ! ij = Cijkl (T ) (" kl % # T $ kl )

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.

Problme inverse en thermolasticit


Problme thermique

qn = ! (T 4 " TR4 )
thermocouples

sur S 2 (radiation) :

qn = h (T " T! )

sur S1 (convection) :

dans V (conduction) : & ! k "T ! Q = 0 C T


p

sur S3 ( flux impos ) : qn = q

sur S 4 (temprature impose) : T =T sur Sui ui = ui

Problme mcanique

sur S Fi

Essais de Traction simple

! 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,!

[K (h, ! )]T (T )cal = (F (h, ! ) )T


# % K (T (h, ! ), Cijkl , " ) $ & u (u )cal = (F (T (h, ! ), Cijkl , " , Fi ) )u
Courbes de traction : ! ij = Cijkl (T )(" kl % # T $ kl )

r r TR , T! , T , q T , q = ! k "T tempratures aux thermocouplesTi exp r f Cijkl (T ), ! (T ) ui

min h, ! , Cijkl , " , Fi

J (h, ! , Cijkl , " , F )

dformations aux jauges ! i exp

Fi r u , ! ij

thermo couples

& (T (h, ! ) % T ) +
2 j cal j exp j cal ijkl , " , Fi ) % # j exp

Courbes de traction

J (h, ! , Cijkl , " , Fi )=

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,).

2. Mise en uvre des procdures didentification.


2.1.Interpolation et identification de relation entre deux paramtres Soit un phnomne physique liant deux grandeurs (contrainte/dformation par exemple) que lon note x et y. Des expriences nous ont fourni nexp couples (xi, yi). On peut envisager de relier x y par une paramtrisation interpolante, cest dire que lapproximation est dfinie par nexp paramtres dtermins en faisant passer lapproximation par tous les points exprimentaux. Cette mthode peut provoquer de mauvaises approximations si lon considre un grand nombre de points et une approximation polynomiale dont le degr crot avec nexp. Dans ce cas, la fonction interpole peut subir de grandes variations entre les points exprimentaux. Cest pourquoi il vaut mieux considrer des approximations de degr peu lev et plus de points exprimentaux que de paramtres et les identifier par minimisation de fonction cart (figure 3). y identification

yi interpolation

xi Figure 3. Soit lapproximation

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

Si lapproximation est telle que :


y = P( x)

(p)

P( x) est une base polynomiale

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 :

[A] [A]( p ) = [A] (B )


T T

Exemple : relation linaire entre deux paramtres. Dans ce cas, on a (figure 4) : y = P (x ) ( p) o :


P( x) = 1 x , p = p1 p2

Alors :

!1 x1 " $ [A]= # #........ $ #1 xn exp $ % &


On doit donc rsoudre :
! ' n exp ' ' n exp ' - xi ' i =1 + " # n exp $ x i ( % - yi & p # $ i =1 i =1 1 & ( = % n exp % & n exp % & ( p xi2 ( ) 2 * % x y & i i % i =1 & ( i =1 , ) *
n exp

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.

2.2 Gnralits sur le calcul des sensibilits

!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

est ainsi obtenu par rsolution du systme suivant :

! ( 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

Les conditions aux limites scrivent : T (0 ) = T

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

A B discrtisation 6 lments On dcrit ensuite le modle aux lments finis.

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

Construction du modle lments finis

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

1 T * , T vrifiant T * (0 )= 0, T (0 )= T Cette quation scrit pour un maillage de N lments :


W = # T* " T
e * 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 &

La forme faible scrit finalement :


W = T*

" T * , (T )vrifiant T1* = 0, T1 = T

( )

[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

dsigne une somme au sens de lassemblage de vecteur ou de matrice lmentaires

(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 )( ( ' %" ( %" %" ) *

o le vecteur adjoint (! ) est solution de :

[K ](! )= % %
! #J " Dans notre cas, le vecteur $ scrit : $ # (T ) % % & '

" $J # & & ' $ (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

... 2l ... 3 l ... 6

" 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

La solution est une distribution linaire de T dans lpaisseur :


T (! ) = (1 " ! )T0 + ! T1 Ta = (1 ! a )T0 + a T1

Les tempratures thoriques des capteurs sont :


Tb = (1 ! b )T0 + b T1

Par inversion des relations prcdentes, on a :


$1 ! a a % " T0 # " Ta # )1 ! b b * ' T ( = ' T ( & + ,- 1 . - b . b a 1!a 1!b T0 = Ta ! Tb T1 = Ta ! Tb b!a b!a b!a b!a % = T ! et T % = T ! , o ! et ! sont les erreurs de mesure. Les En fait on a mesur T a b a a a b b b

tempratures des faces externes de la paroi effectivement values sont alors :


% = b T % ! a T % T 0 a b b!a b!a % !T = "0 = T 0 0 % = 1!a T % ! 1!b T % T 1 a b b!a b!a % !T = "1 = T 1 1 1!a 1!b "a ! "b b!a b!a

Les erreurs dvaluation sont alors :


b a "a ! "b b!a b!a

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

Chap. IX - Optimisation en variables discrtes et mthodes d'optimisation globale


1. Introduction
Le cas des variables discrtes et celui de la recherche dun minimum global sont deux types de problmes trs diffrents, indpendants l'un de l'autre, mais qui ont un point commun: ils ne peuvent pas, - ou mal - tre rsolus par les mthodes de descente classiques abordes dans la premire partie du cours (gradient conjugu, quasi-Newton, pnalits, ). Ce chapitre prsente des mthodes qui peuvent tre utilises pour rsoudre ces deux catgories de problmes. Exemple de variables discrtes : nombres de plis, de couches, orientation des angles des fibres dans un composite, paisseurs, sections prendre dans un catalogue de valeurs, raidisseurs (prsence ou non), barres dans un treillis (prsence ou non) trous dans une pice 2D, 3D, .... Comme on ne peut pas dfinir le gradient dune fonction par rapport une variable discrte, les mthodes bases sur le gradient ne peuvent pas s'appliquer. Des mthodes d'ordre 0 telles que le simplexe de Nelder-Mead ne sont pas non plus utilisables puisque les points successifs sont calculs par des "pas" valeurs continues (sommes de vecteurs). Cependant, quand on doit prendre les valeurs des variables dans un catalogue, mais que les fonctions sont dfinies pour toutes les valeurs relles des variables, on peut utiliser les mthodes classiques de descente pour trouver le minimum du problme continu, puis ensuite projeter cette solution sur le domaine discret (prendre les valeurs discrtes les plus proches), mais ce nest pas toujours la meilleure solution comme le montre l'exemple cidessous (rf : M.Minoux, programmation mathmatique, Dunod):

Optimum discret projection de la solution continue

Min f(x1, x2) = -10 x1 11 x2 Avec : 10 x1+12 x2 ! 59 x1et x2 entiers " 0

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

k = k+1 ; aller en d) ; aller en b)

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

pour T1 Intervalle dacceptation de xk pour T2

-#f

Pour T1 > T2 , une mme valeur de #f donne pT1(#f) > pT2(#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 :

Gnration alatoire d'une population t=1, G1 = {X1, X2, , , Xnpop }

Calcul de la fonction objectif pour l'valuation des individus: f(X1), f(X2), , , f(Xnpop)

Test de convergence

Fin (population uniforme)

Slection de npop individus X est slectionn avec une probabilit:


k

p ( Xk )

f ( Xk )
npop

!
soit St = {Y , Y , , , Y
1 2 npop

j=1

f (X j )

} cette nouvelle population

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)

Elles peuvent trouver le minimum ou le maximum global, ou plusieurs optima locaux.

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

Chapitre X - Optimisation topologique


1. Introduction
En Mcanique, on distingue 3 classes de problmes doptimisation selon la nature des variables de conception : Le dimensionnement : les variables sont des sections, des paisseurs, , toutes quantits qui peuvent voluer sans ncessiter de modification du maillage en lments finis Loptimisation de forme : linconnue est un contour (2D) ou une surface (3D). Par rapport au dimensionnement, une difficult supplmentaire vient de ce quil faut grer lvolution dune gomtrie : sa description est paramtre par les variables, et le maillage doit tre mis jour chaque nouvelle valeur de ces variables (chaque itration).

Frontire variable "

Frontire variable "

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

pour un milieu continu :


On se donne : un domaine qui contiendra la solution, les chargements, les conditions aux limites, ventuellement des restrictions (dimension max dun trou, ...) On doit dterminer sil y a de la matire ou du vide en chaque point de lespace, cest--dire chercher la position et la forme des trous qui peuvent tre introduits pour allger la structure tout en lui conservant une rigidit suffisante.

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.

2.Position du problme doptimisation topologique


On ne considre ici que des problmes dlasticit linaire. La recherche d'une topologie optimale est un problme complexe formuler et rsoudre, en particulier parce quil est dans ce cas plus difficile de reprsenter les transformations de la structure par des variables continues. En effet, dans le cas d'un milieu continu, la solution possde un nombre de frontires inconnu a priori, et il nest pas possible de dcrire une topologie quelconque avec un nombre donn de courbes paramtres (de connexions pour des structures constitues barres). Idalement, chaque point du domaine peut tre constitu de vide ou de matire; lorsque la structure est modlise par lments finis, un paramtrage naturel consiste associer chaque lment une variable binaire: 1:matire, 0: vide. Malheureusement, le problme ainsi obtenu prsente deux difficults: - c'est un problme discret de grande taille (nombre d'lments, nombre de connexions possibles) et on ne connat pas de mthodes de minimisation efficaces dans ce cas. Les algorithmes volutionnaires peuvent nanmoins rsoudre certains problmes de faible taille. - c'est un problme "mal pos", ce qui signifie qu'il n'y a pas forcment convergence lorsque le maillage est affin. On peut interprter cela en disant qu'il est plus intressant mcaniquement de faire un "trs grand nombre" de trous "trs petits". On voit apparatre des solutions prsentant le phnomne de damier dont la taille est lie la discrtisation lments finis.

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.

3. Formulation relaxe: homognisation


Origine : la recherche dun domaine constitu dune partition macroscopique de vide et de matire est un problme mal pos au sens mathmatique. Un moyen de le transformer en problme bien pos est dintroduire la notion de microstructure (matriau composite form de matire et de vide). La variable est la densit (continue) du matriau de base, et la solution deviendra alors indpendante du maillage lments finis. Le problme revient chercher les composantes du tenseur dlasticit Eijkl parmi un ensemble de tenseurs admissibles correspondant au type de microstructure choisi. Le problme de minimisation de la compliance peut scrire : Minimiser l(u)= # f v ud! + # f suds
! "

par rapport aux variables E ijkl avec u solution de :

! E ijkl ( x) " ij (u ) " kl ( v ) dx = l ( v )

pour tout v %V

et pour un volume total de matriau V fix :

" 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.

4. Un exemple de mthode d'optimisation topologique : TOPOPT


(Voir le site http://www.topopt.dtu.dk o une documentation sur cette mthode, des rfrences et le programme Topopt , 99 lignes de Matlab, sont disponibles). Le principe est le suivant : On se place en lasticit 2D, les variables sont des densits xe des lments du maillage; on minimise la compliance volume impos ; les densits sont comprises entre 2 bornes; l'quation d'quilibre apparat comme une limitation du problme d'optimisation: Minimiser C = FT U V = f V

Optimisation_topologique

71

0 < xmin + xe + xmax KU=F F: chargement U: dplacements nodaux

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 ).

5. Approche par critre doptimalit : mthode ESO (evolutionnary structural optimization).


Il s'agit d'un autre type d'approche, que l'on peut rapprocher de la mthode du "fully stressed design" car elle s'appuie sur un concept intuitif. Principe : en enlevant progressivement la matire inutile, la forme (topologie) volue vers une forme meilleure (Steven et Xie). Suivant la fonction minimiser et les limitations satisfaire, le critre dlimination de la matire sera diffrent. Le cas le plus simple est celui qui est bas sur le niveau des contraintes locales : on supprime progressivement les lments sur lesquels les contraintes (von Miss) sont faibles. En contraintes planes par exemple, on procdera de la manire suivante : 1. maillage de la structure initiale. La topologie optimale sera lintrieur de ce domaine. 2. application des charges et des conditions aux limites 3. analyse : calcul des dplacements, des contraintes. On value sur chaque lment la contrainte de von Mises : ,evm = et la valeur maximale de ,evm sur tout le domaine ,maxvm 4. calcul, sur chaque lment, du rapport :

Re =

! vm e !vm max

5. Suppression des lments o Re < RRi

cest--dire : ,evm < RRi * ,maxvm

o le paramtre RRi est le rapport de rejet de litration courante

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)

Fj T - U = - Uj = Fj T K 1 Ki U = Uj T Ki U = Uji T Ki Ui ( -U = -K -1 -K U avec -K = Ki = matrice de llment i, 0 ailleurs)

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

6.Optimisation topologique par algorithmes volutionnaires (AG, ES)


Pour simplifier la prsentation, on se place dans le cas de structures planes (plaque). On peut gnraliser aux coques ou au 3D, ou au cas de poutres ou de barres bien quil soit un peu diffrent. La mthode la plus simple consiste reprsenter le domaine par un modle discret (un maillage fixe, Ne lments) ; les lments seront prsents ou non (une variable binaire 0/1 associe chaque lment). Certains lments portant les charges ou les conditions aux limites doivent tre toujours prsents pour que la structure optimise rponde bien aux spcifications imposes (Ni lments). Un individu dans la terminologie AG reprsente une topologie particulire, et est constitu dune chane binaire dont la longueur (Ne - Ni) est proche du nombre dlments du maillage (voir figure).

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)

Parents Croisement par blocs

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

Das könnte Ihnen auch gefallen