groupe-dfo-bbo:projets:nomad:ajout-d-un-parametere

Voici les étapes à suivre pour ajouter un nouveau paramètre:

  1. Éditer un fichier .txt dans le répertoire src/Attributes. Pour ajouter un paramètre d'algorithme ou de search, on peut utiliser le fichier runAttributesDefinition.txt.
  2. Noter qu'il y a des paramètres pour la définition du problème, pour la cache, pour l'output, etc. La majorité du temps, ce sera un paramètre d'algorithme que l'on veut ajouter, donc un paramètre de “run”.
  3. Les paramètres de run sont divisés en plusieurs fichiers selon leur algorithme. Pour le développement, utiliser runAttributesDefinition.txt est suffisant, quitte à créer un nouveau fichier plus tard si jugé nécessaire.
  4. Se baser sur la syntaxe des autres paramètres pour ajouter un nouveau paramètre. Les détails de la syntaxe sont indiqués au début du fichier.
    • Nom du paramètre (ex. MY_NEW_SEARCH)
    • Type du paramètre (ex. bool)
    • Valeur par défaut (ex. false)
    • Short info
    • Long info (description lorsqu'on exécute la commande nomad -h MY_NEW_SEARCH)
    • keywords
    • flags optionnels.
  5. Les champs short info, long info et keywords sont délimités par \( et \).
  6. Compiler nomad.
  7. Vérifier que le paramètre est bien reconnu: nomad -h MY_NEW_SEARCH.
  8. Pour utiliser le paramètre dans le code, utiliser la méthode getAttributeValue avec le type du paramètre. Par exemple: runParams→getAttributeValue<bool>(“MY_NEW_SEARCH”).
  9. S'il y a des validation à faire sur la valeur du paramètre, elles peuvent être rajoutées dans la méthode checkAndComply() correspondante. Par exemple, voir: RunParameters::checkAndComply() dans le fichier Param/RunParameters.cpp. Exemple de validation:
  auto seed = getAttributeValueProtected<int>("SEED" ,false);
  if ( seed < 0)
  {
      throw NOMAD::Exception(__FILE__,__LINE__, "Parameters check: SEED must be non-negative" );
  }
  • groupe-dfo-bbo/projets/nomad/ajout-d-un-parametere.txt
  • Dernière modification: 2021/07/02 15:09
  • par rochvivi