• Aucun résultat trouvé

Chapitre 6 Calcul des inductances de fuite

II. Logiciel d'optimisation CDIOptimizer

II - A. Présentation

II - A - 1. Démarche d'utilisation

La démarche d'utilisation du logiciel CDIOptimizer, illustrée étape par étape sur l'exemple du filtre ADSL dimensionné au Chapitre 4 (Figure 63), est la suivante:

a. Charger un modèle de dimensionnement, qui se présente sous la forme d'un fichier. b. Charger un algorithme d'optimisation, qui se présente aussi sous la forme d'un fichier. c. Définir un cahier des charges à l'aide de l'interface homme machine.

d. Paramétrer l'algorithme d'optimisation au besoin. e. Lancer l'optimisation.

f. Analyser les résultats.

L'utilisateur peut en plus effectuer les manipulations suivantes:

Sauvegarder un cahier des charges dans un fichier (Figure 64-a). Charger un cahier des charges à partir d'un fichier (Figure 64-b).

Sauvegarder les résultats d'optimisation dans un fichier, pour leur traitement à l'aide d'un autre logiciel.

Figure 63-a. Sélection du modèle Figure 63-b. Sélection de l'optimiseur

Figure 63-e. Lancement de l'optimisation Figure 63-f. Résultats d'optimisation

Figure 63. Utilisation du logiciel CDIOptimizer pour le dimensionnement du filtre ADSL

Figure 64-a. Sélection d'un cahier des charges Figure 64-b. Sauvegarde d'un cahier des charges

Figure 64. Utilisation des fichiers de sauvegarde du cahier des charges.

II - A - 2. Définition du cahier des charges

Après avoir chargé un modèle de dimensionnement, le logiciel connaît les paramètres de ce modèle. Il sont de deux types: les paramètres calculés par le modèle et ceux qu'il faut fournir pour effectuer ce calcul (Figure 19). En outre, après avoir chargé l'algorithme d'optimisation, le logiciel connaît les types de contrainte qu'il est possible d'appliquer sur ces paramètres. En effet, ces types de contrainte dépendent de l'algorithme d'optimisation employé. Par exemple, un algorithme pour l'optimisation mixte permet d'imposer d'autres types de contraintes qu'un algorithme pour l'optimisation continue. A l'issu de ces deux chargements, le logiciel d'optimisation connaît donc à la

fois les paramètres du modèle et les types de contrainte qui peuvent leur être appliqués. Il devient alors possible pour l'utilisateur de spécifier son cahier des charges.

Pour cela, le logiciel propose deux panneaux contenant chacun une liste de paramètres. Le premier contient les paramètres (dit d'entrées) dont la valeur est à fournir pour le calcul du modèle (Figure 65-a). Le second contient les paramètres (dits de sorties) qui seront calculés par le modèle (Figure 65-b). Pour chacun de ces paramètres, l'utilisateur sélectionne celui sur lequel il veut appliquer une contrainte grâce à la liste des paramètres qui apparaît à gauche du panneau. Une fois sélectionné, l'utilisateur dispose sur la droite du panneau d'une interface graphique lui permettant de configurer la contrainte qu'il désire appliquer sur le paramètre. Cette interface graphique dépend de l'algorithme d'optimisation employé. Une fois le cahier des charges défini, il est possible de le sauvegarder dans un fichier (Figure 64-a) pour son utilisation ultérieure.

Figure 65-a. Application d'une contrainte sur un paramètre d'entrée

Figure 65-b. Application d'une contrainte sur un paramètre de sortie

Figure 65. Définition du cahier des charges par l'utilisateur

II - A - 3. Résultats d'optimisation

Les résultats d'optimisation affichés par le logiciel comportent différentes informations (Figure 63-f). Dans la barre de titre apparaissent le nombre d'itérations effectué par l'algorithme d'optimisation (nombre de fois où le modèle a été évalué) et la durée de l'optimisation. Les valeurs correspondant à la solution trouvée apparaissent dans un nouveau panneau sous la forme d'un tableau. Les paramètres pour lesquels les contraintes ne sont pas satisfaites apparaissent dans une couleur différente des autres, afin de faciliter leur identification. Au dessus, un message produit par l'algorithme d'optimisation est affiché pour donner des informations sur sa convergence. Ce message dépend de l'algorithme d'optimisation employé. Il est censé être suffisamment explicite pour aider l'utilisateur à modifier le cahier des charges ou le paramétrage de l'algorithme d'optimisation en cas de non convergence.

peut par exemple tracer à partir de ce fichier l'évolution des valeurs des paramètres au cours de l'optimisation (Figure 9). Cette manipulation aide en général au diagnostique que l'utilisateur doit effectuer, en cas de non convergence (Chapitre 2, partie I - B - 3). On peut également comparer à l'aide d'un logiciel de visualisation graphique adapté la géométrie initiale et celle optimisée.

II - B. Architecture logicielle

II - B - 1. Logiciel CDIOptimizer

Le logiciel CDIOptimizer a été programmé en langage Java®. C'est un langage orienté objet qui dispose d'une API très complète et bien documentée, couvrant des besoins aussi divers et importants que les accès aux données, les interfaces graphiques et les calculs mathématiques. Il permet en outre de s'affranchir des problèmes de portabilité entre différents systèmes d'exploitation. Ce logiciel doit comporter, en plus d'une interface graphique pour les interactions avec l'utilisateur, des interfaces pour intégrer le modèle, l'algorithme d'optimisation et le cahier des charges (Figure 62).

Figure 66. Architecture logicielle du logiciel CDIOptimizer

Logiciel CDIOptimizer Interface Optimizer Algorithme d'optimisation Interface COB Modèle de dimensionnement Accès aux fichiers COB

Gestion des évènements Lecture d'un fichier cahier des charges Sauvegarde d'un fichier cahier des charges Sauvegarde d'un fichier résultat Fichier cahier des charges Fichier résultat Interface graphique Utilisateur

L'architecture du logiciel CDIOptimizer est donnée à la Figure 66. Ce logiciel se divise en différents modules autour du gestionnaire d'évènement qui les pilotent. Outre l'interface graphique et les modules de lecture et de sauvegarde de fichiers (cahier des charges et résultat) dont le rôle est clair, ce logiciel comporte deux interfaces: l'une destinée à la communication du logiciel avec le modèle (interface COB), l'autre à la communication avec l'algorithme d'optimisation (interface Optimizer). Un module supplémentaire permettant d'accéder au modèle est nécessaire, afin de le mettre sous une forme adaptée aux algorithmes d'optimisation. En effet, le modèle étant au format COB (Figure 19), il fournit les différentielles des paramètres calculés [ATI-03], alors que les algorithmes d'optimisation ayant besoins des informations liées aux dérivées de ces paramètres utilisent plutôt les dérivées partielles.

II - B - 2. Utilisation de composants logiciels

Une solution existante pour répondre aux besoins de chargement en cours d'utilisation des modèles et des algorithmes d'optimisation consiste à utiliser des composants logiciels (Chapitre 3, partie IV - A - 2). Nous avons choisis, en ce qui concerne le modèle, de nous appuyer sur la norme de composant COB (Figure 19), mise en œuvre dans le logiciel Pro@DESIGN® [DPT-PR]. Ainsi, notre logiciel peut utiliser n'importe quel modèle de dimensionnement généré à partir de ce logiciel. Un COB se présente sous la forme d'un fichier contenant un code informatique exécutable en Java®, auquel on peut accéder en utilisant une interface spécifique. Cette interface donne accès aux paramètres et aux ordres de calcul du modèle (Figure 19). Le logiciel CDIOptimizer comporte donc un module pour le chargement de ce fichier, qui n'a pas été représenté sur la Figure 66 pour ne pas la compliquer.

En ce qui concerne les algorithmes d'optimisation, nous avons été amené à développer une interface spécifique, nommée "interface Optimizer" (Figure 66). Son originalité réside dans le fait qu'elle permet à l'algorithme d'optimisation de configurer l'interface graphique du logiciel CDIOptimizer, de manière à ce que cet algorithme définisse lui-même les types de contrainte que l'utilisateur va pouvoir appliquer sur les paramètres. Ceci est rendu possible grâce au polymorphisme autorisé par la programmation objet: une contrainte est ici un objet graphique quelconque. Cet objet graphique est défini par l'algorithme d'optimisation. A la demande du logiciel d'optimisation, cet objet graphique est demandé à l'algorithme d'optimisation par le gestionnaire d'évènement, qui le transmet ensuite à l'interface graphique, qui se charge enfin de l'afficher au besoin à l'écran (Figure 66). Cet objet graphique permet alors à l'utilisateur de configurer la contrainte associée à un paramètre donné de manière conviviale.

II - B - 3. Fichiers cahier des charges et résultats

basé sur le standard XML, aujourd'hui très populaire. Le langage de programmation Java® met alors à la disposition du programmeur des API permettant de lire, écrire et transformer ce type de fichier de manière simple. Outre le logiciel CDIOptimizer, nous avons également programmé divers outils permettant de transformer ce genre de fichier. Par exemple, nous avons produit un logiciel qui permet de récupérer automatiquement le résultat d'une optimisation pour qu'il serve de point de départ à l'algorithme d'optimisation à la prochaine. Cet outil est intéressant lorsque le nombre de paramètres à optimiser est important, car c'est une manipulation courante qui est lourde à effectuer manuellement, en modifiant un à un les paramétrages associés à chaque paramètre.