Table des matières
Transcription
Table des matières
Product Engineering Optimizer Préface Nouveautés Mise en route Tâches de l'utilisateur Description de l'atelier Glossaire © Dassault Systèmes 1994-2000. Tous droits réservés. Préface L'optimisation joue un rôle essentiel dans la conception de structures. L'importance de la conception de structures d'un poids minimal est reconnue dans la plupart des secteurs d'activité, soit parce que le poids du système influe sur ses performances, soit à cause de l'épuisement des sources d'énergie traditionnelles. Mais l'optimisation n'est pas seulement une question de poids, elle peut être utilisée pour n'importe quel type de données. Dans le contexte réel de la production, il est fréquent de minimiser une fonction objectif décrivant des données, telles que le volume total, la durée de vie ou le coût d'une structure. L'outil Product Engineering Optimizer constitue la réponse de CATIA aux questions d'optimisation. Il représente, pour les ingénieurs chargés de concevoir des structures, un outil facile à utiliser reposant sur des techniques itératives. L'utilisation de Product Engineering Optimizer est surtout une question de pratique et de méthode. L'outil Product Engineering Optimizer peut fonctionner avec deux algorithmes : le gradient conjugué et le recuit simulé. Pour lancer une optimisation, sélectionnez l'un ou l'autre, selon la fonction à analyser. Bien qu'une préparation aux techniques de l'optimisation ne soit pas obligatoire, si vous voulez en savoir plus sur le fonctionnement de ces algorithmes, vous trouverez des informations détaillées dans les publications suivantes : Numerical Recipes in C - The Art of Scientific Computing - ISBN - 0 - 521 - 43108 - 5, 1988 - 1992 Nonconvex Minimization Calculations and the Conjugate Gradient Method, Powell, M.J.D., Lecture Notes in Mathematics, Vol. 1066, pp.122-141, 1984. [Etude approfondie sur le gradient conjugué pour les fonctions non convexes.] Optimization by Simulated Annealings, Randelman, R. E., and Grest, G.S., N-City Traveling Salesman Problem - , J.Stat.Phys. 45, 885-890, 1986. Function Minimization by Conjugate Gradients, Fletcher, R. and Reeves, C.M., Comp, J. 7, 149-154, 1964.[Article approfondi sur le gradient conjugué pour les fonctions non convexes.] Nouveautés Nouvelle tâche Utilisation de contraintes. Mise en route Pour vous initier aux fonctions de CATIA Product Engineering Optimizer, vous allez travailler sur un exemple simple. Pour vous familiariser avec les principes de base de CATIA Product Engineering Optimizer, il vous suffit de suivre pas à pas les instructions décrites ci-après. Pour plus d'informations sur les données d'optimisation et sur les algorithmes à exécuter, reportez-vous à la section A propos de l'optimisation. L'objectif de cette tâche est de vous donner un bref aperçu du fonctionnement de l'optimiseur lors de la recherche d'une valeur objectif dans les deux modes d'exploitation. Aucune valeur calculée n'est fournie, dans la mesure où : le comportement du processus d'optimisation dépend de la plate-forme utilisée (cela se vérifie tout particulièrement pour l'algorithme de recuit simulé) ; les algorithmes subissent parfois des modifications d'une version à une autre. Recherche d'une valeur objectif à l'aide de l'algorithme de recuit simulé 1. Ouvrez le document KwoGettingStarted.CATPart. 2. Si nécessaire, vérifiez : . les options Paramètres et Relations dans l'onglet Afficher de la boîte de dialogue Outils ->Options ->Conception mécanique -> Part Design ; b. les options Avec valeur, Avec formule et Chargement des librairies d'extension du langage dans l'onglet Connaissance de la boîte de dialogue Outils ->Options ->Général ->Paramètres. 3. Sélectionnez l'entité racine dans l'arbre des spécifications, puis la commande Démarrer ->Infrastructure ->Product Engineering Optimizer dans la barre de menus standard. La boîte de dialogue Optimisation s'affiche. 4. Dans l'onglet Problème, entrez les données suivantes dans les champs appropriés : Type d'optimisation Objectif Paramètre à optimiser Volume.1 Valeur objectif 800cm3 Paramètres libres xA, yA, xB, yB, PartBody\Pad.1\FirstLimit\Length Algorithme Recuit simulé Vitesse de convergence : Rapide Ne modifiez pas les critères de terminaison par défaut. Cochez la case Sauvegarder les données, ou les données d'optimisation ne seront pas sauvegardées et vous ne pourrez pas afficher les courbes d'optimisation. Cochez la case Mise à jour de la géométrie. N'entrez rien dans les champs de l'onglet Contraintes. 5. Cliquez sur Lancer l'optimisation. . Une fenêtre de sélection de fichiers s'affiche. Sélectionnez le chemin d'accès. b. Cliquez sur Ouvrir pour lancer le processus d'optimisation. Une fenêtre affiche les données calculées pour chaque itération. Au cours de l'optimisation, vous pouvez observer la modification de la valeur Volume.1 dans l'arbre des spécifications. c. Une fois le calcul terminé, les valeurs des paramètres libres apparaissent dans la boîte de dialogue Optimisation. 6. Cliquez sur Afficher les courbes... Environ 100 évaluations sont nécessaires pour que Volume.1 atteigne une valeur stable. 7. Cliquez sur OK et enregistrez le document sous un nouveau nom. Recherche d'une valeur objectif à l'aide de l'algorithme de gradient 1. Ouvrez à nouveau le document KwoGettingStarted.CATPart. 2. Effectuez les mêmes actions que celles décrites ci-dessus, mais indiquez un algorithme de gradient dans la boîte de dialogue Optimisation. N'entrez rien dans les champs de l'onglet Contraintes. 3. Une fois le calcul terminé, cliquez sur Afficher les courbes... Environ 75 évaluations sont nécessaires pour que Volume.1 atteigne une valeur stable. La valeur objectif est atteinte plus rapidement qu'avec la méthode du recuit simulé. A propos de l'optimisation L'optimisation consiste à obtenir le meilleur résultat possible d'une opération donnée tout en respectant certaines restrictions ou contraintes. La conception de structures d'un poids minimal constitue un exemple d'optimisation dans le secteur aéronautique, où la conception de la structure des avions importe souvent plus que leur coût. La notion d'optimisation présuppose que l'opération à améliorer ou à optimiser est décrite par une fonction dont la variation peut être exprimée en fonction d'un ensemble de paramètres, également appelés variables ou paramètres libres. Définition d'une optimisation Définition de l'algorithme à exécuter Boîte de dialogue Optimisation Interprétation des résultats Définition d'une optimisation Soit f(x), un paramètre CATIA dont la valeur est déterminée par d'autres paramètres CATIA. L'atelier Product Engineering Optimizer propose trois modes d'exploitation par le biais desquels vous pouvez rechercher la valeur minimale de f(x), la valeur maximale de f(x) ou une valeur définie de f(x). Ces modes d'exploitation sont respectivement appelés les modes Minimisation, Maximisation et Valeur objectif. Parmi les paramètres utilisés pour définir f(x), ceux dont la valeur peut changer sont appelés les paramètres libres. Il n'est possible d'optimiser qu'un seul paramètre à la fois. La valeur du paramètre doit toujours être identique. Les paramètres à valeurs multiples ne peuvent pas être utilisés comme paramètres libres. Si vous utilisez comme paramètre libre un paramètre contraint par une relation, le résultat obtenu est imprévisible. Définition de l'algorithme à exécuter Les types d'algorithmes Pour exécuter une optimisation, vous pouvez utiliser l'un des algorithmes suivants : Le gradient conjugué (GC). Si les propriétés de la fonction objectif sont connues (continue, différenciable en tous points et avec un optimum unique), le gradient peut être utilisé directement. Il est généralement plus rapide que l'algorithme de recuit simulé. Le recuit simulé Si la forme de la fonction objectif est inconnue, il est recommandé de commencer avec un recuit simulé, puis d'affiner les résultats avec un gradient. Cette opération est lente mais efficace pour un plus grand nombre de fonctions. Si vous utilisez le recuit simulé, vous pouvez atteindre plus rapidement une solution en indiquant un faible nombre d'itérations consécutives sans amélioration (15 ou 20). Pour ces deux algorithmes, il est possible d'affiner le résultat. Pour ce faire, supprimez des variables de la liste des paramètres libres puis relancez le calcul. Les critères de terminaison Lorsqu'une optimisation est en cours, une boîte de message affiche les données de chaque itération. Vous pouvez interrompre le calcul en cliquant sur le bouton d'arrêt. Si vous n'intervenez pas dans le processus de calcul, celui-ci s'arrêtera : soit lorsque la valeur (minimale, maximale ou objectif) aura été trouvée soit lorsqu'un des critères de terminaison spécifiés aura été atteint. Les critères de terminaison à spécifier sont les suivants : Nombre maximal d'itérations Nombre d'itérations sans amélioration Durée de calcul maximale Interprétation des résultats Le fichier de résultats Si vous voulez étudier les résultats du calcul après l'exécution d'une optimisation, cochez la case Sauvegarder les données. Si nécessaire, modifiez le chemin d'accès par défaut. Le fichier généré contient, pour chaque itération, la valeur de la fonction objectif et des paramètres libres. Les courbes d'optimisation sont générées à partir des données issues de ce fichier de résultats. Les courbes d'optimisation Cliquez sur Afficher les courbes... pour afficher les courbes d'optimisation. Les abscisses représentent le nombre d'itérations, les ordonnées représentent soit la valeur de la fonction objectif, soit la valeur des paramètres libres. Vous devez cliquer sur la touche correspondant à la courbe de votre choix, située à droite des courbes, pour obtenir les valeurs correctes sur l'axe des ordonnées. Les courbes d'optimisation sont générées à partir du fichier de résultats. Pour afficher les courbes d'optimisation, vous devez avoir coché la case Sauvegarde des données. Cliquez sur une des touches pour afficher les valeurs correspondantes sur l'axe des ordonnées. Boîte de dialogue Optimisation La boîte de dialogue qui s'affiche lorsque vous cliquez sur l'icône onglets. Onglet Problème comporte deux Type d'optimisation La liste contient les éléments Minimisation, Maximisation et Valeur objectif. Paramètre à optimiser Cliquez sur Sélectionner pour afficher la liste des paramètres pouvant être optimisés. Paramètres libres Pour définir des paramètres libres, cliquez sur le bouton "Modifier la liste...". Pour définir les limites d'un paramètre libre, sélectionnez le paramètre concerné dans la liste "Paramètres libres", puis cliquez sur "Modifier les bornes et le pas...".La boîte de dialogue qui s'affiche permet également d'indiquer un pas. Algorithme Reportez-vous à la section Définition de l'algorithme à exécuter. Critères de terminaison Si vous ignorez comment la fonction objectif va se comporter, exécutez l'algorithme avec les valeurs par défaut. Le cas échéant, vous avez toujours la possibilité de réexécuter l'algorithme si le processus semble nécessiter davantage d'itérations. Données d'optimisation Pour pouvoir exploiter les courbes d'optimisation, vous devez sauvegarder les données d'optimisation. Lorsque la case "Sauvegarder les données" est cochée et que vous cliquez sur "Lancer l'optimisation", une fenêtre de sélection de fichiers s'affiche. Onglet Contraintes Création d'une contrainte Pour créer une contrainte, cliquez sur le bouton Nouveau. L'éditeur qui s'affiche n'est pas inconnu des utilisateurs du produit Knowledge Advisor. Il est impossible de regrouper les contraintes. Vous devez les entrer une à une. Lors de la spécification de contraintes, vous ne pouvez utiliser que les opérateurs suivants : == (Recuit simulé uniquement) <, > (les deux algorithmes). Une fois la contrainte spécifiée, l'écart par rapport à la valeur de la contrainte s'affiche. Une icône indique si la valeur initiale complète la contrainte. Activation d'une contrainte Pour activer ou désactiver une contrainte, utilisez le champ Activité. L'algorithme d'optimisation ignore la contrainte si elle est désactivée. Recuit simulé et Gradient Recuit simulé Gradient Contraintes d'égalité autorisées La précision est gérée comme un critère de terminaison. La contrainte x == A est vérifiée lorsque abs (x - A) < précision Contraintes d'égalité non autorisées Aucune précision Contraintes d'égalité autorisées Contraintes d'égalité non autorisées Peut être exécuté uniquement avec des contraintes et sans fonction objectif. Doit être exécuté avec une fonction objectif, avec ou sans contraintes spécifiques. Il n'est pas nécessaire de commencer par des contraintes satisfaites. Les contraintes doivent être satisfaites avant l'exécution de l'optimisation. Tâches de l'utilisateur Recherche d'une valeur maximale Recherche d'une valeur minimale Utilisation de contraintes Recherche d'une valeur maximale Le scénario ci-après illustre le mode d'exploitation Maximisation. L'algorithme recherche les valeurs des paramètres correspondant à la valeur maximale de Fonction2.La méthode du recuit simulé est utilisée. Les limites inférieure et supérieure (-10 et +10) sont indiquées pour l'argument x. Pour plus d'informations sur les données d'optimisation et sur les algorithmes à exécuter, reportez-vous à la section A propos de l'optimisation. 1. Ouvrez le document KwoGoal0.CATPart ou ajoutez à n'importe quel document les paramètres et les formules décrits dans l'arbre des spécifications présenté ci-après : 2. Ouvrez l'atelier Knowledge Optimizer et cliquez sur l'icône de dialogue Optimisation s'affiche. .La boîte 3. Définissez les données requises pour lancer l'algorithme d'optimisation de la manière suivante : Type d'optimisation Paramètres libres Paramètre à optimiser Algorithme Maximisation x - Limite inférieure : -10 ; limite supérieure : +10 Fonction2 Recuit simulé Vitesse de convergence : Rapide Nombre maximal de 200 mises à jour Nombre de mises à jour consécutives sans 50 amélioration Durée maximale 5 minutes 4. Cochez la case Sauvegarder les données, ou les données d'optimisation ne seront pas sauvegardées et vous ne pourrez pas afficher les courbes d'optimisation. 5. Cliquez sur Lancer l'optimisation. . Une fenêtre de sélection de fichiers s'affiche. Sélectionnez le chemin d'accès. b. Cliquez sur Ouvrir. Le processus d'optimisation démarre. Une fenêtre affiche les données calculées pour chaque itération. Au cours de l'exécution de l'optimisation, vous pouvez observer la modification des valeurs Fonction2 et x dans l'arbre des spécifications. c. La valeur de 500 est atteinte rapidement pour Fonction2. Les paramètres libres, tels que la valeur Fonction2, sont mis à jour dans l'arbre des spécifications. 6. Répétez le même scénario avec un nombre maximal d'itérations de 50, puis de 20. 7. Cliquez sur OK ou sur Annuler pour quitter la boîte de dialogue Optimisation. Recherche d'une valeur minimale Le scénario ci-après illustre le mode d'exploitation Minimisation. L'algorithme recherche les valeurs des paramètres correspondant à la valeur minimale de Fonction2. La méthode du gradient est utilisée. Pour plus d'informations sur les données d'optimisation et sur les algorithmes à exécuter, reportez-vous à la section A propos de l'optimisation. 1. Ouvrez le document KwoGoal0.CATPart ou ajoutez à n'importe quel document les paramètres et les formules décrits dans l'arbre des spécifications présenté ci-après : Les paramètres x, y, z, Fonction1 et Fonction2 doivent être de type réel. Il n'est pas nécessaire de définir leur valeur d'origine. Si nécessaire, reportez-vous au manuel CATIA Knowledge Advisor - Guide de l'utilisateur pour plus d'informations sur la création de paramètres et de formules. 2. Ouvrez l'atelier Knowledge Optimizer et cliquez sur l'icône dialogue Optimisation s'affiche. . La boîte de 3. Définissez les données requises pour lancer l'algorithme d'optimisation de la manière suivante : Type d'optimisation: .................................. Minimisation Paramètre à optimiser: .............................. Fonction2 Paramètres libres: ............................................. x Algorithme : ........................................... Gradient Nombre maximal d'évaluations : ............................... 400 Nombre d'évaluations consécutives sans convergence: ............. 100 Durée de calcul maximale: ......................... 5 minutes 4. Cliquez sur Lancer l'optimisation. . La boîte de message Optimisation affiche les données de chaque itération. N'intervenez pas au cours de l'exécution de l'algorithme (ne sélectionnez pas l'option d'arrêt à la prochaine itération) et laissez se dérouler le processus jusqu'à ce qu'une valeur objectif ait été trouvée ou que l'une des conditions d'arrêt ait été satisfaite. b. Le paramètre x et la valeur Fonction2 sont mis à jour dans l'arbre des spécifications. 5. Cliquez sur OK dans la boîte de message "Résultat de l'optimisation". La valeur x (10) résultant du calcul est affichée dans la boîte de dialogue Optimisation. Utilisation de contraintes Dans le scénario ci-après, l'algorithme de recuit simulé est utilisé avec des contraintes et sans fonction objectif pour rechercher une série de paramètres xA, xB, yA et yB permettant à l'axe d'inertie de l'extrusion de rester dans une zone définie par deux cercles. Voici les définitions des cercles en tant que contraintes comme indiqué dans le scénario ci-après : Y**2 + Z**2 > 8100mm2 Y**2 + Z**2 < 1000mm2 Une fois cette partie du scénario terminée, l'algorithme de gradient est utilisé pour rechercher une série de paramètres xA, xB, yA et yB permettant que la distance entre l'axe d'inertie et l'origine soit minimale. Cette deuxième partie du scénario implique que les contraintes soient satisfaites. 1. Ouvrez le document KwoGettingStarted.CATPart. Ce dernier est une extrusion issue d'une spline. Les relations définies dans ce document permettent d'indiquer la position d'un axe d'inertie. 2. Ouvrez l'atelier Knowledge Optimizer et cliquez sur l'icône de dialogue Optimisation s'affiche. . La boîte 3. Dans l'onglet Contraintes, entrez la contrainte ci-après en utilisant le bouton Nouveau : Y**2 + Z**2 > 8100mm2 4. Cliquez sur OK dans l'éditeur de contraintes, puis encore une fois sur Nouveau pour entrer la deuxième contrainte : Y**2 + Z**2 < 10000mm2 5. Dans l'onglet Problème, entrez les paramètres libres ci-après : xA, xB, yA, yB. Ne sélectionnez aucun paramètre optimisé. Cochez la case Recuit simulé. 6. Cliquez sur Lancer l'optimisation. Une fois l'optimisation terminée, vous obtenez une extrusion dont l'axe d'inertie se situe dans une zone délimitée par les deux cercles préalablement définis. Observez l'onglet Contraintes. Les contraintes sont toutes satisfaites. A présent, vous pouvez exécuter un algorithme de gradient pour rechercher la valeur minimale du paramètre Rayon. 7. Revenez à l'onglet Problème, sélectionnez Minimisation comme type d'optimisation, puis Rayon comme paramètre à optimiser et sélectionnez l'algorithme Gradient. Ne modifiez pas les paramètres libres. 8. Exécutez l'optimisation avec le critère de terminaison par défaut. Une fois l'exécution de l'optimisation terminée, la valeur minimale du rayon est proche de 90mm. Vous avez trouvé une série de valeurs xA, xB, yA, yB permettant que l'axe d'inertie de l'extrusion se trouve presque sur le cercle défini par la relation ci-après : Y**2 + Z**2 = 8100mm2 Description de l'atelier L'atelier Knowledge Optimizer contient une icône , qui permet d'ouvrir la boîte de dialogue Optimisation. Pour plus d'informations sur la définition des données requises pour lancer une optimisation, reportez-vous à la section A propos de l'optimisation. Glossaire Fonction objectif Fonction associée à un problème d'optimisation et destinée à déterminer la valeur d'une solution. Gradient conjugué Technique fondamentale souvent utilisée dans divers algorithmes itératifs, dans un grand nombre de domaines du calcul scientifique. A l'origine, la méthode du gradient conjugué était destinée à minimiser les fonctions quadratiques convexes, mais son utilisation a été étendue à des cas d'ordre plus général. Un algorithme de gradient conjugué est efficace, mais pas très robuste. Knowledgeware Ensemble des composants logiciels consacrés à la création et à la manipulation d'informations relatives à la connaissance. Ces informations sont des règles et autres types de relations permettant aux concepteurs de sauvegarder leur savoir-faire d'entreprise et de le réutiliser ultérieurement pour diriger leurs activités de conception. Maximisation Option du processus d'optimisation consistant à rechercher la valeur maximale d'une fonction objectif. Minimisation Option du processus d'optimisation consistant à rechercher la valeur minimale d'une fonction objectif. Optimisation Problème de calcul dont l'objet consiste à rechercher la meilleure solution possible. Optimizer Outil d'analyse destiné à aider les utilisateurs à résoudre un problème d'optimisation. Paramètre libre Paramètre qui varie en fonction de l'algorithme de l'outil Optimizer. Les autres paramètres sont soit figés, soit calculés à partir de la valeur des paramètres libres. Recuit simulé Technique utilisée pour effectuer une approximation de la solution d'importants problèmes d'optimisation combinatoire. Cette technique découle de la théorie de la mécanique statistique et repose sur l'analogie entre le recuit de solides et la solution de problèmes d'optimisation. Un algorithme de recuit simulé est lent, mais plus robuste qu'un algorithme de gradient conjugué. F G K M O P R Conventions Certaines conventions utilisées dans la documentation CATIA, ENOVIA & DELMIA vous aideront à reconnaître et à comprendre un certain nombre de spécifications et de concepts importants. Les conventions typographiques suivantes sont utilisées : Les titres des documents CATIA, ENOVIA & DELMIA apparaissent en italique dans le texte. Le texte qui apparaît en courier, comme Fichier -> Nouveau, identifie les commandes à utiliser. L'utilisation de la souris diffère selon le type d'opération que vous devez effectuer. Uitlisez ce bouton, quand vous lisez Sélectionner (un menu, une commande, une géométrie dans une zone graphique, etc.) Cliquer (sur une icône, un bouton dans une boîte de dialogue, un taquet, etc.) Double-cliquer Cliquer en maintenant la touche Maj enfoncée Cliquer en maintenant la touche Ctrl enfoncée Cocher (une case) Faire glisser la souris Faire glisser (une icône sur un objet, un objet sur un autre) Faire glisser la souris Déplacer Cliquer à l'aide du bouton droit de la souris (pour sélectionner un menu contextuel) Les conventions graphiques sont les suivantes : indique le temps nécessaire pour exécuter une tâche. indique la cible d'une tâche. indique les conditions prérequises. indique le scénario d'une tâche. indique des conseils. indique un avertissement. indique des informations. indique la fin d'une tâche. indique des fonctionnalités nouvelles ou améliorées dans cette version. Les améliorations peuvent également être indiquées par une marge colorée en bleu en face des paragraphes correspondants. Remarques CATIA est une marque de DASSAULT SYSTEMES S.A. en France et dans certains pays. Les termes qui suivent sont des marques d'autres sociétés : Java OLE, VBScript for Windows NT, Visual Basic IMSpost Sun Microsystems Computer Company Microsoft Corporation Intelligent Manufacturing Software, Inc. D'autres sociétés sont propriétaires des autres marques, noms de produits ou logos qui pourraient apparaître dans ce document. Certaines parties de ce produit contiennent des éléments protégés par des droits d'auteur appartenant aux entités suivantes : Copyright © Dassault Systemes Copyright © Dassault Systemes of America Copyright © D-Cubed Ltd., 1997-2000 Copyright © ITI 1997-2000 Copyright © Summit Software, 1992-1996 Copyright © Cenit 1997-2000 Copyright © Mental Images Gmbh & Co KG, Berlin/Germany 1986-2000 Copyright © Distrim2 Lda, 2000 Copyright © Institut National de Recherche en Informatique et en Automatique (INRIA Copyright © Augrin Software Copyright © Rainbow Technologies Inc. Copyright © Compaq Computer Corporation Copyright © Boeing Company Copyright © IONA Technologies PLC Copyright © Intelligent Manufacturing Software, Inc., 2000 Copyright © Smart Solutions Limited Copyright © Xerox Engineering Systems Copyright © Bitstream Inc. Copyright © IBM Corp. Copyright © Silicon Graphics Inc. Copyright © Installshield Software Corp., 1990-2000 Copyright © Microsoft Corporation Copyright © Spatial Technology Inc. Copyright © 2000, Dassault Systèmes. Tous droits réservés.