9.1. 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 [Bla17]), 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 Macros 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.