• Aucun résultat trouvé

Comme on a déjà vu, afin de résoudre le PG d’optimisation sous contraintes, il faut résoudre les équations de KT, tout en cherchant un sous-problème QP basé sur une approximation quadratique de la fonction de Lagrange .

Le sous-problème QP est formulé comme suit (4.7). Il est obtenu en linéarisant les contraintes non linéaire du problème général (4.1), au voisinage d’un point :

116

Ensuite ce problème est résolu en utilisant un algorithme QP, à chaque itération de calcul , afin de déterminer la direction de descente . On cherche ensuite l’itération suivante sous forme :

Où dénote le point courant à l’itération , est la direction de recherche et est un paramètre scalaire qui correspond à la longueur du pas d’optimisation. Il est déterminé à chaque itération par une procédure de minimisation unidimensionnelle. est une approximation définie positive de la matrice Hessienne de la fonction Lagrangienne.

4.5.1. Rafraîchissement de la matrice Hessienne

Une approximation définie positive, de type quasi-Newton du Hessien de la fonction de Lagrange, est calculée à l’aide de l’algorithme de Broyden-Fletcher-Golgfrab-Shanno (BFGS) [14], à chaque itération majeure de l’algorithme d’optimisation :

Où : λ λ λ λ

Avec , ( ) est une estimation des multiplicateurs de Lagrange. La matrice Hessienne est maintenue définie positive même dans le cas où elle peut être indéfinie à l’optimum grâce à une méthode proposée par Powell [15].

117

4.5.2. Recherche par ligne et Fonction de mérite

En utilisant une technique de recherche par ligne, on peut améliorer les propriétés de convergence de l’algorithme SQP classique. Pour les problèmes d’optimisation sous contraintes, il faut choisir l’itéré suivant de façon à diminuer la valeur de la fonction objectif et en même temps satisfaire les différentes contraintes. En revanche, ces deux objectifs étant le plus souvent antagonistes, il nous faut estimer leur importance relative et définir une fonction de pénalité ou de mérite qui sera par la suite utilisée comme un critère nous permettant de savoir si un point est meilleur qu’un autre. La fonction de mérite est définie par :

Où les υ sont des paramètres de pénalité.

Si ( ) satisfait la condition suffisante de convergence au 2ème ordre, pour assurer la convergence et que soit un minimiseur local de , les paramètres de pénalité υ devraient vérifier . Ainsi l’utilisation de cette fonction de mérite requiert de la prudence. En effet, n’est pas différentiable pour tout x lorsque , d’où vient la principale difficulté. De plus, il est possible que cette fonction ne possède pas de borne inférieure bien que x* soit un minimiseur local de Par conséquent la minimisation de ne conduit pas toujours à une solution du problème sous contraintes.

Le lagrangien augmenté consiste à adjoindre au lagrangien un terme de la fonction de pénalité. Il est également employé sous de nombreuses variantes comme fonction de mérite par exemple par [16] :

Avec :

Les propriétés de cette fonction de mérite, sont similaires à celles de la fonction . En effet, pour des valeurs suffisamment grandes de , si ( ) satisfait les conditions de

118

où , alors la seule fonction qui possède un minimiseur dans un voisinage de est et converge vers lorsque converge vers .

La fonction de mérite (4.11) est utilisée dans le solveur d’optimisation SNOPT (en anglais

Sparse Nonlinear OPTimizer). Soit un itéré et une direction de recherche . On effectue une recherche de tel que où le pas minimise la fonction de manière approximative.

Dans le cas de la fonction de mérite , la longueur du pas d’optimisation est choisie de manière à minimiser . est la solution du sous problème QP et λ le multiplicateur de Lagrange associé.

Cette méthode du lagrangien augmenté peut éviter l’effet Maratos[17] souvent cité comme une difficulté. Cet effet intervient lorsqu’un pas qui serait bénéfique par rapport à la solution recherchée est refusé, soit parce que la fonction objectif augmente, soit parce qu’une contrainte est violée. Cet effet ralentit ou bloque la convergence [18].

119 L’algorithme général de SQP peut être décrit selon :

Figure 4.6 - Algorithme SQP – Figure extraite de [10]

4.5.3. Solveur d’optimisation SNOPT

Le solveur d’optimisation SNOPT [19] est développé et maintenu par des chercheurs de l’Université de Californie, San Diego et l’Université de Stanford (Stanford Systems Optimization Laboratory). C’est un solveur dédié aux problèmes d’optimisation sous contraintes. Il a dépassé depuis quelques années le solveur fmincon disponible dans la boite à

120

outils « optimisation » Matlab®. Dans le cas des problèmes NLP, ce solveur utilise une méthode de type SQP « creuse » basée sur des approximations de type quasi-Newton BFGS du hessien de la fonction Lagrangienne. Ce solveur exploite les propriétés des matrices creuses, et par conséquent, est bien adapté pour traiter les problèmes de grande taille comprenant plusieurs centaines de variables et contraintes. SNOPT est implémenté dans une librairie de routines écrites en Fortran et est disponible dans Matlab®[20]. Il est ainsi connecté directement à des calculs d’EF [21]. Ce solveur se présente aujourd’hui comme étant une boite à outils d’optimisation pour résoudre des problèmes d’optimisation multi physiques, structurelles, de conception… Les avantages de ce solveur résident dans sa capacité à s’appliquer à des problèmes à grande échelle et de tolérer les discontinuités du gradient. Après avoir parcouru rapidement les principales méthodes d’optimisation, et choisi la méthode adéquate à notre problématique industrielle, nous allons présenter dans les paragraphes suivants l’application de l’optimisation au chauffage des composites par infrarouge.