Author: echatellier Date: 2018-01-29 16:55:41 +0100 (Mon, 29 Jan 2018) New Revision: 337 Url: http://forge.codelutin.com/projects/isis-fish-docs/repository/revisions/337 Log: Corrections Modified: trunk/src/site/rst/v4/user/tutorials/optimization.rst Modified: trunk/src/site/rst/v4/user/tutorials/optimization.rst =================================================================== --- trunk/src/site/rst/v4/user/tutorials/optimization.rst 2018-01-29 13:35:47 UTC (rev 336) +++ trunk/src/site/rst/v4/user/tutorials/optimization.rst 2018-01-29 15:55:41 UTC (rev 337) @@ -27,7 +27,7 @@ Optimisation ============ -Les scripts d'optimsation servent à lancer plusieurs série de simulation et évaluant à chaque itération si le script doit continuer. +Les scripts d'optimisation servent à lancer plusieurs séries de simulation et évaluant à chaque itération si le script doit continuer. Cette condition est vérifiée par une fonction d'objectif qui analyse les exports habituels des simulations par rapport aux observations renseignées dans la base de données. @@ -40,7 +40,7 @@ Voici l'ensemble des méthodes présentes dans le script: * ``getNecessaryResult()`` : retourne l'ensemble des résultats devant être calculés par l'ensemble des simulations et nécessaire à l'execution du - script d'optimsation + script d'optimisation * ``getDescription()`` : retourne une description du script à destination de l’utilisateur (affichée dans l'interface de lancement) * ``init(OptimizationContext)`` : sert à initialiser le script d’optimisation (appelée une fois, avant le lancement du script) * ``firstSimulation(OptimizationContext)`` : sert à générer la première génération de simulation (appelée une fois au lancement du script) @@ -55,23 +55,21 @@ Dans les scripts d'optimisation, on parle de "génération de simulation" pour désigner un ensemble de simulation que le script d'optimisation génere à chaque itération. -Chaque génération comprend plusieurs simulation qui sont executées en parallèle. Mais les "génération de simulation" sont exeution séquantiellement. +Chaque génération comprend plusieurs simulation qui sont exécutées en **parallèle**. Mais les "génération de simulation" sont exécutées **séquentiellement**. OptimisationContext ------------------- -L'objet ``OptimizationContext`` est un object qui est donné à chaque méthode du script d'otpimisation. Il permet de: +L'objet ``OptimizationContext`` est un objet qui est donné à chaque méthode du script d'optimisation. Il permet de: * connaitre l'état d'avancement du script * de produire de nouvelles simulation dans la génération courante Liste des méthodes disponibles: - * ``context.getCurrentGeneration()`` : permet de connaitre le numéro de la génération en cours. Par exemple, au 3ème appel de ``nextSimulation()`` le - compteur sera égal à ``3`` (en prenant en compte que le compteur est égale à ``0`` dans la méthode ``firstSimulation()`` - * ``context.newSimulation()`` : crée une nouvelle simulation dans la simulation courante et la retourne sous forme de SimulationStorage (pour être - modifiée par l'utilsateur avant son lancement) - * ``context.getLastSimulations()`` : retourne l'ensemble des simulations exécutée dans la dernière génération. Les ``SimulationStorage`` retournée peuvent - être lu pour en extraire des résultats + * ``context.getCurrentGeneration()`` : permet de connaitre le numéro de la génération en cours. Par exemple, au 3ème appel de ``nextSimulation()`` le compteur sera égal à ``3`` (en prenant en compte que le compteur est égal à ``0`` dans la méthode ``firstSimulation()`` + * ``context.newSimulation()`` : crée une nouvelle simulation dans la génération courante et la retourne sous forme de ``SimulationStorage`` (pour être modifiée par l'utilisateur avant son lancement) + * ``context.getLastSimulations()`` : retourne l'ensemble des simulations exécutée dans la dernière génération. Les ``SimulationStorage`` retournés peuvent + être lus pour en extraire des résultats Condition d'arrêt @@ -93,21 +91,21 @@ --------- Un script d'optimisation à des méthodes classiques aux autres scripts: - - init() pour initialiser la fonction d'objectif - - getNecessaryResult() pour définir les résultats à calculer pour le fonction d'objectif - - getDescription()pour fournir une description à l'utilsateur + - ``init()`` pour initialiser la fonction d'objectif + - ``getNecessaryResult()`` pour définir les résultats à calculer pour le fonction d'objectif + - ``getDescription()`` pour fournir une description à l'utilisateur Il contient surtout une seule méthode spécifique : ``double eval(OptimizationContext context, List<MatrixND> exports, List<MatrixND> observations)``. Cette méthode prend en paramètres: * le contexte de simulation - * les résultats des exports définis au lancement du script d'optimisation + * les résultats des exports calculés par la simulation * les observations définis lors du lancement du script d'optimisation Le but de la fonction d'objectif est de comparer les exports aux observations et à définir un indicateur ``double`` qui pourra être utile au script d'optimisation. -Le résultat de la fonction d'objectif est stocké dans le SimulationStorage et pour être récupéré, à la fin de chaque génération, avec la méthode +Le résultat de la fonction d'objectif est stocké dans le ``SimulationStorage`` et pourra être récupéré, à la fin de chaque génération, avec la méthode ``SimulationStorage#getObjective()`` @@ -169,4 +167,4 @@ } } -Dans cette exemple, cette fonction d'optimasation aura lancé 8 simulations (4 séries de 2 simulations). +Dans cette exemple, cette fonction d'optimisation aura lancé 8 simulations (4 séries de 2 simulations).