groupe-dfo-bbo:projets:nomad:nouvel-algorithme

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
groupe-dfo-bbo:projets:nomad:nouvel-algorithme [2021/07/02 15:35]
rochvivi créée
groupe-dfo-bbo:projets:nomad:nouvel-algorithme [2021/07/02 15:42] (Version actuelle)
rochvivi
Ligne 3: Ligne 3:
 Supposons que vous vouliez ajouter l'​algorithme d'​optimisation ''​Super''​ à nomad. Voici une marche à suivre. Supposons que vous vouliez ajouter l'​algorithme d'​optimisation ''​Super''​ à nomad. Voici une marche à suivre.
  
-  - Créer un nouveau répertoire Super sous src/Algos/, soit src/​algos/​Super. +  - Créer un nouveau répertoire ​''​Super'' ​sous ''​src/Algos/''​, soit ''​src/​algos/​Super''​
-  - Pour se simplifier la tâche, on peut se baser sur un algorithme simple, soit LatinHypercubeSampling. Copier les fichiers de LatinHypercubeSampling dans le répertoire Super.+  - Pour se simplifier la tâche, on peut se baser sur un algorithme simple, soit ''​LatinHypercubeSampling''​. Copier les fichiers de LatinHypercubeSampling dans le répertoire Super.
   - Changer les noms des fichiers (ex. LH.hpp -> Super.hpp). ​   - Changer les noms des fichiers (ex. LH.hpp -> Super.hpp). ​
   - Changer les noms des classes dans les fichiers.   - Changer les noms des classes dans les fichiers.
   - Enlever le code pour garder une coquille vide. Dans la méthode runImp, ajouter une ligne de vérification: ​   - Enlever le code pour garder une coquille vide. Dans la méthode runImp, ajouter une ligne de vérification: ​
 +
     std::cout << "​Bonjour c'est Super!"​ << std::endl;     std::cout << "​Bonjour c'est Super!"​ << std::endl;
-  ​- Éditer le fichier src/​CMakeLists.txt pour ajouter les nouveaux fichiers.+  
 +  ​- Éditer le fichier ​''​src/​CMakeLists.txt'' ​pour ajouter les nouveaux fichiers.
   - [[groupe-dfo-bbo:​projets:​nomad:​ajout-d-un-parametere|Ajouter un paramètre]] pour l'​utilisation de l'​algorihme,​ par exemple ''​SUPER_OPTIMIZATION''​.   - [[groupe-dfo-bbo:​projets:​nomad:​ajout-d-un-parametere|Ajouter un paramètre]] pour l'​utilisation de l'​algorihme,​ par exemple ''​SUPER_OPTIMIZATION''​.
-  - Éditer les fichiers src/​Util/​StopReason.hpp et StopReason.cpp pour ajouter des StopReasons de base: se baser sur LH pour commencer. +  - Éditer les fichiers ​''​src/​Util/​StopReason.hpp'' ​et ''​StopReason.cpp'' ​pour ajouter des StopReasons de base: se baser sur LH pour commencer. 
-  - Éditer les fichiers src/​Type/​StepType.hpp et StepType.cpp pour ajouter un StepType, par exemple ALGORITHM_SUPER:​ se baser sur ALGORITHM_LH. +  - Éditer les fichiers ​''​src/​Type/​StepType.hpp'' ​et ''​StepType.cpp'' ​pour ajouter un StepType, par exemple ​''​ALGORITHM_SUPER''​: se baser sur ''​ALGORITHM_LH''​
-  - Éditer le fichier src/​MainStep.cpp pour s'​assurer que lorsque le paramètre ''​SUPER_OPTIMIZATION''​ est true, l'​optimization Super est exécutée. Se baser sur LH!+  - Éditer le fichier ​''​src/​MainStep.cpp'' ​pour s'​assurer que lorsque le paramètre ''​SUPER_OPTIMIZATION''​ est true, l'​optimization Super est exécutée. Se baser sur LH!
   - Compiler le tout. Résoudre les problèmes de compilation.   - Compiler le tout. Résoudre les problèmes de compilation.
   - Rouler nomad avec le paramètre ''​SUPER_OPTIMIZATION''​ à true et vérifier que le message "​Bonjour c'est Super!"​ est affiché.   - Rouler nomad avec le paramètre ''​SUPER_OPTIMIZATION''​ à true et vérifier que le message "​Bonjour c'est Super!"​ est affiché.
 +  - Noter que Super est de la classe Algorithm, donc de la classe Step, et qu'un Step a toujours les méthodes ''​start'',​ ''​run''​ et ''​end''​. ''​runImp''​ est l'​implémentation spécifique de run pour la classe. Voir l'​information sur l'​[[groupe-dfo-bbo:​projets:​nomad:​architecture:​steps-and-algorithms|architecture]].
  
 Ensuite, modifier les méthodes runImp, generateTrialPoints,​ etc, pour implémenter le véritable algorithme Super. Ensuite, modifier les méthodes runImp, generateTrialPoints,​ etc, pour implémenter le véritable algorithme Super.
  
  • groupe-dfo-bbo/projets/nomad/nouvel-algorithme.1625240117.txt.gz
  • Dernière modification: 2021/07/02 15:35
  • par rochvivi