• Aucun résultat trouvé

II.2

Méthode d’optimisation

Afin de définir les dimensions exactes d’un actionneur, il est possible de traduire les différentes grandeurs en termes de variables mathématiques. Il existe plusieurs types d’optimisations qui s’adaptent à la façon dont on traduit le modèle physique étudié. A titre d’exemple, si l’on souhaite maximiser le couple d’une machine électrique pour lequel on a déterminé une expression explicite, comme dans [46], l’optimisation basée sur le modèle analytique est bien appropriée. Lorsque le problème est trop complexe ou s’adapte mal aux hypothèses des modèles magnétiques (grand entrefer par exemple), on préfèrera, comme dans [47], une optimisation paramétrique qui s’appuie sur un logiciel de simulations par éléments finis. Concernant la partie active du manche à retour d’effort, nous nous sommes attachés à développer des modèles analytiques qui sont validés à l’aide de logiciels de simulations. Le choix de l’optimisation s’est alors directement porté sur une optimisation du type analytique.

II.2.1 Traduction mathématique du problème d’optimisation

Comme dans [48], un problème d’optimisation consiste à choisir, par le biais d’un procédé rigoureux, les nx variables de décision dont les valeurs sont notées xβ, β ∈ (1, . . . , nx). Ces

variables représentent les grandeurs du système (dimensions du prototype, intensité du cou- rant etc). Elles sont insérées dans le vecteur x = (x1, x2, . . . , xnx) qui représente le vecteur de

décision. Le Cdc ainsi que les propriétés physiques des matériaux et composants du système imposent des bornes inférieures et supérieures aux xβ, notées Linf β et Lsupβ. Elles ont alors

pour effet de générer un espace borné de dimension nx que l’on appelera Ω et tel que x ∈ Ω.

On définit de la même manière les vecteurs des bornes inférieurs et supérieures comme suit,

Linf = (Linf

1, Linf2, . . . , Linfnx) et Lsup = (Lsup1, Lsup2, . . . , Lsupnx). Notre problème com-

porte aussi des contraintes d’égalité et d’inégalité non linéaires représentées par les fonctions

hj, j ∈(1, . . . , nh) et gi, i ∈(1, . . . , ng), qui ont aussi pour effet de limiter les valeurs que peuvent

prendre les variables de décision. Il est possible de définir les vecteurs de contraintes suivants

h(x) = (h1(x), . . . , hnh(x)) et g(x) = (g1(x), . . . , gng(x)) pour x ∈ Ω. Enfin, un problème d’op-

timisation peut comporter plusieurs objectifs définis par les fonctions fα, α ∈ (1, . . . , nf) et le

vecteur objectif f(x) = (f1(x), . . . , fnf(x)) pour x ∈ Ω. La fonction objectif à minimiser est un

scalaire noté f, et est calculée par l’intermédiaire du vecteur des poids γα, α ∈(1, . . . , nf), noté

γ, que l’on détaillera par la suite. La fonction scalaire est alors calculée en effectuant le produit

matriciel suivant :

f = γt f

kf k (II.1) où γtest le vecteur transposé de γ et kfk la norme de f. Un problème de satisfaction de contrainte

(souvent noté (CSP) comme dans [48] ou [49]) multiobjectifs consiste alors à minimiser f, sachant que g(x) ≤ 0, h(x) = 0 et x ∈ Ω. Comme dans [46] le problème peut être synthétisé par le système d’équations suivant :

       min x∈Ωf gi(x) ≤ 0, ∀i ∈ (1, . . . , ng) hj(x) = 0, ∀j ∈ (1, . . . , nh) (II.2)

II.2.2 Définition de la fonction objectif

Comme on a pu l’identifier, le critère principal dans le choix des deux structures de MSAP préalablement citées s’est directement porté sur le couple. Mais, un des aspects restrictif du Cdc correspond à la tenue en température des bobinages (environ 180 ◦C), des colles et résines

CHAPITRE II. CALCUL ANALYTIQUE DE L’INDUCTION, DE LA FORCE ET DU COUPLE EN VUE DU DIMENSIONNEMENT PAR OPTIMISATION DU DUPLEX ACTIF à minimiser le dégagement de chaleur produit par les actionneurs, d’autant plus que le Cdc indique une température ambiante environnante maximale de l’ordre de 70 ◦C. De plus, même

s’il s’agit d’un système embarqué, la masse autorisée est assez grande pour qu’elle ne soit pas un critère de la fonction objectif, mais qu’elle soit mise sous forme de contrainte d’inégalité. On ne cherchera pas à la minimiser, mais on veillera à ne jamais dépasser une valeur limite fixée. De cela, nous avons donc dégagé deux critères principaux correspondant pour l’un au couple maximum développable par la machine et pour l’autre au dégagement de chaleur directement lié aux pertes joules. Nous verrons par la suite que les pertes fer peuvent ne pas être prises en compte du fait de la faible fréquence d’alimentation. Dans un premier temps, nous avons estimé que l’atteinte du couple utile Cu maximum demandé représentait le critère principal et

nous avons travaillé avec une fonction mono-objectif telle que : f(x) = −Cu(x). Cependant,

dans cette approche, l’aspect thermique est délaissé au profit du couple de la machine si bien que, si la densité de courant dans le cuivre n’est pas limitée sous contraintes, le dégagement de température peut être critique. Afin de réduire les pertes joules (qui sont une fonction explicite dont nous détaillerons l’expression dans la suite du chapitre) nous construisons une fonction objectif multicritères définie en (II.1) :

f(x) = γtf(x) kf k = X α γα (x) kf k (II.3) Avec, X α γα = 1 (II.4)

Ici α ∈ (1, 2) avec f1 qui représente l’opposé du couple utile −Cu et f2 les pertes joules Pj. Les

γα sont les poids associés à chacun de ces critères. Si l’on fait varier les poids associés à chaque

critère et que l’on trace les valeurs de f1 et f2 obtenues, on obtient un front de Pareto, comme

la courbe de la figure II.1.

Figure II.1 – Front de Pareto

Cependant, faute de temps, nous choisirons de prendre quelques couples de poids caractéris- tiques pour réaliser cette optimisation. Si nous obtenons un extremum qui nous convient, nous nous arrêterons à cette étape. Dans le cas contraire, nous utiliserons la méthode du front de Pareto.

II.2.3 Choix du solveur

Outre le développement mathématique présenté aux paragraphes précedents, le choix du solveur et de la fonction utilisée est essentiel. Il existe plusieurs types de fonctions de minimisation dans la TOOLBOX Optimisation de MATLAB que l’on recense dans la table II.1.

II.2. MÉTHODE D’OPTIMISATION Table II.1 – Fonctions de minimisation disponibles dans la TOOLBOX optimisation de MAT- LAB

Fonctions de minimisation MATLAB Type d’utilisation

f minbnd Minimise des fonctions objectifs mono-variable,

non linéaires et non contraintes

f mincon

Minimise des fonctions objectifs multi-variables, non linéaires et avec un nombre fini de contraintes non linéaires

f minsearch

Minimise des fonctions objectifs multi-variables non linéaires et non contraintes, utilisant une méthode dérivative

f minunc Minimise des fonctions objectifs multi-variables

non linéaires et non contraintes

f seminf

Minimise des fonctions objectifs multi-variables non linéaires avec une infinité de contraintes non linéaires

Il existe donc 5 fonctions de minimisation dans le module d’optimisation de Matlab. Nous tra- vaillons ici avec une fonction objectif non linéaire et un nombre fini de contraintes non linéaires, si bien que le choix s’est porté sur fmincon. Certaines fonctions sont mieux adaptées aux pro- blèmes multi-critères mais ne traitent que des cas linéaires ou non contraints. On voit aussi dans [50] qu’il n’est pas rare de travailler avec fmincon pour des optimisations multi-objectifs.

Les fonctions de minimisation possèdent leurs propres algorithmes internes et fmincon en possède quatre référencés table II.2.

Table II.2 – Algorithmes de minimisation

Algorithmes de la fonction f mincon

T rust Region Ref lective Active − set

SQP Interior − P oint

Nous ne rentrerons pas dans les détails des différents algorithmes mais comme dans [51], nous préfèrerons Active − set et Interior − point. Cependant, le premier s’octroie la possibilité de violer les bornes Linf(x) et Lsup(x), si bien que les minimums atteints sont souvent erronés,

car x /∈ Ω. L’algorithme Interior − point, comme son nom l’indique, fait en sorte que le vecteur de sortie de l’optimisation reste confiné entre ses bornes. Nous l’utiliserons alors dans la majorité des cas.

Une des particularités de ces fonctions de minimisation est qu’elles s’appuient sur un point de départ prédéfini par l’utilisateur et que nous nommerons x0. Cependant, plus la dimension

de l’espace est importante, plus le choix de ce point peut s’avérer délicat. En effet, pour le MMA

x ∈ R7et pour la DARM x ∈ R13, ce qui correspond respectivement à un espace de dimension 7

et 13. Si le point de départ est mal choisi, l’optimisation ne convergera pas vers un minimum, ou si elle converge, elle convergera vers un mauvais minimum local. Pour s’exempter de ce choix, nous travaillerons avec le module « global search » de la TOOLBOX Optimisation de MATLAB.

CHAPITRE II. CALCUL ANALYTIQUE DE L’INDUCTION, DE LA FORCE ET DU COUPLE EN VUE DU DIMENSIONNEMENT PAR OPTIMISATION DU DUPLEX ACTIF Il permet, à partir d’un unique point de départ x0donné par l’utilisateur, de multiplier les calculs

à partir de points de départs multiples x0k choisis par l’algorithme de recherche globale, où k est

un entier et le maximum de k est fixé automatiquement par MATLAB. Il s’agit de ce fait d’une optimisation « multistart » où chaque point de départ est choisi par rapport à la probabilité d’atteindre un minimum local, en fonction de la fonction objectif f (qui dépend de γ et f), des vecteurs de contraintes g et h, et de l’espace borné Ω préalablement défini. L’architecture du procédé d’optimisation est donnée par le schéma suivant :

Figure II.2 – Architecture du procédé d’optimisation

Les équations du modèle sont contenues dans « Param mag.m ». Les contraintes et la fonction objectif sont décrites dans les fichiers « Contraintes.m » et « Fonction objectif.m ». Le fichier « Opti main » contenant les diverses options inscrites dans le quadrant de la figure II.2 appelle les fichiers précédents en utilisant la syntaxe suivante :

Sol_0 = gs(fmincon,x,"Fonction-objectif.m","Contraintes.m",x_0,L_inf,L_sup,Interior-Point) Où gs représente « global search » et Sol0 est le minimum local obtenu avec le point de départ

x0, si il existe. Dans le cas où il n’existe pas, le point de départ x0 n’est pas adapté. Cependant,

le module « global search » à cet intérêt de choisir un point de départ basé sur son algorithme interne tel que :

For k from 1 to N

Sol_k = gs(fmincon,x,"Fonction-objectif.m","Contraintes.m",x_0k,L_inf,L_sup,Interior-Point) fin

II.2. MÉTHODE D’OPTIMISATION Et la solution finale correspond à :

Sol= min

k (Solk) = f(xsol) (II.5)

Avec xsolle vecteur de décision solution du problème d’optimisation. Ce module étant qualifié

de « recherche globale » d’un problème d’optimisation, il n’en reste pas moins qu’il s’agit d’un abus de langage. En effet, il ne garantit pas la solution globale sur Ω mais le meilleur optimum local des résultats obtenus à partir des x0k. Même si ces x0k ne sont pas choisis par hasard, il

s’avère difficile d’analyser la manière dont ce choix est fait par manque d’informations claires sur « global search ». Nous nous contenterons alors de ces résultats uniquement si nous aboutissons à une solution qui remplie le Cdc. Dans le cas contraire, certains algorithmes plus puissants d’optimisation globale, comme IBBA ou COUENNE, tenant compte de la non-linéarité des contraintes et se basant sur l’arithmétique d’intervalles, peuvent être utilisés comme dans [52]. Eux, garantissent de manière formelle la globalité de la solution mais, le codage plus difficile et les temps de calculs pouvant parfois dépasser 48h pour les problèmes dépassants 10 variables (ce qui est le cas de la DARM) sont autant de contraintes que nous ferons en sorte d’éviter.

CHAPITRE II. CALCUL ANALYTIQUE DE L’INDUCTION, DE LA FORCE ET DU COUPLE EN VUE DU DIMENSIONNEMENT PAR OPTIMISATION DU DUPLEX ACTIF