# Introduction The reoptimizer module provides optimisation features, using the relauncher architecture. It can indeed be considered as a specialisation of this module for the closed-loop case (optimisation steps usually depends on the previous steps). This document will present neither an introduction to the optimisation problem characteristics (one simple version can be found in {{metho}}), nor a description of the different algorithms. It will more discuss the possible combination of runners, solvers and masters with (if possible) their pros and cons. For a glimpse at the way the implementation of a script can be done, one can look at the use-cases, provided in [](#use_cases_macro_reoptimizer). Two kinds of solver are proposed: local search ones, starting from an initial guess point and global search ones, starting from a random population of potential solutions. They differ on many points: - Problem types: only global solvers offer multi-objective optimisation. - Constraints: Global solvers deal with inequality but not equality constraints, while local ones deal with both of them. - Inputs nature: all solvers deal with continuous problems, and some global solvers can deal with combinatory problems, with extra works. - Convergence speed and robustness: local solvers need less evaluations to converge but can be trapped in a local minimum, while global ones are more robust. - Unavailable items: only global solvers can deal with it. - Parallelism: local solvers are intrinsically sequential, and the only way to parallelised them is to run many optimisations starting from different points. Global solvers are intrinsically parallel. ```{toctree} introduction/local introduction/global introduction/objectives ```