Fonctions Objectives

Les fonctions objectives est une famille de méthode de calcul de grandeurs caractéristiques en fin de calcul. Elles ont été développées dans le but de l'utilisation avec des méthodes de calcul paramétrique ou des méthodes d'optimisation.

La norme de chacune des fonctions objectives est écrite dans un fichier objectiveFunction.txt (dans le répertoire “classique” du test). Pour certaines méthodes d'optimisation il est nécessaire d'avoir accès aux valeurs des écarts à la solution optimale en chaque point de calcul. Celles-ci se trouvent dans le fichier objectiveFunction.py sous forme de classes exploitables par les méthodes d'optimisation de Metafor.

La définition d'objet type ObjectiveFunction est calcée sur celle des matériaux.

  objFSet = metafor.getObjectiveFunctionSet()
  objFSet.define(no,typeFobj)

avec

typeFobj Type de la Fonction objective à définir
  fobj = objectiveFunctionSet[no]
  fobj.put(OFProperty, target_no, target_po, target_prop, target_value)
  fobj.put(OFProperty, target_no, target_po)
  fobj.put(OFProperty, target_value)

avec

OFProperty Définit la propriété
target_no Numéro de l'objet sélectionné
target_po Type de l'objet sélectionné
target_prop Propriété additionelle à appliquer sur l'objet (symétrie par exemple)
target_value Valeur soit relative à la propriété additionelle, soit autosuffisante

Les fonctionnalités additionelles suivantes sont accessibles :

fobj.list() Imprime les données de la fonction objective
fobj.check() Vérifie si les données sont compatibles - suffisante avec la fonction objective définie
fobj.computeObjFunction() Calcule la fonction objective
fobj.verbose(0/1) Impression du détail des calculs de la fonction objective

Est la classe conteneur des objets ObjectiveFunction. Elle appartient à l'objet Metafor du Domain :

objFSet = metafor.getObjectiveFunctionSet()

Fonctionnalité sur le set:

objFSet.define(no,typeFobj) Définition d'une Fonction Objective de type typeFobj
objFSet.list() Liste des ObjectiveFunction du Set
objFSet.check() Execute la commande check() sur chaque fonction objective du set
objFSet.verbose(0/1) Execute la commande verbose(0/1) sur chaque fonction objective du Set
objFSet.compute() Calcule toute les fonctions objectives (sur l'état actuel de la mémoire)
objFSet.printToFile() Ecrit le fichier objectiveFunction.txt
objFSet.printToPyFile() Ecrit le fichier objectiveFunction.py

Notons que les fonctions objective peuvent être ajoutées au ''TestSuiteChecker''.

Divers scripts existent pour utiliser les fonctions objectives en dehors d'une intégration Metafor. Les fonctions sont définies dans le module toolbox.objFunctions :

computeObjF(domain) Calcule de toute les fonctions objectives d'un domain
computeObjF_j(domain, no) Calcule la fonction objective numéro no d'un domain
vizuObjF_i vizualise la fonction objective numéro no d'un domain (si elle est vizualisable)

Liste des fonctions objectives