IV. Itérations, optimisations et statistiques

Les techniques d'optimisation. Deux exemples d'application physiques de l'optimisation. Le problème des tolérances sur les valeurs des composants et les techniques d'analyse statistique ; étude du pire cas et estimation de rendement.

1. Techniques d’optimisation

1.1. Principe

Le but d’un algorithme d’optimisation est de rechercher les valeurs des paramètres d’entrée d’une fonction donnée qui correspondent à une valeur extrémale de cette fonction, minimale ou maximale, suivant le problème posé.

En ce qui concerne les problèmes physiques auxquels nous nous intéressons, il s’agira le plus souvent de minimum, la fonction à optimiser étant appelée fonction d’erreur, c’est-à-dire la fonction écart entre les performances réelles et celles attendues. Il s’agit bien sûr d’une fonction au nombre de variables plus ou moins important.

Notre propos n’est donc pas d’étudier ici l’algorithme, mais la manière de l’utiliser, sachant que chaque algorithme a un comportement suivant le type de fonction présentée. Nous citerons pour mémoire quelques unes de ces méthodes :

  • méthode du gradient,

  • méthode du gradient conjugué,

  • méthode de Newton,

  • méthodes dites quasi Newton, à titre d’exemple DFP (Davidson-Flecher-Powell).

1.2. Quelques précautions

On ne part pas au hasard : l’algorithme est fait pour calculer, pas pour faire des miracles ! Il faut donc que les valeurs initiales des paramètres ne soient pas trop éloignés de la réalité, ce qui est en général le cas, car on a toujours, d’une manière ou d’une autre, le sens physique de ses valeurs. Ceci pour qu’il y ait la meilleure convergence possible, en valeur et en temps d’exécution.

Il faut s’assurer aussi qu’il n’existe pas de combinaison des valeurs d’entrée donnant ponctuellement une valeur extrémale qui échapperait à l’algorithme. Il faut par ailleurs savoir que si la fonction est dérivable, une des méthodes particulièrement performante est celle du gradient conjugué.

Une difficulté bien connue est celle des minimums locaux qui peuvent bloquer l’algorithme dans un domaine donné. Il est alors nécessaire de modifier les valeurs initiales des paramètres pour parvenir au minimum global.

2. Premier exemple typique d’optimisation

La meilleure façon d’appréhender la manière de construire une fonction d’erreur est de traiter quelques exemples.

2.1. Filtre passif avec pertes

Dans les méthodes de synthèse classiques, on considère toujours les éléments \(L\) et \(C\) comme réactifs, c’est-à-dire sans pertes (ou du moins très faibles), ce qui conduit à les négliger. De ce fait, les caractéristiques de transfert ne sont plus exactement celles attendues au moment de la conception.

Ainsi, le graphe de la réponse harmonique d’un filtre passe-bas (figure ci-contre) présente un affaiblissement \(A_0\) à l’origine, ce qui est normal en raison des pertes par effet Joule (translation prévisible).

Ce qui est beaucoup plus gênant, c’est la dégradation de la courbe au voisinage de la fréquence de coupure \(f_0\). Pour obtenir une synthèse acceptable, il faudrait que la courbe réelle \(C_R\) puisse être confondue avec la courbethéorique \(C_{Th}\), à la translation \(A_0\) près.

2.2. Explication physique

Les inductances et les capacités sont caractérisées par un coefficient de qualité \(Q\) qui dépend des résistances de fuite \(R_L\) et \(R_C\). Le constructeur fournit une valeur moyenne de \(Q\) de sorte que, si le filtre fonctionne au voisinage d’une fréquence \(t_0\), on aura : \[R_L=\frac{L~\omega_0}{Q_L}\quad;\quad R_C=\frac{Q_C}{C~\omega_0}\]

Si l’on travaille en pulsation normalisée \(\Omega=\omega/\omega_0\), on constate que les impédances sont modifiées (existence d’une partie réelle) : \[j~L~\Omega\quad\rightarrow\quad j~L~\Omega+\frac{L}{Q_L}=L~(p_n+\frac{1}{Q_L})\]

Il en est de même pour les capacités.

Tout se passe comme si : \[p_n\quad\rightarrow\quad p_n+\delta_L\qquad\text{ou}\qquad p_n\quad\rightarrow\quad p_n+\delta_C\]

La position des pôles est rapprochée de la partie droite du plan complexe.

2.3. Technique de prédistorsion

On sait que conformément au critère de Hurwitz, condition de réalisabilité, les pôles de la fonction de transfert du filtre doivent être situés dans le demi-plan gauche du plan complexe.

Nous venons de voir que la présence des pertes tendait à translater ces pôles vers le plan droit. Il suffirait donc d’effectuer, avant l’opération de synthèse, la translation inverse.

Cette technique, dite de prédistorsion, consisterait à effectuer le changement \(p_n~\rightarrow~~p_n-\delta\), mais avec l’obligation de prendre un \(\delta\) moyen et unique. Ce qui n’est pas tout à fait la réalité.

On lui préfère une autre technique qui permet de tenir compte des caractéristiques de chacun des composants.

2.4. Technique par optimisation

Nous allons exposer succinctement la démarche :

  1. L’hypothèse est faite que l’on dispose d’un programme de recherche de minimum d’une fonction de plusieurs variables {\(L_i,~C_j,~R_{m(/Lm)},~R_{n(/Cm)}\)}. Ce programme est construit à partir d’un ou plusieurs des algorithmes précités. Nous désignerons ce programme par Opt.

  2. Nous écrivons un programme d’analyse du circuit au moyen de ses matrices de transmission (ou chaîne) et leur produit, sachant que (voir précédente conférence) la connaissance de ses éléments {\(a_{ij}\)} entraine celle du gain \(G_{dB}\) ou de l’atténuation \(A_{dB}\). Nous désignerons ce programme par Ana.

  3. Nous écrivons le programme principal Ppal qui gèrera les données d’entrée :

    • les valeurs initiales des composants \(L\) et \(C\) en leur adjoignant le calcul des résistances de fuite,

    • l’expression de la fonction de transfert (donc de l’atténuation théorique) en fonction de la fréquence.

Ppal gèrera ensuite la boucle entre Ana et Opt.

Sachant que la fonction d’erreur introduite dans Opt sera : \[E(\omega)=\sum_{\omega} \big\{|20~\log_{10}|H_T(j~\omega)|-A_0~|20~\log_{10}|H_R(j~\omega)|\big\}\]

À chaque cycle d’optimisation, on modifiera \(L_i\), donc \(R_{Li}\), ainsi que \(C_k\), donc \(R_{Ck}\). Par voie de conséquence, \(A_0\) sera modifié puisque : \[A_0=20~\log_{10}|H_R(j~\omega_0)|\]

Mais ceci est sans importance, car il ne s’agit que d’une translation à l’origine.

3. Deuxième exemple typique d’optimisation

3.1. Problème

Les approximations mathématiques classiques étudiées précédemment (Bessel, Chebycheff, Butterworth, Legendre-Papoulis, Cauer) conduisaient à des réponses harmoniques de formes obligatoirement régulières, parfois au détriment de l’ordre du filtre qui peut se trouver augmenté, sans nécessité.

On peut leur substituer une méthode plus générale, encore plus intéressante s’il s’agit d’un gabarit très irrégulier, un gabarit dont le style est celui de la figure ci-contre.

On voit tout de suite que l’utilisation d’une approximation classique conduirait à élargir artificiellement la bande passante pour être régulière et la bande de transition artificiellement rétrécie.

De ce fait, et pour être régulier, le gabarit a été rendu plus sévère. Ce qui constitue une pénalisation de l’ordre du filtre.

D’une manière tout à fait inverse, la méthode par optimisation utilise tout l’espace et les possibilités d’effets éventuels de compensation, ceci parce qu’il n’y a pas de contraintes de régularités, de symétries éventuelles, etc.

3.2. Fonction d’erreur et le processus d’optimisation

On peut se donner à priori l’expression d’une fonction de transfert : \[H(p)=\frac{\sum_0^n a_i~p^i}{\sum_1^m a_k~p^k}\]

Les inconnues sont naturellement les degrés et les coefficients des polynômes (numérateur et dénominateur).

Il faut tout d’abord se donner des valeurs initiales guidées par un peu de sens physique. L’idéal est en général la connaissance d’une fonction à peu près semblable. Le processus peut être aussi initié par une fonction correspondant à une approximation connue qui entamerait le moins possible le gabarit, le point essentiel étant de disposer de valeurs initiales les moins éloignées de la réalité.

Il faut également se définir un échantillon pas nécessairement régulier de points de fréquence. Ainsi, au point de fréquence \(f_i\), le calcul de l’atténuation indique que celle-ci se situe entre \(G_M\) et \(G_m\).

On rencontrera deux schémas d’erreur \(\varepsilon_i\) :

\[\begin{aligned} \varepsilon_i&=20~\log_{10}|H(j~\omega_i)|-G_M(\omega_i)\\ \varepsilon_i&=G_m(\omega_i)-20~log_{10}|H(j~\omega_i)|\end{aligned}\]

Il s’agira donc de minimiser \(\varepsilon=\sum_i \varepsilon_i\).

Le programme modifie au fur et à mesure les valeurs des paramètres pour qu’il en soit ainsi. En particulier, il est important de cerner rapidement les valeurs des ordres des polynômes et les maintenir constantes dans les itérations suivantes de façon à n’agir que sur les coefficients.

4. Effets statistiques

Le problème des effets statistiques est considéré ici dans le cas des filtres actifs pour la simplification de l’exposé, mais la méthode, telle qu’elle sera décrite, est à l’évidence généralisable. On parle le plus souvent des effets de tolérances sur ces valeurs.

On part de l’hypothèse que l’amplificateur opérationnel est parfait et on s’intéresse au comportement des composants \(R\) et \(C\) supposés discrets. Nous dirons par exemple que la résistance \(R_1\) a pour valeur 100 \(\Omega\) à 1 % près.

On dit le plus souvent une tolérance de \(T_1=\Delta R_1/R_1=0,01\). Cela signifie que cette résistance a une certaine valeur comprise entre 99 et 101 \(\Omega\), et non pas la valeur théorique (ou encore nominale) de 100 \(\Omega\).

Il en est ainsi pour chaque composant. Le fabricant de composants indique la loi de distribution (de probabilité) pour chacun de ces composants (par exemple une loi uniforme ou une loi gaussienne).

4.1. Estimation de la valeur probable d’un composant

Désignons un composant par \(x_i\). On sait que sa valeur réelle est telle que : \[x_i\in[x_i-\Delta x_i~;~x_i+\Delta x_i]\quad;\quad \Delta x_i=T_i~x_i\]

Comme il faut cependant lui donner une valeur, donc une valeur probable, on écrira que : \[(x_i)_p=x_i+\lambda_i~\Delta x_i=x_i~(1+\lambda_i~T_i)\quad;\quad\lambda_i \in[-1~;~+1]\]

\(\lambda_i\) étant un nombre aléatoire obtenu par un tirage dans un programme conçu à cet effet. La littérature informatique algorithmique est bien fournie dans ce domaine.

Remarque

Très souvent, les programmes donnent un nombre aléatoire \(\alpha\in\{0~;~1\}\). Une petite astuce permet de revenir à l’espace \(\lambda\in\{-1~;~+1\}\). Il suffit d’effectuer le tirage \(\alpha\), puis de faire la substitution : \[\lambda=2~(\alpha-0,5)\]

On pourra constater sur un exemple qu’un nombre aléatoire proche de 1 restera dans sa zone \(\{0~;~+1\}\) alors qu’un nombre aléatoire proche de 0 est ramené dans la zone \(\{-1~;0\}\).

Deux études sont intéressantes et souvent utilisées :

  1. le calcul du cas le plus défavorable ou encore worst case en anglais ;

  2. l’estimation d’un rendement (de réalisation ou fabrication).

4.2. Cas le plus défavorable

Il s’agit de déterminer, au moyen de tous les tirages aléatoires les courbes enveloppes (max et min) de la courbe théorique quand les paramètres \(x_i\) varient, par exemple les résistances et les capacités dans un filtre actif réalisé en composants discrets.

La figure ci-contre montre bien que certaines courbes en plus ou moins grand nombre risquent d’entamer le gabarit, ce qui signifie que le filtre est défectueux. En examinant un très grand nombre de cas, on peut s’assurer par exemple qu’aucune courbe n’aura atteint ce gabarit (cas idéal).

Comment le processus est-il effectué ?

On s’impose un nombre N d’analyses du filtre, aussi grand que possible (c’est la question des grands nombres pour une convergence vers la réalité en matière de probabilités).

Pour un filtre à analyser donné (l’un des N), on effectue un tirage du \(\lambda_i\) pour chaque \(x_i\) et on analyse ce filtre de manière classique (réponse harmonique et atténuation). On passe ensuite au suivant et ceci N fois (donc N courbes).

Il y a cependant une manière plus élégante de procéder en évitant une mémorisation inutile de données par une recherche du minimum et du maximum d’une fonction de plusieurs variables, dans un échantillon de fréquences données : en fixant un point de fréquence, on détermine le max et le min de la fonction atténuation (par exemple) en faisant varier les \(x_i\) dans les limites imposées par les bornes de tolérance. Et ainsi de suite sur l’ensemble des fréquences de l’échantillon.

On procède de même avec le filtre suivant en comparant les minimums et les maximums et en faisant au fur et à mesure les substitutions nécessaires (min. du min. et max. du max.).

4.3. Estimation de rendement

L’étude du cas le plus défavorable (on emploti parfois l’expression pire cas) menait à une solution très restrictive et finalement éloignée de la solution industrielle qui consiste à produire et à écarter les pièces défectueuses. D’où le terme de rendement, plus réaliste sur un plan économique.

Toujours dans l’hypothèse de composants discrets (\(R\) et \(C\) par exemple), il est possible d’effectuer une simulation qui peut augurer sérieusement du résultat du processus industriel. À noter qu’il s’agit bien dans cette présentation d’une méthodologie réellement mise en œuvre dans l’industrie.

On se fixe donc un nombre N d’analyses assez grand pour que le résultat soit le plus significatif (loi des grands nombres en probabilités).

Un filtre donné étant analysé (après modification des composants suivant la loi de distribution choisie), cette analyse cesse à partir du moment où un point de la courbe touche le gabarit. L’événement est noté dans un compteur.

Le rendement estimé est égal au rapport du nombre n de filtres enregistrés à celui N du nombre d’analyses.

4.4. Commentaires

  1. Toutes les méthodes dont il a été question peuvent s’étendre à la théorie des circuits quels que soient le type de circuit et la technologie adoptée.

  2. Très généralement, les deux distributions de probabilités utilisées sont la loi de distribution uniforme et la loi gaussienne. La première est la plus dure, donc la plus adaptée à la recherche du pire cas pour garantir une réalisation parfaite. Cependant, elle n’est pas vraiment physique et on peut lui préférer la distribution gaussienne caractérisée par un écart type plus ou moins large. C’est d’ailleurs la loi de distribution adoptée par les fabricants de composants.

↑ Haut