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.